summaryrefslogtreecommitdiff
path: root/mysql-test/suite
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite')
-rw-r--r--mysql-test/suite/archive/archive.result158
-rw-r--r--mysql-test/suite/archive/archive.test106
-rw-r--r--mysql-test/suite/archive/archive_eits.result24
-rw-r--r--mysql-test/suite/archive/archive_eits.test32
-rw-r--r--mysql-test/suite/archive/archive_gis.result12
-rw-r--r--mysql-test/suite/archive/archive_no_symlink-master.opt1
-rw-r--r--mysql-test/suite/archive/archive_no_symlink.result26
-rw-r--r--mysql-test/suite/archive/archive_no_symlink.test26
-rw-r--r--mysql-test/suite/archive/archive_plugin.result7
-rw-r--r--mysql-test/suite/archive/archive_plugin.test4
-rw-r--r--mysql-test/suite/archive/archive_symlink.result57
-rw-r--r--mysql-test/suite/archive/archive_symlink.test72
-rw-r--r--mysql-test/suite/archive/discover.result148
-rw-r--r--mysql-test/suite/archive/discover.test144
-rw-r--r--mysql-test/suite/archive/discover_5438.result14
-rw-r--r--mysql-test/suite/archive/discover_5438.test26
-rw-r--r--mysql-test/suite/archive/partition_archive.result13
-rw-r--r--mysql-test/suite/archive/partition_archive.test10
-rw-r--r--mysql-test/suite/archive/repair.result1
-rw-r--r--mysql-test/suite/archive/repair.test1
-rw-r--r--mysql-test/suite/archive/suite.pm4
-rw-r--r--mysql-test/suite/binlog/include/check_binlog_size.inc31
-rw-r--r--mysql-test/suite/binlog/r/binlog_base64_flag.result30
-rw-r--r--mysql-test/suite/binlog/r/binlog_checkpoint.result130
-rw-r--r--mysql-test/suite/binlog/r/binlog_checksum.result5
-rw-r--r--mysql-test/suite/binlog/r/binlog_commit_wait.result155
-rw-r--r--mysql-test/suite/binlog/r/binlog_database.result75
-rw-r--r--mysql-test/suite/binlog/r/binlog_delete_and_flush_index.result6
-rw-r--r--mysql-test/suite/binlog/r/binlog_dmls_on_tmp_tables_readonly.result1
-rw-r--r--mysql-test/suite/binlog/r/binlog_drop_if_exists.result58
-rw-r--r--mysql-test/suite/binlog/r/binlog_flush_binlogs_delete_domain.result90
-rw-r--r--mysql-test/suite/binlog/r/binlog_grant.result1
-rw-r--r--mysql-test/suite/binlog/r/binlog_gtid_delete_domain_debug.result6
-rw-r--r--mysql-test/suite/binlog/r/binlog_implicit_commit.result241
-rw-r--r--mysql-test/suite/binlog/r/binlog_index.result4
-rw-r--r--mysql-test/suite/binlog/r/binlog_innodb.result49
-rw-r--r--mysql-test/suite/binlog/r/binlog_innodb_row.result24
-rw-r--r--mysql-test/suite/binlog/r/binlog_innodb_stm.result17
-rw-r--r--mysql-test/suite/binlog/r/binlog_ioerr.result15
-rw-r--r--mysql-test/suite/binlog/r/binlog_killed.result8
-rw-r--r--mysql-test/suite/binlog/r/binlog_killed_simulate.result4
-rw-r--r--mysql-test/suite/binlog/r/binlog_max_binlog_stmt_cache_size.result22
-rw-r--r--mysql-test/suite/binlog/r/binlog_mdev342.result11
-rw-r--r--mysql-test/suite/binlog/r/binlog_mdev717.result42
-rw-r--r--mysql-test/suite/binlog/r/binlog_mixed_load_data.result6
-rw-r--r--mysql-test/suite/binlog/r/binlog_multi_engine.result106
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result300
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result1529
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_frag.result24
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result885
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result886
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result89
-rw-r--r--mysql-test/suite/binlog/r/binlog_old_versions.result32
-rw-r--r--mysql-test/suite/binlog/r/binlog_parallel_replication_marks_row.result94
-rw-r--r--mysql-test/suite/binlog/r/binlog_parallel_replication_marks_stm_mix.result93
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_annotate.result404
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_binlog.result540
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result126
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result13
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_drop_tbl.result8
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result21
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_insert_select.result9
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result320
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result120
-rw-r--r--mysql-test/suite/binlog/r/binlog_server_id.result21
-rw-r--r--mysql-test/suite/binlog/r/binlog_sql_mode.result2
-rw-r--r--mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result17
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_binlog.result121
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_blackhole.result35
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result126
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result15
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_do_db.result5
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_drop_tbl.result6
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result29
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_insert_select.result7
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result209
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_ps.result9
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_row.result20
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_user_variables.result21
-rw-r--r--mysql-test/suite/binlog/r/binlog_tmp_table_row.result7
-rw-r--r--mysql-test/suite/binlog/r/binlog_truncate_kill.result9
-rw-r--r--mysql-test/suite/binlog/r/binlog_truncate_myisam.result26
-rw-r--r--mysql-test/suite/binlog/r/binlog_unsafe.result50
-rw-r--r--mysql-test/suite/binlog/r/binlog_variables_log_bin.result9
-rw-r--r--mysql-test/suite/binlog/r/binlog_variables_log_bin_index.result9
-rw-r--r--mysql-test/suite/binlog/r/binlog_variables_relay_log.result15
-rw-r--r--mysql-test/suite/binlog/r/binlog_variables_relay_log_index.result15
-rw-r--r--mysql-test/suite/binlog/r/binlog_xa_recover.result209
-rw-r--r--mysql-test/suite/binlog/r/load_data_stm_view.result8
-rw-r--r--mysql-test/suite/binlog/r/mysqladmin.result12
-rw-r--r--mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001bin705 -> 0 bytes
-rw-r--r--mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001bin149796 -> 0 bytes
-rw-r--r--mysql-test/suite/binlog/std_data/ver_trunk_row_v2.001bin0 -> 151722 bytes
-rw-r--r--mysql-test/suite/binlog/t/binlog_base64_flag.test33
-rw-r--r--mysql-test/suite/binlog/t/binlog_checkpoint.test177
-rw-r--r--mysql-test/suite/binlog/t/binlog_commit_wait.test229
-rw-r--r--mysql-test/suite/binlog/t/binlog_dmls_on_tmp_tables_readonly.test1
-rw-r--r--mysql-test/suite/binlog/t/binlog_flush_binlogs_delete_domain.test156
-rw-r--r--mysql-test/suite/binlog/t/binlog_grant.test1
-rw-r--r--mysql-test/suite/binlog/t/binlog_gtid_delete_domain_debug.test11
-rw-r--r--mysql-test/suite/binlog/t/binlog_incident-master.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_incident.test30
-rw-r--r--mysql-test/suite/binlog/t/binlog_index.test267
-rw-r--r--mysql-test/suite/binlog/t/binlog_innodb_stm.test26
-rw-r--r--mysql-test/suite/binlog/t/binlog_ioerr.test31
-rw-r--r--mysql-test/suite/binlog/t/binlog_killed.test12
-rw-r--r--mysql-test/suite/binlog/t/binlog_killed_simulate.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.test36
-rw-r--r--mysql-test/suite/binlog/t/binlog_mdev717.test46
-rw-r--r--mysql-test/suite/binlog/t/binlog_multi_engine.test110
-rw-r--r--mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932.test27
-rw-r--r--mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test39
-rw-r--r--mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test2
-rw-r--r--mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_frag.test45
-rw-r--r--mysql-test/suite/binlog/t/binlog_old_versions.test34
-rw-r--r--mysql-test/suite/binlog/t/binlog_parallel_replication_marks_row.test3
-rw-r--r--mysql-test/suite/binlog/t/binlog_parallel_replication_marks_stm_mix.test3
-rw-r--r--mysql-test/suite/binlog/t/binlog_row_annotate.test190
-rw-r--r--mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_verbose.test19
-rw-r--r--mysql-test/suite/binlog/t/binlog_tmp_table_row.test30
-rw-r--r--mysql-test/suite/binlog/t/binlog_unsafe.test26
-rw-r--r--mysql-test/suite/binlog/t/binlog_variables_log_bin-master.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_variables_log_bin.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_variables_log_bin_index-master.opt2
-rw-r--r--mysql-test/suite/binlog/t/binlog_variables_log_bin_index.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_variables_relay_log-master.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_variables_relay_log.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_variables_relay_log_index-master.opt2
-rw-r--r--mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_write_error.test103
-rw-r--r--mysql-test/suite/binlog/t/binlog_xa_recover-master.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_xa_recover.test1
-rw-r--r--mysql-test/suite/binlog/t/mysqladmin.test12
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_incident.combinations8
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_incident.result13
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_incident.test2
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_index.result187
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_index.test1
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_ioerr.result32
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_ioerr.test1
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932-master.opt1
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932.result19
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932.test2
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_row_annotate-master.opt1
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_row_annotate.result723
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_row_annotate.test2
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_write_error.result108
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_write_error.test1
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_xa_recover-master.opt1
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_xa_recover.result216
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_xa_recover.test1
-rw-r--r--mysql-test/suite/binlog_encryption/disabled.def2
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_master.result622
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_master.test183
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_master_lost_key.result111
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_master_lost_key.test205
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.cnf5
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.result87
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.test151
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_slave.cnf12
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_slave.result175
-rw-r--r--mysql-test/suite/binlog_encryption/encrypted_slave.test117
-rw-r--r--mysql-test/suite/binlog_encryption/encryption_algorithms.combinations5
-rw-r--r--mysql-test/suite/binlog_encryption/encryption_algorithms.inc2
-rw-r--r--mysql-test/suite/binlog_encryption/encryption_combo.cnf5
-rw-r--r--mysql-test/suite/binlog_encryption/encryption_combo.result78
-rw-r--r--mysql-test/suite/binlog_encryption/encryption_combo.test136
-rw-r--r--mysql-test/suite/binlog_encryption/multisource.cnf17
-rw-r--r--mysql-test/suite/binlog_encryption/multisource.result205
-rw-r--r--mysql-test/suite/binlog_encryption/multisource.test2
-rw-r--r--mysql-test/suite/binlog_encryption/my.cnf27
-rw-r--r--mysql-test/suite/binlog_encryption/mysqlbinlog.result6
-rw-r--r--mysql-test/suite/binlog_encryption/mysqlbinlog.test21
-rw-r--r--mysql-test/suite/binlog_encryption/restart_server.inc35
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_binlog_errors.cnf7
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_binlog_errors.result275
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_binlog_errors.test2
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_cant_read_event_incident.result21
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_cant_read_event_incident.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_checksum.cnf10
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_checksum.result161
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_checksum.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_checksum_cache.result119
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_checksum_cache.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_corruption.cnf9
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_corruption.result51
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_corruption.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_gtid_basic.cnf24
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_gtid_basic.result481
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_gtid_basic.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_incident.cnf7
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_incident.result38
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_incident.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_init_slave_errors.result19
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_init_slave_errors.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_loaddata_local.result125
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_loaddata_local.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_loadfile.result242
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_loadfile.test11
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_mixed_binlog_max_cache_size.result186
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_mixed_binlog_max_cache_size.test7
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_packet.cnf10
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_packet.result58
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_packet.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel.result1774
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.cnf6
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.result12
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_relayrotate-slave.opt5
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_relayrotate.result13
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_relayrotate.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_semi_sync.result465
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_semi_sync.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_skip_replication.cnf6
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_skip_replication.result252
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_skip_replication.test2
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_special_charset.opt1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_special_charset.result8
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_special_charset.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_sporadic_master-master.opt1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_sporadic_master.result23
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_sporadic_master.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_ssl.result47
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_ssl.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space-slave.opt1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space.result5
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_switch_stm_row_mixed.result428
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_switch_stm_row_mixed.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_sync-master.opt2
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_sync-slave.opt2
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_sync.result41
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_sync.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.cnf6
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.result83
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.test1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.cnf6
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.result85
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.test6
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.cnf6
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.result85
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.test4
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_typeconv.result540
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_typeconv.test1
-rw-r--r--mysql-test/suite/binlog_encryption/suite.pm18
-rw-r--r--mysql-test/suite/binlog_encryption/testdata.inc207
-rw-r--r--mysql-test/suite/binlog_encryption/testdata.opt1
-rw-r--r--mysql-test/suite/csv/csv.result74
-rw-r--r--mysql-test/suite/csv/csv.test52
-rw-r--r--mysql-test/suite/csv/read_only.result30
-rw-r--r--mysql-test/suite/csv/read_only.test19
-rw-r--r--mysql-test/suite/encryption/disabled.def15
-rw-r--r--mysql-test/suite/encryption/include/have_example_key_management_plugin.inc4
-rw-r--r--mysql-test/suite/encryption/include/have_example_key_management_plugin.opt2
-rw-r--r--mysql-test/suite/encryption/include/have_file_key_management_plugin.combinations11
-rw-r--r--mysql-test/suite/encryption/include/have_file_key_management_plugin.inc4
-rw-r--r--mysql-test/suite/encryption/include/innodb-util.pl126
-rw-r--r--mysql-test/suite/encryption/r/aria_tiny.result5
-rw-r--r--mysql-test/suite/encryption/r/create_or_replace.result21
-rw-r--r--mysql-test/suite/encryption/r/debug_key_management.result17
-rw-r--r--mysql-test/suite/encryption/r/encrypt_and_grep.result74
-rw-r--r--mysql-test/suite/encryption/r/encryption_force.result60
-rw-r--r--mysql-test/suite/encryption/r/filekeys_emptyfile.result10
-rw-r--r--mysql-test/suite/encryption/r/filekeys_encfile.result38
-rw-r--r--mysql-test/suite/encryption/r/filekeys_encfile_bad.result9
-rw-r--r--mysql-test/suite/encryption/r/filekeys_encfile_badfile.result9
-rw-r--r--mysql-test/suite/encryption/r/filekeys_encfile_file.result38
-rw-r--r--mysql-test/suite/encryption/r/filekeys_encfile_no.result9
-rw-r--r--mysql-test/suite/encryption/r/filekeys_nofile.result9
-rw-r--r--mysql-test/suite/encryption/r/filekeys_syntax.result149
-rw-r--r--mysql-test/suite/encryption/r/filekeys_tooshort.result10
-rw-r--r--mysql-test/suite/encryption/r/filekeys_unencfile.result9
-rw-r--r--mysql-test/suite/encryption/r/innochecksum.result45
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change.result69
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change2.result58
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change3.result43
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change4.result24
-rw-r--r--mysql-test/suite/encryption/r/innodb-checksum-algorithm,32k.rdiff38
-rw-r--r--mysql-test/suite/encryption/r/innodb-checksum-algorithm,64k.rdiff38
-rw-r--r--mysql-test/suite/encryption/r/innodb-checksum-algorithm.result439
-rw-r--r--mysql-test/suite/encryption/r/innodb-compressed-blob.result24
-rw-r--r--mysql-test/suite/encryption/r/innodb-discard-import-change.result105
-rw-r--r--mysql-test/suite/encryption/r/innodb-discard-import.result142
-rw-r--r--mysql-test/suite/encryption/r/innodb-encr-threads.result7
-rw-r--r--mysql-test/suite/encryption/r/innodb-encryption-alter.result86
-rw-r--r--mysql-test/suite/encryption/r/innodb-encryption-disable.result26
-rw-r--r--mysql-test/suite/encryption/r/innodb-first-page-read.result98
-rw-r--r--mysql-test/suite/encryption/r/innodb-force-corrupt.result24
-rw-r--r--mysql-test/suite/encryption/r/innodb-key-rotation-disable.result62
-rw-r--r--mysql-test/suite/encryption/r/innodb-log-encrypt-crash.result19
-rw-r--r--mysql-test/suite/encryption/r/innodb-log-encrypt.result55
-rw-r--r--mysql-test/suite/encryption/r/innodb-missing-key.result53
-rw-r--r--mysql-test/suite/encryption/r/innodb-page_encryption-32k.result125
-rw-r--r--mysql-test/suite/encryption/r/innodb-page_encryption.result277
-rw-r--r--mysql-test/suite/encryption/r/innodb-page_encryption_compression.result73
-rw-r--r--mysql-test/suite/encryption/r/innodb-page_encryption_log_encryption.result128
-rw-r--r--mysql-test/suite/encryption/r/innodb-read-only.result3
-rw-r--r--mysql-test/suite/encryption/r/innodb-redo-badkey.result42
-rw-r--r--mysql-test/suite/encryption/r/innodb-redo-nokeys.result34
-rw-r--r--mysql-test/suite/encryption/r/innodb-remove-encryption.result41
-rw-r--r--mysql-test/suite/encryption/r/innodb_encryption-page-compression.result189
-rw-r--r--mysql-test/suite/encryption/r/innodb_encryption.result69
-rw-r--r--mysql-test/suite/encryption/r/innodb_encryption_discard_import.result125
-rw-r--r--mysql-test/suite/encryption/r/innodb_encryption_filekeys.result61
-rw-r--r--mysql-test/suite/encryption/r/innodb_encryption_is.result14
-rw-r--r--mysql-test/suite/encryption/r/innodb_encryption_row_compressed.result153
-rw-r--r--mysql-test/suite/encryption/r/innodb_encryption_tables.result161
-rw-r--r--mysql-test/suite/encryption/r/innodb_first_page.result5
-rw-r--r--mysql-test/suite/encryption/r/innodb_lotoftables.result1235
-rw-r--r--mysql-test/suite/encryption/r/innodb_onlinealter_encryption.result141
-rw-r--r--mysql-test/suite/encryption/r/innodb_page_encryption_key_change.result153
-rw-r--r--mysql-test/suite/encryption/r/innodb_scrub.result138
-rw-r--r--mysql-test/suite/encryption/r/innodb_scrub_background.result160
-rw-r--r--mysql-test/suite/encryption/r/second_plugin-12863.result7
-rw-r--r--mysql-test/suite/encryption/r/tempfiles.result103
-rw-r--r--mysql-test/suite/encryption/suite.pm16
-rw-r--r--mysql-test/suite/encryption/t/aria_tiny.test12
-rw-r--r--mysql-test/suite/encryption/t/create_or_replace.opt1
-rw-r--r--mysql-test/suite/encryption/t/create_or_replace.test142
-rw-r--r--mysql-test/suite/encryption/t/debug_key_management.opt5
-rw-r--r--mysql-test/suite/encryption/t/debug_key_management.test26
-rw-r--r--mysql-test/suite/encryption/t/encrypt_and_grep.opt7
-rw-r--r--mysql-test/suite/encryption/t/encrypt_and_grep.test127
-rw-r--r--mysql-test/suite/encryption/t/encryption_force.opt2
-rw-r--r--mysql-test/suite/encryption/t/encryption_force.test39
-rw-r--r--mysql-test/suite/encryption/t/filekeys-data.encbin0 -> 416 bytes
-rw-r--r--mysql-test/suite/encryption/t/filekeys-data.key2
-rw-r--r--mysql-test/suite/encryption/t/filekeys-tooshort.enc1
-rw-r--r--mysql-test/suite/encryption/t/filekeys_badtest.inc18
-rw-r--r--mysql-test/suite/encryption/t/filekeys_emptyfile.opt1
-rw-r--r--mysql-test/suite/encryption/t/filekeys_emptyfile.test4
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile.opt2
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile.test1
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile_bad.opt2
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile_bad.test2
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile_badfile.opt2
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile_badfile.test2
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile_file.opt2
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile_file.test1
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile_no.opt1
-rw-r--r--mysql-test/suite/encryption/t/filekeys_encfile_no.test2
-rw-r--r--mysql-test/suite/encryption/t/filekeys_goodtest.inc18
-rw-r--r--mysql-test/suite/encryption/t/filekeys_nofile.test2
-rw-r--r--mysql-test/suite/encryption/t/filekeys_plugin.inc4
-rw-r--r--mysql-test/suite/encryption/t/filekeys_plugin.opt1
-rw-r--r--mysql-test/suite/encryption/t/filekeys_plugin_exists.inc4
-rw-r--r--mysql-test/suite/encryption/t/filekeys_syntax.opt1
-rw-r--r--mysql-test/suite/encryption/t/filekeys_syntax.test109
-rw-r--r--mysql-test/suite/encryption/t/filekeys_tooshort.opt3
-rw-r--r--mysql-test/suite/encryption/t/filekeys_tooshort.test4
-rw-r--r--mysql-test/suite/encryption/t/filekeys_unencfile.opt2
-rw-r--r--mysql-test/suite/encryption/t/filekeys_unencfile.test2
-rw-r--r--mysql-test/suite/encryption/t/innochecksum.test285
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change.test115
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change2.test102
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change3.test121
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change4.opt4
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change4.test43
-rw-r--r--mysql-test/suite/encryption/t/innodb-checksum-algorithm.test120
-rw-r--r--mysql-test/suite/encryption/t/innodb-compressed-blob.combinations12
-rw-r--r--mysql-test/suite/encryption/t/innodb-compressed-blob.test42
-rw-r--r--mysql-test/suite/encryption/t/innodb-discard-import-change.test131
-rw-r--r--mysql-test/suite/encryption/t/innodb-discard-import.test125
-rw-r--r--mysql-test/suite/encryption/t/innodb-encr-threads.test14
-rw-r--r--mysql-test/suite/encryption/t/innodb-encryption-alter.test124
-rw-r--r--mysql-test/suite/encryption/t/innodb-encryption-disable.test52
-rw-r--r--mysql-test/suite/encryption/t/innodb-first-page-read.opt5
-rw-r--r--mysql-test/suite/encryption/t/innodb-first-page-read.test109
-rw-r--r--mysql-test/suite/encryption/t/innodb-force-corrupt.test87
-rw-r--r--mysql-test/suite/encryption/t/innodb-key-rotation-disable.opt5
-rw-r--r--mysql-test/suite/encryption/t/innodb-key-rotation-disable.test88
-rw-r--r--mysql-test/suite/encryption/t/innodb-log-encrypt-crash.opt6
-rw-r--r--mysql-test/suite/encryption/t/innodb-log-encrypt-crash.test41
-rw-r--r--mysql-test/suite/encryption/t/innodb-log-encrypt.opt6
-rw-r--r--mysql-test/suite/encryption/t/innodb-log-encrypt.test97
-rw-r--r--mysql-test/suite/encryption/t/innodb-missing-key.opt5
-rw-r--r--mysql-test/suite/encryption/t/innodb-missing-key.test65
-rw-r--r--mysql-test/suite/encryption/t/innodb-page_encryption-32k.opt2
-rw-r--r--mysql-test/suite/encryption/t/innodb-page_encryption-32k.test96
-rw-r--r--mysql-test/suite/encryption/t/innodb-page_encryption.test169
-rw-r--r--mysql-test/suite/encryption/t/innodb-page_encryption_compression.test81
-rw-r--r--mysql-test/suite/encryption/t/innodb-page_encryption_log_encryption.opt3
-rw-r--r--mysql-test/suite/encryption/t/innodb-page_encryption_log_encryption.test113
-rw-r--r--mysql-test/suite/encryption/t/innodb-read-only.opt3
-rw-r--r--mysql-test/suite/encryption/t/innodb-read-only.test34
-rw-r--r--mysql-test/suite/encryption/t/innodb-redo-badkey.opt5
-rw-r--r--mysql-test/suite/encryption/t/innodb-redo-badkey.test97
-rw-r--r--mysql-test/suite/encryption/t/innodb-redo-nokeys.opt3
-rw-r--r--mysql-test/suite/encryption/t/innodb-redo-nokeys.test77
-rw-r--r--mysql-test/suite/encryption/t/innodb-remove-encryption.test59
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption-page-compression.opt7
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption-page-compression.test151
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption.opt8
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption.test78
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_discard_import.opt8
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_discard_import.test180
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_filekeys.opt1
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_filekeys.test142
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_is.opt1
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_is.test31
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_row_compressed.opt4
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_row_compressed.test125
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_tables.opt7
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_tables.test114
-rw-r--r--mysql-test/suite/encryption/t/innodb_first_page.opt2
-rw-r--r--mysql-test/suite/encryption/t/innodb_first_page.test32
-rw-r--r--mysql-test/suite/encryption/t/innodb_lotoftables.opt3
-rw-r--r--mysql-test/suite/encryption/t/innodb_lotoftables.test240
-rw-r--r--mysql-test/suite/encryption/t/innodb_onlinealter_encryption.opt5
-rw-r--r--mysql-test/suite/encryption/t/innodb_onlinealter_encryption.test143
-rw-r--r--mysql-test/suite/encryption/t/innodb_page_encryption_key_change.test96
-rw-r--r--mysql-test/suite/encryption/t/innodb_scrub.opt9
-rw-r--r--mysql-test/suite/encryption/t/innodb_scrub.test147
-rw-r--r--mysql-test/suite/encryption/t/innodb_scrub_background.opt9
-rw-r--r--mysql-test/suite/encryption/t/innodb_scrub_background.test170
-rw-r--r--mysql-test/suite/encryption/t/second_plugin-12863.test16
-rw-r--r--mysql-test/suite/encryption/t/tempfiles.combinations5
-rw-r--r--mysql-test/suite/encryption/t/tempfiles.opt1
-rw-r--r--mysql-test/suite/encryption/t/tempfiles.test86
-rw-r--r--mysql-test/suite/engines/README30
-rw-r--r--mysql-test/suite/engines/funcs/combinations11
-rw-r--r--mysql-test/suite/engines/funcs/r/db_alter_character_set.result1
-rw-r--r--mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result42
-rw-r--r--mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result42
-rw-r--r--mysql-test/suite/engines/funcs/r/db_create_drop.result8
-rw-r--r--mysql-test/suite/engines/funcs/r/db_create_error.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/db_create_if_not_exists.result4
-rw-r--r--mysql-test/suite/engines/funcs/r/db_drop_error.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/db_use_error.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/jp_comment_older_compatibility1.result10
-rw-r--r--mysql-test/suite/engines/funcs/r/sf_alter.result540
-rw-r--r--mysql-test/suite/engines/funcs/r/sf_cursor.result9
-rw-r--r--mysql-test/suite/engines/funcs/r/sp_alter.result120
-rw-r--r--mysql-test/suite/engines/funcs/r/sp_cursor.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/sq_error.result8
-rw-r--r--mysql-test/suite/engines/funcs/r/ta_rename.result64
-rw-r--r--mysql-test/suite/engines/funcs/r/tc_rename_error.result2
-rw-r--r--mysql-test/suite/engines/funcs/t/db_create_drop.test4
-rw-r--r--mysql-test/suite/engines/funcs/t/db_create_error.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/db_create_if_not_exists.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/db_drop_error.test1
-rw-r--r--mysql-test/suite/engines/funcs/t/db_use_error.test1
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_bit.test1
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_insert.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_loadfile.test4
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_log_pos.test1
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_ps.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test1
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_row_max_relay_size.test1
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_row_sp005.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_row_sp009.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_row_until.test13
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_row_view01.test7
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_skip_error-slave.opt2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_sp_effects.test1
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test1
-rw-r--r--mysql-test/suite/engines/funcs/t/tc_rename_error.test2
-rw-r--r--mysql-test/suite/engines/iuds/combinations8
-rw-r--r--mysql-test/suite/engines/iuds/r/insert_number.result18
-rw-r--r--mysql-test/suite/engines/iuds/r/insert_time.result7
-rw-r--r--mysql-test/suite/engines/iuds/r/insert_year.result8
-rw-r--r--mysql-test/suite/engines/iuds/r/strings_charsets_update_delete.resultbin113361 -> 113116 bytes
-rw-r--r--mysql-test/suite/engines/iuds/r/strings_update_delete.result28
-rw-r--r--mysql-test/suite/engines/iuds/r/type_bit_iuds.result128
-rw-r--r--mysql-test/suite/engines/iuds/r/update_decimal.result4
-rw-r--r--mysql-test/suite/engines/iuds/r/update_delete_number.result14
-rw-r--r--mysql-test/suite/engines/iuds/t/type_bit_iuds.test128
-rwxr-xr-xmysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl3
-rw-r--r--mysql-test/suite/federated/assisted_discovery.result69
-rw-r--r--mysql-test/suite/federated/assisted_discovery.test58
-rw-r--r--mysql-test/suite/federated/combinations4
-rw-r--r--mysql-test/suite/federated/federated.result4
-rw-r--r--mysql-test/suite/federated/federated.test1
-rw-r--r--mysql-test/suite/federated/federated_archive.result4
-rw-r--r--mysql-test/suite/federated/federated_bug_35333.result7
-rw-r--r--mysql-test/suite/federated/federated_bug_35333.test3
-rw-r--r--mysql-test/suite/federated/federated_server.result22
-rw-r--r--mysql-test/suite/federated/federated_server.test2
-rw-r--r--mysql-test/suite/federated/federated_transactions.result4
-rw-r--r--mysql-test/suite/federated/federatedx.result39
-rw-r--r--mysql-test/suite/federated/federatedx.test18
-rw-r--r--mysql-test/suite/federated/have_federatedx.opt2
-rw-r--r--mysql-test/suite/federated/net_thd_crash-12725.result10
-rw-r--r--mysql-test/suite/federated/net_thd_crash-12725.test17
-rw-r--r--mysql-test/suite/federated/net_thd_crash-12951.result11
-rw-r--r--mysql-test/suite/federated/net_thd_crash-12951.test23
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_load.inc14
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_priv.inc4
-rw-r--r--mysql-test/suite/funcs_1/datadict/is_routines.inc1
-rw-r--r--mysql-test/suite/funcs_1/datadict/is_triggers.inc2
-rw-r--r--mysql-test/suite/funcs_1/datadict/is_views.inc5
-rw-r--r--mysql-test/suite/funcs_1/datadict/processlist_priv.inc47
-rw-r--r--mysql-test/suite/funcs_1/datadict/processlist_val.inc24
-rw-r--r--mysql-test/suite/funcs_1/datadict/tables2.inc8
-rw-r--r--mysql-test/suite/funcs_1/include/innodb_tb4.inc2
-rw-r--r--mysql-test/suite/funcs_1/include/memory_tb4.inc2
-rw-r--r--mysql-test/suite/funcs_1/include/myisam_tb4.inc2
-rw-r--r--mysql-test/suite/funcs_1/include/ndb_tb1.inc70
-rw-r--r--mysql-test/suite/funcs_1/include/ndb_tb2.inc63
-rw-r--r--mysql-test/suite/funcs_1/include/ndb_tb3.inc70
-rw-r--r--mysql-test/suite/funcs_1/include/ndb_tb4.inc70
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_func_view.result228
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_storedproc_02.result44
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_storedproc_06.result3
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_storedproc_08.result1
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_0102.result2
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_03.result1
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_03e.result6
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_0407.result3
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_08.result3
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_09.result4
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_views.result40
-rw-r--r--mysql-test/suite/funcs_1/r/is_column_privileges.result6
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns.result15
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_innodb.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_is.result162
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_is_embedded.result162
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_memory.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_myisam.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_mysql.result172
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result159
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_innodb,innodb_plugin.rdiff11
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_innodb.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_merge.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_key_column_usage.result21
-rw-r--r--mysql-test/suite/funcs_1/r/is_routines.result1
-rw-r--r--mysql-test/suite/funcs_1/r/is_schema_privileges.result6
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics.result18
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_mysql.result21
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result42
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result16
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_privileges.result6
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables.result6
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_innodb.result12
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_is.result288
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_is_embedded.result288
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_memory.result12
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_myisam.result12
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_myisam_embedded.result12
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_mysql.result154
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result296
-rw-r--r--mysql-test/suite/funcs_1/r/is_triggers.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_user_privileges.result138
-rw-r--r--mysql-test/suite/funcs_1/r/is_views.result35
-rw-r--r--mysql-test/suite/funcs_1/r/memory_func_view.result228
-rw-r--r--mysql-test/suite/funcs_1/r/memory_storedproc_02.result44
-rw-r--r--mysql-test/suite/funcs_1/r/memory_storedproc_06.result2
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_0102.result2
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_03e.result6
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_0407.result2
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_08.result2
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_09.result4
-rw-r--r--mysql-test/suite/funcs_1/r/memory_views.result40
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_func_view.result228
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_storedproc_02.result44
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_storedproc_06.result2
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_0102.result2
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_03e.result6
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_0407.result2
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_08.result2
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_09.result4
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_views-big.result40
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result199
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_priv_ps.result199
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_val_no_prot.result61
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_val_ps.result61
-rw-r--r--mysql-test/suite/funcs_1/r/storedproc.result206
-rw-r--r--mysql-test/suite/funcs_1/storedproc/storedproc_06.inc3
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_storedproc_06.test1
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_storedproc_08.test1
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_03.test1
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_0407.test1
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_08.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_basics_mixed.test2
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_is_embedded.test8
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_mysql.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_federated.opt2
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_innodb.test2
-rw-r--r--mysql-test/suite/funcs_1/t/is_key_column_usage.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_key_column_usage_embedded.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_statistics_mysql.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_statistics_mysql_embedded.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_table_constraints.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_table_constraints_mysql_embedded.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables_mysql.test1
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables_mysql_embedded.test1
-rw-r--r--mysql-test/suite/funcs_1/t/processlist_priv_no_prot.test6
-rw-r--r--mysql-test/suite/funcs_1/t/processlist_val_no_prot.test6
-rw-r--r--mysql-test/suite/funcs_1/t/storedproc.test2
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_0407.inc4
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_08.inc2
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_09.inc3
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc2
-rw-r--r--mysql-test/suite/funcs_1/views/func_view.inc8
-rw-r--r--mysql-test/suite/funcs_1/views/views_master.inc30
-rw-r--r--mysql-test/suite/funcs_2/charset/charset_master.test4
-rw-r--r--mysql-test/suite/funcs_2/include/check_charset.inc4
-rw-r--r--mysql-test/suite/funcs_2/readme.txt5
-rw-r--r--mysql-test/suite/galera/disabled.def44
-rw-r--r--mysql-test/suite/galera/galera_2nodes.cnf46
-rw-r--r--mysql-test/suite/galera/galera_2nodes_as_master.cnf70
-rw-r--r--mysql-test/suite/galera/galera_2nodes_as_slave.cnf77
-rw-r--r--mysql-test/suite/galera/galera_3nodes_as_slave.cnf97
-rw-r--r--mysql-test/suite/galera/galera_4nodes.cnf74
-rw-r--r--mysql-test/suite/galera/include/auto_increment_offset_restore.inc41
-rw-r--r--mysql-test/suite/galera/include/auto_increment_offset_save.inc45
-rw-r--r--mysql-test/suite/galera/include/galera_have_debug_sync.inc9
-rw-r--r--mysql-test/suite/galera/include/galera_load_provider.inc8
-rw-r--r--mysql-test/suite/galera/include/galera_reset_cluster_address.inc12
-rw-r--r--mysql-test/suite/galera/include/galera_sst_restore.inc29
-rw-r--r--mysql-test/suite/galera/include/galera_sst_set_mysqldump.inc27
-rw-r--r--mysql-test/suite/galera/include/galera_st_clean_slave.inc115
-rw-r--r--mysql-test/suite/galera/include/galera_st_disconnect_slave.inc105
-rw-r--r--mysql-test/suite/galera/include/galera_st_kill_slave.inc109
-rw-r--r--mysql-test/suite/galera/include/galera_st_kill_slave_ddl.inc128
-rw-r--r--mysql-test/suite/galera/include/galera_st_shutdown_slave.inc107
-rw-r--r--mysql-test/suite/galera/include/galera_unload_provider.inc7
-rw-r--r--mysql-test/suite/galera/include/galera_wsrep_recover.inc23
-rw-r--r--mysql-test/suite/galera/include/have_filekeymanagement.inc3
-rw-r--r--mysql-test/suite/galera/include/have_mariabackup.inc4
-rw-r--r--mysql-test/suite/galera/include/have_wsrep_replicate_myisam.inc4
-rw-r--r--mysql-test/suite/galera/include/have_xtrabackup.inc4
-rw-r--r--mysql-test/suite/galera/include/kill_galera.inc20
-rw-r--r--mysql-test/suite/galera/include/print_gtid.inc11
-rw-r--r--mysql-test/suite/galera/include/reset_query_cache.inc11
-rw-r--r--mysql-test/suite/galera/include/shutdown_mysqld.inc18
-rw-r--r--mysql-test/suite/galera/include/start_mysqld.inc15
-rw-r--r--mysql-test/suite/galera/my.cnf1
-rw-r--r--mysql-test/suite/galera/r/GAL-382.result6
-rw-r--r--mysql-test/suite/galera/r/GAL-401.result23
-rw-r--r--mysql-test/suite/galera/r/GAL-419.result4
-rw-r--r--mysql-test/suite/galera/r/GAL-480.result39
-rw-r--r--mysql-test/suite/galera/r/MW-252.result7
-rw-r--r--mysql-test/suite/galera/r/MW-258.result34
-rw-r--r--mysql-test/suite/galera/r/MW-259.result12
-rw-r--r--mysql-test/suite/galera/r/MW-284.result19
-rw-r--r--mysql-test/suite/galera/r/MW-285.result19
-rw-r--r--mysql-test/suite/galera/r/MW-286.result12
-rw-r--r--mysql-test/suite/galera/r/MW-292.result30
-rw-r--r--mysql-test/suite/galera/r/MW-309.result22
-rw-r--r--mysql-test/suite/galera/r/MW-313.result32
-rw-r--r--mysql-test/suite/galera/r/MW-328A.result21
-rw-r--r--mysql-test/suite/galera/r/MW-328B.result17
-rw-r--r--mysql-test/suite/galera/r/MW-328C.result17
-rw-r--r--mysql-test/suite/galera/r/MW-328D.result15
-rw-r--r--mysql-test/suite/galera/r/MW-328E.result15
-rw-r--r--mysql-test/suite/galera/r/MW-329.result22
-rw-r--r--mysql-test/suite/galera/r/MW-336.result31
-rw-r--r--mysql-test/suite/galera/r/MW-357.result6
-rw-r--r--mysql-test/suite/galera/r/MW-369.result155
-rw-r--r--mysql-test/suite/galera/r/MW-388.result40
-rw-r--r--mysql-test/suite/galera/r/MW-402.result192
-rw-r--r--mysql-test/suite/galera/r/MW-416.result114
-rw-r--r--mysql-test/suite/galera/r/MW-44.result19
-rw-r--r--mysql-test/suite/galera/r/MW-86-wait1.result41
-rw-r--r--mysql-test/suite/galera/r/MW-86-wait8.result43
-rw-r--r--mysql-test/suite/galera/r/basic.result30
-rw-r--r--mysql-test/suite/galera/r/binlog_checksum.result36
-rw-r--r--mysql-test/suite/galera/r/create.result84
-rw-r--r--mysql-test/suite/galera/r/enforce_storage_engine.result22
-rw-r--r--mysql-test/suite/galera/r/enforce_storage_engine2.result24
-rw-r--r--mysql-test/suite/galera/r/ev51914.result162
-rw-r--r--mysql-test/suite/galera/r/fk.result96
-rw-r--r--mysql-test/suite/galera/r/galera#414.result5
-rw-r--r--mysql-test/suite/galera/r/galera#500.result10
-rw-r--r--mysql-test/suite/galera/r/galera#505.result7
-rw-r--r--mysql-test/suite/galera/r/galera_account_management.result47
-rw-r--r--mysql-test/suite/galera/r/galera_admin.result43
-rw-r--r--mysql-test/suite/galera/r/galera_alter_engine_innodb.result10
-rw-r--r--mysql-test/suite/galera/r/galera_alter_engine_myisam.result11
-rw-r--r--mysql-test/suite/galera/r/galera_alter_table_force.result10
-rw-r--r--mysql-test/suite/galera/r/galera_applier_ftwrl_table.result15
-rw-r--r--mysql-test/suite/galera/r/galera_applier_ftwrl_table_alter.result26
-rw-r--r--mysql-test/suite/galera/r/galera_as_master.result50
-rw-r--r--mysql-test/suite/galera/r/galera_as_master_gtid.result59
-rw-r--r--mysql-test/suite/galera/r/galera_as_master_gtid_change_master.result15
-rw-r--r--mysql-test/suite/galera/r/galera_as_master_large.result30
-rw-r--r--mysql-test/suite/galera/r/galera_as_slave.result15
-rw-r--r--mysql-test/suite/galera/r/galera_as_slave_autoinc.result80
-rw-r--r--mysql-test/suite/galera/r/galera_as_slave_gtid.result16
-rw-r--r--mysql-test/suite/galera/r/galera_as_slave_nonprim.result18
-rw-r--r--mysql-test/suite/galera/r/galera_as_slave_preordered.result19
-rw-r--r--mysql-test/suite/galera/r/galera_as_slave_replication_bundle.result15
-rw-r--r--mysql-test/suite/galera/r/galera_autoinc_sst_mariabackup.result36
-rw-r--r--mysql-test/suite/galera/r/galera_autoinc_sst_xtrabackup.result36
-rw-r--r--mysql-test/suite/galera/r/galera_bf_abort.result10
-rw-r--r--mysql-test/suite/galera/r/galera_bf_abort_flush_for_export.result15
-rw-r--r--mysql-test/suite/galera/r/galera_bf_abort_for_update.result21
-rw-r--r--mysql-test/suite/galera/r/galera_bf_abort_ftwrl.result8
-rw-r--r--mysql-test/suite/galera/r/galera_bf_abort_get_lock.result12
-rw-r--r--mysql-test/suite/galera/r/galera_bf_abort_lock_table.result12
-rw-r--r--mysql-test/suite/galera/r/galera_bf_abort_sleep.result9
-rw-r--r--mysql-test/suite/galera/r/galera_bf_background_statistics.result95
-rw-r--r--mysql-test/suite/galera/r/galera_bf_lock_wait.result18
-rw-r--r--mysql-test/suite/galera/r/galera_binlog_cache_size.result12
-rw-r--r--mysql-test/suite/galera/r/galera_binlog_checksum.result10
-rw-r--r--mysql-test/suite/galera/r/galera_binlog_event_max_size_max.result9
-rw-r--r--mysql-test/suite/galera/r/galera_binlog_event_max_size_min.result6
-rw-r--r--mysql-test/suite/galera/r/galera_binlog_row_image.result79
-rw-r--r--mysql-test/suite/galera/r/galera_binlog_rows_query_log_events.result12
-rw-r--r--mysql-test/suite/galera/r/galera_binlog_stmt_autoinc.result147
-rw-r--r--mysql-test/suite/galera/r/galera_concurrent_ctas.result1
-rw-r--r--mysql-test/suite/galera/r/galera_create_function.result58
-rw-r--r--mysql-test/suite/galera/r/galera_create_procedure.result53
-rw-r--r--mysql-test/suite/galera/r/galera_create_table_like.result47
-rw-r--r--mysql-test/suite/galera/r/galera_create_trigger.result42
-rw-r--r--mysql-test/suite/galera/r/galera_ddl_multiline.result80
-rw-r--r--mysql-test/suite/galera/r/galera_defaults.result55
-rw-r--r--mysql-test/suite/galera/r/galera_delete_limit.result19
-rw-r--r--mysql-test/suite/galera/r/galera_desync_overlapped.result45
-rw-r--r--mysql-test/suite/galera/r/galera_drop_database.result17
-rw-r--r--mysql-test/suite/galera/r/galera_drop_multi.result20
-rw-r--r--mysql-test/suite/galera/r/galera_encrypt_tmp_files.result35
-rw-r--r--mysql-test/suite/galera/r/galera_enum.result42
-rw-r--r--mysql-test/suite/galera/r/galera_events.result20
-rw-r--r--mysql-test/suite/galera/r/galera_fk_cascade_delete.result30
-rw-r--r--mysql-test/suite/galera/r/galera_fk_cascade_update.result30
-rw-r--r--mysql-test/suite/galera/r/galera_fk_conflict.result23
-rw-r--r--mysql-test/suite/galera/r/galera_fk_mismatch.result25
-rw-r--r--mysql-test/suite/galera/r/galera_fk_multicolumn.result35
-rw-r--r--mysql-test/suite/galera/r/galera_fk_multitable.result22
-rw-r--r--mysql-test/suite/galera/r/galera_fk_no_pk.result28
-rw-r--r--mysql-test/suite/galera/r/galera_fk_selfreferential.result13
-rw-r--r--mysql-test/suite/galera/r/galera_fk_setnull.result30
-rw-r--r--mysql-test/suite/galera/r/galera_flush.result88
-rw-r--r--mysql-test/suite/galera/r/galera_flush_local.result145
-rw-r--r--mysql-test/suite/galera/r/galera_forced_binlog_format.result43
-rw-r--r--mysql-test/suite/galera/r/galera_ftwrl.result16
-rw-r--r--mysql-test/suite/galera/r/galera_ftwrl_drain.result26
-rw-r--r--mysql-test/suite/galera/r/galera_fulltext.result26
-rw-r--r--mysql-test/suite/galera/r/galera_gcache_recover.result18
-rw-r--r--mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result23
-rw-r--r--mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result111
-rw-r--r--mysql-test/suite/galera/r/galera_gcs_fc_limit.result17
-rw-r--r--mysql-test/suite/galera/r/galera_gcs_fragment.result24
-rw-r--r--mysql-test/suite/galera/r/galera_gcs_max_packet_size.result15
-rw-r--r--mysql-test/suite/galera/r/galera_gra_log.result32
-rw-r--r--mysql-test/suite/galera/r/galera_gtid.result12
-rw-r--r--mysql-test/suite/galera/r/galera_gtid_slave.result26
-rw-r--r--mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result131
-rw-r--r--mysql-test/suite/galera/r/galera_insert_ignore.result52
-rw-r--r--mysql-test/suite/galera/r/galera_insert_multi.result58
-rw-r--r--mysql-test/suite/galera/r/galera_ist_innodb_flush_logs,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_ist_innodb_flush_logs.result88
-rw-r--r--mysql-test/suite/galera/r/galera_ist_mariabackup,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_ist_mariabackup.result261
-rw-r--r--mysql-test/suite/galera/r/galera_ist_mariabackup_innodb_flush_logs,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_ist_mariabackup_innodb_flush_logs.result88
-rw-r--r--mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff106
-rw-r--r--mysql-test/suite/galera/r/galera_ist_mysqldump.result192
-rw-r--r--mysql-test/suite/galera/r/galera_ist_progress.result19
-rw-r--r--mysql-test/suite/galera/r/galera_ist_recv_bind.result13
-rw-r--r--mysql-test/suite/galera/r/galera_ist_restart_joiner.result32
-rw-r--r--mysql-test/suite/galera/r/galera_ist_rsync,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_ist_rsync.result261
-rw-r--r--mysql-test/suite/galera/r/galera_ist_xtrabackup-v2,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_ist_xtrabackup-v2.result261
-rw-r--r--mysql-test/suite/galera/r/galera_kill_applier.result4
-rw-r--r--mysql-test/suite/galera/r/galera_kill_ddl.result9
-rw-r--r--mysql-test/suite/galera/r/galera_kill_largechanges.result14
-rw-r--r--mysql-test/suite/galera/r/galera_kill_nochanges.result12
-rw-r--r--mysql-test/suite/galera/r/galera_kill_smallchanges.result11
-rw-r--r--mysql-test/suite/galera/r/galera_lock_table.result25
-rw-r--r--mysql-test/suite/galera/r/galera_log_bin.result59
-rw-r--r--mysql-test/suite/galera/r/galera_log_output_csv.result18
-rw-r--r--mysql-test/suite/galera/r/galera_many_columns.result32
-rw-r--r--mysql-test/suite/galera/r/galera_many_indexes.result123
-rw-r--r--mysql-test/suite/galera/r/galera_many_rows.result32
-rw-r--r--mysql-test/suite/galera/r/galera_many_tables_nopk.result17
-rw-r--r--mysql-test/suite/galera/r/galera_many_tables_pk.result21
-rw-r--r--mysql-test/suite/galera/r/galera_mdev_10812.result11
-rw-r--r--mysql-test/suite/galera/r/galera_mdev_13787.result3
-rw-r--r--mysql-test/suite/galera/r/galera_mdev_15611.result15
-rw-r--r--mysql-test/suite/galera/r/galera_mdl_race.result32
-rw-r--r--mysql-test/suite/galera/r/galera_migrate.result79
-rw-r--r--mysql-test/suite/galera/r/galera_multi_database.result28
-rw-r--r--mysql-test/suite/galera/r/galera_myisam_autocommit.result24
-rw-r--r--mysql-test/suite/galera/r/galera_myisam_transactions.result34
-rw-r--r--mysql-test/suite/galera/r/galera_nopk_bit.result27
-rw-r--r--mysql-test/suite/galera/r/galera_nopk_blob.result27
-rw-r--r--mysql-test/suite/galera/r/galera_nopk_large_varchar.result30
-rw-r--r--mysql-test/suite/galera/r/galera_nopk_unicode.result24
-rw-r--r--mysql-test/suite/galera/r/galera_parallel_apply_lock_table.result33
-rw-r--r--mysql-test/suite/galera/r/galera_parallel_autoinc_largetrx.result16
-rw-r--r--mysql-test/suite/galera/r/galera_parallel_autoinc_manytrx.result24
-rw-r--r--mysql-test/suite/galera/r/galera_parallel_simple.result32
-rw-r--r--mysql-test/suite/galera/r/galera_pc_ignore_sb.result16
-rw-r--r--mysql-test/suite/galera/r/galera_pk_bigint_signed.result26
-rw-r--r--mysql-test/suite/galera/r/galera_pk_bigint_unsigned.result23
-rw-r--r--mysql-test/suite/galera/r/galera_prepared_statement.result33
-rw-r--r--mysql-test/suite/galera/r/galera_query_cache.result57
-rw-r--r--mysql-test/suite/galera/r/galera_query_cache_sync_wait.result41
-rw-r--r--mysql-test/suite/galera/r/galera_read_only.result18
-rw-r--r--mysql-test/suite/galera/r/galera_repl_key_format_flat16.result18
-rw-r--r--mysql-test/suite/galera/r/galera_repl_max_ws_size.result12
-rw-r--r--mysql-test/suite/galera/r/galera_restart_nochanges.result9
-rw-r--r--mysql-test/suite/galera/r/galera_restart_on_unknown_option.result40
-rw-r--r--mysql-test/suite/galera/r/galera_roles.result195
-rw-r--r--mysql-test/suite/galera/r/galera_rsu_add_pk.result26
-rw-r--r--mysql-test/suite/galera/r/galera_rsu_drop_pk.result42
-rw-r--r--mysql-test/suite/galera/r/galera_rsu_error.result21
-rw-r--r--mysql-test/suite/galera/r/galera_rsu_simple.result21
-rw-r--r--mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result41
-rw-r--r--mysql-test/suite/galera/r/galera_sbr.result14
-rw-r--r--mysql-test/suite/galera/r/galera_sbr_binlog.result14
-rw-r--r--mysql-test/suite/galera/r/galera_schema_dirty_reads.result13
-rw-r--r--mysql-test/suite/galera/r/galera_serializable.result27
-rw-r--r--mysql-test/suite/galera/r/galera_server.result20
-rw-r--r--mysql-test/suite/galera/r/galera_split_brain.result4
-rw-r--r--mysql-test/suite/galera/r/galera_sql_log_bin_zero.result12
-rw-r--r--mysql-test/suite/galera/r/galera_ssl.result18
-rw-r--r--mysql-test/suite/galera/r/galera_ssl_compression.result22
-rw-r--r--mysql-test/suite/galera/r/galera_ssl_upgrade.result15
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mariabackup,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mariabackup.result262
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mariabackup_encrypt_with_key.result3
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mariabackup_table_options.result985
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff106
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mysqldump.result366
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,debug.rdiff106
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mysqldump_with_key.result196
-rw-r--r--mysql-test/suite/galera/r/galera_sst_rsync,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_sst_rsync.result262
-rw-r--r--mysql-test/suite/galera/r/galera_sst_rsync2,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_sst_rsync2.result262
-rw-r--r--mysql-test/suite/galera/r/galera_sst_rsync_data_dir,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_sst_rsync_data_dir.result262
-rw-r--r--mysql-test/suite/galera/r/galera_sst_xtrabackup-v2,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_sst_xtrabackup-v2-options.result3
-rw-r--r--mysql-test/suite/galera/r/galera_sst_xtrabackup-v2.result262
-rw-r--r--mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_data_dir,debug.rdiff103
-rw-r--r--mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_data_dir.result262
-rw-r--r--mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_encrypt_with_key.result3
-rw-r--r--mysql-test/suite/galera/r/galera_status_cluster.result12
-rw-r--r--mysql-test/suite/galera/r/galera_status_local_index.result13
-rw-r--r--mysql-test/suite/galera/r/galera_status_local_state.result14
-rw-r--r--mysql-test/suite/galera/r/galera_suspend_slave.result15
-rw-r--r--mysql-test/suite/galera/r/galera_sync_wait_show.result39
-rw-r--r--mysql-test/suite/galera/r/galera_toi_alter_auto_increment.result42
-rw-r--r--mysql-test/suite/galera/r/galera_toi_ddl_error.result19
-rw-r--r--mysql-test/suite/galera/r/galera_toi_ddl_fk_insert.result31
-rw-r--r--mysql-test/suite/galera/r/galera_toi_ddl_fk_update.result23
-rw-r--r--mysql-test/suite/galera/r/galera_toi_ddl_locking.result41
-rw-r--r--mysql-test/suite/galera/r/galera_toi_ddl_nonconflicting.result23
-rw-r--r--mysql-test/suite/galera/r/galera_toi_ddl_sequential.result35
-rw-r--r--mysql-test/suite/galera/r/galera_toi_drop_database.result24
-rw-r--r--mysql-test/suite/galera/r/galera_toi_ftwrl.result12
-rw-r--r--mysql-test/suite/galera/r/galera_toi_lock_exclusive.result17
-rw-r--r--mysql-test/suite/galera/r/galera_toi_lock_shared.result12
-rw-r--r--mysql-test/suite/galera/r/galera_toi_truncate.result17
-rw-r--r--mysql-test/suite/galera/r/galera_transaction_read_only.result21
-rw-r--r--mysql-test/suite/galera/r/galera_transaction_replay.result59
-rw-r--r--mysql-test/suite/galera/r/galera_truncate.result29
-rw-r--r--mysql-test/suite/galera/r/galera_truncate_temporary.result63
-rw-r--r--mysql-test/suite/galera/r/galera_unicode_identifiers.result46
-rw-r--r--mysql-test/suite/galera/r/galera_unicode_pk.result31
-rw-r--r--mysql-test/suite/galera/r/galera_update_limit.result17
-rw-r--r--mysql-test/suite/galera/r/galera_v1_row_events.result10
-rw-r--r--mysql-test/suite/galera/r/galera_var_OSU_method.result16
-rw-r--r--mysql-test/suite/galera/r/galera_var_OSU_method2.result19
-rw-r--r--mysql-test/suite/galera/r/galera_var_auto_inc_control_off.result61
-rw-r--r--mysql-test/suite/galera/r/galera_var_auto_inc_control_on.result28
-rw-r--r--mysql-test/suite/galera/r/galera_var_certify_nonPK_off.result22
-rw-r--r--mysql-test/suite/galera/r/galera_var_cluster_address.result41
-rw-r--r--mysql-test/suite/galera/r/galera_var_desync_on.result29
-rw-r--r--mysql-test/suite/galera/r/galera_var_dirty_reads.result47
-rw-r--r--mysql-test/suite/galera/r/galera_var_fkchecks.result26
-rw-r--r--mysql-test/suite/galera/r/galera_var_gtid_domain_id.result74
-rw-r--r--mysql-test/suite/galera/r/galera_var_innodb_disallow_writes.result12
-rw-r--r--mysql-test/suite/galera/r/galera_var_load_data_splitting.result9
-rw-r--r--mysql-test/suite/galera/r/galera_var_log_bin.result10
-rw-r--r--mysql-test/suite/galera/r/galera_var_max_ws_rows.result135
-rw-r--r--mysql-test/suite/galera/r/galera_var_max_ws_size.result17
-rw-r--r--mysql-test/suite/galera/r/galera_var_mysql_replication_bundle.result12
-rw-r--r--mysql-test/suite/galera/r/galera_var_node_address.result12
-rw-r--r--mysql-test/suite/galera/r/galera_var_notify_cmd.result10
-rw-r--r--mysql-test/suite/galera/r/galera_var_reject_queries.result20
-rw-r--r--mysql-test/suite/galera/r/galera_var_replicate_myisam_off.result8
-rw-r--r--mysql-test/suite/galera/r/galera_var_replicate_myisam_on.result87
-rw-r--r--mysql-test/suite/galera/r/galera_var_retry_autocommit.result54
-rw-r--r--mysql-test/suite/galera/r/galera_var_slave_threads.result59
-rw-r--r--mysql-test/suite/galera/r/galera_var_sync_wait.result27
-rw-r--r--mysql-test/suite/galera/r/galera_var_wsrep_on_off.result19
-rw-r--r--mysql-test/suite/galera/r/galera_wan.result16
-rw-r--r--mysql-test/suite/galera/r/galera_wan_restart_ist.result53
-rw-r--r--mysql-test/suite/galera/r/galera_wan_restart_sst.result54
-rw-r--r--mysql-test/suite/galera/r/galera_wsrep_desync_wsrep_on.result36
-rw-r--r--mysql-test/suite/galera/r/galera_wsrep_log_conficts.result18
-rw-r--r--mysql-test/suite/galera/r/galera_wsrep_new_cluster.result36
-rw-r--r--mysql-test/suite/galera/r/galera_wsrep_provider_options_syntax.result5
-rw-r--r--mysql-test/suite/galera/r/galera_wsrep_provider_unset_set.result14
-rw-r--r--mysql-test/suite/galera/r/galera_zero_length_column.result38
-rw-r--r--mysql-test/suite/galera/r/grant.result17
-rw-r--r--mysql-test/suite/galera/r/have_wsrep_replicate_myisam.require2
-rw-r--r--mysql-test/suite/galera/r/lp1276424.result11
-rw-r--r--mysql-test/suite/galera/r/lp1347768.result17
-rw-r--r--mysql-test/suite/galera/r/lp1376747-2.result22
-rw-r--r--mysql-test/suite/galera/r/lp1376747-3.result21
-rw-r--r--mysql-test/suite/galera/r/lp1376747-4.result40
-rw-r--r--mysql-test/suite/galera/r/lp1376747.result22
-rw-r--r--mysql-test/suite/galera/r/lp1438990.result21
-rw-r--r--mysql-test/suite/galera/r/lp959512.result24
-rw-r--r--mysql-test/suite/galera/r/mdev_10518.result74
-rw-r--r--mysql-test/suite/galera/r/mdev_9290.result14
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#110.result38
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#198.result21
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#201.result3
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#237.result11
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#247.result11
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#31.result10
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#33.result105
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#332.result111
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#90.result33
-rw-r--r--mysql-test/suite/galera/r/partition.result140
-rw-r--r--mysql-test/suite/galera/r/pxc-421.result35
-rw-r--r--mysql-test/suite/galera/r/query_cache.result1614
-rw-r--r--mysql-test/suite/galera/r/rename.result39
-rw-r--r--mysql-test/suite/galera/r/rpl_row_annotate.result66
-rw-r--r--mysql-test/suite/galera/r/sql_log_bin.result53
-rw-r--r--mysql-test/suite/galera/r/unique_key.result47
-rw-r--r--mysql-test/suite/galera/r/view.result52
-rw-r--r--mysql-test/suite/galera/suite.pm115
-rw-r--r--mysql-test/suite/galera/t/GAL-382.test16
-rw-r--r--mysql-test/suite/galera/t/GAL-401.test56
-rw-r--r--mysql-test/suite/galera/t/GAL-419.test35
-rw-r--r--mysql-test/suite/galera/t/GAL-480.test46
-rw-r--r--mysql-test/suite/galera/t/MW-252.test42
-rw-r--r--mysql-test/suite/galera/t/MW-258.test42
-rw-r--r--mysql-test/suite/galera/t/MW-259.test42
-rw-r--r--mysql-test/suite/galera/t/MW-284.cnf1
-rw-r--r--mysql-test/suite/galera/t/MW-284.test70
-rw-r--r--mysql-test/suite/galera/t/MW-285.test31
-rw-r--r--mysql-test/suite/galera/t/MW-286.test34
-rw-r--r--mysql-test/suite/galera/t/MW-292.test79
-rw-r--r--mysql-test/suite/galera/t/MW-309.test32
-rw-r--r--mysql-test/suite/galera/t/MW-313-master.opt1
-rw-r--r--mysql-test/suite/galera/t/MW-313.test51
-rw-r--r--mysql-test/suite/galera/t/MW-328-footer.inc18
-rw-r--r--mysql-test/suite/galera/t/MW-328-header.inc29
-rw-r--r--mysql-test/suite/galera/t/MW-328A.test57
-rw-r--r--mysql-test/suite/galera/t/MW-328B.test37
-rw-r--r--mysql-test/suite/galera/t/MW-328C.test37
-rw-r--r--mysql-test/suite/galera/t/MW-328D.test40
-rw-r--r--mysql-test/suite/galera/t/MW-328E.test41
-rw-r--r--mysql-test/suite/galera/t/MW-329-master.opt1
-rw-r--r--mysql-test/suite/galera/t/MW-329.test87
-rw-r--r--mysql-test/suite/galera/t/MW-336.test123
-rw-r--r--mysql-test/suite/galera/t/MW-357.test13
-rw-r--r--mysql-test/suite/galera/t/MW-369.inc75
-rw-r--r--mysql-test/suite/galera/t/MW-369.test246
-rw-r--r--mysql-test/suite/galera/t/MW-388.test74
-rw-r--r--mysql-test/suite/galera/t/MW-402.test228
-rw-r--r--mysql-test/suite/galera/t/MW-416.test134
-rw-r--r--mysql-test/suite/galera/t/MW-44-master.opt2
-rw-r--r--mysql-test/suite/galera/t/MW-44.test40
-rw-r--r--mysql-test/suite/galera/t/MW-86-wait1-master.opt1
-rw-r--r--mysql-test/suite/galera/t/MW-86-wait1.test105
-rw-r--r--mysql-test/suite/galera/t/MW-86-wait8-master.opt1
-rw-r--r--mysql-test/suite/galera/t/MW-86-wait8.test127
-rw-r--r--mysql-test/suite/galera/t/basic.test26
-rw-r--r--mysql-test/suite/galera/t/binlog_checksum.test36
-rw-r--r--mysql-test/suite/galera/t/create.test89
-rw-r--r--mysql-test/suite/galera/t/enforce_storage_engine.test33
-rw-r--r--mysql-test/suite/galera/t/enforce_storage_engine2.opt2
-rw-r--r--mysql-test/suite/galera/t/enforce_storage_engine2.test20
-rw-r--r--mysql-test/suite/galera/t/ev51914.test214
-rw-r--r--mysql-test/suite/galera/t/fk.test116
-rw-r--r--mysql-test/suite/galera/t/galera#414.cnf8
-rw-r--r--mysql-test/suite/galera/t/galera#414.test43
-rw-r--r--mysql-test/suite/galera/t/galera#500.test38
-rw-r--r--mysql-test/suite/galera/t/galera#505.test26
-rw-r--r--mysql-test/suite/galera/t/galera_account_management.test99
-rw-r--r--mysql-test/suite/galera/t/galera_admin.test86
-rw-r--r--mysql-test/suite/galera/t/galera_alter_engine_innodb.test17
-rw-r--r--mysql-test/suite/galera/t/galera_alter_engine_myisam.test25
-rw-r--r--mysql-test/suite/galera/t/galera_alter_table_force.test17
-rw-r--r--mysql-test/suite/galera/t/galera_applier_ftwrl_table.test34
-rw-r--r--mysql-test/suite/galera/t/galera_applier_ftwrl_table_alter-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_applier_ftwrl_table_alter.test37
-rw-r--r--mysql-test/suite/galera/t/galera_as_master.cnf1
-rw-r--r--mysql-test/suite/galera/t/galera_as_master.test67
-rw-r--r--mysql-test/suite/galera/t/galera_as_master_gtid.cnf8
-rw-r--r--mysql-test/suite/galera/t/galera_as_master_gtid.test70
-rw-r--r--mysql-test/suite/galera/t/galera_as_master_gtid_change_master.cnf8
-rw-r--r--mysql-test/suite/galera/t/galera_as_master_gtid_change_master.test54
-rw-r--r--mysql-test/suite/galera/t/galera_as_master_large.cnf4
-rw-r--r--mysql-test/suite/galera/t/galera_as_master_large.test46
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave.cnf1
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave.test50
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_autoinc.cnf1
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_autoinc.test83
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_gtid.cnf6
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_gtid.test67
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_nonprim.cnf1
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_nonprim.test96
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_preordered.cnf3
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_preordered.test84
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_replication_bundle.cnf4
-rw-r--r--mysql-test/suite/galera/t/galera_as_slave_replication_bundle.test48
-rw-r--r--mysql-test/suite/galera/t/galera_autoinc_sst_mariabackup.cnf12
-rw-r--r--mysql-test/suite/galera/t/galera_autoinc_sst_mariabackup.test90
-rw-r--r--mysql-test/suite/galera/t/galera_autoinc_sst_xtrabackup.cnf12
-rw-r--r--mysql-test/suite/galera/t/galera_autoinc_sst_xtrabackup.test96
-rw-r--r--mysql-test/suite/galera/t/galera_bf_abort.test34
-rw-r--r--mysql-test/suite/galera/t/galera_bf_abort_flush_for_export.test39
-rw-r--r--mysql-test/suite/galera/t/galera_bf_abort_for_update.test56
-rw-r--r--mysql-test/suite/galera/t/galera_bf_abort_ftwrl.test30
-rw-r--r--mysql-test/suite/galera/t/galera_bf_abort_get_lock.test36
-rw-r--r--mysql-test/suite/galera/t/galera_bf_abort_lock_table.test36
-rw-r--r--mysql-test/suite/galera/t/galera_bf_abort_sleep.test30
-rw-r--r--mysql-test/suite/galera/t/galera_bf_background_statistics.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_bf_background_statistics.test49
-rw-r--r--mysql-test/suite/galera/t/galera_bf_lock_wait.test52
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_cache_size.test35
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_checksum-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_checksum.test22
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_event_max_size_max-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_event_max_size_max.test21
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_event_max_size_min-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_event_max_size_min.test15
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_row_image.test100
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_rows_query_log_events.test28
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_stmt_autoinc.test230
-rw-r--r--mysql-test/suite/galera/t/galera_concurrent_ctas.test57
-rw-r--r--mysql-test/suite/galera/t/galera_create_function.test53
-rw-r--r--mysql-test/suite/galera/t/galera_create_procedure.test52
-rw-r--r--mysql-test/suite/galera/t/galera_create_table_like.test50
-rw-r--r--mysql-test/suite/galera/t/galera_create_trigger.test43
-rw-r--r--mysql-test/suite/galera/t/galera_ddl_multiline.test54
-rw-r--r--mysql-test/suite/galera/t/galera_defaults.test38
-rw-r--r--mysql-test/suite/galera/t/galera_delete_limit.test52
-rw-r--r--mysql-test/suite/galera/t/galera_desync_overlapped.test59
-rw-r--r--mysql-test/suite/galera/t/galera_drop_database.test47
-rw-r--r--mysql-test/suite/galera/t/galera_drop_multi.test41
-rw-r--r--mysql-test/suite/galera/t/galera_encrypt_tmp_files.cnf8
-rw-r--r--mysql-test/suite/galera/t/galera_encrypt_tmp_files.test57
-rw-r--r--mysql-test/suite/galera/t/galera_enum.test68
-rw-r--r--mysql-test/suite/galera/t/galera_events.test53
-rw-r--r--mysql-test/suite/galera/t/galera_fk_cascade_delete.test41
-rw-r--r--mysql-test/suite/galera/t/galera_fk_cascade_update.test41
-rw-r--r--mysql-test/suite/galera/t/galera_fk_conflict.test41
-rw-r--r--mysql-test/suite/galera/t/galera_fk_mismatch.test38
-rw-r--r--mysql-test/suite/galera/t/galera_fk_multicolumn.test42
-rw-r--r--mysql-test/suite/galera/t/galera_fk_multitable.test32
-rw-r--r--mysql-test/suite/galera/t/galera_fk_no_pk.test37
-rw-r--r--mysql-test/suite/galera/t/galera_fk_selfreferential.test24
-rw-r--r--mysql-test/suite/galera/t/galera_fk_setnull.test36
-rw-r--r--mysql-test/suite/galera/t/galera_flush-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_flush.test273
-rw-r--r--mysql-test/suite/galera/t/galera_flush_local.opt3
-rw-r--r--mysql-test/suite/galera/t/galera_flush_local.test143
-rw-r--r--mysql-test/suite/galera/t/galera_forced_binlog_format-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_forced_binlog_format.test45
-rw-r--r--mysql-test/suite/galera/t/galera_ftwrl.test39
-rw-r--r--mysql-test/suite/galera/t/galera_ftwrl_drain.test69
-rw-r--r--mysql-test/suite/galera/t/galera_fulltext.test62
-rw-r--r--mysql-test/suite/galera/t/galera_gcache_recover.cnf7
-rw-r--r--mysql-test/suite/galera/t/galera_gcache_recover.test77
-rw-r--r--mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.cnf9
-rw-r--r--mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.test64
-rw-r--r--mysql-test/suite/galera/t/galera_gcache_recover_manytrx.cnf9
-rw-r--r--mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test230
-rw-r--r--mysql-test/suite/galera/t/galera_gcs_fc_limit.test59
-rw-r--r--mysql-test/suite/galera/t/galera_gcs_fragment.cnf5
-rw-r--r--mysql-test/suite/galera/t/galera_gcs_fragment.test74
-rw-r--r--mysql-test/suite/galera/t/galera_gcs_max_packet_size.cnf5
-rw-r--r--mysql-test/suite/galera/t/galera_gcs_max_packet_size.test26
-rw-r--r--mysql-test/suite/galera/t/galera_gra_log.test30
-rw-r--r--mysql-test/suite/galera/t/galera_gtid-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_gtid.test27
-rw-r--r--mysql-test/suite/galera/t/galera_gtid_slave.cnf18
-rw-r--r--mysql-test/suite/galera/t/galera_gtid_slave.test79
-rw-r--r--mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.cnf18
-rw-r--r--mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.test210
-rw-r--r--mysql-test/suite/galera/t/galera_insert_ignore.test60
-rw-r--r--mysql-test/suite/galera/t/galera_insert_multi.test122
-rw-r--r--mysql-test/suite/galera/t/galera_ist_innodb_flush_logs.cnf14
-rw-r--r--mysql-test/suite/galera/t/galera_ist_innodb_flush_logs.test12
-rw-r--r--mysql-test/suite/galera/t/galera_ist_mariabackup.cnf12
-rw-r--r--mysql-test/suite/galera/t/galera_ist_mariabackup.test16
-rw-r--r--mysql-test/suite/galera/t/galera_ist_mariabackup_innodb_flush_logs.cnf14
-rw-r--r--mysql-test/suite/galera/t/galera_ist_mariabackup_innodb_flush_logs.test12
-rw-r--r--mysql-test/suite/galera/t/galera_ist_mysqldump.cnf12
-rw-r--r--mysql-test/suite/galera/t/galera_ist_mysqldump.test24
-rw-r--r--mysql-test/suite/galera/t/galera_ist_progress.cnf5
-rw-r--r--mysql-test/suite/galera/t/galera_ist_progress.test76
-rw-r--r--mysql-test/suite/galera/t/galera_ist_recv_bind.cnf8
-rw-r--r--mysql-test/suite/galera/t/galera_ist_recv_bind.test55
-rw-r--r--mysql-test/suite/galera/t/galera_ist_restart_joiner.cnf4
-rw-r--r--mysql-test/suite/galera/t/galera_ist_restart_joiner.test113
-rw-r--r--mysql-test/suite/galera/t/galera_ist_rsync.cnf13
-rw-r--r--mysql-test/suite/galera/t/galera_ist_rsync.test13
-rw-r--r--mysql-test/suite/galera/t/galera_ist_xtrabackup-v2.cnf12
-rw-r--r--mysql-test/suite/galera/t/galera_ist_xtrabackup-v2.test15
-rw-r--r--mysql-test/suite/galera/t/galera_kill_applier.test26
-rw-r--r--mysql-test/suite/galera/t/galera_kill_ddl.test46
-rw-r--r--mysql-test/suite/galera/t/galera_kill_largechanges.test50
-rw-r--r--mysql-test/suite/galera/t/galera_kill_nochanges.test40
-rw-r--r--mysql-test/suite/galera/t/galera_kill_smallchanges.test46
-rw-r--r--mysql-test/suite/galera/t/galera_lock_table.test50
-rw-r--r--mysql-test/suite/galera/t/galera_log_bin-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_log_bin.test39
-rw-r--r--mysql-test/suite/galera/t/galera_log_output_csv-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_log_output_csv.test24
-rw-r--r--mysql-test/suite/galera/t/galera_many_columns.test63
-rw-r--r--mysql-test/suite/galera/t/galera_many_indexes.test74
-rw-r--r--mysql-test/suite/galera/t/galera_many_rows.cnf5
-rw-r--r--mysql-test/suite/galera/t/galera_many_rows.test59
-rw-r--r--mysql-test/suite/galera/t/galera_many_tables_nopk.test109
-rw-r--r--mysql-test/suite/galera/t/galera_many_tables_pk.test101
-rw-r--r--mysql-test/suite/galera/t/galera_mdev_10812.test27
-rw-r--r--mysql-test/suite/galera/t/galera_mdev_13787.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_mdev_13787.test6
-rw-r--r--mysql-test/suite/galera/t/galera_mdev_15611.cnf5
-rw-r--r--mysql-test/suite/galera/t/galera_mdev_15611.test30
-rw-r--r--mysql-test/suite/galera/t/galera_mdl_race.test72
-rw-r--r--mysql-test/suite/galera/t/galera_migrate.cnf59
-rw-r--r--mysql-test/suite/galera/t/galera_migrate.test204
-rw-r--r--mysql-test/suite/galera/t/galera_multi_database.test43
-rw-r--r--mysql-test/suite/galera/t/galera_myisam_autocommit.test45
-rw-r--r--mysql-test/suite/galera/t/galera_myisam_transactions.test36
-rw-r--r--mysql-test/suite/galera/t/galera_nopk_bit.test46
-rw-r--r--mysql-test/suite/galera/t/galera_nopk_blob.test46
-rw-r--r--mysql-test/suite/galera/t/galera_nopk_large_varchar.test50
-rw-r--r--mysql-test/suite/galera/t/galera_nopk_unicode.test43
-rw-r--r--mysql-test/suite/galera/t/galera_parallel_apply_lock_table.test51
-rw-r--r--mysql-test/suite/galera/t/galera_parallel_autoinc_largetrx.test56
-rw-r--r--mysql-test/suite/galera/t/galera_parallel_autoinc_manytrx.test91
-rw-r--r--mysql-test/suite/galera/t/galera_parallel_simple.test63
-rw-r--r--mysql-test/suite/galera/t/galera_pc_ignore_sb.test54
-rw-r--r--mysql-test/suite/galera/t/galera_pk_bigint_signed.test46
-rw-r--r--mysql-test/suite/galera/t/galera_pk_bigint_unsigned.test45
-rw-r--r--mysql-test/suite/galera/t/galera_prepared_statement.test45
-rw-r--r--mysql-test/suite/galera/t/galera_query_cache-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_query_cache.test67
-rw-r--r--mysql-test/suite/galera/t/galera_query_cache_sync_wait-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_query_cache_sync_wait.test88
-rw-r--r--mysql-test/suite/galera/t/galera_read_only.test39
-rw-r--r--mysql-test/suite/galera/t/galera_repl_key_format_flat16.test34
-rw-r--r--mysql-test/suite/galera/t/galera_repl_max_ws_size.test29
-rw-r--r--mysql-test/suite/galera/t/galera_restart_nochanges.test40
-rw-r--r--mysql-test/suite/galera/t/galera_restart_on_unknown_option.test157
-rw-r--r--mysql-test/suite/galera/t/galera_roles.test201
-rw-r--r--mysql-test/suite/galera/t/galera_rsu_add_pk.test43
-rw-r--r--mysql-test/suite/galera/t/galera_rsu_drop_pk.test58
-rw-r--r--mysql-test/suite/galera/t/galera_rsu_error.test31
-rw-r--r--mysql-test/suite/galera/t/galera_rsu_simple.test34
-rw-r--r--mysql-test/suite/galera/t/galera_rsu_wsrep_desync.test86
-rw-r--r--mysql-test/suite/galera/t/galera_sbr.test27
-rw-r--r--mysql-test/suite/galera/t/galera_sbr_binlog-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_sbr_binlog.test28
-rw-r--r--mysql-test/suite/galera/t/galera_schema_dirty_reads.test13
-rw-r--r--mysql-test/suite/galera/t/galera_serializable.test76
-rw-r--r--mysql-test/suite/galera/t/galera_server.test28
-rw-r--r--mysql-test/suite/galera/t/galera_split_brain.test47
-rw-r--r--mysql-test/suite/galera/t/galera_sql_log_bin_zero.test26
-rw-r--r--mysql-test/suite/galera/t/galera_ssl.cnf7
-rw-r--r--mysql-test/suite/galera/t/galera_ssl.test25
-rw-r--r--mysql-test/suite/galera/t/galera_ssl_compression.cnf7
-rw-r--r--mysql-test/suite/galera/t/galera_ssl_compression.test35
-rw-r--r--mysql-test/suite/galera/t/galera_ssl_upgrade.cnf7
-rw-r--r--mysql-test/suite/galera/t/galera_ssl_upgrade.test49
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup.cnf16
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup.test20
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup_encrypt_with_key.cnf12
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup_encrypt_with_key.test14
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.cnf16
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.opt2
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.test227
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mysqldump.cnf11
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mysqldump.test22
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mysqldump_with_key.cnf18
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mysqldump_with_key.test32
-rw-r--r--mysql-test/suite/galera/t/galera_sst_rsync.cnf11
-rw-r--r--mysql-test/suite/galera/t/galera_sst_rsync.test13
-rw-r--r--mysql-test/suite/galera/t/galera_sst_rsync2.cnf15
-rw-r--r--mysql-test/suite/galera/t/galera_sst_rsync2.test12
-rw-r--r--mysql-test/suite/galera/t/galera_sst_rsync_data_dir.cnf11
-rw-r--r--mysql-test/suite/galera/t/galera_sst_rsync_data_dir.test16
-rw-r--r--mysql-test/suite/galera/t/galera_sst_xtrabackup-v2-options.cnf25
-rw-r--r--mysql-test/suite/galera/t/galera_sst_xtrabackup-v2-options.test13
-rw-r--r--mysql-test/suite/galera/t/galera_sst_xtrabackup-v2.cnf15
-rw-r--r--mysql-test/suite/galera/t/galera_sst_xtrabackup-v2.test20
-rw-r--r--mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_data_dir.cnf16
-rw-r--r--mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_data_dir.test23
-rw-r--r--mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_encrypt_with_key.cnf12
-rw-r--r--mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_encrypt_with_key.test14
-rw-r--r--mysql-test/suite/galera/t/galera_status_cluster.test18
-rw-r--r--mysql-test/suite/galera/t/galera_status_local_index.test21
-rw-r--r--mysql-test/suite/galera/t/galera_status_local_state.test28
-rw-r--r--mysql-test/suite/galera/t/galera_suspend_slave.test70
-rw-r--r--mysql-test/suite/galera/t/galera_sync_wait_show.test70
-rw-r--r--mysql-test/suite/galera/t/galera_toi_alter_auto_increment.test120
-rw-r--r--mysql-test/suite/galera/t/galera_toi_ddl_error.test29
-rw-r--r--mysql-test/suite/galera/t/galera_toi_ddl_fk_insert.test70
-rw-r--r--mysql-test/suite/galera/t/galera_toi_ddl_fk_update.test49
-rw-r--r--mysql-test/suite/galera/t/galera_toi_ddl_locking.test76
-rw-r--r--mysql-test/suite/galera/t/galera_toi_ddl_nonconflicting.test41
-rw-r--r--mysql-test/suite/galera/t/galera_toi_ddl_sequential.test29
-rw-r--r--mysql-test/suite/galera/t/galera_toi_drop_database.test56
-rw-r--r--mysql-test/suite/galera/t/galera_toi_ftwrl.test22
-rw-r--r--mysql-test/suite/galera/t/galera_toi_lock_exclusive.test38
-rw-r--r--mysql-test/suite/galera/t/galera_toi_lock_shared.test23
-rw-r--r--mysql-test/suite/galera/t/galera_toi_truncate.test53
-rw-r--r--mysql-test/suite/galera/t/galera_transaction_read_only.test58
-rw-r--r--mysql-test/suite/galera/t/galera_transaction_replay.test124
-rw-r--r--mysql-test/suite/galera/t/galera_truncate.test57
-rw-r--r--mysql-test/suite/galera/t/galera_truncate_temporary.test82
-rw-r--r--mysql-test/suite/galera/t/galera_udf-master.opt2
-rw-r--r--mysql-test/suite/galera/t/galera_unicode_identifiers.test78
-rw-r--r--mysql-test/suite/galera/t/galera_unicode_pk.test64
-rw-r--r--mysql-test/suite/galera/t/galera_update_limit.test55
-rw-r--r--mysql-test/suite/galera/t/galera_v1_row_events-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_v1_row_events.test21
-rw-r--r--mysql-test/suite/galera/t/galera_var_OSU_method.test45
-rw-r--r--mysql-test/suite/galera/t/galera_var_OSU_method2.test47
-rw-r--r--mysql-test/suite/galera/t/galera_var_auto_inc_control_off.test105
-rw-r--r--mysql-test/suite/galera/t/galera_var_auto_inc_control_on.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_var_auto_inc_control_on.test65
-rw-r--r--mysql-test/suite/galera/t/galera_var_certify_nonPK_off.test43
-rw-r--r--mysql-test/suite/galera/t/galera_var_cluster_address.test77
-rw-r--r--mysql-test/suite/galera/t/galera_var_desync_on.test61
-rw-r--r--mysql-test/suite/galera/t/galera_var_dirty_reads.test74
-rw-r--r--mysql-test/suite/galera/t/galera_var_fkchecks.test40
-rw-r--r--mysql-test/suite/galera/t/galera_var_gtid_domain_id.cnf16
-rw-r--r--mysql-test/suite/galera/t/galera_var_gtid_domain_id.test53
-rw-r--r--mysql-test/suite/galera/t/galera_var_innodb_disallow_writes.test33
-rw-r--r--mysql-test/suite/galera/t/galera_var_load_data_splitting.test39
-rw-r--r--mysql-test/suite/galera/t/galera_var_log_bin.cnf5
-rw-r--r--mysql-test/suite/galera/t/galera_var_log_bin.test22
-rw-r--r--mysql-test/suite/galera/t/galera_var_max_ws_rows.test176
-rw-r--r--mysql-test/suite/galera/t/galera_var_max_ws_size.test46
-rw-r--r--mysql-test/suite/galera/t/galera_var_mysql_replication_bundle.test30
-rw-r--r--mysql-test/suite/galera/t/galera_var_node_address.cnf10
-rw-r--r--mysql-test/suite/galera/t/galera_var_node_address.test32
-rw-r--r--mysql-test/suite/galera/t/galera_var_notify_cmd-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_var_notify_cmd.test14
-rw-r--r--mysql-test/suite/galera/t/galera_var_reject_queries.test47
-rw-r--r--mysql-test/suite/galera/t/galera_var_replicate_myisam_off.test21
-rw-r--r--mysql-test/suite/galera/t/galera_var_replicate_myisam_on.test149
-rw-r--r--mysql-test/suite/galera/t/galera_var_retry_autocommit.test141
-rw-r--r--mysql-test/suite/galera/t/galera_var_slave_threads.test127
-rw-r--r--mysql-test/suite/galera/t/galera_var_sync_wait.test53
-rw-r--r--mysql-test/suite/galera/t/galera_var_wsrep_on_off.test32
-rw-r--r--mysql-test/suite/galera/t/galera_wan.cnf14
-rw-r--r--mysql-test/suite/galera/t/galera_wan.test40
-rw-r--r--mysql-test/suite/galera/t/galera_wan_restart_ist.cnf14
-rw-r--r--mysql-test/suite/galera/t/galera_wan_restart_ist.test161
-rw-r--r--mysql-test/suite/galera/t/galera_wan_restart_sst.cnf14
-rw-r--r--mysql-test/suite/galera/t/galera_wan_restart_sst.test149
-rw-r--r--mysql-test/suite/galera/t/galera_wsrep_desync_wsrep_on.test59
-rw-r--r--mysql-test/suite/galera/t/galera_wsrep_log_conficts-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_wsrep_log_conficts.test55
-rw-r--r--mysql-test/suite/galera/t/galera_wsrep_new_cluster-master.opt1
-rw-r--r--mysql-test/suite/galera/t/galera_wsrep_new_cluster.test24
-rw-r--r--mysql-test/suite/galera/t/galera_wsrep_provider_options_syntax.test20
-rw-r--r--mysql-test/suite/galera/t/galera_wsrep_provider_unset_set.test50
-rw-r--r--mysql-test/suite/galera/t/galera_zero_length_column.test41
-rw-r--r--mysql-test/suite/galera/t/grant.test25
-rw-r--r--mysql-test/suite/galera/t/lp1276424.test17
-rw-r--r--mysql-test/suite/galera/t/lp1347768.test24
-rw-r--r--mysql-test/suite/galera/t/lp1376747-2.test29
-rw-r--r--mysql-test/suite/galera/t/lp1376747-3.test28
-rw-r--r--mysql-test/suite/galera/t/lp1376747-4.test53
-rw-r--r--mysql-test/suite/galera/t/lp1376747.test31
-rw-r--r--mysql-test/suite/galera/t/lp1438990.test38
-rw-r--r--mysql-test/suite/galera/t/lp959512.test26
-rw-r--r--mysql-test/suite/galera/t/mdev_10518.cnf17
-rw-r--r--mysql-test/suite/galera/t/mdev_10518.test53
-rw-r--r--mysql-test/suite/galera/t/mdev_9290.test24
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#110.test51
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#198.test39
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#201-master.opt1
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#201.test32
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#237.test34
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#247.test23
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#31.test53
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#33.cnf8
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#33.test20
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#332.test113
-rw-r--r--mysql-test/suite/galera/t/mysql-wsrep#90.test67
-rw-r--r--mysql-test/suite/galera/t/partition.test215
-rw-r--r--mysql-test/suite/galera/t/pxc-421.test67
-rw-r--r--mysql-test/suite/galera/t/query_cache.opt1
-rw-r--r--mysql-test/suite/galera/t/query_cache.test1089
-rw-r--r--mysql-test/suite/galera/t/rename.test53
-rw-r--r--mysql-test/suite/galera/t/rpl_row_annotate.cnf6
-rw-r--r--mysql-test/suite/galera/t/rpl_row_annotate.test42
-rw-r--r--mysql-test/suite/galera/t/sql_log_bin.test56
-rw-r--r--mysql-test/suite/galera/t/unique_key.test54
-rw-r--r--mysql-test/suite/galera/t/view.test50
-rw-r--r--mysql-test/suite/galera_3nodes/disabled.def2
-rw-r--r--mysql-test/suite/galera_3nodes/galera_2x3nodes.cnf123
-rw-r--r--mysql-test/suite/galera_3nodes/galera_3nodes.cnf67
-rw-r--r--mysql-test/suite/galera_3nodes/my.cnf1
-rw-r--r--mysql-test/suite/galera_3nodes/r/GAL-501.result14
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_certification_ccc.result17
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_certification_double_failure.result12
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_evs_suspect_timeout.result20
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_garbd.result17
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_gtid_2_cluster.result231
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_innobackupex_backup.result11
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_ipv6_mariabackup.result18
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_ipv6_mariabackup_section.result18
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_ipv6_mysqldump.result29
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_ipv6_rsync.result14
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_ipv6_rsync_section.result14
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_ipv6_xtrabackup-v2.result18
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_ist_gcache_rollover.result46
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_parallel_apply_3nodes.result13
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_pc_bootstrap.result26
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_pc_weight.result151
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_safe_to_bootstrap.result36
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_slave_options_do.result28
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_slave_options_ignore.result28
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_var_dirty_reads2.result48
-rw-r--r--mysql-test/suite/galera_3nodes/suite.pm94
-rw-r--r--mysql-test/suite/galera_3nodes/t/GAL-501.cnf26
-rw-r--r--mysql-test/suite/galera_3nodes/t/GAL-501.opt1
-rw-r--r--mysql-test/suite/galera_3nodes/t/GAL-501.test38
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_certification_ccc.test53
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_certification_double_failure.test33
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_evs_suspect_timeout.test68
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_garbd.test78
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_gtid_2_cluster.cnf28
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_gtid_2_cluster.test292
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_innobackupex_backup.cnf4
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_innobackupex_backup.test80
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.cnf29
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.opt1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.test59
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.cnf39
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.opt1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.test69
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.cnf26
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.opt1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.test85
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.cnf26
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.opt1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.test32
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.cnf31
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.opt1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.test32
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.cnf29
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.opt1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.test58
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.cnf11
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test114
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test38
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_pc_bootstrap.cnf5
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_pc_bootstrap.test91
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_pc_weight.cnf5
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_pc_weight.test132
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_safe_to_bootstrap.test185
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_slave_options_do.cnf7
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_slave_options_do.test34
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_slave_options_ignore.cnf7
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_slave_options_ignore.test34
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_var_dirty_reads2.test126
-rw-r--r--mysql-test/suite/handler/aria.result6
-rw-r--r--mysql-test/suite/handler/handler.inc2
-rw-r--r--mysql-test/suite/handler/heap.result16
-rw-r--r--mysql-test/suite/handler/innodb.result7
-rw-r--r--mysql-test/suite/handler/innodb.test5
-rw-r--r--mysql-test/suite/handler/myisam.result92
-rw-r--r--mysql-test/suite/handler/myisam.test89
-rw-r--r--mysql-test/suite/handler/ps.test2
-rw-r--r--mysql-test/suite/heap/heap.result61
-rw-r--r--mysql-test/suite/heap/heap.test77
-rw-r--r--mysql-test/suite/innodb/include/crc32.pl33
-rw-r--r--mysql-test/suite/innodb/include/ibd_convert.pl24
-rw-r--r--mysql-test/suite/innodb/include/import.inc40
-rw-r--r--mysql-test/suite/innodb/include/innodb-page-compression.inc131
-rw-r--r--mysql-test/suite/innodb/include/innodb-util.pl126
-rw-r--r--mysql-test/suite/innodb/include/innodb-wl6045.inc22
-rw-r--r--mysql-test/suite/innodb/include/innodb_dict.inc9
-rw-r--r--mysql-test/suite/innodb/include/innodb_simulate_comp_failures.inc15
-rw-r--r--mysql-test/suite/innodb/include/innodb_stats.inc26
-rw-r--r--mysql-test/suite/innodb/include/no_checkpoint_end.inc35
-rw-r--r--mysql-test/suite/innodb/include/no_checkpoint_start.inc5
-rw-r--r--mysql-test/suite/innodb/include/restart_and_reinit.inc15
-rw-r--r--mysql-test/suite/innodb/r/101_compatibility.result45
-rw-r--r--mysql-test/suite/innodb/r/add_constraint.result2
-rw-r--r--mysql-test/suite/innodb/r/alter_candidate_key.result107
-rw-r--r--mysql-test/suite/innodb/r/alter_crash.result152
-rw-r--r--mysql-test/suite/innodb/r/alter_inplace_perfschema.result15
-rw-r--r--mysql-test/suite/innodb/r/alter_key_block_size-11757.result47
-rw-r--r--mysql-test/suite/innodb/r/alter_partitioned_xa.result15
-rw-r--r--mysql-test/suite/innodb/r/alter_rename_existing.result96
-rw-r--r--mysql-test/suite/innodb/r/autoinc_debug.result90
-rw-r--r--mysql-test/suite/innodb/r/binlog_consistent.result71
-rw-r--r--mysql-test/suite/innodb/r/create-index-debug.result23
-rw-r--r--mysql-test/suite/innodb/r/create_isl_with_direct.result10
-rw-r--r--mysql-test/suite/innodb/r/data_types.result155
-rw-r--r--mysql-test/suite/innodb/r/default_row_format_alter.result85
-rw-r--r--mysql-test/suite/innodb/r/default_row_format_compatibility.result103
-rw-r--r--mysql-test/suite/innodb/r/default_row_format_create,dynamic.rdiff11
-rw-r--r--mysql-test/suite/innodb/r/default_row_format_create,redundant.rdiff11
-rw-r--r--mysql-test/suite/innodb/r/default_row_format_create.result31
-rw-r--r--mysql-test/suite/innodb/r/defrag_mdl-9155.result15
-rw-r--r--mysql-test/suite/innodb/r/doublewrite.result251
-rw-r--r--mysql-test/suite/innodb/r/drop_table_background.result9
-rw-r--r--mysql-test/suite/innodb/r/fake_changes-7000.result6
-rw-r--r--mysql-test/suite/innodb/r/file_format_defaults.result56
-rw-r--r--mysql-test/suite/innodb/r/foreign-keys.result110
-rw-r--r--mysql-test/suite/innodb/r/foreign_key.result99
-rw-r--r--mysql-test/suite/innodb/r/group_commit.result6
-rw-r--r--mysql-test/suite/innodb/r/group_commit_binlog_pos.result3
-rw-r--r--mysql-test/suite/innodb/r/group_commit_binlog_pos_no_optimize_thread.result3
-rw-r--r--mysql-test/suite/innodb/r/group_commit_crash.result10
-rw-r--r--mysql-test/suite/innodb/r/group_commit_crash_no_optimize_thread.result10
-rw-r--r--mysql-test/suite/innodb/r/group_commit_no_optimize_thread.result6
-rw-r--r--mysql-test/suite/innodb/r/help_url.result4
-rw-r--r--mysql-test/suite/innodb/r/index_tree_operation.result55
-rw-r--r--mysql-test/suite/innodb/r/innochecksum.result22
-rw-r--r--mysql-test/suite/innodb/r/innodb-16k.result981
-rw-r--r--mysql-test/suite/innodb/r/innodb-32k-crash.result291
-rw-r--r--mysql-test/suite/innodb/r/innodb-32k.result869
-rw-r--r--mysql-test/suite/innodb/r/innodb-64k-crash.result594
-rw-r--r--mysql-test/suite/innodb/r/innodb-64k.result1086
-rw-r--r--mysql-test/suite/innodb/r/innodb-agregate.result21
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-autoinc.result174
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-debug.result88
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-discard.result21
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-nullable.result91
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-table.result228
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-tempfile.result40
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-timestamp.result29
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter.result1035
-rw-r--r--mysql-test/suite/innodb/r/innodb-autoinc-44030.result5
-rw-r--r--mysql-test/suite/innodb/r/innodb-autoinc-56228.result6
-rw-r--r--mysql-test/suite/innodb/r/innodb-autoinc.result104
-rw-r--r--mysql-test/suite/innodb/r/innodb-bigblob.result8
-rw-r--r--mysql-test/suite/innodb/r/innodb-blob.result13
-rw-r--r--mysql-test/suite/innodb/r/innodb-bug-14068765.result42
-rw-r--r--mysql-test/suite/innodb/r/innodb-bug-14084530.result31
-rw-r--r--mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result6
-rw-r--r--mysql-test/suite/innodb/r/innodb-corrupted-table.result49
-rw-r--r--mysql-test/suite/innodb/r/innodb-enlarge-blob.result18
-rw-r--r--mysql-test/suite/innodb/r/innodb-fk-warnings.result77
-rw-r--r--mysql-test/suite/innodb/r/innodb-fk.result87
-rw-r--r--mysql-test/suite/innodb/r/innodb-fkcheck.result12
-rw-r--r--mysql-test/suite/innodb/r/innodb-flush-changed-page-bitmaps.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb-get-fk.result74
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-debug.result91
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-online,crypt.rdiff20
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-online-delete.result13
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-online-fk.result604
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-online-norebuild.result26
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-online-purge.result36
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-online.result447
-rw-r--r--mysql-test/suite/innodb/r/innodb-index.result673
-rw-r--r--mysql-test/suite/innodb/r/innodb-lock-schedule-algorithm.result89
-rw-r--r--mysql-test/suite/innodb/r/innodb-lock.result29
-rw-r--r--mysql-test/suite/innodb/r/innodb-lru-force-no-free-page.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb-mdev-7408.result12
-rw-r--r--mysql-test/suite/innodb/r/innodb-mdev7046.result1
-rw-r--r--mysql-test/suite/innodb/r/innodb-page_compression_bzip2.result98
-rw-r--r--mysql-test/suite/innodb/r/innodb-page_compression_default.result97
-rw-r--r--mysql-test/suite/innodb/r/innodb-page_compression_lz4.result98
-rw-r--r--mysql-test/suite/innodb/r/innodb-page_compression_lzma.result98
-rw-r--r--mysql-test/suite/innodb/r/innodb-page_compression_lzo.result98
-rw-r--r--mysql-test/suite/innodb/r/innodb-page_compression_snappy.result98
-rw-r--r--mysql-test/suite/innodb/r/innodb-page_compression_tables.result120
-rw-r--r--mysql-test/suite/innodb/r/innodb-page_compression_zip.result98
-rw-r--r--mysql-test/suite/innodb/r/innodb-stats-initialize-failure.result32
-rw-r--r--mysql-test/suite/innodb/r/innodb-stats-modified-counter.result20
-rw-r--r--mysql-test/suite/innodb/r/innodb-table-online,crypt.rdiff20
-rw-r--r--mysql-test/suite/innodb/r/innodb-table-online.result435
-rw-r--r--mysql-test/suite/innodb/r/innodb-truncate.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb-update-insert.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb-virtual-columns.result337
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5522-1.result811
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5522-debug.result909
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5522-zip.result503
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5522.result1282
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5980-alter.result1409
-rw-r--r--mysql-test/suite/innodb/r/innodb-xa.result17
-rw-r--r--mysql-test/suite/innodb/r/innodb.result123
-rw-r--r--mysql-test/suite/innodb/r/innodb_28867993.result9
-rw-r--r--mysql-test/suite/innodb/r/innodb_blob_truncate.result19
-rw-r--r--mysql-test/suite/innodb/r/innodb_blob_unrecoverable_crash.result20
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug11754376.result1
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug11766634.result5
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug12400341.result7
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug12661768.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug12902967.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug13635833.result45
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug14147491.result30
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug14676111.result38
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug21704.result68
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug27216817.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug34300.result3
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug46000.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug51378.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug53592.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug53756.result17
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug56947.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug57904.result3
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug59641.result7
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug60049.result7
-rw-r--r--mysql-test/suite/innodb/r/innodb_corrupt_bit.result11
-rw-r--r--mysql-test/suite/innodb/r/innodb_ctype_ldml.result1080
-rw-r--r--mysql-test/suite/innodb/r/innodb_defrag_binlog.result29
-rw-r--r--mysql-test/suite/innodb/r/innodb_defrag_concurrent.result61
-rw-r--r--mysql-test/suite/innodb/r/innodb_defrag_stats.result175
-rw-r--r--mysql-test/suite/innodb/r/innodb_defrag_stats_many_tables.result38
-rw-r--r--mysql-test/suite/innodb/r/innodb_defragment.result124
-rw-r--r--mysql-test/suite/innodb/r/innodb_defragment_fill_factor.result116
-rw-r--r--mysql-test/suite/innodb/r/innodb_defragment_small.result35
-rw-r--r--mysql-test/suite/innodb/r/innodb_file_format.result1
-rw-r--r--mysql-test/suite/innodb/r/innodb_force_pk.result65
-rw-r--r--mysql-test/suite/innodb/r/innodb_gis.result14
-rw-r--r--mysql-test/suite/innodb/r/innodb_information_schema.result32
-rw-r--r--mysql-test/suite/innodb/r/innodb_information_schema_buffer.result100
-rw-r--r--mysql-test/suite/innodb/r/innodb_lock_wait_timeout_1.result20
-rw-r--r--mysql-test/suite/innodb/r/innodb_max_recordsize_32k.result388
-rw-r--r--mysql-test/suite/innodb/r/innodb_max_recordsize_64k.result591
-rw-r--r--mysql-test/suite/innodb/r/innodb_monitor.result610
-rw-r--r--mysql-test/suite/innodb/r/innodb_multi_update.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_mutexes.result21
-rw-r--r--mysql-test/suite/innodb/r/innodb_mysql.result498
-rw-r--r--mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_simulate_comp_failures.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result394
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats.result522
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_create_on_corrupted.result32
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_create_table.result35
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_drop_locked.result45
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_fetch.result145
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_fetch_corrupted.result31
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_fetch_nonexistent.result28
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_rename_table.result50
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_rename_table_if_exists.result80
-rw-r--r--mysql-test/suite/innodb/r/innodb_sys_semaphore_waits.result26
-rw-r--r--mysql-test/suite/innodb/r/innodb_uninstall.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_zip_innochecksum.result91
-rw-r--r--mysql-test/suite/innodb/r/innodb_zip_innochecksum2.result160
-rw-r--r--mysql-test/suite/innodb/r/innodb_zip_innochecksum3.result227
-rw-r--r--mysql-test/suite/innodb/r/lock_deleted.result40
-rw-r--r--mysql-test/suite/innodb/r/log_data_file_size.result9
-rw-r--r--mysql-test/suite/innodb/r/log_file_size.result72
-rw-r--r--mysql-test/suite/innodb/r/mvcc.result26
-rw-r--r--mysql-test/suite/innodb/r/read_only_recover_committed.result43
-rw-r--r--mysql-test/suite/innodb/r/read_only_recovery.result29
-rw-r--r--mysql-test/suite/innodb/r/recovery_shutdown.result56
-rw-r--r--mysql-test/suite/innodb/r/rename_table.result5
-rw-r--r--mysql-test/suite/innodb/r/restart.result26
-rw-r--r--mysql-test/suite/innodb/r/row_format_redundant.result48
-rw-r--r--mysql-test/suite/innodb/r/row_lock.result3
-rw-r--r--mysql-test/suite/innodb/r/snapshot.result8
-rw-r--r--mysql-test/suite/innodb/r/strict_mode.result2
-rw-r--r--mysql-test/suite/innodb/r/system_tables.result8
-rw-r--r--mysql-test/suite/innodb/r/table_definition_cache_debug.result16
-rw-r--r--mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff130
-rw-r--r--mysql-test/suite/innodb/r/table_flags,32k.rdiff96
-rw-r--r--mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff128
-rw-r--r--mysql-test/suite/innodb/r/table_flags,4k,release.rdiff83
-rw-r--r--mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff130
-rw-r--r--mysql-test/suite/innodb/r/table_flags,64k.rdiff96
-rw-r--r--mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff128
-rw-r--r--mysql-test/suite/innodb/r/table_flags,8k,release.rdiff83
-rw-r--r--mysql-test/suite/innodb/r/table_flags,debug.rdiff128
-rw-r--r--mysql-test/suite/innodb/r/table_flags.result173
-rw-r--r--mysql-test/suite/innodb/r/table_index_statistics.result48
-rw-r--r--mysql-test/suite/innodb/r/tmpdir.result51
-rw-r--r--mysql-test/suite/innodb/r/trigger.result23
-rw-r--r--mysql-test/suite/innodb/r/xa_recovery.result2
-rw-r--r--mysql-test/suite/innodb/t/101_compatibility.test104
-rw-r--r--mysql-test/suite/innodb/t/add_constraint.test2
-rw-r--r--mysql-test/suite/innodb/t/alter_candidate_key.test72
-rw-r--r--mysql-test/suite/innodb/t/alter_crash.test229
-rw-r--r--mysql-test/suite/innodb/t/alter_inplace_perfschema.opt2
-rw-r--r--mysql-test/suite/innodb/t/alter_inplace_perfschema.test40
-rw-r--r--mysql-test/suite/innodb/t/alter_key_block_size-11757.test23
-rw-r--r--mysql-test/suite/innodb/t/alter_partitioned_xa.test31
-rw-r--r--mysql-test/suite/innodb/t/alter_rename_existing.test93
-rw-r--r--mysql-test/suite/innodb/t/autoinc_debug.test85
-rw-r--r--mysql-test/suite/innodb/t/binlog_consistent.test19
-rw-r--r--mysql-test/suite/innodb/t/create-index-debug.test34
-rw-r--r--mysql-test/suite/innodb/t/create_isl_with_direct.opt1
-rw-r--r--mysql-test/suite/innodb/t/create_isl_with_direct.test28
-rw-r--r--mysql-test/suite/innodb/t/data_types.opt1
-rw-r--r--mysql-test/suite/innodb/t/data_types.test118
-rw-r--r--mysql-test/suite/innodb/t/default_row_format_alter.test98
-rw-r--r--mysql-test/suite/innodb/t/default_row_format_compatibility.test174
-rw-r--r--mysql-test/suite/innodb/t/default_row_format_create.test28
-rw-r--r--mysql-test/suite/innodb/t/defrag_mdl-9155.test22
-rw-r--r--mysql-test/suite/innodb/t/doublewrite.test435
-rw-r--r--mysql-test/suite/innodb/t/drop_table_background.test30
-rw-r--r--mysql-test/suite/innodb/t/fake_changes-7000.test9
-rw-r--r--mysql-test/suite/innodb/t/file_format_defaults-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/file_format_defaults.test73
-rw-r--r--mysql-test/suite/innodb/t/foreign-keys.test134
-rw-r--r--mysql-test/suite/innodb/t/foreign_key.test114
-rw-r--r--mysql-test/suite/innodb/t/group_commit.test6
-rw-r--r--mysql-test/suite/innodb/t/group_commit_binlog_pos.test16
-rw-r--r--mysql-test/suite/innodb/t/group_commit_binlog_pos_no_optimize_thread.test17
-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/group_commit_no_optimize_thread.test6
-rw-r--r--mysql-test/suite/innodb/t/help_url.test8
-rw-r--r--mysql-test/suite/innodb/t/index_tree_operation.opt1
-rw-r--r--mysql-test/suite/innodb/t/index_tree_operation.test74
-rw-r--r--mysql-test/suite/innodb/t/innochecksum.opt2
-rw-r--r--mysql-test/suite/innodb/t/innochecksum.test74
-rw-r--r--mysql-test/suite/innodb/t/innodb-16k-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-16k.test979
-rw-r--r--mysql-test/suite/innodb/t/innodb-32k-crash-master.opt5
-rw-r--r--mysql-test/suite/innodb/t/innodb-32k-crash.test195
-rw-r--r--mysql-test/suite/innodb/t/innodb-32k-master.opt4
-rw-r--r--mysql-test/suite/innodb/t/innodb-32k.test770
-rw-r--r--mysql-test/suite/innodb/t/innodb-64k-crash-master.opt5
-rw-r--r--mysql-test/suite/innodb/t/innodb-64k-crash.test386
-rw-r--r--mysql-test/suite/innodb/t/innodb-64k-master.opt4
-rw-r--r--mysql-test/suite/innodb/t/innodb-64k.test661
-rw-r--r--mysql-test/suite/innodb/t/innodb-agregate.test18
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-autoinc.test104
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-debug.test134
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-discard.test46
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-nullable.test107
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-table.test206
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-tempfile.test74
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-timestamp.test27
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter.test612
-rw-r--r--mysql-test/suite/innodb/t/innodb-autoinc-44030.test17
-rw-r--r--mysql-test/suite/innodb/t/innodb-autoinc.test63
-rw-r--r--mysql-test/suite/innodb/t/innodb-bigblob.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb-bigblob.test21
-rw-r--r--mysql-test/suite/innodb/t/innodb-blob.test33
-rw-r--r--mysql-test/suite/innodb/t/innodb-bug-14068765.test73
-rw-r--r--mysql-test/suite/innodb/t/innodb-bug-14084530.test52
-rw-r--r--mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test24
-rw-r--r--mysql-test/suite/innodb/t/innodb-corrupted-table.test47
-rw-r--r--mysql-test/suite/innodb/t/innodb-enlarge-blob.opt5
-rw-r--r--mysql-test/suite/innodb/t/innodb-enlarge-blob.test29
-rw-r--r--mysql-test/suite/innodb/t/innodb-fk-warnings.test55
-rw-r--r--mysql-test/suite/innodb/t/innodb-fk.test67
-rw-r--r--mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.opt2
-rw-r--r--mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.test5
-rw-r--r--mysql-test/suite/innodb/t/innodb-get-fk.test68
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-debug.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-debug.test122
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online-delete.test36
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online-fk.opt4
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online-fk.test484
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online-norebuild.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online-norebuild.test71
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online-purge.test73
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online.opt6
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online.test508
-rw-r--r--mysql-test/suite/innodb/t/innodb-index.test639
-rw-r--r--mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.opt2
-rw-r--r--mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.test106
-rw-r--r--mysql-test/suite/innodb/t/innodb-lock.test74
-rw-r--r--mysql-test/suite/innodb/t/innodb-lru-force-no-free-page.test25
-rw-r--r--mysql-test/suite/innodb/t/innodb-mdev-7408.opt2
-rw-r--r--mysql-test/suite/innodb/t/innodb-mdev-7408.test16
-rw-r--r--mysql-test/suite/innodb/t/innodb-mdev7046.test51
-rw-r--r--mysql-test/suite/innodb/t/innodb-page_compression_bzip2.test11
-rw-r--r--mysql-test/suite/innodb/t/innodb-page_compression_default.test8
-rw-r--r--mysql-test/suite/innodb/t/innodb-page_compression_lz4.test12
-rw-r--r--mysql-test/suite/innodb/t/innodb-page_compression_lzma.test11
-rw-r--r--mysql-test/suite/innodb/t/innodb-page_compression_lzo.test11
-rw-r--r--mysql-test/suite/innodb/t/innodb-page_compression_snappy.test11
-rw-r--r--mysql-test/suite/innodb/t/innodb-page_compression_tables.test101
-rw-r--r--mysql-test/suite/innodb/t/innodb-page_compression_zip.test10
-rw-r--r--mysql-test/suite/innodb/t/innodb-stats-initialize-failure.test39
-rw-r--r--mysql-test/suite/innodb/t/innodb-stats-modified-counter.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-stats-modified-counter.test28
-rw-r--r--mysql-test/suite/innodb/t/innodb-table-online-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-table-online.test450
-rw-r--r--mysql-test/suite/innodb/t/innodb-virtual-columns.test313
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5522-1.test952
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5522-debug.test1456
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5522-zip.test544
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5522.test1128
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5980-alter.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5980-alter.test593
-rw-r--r--mysql-test/suite/innodb/t/innodb-xa.test17
-rw-r--r--mysql-test/suite/innodb/t/innodb.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb.test115
-rw-r--r--mysql-test/suite/innodb/t/innodb_28867993.test12
-rw-r--r--mysql-test/suite/innodb/t/innodb_blob_truncate.test45
-rw-r--r--mysql-test/suite/innodb/t/innodb_blob_unrecoverable_crash.test41
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug11754376.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug11766634.test59
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug12400341.test11
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug12661768.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug12902967.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug13510739.test4
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug13635833.test64
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug14147491.test74
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug14676111.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug14676111.test14
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug21704.test55
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug27216817.test28
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug34053.test7
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug34300.test18
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug47167.test5
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug53592.test4
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug53756.test66
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug54044.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug56947.test18
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug57904.test3
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug59641.test32
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug60049.test24
-rw-r--r--mysql-test/suite/innodb/t/innodb_corrupt_bit.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_corrupt_bit.test3
-rw-r--r--mysql-test/suite/innodb/t/innodb_ctype_ldml-master.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb_ctype_ldml.test369
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_binlog.opt5
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_binlog.test21
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_concurrent.opt4
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_concurrent.test122
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_stats.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_stats.test125
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_stats_many_tables.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_stats_many_tables.test77
-rw-r--r--mysql-test/suite/innodb/t/innodb_defragment.opt5
-rw-r--r--mysql-test/suite/innodb/t/innodb_defragment.test155
-rw-r--r--mysql-test/suite/innodb/t/innodb_defragment_fill_factor.opt4
-rw-r--r--mysql-test/suite/innodb/t/innodb_defragment_fill_factor.test210
-rw-r--r--mysql-test/suite/innodb/t/innodb_defragment_small.test37
-rw-r--r--mysql-test/suite/innodb/t/innodb_file_format.test8
-rw-r--r--mysql-test/suite/innodb/t/innodb_force_pk.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_force_pk.test49
-rw-r--r--mysql-test/suite/innodb/t/innodb_information_schema.test7
-rw-r--r--mysql-test/suite/innodb/t/innodb_information_schema_buffer.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb_information_schema_buffer.test19
-rw-r--r--mysql-test/suite/innodb/t/innodb_max_recordsize_32k.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb_max_recordsize_32k.test400
-rw-r--r--mysql-test/suite/innodb/t/innodb_max_recordsize_64k.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb_max_recordsize_64k.test604
-rw-r--r--mysql-test/suite/innodb/t/innodb_monitor.test387
-rw-r--r--mysql-test/suite/innodb/t/innodb_multi_update.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_mutexes-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_mutexes.test66
-rw-r--r--mysql-test/suite/innodb/t/innodb_mysql.test517
-rw-r--r--mysql-test/suite/innodb/t/innodb_simulate_comp_failures-master.opt2
-rw-r--r--mysql-test/suite/innodb/t/innodb_simulate_comp_failures.test4
-rw-r--r--mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.opt67
-rw-r--r--mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.test36
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats.test61
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_create_on_corrupted.test49
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_create_table.test66
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_drop_locked.test61
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_fetch.test79
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_fetch_corrupted.test50
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_fetch_nonexistent.test38
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_rename_table.test42
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_rename_table_if_exists.test58
-rw-r--r--mysql-test/suite/innodb/t/innodb_sys_semaphore_waits-master.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb_sys_semaphore_waits.test119
-rw-r--r--mysql-test/suite/innodb/t/innodb_uninstall.test12
-rw-r--r--mysql-test/suite/innodb/t/innodb_zip_innochecksum.opt4
-rw-r--r--mysql-test/suite/innodb/t/innodb_zip_innochecksum.test243
-rw-r--r--mysql-test/suite/innodb/t/innodb_zip_innochecksum2.opt4
-rw-r--r--mysql-test/suite/innodb/t/innodb_zip_innochecksum2.test118
-rw-r--r--mysql-test/suite/innodb/t/innodb_zip_innochecksum3.opt2
-rw-r--r--mysql-test/suite/innodb/t/innodb_zip_innochecksum3.test406
-rw-r--r--mysql-test/suite/innodb/t/lock_deleted.test72
-rw-r--r--mysql-test/suite/innodb/t/log_data_file_size.opt2
-rw-r--r--mysql-test/suite/innodb/t/log_data_file_size.test80
-rw-r--r--mysql-test/suite/innodb/t/log_file_size.test222
-rw-r--r--mysql-test/suite/innodb/t/mvcc.test52
-rw-r--r--mysql-test/suite/innodb/t/read_only_recover_committed.test68
-rw-r--r--mysql-test/suite/innodb/t/read_only_recovery.test36
-rw-r--r--mysql-test/suite/innodb/t/recovery_shutdown.test61
-rw-r--r--mysql-test/suite/innodb/t/rename_table.test11
-rw-r--r--mysql-test/suite/innodb/t/restart.test78
-rw-r--r--mysql-test/suite/innodb/t/row_format_redundant.test63
-rw-r--r--mysql-test/suite/innodb/t/row_lock.test11
-rw-r--r--mysql-test/suite/innodb/t/snapshot.test18
-rw-r--r--mysql-test/suite/innodb/t/system_tables.test12
-rw-r--r--mysql-test/suite/innodb/t/table_definition_cache_debug.opt1
-rw-r--r--mysql-test/suite/innodb/t/table_definition_cache_debug.test66
-rw-r--r--mysql-test/suite/innodb/t/table_flags.test192
-rw-r--r--mysql-test/suite/innodb/t/table_index_statistics.test8
-rw-r--r--mysql-test/suite/innodb/t/tmpdir.test68
-rw-r--r--mysql-test/suite/innodb/t/trigger.test47
-rw-r--r--mysql-test/suite/innodb/t/xa_recovery.test22
-rw-r--r--mysql-test/suite/innodb_fts/r/basic.result293
-rw-r--r--mysql-test/suite/innodb_fts/r/concurrent_insert.result8
-rw-r--r--mysql-test/suite/innodb_fts/r/crash_recovery.result78
-rw-r--r--mysql-test/suite/innodb_fts/r/create.result168
-rw-r--r--mysql-test/suite/innodb_fts/r/fts_kill_query.result6
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext.result693
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext2.result244
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext3.result9
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext_cache.result70
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext_distinct.result45
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext_left_join.result102
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext_misc.result195
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext_multi.result38
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext_order_by.result179
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext_update.result24
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext_var.result35
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result229
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb-fts-fic.result190
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb-fts-stopword.result754
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_large_records.result305
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_misc.result1428
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result916
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_multiple_index.result213
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result29
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result229
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_result_cache_limit.result32
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_stopword_charset.result318
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_transaction.result1048
-rw-r--r--mysql-test/suite/innodb_fts/r/misc_debug.result19
-rw-r--r--mysql-test/suite/innodb_fts/r/sync_ddl.result117
-rw-r--r--mysql-test/suite/innodb_fts/t/basic.test257
-rw-r--r--mysql-test/suite/innodb_fts/t/concurrent_insert.test20
-rw-r--r--mysql-test/suite/innodb_fts/t/crash_recovery.test118
-rw-r--r--mysql-test/suite/innodb_fts/t/create.opt1
-rw-r--r--mysql-test/suite/innodb_fts/t/create.test92
-rw-r--r--mysql-test/suite/innodb_fts/t/fts_kill_query.test30
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext.test719
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext2.test241
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext3.test37
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext_cache.test55
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext_distinct.test48
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext_left_join.test133
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext_misc.test214
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext_multi.test41
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext_order_by.test167
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext_update.test34
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext_var.test48
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test272
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb-fts-fic.test231
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb-fts-stopword.opt1
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb-fts-stopword.test670
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_large_records.test381
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_misc.test1332
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test910
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_multiple_index.test174
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test45
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_proximity.test267
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_result_cache_limit.test52
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_stopword_charset.test408
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test1041
-rw-r--r--mysql-test/suite/innodb_fts/t/misc_debug.test41
-rw-r--r--mysql-test/suite/innodb_fts/t/sync_ddl.test177
-rw-r--r--mysql-test/suite/innodb_zip/r/innodb-create-options.result265
-rw-r--r--mysql-test/suite/innodb_zip/r/innodb-zip.result272
-rw-r--r--mysql-test/suite/innodb_zip/r/innodb_bug52745.result2
-rw-r--r--mysql-test/suite/innodb_zip/r/innodb_bug53591.result7
-rw-r--r--mysql-test/suite/innodb_zip/r/innodb_index_large_prefix.result390
-rw-r--r--mysql-test/suite/innodb_zip/r/innodb_prefix_index_liftedlimit.result53
-rw-r--r--mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result566
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb-create-options.test140
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb-zip.test167
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb_bug36169.test2
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb_bug36172.test2
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb_bug52745.test2
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb_bug53591.test6
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb_bug56680.test2
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb_cmp_drop_table.test4
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb_index_large_prefix.test310
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb_prefix_index_liftedlimit.test120
-rw-r--r--mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test747
-rw-r--r--mysql-test/suite/jp/disabled.def2
-rw-r--r--mysql-test/suite/jp/r/jp_alter_sjis.result72
-rw-r--r--mysql-test/suite/jp/r/jp_alter_ucs2.result72
-rw-r--r--mysql-test/suite/jp/r/jp_alter_ujis.result72
-rw-r--r--mysql-test/suite/jp/r/jp_alter_utf8.result72
-rw-r--r--mysql-test/suite/jp/r/jp_convert_ucs2.result24
-rw-r--r--mysql-test/suite/jp/r/jp_convert_ujis.result96
-rw-r--r--mysql-test/suite/jp/r/jp_convert_utf8.result114
-rw-r--r--mysql-test/suite/jp/r/jp_create_db_sjis.result6
-rw-r--r--mysql-test/suite/jp/r/jp_create_db_ucs2.result6
-rw-r--r--mysql-test/suite/jp/r/jp_create_db_ujis.result6
-rw-r--r--mysql-test/suite/jp/r/jp_create_db_utf8.result6
-rw-r--r--mysql-test/suite/manual/r/rpl_replication_delay.result25
-rw-r--r--mysql-test/suite/manual/t/rpl_replication_delay-slave.opt1
-rw-r--r--mysql-test/suite/manual/t/rpl_replication_delay.test63
-rw-r--r--mysql-test/suite/maria/alter.result18
-rw-r--r--mysql-test/suite/maria/alter.test17
-rw-r--r--mysql-test/suite/maria/collations.result25
-rw-r--r--mysql-test/suite/maria/collations.test14
-rw-r--r--mysql-test/suite/maria/concurrent.result28
-rw-r--r--mysql-test/suite/maria/concurrent.test28
-rw-r--r--mysql-test/suite/maria/create.result33
-rw-r--r--mysql-test/suite/maria/create.test42
-rw-r--r--mysql-test/suite/maria/encrypt-wrong-key.result16
-rw-r--r--mysql-test/suite/maria/encrypt-wrong-key.test54
-rw-r--r--mysql-test/suite/maria/icp.result25
-rw-r--r--mysql-test/suite/maria/insert_select-7314.result17
-rw-r--r--mysql-test/suite/maria/insert_select-7314.test27
-rw-r--r--mysql-test/suite/maria/lock.result14
-rw-r--r--mysql-test/suite/maria/lock.test12
-rw-r--r--mysql-test/suite/maria/maria-connect.result7
-rw-r--r--mysql-test/suite/maria/maria-gis-rtree-dynamic.result2
-rw-r--r--mysql-test/suite/maria/maria-gis-rtree-trans.result2
-rw-r--r--mysql-test/suite/maria/maria-gis-rtree.result2
-rw-r--r--mysql-test/suite/maria/maria-page-checksum.result108
-rw-r--r--mysql-test/suite/maria/maria-page-checksum.test108
-rw-r--r--mysql-test/suite/maria/maria-partitioning.result4
-rw-r--r--mysql-test/suite/maria/maria-preload.result28
-rw-r--r--mysql-test/suite/maria/maria-recovery2-master.opt2
-rw-r--r--mysql-test/suite/maria/maria-recovery2.result2
-rw-r--r--mysql-test/suite/maria/maria-recovery2.test2
-rw-r--r--mysql-test/suite/maria/maria-recovery3.result2
-rw-r--r--mysql-test/suite/maria/maria-ucs2.result1
-rw-r--r--mysql-test/suite/maria/maria.result86
-rw-r--r--mysql-test/suite/maria/maria.test87
-rw-r--r--mysql-test/suite/maria/maria2.result10
-rw-r--r--mysql-test/suite/maria/maria3.result8
-rw-r--r--mysql-test/suite/maria/maria3.test2
-rw-r--r--mysql-test/suite/maria/max_length.result4
-rw-r--r--mysql-test/suite/maria/ps_maria.result45
-rw-r--r--mysql-test/suite/maria/repair.result24
-rw-r--r--mysql-test/suite/maria/repair.test24
-rw-r--r--mysql-test/suite/maria/small_blocksize.result2
-rw-r--r--mysql-test/suite/mariabackup/absolute_ibdata_paths.opt1
-rw-r--r--mysql-test/suite/mariabackup/absolute_ibdata_paths.result10
-rw-r--r--mysql-test/suite/mariabackup/absolute_ibdata_paths.test51
-rw-r--r--mysql-test/suite/mariabackup/apply-log-only-incr.result33
-rw-r--r--mysql-test/suite/mariabackup/apply-log-only-incr.test70
-rw-r--r--mysql-test/suite/mariabackup/apply-log-only.result10
-rw-r--r--mysql-test/suite/mariabackup/apply-log-only.test25
-rw-r--r--mysql-test/suite/mariabackup/auth_plugin_win.opt1
-rw-r--r--mysql-test/suite/mariabackup/auth_plugin_win.result5
-rw-r--r--mysql-test/suite/mariabackup/auth_plugin_win.test31
-rw-r--r--mysql-test/suite/mariabackup/backup_ssl.result9
-rw-r--r--mysql-test/suite/mariabackup/backup_ssl.test16
-rw-r--r--mysql-test/suite/mariabackup/bug1509812-master.opt1
-rw-r--r--mysql-test/suite/mariabackup/compress_qpress.result15
-rw-r--r--mysql-test/suite/mariabackup/compress_qpress.test24
-rw-r--r--mysql-test/suite/mariabackup/data_directory.result13
-rw-r--r--mysql-test/suite/mariabackup/data_directory.test23
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_compressed.opt6
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_compressed.result6
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_compressed.test47
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_corruption.opt6
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_corruption.result7
-rw-r--r--mysql-test/suite/mariabackup/encrypted_page_corruption.test79
-rw-r--r--mysql-test/suite/mariabackup/filekeys-data.encbin0 -> 416 bytes
-rw-r--r--mysql-test/suite/mariabackup/filekeys-data.key2
-rw-r--r--mysql-test/suite/mariabackup/full_backup.result13
-rw-r--r--mysql-test/suite/mariabackup/full_backup.test22
-rw-r--r--mysql-test/suite/mariabackup/huge_lsn.opt10
-rw-r--r--mysql-test/suite/mariabackup/huge_lsn.result19
-rw-r--r--mysql-test/suite/mariabackup/huge_lsn.test54
-rw-r--r--mysql-test/suite/mariabackup/include/have_file_key_management.inc4
-rw-r--r--mysql-test/suite/mariabackup/include/restart_and_restore.inc9
-rw-r--r--mysql-test/suite/mariabackup/incremental_backup.result26
-rw-r--r--mysql-test/suite/mariabackup/incremental_backup.test43
-rw-r--r--mysql-test/suite/mariabackup/incremental_encrypted.opt3
-rw-r--r--mysql-test/suite/mariabackup/incremental_encrypted.result20
-rw-r--r--mysql-test/suite/mariabackup/incremental_encrypted.test40
-rw-r--r--mysql-test/suite/mariabackup/mdev-14447.opt1
-rw-r--r--mysql-test/suite/mariabackup/mdev-14447.result19
-rw-r--r--mysql-test/suite/mariabackup/mdev-14447.test46
-rw-r--r--mysql-test/suite/mariabackup/missing_ibd.result6
-rw-r--r--mysql-test/suite/mariabackup/missing_ibd.test27
-rw-r--r--mysql-test/suite/mariabackup/page_compression_level.result14
-rw-r--r--mysql-test/suite/mariabackup/page_compression_level.test31
-rw-r--r--mysql-test/suite/mariabackup/partial.result13
-rw-r--r--mysql-test/suite/mariabackup/partial.test31
-rw-r--r--mysql-test/suite/mariabackup/partial_exclude.result12
-rw-r--r--mysql-test/suite/mariabackup/partial_exclude.test30
-rw-r--r--mysql-test/suite/mariabackup/partition_datadir.opt1
-rw-r--r--mysql-test/suite/mariabackup/partition_datadir.result22
-rw-r--r--mysql-test/suite/mariabackup/partition_datadir.test24
-rw-r--r--mysql-test/suite/mariabackup/small_ibd.result1
-rw-r--r--mysql-test/suite/mariabackup/small_ibd.test18
-rw-r--r--mysql-test/suite/mariabackup/suite.opt1
-rw-r--r--mysql-test/suite/mariabackup/suite.pm37
-rw-r--r--mysql-test/suite/mariabackup/undo_space_id.opt2
-rw-r--r--mysql-test/suite/mariabackup/undo_space_id.result13
-rw-r--r--mysql-test/suite/mariabackup/undo_space_id.test25
-rw-r--r--mysql-test/suite/mariabackup/unencrypted_page_compressed.result6
-rw-r--r--mysql-test/suite/mariabackup/unencrypted_page_compressed.test46
-rw-r--r--mysql-test/suite/mariabackup/xb_aws_key_management.opt3
-rw-r--r--mysql-test/suite/mariabackup/xb_aws_key_management.result16
-rw-r--r--mysql-test/suite/mariabackup/xb_aws_key_management.test18
-rw-r--r--mysql-test/suite/mariabackup/xb_compressed_encrypted.opt9
-rw-r--r--mysql-test/suite/mariabackup/xb_compressed_encrypted.result25
-rw-r--r--mysql-test/suite/mariabackup/xb_compressed_encrypted.test35
-rw-r--r--mysql-test/suite/mariabackup/xb_file_key_management.opt6
-rw-r--r--mysql-test/suite/mariabackup/xb_file_key_management.result17
-rw-r--r--mysql-test/suite/mariabackup/xb_file_key_management.test39
-rw-r--r--mysql-test/suite/mariabackup/xb_fulltext_encrypted.opt8
-rw-r--r--mysql-test/suite/mariabackup/xb_fulltext_encrypted.result14
-rw-r--r--mysql-test/suite/mariabackup/xb_fulltext_encrypted.test23
-rw-r--r--mysql-test/suite/mariabackup/xb_history.result5
-rw-r--r--mysql-test/suite/mariabackup/xb_history.test8
-rw-r--r--mysql-test/suite/mariabackup/xb_page_compress.result28
-rw-r--r--mysql-test/suite/mariabackup/xb_page_compress.test44
-rw-r--r--mysql-test/suite/mariabackup/xb_partition.result64
-rw-r--r--mysql-test/suite/mariabackup/xb_partition.test87
-rw-r--r--mysql-test/suite/mariabackup/xbstream.result13
-rw-r--r--mysql-test/suite/mariabackup/xbstream.test22
-rw-r--r--mysql-test/suite/multi_source/gtid.cnf24
-rw-r--r--mysql-test/suite/multi_source/gtid.result99
-rw-r--r--mysql-test/suite/multi_source/gtid.test171
-rw-r--r--mysql-test/suite/multi_source/gtid_ignore_duplicates.cnf28
-rw-r--r--mysql-test/suite/multi_source/gtid_ignore_duplicates.result451
-rw-r--r--mysql-test/suite/multi_source/gtid_ignore_duplicates.test450
-rw-r--r--mysql-test/suite/multi_source/info_logs-master.opt1
-rw-r--r--mysql-test/suite/multi_source/info_logs.result115
-rw-r--r--mysql-test/suite/multi_source/info_logs.test200
-rw-r--r--mysql-test/suite/multi_source/load_data.result30
-rw-r--r--mysql-test/suite/multi_source/load_data.test71
-rw-r--r--mysql-test/suite/multi_source/mdev-9544.cnf22
-rw-r--r--mysql-test/suite/multi_source/mdev-9544.result78
-rw-r--r--mysql-test/suite/multi_source/mdev-9544.test116
-rw-r--r--mysql-test/suite/multi_source/multisource.result205
-rw-r--r--mysql-test/suite/multi_source/multisource.test1
-rw-r--r--mysql-test/suite/multi_source/my.cnf26
-rw-r--r--mysql-test/suite/multi_source/relaylog_events.result30
-rw-r--r--mysql-test/suite/multi_source/relaylog_events.test53
-rw-r--r--mysql-test/suite/multi_source/reset_slave.result28
-rw-r--r--mysql-test/suite/multi_source/reset_slave.test73
-rw-r--r--mysql-test/suite/multi_source/simple.result84
-rw-r--r--mysql-test/suite/multi_source/simple.test86
-rw-r--r--mysql-test/suite/multi_source/skip_counter.result117
-rw-r--r--mysql-test/suite/multi_source/skip_counter.test149
-rw-r--r--mysql-test/suite/multi_source/status_vars.result97
-rw-r--r--mysql-test/suite/multi_source/status_vars.test139
-rw-r--r--mysql-test/suite/multi_source/syntax.result83
-rw-r--r--mysql-test/suite/multi_source/syntax.test75
-rw-r--r--mysql-test/suite/ndb/r/ndb_restore_discover.result33
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore_discover.test70
-rw-r--r--mysql-test/suite/optimizer_unfixed_bugs/r/bug41029.result2
-rw-r--r--mysql-test/suite/optimizer_unfixed_bugs/r/bug41996.result2
-rw-r--r--mysql-test/suite/optimizer_unfixed_bugs/r/bug42991.result6
-rw-r--r--mysql-test/suite/optimizer_unfixed_bugs/r/bug45221.result44
-rw-r--r--mysql-test/suite/optimizer_unfixed_bugs/t/bug45221.test38
-rw-r--r--mysql-test/suite/oqgraph/r/basic.result63
-rw-r--r--mysql-test/suite/oqgraph/r/binlog.result18
-rw-r--r--mysql-test/suite/oqgraph/suite.opt1
-rw-r--r--mysql-test/suite/oqgraph/suite.pm9
-rw-r--r--mysql-test/suite/oqgraph/t/basic.test43
-rw-r--r--mysql-test/suite/oqgraph/t/binlog.test27
-rw-r--r--mysql-test/suite/parts/disabled.def4
-rw-r--r--mysql-test/suite/parts/inc/part_alter_values.inc23
-rw-r--r--mysql-test/suite/parts/inc/part_exch_drop_tabs.inc12
-rw-r--r--mysql-test/suite/parts/inc/part_exch_qa.inc148
-rw-r--r--mysql-test/suite/parts/inc/part_exch_qa_1.inc62
-rw-r--r--mysql-test/suite/parts/inc/part_exch_qa_13.inc202
-rw-r--r--mysql-test/suite/parts/inc/part_exch_qa_4.inc45
-rw-r--r--mysql-test/suite/parts/inc/part_exch_qa_5.inc89
-rw-r--r--mysql-test/suite/parts/inc/part_exch_qa_7.inc63
-rw-r--r--mysql-test/suite/parts/inc/part_exch_qa_8.inc71
-rw-r--r--mysql-test/suite/parts/inc/part_exch_tabs.inc86
-rw-r--r--mysql-test/suite/parts/inc/partition.pre41
-rw-r--r--mysql-test/suite/parts/inc/partition_alter3.inc2
-rw-r--r--mysql-test/suite/parts/inc/partition_auto_increment.inc5
-rw-r--r--mysql-test/suite/parts/inc/partition_binary.inc3
-rw-r--r--mysql-test/suite/parts/inc/partition_char.inc3
-rw-r--r--mysql-test/suite/parts/inc/partition_check.inc7
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_exchange.inc29
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_t2.inc12
-rw-r--r--mysql-test/suite/parts/inc/partition_enum.inc3
-rw-r--r--mysql-test/suite/parts/inc/partition_exchange.inc361
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_exchange.inc27
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_t2.inc31
-rw-r--r--mysql-test/suite/parts/inc/partition_mgm.inc35
-rw-r--r--mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc2
-rw-r--r--mysql-test/suite/parts/inc/partition_syntax_2.inc22
-rw-r--r--mysql-test/suite/parts/inc/partition_timestamp.inc4
-rw-r--r--mysql-test/suite/parts/inc/partition_trigg3.inc2
-rw-r--r--mysql-test/suite/parts/inc/partition_value.inc6
-rw-r--r--mysql-test/suite/parts/inc/partition_varbinary.inc3
-rw-r--r--mysql-test/suite/parts/inc/partition_varchar.inc3
-rw-r--r--mysql-test/suite/parts/r/alter_data_directory_innodb.result65
-rw-r--r--mysql-test/suite/parts/r/longname.result13
-rw-r--r--mysql-test/suite/parts/r/part_ctype_utf32.result2
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result298
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result138
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_1_innodb.result266
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_1_myisam.result170
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_2_innodb.result458
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_2_myisam.result266
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result282
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result282
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_1_maria.result250
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_1_myisam.result250
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result282
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result282
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_2_maria.result250
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_2_myisam.result250
-rw-r--r--mysql-test/suite/parts/r/partition_alter3_innodb.result162
-rw-r--r--mysql-test/suite/parts/r/partition_alter3_myisam.result68
-rw-r--r--mysql-test/suite/parts/r/partition_alter4_innodb.result1610
-rw-r--r--mysql-test/suite/parts/r/partition_alter4_myisam.result1610
-rw-r--r--mysql-test/suite/parts/r/partition_alter_innodb.result20
-rw-r--r--mysql-test/suite/parts/r/partition_alter_maria.result15
-rw-r--r--mysql-test/suite/parts/r/partition_alter_myisam.result28
-rw-r--r--mysql-test/suite/parts/r/partition_auto_increment_blackhole.result2
-rw-r--r--mysql-test/suite/parts/r/partition_auto_increment_max.result7
-rw-r--r--mysql-test/suite/parts/r/partition_basic_innodb.result826
-rw-r--r--mysql-test/suite/parts/r/partition_basic_myisam.result266
-rw-r--r--mysql-test/suite/parts/r/partition_basic_symlink_innodb.result316
-rw-r--r--mysql-test/suite/parts/r/partition_basic_symlink_myisam.result322
-rw-r--r--mysql-test/suite/parts/r/partition_bit_innodb.result18
-rw-r--r--mysql-test/suite/parts/r/partition_bit_myisam.result18
-rw-r--r--mysql-test/suite/parts/r/partition_char_innodb.resultbin50278 -> 50278 bytes
-rw-r--r--mysql-test/suite/parts/r/partition_char_myisam.resultbin50278 -> 50278 bytes
-rw-r--r--mysql-test/suite/parts/r/partition_datetime_innodb.result4
-rw-r--r--mysql-test/suite/parts/r/partition_datetime_myisam.result4
-rw-r--r--mysql-test/suite/parts/r/partition_debug.result1948
-rw-r--r--mysql-test/suite/parts/r/partition_debug_innodb.result1918
-rw-r--r--mysql-test/suite/parts/r/partition_debug_myisam.result17
-rw-r--r--mysql-test/suite/parts/r/partition_engine_innodb.result122
-rw-r--r--mysql-test/suite/parts/r/partition_engine_myisam.result122
-rw-r--r--mysql-test/suite/parts/r/partition_exch_innodb.result355
-rw-r--r--mysql-test/suite/parts/r/partition_exch_myisam.result355
-rw-r--r--mysql-test/suite/parts/r/partition_exch_myisam_innodb.result69
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa.result355
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_10.result70
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_11.result56
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_12.result123
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_13.result203
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_14.result349
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_15.result74
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_1_innodb.result171
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_1_myisam.result171
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_2.result193
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_3.result172
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_4_innodb.result76
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_4_myisam.result76
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_5_innodb.result114
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_5_myisam.result114
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_6.result146
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_7_innodb.result82
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_7_myisam.result82
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_8_innodb.result83
-rw-r--r--mysql-test/suite/parts/r/partition_exch_qa_8_myisam.result83
-rw-r--r--mysql-test/suite/parts/r/partition_exchange_archive.result322
-rw-r--r--mysql-test/suite/parts/r/partition_exchange_blackhole.result10
-rw-r--r--mysql-test/suite/parts/r/partition_exchange_innodb.result374
-rw-r--r--mysql-test/suite/parts/r/partition_exchange_memory.result374
-rw-r--r--mysql-test/suite/parts/r/partition_exchange_myisam.result374
-rw-r--r--mysql-test/suite/parts/r/partition_mdev6067.result22
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc0_archive.result82
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result82
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc0_memory.result82
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result82
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc1_archive.result82
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result82
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc1_memory.result82
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result82
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc2_archive.result82
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result90
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc2_memory.result90
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result90
-rw-r--r--mysql-test/suite/parts/r/partition_repair_myisam.result85
-rw-r--r--mysql-test/suite/parts/r/partition_special_innodb.result2
-rw-r--r--mysql-test/suite/parts/r/partition_special_myisam.result2
-rw-r--r--mysql-test/suite/parts/r/partition_syntax_innodb.result590
-rw-r--r--mysql-test/suite/parts/r/partition_syntax_myisam.result590
-rw-r--r--mysql-test/suite/parts/r/truncate_locked.result7
-rw-r--r--mysql-test/suite/parts/t/alter_data_directory_innodb.test46
-rw-r--r--mysql-test/suite/parts/t/longname.test3
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_1_innodb.test2
-rw-r--r--mysql-test/suite/parts/t/partition_alter_myisam.test20
-rw-r--r--mysql-test/suite/parts/t/partition_auto_increment_max.test12
-rw-r--r--mysql-test/suite/parts/t/partition_basic_innodb.test12
-rw-r--r--mysql-test/suite/parts/t/partition_basic_symlink_innodb.test337
-rw-r--r--mysql-test/suite/parts/t/partition_debug.test51
-rw-r--r--mysql-test/suite/parts/t/partition_debug_innodb-master.opt2
-rw-r--r--mysql-test/suite/parts/t/partition_debug_innodb.test31
-rw-r--r--mysql-test/suite/parts/t/partition_debug_myisam-master.opt2
-rw-r--r--mysql-test/suite/parts/t/partition_exch_innodb.test12
-rw-r--r--mysql-test/suite/parts/t/partition_exch_myisam.test11
-rw-r--r--mysql-test/suite/parts/t/partition_exch_myisam_innodb.test17
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa.test11
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_10.test69
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_11.test37
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_12.test178
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_13.test11
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_14.test66
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_15.test25
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_1_innodb.test12
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_1_myisam.test11
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_2.test69
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_3.test43
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_4_innodb.test12
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_4_myisam.test11
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_5_innodb.test12
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_5_myisam.test11
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_6.test84
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_7_innodb.test12
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_7_myisam.test11
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_8_innodb.test12
-rw-r--r--mysql-test/suite/parts/t/partition_exch_qa_8_myisam.test11
-rw-r--r--mysql-test/suite/parts/t/partition_exchange_archive.test11
-rw-r--r--mysql-test/suite/parts/t/partition_exchange_blackhole.test18
-rw-r--r--mysql-test/suite/parts/t/partition_exchange_innodb.test6
-rw-r--r--mysql-test/suite/parts/t/partition_exchange_memory.test5
-rw-r--r--mysql-test/suite/parts/t/partition_exchange_myisam.test5
-rw-r--r--mysql-test/suite/parts/t/partition_recover_myisam-master.opt2
-rw-r--r--mysql-test/suite/parts/t/partition_repair_myisam-master.opt2
-rw-r--r--mysql-test/suite/parts/t/partition_repair_myisam.test63
-rw-r--r--mysql-test/suite/parts/t/rpl_partition.test2
-rw-r--r--mysql-test/suite/parts/t/truncate_locked.test10
-rw-r--r--mysql-test/suite/percona/innodb_fix_misc_bug51325.result13
-rw-r--r--mysql-test/suite/percona/innodb_fix_misc_bug51325.test13
-rw-r--r--mysql-test/suite/percona/innodb_sys_index.result3
-rw-r--r--mysql-test/suite/percona/innodb_sys_index.test1
-rw-r--r--mysql-test/suite/percona/percona_flush_contiguous_neighbors-master.opt2
-rw-r--r--mysql-test/suite/percona/percona_innodb_doublewrite_file-master.opt1
-rw-r--r--mysql-test/suite/percona/percona_innodb_doublewrite_file.result4
-rw-r--r--mysql-test/suite/percona/percona_innodb_doublewrite_file.test2
-rw-r--r--mysql-test/suite/percona/percona_innodb_fake_changes.result10
-rw-r--r--mysql-test/suite/percona/percona_innodb_fake_changes.test2
-rw-r--r--mysql-test/suite/percona/percona_innodb_use_sys_stats_table-master.opt1
-rw-r--r--mysql-test/suite/percona/percona_innodb_use_sys_stats_table.result3
-rw-r--r--mysql-test/suite/percona/percona_innodb_use_sys_stats_table.test2
-rw-r--r--mysql-test/suite/percona/percona_xtradb_admin_command.result6
-rw-r--r--mysql-test/suite/percona/percona_xtradb_admin_command.test3
-rw-r--r--mysql-test/suite/perfschema/disabled.def13
-rw-r--r--mysql-test/suite/perfschema/include/binlog_edge_common.inc188
-rw-r--r--mysql-test/suite/perfschema/include/binlog_ok_common.inc146
-rw-r--r--mysql-test/suite/perfschema/include/connection_cleanup.inc27
-rw-r--r--mysql-test/suite/perfschema/include/connection_load.inc245
-rw-r--r--mysql-test/suite/perfschema/include/connection_setup.inc114
-rw-r--r--mysql-test/suite/perfschema/include/digest_cleanup.inc14
-rw-r--r--mysql-test/suite/perfschema/include/digest_execution.inc130
-rw-r--r--mysql-test/suite/perfschema/include/digest_setup.inc24
-rw-r--r--mysql-test/suite/perfschema/include/disable_instruments.inc23
-rw-r--r--mysql-test/suite/perfschema/include/enable_instruments.inc23
-rw-r--r--mysql-test/suite/perfschema/include/event_aggregate_cleanup.inc57
-rw-r--r--mysql-test/suite/perfschema/include/event_aggregate_load.inc907
-rw-r--r--mysql-test/suite/perfschema/include/event_aggregate_setup.inc351
-rw-r--r--mysql-test/suite/perfschema/include/have_aligned_memory.inc13
-rw-r--r--mysql-test/suite/perfschema/include/hostcache_dump.inc39
-rw-r--r--mysql-test/suite/perfschema/include/hostcache_set_state.inc23
-rw-r--r--mysql-test/suite/perfschema/include/pfs_no_running_event_scheduler.inc10
-rw-r--r--mysql-test/suite/perfschema/include/pfs_running_event_scheduler.inc10
-rw-r--r--mysql-test/suite/perfschema/include/pfs_upgrade.inc112
-rw-r--r--mysql-test/suite/perfschema/include/rpl_statements_truncate.inc15
-rw-r--r--mysql-test/suite/perfschema/include/schema.inc61
-rw-r--r--mysql-test/suite/perfschema/include/sizing_auto.inc24
-rw-r--r--mysql-test/suite/perfschema/include/socket_check1.inc129
-rw-r--r--mysql-test/suite/perfschema/include/socket_event.inc236
-rw-r--r--mysql-test/suite/perfschema/include/socket_event_dbg.inc130
-rw-r--r--mysql-test/suite/perfschema/include/socket_ipv6.inc113
-rw-r--r--mysql-test/suite/perfschema/include/socket_summary_check.inc227
-rw-r--r--mysql-test/suite/perfschema/include/socket_summary_check_dbg.inc236
-rw-r--r--mysql-test/suite/perfschema/include/stage_cleanup.inc31
-rw-r--r--mysql-test/suite/perfschema/include/stage_setup.inc138
-rw-r--r--mysql-test/suite/perfschema/include/start_server_common.inc44
-rw-r--r--mysql-test/suite/perfschema/include/table_aggregate_cleanup.inc53
-rw-r--r--mysql-test/suite/perfschema/include/table_aggregate_load.inc514
-rw-r--r--mysql-test/suite/perfschema/include/table_aggregate_setup.inc271
-rw-r--r--mysql-test/suite/perfschema/include/table_io_basic_dml.inc36
-rw-r--r--mysql-test/suite/perfschema/include/table_io_cleanup_helper.inc10
-rw-r--r--mysql-test/suite/perfschema/include/table_io_result_helper.inc23
-rw-r--r--mysql-test/suite/perfschema/include/table_io_setup_helper.inc58
-rw-r--r--mysql-test/suite/perfschema/include/upgrade_check.inc14
-rw-r--r--mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc20
-rw-r--r--mysql-test/suite/perfschema/include/wait_till_sleep.inc19
-rw-r--r--mysql-test/suite/perfschema/r/all_instances.result162
-rw-r--r--mysql-test/suite/perfschema/r/all_tests.result21
-rw-r--r--mysql-test/suite/perfschema/r/bad_option_2.result2
-rw-r--r--mysql-test/suite/perfschema/r/binlog_edge_mix.result178
-rw-r--r--mysql-test/suite/perfschema/r/binlog_edge_row.result183
-rw-r--r--mysql-test/suite/perfschema/r/binlog_edge_stmt.result258
-rw-r--r--mysql-test/suite/perfschema/r/binlog_mix.result16
-rw-r--r--mysql-test/suite/perfschema/r/binlog_ok_mix.result119
-rw-r--r--mysql-test/suite/perfschema/r/binlog_ok_row.result119
-rw-r--r--mysql-test/suite/perfschema/r/binlog_ok_stmt.result119
-rw-r--r--mysql-test/suite/perfschema/r/binlog_row.result16
-rw-r--r--mysql-test/suite/perfschema/r/binlog_stmt.result28
-rw-r--r--mysql-test/suite/perfschema/r/checksum.result56
-rw-r--r--mysql-test/suite/perfschema/r/column_privilege.result5
-rw-r--r--mysql-test/suite/perfschema/r/connect_attrs.result52
-rw-r--r--mysql-test/suite/perfschema/r/connection.result875
-rw-r--r--mysql-test/suite/perfschema/r/connection_3a.result820
-rw-r--r--mysql-test/suite/perfschema/r/connection_3a_3u.result762
-rw-r--r--mysql-test/suite/perfschema/r/connection_3u.result817
-rw-r--r--mysql-test/suite/perfschema/r/csv_table_io.result139
-rw-r--r--mysql-test/suite/perfschema/r/ddl_accounts.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esgs_by_account_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esgs_by_host_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esgs_by_thread_by_event_name.result9
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esgs_by_user_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esgs_global_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esms_by_account_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esms_by_digest.result9
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esms_by_host_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esms_by_thread_by_event_name.result9
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esms_by_user_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_esms_global_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_events_stages_current.result7
-rw-r--r--mysql-test/suite/perfschema/r/ddl_events_stages_history.result7
-rw-r--r--mysql-test/suite/perfschema/r/ddl_events_stages_history_long.result7
-rw-r--r--mysql-test/suite/perfschema/r/ddl_events_statements_current.result7
-rw-r--r--mysql-test/suite/perfschema/r/ddl_events_statements_history.result7
-rw-r--r--mysql-test/suite/perfschema/r/ddl_events_statements_history_long.result7
-rw-r--r--mysql-test/suite/perfschema/r/ddl_ews_by_account_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_ews_by_host_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_ews_by_user_by_event_name.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_host_cache.result7
-rw-r--r--mysql-test/suite/perfschema/r/ddl_hosts.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_os_global_by_type.result10
-rw-r--r--mysql-test/suite/perfschema/r/ddl_session_account_connect_attrs.result9
-rw-r--r--mysql-test/suite/perfschema/r/ddl_session_connect_attrs.result9
-rw-r--r--mysql-test/suite/perfschema/r/ddl_setup_actors.result16
-rw-r--r--mysql-test/suite/perfschema/r/ddl_setup_objects.result16
-rw-r--r--mysql-test/suite/perfschema/r/ddl_socket_instances.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_socket_summary_by_event_name.result7
-rw-r--r--mysql-test/suite/perfschema/r/ddl_socket_summary_by_instance.result7
-rw-r--r--mysql-test/suite/perfschema/r/ddl_threads.result4
-rw-r--r--mysql-test/suite/perfschema/r/ddl_tiws_by_index_usage.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_tiws_by_table.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_tlws_by_table.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_users.result8
-rw-r--r--mysql-test/suite/perfschema/r/digest_null_literal.result27
-rw-r--r--mysql-test/suite/perfschema/r/digest_table_full.result134
-rw-r--r--mysql-test/suite/perfschema/r/discovery.result12
-rw-r--r--mysql-test/suite/perfschema/r/dml_accounts.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_cond_instances.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_esgs_by_account_by_event_name.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_esgs_by_host_by_event_name.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_esgs_by_thread_by_event_name.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_esgs_by_user_by_event_name.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_esgs_global_by_event_name.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_esms_by_account_by_event_name.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_esms_by_digest.result27
-rw-r--r--mysql-test/suite/perfschema/r/dml_esms_by_host_by_event_name.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_esms_by_thread_by_event_name.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_esms_by_user_by_event_name.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_esms_global_by_event_name.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_stages_current.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_stages_history.result29
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_stages_history_long.result29
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_statements_current.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_statements_history.result29
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_statements_history_long.result29
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_waits_current.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_waits_history.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_waits_history_long.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_ews_by_account_by_event_name.result29
-rw-r--r--mysql-test/suite/perfschema/r/dml_ews_by_host_by_event_name.result29
-rw-r--r--mysql-test/suite/perfschema/r/dml_ews_by_instance.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_ews_by_user_by_event_name.result29
-rw-r--r--mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_file_instances.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_fs_by_event_name.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_fs_by_instance.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_handler.result168
-rw-r--r--mysql-test/suite/perfschema/r/dml_host_cache.result27
-rw-r--r--mysql-test/suite/perfschema/r/dml_hosts.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_mutex_instances.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_os_global_by_type.result45
-rw-r--r--mysql-test/suite/perfschema/r/dml_performance_timers.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_rwlock_instances.result4
-rw-r--r--mysql-test/suite/perfschema/r/dml_session_account_connect_attrs.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_session_connect_attrs.result25
-rw-r--r--mysql-test/suite/perfschema/r/dml_setup_actors.result60
-rw-r--r--mysql-test/suite/perfschema/r/dml_setup_consumers.result28
-rw-r--r--mysql-test/suite/perfschema/r/dml_setup_instruments.result30
-rw-r--r--mysql-test/suite/perfschema/r/dml_setup_objects.result67
-rw-r--r--mysql-test/suite/perfschema/r/dml_setup_timers.result28
-rw-r--r--mysql-test/suite/perfschema/r/dml_socket_instances.result20
-rw-r--r--mysql-test/suite/perfschema/r/dml_socket_summary_by_event_name.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_socket_summary_by_instance.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_threads.result20
-rw-r--r--mysql-test/suite/perfschema/r/dml_tiws_by_index_usage.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_tiws_by_table.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_tlws_by_table.result26
-rw-r--r--mysql-test/suite/perfschema/r/dml_users.result25
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate.result5242
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_a.result3963
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result3560
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result2632
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result2229
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_h.result4839
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_u.result3911
-rw-r--r--mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result3508
-rw-r--r--mysql-test/suite/perfschema/r/func_file_io.result33
-rw-r--r--mysql-test/suite/perfschema/r/func_mutex.result69
-rw-r--r--mysql-test/suite/perfschema/r/global_read_lock.result7
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_allow.result105
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_deny.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_allow.result105
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_deny.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_allow.result105
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_deny.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_allow.result109
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_deny.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_auth_plugin.result200
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result424
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_format.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_max_con.result659
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_allow.result178
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_deny.result150
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_allow.result105
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_deny.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_passwd.result213
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv4_ssl.result159
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_allow.result105
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_deny.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_allow.result105
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_deny.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_allow.result105
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_deny.result90
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_allow.result109
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_deny.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_auth_plugin.result200
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result424
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_max_con.result659
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_allow.result178
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_deny.result150
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_allow.result105
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_deny.result91
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_passwd.result213
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_ipv6_ssl.result159
-rw-r--r--mysql-test/suite/perfschema/r/hostcache_peer_addr.result69
-rw-r--r--mysql-test/suite/perfschema/r/indexed_table_io.result159
-rw-r--r--mysql-test/suite/perfschema/r/information_schema.result319
-rw-r--r--mysql-test/suite/perfschema/r/innodb_table_io.result140
-rw-r--r--mysql-test/suite/perfschema/r/memory_table_io.result141
-rw-r--r--mysql-test/suite/perfschema/r/merge_table_io.result171
-rw-r--r--mysql-test/suite/perfschema/r/misc.result111
-rw-r--r--mysql-test/suite/perfschema/r/mks_timer-6258.result3
-rw-r--r--mysql-test/suite/perfschema/r/multi_table_io.result102
-rw-r--r--mysql-test/suite/perfschema/r/myisam_file_io.result11
-rw-r--r--mysql-test/suite/perfschema/r/myisam_table_io.result139
-rw-r--r--mysql-test/suite/perfschema/r/nesting.result243
-rw-r--r--mysql-test/suite/perfschema/r/no_threads.result1
-rw-r--r--mysql-test/suite/perfschema/r/ortho_iter.result762
-rw-r--r--mysql-test/suite/perfschema/r/part_table_io.result141
-rw-r--r--mysql-test/suite/perfschema/r/partition.result10
-rw-r--r--mysql-test/suite/perfschema/r/pfs_upgrade.result148
-rw-r--r--mysql-test/suite/perfschema/r/pfs_upgrade_event.result11
-rw-r--r--mysql-test/suite/perfschema/r/pfs_upgrade_func.result9
-rw-r--r--mysql-test/suite/perfschema/r/pfs_upgrade_proc.result9
-rw-r--r--mysql-test/suite/perfschema/r/pfs_upgrade_table.result11
-rw-r--r--mysql-test/suite/perfschema/r/pfs_upgrade_view.result11
-rw-r--r--mysql-test/suite/perfschema/r/privilege.result85
-rw-r--r--mysql-test/suite/perfschema/r/privilege_table_io.result144
-rw-r--r--mysql-test/suite/perfschema/r/read_only.result1
-rw-r--r--mysql-test/suite/perfschema/r/relaylog.result32
-rw-r--r--mysql-test/suite/perfschema/r/rollback_table_io.result83
-rw-r--r--mysql-test/suite/perfschema/r/rpl_gtid_func.result80
-rw-r--r--mysql-test/suite/perfschema/r/rpl_statements.result240
-rw-r--r--mysql-test/suite/perfschema/r/schema.result912
-rw-r--r--mysql-test/suite/perfschema/r/selects.result3
-rw-r--r--mysql-test/suite/perfschema/r/server_init.result26
-rw-r--r--mysql-test/suite/perfschema/r/setup_actors.result140
-rw-r--r--mysql-test/suite/perfschema/r/setup_consumers_defaults.result20
-rw-r--r--mysql-test/suite/perfschema/r/setup_instruments_defaults.result63
-rw-r--r--mysql-test/suite/perfschema/r/setup_objects.result207
-rw-r--r--mysql-test/suite/perfschema/r/short_option_1.result3
-rw-r--r--mysql-test/suite/perfschema/r/sizing_default.result69
-rw-r--r--mysql-test/suite/perfschema/r/sizing_growth.result255
-rw-r--r--mysql-test/suite/perfschema/r/sizing_high.result69
-rw-r--r--mysql-test/suite/perfschema/r/sizing_low.result70
-rw-r--r--mysql-test/suite/perfschema/r/sizing_med.result69
-rw-r--r--mysql-test/suite/perfschema/r/sizing_off.result60
-rw-r--r--mysql-test/suite/perfschema/r/socket_connect.result164
-rw-r--r--mysql-test/suite/perfschema/r/socket_instances_func.result208
-rw-r--r--mysql-test/suite/perfschema/r/socket_instances_func_win.result144
-rw-r--r--mysql-test/suite/perfschema/r/socket_summary_by_event_name_func.result121
-rw-r--r--mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result207
-rw-r--r--mysql-test/suite/perfschema/r/socket_summary_by_instance_func_win.result208
-rw-r--r--mysql-test/suite/perfschema/r/stage_mdl_function.result34
-rw-r--r--mysql-test/suite/perfschema/r/stage_mdl_global.result25
-rw-r--r--mysql-test/suite/perfschema/r/stage_mdl_procedure.result42
-rw-r--r--mysql-test/suite/perfschema/r/stage_mdl_table.result41
-rw-r--r--mysql-test/suite/perfschema/r/start_server_1_digest.result7
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_idle.result126
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_stages.result126
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_statements.result126
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_waits.result126
-rw-r--r--mysql-test/suite/perfschema/r/start_server_innodb.result133
-rw-r--r--mysql-test/suite/perfschema/r/start_server_low_digest.result12
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_account.result118
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_cond_class.result70
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_cond_inst.result70
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_digests.result132
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_file_class.result70
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_file_inst.result70
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_host.result118
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mutex_class.result70
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result68
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result68
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result70
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_setup_actors.result114
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_setup_objects.result114
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_socket_class.result125
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_socket_inst.result128
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_stage_class.result134
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_stages_history.result115
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result115
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_statement_class.result134
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_statements_history.result115
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result115
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_table_hdl.result130
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_table_inst.result130
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_thread_class.result70
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_thread_inst.result68
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_user.result118
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_waits_history.result70
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result70
-rw-r--r--mysql-test/suite/perfschema/r/start_server_nothing.result181
-rw-r--r--mysql-test/suite/perfschema/r/start_server_off.result108
-rw-r--r--mysql-test/suite/perfschema/r/start_server_on.result79
-rw-r--r--mysql-test/suite/perfschema/r/statement_digest.result161
-rw-r--r--mysql-test/suite/perfschema/r/statement_digest_charset.result14
-rw-r--r--mysql-test/suite/perfschema/r/statement_digest_consumers.result176
-rw-r--r--mysql-test/suite/perfschema/r/statement_digest_consumers2.result142
-rw-r--r--mysql-test/suite/perfschema/r/statement_digest_long_query.result12
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result1755
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result1754
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result1755
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result1754
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result1829
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result1866
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result1829
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result1866
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_off.result1754
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result1755
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result1754
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result1755
-rw-r--r--mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result1754
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result1757
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result1756
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result1757
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result1756
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result1793
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result1811
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result1793
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result1811
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result1757
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result1756
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result1757
-rw-r--r--mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result1756
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result1757
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result1756
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result1757
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result1756
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result1793
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result1811
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result1793
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result1811
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result1757
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result1756
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result1757
-rw-r--r--mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result1756
-rw-r--r--mysql-test/suite/perfschema/r/table_name.result156
-rw-r--r--mysql-test/suite/perfschema/r/table_schema.result824
-rw-r--r--mysql-test/suite/perfschema/r/tampered_perfschema_table1.result6
-rw-r--r--mysql-test/suite/perfschema/r/temp_table_io.result112
-rw-r--r--mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff10
-rw-r--r--mysql-test/suite/perfschema/r/threads_innodb.result14
-rw-r--r--mysql-test/suite/perfschema/r/threads_insert_delayed.result19
-rw-r--r--mysql-test/suite/perfschema/r/threads_mysql.result119
-rw-r--r--mysql-test/suite/perfschema/r/trigger_table_io.result199
-rw-r--r--mysql-test/suite/perfschema/r/unary_digest.result47
-rw-r--r--mysql-test/suite/perfschema/r/update_order-3837.result1
-rw-r--r--mysql-test/suite/perfschema/r/view_table_io.result148
-rw-r--r--mysql-test/suite/perfschema/t/all_instances.test31
-rw-r--r--mysql-test/suite/perfschema/t/all_tests.test64
-rw-r--r--mysql-test/suite/perfschema/t/bad_option_2.test25
-rw-r--r--mysql-test/suite/perfschema/t/binlog_edge_mix-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/binlog_edge_mix.test10
-rw-r--r--mysql-test/suite/perfschema/t/binlog_edge_row-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/binlog_edge_row.test10
-rw-r--r--mysql-test/suite/perfschema/t/binlog_edge_stmt-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/binlog_edge_stmt.test10
-rw-r--r--mysql-test/suite/perfschema/t/binlog_ok_mix-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/binlog_ok_mix.test10
-rw-r--r--mysql-test/suite/perfschema/t/binlog_ok_row-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/binlog_ok_row.test10
-rw-r--r--mysql-test/suite/perfschema/t/binlog_ok_stmt-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/binlog_ok_stmt.test10
-rw-r--r--mysql-test/suite/perfschema/t/checksum.test56
-rw-r--r--mysql-test/suite/perfschema/t/column_privilege.test3
-rw-r--r--mysql-test/suite/perfschema/t/connect_attrs.test83
-rw-r--r--mysql-test/suite/perfschema/t/connection.test7
-rw-r--r--mysql-test/suite/perfschema/t/connection_3a-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/connection_3a.test7
-rw-r--r--mysql-test/suite/perfschema/t/connection_3a_3u-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/connection_3a_3u.test7
-rw-r--r--mysql-test/suite/perfschema/t/connection_3u-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/connection_3u.test7
-rw-r--r--mysql-test/suite/perfschema/t/csv_table_io.test28
-rw-r--r--mysql-test/suite/perfschema/t/ddl_accounts.test17
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esgs_by_account_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esgs_by_host_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esgs_by_thread_by_event_name.test18
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esgs_by_user_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esgs_global_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esms_by_account_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esms_by_digest.test33
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esms_by_host_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esms_by_thread_by_event_name.test18
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esms_by_user_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_esms_global_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_events_stages_current.test16
-rw-r--r--mysql-test/suite/perfschema/t/ddl_events_stages_history.test16
-rw-r--r--mysql-test/suite/perfschema/t/ddl_events_stages_history_long.test16
-rw-r--r--mysql-test/suite/perfschema/t/ddl_events_statements_current.test16
-rw-r--r--mysql-test/suite/perfschema/t/ddl_events_statements_history.test16
-rw-r--r--mysql-test/suite/perfschema/t/ddl_events_statements_history_long.test16
-rw-r--r--mysql-test/suite/perfschema/t/ddl_ews_by_account_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_ews_by_host_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_ews_by_user_by_event_name.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_host_cache.test16
-rw-r--r--mysql-test/suite/perfschema/t/ddl_hosts.test17
-rw-r--r--mysql-test/suite/perfschema/t/ddl_os_global_by_type.test19
-rw-r--r--mysql-test/suite/perfschema/t/ddl_session_account_connect_attrs.test15
-rw-r--r--mysql-test/suite/perfschema/t/ddl_session_connect_attrs.test15
-rw-r--r--mysql-test/suite/perfschema/t/ddl_setup_actors.test29
-rw-r--r--mysql-test/suite/perfschema/t/ddl_setup_objects.test29
-rw-r--r--mysql-test/suite/perfschema/t/ddl_socket_instances.test17
-rw-r--r--mysql-test/suite/perfschema/t/ddl_socket_summary_by_event_name.test16
-rw-r--r--mysql-test/suite/perfschema/t/ddl_socket_summary_by_instance.test16
-rw-r--r--mysql-test/suite/perfschema/t/ddl_threads.test4
-rw-r--r--mysql-test/suite/perfschema/t/ddl_tiws_by_index_usage.test17
-rw-r--r--mysql-test/suite/perfschema/t/ddl_tiws_by_table.test17
-rw-r--r--mysql-test/suite/perfschema/t/ddl_tlws_by_table.test17
-rw-r--r--mysql-test/suite/perfschema/t/ddl_users.test17
-rw-r--r--mysql-test/suite/perfschema/t/digest_null_literal.test32
-rw-r--r--mysql-test/suite/perfschema/t/digest_table_full-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/digest_table_full.test32
-rw-r--r--mysql-test/suite/perfschema/t/disabled.def11
-rw-r--r--mysql-test/suite/perfschema/t/discovery.test15
-rw-r--r--mysql-test/suite/perfschema/t/dml_accounts.test41
-rw-r--r--mysql-test/suite/perfschema/t/dml_esgs_by_account_by_event_name.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_esgs_by_host_by_event_name.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_esgs_by_thread_by_event_name.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_esgs_by_user_by_event_name.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_esgs_global_by_event_name.test41
-rw-r--r--mysql-test/suite/perfschema/t/dml_esms_by_account_by_event_name.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_esms_by_digest.test56
-rw-r--r--mysql-test/suite/perfschema/t/dml_esms_by_host_by_event_name.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_esms_by_thread_by_event_name.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_esms_by_user_by_event_name.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_esms_global_by_event_name.test41
-rw-r--r--mysql-test/suite/perfschema/t/dml_events_stages_current.test41
-rw-r--r--mysql-test/suite/perfschema/t/dml_events_stages_history.test47
-rw-r--r--mysql-test/suite/perfschema/t/dml_events_stages_history_long.test47
-rw-r--r--mysql-test/suite/perfschema/t/dml_events_statements_current.test41
-rw-r--r--mysql-test/suite/perfschema/t/dml_events_statements_history.test47
-rw-r--r--mysql-test/suite/perfschema/t/dml_events_statements_history_long.test47
-rw-r--r--mysql-test/suite/perfschema/t/dml_ews_by_account_by_event_name.test41
-rw-r--r--mysql-test/suite/perfschema/t/dml_ews_by_host_by_event_name.test41
-rw-r--r--mysql-test/suite/perfschema/t/dml_ews_by_user_by_event_name.test41
-rw-r--r--mysql-test/suite/perfschema/t/dml_fs_by_event_name.test (renamed from mysql-test/suite/perfschema/t/dml_file_summary_by_event_name.test)0
-rw-r--r--mysql-test/suite/perfschema/t/dml_fs_by_instance.test (renamed from mysql-test/suite/perfschema/t/dml_file_summary_by_instance.test)0
-rw-r--r--mysql-test/suite/perfschema/t/dml_handler.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_host_cache.test43
-rw-r--r--mysql-test/suite/perfschema/t/dml_hosts.test41
-rw-r--r--mysql-test/suite/perfschema/t/dml_os_global_by_type.test57
-rw-r--r--mysql-test/suite/perfschema/t/dml_session_account_connect_attrs.test38
-rw-r--r--mysql-test/suite/perfschema/t/dml_session_connect_attrs.test38
-rw-r--r--mysql-test/suite/perfschema/t/dml_setup_actors.test72
-rw-r--r--mysql-test/suite/perfschema/t/dml_setup_instruments.test18
-rw-r--r--mysql-test/suite/perfschema/t/dml_setup_objects.test93
-rw-r--r--mysql-test/suite/perfschema/t/dml_setup_timers.test23
-rw-r--r--mysql-test/suite/perfschema/t/dml_socket_instances.test35
-rw-r--r--mysql-test/suite/perfschema/t/dml_socket_summary_by_event_name.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_socket_summary_by_instance.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_threads.test20
-rw-r--r--mysql-test/suite/perfschema/t/dml_tiws_by_index_usage.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_tiws_by_table.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_tlws_by_table.test42
-rw-r--r--mysql-test/suite/perfschema/t/dml_users.test41
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate.test6
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_a-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_a.test6
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h-master.opt4
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h.test6
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u-master.opt4
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u.test6
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h-master.opt5
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h.test6
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_h-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_h.test6
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_u-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_u.test6
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h-master.opt4
-rw-r--r--mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h.test6
-rw-r--r--mysql-test/suite/perfschema/t/func_file_io.test42
-rw-r--r--mysql-test/suite/perfschema/t/func_mutex.test33
-rw-r--r--mysql-test/suite/perfschema/t/global_read_lock.test5
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_allow.test52
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_deny.test46
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test54
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_deny.test48
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_allow.test52
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_deny.test46
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_allow.test56
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_deny.test46
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_auth_plugin.test90
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test159
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_format.test45
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_max_con-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_max_con.test262
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_allow.test74
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_deny.test64
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_allow.test52
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_deny.test46
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_passwd.test85
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv4_ssl.test70
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow.test53
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny.test47
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow.test55
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny.test49
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow.test53
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny.test43
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow.test57
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny.test47
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin.test91
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_blocked-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test160
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_max_con-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_max_con.test244
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow.test75
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny.test65
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow.test53
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny.test47
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_passwd-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_passwd.test83
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_ssl-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_ipv6_ssl.test71
-rw-r--r--mysql-test/suite/perfschema/t/hostcache_peer_addr.test48
-rw-r--r--mysql-test/suite/perfschema/t/indexed_table_io.test112
-rw-r--r--mysql-test/suite/perfschema/t/innodb_table_io.test29
-rw-r--r--mysql-test/suite/perfschema/t/memory_table_io.test28
-rw-r--r--mysql-test/suite/perfschema/t/merge_table_io.test46
-rw-r--r--mysql-test/suite/perfschema/t/misc.test154
-rw-r--r--mysql-test/suite/perfschema/t/mks_timer-6258.test6
-rw-r--r--mysql-test/suite/perfschema/t/multi_table_io.test53
-rw-r--r--mysql-test/suite/perfschema/t/myisam_file_io.test2
-rw-r--r--mysql-test/suite/perfschema/t/myisam_table_io.test28
-rw-r--r--mysql-test/suite/perfschema/t/nesting.test190
-rw-r--r--mysql-test/suite/perfschema/t/no_threads-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/no_threads.test2
-rw-r--r--mysql-test/suite/perfschema/t/ortho_iter.test153
-rw-r--r--mysql-test/suite/perfschema/t/part_table_io.test30
-rw-r--r--mysql-test/suite/perfschema/t/partition.test15
-rw-r--r--mysql-test/suite/perfschema/t/pfs_upgrade.test116
-rw-r--r--mysql-test/suite/perfschema/t/pfs_upgrade_event.test24
-rw-r--r--mysql-test/suite/perfschema/t/pfs_upgrade_func.test24
-rw-r--r--mysql-test/suite/perfschema/t/pfs_upgrade_proc.test24
-rw-r--r--mysql-test/suite/perfschema/t/pfs_upgrade_table.test30
-rw-r--r--mysql-test/suite/perfschema/t/pfs_upgrade_view.test30
-rw-r--r--mysql-test/suite/perfschema/t/privilege.test3
-rw-r--r--mysql-test/suite/perfschema/t/privilege_table_io.test52
-rw-r--r--mysql-test/suite/perfschema/t/query_cache-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/read_only.test1
-rw-r--r--mysql-test/suite/perfschema/t/relaylog.test7
-rw-r--r--mysql-test/suite/perfschema/t/rollback_table_io.test48
-rw-r--r--mysql-test/suite/perfschema/t/rpl_gtid_func.test92
-rw-r--r--mysql-test/suite/perfschema/t/rpl_statements.test339
-rw-r--r--mysql-test/suite/perfschema/t/schema.test27
-rw-r--r--mysql-test/suite/perfschema/t/selects.test9
-rw-r--r--mysql-test/suite/perfschema/t/server_init.test18
-rw-r--r--mysql-test/suite/perfschema/t/setup_actors.test251
-rw-r--r--mysql-test/suite/perfschema/t/setup_consumers_defaults-master.opt11
-rw-r--r--mysql-test/suite/perfschema/t/setup_consumers_defaults.test18
-rw-r--r--mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt29
-rw-r--r--mysql-test/suite/perfschema/t/setup_instruments_defaults.test85
-rw-r--r--mysql-test/suite/perfschema/t/setup_objects.test197
-rw-r--r--mysql-test/suite/perfschema/t/short_option_1-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/short_option_1.test2
-rw-r--r--mysql-test/suite/perfschema/t/sizing_default.cnf37
-rw-r--r--mysql-test/suite/perfschema/t/sizing_default.test31
-rw-r--r--mysql-test/suite/perfschema/t/sizing_growth-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/sizing_growth.test478
-rw-r--r--mysql-test/suite/perfschema/t/sizing_high.cnf56
-rw-r--r--mysql-test/suite/perfschema/t/sizing_high.test9
-rw-r--r--mysql-test/suite/perfschema/t/sizing_low.cnf33
-rw-r--r--mysql-test/suite/perfschema/t/sizing_low.test10
-rw-r--r--mysql-test/suite/perfschema/t/sizing_med.cnf33
-rw-r--r--mysql-test/suite/perfschema/t/sizing_med.test9
-rw-r--r--mysql-test/suite/perfschema/t/sizing_off.cnf38
-rw-r--r--mysql-test/suite/perfschema/t/sizing_off.test8
-rw-r--r--mysql-test/suite/perfschema/t/socket_connect.test293
-rw-r--r--mysql-test/suite/perfschema/t/socket_instances_func-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/socket_instances_func.test447
-rw-r--r--mysql-test/suite/perfschema/t/socket_instances_func_win-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/socket_instances_func_win.test339
-rw-r--r--mysql-test/suite/perfschema/t/socket_summary_by_event_name_func.test333
-rw-r--r--mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test1712
-rw-r--r--mysql-test/suite/perfschema/t/socket_summary_by_instance_func_win.test1722
-rw-r--r--mysql-test/suite/perfschema/t/stage_mdl_function.test63
-rw-r--r--mysql-test/suite/perfschema/t/stage_mdl_global-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/stage_mdl_global.test54
-rw-r--r--mysql-test/suite/perfschema/t/stage_mdl_procedure.test79
-rw-r--r--mysql-test/suite/perfschema/t/stage_mdl_table.test59
-rw-r--r--mysql-test/suite/perfschema/t/start_server_1_digest-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/start_server_1_digest.test15
-rw-r--r--mysql-test/suite/perfschema/t/start_server_disable_idle-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/start_server_disable_idle.test28
-rw-r--r--mysql-test/suite/perfschema/t/start_server_disable_stages-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/start_server_disable_stages.test28
-rw-r--r--mysql-test/suite/perfschema/t/start_server_disable_statements-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/start_server_disable_statements.test28
-rw-r--r--mysql-test/suite/perfschema/t/start_server_disable_waits-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/start_server_disable_waits.test28
-rw-r--r--mysql-test/suite/perfschema/t/start_server_innodb-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/start_server_innodb.test11
-rw-r--r--mysql-test/suite/perfschema/t/start_server_low_digest-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/start_server_low_digest.test21
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_account-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_account.test16
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_cond_class-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_cond_inst-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_digests-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_digests.test32
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_file_class-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_file_inst-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_host-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_host.test16
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_mutex_class-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_mutex_inst-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_rwlock_class-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_rwlock_inst-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_setup_actors-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_setup_actors.test13
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_setup_objects-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_setup_objects.test13
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_socket_class-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_socket_class.test23
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_socket_inst-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_socket_inst.test26
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_stage_class-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_stage_class.test26
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_stages_history-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_stages_history.test14
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_stages_history_long-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_stages_history_long.test14
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_statement_class-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_statement_class.test26
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_statements_history-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_statements_history.test14
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_statements_history_long-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_statements_history_long.test14
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_table_hdl-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_table_hdl.test30
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_table_inst.test30
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_thread_class-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_thread_inst-master.opt3
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_user-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_user.test16
-rw-r--r--mysql-test/suite/perfschema/t/start_server_nothing-master.opt20
-rw-r--r--mysql-test/suite/perfschema/t/start_server_nothing.test30
-rw-r--r--mysql-test/suite/perfschema/t/start_server_off.test38
-rw-r--r--mysql-test/suite/perfschema/t/statement_digest.test23
-rw-r--r--mysql-test/suite/perfschema/t/statement_digest_charset.test36
-rw-r--r--mysql-test/suite/perfschema/t/statement_digest_consumers-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/statement_digest_consumers.test35
-rw-r--r--mysql-test/suite/perfschema/t/statement_digest_consumers2-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/statement_digest_consumers2.test37
-rw-r--r--mysql-test/suite/perfschema/t/statement_digest_long_query-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/statement_digest_long_query.test23
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_global_2u_2t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_global_2u_3t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_global_4u_2t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_global_4u_3t.test17
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_hist_2u_2t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_hist_2u_3t.test17
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_hist_4u_2t.test17
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_hist_4u_3t.test15
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_off.test13
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_thread_2u_2t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_thread_2u_3t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_thread_4u_2t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_aggregate_thread_4u_3t.test17
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_2t.test23
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_3t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_2t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_3t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_2t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_3t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_2t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_3t.test17
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_2t.test23
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_3t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_2t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_3t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t.test23
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t.test17
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t.test23
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test21
-rw-r--r--mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test19
-rw-r--r--mysql-test/suite/perfschema/t/table_name.test166
-rw-r--r--mysql-test/suite/perfschema/t/table_schema.test57
-rw-r--r--mysql-test/suite/perfschema/t/tampered_perfschema_table1-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/tampered_perfschema_table1.test29
-rw-r--r--mysql-test/suite/perfschema/t/temp_table_io.test28
-rw-r--r--mysql-test/suite/perfschema/t/thread_cache-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/thread_cache.test22
-rw-r--r--mysql-test/suite/perfschema/t/threads_innodb.test20
-rw-r--r--mysql-test/suite/perfschema/t/threads_insert_delayed.test40
-rw-r--r--mysql-test/suite/perfschema/t/threads_mysql-master.opt1
-rw-r--r--mysql-test/suite/perfschema/t/threads_mysql.test116
-rw-r--r--mysql-test/suite/perfschema/t/trigger_table_io.test74
-rw-r--r--mysql-test/suite/perfschema/t/unary_digest.test98
-rw-r--r--mysql-test/suite/perfschema/t/update_order-3837.test8
-rw-r--r--mysql-test/suite/perfschema/t/view_table_io.test39
-rw-r--r--mysql-test/suite/plugins/r/audit_null.result11
-rw-r--r--mysql-test/suite/plugins/r/audit_null_debug.result6
-rw-r--r--mysql-test/suite/plugins/r/auth_ed25519.result50
-rw-r--r--mysql-test/suite/plugins/r/auth_v0100.result6
-rw-r--r--mysql-test/suite/plugins/r/binlog-simple_plugin_check.result19
-rw-r--r--mysql-test/suite/plugins/r/cassandra.result636
-rw-r--r--mysql-test/suite/plugins/r/cassandra_qcache.result16
-rw-r--r--mysql-test/suite/plugins/r/cassandra_reinstall.result14
-rw-r--r--mysql-test/suite/plugins/r/cracklib_password_check.result50
-rw-r--r--mysql-test/suite/plugins/r/false_dupes-6543.result5
-rw-r--r--mysql-test/suite/plugins/r/feedback_plugin_load.result9
-rw-r--r--mysql-test/suite/plugins/r/feedback_plugin_send.result9
-rw-r--r--mysql-test/suite/plugins/r/locales.result252
-rw-r--r--mysql-test/suite/plugins/r/pam.result20
-rw-r--r--mysql-test/suite/plugins/r/pam_cleartext.result2
-rw-r--r--mysql-test/suite/plugins/r/processlist.result6
-rw-r--r--mysql-test/suite/plugins/r/qc_info.result27
-rw-r--r--mysql-test/suite/plugins/r/qc_info_priv.result21
-rw-r--r--mysql-test/suite/plugins/r/server_audit.result27
-rw-r--r--mysql-test/suite/plugins/r/show_all_plugins.result36
-rw-r--r--mysql-test/suite/plugins/r/simple_password_check.result160
-rw-r--r--mysql-test/suite/plugins/r/sql_error_log.result10
-rw-r--r--mysql-test/suite/plugins/r/thread_pool_server_audit.result27
-rw-r--r--mysql-test/suite/plugins/r/two_password_validations.result21
-rw-r--r--mysql-test/suite/plugins/r/unix_socket.result1
-rw-r--r--mysql-test/suite/plugins/suite.pm11
-rw-r--r--mysql-test/suite/plugins/t/audit_null.test1
-rw-r--r--mysql-test/suite/plugins/t/audit_null_debug.test7
-rw-r--r--mysql-test/suite/plugins/t/auth_ed25519.test44
-rw-r--r--mysql-test/suite/plugins/t/auth_v0100.test4
-rw-r--r--mysql-test/suite/plugins/t/binlog-simple_plugin_check.test31
-rw-r--r--mysql-test/suite/plugins/t/cassandra.opt1
-rw-r--r--mysql-test/suite/plugins/t/cassandra.test758
-rw-r--r--mysql-test/suite/plugins/t/cassandra_qcache.opt1
-rw-r--r--mysql-test/suite/plugins/t/cassandra_qcache.test59
-rw-r--r--mysql-test/suite/plugins/t/cassandra_reinstall.test16
-rw-r--r--mysql-test/suite/plugins/t/cracklib_password_check.test45
-rw-r--r--mysql-test/suite/plugins/t/false_dupes-6543.test18
-rw-r--r--mysql-test/suite/plugins/t/feedback_plugin_load.opt2
-rw-r--r--mysql-test/suite/plugins/t/feedback_plugin_load.test12
-rw-r--r--mysql-test/suite/plugins/t/locales.opt3
-rw-r--r--mysql-test/suite/plugins/t/locales.test13
-rw-r--r--mysql-test/suite/plugins/t/pam.test24
-rw-r--r--mysql-test/suite/plugins/t/pam_cleartext.test2
-rw-r--r--mysql-test/suite/plugins/t/processlist.test20
-rw-r--r--mysql-test/suite/plugins/t/qc_info.test6
-rw-r--r--mysql-test/suite/plugins/t/qc_info_init.inc23
-rw-r--r--mysql-test/suite/plugins/t/qc_info_init.opt2
-rw-r--r--mysql-test/suite/plugins/t/qc_info_priv.test2
-rw-r--r--mysql-test/suite/plugins/t/show_all_plugins.test29
-rw-r--r--mysql-test/suite/plugins/t/simple_password_check.test120
-rw-r--r--mysql-test/suite/plugins/t/sql_error_log.test18
-rw-r--r--mysql-test/suite/plugins/t/two_password_validations.test38
-rw-r--r--mysql-test/suite/plugins/t/unix_socket.test2
-rw-r--r--mysql-test/suite/roles/acl_load_mutex-5170.result8
-rw-r--r--mysql-test/suite/roles/acl_load_mutex-5170.test24
-rw-r--r--mysql-test/suite/roles/acl_statistics.result106
-rw-r--r--mysql-test/suite/roles/acl_statistics.test66
-rw-r--r--mysql-test/suite/roles/admin.result153
-rw-r--r--mysql-test/suite/roles/admin.test102
-rw-r--r--mysql-test/suite/roles/create_and_drop_current.result34
-rw-r--r--mysql-test/suite/roles/create_and_drop_current.test51
-rw-r--r--mysql-test/suite/roles/create_and_drop_role.result86
-rw-r--r--mysql-test/suite/roles/create_and_drop_role.test109
-rw-r--r--mysql-test/suite/roles/create_and_drop_role_invalid_user_table.result28
-rw-r--r--mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test48
-rw-r--r--mysql-test/suite/roles/create_and_grant_role.result26
-rw-r--r--mysql-test/suite/roles/create_and_grant_role.test21
-rw-r--r--mysql-test/suite/roles/current_role_view-12666.result103
-rw-r--r--mysql-test/suite/roles/current_role_view-12666.test102
-rw-r--r--mysql-test/suite/roles/default_create_user_not_role.result6
-rw-r--r--mysql-test/suite/roles/default_create_user_not_role.test11
-rw-r--r--mysql-test/suite/roles/definer.result742
-rw-r--r--mysql-test/suite/roles/definer.test456
-rw-r--r--mysql-test/suite/roles/drop_current_user-5176.result10
-rw-r--r--mysql-test/suite/roles/drop_current_user-5176.test14
-rw-r--r--mysql-test/suite/roles/drop_routines.result79
-rw-r--r--mysql-test/suite/roles/drop_routines.test69
-rw-r--r--mysql-test/suite/roles/flush_roles-12366.result539
-rw-r--r--mysql-test/suite/roles/flush_roles-12366.test379
-rw-r--r--mysql-test/suite/roles/flush_roles-17898.result40
-rw-r--r--mysql-test/suite/roles/flush_roles-17898.test36
-rw-r--r--mysql-test/suite/roles/grant-5771.result34
-rw-r--r--mysql-test/suite/roles/grant-5771.test32
-rw-r--r--mysql-test/suite/roles/grant_empty.result14
-rw-r--r--mysql-test/suite/roles/grant_empty.test23
-rw-r--r--mysql-test/suite/roles/grant_proxy-5526.result9
-rw-r--r--mysql-test/suite/roles/grant_proxy-5526.test11
-rw-r--r--mysql-test/suite/roles/grant_revoke_current.result42
-rw-r--r--mysql-test/suite/roles/grant_revoke_current.test29
-rw-r--r--mysql-test/suite/roles/grant_role_auto_create_user.result67
-rw-r--r--mysql-test/suite/roles/grant_role_auto_create_user.test123
-rw-r--r--mysql-test/suite/roles/i_s_applicable_roles_is_default.result80
-rw-r--r--mysql-test/suite/roles/i_s_applicable_roles_is_default.test63
-rw-r--r--mysql-test/suite/roles/ip-6401.result13
-rw-r--r--mysql-test/suite/roles/ip-6401.test16
-rw-r--r--mysql-test/suite/roles/none_public.result56
-rw-r--r--mysql-test/suite/roles/none_public.test57
-rw-r--r--mysql-test/suite/roles/password.result35
-rw-r--r--mysql-test/suite/roles/password.test53
-rw-r--r--mysql-test/suite/roles/prepare_stmt_with_role.result107
-rw-r--r--mysql-test/suite/roles/prepare_stmt_with_role.test85
-rw-r--r--mysql-test/suite/roles/ps.result1
-rw-r--r--mysql-test/suite/roles/ps.test4
-rw-r--r--mysql-test/suite/roles/rebuild_role_grants.result64
-rw-r--r--mysql-test/suite/roles/rebuild_role_grants.test69
-rw-r--r--mysql-test/suite/roles/recursive.inc258
-rw-r--r--mysql-test/suite/roles/recursive.result328
-rw-r--r--mysql-test/suite/roles/recursive.test4
-rw-r--r--mysql-test/suite/roles/recursive_dbug.result448
-rw-r--r--mysql-test/suite/roles/recursive_dbug.test14
-rw-r--r--mysql-test/suite/roles/rename_user.result27
-rw-r--r--mysql-test/suite/roles/rename_user.test38
-rw-r--r--mysql-test/suite/roles/revoke_all.result183
-rw-r--r--mysql-test/suite/roles/revoke_all.test103
-rw-r--r--mysql-test/suite/roles/role_case_sensitive-10744.result58
-rw-r--r--mysql-test/suite/roles/role_case_sensitive-10744.test54
-rw-r--r--mysql-test/suite/roles/rpl_definer.result72
-rw-r--r--mysql-test/suite/roles/rpl_definer.test48
-rw-r--r--mysql-test/suite/roles/rpl_grant_revoke_current_role-8638.result21
-rw-r--r--mysql-test/suite/roles/rpl_grant_revoke_current_role-8638.test12
-rw-r--r--mysql-test/suite/roles/set_and_drop.result117
-rw-r--r--mysql-test/suite/roles/set_and_drop.test113
-rw-r--r--mysql-test/suite/roles/set_default_role_clear.result35
-rw-r--r--mysql-test/suite/roles/set_default_role_clear.test52
-rw-r--r--mysql-test/suite/roles/set_default_role_for.result65
-rw-r--r--mysql-test/suite/roles/set_default_role_for.test87
-rw-r--r--mysql-test/suite/roles/set_default_role_invalid.result40
-rw-r--r--mysql-test/suite/roles/set_default_role_invalid.test62
-rw-r--r--mysql-test/suite/roles/set_default_role_new_connection.result48
-rw-r--r--mysql-test/suite/roles/set_default_role_new_connection.test47
-rw-r--r--mysql-test/suite/roles/set_default_role_ps-6960.result8
-rw-r--r--mysql-test/suite/roles/set_default_role_ps-6960.test15
-rw-r--r--mysql-test/suite/roles/set_role-13655.result50
-rw-r--r--mysql-test/suite/roles/set_role-13655.test49
-rw-r--r--mysql-test/suite/roles/set_role-5232.result15
-rw-r--r--mysql-test/suite/roles/set_role-5232.test20
-rw-r--r--mysql-test/suite/roles/set_role-9614.result99
-rw-r--r--mysql-test/suite/roles/set_role-9614.test79
-rw-r--r--mysql-test/suite/roles/set_role-database-recursive.result83
-rw-r--r--mysql-test/suite/roles/set_role-database-recursive.test64
-rw-r--r--mysql-test/suite/roles/set_role-database-simple.result52
-rw-r--r--mysql-test/suite/roles/set_role-database-simple.test56
-rw-r--r--mysql-test/suite/roles/set_role-multiple-role.result147
-rw-r--r--mysql-test/suite/roles/set_role-multiple-role.test102
-rw-r--r--mysql-test/suite/roles/set_role-recursive.result118
-rw-r--r--mysql-test/suite/roles/set_role-recursive.test79
-rw-r--r--mysql-test/suite/roles/set_role-routine-simple.result103
-rw-r--r--mysql-test/suite/roles/set_role-routine-simple.test81
-rw-r--r--mysql-test/suite/roles/set_role-simple.result56
-rw-r--r--mysql-test/suite/roles/set_role-simple.test54
-rw-r--r--mysql-test/suite/roles/set_role-table-column-priv.result69
-rw-r--r--mysql-test/suite/roles/set_role-table-column-priv.test56
-rw-r--r--mysql-test/suite/roles/set_role-table-simple.result67
-rw-r--r--mysql-test/suite/roles/set_role-table-simple.test53
-rw-r--r--mysql-test/suite/roles/show_create_database-10463.result65
-rw-r--r--mysql-test/suite/roles/show_create_database-10463.test55
-rw-r--r--mysql-test/suite/roles/show_grants.result148
-rw-r--r--mysql-test/suite/roles/show_grants.test90
-rw-r--r--mysql-test/suite/roles/show_grants_replicated.result57
-rw-r--r--mysql-test/suite/roles/show_grants_replicated.test41
-rw-r--r--mysql-test/suite/rpl/disabled.def2
-rw-r--r--mysql-test/suite/rpl/include/hrtime.inc2
-rw-r--r--mysql-test/suite/rpl/include/rpl_innodb_rows_counters.inc50
-rw-r--r--mysql-test/suite/rpl/include/rpl_partition.inc104
-rw-r--r--mysql-test/suite/rpl/include/rpl_set_statement.inc31
-rw-r--r--mysql-test/suite/rpl/r/circular_serverid0.result30
-rw-r--r--mysql-test/suite/rpl/r/create_or_replace2.result31
-rw-r--r--mysql-test/suite/rpl/r/create_or_replace_mix.result252
-rw-r--r--mysql-test/suite/rpl/r/create_or_replace_row.result274
-rw-r--r--mysql-test/suite/rpl/r/create_or_replace_statement.result244
-rw-r--r--mysql-test/suite/rpl/r/create_select.result30
-rw-r--r--mysql-test/suite/rpl/r/ignore_table_autoinc-9737.result19
-rw-r--r--mysql-test/suite/rpl/r/myisam_external_lock.result2
-rw-r--r--mysql-test/suite/rpl/r/mysql-wsrep#110-2.result24
-rw-r--r--mysql-test/suite/rpl/r/rename.result34
-rw-r--r--mysql-test/suite/rpl/r/replace.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_000013.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_EE_err.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_alter.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_alter_extra_persistent.result220
-rw-r--r--mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result549
-rw-r--r--mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_binlog_errors.result26
-rw-r--r--mysql-test/suite/rpl/r/rpl_binlog_grant.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_charset.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_checksum.result29
-rw-r--r--mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_concurrency_error.result32
-rw-r--r--mysql-test/suite/rpl/r/rpl_conditional_comments.result41
-rw-r--r--mysql-test/suite/rpl/r/rpl_corruption.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_db.result28
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_event.result28
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_function.result50
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_index.result23
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_procedure.result64
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_role.result41
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_trigger.result48
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_udf.result42
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_user.result46
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_view.result99
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_if_not_exists.result23
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result8
-rw-r--r--mysql-test/suite/rpl/r/rpl_current_user.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_ddl.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_deadlock_innodb.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_do_grant.result21
-rw-r--r--mysql-test/suite/rpl/r/rpl_domain_id_filter.result286
-rw-r--r--mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result415
-rw-r--r--mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result59
-rw-r--r--mysql-test/suite/rpl/r/rpl_domain_id_filter_parallel.result177
-rw-r--r--mysql-test/suite/rpl/r/rpl_domain_id_filter_restart.result46
-rw-r--r--mysql-test/suite/rpl/r/rpl_drop.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_drop_db.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_drop_temp.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_drop_view.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_events.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_filter_dbs_dynamic.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_filter_tables_dynamic.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_filter_wild_tables_dynamic.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_flush_logs.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_flushlog_loop.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_function_defaults.result132
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_basic.result480
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_crash.result320
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_crash_myisam.result24
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_delete_domain.result30
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result211
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_errorlog.result44
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_ignored.result72
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_master_promote.result367
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_mdev4473.result57
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_mdev4474.result63
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_mdev4484.result35
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_mdev4485.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_mdev4820.result85
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_mdev9033.result55
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_misc.result25
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_nobinlog.result62
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_reconnect.result173
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_sort.result99
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_startpos.result243
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_stop_start.result189
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_strict.result182
-rw-r--r--mysql-test/suite/rpl/r/rpl_gtid_until.result225
-rw-r--r--mysql-test/suite/rpl/r/rpl_heartbeat.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_heartbeat_basic.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_hrtime.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_hrtime_row.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_idempotency.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_ignore_grant.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_ignore_table.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_incident.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_bug28430.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_bug68220.result225
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result198
-rw-r--r--mysql-test/suite/rpl/r/rpl_insert_delayed,stmt.rdiff6
-rw-r--r--mysql-test/suite/rpl/r/rpl_invoked_features.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_killed_ddl.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_known_bugs_detection.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata.result28
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_fatal.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_map.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_s.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddatalocal.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result125
-rw-r--r--mysql-test/suite/rpl/r/rpl_master_pos_wait.result22
-rw-r--r--mysql-test/suite/rpl/r/rpl_mdev10863.result39
-rw-r--r--mysql-test/suite/rpl/r/rpl_mdev359.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_mdev382.result221
-rw-r--r--mysql-test/suite/rpl/r/rpl_mdev6020.result49
-rw-r--r--mysql-test/suite/rpl/r/rpl_mdev6386.result60
-rw-r--r--mysql-test/suite/rpl/r/rpl_mdev8193.result24
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result1012
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result571
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result6633
-rw-r--r--mysql-test/suite/rpl/r/rpl_multi_engine.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_multi_update3.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_mysql_upgrade.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result7205
-rw-r--r--mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result10081
-rw-r--r--mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result5530
-rw-r--r--mysql-test/suite/rpl/r/rpl_old_master.result27
-rw-r--r--mysql-test/suite/rpl/r/rpl_packet.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel.result1773
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel2.result132
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_charset.result87
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_mdev6589.result147
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_multilevel.result164
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_multilevel2.result52
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_no_log_slave_updates.result124
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_optimistic.result580
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_optimistic_nobinlog.result85
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_partition.result42
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_retry.result307
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_temptable.result169
-rw-r--r--mysql-test/suite/rpl/r/rpl_partition_archive.result147
-rw-r--r--mysql-test/suite/rpl/r/rpl_partition_innodb.result147
-rw-r--r--mysql-test/suite/rpl/r/rpl_partition_memory.result147
-rw-r--r--mysql-test/suite/rpl/r/rpl_partition_myisam.result147
-rw-r--r--mysql-test/suite/rpl/r/rpl_password_boundaries.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_read_new_relay_log_info.result14
-rw-r--r--mysql-test/suite/rpl/r/rpl_read_old_relay_log_info.result14
-rw-r--r--mysql-test/suite/rpl/r/rpl_relay_space_innodb.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_relay_space_myisam.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_replicate_do.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_reset_slave_fail.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_rewrt_db.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_rotate_logs.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_USER.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_UUID.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_annotate_do.result95
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_annotate_dont.result93
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result22
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_8partition.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_big_table_id,32bit.rdiff29
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_big_table_id.result38
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_colSize.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_conflicts.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_create_select.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_create_table.result163
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_drop.result7
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result1230
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_idempotency.result8
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_img_blobs.result4733
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_img_eng_min.result3516
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_img_eng_noblob.result3516
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result643
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_log.result87
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_log_innodb.result87
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_max_relay_size.result7
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_mixing_engines.result10081
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result8
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_reset_slave.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_rollback_to_savepoint.result502
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result256
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp005.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp012.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_to_stmt.result28
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_trig004.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_triggers.result286
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_until.result8
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_view01.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync.result69
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_after_sync.result467
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_after_sync_row.result467
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_event.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_event_after_sync.result54
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result23
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_wait_point.result133
-rw-r--r--mysql-test/suite/rpl/r/rpl_session_var.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_set_statement.result142
-rw-r--r--mysql-test/suite/rpl/r/rpl_set_statement_default_master.result19
-rw-r--r--mysql-test/suite/rpl/r/rpl_skip_error.result8
-rw-r--r--mysql-test/suite/rpl/r/rpl_skip_incident.result25
-rw-r--r--mysql-test/suite/rpl/r/rpl_skip_replication.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_grp_exec.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_skip.result22
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_status.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_slow_query_log.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_sp.result147
-rw-r--r--mysql-test/suite/rpl/r/rpl_sp_variables.result24
-rw-r--r--mysql-test/suite/rpl/r/rpl_special_charset.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_ssl.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_ssl1.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_start_slave_deadlock_sys_vars.result32
-rw-r--r--mysql-test/suite/rpl/r/rpl_start_stop_slave.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_EE_err2.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result42
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_conflicts.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result1076
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result560
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_log.result67
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_maria.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result7
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result210
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result5762
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_multi_query.result14
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_no_op.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_reset_slave.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_until.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_user_variables.result48
-rw-r--r--mysql-test/suite/rpl/r/rpl_stop_slave_error.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_strict_password_validation.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_sync.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_table_options.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_temp_table.result7
-rw-r--r--mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result38
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporal_format_default_to_default.result83
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mariadb53.result85
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mysql56.result85
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mysql56_dst.result28
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporal_format_mysql56_to_mariadb53.result85
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporal_format_mysql56_to_mysql56.result85
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporal_mysql56.result84
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporal_mysql56_to_mariadb.result50
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporal_mysql56_to_mariadb53.result51
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporary_error2.result55
-rw-r--r--mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_trigger.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_typeconv.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_upgrade_master_info.result88
-rw-r--r--mysql-test/suite/rpl/r/rpl_user.result8
-rw-r--r--mysql-test/suite/rpl/r/rpl_variables.result28
-rw-r--r--mysql-test/suite/rpl/r/rpl_view_debug.result34
-rw-r--r--mysql-test/suite/rpl/r/sec_behind_master-5114.result11
-rw-r--r--mysql-test/suite/rpl/r/semisync_future-7591.result19
-rw-r--r--mysql-test/suite/rpl/r/semisync_memleak_4066.result2
-rw-r--r--mysql-test/suite/rpl/r/temporal_row-9560,old2new.rdiff11
-rw-r--r--mysql-test/suite/rpl/r/temporal_row-9560.result15
-rw-r--r--mysql-test/suite/rpl/t/circular_serverid0.cnf30
-rw-r--r--mysql-test/suite/rpl/t/circular_serverid0.test104
-rw-r--r--mysql-test/suite/rpl/t/create_or_replace.inc213
-rw-r--r--mysql-test/suite/rpl/t/create_or_replace2.test44
-rw-r--r--mysql-test/suite/rpl/t/create_or_replace_mix.cnf9
-rw-r--r--mysql-test/suite/rpl/t/create_or_replace_mix.test4
-rw-r--r--mysql-test/suite/rpl/t/create_or_replace_row.cnf9
-rw-r--r--mysql-test/suite/rpl/t/create_or_replace_row.test4
-rw-r--r--mysql-test/suite/rpl/t/create_or_replace_statement.cnf9
-rw-r--r--mysql-test/suite/rpl/t/create_or_replace_statement.test4
-rw-r--r--mysql-test/suite/rpl/t/create_select.cnf16
-rw-r--r--mysql-test/suite/rpl/t/create_select.test41
-rw-r--r--mysql-test/suite/rpl/t/ignore_table_autoinc-9737.test35
-rw-r--r--mysql-test/suite/rpl/t/mysql-wsrep#110-2.test44
-rw-r--r--mysql-test/suite/rpl/t/rename.test33
-rw-r--r--mysql-test/suite/rpl/t/rpl_000011.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_15919-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_15919.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_EE_err.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_alter_extra_persistent.test106
-rw-r--r--mysql-test/suite/rpl/t/rpl_auto_increment.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_errors.test406
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_grant.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_bit.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_blackhole.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug26395.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test78
-rw-r--r--mysql-test/suite/rpl/t/rpl_checksum.test269
-rw-r--r--mysql-test/suite/rpl/t/rpl_checksum_cache.test256
-rw-r--r--mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_commit_after_flush.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_concurrency_error.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_conditional_comments.test12
-rw-r--r--mysql-test/suite/rpl/t/rpl_corruption.test170
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_db.test33
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_event.test27
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_function.test54
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_index.test19
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_procedure.test81
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_role.test48
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_trigger.test48
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_udf.test56
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_user.test51
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_drop_view.test55
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_if_not_exists.test21
-rw-r--r--mysql-test/suite/rpl/t/rpl_current_user.test14
-rw-r--r--mysql-test/suite/rpl/t/rpl_ddl.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_deadlock_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_delete_no_where.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_do_grant.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_domain_id_filter.test431
-rw-r--r--mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test399
-rw-r--r--mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test98
-rw-r--r--mysql-test/suite/rpl/t/rpl_domain_id_filter_parallel.test221
-rw-r--r--mysql-test/suite/rpl/t/rpl_domain_id_filter_restart.test79
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop_db.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop_db_fail.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop_temp.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_empty_master_host.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_err_ignoredtable.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_failed_optimize.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_filter_tables_dynamic.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_flush_logs.test26
-rw-r--r--mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test63
-rw-r--r--mysql-test/suite/rpl/t/rpl_function_defaults.test93
-rw-r--r--mysql-test/suite/rpl/t/rpl_geometry.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_grant.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_basic.cnf24
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_basic.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_crash-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_crash-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_crash.test663
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_crash_myisam-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_crash_myisam.test64
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_delete_domain.test95
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_errorhandling.test288
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_errorlog.test76
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_ignored.test140
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_master_promote.cnf35
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_master_promote.test270
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev4473.cnf18
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev4473.test72
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev4474.cnf11
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev4474.test76
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev4484.test56
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev4485.cnf18
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev4485.test41
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev4820.test118
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev9033.cnf20
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_mdev9033.test72
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_misc.test50
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_nobinlog.cnf9
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_nobinlog.test66
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_reconnect.test206
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_sort.test77
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_startpos.test358
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_stop_start.cnf5
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_stop_start.test330
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_strict.test178
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_until.test245
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat_basic.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat_debug.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_idempotency.test29
-rw-r--r--mysql-test/suite/rpl/t/rpl_ignore_grant.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_ignore_table.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_incident.test42
-rw-r--r--mysql-test/suite/rpl/t/rpl_init_slave_errors.test90
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug28430.test9
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug68220.test53
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert_id.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert_id_pk.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert_ignore.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_invoked_features.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_fatal.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_symlink.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddatalocal.test241
-rw-r--r--mysql-test/suite/rpl/t/rpl_loadfile.test116
-rw-r--r--mysql-test/suite/rpl/t/rpl_log_pos.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test160
-rw-r--r--mysql-test/suite/rpl/t/rpl_master_pos_wait.test31
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev-11092.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev10863.test104
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev359.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev382.test27
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev6020.test72
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev6386-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev6386.test70
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev8193.test56
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_engine.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_update.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_update2.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_update3.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_mysql_upgrade.test9
-rw-r--r--mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_not_null_innodb.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_not_null_myisam.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_old_master.test49
-rw-r--r--mysql-test/suite/rpl/t/rpl_optimize.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_packet.test178
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel2.test227
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_charset.test56
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_mdev6589.test132
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_multilevel.cnf24
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_multilevel.test284
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_multilevel2.cnf17
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_multilevel2.test80
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates.test201
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_optimistic.test570
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_optimistic_nobinlog.cnf10
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_optimistic_nobinlog.test74
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_partition.test81
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_retry.test384
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_show_binlog_events_purge_logs.test35
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_temptable-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_temptable.test271
-rw-r--r--mysql-test/suite/rpl/t/rpl_partition_archive.test12
-rw-r--r--mysql-test/suite/rpl/t/rpl_partition_innodb-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_partition_innodb.test12
-rw-r--r--mysql-test/suite/rpl/t/rpl_partition_memory.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_partition_myisam.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_performance_schema.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_ps.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_read_new_relay_log_info.test43
-rw-r--r--mysql-test/suite/rpl/t/rpl_read_old_relay_log_info.test44
-rw-r--r--mysql-test/suite/rpl/t/rpl_read_only.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_relay_space_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_relay_space_myisam.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_relayrotate.test16
-rw-r--r--mysql-test/suite/rpl/t/rpl_replicate_do.test21
-rw-r--r--mysql-test/suite/rpl/t/rpl_report_port.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_rotate_logs.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_001.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_4_bytes-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_USER.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_UUID.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_basic_8partition.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_big_table_id.test57
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_blob_innodb.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_blob_myisam.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_colSize.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_conflicts.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_corruption.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_create_table.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_delayed_ins.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_find_row.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_func003.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_idempotency.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_img.cnf21
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_img_blobs.cnf1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_img_blobs.test59
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_img_eng_min.cnf1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_img_eng_min.test39
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.cnf1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.test39
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_index_choice.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_loaddata_concurrent.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_log.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_log_innodb.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_max_relay_size.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_merge_engine.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_mixing_engines.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_rollback_to_savepoint.test312
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp003.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp005.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp009.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp012.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_to_stmt-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_to_stmt-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_to_stmt.test23
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_trig004.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_triggers.test329
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_trunc_temp.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_until.test20
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_utf16.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_view01.test13
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_wide_table.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_savepoint.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync.test620
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_after_sync.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_after_sync_row.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_event.test37
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_event_after_sync-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_event_after_sync.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_skip_repl.test62
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test28
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_wait_point.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_wait_point.test254
-rw-r--r--mysql-test/suite/rpl/t/rpl_server_id2.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_server_id_ignore.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_set_null_innodb.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_set_statement.test61
-rw-r--r--mysql-test/suite/rpl/t/rpl_set_statement_default_master.test34
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_error-slave.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_error.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_incident-master.opt (renamed from mysql-test/suite/rpl/t/rpl_incident-master.opt)0
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_incident-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_incident.test28
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_replication.test378
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_grp_exec.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_skip.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_status.test13
-rw-r--r--mysql-test/suite/rpl/t/rpl_slow_query_log-slave.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_slow_query_log.test35
-rw-r--r--mysql-test/suite/rpl/t/rpl_sp.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_sp_effects.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_sp_variables.test28
-rw-r--r--mysql-test/suite/rpl/t/rpl_special_charset.test26
-rw-r--r--mysql-test/suite/rpl/t/rpl_sporadic_master.test27
-rw-r--r--mysql-test/suite/rpl/t/rpl_ssl.test111
-rw-r--r--mysql-test/suite/rpl/t/rpl_ssl1.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_start_slave_deadlock_sys_vars.test58
-rw-r--r--mysql-test/suite/rpl/t/rpl_start_stop_slave.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_000001.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_loaddata_concurrent.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_loadfile.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_log.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_relay_ign_space.test102
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_until.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_user_variables.test41
-rw-r--r--mysql-test/suite/rpl/t/rpl_stop_slave_error-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stop_slave_error.test17
-rw-r--r--mysql-test/suite/rpl/t/rpl_strict_password_validation.test24
-rw-r--r--mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test625
-rw-r--r--mysql-test/suite/rpl/t/rpl_sync.test151
-rw-r--r--mysql-test/suite/rpl/t/rpl_table_options.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_temp_table.test16
-rw-r--r--mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporal_format_default_to_default.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mariadb53.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mysql56.test14
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mysql56_dst.test37
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporal_format_mysql56_to_mariadb53.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporal_format_mysql56_to_mysql56.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporal_mysql56.test48
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporal_mysql56_to_mariadb.test55
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporal_mysql56_to_mariadb53.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary_error2.test77
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary_errors.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_trigger.test13
-rw-r--r--mysql-test/suite/rpl/t/rpl_truncate_2myisam.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_truncate_3innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_typeconv.test73
-rw-r--r--mysql-test/suite/rpl/t/rpl_upgrade_master_info.test163
-rw-r--r--mysql-test/suite/rpl/t/rpl_variables.test24
-rw-r--r--mysql-test/suite/rpl/t/rpl_view_debug.test34
-rw-r--r--mysql-test/suite/rpl/t/sec_behind_master-5114.test63
-rw-r--r--mysql-test/suite/rpl/t/semisync_future-7591.test33
-rw-r--r--mysql-test/suite/rpl/t/semisync_memleak_4066.test6
-rw-r--r--mysql-test/suite/rpl/t/temporal_row-9560-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/temporal_row-9560.combinations6
-rw-r--r--mysql-test/suite/rpl/t/temporal_row-9560.test20
-rw-r--r--mysql-test/suite/sphinx/my.cnf29
-rw-r--r--mysql-test/suite/sphinx/sphinx.result59
-rw-r--r--mysql-test/suite/sphinx/sphinx.test31
-rw-r--r--mysql-test/suite/sphinx/suite.opt1
-rw-r--r--mysql-test/suite/sphinx/suite.pm119
-rw-r--r--mysql-test/suite/sphinx/testdata.xml35
-rw-r--r--mysql-test/suite/sphinx/union-5539.result10
-rw-r--r--mysql-test/suite/sphinx/union-5539.test16
-rw-r--r--mysql-test/suite/storage_engine/alter_table_online.result21
-rw-r--r--mysql-test/suite/storage_engine/alter_table_online.test46
-rw-r--r--mysql-test/suite/storage_engine/alter_tablespace.result4
-rw-r--r--mysql-test/suite/storage_engine/alter_tablespace.test5
-rw-r--r--mysql-test/suite/storage_engine/col_opt_not_null.result14
-rw-r--r--mysql-test/suite/storage_engine/col_opt_null.result14
-rw-r--r--mysql-test/suite/storage_engine/col_opt_unsigned.result10
-rw-r--r--mysql-test/suite/storage_engine/col_opt_zerofill.result10
-rw-r--r--mysql-test/suite/storage_engine/foreign_keys.test4
-rw-r--r--mysql-test/suite/storage_engine/insert_with_keys.result19
-rw-r--r--mysql-test/suite/storage_engine/insert_with_keys.test30
-rw-r--r--mysql-test/suite/storage_engine/misc.result21
-rw-r--r--mysql-test/suite/storage_engine/obfuscate.inc2
-rw-r--r--mysql-test/suite/storage_engine/parts/checksum_table.result6
-rw-r--r--mysql-test/suite/storage_engine/parts/repair_table.result2
-rw-r--r--mysql-test/suite/storage_engine/select.result5
-rw-r--r--mysql-test/suite/storage_engine/select.test6
-rw-r--r--mysql-test/suite/storage_engine/type_char_indexes.result2
-rw-r--r--mysql-test/suite/storage_engine/type_enum.result1
-rw-r--r--mysql-test/suite/storage_engine/type_float.result10
-rw-r--r--mysql-test/suite/storage_engine/type_set.result1
-rw-r--r--mysql-test/suite/storage_engine/type_spatial.result8
-rw-r--r--mysql-test/suite/storage_engine/type_spatial_indexes.result16
-rw-r--r--mysql-test/suite/storage_engine/type_varbinary.result1
-rw-r--r--mysql-test/suite/storage_engine/type_varchar.result1
-rw-r--r--mysql-test/suite/stress/include/ddl1.inc4
-rw-r--r--mysql-test/suite/stress/include/ddl7.inc4
-rw-r--r--mysql-test/suite/stress/t/ddl_archive.test5
-rw-r--r--mysql-test/suite/stress/t/ddl_csv.test5
-rw-r--r--mysql-test/suite/stress/t/ddl_innodb.test5
-rw-r--r--mysql-test/suite/stress/t/ddl_memory.test5
-rw-r--r--mysql-test/suite/stress/t/ddl_myisam.test5
-rw-r--r--mysql-test/suite/sys_vars/disabled.def2
-rw-r--r--mysql-test/suite/sys_vars/inc/bin_relay_log_basename_index.inc55
-rw-r--r--mysql-test/suite/sys_vars/inc/collation_basic.inc2
-rw-r--r--mysql-test/suite/sys_vars/inc/explicit_defaults_for_timestamp.inc112
-rw-r--r--mysql-test/suite/sys_vars/inc/sysvars_server.inc69
-rw-r--r--mysql-test/suite/sys_vars/inc/sysvars_server.opt1
-rw-r--r--mysql-test/suite/sys_vars/r/all_vars.result1
-rw-r--r--mysql-test/suite/sys_vars/r/aria_encrypt_tables_basic.result41
-rw-r--r--mysql-test/suite/sys_vars/r/aria_pagecache_file_hash_size_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/aria_sort_buffer_size_basic.result22
-rw-r--r--mysql-test/suite/sys_vars/r/back_log_basic.result10
-rw-r--r--mysql-test/suite/sys_vars/r/binlog_commit_wait_count_basic.result13
-rw-r--r--mysql-test/suite/sys_vars/r/binlog_commit_wait_usec_basic.result13
-rw-r--r--mysql-test/suite/sys_vars/r/binlog_row_image_basic.result100
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_client_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_client_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_connection_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_connection_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_database_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_filesystem_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_results_basic.resultbin16480 -> 16480 bytes
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_results_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/collation_connection_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/collation_connection_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/collation_database_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/collation_server_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/debug_crc_break_basic.result39
-rw-r--r--mysql-test/suite/sys_vars/r/debug_mutex_deadlock_detector_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/default_master_connection_basic.result94
-rw-r--r--mysql-test/suite/sys_vars/r/default_regex_flags_basic.result57
-rw-r--r--mysql-test/suite/sys_vars/r/default_storage_engine_basic.result4
-rw-r--r--mysql-test/suite/sys_vars/r/default_tmp_storage_engine_basic.result181
-rw-r--r--mysql-test/suite/sys_vars/r/delay_key_write_func.result39
-rw-r--r--mysql-test/suite/sys_vars/r/delayed_insert_limit_func.result4
-rw-r--r--mysql-test/suite/sys_vars/r/encrypt_tmp_disk_tables_basic.result41
-rw-r--r--mysql-test/suite/sys_vars/r/enforce_storage_engine_basic.result39
-rw-r--r--mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result290
-rw-r--r--mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result188
-rw-r--r--mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_on.result195
-rw-r--r--mysql-test/suite/sys_vars/r/gtid_binlog_pos_basic.result9
-rw-r--r--mysql-test/suite/sys_vars/r/gtid_binlog_state_basic.result11
-rw-r--r--mysql-test/suite/sys_vars/r/gtid_current_pos_basic.result9
-rw-r--r--mysql-test/suite/sys_vars/r/gtid_domain_id_basic.result29
-rw-r--r--mysql-test/suite/sys_vars/r/gtid_ignore_duplicates_basic.result13
-rw-r--r--mysql-test/suite/sys_vars/r/gtid_seq_no_basic.result16
-rw-r--r--mysql-test/suite/sys_vars/r/gtid_slave_pos_basic.result47
-rw-r--r--mysql-test/suite/sys_vars/r/gtid_strict_mode_basic.result29
-rw-r--r--mysql-test/suite/sys_vars/r/have_ndbcluster_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/have_partitioning_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/histogram_size_basic.result136
-rw-r--r--mysql-test/suite/sys_vars/r/histogram_type_basic.result79
-rw-r--r--mysql-test/suite/sys_vars/r/host_cache_size_basic.result37
-rw-r--r--mysql-test/suite/sys_vars/r/ignore_db_dirs_basic.result5
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_adaptive_flushing_lwm_basic.result96
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_adaptive_max_sleep_delay_basic.result46
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_api_bk_commit_interval_basic.result64
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_api_disable_rowlock_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_api_enable_binlog_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_api_enable_mdl_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_api_trx_level_basic.result66
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_autoextend_increment_basic.result4
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_background_scrub_data_check_interval_basic.result72
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_background_scrub_data_compressed_basic.result50
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_background_scrub_data_interval_basic.result50
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_background_scrub_data_uncompressed_basic.result50
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buf_dump_status_frequency_basic.result42
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buf_flush_list_now_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_at_shutdown_basic.result18
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_now_basic.result9
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_pct_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buffer_pool_filename_basic.result7
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_abort_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_at_startup_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_now_basic.result9
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_change_buffer_max_size_basic.result77
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_checksum_algorithm_basic.result47
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_cleaner_eviction_factor_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_cleaner_flush_chunk_size_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_cleaner_free_list_lwm_basic.result35
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_cleaner_lru_chunk_size_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_cleaner_lsn_age_factor_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_cleaner_max_flush_time_basic.result25
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_cleaner_max_lru_time_basic.result25
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_cmp_per_index_enabled_basic.result65
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_compression_algorithm_basic.result47
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_compression_failure_threshold_pct_basic.result96
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_compression_level_basic.result73
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_compression_pad_pct_max_basic.result86
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_concurrency_tickets_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_debug_force_scrubbing_basic.result50
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_default_row_format_basic.result48
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_defragment_basic.result18
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_defragment_fill_factor_basic.result37
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_defragment_fill_factor_n_recs_basic.result42
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_defragment_frequency_basic.result42
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_defragment_n_pages_basic.result28
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_defragment_stats_accuracy_basic.result33
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_disable_background_merge_basic.result4
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_disable_sort_file_cache_basic.result92
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_disallow_writes_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_doublewrite_batch_size_basic.result24
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_empty_free_list_algorithm_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_encrypt_log_basic.result48
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_encrypt_tables_basic.result47
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_encryption_rotate_key_age_basic.result41
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_encryption_rotation_iops_basic.result41
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_encryption_threads_basic.result41
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_fatal_semaphore_wait_threshold.result25
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_fatal_semaphore_wait_threshold_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_fil_make_page_dirty_debug_basic.result26
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_file_per_table_basic.result4
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_flush_log_at_timeout_basic.result96
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_flush_log_at_trx_commit_basic.result10
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_flush_neighbors_basic.result101
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_flushing_avg_loops_basic.result98
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_force_primary_key_basic.result44
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_foreground_preflush_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_aux_table_basic.result32
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_cache_size_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_enable_diag_print_basic.result92
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_enable_stopword_basic.result121
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_max_token_size_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_min_token_size_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_num_word_optimize_basic.result56
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit,32bit.rdiff11
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.result5
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_basic.result32
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_server_stopword_table_basic.result32
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_sort_pll_degree_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_total_cache_size_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result30
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_idle_flush_pct_basic.result77
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_immediate_scrub_data_uncompressed_basic.result50
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_instrument_semaphores.result45
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_instrument_semaphores_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_io_capacity_max_basic.result96
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_log_arch_dir_basic.result38
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_log_arch_expire_sec_basic.result38
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_log_archive_basic.result38
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_log_checksum_algorithm_basic.result47
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result69
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_lru_scan_depth_basic.result69
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_basic.result44
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result4
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_lwm_basic.result109
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_max_purge_lag_delay_basic.result43
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_merge_sort_block_size_basic.result24
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result607
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result607
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result607
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result607
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_mtflush_threads_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_old_blocks_time_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_online_alter_log_max_size_basic.result64
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_optimize_fulltext_only_basic.result92
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_page_hash_locks_basic.result24
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_persistent_stats_root_page_basic.result24
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_prefix_index_cluster_optimization_basic.result122
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result124
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_print_lock_wait_timeout_info_basic.result104
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_priority_cleaner_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_priority_io_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_priority_master_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_priority_purge_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_purge_batch_size_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_purge_run_now_basic.result27
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_purge_stop_now_basic.result27
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_read_only_basic.result22
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_saved_page_number_debug_basic.result26
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_sched_priority_cleaner_basic.result30
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_sched_priority_io_basic.result30
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_sched_priority_master_basic.result30
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_sched_priority_purge_basic.result30
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_scrub_log_basic.result48
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_scrub_log_speed_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_sort_buffer_size_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_stats_auto_recalc_basic.result24
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_stats_include_delete_marked_basic.result25
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_stats_on_metadata_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_stats_persistent_basic.result24
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_stats_persistent_sample_pages_basic.result61
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_stats_sample_pages_basic.result5
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_stats_transient_sample_pages_basic.result61
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_status_output_basic.result102
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_status_output_locks_basic.result102
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result30
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_thread_sleep_delay_basic.result4
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_tmpdir_basic.result35
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_undo_directory_basic.result48
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_undo_logs_basic.result68
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_undo_tablespaces_basic.result38
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_use_mtflush_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_use_trim_basic.result33
-rw-r--r--mysql-test/suite/sys_vars/r/join_buffer_size_basic.result12
-rw-r--r--mysql-test/suite/sys_vars/r/key_cache_file_hash_size_basic.result114
-rw-r--r--mysql-test/suite/sys_vars/r/last_gtid_basic.result9
-rw-r--r--mysql-test/suite/sys_vars/r/lc_time_names_basic.result6
-rw-r--r--mysql-test/suite/sys_vars/r/log_bin_basename_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/log_bin_index_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/log_slow_admin_statements_func.result46
-rw-r--r--mysql-test/suite/sys_vars/r/log_slow_verbosity_basic.result28
-rw-r--r--mysql-test/suite/sys_vars/r/log_tc_size_basic.result4
-rw-r--r--mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result34
-rw-r--r--mysql-test/suite/sys_vars/r/max_allowed_packet_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/max_connect_errors_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/max_connections_basic.result20
-rw-r--r--mysql-test/suite/sys_vars/r/max_digest_length_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/max_prepared_stmt_count_basic.result20
-rw-r--r--mysql-test/suite/sys_vars/r/max_relay_log_size_basic.result29
-rw-r--r--mysql-test/suite/sys_vars/r/max_statement_time_basic.result172
-rw-r--r--mysql-test/suite/sys_vars/r/max_tmp_tables_basic.result54
-rw-r--r--mysql-test/suite/sys_vars/r/max_user_connections_func.result1
-rw-r--r--mysql-test/suite/sys_vars/r/metadata_locks_hash_instances_basic.result51
-rw-r--r--mysql-test/suite/sys_vars/r/mutex_deadlock_detector_basic.result21
-rw-r--r--mysql-test/suite/sys_vars/r/myisam_sort_buffer_size_basic.result20
-rw-r--r--mysql-test/suite/sys_vars/r/myisam_stats_method_basic.result38
-rw-r--r--mysql-test/suite/sys_vars/r/myisam_stats_method_func.result6
-rw-r--r--mysql-test/suite/sys_vars/r/mysql56_temporal_format_basic.result95
-rw-r--r--mysql-test/suite/sys_vars/r/mysql56_temporal_format_func.result63
-rw-r--r--mysql-test/suite/sys_vars/r/old_mode_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/optimizer_selectivity_sampling_limit_basic.result141
-rw-r--r--mysql-test/suite/sys_vars/r/optimizer_switch_basic.result38
-rw-r--r--mysql-test/suite/sys_vars/r/optimizer_switch_eng_cond_pushdown1.result5
-rw-r--r--mysql-test/suite/sys_vars/r/optimizer_switch_eng_cond_pushdown2.result5
-rw-r--r--mysql-test/suite/sys_vars/r/optimizer_use_condition_selectivity_basic.result141
-rw-r--r--mysql-test/suite/sys_vars/r/oqgraph_allow_create_integer_latch_basic.result1
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_accounts_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_digests_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_events_stages_history_long_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_events_stages_history_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_events_statements_history_long_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_events_statements_history_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_hosts_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_max_digest_length_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_max_socket_classes_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_max_socket_instances_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_max_stage_classes_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_max_statement_classes_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_session_connect_attrs_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_setup_actors_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_setup_objects_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/pfs_users_size_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/query_alloc_block_size_basic.result20
-rw-r--r--mysql-test/suite/sys_vars/r/query_cache_limit_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/query_cache_size_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/query_cache_type_basic.result12
-rw-r--r--mysql-test/suite/sys_vars/r/query_cache_type_func.result7
-rw-r--r--mysql-test/suite/sys_vars/r/query_cache_wlock_invalidate_func.result3
-rw-r--r--mysql-test/suite/sys_vars/r/query_prealloc_size_basic.result46
-rw-r--r--mysql-test/suite/sys_vars/r/rand_seed1_basic.result13
-rw-r--r--mysql-test/suite/sys_vars/r/rand_seed2_basic.result13
-rw-r--r--mysql-test/suite/sys_vars/r/relay_log_basename_basic.result24
-rw-r--r--mysql-test/suite/sys_vars/r/relay_log_index_basic.result34
-rw-r--r--mysql-test/suite/sys_vars/r/replicate_events_marked_for_skip_basic.result12
-rw-r--r--mysql-test/suite/sys_vars/r/rpl_recovery_rank_basic.result132
-rw-r--r--mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/rpl_semi_sync_master_timeout_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/rpl_semi_sync_master_trace_level_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_no_slave_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_point_basic.result46
-rw-r--r--mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_trace_level_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/secure_auth_basic.result8
-rw-r--r--mysql-test/suite/sys_vars/r/server_id_basic.result15
-rw-r--r--mysql-test/suite/sys_vars/r/show_vs_valstr.result10
-rw-r--r--mysql-test/suite/sys_vars/r/skip_parallel_replication_basic.result15
-rw-r--r--mysql-test/suite/sys_vars/r/slave_ddl_exec_mode_basic.result39
-rw-r--r--mysql-test/suite/sys_vars/r/slave_domain_parallel_threads_basic.result13
-rw-r--r--mysql-test/suite/sys_vars/r/slave_parallel_max_queued_basic.result13
-rw-r--r--mysql-test/suite/sys_vars/r/slave_parallel_mode_basic.result50
-rw-r--r--mysql-test/suite/sys_vars/r/slave_parallel_threads_basic.result22
-rw-r--r--mysql-test/suite/sys_vars/r/slave_run_triggers_for_rbr_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/slow_query_log_basic.result16
-rw-r--r--mysql-test/suite/sys_vars/r/slow_query_log_func.result16
-rw-r--r--mysql-test/suite/sys_vars/r/sql_big_selects_func.result4
-rw-r--r--mysql-test/suite/sys_vars/r/sql_low_priority_updates_func.result4
-rw-r--r--mysql-test/suite/sys_vars/r/sql_mode_basic.result12
-rw-r--r--mysql-test/suite/sys_vars/r/sql_notes_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/sql_slave_skip_counter_basic.result3
-rw-r--r--mysql-test/suite/sys_vars/r/ssl_crl_basic.result5
-rw-r--r--mysql-test/suite/sys_vars/r/ssl_crlpath_basic.result5
-rw-r--r--mysql-test/suite/sys_vars/r/storage_engine_basic.result4
-rw-r--r--mysql-test/suite/sys_vars/r/sync_master_info_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/sync_relay_log_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/sync_relay_log_info_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff105
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_aria.result297
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_debug,32bit.rdiff11
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_debug.result87
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff1236
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff575
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff697
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb.result2429
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_embedded,32bit.rdiff1235
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_embedded.result4351
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_notembedded,32bit.rdiff1271
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result5121
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_wsrep,32bit.rdiff47
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_wsrep.result633
-rw-r--r--mysql-test/suite/sys_vars/r/table_definition_cache_basic.result16
-rw-r--r--mysql-test/suite/sys_vars/r/table_open_cache_basic.result32
-rw-r--r--mysql-test/suite/sys_vars/r/thread_pool_max_threads_basic.result10
-rw-r--r--mysql-test/suite/sys_vars/r/thread_pool_size_high.result1
-rw-r--r--mysql-test/suite/sys_vars/r/thread_stack_basic.result10
-rw-r--r--mysql-test/suite/sys_vars/r/transaction_prealloc_size_bug27322.result10
-rw-r--r--mysql-test/suite/sys_vars/r/tx_read_only_basic.result181
-rw-r--r--mysql-test/suite/sys_vars/r/use_stat_tables_basic.result95
-rw-r--r--mysql-test/suite/sys_vars/r/version_malloc_library_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/version_ssl_library_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/wait_timeout_basic.result12
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_auto_increment_control_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_causal_reads_basic.result64
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_certify_nonpk_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_cluster_address_basic.result54
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_cluster_name_basic.result43
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_convert_lock_to_trx_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_data_home_dir_basic.result24
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_dbug_option_basic.result47
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_debug_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_desync_basic.result48
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_dirty_reads_basic.result54
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_drupal_282555_workaround_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_forced_binlog_format_basic.result51
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_gtid_domain_id_basic.result47
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_gtid_mode_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_load_data_splitting_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_log_conflicts_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_max_ws_rows_basic.result51
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_max_ws_size_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_mysql_replication_bundle_basic.result52
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_node_address_basic.result49
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_node_incoming_address_basic.result56
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_node_name_basic.result61
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_notify_cmd_basic.result47
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_on_basic.result50
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_osu_method_basic.result61
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_provider_basic.result40
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_provider_options_basic.result49
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_recover_basic.result22
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_replicate_myisam_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_restart_slave_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_retry_autocommit_basic.result63
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_slave_fk_checks_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_slave_threads_basic.result49
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_slave_uk_checks_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_sst_auth_basic.result52
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_sst_donor_basic.result50
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_sst_donor_rejects_queries_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_sst_method_basic.result58
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_sst_receive_address_basic.result60
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_start_position_basic.result57
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_sync_wait_basic.result54
-rw-r--r--mysql-test/suite/sys_vars/t/aria_encrypt_tables_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/aria_pagecache_file_hash_size_basic.test22
-rw-r--r--mysql-test/suite/sys_vars/t/binlog_commit_wait_count_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/binlog_commit_wait_usec_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/binlog_row_image_basic.test129
-rw-r--r--mysql-test/suite/sys_vars/t/debug_crc_break_basic.test46
-rw-r--r--mysql-test/suite/sys_vars/t/debug_mutex_deadlock_detector_basic.test23
-rw-r--r--mysql-test/suite/sys_vars/t/default_master_connection_basic.test128
-rw-r--r--mysql-test/suite/sys_vars/t/default_regex_flags_basic.test43
-rw-r--r--mysql-test/suite/sys_vars/t/default_tmp_storage_engine_basic.test193
-rw-r--r--mysql-test/suite/sys_vars/t/delay_key_write_func-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/delay_key_write_func.test46
-rw-r--r--mysql-test/suite/sys_vars/t/delayed_insert_limit_func.test20
-rw-r--r--mysql-test/suite/sys_vars/t/encrypt_tmp_disk_tables_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/enforce_storage_engine_basic.test40
-rw-r--r--mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test267
-rw-r--r--mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_basic.test26
-rw-r--r--mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_off.test8
-rw-r--r--mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_on-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_on.test8
-rw-r--r--mysql-test/suite/sys_vars/t/general_log_file_basic-master.opt3
-rw-r--r--mysql-test/suite/sys_vars/t/general_log_file_func-master.opt3
-rw-r--r--mysql-test/suite/sys_vars/t/gtid_binlog_pos_basic.test15
-rw-r--r--mysql-test/suite/sys_vars/t/gtid_binlog_state_basic.test17
-rw-r--r--mysql-test/suite/sys_vars/t/gtid_current_pos_basic.test15
-rw-r--r--mysql-test/suite/sys_vars/t/gtid_domain_id_basic.test17
-rw-r--r--mysql-test/suite/sys_vars/t/gtid_ignore_duplicates_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/gtid_seq_no_basic.test13
-rw-r--r--mysql-test/suite/sys_vars/t/gtid_slave_pos_basic.test46
-rw-r--r--mysql-test/suite/sys_vars/t/gtid_strict_mode_basic.test21
-rw-r--r--mysql-test/suite/sys_vars/t/have_csv_basic.test100
-rw-r--r--mysql-test/suite/sys_vars/t/have_innodb_basic.test100
-rw-r--r--mysql-test/suite/sys_vars/t/have_ndbcluster_basic.test100
-rw-r--r--mysql-test/suite/sys_vars/t/have_partitioning_basic.test100
-rw-r--r--mysql-test/suite/sys_vars/t/histogram_size_basic.test142
-rw-r--r--mysql-test/suite/sys_vars/t/histogram_type_basic.test92
-rw-r--r--mysql-test/suite/sys_vars/t/host_cache_size_basic-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/host_cache_size_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/ignore_db_dirs_basic-master.opt22
-rw-r--r--mysql-test/suite/sys_vars/t/ignore_db_dirs_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_adaptive_flushing_lwm_basic.test142
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test75
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_bk_commit_interval_basic.test58
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_disable_rowlock_basic.test102
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_enable_binlog_basic.test102
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test102
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test58
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_background_scrub_data_check_interval_basic.test54
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_background_scrub_data_compressed_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_background_scrub_data_interval_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_background_scrub_data_uncompressed_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buf_dump_status_frequency_basic.test39
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buf_flush_list_now_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_now_basic.test48
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_pct_basic.test30
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_filename_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_abort_basic.test15
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_at_startup_basic.test15
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.test39
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_change_buffer_max_size_basic.test63
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test39
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test35
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cleaner_flush_chunk_size_basic.test33
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cleaner_free_list_lwm_basic.test35
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cleaner_lru_chunk_size_basic.test33
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cleaner_lsn_age_factor_basic.test28
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cleaner_max_flush_time_basic.test31
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cleaner_max_lru_time_basic.test31
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test69
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_compression_algorithm_basic-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_compression_algorithm_basic.test46
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test143
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test64
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test136
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_debug_force_scrubbing_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_default_row_format_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_defragment_basic.test20
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_defragment_fill_factor_basic.test27
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_defragment_fill_factor_n_recs_basic.test31
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_defragment_frequency_basic.test37
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_defragment_n_pages_basic.test22
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_defragment_stats_accuracy_basic.test24
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_disable_background_merge_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_disable_sort_file_cache_basic.test70
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_disallow_writes_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test22
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.test30
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_encrypt_log_basic.test50
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_encrypt_tables_basic.test44
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_encryption_rotate_key_age_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_encryption_rotation_iops_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_encryption_threads_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test120
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold_basic.test21
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test34
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_flush_log_at_timeout_basic.test151
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test73
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_flushing_avg_loops_basic.test143
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_force_primary_key_basic.test57
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_foreground_preflush_basic.test30
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test26
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test70
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test85
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test26
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test26
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test52
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit.test9
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test38
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test26
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test27
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test38
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_idle_flush_pct_basic.test63
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_immediate_scrub_data_uncompressed_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_instrument_semaphores_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_io_capacity_max_basic.test85
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_arch_dir_basic.test68
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_arch_expire_sec_basic.test60
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_archive_basic.test61
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_checksum_algorithm_basic.test38
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test93
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test58
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_lwm_basic.test151
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_purge_lag_delay_basic.test43
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_merge_sort_block_size_basic.test19
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test383
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test383
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test383
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test383
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_mtflush_threads_basic.test21
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test51
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test70
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test22
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_persistent_stats_root_page_basic.test26
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_prefix_index_cluster_optimization_basic.test76
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test113
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_print_lock_wait_timeout_info_basic.test89
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_priority_cleaner_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_priority_io_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_priority_master_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_priority_purge_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_purge_run_now_basic.test53
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_purge_stop_now_basic.test53
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_read_only_basic.test20
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test35
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sched_priority_cleaner_basic.test51
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sched_priority_io_basic.test44
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sched_priority_master_basic.test44
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sched_priority_purge_basic.test44
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_scrub_log_basic.test50
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_scrub_log_speed_basic.test55
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sort_buffer_size_basic.test26
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_auto_recalc_basic.test31
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_include_delete_marked_basic.test53
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test31
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test57
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test57
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_status_output_basic.test69
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test69
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test31
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_thread_sleep_delay_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_tmpdir_basic.test48
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test85
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test95
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test77
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_use_mtflush_basic.test22
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_use_trim_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/key_cache_file_hash_size_basic.test168
-rw-r--r--mysql-test/suite/sys_vars/t/last_gtid_basic.test11
-rw-r--r--mysql-test/suite/sys_vars/t/lc_time_names_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/log_basic.test62
-rw-r--r--mysql-test/suite/sys_vars/t/log_bin_basename_basic.test13
-rw-r--r--mysql-test/suite/sys_vars/t/log_bin_index_basic.test13
-rw-r--r--mysql-test/suite/sys_vars/t/log_slow_admin_statements_func.test61
-rw-r--r--mysql-test/suite/sys_vars/t/log_slow_queries_basic.test186
-rw-r--r--mysql-test/suite/sys_vars/t/log_slow_verbosity_basic.test16
-rw-r--r--mysql-test/suite/sys_vars/t/log_tc_size_basic.test5
-rw-r--r--mysql-test/suite/sys_vars/t/max_digest_length_basic.test46
-rw-r--r--mysql-test/suite/sys_vars/t/max_prepared_stmt_count_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/max_prepared_stmt_count_func.test2
-rw-r--r--mysql-test/suite/sys_vars/t/max_relay_log_size_basic.test5
-rw-r--r--mysql-test/suite/sys_vars/t/max_statement_time_basic.test217
-rw-r--r--mysql-test/suite/sys_vars/t/max_user_connections_func.test1
-rw-r--r--mysql-test/suite/sys_vars/t/metadata_locks_hash_instances_basic.test60
-rw-r--r--mysql-test/suite/sys_vars/t/mutex_deadlock_detector_basic.test23
-rw-r--r--mysql-test/suite/sys_vars/t/myisam_sort_buffer_size_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/mysql56_temporal_format_basic.test165
-rw-r--r--mysql-test/suite/sys_vars/t/mysql56_temporal_format_func.test66
-rw-r--r--mysql-test/suite/sys_vars/t/old_mode_basic.test5
-rw-r--r--mysql-test/suite/sys_vars/t/optimizer_selectivity_sampling_limit_basic.test154
-rw-r--r--mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown1-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown1.test5
-rw-r--r--mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown2-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown2.test5
-rw-r--r--mysql-test/suite/sys_vars/t/optimizer_use_condition_selectivity_basic.test154
-rw-r--r--mysql-test/suite/sys_vars/t/oqgraph_allow_create_integer_latch_basic.test1
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_accounts_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_accounts_size_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_digests_size-master_basic.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_digests_size_basic.test47
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_events_stages_history_long_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_events_stages_history_long_size_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_events_stages_history_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_events_stages_history_size_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_events_statements_history_long_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_events_statements_history_long_size_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_events_statements_history_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_events_statements_history_size_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_hosts_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_hosts_size_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_digest_length-master_basic.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic.test47
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_socket_classes_basic-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_socket_classes_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_socket_instances_basic-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_socket_instances_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_stage_classes_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_stage_classes_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_statement_classes_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_max_statement_classes_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic.test47
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_users_size_basic-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/pfs_users_size_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/query_alloc_block_size_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/query_cache_limit_func.test3
-rw-r--r--mysql-test/suite/sys_vars/t/query_cache_type_func.test5
-rw-r--r--mysql-test/suite/sys_vars/t/query_cache_wlock_invalidate_func.test5
-rw-r--r--mysql-test/suite/sys_vars/t/query_prealloc_size_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/rand_seed1_basic.test3
-rw-r--r--mysql-test/suite/sys_vars/t/rand_seed2_basic.test3
-rw-r--r--mysql-test/suite/sys_vars/t/relay_log_basename_basic.test16
-rw-r--r--mysql-test/suite/sys_vars/t/relay_log_index_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/report_port_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_max_binlog_size_func-master.opt3
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_recovery_rank_basic.test180
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_semi_sync_master_enabled_basic.test7
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_semi_sync_master_timeout_basic.test7
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_semi_sync_master_trace_level_basic.test7
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_no_slave_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_point_basic.test40
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_enabled_basic.test7
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_trace_level_basic.test7
-rw-r--r--mysql-test/suite/sys_vars/t/server_id_basic.test8
-rw-r--r--mysql-test/suite/sys_vars/t/show_vs_valstr.test12
-rw-r--r--mysql-test/suite/sys_vars/t/skip_parallel_replication_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/slave_ddl_exec_mode_basic.test67
-rw-r--r--mysql-test/suite/sys_vars/t/slave_domain_parallel_threads_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/slave_parallel_max_queued_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/slave_parallel_mode_basic-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/slave_parallel_mode_basic.test34
-rw-r--r--mysql-test/suite/sys_vars/t/slave_parallel_threads_basic.cnf5
-rw-r--r--mysql-test/suite/sys_vars/t/slave_parallel_threads_basic.test21
-rw-r--r--mysql-test/suite/sys_vars/t/slave_run_triggers_for_rbr_basic.test30
-rw-r--r--mysql-test/suite/sys_vars/t/slow_query_log_basic.test15
-rw-r--r--mysql-test/suite/sys_vars/t/slow_query_log_func.test15
-rw-r--r--mysql-test/suite/sys_vars/t/sql_big_selects_func.test2
-rw-r--r--mysql-test/suite/sys_vars/t/sql_big_tables_basic.test170
-rw-r--r--mysql-test/suite/sys_vars/t/sql_big_tables_func.test145
-rw-r--r--mysql-test/suite/sys_vars/t/sql_buffer_result_func.test10
-rw-r--r--mysql-test/suite/sys_vars/t/sql_low_priority_updates_basic.test221
-rw-r--r--mysql-test/suite/sys_vars/t/sql_low_priority_updates_func.test4
-rw-r--r--mysql-test/suite/sys_vars/t/sql_max_join_size_basic.test51
-rw-r--r--mysql-test/suite/sys_vars/t/sql_max_join_size_func.test133
-rw-r--r--mysql-test/suite/sys_vars/t/sql_slave_skip_counter_basic.test8
-rw-r--r--mysql-test/suite/sys_vars/t/ssl_ca_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/ssl_cert_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/ssl_crl_basic.test3
-rw-r--r--mysql-test/suite/sys_vars/t/ssl_crlpath_basic.test3
-rw-r--r--mysql-test/suite/sys_vars/t/ssl_key_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_aria.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_aria.test7
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_debug.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_debug.test7
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_innodb.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_innodb.test19
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_server_embedded.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_server_embedded.test2
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_server_notembedded.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_server_notembedded.test2
-rw-r--r--mysql-test/suite/sys_vars/t/sysvars_wsrep.test13
-rw-r--r--mysql-test/suite/sys_vars/t/table_definition_cache_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/thread_pool_size_high.test1
-rw-r--r--mysql-test/suite/sys_vars/t/thread_stack_basic.test10
-rw-r--r--mysql-test/suite/sys_vars/t/transaction_prealloc_size_bug27322.test32
-rw-r--r--mysql-test/suite/sys_vars/t/tx_read_only_basic.test199
-rw-r--r--mysql-test/suite/sys_vars/t/use_stat_tables_basic.test100
-rw-r--r--mysql-test/suite/sys_vars/t/version_malloc_library_basic.test90
-rw-r--r--mysql-test/suite/sys_vars/t/version_ssl_library_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/wait_timeout_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_auto_increment_control_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_causal_reads_basic.test45
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_certify_nonpk_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_cluster_address_basic.test49
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_cluster_name_basic.test40
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_convert_lock_to_trx_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_data_home_dir_basic.test28
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_dbug_option_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_debug_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_desync_basic.test57
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_dirty_reads_basic.test48
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_drupal_282555_workaround_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_forced_binlog_format_basic.test46
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_gtid_domain_id_basic.test43
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_gtid_mode_basic.test33
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_load_data_splitting_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_log_conflicts_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_max_ws_rows_basic.test45
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_max_ws_size_basic.test44
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_mysql_replication_bundle_basic.test45
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_node_address_basic.test45
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_node_incoming_address_basic.test47
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_node_name_basic.test54
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_notify_cmd_basic.test43
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_on_basic.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_on_basic.test45
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_osu_method_basic.test49
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_provider_basic.test39
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_provider_options_basic.test51
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_recover_basic.test26
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_replicate_myisam_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_restart_slave_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_retry_autocommit_basic.test52
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_slave_fk_checks_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_slave_threads_basic.test43
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_slave_uk_checks_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_sst_auth_basic.test45
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_sst_donor_basic.test43
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_sst_donor_rejects_queries_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_sst_method_basic.test52
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_sst_receive_address_basic.test49
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_start_position_basic.test56
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_sync_wait_basic.test47
-rw-r--r--mysql-test/suite/unit/suite.pm13
-rw-r--r--mysql-test/suite/vcol/inc/vcol_blocked_sql_funcs_main.inc16
-rw-r--r--mysql-test/suite/vcol/inc/vcol_non_stored_columns.inc16
-rw-r--r--mysql-test/suite/vcol/inc/vcol_supported_sql_funcs_main.inc22
-rw-r--r--mysql-test/suite/vcol/r/alter_inplace-9045.result44
-rw-r--r--mysql-test/suite/vcol/r/charsets.result31
-rw-r--r--mysql-test/suite/vcol/r/innodb_autoinc_vcol.result16
-rw-r--r--mysql-test/suite/vcol/r/load_data.result20
-rw-r--r--mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_innodb.result12
-rw-r--r--mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_myisam.result12
-rw-r--r--mysql-test/suite/vcol/r/vcol_merge.result2
-rw-r--r--mysql-test/suite/vcol/r/vcol_misc.result51
-rw-r--r--mysql-test/suite/vcol/r/vcol_non_stored_columns_innodb.result20
-rw-r--r--mysql-test/suite/vcol/r/vcol_non_stored_columns_myisam.result20
-rw-r--r--mysql-test/suite/vcol/r/vcol_supported_sql_funcs_innodb.result53
-rw-r--r--mysql-test/suite/vcol/r/vcol_supported_sql_funcs_myisam.result53
-rw-r--r--mysql-test/suite/vcol/t/alter_inplace-9045.test31
-rw-r--r--mysql-test/suite/vcol/t/charsets.test24
-rw-r--r--mysql-test/suite/vcol/t/innodb_autoinc_vcol.test9
-rw-r--r--mysql-test/suite/vcol/t/load_data.test13
-rw-r--r--mysql-test/suite/vcol/t/rpl_vcol.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_blocked_sql_funcs_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_column_def_options_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_handler_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_ins_upd_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_keys_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_misc.test31
-rw-r--r--mysql-test/suite/vcol/t/vcol_non_stored_columns_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_partition_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_select_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_supported_sql_funcs_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_trigger_sp_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/vcol_view_innodb.test2
-rw-r--r--mysql-test/suite/vcol/t/wrong_arena.test2
-rw-r--r--mysql-test/suite/wsrep/README7
-rw-r--r--mysql-test/suite/wsrep/disabled.def1
-rw-r--r--mysql-test/suite/wsrep/include/check_galera_version.inc43
-rw-r--r--mysql-test/suite/wsrep/my.cnf12
-rw-r--r--mysql-test/suite/wsrep/r/alter_table_innodb.result8
-rw-r--r--mysql-test/suite/wsrep/r/binlog_format.result61
-rw-r--r--mysql-test/suite/wsrep/r/foreign_key.result19
-rw-r--r--mysql-test/suite/wsrep/r/mdev_10186.result11
-rw-r--r--mysql-test/suite/wsrep/r/mdev_6832.result11
-rw-r--r--mysql-test/suite/wsrep/r/mdev_7798.result13
-rw-r--r--mysql-test/suite/wsrep/r/mysql_tzinfo_to_sql_symlink.result78
-rw-r--r--mysql-test/suite/wsrep/r/plugin.result3
-rw-r--r--mysql-test/suite/wsrep/r/pool_of_threads.result8
-rw-r--r--mysql-test/suite/wsrep/r/trans.result9
-rw-r--r--mysql-test/suite/wsrep/r/variables.result186
-rw-r--r--mysql-test/suite/wsrep/r/wsrep_rpl.result22
-rw-r--r--mysql-test/suite/wsrep/suite.pm36
-rw-r--r--mysql-test/suite/wsrep/t/alter_table_innodb.opt1
-rw-r--r--mysql-test/suite/wsrep/t/alter_table_innodb.test10
-rw-r--r--mysql-test/suite/wsrep/t/binlog_format.opt1
-rw-r--r--mysql-test/suite/wsrep/t/binlog_format.test47
-rw-r--r--mysql-test/suite/wsrep/t/foreign_key.opt1
-rw-r--r--mysql-test/suite/wsrep/t/foreign_key.test20
-rw-r--r--mysql-test/suite/wsrep/t/mdev_10186.opt1
-rw-r--r--mysql-test/suite/wsrep/t/mdev_10186.test13
-rw-r--r--mysql-test/suite/wsrep/t/mdev_6832.opt1
-rw-r--r--mysql-test/suite/wsrep/t/mdev_6832.test15
-rw-r--r--mysql-test/suite/wsrep/t/mdev_7798.opt1
-rw-r--r--mysql-test/suite/wsrep/t/mdev_7798.test17
-rw-r--r--mysql-test/suite/wsrep/t/mysql_tzinfo_to_sql_symlink.test40
-rw-r--r--mysql-test/suite/wsrep/t/plugin.test7
-rw-r--r--mysql-test/suite/wsrep/t/pool_of_threads.opt1
-rw-r--r--mysql-test/suite/wsrep/t/pool_of_threads.test12
-rw-r--r--mysql-test/suite/wsrep/t/trans.test14
-rw-r--r--mysql-test/suite/wsrep/t/variables.test160
-rw-r--r--mysql-test/suite/wsrep/t/wsrep_rpl.cnf1
-rw-r--r--mysql-test/suite/wsrep/t/wsrep_rpl.test44
4507 files changed, 425513 insertions, 45806 deletions
diff --git a/mysql-test/suite/archive/archive.result b/mysql-test/suite/archive/archive.result
index b4c4aab621d..1cbaa0a31ea 100644
--- a/mysql-test/suite/archive/archive.result
+++ b/mysql-test/suite/archive/archive.result
@@ -6257,7 +6257,7 @@ auto fld1 companynr fld3 fld4 fld5 fld6
3 011402 37 Romans scholastics jarring
4 011403 37 intercepted audiology tinily
DELETE FROM t2;
-ERROR HY000: Table storage engine for 't2' doesn't have this option
+ERROR HY000: Storage engine ARCHIVE of the table `test`.`t2` doesn't have this option
SELECT * FROM t2;
auto fld1 companynr fld3 fld4 fld5 fld6
1 000001 00 Omaha teethe neat
@@ -8689,7 +8689,7 @@ auto fld1 companynr fld3 fld4 fld5 fld6
3 011402 37 Romans scholastics jarring
4 011403 37 intercepted audiology tinily
TRUNCATE TABLE t2;
-ERROR HY000: Table storage engine for 't2' doesn't have this option
+ERROR HY000: Storage engine ARCHIVE of the table `test`.`t2` doesn't have this option
SELECT * FROM t2;
auto fld1 companynr fld3 fld4 fld5 fld6
1 000001 00 Omaha teethe neat
@@ -12701,12 +12701,12 @@ CREATE TABLE t1(a INT, b BLOB) ENGINE=archive;
SELECT DATA_LENGTH, AVG_ROW_LENGTH FROM
INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test';
DATA_LENGTH AVG_ROW_LENGTH
-8666 15
+550 15
INSERT INTO t1 VALUES(1, 'sampleblob1'),(2, 'sampleblob2');
SELECT DATA_LENGTH, AVG_ROW_LENGTH FROM
INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test';
DATA_LENGTH AVG_ROW_LENGTH
-8700 4350
+584 292
DROP TABLE t1;
SET @save_join_buffer_size= @@join_buffer_size;
SET @@join_buffer_size= 8192;
@@ -12729,16 +12729,6 @@ id id name name
1 1 a b
2 2 a b
DROP TABLE t1,t2;
-flush tables;
-SHOW CREATE TABLE t1;
-ERROR HY000: Table upgrade required. Please do "REPAIR TABLE `t1`" or dump/reload to fix it!
-SELECT * FROM t1;
-ERROR HY000: Table upgrade required. Please do "REPAIR TABLE `t1`" or dump/reload to fix it!
-INSERT INTO t1 (col1, col2) VALUES (1, "value");
-ERROR HY000: Table upgrade required. Please do "REPAIR TABLE `t1`" or dump/reload to fix it!
-REPAIR TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -12747,23 +12737,18 @@ t1 CREATE TABLE `t1` (
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
SELECT * FROM t1;
col1 col2
+INSERT INTO t1 (col1, col2) VALUES (1, "value");
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
DROP TABLE t1;
#
-# BUG#48757 - missing .ARZ file causes server crash
-#
-CREATE TABLE t1(a INT) ENGINE=ARCHIVE;
-FLUSH TABLE t1;
-SELECT * FROM t1;
-ERROR HY000: Can't find file: 't1' (errno: 2)
-DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
-#
# Ensure that TRUNCATE fails for non-empty archive tables.
#
CREATE TABLE t1 (a INT) ENGINE=ARCHIVE;
INSERT INTO t1 VALUES (1);
TRUNCATE TABLE t1;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine ARCHIVE of the table `test`.`t1` doesn't have this option
DROP TABLE t1;
#
# BUG#46565 - repair of partition fail for archive engine
@@ -12785,38 +12770,6 @@ a
2
DROP TABLE t1;
#
-# Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE
-#
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (a int) ENGINE=ARCHIVE;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES (1);
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-FLUSH TABLES;
-INSERT INTO t1 VALUES (2);
-SELECT * FROM t1 ORDER BY a;
-a
-1
-2
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
-DROP TABLE t1;
-#
-# BUG#58205 - Valgrind failure in fn_format when called from
-# archive_discover
-#
-CREATE TABLE `a/../`(a INT) ENGINE=ARCHIVE;
-DROP TABLE `a/../`;
-#
# BUG#57162 - valgrind errors, random data when returning
# ordered data from archive tables
#
@@ -12833,6 +12786,62 @@ a b c d e f
DROP TABLE t1;
SET sort_buffer_size=DEFAULT;
#
+# BUG#11756687 - 48633: ARCHIVE TABLES ARE NOT UPGRADEABLE
+#
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` text,
+ `c` varchar(255) DEFAULT NULL,
+ `d` blob,
+ `e` blob
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+SELECT * FROM t1;
+a b c d e
+1 text varchar blob1 blob2
+2 text varchar blob1 blob2
+SELECT * FROM t1;
+a b c d e
+1 text varchar blob1 blob2
+2 text varchar blob1 blob2
+FLUSH TABLE t1;
+SELECT * FROM t1;
+a b c d e
+1 text varchar blob1 blob2
+2 text varchar blob1 blob2
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check error Upgrade required. Please do "REPAIR TABLE `t1`" or dump/reload to fix it!
+SELECT * FROM t1;
+a b c d e
+1 text varchar blob1 blob2
+2 text varchar blob1 blob2
+INSERT INTO t1 VALUES(3, 'text', 'varchar', 'blob1', 'blob2');
+SELECT * FROM t1;
+a b c d e
+1 text varchar blob1 blob2
+2 text varchar blob1 blob2
+3 text varchar blob1 blob2
+FLUSH TABLE t1;
+SELECT * FROM t1;
+a b c d e
+1 text varchar blob1 blob2
+2 text varchar blob1 blob2
+3 text varchar blob1 blob2
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+SELECT * FROM t1;
+a b c d e
+1 text varchar blob1 blob2
+2 text varchar blob1 blob2
+3 text varchar blob1 blob2
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+#
# BUG#11758979 - 51252: ARCHIVE TABLES STILL FAIL UNDER STRESS
# TESTS: CRASH, CORRUPTION, 4G MEMOR
# (to be executed with valgrind)
@@ -12852,13 +12861,48 @@ Table Op Msg_type Msg_text
test.t1 optimize status OK
DROP TABLE t1;
#
+# Bug#13907676: HA_ARCHIVE::INFO
+#
+CREATE TABLE t1 (a INT) ENGINE=ARCHIVE;
+CREATE TABLE t2 SELECT * FROM t1;
+SELECT * FROM t2;
+a
+DROP TABLE t1, t2;
+#
# BUG#917689 Using wrong archive table causes crash
#
create table t1 (a int, b char(50)) engine=archive;
select * from t1;
+a b
+flush tables;
+select * from t1;
ERROR HY000: Table 't1' is marked as crashed and should be repaired
show warnings;
Level Code Message
-Warning 127 Got error 127 when reading table `test`.`t1`
Error 1194 Table 't1' is marked as crashed and should be repaired
drop table t1;
+create temporary table t1 (a int) engine=archive;
+insert t1 values (1),(2),(3);
+select * from t1;
+a
+1
+2
+3
+show create table t1;
+Table Create Table
+t1 CREATE TEMPORARY TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+alter table t1 add column b varchar(10);
+select * from t1;
+a b
+1 NULL
+2 NULL
+3 NULL
+show create table t1;
+Table Create Table
+t1 CREATE TEMPORARY TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(10) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+drop table t1;
diff --git a/mysql-test/suite/archive/archive.test b/mysql-test/suite/archive/archive.test
index 5dd85bf1aba..81a73683541 100644
--- a/mysql-test/suite/archive/archive.test
+++ b/mysql-test/suite/archive/archive.test
@@ -3,7 +3,6 @@
# Taken FROM the select test
#
-- source include/have_archive.inc
--- source include/have_binlog_format_mixed_or_statement.inc
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
call mtr.add_suppression("Table 't1' is marked as crashed and should be repaired");
@@ -13,6 +12,7 @@ DROP TABLE if exists t1,t2,t3,t4,t5,t6;
--enable_warnings
SET storage_engine=ARCHIVE;
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
CREATE TABLE t1 (
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
@@ -1644,40 +1644,17 @@ DROP TABLE t1,t2;
#
# BUG#47012 archive tables are not upgradeable, and server crashes on any access
#
-let $MYSQLD_DATADIR= `SELECT @@datadir`;
-
-# Remove files to handle possible restart of test
-flush tables;
-remove_files_wildcard $MYSQLD_DATADIR/test t1.*;
-
copy_file std_data/bug47012.frm $MYSQLD_DATADIR/test/t1.frm;
copy_file std_data/bug47012.ARZ $MYSQLD_DATADIR/test/t1.ARZ;
copy_file std_data/bug47012.ARM $MYSQLD_DATADIR/test/t1.ARM;
---error ER_TABLE_NEEDS_UPGRADE
SHOW CREATE TABLE t1;
---error ER_TABLE_NEEDS_UPGRADE
SELECT * FROM t1;
---error ER_TABLE_NEEDS_UPGRADE
INSERT INTO t1 (col1, col2) VALUES (1, "value");
REPAIR TABLE t1;
-SHOW CREATE TABLE t1;
-SELECT * FROM t1;
-DROP TABLE t1;
-remove_file $MYSQLD_DATADIR/test/t1.ARM;
-
---echo #
---echo # BUG#48757 - missing .ARZ file causes server crash
---echo #
-CREATE TABLE t1(a INT) ENGINE=ARCHIVE;
-FLUSH TABLE t1;
---remove_file $MYSQLD_DATADIR/test/t1.ARZ
---error ER_FILE_NOT_FOUND
-SELECT * FROM t1;
---error ER_BAD_TABLE_ERROR
DROP TABLE t1;
--echo #
@@ -1712,33 +1689,6 @@ REPAIR TABLE t1 EXTENDED;
SELECT * FROM t1;
DROP TABLE t1;
---echo #
---echo # Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE
---echo #
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-CREATE TABLE t1 (a int) ENGINE=ARCHIVE;
-SHOW CREATE TABLE t1;
-INSERT INTO t1 VALUES (1);
-OPTIMIZE TABLE t1;
-let $MYSQLD_DATADIR= `select @@datadir`;
-remove_file $MYSQLD_DATADIR/test/t1.frm;
-FLUSH TABLES;
-INSERT INTO t1 VALUES (2);
-SELECT * FROM t1 ORDER BY a;
-SHOW CREATE TABLE t1;
-DROP TABLE t1;
-
---echo #
---echo # BUG#58205 - Valgrind failure in fn_format when called from
---echo # archive_discover
---echo #
-CREATE TABLE `a/../`(a INT) ENGINE=ARCHIVE;
-remove_file $MYSQLD_DATADIR/test/a@002f@002e@002e@002f.frm;
-DROP TABLE `a/../`;
--echo #
--echo # BUG#57162 - valgrind errors, random data when returning
@@ -1755,6 +1705,35 @@ SELECT * FROM t1 ORDER BY f LIMIT 1;
DROP TABLE t1;
SET sort_buffer_size=DEFAULT;
+--echo #
+--echo # BUG#11756687 - 48633: ARCHIVE TABLES ARE NOT UPGRADEABLE
+--echo #
+copy_file std_data/bug48633.frm $MYSQLD_DATADIR/test/t1.frm;
+copy_file std_data/bug48633.ARZ $MYSQLD_DATADIR/test/t1.ARZ;
+copy_file std_data/bug48633.ARM $MYSQLD_DATADIR/test/t1.ARM;
+SHOW CREATE TABLE t1;
+# Test first table scan
+SELECT * FROM t1;
+# Test second table scan
+SELECT * FROM t1;
+# Test table close
+FLUSH TABLE t1;
+SELECT * FROM t1;
+# Test check
+CHECK TABLE t1;
+SELECT * FROM t1;
+# Test insert
+INSERT INTO t1 VALUES(3, 'text', 'varchar', 'blob1', 'blob2');
+SELECT * FROM t1;
+# Test table close after insert
+FLUSH TABLE t1;
+SELECT * FROM t1;
+# Test repair
+REPAIR TABLE t1;
+SELECT * FROM t1;
+# Test check table after upgrade
+CHECK TABLE t1;
+DROP TABLE t1;
--echo #
--echo # BUG#11758979 - 51252: ARCHIVE TABLES STILL FAIL UNDER STRESS
@@ -1771,12 +1750,35 @@ OPTIMIZE TABLE t1;
DROP TABLE t1;
--echo #
+--echo # Bug#13907676: HA_ARCHIVE::INFO
+--echo #
+CREATE TABLE t1 (a INT) ENGINE=ARCHIVE;
+CREATE TABLE t2 SELECT * FROM t1;
+SELECT * FROM t2;
+DROP TABLE t1, t2;
+
+--echo #
--echo # BUG#917689 Using wrong archive table causes crash
--echo #
create table t1 (a int, b char(50)) engine=archive;
+select * from t1; # open the table to create the frm
+flush tables; # and close the table again
--remove_file $MYSQLD_DATADIR/test/t1.ARZ
copy_file std_data/t917689.ARZ $MYSQLD_DATADIR/test/t1.ARZ;
---error 1194
+--error ER_CRASHED_ON_USAGE
select * from t1;
show warnings;
drop table t1;
+
+#
+# temporary archive
+#
+create temporary table t1 (a int) engine=archive;
+insert t1 values (1),(2),(3);
+select * from t1;
+show create table t1;
+alter table t1 add column b varchar(10);
+select * from t1;
+show create table t1;
+drop table t1;
+
diff --git a/mysql-test/suite/archive/archive_eits.result b/mysql-test/suite/archive/archive_eits.result
new file mode 100644
index 00000000000..e077c2e4954
--- /dev/null
+++ b/mysql-test/suite/archive/archive_eits.result
@@ -0,0 +1,24 @@
+drop table if exists t1;
+#
+# MDEV-17297: stats.records=0 for a table of Archive engine when it has rows, when we run ANALYZE command
+#
+CREATE TABLE t1 (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POINT)engine=archive;
+INSERT INTO t1 VALUES
+(101, PointFromText('POINT(10 10)')),
+(102, PointFromText('POINT(20 10)')),
+(103, PointFromText('POINT(20 20)')),
+(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
+set @tmp1= @@optimizer_use_condition_selectivity;
+set @tmp2= @@use_stat_tables;
+set optimizer_use_condition_selectivity=4;
+set use_stat_tables=PREFERABLY;
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze note The storage engine for the table doesn't support analyze
+select * from mysql.table_stats where table_name='t1' and db_name=database();
+db_name table_name cardinality
+test t1 4
+drop table t1;
+set optimizer_use_condition_selectivity=@tmp1;
+set use_stat_tables=@tmp2;
diff --git a/mysql-test/suite/archive/archive_eits.test b/mysql-test/suite/archive/archive_eits.test
new file mode 100644
index 00000000000..04c4ccdb709
--- /dev/null
+++ b/mysql-test/suite/archive/archive_eits.test
@@ -0,0 +1,32 @@
+-- source include/have_archive.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+--echo #
+--echo # MDEV-17297: stats.records=0 for a table of Archive engine when it has rows, when we run ANALYZE command
+--echo #
+
+CREATE TABLE t1 (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POINT)engine=archive;
+INSERT INTO t1 VALUES
+(101, PointFromText('POINT(10 10)')),
+(102, PointFromText('POINT(20 10)')),
+(103, PointFromText('POINT(20 20)')),
+(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
+
+set @tmp1= @@optimizer_use_condition_selectivity;
+set @tmp2= @@use_stat_tables;
+
+set optimizer_use_condition_selectivity=4;
+set use_stat_tables=PREFERABLY;
+ANALYZE TABLE t1;
+
+select * from mysql.table_stats where table_name='t1' and db_name=database();
+
+drop table t1;
+
+set optimizer_use_condition_selectivity=@tmp1;
+set use_stat_tables=@tmp2;
+
+
diff --git a/mysql-test/suite/archive/archive_gis.result b/mysql-test/suite/archive/archive_gis.result
index 97f48407db2..80c1e347764 100644
--- a/mysql-test/suite/archive/archive_gis.result
+++ b/mysql-test/suite/archive/archive_gis.result
@@ -326,8 +326,8 @@ fid IsClosed(g)
116 0
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
fid AsText(Centroid(g))
-117 POINT(55.58852775304245 17.426536064113982)
-118 POINT(55.58852775304245 17.426536064113982)
+117 POINT(57.98031067576927 17.854754130800433)
+118 POINT(57.98031067576927 17.854754130800433)
119 POINT(2 2)
SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
fid Area(g)
@@ -392,10 +392,10 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
first second w c o e d t i r
-120 120 1 1 0 1 0 1 1 0
+120 120 1 1 0 1 0 0 1 0
120 121 0 0 1 0 0 0 1 0
121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 1 1 0
+121 121 1 1 0 1 0 0 1 0
explain extended SELECT g1.fid as first, g2.fid as second,
Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
@@ -494,7 +494,7 @@ mbroverlaps
down,left,right,up
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
mbrtouches
-big,center,down,down2,left,left2,right,right2,small,up,up2
+down2,left2,right2,up2
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
mbrwithin
big,center
@@ -515,7 +515,7 @@ overlaps
down,left,right,up
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
touches
-big,center,down,down2,left,left2,right,right2,small,up,up2
+down2,left2,right2,up2
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
within
big,center
diff --git a/mysql-test/suite/archive/archive_no_symlink-master.opt b/mysql-test/suite/archive/archive_no_symlink-master.opt
new file mode 100644
index 00000000000..c7844699cdb
--- /dev/null
+++ b/mysql-test/suite/archive/archive_no_symlink-master.opt
@@ -0,0 +1 @@
+--skip-symbolic-links
diff --git a/mysql-test/suite/archive/archive_no_symlink.result b/mysql-test/suite/archive/archive_no_symlink.result
new file mode 100644
index 00000000000..9ee114ae90f
--- /dev/null
+++ b/mysql-test/suite/archive/archive_no_symlink.result
@@ -0,0 +1,26 @@
+#
+# This test shows that DATA DIRECTORY and INDEX DIRECTORY are
+# ignored where symbolic links are not supported such as Windows.
+#
+CREATE TABLE t1 (
+c1 int(10) unsigned NOT NULL AUTO_INCREMENT,
+c2 varchar(30) NOT NULL,
+c3 smallint(5) unsigned DEFAULT NULL,
+PRIMARY KEY (c1))
+ENGINE = archive
+DATA DIRECTORY = 'MYSQL_TMP_DIR/archive' INDEX DIRECTORY = 'MYSQL_TMP_DIR/archive';
+Warnings:
+Warning 1618 <DATA DIRECTORY> option ignored
+Warning 1618 <INDEX DIRECTORY> option ignored
+INSERT INTO t1 VALUES (NULL, "first", 1);
+INSERT INTO t1 VALUES (NULL, "second", 2);
+INSERT INTO t1 VALUES (NULL, "third", 3);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `c2` varchar(30) NOT NULL,
+ `c3` smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
+DROP TABLE t1;
diff --git a/mysql-test/suite/archive/archive_no_symlink.test b/mysql-test/suite/archive/archive_no_symlink.test
new file mode 100644
index 00000000000..737b8444007
--- /dev/null
+++ b/mysql-test/suite/archive/archive_no_symlink.test
@@ -0,0 +1,26 @@
+# Test archive engine when symbolic links are not available.
+--source include/have_archive.inc
+
+--echo #
+--echo # This test shows that DATA DIRECTORY and INDEX DIRECTORY are
+--echo # ignored where symbolic links are not supported such as Windows.
+--echo #
+
+let $data_directory = DATA DIRECTORY = '$MYSQL_TMP_DIR/archive';
+let $index_directory = INDEX DIRECTORY = '$MYSQL_TMP_DIR/archive';
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval CREATE TABLE t1 (
+ c1 int(10) unsigned NOT NULL AUTO_INCREMENT,
+ c2 varchar(30) NOT NULL,
+ c3 smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (c1))
+ENGINE = archive
+$data_directory $index_directory;
+
+INSERT INTO t1 VALUES (NULL, "first", 1);
+INSERT INTO t1 VALUES (NULL, "second", 2);
+INSERT INTO t1 VALUES (NULL, "third", 3);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/archive/archive_plugin.result b/mysql-test/suite/archive/archive_plugin.result
index 90c1f10bf19..5656704989e 100644
--- a/mysql-test/suite/archive/archive_plugin.result
+++ b/mysql-test/suite/archive/archive_plugin.result
@@ -1,11 +1,8 @@
CREATE TABLE t1(a int) ENGINE=ARCHIVE;
-Warnings:
-Warning 1286 Unknown storage engine 'ARCHIVE'
-Warning 1266 Using storage engine MyISAM for table 't1'
-DROP TABLE t1;
+ERROR 42000: Unknown storage engine 'ARCHIVE'
INSTALL PLUGIN archive SONAME 'ha_archive.so';
INSTALL PLUGIN ARCHIVE SONAME 'ha_archive.so';
-ERROR HY000: Function 'ARCHIVE' already exists
+ERROR HY000: Plugin 'ARCHIVE' already installed
UNINSTALL PLUGIN archive;
INSTALL PLUGIN archive SONAME 'ha_archive.so';
CREATE TABLE t1(a int) ENGINE=ARCHIVE;
diff --git a/mysql-test/suite/archive/archive_plugin.test b/mysql-test/suite/archive/archive_plugin.test
index ba80652fb02..69bf9a5f4ce 100644
--- a/mysql-test/suite/archive/archive_plugin.test
+++ b/mysql-test/suite/archive/archive_plugin.test
@@ -2,12 +2,12 @@ if (!$HA_ARCHIVE_SO) {
--skip Need archive plugin
}
+--error ER_UNKNOWN_STORAGE_ENGINE
CREATE TABLE t1(a int) ENGINE=ARCHIVE;
-DROP TABLE t1;
--replace_regex /\.dll/.so/
eval INSTALL PLUGIN archive SONAME '$HA_ARCHIVE_SO';
--replace_regex /\.dll/.so/
---error 1125
+--error ER_PLUGIN_INSTALLED
eval INSTALL PLUGIN ARCHIVE SONAME '$HA_ARCHIVE_SO';
UNINSTALL PLUGIN archive;
diff --git a/mysql-test/suite/archive/archive_symlink.result b/mysql-test/suite/archive/archive_symlink.result
new file mode 100644
index 00000000000..de5c4c071d6
--- /dev/null
+++ b/mysql-test/suite/archive/archive_symlink.result
@@ -0,0 +1,57 @@
+#
+# Archive can only use an existing directory for DATA DIRECTORY.
+#
+CREATE TABLE t1 (a int AUTO_INCREMENT KEY, b char(30))
+ENGINE archive DATA DIRECTORY = 'MYSQL_TMP_DIR/archive' INDEX DIRECTORY = 'MYSQL_TMP_DIR/archive';
+ERROR HY000: Can't create table `test`.`t1` (errno: 2 "No such file or directory")
+#
+# mkdir MYSQL_TMP_DIR/archive and try again...
+# Archive will use a symlink for DATA DIRECTORY but ignore INDEX DIRECTORY.
+#
+CREATE TABLE t1 (a int AUTO_INCREMENT KEY, b char(30))
+ENGINE archive DATA DIRECTORY = 'MYSQL_TMP_DIR/archive' INDEX DIRECTORY = 'MYSQL_TMP_DIR/archive';
+Warnings:
+Warning 1618 <INDEX DIRECTORY> option ignored
+INSERT INTO t1 VALUES (NULL, "blue");
+INSERT INTO t1 VALUES (NULL, "red");
+INSERT INTO t1 VALUES (NULL, "yellow");
+# Checking if archive file exists where we specified in DATA DIRECTORY
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` char(30) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/archive/'
+DROP TABLE t1;
+#
+# Be sure SQL MODE "NO_DIR_IN_CREATE" prevents the use of DATA DIRECTORY
+#
+SET @org_mode=@@sql_mode;
+SET @@sql_mode='NO_DIR_IN_CREATE';
+SELECT @@sql_mode;
+@@sql_mode
+NO_DIR_IN_CREATE
+CREATE TABLE t1 (a int AUTO_INCREMENT KEY, b char(30))
+ENGINE archive DATA DIRECTORY = 'MYSQL_TMP_DIR/archive';
+Warnings:
+Warning 1618 <DATA DIRECTORY> option ignored
+INSERT INTO t1 VALUES (NULL, "blue");
+INSERT INTO t1 VALUES (NULL, "red");
+INSERT INTO t1 VALUES (NULL, "yellow");
+# Checking if archive file exists in --datadir since DATA DIRECTORY was ignored.
+DROP TABLE t1;
+set @@sql_mode=@org_mode;
+#
+# MySQL engine does not allow DATA DIRECTORY to be
+# within --datadir for any engine, including Archive
+#
+CREATE TABLE t1 (a int AUTO_INCREMENT KEY, b char(30))
+ENGINE archive DATA DIRECTORY 'MYSQLD_DATADIR/test';
+ERROR HY000: Incorrect arguments to DATA DIRECTORY
+CREATE TABLE t1 (c1 int(10), PRIMARY KEY (c1))
+ENGINE archive INDEX DIRECTORY 'MYSQLD_DATADIR/test';
+ERROR HY000: Incorrect arguments to INDEX DIRECTORY
+#
+# Cleanup
+#
diff --git a/mysql-test/suite/archive/archive_symlink.test b/mysql-test/suite/archive/archive_symlink.test
new file mode 100644
index 00000000000..1c79e153146
--- /dev/null
+++ b/mysql-test/suite/archive/archive_symlink.test
@@ -0,0 +1,72 @@
+# Test archive engine when symbolic links are available.
+--source include/not_windows.inc
+--source include/have_archive.inc
+
+# DATA DIRECTORY/INDEX DIRECTORY require symbolic link support
+--source include/have_symlink.inc
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+let $data_directory = DATA DIRECTORY = '$MYSQL_TMP_DIR/archive';
+let $index_directory = INDEX DIRECTORY = '$MYSQL_TMP_DIR/archive';
+
+--echo #
+--echo # Archive can only use an existing directory for DATA DIRECTORY.
+--echo #
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+--error ER_CANT_CREATE_TABLE
+eval CREATE TABLE t1 (a int AUTO_INCREMENT KEY, b char(30))
+ ENGINE archive $data_directory $index_directory;
+
+--echo #
+--echo # mkdir MYSQL_TMP_DIR/archive and try again...
+--echo # Archive will use a symlink for DATA DIRECTORY but ignore INDEX DIRECTORY.
+--echo #
+--mkdir $MYSQL_TMP_DIR/archive
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval CREATE TABLE t1 (a int AUTO_INCREMENT KEY, b char(30))
+ ENGINE archive $data_directory $index_directory;
+INSERT INTO t1 VALUES (NULL, "blue");
+INSERT INTO t1 VALUES (NULL, "red");
+INSERT INTO t1 VALUES (NULL, "yellow");
+--echo # Checking if archive file exists where we specified in DATA DIRECTORY
+--file_exists $MYSQL_TMP_DIR/archive/t1.ARZ
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+--echo #
+--echo # Be sure SQL MODE "NO_DIR_IN_CREATE" prevents the use of DATA DIRECTORY
+--echo #
+SET @org_mode=@@sql_mode;
+SET @@sql_mode='NO_DIR_IN_CREATE';
+SELECT @@sql_mode;
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval CREATE TABLE t1 (a int AUTO_INCREMENT KEY, b char(30))
+ ENGINE archive $data_directory;
+INSERT INTO t1 VALUES (NULL, "blue");
+INSERT INTO t1 VALUES (NULL, "red");
+INSERT INTO t1 VALUES (NULL, "yellow");
+--echo # Checking if archive file exists in --datadir since DATA DIRECTORY was ignored.
+--file_exists $MYSQLD_DATADIR/test/t1.ARZ
+DROP TABLE t1;
+set @@sql_mode=@org_mode;
+
+--echo #
+--echo # MySQL engine does not allow DATA DIRECTORY to be
+--echo # within --datadir for any engine, including Archive
+--echo #
+--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
+--error ER_WRONG_ARGUMENTS
+eval CREATE TABLE t1 (a int AUTO_INCREMENT KEY, b char(30))
+ ENGINE archive DATA DIRECTORY '$MYSQLD_DATADIR/test';
+
+--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
+--error ER_WRONG_ARGUMENTS
+eval CREATE TABLE t1 (c1 int(10), PRIMARY KEY (c1))
+ENGINE archive INDEX DIRECTORY '$MYSQLD_DATADIR/test';
+
+--echo #
+--echo # Cleanup
+--echo #
+--rmdir $MYSQL_TMP_DIR/archive
+
diff --git a/mysql-test/suite/archive/discover.result b/mysql-test/suite/archive/discover.result
new file mode 100644
index 00000000000..0619ca2051a
--- /dev/null
+++ b/mysql-test/suite/archive/discover.result
@@ -0,0 +1,148 @@
+create table t1 (a int) engine=archive;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+insert t1 values (1);
+show tables;
+Tables_in_test
+t1
+#
+# simple discover on use
+#
+flush tables;
+insert t1 values (2);
+select * from t1;
+a
+1
+2
+t1.ARZ
+t1.frm
+#
+# show tables
+#
+create table t2 (a int) engine=archive;
+select * from t2;
+a
+flush tables;
+show tables;
+Tables_in_test
+t1
+t2
+t1.ARZ
+t2.ARZ
+t2.frm
+#
+# show full tables
+#
+flush tables;
+show full tables;
+Tables_in_test Table_type
+t1 BASE TABLE
+t2 BASE TABLE
+t1.ARZ
+t2.ARZ
+t2.frm
+#
+# discover on truncate
+#
+flush tables;
+truncate table t1;
+ERROR HY000: Storage engine ARCHIVE of the table `test`.`t1` doesn't have this option
+t1.ARZ
+t1.frm
+t2.ARZ
+t2.frm
+#
+# discover on rename
+#
+flush tables;
+rename table t2 to t0;
+t0.ARZ
+t1.ARZ
+t1.frm
+#
+# discover on HA_ERR_TABLE_DEF_CHANGED
+#
+alter table t1 modify a int default 5;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+#
+# discover on drop
+#
+flush tables;
+drop table t1;
+t0.ARZ
+#
+# discover of table non-existance on drop
+#
+select * from t0;
+a
+flush tables;
+drop table t0;
+show status like 'Handler_discover';
+Variable_name Value
+Handler_discover 6
+#
+# Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE
+#
+create table t1 (a int) engine=archive;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+insert into t1 values (1);
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+flush tables;
+insert into t1 values (2);
+select * from t1 order by a;
+a
+1
+2
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+drop table t1;
+#
+# BUG#58205 - Valgrind failure in fn_format when called from
+# archive_discover
+#
+create table `a/../`(a int) engine=archive;
+select * from `a/../`;
+a
+flush tables;
+drop table `a/../`;
+create database test1;
+create table test1.t1 (i int) engine=archive;
+drop database test1;
+create table t1 (a int) engine=archive;
+select * from t1;
+a
+flush tables;
+select * from t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+create table t1 (a int) engine=archive;
+select * from t1;
+a
+flush tables;
+create table t1 (a int) engine=archive;
+flush tables;
+create table t1 (a int) engine=archive;
+ERROR 42S01: Table 't1' already exists
+drop table t1;
+CREATE OR REPLACE TABLE t1 ( pk INT AUTO_INCREMENT PRIMARY KEY ) ENGINE = ARCHIVE;
+CREATE OR REPLACE TABLE t1 ( pk INT AUTO_INCREMENT PRIMARY KEY ) ENGINE = ARCHIVE;
+DROP TABLE t1;
+CREATE OR REPLACE TABLE t1 ( pk INT AUTO_INCREMENT PRIMARY KEY ) ENGINE = ARCHIVE;
+SELECT * FROM t1;
+pk
+DROP TABLE t1;
diff --git a/mysql-test/suite/archive/discover.test b/mysql-test/suite/archive/discover.test
new file mode 100644
index 00000000000..4ab35cf1115
--- /dev/null
+++ b/mysql-test/suite/archive/discover.test
@@ -0,0 +1,144 @@
+-- source include/have_archive.inc
+let $mysqld_datadir= `select @@datadir`;
+
+create table t1 (a int) engine=archive;
+show create table t1;
+insert t1 values (1);
+show tables;
+
+--echo #
+--echo # simple discover on use
+--echo #
+remove_file $mysqld_datadir/test/t1.frm;
+flush tables;
+insert t1 values (2);
+select * from t1;
+--list_files $mysqld_datadir/test
+
+--echo #
+--echo # show tables
+--echo #
+create table t2 (a int) engine=archive;
+select * from t2;
+remove_file $mysqld_datadir/test/t1.frm;
+flush tables;
+show tables;
+--list_files $mysqld_datadir/test
+
+--echo #
+--echo # show full tables
+--echo #
+flush tables;
+show full tables;
+--list_files $mysqld_datadir/test
+
+--echo #
+--echo # discover on truncate
+--echo #
+flush tables;
+--error ER_ILLEGAL_HA
+truncate table t1;
+--list_files $mysqld_datadir/test
+
+--echo #
+--echo # discover on rename
+--echo #
+remove_file $mysqld_datadir/test/t2.frm;
+flush tables;
+rename table t2 to t0;
+--list_files $mysqld_datadir/test
+
+--echo #
+--echo # discover on HA_ERR_TABLE_DEF_CHANGED
+--echo #
+copy_file $mysqld_datadir/test/t1.ARZ $MYSQL_TMP_DIR/t1.ARZ;
+alter table t1 modify a int default 5;
+remove_file $mysqld_datadir/test/t1.ARZ;
+copy_file $MYSQL_TMP_DIR/t1.ARZ $mysqld_datadir/test/t1.ARZ;
+remove_file $MYSQL_TMP_DIR/t1.ARZ;
+show create table t1;
+
+--echo #
+--echo # discover on drop
+--echo #
+remove_file $mysqld_datadir/test/t1.frm;
+flush tables;
+drop table t1;
+--list_files $mysqld_datadir/test
+
+--echo #
+--echo # discover of table non-existance on drop
+--echo #
+select * from t0;
+remove_file $mysqld_datadir/test/t0.ARZ;
+flush tables;
+drop table t0;
+--list_files $mysqld_datadir/test
+show status like 'Handler_discover';
+
+--echo #
+--echo # Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE
+--echo #
+
+create table t1 (a int) engine=archive;
+show create table t1;
+insert into t1 values (1);
+optimize table t1;
+remove_file $mysqld_datadir/test/t1.frm;
+flush tables;
+insert into t1 values (2);
+select * from t1 order by a;
+show create table t1;
+drop table t1;
+
+--echo #
+--echo # BUG#58205 - Valgrind failure in fn_format when called from
+--echo # archive_discover
+--echo #
+create table `a/../`(a int) engine=archive;
+select * from `a/../`; flush tables;
+remove_file $mysqld_datadir/test/a@002f@002e@002e@002f.frm;
+drop table `a/../`;
+
+#
+# MDEV-4441 DROP DATABASE with a newly created ARCHIVE table does not work
+#
+create database test1;
+create table test1.t1 (i int) engine=archive;
+drop database test1;
+
+#
+# MDEV-4456 Reverse discovery of ARCHIVE table on SELECT after disappearance of ARZ file
+#
+create table t1 (a int) engine=archive;
+select * from t1;
+flush tables;
+remove_file $mysqld_datadir/test/t1.ARZ;
+--error ER_NO_SUCH_TABLE
+select * from t1;
+--list_files $mysqld_datadir/test
+
+#
+# MDEV-4955 discover of table non-existance on CREATE
+#
+create table t1 (a int) engine=archive;
+select * from t1;
+flush tables;
+remove_file $mysqld_datadir/test/t1.ARZ;
+create table t1 (a int) engine=archive;
+remove_file $mysqld_datadir/test/t1.frm;
+flush tables;
+--error ER_TABLE_EXISTS_ERROR
+create table t1 (a int) engine=archive;
+drop table t1;
+
+#
+# MDEV-11317: Error in deleting non existing .frm for tables with disocvery
+#
+
+CREATE OR REPLACE TABLE t1 ( pk INT AUTO_INCREMENT PRIMARY KEY ) ENGINE = ARCHIVE;
+CREATE OR REPLACE TABLE t1 ( pk INT AUTO_INCREMENT PRIMARY KEY ) ENGINE = ARCHIVE;
+DROP TABLE t1;
+CREATE OR REPLACE TABLE t1 ( pk INT AUTO_INCREMENT PRIMARY KEY ) ENGINE = ARCHIVE;
+SELECT * FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/archive/discover_5438.result b/mysql-test/suite/archive/discover_5438.result
new file mode 100644
index 00000000000..0cd44c40a4e
--- /dev/null
+++ b/mysql-test/suite/archive/discover_5438.result
@@ -0,0 +1,14 @@
+create table t1 (a int) engine=archive;
+create view t1 as select "I am a view" as a;
+ERROR 42S01: Table 't1' already exists
+drop table t1;
+create table t1 (a int) engine=archive;
+create user foo@bar;
+grant select on test.t1 to foo@bar;
+drop user foo@bar;
+drop table t1;
+create table t1 (a int) engine=archive;
+create table t2 (a int);
+alter table t2 rename t1;
+ERROR 42S01: Table 't1' already exists
+drop table t2, t1;
diff --git a/mysql-test/suite/archive/discover_5438.test b/mysql-test/suite/archive/discover_5438.test
new file mode 100644
index 00000000000..892b9d49592
--- /dev/null
+++ b/mysql-test/suite/archive/discover_5438.test
@@ -0,0 +1,26 @@
+#
+# MDEV-5438 - A view can mask a table that supports discovery
+#
+# in a few places the server was still using !access(path, F_OK) to
+# determine whether a table exists
+#
+source include/have_archive.inc;
+
+create table t1 (a int) engine=archive;
+--error ER_TABLE_EXISTS_ERROR
+create view t1 as select "I am a view" as a;
+drop table t1;
+
+create table t1 (a int) engine=archive;
+create user foo@bar;
+grant select on test.t1 to foo@bar;
+drop user foo@bar;
+drop table t1;
+
+create table t1 (a int) engine=archive;
+create table t2 (a int);
+--error ER_TABLE_EXISTS_ERROR
+alter table t2 rename t1;
+drop table t2, t1;
+
+
diff --git a/mysql-test/suite/archive/partition_archive.result b/mysql-test/suite/archive/partition_archive.result
index e666c1a8215..c4cccc03a04 100644
--- a/mysql-test/suite/archive/partition_archive.result
+++ b/mysql-test/suite/archive/partition_archive.result
@@ -15,10 +15,10 @@ ENGINE = ARCHIVE;
INSERT INTO t1 VALUES(CURRENT_DATE);
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
DATA_LENGTH INDEX_LENGTH
-8658 0
+535 0
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
DATA_LENGTH INDEX_LENGTH
-8658 0
+535 0
DROP TABLE t1;
drop database if exists db99;
drop table if exists t1;
@@ -30,6 +30,7 @@ partition by list (a)
(partition p0 values in (1), partition p1 values in (2));
insert into t1 values (1), (2);
create index inx on t1 (a);
+ERROR HY000: Can't create table `db99`.`#sql-temporary` (errno: 140 "Wrong create options")
alter table t1 add partition (partition p2 values in (3));
alter table t1 drop partition p2;
use test;
@@ -140,7 +141,7 @@ t1 CREATE TABLE `t1` (
/*!50100 PARTITION BY HASH (fld1)
PARTITIONS 5 */
ALTER TABLE t1 ENGINE= ARCHIVE;
-ERROR HY000: Can't create table 'test.#sql-temporary' (errno: 1)
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 140 "Wrong create options")
#After the patch, the ENGINE is correctly displayed as MyISAM
SHOW CREATE TABLE t1;
Table Create Table
@@ -152,3 +153,9 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
#Cleanup.
DROP TABLE t1;
+create database mysqltest1;
+create table mysqltest1.t1 (a int not null, b int not null) engine=archive
+partition by list(a) subpartition by hash(b)
+(partition p1 values in (1),
+partition p2 values in (2));
+drop database mysqltest1;
diff --git a/mysql-test/suite/archive/partition_archive.test b/mysql-test/suite/archive/partition_archive.test
index c8dec726d1d..aa2adb7e44d 100644
--- a/mysql-test/suite/archive/partition_archive.test
+++ b/mysql-test/suite/archive/partition_archive.test
@@ -47,7 +47,8 @@ engine=archive
partition by list (a)
(partition p0 values in (1), partition p1 values in (2));
insert into t1 values (1), (2);
---error 0, ER_CANT_CREATE_TABLE
+--replace_regex /#sql-[0-9a-f_]+/#sql-temporary/ /Not owner/Operation not permitted/
+--error ER_CANT_CREATE_TABLE
create index inx on t1 (a);
alter table t1 add partition (partition p2 values in (3));
alter table t1 drop partition p2;
@@ -146,3 +147,10 @@ SHOW CREATE TABLE t1;
--echo #Cleanup.
DROP TABLE t1;
+
+create database mysqltest1;
+create table mysqltest1.t1 (a int not null, b int not null) engine=archive
+ partition by list(a) subpartition by hash(b)
+ (partition p1 values in (1),
+ partition p2 values in (2));
+drop database mysqltest1;
diff --git a/mysql-test/suite/archive/repair.result b/mysql-test/suite/archive/repair.result
index 5a8c92189d6..16f0f2c1608 100644
--- a/mysql-test/suite/archive/repair.result
+++ b/mysql-test/suite/archive/repair.result
@@ -8,4 +8,3 @@ repair table t1;
Table Op Msg_type Msg_text
test.t1 repair error Corrupt
drop table t1;
-ERROR 42S02: Unknown table 't1'
diff --git a/mysql-test/suite/archive/repair.test b/mysql-test/suite/archive/repair.test
index 71f55c923b5..03946d31ead 100644
--- a/mysql-test/suite/archive/repair.test
+++ b/mysql-test/suite/archive/repair.test
@@ -14,5 +14,4 @@ select * from t1;
--error ER_CRASHED_ON_USAGE
insert into t1 values (2);
repair table t1;
---error ER_BAD_TABLE_ERROR
drop table t1;
diff --git a/mysql-test/suite/archive/suite.pm b/mysql-test/suite/archive/suite.pm
index eb2ff9f8e26..e74bd75e9fb 100644
--- a/mysql-test/suite/archive/suite.pm
+++ b/mysql-test/suite/archive/suite.pm
@@ -2,8 +2,8 @@ package My::Suite::Archive;
@ISA = qw(My::Suite);
-return ("Need Archive engine" unless $ENV{HA_ARCHIVE_SO} or
- $::mysqld_variables{'archive'} eq "ON");
+return "Need Archive engine" unless $ENV{HA_ARCHIVE_SO} or
+ $::mysqld_variables{'archive'} eq "ON";
bless { };
diff --git a/mysql-test/suite/binlog/include/check_binlog_size.inc b/mysql-test/suite/binlog/include/check_binlog_size.inc
new file mode 100644
index 00000000000..9df161ec843
--- /dev/null
+++ b/mysql-test/suite/binlog/include/check_binlog_size.inc
@@ -0,0 +1,31 @@
+# This file runs the query and checks
+# whether the size of binlog is increased or not
+# If size is changed it issue die command
+# Parameters
+# $sql_query = query to run
+
+#Only last row of show binlog events matter
+--let $tmp= 0
+--let $counter= 1
+while ($tmp != "No such row")
+{
+ --let $initial_binlog_size= $tmp
+ --let $tmp= query_get_value(show binary logs, File_size, $counter)
+ --inc $counter
+}
+
+--eval $sql_query
+
+--let $tmp= 0
+--let $counter= 1
+while ($tmp != "No such row")
+{
+ --let $current_binlog_size= $tmp
+ --let $tmp= query_get_value(show binary logs, File_size, $counter)
+ --inc $counter
+}
+
+if ($initial_binlog_size != $current_binlog_size)
+{
+ die "Binlog size changed";
+}
diff --git a/mysql-test/suite/binlog/r/binlog_base64_flag.result b/mysql-test/suite/binlog/r/binlog_base64_flag.result
index 26eab9f141d..b97cf9072fa 100644
--- a/mysql-test/suite/binlog/r/binlog_base64_flag.result
+++ b/mysql-test/suite/binlog/r/binlog_base64_flag.result
@@ -28,6 +28,25 @@ a
1
1
3
+DELETE FROM t1 WHERE a=3;
+BINLOG '
+ODdYRw8BAAAAZgAAAGoAAAABAAQANS4xLjIzLXJjLWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAA4N1hHEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
+';
+SET @binlog_fragment_0='
+TFtYRxMBAAAAKQAAAH8BAAAAABAAAAAAAAAABHRlc3QAAnQxAAEDAAE=
+TFtYRxcBAAAAIgAAAKEBAAAQABAAAAAAAAEAAf/+AwAAAA==
+';
+SET @binlog_fragment_1='';
+BINLOG @binlog_fragment_0, @binlog_fragment_1;
+select * from t1;
+a
+1
+1
+3
+SELECT @binlog_fragment_0, @binlog_fragment_1 as 'NULL','NULL';
+@binlog_fragment_0 NULL NULL
+NULL NULL NULL
==== Test --base64-output=never on a binlog with row events ====
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
@@ -93,9 +112,9 @@ iONkSBcBAAAAKwAAAMQBAAAQABAAAAAAAAEAA//4AQAAAAMAMTIzAQAAAA==
';
ERROR HY000: master may suffer from http://bugs.mysql.com/bug.php?id=37426 so slave stops; check error log on slave for more info
drop table t1, char63_utf8, char128_utf8;
-call mtr.add_suppression("Slave SQL.*master suffers from this bug: http:..bugs.mysql.com.bug.php.id=37426.* Error_code: 1105");
-call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535");
-call mtr.add_suppression("Slave SQL.*Column 1 of table .test.char128_utf8. cannot be converted.* Error_code: 1677");
+call mtr.add_suppression("Slave SQL.*master suffers from this bug: http:..bugs.mysql.com.bug.php.id=37426.* error.* 1105");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* error.* 1535");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.char128_utf8. cannot be converted.* error.* 1677");
#
# Bug #54393: crash and/or valgrind errors in
# mysql_client_binlog_statement
@@ -103,7 +122,8 @@ call mtr.add_suppression("Slave SQL.*Column 1 of table .test.char128_utf8. canno
BINLOG '';
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
BINLOG '123';
+ERROR HY000: Decoding of base64 string failed
BINLOG '-2079193929';
-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
+ERROR HY000: Decoding of base64 string failed
BINLOG 'xç↓%~∙D╒ƒ╡';
-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
+ERROR HY000: Decoding of base64 string failed
diff --git a/mysql-test/suite/binlog/r/binlog_checkpoint.result b/mysql-test/suite/binlog/r/binlog_checkpoint.result
new file mode 100644
index 00000000000..f76fc6da189
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_checkpoint.result
@@ -0,0 +1,130 @@
+SET @old_max_binlog_size= @@global.max_binlog_size;
+SET GLOBAL max_binlog_size= 4096;
+SET @old_innodb_flush_log_at_trx_commit= @@global.innodb_flush_log_at_trx_commit;
+SET GLOBAL innodb_flush_log_at_trx_commit= 1;
+RESET MASTER;
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+CREATE TABLE t2 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Myisam;
+*** Test that RESET MASTER waits for pending commit checkpoints to complete.
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con1_ready WAIT_FOR con1_go";
+INSERT INTO t1 VALUES (1, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+INSERT INTO t2 VALUES (1, REPEAT("x", 4100));
+INSERT INTO t2 VALUES (2, REPEAT("x", 4100));
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000004 # Gtid_list # # [#-#-#]
+master-bin.000004 # Binlog_checkpoint # # master-bin.000001
+SET DEBUG_SYNC= "execute_command_after_close_tables SIGNAL reset_master_done";
+RESET MASTER;
+This will timeout, as RESET MASTER is blocked
+SET DEBUG_SYNC= "now WAIT_FOR reset_master_done TIMEOUT 1";
+Warnings:
+Warning 1639 debug sync point wait timed out
+SET DEBUG_SYNC= "now SIGNAL con1_go";
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000001 # Gtid_list # # []
+master-bin.000001 # Binlog_checkpoint # # master-bin.000001
+*** Test that binlog N is active, and commit checkpoint for (N-1) is
+*** done while there is still a pending commit checkpoint for (N-2).
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con1_ready WAIT_FOR con1_continue";
+INSERT INTO t1 VALUES (20, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con2_ready WAIT_FOR con2_continue";
+INSERT INTO t1 VALUES (21, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con2_ready";
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000001 # Gtid_list # # []
+master-bin.000001 # Binlog_checkpoint # # master-bin.000001
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000002 # Gtid_list # # [#-#-#]
+master-bin.000002 # Binlog_checkpoint # # master-bin.000001
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Table_map # # table_id: # (test.t1)
+master-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000002 # Xid # # COMMIT /* XID */
+master-bin.000002 # Rotate # # master-bin.000003;pos=POS
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000003 # Gtid_list # # [#-#-#]
+master-bin.000003 # Binlog_checkpoint # # master-bin.000001
+SET DEBUG_SYNC= "RESET";
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,binlog_background_checkpoint_processed";
+SET DEBUG_SYNC= "now SIGNAL con2_continue";
+con1 is still pending, no new binlog checkpoint should have been logged.
+SET DEBUG_SYNC= "now WAIT_FOR binlog_background_checkpoint_processed";
+SET GLOBAL debug_dbug= @old_dbug;
+SET DEBUG_SYNC= "RESET";
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000003 # Gtid_list # # [#-#-#]
+master-bin.000003 # Binlog_checkpoint # # master-bin.000001
+SET DEBUG_SYNC= "now SIGNAL con1_continue";
+No commit checkpoints are pending, a new binlog checkpoint should have been logged.
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000003 # Gtid_list # # [#-#-#]
+master-bin.000003 # Binlog_checkpoint # # master-bin.000001
+master-bin.000003 # Binlog_checkpoint # # master-bin.000003
+*** MDEV-4322: Broken XID counting during binlog rotation ***
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,inject_binlog_background_thread_before_mark_xid_done";
+FLUSH LOGS;
+INSERT INTO t1 VALUES (30, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR injected_binlog_background_thread";
+SET GLOBAL debug_dbug= @old_dbug;
+INSERT INTO t1 VALUES (31, REPEAT("x", 4100));
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+master-bin.000005 #
+master-bin.000006 #
+SET debug_sync = 'reset';
+*** MDEV-7402: 'reset master' hangs, waits for signalled COND_xid_list ***
+SET debug_sync="reset_logs_after_set_reset_master_pending SIGNAL reset_master_ready WAIT_FOR reset_master_cont";
+RESET MASTER;
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,inject_binlog_background_thread_before_mark_xid_done";
+SET debug_sync="now WAIT_FOR reset_master_ready";
+RESET MASTER;
+SET debug_sync="now WAIT_FOR injected_binlog_background_thread";
+SET GLOBAL debug_dbug=@old_dbug;
+SET debug_sync="now SIGNAL reset_master_cont";
+SET debug_sync = 'reset';
+DROP TABLE t1, t2;
+SET GLOBAL max_binlog_size= @old_max_binlog_size;
+SET GLOBAL innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
+SET debug_sync = 'reset';
diff --git a/mysql-test/suite/binlog/r/binlog_checksum.result b/mysql-test/suite/binlog/r/binlog_checksum.result
index 44024456720..447bbf770f3 100644
--- a/mysql-test/suite/binlog/r/binlog_checksum.result
+++ b/mysql-test/suite/binlog/r/binlog_checksum.result
@@ -10,10 +10,11 @@ master-bin.000001 #
create table t1 (a int);
flush logs;
drop table t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int)
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
show tables;
Tables_in_test
t1
diff --git a/mysql-test/suite/binlog/r/binlog_commit_wait.result b/mysql-test/suite/binlog/r/binlog_commit_wait.result
new file mode 100644
index 00000000000..07019c12905
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_commit_wait.result
@@ -0,0 +1,155 @@
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+SET @old_count= @@GLOBAL.binlog_commit_wait_count;
+SET GLOBAL binlog_commit_wait_count= 3;
+SET @old_usec= @@GLOBAL.binlog_commit_wait_usec;
+SET GLOBAL binlog_commit_wait_usec= 20000000;
+SELECT variable_value INTO @group_commits FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commits';
+SELECT variable_value INTO @group_commit_trigger_count FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_count';
+SELECT variable_value INTO @group_commit_trigger_timeout FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+SELECT variable_value INTO @group_commit_trigger_lock_wait FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+SET @a= current_timestamp();
+BEGIN;
+INSERT INTO t1 VALUES (1,0);
+COMMIT;
+INSERT INTO t1 VALUES (1,1);
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"));
+IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"))
+Ok
+SELECT variable_value - @group_commits FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commits';
+variable_value - @group_commits
+1
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_count';
+variable_value - @group_commit_trigger_count
+0
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+variable_value - @group_commit_trigger_timeout
+0
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+variable_value - @group_commit_trigger_lock_wait
+1
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SET @a= current_timestamp();
+INSERT INTO t1 VALUES (2,0);
+INSERT INTO t1 VALUES (3,0);
+INSERT INTO t1 VALUES (4,0);
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"));
+IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"))
+Ok
+SELECT variable_value - @group_commits FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commits';
+variable_value - @group_commits
+2
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_count';
+variable_value - @group_commit_trigger_count
+1
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+variable_value - @group_commit_trigger_timeout
+0
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+variable_value - @group_commit_trigger_lock_wait
+1
+SET @a= current_timestamp();
+INSERT INTO t1 VALUES (6,0);
+BEGIN;
+UPDATE t1 SET b=b+1 WHERE a=1;
+UPDATE t1 SET b=b+10 WHERE a=1;
+SELECT SLEEP(0.25);
+SLEEP(0.25)
+0
+UPDATE t1 SET b=b+1 WHERE a=3;
+COMMIT;
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"));
+IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"))
+Ok
+SELECT variable_value - @group_commits FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commits';
+variable_value - @group_commits
+3
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_count';
+variable_value - @group_commit_trigger_count
+1
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+variable_value - @group_commit_trigger_timeout
+0
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+variable_value - @group_commit_trigger_lock_wait
+2
+SET @a= current_timestamp();
+INSERT INTO t1 VALUES (7,0);
+INSERT INTO t1 VALUES (8,0);
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"));
+IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"))
+Ok
+SELECT variable_value - @group_commits FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commits';
+variable_value - @group_commits
+4
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_count';
+variable_value - @group_commit_trigger_count
+2
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+variable_value - @group_commit_trigger_timeout
+0
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+variable_value - @group_commit_trigger_lock_wait
+2
+SET @a= current_timestamp();
+SET GLOBAL binlog_commit_wait_usec= 5*1000*1000;
+INSERT INTO t1 VALUES (9,0);
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 4, CONCAT("Error: too little time elapsed: ", @b, " seconds < 4"),
+IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20")));
+IF(@b < 4, CONCAT("Error: too little time elapsed: ", @b, " seconds < 4"),
+IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20")))
+Ok
+SELECT variable_value - @group_commits FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commits';
+variable_value - @group_commits
+5
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_count';
+variable_value - @group_commit_trigger_count
+2
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+variable_value - @group_commit_trigger_timeout
+1
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+variable_value - @group_commit_trigger_lock_wait
+2
+SELECT * FROM t1 ORDER BY a;
+a b
+1 11
+2 0
+3 1
+4 0
+6 0
+7 0
+8 0
+9 0
+DROP TABLE t1;
+SET GLOBAL binlog_commit_wait_count= @old_count;
+SET GLOBAL binlog_commit_wait_usec= @old_usec;
diff --git a/mysql-test/suite/binlog/r/binlog_database.result b/mysql-test/suite/binlog/r/binlog_database.result
index b04d2a09ec6..2c2c5966538 100644
--- a/mysql-test/suite/binlog/r/binlog_database.result
+++ b/mysql-test/suite/binlog/r/binlog_database.result
@@ -7,15 +7,21 @@ create function sf1 (a int) returns int return a+1;
create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a);
create procedure sp1 (a int) insert into t1 values(a);
drop database testing_1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database testing_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; create table t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11)
return a+1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int)
insert into t1 values(a)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database testing_1
use test;
reset master;
@@ -25,18 +31,23 @@ insert into t1 values (1);
drop database if exists mysqltest1;
insert into t1 values (1);
drop table tt1, t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database if exists mysqltest1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS;
@@ -54,7 +65,7 @@ SELECT 'hello' INTO OUTFILE 'fake_file.FAKE_FILE';
# 'DROP DATABASE' will fail if there is any other file in the the
# database directory
DROP DATABASE testing_1;
-ERROR HY000: Error dropping database (can't rmdir './testing_1/', errno: 17)
+ERROR HY000: Error dropping database (can't rmdir './testing_1', errno: 39 "Directory not empty")
# Remove the fake file.
# Now we can drop the database.
@@ -77,8 +88,9 @@ ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fail
SHOW TABLES FROM db1;
Tables_in_db1
t2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `db1`; DROP TABLE IF EXISTS `t1`
DROP TABLE t3;
DROP DATABASE db1;
@@ -91,15 +103,21 @@ create function sf1 (a int) returns int return a+1;
create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a);
create procedure sp1 (a int) insert into t1 values(a);
drop database testing_1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database testing_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; create table t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11)
return a+1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int)
insert into t1 values(a)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database testing_1
use test;
reset master;
@@ -109,18 +127,23 @@ insert into t1 values (1);
drop database if exists mysqltest1;
insert into t1 values (1);
drop table tt1, t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database if exists mysqltest1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS;
@@ -138,7 +161,7 @@ SELECT 'hello' INTO OUTFILE 'fake_file.FAKE_FILE';
# 'DROP DATABASE' will fail if there is any other file in the the
# database directory
DROP DATABASE testing_1;
-ERROR HY000: Error dropping database (can't rmdir './testing_1/', errno: 17)
+ERROR HY000: Error dropping database (can't rmdir './testing_1', errno: 39 "Directory not empty")
# Remove the fake file.
# Now we can drop the database.
@@ -161,8 +184,9 @@ ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fail
SHOW TABLES FROM db1;
Tables_in_db1
t2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `db1`; DROP TABLE IF EXISTS `t1`
DROP TABLE t3;
DROP DATABASE db1;
@@ -175,15 +199,21 @@ create function sf1 (a int) returns int return a+1;
create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a);
create procedure sp1 (a int) insert into t1 values(a);
drop database testing_1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database testing_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; create table t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11)
return a+1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int)
insert into t1 values(a)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database testing_1
use test;
reset master;
@@ -193,19 +223,21 @@ insert into t1 values (1);
drop database if exists mysqltest1;
insert into t1 values (1);
drop table tt1, t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database if exists mysqltest1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS;
@@ -223,7 +255,7 @@ SELECT 'hello' INTO OUTFILE 'fake_file.FAKE_FILE';
# 'DROP DATABASE' will fail if there is any other file in the the
# database directory
DROP DATABASE testing_1;
-ERROR HY000: Error dropping database (can't rmdir './testing_1/', errno: 17)
+ERROR HY000: Error dropping database (can't rmdir './testing_1', errno: 39 "Directory not empty")
# Remove the fake file.
# Now we can drop the database.
@@ -246,8 +278,9 @@ ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fail
SHOW TABLES FROM db1;
Tables_in_db1
t2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `db1`; DROP TABLE IF EXISTS `t1`
DROP TABLE t3;
DROP DATABASE db1;
diff --git a/mysql-test/suite/binlog/r/binlog_delete_and_flush_index.result b/mysql-test/suite/binlog/r/binlog_delete_and_flush_index.result
index 036ccf131bb..2472a3d24cf 100644
--- a/mysql-test/suite/binlog/r/binlog_delete_and_flush_index.result
+++ b/mysql-test/suite/binlog/r/binlog_delete_and_flush_index.result
@@ -11,8 +11,9 @@ show binary logs;
Log_name File_size
master-bin.000001 #
### assertion: binlog contents from regular entries
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
FLUSH LOGS;
### assertion: index file contains renamed binlog and the new one
@@ -24,8 +25,9 @@ master-bin.000002
### assertion: original binlog content still exists, despite we
### renamed and changed the index file
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin-b34582.000001 # Gtid # # GTID #-#-#
master-bin-b34582.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
### assertion: user changed binlog index shows correct entries
show binary logs;
diff --git a/mysql-test/suite/binlog/r/binlog_dmls_on_tmp_tables_readonly.result b/mysql-test/suite/binlog/r/binlog_dmls_on_tmp_tables_readonly.result
index 1dfac08e762..b366bde4daf 100644
--- a/mysql-test/suite/binlog/r/binlog_dmls_on_tmp_tables_readonly.result
+++ b/mysql-test/suite/binlog/r/binlog_dmls_on_tmp_tables_readonly.result
@@ -1,6 +1,7 @@
DROP TABLE IF EXISTS t1 ;
# READ_ONLY does nothing to SUPER users
# so we use a non-SUPER one:
+CREATE USER test@localhost;
GRANT CREATE, SELECT, DROP ON *.* TO test@localhost;
connect con1,localhost,test,,test;
connection default;
diff --git a/mysql-test/suite/binlog/r/binlog_drop_if_exists.result b/mysql-test/suite/binlog/r/binlog_drop_if_exists.result
index f39b682d2de..937662a7a49 100644
--- a/mysql-test/suite/binlog/r/binlog_drop_if_exists.result
+++ b/mysql-test/suite/binlog/r/binlog_drop_if_exists.result
@@ -6,14 +6,21 @@ DROP VIEW IF EXISTS db_bug_13684.v;
DROP EVENT IF EXISTS db_bug_13684.e;
DROP TABLE IF EXISTS db_bug_13684.t;
DROP DATABASE IF EXISTS db_bug_13684;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
CREATE DATABASE db_bug_13684;
CREATE TABLE db_bug_13684.t (a int);
@@ -32,28 +39,42 @@ END;
CREATE FUNCTION db_bug_13684.f (s CHAR(20))
RETURNS CHAR(50) DETERMINISTIC
RETURN s;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE db_bug_13684
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE db_bug_13684.t (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT db_bug_13684.e
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE db_bug_13684.t SET a = a + 1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `db_bug_13684`.`v` AS SELECT * FROM db_bug_13684.t
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER db_bug_13684.tr BEFORE INSERT ON db_bug_13684.t
FOR EACH ROW BEGIN
END
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `db_bug_13684`.`p`(OUT p1 INT)
BEGIN
END
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `db_bug_13684`.`f`(s CHAR(20)) RETURNS char(50) CHARSET latin1
DETERMINISTIC
RETURN s
@@ -64,37 +85,58 @@ DROP VIEW IF EXISTS db_bug_13684.v;
DROP EVENT IF EXISTS db_bug_13684.e;
DROP TABLE IF EXISTS db_bug_13684.t;
DROP DATABASE IF EXISTS db_bug_13684;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE db_bug_13684
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE db_bug_13684.t (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT db_bug_13684.e
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE db_bug_13684.t SET a = a + 1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `db_bug_13684`.`v` AS SELECT * FROM db_bug_13684.t
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER db_bug_13684.tr BEFORE INSERT ON db_bug_13684.t
FOR EACH ROW BEGIN
END
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `db_bug_13684`.`p`(OUT p1 INT)
BEGIN
END
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `db_bug_13684`.`f`(s CHAR(20)) RETURNS char(50) CHARSET latin1
DETERMINISTIC
RETURN s
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
CREATE TABLE t1(id int);
DROP TABLE /* comment */ t1;
@@ -104,13 +146,21 @@ CREATE TABLE t1(id int);
DROP TABLE /**/ t1;
CREATE TABLE t1(id int);
DROP TABLE IF EXISTS /* */ t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE /* comment */ `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS /* comment */ `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE /**/ `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS /* */ `t1` /* generated by server */
diff --git a/mysql-test/suite/binlog/r/binlog_flush_binlogs_delete_domain.result b/mysql-test/suite/binlog/r/binlog_flush_binlogs_delete_domain.result
new file mode 100644
index 00000000000..fdcfb4bfa01
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_flush_binlogs_delete_domain.result
@@ -0,0 +1,90 @@
+RESET MASTER;
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = ();
+and the command execution is effective thence rotates binlog as usual
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+Non-existed domain is warned, the command completes without rotation
+but with a warning
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (99);
+Warnings:
+Warning 1076 The gtid domain being deleted ('99') is not in the current binlog state
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+SET @@SESSION.gtid_domain_id=1;
+SET @@SESSION.server_id=1;
+CREATE TABLE t (a int);
+SELECT @@GLOBAL.gtid_binlog_state, @@GLOBAL.gtid_binlog_pos;
+@@GLOBAL.gtid_binlog_state @@GLOBAL.gtid_binlog_pos
+1-1-1 1-1-1
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1);
+ERROR HY000: Could not delete gtid domain. Reason: binlog files may contain gtids from the domain ('1') being deleted. Make sure to first purge those files.
+FLUSH BINARY LOGS;
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1);
+ERROR HY000: Could not delete gtid domain. Reason: binlog files may contain gtids from the domain ('1') being deleted. Make sure to first purge those files.
+PURGE BINARY LOGS TO 'master-bin.000003';;
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1);
+Gtid_list of the current binlog does not contain '1':
+show binlog events in 'master-bin.000004' limit 1,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Gtid_list 1 # []
+But the previous log's Gtid_list may have it which explains a warning from the following command
+show binlog events in 'master-bin.000003' limit 1,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Gtid_list 1 # [1-1-1]
+Already deleted domain in Gtid_list of the earliest log is benign
+but may cause a warning
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1);
+Warnings:
+Warning 1076 The current gtid binlog state is incompatible with a former one missing gtids from the '1-1' domain-server pair which is referred to in the gtid list describing an earlier state. Ignore if the domain ('1') was already explicitly deleted.
+Warning 1076 The gtid domain being deleted ('1') is not in the current binlog state
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 0);
+ERROR HY000: Could not delete gtid domain. Reason: binlog files may contain gtids from the domain ('1') being deleted. Make sure to first purge those files.
+FLUSH BINARY LOGS;
+PURGE BINARY LOGS TO 'master-bin.000005';
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 0);
+Warnings:
+Warning 1076 The gtid domain being deleted ('0') is not in the current binlog state
+Gtid_list of the current binlog does not contain 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 0:
+show binlog events in 'master-bin.000006' limit 1,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000006 # Gtid_list 1 # []
+SET @@SESSION.gtid_domain_id=1;;
+SET @@SESSION.server_id=1;
+SET @@SESSION.gtid_seq_no=1;
+INSERT INTO t SET a=1;
+SET @@SESSION.server_id=2;
+SET @@SESSION.gtid_seq_no=2;
+INSERT INTO t SET a=2;
+SET @@SESSION.gtid_domain_id=11;
+SET @@SESSION.server_id=11;
+SET @@SESSION.gtid_seq_no=11;
+INSERT INTO t SET a=11;
+SET @gtid_binlog_state_saved=@@GLOBAL.gtid_binlog_state;
+FLUSH BINARY LOGS;
+SET @@SESSION.gtid_domain_id=11;
+SET @@SESSION.server_id=11;
+SET @@SESSION.gtid_seq_no=1;
+INSERT INTO t SET a=1;
+SELECT @gtid_binlog_state_saved "as original state", @@GLOBAL.gtid_binlog_state as "out of order for 11 domain state";
+as original state out of order for 11 domain state
+1-1-1,1-2-2,11-11-11 1-1-1,1-2-2,11-11-1
+PURGE BINARY LOGS TO 'master-bin.000007';
+the following command succeeds with warnings
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1);
+Warnings:
+Warning 1076 The current gtid binlog state is incompatible with a former one having a gtid '11-11-1' which is less than the '11-11-11' of the gtid list describing an earlier state. The state may have been affected by manually injecting a lower sequence number gtid or via replication.
+RESET MASTER;
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (4294967296);
+ERROR HY000: The value of gtid domain being deleted ('4294967296') exceeds its maximum size of 32 bit unsigned integer
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (4294967295);
+Warnings:
+Warning 1076 The gtid domain being deleted ('4294967295') is not in the current binlog state
+DROP TABLE t;
+RESET MASTER;
diff --git a/mysql-test/suite/binlog/r/binlog_grant.result b/mysql-test/suite/binlog/r/binlog_grant.result
index 09a3d709929..618e00af72a 100644
--- a/mysql-test/suite/binlog/r/binlog_grant.result
+++ b/mysql-test/suite/binlog/r/binlog_grant.result
@@ -22,6 +22,7 @@ ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) fo
**** Clean up ****
set global binlog_format = @saved_binlog_format;
drop user mysqltest_1@localhost;
+CREATE USER 'mysqltest_1'@'localhost';
GRANT REPLICATION CLIENT ON *.* TO 'mysqltest_1'@'localhost';
SHOW MASTER LOGS;
SHOW BINARY LOGS;
diff --git a/mysql-test/suite/binlog/r/binlog_gtid_delete_domain_debug.result b/mysql-test/suite/binlog/r/binlog_gtid_delete_domain_debug.result
new file mode 100644
index 00000000000..b4627caceb2
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_gtid_delete_domain_debug.result
@@ -0,0 +1,6 @@
+SET @@SESSION.debug_dbug='+d,inject_binlog_delete_domain_init_error';
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (99);
+ERROR HY000: Could not delete gtid domain. Reason: injected error.
+SHOW WARNINGS;
+Level Code Message
+Error 1076 Could not delete gtid domain. Reason: injected error.
diff --git a/mysql-test/suite/binlog/r/binlog_implicit_commit.result b/mysql-test/suite/binlog/r/binlog_implicit_commit.result
index ea43b31bde9..bd36418e886 100644
--- a/mysql-test/suite/binlog/r/binlog_implicit_commit.result
+++ b/mysql-test/suite/binlog/r/binlog_implicit_commit.result
@@ -3,12 +3,11 @@ SET BINLOG_FORMAT = STATEMENT;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
@@ -16,45 +15,44 @@ RESET MASTER;
SET AUTOCOMMIT = 0;
BEGIN;
INSERT INTO t1 VALUES (2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Xid # # COMMIT /* XID */
INSERT INTO t1 VALUES (3);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
INSERT INTO t1 VALUES (1);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
SET AUTOCOMMIT = 1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
@@ -62,18 +60,15 @@ RESET MASTER;
SET AUTOCOMMIT = 1;
BEGIN;
INSERT INTO t1 VALUES (2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 1;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
INSERT INTO t1 VALUES (3);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -81,28 +76,23 @@ COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 0;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
BEGIN;
INSERT INTO t1 VALUES (2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 0;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
INSERT INTO t1 VALUES (3);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -110,15 +100,15 @@ COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
INSERT INTO t1 VALUES (1);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
SET AUTOCOMMIT = 0;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
@@ -126,18 +116,15 @@ RESET MASTER;
SET AUTOCOMMIT = 1;
BEGIN;
INSERT INTO t1 VALUES (2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 0;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
INSERT INTO t1 VALUES (3);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -146,200 +133,186 @@ SET BINLOG_FORMAT = ROW;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
BEGIN;
INSERT INTO t1 VALUES (2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
INSERT INTO t1 VALUES (3);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
INSERT INTO t1 VALUES (1);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
SET AUTOCOMMIT = 1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
BEGIN;
INSERT INTO t1 VALUES (2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 1;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
INSERT INTO t1 VALUES (3);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 0;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
BEGIN;
INSERT INTO t1 VALUES (2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 0;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
INSERT INTO t1 VALUES (3);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
INSERT INTO t1 VALUES (1);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
SET AUTOCOMMIT = 0;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
BEGIN;
INSERT INTO t1 VALUES (2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET AUTOCOMMIT = 0;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
INSERT INTO t1 VALUES (3);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
LOCK TABLES t1 WRITE;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
INSERT INTO t1 VALUES (2);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
UNLOCK TABLES;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_index.result b/mysql-test/suite/binlog/r/binlog_index.result
index 35a86f479cc..bb5d9ff74f1 100644
--- a/mysql-test/suite/binlog/r/binlog_index.result
+++ b/mysql-test/suite/binlog/r/binlog_index.result
@@ -134,7 +134,7 @@ master-bin.000011
# fault_injection_registering_index
SET SESSION debug_dbug="+d,fault_injection_registering_index";
flush logs;
-ERROR HY000: Can't open file: 'master-bin.000012' (errno: 1)
+ERROR HY000: Can't open file: 'master-bin.000012' (errno: 1 "Operation not permitted")
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -159,7 +159,7 @@ master-bin.000012
# fault_injection_updating_index
SET SESSION debug_dbug="+d,fault_injection_updating_index";
flush logs;
-ERROR HY000: Can't open file: 'master-bin.000013' (errno: 1)
+ERROR HY000: Can't open file: 'master-bin.000013' (errno: 1 "Operation not permitted")
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
diff --git a/mysql-test/suite/binlog/r/binlog_innodb.result b/mysql-test/suite/binlog/r/binlog_innodb.result
index cdb72aad902..afa6c827e0b 100644
--- a/mysql-test/suite/binlog/r/binlog_innodb.result
+++ b/mysql-test/suite/binlog/r/binlog_innodb.result
@@ -63,54 +63,55 @@ SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
BEGIN;
UPDATE t1 SET b = 4*a WHERE a > 4;
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 2*a WHERE a > 1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 3*a WHERE a > 3
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 4*a WHERE a > 4
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 3*a WHERE a > 3
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 4*a WHERE a > 4
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
DROP TABLE t1;
flush status;
@@ -157,8 +158,7 @@ a b
1 1
4 4
# There must no UPDATE in binlog;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
delete from t1;
delete from t2;
insert into t1 values (1,2),(3,4),(4,4);
@@ -167,7 +167,6 @@ reset master;
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
# There must be no UPDATE query event;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
drop table t1, t2;
End of tests
diff --git a/mysql-test/suite/binlog/r/binlog_innodb_row.result b/mysql-test/suite/binlog/r/binlog_innodb_row.result
index e43cffb23a2..82c1b4410fd 100644
--- a/mysql-test/suite/binlog/r/binlog_innodb_row.result
+++ b/mysql-test/suite/binlog/r/binlog_innodb_row.result
@@ -7,11 +7,11 @@ update t1 set i = 3 where i < 3;
ERROR 23000: Duplicate entry '3' for key 'i'
commit;
*** Results of the test: the binlog must have only Write_rows events not any Update_rows ***
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
delete from t1;
reset master;
@@ -22,11 +22,11 @@ insert into t1 values (3),(4),(1),(2);
ERROR 23000: Duplicate entry '1' for key 'i'
commit;
*** Results of the test: the binlog must have only one Write_rows event not two ***
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
drop table t1;
RESET MASTER;
@@ -38,13 +38,15 @@ DROP TABLE t1;
###############################################
### assertion: No event for 'TRUNCATE TABLE t2'
###############################################
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 ( c1 int , primary key (c1)) ENGINE=InnoDB
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
###############################################
RESET MASTER;
@@ -55,9 +57,7 @@ DROP TEMPORARY TABLE t1;
###############################################
### assertion: No event for 'TRUNCATE TABLE t1'
###############################################
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t1` /* generated by server */
+include/show_binlog_events.inc
###############################################
#
# Bug#12346411 SQL/LOG.CC:6509: ASSERTION `PREPARED_XIDS > 0' FAILED
diff --git a/mysql-test/suite/binlog/r/binlog_innodb_stm.result b/mysql-test/suite/binlog/r/binlog_innodb_stm.result
new file mode 100644
index 00000000000..829ed7d3c61
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_innodb_stm.result
@@ -0,0 +1,17 @@
+create table categories(
+cat_id int not null primary key,
+cat_name varchar(255) not null,
+cat_description text
+) engine=innodb;
+create table products(
+prd_id int not null auto_increment primary key,
+prd_name varchar(355) not null,
+prd_price decimal,
+cat_id int not null,
+foreign key fk_cat(cat_id)
+references categories(cat_id)
+on update cascade
+) engine=innodb;
+insert into categories values (1, 'drinks', 'drinks');
+update categories set cat_description=2 where cat_id=1;
+drop table products, categories;
diff --git a/mysql-test/suite/binlog/r/binlog_ioerr.result b/mysql-test/suite/binlog/r/binlog_ioerr.result
index 9dd927b9299..1d3c3d7d12d 100644
--- a/mysql-test/suite/binlog/r/binlog_ioerr.result
+++ b/mysql-test/suite/binlog/r/binlog_ioerr.result
@@ -4,9 +4,9 @@ CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb;
INSERT INTO t1 VALUES(0);
SET SESSION debug_dbug='+d,fail_binlog_write_1';
INSERT INTO t1 VALUES(1);
-ERROR HY000: Error writing file 'master-bin' (errno: 28)
+ERROR HY000: Error writing file 'master-bin' (errno: 28 "No space left on device")
INSERT INTO t1 VALUES(2);
-ERROR HY000: Error writing file 'master-bin' (errno: 28)
+ERROR HY000: Error writing file 'master-bin' (errno: 28 "No space left on device")
SET SESSION debug_dbug='';
INSERT INTO t1 VALUES(3);
SELECT * FROM t1;
@@ -16,13 +16,16 @@ a
SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
BINLOG POS Format_desc 1 ENDPOS Server ver: #, Binlog ver: #
+BINLOG POS Gtid_list 1 ENDPOS []
+BINLOG POS Binlog_checkpoint 1 ENDPOS master-bin.000001
+BINLOG POS Gtid 1 ENDPOS GTID 0-1-1
BINLOG POS Query 1 ENDPOS use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb
-BINLOG POS Query 1 ENDPOS BEGIN
+BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-2
BINLOG POS Query 1 ENDPOS use `test`; INSERT INTO t1 VALUES(0)
BINLOG POS Xid 1 ENDPOS COMMIT /* XID */
-BINLOG POS Query 1 ENDPOS BEGIN
-BINLOG POS Query 1 ENDPOS BEGIN
-BINLOG POS Query 1 ENDPOS BEGIN
+BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-3
+BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-4
+BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-5
BINLOG POS Query 1 ENDPOS use `test`; INSERT INTO t1 VALUES(3)
BINLOG POS Xid 1 ENDPOS COMMIT /* XID */
DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_killed.result b/mysql-test/suite/binlog/r/binlog_killed.result
index 4d4b8c4a26b..9f2d0dc2cd5 100644
--- a/mysql-test/suite/binlog/r/binlog_killed.result
+++ b/mysql-test/suite/binlog/r/binlog_killed.result
@@ -91,9 +91,9 @@ select @b /* must be 1 at the end of a stmt calling bug27563() */;
@b
1
must have the update query event on the 4th line
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`b`=0
master-bin.000001 # Query # # use `test`; update t4 set b=b + bug27563(b)
master-bin.000001 # Query # # COMMIT
@@ -130,9 +130,9 @@ select @b /* must be 1 at the end of a stmt calling bug27563() */;
@b
1
must have the delete query event on the 4th line
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`b`=0
master-bin.000001 # Query # # use `test`; delete from t4 where b=bug27563(1) or b=bug27563(2)
master-bin.000001 # Query # # COMMIT
diff --git a/mysql-test/suite/binlog/r/binlog_killed_simulate.result b/mysql-test/suite/binlog/r/binlog_killed_simulate.result
index 52eb3c5a0a2..b2c9a6f212f 100644
--- a/mysql-test/suite/binlog/r/binlog_killed_simulate.result
+++ b/mysql-test/suite/binlog/r/binlog_killed_simulate.result
@@ -16,9 +16,9 @@ create table t2 (a int, b int) ENGINE=MyISAM;
reset master;
load data infile '../../std_data/rpl_loaddata.dat' into table t2 /* will be "killed" in the middle */;
ERROR 70100: Query execution was interrupted
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t2` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, `b`) ;file_id=#
master-bin.000001 # Query # # COMMIT
diff --git a/mysql-test/suite/binlog/r/binlog_max_binlog_stmt_cache_size.result b/mysql-test/suite/binlog/r/binlog_max_binlog_stmt_cache_size.result
new file mode 100644
index 00000000000..00f01b59732
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_max_binlog_stmt_cache_size.result
@@ -0,0 +1,22 @@
+#
+# MDEV-4774: Strangeness with max_binlog_stmt_cache_size Settings
+#
+CALL mtr.add_suppression("unsigned value 18446744073709547520 adjusted to 4294963200");
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+MAX_BINLOG_STMT_CACHE_SIZE
+SET @cache_size= @@max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size= @cache_size+1;
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+MAX_BINLOG_STMT_CACHE_SIZE
+SET @@global.max_binlog_stmt_cache_size = @cache_size+4095;
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+MAX_BINLOG_STMT_CACHE_SIZE
+SET @@global.max_binlog_stmt_cache_size= @cache_size-1;
+SELECT @@global.max_binlog_stmt_cache_size = @cache_size-4096;
+@@global.max_binlog_stmt_cache_size = @cache_size-4096
+1
+SET @@global.max_binlog_stmt_cache_size= @cache_size;
+# End of test
diff --git a/mysql-test/suite/binlog/r/binlog_mdev342.result b/mysql-test/suite/binlog/r/binlog_mdev342.result
index 0e1d8f8ac78..e940fd2a764 100644
--- a/mysql-test/suite/binlog/r/binlog_mdev342.result
+++ b/mysql-test/suite/binlog/r/binlog_mdev342.result
@@ -18,13 +18,16 @@ show binary logs;
Log_name File_size
master-bin.000001 #
master-bin.000002 #
-show binlog events in 'master-bin.000001' from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000001 # Gtid_list # # []
+master-bin.000001 # Binlog_checkpoint # # master-bin.000001
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Rotate # # master-bin.000002;pos=<binlog_start>
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_mdev717.result b/mysql-test/suite/binlog/r/binlog_mdev717.result
new file mode 100644
index 00000000000..594032e7dd4
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_mdev717.result
@@ -0,0 +1,42 @@
+RESET MASTER;
+CREATE DATABASE mysqltest;
+SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
+DROP DATABASE mysqltest;;
+SET DEBUG_SYNC= "now WAIT_FOR locked";
+SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
+CREATE FUNCTION mysqltest.f1() RETURNS INT RETURN 1;
+ERROR 42000: Unknown database 'mysqltest'
+CREATE DATABASE mysqltest;
+SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
+DROP DATABASE mysqltest;;
+SET DEBUG_SYNC= "now WAIT_FOR locked";
+SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
+CREATE EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END;
+ERROR 42000: Unknown database 'mysqltest'
+CREATE DATABASE mysqltest;
+CREATE EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
+SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
+DROP DATABASE mysqltest;;
+SET DEBUG_SYNC= "now WAIT_FOR locked";
+SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
+ALTER EVENT mysqltest.e1 ON SCHEDULE EVERY 20 MINUTE DO BEGIN END;
+ERROR 42000: Unknown database 'mysqltest'
+SET DEBUG_SYNC= "RESET";
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # CREATE DATABASE mysqltest
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # DROP DATABASE mysqltest
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # CREATE DATABASE mysqltest
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # DROP DATABASE mysqltest
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # CREATE DATABASE mysqltest
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # DROP DATABASE mysqltest
diff --git a/mysql-test/suite/binlog/r/binlog_mixed_load_data.result b/mysql-test/suite/binlog/r/binlog_mixed_load_data.result
index 840257f11ff..c66839bf3f3 100644
--- a/mysql-test/suite/binlog/r/binlog_mixed_load_data.result
+++ b/mysql-test/suite/binlog/r/binlog_mixed_load_data.result
@@ -1,10 +1,10 @@
RESET MASTER;
CREATE TABLE t1 (word CHAR(20) NOT NULL) ENGINE=MYISAM;
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_multi_engine.result b/mysql-test/suite/binlog/r/binlog_multi_engine.result
deleted file mode 100644
index d0febc3f8bc..00000000000
--- a/mysql-test/suite/binlog/r/binlog_multi_engine.result
+++ /dev/null
@@ -1,106 +0,0 @@
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-CREATE TABLE t1m (m INT, n INT) ENGINE=MYISAM;
-CREATE TABLE t1b (b INT, c INT) ENGINE=BLACKHOLE;
-CREATE TABLE t1n (e INT, f INT) ENGINE=NDB;
-RESET MASTER;
-SET SESSION BINLOG_FORMAT=STATEMENT;
-INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
-UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
-The last event before the COMMIT is use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
-*** Please look in binlog_multi_engine.test if you have a diff here ****
-START TRANSACTION;
-INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
-UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
-Warnings:
-Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c;
-COMMIT;
-TRUNCATE t1m;
-TRUNCATE t1b;
-TRUNCATE t1n;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2)
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2)
-mysqld-bin.000001 # Query # # use `test`; UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Table_map # # table_id: # (test.t1n)
-mysqld-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # use `test`; TRUNCATE t1m
-mysqld-bin.000001 # Query # # use `test`; TRUNCATE t1b
-mysqld-bin.000001 # Query # # use `test`; TRUNCATE t1n
-RESET MASTER;
-SET SESSION BINLOG_FORMAT=MIXED;
-INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
-The last event before the COMMIT is use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
-INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
-UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
-UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
-ERROR HY000: Cannot execute statement: impossible to write to binary log since more than one engine is involved and at least one engine is self-logging.
-TRUNCATE t1m;
-TRUNCATE t1b;
-TRUNCATE t1n;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2)
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Table_map # # table_id: # (test.t1n)
-mysqld-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows # # table_id: #
-mysqld-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # use `test`; TRUNCATE t1m
-mysqld-bin.000001 # Query # # use `test`; TRUNCATE t1b
-mysqld-bin.000001 # Query # # use `test`; TRUNCATE t1n
-RESET MASTER;
-SET SESSION BINLOG_FORMAT=ROW;
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
-INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
-INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
-UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
-ERROR HY000: Cannot execute statement: impossible to write to binary log since more than one engine is involved and at least one engine is self-logging.
-UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c;
-ERROR HY000: Cannot execute statement: impossible to write to binary log since more than one engine is involved and at least one engine is self-logging.
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Table_map # # table_id: # (test.t1m)
-mysqld-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Table_map # # table_id: # (test.t1b)
-mysqld-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Table_map # # table_id: # (test.t1n)
-mysqld-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows # # table_id: #
-mysqld-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query # # COMMIT
-RESET MASTER;
-DROP TABLE t1m, t1b, t1n;
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result
index 7e918dad590..08c6651d6e3 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result
@@ -1,3 +1,4 @@
+set sql_mode="";
drop table if exists t1;
set @a=UNIX_TIMESTAMP("1970-01-21 15:32:22");
set timestamp=@a;
@@ -32,7 +33,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -42,7 +42,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -52,7 +51,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -62,7 +60,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -72,7 +69,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -94,6 +90,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=1/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -103,17 +103,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=1/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -123,7 +117,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -133,7 +126,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -143,7 +135,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -165,6 +156,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -174,17 +169,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -194,7 +183,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -228,7 +216,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -238,7 +225,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -260,6 +246,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -269,11 +259,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
DELIMITER ;
@@ -288,6 +273,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -297,17 +286,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -317,7 +300,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -351,7 +333,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -361,7 +342,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -396,7 +376,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -406,7 +385,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -416,7 +394,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -426,7 +403,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -436,7 +412,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -448,6 +423,10 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=6/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -457,11 +436,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=6/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
SET TIMESTAMP=1773143/*!*/;
@@ -479,6 +453,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=1/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -488,17 +466,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=1/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -508,7 +480,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -518,7 +489,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -528,7 +498,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -540,6 +509,10 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=6/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -549,11 +522,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=6/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
SET TIMESTAMP=1773143/*!*/;
@@ -571,6 +539,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -580,17 +552,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -600,7 +566,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -612,6 +577,10 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=6/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -621,11 +590,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=6/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
SET TIMESTAMP=1773143/*!*/;
@@ -655,7 +619,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -665,7 +628,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -675,7 +637,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -685,7 +646,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -695,7 +655,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -707,18 +666,8 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1773143/*!*/;
-SET @@session.pseudo_thread_id=999999999/*!*/;
-SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
-SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-SET @@session.lc_time_names=0/*!*/;
-SET @@session.collation_database=DEFAULT/*!*/;
BEGIN
/*!*/;
-SET INSERT_ID=6/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -731,6 +680,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -740,17 +693,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -760,7 +707,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -772,6 +718,10 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=6/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -781,11 +731,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=6/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
SET TIMESTAMP=1773143/*!*/;
@@ -815,7 +760,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -825,7 +769,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -859,7 +802,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -869,7 +811,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -879,7 +820,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -889,7 +829,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -899,7 +838,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -921,6 +859,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=1/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -930,17 +872,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=1/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -950,7 +886,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -960,7 +895,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -970,7 +904,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -991,6 +924,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1000,17 +937,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -1020,7 +951,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -1054,7 +984,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -1064,7 +993,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -1085,6 +1013,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1094,11 +1026,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
DELIMITER ;
@@ -1113,6 +1040,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1122,17 +1053,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -1142,7 +1067,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -1176,7 +1100,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -1186,7 +1109,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -1220,7 +1142,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -1230,7 +1151,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -1240,7 +1160,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -1250,7 +1169,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -1260,7 +1178,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -1272,6 +1189,10 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=6/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1281,11 +1202,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=6/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
SET TIMESTAMP=1773143/*!*/;
@@ -1303,6 +1219,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=1/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1312,17 +1232,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=1/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -1332,7 +1246,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -1342,7 +1255,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -1352,7 +1264,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -1364,6 +1275,10 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=6/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1373,11 +1288,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=6/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
SET TIMESTAMP=1773143/*!*/;
@@ -1394,6 +1304,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1403,17 +1317,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -1423,7 +1331,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -1435,6 +1342,10 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=6/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1444,11 +1355,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=6/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
SET TIMESTAMP=1773143/*!*/;
@@ -1478,7 +1384,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -1488,7 +1393,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -1498,7 +1402,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -1508,7 +1411,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -1518,7 +1420,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -1530,17 +1431,6 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1773143/*!*/;
-SET @@session.pseudo_thread_id=999999999/*!*/;
-SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
-SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-SET @@session.lc_time_names=0/*!*/;
-SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -1553,6 +1443,10 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=3/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1562,17 +1456,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=3/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -1582,7 +1470,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -1594,6 +1481,10 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
+BEGIN
+/*!*/;
+SET INSERT_ID=6/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
@@ -1603,11 +1494,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET INSERT_ID=6/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
SET TIMESTAMP=1773143/*!*/;
@@ -1637,7 +1523,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -1647,7 +1532,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -1681,7 +1565,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
@@ -1691,7 +1574,6 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
@@ -1701,7 +1583,6 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
@@ -1711,7 +1592,6 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
@@ -1721,7 +1601,6 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
@@ -1731,7 +1610,6 @@ insert into t1 values(null, "e")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1773143/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=6/*!*/;
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
index 3604f5e8f8e..9a3f4751165 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
@@ -107,7 +107,7 @@ CREATE TABLE t1 (c29 DATETIME);
INSERT INTO t1 VALUES ('2001-02-03 10:20:30');
DELETE FROM t1 WHERE c29='2001-02-03 10:20:30';
DROP TABLE t1;
-CREATE TABLE t1 (c30 TIMESTAMP);
+CREATE TABLE t1 (c30 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
INSERT INTO t1 VALUES ('2001-02-03 10:20:30');
DELETE FROM t1 WHERE c30='2001-02-03 10:20:30';
DROP TABLE t1;
@@ -348,12 +348,22 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
@@ -362,13 +372,13 @@ SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (c01 BIT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -379,13 +389,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -396,23 +406,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c01 BIT(7))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-6
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -423,13 +439,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -440,13 +456,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -457,13 +473,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -474,13 +490,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -491,13 +507,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -508,13 +524,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -525,13 +541,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-13
+/*!100001 SET @@session.gtid_seq_no=13*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -542,13 +558,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-14
+/*!100001 SET @@session.gtid_seq_no=14*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -559,13 +575,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-15
+/*!100001 SET @@session.gtid_seq_no=15*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -578,23 +594,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-16 ddl
+/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-17 ddl
+/*!100001 SET @@session.gtid_seq_no=17*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (a BIT(20), b CHAR(2))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-18
+/*!100001 SET @@session.gtid_seq_no=18*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -606,23 +628,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-19 ddl
+/*!100001 SET @@session.gtid_seq_no=19*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-20 ddl
+/*!100001 SET @@session.gtid_seq_no=20*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c02 BIT(64))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-21
+/*!100001 SET @@session.gtid_seq_no=21*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -633,13 +661,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-22
+/*!100001 SET @@session.gtid_seq_no=22*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -650,13 +678,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-23
+/*!100001 SET @@session.gtid_seq_no=23*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -667,13 +695,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-24
+/*!100001 SET @@session.gtid_seq_no=24*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -684,23 +712,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-25 ddl
+/*!100001 SET @@session.gtid_seq_no=25*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-26 ddl
+/*!100001 SET @@session.gtid_seq_no=26*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c03 TINYINT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-27
+/*!100001 SET @@session.gtid_seq_no=27*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -717,13 +751,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-28
+/*!100001 SET @@session.gtid_seq_no=28*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -734,13 +768,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-29
+/*!100001 SET @@session.gtid_seq_no=29*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -753,13 +787,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-30
+/*!100001 SET @@session.gtid_seq_no=30*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -770,23 +804,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-31 ddl
+/*!100001 SET @@session.gtid_seq_no=31*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-32 ddl
+/*!100001 SET @@session.gtid_seq_no=32*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c04 TINYINT UNSIGNED)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-33
+/*!100001 SET @@session.gtid_seq_no=33*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -800,13 +840,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-34
+/*!100001 SET @@session.gtid_seq_no=34*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -817,23 +857,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-35 ddl
+/*!100001 SET @@session.gtid_seq_no=35*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-36 ddl
+/*!100001 SET @@session.gtid_seq_no=36*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c06 BOOL)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-37
+/*!100001 SET @@session.gtid_seq_no=37*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -844,13 +890,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-38
+/*!100001 SET @@session.gtid_seq_no=38*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -861,23 +907,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-39 ddl
+/*!100001 SET @@session.gtid_seq_no=39*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-40 ddl
+/*!100001 SET @@session.gtid_seq_no=40*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c07 SMALLINT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-41
+/*!100001 SET @@session.gtid_seq_no=41*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -888,13 +940,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-42
+/*!100001 SET @@session.gtid_seq_no=42*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -905,23 +957,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-43 ddl
+/*!100001 SET @@session.gtid_seq_no=43*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-44 ddl
+/*!100001 SET @@session.gtid_seq_no=44*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c08 SMALLINT UNSIGNED)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-45
+/*!100001 SET @@session.gtid_seq_no=45*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -935,13 +993,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-46
+/*!100001 SET @@session.gtid_seq_no=46*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -954,13 +1012,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-47
+/*!100001 SET @@session.gtid_seq_no=47*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -971,23 +1029,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-48 ddl
+/*!100001 SET @@session.gtid_seq_no=48*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-49 ddl
+/*!100001 SET @@session.gtid_seq_no=49*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c10 MEDIUMINT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-50
+/*!100001 SET @@session.gtid_seq_no=50*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -998,13 +1062,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-51
+/*!100001 SET @@session.gtid_seq_no=51*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1015,23 +1079,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-52 ddl
+/*!100001 SET @@session.gtid_seq_no=52*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-53 ddl
+/*!100001 SET @@session.gtid_seq_no=53*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c11 MEDIUMINT UNSIGNED)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-54
+/*!100001 SET @@session.gtid_seq_no=54*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1045,13 +1115,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-55
+/*!100001 SET @@session.gtid_seq_no=55*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -1064,13 +1134,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-56
+/*!100001 SET @@session.gtid_seq_no=56*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1081,23 +1151,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-57 ddl
+/*!100001 SET @@session.gtid_seq_no=57*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-58 ddl
+/*!100001 SET @@session.gtid_seq_no=58*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c13 INT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-59
+/*!100001 SET @@session.gtid_seq_no=59*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1108,13 +1184,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-60
+/*!100001 SET @@session.gtid_seq_no=60*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1125,23 +1201,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-61 ddl
+/*!100001 SET @@session.gtid_seq_no=61*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-62 ddl
+/*!100001 SET @@session.gtid_seq_no=62*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c14 INT UNSIGNED)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-63
+/*!100001 SET @@session.gtid_seq_no=63*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1155,13 +1237,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-64
+/*!100001 SET @@session.gtid_seq_no=64*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -1174,13 +1256,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-65
+/*!100001 SET @@session.gtid_seq_no=65*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1191,23 +1273,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-66 ddl
+/*!100001 SET @@session.gtid_seq_no=66*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-67 ddl
+/*!100001 SET @@session.gtid_seq_no=67*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c16 BIGINT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-68
+/*!100001 SET @@session.gtid_seq_no=68*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1218,13 +1306,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-69
+/*!100001 SET @@session.gtid_seq_no=69*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1235,23 +1323,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-70 ddl
+/*!100001 SET @@session.gtid_seq_no=70*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-71 ddl
+/*!100001 SET @@session.gtid_seq_no=71*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c17 BIGINT UNSIGNED)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-72
+/*!100001 SET @@session.gtid_seq_no=72*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1265,13 +1359,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-73
+/*!100001 SET @@session.gtid_seq_no=73*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -1284,13 +1378,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-74
+/*!100001 SET @@session.gtid_seq_no=74*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1301,23 +1395,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-75 ddl
+/*!100001 SET @@session.gtid_seq_no=75*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-76 ddl
+/*!100001 SET @@session.gtid_seq_no=76*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c19 FLOAT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-77
+/*!100001 SET @@session.gtid_seq_no=77*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1328,13 +1428,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-78
+/*!100001 SET @@session.gtid_seq_no=78*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1345,23 +1445,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-79 ddl
+/*!100001 SET @@session.gtid_seq_no=79*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-80 ddl
+/*!100001 SET @@session.gtid_seq_no=80*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c22 DOUBLE)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-81
+/*!100001 SET @@session.gtid_seq_no=81*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1372,13 +1478,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-82
+/*!100001 SET @@session.gtid_seq_no=82*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1389,23 +1495,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-83 ddl
+/*!100001 SET @@session.gtid_seq_no=83*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-84 ddl
+/*!100001 SET @@session.gtid_seq_no=84*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c25 DECIMAL(10,5))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-85
+/*!100001 SET @@session.gtid_seq_no=85*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1416,13 +1528,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-86
+/*!100001 SET @@session.gtid_seq_no=86*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1433,13 +1545,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-87
+/*!100001 SET @@session.gtid_seq_no=87*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1450,23 +1562,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-88 ddl
+/*!100001 SET @@session.gtid_seq_no=88*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-89 ddl
+/*!100001 SET @@session.gtid_seq_no=89*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c28 DATE)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-90
+/*!100001 SET @@session.gtid_seq_no=90*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1477,13 +1595,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-91
+/*!100001 SET @@session.gtid_seq_no=91*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1494,156 +1612,180 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-92 ddl
+/*!100001 SET @@session.gtid_seq_no=92*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-93 ddl
+/*!100001 SET @@session.gtid_seq_no=93*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c29 DATETIME)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-94
+/*!100001 SET @@session.gtid_seq_no=94*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
-### @1=2001-02-03 10:20:30 /* DATETIME meta=0 nullable=1 is_null=0 */
+### @1='2001-02-03 10:20:30' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-95
+/*!100001 SET @@session.gtid_seq_no=95*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
-### @1=2001-02-03 10:20:30 /* DATETIME meta=0 nullable=1 is_null=0 */
+### @1='2001-02-03 10:20:30' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-96 ddl
+/*!100001 SET @@session.gtid_seq_no=96*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-97 ddl
+/*!100001 SET @@session.gtid_seq_no=97*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
-CREATE TABLE t1 (c30 TIMESTAMP)
+CREATE TABLE t1 (c30 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-SET @@session.time_zone='SYSTEM'/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-98
+/*!100001 SET @@session.gtid_seq_no=98*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
-### @1=981184830 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
+### @1=981184830 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.time_zone='SYSTEM'/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-99
+/*!100001 SET @@session.gtid_seq_no=99*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
-### @1=981184830 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
+### @1=981184830 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-100 ddl
+/*!100001 SET @@session.gtid_seq_no=100*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-101 ddl
+/*!100001 SET @@session.gtid_seq_no=101*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c31 TIME)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-102
+/*!100001 SET @@session.gtid_seq_no=102*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
-### @1='11:22:33' /* TIME meta=0 nullable=1 is_null=0 */
+### @1='11:22:33' /* TIME(0) meta=0 nullable=1 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-103
+/*!100001 SET @@session.gtid_seq_no=103*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
-### @1='11:22:33' /* TIME meta=0 nullable=1 is_null=0 */
+### @1='11:22:33' /* TIME(0) meta=0 nullable=1 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-104 ddl
+/*!100001 SET @@session.gtid_seq_no=104*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-105 ddl
+/*!100001 SET @@session.gtid_seq_no=105*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c32 YEAR)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-106
+/*!100001 SET @@session.gtid_seq_no=106*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1654,13 +1796,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-107
+/*!100001 SET @@session.gtid_seq_no=107*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1671,23 +1813,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-108 ddl
+/*!100001 SET @@session.gtid_seq_no=108*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-109 ddl
+/*!100001 SET @@session.gtid_seq_no=109*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c33 CHAR)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-110
+/*!100001 SET @@session.gtid_seq_no=110*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1698,13 +1846,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-111
+/*!100001 SET @@session.gtid_seq_no=111*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1715,23 +1863,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-112 ddl
+/*!100001 SET @@session.gtid_seq_no=112*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-113 ddl
+/*!100001 SET @@session.gtid_seq_no=113*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c34 CHAR(0))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-114
+/*!100001 SET @@session.gtid_seq_no=114*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1742,13 +1896,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-115
+/*!100001 SET @@session.gtid_seq_no=115*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1759,23 +1913,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-116 ddl
+/*!100001 SET @@session.gtid_seq_no=116*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-117 ddl
+/*!100001 SET @@session.gtid_seq_no=117*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c35 CHAR(1))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-118
+/*!100001 SET @@session.gtid_seq_no=118*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1786,13 +1946,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-119
+/*!100001 SET @@session.gtid_seq_no=119*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1803,23 +1963,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-120 ddl
+/*!100001 SET @@session.gtid_seq_no=120*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-121 ddl
+/*!100001 SET @@session.gtid_seq_no=121*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c36 CHAR(255))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-122
+/*!100001 SET @@session.gtid_seq_no=122*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1830,13 +1996,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-123
+/*!100001 SET @@session.gtid_seq_no=123*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1847,23 +2013,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-124 ddl
+/*!100001 SET @@session.gtid_seq_no=124*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-125 ddl
+/*!100001 SET @@session.gtid_seq_no=125*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c37 NATIONAL CHAR)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-126
+/*!100001 SET @@session.gtid_seq_no=126*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1874,13 +2046,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-127
+/*!100001 SET @@session.gtid_seq_no=127*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1891,23 +2063,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-128 ddl
+/*!100001 SET @@session.gtid_seq_no=128*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-129 ddl
+/*!100001 SET @@session.gtid_seq_no=129*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c38 NATIONAL CHAR(0))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-130
+/*!100001 SET @@session.gtid_seq_no=130*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1918,13 +2096,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-131
+/*!100001 SET @@session.gtid_seq_no=131*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1935,23 +2113,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-132 ddl
+/*!100001 SET @@session.gtid_seq_no=132*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-133 ddl
+/*!100001 SET @@session.gtid_seq_no=133*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c39 NATIONAL CHAR(1))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-134
+/*!100001 SET @@session.gtid_seq_no=134*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -1962,13 +2146,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-135
+/*!100001 SET @@session.gtid_seq_no=135*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -1979,23 +2163,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-136 ddl
+/*!100001 SET @@session.gtid_seq_no=136*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-137 ddl
+/*!100001 SET @@session.gtid_seq_no=137*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c40 NATIONAL CHAR(255))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-138
+/*!100001 SET @@session.gtid_seq_no=138*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2006,13 +2196,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-139
+/*!100001 SET @@session.gtid_seq_no=139*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2023,13 +2213,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-140
+/*!100001 SET @@session.gtid_seq_no=140*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2043,23 +2233,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-141 ddl
+/*!100001 SET @@session.gtid_seq_no=141*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-142 ddl
+/*!100001 SET @@session.gtid_seq_no=142*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c41 CHAR CHARACTER SET UCS2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-143
+/*!100001 SET @@session.gtid_seq_no=143*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2070,13 +2266,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-144
+/*!100001 SET @@session.gtid_seq_no=144*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2087,23 +2283,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-145 ddl
+/*!100001 SET @@session.gtid_seq_no=145*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-146 ddl
+/*!100001 SET @@session.gtid_seq_no=146*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c42 CHAR(0) CHARACTER SET UCS2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-147
+/*!100001 SET @@session.gtid_seq_no=147*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2114,13 +2316,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-148
+/*!100001 SET @@session.gtid_seq_no=148*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2131,23 +2333,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-149 ddl
+/*!100001 SET @@session.gtid_seq_no=149*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-150 ddl
+/*!100001 SET @@session.gtid_seq_no=150*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c43 CHAR(1) CHARACTER SET UCS2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-151
+/*!100001 SET @@session.gtid_seq_no=151*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2158,13 +2366,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-152
+/*!100001 SET @@session.gtid_seq_no=152*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2175,23 +2383,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-153 ddl
+/*!100001 SET @@session.gtid_seq_no=153*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-154 ddl
+/*!100001 SET @@session.gtid_seq_no=154*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c44 CHAR(255) CHARACTER SET UCS2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-155
+/*!100001 SET @@session.gtid_seq_no=155*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2202,13 +2416,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-156
+/*!100001 SET @@session.gtid_seq_no=156*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2219,14 +2433,14 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-157
+/*!100001 SET @@session.gtid_seq_no=157*//*!*/;
BEGIN
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
# at #
# at #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
@@ -2241,23 +2455,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-158 ddl
+/*!100001 SET @@session.gtid_seq_no=158*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-159 ddl
+/*!100001 SET @@session.gtid_seq_no=159*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c45 VARCHAR(0))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-160
+/*!100001 SET @@session.gtid_seq_no=160*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2268,13 +2488,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-161
+/*!100001 SET @@session.gtid_seq_no=161*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2285,23 +2505,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-162 ddl
+/*!100001 SET @@session.gtid_seq_no=162*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-163 ddl
+/*!100001 SET @@session.gtid_seq_no=163*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c46 VARCHAR(1))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-164
+/*!100001 SET @@session.gtid_seq_no=164*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2312,13 +2538,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-165
+/*!100001 SET @@session.gtid_seq_no=165*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2329,23 +2555,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-166 ddl
+/*!100001 SET @@session.gtid_seq_no=166*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-167 ddl
+/*!100001 SET @@session.gtid_seq_no=167*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c47 VARCHAR(255))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-168
+/*!100001 SET @@session.gtid_seq_no=168*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2356,13 +2588,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-169
+/*!100001 SET @@session.gtid_seq_no=169*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2373,23 +2605,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-170 ddl
+/*!100001 SET @@session.gtid_seq_no=170*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-171 ddl
+/*!100001 SET @@session.gtid_seq_no=171*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c48 VARCHAR(261))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-172
+/*!100001 SET @@session.gtid_seq_no=172*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2400,13 +2638,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-173
+/*!100001 SET @@session.gtid_seq_no=173*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2417,23 +2655,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-174 ddl
+/*!100001 SET @@session.gtid_seq_no=174*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-175 ddl
+/*!100001 SET @@session.gtid_seq_no=175*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c49 NATIONAL VARCHAR(0))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-176
+/*!100001 SET @@session.gtid_seq_no=176*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2444,13 +2688,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-177
+/*!100001 SET @@session.gtid_seq_no=177*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2461,23 +2705,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-178 ddl
+/*!100001 SET @@session.gtid_seq_no=178*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-179 ddl
+/*!100001 SET @@session.gtid_seq_no=179*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c50 NATIONAL VARCHAR(1))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-180
+/*!100001 SET @@session.gtid_seq_no=180*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2488,13 +2738,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-181
+/*!100001 SET @@session.gtid_seq_no=181*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2505,23 +2755,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-182 ddl
+/*!100001 SET @@session.gtid_seq_no=182*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-183 ddl
+/*!100001 SET @@session.gtid_seq_no=183*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c51 NATIONAL VARCHAR(255))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-184
+/*!100001 SET @@session.gtid_seq_no=184*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2532,13 +2788,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-185
+/*!100001 SET @@session.gtid_seq_no=185*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2549,13 +2805,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-186
+/*!100001 SET @@session.gtid_seq_no=186*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2569,23 +2825,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-187 ddl
+/*!100001 SET @@session.gtid_seq_no=187*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-188 ddl
+/*!100001 SET @@session.gtid_seq_no=188*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c52 NATIONAL VARCHAR(261))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-189
+/*!100001 SET @@session.gtid_seq_no=189*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2596,13 +2858,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-190
+/*!100001 SET @@session.gtid_seq_no=190*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2613,13 +2875,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-191
+/*!100001 SET @@session.gtid_seq_no=191*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2633,23 +2895,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-192 ddl
+/*!100001 SET @@session.gtid_seq_no=192*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-193 ddl
+/*!100001 SET @@session.gtid_seq_no=193*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c53 VARCHAR(0) CHARACTER SET ucs2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-194
+/*!100001 SET @@session.gtid_seq_no=194*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2660,13 +2928,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-195
+/*!100001 SET @@session.gtid_seq_no=195*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2677,23 +2945,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-196 ddl
+/*!100001 SET @@session.gtid_seq_no=196*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-197 ddl
+/*!100001 SET @@session.gtid_seq_no=197*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c54 VARCHAR(1) CHARACTER SET ucs2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-198
+/*!100001 SET @@session.gtid_seq_no=198*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2704,13 +2978,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-199
+/*!100001 SET @@session.gtid_seq_no=199*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2721,23 +2995,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-200 ddl
+/*!100001 SET @@session.gtid_seq_no=200*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-201 ddl
+/*!100001 SET @@session.gtid_seq_no=201*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c55 VARCHAR(255) CHARACTER SET ucs2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-202
+/*!100001 SET @@session.gtid_seq_no=202*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2748,13 +3028,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-203
+/*!100001 SET @@session.gtid_seq_no=203*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2765,23 +3045,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-204 ddl
+/*!100001 SET @@session.gtid_seq_no=204*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-205 ddl
+/*!100001 SET @@session.gtid_seq_no=205*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c56 VARCHAR(261) CHARACTER SET ucs2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-206
+/*!100001 SET @@session.gtid_seq_no=206*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2792,13 +3078,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-207
+/*!100001 SET @@session.gtid_seq_no=207*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2809,23 +3095,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-208 ddl
+/*!100001 SET @@session.gtid_seq_no=208*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-209 ddl
+/*!100001 SET @@session.gtid_seq_no=209*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c57 BINARY)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-210
+/*!100001 SET @@session.gtid_seq_no=210*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2836,13 +3128,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-211
+/*!100001 SET @@session.gtid_seq_no=211*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2853,13 +3145,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-212
+/*!100001 SET @@session.gtid_seq_no=212*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2870,13 +3162,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-213
+/*!100001 SET @@session.gtid_seq_no=213*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2887,23 +3179,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-214 ddl
+/*!100001 SET @@session.gtid_seq_no=214*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-215 ddl
+/*!100001 SET @@session.gtid_seq_no=215*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c58 BINARY(0))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-216
+/*!100001 SET @@session.gtid_seq_no=216*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2914,13 +3212,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-217
+/*!100001 SET @@session.gtid_seq_no=217*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -2931,23 +3229,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-218 ddl
+/*!100001 SET @@session.gtid_seq_no=218*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-219 ddl
+/*!100001 SET @@session.gtid_seq_no=219*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c59 BINARY(1))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-220
+/*!100001 SET @@session.gtid_seq_no=220*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2958,13 +3262,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-221
+/*!100001 SET @@session.gtid_seq_no=221*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2975,13 +3279,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-222
+/*!100001 SET @@session.gtid_seq_no=222*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2992,13 +3296,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-223
+/*!100001 SET @@session.gtid_seq_no=223*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3009,23 +3313,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-224 ddl
+/*!100001 SET @@session.gtid_seq_no=224*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-225 ddl
+/*!100001 SET @@session.gtid_seq_no=225*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c60 BINARY(255))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-226
+/*!100001 SET @@session.gtid_seq_no=226*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3036,13 +3346,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-227
+/*!100001 SET @@session.gtid_seq_no=227*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3053,13 +3363,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-228
+/*!100001 SET @@session.gtid_seq_no=228*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3070,13 +3380,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-229
+/*!100001 SET @@session.gtid_seq_no=229*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3087,23 +3397,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-230 ddl
+/*!100001 SET @@session.gtid_seq_no=230*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-231 ddl
+/*!100001 SET @@session.gtid_seq_no=231*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c61 VARBINARY(0))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-232
+/*!100001 SET @@session.gtid_seq_no=232*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3114,13 +3430,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-233
+/*!100001 SET @@session.gtid_seq_no=233*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3131,23 +3447,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-234 ddl
+/*!100001 SET @@session.gtid_seq_no=234*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-235 ddl
+/*!100001 SET @@session.gtid_seq_no=235*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c62 VARBINARY(1))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-236
+/*!100001 SET @@session.gtid_seq_no=236*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3158,13 +3480,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-237
+/*!100001 SET @@session.gtid_seq_no=237*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3175,13 +3497,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-238
+/*!100001 SET @@session.gtid_seq_no=238*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3192,13 +3514,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-239
+/*!100001 SET @@session.gtid_seq_no=239*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3209,23 +3531,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-240 ddl
+/*!100001 SET @@session.gtid_seq_no=240*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-241 ddl
+/*!100001 SET @@session.gtid_seq_no=241*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c63 VARBINARY(255))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-242
+/*!100001 SET @@session.gtid_seq_no=242*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3236,13 +3564,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-243
+/*!100001 SET @@session.gtid_seq_no=243*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3253,13 +3581,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-244
+/*!100001 SET @@session.gtid_seq_no=244*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3270,13 +3598,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-245
+/*!100001 SET @@session.gtid_seq_no=245*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3287,23 +3615,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-246 ddl
+/*!100001 SET @@session.gtid_seq_no=246*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-247 ddl
+/*!100001 SET @@session.gtid_seq_no=247*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c65 TINYBLOB)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-248
+/*!100001 SET @@session.gtid_seq_no=248*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3314,13 +3648,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-249
+/*!100001 SET @@session.gtid_seq_no=249*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3331,23 +3665,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-250 ddl
+/*!100001 SET @@session.gtid_seq_no=250*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-251 ddl
+/*!100001 SET @@session.gtid_seq_no=251*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c68 BLOB)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-252
+/*!100001 SET @@session.gtid_seq_no=252*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3358,13 +3698,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-253
+/*!100001 SET @@session.gtid_seq_no=253*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3375,23 +3715,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-254 ddl
+/*!100001 SET @@session.gtid_seq_no=254*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-255 ddl
+/*!100001 SET @@session.gtid_seq_no=255*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c71 MEDIUMBLOB)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-256
+/*!100001 SET @@session.gtid_seq_no=256*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3402,13 +3748,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-257
+/*!100001 SET @@session.gtid_seq_no=257*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3419,23 +3765,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-258 ddl
+/*!100001 SET @@session.gtid_seq_no=258*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-259 ddl
+/*!100001 SET @@session.gtid_seq_no=259*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c74 LONGBLOB)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-260
+/*!100001 SET @@session.gtid_seq_no=260*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3446,13 +3798,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-261
+/*!100001 SET @@session.gtid_seq_no=261*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3463,23 +3815,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-262 ddl
+/*!100001 SET @@session.gtid_seq_no=262*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-263 ddl
+/*!100001 SET @@session.gtid_seq_no=263*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c66 TINYTEXT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-264
+/*!100001 SET @@session.gtid_seq_no=264*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3490,13 +3848,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-265
+/*!100001 SET @@session.gtid_seq_no=265*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3507,23 +3865,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-266 ddl
+/*!100001 SET @@session.gtid_seq_no=266*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-267 ddl
+/*!100001 SET @@session.gtid_seq_no=267*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c69 TEXT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-268
+/*!100001 SET @@session.gtid_seq_no=268*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3534,13 +3898,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-269
+/*!100001 SET @@session.gtid_seq_no=269*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3551,23 +3915,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-270 ddl
+/*!100001 SET @@session.gtid_seq_no=270*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-271 ddl
+/*!100001 SET @@session.gtid_seq_no=271*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c72 MEDIUMTEXT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-272
+/*!100001 SET @@session.gtid_seq_no=272*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3578,13 +3948,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-273
+/*!100001 SET @@session.gtid_seq_no=273*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3595,23 +3965,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-274 ddl
+/*!100001 SET @@session.gtid_seq_no=274*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-275 ddl
+/*!100001 SET @@session.gtid_seq_no=275*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c75 LONGTEXT)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-276
+/*!100001 SET @@session.gtid_seq_no=276*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3622,13 +3998,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-277
+/*!100001 SET @@session.gtid_seq_no=277*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3639,23 +4015,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-278 ddl
+/*!100001 SET @@session.gtid_seq_no=278*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-279 ddl
+/*!100001 SET @@session.gtid_seq_no=279*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c67 TINYTEXT CHARACTER SET UCS2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-280
+/*!100001 SET @@session.gtid_seq_no=280*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3666,13 +4048,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-281
+/*!100001 SET @@session.gtid_seq_no=281*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3683,23 +4065,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-282 ddl
+/*!100001 SET @@session.gtid_seq_no=282*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-283 ddl
+/*!100001 SET @@session.gtid_seq_no=283*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c70 TEXT CHARACTER SET UCS2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-284
+/*!100001 SET @@session.gtid_seq_no=284*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3710,13 +4098,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-285
+/*!100001 SET @@session.gtid_seq_no=285*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3727,23 +4115,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-286 ddl
+/*!100001 SET @@session.gtid_seq_no=286*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-287 ddl
+/*!100001 SET @@session.gtid_seq_no=287*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c73 MEDIUMTEXT CHARACTER SET UCS2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-288
+/*!100001 SET @@session.gtid_seq_no=288*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3754,13 +4148,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-289
+/*!100001 SET @@session.gtid_seq_no=289*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3771,23 +4165,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-290 ddl
+/*!100001 SET @@session.gtid_seq_no=290*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-291 ddl
+/*!100001 SET @@session.gtid_seq_no=291*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c76 LONGTEXT CHARACTER SET UCS2)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-292
+/*!100001 SET @@session.gtid_seq_no=292*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3798,13 +4198,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-293
+/*!100001 SET @@session.gtid_seq_no=293*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3815,23 +4215,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-294 ddl
+/*!100001 SET @@session.gtid_seq_no=294*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-295 ddl
+/*!100001 SET @@session.gtid_seq_no=295*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c77 ENUM('a','b','c'))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-296
+/*!100001 SET @@session.gtid_seq_no=296*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3842,13 +4248,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-297
+/*!100001 SET @@session.gtid_seq_no=297*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3859,23 +4265,29 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-298 ddl
+/*!100001 SET @@session.gtid_seq_no=298*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-299 ddl
+/*!100001 SET @@session.gtid_seq_no=299*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c78 SET('a','b','c','d','e','f'))
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-300
+/*!100001 SET @@session.gtid_seq_no=300*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3886,13 +4298,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-301
+/*!100001 SET @@session.gtid_seq_no=301*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3903,13 +4315,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-302
+/*!100001 SET @@session.gtid_seq_no=302*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3920,13 +4332,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-303
+/*!100001 SET @@session.gtid_seq_no=303*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3937,13 +4349,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-304
+/*!100001 SET @@session.gtid_seq_no=304*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3954,13 +4366,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-305
+/*!100001 SET @@session.gtid_seq_no=305*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3971,13 +4383,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-306
+/*!100001 SET @@session.gtid_seq_no=306*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3988,13 +4400,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-307
+/*!100001 SET @@session.gtid_seq_no=307*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -4005,28 +4417,37 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-308 ddl
+/*!100001 SET @@session.gtid_seq_no=308*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-309 ddl
+/*!100001 SET @@session.gtid_seq_no=309*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0)
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-310 ddl
+/*!100001 SET @@session.gtid_seq_no=310*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0)
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-311
+/*!100001 SET @@session.gtid_seq_no=311*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -4038,13 +4459,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-312
+/*!100001 SET @@session.gtid_seq_no=312*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -4056,13 +4477,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-313
+/*!100001 SET @@session.gtid_seq_no=313*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
@@ -4074,13 +4495,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-314
+/*!100001 SET @@session.gtid_seq_no=314*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
@@ -4092,16 +4513,16 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-315
+/*!100001 SET @@session.gtid_seq_no=315*//*!*/;
BEGIN
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
# at #
# at #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
@@ -4138,18 +4559,21 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-316 ddl
+/*!100001 SET @@session.gtid_seq_no=316*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1`,`t2` /* generated by server */
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-317
+/*!100001 SET @@session.gtid_seq_no=317*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1dec102` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1dec102`
### SET
@@ -4159,13 +4583,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-318
+/*!100001 SET @@session.gtid_seq_no=318*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1dec102` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1dec102`
### SET
@@ -4175,13 +4599,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-319
+/*!100001 SET @@session.gtid_seq_no=319*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1dec102` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1dec102`
### SET
@@ -4191,6 +4615,9 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-320 ddl
+/*!100001 SET @@session.gtid_seq_no=320*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1dec102` /* generated by server */
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_frag.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_frag.result
new file mode 100644
index 00000000000..041be5ed09f
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_frag.result
@@ -0,0 +1,24 @@
+CREATE TABLE t (a TEXT);
+RESET MASTER;
+INSERT INTO t SET a=repeat('a', 1024);
+SELECT a from t into @a;
+FLUSH LOGS;
+DELETE FROM t;
+FOUND /BINLOG @binlog_fragment_0, @binlog_fragment_1/ in mysqlbinlog.sql
+SELECT a LIKE @a as 'true' FROM t;
+true
+1
+BINLOG number-of-fragments must be exactly two
+BINLOG @binlog_fragment;
+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 '' at line 1
+BINLOG @binlog_fragment, @binlog_fragment, @binlog_fragment;
+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 ' @binlog_fragment' at line 1
+SET @binlog_fragment_0='012345';
+SET @binlog_fragment_1='012345';
+BINLOG @binlog_fragment_0, @binlog_fragment_1;
+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
+SET @binlog_fragment_0='012345';
+BINLOG @binlog_fragment_0, @binlog_fragment_not_exist;
+ERROR 42000: Incorrect argument type to variable 'binlog_fragment_not_exist'
+# Cleanup
+DROP TABLE t;
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 e942071abcd..13c1ba62231 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result
@@ -1,3 +1,4 @@
+set sql_mode="";
SET NAMES 'utf8';
#
# Preparatory cleanup.
@@ -49,7 +50,7 @@ c27 DECIMAL ZEROFILL,
#
c28 DATE,
c29 DATETIME,
-c30 TIMESTAMP,
+c30 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
c31 TIME,
c32 YEAR,
#
@@ -2253,6 +2254,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -2295,7 +2306,7 @@ c27 DECIMAL ZEROFILL,
#
c28 DATE,
c29 DATETIME,
-c30 TIMESTAMP,
+c30 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
c31 TIME,
c32 YEAR,
#
@@ -2355,14 +2366,13 @@ crn INT -- row number
) ENGINE=InnoDB DEFAULT CHARSET latin1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-SET @@session.time_zone='SYSTEM'/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2 trans
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2394,9 +2404,9 @@ BEGIN
### @26=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='1000-01-01 00:00:00' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=75601 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='-838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2449,13 +2459,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3 trans
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2487,9 +2497,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='9999-12-31 23:59:59' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=2146522447 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2542,96 +2552,96 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4 trans
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
# at #
# at #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
-### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
-### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
-### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @28=NULL /* type=14 meta=0 nullable=1 is_null=1 */
-### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */
-### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */
-### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */
-### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */
-### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */
-### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */
-### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */
-### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
-### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
+### @1=NULL /* BIT(1) meta=1 nullable=1 is_null=1 */
+### @2=NULL /* BIT(64) meta=2048 nullable=1 is_null=1 */
+### @3=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @4=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @5=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @6=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @7=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @8=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @9=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @10=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @11=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @12=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @13=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @14=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @15=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @16=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @17=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @18=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @19=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @20=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @21=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @22=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @23=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @24=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @25=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @26=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @27=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @28=NULL /* DATE meta=0 nullable=1 is_null=1 */
+### @29=NULL /* DATETIME(0) meta=0 nullable=1 is_null=1 */
+### @30=1000000000 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */
+### @32=NULL /* YEAR meta=0 nullable=1 is_null=1 */
+### @33=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @34=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @35=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @36=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @37=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @38=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @39=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @40=NULL /* STRING(765) meta=57085 nullable=1 is_null=1 */
+### @41=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @42=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @43=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @44=NULL /* STRING(510) meta=61182 nullable=1 is_null=1 */
+### @45=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @46=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @47=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @48=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @49=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @50=NULL /* VARSTRING(3) meta=3 nullable=1 is_null=1 */
+### @51=NULL /* VARSTRING(765) meta=765 nullable=1 is_null=1 */
+### @52=NULL /* VARSTRING(783) meta=783 nullable=1 is_null=1 */
+### @53=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @54=NULL /* VARSTRING(2) meta=2 nullable=1 is_null=1 */
+### @55=NULL /* VARSTRING(510) meta=510 nullable=1 is_null=1 */
+### @56=NULL /* VARSTRING(522) meta=522 nullable=1 is_null=1 */
+### @57=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @58=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @59=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @60=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @61=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @62=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @63=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @64=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @65=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @66=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @67=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @68=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @69=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @70=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @71=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @72=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @73=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @74=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @75=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @76=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
+### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
### INSERT INTO `test`.`t1`
### SET
@@ -2663,9 +2673,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=1 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='2008-08-04 16:18:06' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=1217855904 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='16:18:47' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2718,13 +2728,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-5 trans
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -2756,9 +2766,9 @@ BEGIN
### @26=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='1000-01-01 00:00:00' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=75601 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='-838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2836,9 +2846,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='9999-12-31 23:59:59' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=2146522447 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2891,13 +2901,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-6 trans
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -2929,9 +2939,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='9999-12-31 23:59:59' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=2146522447 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3009,9 +3019,9 @@ BEGIN
### @26=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='1000-01-01 00:00:00' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=75601 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='-838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3064,94 +3074,94 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-7 trans
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
-### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
-### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
-### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @28=NULL /* type=14 meta=0 nullable=1 is_null=1 */
-### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */
-### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */
-### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */
-### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */
-### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */
-### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */
-### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */
-### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
-### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
+### @1=NULL /* BIT(1) meta=1 nullable=1 is_null=1 */
+### @2=NULL /* BIT(64) meta=2048 nullable=1 is_null=1 */
+### @3=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @4=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @5=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @6=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @7=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @8=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @9=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @10=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @11=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @12=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @13=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @14=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @15=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @16=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @17=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @18=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @19=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @20=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @21=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @22=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @23=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @24=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @25=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @26=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @27=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @28=NULL /* DATE meta=0 nullable=1 is_null=1 */
+### @29=NULL /* DATETIME(0) meta=0 nullable=1 is_null=1 */
+### @30=1000000000 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */
+### @32=NULL /* YEAR meta=0 nullable=1 is_null=1 */
+### @33=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @34=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @35=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @36=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @37=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @38=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @39=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @40=NULL /* STRING(765) meta=57085 nullable=1 is_null=1 */
+### @41=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @42=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @43=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @44=NULL /* STRING(510) meta=61182 nullable=1 is_null=1 */
+### @45=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @46=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @47=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @48=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @49=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @50=NULL /* VARSTRING(3) meta=3 nullable=1 is_null=1 */
+### @51=NULL /* VARSTRING(765) meta=765 nullable=1 is_null=1 */
+### @52=NULL /* VARSTRING(783) meta=783 nullable=1 is_null=1 */
+### @53=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @54=NULL /* VARSTRING(2) meta=2 nullable=1 is_null=1 */
+### @55=NULL /* VARSTRING(510) meta=510 nullable=1 is_null=1 */
+### @56=NULL /* VARSTRING(522) meta=522 nullable=1 is_null=1 */
+### @57=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @58=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @59=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @60=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @61=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @62=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @63=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @64=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @65=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @66=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @67=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @68=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @69=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @70=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @71=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @72=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @73=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @74=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @75=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @76=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
+### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
### SET
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
@@ -3182,9 +3192,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=1 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='2008-08-04 16:18:06' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=1217855904 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='16:18:47' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3237,13 +3247,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-8 trans
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -3275,9 +3285,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=1 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='2008-08-04 16:18:06' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=1217855904 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='16:18:47' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3327,96 +3337,96 @@ BEGIN
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
### SET
-### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
-### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
-### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @28=NULL /* type=14 meta=0 nullable=1 is_null=1 */
-### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */
-### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */
-### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */
-### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */
-### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */
-### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */
-### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */
-### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
-### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
+### @1=NULL /* BIT(1) meta=1 nullable=1 is_null=1 */
+### @2=NULL /* BIT(64) meta=2048 nullable=1 is_null=1 */
+### @3=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @4=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @5=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @6=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @7=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @8=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @9=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @10=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @11=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @12=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @13=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @14=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @15=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @16=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @17=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @18=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @19=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @20=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @21=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @22=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @23=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @24=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @25=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @26=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @27=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @28=NULL /* DATE meta=0 nullable=1 is_null=1 */
+### @29=NULL /* DATETIME(0) meta=0 nullable=1 is_null=1 */
+### @30=1000000000 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */
+### @32=NULL /* YEAR meta=0 nullable=1 is_null=1 */
+### @33=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @34=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @35=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @36=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @37=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @38=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @39=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @40=NULL /* STRING(765) meta=57085 nullable=1 is_null=1 */
+### @41=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @42=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @43=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @44=NULL /* STRING(510) meta=61182 nullable=1 is_null=1 */
+### @45=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @46=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @47=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @48=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @49=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @50=NULL /* VARSTRING(3) meta=3 nullable=1 is_null=1 */
+### @51=NULL /* VARSTRING(765) meta=765 nullable=1 is_null=1 */
+### @52=NULL /* VARSTRING(783) meta=783 nullable=1 is_null=1 */
+### @53=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @54=NULL /* VARSTRING(2) meta=2 nullable=1 is_null=1 */
+### @55=NULL /* VARSTRING(510) meta=510 nullable=1 is_null=1 */
+### @56=NULL /* VARSTRING(522) meta=522 nullable=1 is_null=1 */
+### @57=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @58=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @59=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @60=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @61=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @62=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @63=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @64=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @65=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @66=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @67=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @68=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @69=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @70=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @71=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @72=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @73=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @74=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @75=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @76=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
+### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-9 trans
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3448,9 +3458,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='9999-12-31 23:59:59' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=2146522447 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3503,13 +3513,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-10 trans
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3541,9 +3551,9 @@ BEGIN
### @26=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='1000-01-01 00:00:00' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=75601 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='-838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3596,13 +3606,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-11 trans
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3634,9 +3644,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=1 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='2008-08-04 16:18:06' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=1217855904 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='16:18:47' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3689,94 +3699,94 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-12 trans
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
-### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
-### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
-### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @28=NULL /* type=14 meta=0 nullable=1 is_null=1 */
-### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */
-### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */
-### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */
-### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */
-### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */
-### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */
-### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */
-### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
-### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
+### @1=NULL /* BIT(1) meta=1 nullable=1 is_null=1 */
+### @2=NULL /* BIT(64) meta=2048 nullable=1 is_null=1 */
+### @3=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @4=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @5=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @6=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @7=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @8=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @9=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @10=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @11=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @12=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @13=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @14=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @15=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @16=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @17=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @18=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @19=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @20=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @21=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @22=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @23=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @24=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @25=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @26=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @27=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @28=NULL /* DATE meta=0 nullable=1 is_null=1 */
+### @29=NULL /* DATETIME(0) meta=0 nullable=1 is_null=1 */
+### @30=1000000000 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */
+### @32=NULL /* YEAR meta=0 nullable=1 is_null=1 */
+### @33=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @34=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @35=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @36=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @37=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @38=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @39=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @40=NULL /* STRING(765) meta=57085 nullable=1 is_null=1 */
+### @41=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @42=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @43=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @44=NULL /* STRING(510) meta=61182 nullable=1 is_null=1 */
+### @45=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @46=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @47=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @48=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @49=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @50=NULL /* VARSTRING(3) meta=3 nullable=1 is_null=1 */
+### @51=NULL /* VARSTRING(765) meta=765 nullable=1 is_null=1 */
+### @52=NULL /* VARSTRING(783) meta=783 nullable=1 is_null=1 */
+### @53=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @54=NULL /* VARSTRING(2) meta=2 nullable=1 is_null=1 */
+### @55=NULL /* VARSTRING(510) meta=510 nullable=1 is_null=1 */
+### @56=NULL /* VARSTRING(522) meta=522 nullable=1 is_null=1 */
+### @57=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @58=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @59=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @60=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @61=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @62=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @63=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @64=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @65=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @66=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @67=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @68=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @69=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @70=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @71=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @72=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @73=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @74=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @75=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @76=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
+### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Xid = #
@@ -3878,6 +3888,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -3896,13 +3916,13 @@ crn INT -- row number
) ENGINE=InnoDB DEFAULT CHARSET latin1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2 trans
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3953,13 +3973,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3 trans
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -4028,13 +4048,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4 trans
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -4247,6 +4267,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -4265,6 +4295,9 @@ c_1_n INT -- row number
) ENGINE=InnoDB DEFAULT CHARSET latin1
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (
@@ -4274,6 +4307,9 @@ c_2_n INT -- row number
) ENGINE=InnoDB DEFAULT CHARSET latin1
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t3 (
@@ -4283,13 +4319,13 @@ c_3_n INT -- row number
) ENGINE=InnoDB DEFAULT CHARSET latin1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4 trans
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -4340,13 +4376,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-5 trans
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
@@ -4397,13 +4433,13 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-6 trans
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t3`
### SET
@@ -4454,19 +4490,19 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-7 trans
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
# at #
# at #
# at #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
@@ -4636,19 +4672,19 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-8 trans
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
# at #
# at #
# at #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
@@ -4782,7 +4818,14 @@ LOAD DATA INFILE '../../std_data/loaddata5.dat'
INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
SET c3 = 'Wow';
affected rows: 3
-info: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
+info: Records: 3 Deleted: 0 Skipped: 0 Warnings: 6
+Warnings:
+Note 1265 Data truncated for column 'c1' at row 1
+Note 1265 Data truncated for column 'c2' at row 1
+Note 1265 Data truncated for column 'c1' at row 2
+Note 1265 Data truncated for column 'c2' at row 2
+Note 1265 Data truncated for column 'c1' at row 3
+Note 1265 Data truncated for column 'c2' at row 3
#
# Show what we have in the table.
#
@@ -4810,6 +4853,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -4828,13 +4881,13 @@ c3 VARCHAR(60)
) ENGINE=InnoDB DEFAULT CHARSET latin1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2 trans
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
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 29a1704743c..e2600c9953c 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
@@ -1,3 +1,4 @@
+set sql_mode="";
SET NAMES 'utf8';
#
# Preparatory cleanup.
@@ -49,7 +50,7 @@ c27 DECIMAL ZEROFILL,
#
c28 DATE,
c29 DATETIME,
-c30 TIMESTAMP,
+c30 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
c31 TIME,
c32 YEAR,
#
@@ -2253,6 +2254,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -2295,7 +2306,7 @@ c27 DECIMAL ZEROFILL,
#
c28 DATE,
c29 DATETIME,
-c30 TIMESTAMP,
+c30 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
c31 TIME,
c32 YEAR,
#
@@ -2355,14 +2366,13 @@ crn INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-SET @@session.time_zone='SYSTEM'/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2394,9 +2404,9 @@ BEGIN
### @26=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='1000-01-01 00:00:00' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=75601 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='-838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2448,16 +2458,17 @@ BEGIN
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.time_zone='SYSTEM'/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -2489,9 +2500,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='9999-12-31 23:59:59' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=2146522447 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2546,96 +2557,96 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
# at #
# at #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
-### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
-### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
-### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @28=NULL /* type=14 meta=0 nullable=1 is_null=1 */
-### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */
-### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */
-### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */
-### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */
-### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */
-### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */
-### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */
-### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
-### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
+### @1=NULL /* BIT(1) meta=1 nullable=1 is_null=1 */
+### @2=NULL /* BIT(64) meta=2048 nullable=1 is_null=1 */
+### @3=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @4=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @5=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @6=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @7=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @8=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @9=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @10=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @11=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @12=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @13=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @14=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @15=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @16=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @17=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @18=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @19=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @20=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @21=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @22=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @23=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @24=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @25=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @26=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @27=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @28=NULL /* DATE meta=0 nullable=1 is_null=1 */
+### @29=NULL /* DATETIME(0) meta=0 nullable=1 is_null=1 */
+### @30=1000000000 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */
+### @32=NULL /* YEAR meta=0 nullable=1 is_null=1 */
+### @33=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @34=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @35=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @36=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @37=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @38=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @39=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @40=NULL /* STRING(765) meta=57085 nullable=1 is_null=1 */
+### @41=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @42=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @43=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @44=NULL /* STRING(510) meta=61182 nullable=1 is_null=1 */
+### @45=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @46=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @47=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @48=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @49=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @50=NULL /* VARSTRING(3) meta=3 nullable=1 is_null=1 */
+### @51=NULL /* VARSTRING(765) meta=765 nullable=1 is_null=1 */
+### @52=NULL /* VARSTRING(783) meta=783 nullable=1 is_null=1 */
+### @53=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @54=NULL /* VARSTRING(2) meta=2 nullable=1 is_null=1 */
+### @55=NULL /* VARSTRING(510) meta=510 nullable=1 is_null=1 */
+### @56=NULL /* VARSTRING(522) meta=522 nullable=1 is_null=1 */
+### @57=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @58=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @59=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @60=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @61=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @62=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @63=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @64=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @65=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @66=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @67=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @68=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @69=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @70=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @71=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @72=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @73=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @74=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @75=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @76=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
+### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
### INSERT INTO `test`.`t1`
### SET
@@ -2667,9 +2678,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=1 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='2008-08-04 16:18:06' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=1217855904 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='16:18:47' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2724,13 +2735,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-5
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -2762,9 +2773,9 @@ BEGIN
### @26=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='1000-01-01 00:00:00' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=75601 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='-838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2842,9 +2853,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='9999-12-31 23:59:59' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=2146522447 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -2899,13 +2910,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-6
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -2937,9 +2948,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='9999-12-31 23:59:59' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=2146522447 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3017,9 +3028,9 @@ BEGIN
### @26=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='1000-01-01 00:00:00' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=75601 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='-838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3074,94 +3085,94 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
-### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
-### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
-### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @28=NULL /* type=14 meta=0 nullable=1 is_null=1 */
-### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */
-### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */
-### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */
-### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */
-### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */
-### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */
-### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */
-### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
-### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
+### @1=NULL /* BIT(1) meta=1 nullable=1 is_null=1 */
+### @2=NULL /* BIT(64) meta=2048 nullable=1 is_null=1 */
+### @3=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @4=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @5=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @6=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @7=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @8=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @9=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @10=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @11=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @12=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @13=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @14=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @15=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @16=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @17=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @18=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @19=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @20=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @21=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @22=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @23=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @24=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @25=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @26=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @27=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @28=NULL /* DATE meta=0 nullable=1 is_null=1 */
+### @29=NULL /* DATETIME(0) meta=0 nullable=1 is_null=1 */
+### @30=1000000000 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */
+### @32=NULL /* YEAR meta=0 nullable=1 is_null=1 */
+### @33=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @34=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @35=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @36=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @37=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @38=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @39=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @40=NULL /* STRING(765) meta=57085 nullable=1 is_null=1 */
+### @41=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @42=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @43=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @44=NULL /* STRING(510) meta=61182 nullable=1 is_null=1 */
+### @45=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @46=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @47=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @48=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @49=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @50=NULL /* VARSTRING(3) meta=3 nullable=1 is_null=1 */
+### @51=NULL /* VARSTRING(765) meta=765 nullable=1 is_null=1 */
+### @52=NULL /* VARSTRING(783) meta=783 nullable=1 is_null=1 */
+### @53=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @54=NULL /* VARSTRING(2) meta=2 nullable=1 is_null=1 */
+### @55=NULL /* VARSTRING(510) meta=510 nullable=1 is_null=1 */
+### @56=NULL /* VARSTRING(522) meta=522 nullable=1 is_null=1 */
+### @57=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @58=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @59=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @60=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @61=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @62=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @63=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @64=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @65=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @66=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @67=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @68=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @69=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @70=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @71=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @72=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @73=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @74=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @75=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @76=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
+### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
### SET
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
@@ -3192,9 +3203,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=1 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='2008-08-04 16:18:06' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=1217855904 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='16:18:47' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3249,13 +3260,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -3287,9 +3298,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=1 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='2008-08-04 16:18:06' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=1217855904 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='16:18:47' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3339,84 +3350,84 @@ BEGIN
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
### SET
-### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
-### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
-### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @28=NULL /* type=14 meta=0 nullable=1 is_null=1 */
-### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */
-### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */
-### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */
-### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */
-### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */
-### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */
-### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */
-### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
-### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
+### @1=NULL /* BIT(1) meta=1 nullable=1 is_null=1 */
+### @2=NULL /* BIT(64) meta=2048 nullable=1 is_null=1 */
+### @3=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @4=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @5=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @6=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @7=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @8=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @9=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @10=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @11=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @12=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @13=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @14=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @15=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @16=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @17=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @18=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @19=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @20=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @21=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @22=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @23=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @24=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @25=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @26=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @27=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @28=NULL /* DATE meta=0 nullable=1 is_null=1 */
+### @29=NULL /* DATETIME(0) meta=0 nullable=1 is_null=1 */
+### @30=1000000000 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */
+### @32=NULL /* YEAR meta=0 nullable=1 is_null=1 */
+### @33=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @34=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @35=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @36=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @37=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @38=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @39=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @40=NULL /* STRING(765) meta=57085 nullable=1 is_null=1 */
+### @41=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @42=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @43=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @44=NULL /* STRING(510) meta=61182 nullable=1 is_null=1 */
+### @45=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @46=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @47=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @48=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @49=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @50=NULL /* VARSTRING(3) meta=3 nullable=1 is_null=1 */
+### @51=NULL /* VARSTRING(765) meta=765 nullable=1 is_null=1 */
+### @52=NULL /* VARSTRING(783) meta=783 nullable=1 is_null=1 */
+### @53=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @54=NULL /* VARSTRING(2) meta=2 nullable=1 is_null=1 */
+### @55=NULL /* VARSTRING(510) meta=510 nullable=1 is_null=1 */
+### @56=NULL /* VARSTRING(522) meta=522 nullable=1 is_null=1 */
+### @57=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @58=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @59=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @60=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @61=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @62=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @63=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @64=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @65=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @66=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @67=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @68=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @69=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @70=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @71=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @72=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @73=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @74=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @75=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @76=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
+### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@@ -3424,13 +3435,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3462,9 +3473,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='9999-12-31 23:59:59' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=2146522447 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3519,13 +3530,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3557,9 +3568,9 @@ BEGIN
### @26=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=0 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='1000-01-01 00:00:00' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=75601 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='-838:59:59' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3614,13 +3625,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -3652,9 +3663,9 @@ BEGIN
### @26=9999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @27=1 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */
### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
-### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */
-### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */
+### @29='2008-08-04 16:18:06' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
+### @30=1217855904 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31='16:18:47' /* TIME(0) meta=0 nullable=1 is_null=0 */
### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */
### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
@@ -3709,94 +3720,94 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
-### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
-### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
-### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */
-### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */
-### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */
-### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */
-### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */
-### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */
-### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */
-### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */
-### @28=NULL /* type=14 meta=0 nullable=1 is_null=1 */
-### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */
-### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
-### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */
-### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */
-### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */
-### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */
-### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */
-### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */
-### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */
-### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */
-### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */
-### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */
-### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */
-### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */
-### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */
-### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */
-### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */
-### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */
-### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */
-### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */
-### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
-### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
+### @1=NULL /* BIT(1) meta=1 nullable=1 is_null=1 */
+### @2=NULL /* BIT(64) meta=2048 nullable=1 is_null=1 */
+### @3=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @4=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @5=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @6=NULL /* TINYINT meta=0 nullable=1 is_null=1 */
+### @7=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @8=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @9=NULL /* SHORTINT meta=0 nullable=1 is_null=1 */
+### @10=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @11=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @12=NULL /* MEDIUMINT meta=0 nullable=1 is_null=1 */
+### @13=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @14=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @15=NULL /* INT meta=0 nullable=1 is_null=1 */
+### @16=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @17=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @18=NULL /* LONGINT meta=0 nullable=1 is_null=1 */
+### @19=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @20=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @21=NULL /* FLOAT meta=4 nullable=1 is_null=1 */
+### @22=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @23=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @24=NULL /* DOUBLE meta=8 nullable=1 is_null=1 */
+### @25=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @26=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @27=NULL /* DECIMAL(10,0) meta=2560 nullable=1 is_null=1 */
+### @28=NULL /* DATE meta=0 nullable=1 is_null=1 */
+### @29=NULL /* DATETIME(0) meta=0 nullable=1 is_null=1 */
+### @30=1000000000 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
+### @31=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */
+### @32=NULL /* YEAR meta=0 nullable=1 is_null=1 */
+### @33=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @34=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @35=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @36=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @37=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @38=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @39=NULL /* STRING(3) meta=65027 nullable=1 is_null=1 */
+### @40=NULL /* STRING(765) meta=57085 nullable=1 is_null=1 */
+### @41=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @42=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @43=NULL /* STRING(2) meta=65026 nullable=1 is_null=1 */
+### @44=NULL /* STRING(510) meta=61182 nullable=1 is_null=1 */
+### @45=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @46=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @47=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @48=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @49=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @50=NULL /* VARSTRING(3) meta=3 nullable=1 is_null=1 */
+### @51=NULL /* VARSTRING(765) meta=765 nullable=1 is_null=1 */
+### @52=NULL /* VARSTRING(783) meta=783 nullable=1 is_null=1 */
+### @53=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @54=NULL /* VARSTRING(2) meta=2 nullable=1 is_null=1 */
+### @55=NULL /* VARSTRING(510) meta=510 nullable=1 is_null=1 */
+### @56=NULL /* VARSTRING(522) meta=522 nullable=1 is_null=1 */
+### @57=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @58=NULL /* STRING(0) meta=65024 nullable=1 is_null=1 */
+### @59=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
+### @60=NULL /* STRING(255) meta=65279 nullable=1 is_null=1 */
+### @61=NULL /* VARSTRING(0) meta=0 nullable=1 is_null=1 */
+### @62=NULL /* VARSTRING(1) meta=1 nullable=1 is_null=1 */
+### @63=NULL /* VARSTRING(255) meta=255 nullable=1 is_null=1 */
+### @64=NULL /* VARSTRING(261) meta=261 nullable=1 is_null=1 */
+### @65=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @66=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @67=NULL /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=1 */
+### @68=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @69=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @70=NULL /* BLOB/TEXT meta=2 nullable=1 is_null=1 */
+### @71=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @72=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @73=NULL /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=1 */
+### @74=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @75=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @76=NULL /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=1 */
+### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
+### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@@ -3900,6 +3911,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -3918,13 +3939,13 @@ crn INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -3977,13 +3998,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -4054,13 +4075,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -4275,6 +4296,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -4293,6 +4324,9 @@ c_1_n INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (
@@ -4302,6 +4336,9 @@ c_2_n INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t3 (
@@ -4311,13 +4348,13 @@ c_3_n INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -4370,13 +4407,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-5
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
@@ -4429,13 +4466,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-6
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t3`
### SET
@@ -4488,19 +4525,19 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
# at #
# at #
# at #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
@@ -4672,19 +4709,19 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
# at #
+#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
# at #
# at #
# at #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
-#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
@@ -4820,7 +4857,14 @@ LOAD DATA INFILE '../../std_data/loaddata5.dat'
INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
SET c3 = 'Wow';
affected rows: 3
-info: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
+info: Records: 3 Deleted: 0 Skipped: 0 Warnings: 6
+Warnings:
+Note 1265 Data truncated for column 'c1' at row 1
+Note 1265 Data truncated for column 'c2' at row 1
+Note 1265 Data truncated for column 'c1' at row 2
+Note 1265 Data truncated for column 'c2' at row 2
+Note 1265 Data truncated for column 'c1' at row 3
+Note 1265 Data truncated for column 'c2' at row 3
#
# Show what we have in the table.
#
@@ -4848,6 +4892,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -4866,13 +4920,13 @@ c3 VARCHAR(60)
) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result
index 77e096dd065..d1c6ef1f100 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result
@@ -132,12 +132,22 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
@@ -149,6 +159,9 @@ c2 VARCHAR(20)
) ENGINE=InnoDB DEFAULT CHARSET latin1
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (
@@ -157,13 +170,13 @@ c2 VARCHAR(20)
) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3 trans
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -178,8 +191,8 @@ BEGIN
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -203,8 +216,8 @@ BEGIN
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -214,23 +227,29 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-6
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
@@ -250,13 +269,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t2`
### WHERE
@@ -285,13 +304,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t2`
### WHERE
@@ -303,13 +322,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-9 trans
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@@ -324,8 +343,8 @@ BEGIN
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@@ -349,8 +368,8 @@ BEGIN
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@@ -360,23 +379,29 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-10 ddl
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-11 ddl
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t2
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
@@ -396,13 +421,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-13
+/*!100001 SET @@session.gtid_seq_no=13*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t2`
### WHERE
@@ -431,13 +456,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-14
+/*!100001 SET @@session.gtid_seq_no=14*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number #
+# at #
#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t2`
### WHERE
@@ -449,11 +474,17 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-15 ddl
+/*!100001 SET @@session.gtid_seq_no=15*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1
/*!*/;
# at #
+#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-16 ddl
+/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
+# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t2
diff --git a/mysql-test/suite/binlog/r/binlog_old_versions.result b/mysql-test/suite/binlog/r/binlog_old_versions.result
index a4850b835c8..30b64535eb4 100644
--- a/mysql-test/suite/binlog/r/binlog_old_versions.result
+++ b/mysql-test/suite/binlog/r/binlog_old_versions.result
@@ -1,11 +1,11 @@
-==== Read modern binlog (version 5.1.23) ====
+==== Read binlog with v2 row events ====
SELECT * FROM t1 ORDER BY a;
a b
0 last_insert_id
1 one
3 last stm in trx: next event should be xid
4 four
-674568 random
+62046 random
SELECT * FROM t2 ORDER BY a;
a b
3 first stm in trx
@@ -13,14 +13,14 @@ SELECT COUNT(*) FROM t3;
COUNT(*)
17920
DROP TABLE t1, t2, t3;
-==== Read binlog from version 5.1.17 ====
+==== Read modern binlog (version 5.1.23) ====
SELECT * FROM t1 ORDER BY a;
a b
0 last_insert_id
1 one
3 last stm in trx: next event should be xid
4 four
-764247 random
+674568 random
SELECT * FROM t2 ORDER BY a;
a b
3 first stm in trx
@@ -28,32 +28,32 @@ SELECT COUNT(*) FROM t3;
COUNT(*)
17920
DROP TABLE t1, t2, t3;
-==== Read binlog from version 4.1 ====
+==== Read binlog from version 5.1.17 ====
SELECT * FROM t1 ORDER BY a;
a b
0 last_insert_id
+1 one
+3 last stm in trx: next event should be xid
4 four
-190243 random
+764247 random
+SELECT * FROM t2 ORDER BY a;
+a b
+3 first stm in trx
SELECT COUNT(*) FROM t3;
COUNT(*)
17920
-DROP TABLE t1, t3;
-==== Read binlog from alcatel tree (mysql-5.1-wl2325-5.0-drop6) ====
+DROP TABLE t1, t2, t3;
+==== Read binlog from version 4.1 ====
SELECT * FROM t1 ORDER BY a;
a b
0 last_insert_id
-1 one
-3 last stm in trx: next event should be xid
4 four
-781729 random
-SELECT * FROM t2 ORDER BY a;
-a b
-3 first stm in trx
+190243 random
SELECT COUNT(*) FROM t3;
COUNT(*)
17920
-DROP TABLE t1, t2, t3;
-==== Read binlog from ndb tree (mysql-5.1-telco-6.1) ====
+DROP TABLE t1, t3;
+==== Read binlog from telco tree (mysql-5.1-telco-6.1) ====
SELECT * FROM t1 ORDER BY a;
a b
0 last_insert_id
diff --git a/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_row.result b/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_row.result
new file mode 100644
index 00000000000..e9a744a748e
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_row.result
@@ -0,0 +1,94 @@
+RESET MASTER;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+/* GTID */ INSERT INTO t1 VALUES (1,0);
+/* GTID */ BEGIN;
+/* GTID */ INSERT INTO t1 VALUES (2,0);
+/* GTID */ ALTER TABLE t1 ADD c INT;
+/* GTID */ INSERT INTO t1 VALUES (3,0,0);
+/* GTID */ COMMIT;
+/* GTID */ BEGIN;
+/* GTID */ UPDATE t1 SET b=1, c=1 WHERE a=2;
+/* GTID */ CREATE TEMPORARY TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+/* GTID */ INSERT INTO t2 VALUES (4,10), (5,20);
+/* GTID */ INSERT INTO t1 SELECT a, 2, b FROM t2;
+/* GTID */ DROP TEMPORARY TABLE t2;
+/* GTID */ INSERT INTO t1 VALUES (6, 3, 0);
+/* GTID */ COMMIT;
+/* GTID */ CREATE TEMPORARY TABLE t3 (a INT PRIMARY KEY) ENGINE=InnoDB;
+/* GTID */ BEGIN;
+/* GTID */ DELETE FROM t1 WHERE a=5;
+/* GTID */ INSERT INTO t3 VALUES (7);
+/* GTID */ INSERT INTO t1 SELECT a, 4, 0 FROM t3;
+/* GTID */ UPDATE t1 SET c=1 WHERE a=7;
+/* GTID */ DROP TEMPORARY TABLE t3;
+/* GTID */ COMMIT;
+/* GTID */ CREATE TEMPORARY TABLE t4 (a INT PRIMARY KEY) ENGINE=InnoDB;
+/* GTID */ BEGIN;
+/* GTID */ INSERT INTO t1 VALUES (8, 5, 0);
+/* GTID */ ALTER TABLE t4 ADD b INT;
+/* GTID */ INSERT INTO t1 VALUES (9, 5, 1);
+/* GTID */ COMMIT;
+/* GTID */ INSERT INTO t1 VALUES (10, 6, 0);
+/* GTID */ BEGIN;
+/* GTID */ CREATE TEMPORARY TABLE t5 (a INT PRIMARY KEY) ENGINE=InnoDB;
+/* GTID */ INSERT INTO t1 VALUES (11, 7, 0);
+/* GTID */ COMMIT;
+FLUSH LOGS;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# ddl
+/* GTID */ ALTER TABLE t1 ADD c INT
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+# server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number #
+# server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# ddl
+DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t5`
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_stm_mix.result b/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_stm_mix.result
new file mode 100644
index 00000000000..c2876a3e849
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_stm_mix.result
@@ -0,0 +1,93 @@
+RESET MASTER;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+/* GTID */ INSERT INTO t1 VALUES (1,0);
+/* GTID */ BEGIN;
+/* GTID */ INSERT INTO t1 VALUES (2,0);
+/* GTID */ ALTER TABLE t1 ADD c INT;
+/* GTID */ INSERT INTO t1 VALUES (3,0,0);
+/* GTID */ COMMIT;
+/* GTID */ BEGIN;
+/* GTID */ UPDATE t1 SET b=1, c=1 WHERE a=2;
+/* GTID */ CREATE TEMPORARY TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+/* GTID */ INSERT INTO t2 VALUES (4,10), (5,20);
+/* GTID */ INSERT INTO t1 SELECT a, 2, b FROM t2;
+/* GTID */ DROP TEMPORARY TABLE t2;
+/* GTID */ INSERT INTO t1 VALUES (6, 3, 0);
+/* GTID */ COMMIT;
+/* GTID */ CREATE TEMPORARY TABLE t3 (a INT PRIMARY KEY) ENGINE=InnoDB;
+/* GTID */ BEGIN;
+/* GTID */ DELETE FROM t1 WHERE a=5;
+/* GTID */ INSERT INTO t3 VALUES (7);
+/* GTID */ INSERT INTO t1 SELECT a, 4, 0 FROM t3;
+/* GTID */ UPDATE t1 SET c=1 WHERE a=7;
+/* GTID */ DROP TEMPORARY TABLE t3;
+/* GTID */ COMMIT;
+/* GTID */ CREATE TEMPORARY TABLE t4 (a INT PRIMARY KEY) ENGINE=InnoDB;
+/* GTID */ BEGIN;
+/* GTID */ INSERT INTO t1 VALUES (8, 5, 0);
+/* GTID */ ALTER TABLE t4 ADD b INT;
+/* GTID */ INSERT INTO t1 VALUES (9, 5, 1);
+/* GTID */ COMMIT;
+/* GTID */ INSERT INTO t1 VALUES (10, 6, 0);
+/* GTID */ BEGIN;
+/* GTID */ CREATE TEMPORARY TABLE t5 (a INT PRIMARY KEY) ENGINE=InnoDB;
+/* GTID */ INSERT INTO t1 VALUES (11, 7, 0);
+/* GTID */ COMMIT;
+FLUSH LOGS;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+/* GTID */ INSERT INTO t1 VALUES (1,0)
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+/* GTID */ INSERT INTO t1 VALUES (2,0)
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# ddl
+/* GTID */ ALTER TABLE t1 ADD c INT
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+/* GTID */ INSERT INTO t1 VALUES (3,0,0)
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# ddl
+BEGIN
+/* GTID */ UPDATE t1 SET b=1, c=1 WHERE a=2
+/* GTID */ CREATE TEMPORARY TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
+/* GTID */ INSERT INTO t2 VALUES (4,10), (5,20)
+/* GTID */ INSERT INTO t1 SELECT a, 2, b FROM t2
+DROP TEMPORARY TABLE `t2` /* generated by server */
+/* GTID */ INSERT INTO t1 VALUES (6, 3, 0)
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# ddl
+/* GTID */ CREATE TEMPORARY TABLE t3 (a INT PRIMARY KEY) ENGINE=InnoDB
+# server id 1 end_log_pos # GTID #-#-# ddl
+BEGIN
+/* GTID */ DELETE FROM t1 WHERE a=5
+/* GTID */ INSERT INTO t3 VALUES (7)
+/* GTID */ INSERT INTO t1 SELECT a, 4, 0 FROM t3
+/* GTID */ UPDATE t1 SET c=1 WHERE a=7
+DROP TEMPORARY TABLE `t3` /* generated by server */
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# ddl
+/* GTID */ CREATE TEMPORARY TABLE t4 (a INT PRIMARY KEY) ENGINE=InnoDB
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+/* GTID */ INSERT INTO t1 VALUES (8, 5, 0)
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# ddl
+/* GTID */ ALTER TABLE t4 ADD b INT
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+/* GTID */ INSERT INTO t1 VALUES (9, 5, 1)
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# trans
+BEGIN
+/* GTID */ INSERT INTO t1 VALUES (10, 6, 0)
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# ddl
+BEGIN
+/* GTID */ CREATE TEMPORARY TABLE t5 (a INT PRIMARY KEY) ENGINE=InnoDB
+/* GTID */ INSERT INTO t1 VALUES (11, 7, 0)
+COMMIT/*!*/;
+# server id 1 end_log_pos # GTID #-#-# ddl
+DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t5`
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_row_annotate.result b/mysql-test/suite/binlog/r/binlog_row_annotate.result
index f3073fd9f2a..6070f2da608 100644
--- a/mysql-test/suite/binlog/r/binlog_row_annotate.result
+++ b/mysql-test/suite/binlog/r/binlog_row_annotate.result
@@ -8,46 +8,54 @@
#####################################################################################
show binlog events in 'master-bin.000001' from <start_pos>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid_list 1 # []
+master-bin.000001 # Binlog_checkpoint 1 # master-bin.000001
+master-bin.000001 # Gtid 1 # GTID 0-1-1
master-bin.000001 # Query 1 # DROP DATABASE IF EXISTS test1
+master-bin.000001 # Gtid 1 # GTID 0-1-2
master-bin.000001 # Query 1 # DROP DATABASE IF EXISTS test2
+master-bin.000001 # Gtid 1 # GTID 0-1-3
master-bin.000001 # Query 1 # DROP DATABASE IF EXISTS test3
+master-bin.000001 # Gtid 1 # GTID 0-1-4
master-bin.000001 # Query 1 # CREATE DATABASE test1
+master-bin.000001 # Gtid 1 # GTID 0-1-5
master-bin.000001 # Query 1 # CREATE DATABASE test2
+master-bin.000001 # Gtid 1 # GTID 0-1-6
master-bin.000001 # Query 1 # CREATE DATABASE test3
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-7
master-bin.000001 # Table_map 1 # table_id: # (test1.t1)
-master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-8
master-bin.000001 # Annotate_rows 1 # INSERT INTO test2.t2 VALUES (1), (2), (3)
master-bin.000001 # Table_map 1 # table_id: # (test2.t2)
-master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-9
master-bin.000001 # Annotate_rows 1 # INSERT INTO test3.t3 VALUES (1), (2), (3)
master-bin.000001 # Table_map 1 # table_id: # (test3.t3)
-master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-10
master-bin.000001 # Annotate_rows 1 # DELETE test1.t1, test2.t2
FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
master-bin.000001 # Table_map 1 # table_id: # (test1.t1)
master-bin.000001 # Table_map 1 # table_id: # (test2.t2)
-master-bin.000001 # Delete_rows 1 # table_id: #
-master-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Delete_rows_v1 1 # table_id: #
+master-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-11
master-bin.000001 # Annotate_rows 1 # INSERT INTO test2.v2 VALUES (1), (2), (3)
master-bin.000001 # Table_map 1 # table_id: # (test2.t2)
-master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-12
master-bin.000001 # Annotate_rows 1 # DELETE xtest1.xt1, test2.t2
FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
master-bin.000001 # Table_map 1 # table_id: # (test2.t2)
-master-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT
master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
#
@@ -68,6 +76,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -81,38 +99,53 @@ SET @@session.collation_database=DEFAULT/*!*/;
DROP DATABASE IF EXISTS test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP DATABASE IF EXISTS test2
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP DATABASE IF EXISTS test3
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test1`.`t1`
### SET
@@ -129,16 +162,16 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> INSERT INTO test2.t2 VALUES (1), (2), (3)
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -155,16 +188,16 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> INSERT INTO test3.t3 VALUES (1), (2), (3)
#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test3`.`t3`
### SET
@@ -181,21 +214,21 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
-# at #
-# at #
#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
#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 #
+# at #
+# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test1`.`t1`
@@ -222,16 +255,16 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> INSERT INTO test2.v2 VALUES (1), (2), (3)
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -248,18 +281,18 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#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
#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
### DELETE FROM `test2`.`t2`
### WHERE
@@ -296,6 +329,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -309,22 +352,37 @@ SET @@session.collation_database=DEFAULT/*!*/;
DROP DATABASE IF EXISTS test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test1`.`t1`
### SET
@@ -341,8 +399,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
@@ -354,8 +412,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
@@ -367,20 +425,20 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
-# at #
-# at #
#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
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
+# at #
+# at #
+# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id #
### DELETE FROM `test1`.`t1`
### WHERE
@@ -398,8 +456,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
/*!*/;
# at #
@@ -411,8 +469,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
@@ -443,6 +501,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -456,38 +524,53 @@ SET @@session.collation_database=DEFAULT/*!*/;
DROP DATABASE IF EXISTS test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP DATABASE IF EXISTS test2
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP DATABASE IF EXISTS test3
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test1`.`t1`
### SET
@@ -504,14 +587,14 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -528,14 +611,14 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test3`.`t3`
### SET
@@ -552,17 +635,17 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
# at #
+#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 #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
-#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test1`.`t1`
@@ -589,14 +672,14 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -613,14 +696,14 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#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
### DELETE FROM `test2`.`t2`
### WHERE
@@ -661,6 +744,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -674,38 +767,53 @@ SET @@session.collation_database=DEFAULT/*!*/;
DROP DATABASE IF EXISTS test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP DATABASE IF EXISTS test2
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP DATABASE IF EXISTS test3
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test1`.`t1`
### SET
@@ -722,16 +830,16 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> INSERT INTO test2.t2 VALUES (1), (2), (3)
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -748,16 +856,16 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> INSERT INTO test3.t3 VALUES (1), (2), (3)
#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test3`.`t3`
### SET
@@ -774,21 +882,21 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
-# at #
-# at #
#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
#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 #
+# at #
+# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test1`.`t1`
@@ -815,16 +923,16 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
#Q> INSERT INTO test2.v2 VALUES (1), (2), (3)
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -841,18 +949,18 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
#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
#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
### DELETE FROM `test2`.`t2`
### WHERE
@@ -889,6 +997,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -902,22 +1020,37 @@ SET @@session.collation_database=DEFAULT/*!*/;
DROP DATABASE IF EXISTS test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test1`.`t1`
### SET
@@ -934,8 +1067,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
@@ -947,8 +1080,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
@@ -960,20 +1093,20 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
# at #
-# at #
-# at #
-# at #
#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
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
+# at #
+# at #
+# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id #
### DELETE FROM `test1`.`t1`
### WHERE
@@ -991,8 +1124,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
/*!*/;
# at #
@@ -1004,8 +1137,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
@@ -1036,6 +1169,16 @@ DELIMITER /*!*/;
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -1049,38 +1192,53 @@ SET @@session.collation_database=DEFAULT/*!*/;
DROP DATABASE IF EXISTS test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP DATABASE IF EXISTS test2
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP DATABASE IF EXISTS test3
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test1
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test1`.`t1`
### SET
@@ -1097,13 +1255,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -1120,13 +1278,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test3`.`t3`
### SET
@@ -1143,16 +1301,16 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
+#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 #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
-#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test1`.`t1`
@@ -1179,13 +1337,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -1202,13 +1360,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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
### DELETE FROM `test2`.`t2`
### WHERE
diff --git a/mysql-test/suite/binlog/r/binlog_row_binlog.result b/mysql-test/suite/binlog/r/binlog_row_binlog.result
index 109328dfdad..cb6b344e311 100644
--- a/mysql-test/suite/binlog/r/binlog_row_binlog.result
+++ b/mysql-test/suite/binlog/r/binlog_row_binlog.result
@@ -8,17 +8,19 @@ commit;
begin;
insert t2 values (5);
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 (a int) engine=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
drop table t1,t2;
reset master;
@@ -26,214 +28,217 @@ create table t1 (n int) engine=innodb;
begin;
commit;
drop table t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (n int) engine=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
-show binlog events in 'master-bin.000002' from <binlog_start>;
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Binlog_checkpoint # # master-bin.000002
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
set @ac = @@autocommit;
set autocommit= 0;
@@ -245,17 +250,19 @@ insert into t1 values (2);
insert into t1 values (3);
commit;
drop table t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int) engine=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
set @bcs = @@binlog_cache_size;
set global binlog_cache_size=4096;
@@ -268,213 +275,215 @@ Binlog_cache_use 0
*** the following must show the counter value = 1 ***
Variable_name Value
Binlog_cache_use 1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int, b char(255)) engine=innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; flush status
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
drop table t1;
set global binlog_cache_size=@bcs;
set session autocommit = @ac;
@@ -487,13 +496,15 @@ set @b= 14632475938453979136;
execute stmt using @a, @b;
deallocate prepare stmt;
drop table t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
reset master;
CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
@@ -518,11 +529,14 @@ END//
CALL p1();
c1 c2 c3 d1 d2 d3
utf8_general_ci utf8_unicode_ci utf8_unicode_ci 2 2 2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `bug39182`; CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci)
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `bug39182`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
BEGIN
DECLARE s1 VARCHAR(255);
@@ -538,7 +552,6 @@ COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2,
COERCIBILITY(s1) d3;
DROP TEMPORARY TABLE tmp1;
END
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `bug39182`.`tmp1` /* generated by server */
DROP PROCEDURE p1;
DROP TABLE t1;
DROP DATABASE bug39182;
@@ -628,52 +641,58 @@ INSERT INTO user SET host='localhost', user='@#@', password=password('Just a tes
UPDATE user SET password=password('Another password') WHERE host='localhost' AND user='@#@';
DELETE FROM user WHERE host='localhost' AND user='@#@';
use test;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (id tinyint auto_increment primary key)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (id tinyint auto_increment primary key) engine=myisam
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t2` (
`a` int(11) DEFAULT NULL
)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t3` (
`a` int(11) DEFAULT NULL
) ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (mysql.user)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (mysql.user)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (mysql.user)
-master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
drop table t1,t2,t3,tt1;
reset master;
@@ -682,21 +701,23 @@ insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
insert /*! delayed */ into t1 values (null);
insert delayed into t1 values (300);
FLUSH TABLES;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; FLUSH TABLES
RESET MASTER;
insert /* before delayed */ delayed /* after delayed */ into t1 values (null),(null),(null),(null);
@@ -751,14 +772,17 @@ BINLOG '
SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
# # Format_desc 1 # Server ver: #, Binlog ver: #
+# # Gtid_list 1 # []
+# # Binlog_checkpoint 1 # master-bin.000001
+# # Gtid 1 # GTID 0-1-1
# # Query 1 # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY)
-# # Query 1 # BEGIN
+# # Gtid 1 # BEGIN GTID 0-1-2
# # Table_map 1 # table_id: # (test.t1)
-# # Write_rows 1 # table_id: # flags: STMT_END_F
+# # Write_rows_v1 1 # table_id: # flags: STMT_END_F
# # Query 1 # COMMIT
-# # Query 1 # BEGIN
+# # Gtid 1 # BEGIN GTID 0-1-3
# # Table_map 1 # table_id: # (test.t1)
-# # Write_rows 1 # table_id: # flags: STMT_END_F
+# # Write_rows_v1 1 # table_id: # flags: STMT_END_F
# # Query 1 # COMMIT
DROP TABLE t1;
@@ -780,9 +804,11 @@ SELECT * FROM t1;
c1
1
# Their values should be ON
-SHOW SESSION VARIABLES LIKE "%_checks";
+SHOW SESSION VARIABLES LIKE "foreign_key_checks";
Variable_name Value
foreign_key_checks ON
+SHOW SESSION VARIABLES LIKE "unique_checks";
+Variable_name Value
unique_checks ON
SET @@SESSION.foreign_key_checks= OFF;
@@ -798,14 +824,16 @@ c1
1
2
# Their values should be OFF
-SHOW SESSION VARIABLES LIKE "%_checks";
+SHOW SESSION VARIABLES LIKE "foreign_key_checks";
Variable_name Value
foreign_key_checks OFF
+SHOW SESSION VARIABLES LIKE "unique_checks";
+Variable_name Value
unique_checks OFF
# INSERT INTO t1 VALUES(2)
# foreign_key_checks=1 and unique_checks=1
# It should not change current session's variables, even error happens
-call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.t1; Duplicate entry .2. for key .PRIMARY., Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Could not execute Write_rows_v1 event on table test.t1; Duplicate entry .2. for key .PRIMARY., Error_code: 1062");
BINLOG '
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
@@ -816,8 +844,10 @@ c1
1
2
# Their values should be OFF
-SHOW SESSION VARIABLES LIKE "%_checks";
+SHOW SESSION VARIABLES LIKE "foreign_key_checks";
Variable_name Value
foreign_key_checks OFF
+SHOW SESSION VARIABLES LIKE "unique_checks";
+Variable_name Value
unique_checks OFF
DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result b/mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result
index aa2f2cca755..346b7a58179 100644
--- a/mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result
+++ b/mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result
@@ -11444,13 +11444,76 @@ i
1
1
DROP TABLE t1;
+#
+# MDEV-6170 Incorrect ordering with utf8_bin and utf8mb4_bin collations
+#
+SELECT @@collation_connection;
+@@collation_connection
+cp932_japanese_ci
+CREATE TABLE t1 ENGINE=MEMORY AS SELECT REPEAT('a',5) AS a LIMIT 0;
+INSERT INTO t1 (a) VALUES ("a");
+INSERT INTO t1 (a) VALUES ("b");
+INSERT INTO t1 (a) VALUES ("c");
+INSERT INTO t1 (a) VALUES ("d");
+INSERT INTO t1 (a) VALUES ("e");
+INSERT INTO t1 (a) VALUES ("f");
+INSERT INTO t1 (a) VALUES ("g");
+INSERT INTO t1 (a) VALUES ("h");
+INSERT INTO t1 (a) VALUES ("i");
+INSERT INTO t1 (a) VALUES ("j");
+INSERT INTO t1 (a) VALUES ("k");
+INSERT INTO t1 (a) VALUES ("l");
+INSERT INTO t1 (a) VALUES ("m");
+SELECT * FROM t1 ORDER BY LOWER(a);
+a
+a
+b
+c
+d
+e
+f
+g
+h
+i
+j
+k
+l
+m
+SELECT * FROM t1 ORDER BY LOWER(a) DESC;
+a
+m
+l
+k
+j
+i
+h
+g
+f
+e
+d
+c
+b
+a
+DROP TABLE t1;
CREATE TABLE t1 AS
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
hex(concat(repeat(0xF1F2, 10), '%'))
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
@@ -11488,13 +11551,76 @@ i
1
1
DROP TABLE t1;
+#
+# MDEV-6170 Incorrect ordering with utf8_bin and utf8mb4_bin collations
+#
+SELECT @@collation_connection;
+@@collation_connection
+cp932_bin
+CREATE TABLE t1 ENGINE=MEMORY AS SELECT REPEAT('a',5) AS a LIMIT 0;
+INSERT INTO t1 (a) VALUES ("a");
+INSERT INTO t1 (a) VALUES ("b");
+INSERT INTO t1 (a) VALUES ("c");
+INSERT INTO t1 (a) VALUES ("d");
+INSERT INTO t1 (a) VALUES ("e");
+INSERT INTO t1 (a) VALUES ("f");
+INSERT INTO t1 (a) VALUES ("g");
+INSERT INTO t1 (a) VALUES ("h");
+INSERT INTO t1 (a) VALUES ("i");
+INSERT INTO t1 (a) VALUES ("j");
+INSERT INTO t1 (a) VALUES ("k");
+INSERT INTO t1 (a) VALUES ("l");
+INSERT INTO t1 (a) VALUES ("m");
+SELECT * FROM t1 ORDER BY LOWER(a);
+a
+a
+b
+c
+d
+e
+f
+g
+h
+i
+j
+k
+l
+m
+SELECT * FROM t1 ORDER BY LOWER(a) DESC;
+a
+m
+l
+k
+j
+i
+h
+g
+f
+e
+d
+c
+b
+a
+DROP TABLE t1;
CREATE TABLE t1 AS
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
hex(concat(repeat(0xF1F2, 10), '%'))
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
diff --git a/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result b/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result
index f5d19d08a29..6b56c006518 100644
--- a/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result
+++ b/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result
@@ -3,11 +3,11 @@ create table t2 (c char(30)) charset=ucs2;
set @v=convert('abc' using ucs2);
reset master;
insert into t2 values (@v);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
flush logs;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
@@ -15,18 +15,17 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
SET TIMESTAMP=10000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET TIMESTAMP=10000/*!*/;
COMMIT
/*!*/;
DELIMITER ;
diff --git a/mysql-test/suite/binlog/r/binlog_row_drop_tbl.result b/mysql-test/suite/binlog/r/binlog_row_drop_tbl.result
index 15e6679fa25..d7cb9bb97ad 100644
--- a/mysql-test/suite/binlog/r/binlog_row_drop_tbl.result
+++ b/mysql-test/suite/binlog/r/binlog_row_drop_tbl.result
@@ -6,11 +6,13 @@ BEGIN;
INSERT INTO t1 VALUES(1);
DROP TABLE t1;;
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
diff --git a/mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result b/mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result
index ca5181f0106..dce2cc1408c 100644
--- a/mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result
+++ b/mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result
@@ -23,18 +23,21 @@ USE test;
SELECT GET_LOCK("a",10);
GET_LOCK("a",10)
1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE `drop-temp+table-test`
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TABLE t(c1 int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp1` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp3` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `t` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `tmp2`,`t` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `shortn2`,`table:name`,`shortn1`
DROP DATABASE `drop-temp+table-test`;
RESET MASTER;
@@ -45,13 +48,15 @@ INSERT INTO t1 VALUES ('1');
SELECT @@session.binlog_format;
@@session.binlog_format
ROW
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 ( i text )
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `ttmp1`
RESET MASTER;
DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_row_insert_select.result b/mysql-test/suite/binlog/r/binlog_row_insert_select.result
index 214a77dd36b..9a5ca5f2352 100644
--- a/mysql-test/suite/binlog/r/binlog_row_insert_select.result
+++ b/mysql-test/suite/binlog/r/binlog_row_insert_select.result
@@ -6,11 +6,11 @@ insert into t2 values(1),(2);
reset master;
insert into t1 select * from t2;
ERROR 23000: Duplicate entry '2' for key 'a'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select * from t1;
a
@@ -22,6 +22,5 @@ insert into t1 values(1),(1);
reset master;
create table t2(unique(a)) select a from t1;
ERROR 23000: Duplicate entry '1' for key 'a'
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
drop table t1;
diff --git a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
index ed6e711af6b..f8f4fa5ec31 100644
--- a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
@@ -7,15 +7,15 @@ begin;
insert into t1 values(1);
insert into t2 select * from t1;
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
delete from t1;
delete from t2;
@@ -26,11 +26,11 @@ insert into t2 select * from t1;
rollback;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
delete from t1;
delete from t2;
@@ -44,18 +44,18 @@ rollback to savepoint my_savepoint;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK TO `my_savepoint`
master-bin.000001 # Xid # # COMMIT /* XID */
delete from t1;
@@ -75,21 +75,21 @@ select a from t1 order by a;
a
5
7
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK TO `my_savepoint`
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
delete from t1;
delete from t2;
@@ -103,26 +103,26 @@ insert into t2 select * from t1;
select get_lock("a",10);
get_lock("a",10)
1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
delete from t1;
delete from t2;
reset master;
insert into t1 values(9);
insert into t2 select * from t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
delete from t1;
delete from t2;
@@ -130,31 +130,31 @@ reset master;
insert into t1 values(10);
begin;
insert into t2 select * from t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
insert into t1 values(11);
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
alter table t2 engine=INNODB;
delete from t1;
@@ -164,13 +164,13 @@ begin;
insert into t1 values(12);
insert into t2 select * from t1;
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
delete from t1;
delete from t2;
@@ -179,8 +179,7 @@ begin;
insert into t1 values(13);
insert into t2 select * from t1;
rollback;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
delete from t1;
delete from t2;
reset master;
@@ -191,11 +190,12 @@ insert into t1 values(15);
insert into t2 select * from t1;
rollback to savepoint my_savepoint;
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Xid # # COMMIT /* XID */
delete from t1;
delete from t2;
@@ -212,13 +212,14 @@ select a from t1 order by a;
a
16
18
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
delete from t1;
delete from t2;
@@ -265,38 +266,44 @@ insert into t2 values (3);
select get_lock("lock1",60);
get_lock("lock1",60)
1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; alter table t2 engine=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t0 (n int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t0)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t0)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 (n int) engine=innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t1`,`ti`
do release_lock("lock1");
drop table t0,t2;
@@ -308,7 +315,7 @@ CREATE TABLE t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
DROP TABLE if exists t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t2'
INSERT INTO t1 values (3,3);
CREATE TEMPORARY TABLE t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
@@ -317,7 +324,7 @@ Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
DROP TABLE IF EXISTS t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t2'
CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb;
INSERT INTO t1 VALUES (4,4);
CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
@@ -382,50 +389,55 @@ SELECT * from t2;
a b
100 100
DROP TABLE t1,t2;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
reset master;
create table t1 (a int) engine=innodb;
@@ -455,8 +467,7 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
select count(*) from tt /* 2 */;
count(*)
2
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
select count(*) from ti /* zero */;
count(*)
0
@@ -476,8 +487,7 @@ ERROR 23000: Duplicate entry '2' for key 'a'
rollback;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
select count(*) from ti /* zero */;
count(*)
0
@@ -503,12 +513,12 @@ insert into t2 select bug27417(2);
reset master;
insert into t2 values (bug27417(2));
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
/* only (!) with fixes for #23333 will show there is the query */;
select count(*) from t1 /* must be 3 */;
@@ -522,12 +532,12 @@ delete from t2 where a=bug27417(3);
select count(*) from t2 /* nothing got deleted */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
/* the query must be in regardless of #23333 */;
select count(*) from t1 /* must be 5 */;
@@ -548,11 +558,11 @@ insert into t2 values (1);
reset master;
insert into t2 values (bug27417(1));
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
/* the output must denote there is the query */;
select count(*) from t1 /* must be 1 */;
@@ -564,11 +574,11 @@ insert into t2 values (2);
reset master;
insert into t2 select bug27417(1) union select bug27417(2);
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
/* the output must denote there is the query */;
select count(*) from t1 /* must be 2 */;
@@ -579,14 +589,14 @@ insert into t3 values (1,1),(2,3),(3,4);
reset master;
update t3 set b=b+bug27417(1);
ERROR 23000: Duplicate entry '4' for key 'b'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
/* the output must denote there is the query */;
select count(*) from t1 /* must be 2 */;
@@ -599,11 +609,11 @@ insert into t4 values (1,1),(2,2);
reset master;
UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
/* the output must denote there is the query */;
select count(*) from t1 /* must be 4 */;
@@ -631,12 +641,12 @@ insert into t3 values (bug27417(1), 2);
reset master;
delete from t2;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
/* the output must denote there is the query */;
select count(*) from t1 /* must be 1 */;
@@ -653,11 +663,11 @@ insert into t5 values (1),(2);
reset master;
delete t2.* from t2,t5 where t2.a=t5.a + 1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
/* the output must denote there is the query */;
select count(*) from t1 /* must be 1 */;
@@ -675,11 +685,11 @@ a b
select count(*) from t1 /* must be 2 */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
/* the output must denote there is the query */;
drop trigger trg_del_t2;
@@ -699,8 +709,7 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
select count(*) from tt /* 2 */;
count(*)
2
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
select count(*) from ti /* zero */;
count(*)
0
@@ -720,8 +729,7 @@ ERROR 23000: Duplicate entry '2' for key 'a'
rollback;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
select count(*) from ti /* zero */;
count(*)
0
@@ -747,12 +755,12 @@ insert into t2 select bug27417(2);
reset master;
insert into t2 values (bug27417(2));
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select count(*) from t1 /* must be 3 */;
count(*)
@@ -765,12 +773,12 @@ delete from t2 where a=bug27417(3);
select count(*) from t2 /* nothing got deleted */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select count(*) from t1 /* must be 5 */;
count(*)
@@ -790,11 +798,11 @@ insert into t2 values (1);
reset master;
insert into t2 values (bug27417(1));
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select count(*) from t1 /* must be 1 */;
count(*)
@@ -805,11 +813,11 @@ insert into t2 values (2);
reset master;
insert into t2 select bug27417(1) union select bug27417(2);
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select count(*) from t1 /* must be 2 */;
count(*)
@@ -819,14 +827,14 @@ insert into t3 values (1,1),(2,3),(3,4);
reset master;
update t3 set b=b+bug27417(1);
ERROR 23000: Duplicate entry '4' for key 'b'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select count(*) from t1 /* must be 2 */;
count(*)
@@ -838,11 +846,11 @@ insert into t4 values (1,1),(2,2);
reset master;
UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select count(*) from t1 /* must be 4 */;
count(*)
@@ -869,12 +877,12 @@ insert into t3 values (bug27417(1), 2);
reset master;
delete from t2;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select count(*) from t1 /* must be 1 */;
count(*)
@@ -890,11 +898,11 @@ insert into t5 values (1),(2);
reset master;
delete t2.* from t2,t5 where t2.a=t5.a + 1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select count(*) from t1 /* must be 1 */;
count(*)
@@ -911,11 +919,11 @@ a b
select count(*) from t1 /* must be 2 */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
drop trigger trg_del_t2;
drop table t1,t2,t3,t4,t5;
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 74565d976e4..7c17d8ca53c 100644
--- a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
+++ b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
@@ -36,12 +36,22 @@ DELIMITER /*!*/;
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
use `new_test1`/*!*/;
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
@@ -50,13 +60,13 @@ SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (a INT, b INT)
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `new_test1`.`t1`
### SET
@@ -72,19 +82,22 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test2`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (a INT)
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -98,13 +111,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `new_test1`.`t1`
### WHERE
@@ -116,19 +129,22 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
use `new_test3`/*!*/;
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t3 (a INT)
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test3`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `new_test3`.`t3`
### SET
@@ -142,13 +158,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `new_test1`.`t1`
### SET
@@ -160,13 +176,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `new_test1`.`t1`
### SET
@@ -194,13 +210,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test3`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `new_test3`.`t3`
### WHERE
@@ -232,12 +248,22 @@ DELIMITER /*!*/;
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
use `new_test1`/*!*/;
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
@@ -246,13 +272,13 @@ SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (a INT, b INT)
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `new_test1`.`t1`
### SET
@@ -268,19 +294,22 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test2`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (a INT)
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#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 # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test2`.`t2`
### SET
@@ -294,13 +323,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `new_test1`.`t1`
### WHERE
@@ -312,19 +341,22 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
use `new_test3`/*!*/;
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t3 (a INT)
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test3`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `new_test3`.`t3`
### SET
@@ -338,13 +370,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `new_test1`.`t1`
### SET
@@ -356,13 +388,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `new_test1`.`t1`
### SET
@@ -390,13 +422,13 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=1000000000/*!*/;
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
/*!*/;
# at #
-# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `new_test3`.`t3` mapped to number #
+# at #
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `new_test3`.`t3`
### WHERE
diff --git a/mysql-test/suite/binlog/r/binlog_server_id.result b/mysql-test/suite/binlog/r/binlog_server_id.result
index f7d778a288b..a18a38ddf0b 100644
--- a/mysql-test/suite/binlog/r/binlog_server_id.result
+++ b/mysql-test/suite/binlog/r/binlog_server_id.result
@@ -5,30 +5,45 @@ create table t1 (a int);
select @@server_id;
@@server_id
1
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid_list 1 # []
+master-bin.000001 # Binlog_checkpoint 1 # master-bin.000001
+master-bin.000001 # Gtid 1 # GTID #-#-#
master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS `t1`,`t2`,`t3` /* generated by server */
+master-bin.000001 # Gtid 1 # GTID #-#-#
master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
set global server_id=2;
create table t2 (b int);
select @@server_id;
@@server_id
2
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid_list 1 # []
+master-bin.000001 # Binlog_checkpoint 1 # master-bin.000001
+master-bin.000001 # Gtid 1 # GTID #-#-#
master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS `t1`,`t2`,`t3` /* generated by server */
+master-bin.000001 # Gtid 1 # GTID #-#-#
master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
+master-bin.000001 # Gtid 2 # GTID #-#-#
master-bin.000001 # Query 2 # use `test`; create table t2 (b int)
set global server_id=3;
create table t3 (c int);
select @@server_id;
@@server_id
3
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid_list 1 # []
+master-bin.000001 # Binlog_checkpoint 1 # master-bin.000001
+master-bin.000001 # Gtid 1 # GTID #-#-#
master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS `t1`,`t2`,`t3` /* generated by server */
+master-bin.000001 # Gtid 1 # GTID #-#-#
master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
+master-bin.000001 # Gtid 2 # GTID #-#-#
master-bin.000001 # Query 2 # use `test`; create table t2 (b int)
+master-bin.000001 # Gtid 3 # GTID #-#-#
master-bin.000001 # Query 3 # use `test`; create table t3 (c int)
set global server_id=1;
drop table t1,t2,t3;
diff --git a/mysql-test/suite/binlog/r/binlog_sql_mode.result b/mysql-test/suite/binlog/r/binlog_sql_mode.result
index 1aea77c4a4b..27ba30b5e4f 100644
--- a/mysql-test/suite/binlog/r/binlog_sql_mode.result
+++ b/mysql-test/suite/binlog/r/binlog_sql_mode.result
@@ -21,6 +21,8 @@ DO
BEGIN
UPDATE t1 SET id = id +1;
END;|
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
Check Result
select
(@a:=load_file("MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug39526.binlog"))
diff --git a/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result b/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result
index 15610296d5c..d6875ab60e0 100644
--- a/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result
+++ b/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result
@@ -4,34 +4,37 @@ insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
insert /*! delayed */ into t1 values (null);
insert delayed into t1 values (300);
FLUSH TABLES;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert /* before delayed */ /* after delayed */ into t1 values (207)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=208
master-bin.000001 # Query # # use `test`; insert /*! */ into t1 values (null)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (300)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; FLUSH TABLES
RESET MASTER;
insert /* before delayed */ delayed /* after delayed */ into t1 values (null),(null),(null),(null);
insert /*! delayed */ into t1 values (null),(null),(400),(null);
FLUSH TABLES;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=301
master-bin.000001 # Query # # use `test`; insert /* before delayed */ /* after delayed */ into t1 values (null),(null),(null),(null)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=305
master-bin.000001 # Query # # use `test`; insert /*! */ into t1 values (null),(null),(400),(null)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; FLUSH TABLES
select * from t1;
a
diff --git a/mysql-test/suite/binlog/r/binlog_stm_binlog.result b/mysql-test/suite/binlog/r/binlog_stm_binlog.result
index 68e76921ff3..3a6af15e88a 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_binlog.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_binlog.result
@@ -3,11 +3,13 @@ create table t1 (a int, b int) engine=innodb;
begin;
insert into t1 values (1,2);
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int, b int) engine=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1,2)
master-bin.000001 # Xid # # COMMIT /* XID */
drop table t1;
@@ -21,14 +23,16 @@ commit;
begin;
insert t2 values (5);
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 (a int) engine=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert t1 values (5)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert t2 values (5)
master-bin.000001 # Xid # # COMMIT /* XID */
drop table t1,t2;
@@ -37,10 +41,11 @@ create table t1 (n int) engine=innodb;
begin;
commit;
drop table t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (n int) engine=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(100 + 4)
master-bin.000001 # Query # # use `test`; insert into t1 values(99 + 4)
master-bin.000001 # Query # # use `test`; insert into t1 values(98 + 4)
@@ -142,9 +147,11 @@ master-bin.000001 # Query # # use `test`; insert into t1 values(3 + 4)
master-bin.000001 # Query # # use `test`; insert into t1 values(2 + 4)
master-bin.000001 # Query # # use `test`; insert into t1 values(1 + 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
-show binlog events in 'master-bin.000002' from <binlog_start>;
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Binlog_checkpoint # # master-bin.000002
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
set @ac = @@autocommit;
set autocommit= 0;
@@ -156,14 +163,16 @@ insert into t1 values (2);
insert into t1 values (3);
commit;
drop table t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int) engine=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # use `test`; insert into t1 values (2)
master-bin.000001 # Query # # use `test`; insert into t1 values (3)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
set @bcs = @@binlog_cache_size;
set global binlog_cache_size=4096;
@@ -176,11 +185,13 @@ Binlog_cache_use 0
*** the following must show the counter value = 1 ***
Variable_name Value
Binlog_cache_use 1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int, b char(255)) engine=innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; flush status
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values( 100, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
master-bin.000001 # Query # # use `test`; insert into t1 values( 99, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
master-bin.000001 # Query # # use `test`; insert into t1 values( 98, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
@@ -282,7 +293,7 @@ master-bin.000001 # Query # # use `test`; insert into t1 values( 3, 'just to fil
master-bin.000001 # Query # # use `test`; insert into t1 values( 2, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
master-bin.000001 # Query # # use `test`; insert into t1 values( 1, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
drop table t1;
set global binlog_cache_size=@bcs;
set session autocommit = @ac;
@@ -295,12 +306,14 @@ set @b= 14632475938453979136;
execute stmt using @a, @b;
deallocate prepare stmt;
drop table t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (9999999999999999,14632475938453979136)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
reset master;
CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
@@ -325,11 +338,14 @@ END//
CALL p1();
c1 c2 c3 d1 d2 d3
utf8_general_ci utf8_unicode_ci utf8_unicode_ci 2 2 2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `bug39182`; CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci)
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `bug39182`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
BEGIN
DECLARE s1 VARCHAR(255);
@@ -345,8 +361,10 @@ COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2,
COERCIBILITY(s1) d3;
DROP TEMPORARY TABLE tmp1;
END
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `bug39182`; CREATE TEMPORARY TABLE tmp1
SELECT * FROM t1 WHERE a LIKE CONCAT("%", NAME_CONST('s1',_utf8'test' COLLATE 'utf8_unicode_ci'), "%")
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `bug39182`; DROP TEMPORARY TABLE `tmp1` /* generated by server */
DROP PROCEDURE p1;
DROP TABLE t1;
@@ -437,50 +455,58 @@ INSERT INTO user SET host='localhost', user='@#@', password=password('Just a tes
UPDATE user SET password=password('Another password') WHERE host='localhost' AND user='@#@';
DELETE FROM user WHERE host='localhost' AND user='@#@';
use test;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (id tinyint auto_increment primary key)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(5)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=128
master-bin.000001 # Query # # use `test`; insert ignore into t1 values(null) /* Insert 128 */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert ignore into t1 values(null) /* Insert 5 */
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (id tinyint auto_increment primary key) engine=myisam
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=128
master-bin.000001 # Query # # use `test`; insert into t1 values(5),(null) /* Insert_id 128 */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=128
master-bin.000001 # Query # # use `test`; insert ignore into t1 values (4),(null) /* Insert_id 128 */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert into t1 values(3),(null) /* Insert_id 5 */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert ignore into t1 values(2),(null) /* Insert_id 5 */
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table if not exists t2 select * from t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table if not exists t3 like tt1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysql`; INSERT INTO user SET host='localhost', user='@#@', password=password('Just a test')
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysql`; UPDATE user SET password=password('Another password') WHERE host='localhost' AND user='@#@'
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysql`; DELETE FROM user WHERE host='localhost' AND user='@#@'
master-bin.000001 # Query # # COMMIT
drop table t1,t2,t3,tt1;
@@ -490,21 +516,23 @@ insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
insert /*! delayed */ into t1 values (null);
insert delayed into t1 values (300);
FLUSH TABLES;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; FLUSH TABLES
RESET MASTER;
insert /* before delayed */ delayed /* after delayed */ into t1 values (null),(null),(null),(null);
@@ -559,13 +587,16 @@ BINLOG '
SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
# # Format_desc 1 # Server ver: #, Binlog ver: #
+# # Gtid_list 1 # []
+# # Binlog_checkpoint 1 # master-bin.000001
+# # Gtid 1 # GTID 0-1-1
# # Query 1 # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY)
-# # Query 1 # BEGIN
+# # Gtid 1 # BEGIN GTID 0-1-2
# # Query 1 # use `test`; INSERT INTO t1 VALUES (1)
# # Query 1 # COMMIT
-# # Query 1 # BEGIN
+# # Gtid 1 # BEGIN GTID 0-1-3
# # Table_map 1 # table_id: # (test.t1)
-# # Write_rows 1 # table_id: # flags: STMT_END_F
+# # Write_rows_v1 1 # table_id: # flags: STMT_END_F
# # Query 1 # COMMIT
DROP TABLE t1;
@@ -587,9 +618,11 @@ SELECT * FROM t1;
c1
1
# Their values should be ON
-SHOW SESSION VARIABLES LIKE "%_checks";
+SHOW SESSION VARIABLES LIKE "foreign_key_checks";
Variable_name Value
foreign_key_checks ON
+SHOW SESSION VARIABLES LIKE "unique_checks";
+Variable_name Value
unique_checks ON
SET @@SESSION.foreign_key_checks= OFF;
@@ -605,14 +638,16 @@ c1
1
2
# Their values should be OFF
-SHOW SESSION VARIABLES LIKE "%_checks";
+SHOW SESSION VARIABLES LIKE "foreign_key_checks";
Variable_name Value
foreign_key_checks OFF
+SHOW SESSION VARIABLES LIKE "unique_checks";
+Variable_name Value
unique_checks OFF
# INSERT INTO t1 VALUES(2)
# foreign_key_checks=1 and unique_checks=1
# It should not change current session's variables, even error happens
-call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.t1; Duplicate entry .2. for key .PRIMARY., Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Could not execute Write_rows_v1 event on table test.t1; Duplicate entry .2. for key .PRIMARY., Error_code: 1062");
BINLOG '
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
@@ -623,8 +658,10 @@ c1
1
2
# Their values should be OFF
-SHOW SESSION VARIABLES LIKE "%_checks";
+SHOW SESSION VARIABLES LIKE "foreign_key_checks";
Variable_name Value
foreign_key_checks OFF
+SHOW SESSION VARIABLES LIKE "unique_checks";
+Variable_name Value
unique_checks OFF
DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
index e76f6b494f9..6823d2b23d3 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
@@ -107,37 +107,43 @@ select * from t2;
a
select * from t3;
a
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t1 where a=10
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; update t1 set a=11 where a=15
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert ignore into t1 values(1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; replace into t1 values(100)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 (a varchar(200)) engine=blackhole
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE `t2` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`) ;file_id=#
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; alter table t1 add b int
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; alter table t1 drop b
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t3 like t1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 select * from t3
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; replace into t1 select * from t3
master-bin.000001 # Query # # COMMIT
drop table t1,t2,t3;
@@ -173,18 +179,21 @@ set insert_id= 3;
insert into t1 values (NULL), (33), (NULL);
set insert_id= 5;
insert into t1 values (55), (NULL);
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid_list 1 # []
+master-bin.000001 # Binlog_checkpoint 1 # master-bin.000001
+master-bin.000001 # Gtid 1 # GTID #-#-#
master-bin.000001 # Query 1 # use `test`; create table t1 (a int auto_increment, primary key (a)) engine=blackhole
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
master-bin.000001 # Intvar 1 # INSERT_ID=1
master-bin.000001 # Query 1 # use `test`; insert into t1 values (11), (NULL), (NULL), (NULL)
master-bin.000001 # Query 1 # COMMIT
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
master-bin.000001 # Intvar 1 # INSERT_ID=3
master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL), (33), (NULL)
master-bin.000001 # Query 1 # COMMIT
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
master-bin.000001 # Intvar 1 # INSERT_ID=5
master-bin.000001 # Query 1 # use `test`; insert into t1 values (55), (NULL)
master-bin.000001 # Query 1 # COMMIT
diff --git a/mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result b/mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result
index aa2f2cca755..346b7a58179 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result
@@ -11444,13 +11444,76 @@ i
1
1
DROP TABLE t1;
+#
+# MDEV-6170 Incorrect ordering with utf8_bin and utf8mb4_bin collations
+#
+SELECT @@collation_connection;
+@@collation_connection
+cp932_japanese_ci
+CREATE TABLE t1 ENGINE=MEMORY AS SELECT REPEAT('a',5) AS a LIMIT 0;
+INSERT INTO t1 (a) VALUES ("a");
+INSERT INTO t1 (a) VALUES ("b");
+INSERT INTO t1 (a) VALUES ("c");
+INSERT INTO t1 (a) VALUES ("d");
+INSERT INTO t1 (a) VALUES ("e");
+INSERT INTO t1 (a) VALUES ("f");
+INSERT INTO t1 (a) VALUES ("g");
+INSERT INTO t1 (a) VALUES ("h");
+INSERT INTO t1 (a) VALUES ("i");
+INSERT INTO t1 (a) VALUES ("j");
+INSERT INTO t1 (a) VALUES ("k");
+INSERT INTO t1 (a) VALUES ("l");
+INSERT INTO t1 (a) VALUES ("m");
+SELECT * FROM t1 ORDER BY LOWER(a);
+a
+a
+b
+c
+d
+e
+f
+g
+h
+i
+j
+k
+l
+m
+SELECT * FROM t1 ORDER BY LOWER(a) DESC;
+a
+m
+l
+k
+j
+i
+h
+g
+f
+e
+d
+c
+b
+a
+DROP TABLE t1;
CREATE TABLE t1 AS
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
hex(concat(repeat(0xF1F2, 10), '%'))
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
@@ -11488,13 +11551,76 @@ i
1
1
DROP TABLE t1;
+#
+# MDEV-6170 Incorrect ordering with utf8_bin and utf8mb4_bin collations
+#
+SELECT @@collation_connection;
+@@collation_connection
+cp932_bin
+CREATE TABLE t1 ENGINE=MEMORY AS SELECT REPEAT('a',5) AS a LIMIT 0;
+INSERT INTO t1 (a) VALUES ("a");
+INSERT INTO t1 (a) VALUES ("b");
+INSERT INTO t1 (a) VALUES ("c");
+INSERT INTO t1 (a) VALUES ("d");
+INSERT INTO t1 (a) VALUES ("e");
+INSERT INTO t1 (a) VALUES ("f");
+INSERT INTO t1 (a) VALUES ("g");
+INSERT INTO t1 (a) VALUES ("h");
+INSERT INTO t1 (a) VALUES ("i");
+INSERT INTO t1 (a) VALUES ("j");
+INSERT INTO t1 (a) VALUES ("k");
+INSERT INTO t1 (a) VALUES ("l");
+INSERT INTO t1 (a) VALUES ("m");
+SELECT * FROM t1 ORDER BY LOWER(a);
+a
+a
+b
+c
+d
+e
+f
+g
+h
+i
+j
+k
+l
+m
+SELECT * FROM t1 ORDER BY LOWER(a) DESC;
+a
+m
+l
+k
+j
+i
+h
+g
+f
+e
+d
+c
+b
+a
+DROP TABLE t1;
CREATE TABLE t1 AS
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+Warnings:
+Warning 1364 Field 'c' doesn't have a default value
+Warning 1364 Field 'd' doesn't have a default value
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
hex(concat(repeat(0xF1F2, 10), '%'))
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
diff --git a/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result b/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
index fba725bb80e..825b9bf05a0 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
@@ -3,9 +3,9 @@ create table t2 (c char(30)) charset=ucs2;
set @v=convert('abc' using ucs2);
reset master;
insert into t2 values (@v);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`v`=_ucs2 X'006100620063' COLLATE ucs2_general_ci
master-bin.000001 # Query # # use `test`; insert into t2 values (@v)
master-bin.000001 # Query # # COMMIT
@@ -15,20 +15,19 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+SET @`v`:=_ucs2 X'006100620063' COLLATE `ucs2_general_ci`/*!*/;
+use `test`/*!*/;
SET TIMESTAMP=10000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET @`v`:=_ucs2 X'006100620063' COLLATE `ucs2_general_ci`/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=10000/*!*/;
insert into t2 values (@v)
/*!*/;
SET TIMESTAMP=10000/*!*/;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_do_db.result b/mysql-test/suite/binlog/r/binlog_stm_do_db.result
index 279ccc059b9..3d23594135d 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_do_db.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_do_db.result
@@ -32,10 +32,13 @@ INSERT INTO t1 SELECT * FROM t2;
ERROR HY000: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
COMMIT;
### assertion: filtered events did not make into the binlog
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE b42829
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `b42829`; CREATE TABLE t1 (x int, y int) engine=InnoDB
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `b42829`; CREATE TABLE t2 (x int, y int) engine=InnoDB
DROP DATABASE b42829;
DROP DATABASE b42829_filtered;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_drop_tbl.result b/mysql-test/suite/binlog/r/binlog_stm_drop_tbl.result
index 3355396aa49..d9f9dc99731 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_drop_tbl.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_drop_tbl.result
@@ -6,10 +6,12 @@ BEGIN;
INSERT INTO t1 VALUES(1);
DROP TABLE t1;;
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(1)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
diff --git a/mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result b/mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result
index 027bf1eaada..127df219b02 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result
@@ -23,25 +23,43 @@ USE test;
SELECT GET_LOCK("a",10);
GET_LOCK("a",10)
1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE `drop-temp+table-test`
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE shortn1 (a INT)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE `table:name` (a INT)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE shortn2 (a INT)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE tmp(c1 int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE tmp1(c1 int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE tmp2(c1 int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE tmp3(c1 int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TABLE t(c1 int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE `tmp3` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `t` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `tmp2`,`t` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `shortn2`,`table:name`,`shortn1`
DROP DATABASE `drop-temp+table-test`;
RESET MASTER;
@@ -52,14 +70,17 @@ INSERT INTO t1 VALUES ('1');
SELECT @@session.binlog_format;
@@session.binlog_format
ROW
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 ( i text )
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE ttmp1 ( i text )
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `ttmp1`
RESET MASTER;
DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_insert_select.result b/mysql-test/suite/binlog/r/binlog_stm_insert_select.result
index 72036d89b9e..5208e1db4ee 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_insert_select.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_insert_select.result
@@ -6,9 +6,9 @@ insert into t2 values(1),(2);
reset master;
insert into t1 select * from t2;
ERROR 23000: Duplicate entry '2' for key 'a'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 select * from t2
master-bin.000001 # Query # # COMMIT
select * from t1;
@@ -21,6 +21,5 @@ insert into t1 values(1),(1);
reset master;
create table t2(unique(a)) select a from t1;
ERROR 23000: Duplicate entry '1' for key 'a'
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
drop table t1;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result b/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
index 7309c611d29..0ac4716f383 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
@@ -10,9 +10,9 @@ insert into t2 select * from t1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(1)
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -27,9 +27,9 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
rollback;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(2)
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
master-bin.000001 # Query # # ROLLBACK
@@ -47,9 +47,9 @@ rollback to savepoint my_savepoint;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(3)
master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Query # # use `test`; insert into t1 values(4)
@@ -75,9 +75,9 @@ select a from t1 order by a;
a
5
7
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(5)
master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Query # # use `test`; insert into t1 values(6)
@@ -99,9 +99,9 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
select get_lock("a",10);
get_lock("a",10)
1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(8)
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
master-bin.000001 # Query # # ROLLBACK
@@ -110,12 +110,12 @@ delete from t2;
reset master;
insert into t1 values(9);
insert into t2 select * from t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(9)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
master-bin.000001 # Query # # COMMIT
delete from t1;
@@ -124,25 +124,25 @@ reset master;
insert into t1 values(10);
begin;
insert into t2 select * from t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(10)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
master-bin.000001 # Query # # COMMIT
insert into t1 values(11);
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(10)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(11)
master-bin.000001 # Xid # # COMMIT /* XID */
alter table t2 engine=INNODB;
@@ -153,9 +153,9 @@ begin;
insert into t1 values(12);
insert into t2 select * from t1;
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(12)
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -166,8 +166,7 @@ begin;
insert into t1 values(13);
insert into t2 select * from t1;
rollback;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
delete from t1;
delete from t2;
reset master;
@@ -178,10 +177,11 @@ insert into t1 values(15);
insert into t2 select * from t1;
rollback to savepoint my_savepoint;
commit;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(14)
+master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Xid # # COMMIT /* XID */
delete from t1;
delete from t2;
@@ -198,10 +198,11 @@ select a from t1 order by a;
a
16
18
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(16)
+master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Query # # use `test`; insert into t1 values(18)
master-bin.000001 # Xid # # COMMIT /* XID */
delete from t1;
@@ -251,46 +252,52 @@ insert into t2 values (3);
select get_lock("lock1",60);
get_lock("lock1",60)
1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values(16)
+master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
master-bin.000001 # Query # # use `test`; insert into t1 values(18)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t2
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; alter table t2 engine=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t2 values (20)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; create temporary table ti (a int) engine=innodb
master-bin.000001 # Query # # ROLLBACK
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into ti values(1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; create temporary table t1 (a int) engine=myisam
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert t1 values (1)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t0 (n int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert t0 select * from t1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t0 select GET_LOCK("lock1",0)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 (n int) engine=innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t1`,`ti`
do release_lock("lock1");
drop table t0,t2;
@@ -302,7 +309,7 @@ CREATE TABLE t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
DROP TABLE if exists t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t2'
INSERT INTO t1 values (3,3);
CREATE TEMPORARY TABLE t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
@@ -311,7 +318,7 @@ Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
DROP TABLE IF EXISTS t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t2'
CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb;
INSERT INTO t1 VALUES (4,4);
CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
@@ -378,46 +385,54 @@ SELECT * from t2;
a b
100 100
DROP TABLE t1,t2;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (1,1),(1,2)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (3,3)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4,4)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5,5)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (6,6)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) engine=innodb
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (7,7)
master-bin.000001 # Query # # ROLLBACK
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (8,8)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (9,9)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (10,10)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t2 values (100,100)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
reset master;
create table t1 (a int) engine=innodb;
@@ -461,9 +476,9 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
select count(*) from tt /* 2 */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into ti values (1)
master-bin.000001 # Query # # use `test`; insert into ti values (2)
master-bin.000001 # Query # # use `test`; insert into tt select * from ti
@@ -487,9 +502,9 @@ ERROR 23000: Duplicate entry '2' for key 'a'
rollback;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into ti values (1)
master-bin.000001 # Query # # use `test`; insert into ti values (2) /* to make the dup error in the following */
master-bin.000001 # Query # # use `test`; insert into tt select * from ti /* one affected and error */
@@ -523,9 +538,9 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
reset master;
insert into t2 values (bug27417(2));
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(2))
master-bin.000001 # Query # # COMMIT
@@ -543,9 +558,9 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
select count(*) from t2 /* nothing got deleted */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=4
master-bin.000001 # Query # # use `test`; delete from t2 where a=bug27417(3)
master-bin.000001 # Query # # COMMIT
@@ -570,9 +585,9 @@ insert into t2 values (1);
reset master;
insert into t2 values (bug27417(1));
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(1))
master-bin.000001 # Query # # ROLLBACK
@@ -586,9 +601,9 @@ insert into t2 values (2);
reset master;
insert into t2 select bug27417(1) union select bug27417(2);
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=2
master-bin.000001 # Query # # use `test`; insert into t2 select bug27417(1) union select bug27417(2)
master-bin.000001 # Query # # ROLLBACK
@@ -601,9 +616,9 @@ insert into t3 values (1,1),(2,3),(3,4);
reset master;
update t3 set b=b+bug27417(1);
ERROR 23000: Duplicate entry '4' for key 'b'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=4
master-bin.000001 # Query # # use `test`; update t3 set b=b+bug27417(1)
master-bin.000001 # Query # # COMMIT
@@ -618,9 +633,9 @@ insert into t4 values (1,1),(2,2);
reset master;
UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=6
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
master-bin.000001 # Query # # ROLLBACK
@@ -650,9 +665,9 @@ insert into t3 values (bug27417(1), 2);
reset master;
delete from t2;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=9
master-bin.000001 # Query # # use `test`; delete from t2
master-bin.000001 # Query # # ROLLBACK
@@ -671,9 +686,9 @@ insert into t5 values (1),(2);
reset master;
delete t2.* from t2,t5 where t2.a=t5.a + 1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete t2.* from t2,t5 where t2.a=t5.a + 1
master-bin.000001 # Query # # ROLLBACK
/* the output must denote there is the query */;
@@ -692,9 +707,9 @@ a b
select count(*) from t1 /* must be 2 */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=10
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Intvar # # INSERT_ID=10
@@ -719,9 +734,9 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
select count(*) from tt /* 2 */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into ti values (1)
master-bin.000001 # Query # # use `test`; insert into ti values (2)
master-bin.000001 # Query # # use `test`; insert into tt select * from ti
@@ -745,9 +760,9 @@ ERROR 23000: Duplicate entry '2' for key 'a'
rollback;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into ti values (1)
master-bin.000001 # Query # # use `test`; insert into ti values (2) /* to make the dup error in the following */
master-bin.000001 # Query # # use `test`; insert into tt select * from ti /* one affected and error */
@@ -781,9 +796,9 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
reset master;
insert into t2 values (bug27417(2));
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(2))
master-bin.000001 # Query # # COMMIT
@@ -800,9 +815,9 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
select count(*) from t2 /* nothing got deleted */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=4
master-bin.000001 # Query # # use `test`; delete from t2 where a=bug27417(3)
master-bin.000001 # Query # # COMMIT
@@ -826,9 +841,9 @@ insert into t2 values (1);
reset master;
insert into t2 values (bug27417(1));
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(1))
master-bin.000001 # Query # # ROLLBACK
@@ -841,9 +856,9 @@ insert into t2 values (2);
reset master;
insert into t2 select bug27417(1) union select bug27417(2);
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=2
master-bin.000001 # Query # # use `test`; insert into t2 select bug27417(1) union select bug27417(2)
master-bin.000001 # Query # # ROLLBACK
@@ -855,9 +870,9 @@ insert into t3 values (1,1),(2,3),(3,4);
reset master;
update t3 set b=b+bug27417(1);
ERROR 23000: Duplicate entry '4' for key 'b'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=4
master-bin.000001 # Query # # use `test`; update t3 set b=b+bug27417(1)
master-bin.000001 # Query # # COMMIT
@@ -871,9 +886,9 @@ insert into t4 values (1,1),(2,2);
reset master;
UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=6
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
master-bin.000001 # Query # # ROLLBACK
@@ -902,9 +917,9 @@ insert into t3 values (bug27417(1), 2);
reset master;
delete from t2;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=9
master-bin.000001 # Query # # use `test`; delete from t2
master-bin.000001 # Query # # ROLLBACK
@@ -922,9 +937,9 @@ insert into t5 values (1),(2);
reset master;
delete t2.* from t2,t5 where t2.a=t5.a + 1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete t2.* from t2,t5 where t2.a=t5.a + 1
master-bin.000001 # Query # # ROLLBACK
select count(*) from t1 /* must be 1 */;
@@ -942,9 +957,9 @@ a b
select count(*) from t1 /* must be 2 */;
count(*)
2
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=10
master-bin.000001 # User var # # @`b`=_latin1 X'3135' COLLATE latin1_swedish_ci
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
diff --git a/mysql-test/suite/binlog/r/binlog_stm_ps.result b/mysql-test/suite/binlog/r/binlog_stm_ps.result
index 36b84d7d148..21e7ce5d89a 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_ps.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_ps.result
@@ -12,17 +12,18 @@ set @a=100;
execute s using @a;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`a`=98
master-bin.000001 # Query # # use `test`; insert into t1 values (@a),(98)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (99)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 select 100 limit 100
master-bin.000001 # Query # # COMMIT
drop table t1;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_row.result b/mysql-test/suite/binlog/r/binlog_stm_row.result
index 58911374e6d..7fc1d1f447c 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_row.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_row.result
@@ -57,30 +57,34 @@ RELEASE_LOCK('Bug#34306')
# con2
# default
# Show binlog events
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 LIKE t1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES(2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 SELECT * FROM t2 WHERE GET_LOCK('Bug#34306', 120)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (3)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
DROP TABLE t1;
DROP TABLE t2;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_user_variables.result b/mysql-test/suite/binlog/r/binlog_stm_user_variables.result
index 92a74f63ad9..225921182e6 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_user_variables.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_user_variables.result
@@ -37,8 +37,9 @@ INSERT INTO t1 VALUES (@positive,
## assertion: checks that User_var_log_event::pack_info
## correctly displays the binlog content by taking into
## account the unsigned_flag
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (`tinyint` TINYINT,
`smallint` SMALLINT,
`mediumint` MEDIUMINT,
@@ -53,11 +54,12 @@ master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (`tinyint` TINYINT,
`float` FLOAT,
`real` REAL(30,2),
`decimal` DECIMAL(30,2)) ENGINE = MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615,18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE t1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`positive`=18446744073709551615
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (@positive,
@positive,
@@ -96,8 +98,9 @@ INSERT INTO t1 VALUES (@negative,
## assertion: checks that User_var_log_event::pack_info
## correctly displays the binlog content by taking into
## account the unsigned_flag
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (`tinyint` TINYINT,
`smallint` SMALLINT,
`mediumint` MEDIUMINT,
@@ -112,11 +115,12 @@ master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (`tinyint` TINYINT,
`float` FLOAT,
`real` REAL(30,2),
`decimal` DECIMAL(30,2)) ENGINE = MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615,18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE t1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`positive`=18446744073709551615
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (@positive,
@positive,
@@ -133,11 +137,12 @@ master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (@positive,
@positive,
@positive)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (-9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808,-9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE t1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`negative`=-9223372036854775808
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (@negative,
@negative,
diff --git a/mysql-test/suite/binlog/r/binlog_tmp_table_row.result b/mysql-test/suite/binlog/r/binlog_tmp_table_row.result
new file mode 100644
index 00000000000..71bd75d89cb
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_tmp_table_row.result
@@ -0,0 +1,7 @@
+RESET MASTER;
+#Create table test
+create temporary table t1(a int, b int);
+#Add index test
+create index index_a on t1(a);
+#drop index test
+drop index index_a on t1;
diff --git a/mysql-test/suite/binlog/r/binlog_truncate_kill.result b/mysql-test/suite/binlog/r/binlog_truncate_kill.result
index c2ea2e8d404..9161f3dc10d 100644
--- a/mysql-test/suite/binlog/r/binlog_truncate_kill.result
+++ b/mysql-test/suite/binlog/r/binlog_truncate_kill.result
@@ -13,13 +13,18 @@ KILL QUERY @id;
connection default;
ERROR 70100: Query execution was interrupted
connection con1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
+connection con1;
+connection con1;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, a INT, b INT) ENGINE=INNODB
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; INSERT INTO t1(a, b) VALUES(1,2),(2,4),(3,6),(4,8),(5,10)
master-bin.000001 # Xid # # COMMIT /* XID */
+connection con1;
+connection con1;
disconnect con1;
connection default;
SELECT * FROM t1;
diff --git a/mysql-test/suite/binlog/r/binlog_truncate_myisam.result b/mysql-test/suite/binlog/r/binlog_truncate_myisam.result
index 1f5b206fd6f..90cc335ee0a 100644
--- a/mysql-test/suite/binlog/r/binlog_truncate_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_truncate_myisam.result
@@ -7,9 +7,11 @@ INSERT INTO t2 VALUES (1),(2),(3);
**** Truncate of empty table shall be logged
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t2
DROP TABLE t1,t2;
#
@@ -38,16 +40,17 @@ SELECT COUNT(*) FROM t2;
COUNT(*)
4
# Connection: default
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
DROP TABLE t1,t2;
SET BINLOG_FORMAT=STATEMENT;
@@ -58,9 +61,11 @@ INSERT INTO t2 VALUES (1),(2),(3);
**** Truncate of empty table shall be logged
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t2
DROP TABLE t1,t2;
#
@@ -89,14 +94,15 @@ SELECT COUNT(*) FROM t2;
COUNT(*)
4
# Connection: default
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t2 SELECT * FROM t1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t2 SELECT * FROM t1
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
DROP TABLE t1,t2;
SET BINLOG_FORMAT=@old_binlog_format;
diff --git a/mysql-test/suite/binlog/r/binlog_unsafe.result b/mysql-test/suite/binlog/r/binlog_unsafe.result
index 043b3d1e7a6..48d9db44b05 100644
--- a/mysql-test/suite/binlog/r/binlog_unsafe.result
+++ b/mysql-test/suite/binlog/r/binlog_unsafe.result
@@ -1,14 +1,14 @@
#### Setup tables ####
-CREATE TABLE t0 (a CHAR(100));
-CREATE TABLE t1 (a CHAR(100));
-CREATE TABLE t2 (a CHAR(100));
-CREATE TABLE t3 (a CHAR(100));
-CREATE TABLE ta0 (a CHAR(100));
-CREATE TABLE ta1 (a CHAR(100));
-CREATE TABLE ta2 (a CHAR(100));
-CREATE TABLE ta3 (a CHAR(100));
+CREATE TABLE t0 (a CHAR(200));
+CREATE TABLE t1 (a CHAR(200));
+CREATE TABLE t2 (a CHAR(200));
+CREATE TABLE t3 (a CHAR(200));
+CREATE TABLE ta0 (a CHAR(200));
+CREATE TABLE ta1 (a CHAR(200));
+CREATE TABLE ta2 (a CHAR(200));
+CREATE TABLE ta3 (a CHAR(200));
CREATE TABLE autoinc_table (a INT PRIMARY KEY AUTO_INCREMENT);
-CREATE TABLE data_table (a CHAR(100));
+CREATE TABLE data_table (a CHAR(200));
INSERT INTO data_table VALUES ('foo');
CREATE TABLE trigger_table_1 (a INT);
CREATE TABLE trigger_table_2 (a INT);
@@ -2392,7 +2392,7 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
DROP PROCEDURE p1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (a VARCHAR(100), b VARCHAR(100));
+CREATE TABLE t1 (a VARCHAR(200), b VARCHAR(200));
INSERT INTO t1 VALUES ('a','b');
UPDATE t1 SET b = '%s%s%s%s%s%s%s%s%s%s%s%s%s%s' WHERE a = 'a' LIMIT 1;
Warnings:
@@ -2423,7 +2423,7 @@ CREATE FUNCTION fun_check_log_bin() RETURNS INT
BEGIN
SET @@SQL_LOG_BIN = 0;
INSERT INTO t1 VALUES(@@global.sync_binlog);
-RETURN 100;
+RETURN 200;
END|
"One unsafe warning should be issued in the following statement"
SELECT fun_check_log_bin();
@@ -2515,14 +2515,14 @@ CALL proc_insert_delayed();
SELECT func_limit();
func_limit()
1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT DELAYED INTO t1 VALUES (1), (2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
SET @@session.binlog_format = @old_binlog_format;
DROP TABLE t1, t2;
@@ -2545,13 +2545,13 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
SET SESSION binlog_format = MIXED;
# Check if the statement is logged in row format.
INSERT INTO t2 SET a = func_modify_t1();
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
DROP TABLE t1,t2;
DROP FUNCTION func_modify_t1;
@@ -2572,18 +2572,18 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
SET SESSION binlog_format = MIXED;
# Check if the statement is logged in row format.
INSERT INTO t1 SET a = 2;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
DROP TABLE t1,t2,t3;
SET SESSION binlog_format = STATEMENT;
@@ -2706,8 +2706,6 @@ Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. CREATE... REPLACE SELECT is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are replaced. This order cannot be predicted and may differ on master and the slave.
INSERT INTO insert_2_keys VALUES (1, 2)
ON DUPLICATE KEY UPDATE a=VALUES(a)+10, b=VALUES(b)+10;
-Warnings:
-Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is unsafe
DROP TABLE filler_table;
DROP TABLE insert_table;
DROP TABLE update_table;
diff --git a/mysql-test/suite/binlog/r/binlog_variables_log_bin.result b/mysql-test/suite/binlog/r/binlog_variables_log_bin.result
new file mode 100644
index 00000000000..215e14f97df
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_variables_log_bin.result
@@ -0,0 +1,9 @@
+SHOW VARIABLES LIKE 'log_bin%';
+Variable_name log_bin
+Value ON
+Variable_name log_bin_basename
+Value MYSQLTEST_VARDIR/mysqld.1/data/other
+Variable_name log_bin_index
+Value MYSQLTEST_VARDIR/mysqld.1/data/mysqld-bin.index
+Variable_name log_bin_trust_function_creators
+Value ON
diff --git a/mysql-test/suite/binlog/r/binlog_variables_log_bin_index.result b/mysql-test/suite/binlog/r/binlog_variables_log_bin_index.result
new file mode 100644
index 00000000000..fb7324ced34
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_variables_log_bin_index.result
@@ -0,0 +1,9 @@
+SHOW VARIABLES LIKE 'log_bin%';
+Variable_name log_bin
+Value ON
+Variable_name log_bin_basename
+Value MYSQLTEST_VARDIR/mysqld.1/data/other
+Variable_name log_bin_index
+Value MYSQLTEST_VARDIR/tmp/something.index
+Variable_name log_bin_trust_function_creators
+Value ON
diff --git a/mysql-test/suite/binlog/r/binlog_variables_relay_log.result b/mysql-test/suite/binlog/r/binlog_variables_relay_log.result
new file mode 100644
index 00000000000..59135837c29
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_variables_relay_log.result
@@ -0,0 +1,15 @@
+SHOW VARIABLES LIKE 'relay_log%';
+Variable_name relay_log
+Value other-relay
+Variable_name relay_log_basename
+Value MYSQLTEST_VARDIR/mysqld.1/data/other-relay
+Variable_name relay_log_index
+Value MYSQLTEST_VARDIR/mysqld.1/data/mysqld-relay-bin.index
+Variable_name relay_log_info_file
+Value relay-log.info
+Variable_name relay_log_purge
+Value ON
+Variable_name relay_log_recovery
+Value OFF
+Variable_name relay_log_space_limit
+Value 0
diff --git a/mysql-test/suite/binlog/r/binlog_variables_relay_log_index.result b/mysql-test/suite/binlog/r/binlog_variables_relay_log_index.result
new file mode 100644
index 00000000000..1b18b89d298
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_variables_relay_log_index.result
@@ -0,0 +1,15 @@
+SHOW VARIABLES LIKE 'relay_log%';
+Variable_name relay_log
+Value other-relay
+Variable_name relay_log_basename
+Value MYSQLTEST_VARDIR/mysqld.1/data/other-relay
+Variable_name relay_log_index
+Value MYSQLTEST_VARDIR/tmp/something-relay.index
+Variable_name relay_log_info_file
+Value relay-log.info
+Variable_name relay_log_purge
+Value ON
+Variable_name relay_log_recovery
+Value OFF
+Variable_name relay_log_space_limit
+Value 0
diff --git a/mysql-test/suite/binlog/r/binlog_xa_recover.result b/mysql-test/suite/binlog/r/binlog_xa_recover.result
new file mode 100644
index 00000000000..e9e5b23176d
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_xa_recover.result
@@ -0,0 +1,209 @@
+SET GLOBAL max_binlog_size= 4096;
+SET GLOBAL innodb_flush_log_at_trx_commit= 1;
+RESET MASTER;
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+INSERT INTO t1 VALUES (100, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (101, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (102, REPEAT("x", 4100));
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con1_wait WAIT_FOR con1_cont";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con1_ready WAIT_FOR _ever";
+INSERT INTO t1 VALUES (1, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con1_wait";
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con2_wait WAIT_FOR con2_cont";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con2_ready WAIT_FOR _ever";
+INSERT INTO t1 VALUES (2, NULL);
+SET DEBUG_SYNC= "now WAIT_FOR con2_wait";
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con3_wait WAIT_FOR con3_cont";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con3_ready WAIT_FOR _ever";
+INSERT INTO t1 VALUES (3, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con3_wait";
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con4_wait WAIT_FOR con4_cont";
+SET SESSION debug_dbug="+d,crash_commit_after_log";
+INSERT INTO t1 VALUES (4, NULL);
+SET DEBUG_SYNC= "now WAIT_FOR con4_wait";
+SET DEBUG_SYNC= "now SIGNAL con1_cont";
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+SET DEBUG_SYNC= "now SIGNAL con2_cont";
+SET DEBUG_SYNC= "now WAIT_FOR con2_ready";
+SET DEBUG_SYNC= "now SIGNAL con3_cont";
+SET DEBUG_SYNC= "now WAIT_FOR con3_ready";
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+master-bin.000005 #
+master-bin.000006 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000003 # Gtid_list # # [#-#-#]
+master-bin.000003 # Binlog_checkpoint # # master-bin.000002
+master-bin.000003 # Binlog_checkpoint # # master-bin.000003
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Table_map # # table_id: # (test.t1)
+master-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000003 # Xid # # COMMIT /* XID */
+master-bin.000003 # Rotate # # master-bin.000004;pos=POS
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000004 # Gtid_list # # [#-#-#]
+master-bin.000004 # Binlog_checkpoint # # master-bin.000003
+master-bin.000004 # Binlog_checkpoint # # master-bin.000004
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Table_map # # table_id: # (test.t1)
+master-bin.000004 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000004 # Xid # # COMMIT /* XID */
+master-bin.000004 # Rotate # # master-bin.000005;pos=POS
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000005 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000005 # Gtid_list # # [#-#-#]
+master-bin.000005 # Binlog_checkpoint # # master-bin.000004
+master-bin.000005 # Gtid # # BEGIN GTID #-#-#
+master-bin.000005 # Table_map # # table_id: # (test.t1)
+master-bin.000005 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000005 # Xid # # COMMIT /* XID */
+master-bin.000005 # Gtid # # BEGIN GTID #-#-#
+master-bin.000005 # Table_map # # table_id: # (test.t1)
+master-bin.000005 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000005 # Xid # # COMMIT /* XID */
+master-bin.000005 # Rotate # # master-bin.000006;pos=POS
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000006 # Gtid_list # # [#-#-#]
+master-bin.000006 # Binlog_checkpoint # # master-bin.000004
+PURGE BINARY LOGS TO "master-bin.000006";
+show binary logs;
+Log_name File_size
+master-bin.000004 #
+master-bin.000005 #
+master-bin.000006 #
+SET DEBUG_SYNC= "now SIGNAL con4_cont";
+Got one of the listed errors
+SELECT a FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+100
+101
+102
+Test that with multiple binlog checkpoints, recovery starts from the last one.
+SET GLOBAL max_binlog_size= 4096;
+SET GLOBAL innodb_flush_log_at_trx_commit= 1;
+RESET MASTER;
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con10_ready WAIT_FOR con10_cont";
+INSERT INTO t1 VALUES (10, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con10_ready";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con11_ready WAIT_FOR con11_cont";
+INSERT INTO t1 VALUES (11, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con11_ready";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con12_ready WAIT_FOR con12_cont";
+INSERT INTO t1 VALUES (12, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con12_ready";
+INSERT INTO t1 VALUES (13, NULL);
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000004 # Gtid_list # # [#-#-#]
+master-bin.000004 # Binlog_checkpoint # # master-bin.000001
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Table_map # # table_id: # (test.t1)
+master-bin.000004 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000004 # Xid # # COMMIT /* XID */
+SET DEBUG_SYNC= "now SIGNAL con10_cont";
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,binlog_background_checkpoint_processed";
+SET DEBUG_SYNC= "now SIGNAL con12_cont";
+SET DEBUG_SYNC= "now WAIT_FOR binlog_background_checkpoint_processed";
+SET GLOBAL debug_dbug= @old_dbug;
+SET DEBUG_SYNC= "now SIGNAL con11_cont";
+Checking that master-bin.000004 is the last binlog checkpoint
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000004 # Gtid_list # # [#-#-#]
+master-bin.000004 # Binlog_checkpoint # # master-bin.000001
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Table_map # # table_id: # (test.t1)
+master-bin.000004 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000004 # Xid # # COMMIT /* XID */
+master-bin.000004 # Binlog_checkpoint # # master-bin.000002
+master-bin.000004 # Binlog_checkpoint # # master-bin.000004
+Now crash the server
+SET SESSION debug_dbug="+d,crash_commit_after_log";
+INSERT INTO t1 VALUES (14, NULL);
+Got one of the listed errors
+SELECT a FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+10
+11
+12
+13
+14
+100
+101
+102
+*** Check that recovery works if we crashed early during rotate, before
+*** binlog checkpoint event could be written.
+SET GLOBAL max_binlog_size= 4096;
+SET GLOBAL innodb_flush_log_at_trx_commit= 1;
+RESET MASTER;
+INSERT INTO t1 VALUES (21, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (22, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (23, REPEAT("x", 4100));
+SET SESSION debug_dbug="+d,crash_before_write_checkpoint_event";
+INSERT INTO t1 VALUES (24, REPEAT("x", 4100));
+Got one of the listed errors
+SELECT a FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+10
+11
+12
+13
+14
+21
+22
+23
+24
+100
+101
+102
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+master-bin.000005 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000004 # Gtid_list # # [#-#-#]
+master-bin.000004 # Binlog_checkpoint # # master-bin.000003
+master-bin.000004 # Binlog_checkpoint # # master-bin.000004
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Table_map # # table_id: # (test.t1)
+master-bin.000004 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000004 # Xid # # COMMIT /* XID */
+master-bin.000004 # Rotate # # master-bin.000005;pos=POS
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/load_data_stm_view.result b/mysql-test/suite/binlog/r/load_data_stm_view.result
index 39756de8435..ddbdb71983f 100644
--- a/mysql-test/suite/binlog/r/load_data_stm_view.result
+++ b/mysql-test/suite/binlog/r/load_data_stm_view.result
@@ -6,15 +6,17 @@ select * from v1;
i
1
1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (i int, j int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select i from t1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/3940.data' IGNORE INTO TABLE `v1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`i`) ;file_id=#
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/3940.data' IGNORE INTO TABLE `v1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`i`) ;file_id=#
master-bin.000001 # Query # # COMMIT
diff --git a/mysql-test/suite/binlog/r/mysqladmin.result b/mysql-test/suite/binlog/r/mysqladmin.result
new file mode 100644
index 00000000000..4be6c96d55b
--- /dev/null
+++ b/mysql-test/suite/binlog/r/mysqladmin.result
@@ -0,0 +1,12 @@
+create user adm@localhost identified by 'foobar';
+grant reload on *.* to adm@localhost;
+reset master;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # flush status
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # flush status
+drop user adm@localhost;
diff --git a/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001 b/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001
deleted file mode 100644
index 47071c011f9..00000000000
--- a/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001
+++ /dev/null
Binary files differ
diff --git a/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001 b/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001
deleted file mode 100644
index 4302bfed879..00000000000
--- a/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001
+++ /dev/null
Binary files differ
diff --git a/mysql-test/suite/binlog/std_data/ver_trunk_row_v2.001 b/mysql-test/suite/binlog/std_data/ver_trunk_row_v2.001
new file mode 100644
index 00000000000..28360beca68
--- /dev/null
+++ b/mysql-test/suite/binlog/std_data/ver_trunk_row_v2.001
Binary files differ
diff --git a/mysql-test/suite/binlog/t/binlog_base64_flag.test b/mysql-test/suite/binlog/t/binlog_base64_flag.test
index 2ec979aade0..575a7307665 100644
--- a/mysql-test/suite/binlog/t/binlog_base64_flag.test
+++ b/mysql-test/suite/binlog/t/binlog_base64_flag.test
@@ -67,6 +67,28 @@ TFtYRxcBAAAAIgAAAKEBAAAQABAAAAAAAAEAAf/+AwAAAA==
# The above line should succeed and 3 should be in the table
select * from t1;
+# The same as above with one-fragment BINLOG to prove
+# equivalency with the fragmented BINLOG @frag_0, @frag_1.
+DELETE FROM t1 WHERE a=3;
+# This is a binlog statement containing a Format_description_log_event
+# from the same version as the Table_map and Write_rows_log_event.
+BINLOG '
+ODdYRw8BAAAAZgAAAGoAAAABAAQANS4xLjIzLXJjLWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAA4N1hHEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
+';
+
+# This is a Table_map_log_event+Write_rows_log_event corresponding to:
+# INSERT INTO TABLE test.t1 VALUES (3)
+SET @binlog_fragment_0='
+TFtYRxMBAAAAKQAAAH8BAAAAABAAAAAAAAAABHRlc3QAAnQxAAEDAAE=
+TFtYRxcBAAAAIgAAAKEBAAAQABAAAAAAAAEAAf/+AwAAAA==
+';
+SET @binlog_fragment_1='';
+BINLOG @binlog_fragment_0, @binlog_fragment_1;
+# The above line should succeed and 3 should be in the table:
+select * from t1;
+# show "one-shot" feature of binlog_fragment variables
+SELECT @binlog_fragment_0, @binlog_fragment_1 as 'NULL','NULL';
# Test that mysqlbinlog stops with an error message when the
# --base64-output=never flag is used on a binlog with base64 events.
@@ -151,9 +173,9 @@ iONkSBcBAAAAKwAAAMQBAAAQABAAAAAAAAEAA//4AQAAAAMAMTIzAQAAAA==
drop table t1, char63_utf8, char128_utf8;
-call mtr.add_suppression("Slave SQL.*master suffers from this bug: http:..bugs.mysql.com.bug.php.id=37426.* Error_code: 1105");
-call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535");
-call mtr.add_suppression("Slave SQL.*Column 1 of table .test.char128_utf8. cannot be converted.* Error_code: 1677");
+call mtr.add_suppression("Slave SQL.*master suffers from this bug: http:..bugs.mysql.com.bug.php.id=37426.* error.* 1105");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* error.* 1535");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.char128_utf8. cannot be converted.* error.* 1677");
--echo #
--echo # Bug #54393: crash and/or valgrind errors in
@@ -161,8 +183,9 @@ call mtr.add_suppression("Slave SQL.*Column 1 of table .test.char128_utf8. canno
--echo #
--error ER_SYNTAX_ERROR
BINLOG '';
+--error ER_BASE64_DECODE_ERROR
BINLOG '123';
---error ER_SYNTAX_ERROR
+--error ER_BASE64_DECODE_ERROR
BINLOG '-2079193929';
---error ER_SYNTAX_ERROR
+--error ER_BASE64_DECODE_ERROR
BINLOG 'xç↓%~∙D╒ƒ╡';
diff --git a/mysql-test/suite/binlog/t/binlog_checkpoint.test b/mysql-test/suite/binlog/t/binlog_checkpoint.test
new file mode 100644
index 00000000000..cdb71887ad6
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_checkpoint.test
@@ -0,0 +1,177 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/have_binlog_format_row.inc
+
+SET @old_max_binlog_size= @@global.max_binlog_size;
+SET GLOBAL max_binlog_size= 4096;
+SET @old_innodb_flush_log_at_trx_commit= @@global.innodb_flush_log_at_trx_commit;
+SET GLOBAL innodb_flush_log_at_trx_commit= 1;
+RESET MASTER;
+
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+CREATE TABLE t2 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Myisam;
+
+--echo *** Test that RESET MASTER waits for pending commit checkpoints to complete.
+
+# con1 will hang before doing commit checkpoint, blocking RESET MASTER.
+connect(con1,localhost,root,,);
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con1_ready WAIT_FOR con1_go";
+send INSERT INTO t1 VALUES (1, REPEAT("x", 4100));
+
+connection default;
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+# Let's add a few binlog rotations just for good measure.
+INSERT INTO t2 VALUES (1, REPEAT("x", 4100));
+INSERT INTO t2 VALUES (2, REPEAT("x", 4100));
+--source include/show_binary_logs.inc
+--let $binlog_file= master-bin.000004
+--let $binlog_start= 4
+--source include/show_binlog_events.inc
+SET DEBUG_SYNC= "execute_command_after_close_tables SIGNAL reset_master_done";
+send RESET MASTER;
+
+connect(con2,localhost,root,,);
+--echo This will timeout, as RESET MASTER is blocked
+SET DEBUG_SYNC= "now WAIT_FOR reset_master_done TIMEOUT 1";
+# Wake up transaction to allow RESET MASTER to complete.
+SET DEBUG_SYNC= "now SIGNAL con1_go";
+
+connection con1;
+reap;
+
+connection default;
+reap;
+--source include/show_binary_logs.inc
+--let $binlog_file= master-bin.000001
+--let $binlog_start= 4
+--source include/show_binlog_events.inc
+
+--echo *** Test that binlog N is active, and commit checkpoint for (N-1) is
+--echo *** done while there is still a pending commit checkpoint for (N-2).
+
+connection con1;
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con1_ready WAIT_FOR con1_continue";
+send INSERT INTO t1 VALUES (20, REPEAT("x", 4100));
+
+connection default;
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+
+connection con2;
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con2_ready WAIT_FOR con2_continue";
+send INSERT INTO t1 VALUES (21, REPEAT("x", 4100));
+
+connection default;
+SET DEBUG_SYNC= "now WAIT_FOR con2_ready";
+--source include/show_binary_logs.inc
+--let $binlog_file= master-bin.000001
+--source include/show_binlog_events.inc
+--let $binlog_file= master-bin.000002
+--source include/show_binlog_events.inc
+--let $binlog_file= master-bin.000003
+--source include/show_binlog_events.inc
+
+# We need to sync the test case with the background processing of the
+# commit checkpoint, otherwise we get nondeterministic results.
+SET DEBUG_SYNC= "RESET";
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,binlog_background_checkpoint_processed";
+
+SET DEBUG_SYNC= "now SIGNAL con2_continue";
+
+connection con2;
+reap;
+
+connection default;
+--echo con1 is still pending, no new binlog checkpoint should have been logged.
+# Make sure commit checkpoint is processed before we check that no checkpoint
+# event has been binlogged.
+SET DEBUG_SYNC= "now WAIT_FOR binlog_background_checkpoint_processed";
+SET GLOBAL debug_dbug= @old_dbug;
+SET DEBUG_SYNC= "RESET";
+
+--let $binlog_file= master-bin.000003
+--source include/show_binlog_events.inc
+
+SET DEBUG_SYNC= "now SIGNAL con1_continue";
+
+connection con1;
+reap;
+
+connection default;
+
+--echo No commit checkpoints are pending, a new binlog checkpoint should have been logged.
+--let $binlog_file= master-bin.000003
+
+# Wait for the master-bin.000003 binlog checkpoint to appear.
+--let $wait_for_all= 0
+--let $show_statement= SHOW BINLOG EVENTS IN "$binlog_file"
+--let $field= Info
+--let $condition= = "master-bin.000003"
+--source include/wait_show_condition.inc
+
+--source include/show_binlog_events.inc
+
+
+--echo *** MDEV-4322: Broken XID counting during binlog rotation ***
+
+# Test that binlog shutdown waits for any pending binlog checkpoints to have time to complete.
+
+connection default;
+# We will use debug_sync to setup a wait inside the background processing
+# of binlog checkpoints. The wait is newer resumed, and will eventually
+# time out. If server shutdown does not wait for checkpoint processing to
+# complete, we will get an assert.
+#
+# It is a bit tricky to inject the wait properly as it has to happen in a
+# background thread during shutdown. So we first inject a DBUG to set the
+# debug_sync wait in the correct thread, then wait to be signalled that
+# the inject happened so that we can remove it again from DBUG (else
+# check_testcase will complain).
+
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,inject_binlog_background_thread_before_mark_xid_done";
+
+FLUSH LOGS;
+INSERT INTO t1 VALUES (30, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR injected_binlog_background_thread";
+SET GLOBAL debug_dbug= @old_dbug;
+INSERT INTO t1 VALUES (31, REPEAT("x", 4100));
+--source include/show_binary_logs.inc
+SET debug_sync = 'reset';
+
+
+--echo *** MDEV-7402: 'reset master' hangs, waits for signalled COND_xid_list ***
+
+--source include/wait_for_binlog_checkpoint.inc
+
+connect(con3,localhost,root,,);
+# Make the binlog background thread wait before clearing the pending checkpoint.
+# The bug was that one RESET MASTER would clear the reset_master_pending
+# flag set by another RESET MASTER; this could cause the wakeup from the
+# binlog background thread not to be sent, and thus the second RESET MASTER
+# to wait infinitely.
+SET debug_sync="reset_logs_after_set_reset_master_pending SIGNAL reset_master_ready WAIT_FOR reset_master_cont";
+send RESET MASTER;
+
+--connection default
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,inject_binlog_background_thread_before_mark_xid_done";
+SET debug_sync="now WAIT_FOR reset_master_ready";
+RESET MASTER;
+SET debug_sync="now WAIT_FOR injected_binlog_background_thread";
+SET GLOBAL debug_dbug=@old_dbug;
+SET debug_sync="now SIGNAL reset_master_cont";
+
+--connection con3
+REAP;
+
+--connection default
+SET debug_sync = 'reset';
+
+
+# Clean up.
+DROP TABLE t1, t2;
+SET GLOBAL max_binlog_size= @old_max_binlog_size;
+SET GLOBAL innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
+SET debug_sync = 'reset';
diff --git a/mysql-test/suite/binlog/t/binlog_commit_wait.test b/mysql-test/suite/binlog/t/binlog_commit_wait.test
new file mode 100644
index 00000000000..7d7af2a90e2
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_commit_wait.test
@@ -0,0 +1,229 @@
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+
+SET @old_count= @@GLOBAL.binlog_commit_wait_count;
+SET GLOBAL binlog_commit_wait_count= 3;
+SET @old_usec= @@GLOBAL.binlog_commit_wait_usec;
+SET GLOBAL binlog_commit_wait_usec= 20000000;
+
+connect(con1,localhost,root,,test);
+connect(con2,localhost,root,,test);
+connect(con3,localhost,root,,test);
+
+# Get Initial status measurements
+--connection default
+SELECT variable_value INTO @group_commits FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commits';
+SELECT variable_value INTO @group_commit_trigger_count FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_count';
+SELECT variable_value INTO @group_commit_trigger_timeout FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+SELECT variable_value INTO @group_commit_trigger_lock_wait FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+
+# Note: binlog_group_commits is counted at the start of the group and group_commit_trigger_* is
+# counted near when the groups its finalised.
+
+# Check that if T2 goes to wait for a row lock of T1 while T1 is waiting for
+# more transactions to arrive for group commit, the commit of T1 will complete
+# immediately.
+# We test this by setting a very high timeout (20 seconds), and testing that
+# that much time does not elapse.
+
+--connection default
+SET @a= current_timestamp();
+
+--connection con1
+BEGIN;
+INSERT INTO t1 VALUES (1,0);
+send COMMIT;
+
+--connection con2
+send INSERT INTO t1 VALUES (1,1);
+
+--connection con1
+reap;
+
+--connection default
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"));
+
+# All connections are to the same server. One transaction occurs on con1. It is
+# commited before con2 is started. con2 transaction violates the unique key contraint. This
+# type of group commit is binlog_group_commit_trigger_lock_wait so that further con2
+# transactions will occur afterwards as they may be as result of the ER_DUP_ENTRY on the
+# application side.
+# before: binlog_group_commit=0, binlog_group_commit_trigger_count=0
+# before: binlog_group_commit_trigger_timeout=0, binlog_group_commit_trigger_lock_wait=0
+# after: binlog_group_commit+1 by reason of binlog_group_commit_trigger_lock_wait+1
+SELECT variable_value - @group_commits FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commits';
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_count';
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+
+--connection con2
+--error ER_DUP_ENTRY
+reap;
+
+
+# Test that the commit triggers when sufficient commits have queued up.
+--connection default
+SET @a= current_timestamp();
+
+--connection con1
+send INSERT INTO t1 VALUES (2,0);
+
+--connection con2
+send INSERT INTO t1 VALUES (3,0);
+
+--connection con3
+INSERT INTO t1 VALUES (4,0);
+
+--connection con1
+reap;
+--connection con2
+reap;
+
+--connection default
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"));
+
+# All connections are to the same server. 3 non-conflicting transaction occur
+# on each connection. The binlog_commit_wait_count=3 at the start therefore 1
+# group is committed by virtue of reaching 3 transactions. Hence
+# binlog_group_commit_trigger_count is incremented.
+# before: binlog_group_commit=1, binlog_group_commit_trigger_count=0
+# before: binlog_group_commit_trigger_timeout=0, binlog_group_commit_trigger_lock_wait=1
+# after: binlog_group_commit+1 by reason of binlog_group_commit_trigger_count+1
+SELECT variable_value - @group_commits FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commits';
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_count';
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+
+# Test that commit triggers immediately if there is already a transaction
+# waiting on another transaction that reaches its commit.
+
+--connection default
+SET @a= current_timestamp();
+
+--connection con1
+send INSERT INTO t1 VALUES (6,0);
+
+--connection con2
+BEGIN;
+UPDATE t1 SET b=b+1 WHERE a=1;
+
+--connection con3
+send UPDATE t1 SET b=b+10 WHERE a=1;
+
+--connection con2
+# A small sleep to let con3 have time to wait on con2.
+# The sleep might be too small on loaded host, but that is not a big problem;
+# it only means we will trigger a different code path (con3 waits after con2
+# is ready to commit rather than before); and either path should work the same.
+# So we will not get false positive in case of different timing; at worst false
+# negative.
+SELECT SLEEP(0.25);
+UPDATE t1 SET b=b+1 WHERE a=3;
+COMMIT;
+
+--connection con1
+reap;
+
+--connection default
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"));
+
+# All connections are to the same server. con2 and con3 updates are aquiring
+# the same row lock for a=1. Either con2 or con3 will be in a lock wait
+# thefore the binlog_group_commit_trigger_lock_wait is incremented.
+# before: binlog_group_commit=2, binlog_group_commit_trigger_count=1
+# before: binlog_group_commit_trigger_timeout=0, binlog_group_commit_trigger_lock_wait=1
+# after: binlog_group_commit+1 by reason of binlog_group_commit_trigger_lock_wait+1
+SELECT variable_value - @group_commits FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commits';
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_count';
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+
+--connection default
+SET @a= current_timestamp();
+
+# Now con3 will be waiting for a following group commit to trigger.
+--connection con1
+send INSERT INTO t1 VALUES (7,0);
+--connection con2
+INSERT INTO t1 VALUES (8,0);
+--connection con3
+reap;
+
+--connection default
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20"));
+
+# The con1 and con2 transactions above are combined with the 'send UPDATE t1 SET b=b+10 WHERE a=1;'
+# on con3 from the previous block. So we have 3 so this is a count based group.
+# before: binlog_group_commit=3, binlog_group_commit_trigger_count=1
+# before: binlog_group_commit_trigger_timeout=0, binlog_group_commit_trigger_lock_wait=2
+# after: binlog_group_commit+1 by reason of binlog_group_commit_trigger_count+1
+SELECT variable_value - @group_commits FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commits';
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_count';
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+
+# Test that when the binlog_commit_wait_usec is reached the tranction gets a group commit
+
+--connection default
+SET @a= current_timestamp();
+SET GLOBAL binlog_commit_wait_usec= 5*1000*1000;
+
+--connection con1
+reap;
+INSERT INTO t1 VALUES (9,0);
+
+--connection default
+SET @b= unix_timestamp(current_timestamp()) - unix_timestamp(@a);
+SELECT IF(@b < 4, CONCAT("Error: too little time elapsed: ", @b, " seconds < 4"),
+ IF(@b < 20, "Ok", CONCAT("Error: too much time elapsed: ", @b, " seconds >= 20")));
+
+# con1 pushes 1 transaction. The count was for 3 to occur before a group commit.
+# The timeout is 5 seconds but we allow between 4 and 20 because of the fragile nature
+# of time in test. This is a timeout causing the commit so binlog_group_commit_trigger_timeout
+# is incremented.
+# before: binlog_group_commit=4, binlog_group_commit_trigger_count=2
+# before: binlog_group_commit_trigger_timeout=0, binlog_group_commit_trigger_lock_wait=2
+# after: binlog_group_commit+1 by reason of binlog_group_commit_trigger_timeout+1
+SELECT variable_value - @group_commits FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commits';
+SELECT variable_value - @group_commit_trigger_count FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_count';
+SELECT variable_value - @group_commit_trigger_timeout FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_timeout';
+SELECT variable_value - @group_commit_trigger_lock_wait FROM information_schema.global_status
+ WHERE variable_name = 'binlog_group_commit_trigger_lock_wait';
+
+--connection default
+SELECT * FROM t1 ORDER BY a;
+
+--connection default
+DROP TABLE t1;
+SET GLOBAL binlog_commit_wait_count= @old_count;
+SET GLOBAL binlog_commit_wait_usec= @old_usec;
diff --git a/mysql-test/suite/binlog/t/binlog_dmls_on_tmp_tables_readonly.test b/mysql-test/suite/binlog/t/binlog_dmls_on_tmp_tables_readonly.test
index cf3910eb229..0fa35d57745 100644
--- a/mysql-test/suite/binlog/t/binlog_dmls_on_tmp_tables_readonly.test
+++ b/mysql-test/suite/binlog/t/binlog_dmls_on_tmp_tables_readonly.test
@@ -25,6 +25,7 @@ DROP TABLE IF EXISTS t1 ;
--enable_connect_log
--echo # READ_ONLY does nothing to SUPER users
--echo # so we use a non-SUPER one:
+CREATE USER test@localhost;
GRANT CREATE, SELECT, DROP ON *.* TO test@localhost;
connect (con1,localhost,test,,test);
diff --git a/mysql-test/suite/binlog/t/binlog_flush_binlogs_delete_domain.test b/mysql-test/suite/binlog/t/binlog_flush_binlogs_delete_domain.test
new file mode 100644
index 00000000000..8311f4bd800
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_flush_binlogs_delete_domain.test
@@ -0,0 +1,156 @@
+# Prove basic properties of
+#
+# FLUSH BINARY LOGS DELETE_DOMAIN_ID = (...)
+#
+# The command removes the supplied list of domains from the current
+# @@global.gtid_binlog_state provided the binlog files do not contain
+# events from such domains.
+
+# The test is not format specific. One format is chosen to run it.
+--source include/have_binlog_format_mixed.inc
+
+# Reset binlog state
+RESET MASTER;
+
+# Empty list is accepted
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = ();
+--echo and the command execution is effective thence rotates binlog as usual
+--source include/show_binary_logs.inc
+
+--echo Non-existed domain is warned, the command completes without rotation
+--echo but with a warning
+--let $binlog_pre_flush=query_get_value(SHOW MASTER STATUS, Position, 1)
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (99);
+--let $binlog_start=$binlog_pre_flush
+--source include/show_binary_logs.inc
+
+# Log one event in a specified domain and try to delete the domain
+SET @@SESSION.gtid_domain_id=1;
+SET @@SESSION.server_id=1;
+CREATE TABLE t (a int);
+SELECT @@GLOBAL.gtid_binlog_state, @@GLOBAL.gtid_binlog_pos;
+--let $binlog_start=
+--source include/show_binlog_events.inc
+
+--error ER_BINLOG_CANT_DELETE_GTID_DOMAIN
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1);
+
+# the same error after log rotation
+FLUSH BINARY LOGS;
+--error ER_BINLOG_CANT_DELETE_GTID_DOMAIN
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1);
+
+# the latest binlog does not really contain any events incl ones from 1-domain
+--let $purge_to_binlog= query_get_value(SHOW MASTER STATUS, File, 1)
+--eval PURGE BINARY LOGS TO '$purge_to_binlog';
+# So now it's safe to delete
+--error 0
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1);
+--echo Gtid_list of the current binlog does not contain '1':
+--let $binlog_file=query_get_value(SHOW MASTER STATUS, File, 1)
+--source include/show_gtid_list.inc
+--echo But the previous log's Gtid_list may have it which explains a warning from the following command
+--let $binlog_file=$purge_to_binlog
+--source include/show_gtid_list.inc
+
+--echo Already deleted domain in Gtid_list of the earliest log is benign
+--echo but may cause a warning
+--error 0
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (1);
+
+# Few domains delete. The chosen number verifies among others how
+# expected overrun of the static buffers of underlying dynamic arrays is doing.
+--let $domain_cnt=17
+--let $server_in_domain_cnt=3
+--let $domain_list=
+--disable_query_log
+while ($domain_cnt)
+{
+ --let servers=$server_in_domain_cnt
+ --eval SET @@SESSION.gtid_domain_id=$domain_cnt
+ while ($servers)
+ {
+ --eval SET @@SESSION.server_id=10*$domain_cnt + $servers
+ --eval INSERT INTO t SET a=@@SESSION.server_id
+
+ --dec $servers
+ }
+ --let $domain_list= $domain_cnt, $domain_list
+
+ --dec $domain_cnt
+}
+--enable_query_log
+--let $zero=0
+--let $domain_list= $domain_list$zero
+
+--error ER_BINLOG_CANT_DELETE_GTID_DOMAIN
+--eval FLUSH BINARY LOGS DELETE_DOMAIN_ID = ($domain_list)
+
+# Now satisfy the safety condtion to purge log files containing $domain list
+FLUSH BINARY LOGS;
+--let $purge_to_binlog= query_get_value(SHOW MASTER STATUS, File, 1)
+--eval PURGE BINARY LOGS TO '$purge_to_binlog'
+--error 0
+--eval FLUSH BINARY LOGS DELETE_DOMAIN_ID = ($domain_list)
+--echo Gtid_list of the current binlog does not contain $domain_list:
+--let $binlog_file=query_get_value(SHOW MASTER STATUS, File, 1)
+--source include/show_gtid_list.inc
+
+# Show reaction on @@global.gtid_binlog_state not succeeding
+# earlier state as described by the 1st binlog' Gtid_list.
+# Now let it be out-order gtid logged to a domain unrelated to deletion.
+
+--let $del_d_id=1
+--eval SET @@SESSION.gtid_domain_id=$del_d_id;
+SET @@SESSION.server_id=1;
+SET @@SESSION.gtid_seq_no=1;
+INSERT INTO t SET a=1;
+SET @@SESSION.server_id=2;
+SET @@SESSION.gtid_seq_no=2;
+INSERT INTO t SET a=2;
+
+SET @@SESSION.gtid_domain_id=11;
+SET @@SESSION.server_id=11;
+SET @@SESSION.gtid_seq_no=11;
+INSERT INTO t SET a=11;
+
+SET @gtid_binlog_state_saved=@@GLOBAL.gtid_binlog_state;
+FLUSH BINARY LOGS;
+
+# Inject out of order for domain '11' before
+SET @@SESSION.gtid_domain_id=11;
+SET @@SESSION.server_id=11;
+SET @@SESSION.gtid_seq_no=1;
+INSERT INTO t SET a=1;
+
+SELECT @gtid_binlog_state_saved "as original state", @@GLOBAL.gtid_binlog_state as "out of order for 11 domain state";
+
+# to delete '1', first to purge logs containing its events
+--let $purge_to_binlog= query_get_value(SHOW MASTER STATUS, File, 1)
+--eval PURGE BINARY LOGS TO '$purge_to_binlog'
+
+--echo the following command succeeds with warnings
+--eval FLUSH BINARY LOGS DELETE_DOMAIN_ID = ($del_d_id)
+
+# cleanup: forget the out-of-order
+RESET MASTER;
+
+#
+# MDEV-14431
+# Check rejection to delete a domain with value exceeding its range's maximum
+#
+--let $d_max_plus_1=`SELECT 1 << 32`
+--error ER_BINLOG_CANT_DELETE_GTID_DOMAIN
+--eval FLUSH BINARY LOGS DELETE_DOMAIN_ID = ($d_max_plus_1)
+
+# accepted maximum:
+--let $d_max=`SELECT (1 << 32) - 1`
+--error 0
+--eval FLUSH BINARY LOGS DELETE_DOMAIN_ID = ($d_max)
+
+#
+# Cleanup
+#
+
+DROP TABLE t;
+RESET MASTER;
diff --git a/mysql-test/suite/binlog/t/binlog_grant.test b/mysql-test/suite/binlog/t/binlog_grant.test
index 0c9d9a45ec9..8a76b11e707 100644
--- a/mysql-test/suite/binlog/t/binlog_grant.test
+++ b/mysql-test/suite/binlog/t/binlog_grant.test
@@ -58,6 +58,7 @@ drop user mysqltest_1@localhost;
# Testing if REPLICATION CLIENT privilege is enough to execute
# SHOW MASTER LOGS and SHOW BINARY.
+CREATE USER 'mysqltest_1'@'localhost';
GRANT REPLICATION CLIENT ON *.* TO 'mysqltest_1'@'localhost';
--connect(rpl,localhost,mysqltest_1,,)
diff --git a/mysql-test/suite/binlog/t/binlog_gtid_delete_domain_debug.test b/mysql-test/suite/binlog/t/binlog_gtid_delete_domain_debug.test
new file mode 100644
index 00000000000..5de549c45bb
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_gtid_delete_domain_debug.test
@@ -0,0 +1,11 @@
+# Check "internal" error branches of
+# FLUSH BINARY LOGS DELETE_DOMAIN_ID = (...)
+# handler.
+--source include/have_debug.inc
+--source include/have_binlog_format_mixed.inc
+
+SET @@SESSION.debug_dbug='+d,inject_binlog_delete_domain_init_error';
+--error ER_BINLOG_CANT_DELETE_GTID_DOMAIN
+FLUSH BINARY LOGS DELETE_DOMAIN_ID = (99);
+
+SHOW WARNINGS;
diff --git a/mysql-test/suite/binlog/t/binlog_incident-master.opt b/mysql-test/suite/binlog/t/binlog_incident-master.opt
deleted file mode 100644
index 57ce0081ae5..00000000000
--- a/mysql-test/suite/binlog/t/binlog_incident-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-debug=+d,incident_database_resync_on_replace \ No newline at end of file
diff --git a/mysql-test/suite/binlog/t/binlog_incident.test b/mysql-test/suite/binlog/t/binlog_incident.test
index 1c526ca5980..c4270a074f0 100644
--- a/mysql-test/suite/binlog/t/binlog_incident.test
+++ b/mysql-test/suite/binlog/t/binlog_incident.test
@@ -1,29 +1 @@
-# The purpose of this test is to provide a reference for how the
-# incident log event is represented in the output from the mysqlbinlog
-# program.
-
-source include/have_log_bin.inc;
-source include/have_debug.inc;
-source include/binlog_start_pos.inc;
-
-let $MYSQLD_DATADIR= `select @@datadir`;
-RESET MASTER;
-
-CREATE TABLE t1 (a INT);
-
-INSERT INTO t1 VALUES (1),(2),(3);
-SELECT * FROM t1;
-
-# This will generate an incident log event and store it in the binary
-# log before the replace statement.
-REPLACE INTO t1 VALUES (4);
-
-DROP TABLE t1;
-FLUSH LOGS;
-
-exec $MYSQL_BINLOG --start-position=$binlog_start_pos $MYSQLD_DATADIR/master-bin.000001 >$MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;
---disable_query_log
-eval SELECT cont LIKE '%RELOAD DATABASE; # Shall generate syntax error%' AS `Contain RELOAD DATABASE` FROM (SELECT load_file('$MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql') AS cont) AS tbl;
---enable_query_log
-
-remove_file $MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;
+--source extra/binlog_tests/binlog_incident.inc
diff --git a/mysql-test/suite/binlog/t/binlog_index.test b/mysql-test/suite/binlog/t/binlog_index.test
index 09e817c0469..1837c683bba 100644
--- a/mysql-test/suite/binlog/t/binlog_index.test
+++ b/mysql-test/suite/binlog/t/binlog_index.test
@@ -1,266 +1 @@
-#
-# testing of purging of binary log files bug#18199/Bug#18453
-#
-source include/have_log_bin.inc;
-source include/not_embedded.inc;
-# Don't test this under valgrind, memory leaks will occur
---source include/not_valgrind.inc
-source include/have_debug.inc;
-# Avoid CrashReporter popup on Mac
---source include/not_crashrep.inc
-call mtr.add_suppression('Attempting backtrace');
-call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to process registered files that would be purged.');
-call mtr.add_suppression('MYSQL_BIN_LOG::open failed to sync the index file');
-call mtr.add_suppression('Turning logging off for the whole duration of the MySQL server process.');
-call mtr.add_suppression('Could not open .*');
-call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
-flush tables;
-
-let $old=`select @@debug`;
-
-RESET MASTER;
-
-let $MYSQLD_DATADIR= `select @@datadir`;
-let $INDEX=$MYSQLD_DATADIR/master-bin.index;
-
-#
-# testing purge binary logs TO
-#
-
-flush logs;
-flush logs;
-flush logs;
-
-source include/show_binary_logs.inc;
-remove_file $MYSQLD_DATADIR/master-bin.000001;
-flush tables;
-
-# there must be a warning with file names
-replace_regex /\.[\\\/]master/master/;
-purge binary logs TO 'master-bin.000004';
-
---echo *** must show a list starting from the 'TO' argument of PURGE ***
-source include/show_binary_logs.inc;
-
-#
-# testing purge binary logs BEFORE
-#
-
-reset master;
-
-flush logs;
-flush logs;
-flush logs;
-remove_file $MYSQLD_DATADIR/master-bin.000001;
-
---echo *** must be a warning master-bin.000001 was not found ***
-let $date=`select NOW() + INTERVAL 1 MINUTE`;
---disable_query_log
-replace_regex /\.[\\\/]master/master/;
-eval purge binary logs BEFORE '$date';
---enable_query_log
-
---echo *** must show one record, of the active binlog, left in the index file after PURGE ***
-source include/show_binary_logs.inc;
-
-#
-# testing a fatal error
-# Turning a binlog file into a directory must be a portable setup
-#
-
-reset master;
-
-flush logs;
-flush logs;
-flush logs;
-
-remove_file $MYSQLD_DATADIR/master-bin.000001;
-mkdir $MYSQLD_DATADIR/master-bin.000001;
-
---error ER_BINLOG_PURGE_FATAL_ERR
-purge binary logs TO 'master-bin.000002';
-replace_regex /\.[\\\/]master/master/;
-show warnings;
-rmdir $MYSQLD_DATADIR/master-bin.000001;
---disable_warnings
-reset master;
---enable_warnings
-
---echo # crash_purge_before_update_index
-flush logs;
-
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_purge_before_update_index";
---error 2013
-purge binary logs TO 'master-bin.000002';
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-file_exists $MYSQLD_DATADIR/master-bin.000001;
-file_exists $MYSQLD_DATADIR/master-bin.000002;
-file_exists $MYSQLD_DATADIR/master-bin.000003;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_purge_non_critical_after_update_index
-flush logs;
-
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_purge_non_critical_after_update_index";
---error 2013
-purge binary logs TO 'master-bin.000004';
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000001;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000002;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000003;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_purge_critical_after_update_index
-flush logs;
-
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_purge_critical_after_update_index";
---error 2013
-purge binary logs TO 'master-bin.000006';
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000004;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000005;
-file_exists $MYSQLD_DATADIR/master-bin.000006;
-file_exists $MYSQLD_DATADIR/master-bin.000007;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000008;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_create_non_critical_before_update_index
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_create_non_critical_before_update_index";
---error 2013
-flush logs;
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-file_exists $MYSQLD_DATADIR/master-bin.000008;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000009;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_create_critical_before_update_index
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_create_critical_before_update_index";
---error 2013
-flush logs;
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-file_exists $MYSQLD_DATADIR/master-bin.000009;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000010;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000011;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_create_after_update_index
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_create_after_update_index";
---error 2013
-flush logs;
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-file_exists $MYSQLD_DATADIR/master-bin.000010;
-file_exists $MYSQLD_DATADIR/master-bin.000011;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo #
---echo # This should put the server in unsafe state and stop
---echo # accepting any command. If we inject a fault at this
---echo # point and continue the execution the server crashes.
---echo #
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # fault_injection_registering_index
-SET SESSION debug_dbug="+d,fault_injection_registering_index";
--- replace_regex /\.[\\\/]master/master/
--- error ER_CANT_OPEN_FILE
-flush logs;
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---source include/restart_mysqld.inc
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # fault_injection_updating_index
-SET SESSION debug_dbug="+d,fault_injection_updating_index";
--- replace_regex /\.[\\\/]master/master/
--- error ER_CANT_OPEN_FILE
-flush logs;
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---source include/restart_mysqld.inc
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
-eval SET SESSION debug_dbug="$old";
-
---echo End of tests
+--source extra/binlog_tests/binlog_index.inc
diff --git a/mysql-test/suite/binlog/t/binlog_innodb_stm.test b/mysql-test/suite/binlog/t/binlog_innodb_stm.test
new file mode 100644
index 00000000000..4dfa7a76584
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_innodb_stm.test
@@ -0,0 +1,26 @@
+source include/have_innodb.inc;
+source include/have_binlog_format_statement.inc;
+
+#
+# MDEV-18466 Unsafe to log updates on tables referenced by foreign keys with triggers in statement format
+#
+
+create table categories(
+ cat_id int not null primary key,
+ cat_name varchar(255) not null,
+ cat_description text
+) engine=innodb;
+
+create table products(
+ prd_id int not null auto_increment primary key,
+ prd_name varchar(355) not null,
+ prd_price decimal,
+ cat_id int not null,
+ foreign key fk_cat(cat_id)
+ references categories(cat_id)
+ on update cascade
+) engine=innodb;
+
+insert into categories values (1, 'drinks', 'drinks');
+update categories set cat_description=2 where cat_id=1;
+drop table products, categories;
diff --git a/mysql-test/suite/binlog/t/binlog_ioerr.test b/mysql-test/suite/binlog/t/binlog_ioerr.test
index f23fadfc1b4..3155e14e6b0 100644
--- a/mysql-test/suite/binlog/t/binlog_ioerr.test
+++ b/mysql-test/suite/binlog/t/binlog_ioerr.test
@@ -1,30 +1 @@
-source include/have_debug.inc;
-source include/have_innodb.inc;
-source include/have_log_bin.inc;
-source include/have_binlog_format_mixed_or_statement.inc;
-
-CALL mtr.add_suppression("Error writing file 'master-bin'");
-
-RESET MASTER;
-
-CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb;
-INSERT INTO t1 VALUES(0);
-SET SESSION debug_dbug='+d,fail_binlog_write_1';
---error ER_ERROR_ON_WRITE
-INSERT INTO t1 VALUES(1);
---error ER_ERROR_ON_WRITE
-INSERT INTO t1 VALUES(2);
-SET SESSION debug_dbug='';
-INSERT INTO t1 VALUES(3);
-SELECT * FROM t1;
-
-# Actually the output from this currently shows a bug.
-# The injected IO error leaves partially written transactions in the binlog in
-# the form of stray "BEGIN" events.
-# These should disappear from the output if binlog error handling is improved
-# (see MySQL Bug#37148 and WL#1790).
---replace_regex /\/\* xid=.* \*\//\/* XID *\// /Server ver: .*, Binlog ver: .*/Server ver: #, Binlog ver: #/ /table_id: [0-9]+/table_id: #/
---replace_column 1 BINLOG 2 POS 5 ENDPOS
-SHOW BINLOG EVENTS;
-
-DROP TABLE t1;
+--source extra/binlog_tests/binlog_ioerr.inc
diff --git a/mysql-test/suite/binlog/t/binlog_killed.test b/mysql-test/suite/binlog/t/binlog_killed.test
index 6fd9924d44b..73759ee5aa5 100644
--- a/mysql-test/suite/binlog/t/binlog_killed.test
+++ b/mysql-test/suite/binlog/t/binlog_killed.test
@@ -59,8 +59,8 @@ reap;
let $rows= `select count(*) from t2 /* must be 2 or 0 */`;
let $MYSQLD_DATADIR= `select @@datadir`;
---let $binlog_killed_pos=query_get_value(SHOW BINLOG EVENTS, Pos, 4)
---let $binlog_killed_end_log_pos=query_get_value(SHOW BINLOG EVENTS, End_log_pos, 4)
+--let $binlog_killed_pos=query_get_value(SHOW BINLOG EVENTS, Pos, 6)
+--let $binlog_killed_end_log_pos=query_get_value(SHOW BINLOG EVENTS, End_log_pos, 6)
--exec $MYSQL_BINLOG --force-if-open --start-position=$binlog_killed_pos --stop-position=$binlog_killed_end_log_pos $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--disable_result_log
@@ -270,8 +270,8 @@ select * from t4 order by b /* must be (1,1), (1,2) */;
select @b /* must be 1 at the end of a stmt calling bug27563() */;
--echo must have the update query event on the 4th line
source include/show_binlog_events.inc;
---let $binlog_killed_pos= query_get_value(SHOW BINLOG EVENTS, Pos, 4)
---let $binlog_killed_end_log_pos= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 4)
+--let $binlog_killed_pos= query_get_value(SHOW BINLOG EVENTS, Pos, 5)
+--let $binlog_killed_end_log_pos= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 5)
--echo *** a proof the query is binlogged with an error ***
@@ -318,8 +318,8 @@ select count(*) from t4 /* must be 1 */;
select @b /* must be 1 at the end of a stmt calling bug27563() */;
--echo must have the delete query event on the 4th line
source include/show_binlog_events.inc;
---let $binlog_killed_pos= query_get_value(SHOW BINLOG EVENTS, Pos, 4)
---let $binlog_killed_end_log_pos= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 4)
+--let $binlog_killed_pos= query_get_value(SHOW BINLOG EVENTS, Pos, 5)
+--let $binlog_killed_end_log_pos= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 5)
# a proof the query is binlogged with an error
diff --git a/mysql-test/suite/binlog/t/binlog_killed_simulate.test b/mysql-test/suite/binlog/t/binlog_killed_simulate.test
index 0549c313e94..e1a1c9de3b2 100644
--- a/mysql-test/suite/binlog/t/binlog_killed_simulate.test
+++ b/mysql-test/suite/binlog/t/binlog_killed_simulate.test
@@ -46,8 +46,8 @@ reset master;
load data infile '../../std_data/rpl_loaddata.dat' into table t2 /* will be "killed" in the middle */;
# a proof the query is binlogged with an error
---let $binlog_load_data= query_get_value(SHOW BINLOG EVENTS, Pos, 3)
---let $binlog_end= query_get_value(SHOW BINLOG EVENTS, Pos, 4)
+--let $binlog_load_data= query_get_value(SHOW BINLOG EVENTS, Pos, 5)
+--let $binlog_end= query_get_value(SHOW BINLOG EVENTS, Pos, 6)
source include/show_binlog_events.inc;
diff --git a/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.opt b/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.opt
new file mode 100644
index 00000000000..c52ef14d5d0
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.opt
@@ -0,0 +1 @@
+--max_binlog_stmt_cache_size=18446744073709547520
diff --git a/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.test b/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.test
new file mode 100644
index 00000000000..ca3f45c154c
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.test
@@ -0,0 +1,36 @@
+
+--echo #
+--echo # MDEV-4774: Strangeness with max_binlog_stmt_cache_size Settings
+--echo #
+
+CALL mtr.add_suppression("unsigned value 18446744073709547520 adjusted to 4294963200");
+
+--replace_result 18446744073709547520 MAX_BINLOG_STMT_CACHE_SIZE 4294963200 MAX_BINLOG_STMT_CACHE_SIZE
+SELECT @@global.max_binlog_stmt_cache_size;
+
+# Save the initial value of @@global.max_binlog_stmt_cache_size.
+--replace_result 18446744073709547520 MAX_BINLOG_STMT_CACHE_SIZE 4294963200 MAX_BINLOG_STMT_CACHE_SIZE
+SET @cache_size= @@max_binlog_stmt_cache_size;
+
+--disable_warnings
+SET @@global.max_binlog_stmt_cache_size= @cache_size+1;
+--enable_warnings
+--replace_result 18446744073709547520 MAX_BINLOG_STMT_CACHE_SIZE 4294963200 MAX_BINLOG_STMT_CACHE_SIZE
+SELECT @@global.max_binlog_stmt_cache_size;
+
+--disable_warnings
+SET @@global.max_binlog_stmt_cache_size = @cache_size+4095;
+--enable_warnings
+--replace_result 4294963200 MAX_BINLOG_STMT_CACHE_SIZE 18446744073709547520 MAX_BINLOG_STMT_CACHE_SIZE
+SELECT @@global.max_binlog_stmt_cache_size;
+
+--disable_warnings
+SET @@global.max_binlog_stmt_cache_size= @cache_size-1;
+--enable_warnings
+SELECT @@global.max_binlog_stmt_cache_size = @cache_size-4096;
+
+# Restore @@global.max_binlog_stmt_cache_size to its initial value.
+SET @@global.max_binlog_stmt_cache_size= @cache_size;
+
+--echo # End of test
+
diff --git a/mysql-test/suite/binlog/t/binlog_mdev717.test b/mysql-test/suite/binlog/t/binlog_mdev717.test
new file mode 100644
index 00000000000..61d3aa715d2
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_mdev717.test
@@ -0,0 +1,46 @@
+# MDEV-717 LP:1003679 - Wrong binlog order on concurrent DROP schema and CREATE function.
+
+--source include/have_debug_sync.inc
+--source include/have_log_bin.inc
+RESET MASTER;
+
+connect(con1,localhost,root);
+connection default;
+
+CREATE DATABASE mysqltest;
+SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
+--send DROP DATABASE mysqltest;
+connection con1;
+SET DEBUG_SYNC= "now WAIT_FOR locked";
+SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
+--error ER_BAD_DB_ERROR
+CREATE FUNCTION mysqltest.f1() RETURNS INT RETURN 1;
+connection default;
+--reap
+
+CREATE DATABASE mysqltest;
+SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
+--send DROP DATABASE mysqltest;
+connection con1;
+SET DEBUG_SYNC= "now WAIT_FOR locked";
+SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
+--error ER_BAD_DB_ERROR
+CREATE EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END;
+connection default;
+--reap
+
+CREATE DATABASE mysqltest;
+CREATE EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END;
+SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
+--send DROP DATABASE mysqltest;
+connection con1;
+SET DEBUG_SYNC= "now WAIT_FOR locked";
+SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
+--error ER_BAD_DB_ERROR
+ALTER EVENT mysqltest.e1 ON SCHEDULE EVERY 20 MINUTE DO BEGIN END;
+connection default;
+--reap
+
+SET DEBUG_SYNC= "RESET";
+--source include/show_binlog_events.inc
+
diff --git a/mysql-test/suite/binlog/t/binlog_multi_engine.test b/mysql-test/suite/binlog/t/binlog_multi_engine.test
deleted file mode 100644
index 90fddd4f3fd..00000000000
--- a/mysql-test/suite/binlog/t/binlog_multi_engine.test
+++ /dev/null
@@ -1,110 +0,0 @@
-# Test to test how logging is done depending on the capabilities of
-# the engines. Unfortunately, we don't have a good row-only logging
-# engine, and NDB does not really cut is since it is also
-# self-logging. I'm using it nevertheless.
-
-source include/have_blackhole.inc;
-source include/have_ndb.inc;
-source include/have_log_bin.inc;
-
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-
-CREATE TABLE t1m (m INT, n INT) ENGINE=MYISAM;
-CREATE TABLE t1b (b INT, c INT) ENGINE=BLACKHOLE;
-CREATE TABLE t1n (e INT, f INT) ENGINE=NDB;
-
-RESET MASTER;
-
-SET SESSION BINLOG_FORMAT=STATEMENT;
-
-INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
-
-UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
-
-# Here and below we need to wait when some event appears in binlog
-# to avoid unsrted mixing local events and from NDB
-let $wait_binlog_event= COMMIT;
-source include/wait_for_binlog_event.inc;
-let $event= query_get_value(SHOW BINLOG EVENTS, Info, 9);
---echo The last event before the COMMIT is $event
-
-echo *** Please look in binlog_multi_engine.test if you have a diff here ****;
-START TRANSACTION;
-INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
-UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
-UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c;
-COMMIT;
-
-let $wait_binlog_event= COMMIT;
-source include/wait_for_binlog_event.inc;
-
-TRUNCATE t1m;
-TRUNCATE t1b;
-TRUNCATE t1n;
-
-let $wait_binlog_event= t1n;
-source include/wait_for_binlog_event.inc;
-
-source include/show_binlog_events.inc;
-
-RESET MASTER;
-
-SET SESSION BINLOG_FORMAT=MIXED;
-
-INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
-
-let $wait_binlog_event= COMMIT;
-source include/wait_for_binlog_event.inc;
-let $event= query_get_value(SHOW BINLOG EVENTS, Info, 6);
---echo The last event before the COMMIT is $event
-
-INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
-
-let $wait_binlog_event= COMMIT;
-source include/wait_for_binlog_event.inc;
-
-UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
-error ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE;
-UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
-
-# Not possible to test this since NDB writes its own binlog, which
-# might cause it to be out of sync with the results from MyISAM.
-# This will generate an error once BUG#28722 is fixed.
-
-#UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
-
-TRUNCATE t1m;
-TRUNCATE t1b;
-TRUNCATE t1n;
-
-source include/show_binlog_events.inc;
-
-RESET MASTER;
-
-SET SESSION BINLOG_FORMAT=ROW;
-
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
-
-INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
-INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
-
-error ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE;
-UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
-
-# Not possible to test this since NDB writes its own binlog, which
-# might cause it to be out of sync with the results from MyISAM.
-# This will generate an error once BUG#28722 is fixed.
-
-#UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
-
-error ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE;
-UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c;
-
-source include/show_binlog_events.inc;
-
-RESET MASTER;
-
-DROP TABLE t1m, t1b, t1n;
-
diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932.test
index 2a210bea0e0..58c4befa8d6 100644
--- a/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932.test
+++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932.test
@@ -1,26 +1 @@
-# disabled in embedded until tools running is fixed with embedded
---source include/not_embedded.inc
-
--- source include/have_binlog_format_mixed_or_statement.inc
--- source include/have_cp932.inc
--- source include/have_log_bin.inc
-
-RESET MASTER;
-
-# Bug#16217 (mysql client did not know how not switch its internal charset)
-create table t3 (f text character set utf8);
-create table t4 (f text character set cp932);
---exec $MYSQL --default-character-set=utf8 test -e "insert into t3 values(_utf8'ソ')"
---exec $MYSQL --default-character-set=cp932 test -e "insert into t4 values(_cp932'ƒ\');"
-flush logs;
-rename table t3 to t03, t4 to t04;
-let $MYSQLD_DATADIR= `select @@datadir`;
---exec $MYSQL_BINLOG --short-form $MYSQLD_DATADIR/master-bin.000001 | $MYSQL --default-character-set=utf8
-# original and recovered data must be equal
-select HEX(f) from t03;
-select HEX(f) from t3;
-select HEX(f) from t04;
-select HEX(f) from t4;
-
-drop table t3, t4, t03, t04;
---echo End of 5.0 tests
+--source extra/binlog_tests/binlog_mysqlbinlog-cp932.inc
diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test
index 50143683548..66197c530ec 100644
--- a/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test
+++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test
@@ -5,6 +5,7 @@
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/binlog_start_pos.inc
+set sql_mode="";
--disable_warnings
drop table if exists t1;
--enable_warnings
@@ -23,7 +24,7 @@ insert into t1 values(null, "b");
set timestamp=@a+2;
--let $binlog_pos_760=query_get_value(SHOW MASTER STATUS, Position, 1)
insert into t1 values(null, "c");
---let $binlog_pos_951=query_get_value(SHOW BINLOG EVENTS in 'master-bin.000001' from $binlog_pos_760, Pos, 4)
+--let $binlog_pos_951=query_get_value(SHOW BINLOG EVENTS in 'master-bin.000001' from $binlog_pos_760, Pos, 5)
set timestamp=@a+4;
insert into t1 values(null, "d");
insert into t1 values(null, "e");
@@ -31,8 +32,8 @@ insert into t1 values(null, "e");
flush logs;
set timestamp=@a+1; # this could happen on a slave
insert into t1 values(null, "f");
---let $binlog_pos_135=query_get_value(SHOW BINLOG EVENTS in 'master-bin.000002', Pos, 3)
---let $binlog_pos_203=query_get_value(SHOW BINLOG EVENTS in 'master-bin.000002', Pos, 4)
+--let $binlog_pos_135=query_get_value(SHOW BINLOG EVENTS in 'master-bin.000002', Pos, 4)
+--let $binlog_pos_203=query_get_value(SHOW BINLOG EVENTS in 'master-bin.000002', Pos, 5)
# delimiters are for easier debugging in future
@@ -50,22 +51,22 @@ let $MYSQLD_DATADIR= `select @@datadir`;
--disable_query_log
select "--- offset --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form --offset=2 $MYSQLD_DATADIR/master-bin.000001
+--exec $MYSQL_BINLOG --short-form --offset=5 $MYSQLD_DATADIR/master-bin.000001
--disable_query_log
select "--- start-position --" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 653`;
+let $start_pos= `select @binlog_start_pos + 696`;
--exec $MYSQL_BINLOG --short-form --start-position=$start_pos $MYSQLD_DATADIR/master-bin.000001
--disable_query_log
select "--- stop-position --" as "";
--enable_query_log
-let $stop_pos= `select @binlog_start_pos + 653`;
+let $stop_pos= `select @binlog_start_pos + 696`;
--exec $MYSQL_BINLOG --short-form --stop-position=$stop_pos $MYSQLD_DATADIR/master-bin.000001
--disable_query_log
select "--- start and stop positions ---" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 653`;
-let $stop_pos= `select @binlog_start_pos + 770`;
+let $start_pos= `select @binlog_start_pos + 696`;
+let $stop_pos= `select @binlog_start_pos + 857`;
--exec $MYSQL_BINLOG --short-form --start-position=$start_pos --stop-position=$stop_pos $MYSQLD_DATADIR/master-bin.000001
--disable_query_log
select "--- start-datetime --" as "";
@@ -88,16 +89,16 @@ flush logs;
--disable_query_log
select "--- offset --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form --offset=2 $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.000002
+--exec $MYSQL_BINLOG --short-form --offset=5 $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.000002
--disable_query_log
select "--- start-position --" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 653`;
+let $start_pos= `select @binlog_start_pos + 696`;
--exec $MYSQL_BINLOG --short-form --start-position=$start_pos $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.000002
--disable_query_log
select "--- stop-position --" as "";
--enable_query_log
-let $stop_pos= `select @binlog_start_pos + 69`;
+let $stop_pos= `select @binlog_start_pos + 134`;
--exec $MYSQL_BINLOG --short-form --stop-position=$stop_pos $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.000002
--disable_query_log
select "--- start-datetime --" as "";
@@ -117,22 +118,22 @@ select "--- Remote --" as "";
--disable_query_log
select "--- offset --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form --offset=2 --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
+--exec $MYSQL_BINLOG --short-form --offset=5 --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
--disable_query_log
select "--- start-position --" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 653`;
+let $start_pos= `select @binlog_start_pos + 696`;
--exec $MYSQL_BINLOG --short-form --start-position=$start_pos --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
--disable_query_log
select "--- stop-position --" as "";
--enable_query_log
-let $stop_pos= `select @binlog_start_pos + 653`;
+let $stop_pos= `select @binlog_start_pos + 696`;
--exec $MYSQL_BINLOG --short-form --stop-position=$stop_pos --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
--disable_query_log
select "--- start and stop positions ---" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 653`;
-let $stop_pos= `select @binlog_start_pos + 770`;
+let $start_pos= `select @binlog_start_pos + 696`;
+let $stop_pos= `select @binlog_start_pos + 812`;
--exec $MYSQL_BINLOG --short-form --start-position=$start_pos --stop-position $stop_pos --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
--disable_query_log
select "--- start-datetime --" as "";
@@ -152,16 +153,16 @@ select "--- Remote with 2 binlogs on command line --" as "";
--disable_query_log
select "--- offset --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form --offset=2 --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 master-bin.000002
+--exec $MYSQL_BINLOG --short-form --offset=5 --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 master-bin.000002
--disable_query_log
select "--- start-position --" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 653`;
+let $start_pos= `select @binlog_start_pos + 696`;
--exec $MYSQL_BINLOG --short-form --start-position=$start_pos --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 master-bin.000002
--disable_query_log
select "--- stop-position --" as "";
--enable_query_log
-let $stop_pos= `select @binlog_start_pos + 28`;
+let $stop_pos= `select @binlog_start_pos + 109`;
--exec $MYSQL_BINLOG --short-form --stop-position=$stop_pos --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 master-bin.000002
--disable_query_log
select "--- start-datetime --" as "";
diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test
index 9609a9af384..0c94d968338 100644
--- a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test
+++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test
@@ -142,7 +142,7 @@ INSERT INTO t1 VALUES ('2001-02-03 10:20:30');
DELETE FROM t1 WHERE c29='2001-02-03 10:20:30';
DROP TABLE t1;
-CREATE TABLE t1 (c30 TIMESTAMP);
+CREATE TABLE t1 (c30 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
INSERT INTO t1 VALUES ('2001-02-03 10:20:30');
DELETE FROM t1 WHERE c30='2001-02-03 10:20:30';
DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_frag.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_frag.test
new file mode 100644
index 00000000000..f0317ef1219
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_frag.test
@@ -0,0 +1,45 @@
+--source include/have_debug.inc
+--source include/have_binlog_format_row.inc
+
+--let $MYSQLD_DATADIR= `select @@datadir`
+
+CREATE TABLE t (a TEXT);
+# events of interest are guaranteed to stay in 000001 log
+RESET MASTER;
+--eval INSERT INTO t SET a=repeat('a', 1024)
+SELECT a from t into @a;
+FLUSH LOGS;
+DELETE FROM t;
+
+--exec $MYSQL_BINLOG --debug-binlog-row-event-max-encoded-size=256 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mysqlbinlog.sql
+
+--let SEARCH_PATTERN= BINLOG @binlog_fragment_0, @binlog_fragment_1
+--let SEARCH_FILE= $MYSQLTEST_VARDIR/tmp/mysqlbinlog.sql
+--source include/search_pattern_in_file.inc
+
+--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/mysqlbinlog.sql
+
+SELECT a LIKE @a as 'true' FROM t;
+
+# improper syntax error
+--echo BINLOG number-of-fragments must be exactly two
+--error ER_PARSE_ERROR
+BINLOG @binlog_fragment;
+--error ER_PARSE_ERROR
+BINLOG @binlog_fragment, @binlog_fragment, @binlog_fragment;
+
+# corrupted fragments error check (to the expected error code notice,
+# the same error code occurs in a similar unfragmented case)
+SET @binlog_fragment_0='012345';
+SET @binlog_fragment_1='012345';
+--error ER_SYNTAX_ERROR
+BINLOG @binlog_fragment_0, @binlog_fragment_1;
+
+# Not existing fragment is not allowed
+SET @binlog_fragment_0='012345';
+--error ER_WRONG_TYPE_FOR_VAR
+BINLOG @binlog_fragment_0, @binlog_fragment_not_exist;
+
+--echo # Cleanup
+--remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.sql
+DROP TABLE t;
diff --git a/mysql-test/suite/binlog/t/binlog_old_versions.test b/mysql-test/suite/binlog/t/binlog_old_versions.test
index b294adbc69d..130101541e3 100644
--- a/mysql-test/suite/binlog/t/binlog_old_versions.test
+++ b/mysql-test/suite/binlog/t/binlog_old_versions.test
@@ -11,7 +11,7 @@
# The previous versions we currently test are:
# - version 5.1.17 and earlier trees
# - mysql-5.1-wl2325-xxx trees (AKA alcatel trees)
-# - mysql-5.1-telco-6.1 trees (AKA ndb trees)
+# - mysql-5.1-telco-6.1 trees
# For completeness, we also test mysql-5.1-new_rpl, which is supposed
# to be the "correct" version.
@@ -24,6 +24,17 @@
source include/not_embedded.inc;
+--echo ==== Read binlog with v2 row events ====
+
+# Read binlog.
+--exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/ver_trunk_row_v2.001 | $MYSQL --local-infile=1
+# Show result.
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT COUNT(*) FROM t3;
+# Reset.
+DROP TABLE t1, t2, t3;
+
--echo ==== Read modern binlog (version 5.1.23) ====
@@ -64,26 +75,7 @@ SELECT COUNT(*) FROM t3;
DROP TABLE t1, t3;
---echo ==== Read binlog from alcatel tree (mysql-5.1-wl2325-5.0-drop6) ====
-
-# In this version, it was not possible to switch between row-based and
-# statement-based binlogging without restarting the server. So, we
-# have two binlogs; one for row based and one for statement based
-# replication.
-
-# Read rbr binlog.
---exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/ver_5_1-wl2325_r.001 | $MYSQL --local-infile=1
-# Read stm binlog.
---exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/ver_5_1-wl2325_s.001 | $MYSQL --local-infile=1
-# Show result.
-SELECT * FROM t1 ORDER BY a;
-SELECT * FROM t2 ORDER BY a;
-SELECT COUNT(*) FROM t3;
-# Reset.
-DROP TABLE t1, t2, t3;
-
-
---echo ==== Read binlog from ndb tree (mysql-5.1-telco-6.1) ====
+--echo ==== Read binlog from telco tree (mysql-5.1-telco-6.1) ====
# Read binlog.
--exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/ver_5_1-telco.001 | $MYSQL --local-infile=1
diff --git a/mysql-test/suite/binlog/t/binlog_parallel_replication_marks_row.test b/mysql-test/suite/binlog/t/binlog_parallel_replication_marks_row.test
new file mode 100644
index 00000000000..82898486089
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_parallel_replication_marks_row.test
@@ -0,0 +1,3 @@
+--source include/have_log_bin.inc
+--source include/have_binlog_format_row.inc
+--source include/binlog_parallel_replication_marks.test
diff --git a/mysql-test/suite/binlog/t/binlog_parallel_replication_marks_stm_mix.test b/mysql-test/suite/binlog/t/binlog_parallel_replication_marks_stm_mix.test
new file mode 100644
index 00000000000..15042b3a07f
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_parallel_replication_marks_stm_mix.test
@@ -0,0 +1,3 @@
+--source include/have_log_bin.inc
+--source include/have_binlog_format_mixed_or_statement.inc
+--source include/binlog_parallel_replication_marks.test
diff --git a/mysql-test/suite/binlog/t/binlog_row_annotate.test b/mysql-test/suite/binlog/t/binlog_row_annotate.test
index a0f72c9222c..569391e68ce 100644
--- a/mysql-test/suite/binlog/t/binlog_row_annotate.test
+++ b/mysql-test/suite/binlog/t/binlog_row_annotate.test
@@ -1,189 +1 @@
-###############################################################################
-# WL47: Store in binlog text of statements that caused RBR events
-# new event: ANNOTATE_ROWS_EVENT
-# new master option: --binlog-annotate-row-events
-# new mysqlbinlog option: --skip-annotate-row-events
-#
-# Intended to test that:
-# *** If the --binlog-annotate-row-events option is switched on on master
-# then Annotate_rows events:
-# - are generated;
-# - are genrated only once for "multi-table-maps" rbr queries;
-# - are not generated when the corresponding queries are filtered away;
-# - are generated when the corresponding queries are filtered away partialy
-# (e.g. in case of multi-delete).
-# *** Annotate_rows events are printed by mysqlbinlog started without
-# --skip-annotate-row-events options both in remote and local cases.
-# *** Annotate_rows events are not printed by mysqlbinlog started with
-# --skip-annotate-row-events options both in remote and local cases.
-###############################################################################
-
---source include/have_log_bin.inc
---source include/have_binlog_format_row.inc
---source include/binlog_start_pos.inc
-
---disable_query_log
-
-# Fix timestamp to avoid varying results
-SET timestamp=1000000000;
-
-# Delete all existing binary logs
-RESET MASTER;
-
---disable_warnings
-DROP DATABASE IF EXISTS test1;
-DROP DATABASE IF EXISTS test2;
-DROP DATABASE IF EXISTS test3;
-DROP DATABASE IF EXISTS xtest1;
-DROP DATABASE IF EXISTS xtest2;
---enable_warnings
-
-CREATE DATABASE test1;
-CREATE TABLE test1.t1(a int);
-
-CREATE DATABASE test2;
-CREATE TABLE test2.t2(a int);
-CREATE VIEW test2.v2 AS SELECT * FROM test2.t2;
-
-CREATE DATABASE test3;
-CREATE TABLE test3.t3(a int);
-
-CREATE DATABASE xtest1;
-CREATE TABLE xtest1.xt1(a int);
-
-CREATE DATABASE xtest2;
-CREATE TABLE xtest2.xt2(a int);
-
-# By default SESSION binlog_annotate_row_events = OFF
-
-INSERT INTO test1.t1 VALUES (1), (2), (3);
-
-SET SESSION binlog_annotate_row_events = ON;
-
-INSERT INTO test2.t2 VALUES (1), (2), (3);
-INSERT INTO test3.t3 VALUES (1), (2), (3);
-
-# This query generates two Table maps but the Annotate
-# event should appear only once before the first Table map
-DELETE test1.t1, test2.t2
- FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
- WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a;
-
-# This event should be filtered out together with Annotate event
-INSERT INTO xtest1.xt1 VALUES (1), (2), (3);
-
-# This event should pass the filter
-INSERT INTO test2.v2 VALUES (1), (2), (3);
-
-# This event should pass the filter only for test2.t2 part
-DELETE xtest1.xt1, test2.t2
- FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
- WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a;
-
-# These events should be filtered out together with Annotate events
-INSERT INTO xtest1.xt1 VALUES (1), (2), (3);
-INSERT INTO xtest2.xt2 VALUES (1), (2), (3);
-DELETE xtest1.xt1, xtest2.xt2
- FROM xtest1.xt1 INNER JOIN xtest2.xt2 INNER JOIN test3.t3
- WHERE xtest1.xt1.a=xtest2.xt2.a AND xtest2.xt2.a=test3.t3.a;
-
-FLUSH LOGS;
---enable_query_log
-
---echo #####################################################################################
---echo # The following Annotate_rows events should appear below:
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - INSERT INTO test3.t3 VALUES (1), (2), (3)
---echo # - DELETE test1.t1, test2.t2 FROM <...>
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - DELETE xtest1.xt1, test2.t2 FROM <...>
---echo #####################################################################################
-
-let $start_pos= `select @binlog_start_pos`;
---replace_column 2 # 5 #
---replace_result $start_pos <start_pos>
---replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
---eval show binlog events in 'master-bin.000001' from $start_pos
-
---echo #
---echo #####################################################################################
---echo # mysqlbinlog
---echo # The following Annotates should appear in this output:
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - INSERT INTO test3.t3 VALUES (1), (2), (3)
---echo # - DELETE test1.t1, test2.t2 FROM <...> (with two subsequent Table maps)
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - DELETE xtest1.xt1, test2.t2 FROM <...> (with one subsequent Table map)
---echo #####################################################################################
-
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
---exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
-
---echo #
---echo #####################################################################################
---echo # mysqlbinlog --database=test1
---echo # The following Annotate should appear in this output:
---echo # - DELETE test1.t1, test2.t2 FROM <...>
---echo #####################################################################################
-
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
---exec $MYSQL_BINLOG --base64-output=decode-rows --database=test1 -v -v $MYSQLD_DATADIR/master-bin.000001
-
---echo #
---echo #####################################################################################
---echo # mysqlbinlog --skip-annotate-row-events
---echo # No Annotates should appear in this output
---echo #####################################################################################
-
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
---exec $MYSQL_BINLOG --base64-output=decode-rows --skip-annotate-row-events -v -v $MYSQLD_DATADIR/master-bin.000001
-
---echo #
---echo #####################################################################################
---echo # mysqlbinlog --read-from-remote-server
---echo # The following Annotates should appear in this output:
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - INSERT INTO test3.t3 VALUES (1), (2), (3)
---echo # - DELETE test1.t1, test2.t2 FROM <...> (with two subsequent Table maps)
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - DELETE xtest1.xt1, test2.t2 FROM <...> (with one subsequent Table map)
---echo #####################################################################################
-
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
---exec $MYSQL_BINLOG --base64-output=decode-rows -v -v --read-from-remote-server --user=root --host=localhost --port=$MASTER_MYPORT master-bin.000001
-
---echo #
---echo #####################################################################################
---echo # mysqlbinlog --read-from-remote-server --database=test1
---echo # The following Annotate should appear in this output:
---echo # - DELETE test1.t1, test2.t2 FROM <...>
---echo #####################################################################################
-
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
---exec $MYSQL_BINLOG --base64-output=decode-rows --database=test1 -v -v --read-from-remote-server --user=root --host=localhost --port=$MASTER_MYPORT master-bin.000001
-
---echo #
---echo #####################################################################################
---echo # mysqlbinlog --read-from-remote-server --skip-annotate-row-events
---echo # No Annotates should appear in this output
---echo #####################################################################################
-
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
---exec $MYSQL_BINLOG --base64-output=decode-rows --skip-annotate-row-events -v -v --read-from-remote-server --user=root --host=localhost --port=$MASTER_MYPORT master-bin.000001
-
-# Clean-up
-
---disable_query_log
-DROP DATABASE test1;
-DROP DATABASE test2;
-DROP DATABASE test3;
-DROP DATABASE xtest1;
-DROP DATABASE xtest2;
---enable_query_log
-
+--source extra/binlog_tests/binlog_row_annotate.inc
diff --git a/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_verbose.test b/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_verbose.test
index 42d92e1a44d..98aa7635deb 100644
--- a/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_verbose.test
+++ b/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_verbose.test
@@ -1,12 +1,8 @@
########################################################
-# Test mysqlbinlog command with Ndb produced Binlog
-# variants
-#
# WHAT
# ====
# This test aims to check that the mysqlbinlog --verbose
-# command can output binlogs in 4 format variants, currently
-# used by Ndb
+# command can output binlogs in 4 format variants.
#
# 1) Updates logged as write_row events
# Only primary key and updated columns included in the
@@ -18,19 +14,6 @@
# event
# 4) Updates logged as update_row events
# All columns included in the event
-#
-# Format variant (1) is the Ndb default.
-# Bug#47323 resulted in binlogs generated in format (1)
-# being incorrectly parsed by the mysqlbinlog --verbose
-# option
-#
-# HOW
-# ===
-# Row-based binlog files in each format have been
-# captured from an Ndb cluster
-# These are output using the mysqlbinlog --verbose
-# tool and the output is checked.
-#
########################################################
# We require binlog_format_row as we're independent of binlog format
diff --git a/mysql-test/suite/binlog/t/binlog_tmp_table_row.test b/mysql-test/suite/binlog/t/binlog_tmp_table_row.test
new file mode 100644
index 00000000000..ce11c880679
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_tmp_table_row.test
@@ -0,0 +1,30 @@
+# ==== Purpose ====
+#
+# Test if statements used temporary tables are not binlogged in the case of
+# binlog_format=row
+#
+# ==== Method ====
+#
+# We will see if binlog file size is increased or not, It should be constant for the
+# entire period of test.
+#
+# ==== Related bugs ====
+#
+# Mdev-9266
+#
+source include/have_log_bin.inc;
+source include/have_binlog_format_row.inc;
+
+RESET MASTER;
+
+--echo #Create table test
+--let $sql_query= create temporary table t1(a int, b int)
+--source suite/binlog/include/check_binlog_size.inc
+
+--echo #Add index test
+--let $sql_query= create index index_a on t1(a)
+--source suite/binlog/include/check_binlog_size.inc
+
+--echo #drop index test
+--let $sql_query= drop index index_a on t1
+--source suite/binlog/include/check_binlog_size.inc
diff --git a/mysql-test/suite/binlog/t/binlog_unsafe.test b/mysql-test/suite/binlog/t/binlog_unsafe.test
index 2de84a58875..a23155e6c1d 100644
--- a/mysql-test/suite/binlog/t/binlog_unsafe.test
+++ b/mysql-test/suite/binlog/t/binlog_unsafe.test
@@ -96,10 +96,6 @@
# rpl.rpl_variables_stm tests the small subset of variables that
# actually can be replicated safely in statement mode.
#
-# rpl_ndb.rpl_ndb_binlog_format_errors tests all errors and warnings
-# related to logging format (not just 'Unsafe statement written to the
-# binary log using statement format since BINLOG_FORMAT = STATEMENT').
-
--source include/have_udf.inc
--source include/have_log_bin.inc
--source include/have_binlog_format_statement.inc
@@ -110,16 +106,16 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
--echo #### Setup tables ####
-CREATE TABLE t0 (a CHAR(100));
-CREATE TABLE t1 (a CHAR(100));
-CREATE TABLE t2 (a CHAR(100));
-CREATE TABLE t3 (a CHAR(100));
-CREATE TABLE ta0 (a CHAR(100));
-CREATE TABLE ta1 (a CHAR(100));
-CREATE TABLE ta2 (a CHAR(100));
-CREATE TABLE ta3 (a CHAR(100));
+CREATE TABLE t0 (a CHAR(200));
+CREATE TABLE t1 (a CHAR(200));
+CREATE TABLE t2 (a CHAR(200));
+CREATE TABLE t3 (a CHAR(200));
+CREATE TABLE ta0 (a CHAR(200));
+CREATE TABLE ta1 (a CHAR(200));
+CREATE TABLE ta2 (a CHAR(200));
+CREATE TABLE ta3 (a CHAR(200));
CREATE TABLE autoinc_table (a INT PRIMARY KEY AUTO_INCREMENT);
-CREATE TABLE data_table (a CHAR(100));
+CREATE TABLE data_table (a CHAR(200));
INSERT INTO data_table VALUES ('foo');
CREATE TABLE trigger_table_1 (a INT);
CREATE TABLE trigger_table_2 (a INT);
@@ -433,7 +429,7 @@ DROP TABLE t1;
DROP TABLE IF EXISTS t1;
--enable_warnings
-CREATE TABLE t1 (a VARCHAR(100), b VARCHAR(100));
+CREATE TABLE t1 (a VARCHAR(200), b VARCHAR(200));
INSERT INTO t1 VALUES ('a','b');
UPDATE t1 SET b = '%s%s%s%s%s%s%s%s%s%s%s%s%s%s' WHERE a = 'a' LIMIT 1;
DROP TABLE t1;
@@ -471,7 +467,7 @@ CREATE FUNCTION fun_check_log_bin() RETURNS INT
BEGIN
SET @@SQL_LOG_BIN = 0;
INSERT INTO t1 VALUES(@@global.sync_binlog);
- RETURN 100;
+ RETURN 200;
END|
DELIMITER ;|
--echo "One unsafe warning should be issued in the following statement"
diff --git a/mysql-test/suite/binlog/t/binlog_variables_log_bin-master.opt b/mysql-test/suite/binlog/t/binlog_variables_log_bin-master.opt
new file mode 100644
index 00000000000..85d14ea7af9
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_variables_log_bin-master.opt
@@ -0,0 +1 @@
+--log-bin=other
diff --git a/mysql-test/suite/binlog/t/binlog_variables_log_bin.test b/mysql-test/suite/binlog/t/binlog_variables_log_bin.test
new file mode 100644
index 00000000000..d94d565d004
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_variables_log_bin.test
@@ -0,0 +1,4 @@
+--source include/not_embedded.inc
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--query_vertical SHOW VARIABLES LIKE 'log_bin%'
diff --git a/mysql-test/suite/binlog/t/binlog_variables_log_bin_index-master.opt b/mysql-test/suite/binlog/t/binlog_variables_log_bin_index-master.opt
new file mode 100644
index 00000000000..68e580bd205
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_variables_log_bin_index-master.opt
@@ -0,0 +1,2 @@
+--log-bin=other
+--log-bin-index=$MYSQLTEST_VARDIR/tmp/something.index
diff --git a/mysql-test/suite/binlog/t/binlog_variables_log_bin_index.test b/mysql-test/suite/binlog/t/binlog_variables_log_bin_index.test
new file mode 100644
index 00000000000..d94d565d004
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_variables_log_bin_index.test
@@ -0,0 +1,4 @@
+--source include/not_embedded.inc
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--query_vertical SHOW VARIABLES LIKE 'log_bin%'
diff --git a/mysql-test/suite/binlog/t/binlog_variables_relay_log-master.opt b/mysql-test/suite/binlog/t/binlog_variables_relay_log-master.opt
new file mode 100644
index 00000000000..a01432d7a17
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_variables_relay_log-master.opt
@@ -0,0 +1 @@
+--relay-log=other-relay
diff --git a/mysql-test/suite/binlog/t/binlog_variables_relay_log.test b/mysql-test/suite/binlog/t/binlog_variables_relay_log.test
new file mode 100644
index 00000000000..1e987901986
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_variables_relay_log.test
@@ -0,0 +1,4 @@
+--source include/not_embedded.inc
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--query_vertical SHOW VARIABLES LIKE 'relay_log%'
diff --git a/mysql-test/suite/binlog/t/binlog_variables_relay_log_index-master.opt b/mysql-test/suite/binlog/t/binlog_variables_relay_log_index-master.opt
new file mode 100644
index 00000000000..eeabaca11a0
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_variables_relay_log_index-master.opt
@@ -0,0 +1,2 @@
+--relay-log=other-relay
+--relay-log-index=$MYSQLTEST_VARDIR/tmp/something-relay.index
diff --git a/mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test b/mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test
new file mode 100644
index 00000000000..1e987901986
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test
@@ -0,0 +1,4 @@
+--source include/not_embedded.inc
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--query_vertical SHOW VARIABLES LIKE 'relay_log%'
diff --git a/mysql-test/suite/binlog/t/binlog_write_error.test b/mysql-test/suite/binlog/t/binlog_write_error.test
index 78f55c1bb0d..05f8eff6c3a 100644
--- a/mysql-test/suite/binlog/t/binlog_write_error.test
+++ b/mysql-test/suite/binlog/t/binlog_write_error.test
@@ -1,102 +1 @@
-#
-# === Name ===
-#
-# binlog_write_error.test
-#
-# === Description ===
-#
-# This test case check if the error of writing binlog file is properly
-# reported and handled when executing statements.
-#
-# === Related Bugs ===
-#
-# BUG#37148
-#
-
-source include/have_log_bin.inc;
-source include/have_debug.inc;
-source include/have_binlog_format_mixed_or_statement.inc;
-
---echo #
---echo # Initialization
---echo #
-
-disable_warnings;
-DROP TABLE IF EXISTS t1, t2;
-DROP FUNCTION IF EXISTS f1;
-DROP FUNCTION IF EXISTS f2;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p2;
-DROP TRIGGER IF EXISTS tr1;
-DROP TRIGGER IF EXISTS tr2;
-DROP VIEW IF EXISTS v1, v2;
-enable_warnings;
-
---echo #
---echo # Test injecting binlog write error when executing queries
---echo #
-
-let $query= CREATE TABLE t1 (a INT);
-source include/binlog_inject_error.inc;
-
-INSERT INTO t1 VALUES (1),(2),(3);
-
-let $query= INSERT INTO t1 VALUES (4),(5),(6);
-source include/binlog_inject_error.inc;
-
-let $query= UPDATE t1 set a=a+1;
-source include/binlog_inject_error.inc;
-
-let $query= DELETE FROM t1;
-source include/binlog_inject_error.inc;
-
-let $query= CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t1 VALUES (new.a + 100);
-source include/binlog_inject_error.inc;
-
-let $query= DROP TRIGGER tr1;
-source include/binlog_inject_error.inc;
-
-let $query= ALTER TABLE t1 ADD (b INT);
-source include/binlog_inject_error.inc;
-
-let $query= CREATE VIEW v1 AS SELECT a FROM t1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP VIEW v1;
-source include/binlog_inject_error.inc;
-
-let $query= CREATE PROCEDURE p1(OUT rows INT) SELECT count(*) INTO rows FROM t1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP PROCEDURE p1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP TABLE t1;
-source include/binlog_inject_error.inc;
-
-let $query= CREATE FUNCTION f1() RETURNS INT return 1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP FUNCTION f1;
-source include/binlog_inject_error.inc;
-
-let $query= CREATE USER user1;
-source include/binlog_inject_error.inc;
-
-let $query= REVOKE ALL PRIVILEGES, GRANT OPTION FROM user1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP USER user1;
-source include/binlog_inject_error.inc;
-
---echo #
---echo # Cleanup
---echo #
-
-disable_warnings;
-DROP TABLE IF EXISTS t1, t2;
-DROP FUNCTION IF EXISTS f1;
-DROP PROCEDURE IF EXISTS p1;
-DROP TRIGGER IF EXISTS tr1;
-DROP VIEW IF EXISTS v1, v2;
-enable_warnings;
+--source extra/binlog_tests/binlog_write_error.inc
diff --git a/mysql-test/suite/binlog/t/binlog_xa_recover-master.opt b/mysql-test/suite/binlog/t/binlog_xa_recover-master.opt
new file mode 100644
index 00000000000..3c44f9fad10
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_xa_recover-master.opt
@@ -0,0 +1 @@
+--skip-stack-trace --skip-core-file --loose-debug-dbug=+d,xa_recover_expect_master_bin_000004
diff --git a/mysql-test/suite/binlog/t/binlog_xa_recover.test b/mysql-test/suite/binlog/t/binlog_xa_recover.test
new file mode 100644
index 00000000000..0e0b80433ff
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_xa_recover.test
@@ -0,0 +1 @@
+--source extra/binlog_tests/binlog_xa_recover.inc
diff --git a/mysql-test/suite/binlog/t/mysqladmin.test b/mysql-test/suite/binlog/t/mysqladmin.test
new file mode 100644
index 00000000000..3c2fbc0a708
--- /dev/null
+++ b/mysql-test/suite/binlog/t/mysqladmin.test
@@ -0,0 +1,12 @@
+source include/have_binlog_format_statement.inc;
+#
+# MDEV-12612 mysqladmin --local flush... to use FLUSH LOCAL
+#
+create user adm@localhost identified by 'foobar';
+grant reload on *.* to adm@localhost;
+reset master;
+exec $MYSQLADMIN -uadm -pfoobar flush-status;
+source include/show_binlog_events.inc;
+exec $MYSQLADMIN --local -uadm -pfoobar flush-status;
+source include/show_binlog_events.inc;
+drop user adm@localhost;
diff --git a/mysql-test/suite/binlog_encryption/binlog_incident.combinations b/mysql-test/suite/binlog_encryption/binlog_incident.combinations
new file mode 100644
index 00000000000..2269ed4a7a1
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_incident.combinations
@@ -0,0 +1,8 @@
+[stmt]
+binlog-format=statement
+
+[mix]
+binlog-format=mixed
+
+[row]
+binlog-format=row
diff --git a/mysql-test/suite/binlog_encryption/binlog_incident.result b/mysql-test/suite/binlog_encryption/binlog_incident.result
new file mode 100644
index 00000000000..7a555743723
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_incident.result
@@ -0,0 +1,13 @@
+RESET MASTER;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+SELECT * FROM t1;
+a
+1
+2
+3
+REPLACE INTO t1 VALUES (4);
+DROP TABLE t1;
+FLUSH LOGS;
+Contain RELOAD DATABASE
+1
diff --git a/mysql-test/suite/binlog_encryption/binlog_incident.test b/mysql-test/suite/binlog_encryption/binlog_incident.test
new file mode 100644
index 00000000000..d37ed3d552d
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_incident.test
@@ -0,0 +1,2 @@
+--let $use_remote_mysqlbinlog= 1
+--source extra/binlog_tests/binlog_incident.inc
diff --git a/mysql-test/suite/binlog_encryption/binlog_index.result b/mysql-test/suite/binlog_encryption/binlog_index.result
new file mode 100644
index 00000000000..bb5d9ff74f1
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_index.result
@@ -0,0 +1,187 @@
+call mtr.add_suppression('Attempting backtrace');
+call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to process registered files that would be purged.');
+call mtr.add_suppression('MYSQL_BIN_LOG::open failed to sync the index file');
+call mtr.add_suppression('Turning logging off for the whole duration of the MySQL server process.');
+call mtr.add_suppression('Could not open .*');
+call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
+flush tables;
+RESET MASTER;
+flush logs;
+flush logs;
+flush logs;
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+flush tables;
+purge binary logs TO 'master-bin.000004';
+Warnings:
+Warning 1612 Being purged log master-bin.000001 was not found
+*** must show a list starting from the 'TO' argument of PURGE ***
+show binary logs;
+Log_name File_size
+master-bin.000004 #
+reset master;
+flush logs;
+flush logs;
+flush logs;
+*** must be a warning master-bin.000001 was not found ***
+Warnings:
+Warning 1612 Being purged log master-bin.000001 was not found
+*** must show one record, of the active binlog, left in the index file after PURGE ***
+show binary logs;
+Log_name File_size
+master-bin.000004 #
+reset master;
+flush logs;
+flush logs;
+flush logs;
+purge binary logs TO 'master-bin.000002';
+ERROR HY000: Fatal error during log purge
+show warnings;
+Level Code Message
+Warning 1377 a problem with deleting master-bin.000001; consider examining correspondence of your binlog index file to the actual binlog files
+Error 1377 Fatal error during log purge
+reset master;
+# crash_purge_before_update_index
+flush logs;
+SET SESSION debug_dbug="+d,crash_purge_before_update_index";
+purge binary logs TO 'master-bin.000002';
+ERROR HY000: Lost connection to MySQL server during query
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000001
+master-bin.000002
+master-bin.000003
+
+# crash_purge_non_critical_after_update_index
+flush logs;
+SET SESSION debug_dbug="+d,crash_purge_non_critical_after_update_index";
+purge binary logs TO 'master-bin.000004';
+ERROR HY000: Lost connection to MySQL server during query
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000004
+master-bin.000005
+
+# crash_purge_critical_after_update_index
+flush logs;
+SET SESSION debug_dbug="+d,crash_purge_critical_after_update_index";
+purge binary logs TO 'master-bin.000006';
+ERROR HY000: Lost connection to MySQL server during query
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+
+# crash_create_non_critical_before_update_index
+SET SESSION debug_dbug="+d,crash_create_non_critical_before_update_index";
+flush logs;
+ERROR HY000: Lost connection to MySQL server during query
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+
+# crash_create_critical_before_update_index
+SET SESSION debug_dbug="+d,crash_create_critical_before_update_index";
+flush logs;
+ERROR HY000: Lost connection to MySQL server during query
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+
+# crash_create_after_update_index
+SET SESSION debug_dbug="+d,crash_create_after_update_index";
+flush logs;
+ERROR HY000: Lost connection to MySQL server during query
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+master-bin.000010
+master-bin.000011
+
+#
+# This should put the server in unsafe state and stop
+# accepting any command. If we inject a fault at this
+# point and continue the execution the server crashes.
+#
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+master-bin.000010
+master-bin.000011
+
+# fault_injection_registering_index
+SET SESSION debug_dbug="+d,fault_injection_registering_index";
+flush logs;
+ERROR HY000: Can't open file: 'master-bin.000012' (errno: 1 "Operation not permitted")
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+master-bin.000010
+master-bin.000011
+
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+master-bin.000010
+master-bin.000011
+master-bin.000012
+
+# fault_injection_updating_index
+SET SESSION debug_dbug="+d,fault_injection_updating_index";
+flush logs;
+ERROR HY000: Can't open file: 'master-bin.000013' (errno: 1 "Operation not permitted")
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+master-bin.000010
+master-bin.000011
+master-bin.000012
+
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+master-bin.000010
+master-bin.000011
+master-bin.000012
+master-bin.000013
+
+SET SESSION debug_dbug="";
+End of tests
diff --git a/mysql-test/suite/binlog_encryption/binlog_index.test b/mysql-test/suite/binlog_encryption/binlog_index.test
new file mode 100644
index 00000000000..1837c683bba
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_index.test
@@ -0,0 +1 @@
+--source extra/binlog_tests/binlog_index.inc
diff --git a/mysql-test/suite/binlog_encryption/binlog_ioerr.result b/mysql-test/suite/binlog_encryption/binlog_ioerr.result
new file mode 100644
index 00000000000..6b3120b6d89
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_ioerr.result
@@ -0,0 +1,32 @@
+CALL mtr.add_suppression("Error writing file 'master-bin'");
+RESET MASTER;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb;
+INSERT INTO t1 VALUES(0);
+SET SESSION debug_dbug='+d,fail_binlog_write_1';
+INSERT INTO t1 VALUES(1);
+ERROR HY000: Error writing file 'master-bin' (errno: 28 "No space left on device")
+INSERT INTO t1 VALUES(2);
+ERROR HY000: Error writing file 'master-bin' (errno: 28 "No space left on device")
+SET SESSION debug_dbug='';
+INSERT INTO t1 VALUES(3);
+SELECT * FROM t1;
+a
+0
+3
+SHOW BINLOG EVENTS;
+Log_name Pos Event_type Server_id End_log_pos Info
+BINLOG POS Format_desc 1 ENDPOS Server ver: #, Binlog ver: #
+BINLOG POS Start_encryption 1 ENDPOS
+BINLOG POS Gtid_list 1 ENDPOS []
+BINLOG POS Binlog_checkpoint 1 ENDPOS master-bin.000001
+BINLOG POS Gtid 1 ENDPOS GTID 0-1-1
+BINLOG POS Query 1 ENDPOS use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb
+BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-2
+BINLOG POS Query 1 ENDPOS use `test`; INSERT INTO t1 VALUES(0)
+BINLOG POS Xid 1 ENDPOS COMMIT /* XID */
+BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-3
+BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-4
+BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-5
+BINLOG POS Query 1 ENDPOS use `test`; INSERT INTO t1 VALUES(3)
+BINLOG POS Xid 1 ENDPOS COMMIT /* XID */
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog_encryption/binlog_ioerr.test b/mysql-test/suite/binlog_encryption/binlog_ioerr.test
new file mode 100644
index 00000000000..3155e14e6b0
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_ioerr.test
@@ -0,0 +1 @@
+--source extra/binlog_tests/binlog_ioerr.inc
diff --git a/mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932-master.opt b/mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932-master.opt
new file mode 100644
index 00000000000..bb0cda4519a
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932-master.opt
@@ -0,0 +1 @@
+--max-binlog-size=8192
diff --git a/mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932.result b/mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932.result
new file mode 100644
index 00000000000..cbf6159516a
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932.result
@@ -0,0 +1,19 @@
+RESET MASTER;
+create table t3 (f text character set utf8);
+create table t4 (f text character set cp932);
+flush logs;
+rename table t3 to t03, t4 to t04;
+select HEX(f) from t03;
+HEX(f)
+E382BD
+select HEX(f) from t3;
+HEX(f)
+E382BD
+select HEX(f) from t04;
+HEX(f)
+835C
+select HEX(f) from t4;
+HEX(f)
+835C
+drop table t3, t4, t03, t04;
+End of 5.0 tests
diff --git a/mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932.test b/mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932.test
new file mode 100644
index 00000000000..3af0015a486
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_mysqlbinlog-cp932.test
@@ -0,0 +1,2 @@
+--let $use_remote_mysqlbinlog= 1
+--source extra/binlog_tests/binlog_mysqlbinlog-cp932.inc
diff --git a/mysql-test/suite/binlog_encryption/binlog_row_annotate-master.opt b/mysql-test/suite/binlog_encryption/binlog_row_annotate-master.opt
new file mode 100644
index 00000000000..344a4ffc014
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_row_annotate-master.opt
@@ -0,0 +1 @@
+--timezone=GMT-3 --binlog-do-db=test1 --binlog-do-db=test2 --binlog-do-db=test3 --binlog-checksum=NONE
diff --git a/mysql-test/suite/binlog_encryption/binlog_row_annotate.result b/mysql-test/suite/binlog_encryption/binlog_row_annotate.result
new file mode 100644
index 00000000000..41721441a72
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_row_annotate.result
@@ -0,0 +1,723 @@
+#####################################################################################
+# The following Annotate_rows events should appear below:
+# - INSERT INTO test2.t2 VALUES (1), (2), (3)
+# - INSERT INTO test3.t3 VALUES (1), (2), (3)
+# - DELETE test1.t1, test2.t2 FROM <...>
+# - INSERT INTO test2.t2 VALUES (1), (2), (3)
+# - DELETE xtest1.xt1, test2.t2 FROM <...>
+#####################################################################################
+show binlog events in 'master-bin.000001' from <start_pos>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid_list 1 # []
+master-bin.000001 # Binlog_checkpoint 1 # master-bin.000001
+master-bin.000001 # Gtid 1 # GTID 0-1-1
+master-bin.000001 # Query 1 # DROP DATABASE IF EXISTS test1
+master-bin.000001 # Gtid 1 # GTID 0-1-2
+master-bin.000001 # Query 1 # DROP DATABASE IF EXISTS test2
+master-bin.000001 # Gtid 1 # GTID 0-1-3
+master-bin.000001 # Query 1 # DROP DATABASE IF EXISTS test3
+master-bin.000001 # Gtid 1 # GTID 0-1-4
+master-bin.000001 # Query 1 # CREATE DATABASE test1
+master-bin.000001 # Gtid 1 # GTID 0-1-5
+master-bin.000001 # Query 1 # CREATE DATABASE test2
+master-bin.000001 # Gtid 1 # GTID 0-1-6
+master-bin.000001 # Query 1 # CREATE DATABASE test3
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-7
+master-bin.000001 # Table_map 1 # table_id: # (test1.t1)
+master-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-8
+master-bin.000001 # Annotate_rows 1 # INSERT INTO test2.t2 VALUES (1), (2), (3)
+master-bin.000001 # Table_map 1 # table_id: # (test2.t2)
+master-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-9
+master-bin.000001 # Annotate_rows 1 # INSERT INTO test3.t3 VALUES (1), (2), (3)
+master-bin.000001 # Table_map 1 # table_id: # (test3.t3)
+master-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-10
+master-bin.000001 # Annotate_rows 1 # DELETE test1.t1, test2.t2
+FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
+WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
+master-bin.000001 # Table_map 1 # table_id: # (test1.t1)
+master-bin.000001 # Table_map 1 # table_id: # (test2.t2)
+master-bin.000001 # Delete_rows_v1 1 # table_id: #
+master-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-11
+master-bin.000001 # Annotate_rows 1 # INSERT INTO test2.v2 VALUES (1), (2), (3)
+master-bin.000001 # Table_map 1 # table_id: # (test2.t2)
+master-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-12
+master-bin.000001 # Annotate_rows 1 # DELETE xtest1.xt1, test2.t2
+FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
+WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
+master-bin.000001 # Table_map 1 # table_id: # (test2.t2)
+master-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
+#
+#####################################################################################
+# mysqlbinlog --read-from-remote-server
+# The following Annotates should appear in this output:
+# - INSERT INTO test2.t2 VALUES (1), (2), (3)
+# - INSERT INTO test3.t3 VALUES (1), (2), (3)
+# - DELETE test1.t1, test2.t2 FROM <...> (with two subsequent Table maps)
+# - INSERT INTO test2.t2 VALUES (1), (2), (3)
+# - DELETE xtest1.xt1, test2.t2 FROM <...> (with one subsequent Table map)
+#####################################################################################
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
+/*!40019 SET @@session.max_insert_delayed_threads=0*/;
+/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
+DELIMITER /*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
+ROLLBACK/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=#/*!*/;
+SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
+SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
+/*!\C latin1 *//*!*/;
+SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+DROP DATABASE IF EXISTS test1
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+DROP DATABASE IF EXISTS test2
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+DROP DATABASE IF EXISTS test3
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+CREATE DATABASE test1
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+CREATE DATABASE test2
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+CREATE DATABASE test3
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
+BEGIN
+/*!*/;
+# at #
+#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 # Write_rows: table id # flags: STMT_END_F
+### INSERT INTO `test1`.`t1`
+### SET
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test1`.`t1`
+### SET
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test1`.`t1`
+### SET
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Annotate_rows:
+#Q> INSERT INTO test2.t2 VALUES (1), (2), (3)
+#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 # Write_rows: table id # flags: STMT_END_F
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Annotate_rows:
+#Q> INSERT INTO test3.t3 VALUES (1), (2), (3)
+#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
+# at #
+#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
+### INSERT INTO `test3`.`t3`
+### SET
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test3`.`t3`
+### SET
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test3`.`t3`
+### SET
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+#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
+#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 #
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Delete_rows: table id #
+#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
+### DELETE FROM `test1`.`t1`
+### WHERE
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test1`.`t1`
+### WHERE
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test1`.`t1`
+### WHERE
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Annotate_rows:
+#Q> INSERT INTO test2.v2 VALUES (1), (2), (3)
+#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 # Write_rows: table id # flags: STMT_END_F
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+#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
+#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
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Rotate to master-bin.000002 pos: 4
+DELIMITER ;
+# End of log file
+ROLLBACK /* added by mysqlbinlog */;
+/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
+#
+#####################################################################################
+# mysqlbinlog --read-from-remote-server --database=test1
+# The following Annotate should appear in this output:
+# - DELETE test1.t1, test2.t2 FROM <...>
+#####################################################################################
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
+/*!40019 SET @@session.max_insert_delayed_threads=0*/;
+/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
+DELIMITER /*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
+ROLLBACK/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=#/*!*/;
+SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
+SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
+/*!\C latin1 *//*!*/;
+SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+DROP DATABASE IF EXISTS test1
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+CREATE DATABASE test1
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
+BEGIN
+/*!*/;
+# at #
+#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 # Write_rows: table id # flags: STMT_END_F
+### INSERT INTO `test1`.`t1`
+### SET
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test1`.`t1`
+### SET
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test1`.`t1`
+### SET
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+#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
+#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
+# at #
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Delete_rows: table id #
+### DELETE FROM `test1`.`t1`
+### WHERE
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test1`.`t1`
+### WHERE
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test1`.`t1`
+### WHERE
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+'/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
+BEGIN
+/*!*/;
+# at #
+# at #
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Rotate to master-bin.000002 pos: 4
+DELIMITER ;
+# End of log file
+ROLLBACK /* added by mysqlbinlog */;
+/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
+#
+#####################################################################################
+# mysqlbinlog --read-from-remote-server --skip-annotate-row-events
+# No Annotates should appear in this output
+#####################################################################################
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
+/*!40019 SET @@session.max_insert_delayed_threads=0*/;
+/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
+DELIMITER /*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
+ROLLBACK/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Gtid list []
+# at #
+#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
+/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
+/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
+/*!100001 SET @@session.server_id=1*//*!*/;
+/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=#/*!*/;
+SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
+SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
+/*!\C latin1 *//*!*/;
+SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+DROP DATABASE IF EXISTS test1
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
+/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+DROP DATABASE IF EXISTS test2
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
+/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+DROP DATABASE IF EXISTS test3
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
+/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+CREATE DATABASE test1
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
+/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+CREATE DATABASE test2
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
+/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+CREATE DATABASE test3
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
+/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
+BEGIN
+/*!*/;
+# at #
+#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 # Write_rows: table id # flags: STMT_END_F
+### INSERT INTO `test1`.`t1`
+### SET
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test1`.`t1`
+### SET
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test1`.`t1`
+### SET
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
+/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
+BEGIN
+/*!*/;
+# at #
+#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 # Write_rows: table id # flags: STMT_END_F
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
+/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
+BEGIN
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
+# at #
+#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
+### INSERT INTO `test3`.`t3`
+### SET
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test3`.`t3`
+### SET
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test3`.`t3`
+### SET
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-10
+/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
+BEGIN
+/*!*/;
+# at #
+#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 #
+# at #
+# at #
+#010909 4:46:40 server id # end_log_pos # Delete_rows: table id #
+#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
+### DELETE FROM `test1`.`t1`
+### WHERE
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test1`.`t1`
+### WHERE
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test1`.`t1`
+### WHERE
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-11
+/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
+BEGIN
+/*!*/;
+# at #
+#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 # Write_rows: table id # flags: STMT_END_F
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### INSERT INTO `test2`.`t2`
+### SET
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # GTID 0-1-12
+/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
+BEGIN
+/*!*/;
+# at #
+#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
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=3 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=2 /* INT meta=0 nullable=1 is_null=0 */
+### DELETE FROM `test2`.`t2`
+### WHERE
+### @1=1 /* INT meta=0 nullable=1 is_null=0 */
+# at #
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+COMMIT
+/*!*/;
+# at #
+#010909 4:46:40 server id # end_log_pos # Rotate to master-bin.000002 pos: 4
+DELIMITER ;
+# End of log file
+ROLLBACK /* added by mysqlbinlog */;
+/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
diff --git a/mysql-test/suite/binlog_encryption/binlog_row_annotate.test b/mysql-test/suite/binlog_encryption/binlog_row_annotate.test
new file mode 100644
index 00000000000..40aa0dbc6e3
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_row_annotate.test
@@ -0,0 +1,2 @@
+--let $use_remote_mysqlbinlog= 1
+--source extra/binlog_tests/binlog_row_annotate.inc
diff --git a/mysql-test/suite/binlog_encryption/binlog_write_error.result b/mysql-test/suite/binlog_encryption/binlog_write_error.result
new file mode 100644
index 00000000000..28cffb3a8e5
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_write_error.result
@@ -0,0 +1,108 @@
+#
+# Initialization
+#
+DROP TABLE IF EXISTS t1, t2;
+DROP FUNCTION IF EXISTS f1;
+DROP FUNCTION IF EXISTS f2;
+DROP PROCEDURE IF EXISTS p1;
+DROP PROCEDURE IF EXISTS p2;
+DROP TRIGGER IF EXISTS tr1;
+DROP TRIGGER IF EXISTS tr2;
+DROP VIEW IF EXISTS v1, v2;
+#
+# Test injecting binlog write error when executing queries
+#
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+CREATE TABLE t1 (a INT);
+CREATE TABLE t1 (a INT);
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+INSERT INTO t1 VALUES (1),(2),(3);
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+INSERT INTO t1 VALUES (4),(5),(6);
+INSERT INTO t1 VALUES (4),(5),(6);
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+UPDATE t1 set a=a+1;
+UPDATE t1 set a=a+1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+DELETE FROM t1;
+DELETE FROM t1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t1 VALUES (new.a + 100);
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t1 VALUES (new.a + 100);
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+DROP TRIGGER tr1;
+DROP TRIGGER tr1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+ALTER TABLE t1 ADD (b INT);
+ALTER TABLE t1 ADD (b INT);
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+CREATE VIEW v1 AS SELECT a FROM t1;
+CREATE VIEW v1 AS SELECT a FROM t1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+DROP VIEW v1;
+DROP VIEW v1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+CREATE PROCEDURE p1(OUT rows INT) SELECT count(*) INTO rows FROM t1;
+CREATE PROCEDURE p1(OUT rows INT) SELECT count(*) INTO rows FROM t1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+DROP PROCEDURE p1;
+DROP PROCEDURE p1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+DROP TABLE t1;
+DROP TABLE t1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+CREATE FUNCTION f1() RETURNS INT return 1;
+CREATE FUNCTION f1() RETURNS INT return 1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+DROP FUNCTION f1;
+DROP FUNCTION f1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+CREATE USER user1;
+CREATE USER user1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user1;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+SET GLOBAL debug_dbug='d,injecting_fault_writing';
+DROP USER user1;
+DROP USER user1;
+ERROR HY000: Error writing file 'master-bin' ((errno: #)
+SET GLOBAL debug_dbug='';
+#
+# Cleanup
+#
+DROP TABLE IF EXISTS t1, t2;
+DROP FUNCTION IF EXISTS f1;
+DROP PROCEDURE IF EXISTS p1;
+DROP TRIGGER IF EXISTS tr1;
+DROP VIEW IF EXISTS v1, v2;
diff --git a/mysql-test/suite/binlog_encryption/binlog_write_error.test b/mysql-test/suite/binlog_encryption/binlog_write_error.test
new file mode 100644
index 00000000000..05f8eff6c3a
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_write_error.test
@@ -0,0 +1 @@
+--source extra/binlog_tests/binlog_write_error.inc
diff --git a/mysql-test/suite/binlog_encryption/binlog_xa_recover-master.opt b/mysql-test/suite/binlog_encryption/binlog_xa_recover-master.opt
new file mode 100644
index 00000000000..3c44f9fad10
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_xa_recover-master.opt
@@ -0,0 +1 @@
+--skip-stack-trace --skip-core-file --loose-debug-dbug=+d,xa_recover_expect_master_bin_000004
diff --git a/mysql-test/suite/binlog_encryption/binlog_xa_recover.result b/mysql-test/suite/binlog_encryption/binlog_xa_recover.result
new file mode 100644
index 00000000000..b78fd47dae6
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_xa_recover.result
@@ -0,0 +1,216 @@
+SET GLOBAL max_binlog_size= 4096;
+SET GLOBAL innodb_flush_log_at_trx_commit= 1;
+RESET MASTER;
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+INSERT INTO t1 VALUES (100, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (101, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (102, REPEAT("x", 4100));
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con1_wait WAIT_FOR con1_cont";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con1_ready WAIT_FOR _ever";
+INSERT INTO t1 VALUES (1, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con1_wait";
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con2_wait WAIT_FOR con2_cont";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con2_ready WAIT_FOR _ever";
+INSERT INTO t1 VALUES (2, NULL);
+SET DEBUG_SYNC= "now WAIT_FOR con2_wait";
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con3_wait WAIT_FOR con3_cont";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con3_ready WAIT_FOR _ever";
+INSERT INTO t1 VALUES (3, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con3_wait";
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con4_wait WAIT_FOR con4_cont";
+SET SESSION debug_dbug="+d,crash_commit_after_log";
+INSERT INTO t1 VALUES (4, NULL);
+SET DEBUG_SYNC= "now WAIT_FOR con4_wait";
+SET DEBUG_SYNC= "now SIGNAL con1_cont";
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+SET DEBUG_SYNC= "now SIGNAL con2_cont";
+SET DEBUG_SYNC= "now WAIT_FOR con2_ready";
+SET DEBUG_SYNC= "now SIGNAL con3_cont";
+SET DEBUG_SYNC= "now WAIT_FOR con3_ready";
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+master-bin.000005 #
+master-bin.000006 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000003 # Start_encryption # #
+master-bin.000003 # Gtid_list # # [#-#-#]
+master-bin.000003 # Binlog_checkpoint # # master-bin.000002
+master-bin.000003 # Binlog_checkpoint # # master-bin.000003
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Table_map # # table_id: # (test.t1)
+master-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000003 # Xid # # COMMIT /* XID */
+master-bin.000003 # Rotate # # master-bin.000004;pos=POS
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000004 # Start_encryption # #
+master-bin.000004 # Gtid_list # # [#-#-#]
+master-bin.000004 # Binlog_checkpoint # # master-bin.000003
+master-bin.000004 # Binlog_checkpoint # # master-bin.000004
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Table_map # # table_id: # (test.t1)
+master-bin.000004 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000004 # Xid # # COMMIT /* XID */
+master-bin.000004 # Rotate # # master-bin.000005;pos=POS
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000005 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000005 # Start_encryption # #
+master-bin.000005 # Gtid_list # # [#-#-#]
+master-bin.000005 # Binlog_checkpoint # # master-bin.000004
+master-bin.000005 # Gtid # # BEGIN GTID #-#-#
+master-bin.000005 # Table_map # # table_id: # (test.t1)
+master-bin.000005 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000005 # Xid # # COMMIT /* XID */
+master-bin.000005 # Gtid # # BEGIN GTID #-#-#
+master-bin.000005 # Table_map # # table_id: # (test.t1)
+master-bin.000005 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000005 # Xid # # COMMIT /* XID */
+master-bin.000005 # Rotate # # master-bin.000006;pos=POS
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000006 # Start_encryption # #
+master-bin.000006 # Gtid_list # # [#-#-#]
+master-bin.000006 # Binlog_checkpoint # # master-bin.000004
+PURGE BINARY LOGS TO "master-bin.000006";
+show binary logs;
+Log_name File_size
+master-bin.000004 #
+master-bin.000005 #
+master-bin.000006 #
+SET DEBUG_SYNC= "now SIGNAL con4_cont";
+Got one of the listed errors
+SELECT a FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+100
+101
+102
+Test that with multiple binlog checkpoints, recovery starts from the last one.
+SET GLOBAL max_binlog_size= 4096;
+SET GLOBAL innodb_flush_log_at_trx_commit= 1;
+RESET MASTER;
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con10_ready WAIT_FOR con10_cont";
+INSERT INTO t1 VALUES (10, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con10_ready";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con11_ready WAIT_FOR con11_cont";
+INSERT INTO t1 VALUES (11, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con11_ready";
+SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con12_ready WAIT_FOR con12_cont";
+INSERT INTO t1 VALUES (12, REPEAT("x", 4100));
+SET DEBUG_SYNC= "now WAIT_FOR con12_ready";
+INSERT INTO t1 VALUES (13, NULL);
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000004 # Start_encryption # #
+master-bin.000004 # Gtid_list # # [#-#-#]
+master-bin.000004 # Binlog_checkpoint # # master-bin.000001
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Table_map # # table_id: # (test.t1)
+master-bin.000004 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000004 # Xid # # COMMIT /* XID */
+SET DEBUG_SYNC= "now SIGNAL con10_cont";
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,binlog_background_checkpoint_processed";
+SET DEBUG_SYNC= "now SIGNAL con12_cont";
+SET DEBUG_SYNC= "now WAIT_FOR binlog_background_checkpoint_processed";
+SET GLOBAL debug_dbug= @old_dbug;
+SET DEBUG_SYNC= "now SIGNAL con11_cont";
+Checking that master-bin.000004 is the last binlog checkpoint
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000004 # Start_encryption # #
+master-bin.000004 # Gtid_list # # [#-#-#]
+master-bin.000004 # Binlog_checkpoint # # master-bin.000001
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Table_map # # table_id: # (test.t1)
+master-bin.000004 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000004 # Xid # # COMMIT /* XID */
+master-bin.000004 # Binlog_checkpoint # # master-bin.000002
+master-bin.000004 # Binlog_checkpoint # # master-bin.000004
+Now crash the server
+SET SESSION debug_dbug="+d,crash_commit_after_log";
+INSERT INTO t1 VALUES (14, NULL);
+Got one of the listed errors
+SELECT a FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+10
+11
+12
+13
+14
+100
+101
+102
+*** Check that recovery works if we crashed early during rotate, before
+*** binlog checkpoint event could be written.
+SET GLOBAL max_binlog_size= 4096;
+SET GLOBAL innodb_flush_log_at_trx_commit= 1;
+RESET MASTER;
+INSERT INTO t1 VALUES (21, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (22, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (23, REPEAT("x", 4100));
+SET SESSION debug_dbug="+d,crash_before_write_checkpoint_event";
+INSERT INTO t1 VALUES (24, REPEAT("x", 4100));
+Got one of the listed errors
+SELECT a FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+10
+11
+12
+13
+14
+21
+22
+23
+24
+100
+101
+102
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+master-bin.000005 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000004 # Start_encryption # #
+master-bin.000004 # Gtid_list # # [#-#-#]
+master-bin.000004 # Binlog_checkpoint # # master-bin.000003
+master-bin.000004 # Binlog_checkpoint # # master-bin.000004
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Table_map # # table_id: # (test.t1)
+master-bin.000004 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000004 # Xid # # COMMIT /* XID */
+master-bin.000004 # Rotate # # master-bin.000005;pos=POS
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog_encryption/binlog_xa_recover.test b/mysql-test/suite/binlog_encryption/binlog_xa_recover.test
new file mode 100644
index 00000000000..0e0b80433ff
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/binlog_xa_recover.test
@@ -0,0 +1 @@
+--source extra/binlog_tests/binlog_xa_recover.inc
diff --git a/mysql-test/suite/binlog_encryption/disabled.def b/mysql-test/suite/binlog_encryption/disabled.def
new file mode 100644
index 00000000000..b7a26a8343f
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/disabled.def
@@ -0,0 +1,2 @@
+encrypted_master_lost_key : MDEV-11323 - unspecified behavior for IO thread
+rpl_checksum_cache : MDEV-11486 - sporadic failure in IO thread
diff --git a/mysql-test/suite/binlog_encryption/encrypted_master.result b/mysql-test/suite/binlog_encryption/encrypted_master.result
new file mode 100644
index 00000000000..a61b56cf355
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_master.result
@@ -0,0 +1,622 @@
+#################
+# Initialization
+#################
+include/rpl_init.inc [topology=1->2]
+connection server_2;
+include/stop_slave_sql.inc
+connection server_1;
+SET @binlog_annotate_row_events.save= @@global.binlog_annotate_row_events;
+SET @binlog_checksum.save= @@global.binlog_checksum;
+SET @master_verify_checksum.save= @@global.master_verify_checksum;
+SET @binlog_row_image.save= @@global.binlog_row_image;
+####################################################
+# Test 1: simple binlog, no checksum, no annotation
+####################################################
+connection server_1;
+SET binlog_annotate_row_events= 0;
+SET GLOBAL binlog_annotate_row_events= 0;
+SET GLOBAL binlog_checksum= NONE;
+SET GLOBAL master_verify_checksum= 0;
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+CREATE DATABASE database_name_to_encrypt;
+USE database_name_to_encrypt;
+CREATE USER user_name_to_encrypt;
+GRANT ALL ON database_name_to_encrypt.* TO user_name_to_encrypt;
+SET PASSWORD FOR user_name_to_encrypt = PASSWORD('password_to_encrypt');
+CREATE TABLE innodb_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB,
+virt_column_name_to_encrypt INT AS (int_column_name_to_encrypt % 10) VIRTUAL,
+pers_column_name_to_encrypt INT AS (int_column_name_to_encrypt) PERSISTENT,
+INDEX `index_name_to_encrypt`(`timestamp_column_name_to_encrypt`)
+) ENGINE=InnoDB
+PARTITION BY RANGE (int_column_name_to_encrypt)
+SUBPARTITION BY KEY (int_column_name_to_encrypt)
+SUBPARTITIONS 2 (
+PARTITION partition0_name_to_encrypt VALUES LESS THAN (100),
+PARTITION partition1_name_to_encrypt VALUES LESS THAN (MAXVALUE)
+)
+;
+CREATE TABLE myisam_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+char_column_name_to_encrypt VARCHAR(255),
+datetime_column_name_to_encrypt DATETIME,
+text_column_name_to_encrypt TEXT
+) ENGINE=MyISAM;
+CREATE TABLE aria_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+varchar_column_name_to_encrypt VARCHAR(1024),
+enum_column_name_to_encrypt ENUM(
+'enum_value1_to_encrypt',
+'enum_value2_to_encrypt'
+ ),
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB
+) ENGINE=Aria;
+CREATE TRIGGER trigger_name_to_encrypt
+AFTER INSERT ON myisam_table_name_to_encrypt FOR EACH ROW
+INSERT INTO aria_table_name_to_encrypt (varchar_column_name_to_encrypt)
+VALUES (NEW.char_column_name_to_encrypt);
+CREATE DEFINER=user_name_to_encrypt VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+CREATE FUNCTION func_name_to_encrypt (func_parameter_to_encrypt INT)
+RETURNS VARCHAR(64)
+RETURN 'func_result_to_encrypt';
+CREATE PROCEDURE proc_name_to_encrypt (
+IN proc_in_parameter_to_encrypt CHAR(32),
+OUT proc_out_parameter_to_encrypt INT
+)
+BEGIN
+DECLARE procvar_name_to_encrypt CHAR(64) DEFAULT 'procvar_val_to_encrypt';
+DECLARE cursor_name_to_encrypt CURSOR FOR
+SELECT virt_column_name_to_encrypt FROM innodb_table_name_to_encrypt;
+DECLARE EXIT HANDLER FOR NOT FOUND
+BEGIN
+SET @stmt_var_to_encrypt = CONCAT(
+"SELECT
+ IF (RAND()>0.5,'enum_value2_to_encrypt','enum_value1_to_encrypt')
+ FROM innodb_table_name_to_encrypt
+ INTO OUTFILE '", proc_in_parameter_to_encrypt, "'");
+PREPARE stmt_to_encrypt FROM @stmt_var_to_encrypt;
+EXECUTE stmt_to_encrypt;
+DEALLOCATE PREPARE stmt_to_encrypt;
+END;
+OPEN cursor_name_to_encrypt;
+proc_label_to_encrypt: LOOP
+FETCH cursor_name_to_encrypt INTO procvar_name_to_encrypt;
+END LOOP;
+CLOSE cursor_name_to_encrypt;
+END $$
+CREATE SERVER server_name_to_encrypt
+FOREIGN DATA WRAPPER mysql
+OPTIONS (HOST 'host_name_to_encrypt');
+connect con1,localhost,user_name_to_encrypt,password_to_encrypt,database_name_to_encrypt;
+CREATE TEMPORARY TABLE tmp_table_name_to_encrypt (
+float_column_name_to_encrypt FLOAT,
+binary_column_name_to_encrypt BINARY(64)
+);
+disconnect con1;
+connection server_1;
+CREATE INDEX index_name_to_encrypt
+ON myisam_table_name_to_encrypt (datetime_column_name_to_encrypt);
+ALTER DATABASE database_name_to_encrypt CHARACTER SET utf8;
+ALTER TABLE innodb_table_name_to_encrypt
+MODIFY timestamp_column_name_to_encrypt TIMESTAMP NOT NULL
+DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+;
+ALTER ALGORITHM=MERGE VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+RENAME TABLE innodb_table_name_to_encrypt TO new_table_name_to_encrypt;
+ALTER TABLE new_table_name_to_encrypt RENAME TO innodb_table_name_to_encrypt;
+set @user_var1_to_encrypt= 'dyncol1_val_to_encrypt';
+set @user_var2_to_encrypt= 'dyncol2_name_to_encrypt';
+INSERT INTO view_name_to_encrypt VALUES
+(1, NOW(6), COLUMN_CREATE('dyncol1_name_to_encrypt',@user_var1_to_encrypt), NULL, NULL),
+(2, NOW(6), COLUMN_CREATE(@user_var2_to_encrypt,'dyncol2_val_to_encrypt'), NULL, NULL)
+;
+BEGIN NOT ATOMIC
+DECLARE counter_name_to_encrypt INT DEFAULT 0;
+START TRANSACTION;
+WHILE counter_name_to_encrypt<12 DO
+INSERT INTO innodb_table_name_to_encrypt
+SELECT NULL, NOW(6), blob_column_name_to_encrypt, NULL, NULL
+FROM innodb_table_name_to_encrypt
+ORDER BY int_column_name_to_encrypt;
+SET counter_name_to_encrypt = counter_name_to_encrypt+1;
+END WHILE;
+COMMIT;
+END
+$$
+INSERT INTO myisam_table_name_to_encrypt
+SELECT NULL, 'char_literal_to_encrypt', NULL, 'text_to_encrypt';
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+CALL proc_name_to_encrypt('file_name_to_encrypt',@useless_var_to_encrypt);
+TRUNCATE TABLE aria_table_name_to_encrypt;
+LOAD DATA INFILE 'file_name_to_encrypt' INTO TABLE aria_table_name_to_encrypt
+(enum_column_name_to_encrypt);
+LOAD DATA LOCAL INFILE '<DATADIR>/database_name_to_encrypt/file_name_to_encrypt'
+INTO TABLE aria_table_name_to_encrypt (enum_column_name_to_encrypt);
+UPDATE view_name_to_encrypt SET blob_column_name_to_encrypt =
+COLUMN_CREATE('dyncol1_name_to_encrypt',func_name_to_encrypt(0))
+;
+DELETE FROM aria_table_name_to_encrypt ORDER BY int_column_name_to_encrypt LIMIT 10;
+ANALYZE TABLE myisam_table_name_to_encrypt;
+CHECK TABLE aria_table_name_to_encrypt;
+CHECKSUM TABLE innodb_table_name_to_encrypt, myisam_table_name_to_encrypt;
+RENAME USER user_name_to_encrypt to new_user_name_to_encrypt;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM new_user_name_to_encrypt;
+DROP DATABASE database_name_to_encrypt;
+DROP USER new_user_name_to_encrypt;
+DROP SERVER server_name_to_encrypt;
+####################################################
+# Test 2: binlog with checksum, no annotated events
+####################################################
+connection server_1;
+SET binlog_annotate_row_events= 0;
+SET GLOBAL binlog_annotate_row_events= 0;
+SET GLOBAL binlog_checksum= CRC32;
+SET GLOBAL master_verify_checksum= 1;
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+CREATE DATABASE database_name_to_encrypt;
+USE database_name_to_encrypt;
+CREATE USER user_name_to_encrypt;
+GRANT ALL ON database_name_to_encrypt.* TO user_name_to_encrypt;
+SET PASSWORD FOR user_name_to_encrypt = PASSWORD('password_to_encrypt');
+CREATE TABLE innodb_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB,
+virt_column_name_to_encrypt INT AS (int_column_name_to_encrypt % 10) VIRTUAL,
+pers_column_name_to_encrypt INT AS (int_column_name_to_encrypt) PERSISTENT,
+INDEX `index_name_to_encrypt`(`timestamp_column_name_to_encrypt`)
+) ENGINE=InnoDB
+PARTITION BY RANGE (int_column_name_to_encrypt)
+SUBPARTITION BY KEY (int_column_name_to_encrypt)
+SUBPARTITIONS 2 (
+PARTITION partition0_name_to_encrypt VALUES LESS THAN (100),
+PARTITION partition1_name_to_encrypt VALUES LESS THAN (MAXVALUE)
+)
+;
+CREATE TABLE myisam_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+char_column_name_to_encrypt VARCHAR(255),
+datetime_column_name_to_encrypt DATETIME,
+text_column_name_to_encrypt TEXT
+) ENGINE=MyISAM;
+CREATE TABLE aria_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+varchar_column_name_to_encrypt VARCHAR(1024),
+enum_column_name_to_encrypt ENUM(
+'enum_value1_to_encrypt',
+'enum_value2_to_encrypt'
+ ),
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB
+) ENGINE=Aria;
+CREATE TRIGGER trigger_name_to_encrypt
+AFTER INSERT ON myisam_table_name_to_encrypt FOR EACH ROW
+INSERT INTO aria_table_name_to_encrypt (varchar_column_name_to_encrypt)
+VALUES (NEW.char_column_name_to_encrypt);
+CREATE DEFINER=user_name_to_encrypt VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+CREATE FUNCTION func_name_to_encrypt (func_parameter_to_encrypt INT)
+RETURNS VARCHAR(64)
+RETURN 'func_result_to_encrypt';
+CREATE PROCEDURE proc_name_to_encrypt (
+IN proc_in_parameter_to_encrypt CHAR(32),
+OUT proc_out_parameter_to_encrypt INT
+)
+BEGIN
+DECLARE procvar_name_to_encrypt CHAR(64) DEFAULT 'procvar_val_to_encrypt';
+DECLARE cursor_name_to_encrypt CURSOR FOR
+SELECT virt_column_name_to_encrypt FROM innodb_table_name_to_encrypt;
+DECLARE EXIT HANDLER FOR NOT FOUND
+BEGIN
+SET @stmt_var_to_encrypt = CONCAT(
+"SELECT
+ IF (RAND()>0.5,'enum_value2_to_encrypt','enum_value1_to_encrypt')
+ FROM innodb_table_name_to_encrypt
+ INTO OUTFILE '", proc_in_parameter_to_encrypt, "'");
+PREPARE stmt_to_encrypt FROM @stmt_var_to_encrypt;
+EXECUTE stmt_to_encrypt;
+DEALLOCATE PREPARE stmt_to_encrypt;
+END;
+OPEN cursor_name_to_encrypt;
+proc_label_to_encrypt: LOOP
+FETCH cursor_name_to_encrypt INTO procvar_name_to_encrypt;
+END LOOP;
+CLOSE cursor_name_to_encrypt;
+END $$
+CREATE SERVER server_name_to_encrypt
+FOREIGN DATA WRAPPER mysql
+OPTIONS (HOST 'host_name_to_encrypt');
+connect con1,localhost,user_name_to_encrypt,password_to_encrypt,database_name_to_encrypt;
+CREATE TEMPORARY TABLE tmp_table_name_to_encrypt (
+float_column_name_to_encrypt FLOAT,
+binary_column_name_to_encrypt BINARY(64)
+);
+disconnect con1;
+connection server_1;
+CREATE INDEX index_name_to_encrypt
+ON myisam_table_name_to_encrypt (datetime_column_name_to_encrypt);
+ALTER DATABASE database_name_to_encrypt CHARACTER SET utf8;
+ALTER TABLE innodb_table_name_to_encrypt
+MODIFY timestamp_column_name_to_encrypt TIMESTAMP NOT NULL
+DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+;
+ALTER ALGORITHM=MERGE VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+RENAME TABLE innodb_table_name_to_encrypt TO new_table_name_to_encrypt;
+ALTER TABLE new_table_name_to_encrypt RENAME TO innodb_table_name_to_encrypt;
+set @user_var1_to_encrypt= 'dyncol1_val_to_encrypt';
+set @user_var2_to_encrypt= 'dyncol2_name_to_encrypt';
+INSERT INTO view_name_to_encrypt VALUES
+(1, NOW(6), COLUMN_CREATE('dyncol1_name_to_encrypt',@user_var1_to_encrypt), NULL, NULL),
+(2, NOW(6), COLUMN_CREATE(@user_var2_to_encrypt,'dyncol2_val_to_encrypt'), NULL, NULL)
+;
+BEGIN NOT ATOMIC
+DECLARE counter_name_to_encrypt INT DEFAULT 0;
+START TRANSACTION;
+WHILE counter_name_to_encrypt<12 DO
+INSERT INTO innodb_table_name_to_encrypt
+SELECT NULL, NOW(6), blob_column_name_to_encrypt, NULL, NULL
+FROM innodb_table_name_to_encrypt
+ORDER BY int_column_name_to_encrypt;
+SET counter_name_to_encrypt = counter_name_to_encrypt+1;
+END WHILE;
+COMMIT;
+END
+$$
+INSERT INTO myisam_table_name_to_encrypt
+SELECT NULL, 'char_literal_to_encrypt', NULL, 'text_to_encrypt';
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+CALL proc_name_to_encrypt('file_name_to_encrypt',@useless_var_to_encrypt);
+TRUNCATE TABLE aria_table_name_to_encrypt;
+LOAD DATA INFILE 'file_name_to_encrypt' INTO TABLE aria_table_name_to_encrypt
+(enum_column_name_to_encrypt);
+LOAD DATA LOCAL INFILE '<DATADIR>/database_name_to_encrypt/file_name_to_encrypt'
+INTO TABLE aria_table_name_to_encrypt (enum_column_name_to_encrypt);
+UPDATE view_name_to_encrypt SET blob_column_name_to_encrypt =
+COLUMN_CREATE('dyncol1_name_to_encrypt',func_name_to_encrypt(0))
+;
+DELETE FROM aria_table_name_to_encrypt ORDER BY int_column_name_to_encrypt LIMIT 10;
+ANALYZE TABLE myisam_table_name_to_encrypt;
+CHECK TABLE aria_table_name_to_encrypt;
+CHECKSUM TABLE innodb_table_name_to_encrypt, myisam_table_name_to_encrypt;
+RENAME USER user_name_to_encrypt to new_user_name_to_encrypt;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM new_user_name_to_encrypt;
+DROP DATABASE database_name_to_encrypt;
+DROP USER new_user_name_to_encrypt;
+DROP SERVER server_name_to_encrypt;
+####################################################
+# Test 3: binlog with checksum and annotated events
+####################################################
+connection server_1;
+SET binlog_annotate_row_events= 1;
+SET GLOBAL binlog_annotate_row_events= 1;
+SET GLOBAL binlog_checksum= CRC32;
+SET GLOBAL master_verify_checksum= 1;
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+CREATE DATABASE database_name_to_encrypt;
+USE database_name_to_encrypt;
+CREATE USER user_name_to_encrypt;
+GRANT ALL ON database_name_to_encrypt.* TO user_name_to_encrypt;
+SET PASSWORD FOR user_name_to_encrypt = PASSWORD('password_to_encrypt');
+CREATE TABLE innodb_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB,
+virt_column_name_to_encrypt INT AS (int_column_name_to_encrypt % 10) VIRTUAL,
+pers_column_name_to_encrypt INT AS (int_column_name_to_encrypt) PERSISTENT,
+INDEX `index_name_to_encrypt`(`timestamp_column_name_to_encrypt`)
+) ENGINE=InnoDB
+PARTITION BY RANGE (int_column_name_to_encrypt)
+SUBPARTITION BY KEY (int_column_name_to_encrypt)
+SUBPARTITIONS 2 (
+PARTITION partition0_name_to_encrypt VALUES LESS THAN (100),
+PARTITION partition1_name_to_encrypt VALUES LESS THAN (MAXVALUE)
+)
+;
+CREATE TABLE myisam_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+char_column_name_to_encrypt VARCHAR(255),
+datetime_column_name_to_encrypt DATETIME,
+text_column_name_to_encrypt TEXT
+) ENGINE=MyISAM;
+CREATE TABLE aria_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+varchar_column_name_to_encrypt VARCHAR(1024),
+enum_column_name_to_encrypt ENUM(
+'enum_value1_to_encrypt',
+'enum_value2_to_encrypt'
+ ),
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB
+) ENGINE=Aria;
+CREATE TRIGGER trigger_name_to_encrypt
+AFTER INSERT ON myisam_table_name_to_encrypt FOR EACH ROW
+INSERT INTO aria_table_name_to_encrypt (varchar_column_name_to_encrypt)
+VALUES (NEW.char_column_name_to_encrypt);
+CREATE DEFINER=user_name_to_encrypt VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+CREATE FUNCTION func_name_to_encrypt (func_parameter_to_encrypt INT)
+RETURNS VARCHAR(64)
+RETURN 'func_result_to_encrypt';
+CREATE PROCEDURE proc_name_to_encrypt (
+IN proc_in_parameter_to_encrypt CHAR(32),
+OUT proc_out_parameter_to_encrypt INT
+)
+BEGIN
+DECLARE procvar_name_to_encrypt CHAR(64) DEFAULT 'procvar_val_to_encrypt';
+DECLARE cursor_name_to_encrypt CURSOR FOR
+SELECT virt_column_name_to_encrypt FROM innodb_table_name_to_encrypt;
+DECLARE EXIT HANDLER FOR NOT FOUND
+BEGIN
+SET @stmt_var_to_encrypt = CONCAT(
+"SELECT
+ IF (RAND()>0.5,'enum_value2_to_encrypt','enum_value1_to_encrypt')
+ FROM innodb_table_name_to_encrypt
+ INTO OUTFILE '", proc_in_parameter_to_encrypt, "'");
+PREPARE stmt_to_encrypt FROM @stmt_var_to_encrypt;
+EXECUTE stmt_to_encrypt;
+DEALLOCATE PREPARE stmt_to_encrypt;
+END;
+OPEN cursor_name_to_encrypt;
+proc_label_to_encrypt: LOOP
+FETCH cursor_name_to_encrypt INTO procvar_name_to_encrypt;
+END LOOP;
+CLOSE cursor_name_to_encrypt;
+END $$
+CREATE SERVER server_name_to_encrypt
+FOREIGN DATA WRAPPER mysql
+OPTIONS (HOST 'host_name_to_encrypt');
+connect con1,localhost,user_name_to_encrypt,password_to_encrypt,database_name_to_encrypt;
+CREATE TEMPORARY TABLE tmp_table_name_to_encrypt (
+float_column_name_to_encrypt FLOAT,
+binary_column_name_to_encrypt BINARY(64)
+);
+disconnect con1;
+connection server_1;
+CREATE INDEX index_name_to_encrypt
+ON myisam_table_name_to_encrypt (datetime_column_name_to_encrypt);
+ALTER DATABASE database_name_to_encrypt CHARACTER SET utf8;
+ALTER TABLE innodb_table_name_to_encrypt
+MODIFY timestamp_column_name_to_encrypt TIMESTAMP NOT NULL
+DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+;
+ALTER ALGORITHM=MERGE VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+RENAME TABLE innodb_table_name_to_encrypt TO new_table_name_to_encrypt;
+ALTER TABLE new_table_name_to_encrypt RENAME TO innodb_table_name_to_encrypt;
+set @user_var1_to_encrypt= 'dyncol1_val_to_encrypt';
+set @user_var2_to_encrypt= 'dyncol2_name_to_encrypt';
+INSERT INTO view_name_to_encrypt VALUES
+(1, NOW(6), COLUMN_CREATE('dyncol1_name_to_encrypt',@user_var1_to_encrypt), NULL, NULL),
+(2, NOW(6), COLUMN_CREATE(@user_var2_to_encrypt,'dyncol2_val_to_encrypt'), NULL, NULL)
+;
+BEGIN NOT ATOMIC
+DECLARE counter_name_to_encrypt INT DEFAULT 0;
+START TRANSACTION;
+WHILE counter_name_to_encrypt<12 DO
+INSERT INTO innodb_table_name_to_encrypt
+SELECT NULL, NOW(6), blob_column_name_to_encrypt, NULL, NULL
+FROM innodb_table_name_to_encrypt
+ORDER BY int_column_name_to_encrypt;
+SET counter_name_to_encrypt = counter_name_to_encrypt+1;
+END WHILE;
+COMMIT;
+END
+$$
+INSERT INTO myisam_table_name_to_encrypt
+SELECT NULL, 'char_literal_to_encrypt', NULL, 'text_to_encrypt';
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+CALL proc_name_to_encrypt('file_name_to_encrypt',@useless_var_to_encrypt);
+TRUNCATE TABLE aria_table_name_to_encrypt;
+LOAD DATA INFILE 'file_name_to_encrypt' INTO TABLE aria_table_name_to_encrypt
+(enum_column_name_to_encrypt);
+LOAD DATA LOCAL INFILE '<DATADIR>/database_name_to_encrypt/file_name_to_encrypt'
+INTO TABLE aria_table_name_to_encrypt (enum_column_name_to_encrypt);
+UPDATE view_name_to_encrypt SET blob_column_name_to_encrypt =
+COLUMN_CREATE('dyncol1_name_to_encrypt',func_name_to_encrypt(0))
+;
+DELETE FROM aria_table_name_to_encrypt ORDER BY int_column_name_to_encrypt LIMIT 10;
+ANALYZE TABLE myisam_table_name_to_encrypt;
+CHECK TABLE aria_table_name_to_encrypt;
+CHECKSUM TABLE innodb_table_name_to_encrypt, myisam_table_name_to_encrypt;
+RENAME USER user_name_to_encrypt to new_user_name_to_encrypt;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM new_user_name_to_encrypt;
+DROP DATABASE database_name_to_encrypt;
+DROP USER new_user_name_to_encrypt;
+DROP SERVER server_name_to_encrypt;
+####################################################
+# Test 4: binlog with annotated events and binlog_row_image=minimal
+####################################################
+connection server_1;
+SET binlog_annotate_row_events= 1;
+SET GLOBAL binlog_annotate_row_events= 1;
+SET GLOBAL binlog_checksum= NONE;
+SET GLOBAL master_verify_checksum= 0;
+SET GLOBAL binlog_row_image= MINIMAL;
+SET binlog_row_image= MINIMAL;
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+CREATE DATABASE database_name_to_encrypt;
+USE database_name_to_encrypt;
+CREATE USER user_name_to_encrypt;
+GRANT ALL ON database_name_to_encrypt.* TO user_name_to_encrypt;
+SET PASSWORD FOR user_name_to_encrypt = PASSWORD('password_to_encrypt');
+CREATE TABLE innodb_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB,
+virt_column_name_to_encrypt INT AS (int_column_name_to_encrypt % 10) VIRTUAL,
+pers_column_name_to_encrypt INT AS (int_column_name_to_encrypt) PERSISTENT,
+INDEX `index_name_to_encrypt`(`timestamp_column_name_to_encrypt`)
+) ENGINE=InnoDB
+PARTITION BY RANGE (int_column_name_to_encrypt)
+SUBPARTITION BY KEY (int_column_name_to_encrypt)
+SUBPARTITIONS 2 (
+PARTITION partition0_name_to_encrypt VALUES LESS THAN (100),
+PARTITION partition1_name_to_encrypt VALUES LESS THAN (MAXVALUE)
+)
+;
+CREATE TABLE myisam_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+char_column_name_to_encrypt VARCHAR(255),
+datetime_column_name_to_encrypt DATETIME,
+text_column_name_to_encrypt TEXT
+) ENGINE=MyISAM;
+CREATE TABLE aria_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+varchar_column_name_to_encrypt VARCHAR(1024),
+enum_column_name_to_encrypt ENUM(
+'enum_value1_to_encrypt',
+'enum_value2_to_encrypt'
+ ),
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB
+) ENGINE=Aria;
+CREATE TRIGGER trigger_name_to_encrypt
+AFTER INSERT ON myisam_table_name_to_encrypt FOR EACH ROW
+INSERT INTO aria_table_name_to_encrypt (varchar_column_name_to_encrypt)
+VALUES (NEW.char_column_name_to_encrypt);
+CREATE DEFINER=user_name_to_encrypt VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+CREATE FUNCTION func_name_to_encrypt (func_parameter_to_encrypt INT)
+RETURNS VARCHAR(64)
+RETURN 'func_result_to_encrypt';
+CREATE PROCEDURE proc_name_to_encrypt (
+IN proc_in_parameter_to_encrypt CHAR(32),
+OUT proc_out_parameter_to_encrypt INT
+)
+BEGIN
+DECLARE procvar_name_to_encrypt CHAR(64) DEFAULT 'procvar_val_to_encrypt';
+DECLARE cursor_name_to_encrypt CURSOR FOR
+SELECT virt_column_name_to_encrypt FROM innodb_table_name_to_encrypt;
+DECLARE EXIT HANDLER FOR NOT FOUND
+BEGIN
+SET @stmt_var_to_encrypt = CONCAT(
+"SELECT
+ IF (RAND()>0.5,'enum_value2_to_encrypt','enum_value1_to_encrypt')
+ FROM innodb_table_name_to_encrypt
+ INTO OUTFILE '", proc_in_parameter_to_encrypt, "'");
+PREPARE stmt_to_encrypt FROM @stmt_var_to_encrypt;
+EXECUTE stmt_to_encrypt;
+DEALLOCATE PREPARE stmt_to_encrypt;
+END;
+OPEN cursor_name_to_encrypt;
+proc_label_to_encrypt: LOOP
+FETCH cursor_name_to_encrypt INTO procvar_name_to_encrypt;
+END LOOP;
+CLOSE cursor_name_to_encrypt;
+END $$
+CREATE SERVER server_name_to_encrypt
+FOREIGN DATA WRAPPER mysql
+OPTIONS (HOST 'host_name_to_encrypt');
+connect con1,localhost,user_name_to_encrypt,password_to_encrypt,database_name_to_encrypt;
+CREATE TEMPORARY TABLE tmp_table_name_to_encrypt (
+float_column_name_to_encrypt FLOAT,
+binary_column_name_to_encrypt BINARY(64)
+);
+disconnect con1;
+connection server_1;
+CREATE INDEX index_name_to_encrypt
+ON myisam_table_name_to_encrypt (datetime_column_name_to_encrypt);
+ALTER DATABASE database_name_to_encrypt CHARACTER SET utf8;
+ALTER TABLE innodb_table_name_to_encrypt
+MODIFY timestamp_column_name_to_encrypt TIMESTAMP NOT NULL
+DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+;
+ALTER ALGORITHM=MERGE VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+RENAME TABLE innodb_table_name_to_encrypt TO new_table_name_to_encrypt;
+ALTER TABLE new_table_name_to_encrypt RENAME TO innodb_table_name_to_encrypt;
+set @user_var1_to_encrypt= 'dyncol1_val_to_encrypt';
+set @user_var2_to_encrypt= 'dyncol2_name_to_encrypt';
+INSERT INTO view_name_to_encrypt VALUES
+(1, NOW(6), COLUMN_CREATE('dyncol1_name_to_encrypt',@user_var1_to_encrypt), NULL, NULL),
+(2, NOW(6), COLUMN_CREATE(@user_var2_to_encrypt,'dyncol2_val_to_encrypt'), NULL, NULL)
+;
+BEGIN NOT ATOMIC
+DECLARE counter_name_to_encrypt INT DEFAULT 0;
+START TRANSACTION;
+WHILE counter_name_to_encrypt<12 DO
+INSERT INTO innodb_table_name_to_encrypt
+SELECT NULL, NOW(6), blob_column_name_to_encrypt, NULL, NULL
+FROM innodb_table_name_to_encrypt
+ORDER BY int_column_name_to_encrypt;
+SET counter_name_to_encrypt = counter_name_to_encrypt+1;
+END WHILE;
+COMMIT;
+END
+$$
+INSERT INTO myisam_table_name_to_encrypt
+SELECT NULL, 'char_literal_to_encrypt', NULL, 'text_to_encrypt';
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+CALL proc_name_to_encrypt('file_name_to_encrypt',@useless_var_to_encrypt);
+TRUNCATE TABLE aria_table_name_to_encrypt;
+LOAD DATA INFILE 'file_name_to_encrypt' INTO TABLE aria_table_name_to_encrypt
+(enum_column_name_to_encrypt);
+LOAD DATA LOCAL INFILE '<DATADIR>/database_name_to_encrypt/file_name_to_encrypt'
+INTO TABLE aria_table_name_to_encrypt (enum_column_name_to_encrypt);
+UPDATE view_name_to_encrypt SET blob_column_name_to_encrypt =
+COLUMN_CREATE('dyncol1_name_to_encrypt',func_name_to_encrypt(0))
+;
+DELETE FROM aria_table_name_to_encrypt ORDER BY int_column_name_to_encrypt LIMIT 10;
+ANALYZE TABLE myisam_table_name_to_encrypt;
+CHECK TABLE aria_table_name_to_encrypt;
+CHECKSUM TABLE innodb_table_name_to_encrypt, myisam_table_name_to_encrypt;
+RENAME USER user_name_to_encrypt to new_user_name_to_encrypt;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM new_user_name_to_encrypt;
+DROP DATABASE database_name_to_encrypt;
+DROP USER new_user_name_to_encrypt;
+DROP SERVER server_name_to_encrypt;
+#############################
+# Final checks for the master
+#############################
+NOT FOUND /_to_encrypt/ in master-bin.0*
+NOT FOUND /COMMIT/ in master-bin.0*
+NOT FOUND /TIMESTAMP/ in master-bin.0*
+include/save_master_pos.inc
+#############################
+# Final checks for the slave
+#############################
+connection server_2;
+include/sync_io_with_master.inc
+FOUND /_to_encrypt/ in slave-relay-bin.0*
+FOUND /COMMIT/ in slave-relay-bin.0*
+FOUND /TIMESTAMP/ in slave-relay-bin.0*
+include/start_slave.inc
+include/sync_slave_sql_with_io.inc
+FOUND /_to_encrypt/ in slave-bin.0*
+FOUND /COMMIT/ in slave-bin.0*
+FOUND /TIMESTAMP/ in slave-bin.0*
+##########
+# Cleanup
+##########
+connection server_1;
+SET GLOBAL binlog_annotate_row_events= @binlog_annotate_row_events.save;
+SET GLOBAL binlog_checksum= @binlog_checksum.save;
+SET GLOBAL master_verify_checksum= @master_verify_checksum.save;
+SET GLOBAL binlog_row_image= @binlog_row_image.save;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/encrypted_master.test b/mysql-test/suite/binlog_encryption/encrypted_master.test
new file mode 100644
index 00000000000..5eb0345342d
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_master.test
@@ -0,0 +1,183 @@
+#
+# The test checks that basic DDL and DML events are encrypted
+# in the binary log on master.
+# The test is to be run with all binlog formats
+# (combinations for rpl_init.inc take care of that).
+#
+#
+# The test runs with the encrypted master and non-encrypted slave.
+# It generates a sequence of events on master, and checks that
+# - all events are encrypted on master;
+# - slave is able to replicate from the master;
+# - relay logs and binary logs are not encrypted on slave.
+#
+# The same exercise is repeated
+# - without annotated binlog events and without binlog checksums;
+# - with binlog checksums;
+# - with annotated events and binlog checksums;
+# - with annotated events, default checksums and minimal binlog row image
+#
+
+--source encryption_algorithms.inc
+--source include/have_innodb.inc
+--enable_connect_log
+
+--echo #################
+--echo # Initialization
+--echo #################
+
+--disable_connect_log
+--let $rpl_topology= 1->2
+--source include/rpl_init.inc
+--enable_connect_log
+
+# We stop SQL thread because we want to have
+# all relay logs at the end of the test flow
+
+--connection server_2
+--disable_connect_log
+--source include/stop_slave_sql.inc
+--enable_connect_log
+
+--connection server_1
+
+SET @binlog_annotate_row_events.save= @@global.binlog_annotate_row_events;
+SET @binlog_checksum.save= @@global.binlog_checksum;
+SET @master_verify_checksum.save= @@global.master_verify_checksum;
+SET @binlog_row_image.save= @@global.binlog_row_image;
+
+--echo ####################################################
+--echo # Test 1: simple binlog, no checksum, no annotation
+--echo ####################################################
+
+--connection server_1
+
+SET binlog_annotate_row_events= 0;
+SET GLOBAL binlog_annotate_row_events= 0;
+SET GLOBAL binlog_checksum= NONE;
+SET GLOBAL master_verify_checksum= 0;
+
+--source testdata.inc
+
+--echo ####################################################
+--echo # Test 2: binlog with checksum, no annotated events
+--echo ####################################################
+
+--connection server_1
+
+SET binlog_annotate_row_events= 0;
+SET GLOBAL binlog_annotate_row_events= 0;
+SET GLOBAL binlog_checksum= CRC32;
+SET GLOBAL master_verify_checksum= 1;
+
+--source testdata.inc
+
+--echo ####################################################
+--echo # Test 3: binlog with checksum and annotated events
+--echo ####################################################
+
+--connection server_1
+
+SET binlog_annotate_row_events= 1;
+SET GLOBAL binlog_annotate_row_events= 1;
+SET GLOBAL binlog_checksum= CRC32;
+SET GLOBAL master_verify_checksum= 1;
+
+--source testdata.inc
+
+--echo ####################################################
+--echo # Test 4: binlog with annotated events and binlog_row_image=minimal
+--echo ####################################################
+
+--connection server_1
+
+SET binlog_annotate_row_events= 1;
+SET GLOBAL binlog_annotate_row_events= 1;
+SET GLOBAL binlog_checksum= NONE;
+SET GLOBAL master_verify_checksum= 0;
+SET GLOBAL binlog_row_image= MINIMAL;
+SET binlog_row_image= MINIMAL;
+
+--source testdata.inc
+
+--echo #############################
+--echo # Final checks for the master
+--echo #############################
+
+--let $master_datadir= `SELECT @@datadir`
+
+--let SEARCH_FILE= $master_datadir/master-bin.0*
+--let SEARCH_PATTERN= _to_encrypt
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $master_datadir/master-bin.0*
+--let SEARCH_PATTERN= COMMIT
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $master_datadir/master-bin.0*
+--let SEARCH_PATTERN= TIMESTAMP
+--source include/search_pattern_in_file.inc
+
+--disable_connect_log
+--source include/save_master_pos.inc
+--enable_connect_log
+
+--echo #############################
+--echo # Final checks for the slave
+--echo #############################
+
+# Wait for the IO thread to write everything to relay logs
+
+--connection server_2
+
+--let $slave_datadir= `SELECT @@datadir`
+
+--disable_connect_log
+--source include/sync_io_with_master.inc
+
+# Check that relay logs are unencrypted
+
+--let SEARCH_FILE= $slave_datadir/slave-relay-bin.0*
+--let SEARCH_PATTERN= _to_encrypt
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $slave_datadir/slave-relay-bin.0*
+--let SEARCH_PATTERN= COMMIT
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $slave_datadir/slave-relay-bin.0*
+--let SEARCH_PATTERN= TIMESTAMP
+--source include/search_pattern_in_file.inc
+
+
+# Re-enable SQL thread, let it catch up with IO thread
+# and check slave binary logs
+
+--source include/start_slave.inc
+--source include/sync_slave_sql_with_io.inc
+--enable_connect_log
+
+--let SEARCH_FILE= $slave_datadir/slave-bin.0*
+--let SEARCH_PATTERN= _to_encrypt
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $slave_datadir/slave-bin.0*
+--let SEARCH_PATTERN= COMMIT
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $slave_datadir/slave-bin.0*
+--let SEARCH_PATTERN= TIMESTAMP
+--source include/search_pattern_in_file.inc
+
+--echo ##########
+--echo # Cleanup
+--echo ##########
+
+--connection server_1
+SET GLOBAL binlog_annotate_row_events= @binlog_annotate_row_events.save;
+SET GLOBAL binlog_checksum= @binlog_checksum.save;
+SET GLOBAL master_verify_checksum= @master_verify_checksum.save;
+SET GLOBAL binlog_row_image= @binlog_row_image.save;
+
+--disable_connect_log
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/encrypted_master_lost_key.result b/mysql-test/suite/binlog_encryption/encrypted_master_lost_key.result
new file mode 100644
index 00000000000..5c934af15e4
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_master_lost_key.result
@@ -0,0 +1,111 @@
+#################
+# Initialization
+#################
+include/rpl_init.inc [topology=1->2]
+connection server_2;
+include/stop_slave.inc
+#####################################################
+# Pre-test 1: Initial key value
+#####################################################
+connection server_1;
+CREATE TABLE table1_to_encrypt (
+pk INT AUTO_INCREMENT PRIMARY KEY,
+ts TIMESTAMP NULL,
+b BLOB
+) ENGINE=MyISAM;
+INSERT INTO table1_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table1_to_encrypt SELECT NULL,NOW(),b FROM table1_to_encrypt;
+SET binlog_format=ROW;
+INSERT INTO table1_to_encrypt SELECT NULL,NOW(),b FROM table1_to_encrypt;
+INSERT INTO table1_to_encrypt SELECT NULL,NOW(),b FROM table1_to_encrypt;
+NOT FOUND /table1_to_encrypt/ in master-bin.0*
+#######################################################
+# Pre-test 2: restart master with a different key value
+#######################################################
+connection default;
+connection server_1;
+CREATE TABLE table2_to_encrypt (
+pk INT AUTO_INCREMENT PRIMARY KEY,
+ts TIMESTAMP NULL,
+b BLOB
+) ENGINE=MyISAM;
+INSERT INTO table2_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+SET binlog_format=ROW;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+NOT FOUND /table2_to_encrypt/ in master-bin.0*
+#####################################################
+# Pre-test 3: restart master again with the right key
+#####################################################
+connection default;
+connection server_1;
+CREATE TABLE table3_to_encrypt (
+pk INT AUTO_INCREMENT PRIMARY KEY,
+ts TIMESTAMP NULL,
+b BLOB
+) ENGINE=MyISAM;
+INSERT INTO table3_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table3_to_encrypt SELECT NULL,NOW(),b FROM table3_to_encrypt;
+INSERT INTO table3_to_encrypt SELECT NULL,NOW(),b FROM table3_to_encrypt;
+FLUSH BINARY LOGS;
+INSERT INTO table3_to_encrypt SELECT NULL,NOW(),b FROM table3_to_encrypt;
+#####################################################
+# Test 1: Check that if master has an encrypted
+# binary log which it cannot decrypt, it
+# still feeds events to the slave, and SQL
+# thread produces an expected error upon
+# receiving these unreadable events .
+# This behavior is confirmed in MDEV-11323
+#####################################################
+connection server_2;
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_to_start.inc
+START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_error.inc [errno=1594]
+SHOW TABLES;
+Tables_in_test
+table1_to_encrypt
+SELECT COUNT(*) FROM table1_to_encrypt;
+COUNT(*)
+8
+#####################################################
+# Test 2: check that replication works if it starts
+# from a good binary log
+#####################################################
+connection server_2;
+include/stop_slave.inc
+RESET SLAVE ALL;
+DROP DATABASE test;
+CREATE DATABASE test;
+USE test;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=<MASTER_PORT>, MASTER_USER='root', MASTER_LOG_FILE='master-bin.000003';
+include/start_slave.inc
+SHOW TABLES;
+Tables_in_test
+table3_to_encrypt
+#####################################################
+# Test 3: check that replication works if we purge
+# master logs up to the good one
+#####################################################
+connection server_2;
+connection server_1;
+PURGE BINARY LOGS TO 'master-bin.000003';
+connection server_2;
+include/stop_slave.inc
+RESET SLAVE ALL;
+DROP DATABASE test;
+CREATE DATABASE test;
+USE test;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=<MASTER_PORT>, MASTER_USER='root';
+include/start_slave.inc
+SHOW TABLES;
+Tables_in_test
+table3_to_encrypt
+##########
+# Cleanup
+##########
+connection server_1;
+DROP TABLE table1_to_encrypt, table2_to_encrypt, table3_to_encrypt;
+connection server_2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/encrypted_master_lost_key.test b/mysql-test/suite/binlog_encryption/encrypted_master_lost_key.test
new file mode 100644
index 00000000000..7e5fd7859f0
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_master_lost_key.test
@@ -0,0 +1,205 @@
+#
+# The test checks effects and workarounds for the situation when
+# the key used to encrypt previous binary logs on master has been lost,
+# and master runs with a different one.
+#
+# The test starts with encrypted binlogs on master.
+# It stops replication, generates a few statement and row events
+# on the master, then restarts the server with encrypted binlog,
+# but with a different value for key 1.
+#
+# Then it resumes replication and checks what happens when the master
+# feed the encrypted logs to the slave (slave SQL thread should
+# produce and error).
+#
+# Then the test resets the slave, configures it to start from a "good"
+# master binlog log, for which the master has a key, starts replication
+# and checks that it works.
+#
+# Then it resets the slave again, purges binary logs on master up
+# to the "good" one, starts replication and checks that it works.
+#
+
+--source include/have_binlog_format_mixed.inc
+
+--echo #################
+--echo # Initialization
+--echo #################
+
+--let $rpl_topology= 1->2
+--source include/rpl_init.inc
+
+--enable_connect_log
+
+# We stop replication because we want it to happen after the switch
+
+--connection server_2
+--disable_connect_log
+--source include/stop_slave.inc
+--enable_connect_log
+
+--echo #####################################################
+--echo # Pre-test 1: Initial key value
+--echo #####################################################
+
+--connection server_1
+
+CREATE TABLE table1_to_encrypt (
+ pk INT AUTO_INCREMENT PRIMARY KEY,
+ ts TIMESTAMP NULL,
+ b BLOB
+) ENGINE=MyISAM;
+
+INSERT INTO table1_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table1_to_encrypt SELECT NULL,NOW(),b FROM table1_to_encrypt;
+SET binlog_format=ROW;
+INSERT INTO table1_to_encrypt SELECT NULL,NOW(),b FROM table1_to_encrypt;
+INSERT INTO table1_to_encrypt SELECT NULL,NOW(),b FROM table1_to_encrypt;
+
+# Make sure that binary logs are encrypted
+
+--let SEARCH_FILE= master-bin.0*
+--let SEARCH_PATTERN= table1_to_encrypt
+--source include/search_pattern_in_file.inc
+
+--echo #######################################################
+--echo # Pre-test 2: restart master with a different key value
+--echo #######################################################
+
+--write_file $MYSQL_TMP_DIR/master_lose_key.key
+1;00000AAAAAAAAAAAAAAAAAAAAAA00000
+EOF
+
+--let $rpl_server_parameters= --file-key-management-filename=$MYSQL_TMP_DIR/master_lose_key.key
+
+--let $rpl_server_number= 1
+--source restart_server.inc
+
+CREATE TABLE table2_to_encrypt (
+ pk INT AUTO_INCREMENT PRIMARY KEY,
+ ts TIMESTAMP NULL,
+ b BLOB
+) ENGINE=MyISAM;
+
+INSERT INTO table2_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+SET binlog_format=ROW;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+
+# Make sure that binary logs are encrypted
+
+--let SEARCH_FILE= master-bin.0*
+--let SEARCH_PATTERN= table2_to_encrypt
+--source include/search_pattern_in_file.inc
+
+--echo #####################################################
+--echo # Pre-test 3: restart master again with the right key
+--echo #####################################################
+
+--let $rpl_server_parameters=
+--let $rpl_server_number= 1
+--source restart_server.inc
+
+--let $good_master_binlog= query_get_value(SHOW MASTER STATUS,File,1)
+
+CREATE TABLE table3_to_encrypt (
+ pk INT AUTO_INCREMENT PRIMARY KEY,
+ ts TIMESTAMP NULL,
+ b BLOB
+) ENGINE=MyISAM;
+
+INSERT INTO table3_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table3_to_encrypt SELECT NULL,NOW(),b FROM table3_to_encrypt;
+INSERT INTO table3_to_encrypt SELECT NULL,NOW(),b FROM table3_to_encrypt;
+FLUSH BINARY LOGS;
+INSERT INTO table3_to_encrypt SELECT NULL,NOW(),b FROM table3_to_encrypt;
+
+--save_master_pos
+
+--echo #####################################################
+--echo # Test 1: Check that if master has an encrypted
+--echo # binary log which it cannot decrypt, it
+--echo # still feeds events to the slave, and SQL
+--echo # thread produces an expected error upon
+--echo # receiving these unreadable events .
+--echo # This behavior is confirmed in MDEV-11323
+--echo #####################################################
+--connection server_2
+
+--disable_connect_log
+START SLAVE IO_THREAD;
+--source include/wait_for_slave_io_to_start.inc
+
+START SLAVE SQL_THREAD;
+--let $slave_sql_errno= 1594
+--source include/wait_for_slave_sql_error.inc
+--enable_connect_log
+
+# Here we should see only table1_to_encrypt and its contents,
+# because it was logged with the initial key
+--sorted_result
+SHOW TABLES;
+SELECT COUNT(*) FROM table1_to_encrypt;
+
+--echo #####################################################
+--echo # Test 2: check that replication works if it starts
+--echo # from a good binary log
+--echo #####################################################
+--connection server_2
+
+--disable_connect_log
+--source include/stop_slave.inc
+RESET SLAVE ALL;
+DROP DATABASE test;
+CREATE DATABASE test;
+USE test;
+--replace_result $SERVER_MYPORT_1 <MASTER_PORT>
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$SERVER_MYPORT_1, MASTER_USER='root', MASTER_LOG_FILE='$good_master_binlog';
+--source include/start_slave.inc
+--enable_connect_log
+--sync_with_master
+
+--sorted_result
+SHOW TABLES;
+
+--echo #####################################################
+--echo # Test 3: check that replication works if we purge
+--echo # master logs up to the good one
+--echo #####################################################
+--connection server_2
+
+--connection server_1
+eval PURGE BINARY LOGS TO '$good_master_binlog';
+
+--connection server_2
+--disable_connect_log
+--source include/stop_slave.inc
+RESET SLAVE ALL;
+DROP DATABASE test;
+CREATE DATABASE test;
+USE test;
+--replace_result $SERVER_MYPORT_1 <MASTER_PORT>
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$SERVER_MYPORT_1, MASTER_USER='root';
+--source include/start_slave.inc
+--enable_connect_log
+--sync_with_master
+
+--sorted_result
+SHOW TABLES;
+
+--echo ##########
+--echo # Cleanup
+--echo ##########
+
+--connection server_1
+
+DROP TABLE table1_to_encrypt, table2_to_encrypt, table3_to_encrypt;
+
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+--disable_connect_log
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.cnf b/mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.cnf
new file mode 100644
index 00000000000..73c9ad655bf
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.cnf
@@ -0,0 +1,5 @@
+!include my.cnf
+
+[mysqld.1]
+encrypt-binlog=0
+skip-file-key-management
diff --git a/mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.result b/mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.result
new file mode 100644
index 00000000000..f9a063724ca
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.result
@@ -0,0 +1,87 @@
+#################
+# Initialization
+#################
+include/rpl_init.inc [topology=1->2]
+connection server_2;
+include/stop_slave.inc
+#####################################################
+# Part 1: unencrypted master
+#####################################################
+connection server_1;
+call mtr.add_suppression("Got fatal error 1236 from master when reading data from binary log: 'Could not decrypt binlog: encryption key error;");
+CREATE TABLE table1_no_encryption (
+pk INT AUTO_INCREMENT PRIMARY KEY,
+ts TIMESTAMP NULL,
+b BLOB
+) ENGINE=MyISAM;
+INSERT INTO table1_no_encryption VALUES (NULL,NOW(),'data_no_encryption');
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+FLUSH BINARY LOGS;
+SET binlog_format=ROW;
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+NOT FOUND /table1_no_encryption/ in master-bin.0*
+#####################################################
+# Part 2: restart master, now with binlog encryption
+#####################################################
+connection default;
+connection server_1;
+CREATE TABLE table2_to_encrypt (
+pk INT AUTO_INCREMENT PRIMARY KEY,
+ts TIMESTAMP NULL,
+b BLOB
+) ENGINE=MyISAM;
+INSERT INTO table2_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+FLUSH BINARY LOGS;
+SET binlog_format=ROW;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+NOT FOUND /table2_to_encrypt/ in master-bin.0*
+#####################################################
+# Part 3: restart master again without encryption
+#####################################################
+connection default;
+connection server_1;
+CREATE TABLE table3_no_encryption (
+pk INT AUTO_INCREMENT PRIMARY KEY,
+ts TIMESTAMP NULL,
+b BLOB
+) ENGINE=MyISAM;
+INSERT INTO table3_no_encryption VALUES (NULL,NOW(),'data_no_encryption');
+INSERT INTO table3_no_encryption SELECT NULL,NOW(),b FROM table3_no_encryption;
+INSERT INTO table3_no_encryption SELECT NULL,NOW(),b FROM table3_no_encryption;
+#####################################################
+# Check: resume replication and check how it goes
+#####################################################
+connection server_2;
+start slave;
+connection server_1;
+connection server_2;
+include/wait_for_slave_io_error.inc [errno=1236]
+connection server_2;
+connection server_2;
+connection server_2;
+SHOW TABLES;
+Tables_in_test
+table1_no_encryption
+include/stop_slave.inc
+reset slave;
+##########
+# Cleanup
+##########
+connection server_1;
+reset master;
+SELECT COUNT(*) FROM table1_no_encryption;
+COUNT(*)
+8
+SELECT COUNT(*) FROM table2_to_encrypt;
+COUNT(*)
+8
+SELECT COUNT(*) FROM table3_no_encryption;
+COUNT(*)
+4
+DROP TABLE table1_no_encryption, table2_to_encrypt, table3_no_encryption;
+connection server_2;
+include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.test b/mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.test
new file mode 100644
index 00000000000..91231f89307
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_master_switch_to_unencrypted.test
@@ -0,0 +1,151 @@
+#
+# TODO: write here what the test checks after MDEV-11288 is fixed
+#
+# The test starts with unencrypted master.
+# It stops replication, generates a few statement and row events
+# on the master, then restarts the server with encrypted binlog,
+# generates some more events and restarts it back without encryption
+# (no encryption plugin).
+# Then it resumes replication and checks what happens when the server
+# tries to feed the binary logs (included the encrypted ones)
+# to the slave.
+#
+
+--source include/have_binlog_format_mixed.inc
+
+--echo #################
+--echo # Initialization
+--echo #################
+
+--let $rpl_topology= 1->2
+--source include/rpl_init.inc
+
+--enable_connect_log
+
+# We stop replication because we want it to happen after the switch
+
+--connection server_2
+--disable_connect_log
+--source include/stop_slave.inc
+--enable_connect_log
+
+--echo #####################################################
+--echo # Part 1: unencrypted master
+--echo #####################################################
+
+--connection server_1
+
+call mtr.add_suppression("Got fatal error 1236 from master when reading data from binary log: 'Could not decrypt binlog: encryption key error;");
+
+CREATE TABLE table1_no_encryption (
+ pk INT AUTO_INCREMENT PRIMARY KEY,
+ ts TIMESTAMP NULL,
+ b BLOB
+) ENGINE=MyISAM;
+
+INSERT INTO table1_no_encryption VALUES (NULL,NOW(),'data_no_encryption');
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+FLUSH BINARY LOGS;
+SET binlog_format=ROW;
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+
+# Make sure that binary logs are not encrypted
+
+--let SEARCH_FILE= master-bin.0*
+--let SEARCH_PATTERN= table1_no_encryption
+--source include/search_pattern_in_file.inc
+
+# We are storing the position now, because up to this point the slave
+# should be able to synchronize with master
+--save_master_pos
+
+--echo #####################################################
+--echo # Part 2: restart master, now with binlog encryption
+--echo #####################################################
+
+--let $rpl_server_parameters= --encrypt-binlog=1 --plugin-load-add=$FILE_KEY_MANAGEMENT_SO --file-key-management --loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys.txt
+
+--let $rpl_server_number= 1
+--source restart_server.inc
+
+CREATE TABLE table2_to_encrypt (
+ pk INT AUTO_INCREMENT PRIMARY KEY,
+ ts TIMESTAMP NULL,
+ b BLOB
+) ENGINE=MyISAM;
+
+INSERT INTO table2_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+FLUSH BINARY LOGS;
+SET binlog_format=ROW;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+
+# Make sure that binary logs are encrypted
+
+--let SEARCH_FILE= master-bin.0*
+--let SEARCH_PATTERN= table2_to_encrypt
+--source include/search_pattern_in_file.inc
+
+--echo #####################################################
+--echo # Part 3: restart master again without encryption
+--echo #####################################################
+
+--let $rpl_server_parameters= --encrypt-binlog=0
+--let $rpl_server_number= 1
+--source restart_server.inc
+
+CREATE TABLE table3_no_encryption (
+ pk INT AUTO_INCREMENT PRIMARY KEY,
+ ts TIMESTAMP NULL,
+ b BLOB
+) ENGINE=MyISAM;
+
+INSERT INTO table3_no_encryption VALUES (NULL,NOW(),'data_no_encryption');
+INSERT INTO table3_no_encryption SELECT NULL,NOW(),b FROM table3_no_encryption;
+INSERT INTO table3_no_encryption SELECT NULL,NOW(),b FROM table3_no_encryption;
+
+--echo #####################################################
+--echo # Check: resume replication and check how it goes
+--echo #####################################################
+
+--connection server_2
+start slave;
+# The slave should be able to synchronize with master up to
+# the previously saved position (when the log was still unencrypted)
+--sync_with_master
+
+--connection server_1
+# Now save the current position and make slave to try to syncrhonize.
+# It shouldn't work, the slave IO thread is expected to abort with an error
+--save_master_pos
+
+--connection server_2
+--let slave_io_errno=1236
+--source include/wait_for_slave_io_error.inc
+
+--sorted_result
+SHOW TABLES;
+
+--disable_connect_log
+--source include/stop_slave.inc
+--enable_connect_log
+reset slave;
+
+--echo ##########
+--echo # Cleanup
+--echo ##########
+
+--connection server_1
+reset master;
+
+SELECT COUNT(*) FROM table1_no_encryption;
+SELECT COUNT(*) FROM table2_to_encrypt;
+SELECT COUNT(*) FROM table3_no_encryption;
+DROP TABLE table1_no_encryption, table2_to_encrypt, table3_no_encryption;
+
+--connection server_2
+--disable_connect_log
+--source include/start_slave.inc
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/encrypted_slave.cnf b/mysql-test/suite/binlog_encryption/encrypted_slave.cnf
new file mode 100644
index 00000000000..fac94db71df
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_slave.cnf
@@ -0,0 +1,12 @@
+!include my.cnf
+
+[mysqld.1]
+encrypt-binlog=0
+
+[mysqld.2]
+#log-slave-updates
+encrypt-binlog
+plugin-load-add= @ENV.FILE_KEY_MANAGEMENT_SO
+file-key-management
+loose-file-key-management-filename= @ENV.MYSQL_TEST_DIR/std_data/keys.txt
+binlog_checksum=NONE
diff --git a/mysql-test/suite/binlog_encryption/encrypted_slave.result b/mysql-test/suite/binlog_encryption/encrypted_slave.result
new file mode 100644
index 00000000000..c78cd9d1507
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_slave.result
@@ -0,0 +1,175 @@
+#################
+# Initialization
+#################
+include/rpl_init.inc [topology=1->2]
+connection server_2;
+include/stop_slave_sql.inc
+#################
+# Test flow
+#################
+connection server_1;
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+CREATE DATABASE database_name_to_encrypt;
+USE database_name_to_encrypt;
+CREATE USER user_name_to_encrypt;
+GRANT ALL ON database_name_to_encrypt.* TO user_name_to_encrypt;
+SET PASSWORD FOR user_name_to_encrypt = PASSWORD('password_to_encrypt');
+CREATE TABLE innodb_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB,
+virt_column_name_to_encrypt INT AS (int_column_name_to_encrypt % 10) VIRTUAL,
+pers_column_name_to_encrypt INT AS (int_column_name_to_encrypt) PERSISTENT,
+INDEX `index_name_to_encrypt`(`timestamp_column_name_to_encrypt`)
+) ENGINE=InnoDB
+PARTITION BY RANGE (int_column_name_to_encrypt)
+SUBPARTITION BY KEY (int_column_name_to_encrypt)
+SUBPARTITIONS 2 (
+PARTITION partition0_name_to_encrypt VALUES LESS THAN (100),
+PARTITION partition1_name_to_encrypt VALUES LESS THAN (MAXVALUE)
+)
+;
+CREATE TABLE myisam_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+char_column_name_to_encrypt VARCHAR(255),
+datetime_column_name_to_encrypt DATETIME,
+text_column_name_to_encrypt TEXT
+) ENGINE=MyISAM;
+CREATE TABLE aria_table_name_to_encrypt (
+int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+varchar_column_name_to_encrypt VARCHAR(1024),
+enum_column_name_to_encrypt ENUM(
+'enum_value1_to_encrypt',
+'enum_value2_to_encrypt'
+ ),
+timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+blob_column_name_to_encrypt BLOB
+) ENGINE=Aria;
+CREATE TRIGGER trigger_name_to_encrypt
+AFTER INSERT ON myisam_table_name_to_encrypt FOR EACH ROW
+INSERT INTO aria_table_name_to_encrypt (varchar_column_name_to_encrypt)
+VALUES (NEW.char_column_name_to_encrypt);
+CREATE DEFINER=user_name_to_encrypt VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+CREATE FUNCTION func_name_to_encrypt (func_parameter_to_encrypt INT)
+RETURNS VARCHAR(64)
+RETURN 'func_result_to_encrypt';
+CREATE PROCEDURE proc_name_to_encrypt (
+IN proc_in_parameter_to_encrypt CHAR(32),
+OUT proc_out_parameter_to_encrypt INT
+)
+BEGIN
+DECLARE procvar_name_to_encrypt CHAR(64) DEFAULT 'procvar_val_to_encrypt';
+DECLARE cursor_name_to_encrypt CURSOR FOR
+SELECT virt_column_name_to_encrypt FROM innodb_table_name_to_encrypt;
+DECLARE EXIT HANDLER FOR NOT FOUND
+BEGIN
+SET @stmt_var_to_encrypt = CONCAT(
+"SELECT
+ IF (RAND()>0.5,'enum_value2_to_encrypt','enum_value1_to_encrypt')
+ FROM innodb_table_name_to_encrypt
+ INTO OUTFILE '", proc_in_parameter_to_encrypt, "'");
+PREPARE stmt_to_encrypt FROM @stmt_var_to_encrypt;
+EXECUTE stmt_to_encrypt;
+DEALLOCATE PREPARE stmt_to_encrypt;
+END;
+OPEN cursor_name_to_encrypt;
+proc_label_to_encrypt: LOOP
+FETCH cursor_name_to_encrypt INTO procvar_name_to_encrypt;
+END LOOP;
+CLOSE cursor_name_to_encrypt;
+END $$
+CREATE SERVER server_name_to_encrypt
+FOREIGN DATA WRAPPER mysql
+OPTIONS (HOST 'host_name_to_encrypt');
+connect con1,localhost,user_name_to_encrypt,password_to_encrypt,database_name_to_encrypt;
+CREATE TEMPORARY TABLE tmp_table_name_to_encrypt (
+float_column_name_to_encrypt FLOAT,
+binary_column_name_to_encrypt BINARY(64)
+);
+disconnect con1;
+connection server_1;
+CREATE INDEX index_name_to_encrypt
+ON myisam_table_name_to_encrypt (datetime_column_name_to_encrypt);
+ALTER DATABASE database_name_to_encrypt CHARACTER SET utf8;
+ALTER TABLE innodb_table_name_to_encrypt
+MODIFY timestamp_column_name_to_encrypt TIMESTAMP NOT NULL
+DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+;
+ALTER ALGORITHM=MERGE VIEW view_name_to_encrypt
+AS SELECT * FROM innodb_table_name_to_encrypt;
+RENAME TABLE innodb_table_name_to_encrypt TO new_table_name_to_encrypt;
+ALTER TABLE new_table_name_to_encrypt RENAME TO innodb_table_name_to_encrypt;
+set @user_var1_to_encrypt= 'dyncol1_val_to_encrypt';
+set @user_var2_to_encrypt= 'dyncol2_name_to_encrypt';
+INSERT INTO view_name_to_encrypt VALUES
+(1, NOW(6), COLUMN_CREATE('dyncol1_name_to_encrypt',@user_var1_to_encrypt), NULL, NULL),
+(2, NOW(6), COLUMN_CREATE(@user_var2_to_encrypt,'dyncol2_val_to_encrypt'), NULL, NULL)
+;
+BEGIN NOT ATOMIC
+DECLARE counter_name_to_encrypt INT DEFAULT 0;
+START TRANSACTION;
+WHILE counter_name_to_encrypt<12 DO
+INSERT INTO innodb_table_name_to_encrypt
+SELECT NULL, NOW(6), blob_column_name_to_encrypt, NULL, NULL
+FROM innodb_table_name_to_encrypt
+ORDER BY int_column_name_to_encrypt;
+SET counter_name_to_encrypt = counter_name_to_encrypt+1;
+END WHILE;
+COMMIT;
+END
+$$
+INSERT INTO myisam_table_name_to_encrypt
+SELECT NULL, 'char_literal_to_encrypt', NULL, 'text_to_encrypt';
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+CALL proc_name_to_encrypt('file_name_to_encrypt',@useless_var_to_encrypt);
+TRUNCATE TABLE aria_table_name_to_encrypt;
+LOAD DATA INFILE 'file_name_to_encrypt' INTO TABLE aria_table_name_to_encrypt
+(enum_column_name_to_encrypt);
+LOAD DATA LOCAL INFILE '<DATADIR>/database_name_to_encrypt/file_name_to_encrypt'
+INTO TABLE aria_table_name_to_encrypt (enum_column_name_to_encrypt);
+UPDATE view_name_to_encrypt SET blob_column_name_to_encrypt =
+COLUMN_CREATE('dyncol1_name_to_encrypt',func_name_to_encrypt(0))
+;
+DELETE FROM aria_table_name_to_encrypt ORDER BY int_column_name_to_encrypt LIMIT 10;
+ANALYZE TABLE myisam_table_name_to_encrypt;
+CHECK TABLE aria_table_name_to_encrypt;
+CHECKSUM TABLE innodb_table_name_to_encrypt, myisam_table_name_to_encrypt;
+RENAME USER user_name_to_encrypt to new_user_name_to_encrypt;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM new_user_name_to_encrypt;
+DROP DATABASE database_name_to_encrypt;
+DROP USER new_user_name_to_encrypt;
+DROP SERVER server_name_to_encrypt;
+#################
+# Master binlog checks
+#################
+FOUND /_to_encrypt/ in master-bin.0*
+FOUND /COMMIT/ in master-bin.0*
+FOUND /TIMESTAMP/ in master-bin.0*
+include/save_master_pos.inc
+#################
+# Relay log checks
+#################
+connection server_2;
+include/sync_io_with_master.inc
+NOT FOUND /_to_encrypt/ in slave-relay-bin.0*
+NOT FOUND /COMMIT/ in slave-relay-bin.0*
+NOT FOUND /TIMESTAMP/ in slave-relay-bin.0*
+#################
+# Slave binlog checks
+#################
+include/start_slave.inc
+include/sync_slave_sql_with_io.inc
+include/sync_io_with_master.inc
+NOT FOUND /_to_encrypt/ in slave-bin.0*
+NOT FOUND /COMMIT/ in slave-bin.0*
+NOT FOUND /TIMESTAMP/ in slave-bin.0*
+##########
+# Cleanup
+##########
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/encrypted_slave.test b/mysql-test/suite/binlog_encryption/encrypted_slave.test
new file mode 100644
index 00000000000..a69e78cd940
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encrypted_slave.test
@@ -0,0 +1,117 @@
+#
+# The test checks that basic DDL and DML events are encrypted
+# in the relay and binary logs on slave.
+# The test is to be run with all binlog formats
+# (combinations for rpl_init.inc take care of that).
+#
+# The test runs with the non-encrypted master and encrypted slave.
+# It generates a sequence of events on master and checks that
+# relay logs and binary logs are encrypted on slave.
+#
+
+--source encryption_algorithms.inc
+--source include/have_innodb.inc
+
+--echo #################
+--echo # Initialization
+--echo #################
+
+--let $rpl_topology= 1->2
+--source include/rpl_init.inc
+
+--enable_connect_log
+--connection server_2
+
+# We stop SQL thread because we want to have
+# all relay logs at the end of the test flow
+
+--disable_connect_log
+--source include/stop_slave_sql.inc
+--enable_connect_log
+
+--echo #################
+--echo # Test flow
+--echo #################
+
+--connection server_1
+--source testdata.inc
+
+--echo #################
+--echo # Master binlog checks
+--echo #################
+
+--let $master_datadir= `SELECT @@datadir`
+
+--let SEARCH_FILE= $master_datadir/master-bin.0*
+--let SEARCH_PATTERN= _to_encrypt
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $master_datadir/master-bin.0*
+--let SEARCH_PATTERN= COMMIT
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $master_datadir/master-bin.0*
+--let SEARCH_PATTERN= TIMESTAMP
+--source include/search_pattern_in_file.inc
+
+--disable_connect_log
+--source include/save_master_pos.inc
+--enable_connect_log
+
+--echo #################
+--echo # Relay log checks
+--echo #################
+
+--connection server_2
+--disable_connect_log
+--source include/sync_io_with_master.inc
+--enable_connect_log
+
+--let $slave_datadir= `SELECT @@datadir`
+
+--let SEARCH_FILE= $slave_datadir/slave-relay-bin.0*
+--let SEARCH_PATTERN= _to_encrypt
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $slave_datadir/slave-relay-bin.0*
+--let SEARCH_PATTERN= COMMIT
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $slave_datadir/slave-relay-bin.0*
+--let SEARCH_PATTERN= TIMESTAMP
+--source include/search_pattern_in_file.inc
+
+--echo #################
+--echo # Slave binlog checks
+--echo #################
+
+# Re-enable SQL thread, let it catch up with IO thread
+# and check slave binary logs
+
+--disable_connect_log
+--source include/start_slave.inc
+--source include/sync_slave_sql_with_io.inc
+--enable_connect_log
+
+--disable_connect_log
+--source include/sync_io_with_master.inc
+--enable_connect_log
+
+--let SEARCH_FILE= $slave_datadir/slave-bin.0*
+--let SEARCH_PATTERN= _to_encrypt
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $slave_datadir/slave-bin.0*
+--let SEARCH_PATTERN= COMMIT
+--source include/search_pattern_in_file.inc
+
+--let SEARCH_FILE= $slave_datadir/slave-bin.0*
+--let SEARCH_PATTERN= TIMESTAMP
+--source include/search_pattern_in_file.inc
+
+--echo ##########
+--echo # Cleanup
+--echo ##########
+
+--disable_connect_log
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/encryption_algorithms.combinations b/mysql-test/suite/binlog_encryption/encryption_algorithms.combinations
new file mode 100644
index 00000000000..6bda5a6b35e
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encryption_algorithms.combinations
@@ -0,0 +1,5 @@
+[ctr]
+loose-file-key-management-encryption-algorithm=aes_ctr
+
+[cbc]
+loose-file-key-management-encryption-algorithm=aes_cbc
diff --git a/mysql-test/suite/binlog_encryption/encryption_algorithms.inc b/mysql-test/suite/binlog_encryption/encryption_algorithms.inc
new file mode 100644
index 00000000000..ca559622b26
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encryption_algorithms.inc
@@ -0,0 +1,2 @@
+# Empty include file just to enable encryption algorithm combinations
+# for those tests which need them
diff --git a/mysql-test/suite/binlog_encryption/encryption_combo.cnf b/mysql-test/suite/binlog_encryption/encryption_combo.cnf
new file mode 100644
index 00000000000..bc4ecbcb47a
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encryption_combo.cnf
@@ -0,0 +1,5 @@
+!include my.cnf
+
+[mysqld.1]
+encrypt-binlog=0
+
diff --git a/mysql-test/suite/binlog_encryption/encryption_combo.result b/mysql-test/suite/binlog_encryption/encryption_combo.result
new file mode 100644
index 00000000000..d921c73440d
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encryption_combo.result
@@ -0,0 +1,78 @@
+#################
+# Initialization
+#################
+include/rpl_init.inc [topology=1->2]
+connection server_2;
+include/stop_slave.inc
+#####################################################
+# Part 1: unencrypted master
+#####################################################
+connection server_1;
+CREATE TABLE table1_no_encryption (
+pk INT AUTO_INCREMENT PRIMARY KEY,
+ts TIMESTAMP NULL,
+b BLOB
+) ENGINE=MyISAM;
+INSERT INTO table1_no_encryption VALUES (NULL,NOW(),'data_no_encryption');
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+FLUSH BINARY LOGS;
+SET binlog_format=ROW;
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+FOUND /table1_no_encryption/ in master-bin.0*
+#####################################################
+# Part 2: restart master, now with binlog encryption
+#####################################################
+connection default;
+connection server_1;
+CREATE TABLE table2_to_encrypt (
+pk INT AUTO_INCREMENT PRIMARY KEY,
+ts TIMESTAMP NULL,
+b BLOB
+) ENGINE=MyISAM;
+INSERT INTO table2_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+FLUSH BINARY LOGS;
+SET binlog_format=ROW;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+NOT FOUND /table2_to_encrypt/ in master-bin.0*
+#####################################################
+# Part 3: restart master again without encryption
+#####################################################
+connection default;
+connection server_1;
+CREATE TABLE table3_no_encryption (
+pk INT AUTO_INCREMENT PRIMARY KEY,
+ts TIMESTAMP NULL,
+b BLOB
+) ENGINE=MyISAM;
+INSERT INTO table3_no_encryption VALUES (NULL,NOW(),'data_no_encryption');
+INSERT INTO table3_no_encryption SELECT NULL,NOW(),b FROM table3_no_encryption;
+INSERT INTO table3_no_encryption SELECT NULL,NOW(),b FROM table3_no_encryption;
+#####################################################
+# Check: resume replication and check that it works
+#####################################################
+connection server_2;
+include/start_slave.inc
+SHOW TABLES;
+Tables_in_test
+table1_no_encryption
+table2_to_encrypt
+table3_no_encryption
+##########
+# Cleanup
+##########
+connection server_1;
+SELECT COUNT(*) FROM table1_no_encryption;
+COUNT(*)
+8
+SELECT COUNT(*) FROM table2_to_encrypt;
+COUNT(*)
+8
+SELECT COUNT(*) FROM table3_no_encryption;
+COUNT(*)
+4
+DROP TABLE table1_no_encryption, table2_to_encrypt, table3_no_encryption;
+connection server_2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/encryption_combo.test b/mysql-test/suite/binlog_encryption/encryption_combo.test
new file mode 100644
index 00000000000..a5cf117d4a8
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/encryption_combo.test
@@ -0,0 +1,136 @@
+#
+# The test checks that master with decryption capabilities can switch
+# between encrypted and unencrypted logs (with server restart),
+# and can feed the mix of encrypted/unencrypted logs to a slave.
+#
+# The test starts with unencrypted master.
+# It stops replication, generates a few statement and row events
+# on the master, then restarts the server with encrypted binlog,
+# generates some more events and restarts it back with unencrypted binlog.
+# Then it resumes replication and checks that all events
+# are replicated successfully.
+#
+
+--source include/have_binlog_format_mixed.inc
+
+--echo #################
+--echo # Initialization
+--echo #################
+
+--let $rpl_topology= 1->2
+--source include/rpl_init.inc
+
+--enable_connect_log
+
+# We stop replication because we want it to happen after the switch
+
+--connection server_2
+--disable_connect_log
+--source include/stop_slave.inc
+--enable_connect_log
+
+--echo #####################################################
+--echo # Part 1: unencrypted master
+--echo #####################################################
+
+--connection server_1
+
+CREATE TABLE table1_no_encryption (
+ pk INT AUTO_INCREMENT PRIMARY KEY,
+ ts TIMESTAMP NULL,
+ b BLOB
+) ENGINE=MyISAM;
+
+INSERT INTO table1_no_encryption VALUES (NULL,NOW(),'data_no_encryption');
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+FLUSH BINARY LOGS;
+SET binlog_format=ROW;
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+INSERT INTO table1_no_encryption SELECT NULL,NOW(),b FROM table1_no_encryption;
+
+# Make sure that binary logs are not encrypted
+
+--let $master_datadir= `SELECT @@datadir`
+
+--let SEARCH_FILE= $master_datadir/master-bin.0*
+--let SEARCH_PATTERN= table1_no_encryption
+--source include/search_pattern_in_file.inc
+
+--echo #####################################################
+--echo # Part 2: restart master, now with binlog encryption
+--echo #####################################################
+
+--let $rpl_server_parameters= --encrypt-binlog=1
+--let $rpl_server_number= 1
+--source restart_server.inc
+
+CREATE TABLE table2_to_encrypt (
+ pk INT AUTO_INCREMENT PRIMARY KEY,
+ ts TIMESTAMP NULL,
+ b BLOB
+) ENGINE=MyISAM;
+
+INSERT INTO table2_to_encrypt VALUES (NULL,NOW(),'data_to_encrypt');
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+FLUSH BINARY LOGS;
+SET binlog_format=ROW;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+INSERT INTO table2_to_encrypt SELECT NULL,NOW(),b FROM table2_to_encrypt;
+
+# Make sure that binary logs are encrypted
+
+--let SEARCH_FILE= $master_datadir/master-bin.0*
+--let SEARCH_PATTERN= table2_to_encrypt
+--source include/search_pattern_in_file.inc
+
+--echo #####################################################
+--echo # Part 3: restart master again without encryption
+--echo #####################################################
+
+--let $rpl_server_parameters= --encrypt-binlog=0
+--let $rpl_server_number= 1
+--source restart_server.inc
+
+CREATE TABLE table3_no_encryption (
+ pk INT AUTO_INCREMENT PRIMARY KEY,
+ ts TIMESTAMP NULL,
+ b BLOB
+) ENGINE=MyISAM;
+
+INSERT INTO table3_no_encryption VALUES (NULL,NOW(),'data_no_encryption');
+INSERT INTO table3_no_encryption SELECT NULL,NOW(),b FROM table3_no_encryption;
+INSERT INTO table3_no_encryption SELECT NULL,NOW(),b FROM table3_no_encryption;
+
+--save_master_pos
+
+--echo #####################################################
+--echo # Check: resume replication and check that it works
+--echo #####################################################
+--connection server_2
+
+--disable_connect_log
+--source include/start_slave.inc
+--enable_connect_log
+--sync_with_master
+
+--sorted_result
+SHOW TABLES;
+
+--echo ##########
+--echo # Cleanup
+--echo ##########
+
+--connection server_1
+
+SELECT COUNT(*) FROM table1_no_encryption;
+SELECT COUNT(*) FROM table2_to_encrypt;
+SELECT COUNT(*) FROM table3_no_encryption;
+DROP TABLE table1_no_encryption, table2_to_encrypt, table3_no_encryption;
+
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+--disable_connect_log
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/multisource.cnf b/mysql-test/suite/binlog_encryption/multisource.cnf
new file mode 100644
index 00000000000..52db51d9086
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/multisource.cnf
@@ -0,0 +1,17 @@
+!include my.cnf
+
+[mysqld.1]
+log-bin=master-bin
+
+[mysqld.2]
+log-bin=master-bin
+
+[mysqld.3]
+innodb
+log-bin=slave-bin
+server-id=3
+log-warnings=2
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
diff --git a/mysql-test/suite/binlog_encryption/multisource.result b/mysql-test/suite/binlog_encryption/multisource.result
new file mode 100644
index 00000000000..227e88f6d71
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/multisource.result
@@ -0,0 +1,205 @@
+change master 'abc' to relay_log_file='';
+ERROR HY000: Failed initializing relay log position: Could not find target log during relay log initialization
+change master 'abc2' to master_host='';
+ERROR HY000: Incorrect arguments to MASTER_HOST
+change master 'master1' to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+start slave 'master1';
+set default_master_connection = 'master1';
+include/wait_for_slave_to_start.inc
+#
+# Checking SHOW SLAVE 'master1' STATUS
+#
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin-master1.000002'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+#
+# Checking SHOW SLAVE STATUS
+#
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin-master1.000002'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+#
+# Checking SHOW ALL SLAVES STATUS
+#
+Connection_name = 'master1'
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin-master1.000002'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+Slave_heartbeat_period = '60.000'
+#
+drop database if exists db1;
+create database db1;
+use db1;
+create table t1 (i int auto_increment, f1 varchar(16), primary key pk (i,f1)) engine=MyISAM;
+insert into t1 (f1) values ('one'),('two');
+select * from db1.t1;
+i f1
+1 one
+2 two
+# List of relay log files in the datadir
+mysqld-relay-bin-master1.000001
+mysqld-relay-bin-master1.000002
+mysqld-relay-bin-master1.index
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin-master1.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin-master1.000001 # Rotate # # mysqld-relay-bin-master1.000002;pos=4
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin-master1.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin-master1.000002 # Rotate # # master-bin.000001;pos=POS
+mysqld-relay-bin-master1.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin-master1.000002 # Gtid_list # # []
+mysqld-relay-bin-master1.000002 # Binlog_checkpoint # # master-bin.000001
+mysqld-relay-bin-master1.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin-master1.000002 # Query # # drop database if exists db1
+mysqld-relay-bin-master1.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin-master1.000002 # Query # # create database db1
+mysqld-relay-bin-master1.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin-master1.000002 # Query # # use `db1`; create table t1 (i int auto_increment, f1 varchar(16), primary key pk (i,f1)) engine=MyISAM
+mysqld-relay-bin-master1.000002 # Gtid # # BEGIN GTID #-#-#
+mysqld-relay-bin-master1.000002 # Intvar # # INSERT_ID=1
+mysqld-relay-bin-master1.000002 # Query # # use `db1`; insert into t1 (f1) values ('one'),('two')
+mysqld-relay-bin-master1.000002 # Query # # COMMIT
+change master 'master1' to
+master_port=MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+ERROR HY000: This operation cannot be performed as you have a running slave 'master1'; run STOP SLAVE 'master1' first
+change master to
+master_port=MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+ERROR HY000: This operation cannot be performed as you have a running slave 'master1'; run STOP SLAVE 'master1' first
+change master 'master2' to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+ERROR HY000: Connection 'master2' conflicts with existing connection 'master1'
+set default_master_connection = '';
+change master to
+master_port=MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+start slave;
+include/wait_for_slave_to_start.inc
+#
+# Checking SHOW ALL SLAVES STATUS
+#
+Connection_name = ''
+Connection_name = 'master1'
+Master_Port = 'MYPORT_2'
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin.000002'
+Relay_Log_File = 'mysqld-relay-bin-master1.000002'
+Slave_IO_Running = 'Yes'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+Last_SQL_Errno = '0'
+Slave_heartbeat_period = '60.000'
+Slave_heartbeat_period = '60.000'
+#
+insert into t1 (f1) values ('three');
+drop database if exists db2;
+create database db2;
+use db2;
+create table t1 (pk int auto_increment primary key, f1 int) engine=InnoDB;
+begin;
+insert into t1 (f1) values (1),(2);
+select * from db1.t1;
+i f1
+1 one
+2 two
+3 three
+select * from db2.t1;
+pk f1
+commit;
+select * from db2.t1;
+pk f1
+1 1
+2 2
+flush logs;
+purge binary logs to 'master-bin.000002';
+show binary logs;
+Log_name File_size
+master-bin.000002 filesize
+insert into t1 (f1) values ('four');
+create table db1.t3 (f1 int) engine=InnoDB;
+#
+# Checking SHOW ALL SLAVES STATUS
+#
+Connection_name = ''
+Connection_name = 'master1'
+Master_Port = 'MYPORT_2'
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin.000002'
+Relay_Log_File = 'mysqld-relay-bin-master1.000004'
+Slave_IO_Running = 'Yes'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+Last_SQL_Errno = '0'
+Slave_heartbeat_period = '60.000'
+Slave_heartbeat_period = '60.000'
+#
+select * from db1.t1;
+i f1
+1 one
+2 two
+3 three
+4 four
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin.000001 # Rotate # # mysqld-relay-bin.000002;pos=4
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin.000002 # Rotate # # master-bin.000001;pos=POS
+mysqld-relay-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin.000002 # Gtid_list # # []
+mysqld-relay-bin.000002 # Binlog_checkpoint # # master-bin.000001
+mysqld-relay-bin.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin.000002 # Query # # drop database if exists db2
+mysqld-relay-bin.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin.000002 # Query # # create database db2
+mysqld-relay-bin.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin.000002 # Query # # use `db2`; create table t1 (pk int auto_increment primary key, f1 int) engine=InnoDB
+mysqld-relay-bin.000002 # Gtid # # BEGIN GTID #-#-#
+mysqld-relay-bin.000002 # Intvar # # INSERT_ID=1
+mysqld-relay-bin.000002 # Query # # use `db2`; insert into t1 (f1) values (1),(2)
+mysqld-relay-bin.000002 # Xid # # COMMIT /* XID */
+stop slave io_thread;
+show status like 'Slave_running';
+Variable_name Value
+Slave_running OFF
+set default_master_connection = 'master1';
+show status like 'Slave_running';
+Variable_name Value
+Slave_running ON
+drop database db1;
+drop database db2;
+include/reset_master_slave.inc
+drop database db1;
+include/reset_master_slave.inc
+drop database db2;
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/binlog_encryption/multisource.test b/mysql-test/suite/binlog_encryption/multisource.test
new file mode 100644
index 00000000000..e37970d6234
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/multisource.test
@@ -0,0 +1,2 @@
+--let $binlog_extra_length= 36
+--source extra/rpl_tests/multisource.inc
diff --git a/mysql-test/suite/binlog_encryption/my.cnf b/mysql-test/suite/binlog_encryption/my.cnf
new file mode 100644
index 00000000000..d787ebe1d4c
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/my.cnf
@@ -0,0 +1,27 @@
+!include include/default_mysqld.cnf
+!include include/default_client.cnf
+
+[mysqld.1]
+innodb
+plugin-load-add= @ENV.FILE_KEY_MANAGEMENT_SO
+loose-file-key-management-filename= @ENV.MYSQLTEST_VARDIR/std_data/keys.txt
+encrypt-binlog
+log-basename= master
+
+[mysqld.2]
+#!use-slave-opt
+innodb
+log-slave-updates
+log-basename= slave
+
+[ENV]
+
+# We will adopt tests with master-slave setup as well as rpl_init setup,
+# so need both sets of variables
+MASTER_MYPORT= @mysqld.1.port
+SERVER_MYPORT_1= @mysqld.1.port
+SERVER_MYSOCK_1= @mysqld.1.socket
+
+SLAVE_MYPORT= @mysqld.2.port
+SERVER_MYPORT_2= @mysqld.2.port
+SERVER_MYSOCK_2= @mysqld.2.socket
diff --git a/mysql-test/suite/binlog_encryption/mysqlbinlog.result b/mysql-test/suite/binlog_encryption/mysqlbinlog.result
new file mode 100644
index 00000000000..71758f7d6e7
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/mysqlbinlog.result
@@ -0,0 +1,6 @@
+RESET MASTER;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+REPLACE INTO t1 VALUES (4);
+DROP TABLE t1;
+FLUSH LOGS;
diff --git a/mysql-test/suite/binlog_encryption/mysqlbinlog.test b/mysql-test/suite/binlog_encryption/mysqlbinlog.test
new file mode 100644
index 00000000000..b80388aaa45
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/mysqlbinlog.test
@@ -0,0 +1,21 @@
+source include/have_log_bin.inc;
+source include/have_debug.inc;
+
+let datadir=`select @@datadir`;
+RESET MASTER;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+REPLACE INTO t1 VALUES (4);
+DROP TABLE t1;
+FLUSH LOGS;
+
+let filename= master-bin.000001;
+let local=$datadir/$filename;
+let remote=--read-from-remote-server --protocol=tcp --host=127.0.0.1 --port=$MASTER_MYPORT -uroot $filename;
+let outfile=$MYSQLTEST_VARDIR/tmp/binlog_enc.sql;
+--error 1
+exec $MYSQL_BINLOG $local > $outfile;
+exec $MYSQL_BINLOG $local --force-read >> $outfile;
+exec $MYSQL_BINLOG $remote >> $outfile;
+remove_file $outfile;
+
diff --git a/mysql-test/suite/binlog_encryption/restart_server.inc b/mysql-test/suite/binlog_encryption/restart_server.inc
new file mode 100644
index 00000000000..6cd0788cf43
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/restart_server.inc
@@ -0,0 +1,35 @@
+#
+# We can not use the common include/restart_mysqld.inc or include/rpl_restart_server.inc,
+# because they have hardcoded connection names (master, master1)
+# which are not initiated by rpl_init.inc.
+# This is the relevant and simplified part of the same set of scripts.
+#
+# ==== Usage ====
+#
+# --let $rpl_server_number= N
+# Number to identify the server that needs to reconnect.
+# 1 is the master server, 2 the slave server
+# [--let $rpl_server_parameters= --flag1 --flag2 ...]
+# --source restart_server.inc
+#
+
+--let $_cur_con= $CURRENT_CONNECTION
+
+--connection default
+--enable_reconnect
+
+--connection $_cur_con
+--enable_reconnect
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
+
+shutdown_server 10;
+
+--source include/wait_until_disconnected.inc
+
+--let $_rpl_start_server_command= restart
+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
+--source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_binlog_errors.cnf b/mysql-test/suite/binlog_encryption/rpl_binlog_errors.cnf
new file mode 100644
index 00000000000..2d3db66ebb5
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_binlog_errors.cnf
@@ -0,0 +1,7 @@
+!include my.cnf
+
+[mysqld.1]
+max_binlog_size=4096
+
+[mysqld.2]
+skip-slave-start
diff --git a/mysql-test/suite/binlog_encryption/rpl_binlog_errors.result b/mysql-test/suite/binlog_encryption/rpl_binlog_errors.result
new file mode 100644
index 00000000000..72844fb9de6
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_binlog_errors.result
@@ -0,0 +1,275 @@
+include/master-slave.inc
+[connection master]
+#######################################################################
+####################### PART 1: MASTER TESTS ##########################
+#######################################################################
+include/stop_slave.inc
+call mtr.add_suppression("Can't generate a unique log-filename");
+call mtr.add_suppression("Writing one row to the row-based binary log failed.*");
+call mtr.add_suppression("Error writing file .*");
+SET @old_debug= @@global.debug;
+SELECT repeat('x',8192) INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data';
+SELECT repeat('x',10) INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug_46166-2.data';
+RESET MASTER;
+###################### TEST #1
+FLUSH LOGS;
+# assert: must show two binlogs
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+###################### TEST #2
+RESET MASTER;
+SET GLOBAL debug_dbug="+d,error_unique_log_filename";
+FLUSH LOGS;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# assert: must show one binlog
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+SET GLOBAL debug_dbug=@old_debug;
+RESET MASTER;
+###################### TEST #3
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a VARCHAR(16384)) Engine=InnoDB;
+CREATE TABLE t4 (a VARCHAR(16384));
+INSERT INTO t1 VALUES (1);
+RESET MASTER;
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t2;
+# assert: must show two binlog
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+SET GLOBAL debug_dbug=@old_debug;
+DELETE FROM t2;
+RESET MASTER;
+###################### TEST #4
+SET GLOBAL debug_dbug="+d,error_unique_log_filename";
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t2;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# assert: must show one entry
+SELECT count(*) FROM t2;
+count(*)
+1
+SET GLOBAL debug_dbug=@old_debug;
+DELETE FROM t2;
+RESET MASTER;
+###################### TEST #5
+SET GLOBAL debug_dbug="+d,error_unique_log_filename";
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166-2.data' INTO TABLE t2;
+# assert: must show one entry
+SELECT count(*) FROM t2;
+count(*)
+1
+SET GLOBAL debug_dbug=@old_debug;
+DELETE FROM t2;
+RESET MASTER;
+###################### TEST #6
+SET GLOBAL debug_dbug="+d,error_unique_log_filename";
+SET AUTOCOMMIT=0;
+INSERT INTO t2 VALUES ('muse');
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t2;
+INSERT INTO t2 VALUES ('muse');
+COMMIT;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# assert: must show three entries
+SELECT count(*) FROM t2;
+count(*)
+3
+SET AUTOCOMMIT= 1;
+SET GLOBAL debug_dbug=@old_debug;
+DELETE FROM t2;
+RESET MASTER;
+###################### TEST #7
+SET GLOBAL debug_dbug="+d,error_unique_log_filename";
+SELECT count(*) FROM t4;
+count(*)
+0
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t4;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# assert: must show 1 entry
+SELECT count(*) FROM t4;
+count(*)
+1
+### check that the incident event is written to the current log
+SET GLOBAL debug_dbug=@old_debug;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Incident # # #1 (LOST_EVENTS)
+DELETE FROM t4;
+RESET MASTER;
+###################### TEST #8
+SET GLOBAL debug_dbug="+d,error_unique_log_filename";
+# must show 0 entries
+SELECT count(*) FROM t4;
+count(*)
+0
+SELECT count(*) FROM t2;
+count(*)
+0
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t4;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t2;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+INSERT INTO t2 VALUES ('aaa'), ('bbb'), ('ccc');
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# INFO: Count(*) Before Offending DELETEs
+# assert: must show 1 entry
+SELECT count(*) FROM t4;
+count(*)
+1
+# assert: must show 4 entries
+SELECT count(*) FROM t2;
+count(*)
+4
+DELETE FROM t4;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+DELETE FROM t2;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# INFO: Count(*) After Offending DELETEs
+# assert: must show zero entries
+SELECT count(*) FROM t4;
+count(*)
+0
+SELECT count(*) FROM t2;
+count(*)
+0
+SET GLOBAL debug_dbug=@old_debug;
+###################### TEST #9
+SET GLOBAL debug_dbug="+d,error_unique_log_filename";
+SET SQL_LOG_BIN=0;
+INSERT INTO t2 VALUES ('aaa'), ('bbb'), ('ccc'), ('ddd');
+INSERT INTO t4 VALUES ('eee'), ('fff'), ('ggg'), ('hhh');
+# assert: must show four entries
+SELECT count(*) FROM t2;
+count(*)
+4
+SELECT count(*) FROM t4;
+count(*)
+4
+DELETE FROM t2;
+DELETE FROM t4;
+# assert: must show zero entries
+SELECT count(*) FROM t2;
+count(*)
+0
+SELECT count(*) FROM t4;
+count(*)
+0
+SET SQL_LOG_BIN=1;
+SET GLOBAL debug_dbug=@old_debug;
+###################### TEST #10
+call mtr.add_suppression("MYSQL_BIN_LOG::open failed to sync the index file.");
+call mtr.add_suppression("Could not open .*");
+RESET MASTER;
+SHOW WARNINGS;
+Level Code Message
+SET GLOBAL debug_dbug="+d,fault_injection_registering_index";
+FLUSH LOGS;
+ERROR HY000: Can't open file: 'master-bin.000002' (errno: 1 "Operation not permitted")
+SET GLOBAL debug_dbug="-d,fault_injection_registering_index";
+SHOW BINARY LOGS;
+ERROR HY000: You are not using binary logging
+CREATE TABLE t5 (a INT);
+INSERT INTO t4 VALUES ('bbbbb');
+INSERT INTO t2 VALUES ('aaaaa');
+DELETE FROM t4;
+DELETE FROM t2;
+DROP TABLE t5;
+###################### TEST #11
+include/rpl_restart_server.inc [server_number=1]
+SET GLOBAL debug_dbug="+d,fault_injection_openning_index";
+FLUSH LOGS;
+ERROR HY000: Can't open file: 'master-bin.index' (errno: 1 "Operation not permitted")
+SET GLOBAL debug_dbug="-d,fault_injection_openning_index";
+RESET MASTER;
+ERROR HY000: Binlog closed, cannot RESET MASTER
+CREATE TABLE t5 (a INT);
+INSERT INTO t4 VALUES ('bbbbb');
+INSERT INTO t2 VALUES ('aaaaa');
+DELETE FROM t4;
+DELETE FROM t2;
+DROP TABLE t5;
+include/rpl_restart_server.inc [server_number=1]
+###################### TEST #12
+SET GLOBAL debug_dbug="+d,fault_injection_new_file_rotate_event";
+FLUSH LOGS;
+ERROR HY000: Can't open file: 'master-bin' (errno: 2 "No such file or directory")
+SET GLOBAL debug_dbug="-d,fault_injection_new_file_rotate_event";
+RESET MASTER;
+ERROR HY000: Binlog closed, cannot RESET MASTER
+CREATE TABLE t5 (a INT);
+INSERT INTO t4 VALUES ('bbbbb');
+INSERT INTO t2 VALUES ('aaaaa');
+DELETE FROM t4;
+DELETE FROM t2;
+DROP TABLE t5;
+include/rpl_restart_server.inc [server_number=1]
+DROP TABLE t1, t2, t4;
+RESET MASTER;
+include/start_slave.inc
+#######################################################################
+####################### PART 2: SLAVE TESTS ###########################
+#######################################################################
+include/rpl_reset.inc
+call mtr.add_suppression("Slave I/O: Relay log write failure: could not queue event from master.*");
+call mtr.add_suppression("Error writing file .*");
+call mtr.add_suppression("Could not open .*");
+call mtr.add_suppression("MYSQL_BIN_LOG::open failed to sync the index file.");
+call mtr.add_suppression("Can't generate a unique log-filename .*");
+###################### TEST #13
+SET @old_debug=@@global.debug;
+include/stop_slave.inc
+SET GLOBAL debug_dbug="+d,error_unique_log_filename";
+START SLAVE io_thread;
+include/wait_for_slave_io_error.inc [errno=1595]
+Last_IO_Error = 'Relay log write failure: could not queue event from master'
+SET GLOBAL debug_dbug="-d,error_unique_log_filename";
+SET GLOBAL debug_dbug=@old_debug;
+include/rpl_restart_server.inc [server_number=2]
+###################### TEST #14
+SET @old_debug=@@global.debug;
+include/stop_slave.inc
+SET GLOBAL debug_dbug="+d,fault_injection_new_file_rotate_event";
+START SLAVE io_thread;
+include/wait_for_slave_io_error.inc [errno=1595]
+Last_IO_Error = 'Relay log write failure: could not queue event from master'
+SET GLOBAL debug_dbug="-d,fault_injection_new_file_rotate_event";
+SET GLOBAL debug_dbug=@old_debug;
+include/rpl_restart_server.inc [server_number=2]
+###################### TEST #15
+SET @old_debug=@@global.debug;
+include/stop_slave.inc
+SET GLOBAL debug_dbug="+d,fault_injection_registering_index";
+START SLAVE io_thread;
+include/wait_for_slave_io_error.inc [errno=1595]
+Last_IO_Error = 'Relay log write failure: could not queue event from master'
+SET GLOBAL debug_dbug="-d,fault_injection_registering_index";
+SET GLOBAL debug_dbug=@old_debug;
+include/rpl_restart_server.inc [server_number=2]
+###################### TEST #16
+SET @old_debug=@@global.debug;
+include/stop_slave.inc
+SET GLOBAL debug_dbug="+d,fault_injection_openning_index";
+START SLAVE io_thread;
+include/wait_for_slave_io_error.inc [errno=1595]
+Last_IO_Error = 'Relay log write failure: could not queue event from master'
+SET GLOBAL debug_dbug="-d,fault_injection_openning_index";
+SET GLOBAL debug_dbug=@old_debug;
+include/rpl_restart_server.inc [server_number=2]
+include/stop_slave_sql.inc
+Warnings:
+Note 1255 Slave already has been stopped
+RESET SLAVE;
+RESET MASTER;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_binlog_errors.test b/mysql-test/suite/binlog_encryption/rpl_binlog_errors.test
new file mode 100644
index 00000000000..a4611f515c4
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_binlog_errors.test
@@ -0,0 +1,2 @@
+--let $binlog_limit= 5,1
+--source extra/rpl_tests/rpl_binlog_errors.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_cant_read_event_incident.result b/mysql-test/suite/binlog_encryption/rpl_cant_read_event_incident.result
new file mode 100644
index 00000000000..0cc1e4b5057
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_cant_read_event_incident.result
@@ -0,0 +1,21 @@
+include/master-slave.inc
+[connection master]
+include/stop_slave.inc
+call mtr.add_suppression("Error in Log_event::read_log_event()");
+include/rpl_stop_server.inc [server_number=1]
+include/rpl_start_server.inc [server_number=1]
+show binlog events;
+ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error
+call mtr.add_suppression("Slave I/O: Got fatal error 1236 from master when reading data from binary log");
+reset slave;
+start slave;
+include/wait_for_slave_param.inc [Last_IO_Errno]
+Last_IO_Errno = '1236'
+Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'binlog truncated in the middle of event; consider out of disk space on master; the first event '.' at XXX, the last event read from 'master-bin.000001' at XXX, the last byte read from 'master-bin.000001' at XXX.''
+reset master;
+stop slave;
+reset slave;
+drop table if exists t;
+reset master;
+End of the tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_cant_read_event_incident.test b/mysql-test/suite/binlog_encryption/rpl_cant_read_event_incident.test
new file mode 100644
index 00000000000..6d222cba115
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_cant_read_event_incident.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_cant_read_event_incident.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_checksum.cnf b/mysql-test/suite/binlog_encryption/rpl_checksum.cnf
new file mode 100644
index 00000000000..9d7ada8c656
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_checksum.cnf
@@ -0,0 +1,10 @@
+!include my.cnf
+
+[mysqld.1]
+binlog-checksum=CRC32
+
+[mysqld.2]
+binlog-checksum=CRC32
+plugin-load-add= @ENV.FILE_KEY_MANAGEMENT_SO
+loose-file-key-management-filename=@ENV.MYSQLTEST_VARDIR/std_data/keys.txt
+encrypt-binlog
diff --git a/mysql-test/suite/binlog_encryption/rpl_checksum.result b/mysql-test/suite/binlog_encryption/rpl_checksum.result
new file mode 100644
index 00000000000..b4ea8d9b1ae
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_checksum.result
@@ -0,0 +1,161 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression('Slave can not handle replication events with the checksum that master is configured to log');
+call mtr.add_suppression('Replication event checksum verification failed');
+call mtr.add_suppression('Relay log write failure: could not queue event from master');
+call mtr.add_suppression('Master is configured to log replication events with checksum, but will not send such events to slaves that cannot process them');
+set @master_save_binlog_checksum= @@global.binlog_checksum;
+set @save_master_verify_checksum = @@global.master_verify_checksum;
+select @@global.binlog_checksum as 'must be CRC32 because of the command line option';
+must be CRC32 because of the command line option
+CRC32
+select @@session.binlog_checksum as 'no session var';
+ERROR HY000: Variable 'binlog_checksum' is a GLOBAL variable
+select @@global.master_verify_checksum as 'must be zero because of default';
+must be zero because of default
+0
+select @@session.master_verify_checksum as 'no session var';
+ERROR HY000: Variable 'master_verify_checksum' is a GLOBAL variable
+set @slave_save_binlog_checksum= @@global.binlog_checksum;
+set @save_slave_sql_verify_checksum = @@global.slave_sql_verify_checksum;
+select @@global.slave_sql_verify_checksum as 'must be one because of default';
+must be one because of default
+1
+select @@session.slave_sql_verify_checksum as 'no session var';
+ERROR HY000: Variable 'slave_sql_verify_checksum' is a GLOBAL variable
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+set @@global.binlog_checksum = NONE;
+select @@global.binlog_checksum;
+@@global.binlog_checksum
+NONE
+*** must be rotations seen ***
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+set @@global.binlog_checksum = default;
+select @@global.binlog_checksum;
+@@global.binlog_checksum
+NONE
+set @@global.binlog_checksum = CRC32;
+select @@global.binlog_checksum;
+@@global.binlog_checksum
+CRC32
+set @@global.binlog_checksum = CRC32;
+set @@global.master_verify_checksum = 0;
+set @@global.master_verify_checksum = default;
+set @@global.binlog_checksum = ADLER32;
+ERROR 42000: Variable 'binlog_checksum' can't be set to the value of 'ADLER32'
+set @@global.master_verify_checksum = 2;
+ERROR 42000: Variable 'master_verify_checksum' can't be set to the value of '2'
+set @@global.slave_sql_verify_checksum = 0;
+set @@global.slave_sql_verify_checksum = default;
+set @@global.slave_sql_verify_checksum = 2;
+ERROR 42000: Variable 'slave_sql_verify_checksum' can't be set to the value of '2'
+set @@global.binlog_checksum = NONE;
+create table t1 (a int);
+flush logs;
+flush logs;
+flush logs;
+flush logs;
+flush logs;
+flush logs;
+select count(*) as zero from t1;
+zero
+0
+include/stop_slave.inc
+set @@global.binlog_checksum = CRC32;
+insert into t1 values (1) /* will not be applied on slave due to simulation */;
+set @@global.debug_dbug='d,simulate_slave_unaware_checksum';
+start slave;
+include/wait_for_slave_io_error.inc [errno=1236]
+Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'Slave can not handle replication events with the checksum that master is configured to log; the first event 'master-bin.000009' at 404, the last event read from 'master-bin.000010' at 4, the last byte read from 'master-bin.000010' at 249.''
+select count(*) as zero from t1;
+zero
+0
+set @@global.debug_dbug='';
+include/start_slave.inc
+set @@global.master_verify_checksum = 1;
+set @@session.debug_dbug='d,simulate_checksum_test_failure';
+show binlog events;
+ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error
+set @@session.debug_dbug='';
+set @@global.master_verify_checksum = default;
+include/stop_slave.inc
+create table t2 (a int);
+set @@global.debug_dbug='d,simulate_checksum_test_failure';
+start slave io_thread;
+include/wait_for_slave_io_error.inc [errno=1595,1913]
+set @@global.debug_dbug='';
+start slave io_thread;
+include/wait_for_slave_param.inc [Read_Master_Log_Pos]
+set @@global.slave_sql_verify_checksum = 1;
+set @@global.debug_dbug='d,simulate_checksum_test_failure';
+start slave sql_thread;
+include/wait_for_slave_sql_error.inc [errno=1593]
+Last_SQL_Error = 'Error initializing relay log position: I/O error reading event at position 4'
+set @@global.debug_dbug='';
+include/start_slave.inc
+select count(*) as 'must be zero' from t2;
+must be zero
+0
+stop slave;
+reset slave;
+set @@global.binlog_checksum= IF(floor((rand()*1000)%2), "CRC32", "NONE");
+flush logs;
+set @@global.binlog_checksum= CRC32;
+reset master;
+flush logs;
+create table t3 (a int, b char(5));
+include/start_slave.inc
+select count(*) as 'must be zero' from t3;
+must be zero
+0
+include/stop_slave.inc
+change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
+flush logs;
+reset master;
+insert into t3 value (1, @@global.binlog_checksum);
+include/start_slave.inc
+flush logs;
+select count(*) as 'must be one' from t3;
+must be one
+1
+set @@global.binlog_checksum= IF(floor((rand()*1000)%2), "CRC32", "NONE");
+insert into t3 value (1, @@global.binlog_checksum);
+drop table t1, t2, t3;
+set @@global.binlog_checksum = @master_save_binlog_checksum;
+set @@global.master_verify_checksum = @save_master_verify_checksum;
+*** Bug#59123 / MDEV-5799: INCIDENT_EVENT checksum written to error log as garbage characters ***
+CREATE TABLE t4 (a INT PRIMARY KEY);
+INSERT INTO t4 VALUES (1);
+SET sql_log_bin=0;
+CALL mtr.add_suppression("\\[ERROR\\] Can't generate a unique log-filename");
+SET sql_log_bin=1;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET debug_dbug= '+d,binlog_inject_new_name_error';
+FLUSH LOGS;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+SET debug_dbug= @old_dbug;
+INSERT INTO t4 VALUES (2);
+include/wait_for_slave_sql_error.inc [errno=1590]
+Last_SQL_Error = 'The incident LOST_EVENTS occurred on the master. Message: error writing to the binary log'
+FOUND /Slave SQL: The incident LOST_EVENTS occurred on the master\. Message: error writing to the binary log, Internal MariaDB error code: 1590/ in mysqld.2.err
+SELECT * FROM t4 ORDER BY a;
+a
+1
+STOP SLAVE IO_THREAD;
+SET sql_slave_skip_counter= 1;
+include/start_slave.inc
+SELECT * FROM t4 ORDER BY a;
+a
+1
+2
+set @@global.binlog_checksum = @slave_save_binlog_checksum;
+set @@global.slave_sql_verify_checksum = @save_slave_sql_verify_checksum;
+End of tests
+DROP TABLE t4;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_checksum.test b/mysql-test/suite/binlog_encryption/rpl_checksum.test
new file mode 100644
index 00000000000..8e006b1b6a0
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_checksum.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_checksum.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_checksum_cache.result b/mysql-test/suite/binlog_encryption/rpl_checksum_cache.result
new file mode 100644
index 00000000000..9508e94e7f2
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_checksum_cache.result
@@ -0,0 +1,119 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement: insert into t2 set data=repeat.*'a', @act_size.*");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement: insert into t1 values.* NAME_CONST.*'n',.*, @data .*");
+set @save_binlog_cache_size = @@global.binlog_cache_size;
+set @save_binlog_checksum = @@global.binlog_checksum;
+set @save_master_verify_checksum = @@global.master_verify_checksum;
+set @@global.binlog_cache_size = 4096;
+set @@global.binlog_checksum = CRC32;
+set @@global.master_verify_checksum = 1;
+include/stop_slave.inc
+include/start_slave.inc
+flush status;
+show status like "binlog_cache_use";
+Variable_name Value
+Binlog_cache_use 0
+show status like "binlog_cache_disk_use";
+Variable_name Value
+Binlog_cache_disk_use 0
+drop table if exists t1;
+create table t1 (a int PRIMARY KEY, b CHAR(32)) engine=innodb;
+create procedure test.p_init (n int, size int)
+begin
+while n > 0 do
+select round(RAND() * size) into @act_size;
+set @data = repeat('a', @act_size);
+insert into t1 values(n, @data );
+set n= n-1;
+end while;
+end|
+begin;
+call test.p_init(4000, 32);
+commit;
+show status like "binlog_cache_use";
+Variable_name Value
+Binlog_cache_use 1
+*** binlog_cache_disk_use must be non-zero ***
+show status like "binlog_cache_disk_use";
+Variable_name Value
+Binlog_cache_disk_use 1
+include/diff_tables.inc [master:test.t1, slave:test.t1]
+begin;
+delete from t1;
+commit;
+flush status;
+create table t2(a int auto_increment primary key, data VARCHAR(12288)) ENGINE=Innodb;
+show status like "binlog_cache_use";
+Variable_name Value
+Binlog_cache_use 1
+*** binlog_cache_disk_use must be non-zero ***
+show status like "binlog_cache_disk_use";
+Variable_name Value
+Binlog_cache_disk_use 1
+include/diff_tables.inc [master:test.t2, slave:test.t2]
+begin;
+delete from t2;
+commit;
+flush status;
+create table t3(a int auto_increment primary key, data VARCHAR(8192)) engine=innodb;
+show status like "binlog_cache_use";
+Variable_name Value
+Binlog_cache_use 1
+*** binlog_cache_disk_use must be non-zero ***
+show status like "binlog_cache_disk_use";
+Variable_name Value
+Binlog_cache_disk_use 1
+include/diff_tables.inc [master:test.t3, slave:test.t3]
+begin;
+delete from t3;
+commit;
+flush status;
+create procedure test.p1 (n int)
+begin
+while n > 0 do
+case (select (round(rand()*100) % 3) + 1)
+when 1 then
+select round(RAND() * 32) into @act_size;
+set @data = repeat('a', @act_size);
+insert into t1 values(n, @data);
+when 2 then
+begin
+select round(8192 + RAND() * 4096) into @act_size;
+insert into t2 set data=repeat('a', @act_size);
+end;
+when 3 then
+begin
+select round(3686.4000 + RAND() * 819.2000) into @act_size;
+insert into t3 set data= repeat('a', @act_size);
+end;
+end case;
+set n= n-1;
+end while;
+end|
+set autocommit= 0;
+begin;
+call test.p1(1000);
+commit;
+show status like "binlog_cache_use";
+Variable_name Value
+Binlog_cache_use 1
+*** binlog_cache_disk_use must be non-zero ***
+show status like "binlog_cache_disk_use";
+Variable_name Value
+Binlog_cache_disk_use 1
+include/diff_tables.inc [master:test.t1, slave:test.t1]
+include/diff_tables.inc [master:test.t2, slave:test.t2]
+include/diff_tables.inc [master:test.t3, slave:test.t3]
+begin;
+delete from t1;
+delete from t2;
+delete from t3;
+commit;
+drop table t1, t2, t3;
+set @@global.binlog_cache_size = @save_binlog_cache_size;
+set @@global.binlog_checksum = @save_binlog_checksum;
+set @@global.master_verify_checksum = @save_master_verify_checksum;
+drop procedure test.p_init;
+drop procedure test.p1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_checksum_cache.test b/mysql-test/suite/binlog_encryption/rpl_checksum_cache.test
new file mode 100644
index 00000000000..56c3e1e1cb5
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_checksum_cache.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_checksum_cache.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_corruption.cnf b/mysql-test/suite/binlog_encryption/rpl_corruption.cnf
new file mode 100644
index 00000000000..7f7d0eeb8ea
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_corruption.cnf
@@ -0,0 +1,9 @@
+!include my.cnf
+
+[mysqld.1]
+binlog-checksum=CRC32
+master-verify-checksum=1
+
+[mysqld.2]
+binlog-checksum=CRC32
+slave-sql-verify-checksum=1
diff --git a/mysql-test/suite/binlog_encryption/rpl_corruption.result b/mysql-test/suite/binlog_encryption/rpl_corruption.result
new file mode 100644
index 00000000000..51c2c6261b8
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_corruption.result
@@ -0,0 +1,51 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression('Found invalid event in binary log');
+call mtr.add_suppression('Slave I/O: Relay log write failure: could not queue event from master');
+call mtr.add_suppression('event read from binlog did not pass crc check');
+call mtr.add_suppression('Replication event checksum verification failed');
+call mtr.add_suppression('Event crc check failed! Most likely there is event corruption');
+call mtr.add_suppression('Slave SQL: Error initializing relay log position: I/O error reading event at position .*, error.* 1593');
+SET @old_master_verify_checksum = @@master_verify_checksum;
+# 1. Creating test table/data and set corruption position for testing
+* insert/update/delete rows in table t1 *
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b VARCHAR(10), c VARCHAR(100));
+include/stop_slave.inc
+# 2. Corruption in master binlog and SHOW BINLOG EVENTS
+SET GLOBAL debug_dbug="+d,corrupt_read_log_event_char";
+SHOW BINLOG EVENTS;
+ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error
+SET GLOBAL debug_dbug="-d,corrupt_read_log_event_char";
+# 3. Master read a corrupted event from binlog and send the error to slave
+SET GLOBAL debug_dbug="+d,corrupt_read_log_event2_set";
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_error.inc [errno=1236]
+SET GLOBAL debug_dbug="-d,corrupt_read_log_event2_set";
+# 4. Master read a corrupted event from binlog and send it to slave
+SET GLOBAL master_verify_checksum=0;
+SET GLOBAL debug_dbug="+d,corrupt_read_log_event2_set";
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_error.inc [errno=1595,1913]
+SET GLOBAL debug_dbug="-d,corrupt_read_log_event2_set";
+SET GLOBAL debug_dbug= "";
+SET GLOBAL master_verify_checksum=1;
+# 5. Slave. Corruption in network
+SET GLOBAL debug_dbug="+d,corrupt_queue_event";
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_error.inc [errno=1595,1913]
+SET GLOBAL debug_dbug="-d,corrupt_queue_event";
+# 6. Slave. Corruption in relay log
+SET GLOBAL debug_dbug="+d,corrupt_read_log_event_char";
+START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_error.inc [errno=1593]
+SET GLOBAL debug_dbug="-d,corrupt_read_log_event_char";
+SET GLOBAL debug_dbug= "";
+# 7. Seek diff for tables on master and slave
+include/start_slave.inc
+include/diff_tables.inc [master:test.t1, slave:test.t1]
+# 8. Clean up
+SET GLOBAL debug_dbug= "";
+SET GLOBAL master_verify_checksum = @old_master_verify_checksum;
+DROP TABLE t1;
+SET GLOBAL debug_dbug= "";
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_corruption.test b/mysql-test/suite/binlog_encryption/rpl_corruption.test
new file mode 100644
index 00000000000..310b0cef8e8
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_corruption.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_corruption.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_gtid_basic.cnf b/mysql-test/suite/binlog_encryption/rpl_gtid_basic.cnf
new file mode 100644
index 00000000000..ae47ef7a1fc
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_gtid_basic.cnf
@@ -0,0 +1,24 @@
+!include my.cnf
+
+[mysqld.1]
+log-slave-updates
+
+[mysqld.2]
+init-rpl-role= slave
+master-retry-count= 10
+skip-slave-start
+
+[mysqld.3]
+log-slave-updates
+innodb
+
+[mysqld.4]
+log-slave-updates
+innodb
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
+
+SERVER_MYPORT_4= @mysqld.4.port
+SERVER_MYSOCK_4= @mysqld.4.socket
diff --git a/mysql-test/suite/binlog_encryption/rpl_gtid_basic.result b/mysql-test/suite/binlog_encryption/rpl_gtid_basic.result
new file mode 100644
index 00000000000..8562818b623
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_gtid_basic.result
@@ -0,0 +1,481 @@
+include/rpl_init.inc [topology=1->2->3->4]
+*** GTID position should be empty here ***
+SELECT BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>);
+BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>)
+
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=MyISAM;
+CREATE TABLE t2 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, "m1");
+INSERT INTO t1 VALUES (2, "m2"), (3, "m3"), (4, "m4");
+INSERT INTO t2 VALUES (1, "i1");
+BEGIN;
+INSERT INTO t2 VALUES (2, "i2"), (3, "i3");
+INSERT INTO t2 VALUES (4, "i4");
+COMMIT;
+*** GTID position should be non-empty here ***
+SELECT BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>);
+BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>)
+<GTID_POS_SERVER_1>
+*** GTID position should be the same as on server_1 ***
+SELECT BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>);
+BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>)
+<GTID_POS_SERVER_1>
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+*** Now take out D, let it fall behind a bit, and then test re-attaching it to A ***
+include/stop_slave.inc
+INSERT INTO t1 VALUES (5, "m1a");
+INSERT INTO t2 VALUES (5, "i1a");
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+5 m1a
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+5 i1a
+*** Now move B to D (C is still replicating from B) ***
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_4,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+UPDATE t2 SET b="j1a" WHERE a=5;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+5 m1a
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+5 j1a
+*** Now move C to D, after letting it fall a little behind ***
+include/stop_slave.inc
+INSERT INTO t2 VALUES (6, "i6b");
+INSERT INTO t2 VALUES (7, "i7b");
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_4,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+5 j1a
+6 i6b
+7 i7b
+*** Now change everything back to what it was, to make rpl_end.inc happy
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_MYPORT;
+include/start_slave.inc
+include/wait_for_slave_to_start.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SLAVE_MYPORT;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_3;
+include/start_slave.inc
+DROP TABLE t1,t2;
+include/save_master_gtid.inc
+*** A few more checks for BINLOG_GTID_POS function ***
+SELECT BINLOG_GTID_POS();
+ERROR 42000: Incorrect parameter count in the call to native function 'BINLOG_GTID_POS'
+SELECT BINLOG_GTID_POS('a');
+ERROR 42000: Incorrect parameter count in the call to native function 'BINLOG_GTID_POS'
+SELECT BINLOG_GTID_POS('a',1,NULL);
+ERROR 42000: Incorrect parameter count in the call to native function 'BINLOG_GTID_POS'
+SELECT BINLOG_GTID_POS(1,'a');
+BINLOG_GTID_POS(1,'a')
+NULL
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'a'
+SELECT BINLOG_GTID_POS(NULL,NULL);
+BINLOG_GTID_POS(NULL,NULL)
+NULL
+SELECT BINLOG_GTID_POS('',1);
+BINLOG_GTID_POS('',1)
+
+SELECT BINLOG_GTID_POS('a',1);
+BINLOG_GTID_POS('a',1)
+NULL
+SELECT BINLOG_GTID_POS('master-bin.000001',-1);
+BINLOG_GTID_POS('master-bin.000001',-1)
+NULL
+SELECT BINLOG_GTID_POS('master-bin.000001',0);
+BINLOG_GTID_POS('master-bin.000001',0)
+
+SELECT BINLOG_GTID_POS('master-bin.000001',18446744073709551615);
+BINLOG_GTID_POS('master-bin.000001',18446744073709551615)
+NULL
+SELECT BINLOG_GTID_POS('master-bin.000001',18446744073709551616);
+BINLOG_GTID_POS('master-bin.000001',18446744073709551616)
+NULL
+Warnings:
+Warning 1916 Got overflow when converting '18446744073709551616' to INT. Value truncated.
+*** Some tests of @@GLOBAL.gtid_binlog_state ***
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET @old_state= @@GLOBAL.gtid_binlog_state;
+SET GLOBAL gtid_binlog_state = '';
+ERROR HY000: This operation is not allowed if any GTID has been logged to the binary log. Run RESET MASTER first to erase the log
+RESET MASTER;
+SET GLOBAL gtid_binlog_state = '';
+FLUSH LOGS;
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+SET GLOBAL gtid_binlog_state = '0-1-10,1-2-20,0-3-30';
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000001 # Start_encryption # #
+master-bin.000001 # Gtid_list # # [#-#-#]
+master-bin.000001 # Binlog_checkpoint # # master-bin.000001
+SET GLOBAL gtid_binlog_state = @old_state;
+ERROR HY000: This operation is not allowed if any GTID has been logged to the binary log. Run RESET MASTER first to erase the log
+RESET MASTER;
+SET GLOBAL gtid_binlog_state = @old_state;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+SET gtid_seq_no=100;
+INSERT INTO t1 VALUES (1);
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+a
+1
+Gtid_IO_Pos = '0-1-100'
+*** Test @@LAST_GTID and MASTER_GTID_WAIT() ***
+DROP TABLE t1;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+include/stop_slave.inc
+SELECT @@last_gtid;
+@@last_gtid
+
+SET gtid_seq_no=110;
+SELECT @@last_gtid;
+@@last_gtid
+
+BEGIN;
+SELECT @@last_gtid;
+@@last_gtid
+
+INSERT INTO t1 VALUES (2);
+SELECT @@last_gtid;
+@@last_gtid
+
+COMMIT;
+SELECT @@last_gtid;
+@@last_gtid
+0-1-110
+SET @pos= '0-1-110';
+SELECT master_gtid_wait(NULL);
+master_gtid_wait(NULL)
+NULL
+SELECT master_gtid_wait('', NULL);
+master_gtid_wait('', NULL)
+0
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 1
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 0
+SHOW STATUS LIKE 'Master_gtid_wait_time';
+Variable_name Value
+Master_gtid_wait_time 0
+SELECT master_gtid_wait(@pos, 0.5);
+master_gtid_wait(@pos, 0.5)
+-1
+SELECT * FROM t1 ORDER BY a;
+a
+SELECT master_gtid_wait(@pos);
+include/start_slave.inc
+master_gtid_wait(@pos)
+0
+SELECT * FROM t1 ORDER BY a;
+a
+2
+include/stop_slave.inc
+SET gtid_domain_id= 1;
+INSERT INTO t1 VALUES (3);
+SET @pos= 'POS';
+SELECT master_gtid_wait(@pos, 0);
+master_gtid_wait(@pos, 0)
+-1
+SELECT * FROM t1 WHERE a >= 3;
+a
+SELECT master_gtid_wait(@pos, -1);
+include/start_slave.inc
+master_gtid_wait(@pos, -1)
+0
+SELECT * FROM t1 WHERE a >= 3;
+a
+3
+SELECT master_gtid_wait('1-1-1', 0);
+master_gtid_wait('1-1-1', 0)
+0
+SELECT master_gtid_wait('2-1-1,1-1-4,0-1-110');
+SELECT master_gtid_wait('0-1-1000', 0.5);
+SELECT master_gtid_wait('0-1-2000');
+SELECT master_gtid_wait('2-1-10');
+SELECT master_gtid_wait('2-1-6', 1);
+SELECT master_gtid_wait('2-1-5');
+SELECT master_gtid_wait('2-1-10');
+SELECT master_gtid_wait('2-1-5,1-1-4,0-1-110');
+SELECT master_gtid_wait('2-1-2');
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 0
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 3
+SELECT master_gtid_wait('1-1-1');
+master_gtid_wait('1-1-1')
+0
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 0
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 4
+SET @a= MASTER_GTID_WAIT_TIME;
+SELECT IF(@a <= 100*1000*1000, "OK", CONCAT("Error: wait time ", @a, " is larger than expected"))
+AS Master_gtid_wait_time_as_expected;
+Master_gtid_wait_time_as_expected
+OK
+SELECT master_gtid_wait('0-1-109');
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 0
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 4
+SELECT master_gtid_wait('2-1-2', 0.5);
+master_gtid_wait('2-1-2', 0.5)
+-1
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 1
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 5
+SET @a= MASTER_GTID_WAIT_TIME;
+SELECT IF(@a BETWEEN 0.4*1000*1000 AND 100*1000*1000, "OK", CONCAT("Error: wait time ", @a, " not as expected")) AS Master_gtid_wait_time_as_expected;
+Master_gtid_wait_time_as_expected
+OK
+KILL QUERY KILL_ID;
+ERROR 70100: Query execution was interrupted
+SET gtid_domain_id=2;
+SET gtid_seq_no=2;
+INSERT INTO t1 VALUES (4);
+master_gtid_wait('2-1-2')
+0
+KILL CONNECTION KILL_ID;
+Got one of the listed errors
+SET gtid_domain_id=1;
+SET gtid_seq_no=4;
+INSERT INTO t1 VALUES (5);
+SET gtid_domain_id=2;
+SET gtid_seq_no=5;
+INSERT INTO t1 VALUES (6);
+master_gtid_wait('2-1-5,1-1-4,0-1-110')
+0
+master_gtid_wait('2-1-1,1-1-4,0-1-110')
+0
+master_gtid_wait('0-1-1000', 0.5)
+-1
+master_gtid_wait('2-1-6', 1)
+-1
+master_gtid_wait('0-1-109')
+0
+SET gtid_domain_id=2;
+SET gtid_seq_no=10;
+INSERT INTO t1 VALUES (7);
+master_gtid_wait('2-1-10')
+0
+master_gtid_wait('2-1-10')
+0
+*** Test gtid_slave_pos when used with GTID ***
+include/stop_slave.inc
+SET gtid_domain_id=2;
+SET gtid_seq_no=1000;
+INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (11);
+SET sql_slave_skip_counter= 1;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+11
+SELECT IF(LOCATE("2-1-1001", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1001 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+include/stop_slave.inc
+SET gtid_domain_id=2;
+SET gtid_seq_no=1010;
+INSERT INTO t1 VALUES (12);
+INSERT INTO t1 VALUES (13);
+SET sql_slave_skip_counter= 2;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+11
+13
+SELECT IF(LOCATE("2-1-1011", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1011 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+include/stop_slave.inc
+SET gtid_domain_id=2;
+SET gtid_seq_no=1020;
+INSERT INTO t1 VALUES (14);
+INSERT INTO t1 VALUES (15);
+INSERT INTO t1 VALUES (16);
+SET sql_slave_skip_counter= 3;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+11
+13
+15
+16
+SELECT IF(LOCATE("2-1-1022", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1022 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+include/stop_slave.inc
+SET gtid_domain_id=2;
+SET gtid_seq_no=1030;
+INSERT INTO t1 VALUES (17);
+INSERT INTO t1 VALUES (18);
+INSERT INTO t1 VALUES (19);
+SET sql_slave_skip_counter= 5;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+11
+13
+15
+16
+19
+SELECT IF(LOCATE("2-1-1032", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1032 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+include/stop_slave.inc
+SET gtid_domain_id=3;
+SET gtid_seq_no=100;
+CREATE TABLE t2 (a INT PRIMARY KEY);
+DROP TABLE t2;
+SET gtid_domain_id=2;
+SET gtid_seq_no=1040;
+INSERT INTO t1 VALUES (20);
+SET @saved_mode= @@GLOBAL.slave_ddl_exec_mode;
+SET GLOBAL slave_ddl_exec_mode=STRICT;
+SET sql_slave_skip_counter=1;
+START SLAVE UNTIL master_gtid_pos="3-1-100";
+include/sync_with_master_gtid.inc
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t2;
+ERROR 42S02: Table 'test.t2' doesn't exist
+SELECT IF(LOCATE("3-1-100", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 3-1-100 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Slave: Unknown table 'test\\.t2' Error_code: 1051");
+SET sql_log_bin=1;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1051]
+SELECT IF(LOCATE("3-1-100", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 3-1-100 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+STOP SLAVE IO_THREAD;
+SET sql_slave_skip_counter=2;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+20
+SELECT IF(LOCATE("3-1-101", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 3-1-101 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+SELECT IF(LOCATE("2-1-1040", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1040 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+SET GLOBAL slave_ddl_exec_mode= @saved_mode;
+*** Test GTID-connecting to a master with out-of-order sequence numbers in the binlog. ***
+SET gtid_domain_id= @@GLOBAL.gtid_domain_id;
+INSERT INTO t1 VALUES (31);
+SET gtid_domain_id= @@GLOBAL.gtid_domain_id;
+INSERT INTO t1 VALUES (32);
+INSERT INTO t1 VALUES (33);
+include/stop_slave.inc
+INSERT INTO t1 VALUES (34);
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+33
+34
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+33
+34
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_gtid_basic.test b/mysql-test/suite/binlog_encryption/rpl_gtid_basic.test
new file mode 100644
index 00000000000..70be6fbff1f
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_gtid_basic.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_gtid_basic.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_incident.cnf b/mysql-test/suite/binlog_encryption/rpl_incident.cnf
new file mode 100644
index 00000000000..7294976f6e2
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_incident.cnf
@@ -0,0 +1,7 @@
+!include my.cnf
+
+[mysqld.1]
+binlog_checksum=NONE
+
+[mysqld.2]
+binlog_checksum=NONE
diff --git a/mysql-test/suite/binlog_encryption/rpl_incident.result b/mysql-test/suite/binlog_encryption/rpl_incident.result
new file mode 100644
index 00000000000..7cb8168c6a9
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_incident.result
@@ -0,0 +1,38 @@
+include/master-slave.inc
+[connection master]
+**** On Master ****
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+SELECT * FROM t1;
+a
+1
+2
+3
+SET GLOBAL debug_dbug= '+d,incident_database_resync_on_replace,*';
+REPLACE INTO t1 VALUES (4);
+SELECT * FROM t1;
+a
+1
+2
+3
+4
+call mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occurred on the master.* 1590");
+include/wait_for_slave_sql_error.inc [errno=1590]
+Last_SQL_Error = 'The incident LOST_EVENTS occurred on the master. Message: <none>'
+**** On Slave ****
+SELECT * FROM t1;
+a
+1
+2
+3
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+SELECT * FROM t1;
+a
+1
+2
+3
+4
+include/check_slave_is_running.inc
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_incident.test b/mysql-test/suite/binlog_encryption/rpl_incident.test
new file mode 100644
index 00000000000..9be855e1a8b
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_incident.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_incident.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_init_slave_errors.result b/mysql-test/suite/binlog_encryption/rpl_init_slave_errors.result
new file mode 100644
index 00000000000..57c0bb129fa
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_init_slave_errors.result
@@ -0,0 +1,19 @@
+include/master-slave.inc
+[connection master]
+stop slave;
+reset slave;
+SET GLOBAL debug_dbug= "d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
+start slave;
+include/wait_for_slave_sql_error.inc [errno=1593]
+Last_SQL_Error = 'Failed during slave thread initialization'
+call mtr.add_suppression("Failed during slave.* thread initialization");
+SET GLOBAL debug_dbug= "";
+reset slave;
+SET GLOBAL init_slave= "garbage";
+start slave;
+include/wait_for_slave_sql_error.inc [errno=1064]
+Last_SQL_Error = 'Slave SQL thread aborted. Can't execute init_slave query'
+SET GLOBAL init_slave= "";
+include/stop_slave_io.inc
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_init_slave_errors.test b/mysql-test/suite/binlog_encryption/rpl_init_slave_errors.test
new file mode 100644
index 00000000000..6f515b9390a
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_init_slave_errors.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_init_slave_errors.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_loaddata_local.result b/mysql-test/suite/binlog_encryption/rpl_loaddata_local.result
new file mode 100644
index 00000000000..16fd3f19c4a
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_loaddata_local.result
@@ -0,0 +1,125 @@
+include/master-slave.inc
+[connection master]
+create table t1(a int);
+select * into outfile 'MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' from t1;
+truncate table t1;
+load data local infile 'MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' into table t1;
+select a,count(*) from t1 group by a;
+a count(*)
+1 10000
+drop table t1;
+create table t1(a int);
+insert into t1 values (1), (2), (2), (3);
+select * into outfile 'MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' from t1;
+drop table t1;
+create table t1(a int primary key);
+load data local infile 'MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' into table t1;
+Warnings:
+Warning 1062 Duplicate entry '2' for key 'PRIMARY'
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+drop table t1;
+==== Bug22504 Initialize ====
+[on master]
+SET sql_mode='ignore_space';
+CREATE TABLE t1(a int);
+insert into t1 values (1), (2), (3), (4);
+select * into outfile 'MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' from t1;
+truncate table t1;
+load data local infile 'MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' into table t1;
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+[on slave]
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+==== Clean up ====
+[on master]
+DROP TABLE t1;
+[on slave]
+
+Bug #43746:
+"return wrong query string when parse 'load data infile' sql statement"
+
+[master]
+SELECT @@SESSION.sql_mode INTO @old_mode;
+SET sql_mode='ignore_space';
+CREATE TABLE t1(a int);
+INSERT INTO t1 VALUES (1), (2), (3), (4);
+SELECT * INTO OUTFILE 'MYSQLD_DATADIR/bug43746.sql' FROM t1;
+TRUNCATE TABLE t1;
+LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
+LOAD/* look mum, with comments in weird places! */DATA/* oh hai */LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql'/* we are */INTO/* from the internets */TABLE t1;
+LOAD DATA/*!10000 LOCAL */INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
+LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' /*!10000 INTO */ TABLE t1;
+LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' /*!10000 INTO TABLE */ t1;
+LOAD DATA /*!10000 LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO TABLE */ t1;
+LOAD DATA/*!10000 LOCAL */INFILE 'MYSQLD_DATADIR/bug43746.sql'/*!10000 INTO*/TABLE t1;
+LOAD DATA/*!10000 LOCAL */INFILE 'MYSQLD_DATADIR/bug43746.sql'/* empty */INTO TABLE t1;
+LOAD DATA/*!10000 LOCAL */INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO/* empty */TABLE t1;
+LOAD/*!999999 special comments that do not expand */DATA/*!999999 code from the future */LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql'/*!999999 have flux capacitor */INTO/*!999999 will travel */TABLE t1;
+SET sql_mode='PIPES_AS_CONCAT,ANSI_QUOTES,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER';
+LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
+[slave]
+
+Bug #59267:
+"LOAD DATA LOCAL INFILE not executed on slave with SBR"
+
+[master]
+SELECT * INTO OUTFILE 'MYSQLD_DATADIR/bug59267.sql' FROM t1;
+TRUNCATE TABLE t1;
+LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug59267.sql' INTO TABLE t1;
+SELECT 'Master', COUNT(*) FROM t1;
+Master COUNT(*)
+Master 44
+[slave]
+SELECT 'Slave', COUNT(*) FROM t1;
+Slave COUNT(*)
+Slave 44
+[master]
+DROP TABLE t1;
+SET SESSION sql_mode=@old_mode;
+[slave]
+
+Bug #60580/#11902767:
+"statement improperly replicated crashes slave sql thread"
+
+[master]
+CREATE TABLE t1(f1 INT, f2 INT);
+CREATE TABLE t2(f1 INT, f2 TIMESTAMP);
+INSERT INTO t2 VALUES(1, '2011-03-22 21:01:28');
+INSERT INTO t2 VALUES(2, '2011-03-21 21:01:28');
+INSERT INTO t2 VALUES(3, '2011-03-20 21:01:28');
+CREATE TABLE t3 AS SELECT * FROM t2;
+CREATE VIEW v1 AS SELECT * FROM t2
+WHERE f1 IN (SELECT f1 FROM t3 WHERE (t3.f2 IS NULL));
+SELECT 1 INTO OUTFILE 'MYSQLD_DATADIR/bug60580.csv' FROM DUAL;
+LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug60580.csv' INTO TABLE t1 (@f1) SET f2 = (SELECT f1 FROM v1 WHERE f1=@f1);
+SELECT * FROM t1;
+f1 f2
+NULL NULL
+[slave]
+SELECT * FROM t1;
+f1 f2
+NULL NULL
+[master]
+DROP VIEW v1;
+DROP TABLE t1, t2, t3;
+[slave]
+include/rpl_end.inc
+# End of 5.1 tests
diff --git a/mysql-test/suite/binlog_encryption/rpl_loaddata_local.test b/mysql-test/suite/binlog_encryption/rpl_loaddata_local.test
new file mode 100644
index 00000000000..8d90afaed27
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_loaddata_local.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_loaddata_local.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_loadfile.result b/mysql-test/suite/binlog_encryption/rpl_loadfile.result
new file mode 100644
index 00000000000..25d50660bde
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_loadfile.result
@@ -0,0 +1,242 @@
+include/master-slave.inc
+[connection master]
+DROP PROCEDURE IF EXISTS test.p1;
+DROP TABLE IF EXISTS test.t1;
+CREATE TABLE test.t1 (a INT, blob_column LONGBLOB, PRIMARY KEY(a));
+INSERT INTO test.t1 VALUES(1,'test');
+UPDATE test.t1 SET blob_column=LOAD_FILE('../../std_data/words2.dat') WHERE a=1;
+create procedure test.p1()
+begin
+INSERT INTO test.t1 VALUES(2,'test');
+UPDATE test.t1 SET blob_column=LOAD_FILE('../../std_data/words2.dat') WHERE a=2;
+end|
+CALL test.p1();
+SELECT * FROM test.t1 ORDER BY blob_column;
+a blob_column
+1 abase
+abased
+abasement
+abasements
+abases
+abash
+abashed
+abashes
+abashing
+abasing
+abate
+abated
+abatement
+abatements
+abater
+abates
+abating
+Abba
+abbe
+abbey
+abbeys
+abbot
+abbots
+Abbott
+abbreviate
+abbreviated
+abbreviates
+abbreviating
+abbreviation
+abbreviations
+Abby
+abdomen
+abdomens
+abdominal
+abduct
+abducted
+abduction
+abductions
+abductor
+abductors
+abducts
+Abe
+abed
+Abel
+Abelian
+Abelson
+Aberdeen
+Abernathy
+aberrant
+aberration
+
+2 abase
+abased
+abasement
+abasements
+abases
+abash
+abashed
+abashes
+abashing
+abasing
+abate
+abated
+abatement
+abatements
+abater
+abates
+abating
+Abba
+abbe
+abbey
+abbeys
+abbot
+abbots
+Abbott
+abbreviate
+abbreviated
+abbreviates
+abbreviating
+abbreviation
+abbreviations
+Abby
+abdomen
+abdomens
+abdominal
+abduct
+abducted
+abduction
+abductions
+abductor
+abductors
+abducts
+Abe
+abed
+Abel
+Abelian
+Abelson
+Aberdeen
+Abernathy
+aberrant
+aberration
+
+SELECT * FROM test.t1 ORDER BY blob_column;
+a blob_column
+1 abase
+abased
+abasement
+abasements
+abases
+abash
+abashed
+abashes
+abashing
+abasing
+abate
+abated
+abatement
+abatements
+abater
+abates
+abating
+Abba
+abbe
+abbey
+abbeys
+abbot
+abbots
+Abbott
+abbreviate
+abbreviated
+abbreviates
+abbreviating
+abbreviation
+abbreviations
+Abby
+abdomen
+abdomens
+abdominal
+abduct
+abducted
+abduction
+abductions
+abductor
+abductors
+abducts
+Abe
+abed
+Abel
+Abelian
+Abelson
+Aberdeen
+Abernathy
+aberrant
+aberration
+
+2 abase
+abased
+abasement
+abasements
+abases
+abash
+abashed
+abashes
+abashing
+abasing
+abate
+abated
+abatement
+abatements
+abater
+abates
+abating
+Abba
+abbe
+abbey
+abbeys
+abbot
+abbots
+Abbott
+abbreviate
+abbreviated
+abbreviates
+abbreviating
+abbreviation
+abbreviations
+Abby
+abdomen
+abdomens
+abdominal
+abduct
+abducted
+abduction
+abductions
+abductor
+abductors
+abducts
+Abe
+abed
+Abel
+Abelian
+Abelson
+Aberdeen
+Abernathy
+aberrant
+aberration
+
+DROP PROCEDURE IF EXISTS test.p1;
+DROP TABLE test.t1;
+include/rpl_reset.inc
+SELECT repeat('x',20) INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug_39701.data';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (t text);
+CREATE PROCEDURE p(file varchar(4096))
+BEGIN
+INSERT INTO t1 VALUES (LOAD_FILE(file));
+END|
+include/stop_slave.inc
+CALL p('MYSQLTEST_VARDIR/tmp/bug_39701.data');
+include/start_slave.inc
+include/diff_tables.inc [master:t1, slave:t1]
+DROP TABLE t1;
+DROP PROCEDURE p;
+include/rpl_end.inc
+#
+# Check that the loaded data is encrypted in the master binlog
+#
+NOT FOUND /xxxxxxxxxxx/ in master-bin.0*
diff --git a/mysql-test/suite/binlog_encryption/rpl_loadfile.test b/mysql-test/suite/binlog_encryption/rpl_loadfile.test
new file mode 100644
index 00000000000..97886ca0f48
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_loadfile.test
@@ -0,0 +1,11 @@
+--source extra/rpl_tests/rpl_loadfile.inc
+
+--let $datadir= `SELECT @@datadir`
+
+--echo #
+--echo # Check that the loaded data is encrypted in the master binlog
+--echo #
+
+--let SEARCH_FILE=$datadir/master-bin.0*
+--let SEARCH_PATTERN= xxxxxxxxxxx
+--source include/search_pattern_in_file.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_mixed_binlog_max_cache_size.result b/mysql-test/suite/binlog_encryption/rpl_mixed_binlog_max_cache_size.result
new file mode 100644
index 00000000000..80f76169472
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_mixed_binlog_max_cache_size.result
@@ -0,0 +1,186 @@
+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 max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
+CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
+CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
+CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
+########################################################################################
+# 1 - SINGLE STATEMENT
+########################################################################################
+*** Single statement on transactional table ***
+Got one of the listed errors
+*** Single statement on non-transactional table ***
+Got one of the listed errors
+include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
+*** Single statement on both transactional and non-transactional tables. ***
+Got one of the listed errors
+include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################################
+# 2 - BEGIN - IMPLICIT COMMIT by DDL
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+set default_storage_engine=innodb;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+INSERT INTO t1 (a, data) VALUES (7, 's');;
+INSERT INTO t2 (a, data) VALUES (8, 's');;
+INSERT INTO t1 (a, data) VALUES (9, 's');;
+ALTER TABLE t3 ADD COLUMN d int;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+INSERT INTO t1 (a, data) VALUES (19, 's');;
+INSERT INTO t2 (a, data) VALUES (20, 's');;
+INSERT INTO t1 (a, data) VALUES (21, 's');;
+CREATE TABLE t4 SELECT * FROM t1;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+INSERT INTO t1 (a, data) VALUES (27, 's');;
+INSERT INTO t2 (a, data) VALUES (28, 's');;
+INSERT INTO t1 (a, data) VALUES (29, 's');;
+CREATE TABLE t5 (a int);
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################################
+# 3 - BEGIN - COMMIT
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+COMMIT;
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################################
+# 4 - BEGIN - ROLLBACK
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+ROLLBACK;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################################
+# 5 - PROCEDURE
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+CREATE PROCEDURE p1(pd VARCHAR(30000))
+BEGIN
+INSERT INTO t1 (a, data) VALUES (1, pd);
+INSERT INTO t1 (a, data) VALUES (2, pd);
+INSERT INTO t1 (a, data) VALUES (3, pd);
+INSERT INTO t1 (a, data) VALUES (4, pd);
+INSERT INTO t1 (a, data) VALUES (5, 's');
+END//
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t1;
+BEGIN;
+Got one of the listed errors
+COMMIT;
+TRUNCATE TABLE t1;
+BEGIN;
+Got one of the listed errors
+ROLLBACK;
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################################
+# 6 - XID
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+INSERT INTO t1 (a, data) VALUES (7, 's');;
+INSERT INTO t2 (a, data) VALUES (8, 's');;
+INSERT INTO t1 (a, data) VALUES (9, 's');;
+ROLLBACK TO sv;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+COMMIT;
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################################
+# 7 - NON-TRANS TABLE
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+INSERT INTO t1 (a, data) VALUES (8, 's');;
+INSERT INTO t1 (a, data) VALUES (9, 's');;
+INSERT INTO t2 (a, data) VALUES (10, 's');;
+INSERT INTO t1 (a, data) VALUES (11, 's');;
+COMMIT;
+BEGIN;
+Got one of the listed errors
+COMMIT;
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################
+# 8 - Bug#55375(Regression Bug) Transaction bigger than
+# max_binlog_cache_size crashes slave
+########################################################################
+# [ On Slave ]
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
+include/stop_slave.inc
+include/start_slave.inc
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
+CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occurred on the master. Message: error writing to the binary log");
+TRUNCATE t1;
+SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
+BEGIN;
+Repeat statement 'INSERT INTO t1 VALUES($n, repeat("a", 32))' 128 times
+COMMIT;
+include/wait_for_slave_sql_error.inc [errno=1197]
+SELECT count(*) FROM t1;
+count(*)
+0
+include/show_binlog_events.inc
+SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
+include/stop_slave.inc
+include/start_slave.inc
+SELECT count(*) FROM t1;
+count(*)
+128
+########################################################################################
+# CLEAN
+########################################################################################
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE IF EXISTS t4;
+DROP TABLE t5;
+DROP PROCEDURE p1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_mixed_binlog_max_cache_size.test b/mysql-test/suite/binlog_encryption/rpl_mixed_binlog_max_cache_size.test
new file mode 100644
index 00000000000..8fb7350b815
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_mixed_binlog_max_cache_size.test
@@ -0,0 +1,7 @@
+--source include/master-slave.inc
+--source include/not_embedded.inc
+--source include/not_windows.inc
+--source include/have_binlog_format_mixed.inc
+
+--source extra/rpl_tests/rpl_binlog_max_cache_size.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_packet.cnf b/mysql-test/suite/binlog_encryption/rpl_packet.cnf
new file mode 100644
index 00000000000..0f01aec7437
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_packet.cnf
@@ -0,0 +1,10 @@
+!include my.cnf
+
+[mysqld.1]
+max_allowed_packet=1024
+net_buffer_length=1024
+
+[mysqld.2]
+max_allowed_packet=1024
+net_buffer_length=1024
+slave_max_allowed_packet=1024
diff --git a/mysql-test/suite/binlog_encryption/rpl_packet.result b/mysql-test/suite/binlog_encryption/rpl_packet.result
new file mode 100644
index 00000000000..07558053287
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_packet.result
@@ -0,0 +1,58 @@
+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");
+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_____________________;
+SET @@global.max_allowed_packet=1024;
+SET @@global.net_buffer_length=1024;
+include/stop_slave.inc
+include/start_slave.inc
+select @@net_buffer_length, @@max_allowed_packet;
+@@net_buffer_length @@max_allowed_packet
+1024 1024
+create table `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
+INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1023');
+select count(*) from `DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________`.`t1` /* must be 1 */;
+count(*)
+1
+SHOW STATUS LIKE 'Slave_running';
+Variable_name Value
+Slave_running ON
+select * from information_schema.session_status where variable_name= 'SLAVE_RUNNING';
+VARIABLE_NAME VARIABLE_VALUE
+SLAVE_RUNNING ON
+drop database DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
+SET @@global.max_allowed_packet=4096;
+SET @@global.net_buffer_length=4096;
+include/stop_slave.inc
+include/start_slave.inc
+CREATE TABLE `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
+INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
+include/wait_for_slave_io_error.inc [errno=1153]
+Last_IO_Error = 'Got a packet bigger than 'slave_max_allowed_packet' bytes'
+include/stop_slave_sql.inc
+include/rpl_reset.inc
+DROP TABLE t1;
+CREATE TABLE t1 (f1 int PRIMARY KEY, f2 LONGTEXT, f3 LONGTEXT) ENGINE=MyISAM;
+INSERT INTO t1(f1, f2, f3) VALUES(1, REPEAT('a', @@global.max_allowed_packet), REPEAT('b', @@global.max_allowed_packet));
+include/wait_for_slave_io_error.inc [errno=1153]
+Last_IO_Error = 'Got a packet bigger than 'slave_max_allowed_packet' bytes'
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+SET @max_allowed_packet_0= @@session.max_allowed_packet;
+SHOW BINLOG EVENTS;
+SET @max_allowed_packet_1= @@session.max_allowed_packet;
+SHOW BINLOG EVENTS;
+SET @max_allowed_packet_2= @@session.max_allowed_packet;
+==== clean up ====
+DROP TABLE t1;
+SET @@global.max_allowed_packet= 1024;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
+SET @@global.net_buffer_length= 1024;
+SET @@global.slave_max_allowed_packet= 1073741824;
+DROP TABLE t1;
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_packet.test b/mysql-test/suite/binlog_encryption/rpl_packet.test
new file mode 100644
index 00000000000..31357cb148e
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_packet.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_packet.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel.result b/mysql-test/suite/binlog_encryption/rpl_parallel.result
new file mode 100644
index 00000000000..34d23e6bf66
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel.result
@@ -0,0 +1,1774 @@
+include/master-slave.inc
+[connection master]
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=10;
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+SELECT IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*)))
+OK
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+SELECT IF(COUNT(*) >= 10, "OK", CONCAT("Found too few system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) >= 10, "OK", CONCAT("Found too few system user processes: ", COUNT(*)))
+OK
+include/stop_slave.inc
+SELECT IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*)))
+OK
+include/start_slave.inc
+SELECT IF(COUNT(*) >= 10, "OK", CONCAT("Found too few system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) >= 10, "OK", CONCAT("Found too few system user processes: ", COUNT(*)))
+OK
+*** Test long-running query in domain 1 can run in parallel with short queries in domain 0 ***
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY) ENGINE=MyISAM;
+CREATE TABLE t2 (a int PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+LOCK TABLE t1 WRITE;
+SET gtid_domain_id=1;
+INSERT INTO t1 VALUES (2);
+SET gtid_domain_id=0;
+INSERT INTO t2 VALUES (2);
+INSERT INTO t2 VALUES (3);
+BEGIN;
+INSERT INTO t2 VALUES (4);
+INSERT INTO t2 VALUES (5);
+COMMIT;
+INSERT INTO t2 VALUES (6);
+SELECT * FROM t2 ORDER by a;
+a
+1
+2
+3
+4
+5
+6
+SELECT * FROM t1;
+a
+1
+UNLOCK TABLES;
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+*** Test two transactions in different domains committed in opposite order on slave but in a single group commit. ***
+include/stop_slave.inc
+SET sql_log_bin=0;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+SET gtid_domain_id=1;
+INSERT INTO t2 VALUES (foo(10,
+'commit_before_enqueue SIGNAL ready1 WAIT_FOR cont1',
+'commit_after_release_LOCK_prepare_ordered SIGNAL ready2'));
+FLUSH LOGS;
+SET sql_log_bin=0;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+SET @old_format=@@GLOBAL.binlog_format;
+SET GLOBAL binlog_format=statement;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+SET debug_sync='now WAIT_FOR ready1';
+SET gtid_domain_id=2;
+INSERT INTO t2 VALUES (foo(11,
+'commit_before_enqueue SIGNAL ready3 WAIT_FOR cont3',
+'commit_after_release_LOCK_prepare_ordered SIGNAL ready4 WAIT_FOR cont4'));
+SET gtid_domain_id=0;
+SELECT * FROM t2 WHERE a >= 10 ORDER BY a;
+a
+10
+11
+SET debug_sync='now WAIT_FOR ready3';
+SET debug_sync='now SIGNAL cont3';
+SET debug_sync='now WAIT_FOR ready4';
+SET debug_sync='now SIGNAL cont1';
+SET debug_sync='now WAIT_FOR ready2';
+SET debug_sync='now SIGNAL cont4';
+SELECT * FROM t2 WHERE a >= 10 ORDER BY a;
+a
+10
+11
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000002 # Binlog_checkpoint # # slave-bin.000002
+slave-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000002 # Query # # use `test`; INSERT INTO t2 VALUES (foo(11,
+'commit_before_enqueue SIGNAL ready3 WAIT_FOR cont3',
+'commit_after_release_LOCK_prepare_ordered SIGNAL ready4 WAIT_FOR cont4'))
+slave-bin.000002 # Xid # # COMMIT /* XID */
+slave-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000002 # Query # # use `test`; INSERT INTO t2 VALUES (foo(10,
+'commit_before_enqueue SIGNAL ready1 WAIT_FOR cont1',
+'commit_after_release_LOCK_prepare_ordered SIGNAL ready2'))
+slave-bin.000002 # Xid # # COMMIT /* XID */
+FLUSH LOGS;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET debug_sync='RESET';
+include/start_slave.inc
+*** Test that group-committed transactions on the master can replicate in parallel on the slave. ***
+SET debug_sync='RESET';
+FLUSH LOGS;
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t3 VALUES (1,1), (3,3), (5,5), (7,7);
+BEGIN;
+INSERT INTO t3 VALUES (2,102);
+BEGIN;
+INSERT INTO t3 VALUES (4,104);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (2, foo(12,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued1 WAIT_FOR slave_cont1',
+''));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (4, foo(14,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued2',
+''));
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (6, foo(16,
+'group_commit_waiting_for_prior SIGNAL slave_queued3',
+''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+SELECT * FROM t3 ORDER BY a;
+a b
+1 1
+2 12
+3 3
+4 14
+5 5
+6 16
+7 7
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Binlog_checkpoint # # master-bin.000001
+master-bin.000002 # Binlog_checkpoint # # master-bin.000002
+master-bin.000002 # Gtid # # GTID #-#-#
+master-bin.000002 # Query # # use `test`; CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; INSERT INTO t3 VALUES (1,1), (3,3), (5,5), (7,7)
+master-bin.000002 # Xid # # COMMIT /* XID */
+master-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+master-bin.000002 # Query # # use `test`; INSERT INTO t3 VALUES (2, foo(12,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued1 WAIT_FOR slave_cont1',
+''))
+master-bin.000002 # Xid # # COMMIT /* XID */
+master-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+master-bin.000002 # Query # # use `test`; INSERT INTO t3 VALUES (4, foo(14,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued2',
+''))
+master-bin.000002 # Xid # # COMMIT /* XID */
+master-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+master-bin.000002 # Query # # use `test`; INSERT INTO t3 VALUES (6, foo(16,
+'group_commit_waiting_for_prior SIGNAL slave_queued3',
+''))
+master-bin.000002 # Xid # # COMMIT /* XID */
+SET debug_sync='now WAIT_FOR slave_queued3';
+ROLLBACK;
+SET debug_sync='now WAIT_FOR slave_queued1';
+ROLLBACK;
+SET debug_sync='now WAIT_FOR slave_queued2';
+SET debug_sync='now SIGNAL slave_cont1';
+SELECT * FROM t3 ORDER BY a;
+a b
+1 1
+2 12
+3 3
+4 14
+5 5
+6 16
+7 7
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000003 # Binlog_checkpoint # # slave-bin.000003
+slave-bin.000003 # Gtid # # GTID #-#-#
+slave-bin.000003 # Query # # use `test`; CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
+slave-bin.000003 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000003 # Query # # use `test`; INSERT INTO t3 VALUES (1,1), (3,3), (5,5), (7,7)
+slave-bin.000003 # Xid # # COMMIT /* XID */
+slave-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000003 # Query # # use `test`; INSERT INTO t3 VALUES (2, foo(12,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued1 WAIT_FOR slave_cont1',
+''))
+slave-bin.000003 # Xid # # COMMIT /* XID */
+slave-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000003 # Query # # use `test`; INSERT INTO t3 VALUES (4, foo(14,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued2',
+''))
+slave-bin.000003 # Xid # # COMMIT /* XID */
+slave-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000003 # Query # # use `test`; INSERT INTO t3 VALUES (6, foo(16,
+'group_commit_waiting_for_prior SIGNAL slave_queued3',
+''))
+slave-bin.000003 # Xid # # COMMIT /* XID */
+*** Test STOP SLAVE in parallel mode ***
+include/stop_slave.inc
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET binlog_direct_non_transactional_updates=0;
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction");
+SET sql_log_bin=1;
+BEGIN;
+INSERT INTO t2 VALUES (20);
+INSERT INTO t1 VALUES (20);
+INSERT INTO t2 VALUES (21);
+INSERT INTO t3 VALUES (20, 20);
+COMMIT;
+INSERT INTO t3 VALUES(21, 21);
+INSERT INTO t3 VALUES(22, 22);
+SET binlog_format=@old_format;
+BEGIN;
+INSERT INTO t2 VALUES (21);
+START SLAVE;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_wait_for_done_trigger";
+STOP SLAVE;
+SET debug_sync='now WAIT_FOR wait_for_done_waiting';
+ROLLBACK;
+SET GLOBAL debug_dbug=@old_dbug;
+SET debug_sync='RESET';
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+20
+SELECT * FROM t2 WHERE a >= 20 ORDER BY a;
+a
+20
+21
+SELECT * FROM t3 WHERE a >= 20 ORDER BY a;
+a b
+20 20
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+20
+SELECT * FROM t2 WHERE a >= 20 ORDER BY a;
+a
+20
+21
+SELECT * FROM t3 WHERE a >= 20 ORDER BY a;
+a b
+20 20
+21 21
+22 22
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** Test killing slave threads at various wait points ***
+*** 1. Test killing transaction waiting in commit for previous transaction to commit ***
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (31, foo(31,
+'commit_before_prepare_ordered WAIT_FOR t2_waiting',
+'commit_after_prepare_ordered SIGNAL t1_ready WAIT_FOR t1_cont'));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+BEGIN;
+INSERT INTO t3 VALUES (32, foo(32,
+'ha_write_row_end SIGNAL t2_query WAIT_FOR t2_cont',
+''));
+INSERT INTO t3 VALUES (33, foo(33,
+'group_commit_waiting_for_prior SIGNAL t2_waiting',
+'group_commit_waiting_for_prior_killed SIGNAL t2_killed'));
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (34, foo(34,
+'',
+''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+a b
+31 31
+32 32
+33 33
+34 34
+SET debug_sync='RESET';
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Query execution was interrupted");
+CALL mtr.add_suppression("Commit failed due to failure of an earlier commit on which this one depends");
+CALL mtr.add_suppression("Slave: Connection was killed");
+SET sql_log_bin=1;
+SET debug_sync='now WAIT_FOR t2_query';
+SET debug_sync='now SIGNAL t2_cont';
+SET debug_sync='now WAIT_FOR t1_ready';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR t2_killed';
+SET debug_sync='now SIGNAL t1_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+STOP SLAVE IO_THREAD;
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+a b
+31 31
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+INSERT INTO t3 VALUES (39,0);
+include/start_slave.inc
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+a b
+31 31
+32 32
+33 33
+34 34
+39 0
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** 2. Same as (1), but without restarting IO thread after kill of SQL threads ***
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (41, foo(41,
+'commit_before_prepare_ordered WAIT_FOR t2_waiting',
+'commit_after_prepare_ordered SIGNAL t1_ready WAIT_FOR t1_cont'));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+BEGIN;
+INSERT INTO t3 VALUES (42, foo(42,
+'ha_write_row_end SIGNAL t2_query WAIT_FOR t2_cont',
+''));
+INSERT INTO t3 VALUES (43, foo(43,
+'group_commit_waiting_for_prior SIGNAL t2_waiting',
+'group_commit_waiting_for_prior_killed SIGNAL t2_killed'));
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (44, foo(44,
+'',
+''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SELECT * FROM t3 WHERE a >= 40 ORDER BY a;
+a b
+41 41
+42 42
+43 43
+44 44
+SET debug_sync='RESET';
+SET debug_sync='now WAIT_FOR t2_query';
+SET debug_sync='now SIGNAL t2_cont';
+SET debug_sync='now WAIT_FOR t1_ready';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR t2_killed';
+SET debug_sync='now SIGNAL t1_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+INSERT INTO t3 VALUES (49,0);
+START SLAVE SQL_THREAD;
+SELECT * FROM t3 WHERE a >= 40 ORDER BY a;
+a b
+41 41
+42 42
+43 43
+44 44
+49 0
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+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 ***
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=no;
+include/start_slave.inc
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (51, foo(51,
+'commit_before_prepare_ordered WAIT_FOR t2_waiting',
+'commit_after_prepare_ordered SIGNAL t1_ready WAIT_FOR t1_cont'));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+BEGIN;
+INSERT INTO t3 VALUES (52, foo(52,
+'ha_write_row_end SIGNAL t2_query WAIT_FOR t2_cont',
+''));
+INSERT INTO t3 VALUES (53, foo(53,
+'group_commit_waiting_for_prior SIGNAL t2_waiting',
+'group_commit_waiting_for_prior_killed SIGNAL t2_killed'));
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (54, foo(54,
+'',
+''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SELECT * FROM t3 WHERE a >= 50 ORDER BY a;
+a b
+51 51
+52 52
+53 53
+54 54
+SET debug_sync='RESET';
+SET debug_sync='now WAIT_FOR t2_query';
+SET debug_sync='now SIGNAL t2_cont';
+SET debug_sync='now WAIT_FOR t1_ready';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR t2_killed';
+SET debug_sync='now SIGNAL t1_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+SELECT * FROM t3 WHERE a >= 50 ORDER BY a;
+a b
+51 51
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+INSERT INTO t3 VALUES (59,0);
+START SLAVE SQL_THREAD;
+SELECT * FROM t3 WHERE a >= 50 ORDER BY a;
+a b
+51 51
+52 52
+53 53
+54 54
+59 0
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=4;
+include/start_slave.inc
+*** 4. Test killing thread that is waiting to start transaction until previous transaction commits ***
+SET binlog_format=statement;
+SET gtid_domain_id=2;
+BEGIN;
+INSERT INTO t3 VALUES (70, foo(70,
+'rpl_parallel_start_waiting_for_prior SIGNAL t4_waiting', ''));
+INSERT INTO t3 VALUES (60, foo(60,
+'ha_write_row_end SIGNAL d2_query WAIT_FOR d2_cont2',
+'rpl_parallel_end_of_group SIGNAL d2_done WAIT_FOR d2_cont'));
+COMMIT;
+SET gtid_domain_id=0;
+SET debug_sync='now WAIT_FOR d2_query';
+SET gtid_domain_id=1;
+BEGIN;
+INSERT INTO t3 VALUES (61, foo(61,
+'rpl_parallel_start_waiting_for_prior SIGNAL t3_waiting',
+'rpl_parallel_start_waiting_for_prior_killed SIGNAL t3_killed'));
+INSERT INTO t3 VALUES (62, foo(62,
+'ha_write_row_end SIGNAL d1_query WAIT_FOR d1_cont2',
+'rpl_parallel_end_of_group SIGNAL d1_done WAIT_FOR d1_cont'));
+COMMIT;
+SET gtid_domain_id=0;
+SET debug_sync='now WAIT_FOR d1_query';
+SET gtid_domain_id=0;
+INSERT INTO t3 VALUES (63, foo(63,
+'ha_write_row_end SIGNAL d0_query WAIT_FOR d0_cont2',
+'rpl_parallel_end_of_group SIGNAL d0_done WAIT_FOR d0_cont'));
+SET debug_sync='now WAIT_FOR d0_query';
+SET gtid_domain_id=3;
+BEGIN;
+INSERT INTO t3 VALUES (68, foo(68,
+'rpl_parallel_start_waiting_for_prior SIGNAL t2_waiting', ''));
+INSERT INTO t3 VALUES (69, foo(69,
+'ha_write_row_end SIGNAL d3_query WAIT_FOR d3_cont2',
+'rpl_parallel_end_of_group SIGNAL d3_done WAIT_FOR d3_cont'));
+COMMIT;
+SET gtid_domain_id=0;
+SET debug_sync='now WAIT_FOR d3_query';
+SET debug_sync='now SIGNAL d2_cont2';
+SET debug_sync='now WAIT_FOR d2_done';
+SET debug_sync='now SIGNAL d1_cont2';
+SET debug_sync='now WAIT_FOR d1_done';
+SET debug_sync='now SIGNAL d0_cont2';
+SET debug_sync='now WAIT_FOR d0_done';
+SET debug_sync='now SIGNAL d3_cont2';
+SET debug_sync='now WAIT_FOR d3_done';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (64, foo(64,
+'rpl_parallel_before_mark_start_commit SIGNAL t1_waiting WAIT_FOR t1_cont', ''));
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2 WAIT_FOR master_cont2';
+INSERT INTO t3 VALUES (65, foo(65, '', ''));
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+INSERT INTO t3 VALUES (66, foo(66, '', ''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued4';
+INSERT INTO t3 VALUES (67, foo(67, '', ''));
+SET debug_sync='now WAIT_FOR master_queued4';
+SET debug_sync='now SIGNAL master_cont2';
+SELECT * FROM t3 WHERE a >= 60 ORDER BY a;
+a b
+60 60
+61 61
+62 62
+63 63
+64 64
+65 65
+66 66
+67 67
+68 68
+69 69
+70 70
+SET debug_sync='RESET';
+SET debug_sync='now SIGNAL d0_cont';
+SET debug_sync='now WAIT_FOR t1_waiting';
+SET debug_sync='now SIGNAL d3_cont';
+SET debug_sync='now WAIT_FOR t2_waiting';
+SET debug_sync='now SIGNAL d1_cont';
+SET debug_sync='now WAIT_FOR t3_waiting';
+SET debug_sync='now SIGNAL d2_cont';
+SET debug_sync='now WAIT_FOR t4_waiting';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR t3_killed';
+SET debug_sync='now SIGNAL t1_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+STOP SLAVE IO_THREAD;
+SELECT * FROM t3 WHERE a >= 60 AND a != 65 ORDER BY a;
+a b
+60 60
+61 61
+62 62
+63 63
+64 64
+68 68
+69 69
+70 70
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+UPDATE t3 SET b=b+1 WHERE a=60;
+include/start_slave.inc
+SELECT * FROM t3 WHERE a >= 60 ORDER BY a;
+a b
+60 61
+61 61
+62 62
+63 63
+64 64
+65 65
+66 66
+67 67
+68 68
+69 69
+70 70
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** 5. Test killing thread that is waiting for queue of max length to shorten ***
+SET @old_max_queued= @@GLOBAL.slave_parallel_max_queued;
+SET GLOBAL slave_parallel_max_queued=9000;
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (80, foo(0,
+'ha_write_row_end SIGNAL query_waiting WAIT_FOR query_cont', ''));
+SET debug_sync='now WAIT_FOR query_waiting';
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_wait_queue_max";
+SELECT * FROM t3 WHERE a >= 80 ORDER BY a;
+a b
+80 0
+81 10000
+SET debug_sync='now WAIT_FOR wait_queue_ready';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR wait_queue_killed';
+SET debug_sync='now SIGNAL query_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+STOP SLAVE IO_THREAD;
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_max_queued= @old_max_queued;
+INSERT INTO t3 VALUES (82,0);
+SET binlog_format=@old_format;
+SET debug_sync='RESET';
+include/start_slave.inc
+SELECT * FROM t3 WHERE a >= 80 ORDER BY a;
+a b
+80 0
+81 10000
+82 0
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-5788 Incorrect free of rgi->deferred_events in parallel replication ***
+include/stop_slave.inc
+SET GLOBAL replicate_ignore_table="test.t3";
+SET GLOBAL slave_parallel_threads=2;
+include/start_slave.inc
+INSERT INTO t3 VALUES (100, rand());
+INSERT INTO t3 VALUES (101, rand());
+INSERT INTO t3 VALUES (102, rand());
+INSERT INTO t3 VALUES (103, rand());
+INSERT INTO t3 VALUES (104, rand());
+INSERT INTO t3 VALUES (105, rand());
+include/stop_slave.inc
+SET GLOBAL replicate_ignore_table="";
+include/start_slave.inc
+INSERT INTO t3 VALUES (106, rand());
+INSERT INTO t3 VALUES (107, rand());
+SELECT * FROM t3 WHERE a >= 100 ORDER BY a;
+a b
+106 #
+107 #
+*** MDEV-5921: In parallel replication, an error is not correctly signalled to the next transaction ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+INSERT INTO t3 VALUES (110, 1);
+SELECT * FROM t3 WHERE a >= 110 ORDER BY a;
+a b
+110 1
+SET sql_log_bin=0;
+INSERT INTO t3 VALUES (111, 666);
+SET sql_log_bin=1;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+INSERT INTO t3 VALUES (111, 2);
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+INSERT INTO t3 VALUES (112, 3);
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+include/wait_for_slave_sql_error.inc [errno=1062]
+include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t3 WHERE a >= 110 ORDER BY a;
+a b
+110 1
+111 666
+SET sql_log_bin=0;
+DELETE FROM t3 WHERE a=111 AND b=666;
+SET sql_log_bin=1;
+START SLAVE SQL_THREAD;
+SELECT * FROM t3 WHERE a >= 110 ORDER BY a;
+a b
+110 1
+111 2
+112 3
+***MDEV-5914: Parallel replication deadlock due to InnoDB lock conflicts ***
+include/stop_slave.inc
+CREATE TABLE t4 (a INT PRIMARY KEY, b INT, KEY b_idx(b)) ENGINE=InnoDB;
+INSERT INTO t4 VALUES (1,NULL), (2,2), (3,NULL), (4,4), (5, NULL), (6, 6);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+UPDATE t4 SET b=NULL WHERE a=6;
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+DELETE FROM t4 WHERE b <= 3;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+include/start_slave.inc
+include/stop_slave.inc
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 NULL
+DELETE FROM t4;
+INSERT INTO t4 VALUES (1,NULL), (2,2), (3,NULL), (4,4), (5, NULL), (6, 6);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+INSERT INTO t4 VALUES (7, NULL);
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+DELETE FROM t4 WHERE b <= 3;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+include/start_slave.inc
+include/stop_slave.inc
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 6
+7 NULL
+DELETE FROM t4;
+INSERT INTO t4 VALUES (1,NULL), (2,2), (3,NULL), (4,4), (5, NULL), (6, 6);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+UPDATE t4 SET b=NULL WHERE a=6;
+SET debug_sync='now WAIT_FOR master_queued1';
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+DELETE FROM t4 WHERE b <= 1;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET @old_format=@@GLOBAL.binlog_format;
+SET debug_sync='RESET';
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,disable_thd_need_ordering_with";
+include/start_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+2 2
+3 NULL
+4 4
+5 NULL
+6 NULL
+SET @last_gtid= 'GTID';
+SELECT IF(@@gtid_slave_pos LIKE CONCAT('%',@last_gtid,'%'), "GTID found ok",
+CONCAT("GTID ", @last_gtid, " not found in gtid_slave_pos=", @@gtid_slave_pos))
+AS result;
+result
+GTID found ok
+SELECT "ROW FOUND" AS `Is the row found?`
+ FROM mysql.gtid_slave_pos
+WHERE CONCAT(domain_id, "-", server_id, "-", seq_no) = @last_gtid;
+Is the row found?
+ROW FOUND
+*** MDEV-5938: Exec_master_log_pos not updated at log rotate in parallel replication ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=1;
+SET DEBUG_SYNC= 'RESET';
+include/start_slave.inc
+CREATE TABLE t5 (a INT PRIMARY KEY, b INT);
+INSERT INTO t5 VALUES (1,1);
+INSERT INTO t5 VALUES (2,2), (3,8);
+INSERT INTO t5 VALUES (4,16);
+test_check
+OK
+test_check
+OK
+FLUSH LOGS;
+test_check
+OK
+test_check
+OK
+*** MDEV_6435: Incorrect error handling when query binlogged partially on master with "killed" error ***
+CREATE TABLE t6 (a INT) ENGINE=MyISAM;
+CREATE TRIGGER tr AFTER INSERT ON t6 FOR EACH ROW SET @a = 1;
+SET @old_format= @@binlog_format;
+SET binlog_format= statement;
+SET debug_sync='sp_head_execute_before_loop SIGNAL ready WAIT_FOR cont';
+INSERT INTO t6 VALUES (1), (2), (3);
+SET debug_sync='now WAIT_FOR ready';
+KILL QUERY CONID;
+SET debug_sync='now SIGNAL cont';
+ERROR 70100: Query execution was interrupted
+SET binlog_format= @old_format;
+SET debug_sync='RESET';
+SET debug_sync='RESET';
+include/wait_for_slave_sql_error.inc [errno=1317]
+STOP SLAVE IO_THREAD;
+SET GLOBAL gtid_slave_pos= 'AFTER_ERROR_GTID_POS';
+include/start_slave.inc
+INSERT INTO t6 VALUES (4);
+SELECT * FROM t6 ORDER BY a;
+a
+1
+4
+SELECT * FROM t6 ORDER BY a;
+a
+4
+*** MDEV-6551: Some replication errors are ignored if slave_parallel_threads > 0 ***
+INSERT INTO t2 VALUES (31);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads= 0;
+include/start_slave.inc
+SET sql_log_bin= 0;
+INSERT INTO t2 VALUES (32);
+SET sql_log_bin= 1;
+INSERT INTO t2 VALUES (32);
+FLUSH LOGS;
+INSERT INTO t2 VALUES (33);
+INSERT INTO t2 VALUES (34);
+SELECT * FROM t2 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+33
+34
+include/save_master_gtid.inc
+include/wait_for_slave_sql_error.inc [errno=1062]
+include/stop_slave_io.inc
+SET GLOBAL slave_parallel_threads=10;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1062]
+START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_error.inc [errno=1062]
+SELECT * FROM t2 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+SET sql_slave_skip_counter= 1;
+ERROR HY000: When using parallel replication and GTID with multiple replication domains, @@sql_slave_skip_counter can not be used. Instead, setting @@gtid_slave_pos explicitly can be used to skip to after a given GTID position.
+include/stop_slave_io.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+33
+34
+*** MDEV-6775: Wrong binlog order in parallel replication ***
+DELETE FROM t4;
+INSERT INTO t4 VALUES (1,NULL), (3,NULL), (4,4), (5, NULL), (6, 6);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,inject_binlog_commit_before_get_LOCK_log";
+SET @old_format=@@GLOBAL.binlog_format;
+SET GLOBAL binlog_format=ROW;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET @old_format= @@binlog_format;
+SET binlog_format= statement;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+UPDATE t4 SET b=NULL WHERE a=6;
+SET debug_sync='now WAIT_FOR master_queued1';
+SET @old_format= @@binlog_format;
+SET binlog_format= statement;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+DELETE FROM t4 WHERE b <= 3;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET binlog_format= @old_format;
+SET binlog_format= @old_format;
+SET debug_sync='RESET';
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 NULL
+include/start_slave.inc
+SET debug_sync= 'now WAIT_FOR waiting';
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 NULL
+SET debug_sync= 'now SIGNAL cont';
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL binlog_format= @old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-7237: Parallel replication: incorrect relaylog position after stop/start the slave ***
+INSERT INTO t2 VALUES (40);
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=no;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_scheduled_gtid_0_x_100";
+SET GLOBAL debug_dbug="+d,rpl_parallel_wait_for_done_trigger";
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+INSERT INTO t2 VALUES (41);
+INSERT INTO t2 VALUES (42);
+SET @old_format= @@binlog_format;
+SET binlog_format= statement;
+DELETE FROM t2 WHERE a=40;
+SET binlog_format= @old_format;
+INSERT INTO t2 VALUES (43);
+INSERT INTO t2 VALUES (44);
+FLUSH LOGS;
+INSERT INTO t2 VALUES (45);
+SET gtid_seq_no=100;
+INSERT INTO t2 VALUES (46);
+BEGIN;
+SELECT * FROM t2 WHERE a=40 FOR UPDATE;
+a
+40
+include/start_slave.inc
+SET debug_sync= 'now WAIT_FOR scheduled_gtid_0_x_100';
+STOP SLAVE;
+SET debug_sync= 'now WAIT_FOR wait_for_done_waiting';
+ROLLBACK;
+include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t2 WHERE a >= 40 ORDER BY a;
+a
+41
+42
+include/start_slave.inc
+SELECT * FROM t2 WHERE a >= 40 ORDER BY a;
+a
+41
+42
+43
+44
+45
+46
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET DEBUG_SYNC= 'RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+*** MDEV-7326 Server deadlock in connection with parallel replication ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=3;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_xid";
+include/start_slave.inc
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format= STATEMENT;
+INSERT INTO t1 VALUES (foo(50,
+"rpl_parallel_start_waiting_for_prior SIGNAL t3_ready",
+"rpl_parallel_end_of_group SIGNAL prep_ready WAIT_FOR prep_cont"));
+SET DEBUG_SYNC= "now WAIT_FOR prep_ready";
+INSERT INTO t2 VALUES (foo(50,
+"rpl_parallel_simulate_temp_err_xid SIGNAL t1_ready1 WAIT_FOR t1_cont1",
+"rpl_parallel_retry_after_unmark SIGNAL t1_ready2 WAIT_FOR t1_cont2"));
+SET DEBUG_SYNC= "now WAIT_FOR t1_ready1";
+INSERT INTO t1 VALUES (foo(51,
+"rpl_parallel_before_mark_start_commit SIGNAL t2_ready1 WAIT_FOR t2_cont1",
+"rpl_parallel_after_mark_start_commit SIGNAL t2_ready2"));
+SET DEBUG_SYNC= "now WAIT_FOR t2_ready1";
+SET DEBUG_SYNC= "now SIGNAL t1_cont1";
+SET DEBUG_SYNC= "now WAIT_FOR t1_ready2";
+INSERT INTO t1 VALUES (52);
+SET BINLOG_FORMAT= @old_format;
+SELECT * FROM t2 WHERE a>=50 ORDER BY a;
+a
+50
+SELECT * FROM t1 WHERE a>=50 ORDER BY a;
+a
+50
+51
+52
+SET DEBUG_SYNC= "now SIGNAL prep_cont";
+SET DEBUG_SYNC= "now WAIT_FOR t3_ready";
+SET DEBUG_SYNC= "now SIGNAL t2_cont1";
+SET DEBUG_SYNC= "now WAIT_FOR t2_ready2";
+SET DEBUG_SYNC= "now SIGNAL t1_cont2";
+SELECT * FROM t2 WHERE a>=50 ORDER BY a;
+a
+50
+SELECT * FROM t1 WHERE a>=50 ORDER BY a;
+a
+50
+51
+52
+SET DEBUG_SYNC="reset";
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-7326 Server deadlock in connection with parallel replication ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=3;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_xid";
+include/start_slave.inc
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format= STATEMENT;
+INSERT INTO t1 VALUES (foo(60,
+"rpl_parallel_start_waiting_for_prior SIGNAL t3_ready",
+"rpl_parallel_end_of_group SIGNAL prep_ready WAIT_FOR prep_cont"));
+SET DEBUG_SYNC= "now WAIT_FOR prep_ready";
+INSERT INTO t2 VALUES (foo(60,
+"rpl_parallel_simulate_temp_err_xid SIGNAL t1_ready1 WAIT_FOR t1_cont1",
+"rpl_parallel_retry_after_unmark SIGNAL t1_ready2 WAIT_FOR t1_cont2"));
+SET DEBUG_SYNC= "now WAIT_FOR t1_ready1";
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t1 VALUES (foo(61,
+"rpl_parallel_before_mark_start_commit SIGNAL t2_ready1 WAIT_FOR t2_cont1",
+"rpl_parallel_after_mark_start_commit SIGNAL t2_ready2"));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+INSERT INTO t6 VALUES (62);
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+SET BINLOG_FORMAT= @old_format;
+SELECT * FROM t2 WHERE a>=60 ORDER BY a;
+a
+60
+SELECT * FROM t1 WHERE a>=60 ORDER BY a;
+a
+60
+61
+SELECT * FROM t6 WHERE a>=60 ORDER BY a;
+a
+62
+SET DEBUG_SYNC= "now WAIT_FOR t2_ready1";
+SET DEBUG_SYNC= "now SIGNAL t1_cont1";
+SET DEBUG_SYNC= "now WAIT_FOR t1_ready2";
+SET DEBUG_SYNC= "now SIGNAL prep_cont";
+SET DEBUG_SYNC= "now WAIT_FOR t3_ready";
+SET DEBUG_SYNC= "now SIGNAL t2_cont1";
+SET DEBUG_SYNC= "now WAIT_FOR t2_ready2";
+SET DEBUG_SYNC= "now SIGNAL t1_cont2";
+SELECT * FROM t2 WHERE a>=60 ORDER BY a;
+a
+60
+SELECT * FROM t1 WHERE a>=60 ORDER BY a;
+a
+60
+61
+SELECT * FROM t6 WHERE a>=60 ORDER BY a;
+a
+62
+SET DEBUG_SYNC="reset";
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-7335: Potential parallel slave deadlock with specific binlog corruption ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=1;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,slave_discard_xid_for_gtid_0_x_1000";
+INSERT INTO t2 VALUES (101);
+INSERT INTO t2 VALUES (102);
+INSERT INTO t2 VALUES (103);
+INSERT INTO t2 VALUES (104);
+INSERT INTO t2 VALUES (105);
+SET gtid_seq_no=1000;
+INSERT INTO t2 VALUES (106);
+INSERT INTO t2 VALUES (107);
+INSERT INTO t2 VALUES (108);
+INSERT INTO t2 VALUES (109);
+INSERT INTO t2 VALUES (110);
+INSERT INTO t2 VALUES (111);
+INSERT INTO t2 VALUES (112);
+INSERT INTO t2 VALUES (113);
+INSERT INTO t2 VALUES (114);
+INSERT INTO t2 VALUES (115);
+INSERT INTO t2 VALUES (116);
+INSERT INTO t2 VALUES (117);
+INSERT INTO t2 VALUES (118);
+INSERT INTO t2 VALUES (119);
+INSERT INTO t2 VALUES (120);
+INSERT INTO t2 VALUES (121);
+INSERT INTO t2 VALUES (122);
+INSERT INTO t2 VALUES (123);
+INSERT INTO t2 VALUES (124);
+INSERT INTO t2 VALUES (125);
+INSERT INTO t2 VALUES (126);
+INSERT INTO t2 VALUES (127);
+INSERT INTO t2 VALUES (128);
+INSERT INTO t2 VALUES (129);
+INSERT INTO t2 VALUES (130);
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 100 ORDER BY a;
+a
+101
+102
+103
+104
+105
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-6676 - test syntax of @@slave_parallel_mode ***
+Parallel_Mode = 'conservative'
+include/stop_slave.inc
+SET GLOBAL slave_parallel_mode='aggressive';
+Parallel_Mode = 'aggressive'
+SET GLOBAL slave_parallel_mode='conservative';
+Parallel_Mode = 'conservative'
+*** MDEV-6676 - test that empty parallel_mode does not replicate in parallel ***
+INSERT INTO t2 VALUES (1040);
+include/save_master_gtid.inc
+SET GLOBAL slave_parallel_mode='none';
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,slave_crash_if_parallel_apply";
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 1040 ORDER BY a;
+a
+1040
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+*** MDEV-6676 - test disabling domain-based parallel replication ***
+SET gtid_domain_id = 1;
+INSERT INTO t2 VALUES (1041);
+INSERT INTO t2 VALUES (1042);
+INSERT INTO t2 VALUES (1043);
+INSERT INTO t2 VALUES (1044);
+INSERT INTO t2 VALUES (1045);
+INSERT INTO t2 VALUES (1046);
+DELETE FROM t2 WHERE a >= 1041;
+SET gtid_domain_id = 2;
+INSERT INTO t2 VALUES (1041);
+INSERT INTO t2 VALUES (1042);
+INSERT INTO t2 VALUES (1043);
+INSERT INTO t2 VALUES (1044);
+INSERT INTO t2 VALUES (1045);
+INSERT INTO t2 VALUES (1046);
+SET gtid_domain_id = 0;
+include/save_master_gtid.inc
+SET GLOBAL slave_parallel_mode=minimal;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 1040 ORDER BY a;
+a
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+include/stop_slave.inc
+SET GLOBAL slave_parallel_mode='conservative';
+include/start_slave.inc
+*** MDEV-7847: "Slave worker thread retried transaction 10 time(s) in vain, giving up", followed by replication hanging ***
+*** MDEV-7882: Excessive transaction retry in parallel replication ***
+CREATE TABLE t7 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t8 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=40;
+SELECT @old_retries:=@@GLOBAL.slave_transaction_retries;
+@old_retries:=@@GLOBAL.slave_transaction_retries
+10
+SET GLOBAL slave_transaction_retries= 5;
+INSERT INTO t7 VALUES (1,1), (2,2), (3,3), (4,4), (5,5);
+SET @old_dbug= @@SESSION.debug_dbug;
+SET @commit_id= 42;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+INSERT INTO t8 VALUES (1,1);
+INSERT INTO t8 VALUES (2,2);
+INSERT INTO t8 VALUES (3,3);
+INSERT INTO t8 VALUES (4,4);
+INSERT INTO t8 VALUES (5,5);
+INSERT INTO t8 VALUES (6,6);
+INSERT INTO t8 VALUES (7,7);
+INSERT INTO t8 VALUES (8,8);
+UPDATE t7 SET b=9 WHERE a=3;
+UPDATE t7 SET b=10 WHERE a=3;
+UPDATE t7 SET b=11 WHERE a=3;
+INSERT INTO t8 VALUES (12,12);
+INSERT INTO t8 VALUES (13,13);
+UPDATE t7 SET b=14 WHERE a=3;
+UPDATE t7 SET b=15 WHERE a=3;
+INSERT INTO t8 VALUES (16,16);
+UPDATE t7 SET b=17 WHERE a=3;
+INSERT INTO t8 VALUES (18,18);
+INSERT INTO t8 VALUES (19,19);
+UPDATE t7 SET b=20 WHERE a=3;
+INSERT INTO t8 VALUES (21,21);
+UPDATE t7 SET b=22 WHERE a=3;
+INSERT INTO t8 VALUES (23,24);
+INSERT INTO t8 VALUES (24,24);
+UPDATE t7 SET b=25 WHERE a=3;
+INSERT INTO t8 VALUES (26,26);
+UPDATE t7 SET b=27 WHERE a=3;
+BEGIN;
+INSERT INTO t8 VALUES (28,28);
+INSERT INTO t8 VALUES (29,28), (30,28);
+INSERT INTO t8 VALUES (31,28);
+INSERT INTO t8 VALUES (32,28);
+INSERT INTO t8 VALUES (33,28);
+INSERT INTO t8 VALUES (34,28);
+INSERT INTO t8 VALUES (35,28);
+INSERT INTO t8 VALUES (36,28);
+INSERT INTO t8 VALUES (37,28);
+INSERT INTO t8 VALUES (38,28);
+INSERT INTO t8 VALUES (39,28);
+INSERT INTO t8 VALUES (40,28);
+INSERT INTO t8 VALUES (41,28);
+INSERT INTO t8 VALUES (42,28);
+COMMIT;
+SET @commit_id=43;
+INSERT INTO t8 VALUES (43,43);
+INSERT INTO t8 VALUES (44,44);
+UPDATE t7 SET b=45 WHERE a=3;
+INSERT INTO t8 VALUES (46,46);
+INSERT INTO t8 VALUES (47,47);
+UPDATE t7 SET b=48 WHERE a=3;
+INSERT INTO t8 VALUES (49,49);
+INSERT INTO t8 VALUES (50,50);
+SET @commit_id=44;
+INSERT INTO t8 VALUES (51,51);
+INSERT INTO t8 VALUES (52,52);
+UPDATE t7 SET b=53 WHERE a=3;
+INSERT INTO t8 VALUES (54,54);
+INSERT INTO t8 VALUES (55,55);
+UPDATE t7 SET b=56 WHERE a=3;
+INSERT INTO t8 VALUES (57,57);
+UPDATE t7 SET b=58 WHERE a=3;
+INSERT INTO t8 VALUES (58,58);
+INSERT INTO t8 VALUES (59,59);
+INSERT INTO t8 VALUES (60,60);
+INSERT INTO t8 VALUES (61,61);
+UPDATE t7 SET b=62 WHERE a=3;
+INSERT INTO t8 VALUES (63,63);
+INSERT INTO t8 VALUES (64,64);
+INSERT INTO t8 VALUES (65,65);
+INSERT INTO t8 VALUES (66,66);
+UPDATE t7 SET b=67 WHERE a=3;
+INSERT INTO t8 VALUES (68,68);
+UPDATE t7 SET b=69 WHERE a=3;
+UPDATE t7 SET b=70 WHERE a=3;
+UPDATE t7 SET b=71 WHERE a=3;
+INSERT INTO t8 VALUES (72,72);
+UPDATE t7 SET b=73 WHERE a=3;
+UPDATE t7 SET b=74 WHERE a=3;
+UPDATE t7 SET b=75 WHERE a=3;
+UPDATE t7 SET b=76 WHERE a=3;
+INSERT INTO t8 VALUES (77,77);
+UPDATE t7 SET b=78 WHERE a=3;
+INSERT INTO t8 VALUES (79,79);
+UPDATE t7 SET b=80 WHERE a=3;
+INSERT INTO t8 VALUES (81,81);
+UPDATE t7 SET b=82 WHERE a=3;
+INSERT INTO t8 VALUES (83,83);
+UPDATE t7 SET b=84 WHERE a=3;
+SET @commit_id=45;
+INSERT INTO t8 VALUES (85,85);
+UPDATE t7 SET b=86 WHERE a=3;
+INSERT INTO t8 VALUES (87,87);
+SET @commit_id=46;
+INSERT INTO t8 VALUES (88,88);
+INSERT INTO t8 VALUES (89,89);
+INSERT INTO t8 VALUES (90,90);
+SET SESSION debug_dbug=@old_dbug;
+INSERT INTO t8 VALUES (91,91);
+INSERT INTO t8 VALUES (92,92);
+INSERT INTO t8 VALUES (93,93);
+INSERT INTO t8 VALUES (94,94);
+INSERT INTO t8 VALUES (95,95);
+INSERT INTO t8 VALUES (96,96);
+INSERT INTO t8 VALUES (97,97);
+INSERT INTO t8 VALUES (98,98);
+INSERT INTO t8 VALUES (99,99);
+SELECT * FROM t7 ORDER BY a;
+a b
+1 1
+2 2
+3 86
+4 4
+5 5
+SELECT * FROM t8 ORDER BY a;
+a b
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+12 12
+13 13
+16 16
+18 18
+19 19
+21 21
+23 24
+24 24
+26 26
+28 28
+29 28
+30 28
+31 28
+32 28
+33 28
+34 28
+35 28
+36 28
+37 28
+38 28
+39 28
+40 28
+41 28
+42 28
+43 43
+44 44
+46 46
+47 47
+49 49
+50 50
+51 51
+52 52
+54 54
+55 55
+57 57
+58 58
+59 59
+60 60
+61 61
+63 63
+64 64
+65 65
+66 66
+68 68
+72 72
+77 77
+79 79
+81 81
+83 83
+85 85
+87 87
+88 88
+89 89
+90 90
+91 91
+92 92
+93 93
+94 94
+95 95
+96 96
+97 97
+98 98
+99 99
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t7 ORDER BY a;
+a b
+1 1
+2 2
+3 86
+4 4
+5 5
+SELECT * FROM t8 ORDER BY a;
+a b
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+12 12
+13 13
+16 16
+18 18
+19 19
+21 21
+23 24
+24 24
+26 26
+28 28
+29 28
+30 28
+31 28
+32 28
+33 28
+34 28
+35 28
+36 28
+37 28
+38 28
+39 28
+40 28
+41 28
+42 28
+43 43
+44 44
+46 46
+47 47
+49 49
+50 50
+51 51
+52 52
+54 54
+55 55
+57 57
+58 58
+59 59
+60 60
+61 61
+63 63
+64 64
+65 65
+66 66
+68 68
+72 72
+77 77
+79 79
+81 81
+83 83
+85 85
+87 87
+88 88
+89 89
+90 90
+91 91
+92 92
+93 93
+94 94
+95 95
+96 96
+97 97
+98 98
+99 99
+include/stop_slave.inc
+SET GLOBAL slave_transaction_retries= @old_retries;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-7888: ANALYZE TABLE does wakeup_subsequent_commits(), causing wrong binlog order and parallel replication hang ***
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_analyze_table_sleep';
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @commit_id= 10000;
+ANALYZE TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 analyze status OK
+INSERT INTO t3 VALUES (120, 0);
+SET @commit_id= 10001;
+INSERT INTO t3 VALUES (121, 0);
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t3 WHERE a >= 120 ORDER BY a;
+a b
+120 0
+121 0
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t3 WHERE a >= 120 ORDER BY a;
+a b
+120 0
+121 0
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_dbug;
+include/start_slave.inc
+*** MDEV-7929: record_gtid() for non-transactional event group calls wakeup_subsequent_commits() too early, causing slave hang. ***
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_record_gtid_serverid_100_sleep';
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @old_server_id= @@SESSION.server_id;
+SET SESSION server_id= 100;
+SET @commit_id= 10010;
+ALTER TABLE t1 COMMENT "Hulubulu!";
+SET SESSION server_id= @old_server_id;
+INSERT INTO t3 VALUES (130, 0);
+SET @commit_id= 10011;
+INSERT INTO t3 VALUES (131, 0);
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t3 WHERE a >= 130 ORDER BY a;
+a b
+130 0
+131 0
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t3 WHERE a >= 130 ORDER BY a;
+a b
+130 0
+131 0
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_dbug;
+include/start_slave.inc
+*** MDEV-8031: Parallel replication stops on "connection killed" error (probably incorrectly handled deadlock kill) ***
+INSERT INTO t3 VALUES (201,0), (202,0);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_mdev8031';
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @commit_id= 10200;
+INSERT INTO t3 VALUES (203, 1);
+INSERT INTO t3 VALUES (204, 1);
+INSERT INTO t3 VALUES (205, 1);
+UPDATE t3 SET b=b+1 WHERE a=201;
+UPDATE t3 SET b=b+1 WHERE a=201;
+UPDATE t3 SET b=b+1 WHERE a=201;
+UPDATE t3 SET b=b+1 WHERE a=202;
+UPDATE t3 SET b=b+1 WHERE a=202;
+UPDATE t3 SET b=b+1 WHERE a=202;
+UPDATE t3 SET b=b+1 WHERE a=202;
+UPDATE t3 SET b=b+1 WHERE a=203;
+UPDATE t3 SET b=b+1 WHERE a=203;
+UPDATE t3 SET b=b+1 WHERE a=204;
+UPDATE t3 SET b=b+1 WHERE a=204;
+UPDATE t3 SET b=b+1 WHERE a=204;
+UPDATE t3 SET b=b+1 WHERE a=203;
+UPDATE t3 SET b=b+1 WHERE a=205;
+UPDATE t3 SET b=b+1 WHERE a=205;
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t3 WHERE a>=200 ORDER BY a;
+a b
+201 3
+202 4
+203 4
+204 4
+205 3
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t3 WHERE a>=200 ORDER BY a;
+a b
+201 3
+202 4
+203 4
+204 4
+205 3
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_dbug;
+include/start_slave.inc
+*** Check getting deadlock killed inside open_binlog() during retry. ***
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_retry_event_group_open_binlog_kill';
+SET @old_max= @@GLOBAL.max_relay_log_size;
+SET GLOBAL max_relay_log_size= 4096;
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @commit_id= 10210;
+Omit long queries that cause relaylog rotations and transaction retries...
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t3 WHERE a>=200 ORDER BY a;
+a b
+201 6
+202 8
+203 7
+204 7
+205 5
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t3 WHERE a>=200 ORDER BY a;
+a b
+201 6
+202 8
+203 7
+204 7
+205 5
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_debg;
+SET GLOBAL max_relay_log_size= @old_max;
+include/start_slave.inc
+*** MDEV-8302: Duplicate key with parallel replication ***
+include/stop_slave.inc
+/* Inject a small sleep which makes the race easier to hit. */
+SET @old_dbug=@@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,inject_mdev8302";
+INSERT INTO t7 VALUES (100,1), (101,2), (102,3), (103,4), (104,5);
+SET @old_dbug= @@SESSION.debug_dbug;
+SET @commit_id= 20000;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t7 ORDER BY a;
+a b
+1 1
+2 2
+3 86
+4 4
+5 5
+100 5
+101 1
+102 2
+103 3
+104 4
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t7 ORDER BY a;
+a b
+1 1
+2 2
+3 86
+4 4
+5 5
+100 5
+101 1
+102 2
+103 3
+104 4
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+include/start_slave.inc
+*** MDEV-8725: Assertion on ROLLBACK statement in the binary log ***
+BEGIN;
+INSERT INTO t2 VALUES (2000);
+INSERT INTO t1 VALUES (2000);
+INSERT INTO t2 VALUES (2001);
+ROLLBACK;
+SELECT * FROM t1 WHERE a>=2000 ORDER BY a;
+a
+2000
+SELECT * FROM t2 WHERE a>=2000 ORDER BY a;
+a
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a>=2000 ORDER BY a;
+a
+2000
+SELECT * FROM t2 WHERE a>=2000 ORDER BY a;
+a
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+SET DEBUG_SYNC= 'RESET';
+DROP function foo;
+DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8;
+SET DEBUG_SYNC= 'RESET';
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel.test b/mysql-test/suite/binlog_encryption/rpl_parallel.test
new file mode 100644
index 00000000000..b7c4bb429a4
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_parallel.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.cnf b/mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.cnf
new file mode 100644
index 00000000000..b8e22e97ae9
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.cnf
@@ -0,0 +1,6 @@
+!include my.cnf
+
+[mysqld.2]
+plugin-load-add= @ENV.FILE_KEY_MANAGEMENT_SO
+loose-file-key-management-filename=@ENV.MYSQLTEST_VARDIR/std_data/keys.txt
+encrypt-binlog
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.result b/mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.result
new file mode 100644
index 00000000000..d454fa41111
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.result
@@ -0,0 +1,12 @@
+include/master-slave.inc
+[connection master]
+[connection slave]
+SET DEBUG_SYNC= 'after_show_binlog_events SIGNAL on_show_binlog_events WAIT_FOR end';
+SHOW BINLOG EVENTS;
+[connection slave1]
+SET DEBUG_SYNC= 'now WAIT_FOR on_show_binlog_events';
+FLUSH LOGS;
+SET DEBUG_SYNC= 'now SIGNAL end';
+[connection slave]
+SET DEBUG_SYNC= 'RESET';
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.test b/mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.test
new file mode 100644
index 00000000000..9e93b0b56e9
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel_show_binlog_events_purge_logs.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_parallel_show_binlog_events_purge_logs.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_relayrotate-slave.opt b/mysql-test/suite/binlog_encryption/rpl_relayrotate-slave.opt
new file mode 100644
index 00000000000..1665aec291d
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_relayrotate-slave.opt
@@ -0,0 +1,5 @@
+--max_relay_log_size=16384
+--log-warnings
+--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+--loose-file-key-management-filename=$MYSQLTEST_VARDIR/std_data/keys.txt
+--encrypt-binlog
diff --git a/mysql-test/suite/binlog_encryption/rpl_relayrotate.result b/mysql-test/suite/binlog_encryption/rpl_relayrotate.result
new file mode 100644
index 00000000000..ea00aee0085
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_relayrotate.result
@@ -0,0 +1,13 @@
+include/master-slave.inc
+[connection master]
+stop slave;
+create table t1 (a int) engine=innodb;
+reset slave;
+start slave;
+stop slave;
+start slave;
+select max(a) from t1;
+max(a)
+8000
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_relayrotate.test b/mysql-test/suite/binlog_encryption/rpl_relayrotate.test
new file mode 100644
index 00000000000..5e3bcdcd711
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_relayrotate.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_relayrotate.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_semi_sync.result b/mysql-test/suite/binlog_encryption/rpl_semi_sync.result
new file mode 100644
index 00000000000..06eb56a40c5
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_semi_sync.result
@@ -0,0 +1,465 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Timeout waiting for reply of binlog");
+call mtr.add_suppression("Read semi-sync reply");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.");
+call mtr.add_suppression("Master server does not support semi-sync");
+call mtr.add_suppression("Semi-sync slave .* reply");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+#
+# Uninstall semi-sync plugins on master and slave
+#
+include/stop_slave.inc
+reset slave;
+set global rpl_semi_sync_master_enabled= 0;
+set global rpl_semi_sync_slave_enabled= 0;
+reset master;
+set global rpl_semi_sync_master_enabled= 0;
+set global rpl_semi_sync_slave_enabled= 0;
+#
+# Main test of semi-sync replication start here
+#
+[ on master ]
+set global rpl_semi_sync_master_timeout= 60000;
+[ default state of semi-sync on master should be OFF ]
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled OFF
+[ enable semi-sync on master ]
+set global rpl_semi_sync_master_enabled = 1;
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled ON
+[ status of semi-sync on master should be ON even without any semi-sync slaves ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 0
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+#
+# BUG#45672 Semisync repl: ActiveTranx:insert_tranx_node: transaction node allocation failed
+# BUG#45673 Semisynch reports correct operation even if no slave is connected
+#
+[ status of semi-sync on master should be OFF ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 0
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+reset master;
+[ on slave ]
+[ default state of semi-sync on slave should be OFF ]
+show variables like 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled OFF
+[ enable semi-sync on slave ]
+set global rpl_semi_sync_slave_enabled = 1;
+show variables like 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled ON
+include/start_slave.inc
+[ on master ]
+[ initial master state after the semi-sync slave connected ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+create table t1(a int) engine = ENGINE_TYPE;
+[ master state after CREATE TABLE statement ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 1
+select CONNECTIONS_NORMAL_SLAVE - CONNECTIONS_NORMAL_SLAVE as 'Should be 0';
+Should be 0
+0
+[ insert records to table ]
+insert t1 values (10);
+insert t1 values (9);
+insert t1 values (8);
+insert t1 values (7);
+insert t1 values (6);
+insert t1 values (5);
+insert t1 values (4);
+insert t1 values (3);
+insert t1 values (2);
+insert t1 values (1);
+[ master status after inserts ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 11
+[ on slave ]
+[ slave status after replicated inserts ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+select count(distinct a) from t1;
+count(distinct a)
+10
+select min(a) from t1;
+min(a)
+1
+select max(a) from t1;
+max(a)
+10
+
+# BUG#50157
+# semi-sync replication crashes when replicating a transaction which
+# include 'CREATE TEMPORARY TABLE `MyISAM_t` SELECT * FROM `Innodb_t` ;
+[ on master ]
+SET SESSION AUTOCOMMIT= 0;
+CREATE TABLE t2(c1 INT) ENGINE=innodb;
+BEGIN;
+
+# Even though it is in a transaction, this statement is binlogged into binlog
+# file immediately.
+CREATE TEMPORARY TABLE t3 SELECT c1 FROM t2 where 1=1;
+
+# These statements will not be binlogged until the transaction is committed
+INSERT INTO t2 VALUES(11);
+INSERT INTO t2 VALUES(22);
+COMMIT;
+DROP TABLE t2, t3;
+SET SESSION AUTOCOMMIT= 1;
+#
+# Test semi-sync master will switch OFF after one transaction
+# timeout waiting for slave reply.
+#
+include/stop_slave.inc
+[ on master ]
+set global rpl_semi_sync_master_timeout= 5000;
+[ master status should be ON ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 14
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+[ semi-sync replication of these transactions will fail ]
+insert into t1 values (500);
+[ master status should be OFF ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 1
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 14
+delete from t1 where a=10;
+delete from t1 where a=9;
+delete from t1 where a=8;
+delete from t1 where a=7;
+delete from t1 where a=6;
+delete from t1 where a=5;
+delete from t1 where a=4;
+delete from t1 where a=3;
+delete from t1 where a=2;
+delete from t1 where a=1;
+insert into t1 values (100);
+[ master status should be OFF ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 12
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 14
+#
+# Test semi-sync status on master will be ON again when slave catches up
+#
+[ on slave ]
+[ slave status should be OFF ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+include/start_slave.inc
+[ slave status should be ON ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+select count(distinct a) from t1;
+count(distinct a)
+2
+select min(a) from t1;
+min(a)
+100
+select max(a) from t1;
+max(a)
+500
+[ on master ]
+[ master status should be ON again after slave catches up ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 12
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 14
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+#
+# Test disable/enable master semi-sync on the fly.
+#
+drop table t1;
+[ on slave ]
+include/stop_slave.inc
+#
+# Flush status
+#
+[ Semi-sync master status variables before FLUSH STATUS ]
+SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 12
+SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 15
+FLUSH NO_WRITE_TO_BINLOG STATUS;
+[ Semi-sync master status variables after FLUSH STATUS ]
+SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+[ on master ]
+show master logs;
+Log_name master-bin.000001
+File_size #
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled ON
+[ disable semi-sync on the fly ]
+set global rpl_semi_sync_master_enabled=0;
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled OFF
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+[ enable semi-sync on the fly ]
+set global rpl_semi_sync_master_enabled=1;
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled ON
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+#
+# Test RESET MASTER/SLAVE
+#
+[ on slave ]
+include/start_slave.inc
+[ on master ]
+create table t1 (a int) engine = ENGINE_TYPE;
+drop table t1;
+show status like 'Rpl_relay%';
+Variable_name Value
+[ test reset master ]
+[ on master]
+reset master;
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+[ on slave ]
+include/stop_slave.inc
+reset slave;
+kill query _tid;
+include/start_slave.inc
+[ on master ]
+create table t1 (a int) engine = ENGINE_TYPE;
+insert into t1 values (1);
+insert into t1 values (2), (3);
+[ on slave ]
+select * from t1;
+a
+1
+2
+3
+[ on master ]
+[ master semi-sync status should be ON ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 3
+#
+# Start semi-sync replication without SUPER privilege
+#
+include/stop_slave.inc
+reset slave;
+[ on master ]
+reset master;
+kill query _tid;
+set sql_log_bin=0;
+grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
+flush privileges;
+set sql_log_bin=1;
+[ on slave ]
+grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
+flush privileges;
+change master to master_user='rpl',master_password='rpl_password';
+include/start_slave.inc
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+[ on master ]
+[ master semi-sync should be ON ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+insert into t1 values (4);
+insert into t1 values (5);
+[ master semi-sync should be ON ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 2
+#
+# Test semi-sync slave connect to non-semi-sync master
+#
+[ on slave ]
+include/stop_slave.inc
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+[ on master ]
+kill query _tid;
+[ Semi-sync status on master should be ON ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 0
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+set global rpl_semi_sync_master_enabled= 0;
+[ on slave ]
+SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled ON
+include/start_slave.inc
+[ on master ]
+insert into t1 values (8);
+[ master semi-sync clients should be 1, status should be OFF ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+[ on slave ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+include/stop_slave.inc
+[ on master ]
+set global rpl_semi_sync_master_enabled= 0;
+[ on slave ]
+SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled ON
+include/start_slave.inc
+[ on master ]
+insert into t1 values (10);
+#
+# Test non-semi-sync slave connect to semi-sync master
+#
+set global rpl_semi_sync_master_timeout= 5000;
+set global rpl_semi_sync_master_enabled= 1;
+[ on slave ]
+include/stop_slave.inc
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+[ uninstall semi-sync slave plugin ]
+set global rpl_semi_sync_slave_enabled= 0;
+[ reinstall semi-sync slave plugin and disable semi-sync ]
+SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled OFF
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+include/start_slave.inc
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+#
+# Clean up
+#
+include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled= 0;
+set global rpl_semi_sync_master_enabled= 0;
+change master to master_user='root',master_password='';
+include/start_slave.inc
+drop table t1;
+drop user rpl@127.0.0.1;
+flush privileges;
+set global rpl_semi_sync_master_timeout= default;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_semi_sync.test b/mysql-test/suite/binlog_encryption/rpl_semi_sync.test
new file mode 100644
index 00000000000..d5f80619aeb
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_semi_sync.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_semi_sync.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_skip_replication.cnf b/mysql-test/suite/binlog_encryption/rpl_skip_replication.cnf
new file mode 100644
index 00000000000..b8e22e97ae9
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_skip_replication.cnf
@@ -0,0 +1,6 @@
+!include my.cnf
+
+[mysqld.2]
+plugin-load-add= @ENV.FILE_KEY_MANAGEMENT_SO
+loose-file-key-management-filename=@ENV.MYSQLTEST_VARDIR/std_data/keys.txt
+encrypt-binlog
diff --git a/mysql-test/suite/binlog_encryption/rpl_skip_replication.result b/mysql-test/suite/binlog_encryption/rpl_skip_replication.result
new file mode 100644
index 00000000000..586a104239a
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_skip_replication.result
@@ -0,0 +1,252 @@
+include/master-slave.inc
+[connection master]
+CREATE USER 'nonsuperuser'@'127.0.0.1';
+GRANT ALTER,CREATE,DELETE,DROP,EVENT,INSERT,PROCESS,REPLICATION SLAVE,
+SELECT,UPDATE ON *.* TO 'nonsuperuser'@'127.0.0.1';
+SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
+ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
+DROP USER'nonsuperuser'@'127.0.0.1';
+SELECT @@global.replicate_events_marked_for_skip;
+@@global.replicate_events_marked_for_skip
+REPLICATE
+SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
+SELECT @@global.replicate_events_marked_for_skip;
+@@global.replicate_events_marked_for_skip
+REPLICATE
+STOP SLAVE;
+SET SESSION replicate_events_marked_for_skip=FILTER_ON_MASTER;
+ERROR HY000: Variable 'replicate_events_marked_for_skip' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@global.replicate_events_marked_for_skip;
+@@global.replicate_events_marked_for_skip
+REPLICATE
+SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
+SELECT @@global.replicate_events_marked_for_skip;
+@@global.replicate_events_marked_for_skip
+FILTER_ON_MASTER
+START SLAVE;
+SELECT @@skip_replication;
+@@skip_replication
+0
+SET GLOBAL skip_replication=1;
+ERROR HY000: Variable 'skip_replication' is a SESSION variable and can't be used with SET GLOBAL
+SELECT @@skip_replication;
+@@skip_replication
+0
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=myisam;
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=innodb;
+INSERT INTO t1(a) VALUES (1);
+INSERT INTO t2(a) VALUES (1);
+SET skip_replication=1;
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=myisam;
+INSERT INTO t1(a) VALUES (2);
+INSERT INTO t2(a) VALUES (2);
+FLUSH NO_WRITE_TO_BINLOG LOGS;
+SHOW TABLES;
+Tables_in_test
+t1
+t2
+SELECT * FROM t1;
+a b
+1 NULL
+SELECT * FROM t2;
+a b
+1 NULL
+DROP TABLE t3;
+FLUSH NO_WRITE_TO_BINLOG LOGS;
+STOP SLAVE;
+SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
+START SLAVE;
+SET skip_replication=1;
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=myisam;
+INSERT INTO t1(a) VALUES (3);
+INSERT INTO t2(a) VALUES (3);
+FLUSH NO_WRITE_TO_BINLOG LOGS;
+SHOW TABLES;
+Tables_in_test
+t1
+t2
+SELECT * FROM t1;
+a b
+1 NULL
+SELECT * FROM t2;
+a b
+1 NULL
+DROP TABLE t3;
+FLUSH NO_WRITE_TO_BINLOG LOGS;
+STOP SLAVE;
+SET GLOBAL replicate_events_marked_for_skip=REPLICATE;
+START SLAVE;
+SET skip_replication=1;
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=myisam;
+INSERT INTO t3(a) VALUES(2);
+SELECT * FROM t3;
+a b
+2 NULL
+DROP TABLE t3;
+TRUNCATE t1;
+RESET MASTER;
+SET skip_replication=0;
+INSERT INTO t1 VALUES (1,0);
+SET skip_replication=1;
+INSERT INTO t1 VALUES (2,0);
+SET skip_replication=0;
+INSERT INTO t1 VALUES (3,0);
+SELECT * FROM t1 ORDER by a;
+a b
+1 0
+2 0
+3 0
+STOP SLAVE;
+SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
+TRUNCATE t1;
+SELECT * FROM t1 ORDER by a;
+a b
+1 0
+2 0
+3 0
+START SLAVE;
+SELECT * FROM t1 ORDER by a;
+a b
+1 0
+3 0
+TRUNCATE t1;
+STOP SLAVE;
+SET GLOBAL sql_slave_skip_counter=6;
+SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
+START SLAVE;
+SET @old_binlog_format= @@binlog_format;
+SET binlog_format= statement;
+SET skip_replication=0;
+INSERT INTO t1 VALUES (1,5);
+SET skip_replication=1;
+INSERT INTO t1 VALUES (2,5);
+SET skip_replication=0;
+INSERT INTO t1 VALUES (3,5);
+INSERT INTO t1 VALUES (4,5);
+SET binlog_format= @old_binlog_format;
+SELECT * FROM t1;
+a b
+4 5
+include/stop_slave.inc
+SET @old_slave_binlog_format= @@global.binlog_format;
+SET GLOBAL binlog_format= row;
+include/start_slave.inc
+TRUNCATE t1;
+SET @old_binlog_format= @@binlog_format;
+SET binlog_format= row;
+BINLOG 'wlZOTw8BAAAA8QAAAPUAAAAAAAQANS41LjIxLU1hcmlhREItZGVidWctbG9nAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAA2QAEGggAAAAICAgCAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAA371saA==';
+BINLOG 'wlZOTxMBAAAAKgAAAGMBAAAAgCkAAAAAAAEABHRlc3QAAnQxAAIDAwAC
+wlZOTxcBAAAAJgAAAIkBAAAAgCkAAAAAAAEAAv/8AQAAAAgAAAA=';
+BINLOG 'wlZOTxMBAAAAKgAAADwCAAAAACkAAAAAAAEABHRlc3QAAnQxAAIDAwAC
+wlZOTxcBAAAAJgAAAGICAAAAACkAAAAAAAEAAv/8AgAAAAgAAAA=';
+SET binlog_format= @old_binlog_format;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 8
+2 8
+SELECT * FROM t1 ORDER by a;
+a b
+2 8
+include/stop_slave.inc
+SET GLOBAL binlog_format= @old_slave_binlog_format;
+include/start_slave.inc
+SET skip_replication=0;
+BEGIN;
+SET skip_replication=0;
+ERROR HY000: Cannot modify @@session.skip_replication inside a transaction
+SET skip_replication=1;
+ERROR HY000: Cannot modify @@session.skip_replication inside a transaction
+ROLLBACK;
+SET skip_replication=1;
+BEGIN;
+SET skip_replication=0;
+ERROR HY000: Cannot modify @@session.skip_replication inside a transaction
+SET skip_replication=1;
+ERROR HY000: Cannot modify @@session.skip_replication inside a transaction
+COMMIT;
+SET autocommit=0;
+INSERT INTO t2(a) VALUES(100);
+SET skip_replication=1;
+ERROR HY000: Cannot modify @@session.skip_replication inside a transaction
+ROLLBACK;
+SET autocommit=1;
+SET skip_replication=1;
+CREATE FUNCTION foo (x INT) RETURNS INT BEGIN SET SESSION skip_replication=x; RETURN x; END|
+CREATE PROCEDURE bar(x INT) BEGIN SET SESSION skip_replication=x; END|
+CREATE FUNCTION baz (x INT) RETURNS INT BEGIN CALL bar(x); RETURN x; END|
+SELECT foo(0);
+ERROR HY000: Cannot modify @@session.skip_replication inside a stored function or trigger
+SELECT baz(0);
+ERROR HY000: Cannot modify @@session.skip_replication inside a stored function or trigger
+SET @a= foo(1);
+ERROR HY000: Cannot modify @@session.skip_replication inside a stored function or trigger
+SET @a= baz(1);
+ERROR HY000: Cannot modify @@session.skip_replication inside a stored function or trigger
+UPDATE t2 SET b=foo(0);
+ERROR HY000: Cannot modify @@session.skip_replication inside a stored function or trigger
+UPDATE t2 SET b=baz(0);
+ERROR HY000: Cannot modify @@session.skip_replication inside a stored function or trigger
+INSERT INTO t1 VALUES (101, foo(1));
+ERROR HY000: Cannot modify @@session.skip_replication inside a stored function or trigger
+INSERT INTO t1 VALUES (101, baz(0));
+ERROR HY000: Cannot modify @@session.skip_replication inside a stored function or trigger
+SELECT @@skip_replication;
+@@skip_replication
+1
+CALL bar(0);
+SELECT @@skip_replication;
+@@skip_replication
+0
+CALL bar(1);
+SELECT @@skip_replication;
+@@skip_replication
+1
+DROP FUNCTION foo;
+DROP PROCEDURE bar;
+DROP FUNCTION baz;
+SET skip_replication= 0;
+TRUNCATE t1;
+STOP SLAVE;
+SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
+START SLAVE IO_THREAD;
+SET skip_replication= 1;
+INSERT INTO t1(a) VALUES (1);
+SET skip_replication= 0;
+INSERT INTO t1(a) VALUES (2);
+include/save_master_pos.inc
+include/sync_io_with_master.inc
+STOP SLAVE IO_THREAD;
+SET GLOBAL replicate_events_marked_for_skip=REPLICATE;
+START SLAVE;
+SELECT * FROM t1;
+a b
+2 NULL
+SET skip_replication= 0;
+TRUNCATE t1;
+STOP SLAVE;
+SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
+START SLAVE IO_THREAD;
+SET skip_replication= 1;
+INSERT INTO t1(a) VALUES (1);
+SET skip_replication= 0;
+INSERT INTO t1(a) VALUES (2);
+include/save_master_pos.inc
+include/sync_io_with_master.inc
+STOP SLAVE IO_THREAD;
+SET GLOBAL replicate_events_marked_for_skip=REPLICATE;
+START SLAVE;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 NULL
+2 NULL
+SET skip_replication=0;
+DROP TABLE t1,t2;
+STOP SLAVE;
+SET GLOBAL replicate_events_marked_for_skip=REPLICATE;
+START SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_skip_replication.test b/mysql-test/suite/binlog_encryption/rpl_skip_replication.test
new file mode 100644
index 00000000000..e7b52f2fadb
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_skip_replication.test
@@ -0,0 +1,2 @@
+--let $use_remote_mysqlbinlog= 1
+--source extra/rpl_tests/rpl_skip_replication.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_special_charset.opt b/mysql-test/suite/binlog_encryption/rpl_special_charset.opt
new file mode 100644
index 00000000000..b071fb20845
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_special_charset.opt
@@ -0,0 +1 @@
+--character-set-server=utf16
diff --git a/mysql-test/suite/binlog_encryption/rpl_special_charset.result b/mysql-test/suite/binlog_encryption/rpl_special_charset.result
new file mode 100644
index 00000000000..6efe81bf6cb
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_special_charset.result
@@ -0,0 +1,8 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("'utf16' can not be used as client character set");
+CREATE TABLE t1(i VARCHAR(20));
+INSERT INTO t1 VALUES (0xFFFF);
+include/diff_tables.inc [master:t1, slave:t1]
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_special_charset.test b/mysql-test/suite/binlog_encryption/rpl_special_charset.test
new file mode 100644
index 00000000000..6f196005711
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_special_charset.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_special_charset.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_sporadic_master-master.opt b/mysql-test/suite/binlog_encryption/rpl_sporadic_master-master.opt
new file mode 100644
index 00000000000..5f038b69bb7
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_sporadic_master-master.opt
@@ -0,0 +1 @@
+--debug-sporadic-binlog-dump-fail --debug-max-binlog-dump-events=2
diff --git a/mysql-test/suite/binlog_encryption/rpl_sporadic_master.result b/mysql-test/suite/binlog_encryption/rpl_sporadic_master.result
new file mode 100644
index 00000000000..1ec94964acf
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_sporadic_master.result
@@ -0,0 +1,23 @@
+include/master-slave.inc
+[connection master]
+create table t2(n int);
+create table t1(n int not null auto_increment primary key);
+insert into t1 values (NULL),(NULL);
+truncate table t1;
+insert into t1 values (4),(NULL);
+include/stop_slave.inc
+include/start_slave.inc
+insert into t1 values (NULL),(NULL);
+flush logs;
+truncate table t1;
+insert into t1 values (10),(NULL),(NULL),(NULL),(NULL),(NULL);
+select * from t1 ORDER BY n;
+n
+10
+11
+12
+13
+14
+15
+drop table t1,t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_sporadic_master.test b/mysql-test/suite/binlog_encryption/rpl_sporadic_master.test
new file mode 100644
index 00000000000..0a756982047
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_sporadic_master.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_sporadic_master.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_ssl.result b/mysql-test/suite/binlog_encryption/rpl_ssl.result
new file mode 100644
index 00000000000..f02fa4e7b9f
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_ssl.result
@@ -0,0 +1,47 @@
+include/master-slave.inc
+[connection master]
+create user replssl@localhost;
+grant replication slave on *.* to replssl@localhost require ssl;
+create table t1 (t int auto_increment, KEY(t));
+stop slave;
+change master to
+master_user='replssl',
+master_password='',
+master_ssl=1,
+master_ssl_ca ='MYSQL_TEST_DIR/std_data/cacert.pem',
+master_ssl_cert='MYSQL_TEST_DIR/std_data/client-cert.pem',
+master_ssl_key='MYSQL_TEST_DIR/std_data/client-key.pem';
+start slave;
+insert into t1 values(1);
+select * from t1;
+t
+1
+Master_SSL_Allowed = 'Yes'
+Master_SSL_CA_Path = ''
+Master_SSL_CA_File = 'MYSQL_TEST_DIR/std_data/cacert.pem'
+Master_SSL_Cert = 'MYSQL_TEST_DIR/std_data/client-cert.pem'
+Master_SSL_Key = 'MYSQL_TEST_DIR/std_data/client-key.pem'
+include/check_slave_is_running.inc
+STOP SLAVE;
+select * from t1;
+t
+1
+insert into t1 values (NULL);
+include/wait_for_slave_to_start.inc
+Master_SSL_Allowed = 'Yes'
+Master_SSL_CA_Path = ''
+Master_SSL_CA_File = 'MYSQL_TEST_DIR/std_data/cacert.pem'
+Master_SSL_Cert = 'MYSQL_TEST_DIR/std_data/client-cert.pem'
+Master_SSL_Key = 'MYSQL_TEST_DIR/std_data/client-key.pem'
+include/check_slave_is_running.inc
+drop user replssl@localhost;
+drop table t1;
+include/stop_slave.inc
+CHANGE MASTER TO
+master_user = 'root',
+master_ssl = 0,
+master_ssl_ca = '',
+master_ssl_cert = '',
+master_ssl_key = '';
+End of 5.0 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_ssl.test b/mysql-test/suite/binlog_encryption/rpl_ssl.test
new file mode 100644
index 00000000000..883b367e9f2
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_ssl.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_ssl.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space-slave.opt b/mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space-slave.opt
new file mode 100644
index 00000000000..f780540aba8
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space-slave.opt
@@ -0,0 +1 @@
+--relay-log-space-limit=8192 --relay-log-purge --max-relay-log-size=4096
diff --git a/mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space.result b/mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space.result
new file mode 100644
index 00000000000..7820f1ef97f
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space.result
@@ -0,0 +1,5 @@
+include/master-slave.inc
+[connection master]
+include/assert.inc [Assert that relay log space is close to the limit]
+include/diff_tables.inc [master:test.t1,slave:test.t1]
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space.test b/mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space.test
new file mode 100644
index 00000000000..f72300ee2de
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_stm_relay_ign_space.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_stm_relay_ign_space.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_switch_stm_row_mixed.result b/mysql-test/suite/binlog_encryption/rpl_switch_stm_row_mixed.result
new file mode 100644
index 00000000000..7fcb0601ebf
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_switch_stm_row_mixed.result
@@ -0,0 +1,428 @@
+include/master-slave.inc
+[connection master]
+drop database if exists mysqltest1;
+create database mysqltest1;
+use mysqltest1;
+set @my_binlog_format= @@global.binlog_format;
+set session binlog_format=mixed;
+show session variables like "binlog_format%";
+Variable_name Value
+binlog_format MIXED
+set session binlog_format=statement;
+show session variables like "binlog_format%";
+Variable_name Value
+binlog_format STATEMENT
+set session binlog_format=row;
+show session variables like "binlog_format%";
+Variable_name Value
+binlog_format ROW
+set global binlog_format=DEFAULT;
+show global variables like "binlog_format%";
+Variable_name Value
+binlog_format STATEMENT
+set global binlog_format=MIXED;
+show global variables like "binlog_format%";
+Variable_name Value
+binlog_format MIXED
+set global binlog_format=STATEMENT;
+show global variables like "binlog_format%";
+Variable_name Value
+binlog_format STATEMENT
+set global binlog_format=ROW;
+show global variables like "binlog_format%";
+Variable_name Value
+binlog_format ROW
+show session variables like "binlog_format%";
+Variable_name Value
+binlog_format ROW
+select @@global.binlog_format, @@session.binlog_format;
+@@global.binlog_format @@session.binlog_format
+ROW ROW
+CREATE TABLE t1 (a varchar(100));
+prepare stmt1 from 'insert into t1 select concat(UUID(),?)';
+set @string="emergency_1_";
+insert into t1 values("work_2_");
+execute stmt1 using @string;
+deallocate prepare stmt1;
+prepare stmt1 from 'insert into t1 select ?';
+insert into t1 values(concat(UUID(),"work_3_"));
+execute stmt1 using @string;
+deallocate prepare stmt1;
+insert into t1 values(concat("for_4_",UUID()));
+insert into t1 select "yesterday_5_";
+create temporary table tmp(a char(100));
+insert into tmp values("see_6_");
+set binlog_format=statement;
+ERROR HY000: Cannot switch out of the row-based binary log format when the session has open temporary tables
+insert into t1 select * from tmp;
+drop temporary table tmp;
+set binlog_format=statement;
+show global variables like "binlog_format%";
+Variable_name Value
+binlog_format ROW
+show session variables like "binlog_format%";
+Variable_name Value
+binlog_format STATEMENT
+select @@global.binlog_format, @@session.binlog_format;
+@@global.binlog_format @@session.binlog_format
+ROW STATEMENT
+set global binlog_format=statement;
+show global variables like "binlog_format%";
+Variable_name Value
+binlog_format STATEMENT
+show session variables like "binlog_format%";
+Variable_name Value
+binlog_format STATEMENT
+select @@global.binlog_format, @@session.binlog_format;
+@@global.binlog_format @@session.binlog_format
+STATEMENT STATEMENT
+prepare stmt1 from 'insert into t1 select ?';
+set @string="emergency_7_";
+insert into t1 values("work_8_");
+execute stmt1 using @string;
+deallocate prepare stmt1;
+prepare stmt1 from 'insert into t1 select ?';
+insert into t1 values("work_9_");
+execute stmt1 using @string;
+deallocate prepare stmt1;
+insert into t1 values("for_10_");
+insert into t1 select "yesterday_11_";
+set binlog_format=statement;
+select @@global.binlog_format, @@session.binlog_format;
+@@global.binlog_format @@session.binlog_format
+STATEMENT STATEMENT
+set global binlog_format=statement;
+select @@global.binlog_format, @@session.binlog_format;
+@@global.binlog_format @@session.binlog_format
+STATEMENT STATEMENT
+prepare stmt1 from 'insert into t1 select ?';
+set @string="emergency_12_";
+insert into t1 values("work_13_");
+execute stmt1 using @string;
+deallocate prepare stmt1;
+prepare stmt1 from 'insert into t1 select ?';
+insert into t1 values("work_14_");
+execute stmt1 using @string;
+deallocate prepare stmt1;
+insert into t1 values("for_15_");
+insert into t1 select "yesterday_16_";
+set global binlog_format=mixed;
+select @@global.binlog_format, @@session.binlog_format;
+@@global.binlog_format @@session.binlog_format
+MIXED STATEMENT
+set binlog_format=default;
+select @@global.binlog_format, @@session.binlog_format;
+@@global.binlog_format @@session.binlog_format
+MIXED MIXED
+prepare stmt1 from 'insert into t1 select concat(UUID(),?)';
+set @string="emergency_17_";
+insert into t1 values("work_18_");
+execute stmt1 using @string;
+deallocate prepare stmt1;
+prepare stmt1 from 'insert into t1 select ?';
+insert into t1 values(concat(UUID(),"work_19_"));
+execute stmt1 using @string;
+deallocate prepare stmt1;
+insert into t1 values(concat("for_20_",UUID()));
+insert into t1 select "yesterday_21_";
+prepare stmt1 from 'insert into t1 select ?';
+insert into t1 values(concat(UUID(),"work_22_"));
+execute stmt1 using @string;
+deallocate prepare stmt1;
+insert into t1 values(concat("for_23_",UUID()));
+insert into t1 select "yesterday_24_";
+create table t2 ENGINE=MyISAM select rpad(UUID(),100,' ');
+create table t3 select 1 union select UUID();
+create table t4 select * from t1 where 3 in (select 1 union select 2 union select UUID() union select 3);
+create table t5 select * from t1 where 3 in (select 1 union select 2 union select curdate() union select 3);
+Warnings:
+Warning 1292 Incorrect datetime value: '3'
+insert into t5 select UUID() from t1 where 3 in (select 1 union select 2 union select 3 union select * from t4);
+create procedure foo()
+begin
+insert into t1 values("work_25_");
+insert into t1 values(concat("for_26_",UUID()));
+insert into t1 select "yesterday_27_";
+end|
+create procedure foo2()
+begin
+insert into t1 values(concat("emergency_28_",UUID()));
+insert into t1 values("work_29_");
+insert into t1 values(concat("for_30_",UUID()));
+set session binlog_format=row; # accepted for stored procs
+insert into t1 values("more work_31_");
+set session binlog_format=mixed;
+end|
+create function foo3() returns bigint unsigned
+begin
+set session binlog_format=row; # rejected for stored funcs
+insert into t1 values("alarm");
+return 100;
+end|
+create procedure foo4(x varchar(100))
+begin
+insert into t1 values(concat("work_250_",x));
+insert into t1 select "yesterday_270_";
+end|
+call foo();
+call foo2();
+call foo4("hello");
+call foo4(UUID());
+call foo4("world");
+select foo3();
+ERROR HY000: Cannot change the binary logging format inside a stored function or trigger
+select * from t1 where a="alarm";
+a
+drop function foo3;
+create function foo3() returns bigint unsigned
+begin
+insert into t1 values("foo3_32_");
+call foo();
+return 100;
+end|
+insert into t2 select foo3();
+prepare stmt1 from 'insert into t2 select foo3()';
+execute stmt1;
+execute stmt1;
+deallocate prepare stmt1;
+create function foo4() returns bigint unsigned
+begin
+insert into t2 select foo3();
+return 100;
+end|
+select foo4();
+foo4()
+100
+prepare stmt1 from 'select foo4()';
+execute stmt1;
+foo4()
+100
+execute stmt1;
+foo4()
+100
+deallocate prepare stmt1;
+create function foo5() returns bigint unsigned
+begin
+insert into t2 select UUID();
+return 100;
+end|
+select foo5();
+foo5()
+100
+prepare stmt1 from 'select foo5()';
+execute stmt1;
+foo5()
+100
+execute stmt1;
+foo5()
+100
+deallocate prepare stmt1;
+create function foo6(x varchar(100)) returns bigint unsigned
+begin
+insert into t2 select x;
+return 100;
+end|
+select foo6("foo6_1_");
+foo6("foo6_1_")
+100
+select foo6(concat("foo6_2_",UUID()));
+foo6(concat("foo6_2_",UUID()))
+100
+prepare stmt1 from 'select foo6(concat("foo6_3_",UUID()))';
+execute stmt1;
+foo6(concat("foo6_3_",UUID()))
+100
+execute stmt1;
+foo6(concat("foo6_3_",UUID()))
+100
+deallocate prepare stmt1;
+create view v1 as select uuid();
+create table t11 (data varchar(255));
+insert into t11 select * from v1;
+insert into t11 select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysqltest1' and TABLE_NAME IN ('v1','t11');
+prepare stmt1 from "insert into t11 select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysqltest1' and TABLE_NAME IN ('v1','t11')";
+execute stmt1;
+execute stmt1;
+deallocate prepare stmt1;
+create trigger t11_bi before insert on t11 for each row
+begin
+set NEW.data = concat(NEW.data,UUID());
+end|
+insert into t11 values("try_560_");
+insert delayed into t2 values("delay_1_");
+insert delayed into t2 values(concat("delay_2_",UUID()));
+insert delayed into t2 values("delay_6_");
+insert delayed into t2 values(rand());
+set @a=2.345;
+insert delayed into t2 values(@a);
+create table t20 select * from t1;
+create table t21 select * from t2;
+create table t22 select * from t3;
+drop table t1,t2,t3;
+create table t1 (a int primary key auto_increment, b varchar(100));
+create table t2 (a int primary key auto_increment, b varchar(100));
+create table t3 (b varchar(100));
+create function f (x varchar(100)) returns int deterministic
+begin
+insert into t1 values(null,x);
+insert into t2 values(null,x);
+return 1;
+end|
+select f("try_41_");
+f("try_41_")
+1
+use mysqltest1;
+insert into t2 values(2,null),(3,null),(4,null);
+delete from t2 where a>=2;
+select f("try_42_");
+f("try_42_")
+1
+insert into t2 values(3,null),(4,null);
+delete from t2 where a>=3;
+prepare stmt1 from 'select f(?)';
+set @string="try_43_";
+insert into t1 values(null,"try_44_");
+execute stmt1 using @string;
+f(?)
+1
+deallocate prepare stmt1;
+create table t12 select * from t1;
+drop table t1;
+create table t1 (a int, b varchar(100), key(a));
+select f("try_45_");
+f("try_45_")
+1
+create table t13 select * from t1;
+drop table t1;
+create table t1 (a int primary key auto_increment, b varchar(100));
+drop function f;
+create table t14 (unique (a)) select * from t2;
+truncate table t2;
+create function f1 (x varchar(100)) returns int deterministic
+begin
+insert into t1 values(null,x);
+return 1;
+end|
+create function f2 (x varchar(100)) returns int deterministic
+begin
+insert into t2 values(null,x);
+return 1;
+end|
+select f1("try_46_"),f2("try_47_");
+f1("try_46_") f2("try_47_")
+1 1
+insert into t2 values(2,null),(3,null),(4,null);
+delete from t2 where a>=2;
+select f1("try_48_"),f2("try_49_");
+f1("try_48_") f2("try_49_")
+1 1
+insert into t3 values(concat("try_50_",f1("try_51_"),f2("try_52_")));
+drop function f2;
+create function f2 (x varchar(100)) returns int deterministic
+begin
+declare y int;
+insert into t1 values(null,x);
+set y = (select count(*) from t2);
+return y;
+end|
+select f1("try_53_"),f2("try_54_");
+f1("try_53_") f2("try_54_")
+1 3
+drop function f2;
+create trigger t1_bi before insert on t1 for each row
+begin
+insert into t2 values(null,"try_55_");
+end|
+insert into t1 values(null,"try_56_");
+alter table t1 modify a int, drop primary key;
+insert into t1 values(null,"try_57_");
+CREATE TEMPORARY TABLE t15 SELECT UUID();
+create table t16 like t15;
+INSERT INTO t16 SELECT * FROM t15;
+insert into t16 values("try_65_");
+drop table t15;
+insert into t16 values("try_66_");
+select count(*) from t1;
+count(*)
+7
+select count(*) from t2;
+count(*)
+5
+select count(*) from t3;
+count(*)
+1
+select count(*) from t4;
+count(*)
+29
+select count(*) from t5;
+count(*)
+58
+select count(*) from t11;
+count(*)
+8
+select count(*) from t20;
+count(*)
+66
+select count(*) from t21;
+count(*)
+19
+select count(*) from t22;
+count(*)
+2
+select count(*) from t12;
+count(*)
+4
+select count(*) from t13;
+count(*)
+1
+select count(*) from t14;
+count(*)
+4
+select count(*) from t16;
+count(*)
+3
+DROP TABLE IF EXISTS t11;
+SET SESSION BINLOG_FORMAT=STATEMENT;
+CREATE TABLE t11 (song VARCHAR(255));
+LOCK TABLES t11 WRITE;
+SET SESSION BINLOG_FORMAT=ROW;
+INSERT INTO t11 VALUES('Several Species of Small Furry Animals Gathered Together in a Cave and Grooving With a Pict');
+SET SESSION BINLOG_FORMAT=STATEMENT;
+INSERT INTO t11 VALUES('Careful With That Axe, Eugene');
+UNLOCK TABLES;
+SELECT * FROM t11;
+song Several Species of Small Furry Animals Gathered Together in a Cave and Grooving With a Pict
+song Careful With That Axe, Eugene
+USE mysqltest1;
+SELECT * FROM t11;
+song Several Species of Small Furry Animals Gathered Together in a Cave and Grooving With a Pict
+song Careful With That Axe, Eugene
+DROP TABLE IF EXISTS t12;
+SET SESSION BINLOG_FORMAT=MIXED;
+CREATE TABLE t12 (data LONG);
+LOCK TABLES t12 WRITE;
+INSERT INTO t12 VALUES(UUID());
+UNLOCK TABLES;
+CREATE FUNCTION my_user()
+RETURNS CHAR(64)
+BEGIN
+DECLARE user CHAR(64);
+SELECT USER() INTO user;
+RETURN user;
+END $$
+CREATE FUNCTION my_current_user()
+RETURNS CHAR(64)
+BEGIN
+DECLARE user CHAR(64);
+SELECT CURRENT_USER() INTO user;
+RETURN user;
+END $$
+DROP TABLE IF EXISTS t13;
+CREATE TABLE t13 (data CHAR(64));
+INSERT INTO t13 VALUES (USER());
+INSERT INTO t13 VALUES (my_user());
+INSERT INTO t13 VALUES (CURRENT_USER());
+INSERT INTO t13 VALUES (my_current_user());
+drop database mysqltest1;
+set global binlog_format =@my_binlog_format;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_switch_stm_row_mixed.test b/mysql-test/suite/binlog_encryption/rpl_switch_stm_row_mixed.test
new file mode 100644
index 00000000000..cd826c6be1e
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_switch_stm_row_mixed.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_switch_stm_row_mixed.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_sync-master.opt b/mysql-test/suite/binlog_encryption/rpl_sync-master.opt
new file mode 100644
index 00000000000..04b06bfa0f2
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_sync-master.opt
@@ -0,0 +1,2 @@
+--default-storage-engine=MyISAM
+--loose-innodb-file-per-table=0
diff --git a/mysql-test/suite/binlog_encryption/rpl_sync-slave.opt b/mysql-test/suite/binlog_encryption/rpl_sync-slave.opt
new file mode 100644
index 00000000000..2e8be18dbd7
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_sync-slave.opt
@@ -0,0 +1,2 @@
+--sync-relay-log-info=1 --relay-log-recovery=1 --loose-innodb_file_format_check=1 --default-storage-engine=MyISAM --loose-innodb-file-per-table=0
+--skip-core-file --skip-slave-start
diff --git a/mysql-test/suite/binlog_encryption/rpl_sync.result b/mysql-test/suite/binlog_encryption/rpl_sync.result
new file mode 100644
index 00000000000..84c100970e4
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_sync.result
@@ -0,0 +1,41 @@
+=====Configuring the enviroment=======;
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression('Attempting backtrace');
+call mtr.add_suppression("Recovery from master pos .* and file master-bin.000001");
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+flush tables;
+CREATE TABLE t1(a INT, PRIMARY KEY(a)) engine=innodb;
+insert into t1(a) values(1);
+insert into t1(a) values(2);
+insert into t1(a) values(3);
+=====Inserting data on the master but without the SQL Thread being running=======;
+include/stop_slave_sql.inc
+insert into t1(a) values(4);
+insert into t1(a) values(5);
+insert into t1(a) values(6);
+=====Removing relay log files and crashing/recoverying the slave=======;
+include/stop_slave_io.inc
+SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
+FLUSH LOGS;
+ERROR HY000: Lost connection to MySQL server during query
+include/rpl_reconnect.inc
+=====Dumping and comparing tables=======;
+include/start_slave.inc
+include/diff_tables.inc [master:t1,slave:t1]
+=====Corrupting the master.info=======;
+include/stop_slave.inc
+FLUSH LOGS;
+insert into t1(a) values(7);
+insert into t1(a) values(8);
+insert into t1(a) values(9);
+SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
+FLUSH LOGS;
+ERROR HY000: Lost connection to MySQL server during query
+include/rpl_reconnect.inc
+=====Dumping and comparing tables=======;
+include/start_slave.inc
+include/diff_tables.inc [master:t1,slave:t1]
+=====Clean up=======;
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_sync.test b/mysql-test/suite/binlog_encryption/rpl_sync.test
new file mode 100644
index 00000000000..189dd8220ef
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_sync.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_sync.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.cnf b/mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.cnf
new file mode 100644
index 00000000000..b8e22e97ae9
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.cnf
@@ -0,0 +1,6 @@
+!include my.cnf
+
+[mysqld.2]
+plugin-load-add= @ENV.FILE_KEY_MANAGEMENT_SO
+loose-file-key-management-filename=@ENV.MYSQLTEST_VARDIR/std_data/keys.txt
+encrypt-binlog
diff --git a/mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.result b/mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.result
new file mode 100644
index 00000000000..2e9116ced2d
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.result
@@ -0,0 +1,83 @@
+include/master-slave.inc
+[connection master]
+SELECT @@global.mysql56_temporal_format AS on_master;
+on_master
+1
+SELECT @@global.mysql56_temporal_format AS on_slave;
+on_slave
+1
+CREATE TABLE t1
+(
+c0 TIME(0),
+c1 TIME(1),
+c2 TIME(2),
+c3 TIME(3),
+c4 TIME(4),
+c5 TIME(5),
+c6 TIME(6)
+);
+CREATE TABLE t2
+(
+c0 TIMESTAMP(0),
+c1 TIMESTAMP(1),
+c2 TIMESTAMP(2),
+c3 TIMESTAMP(3),
+c4 TIMESTAMP(4),
+c5 TIMESTAMP(5),
+c6 TIMESTAMP(6)
+);
+CREATE TABLE t3
+(
+c0 DATETIME(0),
+c1 DATETIME(1),
+c2 DATETIME(2),
+c3 DATETIME(3),
+c4 DATETIME(4),
+c5 DATETIME(5),
+c6 DATETIME(6)
+);
+INSERT INTO t1 VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO t2 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO t3 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+SELECT * FROM t1;;
+c0 01:01:01
+c1 01:01:01.1
+c2 01:01:01.11
+c3 01:01:01.111
+c4 01:01:01.1111
+c5 01:01:01.11111
+c6 01:01:01.111111
+SELECT * FROM t2;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT * FROM t3;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET @@global.mysql56_temporal_format=DEFAULT;
+SET @@global.mysql56_temporal_format=DEFAULT;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.test b/mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.test
new file mode 100644
index 00000000000..99a70e011c4
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_temporal_format_default_to_default.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_temporal_format_default_to_default.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.cnf b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.cnf
new file mode 100644
index 00000000000..b8e22e97ae9
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.cnf
@@ -0,0 +1,6 @@
+!include my.cnf
+
+[mysqld.2]
+plugin-load-add= @ENV.FILE_KEY_MANAGEMENT_SO
+loose-file-key-management-filename=@ENV.MYSQLTEST_VARDIR/std_data/keys.txt
+encrypt-binlog
diff --git a/mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.result b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.result
new file mode 100644
index 00000000000..74c287578d7
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.result
@@ -0,0 +1,85 @@
+include/master-slave.inc
+[connection master]
+SET @@global.mysql56_temporal_format=false;;
+SET @@global.mysql56_temporal_format=true;;
+SELECT @@global.mysql56_temporal_format AS on_master;
+on_master
+0
+SELECT @@global.mysql56_temporal_format AS on_slave;
+on_slave
+1
+CREATE TABLE t1
+(
+c0 TIME(0),
+c1 TIME(1),
+c2 TIME(2),
+c3 TIME(3),
+c4 TIME(4),
+c5 TIME(5),
+c6 TIME(6)
+);
+CREATE TABLE t2
+(
+c0 TIMESTAMP(0),
+c1 TIMESTAMP(1),
+c2 TIMESTAMP(2),
+c3 TIMESTAMP(3),
+c4 TIMESTAMP(4),
+c5 TIMESTAMP(5),
+c6 TIMESTAMP(6)
+);
+CREATE TABLE t3
+(
+c0 DATETIME(0),
+c1 DATETIME(1),
+c2 DATETIME(2),
+c3 DATETIME(3),
+c4 DATETIME(4),
+c5 DATETIME(5),
+c6 DATETIME(6)
+);
+INSERT INTO t1 VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO t2 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO t3 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 33 33
+t2 1 41 41
+t3 1 50 50
+SELECT * FROM t1;;
+c0 01:01:01
+c1 01:01:01.1
+c2 01:01:01.11
+c3 01:01:01.111
+c4 01:01:01.1111
+c5 01:01:01.11111
+c6 01:01:01.111111
+SELECT * FROM t2;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT * FROM t3;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET @@global.mysql56_temporal_format=DEFAULT;
+SET @@global.mysql56_temporal_format=DEFAULT;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.test b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.test
new file mode 100644
index 00000000000..1df4a48f0a9
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mariadb53_to_mysql56.test
@@ -0,0 +1,6 @@
+-- source include/have_binlog_format_mixed_or_statement.inc
+
+--let $force_master_mysql56_temporal_format=false;
+--let $force_slave_mysql56_temporal_format=true;
+
+--source extra/rpl_tests/rpl_temporal_format_default_to_default.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.cnf b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.cnf
new file mode 100644
index 00000000000..b8e22e97ae9
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.cnf
@@ -0,0 +1,6 @@
+!include my.cnf
+
+[mysqld.2]
+plugin-load-add= @ENV.FILE_KEY_MANAGEMENT_SO
+loose-file-key-management-filename=@ENV.MYSQLTEST_VARDIR/std_data/keys.txt
+encrypt-binlog
diff --git a/mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.result b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.result
new file mode 100644
index 00000000000..cc22e00aeb1
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.result
@@ -0,0 +1,85 @@
+include/master-slave.inc
+[connection master]
+SET @@global.mysql56_temporal_format=true;;
+SET @@global.mysql56_temporal_format=false;;
+SELECT @@global.mysql56_temporal_format AS on_master;
+on_master
+1
+SELECT @@global.mysql56_temporal_format AS on_slave;
+on_slave
+0
+CREATE TABLE t1
+(
+c0 TIME(0),
+c1 TIME(1),
+c2 TIME(2),
+c3 TIME(3),
+c4 TIME(4),
+c5 TIME(5),
+c6 TIME(6)
+);
+CREATE TABLE t2
+(
+c0 TIMESTAMP(0),
+c1 TIMESTAMP(1),
+c2 TIMESTAMP(2),
+c3 TIMESTAMP(3),
+c4 TIMESTAMP(4),
+c5 TIMESTAMP(5),
+c6 TIMESTAMP(6)
+);
+CREATE TABLE t3
+(
+c0 DATETIME(0),
+c1 DATETIME(1),
+c2 DATETIME(2),
+c3 DATETIME(3),
+c4 DATETIME(4),
+c5 DATETIME(5),
+c6 DATETIME(6)
+);
+INSERT INTO t1 VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO t2 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO t3 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+SELECT * FROM t1;;
+c0 01:01:01
+c1 01:01:01.1
+c2 01:01:01.11
+c3 01:01:01.111
+c4 01:01:01.1111
+c5 01:01:01.11111
+c6 01:01:01.111111
+SELECT * FROM t2;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT * FROM t3;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 33 33
+t2 1 41 41
+t3 1 50 50
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET @@global.mysql56_temporal_format=DEFAULT;
+SET @@global.mysql56_temporal_format=DEFAULT;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.test b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.test
new file mode 100644
index 00000000000..f7436ed6fef
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_temporal_format_mysql56_to_mariadb53.test
@@ -0,0 +1,4 @@
+--let $force_master_mysql56_temporal_format=true;
+--let $force_slave_mysql56_temporal_format=false;
+
+--source extra/rpl_tests/rpl_temporal_format_default_to_default.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_typeconv.result b/mysql-test/suite/binlog_encryption/rpl_typeconv.result
new file mode 100644
index 00000000000..813c105c7dc
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_typeconv.result
@@ -0,0 +1,540 @@
+include/master-slave.inc
+[connection master]
+set @saved_slave_type_conversions = @@global.slave_type_conversions;
+CREATE TABLE type_conversions (
+TestNo INT AUTO_INCREMENT PRIMARY KEY,
+Source TEXT,
+Target TEXT,
+Flags TEXT,
+On_Master TEXT,
+On_Slave TEXT,
+Expected TEXT,
+Compare INT,
+Error TEXT);
+SELECT @@global.slave_type_conversions;
+@@global.slave_type_conversions
+
+SET GLOBAL SLAVE_TYPE_CONVERSIONS='';
+SELECT @@global.slave_type_conversions;
+@@global.slave_type_conversions
+
+SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
+SELECT @@global.slave_type_conversions;
+@@global.slave_type_conversions
+ALL_NON_LOSSY
+SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY';
+SELECT @@global.slave_type_conversions;
+@@global.slave_type_conversions
+ALL_LOSSY
+SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY';
+SELECT @@global.slave_type_conversions;
+@@global.slave_type_conversions
+ALL_LOSSY,ALL_NON_LOSSY
+SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY,NONEXISTING_BIT';
+ERROR 42000: Variable 'slave_type_conversions' can't be set to the value of 'NONEXISTING_BIT'
+SELECT @@global.slave_type_conversions;
+@@global.slave_type_conversions
+ALL_LOSSY,ALL_NON_LOSSY
+SET GLOBAL SLAVE_TYPE_CONVERSIONS='';
+**** Running tests with @@SLAVE_TYPE_CONVERSIONS = '' ****
+include/rpl_reset.inc
+SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
+**** Running tests with @@SLAVE_TYPE_CONVERSIONS = 'ALL_NON_LOSSY' ****
+include/rpl_reset.inc
+SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY';
+**** Running tests with @@SLAVE_TYPE_CONVERSIONS = 'ALL_LOSSY' ****
+include/rpl_reset.inc
+SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY';
+**** Running tests with @@SLAVE_TYPE_CONVERSIONS = 'ALL_LOSSY,ALL_NON_LOSSY' ****
+include/rpl_reset.inc
+**** Result of conversions ****
+Source_Type Target_Type All_Type_Conversion_Flags Value_On_Slave
+TINYBLOB TINYBLOB <Correct value>
+TINYBLOB BLOB <Correct error>
+TINYBLOB MEDIUMBLOB <Correct error>
+TINYBLOB LONGBLOB <Correct error>
+BLOB TINYBLOB <Correct error>
+BLOB BLOB <Correct value>
+BLOB MEDIUMBLOB <Correct error>
+BLOB LONGBLOB <Correct error>
+MEDIUMBLOB TINYBLOB <Correct error>
+MEDIUMBLOB BLOB <Correct error>
+MEDIUMBLOB MEDIUMBLOB <Correct value>
+MEDIUMBLOB LONGBLOB <Correct error>
+LONGBLOB TINYBLOB <Correct error>
+LONGBLOB BLOB <Correct error>
+LONGBLOB MEDIUMBLOB <Correct error>
+LONGBLOB LONGBLOB <Correct value>
+GEOMETRY BLOB <Correct error>
+BLOB GEOMETRY <Correct error>
+GEOMETRY GEOMETRY <Correct value>
+BIT(1) BIT(1) <Correct value>
+DATE DATE <Correct value>
+ENUM('master',' ENUM('master',' <Correct value>
+CHAR(10) ENUM('master',' <Correct error>
+CHAR(10) SET('master','s <Correct error>
+ENUM('master',' CHAR(10) <Correct error>
+SET('master','s CHAR(10) <Correct error>
+SET('master','s SET('master','s <Correct value>
+SET('master','s SET('master','s <Correct value>
+SET('0','1','2' SET('0','1','2' <Correct value>
+SET('0','1','2' SET('0','1','2' <Correct error>
+SET('0','1','2' SET('0','1','2' <Correct error>
+SET('0','1','2' SET('0','1','2' <Correct error>
+TINYINT TINYINT <Correct value>
+TINYINT SMALLINT <Correct error>
+TINYINT MEDIUMINT <Correct error>
+TINYINT INT <Correct error>
+TINYINT BIGINT <Correct error>
+SMALLINT TINYINT <Correct error>
+SMALLINT TINYINT <Correct error>
+SMALLINT TINYINT UNSIGNE <Correct error>
+SMALLINT SMALLINT <Correct value>
+SMALLINT MEDIUMINT <Correct error>
+SMALLINT INT <Correct error>
+SMALLINT BIGINT <Correct error>
+MEDIUMINT TINYINT <Correct error>
+MEDIUMINT TINYINT <Correct error>
+MEDIUMINT TINYINT UNSIGNE <Correct error>
+MEDIUMINT SMALLINT <Correct error>
+MEDIUMINT MEDIUMINT <Correct value>
+MEDIUMINT INT <Correct error>
+MEDIUMINT BIGINT <Correct error>
+INT TINYINT <Correct error>
+INT TINYINT <Correct error>
+INT TINYINT UNSIGNE <Correct error>
+INT SMALLINT <Correct error>
+INT MEDIUMINT <Correct error>
+INT INT <Correct value>
+INT BIGINT <Correct error>
+BIGINT TINYINT <Correct error>
+BIGINT SMALLINT <Correct error>
+BIGINT MEDIUMINT <Correct error>
+BIGINT INT <Correct error>
+BIGINT BIGINT <Correct value>
+CHAR(20) CHAR(20) <Correct value>
+CHAR(20) CHAR(30) <Correct error>
+CHAR(20) CHAR(10) <Correct error>
+CHAR(20) VARCHAR(20) <Correct error>
+CHAR(20) VARCHAR(30) <Correct error>
+CHAR(20) VARCHAR(10) <Correct error>
+CHAR(20) TINYTEXT <Correct error>
+CHAR(20) TEXT <Correct error>
+CHAR(20) MEDIUMTEXT <Correct error>
+CHAR(20) LONGTEXT <Correct error>
+VARCHAR(20) VARCHAR(20) <Correct value>
+VARCHAR(20) VARCHAR(30) <Correct error>
+VARCHAR(20) VARCHAR(10) <Correct error>
+VARCHAR(20) CHAR(30) <Correct error>
+VARCHAR(20) CHAR(10) <Correct error>
+VARCHAR(20) TINYTEXT <Correct error>
+VARCHAR(20) TEXT <Correct error>
+VARCHAR(20) MEDIUMTEXT <Correct error>
+VARCHAR(20) LONGTEXT <Correct error>
+VARCHAR(500) VARCHAR(500) <Correct value>
+VARCHAR(500) VARCHAR(510) <Correct error>
+VARCHAR(500) VARCHAR(255) <Correct error>
+VARCHAR(500) TINYTEXT <Correct error>
+VARCHAR(500) TEXT <Correct error>
+VARCHAR(500) MEDIUMTEXT <Correct error>
+VARCHAR(500) LONGTEXT <Correct error>
+TINYTEXT VARCHAR(500) <Correct error>
+TEXT VARCHAR(500) <Correct error>
+MEDIUMTEXT VARCHAR(500) <Correct error>
+LONGTEXT VARCHAR(500) <Correct error>
+TINYTEXT CHAR(255) <Correct error>
+TINYTEXT CHAR(250) <Correct error>
+TEXT CHAR(255) <Correct error>
+MEDIUMTEXT CHAR(255) <Correct error>
+LONGTEXT CHAR(255) <Correct error>
+TINYTEXT TINYTEXT <Correct value>
+TINYTEXT TEXT <Correct error>
+TEXT TINYTEXT <Correct error>
+DECIMAL(10,5) DECIMAL(10,5) <Correct value>
+DECIMAL(10,5) DECIMAL(10,6) <Correct error>
+DECIMAL(10,5) DECIMAL(11,5) <Correct error>
+DECIMAL(10,5) DECIMAL(11,6) <Correct error>
+DECIMAL(10,5) DECIMAL(10,4) <Correct error>
+DECIMAL(10,5) DECIMAL(9,5) <Correct error>
+DECIMAL(10,5) DECIMAL(9,4) <Correct error>
+FLOAT DECIMAL(10,5) <Correct error>
+DOUBLE DECIMAL(10,5) <Correct error>
+DECIMAL(10,5) FLOAT <Correct error>
+DECIMAL(10,5) DOUBLE <Correct error>
+FLOAT FLOAT <Correct value>
+DOUBLE DOUBLE <Correct value>
+FLOAT DOUBLE <Correct error>
+DOUBLE FLOAT <Correct error>
+BIT(5) BIT(5) <Correct value>
+BIT(5) BIT(6) <Correct error>
+BIT(6) BIT(5) <Correct error>
+BIT(5) BIT(12) <Correct error>
+BIT(12) BIT(5) <Correct error>
+TINYBLOB TINYBLOB ALL_NON_LOSSY <Correct value>
+TINYBLOB BLOB ALL_NON_LOSSY <Correct value>
+TINYBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
+TINYBLOB LONGBLOB ALL_NON_LOSSY <Correct value>
+BLOB TINYBLOB ALL_NON_LOSSY <Correct error>
+BLOB BLOB ALL_NON_LOSSY <Correct value>
+BLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
+BLOB LONGBLOB ALL_NON_LOSSY <Correct value>
+MEDIUMBLOB TINYBLOB ALL_NON_LOSSY <Correct error>
+MEDIUMBLOB BLOB ALL_NON_LOSSY <Correct error>
+MEDIUMBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
+MEDIUMBLOB LONGBLOB ALL_NON_LOSSY <Correct value>
+LONGBLOB TINYBLOB ALL_NON_LOSSY <Correct error>
+LONGBLOB BLOB ALL_NON_LOSSY <Correct error>
+LONGBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct error>
+LONGBLOB LONGBLOB ALL_NON_LOSSY <Correct value>
+GEOMETRY BLOB ALL_NON_LOSSY <Correct error>
+BLOB GEOMETRY ALL_NON_LOSSY <Correct error>
+GEOMETRY GEOMETRY ALL_NON_LOSSY <Correct value>
+BIT(1) BIT(1) ALL_NON_LOSSY <Correct value>
+DATE DATE ALL_NON_LOSSY <Correct value>
+ENUM('master',' ENUM('master',' ALL_NON_LOSSY <Correct value>
+CHAR(10) ENUM('master',' ALL_NON_LOSSY <Correct error>
+CHAR(10) SET('master','s ALL_NON_LOSSY <Correct error>
+ENUM('master',' CHAR(10) ALL_NON_LOSSY <Correct error>
+SET('master','s CHAR(10) ALL_NON_LOSSY <Correct error>
+SET('master','s SET('master','s ALL_NON_LOSSY <Correct value>
+SET('master','s SET('master','s ALL_NON_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_NON_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_NON_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_NON_LOSSY <Correct error>
+SET('0','1','2' SET('0','1','2' ALL_NON_LOSSY <Correct error>
+TINYINT TINYINT ALL_NON_LOSSY <Correct value>
+TINYINT SMALLINT ALL_NON_LOSSY <Correct value>
+TINYINT MEDIUMINT ALL_NON_LOSSY <Correct value>
+TINYINT INT ALL_NON_LOSSY <Correct value>
+TINYINT BIGINT ALL_NON_LOSSY <Correct value>
+SMALLINT TINYINT ALL_NON_LOSSY <Correct error>
+SMALLINT TINYINT ALL_NON_LOSSY <Correct error>
+SMALLINT TINYINT UNSIGNE ALL_NON_LOSSY <Correct error>
+SMALLINT SMALLINT ALL_NON_LOSSY <Correct value>
+SMALLINT MEDIUMINT ALL_NON_LOSSY <Correct value>
+SMALLINT INT ALL_NON_LOSSY <Correct value>
+SMALLINT BIGINT ALL_NON_LOSSY <Correct value>
+MEDIUMINT TINYINT ALL_NON_LOSSY <Correct error>
+MEDIUMINT TINYINT ALL_NON_LOSSY <Correct error>
+MEDIUMINT TINYINT UNSIGNE ALL_NON_LOSSY <Correct error>
+MEDIUMINT SMALLINT ALL_NON_LOSSY <Correct error>
+MEDIUMINT MEDIUMINT ALL_NON_LOSSY <Correct value>
+MEDIUMINT INT ALL_NON_LOSSY <Correct value>
+MEDIUMINT BIGINT ALL_NON_LOSSY <Correct value>
+INT TINYINT ALL_NON_LOSSY <Correct error>
+INT TINYINT ALL_NON_LOSSY <Correct error>
+INT TINYINT UNSIGNE ALL_NON_LOSSY <Correct error>
+INT SMALLINT ALL_NON_LOSSY <Correct error>
+INT MEDIUMINT ALL_NON_LOSSY <Correct error>
+INT INT ALL_NON_LOSSY <Correct value>
+INT BIGINT ALL_NON_LOSSY <Correct value>
+BIGINT TINYINT ALL_NON_LOSSY <Correct error>
+BIGINT SMALLINT ALL_NON_LOSSY <Correct error>
+BIGINT MEDIUMINT ALL_NON_LOSSY <Correct error>
+BIGINT INT ALL_NON_LOSSY <Correct error>
+BIGINT BIGINT ALL_NON_LOSSY <Correct value>
+CHAR(20) CHAR(20) ALL_NON_LOSSY <Correct value>
+CHAR(20) CHAR(30) ALL_NON_LOSSY <Correct value>
+CHAR(20) CHAR(10) ALL_NON_LOSSY <Correct error>
+CHAR(20) VARCHAR(20) ALL_NON_LOSSY <Correct value>
+CHAR(20) VARCHAR(30) ALL_NON_LOSSY <Correct value>
+CHAR(20) VARCHAR(10) ALL_NON_LOSSY <Correct error>
+CHAR(20) TINYTEXT ALL_NON_LOSSY <Correct value>
+CHAR(20) TEXT ALL_NON_LOSSY <Correct value>
+CHAR(20) MEDIUMTEXT ALL_NON_LOSSY <Correct value>
+CHAR(20) LONGTEXT ALL_NON_LOSSY <Correct value>
+VARCHAR(20) VARCHAR(20) ALL_NON_LOSSY <Correct value>
+VARCHAR(20) VARCHAR(30) ALL_NON_LOSSY <Correct value>
+VARCHAR(20) VARCHAR(10) ALL_NON_LOSSY <Correct error>
+VARCHAR(20) CHAR(30) ALL_NON_LOSSY <Correct value>
+VARCHAR(20) CHAR(10) ALL_NON_LOSSY <Correct error>
+VARCHAR(20) TINYTEXT ALL_NON_LOSSY <Correct value>
+VARCHAR(20) TEXT ALL_NON_LOSSY <Correct value>
+VARCHAR(20) MEDIUMTEXT ALL_NON_LOSSY <Correct value>
+VARCHAR(20) LONGTEXT ALL_NON_LOSSY <Correct value>
+VARCHAR(500) VARCHAR(500) ALL_NON_LOSSY <Correct value>
+VARCHAR(500) VARCHAR(510) ALL_NON_LOSSY <Correct value>
+VARCHAR(500) VARCHAR(255) ALL_NON_LOSSY <Correct error>
+VARCHAR(500) TINYTEXT ALL_NON_LOSSY <Correct error>
+VARCHAR(500) TEXT ALL_NON_LOSSY <Correct value>
+VARCHAR(500) MEDIUMTEXT ALL_NON_LOSSY <Correct value>
+VARCHAR(500) LONGTEXT ALL_NON_LOSSY <Correct value>
+TINYTEXT VARCHAR(500) ALL_NON_LOSSY <Correct value>
+TEXT VARCHAR(500) ALL_NON_LOSSY <Correct error>
+MEDIUMTEXT VARCHAR(500) ALL_NON_LOSSY <Correct error>
+LONGTEXT VARCHAR(500) ALL_NON_LOSSY <Correct error>
+TINYTEXT CHAR(255) ALL_NON_LOSSY <Correct value>
+TINYTEXT CHAR(250) ALL_NON_LOSSY <Correct error>
+TEXT CHAR(255) ALL_NON_LOSSY <Correct error>
+MEDIUMTEXT CHAR(255) ALL_NON_LOSSY <Correct error>
+LONGTEXT CHAR(255) ALL_NON_LOSSY <Correct error>
+TINYTEXT TINYTEXT ALL_NON_LOSSY <Correct value>
+TINYTEXT TEXT ALL_NON_LOSSY <Correct value>
+TEXT TINYTEXT ALL_NON_LOSSY <Correct error>
+DECIMAL(10,5) DECIMAL(10,5) ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(10,6) ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(11,5) ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(11,6) ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(10,4) ALL_NON_LOSSY <Correct error>
+DECIMAL(10,5) DECIMAL(9,5) ALL_NON_LOSSY <Correct error>
+DECIMAL(10,5) DECIMAL(9,4) ALL_NON_LOSSY <Correct error>
+FLOAT DECIMAL(10,5) ALL_NON_LOSSY <Correct error>
+DOUBLE DECIMAL(10,5) ALL_NON_LOSSY <Correct error>
+DECIMAL(10,5) FLOAT ALL_NON_LOSSY <Correct error>
+DECIMAL(10,5) DOUBLE ALL_NON_LOSSY <Correct error>
+FLOAT FLOAT ALL_NON_LOSSY <Correct value>
+DOUBLE DOUBLE ALL_NON_LOSSY <Correct value>
+FLOAT DOUBLE ALL_NON_LOSSY <Correct value>
+DOUBLE FLOAT ALL_NON_LOSSY <Correct error>
+BIT(5) BIT(5) ALL_NON_LOSSY <Correct value>
+BIT(5) BIT(6) ALL_NON_LOSSY <Correct value>
+BIT(6) BIT(5) ALL_NON_LOSSY <Correct error>
+BIT(5) BIT(12) ALL_NON_LOSSY <Correct value>
+BIT(12) BIT(5) ALL_NON_LOSSY <Correct error>
+TINYBLOB TINYBLOB ALL_LOSSY <Correct value>
+TINYBLOB BLOB ALL_LOSSY <Correct error>
+TINYBLOB MEDIUMBLOB ALL_LOSSY <Correct error>
+TINYBLOB LONGBLOB ALL_LOSSY <Correct error>
+BLOB TINYBLOB ALL_LOSSY <Correct value>
+BLOB BLOB ALL_LOSSY <Correct value>
+BLOB MEDIUMBLOB ALL_LOSSY <Correct error>
+BLOB LONGBLOB ALL_LOSSY <Correct error>
+MEDIUMBLOB TINYBLOB ALL_LOSSY <Correct value>
+MEDIUMBLOB BLOB ALL_LOSSY <Correct value>
+MEDIUMBLOB MEDIUMBLOB ALL_LOSSY <Correct value>
+MEDIUMBLOB LONGBLOB ALL_LOSSY <Correct error>
+LONGBLOB TINYBLOB ALL_LOSSY <Correct value>
+LONGBLOB BLOB ALL_LOSSY <Correct value>
+LONGBLOB MEDIUMBLOB ALL_LOSSY <Correct value>
+LONGBLOB LONGBLOB ALL_LOSSY <Correct value>
+GEOMETRY BLOB ALL_LOSSY <Correct error>
+BLOB GEOMETRY ALL_LOSSY <Correct error>
+GEOMETRY GEOMETRY ALL_LOSSY <Correct value>
+BIT(1) BIT(1) ALL_LOSSY <Correct value>
+DATE DATE ALL_LOSSY <Correct value>
+ENUM('master',' ENUM('master',' ALL_LOSSY <Correct value>
+CHAR(10) ENUM('master',' ALL_LOSSY <Correct error>
+CHAR(10) SET('master','s ALL_LOSSY <Correct error>
+ENUM('master',' CHAR(10) ALL_LOSSY <Correct error>
+SET('master','s CHAR(10) ALL_LOSSY <Correct error>
+SET('master','s SET('master','s ALL_LOSSY <Correct value>
+SET('master','s SET('master','s ALL_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_LOSSY <Correct error>
+SET('0','1','2' SET('0','1','2' ALL_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_LOSSY <Correct value>
+TINYINT TINYINT ALL_LOSSY <Correct value>
+TINYINT SMALLINT ALL_LOSSY <Correct error>
+TINYINT MEDIUMINT ALL_LOSSY <Correct error>
+TINYINT INT ALL_LOSSY <Correct error>
+TINYINT BIGINT ALL_LOSSY <Correct error>
+SMALLINT TINYINT ALL_LOSSY <Correct value>
+SMALLINT TINYINT ALL_LOSSY <Correct value>
+SMALLINT TINYINT UNSIGNE ALL_LOSSY <Correct value>
+SMALLINT SMALLINT ALL_LOSSY <Correct value>
+SMALLINT MEDIUMINT ALL_LOSSY <Correct error>
+SMALLINT INT ALL_LOSSY <Correct error>
+SMALLINT BIGINT ALL_LOSSY <Correct error>
+MEDIUMINT TINYINT ALL_LOSSY <Correct value>
+MEDIUMINT TINYINT ALL_LOSSY <Correct value>
+MEDIUMINT TINYINT UNSIGNE ALL_LOSSY <Correct value>
+MEDIUMINT SMALLINT ALL_LOSSY <Correct value>
+MEDIUMINT MEDIUMINT ALL_LOSSY <Correct value>
+MEDIUMINT INT ALL_LOSSY <Correct error>
+MEDIUMINT BIGINT ALL_LOSSY <Correct error>
+INT TINYINT ALL_LOSSY <Correct value>
+INT TINYINT ALL_LOSSY <Correct value>
+INT TINYINT UNSIGNE ALL_LOSSY <Correct value>
+INT SMALLINT ALL_LOSSY <Correct value>
+INT MEDIUMINT ALL_LOSSY <Correct value>
+INT INT ALL_LOSSY <Correct value>
+INT BIGINT ALL_LOSSY <Correct error>
+BIGINT TINYINT ALL_LOSSY <Correct value>
+BIGINT SMALLINT ALL_LOSSY <Correct value>
+BIGINT MEDIUMINT ALL_LOSSY <Correct value>
+BIGINT INT ALL_LOSSY <Correct value>
+BIGINT BIGINT ALL_LOSSY <Correct value>
+CHAR(20) CHAR(20) ALL_LOSSY <Correct value>
+CHAR(20) CHAR(30) ALL_LOSSY <Correct error>
+CHAR(20) CHAR(10) ALL_LOSSY <Correct value>
+CHAR(20) VARCHAR(20) ALL_LOSSY <Correct error>
+CHAR(20) VARCHAR(30) ALL_LOSSY <Correct error>
+CHAR(20) VARCHAR(10) ALL_LOSSY <Correct value>
+CHAR(20) TINYTEXT ALL_LOSSY <Correct error>
+CHAR(20) TEXT ALL_LOSSY <Correct error>
+CHAR(20) MEDIUMTEXT ALL_LOSSY <Correct error>
+CHAR(20) LONGTEXT ALL_LOSSY <Correct error>
+VARCHAR(20) VARCHAR(20) ALL_LOSSY <Correct value>
+VARCHAR(20) VARCHAR(30) ALL_LOSSY <Correct error>
+VARCHAR(20) VARCHAR(10) ALL_LOSSY <Correct value>
+VARCHAR(20) CHAR(30) ALL_LOSSY <Correct error>
+VARCHAR(20) CHAR(10) ALL_LOSSY <Correct value>
+VARCHAR(20) TINYTEXT ALL_LOSSY <Correct error>
+VARCHAR(20) TEXT ALL_LOSSY <Correct error>
+VARCHAR(20) MEDIUMTEXT ALL_LOSSY <Correct error>
+VARCHAR(20) LONGTEXT ALL_LOSSY <Correct error>
+VARCHAR(500) VARCHAR(500) ALL_LOSSY <Correct value>
+VARCHAR(500) VARCHAR(510) ALL_LOSSY <Correct error>
+VARCHAR(500) VARCHAR(255) ALL_LOSSY <Correct value>
+VARCHAR(500) TINYTEXT ALL_LOSSY <Correct value>
+VARCHAR(500) TEXT ALL_LOSSY <Correct error>
+VARCHAR(500) MEDIUMTEXT ALL_LOSSY <Correct error>
+VARCHAR(500) LONGTEXT ALL_LOSSY <Correct error>
+TINYTEXT VARCHAR(500) ALL_LOSSY <Correct error>
+TEXT VARCHAR(500) ALL_LOSSY <Correct value>
+MEDIUMTEXT VARCHAR(500) ALL_LOSSY <Correct value>
+LONGTEXT VARCHAR(500) ALL_LOSSY <Correct value>
+TINYTEXT CHAR(255) ALL_LOSSY <Correct error>
+TINYTEXT CHAR(250) ALL_LOSSY <Correct value>
+TEXT CHAR(255) ALL_LOSSY <Correct value>
+MEDIUMTEXT CHAR(255) ALL_LOSSY <Correct value>
+LONGTEXT CHAR(255) ALL_LOSSY <Correct value>
+TINYTEXT TINYTEXT ALL_LOSSY <Correct value>
+TINYTEXT TEXT ALL_LOSSY <Correct error>
+TEXT TINYTEXT ALL_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(10,5) ALL_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(10,6) ALL_LOSSY <Correct error>
+DECIMAL(10,5) DECIMAL(11,5) ALL_LOSSY <Correct error>
+DECIMAL(10,5) DECIMAL(11,6) ALL_LOSSY <Correct error>
+DECIMAL(10,5) DECIMAL(10,4) ALL_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(9,5) ALL_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(9,4) ALL_LOSSY <Correct value>
+FLOAT DECIMAL(10,5) ALL_LOSSY <Correct value>
+DOUBLE DECIMAL(10,5) ALL_LOSSY <Correct value>
+DECIMAL(10,5) FLOAT ALL_LOSSY <Correct value>
+DECIMAL(10,5) DOUBLE ALL_LOSSY <Correct value>
+FLOAT FLOAT ALL_LOSSY <Correct value>
+DOUBLE DOUBLE ALL_LOSSY <Correct value>
+FLOAT DOUBLE ALL_LOSSY <Correct error>
+DOUBLE FLOAT ALL_LOSSY <Correct value>
+BIT(5) BIT(5) ALL_LOSSY <Correct value>
+BIT(5) BIT(6) ALL_LOSSY <Correct error>
+BIT(6) BIT(5) ALL_LOSSY <Correct value>
+BIT(5) BIT(12) ALL_LOSSY <Correct error>
+BIT(12) BIT(5) ALL_LOSSY <Correct value>
+TINYBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYBLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMBLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+LONGBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+LONGBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+LONGBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+LONGBLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+GEOMETRY BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct error>
+BLOB GEOMETRY ALL_LOSSY,ALL_NON_LOSSY <Correct error>
+GEOMETRY GEOMETRY ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIT(1) BIT(1) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DATE DATE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+ENUM('master',' ENUM('master',' ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(10) ENUM('master',' ALL_LOSSY,ALL_NON_LOSSY <Correct error>
+CHAR(10) SET('master','s ALL_LOSSY,ALL_NON_LOSSY <Correct error>
+ENUM('master',' CHAR(10) ALL_LOSSY,ALL_NON_LOSSY <Correct error>
+SET('master','s CHAR(10) ALL_LOSSY,ALL_NON_LOSSY <Correct error>
+SET('master','s SET('master','s ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SET('master','s SET('master','s ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SET('0','1','2' SET('0','1','2' ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYINT TINYINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYINT SMALLINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYINT MEDIUMINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYINT INT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYINT BIGINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SMALLINT TINYINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SMALLINT TINYINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SMALLINT TINYINT UNSIGNE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SMALLINT SMALLINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SMALLINT MEDIUMINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SMALLINT INT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+SMALLINT BIGINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMINT TINYINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMINT TINYINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMINT TINYINT UNSIGNE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMINT SMALLINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMINT MEDIUMINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMINT INT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMINT BIGINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+INT TINYINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+INT TINYINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+INT TINYINT UNSIGNE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+INT SMALLINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+INT MEDIUMINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+INT INT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+INT BIGINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIGINT TINYINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIGINT SMALLINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIGINT MEDIUMINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIGINT INT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIGINT BIGINT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) CHAR(20) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) CHAR(30) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) CHAR(10) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) VARCHAR(20) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) VARCHAR(30) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) VARCHAR(10) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) TINYTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) TEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) MEDIUMTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+CHAR(20) LONGTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(20) VARCHAR(20) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(20) VARCHAR(30) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(20) VARCHAR(10) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(20) CHAR(30) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(20) CHAR(10) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(20) TINYTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(20) TEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(20) MEDIUMTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(20) LONGTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(500) VARCHAR(500) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(500) VARCHAR(510) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(500) VARCHAR(255) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(500) TINYTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(500) TEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(500) MEDIUMTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+VARCHAR(500) LONGTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYTEXT VARCHAR(500) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TEXT VARCHAR(500) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMTEXT VARCHAR(500) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+LONGTEXT VARCHAR(500) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYTEXT CHAR(255) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYTEXT CHAR(250) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TEXT CHAR(255) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+MEDIUMTEXT CHAR(255) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+LONGTEXT CHAR(255) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYTEXT TINYTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TINYTEXT TEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+TEXT TINYTEXT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(10,5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(10,6) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(11,5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(11,6) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(10,4) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(9,5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DECIMAL(9,4) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+FLOAT DECIMAL(10,5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DOUBLE DECIMAL(10,5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) FLOAT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DECIMAL(10,5) DOUBLE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+FLOAT FLOAT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DOUBLE DOUBLE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+FLOAT DOUBLE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DOUBLE FLOAT ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIT(5) BIT(5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIT(5) BIT(6) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIT(6) BIT(5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIT(5) BIT(12) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+BIT(12) BIT(5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
+DROP TABLE type_conversions;
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t1. cannot be converted from type.* error.* 1677");
+DROP TABLE t1;
+set global slave_type_conversions = @saved_slave_type_conversions;
+include/rpl_end.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_typeconv.test b/mysql-test/suite/binlog_encryption/rpl_typeconv.test
new file mode 100644
index 00000000000..4dbfc27d088
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/rpl_typeconv.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_typeconv.inc
diff --git a/mysql-test/suite/binlog_encryption/suite.pm b/mysql-test/suite/binlog_encryption/suite.pm
new file mode 100644
index 00000000000..f1d5e3aaea7
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/suite.pm
@@ -0,0 +1,18 @@
+package My::Suite::BinlogEncryption;
+
+@ISA = qw(My::Suite);
+
+return "No file key management plugin" unless defined $ENV{FILE_KEY_MANAGEMENT_SO};
+
+sub skip_combinations {
+ my @combinations;
+
+ $skip{'encryption_algorithms.combinations'} = [ 'ctr' ]
+ unless $::mysqld_variables{'version-ssl-library'} =~ /OpenSSL (\S+)/
+ and $1 ge "1.0.1";
+
+ %skip;
+}
+
+bless { };
+
diff --git a/mysql-test/suite/binlog_encryption/testdata.inc b/mysql-test/suite/binlog_encryption/testdata.inc
new file mode 100644
index 00000000000..f9499112e91
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/testdata.inc
@@ -0,0 +1,207 @@
+#
+# This include file creates some basic events which should go to the binary log.
+# What happens to the binary log depends on the test which calls the file,
+# and should be checked from the test.
+#
+# Names are intentionally long and ugly, to make grepping more reliable.
+#
+# Some of events are considered unsafe for SBR (not necessarily correctly,
+# but here isn't the place to check the logic), so we just suppress the warning.
+#
+# For those few queries which produce result sets (e.g. ANALYZE, CHECKSUM etc.),
+# we don't care about the result, so it will not be printed to the output.
+
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+
+#
+# Some DDL
+#
+
+CREATE DATABASE database_name_to_encrypt;
+USE database_name_to_encrypt;
+
+CREATE USER user_name_to_encrypt;
+GRANT ALL ON database_name_to_encrypt.* TO user_name_to_encrypt;
+SET PASSWORD FOR user_name_to_encrypt = PASSWORD('password_to_encrypt');
+
+CREATE TABLE innodb_table_name_to_encrypt (
+ int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+ timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+ blob_column_name_to_encrypt BLOB,
+ virt_column_name_to_encrypt INT AS (int_column_name_to_encrypt % 10) VIRTUAL,
+ pers_column_name_to_encrypt INT AS (int_column_name_to_encrypt) PERSISTENT,
+ INDEX `index_name_to_encrypt`(`timestamp_column_name_to_encrypt`)
+) ENGINE=InnoDB
+ PARTITION BY RANGE (int_column_name_to_encrypt)
+ SUBPARTITION BY KEY (int_column_name_to_encrypt)
+ SUBPARTITIONS 2 (
+ PARTITION partition0_name_to_encrypt VALUES LESS THAN (100),
+ PARTITION partition1_name_to_encrypt VALUES LESS THAN (MAXVALUE)
+ )
+;
+
+CREATE TABLE myisam_table_name_to_encrypt (
+ int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+ char_column_name_to_encrypt VARCHAR(255),
+ datetime_column_name_to_encrypt DATETIME,
+ text_column_name_to_encrypt TEXT
+) ENGINE=MyISAM;
+
+CREATE TABLE aria_table_name_to_encrypt (
+ int_column_name_to_encrypt INT AUTO_INCREMENT PRIMARY KEY,
+ varchar_column_name_to_encrypt VARCHAR(1024),
+ enum_column_name_to_encrypt ENUM(
+ 'enum_value1_to_encrypt',
+ 'enum_value2_to_encrypt'
+ ),
+ timestamp_column_name_to_encrypt TIMESTAMP(6) NULL,
+ blob_column_name_to_encrypt BLOB
+) ENGINE=Aria;
+
+CREATE TRIGGER trigger_name_to_encrypt
+ AFTER INSERT ON myisam_table_name_to_encrypt FOR EACH ROW
+ INSERT INTO aria_table_name_to_encrypt (varchar_column_name_to_encrypt)
+ VALUES (NEW.char_column_name_to_encrypt);
+
+CREATE DEFINER=user_name_to_encrypt VIEW view_name_to_encrypt
+ AS SELECT * FROM innodb_table_name_to_encrypt;
+
+CREATE FUNCTION func_name_to_encrypt (func_parameter_to_encrypt INT)
+ RETURNS VARCHAR(64)
+ RETURN 'func_result_to_encrypt';
+
+--delimiter $$
+CREATE PROCEDURE proc_name_to_encrypt (
+ IN proc_in_parameter_to_encrypt CHAR(32),
+ OUT proc_out_parameter_to_encrypt INT
+)
+BEGIN
+ DECLARE procvar_name_to_encrypt CHAR(64) DEFAULT 'procvar_val_to_encrypt';
+ DECLARE cursor_name_to_encrypt CURSOR FOR
+ SELECT virt_column_name_to_encrypt FROM innodb_table_name_to_encrypt;
+ DECLARE EXIT HANDLER FOR NOT FOUND
+ BEGIN
+ SET @stmt_var_to_encrypt = CONCAT(
+ "SELECT
+ IF (RAND()>0.5,'enum_value2_to_encrypt','enum_value1_to_encrypt')
+ FROM innodb_table_name_to_encrypt
+ INTO OUTFILE '", proc_in_parameter_to_encrypt, "'");
+ PREPARE stmt_to_encrypt FROM @stmt_var_to_encrypt;
+ EXECUTE stmt_to_encrypt;
+ DEALLOCATE PREPARE stmt_to_encrypt;
+ END;
+ OPEN cursor_name_to_encrypt;
+ proc_label_to_encrypt: LOOP
+ FETCH cursor_name_to_encrypt INTO procvar_name_to_encrypt;
+ END LOOP;
+ CLOSE cursor_name_to_encrypt;
+END $$
+--delimiter ;
+
+CREATE SERVER server_name_to_encrypt
+ FOREIGN DATA WRAPPER mysql
+ OPTIONS (HOST 'host_name_to_encrypt');
+
+--let $_cur_con= $CURRENT_CONNECTION
+--connect (con1,localhost,user_name_to_encrypt,password_to_encrypt,database_name_to_encrypt)
+CREATE TEMPORARY TABLE tmp_table_name_to_encrypt (
+ float_column_name_to_encrypt FLOAT,
+ binary_column_name_to_encrypt BINARY(64)
+);
+--disconnect con1
+--connection $_cur_con
+
+CREATE INDEX index_name_to_encrypt
+ ON myisam_table_name_to_encrypt (datetime_column_name_to_encrypt);
+
+ALTER DATABASE database_name_to_encrypt CHARACTER SET utf8;
+
+ALTER TABLE innodb_table_name_to_encrypt
+ MODIFY timestamp_column_name_to_encrypt TIMESTAMP NOT NULL
+ DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+;
+
+ALTER ALGORITHM=MERGE VIEW view_name_to_encrypt
+ AS SELECT * FROM innodb_table_name_to_encrypt;
+
+RENAME TABLE innodb_table_name_to_encrypt TO new_table_name_to_encrypt;
+ALTER TABLE new_table_name_to_encrypt RENAME TO innodb_table_name_to_encrypt;
+
+#
+# Some DML
+#
+
+--disable_warnings
+
+set @user_var1_to_encrypt= 'dyncol1_val_to_encrypt';
+set @user_var2_to_encrypt= 'dyncol2_name_to_encrypt';
+
+INSERT INTO view_name_to_encrypt VALUES
+ (1, NOW(6), COLUMN_CREATE('dyncol1_name_to_encrypt',@user_var1_to_encrypt), NULL, NULL),
+ (2, NOW(6), COLUMN_CREATE(@user_var2_to_encrypt,'dyncol2_val_to_encrypt'), NULL, NULL)
+;
+--delimiter $$
+BEGIN NOT ATOMIC
+ DECLARE counter_name_to_encrypt INT DEFAULT 0;
+ START TRANSACTION;
+ WHILE counter_name_to_encrypt<12 DO
+ INSERT INTO innodb_table_name_to_encrypt
+ SELECT NULL, NOW(6), blob_column_name_to_encrypt, NULL, NULL
+ FROM innodb_table_name_to_encrypt
+ ORDER BY int_column_name_to_encrypt;
+ SET counter_name_to_encrypt = counter_name_to_encrypt+1;
+ END WHILE;
+ COMMIT;
+ END
+$$
+--delimiter ;
+
+INSERT INTO myisam_table_name_to_encrypt
+ SELECT NULL, 'char_literal_to_encrypt', NULL, 'text_to_encrypt';
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+ SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+ SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+INSERT INTO myisam_table_name_to_encrypt (char_column_name_to_encrypt)
+ SELECT char_column_name_to_encrypt FROM myisam_table_name_to_encrypt;
+
+CALL proc_name_to_encrypt('file_name_to_encrypt',@useless_var_to_encrypt);
+
+TRUNCATE TABLE aria_table_name_to_encrypt;
+
+LOAD DATA INFILE 'file_name_to_encrypt' INTO TABLE aria_table_name_to_encrypt
+ (enum_column_name_to_encrypt);
+
+--let datadir= `SELECT @@datadir`
+--replace_result $datadir <DATADIR>
+eval LOAD DATA LOCAL INFILE '$datadir/database_name_to_encrypt/file_name_to_encrypt'
+ INTO TABLE aria_table_name_to_encrypt (enum_column_name_to_encrypt);
+--remove_file $datadir/database_name_to_encrypt/file_name_to_encrypt
+
+UPDATE view_name_to_encrypt SET blob_column_name_to_encrypt =
+ COLUMN_CREATE('dyncol1_name_to_encrypt',func_name_to_encrypt(0))
+;
+
+DELETE FROM aria_table_name_to_encrypt ORDER BY int_column_name_to_encrypt LIMIT 10;
+
+--enable_warnings
+
+#
+# Other statements
+#
+
+--disable_result_log
+ANALYZE TABLE myisam_table_name_to_encrypt;
+CHECK TABLE aria_table_name_to_encrypt;
+CHECKSUM TABLE innodb_table_name_to_encrypt, myisam_table_name_to_encrypt;
+--enable_result_log
+RENAME USER user_name_to_encrypt to new_user_name_to_encrypt;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM new_user_name_to_encrypt;
+
+#
+# Cleanup
+#
+
+DROP DATABASE database_name_to_encrypt;
+DROP USER new_user_name_to_encrypt;
+DROP SERVER server_name_to_encrypt;
diff --git a/mysql-test/suite/binlog_encryption/testdata.opt b/mysql-test/suite/binlog_encryption/testdata.opt
new file mode 100644
index 00000000000..b0c5b9c8188
--- /dev/null
+++ b/mysql-test/suite/binlog_encryption/testdata.opt
@@ -0,0 +1 @@
+--partition
diff --git a/mysql-test/suite/csv/csv.result b/mysql-test/suite/csv/csv.result
index 6b20add1bed..5f1b380f96b 100644
--- a/mysql-test/suite/csv/csv.result
+++ b/mysql-test/suite/csv/csv.result
@@ -4927,9 +4927,9 @@ period
9410
drop table if exists t1,t2,t3,t4;
Warnings:
-Note 1051 Unknown table 't2'
-Note 1051 Unknown table 't3'
-Note 1051 Unknown table 't4'
+Note 1051 Unknown table 'test.t2'
+Note 1051 Unknown table 'test.t3'
+Note 1051 Unknown table 'test.t4'
DROP TABLE IF EXISTS bug13894;
CREATE TABLE bug13894 ( val integer not null ) ENGINE = CSV;
INSERT INTO bug13894 VALUES (5);
@@ -5197,7 +5197,7 @@ drop table t1;
create table bug15205 (val int(11) not null) engine=csv;
create table bug15205_2 (val int(11) not null) engine=csv;
select * from bug15205;
-ERROR HY000: Can't get stat of './test/bug15205.CSV' (Errcode: 2)
+ERROR HY000: Can't get stat of './test/bug15205.CSV' (Errcode: 2 "No such file or directory")
select * from bug15205_2;
val
select * from bug15205;
@@ -5379,7 +5379,7 @@ ERROR 42000: The storage engine for the table doesn't support nullable columns
SHOW WARNINGS;
Level Code Message
Error 1178 The storage engine for the table doesn't support nullable columns
-Error 1005 Can't create table 'test.t1' (errno: 138)
+Warning 1112 Table 't1' uses an extension that doesn't exist in this MariaDB version
create table t1 (c1 tinyblob not null) engine=csv;
insert into t1 values("This");
update t1 set c1="That" where c1="This";
@@ -5392,7 +5392,7 @@ drop table t1;
create table t1 (a int not null) engine=csv;
lock tables t1 read;
select * from t1;
-ERROR HY000: File 'MYSQLD_DATADIR/test/t1.CSV' not found (Errcode: 2)
+ERROR HY000: File 'MYSQLD_DATADIR/test/t1.CSV' not found (Errcode: 2 "No such file or directory")
unlock tables;
drop table t1;
CREATE TABLE t1 (e enum('foo','bar') NOT NULL) ENGINE = CSV;
@@ -5485,3 +5485,65 @@ SELECT * FROM t1;
ERROR HY000: Table 't1' is marked as crashed and should be repaired
DROP TABLE t1;
End of 5.1 tests
+#
+# MDEV-5612 - my_rename() deletes files when it shouldn't
+#
+CREATE TABLE t1(a INT NOT NULL) ENGINE=CSV;
+RENAME TABLE t1 TO t2;
+SELECT * FROM t2;
+a
+DROP TABLE t2;
+#
+# MDEV-8664 - plugins.show_all_plugins --embedded fails in buildbot
+#
+CREATE TABLE t1(c1 TEXT NOT NULL, c2 TEXT NOT NULL) ENGINE=CSV IETF_QUOTES=yes;
+INSERT INTO t1 VALUES("a\"b,c","d");
+INSERT INTO t1 VALUES("d","a\"b,c");
+INSERT INTO t1 VALUES(",\"a","e");
+INSERT INTO t1 VALUES("e",",\"a");
+INSERT INTO t1 VALUES("\"","f");
+INSERT INTO t1 VALUES("f","\"");
+INSERT INTO t1 VALUES(",","g");
+INSERT INTO t1 VALUES("g",",");
+SELECT * FROM t1;
+c1 c2
+a"b,c d
+d a"b,c
+,"a e
+e ,"a
+" f
+f "
+, g
+g ,
+CSV file contents:
+"a""b,c","d"
+"d","a""b,c"
+",""a","e"
+"e",",""a"
+"""","f"
+"f",""""
+",","g"
+"g",","
+DROP TABLE t1;
+CREATE TABLE t1(c1 TEXT NOT NULL, c2 TEXT NOT NULL) ENGINE=CSV IETF_QUOTES=yes;
+Replacing t1.CSV
+SELECT * FROM t1;
+c1 c2
+a b
+a b
+a"b,c d
+d ,"a
+a", e
+e "
+, f
+ALTER TABLE t1 IETF_QUOTES=no;
+SELECT * FROM t1;
+c1 c2
+a b
+a b
+a"b,c d
+d ,"a
+a", e
+e "
+, f
+DROP TABLE t1;
diff --git a/mysql-test/suite/csv/csv.test b/mysql-test/suite/csv/csv.test
index 768a21912a2..f274eea3236 100644
--- a/mysql-test/suite/csv/csv.test
+++ b/mysql-test/suite/csv/csv.test
@@ -1917,3 +1917,55 @@ SELECT * FROM t1;
DROP TABLE t1;
--echo End of 5.1 tests
+
+--echo #
+--echo # MDEV-5612 - my_rename() deletes files when it shouldn't
+--echo #
+CREATE TABLE t1(a INT NOT NULL) ENGINE=CSV;
+move_file $MYSQLD_DATADIR/test/t1.CSV $MYSQLD_DATADIR/test/t2.CSV;
+RENAME TABLE t1 TO t2;
+SELECT * FROM t2;
+DROP TABLE t2;
+
+--echo #
+--echo # MDEV-8664 - plugins.show_all_plugins --embedded fails in buildbot
+--echo #
+CREATE TABLE t1(c1 TEXT NOT NULL, c2 TEXT NOT NULL) ENGINE=CSV IETF_QUOTES=yes;
+
+INSERT INTO t1 VALUES("a\"b,c","d");
+INSERT INTO t1 VALUES("d","a\"b,c");
+INSERT INTO t1 VALUES(",\"a","e");
+INSERT INTO t1 VALUES("e",",\"a");
+INSERT INTO t1 VALUES("\"","f");
+INSERT INTO t1 VALUES("f","\"");
+INSERT INTO t1 VALUES(",","g");
+INSERT INTO t1 VALUES("g",",");
+
+SELECT * FROM t1;
+
+--echo CSV file contents:
+--cat_file $MYSQLD_DATADIR/test/t1.CSV
+
+DROP TABLE t1;
+
+CREATE TABLE t1(c1 TEXT NOT NULL, c2 TEXT NOT NULL) ENGINE=CSV IETF_QUOTES=yes;
+
+--echo Replacing t1.CSV
+--remove_file $MYSQLD_DATADIR/test/t1.CSV
+--write_file $MYSQLD_DATADIR/test/t1.CSV
+a,b
+"a","b"
+"a""b,c","d"
+"d",",""a"
+"a"",",e
+e,""""
+",",f
+EOF
+
+SELECT * FROM t1;
+
+ALTER TABLE t1 IETF_QUOTES=no;
+
+SELECT * FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/csv/read_only.result b/mysql-test/suite/csv/read_only.result
new file mode 100644
index 00000000000..d6936681f65
--- /dev/null
+++ b/mysql-test/suite/csv/read_only.result
@@ -0,0 +1,30 @@
+create table t1 (a int not null) engine=csv;
+insert t1 values (1),(2);
+flush tables;
+select * from information_schema.tables where table_schema='test';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME t1
+TABLE_TYPE BASE TABLE
+ENGINE NULL
+VERSION NULL
+ROW_FORMAT NULL
+TABLE_ROWS NULL
+AVG_ROW_LENGTH NULL
+DATA_LENGTH NULL
+MAX_DATA_LENGTH NULL
+INDEX_LENGTH NULL
+DATA_FREE NULL
+AUTO_INCREMENT NULL
+CREATE_TIME NULL
+UPDATE_TIME NULL
+CHECK_TIME NULL
+TABLE_COLLATION NULL
+CHECKSUM NULL
+CREATE_OPTIONS NULL
+TABLE_COMMENT File './test/t1.CSM' not found (Errcode: 13 "Permission denied")
+Warnings:
+Level Warning
+Code 29
+Message File './test/t1.CSM' not found (Errcode: 13 "Permission denied")
+drop table t1;
diff --git a/mysql-test/suite/csv/read_only.test b/mysql-test/suite/csv/read_only.test
new file mode 100644
index 00000000000..2af209182d0
--- /dev/null
+++ b/mysql-test/suite/csv/read_only.test
@@ -0,0 +1,19 @@
+#
+# MDEV-11883 MariaDB crashes with out-of-memory when query information_schema
+#
+source include/have_csv.inc;
+
+let datadir=`select @@datadir`;
+
+create table t1 (a int not null) engine=csv;
+insert t1 values (1),(2);
+flush tables;
+
+chmod 0400 $datadir/test/t1.CSM;
+chmod 0400 $datadir/test/t1.CSV;
+
+--replace_result $datadir ./
+query_vertical select * from information_schema.tables where table_schema='test';
+
+drop table t1;
+
diff --git a/mysql-test/suite/encryption/disabled.def b/mysql-test/suite/encryption/disabled.def
new file mode 100644
index 00000000000..abbb82d51f6
--- /dev/null
+++ b/mysql-test/suite/encryption/disabled.def
@@ -0,0 +1,15 @@
+##############################################################################
+#
+# List the test cases that are to be disabled temporarily.
+#
+# Separate the test case name and the comment with ':'.
+#
+# <testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment>
+#
+# Do not use any TAB characters for whitespace.
+#
+##############################################################################
+
+innodb_scrub : MDEV-8139 scrubbing does not work reliably
+innodb_scrub_background : MDEV-8139 scrubbing does not work reliably
+
diff --git a/mysql-test/suite/encryption/include/have_example_key_management_plugin.inc b/mysql-test/suite/encryption/include/have_example_key_management_plugin.inc
new file mode 100644
index 00000000000..a87d3256ee0
--- /dev/null
+++ b/mysql-test/suite/encryption/include/have_example_key_management_plugin.inc
@@ -0,0 +1,4 @@
+if (!$EXAMPLE_KEY_MANAGEMENT_SO)
+{
+ --skip Needs example_key_management
+}
diff --git a/mysql-test/suite/encryption/include/have_example_key_management_plugin.opt b/mysql-test/suite/encryption/include/have_example_key_management_plugin.opt
new file mode 100644
index 00000000000..ce7f1ddef7e
--- /dev/null
+++ b/mysql-test/suite/encryption/include/have_example_key_management_plugin.opt
@@ -0,0 +1,2 @@
+--plugin-load-add=$EXAMPLE_KEY_MANAGEMENT_SO
+--loose-example-key-management
diff --git a/mysql-test/suite/encryption/include/have_file_key_management_plugin.combinations b/mysql-test/suite/encryption/include/have_file_key_management_plugin.combinations
new file mode 100644
index 00000000000..4f6317cdf67
--- /dev/null
+++ b/mysql-test/suite/encryption/include/have_file_key_management_plugin.combinations
@@ -0,0 +1,11 @@
+[cbc]
+plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+loose-file-key-management
+loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys.txt
+file-key-management-encryption-algorithm=aes_cbc
+
+[ctr]
+plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+loose-file-key-management
+loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys.txt
+file-key-management-encryption-algorithm=aes_ctr
diff --git a/mysql-test/suite/encryption/include/have_file_key_management_plugin.inc b/mysql-test/suite/encryption/include/have_file_key_management_plugin.inc
new file mode 100644
index 00000000000..06fbb510d6b
--- /dev/null
+++ b/mysql-test/suite/encryption/include/have_file_key_management_plugin.inc
@@ -0,0 +1,4 @@
+if (`SELECT COUNT(*)=0 FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'file_key_management' AND PLUGIN_STATUS='ACTIVE'`)
+{
+ --skip Test requires file_key_management plugin
+}
diff --git a/mysql-test/suite/encryption/include/innodb-util.pl b/mysql-test/suite/encryption/include/innodb-util.pl
new file mode 100644
index 00000000000..241545dac18
--- /dev/null
+++ b/mysql-test/suite/encryption/include/innodb-util.pl
@@ -0,0 +1,126 @@
+#
+# Utility functions to copy files for WL#5522
+#
+# All the tables must be in the same database, you can call it like so:
+# ib_backup_tablespaces("test", "t1", "blah", ...).
+
+use File::Copy;
+use File::Spec;
+
+sub ib_normalize_path {
+ my ($path) = @_;
+}
+
+sub ib_backup_tablespace {
+ my ($db, $table) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $cfg_file = sprintf("%s.cfg", $table);
+ my $ibd_file = sprintf("%s.ibd", $table);
+ my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
+
+ my @args = (File::Spec->catfile($datadir, $db, $ibd_file),
+ File::Spec->catfile($tmpd, $ibd_file));
+
+ copy(@args) or die "copy @args failed: $!";
+
+ my @args = (File::Spec->catfile($datadir, $db, $cfg_file),
+ File::Spec->catfile($tmpd, $cfg_file));
+
+ copy(@args) or die "copy @args failed: $!";
+}
+
+sub ib_cleanup {
+ my ($db, $table) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $cfg_file = sprintf("%s.cfg", $table);
+
+ print "unlink: $cfg_file\n";
+
+ # These may or may not exist
+ unlink(File::Spec->catfile($datadir, $db, $cfg_file));
+}
+
+sub ib_unlink_tablespace {
+ my ($db, $table) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $ibd_file = sprintf("%s.ibd", $table);
+
+ print "unlink: $ibd_file\n";
+ # This may or may not exist
+ unlink(File::Spec->catfile($datadir, $db, $ibd_file));
+
+ ib_cleanup($db, $table);
+}
+
+sub ib_backup_tablespaces {
+ my ($db, @tables) = @_;
+
+ foreach my $table (@tables) {
+ print "backup: $table\n";
+ ib_backup_tablespace($db, $table);
+ }
+}
+
+sub ib_discard_tablespace { }
+
+sub ib_discard_tablespaces { }
+
+sub ib_restore_cfg_file {
+ my ($tmpd, $datadir, $db, $table) = @_;
+ my $cfg_file = sprintf("%s.cfg", $table);
+
+ my @args = (File::Spec->catfile($tmpd, $cfg_file),
+ File::Spec->catfile($datadir, "$db", $cfg_file));
+
+ copy(@args) or die "copy @args failed: $!";
+}
+
+sub ib_restore_ibd_file {
+ my ($tmpd, $datadir, $db, $table) = @_;
+ my $ibd_file = sprintf("%s.ibd", $table);
+
+ my @args = (File::Spec->catfile($tmpd, $ibd_file),
+ File::Spec->catfile($datadir, $db, $ibd_file));
+
+ copy(@args) or die "copy @args failed: $!";
+}
+
+sub ib_restore_tablespace {
+ my ($db, $table) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
+
+ ib_restore_cfg_file($tmpd, $datadir, $db, $table);
+ ib_restore_ibd_file($tmpd, $datadir, $db, $table);
+}
+
+sub ib_restore_tablespaces {
+ my ($db, @tables) = @_;
+
+ foreach my $table (@tables) {
+ print "restore: $table .ibd and .cfg files\n";
+ ib_restore_tablespace($db, $table);
+ }
+}
+
+sub ib_restore_cfg_files {
+ my ($db, @tables) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
+
+ foreach my $table (@tables) {
+ print "restore: $table .cfg file\n";
+ ib_restore_cfg_file($tmpd, $datadir, $db, $table);
+ }
+}
+
+sub ib_restore_ibd_files {
+ my ($db, @tables) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
+
+ foreach my $table (@tables) {
+ print "restore: $table .ibd file\n";
+ ib_restore_ibd_file($tmpd, $datadir, $db, $table);
+ }
+}
diff --git a/mysql-test/suite/encryption/r/aria_tiny.result b/mysql-test/suite/encryption/r/aria_tiny.result
new file mode 100644
index 00000000000..b0f8bac7c32
--- /dev/null
+++ b/mysql-test/suite/encryption/r/aria_tiny.result
@@ -0,0 +1,5 @@
+set global aria_encrypt_tables = 1;
+create table t1 (i int, key(i)) engine=aria;
+insert into t1 values (1);
+drop table t1;
+set global aria_encrypt_tables = 0;
diff --git a/mysql-test/suite/encryption/r/create_or_replace.result b/mysql-test/suite/encryption/r/create_or_replace.result
new file mode 100644
index 00000000000..54d41972e7c
--- /dev/null
+++ b/mysql-test/suite/encryption/r/create_or_replace.result
@@ -0,0 +1,21 @@
+SET default_storage_engine = InnoDB;
+CREATE TABLE t1 (pk INT PRIMARY KEY, c VARCHAR(256));
+CREATE TABLE t2 AS SELECT * FROM t1;
+drop table t1,t2;
+SET GLOBAL innodb_encryption_threads = 0;
+SET GLOBAL innodb_encryption_threads = 4;
+CREATE TABLE `table10_int_autoinc` (`col_int_key` int, pk int auto_increment, `col_int` int, key (`col_int_key` ),primary key (pk)) engine=innodb;
+INSERT /*! IGNORE */ INTO table10_int_autoinc VALUES (NULL, NULL, -474021888) , (1, NULL, NULL) , (1141047296, NULL, NULL) , (NULL, NULL, NULL) , (NULL, NULL, 1) , (NULL, NULL, 9) , (0, NULL, 1225785344) , (NULL, NULL, 1574174720) , (2, NULL, NULL) , (6, NULL, 3);
+CREATE TABLE `table1_int_autoinc` (`col_int_key` int, pk int auto_increment, `col_int` int,key (`col_int_key` ), primary key (pk)) engine=innodb;
+CREATE TABLE `table0_int_autoinc` (`col_int_key` int, pk int auto_increment, `col_int` int, key (`col_int_key` ),primary key (pk)) engine=innodb;
+INSERT /*! IGNORE */ INTO table1_int_autoinc VALUES (4, NULL, NULL);
+INSERT IGNORE INTO `table0_int_autoinc` ( `col_int_key` ) VALUES ( 1 ), ( 3 ), ( 4 ), ( 1 );
+INSERT IGNORE INTO `table1_int_autoinc` ( `col_int` ) VALUES ( 1 ), ( 0 ), ( 7 ), ( 9 );
+INSERT IGNORE INTO `table10_int_autoinc` ( `col_int` ) VALUES ( 6 ), ( 2 ), ( 3 ), ( 6 );
+drop table if exists create_or_replace_t, table1_int_autoinc, table0_int_autoinc, table10_int_autoinc;
+SET GLOBAL innodb_encrypt_tables = OFF;
+SET GLOBAL innodb_encryption_threads = 4;
+# Wait max 10 min for key encryption threads to decrypt all spaces
+# Success!
+SET GLOBAL innodb_encryption_threads = 0;
+SET GLOBAL innodb_encrypt_tables = OFF;
diff --git a/mysql-test/suite/encryption/r/debug_key_management.result b/mysql-test/suite/encryption/r/debug_key_management.result
new file mode 100644
index 00000000000..02e05b4d221
--- /dev/null
+++ b/mysql-test/suite/encryption/r/debug_key_management.result
@@ -0,0 +1,17 @@
+set global innodb_encrypt_tables=ON;
+show variables like 'innodb_encrypt%';
+Variable_name Value
+innodb_encrypt_log ON
+innodb_encrypt_tables ON
+innodb_encryption_rotate_key_age 2
+innodb_encryption_rotation_iops 100
+innodb_encryption_threads 4
+select count(*) from information_schema.innodb_tablespaces_encryption where current_key_version <> 1;
+count(*)
+0
+set global debug_key_management_version=10;
+select count(*) from information_schema.innodb_tablespaces_encryption where current_key_version <> 10;
+count(*)
+0
+set global innodb_encrypt_tables=OFF;
+set global debug_key_management_version=1;
diff --git a/mysql-test/suite/encryption/r/encrypt_and_grep.result b/mysql-test/suite/encryption/r/encrypt_and_grep.result
new file mode 100644
index 00000000000..e11d8183ec4
--- /dev/null
+++ b/mysql-test/suite/encryption/r/encrypt_and_grep.result
@@ -0,0 +1,74 @@
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_file_format = `Barracuda`;
+create table t1 (a varchar(255)) engine=innodb encrypted=yes;
+create table t2 (a varchar(255)) engine=innodb;
+show warnings;
+Level Code Message
+create table t3 (a varchar(255)) engine=innodb encrypted=no;
+insert t1 values (repeat('foobarsecret', 22));
+Warnings:
+Warning 1265 Data truncated for column 'a' at row 1
+insert t2 values (repeat('tempsecret', 22));
+insert t3 values (repeat('dummysecret', 22));
+# Wait max 10 min for key encryption threads to encrypt all spaces
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+test/t3
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+test/t1
+test/t2
+./ibdata1
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobarsecret/ in t1.ibd
+# t2 ... on expecting NOT FOUND
+NOT FOUND /tempsecret/ in t2.ibd
+# t3 no on expecting FOUND
+FOUND /dummysecret/ in t3.ibd
+# ibdata1 expecting NOT FOUND
+NOT FOUND /foobarsecret/ in ibdata1
+# Now turn off encryption and wait for threads to decrypt everything
+SET GLOBAL innodb_encrypt_tables = off;
+# Wait max 10 min for key encryption threads to decrypt all spaces
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+test/t2
+test/t3
+./ibdata1
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+test/t1
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobarsecret/ in t1.ibd
+# t2 ... default expecting FOUND
+FOUND /tempsecret/ in t2.ibd
+# t3 no on expecting FOUND
+FOUND /dummysecret/ in t3.ibd
+# ibdata1 expecting NOT FOUND
+NOT FOUND /foobarsecret/ in ibdata1
+# Now turn on encryption and wait for threads to encrypt all spaces
+SET GLOBAL innodb_encrypt_tables = on;
+# Wait max 10 min for key encryption threads to encrypt all spaces
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+test/t3
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+test/t1
+test/t2
+./ibdata1
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobarsecret/ in t1.ibd
+# t2 ... on expecting NOT FOUND
+NOT FOUND /tempsecret/ in t2.ibd
+# t3 no on expecting FOUND
+FOUND /dummysecret/ in t3.ibd
+# ibdata1 expecting NOT FOUND
+NOT FOUND /foobarsecret/ in ibdata1
+drop table t1, t2, t3;
diff --git a/mysql-test/suite/encryption/r/encryption_force.result b/mysql-test/suite/encryption/r/encryption_force.result
new file mode 100644
index 00000000000..9d42b360e7c
--- /dev/null
+++ b/mysql-test/suite/encryption/r/encryption_force.result
@@ -0,0 +1,60 @@
+select @@innodb_encrypt_tables;
+@@innodb_encrypt_tables
+FORCE
+create table t1 (a int) engine=innodb encrypted=yes;
+create table t2 (a int) engine=innodb encrypted=default;
+create table t3 (a int) engine=innodb encrypted=no;
+ERROR HY000: Can't create table `test`.`t3` (errno: 140 "Wrong create options")
+create table t4 (a int) engine=innodb encrypted=yes partition by hash(a) partitions 2;
+create table t5 (a int) engine=innodb encrypted=no partition by hash(a) partitions 2;
+ERROR HY000: Can't create table `test`.`t5` (errno: 140 "Wrong create options")
+set global innodb_encrypt_tables='ON';
+create table t3 (a int) engine=innodb encrypted=no;
+set global innodb_encrypt_tables='FORCE';
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+show create table t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=no
+show create table t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
+/*!50100 PARTITION BY HASH (a)
+PARTITIONS 2 */
+alter table t1 encrypted=no;
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTED'
+alter table t2 encrypted=yes;
+alter table t3 encrypted=default;
+alter table t4 encrypted=no;
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTED'
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
+show create table t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+drop table t1;
+drop table t2;
+drop table t3;
+drop table t4;
diff --git a/mysql-test/suite/encryption/r/filekeys_emptyfile.result b/mysql-test/suite/encryption/r/filekeys_emptyfile.result
new file mode 100644
index 00000000000..f94f11d9f08
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_emptyfile.result
@@ -0,0 +1,10 @@
+call mtr.add_suppression("System key id 1 is missing at");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /System key id 1 is missing at/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+# Test checks if opening an empty filekeys does not crash the server.
diff --git a/mysql-test/suite/encryption/r/filekeys_encfile.result b/mysql-test/suite/encryption/r/filekeys_encfile.result
new file mode 100644
index 00000000000..6d5baa1b7ff
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_encfile.result
@@ -0,0 +1,38 @@
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=1
+insert t1 values (12345, repeat('1234567890', 20));
+alter table t1 encryption_key_id=2;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=2
+alter table t1 encryption_key_id=3;
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTION_KEY_ID'
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=2
+alter table t1 encryption_key_id=33;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=33
+alter table t1 encryption_key_id=4;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=4
+drop table t1;
diff --git a/mysql-test/suite/encryption/r/filekeys_encfile_bad.result b/mysql-test/suite/encryption/r/filekeys_encfile_bad.result
new file mode 100644
index 00000000000..6261bd459b8
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_encfile_bad.result
@@ -0,0 +1,9 @@
+call mtr.add_suppression("Cannot decrypt .*filekeys-data.enc. Wrong key");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Cannot decrypt .*filekeys-data.enc. Wrong key/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
diff --git a/mysql-test/suite/encryption/r/filekeys_encfile_badfile.result b/mysql-test/suite/encryption/r/filekeys_encfile_badfile.result
new file mode 100644
index 00000000000..98e2266f3f2
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_encfile_badfile.result
@@ -0,0 +1,9 @@
+call mtr.add_suppression("File 'bad' not found");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /File 'bad' not found/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
diff --git a/mysql-test/suite/encryption/r/filekeys_encfile_file.result b/mysql-test/suite/encryption/r/filekeys_encfile_file.result
new file mode 100644
index 00000000000..6d5baa1b7ff
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_encfile_file.result
@@ -0,0 +1,38 @@
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=1
+insert t1 values (12345, repeat('1234567890', 20));
+alter table t1 encryption_key_id=2;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=2
+alter table t1 encryption_key_id=3;
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTION_KEY_ID'
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=2
+alter table t1 encryption_key_id=33;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=33
+alter table t1 encryption_key_id=4;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=4
+drop table t1;
diff --git a/mysql-test/suite/encryption/r/filekeys_encfile_no.result b/mysql-test/suite/encryption/r/filekeys_encfile_no.result
new file mode 100644
index 00000000000..6261bd459b8
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_encfile_no.result
@@ -0,0 +1,9 @@
+call mtr.add_suppression("Cannot decrypt .*filekeys-data.enc. Wrong key");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Cannot decrypt .*filekeys-data.enc. Wrong key/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
diff --git a/mysql-test/suite/encryption/r/filekeys_nofile.result b/mysql-test/suite/encryption/r/filekeys_nofile.result
new file mode 100644
index 00000000000..690f2e61df0
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_nofile.result
@@ -0,0 +1,9 @@
+call mtr.add_suppression("file-key-management-filename is not set");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /file-key-management-filename is not set/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
diff --git a/mysql-test/suite/encryption/r/filekeys_syntax.result b/mysql-test/suite/encryption/r/filekeys_syntax.result
new file mode 100644
index 00000000000..a64d21eedbe
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_syntax.result
@@ -0,0 +1,149 @@
+call mtr.add_suppression("File '.*keys.txt' not found");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /File '.*keys.txt' not found/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+install soname 'file_key_management';
+ERROR HY000: Invalid key id at MYSQL_TMP_DIR/keys.txt line 2, column 2
+call mtr.add_suppression("File '.*keys.txt' not found");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /File '.*keys.txt' not found/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+call mtr.add_suppression("Invalid key id");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Invalid key id/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+install soname 'file_key_management';
+ERROR HY000: Invalid key id at MYSQL_TMP_DIR/keys.txt line 2, column 10
+call mtr.add_suppression("Invalid key id");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Invalid key id/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+call mtr.add_suppression("Invalid key id");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Invalid key id/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+install soname 'file_key_management';
+ERROR HY000: Invalid key at MYSQL_TMP_DIR/keys.txt line 2, column 47
+call mtr.add_suppression("Invalid key id");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Invalid key id/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+call mtr.add_suppression("Invalid key");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Invalid key/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+install soname 'file_key_management';
+ERROR HY000: Invalid key at MYSQL_TMP_DIR/keys.txt line 2, column 33
+call mtr.add_suppression("Invalid key");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Invalid key/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+call mtr.add_suppression("Invalid key");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Invalid key/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+install soname 'file_key_management';
+ERROR HY000: Syntax error at MYSQL_TMP_DIR/keys.txt line 2, column 2
+call mtr.add_suppression("Invalid key");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Invalid key/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+call mtr.add_suppression("Syntax error");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Syntax error/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+install soname 'file_key_management';
+ERROR HY000: Syntax error at MYSQL_TMP_DIR/keys.txt line 2, column 1
+call mtr.add_suppression("Syntax error");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Syntax error/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+call mtr.add_suppression("Syntax error");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Syntax error/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+install soname 'file_key_management';
+ERROR HY000: System key id 1 is missing at MYSQL_TMP_DIR/keys.txt line 1, column 1
+call mtr.add_suppression("Syntax error");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Syntax error/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+call mtr.add_suppression("System key id 1");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /System key id 1/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
diff --git a/mysql-test/suite/encryption/r/filekeys_tooshort.result b/mysql-test/suite/encryption/r/filekeys_tooshort.result
new file mode 100644
index 00000000000..efa66097563
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_tooshort.result
@@ -0,0 +1,10 @@
+call mtr.add_suppression("Cannot decrypt .*tooshort.enc. Not encrypted");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Cannot decrypt .*tooshort.enc. Not encrypted/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
+# Test checks if opening an too short filekeys does not crash the server.
diff --git a/mysql-test/suite/encryption/r/filekeys_unencfile.result b/mysql-test/suite/encryption/r/filekeys_unencfile.result
new file mode 100644
index 00000000000..1b9c092a713
--- /dev/null
+++ b/mysql-test/suite/encryption/r/filekeys_unencfile.result
@@ -0,0 +1,9 @@
+call mtr.add_suppression("Cannot decrypt .*keys.txt. Not encrypted");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+FOUND /Cannot decrypt .*keys.txt. Not encrypted/ in mysqld.1.err
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+select plugin_status from information_schema.plugins
+where plugin_name = 'file_key_management';
+plugin_status
diff --git a/mysql-test/suite/encryption/r/innochecksum.result b/mysql-test/suite/encryption/r/innochecksum.result
new file mode 100644
index 00000000000..6ea54f3d053
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innochecksum.result
@@ -0,0 +1,45 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set global innodb_compression_algorithm = 1;
+# Create and populate a tables
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED ENCRYPTED=NO;
+CREATE TABLE t4 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB PAGE_COMPRESSED=1;
+CREATE TABLE t5 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB PAGE_COMPRESSED=1 ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+CREATE TABLE t6 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
+# Write file to make mysql-test-run.pl expect the "crash", but don't
+# start it until it's told to
+# We give 30 seconds to do a clean shutdown because we do not want
+# to redo apply the pages of t1.ibd at the time of recovery.
+# We want SQL to initiate the first access to t1.ibd.
+# Wait until disconnected.
+# Run innochecksum on t1
+# Run innochecksum on t2
+# Run innochecksum on t3
+# Run innochecksum on t4
+# Run innochecksum on t4
+# Run innochecksum on t5
+# Run innochecksum on t6
+# Backup tables before corrupting
+# Corrupt FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION
+# Run innochecksum on t2
+# Run innochecksum on t3
+# no encryption corrupting the field should not have effect
+# Run innochecksum on t6
+# no encryption corrupting the field should not have effect
+# Restore the original tables
+# Corrupt FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION+4 (post encryption checksum)
+# Run innochecksum on t2
+# Run innochecksum on t3
+# Run innochecksum on t6
+# no encryption corrupting the field should not have effect
+# Restore the original tables
+# Corrupt FIL_DATA+10 (data)
+# Run innochecksum on t2
+# Run innochecksum on t3
+# Run innochecksum on t6
+# Restore the original tables
+# Write file to make mysql-test-run.pl start up the server again
+# Cleanup
+DROP TABLE t1, t2, t3, t4, t5, t6;
diff --git a/mysql-test/suite/encryption/r/innodb-bad-key-change.result b/mysql-test/suite/encryption/r/innodb-bad-key-change.result
new file mode 100644
index 00000000000..481dbcb285d
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change.result
@@ -0,0 +1,69 @@
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[0-9]+\\] in file '.*test.t[12]\\.ibd' cannot be decrypted\\.");
+call mtr.add_suppression("InnoDB: Encrypted page [1-9][0-9]*:3 in file .*test.t1.ibd looks corrupted; key_version=1");
+call mtr.add_suppression("mysqld: File .*keysbad3.txt' not found ");
+
+# Start server with keys2.txt
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1 (c VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=2;
+INSERT INTO t1 VALUES ('foobar');
+ALTER TABLE t1 ADD COLUMN c2 INT;
+INSERT INTO t1 VALUES ('foobar',2);
+SELECT * FROM t1;
+c c2
+foobar NULL
+foobar 2
+TRUNCATE TABLE t1;
+SELECT * FROM t1;
+c c2
+INSERT INTO t1 VALUES ('foobar',1);
+INSERT INTO t1 VALUES ('foobar',2);
+FLUSH TABLE WITH READ LOCK;
+SELECT * FROM t1;
+c c2
+foobar 1
+foobar 2
+
+# Restart server with keysbad3.txt
+SELECT * FROM t1;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+DROP TABLE t1;
+# Start server with keys3.txt
+SET GLOBAL innodb_default_encryption_key_id=5;
+CREATE TABLE t2 (c VARCHAR(8), id int not null primary key, b int, key(b)) ENGINE=InnoDB ENCRYPTED=YES;
+INSERT INTO t2 VALUES ('foobar',1,2);
+
+# Restart server with keys2.txt
+SELECT * FROM t2;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+SELECT * FROM t2 where id = 1;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+SELECT * FROM t2 where b = 1;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+INSERT INTO t2 VALUES ('tmp',3,3);
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+DELETE FROM t2 where b = 3;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+DELETE FROM t2 where id = 3;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+UPDATE t2 set b = b +1;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+OPTIMIZE TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 optimize Warning Table "test"."t2" in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+test.t2 optimize Error Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+test.t2 optimize error Corrupt
+ALTER TABLE t2 ADD COLUMN d INT;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+ANALYZE TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 analyze Warning Table "test"."t2" in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+test.t2 analyze Error Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+test.t2 analyze error Corrupt
+TRUNCATE TABLE t2;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+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
new file mode 100644
index 00000000000..1ed78a9efd2
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change2.result
@@ -0,0 +1,58 @@
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[0-9]+\\] in file '.*test.t1(new)?\\.ibd' cannot be decrypted\\.");
+call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
+call mtr.add_suppression("InnoDB: Table \'\"test\".\"t1\"\' tablespace is set as discarded.");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1 (pk INT PRIMARY KEY, f VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
+SELECT * FROM t1;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+SHOW WARNINGS;
+Level Code Message
+Warning 192 Table test/t1 in tablespace is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+Warning 192 Table "test"."t1" in file ./test/t1.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+ALTER TABLE t1 engine=InnoDB;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+SHOW WARNINGS;
+Level Code Message
+Warning 192 Table "test"."t1" in file ./test/t1.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize Warning Table "test"."t1" in file ./test/t1.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+test.t1 optimize Error Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+test.t1 optimize error Corrupt
+SHOW WARNINGS;
+Level Code Message
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check Warning Table "test"."t1" in file ./test/t1.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+test.t1 check Error Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+test.t1 check error Corrupt
+SHOW WARNINGS;
+Level Code Message
+FLUSH TABLES t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+ALTER TABLE t1 DISCARD TABLESPACE;
+Warnings:
+Warning 192 Table test/t1 in tablespace is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+Warning 1812 Tablespace is missing for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+Warnings:
+Warning 1814 Tablespace has been discarded for table 't1'
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `pk` int(11) NOT NULL,
+ `f` varchar(8) DEFAULT NULL,
+ PRIMARY KEY (`pk`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `ENCRYPTED`=YES `ENCRYPTION_KEY_ID`=4
+RENAME TABLE t1 TO t1new;
+ALTER TABLE t1new RENAME TO t2new;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+DROP TABLE t1new;
+DROP TABLE t1, t1new;
+ERROR 42S02: Unknown table 'test.t1,test.t1new'
diff --git a/mysql-test/suite/encryption/r/innodb-bad-key-change3.result b/mysql-test/suite/encryption/r/innodb-bad-key-change3.result
new file mode 100644
index 00000000000..c83fc5b5fcb
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change3.result
@@ -0,0 +1,43 @@
+call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
+call mtr.add_suppression("InnoDB: Table .* tablespace is set as discarded.");
+call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* because the .ibd file is missing. Please refer to .* for how to resolve the issue.");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set global innodb_compression_algorithm = 1;
+CREATE TABLE t1 (pk INT PRIMARY KEY, f VARCHAR(255)) ENGINE=InnoDB PAGE_COMPRESSED=1 ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+SHOW WARNINGS;
+Level Code Message
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `pk` int(11) NOT NULL,
+ `f` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`pk`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `PAGE_COMPRESSED`=1 `ENCRYPTED`=YES `ENCRYPTION_KEY_ID`=4
+INSERT INTO t1 VALUES (1,'foobar'),(2,'barfoo');
+FLUSH TABLE t1 FOR EXPORT;
+# List before copying files
+t1.cfg
+t1.frm
+t1.ibd
+backup: t1
+UNLOCK TABLES;
+ALTER TABLE t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `pk` int(11) NOT NULL,
+ `f` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`pk`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `PAGE_COMPRESSED`=1 `ENCRYPTED`=YES `ENCRYPTION_KEY_ID`=4
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+# Tablespaces should be still encrypted
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobar/ in t1.ibd
+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
new file mode 100644
index 00000000000..a491b084764
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change4.result
@@ -0,0 +1,24 @@
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[0-9]+\\] in file '.*test.t1\\.ibd' cannot be decrypted\\.");
+call mtr.add_suppression("InnoDB: Cannot open table .*");
+call mtr.add_suppression("InnoDB: .ibd file is missing for table test/.*");
+call mtr.add_suppression("Couldn't load plugins from 'file_key_management.*");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1 (pk INT PRIMARY KEY, f VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize Warning Table test/t1 in tablespace is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+test.t1 optimize Warning Table "test"."t1" in file ./test/t1.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+test.t1 optimize Error Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+test.t1 optimize error Corrupt
+SHOW WARNINGS;
+Level Code Message
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check Warning Table "test"."t1" in file ./test/t1.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
+test.t1 check Error Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+test.t1 check error Corrupt
+SHOW WARNINGS;
+Level Code Message
+DROP TABLE t1;
diff --git a/mysql-test/suite/encryption/r/innodb-checksum-algorithm,32k.rdiff b/mysql-test/suite/encryption/r/innodb-checksum-algorithm,32k.rdiff
new file mode 100644
index 00000000000..d963cde132a
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-checksum-algorithm,32k.rdiff
@@ -0,0 +1,38 @@
+--- suite/encryption/r/innodb-checksum-algorithm.result
++++ suite/encryption/r/innodb-checksum-algorithm.result
+@@ -13,9 +13,9 @@
+ SET GLOBAL innodb_default_encryption_key_id=4;
+ SET GLOBAL innodb_checksum_algorithm=crc32;
+ create table tce_crc32(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=yes;
++ROW_FORMAT=DYNAMIC encrypted=yes;
+ create table tc_crc32(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=no;
++ROW_FORMAT=DYNAMIC encrypted=no;
+ Warnings:
+ Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+ create table te_crc32(a serial, b blob, index(b(10))) engine=innodb
+@@ -153,9 +153,9 @@
+ t_crc32, tpe_crc32, tp_crc32;
+ SET GLOBAL innodb_checksum_algorithm=innodb;
+ create table tce_innodb(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=yes;
++ROW_FORMAT=DYNAMIC encrypted=yes;
+ create table tc_innodb(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=no;
++ROW_FORMAT=DYNAMIC encrypted=no;
+ Warnings:
+ Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+ create table te_innodb(a serial, b blob, index(b(10))) engine=innodb
+@@ -293,9 +293,9 @@
+ t_innodb, tpe_innodb, tp_innodb;
+ SET GLOBAL innodb_checksum_algorithm=none;
+ create table tce_none(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=yes;
++ROW_FORMAT=DYNAMIC encrypted=yes;
+ create table tc_none(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=no;
++ROW_FORMAT=DYNAMIC encrypted=no;
+ Warnings:
+ Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+ create table te_none(a serial, b blob, index(b(10))) engine=innodb
diff --git a/mysql-test/suite/encryption/r/innodb-checksum-algorithm,64k.rdiff b/mysql-test/suite/encryption/r/innodb-checksum-algorithm,64k.rdiff
new file mode 100644
index 00000000000..d963cde132a
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-checksum-algorithm,64k.rdiff
@@ -0,0 +1,38 @@
+--- suite/encryption/r/innodb-checksum-algorithm.result
++++ suite/encryption/r/innodb-checksum-algorithm.result
+@@ -13,9 +13,9 @@
+ SET GLOBAL innodb_default_encryption_key_id=4;
+ SET GLOBAL innodb_checksum_algorithm=crc32;
+ create table tce_crc32(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=yes;
++ROW_FORMAT=DYNAMIC encrypted=yes;
+ create table tc_crc32(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=no;
++ROW_FORMAT=DYNAMIC encrypted=no;
+ Warnings:
+ Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+ create table te_crc32(a serial, b blob, index(b(10))) engine=innodb
+@@ -153,9 +153,9 @@
+ t_crc32, tpe_crc32, tp_crc32;
+ SET GLOBAL innodb_checksum_algorithm=innodb;
+ create table tce_innodb(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=yes;
++ROW_FORMAT=DYNAMIC encrypted=yes;
+ create table tc_innodb(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=no;
++ROW_FORMAT=DYNAMIC encrypted=no;
+ Warnings:
+ Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+ create table te_innodb(a serial, b blob, index(b(10))) engine=innodb
+@@ -293,9 +293,9 @@
+ t_innodb, tpe_innodb, tp_innodb;
+ SET GLOBAL innodb_checksum_algorithm=none;
+ create table tce_none(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=yes;
++ROW_FORMAT=DYNAMIC encrypted=yes;
+ create table tc_none(a serial, b blob, index(b(10))) engine=innodb
+-ROW_FORMAT=COMPRESSED encrypted=no;
++ROW_FORMAT=DYNAMIC encrypted=no;
+ Warnings:
+ Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+ create table te_none(a serial, b blob, index(b(10))) engine=innodb
diff --git a/mysql-test/suite/encryption/r/innodb-checksum-algorithm.result b/mysql-test/suite/encryption/r/innodb-checksum-algorithm.result
new file mode 100644
index 00000000000..6fa2e7c594f
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-checksum-algorithm.result
@@ -0,0 +1,439 @@
+SET @saved_file_format = @@global.innodb_file_format;
+SET @saved_file_per_table = @@global.innodb_file_per_table;
+SET @saved_checksum_algorithm = @@global.innodb_checksum_algorithm;
+SET @saved_encrypt_tables = @@global.innodb_encrypt_tables;
+SET @saved_encryption_threads = @@global.innodb_encryption_threads;
+SET @saved_encryption_key_id = @@global.innodb_default_encryption_key_id;
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_encrypt_tables = ON;
+SET GLOBAL innodb_encryption_threads = 4;
+call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_(crc32|none|innodb)\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"(innodb|none|crc32)\"");
+SET GLOBAL innodb_checksum_algorithm = innodb;
+SET GLOBAL innodb_default_encryption_key_id=4;
+SET GLOBAL innodb_checksum_algorithm=crc32;
+create table tce_crc32(a serial, b blob, index(b(10))) engine=innodb
+ROW_FORMAT=COMPRESSED encrypted=yes;
+create table tc_crc32(a serial, b blob, index(b(10))) engine=innodb
+ROW_FORMAT=COMPRESSED encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+create table te_crc32(a serial, b blob, index(b(10))) engine=innodb
+encrypted=yes;
+create table t_crc32(a serial, b blob, index(b(10))) engine=innodb
+encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+create table tpe_crc32(a serial, b blob, index(b(10))) engine=innodb
+page_compressed=yes encrypted=yes;
+create table tp_crc32(a serial, b blob, index(b(10))) engine=innodb
+page_compressed=yes encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+begin;
+insert into tce_crc32(b) values (repeat('secret',20));
+insert into tc_crc32(b) values (repeat('secret',20));
+insert into te_crc32(b) values (repeat('secret',20));
+insert into t_crc32(b) values (repeat('secret',20));
+insert into tpe_crc32(b) values (repeat('secret',20));
+insert into tp_crc32(b) values (repeat('secret',20));
+commit;
+FLUSH TABLES tce_crc32, tc_crc32, te_crc32,
+t_crc32, tpe_crc32, tp_crc32 FOR EXPORT;
+backup: tce_crc32
+backup: tc_crc32
+backup: te_crc32
+backup: t_crc32
+backup: tpe_crc32
+backup: tp_crc32
+t_crc32.cfg
+t_crc32.frm
+t_crc32.ibd
+tc_crc32.cfg
+tc_crc32.frm
+tc_crc32.ibd
+tce_crc32.cfg
+tce_crc32.frm
+tce_crc32.ibd
+te_crc32.cfg
+te_crc32.frm
+te_crc32.ibd
+tp_crc32.cfg
+tp_crc32.frm
+tp_crc32.ibd
+tpe_crc32.cfg
+tpe_crc32.frm
+tpe_crc32.ibd
+UNLOCK TABLES;
+SET GLOBAL innodb_checksum_algorithm=crc32;
+ALTER TABLE tce_crc32 DISCARD TABLESPACE;
+ALTER TABLE tc_crc32 DISCARD TABLESPACE;
+ALTER TABLE te_crc32 DISCARD TABLESPACE;
+ALTER TABLE t_crc32 DISCARD TABLESPACE;
+ALTER TABLE tpe_crc32 DISCARD TABLESPACE;
+ALTER TABLE tp_crc32 DISCARD TABLESPACE;
+restore: tce_crc32 .ibd and .cfg files
+restore: tc_crc32 .ibd and .cfg files
+restore: te_crc32 .ibd and .cfg files
+restore: t_crc32 .ibd and .cfg files
+restore: tpe_crc32 .ibd and .cfg files
+restore: tp_crc32 .ibd and .cfg files
+ALTER TABLE tce_crc32 IMPORT TABLESPACE;
+update tce_crc32 set b=substr(b,1);
+ALTER TABLE tc_crc32 IMPORT TABLESPACE;
+update tc_crc32 set b=substr(b,1);
+ALTER TABLE te_crc32 IMPORT TABLESPACE;
+update te_crc32 set b=substr(b,1);
+ALTER TABLE t_crc32 IMPORT TABLESPACE;
+update t_crc32 set b=substr(b,1);
+ALTER TABLE tpe_crc32 IMPORT TABLESPACE;
+update tpe_crc32 set b=substr(b,1);
+ALTER TABLE tp_crc32 IMPORT TABLESPACE;
+update tp_crc32 set b=substr(b,1);
+SET GLOBAL innodb_checksum_algorithm=innodb;
+ALTER TABLE tce_crc32 DISCARD TABLESPACE;
+ALTER TABLE tc_crc32 DISCARD TABLESPACE;
+ALTER TABLE te_crc32 DISCARD TABLESPACE;
+ALTER TABLE t_crc32 DISCARD TABLESPACE;
+ALTER TABLE tpe_crc32 DISCARD TABLESPACE;
+ALTER TABLE tp_crc32 DISCARD TABLESPACE;
+restore: tce_crc32 .ibd and .cfg files
+restore: tc_crc32 .ibd and .cfg files
+restore: te_crc32 .ibd and .cfg files
+restore: t_crc32 .ibd and .cfg files
+restore: tpe_crc32 .ibd and .cfg files
+restore: tp_crc32 .ibd and .cfg files
+ALTER TABLE tce_crc32 IMPORT TABLESPACE;
+update tce_crc32 set b=substr(b,1);
+ALTER TABLE tc_crc32 IMPORT TABLESPACE;
+update tc_crc32 set b=substr(b,1);
+ALTER TABLE te_crc32 IMPORT TABLESPACE;
+update te_crc32 set b=substr(b,1);
+ALTER TABLE t_crc32 IMPORT TABLESPACE;
+update t_crc32 set b=substr(b,1);
+ALTER TABLE tpe_crc32 IMPORT TABLESPACE;
+update tpe_crc32 set b=substr(b,1);
+ALTER TABLE tp_crc32 IMPORT TABLESPACE;
+update tp_crc32 set b=substr(b,1);
+SET GLOBAL innodb_checksum_algorithm=none;
+ALTER TABLE tce_crc32 DISCARD TABLESPACE;
+ALTER TABLE tc_crc32 DISCARD TABLESPACE;
+ALTER TABLE te_crc32 DISCARD TABLESPACE;
+ALTER TABLE t_crc32 DISCARD TABLESPACE;
+ALTER TABLE tpe_crc32 DISCARD TABLESPACE;
+ALTER TABLE tp_crc32 DISCARD TABLESPACE;
+restore: tce_crc32 .ibd and .cfg files
+restore: tc_crc32 .ibd and .cfg files
+restore: te_crc32 .ibd and .cfg files
+restore: t_crc32 .ibd and .cfg files
+restore: tpe_crc32 .ibd and .cfg files
+restore: tp_crc32 .ibd and .cfg files
+ALTER TABLE tce_crc32 IMPORT TABLESPACE;
+update tce_crc32 set b=substr(b,1);
+ALTER TABLE tc_crc32 IMPORT TABLESPACE;
+update tc_crc32 set b=substr(b,1);
+ALTER TABLE te_crc32 IMPORT TABLESPACE;
+update te_crc32 set b=substr(b,1);
+ALTER TABLE t_crc32 IMPORT TABLESPACE;
+update t_crc32 set b=substr(b,1);
+ALTER TABLE tpe_crc32 IMPORT TABLESPACE;
+update tpe_crc32 set b=substr(b,1);
+ALTER TABLE tp_crc32 IMPORT TABLESPACE;
+update tp_crc32 set b=substr(b,1);
+CHECK TABLE tce_crc32, tc_crc32, te_crc32,
+t_crc32, tpe_crc32, tp_crc32;
+Table Op Msg_type Msg_text
+test.tce_crc32 check status OK
+test.tc_crc32 check status OK
+test.te_crc32 check status OK
+test.t_crc32 check status OK
+test.tpe_crc32 check status OK
+test.tp_crc32 check status OK
+DROP TABLE tce_crc32, tc_crc32, te_crc32,
+t_crc32, tpe_crc32, tp_crc32;
+SET GLOBAL innodb_checksum_algorithm=innodb;
+create table tce_innodb(a serial, b blob, index(b(10))) engine=innodb
+ROW_FORMAT=COMPRESSED encrypted=yes;
+create table tc_innodb(a serial, b blob, index(b(10))) engine=innodb
+ROW_FORMAT=COMPRESSED encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+create table te_innodb(a serial, b blob, index(b(10))) engine=innodb
+encrypted=yes;
+create table t_innodb(a serial, b blob, index(b(10))) engine=innodb
+encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+create table tpe_innodb(a serial, b blob, index(b(10))) engine=innodb
+page_compressed=yes encrypted=yes;
+create table tp_innodb(a serial, b blob, index(b(10))) engine=innodb
+page_compressed=yes encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+begin;
+insert into tce_innodb(b) values (repeat('secret',20));
+insert into tc_innodb(b) values (repeat('secret',20));
+insert into te_innodb(b) values (repeat('secret',20));
+insert into t_innodb(b) values (repeat('secret',20));
+insert into tpe_innodb(b) values (repeat('secret',20));
+insert into tp_innodb(b) values (repeat('secret',20));
+commit;
+FLUSH TABLES tce_innodb, tc_innodb, te_innodb,
+t_innodb, tpe_innodb, tp_innodb FOR EXPORT;
+backup: tce_innodb
+backup: tc_innodb
+backup: te_innodb
+backup: t_innodb
+backup: tpe_innodb
+backup: tp_innodb
+t_innodb.cfg
+t_innodb.frm
+t_innodb.ibd
+tc_innodb.cfg
+tc_innodb.frm
+tc_innodb.ibd
+tce_innodb.cfg
+tce_innodb.frm
+tce_innodb.ibd
+te_innodb.cfg
+te_innodb.frm
+te_innodb.ibd
+tp_innodb.cfg
+tp_innodb.frm
+tp_innodb.ibd
+tpe_innodb.cfg
+tpe_innodb.frm
+tpe_innodb.ibd
+UNLOCK TABLES;
+SET GLOBAL innodb_checksum_algorithm=crc32;
+ALTER TABLE tce_innodb DISCARD TABLESPACE;
+ALTER TABLE tc_innodb DISCARD TABLESPACE;
+ALTER TABLE te_innodb DISCARD TABLESPACE;
+ALTER TABLE t_innodb DISCARD TABLESPACE;
+ALTER TABLE tpe_innodb DISCARD TABLESPACE;
+ALTER TABLE tp_innodb DISCARD TABLESPACE;
+restore: tce_innodb .ibd and .cfg files
+restore: tc_innodb .ibd and .cfg files
+restore: te_innodb .ibd and .cfg files
+restore: t_innodb .ibd and .cfg files
+restore: tpe_innodb .ibd and .cfg files
+restore: tp_innodb .ibd and .cfg files
+ALTER TABLE tce_innodb IMPORT TABLESPACE;
+update tce_innodb set b=substr(b,1);
+ALTER TABLE tc_innodb IMPORT TABLESPACE;
+update tc_innodb set b=substr(b,1);
+ALTER TABLE te_innodb IMPORT TABLESPACE;
+update te_innodb set b=substr(b,1);
+ALTER TABLE t_innodb IMPORT TABLESPACE;
+update t_innodb set b=substr(b,1);
+ALTER TABLE tpe_innodb IMPORT TABLESPACE;
+update tpe_innodb set b=substr(b,1);
+ALTER TABLE tp_innodb IMPORT TABLESPACE;
+update tp_innodb set b=substr(b,1);
+SET GLOBAL innodb_checksum_algorithm=innodb;
+ALTER TABLE tce_innodb DISCARD TABLESPACE;
+ALTER TABLE tc_innodb DISCARD TABLESPACE;
+ALTER TABLE te_innodb DISCARD TABLESPACE;
+ALTER TABLE t_innodb DISCARD TABLESPACE;
+ALTER TABLE tpe_innodb DISCARD TABLESPACE;
+ALTER TABLE tp_innodb DISCARD TABLESPACE;
+restore: tce_innodb .ibd and .cfg files
+restore: tc_innodb .ibd and .cfg files
+restore: te_innodb .ibd and .cfg files
+restore: t_innodb .ibd and .cfg files
+restore: tpe_innodb .ibd and .cfg files
+restore: tp_innodb .ibd and .cfg files
+ALTER TABLE tce_innodb IMPORT TABLESPACE;
+update tce_innodb set b=substr(b,1);
+ALTER TABLE tc_innodb IMPORT TABLESPACE;
+update tc_innodb set b=substr(b,1);
+ALTER TABLE te_innodb IMPORT TABLESPACE;
+update te_innodb set b=substr(b,1);
+ALTER TABLE t_innodb IMPORT TABLESPACE;
+update t_innodb set b=substr(b,1);
+ALTER TABLE tpe_innodb IMPORT TABLESPACE;
+update tpe_innodb set b=substr(b,1);
+ALTER TABLE tp_innodb IMPORT TABLESPACE;
+update tp_innodb set b=substr(b,1);
+SET GLOBAL innodb_checksum_algorithm=none;
+ALTER TABLE tce_innodb DISCARD TABLESPACE;
+ALTER TABLE tc_innodb DISCARD TABLESPACE;
+ALTER TABLE te_innodb DISCARD TABLESPACE;
+ALTER TABLE t_innodb DISCARD TABLESPACE;
+ALTER TABLE tpe_innodb DISCARD TABLESPACE;
+ALTER TABLE tp_innodb DISCARD TABLESPACE;
+restore: tce_innodb .ibd and .cfg files
+restore: tc_innodb .ibd and .cfg files
+restore: te_innodb .ibd and .cfg files
+restore: t_innodb .ibd and .cfg files
+restore: tpe_innodb .ibd and .cfg files
+restore: tp_innodb .ibd and .cfg files
+ALTER TABLE tce_innodb IMPORT TABLESPACE;
+update tce_innodb set b=substr(b,1);
+ALTER TABLE tc_innodb IMPORT TABLESPACE;
+update tc_innodb set b=substr(b,1);
+ALTER TABLE te_innodb IMPORT TABLESPACE;
+update te_innodb set b=substr(b,1);
+ALTER TABLE t_innodb IMPORT TABLESPACE;
+update t_innodb set b=substr(b,1);
+ALTER TABLE tpe_innodb IMPORT TABLESPACE;
+update tpe_innodb set b=substr(b,1);
+ALTER TABLE tp_innodb IMPORT TABLESPACE;
+update tp_innodb set b=substr(b,1);
+CHECK TABLE tce_innodb, tc_innodb, te_innodb,
+t_innodb, tpe_innodb, tp_innodb;
+Table Op Msg_type Msg_text
+test.tce_innodb check status OK
+test.tc_innodb check status OK
+test.te_innodb check status OK
+test.t_innodb check status OK
+test.tpe_innodb check status OK
+test.tp_innodb check status OK
+DROP TABLE tce_innodb, tc_innodb, te_innodb,
+t_innodb, tpe_innodb, tp_innodb;
+SET GLOBAL innodb_checksum_algorithm=none;
+create table tce_none(a serial, b blob, index(b(10))) engine=innodb
+ROW_FORMAT=COMPRESSED encrypted=yes;
+create table tc_none(a serial, b blob, index(b(10))) engine=innodb
+ROW_FORMAT=COMPRESSED encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+create table te_none(a serial, b blob, index(b(10))) engine=innodb
+encrypted=yes;
+create table t_none(a serial, b blob, index(b(10))) engine=innodb
+encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+create table tpe_none(a serial, b blob, index(b(10))) engine=innodb
+page_compressed=yes encrypted=yes;
+create table tp_none(a serial, b blob, index(b(10))) engine=innodb
+page_compressed=yes encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+begin;
+insert into tce_none(b) values (repeat('secret',20));
+insert into tc_none(b) values (repeat('secret',20));
+insert into te_none(b) values (repeat('secret',20));
+insert into t_none(b) values (repeat('secret',20));
+insert into tpe_none(b) values (repeat('secret',20));
+insert into tp_none(b) values (repeat('secret',20));
+commit;
+FLUSH TABLES tce_none, tc_none, te_none,
+t_none, tpe_none, tp_none FOR EXPORT;
+backup: tce_none
+backup: tc_none
+backup: te_none
+backup: t_none
+backup: tpe_none
+backup: tp_none
+t_none.cfg
+t_none.frm
+t_none.ibd
+tc_none.cfg
+tc_none.frm
+tc_none.ibd
+tce_none.cfg
+tce_none.frm
+tce_none.ibd
+te_none.cfg
+te_none.frm
+te_none.ibd
+tp_none.cfg
+tp_none.frm
+tp_none.ibd
+tpe_none.cfg
+tpe_none.frm
+tpe_none.ibd
+UNLOCK TABLES;
+SET GLOBAL innodb_checksum_algorithm=crc32;
+ALTER TABLE tce_none DISCARD TABLESPACE;
+ALTER TABLE tc_none DISCARD TABLESPACE;
+ALTER TABLE te_none DISCARD TABLESPACE;
+ALTER TABLE t_none DISCARD TABLESPACE;
+ALTER TABLE tpe_none DISCARD TABLESPACE;
+ALTER TABLE tp_none DISCARD TABLESPACE;
+restore: tce_none .ibd and .cfg files
+restore: tc_none .ibd and .cfg files
+restore: te_none .ibd and .cfg files
+restore: t_none .ibd and .cfg files
+restore: tpe_none .ibd and .cfg files
+restore: tp_none .ibd and .cfg files
+ALTER TABLE tce_none IMPORT TABLESPACE;
+update tce_none set b=substr(b,1);
+ALTER TABLE tc_none IMPORT TABLESPACE;
+update tc_none set b=substr(b,1);
+ALTER TABLE te_none IMPORT TABLESPACE;
+update te_none set b=substr(b,1);
+ALTER TABLE t_none IMPORT TABLESPACE;
+update t_none set b=substr(b,1);
+ALTER TABLE tpe_none IMPORT TABLESPACE;
+update tpe_none set b=substr(b,1);
+ALTER TABLE tp_none IMPORT TABLESPACE;
+update tp_none set b=substr(b,1);
+SET GLOBAL innodb_checksum_algorithm=innodb;
+ALTER TABLE tce_none DISCARD TABLESPACE;
+ALTER TABLE tc_none DISCARD TABLESPACE;
+ALTER TABLE te_none DISCARD TABLESPACE;
+ALTER TABLE t_none DISCARD TABLESPACE;
+ALTER TABLE tpe_none DISCARD TABLESPACE;
+ALTER TABLE tp_none DISCARD TABLESPACE;
+restore: tce_none .ibd and .cfg files
+restore: tc_none .ibd and .cfg files
+restore: te_none .ibd and .cfg files
+restore: t_none .ibd and .cfg files
+restore: tpe_none .ibd and .cfg files
+restore: tp_none .ibd and .cfg files
+ALTER TABLE tce_none IMPORT TABLESPACE;
+update tce_none set b=substr(b,1);
+ALTER TABLE tc_none IMPORT TABLESPACE;
+update tc_none set b=substr(b,1);
+ALTER TABLE te_none IMPORT TABLESPACE;
+update te_none set b=substr(b,1);
+ALTER TABLE t_none IMPORT TABLESPACE;
+update t_none set b=substr(b,1);
+ALTER TABLE tpe_none IMPORT TABLESPACE;
+update tpe_none set b=substr(b,1);
+ALTER TABLE tp_none IMPORT TABLESPACE;
+update tp_none set b=substr(b,1);
+SET GLOBAL innodb_checksum_algorithm=none;
+ALTER TABLE tce_none DISCARD TABLESPACE;
+ALTER TABLE tc_none DISCARD TABLESPACE;
+ALTER TABLE te_none DISCARD TABLESPACE;
+ALTER TABLE t_none DISCARD TABLESPACE;
+ALTER TABLE tpe_none DISCARD TABLESPACE;
+ALTER TABLE tp_none DISCARD TABLESPACE;
+restore: tce_none .ibd and .cfg files
+restore: tc_none .ibd and .cfg files
+restore: te_none .ibd and .cfg files
+restore: t_none .ibd and .cfg files
+restore: tpe_none .ibd and .cfg files
+restore: tp_none .ibd and .cfg files
+ALTER TABLE tce_none IMPORT TABLESPACE;
+update tce_none set b=substr(b,1);
+ALTER TABLE tc_none IMPORT TABLESPACE;
+update tc_none set b=substr(b,1);
+ALTER TABLE te_none IMPORT TABLESPACE;
+update te_none set b=substr(b,1);
+ALTER TABLE t_none IMPORT TABLESPACE;
+update t_none set b=substr(b,1);
+ALTER TABLE tpe_none IMPORT TABLESPACE;
+update tpe_none set b=substr(b,1);
+ALTER TABLE tp_none IMPORT TABLESPACE;
+update tp_none set b=substr(b,1);
+CHECK TABLE tce_none, tc_none, te_none,
+t_none, tpe_none, tp_none;
+Table Op Msg_type Msg_text
+test.tce_none check status OK
+test.tc_none check status OK
+test.te_none check status OK
+test.t_none check status OK
+test.tpe_none check status OK
+test.tp_none check status OK
+DROP TABLE tce_none, tc_none, te_none,
+t_none, tpe_none, tp_none;
+SET GLOBAL innodb_file_format = @saved_file_format;
+SET GLOBAL innodb_file_per_table = @saved_file_per_table;
+SET GLOBAL innodb_checksum_algorithm = @saved_checksum_algorithm;
+SET GLOBAL innodb_encrypt_tables = @saved_encrypt_tables;
+SET GLOBAL innodb_encryption_threads = @saved_encryption_threads;
+SET GLOBAL innodb_default_encryption_key_id = @saved_encryption_key_id;
diff --git a/mysql-test/suite/encryption/r/innodb-compressed-blob.result b/mysql-test/suite/encryption/r/innodb-compressed-blob.result
new file mode 100644
index 00000000000..4187877be49
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-compressed-blob.result
@@ -0,0 +1,24 @@
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[0-9]+\\] in file '..test.t[1-3]\\.ibd' cannot be decrypted\\.");
+call mtr.add_suppression("Unable to decompress space ..test.t[1-3].ibd \\[[1-9][0-9]*:[0-9]+\\]");
+# Restart mysqld --file-key-management-filename=keys2.txt
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set GLOBAL innodb_default_encryption_key_id=4;
+create table t1(a int not null primary key, b blob, index(b(10))) engine=innodb row_format=compressed;
+create table t2(a int not null primary key, b blob, index(b(10))) engine=innodb row_format=compressed encrypted=yes;
+create table t3(a int not null primary key, b blob, index(b(10))) engine=innodb row_format=compressed encrypted=no;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+insert into t1 values (1, repeat('secret',6000));
+insert into t2 values (1, repeat('secret',6000));
+insert into t3 values (1, repeat('secret',6000));
+# Restart mysqld --file-key-management-filename=keys3.txt
+select count(*) from t1 FORCE INDEX (b) where b like 'secret%';
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+select count(*) from t2 FORCE INDEX (b) where b like 'secret%';
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+select count(*) from t3 FORCE INDEX (b) where b like 'secret%';
+count(*)
+1
+# Restart mysqld --file-key-management-filename=keys2.txt
+drop table t1,t2,t3;
diff --git a/mysql-test/suite/encryption/r/innodb-discard-import-change.result b/mysql-test/suite/encryption/r/innodb-discard-import-change.result
new file mode 100644
index 00000000000..7071f9eaf20
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-discard-import-change.result
@@ -0,0 +1,105 @@
+call mtr.add_suppression("InnoDB: Table .* tablespace is set as discarded");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_compression_algorithm = 1;
+create table t1(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb encrypted=yes encryption_key_id=4;
+create table t2(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+create table t3(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb page_compressed=yes;
+create table t4(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb page_compressed=yes encrypted=yes encryption_key_id=4;
+create table t5(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb;
+insert into t1 values (NULL, 'verysecretmessage');
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t2 select * from t1;
+insert into t3 select * from t1;
+insert into t4 select * from t1;
+insert into t5 select * from t1;
+FLUSH TABLE t1,t2,t3,t4,t5 FOR EXPORT;
+backup: t1
+backup: t2
+backup: t3
+backup: t4
+backup: t5
+t1.cfg
+t1.frm
+t1.ibd
+t2.cfg
+t2.frm
+t2.ibd
+t3.cfg
+t3.frm
+t3.ibd
+t4.cfg
+t4.frm
+t4.ibd
+t5.cfg
+t5.frm
+t5.ibd
+UNLOCK TABLES;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t2 DISCARD TABLESPACE;
+ALTER TABLE t3 DISCARD TABLESPACE;
+ALTER TABLE t4 DISCARD TABLESPACE;
+ALTER TABLE t5 DISCARD TABLESPACE;
+DROP TABLE t1;
+DROP TABLE t3;
+DROP TABLE t4;
+DROP TABLE t5;
+create table t6(a int) engine=innodb;
+create table t5(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb;
+create table t3(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb page_compressed=yes;
+create table t1(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb encrypted=yes encryption_key_id=4;
+create table t4(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb page_compressed=yes encrypted=yes encryption_key_id=4;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t3 DISCARD TABLESPACE;
+ALTER TABLE t4 DISCARD TABLESPACE;
+ALTER TABLE t5 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+restore: t2 .ibd and .cfg files
+restore: t3 .ibd and .cfg files
+restore: t4 .ibd and .cfg files
+restore: t5 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL AUTO_INCREMENT,
+ `b` char(200) DEFAULT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB AUTO_INCREMENT=377 DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=4
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+256
+ALTER TABLE t2 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+256
+ALTER TABLE t3 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+256
+ALTER TABLE t4 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM t4;
+COUNT(*)
+256
+ALTER TABLE t5 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM t5;
+COUNT(*)
+256
+# t1 encrypted expecting NOT FOUND
+NOT FOUND /verysecretmessage/ in t1.ibd
+# t2 encrypted expecting NOT FOUND
+NOT FOUND /verysecretmessage/ in t2.ibd
+# t3 page compressed expecting NOT FOUND
+NOT FOUND /verysecretmessage/ in t3.ibd
+# t4 page compressed and encrypted expecting NOT FOUND
+NOT FOUND /verysecretmessage/ in t4.ibd
+# t5 normal expecting FOUND
+FOUND /verysecretmessage/ in t5.ibd
+DROP TABLE t1,t2,t3,t4,t5,t6;
diff --git a/mysql-test/suite/encryption/r/innodb-discard-import.result b/mysql-test/suite/encryption/r/innodb-discard-import.result
new file mode 100644
index 00000000000..406460d0a23
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-discard-import.result
@@ -0,0 +1,142 @@
+call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
+call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* because the .ibd file is missing. Please refer to .* for how to resolve the issue.");
+SET @innodb_file_format_orig = @@GLOBAL.innodb_file_format;
+SET @innodb_file_per_table_orig = @@GLOBAL.innodb_file_per_table;
+SET @innodb_compression_algo = @@GLOBAL.innodb_compression_algorithm;
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_compression_algorithm = 1;
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=4;
+show warnings;
+Level Code Message
+create table t2(c1 bigint not null, b char(200)) engine=innodb page_compressed=1 encrypted=yes encryption_key_id=4;
+show warnings;
+Level Code Message
+create table t3(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=4;
+show warnings;
+Level Code Message
+create table t4(c1 bigint not null, b char(200)) engine=innodb page_compressed=1;
+show warnings;
+Level Code Message
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into t1 values(current_num, repeat('foobar',30));
+insert into t2 values(current_num, repeat('barfoo',30));
+insert into t3 values(current_num, repeat('tmpres',30));
+insert into t4 values(current_num, repeat('mysql',30));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+set autocommit=0;
+call innodb_insert_proc(2000);
+commit;
+set autocommit=1;
+select count(*) from t1;
+count(*)
+2000
+select count(*) from t2;
+count(*)
+2000
+select count(*) from t3;
+count(*)
+2000
+select count(*) from t4;
+count(*)
+2000
+FLUSH TABLE t1,t2,t3,t4 FOR EXPORT;
+# List before copying files
+t1.cfg
+t1.frm
+t1.ibd
+t2.cfg
+t2.frm
+t2.ibd
+t3.cfg
+t3.frm
+t3.ibd
+t4.cfg
+t4.frm
+t4.ibd
+backup: t1
+backup: t2
+backup: t3
+backup: t4
+t1.cfg
+t1.frm
+t1.ibd
+t2.cfg
+t2.frm
+t2.ibd
+t3.cfg
+t3.frm
+t3.ibd
+t4.cfg
+t4.frm
+t4.ibd
+UNLOCK TABLES;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t2 DISCARD TABLESPACE;
+ALTER TABLE t3 DISCARD TABLESPACE;
+ALTER TABLE t4 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+restore: t2 .ibd and .cfg files
+restore: t3 .ibd and .cfg files
+restore: t4 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=4
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2000
+ALTER TABLE t2 IMPORT TABLESPACE;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `encrypted`=yes `encryption_key_id`=4
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+2000
+ALTER TABLE t3 IMPORT TABLESPACE;
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED `encrypted`=yes `encryption_key_id`=4
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+2000
+ALTER TABLE t4 IMPORT TABLESPACE;
+SHOW CREATE TABLE t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1
+SELECT COUNT(*) FROM t4;
+COUNT(*)
+2000
+# tables should be still either encrypted and/or compressed
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobar/ in t1.ibd
+# t2 yes on expecting NOT FOUND
+NOT FOUND /barfoo/ in t2.ibd
+# t3 yes on expecting NOT FOUND
+NOT FOUND /tmpres/ in t3.ibd
+# t4 yes on expecting NOT FOUND
+NOT FOUND /mysql/ in t4.ibd
+DROP PROCEDURE innodb_insert_proc;
+DROP TABLE t1,t2,t3,t4;
+SET GLOBAL innodb_file_format = @innodb_file_format_orig;
+SET GLOBAL innodb_file_per_table = @innodb_file_per_table_orig;
+SET GLOBAL innodb_compression_algorithm = @innodb_compression_algo;
diff --git a/mysql-test/suite/encryption/r/innodb-encr-threads.result b/mysql-test/suite/encryption/r/innodb-encr-threads.result
new file mode 100644
index 00000000000..0178635afb7
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-encr-threads.result
@@ -0,0 +1,7 @@
+create table t1 (i int) engine=innodb;
+set global innodb_encryption_threads = 1;
+set global innodb_encryption_rotate_key_age = 2;
+insert t1 values (1);
+drop table t1;
+set global innodb_encryption_threads = 0;
+set global innodb_encryption_rotate_key_age = 1;
diff --git a/mysql-test/suite/encryption/r/innodb-encryption-alter.result b/mysql-test/suite/encryption/r/innodb-encryption-alter.result
new file mode 100644
index 00000000000..b2f33b2b24d
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-encryption-alter.result
@@ -0,0 +1,86 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_encrypt_tables = ON;
+SET GLOBAL innodb_encryption_threads = 4;
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=NO ENCRYPTION_KEY_ID=4;
+Warnings:
+Warning 140 InnoDB: ENCRYPTED=NO implies ENCRYPTION_KEY_ID=1
+DROP TABLE t1;
+set @save_global = @@GLOBAL.innodb_default_encryption_key_id;
+set innodb_default_encryption_key_id = 99;
+Warnings:
+Warning 1210 innodb_default_encryption_key=99 is not available
+set global innodb_default_encryption_key_id = 99;
+Warnings:
+Warning 1210 innodb_default_encryption_key=99 is not available
+set global innodb_default_encryption_key_id = @save_global;
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+SHOW WARNINGS;
+Level Code Message
+Warning 140 InnoDB: ENCRYPTION_KEY_ID 99 not available
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+SHOW WARNINGS;
+Level Code Message
+Warning 140 InnoDB: ENCRYPTION_KEY_ID 99 not available
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+set innodb_default_encryption_key_id = 4;
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `pk` int(11) NOT NULL AUTO_INCREMENT,
+ `c` varchar(256) DEFAULT NULL,
+ PRIMARY KEY (`pk`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `ENCRYPTED`=YES `ENCRYPTION_KEY_ID`=4
+DROP TABLE t1;
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `pk` int(11) NOT NULL AUTO_INCREMENT,
+ `c` varchar(256) DEFAULT NULL,
+ PRIMARY KEY (`pk`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `ENCRYPTION_KEY_ID`=4
+CREATE TABLE t2 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=NO ENCRYPTION_KEY_ID=1;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=99;
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTION_KEY_ID'
+SHOW WARNINGS;
+Level Code Message
+Warning 140 InnoDB: ENCRYPTION_KEY_ID 99 not available
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'ENCRYPTION_KEY_ID'
+set innodb_default_encryption_key_id = 1;
+drop table t1,t2;
+SET GLOBAL innodb_encrypt_tables=OFF;
+CREATE TABLE t1 (a int not null primary key) engine=innodb;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=4;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `ENCRYPTION_KEY_ID`=4
+DROP TABLE t1;
+CREATE TABLE t2 (a int not null primary key) engine=innodb;
+ALTER TABLE t2 ENCRYPTION_KEY_ID=4, ALGORITHM=COPY;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `ENCRYPTION_KEY_ID`=4
+DROP TABLE t2;
+CREATE TABLE t3 (a int not null primary key) engine=innodb ENCRYPTION_KEY_ID=4;
+DROP TABLE t3;
+SET GLOBAL innodb_encrypt_tables='FORCE';
+CREATE TABLE t1 (a int primary key) engine=innodb encrypted=no;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+SHOW WARNINGS;
+Level Code Message
+Warning 140 InnoDB: ENCRYPTED=NO cannot be used with innodb_encrypt_tables=FORCE
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
diff --git a/mysql-test/suite/encryption/r/innodb-encryption-disable.result b/mysql-test/suite/encryption/r/innodb-encryption-disable.result
new file mode 100644
index 00000000000..6b6aee2c7e3
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-encryption-disable.result
@@ -0,0 +1,26 @@
+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: Encrypted page [1-9][0-9]*:3 in file .*test.t[15].ibd looks corrupted; key_version=1");
+call mtr.add_suppression("Couldn't load plugins from 'file_key_management*");
+create table t5 (
+`intcol1` int(32) DEFAULT NULL,
+`intcol2` int(32) DEFAULT NULL,
+`charcol1` varchar(128) DEFAULT NULL,
+`charcol2` varchar(128) DEFAULT NULL,
+`charcol3` varchar(128) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+insert into t5 values (1,2,'maria','db','encryption');
+CREATE TABLE `t1` (
+`intcol1` int(32) DEFAULT NULL,
+`intcol2` int(32) DEFAULT NULL,
+`charcol1` varchar(128) DEFAULT NULL,
+`charcol2` varchar(128) DEFAULT NULL,
+`charcol3` varchar(128) DEFAULT NULL
+) ENGINE=InnoDB;
+insert into t1 values (1,2,'maria','db','encryption');
+alter table t1 encrypted='yes' `encryption_key_id`=1;
+select * from t1;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+select * from t5;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+drop table t1;
+drop table t5;
diff --git a/mysql-test/suite/encryption/r/innodb-first-page-read.result b/mysql-test/suite/encryption/r/innodb-first-page-read.result
new file mode 100644
index 00000000000..6df80e8223d
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-first-page-read.result
@@ -0,0 +1,98 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+FLUSH STATUS;
+create database innodb_test;
+use innodb_test;
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic;
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed;
+create table innodb_compressed1(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=1;
+create table innodb_compressed2(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=2;
+create table innodb_compressed4(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=4;
+create table innodb_compressed8(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=8;
+create table innodb_compressed16(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=16;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant;
+create table innodb_pagecomp(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes;
+create table innodb_pagecomp1(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=1;
+create table innodb_pagecomp2(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=2;
+create table innodb_pagecomp3(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=3;
+create table innodb_pagecomp4(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=4;
+create table innodb_pagecomp5(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=5;
+create table innodb_pagecomp6(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=6;
+create table innodb_pagecomp7(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=7;
+create table innodb_pagecomp8(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=8;
+create table innodb_pagecomp9(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=9;
+create table innodb_datadir1(c1 bigint not null, b char(200)) engine=innodb DATA DIRECTORY='MYSQL_TMP_DIR';
+create table innodb_datadir2(c1 bigint not null, b char(200)) engine=innodb row_format=compressed DATA DIRECTORY='MYSQL_TMP_DIR';
+create table innodb_datadir3(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes DATA DIRECTORY='MYSQL_TMP_DIR';
+begin;
+insert into innodb_normal values (1,'secret');
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_compressed1 select * from innodb_normal;
+insert into innodb_compressed2 select * from innodb_normal;
+insert into innodb_compressed4 select * from innodb_normal;
+insert into innodb_compressed8 select * from innodb_normal;
+insert into innodb_compressed16 select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+insert into innodb_pagecomp select * from innodb_normal;
+insert into innodb_pagecomp1 select * from innodb_normal;
+insert into innodb_pagecomp2 select * from innodb_normal;
+insert into innodb_pagecomp3 select * from innodb_normal;
+insert into innodb_pagecomp4 select * from innodb_normal;
+insert into innodb_pagecomp5 select * from innodb_normal;
+insert into innodb_pagecomp6 select * from innodb_normal;
+insert into innodb_pagecomp7 select * from innodb_normal;
+insert into innodb_pagecomp8 select * from innodb_normal;
+insert into innodb_pagecomp9 select * from innodb_normal;
+insert into innodb_datadir1 select * from innodb_normal;
+insert into innodb_datadir2 select * from innodb_normal;
+insert into innodb_datadir3 select * from innodb_normal;
+commit;
+FLUSH STATUS;
+# Restart server and see how many page 0's are read
+# result should actual number of tables except remote tables could be read twice
+# i.e. < 23 + 3*2 = 29
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+VARIABLE_VALUE <= 29
+1
+use innodb_test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+VARIABLE_VALUE <= 29
+1
+use test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+VARIABLE_VALUE <= 29
+1
+set global innodb_encrypt_tables=OFF;
+# wait until tables are decrypted
+# result should be actual number of tables except remote tables could be read twice
+# i.e. < 23 + 3*2 = 29
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+VARIABLE_VALUE <= 29
+1
+use innodb_test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+VARIABLE_VALUE <= 29
+1
+use test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+VARIABLE_VALUE <= 29
+1
+FLUSH STATUS;
+# restart and see number read page 0
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+VARIABLE_VALUE <= 29
+1
+use innodb_test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+VARIABLE_VALUE <= 29
+1
+use test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+VARIABLE_VALUE <= 29
+1
+drop database innodb_test;
+FLUSH STATUS;
diff --git a/mysql-test/suite/encryption/r/innodb-force-corrupt.result b/mysql-test/suite/encryption/r/innodb-force-corrupt.result
new file mode 100644
index 00000000000..3b1a2d8300f
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-force-corrupt.result
@@ -0,0 +1,24 @@
+call mtr.add_suppression("InnoDB: Encrypted page \\d+:[36] in file .*test.t[123]\\.ibd looks corrupted; key_version=3221342974");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set global innodb_compression_algorithm = 1;
+# Create and populate tables to be corrupted
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT,c char(200)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT,c char(200)) ENGINE=InnoDB row_format=compressed encrypted=yes;
+CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes encrypted=yes;
+BEGIN;
+INSERT INTO t1 (b,c) VALUES ('corrupt me','secret');
+INSERT INTO t1 (b,c) VALUES ('corrupt me','moresecretmoresecret');
+INSERT INTO t2 select * from t1;
+INSERT INTO t3 select * from t1;
+COMMIT;
+# Backup tables before corrupting
+# Corrupt tables
+SELECT * FROM t1;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+SELECT * FROM t2;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+SELECT * FROM t3;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+# Restore the original tables
+DROP TABLE t1,t2,t3;
diff --git a/mysql-test/suite/encryption/r/innodb-key-rotation-disable.result b/mysql-test/suite/encryption/r/innodb-key-rotation-disable.result
new file mode 100644
index 00000000000..6c09e015a1e
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-key-rotation-disable.result
@@ -0,0 +1,62 @@
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+create database enctests;
+use enctests;
+create table t1(a int not null primary key, b char(200)) engine=innodb;
+create table t2(a int not null primary key, b char(200)) engine=innodb row_format=compressed;
+create table t3(a int not null primary key, b char(200)) engine=innodb page_compressed=yes;
+create table t4(a int not null primary key, b char(200)) engine=innodb encrypted=yes;
+create table t5(a int not null primary key, b char(200)) engine=innodb encrypted=yes row_format=compressed;
+create table t6(a int not null primary key, b char(200)) engine=innodb encrypted=yes page_compressed=yes;
+create table t7(a int not null primary key, b char(200)) engine=innodb encrypted=no;
+create table t8(a int not null primary key, b char(200)) engine=innodb encrypted=no row_format=compressed;
+create table t9(a int not null primary key, b char(200)) engine=innodb encrypted=no page_compressed=yes;
+insert into t1 values (1, 'secredmessage');
+insert into t2 values (1, 'secredmessage');
+insert into t3 values (1, 'secredmessagecompressedaaaaaaaaabbbbbbbbbbbbbbccccccccccccccc');
+insert into t4 values (1, 'secredmessage');
+insert into t5 values (1, 'secredmessage');
+insert into t6 values (1, 'secredmessagecompressedaaaaaaaaabbbbbbbbbbbbbbccccccccccccccc');
+insert into t7 values (1, 'publicmessage');
+insert into t8 values (1, 'publicmessage');
+insert into t9 values (1, 'pugliccompressedaaaaaaaaabbbbbbbbbbbbbbccccccccccccccc');
+# should list tables t1-t6
+SELECT NAME,ENCRYPTION_SCHEME,CURRENT_KEY_ID FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'enctests%';
+NAME ENCRYPTION_SCHEME CURRENT_KEY_ID
+enctests/t1 1 1
+enctests/t2 1 1
+enctests/t3 1 1
+enctests/t4 1 1
+enctests/t5 1 1
+enctests/t6 1 1
+# should list tables t7-t9
+SELECT NAME,ENCRYPTION_SCHEME,CURRENT_KEY_ID FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 and NAME LIKE 'enctests%';
+NAME ENCRYPTION_SCHEME CURRENT_KEY_ID
+enctests/t7 0 1
+enctests/t8 0 1
+enctests/t9 0 1
+SET GLOBAL innodb_encrypt_tables=OFF;
+ERROR 42000: Variable 'innodb_encrypt_tables' can't be set to the value of 'OFF'
+SET GLOBAL innodb_encrypt_tables=ON;
+ERROR 42000: Variable 'innodb_encrypt_tables' can't be set to the value of 'ON'
+# t1 default on expecting NOT FOUND
+NOT FOUND /secred/ in t1.ibd
+# t2 default on expecting NOT FOUND
+NOT FOUND /secred/ in t2.ibd
+# t3 default on expecting NOT FOUND
+NOT FOUND /secred/ in t3.ibd
+# t4 on expecting NOT FOUND
+NOT FOUND /secred/ in t4.ibd
+# t5 on expecting NOT FOUND
+NOT FOUND /secred/ in t5.ibd
+# t6 on expecting NOT FOUND
+NOT FOUND /secred/ in t6.ibd
+# t7 off expecting FOUND
+FOUND /public/ in t7.ibd
+# t8 row compressed expecting NOT FOUND
+FOUND /public/ in t8.ibd
+# t9 page compressed expecting NOT FOUND
+NOT FOUND /public/ in t9.ibd
+drop database enctests;
diff --git a/mysql-test/suite/encryption/r/innodb-log-encrypt-crash.result b/mysql-test/suite/encryption/r/innodb-log-encrypt-crash.result
new file mode 100644
index 00000000000..5310fb6ace2
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-log-encrypt-crash.result
@@ -0,0 +1,19 @@
+call mtr.add_suppression("InnoDB: New log files created, LSN=.*");
+call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables.");
+call mtr.add_suppression("InnoDB: Error: Table .*");
+CREATE TABLE t1 (
+pk bigint auto_increment,
+col_int int,
+col_int_key int,
+col_char char(12),
+col_char_key char(12),
+primary key (pk),
+key (`col_int_key` ),
+key (`col_char_key` )
+) ENGINE=InnoDB;
+CREATE TABLE t2 LIKE t1;
+INSERT INTO t1 VALUES (NULL,1,1,'foo','foo'),(NULL,2,2,'bar','bar'),(NULL,3,3,'baz','baz'),(NULL,4,4,'qux','qux');
+INSERT INTO t2
+SELECT NULL, a1.col_int, a1.col_int_key, a1.col_char, a1.col_char_key
+FROM t1 a1, t1 a2, t1 a3, t1 a4, t1 a5, t1 a6, t1 a7, t1 a8, t1 a9, t1 a10;
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/encryption/r/innodb-log-encrypt.result b/mysql-test/suite/encryption/r/innodb-log-encrypt.result
new file mode 100644
index 00000000000..98fc277e513
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-log-encrypt.result
@@ -0,0 +1,55 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table t1(c1 bigint not null, b char(200), c varchar(200)) engine=innodb encrypted=yes encryption_key_id=1;
+show warnings;
+Level Code Message
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into t1 values(current_num, substring(MD5(RAND()), -64), REPEAT('privatejanprivate',10));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+begin;
+call innodb_insert_proc(2000);
+commit;
+update t1 set c1 = c1 +1;
+select count(*) from t1;
+count(*)
+2000
+# Kill the server
+# ibdata1 yes on expecting NOT FOUND
+NOT FOUND /privatejanprivate/ in ibdata1
+# t1 yes on expecting NOT FOUND
+NOT FOUND /privatejanprivate/ in t1.ibd
+# log0 yes on expecting NOT FOUND
+NOT FOUND /privatejanprivate/ in ib_logfile0
+# log1 yes on expecting NOT FOUND
+NOT FOUND /privatejanprivate/ in ib_logfile1
+# Restart mysqld --innodb_encrypt_log=0
+insert into t1 values(5000, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+insert into t1 values(5001, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+insert into t1 values(5002, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+insert into t1 values(5003, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+insert into t1 values(5004, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+# ibdata1 yes on expecting NOT FOUND
+NOT FOUND /privatejanprivate/ in ibdata1
+# t1 yes on expecting NOT FOUND
+NOT FOUND /privatejanprivate/ in t1.ibd
+# log0 yes on expecting NOT FOUND
+NOT FOUND /privatejanprivate/ in ib_logfile0
+# log1 yes on expecting NOT FOUND
+NOT FOUND /privatejanprivate/ in ib_logfile1
+# ibdata1 yes on expecting NOT FOUND
+NOT FOUND /publicmessage/ in ibdata1
+# t1 yes on expecting NOT FOUND
+NOT FOUND /publicmessage/ in t1.ibd
+# log0 no on expecting FOUND/NOTFOUND depending where insert goes
+FOUND /publicmessage/ in ib_logfile0
+# log1 no on expecting FOUND/NOTFOUND depending where insert goes
+NOT FOUND /publicmessage/ in ib_logfile1
+drop procedure innodb_insert_proc;
+drop table t1;
diff --git a/mysql-test/suite/encryption/r/innodb-missing-key.result b/mysql-test/suite/encryption/r/innodb-missing-key.result
new file mode 100644
index 00000000000..da19f65dfb5
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-missing-key.result
@@ -0,0 +1,53 @@
+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\\.");
+call mtr.add_suppression("InnoDB: Encrypted page [1-9][0-9]*:[1-9][0-9]* in file .*test.t[12].ibd looks corrupted; key_version=1");
+
+# Start server with keys2.txt
+CREATE TABLE t1(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=YES ENCRYPTION_KEY_ID=19;
+CREATE TABLE t2(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=YES ENCRYPTION_KEY_ID=1;
+CREATE TABLE t3(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=NO;
+INSERT INTO t1(b) VALUES ('thisissecredmessage');
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t2 SELECT * FROM t1;
+INSERT INTO t3 SELECT * FROM t1;
+
+# Restart server with keys3.txt
+set global innodb_encryption_rotate_key_age = 1;
+use test;
+CREATE TABLE t4(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=YES ENCRYPTION_KEY_ID=1;
+SELECT SLEEP(5);
+SLEEP(5)
+0
+SELECT COUNT(1) FROM t3;
+COUNT(1)
+2048
+SELECT COUNT(1) FROM t2;
+COUNT(1)
+2048
+SELECT COUNT(1) FROM t2,t1 where t2.a = t1.a;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+SELECT COUNT(1) FROM t1 where b = 'ab';
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+SELECT COUNT(1) FROM t1;
+ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
+
+# Start server with keys2.txt
+SELECT COUNT(1) FROM t1;
+COUNT(1)
+2048
+SELECT COUNT(1) FROM t2;
+COUNT(1)
+2048
+SELECT COUNT(1) FROM t3;
+COUNT(1)
+2048
+DROP TABLE t1, t2, t3;
diff --git a/mysql-test/suite/encryption/r/innodb-page_encryption-32k.result b/mysql-test/suite/encryption/r/innodb-page_encryption-32k.result
new file mode 100644
index 00000000000..6aa98a2fc68
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-page_encryption-32k.result
@@ -0,0 +1,125 @@
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=3;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT `encrypted`=yes `encryption_key_id`=1
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `encrypted`=yes `encryption_key_id`=3
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT `encrypted`=yes `encryption_key_id`=4
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into innodb_normal values(current_num, substring(MD5(RAND()), -150));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+set autocommit=0;
+call innodb_insert_proc(5000);
+commit;
+set autocommit=1;
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+5000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+5000
+select count(*) from innodb_redundant where c1 < 1500000;
+count(*)
+5000
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+5000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+5000
+select count(*) from innodb_redundant where c1 < 1500000;
+count(*)
+5000
+alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+alter table innodb_dynamic engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+alter table innodb_redundant engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+5000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+5000
+select count(*) from innodb_redundant where c1 < 1500000;
+count(*)
+5000
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_dynamic;
+drop table innodb_redundant;
diff --git a/mysql-test/suite/encryption/r/innodb-page_encryption.result b/mysql-test/suite/encryption/r/innodb-page_encryption.result
new file mode 100644
index 00000000000..c4814983af4
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-page_encryption.result
@@ -0,0 +1,277 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+show warnings;
+Level Code Message
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
+show warnings;
+Level Code Message
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=2;
+show warnings;
+Level Code Message
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=3;
+ERROR HY000: Can't create table `test`.`innodb_dynamic` (errno: 140 "Wrong create options")
+show warnings;
+Level Code Message
+Warning 140 InnoDB: ENCRYPTION_KEY_ID 3 not available
+Error 1005 Can't create table `test`.`innodb_dynamic` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=33;
+show warnings;
+Level Code Message
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
+show warnings;
+Level Code Message
+set innodb_default_encryption_key_id = 5;
+create table innodb_defkey(c1 bigint not null, b char(200)) engine=innodb encrypted=yes;
+show create table innodb_defkey;
+Table Create Table
+innodb_defkey CREATE TABLE `innodb_defkey` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `ENCRYPTION_KEY_ID`=5
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT `encrypted`=yes `encryption_key_id`=1
+show create table innodb_compressed;
+Table Create Table
+innodb_compressed CREATE TABLE `innodb_compressed` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED `encrypted`=yes `encryption_key_id`=2
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `encrypted`=yes `encryption_key_id`=33
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT `encrypted`=yes `encryption_key_id`=4
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into innodb_normal values(current_num, substring(MD5(RAND()), -64));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+set autocommit=0;
+call innodb_insert_proc(2000);
+commit;
+set autocommit=1;
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+insert into innodb_defkey select * from innodb_normal;
+update innodb_normal set c1 = c1 +1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+update innodb_defkey set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compressed where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_redundant where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_defkey where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_defkey t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+update innodb_normal set c1 = c1 +1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+update innodb_defkey set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compressed where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_redundant where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_defkey where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_defkey t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+alter table innodb_compressed engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compressed;
+Table Create Table
+innodb_compressed CREATE TABLE `innodb_compressed` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+alter table innodb_dynamic engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+alter table innodb_redundant engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+show create table innodb_compressed;
+Table Create Table
+innodb_compressed CREATE TABLE `innodb_compressed` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+show create table innodb_defkey;
+Table Create Table
+innodb_defkey CREATE TABLE `innodb_defkey` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `ENCRYPTION_KEY_ID`=5
+update innodb_normal set c1 = c1 +1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compressed where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_redundant where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_compressed;
+drop table innodb_dynamic;
+drop table innodb_redundant;
+drop table innodb_defkey;
diff --git a/mysql-test/suite/encryption/r/innodb-page_encryption_compression.result b/mysql-test/suite/encryption/r/innodb-page_encryption_compression.result
new file mode 100644
index 00000000000..857a50d9831
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-page_encryption_compression.result
@@ -0,0 +1,73 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set global innodb_compression_algorithm = 1;
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb page_compressed=1;
+show warnings;
+Level Code Message
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1 page_compressed=1;
+show warnings;
+Level Code Message
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=2 page_compressed=1;
+show warnings;
+Level Code Message
+show create table innodb_normal;
+Table Create Table
+innodb_normal CREATE TABLE `innodb_normal` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT `encrypted`=yes `encryption_key_id`=1 `page_compressed`=1
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `encrypted`=yes `encryption_key_id`=2 `page_compressed`=1
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into innodb_normal values(current_num, substring(MD5(RAND()), -128));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+begin;
+call innodb_insert_proc(2000);
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+commit;
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set global innodb_compression_algorithm = 1;
+alter table innodb_normal engine=innodb page_compressed=DEFAULT;
+show create table innodb_normal;
+Table Create Table
+innodb_normal CREATE TABLE `innodb_normal` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT page_compressed=DEFAULT;
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+alter table innodb_dynamic engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT page_compressed=DEFAULT;
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_dynamic;
diff --git a/mysql-test/suite/encryption/r/innodb-page_encryption_log_encryption.result b/mysql-test/suite/encryption/r/innodb-page_encryption_log_encryption.result
new file mode 100644
index 00000000000..411cf9aae9b
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-page_encryption_log_encryption.result
@@ -0,0 +1,128 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+show warnings;
+Level Code Message
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
+show warnings;
+Level Code Message
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=2;
+show warnings;
+Level Code Message
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=33;
+show warnings;
+Level Code Message
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
+show warnings;
+Level Code Message
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT `encrypted`=yes `encryption_key_id`=1
+show create table innodb_compressed;
+Table Create Table
+innodb_compressed CREATE TABLE `innodb_compressed` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED `encrypted`=yes `encryption_key_id`=2
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `encrypted`=yes `encryption_key_id`=33
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT `encrypted`=yes `encryption_key_id`=4
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into innodb_normal values(current_num, substring(MD5(RAND()), -64));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+begin;
+call innodb_insert_proc(2000);
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+commit;
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value > 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+update innodb_normal set c1 = c1 +1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value > 0
+1
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value > 0
+1
+SET GLOBAL innodb_encrypt_tables=OFF;
+alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+alter table innodb_compressed engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compressed;
+Table Create Table
+innodb_compressed CREATE TABLE `innodb_compressed` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+alter table innodb_dynamic engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+alter table innodb_redundant engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_compressed;
+drop table innodb_dynamic;
+drop table innodb_redundant;
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB ENCRYPTION_KEY_ID=2 ENCRYPTED=YES;
+INSERT INTO t1 VALUES (1),(2);
+# Restarting server...
+SELECT * FROM t1;
+pk
+1
+2
+DROP TABLE t1;
diff --git a/mysql-test/suite/encryption/r/innodb-read-only.result b/mysql-test/suite/encryption/r/innodb-read-only.result
new file mode 100644
index 00000000000..5d063e129e2
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-read-only.result
@@ -0,0 +1,3 @@
+# Wait max 10 min for key encryption threads to encrypt all spaces
+# Success!
+# All done
diff --git a/mysql-test/suite/encryption/r/innodb-redo-badkey.result b/mysql-test/suite/encryption/r/innodb-redo-badkey.result
new file mode 100644
index 00000000000..ed578d80b3a
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-redo-badkey.result
@@ -0,0 +1,42 @@
+call mtr.add_suppression("InnoDB: Block in space_id .* in file .* encrypted.");
+call mtr.add_suppression("Plugin 'file_key_management' ");
+call mtr.add_suppression("Plugin 'InnoDB' init function returned error.");
+call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed.");
+call mtr.add_suppression("InnoDB: Read operation failed for tablespace ");
+call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed");
+call mtr.add_suppression("InnoDB: Recovery read page ");
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1234]\\.ibd' cannot be decrypted\\.");
+call mtr.add_suppression("InnoDB: Missing MLOG_FILE_NAME or MLOG_FILE_DELETE ");
+call mtr.add_suppression("InnoDB: Plugin initialization aborted ");
+call mtr.add_suppression("InnoDB: ############### CORRUPT LOG RECORD FOUND ##################");
+# Restart mysqld --file-key-management-filename=keys2.txt
+# Wait max 10 min for key encryption threads to encrypt all spaces
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table t1(a int not null primary key auto_increment, c char(250), b blob, index(b(10))) engine=innodb row_format=compressed encrypted=yes encryption_key_id=4;
+create table t2(a int not null primary key auto_increment, c char(250), b blob, index(b(10))) engine=innodb row_format=compressed;
+create table t3(a int not null primary key auto_increment, c char(250), b blob, index(b(10))) engine=innodb encrypted=yes encryption_key_id=4;
+create table t4(a int not null primary key auto_increment, c char(250), b blob, index(b(10))) engine=innodb;
+begin;
+insert into t2 select * from t1;
+insert into t3 select * from t1;
+insert into t4 select * from t1;
+commit;
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+begin;
+update t1 set c = repeat('secret3', 20);
+update t2 set c = repeat('secret4', 20);
+update t3 set c = repeat('secret4', 20);
+update t4 set c = repeat('secret4', 20);
+insert into t1 (c,b) values (repeat('secret5',20), repeat('secret6',6000));
+insert into t2 (c,b) values (repeat('secret7',20), repeat('secret8',6000));
+insert into t3 (c,b) values (repeat('secret9',20), repeat('secre10',6000));
+insert into t4 (c,b) values (repeat('secre11',20), repeat('secre12',6000));
+COMMIT;
+# Kill the server
+# restart
+# Kill the server
+# Restart mysqld --innodb-force-recovery=1
+# Kill the server
+# Restart mysqld --file-key-management-filename=keys2.txt
+drop table t1, t2,t3,t4;
diff --git a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
new file mode 100644
index 00000000000..1ea706dbde4
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
@@ -0,0 +1,34 @@
+call mtr.add_suppression("InnoDB: Block in space_id ");
+call mtr.add_suppression("mysqld: File ");
+call mtr.add_suppression("Plugin 'file_key_management' ");
+call mtr.add_suppression("InnoDB: cannot enable encryption, encryption plugin is not available");
+call mtr.add_suppression("Plugin 'InnoDB' init function returned error\\.");
+call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed.");
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1234]\\.ibd' cannot be decrypted\\.");
+# Restart mysqld --file-key-management-filename=keys2.txt
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table t1(a int not null primary key auto_increment, c char(200), b blob, index(b(10))) engine=innodb row_format=compressed encrypted=yes encryption_key_id=20;
+create table t2(a int not null primary key auto_increment, c char(200), b blob, index(b(10))) engine=innodb row_format=compressed;
+create table t3(a int not null primary key auto_increment, c char(200), b blob, index(b(10))) engine=innodb encrypted=yes encryption_key_id=20;
+create table t4(a int not null primary key auto_increment, c char(200), b blob, index(b(10))) engine=innodb;
+begin;
+insert into t2 select * from t1;
+insert into t3 select * from t1;
+insert into t4 select * from t1;
+commit;
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+begin;
+update t1 set c = repeat('secret3', 20);
+update t2 set c = repeat('secret4', 20);
+update t3 set c = repeat('secret4', 20);
+update t4 set c = repeat('secret4', 20);
+insert into t1 (c,b) values (repeat('secret5',20), repeat('secret6',6000));
+insert into t2 (c,b) values (repeat('secret7',20), repeat('secret8',6000));
+insert into t3 (c,b) values (repeat('secret9',20), repeat('secre10',6000));
+insert into t4 (c,b) values (repeat('secre11',20), repeat('secre12',6000));
+COMMIT;
+# Kill the server
+# restart
+# Restart mysqld --file-key-management-filename=keys2.txt
+drop table t1, t2,t3,t4;
diff --git a/mysql-test/suite/encryption/r/innodb-remove-encryption.result b/mysql-test/suite/encryption/r/innodb-remove-encryption.result
new file mode 100644
index 00000000000..06f1c986a25
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-remove-encryption.result
@@ -0,0 +1,41 @@
+set global innodb_file_per_table=OFF;
+call mtr.add_suppression("mysqld: file-key-management-filename is not set");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error.");
+call mtr.add_suppression("Plugin 'file_key_management' registration as a ENCRYPTION failed.");
+flush tables;
+create table t1(a int not null primary key, b char(200)) engine=innodb;
+
+# Restart server with encryption
+# Wait until encryption threads have encrypted all tablespaces
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+./ibdata1
+# Success!
+SELECT * from t1;
+a b
+# Now turn off encryption and wait for threads to decrypt all tablespaces
+SET GLOBAL innodb_encrypt_tables = off;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+./ibdata1
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+# Success!
+
+# Restart server with no encryption setup, there should be no crashes
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+./ibdata1
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+SELECT * from t1;
+a b
+DROP TABLE t1;
diff --git a/mysql-test/suite/encryption/r/innodb_encryption-page-compression.result b/mysql-test/suite/encryption/r/innodb_encryption-page-compression.result
new file mode 100644
index 00000000000..14933e526c4
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_encryption-page-compression.result
@@ -0,0 +1,189 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_encryption_threads = 4;
+SET GLOBAL innodb_encrypt_tables = on;
+set global innodb_compression_algorithm = 1;
+create table innodb_normal (c1 int, b char(20)) engine=innodb;
+show warnings;
+Level Code Message
+create table innodb_page_compressed1 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=1;
+show warnings;
+Level Code Message
+show create table innodb_page_compressed1;
+Table Create Table
+innodb_page_compressed1 CREATE TABLE `innodb_page_compressed1` (
+ `c1` int(11) DEFAULT NULL,
+ `b` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `page_compression_level`=1
+create table innodb_page_compressed2 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=2;
+show warnings;
+Level Code Message
+show create table innodb_page_compressed2;
+Table Create Table
+innodb_page_compressed2 CREATE TABLE `innodb_page_compressed2` (
+ `c1` int(11) DEFAULT NULL,
+ `b` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `page_compression_level`=2
+create table innodb_page_compressed3 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=3;
+show warnings;
+Level Code Message
+show create table innodb_page_compressed3;
+Table Create Table
+innodb_page_compressed3 CREATE TABLE `innodb_page_compressed3` (
+ `c1` int(11) DEFAULT NULL,
+ `b` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `page_compression_level`=3
+create table innodb_page_compressed4 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=4;
+show warnings;
+Level Code Message
+show create table innodb_page_compressed4;
+Table Create Table
+innodb_page_compressed4 CREATE TABLE `innodb_page_compressed4` (
+ `c1` int(11) DEFAULT NULL,
+ `b` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `page_compression_level`=4
+create table innodb_page_compressed5 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=5;
+show warnings;
+Level Code Message
+show create table innodb_page_compressed5;
+Table Create Table
+innodb_page_compressed5 CREATE TABLE `innodb_page_compressed5` (
+ `c1` int(11) DEFAULT NULL,
+ `b` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `page_compression_level`=5
+create table innodb_page_compressed6 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=6;
+show warnings;
+Level Code Message
+show create table innodb_page_compressed6;
+Table Create Table
+innodb_page_compressed6 CREATE TABLE `innodb_page_compressed6` (
+ `c1` int(11) DEFAULT NULL,
+ `b` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `page_compression_level`=6
+create table innodb_page_compressed7 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=7;
+show warnings;
+Level Code Message
+show create table innodb_page_compressed7;
+Table Create Table
+innodb_page_compressed7 CREATE TABLE `innodb_page_compressed7` (
+ `c1` int(11) DEFAULT NULL,
+ `b` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `page_compression_level`=7
+create table innodb_page_compressed8 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=8;
+show warnings;
+Level Code Message
+show create table innodb_page_compressed8;
+Table Create Table
+innodb_page_compressed8 CREATE TABLE `innodb_page_compressed8` (
+ `c1` int(11) DEFAULT NULL,
+ `b` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `page_compression_level`=8
+create table innodb_page_compressed9 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=9;
+show warnings;
+Level Code Message
+show create table innodb_page_compressed9;
+Table Create Table
+innodb_page_compressed9 CREATE TABLE `innodb_page_compressed9` (
+ `c1` int(11) DEFAULT NULL,
+ `b` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_compressed`=1 `page_compression_level`=9
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into innodb_normal values(current_num,'testing..');
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+begin;
+call innodb_insert_proc(2000);
+insert into innodb_page_compressed1 select * from innodb_normal;
+insert into innodb_page_compressed2 select * from innodb_normal;
+insert into innodb_page_compressed3 select * from innodb_normal;
+insert into innodb_page_compressed4 select * from innodb_normal;
+insert into innodb_page_compressed5 select * from innodb_normal;
+insert into innodb_page_compressed6 select * from innodb_normal;
+insert into innodb_page_compressed7 select * from innodb_normal;
+insert into innodb_page_compressed8 select * from innodb_normal;
+insert into innodb_page_compressed9 select * from innodb_normal;
+commit;
+select count(*) from innodb_page_compressed1 where c1 < 500000;
+count(*)
+2000
+select count(*) from innodb_page_compressed2 where c1 < 500000;
+count(*)
+2000
+select count(*) from innodb_page_compressed3 where c1 < 500000;
+count(*)
+2000
+select count(*) from innodb_page_compressed4 where c1 < 500000;
+count(*)
+2000
+select count(*) from innodb_page_compressed5 where c1 < 500000;
+count(*)
+2000
+select count(*) from innodb_page_compressed6 where c1 < 500000;
+count(*)
+2000
+select count(*) from innodb_page_compressed7 where c1 < 500000;
+count(*)
+2000
+select count(*) from innodb_page_compressed8 where c1 < 500000;
+count(*)
+2000
+select count(*) from innodb_page_compressed9 where c1 < 500000;
+count(*)
+2000
+flush tables innodb_page_compressed1, innodb_page_compressed2,
+innodb_page_compressed3, innodb_page_compressed4,
+innodb_page_compressed5, innodb_page_compressed6,
+innodb_page_compressed7, innodb_page_compressed8,
+innodb_page_compressed9 for export;
+unlock tables;
+# Wait until dirty pages are compressed and encrypted
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value > 0
+1
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
+variable_value > 0
+1
+SET GLOBAL innodb_encryption_threads = 4;
+SET GLOBAL innodb_encrypt_tables = off;
+update innodb_page_compressed1 set c1 = c1 + 1;
+update innodb_page_compressed2 set c1 = c1 + 1;
+update innodb_page_compressed3 set c1 = c1 + 1;
+update innodb_page_compressed4 set c1 = c1 + 1;
+update innodb_page_compressed5 set c1 = c1 + 1;
+update innodb_page_compressed6 set c1 = c1 + 1;
+update innodb_page_compressed7 set c1 = c1 + 1;
+update innodb_page_compressed8 set c1 = c1 + 1;
+update innodb_page_compressed9 set c1 = c1 + 1;
+flush tables innodb_page_compressed1, innodb_page_compressed2,
+innodb_page_compressed3, innodb_page_compressed4,
+innodb_page_compressed5, innodb_page_compressed6,
+innodb_page_compressed7, innodb_page_compressed8,
+innodb_page_compressed9 for export;
+unlock tables;
+# Wait until dirty pages are compressed and encrypted 2
+unlock tables;
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value > 0
+1
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
+variable_value > 0
+1
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
+variable_value > 0
+1
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
diff --git a/mysql-test/suite/encryption/r/innodb_encryption.result b/mysql-test/suite/encryption/r/innodb_encryption.result
new file mode 100644
index 00000000000..5909674c21c
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_encryption.result
@@ -0,0 +1,69 @@
+SET @start_global_value = @@global.innodb_encryption_threads;
+SHOW VARIABLES LIKE 'innodb_encrypt%';
+Variable_name Value
+innodb_encrypt_log ON
+innodb_encrypt_tables ON
+innodb_encryption_rotate_key_age 15
+innodb_encryption_rotation_iops 100
+innodb_encryption_threads 4
+SET GLOBAL innodb_encrypt_tables = ON;
+# Wait max 10 min for key encryption threads to encrypt all spaces
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+./ibdata1
+# Success!
+# Now turn off encryption and wait for threads to decrypt everything
+SET GLOBAL innodb_encrypt_tables = off;
+# Wait max 10 min for key encryption threads to encrypt all spaces
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+./ibdata1
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+# Success!
+# Shutdown innodb_encryption_threads
+SET GLOBAL innodb_encryption_threads=0;
+# Turn on encryption
+# since threads are off tables should remain unencrypted
+SET GLOBAL innodb_encrypt_tables = on;
+# Wait 15s to check that nothing gets encrypted
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+./ibdata1
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+# Success!
+# Startup innodb_encryption_threads
+SET GLOBAL innodb_encryption_threads=@start_global_value;
+# Wait max 10 min for key encryption threads to encrypt all spaces
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+./ibdata1
+# Success!
+# Restart mysqld --innodb_encrypt_tables=0 --innodb_encryption_threads=0
+SHOW VARIABLES LIKE 'innodb_encrypt%';
+Variable_name Value
+innodb_encrypt_log ON
+innodb_encrypt_tables OFF
+innodb_encryption_rotate_key_age 15
+innodb_encryption_rotation_iops 100
+innodb_encryption_threads 0
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
+./ibdata1
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+NAME
diff --git a/mysql-test/suite/encryption/r/innodb_encryption_discard_import.result b/mysql-test/suite/encryption/r/innodb_encryption_discard_import.result
new file mode 100644
index 00000000000..a2a4f25b026
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_encryption_discard_import.result
@@ -0,0 +1,125 @@
+call mtr.add_suppression("InnoDB: Table .* tablespace is set as discarded.");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t2 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB;
+CREATE TABLE t3 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB row_format=compressed encrypted=yes;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into t1 values (current_num,repeat('foobar',42));
+insert into t2 values (current_num,repeat('temp', 42));
+insert into t3 values (current_num,repeat('barfoo',42));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+set autocommit=0;
+call innodb_insert_proc(10000);
+commit;
+set autocommit=1;
+# Wait max 10 min for key encryption threads to encrypt all spaces
+# tablespaces should be now encrypted
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobar/ in t1.ibd
+# t2 ... on expecting NOT FOUND
+NOT FOUND /temp/ in t2.ibd
+# t3 ... on expecting NOT FOUND
+NOT FOUND /barfoo/ in t3.ibd
+t1.frm
+t1.ibd
+t2.frm
+t2.ibd
+t3.frm
+t3.ibd
+FLUSH TABLES t1, t2, t3 FOR EXPORT;
+backup: t1
+backup: t2
+backup: t3
+t1.cfg
+t1.frm
+t1.ibd
+t2.cfg
+t2.frm
+t2.ibd
+t3.cfg
+t3.frm
+t3.ibd
+UNLOCK TABLES;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t2 DISCARD TABLESPACE;
+ALTER TABLE t3 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+restore: t2 .ibd and .cfg files
+restore: t3 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+SELECT COUNT(1) FROM t1;
+COUNT(1)
+10000
+ALTER TABLE t2 IMPORT TABLESPACE;
+SELECT COUNT(1) FROM t2;
+COUNT(1)
+10000
+ALTER TABLE t3 IMPORT TABLESPACE;
+SELECT COUNT(1) FROM t3;
+COUNT(1)
+10000
+# tablespaces should remain encrypted after import
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobar/ in t1.ibd
+# t2 ... on expecting NOT FOUND
+NOT FOUND /temp/ in t2.ibd
+# t3 ... on expecting NOT FOUND
+NOT FOUND /barfoo/ in t3.ibd
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+ALTER TABLE t1 ENGINE InnoDB;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `a` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
+ALTER TABLE t2 ENGINE InnoDB;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `id` int(11) NOT NULL,
+ `a` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t3 ENGINE InnoDB;
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `id` int(11) NOT NULL,
+ `a` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED `encrypted`=yes
+# Restarting server
+# Done restarting server
+# Verify that tables are still usable
+SELECT COUNT(1) FROM t1;
+COUNT(1)
+10000
+SELECT COUNT(1) FROM t2;
+COUNT(1)
+10000
+SELECT COUNT(1) FROM t3;
+COUNT(1)
+10000
+# Tablespaces should be encrypted after restart
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobar/ in t1.ibd
+# t2 ... on expecting NOT FOUND
+NOT FOUND /temp/ in t2.ibd
+# t3 ... on expecting NOT FOUND
+NOT FOUND /barfoo/ in t3.ibd
+# Wait max 10 min for key encryption threads to encrypt all spaces
+# Success!
+# Restart mysqld --innodb_encrypt_tables=0 --innodb_encryption_threads=0
+DROP PROCEDURE innodb_insert_proc;
+DROP TABLE t1, t2, t3;
diff --git a/mysql-test/suite/encryption/r/innodb_encryption_filekeys.result b/mysql-test/suite/encryption/r/innodb_encryption_filekeys.result
new file mode 100644
index 00000000000..1c8341137b4
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_encryption_filekeys.result
@@ -0,0 +1,61 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_encrypt_tables = OFF;
+SET GLOBAL innodb_encryption_threads = 4;
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `pk` int(11) NOT NULL AUTO_INCREMENT,
+ `c` varchar(256) DEFAULT NULL,
+ PRIMARY KEY (`pk`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+CREATE TABLE t2 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES;
+CREATE TABLE t3 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=NO;
+CREATE TABLE t4 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+SET GLOBAL innodb_encrypt_tables = on;
+# Wait max 10 min for key encryption threads to encrypt required all spaces
+# Success!
+SELECT COUNT(1) FROM t1;
+COUNT(1)
+10
+SELECT COUNT(1) FROM t2;
+COUNT(1)
+10
+SELECT COUNT(1) FROM t3;
+COUNT(1)
+10
+SELECT COUNT(1) FROM t4;
+COUNT(1)
+10
+SET GLOBAL innodb_encrypt_tables = off;
+# Wait max 10 min for key encryption threads to decrypt all required spaces
+# Success!
+SET GLOBAL innodb_encrypt_tables = ON;
+set GLOBAL innodb_default_encryption_key_id=4;
+CREATE TABLE t5 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB;
+SHOW CREATE TABLE t5;
+Table Create Table
+t5 CREATE TABLE `t5` (
+ `pk` int(11) NOT NULL AUTO_INCREMENT,
+ `c` varchar(256) DEFAULT NULL,
+ PRIMARY KEY (`pk`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO t5 select * from t1;
+# Wait max 10 min for key encryption threads to encrypt required all spaces
+# Success!
+SELECT COUNT(1) FROM t1;
+COUNT(1)
+10
+SELECT COUNT(1) FROM t2;
+COUNT(1)
+10
+SELECT COUNT(1) FROM t3;
+COUNT(1)
+10
+SELECT COUNT(1) FROM t4;
+COUNT(1)
+10
+SELECT COUNT(1) FROM t5;
+COUNT(1)
+10
+drop table t1,t2,t3,t4, t5;
diff --git a/mysql-test/suite/encryption/r/innodb_encryption_is.result b/mysql-test/suite/encryption/r/innodb_encryption_is.result
new file mode 100644
index 00000000000..5bbcbbe6bb6
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_encryption_is.result
@@ -0,0 +1,14 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1 (c VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=1;
+CREATE TABLE t2 (c VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=2;
+INSERT INTO t1 VALUES ('foobar');
+INSERT INTO t2 VALUES ('foobar');
+SELECT NAME, ENCRYPTION_SCHEME, MIN_KEY_VERSION, CURRENT_KEY_VERSION,
+CURRENT_KEY_ID
+FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION
+WHERE NAME LIKE '%t1' OR NAME LIKE '%t2';
+NAME ENCRYPTION_SCHEME MIN_KEY_VERSION CURRENT_KEY_VERSION CURRENT_KEY_ID
+test/t1 1 1 1 1
+test/t2 1 1 1 2
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/encryption/r/innodb_encryption_row_compressed.result b/mysql-test/suite/encryption/r/innodb_encryption_row_compressed.result
new file mode 100644
index 00000000000..355271ef9ca
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_encryption_row_compressed.result
@@ -0,0 +1,153 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table innodb_compressed1(c1 bigint not null primary key, d int, a varchar(20), b char(200)) engine=innodb row_format=compressed encrypted=yes;
+create table innodb_compressed2(c1 bigint not null primary key, d int, a varchar(20), b char(200)) engine=innodb row_format=compressed key_block_size=1 encrypted=yes;
+create table innodb_compressed3(c1 bigint not null primary key, d int, a varchar(20), b char(200)) engine=innodb row_format=compressed key_block_size=2 encrypted=yes;
+create table innodb_compressed4(c1 bigint not null primary key, d int, a varchar(20), b char(200)) engine=innodb row_format=compressed key_block_size=4 encrypted=yes;
+insert into innodb_compressed1 values (1, 20, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (2, 20, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (3, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (4, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (5, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (6, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (7, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (8, 20, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (9, 20, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (10, 20, 'private', 'evenmoreprivate');
+insert into innodb_compressed2 select * from innodb_compressed1;
+insert into innodb_compressed3 select * from innodb_compressed1;
+insert into innodb_compressed4 select * from innodb_compressed1;
+# t1 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed1.ibd
+# t2 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed2.ibd
+# t3 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed3.ibd
+# t4 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed4.ibd
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+select * from innodb_compressed1 where d = 20;
+c1 d a b
+1 20 private evenmoreprivate
+2 20 private evenmoreprivate
+8 20 private evenmoreprivate
+9 20 private evenmoreprivate
+10 20 private evenmoreprivate
+select * from innodb_compressed1 where d = 30;
+c1 d a b
+3 30 private evenmoreprivate
+4 30 private evenmoreprivate
+5 30 private evenmoreprivate
+6 30 private evenmoreprivate
+7 30 private evenmoreprivate
+select * from innodb_compressed2 where d = 20;
+c1 d a b
+1 20 private evenmoreprivate
+2 20 private evenmoreprivate
+8 20 private evenmoreprivate
+9 20 private evenmoreprivate
+10 20 private evenmoreprivate
+select * from innodb_compressed2 where d = 30;
+c1 d a b
+3 30 private evenmoreprivate
+4 30 private evenmoreprivate
+5 30 private evenmoreprivate
+6 30 private evenmoreprivate
+7 30 private evenmoreprivate
+select * from innodb_compressed3 where d = 20;
+c1 d a b
+1 20 private evenmoreprivate
+2 20 private evenmoreprivate
+8 20 private evenmoreprivate
+9 20 private evenmoreprivate
+10 20 private evenmoreprivate
+select * from innodb_compressed3 where d = 30;
+c1 d a b
+3 30 private evenmoreprivate
+4 30 private evenmoreprivate
+5 30 private evenmoreprivate
+6 30 private evenmoreprivate
+7 30 private evenmoreprivate
+select * from innodb_compressed4 where d = 20;
+c1 d a b
+1 20 private evenmoreprivate
+2 20 private evenmoreprivate
+8 20 private evenmoreprivate
+9 20 private evenmoreprivate
+10 20 private evenmoreprivate
+select * from innodb_compressed4 where d = 30;
+c1 d a b
+3 30 private evenmoreprivate
+4 30 private evenmoreprivate
+5 30 private evenmoreprivate
+6 30 private evenmoreprivate
+7 30 private evenmoreprivate
+update innodb_compressed1 set d = d + 10 where d = 30;
+update innodb_compressed2 set d = d + 10 where d = 30;
+update innodb_compressed3 set d = d + 10 where d = 30;
+update innodb_compressed4 set d = d + 10 where d = 30;
+insert into innodb_compressed1 values (20, 60, 'newprivate', 'newevenmoreprivate');
+insert into innodb_compressed2 values (20, 60, 'newprivate', 'newevenmoreprivate');
+insert into innodb_compressed3 values (20, 60, 'newprivate', 'newevenmoreprivate');
+insert into innodb_compressed4 values (20, 60, 'newprivate', 'newevenmoreprivate');
+# t1 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed1.ibd
+# t2 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed2.ibd
+# t3 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed3.ibd
+# t4 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed4.ibd
+select * from innodb_compressed1 where d = 40;
+c1 d a b
+3 40 private evenmoreprivate
+4 40 private evenmoreprivate
+5 40 private evenmoreprivate
+6 40 private evenmoreprivate
+7 40 private evenmoreprivate
+select * from innodb_compressed1 where d = 60;
+c1 d a b
+20 60 newprivate newevenmoreprivate
+select * from innodb_compressed2 where d = 40;
+c1 d a b
+3 40 private evenmoreprivate
+4 40 private evenmoreprivate
+5 40 private evenmoreprivate
+6 40 private evenmoreprivate
+7 40 private evenmoreprivate
+select * from innodb_compressed2 where d = 60;
+c1 d a b
+20 60 newprivate newevenmoreprivate
+select * from innodb_compressed3 where d = 40;
+c1 d a b
+3 40 private evenmoreprivate
+4 40 private evenmoreprivate
+5 40 private evenmoreprivate
+6 40 private evenmoreprivate
+7 40 private evenmoreprivate
+select * from innodb_compressed3 where d = 60;
+c1 d a b
+20 60 newprivate newevenmoreprivate
+select * from innodb_compressed4 where d = 40;
+c1 d a b
+3 40 private evenmoreprivate
+4 40 private evenmoreprivate
+5 40 private evenmoreprivate
+6 40 private evenmoreprivate
+7 40 private evenmoreprivate
+select * from innodb_compressed4 where d = 60;
+c1 d a b
+20 60 newprivate newevenmoreprivate
+# t1 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed1.ibd
+# t2 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed2.ibd
+# t3 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed3.ibd
+# t4 yes on expecting NOT FOUND
+NOT FOUND /private/ in innodb_compressed4.ibd
+drop table innodb_compressed1;
+drop table innodb_compressed2;
+drop table innodb_compressed3;
+drop table innodb_compressed4;
diff --git a/mysql-test/suite/encryption/r/innodb_encryption_tables.result b/mysql-test/suite/encryption/r/innodb_encryption_tables.result
new file mode 100644
index 00000000000..640e2be87a2
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_encryption_tables.result
@@ -0,0 +1,161 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic;
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant;
+show warnings;
+Level Code Message
+show create table innodb_normal;
+Table Create Table
+innodb_normal CREATE TABLE `innodb_normal` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+show create table innodb_compressed;
+Table Create Table
+innodb_compressed CREATE TABLE `innodb_compressed` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into innodb_normal values(current_num, substring(MD5(RAND()), -64));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+set autocommit=0;
+call innodb_insert_proc(2000);
+commit;
+set autocommit=1;
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+update innodb_normal set c1 = c1 + 1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_normal;
+count(*)
+2000
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compressed where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_redundant where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
+variable_value >= 0
+1
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+update innodb_normal set c1 = c1 + 1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_normal;
+count(*)
+2000
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compressed where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_redundant where c1 < 1500000;
+count(*)
+2000
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+count(*)
+2000
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
+variable_value >= 0
+1
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_dynamic;
+drop table innodb_compressed;
+drop table innodb_redundant;
diff --git a/mysql-test/suite/encryption/r/innodb_first_page.result b/mysql-test/suite/encryption/r/innodb_first_page.result
new file mode 100644
index 00000000000..c2bbdb5695b
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_first_page.result
@@ -0,0 +1,5 @@
+call mtr.add_suppression("InnoDB: New log files created, LSN");
+call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+shutdown;
+create table t1 (a int);
+drop table t1;
diff --git a/mysql-test/suite/encryption/r/innodb_lotoftables.result b/mysql-test/suite/encryption/r/innodb_lotoftables.result
new file mode 100644
index 00000000000..c8b6e1a368e
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_lotoftables.result
@@ -0,0 +1,1235 @@
+SET GLOBAL innodb_fast_shutdown=0;
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+SHOW VARIABLES LIKE 'innodb_encrypt%';
+Variable_name Value
+innodb_encrypt_log OFF
+innodb_encrypt_tables OFF
+innodb_encryption_rotate_key_age 1
+innodb_encryption_rotation_iops 100
+innodb_encryption_threads 0
+create database innodb_encrypted_1;
+use innodb_encrypted_1;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+set autocommit=0;
+set autocommit=1;
+commit work;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+# should be empty
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE NAME LIKE 'innodb_encrypted%';
+NAME
+create database innodb_encrypted_2;
+use innodb_encrypted_2;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+set autocommit=0;
+commit work;
+set autocommit=1;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+# should contain 100 tables
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_2/t_1
+innodb_encrypted_2/t_10
+innodb_encrypted_2/t_100
+innodb_encrypted_2/t_11
+innodb_encrypted_2/t_12
+innodb_encrypted_2/t_13
+innodb_encrypted_2/t_14
+innodb_encrypted_2/t_15
+innodb_encrypted_2/t_16
+innodb_encrypted_2/t_17
+innodb_encrypted_2/t_18
+innodb_encrypted_2/t_19
+innodb_encrypted_2/t_2
+innodb_encrypted_2/t_20
+innodb_encrypted_2/t_21
+innodb_encrypted_2/t_22
+innodb_encrypted_2/t_23
+innodb_encrypted_2/t_24
+innodb_encrypted_2/t_25
+innodb_encrypted_2/t_26
+innodb_encrypted_2/t_27
+innodb_encrypted_2/t_28
+innodb_encrypted_2/t_29
+innodb_encrypted_2/t_3
+innodb_encrypted_2/t_30
+innodb_encrypted_2/t_31
+innodb_encrypted_2/t_32
+innodb_encrypted_2/t_33
+innodb_encrypted_2/t_34
+innodb_encrypted_2/t_35
+innodb_encrypted_2/t_36
+innodb_encrypted_2/t_37
+innodb_encrypted_2/t_38
+innodb_encrypted_2/t_39
+innodb_encrypted_2/t_4
+innodb_encrypted_2/t_40
+innodb_encrypted_2/t_41
+innodb_encrypted_2/t_42
+innodb_encrypted_2/t_43
+innodb_encrypted_2/t_44
+innodb_encrypted_2/t_45
+innodb_encrypted_2/t_46
+innodb_encrypted_2/t_47
+innodb_encrypted_2/t_48
+innodb_encrypted_2/t_49
+innodb_encrypted_2/t_5
+innodb_encrypted_2/t_50
+innodb_encrypted_2/t_51
+innodb_encrypted_2/t_52
+innodb_encrypted_2/t_53
+innodb_encrypted_2/t_54
+innodb_encrypted_2/t_55
+innodb_encrypted_2/t_56
+innodb_encrypted_2/t_57
+innodb_encrypted_2/t_58
+innodb_encrypted_2/t_59
+innodb_encrypted_2/t_6
+innodb_encrypted_2/t_60
+innodb_encrypted_2/t_61
+innodb_encrypted_2/t_62
+innodb_encrypted_2/t_63
+innodb_encrypted_2/t_64
+innodb_encrypted_2/t_65
+innodb_encrypted_2/t_66
+innodb_encrypted_2/t_67
+innodb_encrypted_2/t_68
+innodb_encrypted_2/t_69
+innodb_encrypted_2/t_7
+innodb_encrypted_2/t_70
+innodb_encrypted_2/t_71
+innodb_encrypted_2/t_72
+innodb_encrypted_2/t_73
+innodb_encrypted_2/t_74
+innodb_encrypted_2/t_75
+innodb_encrypted_2/t_76
+innodb_encrypted_2/t_77
+innodb_encrypted_2/t_78
+innodb_encrypted_2/t_79
+innodb_encrypted_2/t_8
+innodb_encrypted_2/t_80
+innodb_encrypted_2/t_81
+innodb_encrypted_2/t_82
+innodb_encrypted_2/t_83
+innodb_encrypted_2/t_84
+innodb_encrypted_2/t_85
+innodb_encrypted_2/t_86
+innodb_encrypted_2/t_87
+innodb_encrypted_2/t_88
+innodb_encrypted_2/t_89
+innodb_encrypted_2/t_9
+innodb_encrypted_2/t_90
+innodb_encrypted_2/t_91
+innodb_encrypted_2/t_92
+innodb_encrypted_2/t_93
+innodb_encrypted_2/t_94
+innodb_encrypted_2/t_95
+innodb_encrypted_2/t_96
+innodb_encrypted_2/t_97
+innodb_encrypted_2/t_98
+innodb_encrypted_2/t_99
+# should contain 0 tables
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+create database innodb_encrypted_3;
+use innodb_encrypted_3;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+set autocommit=0;
+commit work;
+set autocommit=1;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+# should contain 100 tables
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_2/t_1
+innodb_encrypted_2/t_10
+innodb_encrypted_2/t_100
+innodb_encrypted_2/t_11
+innodb_encrypted_2/t_12
+innodb_encrypted_2/t_13
+innodb_encrypted_2/t_14
+innodb_encrypted_2/t_15
+innodb_encrypted_2/t_16
+innodb_encrypted_2/t_17
+innodb_encrypted_2/t_18
+innodb_encrypted_2/t_19
+innodb_encrypted_2/t_2
+innodb_encrypted_2/t_20
+innodb_encrypted_2/t_21
+innodb_encrypted_2/t_22
+innodb_encrypted_2/t_23
+innodb_encrypted_2/t_24
+innodb_encrypted_2/t_25
+innodb_encrypted_2/t_26
+innodb_encrypted_2/t_27
+innodb_encrypted_2/t_28
+innodb_encrypted_2/t_29
+innodb_encrypted_2/t_3
+innodb_encrypted_2/t_30
+innodb_encrypted_2/t_31
+innodb_encrypted_2/t_32
+innodb_encrypted_2/t_33
+innodb_encrypted_2/t_34
+innodb_encrypted_2/t_35
+innodb_encrypted_2/t_36
+innodb_encrypted_2/t_37
+innodb_encrypted_2/t_38
+innodb_encrypted_2/t_39
+innodb_encrypted_2/t_4
+innodb_encrypted_2/t_40
+innodb_encrypted_2/t_41
+innodb_encrypted_2/t_42
+innodb_encrypted_2/t_43
+innodb_encrypted_2/t_44
+innodb_encrypted_2/t_45
+innodb_encrypted_2/t_46
+innodb_encrypted_2/t_47
+innodb_encrypted_2/t_48
+innodb_encrypted_2/t_49
+innodb_encrypted_2/t_5
+innodb_encrypted_2/t_50
+innodb_encrypted_2/t_51
+innodb_encrypted_2/t_52
+innodb_encrypted_2/t_53
+innodb_encrypted_2/t_54
+innodb_encrypted_2/t_55
+innodb_encrypted_2/t_56
+innodb_encrypted_2/t_57
+innodb_encrypted_2/t_58
+innodb_encrypted_2/t_59
+innodb_encrypted_2/t_6
+innodb_encrypted_2/t_60
+innodb_encrypted_2/t_61
+innodb_encrypted_2/t_62
+innodb_encrypted_2/t_63
+innodb_encrypted_2/t_64
+innodb_encrypted_2/t_65
+innodb_encrypted_2/t_66
+innodb_encrypted_2/t_67
+innodb_encrypted_2/t_68
+innodb_encrypted_2/t_69
+innodb_encrypted_2/t_7
+innodb_encrypted_2/t_70
+innodb_encrypted_2/t_71
+innodb_encrypted_2/t_72
+innodb_encrypted_2/t_73
+innodb_encrypted_2/t_74
+innodb_encrypted_2/t_75
+innodb_encrypted_2/t_76
+innodb_encrypted_2/t_77
+innodb_encrypted_2/t_78
+innodb_encrypted_2/t_79
+innodb_encrypted_2/t_8
+innodb_encrypted_2/t_80
+innodb_encrypted_2/t_81
+innodb_encrypted_2/t_82
+innodb_encrypted_2/t_83
+innodb_encrypted_2/t_84
+innodb_encrypted_2/t_85
+innodb_encrypted_2/t_86
+innodb_encrypted_2/t_87
+innodb_encrypted_2/t_88
+innodb_encrypted_2/t_89
+innodb_encrypted_2/t_9
+innodb_encrypted_2/t_90
+innodb_encrypted_2/t_91
+innodb_encrypted_2/t_92
+innodb_encrypted_2/t_93
+innodb_encrypted_2/t_94
+innodb_encrypted_2/t_95
+innodb_encrypted_2/t_96
+innodb_encrypted_2/t_97
+innodb_encrypted_2/t_98
+innodb_encrypted_2/t_99
+# should contain 100 tables
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_3/t_1
+innodb_encrypted_3/t_10
+innodb_encrypted_3/t_100
+innodb_encrypted_3/t_11
+innodb_encrypted_3/t_12
+innodb_encrypted_3/t_13
+innodb_encrypted_3/t_14
+innodb_encrypted_3/t_15
+innodb_encrypted_3/t_16
+innodb_encrypted_3/t_17
+innodb_encrypted_3/t_18
+innodb_encrypted_3/t_19
+innodb_encrypted_3/t_2
+innodb_encrypted_3/t_20
+innodb_encrypted_3/t_21
+innodb_encrypted_3/t_22
+innodb_encrypted_3/t_23
+innodb_encrypted_3/t_24
+innodb_encrypted_3/t_25
+innodb_encrypted_3/t_26
+innodb_encrypted_3/t_27
+innodb_encrypted_3/t_28
+innodb_encrypted_3/t_29
+innodb_encrypted_3/t_3
+innodb_encrypted_3/t_30
+innodb_encrypted_3/t_31
+innodb_encrypted_3/t_32
+innodb_encrypted_3/t_33
+innodb_encrypted_3/t_34
+innodb_encrypted_3/t_35
+innodb_encrypted_3/t_36
+innodb_encrypted_3/t_37
+innodb_encrypted_3/t_38
+innodb_encrypted_3/t_39
+innodb_encrypted_3/t_4
+innodb_encrypted_3/t_40
+innodb_encrypted_3/t_41
+innodb_encrypted_3/t_42
+innodb_encrypted_3/t_43
+innodb_encrypted_3/t_44
+innodb_encrypted_3/t_45
+innodb_encrypted_3/t_46
+innodb_encrypted_3/t_47
+innodb_encrypted_3/t_48
+innodb_encrypted_3/t_49
+innodb_encrypted_3/t_5
+innodb_encrypted_3/t_50
+innodb_encrypted_3/t_51
+innodb_encrypted_3/t_52
+innodb_encrypted_3/t_53
+innodb_encrypted_3/t_54
+innodb_encrypted_3/t_55
+innodb_encrypted_3/t_56
+innodb_encrypted_3/t_57
+innodb_encrypted_3/t_58
+innodb_encrypted_3/t_59
+innodb_encrypted_3/t_6
+innodb_encrypted_3/t_60
+innodb_encrypted_3/t_61
+innodb_encrypted_3/t_62
+innodb_encrypted_3/t_63
+innodb_encrypted_3/t_64
+innodb_encrypted_3/t_65
+innodb_encrypted_3/t_66
+innodb_encrypted_3/t_67
+innodb_encrypted_3/t_68
+innodb_encrypted_3/t_69
+innodb_encrypted_3/t_7
+innodb_encrypted_3/t_70
+innodb_encrypted_3/t_71
+innodb_encrypted_3/t_72
+innodb_encrypted_3/t_73
+innodb_encrypted_3/t_74
+innodb_encrypted_3/t_75
+innodb_encrypted_3/t_76
+innodb_encrypted_3/t_77
+innodb_encrypted_3/t_78
+innodb_encrypted_3/t_79
+innodb_encrypted_3/t_8
+innodb_encrypted_3/t_80
+innodb_encrypted_3/t_81
+innodb_encrypted_3/t_82
+innodb_encrypted_3/t_83
+innodb_encrypted_3/t_84
+innodb_encrypted_3/t_85
+innodb_encrypted_3/t_86
+innodb_encrypted_3/t_87
+innodb_encrypted_3/t_88
+innodb_encrypted_3/t_89
+innodb_encrypted_3/t_9
+innodb_encrypted_3/t_90
+innodb_encrypted_3/t_91
+innodb_encrypted_3/t_92
+innodb_encrypted_3/t_93
+innodb_encrypted_3/t_94
+innodb_encrypted_3/t_95
+innodb_encrypted_3/t_96
+innodb_encrypted_3/t_97
+innodb_encrypted_3/t_98
+innodb_encrypted_3/t_99
+use test;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_2/t_1
+innodb_encrypted_2/t_10
+innodb_encrypted_2/t_100
+innodb_encrypted_2/t_11
+innodb_encrypted_2/t_12
+innodb_encrypted_2/t_13
+innodb_encrypted_2/t_14
+innodb_encrypted_2/t_15
+innodb_encrypted_2/t_16
+innodb_encrypted_2/t_17
+innodb_encrypted_2/t_18
+innodb_encrypted_2/t_19
+innodb_encrypted_2/t_2
+innodb_encrypted_2/t_20
+innodb_encrypted_2/t_21
+innodb_encrypted_2/t_22
+innodb_encrypted_2/t_23
+innodb_encrypted_2/t_24
+innodb_encrypted_2/t_25
+innodb_encrypted_2/t_26
+innodb_encrypted_2/t_27
+innodb_encrypted_2/t_28
+innodb_encrypted_2/t_29
+innodb_encrypted_2/t_3
+innodb_encrypted_2/t_30
+innodb_encrypted_2/t_31
+innodb_encrypted_2/t_32
+innodb_encrypted_2/t_33
+innodb_encrypted_2/t_34
+innodb_encrypted_2/t_35
+innodb_encrypted_2/t_36
+innodb_encrypted_2/t_37
+innodb_encrypted_2/t_38
+innodb_encrypted_2/t_39
+innodb_encrypted_2/t_4
+innodb_encrypted_2/t_40
+innodb_encrypted_2/t_41
+innodb_encrypted_2/t_42
+innodb_encrypted_2/t_43
+innodb_encrypted_2/t_44
+innodb_encrypted_2/t_45
+innodb_encrypted_2/t_46
+innodb_encrypted_2/t_47
+innodb_encrypted_2/t_48
+innodb_encrypted_2/t_49
+innodb_encrypted_2/t_5
+innodb_encrypted_2/t_50
+innodb_encrypted_2/t_51
+innodb_encrypted_2/t_52
+innodb_encrypted_2/t_53
+innodb_encrypted_2/t_54
+innodb_encrypted_2/t_55
+innodb_encrypted_2/t_56
+innodb_encrypted_2/t_57
+innodb_encrypted_2/t_58
+innodb_encrypted_2/t_59
+innodb_encrypted_2/t_6
+innodb_encrypted_2/t_60
+innodb_encrypted_2/t_61
+innodb_encrypted_2/t_62
+innodb_encrypted_2/t_63
+innodb_encrypted_2/t_64
+innodb_encrypted_2/t_65
+innodb_encrypted_2/t_66
+innodb_encrypted_2/t_67
+innodb_encrypted_2/t_68
+innodb_encrypted_2/t_69
+innodb_encrypted_2/t_7
+innodb_encrypted_2/t_70
+innodb_encrypted_2/t_71
+innodb_encrypted_2/t_72
+innodb_encrypted_2/t_73
+innodb_encrypted_2/t_74
+innodb_encrypted_2/t_75
+innodb_encrypted_2/t_76
+innodb_encrypted_2/t_77
+innodb_encrypted_2/t_78
+innodb_encrypted_2/t_79
+innodb_encrypted_2/t_8
+innodb_encrypted_2/t_80
+innodb_encrypted_2/t_81
+innodb_encrypted_2/t_82
+innodb_encrypted_2/t_83
+innodb_encrypted_2/t_84
+innodb_encrypted_2/t_85
+innodb_encrypted_2/t_86
+innodb_encrypted_2/t_87
+innodb_encrypted_2/t_88
+innodb_encrypted_2/t_89
+innodb_encrypted_2/t_9
+innodb_encrypted_2/t_90
+innodb_encrypted_2/t_91
+innodb_encrypted_2/t_92
+innodb_encrypted_2/t_93
+innodb_encrypted_2/t_94
+innodb_encrypted_2/t_95
+innodb_encrypted_2/t_96
+innodb_encrypted_2/t_97
+innodb_encrypted_2/t_98
+innodb_encrypted_2/t_99
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_3/t_1
+innodb_encrypted_3/t_10
+innodb_encrypted_3/t_100
+innodb_encrypted_3/t_11
+innodb_encrypted_3/t_12
+innodb_encrypted_3/t_13
+innodb_encrypted_3/t_14
+innodb_encrypted_3/t_15
+innodb_encrypted_3/t_16
+innodb_encrypted_3/t_17
+innodb_encrypted_3/t_18
+innodb_encrypted_3/t_19
+innodb_encrypted_3/t_2
+innodb_encrypted_3/t_20
+innodb_encrypted_3/t_21
+innodb_encrypted_3/t_22
+innodb_encrypted_3/t_23
+innodb_encrypted_3/t_24
+innodb_encrypted_3/t_25
+innodb_encrypted_3/t_26
+innodb_encrypted_3/t_27
+innodb_encrypted_3/t_28
+innodb_encrypted_3/t_29
+innodb_encrypted_3/t_3
+innodb_encrypted_3/t_30
+innodb_encrypted_3/t_31
+innodb_encrypted_3/t_32
+innodb_encrypted_3/t_33
+innodb_encrypted_3/t_34
+innodb_encrypted_3/t_35
+innodb_encrypted_3/t_36
+innodb_encrypted_3/t_37
+innodb_encrypted_3/t_38
+innodb_encrypted_3/t_39
+innodb_encrypted_3/t_4
+innodb_encrypted_3/t_40
+innodb_encrypted_3/t_41
+innodb_encrypted_3/t_42
+innodb_encrypted_3/t_43
+innodb_encrypted_3/t_44
+innodb_encrypted_3/t_45
+innodb_encrypted_3/t_46
+innodb_encrypted_3/t_47
+innodb_encrypted_3/t_48
+innodb_encrypted_3/t_49
+innodb_encrypted_3/t_5
+innodb_encrypted_3/t_50
+innodb_encrypted_3/t_51
+innodb_encrypted_3/t_52
+innodb_encrypted_3/t_53
+innodb_encrypted_3/t_54
+innodb_encrypted_3/t_55
+innodb_encrypted_3/t_56
+innodb_encrypted_3/t_57
+innodb_encrypted_3/t_58
+innodb_encrypted_3/t_59
+innodb_encrypted_3/t_6
+innodb_encrypted_3/t_60
+innodb_encrypted_3/t_61
+innodb_encrypted_3/t_62
+innodb_encrypted_3/t_63
+innodb_encrypted_3/t_64
+innodb_encrypted_3/t_65
+innodb_encrypted_3/t_66
+innodb_encrypted_3/t_67
+innodb_encrypted_3/t_68
+innodb_encrypted_3/t_69
+innodb_encrypted_3/t_7
+innodb_encrypted_3/t_70
+innodb_encrypted_3/t_71
+innodb_encrypted_3/t_72
+innodb_encrypted_3/t_73
+innodb_encrypted_3/t_74
+innodb_encrypted_3/t_75
+innodb_encrypted_3/t_76
+innodb_encrypted_3/t_77
+innodb_encrypted_3/t_78
+innodb_encrypted_3/t_79
+innodb_encrypted_3/t_8
+innodb_encrypted_3/t_80
+innodb_encrypted_3/t_81
+innodb_encrypted_3/t_82
+innodb_encrypted_3/t_83
+innodb_encrypted_3/t_84
+innodb_encrypted_3/t_85
+innodb_encrypted_3/t_86
+innodb_encrypted_3/t_87
+innodb_encrypted_3/t_88
+innodb_encrypted_3/t_89
+innodb_encrypted_3/t_9
+innodb_encrypted_3/t_90
+innodb_encrypted_3/t_91
+innodb_encrypted_3/t_92
+innodb_encrypted_3/t_93
+innodb_encrypted_3/t_94
+innodb_encrypted_3/t_95
+innodb_encrypted_3/t_96
+innodb_encrypted_3/t_97
+innodb_encrypted_3/t_98
+innodb_encrypted_3/t_99
+SET GLOBAL innodb_encrypt_tables = on;
+SET GLOBAL innodb_encryption_threads=4;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_2/t_1
+innodb_encrypted_2/t_10
+innodb_encrypted_2/t_100
+innodb_encrypted_2/t_11
+innodb_encrypted_2/t_12
+innodb_encrypted_2/t_13
+innodb_encrypted_2/t_14
+innodb_encrypted_2/t_15
+innodb_encrypted_2/t_16
+innodb_encrypted_2/t_17
+innodb_encrypted_2/t_18
+innodb_encrypted_2/t_19
+innodb_encrypted_2/t_2
+innodb_encrypted_2/t_20
+innodb_encrypted_2/t_21
+innodb_encrypted_2/t_22
+innodb_encrypted_2/t_23
+innodb_encrypted_2/t_24
+innodb_encrypted_2/t_25
+innodb_encrypted_2/t_26
+innodb_encrypted_2/t_27
+innodb_encrypted_2/t_28
+innodb_encrypted_2/t_29
+innodb_encrypted_2/t_3
+innodb_encrypted_2/t_30
+innodb_encrypted_2/t_31
+innodb_encrypted_2/t_32
+innodb_encrypted_2/t_33
+innodb_encrypted_2/t_34
+innodb_encrypted_2/t_35
+innodb_encrypted_2/t_36
+innodb_encrypted_2/t_37
+innodb_encrypted_2/t_38
+innodb_encrypted_2/t_39
+innodb_encrypted_2/t_4
+innodb_encrypted_2/t_40
+innodb_encrypted_2/t_41
+innodb_encrypted_2/t_42
+innodb_encrypted_2/t_43
+innodb_encrypted_2/t_44
+innodb_encrypted_2/t_45
+innodb_encrypted_2/t_46
+innodb_encrypted_2/t_47
+innodb_encrypted_2/t_48
+innodb_encrypted_2/t_49
+innodb_encrypted_2/t_5
+innodb_encrypted_2/t_50
+innodb_encrypted_2/t_51
+innodb_encrypted_2/t_52
+innodb_encrypted_2/t_53
+innodb_encrypted_2/t_54
+innodb_encrypted_2/t_55
+innodb_encrypted_2/t_56
+innodb_encrypted_2/t_57
+innodb_encrypted_2/t_58
+innodb_encrypted_2/t_59
+innodb_encrypted_2/t_6
+innodb_encrypted_2/t_60
+innodb_encrypted_2/t_61
+innodb_encrypted_2/t_62
+innodb_encrypted_2/t_63
+innodb_encrypted_2/t_64
+innodb_encrypted_2/t_65
+innodb_encrypted_2/t_66
+innodb_encrypted_2/t_67
+innodb_encrypted_2/t_68
+innodb_encrypted_2/t_69
+innodb_encrypted_2/t_7
+innodb_encrypted_2/t_70
+innodb_encrypted_2/t_71
+innodb_encrypted_2/t_72
+innodb_encrypted_2/t_73
+innodb_encrypted_2/t_74
+innodb_encrypted_2/t_75
+innodb_encrypted_2/t_76
+innodb_encrypted_2/t_77
+innodb_encrypted_2/t_78
+innodb_encrypted_2/t_79
+innodb_encrypted_2/t_8
+innodb_encrypted_2/t_80
+innodb_encrypted_2/t_81
+innodb_encrypted_2/t_82
+innodb_encrypted_2/t_83
+innodb_encrypted_2/t_84
+innodb_encrypted_2/t_85
+innodb_encrypted_2/t_86
+innodb_encrypted_2/t_87
+innodb_encrypted_2/t_88
+innodb_encrypted_2/t_89
+innodb_encrypted_2/t_9
+innodb_encrypted_2/t_90
+innodb_encrypted_2/t_91
+innodb_encrypted_2/t_92
+innodb_encrypted_2/t_93
+innodb_encrypted_2/t_94
+innodb_encrypted_2/t_95
+innodb_encrypted_2/t_96
+innodb_encrypted_2/t_97
+innodb_encrypted_2/t_98
+innodb_encrypted_2/t_99
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_3/t_1
+innodb_encrypted_3/t_10
+innodb_encrypted_3/t_100
+innodb_encrypted_3/t_11
+innodb_encrypted_3/t_12
+innodb_encrypted_3/t_13
+innodb_encrypted_3/t_14
+innodb_encrypted_3/t_15
+innodb_encrypted_3/t_16
+innodb_encrypted_3/t_17
+innodb_encrypted_3/t_18
+innodb_encrypted_3/t_19
+innodb_encrypted_3/t_2
+innodb_encrypted_3/t_20
+innodb_encrypted_3/t_21
+innodb_encrypted_3/t_22
+innodb_encrypted_3/t_23
+innodb_encrypted_3/t_24
+innodb_encrypted_3/t_25
+innodb_encrypted_3/t_26
+innodb_encrypted_3/t_27
+innodb_encrypted_3/t_28
+innodb_encrypted_3/t_29
+innodb_encrypted_3/t_3
+innodb_encrypted_3/t_30
+innodb_encrypted_3/t_31
+innodb_encrypted_3/t_32
+innodb_encrypted_3/t_33
+innodb_encrypted_3/t_34
+innodb_encrypted_3/t_35
+innodb_encrypted_3/t_36
+innodb_encrypted_3/t_37
+innodb_encrypted_3/t_38
+innodb_encrypted_3/t_39
+innodb_encrypted_3/t_4
+innodb_encrypted_3/t_40
+innodb_encrypted_3/t_41
+innodb_encrypted_3/t_42
+innodb_encrypted_3/t_43
+innodb_encrypted_3/t_44
+innodb_encrypted_3/t_45
+innodb_encrypted_3/t_46
+innodb_encrypted_3/t_47
+innodb_encrypted_3/t_48
+innodb_encrypted_3/t_49
+innodb_encrypted_3/t_5
+innodb_encrypted_3/t_50
+innodb_encrypted_3/t_51
+innodb_encrypted_3/t_52
+innodb_encrypted_3/t_53
+innodb_encrypted_3/t_54
+innodb_encrypted_3/t_55
+innodb_encrypted_3/t_56
+innodb_encrypted_3/t_57
+innodb_encrypted_3/t_58
+innodb_encrypted_3/t_59
+innodb_encrypted_3/t_6
+innodb_encrypted_3/t_60
+innodb_encrypted_3/t_61
+innodb_encrypted_3/t_62
+innodb_encrypted_3/t_63
+innodb_encrypted_3/t_64
+innodb_encrypted_3/t_65
+innodb_encrypted_3/t_66
+innodb_encrypted_3/t_67
+innodb_encrypted_3/t_68
+innodb_encrypted_3/t_69
+innodb_encrypted_3/t_7
+innodb_encrypted_3/t_70
+innodb_encrypted_3/t_71
+innodb_encrypted_3/t_72
+innodb_encrypted_3/t_73
+innodb_encrypted_3/t_74
+innodb_encrypted_3/t_75
+innodb_encrypted_3/t_76
+innodb_encrypted_3/t_77
+innodb_encrypted_3/t_78
+innodb_encrypted_3/t_79
+innodb_encrypted_3/t_8
+innodb_encrypted_3/t_80
+innodb_encrypted_3/t_81
+innodb_encrypted_3/t_82
+innodb_encrypted_3/t_83
+innodb_encrypted_3/t_84
+innodb_encrypted_3/t_85
+innodb_encrypted_3/t_86
+innodb_encrypted_3/t_87
+innodb_encrypted_3/t_88
+innodb_encrypted_3/t_89
+innodb_encrypted_3/t_9
+innodb_encrypted_3/t_90
+innodb_encrypted_3/t_91
+innodb_encrypted_3/t_92
+innodb_encrypted_3/t_93
+innodb_encrypted_3/t_94
+innodb_encrypted_3/t_95
+innodb_encrypted_3/t_96
+innodb_encrypted_3/t_97
+innodb_encrypted_3/t_98
+innodb_encrypted_3/t_99
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+# Success!
+# Restart mysqld --innodb_encrypt_tables=0 --innodb_encryption_threads=0
+# Restart Success!
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+use test;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+use innodb_encrypted_1;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+use innodb_encrypted_2;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+use innodb_encrypted_3;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+use innodb_encrypted_1;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 3
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 103
+use innodb_encrypted_2;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 103
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 203
+use innodb_encrypted_3;
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 203
+show status like 'innodb_pages0_read%';
+Variable_name Value
+Innodb_pages0_read 303
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_3/t_1
+innodb_encrypted_3/t_10
+innodb_encrypted_3/t_100
+innodb_encrypted_3/t_11
+innodb_encrypted_3/t_12
+innodb_encrypted_3/t_13
+innodb_encrypted_3/t_14
+innodb_encrypted_3/t_15
+innodb_encrypted_3/t_16
+innodb_encrypted_3/t_17
+innodb_encrypted_3/t_18
+innodb_encrypted_3/t_19
+innodb_encrypted_3/t_2
+innodb_encrypted_3/t_20
+innodb_encrypted_3/t_21
+innodb_encrypted_3/t_22
+innodb_encrypted_3/t_23
+innodb_encrypted_3/t_24
+innodb_encrypted_3/t_25
+innodb_encrypted_3/t_26
+innodb_encrypted_3/t_27
+innodb_encrypted_3/t_28
+innodb_encrypted_3/t_29
+innodb_encrypted_3/t_3
+innodb_encrypted_3/t_30
+innodb_encrypted_3/t_31
+innodb_encrypted_3/t_32
+innodb_encrypted_3/t_33
+innodb_encrypted_3/t_34
+innodb_encrypted_3/t_35
+innodb_encrypted_3/t_36
+innodb_encrypted_3/t_37
+innodb_encrypted_3/t_38
+innodb_encrypted_3/t_39
+innodb_encrypted_3/t_4
+innodb_encrypted_3/t_40
+innodb_encrypted_3/t_41
+innodb_encrypted_3/t_42
+innodb_encrypted_3/t_43
+innodb_encrypted_3/t_44
+innodb_encrypted_3/t_45
+innodb_encrypted_3/t_46
+innodb_encrypted_3/t_47
+innodb_encrypted_3/t_48
+innodb_encrypted_3/t_49
+innodb_encrypted_3/t_5
+innodb_encrypted_3/t_50
+innodb_encrypted_3/t_51
+innodb_encrypted_3/t_52
+innodb_encrypted_3/t_53
+innodb_encrypted_3/t_54
+innodb_encrypted_3/t_55
+innodb_encrypted_3/t_56
+innodb_encrypted_3/t_57
+innodb_encrypted_3/t_58
+innodb_encrypted_3/t_59
+innodb_encrypted_3/t_6
+innodb_encrypted_3/t_60
+innodb_encrypted_3/t_61
+innodb_encrypted_3/t_62
+innodb_encrypted_3/t_63
+innodb_encrypted_3/t_64
+innodb_encrypted_3/t_65
+innodb_encrypted_3/t_66
+innodb_encrypted_3/t_67
+innodb_encrypted_3/t_68
+innodb_encrypted_3/t_69
+innodb_encrypted_3/t_7
+innodb_encrypted_3/t_70
+innodb_encrypted_3/t_71
+innodb_encrypted_3/t_72
+innodb_encrypted_3/t_73
+innodb_encrypted_3/t_74
+innodb_encrypted_3/t_75
+innodb_encrypted_3/t_76
+innodb_encrypted_3/t_77
+innodb_encrypted_3/t_78
+innodb_encrypted_3/t_79
+innodb_encrypted_3/t_8
+innodb_encrypted_3/t_80
+innodb_encrypted_3/t_81
+innodb_encrypted_3/t_82
+innodb_encrypted_3/t_83
+innodb_encrypted_3/t_84
+innodb_encrypted_3/t_85
+innodb_encrypted_3/t_86
+innodb_encrypted_3/t_87
+innodb_encrypted_3/t_88
+innodb_encrypted_3/t_89
+innodb_encrypted_3/t_9
+innodb_encrypted_3/t_90
+innodb_encrypted_3/t_91
+innodb_encrypted_3/t_92
+innodb_encrypted_3/t_93
+innodb_encrypted_3/t_94
+innodb_encrypted_3/t_95
+innodb_encrypted_3/t_96
+innodb_encrypted_3/t_97
+innodb_encrypted_3/t_98
+innodb_encrypted_3/t_99
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_2/t_1
+innodb_encrypted_2/t_10
+innodb_encrypted_2/t_100
+innodb_encrypted_2/t_11
+innodb_encrypted_2/t_12
+innodb_encrypted_2/t_13
+innodb_encrypted_2/t_14
+innodb_encrypted_2/t_15
+innodb_encrypted_2/t_16
+innodb_encrypted_2/t_17
+innodb_encrypted_2/t_18
+innodb_encrypted_2/t_19
+innodb_encrypted_2/t_2
+innodb_encrypted_2/t_20
+innodb_encrypted_2/t_21
+innodb_encrypted_2/t_22
+innodb_encrypted_2/t_23
+innodb_encrypted_2/t_24
+innodb_encrypted_2/t_25
+innodb_encrypted_2/t_26
+innodb_encrypted_2/t_27
+innodb_encrypted_2/t_28
+innodb_encrypted_2/t_29
+innodb_encrypted_2/t_3
+innodb_encrypted_2/t_30
+innodb_encrypted_2/t_31
+innodb_encrypted_2/t_32
+innodb_encrypted_2/t_33
+innodb_encrypted_2/t_34
+innodb_encrypted_2/t_35
+innodb_encrypted_2/t_36
+innodb_encrypted_2/t_37
+innodb_encrypted_2/t_38
+innodb_encrypted_2/t_39
+innodb_encrypted_2/t_4
+innodb_encrypted_2/t_40
+innodb_encrypted_2/t_41
+innodb_encrypted_2/t_42
+innodb_encrypted_2/t_43
+innodb_encrypted_2/t_44
+innodb_encrypted_2/t_45
+innodb_encrypted_2/t_46
+innodb_encrypted_2/t_47
+innodb_encrypted_2/t_48
+innodb_encrypted_2/t_49
+innodb_encrypted_2/t_5
+innodb_encrypted_2/t_50
+innodb_encrypted_2/t_51
+innodb_encrypted_2/t_52
+innodb_encrypted_2/t_53
+innodb_encrypted_2/t_54
+innodb_encrypted_2/t_55
+innodb_encrypted_2/t_56
+innodb_encrypted_2/t_57
+innodb_encrypted_2/t_58
+innodb_encrypted_2/t_59
+innodb_encrypted_2/t_6
+innodb_encrypted_2/t_60
+innodb_encrypted_2/t_61
+innodb_encrypted_2/t_62
+innodb_encrypted_2/t_63
+innodb_encrypted_2/t_64
+innodb_encrypted_2/t_65
+innodb_encrypted_2/t_66
+innodb_encrypted_2/t_67
+innodb_encrypted_2/t_68
+innodb_encrypted_2/t_69
+innodb_encrypted_2/t_7
+innodb_encrypted_2/t_70
+innodb_encrypted_2/t_71
+innodb_encrypted_2/t_72
+innodb_encrypted_2/t_73
+innodb_encrypted_2/t_74
+innodb_encrypted_2/t_75
+innodb_encrypted_2/t_76
+innodb_encrypted_2/t_77
+innodb_encrypted_2/t_78
+innodb_encrypted_2/t_79
+innodb_encrypted_2/t_8
+innodb_encrypted_2/t_80
+innodb_encrypted_2/t_81
+innodb_encrypted_2/t_82
+innodb_encrypted_2/t_83
+innodb_encrypted_2/t_84
+innodb_encrypted_2/t_85
+innodb_encrypted_2/t_86
+innodb_encrypted_2/t_87
+innodb_encrypted_2/t_88
+innodb_encrypted_2/t_89
+innodb_encrypted_2/t_9
+innodb_encrypted_2/t_90
+innodb_encrypted_2/t_91
+innodb_encrypted_2/t_92
+innodb_encrypted_2/t_93
+innodb_encrypted_2/t_94
+innodb_encrypted_2/t_95
+innodb_encrypted_2/t_96
+innodb_encrypted_2/t_97
+innodb_encrypted_2/t_98
+innodb_encrypted_2/t_99
+SET GLOBAL innodb_encrypt_tables = off;
+SET GLOBAL innodb_encryption_threads=4;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_2/t_1
+innodb_encrypted_2/t_10
+innodb_encrypted_2/t_100
+innodb_encrypted_2/t_11
+innodb_encrypted_2/t_12
+innodb_encrypted_2/t_13
+innodb_encrypted_2/t_14
+innodb_encrypted_2/t_15
+innodb_encrypted_2/t_16
+innodb_encrypted_2/t_17
+innodb_encrypted_2/t_18
+innodb_encrypted_2/t_19
+innodb_encrypted_2/t_2
+innodb_encrypted_2/t_20
+innodb_encrypted_2/t_21
+innodb_encrypted_2/t_22
+innodb_encrypted_2/t_23
+innodb_encrypted_2/t_24
+innodb_encrypted_2/t_25
+innodb_encrypted_2/t_26
+innodb_encrypted_2/t_27
+innodb_encrypted_2/t_28
+innodb_encrypted_2/t_29
+innodb_encrypted_2/t_3
+innodb_encrypted_2/t_30
+innodb_encrypted_2/t_31
+innodb_encrypted_2/t_32
+innodb_encrypted_2/t_33
+innodb_encrypted_2/t_34
+innodb_encrypted_2/t_35
+innodb_encrypted_2/t_36
+innodb_encrypted_2/t_37
+innodb_encrypted_2/t_38
+innodb_encrypted_2/t_39
+innodb_encrypted_2/t_4
+innodb_encrypted_2/t_40
+innodb_encrypted_2/t_41
+innodb_encrypted_2/t_42
+innodb_encrypted_2/t_43
+innodb_encrypted_2/t_44
+innodb_encrypted_2/t_45
+innodb_encrypted_2/t_46
+innodb_encrypted_2/t_47
+innodb_encrypted_2/t_48
+innodb_encrypted_2/t_49
+innodb_encrypted_2/t_5
+innodb_encrypted_2/t_50
+innodb_encrypted_2/t_51
+innodb_encrypted_2/t_52
+innodb_encrypted_2/t_53
+innodb_encrypted_2/t_54
+innodb_encrypted_2/t_55
+innodb_encrypted_2/t_56
+innodb_encrypted_2/t_57
+innodb_encrypted_2/t_58
+innodb_encrypted_2/t_59
+innodb_encrypted_2/t_6
+innodb_encrypted_2/t_60
+innodb_encrypted_2/t_61
+innodb_encrypted_2/t_62
+innodb_encrypted_2/t_63
+innodb_encrypted_2/t_64
+innodb_encrypted_2/t_65
+innodb_encrypted_2/t_66
+innodb_encrypted_2/t_67
+innodb_encrypted_2/t_68
+innodb_encrypted_2/t_69
+innodb_encrypted_2/t_7
+innodb_encrypted_2/t_70
+innodb_encrypted_2/t_71
+innodb_encrypted_2/t_72
+innodb_encrypted_2/t_73
+innodb_encrypted_2/t_74
+innodb_encrypted_2/t_75
+innodb_encrypted_2/t_76
+innodb_encrypted_2/t_77
+innodb_encrypted_2/t_78
+innodb_encrypted_2/t_79
+innodb_encrypted_2/t_8
+innodb_encrypted_2/t_80
+innodb_encrypted_2/t_81
+innodb_encrypted_2/t_82
+innodb_encrypted_2/t_83
+innodb_encrypted_2/t_84
+innodb_encrypted_2/t_85
+innodb_encrypted_2/t_86
+innodb_encrypted_2/t_87
+innodb_encrypted_2/t_88
+innodb_encrypted_2/t_89
+innodb_encrypted_2/t_9
+innodb_encrypted_2/t_90
+innodb_encrypted_2/t_91
+innodb_encrypted_2/t_92
+innodb_encrypted_2/t_93
+innodb_encrypted_2/t_94
+innodb_encrypted_2/t_95
+innodb_encrypted_2/t_96
+innodb_encrypted_2/t_97
+innodb_encrypted_2/t_98
+innodb_encrypted_2/t_99
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+NAME
+innodb_encrypted_3/t_1
+innodb_encrypted_3/t_10
+innodb_encrypted_3/t_100
+innodb_encrypted_3/t_11
+innodb_encrypted_3/t_12
+innodb_encrypted_3/t_13
+innodb_encrypted_3/t_14
+innodb_encrypted_3/t_15
+innodb_encrypted_3/t_16
+innodb_encrypted_3/t_17
+innodb_encrypted_3/t_18
+innodb_encrypted_3/t_19
+innodb_encrypted_3/t_2
+innodb_encrypted_3/t_20
+innodb_encrypted_3/t_21
+innodb_encrypted_3/t_22
+innodb_encrypted_3/t_23
+innodb_encrypted_3/t_24
+innodb_encrypted_3/t_25
+innodb_encrypted_3/t_26
+innodb_encrypted_3/t_27
+innodb_encrypted_3/t_28
+innodb_encrypted_3/t_29
+innodb_encrypted_3/t_3
+innodb_encrypted_3/t_30
+innodb_encrypted_3/t_31
+innodb_encrypted_3/t_32
+innodb_encrypted_3/t_33
+innodb_encrypted_3/t_34
+innodb_encrypted_3/t_35
+innodb_encrypted_3/t_36
+innodb_encrypted_3/t_37
+innodb_encrypted_3/t_38
+innodb_encrypted_3/t_39
+innodb_encrypted_3/t_4
+innodb_encrypted_3/t_40
+innodb_encrypted_3/t_41
+innodb_encrypted_3/t_42
+innodb_encrypted_3/t_43
+innodb_encrypted_3/t_44
+innodb_encrypted_3/t_45
+innodb_encrypted_3/t_46
+innodb_encrypted_3/t_47
+innodb_encrypted_3/t_48
+innodb_encrypted_3/t_49
+innodb_encrypted_3/t_5
+innodb_encrypted_3/t_50
+innodb_encrypted_3/t_51
+innodb_encrypted_3/t_52
+innodb_encrypted_3/t_53
+innodb_encrypted_3/t_54
+innodb_encrypted_3/t_55
+innodb_encrypted_3/t_56
+innodb_encrypted_3/t_57
+innodb_encrypted_3/t_58
+innodb_encrypted_3/t_59
+innodb_encrypted_3/t_6
+innodb_encrypted_3/t_60
+innodb_encrypted_3/t_61
+innodb_encrypted_3/t_62
+innodb_encrypted_3/t_63
+innodb_encrypted_3/t_64
+innodb_encrypted_3/t_65
+innodb_encrypted_3/t_66
+innodb_encrypted_3/t_67
+innodb_encrypted_3/t_68
+innodb_encrypted_3/t_69
+innodb_encrypted_3/t_7
+innodb_encrypted_3/t_70
+innodb_encrypted_3/t_71
+innodb_encrypted_3/t_72
+innodb_encrypted_3/t_73
+innodb_encrypted_3/t_74
+innodb_encrypted_3/t_75
+innodb_encrypted_3/t_76
+innodb_encrypted_3/t_77
+innodb_encrypted_3/t_78
+innodb_encrypted_3/t_79
+innodb_encrypted_3/t_8
+innodb_encrypted_3/t_80
+innodb_encrypted_3/t_81
+innodb_encrypted_3/t_82
+innodb_encrypted_3/t_83
+innodb_encrypted_3/t_84
+innodb_encrypted_3/t_85
+innodb_encrypted_3/t_86
+innodb_encrypted_3/t_87
+innodb_encrypted_3/t_88
+innodb_encrypted_3/t_89
+innodb_encrypted_3/t_9
+innodb_encrypted_3/t_90
+innodb_encrypted_3/t_91
+innodb_encrypted_3/t_92
+innodb_encrypted_3/t_93
+innodb_encrypted_3/t_94
+innodb_encrypted_3/t_95
+innodb_encrypted_3/t_96
+innodb_encrypted_3/t_97
+innodb_encrypted_3/t_98
+innodb_encrypted_3/t_99
+use test;
+drop database innodb_encrypted_1;
+drop database innodb_encrypted_2;
+drop database innodb_encrypted_3;
diff --git a/mysql-test/suite/encryption/r/innodb_onlinealter_encryption.result b/mysql-test/suite/encryption/r/innodb_onlinealter_encryption.result
new file mode 100644
index 00000000000..2494514ad7a
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_onlinealter_encryption.result
@@ -0,0 +1,141 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t2 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB;
+CREATE TABLE t3 (id INT, a VARCHAR(255)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t4 (id INT, a VARCHAR(255)) engine=InnoDB;
+CREATE TABLE t5 (id INT NOT NULL PRIMARY KEY, a TEXT(500), b VARCHAR(255), FULLTEXT(b)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t6 (id INT, a TEXT(500), b VARCHAR(255), FULLTEXT(b)) ENGINE=InnoDB;
+CREATE TABLE t7 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB row_format=compressed encrypted=yes;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into t1 values (current_num,repeat('foobar',12));
+insert into t2 values (current_num,repeat('tempsecret', 12));
+insert into t3 values (current_num,repeat('barfoo',42));
+insert into t4 values (current_num,repeat('repeat',42));
+insert into t5 values (current_num,substring('A BC DEF GHIJ KLM NOPQRS TUV WXYZ 012 3456789', rand()*36+1, 100), repeat('author new',22));
+insert into t6 values (current_num,substring('A BC DEF GHIJ KLM NOPQRS TUV WXYZ 012 3456789', rand()*36+1, 100), repeat('mangled old',22));
+insert into t7 values (current_num,repeat('mysql',42));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+set autocommit=0;
+call innodb_insert_proc(1500);
+commit;
+set autocommit=1;
+# Wait max 10 min for key encryption threads to encrypt all spaces
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobar/ in t1.ibd
+# t2 ... on expecting NOT FOUND
+NOT FOUND /tempsecret/ in t2.ibd
+# t3 ... on expecting NOT FOUND
+NOT FOUND /barfoo/ in t3.ibd
+# t4 ... on expecting NOT FOUND
+NOT FOUND /repeat/ in t4.ibd
+# t5 ... on expecting NOT FOUND
+NOT FOUND /author/ in t5.ibd
+# t6 ... on expecting NOT FOUND
+NOT FOUND /mangled/ in t6.ibd
+# t7 ... on expecting NOT FOUND
+NOT FOUND /mysql/ in t7.ibd
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+ALTER TABLE t1 ADD COLUMN b int default 2;
+ALTER TABLE t2 ADD COLUMN b int default 2;
+ALTER TABLE t7 ADD COLUMN b int default 2;
+ALTER TABLE t1 ADD KEY a(a), ADD KEY b(b);
+ALTER TABLE t2 ADD KEY a(a), ADD KEY b(b);
+ALTER TABLE t3 ADD COLUMN c int default 5;
+ALTER TABLE t4 ADD COLUMN c int default 5;
+ALTER TABLE t3 ADD KEY (a), ADD KEY c(c);
+ALTER TABLE t4 ADD KEY (a), ADD KEY c(c);
+ALTER TABLE t5 ADD FULLTEXT(a);
+ALTER TABLE t6 ADD FULLTEXT(a);
+ALTER TABLE t7 ADD KEY a(a), ADD key b(b);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `a` varchar(255) DEFAULT NULL,
+ `b` int(11) DEFAULT '2',
+ PRIMARY KEY (`id`),
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `id` int(11) NOT NULL,
+ `a` varchar(255) DEFAULT NULL,
+ `b` int(11) DEFAULT '2',
+ PRIMARY KEY (`id`),
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `id` int(11) DEFAULT NULL,
+ `a` varchar(255) DEFAULT NULL,
+ `c` int(11) DEFAULT '5',
+ KEY `a` (`a`),
+ KEY `c` (`c`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
+SHOW CREATE TABLE t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `id` int(11) DEFAULT NULL,
+ `a` varchar(255) DEFAULT NULL,
+ `c` int(11) DEFAULT '5',
+ KEY `a` (`a`),
+ KEY `c` (`c`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t5;
+Table Create Table
+t5 CREATE TABLE `t5` (
+ `id` int(11) NOT NULL,
+ `a` text,
+ `b` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ FULLTEXT KEY `b` (`b`),
+ FULLTEXT KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes
+SHOW CREATE TABLE t6;
+Table Create Table
+t6 CREATE TABLE `t6` (
+ `id` int(11) DEFAULT NULL,
+ `a` text,
+ `b` varchar(255) DEFAULT NULL,
+ FULLTEXT KEY `b` (`b`),
+ FULLTEXT KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t7;
+Table Create Table
+t7 CREATE TABLE `t7` (
+ `id` int(11) NOT NULL,
+ `a` varchar(255) DEFAULT NULL,
+ `b` int(11) DEFAULT '2',
+ PRIMARY KEY (`id`),
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED `encrypted`=yes
+# t1 yes on expecting NOT FOUND
+NOT FOUND /foobar/ in t1.ibd
+# t2 ... on expecting NOT FOUND
+NOT FOUND /tempsecret/ in t2.ibd
+# t3 ... on expecting NOT FOUND
+NOT FOUND /barfoo/ in t3.ibd
+# t4 ... on expecting NOT FOUND
+NOT FOUND /repeat/ in t4.ibd
+# t5 ... on expecting NOT FOUND
+NOT FOUND /author/ in t5.ibd
+# t6 ... on expecting NOT FOUND
+NOT FOUND /mangled/ in t6.ibd
+# t7 ... on expecting NOT FOUND
+NOT FOUND /mysql/ in t7.ibd
+DROP PROCEDURE innodb_insert_proc;
+DROP TABLE t1, t2, t3, t4, t5, t6, t7;
diff --git a/mysql-test/suite/encryption/r/innodb_page_encryption_key_change.result b/mysql-test/suite/encryption/r/innodb_page_encryption_key_change.result
new file mode 100644
index 00000000000..43fb7368654
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_page_encryption_key_change.result
@@ -0,0 +1,153 @@
+# Restart mysqld --loose-file-key-management-filename=keys2.txt
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+show warnings;
+Level Code Message
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=2;
+show warnings;
+Level Code Message
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=3;
+show warnings;
+Level Code Message
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=4;
+show warnings;
+Level Code Message
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=5;
+show warnings;
+Level Code Message
+insert into innodb_normal values (1,'test1'),(2,'foo'),(3,'bar'),(4,'mariadb');
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+alter table innodb_compact engine=innodb encryption_key_id = 6;
+alter table innodb_compressed engine=innodb encryption_key_id = 6;
+alter table innodb_dynamic engine=innodb encryption_key_id = 6;
+alter table innodb_redundant engine=innodb encryption_key_id = 6;
+select * from innodb_normal;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_compact;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_compressed;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_dynamic;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_redundant;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+# Restart mysqld --loose-file-key-management-filename=keys3.txt
+select * from innodb_normal;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_compact;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_compressed;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_dynamic;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_redundant;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+alter table innodb_compact engine=innodb encryption_key_id = 2;
+alter table innodb_compressed engine=innodb encryption_key_id = 3;
+alter table innodb_dynamic engine=innodb encryption_key_id = 4;
+alter table innodb_redundant engine=innodb encryption_key_id = 5;
+select * from innodb_normal;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_compact;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_compressed;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_dynamic;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+select * from innodb_redundant;
+c1 b
+1 test1
+2 foo
+3 bar
+4 mariadb
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+variable_value >= 0
+1
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+variable_value >= 0
+1
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_compressed;
+drop table innodb_dynamic;
+drop table innodb_redundant;
diff --git a/mysql-test/suite/encryption/r/innodb_scrub.result b/mysql-test/suite/encryption/r/innodb_scrub.result
new file mode 100644
index 00000000000..6e8febc762d
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_scrub.result
@@ -0,0 +1,138 @@
+create table snapshot_status engine = myisam
+select * from information_schema.global_status
+where variable_name like 'innodb_scrub%';
+# MDEV-8139 Fix scrubbing tests
+# FIXME: Add index(b) to each table; ensure that undo logs are scrubbed.
+create table delete_3 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=compressed;
+delete from delete_3;
+create table delete_rollback_delete_3 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=compressed;
+begin;
+delete from delete_rollback_delete_3;
+rollback;
+delete from delete_rollback_delete_3;
+create table insert_rollback_3 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=compressed;
+begin;
+rollback;
+create table delete_2 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=compact;
+delete from delete_2;
+create table delete_rollback_delete_2 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=compact;
+begin;
+delete from delete_rollback_delete_2;
+rollback;
+delete from delete_rollback_delete_2;
+create table insert_rollback_2 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=compact;
+begin;
+rollback;
+create table delete_1 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=redundant;
+delete from delete_1;
+create table delete_rollback_delete_1 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=redundant;
+begin;
+delete from delete_rollback_delete_1;
+rollback;
+delete from delete_rollback_delete_1;
+create table insert_rollback_1 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=redundant;
+begin;
+rollback;
+create table delete_0 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=dynamic;
+delete from delete_0;
+create table delete_rollback_delete_0 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=dynamic;
+begin;
+delete from delete_rollback_delete_0;
+rollback;
+delete from delete_rollback_delete_0;
+create table insert_rollback_0 (
+a int auto_increment primary key,
+b varchar(256),
+c text) engine = innodb row_format=dynamic;
+begin;
+rollback;
+SET GLOBAL innodb_fast_shutdown=0;
+# delete_3.ibd
+# delete_rollback_delete_3.ibd
+# insert_rollback_3.ibd
+# delete_2.ibd
+# delete_rollback_delete_2.ibd
+# insert_rollback_2.ibd
+# delete_1.ibd
+# delete_rollback_delete_1.ibd
+# insert_rollback_1.ibd
+# delete_0.ibd
+# delete_rollback_delete_0.ibd
+# insert_rollback_0.ibd
+check table delete_3, delete_rollback_delete_3, insert_rollback_3;
+Table Op Msg_type Msg_text
+test.delete_3 check status OK
+test.delete_rollback_delete_3 check status OK
+test.insert_rollback_3 check status OK
+drop table delete_3, delete_rollback_delete_3, insert_rollback_3;
+check table delete_2, delete_rollback_delete_2, insert_rollback_2;
+Table Op Msg_type Msg_text
+test.delete_2 check status OK
+test.delete_rollback_delete_2 check status OK
+test.insert_rollback_2 check status OK
+drop table delete_2, delete_rollback_delete_2, insert_rollback_2;
+check table delete_1, delete_rollback_delete_1, insert_rollback_1;
+Table Op Msg_type Msg_text
+test.delete_1 check status OK
+test.delete_rollback_delete_1 check status OK
+test.insert_rollback_1 check status OK
+drop table delete_1, delete_rollback_delete_1, insert_rollback_1;
+check table delete_0, delete_rollback_delete_0, insert_rollback_0;
+Table Op Msg_type Msg_text
+test.delete_0 check status OK
+test.delete_rollback_delete_0 check status OK
+test.insert_rollback_0 check status OK
+drop table delete_0, delete_rollback_delete_0, insert_rollback_0;
+show variables like 'innodb_%scrub_data%';
+Variable_name Value
+innodb_background_scrub_data_check_interval 3600
+innodb_background_scrub_data_compressed OFF
+innodb_background_scrub_data_interval 604800
+innodb_background_scrub_data_uncompressed OFF
+innodb_immediate_scrub_data_uncompressed ON
+# verify that this test have not caused any background scrubbing
+select ss.variable_name, gs.variable_value - ss.variable_value as variable_value
+from snapshot_status ss,
+information_schema.global_status gs
+where ss.variable_name = gs.variable_name;
+variable_name variable_value
+INNODB_SCRUB_BACKGROUND_PAGE_REORGANIZATIONS 0
+INNODB_SCRUB_BACKGROUND_PAGE_SPLITS 0
+INNODB_SCRUB_BACKGROUND_PAGE_SPLIT_FAILURES_MISSING_INDEX 0
+INNODB_SCRUB_BACKGROUND_PAGE_SPLIT_FAILURES_OUT_OF_FILESPACE 0
+INNODB_SCRUB_BACKGROUND_PAGE_SPLIT_FAILURES_UNDERFLOW 0
+INNODB_SCRUB_BACKGROUND_PAGE_SPLIT_FAILURES_UNKNOWN 0
+drop table snapshot_status;
diff --git a/mysql-test/suite/encryption/r/innodb_scrub_background.result b/mysql-test/suite/encryption/r/innodb_scrub_background.result
new file mode 100644
index 00000000000..6a2f263d0a1
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_scrub_background.result
@@ -0,0 +1,160 @@
+#
+# immediate scrubbing is off
+# background scrubbing is on
+#
+show variables like 'innodb_%scrub_data%';
+Variable_name Value
+innodb_background_scrub_data_check_interval 3600
+innodb_background_scrub_data_compressed ON
+innodb_background_scrub_data_interval 604800
+innodb_background_scrub_data_uncompressed ON
+innodb_immediate_scrub_data_uncompressed OFF
+# make sure spaces are checked quickly
+SET GLOBAL innodb_background_scrub_data_check_interval=1;
+create table delete_3 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=compressed;
+# Populate table with rows
+delete from delete_3;
+create table delete_rollback_delete_3 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=compressed;
+# Populate table with rows
+begin;
+delete from delete_rollback_delete_3;
+rollback;
+delete from delete_rollback_delete_3;
+create table insert_rollback_3 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=compressed;
+# Populate table with rows
+begin;
+rollback;
+create table delete_2 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=compact;
+# Populate table with rows
+delete from delete_2;
+create table delete_rollback_delete_2 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=compact;
+# Populate table with rows
+begin;
+delete from delete_rollback_delete_2;
+rollback;
+delete from delete_rollback_delete_2;
+create table insert_rollback_2 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=compact;
+# Populate table with rows
+begin;
+rollback;
+create table delete_1 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=redundant;
+# Populate table with rows
+delete from delete_1;
+create table delete_rollback_delete_1 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=redundant;
+# Populate table with rows
+begin;
+delete from delete_rollback_delete_1;
+rollback;
+delete from delete_rollback_delete_1;
+create table insert_rollback_1 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=redundant;
+# Populate table with rows
+begin;
+rollback;
+create table delete_0 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=dynamic;
+# Populate table with rows
+delete from delete_0;
+create table delete_rollback_delete_0 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=dynamic;
+# Populate table with rows
+begin;
+delete from delete_rollback_delete_0;
+rollback;
+delete from delete_rollback_delete_0;
+create table insert_rollback_0 (
+a int auto_increment primary key,
+b varchar(256),
+c text,
+index(b)) engine = innodb row_format=dynamic;
+# Populate table with rows
+begin;
+rollback;
+# start scrubbing threads
+SET GLOBAL innodb_encryption_threads=5;
+# Wait max 10 min for scrubbing
+SET GLOBAL innodb_fast_shutdown=0;
+# delete_3.ibd
+# delete_rollback_delete_3.ibd
+# insert_rollback_3.ibd
+# delete_2.ibd
+# delete_rollback_delete_2.ibd
+# insert_rollback_2.ibd
+# delete_1.ibd
+# delete_rollback_delete_1.ibd
+# insert_rollback_1.ibd
+# delete_0.ibd
+# delete_rollback_delete_0.ibd
+# insert_rollback_0.ibd
+check table delete_3, delete_rollback_delete_3, insert_rollback_3;
+Table Op Msg_type Msg_text
+test.delete_3 check status OK
+test.delete_rollback_delete_3 check status OK
+test.insert_rollback_3 check status OK
+drop table delete_3, delete_rollback_delete_3, insert_rollback_3;
+check table delete_2, delete_rollback_delete_2, insert_rollback_2;
+Table Op Msg_type Msg_text
+test.delete_2 check status OK
+test.delete_rollback_delete_2 check status OK
+test.insert_rollback_2 check status OK
+drop table delete_2, delete_rollback_delete_2, insert_rollback_2;
+check table delete_1, delete_rollback_delete_1, insert_rollback_1;
+Table Op Msg_type Msg_text
+test.delete_1 check status OK
+test.delete_rollback_delete_1 check status OK
+test.insert_rollback_1 check status OK
+drop table delete_1, delete_rollback_delete_1, insert_rollback_1;
+check table delete_0, delete_rollback_delete_0, insert_rollback_0;
+Table Op Msg_type Msg_text
+test.delete_0 check status OK
+test.delete_rollback_delete_0 check status OK
+test.insert_rollback_0 check status OK
+drop table delete_0, delete_rollback_delete_0, insert_rollback_0;
+show variables like 'innodb_%scrub_data%';
+Variable_name Value
+innodb_background_scrub_data_check_interval 3600
+innodb_background_scrub_data_compressed ON
+innodb_background_scrub_data_interval 604800
+innodb_background_scrub_data_uncompressed ON
+innodb_immediate_scrub_data_uncompressed OFF
diff --git a/mysql-test/suite/encryption/r/second_plugin-12863.result b/mysql-test/suite/encryption/r/second_plugin-12863.result
new file mode 100644
index 00000000000..8775b1b8fb3
--- /dev/null
+++ b/mysql-test/suite/encryption/r/second_plugin-12863.result
@@ -0,0 +1,7 @@
+call mtr.add_suppression('debug.key.management');
+install soname 'debug_key_management';
+ERROR HY000: Can't initialize function 'debug_key_management'; Plugin initialization function failed.
+create table t1 (a varchar(255)) engine=innodb encrypted=yes;
+create table t2 (a varchar(255)) engine=innodb;
+create table t3 (a varchar(255)) engine=innodb encrypted=no;
+drop table t1, t2, t3;
diff --git a/mysql-test/suite/encryption/r/tempfiles.result b/mysql-test/suite/encryption/r/tempfiles.result
new file mode 100644
index 00000000000..658b7dc291b
--- /dev/null
+++ b/mysql-test/suite/encryption/r/tempfiles.result
@@ -0,0 +1,103 @@
+select @@encrypt_tmp_files;
+@@encrypt_tmp_files
+1
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES(1),(2);
+DELETE FROM t1 WHERE a=1;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10)));
+insert into t1 (v) select concat(char(ascii('a')+s2.seq),repeat(' ',s1.seq))
+from seq_0_to_9 as s1, seq_0_to_26 as s2;
+update t1 set c=v, t=v;
+select sql_big_result t,count(t) from t1 group by t limit 10;
+t count(t)
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+j 10
+drop table t1;
+reset master;
+set global binlog_cache_size=8192;
+create table t1 (a text) engine=innodb;
+start transaction;
+insert t1 select repeat(seq, 1000) from seq_1_to_15;
+commit;
+start transaction;
+insert t1 select repeat(seq, 1000) from seq_1_to_8;
+commit;
+create table t2 (a text) engine=innodb;
+start transaction;
+insert t2 select repeat(seq, 1000) from seq_1_to_15;
+savepoint foo;
+insert t2 select repeat(seq, 1000) from seq_16_to_30;
+rollback to savepoint foo;
+insert t2 select repeat(seq, 1000) from seq_31_to_40;
+commit;
+flush binary logs;
+drop table t1, t2;
+set global binlog_cache_size=default;
+select left(a, 10) from t1;
+left(a, 10)
+1111111111
+2222222222
+3333333333
+4444444444
+5555555555
+6666666666
+7777777777
+8888888888
+9999999999
+1010101010
+1111111111
+1212121212
+1313131313
+1414141414
+1515151515
+1111111111
+2222222222
+3333333333
+4444444444
+5555555555
+6666666666
+7777777777
+8888888888
+select left(a, 10) from t2;
+left(a, 10)
+1111111111
+2222222222
+3333333333
+4444444444
+5555555555
+6666666666
+7777777777
+8888888888
+9999999999
+1010101010
+1111111111
+1212121212
+1313131313
+1414141414
+1515151515
+3131313131
+3232323232
+3333333333
+3434343434
+3535353535
+3636363636
+3737373737
+3838383838
+3939393939
+4040404040
+drop table t1, t2;
diff --git a/mysql-test/suite/encryption/suite.pm b/mysql-test/suite/encryption/suite.pm
new file mode 100644
index 00000000000..bfd7ec71649
--- /dev/null
+++ b/mysql-test/suite/encryption/suite.pm
@@ -0,0 +1,16 @@
+package My::Suite::Encryption;
+
+@ISA = qw(My::Suite);
+
+sub skip_combinations {
+ my @combinations;
+
+ $skip{'include/have_file_key_management_plugin.combinations'} = [ 'ctr' ]
+ unless $::mysqld_variables{'version-ssl-library'} =~ /OpenSSL (\S+)/
+ and $1 ge "1.0.1";
+
+ %skip;
+}
+
+bless { };
+
diff --git a/mysql-test/suite/encryption/t/aria_tiny.test b/mysql-test/suite/encryption/t/aria_tiny.test
new file mode 100644
index 00000000000..cad63ed16f1
--- /dev/null
+++ b/mysql-test/suite/encryption/t/aria_tiny.test
@@ -0,0 +1,12 @@
+#
+# MDEV-8022 Assertion `rc == 0' failed in ma_encrypt on dropping an encrypted Aria table
+#
+
+--source include/have_file_key_management_plugin.inc
+
+set global aria_encrypt_tables = 1;
+create table t1 (i int, key(i)) engine=aria;
+insert into t1 values (1);
+drop table t1;
+set global aria_encrypt_tables = 0;
+
diff --git a/mysql-test/suite/encryption/t/create_or_replace.opt b/mysql-test/suite/encryption/t/create_or_replace.opt
new file mode 100644
index 00000000000..7d3f2da7971
--- /dev/null
+++ b/mysql-test/suite/encryption/t/create_or_replace.opt
@@ -0,0 +1 @@
+--innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/create_or_replace.test b/mysql-test/suite/encryption/t/create_or_replace.test
new file mode 100644
index 00000000000..3b2970e5162
--- /dev/null
+++ b/mysql-test/suite/encryption/t/create_or_replace.test
@@ -0,0 +1,142 @@
+--source include/have_innodb.inc
+--source include/have_file_key_management_plugin.inc
+--source include/not_embedded.inc
+# This is needed for longer testcase timeout at least P7/P8
+--source include/big_test.inc
+
+#
+# MDEV-8164: Server crashes in pfs_mutex_enter_func after fil_crypt_is_closing or alike
+#
+SET default_storage_engine = InnoDB;
+
+CREATE TABLE t1 (pk INT PRIMARY KEY, c VARCHAR(256));
+CREATE TABLE t2 AS SELECT * FROM t1;
+
+--disable_abort_on_error
+--disable_warnings
+--disable_query_log
+
+let $i = 40;
+while ($i)
+{
+SET GLOBAL innodb_encrypt_tables = ON;
+SET GLOBAL innodb_encryption_threads = 1;
+CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
+CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
+SET GLOBAL innodb_encryption_rotation_iops = 100;
+SET GLOBAL innodb_encrypt_tables = OFF;
+CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
+CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
+dec $i;
+}
+
+--enable_abort_on_error
+--enable_warnings
+--enable_query_log
+
+drop table t1,t2;
+SET GLOBAL innodb_encryption_threads = 0;
+
+#
+# MDEV-8173: InnoDB; Failing assertion: crypt_data->type == 1
+#
+
+SET GLOBAL innodb_encryption_threads = 4;
+
+CREATE TABLE `table10_int_autoinc` (`col_int_key` int, pk int auto_increment, `col_int` int, key (`col_int_key` ),primary key (pk)) engine=innodb;
+INSERT /*! IGNORE */ INTO table10_int_autoinc VALUES (NULL, NULL, -474021888) , (1, NULL, NULL) , (1141047296, NULL, NULL) , (NULL, NULL, NULL) , (NULL, NULL, 1) , (NULL, NULL, 9) , (0, NULL, 1225785344) , (NULL, NULL, 1574174720) , (2, NULL, NULL) , (6, NULL, 3);
+
+CREATE TABLE `table1_int_autoinc` (`col_int_key` int, pk int auto_increment, `col_int` int,key (`col_int_key` ), primary key (pk)) engine=innodb;
+
+CREATE TABLE `table0_int_autoinc` (`col_int_key` int, pk int auto_increment, `col_int` int, key (`col_int_key` ),primary key (pk)) engine=innodb;
+
+INSERT /*! IGNORE */ INTO table1_int_autoinc VALUES (4, NULL, NULL);
+INSERT IGNORE INTO `table0_int_autoinc` ( `col_int_key` ) VALUES ( 1 ), ( 3 ), ( 4 ), ( 1 );
+INSERT IGNORE INTO `table1_int_autoinc` ( `col_int` ) VALUES ( 1 ), ( 0 ), ( 7 ), ( 9 );
+INSERT IGNORE INTO `table10_int_autoinc` ( `col_int` ) VALUES ( 6 ), ( 2 ), ( 3 ), ( 6 );
+
+--connect (con1,localhost,root,,test)
+--connect (con2,localhost,root,,test)
+
+--disable_abort_on_error
+--disable_warnings
+--disable_query_log
+
+let $i = 500;
+while ($i)
+{
+connection con1;
+send SET GLOBAL innodb_encrypt_tables = ON;
+connection default;
+CREATE OR REPLACE TABLE `create_or_replace_t` AS SELECT * FROM `table1_int_autoinc`;
+connection con2;
+send CREATE OR REPLACE TABLE `create_or_replace_t` AS SELECT * FROM `table10_int_autoinc`;
+connection default;
+send CREATE OR REPLACE TABLE `create_or_replace_t` AS SELECT * FROM `table0_int_autoinc`;
+connection con1;
+--reap;
+send SET GLOBAL innodb_encrypt_tables = OFF;
+connection con2;
+--reap;
+connection default;
+--reap;
+send CREATE OR REPLACE TABLE `create_or_replace_t` AS SELECT * FROM `table1_int_autoinc`;
+connection con2;
+send CREATE OR REPLACE TABLE `create_or_replace_t` AS SELECT * FROM `table10_int_autoinc`;
+connection con1;
+--reap;
+send SET GLOBAL innodb_encrypt_tables = ON;
+connection default;
+--reap;
+send CREATE OR REPLACE TABLE `create_or_replace_t` AS SELECT * FROM `table1_int_autoinc`;
+connection con2;
+--reap;
+CREATE OR REPLACE TABLE `create_or_replace_t` AS SELECT * FROM `table10_int_autoinc`;
+CREATE OR REPLACE TABLE `create_or_replace_t` AS SELECT * FROM `table0_int_autoinc`;
+connection con1;
+--reap;
+connection default;
+--reap;
+dec $i;
+}
+
+--enable_query_log
+connection default;
+drop table if exists create_or_replace_t, table1_int_autoinc, table0_int_autoinc, table10_int_autoinc;
+--disconnect con1
+--disconnect con2
+--enable_abort_on_error
+--enable_warnings
+
+SET GLOBAL innodb_encrypt_tables = OFF;
+SET GLOBAL innodb_encryption_threads = 4;
+
+--echo # Wait max 10 min for key encryption threads to decrypt all spaces
+let $cnt=600;
+while ($cnt)
+{
+ let $success=`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0`;
+ if ($success)
+ {
+ let $cnt=0;
+ }
+ if (!$success)
+ {
+ real_sleep 1;
+ dec $cnt;
+ }
+}
+if (!$success)
+{
+ SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION;
+ SHOW STATUS LIKE 'innodb_encryption%';
+ -- die Timeout waiting for encryption threads
+}
+--echo # Success!
+
+SET GLOBAL innodb_encryption_threads = 0;
+SET GLOBAL innodb_encrypt_tables = OFF;
+
+# Make sure that all dirty pages are flushed
+
+-- source include/restart_mysqld.inc
diff --git a/mysql-test/suite/encryption/t/debug_key_management.opt b/mysql-test/suite/encryption/t/debug_key_management.opt
new file mode 100644
index 00000000000..5c283bbeda2
--- /dev/null
+++ b/mysql-test/suite/encryption/t/debug_key_management.opt
@@ -0,0 +1,5 @@
+--innodb-encrypt-log=ON
+--innodb-encryption-rotate-key-age=2
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
+--plugin-load-add=$DEBUG_KEY_MANAGEMENT_SO
diff --git a/mysql-test/suite/encryption/t/debug_key_management.test b/mysql-test/suite/encryption/t/debug_key_management.test
new file mode 100644
index 00000000000..22b213c6135
--- /dev/null
+++ b/mysql-test/suite/encryption/t/debug_key_management.test
@@ -0,0 +1,26 @@
+-- source include/have_innodb.inc
+if (`select count(*) = 0 from information_schema.plugins
+ where plugin_name = 'debug_key_management' and plugin_status='active'`)
+{
+ --skip Needs debug_key_management
+}
+
+set global innodb_encrypt_tables=ON;
+show variables like 'innodb_encrypt%';
+
+--let $tables_count= `select count(*) + 1 from information_schema.tables where engine = 'InnoDB'`
+let $wait_condition= select count(*) = $tables_count from information_schema.innodb_tablespaces_encryption where current_key_version=1;
+--source include/wait_condition.inc
+
+select count(*) from information_schema.innodb_tablespaces_encryption where current_key_version <> 1;
+set global debug_key_management_version=10;
+
+let $wait_condition= select count(*) = $tables_count from information_schema.innodb_tablespaces_encryption where current_key_version=10;
+--source include/wait_condition.inc
+
+select count(*) from information_schema.innodb_tablespaces_encryption where current_key_version <> 10;
+# Note that we expect that key_version is increasing so disable encryption before reset
+
+set global innodb_encrypt_tables=OFF;
+set global debug_key_management_version=1;
+
diff --git a/mysql-test/suite/encryption/t/encrypt_and_grep.opt b/mysql-test/suite/encryption/t/encrypt_and_grep.opt
new file mode 100644
index 00000000000..c50ec719307
--- /dev/null
+++ b/mysql-test/suite/encryption/t/encrypt_and_grep.opt
@@ -0,0 +1,7 @@
+--innodb-encrypt-tables=ON
+--innodb-encrypt-log=ON
+--innodb-encryption-rotate-key-age=15
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
+
+
diff --git a/mysql-test/suite/encryption/t/encrypt_and_grep.test b/mysql-test/suite/encryption/t/encrypt_and_grep.test
new file mode 100644
index 00000000000..9395f467539
--- /dev/null
+++ b/mysql-test/suite/encryption/t/encrypt_and_grep.test
@@ -0,0 +1,127 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+
+# embedded does not support restart
+-- source include/not_embedded.inc
+
+#
+# MDEV-8138: strange results from encrypt-and-grep test
+#
+--let $MYSQLD_DATADIR=`select @@datadir`
+--let ib1_IBD = $MYSQLD_DATADIR/ibdata1
+--let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd
+--let t2_IBD = $MYSQLD_DATADIR/test/t2.ibd
+--let t3_IBD = $MYSQLD_DATADIR/test/t3.ibd
+--let SEARCH_RANGE = 10000000
+
+--disable_warnings
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_file_format = `Barracuda`;
+--enable_warnings
+
+create table t1 (a varchar(255)) engine=innodb encrypted=yes;
+create table t2 (a varchar(255)) engine=innodb;
+show warnings;
+create table t3 (a varchar(255)) engine=innodb encrypted=no;
+
+insert t1 values (repeat('foobarsecret', 22));
+insert t2 values (repeat('tempsecret', 22));
+insert t3 values (repeat('dummysecret', 22));
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+--source include/shutdown_mysqld.inc
+
+--let SEARCH_PATTERN=foobarsecret
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=tempsecret
+--echo # t2 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=dummysecret
+--echo # t3 no on expecting FOUND
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=foobarsecret
+--echo # ibdata1 expecting NOT FOUND
+-- let SEARCH_FILE=$ib1_IBD
+-- source include/search_pattern_in_file.inc
+
+-- source include/start_mysqld.inc
+
+--echo # Now turn off encryption and wait for threads to decrypt everything
+
+SET GLOBAL innodb_encrypt_tables = off;
+
+--echo # Wait max 10 min for key encryption threads to decrypt all spaces
+--let $wait_timeout= 600
+--let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
+--let $wait_condition=SELECT COUNT(*) = $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND CURRENT_KEY_VERSION = 0;
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+--source include/shutdown_mysqld.inc
+
+--let SEARCH_PATTERN=foobarsecret
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=tempsecret
+--echo # t2 ... default expecting FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=dummysecret
+--echo # t3 no on expecting FOUND
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=foobarsecret
+--echo # ibdata1 expecting NOT FOUND
+-- let SEARCH_FILE=$ib1_IBD
+-- source include/search_pattern_in_file.inc
+
+
+-- source include/start_mysqld.inc
+
+--echo # Now turn on encryption and wait for threads to encrypt all spaces
+SET GLOBAL innodb_encrypt_tables = on;
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+--source include/shutdown_mysqld.inc
+
+--let SEARCH_PATTERN=foobarsecret
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=tempsecret
+--echo # t2 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=dummysecret
+--echo # t3 no on expecting FOUND
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=foobarsecret
+--echo # ibdata1 expecting NOT FOUND
+-- let SEARCH_FILE=$ib1_IBD
+-- source include/search_pattern_in_file.inc
+
+-- source include/start_mysqld.inc
+
+drop table t1, t2, t3;
diff --git a/mysql-test/suite/encryption/t/encryption_force.opt b/mysql-test/suite/encryption/t/encryption_force.opt
new file mode 100644
index 00000000000..c9e532878e1
--- /dev/null
+++ b/mysql-test/suite/encryption/t/encryption_force.opt
@@ -0,0 +1,2 @@
+--innodb-encrypt-tables=FORCE
+--innodb-encrypt-log=ON
diff --git a/mysql-test/suite/encryption/t/encryption_force.test b/mysql-test/suite/encryption/t/encryption_force.test
new file mode 100644
index 00000000000..3c6f039184b
--- /dev/null
+++ b/mysql-test/suite/encryption/t/encryption_force.test
@@ -0,0 +1,39 @@
+-- source include/have_innodb.inc
+-- source include/have_partition.inc
+-- source include/have_example_key_management_plugin.inc
+
+select @@innodb_encrypt_tables;
+
+create table t1 (a int) engine=innodb encrypted=yes;
+create table t2 (a int) engine=innodb encrypted=default;
+--error ER_CANT_CREATE_TABLE
+create table t3 (a int) engine=innodb encrypted=no;
+
+create table t4 (a int) engine=innodb encrypted=yes partition by hash(a) partitions 2;
+--error ER_CANT_CREATE_TABLE
+create table t5 (a int) engine=innodb encrypted=no partition by hash(a) partitions 2;
+
+set global innodb_encrypt_tables='ON';
+create table t3 (a int) engine=innodb encrypted=no;
+set global innodb_encrypt_tables='FORCE';
+
+show create table t1;
+show create table t2;
+show create table t3;
+show create table t4;
+
+--error ER_ILLEGAL_HA_CREATE_OPTION
+alter table t1 encrypted=no;
+alter table t2 encrypted=yes;
+alter table t3 encrypted=default;
+--error ER_ILLEGAL_HA_CREATE_OPTION
+alter table t4 encrypted=no;
+
+show create table t1;
+show create table t2;
+show create table t3;
+
+drop table t1;
+drop table t2;
+drop table t3;
+drop table t4;
diff --git a/mysql-test/suite/encryption/t/filekeys-data.enc b/mysql-test/suite/encryption/t/filekeys-data.enc
new file mode 100644
index 00000000000..a8adb2f939c
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys-data.enc
Binary files differ
diff --git a/mysql-test/suite/encryption/t/filekeys-data.key b/mysql-test/suite/encryption/t/filekeys-data.key
new file mode 100644
index 00000000000..85fcd1fbb81
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys-data.key
@@ -0,0 +1,2 @@
+secret
+
diff --git a/mysql-test/suite/encryption/t/filekeys-tooshort.enc b/mysql-test/suite/encryption/t/filekeys-tooshort.enc
new file mode 100644
index 00000000000..9849236c7f4
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys-tooshort.enc
@@ -0,0 +1 @@
+Salted__ \ No newline at end of file
diff --git a/mysql-test/suite/encryption/t/filekeys_badtest.inc b/mysql-test/suite/encryption/t/filekeys_badtest.inc
new file mode 100644
index 00000000000..7c0858af20a
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_badtest.inc
@@ -0,0 +1,18 @@
+-- source include/not_embedded.inc
+-- source include/have_xtradb.inc
+-- source filekeys_plugin.inc
+
+--eval call mtr.add_suppression("$SEARCH_PATTERN")
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+
+--let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let SEARCH_RANGE= -10000
+--source include/search_pattern_in_file.inc
+
+--error ER_CANT_CREATE_TABLE
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+
+select plugin_status from information_schema.plugins
+ where plugin_name = 'file_key_management';
+
diff --git a/mysql-test/suite/encryption/t/filekeys_emptyfile.opt b/mysql-test/suite/encryption/t/filekeys_emptyfile.opt
new file mode 100644
index 00000000000..7c5f6d05dde
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_emptyfile.opt
@@ -0,0 +1 @@
+--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/empty_file
diff --git a/mysql-test/suite/encryption/t/filekeys_emptyfile.test b/mysql-test/suite/encryption/t/filekeys_emptyfile.test
new file mode 100644
index 00000000000..39f2ccf260a
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_emptyfile.test
@@ -0,0 +1,4 @@
+let SEARCH_PATTERN=System key id 1 is missing at;
+source filekeys_badtest.inc;
+
+--echo # Test checks if opening an empty filekeys does not crash the server.
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile.opt b/mysql-test/suite/encryption/t/filekeys_encfile.opt
new file mode 100644
index 00000000000..651cc0f4cbe
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile.opt
@@ -0,0 +1,2 @@
+--loose-file-key-management-filekey=secret
+--loose-file-key-management-filename=$MTR_SUITE_DIR/t/filekeys-data.enc
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile.test b/mysql-test/suite/encryption/t/filekeys_encfile.test
new file mode 100644
index 00000000000..a0611a38ec4
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile.test
@@ -0,0 +1 @@
+source filekeys_goodtest.inc;
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile_bad.opt b/mysql-test/suite/encryption/t/filekeys_encfile_bad.opt
new file mode 100644
index 00000000000..6ece8c6b08d
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile_bad.opt
@@ -0,0 +1,2 @@
+--loose-file-key-management-filekey=bad
+--loose-file-key-management-filename=$MTR_SUITE_DIR/t/filekeys-data.enc
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile_bad.test b/mysql-test/suite/encryption/t/filekeys_encfile_bad.test
new file mode 100644
index 00000000000..51ab14c5608
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile_bad.test
@@ -0,0 +1,2 @@
+let SEARCH_PATTERN=Cannot decrypt .*filekeys-data.enc. Wrong key;
+source filekeys_badtest.inc;
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile_badfile.opt b/mysql-test/suite/encryption/t/filekeys_encfile_badfile.opt
new file mode 100644
index 00000000000..374a41395b8
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile_badfile.opt
@@ -0,0 +1,2 @@
+--loose-file-key-management-filekey=FILE:bad
+--loose-file-key-management-filename=$MTR_SUITE_DIR/t/filekeys-data.enc
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile_badfile.test b/mysql-test/suite/encryption/t/filekeys_encfile_badfile.test
new file mode 100644
index 00000000000..e0b07ac62b1
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile_badfile.test
@@ -0,0 +1,2 @@
+let SEARCH_PATTERN=File 'bad' not found;
+source filekeys_badtest.inc;
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile_file.opt b/mysql-test/suite/encryption/t/filekeys_encfile_file.opt
new file mode 100644
index 00000000000..df2d3d526d7
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile_file.opt
@@ -0,0 +1,2 @@
+--loose-file-key-management-filekey=FILE:$MTR_SUITE_DIR/t/filekeys-data.key
+--loose-file-key-management-filename=$MTR_SUITE_DIR/t/filekeys-data.enc
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile_file.test b/mysql-test/suite/encryption/t/filekeys_encfile_file.test
new file mode 100644
index 00000000000..a0611a38ec4
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile_file.test
@@ -0,0 +1 @@
+source filekeys_goodtest.inc;
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile_no.opt b/mysql-test/suite/encryption/t/filekeys_encfile_no.opt
new file mode 100644
index 00000000000..68264e5c261
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile_no.opt
@@ -0,0 +1 @@
+--loose-file-key-management-filename=$MTR_SUITE_DIR/t/filekeys-data.enc
diff --git a/mysql-test/suite/encryption/t/filekeys_encfile_no.test b/mysql-test/suite/encryption/t/filekeys_encfile_no.test
new file mode 100644
index 00000000000..51ab14c5608
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_encfile_no.test
@@ -0,0 +1,2 @@
+let SEARCH_PATTERN=Cannot decrypt .*filekeys-data.enc. Wrong key;
+source filekeys_badtest.inc;
diff --git a/mysql-test/suite/encryption/t/filekeys_goodtest.inc b/mysql-test/suite/encryption/t/filekeys_goodtest.inc
new file mode 100644
index 00000000000..5317eeb3d12
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_goodtest.inc
@@ -0,0 +1,18 @@
+-- source include/have_xtradb.inc
+-- source filekeys_plugin.inc
+
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+show create table t1;
+insert t1 values (12345, repeat('1234567890', 20));
+
+alter table t1 encryption_key_id=2;
+show create table t1;
+--error ER_ILLEGAL_HA_CREATE_OPTION
+alter table t1 encryption_key_id=3;
+show create table t1;
+alter table t1 encryption_key_id=33;
+show create table t1;
+alter table t1 encryption_key_id=4;
+show create table t1;
+
+drop table t1;
diff --git a/mysql-test/suite/encryption/t/filekeys_nofile.test b/mysql-test/suite/encryption/t/filekeys_nofile.test
new file mode 100644
index 00000000000..46f5cd462d7
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_nofile.test
@@ -0,0 +1,2 @@
+let SEARCH_PATTERN=file-key-management-filename is not set;
+source filekeys_badtest.inc;
diff --git a/mysql-test/suite/encryption/t/filekeys_plugin.inc b/mysql-test/suite/encryption/t/filekeys_plugin.inc
new file mode 100644
index 00000000000..a9bde3b06e6
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_plugin.inc
@@ -0,0 +1,4 @@
+if (!$FILE_KEY_MANAGEMENT_SO)
+{
+ --skip Needs dynamic file_key_management plugin
+}
diff --git a/mysql-test/suite/encryption/t/filekeys_plugin.opt b/mysql-test/suite/encryption/t/filekeys_plugin.opt
new file mode 100644
index 00000000000..b42e6266e66
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_plugin.opt
@@ -0,0 +1 @@
+--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
diff --git a/mysql-test/suite/encryption/t/filekeys_plugin_exists.inc b/mysql-test/suite/encryption/t/filekeys_plugin_exists.inc
new file mode 100644
index 00000000000..a9bde3b06e6
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_plugin_exists.inc
@@ -0,0 +1,4 @@
+if (!$FILE_KEY_MANAGEMENT_SO)
+{
+ --skip Needs dynamic file_key_management plugin
+}
diff --git a/mysql-test/suite/encryption/t/filekeys_syntax.opt b/mysql-test/suite/encryption/t/filekeys_syntax.opt
new file mode 100644
index 00000000000..4be6601bbac
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_syntax.opt
@@ -0,0 +1 @@
+--loose-file-key-management-filename=$MYSQL_TMP_DIR/keys.txt
diff --git a/mysql-test/suite/encryption/t/filekeys_syntax.test b/mysql-test/suite/encryption/t/filekeys_syntax.test
new file mode 100644
index 00000000000..61db6ad716e
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_syntax.test
@@ -0,0 +1,109 @@
+#
+# first test - missing key file
+#
+let SEARCH_PATTERN=File '.*keys.txt' not found;
+source filekeys_badtest.inc;
+
+#
+# key id= 0
+#
+write_file $MYSQL_TMP_DIR/keys.txt;
+1;11111111111111111111111111111111
+0;00000000000000000000000000000000
+2;22222222222222222222222222222222
+EOF
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+--error 2
+install soname 'file_key_management';
+source filekeys_badtest.inc;
+let SEARCH_PATTERN=Invalid key id;
+source filekeys_badtest.inc;
+
+#
+# id too big
+#
+remove_file $MYSQL_TMP_DIR/keys.txt;
+write_file $MYSQL_TMP_DIR/keys.txt;
+1;11111111111111111111111111111111
+4294967299;00000000000000000000000000000000
+2;22222222222222222222222222222222
+EOF
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+--error 2
+install soname 'file_key_management';
+source filekeys_badtest.inc;
+let SEARCH_PATTERN=Invalid key id;
+source filekeys_badtest.inc;
+#
+# wrong key length (not 16, 24, 23 bytes)
+#
+remove_file $MYSQL_TMP_DIR/keys.txt;
+write_file $MYSQL_TMP_DIR/keys.txt;
+1;11111111111111111111111111111111
+3;00000000000000000000000000000000111122223333
+2;22222222222222222222222222222222
+EOF
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+--error 2
+install soname 'file_key_management';
+source filekeys_badtest.inc;
+let SEARCH_PATTERN=Invalid key;
+source filekeys_badtest.inc;
+#
+# wrong key length (not an even number of digits)
+#
+remove_file $MYSQL_TMP_DIR/keys.txt;
+write_file $MYSQL_TMP_DIR/keys.txt;
+1;11111111111111111111111111111111
+3;0000000000000000000000000000000
+2;22222222222222222222222222222222
+EOF
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+--error 2
+install soname 'file_key_management';
+source filekeys_badtest.inc;
+let SEARCH_PATTERN=Invalid key;
+source filekeys_badtest.inc;
+#
+# no semicolon
+#
+remove_file $MYSQL_TMP_DIR/keys.txt;
+write_file $MYSQL_TMP_DIR/keys.txt;
+1;11111111111111111111111111111111
+3:0000000000000000000000000000000
+2;22222222222222222222222222222222
+EOF
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+--error 2
+install soname 'file_key_management';
+source filekeys_badtest.inc;
+let SEARCH_PATTERN=Syntax error;
+source filekeys_badtest.inc;
+#
+# another syntax error
+#
+remove_file $MYSQL_TMP_DIR/keys.txt;
+write_file $MYSQL_TMP_DIR/keys.txt;
+1;11111111111111111111111111111111
+syntax error
+2;22222222222222222222222222222222
+EOF
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+--error 2
+install soname 'file_key_management';
+source filekeys_badtest.inc;
+let SEARCH_PATTERN=Syntax error;
+source filekeys_badtest.inc;
+#
+# no key id 1
+#
+remove_file $MYSQL_TMP_DIR/keys.txt;
+write_file $MYSQL_TMP_DIR/keys.txt;
+3;22222222222222222222222222222222
+EOF
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+--error 2
+install soname 'file_key_management';
+source filekeys_badtest.inc;
+let SEARCH_PATTERN=System key id 1;
+source filekeys_badtest.inc;
diff --git a/mysql-test/suite/encryption/t/filekeys_tooshort.opt b/mysql-test/suite/encryption/t/filekeys_tooshort.opt
new file mode 100644
index 00000000000..8999becc78d
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_tooshort.opt
@@ -0,0 +1,3 @@
+--loose-file-key-management-filekey=secret
+--loose-file-key-management-filename=$MTR_SUITE_DIR/t/filekeys-tooshort.enc
+
diff --git a/mysql-test/suite/encryption/t/filekeys_tooshort.test b/mysql-test/suite/encryption/t/filekeys_tooshort.test
new file mode 100644
index 00000000000..b0e89675100
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_tooshort.test
@@ -0,0 +1,4 @@
+let SEARCH_PATTERN=Cannot decrypt .*tooshort.enc. Not encrypted;
+source filekeys_badtest.inc;
+
+--echo # Test checks if opening an too short filekeys does not crash the server.
diff --git a/mysql-test/suite/encryption/t/filekeys_unencfile.opt b/mysql-test/suite/encryption/t/filekeys_unencfile.opt
new file mode 100644
index 00000000000..b7e207c07d4
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_unencfile.opt
@@ -0,0 +1,2 @@
+--loose-file-key-management-filekey=bad
+--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys.txt
diff --git a/mysql-test/suite/encryption/t/filekeys_unencfile.test b/mysql-test/suite/encryption/t/filekeys_unencfile.test
new file mode 100644
index 00000000000..2567c29f5ec
--- /dev/null
+++ b/mysql-test/suite/encryption/t/filekeys_unencfile.test
@@ -0,0 +1,2 @@
+let SEARCH_PATTERN=Cannot decrypt .*keys.txt. Not encrypted;
+source filekeys_badtest.inc;
diff --git a/mysql-test/suite/encryption/t/innochecksum.test b/mysql-test/suite/encryption/t/innochecksum.test
new file mode 100644
index 00000000000..f1c1b65d418
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innochecksum.test
@@ -0,0 +1,285 @@
+#
+# MDEV-8773: InnoDB innochecksum does not work with encrypted or page compressed tables
+#
+
+# Don't test under embedded as we restart server
+-- source include/not_embedded.inc
+# Require InnoDB
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+-- source include/innodb_page_size_small.inc
+
+if (!$INNOCHECKSUM) {
+ --echo Need innochecksum binary
+ --die Need innochecksum binary
+}
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+# zlib
+set global innodb_compression_algorithm = 1;
+--enable_warnings
+
+--echo # Create and populate a tables
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED ENCRYPTED=NO;
+CREATE TABLE t4 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB PAGE_COMPRESSED=1;
+CREATE TABLE t5 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB PAGE_COMPRESSED=1 ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+CREATE TABLE t6 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
+
+--disable_query_log
+--let $i = 1000
+begin;
+while ($i)
+{
+ INSERT INTO t1 (b) VALUES (REPEAT('abcdefghijklmnopqrstuvwxyz', 100));
+ dec $i;
+}
+INSERT INTO t2 SELECT * FROM t1;
+INSERT INTO t3 SELECT * FROM t1;
+INSERT INTO t4 SELECT * FROM t1;
+INSERT INTO t5 SELECT * FROM t1;
+INSERT INTO t6 SELECT * FROM t1;
+commit;
+--enable_query_log
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
+let t2_IBD = $MYSQLD_DATADIR/test/t2.ibd;
+let t3_IBD = $MYSQLD_DATADIR/test/t3.ibd;
+let t4_IBD = $MYSQLD_DATADIR/test/t4.ibd;
+let t5_IBD = $MYSQLD_DATADIR/test/t5.ibd;
+let t6_IBD = $MYSQLD_DATADIR/test/t6.ibd;
+
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+let MYSQLD_DATADIR=`select @@datadir`;
+
+--echo # Write file to make mysql-test-run.pl expect the "crash", but don't
+--echo # start it until it's told to
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+--echo # We give 30 seconds to do a clean shutdown because we do not want
+--echo # to redo apply the pages of t1.ibd at the time of recovery.
+--echo # We want SQL to initiate the first access to t1.ibd.
+shutdown_server 30;
+
+--echo # Wait until disconnected.
+--source include/wait_until_disconnected.inc
+
+--echo # Run innochecksum on t1
+-- disable_result_log
+--exec $INNOCHECKSUM $t1_IBD
+
+--echo # Run innochecksum on t2
+
+--exec $INNOCHECKSUM $t2_IBD
+
+--echo # Run innochecksum on t3
+
+--exec $INNOCHECKSUM $t3_IBD
+
+--echo # Run innochecksum on t4
+
+--exec $INNOCHECKSUM $t4_IBD
+
+--echo # Run innochecksum on t4
+
+--exec $INNOCHECKSUM $t4_IBD
+
+--echo # Run innochecksum on t5
+
+--exec $INNOCHECKSUM $t5_IBD
+
+--echo # Run innochecksum on t6
+
+--exec $INNOCHECKSUM $t6_IBD
+
+--enable_result_log
+
+--echo # Backup tables before corrupting
+--copy_file $MYSQLD_DATADIR/test/t1.ibd $MYSQLD_DATADIR/test/t1.ibd.backup
+--copy_file $MYSQLD_DATADIR/test/t2.ibd $MYSQLD_DATADIR/test/t2.ibd.backup
+--copy_file $MYSQLD_DATADIR/test/t3.ibd $MYSQLD_DATADIR/test/t3.ibd.backup
+--copy_file $MYSQLD_DATADIR/test/t4.ibd $MYSQLD_DATADIR/test/t4.ibd.backup
+--copy_file $MYSQLD_DATADIR/test/t5.ibd $MYSQLD_DATADIR/test/t5.ibd.backup
+--copy_file $MYSQLD_DATADIR/test/t6.ibd $MYSQLD_DATADIR/test/t6.ibd.backup
+
+#
+# MDEV-11939: innochecksum mistakes a file for an encrypted one
+#
+
+--echo # Corrupt FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION
+
+perl;
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t1.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 26, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t2.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 26, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t3.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 26, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t6.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 26, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+EOF
+
+-- disable_result_log
+--error 1
+--exec $INNOCHECKSUM $t1_IBD
+
+--echo # Run innochecksum on t2
+
+--error 1
+--exec $INNOCHECKSUM $t2_IBD
+
+--echo # Run innochecksum on t3
+--echo # no encryption corrupting the field should not have effect
+--exec $INNOCHECKSUM $t3_IBD
+
+--echo # Run innochecksum on t6
+--echo # no encryption corrupting the field should not have effect
+--exec $INNOCHECKSUM $t6_IBD
+
+--enable_result_log
+
+--echo # Restore the original tables
+--remove_file $MYSQLD_DATADIR/test/t1.ibd
+--remove_file $MYSQLD_DATADIR/test/t2.ibd
+--remove_file $MYSQLD_DATADIR/test/t3.ibd
+--remove_file $MYSQLD_DATADIR/test/t4.ibd
+--remove_file $MYSQLD_DATADIR/test/t5.ibd
+--remove_file $MYSQLD_DATADIR/test/t6.ibd
+--copy_file $MYSQLD_DATADIR/test/t1.ibd.backup $MYSQLD_DATADIR/test/t1.ibd
+--copy_file $MYSQLD_DATADIR/test/t2.ibd.backup $MYSQLD_DATADIR/test/t2.ibd
+--copy_file $MYSQLD_DATADIR/test/t3.ibd.backup $MYSQLD_DATADIR/test/t3.ibd
+--copy_file $MYSQLD_DATADIR/test/t4.ibd.backup $MYSQLD_DATADIR/test/t4.ibd
+--copy_file $MYSQLD_DATADIR/test/t5.ibd.backup $MYSQLD_DATADIR/test/t5.ibd
+--copy_file $MYSQLD_DATADIR/test/t6.ibd.backup $MYSQLD_DATADIR/test/t6.ibd
+
+--echo # Corrupt FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION+4 (post encryption checksum)
+
+perl;
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t1.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 30, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t2.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 30, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t3.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 30, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t6.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 30, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+EOF
+
+-- disable_result_log
+--error 1
+--exec $INNOCHECKSUM $t1_IBD
+
+--echo # Run innochecksum on t2
+--error 1
+--exec $INNOCHECKSUM $t2_IBD
+
+--echo # Run innochecksum on t3
+--error 1
+--exec $INNOCHECKSUM $t3_IBD
+
+--echo # Run innochecksum on t6
+--echo # no encryption corrupting the field should not have effect
+--exec $INNOCHECKSUM $t6_IBD
+
+--enable_result_log
+
+--echo # Restore the original tables
+--remove_file $MYSQLD_DATADIR/test/t1.ibd
+--remove_file $MYSQLD_DATADIR/test/t2.ibd
+--remove_file $MYSQLD_DATADIR/test/t3.ibd
+--remove_file $MYSQLD_DATADIR/test/t4.ibd
+--remove_file $MYSQLD_DATADIR/test/t5.ibd
+--remove_file $MYSQLD_DATADIR/test/t6.ibd
+--copy_file $MYSQLD_DATADIR/test/t1.ibd.backup $MYSQLD_DATADIR/test/t1.ibd
+--copy_file $MYSQLD_DATADIR/test/t2.ibd.backup $MYSQLD_DATADIR/test/t2.ibd
+--copy_file $MYSQLD_DATADIR/test/t3.ibd.backup $MYSQLD_DATADIR/test/t3.ibd
+--copy_file $MYSQLD_DATADIR/test/t4.ibd.backup $MYSQLD_DATADIR/test/t4.ibd
+--copy_file $MYSQLD_DATADIR/test/t5.ibd.backup $MYSQLD_DATADIR/test/t5.ibd
+--copy_file $MYSQLD_DATADIR/test/t6.ibd.backup $MYSQLD_DATADIR/test/t6.ibd
+
+--echo # Corrupt FIL_DATA+10 (data)
+
+perl;
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t1.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 48, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t2.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 48, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t3.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 48, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t6.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 48, SEEK_SET) or die "seek";
+print FILE pack("H*", "c00lcafedeadb017");
+close FILE or die "close";
+EOF
+
+-- disable_result_log
+--error 1
+--exec $INNOCHECKSUM $t1_IBD
+
+--echo # Run innochecksum on t2
+--error 1
+--exec $INNOCHECKSUM $t2_IBD
+
+--echo # Run innochecksum on t3
+--error 1
+--exec $INNOCHECKSUM $t3_IBD
+
+--echo # Run innochecksum on t6
+--error 1
+--exec $INNOCHECKSUM $t6_IBD
+
+--enable_result_log
+
+--echo # Restore the original tables
+--move_file $MYSQLD_DATADIR/test/t1.ibd.backup $MYSQLD_DATADIR/test/t1.ibd
+--move_file $MYSQLD_DATADIR/test/t2.ibd.backup $MYSQLD_DATADIR/test/t2.ibd
+--move_file $MYSQLD_DATADIR/test/t3.ibd.backup $MYSQLD_DATADIR/test/t3.ibd
+--move_file $MYSQLD_DATADIR/test/t4.ibd.backup $MYSQLD_DATADIR/test/t4.ibd
+--move_file $MYSQLD_DATADIR/test/t5.ibd.backup $MYSQLD_DATADIR/test/t5.ibd
+--move_file $MYSQLD_DATADIR/test/t6.ibd.backup $MYSQLD_DATADIR/test/t6.ibd
+
+--echo # Write file to make mysql-test-run.pl start up the server again
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--echo # Cleanup
+DROP TABLE t1, t2, t3, t4, t5, t6;
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change.test b/mysql-test/suite/encryption/t/innodb-bad-key-change.test
new file mode 100644
index 00000000000..46a6d2fa27f
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change.test
@@ -0,0 +1,115 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+# embedded does not support restart
+-- source include/not_embedded.inc
+
+#
+# MDEV-8588: Assertion failure in file ha_innodb.cc line 21140 if at least one encrypted
+# table exists and encryption service is not available.
+#
+
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
+call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[0-9]+\\] in file '.*test.t[12]\\.ibd' cannot be decrypted\\.");
+call mtr.add_suppression("InnoDB: Encrypted page [1-9][0-9]*:3 in file .*test.t1.ibd looks corrupted; key_version=1");
+call mtr.add_suppression("mysqld: File .*keysbad3.txt' not found ");
+
+
+--echo
+--echo # Start server with keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+CREATE TABLE t1 (c VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=2;
+INSERT INTO t1 VALUES ('foobar');
+ALTER TABLE t1 ADD COLUMN c2 INT;
+INSERT INTO t1 VALUES ('foobar',2);
+SELECT * FROM t1;
+TRUNCATE TABLE t1;
+SELECT * FROM t1;
+INSERT INTO t1 VALUES ('foobar',1);
+INSERT INTO t1 VALUES ('foobar',2);
+FLUSH TABLE WITH READ LOCK;
+SELECT * FROM t1;
+
+--echo
+--echo # Restart server with keysbad3.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keysbad3.txt
+-- source include/restart_mysqld.inc
+
+--disable_warnings
+--error ER_GET_ERRMSG
+SELECT * FROM t1;
+--enable_warnings
+
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keysbad3.txt
+-- source include/restart_mysqld.inc
+
+--disable_warnings
+--replace_regex /tablespace [0-9]*/tablespace /
+DROP TABLE t1;
+--enable_warnings
+
+#
+# MDEV-8591: Database page corruption on disk or a failed space, Assertion failure in file buf0buf.cc
+# line 2856 on querying a table using wrong default encryption key
+#
+
+--echo # Start server with keys3.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
+-- source include/restart_mysqld.inc
+
+SET GLOBAL innodb_default_encryption_key_id=5;
+CREATE TABLE t2 (c VARCHAR(8), id int not null primary key, b int, key(b)) ENGINE=InnoDB ENCRYPTED=YES;
+INSERT INTO t2 VALUES ('foobar',1,2);
+
+--echo
+--echo # Restart server with keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+--disable_warnings
+--error ER_GET_ERRMSG
+SELECT * FROM t2;
+
+--error ER_GET_ERRMSG
+SELECT * FROM t2 where id = 1;
+
+--error ER_GET_ERRMSG
+SELECT * FROM t2 where b = 1;
+
+--replace_regex /tablespace [0-9]*/tablespace /
+--error ER_GET_ERRMSG
+INSERT INTO t2 VALUES ('tmp',3,3);
+
+--error ER_GET_ERRMSG
+DELETE FROM t2 where b = 3;
+
+--error ER_GET_ERRMSG
+DELETE FROM t2 where id = 3;
+
+--error ER_GET_ERRMSG
+UPDATE t2 set b = b +1;
+
+OPTIMIZE TABLE t2;
+
+--error ER_GET_ERRMSG
+ALTER TABLE t2 ADD COLUMN d INT;
+
+ANALYZE TABLE t2;
+
+--error ER_GET_ERRMSG
+TRUNCATE TABLE t2;
+
+DROP TABLE t2;
+--enable_warnings
+
+--echo
+--echo # Start server with keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change2.test b/mysql-test/suite/encryption/t/innodb-bad-key-change2.test
new file mode 100644
index 00000000000..0c312f1f449
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change2.test
@@ -0,0 +1,102 @@
+--source include/have_innodb.inc
+# embedded does not support restart
+-- source include/not_embedded.inc
+-- source filekeys_plugin_exists.inc
+#
+# MDEV-8750: Server crashes in page_cur_is_after_last on altering table using a wrong encryption key
+# MDEV-8769: Server crash at file btr0btr.ic line 122 when defragmenting encrypted table using incorrect keys
+# MDEV-8768: Server crash at file btr0btr.ic line 122 when checking encrypted table using incorrect keys
+# MDEV-8727: Server/InnoDB hangs on shutdown after trying to read an encrypted table with a wrong key
+#
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[0-9]+\\] in file '.*test.t1(new)?\\.ibd' cannot be decrypted\\.");
+# Suppression for builds where file_key_management plugin is linked statically
+call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
+call mtr.add_suppression("InnoDB: Table \'\"test\".\"t1\"\' tablespace is set as discarded.");
+
+--let $restart_parameters=--plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+--source include/restart_mysqld.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+CREATE TABLE t1 (pk INT PRIMARY KEY, f VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
+
+--let $restart_parameters=--plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
+--source include/restart_mysqld.inc
+
+--error ER_GET_ERRMSG
+SELECT * FROM t1;
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+SHOW WARNINGS;
+--error ER_GET_ERRMSG
+ALTER TABLE t1 engine=InnoDB;
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+SHOW WARNINGS;
+
+OPTIMIZE TABLE t1;
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+SHOW WARNINGS;
+
+CHECK TABLE t1;
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+SHOW WARNINGS;
+
+--let $restart_parameters=--plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+--source include/restart_mysqld.inc
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+let MYSQLD_TMPDIR = `SELECT @@tmpdir`;
+
+FLUSH TABLES t1 FOR EXPORT;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+UNLOCK TABLES;
+
+--let $restart_parameters=--plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
+--source include/restart_mysqld.inc
+
+# Discard should pass even with incorrect keys
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+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
+
+--let $restart_parameters=--plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+--source include/restart_mysqld.inc
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+SHOW CREATE TABLE t1;
+
+--let $restart_parameters=--plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
+--source include/restart_mysqld.inc
+
+# Rename table should pass even with incorrect keys
+RENAME TABLE t1 TO t1new;
+
+# Alter table rename is not allowed with incorrect keys
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+--error ER_GET_ERRMSG
+ALTER TABLE t1new RENAME TO t2new;
+
+# Drop should pass even with incorrect keys
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+DROP TABLE t1new;
+
+#
+# Reset environment
+#
+--let $restart_parameters=
+--source include/restart_mysqld.inc
+
+
+--error ER_BAD_TABLE_ERROR
+DROP TABLE t1, 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
new file mode 100644
index 00000000000..f6204e1ddfe
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change3.test
@@ -0,0 +1,121 @@
+--source include/have_innodb.inc
+# embedded does not support restart
+-- source include/not_embedded.inc
+-- source include/not_valgrind.inc
+# Avoid CrashReporter popup on Mac
+-- source include/not_crashrep.inc
+-- source filekeys_plugin_exists.inc
+#
+# MDEV-8772: Assertion failure in file ha_innodb.cc line 20027 when importing page compressed and encrypted tablespace using incorrect keys
+#
+
+call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
+call mtr.add_suppression("InnoDB: Table .* tablespace is set as discarded.");
+call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* because the .ibd file is missing. Please refer to .* for how to resolve the issue.");
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+--let $MYSQLD_TMPDIR = `SELECT @@tmpdir`
+--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
+--shutdown_server
+--source include/wait_until_disconnected.inc
+
+--write_file $MYSQLTEST_VARDIR/keys1.txt
+1;770A8A65DA156D24EE2A093277530142
+4;770A8A65DA156D24EE2A093277530143
+EOF
+
+--exec echo "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management.so --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
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set global innodb_compression_algorithm = 1;
+--enable_warnings
+
+CREATE TABLE t1 (pk INT PRIMARY KEY, f VARCHAR(255)) ENGINE=InnoDB PAGE_COMPRESSED=1 ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+SHOW WARNINGS;
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES (1,'foobar'),(2,'barfoo');
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+FLUSH TABLE t1 FOR EXPORT;
+--echo # List before copying files
+--list_files $MYSQLD_DATADIR/test
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+UNLOCK TABLES;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--shutdown_server
+--source include/wait_until_disconnected.inc
+
+--write_file $MYSQLTEST_VARDIR/keys2.txt
+1;770A8A65DA156D24EE2A093277530142
+4;770A8A65DA156D24EE2A093277530144
+EOF
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+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.so --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
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+--error ER_GET_ERRMSG
+ALTER TABLE t1 IMPORT TABLESPACE;
+SHOW CREATE TABLE t1;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+--sleep 5
+--echo # Tablespaces should be still encrypted
+-- let SEARCH_FILE=$t1_IBD
+--let SEARCH_PATTERN=foobar
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--shutdown_server
+--source include/wait_until_disconnected.inc
+--remove_file $MYSQLTEST_VARDIR/keys1.txt
+--write_file $MYSQLTEST_VARDIR/keys1.txt
+1;770A8A65DA156D24EE2A093277530142
+4;770A8A65DA156D24EE2A093277530143
+EOF
+
+--exec echo "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management.so --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;
+
+# reset system
+--disable_warnings
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
+--enable_warnings
+
+--remove_file $MYSQLTEST_VARDIR/keys1.txt
+--remove_file $MYSQLTEST_VARDIR/keys2.txt
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change4.opt b/mysql-test/suite/encryption/t/innodb-bad-key-change4.opt
new file mode 100644
index 00000000000..6426bac41a0
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change4.opt
@@ -0,0 +1,4 @@
+--loose-innodb-buffer-pool-stats
+--loose-innodb-buffer-page
+--loose-innodb-buffer-page-lru
+--innodb-defragment=1 \ No newline at end of file
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change4.test b/mysql-test/suite/encryption/t/innodb-bad-key-change4.test
new file mode 100644
index 00000000000..0c52bfe3fe6
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change4.test
@@ -0,0 +1,43 @@
+--source include/have_innodb.inc
+# embedded does not support restart
+-- source include/not_embedded.inc
+-- source filekeys_plugin_exists.inc
+#
+# MDEV-8769: Server crash at file btr0btr.ic line 122 when defragmenting encrypted table using incorrect keys
+# MDEV-8768: Server crash at file btr0btr.ic line 122 when checking encrypted table using incorrect keys
+#
+
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[0-9]+\\] in file '.*test.t1\\.ibd' cannot be decrypted\\.");
+call mtr.add_suppression("InnoDB: Cannot open table .*");
+call mtr.add_suppression("InnoDB: .ibd file is missing for table test/.*");
+# Suppression for builds where file_key_management plugin is linked statically
+call mtr.add_suppression("Couldn't load plugins from 'file_key_management.*");
+
+--let $restart_parameters=--plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+--source include/restart_mysqld.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+CREATE TABLE t1 (pk INT PRIMARY KEY, f VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
+
+--let $restart_parameters=--plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
+--source include/restart_mysqld.inc
+
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+OPTIMIZE TABLE t1;
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+SHOW WARNINGS;
+
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+CHECK TABLE t1;
+--replace_regex /tablespace [0-9]*/tablespace / /key_id [0-9]*/key_id /
+SHOW WARNINGS;
+
+--let $restart_parameters=--plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+--source include/restart_mysqld.inc
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test b/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test
new file mode 100644
index 00000000000..b31678b7e9b
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test
@@ -0,0 +1,120 @@
+-- source include/innodb_page_size.inc
+-- source include/have_file_key_management_plugin.inc
+
+SET @saved_file_format = @@global.innodb_file_format;
+SET @saved_file_per_table = @@global.innodb_file_per_table;
+SET @saved_checksum_algorithm = @@global.innodb_checksum_algorithm;
+SET @saved_encrypt_tables = @@global.innodb_encrypt_tables;
+SET @saved_encryption_threads = @@global.innodb_encryption_threads;
+SET @saved_encryption_key_id = @@global.innodb_default_encryption_key_id;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_encrypt_tables = ON;
+SET GLOBAL innodb_encryption_threads = 4;
+
+call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_(crc32|none|innodb)\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"(innodb|none|crc32)\"");
+
+SET GLOBAL innodb_checksum_algorithm = innodb;
+SET GLOBAL innodb_default_encryption_key_id=4;
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+
+# ROW_FORMAT=COMPRESSED is unavailable with innodb_page_size=32k or 64k
+let $row_format_compressed= `select case when @@global.innodb_page_size>16384
+then 'ROW_FORMAT=DYNAMIC' else 'ROW_FORMAT=COMPRESSED' end`;
+
+let $from = 3;
+while ($from)
+{
+dec $from;
+let checksum = `select case $from
+ when 0 then 'none'
+ when 1 then 'innodb'
+ when 2 then 'crc32'
+ end`;
+eval SET GLOBAL innodb_checksum_algorithm=$checksum;
+
+eval create table tce_$checksum(a serial, b blob, index(b(10))) engine=innodb
+$row_format_compressed encrypted=yes;
+eval create table tc_$checksum(a serial, b blob, index(b(10))) engine=innodb
+$row_format_compressed encrypted=no;
+eval create table te_$checksum(a serial, b blob, index(b(10))) engine=innodb
+encrypted=yes;
+eval create table t_$checksum(a serial, b blob, index(b(10))) engine=innodb
+encrypted=no;
+eval create table tpe_$checksum(a serial, b blob, index(b(10))) engine=innodb
+page_compressed=yes encrypted=yes;
+eval create table tp_$checksum(a serial, b blob, index(b(10))) engine=innodb
+page_compressed=yes encrypted=no;
+
+begin;
+eval insert into tce_$checksum(b) values (repeat('secret',20));
+eval insert into tc_$checksum(b) values (repeat('secret',20));
+eval insert into te_$checksum(b) values (repeat('secret',20));
+eval insert into t_$checksum(b) values (repeat('secret',20));
+eval insert into tpe_$checksum(b) values (repeat('secret',20));
+eval insert into tp_$checksum(b) values (repeat('secret',20));
+commit;
+
+eval FLUSH TABLES tce_$checksum, tc_$checksum, te_$checksum,
+t_$checksum, tpe_$checksum, tp_$checksum FOR EXPORT;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+my @tables = ("tce_", "tc_", "te_", "t_", "tpe_", "tp_");
+ib_backup_tablespaces("test", map{ $_ . $ENV{checksum} } @tables);
+EOF
+--list_files $MYSQLD_DATADIR/test
+UNLOCK TABLES;
+
+let $to = 3;
+while ($to)
+{
+dec $to;
+let $tocksum = `select case $to
+ when 0 then 'none'
+ when 1 then 'innodb'
+ when 2 then 'crc32'
+ end`;
+
+eval SET GLOBAL innodb_checksum_algorithm=$tocksum;
+
+eval ALTER TABLE tce_$checksum DISCARD TABLESPACE;
+eval ALTER TABLE tc_$checksum DISCARD TABLESPACE;
+eval ALTER TABLE te_$checksum DISCARD TABLESPACE;
+eval ALTER TABLE t_$checksum DISCARD TABLESPACE;
+eval ALTER TABLE tpe_$checksum DISCARD TABLESPACE;
+eval ALTER TABLE tp_$checksum DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+my @tables = ("tce_", "tc_", "te_", "t_", "tpe_", "tp_");
+ib_restore_tablespaces("test", map{ $_ . $ENV{checksum} } @tables);
+EOF
+
+eval ALTER TABLE tce_$checksum IMPORT TABLESPACE;
+eval update tce_$checksum set b=substr(b,1);
+eval ALTER TABLE tc_$checksum IMPORT TABLESPACE;
+eval update tc_$checksum set b=substr(b,1);
+eval ALTER TABLE te_$checksum IMPORT TABLESPACE;
+eval update te_$checksum set b=substr(b,1);
+eval ALTER TABLE t_$checksum IMPORT TABLESPACE;
+eval update t_$checksum set b=substr(b,1);
+eval ALTER TABLE tpe_$checksum IMPORT TABLESPACE;
+eval update tpe_$checksum set b=substr(b,1);
+eval ALTER TABLE tp_$checksum IMPORT TABLESPACE;
+eval update tp_$checksum set b=substr(b,1);
+}
+
+eval CHECK TABLE tce_$checksum, tc_$checksum, te_$checksum,
+t_$checksum, tpe_$checksum, tp_$checksum;
+eval DROP TABLE tce_$checksum, tc_$checksum, te_$checksum,
+t_$checksum, tpe_$checksum, tp_$checksum;
+}
+
+SET GLOBAL innodb_file_format = @saved_file_format;
+SET GLOBAL innodb_file_per_table = @saved_file_per_table;
+SET GLOBAL innodb_checksum_algorithm = @saved_checksum_algorithm;
+SET GLOBAL innodb_encrypt_tables = @saved_encrypt_tables;
+SET GLOBAL innodb_encryption_threads = @saved_encryption_threads;
+SET GLOBAL innodb_default_encryption_key_id = @saved_encryption_key_id;
diff --git a/mysql-test/suite/encryption/t/innodb-compressed-blob.combinations b/mysql-test/suite/encryption/t/innodb-compressed-blob.combinations
new file mode 100644
index 00000000000..e096b023b52
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-compressed-blob.combinations
@@ -0,0 +1,12 @@
+[crc32]
+loose-innodb-tablespaces-encryption
+loose-innodb-encrypt-tables=on
+loose-innodb-encryption-threads=4
+max_allowed_packet=64K
+loose-innodb-checksum-algorithm=crc32
+[none]
+loose-innodb-tablespaces-encryption
+loose-innodb-encrypt-tables=on
+loose-innodb-encryption-threads=4
+max_allowed_packet=64K
+loose-innodb-checksum-algorithm=none
diff --git a/mysql-test/suite/encryption/t/innodb-compressed-blob.test b/mysql-test/suite/encryption/t/innodb-compressed-blob.test
new file mode 100644
index 00000000000..4a81dae5a0f
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-compressed-blob.test
@@ -0,0 +1,42 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+
+# embedded does not support restart
+-- source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[0-9]+\\] in file '..test.t[1-3]\\.ibd' cannot be decrypted\\.");
+call mtr.add_suppression("Unable to decompress space ..test.t[1-3].ibd \\[[1-9][0-9]*:[0-9]+\\]");
+
+--echo # Restart mysqld --file-key-management-filename=keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+set GLOBAL innodb_default_encryption_key_id=4;
+create table t1(a int not null primary key, b blob, index(b(10))) engine=innodb row_format=compressed;
+create table t2(a int not null primary key, b blob, index(b(10))) engine=innodb row_format=compressed encrypted=yes;
+create table t3(a int not null primary key, b blob, index(b(10))) engine=innodb row_format=compressed encrypted=no;
+
+insert into t1 values (1, repeat('secret',6000));
+insert into t2 values (1, repeat('secret',6000));
+insert into t3 values (1, repeat('secret',6000));
+
+--echo # Restart mysqld --file-key-management-filename=keys3.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
+-- source include/restart_mysqld.inc
+
+--error 1296
+select count(*) from t1 FORCE INDEX (b) where b like 'secret%';
+--error 1296
+select count(*) from t2 FORCE INDEX (b) where b like 'secret%';
+select count(*) from t3 FORCE INDEX (b) where b like 'secret%';
+
+--echo # Restart mysqld --file-key-management-filename=keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+drop table t1,t2,t3;
diff --git a/mysql-test/suite/encryption/t/innodb-discard-import-change.test b/mysql-test/suite/encryption/t/innodb-discard-import-change.test
new file mode 100644
index 00000000000..a278a8fba29
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-discard-import-change.test
@@ -0,0 +1,131 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+#
+# MDEV-11656: 'Data structure corruption' IMPORT TABLESPACE doesn't work for encrypted InnoDB tables if space_id changed
+#
+
+call mtr.add_suppression("InnoDB: Table .* tablespace is set as discarded");
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+let $innodb_compression_algo = `SELECT @@innodb_compression_algorithm`;
+--enable_query_log
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_compression_algorithm = 1;
+--enable_warnings
+
+create table t1(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb encrypted=yes encryption_key_id=4;
+create table t2(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb encrypted=yes encryption_key_id=1;
+create table t3(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb page_compressed=yes;
+create table t4(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb page_compressed=yes encrypted=yes encryption_key_id=4;
+create table t5(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb;
+
+insert into t1 values (NULL, 'verysecretmessage');
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t1(b) select b from t1;
+insert into t2 select * from t1;
+insert into t3 select * from t1;
+insert into t4 select * from t1;
+insert into t5 select * from t1;
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+FLUSH TABLE t1,t2,t3,t4,t5 FOR EXPORT;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1","t2","t3","t4","t5");
+EOF
+--list_files $MYSQLD_DATADIR/test
+UNLOCK TABLES;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t2 DISCARD TABLESPACE;
+ALTER TABLE t3 DISCARD TABLESPACE;
+ALTER TABLE t4 DISCARD TABLESPACE;
+ALTER TABLE t5 DISCARD TABLESPACE;
+
+#
+# Now intentionally change space_id for t1,t3,t4,t5
+#
+DROP TABLE t1;
+DROP TABLE t3;
+DROP TABLE t4;
+DROP TABLE t5;
+
+create table t6(a int) engine=innodb;
+create table t5(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb;
+create table t3(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb page_compressed=yes;
+create table t1(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb encrypted=yes encryption_key_id=4;
+create table t4(c1 bigint not null primary key auto_increment, b char(200)) engine=innodb page_compressed=yes encrypted=yes encryption_key_id=4;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t3 DISCARD TABLESPACE;
+ALTER TABLE t4 DISCARD TABLESPACE;
+ALTER TABLE t5 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1","t2","t3","t4","t5");
+ib_restore_tablespaces("test", "t1","t2","t3","t4","t5");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+SHOW CREATE TABLE t1;
+SELECT COUNT(*) FROM t1;
+ALTER TABLE t2 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM t2;
+ALTER TABLE t3 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM t3;
+ALTER TABLE t4 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM t4;
+ALTER TABLE t5 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM t5;
+
+#
+# Verify
+#
+--let $MYSQLD_TMPDIR = `SELECT @@tmpdir`
+--let $MYSQLD_DATADIR = `SELECT @@datadir`
+--let SEARCH_RANGE = 10000000
+--let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd
+--let t2_IBD = $MYSQLD_DATADIR/test/t2.ibd
+--let t3_IBD = $MYSQLD_DATADIR/test/t3.ibd
+--let t4_IBD = $MYSQLD_DATADIR/test/t4.ibd
+--let t5_IBD = $MYSQLD_DATADIR/test/t5.ibd
+--let SEARCH_PATTERN=verysecretmessage
+--echo # t1 encrypted expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t2 encrypted expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t3 page compressed expecting NOT FOUND
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t4 page compressed and encrypted expecting NOT FOUND
+-- let SEARCH_FILE=$t4_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t5 normal expecting FOUND
+-- let SEARCH_FILE=$t5_IBD
+-- source include/search_pattern_in_file.inc
+
+DROP TABLE t1,t2,t3,t4,t5,t6;
+
+# reset system
+--disable_warnings
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+EVAL SET GLOBAL innodb_compression_algorithm = $innodb_compression_algo;
+--enable_query_log
+--enable_warnings
+
diff --git a/mysql-test/suite/encryption/t/innodb-discard-import.test b/mysql-test/suite/encryption/t/innodb-discard-import.test
new file mode 100644
index 00000000000..54471ae3bae
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-discard-import.test
@@ -0,0 +1,125 @@
+-- source include/have_innodb.inc
+-- source include/innodb_page_size_small.inc
+-- source include/have_file_key_management_plugin.inc
+
+#
+# MDEV-8770: Incorrect error message when importing page compressed tablespace
+#
+
+call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
+call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* because the .ibd file is missing. Please refer to .* for how to resolve the issue.");
+
+SET @innodb_file_format_orig = @@GLOBAL.innodb_file_format;
+SET @innodb_file_per_table_orig = @@GLOBAL.innodb_file_per_table;
+SET @innodb_compression_algo = @@GLOBAL.innodb_compression_algorithm;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_compression_algorithm = 1;
+
+--let $MYSQLD_TMPDIR = `SELECT @@tmpdir`
+--let $MYSQLD_DATADIR = `SELECT @@datadir`
+--let SEARCH_RANGE = 10000000
+--let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd
+--let t2_IBD = $MYSQLD_DATADIR/test/t2.ibd
+--let t3_IBD = $MYSQLD_DATADIR/test/t3.ibd
+--let t4_IBD = $MYSQLD_DATADIR/test/t4.ibd
+
+create table t1(c1 bigint not null, b char(200)) engine=innodb encrypted=yes encryption_key_id=4;
+show warnings;
+create table t2(c1 bigint not null, b char(200)) engine=innodb page_compressed=1 encrypted=yes encryption_key_id=4;
+show warnings;
+let $kbs= `select floor(@@global.innodb_page_size/1024)`;
+--replace_regex / key_block_size=\d+//i
+eval create table t3(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=4 key_block_size=$kbs;
+show warnings;
+create table t4(c1 bigint not null, b char(200)) engine=innodb page_compressed=1;
+show warnings;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into t1 values(current_num, repeat('foobar',30));
+ insert into t2 values(current_num, repeat('barfoo',30));
+ insert into t3 values(current_num, repeat('tmpres',30));
+ insert into t4 values(current_num, repeat('mysql',30));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+set autocommit=0;
+call innodb_insert_proc(2000);
+commit;
+set autocommit=1;
+
+select count(*) from t1;
+select count(*) from t2;
+select count(*) from t3;
+select count(*) from t4;
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+FLUSH TABLE t1,t2,t3,t4 FOR EXPORT;
+--echo # List before copying files
+--list_files $MYSQLD_DATADIR/test
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1","t2","t3","t4");
+EOF
+--list_files $MYSQLD_DATADIR/test
+
+UNLOCK TABLES;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t2 DISCARD TABLESPACE;
+ALTER TABLE t3 DISCARD TABLESPACE;
+ALTER TABLE t4 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1","t2","t3","t4");
+ib_restore_tablespaces("test", "t1","t2","t3","t4");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+SHOW CREATE TABLE t1;
+SELECT COUNT(*) FROM t1;
+ALTER TABLE t2 IMPORT TABLESPACE;
+SHOW CREATE TABLE t2;
+SELECT COUNT(*) FROM t2;
+ALTER TABLE t3 IMPORT TABLESPACE;
+--replace_regex / key_block_size=\d+//i
+SHOW CREATE TABLE t3;
+SELECT COUNT(*) FROM t3;
+ALTER TABLE t4 IMPORT TABLESPACE;
+SHOW CREATE TABLE t4;
+SELECT COUNT(*) FROM t4;
+
+--echo # tables should be still either encrypted and/or compressed
+--let SEARCH_PATTERN=foobar
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=barfoo
+--echo # t2 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=tmpres
+--echo # t3 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=mysql
+--echo # t4 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t4_IBD
+-- source include/search_pattern_in_file.inc
+
+DROP PROCEDURE innodb_insert_proc;
+DROP TABLE t1,t2,t3,t4;
+
+SET GLOBAL innodb_file_format = @innodb_file_format_orig;
+SET GLOBAL innodb_file_per_table = @innodb_file_per_table_orig;
+SET GLOBAL innodb_compression_algorithm = @innodb_compression_algo;
diff --git a/mysql-test/suite/encryption/t/innodb-encr-threads.test b/mysql-test/suite/encryption/t/innodb-encr-threads.test
new file mode 100644
index 00000000000..1a90a31870b
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-encr-threads.test
@@ -0,0 +1,14 @@
+--source include/have_innodb.inc
+--source include/have_file_key_management_plugin.inc
+
+#
+# MDEV-8159 InnoDB: Failing assertion: key_state->key_id
+#
+create table t1 (i int) engine=innodb;
+set global innodb_encryption_threads = 1;
+set global innodb_encryption_rotate_key_age = 2;
+insert t1 values (1);
+drop table t1;
+set global innodb_encryption_threads = 0;
+set global innodb_encryption_rotate_key_age = 1;
+
diff --git a/mysql-test/suite/encryption/t/innodb-encryption-alter.test b/mysql-test/suite/encryption/t/innodb-encryption-alter.test
new file mode 100644
index 00000000000..711beeef1e1
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-encryption-alter.test
@@ -0,0 +1,124 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+
+#
+# MDEV-8817: Failing assertion: new_state->key_version != ENCRYPTION_KEY_VERSION_INVALID
+#
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+let $encrypt_tables = `SELECT @@innodb_encrypt_tables`;
+let $threads = `SELECT @@innodb_encryption_threads`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+SET GLOBAL innodb_encrypt_tables = ON;
+SET GLOBAL innodb_encryption_threads = 4;
+
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=NO ENCRYPTION_KEY_ID=4;
+DROP TABLE t1;
+set @save_global = @@GLOBAL.innodb_default_encryption_key_id;
+set innodb_default_encryption_key_id = 99;
+set global innodb_default_encryption_key_id = 99;
+set global innodb_default_encryption_key_id = @save_global;
+--error 1005
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB;
+SHOW WARNINGS;
+--error 1005
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES;
+SHOW WARNINGS;
+set innodb_default_encryption_key_id = 4;
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB;
+SHOW CREATE TABLE t1;
+CREATE TABLE t2 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=NO ENCRYPTION_KEY_ID=1;
+--error ER_ILLEGAL_HA_CREATE_OPTION
+ALTER TABLE t1 ENCRYPTION_KEY_ID=99;
+SHOW WARNINGS;
+set innodb_default_encryption_key_id = 1;
+
+
+--disable_warnings
+--disable_query_log
+let $i = 400;
+while ($i)
+{
+INSERT INTO t1 values(NULL, substring(MD5(RAND()), -128));
+dec $i;
+}
+commit;
+INSERT INTO t2 select * from t1;
+
+--disable_abort_on_error
+
+--connect (con1,localhost,root,,test)
+--connect (con2,localhost,root,,test)
+
+let $i = 50;
+while ($i)
+{
+connection con1;
+send ALTER TABLE t1 ENCRYPTED=NO ENCRYPTION_KEY_ID=1;
+connection con2;
+send ALTER TABLE t1 ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+connection default;
+send ALTER TABLE t2 ENCRYPTED=NO ENCRYPTION_KEY_ID=1;
+connection con1;
+--reap;
+ALTER TABLE t1 ENCRYPTED=NO ENCRYPTION_KEY_ID=1;
+connection con2;
+--reap
+ALTER TABLE t1 ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+connection default;
+--reap
+ALTER TABLE t2 ENCRYPTED=YES ENCRYPTION_KEY_ID=1;
+ALTER TABLE t1 ENCRYPTED=NO ENCRYPTION_KEY_ID=1;
+dec $i;
+}
+
+connection default;
+--disconnect con1
+--disconnect con2
+
+--enable_abort_on_error
+--enable_warnings
+--enable_query_log
+
+drop table t1,t2;
+
+#
+# MDEV-17230: encryption_key_id from alter is ignored by encryption threads
+#
+--enable_warnings
+SET GLOBAL innodb_encrypt_tables=OFF;
+CREATE TABLE t1 (a int not null primary key) engine=innodb;
+ALTER TABLE t1 ENCRYPTION_KEY_ID=4;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+CREATE TABLE t2 (a int not null primary key) engine=innodb;
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+ALTER TABLE t2 ENCRYPTION_KEY_ID=4, ALGORITHM=COPY;
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+SHOW CREATE TABLE t2;
+DROP TABLE t2;
+
+CREATE TABLE t3 (a int not null primary key) engine=innodb ENCRYPTION_KEY_ID=4;
+DROP TABLE t3;
+
+SET GLOBAL innodb_encrypt_tables='FORCE';
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 (a int primary key) engine=innodb encrypted=no;
+SHOW WARNINGS;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+EVAL SET GLOBAL innodb_encrypt_tables = $encrypt_tables;
+EVAL SET GLOBAL innodb_encryption_threads = $threads;
+--enable_query_log
diff --git a/mysql-test/suite/encryption/t/innodb-encryption-disable.test b/mysql-test/suite/encryption/t/innodb-encryption-disable.test
new file mode 100644
index 00000000000..4e6147f7745
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-encryption-disable.test
@@ -0,0 +1,52 @@
+-- source include/have_innodb.inc
+# embedded does not support restart
+-- source include/not_embedded.inc
+-- source filekeys_plugin_exists.inc
+
+#
+# MDEV-9559: Server without encryption configs crashes if selecting from an implicitly encrypted table
+#
+
+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: Encrypted page [1-9][0-9]*:3 in file .*test.t[15].ibd looks corrupted; key_version=1");
+
+# Suppression for builds where file_key_management plugin is linked statically
+call mtr.add_suppression("Couldn't load plugins from 'file_key_management*");
+
+--let $restart_parameters=--innodb-encrypt-tables=ON --plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+--source include/restart_mysqld.inc
+
+create table t5 (
+ `intcol1` int(32) DEFAULT NULL,
+ `intcol2` int(32) DEFAULT NULL,
+ `charcol1` varchar(128) DEFAULT NULL,
+ `charcol2` varchar(128) DEFAULT NULL,
+ `charcol3` varchar(128) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+insert into t5 values (1,2,'maria','db','encryption');
+
+CREATE TABLE `t1` (
+ `intcol1` int(32) DEFAULT NULL,
+ `intcol2` int(32) DEFAULT NULL,
+ `charcol1` varchar(128) DEFAULT NULL,
+ `charcol2` varchar(128) DEFAULT NULL,
+ `charcol3` varchar(128) DEFAULT NULL
+) ENGINE=InnoDB;
+
+insert into t1 values (1,2,'maria','db','encryption');
+alter table t1 encrypted='yes' `encryption_key_id`=1;
+
+--let $restart_parameters=--innodb-encrypt-tables=OFF
+--source include/restart_mysqld.inc
+
+--error 1296
+select * from t1;
+--error 1296
+select * from t5;
+
+--let $restart_parameters=--innodb-encrypt-tables=ON --plugin-load-add=file_key_management.so --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+--source include/restart_mysqld.inc
+
+drop table t1;
+drop table t5;
diff --git a/mysql-test/suite/encryption/t/innodb-first-page-read.opt b/mysql-test/suite/encryption/t/innodb-first-page-read.opt
new file mode 100644
index 00000000000..38d69691ed6
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-first-page-read.opt
@@ -0,0 +1,5 @@
+--innodb-encrypt-tables=ON
+--innodb-encrypt-log=ON
+--innodb-encryption-rotate-key-age=15
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/innodb-first-page-read.test b/mysql-test/suite/encryption/t/innodb-first-page-read.test
new file mode 100644
index 00000000000..d661e4565d2
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-first-page-read.test
@@ -0,0 +1,109 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+-- source include/not_embedded.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+FLUSH STATUS;
+
+create database innodb_test;
+use innodb_test;
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic;
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed;
+create table innodb_compressed1(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=1;
+create table innodb_compressed2(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=2;
+create table innodb_compressed4(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=4;
+create table innodb_compressed8(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=8;
+create table innodb_compressed16(c1 bigint not null, b char(200)) engine=innodb row_format=compressed key_block_size=16;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant;
+create table innodb_pagecomp(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes;
+create table innodb_pagecomp1(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=1;
+create table innodb_pagecomp2(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=2;
+create table innodb_pagecomp3(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=3;
+create table innodb_pagecomp4(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=4;
+create table innodb_pagecomp5(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=5;
+create table innodb_pagecomp6(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=6;
+create table innodb_pagecomp7(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=7;
+create table innodb_pagecomp8(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=8;
+create table innodb_pagecomp9(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes page_compression_level=9;
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval create table innodb_datadir1(c1 bigint not null, b char(200)) engine=innodb DATA DIRECTORY='$MYSQL_TMP_DIR';
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval create table innodb_datadir2(c1 bigint not null, b char(200)) engine=innodb row_format=compressed DATA DIRECTORY='$MYSQL_TMP_DIR';
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval create table innodb_datadir3(c1 bigint not null, b char(200)) engine=innodb page_compressed=yes DATA DIRECTORY='$MYSQL_TMP_DIR';
+
+begin;
+insert into innodb_normal values (1,'secret');
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_compressed1 select * from innodb_normal;
+insert into innodb_compressed2 select * from innodb_normal;
+insert into innodb_compressed4 select * from innodb_normal;
+insert into innodb_compressed8 select * from innodb_normal;
+insert into innodb_compressed16 select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+insert into innodb_pagecomp select * from innodb_normal;
+insert into innodb_pagecomp1 select * from innodb_normal;
+insert into innodb_pagecomp2 select * from innodb_normal;
+insert into innodb_pagecomp3 select * from innodb_normal;
+insert into innodb_pagecomp4 select * from innodb_normal;
+insert into innodb_pagecomp5 select * from innodb_normal;
+insert into innodb_pagecomp6 select * from innodb_normal;
+insert into innodb_pagecomp7 select * from innodb_normal;
+insert into innodb_pagecomp8 select * from innodb_normal;
+insert into innodb_pagecomp9 select * from innodb_normal;
+insert into innodb_datadir1 select * from innodb_normal;
+insert into innodb_datadir2 select * from innodb_normal;
+insert into innodb_datadir3 select * from innodb_normal;
+commit;
+
+FLUSH STATUS;
+
+--echo # Restart server and see how many page 0's are read
+--source include/restart_mysqld.inc
+
+--echo # result should actual number of tables except remote tables could be read twice
+--echo # i.e. < 23 + 3*2 = 29
+
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+use innodb_test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+use test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+
+set global innodb_encrypt_tables=OFF;
+
+--echo # wait until tables are decrypted
+--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0
+--source include/wait_condition.inc
+
+--echo # result should be actual number of tables except remote tables could be read twice
+--echo # i.e. < 23 + 3*2 = 29
+
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+use innodb_test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+use test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+
+FLUSH STATUS;
+
+--echo # restart and see number read page 0
+-- source include/restart_mysqld.inc
+
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+use innodb_test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+use test;
+SELECT VARIABLE_VALUE <= 29 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_pages0_read';
+
+drop database innodb_test;
+FLUSH STATUS;
diff --git a/mysql-test/suite/encryption/t/innodb-force-corrupt.test b/mysql-test/suite/encryption/t/innodb-force-corrupt.test
new file mode 100644
index 00000000000..07f79c6b378
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-force-corrupt.test
@@ -0,0 +1,87 @@
+#
+# MDEV-11759: Encryption code in MariaDB 10.1/10.2 causes compatibility problems
+#
+
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+# Don't test under embedded
+-- source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: Encrypted page \\d+:[36] in file .*test.t[123]\\.ibd looks corrupted; key_version=3221342974");
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set global innodb_compression_algorithm = 1;
+--enable_warnings
+
+--echo # Create and populate tables to be corrupted
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT,c char(200)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT,c char(200)) ENGINE=InnoDB row_format=compressed encrypted=yes;
+CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes encrypted=yes;
+
+BEGIN;
+INSERT INTO t1 (b,c) VALUES ('corrupt me','secret');
+--disable_query_log
+--let $i = 100
+while ($i)
+{
+ INSERT INTO t1 (b,c) VALUES (REPEAT('abcabcabc', 100),'secretsecret');
+ dec $i;
+}
+--enable_query_log
+
+INSERT INTO t1 (b,c) VALUES ('corrupt me','moresecretmoresecret');
+INSERT INTO t2 select * from t1;
+INSERT INTO t3 select * from t1;
+COMMIT;
+
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+let MYSQLD_DATADIR=`select @@datadir`;
+
+--source include/shutdown_mysqld.inc
+
+--echo # Backup tables before corrupting
+--copy_file $MYSQLD_DATADIR/test/t1.ibd $MYSQLD_DATADIR/test/t1.ibd.backup
+--copy_file $MYSQLD_DATADIR/test/t2.ibd $MYSQLD_DATADIR/test/t2.ibd.backup
+--copy_file $MYSQLD_DATADIR/test/t3.ibd $MYSQLD_DATADIR/test/t3.ibd.backup
+
+--echo # Corrupt tables
+
+perl;
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t1.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 26, SEEK_SET) or die "seek";
+print FILE pack("H*", "c001cafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t2.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 26, SEEK_SET) or die "seek";
+print FILE pack("H*", "c001cafedeadb017");
+close FILE or die "close";
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}/test/t3.ibd") or die "open";
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'} * 3 + 26, SEEK_SET) or die "seek";
+print FILE pack("H*", "c001cafedeadb017");
+close FILE or die "close";
+EOF
+
+--source include/start_mysqld.inc
+
+--error ER_GET_ERRMSG
+SELECT * FROM t1;
+--error ER_GET_ERRMSG
+SELECT * FROM t2;
+--error ER_GET_ERRMSG
+SELECT * FROM t3;
+
+--source include/shutdown_mysqld.inc
+
+--echo # Restore the original tables
+--move_file $MYSQLD_DATADIR/test/t1.ibd.backup $MYSQLD_DATADIR/test/t1.ibd
+--move_file $MYSQLD_DATADIR/test/t2.ibd.backup $MYSQLD_DATADIR/test/t2.ibd
+--move_file $MYSQLD_DATADIR/test/t3.ibd.backup $MYSQLD_DATADIR/test/t3.ibd
+
+--source include/start_mysqld.inc
+
+DROP TABLE t1,t2,t3;
diff --git a/mysql-test/suite/encryption/t/innodb-key-rotation-disable.opt b/mysql-test/suite/encryption/t/innodb-key-rotation-disable.opt
new file mode 100644
index 00000000000..03a0028d371
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-key-rotation-disable.opt
@@ -0,0 +1,5 @@
+--innodb-encrypt-tables
+--innodb-encrypt-log
+--innodb-encryption-rotate-key-age=0
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/innodb-key-rotation-disable.test b/mysql-test/suite/encryption/t/innodb-key-rotation-disable.test
new file mode 100644
index 00000000000..574e0c3becc
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-key-rotation-disable.test
@@ -0,0 +1,88 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+# not embedded because of restarts
+-- source include/not_embedded.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+
+--disable_query_log
+--disable_warnings
+let $encryption = `SELECT @@innodb_encrypt_tables`;
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+# zlib
+set global innodb_compression_algorithm = 1;
+--enable_warnings
+--enable_query_log
+
+create database enctests;
+use enctests;
+create table t1(a int not null primary key, b char(200)) engine=innodb;
+create table t2(a int not null primary key, b char(200)) engine=innodb row_format=compressed;
+create table t3(a int not null primary key, b char(200)) engine=innodb page_compressed=yes;
+create table t4(a int not null primary key, b char(200)) engine=innodb encrypted=yes;
+create table t5(a int not null primary key, b char(200)) engine=innodb encrypted=yes row_format=compressed;
+create table t6(a int not null primary key, b char(200)) engine=innodb encrypted=yes page_compressed=yes;
+create table t7(a int not null primary key, b char(200)) engine=innodb encrypted=no;
+create table t8(a int not null primary key, b char(200)) engine=innodb encrypted=no row_format=compressed;
+create table t9(a int not null primary key, b char(200)) engine=innodb encrypted=no page_compressed=yes;
+
+insert into t1 values (1, 'secredmessage');
+insert into t2 values (1, 'secredmessage');
+insert into t3 values (1, 'secredmessagecompressedaaaaaaaaabbbbbbbbbbbbbbccccccccccccccc');
+insert into t4 values (1, 'secredmessage');
+insert into t5 values (1, 'secredmessage');
+insert into t6 values (1, 'secredmessagecompressedaaaaaaaaabbbbbbbbbbbbbbccccccccccccccc');
+insert into t7 values (1, 'publicmessage');
+insert into t8 values (1, 'publicmessage');
+insert into t9 values (1, 'pugliccompressedaaaaaaaaabbbbbbbbbbbbbbccccccccccccccc');
+
+--echo # should list tables t1-t6
+SELECT NAME,ENCRYPTION_SCHEME,CURRENT_KEY_ID FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'enctests%';
+--echo # should list tables t7-t9
+SELECT NAME,ENCRYPTION_SCHEME,CURRENT_KEY_ID FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 and NAME LIKE 'enctests%';
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_encrypt_tables=OFF;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_encrypt_tables=ON;
+
+--let $MYSQLD_DATADIR=`select @@datadir`
+
+-- source include/shutdown_mysqld.inc
+
+--let SEARCH_RANGE = 10000000
+--let SEARCH_PATTERN=secred
+--echo # t1 default on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/enctests/t1.ibd
+-- source include/search_pattern_in_file.inc
+--echo # t2 default on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/enctests/t2.ibd
+-- source include/search_pattern_in_file.inc
+--echo # t3 default on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/enctests/t3.ibd
+-- source include/search_pattern_in_file.inc
+--echo # t4 on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/enctests/t4.ibd
+-- source include/search_pattern_in_file.inc
+--echo # t5 on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/enctests/t5.ibd
+-- source include/search_pattern_in_file.inc
+--echo # t6 on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/enctests/t6.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=public
+--echo # t7 off expecting FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/enctests/t7.ibd
+-- source include/search_pattern_in_file.inc
+--echo # t8 row compressed expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/enctests/t8.ibd
+-- source include/search_pattern_in_file.inc
+--echo # t9 page compressed expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/enctests/t9.ibd
+-- source include/search_pattern_in_file.inc
+
+-- source include/start_mysqld.inc
+
+drop database enctests;
diff --git a/mysql-test/suite/encryption/t/innodb-log-encrypt-crash.opt b/mysql-test/suite/encryption/t/innodb-log-encrypt-crash.opt
new file mode 100644
index 00000000000..e76aa060879
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-log-encrypt-crash.opt
@@ -0,0 +1,6 @@
+--innodb-encrypt-log=ON
+--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+--loose-file-key-management
+--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/logkey.txt
+--file-key-management-encryption-algorithm=aes_cbc
+--innodb-buffer-pool-size=128M
diff --git a/mysql-test/suite/encryption/t/innodb-log-encrypt-crash.test b/mysql-test/suite/encryption/t/innodb-log-encrypt-crash.test
new file mode 100644
index 00000000000..cb9a69d036b
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-log-encrypt-crash.test
@@ -0,0 +1,41 @@
+-- source include/have_innodb.inc
+-- source include/not_embedded.inc
+# test takes very long time on debug build
+-- source include/not_debug.inc
+-- source include/big_test.inc
+-- source filekeys_plugin.inc
+
+call mtr.add_suppression("InnoDB: New log files created, LSN=.*");
+call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables.");
+call mtr.add_suppression("InnoDB: Error: Table .*");
+
+#
+# MDEV-9422: Checksum errors on restart when killing busy instance that uses encrypted XtraDB tables
+#
+
+CREATE TABLE t1 (
+ pk bigint auto_increment,
+ col_int int,
+ col_int_key int,
+ col_char char(12),
+ col_char_key char(12),
+ primary key (pk),
+ key (`col_int_key` ),
+ key (`col_char_key` )
+) ENGINE=InnoDB;
+CREATE TABLE t2 LIKE t1;
+
+INSERT INTO t1 VALUES (NULL,1,1,'foo','foo'),(NULL,2,2,'bar','bar'),(NULL,3,3,'baz','baz'),(NULL,4,4,'qux','qux');
+INSERT INTO t2
+ SELECT NULL, a1.col_int, a1.col_int_key, a1.col_char, a1.col_char_key
+ FROM t1 a1, t1 a2, t1 a3, t1 a4, t1 a5, t1 a6, t1 a7, t1 a8, t1 a9, t1 a10;
+
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--shutdown_server 0
+--source include/wait_until_disconnected.inc
+
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/encryption/t/innodb-log-encrypt.opt b/mysql-test/suite/encryption/t/innodb-log-encrypt.opt
new file mode 100644
index 00000000000..24046fe779a
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-log-encrypt.opt
@@ -0,0 +1,6 @@
+--innodb-encrypt-log=ON
+--innodb-encrypt-tables=FORCE
+--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+--loose-file-key-management
+--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/logkey.txt
+--file-key-management-encryption-algorithm=aes_cbc
diff --git a/mysql-test/suite/encryption/t/innodb-log-encrypt.test b/mysql-test/suite/encryption/t/innodb-log-encrypt.test
new file mode 100644
index 00000000000..0555f9d49aa
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-log-encrypt.test
@@ -0,0 +1,97 @@
+-- source include/have_innodb.inc
+-- source include/not_embedded.inc
+-- source filekeys_plugin.inc
+
+#
+# MDEV-9011: Redo log encryption does not work
+#
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+create table t1(c1 bigint not null, b char(200), c varchar(200)) engine=innodb encrypted=yes encryption_key_id=1;
+show warnings;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into t1 values(current_num, substring(MD5(RAND()), -64), REPEAT('privatejanprivate',10));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+begin;
+call innodb_insert_proc(2000);
+commit;
+
+update t1 set c1 = c1 +1;
+select count(*) from t1;
+
+--let $MYSQLD_DATADIR=`select @@datadir`
+--let ib1_IBD = $MYSQLD_DATADIR/ibdata1
+--let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd
+--let log0 = $MYSQLD_DATADIR/ib_logfile0
+--let log1 = $MYSQLD_DATADIR/ib_logfile1
+--let SEARCH_RANGE = 10000000
+--let SEARCH_PATTERN=privatejanprivate
+
+-- source include/kill_mysqld.inc
+
+--echo # ibdata1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$ib1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # log0 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$log0
+-- source include/search_pattern_in_file.inc
+--echo # log1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$log1
+-- source include/search_pattern_in_file.inc
+
+--echo # Restart mysqld --innodb_encrypt_log=0
+-- let $restart_parameters=--innodb_encrypt_log=0
+-- source include/start_mysqld.inc
+
+insert into t1 values(5000, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+insert into t1 values(5001, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+insert into t1 values(5002, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+insert into t1 values(5003, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+insert into t1 values(5004, substring(MD5(RAND()), -64), REPEAT('publicmessage',10));
+
+--let SEARCH_PATTERN=privatejanprivate
+--echo # ibdata1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$ib1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # log0 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$log0
+-- source include/search_pattern_in_file.inc
+--echo # log1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$log1
+-- source include/search_pattern_in_file.inc
+
+--let SEARCH_PATTERN=publicmessage
+--echo # ibdata1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$ib1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # log0 no on expecting FOUND/NOTFOUND depending where insert goes
+-- let SEARCH_FILE=$log0
+-- source include/search_pattern_in_file.inc
+--echo # log1 no on expecting FOUND/NOTFOUND depending where insert goes
+-- let SEARCH_FILE=$log1
+-- source include/search_pattern_in_file.inc
+
+drop procedure innodb_insert_proc;
+drop table t1;
diff --git a/mysql-test/suite/encryption/t/innodb-missing-key.opt b/mysql-test/suite/encryption/t/innodb-missing-key.opt
new file mode 100644
index 00000000000..02691695cbd
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-missing-key.opt
@@ -0,0 +1,5 @@
+--innodb-encrypt-tables
+--innodb-encryption-rotate-key-age=15
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
+
diff --git a/mysql-test/suite/encryption/t/innodb-missing-key.test b/mysql-test/suite/encryption/t/innodb-missing-key.test
new file mode 100644
index 00000000000..72c24802ce9
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-missing-key.test
@@ -0,0 +1,65 @@
+--source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+# embedded does not support restart
+-- source include/not_embedded.inc
+
+#
+# MDEV-11004: Unable to start (Segfault or os error 2) when encryption key missing
+#
+
+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\\.");
+call mtr.add_suppression("InnoDB: Encrypted page [1-9][0-9]*:[1-9][0-9]* in file .*test.t[12].ibd looks corrupted; key_version=1");
+
+--echo
+--echo # Start server with keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+CREATE TABLE t1(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=YES ENCRYPTION_KEY_ID=19;
+CREATE TABLE t2(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=YES ENCRYPTION_KEY_ID=1;
+CREATE TABLE t3(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=NO;
+INSERT INTO t1(b) VALUES ('thisissecredmessage');
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t1(b) SELECT b FROM t1;
+INSERT INTO t2 SELECT * FROM t1;
+INSERT INTO t3 SELECT * FROM t1;
+
+--echo
+--echo # Restart server with keys3.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
+-- source include/restart_mysqld.inc
+
+set global innodb_encryption_rotate_key_age = 1;
+use test;
+CREATE TABLE t4(a int not null primary key auto_increment, b varchar(128)) engine=innodb ENCRYPTED=YES ENCRYPTION_KEY_ID=1;
+SELECT SLEEP(5);
+SELECT COUNT(1) FROM t3;
+SELECT COUNT(1) FROM t2;
+--error 1296
+SELECT COUNT(1) FROM t2,t1 where t2.a = t1.a;
+--error 1296
+SELECT COUNT(1) FROM t1 where b = 'ab';
+--error 1296
+SELECT COUNT(1) FROM t1;
+
+--echo
+--echo # Start server with keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+SELECT COUNT(1) FROM t1;
+SELECT COUNT(1) FROM t2;
+SELECT COUNT(1) FROM t3;
+
+DROP TABLE t1, t2, t3;
+
+
diff --git a/mysql-test/suite/encryption/t/innodb-page_encryption-32k.opt b/mysql-test/suite/encryption/t/innodb-page_encryption-32k.opt
new file mode 100644
index 00000000000..a9021f6de15
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-page_encryption-32k.opt
@@ -0,0 +1,2 @@
+--default_storage_engine=InnoDB
+--innodb-buffer-pool-size=24M
diff --git a/mysql-test/suite/encryption/t/innodb-page_encryption-32k.test b/mysql-test/suite/encryption/t/innodb-page_encryption-32k.test
new file mode 100644
index 00000000000..325f0a86521
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-page_encryption-32k.test
@@ -0,0 +1,96 @@
+--source include/no_valgrind_without_big.inc
+--source include/not_embedded.inc
+# Tests for setting innodb-page-size=32k;
+--source include/have_innodb.inc
+--source include/have_innodb_32k.inc
+--source include/have_file_key_management_plugin.inc
+
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+
+--disable_query_log
+# These values can change during the test
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=3;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
+
+show create table innodb_compact;
+show create table innodb_dynamic;
+show create table innodb_redundant;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into innodb_normal values(current_num, substring(MD5(RAND()), -150));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+set autocommit=0;
+call innodb_insert_proc(5000);
+commit;
+set autocommit=1;
+
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+select count(*) from innodb_redundant where c1 < 1500000;
+
+--source include/restart_mysqld.inc
+
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+select count(*) from innodb_redundant where c1 < 1500000;
+
+alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compact;
+alter table innodb_dynamic engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_dynamic;
+alter table innodb_redundant engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_redundant;
+
+--source include/restart_mysqld.inc
+
+show create table innodb_compact;
+show create table innodb_dynamic;
+show create table innodb_redundant;
+
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+select count(*) from innodb_redundant where c1 < 1500000;
+
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_dynamic;
+drop table innodb_redundant;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
diff --git a/mysql-test/suite/encryption/t/innodb-page_encryption.test b/mysql-test/suite/encryption/t/innodb-page_encryption.test
new file mode 100644
index 00000000000..463df756933
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-page_encryption.test
@@ -0,0 +1,169 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+show warnings;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
+show warnings;
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=2;
+show warnings;
+--error ER_CANT_CREATE_TABLE
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=3;
+show warnings;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=33;
+show warnings;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
+show warnings;
+
+set innodb_default_encryption_key_id = 5;
+create table innodb_defkey(c1 bigint not null, b char(200)) engine=innodb encrypted=yes;
+show create table innodb_defkey;
+
+show create table innodb_compact;
+show create table innodb_compressed;
+show create table innodb_dynamic;
+show create table innodb_redundant;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into innodb_normal values(current_num, substring(MD5(RAND()), -64));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+set autocommit=0;
+call innodb_insert_proc(2000);
+commit;
+set autocommit=1;
+
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+insert into innodb_defkey select * from innodb_normal;
+
+update innodb_normal set c1 = c1 +1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+update innodb_defkey set c1 = c1 + 1;
+
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_compressed where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+select count(*) from innodb_redundant where c1 < 1500000;
+select count(*) from innodb_defkey where c1 < 1500000;
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_defkey t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+
+# Note there that these variables are updated only when real I/O is done, thus they are not reliable
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+--source include/restart_mysqld.inc
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+update innodb_normal set c1 = c1 +1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+update innodb_defkey set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_compressed where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+select count(*) from innodb_redundant where c1 < 1500000;
+select count(*) from innodb_defkey where c1 < 1500000;
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_defkey t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compact;
+alter table innodb_compressed engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compressed;
+alter table innodb_dynamic engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_dynamic;
+alter table innodb_redundant engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_redundant;
+
+--source include/restart_mysqld.inc
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+show create table innodb_compact;
+show create table innodb_compressed;
+show create table innodb_dynamic;
+show create table innodb_redundant;
+show create table innodb_defkey;
+
+update innodb_normal set c1 = c1 +1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_compressed where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+select count(*) from innodb_redundant where c1 < 1500000;
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_compressed;
+drop table innodb_dynamic;
+drop table innodb_redundant;
+drop table innodb_defkey;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
diff --git a/mysql-test/suite/encryption/t/innodb-page_encryption_compression.test b/mysql-test/suite/encryption/t/innodb-page_encryption_compression.test
new file mode 100644
index 00000000000..fc11aa1676d
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-page_encryption_compression.test
@@ -0,0 +1,81 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+-- source include/not_embedded.inc
+
+--disable_query_log
+let $innodb_compression_algorithm_orig=`SELECT @@innodb_compression_algorithm`;
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+# zlib
+set global innodb_compression_algorithm = 1;
+--enable_warnings
+
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb page_compressed=1;
+show warnings;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1 page_compressed=1;
+show warnings;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=2 page_compressed=1;
+show warnings;
+
+show create table innodb_normal;
+show create table innodb_compact;
+show create table innodb_dynamic;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into innodb_normal values(current_num, substring(MD5(RAND()), -128));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+begin;
+call innodb_insert_proc(2000);
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+commit;
+
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_PAGE_COMPRESSED';
+--source include/wait_condition.inc
+
+--let $restart_parameters=--innodb-encrypt-tables=OFF
+--source include/restart_mysqld.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+# zlib
+set global innodb_compression_algorithm = 1;
+--enable_warnings
+
+alter table innodb_normal engine=innodb page_compressed=DEFAULT;
+show create table innodb_normal;
+alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT page_compressed=DEFAULT;
+show create table innodb_compact;
+alter table innodb_dynamic engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT page_compressed=DEFAULT;
+show create table innodb_dynamic;
+
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_PAGE_DECOMPRESSED';
+--source include/wait_condition.inc
+
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_dynamic;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_compression_algorithm = $innodb_compression_algorithm_orig;
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
diff --git a/mysql-test/suite/encryption/t/innodb-page_encryption_log_encryption.opt b/mysql-test/suite/encryption/t/innodb-page_encryption_log_encryption.opt
new file mode 100644
index 00000000000..d09b26a375e
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-page_encryption_log_encryption.opt
@@ -0,0 +1,3 @@
+--innodb-encrypt-log=ON
+--innodb-encrypt-tables=ON
+
diff --git a/mysql-test/suite/encryption/t/innodb-page_encryption_log_encryption.test b/mysql-test/suite/encryption/t/innodb-page_encryption_log_encryption.test
new file mode 100644
index 00000000000..79dc447e352
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-page_encryption_log_encryption.test
@@ -0,0 +1,113 @@
+-- source include/have_innodb.inc
+-- source include/not_embedded.inc
+-- source include/have_file_key_management_plugin.inc
+
+#call mtr.add_suppression("KeyID 0 not found or with error. Check the key and the log.*");
+#call mtr.add_suppression("Disabling redo log encryp.*");
+#call mtr.add_suppression("InnoDB: Redo log crypto: Can't initialize to key version.*");
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+show warnings;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
+show warnings;
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=2;
+show warnings;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=33;
+show warnings;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
+show warnings;
+
+show create table innodb_compact;
+show create table innodb_compressed;
+show create table innodb_dynamic;
+show create table innodb_redundant;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into innodb_normal values(current_num, substring(MD5(RAND()), -64));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+begin;
+call innodb_insert_proc(2000);
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+commit;
+
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_ENCRYPTED';
+--source include/wait_condition.inc
+
+# Note there that these variables are updated only when real I/O is done, thus they are not reliable
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+--source include/restart_mysqld.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+update innodb_normal set c1 = c1 +1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_ENCRYPTED';
+--source include/wait_condition.inc
+
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+SET GLOBAL innodb_encrypt_tables=OFF;
+alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compact;
+alter table innodb_compressed engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_compressed;
+alter table innodb_dynamic engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_dynamic;
+alter table innodb_redundant engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
+show create table innodb_redundant;
+
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_DECRYPTED';
+--source include/wait_condition.inc
+
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_compressed;
+drop table innodb_dynamic;
+drop table innodb_redundant;
+#
+# MDEV-8143: InnoDB: Database page corruption on disk or a failed file read
+#
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB ENCRYPTION_KEY_ID=2 ENCRYPTED=YES;
+INSERT INTO t1 VALUES (1),(2);
+
+--echo # Restarting server...
+--source include/restart_mysqld.inc
+
+SELECT * FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/encryption/t/innodb-read-only.opt b/mysql-test/suite/encryption/t/innodb-read-only.opt
new file mode 100644
index 00000000000..acedb1a17bb
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-read-only.opt
@@ -0,0 +1,3 @@
+--innodb-encrypt-tables=1
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/innodb-read-only.test b/mysql-test/suite/encryption/t/innodb-read-only.test
new file mode 100644
index 00000000000..10ec87467b6
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-read-only.test
@@ -0,0 +1,34 @@
+--source suite/encryption/include/have_file_key_management_plugin.inc
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+let $cnt=600;
+while ($cnt)
+{
+ let $success=`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0`;
+ if ($success)
+ {
+ let $cnt=0;
+ }
+ if (!$success)
+ {
+ real_sleep 1;
+ dec $cnt;
+ }
+}
+if (!$success)
+{
+ SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION;
+ SHOW STATUS LIKE 'innodb_encryption%';
+ -- die Timeout waiting for encryption threads
+}
+--echo # Success!
+
+#
+# MDEV-11835: InnoDB: Failing assertion: free_slot != NULL on
+# restarting server with encryption and read-only
+#
+--let $restart_parameters= --innodb-read-only=1 --innodb-encrypt-tables=1
+--source include/restart_mysqld.inc
+--echo # All done
diff --git a/mysql-test/suite/encryption/t/innodb-redo-badkey.opt b/mysql-test/suite/encryption/t/innodb-redo-badkey.opt
new file mode 100644
index 00000000000..343128e8803
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-redo-badkey.opt
@@ -0,0 +1,5 @@
+--innodb-change-buffering=all
+--innodb-encrypt-tables=on
+--innodb-tablespaces-encryption
+--innodb-encryption-threads=2
+--innodb-default-encryption-key-id=4
diff --git a/mysql-test/suite/encryption/t/innodb-redo-badkey.test b/mysql-test/suite/encryption/t/innodb-redo-badkey.test
new file mode 100644
index 00000000000..69de4f0f921
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-redo-badkey.test
@@ -0,0 +1,97 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+# embedded does not support restart
+-- source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: Block in space_id .* in file .* encrypted.");
+call mtr.add_suppression("Plugin 'file_key_management' ");
+call mtr.add_suppression("Plugin 'InnoDB' init function returned error.");
+call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed.");
+call mtr.add_suppression("InnoDB: Read operation failed for tablespace ");
+call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed");
+call mtr.add_suppression("InnoDB: Recovery read page ");
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1234]\\.ibd' cannot be decrypted\\.");
+call mtr.add_suppression("InnoDB: Missing MLOG_FILE_NAME or MLOG_FILE_DELETE ");
+call mtr.add_suppression("InnoDB: Plugin initialization aborted ");
+call mtr.add_suppression("InnoDB: ############### CORRUPT LOG RECORD FOUND ##################");
+
+--echo # Restart mysqld --file-key-management-filename=keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0
+--source include/wait_condition.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+create table t1(a int not null primary key auto_increment, c char(250), b blob, index(b(10))) engine=innodb row_format=compressed encrypted=yes encryption_key_id=4;
+create table t2(a int not null primary key auto_increment, c char(250), b blob, index(b(10))) engine=innodb row_format=compressed;
+create table t3(a int not null primary key auto_increment, c char(250), b blob, index(b(10))) engine=innodb encrypted=yes encryption_key_id=4;
+create table t4(a int not null primary key auto_increment, c char(250), b blob, index(b(10))) engine=innodb;
+
+begin;
+--disable_query_log
+--let $i = 20
+begin;
+while ($i)
+{
+ insert into t1(c,b) values (repeat('secret1',20), repeat('secret2',6000));
+ dec $i;
+}
+--enable_query_log
+
+insert into t2 select * from t1;
+insert into t3 select * from t1;
+insert into t4 select * from t1;
+commit;
+
+--source ../../suite/innodb/include/no_checkpoint_start.inc
+
+#
+# We test redo log page read at recv_read_page using
+# incorrect keys from std_data/keys.txt. If checkpoint
+# happens we will skip this test. If no checkpoint
+# happens, InnoDB refuses to start as used
+# encryption key is incorrect.
+#
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+begin;
+update t1 set c = repeat('secret3', 20);
+update t2 set c = repeat('secret4', 20);
+update t3 set c = repeat('secret4', 20);
+update t4 set c = repeat('secret4', 20);
+insert into t1 (c,b) values (repeat('secret5',20), repeat('secret6',6000));
+insert into t2 (c,b) values (repeat('secret7',20), repeat('secret8',6000));
+insert into t3 (c,b) values (repeat('secret9',20), repeat('secre10',6000));
+insert into t4 (c,b) values (repeat('secre11',20), repeat('secre12',6000));
+COMMIT;
+let $cleanup= drop table t1,t2,t3,t4;
+--let CLEANUP_IF_CHECKPOINT= $cleanup;
+--source ../../suite/innodb/include/no_checkpoint_end.inc
+
+--echo # restart
+--error 1
+-- source include/start_mysqld.inc
+--source include/kill_mysqld.inc
+
+#
+# Now test with innodb-force-recovery=1 i.e. ignore corrupt pages
+#
+
+--echo # Restart mysqld --innodb-force-recovery=1
+-- let $restart_parameters=--innodb-force-recovery=1
+--error 1
+-- source include/start_mysqld.inc
+
+--source include/kill_mysqld.inc
+
+--echo # Restart mysqld --file-key-management-filename=keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/start_mysqld.inc
+
+drop table t1, t2,t3,t4;
diff --git a/mysql-test/suite/encryption/t/innodb-redo-nokeys.opt b/mysql-test/suite/encryption/t/innodb-redo-nokeys.opt
new file mode 100644
index 00000000000..21afc19fc5d
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-redo-nokeys.opt
@@ -0,0 +1,3 @@
+--innodb-change-buffering=none
+--innodb-encrypt-tables=on
+--innodb-default-encryption-key-id=20
diff --git a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
new file mode 100644
index 00000000000..68d831fcd17
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
@@ -0,0 +1,77 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+# embedded does not support restart
+-- source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: Block in space_id ");
+call mtr.add_suppression("mysqld: File ");
+call mtr.add_suppression("Plugin 'file_key_management' ");
+call mtr.add_suppression("InnoDB: cannot enable encryption, encryption plugin is not available");
+call mtr.add_suppression("Plugin 'InnoDB' init function returned error\\.");
+call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed.");
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1234]\\.ibd' cannot be decrypted\\.");
+
+--echo # Restart mysqld --file-key-management-filename=keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+create table t1(a int not null primary key auto_increment, c char(200), b blob, index(b(10))) engine=innodb row_format=compressed encrypted=yes encryption_key_id=20;
+create table t2(a int not null primary key auto_increment, c char(200), b blob, index(b(10))) engine=innodb row_format=compressed;
+create table t3(a int not null primary key auto_increment, c char(200), b blob, index(b(10))) engine=innodb encrypted=yes encryption_key_id=20;
+create table t4(a int not null primary key auto_increment, c char(200), b blob, index(b(10))) engine=innodb;
+
+begin;
+--disable_query_log
+--let $i = 20
+begin;
+while ($i)
+{
+ insert into t1(c,b) values (repeat('secret1',20), repeat('secret2',6000));
+ dec $i;
+}
+--enable_query_log
+
+insert into t2 select * from t1;
+insert into t3 select * from t1;
+insert into t4 select * from t1;
+commit;
+
+--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
+# happens we will skip this test. If no checkpoint
+# happens, InnoDB refuses to start as used
+# encryption key is not found.
+#
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+begin;
+update t1 set c = repeat('secret3', 20);
+update t2 set c = repeat('secret4', 20);
+update t3 set c = repeat('secret4', 20);
+update t4 set c = repeat('secret4', 20);
+insert into t1 (c,b) values (repeat('secret5',20), repeat('secret6',6000));
+insert into t2 (c,b) values (repeat('secret7',20), repeat('secret8',6000));
+insert into t3 (c,b) values (repeat('secret9',20), repeat('secre10',6000));
+insert into t4 (c,b) values (repeat('secre11',20), repeat('secre12',6000));
+COMMIT;
+let $cleanup= drop table t1,t2,t3,t4;
+--let CLEANUP_IF_CHECKPOINT= $cleanup;
+--source ../../suite/innodb/include/no_checkpoint_end.inc
+
+--echo # restart
+-- source include/start_mysqld.inc
+#
+# In above server does start but InnoDB refuses to start
+# thus we need to restart server with correct key file
+#
+--echo # Restart mysqld --file-key-management-filename=keys2.txt
+-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+drop table t1, t2,t3,t4;
diff --git a/mysql-test/suite/encryption/t/innodb-remove-encryption.test b/mysql-test/suite/encryption/t/innodb-remove-encryption.test
new file mode 100644
index 00000000000..24e00a00a02
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb-remove-encryption.test
@@ -0,0 +1,59 @@
+--source include/have_innodb.inc
+# Test uses restart
+--source include/not_embedded.inc
+--source filekeys_plugin.inc
+
+#
+# MDEV-15566: System tablespace does not easily key rotate to unencrypted
+#
+
+set global innodb_file_per_table=OFF;
+
+call mtr.add_suppression("mysqld: file-key-management-filename is not set");
+call mtr.add_suppression("Plugin 'file_key_management' init function returned error.");
+call mtr.add_suppression("Plugin 'file_key_management' registration as a ENCRYPTION failed.");
+flush tables;
+
+create table t1(a int not null primary key, b char(200)) engine=innodb;
+
+--echo
+--echo # Restart server with encryption
+-- let $restart_parameters=--plugin-load-add=$FILE_KEY_MANAGEMENT_SO --loose-file-key-management --loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys.txt --file-key-management-encryption-algorithm=aes_cbc --innodb-encrypt-tables=ON --innodb-encryption-threads=4 --innodb-tablespaces-encryption --innodb-encryption-rotate-key-age=15
+-- source include/restart_mysqld.inc
+
+--echo # Wait until encryption threads have encrypted all tablespaces
+
+--let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND ROTATING_OR_FLUSHING = 0;
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+--echo # Success!
+
+SELECT * from t1;
+
+--echo # Now turn off encryption and wait for threads to decrypt all tablespaces
+SET GLOBAL innodb_encrypt_tables = off;
+
+--let $wait_condition=SELECT COUNT(*) = $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND ROTATING_OR_FLUSHING = 0;
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+--echo # Success!
+
+--echo
+--echo # Restart server with no encryption setup, there should be no crashes
+--let $restart_parameters=--skip-file-key-management --innodb-encrypt-tables=OFF --innodb-encryption-threads=0 --innodb-tablespaces-encryption
+-- source include/restart_mysqld.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+SELECT * from t1;
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/encryption/t/innodb_encryption-page-compression.opt b/mysql-test/suite/encryption/t/innodb_encryption-page-compression.opt
new file mode 100644
index 00000000000..0b7319dcef5
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption-page-compression.opt
@@ -0,0 +1,7 @@
+--aria-encrypt-tables=ON
+--encrypt-tmp-disk-tables=ON
+--innodb-encrypt-tables=ON
+--innodb-encrypt-log=ON
+--innodb-encryption-rotate-key-age=15
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/innodb_encryption-page-compression.test b/mysql-test/suite/encryption/t/innodb_encryption-page-compression.test
new file mode 100644
index 00000000000..fe132c0c59b
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption-page-compression.test
@@ -0,0 +1,151 @@
+-- source include/have_innodb.inc
+-- source include/have_example_key_management_plugin.inc
+-- source include/not_embedded.inc
+
+--disable_query_log
+let $innodb_encrypt_tables_orig = `SELECT @@innodb_encrypt_tables`;
+let $innodb_encryption_threads_orig = `SELECT @@innodb_encryption_threads`;
+--enable_query_log
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_encryption_threads = 4;
+SET GLOBAL innodb_encrypt_tables = on;
+--enable_warnings
+
+# zlib
+set global innodb_compression_algorithm = 1;
+
+create table innodb_normal (c1 int, b char(20)) engine=innodb;
+show warnings;
+create table innodb_page_compressed1 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=1;
+show warnings;
+show create table innodb_page_compressed1;
+create table innodb_page_compressed2 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=2;
+show warnings;
+show create table innodb_page_compressed2;
+create table innodb_page_compressed3 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=3;
+show warnings;
+show create table innodb_page_compressed3;
+create table innodb_page_compressed4 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=4;
+show warnings;
+show create table innodb_page_compressed4;
+create table innodb_page_compressed5 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=5;
+show warnings;
+show create table innodb_page_compressed5;
+create table innodb_page_compressed6 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=6;
+show warnings;
+show create table innodb_page_compressed6;
+create table innodb_page_compressed7 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=7;
+show warnings;
+show create table innodb_page_compressed7;
+create table innodb_page_compressed8 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=8;
+show warnings;
+show create table innodb_page_compressed8;
+create table innodb_page_compressed9 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=9;
+show warnings;
+show create table innodb_page_compressed9;
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into innodb_normal values(current_num,'testing..');
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+begin;
+call innodb_insert_proc(2000);
+insert into innodb_page_compressed1 select * from innodb_normal;
+insert into innodb_page_compressed2 select * from innodb_normal;
+insert into innodb_page_compressed3 select * from innodb_normal;
+insert into innodb_page_compressed4 select * from innodb_normal;
+insert into innodb_page_compressed5 select * from innodb_normal;
+insert into innodb_page_compressed6 select * from innodb_normal;
+insert into innodb_page_compressed7 select * from innodb_normal;
+insert into innodb_page_compressed8 select * from innodb_normal;
+insert into innodb_page_compressed9 select * from innodb_normal;
+commit;
+
+select count(*) from innodb_page_compressed1 where c1 < 500000;
+select count(*) from innodb_page_compressed2 where c1 < 500000;
+select count(*) from innodb_page_compressed3 where c1 < 500000;
+select count(*) from innodb_page_compressed4 where c1 < 500000;
+select count(*) from innodb_page_compressed5 where c1 < 500000;
+select count(*) from innodb_page_compressed6 where c1 < 500000;
+select count(*) from innodb_page_compressed7 where c1 < 500000;
+select count(*) from innodb_page_compressed8 where c1 < 500000;
+select count(*) from innodb_page_compressed9 where c1 < 500000;
+
+flush tables innodb_page_compressed1, innodb_page_compressed2,
+innodb_page_compressed3, innodb_page_compressed4,
+innodb_page_compressed5, innodb_page_compressed6,
+innodb_page_compressed7, innodb_page_compressed8,
+innodb_page_compressed9 for export;
+
+unlock tables;
+
+--echo # Wait until dirty pages are compressed and encrypted
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_PAGE_COMPRESSED';
+--source include/wait_condition.inc
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_ENCRYPTED';
+--source include/wait_condition.inc
+
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
+
+--source include/restart_mysqld.inc
+
+SET GLOBAL innodb_encryption_threads = 4;
+SET GLOBAL innodb_encrypt_tables = off;
+
+update innodb_page_compressed1 set c1 = c1 + 1;
+update innodb_page_compressed2 set c1 = c1 + 1;
+update innodb_page_compressed3 set c1 = c1 + 1;
+update innodb_page_compressed4 set c1 = c1 + 1;
+update innodb_page_compressed5 set c1 = c1 + 1;
+update innodb_page_compressed6 set c1 = c1 + 1;
+update innodb_page_compressed7 set c1 = c1 + 1;
+update innodb_page_compressed8 set c1 = c1 + 1;
+update innodb_page_compressed9 set c1 = c1 + 1;
+
+flush tables innodb_page_compressed1, innodb_page_compressed2,
+innodb_page_compressed3, innodb_page_compressed4,
+innodb_page_compressed5, innodb_page_compressed6,
+innodb_page_compressed7, innodb_page_compressed8,
+innodb_page_compressed9 for export;
+unlock tables;
+
+--echo # Wait until dirty pages are compressed and encrypted 2
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_PAGE_COMPRESSED';
+--source include/wait_condition.inc
+unlock tables;
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_DECRYPTED';
+--source include/wait_condition.inc
+
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
+SELECT variable_value > 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
+
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_encrypt_tables = $innodb_encrypt_tables_orig;
+EVAL SET GLOBAL innodb_encryption_threads = $innodb_encryption_threads_orig;
+--enable_query_log
+
diff --git a/mysql-test/suite/encryption/t/innodb_encryption.opt b/mysql-test/suite/encryption/t/innodb_encryption.opt
new file mode 100644
index 00000000000..0f3634acf1c
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption.opt
@@ -0,0 +1,8 @@
+--aria-encrypt-tables
+--encrypt-tmp-disk-tables
+--innodb-encrypt-tables
+--innodb-encrypt-log
+--innodb-encryption-rotate-key-age=15
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
+
diff --git a/mysql-test/suite/encryption/t/innodb_encryption.test b/mysql-test/suite/encryption/t/innodb_encryption.test
new file mode 100644
index 00000000000..d183a2914bd
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption.test
@@ -0,0 +1,78 @@
+#
+#
+#
+-- source include/have_innodb.inc
+-- source include/have_example_key_management_plugin.inc
+-- source include/innodb_undo_tablespaces.inc
+
+# embedded does not support restart
+-- source include/not_embedded.inc
+
+SET @start_global_value = @@global.innodb_encryption_threads;
+
+SHOW VARIABLES LIKE 'innodb_encrypt%';
+
+SET GLOBAL innodb_encrypt_tables = ON;
+
+--let $tables_count= `select count(*) + 1 from information_schema.tables where engine = 'InnoDB'`
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+--echo # Success!
+
+--echo # Now turn off encryption and wait for threads to decrypt everything
+SET GLOBAL innodb_encrypt_tables = off;
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+--echo # Success!
+
+--echo # Shutdown innodb_encryption_threads
+SET GLOBAL innodb_encryption_threads=0;
+
+--echo # Turn on encryption
+--echo # since threads are off tables should remain unencrypted
+SET GLOBAL innodb_encrypt_tables = on;
+
+--echo # Wait 15s to check that nothing gets encrypted
+--let $wait_timeout= 15
+--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+--echo # Success!
+
+--echo # Startup innodb_encryption_threads
+SET GLOBAL innodb_encryption_threads=@start_global_value;
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+
+--echo # Success!
+--echo # Restart mysqld --innodb_encrypt_tables=0 --innodb_encryption_threads=0
+-- let $restart_parameters=--innodb_encrypt_tables=0 --innodb_encryption_threads=0
+-- source include/restart_mysqld.inc
+
+SHOW VARIABLES LIKE 'innodb_encrypt%';
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_discard_import.opt b/mysql-test/suite/encryption/t/innodb_encryption_discard_import.opt
new file mode 100644
index 00000000000..bcff011eb82
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_discard_import.opt
@@ -0,0 +1,8 @@
+--innodb-encrypt-tables=ON
+--innodb-encrypt-log=ON
+--innodb-encryption-rotate-key-age=15
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
+--innodb-max-dirty-pages-pct=0.001
+
+
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_discard_import.test b/mysql-test/suite/encryption/t/innodb_encryption_discard_import.test
new file mode 100644
index 00000000000..29c762a5d0f
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_discard_import.test
@@ -0,0 +1,180 @@
+-- source include/have_innodb.inc
+-- source include/have_example_key_management_plugin.inc
+-- source include/not_valgrind.inc
+-- source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: Table .* tablespace is set as discarded.");
+
+let $MYSQLD_TMPDIR = `SELECT @@tmpdir`;
+let $MYSQLD_DATADIR = `SELECT @@datadir`;
+
+--let SEARCH_RANGE = 10000000
+--let $id = `SELECT RAND()`
+--let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd
+--let t2_IBD = $MYSQLD_DATADIR/test/t2.ibd
+--let t3_IBD = $MYSQLD_DATADIR/test/t3.ibd
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t2 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB;
+CREATE TABLE t3 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB row_format=compressed encrypted=yes;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into t1 values (current_num,repeat('foobar',42));
+ insert into t2 values (current_num,repeat('temp', 42));
+ insert into t3 values (current_num,repeat('barfoo',42));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+set autocommit=0;
+call innodb_insert_proc(10000);
+commit;
+set autocommit=1;
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND ROTATING_OR_FLUSHING <> 0
+--source include/wait_condition.inc
+
+# shutdown so that grep is safe
+--source include/shutdown_mysqld.inc
+
+--echo # tablespaces should be now encrypted
+--let SEARCH_PATTERN=foobar
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=temp
+--echo # t2 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=barfoo
+--echo # t3 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+
+--source include/start_mysqld.inc
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+
+--list_files $MYSQLD_DATADIR/test
+FLUSH TABLES t1, t2, t3 FOR EXPORT;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1","t2","t3");
+EOF
+--list_files $MYSQLD_DATADIR/test
+UNLOCK TABLES;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t2 DISCARD TABLESPACE;
+ALTER TABLE t3 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1","t2","t3");
+ib_restore_tablespaces("test", "t1","t2","t3");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+SELECT COUNT(1) FROM t1;
+ALTER TABLE t2 IMPORT TABLESPACE;
+SELECT COUNT(1) FROM t2;
+ALTER TABLE t3 IMPORT TABLESPACE;
+SELECT COUNT(1) FROM t3;
+
+# shutdown so that grep is safe
+--source include/shutdown_mysqld.inc
+
+--echo # tablespaces should remain encrypted after import
+--let SEARCH_PATTERN=foobar
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=temp
+--echo # t2 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t3 ... on expecting NOT FOUND
+--let SEARCH_PATTERN=barfoo
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+
+--source include/start_mysqld.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+ALTER TABLE t1 ENGINE InnoDB;
+SHOW CREATE TABLE t1;
+ALTER TABLE t2 ENGINE InnoDB;
+SHOW CREATE TABLE t2;
+ALTER TABLE t3 ENGINE InnoDB;
+SHOW CREATE TABLE t3;
+
+--echo # Restarting server
+-- source include/restart_mysqld.inc
+--echo # Done restarting server
+
+--echo # Verify that tables are still usable
+SELECT COUNT(1) FROM t1;
+SELECT COUNT(1) FROM t2;
+SELECT COUNT(1) FROM t3;
+
+# shutdown so that grep is safe
+--source include/shutdown_mysqld.inc
+
+--echo # Tablespaces should be encrypted after restart
+--let SEARCH_PATTERN=foobar
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=temp
+--echo # t2 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t3 ... on expecting NOT FOUND
+--let SEARCH_PATTERN=barfoo
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+
+--source include/start_mysqld.inc
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND ROTATING_OR_FLUSHING <> 0
+--source include/wait_condition.inc
+
+--echo # Success!
+--echo # Restart mysqld --innodb_encrypt_tables=0 --innodb_encryption_threads=0
+-- let $restart_parameters=--innodb_encrypt_tables=0 --innodb_encryption_threads=0
+-- source include/restart_mysqld.inc
+
+DROP PROCEDURE innodb_insert_proc;
+DROP TABLE t1, t2, t3;
+
+# reset system
+--disable_warnings
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
+--enable_warnings
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_filekeys.opt b/mysql-test/suite/encryption/t/innodb_encryption_filekeys.opt
new file mode 100644
index 00000000000..7d3f2da7971
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_filekeys.opt
@@ -0,0 +1 @@
+--innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_filekeys.test b/mysql-test/suite/encryption/t/innodb_encryption_filekeys.test
new file mode 100644
index 00000000000..60afb6033ac
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_filekeys.test
@@ -0,0 +1,142 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $encrypt_tables = `SELECT @@innodb_encrypt_tables`;
+let $threads = `SELECT @@innodb_encryption_threads`;
+let $key_id = `SELECT @@innodb_default_encryption_key_id`;
+--enable_query_log
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_encrypt_tables = OFF;
+SET GLOBAL innodb_encryption_threads = 4;
+--enable_warnings
+
+CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB;
+SHOW CREATE TABLE t1;
+CREATE TABLE t2 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES;
+CREATE TABLE t3 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=NO;
+CREATE TABLE t4 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
+
+--disable_warnings
+--disable_query_log
+begin;
+let $i = 10;
+while ($i)
+{
+INSERT INTO t1 values(NULL, substring(MD5(RAND()), -128));
+dec $i;
+}
+
+INSERT INTO t2 select * from t1;
+INSERT INTO t3 select * from t1;
+INSERT INTO t4 select * from t1;
+commit;
+--enable_warnings
+--enable_query_log
+
+SET GLOBAL innodb_encrypt_tables = on;
+
+--echo # Wait max 10 min for key encryption threads to encrypt required all spaces
+let $cnt=600;
+while ($cnt)
+{
+ let $success=`SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0`;
+ if ($success)
+ {
+ let $cnt=0;
+ }
+ if (!$success)
+ {
+ real_sleep 1;
+ dec $cnt;
+ }
+}
+if (!$success)
+{
+ SELECT NAME,ENCRYPTION_SCHEME,MIN_KEY_VERSION, ROTATING_OR_FLUSHING FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION;
+ SHOW STATUS LIKE 'innodb_encryption%';
+ -- die Timeout waiting for encryption threads
+}
+--echo # Success!
+
+SELECT COUNT(1) FROM t1;
+SELECT COUNT(1) FROM t2;
+SELECT COUNT(1) FROM t3;
+SELECT COUNT(1) FROM t4;
+
+SET GLOBAL innodb_encrypt_tables = off;
+
+--echo # Wait max 10 min for key encryption threads to decrypt all required spaces
+let $cnt=600;
+while ($cnt)
+{
+ let $success=`SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0`;
+ if ($success)
+ {
+ let $cnt=0;
+ }
+ if (!$success)
+ {
+ real_sleep 1;
+ dec $cnt;
+ }
+}
+if (!$success)
+{
+ SELECT NAME,ENCRYPTION_SCHEME,MIN_KEY_VERSION, ROTATING_OR_FLUSHING FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION;
+ SHOW STATUS LIKE 'innodb_encryption%';
+ -- die Timeout waiting for encryption threads
+}
+--echo # Success!
+
+SET GLOBAL innodb_encrypt_tables = ON;
+set GLOBAL innodb_default_encryption_key_id=4;
+CREATE TABLE t5 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB;
+SHOW CREATE TABLE t5;
+INSERT INTO t5 select * from t1;
+
+--echo # Wait max 10 min for key encryption threads to encrypt required all spaces
+let $cnt=600;
+while ($cnt)
+{
+ let $success=`SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0`;
+ if ($success)
+ {
+ let $cnt=0;
+ }
+ if (!$success)
+ {
+ real_sleep 1;
+ dec $cnt;
+ }
+}
+if (!$success)
+{
+ SELECT NAME,ENCRYPTION_SCHEME,MIN_KEY_VERSION, ROTATING_OR_FLUSHING FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION;
+ SHOW STATUS LIKE 'innodb_encryption%';
+ -- die Timeout waiting for encryption threads
+}
+--echo # Success!
+
+SELECT COUNT(1) FROM t1;
+SELECT COUNT(1) FROM t2;
+SELECT COUNT(1) FROM t3;
+SELECT COUNT(1) FROM t4;
+SELECT COUNT(1) FROM t5;
+
+drop table t1,t2,t3,t4, t5;
+
+# reset system
+--disable_query_log
+--disable_warnings
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+EVAL SET GLOBAL innodb_encrypt_tables = $encrypt_tables;
+EVAL SET GLOBAL innodb_encryption_threads = $threads;
+EVAL set GLOBAL innodb_default_encryption_key_id = $key_id;
+--enable_warnings
+--enable_query_log
+
+
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_is.opt b/mysql-test/suite/encryption/t/innodb_encryption_is.opt
new file mode 100644
index 00000000000..26c706840e8
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_is.opt
@@ -0,0 +1 @@
+--loose-innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_is.test b/mysql-test/suite/encryption/t/innodb_encryption_is.test
new file mode 100644
index 00000000000..333bb84c634
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_is.test
@@ -0,0 +1,31 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+CREATE TABLE t1 (c VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=1;
+CREATE TABLE t2 (c VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=2;
+INSERT INTO t1 VALUES ('foobar');
+INSERT INTO t2 VALUES ('foobar');
+
+#
+# MDEV-9640: Add used key_id to INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION
+#
+SELECT NAME, ENCRYPTION_SCHEME, MIN_KEY_VERSION, CURRENT_KEY_VERSION,
+CURRENT_KEY_ID
+FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION
+WHERE NAME LIKE '%t1' OR NAME LIKE '%t2';
+
+DROP TABLE t1, t2;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_row_compressed.opt b/mysql-test/suite/encryption/t/innodb_encryption_row_compressed.opt
new file mode 100644
index 00000000000..7ebf81a07f3
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_row_compressed.opt
@@ -0,0 +1,4 @@
+--innodb-encrypt-tables=ON
+--innodb-encryption-rotate-key-age=15
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_row_compressed.test b/mysql-test/suite/encryption/t/innodb_encryption_row_compressed.test
new file mode 100644
index 00000000000..0a28c1690a2
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_row_compressed.test
@@ -0,0 +1,125 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+-- source include/not_embedded.inc
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+create table innodb_compressed1(c1 bigint not null primary key, d int, a varchar(20), b char(200)) engine=innodb row_format=compressed encrypted=yes;
+create table innodb_compressed2(c1 bigint not null primary key, d int, a varchar(20), b char(200)) engine=innodb row_format=compressed key_block_size=1 encrypted=yes;
+create table innodb_compressed3(c1 bigint not null primary key, d int, a varchar(20), b char(200)) engine=innodb row_format=compressed key_block_size=2 encrypted=yes;
+create table innodb_compressed4(c1 bigint not null primary key, d int, a varchar(20), b char(200)) engine=innodb row_format=compressed key_block_size=4 encrypted=yes;
+
+insert into innodb_compressed1 values (1, 20, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (2, 20, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (3, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (4, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (5, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (6, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (7, 30, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (8, 20, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (9, 20, 'private', 'evenmoreprivate');
+insert into innodb_compressed1 values (10, 20, 'private', 'evenmoreprivate');
+
+insert into innodb_compressed2 select * from innodb_compressed1;
+insert into innodb_compressed3 select * from innodb_compressed1;
+insert into innodb_compressed4 select * from innodb_compressed1;
+
+--source include/restart_mysqld.inc
+
+--let $MYSQLD_DATADIR=`select @@datadir`
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_compressed1.ibd
+--let t2_IBD = $MYSQLD_DATADIR/test/innodb_compressed2.ibd
+--let t3_IBD = $MYSQLD_DATADIR/test/innodb_compressed3.ibd
+--let t4_IBD = $MYSQLD_DATADIR/test/innodb_compressed4.ibd
+--let SEARCH_RANGE = 10000000
+--let SEARCH_PATTERN=private
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t2 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t3 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t4 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t4_IBD
+-- source include/search_pattern_in_file.inc
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+select * from innodb_compressed1 where d = 20;
+select * from innodb_compressed1 where d = 30;
+select * from innodb_compressed2 where d = 20;
+select * from innodb_compressed2 where d = 30;
+select * from innodb_compressed3 where d = 20;
+select * from innodb_compressed3 where d = 30;
+select * from innodb_compressed4 where d = 20;
+select * from innodb_compressed4 where d = 30;
+
+update innodb_compressed1 set d = d + 10 where d = 30;
+update innodb_compressed2 set d = d + 10 where d = 30;
+update innodb_compressed3 set d = d + 10 where d = 30;
+update innodb_compressed4 set d = d + 10 where d = 30;
+
+insert into innodb_compressed1 values (20, 60, 'newprivate', 'newevenmoreprivate');
+insert into innodb_compressed2 values (20, 60, 'newprivate', 'newevenmoreprivate');
+insert into innodb_compressed3 values (20, 60, 'newprivate', 'newevenmoreprivate');
+insert into innodb_compressed4 values (20, 60, 'newprivate', 'newevenmoreprivate');
+
+--let SEARCH_PATTERN=private
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t2 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t3 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t4 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t4_IBD
+-- source include/search_pattern_in_file.inc
+
+--source include/restart_mysqld.inc
+
+select * from innodb_compressed1 where d = 40;
+select * from innodb_compressed1 where d = 60;
+select * from innodb_compressed2 where d = 40;
+select * from innodb_compressed2 where d = 60;
+select * from innodb_compressed3 where d = 40;
+select * from innodb_compressed3 where d = 60;
+select * from innodb_compressed4 where d = 40;
+select * from innodb_compressed4 where d = 60;
+
+--let SEARCH_PATTERN=private
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t2 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t2_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t3 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t3_IBD
+-- source include/search_pattern_in_file.inc
+--echo # t4 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$t4_IBD
+-- source include/search_pattern_in_file.inc
+
+drop table innodb_compressed1;
+drop table innodb_compressed2;
+drop table innodb_compressed3;
+drop table innodb_compressed4;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_tables.opt b/mysql-test/suite/encryption/t/innodb_encryption_tables.opt
new file mode 100644
index 00000000000..0b7319dcef5
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_tables.opt
@@ -0,0 +1,7 @@
+--aria-encrypt-tables=ON
+--encrypt-tmp-disk-tables=ON
+--innodb-encrypt-tables=ON
+--innodb-encrypt-log=ON
+--innodb-encryption-rotate-key-age=15
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/innodb_encryption_tables.test b/mysql-test/suite/encryption/t/innodb_encryption_tables.test
new file mode 100644
index 00000000000..f806b776800
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_encryption_tables.test
@@ -0,0 +1,114 @@
+-- source include/have_innodb.inc
+-- source include/have_example_key_management_plugin.inc
+-- source include/not_embedded.inc
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic;
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant;
+
+show warnings;
+
+show create table innodb_normal;
+show create table innodb_compact;
+show create table innodb_dynamic;
+show create table innodb_compressed;
+show create table innodb_redundant;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into innodb_normal values(current_num, substring(MD5(RAND()), -64));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+set autocommit=0;
+call innodb_insert_proc(2000);
+commit;
+set autocommit=1;
+
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+
+update innodb_normal set c1 = c1 + 1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_normal;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+select count(*) from innodb_compressed where c1 < 1500000;
+select count(*) from innodb_redundant where c1 < 1500000;
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
+
+--source include/restart_mysqld.inc
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+update innodb_normal set c1 = c1 + 1;
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+update innodb_compressed set c1 = c1 + 1;
+update innodb_redundant set c1 = c1 + 1;
+select count(*) from innodb_normal;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+select count(*) from innodb_compressed where c1 < 1500000;
+select count(*) from innodb_redundant where c1 < 1500000;
+select count(*) from innodb_compact t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_dynamic t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_compressed t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+select count(*) from innodb_redundant t1, innodb_normal t2 where
+t1.c1 = t2.c1 and t1.b = t2.b;
+
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
+
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_dynamic;
+drop table innodb_compressed;
+drop table innodb_redundant;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
diff --git a/mysql-test/suite/encryption/t/innodb_first_page.opt b/mysql-test/suite/encryption/t/innodb_first_page.opt
new file mode 100644
index 00000000000..1a9099a649d
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_first_page.opt
@@ -0,0 +1,2 @@
+--innodb-encrypt-tables
+--innodb-encrypt-log
diff --git a/mysql-test/suite/encryption/t/innodb_first_page.test b/mysql-test/suite/encryption/t/innodb_first_page.test
new file mode 100644
index 00000000000..a0c563b1854
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_first_page.test
@@ -0,0 +1,32 @@
+#
+# MDEV-8021 "InnoDB: Tablespace id 4 encrypted but encryption service not available. Can't continue opening tablespace" on server restart when there are encrypted tables
+#
+
+--source include/have_innodb.inc
+--source include/have_file_key_management_plugin.inc
+
+call mtr.add_suppression("InnoDB: New log files created, LSN");
+call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+
+let datadir=`select @@datadir`;
+
+--exec echo wait > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+shutdown;
+
+--source include/wait_until_disconnected.inc
+
+--remove_file $datadir/ib_logfile0
+--remove_file $datadir/ib_logfile1
+--remove_file $datadir/ibdata1
+
+--exec echo restart > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+create table t1 (a int);
+
+--source include/restart_mysqld.inc
+
+drop table t1;
diff --git a/mysql-test/suite/encryption/t/innodb_lotoftables.opt b/mysql-test/suite/encryption/t/innodb_lotoftables.opt
new file mode 100644
index 00000000000..ffb5a2957f8
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_lotoftables.opt
@@ -0,0 +1,3 @@
+--innodb-tablespaces-encryption
+--innodb-encrypt-tables=off
+--innodb-encryption-threads=0
diff --git a/mysql-test/suite/encryption/t/innodb_lotoftables.test b/mysql-test/suite/encryption/t/innodb_lotoftables.test
new file mode 100644
index 00000000000..e204de3bb7b
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_lotoftables.test
@@ -0,0 +1,240 @@
+-- source include/have_innodb.inc
+-- source include/have_example_key_management_plugin.inc
+-- source include/big_test.inc
+
+# embedded does not support restart
+-- source include/not_embedded.inc
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+let $innodb_encryption_threads_orig = `SELECT @@global.innodb_encryption_threads`;
+--enable_query_log
+
+# empty the change buffer and the undo logs to avoid extra reads
+SET GLOBAL innodb_fast_shutdown=0;
+--source include/restart_mysqld.inc
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+SHOW VARIABLES LIKE 'innodb_encrypt%';
+
+#
+# This will create 100 tables where that could be
+# encrypted an unencrypt
+#
+create database innodb_encrypted_1;
+use innodb_encrypted_1;
+show status like 'innodb_pages0_read%';
+set autocommit=0;
+let $tables = 100;
+
+--disable_query_log
+while ($tables)
+{
+ eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb
+ stats_persistent=0;
+ commit;
+ let $rows = 100;
+ while($rows)
+ {
+ eval insert into t_$tables values ($rows, substring(MD5(RAND()), -64));
+ dec $rows;
+ }
+ commit;
+ dec $tables;
+}
+--enable_query_log
+
+set autocommit=1;
+commit work;
+show status like 'innodb_pages0_read%';
+#
+# Verify
+#
+--echo # should be empty
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE NAME LIKE 'innodb_encrypted%';
+
+#
+# This will create 100 tables that are encrypted always
+#
+create database innodb_encrypted_2;
+use innodb_encrypted_2;
+show status like 'innodb_pages0_read%';
+set autocommit=0;
+
+--disable_query_log
+let $tables = 100;
+while ($tables)
+{
+ eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb
+ stats_persistent=0 encrypted=yes;
+ commit;
+ let $rows = 100;
+ while($rows)
+ {
+ eval insert into t_$tables values ($rows, substring(MD5(RAND()), -64));
+ dec $rows;
+ }
+ commit;
+ dec $tables;
+}
+--enable_query_log
+
+commit work;
+set autocommit=1;
+show status like 'innodb_pages0_read%';
+#
+# Verify
+#
+--echo # should contain 100 tables
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+--echo # should contain 0 tables
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+
+#
+# This will create 100 tables that are not encrypted
+#
+create database innodb_encrypted_3;
+use innodb_encrypted_3;
+show status like 'innodb_pages0_read%';
+set autocommit=0;
+
+--disable_query_log
+let $tables = 100;
+while ($tables)
+{
+ eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb
+ stats_persistent=0 encrypted=no;
+ commit;
+ let $rows = 100;
+ while($rows)
+ {
+ eval insert into t_$tables values ($rows, substring(MD5(RAND()), -64));
+ dec $rows;
+ }
+ commit;
+ dec $tables;
+}
+--enable_query_log
+
+commit work;
+set autocommit=1;
+show status like 'innodb_pages0_read%';
+#
+# Verify
+#
+--echo # should contain 100 tables
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+--echo # should contain 100 tables
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+
+use test;
+show status like 'innodb_pages0_read%';
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+
+SET GLOBAL innodb_encrypt_tables = on;
+SET GLOBAL innodb_encryption_threads=4;
+
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = 100 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+show status like 'innodb_pages0_read%';
+
+--echo # Success!
+--echo # Restart mysqld --innodb_encrypt_tables=0 --innodb_encryption_threads=0
+-- let $restart_parameters=--innodb_encrypt_tables=0 --innodb_encryption_threads=0
+-- source include/restart_mysqld.inc
+
+--echo # Restart Success!
+show status like 'innodb_pages0_read%';
+
+show status like 'innodb_pages0_read%';
+use test;
+show status like 'innodb_pages0_read%';
+use innodb_encrypted_1;
+show status like 'innodb_pages0_read%';
+use innodb_encrypted_2;
+show status like 'innodb_pages0_read%';
+use innodb_encrypted_3;
+show status like 'innodb_pages0_read%';
+
+use innodb_encrypted_1;
+show status like 'innodb_pages0_read%';
+--disable_result_log
+--disable_query_log
+let $tables = 100;
+while ($tables)
+{
+ eval select * from t_$tables;
+ dec $tables;
+}
+--enable_query_log
+--enable_result_log
+
+show status like 'innodb_pages0_read%';
+
+use innodb_encrypted_2;
+show status like 'innodb_pages0_read%';
+
+--disable_result_log
+--disable_query_log
+let $tables = 100;
+while ($tables)
+{
+ eval select * from t_$tables;
+ dec $tables;
+}
+--enable_query_log
+--enable_result_log
+
+show status like 'innodb_pages0_read%';
+
+use innodb_encrypted_3;
+show status like 'innodb_pages0_read%';
+--disable_result_log
+--disable_query_log
+let $tables = 100;
+while ($tables)
+{
+ eval select * from t_$tables;
+ dec $tables;
+}
+--enable_query_log
+--enable_result_log
+
+show status like 'innodb_pages0_read%';
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+
+SET GLOBAL innodb_encrypt_tables = off;
+SET GLOBAL innodb_encryption_threads=4;
+
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = 100 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+--source include/wait_condition.inc
+
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME;
+
+#
+# Cleanup
+#
+use test;
+drop database innodb_encrypted_1;
+drop database innodb_encrypted_2;
+drop database innodb_encrypted_3;
+
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+EVAL SET GLOBAL innodb_encryption_threads = $innodb_encryption_threads_orig;
+--enable_query_log
diff --git a/mysql-test/suite/encryption/t/innodb_onlinealter_encryption.opt b/mysql-test/suite/encryption/t/innodb_onlinealter_encryption.opt
new file mode 100644
index 00000000000..38d69691ed6
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_onlinealter_encryption.opt
@@ -0,0 +1,5 @@
+--innodb-encrypt-tables=ON
+--innodb-encrypt-log=ON
+--innodb-encryption-rotate-key-age=15
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
diff --git a/mysql-test/suite/encryption/t/innodb_onlinealter_encryption.test b/mysql-test/suite/encryption/t/innodb_onlinealter_encryption.test
new file mode 100644
index 00000000000..3e308bec247
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_onlinealter_encryption.test
@@ -0,0 +1,143 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+# test uses restart
+-- source include/not_embedded.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t2 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB;
+CREATE TABLE t3 (id INT, a VARCHAR(255)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t4 (id INT, a VARCHAR(255)) engine=InnoDB;
+CREATE TABLE t5 (id INT NOT NULL PRIMARY KEY, a TEXT(500), b VARCHAR(255), FULLTEXT(b)) ENGINE=InnoDB encrypted=yes;
+CREATE TABLE t6 (id INT, a TEXT(500), b VARCHAR(255), FULLTEXT(b)) ENGINE=InnoDB;
+CREATE TABLE t7 (id INT NOT NULL PRIMARY KEY, a VARCHAR(255)) ENGINE=InnoDB row_format=compressed encrypted=yes;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into t1 values (current_num,repeat('foobar',12));
+ insert into t2 values (current_num,repeat('tempsecret', 12));
+ insert into t3 values (current_num,repeat('barfoo',42));
+ insert into t4 values (current_num,repeat('repeat',42));
+ insert into t5 values (current_num,substring('A BC DEF GHIJ KLM NOPQRS TUV WXYZ 012 3456789', rand()*36+1, 100), repeat('author new',22));
+ insert into t6 values (current_num,substring('A BC DEF GHIJ KLM NOPQRS TUV WXYZ 012 3456789', rand()*36+1, 100), repeat('mangled old',22));
+ insert into t7 values (current_num,repeat('mysql',42));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+set autocommit=0;
+call innodb_insert_proc(1500);
+commit;
+set autocommit=1;
+
+--echo # Wait max 10 min for key encryption threads to encrypt all spaces
+--let $wait_timeout= 600
+--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0
+--source include/wait_condition.inc
+--let $MYSQLD_DATADIR=`select @@datadir`
+
+--source include/shutdown_mysqld.inc
+
+--let SEARCH_RANGE = 10000000
+--let SEARCH_PATTERN=foobar
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t1.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=tempsecret
+--echo # t2 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t2.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=barfoo
+--echo # t3 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t3.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=repeat
+--echo # t4 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t4.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=author
+--echo # t5 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t5.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=mangled
+--echo # t6 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t6.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=mysql
+--echo # t7 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t7.ibd
+-- source include/search_pattern_in_file.inc
+
+-- source include/start_mysqld.inc
+
+--disable_warnings
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+--enable_warnings
+
+ALTER TABLE t1 ADD COLUMN b int default 2;
+ALTER TABLE t2 ADD COLUMN b int default 2;
+ALTER TABLE t7 ADD COLUMN b int default 2;
+ALTER TABLE t1 ADD KEY a(a), ADD KEY b(b);
+ALTER TABLE t2 ADD KEY a(a), ADD KEY b(b);
+ALTER TABLE t3 ADD COLUMN c int default 5;
+ALTER TABLE t4 ADD COLUMN c int default 5;
+ALTER TABLE t3 ADD KEY (a), ADD KEY c(c);
+ALTER TABLE t4 ADD KEY (a), ADD KEY c(c);
+ALTER TABLE t5 ADD FULLTEXT(a);
+ALTER TABLE t6 ADD FULLTEXT(a);
+ALTER TABLE t7 ADD KEY a(a), ADD key b(b);
+
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+SHOW CREATE TABLE t3;
+SHOW CREATE TABLE t4;
+SHOW CREATE TABLE t5;
+SHOW CREATE TABLE t6;
+SHOW CREATE TABLE t7;
+
+--source include/shutdown_mysqld.inc
+
+--let SEARCH_PATTERN=foobar
+--echo # t1 yes on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t1.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=tempsecret
+--echo # t2 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t2.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=barfoo
+--echo # t3 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t3.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=repeat
+--echo # t4 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t4.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=author
+--echo # t5 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t5.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=mangled
+--echo # t6 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t6.ibd
+-- source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=mysql
+--echo # t7 ... on expecting NOT FOUND
+-- let SEARCH_FILE=$MYSQLD_DATADIR/test/t7.ibd
+-- source include/search_pattern_in_file.inc
+
+-- source include/start_mysqld.inc
+
+DROP PROCEDURE innodb_insert_proc;
+DROP TABLE t1, t2, t3, t4, t5, t6, t7;
diff --git a/mysql-test/suite/encryption/t/innodb_page_encryption_key_change.test b/mysql-test/suite/encryption/t/innodb_page_encryption_key_change.test
new file mode 100644
index 00000000000..7cbf005ed32
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_page_encryption_key_change.test
@@ -0,0 +1,96 @@
+-- source include/have_innodb.inc
+-- source include/have_file_key_management_plugin.inc
+# embedded does not support restart
+-- source include/not_embedded.inc
+
+--echo # Restart mysqld --loose-file-key-management-filename=keys2.txt
+-- let $restart_parameters=--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
+-- source include/restart_mysqld.inc
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+show warnings;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=2;
+show warnings;
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=3;
+show warnings;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=4;
+show warnings;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=5;
+show warnings;
+
+insert into innodb_normal values (1,'test1'),(2,'foo'),(3,'bar'),(4,'mariadb');
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_compressed select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+insert into innodb_redundant select * from innodb_normal;
+
+# Note there that these variables are updated only when real I/O is done, thus they are not reliable
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+alter table innodb_compact engine=innodb encryption_key_id = 6;
+alter table innodb_compressed engine=innodb encryption_key_id = 6;
+alter table innodb_dynamic engine=innodb encryption_key_id = 6;
+alter table innodb_redundant engine=innodb encryption_key_id = 6;
+
+select * from innodb_normal;
+select * from innodb_compact;
+select * from innodb_compressed;
+select * from innodb_dynamic;
+select * from innodb_redundant;
+
+# Note there that these variables are updated only when real I/O is done, thus they are not reliable
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+--echo # Restart mysqld --loose-file-key-management-filename=keys3.txt
+-- let $restart_parameters=--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
+-- source include/restart_mysqld.inc
+
+select * from innodb_normal;
+select * from innodb_compact;
+select * from innodb_compressed;
+select * from innodb_dynamic;
+select * from innodb_redundant;
+
+# Note there that these variables are updated only when real I/O is done, thus they are not reliable
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+alter table innodb_compact engine=innodb encryption_key_id = 2;
+alter table innodb_compressed engine=innodb encryption_key_id = 3;
+alter table innodb_dynamic engine=innodb encryption_key_id = 4;
+alter table innodb_redundant engine=innodb encryption_key_id = 5;
+
+select * from innodb_normal;
+select * from innodb_compact;
+select * from innodb_compressed;
+select * from innodb_dynamic;
+select * from innodb_redundant;
+
+# Note there that these variables are updated only when real I/O is done, thus they are not reliable
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
+SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
+
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_compressed;
+drop table innodb_dynamic;
+drop table innodb_redundant;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
diff --git a/mysql-test/suite/encryption/t/innodb_scrub.opt b/mysql-test/suite/encryption/t/innodb_scrub.opt
new file mode 100644
index 00000000000..3adb645c589
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_scrub.opt
@@ -0,0 +1,9 @@
+--innodb-background-scrub-data-compressed=OFF
+--innodb-background-scrub-data-uncompressed=OFF
+--innodb-encrypt-tables=OFF
+--innodb-encryption-threads=0
+--innodb-file-format=Barracuda
+--innodb-file-per-table=1
+--innodb-immediate-scrub-data-uncompressed=ON
+--loose-innodb-debug-force-scrubbing=ON
+--innodb-tablespaces-scrubbing
diff --git a/mysql-test/suite/encryption/t/innodb_scrub.test b/mysql-test/suite/encryption/t/innodb_scrub.test
new file mode 100644
index 00000000000..6cb48530f86
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_scrub.test
@@ -0,0 +1,147 @@
+-- source include/have_innodb.inc
+-- source include/not_embedded.inc
+-- source include/have_example_key_management_plugin.inc
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+let INNODB_PAGE_SIZE= `select @@innodb_page_size`;
+
+create table snapshot_status engine = myisam
+select * from information_schema.global_status
+where variable_name like 'innodb_scrub%';
+
+let $rowcount=500;
+let $maxformatno= 4;
+let $formatno= $maxformatno;
+
+--echo # MDEV-8139 Fix scrubbing tests
+--echo # FIXME: Add index(b) to each table; ensure that undo logs are scrubbed.
+let $tableformat= (
+ a int auto_increment primary key,
+ b varchar(256),
+ c text) engine = innodb row_format;
+
+while ($formatno)
+{
+dec $formatno;
+let $format = `select case $formatno
+ when 0 then 'dynamic'
+ when 1 then 'redundant'
+ when 2 then 'compact'
+ when 3 then 'compressed'
+ end`;
+
+let $t= delete_$formatno;
+eval create table $t $tableformat=$format;
+
+let $numinserts = $rowcount;
+--disable_query_log
+begin;
+while ($numinserts)
+{
+ dec $numinserts;
+ eval insert into $t(b,c) values ('repairman', repeat('unicycle', 1000));
+}
+commit;
+--enable_query_log
+
+eval delete from $t;
+
+let $t= delete_rollback_delete_$formatno;
+eval create table $t $tableformat=$format;
+
+let $numinserts = $rowcount;
+--disable_query_log
+begin;
+while ($numinserts)
+{
+ dec $numinserts;
+ eval insert into $t(b,c) values ('breakhuman', repeat('bicycle', 1000));
+}
+commit;
+--enable_query_log
+
+begin;
+eval delete from $t;
+rollback;
+eval delete from $t;
+
+let $t= insert_rollback_$formatno;
+
+eval create table $t $tableformat=$format;
+
+let $numinserts = $rowcount;
+begin;
+--disable_query_log
+while ($numinserts)
+{
+ dec $numinserts;
+ eval insert into $t(b,c) values ('wonderwoman', repeat('tricycle', 1000));
+}
+--enable_query_log
+
+rollback;
+}
+
+SET GLOBAL innodb_fast_shutdown=0;
+-- source include/shutdown_mysqld.inc
+
+let SEARCH_ABORT= FOUND;
+let SEARCH_PATTERN= (un|b|tr)icycle|(repair|breakhu|wonderwo)man;
+let SEARCH_RANGE= 12582912;
+let SEARCH_FILE= $MYSQLD_DATADIR/ibdata1;
+
+# We may randomly find copies of unscrubbed pages in the doublewrite buffer.
+# Let us scrub the doublewrite buffer ourselves.
+perl;
+use Fcntl 'SEEK_SET';
+my $page_size = $ENV{INNODB_PAGE_SIZE};
+open(FILE, "+<", "$ENV{SEARCH_FILE}") or die "cannot open: $!\n";
+seek(FILE, $page_size * 64, SEEK_SET) or die "cannot seek: $!\n";
+print(FILE chr(0) x ($page_size * 128)) or die "cannot write: $!\n";
+close FILE or die "cannot close: $!\n";;
+EOF
+
+-- source include/search_pattern_in_file.inc
+
+let $formatno= $maxformatno;
+while ($formatno)
+{
+dec $formatno;
+
+let $t= delete_$formatno.ibd;
+let SEARCH_FILE= $MYSQLD_DATADIR/test/$t;
+-- echo # $t
+-- source include/search_pattern_in_file.inc
+let $t= delete_rollback_delete_$formatno.ibd;
+let SEARCH_FILE= $MYSQLD_DATADIR/test/$t;
+-- echo # $t
+-- source include/search_pattern_in_file.inc
+let $t= insert_rollback_$formatno.ibd;
+let SEARCH_FILE= $MYSQLD_DATADIR/test/$t;
+-- echo # $t
+-- source include/search_pattern_in_file.inc
+}
+
+-- source include/start_mysqld.inc
+
+let $formatno= $maxformatno;
+while ($formatno)
+{
+dec $formatno;
+
+let $t= delete_$formatno, delete_rollback_delete_$formatno, insert_rollback_$formatno;
+
+eval check table $t;
+eval drop table $t;
+}
+
+show variables like 'innodb_%scrub_data%';
+
+--echo # verify that this test have not caused any background scrubbing
+--sorted_result
+select ss.variable_name, gs.variable_value - ss.variable_value as variable_value
+from snapshot_status ss,
+ information_schema.global_status gs
+where ss.variable_name = gs.variable_name;
+
+drop table snapshot_status;
diff --git a/mysql-test/suite/encryption/t/innodb_scrub_background.opt b/mysql-test/suite/encryption/t/innodb_scrub_background.opt
new file mode 100644
index 00000000000..1cc525b2402
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_scrub_background.opt
@@ -0,0 +1,9 @@
+--innodb-file-per-table=1
+--innodb-file-format=Barracuda
+--innodb-immediate-scrub-data-uncompressed=OFF
+--innodb-background-scrub-data-uncompressed=ON
+--innodb-background-scrub-data-compressed=ON
+--loose-innodb-debug-force-scrubbing=ON
+--innodb-encryption-threads=0
+--innodb-encrypt-tables=OFF
+--innodb-tablespaces-scrubbing
diff --git a/mysql-test/suite/encryption/t/innodb_scrub_background.test b/mysql-test/suite/encryption/t/innodb_scrub_background.test
new file mode 100644
index 00000000000..c705ee51006
--- /dev/null
+++ b/mysql-test/suite/encryption/t/innodb_scrub_background.test
@@ -0,0 +1,170 @@
+-- source include/have_innodb.inc
+-- source include/not_embedded.inc
+-- source include/have_example_key_management_plugin.inc
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+let INNODB_PAGE_SIZE= `select @@innodb_page_size`;
+
+--echo #
+--echo # immediate scrubbing is off
+--echo # background scrubbing is on
+--echo #
+show variables like 'innodb_%scrub_data%';
+
+-- echo # make sure spaces are checked quickly
+SET GLOBAL innodb_background_scrub_data_check_interval=1;
+
+let $rowcount=500;
+let $maxformatno= 4;
+let $formatno= $maxformatno;
+
+let $tableformat= (
+ a int auto_increment primary key,
+ b varchar(256),
+ c text,
+ index(b)) engine = innodb row_format;
+
+while ($formatno)
+{
+dec $formatno;
+let $format = `select case $formatno
+ when 0 then 'dynamic'
+ when 1 then 'redundant'
+ when 2 then 'compact'
+ when 3 then 'compressed'
+ end`;
+
+let $t= delete_$formatno;
+eval create table $t $tableformat=$format;
+
+let $numinserts = $rowcount;
+-- echo # Populate table with rows
+--disable_query_log
+begin;
+while ($numinserts)
+{
+ dec $numinserts;
+ eval insert into $t(b,c) values ('unicycle', repeat('wonderwoman', 1000));
+}
+commit;
+--enable_query_log
+
+eval delete from $t;
+
+let $t= delete_rollback_delete_$formatno;
+
+eval create table $t $tableformat=$format;
+
+let $numinserts = $rowcount;
+-- echo # Populate table with rows
+--disable_query_log
+begin;
+while ($numinserts)
+{
+ dec $numinserts;
+ eval insert into $t(b,c) values ('bicycle', repeat('repairman', 1000));
+}
+commit;
+--enable_query_log
+
+begin;
+eval delete from $t;
+rollback;
+eval delete from $t;
+
+let $t= insert_rollback_$formatno;
+
+eval create table $t $tableformat=$format;
+
+let $numinserts = $rowcount;
+-- echo # Populate table with rows
+begin;
+--disable_query_log
+while ($numinserts)
+{
+ dec $numinserts;
+ eval insert into $t(b,c) values ('tricycle', repeat('superhuman', 1000));
+}
+--enable_query_log
+
+rollback;
+}
+
+-- echo # start scrubbing threads
+SET GLOBAL innodb_encryption_threads=5;
+-- echo # Wait max 10 min for scrubbing
+let $cnt=600;
+while ($cnt)
+{
+ let $success=`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_SCRUBBING WHERE LAST_SCRUB_COMPLETED IS NULL AND ( NAME in ('test/t1', 'test/t2', 'test/t3') OR SPACE = 0 )`;
+ if ($success)
+ {
+ let $cnt=0;
+ }
+ if (!$success)
+ {
+ real_sleep 1;
+ dec $cnt;
+ }
+}
+if (!$success)
+{
+ SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_SCRUBBING;
+ SHOW STATUS LIKE 'innodb_%scrub%';
+ -- die Timeout waiting for background threads
+}
+
+SET GLOBAL innodb_fast_shutdown=0;
+-- source include/shutdown_mysqld.inc
+
+let SEARCH_ABORT= FOUND;
+let SEARCH_PATTERN= (un|b|tr)icycle|(repair|breakhu|wonderwo)man;
+let SEARCH_RANGE= 12582912;
+let SEARCH_FILE= $MYSQLD_DATADIR/ibdata1;
+
+# We may randomly find copies of unscrubbed pages in the doublewrite buffer.
+# Let us scrub the doublewrite buffer ourselves.
+perl;
+use Fcntl 'SEEK_SET';
+my $page_size = $ENV{INNODB_PAGE_SIZE};
+open(FILE, "+<", "$ENV{SEARCH_FILE}") or die "cannot open: $!\n";
+seek(FILE, $page_size * 64, SEEK_SET) or die "cannot seek: $!\n";
+print(FILE chr(0) x ($page_size * 128)) or die "cannot write: $!\n";
+close FILE or die "cannot close: $!\n";;
+EOF
+
+-- source include/search_pattern_in_file.inc
+
+let $formatno= $maxformatno;
+while ($formatno)
+{
+dec $formatno;
+
+let $t= delete_$formatno.ibd;
+let SEARCH_FILE= $MYSQLD_DATADIR/test/$t;
+-- echo # $t
+-- source include/search_pattern_in_file.inc
+let $t= delete_rollback_delete_$formatno.ibd;
+let SEARCH_FILE= $MYSQLD_DATADIR/test/$t;
+-- echo # $t
+-- source include/search_pattern_in_file.inc
+let $t= insert_rollback_$formatno.ibd;
+let SEARCH_FILE= $MYSQLD_DATADIR/test/$t;
+-- echo # $t
+-- source include/search_pattern_in_file.inc
+}
+
+-- source include/start_mysqld.inc
+
+let $formatno= $maxformatno;
+while ($formatno)
+{
+dec $formatno;
+
+let $t= delete_$formatno, delete_rollback_delete_$formatno, insert_rollback_$formatno;
+
+eval check table $t;
+eval drop table $t;
+}
+
+show variables like 'innodb_%scrub_data%';
diff --git a/mysql-test/suite/encryption/t/second_plugin-12863.test b/mysql-test/suite/encryption/t/second_plugin-12863.test
new file mode 100644
index 00000000000..c04fccf9716
--- /dev/null
+++ b/mysql-test/suite/encryption/t/second_plugin-12863.test
@@ -0,0 +1,16 @@
+#
+# MDEV-12863 No table can be created after second encryption plugin attempted to load
+#
+--source include/have_innodb.inc
+--source include/have_file_key_management_plugin.inc
+
+call mtr.add_suppression('debug.key.management');
+
+--error 1123
+install soname 'debug_key_management';
+
+create table t1 (a varchar(255)) engine=innodb encrypted=yes;
+create table t2 (a varchar(255)) engine=innodb;
+create table t3 (a varchar(255)) engine=innodb encrypted=no;
+
+drop table t1, t2, t3;
diff --git a/mysql-test/suite/encryption/t/tempfiles.combinations b/mysql-test/suite/encryption/t/tempfiles.combinations
new file mode 100644
index 00000000000..7010d2c100d
--- /dev/null
+++ b/mysql-test/suite/encryption/t/tempfiles.combinations
@@ -0,0 +1,5 @@
+[none]
+binlog-checksum=NONE
+
+[crc32]
+binlog-checksum=CRC32
diff --git a/mysql-test/suite/encryption/t/tempfiles.opt b/mysql-test/suite/encryption/t/tempfiles.opt
new file mode 100644
index 00000000000..2b90f474428
--- /dev/null
+++ b/mysql-test/suite/encryption/t/tempfiles.opt
@@ -0,0 +1 @@
+--encrypt-tmp-files
diff --git a/mysql-test/suite/encryption/t/tempfiles.test b/mysql-test/suite/encryption/t/tempfiles.test
new file mode 100644
index 00000000000..5232bcb5d12
--- /dev/null
+++ b/mysql-test/suite/encryption/t/tempfiles.test
@@ -0,0 +1,86 @@
+#
+# Various test cases for IO_CACHE tempfiles (file==-1) encryption
+#
+source include/have_file_key_management_plugin.inc;
+source include/have_sequence.inc;
+
+# Row binlog format to fill binlog cache faster
+source include/have_binlog_format_row.inc;
+
+# Nothing XtraDB specific in this test, it just needs *some* transactional
+# engine. But there's no need to run it twice for InnoDB and XtraDB.
+source include/have_xtradb.inc;
+
+select @@encrypt_tmp_files;
+
+#
+# MyISAM messing around with IO_CACHE::file
+#
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES(1),(2);
+DELETE FROM t1 WHERE a=1;
+OPTIMIZE TABLE t1;
+CHECK TABLE t1;
+DROP TABLE t1;
+
+#
+# filesort, my_b_pread, seeks in READ_CACHE
+#
+create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10)));
+insert into t1 (v) select concat(char(ascii('a')+s2.seq),repeat(' ',s1.seq))
+ from seq_0_to_9 as s1, seq_0_to_26 as s2;
+update t1 set c=v, t=v;
+select sql_big_result t,count(t) from t1 group by t limit 10;
+drop table t1;
+
+reset master;
+set global binlog_cache_size=8192;
+
+connect con1, localhost, root;
+
+#
+# Test the last half-filled block:
+# first write 3 blocks, then reinit the file and write one full and one
+# partial block. reading the second time must stop in the middle of the
+# second block, and NOT read till EOF.
+#
+create table t1 (a text) engine=innodb;
+start transaction;
+insert t1 select repeat(seq, 1000) from seq_1_to_15;
+commit;
+start transaction;
+insert t1 select repeat(seq, 1000) from seq_1_to_8;
+commit;
+
+disconnect con1;
+connect con2, localhost, root;
+
+#
+# Test reinit_io_cache(WRITE_CACHE) with non-zero seek_offset:
+# Start a transaction, write until the cache goes to disk,
+# create a savepoint, write more blocks to disk, rollback to savepoint.
+#
+create table t2 (a text) engine=innodb;
+start transaction;
+insert t2 select repeat(seq, 1000) from seq_1_to_15;
+savepoint foo;
+insert t2 select repeat(seq, 1000) from seq_16_to_30;
+rollback to savepoint foo;
+insert t2 select repeat(seq, 1000) from seq_31_to_40;
+commit;
+
+disconnect con2;
+connection default;
+
+flush binary logs;
+
+drop table t1, t2;
+
+set global binlog_cache_size=default;
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 | $MYSQL;
+
+select left(a, 10) from t1;
+select left(a, 10) from t2;
+drop table t1, t2;
diff --git a/mysql-test/suite/engines/README b/mysql-test/suite/engines/README
index 0f89d5af67f..fde920dbc25 100644
--- a/mysql-test/suite/engines/README
+++ b/mysql-test/suite/engines/README
@@ -1,17 +1,13 @@
-
-
-
-This directory includes a set of three test suites aimed as testing functionality
-in an engine independent way, that is - the tests should work identically against
-different engines.
-
+This directory includes a set of three test suites aimed as testing
+functionality in an engine independent way, that is - the tests should
+work identically against different engines.
The following suites are included:
1) 'funcs' suite
-------------
- A collection of functional tests covering basic engine and server functionality that can be run
- against iany engine.
+ A collection of functional tests covering basic engine and server
+ functionality that can be run against any engine.
To run the test suite:
cd INSTALL_DIR/mysql-test
@@ -19,7 +15,7 @@ The following suites are included:
2) 'iuds' suite
------------
- Similar to the above focused on insert/update/delete operations of different different data types.
+ Similar to the above focused on insert/update/delete operations of different data types.
To run the test suite:
cd INSTALL_DIR/mysql-test
@@ -44,13 +40,13 @@ The following suites are included:
3) Copy the 'init_innodb.txt' file to 'init_<engine>.txt file and change its content to be "init_<engine>".
4) In the 't' directory copy the "init_innodb.test" file to "init_<engine>.test" and change the value of
the '$engine' variable to <engine>.
- 5) In the 'r' directory copy "the init_innodb.result" file to "init_<engine>.result" and change refrences
+ 5) In the 'r' directory copy "the init_innodb.result" file to "init_<engine>.result" and change references
to 'InnoDB' to <engine>.
Known Issues
------------
-1) The folowing tests in the 'iuds' suite:
+1) The following tests in the 'iuds' suite:
- delete_decimal
- insert_decimal
- update_decimal
@@ -63,9 +59,9 @@ Known Issues
- ix_unique_string_length (bug 52056, masked by an 'Out of memory error' on some 32-bit platforms)
Add the '--force' option to prevent the test run from aborting.
-3) Some of the rpl_xxx tests in the 'funcs' suite require a secific binlog_forat setting and will be
- skipped otherwise.
-
-4) Some of the rpl_xxx tests in the 'funcs' suite will report a 'Statement unsafe for replication' warning
- when run againsr a server configured to use statement based replication.
+3) Some of the rpl_xxx tests in the 'funcs' suite require a specific
+ binlog_format setting and will be skipped otherwise.
+4) Some of the rpl_xxx tests in the 'funcs' suite will report a
+ 'Statement unsafe for replication' warning when run against a
+ server configured to use statement based replication.
diff --git a/mysql-test/suite/engines/funcs/combinations b/mysql-test/suite/engines/funcs/combinations
new file mode 100644
index 00000000000..4d236d27b8f
--- /dev/null
+++ b/mysql-test/suite/engines/funcs/combinations
@@ -0,0 +1,11 @@
+[innodb]
+innodb
+default-storage-engine=innodb
+partition
+
+[myisam]
+skip-innodb
+default-storage-engine=myisam
+partition
+
+
diff --git a/mysql-test/suite/engines/funcs/r/db_alter_character_set.result b/mysql-test/suite/engines/funcs/r/db_alter_character_set.result
index f69eadac1e3..48351449a72 100644
--- a/mysql-test/suite/engines/funcs/r/db_alter_character_set.result
+++ b/mysql-test/suite/engines/funcs/r/db_alter_character_set.result
@@ -33,6 +33,7 @@ latin7 ISO 8859-13 Baltic latin7_general_ci 1
utf8mb4 UTF-8 Unicode utf8mb4_general_ci 4
cp1251 Windows Cyrillic cp1251_general_ci 1
utf16 UTF-16 Unicode utf16_general_ci 4
+utf16le UTF-16LE Unicode utf16le_general_ci 4
cp1256 Windows Arabic cp1256_general_ci 1
cp1257 Windows Baltic cp1257_general_ci 1
utf32 UTF-32 Unicode utf32_general_ci 4
diff --git a/mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result b/mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result
index 9792236af0a..ee127d76bcc 100644
--- a/mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result
+++ b/mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result
@@ -77,8 +77,14 @@ utf8_persian_ci utf8 208 # #
utf8_esperanto_ci utf8 209 # #
utf8_hungarian_ci utf8 210 # #
utf8_sinhala_ci utf8 211 # #
-utf8_croatian_ci utf8 213 # #
+utf8_german2_ci utf8 212 # #
+utf8_croatian_mysql561_ci utf8 213 # #
+utf8_unicode_520_ci utf8 214 # #
+utf8_vietnamese_ci utf8 215 # #
utf8_general_mysql500_ci utf8 223 # #
+utf8_croatian_ci utf8 576 # #
+utf8_myanmar_ci utf8 577 # #
+utf8_thai_520_w2 utf8 578 # #
ucs2_general_ci ucs2 35 Yes # #
ucs2_bin ucs2 90 # #
ucs2_unicode_ci ucs2 128 # #
@@ -101,8 +107,14 @@ ucs2_persian_ci ucs2 144 # #
ucs2_esperanto_ci ucs2 145 # #
ucs2_hungarian_ci ucs2 146 # #
ucs2_sinhala_ci ucs2 147 # #
-ucs2_croatian_ci ucs2 149 # #
+ucs2_german2_ci ucs2 148 # #
+ucs2_croatian_mysql561_ci ucs2 149 # #
+ucs2_unicode_520_ci ucs2 150 # #
+ucs2_vietnamese_ci ucs2 151 # #
ucs2_general_mysql500_ci ucs2 159 # #
+ucs2_croatian_ci ucs2 640 # #
+ucs2_myanmar_ci ucs2 641 # #
+ucs2_thai_520_w2 ucs2 642 # #
cp866_general_ci cp866 36 Yes # #
cp866_bin cp866 68 # #
keybcs2_general_ci keybcs2 37 Yes # #
@@ -139,7 +151,13 @@ utf8mb4_persian_ci utf8mb4 240 # #
utf8mb4_esperanto_ci utf8mb4 241 # #
utf8mb4_hungarian_ci utf8mb4 242 # #
utf8mb4_sinhala_ci utf8mb4 243 # #
-utf8mb4_croatian_ci utf8mb4 245 # #
+utf8mb4_german2_ci utf8mb4 244 # #
+utf8mb4_croatian_mysql561_ci utf8mb4 245 # #
+utf8mb4_unicode_520_ci utf8mb4 246 # #
+utf8mb4_vietnamese_ci utf8mb4 247 # #
+utf8mb4_croatian_ci utf8mb4 608 # #
+utf8mb4_myanmar_ci utf8mb4 609 # #
+utf8mb4_thai_520_w2 utf8mb4 610 # #
cp1251_bulgarian_ci cp1251 14 # #
cp1251_ukrainian_ci cp1251 23 # #
cp1251_bin cp1251 50 # #
@@ -167,7 +185,15 @@ utf16_persian_ci utf16 117 # #
utf16_esperanto_ci utf16 118 # #
utf16_hungarian_ci utf16 119 # #
utf16_sinhala_ci utf16 120 # #
-utf16_croatian_ci utf16 215 # #
+utf16_german2_ci utf16 121 # #
+utf16_croatian_mysql561_ci utf16 122 # #
+utf16_unicode_520_ci utf16 123 # #
+utf16_vietnamese_ci utf16 124 # #
+utf16_croatian_ci utf16 672 # #
+utf16_myanmar_ci utf16 673 # #
+utf16_thai_520_w2 utf16 674 # #
+utf16le_general_ci utf16le 56 Yes # #
+utf16le_bin utf16le 62 # #
cp1256_general_ci cp1256 57 Yes # #
cp1256_bin cp1256 67 # #
cp1257_lithuanian_ci cp1257 29 # #
@@ -195,7 +221,13 @@ utf32_persian_ci utf32 176 # #
utf32_esperanto_ci utf32 177 # #
utf32_hungarian_ci utf32 178 # #
utf32_sinhala_ci utf32 179 # #
-utf32_croatian_ci utf32 214 # #
+utf32_german2_ci utf32 180 # #
+utf32_croatian_mysql561_ci utf32 181 # #
+utf32_unicode_520_ci utf32 182 # #
+utf32_vietnamese_ci utf32 183 # #
+utf32_croatian_ci utf32 736 # #
+utf32_myanmar_ci utf32 737 # #
+utf32_thai_520_w2 utf32 738 # #
binary binary 63 Yes # #
geostd8_general_ci geostd8 92 Yes # #
geostd8_bin geostd8 93 # #
diff --git a/mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result b/mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result
index 9490446e83d..46921fcaa8c 100644
--- a/mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result
+++ b/mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result
@@ -77,8 +77,14 @@ utf8_persian_ci utf8 208 # #
utf8_esperanto_ci utf8 209 # #
utf8_hungarian_ci utf8 210 # #
utf8_sinhala_ci utf8 211 # #
-utf8_croatian_ci utf8 213 # #
+utf8_german2_ci utf8 212 # #
+utf8_croatian_mysql561_ci utf8 213 # #
+utf8_unicode_520_ci utf8 214 # #
+utf8_vietnamese_ci utf8 215 # #
utf8_general_mysql500_ci utf8 223 # #
+utf8_croatian_ci utf8 576 # #
+utf8_myanmar_ci utf8 577 # #
+utf8_thai_520_w2 utf8 578 # #
ucs2_general_ci ucs2 35 Yes # #
ucs2_bin ucs2 90 # #
ucs2_unicode_ci ucs2 128 # #
@@ -101,8 +107,14 @@ ucs2_persian_ci ucs2 144 # #
ucs2_esperanto_ci ucs2 145 # #
ucs2_hungarian_ci ucs2 146 # #
ucs2_sinhala_ci ucs2 147 # #
-ucs2_croatian_ci ucs2 149 # #
+ucs2_german2_ci ucs2 148 # #
+ucs2_croatian_mysql561_ci ucs2 149 # #
+ucs2_unicode_520_ci ucs2 150 # #
+ucs2_vietnamese_ci ucs2 151 # #
ucs2_general_mysql500_ci ucs2 159 # #
+ucs2_croatian_ci ucs2 640 # #
+ucs2_myanmar_ci ucs2 641 # #
+ucs2_thai_520_w2 ucs2 642 # #
cp866_general_ci cp866 36 Yes # #
cp866_bin cp866 68 # #
keybcs2_general_ci keybcs2 37 Yes # #
@@ -139,7 +151,13 @@ utf8mb4_persian_ci utf8mb4 240 # #
utf8mb4_esperanto_ci utf8mb4 241 # #
utf8mb4_hungarian_ci utf8mb4 242 # #
utf8mb4_sinhala_ci utf8mb4 243 # #
-utf8mb4_croatian_ci utf8mb4 245 # #
+utf8mb4_german2_ci utf8mb4 244 # #
+utf8mb4_croatian_mysql561_ci utf8mb4 245 # #
+utf8mb4_unicode_520_ci utf8mb4 246 # #
+utf8mb4_vietnamese_ci utf8mb4 247 # #
+utf8mb4_croatian_ci utf8mb4 608 # #
+utf8mb4_myanmar_ci utf8mb4 609 # #
+utf8mb4_thai_520_w2 utf8mb4 610 # #
cp1251_bulgarian_ci cp1251 14 # #
cp1251_ukrainian_ci cp1251 23 # #
cp1251_bin cp1251 50 # #
@@ -167,7 +185,15 @@ utf16_persian_ci utf16 117 # #
utf16_esperanto_ci utf16 118 # #
utf16_hungarian_ci utf16 119 # #
utf16_sinhala_ci utf16 120 # #
-utf16_croatian_ci utf16 215 # #
+utf16_german2_ci utf16 121 # #
+utf16_croatian_mysql561_ci utf16 122 # #
+utf16_unicode_520_ci utf16 123 # #
+utf16_vietnamese_ci utf16 124 # #
+utf16_croatian_ci utf16 672 # #
+utf16_myanmar_ci utf16 673 # #
+utf16_thai_520_w2 utf16 674 # #
+utf16le_general_ci utf16le 56 Yes # #
+utf16le_bin utf16le 62 # #
cp1256_general_ci cp1256 57 Yes # #
cp1256_bin cp1256 67 # #
cp1257_lithuanian_ci cp1257 29 # #
@@ -195,7 +221,13 @@ utf32_persian_ci utf32 176 # #
utf32_esperanto_ci utf32 177 # #
utf32_hungarian_ci utf32 178 # #
utf32_sinhala_ci utf32 179 # #
-utf32_croatian_ci utf32 214 # #
+utf32_german2_ci utf32 180 # #
+utf32_croatian_mysql561_ci utf32 181 # #
+utf32_unicode_520_ci utf32 182 # #
+utf32_vietnamese_ci utf32 183 # #
+utf32_croatian_ci utf32 736 # #
+utf32_myanmar_ci utf32 737 # #
+utf32_thai_520_w2 utf32 738 # #
binary binary 63 Yes # #
geostd8_general_ci geostd8 92 Yes # #
geostd8_bin geostd8 93 # #
diff --git a/mysql-test/suite/engines/funcs/r/db_create_drop.result b/mysql-test/suite/engines/funcs/r/db_create_drop.result
index 89c3b3ce991..85a871cf135 100644
--- a/mysql-test/suite/engines/funcs/r/db_create_drop.result
+++ b/mysql-test/suite/engines/funcs/r/db_create_drop.result
@@ -2,8 +2,8 @@ DROP DATABASE IF EXISTS d1;
CREATE DATABASE d1;
SHOW DATABASES;
Database
-information_schema
d1
+information_schema
mtr
mysql
performance_schema
@@ -13,8 +13,8 @@ Database (d%)
d1
SHOW DATABASES LIKE '%';
Database (%)
-information_schema
d1
+information_schema
mtr
mysql
performance_schema
@@ -24,8 +24,8 @@ DROP DATABASE d1;
CREATE SCHEMA d1;
SHOW SCHEMAS;
Database
-information_schema
d1
+information_schema
mtr
mysql
performance_schema
@@ -35,8 +35,8 @@ Database (d%)
d1
SHOW SCHEMAS LIKE '%';
Database (%)
-information_schema
d1
+information_schema
mtr
mysql
performance_schema
diff --git a/mysql-test/suite/engines/funcs/r/db_create_error.result b/mysql-test/suite/engines/funcs/r/db_create_error.result
index 35d5d4abfeb..d18fe7ee5fd 100644
--- a/mysql-test/suite/engines/funcs/r/db_create_error.result
+++ b/mysql-test/suite/engines/funcs/r/db_create_error.result
@@ -2,8 +2,8 @@ DROP DATABASE IF EXISTS d4;
CREATE DATABASE d4;
SHOW DATABASES;
Database
-information_schema
d4
+information_schema
mtr
mysql
performance_schema
diff --git a/mysql-test/suite/engines/funcs/r/db_create_if_not_exists.result b/mysql-test/suite/engines/funcs/r/db_create_if_not_exists.result
index c9e31817910..2637087da5b 100644
--- a/mysql-test/suite/engines/funcs/r/db_create_if_not_exists.result
+++ b/mysql-test/suite/engines/funcs/r/db_create_if_not_exists.result
@@ -5,8 +5,8 @@ Warnings:
Note 1007 Can't create database 'd2'; database exists
SHOW DATABASES;
Database
-information_schema
d2
+information_schema
mtr
mysql
performance_schema
@@ -22,8 +22,8 @@ Warnings:
Note 1007 Can't create database 'd2'; database exists
SHOW DATABASES;
Database
-information_schema
d2
+information_schema
mtr
mysql
performance_schema
diff --git a/mysql-test/suite/engines/funcs/r/db_drop_error.result b/mysql-test/suite/engines/funcs/r/db_drop_error.result
index 8db8cb598af..24a51768103 100644
--- a/mysql-test/suite/engines/funcs/r/db_drop_error.result
+++ b/mysql-test/suite/engines/funcs/r/db_drop_error.result
@@ -2,8 +2,8 @@ DROP DATABASE IF EXISTS d5;
CREATE DATABASE d5;
SHOW DATABASES;
Database
-information_schema
d5
+information_schema
mtr
mysql
performance_schema
diff --git a/mysql-test/suite/engines/funcs/r/db_use_error.result b/mysql-test/suite/engines/funcs/r/db_use_error.result
index 2051b56b19e..c2fce4f0acf 100644
--- a/mysql-test/suite/engines/funcs/r/db_use_error.result
+++ b/mysql-test/suite/engines/funcs/r/db_use_error.result
@@ -2,8 +2,8 @@ DROP DATABASE IF EXISTS d6;
CREATE DATABASE d6;
SHOW DATABASES;
Database
-information_schema
d6
+information_schema
mtr
mysql
performance_schema
diff --git a/mysql-test/suite/engines/funcs/r/jp_comment_older_compatibility1.result b/mysql-test/suite/engines/funcs/r/jp_comment_older_compatibility1.result
index 137825aba0a..f6bb433d68b 100644
--- a/mysql-test/suite/engines/funcs/r/jp_comment_older_compatibility1.result
+++ b/mysql-test/suite/engines/funcs/r/jp_comment_older_compatibility1.result
@@ -13,7 +13,7 @@ column_comment char_length(column_comment)
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL DEFAULT '0' COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
+ `c1` int(11) NOT NULL COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
`c12` int(11) DEFAULT NULL,
`c13` datetime DEFAULT NULL,
`c14` char(10) DEFAULT NULL,
@@ -40,7 +40,7 @@ column_comment char_length(column_comment)
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL DEFAULT '0' COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
+ `c1` int(11) NOT NULL COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
`c12` int(11) DEFAULT NULL,
`c13` datetime DEFAULT NULL,
`c14` char(10) DEFAULT NULL,
@@ -68,7 +68,7 @@ column_comment char_length(column_comment)
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL DEFAULT '0' COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
+ `c1` int(11) NOT NULL COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
`c12` int(11) DEFAULT NULL,
`c13` datetime DEFAULT NULL,
`c14` char(10) DEFAULT NULL,
@@ -96,7 +96,7 @@ column_comment char_length(column_comment)
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL DEFAULT '0' COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
+ `c1` int(11) NOT NULL COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
`c12` int(11) DEFAULT NULL,
`c13` datetime DEFAULT NULL,
`c14` char(10) DEFAULT NULL,
@@ -123,7 +123,7 @@ column_comment char_length(column_comment)
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL DEFAULT '0' COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
+ `c1` int(11) NOT NULL COMMENT '‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±‚ ‚¢‚¤‚¦‚¨‚©‚«‚­‚¯‚±',
`c12` int(11) DEFAULT NULL,
`c13` datetime DEFAULT NULL,
`c14` char(10) DEFAULT NULL,
diff --git a/mysql-test/suite/engines/funcs/r/sf_alter.result b/mysql-test/suite/engines/funcs/r/sf_alter.result
index 8885b20d557..e89f529ba09 100644
--- a/mysql-test/suite/engines/funcs/r/sf_alter.result
+++ b/mysql-test/suite/engines/funcs/r/sf_alter.result
@@ -35,8 +35,6 @@ ALTER FUNCTION sf1 #DET# ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -54,8 +52,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -76,9 +72,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -105,8 +98,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -172,8 +163,6 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -191,8 +180,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -213,9 +200,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -242,8 +226,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -309,8 +291,6 @@ ALTER FUNCTION sf1 #DET# NO SQL ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -328,8 +308,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -350,9 +328,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -379,8 +354,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -446,8 +419,6 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -465,8 +436,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -487,9 +456,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -516,8 +482,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -583,8 +547,6 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -602,8 +564,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -624,9 +584,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -653,8 +610,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -720,8 +675,6 @@ ALTER FUNCTION sf1 #DET# COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -739,8 +692,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -761,9 +712,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -790,8 +738,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -857,8 +803,6 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -876,8 +820,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -898,9 +840,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -927,8 +866,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -994,8 +931,6 @@ ALTER FUNCTION sf1 #DET# NO SQL COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1013,8 +948,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1035,9 +968,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1064,8 +994,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1131,8 +1059,6 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1150,8 +1076,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1172,9 +1096,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1201,8 +1122,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1268,8 +1187,6 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1287,8 +1204,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1309,9 +1224,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1338,8 +1250,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1405,8 +1315,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1424,8 +1332,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1446,9 +1352,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1475,8 +1378,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1542,8 +1443,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1561,8 +1460,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1583,9 +1480,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1612,8 +1506,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1679,8 +1571,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1698,8 +1588,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1720,9 +1608,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1749,8 +1634,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1816,8 +1699,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1835,8 +1716,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1857,9 +1736,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1886,8 +1762,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1953,8 +1827,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1972,8 +1844,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1994,9 +1864,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2023,8 +1890,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2090,8 +1955,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2109,8 +1972,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2131,9 +1992,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2160,8 +2018,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2227,8 +2083,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2246,8 +2100,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2268,9 +2120,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2297,8 +2146,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2364,8 +2211,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2383,8 +2228,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2405,9 +2248,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2434,8 +2274,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2501,8 +2339,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2520,8 +2356,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2542,9 +2376,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2571,8 +2402,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2638,8 +2467,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2657,8 +2484,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2679,9 +2504,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2708,8 +2530,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2775,8 +2595,6 @@ ALTER FUNCTION sf1 #DET# SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2794,8 +2612,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2816,9 +2632,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2845,8 +2658,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2912,8 +2723,6 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2931,8 +2740,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2953,9 +2760,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2982,8 +2786,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3049,8 +2851,6 @@ ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3068,8 +2868,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3090,9 +2888,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3119,8 +2914,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3186,8 +2979,6 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3205,8 +2996,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3227,9 +3016,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3256,8 +3042,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3323,8 +3107,6 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3342,8 +3124,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3364,9 +3144,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3393,8 +3170,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3460,8 +3235,6 @@ ALTER FUNCTION sf1 #DET# SQL SECURITY INVOKER COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3479,8 +3252,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3501,9 +3272,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3530,8 +3298,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3597,8 +3363,6 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT 'comment'
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3616,8 +3380,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3638,9 +3400,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3667,8 +3426,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3734,8 +3491,6 @@ ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3753,8 +3508,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3775,9 +3528,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3804,8 +3554,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3871,8 +3619,6 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY INVOKER COMMENT 'comment
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3890,8 +3636,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3912,9 +3656,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3941,8 +3682,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4008,8 +3747,6 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER COMMENT 'comm
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4027,8 +3764,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4049,9 +3784,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4078,8 +3810,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4145,8 +3875,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4164,8 +3892,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4186,9 +3912,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4215,8 +3938,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4282,8 +4003,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4301,8 +4020,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4323,9 +4040,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4352,8 +4066,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4419,8 +4131,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4438,8 +4148,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4460,9 +4168,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4489,8 +4194,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4556,8 +4259,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4575,8 +4276,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4597,9 +4296,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4626,8 +4322,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4693,8 +4387,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4712,8 +4404,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4734,9 +4424,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4763,8 +4450,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4830,8 +4515,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY INVOKER COMMENT 'comment'
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4849,8 +4532,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4871,9 +4552,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4900,8 +4578,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4967,8 +4643,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4986,8 +4660,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5008,9 +4680,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5037,8 +4706,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5104,8 +4771,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comm
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5123,8 +4788,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5145,9 +4808,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5174,8 +4834,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5241,8 +4899,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER COMME
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5260,8 +4916,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5282,9 +4936,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5311,8 +4962,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5378,8 +5027,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER CO
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5397,8 +5044,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5419,9 +5064,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5448,8 +5090,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5515,8 +5155,6 @@ ALTER FUNCTION sf1 #DET# SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5534,8 +5172,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5556,9 +5192,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5585,8 +5218,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5652,8 +5283,6 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5671,8 +5300,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5693,9 +5320,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5722,8 +5346,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5789,8 +5411,6 @@ ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5808,8 +5428,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5830,9 +5448,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5859,8 +5474,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5926,8 +5539,6 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5945,8 +5556,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5967,9 +5576,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5996,8 +5602,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6063,8 +5667,6 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6082,8 +5684,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6104,9 +5704,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6133,8 +5730,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6200,8 +5795,6 @@ ALTER FUNCTION sf1 #DET# SQL SECURITY DEFINER COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6219,8 +5812,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6241,9 +5832,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6270,8 +5858,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6337,8 +5923,6 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY DEFINER COMMENT 'comment'
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6356,8 +5940,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6378,9 +5960,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6407,8 +5986,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6474,8 +6051,6 @@ ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY DEFINER COMMENT 'comment' ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6493,8 +6068,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6515,9 +6088,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6544,8 +6114,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6611,8 +6179,6 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY DEFINER COMMENT 'commen
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6630,8 +6196,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6652,9 +6216,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6681,8 +6242,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6748,8 +6307,6 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER COMMENT 'com
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6767,8 +6324,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6789,9 +6344,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6818,8 +6370,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6885,8 +6435,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6904,8 +6452,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6926,9 +6472,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6955,8 +6498,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7022,8 +6563,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7041,8 +6580,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7063,9 +6600,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7092,8 +6626,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7159,8 +6691,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7178,8 +6708,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7200,9 +6728,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7229,8 +6754,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7296,8 +6819,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7315,8 +6836,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7337,9 +6856,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7366,8 +6882,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7433,8 +6947,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7452,8 +6964,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7474,9 +6984,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7503,8 +7010,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7570,8 +7075,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY DEFINER COMMENT 'comment'
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7589,8 +7092,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7611,9 +7112,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7640,8 +7138,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7707,8 +7203,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER COMMEN
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7726,8 +7220,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7748,9 +7240,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7777,8 +7266,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7844,8 +7331,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER COMMENT 'com
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7863,8 +7348,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7885,9 +7368,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7914,8 +7394,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7981,8 +7459,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER COMM
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -8000,8 +7476,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -8022,9 +7496,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -8051,8 +7522,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -8118,8 +7587,6 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER C
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -8137,8 +7604,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -8159,9 +7624,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -8188,8 +7650,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
diff --git a/mysql-test/suite/engines/funcs/r/sf_cursor.result b/mysql-test/suite/engines/funcs/r/sf_cursor.result
index e43bcaa50a3..2fe2171b39d 100644
--- a/mysql-test/suite/engines/funcs/r/sf_cursor.result
+++ b/mysql-test/suite/engines/funcs/r/sf_cursor.result
@@ -34,8 +34,6 @@ END//
SELECT sf1();
sf1()
0
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -53,8 +51,6 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -75,9 +71,6 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -104,8 +97,6 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
diff --git a/mysql-test/suite/engines/funcs/r/sp_alter.result b/mysql-test/suite/engines/funcs/r/sp_alter.result
index 794a692edc4..22036fecde7 100644
--- a/mysql-test/suite/engines/funcs/r/sp_alter.result
+++ b/mysql-test/suite/engines/funcs/r/sp_alter.result
@@ -31,8 +31,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -82,8 +80,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -133,8 +129,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -184,8 +178,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -235,8 +227,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -286,8 +276,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -337,8 +325,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -388,8 +374,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -439,8 +423,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -490,8 +472,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -541,8 +521,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -592,8 +570,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -643,8 +619,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -694,8 +668,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -745,8 +717,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -796,8 +766,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -847,8 +815,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -898,8 +864,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -949,8 +913,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1000,8 +962,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1051,8 +1011,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1102,8 +1060,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1153,8 +1109,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1204,8 +1158,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1255,8 +1207,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1306,8 +1256,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1357,8 +1305,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1408,8 +1354,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1459,8 +1403,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1510,8 +1452,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1561,8 +1501,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1612,8 +1550,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1663,8 +1599,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1714,8 +1648,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1765,8 +1697,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1816,8 +1746,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1867,8 +1795,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1918,8 +1844,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1969,8 +1893,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2020,8 +1942,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2071,8 +1991,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2122,8 +2040,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2173,8 +2089,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2224,8 +2138,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2275,8 +2187,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2326,8 +2236,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2377,8 +2285,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2428,8 +2334,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2479,8 +2383,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2530,8 +2432,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2581,8 +2481,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2632,8 +2530,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2683,8 +2579,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2734,8 +2628,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2785,8 +2677,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2836,8 +2726,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2887,8 +2775,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2938,8 +2824,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2989,8 +2873,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3040,8 +2922,6 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
diff --git a/mysql-test/suite/engines/funcs/r/sp_cursor.result b/mysql-test/suite/engines/funcs/r/sp_cursor.result
index 58383f8a9cb..6ce2aae030c 100644
--- a/mysql-test/suite/engines/funcs/r/sp_cursor.result
+++ b/mysql-test/suite/engines/funcs/r/sp_cursor.result
@@ -30,8 +30,6 @@ CLOSE cur1;
CLOSE cur2;
END//
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
diff --git a/mysql-test/suite/engines/funcs/r/sq_error.result b/mysql-test/suite/engines/funcs/r/sq_error.result
index c983ff73d12..2090f4b9cd4 100644
--- a/mysql-test/suite/engines/funcs/r/sq_error.result
+++ b/mysql-test/suite/engines/funcs/r/sq_error.result
@@ -16,7 +16,7 @@ SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2);
ERROR 21000: Subquery returns more than 1 row
UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2);
UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1);
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1 (c1 INT, c2 VARCHAR(100),c3 FLOAT);
@@ -35,7 +35,7 @@ SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2);
ERROR 21000: Subquery returns more than 1 row
UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2);
UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1);
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1 (c1 INT, c2 BINARY(100),c3 FLOAT);
@@ -54,7 +54,7 @@ SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2);
ERROR 21000: Subquery returns more than 1 row
UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2);
UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1);
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1 (c1 INT, c2 VARBINARY(100),c3 FLOAT);
@@ -73,6 +73,6 @@ SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2);
ERROR 21000: Subquery returns more than 1 row
UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2);
UPDATE t1 SET c1 = (SELECT MAX(c1) FROM t1);
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data
DROP TABLE t1;
DROP TABLE t2;
diff --git a/mysql-test/suite/engines/funcs/r/ta_rename.result b/mysql-test/suite/engines/funcs/r/ta_rename.result
index 892a49c9708..f9e78428f9e 100644
--- a/mysql-test/suite/engines/funcs/r/ta_rename.result
+++ b/mysql-test/suite/engines/funcs/r/ta_rename.result
@@ -14,7 +14,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -39,7 +39,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -64,7 +64,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -89,7 +89,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -114,7 +114,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -139,7 +139,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -164,7 +164,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -189,7 +189,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -214,7 +214,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -239,7 +239,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -264,7 +264,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -289,7 +289,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -314,7 +314,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -339,7 +339,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -364,7 +364,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -389,7 +389,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -414,7 +414,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -439,7 +439,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -464,7 +464,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -489,7 +489,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -514,7 +514,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -539,7 +539,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -564,7 +564,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -589,7 +589,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -614,7 +614,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -639,7 +639,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -664,7 +664,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -689,7 +689,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -714,7 +714,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -739,7 +739,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -764,7 +764,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -789,7 +789,7 @@ SHOW TABLES;
Tables_in_test
t2
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR 42S02: Unknown table 'test.t1'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
diff --git a/mysql-test/suite/engines/funcs/r/tc_rename_error.result b/mysql-test/suite/engines/funcs/r/tc_rename_error.result
index 1ac32ddf010..cd5108107fb 100644
--- a/mysql-test/suite/engines/funcs/r/tc_rename_error.result
+++ b/mysql-test/suite/engines/funcs/r/tc_rename_error.result
@@ -15,7 +15,7 @@ ERROR 42S01: Table 't1' already exists
RENAME TABLE t3 TO t1;
ERROR 42S01: Table 't1' already exists
RENAME TABLE t3 TO doesnotexist.t1;
-ERROR HY000: Can't find file: './test/t3.frm' (errno: 2)
+ERROR 42S02: Table 'test.t3' doesn't exist
SHOW TABLES;
Tables_in_test
t1
diff --git a/mysql-test/suite/engines/funcs/t/db_create_drop.test b/mysql-test/suite/engines/funcs/t/db_create_drop.test
index 119db90293c..a807c146206 100644
--- a/mysql-test/suite/engines/funcs/t/db_create_drop.test
+++ b/mysql-test/suite/engines/funcs/t/db_create_drop.test
@@ -2,14 +2,18 @@
DROP DATABASE IF EXISTS d1;
--enable_warnings
CREATE DATABASE d1;
+--sorted_result
SHOW DATABASES;
SHOW DATABASES LIKE 'd%';
+--sorted_result
SHOW DATABASES LIKE '%';
USE d1;
DROP DATABASE d1;
CREATE SCHEMA d1;
+--sorted_result
SHOW SCHEMAS;
SHOW SCHEMAS LIKE 'd%';
+--sorted_result
SHOW SCHEMAS LIKE '%';
USE d1;
DROP SCHEMA d1;
diff --git a/mysql-test/suite/engines/funcs/t/db_create_error.test b/mysql-test/suite/engines/funcs/t/db_create_error.test
index d88ef846b4b..ca83e5f0806 100644
--- a/mysql-test/suite/engines/funcs/t/db_create_error.test
+++ b/mysql-test/suite/engines/funcs/t/db_create_error.test
@@ -2,9 +2,11 @@
DROP DATABASE IF EXISTS d4;
--enable_warnings
CREATE DATABASE d4;
+--sorted_result
SHOW DATABASES;
--error 1007
CREATE DATABASE d4;
DROP DATABASE d4;
+--sorted_result
SHOW DATABASES;
diff --git a/mysql-test/suite/engines/funcs/t/db_create_if_not_exists.test b/mysql-test/suite/engines/funcs/t/db_create_if_not_exists.test
index 4e631d5657a..7b130504308 100644
--- a/mysql-test/suite/engines/funcs/t/db_create_if_not_exists.test
+++ b/mysql-test/suite/engines/funcs/t/db_create_if_not_exists.test
@@ -3,12 +3,14 @@ DROP DATABASE IF EXISTS d2;
--enable_warnings
CREATE DATABASE d2;
CREATE DATABASE IF NOT EXISTS d2;
+--sorted_result
SHOW DATABASES;
USE d2;
DROP DATABASE d2;
DROP DATABASE IF EXISTS d2;
CREATE SCHEMA d2;
CREATE SCHEMA IF NOT EXISTS d2;
+--sorted_result
SHOW DATABASES;
USE d2;
DROP SCHEMA d2;
diff --git a/mysql-test/suite/engines/funcs/t/db_drop_error.test b/mysql-test/suite/engines/funcs/t/db_drop_error.test
index f21b8b4e817..7fd6738cf1f 100644
--- a/mysql-test/suite/engines/funcs/t/db_drop_error.test
+++ b/mysql-test/suite/engines/funcs/t/db_drop_error.test
@@ -6,5 +6,6 @@ SHOW DATABASES;
--error 1008
DROP DATABASE nond5;
DROP DATABASE d5;
+--sorted_result
SHOW DATABASES;
diff --git a/mysql-test/suite/engines/funcs/t/db_use_error.test b/mysql-test/suite/engines/funcs/t/db_use_error.test
index 00a411ed5cb..9220660f84e 100644
--- a/mysql-test/suite/engines/funcs/t/db_use_error.test
+++ b/mysql-test/suite/engines/funcs/t/db_use_error.test
@@ -6,5 +6,6 @@ SHOW DATABASES;
--error 1064
USE DATABASE nond6;
DROP DATABASE d6;
+--sorted_result
SHOW DATABASES;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_bit.test b/mysql-test/suite/engines/funcs/t/rpl_bit.test
index 07b0778296c..7f85313ae4c 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_bit.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_bit.test
@@ -6,7 +6,6 @@
#############################################################################
# Change Author: JBM
# Change Date: 2006-01-16
-# Change: Added Order by for NDB
##########
-- source include/master-slave.inc
diff --git a/mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test b/mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test
index 6b23f1a0d03..adf1526a657 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test
@@ -2,8 +2,6 @@
# Bug #797: If a query is ignored on slave (replicate-ignore-table) the slave
# still checks that it has the same error as on the master.
##########################################################################
-# 2006-02-07 JBM Added error code 1022 for NDB Engine + ORDER BY
-##########################################################################
-- source include/master-slave.inc
diff --git a/mysql-test/suite/engines/funcs/t/rpl_insert.test b/mysql-test/suite/engines/funcs/t/rpl_insert.test
index 763a484ea5d..f57a6e226d1 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_insert.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_insert.test
@@ -2,9 +2,9 @@
--echo # Bug#20821: INSERT DELAYED fails to write some rows to binlog
--echo #
---source include/master-slave.inc
--source include/not_embedded.inc
--source include/not_windows.inc
+--source include/master-slave.inc
--disable_warnings
CREATE SCHEMA IF NOT EXISTS mysqlslap;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_loadfile.test b/mysql-test/suite/engines/funcs/t/rpl_loadfile.test
index 97ee89a6d95..26235d89016 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_loadfile.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_loadfile.test
@@ -6,7 +6,6 @@
#############################################################################
# Change Author: JBM
# Change Date: 2006-01-16
-# Change: Added Order by for NDB
##########
# Includes
@@ -42,9 +41,6 @@ CALL test.p1();
--enable_warnings
SELECT * FROM test.t1 ORDER BY blob_column;
save_master_pos;
-# Need to allow some time when NDB engine is used for
-# the injector thread to have time to populate binlog
-sleep 10;
sync_slave_with_master;
connection slave;
SELECT * FROM test.t1 ORDER BY blob_column;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_log_pos.test b/mysql-test/suite/engines/funcs/t/rpl_log_pos.test
index 3a762b19756..22deee6b5f3 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_log_pos.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_log_pos.test
@@ -1,7 +1,6 @@
##########
# Change Author: JBM
# Change Date: 2006-01-16
-# Change: Added Order by for NDB
##########
#
diff --git a/mysql-test/suite/engines/funcs/t/rpl_ps.test b/mysql-test/suite/engines/funcs/t/rpl_ps.test
index b8792722192..09c7b779f65 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_ps.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_ps.test
@@ -2,8 +2,6 @@
# Test of replicating user variables
#
###########################################################
-# 2006-02-08 By JBM added order by for use w/ NDB engine
-###########################################################
source include/master-slave.inc;
#save_master_pos;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test b/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test
index 30d2688c3fb..f4e6239c679 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test
@@ -1,5 +1,4 @@
-- source include/have_binlog_format_mixed.inc
--- source include/not_ndb_default.inc
-- source include/master-slave.inc
# Test that the slave temporarily switches to ROW when seeing row
diff --git a/mysql-test/suite/engines/funcs/t/rpl_row_max_relay_size.test b/mysql-test/suite/engines/funcs/t/rpl_row_max_relay_size.test
index ea4b958ae4c..3e057d48ec9 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_row_max_relay_size.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_max_relay_size.test
@@ -4,7 +4,6 @@
# Test of manual relay log rotation with FLUSH LOGS.
# Requires statement logging
-source include/not_ndb_default.inc;
source include/have_binlog_format_row.inc;
source extra/rpl_tests/rpl_max_relay_size.test;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_row_sp005.test b/mysql-test/suite/engines/funcs/t/rpl_row_sp005.test
index 054fa02f514..d8a5aacc5e6 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_row_sp005.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_sp005.test
@@ -6,8 +6,6 @@
# Test: Tests SPs with cursors, flow logic, and alter sp. In addition the #
# tests SPs with insert and update operations. #
#############################################################################
-# 2006-02-08 By JBM added ORDER BY for use with NDB engine
-#############################################################################
# Includes
-- source include/have_binlog_format_row.inc
diff --git a/mysql-test/suite/engines/funcs/t/rpl_row_sp009.test b/mysql-test/suite/engines/funcs/t/rpl_row_sp009.test
index 2a4b1e5e605..505ed582ba9 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_row_sp009.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_sp009.test
@@ -5,8 +5,6 @@
#############################################################################
#TEST: Taken and modfied from http://bugs.mysql.com/bug.php?id=12168 #
#############################################################################
-# 2006-02-08 By JBM : Added order by for ndb engine use
-#############################################################################
# Includes
-- source include/have_binlog_format_row.inc
diff --git a/mysql-test/suite/engines/funcs/t/rpl_row_until.test b/mysql-test/suite/engines/funcs/t/rpl_row_until.test
index bf38bd487ea..ef48212660d 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_row_until.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_until.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
@@ -11,18 +10,18 @@ INSERT INTO t1 VALUES (1),(2),(3),(4);
DROP TABLE t1;
# Save master log position for query DROP TABLE t1
save_master_pos;
-let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 7);
-let $master_log_file= query_get_value(SHOW BINLOG EVENTS, Log_name, 7);
+let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 10);
+let $master_log_file= query_get_value(SHOW BINLOG EVENTS, Log_name, 10);
CREATE TABLE t2(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
# Save master log position for query CREATE TABLE t2
save_master_pos;
-let $master_pos_create_t2= query_get_value(SHOW BINLOG EVENTS, Pos, 8);
+let $master_pos_create_t2= query_get_value(SHOW BINLOG EVENTS, Pos, 12);
INSERT INTO t2 VALUES (1),(2);
save_master_pos;
# Save master log position for query INSERT INTO t2 VALUES (1),(2);
-let $master_pos_insert1_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 12);
+let $master_pos_insert1_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 17);
sync_slave_with_master;
# Save relay log position for query INSERT INTO t2 VALUES (1),(2);
@@ -31,8 +30,8 @@ let $relay_pos_insert1_t2= query_get_value(show slave status, Relay_Log_Pos, 1);
connection master;
INSERT INTO t2 VALUES (3),(4);
DROP TABLE t2;
-# Save master log position for query INSERT INTO t2 VALUES (1),(2);
-let $master_pos_drop_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 17);
+# Save master log position for query DROP TABLE t2;
+let $master_pos_drop_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 23);
sync_slave_with_master;
--source include/stop_slave.inc
diff --git a/mysql-test/suite/engines/funcs/t/rpl_row_view01.test b/mysql-test/suite/engines/funcs/t/rpl_row_view01.test
index 634e3c30cc6..1ccfcb4eb27 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_row_view01.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_view01.test
@@ -5,8 +5,6 @@
#############################################################################
#TEST: row based replication of views #
#############################################################################
-# 2006-02-08 By JBM added order by and sleep for use with ndb engine
-#############################################################################
# Includes
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
@@ -43,11 +41,6 @@ CREATE VIEW mysqltest1.v4 AS SELECT * FROM mysqltest1.v3 WHERE a > 1 WITH LOCAL
SELECT * FROM mysqltest1.v2;
SELECT * FROM mysqltest1.v1;
-# Had to add a sleep for use with NDB
-# engine. Injector thread would have not
-# populated biblog and data would not be on
-# the slave.
-sleep 10;
sync_slave_with_master;
SELECT * FROM mysqltest1.v2;
SELECT * FROM mysqltest1.v1;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_skip_error-slave.opt b/mysql-test/suite/engines/funcs/t/rpl_skip_error-slave.opt
index dafe3e46cca..4145dc4b219 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_skip_error-slave.opt
+++ b/mysql-test/suite/engines/funcs/t/rpl_skip_error-slave.opt
@@ -1 +1 @@
---slave-skip-error=1053,1062,1582
+--slave-skip-errors=1053,1062,1582
diff --git a/mysql-test/suite/engines/funcs/t/rpl_sp_effects.test b/mysql-test/suite/engines/funcs/t/rpl_sp_effects.test
index c9c77f47d8d..94ce539291d 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_sp_effects.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_sp_effects.test
@@ -1,7 +1,6 @@
##########################################
# Change Author: JBM
# Change Date: 2006-05-02
-# Change: Added Order By for NDB testing
##########################################
# Test of replication of stored procedures (WL#2146 for MySQL 5.0)
diff --git a/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test b/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test
index b9df07101fb..396ba4073e4 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/master-slave.inc
connection default;
diff --git a/mysql-test/suite/engines/funcs/t/tc_rename_error.test b/mysql-test/suite/engines/funcs/t/tc_rename_error.test
index 91efeacaeef..3fc4901a364 100644
--- a/mysql-test/suite/engines/funcs/t/tc_rename_error.test
+++ b/mysql-test/suite/engines/funcs/t/tc_rename_error.test
@@ -11,7 +11,7 @@ let $ENGINE=`select variable_value from information_schema.global_variables wher
RENAME TABLE t2 TO t1;
--error 1050
RENAME TABLE t3 TO t1;
---error 1017
+--error 1146
RENAME TABLE t3 TO doesnotexist.t1;
SHOW TABLES;
let $ENGINE=`select variable_value from information_schema.global_variables where variable_name='STORAGE_ENGINE'`;
diff --git a/mysql-test/suite/engines/iuds/combinations b/mysql-test/suite/engines/iuds/combinations
new file mode 100644
index 00000000000..2077c41a7be
--- /dev/null
+++ b/mysql-test/suite/engines/iuds/combinations
@@ -0,0 +1,8 @@
+[innodb]
+innodb
+default-storage-engine=innodb
+
+[myisam]
+skip-innodb
+default-storage-engine=myisam
+
diff --git a/mysql-test/suite/engines/iuds/r/insert_number.result b/mysql-test/suite/engines/iuds/r/insert_number.result
index 9f937b33364..5755183033f 100644
--- a/mysql-test/suite/engines/iuds/r/insert_number.result
+++ b/mysql-test/suite/engines/iuds/r/insert_number.result
@@ -1374,6 +1374,8 @@ INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38);
INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37);
INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID());
INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID());
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t4 VALUES('','',17,18,19,20,21,22);
Warnings:
Warning 1366 Incorrect integer value: '' for column 'c1' at row 1
@@ -2389,6 +2391,7 @@ DROP TABLE t6,t7,t8;
INSERT INTO t2 SET c3=5,c4=6;
Warnings:
Warning 1364 Field 'c1' doesn't have a default value
+Warning 1364 Field 'c6' doesn't have a default value
SET SQL_MODE=STRICT_ALL_TABLES;
INSERT INTO t2 SET c3=5,c4=6;
ERROR HY000: Field 'c1' doesn't have a default value
@@ -6977,6 +6980,8 @@ INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38);
INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37);
INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID());
INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID());
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t4 VALUES('','',17,18,19,20,21,22);
Warnings:
Warning 1366 Incorrect integer value: '' for column 'c1' at row 1
@@ -7981,6 +7986,7 @@ DROP TABLE t6,t7,t8;
INSERT INTO t2 SET c3=5,c4=6;
Warnings:
Warning 1364 Field 'c1' doesn't have a default value
+Warning 1364 Field 'c6' doesn't have a default value
SET SQL_MODE=STRICT_ALL_TABLES;
INSERT INTO t2 SET c3=5,c4=6;
ERROR HY000: Field 'c1' doesn't have a default value
@@ -12674,6 +12680,8 @@ INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38);
INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37);
INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID());
INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID());
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t4 VALUES('','',17,18,19,20,21,22);
Warnings:
Warning 1366 Incorrect integer value: '' for column 'c1' at row 1
@@ -13678,6 +13686,7 @@ DROP TABLE t6,t7,t8;
INSERT INTO t2 SET c3=5,c4=6;
Warnings:
Warning 1364 Field 'c1' doesn't have a default value
+Warning 1364 Field 'c6' doesn't have a default value
SET SQL_MODE=STRICT_ALL_TABLES;
INSERT INTO t2 SET c3=5,c4=6;
ERROR HY000: Field 'c1' doesn't have a default value
@@ -18476,6 +18485,8 @@ INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38);
INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37);
INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID());
INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID());
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t4 VALUES('','',17,18,19,20,21,22);
Warnings:
Warning 1366 Incorrect integer value: '' for column 'c1' at row 1
@@ -19480,6 +19491,7 @@ DROP TABLE t6,t7,t8;
INSERT INTO t2 SET c3=5,c4=6;
Warnings:
Warning 1364 Field 'c1' doesn't have a default value
+Warning 1364 Field 'c6' doesn't have a default value
SET SQL_MODE=STRICT_ALL_TABLES;
INSERT INTO t2 SET c3=5,c4=6;
ERROR HY000: Field 'c1' doesn't have a default value
@@ -24383,6 +24395,8 @@ INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38);
INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37);
INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID());
INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID());
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t4 VALUES('','',17,18,19,20,21,22);
Warnings:
Warning 1366 Incorrect integer value: '' for column 'c1' at row 1
@@ -25387,6 +25401,7 @@ DROP TABLE t6,t7,t8;
INSERT INTO t2 SET c3=5,c4=6;
Warnings:
Warning 1364 Field 'c1' doesn't have a default value
+Warning 1364 Field 'c6' doesn't have a default value
SET SQL_MODE=STRICT_ALL_TABLES;
INSERT INTO t2 SET c3=5,c4=6;
ERROR HY000: Field 'c1' doesn't have a default value
@@ -30290,6 +30305,8 @@ INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38);
INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37);
INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID());
INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID());
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t4 VALUES('','',17,18,19,20,21,22);
Warnings:
Warning 1366 Incorrect integer value: '' for column 'c1' at row 1
@@ -31294,6 +31311,7 @@ DROP TABLE t6,t7,t8;
INSERT INTO t2 SET c3=5,c4=6;
Warnings:
Warning 1364 Field 'c1' doesn't have a default value
+Warning 1364 Field 'c6' doesn't have a default value
SET SQL_MODE=STRICT_ALL_TABLES;
INSERT INTO t2 SET c3=5,c4=6;
ERROR HY000: Field 'c1' doesn't have a default value
diff --git a/mysql-test/suite/engines/iuds/r/insert_time.result b/mysql-test/suite/engines/iuds/r/insert_time.result
index f67f721b4fc..6680886aad1 100644
--- a/mysql-test/suite/engines/iuds/r/insert_time.result
+++ b/mysql-test/suite/engines/iuds/r/insert_time.result
@@ -5167,7 +5167,6 @@ c1 c2 c3
825:23:00 825:23:00 2009-01-05
10:00:00 10:00:00 2009-01-06
00:00:45 00:00:45 2009-01-07
-00:00:00 00:00:00 2009-01-09
838:59:59 838:59:59 2009-01-10
10:11:12 10:11:12 2009-01-11
11:11:12 11:11:12 2009-01-12
@@ -5178,18 +5177,12 @@ c1 c2 c3
11:11:27 11:11:27 2009-01-17
08:03:02 08:03:02 2009-01-18
00:11:12 00:11:12 2009-01-19
-00:00:11 00:00:11 2009-01-20
00:12:30 00:12:30 2009-01-23
09:00:45 09:00:45 2009-01-24
09:36:00 09:36:00 2009-01-25
-00:00:10 00:00:10 2009-01-26
-00:00:00 00:00:00 2009-01-27
-00:00:00 00:00:00 2009-01-28
-00:00:00 00:00:00 2009-01-29
262:22:00 262:22:00 2009-01-30
00:00:12 00:00:12 2009-01-31
08:29:45 NULL 2009-02-01
-00:00:00 07:23:55 NULL
TRUNCATE TABLE t5;
DROP TABLE t5;
DROP TABLE t1,t2,t3,t4;
diff --git a/mysql-test/suite/engines/iuds/r/insert_year.result b/mysql-test/suite/engines/iuds/r/insert_year.result
index 91dfd249083..aa472c45d82 100644
--- a/mysql-test/suite/engines/iuds/r/insert_year.result
+++ b/mysql-test/suite/engines/iuds/r/insert_year.result
@@ -36,6 +36,8 @@ Warning 1265 Data truncated for column 'c2' at row 1
Note 1265 Data truncated for column 'c3' at row 1
INSERT INTO t1(c1) VALUES('5');
INSERT INTO t2(c1) VALUES('5');
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t3(c1) VALUES('5');
INSERT INTO t4(c1,c2) VALUES('0','000');
INSERT INTO t2 VALUES(1900,2156,'08-01-06','08/01/07');
@@ -3218,6 +3220,8 @@ TRUNCATE TABLE t5;
DROP TABLE t5;
INSERT INTO t1 SET c1='00';
INSERT INTO t2 SET c1=69;
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t3 SET c1=70;
INSERT INTO t4 SET c2=99;
Warnings:
@@ -3291,6 +3295,8 @@ Warning 1265 Data truncated for column 'c2' at row 1
Note 1265 Data truncated for column 'c3' at row 1
INSERT INTO t1(c1) VALUES('5');
INSERT INTO t2(c1) VALUES('5');
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t3(c1) VALUES('5');
INSERT INTO t4(c1,c2) VALUES('0','000');
INSERT INTO t2 VALUES(1900,2156,'08-01-06','08/01/07');
@@ -6183,6 +6189,8 @@ TRUNCATE TABLE t5;
DROP TABLE t5;
INSERT INTO t1 SET c1='00';
INSERT INTO t2 SET c1=69;
+Warnings:
+Warning 1364 Field 'c2' doesn't have a default value
INSERT INTO t3 SET c1=70;
INSERT INTO t4 SET c2=99;
Warnings:
diff --git a/mysql-test/suite/engines/iuds/r/strings_charsets_update_delete.result b/mysql-test/suite/engines/iuds/r/strings_charsets_update_delete.result
index c1d0a7f03fb..fdd1a4be290 100644
--- a/mysql-test/suite/engines/iuds/r/strings_charsets_update_delete.result
+++ b/mysql-test/suite/engines/iuds/r/strings_charsets_update_delete.result
Binary files differ
diff --git a/mysql-test/suite/engines/iuds/r/strings_update_delete.result b/mysql-test/suite/engines/iuds/r/strings_update_delete.result
index 283f39efe84..159d2608ea1 100644
--- a/mysql-test/suite/engines/iuds/r/strings_update_delete.result
+++ b/mysql-test/suite/engines/iuds/r/strings_update_delete.result
@@ -70471,17 +70471,17 @@ SIZE
DROP TABLE t17,t18;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18;
Warnings:
-Note 1051 Unknown table 't3'
-Note 1051 Unknown table 't4'
-Note 1051 Unknown table 't5'
-Note 1051 Unknown table 't6'
-Note 1051 Unknown table 't7'
-Note 1051 Unknown table 't8'
-Note 1051 Unknown table 't9'
-Note 1051 Unknown table 't10'
-Note 1051 Unknown table 't11'
-Note 1051 Unknown table 't13'
-Note 1051 Unknown table 't14'
-Note 1051 Unknown table 't15'
-Note 1051 Unknown table 't17'
-Note 1051 Unknown table 't18'
+Note 1051 Unknown table 'test.t3'
+Note 1051 Unknown table 'test.t4'
+Note 1051 Unknown table 'test.t5'
+Note 1051 Unknown table 'test.t6'
+Note 1051 Unknown table 'test.t7'
+Note 1051 Unknown table 'test.t8'
+Note 1051 Unknown table 'test.t9'
+Note 1051 Unknown table 'test.t10'
+Note 1051 Unknown table 'test.t11'
+Note 1051 Unknown table 'test.t13'
+Note 1051 Unknown table 'test.t14'
+Note 1051 Unknown table 'test.t15'
+Note 1051 Unknown table 'test.t17'
+Note 1051 Unknown table 'test.t18'
diff --git a/mysql-test/suite/engines/iuds/r/type_bit_iuds.result b/mysql-test/suite/engines/iuds/r/type_bit_iuds.result
index 7cfeb1958cf..b7a910f36e6 100644
--- a/mysql-test/suite/engines/iuds/r/type_bit_iuds.result
+++ b/mysql-test/suite/engines/iuds/r/type_bit_iuds.result
@@ -780,7 +780,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'0';
0 + b'0'
0
@@ -1611,7 +1611,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'0';
0 + b'0'
0
@@ -2461,7 +2461,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'0';
0 + b'0'
0
@@ -3375,7 +3375,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'0';
0 + b'0'
0
@@ -4574,7 +4574,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'0';
0 + b'0'
0
@@ -5978,7 +5978,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'0';
0 + b'0'
0
@@ -8049,7 +8049,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'0';
0 + b'0'
0
@@ -11227,7 +11227,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1';
0 + b'1'
1
@@ -12009,7 +12009,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1';
0 + b'1'
1
@@ -12840,7 +12840,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1';
0 + b'1'
1
@@ -13690,7 +13690,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1';
0 + b'1'
1
@@ -14604,7 +14604,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1';
0 + b'1'
1
@@ -15803,7 +15803,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1';
0 + b'1'
1
@@ -17207,7 +17207,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1';
0 + b'1'
1
@@ -19278,7 +19278,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1';
0 + b'1'
1
@@ -22456,7 +22456,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'10';
0 + b'10'
2
@@ -23244,7 +23244,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'10';
0 + b'10'
2
@@ -24081,7 +24081,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'10';
0 + b'10'
2
@@ -24931,7 +24931,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'10';
0 + b'10'
2
@@ -25845,7 +25845,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'10';
0 + b'10'
2
@@ -27044,7 +27044,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'10';
0 + b'10'
2
@@ -28448,7 +28448,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'10';
0 + b'10'
2
@@ -30519,7 +30519,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'10';
0 + b'10'
2
@@ -33697,7 +33697,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010';
0 + b'1010'
10
@@ -34485,7 +34485,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010';
0 + b'1010'
10
@@ -35322,7 +35322,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010';
0 + b'1010'
10
@@ -36178,7 +36178,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010';
0 + b'1010'
10
@@ -37092,7 +37092,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010';
0 + b'1010'
10
@@ -38291,7 +38291,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010';
0 + b'1010'
10
@@ -39695,7 +39695,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010';
0 + b'1010'
10
@@ -41766,7 +41766,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010';
0 + b'1010'
10
@@ -44944,7 +44944,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010101010101010';
0 + b'1010101010101010'
43690
@@ -45732,7 +45732,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010101010101010';
0 + b'1010101010101010'
43690
@@ -46569,7 +46569,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010101010101010';
0 + b'1010101010101010'
43690
@@ -47425,7 +47425,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010101010101010';
0 + b'1010101010101010'
43690
@@ -48345,7 +48345,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010101010101010';
0 + b'1010101010101010'
43690
@@ -49550,7 +49550,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010101010101010';
0 + b'1010101010101010'
43690
@@ -50954,7 +50954,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010101010101010';
0 + b'1010101010101010'
43690
@@ -53025,7 +53025,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'1010101010101010';
0 + b'1010101010101010'
43690
@@ -56203,7 +56203,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'101010101010101010101010101010';
0 + b'101010101010101010101010101010'
715827882
@@ -56993,7 +56993,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'101010101010101010101010101010';
0 + b'101010101010101010101010101010'
715827882
@@ -57832,7 +57832,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'101010101010101010101010101010';
0 + b'101010101010101010101010101010'
715827882
@@ -58690,7 +58690,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'101010101010101010101010101010';
0 + b'101010101010101010101010101010'
715827882
@@ -59612,7 +59612,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'101010101010101010101010101010';
0 + b'101010101010101010101010101010'
715827882
@@ -60819,7 +60819,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'101010101010101010101010101010';
0 + b'101010101010101010101010101010'
715827882
@@ -62231,7 +62231,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'101010101010101010101010101010';
0 + b'101010101010101010101010101010'
715827882
@@ -64304,7 +64304,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + b'101010101010101010101010101010';
0 + b'101010101010101010101010101010'
715827882
@@ -67484,7 +67484,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<0);
0 + (1010101010101010101010101010101010101010101010101010101010101010<<0)
9223372036854775807
@@ -68271,7 +68271,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<1);
0 + (1010101010101010101010101010101010101010101010101010101010101010<<1)
18446744073709551614
@@ -69107,7 +69107,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<2);
0 + (1010101010101010101010101010101010101010101010101010101010101010<<2)
18446744073709551612
@@ -69962,7 +69962,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<4);
0 + (1010101010101010101010101010101010101010101010101010101010101010<<4)
18446744073709551600
@@ -70881,7 +70881,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<8);
0 + (1010101010101010101010101010101010101010101010101010101010101010<<8)
18446744073709551360
@@ -72085,7 +72085,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<16);
0 + (1010101010101010101010101010101010101010101010101010101010101010<<16)
18446744073709486080
@@ -73494,7 +73494,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<32);
0 + (1010101010101010101010101010101010101010101010101010101010101010<<32)
18446744069414584320
@@ -75570,7 +75570,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<64);
0 + (1010101010101010101010101010101010101010101010101010101010101010<<64)
0
@@ -78747,7 +78747,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<0);
0 + (10101010101010101010101010101010101010101010101010101010101010101<<0)
9223372036854775807
@@ -79534,7 +79534,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<1);
0 + (10101010101010101010101010101010101010101010101010101010101010101<<1)
18446744073709551614
@@ -80370,7 +80370,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<2);
0 + (10101010101010101010101010101010101010101010101010101010101010101<<2)
18446744073709551612
@@ -81225,7 +81225,7 @@ hex(c1) hex(c2)
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<4);
0 + (10101010101010101010101010101010101010101010101010101010101010101<<4)
18446744073709551600
@@ -82144,7 +82144,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<8);
0 + (10101010101010101010101010101010101010101010101010101010101010101<<8)
18446744073709551360
@@ -83348,7 +83348,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<16);
0 + (10101010101010101010101010101010101010101010101010101010101010101<<16)
18446744073709486080
@@ -84757,7 +84757,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<32);
0 + (10101010101010101010101010101010101010101010101010101010101010101<<32)
18446744069414584320
@@ -86833,7 +86833,7 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<64);
0 + (10101010101010101010101010101010101010101010101010101010101010101<<64)
0
@@ -90016,4 +90016,4 @@ A A
DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
Warnings:
-Note 1051 Unknown table 't3'
+Note 1051 Unknown table 'test.t3'
diff --git a/mysql-test/suite/engines/iuds/r/update_decimal.result b/mysql-test/suite/engines/iuds/r/update_decimal.result
index e6331cee557..eb482c6181b 100644
--- a/mysql-test/suite/engines/iuds/r/update_decimal.result
+++ b/mysql-test/suite/engines/iuds/r/update_decimal.result
@@ -348,7 +348,7 @@ c3
9999999999
UPDATE t1 SET c2="1 e 1" WHERE c4=2;
Warnings:
-Note 1265 Data truncated for column 'c2' at row 2
+Warning 1265 Data truncated for column 'c2' at row 2
SELECT c2 FROM t1;
c2
-100.00000
@@ -1099,7 +1099,7 @@ INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555'
UPDATE t2,t3 SET t3.c1='22222.22222' WHERE t2.c1=t3.c1 AND t2.c3=t3.c3;
UPDATE t1 SET c3='asdf' WHERE c1='11111.11111';
Warnings:
-Warning 1265 Data truncated for column 'c3' at row 1
+Warning 1366 Incorrect double value: 'asdf' for column 'c3' at row 1
SELECT c3 FROM t1;
c3
0
diff --git a/mysql-test/suite/engines/iuds/r/update_delete_number.result b/mysql-test/suite/engines/iuds/r/update_delete_number.result
index e676b7a79f8..b89dea75d96 100644
--- a/mysql-test/suite/engines/iuds/r/update_delete_number.result
+++ b/mysql-test/suite/engines/iuds/r/update_delete_number.result
@@ -740,7 +740,7 @@ DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2;
SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
c1 c2 c3 c1 c2 c3
DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1);
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data
CREATE TABLE t3(c1 INT UNSIGNED NOT NULL PRIMARY KEY, c2 INT SIGNED NULL, c3 INT);
CREATE TABLE t4(c1 INT UNSIGNED, c2 INT);
INSERT INTO t3 VALUES(200,126,1),(250,-127,2);
@@ -980,9 +980,9 @@ drop table mt1, mt2, mt3;
create table mt1 (col1 int);
create table mt2 (col1 int);
update mt1,mt2 set mt1.col1 = (select max(col1) from mt1) where mt1.col1 = mt2.col1;
-ERROR HY000: You can't specify target table 'mt1' for update in FROM clause
+ERROR HY000: Table 'mt1' is specified twice, both as a target for 'UPDATE' and as a separate source for data
delete mt1 from mt1,mt2 where mt1.col1 < (select max(col1) from mt1) and mt1.col1 = mt2.col1;
-ERROR HY000: You can't specify target table 'mt1' for update in FROM clause
+ERROR HY000: Table 'mt1' is specified twice, both as a target for 'DELETE' and as a separate source for data
drop table mt1,mt2;
CREATE TABLE IF NOT EXISTS `mt1` (`id` int(11) NOT NULL auto_increment, `tst` text, `tsmt1` text, PRIMARY KEY (`id`));
CREATE TABLE IF NOT EXISTS `mt2` (`ID` int(11) NOT NULL auto_increment, `ParId` int(11) default NULL, `tst` text, `tsmt1` text, PRIMARY KEY (`ID`), KEY `IX_ParId_mt2` (`ParId`), FOREIGN KEY (`ParId`) REFERENCES `mt1` (`id`));
@@ -1853,7 +1853,7 @@ DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2;
SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
c1 c2 c3 c1 c2 c3
DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1);
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data
CREATE TABLE t3(c1 TINYINT UNSIGNED NOT NULL PRIMARY KEY, c2 TINYINT SIGNED NULL, c3 INT);
CREATE TABLE t4(c1 TINYINT UNSIGNED, c2 INT);
INSERT INTO t3 VALUES(200,126,1),(250,-127,2);
@@ -2600,7 +2600,7 @@ DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2;
SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
c1 c2 c3 c1 c2 c3
DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1);
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data
CREATE TABLE t3(c1 SMALLINT UNSIGNED NOT NULL PRIMARY KEY, c2 SMALLINT SIGNED NULL, c3 INT);
CREATE TABLE t4(c1 SMALLINT UNSIGNED, c2 INT);
INSERT INTO t3 VALUES(200,126,1),(250,-127,2);
@@ -3347,7 +3347,7 @@ DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2;
SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
c1 c2 c3 c1 c2 c3
DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1);
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data
CREATE TABLE t3(c1 MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, c2 MEDIUMINT SIGNED NULL, c3 INT);
CREATE TABLE t4(c1 MEDIUMINT UNSIGNED, c2 INT);
INSERT INTO t3 VALUES(200,126,1),(250,-127,2);
@@ -4094,7 +4094,7 @@ DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2;
SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
c1 c2 c3 c1 c2 c3
DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1);
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data
CREATE TABLE t3(c1 BIGINT UNSIGNED NOT NULL PRIMARY KEY, c2 BIGINT SIGNED NULL, c3 INT);
CREATE TABLE t4(c1 BIGINT UNSIGNED, c2 INT);
INSERT INTO t3 VALUES(200,126,1),(250,-127,2);
diff --git a/mysql-test/suite/engines/iuds/t/type_bit_iuds.test b/mysql-test/suite/engines/iuds/t/type_bit_iuds.test
index 628457cb9cd..88418decfad 100644
--- a/mysql-test/suite/engines/iuds/t/type_bit_iuds.test
+++ b/mysql-test/suite/engines/iuds/t/type_bit_iuds.test
@@ -71,7 +71,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0));
CREATE TABLE t6(c1 BIT(0), c2 BIT(0));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -235,7 +234,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -359,7 +357,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1));
CREATE TABLE t6(c1 BIT(1), c2 BIT(1));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -523,7 +520,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -647,7 +643,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2));
CREATE TABLE t6(c1 BIT(2), c2 BIT(2));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -811,7 +806,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -935,7 +929,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4));
CREATE TABLE t6(c1 BIT(4), c2 BIT(4));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -1099,7 +1092,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -1223,7 +1215,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8));
CREATE TABLE t6(c1 BIT(8), c2 BIT(8));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -1387,7 +1378,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -1511,7 +1501,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16));
CREATE TABLE t6(c1 BIT(16), c2 BIT(16));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -1675,7 +1664,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -1799,7 +1787,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32));
CREATE TABLE t6(c1 BIT(32), c2 BIT(32));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -1963,7 +1950,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -2087,7 +2073,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64));
CREATE TABLE t6(c1 BIT(64), c2 BIT(64));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -2251,7 +2236,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -2375,7 +2359,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0));
CREATE TABLE t6(c1 BIT(0), c2 BIT(0));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -2539,7 +2522,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -2663,7 +2645,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1));
CREATE TABLE t6(c1 BIT(1), c2 BIT(1));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -2827,7 +2808,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -2951,7 +2931,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2));
CREATE TABLE t6(c1 BIT(2), c2 BIT(2));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -3115,7 +3094,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -3239,7 +3217,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4));
CREATE TABLE t6(c1 BIT(4), c2 BIT(4));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -3403,7 +3380,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -3527,7 +3503,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8));
CREATE TABLE t6(c1 BIT(8), c2 BIT(8));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -3691,7 +3666,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -3815,7 +3789,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16));
CREATE TABLE t6(c1 BIT(16), c2 BIT(16));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -3979,7 +3952,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -4103,7 +4075,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32));
CREATE TABLE t6(c1 BIT(32), c2 BIT(32));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -4267,7 +4238,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -4391,7 +4361,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64));
CREATE TABLE t6(c1 BIT(64), c2 BIT(64));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -4555,7 +4524,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -4679,7 +4647,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0));
CREATE TABLE t6(c1 BIT(0), c2 BIT(0));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -4843,7 +4810,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -4967,7 +4933,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1));
CREATE TABLE t6(c1 BIT(1), c2 BIT(1));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -5131,7 +5096,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -5255,7 +5219,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2));
CREATE TABLE t6(c1 BIT(2), c2 BIT(2));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -5419,7 +5382,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -5543,7 +5505,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4));
CREATE TABLE t6(c1 BIT(4), c2 BIT(4));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -5707,7 +5668,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -5831,7 +5791,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8));
CREATE TABLE t6(c1 BIT(8), c2 BIT(8));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -5995,7 +5954,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -6119,7 +6077,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16));
CREATE TABLE t6(c1 BIT(16), c2 BIT(16));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -6283,7 +6240,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -6407,7 +6363,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32));
CREATE TABLE t6(c1 BIT(32), c2 BIT(32));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -6571,7 +6526,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -6695,7 +6649,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64));
CREATE TABLE t6(c1 BIT(64), c2 BIT(64));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -6859,7 +6812,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -6983,7 +6935,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0));
CREATE TABLE t6(c1 BIT(0), c2 BIT(0));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -7147,7 +7098,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -7271,7 +7221,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1));
CREATE TABLE t6(c1 BIT(1), c2 BIT(1));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -7435,7 +7384,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -7559,7 +7507,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2));
CREATE TABLE t6(c1 BIT(2), c2 BIT(2));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -7723,7 +7670,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -7847,7 +7793,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4));
CREATE TABLE t6(c1 BIT(4), c2 BIT(4));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -8011,7 +7956,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -8135,7 +8079,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8));
CREATE TABLE t6(c1 BIT(8), c2 BIT(8));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -8299,7 +8242,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -8423,7 +8365,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16));
CREATE TABLE t6(c1 BIT(16), c2 BIT(16));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -8587,7 +8528,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -8711,7 +8651,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32));
CREATE TABLE t6(c1 BIT(32), c2 BIT(32));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -8875,7 +8814,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -8999,7 +8937,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64));
CREATE TABLE t6(c1 BIT(64), c2 BIT(64));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -9163,7 +9100,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -9287,7 +9223,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0));
CREATE TABLE t6(c1 BIT(0), c2 BIT(0));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -9451,7 +9386,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -9575,7 +9509,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1));
CREATE TABLE t6(c1 BIT(1), c2 BIT(1));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -9739,7 +9672,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -9863,7 +9795,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2));
CREATE TABLE t6(c1 BIT(2), c2 BIT(2));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -10027,7 +9958,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -10151,7 +10081,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4));
CREATE TABLE t6(c1 BIT(4), c2 BIT(4));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -10315,7 +10244,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -10439,7 +10367,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8));
CREATE TABLE t6(c1 BIT(8), c2 BIT(8));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -10603,7 +10530,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -10727,7 +10653,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16));
CREATE TABLE t6(c1 BIT(16), c2 BIT(16));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -10891,7 +10816,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -11015,7 +10939,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32));
CREATE TABLE t6(c1 BIT(32), c2 BIT(32));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -11179,7 +11102,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -11303,7 +11225,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64));
CREATE TABLE t6(c1 BIT(64), c2 BIT(64));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -11467,7 +11388,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -11591,7 +11511,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0));
CREATE TABLE t6(c1 BIT(0), c2 BIT(0));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -11755,7 +11674,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -11879,7 +11797,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1));
CREATE TABLE t6(c1 BIT(1), c2 BIT(1));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -12043,7 +11960,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -12167,7 +12083,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2));
CREATE TABLE t6(c1 BIT(2), c2 BIT(2));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -12331,7 +12246,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -12455,7 +12369,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4));
CREATE TABLE t6(c1 BIT(4), c2 BIT(4));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -12619,7 +12532,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -12743,7 +12655,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8));
CREATE TABLE t6(c1 BIT(8), c2 BIT(8));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -12907,7 +12818,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -13031,7 +12941,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16));
CREATE TABLE t6(c1 BIT(16), c2 BIT(16));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -13195,7 +13104,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -13319,7 +13227,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32));
CREATE TABLE t6(c1 BIT(32), c2 BIT(32));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -13483,7 +13390,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -13607,7 +13513,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64));
CREATE TABLE t6(c1 BIT(64), c2 BIT(64));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -13771,7 +13676,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -13896,7 +13800,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0));
CREATE TABLE t6(c1 BIT(0), c2 BIT(0));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -14060,7 +13963,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -14185,7 +14087,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1));
CREATE TABLE t6(c1 BIT(1), c2 BIT(1));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -14349,7 +14250,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -14474,7 +14374,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2));
CREATE TABLE t6(c1 BIT(2), c2 BIT(2));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -14638,7 +14537,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -14763,7 +14661,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4));
CREATE TABLE t6(c1 BIT(4), c2 BIT(4));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -14927,7 +14824,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -15052,7 +14948,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8));
CREATE TABLE t6(c1 BIT(8), c2 BIT(8));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -15216,7 +15111,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -15341,7 +15235,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16));
CREATE TABLE t6(c1 BIT(16), c2 BIT(16));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -15505,7 +15398,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -15630,7 +15522,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32));
CREATE TABLE t6(c1 BIT(32), c2 BIT(32));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -15794,7 +15685,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -15919,7 +15809,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64));
CREATE TABLE t6(c1 BIT(64), c2 BIT(64));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -16083,7 +15972,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -16208,7 +16096,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0));
CREATE TABLE t6(c1 BIT(0), c2 BIT(0));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -16372,7 +16259,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -16497,7 +16383,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1));
CREATE TABLE t6(c1 BIT(1), c2 BIT(1));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -16661,7 +16546,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -16786,7 +16670,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2));
CREATE TABLE t6(c1 BIT(2), c2 BIT(2));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -16950,7 +16833,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -17075,7 +16957,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4));
CREATE TABLE t6(c1 BIT(4), c2 BIT(4));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -17239,7 +17120,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -17364,7 +17244,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8));
CREATE TABLE t6(c1 BIT(8), c2 BIT(8));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -17528,7 +17407,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -17653,7 +17531,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16));
CREATE TABLE t6(c1 BIT(16), c2 BIT(16));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -17817,7 +17694,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -17942,7 +17818,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32));
CREATE TABLE t6(c1 BIT(32), c2 BIT(32));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -18106,7 +17981,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
@@ -18231,7 +18105,6 @@ CREATE TABLE t4(i INT, b BIT NOT NULL);
ALTER TABLE t4 ADD PRIMARY KEY (i);
CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64));
CREATE TABLE t6(c1 BIT(64), c2 BIT(64));
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
--sorted_result
@@ -18395,7 +18268,6 @@ UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2;
TRUNCATE t5;
TRUNCATE t6;
-#Borrowed from suite/ndb/t/ndb_bitfield.test
INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135);
INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null);
diff --git a/mysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl b/mysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl
index 1164b471bd3..f277bce018e 100755
--- a/mysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl
+++ b/mysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl
@@ -108,7 +108,7 @@ $engine_options="";
add_engine_help();
}
-# From this point forward there is no difference between the build in InnDB and the plugin
+# From this point forward there is no difference between the build in InnoDB and the plugin
$opt_engine='InnoDB' if ($opt_engine eq 'InnoDB_plugin');
# checking that custom files for that engine exist
@@ -141,7 +141,6 @@ $cmd="MTR_VERSION=1 " .
"--mysqld=--log-output=file " .
"--mysqld=--sql-mode=no_engine_substitution " .
"--skip-im " .
- "--skip-ndb " .
$engine_options .
" > ".$runlog." 2>&1";
diff --git a/mysql-test/suite/federated/assisted_discovery.result b/mysql-test/suite/federated/assisted_discovery.result
new file mode 100644
index 00000000000..5ad37397b3c
--- /dev/null
+++ b/mysql-test/suite/federated/assisted_discovery.result
@@ -0,0 +1,69 @@
+CREATE DATABASE federated;
+CREATE DATABASE federated;
+CREATE TABLE t1 (
+`id` int(20) primary key,
+`group` int NOT NULL default 1,
+`a\\b` int NOT NULL default 2,
+`a\\` int unsigned,
+`name` varchar(32) default 'name')
+DEFAULT CHARSET=latin1;
+CREATE TABLE t1 ENGINE=FEDERATED
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1';
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(20) NOT NULL,
+ `group` int(11) NOT NULL DEFAULT '1',
+ `a\\b` int(11) NOT NULL DEFAULT '2',
+ `a\\` int(10) unsigned DEFAULT NULL,
+ `name` varchar(32) DEFAULT 'name',
+ PRIMARY KEY (`id`)
+) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1'
+INSERT INTO t1 (id, name) VALUES (1, 'foo');
+INSERT INTO t1 (id, name) VALUES (2, 'fee');
+SELECT * FROM t1;
+id group a\\b a\\ name
+1 1 2 NULL foo
+2 1 2 NULL fee
+DROP TABLE t1;
+SELECT * FROM t1;
+id group a\\b a\\ name
+1 1 2 NULL foo
+2 1 2 NULL fee
+DROP TABLE t1;
+create table t1 (
+a bigint(20) not null auto_increment,
+b bigint(20) not null,
+c tinyint(4) not null,
+d varchar(4096) not null,
+primary key (a),
+key (b,c,d(255))
+);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bigint(20) NOT NULL AUTO_INCREMENT,
+ `b` bigint(20) NOT NULL,
+ `c` tinyint(4) NOT NULL,
+ `d` varchar(4096) NOT NULL,
+ PRIMARY KEY (`a`),
+ KEY `b` (`b`,`c`,`d`(255))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+create table t1 engine=federated
+connection='mysql://root@127.0.0.1:SLAVE_PORT/test/t1';
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bigint(20) NOT NULL AUTO_INCREMENT,
+ `b` bigint(20) NOT NULL,
+ `c` tinyint(4) NOT NULL,
+ `d` varchar(4096) NOT NULL,
+ PRIMARY KEY (`a`),
+ KEY `b` (`b`,`c`,`d`(255))
+) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1'
+drop table t1;
+drop table t1;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
diff --git a/mysql-test/suite/federated/assisted_discovery.test b/mysql-test/suite/federated/assisted_discovery.test
new file mode 100644
index 00000000000..fa83a2a8e19
--- /dev/null
+++ b/mysql-test/suite/federated/assisted_discovery.test
@@ -0,0 +1,58 @@
+source include/federated.inc;
+source have_federatedx.inc;
+
+connection slave;
+
+CREATE TABLE t1 (
+ `id` int(20) primary key,
+ `group` int NOT NULL default 1,
+ `a\\b` int NOT NULL default 2,
+ `a\\` int unsigned,
+ `name` varchar(32) default 'name')
+ DEFAULT CHARSET=latin1;
+
+connection master;
+
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+eval CREATE TABLE t1 ENGINE=FEDERATED
+ CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/test/t1';
+
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+SHOW CREATE TABLE t1;
+INSERT INTO t1 (id, name) VALUES (1, 'foo');
+INSERT INTO t1 (id, name) VALUES (2, 'fee');
+--sorted_result
+SELECT * FROM t1;
+DROP TABLE t1;
+
+connection slave;
+--sorted_result
+SELECT * FROM t1;
+DROP TABLE t1;
+
+#
+#
+#
+create table t1 (
+ a bigint(20) not null auto_increment,
+ b bigint(20) not null,
+ c tinyint(4) not null,
+ d varchar(4096) not null,
+ primary key (a),
+ key (b,c,d(255))
+);
+show create table t1;
+
+connection master;
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+eval create table t1 engine=federated
+ connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/test/t1';
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+show create table t1;
+drop table t1;
+
+connection slave;
+drop table t1;
+
+source include/federated_cleanup.inc;
+
diff --git a/mysql-test/suite/federated/combinations b/mysql-test/suite/federated/combinations
index 668c1c05c50..6379074896d 100644
--- a/mysql-test/suite/federated/combinations
+++ b/mysql-test/suite/federated/combinations
@@ -1,6 +1,6 @@
[old]
-plugin-load=$HA_FEDERATED_SO
+plugin-load-add=$HA_FEDERATED_SO
[X]
-plugin-load=$HA_FEDERATEDX_SO
+plugin-load-add=$HA_FEDERATEDX_SO
diff --git a/mysql-test/suite/federated/federated.result b/mysql-test/suite/federated/federated.result
index 8f5ae341080..a71a16e07c7 100644
--- a/mysql-test/suite/federated/federated.result
+++ b/mysql-test/suite/federated/federated.result
@@ -5,8 +5,8 @@ ERROR HY000: server name: 'non_existing' doesn't exist!
SHOW WARNINGS;
Level Code Message
Error 1 server name: 'non_existing' doesn't exist!
-Error 1 Can't create/write to file 'non_existing' (Errcode: 14)
-Error 1005 Can't create table 'test.t1' (errno: 1)
+Error 1 Can't create/write to file 'non_existing' (Errcode: 14 "Bad address")
+Warning 1030 Got error 1 "Operation not permitted" from storage engine FEDERATED
create table t1 (a int);
create table fed (a int) engine=Federated CONNECTION='mysql://root@127.0.0.1:MASTER_PORT/test/t1';
drop table t1;
diff --git a/mysql-test/suite/federated/federated.test b/mysql-test/suite/federated/federated.test
index cb14dc2a239..0cb0551d23e 100644
--- a/mysql-test/suite/federated/federated.test
+++ b/mysql-test/suite/federated/federated.test
@@ -6,6 +6,7 @@ connection master;
#
--error 1
CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='non_existing';
+--replace_result "Not owner" "Operation not permitted"
SHOW WARNINGS;
#
diff --git a/mysql-test/suite/federated/federated_archive.result b/mysql-test/suite/federated/federated_archive.result
index d67568ec11c..6ff1da69725 100644
--- a/mysql-test/suite/federated/federated_archive.result
+++ b/mysql-test/suite/federated/federated_archive.result
@@ -20,13 +20,13 @@ id name
1 foo
2 bar
DELETE FROM federated.t1 WHERE id = 1;
-ERROR HY000: Got error 10000 'Error on remote system: 1031: Table storage engine for 'archive_table' doesn't have this option' from FEDERATED
+ERROR HY000: Got error 10000 'Error on remote system: 1031: Storage engine ARCHIVE of the table `federated`.`archive_table` doesn't have this option' from FEDERATED
SELECT * FROM federated.t1;
id name
1 foo
2 bar
UPDATE federated.t1 SET name='baz' WHERE id = 1;
-ERROR HY000: Got error 10000 'Error on remote system: 1031: Table storage engine for 'archive_table' doesn't have this option' from FEDERATED
+ERROR HY000: Got error 10000 'Error on remote system: 1031: Storage engine ARCHIVE of the table `federated`.`archive_table` doesn't have this option' from FEDERATED
SELECT * FROM federated.t1;
id name
1 foo
diff --git a/mysql-test/suite/federated/federated_bug_35333.result b/mysql-test/suite/federated/federated_bug_35333.result
index c19fb78b7ae..38a3a51ef28 100644
--- a/mysql-test/suite/federated/federated_bug_35333.result
+++ b/mysql-test/suite/federated/federated_bug_35333.result
@@ -24,11 +24,12 @@ CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE ROW_FORMAT TABLE_ROWS DATA_LENGTH TABLE_COMMENT
-test t1 BASE TABLE NULL NULL NULL NULL Can't find file: 't1' (errno: 2)
+test t1 BASE TABLE NULL NULL NULL NULL Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
Warnings:
-Warning 1017 Can't find file: 't1' (errno: 2)
+Warning 1017 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+Warnings:
+Warning 1017 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
#
# Cleanup
#
diff --git a/mysql-test/suite/federated/federated_bug_35333.test b/mysql-test/suite/federated/federated_bug_35333.test
index 5134dbc6252..d43f4e930f8 100644
--- a/mysql-test/suite/federated/federated_bug_35333.test
+++ b/mysql-test/suite/federated/federated_bug_35333.test
@@ -65,10 +65,7 @@ let $MYSQLD_DATADIR= `SELECT @@datadir`;
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
---disable_warnings
---error 1051
DROP TABLE t1;
---enable_warnings
--echo #
--echo # Cleanup
diff --git a/mysql-test/suite/federated/federated_server.result b/mysql-test/suite/federated/federated_server.result
index e2a5d60302b..2f04f1443ba 100644
--- a/mysql-test/suite/federated/federated_server.result
+++ b/mysql-test/suite/federated/federated_server.result
@@ -5,7 +5,7 @@ create database second_db;
use first_db;
DROP TABLE IF EXISTS first_db.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'first_db.t1'
CREATE TABLE first_db.t1 (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -13,7 +13,7 @@ CREATE TABLE first_db.t1 (
DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS first_db.t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'first_db.t2'
CREATE TABLE first_db.t2 (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -22,7 +22,7 @@ DEFAULT CHARSET=latin1;
use second_db;
DROP TABLE IF EXISTS second_db.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'second_db.t1'
CREATE TABLE second_db.t1 (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -30,7 +30,7 @@ CREATE TABLE second_db.t1 (
DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS second_db.t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'second_db.t2'
CREATE TABLE second_db.t2 (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -60,7 +60,7 @@ server_one 127.0.0.1 first_db root SLAVE_PORT mysql root
server_two 127.0.0.1 second_db root SLAVE_PORT mysql root
DROP TABLE IF EXISTS federated.old;
Warnings:
-Note 1051 Unknown table 'old'
+Note 1051 Unknown table 'federated.old'
CREATE TABLE federated.old (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -73,7 +73,7 @@ id name
1 federated.old-> first_db.t1, url format
DROP TABLE IF EXISTS federated.old2;
Warnings:
-Note 1051 Unknown table 'old2'
+Note 1051 Unknown table 'federated.old2'
CREATE TABLE federated.old2 (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -86,7 +86,7 @@ id name
1 federated.old2-> first_db.t2, url format
DROP TABLE IF EXISTS federated.urldb2t1;
Warnings:
-Note 1051 Unknown table 'urldb2t1'
+Note 1051 Unknown table 'federated.urldb2t1'
CREATE TABLE federated.urldb2t1 (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -99,7 +99,7 @@ id name
1 federated.urldb2t1 -> second_db.t1, url format
DROP TABLE IF EXISTS federated.urldb2t2;
Warnings:
-Note 1051 Unknown table 'urldb2t2'
+Note 1051 Unknown table 'federated.urldb2t2'
CREATE TABLE federated.urldb2t2 (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -112,7 +112,7 @@ id name
1 federated.urldb2t2 -> second_db.t2, url format
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -126,7 +126,7 @@ id name
1 server_one, new scheme, first_db.t1
DROP TABLE IF EXISTS federated.whatever;
Warnings:
-Note 1051 Unknown table 'whatever'
+Note 1051 Unknown table 'federated.whatever'
CREATE TABLE federated.whatever (
`id` int(20) NOT NULL,
`name` varchar(64) NOT NULL default ''
@@ -246,7 +246,7 @@ drop user guest_usage@localhost;
drop user guest_select@localhost;
drop table federated.t1;
drop server 's1';
-create server 's1' foreign data wrapper 'mysql' options (port 3306);
+create server 's1' foreign data wrapper 'mysql' options (host 'foo');
alter server 's1' options
(host 'localhost', database '', user '',
password '', socket '', owner '', port 3306);
diff --git a/mysql-test/suite/federated/federated_server.test b/mysql-test/suite/federated/federated_server.test
index c47a1acf2a3..3d491b1dfdf 100644
--- a/mysql-test/suite/federated/federated_server.test
+++ b/mysql-test/suite/federated/federated_server.test
@@ -292,7 +292,7 @@ drop server 's1';
#
# Bug#30671 - ALTER SERVER causes the server to crash
#
-create server 's1' foreign data wrapper 'mysql' options (port 3306);
+create server 's1' foreign data wrapper 'mysql' options (host 'foo');
alter server 's1' options
(host 'localhost', database '', user '',
password '', socket '', owner '', port 3306);
diff --git a/mysql-test/suite/federated/federated_transactions.result b/mysql-test/suite/federated/federated_transactions.result
index 2b88f4d0f36..52a0686741e 100644
--- a/mysql-test/suite/federated/federated_transactions.result
+++ b/mysql-test/suite/federated/federated_transactions.result
@@ -2,7 +2,7 @@ CREATE DATABASE federated;
CREATE DATABASE federated;
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
`name` varchar(32) NOT NULL default ''
@@ -10,7 +10,7 @@ CREATE TABLE federated.t1 (
DEFAULT CHARSET=latin1 ENGINE=innodb;
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
`name` varchar(32) NOT NULL default ''
diff --git a/mysql-test/suite/federated/federatedx.result b/mysql-test/suite/federated/federatedx.result
index 2ece1a32b4f..4d5d94443f3 100644
--- a/mysql-test/suite/federated/federatedx.result
+++ b/mysql-test/suite/federated/federatedx.result
@@ -6,7 +6,7 @@ SET @OLD_SLAVE_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
SET @@GLOBAL.CONCURRENT_INSERT= 0;
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
`group` int NOT NULL default 0,
@@ -17,7 +17,7 @@ CREATE TABLE federated.t1 (
DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
`group` int NOT NULL default 0,
@@ -50,7 +50,7 @@ CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t3';
ERROR HY000: Can't create federated table. Foreign data src error: database: 'federated' username: 'root' hostname: '127.0.0.1'
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
`group` int NOT NULL default 0,
@@ -63,7 +63,7 @@ CONNECTION='mysql://user:pass@127.0.0.1:SLAVE_PORT/federated/t1';
ERROR HY000: Can't create federated table. Foreign data src error: database: 'federated' username: 'user' hostname: '127.0.0.1'
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
`group` int NOT NULL default 0,
@@ -89,7 +89,7 @@ DELETE FROM federated.t1;
DROP TABLE federated.t1;
DROP TABLE IF EXISTS federated.t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'federated.t2'
CREATE TABLE federated.t2 (
`id` int(20) NOT NULL,
`name` varchar(32) NOT NULL default ''
@@ -112,7 +112,7 @@ DROP TABLE federated.t2;
DROP TABLE IF EXISTS federated.t1;
DROP TABLE IF EXISTS federated.`t1%`;
Warnings:
-Note 1051 Unknown table 't1%'
+Note 1051 Unknown table 'federated.t1%'
CREATE TABLE federated.`t1%` (
`id` int(20) NOT NULL,
`name` varchar(32) NOT NULL default ''
@@ -120,7 +120,7 @@ CREATE TABLE federated.`t1%` (
DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
`name` varchar(32) NOT NULL default ''
@@ -152,7 +152,7 @@ DROP TABLE IF EXISTS federated.`t1%`;
DROP TABLE IF EXISTS federated.`t1%`;
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL auto_increment,
`name` varchar(32) NOT NULL default '',
@@ -1391,7 +1391,7 @@ PRIMARY KEY (`id`),
key (country_id));
DROP TABLE IF EXISTS federated.countries;
Warnings:
-Note 1051 Unknown table 'countries'
+Note 1051 Unknown table 'federated.countries'
CREATE TABLE federated.countries (
`id` int(20) NOT NULL auto_increment,
`country` varchar(32),
@@ -1508,7 +1508,7 @@ id name
1 Monty
2 David
ALTER TABLE federated.alter_me MODIFY COLUMN id int(16) NOT NULL;
-ERROR HY000: Table storage engine for 'alter_me' doesn't have this option
+ERROR HY000: Storage engine FEDERATED of the table `federated`.`alter_me` doesn't have this option
SELECT * FROM federated.alter_me;
id name
1 Monty
@@ -1544,13 +1544,13 @@ drop table federated.t1;
drop table federated.t1;
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL auto_increment,
PRIMARY KEY (`id`));
DROP TABLE IF EXISTS federated.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'federated.t1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL auto_increment,
PRIMARY KEY (`id`)
@@ -1689,6 +1689,11 @@ a b c
19 23 437
delete from federated.t1;
load data infile '../../std_data/loaddata5.dat' into table federated.t1 fields terminated by '' enclosed by '' ignore 1 lines (a, b);
+Warnings:
+Note 1265 Data truncated for column 'a' at row 1
+Note 1265 Data truncated for column 'b' at row 1
+Note 1265 Data truncated for column 'a' at row 2
+Note 1265 Data truncated for column 'b' at row 2
select * from federated.t1 order by a;
a b c
3 4 12
@@ -1810,6 +1815,7 @@ length(a)
5000
drop table t1;
drop table t1;
+set sql_mode="";
DROP TABLE IF EXISTS federated.test;
CREATE TABLE federated.test (
`i` int(11) NOT NULL,
@@ -1818,6 +1824,7 @@ CREATE TABLE federated.test (
PRIMARY KEY (`i`,`j`),
UNIQUE KEY `i` (`i`,`c`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+set sql_mode=default;
DROP TABLE IF EXISTS federated.test1;
DROP TABLE IF EXISTS federated.test2;
create table federated.test1 (
@@ -2143,7 +2150,7 @@ DROP TABLE t1;
#Switch to Connection Slave
DROP TABLE t1;
End of 5.0 tests
-create server 's1' foreign data wrapper 'mysql' options (port 3306);
+create server 's1' foreign data wrapper 'mysql' options (host 'foo');
drop server 's1';
#
# Bug #32426: FEDERATED query returns corrupt results for ORDER BY on a TEXT
@@ -2157,6 +2164,12 @@ DROP TABLE federated.t1;
End of 5.1 tests
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT;
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
+#
+# MDEV-9346 - The federatedx and spider engine make mysqld crash when
+# they are configured withtout username
+#
+CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='mysql://@127.0.0.1:SLAVE_PORT/federated/t1';
+ERROR HY000: Can't create federated table. Foreign data src error: database: 'federated' username: '' hostname: '127.0.0.1'
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;
DROP TABLE IF EXISTS federated.t1;
diff --git a/mysql-test/suite/federated/federatedx.test b/mysql-test/suite/federated/federatedx.test
index cfe6a425944..29d1eaddc26 100644
--- a/mysql-test/suite/federated/federatedx.test
+++ b/mysql-test/suite/federated/federatedx.test
@@ -4,8 +4,8 @@
#
---source include/federated.inc
--source have_federatedx.inc
+--source include/federated.inc
connection default;
@@ -1506,8 +1506,7 @@ DROP TABLE federated.test;
# and lost changes to NEW variables.
# Since for federated engine only operation which is affected by wrong
# fields mark-up is handler::write_row() this file constains coverage
-# for ON INSERT triggers only. Tests for other types of triggers reside
-# in ndb_trigger.test.
+# for ON INSERT triggers only.
#
connection slave;
--disable_warnings
@@ -1634,6 +1633,7 @@ drop table t1;
#
connection slave;
+set sql_mode="";
--disable_warnings
DROP TABLE IF EXISTS federated.test;
CREATE TABLE federated.test (
@@ -1644,6 +1644,7 @@ CREATE TABLE federated.test (
UNIQUE KEY `i` (`i`,`c`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--enable_warnings
+set sql_mode=default;
connection master;
--disable_warnings
@@ -1967,7 +1968,7 @@ connection default;
--echo End of 5.0 tests
-create server 's1' foreign data wrapper 'mysql' options (port 3306);
+create server 's1' foreign data wrapper 'mysql' options (host 'foo');
drop server 's1';
@@ -2000,4 +2001,13 @@ SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
connection default;
+--echo #
+--echo # MDEV-9346 - The federatedx and spider engine make mysqld crash when
+--echo # they are configured withtout username
+--echo #
+connection master;
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+--error ER_CANT_CREATE_FEDERATED_TABLE
+eval CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='mysql://@127.0.0.1:$SLAVE_MYPORT/federated/t1';
+
source include/federated_cleanup.inc;
diff --git a/mysql-test/suite/federated/have_federatedx.opt b/mysql-test/suite/federated/have_federatedx.opt
index 21f6f149f09..2c34f634517 100644
--- a/mysql-test/suite/federated/have_federatedx.opt
+++ b/mysql-test/suite/federated/have_federatedx.opt
@@ -1 +1 @@
---plugin-load=$HA_FEDERATEDX_SO --federated
+--plugin-load-add=$HA_FEDERATEDX_SO --loose-federated
diff --git a/mysql-test/suite/federated/net_thd_crash-12725.result b/mysql-test/suite/federated/net_thd_crash-12725.result
new file mode 100644
index 00000000000..8c85b7a7594
--- /dev/null
+++ b/mysql-test/suite/federated/net_thd_crash-12725.result
@@ -0,0 +1,10 @@
+SET GLOBAL query_cache_size= 16*1024*1024;
+SET GLOBAL query_cache_type= 1;
+CREATE TABLE t1 (i INT);
+CREATE TABLE t2 (i INT) ENGINE=FEDERATED CONNECTION="mysql://root@localhost:MASTER_MYPORT/test/t1";
+ALTER TABLE t2 DISABLE KEYS;
+ERROR HY000: Storage engine FEDERATED of the table `test`.`t2` doesn't have this option
+CREATE TABLE t3 (i INT) ENGINE=FEDERATED CONNECTION="mysql://root@localhost:MASTER_MYPORT/test/t1";
+SET GLOBAL query_cache_size= default;
+SET GLOBAL query_cache_type= default;
+drop table t1, t2, t3;
diff --git a/mysql-test/suite/federated/net_thd_crash-12725.test b/mysql-test/suite/federated/net_thd_crash-12725.test
new file mode 100644
index 00000000000..e94001cde01
--- /dev/null
+++ b/mysql-test/suite/federated/net_thd_crash-12725.test
@@ -0,0 +1,17 @@
+#
+# MDEV-12725 select on federated table crashes server
+#
+#
+SET GLOBAL query_cache_size= 16*1024*1024;
+SET GLOBAL query_cache_type= 1;
+CREATE TABLE t1 (i INT);
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+eval CREATE TABLE t2 (i INT) ENGINE=FEDERATED CONNECTION="mysql://root@localhost:$MASTER_MYPORT/test/t1";
+--error ER_ILLEGAL_HA
+ALTER TABLE t2 DISABLE KEYS;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+eval CREATE TABLE t3 (i INT) ENGINE=FEDERATED CONNECTION="mysql://root@localhost:$MASTER_MYPORT/test/t1";
+source include/restart_mysqld.inc;
+SET GLOBAL query_cache_size= default;
+SET GLOBAL query_cache_type= default;
+drop table t1, t2, t3;
diff --git a/mysql-test/suite/federated/net_thd_crash-12951.result b/mysql-test/suite/federated/net_thd_crash-12951.result
new file mode 100644
index 00000000000..573ac96efff
--- /dev/null
+++ b/mysql-test/suite/federated/net_thd_crash-12951.result
@@ -0,0 +1,11 @@
+set global query_cache_size= 16*1024*1024;
+set global query_cache_type= 1;
+create table t1 (i int) engine=innodb;
+create table t2 (i int) engine=federated
+CONNECTION="mysql://root@localhost:MASTER_MYPORT/test/t1";
+select * from t2;
+i
+drop table t2;
+drop table t1;
+set global query_cache_type= default;
+set global query_cache_size= default;
diff --git a/mysql-test/suite/federated/net_thd_crash-12951.test b/mysql-test/suite/federated/net_thd_crash-12951.test
new file mode 100644
index 00000000000..81cd826686e
--- /dev/null
+++ b/mysql-test/suite/federated/net_thd_crash-12951.test
@@ -0,0 +1,23 @@
+#
+# MDEV-12951 Server crash [mysqld got exception 0xc0000005]
+#
+
+--source include/have_innodb.inc
+
+set global query_cache_size= 16*1024*1024;
+set global query_cache_type= 1;
+
+create table t1 (i int) engine=innodb;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+eval create table t2 (i int) engine=federated
+ CONNECTION="mysql://root@localhost:$MASTER_MYPORT/test/t1";
+
+select * from t2;
+
+source include/restart_mysqld.inc;
+
+drop table t2;
+drop table t1;
+
+set global query_cache_type= default;
+set global query_cache_size= default;
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_load.inc b/mysql-test/suite/funcs_1/datadict/datadict_load.inc
index e3013249faf..9e3b87660f8 100644
--- a/mysql-test/suite/funcs_1/datadict/datadict_load.inc
+++ b/mysql-test/suite/funcs_1/datadict/datadict_load.inc
@@ -61,15 +61,11 @@ let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host NOT In ("loca
eval SET @ENGINE_INNODB = IF( '$engine_type' = 'innodb', 1, 0);
eval SET @ENGINE_MEMORY = IF( '$engine_type' = 'memory', 1, 0);
eval SET @ENGINE_MYISAM = IF( '$engine_type' = 'myisam', 1, 0);
-eval SET @ENGINE_NDB = IF( '$engine_type' = 'ndb', 1, 0);
--enable_query_log
let $engine_myisam= `SELECT @ENGINE_MYISAM = 1`;
let $engine_innodb= `SELECT @ENGINE_INNODB = 1`;
let $engine_memory= `SELECT @ENGINE_MEMORY = 1`;
-let $engine_ndb= `SELECT @ENGINE_NDB = 1`;
-# Note: The NDB variant with their own tb1 - tb4 tables is not ready for use.
-let $engine_ndb= 0;
--disable_warnings
DROP DATABASE IF EXISTS test1;
@@ -107,15 +103,5 @@ if ($engine_myisam)
--source suite/funcs_1/include/myisam_tb2.inc
}
-if ($engine_ndb)
-{
- --source suite/funcs_1/include/ndb_tb1.inc
- --source suite/funcs_1/include/ndb_tb2.inc
- --source suite/funcs_1/include/ndb_tb3.inc
- --source suite/funcs_1/include/ndb_tb4.inc
- USE test1;
- --source suite/funcs_1/include/ndb_tb2.inc
-}
-
USE test;
--source suite/funcs_1/include/sp_tb.inc
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_priv.inc b/mysql-test/suite/funcs_1/datadict/datadict_priv.inc
index 178a8f18c74..c69d7b004be 100644
--- a/mysql-test/suite/funcs_1/datadict/datadict_priv.inc
+++ b/mysql-test/suite/funcs_1/datadict/datadict_priv.inc
@@ -48,9 +48,9 @@ eval INSERT INTO $table SELECT * FROM test.t_$table;
eval DROP TABLE test.t_$table;
--error ER_VIEW_NONUPD_CHECK
-eval CREATE VIEW test.v_$table ($columns) AS SELECT * FROM $table WITH CHECK OPTION;
+eval CREATE VIEW test.v_$table ($columns) AS SELECT $columns FROM $table WITH CHECK OPTION;
-eval CREATE VIEW test.v_$table ($columns) AS SELECT * FROM $table;
+eval CREATE VIEW test.v_$table ($columns) AS SELECT $columns FROM $table;
# !!! This query returns a wrong error due to a bug in the code of mwl106
# !!! Uncomment it when the bug is fixed
diff --git a/mysql-test/suite/funcs_1/datadict/is_routines.inc b/mysql-test/suite/funcs_1/datadict/is_routines.inc
index 5ef88e2dffc..ecbb1b8c0da 100644
--- a/mysql-test/suite/funcs_1/datadict/is_routines.inc
+++ b/mysql-test/suite/funcs_1/datadict/is_routines.inc
@@ -18,6 +18,7 @@
# 2008-06-11 mleich Move t/is_routines.test to this file and
# create variants for embedded/non embedded server.
#
+set sql_mode="";
let $engine_type = MEMORY;
let $other_engine_type = MyISAM;
diff --git a/mysql-test/suite/funcs_1/datadict/is_triggers.inc b/mysql-test/suite/funcs_1/datadict/is_triggers.inc
index 5597bc816fc..6c618e533b2 100644
--- a/mysql-test/suite/funcs_1/datadict/is_triggers.inc
+++ b/mysql-test/suite/funcs_1/datadict/is_triggers.inc
@@ -19,6 +19,7 @@
# 2008-06-11 mleich Move t/is_triggers.test to this file and
# create variants for embedded/non embedded server.
#
+set global sql_mode="";
let $engine_type = MEMORY;
let $other_engine_type = MyISAM;
@@ -257,3 +258,4 @@ ALTER TABLE information_schema.triggers RENAME information_schema.xtriggers;
# Cleanup
DROP DATABASE db_datadict;
+set global sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/datadict/is_views.inc b/mysql-test/suite/funcs_1/datadict/is_views.inc
index 0ba1aaff3f2..716d50f5794 100644
--- a/mysql-test/suite/funcs_1/datadict/is_views.inc
+++ b/mysql-test/suite/funcs_1/datadict/is_views.inc
@@ -165,8 +165,13 @@ CREATE USER 'testuser1'@'localhost';
SELECT * FROM information_schema.views
WHERE table_name LIKE 't1_%';
CREATE VIEW test.t1_view AS SELECT DISTINCT f1 FROM test.t1_table;
+CREATE ALGORITHM=MERGE VIEW test.t1_view1 AS SELECT f1 FROM test.t1_table;
+CREATE ALGORITHM=TEMPTABLE VIEW test.t1_view2 AS SELECT f1 FROM test.t1_table;
SELECT * FROM information_schema.views
WHERE table_name LIKE 't1_%';
+DROP VIEW test.t1_view1;
+DROP VIEW test.t1_view2;
+
#
# Check modification of DEFINER, SECURITY_TYPE, IS_UPDATABLE, VIEW_DEFINITION,
# CHECK_OPTION
diff --git a/mysql-test/suite/funcs_1/datadict/processlist_priv.inc b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc
index 38b9a3e309e..a2e701cc5fa 100644
--- a/mysql-test/suite/funcs_1/datadict/processlist_priv.inc
+++ b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc
@@ -46,7 +46,6 @@
# ----> MyISAM #
# - There is no impact of the GLOBAL(server) or SESSION default #
# storage engine setting on the engine used for I_S tables. #
-# That means we cannot get NDB or InnoDB instead. #
# #
# Creation: #
# 2007-08 hhunger Implement this test as part of #
@@ -66,7 +65,7 @@
let $table= processlist;
#
# columns of the information_schema table e.g. to use in a select.
-let $columns= ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS;
+let $columns= ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY;
#
# Where clause for an update.
let $update_where= WHERE id=1 ;
@@ -157,11 +156,12 @@ WHERE DB = 'information_schema' AND COMMAND = 'Sleep' AND USER = 'ddicttestuser1
--source include/wait_condition.inc
--replace_result ENGINE=MyISAM "" ENGINE=Aria "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" ""
eval SHOW CREATE TABLE $table;
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
eval SHOW $table;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
eval SELECT * FROM $table $select_where ORDER BY id;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
eval SELECT $columns FROM $table $select_where ORDER BY id;
--source suite/funcs_1/datadict/datadict_priv.inc
--real_sleep 0.3
@@ -177,11 +177,12 @@ connection con100;
# but "ddicttestuser1" must not see anything of the root session.
--replace_result ENGINE=MyISAM "" ENGINE=Aria "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" ""
eval SHOW CREATE TABLE $table;
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
eval SHOW $table;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
eval SELECT * FROM $table $select_where ORDER BY id;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
eval SELECT $columns FROM $table $select_where ORDER BY id;
--source suite/funcs_1/datadict/datadict_priv.inc
--real_sleep 0.3
@@ -203,9 +204,10 @@ GRANT PROCESS ON *.* TO ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
--echo ####################################################################################
connection con100;
SHOW GRANTS;
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -215,9 +217,10 @@ SELECT * FROM information_schema.processlist;
--echo ####################################################################################
connect (con101,localhost,ddicttestuser1,ddictpass,information_schema);
SHOW GRANTS;
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -227,6 +230,7 @@ SELECT * FROM information_schema.processlist;
--echo connection default (user=root)
--echo ####################################################################################
connection default;
+create user ''@'localhost';
GRANT PROCESS ON *.* TO ''@'localhost';
--real_sleep 0.3
@@ -237,9 +241,10 @@ GRANT PROCESS ON *.* TO ''@'localhost';
--echo ####################################################################################
connect (anonymous1,localhost,"''",,information_schema);
SHOW GRANTS;
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -259,9 +264,10 @@ connect (con102,localhost,ddicttestuser1,ddictpass,information_schema);
--echo ddicttestuser1 are visible.
--echo ####################################################################################
SHOW GRANTS;
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -284,10 +290,11 @@ SHOW GRANTS FOR ''@'localhost';
if ($fixed_bug_30395)
{
# Bug#30395 strange results after REVOKE PROCESS ON *.* FROM ...
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
}
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -306,9 +313,10 @@ connect (con103,localhost,ddicttestuser1,ddictpass,information_schema);
--echo Only the processes of ddicttestuser1 user are visible.
--echo ####################################################################################
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -328,9 +336,10 @@ connect (con104,localhost,ddicttestuser1,ddictpass,information_schema);
--echo Only the processes of ddicttestuser1 are visible.
--echo ####################################################################################
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -375,9 +384,10 @@ connect (con200,localhost,ddicttestuser2,ddictpass,information_schema);
--echo ddicttestuser2 has now the PROCESS privilege and sees all connections
--echo ####################################################################################
SHOW GRANTS FOR 'ddicttestuser2'@'localhost';
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -396,9 +406,10 @@ connect (con201,localhost,ddicttestuser2,ddictpass,information_schema);
--echo ddicttestuser2 has no more the PROCESS privilege and can only see own connects
--echo ####################################################################################
SHOW GRANTS;
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -419,9 +430,10 @@ connect (con107,localhost,ddicttestuser1,ddictpass,information_schema);
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
--error ER_ACCESS_DENIED_ERROR
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
@@ -443,9 +455,10 @@ connect (con108,localhost,ddicttestuser1,ddictpass,information_schema);
--echo Therefore the missing SELECT privilege does not affect SELECTs on PROCESSLIST.
--echo ####################################################################################
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+--replace_result Execute Query
--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
SHOW processlist;
---replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS
+--replace_column 1 ID 3 HOST_NAME 6 TIME 9 TIME_MS 13 MEMORY 14 ROWS 15 QUERY_ID 17 TID
SELECT * FROM information_schema.processlist;
--real_sleep 0.3
diff --git a/mysql-test/suite/funcs_1/datadict/processlist_val.inc b/mysql-test/suite/funcs_1/datadict/processlist_val.inc
index dbc5ebd51b7..cdc070aff74 100644
--- a/mysql-test/suite/funcs_1/datadict/processlist_val.inc
+++ b/mysql-test/suite/funcs_1/datadict/processlist_val.inc
@@ -20,7 +20,6 @@
# The column PROCESSLIST.INFO is of data type LONGTEXT ----> MyISAM #
# - There is no impact of the GLOBAL(server) or SESSION default storage #
# engine setting on the engine used for I_S tables. #
-# That means we cannot get NDB or InnoDB instead. #
# 3. The SHOW (FULL) PROCESSLIST command are for comparison. #
# The main test target is INFORMATION_SCHEMA.PROCESSLIST ! #
# 4. Attention: #
@@ -93,9 +92,10 @@ echo
# - INFO must contain the corresponding SHOW/SELECT PROCESSLIST
#
# 1. Just dump what we get
---replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS>
+--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS> 13 <MEMORY> 14 <ROWS> 15 <QUERY_ID> 17 <TID>
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
---replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS>
+--replace_result Execute Query
+--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS> 13 <MEMORY> 14 <ROWS>
SHOW FULL PROCESSLIST;
#
# Determine the connection id of the current connection (default)
@@ -166,8 +166,9 @@ let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE COMMAND = 'Sleep' AND USER = 'test_user';
--source include/wait_condition.inc
# 1. Just dump what we get
---replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS>
+--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 7 <STATE> 9 <TIME_MS> 13 <MEMORY> 14 <ROWS> 15 <QUERY_ID> 17 <TID>
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_result Execute Query
--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME>
SHOW FULL PROCESSLIST;
#
@@ -211,8 +212,9 @@ echo
# ----- switch to connection con1 (user = test_user) -----
;
connection con1;
---replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS>
+--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS> 13 <MEMORY> 14 <ROWS> 15 <QUERY_ID> 17 <TID>
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_result Execute Query
--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME>
SHOW FULL PROCESSLIST;
@@ -245,8 +247,9 @@ echo
;
connection con2;
# Just dump what we get
---replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS>
+--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS> 13 <MEMORY> 14 <ROWS> 15 <QUERY_ID> 17 <TID>
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_result Execute Query
--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME>
SHOW FULL PROCESSLIST;
#
@@ -305,8 +308,9 @@ WHERE ID = @test_user_con2_id AND Command IN('Query','Execute')
AND State = 'User sleep' AND INFO IS NOT NULL ;
--source include/wait_condition.inc
# 1. Just dump what we get
---replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS>
+--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS> 13 <MEMORY> 14 <ROWS> 15 <QUERY_ID> 17 <TID>
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_result Execute Query
--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME>
SHOW FULL PROCESSLIST;
#
@@ -376,7 +380,7 @@ let $wait_condition= SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST
#
# Expect to see the state 'Waiting for table metadata lock' for the third
# connection because the SELECT collides with the WRITE TABLE LOCK.
---replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS>
+--replace_column 1 <ID> 3 <HOST_NAME> 6 <TIME> 9 <TIME_MS> 13 <MEMORY> 14 <ROWS> 15 <QUERY_ID> 17 <TID>
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
UNLOCK TABLES;
#
@@ -435,10 +439,12 @@ echo
# SHOW FULL PROCESSLIST Complete statement
# SHOW PROCESSLIST statement truncated after 100 char
;
---replace_column 1 <ID> 3 <HOST_NAME> 5 <COMMAND> 6 <TIME> 7 <STATE> 9 <TIME_MS>
+--replace_column 1 <ID> 3 <HOST_NAME> 5 <COMMAND> 6 <TIME> 7 <STATE> 9 <TIME_MS> 13 <MEMORY> 14 <ROWS> 15 <QUERY_ID> 17 <TID>
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_result Execute Query
--replace_column 1 <ID> 3 <HOST_NAME> 5 <COMMAND> 6 <TIME> 7 <STATE>
SHOW FULL PROCESSLIST;
+--replace_result Execute Query
--replace_column 1 <ID> 3 <HOST_NAME> 5 <COMMAND> 6 <TIME> 7 <STATE>
SHOW PROCESSLIST;
UNLOCK TABLES;
diff --git a/mysql-test/suite/funcs_1/datadict/tables2.inc b/mysql-test/suite/funcs_1/datadict/tables2.inc
index 0d110dd22d9..1dc00e5b0f7 100644
--- a/mysql-test/suite/funcs_1/datadict/tables2.inc
+++ b/mysql-test/suite/funcs_1/datadict/tables2.inc
@@ -21,13 +21,11 @@
# 20 CREATE_OPTIONS
# 21 TABLE_COMMENT User defined comment
# + InnoDB
-# + NDB: "number_of_replicas: <number>" appended
# + InnoDB: "InnoDB free: <number_kB> kB" appended
# <number_kB> depends on tablespace history!
# The LEFT/INSTR/IF/LENGTH stuff should remove these
# storage engine specific part.
let $innodb_pattern = 'InnoDB free';
-let $ndb_pattern = 'number_of_replicas';
--vertical_results
# We do not unify the engine name here, because the rowformat is
# specific to the engine.
@@ -36,11 +34,9 @@ let $ndb_pattern = 'number_of_replicas';
eval
SELECT *,
LEFT( table_comment,
- IF(INSTR(table_comment,$innodb_pattern) = 0
- AND INSTR(table_comment,$ndb_pattern) = 0,
+ IF(INSTR(table_comment,$innodb_pattern) = 0,
LENGTH(table_comment),
- INSTR(table_comment,$innodb_pattern)
- + INSTR(table_comment,$ndb_pattern) - 1))
+ INSTR(table_comment,$innodb_pattern) - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
diff --git a/mysql-test/suite/funcs_1/include/innodb_tb4.inc b/mysql-test/suite/funcs_1/include/innodb_tb4.inc
index 104b0e763be..b3e94fce80e 100644
--- a/mysql-test/suite/funcs_1/include/innodb_tb4.inc
+++ b/mysql-test/suite/funcs_1/include/innodb_tb4.inc
@@ -49,7 +49,7 @@ f217 float(53) unsigned zerofill,
f218 date,
f219 time,
f220 datetime,
-f221 timestamp,
+f221 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
f222 year,
f223 year(3),
f224 year(4),
diff --git a/mysql-test/suite/funcs_1/include/memory_tb4.inc b/mysql-test/suite/funcs_1/include/memory_tb4.inc
index d3bab92af3d..3a4fc861f28 100644
--- a/mysql-test/suite/funcs_1/include/memory_tb4.inc
+++ b/mysql-test/suite/funcs_1/include/memory_tb4.inc
@@ -49,7 +49,7 @@ f217 float(53) unsigned zerofill,
f218 date,
f219 time,
f220 datetime,
-f221 timestamp,
+f221 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
f222 year,
f223 year(3),
f224 year(4),
diff --git a/mysql-test/suite/funcs_1/include/myisam_tb4.inc b/mysql-test/suite/funcs_1/include/myisam_tb4.inc
index 23fa9af45bb..da934e6d658 100644
--- a/mysql-test/suite/funcs_1/include/myisam_tb4.inc
+++ b/mysql-test/suite/funcs_1/include/myisam_tb4.inc
@@ -49,7 +49,7 @@ f217 float(53) unsigned zerofill,
f218 date,
f219 time,
f220 datetime,
-f221 timestamp,
+f221 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
f222 year,
f223 year(3),
f224 year(4),
diff --git a/mysql-test/suite/funcs_1/include/ndb_tb1.inc b/mysql-test/suite/funcs_1/include/ndb_tb1.inc
deleted file mode 100644
index fd2db538b4c..00000000000
--- a/mysql-test/suite/funcs_1/include/ndb_tb1.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-##### suite/funcs_1/include/ndb_tb1.inc
-
---disable_warnings
-drop table if exists tb1 ;
---enable_warnings
-create table tb1 (
-f1 char(0),
-f2 char(0) binary,
-f3 char(0) ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
-f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal,
-f34 decimal unsigned,
-f35 decimal zerofill,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
-f58 numeric (64) not null DEFAULT 99
-) engine = ndb;
-
---replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
-eval
-load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/ndb_tb1.txt'
-into table tb1 ;
diff --git a/mysql-test/suite/funcs_1/include/ndb_tb2.inc b/mysql-test/suite/funcs_1/include/ndb_tb2.inc
deleted file mode 100644
index 3a8d647b65f..00000000000
--- a/mysql-test/suite/funcs_1/include/ndb_tb2.inc
+++ /dev/null
@@ -1,63 +0,0 @@
-##### suite/funcs_1/include/ndb_tb2.inc
-
---disable_warnings
-drop table if exists tb2 ;
---enable_warnings
-create table tb2 (
-f59 numeric (0) unsigned,
-f60 numeric (64) unsigned,
-f61 numeric (0) zerofill,
-f62 numeric (64) zerofill,
-f63 numeric (0) unsigned zerofill,
-f64 numeric (64) unsigned zerofill,
-f65 numeric (0,0),
-f66 numeric (63,30),
-f67 numeric (0,0) unsigned,
-f68 numeric (63,30) unsigned,
-f69 numeric (0,0) zerofill,
-f70 numeric (63,30) zerofill,
-f71 numeric (0,0) unsigned zerofill,
-f72 numeric (63,30) unsigned zerofill,
-f73 real,
-f74 real unsigned,
-f75 real zerofill,
-f76 real unsigned zerofill,
-f77 double default 7.7,
-f78 double unsigned default 7.7,
-f79 double zerofill default 7.7,
-f80 double unsigned zerofill default 8.8,
-f81 float not null default 8.8,
-f82 float unsigned not null default 8.8,
-f83 float zerofill not null default 8.8,
-f84 float unsigned zerofill not null default 8.8,
-f85 float(0) not null default 8.8,
-f86 float(23) not null default 8.8,
-f87 float(0) unsigned not null default 8.8,
-f88 float(23) unsigned not null default 8.8,
-f89 float(0) zerofill not null default 8.8,
-f90 float(23) zerofill not null default 8.8,
-f91 float(0) unsigned zerofill not null default 8.8,
-f92 float(23) unsigned zerofill not null default 8.8,
-f93 float(24) not null default 8.8,
-f94 float(53) not null default 8.8,
-f95 float(24) unsigned not null default 8.8,
-f96 float(53) unsigned not null default 8.8,
-f97 float(24) zerofill not null default 8.8,
-f98 float(53) zerofill not null default 8.8,
-f99 float(24) unsigned zerofill not null default 8.8,
-f100 float(53) unsigned zerofill not null default 8.8,
-f101 date not null default '2000-01-01',
-f102 time not null default 20,
-f103 datetime not null default '2/2/2',
-f104 timestamp not null default 20001231235959,
-f105 year not null default 2000,
-f106 year(3) not null default 2000,
-f107 year(4) not null default 2000,
-f108 enum("1enum","2enum") not null default "1enum",
-f109 set("1set","2set") not null default "1set"
-) engine = ndb;
-
---replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
-eval
-load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/ndb_tb2.txt'
-into table tb2 ;
diff --git a/mysql-test/suite/funcs_1/include/ndb_tb3.inc b/mysql-test/suite/funcs_1/include/ndb_tb3.inc
deleted file mode 100644
index 6ade99bd1a2..00000000000
--- a/mysql-test/suite/funcs_1/include/ndb_tb3.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-##### suite/funcs_1/include/ndb_tb3.inc
-
---disable_warnings
-drop table if exists tb3 ;
---enable_warnings
-create table tb3 (
-f118 char not null DEFAULT 'a',
-f119 char binary not null DEFAULT b'101',
-f120 char ascii not null DEFAULT b'101',
-f121 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-f129 binary not null DEFAULT b'101',
-f130 tinyint not null DEFAULT 99,
-f131 tinyint unsigned not null DEFAULT 99,
-f132 tinyint zerofill not null DEFAULT 99,
-f133 tinyint unsigned zerofill not null DEFAULT 99,
-f134 smallint not null DEFAULT 999,
-f135 smallint unsigned not null DEFAULT 999,
-f136 smallint zerofill not null DEFAULT 999,
-f137 smallint unsigned zerofill not null DEFAULT 999,
-f138 mediumint not null DEFAULT 9999,
-f139 mediumint unsigned not null DEFAULT 9999,
-f140 mediumint zerofill not null DEFAULT 9999,
-f141 mediumint unsigned zerofill not null DEFAULT 9999,
-f142 int not null DEFAULT 99999,
-f143 int unsigned not null DEFAULT 99999,
-f144 int zerofill not null DEFAULT 99999,
-f145 int unsigned zerofill not null DEFAULT 99999,
-f146 bigint not null DEFAULT 999999,
-f147 bigint unsigned not null DEFAULT 999999,
-f148 bigint zerofill not null DEFAULT 999999,
-f149 bigint unsigned zerofill not null DEFAULT 999999,
-f150 decimal not null DEFAULT 999.999,
-f151 decimal unsigned not null DEFAULT 999.17,
-f152 decimal zerofill not null DEFAULT 999.999,
-f153 decimal unsigned zerofill,
-f154 decimal (0),
-f155 decimal (64),
-f156 decimal (0) unsigned,
-f157 decimal (64) unsigned,
-f158 decimal (0) zerofill,
-f159 decimal (64) zerofill,
-f160 decimal (0) unsigned zerofill,
-f161 decimal (64) unsigned zerofill,
-f162 decimal (0,0),
-f163 decimal (63,30),
-f164 decimal (0,0) unsigned,
-f165 decimal (63,30) unsigned,
-f166 decimal (0,0) zerofill,
-f167 decimal (63,30) zerofill,
-f168 decimal (0,0) unsigned zerofill,
-f169 decimal (63,30) unsigned zerofill,
-f170 numeric,
-f171 numeric unsigned,
-f172 numeric zerofill,
-f173 numeric unsigned zerofill,
-f174 numeric (0),
-f175 numeric (64)
-) engine = ndb;
-
---replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
-eval
-load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/ndb_tb3.txt'
-into table tb3;
diff --git a/mysql-test/suite/funcs_1/include/ndb_tb4.inc b/mysql-test/suite/funcs_1/include/ndb_tb4.inc
deleted file mode 100644
index 3eaae90179a..00000000000
--- a/mysql-test/suite/funcs_1/include/ndb_tb4.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-##### suite/funcs_1/include/ndb_tb4.inc
-
---disable_warnings
-drop table if exists tb4;
---enable_warnings
-create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f235 char(0) unicode,
-f236 char(90),
-f237 char(255) ascii,
-f238 varchar(0),
-f239 varchar(3000) binary,
-f240 varchar(2000) unicode,
-f241 char(100) unicode
-) engine = ndb;
-
---replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
-eval
-load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/ndb_tb4.txt'
-into table tb4 ;
diff --git a/mysql-test/suite/funcs_1/r/innodb_func_view.result b/mysql-test/suite/funcs_1/r/innodb_func_view.result
index cff653c1990..357c8200f34 100644
--- a/mysql-test/suite/funcs_1/r/innodb_func_view.result
+++ b/mysql-test/suite/funcs_1/r/innodb_func_view.result
@@ -1,3 +1,4 @@
+SET timestamp=unix_timestamp('2001-02-03 10:20:30');
DROP TABLE IF EXISTS t1_selects, t1_modes, t1_values;
DROP VIEW IF EXISTS v1;
CREATE TABLE t1_values
@@ -12,8 +13,8 @@ ALTER TABLE t1_values ADD my_binary_30 BINARY(30);
ALTER TABLE t1_values ADD my_varbinary_1000 VARBINARY(1000);
ALTER TABLE t1_values ADD my_datetime DATETIME;
ALTER TABLE t1_values ADD my_date DATE;
-ALTER TABLE t1_values ADD ts_dummy TIMESTAMP;
-ALTER TABLE t1_values ADD my_timestamp TIMESTAMP;
+ALTER TABLE t1_values ADD ts_dummy TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
+ALTER TABLE t1_values ADD my_timestamp TIMESTAMP NOT NULL DEFAULT '2001-01-01 10:20:30';
ALTER TABLE t1_values ADD my_time TIME;
ALTER TABLE t1_values ADD my_year YEAR;
ALTER TABLE t1_values ADD my_bigint BIGINT;
@@ -1275,7 +1276,7 @@ SELECT IFNULL(my_timestamp,'IS_NULL'),
my_timestamp, id FROM t1_values
WHERE select_id = 136 OR select_id IS NULL order by id;
IFNULL(my_timestamp,'IS_NULL') my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -1287,7 +1288,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 136 OR select_id IS NULL) order by id;
IFNULL(my_timestamp,'IS_NULL') my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -1594,7 +1595,7 @@ SELECT IF(my_timestamp IS NULL, 'IS NULL',
WHERE select_id = 124 OR select_id IS NULL order by id;
IF(my_timestamp IS NULL, 'IS NULL',
'IS NOT NULL') my_timestamp id
-IS NOT NULL 0000-00-00 00:00:00 1
+IS NOT NULL 2001-01-01 10:20:30 1
IS NOT NULL 1970-01-01 14:00:01 2
IS NOT NULL 2038-01-01 02:59:59 3
IS NOT NULL 2004-02-29 23:59:59 4
@@ -1608,7 +1609,7 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 124 OR select_id IS NULL) order by id;
IF(my_timestamp IS NULL, 'IS NULL',
'IS NOT NULL') my_timestamp id
-IS NOT NULL 0000-00-00 00:00:00 1
+IS NOT NULL 2001-01-01 10:20:30 1
IS NOT NULL 1970-01-01 14:00:01 2
IS NOT NULL 2038-01-01 02:59:59 3
IS NOT NULL 2004-02-29 23:59:59 4
@@ -1935,7 +1936,7 @@ SELECT IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE'),
my_timestamp, id FROM t1_values
WHERE select_id = 112 OR select_id IS NULL order by id;
IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE') my_timestamp id
-IS NOT TRUE 0000-00-00 00:00:00 1
+IS TRUE 2001-01-01 10:20:30 1
IS TRUE 1970-01-01 14:00:01 2
IS TRUE 2038-01-01 02:59:59 3
IS TRUE 2004-02-29 23:59:59 4
@@ -1947,7 +1948,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 112 OR select_id IS NULL) order by id;
IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE') my_timestamp id
-IS NOT TRUE 0000-00-00 00:00:00 1
+IS TRUE 2001-01-01 10:20:30 1
IS TRUE 1970-01-01 14:00:01 2
IS TRUE 2038-01-01 02:59:59 3
IS TRUE 2004-02-29 23:59:59 4
@@ -2097,8 +2098,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2112,8 +2114,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1;
@@ -2165,8 +2168,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2180,8 +2184,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -2197,6 +2202,7 @@ IS NOT TRUE <--------30 characters-------> 3
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ' '
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
@@ -2212,6 +2218,7 @@ IS NOT TRUE <--------30 characters-------> 3
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ' '
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -2280,6 +2287,8 @@ NULL NULL 1
<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varchar_1000` using koi8r) AS `CONVERT(my_varchar_1000 USING koi8r)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2292,6 +2301,8 @@ NULL NULL 1
<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
DROP VIEW v1;
@@ -2306,6 +2317,8 @@ NULL NULL 1
<--------30 characters-------> <--------30 characters-------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_char_30` using koi8r) AS `CONVERT(my_char_30 USING koi8r)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2318,6 +2331,8 @@ NULL NULL 1
<--------30 characters-------> <--------30 characters-------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
DROP VIEW v1;
@@ -2487,7 +2502,7 @@ SELECT CAST(my_timestamp AS UNSIGNED INTEGER),
my_timestamp, id FROM t1_values
WHERE select_id = 92 OR select_id IS NULL order by id;
CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -2499,7 +2514,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 92 OR select_id IS NULL) order by id;
CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -2675,7 +2690,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2692,7 +2707,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2709,10 +2724,10 @@ NULL NULL 1
0 ---äÖüß@µ*$-- 4
18446744073709551615 -1 5
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2727,10 +2742,10 @@ NULL NULL 1
0 ---äÖüß@µ*$--
18446744073709551615 -1
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2749,7 +2764,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2766,7 +2781,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2785,7 +2800,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2802,7 +2817,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2865,7 +2880,7 @@ SELECT CAST(my_timestamp AS SIGNED INTEGER),
my_timestamp, id FROM t1_values
WHERE select_id = 80 OR select_id IS NULL order by id;
CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -2877,7 +2892,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 80 OR select_id IS NULL) order by id;
CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -3041,7 +3056,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as signed) AS `CAST(my_varbinary_1000 AS SIGNED INTEGER)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3057,7 +3072,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1;
@@ -3073,10 +3088,10 @@ NULL NULL 1
0 ---äÖüß@µ*$-- 4
-1 -1 5
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as signed) AS `CAST(my_binary_30 AS SIGNED INTEGER)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3090,10 +3105,10 @@ NULL NULL 1
0 ---äÖüß@µ*$--
-1 -1
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
DROP VIEW v1;
@@ -3111,7 +3126,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as signed) AS `CAST(my_varchar_1000 AS SIGNED INTEGER)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3127,7 +3142,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -3145,7 +3160,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as signed) AS `CAST(my_char_30 AS SIGNED INTEGER)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3161,7 +3176,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
DROP VIEW v1;
@@ -3223,7 +3238,7 @@ SELECT CAST(my_timestamp AS DECIMAL(37,2)),
my_timestamp, id FROM t1_values
WHERE select_id = 68 OR select_id IS NULL order by id;
CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
-0.00 0000-00-00 00:00:00 1
+20010101102030.00 2001-01-01 10:20:30 1
19700101140001.00 1970-01-01 14:00:01 2
20380101025959.00 2038-01-01 02:59:59 3
20040229235959.00 2004-02-29 23:59:59 4
@@ -3235,7 +3250,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 68 OR select_id IS NULL) order by id;
CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
-0.00 0000-00-00 00:00:00 1
+20010101102030.00 2001-01-01 10:20:30 1
19700101140001.00 1970-01-01 14:00:01 2
20380101025959.00 2038-01-01 02:59:59 3
20040229235959.00 2004-02-29 23:59:59 4
@@ -3403,7 +3418,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3423,7 +3438,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1;
@@ -3491,7 +3506,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3511,7 +3526,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -3615,7 +3630,7 @@ SELECT CAST(my_timestamp AS TIME),
my_timestamp, id FROM t1_values
WHERE select_id = 56 OR select_id IS NULL order by id;
CAST(my_timestamp AS TIME) my_timestamp id
-00:00:00 0000-00-00 00:00:00 1
+10:20:30 2001-01-01 10:20:30 1
14:00:01 1970-01-01 14:00:01 2
02:59:59 2038-01-01 02:59:59 3
23:59:59 2004-02-29 23:59:59 4
@@ -3627,7 +3642,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 56 OR select_id IS NULL) order by id;
CAST(my_timestamp AS TIME) my_timestamp id
-00:00:00 0000-00-00 00:00:00 1
+10:20:30 2001-01-01 10:20:30 1
14:00:01 1970-01-01 14:00:01 2
02:59:59 2038-01-01 02:59:59 3
23:59:59 2004-02-29 23:59:59 4
@@ -3728,14 +3743,14 @@ my_bigint, id FROM t1_values
WHERE select_id = 52 OR select_id IS NULL order by id;
CAST(my_bigint AS TIME) my_bigint id
NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
+-838:59:59 -9223372036854775808 2
+838:59:59 9223372036854775807 3
00:00:00 0 4
-00:00:01 -1 5
00:17:58 1758 24
Warnings:
-Warning 1292 Truncated incorrect time value: '-9223372036854775808'
-Warning 1292 Truncated incorrect time value: '9223372036854775807'
+Warning 1292 Incorrect time value: '-9223372036854775808' for column 'my_bigint' at row 2
+Warning 1292 Incorrect time value: '9223372036854775807' for column 'my_bigint' at row 3
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as time) AS `CAST(my_bigint AS TIME)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3744,14 +3759,14 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 52 OR select_id IS NULL) order by id;
CAST(my_bigint AS TIME) my_bigint id
NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
+-838:59:59 -9223372036854775808 2
+838:59:59 9223372036854775807 3
00:00:00 0 4
-00:00:01 -1 5
00:17:58 1758 24
Warnings:
-Warning 1292 Truncated incorrect time value: '-9223372036854775808'
-Warning 1292 Truncated incorrect time value: '9223372036854775807'
+Warning 1292 Incorrect time value: '-9223372036854775808' for column 'my_bigint' at row 1
+Warning 1292 Incorrect time value: '9223372036854775807' for column 'my_bigint' at row 1
DROP VIEW v1;
@@ -3801,7 +3816,7 @@ NULL NULL 1
00:00:00 2
00:00:00 <--------30 characters-------> 3
-00:00:00 ---äÖüß@µ*$-- 4
-NULL -1 5
+-00:00:01 -1 5
41:58:00 1 17:58 22
Warnings:
Warning 1292 Truncated incorrect time value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
@@ -3820,7 +3835,7 @@ NULL NULL 1
00:00:00
00:00:00 <--------30 characters-------> 3
-00:00:00 ---äÖüß@µ*$--
-NULL -1
+-00:00:01 -1
41:58:00 1 17:58
Warnings:
Warning 1292 Truncated incorrect time value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
@@ -3936,12 +3951,10 @@ my_time, id FROM t1_values
WHERE select_id = 46 OR select_id IS NULL order by id;
CAST(my_time AS DATETIME) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 22:59:59 838:59:59 3
-0000-00-00 13:00:00 13:00:00 4
-0000-00-00 10:00:00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect datetime value: '-838:59:59'
+2000-12-30 01:00:01 -838:59:59 2
+2001-03-09 22:59:59 838:59:59 3
+2001-02-03 13:00:00 13:00:00 4
+2001-02-03 10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3950,12 +3963,10 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 46 OR select_id IS NULL) order by id;
CAST(my_time AS DATETIME) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 22:59:59 838:59:59 3
-0000-00-00 13:00:00 13:00:00 4
-0000-00-00 10:00:00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect datetime value: '-838:59:59'
+2000-12-30 01:00:01 -838:59:59 2
+2001-03-09 22:59:59 838:59:59 3
+2001-02-03 13:00:00 13:00:00 4
+2001-02-03 10:00:00 10:00:00 5
DROP VIEW v1;
@@ -3965,7 +3976,7 @@ SELECT CAST(my_timestamp AS DATETIME),
my_timestamp, id FROM t1_values
WHERE select_id = 45 OR select_id IS NULL order by id;
CAST(my_timestamp AS DATETIME) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -3977,7 +3988,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 45 OR select_id IS NULL) order by id;
CAST(my_timestamp AS DATETIME) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -4084,15 +4095,14 @@ CAST(my_bigint AS DATETIME) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 00:00:00 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 2
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 3
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 5
+Warning 1292 Incorrect datetime value: '200506271758' for column 'my_bigint' at row 18
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as datetime) AS `CAST(my_bigint AS DATETIME)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -4103,15 +4113,14 @@ CAST(my_bigint AS DATETIME) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 00:00:00 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '200506271758' for column 'my_bigint' at row 1
DROP VIEW v1;
@@ -4302,12 +4311,10 @@ my_time, id FROM t1_values
WHERE select_id = 35 OR select_id IS NULL order by id;
CAST(my_time AS DATE) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 838:59:59 3
-0000-00-00 13:00:00 4
-0000-00-00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect date value: '-838:59:59'
+2000-12-30 -838:59:59 2
+2001-03-09 838:59:59 3
+2001-02-03 13:00:00 4
+2001-02-03 10:00:00 5
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as date) AS `CAST(my_time AS DATE)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -4316,12 +4323,10 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 35 OR select_id IS NULL) order by id;
CAST(my_time AS DATE) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 838:59:59 3
-0000-00-00 13:00:00 4
-0000-00-00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect date value: '-838:59:59'
+2000-12-30 -838:59:59 2
+2001-03-09 838:59:59 3
+2001-02-03 13:00:00 4
+2001-02-03 10:00:00 5
DROP VIEW v1;
@@ -4331,7 +4336,7 @@ SELECT CAST(my_timestamp AS DATE),
my_timestamp, id FROM t1_values
WHERE select_id = 34 OR select_id IS NULL order by id;
CAST(my_timestamp AS DATE) my_timestamp id
-0000-00-00 0000-00-00 00:00:00 1
+2001-01-01 2001-01-01 10:20:30 1
1970-01-01 1970-01-01 14:00:01 2
2038-01-01 2038-01-01 02:59:59 3
2004-02-29 2004-02-29 23:59:59 4
@@ -4343,7 +4348,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 34 OR select_id IS NULL) order by id;
CAST(my_timestamp AS DATE) my_timestamp id
-0000-00-00 0000-00-00 00:00:00 1
+2001-01-01 2001-01-01 10:20:30 1
1970-01-01 1970-01-01 14:00:01 2
2038-01-01 2038-01-01 02:59:59 3
2004-02-29 2004-02-29 23:59:59 4
@@ -4448,14 +4453,13 @@ CAST(my_bigint AS DATE) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 2
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 3
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 5
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as date) AS `CAST(my_bigint AS DATE)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -4466,14 +4470,13 @@ CAST(my_bigint AS DATE) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 1
DROP VIEW v1;
@@ -4689,7 +4692,7 @@ SELECT CAST(my_timestamp AS CHAR),
my_timestamp, id FROM t1_values
WHERE select_id = 23 OR select_id IS NULL order by id;
CAST(my_timestamp AS CHAR) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -4701,7 +4704,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 23 OR select_id IS NULL) order by id;
CAST(my_timestamp AS CHAR) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -5001,7 +5004,7 @@ SELECT CAST(my_timestamp AS BINARY),
my_timestamp, id FROM t1_values
WHERE select_id = 11 OR select_id IS NULL order by id;
CAST(my_timestamp AS BINARY) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -5013,7 +5016,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 11 OR select_id IS NULL) order by id;
CAST(my_timestamp AS BINARY) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -5284,3 +5287,4 @@ DROP VIEW v1;
DROP TABLE t1_selects, t1_modes, t1_values;
+SET timestamp=DEFAULT;
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result
index 126d6c2080a..8b96e54eefd 100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result
@@ -347,8 +347,6 @@ CALL h1();
-7- 1 1 1 1 1 1
END x1 x2 x3 x4 x5 x6
END 1 1 1 1 1 1
-Warnings:
-Error 1062 Duplicate entry 'a' for key 'w'
DROP TABLE IF EXISTS tnull;
DROP PROCEDURE IF EXISTS sp1;
CREATE TABLE tnull(f1 int);
@@ -447,8 +445,6 @@ END//
CALL h2();
x1 x2 x3 x4 x5 x6
1 1 1 1 1 1
-Warnings:
-Error 1062 Duplicate entry 'a' for key 'w'
SELECT * FROM res_t1;
w x
a b
@@ -554,8 +550,6 @@ exit handler 2
exit handler 2
exit handler 1
exit handler 1
-Warnings:
-Error 1146 Table 'db_storedproc.tqq' doesn't exist
create table res_t1(w char unique, x char);
insert into res_t1 values ('a', 'b');
CREATE PROCEDURE h1 ()
@@ -586,8 +580,6 @@ END//
CALL h1();
x1 x2 x3 x4 x5 x6
1 1 1 1 1 1
-Warnings:
-Error 1062 Duplicate entry 'a' for key 'w'
This will fail, SQLSTATE 00000 is not allowed
CREATE PROCEDURE sp1()
begin1_label:BEGIN
@@ -631,8 +623,6 @@ CALL sp2();
NULL
@x2 @x
1 2
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE sp1;
DROP PROCEDURE sp2;
@@ -664,8 +654,6 @@ ERROR 42000: Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expe
CALL sp2();
-1- @x2 @x
-1- 0 1
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
SELECT '-3-', @x2, @x;
-3- @x2 @x
-3- 1 1
@@ -708,8 +696,6 @@ CALL sp2();
-2- 1 20
-4- @x2 @x
-4- 11 22
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE sp1;
DROP PROCEDURE sp2;
@@ -776,33 +762,21 @@ SELECT @done, @x;
0 1
INSERT INTO temp VALUES('1', NULL);
CALL sp1();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 1
INSERT INTO temp VALUES('2', NULL);
CALL sp2();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 1
INSERT INTO temp VALUES('3', NULL);
CALL sp3();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 0
INSERT INTO temp VALUES('4', NULL);
CALL sp4();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 0
@@ -911,26 +885,18 @@ SELECT @done, @x;
@done @x
0 1
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 2
CALL sp2();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 2
CALL sp3();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 1
CALL sp4();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 1
@@ -1065,8 +1031,6 @@ SQLSTATE
21000
SQLSTATE
24000
-Warnings:
-Error 1326 Cursor is not open
SELECT '-1-', @x;
-1- @x
-1- 6
@@ -1077,24 +1041,18 @@ SQLSTATE
SQLEXCEPTION
SQLSTATE
24000
-Warnings:
-Error 1326 Cursor is not open
SELECT '-2-', @x;
-2- @x
-2- 6
CALL sp3();
SQLSTATE
20000
-Warnings:
-Error 1339 Case not found for CASE statement
SELECT '-3-', @x;
-3- @x
-3- 1
CALL sp4();
SQLSTATE
SQLEXCEPTION
-Warnings:
-Error 1339 Case not found for CASE statement
SELECT '-4-', @x;
-4- @x
-4- 1
@@ -1377,8 +1335,6 @@ CLOSE cur1;
CLOSE cur2;
END//
CALL sp_outer();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM temp1;
f0 cnt f1 f2 f3 f4
_sp_out_ 1 a` a` 1000-01-01 -5000
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result
index fa8fb6c1eb2..1131477869a 100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result
@@ -1,3 +1,5 @@
+set sql_mode="";
+set GLOBAL sql_mode="";
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
@@ -388,6 +390,7 @@ DROP USER 'user_2'@'localhost';
--------------------------------------------------------------------------------
DROP DATABASE IF EXISTS db_storedproc;
DROP DATABASE IF EXISTS db_storedproc_1;
+set GLOBAL sql_mode=default;
. +++ END OF SCRIPT +++
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result
index 0dfc1f51b76..de63339ee95 100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result
@@ -1,3 +1,4 @@
+set sql_mode="";
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result
index 330a9a315ee..77fabeaef77 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result
@@ -185,7 +185,7 @@ Testcase 3.5.1.7: - need to fix
-------------------------------
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1 (f1 int, f2 char(25),f3 int) engine = <engine_to_be_used>;
CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
for each row set new.f3 = '14';
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_03.result b/mysql-test/suite/funcs_1/r/innodb_trig_03.result
index db92ea56444..5edef4cf3af 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_03.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_03.result
@@ -1,3 +1,4 @@
+set sql_mode="";
USE test;
drop table if exists tb3;
create table tb3 (
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_03e.result b/mysql-test/suite/funcs_1/r/innodb_trig_03e.result
index 5dfc734cf5c..6d8bba4714b 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_03e.result
@@ -449,8 +449,8 @@ create trigger trg1_4 before UPDATE on t1 for each row
set new.f1 = 'trig 1_4-yes';
show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
select current_user;
current_user
test_noprivs@localhost
@@ -573,7 +573,7 @@ root@localhost
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
drop trigger trg1_1;
use priv_db;
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0407.result b/mysql-test/suite/funcs_1/r/innodb_trig_0407.result
index 7f01975db16..c51347d5fa8 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_0407.result
@@ -1,3 +1,5 @@
+set sql_mode="";
+set GLOBAL sql_mode="";
USE test;
drop table if exists tb3;
create table tb3 (
@@ -468,3 +470,4 @@ drop user test_general@localhost;
drop user test_general;
drop user test_super@localhost;
DROP TABLE test.tb3;
+set GLOBAL sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_08.result b/mysql-test/suite/funcs_1/r/innodb_trig_08.result
index f9454edce4b..20354088a0f 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_08.result
@@ -1,3 +1,5 @@
+set sql_mode="";
+set GLOBAL sql_mode="";
USE test;
drop table if exists tb3;
create table tb3 (
@@ -521,3 +523,4 @@ drop user test_general@localhost;
drop user test_general;
drop user test_super@localhost;
DROP TABLE test.tb3;
+set GLOBAL sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_09.result b/mysql-test/suite/funcs_1/r/innodb_trig_09.result
index 986506b4e71..e6a10592424 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_09.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_09.result
@@ -189,8 +189,6 @@ Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL
where f122='Test 3.5.9.4';
Warnings:
Warning 1048 Column 'f136' cannot be null
-Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL
-where f122='Test 3.5.9.4';
select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4-trig' order by f163;
f118 f121 f122 f136 f151 f163
@@ -198,7 +196,7 @@ a NULL Test 3.5.9.4-trig 00000 999 NULL
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
-a NULL Test 3.5.9.4-trig 0 999 NULL
+a NULL Test 3.5.9.4-trig NULL 999 NULL
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
diff --git a/mysql-test/suite/funcs_1/r/innodb_views.result b/mysql-test/suite/funcs_1/r/innodb_views.result
index b50f5640520..59eec5b0220 100644
--- a/mysql-test/suite/funcs_1/r/innodb_views.result
+++ b/mysql-test/suite/funcs_1/r/innodb_views.result
@@ -7579,7 +7579,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SELECT * FROM test.tb2 limit 2' at line 1
CREATE OR REPLACE TEMPORARY VIEW test.v1 AS
SELECT * FROM test.tb2 limit 2 ;
-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 'TEMPORARY VIEW test.v1 AS
+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 'VIEW test.v1 AS
SELECT * FROM test.tb2 limit 2' at line 1
Drop view if exists test.v1 ;
Use test;
@@ -21307,7 +21307,7 @@ CREATE TABLE t1 ( f1 VARCHAR(1000) ) ENGINE = innodb ;
CREATE VIEW v1 AS SELECT f1 FROM t1;
DROP VIEW v1;
DROP VIEW v1;
-ERROR 42S02: Unknown table 'v1'
+ERROR 42S02: Unknown table 'test.v1'
CREATE VIEW v1 AS SELECT f1 FROM t1;
DROP VIEW IF EXISTS v1;
DROP VIEW IF EXISTS v1;
@@ -21324,31 +21324,31 @@ CREATE VIEW v1_base AS SELECT * FROM t1;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_top ;
DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
+ERROR 42S02: Unknown table 'test.v1_top'
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_base ;
DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
+ERROR 42S02: Unknown table 'test.v1_base'
DROP VIEW v1_top;
CREATE VIEW v1_base AS SELECT * FROM t1;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_top CASCADE ;
DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
+ERROR 42S02: Unknown table 'test.v1_top'
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_base CASCADE ;
DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
+ERROR 42S02: Unknown table 'test.v1_base'
DROP VIEW v1_top;
CREATE VIEW v1_base AS SELECT * FROM t1;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_top RESTRICT ;
DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
+ERROR 42S02: Unknown table 'test.v1_top'
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_base RESTRICT ;
DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
+ERROR 42S02: Unknown table 'test.v1_base'
DROP VIEW v1_top;
Testcase 3.3.1.69, 3.3.1.70, 3.3.1.A5
@@ -22032,7 +22032,7 @@ Testcase 3.3.2.1 - 3.3.2.6 alternative implementation
--------------------------------------------------------------------------------
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
-CREATE TABLE t1 ( f1 BIGINT, f2 CHAR(20), f3 NUMERIC(7,4),
+CREATE TABLE t1 ( f1 BIGINT DEFAULT 0, f2 CHAR(20), f3 NUMERIC(7,4),
f4 CHAR, PRIMARY KEY(f1));
CREATE VIEW v1 AS SELECT f1, f2, f3 FROM t1;
INSERT INTO v1 SET f1 = 1;
@@ -22340,10 +22340,9 @@ SET @variant2= 'CREATE VIEW v1 AS SELECT DISTINCTROW(f61) FROM t1';
SET @variant3= 'CREATE VIEW v1 AS SELECT SUM(f59) AS f61 FROM t1';
SET @variant4= 'CREATE VIEW v1 AS SELECT f61 FROM t1 GROUP BY f61';
SET @variant5= 'CREATE VIEW v1 AS SELECT f61 FROM t1 HAVING f61 > 0';
-SET @variant6= 'CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1';
-SET @variant7= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
-SET @variant8= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
-SET @variant9= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
+SET @variant6= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
+SET @variant7= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
+SET @variant8= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1;
INSERT INTO v1 VALUES (1002);
ERROR HY000: The target table v1 of the INSERT is not insertable-into
@@ -22368,14 +22367,6 @@ ERROR HY000: The target table v1 of the UPDATE is not updatable
DELETE FROM v1;
ERROR HY000: The target table v1 of the DELETE is not updatable
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
CREATE VIEW v1 AS SELECT f61 FROM t1 HAVING f61 > 0;
INSERT INTO v1 VALUES (1002);
ERROR HY000: The target table v1 of the INSERT is not insertable-into
@@ -22416,6 +22407,13 @@ ERROR HY000: The target table v1 of the UPDATE is not updatable
DELETE FROM v1;
ERROR HY000: The target table v1 of the DELETE is not updatable
DROP VIEW v1;
+CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1;
+INSERT INTO v1 VALUES (1002);
+ERROR HY000: The target table v1 of the INSERT is not insertable-into
+UPDATE v1 SET f61=1007;
+ERROR HY000: Column 'f61' is not updatable
+DELETE FROM v1;
+DROP VIEW v1;
Drop TABLE t1, t2 ;
Drop VIEW v2 ;
diff --git a/mysql-test/suite/funcs_1/r/is_column_privileges.result b/mysql-test/suite/funcs_1/r/is_column_privileges.result
index edf0a401697..a57970dbcaa 100644
--- a/mysql-test/suite/funcs_1/r/is_column_privileges.result
+++ b/mysql-test/suite/funcs_1/r/is_column_privileges.result
@@ -28,7 +28,7 @@ DROP FUNCTION test.f1;
#########################################################################
DESCRIBE information_schema.COLUMN_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
+GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO
@@ -38,7 +38,7 @@ IS_GRANTABLE varchar(3) NO
SHOW CREATE TABLE information_schema.COLUMN_PRIVILEGES;
Table Create Table
COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
+ `GRANTEE` varchar(190) NOT NULL DEFAULT '',
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
@@ -48,7 +48,7 @@ COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.COLUMN_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
+GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO
diff --git a/mysql-test/suite/funcs_1/r/is_columns.result b/mysql-test/suite/funcs_1/r/is_columns.result
index e3d66a1ed6c..0da7a2bde60 100644
--- a/mysql-test/suite/funcs_1/r/is_columns.result
+++ b/mysql-test/suite/funcs_1/r/is_columns.result
@@ -97,6 +97,9 @@ COLUMN_COMMENT varchar(1024) NO
SELECT table_catalog, table_schema, table_name, column_name
FROM information_schema.columns WHERE table_catalog IS NULL OR table_catalog <> 'def';
table_catalog table_schema table_name column_name
+Warnings:
+Warning 1286 Unknown storage engine 'InnoDB'
+Warning 1286 Unknown storage engine 'InnoDB'
###############################################################################
# Testcase 3.2.6.2 + 3.2.6.3: INFORMATION_SCHEMA.COLUMNS accessible information
###############################################################################
@@ -125,10 +128,10 @@ def db_datadict t1 f1 1 NULL YES char 10 10 NULL NULL NULL latin1 latin1_swedish
def db_datadict t1 f2 2 NULL YES text 65535 65535 NULL NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
def db_datadict t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL NULL date select,insert,update,references
def db_datadict t1 f4 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) PRI auto_increment select,insert,update,references
-def db_datadict t2 f1 1 NO char 10 10 NULL NULL NULL latin1 latin1_swedish_ci char(10) PRI select,insert,update,references
+def db_datadict t2 f1 1 NULL NO char 10 10 NULL NULL NULL latin1 latin1_swedish_ci char(10) PRI select,insert,update,references
def db_datadict t2 f2 2 NULL YES text 65535 65535 NULL NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
def db_datadict t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL NULL date select,insert,update,references
-def db_datadict t2 f4 4 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) PRI select,insert,update,references
+def db_datadict t2 f4 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) PRI select,insert,update,references
def db_datadict v1 f1 1 0 NO int NULL NULL 10 0 NULL NULL NULL int(1) select,insert,update,references
def db_datadict v1 f2 2 0 NO int NULL NULL 10 0 NULL NULL NULL int(1) select,insert,update,references
SHOW COLUMNS FROM db_datadict.t1;
@@ -139,10 +142,10 @@ f3 date YES NULL
f4 int(11) NO PRI NULL auto_increment
SHOW COLUMNS FROM db_datadict.t2;
Field Type Null Key Default Extra
-f1 char(10) NO PRI
+f1 char(10) NO PRI NULL
f2 text YES NULL
f3 date YES NULL
-f4 int(11) NO PRI 0
+f4 int(11) NO PRI NULL
SHOW COLUMNS FROM db_datadict.v1;
Field Type Null Key Default Extra
f1 int(1) NO 0
@@ -169,13 +172,13 @@ SELECT * FROM information_schema.columns
WHERE table_schema = 'db_datadict'
ORDER BY table_schema, table_name, ordinal_position;
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
-def db_datadict t2 f1 1 NO char 10 10 NULL NULL NULL latin1 latin1_swedish_ci char(10) PRI insert
+def db_datadict t2 f1 1 NULL NO char 10 10 NULL NULL NULL latin1 latin1_swedish_ci char(10) PRI insert
def db_datadict t2 f2 2 NULL YES text 65535 65535 NULL NULL NULL latin1 latin1_swedish_ci text insert
SHOW COLUMNS FROM db_datadict.t1;
ERROR 42000: SELECT command denied to user 'testuser2'@'localhost' for table 't1'
SHOW COLUMNS FROM db_datadict.t2;
Field Type Null Key Default Extra
-f1 char(10) NO PRI
+f1 char(10) NO PRI NULL
f2 text YES NULL
SHOW COLUMNS FROM db_datadict.v1;
ERROR 42000: SELECT command denied to user 'testuser2'@'localhost' for table 'v1'
diff --git a/mysql-test/suite/funcs_1/r/is_columns_innodb.result b/mysql-test/suite/funcs_1/r/is_columns_innodb.result
index 085017fb529..fd8989c7667 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_innodb.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_innodb.result
@@ -250,7 +250,7 @@ f217 float(53) unsigned zerofill,
f218 date,
f219 time,
f220 datetime,
-f221 timestamp,
+f221 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
f222 year,
f223 year(3),
f224 year(4),
diff --git a/mysql-test/suite/funcs_1/r/is_columns_is.result b/mysql-test/suite/funcs_1/r/is_columns_is.result
index 15015ce4786..e992b79321e 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_is.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_is.result
@@ -3,6 +3,23 @@ WHERE table_schema = 'information_schema'
AND table_name <> 'profiling' AND table_name not like 'innodb_%'
ORDER BY table_schema, table_name, column_name;
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
+def information_schema ALL_PLUGINS LOAD_OPTION 11 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema ALL_PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select
+def information_schema ALL_PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select
+def information_schema ALL_PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select
+def information_schema ALL_PLUGINS PLUGIN_LICENSE 10 NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select
+def information_schema ALL_PLUGINS PLUGIN_MATURITY 12 NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) select
+def information_schema ALL_PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema ALL_PLUGINS PLUGIN_STATUS 3 NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select
+def information_schema ALL_PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select
+def information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select
+def information_schema ALL_PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select
+def information_schema APPLICABLE_ROLES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select
+def information_schema APPLICABLE_ROLES IS_DEFAULT 4 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select
+def information_schema APPLICABLE_ROLES IS_GRANTABLE 3 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select
+def information_schema APPLICABLE_ROLES ROLE_NAME 2 NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select
def information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL NULL utf8 utf8_general_ci varchar(60) select
@@ -20,6 +37,7 @@ def information_schema CLIENT_STATISTICS CPU_TIME 6 0 NO double NULL NULL 21 NUL
def information_schema CLIENT_STATISTICS DENIED_CONNECTIONS 20 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema CLIENT_STATISTICS EMPTY_QUERIES 23 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema CLIENT_STATISTICS LOST_CONNECTIONS 21 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
+def information_schema CLIENT_STATISTICS MAX_STATEMENT_TIME_EXCEEDED 25 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema CLIENT_STATISTICS OTHER_COMMANDS 17 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema CLIENT_STATISTICS ROLLBACK_TRANSACTIONS 19 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema CLIENT_STATISTICS ROWS_DELETED 12 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
@@ -29,6 +47,7 @@ def information_schema CLIENT_STATISTICS ROWS_SENT 11 0 NO bigint NULL NULL 19 0
def information_schema CLIENT_STATISTICS ROWS_UPDATED 14 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema CLIENT_STATISTICS SELECT_COMMANDS 15 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema CLIENT_STATISTICS TOTAL_CONNECTIONS 2 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
+def information_schema CLIENT_STATISTICS TOTAL_SSL_CONNECTIONS 24 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema CLIENT_STATISTICS UPDATE_COMMANDS 16 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema COLLATIONS COLLATION_NAME 1 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select
@@ -59,12 +78,13 @@ def information_schema COLUMNS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NU
def information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
-def information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL NULL utf8 utf8_general_ci varchar(81) select
+def information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select
def information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select
def information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema ENABLED_ROLES ROLE_NAME 1 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select
def information_schema ENGINES COMMENT 3 NO varchar 160 480 NULL NULL NULL utf8 utf8_general_ci varchar(160) select
def information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema ENGINES SAVEPOINTS 6 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select
@@ -133,10 +153,23 @@ def information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19
def information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select
def information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select
def information_schema FILES VERSION 25 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
+def information_schema GEOMETRY_COLUMNS COORD_DIMENSION 11 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select
+def information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
+def information_schema GEOMETRY_COLUMNS F_TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema GEOMETRY_COLUMNS GEOMETRY_TYPE 10 0 NO int NULL NULL 10 0 NULL NULL NULL int(7) select
+def information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN 8 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG 5 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
+def information_schema GEOMETRY_COLUMNS G_TABLE_NAME 7 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA 6 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema GEOMETRY_COLUMNS MAX_PPR 12 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select
+def information_schema GEOMETRY_COLUMNS SRID 13 0 NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) select
+def information_schema GEOMETRY_COLUMNS STORAGE_TYPE 9 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select
def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
-def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
+def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
-def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
+def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema INDEX_STATISTICS INDEX_NAME 3 NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select
def information_schema INDEX_STATISTICS ROWS_READ 4 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema INDEX_STATISTICS TABLE_NAME 2 NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select
@@ -215,19 +248,24 @@ def information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 N
def information_schema PLUGINS PLUGIN_LICENSE 10 NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select
def information_schema PLUGINS PLUGIN_MATURITY 12 NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) select
def information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
-def information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select
+def information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select
def information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select
def information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select
def information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select
def information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select
def information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema PROCESSLIST EXAMINED_ROWS 14 0 NO int NULL NULL 10 0 NULL NULL NULL int(7) select
def information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select
def information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select
+def information_schema PROCESSLIST INFO_BINARY 16 NULL YES blob 65535 65535 NULL NULL NULL NULL NULL blob select
def information_schema PROCESSLIST MAX_STAGE 11 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select
+def information_schema PROCESSLIST MEMORY_USED 13 0 NO int NULL NULL 10 0 NULL NULL NULL int(7) select
def information_schema PROCESSLIST PROGRESS 12 0.000 NO decimal NULL NULL 7 3 NULL NULL NULL decimal(7,3) select
+def information_schema PROCESSLIST QUERY_ID 15 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select
def information_schema PROCESSLIST STAGE 10 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select
def information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema PROCESSLIST TID 17 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select
def information_schema PROCESSLIST TIME 6 0 NO int NULL NULL 10 0 NULL NULL NULL int(7) select
def information_schema PROCESSLIST TIME_MS 9 0.000 NO decimal NULL NULL 22 3 NULL NULL NULL decimal(22,3) select
def information_schema PROCESSLIST USER 2 NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select
@@ -278,15 +316,19 @@ def information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 32 96 N
def information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
-def information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL NULL utf8 utf8_general_ci varchar(81) select
+def information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select
def information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select
def information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
-def information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
+def information_schema SESSION_STATUS VARIABLE_VALUE 2 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
-def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
+def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
+def information_schema SPATIAL_REF_SYS AUTH_NAME 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
+def information_schema SPATIAL_REF_SYS AUTH_SRID 3 0 NO int NULL NULL 10 0 NULL NULL NULL int(5) select
+def information_schema SPATIAL_REF_SYS SRID 1 0 NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) select
+def information_schema SPATIAL_REF_SYS SRTEXT 4 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL NULL utf8 utf8_general_ci varchar(1) select
def information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
@@ -303,11 +345,25 @@ def information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NUL
def information_schema STATISTICS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema SYSTEM_VARIABLES DEFAULT_VALUE 5 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
+def information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE 3 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE 11 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21) select
+def information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE 10 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21) select
+def information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE 9 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21) select
+def information_schema SYSTEM_VARIABLES READ_ONLY 13 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select
+def information_schema SYSTEM_VARIABLES SESSION_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
+def information_schema SYSTEM_VARIABLES VARIABLE_COMMENT 8 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
+def information_schema SYSTEM_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema SYSTEM_VARIABLES VARIABLE_SCOPE 6 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
+def information_schema SYSTEM_VARIABLES VARIABLE_TYPE 7 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select
-def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255) select
+def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select
def information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
@@ -339,7 +395,7 @@ def information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192
def information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
-def information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL NULL utf8 utf8_general_ci varchar(81) select
+def information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select
def information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select
def information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
@@ -372,7 +428,7 @@ def information_schema TRIGGERS SQL_MODE 18 NO varchar 8192 24576 NULL NULL NUL
def information_schema TRIGGERS TRIGGER_CATALOG 1 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
-def information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL NULL utf8 utf8_general_ci varchar(81) select
+def information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select
def information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select
def information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema USER_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
@@ -388,6 +444,7 @@ def information_schema USER_STATISTICS CPU_TIME 6 0 NO double NULL NULL 21 NULL
def information_schema USER_STATISTICS DENIED_CONNECTIONS 20 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema USER_STATISTICS EMPTY_QUERIES 23 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema USER_STATISTICS LOST_CONNECTIONS 21 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
+def information_schema USER_STATISTICS MAX_STATEMENT_TIME_EXCEEDED 25 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema USER_STATISTICS OTHER_COMMANDS 17 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema USER_STATISTICS ROLLBACK_TRANSACTIONS 19 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema USER_STATISTICS ROWS_DELETED 12 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
@@ -397,8 +454,10 @@ def information_schema USER_STATISTICS ROWS_SENT 11 0 NO bigint NULL NULL 19 0 N
def information_schema USER_STATISTICS ROWS_UPDATED 14 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema USER_STATISTICS SELECT_COMMANDS 15 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema USER_STATISTICS TOTAL_CONNECTIONS 2 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) select
+def information_schema USER_STATISTICS TOTAL_SSL_CONNECTIONS 24 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema USER_STATISTICS UPDATE_COMMANDS 16 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema USER_STATISTICS USER 1 NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select
+def information_schema VIEWS ALGORITHM 11 NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select
def information_schema VIEWS CHARACTER_SET_CLIENT 9 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) select
def information_schema VIEWS COLLATION_CONNECTION 10 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select
@@ -409,7 +468,6 @@ def information_schema VIEWS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL
def information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select
-def information_schema XTRADB_ADMIN_COMMAND result_message 1 NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
##########################################################################
# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
##########################################################################
@@ -424,6 +482,7 @@ AND table_name <> 'profiling' AND table_name not like 'innodb_%'
AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
+1.0000 blob NULL NULL
1.0000 longtext utf8 utf8_general_ci
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
@@ -453,6 +512,7 @@ NULL datetime NULL NULL
NULL decimal NULL NULL
NULL double NULL NULL
NULL int NULL NULL
+NULL smallint NULL NULL
NULL tinyint NULL NULL
--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values
--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL
@@ -471,6 +531,23 @@ WHERE table_schema = 'information_schema'
AND table_name <> 'profiling' AND table_name not like 'innodb_%'
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE
+3.0000 information_schema ALL_PLUGINS PLUGIN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_STATUS varchar 16 48 utf8 utf8_general_ci varchar(16)
+3.0000 information_schema ALL_PLUGINS PLUGIN_TYPE varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8 utf8_general_ci varchar(64)
+1.0000 information_schema ALL_PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema ALL_PLUGINS PLUGIN_LICENSE varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema ALL_PLUGINS LOAD_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_MATURITY varchar 12 36 utf8 utf8_general_ci varchar(12)
+3.0000 information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema APPLICABLE_ROLES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
+3.0000 information_schema APPLICABLE_ROLES ROLE_NAME varchar 128 384 utf8 utf8_general_ci varchar(128)
+3.0000 information_schema APPLICABLE_ROLES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema APPLICABLE_ROLES IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3)
3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60)
@@ -498,6 +575,8 @@ NULL information_schema CLIENT_STATISTICS DENIED_CONNECTIONS bigint NULL NULL NU
NULL information_schema CLIENT_STATISTICS LOST_CONNECTIONS bigint NULL NULL NULL NULL bigint(21)
NULL information_schema CLIENT_STATISTICS ACCESS_DENIED bigint NULL NULL NULL NULL bigint(21)
NULL information_schema CLIENT_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL bigint(21)
+NULL information_schema CLIENT_STATISTICS TOTAL_SSL_CONNECTIONS bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema CLIENT_STATISTICS MAX_STATEMENT_TIME_EXCEEDED bigint NULL NULL NULL NULL bigint(21)
3.0000 information_schema COLLATIONS COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11)
@@ -526,13 +605,14 @@ NULL information_schema COLUMNS DATETIME_PRECISION bigint NULL NULL NULL NULL bi
3.0000 information_schema COLUMNS EXTRA varchar 27 81 utf8 utf8_general_ci varchar(27)
3.0000 information_schema COLUMNS PRIVILEGES varchar 80 240 utf8 utf8_general_ci varchar(80)
3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
-3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema ENABLED_ROLES ROLE_NAME varchar 128 384 utf8 utf8_general_ci varchar(128)
3.0000 information_schema ENGINES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema ENGINES SUPPORT varchar 8 24 utf8 utf8_general_ci varchar(8)
3.0000 information_schema ENGINES COMMENT varchar 160 480 utf8 utf8_general_ci varchar(160)
@@ -601,10 +681,23 @@ NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20)
3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema GEOMETRY_COLUMNS STORAGE_TYPE tinyint NULL NULL NULL NULL tinyint(2)
+NULL information_schema GEOMETRY_COLUMNS GEOMETRY_TYPE int NULL NULL NULL NULL int(7)
+NULL information_schema GEOMETRY_COLUMNS COORD_DIMENSION tinyint NULL NULL NULL NULL tinyint(2)
+NULL information_schema GEOMETRY_COLUMNS MAX_PPR tinyint NULL NULL NULL NULL tinyint(2)
+NULL information_schema GEOMETRY_COLUMNS SRID smallint NULL NULL NULL NULL smallint(5)
3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema INDEX_STATISTICS TABLE_SCHEMA varchar 192 576 utf8 utf8_general_ci varchar(192)
3.0000 information_schema INDEX_STATISTICS TABLE_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
3.0000 information_schema INDEX_STATISTICS INDEX_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
@@ -676,7 +769,7 @@ NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21
3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema PLUGINS PLUGIN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema PLUGINS PLUGIN_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 10 30 utf8 utf8_general_ci varchar(10)
+3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema PLUGINS PLUGIN_TYPE varchar 80 240 utf8 utf8_general_ci varchar(80)
3.0000 information_schema PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
3.0000 information_schema PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -699,6 +792,11 @@ NULL information_schema PROCESSLIST TIME_MS decimal NULL NULL NULL NULL decimal(
NULL information_schema PROCESSLIST STAGE tinyint NULL NULL NULL NULL tinyint(2)
NULL information_schema PROCESSLIST MAX_STAGE tinyint NULL NULL NULL NULL tinyint(2)
NULL information_schema PROCESSLIST PROGRESS decimal NULL NULL NULL NULL decimal(7,3)
+NULL information_schema PROCESSLIST MEMORY_USED int NULL NULL NULL NULL int(7)
+NULL information_schema PROCESSLIST EXAMINED_ROWS int NULL NULL NULL NULL int(7)
+NULL information_schema PROCESSLIST QUERY_ID bigint NULL NULL NULL NULL bigint(4)
+1.0000 information_schema PROCESSLIST INFO_BINARY blob 65535 65535 NULL NULL blob
+NULL information_schema PROCESSLIST TID bigint NULL NULL NULL NULL bigint(4)
3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -746,15 +844,19 @@ NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datet
3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema SCHEMATA SQL_PATH varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+NULL information_schema SPATIAL_REF_SYS SRID smallint NULL NULL NULL NULL smallint(5)
+3.0000 information_schema SPATIAL_REF_SYS AUTH_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512)
+NULL information_schema SPATIAL_REF_SYS AUTH_SRID int NULL NULL NULL NULL int(5)
+3.0000 information_schema SPATIAL_REF_SYS SRTEXT varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -771,6 +873,20 @@ NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema STATISTICS INDEX_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES SESSION_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES DEFAULT_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_SCOPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_COMMENT varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE varchar 21 63 utf8 utf8_general_ci varchar(21)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE varchar 21 63 utf8 utf8_general_ci varchar(21)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE varchar 21 63 utf8 utf8_general_ci varchar(21)
+1.0000 information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema SYSTEM_VARIABLES READ_ONLY varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema TABLES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -790,7 +906,7 @@ NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime
3.0000 information_schema TABLES TABLE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255)
+3.0000 information_schema TABLES CREATE_OPTIONS varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema TABLES TABLE_COMMENT varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema TABLESPACES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLESPACES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -807,7 +923,7 @@ NULL information_schema TABLESPACES NODEGROUP_ID bigint NULL NULL NULL NULL bigi
3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -840,7 +956,7 @@ NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime
3.0000 information_schema TRIGGERS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema TRIGGERS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema TRIGGERS DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
@@ -867,6 +983,8 @@ NULL information_schema USER_STATISTICS DENIED_CONNECTIONS bigint NULL NULL NULL
NULL information_schema USER_STATISTICS LOST_CONNECTIONS bigint NULL NULL NULL NULL bigint(21)
NULL information_schema USER_STATISTICS ACCESS_DENIED bigint NULL NULL NULL NULL bigint(21)
NULL information_schema USER_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL bigint(21)
+NULL information_schema USER_STATISTICS TOTAL_SSL_CONNECTIONS bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema USER_STATISTICS MAX_STATEMENT_TIME_EXCEEDED bigint NULL NULL NULL NULL bigint(21)
3.0000 information_schema VIEWS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -877,4 +995,4 @@ NULL information_schema USER_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL
3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
3.0000 information_schema VIEWS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema VIEWS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema XTRADB_ADMIN_COMMAND result_message varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema VIEWS ALGORITHM varchar 10 30 utf8 utf8_general_ci varchar(10)
diff --git a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result
index b4cb99a6163..87eecaf41e9 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result
@@ -3,6 +3,23 @@ WHERE table_schema = 'information_schema'
AND table_name <> 'profiling' AND table_name not like 'innodb_%'
ORDER BY table_schema, table_name, column_name;
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
+def information_schema ALL_PLUGINS LOAD_OPTION 11 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ALL_PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80)
+def information_schema ALL_PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext
+def information_schema ALL_PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20)
+def information_schema ALL_PLUGINS PLUGIN_LICENSE 10 NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80)
+def information_schema ALL_PLUGINS PLUGIN_MATURITY 12 NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12)
+def information_schema ALL_PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ALL_PLUGINS PLUGIN_STATUS 3 NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16)
+def information_schema ALL_PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80)
+def information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20)
+def information_schema ALL_PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20)
+def information_schema APPLICABLE_ROLES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190)
+def information_schema APPLICABLE_ROLES IS_DEFAULT 4 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema APPLICABLE_ROLES IS_GRANTABLE 3 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema APPLICABLE_ROLES ROLE_NAME 2 NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128)
def information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32)
def information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32)
def information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL NULL utf8 utf8_general_ci varchar(60)
@@ -20,6 +37,7 @@ def information_schema CLIENT_STATISTICS CPU_TIME 6 0 NO double NULL NULL 21 NUL
def information_schema CLIENT_STATISTICS DENIED_CONNECTIONS 20 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema CLIENT_STATISTICS EMPTY_QUERIES 23 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema CLIENT_STATISTICS LOST_CONNECTIONS 21 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
+def information_schema CLIENT_STATISTICS MAX_STATEMENT_TIME_EXCEEDED 25 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema CLIENT_STATISTICS OTHER_COMMANDS 17 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema CLIENT_STATISTICS ROLLBACK_TRANSACTIONS 19 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema CLIENT_STATISTICS ROWS_DELETED 12 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
@@ -29,6 +47,7 @@ def information_schema CLIENT_STATISTICS ROWS_SENT 11 0 NO bigint NULL NULL 19 0
def information_schema CLIENT_STATISTICS ROWS_UPDATED 14 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema CLIENT_STATISTICS SELECT_COMMANDS 15 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema CLIENT_STATISTICS TOTAL_CONNECTIONS 2 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
+def information_schema CLIENT_STATISTICS TOTAL_SSL_CONNECTIONS 24 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
def information_schema CLIENT_STATISTICS UPDATE_COMMANDS 16 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32)
def information_schema COLLATIONS COLLATION_NAME 1 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32)
@@ -59,12 +78,13 @@ def information_schema COLUMNS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NU
def information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
-def information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL NULL utf8 utf8_general_ci varchar(81)
+def information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190)
def information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3)
def information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
def information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ENABLED_ROLES ROLE_NAME 1 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128)
def information_schema ENGINES COMMENT 3 NO varchar 160 480 NULL NULL NULL utf8 utf8_general_ci varchar(160)
def information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema ENGINES SAVEPOINTS 6 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3)
@@ -133,10 +153,23 @@ def information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19
def information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4)
def information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime
def information_schema FILES VERSION 25 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
+def information_schema GEOMETRY_COLUMNS COORD_DIMENSION 11 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2)
+def information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema GEOMETRY_COLUMNS F_TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema GEOMETRY_COLUMNS GEOMETRY_TYPE 10 0 NO int NULL NULL 10 0 NULL NULL NULL int(7)
+def information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN 8 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG 5 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema GEOMETRY_COLUMNS G_TABLE_NAME 7 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA 6 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema GEOMETRY_COLUMNS MAX_PPR 12 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2)
+def information_schema GEOMETRY_COLUMNS SRID 13 0 NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5)
+def information_schema GEOMETRY_COLUMNS STORAGE_TYPE 9 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2)
def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
-def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
-def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
def information_schema INDEX_STATISTICS INDEX_NAME 3 NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192)
def information_schema INDEX_STATISTICS ROWS_READ 4 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema INDEX_STATISTICS TABLE_NAME 2 NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192)
@@ -215,19 +248,24 @@ def information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 N
def information_schema PLUGINS PLUGIN_LICENSE 10 NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80)
def information_schema PLUGINS PLUGIN_MATURITY 12 NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12)
def information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
-def information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10)
+def information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16)
def information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80)
def information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20)
def information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20)
def information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16)
def information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PROCESSLIST EXAMINED_ROWS 14 0 NO int NULL NULL 10 0 NULL NULL NULL int(7)
def information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4)
def information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext
+def information_schema PROCESSLIST INFO_BINARY 16 NULL YES blob 65535 65535 NULL NULL NULL NULL NULL blob
def information_schema PROCESSLIST MAX_STAGE 11 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2)
+def information_schema PROCESSLIST MEMORY_USED 13 0 NO int NULL NULL 10 0 NULL NULL NULL int(7)
def information_schema PROCESSLIST PROGRESS 12 0.000 NO decimal NULL NULL 7 3 NULL NULL NULL decimal(7,3)
+def information_schema PROCESSLIST QUERY_ID 15 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4)
def information_schema PROCESSLIST STAGE 10 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2)
def information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PROCESSLIST TID 17 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4)
def information_schema PROCESSLIST TIME 6 0 NO int NULL NULL 10 0 NULL NULL NULL int(7)
def information_schema PROCESSLIST TIME_MS 9 0.000 NO decimal NULL NULL 22 3 NULL NULL NULL decimal(22,3)
def information_schema PROCESSLIST USER 2 NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128)
@@ -278,15 +316,19 @@ def information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 32 96 N
def information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32)
def information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
-def information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL NULL utf8 utf8_general_ci varchar(81)
+def information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190)
def information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3)
def information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
def information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
-def information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema SESSION_STATUS VARIABLE_VALUE 2 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
def information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
-def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
+def information_schema SPATIAL_REF_SYS AUTH_NAME 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema SPATIAL_REF_SYS AUTH_SRID 3 0 NO int NULL NULL 10 0 NULL NULL NULL int(5)
+def information_schema SPATIAL_REF_SYS SRID 1 0 NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5)
+def information_schema SPATIAL_REF_SYS SRTEXT 4 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
def information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL NULL utf8 utf8_general_ci varchar(1)
def information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
@@ -303,11 +345,25 @@ def information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NUL
def information_schema STATISTICS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
def information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SYSTEM_VARIABLES DEFAULT_VALUE 5 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
+def information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE 3 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE 11 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21)
+def information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE 10 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21)
+def information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE 9 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21)
+def information_schema SYSTEM_VARIABLES READ_ONLY 13 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema SYSTEM_VARIABLES SESSION_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
+def information_schema SYSTEM_VARIABLES VARIABLE_COMMENT 8 NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
+def information_schema SYSTEM_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SYSTEM_VARIABLES VARIABLE_SCOPE 6 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SYSTEM_VARIABLES VARIABLE_TYPE 7 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
def information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
def information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
def information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime
-def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255)
+def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048)
def information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime
def information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
def information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
@@ -339,7 +395,7 @@ def information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192
def information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
-def information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL NULL utf8 utf8_general_ci varchar(81)
+def information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190)
def information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3)
def information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
@@ -372,7 +428,7 @@ def information_schema TRIGGERS SQL_MODE 18 NO varchar 8192 24576 NULL NULL NUL
def information_schema TRIGGERS TRIGGER_CATALOG 1 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
def information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
-def information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL NULL utf8 utf8_general_ci varchar(81)
+def information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190)
def information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3)
def information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema USER_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
@@ -388,6 +444,7 @@ def information_schema USER_STATISTICS CPU_TIME 6 0 NO double NULL NULL 21 NULL
def information_schema USER_STATISTICS DENIED_CONNECTIONS 20 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema USER_STATISTICS EMPTY_QUERIES 23 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema USER_STATISTICS LOST_CONNECTIONS 21 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
+def information_schema USER_STATISTICS MAX_STATEMENT_TIME_EXCEEDED 25 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema USER_STATISTICS OTHER_COMMANDS 17 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema USER_STATISTICS ROLLBACK_TRANSACTIONS 19 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema USER_STATISTICS ROWS_DELETED 12 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
@@ -397,8 +454,10 @@ def information_schema USER_STATISTICS ROWS_SENT 11 0 NO bigint NULL NULL 19 0 N
def information_schema USER_STATISTICS ROWS_UPDATED 14 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema USER_STATISTICS SELECT_COMMANDS 15 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema USER_STATISTICS TOTAL_CONNECTIONS 2 0 NO int NULL NULL 10 0 NULL NULL NULL int(11)
+def information_schema USER_STATISTICS TOTAL_SSL_CONNECTIONS 24 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
def information_schema USER_STATISTICS UPDATE_COMMANDS 16 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21)
def information_schema USER_STATISTICS USER 1 NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128)
+def information_schema VIEWS ALGORITHM 11 NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10)
def information_schema VIEWS CHARACTER_SET_CLIENT 9 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32)
def information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8)
def information_schema VIEWS COLLATION_CONNECTION 10 NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32)
@@ -409,7 +468,6 @@ def information_schema VIEWS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL
def information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext
-def information_schema XTRADB_ADMIN_COMMAND result_message 1 NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024)
##########################################################################
# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
##########################################################################
@@ -424,6 +482,7 @@ AND table_name <> 'profiling' AND table_name not like 'innodb_%'
AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
+1.0000 blob NULL NULL
1.0000 longtext utf8 utf8_general_ci
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
@@ -453,6 +512,7 @@ NULL datetime NULL NULL
NULL decimal NULL NULL
NULL double NULL NULL
NULL int NULL NULL
+NULL smallint NULL NULL
NULL tinyint NULL NULL
--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values
--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL
@@ -471,6 +531,23 @@ WHERE table_schema = 'information_schema'
AND table_name <> 'profiling' AND table_name not like 'innodb_%'
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE
+3.0000 information_schema ALL_PLUGINS PLUGIN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_STATUS varchar 16 48 utf8 utf8_general_ci varchar(16)
+3.0000 information_schema ALL_PLUGINS PLUGIN_TYPE varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8 utf8_general_ci varchar(64)
+1.0000 information_schema ALL_PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema ALL_PLUGINS PLUGIN_LICENSE varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema ALL_PLUGINS LOAD_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_MATURITY varchar 12 36 utf8 utf8_general_ci varchar(12)
+3.0000 information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema APPLICABLE_ROLES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
+3.0000 information_schema APPLICABLE_ROLES ROLE_NAME varchar 128 384 utf8 utf8_general_ci varchar(128)
+3.0000 information_schema APPLICABLE_ROLES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema APPLICABLE_ROLES IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3)
3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60)
@@ -498,6 +575,8 @@ NULL information_schema CLIENT_STATISTICS DENIED_CONNECTIONS bigint NULL NULL NU
NULL information_schema CLIENT_STATISTICS LOST_CONNECTIONS bigint NULL NULL NULL NULL bigint(21)
NULL information_schema CLIENT_STATISTICS ACCESS_DENIED bigint NULL NULL NULL NULL bigint(21)
NULL information_schema CLIENT_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL bigint(21)
+NULL information_schema CLIENT_STATISTICS TOTAL_SSL_CONNECTIONS bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema CLIENT_STATISTICS MAX_STATEMENT_TIME_EXCEEDED bigint NULL NULL NULL NULL bigint(21)
3.0000 information_schema COLLATIONS COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11)
@@ -526,13 +605,14 @@ NULL information_schema COLUMNS DATETIME_PRECISION bigint NULL NULL NULL NULL bi
3.0000 information_schema COLUMNS EXTRA varchar 27 81 utf8 utf8_general_ci varchar(27)
3.0000 information_schema COLUMNS PRIVILEGES varchar 80 240 utf8 utf8_general_ci varchar(80)
3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
-3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema ENABLED_ROLES ROLE_NAME varchar 128 384 utf8 utf8_general_ci varchar(128)
3.0000 information_schema ENGINES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema ENGINES SUPPORT varchar 8 24 utf8 utf8_general_ci varchar(8)
3.0000 information_schema ENGINES COMMENT varchar 160 480 utf8 utf8_general_ci varchar(160)
@@ -601,10 +681,23 @@ NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20)
3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema GEOMETRY_COLUMNS STORAGE_TYPE tinyint NULL NULL NULL NULL tinyint(2)
+NULL information_schema GEOMETRY_COLUMNS GEOMETRY_TYPE int NULL NULL NULL NULL int(7)
+NULL information_schema GEOMETRY_COLUMNS COORD_DIMENSION tinyint NULL NULL NULL NULL tinyint(2)
+NULL information_schema GEOMETRY_COLUMNS MAX_PPR tinyint NULL NULL NULL NULL tinyint(2)
+NULL information_schema GEOMETRY_COLUMNS SRID smallint NULL NULL NULL NULL smallint(5)
3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema INDEX_STATISTICS TABLE_SCHEMA varchar 192 576 utf8 utf8_general_ci varchar(192)
3.0000 information_schema INDEX_STATISTICS TABLE_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
3.0000 information_schema INDEX_STATISTICS INDEX_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
@@ -676,7 +769,7 @@ NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21
3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema PLUGINS PLUGIN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema PLUGINS PLUGIN_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 10 30 utf8 utf8_general_ci varchar(10)
+3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema PLUGINS PLUGIN_TYPE varchar 80 240 utf8 utf8_general_ci varchar(80)
3.0000 information_schema PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
3.0000 information_schema PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -699,6 +792,11 @@ NULL information_schema PROCESSLIST TIME_MS decimal NULL NULL NULL NULL decimal(
NULL information_schema PROCESSLIST STAGE tinyint NULL NULL NULL NULL tinyint(2)
NULL information_schema PROCESSLIST MAX_STAGE tinyint NULL NULL NULL NULL tinyint(2)
NULL information_schema PROCESSLIST PROGRESS decimal NULL NULL NULL NULL decimal(7,3)
+NULL information_schema PROCESSLIST MEMORY_USED int NULL NULL NULL NULL int(7)
+NULL information_schema PROCESSLIST EXAMINED_ROWS int NULL NULL NULL NULL int(7)
+NULL information_schema PROCESSLIST QUERY_ID bigint NULL NULL NULL NULL bigint(4)
+1.0000 information_schema PROCESSLIST INFO_BINARY blob 65535 65535 NULL NULL blob
+NULL information_schema PROCESSLIST TID bigint NULL NULL NULL NULL bigint(4)
3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -746,15 +844,19 @@ NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datet
3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema SCHEMATA SQL_PATH varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+NULL information_schema SPATIAL_REF_SYS SRID smallint NULL NULL NULL NULL smallint(5)
+3.0000 information_schema SPATIAL_REF_SYS AUTH_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512)
+NULL information_schema SPATIAL_REF_SYS AUTH_SRID int NULL NULL NULL NULL int(5)
+3.0000 information_schema SPATIAL_REF_SYS SRTEXT varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -771,6 +873,20 @@ NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema STATISTICS INDEX_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES SESSION_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES DEFAULT_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_SCOPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_COMMENT varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE varchar 21 63 utf8 utf8_general_ci varchar(21)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE varchar 21 63 utf8 utf8_general_ci varchar(21)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE varchar 21 63 utf8 utf8_general_ci varchar(21)
+1.0000 information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema SYSTEM_VARIABLES READ_ONLY varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema TABLES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -790,7 +906,7 @@ NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime
3.0000 information_schema TABLES TABLE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255)
+3.0000 information_schema TABLES CREATE_OPTIONS varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema TABLES TABLE_COMMENT varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema TABLESPACES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLESPACES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -807,7 +923,7 @@ NULL information_schema TABLESPACES NODEGROUP_ID bigint NULL NULL NULL NULL bigi
3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -840,7 +956,7 @@ NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime
3.0000 information_schema TRIGGERS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema TRIGGERS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema TRIGGERS DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 190 570 utf8 utf8_general_ci varchar(190)
3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
@@ -867,6 +983,8 @@ NULL information_schema USER_STATISTICS DENIED_CONNECTIONS bigint NULL NULL NULL
NULL information_schema USER_STATISTICS LOST_CONNECTIONS bigint NULL NULL NULL NULL bigint(21)
NULL information_schema USER_STATISTICS ACCESS_DENIED bigint NULL NULL NULL NULL bigint(21)
NULL information_schema USER_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL bigint(21)
+NULL information_schema USER_STATISTICS TOTAL_SSL_CONNECTIONS bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema USER_STATISTICS MAX_STATEMENT_TIME_EXCEEDED bigint NULL NULL NULL NULL bigint(21)
3.0000 information_schema VIEWS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -877,4 +995,4 @@ NULL information_schema USER_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL
3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
3.0000 information_schema VIEWS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema VIEWS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema XTRADB_ADMIN_COMMAND result_message varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema VIEWS ALGORITHM varchar 10 30 utf8 utf8_general_ci varchar(10)
diff --git a/mysql-test/suite/funcs_1/r/is_columns_memory.result b/mysql-test/suite/funcs_1/r/is_columns_memory.result
index 7521a9857a6..674abfaefab 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_memory.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_memory.result
@@ -240,7 +240,7 @@ f217 float(53) unsigned zerofill,
f218 date,
f219 time,
f220 datetime,
-f221 timestamp,
+f221 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
f222 year,
f223 year(3),
f224 year(4),
diff --git a/mysql-test/suite/funcs_1/r/is_columns_myisam.result b/mysql-test/suite/funcs_1/r/is_columns_myisam.result
index 6c2586cc3c1..6ce5f1bd8a0 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_myisam.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_myisam.result
@@ -262,7 +262,7 @@ f217 float(53) unsigned zerofill,
f218 date,
f219 time,
f220 datetime,
-f221 timestamp,
+f221 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
f222 year,
f223 year(3),
f224 year(4),
diff --git a/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result
index 150469a4a2f..d89459a88ac 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result
@@ -262,7 +262,7 @@ f217 float(53) unsigned zerofill,
f218 date,
f219 time,
f220 datetime,
-f221 timestamp,
+f221 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
f222 year,
f223 year(3),
f224 year(4),
diff --git a/mysql-test/suite/funcs_1/r/is_columns_mysql.result b/mysql-test/suite/funcs_1/r/is_columns_mysql.result
index fec6a5d8c5e..3aab87c5ce2 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_mysql.result
@@ -8,7 +8,18 @@ def mysql columns_priv Db 2 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64
def mysql columns_priv Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
def mysql columns_priv Table_name 4 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
def mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
-def mysql columns_priv User 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+def mysql columns_priv User 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references
+def mysql column_stats avg_frequency 8 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) select,insert,update,references
+def mysql column_stats avg_length 7 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) select,insert,update,references
+def mysql column_stats column_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql column_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql column_stats histogram 11 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255) select,insert,update,references
+def mysql column_stats hist_size 9 NULL YES tinyint NULL NULL 3 0 NULL NULL NULL tinyint(3) unsigned select,insert,update,references
+def mysql column_stats hist_type 10 NULL YES enum 14 42 NULL NULL NULL utf8 utf8_bin enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') select,insert,update,references
+def mysql column_stats max_value 5 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255) select,insert,update,references
+def mysql column_stats min_value 4 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255) select,insert,update,references
+def mysql column_stats nulls_ratio 6 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) select,insert,update,references
+def mysql column_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
def mysql db Alter_priv 13 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql db Create_priv 8 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
@@ -30,7 +41,7 @@ def mysql db Select_priv 4 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enu
def mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql db Update_priv 6 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-def mysql db User 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+def mysql db User 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references
def mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references
def mysql event body_utf8 22 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references
def mysql event character_set_client 19 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references
@@ -39,7 +50,7 @@ def mysql event comment 16 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64)
def mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
def mysql event db 1 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
def mysql event db_collation 21 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references
-def mysql event definer 4 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77) select,insert,update,references
+def mysql event definer 4 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) select,insert,update,references
def mysql event ends 12 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select,insert,update,references
def mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select,insert,update,references
def mysql event interval_field 7 NULL YES enum 18 54 NULL NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
@@ -59,10 +70,14 @@ def mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) sele
def mysql func type 4 NULL NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
def mysql general_log argument 6 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
def mysql general_log command_type 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-def mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) on update CURRENT_TIMESTAMP select,insert,update,references
+def mysql general_log event_time 1 CURRENT_TIMESTAMP(6) NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) on update CURRENT_TIMESTAMP select,insert,update,references
def mysql general_log server_id 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
-def mysql general_log thread_id 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def mysql general_log thread_id 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select,insert,update,references
def mysql general_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
+def mysql gtid_slave_pos domain_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI select,insert,update,references
+def mysql gtid_slave_pos seq_no 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def mysql gtid_slave_pos server_id 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
+def mysql gtid_slave_pos sub_id 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned PRI select,insert,update,references
def mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) unsigned PRI select,insert,update,references
def mysql help_category name 2 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
def mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL NULL smallint(5) unsigned select,insert,update,references
@@ -97,13 +112,25 @@ def mysql host Select_priv 3 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci e
def mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql host Update_priv 5 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-def mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
-def mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned PRI select,insert,update,references
-def mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
-def mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
-def mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
-def mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
-def mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def mysql index_stats avg_frequency 5 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) select,insert,update,references
+def mysql index_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql index_stats index_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql index_stats prefix_arity 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned PRI select,insert,update,references
+def mysql index_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql innodb_index_stats database_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql innodb_index_stats index_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql innodb_index_stats last_update 4 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+def mysql innodb_index_stats sample_size 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def mysql innodb_index_stats stat_description 8 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_bin varchar(1024) select,insert,update,references
+def mysql innodb_index_stats stat_name 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql innodb_index_stats stat_value 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def mysql innodb_index_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql innodb_table_stats clustered_index_size 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def mysql innodb_table_stats database_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql innodb_table_stats last_update 3 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+def mysql innodb_table_stats n_rows 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def mysql innodb_table_stats sum_of_other_index_sizes 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def mysql innodb_table_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
def mysql plugin dl 2 NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
def mysql plugin name 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) PRI select,insert,update,references
def mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references
@@ -114,7 +141,7 @@ def mysql proc comment 16 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_bin
def mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
def mysql proc db 1 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
def mysql proc db_collation 19 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references
-def mysql proc definer 12 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77) select,insert,update,references
+def mysql proc definer 12 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) select,insert,update,references
def mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
def mysql proc language 5 SQL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
def mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references
@@ -127,20 +154,24 @@ def mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL NULL utf8
def mysql proc sql_mode 15 NO set 494 1482 NULL NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') select,insert,update,references
def mysql proc type 3 NULL NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
def mysql procs_priv Db 2 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-def mysql procs_priv Grantor 6 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
+def mysql procs_priv Grantor 6 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL select,insert,update,references
def mysql procs_priv Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
def mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
def mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
def mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
def mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
-def mysql procs_priv User 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-def mysql proxies_priv Grantor 6 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
+def mysql procs_priv User 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references
+def mysql proxies_priv Grantor 6 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL select,insert,update,references
def mysql proxies_priv Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
def mysql proxies_priv Proxied_host 3 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+def mysql proxies_priv Proxied_user 4 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references
def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
-def mysql proxies_priv User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+def mysql proxies_priv User 2 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references
def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) select,insert,update,references
+def mysql roles_mapping Admin_option 4 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+def mysql roles_mapping Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
+def mysql roles_mapping Role 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references
+def mysql roles_mapping User 2 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references
def mysql servers Db 3 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
def mysql servers Host 2 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
def mysql servers Owner 9 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
@@ -148,27 +179,32 @@ def mysql servers Password 5 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci
def mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL NULL int(4) select,insert,update,references
def mysql servers Server_name 1 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
def mysql servers Socket 7 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-def mysql servers Username 4 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
+def mysql servers Username 4 NO char 80 240 NULL NULL NULL utf8 utf8_general_ci char(80) select,insert,update,references
def mysql servers Wrapper 8 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
def mysql slow_log db 7 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references
def mysql slow_log insert_id 9 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
def mysql slow_log last_insert_id 8 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
def mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL 6 NULL NULL time(6) select,insert,update,references
def mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL 6 NULL NULL time(6) select,insert,update,references
+def mysql slow_log rows_affected 13 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
def mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
def mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
def mysql slow_log server_id 10 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
def mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-def mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) on update CURRENT_TIMESTAMP select,insert,update,references
+def mysql slow_log start_time 1 CURRENT_TIMESTAMP(6) NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) on update CURRENT_TIMESTAMP select,insert,update,references
+def mysql slow_log thread_id 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select,insert,update,references
def mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
def mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
def mysql tables_priv Db 2 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-def mysql tables_priv Grantor 5 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
+def mysql tables_priv Grantor 5 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL select,insert,update,references
def mysql tables_priv Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
def mysql tables_priv Table_name 4 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
def mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
def mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
-def mysql tables_priv User 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+def mysql tables_priv User 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references
+def mysql table_stats cardinality 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select,insert,update,references
+def mysql table_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
+def mysql table_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
def mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
def mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
def mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
@@ -192,6 +228,7 @@ def mysql user Create_tablespace_priv 32 N NO enum 1 3 NULL NULL NULL utf8 utf8_
def mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+def mysql user default_role 45 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) select,insert,update,references
def mysql user Delete_priv 7 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Drop_priv 9 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Event_priv 30 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
@@ -201,12 +238,15 @@ def mysql user Grant_priv 14 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci e
def mysql user Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
def mysql user Index_priv 16 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Insert_priv 5 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+def mysql user is_role 44 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user max_connections 39 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned select,insert,update,references
def mysql user max_questions 37 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned select,insert,update,references
+def mysql user max_statement_time 46 0.000000 NO decimal NULL NULL 12 6 NULL NULL NULL decimal(12,6) select,insert,update,references
def mysql user max_updates 38 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned select,insert,update,references
def mysql user max_user_connections 40 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
def mysql user Password 3 NO char 41 41 NULL NULL NULL latin1 latin1_bin char(41) select,insert,update,references
+def mysql user password_expired 43 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user plugin 41 NO char 64 64 NULL NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
def mysql user Process_priv 12 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user References_priv 15 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
@@ -222,7 +262,7 @@ def mysql user ssl_type 33 NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enu
def mysql user Super_priv 19 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Update_priv 6 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-def mysql user User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+def mysql user User 2 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references
def mysql user x509_issuer 35 NULL NO blob 65535 65535 NULL NULL NULL NULL NULL blob select,insert,update,references
def mysql user x509_subject 36 NULL NO blob 65535 65535 NULL NULL NULL NULL NULL blob select,insert,update,references
##########################################################################
@@ -240,9 +280,9 @@ ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
1.0000 blob NULL NULL
1.0000 longblob NULL NULL
+1.0000 varbinary NULL NULL
1.0000 char latin1 latin1_bin
1.0000 char latin1 latin1_swedish_ci
-1.0000 varchar latin1 latin1_swedish_ci
1.0000 text utf8 utf8_bin
1.0000 mediumtext utf8 utf8_general_ci
1.0000 text utf8 utf8_general_ci
@@ -258,6 +298,7 @@ ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
3.0000 char utf8 utf8_bin
3.0000 enum utf8 utf8_bin
+3.0000 varchar utf8 utf8_bin
3.0000 char utf8 utf8_general_ci
3.0000 enum utf8 utf8_general_ci
3.0000 set utf8 utf8_general_ci
@@ -274,6 +315,7 @@ ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
NULL bigint NULL NULL
NULL datetime NULL NULL
+NULL decimal NULL NULL
NULL int NULL NULL
NULL smallint NULL NULL
NULL time NULL NULL
@@ -297,14 +339,25 @@ ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE
3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql columns_priv User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64)
3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64)
NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
+3.0000 mysql column_stats db_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql column_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql column_stats column_name varchar 64 192 utf8 utf8_bin varchar(64)
+1.0000 mysql column_stats min_value varbinary 255 255 NULL NULL varbinary(255)
+1.0000 mysql column_stats max_value varbinary 255 255 NULL NULL varbinary(255)
+NULL mysql column_stats nulls_ratio decimal NULL NULL NULL NULL decimal(12,4)
+NULL mysql column_stats avg_length decimal NULL NULL NULL NULL decimal(12,4)
+NULL mysql column_stats avg_frequency decimal NULL NULL NULL NULL decimal(12,4)
+NULL mysql column_stats hist_size tinyint NULL NULL NULL NULL tinyint(3) unsigned
+3.0000 mysql column_stats hist_type enum 14 42 utf8 utf8_bin enum('SINGLE_PREC_HB','DOUBLE_PREC_HB')
+1.0000 mysql column_stats histogram varbinary 255 255 NULL NULL varbinary(255)
3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql db User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql db User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
@@ -327,7 +380,7 @@ NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql event db char 64 192 utf8 utf8_bin char(64)
3.0000 mysql event name char 64 192 utf8 utf8_general_ci char(64)
1.0000 mysql event body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql event definer char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql event definer char 141 423 utf8 utf8_bin char(141)
NULL mysql event execute_at datetime NULL NULL NULL NULL datetime
NULL mysql event interval_value int NULL NULL NULL NULL int(11)
3.0000 mysql event interval_field enum 18 54 utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND')
@@ -352,10 +405,14 @@ NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate')
NULL mysql general_log event_time timestamp NULL NULL NULL NULL timestamp(6)
1.0000 mysql general_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql general_log thread_id int NULL NULL NULL NULL int(11)
+NULL mysql general_log thread_id bigint NULL NULL NULL NULL bigint(21) unsigned
NULL mysql general_log server_id int NULL NULL NULL NULL int(10) unsigned
3.0000 mysql general_log command_type varchar 64 192 utf8 utf8_general_ci varchar(64)
1.0000 mysql general_log argument mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+NULL mysql gtid_slave_pos domain_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql gtid_slave_pos sub_id bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL mysql gtid_slave_pos server_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql gtid_slave_pos seq_no bigint NULL NULL NULL NULL bigint(20) unsigned
NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64)
NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
@@ -390,13 +447,25 @@ NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5)
3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql host Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-NULL mysql ndb_binlog_index Position bigint NULL NULL NULL NULL bigint(20) unsigned
-1.0000 mysql ndb_binlog_index File varchar 255 255 latin1 latin1_swedish_ci varchar(255)
-NULL mysql ndb_binlog_index epoch bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index inserts bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index updates bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index deletes bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index schemaops bigint NULL NULL NULL NULL bigint(20) unsigned
+3.0000 mysql index_stats db_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql index_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql index_stats index_name varchar 64 192 utf8 utf8_bin varchar(64)
+NULL mysql index_stats prefix_arity int NULL NULL NULL NULL int(11) unsigned
+NULL mysql index_stats avg_frequency decimal NULL NULL NULL NULL decimal(12,4)
+3.0000 mysql innodb_index_stats database_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql innodb_index_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql innodb_index_stats index_name varchar 64 192 utf8 utf8_bin varchar(64)
+NULL mysql innodb_index_stats last_update timestamp NULL NULL NULL NULL timestamp
+3.0000 mysql innodb_index_stats stat_name varchar 64 192 utf8 utf8_bin varchar(64)
+NULL mysql innodb_index_stats stat_value bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL mysql innodb_index_stats sample_size bigint NULL NULL NULL NULL bigint(20) unsigned
+3.0000 mysql innodb_index_stats stat_description varchar 1024 3072 utf8 utf8_bin varchar(1024)
+3.0000 mysql innodb_table_stats database_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql innodb_table_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
+NULL mysql innodb_table_stats last_update timestamp NULL NULL NULL NULL timestamp
+NULL mysql innodb_table_stats n_rows bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL mysql innodb_table_stats clustered_index_size bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL mysql innodb_table_stats sum_of_other_index_sizes bigint NULL NULL NULL NULL bigint(20) unsigned
3.0000 mysql plugin name varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 mysql plugin dl varchar 128 384 utf8 utf8_general_ci varchar(128)
3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64)
@@ -410,7 +479,7 @@ NULL mysql ndb_binlog_index schemaops bigint NULL NULL NULL NULL bigint(20) unsi
1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob
1.0000 mysql proc returns longblob 4294967295 4294967295 NULL NULL longblob
1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql proc definer char 141 423 utf8 utf8_bin char(141)
NULL mysql proc created timestamp NULL NULL NULL NULL timestamp
NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
3.0000 mysql proc sql_mode set 494 1482 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH')
@@ -421,23 +490,27 @@ NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
1.0000 mysql proc body_utf8 longblob 4294967295 4294967295 NULL NULL longblob
3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql procs_priv User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE')
-3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql procs_priv Grantor char 141 423 utf8 utf8_bin char(141)
3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant')
NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql proxies_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql proxies_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql proxies_priv User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql proxies_priv Proxied_host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql proxies_priv Proxied_user char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql proxies_priv Proxied_user char 80 240 utf8 utf8_bin char(80)
NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql proxies_priv Grantor char 141 423 utf8 utf8_bin char(141)
NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp
+3.0000 mysql roles_mapping Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql roles_mapping User char 80 240 utf8 utf8_bin char(80)
+3.0000 mysql roles_mapping Role char 80 240 utf8 utf8_bin char(80)
+3.0000 mysql roles_mapping Admin_option enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Username char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql servers Username char 80 240 utf8 utf8_general_ci char(80)
3.0000 mysql servers Password char 64 192 utf8 utf8_general_ci char(64)
NULL mysql servers Port int NULL NULL NULL NULL int(4)
3.0000 mysql servers Socket char 64 192 utf8 utf8_general_ci char(64)
@@ -454,14 +527,19 @@ NULL mysql slow_log last_insert_id int NULL NULL NULL NULL int(11)
NULL mysql slow_log insert_id int NULL NULL NULL NULL int(11)
NULL mysql slow_log server_id int NULL NULL NULL NULL int(10) unsigned
1.0000 mysql slow_log sql_text mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+NULL mysql slow_log thread_id bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL mysql slow_log rows_affected int NULL NULL NULL NULL int(11)
3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql tables_priv User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql tables_priv Grantor char 141 423 utf8 utf8_bin char(141)
NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql tables_priv Table_priv set 98 294 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger')
3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
+3.0000 mysql table_stats db_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql table_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
+NULL mysql table_stats cardinality bigint NULL NULL NULL NULL bigint(21) unsigned
NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned
3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N')
NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20)
@@ -477,7 +555,7 @@ NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11)
NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned
3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8)
3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql user User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql user User char 80 240 utf8 utf8_bin char(80)
1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41)
3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
@@ -518,3 +596,7 @@ NULL mysql user max_connections int NULL NULL NULL NULL int(11) unsigned
NULL mysql user max_user_connections int NULL NULL NULL NULL int(11)
1.0000 mysql user plugin char 64 64 latin1 latin1_swedish_ci char(64)
1.0000 mysql user authentication_string text 65535 65535 utf8 utf8_bin text
+3.0000 mysql user password_expired enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user is_role enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user default_role char 80 240 utf8 utf8_bin char(80)
+NULL mysql user max_statement_time decimal NULL NULL NULL NULL decimal(12,6)
diff --git a/mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result
index a498cbe0d0a..a69896c9b51 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result
@@ -8,7 +8,18 @@ def mysql columns_priv Db 2 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64
def mysql columns_priv Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI
def mysql columns_priv Table_name 4 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI
def mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP
-def mysql columns_priv User 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
+def mysql columns_priv User 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
+def mysql column_stats avg_frequency 8 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4)
+def mysql column_stats avg_length 7 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4)
+def mysql column_stats column_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI
+def mysql column_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI
+def mysql column_stats histogram 11 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255)
+def mysql column_stats hist_size 9 NULL YES tinyint NULL NULL 3 0 NULL NULL NULL tinyint(3) unsigned
+def mysql column_stats hist_type 10 NULL YES enum 14 42 NULL NULL NULL utf8 utf8_bin enum('SINGLE_PREC_HB','DOUBLE_PREC_HB')
+def mysql column_stats max_value 5 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255)
+def mysql column_stats min_value 4 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255)
+def mysql column_stats nulls_ratio 6 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4)
+def mysql column_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI
def mysql db Alter_priv 13 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql db Create_priv 8 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
@@ -30,7 +41,7 @@ def mysql db Select_priv 4 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enu
def mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql db Update_priv 6 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
-def mysql db User 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
+def mysql db User 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
def mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob
def mysql event body_utf8 22 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob
def mysql event character_set_client 19 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32)
@@ -39,7 +50,7 @@ def mysql event comment 16 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64)
def mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP
def mysql event db 1 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI
def mysql event db_collation 21 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32)
-def mysql event definer 4 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77)
+def mysql event definer 4 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141)
def mysql event ends 12 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime
def mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime
def mysql event interval_field 7 NULL YES enum 18 54 NULL NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND')
@@ -59,10 +70,14 @@ def mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1)
def mysql func type 4 NULL NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('function','aggregate')
def mysql general_log argument 6 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext
def mysql general_log command_type 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
-def mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) on update CURRENT_TIMESTAMP
+def mysql general_log event_time 1 CURRENT_TIMESTAMP(6) NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) on update CURRENT_TIMESTAMP
def mysql general_log server_id 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned
-def mysql general_log thread_id 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11)
+def mysql general_log thread_id 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
def mysql general_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext
+def mysql gtid_slave_pos domain_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI
+def mysql gtid_slave_pos seq_no 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned
+def mysql gtid_slave_pos server_id 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned
+def mysql gtid_slave_pos sub_id 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned PRI
def mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) unsigned PRI
def mysql help_category name 2 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) UNI
def mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL NULL smallint(5) unsigned
@@ -97,13 +112,11 @@ def mysql host Select_priv 3 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci e
def mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql host Update_priv 5 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
-def mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned
-def mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned PRI
-def mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL NULL latin1 latin1_swedish_ci varchar(255)
-def mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned
-def mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned
-def mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned
-def mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned
+def mysql index_stats avg_frequency 5 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4)
+def mysql index_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI
+def mysql index_stats index_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI
+def mysql index_stats prefix_arity 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned PRI
+def mysql index_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI
def mysql plugin dl 2 NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128)
def mysql plugin name 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) PRI
def mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob
@@ -114,7 +127,7 @@ def mysql proc comment 16 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_bin
def mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP
def mysql proc db 1 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI
def mysql proc db_collation 19 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32)
-def mysql proc definer 12 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77)
+def mysql proc definer 12 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141)
def mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO')
def mysql proc language 5 SQL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('SQL')
def mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp
@@ -127,20 +140,24 @@ def mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL NULL utf8
def mysql proc sql_mode 15 NO set 494 1482 NULL NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH')
def mysql proc type 3 NULL NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI
def mysql procs_priv Db 2 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI
-def mysql procs_priv Grantor 6 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77) MUL
+def mysql procs_priv Grantor 6 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL
def mysql procs_priv Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI
def mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant')
def mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI
def mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI
def mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP
-def mysql procs_priv User 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
-def mysql proxies_priv Grantor 6 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77) MUL
+def mysql procs_priv User 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
+def mysql proxies_priv Grantor 6 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL
def mysql proxies_priv Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI
def mysql proxies_priv Proxied_host 3 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI
-def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
+def mysql proxies_priv Proxied_user 4 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP
-def mysql proxies_priv User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
+def mysql proxies_priv User 2 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1)
+def mysql roles_mapping Admin_option 4 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
+def mysql roles_mapping Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI
+def mysql roles_mapping Role 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
+def mysql roles_mapping User 2 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
def mysql servers Db 3 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64)
def mysql servers Host 2 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64)
def mysql servers Owner 9 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64)
@@ -148,27 +165,32 @@ def mysql servers Password 5 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci
def mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL NULL int(4)
def mysql servers Server_name 1 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI
def mysql servers Socket 7 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64)
-def mysql servers Username 4 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64)
+def mysql servers Username 4 NO char 80 240 NULL NULL NULL utf8 utf8_general_ci char(80)
def mysql servers Wrapper 8 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64)
def mysql slow_log db 7 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512)
def mysql slow_log insert_id 9 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11)
def mysql slow_log last_insert_id 8 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11)
def mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL 6 NULL NULL time(6)
def mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL 6 NULL NULL time(6)
+def mysql slow_log rows_affected 13 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11)
def mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11)
def mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11)
def mysql slow_log server_id 10 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned
def mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext
-def mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) on update CURRENT_TIMESTAMP
+def mysql slow_log start_time 1 CURRENT_TIMESTAMP(6) NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) on update CURRENT_TIMESTAMP
+def mysql slow_log thread_id 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
def mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext
def mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References')
def mysql tables_priv Db 2 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI
-def mysql tables_priv Grantor 5 NO char 77 231 NULL NULL NULL utf8 utf8_bin char(77) MUL
+def mysql tables_priv Grantor 5 NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL
def mysql tables_priv Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI
def mysql tables_priv Table_name 4 NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI
def mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger')
def mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP
-def mysql tables_priv User 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
+def mysql tables_priv User 3 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
+def mysql table_stats cardinality 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned
+def mysql table_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI
+def mysql table_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI
def mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI auto_increment
def mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('Y','N')
def mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11)
@@ -192,6 +214,7 @@ def mysql user Create_tablespace_priv 32 N NO enum 1 3 NULL NULL NULL utf8 utf8_
def mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
+def mysql user default_role 45 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80)
def mysql user Delete_priv 7 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Drop_priv 9 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Event_priv 30 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
@@ -201,12 +224,15 @@ def mysql user Grant_priv 14 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci e
def mysql user Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI
def mysql user Index_priv 16 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Insert_priv 5 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
+def mysql user is_role 44 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user max_connections 39 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned
def mysql user max_questions 37 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned
+def mysql user max_statement_time 46 0.000000 NO decimal NULL NULL 12 6 NULL NULL NULL decimal(12,6)
def mysql user max_updates 38 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned
def mysql user max_user_connections 40 0 NO int NULL NULL 10 0 NULL NULL NULL int(11)
def mysql user Password 3 NO char 41 41 NULL NULL NULL latin1 latin1_bin char(41)
+def mysql user password_expired 43 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user plugin 41 NO char 64 64 NULL NULL NULL latin1 latin1_swedish_ci char(64)
def mysql user Process_priv 12 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user References_priv 15 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
@@ -222,9 +248,12 @@ def mysql user ssl_type 33 NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enu
def mysql user Super_priv 19 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Update_priv 6 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
-def mysql user User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
+def mysql user User 2 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
def mysql user x509_issuer 35 NULL NO blob 65535 65535 NULL NULL NULL NULL NULL blob
def mysql user x509_subject 36 NULL NO blob 65535 65535 NULL NULL NULL NULL NULL blob
+Warnings:
+Warning 1286 Unknown storage engine 'InnoDB'
+Warning 1286 Unknown storage engine 'InnoDB'
##########################################################################
# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
##########################################################################
@@ -240,12 +269,15 @@ ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
1.0000 blob NULL NULL
1.0000 longblob NULL NULL
+1.0000 varbinary NULL NULL
1.0000 char latin1 latin1_bin
1.0000 char latin1 latin1_swedish_ci
-1.0000 varchar latin1 latin1_swedish_ci
1.0000 text utf8 utf8_bin
1.0000 mediumtext utf8 utf8_general_ci
1.0000 text utf8 utf8_general_ci
+Warnings:
+Warning 1286 Unknown storage engine 'InnoDB'
+Warning 1286 Unknown storage engine 'InnoDB'
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
DATA_TYPE,
@@ -258,10 +290,14 @@ ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
3.0000 char utf8 utf8_bin
3.0000 enum utf8 utf8_bin
+3.0000 varchar utf8 utf8_bin
3.0000 char utf8 utf8_general_ci
3.0000 enum utf8 utf8_general_ci
3.0000 set utf8 utf8_general_ci
3.0000 varchar utf8 utf8_general_ci
+Warnings:
+Warning 1286 Unknown storage engine 'InnoDB'
+Warning 1286 Unknown storage engine 'InnoDB'
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
DATA_TYPE,
@@ -274,11 +310,15 @@ ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
NULL bigint NULL NULL
NULL datetime NULL NULL
+NULL decimal NULL NULL
NULL int NULL NULL
NULL smallint NULL NULL
NULL time NULL NULL
NULL timestamp NULL NULL
NULL tinyint NULL NULL
+Warnings:
+Warning 1286 Unknown storage engine 'InnoDB'
+Warning 1286 Unknown storage engine 'InnoDB'
--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values
--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL
SELECT CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
@@ -297,14 +337,25 @@ ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE
3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql columns_priv User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64)
3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64)
NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
+3.0000 mysql column_stats db_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql column_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql column_stats column_name varchar 64 192 utf8 utf8_bin varchar(64)
+1.0000 mysql column_stats min_value varbinary 255 255 NULL NULL varbinary(255)
+1.0000 mysql column_stats max_value varbinary 255 255 NULL NULL varbinary(255)
+NULL mysql column_stats nulls_ratio decimal NULL NULL NULL NULL decimal(12,4)
+NULL mysql column_stats avg_length decimal NULL NULL NULL NULL decimal(12,4)
+NULL mysql column_stats avg_frequency decimal NULL NULL NULL NULL decimal(12,4)
+NULL mysql column_stats hist_size tinyint NULL NULL NULL NULL tinyint(3) unsigned
+3.0000 mysql column_stats hist_type enum 14 42 utf8 utf8_bin enum('SINGLE_PREC_HB','DOUBLE_PREC_HB')
+1.0000 mysql column_stats histogram varbinary 255 255 NULL NULL varbinary(255)
3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql db User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql db User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
@@ -327,7 +378,7 @@ NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql event db char 64 192 utf8 utf8_bin char(64)
3.0000 mysql event name char 64 192 utf8 utf8_general_ci char(64)
1.0000 mysql event body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql event definer char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql event definer char 141 423 utf8 utf8_bin char(141)
NULL mysql event execute_at datetime NULL NULL NULL NULL datetime
NULL mysql event interval_value int NULL NULL NULL NULL int(11)
3.0000 mysql event interval_field enum 18 54 utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND')
@@ -352,10 +403,14 @@ NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate')
NULL mysql general_log event_time timestamp NULL NULL NULL NULL timestamp(6)
1.0000 mysql general_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql general_log thread_id int NULL NULL NULL NULL int(11)
+NULL mysql general_log thread_id bigint NULL NULL NULL NULL bigint(21) unsigned
NULL mysql general_log server_id int NULL NULL NULL NULL int(10) unsigned
3.0000 mysql general_log command_type varchar 64 192 utf8 utf8_general_ci varchar(64)
1.0000 mysql general_log argument mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+NULL mysql gtid_slave_pos domain_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql gtid_slave_pos sub_id bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL mysql gtid_slave_pos server_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql gtid_slave_pos seq_no bigint NULL NULL NULL NULL bigint(20) unsigned
NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64)
NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
@@ -390,13 +445,11 @@ NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5)
3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql host Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-NULL mysql ndb_binlog_index Position bigint NULL NULL NULL NULL bigint(20) unsigned
-1.0000 mysql ndb_binlog_index File varchar 255 255 latin1 latin1_swedish_ci varchar(255)
-NULL mysql ndb_binlog_index epoch bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index inserts bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index updates bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index deletes bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index schemaops bigint NULL NULL NULL NULL bigint(20) unsigned
+3.0000 mysql index_stats db_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql index_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql index_stats index_name varchar 64 192 utf8 utf8_bin varchar(64)
+NULL mysql index_stats prefix_arity int NULL NULL NULL NULL int(11) unsigned
+NULL mysql index_stats avg_frequency decimal NULL NULL NULL NULL decimal(12,4)
3.0000 mysql plugin name varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 mysql plugin dl varchar 128 384 utf8 utf8_general_ci varchar(128)
3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64)
@@ -410,7 +463,7 @@ NULL mysql ndb_binlog_index schemaops bigint NULL NULL NULL NULL bigint(20) unsi
1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob
1.0000 mysql proc returns longblob 4294967295 4294967295 NULL NULL longblob
1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql proc definer char 141 423 utf8 utf8_bin char(141)
NULL mysql proc created timestamp NULL NULL NULL NULL timestamp
NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
3.0000 mysql proc sql_mode set 494 1482 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH')
@@ -421,23 +474,27 @@ NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
1.0000 mysql proc body_utf8 longblob 4294967295 4294967295 NULL NULL longblob
3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql procs_priv User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE')
-3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql procs_priv Grantor char 141 423 utf8 utf8_bin char(141)
3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant')
NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql proxies_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql proxies_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql proxies_priv User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql proxies_priv Proxied_host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql proxies_priv Proxied_user char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql proxies_priv Proxied_user char 80 240 utf8 utf8_bin char(80)
NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql proxies_priv Grantor char 141 423 utf8 utf8_bin char(141)
NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp
+3.0000 mysql roles_mapping Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql roles_mapping User char 80 240 utf8 utf8_bin char(80)
+3.0000 mysql roles_mapping Role char 80 240 utf8 utf8_bin char(80)
+3.0000 mysql roles_mapping Admin_option enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Username char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql servers Username char 80 240 utf8 utf8_general_ci char(80)
3.0000 mysql servers Password char 64 192 utf8 utf8_general_ci char(64)
NULL mysql servers Port int NULL NULL NULL NULL int(4)
3.0000 mysql servers Socket char 64 192 utf8 utf8_general_ci char(64)
@@ -454,14 +511,19 @@ NULL mysql slow_log last_insert_id int NULL NULL NULL NULL int(11)
NULL mysql slow_log insert_id int NULL NULL NULL NULL int(11)
NULL mysql slow_log server_id int NULL NULL NULL NULL int(10) unsigned
1.0000 mysql slow_log sql_text mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+NULL mysql slow_log thread_id bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL mysql slow_log rows_affected int NULL NULL NULL NULL int(11)
3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql tables_priv User char 80 240 utf8 utf8_bin char(80)
3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77)
+3.0000 mysql tables_priv Grantor char 141 423 utf8 utf8_bin char(141)
NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql tables_priv Table_priv set 98 294 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger')
3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
+3.0000 mysql table_stats db_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql table_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
+NULL mysql table_stats cardinality bigint NULL NULL NULL NULL bigint(21) unsigned
NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned
3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N')
NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20)
@@ -477,7 +539,7 @@ NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11)
NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned
3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8)
3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql user User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql user User char 80 240 utf8 utf8_bin char(80)
1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41)
3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
@@ -518,3 +580,10 @@ NULL mysql user max_connections int NULL NULL NULL NULL int(11) unsigned
NULL mysql user max_user_connections int NULL NULL NULL NULL int(11)
1.0000 mysql user plugin char 64 64 latin1 latin1_swedish_ci char(64)
1.0000 mysql user authentication_string text 65535 65535 utf8 utf8_bin text
+3.0000 mysql user password_expired enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user is_role enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user default_role char 80 240 utf8 utf8_bin char(80)
+NULL mysql user max_statement_time decimal NULL NULL NULL NULL decimal(12,6)
+Warnings:
+Warning 1286 Unknown storage engine 'InnoDB'
+Warning 1286 Unknown storage engine 'InnoDB'
diff --git a/mysql-test/suite/funcs_1/r/is_engines_innodb,innodb_plugin.rdiff b/mysql-test/suite/funcs_1/r/is_engines_innodb,innodb_plugin.rdiff
deleted file mode 100644
index 6dcdfb85e3c..00000000000
--- a/mysql-test/suite/funcs_1/r/is_engines_innodb,innodb_plugin.rdiff
+++ /dev/null
@@ -1,11 +0,0 @@
---- suite/funcs_1/r/is_engines_innodb.result 2011-10-21 23:35:26.000000000 +0200
-+++ suite/funcs_1/r/is_engines_innodb.reject 2012-02-07 12:44:19.000000000 +0100
-@@ -2,7 +2,7 @@
- WHERE ENGINE = 'InnoDB';
- ENGINE InnoDB
- SUPPORT YES
--COMMENT Percona-XtraDB, Supports transactions, row-level locking, and foreign keys
-+COMMENT Supports transactions, row-level locking, and foreign keys
- TRANSACTIONS YES
- XA YES
- SAVEPOINTS YES
diff --git a/mysql-test/suite/funcs_1/r/is_engines_innodb.result b/mysql-test/suite/funcs_1/r/is_engines_innodb.result
index 6de31d3ad31..b8c6399fe94 100644
--- a/mysql-test/suite/funcs_1/r/is_engines_innodb.result
+++ b/mysql-test/suite/funcs_1/r/is_engines_innodb.result
@@ -2,7 +2,7 @@ SELECT * FROM information_schema.engines
WHERE ENGINE = 'InnoDB';
ENGINE InnoDB
SUPPORT YES
-COMMENT Percona-XtraDB, Supports transactions, row-level locking, and foreign keys
+COMMENT Supports transactions, row-level locking, foreign keys and encryption for tables
TRANSACTIONS YES
XA YES
SAVEPOINTS YES
diff --git a/mysql-test/suite/funcs_1/r/is_engines_merge.result b/mysql-test/suite/funcs_1/r/is_engines_merge.result
index 3bc7a498581..b72c98bfd7e 100644
--- a/mysql-test/suite/funcs_1/r/is_engines_merge.result
+++ b/mysql-test/suite/funcs_1/r/is_engines_merge.result
@@ -1,6 +1,6 @@
SELECT * FROM information_schema.engines
WHERE ENGINE = 'MRG_MYISAM';
-ENGINE MRG_MYISAM
+ENGINE MRG_MyISAM
SUPPORT YES
COMMENT Collection of identical MyISAM tables
TRANSACTIONS NO
diff --git a/mysql-test/suite/funcs_1/r/is_key_column_usage.result b/mysql-test/suite/funcs_1/r/is_key_column_usage.result
index afd1fe15fed..e27b4d06d25 100644
--- a/mysql-test/suite/funcs_1/r/is_key_column_usage.result
+++ b/mysql-test/suite/funcs_1/r/is_key_column_usage.result
@@ -75,6 +75,9 @@ table_schema, table_name, column_name
FROM information_schema.key_column_usage
WHERE constraint_catalog IS NOT NULL OR table_catalog IS NOT NULL;
constraint_catalog constraint_schema constraint_name table_catalog table_schema table_name column_name
+def mysql PRIMARY def mysql column_stats db_name
+def mysql PRIMARY def mysql column_stats table_name
+def mysql PRIMARY def mysql column_stats column_name
def mysql PRIMARY def mysql columns_priv Host
def mysql PRIMARY def mysql columns_priv Db
def mysql PRIMARY def mysql columns_priv User
@@ -86,6 +89,8 @@ def mysql PRIMARY def mysql db User
def mysql PRIMARY def mysql event db
def mysql PRIMARY def mysql event name
def mysql PRIMARY def mysql func name
+def mysql PRIMARY def mysql gtid_slave_pos domain_id
+def mysql PRIMARY def mysql gtid_slave_pos sub_id
def mysql PRIMARY def mysql help_category help_category_id
def mysql name def mysql help_category name
def mysql PRIMARY def mysql help_keyword help_keyword_id
@@ -96,7 +101,16 @@ def mysql PRIMARY def mysql help_topic help_topic_id
def mysql name def mysql help_topic name
def mysql PRIMARY def mysql host Host
def mysql PRIMARY def mysql host Db
-def mysql PRIMARY def mysql ndb_binlog_index epoch
+def mysql PRIMARY def mysql index_stats db_name
+def mysql PRIMARY def mysql index_stats table_name
+def mysql PRIMARY def mysql index_stats index_name
+def mysql PRIMARY def mysql index_stats prefix_arity
+def mysql PRIMARY def mysql innodb_index_stats database_name
+def mysql PRIMARY def mysql innodb_index_stats table_name
+def mysql PRIMARY def mysql innodb_index_stats index_name
+def mysql PRIMARY def mysql innodb_index_stats stat_name
+def mysql PRIMARY def mysql innodb_table_stats database_name
+def mysql PRIMARY def mysql innodb_table_stats table_name
def mysql PRIMARY def mysql plugin name
def mysql PRIMARY def mysql proc db
def mysql PRIMARY def mysql proc name
@@ -110,7 +124,12 @@ def mysql PRIMARY def mysql proxies_priv Host
def mysql PRIMARY def mysql proxies_priv User
def mysql PRIMARY def mysql proxies_priv Proxied_host
def mysql PRIMARY def mysql proxies_priv Proxied_user
+def mysql Host def mysql roles_mapping Host
+def mysql Host def mysql roles_mapping User
+def mysql Host def mysql roles_mapping Role
def mysql PRIMARY def mysql servers Server_name
+def mysql PRIMARY def mysql table_stats db_name
+def mysql PRIMARY def mysql table_stats table_name
def mysql PRIMARY def mysql tables_priv Host
def mysql PRIMARY def mysql tables_priv Db
def mysql PRIMARY def mysql tables_priv User
diff --git a/mysql-test/suite/funcs_1/r/is_routines.result b/mysql-test/suite/funcs_1/r/is_routines.result
index a062e2d7b8f..525b5c92a68 100644
--- a/mysql-test/suite/funcs_1/r/is_routines.result
+++ b/mysql-test/suite/funcs_1/r/is_routines.result
@@ -1,3 +1,4 @@
+set sql_mode="";
SHOW TABLES FROM information_schema LIKE 'ROUTINES';
Tables_in_information_schema (ROUTINES)
ROUTINES
diff --git a/mysql-test/suite/funcs_1/r/is_schema_privileges.result b/mysql-test/suite/funcs_1/r/is_schema_privileges.result
index 40e9b8d8bd7..9d4b2a537d6 100644
--- a/mysql-test/suite/funcs_1/r/is_schema_privileges.result
+++ b/mysql-test/suite/funcs_1/r/is_schema_privileges.result
@@ -28,7 +28,7 @@ DROP FUNCTION test.f1;
#########################################################################
DESCRIBE information_schema.SCHEMA_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
+GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO
PRIVILEGE_TYPE varchar(64) NO
@@ -36,7 +36,7 @@ IS_GRANTABLE varchar(3) NO
SHOW CREATE TABLE information_schema.SCHEMA_PRIVILEGES;
Table Create Table
SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
+ `GRANTEE` varchar(190) NOT NULL DEFAULT '',
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
@@ -44,7 +44,7 @@ SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.SCHEMA_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
+GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO
PRIVILEGE_TYPE varchar(64) NO
diff --git a/mysql-test/suite/funcs_1/r/is_statistics.result b/mysql-test/suite/funcs_1/r/is_statistics.result
index 8543b207728..7161b80792b 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics.result
@@ -85,6 +85,9 @@ INDEX_COMMENT varchar(1024) NO
SELECT table_catalog, table_schema, table_name, index_schema, index_name
FROM information_schema.statistics WHERE table_catalog IS NOT NULL;
table_catalog table_schema table_name index_schema index_name
+def mysql column_stats mysql PRIMARY
+def mysql column_stats mysql PRIMARY
+def mysql column_stats mysql PRIMARY
def mysql columns_priv mysql PRIMARY
def mysql columns_priv mysql PRIMARY
def mysql columns_priv mysql PRIMARY
@@ -97,6 +100,8 @@ def mysql db mysql User
def mysql event mysql PRIMARY
def mysql event mysql PRIMARY
def mysql func mysql PRIMARY
+def mysql gtid_slave_pos mysql PRIMARY
+def mysql gtid_slave_pos mysql PRIMARY
def mysql help_category mysql PRIMARY
def mysql help_category mysql name
def mysql help_keyword mysql PRIMARY
@@ -107,7 +112,10 @@ def mysql help_topic mysql PRIMARY
def mysql help_topic mysql name
def mysql host mysql PRIMARY
def mysql host mysql PRIMARY
-def mysql ndb_binlog_index mysql PRIMARY
+def mysql index_stats mysql PRIMARY
+def mysql index_stats mysql PRIMARY
+def mysql index_stats mysql PRIMARY
+def mysql index_stats mysql PRIMARY
def mysql plugin mysql PRIMARY
def mysql proc mysql PRIMARY
def mysql proc mysql PRIMARY
@@ -123,7 +131,12 @@ def mysql proxies_priv mysql PRIMARY
def mysql proxies_priv mysql PRIMARY
def mysql proxies_priv mysql PRIMARY
def mysql proxies_priv mysql Grantor
+def mysql roles_mapping mysql Host
+def mysql roles_mapping mysql Host
+def mysql roles_mapping mysql Host
def mysql servers mysql PRIMARY
+def mysql table_stats mysql PRIMARY
+def mysql table_stats mysql PRIMARY
def mysql tables_priv mysql PRIMARY
def mysql tables_priv mysql PRIMARY
def mysql tables_priv mysql PRIMARY
@@ -138,6 +151,9 @@ def mysql time_zone_transition_type mysql PRIMARY
def mysql time_zone_transition_type mysql PRIMARY
def mysql user mysql PRIMARY
def mysql user mysql PRIMARY
+Warnings:
+Warning 1286 Unknown storage engine 'InnoDB'
+Warning 1286 Unknown storage engine 'InnoDB'
####################################################################################
# Testcase 3.2.14.2 + 3.2.14.3: INFORMATION_SCHEMA.STATISTICS accessible information
####################################################################################
diff --git a/mysql-test/suite/funcs_1/r/is_statistics_mysql.result b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
index 4c7d58f96f1..c9e21a12663 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
@@ -12,6 +12,9 @@ def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
+def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
+def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
+def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE
def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
@@ -19,6 +22,8 @@ def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
+def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE
+def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE
def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
@@ -29,7 +34,16 @@ def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
def mysql host 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql host 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE
+def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
+def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
@@ -45,12 +59,17 @@ def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
+def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE
+def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE
+def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE
def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
+def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
+def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
diff --git a/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result b/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result
index 9137d70b88c..dbe786d39ef 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result
@@ -12,6 +12,9 @@ def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
+def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
+def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
+def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE
def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
@@ -19,6 +22,8 @@ def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
+def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE
+def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE
def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
@@ -29,7 +34,16 @@ def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
def mysql host 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql host 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE
+def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
+def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
@@ -45,12 +59,17 @@ def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
+def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE
+def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE
+def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE
def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
+def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
+def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
@@ -70,6 +89,9 @@ def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
+def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
+def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
+def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE
def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
@@ -77,6 +99,8 @@ def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
+def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE
+def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE
def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
@@ -87,7 +111,16 @@ def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
def mysql host 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql host 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
+def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
+def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE
+def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
+def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
@@ -103,12 +136,17 @@ def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
+def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE
+def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE
+def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE
def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
+def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
+def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints.result b/mysql-test/suite/funcs_1/r/is_table_constraints.result
index 559a1f1f9f5..ea2dd5ccd98 100644
--- a/mysql-test/suite/funcs_1/r/is_table_constraints.result
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints.result
@@ -57,10 +57,12 @@ table_schema, table_name
FROM information_schema.table_constraints
WHERE constraint_catalog IS NOT NULL;
constraint_catalog constraint_schema constraint_name table_schema table_name
+def mysql PRIMARY mysql column_stats
def mysql PRIMARY mysql columns_priv
def mysql PRIMARY mysql db
def mysql PRIMARY mysql event
def mysql PRIMARY mysql func
+def mysql PRIMARY mysql gtid_slave_pos
def mysql PRIMARY mysql help_category
def mysql name mysql help_category
def mysql PRIMARY mysql help_keyword
@@ -69,12 +71,16 @@ def mysql PRIMARY mysql help_relation
def mysql PRIMARY mysql help_topic
def mysql name mysql help_topic
def mysql PRIMARY mysql host
-def mysql PRIMARY mysql ndb_binlog_index
+def mysql PRIMARY mysql index_stats
+def mysql PRIMARY mysql innodb_index_stats
+def mysql PRIMARY mysql innodb_table_stats
def mysql PRIMARY mysql plugin
def mysql PRIMARY mysql proc
def mysql PRIMARY mysql procs_priv
def mysql PRIMARY mysql proxies_priv
+def mysql Host mysql roles_mapping
def mysql PRIMARY mysql servers
+def mysql PRIMARY mysql table_stats
def mysql PRIMARY mysql tables_priv
def mysql PRIMARY mysql time_zone
def mysql PRIMARY mysql time_zone_leap_second
diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result
index bca333b6387..05df41570cf 100644
--- a/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result
@@ -8,9 +8,11 @@ WHERE table_schema = 'mysql'
ORDER BY table_schema,table_name,constraint_name;
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
def mysql PRIMARY mysql columns_priv PRIMARY KEY
+def mysql PRIMARY mysql column_stats PRIMARY KEY
def mysql PRIMARY mysql db PRIMARY KEY
def mysql PRIMARY mysql event PRIMARY KEY
def mysql PRIMARY mysql func PRIMARY KEY
+def mysql PRIMARY mysql gtid_slave_pos PRIMARY KEY
def mysql name mysql help_category UNIQUE
def mysql PRIMARY mysql help_category PRIMARY KEY
def mysql name mysql help_keyword UNIQUE
@@ -19,13 +21,17 @@ def mysql PRIMARY mysql help_relation PRIMARY KEY
def mysql name mysql help_topic UNIQUE
def mysql PRIMARY mysql help_topic PRIMARY KEY
def mysql PRIMARY mysql host PRIMARY KEY
-def mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
+def mysql PRIMARY mysql index_stats PRIMARY KEY
+def mysql PRIMARY mysql innodb_index_stats PRIMARY KEY
+def mysql PRIMARY mysql innodb_table_stats PRIMARY KEY
def mysql PRIMARY mysql plugin PRIMARY KEY
def mysql PRIMARY mysql proc PRIMARY KEY
def mysql PRIMARY mysql procs_priv PRIMARY KEY
def mysql PRIMARY mysql proxies_priv PRIMARY KEY
+def mysql Host mysql roles_mapping UNIQUE
def mysql PRIMARY mysql servers PRIMARY KEY
def mysql PRIMARY mysql tables_priv PRIMARY KEY
+def mysql PRIMARY mysql table_stats PRIMARY KEY
def mysql PRIMARY mysql time_zone PRIMARY KEY
def mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY
def mysql PRIMARY mysql time_zone_name PRIMARY KEY
diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result
index 307357cdd2b..fd13d67f07c 100644
--- a/mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result
@@ -8,9 +8,11 @@ WHERE table_schema = 'mysql'
ORDER BY table_schema,table_name,constraint_name;
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
def mysql PRIMARY mysql columns_priv PRIMARY KEY
+def mysql PRIMARY mysql column_stats PRIMARY KEY
def mysql PRIMARY mysql db PRIMARY KEY
def mysql PRIMARY mysql event PRIMARY KEY
def mysql PRIMARY mysql func PRIMARY KEY
+def mysql PRIMARY mysql gtid_slave_pos PRIMARY KEY
def mysql name mysql help_category UNIQUE
def mysql PRIMARY mysql help_category PRIMARY KEY
def mysql name mysql help_keyword UNIQUE
@@ -19,13 +21,17 @@ def mysql PRIMARY mysql help_relation PRIMARY KEY
def mysql name mysql help_topic UNIQUE
def mysql PRIMARY mysql help_topic PRIMARY KEY
def mysql PRIMARY mysql host PRIMARY KEY
-def mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
+def mysql PRIMARY mysql index_stats PRIMARY KEY
+def mysql PRIMARY mysql innodb_index_stats PRIMARY KEY
+def mysql PRIMARY mysql innodb_table_stats PRIMARY KEY
def mysql PRIMARY mysql plugin PRIMARY KEY
def mysql PRIMARY mysql proc PRIMARY KEY
def mysql PRIMARY mysql procs_priv PRIMARY KEY
def mysql PRIMARY mysql proxies_priv PRIMARY KEY
+def mysql Host mysql roles_mapping UNIQUE
def mysql PRIMARY mysql servers PRIMARY KEY
def mysql PRIMARY mysql tables_priv PRIMARY KEY
+def mysql PRIMARY mysql table_stats PRIMARY KEY
def mysql PRIMARY mysql time_zone PRIMARY KEY
def mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY
def mysql PRIMARY mysql time_zone_name PRIMARY KEY
@@ -38,9 +44,11 @@ WHERE table_schema = 'mysql'
ORDER BY table_schema,table_name,constraint_name;
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
def mysql PRIMARY mysql columns_priv PRIMARY KEY
+def mysql PRIMARY mysql column_stats PRIMARY KEY
def mysql PRIMARY mysql db PRIMARY KEY
def mysql PRIMARY mysql event PRIMARY KEY
def mysql PRIMARY mysql func PRIMARY KEY
+def mysql PRIMARY mysql gtid_slave_pos PRIMARY KEY
def mysql name mysql help_category UNIQUE
def mysql PRIMARY mysql help_category PRIMARY KEY
def mysql name mysql help_keyword UNIQUE
@@ -49,13 +57,17 @@ def mysql PRIMARY mysql help_relation PRIMARY KEY
def mysql name mysql help_topic UNIQUE
def mysql PRIMARY mysql help_topic PRIMARY KEY
def mysql PRIMARY mysql host PRIMARY KEY
-def mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
+def mysql PRIMARY mysql index_stats PRIMARY KEY
+def mysql PRIMARY mysql innodb_index_stats PRIMARY KEY
+def mysql PRIMARY mysql innodb_table_stats PRIMARY KEY
def mysql PRIMARY mysql plugin PRIMARY KEY
def mysql PRIMARY mysql proc PRIMARY KEY
def mysql PRIMARY mysql procs_priv PRIMARY KEY
def mysql PRIMARY mysql proxies_priv PRIMARY KEY
+def mysql Host mysql roles_mapping UNIQUE
def mysql PRIMARY mysql servers PRIMARY KEY
def mysql PRIMARY mysql tables_priv PRIMARY KEY
+def mysql PRIMARY mysql table_stats PRIMARY KEY
def mysql PRIMARY mysql time_zone PRIMARY KEY
def mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY
def mysql PRIMARY mysql time_zone_name PRIMARY KEY
diff --git a/mysql-test/suite/funcs_1/r/is_table_privileges.result b/mysql-test/suite/funcs_1/r/is_table_privileges.result
index 8f51d99b6db..f7e443bbd35 100644
--- a/mysql-test/suite/funcs_1/r/is_table_privileges.result
+++ b/mysql-test/suite/funcs_1/r/is_table_privileges.result
@@ -28,7 +28,7 @@ DROP FUNCTION test.f1;
#########################################################################
DESCRIBE information_schema.TABLE_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
+GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO
@@ -37,7 +37,7 @@ IS_GRANTABLE varchar(3) NO
SHOW CREATE TABLE information_schema.TABLE_PRIVILEGES;
Table Create Table
TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
+ `GRANTEE` varchar(190) NOT NULL DEFAULT '',
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
@@ -46,7 +46,7 @@ TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.TABLE_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
+GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO
diff --git a/mysql-test/suite/funcs_1/r/is_tables.result b/mysql-test/suite/funcs_1/r/is_tables.result
index 1b4ad503b29..53fb95680e9 100644
--- a/mysql-test/suite/funcs_1/r/is_tables.result
+++ b/mysql-test/suite/funcs_1/r/is_tables.result
@@ -47,7 +47,7 @@ UPDATE_TIME datetime YES NULL
CHECK_TIME datetime YES NULL
TABLE_COLLATION varchar(32) YES NULL
CHECKSUM bigint(21) unsigned YES NULL
-CREATE_OPTIONS varchar(255) YES NULL
+CREATE_OPTIONS varchar(2048) YES NULL
TABLE_COMMENT varchar(2048) NO
SHOW CREATE TABLE information_schema.TABLES;
Table Create Table
@@ -71,7 +71,7 @@ TABLES CREATE TEMPORARY TABLE `TABLES` (
`CHECK_TIME` datetime DEFAULT NULL,
`TABLE_COLLATION` varchar(32) DEFAULT NULL,
`CHECKSUM` bigint(21) unsigned DEFAULT NULL,
- `CREATE_OPTIONS` varchar(255) DEFAULT NULL,
+ `CREATE_OPTIONS` varchar(2048) DEFAULT NULL,
`TABLE_COMMENT` varchar(2048) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.TABLES;
@@ -95,7 +95,7 @@ UPDATE_TIME datetime YES NULL
CHECK_TIME datetime YES NULL
TABLE_COLLATION varchar(32) YES NULL
CHECKSUM bigint(21) unsigned YES NULL
-CREATE_OPTIONS varchar(255) YES NULL
+CREATE_OPTIONS varchar(2048) YES NULL
TABLE_COMMENT varchar(2048) NO
SELECT table_catalog, table_schema, table_name
FROM information_schema.tables WHERE table_catalog IS NULL OR table_catalog <> 'def';
diff --git a/mysql-test/suite/funcs_1/r/is_tables_innodb.result b/mysql-test/suite/funcs_1/r/is_tables_innodb.result
index bc984b1b6fe..204ee893fd8 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_innodb.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_innodb.result
@@ -7,11 +7,9 @@ CREATE TABLE test1.t2 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
CREATE TABLE test2.t1 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -99,11 +97,9 @@ GRANT SELECT ON test1.* TO testuser1@localhost;
# Establish connection testuser1 (user=testuser1)
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
diff --git a/mysql-test/suite/funcs_1/r/is_tables_is.result b/mysql-test/suite/funcs_1/r/is_tables_is.result
index 6862260eaf5..daa3ce83ba2 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_is.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_is.result
@@ -2,11 +2,9 @@ DROP DATABASE IF EXISTS test1;
CREATE DATABASE test1;
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -16,6 +14,52 @@ AND table_name not like 'xtradb_%'
ORDER BY table_schema,table_name;
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME ALL_PLUGINS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
+TABLE_NAME APPLICABLE_ROLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME CHARACTER_SETS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -154,6 +198,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME ENABLED_ROLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME ENGINES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -223,6 +290,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME GEOMETRY_COLUMNS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME GLOBAL_STATUS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -568,6 +658,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME SPATIAL_REF_SYS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME STATISTICS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -591,6 +704,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME SYSTEM_VARIABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME TABLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -802,11 +938,9 @@ GRANT SELECT ON test1.* TO testuser1@localhost;
# Establish connection testuser1 (user=testuser1)
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -816,6 +950,52 @@ AND table_name not like 'xtradb_%'
ORDER BY table_schema,table_name;
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME ALL_PLUGINS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
+TABLE_NAME APPLICABLE_ROLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME CHARACTER_SETS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -954,6 +1134,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME ENABLED_ROLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME ENGINES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -1023,6 +1226,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME GEOMETRY_COLUMNS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME GLOBAL_STATUS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -1368,6 +1594,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME SPATIAL_REF_SYS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME STATISTICS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -1391,6 +1640,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME SYSTEM_VARIABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME TABLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
diff --git a/mysql-test/suite/funcs_1/r/is_tables_is_embedded.result b/mysql-test/suite/funcs_1/r/is_tables_is_embedded.result
index 6862260eaf5..daa3ce83ba2 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_is_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_is_embedded.result
@@ -2,11 +2,9 @@ DROP DATABASE IF EXISTS test1;
CREATE DATABASE test1;
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -16,6 +14,52 @@ AND table_name not like 'xtradb_%'
ORDER BY table_schema,table_name;
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME ALL_PLUGINS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
+TABLE_NAME APPLICABLE_ROLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME CHARACTER_SETS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -154,6 +198,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME ENABLED_ROLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME ENGINES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -223,6 +290,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME GEOMETRY_COLUMNS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME GLOBAL_STATUS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -568,6 +658,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME SPATIAL_REF_SYS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME STATISTICS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -591,6 +704,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME SYSTEM_VARIABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME TABLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -802,11 +938,9 @@ GRANT SELECT ON test1.* TO testuser1@localhost;
# Establish connection testuser1 (user=testuser1)
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -816,6 +950,52 @@ AND table_name not like 'xtradb_%'
ORDER BY table_schema,table_name;
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME ALL_PLUGINS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
+TABLE_NAME APPLICABLE_ROLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME CHARACTER_SETS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -954,6 +1134,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME ENABLED_ROLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME ENGINES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -1023,6 +1226,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME GEOMETRY_COLUMNS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME GLOBAL_STATUS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -1368,6 +1594,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME SPATIAL_REF_SYS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME STATISTICS
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
@@ -1391,6 +1640,29 @@ user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
+TABLE_NAME SYSTEM_VARIABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA information_schema
TABLE_NAME TABLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
diff --git a/mysql-test/suite/funcs_1/r/is_tables_memory.result b/mysql-test/suite/funcs_1/r/is_tables_memory.result
index 961fb98d573..acf6636cd38 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_memory.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_memory.result
@@ -8,11 +8,9 @@ CREATE TABLE test1.t2 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
CREATE TABLE test2.t1 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -100,11 +98,9 @@ GRANT SELECT ON test1.* TO testuser1@localhost;
# Establish connection testuser1 (user=testuser1)
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
diff --git a/mysql-test/suite/funcs_1/r/is_tables_myisam.result b/mysql-test/suite/funcs_1/r/is_tables_myisam.result
index 1afb80ca3d7..5ef3fbaafab 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_myisam.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_myisam.result
@@ -8,11 +8,9 @@ CREATE TABLE test1.t2 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
CREATE TABLE test2.t1 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -100,11 +98,9 @@ GRANT SELECT ON test1.* TO testuser1@localhost;
# Establish connection testuser1 (user=testuser1)
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
diff --git a/mysql-test/suite/funcs_1/r/is_tables_myisam_embedded.result b/mysql-test/suite/funcs_1/r/is_tables_myisam_embedded.result
index ddf98bbded8..3ffa2662313 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_myisam_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_myisam_embedded.result
@@ -8,11 +8,9 @@ CREATE TABLE test1.t2 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
CREATE TABLE test2.t1 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -100,11 +98,9 @@ GRANT SELECT ON test1.* TO testuser1@localhost;
# Establish connection testuser1 (user=testuser1)
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
diff --git a/mysql-test/suite/funcs_1/r/is_tables_mysql.result b/mysql-test/suite/funcs_1/r/is_tables_mysql.result
index 772bc832838..430c7fe2580 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_mysql.result
@@ -2,11 +2,9 @@ DROP DATABASE IF EXISTS test1;
CREATE DATABASE test1;
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -37,6 +35,29 @@ user_comment Column privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME column_stats
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Statistics on Columns
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME db
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -129,6 +150,29 @@ user_comment General log
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME gtid_slave_pos
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Replication slave GTID position
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME help_category
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -244,7 +288,7 @@ user_comment Host privileges; Merged with database privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
+TABLE_NAME index_stats
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
VERSION 10
@@ -259,7 +303,53 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION latin1_swedish_ci
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Statistics on Indexes
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
+TABLE_NAME innodb_index_stats
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
+TABLE_NAME innodb_table_stats
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -359,6 +449,29 @@ user_comment User proxy privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME roles_mapping
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Granted roles
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME servers
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -428,6 +541,29 @@ user_comment Table privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME table_stats
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Statistics on Tables
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME time_zone
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -570,11 +706,9 @@ GRANT SELECT ON test1.* TO testuser1@localhost;
# Establish connection testuser1 (user=testuser1)
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
diff --git a/mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result b/mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result
index 3d27923e966..f1a6cc327b7 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result
@@ -2,11 +2,9 @@ DROP DATABASE IF EXISTS test1;
CREATE DATABASE test1;
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -37,6 +35,29 @@ user_comment Column privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME column_stats
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Statistics on Columns
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME db
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -129,6 +150,29 @@ user_comment General log
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME gtid_slave_pos
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Replication slave GTID position
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME help_category
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -244,7 +288,7 @@ user_comment Host privileges; Merged with database privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
+TABLE_NAME index_stats
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
VERSION 10
@@ -259,7 +303,53 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION latin1_swedish_ci
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Statistics on Indexes
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
+TABLE_NAME innodb_index_stats
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
+TABLE_NAME innodb_table_stats
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -359,6 +449,29 @@ user_comment User proxy privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME roles_mapping
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Granted roles
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME servers
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -428,6 +541,29 @@ user_comment Table privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME table_stats
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Statistics on Tables
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME time_zone
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -570,11 +706,9 @@ GRANT SELECT ON test1.* TO testuser1@localhost;
# Establish connection testuser1 (user=testuser1)
SELECT *,
LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
+IF(INSTR(table_comment,'InnoDB free') = 0,
LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
+INSTR(table_comment,'InnoDB free') - 1))
AS "user_comment",
'-----------------------------------------------------' AS "Separator"
FROM information_schema.tables
@@ -605,6 +739,29 @@ user_comment Column privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME column_stats
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Statistics on Columns
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME db
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -697,6 +854,29 @@ user_comment General log
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME gtid_slave_pos
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Replication slave GTID position
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME help_category
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -812,7 +992,7 @@ user_comment Host privileges; Merged with database privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
+TABLE_NAME index_stats
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
VERSION 10
@@ -827,7 +1007,53 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION latin1_swedish_ci
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Statistics on Indexes
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
+TABLE_NAME innodb_index_stats
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
+TABLE_NAME innodb_table_stats
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -927,6 +1153,29 @@ user_comment User proxy privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME roles_mapping
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Granted roles
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME servers
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -996,6 +1245,29 @@ user_comment Table privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME table_stats
+TABLE_TYPE BASE TABLE
+ENGINE MYISAM_OR_MARIA
+VERSION 10
+ROW_FORMAT DYNAMIC_OR_PAGE
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Statistics on Tables
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME time_zone
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
diff --git a/mysql-test/suite/funcs_1/r/is_triggers.result b/mysql-test/suite/funcs_1/r/is_triggers.result
index 53bb54aa0f2..d6b5f3a42bf 100644
--- a/mysql-test/suite/funcs_1/r/is_triggers.result
+++ b/mysql-test/suite/funcs_1/r/is_triggers.result
@@ -1,3 +1,4 @@
+set global sql_mode="";
SHOW TABLES FROM information_schema LIKE 'TRIGGERS';
Tables_in_information_schema (TRIGGERS)
TRIGGERS
@@ -228,3 +229,4 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_
ALTER TABLE information_schema.triggers RENAME information_schema.xtriggers;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP DATABASE db_datadict;
+set global sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/r/is_user_privileges.result b/mysql-test/suite/funcs_1/r/is_user_privileges.result
index 1ec1ffc4ce1..dfbe50ad862 100644
--- a/mysql-test/suite/funcs_1/r/is_user_privileges.result
+++ b/mysql-test/suite/funcs_1/r/is_user_privileges.result
@@ -28,21 +28,21 @@ DROP FUNCTION test.f1;
#########################################################################
DESCRIBE information_schema.USER_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
+GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO
PRIVILEGE_TYPE varchar(64) NO
IS_GRANTABLE varchar(3) NO
SHOW CREATE TABLE information_schema.USER_PRIVILEGES;
Table Create Table
USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
+ `GRANTEE` varchar(190) NOT NULL DEFAULT '',
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
`IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.USER_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
+GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO
PRIVILEGE_TYPE varchar(64) NO
IS_GRANTABLE varchar(3) NO
@@ -129,6 +129,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -171,6 +175,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -213,6 +221,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
#
# Add GRANT OPTION db_datadict.* to testuser1;
GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
@@ -279,6 +291,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -321,6 +337,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -363,6 +383,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
# Establish connection testuser1 (user=testuser1)
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
@@ -415,6 +439,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -457,6 +485,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -499,6 +531,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
SHOW GRANTS;
Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost'
@@ -573,6 +609,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -615,6 +655,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -657,6 +701,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
#
# Here <SELECT YES> is shown correctly for testuser1;
@@ -723,6 +771,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -765,6 +817,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -807,6 +863,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
# Switch to connection testuser1
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
@@ -859,6 +919,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -901,6 +965,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -943,6 +1011,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
SHOW GRANTS;
Grants for testuser1@localhost
GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION
@@ -1047,6 +1119,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -1089,6 +1165,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -1131,6 +1211,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
# Switch to connection testuser1
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
@@ -1230,6 +1314,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -1272,6 +1360,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -1314,6 +1406,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
# Switch to connection testuser1
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
@@ -1366,6 +1462,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -1408,6 +1508,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -1450,6 +1554,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
SHOW GRANTS;
Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost'
@@ -1509,6 +1617,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -1551,6 +1663,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -1593,6 +1709,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
SHOW GRANTS;
Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost'
@@ -1667,6 +1787,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser2
Password
@@ -1709,6 +1833,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
Host localhost
User testuser3
Password
@@ -1751,6 +1879,10 @@ max_connections 0
max_user_connections 0
plugin
authentication_string
+password_expired N
+is_role N
+default_role
+max_statement_time 0.000000
# Switch to connection testuser1
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
diff --git a/mysql-test/suite/funcs_1/r/is_views.result b/mysql-test/suite/funcs_1/r/is_views.result
index ebb0e1ac091..12a46aeacce 100644
--- a/mysql-test/suite/funcs_1/r/is_views.result
+++ b/mysql-test/suite/funcs_1/r/is_views.result
@@ -38,6 +38,7 @@ DEFINER varchar(189) NO
SECURITY_TYPE varchar(7) NO
CHARACTER_SET_CLIENT varchar(32) NO
COLLATION_CONNECTION varchar(32) NO
+ALGORITHM varchar(10) NO
SHOW CREATE TABLE information_schema.VIEWS;
Table Create Table
VIEWS CREATE TEMPORARY TABLE `VIEWS` (
@@ -50,7 +51,8 @@ VIEWS CREATE TEMPORARY TABLE `VIEWS` (
`DEFINER` varchar(189) NOT NULL DEFAULT '',
`SECURITY_TYPE` varchar(7) NOT NULL DEFAULT '',
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '',
- `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT ''
+ `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '',
+ `ALGORITHM` varchar(10) NOT NULL DEFAULT ''
) DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.VIEWS;
Field Type Null Key Default Extra
@@ -64,6 +66,7 @@ DEFINER varchar(189) NO
SECURITY_TYPE varchar(7) NO
CHARACTER_SET_CLIENT varchar(32) NO
COLLATION_CONNECTION varchar(32) NO
+ALGORITHM varchar(10) NO
SELECT table_catalog, table_schema, table_name
FROM information_schema.views WHERE table_catalog IS NOT NULL;
table_catalog table_schema table_name
@@ -87,24 +90,24 @@ GRANT SELECT ON db_datadict.v_granted_to_1 TO 'testuser1'@'localhost';
GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'testuser2'@'localhost';
SELECT * FROM information_schema.views
WHERE table_schema = 'db_datadict' ORDER BY table_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-def db_datadict v_granted_glob select `db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
-def db_datadict v_granted_to_1 select `db_datadict`.`t1`.`f1` AS `f1`,`db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
+def db_datadict v_granted_glob select `db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
+def db_datadict v_granted_to_1 select `db_datadict`.`t1`.`f1` AS `f1`,`db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
# Establish connection testuser1 (user=testuser1)
SELECT * FROM information_schema.views
WHERE table_schema = 'db_datadict' ORDER BY table_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-def db_datadict v_granted_to_1 NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
+def db_datadict v_granted_to_1 NONE YES root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
# Establish connection testuser2 (user=testuser2)
SELECT * FROM information_schema.views
WHERE table_schema = 'db_datadict' ORDER BY table_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-def db_datadict v_granted_glob NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
-def db_datadict v_granted_to_1 NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
+def db_datadict v_granted_glob NONE YES root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
+def db_datadict v_granted_to_1 NONE YES root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
# Establish connection test_no_views (user=test_no_views)
SELECT * FROM information_schema.views
WHERE table_schema = 'db_datadict' ORDER BY table_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
# Switch to connection default and close all other connections
DROP USER 'testuser1'@'localhost';
DROP USER 'testuser2'@'localhost';
@@ -123,12 +126,18 @@ DROP USER 'testuser1'@'localhost';
CREATE USER 'testuser1'@'localhost';
SELECT * FROM information_schema.views
WHERE table_name LIKE 't1_%';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
CREATE VIEW test.t1_view AS SELECT DISTINCT f1 FROM test.t1_table;
+CREATE ALGORITHM=MERGE VIEW test.t1_view1 AS SELECT f1 FROM test.t1_table;
+CREATE ALGORITHM=TEMPTABLE VIEW test.t1_view2 AS SELECT f1 FROM test.t1_table;
SELECT * FROM information_schema.views
WHERE table_name LIKE 't1_%';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-def test t1_view select distinct `test`.`t1_table`.`f1` AS `f1` from `test`.`t1_table` NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
+def test t1_view select distinct `test`.`t1_table`.`f1` AS `f1` from `test`.`t1_table` NONE NO root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
+def test t1_view1 select `test`.`t1_table`.`f1` AS `f1` from `test`.`t1_table` NONE YES root@localhost DEFINER latin1 latin1_swedish_ci MERGE
+def test t1_view2 select `test`.`t1_table`.`f1` AS `f1` from `test`.`t1_table` NONE NO root@localhost DEFINER latin1 latin1_swedish_ci TEMPTABLE
+DROP VIEW test.t1_view1;
+DROP VIEW test.t1_view2;
SELECT table_name,definer FROM information_schema.views
WHERE table_name = 't1_view';
table_name definer
diff --git a/mysql-test/suite/funcs_1/r/memory_func_view.result b/mysql-test/suite/funcs_1/r/memory_func_view.result
index f29de41cbbb..df57c83164e 100644
--- a/mysql-test/suite/funcs_1/r/memory_func_view.result
+++ b/mysql-test/suite/funcs_1/r/memory_func_view.result
@@ -1,4 +1,5 @@
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+SET timestamp=unix_timestamp('2001-02-03 10:20:30');
DROP TABLE IF EXISTS t1_selects, t1_modes, t1_values;
DROP VIEW IF EXISTS v1;
CREATE TABLE t1_values
@@ -13,8 +14,8 @@ ALTER TABLE t1_values ADD my_binary_30 BINARY(30);
ALTER TABLE t1_values ADD my_varbinary_1000 VARBINARY(1000);
ALTER TABLE t1_values ADD my_datetime DATETIME;
ALTER TABLE t1_values ADD my_date DATE;
-ALTER TABLE t1_values ADD ts_dummy TIMESTAMP;
-ALTER TABLE t1_values ADD my_timestamp TIMESTAMP;
+ALTER TABLE t1_values ADD ts_dummy TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
+ALTER TABLE t1_values ADD my_timestamp TIMESTAMP NOT NULL DEFAULT '2001-01-01 10:20:30';
ALTER TABLE t1_values ADD my_time TIME;
ALTER TABLE t1_values ADD my_year YEAR;
ALTER TABLE t1_values ADD my_bigint BIGINT;
@@ -1276,7 +1277,7 @@ SELECT IFNULL(my_timestamp,'IS_NULL'),
my_timestamp, id FROM t1_values
WHERE select_id = 136 OR select_id IS NULL order by id;
IFNULL(my_timestamp,'IS_NULL') my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -1288,7 +1289,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 136 OR select_id IS NULL) order by id;
IFNULL(my_timestamp,'IS_NULL') my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -1595,7 +1596,7 @@ SELECT IF(my_timestamp IS NULL, 'IS NULL',
WHERE select_id = 124 OR select_id IS NULL order by id;
IF(my_timestamp IS NULL, 'IS NULL',
'IS NOT NULL') my_timestamp id
-IS NOT NULL 0000-00-00 00:00:00 1
+IS NOT NULL 2001-01-01 10:20:30 1
IS NOT NULL 1970-01-01 14:00:01 2
IS NOT NULL 2038-01-01 02:59:59 3
IS NOT NULL 2004-02-29 23:59:59 4
@@ -1609,7 +1610,7 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 124 OR select_id IS NULL) order by id;
IF(my_timestamp IS NULL, 'IS NULL',
'IS NOT NULL') my_timestamp id
-IS NOT NULL 0000-00-00 00:00:00 1
+IS NOT NULL 2001-01-01 10:20:30 1
IS NOT NULL 1970-01-01 14:00:01 2
IS NOT NULL 2038-01-01 02:59:59 3
IS NOT NULL 2004-02-29 23:59:59 4
@@ -1936,7 +1937,7 @@ SELECT IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE'),
my_timestamp, id FROM t1_values
WHERE select_id = 112 OR select_id IS NULL order by id;
IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE') my_timestamp id
-IS NOT TRUE 0000-00-00 00:00:00 1
+IS TRUE 2001-01-01 10:20:30 1
IS TRUE 1970-01-01 14:00:01 2
IS TRUE 2038-01-01 02:59:59 3
IS TRUE 2004-02-29 23:59:59 4
@@ -1948,7 +1949,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 112 OR select_id IS NULL) order by id;
IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE') my_timestamp id
-IS NOT TRUE 0000-00-00 00:00:00 1
+IS TRUE 2001-01-01 10:20:30 1
IS TRUE 1970-01-01 14:00:01 2
IS TRUE 2038-01-01 02:59:59 3
IS TRUE 2004-02-29 23:59:59 4
@@ -2098,8 +2099,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2113,8 +2115,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1;
@@ -2166,8 +2169,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2181,8 +2185,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -2198,6 +2203,7 @@ IS NOT TRUE <--------30 characters-------> 3
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ' '
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
@@ -2213,6 +2219,7 @@ IS NOT TRUE <--------30 characters-------> 3
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ' '
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -2281,6 +2288,8 @@ NULL NULL 1
<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varchar_1000` using koi8r) AS `CONVERT(my_varchar_1000 USING koi8r)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2293,6 +2302,8 @@ NULL NULL 1
<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
DROP VIEW v1;
@@ -2307,6 +2318,8 @@ NULL NULL 1
<--------30 characters-------> <--------30 characters-------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_char_30` using koi8r) AS `CONVERT(my_char_30 USING koi8r)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2319,6 +2332,8 @@ NULL NULL 1
<--------30 characters-------> <--------30 characters-------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
DROP VIEW v1;
@@ -2488,7 +2503,7 @@ SELECT CAST(my_timestamp AS UNSIGNED INTEGER),
my_timestamp, id FROM t1_values
WHERE select_id = 92 OR select_id IS NULL order by id;
CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -2500,7 +2515,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 92 OR select_id IS NULL) order by id;
CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -2676,7 +2691,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2693,7 +2708,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2710,10 +2725,10 @@ NULL NULL 1
0 ---äÖüß@µ*$-- 4
18446744073709551615 -1 5
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2728,10 +2743,10 @@ NULL NULL 1
0 ---äÖüß@µ*$--
18446744073709551615 -1
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2750,7 +2765,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2767,7 +2782,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2786,7 +2801,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2803,7 +2818,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2866,7 +2881,7 @@ SELECT CAST(my_timestamp AS SIGNED INTEGER),
my_timestamp, id FROM t1_values
WHERE select_id = 80 OR select_id IS NULL order by id;
CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -2878,7 +2893,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 80 OR select_id IS NULL) order by id;
CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -3042,7 +3057,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as signed) AS `CAST(my_varbinary_1000 AS SIGNED INTEGER)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3058,7 +3073,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1;
@@ -3074,10 +3089,10 @@ NULL NULL 1
0 ---äÖüß@µ*$-- 4
-1 -1 5
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as signed) AS `CAST(my_binary_30 AS SIGNED INTEGER)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3091,10 +3106,10 @@ NULL NULL 1
0 ---äÖüß@µ*$--
-1 -1
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
DROP VIEW v1;
@@ -3112,7 +3127,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as signed) AS `CAST(my_varchar_1000 AS SIGNED INTEGER)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3128,7 +3143,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -3146,7 +3161,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as signed) AS `CAST(my_char_30 AS SIGNED INTEGER)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3162,7 +3177,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
DROP VIEW v1;
@@ -3224,7 +3239,7 @@ SELECT CAST(my_timestamp AS DECIMAL(37,2)),
my_timestamp, id FROM t1_values
WHERE select_id = 68 OR select_id IS NULL order by id;
CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
-0.00 0000-00-00 00:00:00 1
+20010101102030.00 2001-01-01 10:20:30 1
19700101140001.00 1970-01-01 14:00:01 2
20380101025959.00 2038-01-01 02:59:59 3
20040229235959.00 2004-02-29 23:59:59 4
@@ -3236,7 +3251,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 68 OR select_id IS NULL) order by id;
CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
-0.00 0000-00-00 00:00:00 1
+20010101102030.00 2001-01-01 10:20:30 1
19700101140001.00 1970-01-01 14:00:01 2
20380101025959.00 2038-01-01 02:59:59 3
20040229235959.00 2004-02-29 23:59:59 4
@@ -3404,7 +3419,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3424,7 +3439,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1;
@@ -3492,7 +3507,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3512,7 +3527,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -3616,7 +3631,7 @@ SELECT CAST(my_timestamp AS TIME),
my_timestamp, id FROM t1_values
WHERE select_id = 56 OR select_id IS NULL order by id;
CAST(my_timestamp AS TIME) my_timestamp id
-00:00:00 0000-00-00 00:00:00 1
+10:20:30 2001-01-01 10:20:30 1
14:00:01 1970-01-01 14:00:01 2
02:59:59 2038-01-01 02:59:59 3
23:59:59 2004-02-29 23:59:59 4
@@ -3628,7 +3643,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 56 OR select_id IS NULL) order by id;
CAST(my_timestamp AS TIME) my_timestamp id
-00:00:00 0000-00-00 00:00:00 1
+10:20:30 2001-01-01 10:20:30 1
14:00:01 1970-01-01 14:00:01 2
02:59:59 2038-01-01 02:59:59 3
23:59:59 2004-02-29 23:59:59 4
@@ -3729,14 +3744,14 @@ my_bigint, id FROM t1_values
WHERE select_id = 52 OR select_id IS NULL order by id;
CAST(my_bigint AS TIME) my_bigint id
NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
+-838:59:59 -9223372036854775808 2
+838:59:59 9223372036854775807 3
00:00:00 0 4
-00:00:01 -1 5
00:17:58 1758 24
Warnings:
-Warning 1292 Truncated incorrect time value: '-9223372036854775808'
-Warning 1292 Truncated incorrect time value: '9223372036854775807'
+Warning 1292 Incorrect time value: '-9223372036854775808' for column 'my_bigint' at row 2
+Warning 1292 Incorrect time value: '9223372036854775807' for column 'my_bigint' at row 3
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as time) AS `CAST(my_bigint AS TIME)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3745,14 +3760,14 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 52 OR select_id IS NULL) order by id;
CAST(my_bigint AS TIME) my_bigint id
NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
+-838:59:59 -9223372036854775808 2
+838:59:59 9223372036854775807 3
00:00:00 0 4
-00:00:01 -1 5
00:17:58 1758 24
Warnings:
-Warning 1292 Truncated incorrect time value: '-9223372036854775808'
-Warning 1292 Truncated incorrect time value: '9223372036854775807'
+Warning 1292 Incorrect time value: '-9223372036854775808' for column 'my_bigint' at row 1
+Warning 1292 Incorrect time value: '9223372036854775807' for column 'my_bigint' at row 1
DROP VIEW v1;
@@ -3802,7 +3817,7 @@ NULL NULL 1
00:00:00 2
00:00:00 <--------30 characters-------> 3
-00:00:00 ---äÖüß@µ*$-- 4
-NULL -1 5
+-00:00:01 -1 5
41:58:00 1 17:58 22
Warnings:
Warning 1292 Truncated incorrect time value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
@@ -3821,7 +3836,7 @@ NULL NULL 1
00:00:00
00:00:00 <--------30 characters-------> 3
-00:00:00 ---äÖüß@µ*$--
-NULL -1
+-00:00:01 -1
41:58:00 1 17:58
Warnings:
Warning 1292 Truncated incorrect time value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
@@ -3937,12 +3952,10 @@ my_time, id FROM t1_values
WHERE select_id = 46 OR select_id IS NULL order by id;
CAST(my_time AS DATETIME) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 22:59:59 838:59:59 3
-0000-00-00 13:00:00 13:00:00 4
-0000-00-00 10:00:00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect datetime value: '-838:59:59'
+2000-12-30 01:00:01 -838:59:59 2
+2001-03-09 22:59:59 838:59:59 3
+2001-02-03 13:00:00 13:00:00 4
+2001-02-03 10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3951,12 +3964,10 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 46 OR select_id IS NULL) order by id;
CAST(my_time AS DATETIME) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 22:59:59 838:59:59 3
-0000-00-00 13:00:00 13:00:00 4
-0000-00-00 10:00:00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect datetime value: '-838:59:59'
+2000-12-30 01:00:01 -838:59:59 2
+2001-03-09 22:59:59 838:59:59 3
+2001-02-03 13:00:00 13:00:00 4
+2001-02-03 10:00:00 10:00:00 5
DROP VIEW v1;
@@ -3966,7 +3977,7 @@ SELECT CAST(my_timestamp AS DATETIME),
my_timestamp, id FROM t1_values
WHERE select_id = 45 OR select_id IS NULL order by id;
CAST(my_timestamp AS DATETIME) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -3978,7 +3989,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 45 OR select_id IS NULL) order by id;
CAST(my_timestamp AS DATETIME) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -4085,15 +4096,14 @@ CAST(my_bigint AS DATETIME) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 00:00:00 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 2
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 3
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 5
+Warning 1292 Incorrect datetime value: '200506271758' for column 'my_bigint' at row 6
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as datetime) AS `CAST(my_bigint AS DATETIME)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -4104,15 +4114,14 @@ CAST(my_bigint AS DATETIME) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 00:00:00 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '200506271758' for column 'my_bigint' at row 1
DROP VIEW v1;
@@ -4303,12 +4312,10 @@ my_time, id FROM t1_values
WHERE select_id = 35 OR select_id IS NULL order by id;
CAST(my_time AS DATE) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 838:59:59 3
-0000-00-00 13:00:00 4
-0000-00-00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect date value: '-838:59:59'
+2000-12-30 -838:59:59 2
+2001-03-09 838:59:59 3
+2001-02-03 13:00:00 4
+2001-02-03 10:00:00 5
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as date) AS `CAST(my_time AS DATE)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -4317,12 +4324,10 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 35 OR select_id IS NULL) order by id;
CAST(my_time AS DATE) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 838:59:59 3
-0000-00-00 13:00:00 4
-0000-00-00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect date value: '-838:59:59'
+2000-12-30 -838:59:59 2
+2001-03-09 838:59:59 3
+2001-02-03 13:00:00 4
+2001-02-03 10:00:00 5
DROP VIEW v1;
@@ -4332,7 +4337,7 @@ SELECT CAST(my_timestamp AS DATE),
my_timestamp, id FROM t1_values
WHERE select_id = 34 OR select_id IS NULL order by id;
CAST(my_timestamp AS DATE) my_timestamp id
-0000-00-00 0000-00-00 00:00:00 1
+2001-01-01 2001-01-01 10:20:30 1
1970-01-01 1970-01-01 14:00:01 2
2038-01-01 2038-01-01 02:59:59 3
2004-02-29 2004-02-29 23:59:59 4
@@ -4344,7 +4349,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 34 OR select_id IS NULL) order by id;
CAST(my_timestamp AS DATE) my_timestamp id
-0000-00-00 0000-00-00 00:00:00 1
+2001-01-01 2001-01-01 10:20:30 1
1970-01-01 1970-01-01 14:00:01 2
2038-01-01 2038-01-01 02:59:59 3
2004-02-29 2004-02-29 23:59:59 4
@@ -4449,14 +4454,13 @@ CAST(my_bigint AS DATE) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 2
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 3
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 5
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as date) AS `CAST(my_bigint AS DATE)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -4467,14 +4471,13 @@ CAST(my_bigint AS DATE) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 1
DROP VIEW v1;
@@ -4690,7 +4693,7 @@ SELECT CAST(my_timestamp AS CHAR),
my_timestamp, id FROM t1_values
WHERE select_id = 23 OR select_id IS NULL order by id;
CAST(my_timestamp AS CHAR) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -4702,7 +4705,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 23 OR select_id IS NULL) order by id;
CAST(my_timestamp AS CHAR) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -5002,7 +5005,7 @@ SELECT CAST(my_timestamp AS BINARY),
my_timestamp, id FROM t1_values
WHERE select_id = 11 OR select_id IS NULL order by id;
CAST(my_timestamp AS BINARY) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -5014,7 +5017,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 11 OR select_id IS NULL) order by id;
CAST(my_timestamp AS BINARY) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -5285,3 +5288,4 @@ DROP VIEW v1;
DROP TABLE t1_selects, t1_modes, t1_values;
+SET timestamp=DEFAULT;
diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_02.result b/mysql-test/suite/funcs_1/r/memory_storedproc_02.result
index 03c16d06595..0ee25154c50 100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc_02.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc_02.result
@@ -348,8 +348,6 @@ CALL h1();
-7- 1 1 1 1 1 1
END x1 x2 x3 x4 x5 x6
END 1 1 1 1 1 1
-Warnings:
-Error 1062 Duplicate entry 'a' for key 'w'
DROP TABLE IF EXISTS tnull;
DROP PROCEDURE IF EXISTS sp1;
CREATE TABLE tnull(f1 int);
@@ -448,8 +446,6 @@ END//
CALL h2();
x1 x2 x3 x4 x5 x6
1 1 1 1 1 1
-Warnings:
-Error 1062 Duplicate entry 'a' for key 'w'
SELECT * FROM res_t1;
w x
a b
@@ -555,8 +551,6 @@ exit handler 2
exit handler 2
exit handler 1
exit handler 1
-Warnings:
-Error 1146 Table 'db_storedproc.tqq' doesn't exist
create table res_t1(w char unique, x char);
insert into res_t1 values ('a', 'b');
CREATE PROCEDURE h1 ()
@@ -587,8 +581,6 @@ END//
CALL h1();
x1 x2 x3 x4 x5 x6
1 1 1 1 1 1
-Warnings:
-Error 1062 Duplicate entry 'a' for key 'w'
This will fail, SQLSTATE 00000 is not allowed
CREATE PROCEDURE sp1()
begin1_label:BEGIN
@@ -632,8 +624,6 @@ CALL sp2();
NULL
@x2 @x
1 2
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE sp1;
DROP PROCEDURE sp2;
@@ -665,8 +655,6 @@ ERROR 42000: Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expe
CALL sp2();
-1- @x2 @x
-1- 0 1
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
SELECT '-3-', @x2, @x;
-3- @x2 @x
-3- 1 1
@@ -709,8 +697,6 @@ CALL sp2();
-2- 1 20
-4- @x2 @x
-4- 11 22
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE sp1;
DROP PROCEDURE sp2;
@@ -777,33 +763,21 @@ SELECT @done, @x;
0 1
INSERT INTO temp VALUES('1', NULL);
CALL sp1();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 1
INSERT INTO temp VALUES('2', NULL);
CALL sp2();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 1
INSERT INTO temp VALUES('3', NULL);
CALL sp3();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 0
INSERT INTO temp VALUES('4', NULL);
CALL sp4();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 0
@@ -912,26 +886,18 @@ SELECT @done, @x;
@done @x
0 1
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 2
CALL sp2();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 2
CALL sp3();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 1
CALL sp4();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 1
@@ -1066,8 +1032,6 @@ SQLSTATE
21000
SQLSTATE
24000
-Warnings:
-Error 1326 Cursor is not open
SELECT '-1-', @x;
-1- @x
-1- 6
@@ -1078,24 +1042,18 @@ SQLSTATE
SQLEXCEPTION
SQLSTATE
24000
-Warnings:
-Error 1326 Cursor is not open
SELECT '-2-', @x;
-2- @x
-2- 6
CALL sp3();
SQLSTATE
20000
-Warnings:
-Error 1339 Case not found for CASE statement
SELECT '-3-', @x;
-3- @x
-3- 1
CALL sp4();
SQLSTATE
SQLEXCEPTION
-Warnings:
-Error 1339 Case not found for CASE statement
SELECT '-4-', @x;
-4- @x
-4- 1
@@ -1378,8 +1336,6 @@ CLOSE cur1;
CLOSE cur2;
END//
CALL sp_outer();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM temp1;
f0 cnt f1 f2 f3 f4
_sp_out_ 1 a` a` 1000-01-01 -5000
diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_06.result b/mysql-test/suite/funcs_1/r/memory_storedproc_06.result
index f08165b21f8..c38481bac50 100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc_06.result
@@ -1,4 +1,5 @@
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+set GLOBAL sql_mode="";
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
@@ -389,6 +390,7 @@ DROP USER 'user_2'@'localhost';
--------------------------------------------------------------------------------
DROP DATABASE IF EXISTS db_storedproc;
DROP DATABASE IF EXISTS db_storedproc_1;
+set GLOBAL sql_mode=default;
. +++ END OF SCRIPT +++
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0102.result b/mysql-test/suite/funcs_1/r/memory_trig_0102.result
index b08eeb6754f..85da4aa7832 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_0102.result
@@ -186,7 +186,7 @@ Testcase 3.5.1.7: - need to fix
-------------------------------
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1 (f1 int, f2 char(25),f3 int) engine = <engine_to_be_used>;
CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
for each row set new.f3 = '14';
diff --git a/mysql-test/suite/funcs_1/r/memory_trig_03e.result b/mysql-test/suite/funcs_1/r/memory_trig_03e.result
index 32252c93890..cfa839b382c 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_03e.result
@@ -450,8 +450,8 @@ create trigger trg1_4 before UPDATE on t1 for each row
set new.f1 = 'trig 1_4-yes';
show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
select current_user;
current_user
test_noprivs@localhost
@@ -574,7 +574,7 @@ root@localhost
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
drop trigger trg1_1;
use priv_db;
diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0407.result b/mysql-test/suite/funcs_1/r/memory_trig_0407.result
index 2146c74b72e..7f3277f55e1 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_0407.result
@@ -1,4 +1,5 @@
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+set GLOBAL sql_mode="";
USE test;
drop table if exists tb3;
create table tb3 (
@@ -469,3 +470,4 @@ drop user test_general@localhost;
drop user test_general;
drop user test_super@localhost;
DROP TABLE test.tb3;
+set GLOBAL sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/r/memory_trig_08.result b/mysql-test/suite/funcs_1/r/memory_trig_08.result
index d19507e5f4d..4632cfe269c 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_08.result
@@ -1,4 +1,5 @@
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+set GLOBAL sql_mode="";
USE test;
drop table if exists tb3;
create table tb3 (
@@ -522,3 +523,4 @@ drop user test_general@localhost;
drop user test_general;
drop user test_super@localhost;
DROP TABLE test.tb3;
+set GLOBAL sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/r/memory_trig_09.result b/mysql-test/suite/funcs_1/r/memory_trig_09.result
index 0795c3be36f..5394aa01bf6 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_09.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_09.result
@@ -190,8 +190,6 @@ Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL
where f122='Test 3.5.9.4';
Warnings:
Warning 1048 Column 'f136' cannot be null
-Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL
-where f122='Test 3.5.9.4';
select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4-trig' order by f163;
f118 f121 f122 f136 f151 f163
@@ -199,7 +197,7 @@ a NULL Test 3.5.9.4-trig 00000 999 NULL
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
-a NULL Test 3.5.9.4-trig 0 999 NULL
+a NULL Test 3.5.9.4-trig NULL 999 NULL
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
diff --git a/mysql-test/suite/funcs_1/r/memory_views.result b/mysql-test/suite/funcs_1/r/memory_views.result
index a718f986648..995787aba84 100644
--- a/mysql-test/suite/funcs_1/r/memory_views.result
+++ b/mysql-test/suite/funcs_1/r/memory_views.result
@@ -7580,7 +7580,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SELECT * FROM test.tb2 limit 2' at line 1
CREATE OR REPLACE TEMPORARY VIEW test.v1 AS
SELECT * FROM test.tb2 limit 2 ;
-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 'TEMPORARY VIEW test.v1 AS
+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 'VIEW test.v1 AS
SELECT * FROM test.tb2 limit 2' at line 1
Drop view if exists test.v1 ;
Use test;
@@ -21309,7 +21309,7 @@ CREATE TABLE t1 ( f1 VARCHAR(1000) ) ENGINE = memory ;
CREATE VIEW v1 AS SELECT f1 FROM t1;
DROP VIEW v1;
DROP VIEW v1;
-ERROR 42S02: Unknown table 'v1'
+ERROR 42S02: Unknown table 'test.v1'
CREATE VIEW v1 AS SELECT f1 FROM t1;
DROP VIEW IF EXISTS v1;
DROP VIEW IF EXISTS v1;
@@ -21326,31 +21326,31 @@ CREATE VIEW v1_base AS SELECT * FROM t1;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_top ;
DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
+ERROR 42S02: Unknown table 'test.v1_top'
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_base ;
DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
+ERROR 42S02: Unknown table 'test.v1_base'
DROP VIEW v1_top;
CREATE VIEW v1_base AS SELECT * FROM t1;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_top CASCADE ;
DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
+ERROR 42S02: Unknown table 'test.v1_top'
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_base CASCADE ;
DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
+ERROR 42S02: Unknown table 'test.v1_base'
DROP VIEW v1_top;
CREATE VIEW v1_base AS SELECT * FROM t1;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_top RESTRICT ;
DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
+ERROR 42S02: Unknown table 'test.v1_top'
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_base RESTRICT ;
DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
+ERROR 42S02: Unknown table 'test.v1_base'
DROP VIEW v1_top;
Testcase 3.3.1.69, 3.3.1.70, 3.3.1.A5
@@ -22034,7 +22034,7 @@ Testcase 3.3.2.1 - 3.3.2.6 alternative implementation
--------------------------------------------------------------------------------
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
-CREATE TABLE t1 ( f1 BIGINT, f2 CHAR(20), f3 NUMERIC(7,4),
+CREATE TABLE t1 ( f1 BIGINT DEFAULT 0, f2 CHAR(20), f3 NUMERIC(7,4),
f4 CHAR, PRIMARY KEY(f1));
CREATE VIEW v1 AS SELECT f1, f2, f3 FROM t1;
INSERT INTO v1 SET f1 = 1;
@@ -22342,10 +22342,9 @@ SET @variant2= 'CREATE VIEW v1 AS SELECT DISTINCTROW(f61) FROM t1';
SET @variant3= 'CREATE VIEW v1 AS SELECT SUM(f59) AS f61 FROM t1';
SET @variant4= 'CREATE VIEW v1 AS SELECT f61 FROM t1 GROUP BY f61';
SET @variant5= 'CREATE VIEW v1 AS SELECT f61 FROM t1 HAVING f61 > 0';
-SET @variant6= 'CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1';
-SET @variant7= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
-SET @variant8= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
-SET @variant9= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
+SET @variant6= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
+SET @variant7= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
+SET @variant8= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1;
INSERT INTO v1 VALUES (1002);
ERROR HY000: The target table v1 of the INSERT is not insertable-into
@@ -22370,14 +22369,6 @@ ERROR HY000: The target table v1 of the UPDATE is not updatable
DELETE FROM v1;
ERROR HY000: The target table v1 of the DELETE is not updatable
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
CREATE VIEW v1 AS SELECT f61 FROM t1 HAVING f61 > 0;
INSERT INTO v1 VALUES (1002);
ERROR HY000: The target table v1 of the INSERT is not insertable-into
@@ -22418,6 +22409,13 @@ ERROR HY000: The target table v1 of the UPDATE is not updatable
DELETE FROM v1;
ERROR HY000: The target table v1 of the DELETE is not updatable
DROP VIEW v1;
+CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1;
+INSERT INTO v1 VALUES (1002);
+ERROR HY000: The target table v1 of the INSERT is not insertable-into
+UPDATE v1 SET f61=1007;
+ERROR HY000: Column 'f61' is not updatable
+DELETE FROM v1;
+DROP VIEW v1;
Drop TABLE t1, t2 ;
Drop VIEW v2 ;
diff --git a/mysql-test/suite/funcs_1/r/myisam_func_view.result b/mysql-test/suite/funcs_1/r/myisam_func_view.result
index f29de41cbbb..df57c83164e 100644
--- a/mysql-test/suite/funcs_1/r/myisam_func_view.result
+++ b/mysql-test/suite/funcs_1/r/myisam_func_view.result
@@ -1,4 +1,5 @@
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+SET timestamp=unix_timestamp('2001-02-03 10:20:30');
DROP TABLE IF EXISTS t1_selects, t1_modes, t1_values;
DROP VIEW IF EXISTS v1;
CREATE TABLE t1_values
@@ -13,8 +14,8 @@ ALTER TABLE t1_values ADD my_binary_30 BINARY(30);
ALTER TABLE t1_values ADD my_varbinary_1000 VARBINARY(1000);
ALTER TABLE t1_values ADD my_datetime DATETIME;
ALTER TABLE t1_values ADD my_date DATE;
-ALTER TABLE t1_values ADD ts_dummy TIMESTAMP;
-ALTER TABLE t1_values ADD my_timestamp TIMESTAMP;
+ALTER TABLE t1_values ADD ts_dummy TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
+ALTER TABLE t1_values ADD my_timestamp TIMESTAMP NOT NULL DEFAULT '2001-01-01 10:20:30';
ALTER TABLE t1_values ADD my_time TIME;
ALTER TABLE t1_values ADD my_year YEAR;
ALTER TABLE t1_values ADD my_bigint BIGINT;
@@ -1276,7 +1277,7 @@ SELECT IFNULL(my_timestamp,'IS_NULL'),
my_timestamp, id FROM t1_values
WHERE select_id = 136 OR select_id IS NULL order by id;
IFNULL(my_timestamp,'IS_NULL') my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -1288,7 +1289,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 136 OR select_id IS NULL) order by id;
IFNULL(my_timestamp,'IS_NULL') my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -1595,7 +1596,7 @@ SELECT IF(my_timestamp IS NULL, 'IS NULL',
WHERE select_id = 124 OR select_id IS NULL order by id;
IF(my_timestamp IS NULL, 'IS NULL',
'IS NOT NULL') my_timestamp id
-IS NOT NULL 0000-00-00 00:00:00 1
+IS NOT NULL 2001-01-01 10:20:30 1
IS NOT NULL 1970-01-01 14:00:01 2
IS NOT NULL 2038-01-01 02:59:59 3
IS NOT NULL 2004-02-29 23:59:59 4
@@ -1609,7 +1610,7 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 124 OR select_id IS NULL) order by id;
IF(my_timestamp IS NULL, 'IS NULL',
'IS NOT NULL') my_timestamp id
-IS NOT NULL 0000-00-00 00:00:00 1
+IS NOT NULL 2001-01-01 10:20:30 1
IS NOT NULL 1970-01-01 14:00:01 2
IS NOT NULL 2038-01-01 02:59:59 3
IS NOT NULL 2004-02-29 23:59:59 4
@@ -1936,7 +1937,7 @@ SELECT IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE'),
my_timestamp, id FROM t1_values
WHERE select_id = 112 OR select_id IS NULL order by id;
IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE') my_timestamp id
-IS NOT TRUE 0000-00-00 00:00:00 1
+IS TRUE 2001-01-01 10:20:30 1
IS TRUE 1970-01-01 14:00:01 2
IS TRUE 2038-01-01 02:59:59 3
IS TRUE 2004-02-29 23:59:59 4
@@ -1948,7 +1949,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 112 OR select_id IS NULL) order by id;
IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE') my_timestamp id
-IS NOT TRUE 0000-00-00 00:00:00 1
+IS TRUE 2001-01-01 10:20:30 1
IS TRUE 1970-01-01 14:00:01 2
IS TRUE 2038-01-01 02:59:59 3
IS TRUE 2004-02-29 23:59:59 4
@@ -2098,8 +2099,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2113,8 +2115,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1;
@@ -2166,8 +2169,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2181,8 +2185,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -2198,6 +2203,7 @@ IS NOT TRUE <--------30 characters-------> 3
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ' '
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
@@ -2213,6 +2219,7 @@ IS NOT TRUE <--------30 characters-------> 3
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: ' '
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -2281,6 +2288,8 @@ NULL NULL 1
<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varchar_1000` using koi8r) AS `CONVERT(my_varchar_1000 USING koi8r)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2293,6 +2302,8 @@ NULL NULL 1
<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
DROP VIEW v1;
@@ -2307,6 +2318,8 @@ NULL NULL 1
<--------30 characters-------> <--------30 characters-------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_char_30` using koi8r) AS `CONVERT(my_char_30 USING koi8r)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -2319,6 +2332,8 @@ NULL NULL 1
<--------30 characters-------> <--------30 characters-------> 3
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
+Warnings:
+Warning 1977 Cannot convert 'latin1' character 0xC3 to 'koi8r'
DROP VIEW v1;
@@ -2488,7 +2503,7 @@ SELECT CAST(my_timestamp AS UNSIGNED INTEGER),
my_timestamp, id FROM t1_values
WHERE select_id = 92 OR select_id IS NULL order by id;
CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -2500,7 +2515,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 92 OR select_id IS NULL) order by id;
CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -2676,7 +2691,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2693,7 +2708,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2710,10 +2725,10 @@ NULL NULL 1
0 ---äÖüß@µ*$-- 4
18446744073709551615 -1 5
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2728,10 +2743,10 @@ NULL NULL 1
0 ---äÖüß@µ*$--
18446744073709551615 -1
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2750,7 +2765,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2767,7 +2782,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2786,7 +2801,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -2803,7 +2818,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
Note 1105 Cast to unsigned converted negative integer to it's positive complement
DROP VIEW v1;
@@ -2866,7 +2881,7 @@ SELECT CAST(my_timestamp AS SIGNED INTEGER),
my_timestamp, id FROM t1_values
WHERE select_id = 80 OR select_id IS NULL order by id;
CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -2878,7 +2893,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 80 OR select_id IS NULL) order by id;
CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
+20010101102030 2001-01-01 10:20:30 1
19700101140001 1970-01-01 14:00:01 2
20380101025959 2038-01-01 02:59:59 3
20040229235959 2004-02-29 23:59:59 4
@@ -3042,7 +3057,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as signed) AS `CAST(my_varbinary_1000 AS SIGNED INTEGER)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3058,7 +3073,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1;
@@ -3074,10 +3089,10 @@ NULL NULL 1
0 ---äÖüß@µ*$-- 4
-1 -1 5
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as signed) AS `CAST(my_binary_30 AS SIGNED INTEGER)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3091,10 +3106,10 @@ NULL NULL 1
0 ---äÖüß@µ*$--
-1 -1
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
+Warning 1292 Truncated incorrect INTEGER value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
+Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+Warning 1292 Truncated incorrect INTEGER value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
DROP VIEW v1;
@@ -3112,7 +3127,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as signed) AS `CAST(my_varchar_1000 AS SIGNED INTEGER)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3128,7 +3143,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -3146,7 +3161,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as signed) AS `CAST(my_char_30 AS SIGNED INTEGER)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3162,7 +3177,7 @@ NULL NULL 1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
+Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
DROP VIEW v1;
@@ -3224,7 +3239,7 @@ SELECT CAST(my_timestamp AS DECIMAL(37,2)),
my_timestamp, id FROM t1_values
WHERE select_id = 68 OR select_id IS NULL order by id;
CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
-0.00 0000-00-00 00:00:00 1
+20010101102030.00 2001-01-01 10:20:30 1
19700101140001.00 1970-01-01 14:00:01 2
20380101025959.00 2038-01-01 02:59:59 3
20040229235959.00 2004-02-29 23:59:59 4
@@ -3236,7 +3251,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 68 OR select_id IS NULL) order by id;
CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
-0.00 0000-00-00 00:00:00 1
+20010101102030.00 2001-01-01 10:20:30 1
19700101140001.00 1970-01-01 14:00:01 2
20380101025959.00 2038-01-01 02:59:59 3
20040229235959.00 2004-02-29 23:59:59 4
@@ -3404,7 +3419,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3424,7 +3439,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
DROP VIEW v1;
@@ -3492,7 +3507,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3512,7 +3527,7 @@ Warning 1292 Truncated incorrect DECIMAL value: ''
Warning 1918 Encountered illegal value '' when converting to DECIMAL
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
Warning 1918 Encountered illegal value '' when converting to DECIMAL
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
+Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
@@ -3616,7 +3631,7 @@ SELECT CAST(my_timestamp AS TIME),
my_timestamp, id FROM t1_values
WHERE select_id = 56 OR select_id IS NULL order by id;
CAST(my_timestamp AS TIME) my_timestamp id
-00:00:00 0000-00-00 00:00:00 1
+10:20:30 2001-01-01 10:20:30 1
14:00:01 1970-01-01 14:00:01 2
02:59:59 2038-01-01 02:59:59 3
23:59:59 2004-02-29 23:59:59 4
@@ -3628,7 +3643,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 56 OR select_id IS NULL) order by id;
CAST(my_timestamp AS TIME) my_timestamp id
-00:00:00 0000-00-00 00:00:00 1
+10:20:30 2001-01-01 10:20:30 1
14:00:01 1970-01-01 14:00:01 2
02:59:59 2038-01-01 02:59:59 3
23:59:59 2004-02-29 23:59:59 4
@@ -3729,14 +3744,14 @@ my_bigint, id FROM t1_values
WHERE select_id = 52 OR select_id IS NULL order by id;
CAST(my_bigint AS TIME) my_bigint id
NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
+-838:59:59 -9223372036854775808 2
+838:59:59 9223372036854775807 3
00:00:00 0 4
-00:00:01 -1 5
00:17:58 1758 24
Warnings:
-Warning 1292 Truncated incorrect time value: '-9223372036854775808'
-Warning 1292 Truncated incorrect time value: '9223372036854775807'
+Warning 1292 Incorrect time value: '-9223372036854775808' for column 'my_bigint' at row 2
+Warning 1292 Incorrect time value: '9223372036854775807' for column 'my_bigint' at row 3
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as time) AS `CAST(my_bigint AS TIME)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3745,14 +3760,14 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 52 OR select_id IS NULL) order by id;
CAST(my_bigint AS TIME) my_bigint id
NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
+-838:59:59 -9223372036854775808 2
+838:59:59 9223372036854775807 3
00:00:00 0 4
-00:00:01 -1 5
00:17:58 1758 24
Warnings:
-Warning 1292 Truncated incorrect time value: '-9223372036854775808'
-Warning 1292 Truncated incorrect time value: '9223372036854775807'
+Warning 1292 Incorrect time value: '-9223372036854775808' for column 'my_bigint' at row 1
+Warning 1292 Incorrect time value: '9223372036854775807' for column 'my_bigint' at row 1
DROP VIEW v1;
@@ -3802,7 +3817,7 @@ NULL NULL 1
00:00:00 2
00:00:00 <--------30 characters-------> 3
-00:00:00 ---äÖüß@µ*$-- 4
-NULL -1 5
+-00:00:01 -1 5
41:58:00 1 17:58 22
Warnings:
Warning 1292 Truncated incorrect time value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
@@ -3821,7 +3836,7 @@ NULL NULL 1
00:00:00
00:00:00 <--------30 characters-------> 3
-00:00:00 ---äÖüß@µ*$--
-NULL -1
+-00:00:01 -1
41:58:00 1 17:58
Warnings:
Warning 1292 Truncated incorrect time value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
@@ -3937,12 +3952,10 @@ my_time, id FROM t1_values
WHERE select_id = 46 OR select_id IS NULL order by id;
CAST(my_time AS DATETIME) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 22:59:59 838:59:59 3
-0000-00-00 13:00:00 13:00:00 4
-0000-00-00 10:00:00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect datetime value: '-838:59:59'
+2000-12-30 01:00:01 -838:59:59 2
+2001-03-09 22:59:59 838:59:59 3
+2001-02-03 13:00:00 13:00:00 4
+2001-02-03 10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -3951,12 +3964,10 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 46 OR select_id IS NULL) order by id;
CAST(my_time AS DATETIME) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 22:59:59 838:59:59 3
-0000-00-00 13:00:00 13:00:00 4
-0000-00-00 10:00:00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect datetime value: '-838:59:59'
+2000-12-30 01:00:01 -838:59:59 2
+2001-03-09 22:59:59 838:59:59 3
+2001-02-03 13:00:00 13:00:00 4
+2001-02-03 10:00:00 10:00:00 5
DROP VIEW v1;
@@ -3966,7 +3977,7 @@ SELECT CAST(my_timestamp AS DATETIME),
my_timestamp, id FROM t1_values
WHERE select_id = 45 OR select_id IS NULL order by id;
CAST(my_timestamp AS DATETIME) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -3978,7 +3989,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 45 OR select_id IS NULL) order by id;
CAST(my_timestamp AS DATETIME) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -4085,15 +4096,14 @@ CAST(my_bigint AS DATETIME) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 00:00:00 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 2
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 3
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 5
+Warning 1292 Incorrect datetime value: '200506271758' for column 'my_bigint' at row 6
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as datetime) AS `CAST(my_bigint AS DATETIME)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -4104,15 +4114,14 @@ CAST(my_bigint AS DATETIME) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 00:00:00 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '200506271758' for column 'my_bigint' at row 1
DROP VIEW v1;
@@ -4303,12 +4312,10 @@ my_time, id FROM t1_values
WHERE select_id = 35 OR select_id IS NULL order by id;
CAST(my_time AS DATE) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 838:59:59 3
-0000-00-00 13:00:00 4
-0000-00-00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect date value: '-838:59:59'
+2000-12-30 -838:59:59 2
+2001-03-09 838:59:59 3
+2001-02-03 13:00:00 4
+2001-02-03 10:00:00 5
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as date) AS `CAST(my_time AS DATE)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -4317,12 +4324,10 @@ WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 35 OR select_id IS NULL) order by id;
CAST(my_time AS DATE) my_time id
NULL NULL 1
-NULL -838:59:59 2
-0000-01-03 838:59:59 3
-0000-00-00 13:00:00 4
-0000-00-00 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect date value: '-838:59:59'
+2000-12-30 -838:59:59 2
+2001-03-09 838:59:59 3
+2001-02-03 13:00:00 4
+2001-02-03 10:00:00 5
DROP VIEW v1;
@@ -4332,7 +4337,7 @@ SELECT CAST(my_timestamp AS DATE),
my_timestamp, id FROM t1_values
WHERE select_id = 34 OR select_id IS NULL order by id;
CAST(my_timestamp AS DATE) my_timestamp id
-0000-00-00 0000-00-00 00:00:00 1
+2001-01-01 2001-01-01 10:20:30 1
1970-01-01 1970-01-01 14:00:01 2
2038-01-01 2038-01-01 02:59:59 3
2004-02-29 2004-02-29 23:59:59 4
@@ -4344,7 +4349,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 34 OR select_id IS NULL) order by id;
CAST(my_timestamp AS DATE) my_timestamp id
-0000-00-00 0000-00-00 00:00:00 1
+2001-01-01 2001-01-01 10:20:30 1
1970-01-01 1970-01-01 14:00:01 2
2038-01-01 2038-01-01 02:59:59 3
2004-02-29 2004-02-29 23:59:59 4
@@ -4449,14 +4454,13 @@ CAST(my_bigint AS DATE) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 2
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 3
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 5
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as date) AS `CAST(my_bigint AS DATE)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
@@ -4467,14 +4471,13 @@ CAST(my_bigint AS DATE) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
NULL 9223372036854775807 3
-NULL 0 4
+0000-00-00 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-9223372036854775808' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '9223372036854775807' for column 'my_bigint' at row 1
+Warning 1292 Incorrect datetime value: '-1' for column 'my_bigint' at row 1
DROP VIEW v1;
@@ -4690,7 +4693,7 @@ SELECT CAST(my_timestamp AS CHAR),
my_timestamp, id FROM t1_values
WHERE select_id = 23 OR select_id IS NULL order by id;
CAST(my_timestamp AS CHAR) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -4702,7 +4705,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 23 OR select_id IS NULL) order by id;
CAST(my_timestamp AS CHAR) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -5002,7 +5005,7 @@ SELECT CAST(my_timestamp AS BINARY),
my_timestamp, id FROM t1_values
WHERE select_id = 11 OR select_id IS NULL order by id;
CAST(my_timestamp AS BINARY) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -5014,7 +5017,7 @@ SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 11 OR select_id IS NULL) order by id;
CAST(my_timestamp AS BINARY) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
+2001-01-01 10:20:30 2001-01-01 10:20:30 1
1970-01-01 14:00:01 1970-01-01 14:00:01 2
2038-01-01 02:59:59 2038-01-01 02:59:59 3
2004-02-29 23:59:59 2004-02-29 23:59:59 4
@@ -5285,3 +5288,4 @@ DROP VIEW v1;
DROP TABLE t1_selects, t1_modes, t1_values;
+SET timestamp=DEFAULT;
diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result
index 03c16d06595..0ee25154c50 100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result
@@ -348,8 +348,6 @@ CALL h1();
-7- 1 1 1 1 1 1
END x1 x2 x3 x4 x5 x6
END 1 1 1 1 1 1
-Warnings:
-Error 1062 Duplicate entry 'a' for key 'w'
DROP TABLE IF EXISTS tnull;
DROP PROCEDURE IF EXISTS sp1;
CREATE TABLE tnull(f1 int);
@@ -448,8 +446,6 @@ END//
CALL h2();
x1 x2 x3 x4 x5 x6
1 1 1 1 1 1
-Warnings:
-Error 1062 Duplicate entry 'a' for key 'w'
SELECT * FROM res_t1;
w x
a b
@@ -555,8 +551,6 @@ exit handler 2
exit handler 2
exit handler 1
exit handler 1
-Warnings:
-Error 1146 Table 'db_storedproc.tqq' doesn't exist
create table res_t1(w char unique, x char);
insert into res_t1 values ('a', 'b');
CREATE PROCEDURE h1 ()
@@ -587,8 +581,6 @@ END//
CALL h1();
x1 x2 x3 x4 x5 x6
1 1 1 1 1 1
-Warnings:
-Error 1062 Duplicate entry 'a' for key 'w'
This will fail, SQLSTATE 00000 is not allowed
CREATE PROCEDURE sp1()
begin1_label:BEGIN
@@ -632,8 +624,6 @@ CALL sp2();
NULL
@x2 @x
1 2
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE sp1;
DROP PROCEDURE sp2;
@@ -665,8 +655,6 @@ ERROR 42000: Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expe
CALL sp2();
-1- @x2 @x
-1- 0 1
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
SELECT '-3-', @x2, @x;
-3- @x2 @x
-3- 1 1
@@ -709,8 +697,6 @@ CALL sp2();
-2- 1 20
-4- @x2 @x
-4- 11 22
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE sp1;
DROP PROCEDURE sp2;
@@ -777,33 +763,21 @@ SELECT @done, @x;
0 1
INSERT INTO temp VALUES('1', NULL);
CALL sp1();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 1
INSERT INTO temp VALUES('2', NULL);
CALL sp2();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 1
INSERT INTO temp VALUES('3', NULL);
CALL sp3();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 0
INSERT INTO temp VALUES('4', NULL);
CALL sp4();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
SELECT @done, @x;
@done @x
1 0
@@ -912,26 +886,18 @@ SELECT @done, @x;
@done @x
0 1
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 2
CALL sp2();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 2
CALL sp3();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 1
CALL sp4();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT @done, @x;
@done @x
1 1
@@ -1066,8 +1032,6 @@ SQLSTATE
21000
SQLSTATE
24000
-Warnings:
-Error 1326 Cursor is not open
SELECT '-1-', @x;
-1- @x
-1- 6
@@ -1078,24 +1042,18 @@ SQLSTATE
SQLEXCEPTION
SQLSTATE
24000
-Warnings:
-Error 1326 Cursor is not open
SELECT '-2-', @x;
-2- @x
-2- 6
CALL sp3();
SQLSTATE
20000
-Warnings:
-Error 1339 Case not found for CASE statement
SELECT '-3-', @x;
-3- @x
-3- 1
CALL sp4();
SQLSTATE
SQLEXCEPTION
-Warnings:
-Error 1339 Case not found for CASE statement
SELECT '-4-', @x;
-4- @x
-4- 1
@@ -1378,8 +1336,6 @@ CLOSE cur1;
CLOSE cur2;
END//
CALL sp_outer();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM temp1;
f0 cnt f1 f2 f3 f4
_sp_out_ 1 a` a` 1000-01-01 -5000
diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result
index f08165b21f8..c38481bac50 100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result
@@ -1,4 +1,5 @@
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+set GLOBAL sql_mode="";
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
@@ -389,6 +390,7 @@ DROP USER 'user_2'@'localhost';
--------------------------------------------------------------------------------
DROP DATABASE IF EXISTS db_storedproc;
DROP DATABASE IF EXISTS db_storedproc_1;
+set GLOBAL sql_mode=default;
. +++ END OF SCRIPT +++
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result
index b08eeb6754f..85da4aa7832 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result
@@ -186,7 +186,7 @@ Testcase 3.5.1.7: - need to fix
-------------------------------
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1 (f1 int, f2 char(25),f3 int) engine = <engine_to_be_used>;
CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
for each row set new.f3 = '14';
diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_03e.result b/mysql-test/suite/funcs_1/r/myisam_trig_03e.result
index 1b3342ea581..fd796dd4550 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_03e.result
@@ -450,8 +450,8 @@ create trigger trg1_4 before UPDATE on t1 for each row
set new.f1 = 'trig 1_4-yes';
show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
select current_user;
current_user
test_noprivs@localhost
@@ -574,7 +574,7 @@ root@localhost
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
drop trigger trg1_1;
use priv_db;
diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0407.result b/mysql-test/suite/funcs_1/r/myisam_trig_0407.result
index 2146c74b72e..7f3277f55e1 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_0407.result
@@ -1,4 +1,5 @@
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+set GLOBAL sql_mode="";
USE test;
drop table if exists tb3;
create table tb3 (
@@ -469,3 +470,4 @@ drop user test_general@localhost;
drop user test_general;
drop user test_super@localhost;
DROP TABLE test.tb3;
+set GLOBAL sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_08.result b/mysql-test/suite/funcs_1/r/myisam_trig_08.result
index d19507e5f4d..4632cfe269c 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_08.result
@@ -1,4 +1,5 @@
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+set GLOBAL sql_mode="";
USE test;
drop table if exists tb3;
create table tb3 (
@@ -522,3 +523,4 @@ drop user test_general@localhost;
drop user test_general;
drop user test_super@localhost;
DROP TABLE test.tb3;
+set GLOBAL sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_09.result b/mysql-test/suite/funcs_1/r/myisam_trig_09.result
index 0795c3be36f..5394aa01bf6 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_09.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_09.result
@@ -190,8 +190,6 @@ Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL
where f122='Test 3.5.9.4';
Warnings:
Warning 1048 Column 'f136' cannot be null
-Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL
-where f122='Test 3.5.9.4';
select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4-trig' order by f163;
f118 f121 f122 f136 f151 f163
@@ -199,7 +197,7 @@ a NULL Test 3.5.9.4-trig 00000 999 NULL
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
-a NULL Test 3.5.9.4-trig 0 999 NULL
+a NULL Test 3.5.9.4-trig NULL 999 NULL
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
diff --git a/mysql-test/suite/funcs_1/r/myisam_views-big.result b/mysql-test/suite/funcs_1/r/myisam_views-big.result
index 1ee9c6e0cd6..0e0bede7257 100644
--- a/mysql-test/suite/funcs_1/r/myisam_views-big.result
+++ b/mysql-test/suite/funcs_1/r/myisam_views-big.result
@@ -8400,7 +8400,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SELECT * FROM test.tb2 limit 2' at line 1
CREATE OR REPLACE TEMPORARY VIEW test.v1 AS
SELECT * FROM test.tb2 limit 2 ;
-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 'TEMPORARY VIEW test.v1 AS
+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 'VIEW test.v1 AS
SELECT * FROM test.tb2 limit 2' at line 1
Drop view if exists test.v1 ;
Use test;
@@ -22984,7 +22984,7 @@ CREATE TABLE t1 ( f1 VARCHAR(1000) ) ENGINE = myisam ;
CREATE VIEW v1 AS SELECT f1 FROM t1;
DROP VIEW v1;
DROP VIEW v1;
-ERROR 42S02: Unknown table 'v1'
+ERROR 42S02: Unknown table 'test.v1'
CREATE VIEW v1 AS SELECT f1 FROM t1;
DROP VIEW IF EXISTS v1;
DROP VIEW IF EXISTS v1;
@@ -23001,31 +23001,31 @@ CREATE VIEW v1_base AS SELECT * FROM t1;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_top ;
DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
+ERROR 42S02: Unknown table 'test.v1_top'
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_base ;
DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
+ERROR 42S02: Unknown table 'test.v1_base'
DROP VIEW v1_top;
CREATE VIEW v1_base AS SELECT * FROM t1;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_top CASCADE ;
DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
+ERROR 42S02: Unknown table 'test.v1_top'
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_base CASCADE ;
DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
+ERROR 42S02: Unknown table 'test.v1_base'
DROP VIEW v1_top;
CREATE VIEW v1_base AS SELECT * FROM t1;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_top RESTRICT ;
DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
+ERROR 42S02: Unknown table 'test.v1_top'
CREATE VIEW v1_top AS SELECT * FROM v1_base;
DROP VIEW v1_base RESTRICT ;
DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
+ERROR 42S02: Unknown table 'test.v1_base'
DROP VIEW v1_top;
Testcase 3.3.1.69, 3.3.1.70, 3.3.1.A5
@@ -23736,7 +23736,7 @@ Testcase 3.3.2.1 - 3.3.2.6 alternative implementation
--------------------------------------------------------------------------------
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
-CREATE TABLE t1 ( f1 BIGINT, f2 CHAR(20), f3 NUMERIC(7,4),
+CREATE TABLE t1 ( f1 BIGINT DEFAULT 0, f2 CHAR(20), f3 NUMERIC(7,4),
f4 CHAR, PRIMARY KEY(f1));
CREATE VIEW v1 AS SELECT f1, f2, f3 FROM t1;
INSERT INTO v1 SET f1 = 1;
@@ -24044,10 +24044,9 @@ SET @variant2= 'CREATE VIEW v1 AS SELECT DISTINCTROW(f61) FROM t1';
SET @variant3= 'CREATE VIEW v1 AS SELECT SUM(f59) AS f61 FROM t1';
SET @variant4= 'CREATE VIEW v1 AS SELECT f61 FROM t1 GROUP BY f61';
SET @variant5= 'CREATE VIEW v1 AS SELECT f61 FROM t1 HAVING f61 > 0';
-SET @variant6= 'CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1';
-SET @variant7= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
-SET @variant8= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
-SET @variant9= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
+SET @variant6= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
+SET @variant7= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
+SET @variant8= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1;
INSERT INTO v1 VALUES (1002);
ERROR HY000: The target table v1 of the INSERT is not insertable-into
@@ -24072,14 +24071,6 @@ ERROR HY000: The target table v1 of the UPDATE is not updatable
DELETE FROM v1;
ERROR HY000: The target table v1 of the DELETE is not updatable
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
CREATE VIEW v1 AS SELECT f61 FROM t1 HAVING f61 > 0;
INSERT INTO v1 VALUES (1002);
ERROR HY000: The target table v1 of the INSERT is not insertable-into
@@ -24120,6 +24111,13 @@ ERROR HY000: The target table v1 of the UPDATE is not updatable
DELETE FROM v1;
ERROR HY000: The target table v1 of the DELETE is not updatable
DROP VIEW v1;
+CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1;
+INSERT INTO v1 VALUES (1002);
+ERROR HY000: The target table v1 of the INSERT is not insertable-into
+UPDATE v1 SET f61=1007;
+ERROR HY000: Column 'f61' is not updatable
+DELETE FROM v1;
+DROP VIEW v1;
Drop TABLE t1, t2 ;
Drop VIEW v2 ;
diff --git a/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result b/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result
index 762df8e4432..ee7468ff5ba 100644
--- a/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result
+++ b/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result
@@ -33,28 +33,33 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`TIME_MS` decimal(22,3) NOT NULL DEFAULT '0.000',
`STAGE` tinyint(2) NOT NULL DEFAULT '0',
`MAX_STAGE` tinyint(2) NOT NULL DEFAULT '0',
- `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000'
+ `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000',
+ `MEMORY_USED` int(7) NOT NULL DEFAULT '0',
+ `EXAMINED_ROWS` int(7) NOT NULL DEFAULT '0',
+ `QUERY_ID` bigint(4) NOT NULL DEFAULT '0',
+ `INFO_BINARY` blob,
+ `TID` bigint(4) NOT NULL DEFAULT '0'
) DEFAULT CHARSET=utf8
SHOW processlist;
Id User Host db Command Time State Info Progress
-ID root HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID root HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
SELECT * FROM processlist ORDER BY id;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID root HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS FROM processlist ORDER BY id;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID root HOST_NAME information_schema Query TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS FROM processlist ORDER BY id TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID root HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM processlist ORDER BY id TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY
+ID root HOST_NAME information_schema Query TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
INSERT INTO processlist SELECT * FROM test.t_processlist;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE test.t_processlist;
-CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS) AS SELECT * FROM processlist WITH CHECK OPTION;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY) AS SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist WITH CHECK OPTION;
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
-CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS) AS SELECT * FROM processlist;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY) AS SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist;
DROP VIEW test.v_processlist;
UPDATE processlist SET user='any_user' WHERE id=1 ;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
@@ -67,7 +72,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_
SHOW GRANTS;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
CREATE INDEX i_processlist ON processlist (user);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE processlist;
@@ -106,25 +111,30 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`TIME_MS` decimal(22,3) NOT NULL DEFAULT '0.000',
`STAGE` tinyint(2) NOT NULL DEFAULT '0',
`MAX_STAGE` tinyint(2) NOT NULL DEFAULT '0',
- `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000'
+ `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000',
+ `MEMORY_USED` int(7) NOT NULL DEFAULT '0',
+ `EXAMINED_ROWS` int(7) NOT NULL DEFAULT '0',
+ `QUERY_ID` bigint(4) NOT NULL DEFAULT '0',
+ `INFO_BINARY` blob,
+ `TID` bigint(4) NOT NULL DEFAULT '0'
) DEFAULT CHARSET=utf8
SHOW processlist;
Id User Host db Command Time State Info Progress
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM processlist ORDER BY id;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000
-SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS FROM processlist ORDER BY id;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS FROM processlist ORDER BY id TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM processlist ORDER BY id TID
+SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY
+ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
INSERT INTO processlist SELECT * FROM test.t_processlist;
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
DROP TABLE test.t_processlist;
-CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS) AS SELECT * FROM processlist WITH CHECK OPTION;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY) AS SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist WITH CHECK OPTION;
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
-CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS) AS SELECT * FROM processlist;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY) AS SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist;
DROP VIEW test.v_processlist;
UPDATE processlist SET user='any_user' WHERE id=1 ;
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
@@ -173,10 +183,10 @@ Grants for ddicttestuser1@localhost
GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
SHOW processlist;
Id User Host db Command Time State Info Progress
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
####################################################################################
4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
SHOW/SELECT shows all processes/threads.
@@ -188,16 +198,17 @@ SHOW processlist;
Id User Host db Command Time State Info Progress
ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
5 Grant PROCESS privilege to anonymous user.
connection default (user=root)
####################################################################################
+create user ''@'localhost';
GRANT PROCESS ON *.* TO ''@'localhost';
####################################################################################
5.1 Establish connection (anonymous1,localhost,'',,information_schema)
@@ -212,13 +223,13 @@ Id User Host db Command Time State Info Progress
ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
6 Revoke PROCESS privilege from ddicttestuser1
connection default (user=root)
@@ -236,12 +247,12 @@ SHOW processlist;
Id User Host db Command Time State Info Progress
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
7 Revoke PROCESS privilege from anonymous user
connection default (user=root)
@@ -256,9 +267,9 @@ SHOW GRANTS FOR ''@'localhost';
Grants for @localhost
GRANT USAGE ON *.* TO ''@'localhost'
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
connection default (user=root)
@@ -276,13 +287,13 @@ Id User Host db Command Time State Info Progress
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
9 Revoke SUPER privilege from user ddicttestuser1
connection default (user=root)
@@ -302,14 +313,14 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
10 Grant SUPER privilege with grant option to user ddicttestuser1.
connection default (user=root)
@@ -356,20 +367,20 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser2 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser2 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser2 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser2 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
11 User ddicttestuser1 revokes PROCESS privilege from user ddicttestuser2
connection ddicttestuser1;
@@ -385,11 +396,11 @@ GRANT USAGE ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA
SHOW processlist;
Id User Host db Command Time State Info Progress
ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser2 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser2 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser2 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser2 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
connection default (user=root)
@@ -414,17 +425,17 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
12 Revoke the SELECT privilege from user ddicttestuser1
connection default (user=root)
@@ -450,18 +461,18 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Query TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
12.2 Revoke only the SELECT privilege on the information_schema from ddicttestuser1.
connection default (user=root)
diff --git a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
index 66d3aa4c10b..c3c6780a09c 100644
--- a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
+++ b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
@@ -33,28 +33,33 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`TIME_MS` decimal(22,3) NOT NULL DEFAULT '0.000',
`STAGE` tinyint(2) NOT NULL DEFAULT '0',
`MAX_STAGE` tinyint(2) NOT NULL DEFAULT '0',
- `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000'
+ `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000',
+ `MEMORY_USED` int(7) NOT NULL DEFAULT '0',
+ `EXAMINED_ROWS` int(7) NOT NULL DEFAULT '0',
+ `QUERY_ID` bigint(4) NOT NULL DEFAULT '0',
+ `INFO_BINARY` blob,
+ `TID` bigint(4) NOT NULL DEFAULT '0'
) DEFAULT CHARSET=utf8
SHOW processlist;
Id User Host db Command Time State Info Progress
-ID root HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID root HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
SELECT * FROM processlist ORDER BY id;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID root HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS FROM processlist ORDER BY id;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID root HOST_NAME information_schema Execute TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS FROM processlist ORDER BY id TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID root HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM processlist ORDER BY id TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY
+ID root HOST_NAME information_schema Execute TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
INSERT INTO processlist SELECT * FROM test.t_processlist;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE test.t_processlist;
-CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS) AS SELECT * FROM processlist WITH CHECK OPTION;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY) AS SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist WITH CHECK OPTION;
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
-CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS) AS SELECT * FROM processlist;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY) AS SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist;
DROP VIEW test.v_processlist;
UPDATE processlist SET user='any_user' WHERE id=1 ;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
@@ -67,7 +72,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_
SHOW GRANTS;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
CREATE INDEX i_processlist ON processlist (user);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE processlist;
@@ -106,25 +111,30 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`TIME_MS` decimal(22,3) NOT NULL DEFAULT '0.000',
`STAGE` tinyint(2) NOT NULL DEFAULT '0',
`MAX_STAGE` tinyint(2) NOT NULL DEFAULT '0',
- `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000'
+ `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000',
+ `MEMORY_USED` int(7) NOT NULL DEFAULT '0',
+ `EXAMINED_ROWS` int(7) NOT NULL DEFAULT '0',
+ `QUERY_ID` bigint(4) NOT NULL DEFAULT '0',
+ `INFO_BINARY` blob,
+ `TID` bigint(4) NOT NULL DEFAULT '0'
) DEFAULT CHARSET=utf8
SHOW processlist;
Id User Host db Command Time State Info Progress
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM processlist ORDER BY id;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000
-SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS FROM processlist ORDER BY id;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS FROM processlist ORDER BY id TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM processlist ORDER BY id TID
+SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY
+ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist ORDER BY id
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
INSERT INTO processlist SELECT * FROM test.t_processlist;
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
DROP TABLE test.t_processlist;
-CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS) AS SELECT * FROM processlist WITH CHECK OPTION;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY) AS SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist WITH CHECK OPTION;
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
-CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS) AS SELECT * FROM processlist;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY) AS SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS, STAGE, MAX_STAGE, PROGRESS, MEMORY_USED, EXAMINED_ROWS, QUERY_ID, INFO_BINARY FROM processlist;
DROP VIEW test.v_processlist;
UPDATE processlist SET user='any_user' WHERE id=1 ;
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
@@ -173,10 +183,10 @@ Grants for ddicttestuser1@localhost
GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
SHOW processlist;
Id User Host db Command Time State Info Progress
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
####################################################################################
4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
SHOW/SELECT shows all processes/threads.
@@ -188,16 +198,17 @@ SHOW processlist;
Id User Host db Command Time State Info Progress
ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
5 Grant PROCESS privilege to anonymous user.
connection default (user=root)
####################################################################################
+create user ''@'localhost';
GRANT PROCESS ON *.* TO ''@'localhost';
####################################################################################
5.1 Establish connection (anonymous1,localhost,'',,information_schema)
@@ -212,13 +223,13 @@ Id User Host db Command Time State Info Progress
ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
6 Revoke PROCESS privilege from ddicttestuser1
connection default (user=root)
@@ -236,12 +247,12 @@ SHOW processlist;
Id User Host db Command Time State Info Progress
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
7 Revoke PROCESS privilege from anonymous user
connection default (user=root)
@@ -256,9 +267,9 @@ SHOW GRANTS FOR ''@'localhost';
Grants for @localhost
GRANT USAGE ON *.* TO ''@'localhost'
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
connection default (user=root)
@@ -276,13 +287,13 @@ Id User Host db Command Time State Info Progress
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
9 Revoke SUPER privilege from user ddicttestuser1
connection default (user=root)
@@ -302,14 +313,14 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
10 Grant SUPER privilege with grant option to user ddicttestuser1.
connection default (user=root)
@@ -356,20 +367,20 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser2 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser2 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser2 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser2 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
11 User ddicttestuser1 revokes PROCESS privilege from user ddicttestuser2
connection ddicttestuser1;
@@ -385,11 +396,11 @@ GRANT USAGE ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA
SHOW processlist;
Id User Host db Command Time State Info Progress
ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser2 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser2 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser2 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser2 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
connection default (user=root)
@@ -414,17 +425,17 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
12 Revoke the SELECT privilege from user ddicttestuser1
connection default (user=root)
@@ -450,18 +461,18 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS
-ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist TIME_MS
+ID ddicttestuser1 HOST_NAME information_schema Query TIME init SHOW processlist TIME_MS
SELECT * FROM information_schema.processlist;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
-ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+ID ddicttestuser1 HOST_NAME information_schema Execute TIME Filling schema table SELECT * FROM information_schema.processlist TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID SELECT * FROM information_schema.processlist TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
+ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS 0 0 0.000 MEMORY ROWS QUERY_ID NULL TID
####################################################################################
12.2 Revoke only the SELECT privilege on the information_schema from ddicttestuser1.
connection default (user=root)
diff --git a/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result b/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result
index d62165a86c2..acf81d090d1 100644
--- a/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result
+++ b/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result
@@ -23,17 +23,22 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`TIME_MS` decimal(22,3) NOT NULL DEFAULT '0.000',
`STAGE` tinyint(2) NOT NULL DEFAULT '0',
`MAX_STAGE` tinyint(2) NOT NULL DEFAULT '0',
- `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000'
+ `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000',
+ `MEMORY_USED` int(7) NOT NULL DEFAULT '0',
+ `EXAMINED_ROWS` int(7) NOT NULL DEFAULT '0',
+ `QUERY_ID` bigint(4) NOT NULL DEFAULT '0',
+ `INFO_BINARY` blob,
+ `TID` bigint(4) NOT NULL DEFAULT '0'
) DEFAULT CHARSET=utf8
# Ensure that the information about the own connection is correct.
#--------------------------------------------------------------------------
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> root <HOST_NAME> test Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> root <HOST_NAME> test Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
-<ID> root <HOST_NAME> test Query <TIME> NULL SHOW FULL PROCESSLIST <TIME_MS>
+<ID> root <HOST_NAME> test Query <TIME> init SHOW FULL PROCESSLIST <TIME_MS>
SET @default_id = CONNECTION_ID();
SELECT COUNT(*) = 1 AS "Expect exact one connection with this id"
FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = @default_id;
@@ -76,12 +81,12 @@ Has TIME a reasonable value?
# Poll till the connection con1 is in state COMMAND = 'Sleep'.
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000
-<ID> root <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Sleep <TIME> <STATE> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
+<ID> root <HOST_NAME> information_schema Query <TIME> <STATE> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
-<ID> root <HOST_NAME> information_schema Query <TIME> NULL SHOW FULL PROCESSLIST 0.000
+<ID> root <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL 0.000
SELECT ID,TIME INTO @test_user_con1_id,@time FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE COMMAND = 'Sleep' AND USER = 'test_user';
@@ -110,11 +115,11 @@ Expect 1
# ----- switch to connection con1 (user = test_user) -----
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
-<ID> test_user <HOST_NAME> information_schema Query <TIME> NULL SHOW FULL PROCESSLIST 0.000
+<ID> test_user <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
# Ensure that the user test_user sees all connections with his username.
#----------------------------------------------------------------------------
@@ -127,13 +132,13 @@ Id User Host db Command Time State Info Progress
# ----- switch to connection con2 (user = test_user) -----
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
-<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
+<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL 0.000
-<ID> test_user <HOST_NAME> information_schema Query <TIME> NULL SHOW FULL PROCESSLIST 0.000
+<ID> test_user <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
# ----- switch to connection default (user = root) -----
SELECT ID INTO @test_user_con2_id FROM INFORMATION_SCHEMA.PROCESSLIST
@@ -153,13 +158,13 @@ SELECT sleep(10), 17;
# Poll till connection con2 is in state 'User sleep'.
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Query <TIME> User sleep SELECT sleep(10), 17 <TIME_MS> 0 0 0.000
-<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000
-<ID> root <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Query <TIME> User sleep SELECT sleep(10), 17 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT sleep(10), 17 <TID>
+<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
+<ID> root <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
-<ID> root <HOST_NAME> information_schema Query <TIME> NULL SHOW FULL PROCESSLIST 0.000
+<ID> root <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL 0.000
<ID> test_user <HOST_NAME> information_schema Query <TIME> User sleep SELECT sleep(10), 17 0.000
SELECT STATE, TIME, INFO INTO @state, @time, @info
@@ -200,10 +205,10 @@ SELECT COUNT(*) FROM test.t1;
# Poll till INFO is no more NULL and State = 'Waiting for table metadata lock'.
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Query <TIME> Waiting for table metadata lock SELECT COUNT(*) FROM test.t1 <TIME_MS> 0 0 0.000
-<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000
-<ID> root <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Query <TIME> Waiting for table metadata lock SELECT COUNT(*) FROM test.t1 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT COUNT(*) FROM test.t1 <TID>
+<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
+<ID> root <HOST_NAME> information_schema Query <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
UNLOCK TABLES;
# ----- switch to connection con2 (user = test_user) -----
@@ -234,10 +239,10 @@ SELECT count(*),'BEGIN-This is the representative of a very long statement.This
# SHOW PROCESSLIST statement truncated after 100 char
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SELECT count(*),'BEGIN-This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.-END' AS "Long string" FROM test.t1 <TIME_MS> 0 0 0.000
-<ID> test_user <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> NULL <TIME_MS> 0 0 0.000
-<ID> root <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SELECT count(*),'BEGIN-This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.-END' AS "Long string" FROM test.t1 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT count(*),'BEGIN-This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.-END' AS "Long string" FROM test.t1 <TID>
+<ID> test_user <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
+<ID> root <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
<ID> root <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SHOW FULL PROCESSLIST 0.000
diff --git a/mysql-test/suite/funcs_1/r/processlist_val_ps.result b/mysql-test/suite/funcs_1/r/processlist_val_ps.result
index 9ea0aa6d021..8e5ef80fcf7 100644
--- a/mysql-test/suite/funcs_1/r/processlist_val_ps.result
+++ b/mysql-test/suite/funcs_1/r/processlist_val_ps.result
@@ -23,17 +23,22 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`TIME_MS` decimal(22,3) NOT NULL DEFAULT '0.000',
`STAGE` tinyint(2) NOT NULL DEFAULT '0',
`MAX_STAGE` tinyint(2) NOT NULL DEFAULT '0',
- `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000'
+ `PROGRESS` decimal(7,3) NOT NULL DEFAULT '0.000',
+ `MEMORY_USED` int(7) NOT NULL DEFAULT '0',
+ `EXAMINED_ROWS` int(7) NOT NULL DEFAULT '0',
+ `QUERY_ID` bigint(4) NOT NULL DEFAULT '0',
+ `INFO_BINARY` blob,
+ `TID` bigint(4) NOT NULL DEFAULT '0'
) DEFAULT CHARSET=utf8
# Ensure that the information about the own connection is correct.
#--------------------------------------------------------------------------
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> root <HOST_NAME> test Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> root <HOST_NAME> test Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
-<ID> root <HOST_NAME> test Query <TIME> NULL SHOW FULL PROCESSLIST <TIME_MS>
+<ID> root <HOST_NAME> test Query <TIME> init SHOW FULL PROCESSLIST <TIME_MS>
SET @default_id = CONNECTION_ID();
SELECT COUNT(*) = 1 AS "Expect exact one connection with this id"
FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = @default_id;
@@ -76,12 +81,12 @@ Has TIME a reasonable value?
# Poll till the connection con1 is in state COMMAND = 'Sleep'.
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000
-<ID> root <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Sleep <TIME> <STATE> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
+<ID> root <HOST_NAME> information_schema Execute <TIME> <STATE> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
-<ID> root <HOST_NAME> information_schema Query <TIME> NULL SHOW FULL PROCESSLIST 0.000
+<ID> root <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL 0.000
SELECT ID,TIME INTO @test_user_con1_id,@time FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE COMMAND = 'Sleep' AND USER = 'test_user';
@@ -110,11 +115,11 @@ Expect 1
# ----- switch to connection con1 (user = test_user) -----
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
-<ID> test_user <HOST_NAME> information_schema Query <TIME> NULL SHOW FULL PROCESSLIST 0.000
+<ID> test_user <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
# Ensure that the user test_user sees all connections with his username.
#----------------------------------------------------------------------------
@@ -127,13 +132,13 @@ Id User Host db Command Time State Info Progress
# ----- switch to connection con2 (user = test_user) -----
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
-<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
+<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL 0.000
-<ID> test_user <HOST_NAME> information_schema Query <TIME> NULL SHOW FULL PROCESSLIST 0.000
+<ID> test_user <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
# ----- switch to connection default (user = root) -----
SELECT ID INTO @test_user_con2_id FROM INFORMATION_SCHEMA.PROCESSLIST
@@ -153,13 +158,13 @@ SELECT sleep(10), 17;
# Poll till connection con2 is in state 'User sleep'.
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Query <TIME> User sleep SELECT sleep(10), 17 <TIME_MS> 0 0 0.000
-<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000
-<ID> root <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Query <TIME> User sleep SELECT sleep(10), 17 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT sleep(10), 17 <TID>
+<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
+<ID> root <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
-<ID> root <HOST_NAME> information_schema Query <TIME> NULL SHOW FULL PROCESSLIST 0.000
+<ID> root <HOST_NAME> information_schema Query <TIME> init SHOW FULL PROCESSLIST 0.000
<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL 0.000
<ID> test_user <HOST_NAME> information_schema Query <TIME> User sleep SELECT sleep(10), 17 0.000
SELECT STATE, TIME, INFO INTO @state, @time, @info
@@ -200,10 +205,10 @@ SELECT COUNT(*) FROM test.t1;
# Poll till INFO is no more NULL and State = 'Waiting for table metadata lock'.
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema Query <TIME> Waiting for table metadata lock SELECT COUNT(*) FROM test.t1 <TIME_MS> 0 0 0.000
-<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000
-<ID> root <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema Query <TIME> Waiting for table metadata lock SELECT COUNT(*) FROM test.t1 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT COUNT(*) FROM test.t1 <TID>
+<ID> test_user <HOST_NAME> information_schema Sleep <TIME> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
+<ID> root <HOST_NAME> information_schema Execute <TIME> Filling schema table SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
UNLOCK TABLES;
# ----- switch to connection con2 (user = test_user) -----
@@ -234,10 +239,10 @@ SELECT count(*),'BEGIN-This is the representative of a very long statement.This
# SHOW PROCESSLIST statement truncated after 100 char
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
-ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS
-<ID> test_user <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SELECT count(*),'BEGIN-This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.-END' AS "Long string" FROM test.t1 <TIME_MS> 0 0 0.000
-<ID> test_user <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> NULL <TIME_MS> 0 0 0.000
-<ID> root <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000
+ID USER HOST DB COMMAND TIME STATE INFO TIME_MS STAGE MAX_STAGE PROGRESS MEMORY_USED EXAMINED_ROWS QUERY_ID INFO_BINARY TID
+<ID> test_user <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SELECT count(*),'BEGIN-This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.-END' AS "Long string" FROM test.t1 <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT count(*),'BEGIN-This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.This is the representative of a very long statement.-END' AS "Long string" FROM test.t1 <TID>
+<ID> test_user <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> NULL <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> NULL <TID>
+<ID> root <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TIME_MS> 0 0 0.000 <MEMORY> <ROWS> <QUERY_ID> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST <TID>
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info Progress
<ID> root <HOST_NAME> information_schema <COMMAND> <TIME> <STATE> SHOW FULL PROCESSLIST 0.000
diff --git a/mysql-test/suite/funcs_1/r/storedproc.result b/mysql-test/suite/funcs_1/r/storedproc.result
index f9cdbb13d61..f0e1ee74e0b 100644
--- a/mysql-test/suite/funcs_1/r/storedproc.result
+++ b/mysql-test/suite/funcs_1/r/storedproc.result
@@ -1,3 +1,4 @@
+set sql_mode="";
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
@@ -142,7 +143,7 @@ BEGIN
SET @v1 = f1;
SELECT @v1;
END//
-ERROR 42000: Too big precision 256 specified for ''. Maximum is 65.
+ERROR 42000: Too big precision 256 specified for 'f1'. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
Warnings:
Note 1305 PROCEDURE db_storedproc.sp1 does not exist
@@ -152,7 +153,7 @@ BEGIN
SET @v1 = f1;
SELECT @v1;
END//
-ERROR 42000: Too big precision 66 specified for ''. Maximum is 65.
+ERROR 42000: Too big precision 66 specified for 'f1'. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
Warnings:
Note 1305 PROCEDURE db_storedproc.sp1 does not exist
@@ -1407,12 +1408,12 @@ BEGIN
SELECT f1;
END//
Warnings:
-Note 1291 Column '' has duplicated value 'value1' in ENUM
+Note 1291 Column 'f1' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
Warnings:
-Note 1291 Column '' has duplicated value 'value1' in ENUM
+Note 1291 Column 'f1' has duplicated value 'value1' in ENUM
SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
db_storedproc sp1 PROCEDURE root@localhost <modified> <created> INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
@@ -1423,12 +1424,12 @@ BEGIN
SELECT f1;
END//
Warnings:
-Note 1291 Column '' has duplicated value 'value1' in SET
+Note 1291 Column 'f1' has duplicated value 'value1' in SET
CALL sp1( "value1, value1" );
f1
value1
Warnings:
-Note 1291 Column '' has duplicated value 'value1' in SET
+Note 1291 Column 'f1' has duplicated value 'value1' in SET
Warning 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
@@ -1440,12 +1441,12 @@ BEGIN
SELECT f1;
END//
Warnings:
-Note 1291 Column '' has duplicated value 'value1' in ENUM
+Note 1291 Column 'f1' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
Warnings:
-Note 1291 Column '' has duplicated value 'value1' in ENUM
+Note 1291 Column 'f1' has duplicated value 'value1' in ENUM
SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
db_storedproc sp1 PROCEDURE root@localhost <modified> <created> INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
@@ -1548,7 +1549,7 @@ BEGIN
SET f1 = 1000000 + f1;
RETURN f1;
END//
-ERROR 42000: Too big scale 31 specified for ''. Maximum is 30.
+ERROR 42000: Too big scale 31 specified for 'f1'. Maximum is 30.
SELECT fn1( 1.3326e+8 );
ERROR 42000: FUNCTION db_storedproc.fn1 does not exist
CREATE FUNCTION fn1( f1 DECIMAL(63, 30) ) RETURNS DECIMAL(63, 30)
@@ -1570,7 +1571,7 @@ BEGIN
RETURN f1;
END//
Warnings:
-Note 1291 Column '' has duplicated value 'value1' in ENUM
+Note 1291 Column 'f1' has duplicated value 'value1' in ENUM
SELECT fn1( "value1" );
fn1( "value1" )
1.000000000000000000000000000000
@@ -1584,7 +1585,7 @@ BEGIN
RETURN f1;
END//
Warnings:
-Note 1291 Column '' has duplicated value 'value1' in SET
+Note 1291 Column 'f1' has duplicated value 'value1' in SET
SELECT fn1( "value1, value1" );
fn1( "value1, value1" )
1.000000000000000000000000000000
@@ -1822,7 +1823,7 @@ grant execute on db_storedproc.* to 'user_1'@'localhost';
flush privileges;
drop table IF EXISTS mysql.t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'mysql.t1'
create table mysql.t1( f1 char );
DROP PROCEDURE IF EXISTS sp11;
Warnings:
@@ -2262,7 +2263,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE if()
SELECT * from t1 where f2=f1;
-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 'if()
+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 '()
SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE ignore()
SELECT * from t1 where f2=f1;
@@ -3119,10 +3120,7 @@ return f1;
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1(f1 char binary ) returns char binary
return f1;
-ERROR 42000: This version of MariaDB doesn't yet support 'return value collation'
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION db_storedproc.fn1 does not exist
CREATE FUNCTION fn1(f1 char ascii ) returns char ascii
return f1;
DROP FUNCTION IF EXISTS fn1;
@@ -5836,7 +5834,7 @@ fetch cur1 into e;
SELECT x, y, z, a, b, c, d, e;
close cur1;
END//
-ERROR 42000: Too big scale 255 specified for ''. Maximum is 30.
+ERROR 42000: Too big scale 255 specified for 'b'. Maximum is 30.
CALL sp6();
ERROR 42000: PROCEDURE db_storedproc.sp6 does not exist
DROP PROCEDURE IF EXISTS sp6;
@@ -9327,8 +9325,6 @@ insert into t2 values (1);
set @x = 3;
END//
CALL sp1();
-Warnings:
-Error 1136 Column count doesn't match value count at row 1
DROP PROCEDURE sp1;
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -13754,8 +13750,6 @@ END//
CALL sp1();
x y @x
NULL a 3
-Warnings:
-Error 1305 PROCEDURE db_storedproc.nonsexist does not exist
SELECT @v1, @v2;
@v1 @v2
4 a
@@ -13876,7 +13870,7 @@ CALL sp1();
xx
0
Warnings:
-Warning 1265 Data truncated for column 'xx' at row 1
+Warning 1366 Incorrect double value: 'asd' for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -14940,8 +14934,6 @@ NULL NULL
NULL NULL
@x @y
NULL NULL
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.63:
@@ -15101,8 +15093,6 @@ END;
fetch cur1 into newf1, newf2, newf4, newf3;
END//
CALL sp1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.70:
@@ -16351,7 +16341,6 @@ fn7(99999999999)
9999999999
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn8;
CREATE FUNCTION fn8( f1 decimal (0) unsigned zerofill) returns decimal (0) unsigned zerofill
BEGIN
@@ -16361,8 +16350,6 @@ END//
SELECT fn8(999999999);
fn8(999999999)
1000000000
-Warnings:
-Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn9;
CREATE FUNCTION fn9( f1 decimal (0) zerofill) returns decimal (0) zerofill
BEGIN
@@ -16374,7 +16361,6 @@ fn9(-1.00e+09)
0000000010
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn10;
CREATE FUNCTION fn10( f1 decimal (0, 0)) returns decimal (0, 0)
BEGIN
@@ -16395,7 +16381,6 @@ fn11(99999999999)
9999999999
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn12;
CREATE FUNCTION fn12( f1 decimal (0, 0) unsigned zerofill) returns decimal (0, 0) unsigned zerofill
BEGIN
@@ -16405,8 +16390,6 @@ END//
SELECT fn12(999999999);
fn12(999999999)
1000000000
-Warnings:
-Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn13;
CREATE FUNCTION fn13( f1 decimal (0, 0) zerofill) returns decimal (0, 0) zerofill
BEGIN
@@ -16418,7 +16401,6 @@ fn13(-1.00e+09)
0000000010
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn14;
CREATE FUNCTION fn14( f1 decimal (63, 30)) returns decimal (63, 30)
BEGIN
@@ -16457,7 +16439,6 @@ fn17(-1.00e+21)
000000000000000000000000000000010.000000000000000000000000000000
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn18_d;
CREATE FUNCTION fn18_d( f1 decimal (64)) returns decimal (64)
BEGIN
@@ -16494,8 +16475,6 @@ END//
SELECT fn21_d_z(1.00e+00);
fn21_d_z(1.00e+00)
0000000000000000000000000000000000000000000000000000000000000010
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn22;
CREATE FUNCTION fn22( f1 decimal unsigned) returns decimal unsigned
BEGIN
@@ -16505,8 +16484,6 @@ END//
SELECT fn22(1.00e+00);
fn22(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn23;
CREATE FUNCTION fn23( f1 decimal unsigned zerofill) returns decimal unsigned zerofill
BEGIN
@@ -16516,8 +16493,6 @@ END//
SELECT fn23(1.00e+00);
fn23(1.00e+00)
0000000010
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn24;
CREATE FUNCTION fn24( f1 decimal zerofill) returns decimal zerofill
BEGIN
@@ -16529,7 +16504,6 @@ fn24(-1.00e+09)
0000000010
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn25;
CREATE FUNCTION fn25( f1 double) returns double
BEGIN
@@ -16548,8 +16522,6 @@ END//
SELECT fn26(1.00e+00);
fn26(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn27;
CREATE FUNCTION fn27( f1 double unsigned zerofill) returns double unsigned zerofill
BEGIN
@@ -16559,8 +16531,6 @@ END//
SELECT fn27(1.00e+00);
fn27(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn28;
CREATE FUNCTION fn28( f1 double zerofill) returns double zerofill
BEGIN
@@ -16570,8 +16540,6 @@ END//
SELECT fn28(1.00e+00);
fn28(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn29;
CREATE FUNCTION fn29( f1 float) returns float
BEGIN
@@ -16590,8 +16558,6 @@ END//
SELECT fn30(1.00e+00);
fn30(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn31;
CREATE FUNCTION fn31( f1 float unsigned zerofill) returns float unsigned zerofill
BEGIN
@@ -16601,8 +16567,6 @@ END//
SELECT fn31(1.00e+00);
fn31(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn32;
CREATE FUNCTION fn32( f1 float zerofill) returns float zerofill
BEGIN
@@ -16612,8 +16576,6 @@ END//
SELECT fn32(1.00e+00);
fn32(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn33;
CREATE FUNCTION fn33( f1 float(0)) returns float(0)
BEGIN
@@ -16632,8 +16594,6 @@ END//
SELECT fn34(1.00e+00);
fn34(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn35;
CREATE FUNCTION fn35( f1 float(0) unsigned zerofill) returns float(0) unsigned zerofill
BEGIN
@@ -16643,8 +16603,6 @@ END//
SELECT fn35(1.00e+00);
fn35(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn36;
CREATE FUNCTION fn36( f1 float(0) zerofill) returns float(0) zerofill
BEGIN
@@ -16654,8 +16612,6 @@ END//
SELECT fn36(1.00e+00);
fn36(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn37;
CREATE FUNCTION fn37( f1 float(23)) returns float(23)
BEGIN
@@ -16674,8 +16630,6 @@ END//
SELECT fn38(1.00e+00);
fn38(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn39;
CREATE FUNCTION fn39( f1 float(23) unsigned zerofill) returns float(23) unsigned zerofill
BEGIN
@@ -16685,8 +16639,6 @@ END//
SELECT fn39(1.00e+00);
fn39(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn40;
CREATE FUNCTION fn40( f1 float(23) zerofill) returns float(23) zerofill
BEGIN
@@ -16696,8 +16648,6 @@ END//
SELECT fn40(1.00e+00);
fn40(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn41;
CREATE FUNCTION fn41( f1 float(24)) returns float(24)
BEGIN
@@ -16716,8 +16666,6 @@ END//
SELECT fn42(1.00e+00);
fn42(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn43;
CREATE FUNCTION fn43( f1 float(24) unsigned zerofill) returns float(24) unsigned zerofill
BEGIN
@@ -16727,8 +16675,6 @@ END//
SELECT fn43(1.00e+00);
fn43(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn44;
CREATE FUNCTION fn44( f1 float(24) zerofill) returns float(24) zerofill
BEGIN
@@ -16738,8 +16684,6 @@ END//
SELECT fn44(1.00e+00);
fn44(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn45;
CREATE FUNCTION fn45( f1 float(53)) returns float(53)
BEGIN
@@ -16758,8 +16702,6 @@ END//
SELECT fn46(1.00e+00);
fn46(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn47;
CREATE FUNCTION fn47( f1 float(53) unsigned zerofill) returns float(53) unsigned zerofill
BEGIN
@@ -16769,8 +16711,6 @@ END//
SELECT fn47(1.00e+00);
fn47(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn48;
CREATE FUNCTION fn48( f1 float(53) zerofill) returns float(53) zerofill
BEGIN
@@ -16780,8 +16720,6 @@ END//
SELECT fn48(1.00e+00);
fn48(1.00e+00)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn49;
CREATE FUNCTION fn49( f1 int) returns int
BEGIN
@@ -16793,7 +16731,6 @@ fn49(-2.15e+09)
-2147483638
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn50;
CREATE FUNCTION fn50( f1 int unsigned) returns int unsigned
BEGIN
@@ -16830,8 +16767,6 @@ END//
SELECT fn53(-8388600);
fn53(-8388600)
-8388598
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn54;
CREATE FUNCTION fn54( f1 mediumint unsigned) returns mediumint unsigned
BEGIN
@@ -16867,8 +16802,6 @@ END//
SELECT fn57(-999999999);
fn57(-999999999)
-1000000000
-Warnings:
-Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn58;
CREATE FUNCTION fn58( f1 numeric (0)) returns numeric (0)
BEGIN
@@ -16878,8 +16811,6 @@ END//
SELECT fn58(-999999999);
fn58(-999999999)
-1000000000
-Warnings:
-Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn59;
CREATE FUNCTION fn59( f1 numeric (0) unsigned) returns numeric (0) unsigned
BEGIN
@@ -16889,8 +16820,6 @@ END//
SELECT fn59(9999999999);
fn59(9999999999)
9999999999
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn60;
CREATE FUNCTION fn60( f1 numeric (0) unsigned zerofill) returns numeric (0) unsigned zerofill
BEGIN
@@ -16900,8 +16829,6 @@ END//
SELECT fn60(99999999);
fn60(99999999)
0100000000
-Warnings:
-Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn61;
CREATE FUNCTION fn61( f1 numeric (0) zerofill) returns numeric (0) zerofill
BEGIN
@@ -16913,7 +16840,6 @@ fn61(-99999999)
0000000010
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn62;
CREATE FUNCTION fn62( f1 numeric (0, 0)) returns numeric (0, 0)
BEGIN
@@ -16923,8 +16849,6 @@ END//
SELECT fn62(-999999999);
fn62(-999999999)
-1000000000
-Warnings:
-Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn63;
CREATE FUNCTION fn63( f1 numeric (0, 0) unsigned) returns numeric (0, 0) unsigned
BEGIN
@@ -16934,8 +16858,6 @@ END//
SELECT fn63(9999999999);
fn63(9999999999)
9999999999
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn64;
CREATE FUNCTION fn64( f1 numeric (0, 0) unsigned zerofill) returns numeric (0, 0) unsigned zerofill
BEGIN
@@ -16945,8 +16867,6 @@ END//
SELECT fn64(99999999);
fn64(99999999)
0100000000
-Warnings:
-Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn65;
CREATE FUNCTION fn65( f1 numeric (0, 0) zerofill) returns numeric (0, 0) zerofill
BEGIN
@@ -16958,7 +16878,6 @@ fn65(-99999999)
0000000010
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn66;
CREATE FUNCTION fn66( f1 numeric (63, 30)) returns numeric (63, 30)
BEGIN
@@ -16970,7 +16889,6 @@ fn66(-1e+36)
-999999999999999999999999999999989.999999999999999999999999999999
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn67;
CREATE FUNCTION fn67( f1 numeric (63, 30) unsigned) returns numeric (63, 30) unsigned
BEGIN
@@ -16982,7 +16900,6 @@ fn67(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn68;
CREATE FUNCTION fn68( f1 numeric (63, 30) unsigned zerofill) returns numeric (63, 30) unsigned zerofill
BEGIN
@@ -16994,7 +16911,6 @@ fn68(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn69;
CREATE FUNCTION fn69( f1 numeric (63, 30) zerofill) returns numeric (63, 30) zerofill
BEGIN
@@ -17006,7 +16922,6 @@ fn69(-1e+36)
000000000000000000000000000000010.000000000000000000000000000000
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn70_n;
CREATE FUNCTION fn70_n( f1 numeric (64)) returns numeric (64)
BEGIN
@@ -17055,8 +16970,6 @@ END//
SELECT fn74(999999999);
fn74(999999999)
1000000000
-Warnings:
-Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn75;
CREATE FUNCTION fn75( f1 numeric unsigned zerofill) returns numeric unsigned zerofill
BEGIN
@@ -17066,8 +16979,6 @@ END//
SELECT fn75(999999999);
fn75(999999999)
1000000000
-Warnings:
-Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn76;
CREATE FUNCTION fn76( f1 numeric zerofill) returns numeric zerofill
BEGIN
@@ -17079,7 +16990,6 @@ fn76(-999999999)
0000000010
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn77;
CREATE FUNCTION fn77( f1 real) returns real
BEGIN
@@ -17098,8 +17008,6 @@ END//
SELECT fn78(1.1);
fn78(1.1)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn79;
CREATE FUNCTION fn79( f1 real unsigned zerofill) returns real unsigned zerofill
BEGIN
@@ -17109,8 +17017,6 @@ END//
SELECT fn79(1.1);
fn79(1.1)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn80;
CREATE FUNCTION fn80( f1 real zerofill) returns real zerofill
BEGIN
@@ -17120,8 +17026,6 @@ END//
SELECT fn80(1.1);
fn80(1.1)
10
-Warnings:
-Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn81;
CREATE FUNCTION fn81( f1 smallint) returns smallint
BEGIN
@@ -17254,8 +17158,6 @@ END//
SELECT fn94( 'h');
fn94( 'h')
a
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn95;
CREATE FUNCTION fn95( f1 char ascii) returns char ascii
BEGIN
@@ -17265,8 +17167,6 @@ END//
SELECT fn95('h');
fn95('h')
a
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn96;
CREATE FUNCTION fn96( f1 binary) returns binary(2)
BEGIN
@@ -17276,8 +17176,6 @@ END//
SELECT fn96( 'h');
fn96( 'h')
a
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn97;
CREATE FUNCTION fn97( f1 longtext) returns longtext
BEGIN
@@ -22351,7 +22249,7 @@ Warnings:
Note 1305 FUNCTION db_storedproc.fn1 does not exist
drop table IF EXISTS res_t9;
Warnings:
-Note 1051 Unknown table 'res_t9'
+Note 1051 Unknown table 'db_storedproc.res_t9'
create table res_t9 (f1 int, f2 char(25), f3 int);
insert into res_t9 values (10, 'abc', 20);
CREATE FUNCTION fn1(i1 longtext) returns longtext
@@ -22377,7 +22275,7 @@ Warnings:
Note 1305 FUNCTION db_storedproc.fn1 does not exist
drop table IF EXISTS res_t9;
Warnings:
-Note 1051 Unknown table 'res_t9'
+Note 1051 Unknown table 'db_storedproc.res_t9'
create table res_t9 (f1 int, f2 char(25), f3 int);
CREATE FUNCTION fn1(i1 longtext) returns longtext
BEGIN
@@ -22453,8 +22351,6 @@ END//
CALL h1 ();
@x @x2
1 1
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE h1;
DROP PROCEDURE sp1;
@@ -22472,8 +22368,6 @@ END//
CALL h1 ();
@x @x2
1 1
-Warnings:
-Error 1305 PROCEDURE db_storedproc.sp1 does not exist
DROP PROCEDURE h1;
Testcase 4.11.3:
@@ -22493,8 +22387,6 @@ CALL sp1 (1);
set @x=0;
END//
CALL h1();
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
SELECT @x, @x2;
@x @x2
1 1
@@ -22513,8 +22405,6 @@ CALL sp1 (1);
set @x=0;
END//
CALL h1 ();
-Warnings:
-Error 1305 PROCEDURE db_storedproc.sp1 does not exist
SELECT @x, @x2;
@x @x2
1 1
@@ -22539,8 +22429,6 @@ END//
CALL h1 ();
@x @x2
1 1
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE h1;
DROP PROCEDURE sp1;
@@ -22563,8 +22451,6 @@ END//
CALL h1 ();
@x @x2
1 1
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE h1;
DROP PROCEDURE sp1;
@@ -22587,8 +22473,6 @@ END//
CALL h1 ();
@x @x2
1 1
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE h1;
DROP PROCEDURE sp1;
@@ -22606,8 +22490,6 @@ END//
CALL h1 ();
@x @x2
1 1
-Warnings:
-Error 1305 PROCEDURE db_storedproc.sp1 does not exist
DROP PROCEDURE h1;
Testcase 4.11.9:
@@ -22627,8 +22509,6 @@ CALL sp1 (1);
set @x=0;
END//
CALL h1();
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
SELECT @x, @x2;
@x @x2
1 1
@@ -22647,8 +22527,6 @@ CALL sp1 (1);
set @x=0;
END//
CALL h1 ();
-Warnings:
-Error 1305 PROCEDURE db_storedproc.sp1 does not exist
SELECT @x, @x2;
@x @x2
1 1
@@ -22673,8 +22551,6 @@ END//
CALL h1 ();
@x @x2
1 1
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE h1;
DROP PROCEDURE sp1;
@@ -22697,8 +22573,6 @@ END//
CALL h1 ();
@x @x2
1 1
-Warnings:
-Error 1318 Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
DROP PROCEDURE h1;
DROP PROCEDURE sp1;
@@ -22734,8 +22608,6 @@ done
1
done
1
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -22809,8 +22681,6 @@ done
0
done
1
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -22848,8 +22718,6 @@ done
0
done
1
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -22880,8 +22748,6 @@ done
0
done
1
-Warnings:
-Error 1328 Incorrect number of FETCH variables
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -22912,8 +22778,6 @@ done
0
done
1
-Warnings:
-Error 1328 Incorrect number of FETCH variables
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -22944,8 +22808,6 @@ END//
CALL h1();
done
0
-Warnings:
-Error 1328 Incorrect number of FETCH variables
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -22976,8 +22838,6 @@ END//
CALL h1();
done
0
-Warnings:
-Error 1328 Incorrect number of FETCH variables
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -23008,8 +22868,6 @@ done
0
done
1
-Warnings:
-Error 1325 Cursor is already open
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -23041,8 +22899,6 @@ done
0
done @x
1 1
-Warnings:
-Error 1325 Cursor is already open
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -23073,8 +22929,6 @@ END//
CALL h1();
done
0
-Warnings:
-Error 1325 Cursor is already open
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -23105,8 +22959,6 @@ END//
CALL h1();
done
0
-Warnings:
-Error 1325 Cursor is already open
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -23134,8 +22986,6 @@ END//
CALL h1();
done @x
1 1
-Warnings:
-Error 1326 Cursor is not open
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -23163,8 +23013,6 @@ END//
CALL h1();
done @x
1 1
-Warnings:
-Error 1326 Cursor is not open
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -23190,8 +23038,6 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-Warnings:
-Error 1326 Cursor is not open
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -23217,8 +23063,6 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-Warnings:
-Error 1326 Cursor is not open
DROP PROCEDURE IF EXISTS h1;
drop table IF EXISTS res_t1;
drop table IF EXISTS res_t2;
@@ -23249,8 +23093,6 @@ END//
CALL h1();
done @x
1 1
-Warnings:
-Error 1339 Case not found for CASE statement
DROP PROCEDURE IF EXISTS h1;
drop table IF EXISTS res_t1;
drop table IF EXISTS res_t2;
@@ -23281,8 +23123,6 @@ END//
CALL h1();
done @x
1 1
-Warnings:
-Error 1339 Case not found for CASE statement
DROP PROCEDURE IF EXISTS h1;
drop table IF EXISTS res_t1;
drop table IF EXISTS res_t2;
@@ -23311,8 +23151,6 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-Warnings:
-Error 1339 Case not found for CASE statement
DROP PROCEDURE IF EXISTS h1;
drop table IF EXISTS res_t1;
drop table IF EXISTS res_t2;
@@ -23341,8 +23179,6 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-Warnings:
-Error 1339 Case not found for CASE statement
DROP PROCEDURE IF EXISTS h1;
DROP TABLE IF EXISTS res_t1;
DROP TABLE IF EXISTS res_t2;
@@ -23491,9 +23327,6 @@ CREATE TABLE res_t1(w CHAR, x CHAR);
INSERT INTO res_t1 VALUES('a', 'b');
INSERT INTO res_t1 VALUES('c', 'd');
CALL h1();
-Warnings:
-Warning 1265 Data truncated for column 'w' at row 1
-Warning 1265 Data truncated for column 'x' at row 1
SELECT @done, @x;
@done @x
1 1
@@ -23516,9 +23349,6 @@ CREATE TABLE res_t1(w CHAR, x CHAR);
INSERT INTO res_t1 VALUES('a', 'b');
INSERT INTO res_t1 VALUES('c', 'd');
CALL h1();
-Warnings:
-Warning 1265 Data truncated for column 'w' at row 1
-Warning 1265 Data truncated for column 'x' at row 1
SELECT @done, @x;
@done @x
1 1
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc
index 3e5ca055ae1..c4f8496fd06 100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc
@@ -4,6 +4,8 @@
# privileges.
--source include/not_embedded.inc
+set GLOBAL sql_mode="";
+
--source suite/funcs_1/storedproc/load_sp_tb.inc
# ==============================================================================
@@ -451,6 +453,7 @@ DROP USER 'user_2'@'localhost';
# USE the same .inc to cleanup before and after the test
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
+set GLOBAL sql_mode=default;
# ==============================================================================
--echo
--echo . +++ END OF SCRIPT +++
diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test
index ce061da2299..7bfc3153a61 100644
--- a/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test
+++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test
@@ -4,6 +4,7 @@
--source include/have_innodb.inc
# 2. Set $engine_type
+set sql_mode="";
let $engine_type= innodb;
--source suite/funcs_1/storedproc/storedproc_06.inc
diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test
index c8c289c5f49..39c983ad2a0 100644
--- a/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test
+++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test
@@ -4,6 +4,7 @@
--source include/have_innodb.inc
# 2. Set $engine_type
+set sql_mode="";
let $engine_type= innodb;
--source suite/funcs_1/storedproc/storedproc_08.inc
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_03.test b/mysql-test/suite/funcs_1/t/innodb_trig_03.test
index 2a611c97fbf..f2a8fa3c1d9 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_03.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_03.test
@@ -5,6 +5,7 @@
# 1. Check if InnoDB is available
--source include/have_innodb.inc
# 2. Set $engine_type
+set sql_mode="";
let $engine_type= innodb;
--source suite/funcs_1/triggers/triggers_03.inc
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_0407.test b/mysql-test/suite/funcs_1/t/innodb_trig_0407.test
index d8081770f4b..dddb000cf18 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_0407.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_0407.test
@@ -5,6 +5,7 @@
# 1. Check if InnoDB is available
--source include/have_innodb.inc
# 2. Set $engine_type
+set sql_mode="";
let $engine_type= innodb;
--source suite/funcs_1/triggers/triggers_0407.inc
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_08.test b/mysql-test/suite/funcs_1/t/innodb_trig_08.test
index ba48b977ba2..c870c1a7895 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_08.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_08.test
@@ -5,6 +5,7 @@
# 1. Check if InnoDB is available
--source include/have_innodb.inc
# 2. Set $engine_type
+set sql_mode="";
let $engine_type= innodb;
--source suite/funcs_1/triggers/triggers_08.inc
diff --git a/mysql-test/suite/funcs_1/t/is_basics_mixed.test b/mysql-test/suite/funcs_1/t/is_basics_mixed.test
index ee4e009ab0d..21efafb5afa 100644
--- a/mysql-test/suite/funcs_1/t/is_basics_mixed.test
+++ b/mysql-test/suite/funcs_1/t/is_basics_mixed.test
@@ -23,7 +23,7 @@
# - Can't create/write to file
# '.../var/master-data/information_schema/tables.frm~
--source include/not_embedded.inc
-
+--source include/have_innodb.inc
--source suite/funcs_1/datadict/datadict.pre
# $engine_type must point to storage engine which is all time available.
diff --git a/mysql-test/suite/funcs_1/t/is_columns_is_embedded.test b/mysql-test/suite/funcs_1/t/is_columns_is_embedded.test
index c0829ab2636..9db247fd6fd 100644
--- a/mysql-test/suite/funcs_1/t/is_columns_is_embedded.test
+++ b/mysql-test/suite/funcs_1/t/is_columns_is_embedded.test
@@ -13,12 +13,8 @@
# 2008-06-06 mleich Create this variant for the embedded server
#
---source include/have_xtradb.inc
-
-if (`SELECT VERSION() NOT LIKE '%embedded%'`)
-{
- --skip Test requires: embedded server
-}
+--source include/have_innodb.inc
+--source include/is_embedded.inc
let $my_where = WHERE table_schema = 'information_schema'
AND table_name <> 'profiling' AND table_name not like 'innodb_%';
diff --git a/mysql-test/suite/funcs_1/t/is_columns_mysql.test b/mysql-test/suite/funcs_1/t/is_columns_mysql.test
index a844e18f5be..0566241bd20 100644
--- a/mysql-test/suite/funcs_1/t/is_columns_mysql.test
+++ b/mysql-test/suite/funcs_1/t/is_columns_mysql.test
@@ -13,6 +13,7 @@
#
--source include/not_embedded.inc
+--source include/have_innodb.inc
let $my_where = WHERE table_schema = 'mysql';
--source suite/funcs_1/datadict/columns.inc
diff --git a/mysql-test/suite/funcs_1/t/is_engines_federated.opt b/mysql-test/suite/funcs_1/t/is_engines_federated.opt
deleted file mode 100644
index e3c507f518d..00000000000
--- a/mysql-test/suite/funcs_1/t/is_engines_federated.opt
+++ /dev/null
@@ -1,2 +0,0 @@
---loose-federated
---plugin-load=$HA_FEDERATEDX_SO
diff --git a/mysql-test/suite/funcs_1/t/is_engines_innodb.test b/mysql-test/suite/funcs_1/t/is_engines_innodb.test
index 44c7d7652d7..b78cb647514 100644
--- a/mysql-test/suite/funcs_1/t/is_engines_innodb.test
+++ b/mysql-test/suite/funcs_1/t/is_engines_innodb.test
@@ -11,6 +11,6 @@
let $engine_type= InnoDB;
--source include/have_innodb.inc
--vertical_results
---replace_regex /XtraDB engine based on InnoDB plugin. //
+--replace_regex /Percona-XtraDB, //
eval SELECT * FROM information_schema.engines
WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_key_column_usage.test b/mysql-test/suite/funcs_1/t/is_key_column_usage.test
index a6bd8fc3989..8a911231dc0 100644
--- a/mysql-test/suite/funcs_1/t/is_key_column_usage.test
+++ b/mysql-test/suite/funcs_1/t/is_key_column_usage.test
@@ -16,4 +16,5 @@
#
--source include/not_embedded.inc
+--source include/have_innodb.inc
--source suite/funcs_1/datadict/is_key_column_usage.inc
diff --git a/mysql-test/suite/funcs_1/t/is_key_column_usage_embedded.test b/mysql-test/suite/funcs_1/t/is_key_column_usage_embedded.test
index c2c99c34e3e..7a823821a6b 100644
--- a/mysql-test/suite/funcs_1/t/is_key_column_usage_embedded.test
+++ b/mysql-test/suite/funcs_1/t/is_key_column_usage_embedded.test
@@ -13,6 +13,7 @@
# 2008-06-06 mleich Create this this variant for the embedded server.
#
+--source include/have_innodb.inc
if (`SELECT VERSION() NOT LIKE '%embedded%'`)
{
--skip Test requires: embedded server
diff --git a/mysql-test/suite/funcs_1/t/is_statistics_mysql.test b/mysql-test/suite/funcs_1/t/is_statistics_mysql.test
index a1250b67b8c..2ddada4ffe7 100644
--- a/mysql-test/suite/funcs_1/t/is_statistics_mysql.test
+++ b/mysql-test/suite/funcs_1/t/is_statistics_mysql.test
@@ -13,6 +13,7 @@
#
--source include/not_embedded.inc
+--source include/have_innodb.inc
let $database = mysql;
let $my_where = WHERE table_schema = 'mysql';
--source suite/funcs_1/datadict/statistics.inc
diff --git a/mysql-test/suite/funcs_1/t/is_statistics_mysql_embedded.test b/mysql-test/suite/funcs_1/t/is_statistics_mysql_embedded.test
index 6fedbe4d3a8..6c3159901a2 100644
--- a/mysql-test/suite/funcs_1/t/is_statistics_mysql_embedded.test
+++ b/mysql-test/suite/funcs_1/t/is_statistics_mysql_embedded.test
@@ -14,6 +14,7 @@ if (`SELECT VERSION() NOT LIKE '%embedded%'`)
{
--skip Test requires: embedded server
}
+--source include/have_innodb.inc
let $database = mysql;
let $my_where = WHERE table_schema = 'mysql';
--source suite/funcs_1/datadict/statistics.inc
diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints.test b/mysql-test/suite/funcs_1/t/is_table_constraints.test
index a64b3bfaa6e..79766fc1dff 100644
--- a/mysql-test/suite/funcs_1/t/is_table_constraints.test
+++ b/mysql-test/suite/funcs_1/t/is_table_constraints.test
@@ -19,6 +19,7 @@
# This test cannot be used for the embedded server because we check here
# privileges.
--source include/not_embedded.inc
+--source include/have_innodb.inc
let $engine_type = MyISAM;
diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test b/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test
index a909676943e..5a9cbd352d8 100644
--- a/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test
+++ b/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test
@@ -13,5 +13,6 @@
#
--source include/not_embedded.inc
+--source include/have_innodb.inc
let $table_schema = mysql;
--source suite/funcs_1/datadict/table_constraints.inc
diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints_mysql_embedded.test b/mysql-test/suite/funcs_1/t/is_table_constraints_mysql_embedded.test
index 8994be31be8..dbe00798378 100644
--- a/mysql-test/suite/funcs_1/t/is_table_constraints_mysql_embedded.test
+++ b/mysql-test/suite/funcs_1/t/is_table_constraints_mysql_embedded.test
@@ -10,6 +10,7 @@
# 2008-06-06 mleich Create this this variant for the embedded server.
#
+--source include/have_innodb.inc
if (`SELECT VERSION() NOT LIKE '%embedded%'`)
{
--skip Test requires: embedded server
diff --git a/mysql-test/suite/funcs_1/t/is_tables_mysql.test b/mysql-test/suite/funcs_1/t/is_tables_mysql.test
index 838704051f8..22dc5d6e74e 100644
--- a/mysql-test/suite/funcs_1/t/is_tables_mysql.test
+++ b/mysql-test/suite/funcs_1/t/is_tables_mysql.test
@@ -13,5 +13,6 @@
#
--source include/not_embedded.inc
+--source include/have_innodb.inc
let $my_where = WHERE table_schema = 'mysql';
--source suite/funcs_1/datadict/tables1.inc
diff --git a/mysql-test/suite/funcs_1/t/is_tables_mysql_embedded.test b/mysql-test/suite/funcs_1/t/is_tables_mysql_embedded.test
index 3f4ca17cdd3..60251370aaa 100644
--- a/mysql-test/suite/funcs_1/t/is_tables_mysql_embedded.test
+++ b/mysql-test/suite/funcs_1/t/is_tables_mysql_embedded.test
@@ -10,6 +10,7 @@
# 2008-06-06 mleich Create this this variant for the embedded server.
#
+--source include/have_innodb.inc
if (`SELECT VERSION() NOT LIKE '%embedded%'`)
{
--skip Test requires: embedded server
diff --git a/mysql-test/suite/funcs_1/t/processlist_priv_no_prot.test b/mysql-test/suite/funcs_1/t/processlist_priv_no_prot.test
index d6746d92250..88563b046df 100644
--- a/mysql-test/suite/funcs_1/t/processlist_priv_no_prot.test
+++ b/mysql-test/suite/funcs_1/t/processlist_priv_no_prot.test
@@ -25,10 +25,6 @@ let $fixed_bug_30395= 0;
# The file with expected results fits only to a run without
# ps-protocol/sp-protocol/cursor-protocol/view-protocol.
-if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL
- + $VIEW_PROTOCOL > 0`)
-{
- --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
-}
+--source include/no_protocol.inc
--source suite/funcs_1/datadict/processlist_priv.inc
diff --git a/mysql-test/suite/funcs_1/t/processlist_val_no_prot.test b/mysql-test/suite/funcs_1/t/processlist_val_no_prot.test
index b92c963c79c..a03d3774484 100644
--- a/mysql-test/suite/funcs_1/t/processlist_val_no_prot.test
+++ b/mysql-test/suite/funcs_1/t/processlist_val_no_prot.test
@@ -20,10 +20,6 @@
# The file with expected results fits only to a run without
# ps-protocol/sp-protocol/cursor-protocol/view-protocol.
-if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL
- + $VIEW_PROTOCOL > 0`)
-{
- --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
-}
+--source include/no_protocol.inc
--source suite/funcs_1/datadict/processlist_val.inc
diff --git a/mysql-test/suite/funcs_1/t/storedproc.test b/mysql-test/suite/funcs_1/t/storedproc.test
index 69406a57a00..ca9dfcbbe2d 100644
--- a/mysql-test/suite/funcs_1/t/storedproc.test
+++ b/mysql-test/suite/funcs_1/t/storedproc.test
@@ -9,6 +9,7 @@
# - restore global sort_buffer_size after some subtest
#
############################################################################
+set sql_mode="";
# Bug#37746 - Arithmetic range ("int") is smaller than expected
# This code is in place to ensure this test is only skipped
@@ -2155,7 +2156,6 @@ CREATE FUNCTION fn1(f1 char ) returns char
return f1;
DROP FUNCTION IF EXISTS fn1;
---error ER_NOT_SUPPORTED_YET
CREATE FUNCTION fn1(f1 char binary ) returns char binary
return f1;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_0407.inc b/mysql-test/suite/funcs_1/triggers/triggers_0407.inc
index 2bc9dd66478..907260a00f0 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_0407.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_0407.inc
@@ -3,6 +3,7 @@
# Trigger Tests
# (test case numbering refer to requirement document TP v1.1)
#======================================================================
+set GLOBAL sql_mode="";
USE test;
--source suite/funcs_1/include/tb3.inc
@@ -622,3 +623,6 @@ let $message= Testcase 3.5.7.17 (see Testcase 3.5.1.1);
drop user test_super@localhost;
DROP TABLE test.tb3;
+
+
+set GLOBAL sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_08.inc b/mysql-test/suite/funcs_1/triggers/triggers_08.inc
index 996a5aa69ae..0aeb46896a6 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_08.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_08.inc
@@ -4,6 +4,7 @@
# (test case numbering refer to requirement document TP v1.1)
#======================================================================
# WL#4084: enable disabled parts, 2007-11-15 hhunger
+set GLOBAL sql_mode="";
USE test;
--source suite/funcs_1/include/tb3.inc
@@ -557,3 +558,4 @@ let $message= Testcase 3.5.8.7;
drop user test_super@localhost;
DROP TABLE test.tb3;
+set GLOBAL sql_mode=default;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_09.inc b/mysql-test/suite/funcs_1/triggers/triggers_09.inc
index 47277afb63c..e9e6af92994 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_09.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_09.inc
@@ -186,9 +186,6 @@ let $message= Testcase 3.5.9.4:;
Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL
where f122='Test 3.5.9.4';
- Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL
- where f122='Test 3.5.9.4';
-
select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4-trig' order by f163;
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc b/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc
index a5388dc80c3..dd8b2a87cd8 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc
@@ -410,8 +410,6 @@ let $message= Testcase y.y.y.5: Rollback of nested trigger references;
set autocommit=0;
start transaction;
-# Bug#32656 NDB: Duplicate key error aborts transaction in handler.
-# Doesn't talk back to SQL
--error ER_WARN_DATA_OUT_OF_RANGE
insert into t1 values (1);
commit;
diff --git a/mysql-test/suite/funcs_1/views/func_view.inc b/mysql-test/suite/funcs_1/views/func_view.inc
index 67608a435dc..64ba69a02bd 100644
--- a/mysql-test/suite/funcs_1/views/func_view.inc
+++ b/mysql-test/suite/funcs_1/views/func_view.inc
@@ -151,6 +151,8 @@
#
#
+SET timestamp=unix_timestamp('2001-02-03 10:20:30');
+
--disable_warnings
DROP TABLE IF EXISTS t1_selects, t1_modes, t1_values;
DROP VIEW IF EXISTS v1;
@@ -207,8 +209,8 @@ ALTER TABLE t1_values ADD my_binary_30 BINARY(30);
ALTER TABLE t1_values ADD my_varbinary_1000 VARBINARY(1000);
ALTER TABLE t1_values ADD my_datetime DATETIME;
ALTER TABLE t1_values ADD my_date DATE;
-ALTER TABLE t1_values ADD ts_dummy TIMESTAMP;
-ALTER TABLE t1_values ADD my_timestamp TIMESTAMP;
+ALTER TABLE t1_values ADD ts_dummy TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
+ALTER TABLE t1_values ADD my_timestamp TIMESTAMP NOT NULL DEFAULT '2001-01-01 10:20:30';
ALTER TABLE t1_values ADD my_time TIME;
ALTER TABLE t1_values ADD my_year YEAR;
ALTER TABLE t1_values ADD my_bigint BIGINT;
@@ -1359,3 +1361,5 @@ while ($select_id)
--enable_ps_protocol
DROP TABLE t1_selects, t1_modes, t1_values;
+
+SET timestamp=DEFAULT;
diff --git a/mysql-test/suite/funcs_1/views/views_master.inc b/mysql-test/suite/funcs_1/views/views_master.inc
index 39c8a8c65f1..bb9bbdb06d0 100644
--- a/mysql-test/suite/funcs_1/views/views_master.inc
+++ b/mysql-test/suite/funcs_1/views/views_master.inc
@@ -1,9 +1,6 @@
#### suite/funcs_1/views/views_master.test
#
# Last Change:
-# 2007-10-05 mleich
-# 1. Fix for Bug#31237 Test "ndb_views" fails because of differing order ...
-# 2. Cleanup of test
# 2007-11-15 hhunger WL#4084: Review and fix all disabled tests ...
let $message= ! Attention: The file with the expected results is not
@@ -2945,10 +2942,6 @@ eval EXPLAIN SELECT * FROM test3.v$toplevel;
#++++++++++++++++++++++++++++++++++++++++++++++
let $message= FIXME - Setting join_limit to 28 - hangs for higher values;
--source include/show_msg.inc
-# OBN - Reduced from 30 in 5.1.21 to avoid hitting the ndbcluster limit
-# of "ERROR HY000: Got temporary error 4006 'Connect failure
-# - out of connection objects (increase MaxNoOfConcurrentTransactions)'
-# from NDBCLUSTER " to early;
#SET @join_limit = 61;
SET @join_limit = 28; # OBN - see above
SET @max_level = @join_limit - 1;
@@ -3322,7 +3315,7 @@ DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
--enable_warnings
-CREATE TABLE t1 ( f1 BIGINT, f2 CHAR(20), f3 NUMERIC(7,4),
+CREATE TABLE t1 ( f1 BIGINT DEFAULT 0, f2 CHAR(20), f3 NUMERIC(7,4),
f4 CHAR, PRIMARY KEY(f1));
# VIEW including the base table PRIMARY KEY, but not all base table columns (f4)
@@ -3812,16 +3805,14 @@ SET @variant3= 'CREATE VIEW v1 AS SELECT SUM(f59) AS f61 FROM t1';
SET @variant4= 'CREATE VIEW v1 AS SELECT f61 FROM t1 GROUP BY f61';
# For HAVING 3.3.2.16
SET @variant5= 'CREATE VIEW v1 AS SELECT f61 FROM t1 HAVING f61 > 0';
-# For a sub query in the select list 3.3.2.17
-SET @variant6= 'CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1';
# For a WHERE clause sub query that refers to a table also referenced in a
# FROM clause 3.3.2.18
-SET @variant7= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
-SET @variant8= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
+SET @variant6= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
+SET @variant7= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
# For ALGORITHM = TEMPTABLE 3.3.2.20
-SET @variant9= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
+SET @variant8= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
-let $num= 9;
+let $num= 8;
while ($num)
{
--disable_abort_on_error
@@ -3844,6 +3835,15 @@ while ($num)
DROP VIEW v1;
dec $num;
}
+# For a sub query in the select list 3.3.2.17
+CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1;
+--error ER_NON_INSERTABLE_TABLE
+INSERT INTO v1 VALUES (1002);
+--error ER_NONUPDATEABLE_COLUMN
+UPDATE v1 SET f61=1007;
+# no error ER_NON_UPDATABLE_TABLE, because we can find columns for deleting
+DELETE FROM v1;
+DROP VIEW v1;
Drop TABLE t1, t2 ;
Drop VIEW v2 ;
@@ -3911,7 +3911,7 @@ SELECT * FROM v1 order by f1, report;
#
# 3. Length of one base table column is reduced
# We have to mangle within warnings the row numbers, because they are not
-# deterministic in case of NDB.
+# always deterministic in engines
--replace_regex /at row [0-9]/at row <some number>/
ALTER TABLE t1 CHANGE COLUMN f4 f4 CHAR(8);
INSERT INTO t1 SET f1 = 3, f4 = '<-- 10 -->', report = 't1 3';
diff --git a/mysql-test/suite/funcs_2/charset/charset_master.test b/mysql-test/suite/funcs_2/charset/charset_master.test
index dd02d7491cc..63cd5eb303d 100644
--- a/mysql-test/suite/funcs_2/charset/charset_master.test
+++ b/mysql-test/suite/funcs_2/charset/charset_master.test
@@ -2,7 +2,7 @@
# Author: Serge Kozlov #
# Date: 2005-09-21 #
# Purpose: used by ../t/*_charset.test #
-# Require: set $engine_type= [NDB,MyISAM,InnoDB,etc] before calling #
+# Require: set $engine_type= [MyISAM,InnoDB,etc] before calling #
# #
# Last modification: Matthias Leich #
# Date: 2008-07-02 #
@@ -696,4 +696,4 @@ let $coll= utf8_unicode_ci;
}
DROP database test;
-CREATE database test; \ No newline at end of file
+CREATE database test;
diff --git a/mysql-test/suite/funcs_2/include/check_charset.inc b/mysql-test/suite/funcs_2/include/check_charset.inc
index df4a58d0eeb..0242d4390ac 100644
--- a/mysql-test/suite/funcs_2/include/check_charset.inc
+++ b/mysql-test/suite/funcs_2/include/check_charset.inc
@@ -22,13 +22,15 @@ SHOW TABLE STATUS LIKE 't1';
--disable_warnings
--disable_query_log
+ALTER TABLE test.t1 ADD code VARCHAR(16) NOT NULL;
let $1= 221;
while ($1)
{
- eval INSERT INTO test.t1 VALUES(CHAR(254-$1));
+ eval INSERT INTO test.t1 VALUES(CHAR(254-$1), HEX(254-$1));
dec $1;
}
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
+DELETE FROM test.t1 WHERE a='?' AND code<>'3F';
--enable_query_log
--enable_warnings
diff --git a/mysql-test/suite/funcs_2/readme.txt b/mysql-test/suite/funcs_2/readme.txt
index 53ce41cc845..b7861a8780d 100644
--- a/mysql-test/suite/funcs_2/readme.txt
+++ b/mysql-test/suite/funcs_2/readme.txt
@@ -9,11 +9,6 @@ for MySQL 5.0 only. All cases separated by 4 test scenarios (by engines):
- innodb_charset.test;
- memory_charset.test;
- myisam_charset.test;
- - ndb_charset.test;
-Note: if you use standard binary distributions or compile from source tree
-without cluster support then ndb_charset.test will be skipped. Use
-BUILD/compile-*****-max shellscript for compilation with ndb support or
-download MAX package.
Before running the suite under Windows/cygwin make sure that all files
inside it converted to unix text format.
diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def
new file mode 100644
index 00000000000..2c0ef3f8e20
--- /dev/null
+++ b/mysql-test/suite/galera/disabled.def
@@ -0,0 +1,44 @@
+##############################################################################
+#
+# List the test cases that are to be disabled temporarily.
+#
+# Separate the test case name and the comment with ':'.
+#
+# <testcasename> : MDEV-<xxxx> <comment>
+#
+# Do not use any TAB characters for whitespace.
+#
+##############################################################################
+
+GAL-419 : MDEV-13549 Galera test failures
+MW-328A : MDEV-17847 Galera test failure on MW-328[A|B|C]
+MW-328B : MDEV-17847 Galera test failure on MW-328[A|B|C]
+MW-328C : MDEV-17847 Galera test failure on MW-328[A|B|C]
+MW-329 : wsrep_local_replays not stable
+MW-336 : MDEV-13549 Timeout in wait_condition.inc for PROCESSLIST
+MW-416 : MDEV-13549 Galera test failures
+MW-44 : MDEV-15809 Test failure on galera.MW-44
+galera_account_management : MariaDB 10.0 does not support ALTER USER
+galera_as_master_gtid : Requires MySQL GTID
+galera_as_master_gtid_change_master : Requires MySQL GTID
+galera_as_slave_preordered : wsrep-preordered feature not merged to MariaDB
+galera_as_slave_replication_bundle : MDEV-15785 OPTION_GTID_BEGIN is set in Gtid_log_event::do_apply_event()
+galera_binlog_rows_query_log_events: MariaDB does not support binlog_rows_query_log_events
+galera_binlog_stmt_autoinc : MDEV-13549 auto_increment mismatch
+galera_flush : MariaDB does not have global.thread_statistics
+galera_gcache_recover_manytrx : MDEV-18834 Galera test failure
+galera_gcs_fc_limit : MDEV-17061 Timeout in wait_condition.inc for PROCESSLIST
+galera_ist_mariabackup : MDEV-18829 test leaves port open
+galera_ist_progress: MDEV-15236 fails when trying to read transfer status
+galera_kill_applier : race condition at the start of the test
+galera_kill_ddl : MDEV-17108 Test failure on galera.galera_kill_ddl
+galera_migrate : MariaDB does not support START SLAVE USER
+galera_pc_ignore_sb : MDEV-17357 Test failure on galera.galera_pc_ignore_sb
+galera_ssl_upgrade : MDEV-13549 Galera test failures
+galera_sst_mysqldump_with_key : MDEV-16890 Galera test failure
+galera_var_node_address : MDEV-17151 Galera test failure
+galera_var_notify_cmd : MDEV-13549 Galera test failures
+galera_wan : MDEV-17259: Test failure on galera.galera_wan
+partition : MDEV-13549 regularly showing auto_increment mismatch
+pxc-421: Lock timeout exceeded
+query_cache : MDEV-18137: Galera test failure on query_cache
diff --git a/mysql-test/suite/galera/galera_2nodes.cnf b/mysql-test/suite/galera/galera_2nodes.cnf
new file mode 100644
index 00000000000..b24f3603894
--- /dev/null
+++ b/mysql-test/suite/galera/galera_2nodes.cnf
@@ -0,0 +1,46 @@
+# Use default setting for mysqld processes
+!include include/default_mysqld.cnf
+
+[mysqld]
+wsrep-on=1
+binlog-format=row
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_node_address=127.0.0.1
+# enforce read-committed characteristics across the cluster
+wsrep-sync-wait=15
+
+[mysqld.1]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep-cluster-address=gcomm://
+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;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
+
+[mysqld.2]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
+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'
+
+# enforce read-committed characteristics across the cluster
+wsrep_causal_reads=ON
+wsrep_sync_wait = 15
+
+wsrep_node_address=127.0.0.1
+wsrep_sst_receive_address=127.0.0.2:@mysqld.2.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
+
+
+[ENV]
+NODE_MYPORT_1= @mysqld.1.port
+NODE_MYSOCK_1= @mysqld.1.socket
+
+NODE_MYPORT_2= @mysqld.2.port
+NODE_MYSOCK_2= @mysqld.2.socket
+
diff --git a/mysql-test/suite/galera/galera_2nodes_as_master.cnf b/mysql-test/suite/galera/galera_2nodes_as_master.cnf
new file mode 100644
index 00000000000..33bfc475721
--- /dev/null
+++ b/mysql-test/suite/galera/galera_2nodes_as_master.cnf
@@ -0,0 +1,70 @@
+#
+# This file creates a setup with a 2-node Galera cluster (master) and one
+# standalone MariaDB server, to be used as a slave.
+#
+
+# Use default setting for mysqld processes
+!include include/default_mysqld.cnf
+
+[mysqld]
+log-bin=mysqld-bin
+binlog-format=row
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+
+[mysqld.1]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+server-id=1
+log_slave_updates
+
+wsrep-on=1
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=10M'
+wsrep_cluster_address=gcomm://
+wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
+wsrep_node_address=127.0.0.1
+wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
+# enforce read-committed characteristics across the cluster
+wsrep-causal-reads=ON
+wsrep-sync-wait=15
+
+[mysqld.2]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+server-id=2
+log_slave_updates
+
+wsrep-on=1
+wsrep_provider=@ENV.WSREP_PROVIDER
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=10M'
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
+wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
+wsrep_node_address=127.0.0.1
+wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
+# enforce read-committed characteristics across the cluster
+wsrep-causal-reads=ON
+wsrep-sync-wait=15
+
+[mysqld.3]
+server-id=3
+
+[ENV]
+NODE_MYPORT_1= @mysqld.1.port
+NODE_MYSOCK_1= @mysqld.1.socket
+
+NODE_MYPORT_2= @mysqld.2.port
+NODE_MYSOCK_2= @mysqld.2.socket
+
+NODE_MYPORT_3= @mysqld.3.port
+NODE_MYSOCK_3= @mysqld.3.socket
+
+NODE_GALERAPORT_1= @mysqld.1.#galera_port
+NODE_GALERAPORT_2= @mysqld.2.#galera_port
+
+NODE_SSTPORT_1= @mysqld.1.#sst_port
+NODE_SSTPORT_2= @mysqld.2.#sst_port
diff --git a/mysql-test/suite/galera/galera_2nodes_as_slave.cnf b/mysql-test/suite/galera/galera_2nodes_as_slave.cnf
new file mode 100644
index 00000000000..4d9e39d2aae
--- /dev/null
+++ b/mysql-test/suite/galera/galera_2nodes_as_slave.cnf
@@ -0,0 +1,77 @@
+#
+# This .cnf file creates a setup with 1 standard MariaDB server, followed by a 2-node Galera cluster
+#
+
+# Use default setting for mysqld processes
+!include include/default_mysqld.cnf
+
+[mysqld]
+binlog-format=row
+
+[mysqld.1]
+log-bin
+server-id=1
+
+[mysqld.2]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+wsrep-on=1
+
+log-bin
+log-slave-updates
+
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_node_address=127.0.0.1
+wsrep-cluster-address=gcomm://
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
+
+# enforce read-committed characteristics across the cluster
+wsrep-causal-reads=ON
+wsrep-sync-wait=15
+server-id=2
+
+[mysqld.3]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+wsrep-on=1
+
+log-bin
+log-slave-updates
+
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_node_address=127.0.0.1
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.2.#galera_port'
+wsrep_provider_options='base_port=@mysqld.3.#galera_port;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
+
+# enforce read-committed characteristics across the cluster
+wsrep-causal-reads=ON
+wsrep-sync-wait=15
+server-id=3
+
+[ENV]
+NODE_MYPORT_1= @mysqld.1.port
+NODE_MYSOCK_1= @mysqld.1.socket
+
+NODE_MYPORT_2= @mysqld.2.port
+NODE_MYSOCK_2= @mysqld.2.socket
+
+NODE_MYPORT_3= @mysqld.3.port
+NODE_MYSOCK_3= @mysqld.3.socket
+
+NODE_GALERAPORT_2= @mysqld.2.#galera_port
+NODE_GALERAPORT_3= @mysqld.3.#galera_port
+
+NODE_SSTPORT_2= @mysqld.2.#sst_port
+NODE_SSTPORT_3= @mysqld.3.#sst_port
diff --git a/mysql-test/suite/galera/galera_3nodes_as_slave.cnf b/mysql-test/suite/galera/galera_3nodes_as_slave.cnf
new file mode 100644
index 00000000000..ac1ca34e242
--- /dev/null
+++ b/mysql-test/suite/galera/galera_3nodes_as_slave.cnf
@@ -0,0 +1,97 @@
+#
+# This .cnf file creates a setup with 1 standard MariaDB server, followed by a 3-node Galera cluster
+#
+
+# Use default setting for mysqld processes
+!include include/default_mysqld.cnf
+
+[mysqld]
+log-bin
+binlog-format=row
+
+[mysqld.1]
+server-id=1
+
+[mysqld.2]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+log-slave-updates
+
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_node_address=127.0.0.1
+wsrep-cluster-address=gcomm://
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;evs.install_timeout = PT15S;evs.max_install_timeouts=1;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
+
+# enforce read-committed characteristics across the cluster
+wsrep-causal-reads=ON
+wsrep-sync-wait=15
+server-id=2
+
+[mysqld.3]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+log-slave-updates
+
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_node_address=127.0.0.1
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.2.#galera_port'
+wsrep_provider_options='base_port=@mysqld.3.#galera_port;evs.install_timeout=PT15S;evs.max_install_timeouts=1;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
+
+# enforce read-committed characteristics across the cluster
+wsrep-causal-reads=ON
+wsrep-sync-wait=15
+server-id=3
+
+[mysqld.4]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+log-slave-updates
+
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_node_address=127.0.0.1
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.2.#galera_port'
+wsrep_provider_options='base_port=@mysqld.4.#galera_port;evs.install_timeout=PT15S;evs.max_install_timeouts=1;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
+
+# enforce read-committed characteristics across the cluster
+wsrep-causal-reads=ON
+wsrep-sync-wait=15
+server-id=4
+
+[ENV]
+NODE_MYPORT_1= @mysqld.1.port
+NODE_MYSOCK_1= @mysqld.1.socket
+
+NODE_MYPORT_2= @mysqld.2.port
+NODE_MYSOCK_2= @mysqld.2.socket
+
+NODE_MYPORT_3= @mysqld.3.port
+NODE_MYSOCK_3= @mysqld.3.socket
+
+NODE_MYPORT_4= @mysqld.4.port
+NODE_MYSOCK_4= @mysqld.4.socket
+
+NODE_GALERAPORT_2= @mysqld.2.#galera_port
+NODE_GALERAPORT_3= @mysqld.3.#galera_port
+NODE_GALERAPORT_4= @mysqld.4.#galera_port
+
+NODE_SSTPORT_2= @mysqld.2.#sst_port
+NODE_SSTPORT_3= @mysqld.3.#sst_port
+NODE_SSTPORT_4= @mysqld.4.#sst_port
diff --git a/mysql-test/suite/galera/galera_4nodes.cnf b/mysql-test/suite/galera/galera_4nodes.cnf
new file mode 100644
index 00000000000..1c195afd54b
--- /dev/null
+++ b/mysql-test/suite/galera/galera_4nodes.cnf
@@ -0,0 +1,74 @@
+# Use default setting for mysqld processes
+!include include/default_mysqld.cnf
+
+[mysqld]
+binlog-format=row
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+wsrep-on=1
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_node_address=127.0.0.1
+# enforce read-committed characteristics across the cluster
+wsrep-causal-reads=ON
+wsrep-sync-wait=15
+
+[mysqld.1]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep-cluster-address=gcomm://
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
+
+[mysqld.2]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
+
+
+[mysqld.3]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
+wsrep_provider_options='base_port=@mysqld.3.#galera_port;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
+
+
+[mysqld.4]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
+wsrep_provider_options='base_port=@mysqld.4.#galera_port;gcache.size=10M'
+wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
+
+[ENV]
+NODE_MYPORT_1= @mysqld.1.port
+NODE_MYSOCK_1= @mysqld.1.socket
+
+NODE_MYPORT_2= @mysqld.2.port
+NODE_MYSOCK_2= @mysqld.2.socket
+
+NODE_MYPORT_3= @mysqld.3.port
+NODE_MYSOCK_3= @mysqld.3.socket
+
+NODE_MYPORT_4= @mysqld.4.port
+NODE_MYSOCK_4= @mysqld.4.socket
+
+NODE_GALERAPORT_1= @mysqld.1.#galera_port
+NODE_GALERAPORT_2= @mysqld.2.#galera_port
+NODE_GALERAPORT_3= @mysqld.3.#galera_port
+NODE_GALERAPORT_4= @mysqld.4.#galera_port
+
+NODE_SSTPORT_1= @mysqld.1.#sst_port
+NODE_SSTPORT_2= @mysqld.2.#sst_port
+NODE_SSTPORT_3= @mysqld.3.#sst_port
+NODE_SSTPORT_4= @mysqld.4.#sst_port
diff --git a/mysql-test/suite/galera/include/auto_increment_offset_restore.inc b/mysql-test/suite/galera/include/auto_increment_offset_restore.inc
new file mode 100644
index 00000000000..1248ed100ca
--- /dev/null
+++ b/mysql-test/suite/galera/include/auto_increment_offset_restore.inc
@@ -0,0 +1,41 @@
+# See auto_increment_offset_restore.inc for details.
+
+if (!$node_1)
+{
+ --die ERROR IN TEST: $node_1 must be set before sourcing auto_increment_offset_save.inc
+}
+
+if (!$node_2)
+{
+ --die ERROR IN TEST: $node_2 must be set before sourcing auto_increment_offset_save.inc
+}
+
+if (!$auto_increment_offset_node_1)
+{
+ --die ERROR IN TEST: $auto_increment_offset_node_1 must be set before sourcing auto_increment_offset_save.inc
+}
+
+if (!$auto_increment_offset_node_2)
+{
+ --die ERROR IN TEST: $auto_increment_offset_node_2 must be set before sourcing auto_increment_offset_save.inc
+}
+
+# Restore original auto_increment_offset values.
+--disable_query_log
+--connection $node_1
+--eval SET @@global.auto_increment_offset = $auto_increment_offset_node_1;
+--connection $node_2
+--eval SET @@global.auto_increment_offset = $auto_increment_offset_node_2;
+
+if ($node_3)
+{
+--connection $node_3
+--eval SET @@global.auto_increment_offset = $auto_increment_offset_node_3;
+}
+
+if ($node_4)
+{
+--connection $node_4
+--eval SET @@global.auto_increment_offset = $auto_increment_offset_node_4;
+}
+--enable_query_log
diff --git a/mysql-test/suite/galera/include/auto_increment_offset_save.inc b/mysql-test/suite/galera/include/auto_increment_offset_save.inc
new file mode 100644
index 00000000000..216c689ec8c
--- /dev/null
+++ b/mysql-test/suite/galera/include/auto_increment_offset_save.inc
@@ -0,0 +1,45 @@
+# This file can be used to save the @@global.auto_increment_offset value at
+# the beginning of any test that intends to restart any of the participating
+# nodes. This is required as the node may get auto-assigned a different
+# auto_increment_offset value on restart, which could cause MTR's internal
+# post-check to fail. auto_increment_offset_restore.inc can be used at the
+# end of the test to restore these saved values.
+
+# Parameters
+# ----------
+# $node_1
+# Connection handle for 1st node
+# $node_2
+# Connection handle for 2nd node
+# $node_3 (optional)
+# Connection handle for 3rd node
+# $node_4 (optional)
+# Connection handle for 4th node
+
+if (!$node_1)
+{
+ --die ERROR IN TEST: $node_1 must be set before sourcing auto_increment_offset_save.inc
+}
+
+if (!$node_2)
+{
+ --die ERROR IN TEST: $node_2 must be set before sourcing auto_increment_offset_save.inc
+}
+
+--connection $node_1
+let $auto_increment_offset_node_1 = `SELECT @@global.auto_increment_offset`;
+--connection $node_2
+let $auto_increment_offset_node_2 = `SELECT @@global.auto_increment_offset`;
+
+if ($node_3)
+{
+ --connection $node_3
+ let $auto_increment_offset_node_3 = `SELECT @@global.auto_increment_offset`;
+}
+
+if ($node_4)
+{
+ --connection $node_4
+ let $auto_increment_offset_node_4 = `SELECT @@global.auto_increment_offset`;
+}
+
diff --git a/mysql-test/suite/galera/include/galera_have_debug_sync.inc b/mysql-test/suite/galera/include/galera_have_debug_sync.inc
new file mode 100644
index 00000000000..7c0156052d8
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_have_debug_sync.inc
@@ -0,0 +1,9 @@
+--disable_query_log
+
+--let $galera_have_debug_sync = `SELECT 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_debug_sync_waiters'`
+
+--if (!$galera_have_debug_sync) {
+ --skip "Test requires Galera debug library with debug_sync functionality"
+}
+
+--enable_query_log
diff --git a/mysql-test/suite/galera/include/galera_load_provider.inc b/mysql-test/suite/galera/include/galera_load_provider.inc
new file mode 100644
index 00000000000..aeab7e6ea19
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_load_provider.inc
@@ -0,0 +1,8 @@
+--echo Loading wsrep provider ...
+
+--disable_query_log
+--eval SET GLOBAL wsrep_provider = '$wsrep_provider_orig';
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_orig';
+--enable_query_log
+
+--source include/galera_wait_ready.inc
diff --git a/mysql-test/suite/galera/include/galera_reset_cluster_address.inc b/mysql-test/suite/galera/include/galera_reset_cluster_address.inc
new file mode 100644
index 00000000000..02937ec8ea3
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_reset_cluster_address.inc
@@ -0,0 +1,12 @@
+--echo Resetting wsrep_cluster_address
+
+--let $wsrep_cluster_size_orig = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'`
+
+SET GLOBAL wsrep_cluster_address = @@wsrep_cluster_address;
+
+--source include/wait_until_connected_again.inc
+
+# Wait for wsrep_cluster_size to go back to its original value
+
+--let $wait_condition = SELECT VARIABLE_VALUE = $wsrep_cluster_size_orig FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
diff --git a/mysql-test/suite/galera/include/galera_sst_restore.inc b/mysql-test/suite/galera/include/galera_sst_restore.inc
new file mode 100644
index 00000000000..a08b148c31a
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_sst_restore.inc
@@ -0,0 +1,29 @@
+#
+# Restore the various options used for SST to their original values
+# so that MTR's end-of-test checks are happy.
+#
+
+--connection node_1
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+
+--disable_query_log
+--eval SET GLOBAL wsrep_sst_auth = '$wsrep_sst_auth_orig';
+--enable_query_log
+
+--error 0,ER_CANNOT_USER
+DROP USER sst;
+
+--connection node_2
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found");
+CALL mtr.add_suppression("InnoDB: New log files created");
+CALL mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+CALL mtr.add_suppression("Can't open and lock time zone table");
+CALL mtr.add_suppression("Can't open and lock privilege tables");
+CALL mtr.add_suppression("Info table is not ready to be used");
+CALL mtr.add_suppression("Native table .* has the wrong structure");
+
+--disable_query_log
+--eval SET GLOBAL wsrep_sst_method = '$wsrep_sst_method_orig';
+--eval SET GLOBAL wsrep_sst_receive_address = '$wsrep_sst_receive_address_orig';
+--enable_query_log
diff --git a/mysql-test/suite/galera/include/galera_sst_set_mysqldump.inc b/mysql-test/suite/galera/include/galera_sst_set_mysqldump.inc
new file mode 100644
index 00000000000..16af5742b9b
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_sst_set_mysqldump.inc
@@ -0,0 +1,27 @@
+#
+# Set all the variables required for the SST to be performed via mysqldump
+#
+
+--echo Setting SST method to mysqldump ...
+
+call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to '127.0.0.1'");
+call mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
+
+--connection node_1
+# We need a user with a password to perform SST, otherwise we hit LP #1378253
+CREATE USER 'sst';
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+
+--let $wsrep_sst_auth_orig = `SELECT @@wsrep_sst_auth`
+SET GLOBAL wsrep_sst_auth = 'sst:';
+
+--connection node_2
+--source include/wait_until_connected_again.inc
+--let $wsrep_sst_method_orig = `SELECT @@wsrep_sst_method`
+--let $wsrep_sst_receive_address_orig = `SELECT @@wsrep_sst_receive_address`
+
+--disable_query_log
+# Set wsrep_sst_receive_address to the SQL port
+--eval SET GLOBAL wsrep_sst_receive_address = '127.0.0.1:$NODE_MYPORT_2';
+--enable_query_log
+SET GLOBAL wsrep_sst_method = 'mysqldump';
diff --git a/mysql-test/suite/galera/include/galera_st_clean_slave.inc b/mysql-test/suite/galera/include/galera_st_clean_slave.inc
new file mode 100644
index 00000000000..3a49f4f6ad2
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_st_clean_slave.inc
@@ -0,0 +1,115 @@
+--echo Performing State Transfer on a server that starts from a clean var directory
+--echo This is accomplished by shutting down node #2 and removing its var directory before restarting it
+
+--connection node_1
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+
+--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
+
+--echo Cleaning var directory ...
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/mtr
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/performance_schema
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/test
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/mysql
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+
+--connect node_1a_galera_st_clean_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+
+--connection node_2
+--echo Starting server ...
+--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
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+
+--connection node_1
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+
+--connection node_1a_galera_st_clean_slave
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+--connection node_1
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/include/galera_st_disconnect_slave.inc b/mysql-test/suite/galera/include/galera_st_disconnect_slave.inc
new file mode 100644
index 00000000000..c8869746bd1
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_st_disconnect_slave.inc
@@ -0,0 +1,105 @@
+--echo Performing State Transfer on a server that has been temporarily disconnected
+
+--connection node_1
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+
+--source suite/galera/include/galera_unload_provider.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
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+
+--connect node_1a_galera_st_disconnect_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+
+--connection node_2
+--source suite/galera/include/galera_load_provider.inc
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+
+--connection node_1
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+
+--connection node_1a_galera_st_disconnect_slave
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+--connection node_1
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/include/galera_st_kill_slave.inc b/mysql-test/suite/galera/include/galera_st_kill_slave.inc
new file mode 100644
index 00000000000..0b96de55a32
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_st_kill_slave.inc
@@ -0,0 +1,109 @@
+--echo Performing State Transfer on a server that has been killed and restarted
+
+--connection node_1
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+
+--source include/kill_galera.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
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+
+--connect node_1a_galera_st_kill_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+
+--connection node_2
+--let $galera_wsrep_recover_server_id=2
+--source suite/galera/include/galera_wsrep_recover.inc
+
+--echo Starting server ...
+--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
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+
+--connection node_1
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+
+--connection node_1a_galera_st_kill_slave
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+--connection node_1
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/include/galera_st_kill_slave_ddl.inc b/mysql-test/suite/galera/include/galera_st_kill_slave_ddl.inc
new file mode 100644
index 00000000000..44a1513fa6e
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_st_kill_slave_ddl.inc
@@ -0,0 +1,128 @@
+source include/maybe_debug.inc;
+if ($have_debug) {
+--echo Performing State Transfer on a server that has been killed and restarted
+--echo while a DDL was in progress on it
+
+--connection node_1
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+
+--connection node_2
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+
+# Suspend the applier as it applies the ALTER TABLE
+--let $debug_orig = `SELECT @@debug_dbug`
+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
+
+--connection node_1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connection node_2
+SET wsrep_sync_wait = 0;
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'debug sync point: now'
+--source include/wait_condition.inc
+
+--source include/kill_galera.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
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
+COMMIT;
+
+START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+
+--connect node_1a_galera_st_kill_slave_ddl, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+
+--connection node_2
+--let $galera_wsrep_recover_server_id=2
+--source suite/galera/include/galera_wsrep_recover.inc
+
+--connection node_2
+--echo Starting server ...
+--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
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
+COMMIT;
+
+--connection node_1
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
+COMMIT;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
+COMMIT;
+
+--connection node_1a_galera_st_kill_slave_ddl
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+--connection node_1
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+SET GLOBAL debug_dbug = $debug_orig;
+}
diff --git a/mysql-test/suite/galera/include/galera_st_shutdown_slave.inc b/mysql-test/suite/galera/include/galera_st_shutdown_slave.inc
new file mode 100644
index 00000000000..6c09b0ceb0c
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_st_shutdown_slave.inc
@@ -0,0 +1,107 @@
+--echo Performing State Transfer on a server that has been shut down cleanly and restarted
+
+--connection node_1
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+
+--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
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+
+--connect node_1a_galera_st_shutdown_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+
+--connection node_2
+--echo Starting server ...
+--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
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+
+--connection node_1
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+
+--connection node_1a_galera_st_shutdown_slave
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+--connection node_1
+SELECT COUNT(*) = 35 FROM t1;
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/include/galera_unload_provider.inc b/mysql-test/suite/galera/include/galera_unload_provider.inc
new file mode 100644
index 00000000000..edc7eb31e0e
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_unload_provider.inc
@@ -0,0 +1,7 @@
+--echo Unloading wsrep provider ...
+
+--let $wsrep_cluster_address_orig = `SELECT @@wsrep_cluster_address`
+--let $wsrep_provider_orig = `SELECT @@wsrep_provider`
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+
+SET GLOBAL wsrep_provider = 'none';
diff --git a/mysql-test/suite/galera/include/galera_wsrep_recover.inc b/mysql-test/suite/galera/include/galera_wsrep_recover.inc
new file mode 100644
index 00000000000..090ffe5f5df
--- /dev/null
+++ b/mysql-test/suite/galera/include/galera_wsrep_recover.inc
@@ -0,0 +1,23 @@
+--echo Performing --wsrep-recover ...
+--exec $MYSQLD --defaults-group-suffix=.$galera_wsrep_recover_server_id --defaults-file=$MYSQLTEST_VARDIR/my.cnf --innodb --wsrep-recover > $MYSQL_TMP_DIR/galera_wsrep_recover.log 2>&1
+
+--perl
+ use strict;
+ my $wsrep_start_position_str = "grep 'WSREP: Recovered position:' $ENV{MYSQL_TMP_DIR}/galera_wsrep_recover.log | sed 's/.*WSREP\:\ Recovered\ position://' | sed 's/^[ \t]*//'";
+ my $wsrep_start_position = `grep 'WSREP: Recovered position:' $ENV{MYSQL_TMP_DIR}/galera_wsrep_recover.log | sed 's/.*WSREP\:\ Recovered\ position://' | sed 's/^[ \t]*//'`;
+ chomp($wsrep_start_position);
+
+ die if $wsrep_start_position eq '';
+
+ open(FILE, ">", "$ENV{MYSQL_TMP_DIR}/galera_wsrep_start_position.inc") or die;
+ print FILE "--let \$galera_wsrep_start_position = $wsrep_start_position\n";
+ close FILE;
+EOF
+
+--source $MYSQL_TMP_DIR/galera_wsrep_start_position.inc
+
+if ($galera_wsrep_start_position == '') {
+ --die "Could not obtain wsrep_start_position."
+}
+
+--remove_file $MYSQL_TMP_DIR/galera_wsrep_start_position.inc
diff --git a/mysql-test/suite/galera/include/have_filekeymanagement.inc b/mysql-test/suite/galera/include/have_filekeymanagement.inc
new file mode 100644
index 00000000000..f5507ca4548
--- /dev/null
+++ b/mysql-test/suite/galera/include/have_filekeymanagement.inc
@@ -0,0 +1,3 @@
+#
+# Used in galera/suite.pm to check file key management plugin
+#
diff --git a/mysql-test/suite/galera/include/have_mariabackup.inc b/mysql-test/suite/galera/include/have_mariabackup.inc
new file mode 100644
index 00000000000..0dd693f2c63
--- /dev/null
+++ b/mysql-test/suite/galera/include/have_mariabackup.inc
@@ -0,0 +1,4 @@
+#
+# suite.pm will make sure that all tests including this file
+# will be skipped as needed
+#
diff --git a/mysql-test/suite/galera/include/have_wsrep_replicate_myisam.inc b/mysql-test/suite/galera/include/have_wsrep_replicate_myisam.inc
new file mode 100644
index 00000000000..726fc6e2b18
--- /dev/null
+++ b/mysql-test/suite/galera/include/have_wsrep_replicate_myisam.inc
@@ -0,0 +1,4 @@
+--require suite/galera/r/have_wsrep_replicate_myisam.require
+disable_query_log;
+SHOW VARIABLES LIKE 'wsrep_replicate_myisam';
+enable_query_log;
diff --git a/mysql-test/suite/galera/include/have_xtrabackup.inc b/mysql-test/suite/galera/include/have_xtrabackup.inc
new file mode 100644
index 00000000000..0dd693f2c63
--- /dev/null
+++ b/mysql-test/suite/galera/include/have_xtrabackup.inc
@@ -0,0 +1,4 @@
+#
+# suite.pm will make sure that all tests including this file
+# will be skipped as needed
+#
diff --git a/mysql-test/suite/galera/include/kill_galera.inc b/mysql-test/suite/galera/include/kill_galera.inc
new file mode 100644
index 00000000000..d7f665df6c7
--- /dev/null
+++ b/mysql-test/suite/galera/include/kill_galera.inc
@@ -0,0 +1,20 @@
+--echo Killing server ...
+
+# Write file to make mysql-test-run.pl expect the crash, but don't start it
+--let $_server_id= `SELECT @@server_id`
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
+--exec echo "wait" > $_expect_file_name
+
+# Kill the connected server
+--disable_reconnect
+--let KILL_NODE_PIDFILE = `SELECT @@pid_file`
+
+--perl
+ my $pid_filename = $ENV{'KILL_NODE_PIDFILE'};
+ my $mysqld_pid = `cat $pid_filename`;
+ chomp($mysqld_pid);
+ system("kill -9 $mysqld_pid");
+ exit(0);
+EOF
+
+--source include/wait_until_disconnected.inc
diff --git a/mysql-test/suite/galera/include/print_gtid.inc b/mysql-test/suite/galera/include/print_gtid.inc
new file mode 100644
index 00000000000..e6bd627e5ad
--- /dev/null
+++ b/mysql-test/suite/galera/include/print_gtid.inc
@@ -0,0 +1,11 @@
+--echo list of GTID variables :
+--disable_query_log
+query_vertical
+SELECT @@global.gtid_domain_id AS gtid_domain_id,
+ @@global.gtid_binlog_pos AS gtid_binlog_pos,
+ @@global.gtid_binlog_state AS gtid_binlog_state,
+ @@global.gtid_current_pos AS gtid_current_pos,
+ @@global.gtid_slave_pos AS gtid_slave_pos,
+ @@global.wsrep_gtid_domain_id AS wsrep_gtid_domain_id,
+ @@global.wsrep_gtid_mode AS wsrep_gtid_mode;
+--enable_query_log
diff --git a/mysql-test/suite/galera/include/reset_query_cache.inc b/mysql-test/suite/galera/include/reset_query_cache.inc
new file mode 100644
index 00000000000..6e33b886f08
--- /dev/null
+++ b/mysql-test/suite/galera/include/reset_query_cache.inc
@@ -0,0 +1,11 @@
+--disable_query_log
+--disable_result_log
+--connection node_1
+flush query cache;
+reset query cache;
+
+--connection node_2
+flush query cache;
+reset query cache;
+--enable_result_log
+--enable_query_log
diff --git a/mysql-test/suite/galera/include/shutdown_mysqld.inc b/mysql-test/suite/galera/include/shutdown_mysqld.inc
new file mode 100644
index 00000000000..54bba1318e7
--- /dev/null
+++ b/mysql-test/suite/galera/include/shutdown_mysqld.inc
@@ -0,0 +1,18 @@
+# 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 $_server_id= `SELECT @@server_id`
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.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
new file mode 100644
index 00000000000..57af9203d0f
--- /dev/null
+++ b/mysql-test/suite/galera/include/start_mysqld.inc
@@ -0,0 +1,15 @@
+# Include this script only after using shutdown_mysqld.inc
+# where $_expect_file_name was initialized.
+# Write file to make mysql-test-run.pl start up the server again
+
+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
+ --let $galera_wsrep_start_position = 0
+}
+
+if ($galera_wsrep_start_position == '') {
+ --exec echo "restart:$start_mysqld_params" > $_expect_file_name
+}
+
+--source include/galera_wait_ready.inc
diff --git a/mysql-test/suite/galera/my.cnf b/mysql-test/suite/galera/my.cnf
new file mode 100644
index 00000000000..ca163a540d9
--- /dev/null
+++ b/mysql-test/suite/galera/my.cnf
@@ -0,0 +1 @@
+!include galera_2nodes.cnf
diff --git a/mysql-test/suite/galera/r/GAL-382.result b/mysql-test/suite/galera/r/GAL-382.result
new file mode 100644
index 00000000000..0c7365f3005
--- /dev/null
+++ b/mysql-test/suite/galera/r/GAL-382.result
@@ -0,0 +1,6 @@
+create table t1 (i int, j int, k int, primary key pk(i)) engine=innodb;
+insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
+create table t2 (i int, j int, k int, primary key pk(i, j, k), index idx(i, k, j)) engine=innodb;
+replace into t2 (i, j, k) select /*!99997 */ i, k, j from t1;
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/GAL-401.result b/mysql-test/suite/galera/r/GAL-401.result
new file mode 100644
index 00000000000..03509cb0e29
--- /dev/null
+++ b/mysql-test/suite/galera/r/GAL-401.result
@@ -0,0 +1,23 @@
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=true';
+SET @@global.wsrep_desync = 1;
+SET SESSION wsrep_dirty_reads=1;
+SET SESSION wsrep_sync_wait=0;
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+SET wsrep_dirty_reads=0;
+SHOW STATUS LIKE 'wsrep_desync_count';
+Variable_name Value
+wsrep_desync_count 0
+SET @@global.wsrep_desync = 0;
+SET SESSION wsrep_sync_wait=15;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` char(1) DEFAULT NULL,
+ PRIMARY KEY (`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CALL mtr.add_suppression("WSREP: Protocol violation. JOIN message sender (.*) is not in state transfer \\(SYNCED\\). Message ignored.");
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=false';
diff --git a/mysql-test/suite/galera/r/GAL-419.result b/mysql-test/suite/galera/r/GAL-419.result
new file mode 100644
index 00000000000..410c91b4f98
--- /dev/null
+++ b/mysql-test/suite/galera/r/GAL-419.result
@@ -0,0 +1,4 @@
+SET SESSION wsrep_sync_wait = 0;
+Killing server ...
+SET SESSION wsrep_sync_wait = 0;
+Killing server ...
diff --git a/mysql-test/suite/galera/r/GAL-480.result b/mysql-test/suite/galera/r/GAL-480.result
new file mode 100644
index 00000000000..b762e07423e
--- /dev/null
+++ b/mysql-test/suite/galera/r/GAL-480.result
@@ -0,0 +1,39 @@
+CREATE TABLE t1 (f1 CHAR(10), f0 integer) ENGINE=InnoDB;
+FLUSH TABLE t1 FOR EXPORT;
+UNLOCK TABLES;
+ALTER TABLE t1 DROP COLUMN f1;
+SET SESSION wsrep_osu_method='RSU';
+ALTER TABLE t1 ADD COLUMN f1 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f1;
+ALTER TABLE t1 ADD COLUMN f2 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f2;
+ALTER TABLE t1 ADD COLUMN f3 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f3;
+ALTER TABLE t1 ADD COLUMN f4 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f4;
+ALTER TABLE t1 ADD COLUMN f5 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f5;
+ALTER TABLE t1 ADD COLUMN f6 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f6;
+ALTER TABLE t1 ADD COLUMN f7 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f7;
+ALTER TABLE t1 ADD COLUMN f8 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f8;
+ALTER TABLE t1 ADD COLUMN f9 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f9;
+ALTER TABLE t1 ADD COLUMN f10 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f10;
+ALTER TABLE t1 ADD COLUMN f11 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f11;
+ALTER TABLE t1 ADD COLUMN f12 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f12;
+ALTER TABLE t1 ADD COLUMN f13 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f13;
+ALTER TABLE t1 ADD COLUMN f14 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f14;
+ALTER TABLE t1 ADD COLUMN f15 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f15;
+ALTER TABLE t1 ADD COLUMN f16 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f16;
+SET SESSION wsrep_osu_method='TOI';
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/MW-252.result b/mysql-test/suite/galera/r/MW-252.result
new file mode 100644
index 00000000000..c422edcb82a
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-252.result
@@ -0,0 +1,7 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+FLUSH TABLES WITH READ LOCK;
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/MW-258.result b/mysql-test/suite/galera/r/MW-258.result
new file mode 100644
index 00000000000..1b4d4ae0de8
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-258.result
@@ -0,0 +1,34 @@
+CREATE TABLE t1 (f1 INTEGER);
+LOCK TABLE t1 WRITE;
+value prior to RSU:
+SHOW STATUS LIKE 'wsrep_desync_count';
+Variable_name Value
+wsrep_desync_count 0
+SHOW VARIABLES LIKE 'wsrep_desync';
+Variable_name Value
+wsrep_desync OFF
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_osu_method = RSU;
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_osu_method = RSU;
+ALTER TABLE t1 ADD COLUMN f3 INTEGER;;
+value during RSU:
+SHOW STATUS LIKE 'wsrep_desync_count';
+Variable_name Value
+wsrep_desync_count 2
+SHOW VARIABLES LIKE 'wsrep_desync';
+Variable_name Value
+wsrep_desync OFF
+UNLOCK TABLES;
+value after RSU:
+SHOW STATUS LIKE 'wsrep_desync_count';
+Variable_name Value
+wsrep_desync_count 0
+SHOW VARIABLES LIKE 'wsrep_desync';
+Variable_name Value
+wsrep_desync OFF
+SET GLOBAL wsrep_desync=0;
+Warnings:
+Warning 1231 'wsrep_desync' is already OFF.
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/MW-259.result b/mysql-test/suite/galera/r/MW-259.result
new file mode 100644
index 00000000000..df76e959de5
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-259.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+SET GLOBAL wsrep_desync=0;
+Warnings:
+Warning 1231 'wsrep_desync' is already OFF.
+SET wsrep_OSU_method=RSU;
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
+SET GLOBAL wsrep_desync=1;;
+SET DEBUG_SYNC= 'now SIGNAL continue';
+DROP TABLE t1;
+SET GLOBAL wsrep_desync=0;
+SET DEBUG_SYNC= 'RESET';
diff --git a/mysql-test/suite/galera/r/MW-284.result b/mysql-test/suite/galera/r/MW-284.result
new file mode 100644
index 00000000000..c9c0069889b
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-284.result
@@ -0,0 +1,19 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+SET SESSION wsrep_on = OFF;
+SET SESSION wsrep_on = ON;
+SET global wsrep_sync_wait=0;
+START SLAVE;
+include/wait_for_slave_param.inc [Slave_IO_Running]
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+include/wait_for_slave_to_start.inc
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
+SET global wsrep_sync_wait=15;
+STOP SLAVE;
+RESET SLAVE ALL;
+CALL mtr.add_suppression('failed registering on master');
+CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
+RESET MASTER;
+CALL mtr.add_suppression('WSREP: Last Applied Action message in non-primary configuration from member');
+CALL mtr.add_suppression('WSREP: Last Applied Action message in non-primary configuration from member');
diff --git a/mysql-test/suite/galera/r/MW-285.result b/mysql-test/suite/galera/r/MW-285.result
new file mode 100644
index 00000000000..8c5a21fcbee
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-285.result
@@ -0,0 +1,19 @@
+CREATE TABLE parent1 ( id INT PRIMARY KEY, KEY (id) ) ENGINE=InnoDB;
+CREATE TABLE parent2 ( id INT PRIMARY KEY, KEY (id) ) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT PRIMARY KEY,
+parent1_id INT,
+parent2_id INT,
+FOREIGN KEY (parent1_id) REFERENCES parent1(id),
+FOREIGN KEY (parent1_id) REFERENCES parent2(id)
+) ENGINE=InnoDB;
+INSERT INTO parent1 VALUES (1);
+INSERT INTO parent2 VALUES (1);
+INSERT INTO child VALUES (1,1,1);
+INSERT INTO child VALUES (2,1,1);
+SET foreign_key_checks=OFF;
+DROP TABLE parent1;
+UPDATE child SET parent1_id=2 WHERE id=1;
+DROP TABLE child;
+DROP TABLE parent2;
+SET foreign_key_checks=ON;
diff --git a/mysql-test/suite/galera/r/MW-286.result b/mysql-test/suite/galera/r/MW-286.result
new file mode 100644
index 00000000000..e30cf89b84c
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-286.result
@@ -0,0 +1,12 @@
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+INSERT INTO t1 (f1) SELECT 100000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;;
+SET GLOBAL wsrep_desync = TRUE;
+SET wsrep_on = FALSE;
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+SET wsrep_on = TRUE;
+SET GLOBAL wsrep_desync = FALSE;
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/MW-292.result b/mysql-test/suite/galera/r/MW-292.result
new file mode 100644
index 00000000000..f038f880efa
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-292.result
@@ -0,0 +1,30 @@
+CREATE TABLE rand_table (f1 FLOAT);
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+INSERT INTO t1 VALUES (1, 'a');
+INSERT INTO t1 VALUES (2, 'a');
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'b' WHERE f1 = 1;
+SELECT * FROM t1 WHERE f1 = 2 FOR UPDATE;
+f1 f2
+2 a
+SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_enter_sync';
+COMMIT;;
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_on = 0;
+SET SESSION wsrep_on = 1;
+UPDATE t1 SET f2 = 'c' WHERE f1 = 2;
+SET GLOBAL wsrep_provider_options = 'dbug=';
+SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_enter_sync';
+SELECT TIMEDIFF(SYSDATE(), NOW()) < 2;
+TIMEDIFF(SYSDATE(), NOW()) < 2
+1
+INSERT INTO rand_table VALUES (RAND()),(RAND()),(RAND()),(RAND()),(RAND());
+INSERT INTO rand_table VALUES (RAND()),(RAND()),(RAND()),(RAND()),(RAND());
+SELECT COUNT(DISTINCT f1) = 10 FROM rand_table;
+COUNT(DISTINCT f1) = 10
+1
+wsrep_local_replays
+1
+DROP TABLE t1;
+DROP TABLE rand_table;
diff --git a/mysql-test/suite/galera/r/MW-309.result b/mysql-test/suite/galera/r/MW-309.result
new file mode 100644
index 00000000000..3dd49a041ee
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-309.result
@@ -0,0 +1,22 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+SET GLOBAL wsrep_max_ws_rows = 2;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SELECT * FROM t1 GROUP BY f1;
+f1
+1
+SELECT * FROM t1 GROUP BY f1;
+f1
+1
+SELECT * FROM t1 GROUP BY f1;
+f1
+1
+SHOW STATUS LIKE '%wsrep%';
+SET GLOBAL wsrep_max_ws_rows = 0;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/MW-313.result b/mysql-test/suite/galera/r/MW-313.result
new file mode 100644
index 00000000000..dc605ffc370
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-313.result
@@ -0,0 +1,32 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+SET GLOBAL wsrep_max_ws_rows = 2;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SELECT * FROM t1 GROUP BY f1;
+f1
+1
+SELECT * FROM t1 GROUP BY f1;
+f1
+1
+SELECT * FROM t1 GROUP BY f1;
+f1
+1
+SHOW STATUS LIKE '%wsrep%';
+INSERT INTO t1 SELECT * FROM t1;
+ERROR HY000: wsrep_max_ws_rows exceeded
+START TRANSACTION;
+INSERT INTO t1 (f1) VALUES (1);
+INSERT INTO t1 (f1) VALUES (2),(3),(4);
+ERROR HY000: wsrep_max_ws_rows exceeded
+ROLLBACK;
+START TRANSACTION;
+DELETE FROM t1;
+ERROR HY000: wsrep_max_ws_rows exceeded
+DROP TABLE t1;
+SET GLOBAL wsrep_max_ws_rows = 0;
diff --git a/mysql-test/suite/galera/r/MW-328A.result b/mysql-test/suite/galera/r/MW-328A.result
new file mode 100644
index 00000000000..daed2469f11
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-328A.result
@@ -0,0 +1,21 @@
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 CHAR(20) DEFAULT 'abc') ENGINE=InnoDB;
+INSERT INTO t1 (f1) VALUES (1);
+CREATE TABLE t2 (f1 CHAR(20)) ENGINE=InnoDB;
+CREATE PROCEDURE proc_update ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+UPDATE t1 SET f2 = LEFT(MD5(RAND()), 4);
+END WHILE;
+END|
+CALL proc_update();;
+SET SESSION wsrep_retry_autocommit = 0;
+have_successes
+1
+have_deadlocks
+1
+Got one of the listed errors
+DROP PROCEDURE proc_update;
+DROP TABLE t1, t2;
+CALL mtr.add_suppression("conflict state 3 after post commit");
diff --git a/mysql-test/suite/galera/r/MW-328B.result b/mysql-test/suite/galera/r/MW-328B.result
new file mode 100644
index 00000000000..780988938f6
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-328B.result
@@ -0,0 +1,17 @@
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 CHAR(20) DEFAULT 'abc') ENGINE=InnoDB;
+INSERT INTO t1 (f1) VALUES (1);
+CREATE TABLE t2 (f1 CHAR(20)) ENGINE=InnoDB;
+CREATE PROCEDURE proc_update ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+UPDATE t1 SET f2 = LEFT(MD5(RAND()), 4);
+END WHILE;
+END|
+CALL proc_update();;
+SET SESSION wsrep_retry_autocommit = 0;
+Got one of the listed errors
+DROP PROCEDURE proc_update;
+DROP TABLE t1, t2;
+CALL mtr.add_suppression("conflict state 3 after post commit");
diff --git a/mysql-test/suite/galera/r/MW-328C.result b/mysql-test/suite/galera/r/MW-328C.result
new file mode 100644
index 00000000000..5cd74f05171
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-328C.result
@@ -0,0 +1,17 @@
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 CHAR(20) DEFAULT 'abc') ENGINE=InnoDB;
+INSERT INTO t1 (f1) VALUES (1);
+CREATE TABLE t2 (f1 CHAR(20)) ENGINE=InnoDB;
+CREATE PROCEDURE proc_update ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+UPDATE t1 SET f2 = LEFT(MD5(RAND()), 4);
+END WHILE;
+END|
+CALL proc_update();;
+SET SESSION wsrep_retry_autocommit = 10000;
+Got one of the listed errors
+DROP PROCEDURE proc_update;
+DROP TABLE t1, t2;
+CALL mtr.add_suppression("conflict state 3 after post commit");
diff --git a/mysql-test/suite/galera/r/MW-328D.result b/mysql-test/suite/galera/r/MW-328D.result
new file mode 100644
index 00000000000..f6d055def93
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-328D.result
@@ -0,0 +1,15 @@
+CREATE TABLE t1 (i INT) ENGINE = InnoDB;
+INSERT INTO t1 (i) VALUES(1);
+CREATE TABLE t2 (i INT) ENGINE = InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SELECT * FROM t1 WHERE i = 1 LOCK IN SHARE MODE;
+i
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT IGNORE INTO t2 SELECT * FROM t1 WHERE i = 1 FOR UPDATE;;
+DELETE FROM t1 WHERE i = 1;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/galera/r/MW-328E.result b/mysql-test/suite/galera/r/MW-328E.result
new file mode 100644
index 00000000000..5829559fa4d
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-328E.result
@@ -0,0 +1,15 @@
+create table t1 (i int primary key, j int) engine=innodb;
+create table t2 (i int primary key, j int) engine=innodb;
+insert into t1 values (1,0);
+insert into t2 values (2,0);
+set autocommit=off;
+start transaction;
+update t1 set j=1 where i=1;
+set autocommit=off;
+start transaction;
+begin;
+update t2 set j=1 where i=2;
+insert into t1 select * from t2;;
+insert into t2 select * from t1;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/galera/r/MW-329.result b/mysql-test/suite/galera/r/MW-329.result
new file mode 100644
index 00000000000..4666d131c7d
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-329.result
@@ -0,0 +1,22 @@
+CREATE TABLE t1 (f1 INTEGER, f2 CHAR(20) DEFAULT 'abc') ENGINE=InnoDB;
+INSERT INTO t1 (f1) VALUES (1),(65535);
+FLUSH STATUS;
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays';
+VARIABLE_VALUE = 0
+1
+CREATE PROCEDURE proc_insert ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+INSERT INTO t1 (f1) VALUES (FLOOR( 1 + RAND( ) * 65535 ));
+END WHILE;
+END|
+CALL proc_insert();;
+SELECT VARIABLE_VALUE > 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays';
+VARIABLE_VALUE > 0
+1
+DROP PROCEDURE proc_insert;
+DROP TABLE t1;
+CALL mtr.add_suppression("conflict state 3 after post commit");
+set global innodb_status_output=Default;
diff --git a/mysql-test/suite/galera/r/MW-336.result b/mysql-test/suite/galera/r/MW-336.result
new file mode 100644
index 00000000000..81e8eae0eb3
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-336.result
@@ -0,0 +1,31 @@
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t1 values(0);
+SET GLOBAL wsrep_slave_threads = 10;
+SET GLOBAL wsrep_slave_threads = 1;
+# Wait 10 slave threads to start 1
+# Generate 12 replication events
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+13
+# Wait 9 slave threads to exit 1
+SET GLOBAL wsrep_slave_threads = 10;
+# Wait 10 slave threads to start 2
+SET GLOBAL wsrep_slave_threads = 20;
+# Wait 20 slave threads to start 3
+SET GLOBAL wsrep_slave_threads = 1;
+# Generate 40 replication events
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+53
+# Wait 10 slave threads to exit 3
+SET GLOBAL wsrep_slave_threads = 10;
+SET GLOBAL wsrep_slave_threads = 0;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_slave_threads value: '0'
+# Wait 10 slave threads to start 3
+# Generate 12 replication events
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+65
+# Wait 10 slave threads to exit 4
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/MW-357.result b/mysql-test/suite/galera/r/MW-357.result
new file mode 100644
index 00000000000..d249d5997f7
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-357.result
@@ -0,0 +1,6 @@
+SET GLOBAL wsrep_slave_threads = 0;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_slave_threads value: '0'
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/MW-369.result b/mysql-test/suite/galera/r/MW-369.result
new file mode 100644
index 00000000000..516904d1b2a
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-369.result
@@ -0,0 +1,155 @@
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+DELETE FROM p WHERE f1 = 1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+INSERT INTO c VALUES (1, 1);
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p;
+f1 f2
+1 0
+2 0
+SELECT * FROM c;
+f1 p_id
+1 1
+DROP TABLE c;
+DROP TABLE p;
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
+f2 INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1, 0);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE p SET f2 = 1 WHERE f1 = 1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+UPDATE c SET f2 = 1 WHERE f1 = 1;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+SELECT * FROM p;
+f1 f2
+1 1
+2 0
+SELECT * FROM c;
+f1 p_id f2
+1 1 1
+DROP TABLE c;
+DROP TABLE p;
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE p SET f2 = 1 WHERE f1 = 1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+DELETE FROM c WHERE f1 = 1;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+SELECT * FROM p;
+f1 f2
+1 1
+2 0
+SELECT * FROM c;
+f1 p_id
+DROP TABLE c;
+DROP TABLE p;
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER UNIQUE KEY) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f2)) ;
+INSERT INTO p VALUES (1, 0);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE p SET f2 = 1 WHERE f1 = 1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+INSERT INTO c VALUES (1, 0);;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p;
+f1 f2
+1 0
+SELECT * FROM c;
+f1 p_id
+1 0
+DROP TABLE c;
+DROP TABLE p;
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER, f2 INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)
+ON DELETE CASCADE) ;
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1, 0);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+DELETE FROM p WHERE f1 = 1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+UPDATE c SET f2 = 1 WHERE f1 = 1;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p;
+f1 f2
+1 0
+2 0
+SELECT * FROM c;
+f1 p_id f2
+1 1 1
+DROP TABLE c;
+DROP TABLE p;
diff --git a/mysql-test/suite/galera/r/MW-388.result b/mysql-test/suite/galera/r/MW-388.result
new file mode 100644
index 00000000000..141189e45c6
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-388.result
@@ -0,0 +1,40 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(255)) Engine=InnoDB;
+CREATE PROCEDURE insert_proc ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
+BEGIN
+GET DIAGNOSTICS CONDITION 1 @errno = MYSQL_ERRNO;
+END;
+INSERT INTO t1 VALUES (1, 'node 1'),(2, 'node 1');
+INSERT INTO t1 VALUES (3, 'node 1');
+END|
+SET GLOBAL wsrep_slave_threads = 2;
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+INSERT INTO t1 VALUES (1, 'node 2');;
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION DEBUG_SYNC = 'wsrep_after_replication SIGNAL wsrep_after_replication_reached WAIT_FOR wsrep_after_replication_continue';
+CALL insert_proc ();;
+SET SESSION DEBUG_SYNC = "now WAIT_FOR wsrep_after_replication_reached";
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL wsrep_after_replication_continue";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+SELECT @errno = 1213;
+@errno = 1213
+0
+SELECT * FROM t1;
+f1 f2
+1 node 2
+3 node 1
+SELECT * FROM t1;
+f1 f2
+1 node 2
+3 node 1
+SET GLOBAL wsrep_slave_threads = DEFAULT;
+DROP TABLE t1;
+DROP PROCEDURE insert_proc;
+SET GLOBAL debug_dbug = "";
+SET debug_sync='RESET';
+SELECT @@debug_sync;
+@@debug_sync
+ON - current signal: ''
diff --git a/mysql-test/suite/galera/r/MW-402.result b/mysql-test/suite/galera/r/MW-402.result
new file mode 100644
index 00000000000..fdcf6e324b5
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-402.result
@@ -0,0 +1,192 @@
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER, f2 INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1) ON DELETE CASCADE);
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1, 0);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE c SET f2=1 where f1=1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+DELETE FROM p WHERE f1 = 1;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p;
+f1 f2
+2 0
+SELECT * FROM c;
+f1 p_id f2
+DROP TABLE c;
+DROP TABLE p;
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER, f2 INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1) ON UPDATE CASCADE);
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1, 0);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE c SET f2=2 where f1=1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+UPDATE p set f1=11 WHERE f1 = 1;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p;
+f1 f2
+2 0
+11 0
+SELECT * FROM c;
+f1 p_id f2
+1 11 0
+DROP TABLE c;
+DROP TABLE p;
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER, f2 INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1) ON UPDATE CASCADE);
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1, 0);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE c SET p_id=2 where f1=1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+UPDATE p set f1=11 WHERE f1 = 1;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p;
+f1 f2
+2 0
+11 0
+SELECT * FROM c;
+f1 p_id f2
+1 11 0
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE p set f1=21 WHERE f1 = 11;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+UPDATE c SET p_id=2 where f1=1;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p;
+f1 f2
+2 0
+11 0
+SELECT * FROM c;
+f1 p_id f2
+1 2 0
+DROP TABLE c;
+DROP TABLE p;
+CREATE TABLE p1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE p2 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p1_id INTEGER, p2_id INTEGER,
+f2 INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p1_id) REFERENCES p1 (f1)
+ON DELETE CASCADE,
+CONSTRAINT fk_2 FOREIGN KEY (p2_id) REFERENCES p2 (f1));
+INSERT INTO p1 VALUES (1, 0);
+INSERT INTO p2 VALUES (1, 0);
+INSERT INTO c VALUES (1, 1, 1, 0);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE p2 SET f2=2 where f1=1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+DELETE FROM p1 WHERE f1 = 1;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+SELECT * FROM p1;
+f1 f2
+SELECT * FROM p2;
+f1 f2
+1 2
+SELECT * FROM c;
+f1 p1_id p2_id f2
+DROP TABLE c;
+DROP TABLE p1;
+DROP TABLE p2;
+CREATE TABLE p1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE p2 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p1_id INTEGER, p2_id INTEGER,
+f2 INTEGER,
+CONSTRAINT fk_1 FOREIGN KEY (p1_id) REFERENCES p1 (f1)
+ON DELETE CASCADE,
+CONSTRAINT fk_2 FOREIGN KEY (p2_id) REFERENCES p2 (f1)
+ON DELETE CASCADE);
+INSERT INTO p1 VALUES (1, 0);
+INSERT INTO p2 VALUES (1, 0);
+INSERT INTO c VALUES (1, 1, 1, 0);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+DELETE FROM p2 WHERE f1=1;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+DELETE FROM p1 WHERE f1=1;
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p1;
+f1 f2
+SELECT * FROM p2;
+f1 f2
+1 0
+SELECT * FROM c;
+f1 p1_id p2_id f2
+DROP TABLE c;
+DROP TABLE p1;
+DROP TABLE p2;
diff --git a/mysql-test/suite/galera/r/MW-416.result b/mysql-test/suite/galera/r/MW-416.result
new file mode 100644
index 00000000000..05399b213a8
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-416.result
@@ -0,0 +1,114 @@
+CREATE USER 'userMW416'@'localhost';
+GRANT SELECT, INSERT, UPDATE ON test.* TO 'userMW416'@'localhost';
+SHOW GLOBAL STATUS LIKE 'wsrep_replicated';
+Variable_name Value
+wsrep_replicated 2
+ALTER DATABASE db CHARACTER SET = utf8;
+ERROR 42000: Access denied for user 'userMW416'@'localhost' to database 'db'
+ALTER EVENT ev1 RENAME TO ev2;
+ERROR 42000: Access denied for user 'userMW416'@'localhost' to database 'test'
+ALTER FUNCTION fun1 COMMENT 'foo';
+ERROR 42000: alter routine command denied to user 'userMW416'@'localhost' for routine 'test.fun1'
+ALTER LOGFILE GROUP lfg ADD UNDOFILE 'file' ENGINE=InnoDB;
+Got one of the listed errors
+ALTER PROCEDURE proc1 COMMENT 'foo';
+Got one of the listed errors
+ALTER SERVER srv OPTIONS (USER 'sally');
+Got one of the listed errors
+ALTER TABLE tbl DROP COLUMN col;
+Got one of the listed errors
+ALTER TABLESPACE tblspc DROP DATAFILE 'file' ENGINE=innodb;
+Got one of the listed errors
+ALTER VIEW vw AS SELECT 1;
+Got one of the listed errors
+CREATE DATABASE db;
+Got one of the listed errors
+CREATE EVENT ev1 ON SCHEDULE AT CURRENT_TIMESTAMP DO SELECT 1;
+Got one of the listed errors
+CREATE FUNCTION fun1() RETURNS int RETURN(1);
+Got one of the listed errors
+CREATE FUNCTION fun1 RETURNS STRING SONAME 'funlib.so';
+Got one of the listed errors
+CREATE PROCEDURE proc1() BEGIN END;
+Got one of the listed errors
+CREATE INDEX idx ON tbl(id);
+Got one of the listed errors
+CREATE LOGFILE GROUP lfg ADD UNDOFILE 'undofile' ENGINE innodb;
+Got one of the listed errors
+CREATE SERVER srv FOREIGN DATA WRAPPER 'fdw' OPTIONS (USER 'user');
+Got one of the listed errors
+CREATE TABLE t (i int);
+Got one of the listed errors
+CREATE TABLESPACE tblspc ADD DATAFILE 'file' ENGINE=innodb;
+Got one of the listed errors
+CREATE TRIGGER trg BEFORE UPDATE ON t FOR EACH ROW BEGIN END;
+Got one of the listed errors
+CREATE VIEW vw AS SELECT 1;
+Got one of the listed errors
+DROP DATABASE db;
+Got one of the listed errors
+DROP EVENT ev;
+Got one of the listed errors
+DROP FUNCTION fun1;
+Got one of the listed errors
+DROP INDEX idx ON t0;
+Got one of the listed errors
+DROP LOGFILE GROUP lfg;
+Got one of the listed errors
+DROP PROCEDURE proc1;
+Got one of the listed errors
+DROP SERVEr srv;
+Got one of the listed errors
+DROP TABLE t0;
+Got one of the listed errors
+DROP TABLESPACE tblspc;
+Got one of the listed errors
+DROP TRIGGER trg;
+Got one of the listed errors
+DROP VIEW vw;
+Got one of the listed errors
+RENAME TABLE t0 TO t1;
+Got one of the listed errors
+TRUNCATE TABLE t0;
+Got one of the listed errors
+ALTER USER myuser PASSWORD EXPIRE;
+Got one of the listed errors
+CREATE USER myuser IDENTIFIED BY 'pass';
+Got one of the listed errors
+DROP USER myuser;
+Got one of the listed errors
+GRANT ALL ON *.* TO 'myuser';
+Got one of the listed errors
+RENAME USER myuser TO mariauser;
+Got one of the listed errors
+REVOKE SELECT ON test FROM myuser;
+Got one of the listed errors
+REVOKE ALL, GRANT OPTION FROM myuser;
+Got one of the listed errors
+REVOKE PROXY ON myuser FROM myuser;
+Got one of the listed errors
+ANALYZE TABLE db.tbl;
+Got one of the listed errors
+CHECK TABLE db.tbl;
+Got one of the listed errors
+CHECKSUM TABLE db.tbl;
+Got one of the listed errors
+OPTIMIZE TABLE db.tbl;
+Got one of the listed errors
+REPAIR TABLE db.tbl;
+Got one of the listed errors
+INSTALL PLUGIN plg SONAME 'plg.so';
+Got one of the listed errors
+UNINSTALL PLUGIN plg;
+Got one of the listed errors
+DROP USER 'userMW416'@'localhost';
+SHOW DATABASES;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+SHOW GLOBAL STATUS LIKE 'wsrep_replicated';
+Variable_name Value
+wsrep_replicated 3
diff --git a/mysql-test/suite/galera/r/MW-44.result b/mysql-test/suite/galera/r/MW-44.result
new file mode 100644
index 00000000000..a07719daca1
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-44.result
@@ -0,0 +1,19 @@
+TRUNCATE TABLE mysql.general_log;
+TRUNCATE TABLE mysql.general_log;
+SELECT Argument FROM mysql.general_log;
+Argument
+SET GLOBAL general_log='ON';
+SET SESSION wsrep_osu_method=TOI;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+SET SESSION wsrep_osu_method=RSU;
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+SET SESSION wsrep_osu_method=TOI;
+SELECT argument FROM mysql.general_log WHERE argument LIKE 'CREATE%' OR argument LIKE 'ALTER%';
+argument
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB
+ALTER TABLE t1 ADD COLUMN f2 INTEGER
+SELECT Argument FROM mysql.general_log;
+Argument
+DROP TABLE t1;
+SET GLOBAL general_log='OFF';
+SET GLOBAL general_log='OFF';
diff --git a/mysql-test/suite/galera/r/MW-86-wait1.result b/mysql-test/suite/galera/r/MW-86-wait1.result
new file mode 100644
index 00000000000..88b6ca30884
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-86-wait1.result
@@ -0,0 +1,41 @@
+SELECT @@debug_sync;
+@@debug_sync
+ON - current signal: ''
+SET SESSION wsrep_sync_wait = 1;
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+CREATE TABLE t_wait1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t_wait1 VALUES (1);
+SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+SHOW BINARY LOGS;
+SHOW BINLOG EVENTS;
+SHOW COLUMNS FROM t1;
+SHOW CREATE EVENT e1;
+SHOW CREATE FUNCTION f1;
+SHOW CREATE PROCEDURE p1;
+SHOW CREATE TABLE t1;
+SHOW CREATE TRIGGER tr1;
+SHOW CREATE VIEW v1;
+SHOW DATABASES;
+SHOW ENGINE InnoDB STATUS;
+SHOW FUNCTION CODE f1;
+SHOW FUNCTION STATUS;
+SHOW GRANTS FOR 'root'@'localhost';
+SHOW INDEX FROM t1;
+SHOW OPEN TABLES;
+SHOW PROCEDURE CODE p1;
+SHOW PROCEDURE STATUS;
+SHOW PRIVILEGES;
+SHOW STATUS LIKE 'wsrep_cluster_size';
+SHOW TABLE STATUS;
+SHOW TABLES;
+SHOW TRIGGERS;
+SHOW GLOBAL VARIABLES LIKE 'foo_bar';
+SHOW WARNINGS;
+SET GLOBAL debug_dbug = "";
+SET SESSION debug_sync = "now SIGNAL signal.wsrep_apply_cb";
+SET SESSION wsrep_sync_wait = default;
+DROP TABLE t_wait1;
+SET debug_sync='RESET';
+SELECT @@debug_sync;
+@@debug_sync
+ON - current signal: ''
diff --git a/mysql-test/suite/galera/r/MW-86-wait8.result b/mysql-test/suite/galera/r/MW-86-wait8.result
new file mode 100644
index 00000000000..d5aa5037676
--- /dev/null
+++ b/mysql-test/suite/galera/r/MW-86-wait8.result
@@ -0,0 +1,43 @@
+SELECT @@debug_sync;
+@@debug_sync
+ON - current signal: ''
+SET SESSION wsrep_sync_wait = 8;
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+CREATE TABLE t_wait8 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t_wait8 VALUES (1);
+SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT0.1S";
+SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+SHOW BINARY LOGS;
+SHOW BINLOG EVENTS;
+SHOW COLUMNS FROM t1;
+SHOW CREATE DATABASE db1;
+SHOW CREATE EVENT e1;
+SHOW CREATE FUNCTION f1;
+SHOW CREATE PROCEDURE p1;
+SHOW CREATE TABLE t1;
+SHOW CREATE TRIGGER tr1;
+SHOW CREATE VIEW v1;
+SHOW DATABASES;
+SHOW ENGINE InnoDB STATUS;
+SHOW FUNCTION CODE f1;
+SHOW FUNCTION STATUS;
+SHOW GRANTS FOR 'root'@'localhost';
+SHOW INDEX FROM t1;
+SHOW OPEN TABLES;
+SHOW PROCEDURE CODE p1;
+SHOW PROCEDURE STATUS;
+SHOW PRIVILEGES;
+SHOW STATUS LIKE 'wsrep_cluster_size';
+SHOW TABLE STATUS;
+SHOW TABLES;
+SHOW TRIGGERS;
+SHOW GLOBAL VARIABLES LIKE 'foo_bar';
+SHOW WARNINGS;
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+SET SESSION wsrep_sync_wait = default;
+DROP TABLE t_wait8;
+SET debug_sync='RESET';
+SELECT @@debug_sync;
+@@debug_sync
+ON - current signal: ''
diff --git a/mysql-test/suite/galera/r/basic.result b/mysql-test/suite/galera/r/basic.result
new file mode 100644
index 00000000000..d4efe348b61
--- /dev/null
+++ b/mysql-test/suite/galera/r/basic.result
@@ -0,0 +1,30 @@
+USE test;
+CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+SELECT * FROM t1;
+c1
+1
+2
+3
+4
+5
+
+# On node_1
+SELECT * FROM test.t1;
+c1
+1
+2
+3
+4
+5
+
+# On node_2
+SELECT * FROM test.t1;
+c1
+1
+2
+3
+4
+5
+DROP TABLE t1;
+# End of test
diff --git a/mysql-test/suite/galera/r/binlog_checksum.result b/mysql-test/suite/galera/r/binlog_checksum.result
new file mode 100644
index 00000000000..5c1981fc17f
--- /dev/null
+++ b/mysql-test/suite/galera/r/binlog_checksum.result
@@ -0,0 +1,36 @@
+# On node_1
+SET @binlog_checksum_saved= @@GLOBAL.BINLOG_CHECKSUM;
+SET @@GLOBAL.BINLOG_CHECKSUM=CRC32;
+# On node_2
+SET @binlog_checksum_saved= @@GLOBAL.BINLOG_CHECKSUM;
+SET @@GLOBAL.BINLOG_CHECKSUM=CRC32;
+USE test;
+CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+SELECT * FROM t1;
+c1
+1
+2
+3
+4
+5
+SELECT * FROM test.t1;
+c1
+1
+2
+3
+4
+5
+
+# On node_2
+SELECT * FROM test.t1;
+c1
+1
+2
+3
+4
+5
+DROP TABLE t1;
+SET @@GLOBAL.BINLOG_CHECKSUM = @binlog_checksum_saved;
+SET @@GLOBAL.BINLOG_CHECKSUM = @binlog_checksum_saved;
+# End of test
diff --git a/mysql-test/suite/galera/r/create.result b/mysql-test/suite/galera/r/create.result
new file mode 100644
index 00000000000..99b8022393d
--- /dev/null
+++ b/mysql-test/suite/galera/r/create.result
@@ -0,0 +1,84 @@
+#
+# MDEV-6924 : Server crashed on CREATE TABLE ... SELECT
+#
+SET @wsrep_forced_binlog_format_saved=@@GLOBAL.wsrep_forced_binlog_format;
+SET @@GLOBAL.wsrep_forced_binlog_format=STATEMENT;
+SHOW VARIABLES LIKE '%log%bin%';
+Variable_name Value
+log_bin OFF
+log_bin_basename
+log_bin_index
+log_bin_trust_function_creators ON
+sql_log_bin ON
+USE test;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+CREATE TEMPORARY TABLE `t1_temp` AS SELECT * FROM `t1` WHERE i = 1;
+SELECT * FROM t1;
+i
+1
+SELECT * FROM t1_temp;
+i
+1
+DROP TABLE t1;
+SET @@GLOBAL.wsrep_forced_binlog_format=@wsrep_forced_binlog_format_saved;
+#
+# MDEV-7673: CREATE TABLE SELECT fails on Galera cluster
+#
+CREATE TABLE t1 (i INT) ENGINE=INNODB DEFAULT CHARSET=utf8 SELECT 1 as i;
+SELECT * FROM t1;
+i
+1
+SELECT * FROM t1;
+i
+1
+DROP TABLE t1;
+#
+# MDEV-8166 : Adding index on new table from select crashes Galera
+# cluster
+#
+CREATE TABLE t1(i int(11) NOT NULL DEFAULT '0') ENGINE=InnoDB DEFAULT CHARSET=utf8;
+INSERT INTO t1(i) VALUES (1), (2), (3);
+CREATE TABLE t2 (i INT) SELECT i FROM t1;
+ALTER TABLE t2 ADD INDEX idx(i);
+SELECT * FROM t2;
+i
+1
+2
+3
+SELECT * FROM t2;
+i
+1
+2
+3
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `i` int(11) DEFAULT NULL,
+ KEY `idx` (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1, t2;
+#
+# MDEV-9853: WSREP says it cannot get fake InnoDB transaction ID
+# followed by segmentation fault
+#
+CREATE TABLE `t1`(`c1` INT) ENGINE=INNODB;
+SET autocommit=0;
+CREATE TABLE `t2` (`c1` INT) ENGINE=INNODB SELECT * FROM t1;
+COMMIT;
+SET autocommit=1;
+DROP TABLE t1, t2;
+#
+# MDEV-10235: Deadlock in CREATE TABLE ... AS SELECT .. if result set
+# is empty in Galera
+#
+CREATE TABLE t1(c1 INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+CREATE TABLE t2 AS SELECT * FROM t1 WHERE c1=2;
+SELECT * FROM t1;
+c1
+1
+SELECT * FROM t2;
+c1
+DROP TABLE t1, t2;
+# End of tests
diff --git a/mysql-test/suite/galera/r/enforce_storage_engine.result b/mysql-test/suite/galera/r/enforce_storage_engine.result
new file mode 100644
index 00000000000..a3513fc2789
--- /dev/null
+++ b/mysql-test/suite/galera/r/enforce_storage_engine.result
@@ -0,0 +1,22 @@
+#
+# MDEV-8831 : enforce_storage_engine doesn't block table creation on
+# other nodes (galera cluster)
+#
+SET @@enforce_storage_engine=INNODB;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+CREATE TABLE t2(i INT) ENGINE=MYISAM;
+ERROR 42000: Unknown storage engine 'MyISAM'
+INSERT INTO t1 VALUES(1);
+SHOW TABLES;
+Tables_in_test
+t1
+SELECT COUNT(*)=1 FROM t1;
+COUNT(*)=1
+1
+CREATE TABLE t2(i INT) ENGINE=MYISAM;
+SHOW TABLES;
+Tables_in_test
+t1
+t2
+DROP TABLE t1, t2;
+# End of tests
diff --git a/mysql-test/suite/galera/r/enforce_storage_engine2.result b/mysql-test/suite/galera/r/enforce_storage_engine2.result
new file mode 100644
index 00000000000..053c37d6854
--- /dev/null
+++ b/mysql-test/suite/galera/r/enforce_storage_engine2.result
@@ -0,0 +1,24 @@
+#
+# MDEV-9312: storage engine not enforced during galera cluster
+# replication
+#
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+CREATE TABLE t2(i INT) ENGINE=MYISAM;
+Warnings:
+Note 1266 Using storage engine InnoDB for table 't2'
+SHOW TABLES;
+Tables_in_test
+t1
+t2
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1, t2;
+# End of tests
diff --git a/mysql-test/suite/galera/r/ev51914.result b/mysql-test/suite/galera/r/ev51914.result
new file mode 100644
index 00000000000..4b9f7ace0da
--- /dev/null
+++ b/mysql-test/suite/galera/r/ev51914.result
@@ -0,0 +1,162 @@
+SAVEPOINT in a stored function should be forbidden
+CREATE FUNCTION f1 () RETURNS INT BEGIN
+SAVEPOINT s;
+RETURN 1;
+END|
+SELECT f1();
+f1()
+1
+DROP FUNCTION f1;
+ROLLBACK TO SAVEPOINT in a stored function should be forbidden
+CREATE FUNCTION f2 () RETURNS INT BEGIN
+ROLLBACK TO SAVEPOINT s;
+RETURN 1;
+END|
+BEGIN;
+SAVEPOINT s;
+SELECT f2();
+ERROR 42000: SAVEPOINT s does not exist
+COMMIT;
+DROP FUNCTION f2;
+BEGIN;
+SAVEPOINT S;
+ROLLBACK TO SAVEPOINT S;
+COMMIT;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 values (110), (111), (112), (113), (114);
+Direct SAVEPOINT in a trigger should be forbidden
+CREATE TRIGGER i1_t1 BEFORE INSERT ON t1 FOR EACH ROW SAVEPOINT s;
+INSERT INTO t1 VALUES (1);
+DROP TRIGGER i1_t1;
+CREATE TRIGGER i2_t1 AFTER INSERT ON t1 FOR EACH ROW SAVEPOINT s;
+INSERT INTO t1 VALUES (2);
+DROP TRIGGER i2_t1;
+INSERT INTO t1 VALUES (3);
+CREATE TRIGGER u1_t1 BEFORE UPDATE ON t1 FOR EACH ROW SAVEPOINT s;
+UPDATE t1 SET a=4 WHERE a=3;
+DROP TRIGGER u1_t1;
+CREATE TRIGGER u2_t1 AFTER UPDATE ON t1 FOR EACH ROW SAVEPOINT s;
+UPDATE t1 SET a=4 WHERE a=3;
+DROP TRIGGER u2_t1;
+CREATE TRIGGER d1_t1 BEFORE DELETE ON t1 FOR EACH ROW SAVEPOINT s;
+DELETE FROM t1;
+DROP TRIGGER d1_t1;
+CREATE TRIGGER d1_t1 AFTER DELETE ON t1 FOR EACH ROW SAVEPOINT s;
+DELETE FROM t1;
+DROP TRIGGER d1_t1;
+SAVEPOINT in a compound statement in a trigger should be forbidden
+CREATE TRIGGER i3_t1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN
+SAVEPOINT s;
+END|
+INSERT INTO t1 VALUES (5);
+DROP TRIGGER i3_t1;
+SAVEPOINT in a PS call in a trigger should be forbidden
+CREATE TRIGGER i4_t1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN
+PREPARE set_savepoint FROM "SAVEPOINT s";
+EXECUTE set_savepoint;
+DEALLOCATE PREPARE set_savepoint;
+END|
+ERROR 0A000: Dynamic SQL is not allowed in stored function or trigger
+SAVEPOINT in SP called from a trigger should be forbidden
+CREATE PROCEDURE p1() BEGIN
+SAVEPOINT s;
+END|
+CREATE TRIGGER i5_t1 BEFORE INSERT ON t1 FOR EACH ROW CALL p1;
+INSERT INTO t1 VALUES (6);
+DROP TRIGGER i5_t1;
+SAVEPOINT in a SP called from a PS called from a trigger be forbidden
+PREPARE call_p1 FROM "CALL p1";
+CREATE TRIGGER i6_t1 BEFORE INSERT ON t1 FOR EACH ROW EXECUTE call_p1;
+ERROR 0A000: Dynamic SQL is not allowed in stored function or trigger
+SAVEPOINT in a function called from a trigger should be forbidden
+CREATE FUNCTION f1 () RETURNS INT BEGIN
+SAVEPOINT s;
+RETURN 1;
+END|
+CREATE TRIGGER i7_t1 BEFORE INSERT ON t1 FOR EACH ROW SET @foo = f1();
+INSERT INTO t1 VALUES (7);
+DROP TRIGGER i7_t1;
+SAVEPOINT in a SP called from a SP called from a trigger should be forbidden
+CREATE PROCEDURE p2() BEGIN
+CALL p1();
+END|
+CREATE TRIGGER i8_t1 BEFORE INSERT ON t1 FOR EACH ROW CALL p2;
+INSERT INTO t1 VALUES (8);
+DROP TRIGGER i8_t1;
+SAVEPOINT in a SP called from a trigger called from a SP should be forbidden
+CREATE TRIGGER i9_t1 BEFORE INSERT ON t1 FOR EACH ROW CALL p1;
+CREATE PROCEDURE p3() BEGIN
+INSERT INTO t1 VALUES (9);
+END|
+CALL p3();
+DROP TRIGGER i9_t1;
+ROLLBACK TO SAVEPOINT in trigger as a trivial statement should be forbidden
+CREATE TRIGGER i4_t1 BEFORE INSERT ON t1 FOR EACH ROW ROLLBACK TO SAVEPOINT s;
+BEGIN;
+SAVEPOINT s;
+INSERT INTO t1 VALUES (5);
+ERROR 42000: SAVEPOINT s does not exist
+COMMIT;
+DROP TRIGGER i4_t1;
+ROLLBACK TO SAVEPOINT in a trigger in a SP call should be forbidden
+CREATE PROCEDURE p4() BEGIN
+ROLLBACK TO SAVEPOINT s;
+END|
+CREATE TRIGGER i5_t1 BEFORE INSERT ON t1 FOR EACH ROW CALL p4;
+BEGIN;
+SAVEPOINT s;
+INSERT INTO t1 VALUES (6);
+ERROR 42000: SAVEPOINT s does not exist
+COMMIT;
+DROP TRIGGER i5_t1;
+SAVEPOINT in a SP next to a trigger should work
+CREATE TRIGGER i6_t1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a = NEW.a + 1;
+CREATE PROCEDURE p5() BEGIN
+SAVEPOINT s;
+INSERT INTO t1 VALUES (10);
+ROLLBACK TO SAVEPOINT s;
+END|
+BEGIN;
+CALL p5();
+COMMIT;
+DROP TRIGGER i6_t1;
+create trigger t1 before insert on t1 for each row
+begin
+insert into t2 values (NULL);
+end|
+INSERT INTO t1 VALUES (201), (202), (203);
+SELECT * FROM t1;
+a
+5
+6
+7
+8
+9
+201
+202
+203
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+3
+SELECT * FROM t1;
+a
+5
+6
+7
+8
+9
+201
+202
+203
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+3
+DEALLOCATE PREPARE call_p1;
+DROP TABLE t1, t2;
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP PROCEDURE p3;
+DROP PROCEDURE p4;
+DROP PROCEDURE p5;
+DROP FUNCTION f1;
diff --git a/mysql-test/suite/galera/r/fk.result b/mysql-test/suite/galera/r/fk.result
new file mode 100644
index 00000000000..d6a3a25b01a
--- /dev/null
+++ b/mysql-test/suite/galera/r/fk.result
@@ -0,0 +1,96 @@
+USE test;
+
+# On node_1
+CREATE TABLE networks (
+`tenant_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+`id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+`status` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL,
+`admin_state_up` tinyint(1) DEFAULT NULL,
+`shared` tinyint(1) DEFAULT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+CREATE TABLE ports (
+`tenant_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+`id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+`network_id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+`mac_address` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
+`admin_state_up` tinyint(1) NOT NULL,
+`status` varchar(16) COLLATE utf8_unicode_ci NOT NULL,
+`device_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+`device_owner` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+PRIMARY KEY (`id`),
+KEY `network_id` (`network_id`),
+CONSTRAINT `ports_ibfk_1` FOREIGN KEY (`network_id`) REFERENCES networks (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+CREATE TABLE subnets (
+`tenant_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+`id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+`network_id` varchar(36) COLLATE utf8_unicode_ci DEFAULT NULL,
+`ip_version` int(11) NOT NULL,
+`cidr` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
+`gateway_ip` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
+`enable_dhcp` tinyint(1) DEFAULT NULL,
+`shared` tinyint(1) DEFAULT NULL,
+`ipv6_ra_mode` enum('slaac','dhcpv6-stateful','dhcpv6-stateless') COLLATE utf8_unicode_ci DEFAULT NULL,
+`ipv6_address_mode` enum('slaac','dhcpv6-stateful','dhcpv6-stateless') COLLATE utf8_unicode_ci DEFAULT NULL,
+PRIMARY KEY (`id`),
+KEY `network_id` (`network_id`),
+CONSTRAINT `subnets_ibfk_1` FOREIGN KEY (`network_id`) REFERENCES networks (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+CREATE TABLE `ipallocations` (
+`port_id` varchar(36) COLLATE utf8_unicode_ci DEFAULT NULL,
+`ip_address` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
+`subnet_id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+`network_id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+PRIMARY KEY (`ip_address`,`subnet_id`,`network_id`),
+KEY `port_id` (`port_id`),
+KEY `subnet_id` (`subnet_id`),
+KEY `network_id` (`network_id`),
+CONSTRAINT `ipallocations_ibfk_1` FOREIGN KEY (`port_id`) REFERENCES `ports` (`id`) ON DELETE CASCADE,
+CONSTRAINT `ipallocations_ibfk_2` FOREIGN KEY (`subnet_id`) REFERENCES `subnets` (`id`) ON DELETE CASCADE,
+CONSTRAINT `ipallocations_ibfk_3` FOREIGN KEY (`network_id`) REFERENCES `networks` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+INSERT INTO networks VALUES ('f37aa3fe-ab99-4d0f-a566-6cd3169d7516','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','MyNet','ACTIVE',0,0);
+INSERT INTO ports VALUES ('','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','fa:16:3e:e3:cc:bb',1,'DOWN','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','network:router_gateway');
+INSERT INTO subnets VALUES ('f37aa3fe-ab99-4d0f-a566-6cd3169d7516','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','ext-subnet','f37aa3fe-ab99-4d0f-a566-6cd3169d7516',4,'10.25.0.0/24','10.25.0.4',0,1,NULL,NULL);
+INSERT INTO ipallocations VALUES ('f37aa3fe-ab99-4d0f-a566-6cd3169d7516','10.25.0.17','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','f37aa3fe-ab99-4d0f-a566-6cd3169d7516');
+select * from ports where ports.id = 'f37aa3fe-ab99-4d0f-a566-6cd3169d7516';
+tenant_id id name network_id mac_address admin_state_up status device_id device_owner
+ f37aa3fe-ab99-4d0f-a566-6cd3169d7516 f37aa3fe-ab99-4d0f-a566-6cd3169d7516 fa:16:3e:e3:cc:bb 1 DOWN f37aa3fe-ab99-4d0f-a566-6cd3169d7516 network:router_gateway
+select * from ports where ports.id = 'f37aa3fe-ab99-4d0f-a566-6cd3169d7516';
+tenant_id id name network_id mac_address admin_state_up status device_id device_owner
+ f37aa3fe-ab99-4d0f-a566-6cd3169d7516 f37aa3fe-ab99-4d0f-a566-6cd3169d7516 fa:16:3e:e3:cc:bb 1 DOWN f37aa3fe-ab99-4d0f-a566-6cd3169d7516 network:router_gateway
+DELETE FROM ports WHERE ports.id = 'f37aa3fe-ab99-4d0f-a566-6cd3169d7516';
+select * from networks;
+tenant_id id name status admin_state_up shared
+f37aa3fe-ab99-4d0f-a566-6cd3169d7516 f37aa3fe-ab99-4d0f-a566-6cd3169d7516 MyNet ACTIVE 0 0
+select * from ports;
+tenant_id id name network_id mac_address admin_state_up status device_id device_owner
+select * from subnets;
+tenant_id id name network_id ip_version cidr gateway_ip enable_dhcp shared ipv6_ra_mode ipv6_address_mode
+f37aa3fe-ab99-4d0f-a566-6cd3169d7516 f37aa3fe-ab99-4d0f-a566-6cd3169d7516 ext-subnet f37aa3fe-ab99-4d0f-a566-6cd3169d7516 4 10.25.0.0/24 10.25.0.4 0 1 NULL NULL
+select * from ipallocations;
+port_id ip_address subnet_id network_id
+select * from ports;
+tenant_id id name network_id mac_address admin_state_up status device_id device_owner
+
+# On node_2
+select * from networks;
+tenant_id id name status admin_state_up shared
+f37aa3fe-ab99-4d0f-a566-6cd3169d7516 f37aa3fe-ab99-4d0f-a566-6cd3169d7516 MyNet ACTIVE 0 0
+select * from ports;
+tenant_id id name network_id mac_address admin_state_up status device_id device_owner
+select * from subnets;
+tenant_id id name network_id ip_version cidr gateway_ip enable_dhcp shared ipv6_ra_mode ipv6_address_mode
+f37aa3fe-ab99-4d0f-a566-6cd3169d7516 f37aa3fe-ab99-4d0f-a566-6cd3169d7516 ext-subnet f37aa3fe-ab99-4d0f-a566-6cd3169d7516 4 10.25.0.0/24 10.25.0.4 0 1 NULL NULL
+select * from ipallocations;
+port_id ip_address subnet_id network_id
+select * from ports;
+tenant_id id name network_id mac_address admin_state_up status device_id device_owner
+drop table ipallocations;
+drop table subnets;
+drop table ports;
+drop table networks;
diff --git a/mysql-test/suite/galera/r/galera#414.result b/mysql-test/suite/galera/r/galera#414.result
new file mode 100644
index 00000000000..029961f9463
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera#414.result
@@ -0,0 +1,5 @@
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_on = OFF;
+SET SESSION wsrep_on = ON;
+CALL mtr.add_suppression("Failed to set packet size");
+CALL mtr.add_suppression("Failed to set packet size");
diff --git a/mysql-test/suite/galera/r/galera#500.result b/mysql-test/suite/galera/r/galera#500.result
new file mode 100644
index 00000000000..6a07d0359a4
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera#500.result
@@ -0,0 +1,10 @@
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options="gmcast.isolate=2";
+SET SESSION wsrep_sync_wait = 0;
+SHOW STATUS LIKE 'wsrep_cluster_status';
+Variable_name Value
+wsrep_cluster_status non-Primary
+SET SESSION wsrep_sync_wait = default;
+SET GLOBAL wsrep_provider_options="pc.bootstrap=1";
+SET SESSION wsrep_on=0;
+CALL mtr.add_suppression("WSREP: exception from gcomm, backend must be restarted: Gcomm backend termination was requested by setting gmcast.isolate=2.");
diff --git a/mysql-test/suite/galera/r/galera#505.result b/mysql-test/suite/galera/r/galera#505.result
new file mode 100644
index 00000000000..3a72c843514
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera#505.result
@@ -0,0 +1,7 @@
+SET SESSION wsrep_sync_wait=0;
+SET SESSION wsrep_sync_wait=DEFAULT;
+SET GLOBAL wsrep_provider_options = 'pc.weight=3';
+SHOW GLOBAL VARIABLES LIKE 'wsrep_provider_options';
+Variable_name Value
+wsrep_provider_options pc.weight = 3
+SET GLOBAL wsrep_provider_options = 'pc.weight=1';
diff --git a/mysql-test/suite/galera/r/galera_account_management.result b/mysql-test/suite/galera/r/galera_account_management.result
new file mode 100644
index 00000000000..4fa33a63064
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_account_management.result
@@ -0,0 +1,47 @@
+CREATE USER user1, user2 IDENTIFIED BY 'password';
+SELECT COUNT(*) = 2 FROM mysql.user WHERE user IN ('user1', 'user2');
+COUNT(*) = 2
+1
+ALTER USER user1 PASSWORD EXPIRE;
+SELECT password_expired = 'Y' FROM mysql.user WHERE user = 'user1';
+password_expired = 'Y'
+1
+SELECT password_expired = 'Y' FROM mysql.user WHERE user = 'user1';
+password_expired = 'Y'
+1
+RENAME USER user2 TO user3;
+SELECT COUNT(*) = 0 FROM mysql.user WHERE user = 'user2';
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM mysql.user WHERE user = 'user3';
+COUNT(*) = 1
+1
+SET PASSWORD FOR user3 = PASSWORD('foo');
+SELECT password != '' FROM mysql.user WHERE user = 'user3';
+password != ''
+1
+DROP USER user1, user3;
+SELECT COUNT(*) = 0 FROM mysql.user WHERE user IN ('user1', 'user2');
+COUNT(*) = 0
+1
+GRANT ALL ON *.* TO user4 IDENTIFIED BY 'password';
+SELECT COUNT(*) = 1 FROM mysql.user WHERE user = 'user4';
+COUNT(*) = 1
+1
+SELECT Select_priv = 'Y' FROM mysql.user WHERE user = 'user4';
+Select_priv = 'Y'
+1
+CREATE USER user5;
+GRANT PROXY ON user4 TO user5;
+SELECT COUNT(*) = 1 FROM mysql.proxies_priv WHERE user = 'user5';
+COUNT(*) = 1
+1
+REVOKE ALL PRIVILEGES ON *.* FROM user4;
+SELECT Select_priv = 'N' FROM mysql.user WHERE user = 'user4';
+Select_priv = 'N'
+1
+REVOKE PROXY ON user4 FROM user5;
+SELECT COUNT(*) = 0 FROM mysql.proxies_priv WHERE user = 'user5';
+COUNT(*) = 0
+1
+DROP USER user4, user5;
diff --git a/mysql-test/suite/galera/r/galera_admin.result b/mysql-test/suite/galera/r/galera_admin.result
new file mode 100644
index 00000000000..e58b0a5e310
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_admin.result
@@ -0,0 +1,43 @@
+DROP TABLE IF EXISTS t1, t2;
+DROP TABLE IF EXISTS x1, x2;
+CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO x1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO t2 (f2) SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4;
+INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+# ANALYZE test
+ANALYZE TABLE t1, t2;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+test.t2 analyze status OK
+# OPTIMIZE test
+OPTIMIZE TABLE t1, t2;
+Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize status OK
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t2 optimize status OK
+# REPAIR test
+REPAIR TABLE x1, x2;
+Table Op Msg_type Msg_text
+test.x1 repair status OK
+test.x2 repair status OK
+SELECT COUNT(*) = 10 FROM t1;
+COUNT(*) = 10
+1
+SELECT COUNT(*) = 10 FROM x1;
+COUNT(*) = 10
+1
+SELECT COUNT(*) = 10000 FROM t2;
+COUNT(*) = 10000
+1
+SELECT COUNT(*) = 10 FROM x2;
+COUNT(*) = 10
+1
+DROP TABLE t1, t2;
+DROP TABLE x1, x2;
+SET GLOBAL wsrep_replicate_myisam = FALSE;
diff --git a/mysql-test/suite/galera/r/galera_alter_engine_innodb.result b/mysql-test/suite/galera/r/galera_alter_engine_innodb.result
new file mode 100644
index 00000000000..2b30ac5814d
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_alter_engine_innodb.result
@@ -0,0 +1,10 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+ALTER TABLE t1 ENGINE=InnoDB;
+SELECT ENGINE = 'InnoDB' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+ENGINE = 'InnoDB'
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_alter_engine_myisam.result b/mysql-test/suite/galera/r/galera_alter_engine_myisam.result
new file mode 100644
index 00000000000..280cb58208c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_alter_engine_myisam.result
@@ -0,0 +1,11 @@
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1);
+ALTER TABLE t1 ENGINE=InnoDB;
+SELECT ENGINE = 'InnoDB' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+ENGINE = 'InnoDB'
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_alter_table_force.result b/mysql-test/suite/galera/r/galera_alter_table_force.result
new file mode 100644
index 00000000000..401ab46d868
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_alter_table_force.result
@@ -0,0 +1,10 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+ALTER TABLE t1 FORCE;
+SELECT ENGINE = 'InnoDB' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+ENGINE = 'InnoDB'
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_applier_ftwrl_table.result b/mysql-test/suite/galera/r/galera_applier_ftwrl_table.result
new file mode 100644
index 00000000000..1b2a3b937bb
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_applier_ftwrl_table.result
@@ -0,0 +1,15 @@
+SET SESSION wsrep_sync_wait = 0;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+FLUSH TABLE t1 WITH READ LOCK;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+SET SESSION wsrep_sync_wait = 0;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+UNLOCK TABLES;
+SET SESSION wsrep_sync_wait = 15;
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_applier_ftwrl_table_alter.result b/mysql-test/suite/galera/r/galera_applier_ftwrl_table_alter.result
new file mode 100644
index 00000000000..c30f78896e5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_applier_ftwrl_table_alter.result
@@ -0,0 +1,26 @@
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION lock_wait_timeout = 60;
+SET SESSION innodb_lock_wait_timeout=60;
+SET SESSION wait_timeout=60;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+FLUSH TABLE t1 WITH READ LOCK;
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+SELECT 1 FROM DUAL;
+1
+1
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock';
+COUNT(*) = 1
+1
+UNLOCK TABLES;
+SET SESSION wsrep_sync_wait = 15;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock';
+COUNT(*) = 0
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_as_master.result b/mysql-test/suite/galera/r/galera_as_master.result
new file mode 100644
index 00000000000..06de9ccf016
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_master.result
@@ -0,0 +1,50 @@
+START SLAVE;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+# Disable binary logging for current session
+SET SQL_LOG_BIN=OFF;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(1);
+INSERT INTO t1 VALUES(2);
+CREATE TABLE test.t3 AS SELECT * from t1;
+SET SQL_LOG_BIN=ON;
+INSERT INTO t1 VALUES(3);
+CREATE TABLE test.t4 AS SELECT * from t1;
+SELECT * FROM t1;
+f1
+1
+2
+3
+SELECT * FROM t2;
+f1
+1
+SELECT * FROM t3;
+f1
+1
+2
+SELECT * FROM t4;
+f1
+1
+2
+3
+SHOW TABLES;
+Tables_in_test
+t1
+t4
+SELECT * FROM t1;
+f1
+1
+3
+SELECT * FROM t4;
+f1
+1
+2
+3
+# Cleanup
+DROP TABLE t1, t4;
+SET SQL_LOG_BIN=OFF;
+DROP TABLE t2, t3;
+STOP SLAVE;
+RESET SLAVE ALL;
+CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
+RESET MASTER;
diff --git a/mysql-test/suite/galera/r/galera_as_master_gtid.result b/mysql-test/suite/galera/r/galera_as_master_gtid.result
new file mode 100644
index 00000000000..8dfe462d495
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_master_gtid.result
@@ -0,0 +1,59 @@
+START SLAVE USER='root';
+Warnings:
+Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+uuids_do_not_match
+1
+SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM 120;
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-bin.000002 120 Previous_gtids 1 151
+mysqld-bin.000002 151 Gtid 1 199 SET @@SESSION.GTID_NEXT= '<effective_uuid>:1'
+mysqld-bin.000002 199 Query 1 327 use `test`; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB
+mysqld-bin.000002 327 Gtid 1 375 SET @@SESSION.GTID_NEXT= '<effective_uuid>:2'
+mysqld-bin.000002 375 Query 1 452 BEGIN
+mysqld-bin.000002 452 Table_map 1 497 table_id: # (test.t1)
+mysqld-bin.000002 497 Write_rows 1 537 table_id: # flags: STMT_END_F
+mysqld-bin.000002 537 Xid 1 568 COMMIT /* xid=# */
+INSERT INTO t1 VALUES(2);
+uuids_do_not_match
+1
+uuids_match
+1
+SHOW BINLOG EVENTS IN 'mysqld-bin.000003' FROM 120;
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-bin.000003 120 Previous_gtids 2 151
+mysqld-bin.000003 151 Gtid 1 199 SET @@SESSION.GTID_NEXT= '<effective_uuid>:1'
+mysqld-bin.000003 199 Query 1 327 use `test`; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB
+mysqld-bin.000003 327 Gtid 1 375 SET @@SESSION.GTID_NEXT= '<effective_uuid>:2'
+mysqld-bin.000003 375 Query 1 443 BEGIN
+mysqld-bin.000003 443 Table_map 1 488 table_id: # (test.t1)
+mysqld-bin.000003 488 Write_rows 1 528 table_id: # flags: STMT_END_F
+mysqld-bin.000003 528 Xid 1 559 COMMIT /* xid=# */
+mysqld-bin.000003 559 Gtid 2 607 SET @@SESSION.GTID_NEXT= '<effective_uuid>:3'
+mysqld-bin.000003 607 Query 2 684 BEGIN
+mysqld-bin.000003 684 Table_map 2 729 table_id: # (test.t1)
+mysqld-bin.000003 729 Write_rows 2 769 table_id: # flags: STMT_END_F
+mysqld-bin.000003 769 Xid 2 800 COMMIT /* xid=# */
+uuids_do_not_match
+1
+uuids_match
+1
+SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 120;
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-bin.000001 120 Previous_gtids 3 151
+mysqld-bin.000001 151 Gtid 1 199 SET @@SESSION.GTID_NEXT= '<effective_uuid>:1'
+mysqld-bin.000001 199 Query 1 327 use `test`; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB
+mysqld-bin.000001 327 Gtid 1 375 SET @@SESSION.GTID_NEXT= '<effective_uuid>:2'
+mysqld-bin.000001 375 Query 1 443 BEGIN
+mysqld-bin.000001 443 Table_map 1 488 table_id: # (test.t1)
+mysqld-bin.000001 488 Write_rows 1 528 table_id: # flags: STMT_END_F
+mysqld-bin.000001 528 Xid 1 559 COMMIT /* xid=# */
+mysqld-bin.000001 559 Gtid 2 607 SET @@SESSION.GTID_NEXT= '<effective_uuid>:3'
+mysqld-bin.000001 607 Query 2 675 BEGIN
+mysqld-bin.000001 675 Table_map 2 720 table_id: # (test.t1)
+mysqld-bin.000001 720 Write_rows 2 760 table_id: # flags: STMT_END_F
+mysqld-bin.000001 760 Xid 2 791 COMMIT /* xid=# */
+DROP TABLE t1;
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/r/galera_as_master_gtid_change_master.result b/mysql-test/suite/galera/r/galera_as_master_gtid_change_master.result
new file mode 100644
index 00000000000..80fbccf58e2
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_master_gtid_change_master.result
@@ -0,0 +1,15 @@
+START SLAVE USER='root';
+Warnings:
+Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t1 VALUES(2);
+STOP SLAVE;
+START SLAVE USER='root';
+Warnings:
+Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
+INSERT INTO t1 VALUES(3);
+INSERT INTO t1 VALUES(4);
+DROP TABLE t1;
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/r/galera_as_master_large.result b/mysql-test/suite/galera/r/galera_as_master_large.result
new file mode 100644
index 00000000000..4d5533899cf
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_master_large.result
@@ -0,0 +1,30 @@
+#
+# MDEV-9044 : Getting binlog corruption on my Galera cluster (10.1.8)
+# making it impossible to async slave.
+#
+START SLAVE;
+SELECT @@GLOBAL.BINLOG_CACHE_SIZE;
+@@GLOBAL.BINLOG_CACHE_SIZE
+8192
+CREATE TABLE t1 (c1 INTEGER PRIMARY KEY, c2 VARCHAR(12000)) ENGINE=INNODB;
+CREATE TABLE t2 (c1 INTEGER PRIMARY KEY) ENGINE=INNODB;
+START TRANSACTION;
+INSERT INTO t1 VALUES(1, REPEAT('-', 10000));
+COMMIT;
+INSERT INTO t2 VALUES(1);
+SELECT c1, LENGTH(c2) FROM t1;
+c1 LENGTH(c2)
+1 10000
+SELECT * FROM t2;
+c1
+1
+SELECT c1, LENGTH(c2) FROM t1;
+c1 LENGTH(c2)
+1 10000
+SELECT * FROM t2;
+c1
+1
+# Cleanup
+DROP TABLE t1, t2;
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/r/galera_as_slave.result b/mysql-test/suite/galera/r/galera_as_slave.result
new file mode 100644
index 00000000000..2d7d689aa36
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_slave.result
@@ -0,0 +1,15 @@
+START SLAVE;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t1 VALUES (2);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+INSERT INTO t1 VALUES (3);
+SELECT COUNT(*) = 3 FROM t1;
+COUNT(*) = 3
+1
+DROP TABLE t1;
+STOP SLAVE;
+RESET SLAVE ALL;
+RESET MASTER;
diff --git a/mysql-test/suite/galera/r/galera_as_slave_autoinc.result b/mysql-test/suite/galera/r/galera_as_slave_autoinc.result
new file mode 100644
index 00000000000..3c5319a6126
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_slave_autoinc.result
@@ -0,0 +1,80 @@
+START SLAVE;
+SET SESSION binlog_format='STATEMENT';
+CREATE TABLE t1 (
+i int(11) NOT NULL AUTO_INCREMENT,
+c char(32) DEFAULT 'dummy_text',
+PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+insert into t1(i) values(null);
+select * from t1;
+i c
+1 dummy_text
+insert into t1(i) values(null), (null), (null);
+select * from t1;
+i c
+1 dummy_text
+2 dummy_text
+3 dummy_text
+4 dummy_text
+SET SESSION auto_increment_increment=7;
+insert into t1(i) values(null), (null), (null);
+SET SESSION auto_increment_offset=5;
+insert into t1(i) values(null), (null), (null);
+select * from t1;
+i c
+1 dummy_text
+2 dummy_text
+3 dummy_text
+4 dummy_text
+8 dummy_text
+15 dummy_text
+22 dummy_text
+33 dummy_text
+40 dummy_text
+47 dummy_text
+show variables like 'binlog_format';
+Variable_name Value
+binlog_format STATEMENT
+show variables like 'auto_increment_increment';
+Variable_name Value
+auto_increment_increment 7
+select * from t1;
+i c
+1 dummy_text
+2 dummy_text
+3 dummy_text
+4 dummy_text
+8 dummy_text
+15 dummy_text
+22 dummy_text
+33 dummy_text
+40 dummy_text
+47 dummy_text
+show variables like 'binlog_format';
+Variable_name Value
+binlog_format ROW
+show variables like 'auto_increment_increment';
+Variable_name Value
+auto_increment_increment 2
+select * from t1;
+i c
+1 dummy_text
+2 dummy_text
+3 dummy_text
+4 dummy_text
+8 dummy_text
+15 dummy_text
+22 dummy_text
+33 dummy_text
+40 dummy_text
+47 dummy_text
+show variables like 'binlog_format';
+Variable_name Value
+binlog_format ROW
+show variables like 'auto_increment_increment';
+Variable_name Value
+auto_increment_increment 2
+DROP TABLE t1;
+STOP SLAVE;
+RESET SLAVE ALL;
+RESET MASTER;
diff --git a/mysql-test/suite/galera/r/galera_as_slave_gtid.result b/mysql-test/suite/galera/r/galera_as_slave_gtid.result
new file mode 100644
index 00000000000..fbac7b1b6b5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_slave_gtid.result
@@ -0,0 +1,16 @@
+START SLAVE;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+SELECT LENGTH(@@global.gtid_binlog_state) > 1;
+LENGTH(@@global.gtid_binlog_state) > 1
+1
+gtid_binlog_state_equal
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+gtid_binlog_state_equal
+1
+DROP TABLE t1;
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/r/galera_as_slave_nonprim.result b/mysql-test/suite/galera/r/galera_as_slave_nonprim.result
new file mode 100644
index 00000000000..365ea31f292
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_slave_nonprim.result
@@ -0,0 +1,18 @@
+START SLAVE;
+SET SESSION wsrep_sync_wait = 0;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
+expected_error
+1
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+START SLAVE;
+DROP TABLE t1;
+STOP SLAVE;
+RESET SLAVE ALL;
+CALL mtr.add_suppression("Slave SQL: Error 'Unknown command' on query");
+CALL mtr.add_suppression("Slave: Unknown command Error_code: 1047");
+CALL mtr.add_suppression("Transport endpoint is not connected");
+CALL mtr.add_suppression("Slave SQL: Error in Xid_log_event: Commit could not be completed, 'Deadlock found when trying to get lock; try restarting transaction', Error_code: 1213");
+CALL mtr.add_suppression("Slave SQL: Node has dropped from cluster, Error_code: 1047");
+RESET MASTER;
diff --git a/mysql-test/suite/galera/r/galera_as_slave_preordered.result b/mysql-test/suite/galera/r/galera_as_slave_preordered.result
new file mode 100644
index 00000000000..27a08e73491
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_slave_preordered.result
@@ -0,0 +1,19 @@
+START SLAVE USER='root';
+Warnings:
+Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=InnoDB;
+SELECT COUNT(DISTINCT f1) = 2 * 100 * 10 * 10 FROM t1;
+COUNT(DISTINCT f1) = 2 * 100 * 10 * 10
+1
+SELECT COUNT(*) = 2 * 100 * 10 * 10 FROM t1;
+COUNT(*) = 2 * 100 * 10 * 10
+1
+SELECT COUNT(DISTINCT f1) = 2 * 100 * 10 * 10 FROM t1;
+COUNT(DISTINCT f1) = 2 * 100 * 10 * 10
+1
+DROP TABLE t1;
+DROP TABLE ten;
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/r/galera_as_slave_replication_bundle.result b/mysql-test/suite/galera/r/galera_as_slave_replication_bundle.result
new file mode 100644
index 00000000000..a86bfd20e2f
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_as_slave_replication_bundle.result
@@ -0,0 +1,15 @@
+START SLAVE USER='root';
+Warnings:
+Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+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);
+SELECT COUNT(*) = 4 FROM t1;
+COUNT(*) = 4
+1
+DROP TABLE t1;
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/r/galera_autoinc_sst_mariabackup.result b/mysql-test/suite/galera/r/galera_autoinc_sst_mariabackup.result
new file mode 100644
index 00000000000..228d7c6f041
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_autoinc_sst_mariabackup.result
@@ -0,0 +1,36 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+CREATE PROCEDURE p1 ()
+BEGIN
+DECLARE x INT DEFAULT 1;
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+WHILE 1 DO
+INSERT INTO t1 VALUES (DEFAULT);
+COMMIT;
+END WHILE;
+END|
+CALL p1();;
+CALL p1();;
+Killing server ...
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+Got one of the listed errors
+Got one of the listed errors
+count_equal
+1
+CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member 0");
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE
+2
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE
+2
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+DROP PROCEDURE p1;
+DROP TABLE t1;
+CALL mtr.add_suppression("gcs_caused\\(\\) returned -1 \\(Operation not permitted\\)");
+CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member 0");
diff --git a/mysql-test/suite/galera/r/galera_autoinc_sst_xtrabackup.result b/mysql-test/suite/galera/r/galera_autoinc_sst_xtrabackup.result
new file mode 100644
index 00000000000..228d7c6f041
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_autoinc_sst_xtrabackup.result
@@ -0,0 +1,36 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+CREATE PROCEDURE p1 ()
+BEGIN
+DECLARE x INT DEFAULT 1;
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+WHILE 1 DO
+INSERT INTO t1 VALUES (DEFAULT);
+COMMIT;
+END WHILE;
+END|
+CALL p1();;
+CALL p1();;
+Killing server ...
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+Got one of the listed errors
+Got one of the listed errors
+count_equal
+1
+CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member 0");
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE
+2
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE
+2
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+DROP PROCEDURE p1;
+DROP TABLE t1;
+CALL mtr.add_suppression("gcs_caused\\(\\) returned -1 \\(Operation not permitted\\)");
+CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member 0");
diff --git a/mysql-test/suite/galera/r/galera_bf_abort.result b/mysql-test/suite/galera/r/galera_bf_abort.result
new file mode 100644
index 00000000000..cc750f05050
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_abort.result
@@ -0,0 +1,10 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(6)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'node_2');
+INSERT INTO t1 VALUES (1,'node_1');
+INSERT INTO t1 VALUES (2, 'node_2');
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+wsrep_local_aborts_increment
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_bf_abort_flush_for_export.result b/mysql-test/suite/galera/r/galera_bf_abort_flush_for_export.result
new file mode 100644
index 00000000000..3c5c07ae396
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_abort_flush_for_export.result
@@ -0,0 +1,15 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+FLUSH TABLES t1 FOR EXPORT;
+INSERT INTO t1 VALUES (2);
+SET SESSION wsrep_sync_wait = 0;
+UNLOCK TABLES;
+COMMIT;
+SET AUTOCOMMIT=ON;
+SET SESSION wsrep_sync_wait = 15;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+wsrep_local_aborts_increment
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_bf_abort_for_update.result b/mysql-test/suite/galera/r/galera_bf_abort_for_update.result
new file mode 100644
index 00000000000..2367924466c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_abort_for_update.result
@@ -0,0 +1,21 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, 10);
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+f1 f2
+1 10
+UPDATE t1 SET f1 = 2;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+wsrep_local_bf_aborts_diff
+1
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+f1 f2
+2 10
+UPDATE t1 SET f2 = 20;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+wsrep_local_bf_aborts_diff
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_bf_abort_ftwrl.result b/mysql-test/suite/galera/r/galera_bf_abort_ftwrl.result
new file mode 100644
index 00000000000..e3819172510
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_abort_ftwrl.result
@@ -0,0 +1,8 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+FLUSH TABLES WITH READ LOCK;;
+INSERT INTO t1 VALUES (1);
+UNLOCK TABLES;
+wsrep_local_aborts_increment
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_bf_abort_get_lock.result b/mysql-test/suite/galera/r/galera_bf_abort_get_lock.result
new file mode 100644
index 00000000000..2e44a773b23
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_abort_get_lock.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SELECT GET_LOCK("foo", 1000);
+GET_LOCK("foo", 1000)
+1
+SET AUTOCOMMIT=OFF;
+INSERT INTO t1 VALUES (1);
+SELECT GET_LOCK("foo", 1000);;
+INSERT INTO t1 VALUES (1);
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+wsrep_local_aborts_increment
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_bf_abort_lock_table.result b/mysql-test/suite/galera/r/galera_bf_abort_lock_table.result
new file mode 100644
index 00000000000..7510e48ee83
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_abort_lock_table.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+LOCK TABLE t1 WRITE;
+INSERT INTO t1 VALUES (2);
+UNLOCK TABLES;
+COMMIT;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+wsrep_local_aborts_increment
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_bf_abort_sleep.result b/mysql-test/suite/galera/r/galera_bf_abort_sleep.result
new file mode 100644
index 00000000000..8e85a5feda2
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_abort_sleep.result
@@ -0,0 +1,9 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+INSERT INTO t1 VALUES (1);
+SELECT SLEEP(1000);;
+INSERT INTO t1 VALUES (1);
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+wsrep_local_aborts_increment
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_bf_background_statistics.result b/mysql-test/suite/galera/r/galera_bf_background_statistics.result
new file mode 100644
index 00000000000..dc367b065f6
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_background_statistics.result
@@ -0,0 +1,95 @@
+SELECT @@innodb_stats_persistent;
+@@innodb_stats_persistent
+1
+CREATE TABLE t1 (f1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, f2 INTEGER DEFAULT NULL) ENGINE=InnoDB;
+INSERT INTO t1(f1) values (NULL);
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+SELECT count(1) from t1;
+count(1)
+16384
+SET AUTOCOMMIT=OFF;
+INSERT INTO t1 VALUES (9999999,NULL);
+SELECT SLEEP(1000);;
+ALTER TABLE t1 CHANGE f2 f2 INTEGER NOT NULL DEFAULT 1;
+Warnings:
+Warning 1265 Data truncated for column 'f2' at row 1
+Warning 1265 Data truncated for column 'f2' at row 2
+Warning 1265 Data truncated for column 'f2' at row 3
+Warning 1265 Data truncated for column 'f2' at row 4
+Warning 1265 Data truncated for column 'f2' at row 5
+Warning 1265 Data truncated for column 'f2' at row 6
+Warning 1265 Data truncated for column 'f2' at row 7
+Warning 1265 Data truncated for column 'f2' at row 8
+Warning 1265 Data truncated for column 'f2' at row 9
+Warning 1265 Data truncated for column 'f2' at row 10
+Warning 1265 Data truncated for column 'f2' at row 11
+Warning 1265 Data truncated for column 'f2' at row 12
+Warning 1265 Data truncated for column 'f2' at row 13
+Warning 1265 Data truncated for column 'f2' at row 14
+Warning 1265 Data truncated for column 'f2' at row 15
+Warning 1265 Data truncated for column 'f2' at row 16
+Warning 1265 Data truncated for column 'f2' at row 17
+Warning 1265 Data truncated for column 'f2' at row 18
+Warning 1265 Data truncated for column 'f2' at row 19
+Warning 1265 Data truncated for column 'f2' at row 20
+Warning 1265 Data truncated for column 'f2' at row 21
+Warning 1265 Data truncated for column 'f2' at row 22
+Warning 1265 Data truncated for column 'f2' at row 23
+Warning 1265 Data truncated for column 'f2' at row 24
+Warning 1265 Data truncated for column 'f2' at row 25
+Warning 1265 Data truncated for column 'f2' at row 26
+Warning 1265 Data truncated for column 'f2' at row 27
+Warning 1265 Data truncated for column 'f2' at row 28
+Warning 1265 Data truncated for column 'f2' at row 29
+Warning 1265 Data truncated for column 'f2' at row 30
+Warning 1265 Data truncated for column 'f2' at row 31
+Warning 1265 Data truncated for column 'f2' at row 32
+Warning 1265 Data truncated for column 'f2' at row 33
+Warning 1265 Data truncated for column 'f2' at row 34
+Warning 1265 Data truncated for column 'f2' at row 35
+Warning 1265 Data truncated for column 'f2' at row 36
+Warning 1265 Data truncated for column 'f2' at row 37
+Warning 1265 Data truncated for column 'f2' at row 38
+Warning 1265 Data truncated for column 'f2' at row 39
+Warning 1265 Data truncated for column 'f2' at row 40
+Warning 1265 Data truncated for column 'f2' at row 41
+Warning 1265 Data truncated for column 'f2' at row 42
+Warning 1265 Data truncated for column 'f2' at row 43
+Warning 1265 Data truncated for column 'f2' at row 44
+Warning 1265 Data truncated for column 'f2' at row 45
+Warning 1265 Data truncated for column 'f2' at row 46
+Warning 1265 Data truncated for column 'f2' at row 47
+Warning 1265 Data truncated for column 'f2' at row 48
+Warning 1265 Data truncated for column 'f2' at row 49
+Warning 1265 Data truncated for column 'f2' at row 50
+Warning 1265 Data truncated for column 'f2' at row 51
+Warning 1265 Data truncated for column 'f2' at row 52
+Warning 1265 Data truncated for column 'f2' at row 53
+Warning 1265 Data truncated for column 'f2' at row 54
+Warning 1265 Data truncated for column 'f2' at row 55
+Warning 1265 Data truncated for column 'f2' at row 56
+Warning 1265 Data truncated for column 'f2' at row 57
+Warning 1265 Data truncated for column 'f2' at row 58
+Warning 1265 Data truncated for column 'f2' at row 59
+Warning 1265 Data truncated for column 'f2' at row 60
+Warning 1265 Data truncated for column 'f2' at row 61
+Warning 1265 Data truncated for column 'f2' at row 62
+Warning 1265 Data truncated for column 'f2' at row 63
+Warning 1265 Data truncated for column 'f2' at row 64
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+wsrep_local_aborts_increment
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_bf_lock_wait.result b/mysql-test/suite/galera/r/galera_bf_lock_wait.result
new file mode 100644
index 00000000000..4e6019ec8ad
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_lock_wait.result
@@ -0,0 +1,18 @@
+CREATE TABLE t1 ENGINE=InnoDB select 1 as a, 1 as b union select 2, 2;
+ALTER TABLE t1 add primary key(a);
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION rollback;
+WHILE 1 DO
+start transaction;
+update t1 set b=connection_id() where a=1;
+commit;
+END WHILE;
+END|
+call p1;
+call p1;
+call p1;
+call p1;
+checking error log for 'BF lock wait long' message for 10 times every 10 seconds ...
+drop table t1;
+drop procedure p1;
diff --git a/mysql-test/suite/galera/r/galera_binlog_cache_size.result b/mysql-test/suite/galera/r/galera_binlog_cache_size.result
new file mode 100644
index 00000000000..9726cf2a440
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_binlog_cache_size.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 VARCHAR(767)) ENGINE=InnoDB;
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+SET GLOBAL binlog_cache_size=4096;
+SET GLOBAL max_binlog_cache_size=4096;
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+INSERT INTO t1 SELECT REPEAT('a', 767) FROM ten;
+INSERT INTO t1 SELECT REPEAT('a', 767) FROM ten;
+ERROR HY000: Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_binlog_checksum.result b/mysql-test/suite/galera/r/galera_binlog_checksum.result
new file mode 100644
index 00000000000..a6ab62350b1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_binlog_checksum.result
@@ -0,0 +1,10 @@
+CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_binlog_event_max_size_max.result b/mysql-test/suite/galera/r/galera_binlog_event_max_size_max.result
new file mode 100644
index 00000000000..4156c0c70a7
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_binlog_event_max_size_max.result
@@ -0,0 +1,9 @@
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 VARCHAR(1000));
+INSERT INTO t1 SELECT REPEAT('x', 1000) FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+SELECT COUNT(*) = 10000 FROM t1;
+COUNT(*) = 10000
+1
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_binlog_event_max_size_min.result b/mysql-test/suite/galera/r/galera_binlog_event_max_size_min.result
new file mode 100644
index 00000000000..984a943fcbe
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_binlog_event_max_size_min.result
@@ -0,0 +1,6 @@
+CREATE TABLE t1 (f1 VARCHAR(1000));
+INSERT INTO t1 VALUES (REPEAT('x', 1000));
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = REPEAT('x', 1000);
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_binlog_row_image.result b/mysql-test/suite/galera/r/galera_binlog_row_image.result
new file mode 100644
index 00000000000..a1f0fb455f3
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_binlog_row_image.result
@@ -0,0 +1,79 @@
+SET SESSION binlog_row_image=minimal;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER NOT NULL UNIQUE) ENGINE=InnoDB;
+CREATE TABLE t3 (f1 VARCHAR(1)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t3 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t3 WHERE f1 = 1;
+COUNT(*) = 1
+1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+UPDATE t2 SET f1 = 2 WHERE f1 = 1;
+UPDATE t3 SET f1 = 2 WHERE f1 = 1;
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 2;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t3 WHERE f1 = 2;
+COUNT(*) = 1
+1
+DELETE FROM t1;
+DELETE FROM t2;
+DELETE FROM t3;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t3;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET SESSION binlog_row_image=noblob;
+CREATE TABLE t1 (f1 BLOB, f2 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 BLOB) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('abc', 1);
+INSERT INTO t2 VALUES ('abc');
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'abc';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 'abc';
+COUNT(*) = 1
+1
+UPDATE t1 SET f1 = 'xyz';
+UPDATE t2 SET f1 = 'xyz';
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'xyz';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 'xyz';
+COUNT(*) = 1
+1
+UPDATE t1 SET f2 = 2 WHERE f2 = 1;
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 2;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'xyz';
+COUNT(*) = 1
+1
+DELETE FROM t1;
+DELETE FROM t2;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_binlog_rows_query_log_events.result b/mysql-test/suite/galera/r/galera_binlog_rows_query_log_events.result
new file mode 100644
index 00000000000..80ae3d0de2c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_binlog_rows_query_log_events.result
@@ -0,0 +1,12 @@
+SET GLOBAL binlog_rows_query_log_events=TRUE;
+CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+COUNT(*) = 1
+1
+SET GLOBAL binlog_rows_query_log_events = 0;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_binlog_stmt_autoinc.result b/mysql-test/suite/galera/r/galera_binlog_stmt_autoinc.result
new file mode 100644
index 00000000000..542bd156816
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_binlog_stmt_autoinc.result
@@ -0,0 +1,147 @@
+SET GLOBAL wsrep_forced_binlog_format='STATEMENT';
+SET GLOBAL wsrep_forced_binlog_format='STATEMENT';
+CREATE TABLE t1 (
+i int(11) NOT NULL AUTO_INCREMENT,
+c char(32) DEFAULT 'dummy_text',
+PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+insert into t1(i) values(null);
+select * from t1;
+i c
+1 dummy_text
+insert into t1(i) values(null), (null), (null);
+select * from t1;
+i c
+1 dummy_text
+3 dummy_text
+5 dummy_text
+7 dummy_text
+select * from t1;
+i c
+1 dummy_text
+3 dummy_text
+5 dummy_text
+7 dummy_text
+SET GLOBAL wsrep_forced_binlog_format='none';
+SET GLOBAL wsrep_forced_binlog_format='none';
+drop table t1;
+SET SESSION binlog_format='STATEMENT';
+show variables like 'binlog_format';
+Variable_name Value
+binlog_format STATEMENT
+SET GLOBAL wsrep_auto_increment_control='OFF';
+SET SESSION auto_increment_increment = 3;
+SET SESSION auto_increment_offset = 1;
+CREATE TABLE t1 (
+i int(11) NOT NULL AUTO_INCREMENT,
+c char(32) DEFAULT 'dummy_text',
+PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+insert into t1(i) values(null);
+select * from t1;
+i c
+1 dummy_text
+insert into t1(i) values(null), (null), (null);
+select * from t1;
+i c
+1 dummy_text
+4 dummy_text
+7 dummy_text
+10 dummy_text
+select * from t1;
+i c
+1 dummy_text
+4 dummy_text
+7 dummy_text
+10 dummy_text
+SET GLOBAL wsrep_auto_increment_control='ON';
+SET SESSION binlog_format='ROW';
+show variables like 'binlog_format';
+Variable_name Value
+binlog_format ROW
+show variables like '%auto_increment%';
+Variable_name Value
+auto_increment_increment 2
+auto_increment_offset 1
+wsrep_auto_increment_control ON
+SET GLOBAL wsrep_auto_increment_control='OFF';
+show variables like '%auto_increment%';
+Variable_name Value
+auto_increment_increment 3
+auto_increment_offset 1
+wsrep_auto_increment_control OFF
+SET GLOBAL wsrep_auto_increment_control='ON';
+drop table t1;
+SET GLOBAL wsrep_forced_binlog_format='ROW';
+SET GLOBAL wsrep_forced_binlog_format='ROW';
+CREATE TABLE t1 (
+i int(11) NOT NULL AUTO_INCREMENT,
+c char(32) DEFAULT 'dummy_text',
+PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+insert into t1(i) values(null);
+select * from t1;
+i c
+1 dummy_text
+insert into t1(i) values(null), (null), (null);
+select * from t1;
+i c
+1 dummy_text
+3 dummy_text
+5 dummy_text
+7 dummy_text
+select * from t1;
+i c
+1 dummy_text
+3 dummy_text
+5 dummy_text
+7 dummy_text
+SET GLOBAL wsrep_forced_binlog_format='none';
+SET GLOBAL wsrep_forced_binlog_format='none';
+drop table t1;
+SET SESSION binlog_format='ROW';
+show variables like 'binlog_format';
+Variable_name Value
+binlog_format ROW
+SET GLOBAL wsrep_auto_increment_control='OFF';
+SET SESSION auto_increment_increment = 3;
+SET SESSION auto_increment_offset = 1;
+CREATE TABLE t1 (
+i int(11) NOT NULL AUTO_INCREMENT,
+c char(32) DEFAULT 'dummy_text',
+PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+insert into t1(i) values(null);
+select * from t1;
+i c
+1 dummy_text
+insert into t1(i) values(null), (null), (null);
+select * from t1;
+i c
+1 dummy_text
+4 dummy_text
+7 dummy_text
+10 dummy_text
+select * from t1;
+i c
+1 dummy_text
+4 dummy_text
+7 dummy_text
+10 dummy_text
+SET GLOBAL wsrep_auto_increment_control='ON';
+show variables like 'binlog_format';
+Variable_name Value
+binlog_format ROW
+show variables like '%auto_increment%';
+Variable_name Value
+auto_increment_increment 2
+auto_increment_offset 1
+wsrep_auto_increment_control ON
+SET GLOBAL wsrep_auto_increment_control='OFF';
+show variables like '%auto_increment%';
+Variable_name Value
+auto_increment_increment 3
+auto_increment_offset 1
+wsrep_auto_increment_control OFF
+SET GLOBAL wsrep_auto_increment_control='ON';
+drop table t1;
diff --git a/mysql-test/suite/galera/r/galera_concurrent_ctas.result b/mysql-test/suite/galera/r/galera_concurrent_ctas.result
new file mode 100644
index 00000000000..8b0a4c07ac2
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_concurrent_ctas.result
@@ -0,0 +1 @@
+# End of test
diff --git a/mysql-test/suite/galera/r/galera_create_function.result b/mysql-test/suite/galera/r/galera_create_function.result
new file mode 100644
index 00000000000..8e4a823d00f
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_create_function.result
@@ -0,0 +1,58 @@
+CREATE USER 'user1';
+CREATE
+DEFINER = 'user1'
+FUNCTION f1 (param INTEGER)
+RETURNS VARCHAR(200)
+COMMENT 'f1_comment'
+LANGUAGE SQL
+NOT DETERMINISTIC
+MODIFIES SQL DATA
+SQL SECURITY DEFINER
+RETURN 'abc';
+GRANT EXECUTE ON FUNCTION f1 TO user1;
+CREATE
+DEFINER = CURRENT_USER
+FUNCTION f2 (param VARCHAR(100))
+RETURNS INTEGER
+DETERMINISTIC
+NO SQL
+SQL SECURITY INVOKER
+RETURN 123;
+SHOW CREATE FUNCTION f1;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user1`@`%` FUNCTION `f1`(param INTEGER) RETURNS varchar(200) CHARSET latin1
+ MODIFIES SQL DATA
+ COMMENT 'f1_comment'
+RETURN 'abc' latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT 1 FROM DUAL;
+1
+1
+SHOW CREATE FUNCTION f1;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user1`@`%` FUNCTION `f1`(param INTEGER) RETURNS varchar(200) CHARSET latin1
+ MODIFIES SQL DATA
+ COMMENT 'f1_comment'
+RETURN 'abc' latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW CREATE FUNCTION f2;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `f2`(param VARCHAR(100)) RETURNS int(11)
+ NO SQL
+ DETERMINISTIC
+ SQL SECURITY INVOKER
+RETURN 123 latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW CREATE FUNCTION f2;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `f2`(param VARCHAR(100)) RETURNS int(11)
+ NO SQL
+ DETERMINISTIC
+ SQL SECURITY INVOKER
+RETURN 123 latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT f1(1) = 'abc';
+f1(1) = 'abc'
+1
+SELECT f2('abc') = 123;
+f2('abc') = 123
+1
+DROP FUNCTION f1;
+DROP FUNCTION f2;
+DROP USER 'user1';
diff --git a/mysql-test/suite/galera/r/galera_create_procedure.result b/mysql-test/suite/galera/r/galera_create_procedure.result
new file mode 100644
index 00000000000..6191ef48ee5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_create_procedure.result
@@ -0,0 +1,53 @@
+CREATE USER 'user1';
+CREATE TABLE t1 (f1 INTEGER);
+CREATE
+DEFINER = 'user1'
+PROCEDURE p1 (IN param1 INTEGER, OUT param2 INTEGER, INOUT param3 INTEGER)
+COMMENT 'p1_comment'
+LANGUAGE SQL
+NOT DETERMINISTIC
+MODIFIES SQL DATA
+SQL SECURITY DEFINER
+INSERT INTO t1 VALUES (1);
+GRANT EXECUTE ON PROCEDURE p1 TO user1;
+CREATE
+DEFINER = CURRENT_USER
+PROCEDURE p2 (param VARCHAR(100))
+DETERMINISTIC
+NO SQL
+SQL SECURITY INVOKER BEGIN END ;
+SHOW CREATE PROCEDURE p1;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user1`@`%` PROCEDURE `p1`(IN param1 INTEGER, OUT param2 INTEGER, INOUT param3 INTEGER)
+ MODIFIES SQL DATA
+ COMMENT 'p1_comment'
+INSERT INTO t1 VALUES (1) latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT 1 FROM DUAL;
+1
+1
+SHOW CREATE PROCEDURE p1;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user1`@`%` PROCEDURE `p1`(IN param1 INTEGER, OUT param2 INTEGER, INOUT param3 INTEGER)
+ MODIFIES SQL DATA
+ COMMENT 'p1_comment'
+INSERT INTO t1 VALUES (1) latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW CREATE PROCEDURE p2;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(param VARCHAR(100))
+ NO SQL
+ DETERMINISTIC
+ SQL SECURITY INVOKER
+BEGIN END latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW CREATE PROCEDURE p2;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(param VARCHAR(100))
+ NO SQL
+ DETERMINISTIC
+ SQL SECURITY INVOKER
+BEGIN END latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1(@a, @b, @c);
+CALL p2('abc');
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP USER 'user1';
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_create_table_like.result b/mysql-test/suite/galera/r/galera_create_table_like.result
new file mode 100644
index 00000000000..b335101fa62
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_create_table_like.result
@@ -0,0 +1,47 @@
+CREATE SCHEMA schema1;
+CREATE SCHEMA schema2;
+USE schema1;
+CREATE TABLE real_table (f1 INTEGER) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE temp_table (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE myisam_table (f1 INTEGER) ENGINE=MyISAM;
+USE schema2;
+CREATE TABLE real_table1 LIKE schema1.real_table;
+CREATE TABLE real_table2 LIKE schema1.temp_table;
+CREATE TABLE real_table3 LIKE schema1.myisam_table;
+CREATE TEMPORARY TABLE temp_table1 LIKE schema1.real_table;
+CREATE TEMPORARY TABLE temp_table2 LIKE schema1.temp_table;
+CREATE TEMPORARY TABLE temp_table3 LIKE schema1.myisam_table;
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'real_table' AND TABLE_SCHEMA = 'schema1';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'myisam_table' AND TABLE_SCHEMA = 'schema1';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'temp_table' AND TABLE_SCHEMA = 'schema1';
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'real_table1' AND TABLE_SCHEMA = 'schema2';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'real_table2' AND TABLE_SCHEMA = 'schema2';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'real_table3' AND TABLE_SCHEMA = 'schema2';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'temp_table1' AND TABLE_SCHEMA = 'schema2';
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'temp_table2' AND TABLE_SCHEMA = 'schema2';
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'temp_table3' AND TABLE_SCHEMA = 'schema2';
+COUNT(*) = 0
+1
+DROP TABLE schema1.real_table;
+DROP TABLE schema1.myisam_table;
+DROP TABLE schema2.real_table1;
+DROP TABLE schema2.real_table2;
+DROP TABLE schema2.real_table3;
+DROP SCHEMA schema1;
+DROP SCHEMA schema2;
diff --git a/mysql-test/suite/galera/r/galera_create_trigger.result b/mysql-test/suite/galera/r/galera_create_trigger.result
new file mode 100644
index 00000000000..7e656081871
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_create_trigger.result
@@ -0,0 +1,42 @@
+CREATE TABLE definer_root (f1 INTEGER, trigger_user VARCHAR(100)) ENGINE=InnoDB;
+CREATE TABLE definer_user (f1 INTEGER, trigger_user VARCHAR(100)) ENGINE=InnoDB;
+CREATE TABLE definer_current_user (f1 INTEGER, trigger_user VARCHAR(100)) ENGINE=InnoDB;
+CREATE TABLE definer_default (f1 INTEGER, trigger_user VARCHAR(100)) ENGINE=InnoDB;
+CREATE USER 'user1';
+CREATE DEFINER=root@localhost TRIGGER definer_root BEFORE INSERT ON definer_root FOR EACH ROW SET NEW.trigger_user = CURRENT_USER();
+CREATE DEFINER=user1 TRIGGER definer_user BEFORE INSERT ON definer_user FOR EACH ROW SET NEW.trigger_user = CURRENT_USER();
+CREATE DEFINER=current_user TRIGGER definer_current_user BEFORE INSERT ON definer_current_user FOR EACH ROW SET NEW.trigger_user = CURRENT_USER();
+CREATE TRIGGER definer_default BEFORE INSERT ON definer_default FOR EACH ROW SET NEW.trigger_user = CURRENT_USER();
+INSERT INTO definer_root (f1) VALUES (1);
+SELECT DEFINER = 'root@localhost' FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME = 'definer_root';
+DEFINER = 'root@localhost'
+1
+SELECT trigger_user = 'root@localhost' FROM definer_root;
+trigger_user = 'root@localhost'
+1
+INSERT INTO definer_user (f1) VALUES (1);
+SELECT DEFINER = 'user1@%' FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME = 'definer_user';
+DEFINER = 'user1@%'
+1
+SELECT trigger_user = 'user1@%' FROM definer_user;
+trigger_user = 'user1@%'
+1
+INSERT INTO definer_current_user (f1) VALUES (1);
+SELECT DEFINER = 'root@localhost' FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME = 'definer_current_user';
+DEFINER = 'root@localhost'
+1
+SELECT trigger_user = 'root@localhost' FROM definer_current_user;
+trigger_user = 'root@localhost'
+1
+INSERT INTO definer_default (f1) VALUES (1);
+SELECT DEFINER = 'root@localhost' FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME = 'definer_default';
+DEFINER = 'root@localhost'
+1
+SELECT trigger_user = 'root@localhost' FROM definer_default;
+trigger_user = 'root@localhost'
+1
+DROP TABLE definer_current_user;
+DROP TABLE definer_user;
+DROP TABLE definer_root;
+DROP TABLE definer_default;
+DROP USER 'user1';
diff --git a/mysql-test/suite/galera/r/galera_ddl_multiline.result b/mysql-test/suite/galera/r/galera_ddl_multiline.result
new file mode 100644
index 00000000000..602f18326e8
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ddl_multiline.result
@@ -0,0 +1,80 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+CREATE TABLE t3 (f1 INTEGER) ENGINE=InnoDB; CREATE TABLE t4 (f1 INTEGER) ENGINE=InnoDB;;
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t5 (f1 INTEGER) ENGINE=InnoDB;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SHOW CREATE TABLE t5;
+Table Create Table
+t5 CREATE TABLE `t5` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SHOW CREATE TABLE t5;
+Table Create Table
+t5 CREATE TABLE `t5` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+CREATE TABLE t6 (f1 INTEGER) ENGINE=InnoDB; INSERT INTO t2 VALUES (1);;
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+SHOW CREATE TABLE t6;
+Table Create Table
+t6 CREATE TABLE `t6` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+SHOW CREATE TABLE t6;
+Table Create Table
+t6 CREATE TABLE `t6` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+include/diff_servers.inc [servers=1 2]
+DROP TABLE t1, t2, t3, t4, t5, t6;
diff --git a/mysql-test/suite/galera/r/galera_defaults.result b/mysql-test/suite/galera/r/galera_defaults.result
new file mode 100644
index 00000000000..e7a2508c0f3
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_defaults.result
@@ -0,0 +1,55 @@
+SELECT COUNT(*) = 43 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%';
+COUNT(*) = 43
+0
+SELECT VARIABLE_NAME, VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME LIKE 'wsrep_%'
+AND VARIABLE_NAME NOT IN (
+'WSREP_PROVIDER_OPTIONS',
+'WSREP_SST_RECEIVE_ADDRESS',
+'WSREP_NODE_ADDRESS',
+'WSREP_NODE_NAME',
+'WSREP_PROVIDER',
+'WSREP_DATA_HOME_DIR',
+'WSREP_NODE_INCOMING_ADDRESS',
+'WSREP_START_POSITION',
+'WSREP_PATCH_VERSION'
+)
+ORDER BY VARIABLE_NAME;
+VARIABLE_NAME VARIABLE_VALUE
+WSREP_AUTO_INCREMENT_CONTROL ON
+WSREP_CAUSAL_READS ON
+WSREP_CERTIFICATION_RULES strict
+WSREP_CERTIFY_NONPK ON
+WSREP_CLUSTER_ADDRESS gcomm://
+WSREP_CLUSTER_NAME my_wsrep_cluster
+WSREP_CONVERT_LOCK_TO_TRX OFF
+WSREP_DBUG_OPTION
+WSREP_DEBUG OFF
+WSREP_DESYNC OFF
+WSREP_DIRTY_READS OFF
+WSREP_DRUPAL_282555_WORKAROUND OFF
+WSREP_FORCED_BINLOG_FORMAT NONE
+WSREP_GTID_DOMAIN_ID 0
+WSREP_GTID_MODE OFF
+WSREP_LOAD_DATA_SPLITTING ON
+WSREP_LOG_CONFLICTS OFF
+WSREP_MAX_WS_ROWS 0
+WSREP_MAX_WS_SIZE 2147483647
+WSREP_MYSQL_REPLICATION_BUNDLE 0
+WSREP_NOTIFY_CMD
+WSREP_ON ON
+WSREP_OSU_METHOD TOI
+WSREP_RECOVER OFF
+WSREP_REJECT_QUERIES NONE
+WSREP_REPLICATE_MYISAM OFF
+WSREP_RESTART_SLAVE OFF
+WSREP_RETRY_AUTOCOMMIT 1
+WSREP_SLAVE_FK_CHECKS ON
+WSREP_SLAVE_THREADS 1
+WSREP_SLAVE_UK_CHECKS OFF
+WSREP_SST_AUTH
+WSREP_SST_DONOR
+WSREP_SST_DONOR_REJECTS_QUERIES OFF
+WSREP_SST_METHOD rsync
+WSREP_SYNC_WAIT 15
diff --git a/mysql-test/suite/galera/r/galera_delete_limit.result b/mysql-test/suite/galera/r/galera_delete_limit.result
new file mode 100644
index 00000000000..72bee18eab6
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_delete_limit.result
@@ -0,0 +1,19 @@
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 SELECT f1 FROM ten ORDER BY RAND();
+DELETE FROM t1 ORDER BY RAND() LIMIT 5;
+sum_matches
+1
+max_matches
+1
+DROP TABLE t1;
+CREATE TABLE t2 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t2 SELECT f1 FROM ten ORDER BY RAND();
+DELETE FROM t2 ORDER BY RAND() LIMIT 5;
+sum_matches
+1
+max_matches
+1
+DROP TABLE t2;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_desync_overlapped.result b/mysql-test/suite/galera/r/galera_desync_overlapped.result
new file mode 100644
index 00000000000..a1e7d59a661
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_desync_overlapped.result
@@ -0,0 +1,45 @@
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+CREATE TABLE t1 (f1 INTEGER, PRIMARY KEY (f1)) Engine=InnoDB;
+CREATE TABLE t2 (f1 INTEGER, PRIMARY KEY (f1)) Engine=InnoDB;
+SET GLOBAL wsrep_desync = 1;
+show status like 'wsrep_desync_count';
+Variable_name Value
+wsrep_desync_count 1
+SET DEBUG_SYNC='before_execute_sql_command SIGNAL alter1 WAIT_FOR alter2';
+INSERT INTO t1 (f1) SELECT 0000 + (100 * a1.f1) + (10 * a2.f1) + a3.f1 FROM ten AS a1, ten AS a2, ten AS a3;
+SET GLOBAL wsrep_desync = 1;
+Warnings:
+Warning 1231 'wsrep_desync' is already ON.
+show status like 'wsrep_desync_count';
+Variable_name Value
+wsrep_desync_count 1
+SET DEBUG_SYNC='now WAIT_FOR alter1';
+SET DEBUG_SYNC='before_execute_sql_command SIGNAL alter2';
+INSERT INTO t2 (f1) SELECT 0000 + (100 * a1.f1) + (10 * a2.f1) + a3.f1 FROM ten AS a1, ten AS a2, ten AS a3;
+SET DEBUG_SYNC='RESET';
+SET GLOBAL wsrep_desync = 0;
+show status like 'wsrep_desync_count';
+Variable_name Value
+wsrep_desync_count 0
+SET GLOBAL wsrep_desync = 0;
+Warnings:
+Warning 1231 'wsrep_desync' is already OFF.
+show status like 'wsrep_desync_count';
+Variable_name Value
+wsrep_desync_count 0
+show status like 'wsrep_desync_count';
+Variable_name Value
+wsrep_desync_count 0
+SET GLOBAL wsrep_desync = 0;
+Warnings:
+Warning 1231 'wsrep_desync' is already OFF.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1000
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+1000
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_drop_database.result b/mysql-test/suite/galera/r/galera_drop_database.result
new file mode 100644
index 00000000000..79789da5a11
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_drop_database.result
@@ -0,0 +1,17 @@
+CREATE DATABASE fts;
+USE fts;
+CREATE TABLE fts_t1 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 VARCHAR(100), FULLTEXT (f2)) ENGINE=InnoDB;
+CREATE TABLE fts_t2 (f2 VARCHAR(100), FULLTEXT (f2)) ENGINE=InnoDB;
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+INSERT INTO fts_t1 (f2) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3;
+INSERT INTO fts_t2 (f2) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3;
+DROP TABLE ten;
+UPDATE fts_t1 SET f2 = 'abcd';
+UPDATE fts_t2 SET f2 = 'efjh';
+USE fts;
+DROP TABLE fts_t1;
+DROP TABLE fts_t2;
+SHOW TABLES;
+Tables_in_fts
+DROP DATABASE fts;
diff --git a/mysql-test/suite/galera/r/galera_drop_multi.result b/mysql-test/suite/galera/r/galera_drop_multi.result
new file mode 100644
index 00000000000..d82ae3bec1a
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_drop_multi.result
@@ -0,0 +1,20 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TEMPORARY TABLE t2 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE t3 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t4 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t5 (f1 INTEGER);
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+DROP TABLE t1, t2, t3, t4;
+INSERT INTO t5 VALUES (1);
+COMMIT;
+SHOW CREATE TABLE t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+SHOW CREATE TABLE t2;
+ERROR 42S02: Table 'test.t2' doesn't exist
+SHOW CREATE TABLE t3;
+ERROR 42S02: Table 'test.t3' doesn't exist
+SHOW CREATE TABLE t4;
+ERROR 42S02: Table 'test.t4' doesn't exist
+CALL mtr.add_suppression("Slave SQL: Error 'Unknown table 'test.t2,test.t4'' on query\. Default database: 'test'\. Query: 'DROP TABLE t1, t2, t3, t4', Error_code: 1051");
+DROP TABLE t5;
diff --git a/mysql-test/suite/galera/r/galera_encrypt_tmp_files.result b/mysql-test/suite/galera/r/galera_encrypt_tmp_files.result
new file mode 100644
index 00000000000..63f6c281af1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_encrypt_tmp_files.result
@@ -0,0 +1,35 @@
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+CREATE TABLE `t1` (
+`col1` int(11) NOT NULL,
+`col2` varchar(64) NOT NULL DEFAULT '',
+`col3` varchar(32) NOT NULL DEFAULT '0',
+`col4` varchar(64) NOT NULL DEFAULT '',
+`col5` tinyint(4) NOT NULL DEFAULT '0',
+`col6` int(11) NOT NULL DEFAULT '0',
+`col7` varchar(64) NOT NULL DEFAULT '',
+`col8` tinyint(4) NOT NULL DEFAULT '0',
+`col9` tinyint(4) NOT NULL DEFAULT '0',
+`col10` text NOT NULL,
+`col11` varchar(255) NOT NULL DEFAULT '',
+`col12` tinyint(4) NOT NULL DEFAULT '1'
+) ;
+create table t2 (test int);
+insert into t2 values (1);
+drop table t1,t2;
diff --git a/mysql-test/suite/galera/r/galera_enum.result b/mysql-test/suite/galera/r/galera_enum.result
new file mode 100644
index 00000000000..7b42aab264c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_enum.result
@@ -0,0 +1,42 @@
+CREATE TABLE t1 (f1 ENUM('', 'one', 'two'), KEY (f1)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('');
+INSERT INTO t1 VALUES ('one'), ('two');
+INSERT INTO t1 VALUES (0), (1), (2);
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+6
+SELECT COUNT(*) FROM t1 where f1 = '';
+COUNT(*)
+2
+SELECT COUNT(*) FROM t1 where f1 = 'one';
+COUNT(*)
+2
+DROP TABLE t1;
+CREATE TABLE t1 (f1 ENUM('', 'one', 'two', 'three', 'four') PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (''), ('one'), ('two');
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+3
+SELECT COUNT(*) FROM t1 WHERE f1 = '';
+COUNT(*)
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'three' where f1 = '';
+SET AUTOCOMMIt=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'four' where f1 = '';
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT COUNT(*) FROM t1 WHERE f1 = 'three';
+COUNT(*)
+1
+SELECT * FROM t1;
+f1
+one
+two
+three
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_events.result b/mysql-test/suite/galera/r/galera_events.result
new file mode 100644
index 00000000000..80631442e08
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_events.result
@@ -0,0 +1,20 @@
+CREATE EVENT event1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT 1;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
+SELECT DEFINER= 'root@localhost', ORIGINATOR = 1, STATUS = 'SLAVESIDE_DISABLED', EVENT_TYPE = 'ONE TIME', ON_COMPLETION = 'NOT PRESERVE' FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'event1';
+DEFINER= 'root@localhost' ORIGINATOR = 1 STATUS = 'SLAVESIDE_DISABLED' EVENT_TYPE = 'ONE TIME' ON_COMPLETION = 'NOT PRESERVE'
+1 1 1 1 1
+ALTER EVENT event1 DISABLE;
+SELECT DEFINER= 'root@localhost', ORIGINATOR = 1, STATUS = 'SLAVESIDE_DISABLED', EVENT_TYPE = 'ONE TIME', ON_COMPLETION = 'NOT PRESERVE' FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'event1';
+DEFINER= 'root@localhost' ORIGINATOR = 1 STATUS = 'SLAVESIDE_DISABLED' EVENT_TYPE = 'ONE TIME' ON_COMPLETION = 'NOT PRESERVE'
+1 1 1 1 1
+SET GLOBAL event_scheduler = ON;
+CREATE EVENT event2 ON SCHEDULE AT CURRENT_TIMESTAMP ON COMPLETION NOT PRESERVE DO SELECT 1;
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'event2';
+COUNT(*) = 0
+1
+DROP EVENT event1;
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'event1';
+COUNT(*) = 0
+1
+SET GLOBAL event_scheduler = OFF;;
diff --git a/mysql-test/suite/galera/r/galera_fk_cascade_delete.result b/mysql-test/suite/galera/r/galera_fk_cascade_delete.result
new file mode 100644
index 00000000000..89f4301a0b4
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fk_cascade_delete.result
@@ -0,0 +1,30 @@
+CREATE TABLE grandparent (
+id INT NOT NULL PRIMARY KEY
+) ENGINE=InnoDB;
+CREATE TABLE parent (
+id INT NOT NULL PRIMARY KEY,
+grandparent_id INT,
+FOREIGN KEY (grandparent_id)
+REFERENCES grandparent(id)
+ON DELETE CASCADE
+) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT NOT NULL PRIMARY KEY,
+parent_id INT,
+FOREIGN KEY (parent_id)
+REFERENCES parent(id)
+ON DELETE CASCADE
+) ENGINE=InnoDB;
+INSERT INTO grandparent VALUES (1),(2);
+INSERT INTO parent VALUES (1,1), (2,2);
+INSERT INTO child VALUES (1,1), (2,2);
+DELETE FROM grandparent WHERE id = 1;
+SELECT COUNT(*) = 0 FROM parent WHERE grandparent_id = 1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM child WHERE parent_id = 1;
+COUNT(*) = 0
+1
+DROP TABLE child;
+DROP TABLE parent;
+DROP TABLE grandparent;
diff --git a/mysql-test/suite/galera/r/galera_fk_cascade_update.result b/mysql-test/suite/galera/r/galera_fk_cascade_update.result
new file mode 100644
index 00000000000..2ab2ad31a13
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fk_cascade_update.result
@@ -0,0 +1,30 @@
+CREATE TABLE grandparent (
+id INT NOT NULL PRIMARY KEY
+) ENGINE=InnoDB;
+CREATE TABLE parent (
+id INT NOT NULL PRIMARY KEY,
+grandparent_id INT,
+FOREIGN KEY (grandparent_id)
+REFERENCES grandparent(id)
+ON UPDATE CASCADE
+) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT NOT NULL PRIMARY KEY,
+grandparent_id INT,
+FOREIGN KEY (grandparent_id)
+REFERENCES parent(grandparent_id)
+ON UPDATE CASCADE
+) ENGINE=InnoDB;
+INSERT INTO grandparent VALUES (1),(2);
+INSERT INTO parent VALUES (1,1), (2,2);
+INSERT INTO child VALUES (1,1), (2,2);
+UPDATE grandparent SET id = 3 WHERE id = 1;
+SELECT COUNT(*) = 1 FROM parent WHERE grandparent_id = 3;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM child WHERE grandparent_id = 3;
+COUNT(*) = 1
+1
+DROP TABLE child;
+DROP TABLE parent;
+DROP TABLE grandparent;
diff --git a/mysql-test/suite/galera/r/galera_fk_conflict.result b/mysql-test/suite/galera/r/galera_fk_conflict.result
new file mode 100644
index 00000000000..ae6c4823a54
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fk_conflict.result
@@ -0,0 +1,23 @@
+CREATE TABLE parent (
+id INT PRIMARY KEY,
+KEY (id)
+) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT PRIMARY KEY,
+parent_id INT,
+FOREIGN KEY (parent_id)
+REFERENCES parent(id)
+) ENGINE=InnoDB;
+INSERT INTO parent VALUES (1), (2);
+INSERT INTO child VALUES (1,1);
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+DELETE FROM parent WHERE id = 2;
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+INSERT INTO child VALUES (2, 2);
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/r/galera_fk_mismatch.result b/mysql-test/suite/galera/r/galera_fk_mismatch.result
new file mode 100644
index 00000000000..07cdb1b09a2
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fk_mismatch.result
@@ -0,0 +1,25 @@
+CREATE TABLE parent (
+id1 INT,
+id2 INT,
+PRIMARY KEY (id1, id2) /* Multipart PK */
+) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT PRIMARY KEY,
+parent_id1 INT,
+FOREIGN KEY (parent_id1)
+REFERENCES parent(id1) /* FK is subset of PK above */
+ON UPDATE CASCADE
+ON DELETE CASCADE
+) ENGINE=InnoDB;
+INSERT INTO parent VALUES (1, 2);
+INSERT INTO child VALUES (1, 1);
+UPDATE parent SET id1 = 3 WHERE id1 = 1;
+SELECT COUNT(*) = 1 FROM child WHERE parent_id1 = 3;
+COUNT(*) = 1
+1
+DELETE FROM parent WHERE id1 = 3;
+SELECT COUNT(*) = 0 FROM child WHERE parent_id1 = 3;
+COUNT(*) = 0
+1
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/r/galera_fk_multicolumn.result b/mysql-test/suite/galera/r/galera_fk_multicolumn.result
new file mode 100644
index 00000000000..a86b87a83ef
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fk_multicolumn.result
@@ -0,0 +1,35 @@
+CREATE TABLE t0 (
+f1 INT PRIMARY KEY,
+f2 INT UNIQUE
+);
+CREATE TABLE t1 (
+f1 INT PRIMARY KEY,
+FOREIGN KEY (f1)
+REFERENCES t0(f1)
+ON UPDATE CASCADE
+);
+CREATE TABLE t2 (
+f2 INT PRIMARY KEY,
+FOREIGN KEY (f2)
+REFERENCES t0(f2)
+ON UPDATE CASCADE
+);
+INSERT INTO t0 VALUES (0, 0);
+INSERT INTO t1 VALUES (0);
+INSERT INTO t2 VALUES (0);
+UPDATE t0 SET f1 = 1, f2 = 2;
+SELECT f1 = 1 FROM t1 WHERE f1 = 1;
+f1 = 1
+1
+SELECT f2 = 2 FROM t2 WHERE f2 = 2;
+f2 = 2
+1
+SELECT f1 = 1 FROM t1;
+f1 = 1
+1
+SELECT f2 = 2 FROM t2;
+f2 = 2
+1
+DROP TABLE t2;
+DROP TABLE t1;
+DROP TABLE t0;
diff --git a/mysql-test/suite/galera/r/galera_fk_multitable.result b/mysql-test/suite/galera/r/galera_fk_multitable.result
new file mode 100644
index 00000000000..e77128d3b04
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fk_multitable.result
@@ -0,0 +1,22 @@
+CREATE TABLE t0 (
+f0 INT PRIMARY KEY
+);
+CREATE TABLE t1 (
+f1 INT PRIMARY KEY,
+f0 INTEGER,
+FOREIGN KEY (f0)
+REFERENCES t0(f0)
+ON DELETE CASCADE
+);
+INSERT INTO t0 VALUES (0), (1);
+INSERT INTO t1 VALUES (0, 0);
+INSERT INTO t1 VALUES (1, 0);
+DELETE t0.*, t1.* FROM t0, t1 WHERE t0.f0 = 0 AND t1.f1 = 0;
+SELECT COUNT(*) = 1 FROM t0;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+DROP TABLE t0;
diff --git a/mysql-test/suite/galera/r/galera_fk_no_pk.result b/mysql-test/suite/galera/r/galera_fk_no_pk.result
new file mode 100644
index 00000000000..e4f92863d92
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fk_no_pk.result
@@ -0,0 +1,28 @@
+CREATE TABLE parent (
+id INT,
+KEY (id)
+) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT,
+parent_id INT,
+FOREIGN KEY (parent_id)
+REFERENCES parent(id)
+ON UPDATE CASCADE
+ON DELETE CASCADE
+) ENGINE=InnoDB;
+INSERT INTO parent VALUES (1), (1), (2), (2);
+INSERT INTO child VALUES (1,1), (2,2), (1,1), (2,2);
+DELETE FROM parent WHERE id = 1;
+SELECT COUNT(*) = 0 FROM child WHERE id = 1;
+COUNT(*) = 0
+1
+UPDATE parent SET id = 3 WHERE id = 2;
+SELECT COUNT(*) = 0 FROM child WHERE parent_id = 1;
+COUNT(*) = 0
+1
+SELECT parent_id = 3 FROM child WHERE id = 2;
+parent_id = 3
+1
+1
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/r/galera_fk_selfreferential.result b/mysql-test/suite/galera/r/galera_fk_selfreferential.result
new file mode 100644
index 00000000000..25c37046e88
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fk_selfreferential.result
@@ -0,0 +1,13 @@
+CREATE TABLE t1 (
+f1 INT NOT NULL PRIMARY KEY,
+f2 INT,
+FOREIGN KEY (f2)
+REFERENCES t1(f1)
+ON DELETE CASCADE
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, 1), (2, 1);
+DELETE FROM t1 WHERE f1 = 1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_fk_setnull.result b/mysql-test/suite/galera/r/galera_fk_setnull.result
new file mode 100644
index 00000000000..f7fb9d04040
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fk_setnull.result
@@ -0,0 +1,30 @@
+CREATE TABLE parent (
+id INT NOT NULL,
+PRIMARY KEY (id)
+) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT,
+parent_id INT,
+FOREIGN KEY (parent_id)
+REFERENCES parent(id)
+ON UPDATE SET NULL
+ON DELETE SET NULL
+) ENGINE=InnoDB;
+INSERT INTO parent VALUES (1),(2);
+INSERT INTO child VALUES (1,1),(2,2);
+DELETE FROM parent WHERE id = 1;
+SELECT parent_id IS NULL FROM child WHERE id = 1;
+parent_id IS NULL
+1
+SELECT parent_id IS NULL FROM child WHERE id = 1;
+parent_id IS NULL
+1
+UPDATE parent SET id = 3 WHERE id = 2;
+SELECT parent_id IS NULL FROM child WHERE id = 2;
+parent_id IS NULL
+1
+SELECT parent_id IS NULL FROM child WHERE id = 2;
+parent_id IS NULL
+1
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/r/galera_flush.result b/mysql-test/suite/galera/r/galera_flush.result
new file mode 100644
index 00000000000..71226432eda
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_flush.result
@@ -0,0 +1,88 @@
+DROP TABLE IF EXISTS t1, t2;
+FLUSH DES_KEY_FILE;
+wsrep_last_committed_diff
+1
+FLUSH HOSTS;
+wsrep_last_committed_diff
+1
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+INSERT INTO mysql.user VALUES('localhost','user1',PASSWORD('pass1'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','','N','N','',0);
+FLUSH PRIVILEGES;
+DELETE FROM mysql.user WHERE user = 'user1';
+SET GLOBAL wsrep_replicate_myisam = FALSE;
+FLUSH PRIVILEGES;
+FLUSH QUERY CACHE;
+wsrep_last_committed_diff
+1
+FLUSH STATUS;
+wsrep_last_committed_diff
+1
+FLUSH USER_RESOURCES;
+wsrep_last_committed_diff
+1
+FLUSH TABLES;
+wsrep_last_committed_diff
+1
+CREATE TABLE t2 (f1 INTEGER);
+FLUSH TABLES t2;
+wsrep_last_committed_diff
+1
+FLUSH ERROR LOGS;
+wsrep_last_committed_diff
+1
+FLUSH SLOW LOGS;
+wsrep_last_committed_diff
+1
+FLUSH GENERAL LOGS;
+wsrep_last_committed_diff
+1
+FLUSH ENGINE LOGS;
+wsrep_last_committed_diff
+1
+FLUSH RELAY LOGS;
+wsrep_last_committed_diff
+1
+SET @userstat_old= @@userstat;
+SET GLOBAL userstat=ON;
+FLUSH CLIENT_STATISTICS;
+FLUSH INDEX_STATISTICS;
+FLUSH TABLE_STATISTICS;
+FLUSH USER_STATISTICS;
+wsrep_last_committed_diff
+1
+SET @old_thread_statistics= @@global.thread_statistics;
+SET GLOBAL thread_statistics= ON;
+FLUSH THREAD_STATISTICS;
+wsrep_last_committed_diff
+1
+FLUSH CHANGED_PAGE_BITMAPS;
+wsrep_last_committed_diff
+1
+CREATE TABLE t1 (f1 INTEGER);
+FLUSH LOGS;
+FLUSH TABLES WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH TABLES t1 WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH TABLES t1 FOR EXPORT;
+UNLOCK TABLES;
+wsrep_last_committed_diff
+1
+LOCK TABLES t1 WRITE;
+FLUSH TABLES t1;
+UNLOCK TABLES;
+wsrep_last_committed_diff
+1
+LOCK TABLES t1 READ;
+FLUSH TABLES t1;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+UNLOCK TABLES;
+wsrep_last_committed_diff
+1
+FLUSH TABLES t1;
+wsrep_last_committed_diff
+1
+DROP TABLE t1;
+DROP TABLE t2;
+SET GLOBAL userstat= @userstat_old;
+SET GLOBAL thread_statistics= @old_thread_statistics;
diff --git a/mysql-test/suite/galera/r/galera_flush_local.result b/mysql-test/suite/galera/r/galera_flush_local.result
new file mode 100644
index 00000000000..3fdd541b513
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_flush_local.result
@@ -0,0 +1,145 @@
+DROP TABLE IF EXISTS t1, t2, x1, x2;
+CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO x1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO t2 (f2) SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4;
+INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+FLUSH LOCAL DES_KEY_FILE;
+FLUSH LOCAL HOSTS;
+FLUSH LOCAL QUERY CACHE;
+FLUSH LOCAL STATUS;
+FLUSH LOCAL PRIVILEGES;
+FLUSH LOCAL USER_RESOURCES;
+FLUSH LOCAL TABLES;
+FLUSH LOCAL TABLES t2;
+FLUSH LOCAL ERROR LOGS;
+FLUSH LOCAL SLOW LOGS;
+FLUSH LOCAL GENERAL LOGS;
+FLUSH LOCAL ENGINE LOGS;
+FLUSH LOCAL RELAY LOGS;
+FLUSH LOCAL CLIENT_STATISTICS;
+FLUSH LOCAL INDEX_STATISTICS;
+FLUSH LOCAL TABLE_STATISTICS;
+FLUSH LOCAL USER_STATISTICS;
+FLUSH LOCAL LOGS;
+FLUSH LOCAL BINARY LOGS;
+FLUSH LOCAL TABLES WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH LOCAL TABLES t1 WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH LOCAL TABLES t1 FOR EXPORT;
+UNLOCK TABLES;
+LOCK TABLES t1 WRITE;
+FLUSH LOCAL TABLES t1;
+UNLOCK TABLES;
+LOCK TABLES t1 READ;
+FLUSH LOCAL TABLES t1;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+UNLOCK TABLES;
+FLUSH LOCAL TABLES t1;
+ANALYZE LOCAL TABLE t1, t2;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+test.t2 analyze status OK
+OPTIMIZE LOCAL TABLE t1, t2;
+Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize status OK
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t2 optimize status OK
+REPAIR LOCAL TABLE x1, x2;
+Table Op Msg_type Msg_text
+test.x1 repair status OK
+test.x2 repair status OK
+wsrep_last_committed_diff
+1
+SELECT COUNT(*) = 10 FROM t1;
+COUNT(*) = 10
+1
+SELECT COUNT(*) = 10 FROM x1;
+COUNT(*) = 10
+1
+SELECT COUNT(*) = 10000 FROM t2;
+COUNT(*) = 10000
+1
+SELECT COUNT(*) = 10 FROM x2;
+COUNT(*) = 10
+1
+DROP TABLE t1, t2, x1, x2;
+CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO x1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO t2 (f2) SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4;
+INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+set wsrep_on=0;
+FLUSH DES_KEY_FILE;
+FLUSH HOSTS;
+FLUSH QUERY CACHE;
+FLUSH STATUS;
+FLUSH PRIVILEGES;
+FLUSH USER_RESOURCES;
+FLUSH TABLES;
+FLUSH TABLES t2;
+FLUSH ERROR LOGS;
+FLUSH SLOW LOGS;
+FLUSH GENERAL LOGS;
+FLUSH ENGINE LOGS;
+FLUSH RELAY LOGS;
+FLUSH CLIENT_STATISTICS;
+FLUSH INDEX_STATISTICS;
+FLUSH TABLE_STATISTICS;
+FLUSH USER_STATISTICS;
+FLUSH LOGS;
+FLUSH BINARY LOGS;
+FLUSH TABLES WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH TABLES t1 WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH TABLES t1 FOR EXPORT;
+UNLOCK TABLES;
+LOCK TABLES t1 WRITE;
+FLUSH TABLES t1;
+UNLOCK TABLES;
+LOCK TABLES t1 READ;
+FLUSH TABLES t1;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+UNLOCK TABLES;
+FLUSH TABLES t1;
+ANALYZE TABLE t1, t2;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+test.t2 analyze status OK
+OPTIMIZE TABLE t1, t2;
+Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize status OK
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t2 optimize status OK
+REPAIR TABLE x1, x2;
+Table Op Msg_type Msg_text
+test.x1 repair status OK
+test.x2 repair status OK
+wsrep_last_committed_diff
+1
+wsrep_last_committed_diff2
+1
+SELECT COUNT(*) = 10 FROM t1;
+COUNT(*) = 10
+1
+SELECT COUNT(*) = 10 FROM x1;
+COUNT(*) = 10
+1
+SELECT COUNT(*) = 10000 FROM t2;
+COUNT(*) = 10000
+1
+SELECT COUNT(*) = 10 FROM x2;
+COUNT(*) = 10
+1
+set wsrep_on=1;
+DROP TABLE t1, t2, x1, x2;
diff --git a/mysql-test/suite/galera/r/galera_forced_binlog_format.result b/mysql-test/suite/galera/r/galera_forced_binlog_format.result
new file mode 100644
index 00000000000..92e78685b58
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_forced_binlog_format.result
@@ -0,0 +1,43 @@
+RESET MASTER;
+SET SESSION binlog_format = 'STATEMENT';
+Warnings:
+Warning 1105 MariaDB Galera does not support binlog format: STATEMENT
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET SESSION binlog_format = 'MIXED';
+Warnings:
+Warning 1105 MariaDB Galera does not support binlog format: MIXED
+INSERT INTO t1 VALUES (2);
+SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 249;
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-bin.000001 <Pos> Gtid_list 1 <End_log_pos> []
+mysqld-bin.000001 <Pos> Binlog_checkpoint 1 <End_log_pos> mysqld-bin.000001
+mysqld-bin.000001 <Pos> Gtid 1 <End_log_pos> GTID 0-1-1
+mysqld-bin.000001 <Pos> Query 1 <End_log_pos> use `test`; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB
+mysqld-bin.000001 <Pos> Gtid 1 <End_log_pos> BEGIN GTID 0-1-2
+mysqld-bin.000001 <Pos> Table_map 1 <End_log_pos> table_id: ### (test.t1)
+mysqld-bin.000001 <Pos> Write_rows_v1 1 <End_log_pos> table_id: ### flags: STMT_END_F
+mysqld-bin.000001 <Pos> Xid 1 <End_log_pos> COMMIT /* xid=### */
+mysqld-bin.000001 <Pos> Gtid 1 <End_log_pos> BEGIN GTID 0-1-3
+mysqld-bin.000001 <Pos> Table_map 1 <End_log_pos> table_id: ### (test.t1)
+mysqld-bin.000001 <Pos> Write_rows_v1 1 <End_log_pos> table_id: ### flags: STMT_END_F
+mysqld-bin.000001 <Pos> Xid 1 <End_log_pos> COMMIT /* xid=### */
+DROP TABLE t1;
+#
+# MDEV-9401: wsrep_forced_binlog_format with binlog causes crash
+#
+SET SESSION binlog_format = 'ROW';
+CREATE DATABASE testdb_9401;
+USE testdb_9401;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE USER dummy@localhost;
+GRANT ALL PRIVILEGES ON testdb_9401.t1 TO dummy@localhost;
+FLUSH PRIVILEGES;
+SHOW GRANTS FOR dummy@localhost;
+Grants for dummy@localhost
+GRANT USAGE ON *.* TO 'dummy'@'localhost'
+GRANT ALL PRIVILEGES ON `testdb_9401`.`t1` TO 'dummy'@'localhost'
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM dummy@localhost;
+DROP USER dummy@localhost;
+DROP DATABASE testdb_9401;
+# End of tests
diff --git a/mysql-test/suite/galera/r/galera_ftwrl.result b/mysql-test/suite/galera/r/galera_ftwrl.result
new file mode 100644
index 00000000000..c216b52650b
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ftwrl.result
@@ -0,0 +1,16 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT1S";
+FLUSH TABLES WITH READ LOCK;
+INSERT INTO t1 VALUES (1);
+SHOW TABLES;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UNLOCK TABLES;
+SHOW TABLES;
+Tables_in_test
+t1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_ftwrl_drain.result b/mysql-test/suite/galera/r/galera_ftwrl_drain.result
new file mode 100644
index 00000000000..d704699925b
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ftwrl_drain.result
@@ -0,0 +1,26 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+INSERT INTO t1 VALUES (1);
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_on = 0;
+SET SESSION wsrep_on = 1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+FLUSH TABLES WITH READ LOCK;;
+SET GLOBAL wsrep_provider_options = 'dbug=';
+SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
+SET SESSION lock_wait_timeout = 1;
+SET SESSION innodb_lock_wait_timeout=1;
+SET SESSION wait_timeout=1;
+INSERT INTO t2 VALUES (2);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UNLOCK TABLES;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+INSERT INTO t1 VALUES (3);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_fulltext.result b/mysql-test/suite/galera/r/galera_fulltext.result
new file mode 100644
index 00000000000..84ae0a116a1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_fulltext.result
@@ -0,0 +1,26 @@
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 VARCHAR(100), FULLTEXT (f2)) ENGINE=InnoDB;
+SELECT COUNT(*) = 13 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE name LIKE 'test/%';
+COUNT(*) = 13
+1
+INSERT INTO t1 (f2) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3;
+SELECT COUNT(f2) = 1000 FROM t1 WHERE MATCH(f2) AGAINST ('foobarbaz');
+COUNT(f2) = 1000
+1
+UPDATE t1 SET f2 = 'abcdefjhk';
+SELECT COUNT(f2) = 1000 FROM t1 WHERE MATCH(f2) AGAINST ('abcdefjhk');
+COUNT(f2) = 1000
+1
+DROP TABLE t1;
+CREATE TABLE t1 (f1 VARCHAR(100), FULLTEXT (f1)) ENGINE=InnoDB;
+INSERT INTO t1 (f1) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3;
+SELECT COUNT(f1) = 1000 FROM t1 WHERE MATCH(f1) AGAINST ('foobarbaz');
+COUNT(f1) = 1000
+1
+UPDATE t1 SET f1 = 'abcdefjhk';
+SELECT COUNT(f1) = 1000 FROM t1 WHERE MATCH(f1) AGAINST ('abcdefjhk');
+COUNT(f1) = 1000
+1
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_gcache_recover.result b/mysql-test/suite/galera/r/galera_gcache_recover.result
new file mode 100644
index 00000000000..127bcba39d8
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gcache_recover.result
@@ -0,0 +1,18 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_sync_wait = 0;
+Killing server ...
+INSERT INTO t1 VALUES (2);
+Killing server ...
+Performing --wsrep-recover ...
+Using --wsrep-start-position when starting mysqld ...
+INSERT INTO t1 VALUES (3);
+Performing --wsrep-recover ...
+Using --wsrep-start-position when starting mysqld ...
+include/diff_servers.inc [servers=1 2]
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+include/assert_grep.inc [async IST sender starting to serve]
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+include/assert_grep.inc [Recovering GCache ring buffer: found gapless sequence]
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result b/mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result
new file mode 100644
index 00000000000..ca81d7d8164
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result
@@ -0,0 +1,23 @@
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+call mtr.add_suppression("InnoDB: Resizing redo log from *");
+call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files.");
+call mtr.add_suppression("InnoDB: New log files created, LSN=*");
+SET SESSION wsrep_sync_wait = 0;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 LONGBLOB) ENGINE=InnoDB;
+SET SESSION wsrep_sync_wait = 0;
+Killing server ...
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+Killing server ...
+Performing --wsrep-recover ...
+Using --wsrep-start-position when starting mysqld ...
+Performing --wsrep-recover ...
+Using --wsrep-start-position when starting mysqld ...
+include/diff_servers.inc [servers=1 2]
+DROP TABLE t1;
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+include/assert_grep.inc [IST first seqno 2 not found from cache, falling back to SST]
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
diff --git a/mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result b/mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result
new file mode 100644
index 00000000000..1483c5d1de5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result
@@ -0,0 +1,111 @@
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+call mtr.add_suppression("InnoDB: Resizing redo log from *");
+call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files.");
+call mtr.add_suppression("InnoDB: New log files created, LSN=*");
+SET SESSION wsrep_sync_wait = 0;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 LONGBLOB) ENGINE=InnoDB;
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE PROCEDURE insert_simple ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+INSERT INTO t1 (f1, f2) VALUES (DEFAULT,'abcdef');
+END WHILE;
+END|
+CREATE PROCEDURE insert_multi ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+INSERT INTO t1 (f1) VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT);
+END WHILE;
+END|
+CREATE PROCEDURE insert_transaction ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+SET AUTOCOMMIT = OFF;
+WHILE 1 DO
+START TRANSACTION;
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+COMMIT;
+END WHILE;
+END|
+CREATE PROCEDURE update_simple ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+UPDATE t1 SET f2 = CONCAT(f2,f2);
+END WHILE;
+END|
+CREATE PROCEDURE insert_1k ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024));
+END WHILE;
+END|
+CREATE PROCEDURE insert_1m ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024));
+END WHILE;
+END|
+CREATE PROCEDURE insert_10m ()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+SET SESSION wsrep_sync_wait = 0;
+WHILE 1 DO
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+END WHILE;
+END|
+CALL insert_simple();;
+CALL insert_multi();;
+CALL insert_transaction ();;
+CALL update_simple ();;
+CALL insert_1k ();;
+CALL insert_1m ();;
+CALL insert_10m ();;
+SET SESSION wsrep_sync_wait = 0;
+Killing server ...
+Killing server ...
+ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to MySQL server during query
+Performing --wsrep-recover ...
+Using --wsrep-start-position when starting mysqld ...
+Performing --wsrep-recover ...
+Using --wsrep-start-position when starting mysqld ...
+include/diff_servers.inc [servers=1 2]
+DROP TABLE t1;
+DROP TABLE ten;
+DROP PROCEDURE insert_simple;
+DROP PROCEDURE insert_multi;
+DROP PROCEDURE insert_transaction;
+DROP PROCEDURE update_simple;
+DROP PROCEDURE insert_1k;
+DROP PROCEDURE insert_1m;
+CALL mtr.add_suppression("conflict state 7 after post commit");
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+include/assert_grep.inc [async IST sender starting to serve]
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+include/assert_grep.inc [Recovering GCache ring buffer: found gapless sequence]
diff --git a/mysql-test/suite/galera/r/galera_gcs_fc_limit.result b/mysql-test/suite/galera/r/galera_gcs_fc_limit.result
new file mode 100644
index 00000000000..9463b5f8eef
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gcs_fc_limit.result
@@ -0,0 +1,17 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SET GLOBAL wsrep_provider_options = 'gcs.fc_limit=1';
+LOCK TABLE t1 WRITE;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (5);
+UNLOCK TABLES;
+INSERT INTO t1 VALUES (6);
+SELECT COUNT(*) = 6 FROM t1;
+COUNT(*) = 6
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_gcs_fragment.result b/mysql-test/suite/galera/r/galera_gcs_fragment.result
new file mode 100644
index 00000000000..0c9c1819f60
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gcs_fragment.result
@@ -0,0 +1,24 @@
+CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 TEXT);
+SET GLOBAL wsrep_cluster_address='';
+SET SESSION wsrep_sync_wait=0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,gcs_core_after_frag_send';
+SET SESSION wsrep_retry_autocommit=0;
+INSERT INTO t1 VALUES (1, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+SET SESSION wsrep_on = 0;
+SET SESSION wsrep_on = 1;
+SET GLOBAL wsrep_provider_options = 'dbug=';
+SET SESSION wsrep_on = 0;
+SET SESSION wsrep_on = 1;
+INSERT INTO t1 VALUES (2, "bbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+SET GLOBAL wsrep_provider_options = 'signal=gcs_core_after_frag_send';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+INSERT INTO t1 VALUES (3, "cccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+SELECT * FROM t1;
+f1 f2
+2 bbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+3 cccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+SELECT * FROM t1;
+f1 f2
+2 bbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+3 cccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_gcs_max_packet_size.result b/mysql-test/suite/galera/r/galera_gcs_max_packet_size.result
new file mode 100644
index 00000000000..606cb549def
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gcs_max_packet_size.result
@@ -0,0 +1,15 @@
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+CREATE TABLE t1 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 VARCHAR(512) UNIQUE) ENGINE=InnoDB;
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+INSERT INTO t2 VALUES (REPEAT('x', 512));
+SELECT COUNT(*) = 10000 FROM t1;
+COUNT(*) = 10000
+1
+SELECT LENGTH(f1) = 512 FROM t2 WHERE f1 = REPEAT('x', 512);
+LENGTH(f1) = 512
+1
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_gra_log.result b/mysql-test/suite/galera/r/galera_gra_log.result
new file mode 100644
index 00000000000..a5b87c0ef0c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gra_log.result
@@ -0,0 +1,32 @@
+SET SESSION wsrep_on=OFF;
+CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t1 (f1 INTEGER);
+SET SESSION wsrep_on=ON;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
+/*!40019 SET @@session.max_insert_delayed_threads=0*/;
+/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
+DELIMITER /*!*/;
+ROLLBACK/*!*/;
+ROLLBACK/*!*/;
+use `test`/*!*/;
+SET TIMESTAMP=<TIMESTAMP>/*!*/;
+SET @@session.pseudo_thread_id=<PSEUDO_THREAD_ID>/*!*/;
+SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
+/*!\C latin1 *//*!*/;
+SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+CREATE TABLE t1 (f1 INTEGER)
+/*!*/;
+DELIMITER ;
+# End of log file
+ROLLBACK /* added by mysqlbinlog */;
+/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
+CALL mtr.add_suppression("Slave SQL: Error 'Table 't1' already exists' on query");
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_gtid.result b/mysql-test/suite/galera/r/galera_gtid.result
new file mode 100644
index 00000000000..546c29cb49a
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gtid.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+UPDATE t1 SET f1 = 2;
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+COUNT(*) = 1
+1
+gtid_binlog_state_equal
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_gtid_slave.result b/mysql-test/suite/galera/r/galera_gtid_slave.result
new file mode 100644
index 00000000000..58a9d3f5971
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gtid_slave.result
@@ -0,0 +1,26 @@
+START SLAVE;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+begin;
+insert into t2 values(21);
+insert into t2 values(22);
+commit;
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-4
+INSERT INTO t1 VALUES(2);
+INSERT INTO t1 VALUES(3);
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-4,2-2-2
+INSERT INTO t1 VALUES(4);
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-4,2-2-2,2-3-3
+DROP TABLE t1,t2;
+STOP SLAVE;
+RESET SLAVE ALL;
+reset master;
+reset master;
+reset master;
diff --git a/mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result b/mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result
new file mode 100644
index 00000000000..7953910b385
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result
@@ -0,0 +1,131 @@
+#Connection 2
+START SLAVE;
+#Connection 1
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY, f2 int unique) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(1,11);
+INSERT INTO t2 VALUES(2,22);
+INSERT INTO t2 VALUES(3,33);
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-4
+include/save_master_gtid.inc
+#Connection 2
+include/sync_with_master_gtid.inc
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-4
+INSERT INTO t2 VALUES(4,44);
+INSERT INTO t2 VALUES(5,55);
+INSERT INTO t2 VALUES(6,66);
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-4,2-2-3
+#Connection 3
+INSERT INTO t2 VALUES(7,77);
+INSERT INTO t2 VALUES(8,88);
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-4,2-2-3,2-3-5
+#Connection 1
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+include/save_master_gtid.inc
+#Connection 2
+include/sync_with_master_gtid.inc
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+#Connection 3
+Shutting down server ...
+#Connection 2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+#Connection 3
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node3_committed_after');
+INSERT INTO t1 VALUES ('node3_committed_after');
+COMMIT;
+#Connection 2
+Select * from t1 order by f1;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_during
+node1_committed_during
+node2_committed_before
+node2_committed_before
+node3_committed_after
+node3_committed_after
+#Connection 3
+Select * from t1 order by f1;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_during
+node1_committed_during
+node2_committed_before
+node2_committed_before
+node3_committed_after
+node3_committed_after
+#Connection 2
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-6,2-2-7,2-3-8
+#Connection 3
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-6,2-2-7,2-3-8
+#Connection 1
+SET AUTOCOMMIT=ON;
+#Connection 2
+SET AUTOCOMMIT=ON;
+#Connection 3
+SET AUTOCOMMIT=ON;
+#Connection 2
+STOP slave;
+INSERT INTO t1 VALUES ('node2_slave_stoped');
+#Connection 1
+INSERT INTO t1 VALUES ('node1_normal_entry');
+include/save_master_gtid.inc
+#Connection 2
+INSERT INTO t1 VALUES ('node2_slave_stoped_inserted');
+start slave;
+include/sync_with_master_gtid.inc
+INSERT INTO t1 VALUES ('node2_slave_started');
+SELECT count(*) from t1;
+count(*)
+12
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-7,2-3-8,2-2-11
+#Connection 3
+SELECT count(*) from t1;
+count(*)
+12
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+1-1-7,2-3-8,2-2-11
+#Connection 1
+DROP TABLE t2,t1;
+#Connection 2
+#Connection 3
+#Connection 2
+STOP SLAVE;
+RESET SLAVE ALL;
+set global gtid_slave_pos="";
+reset master;
+#Connection 3
+reset master;
+#Connection 1
+reset master;
diff --git a/mysql-test/suite/galera/r/galera_insert_ignore.result b/mysql-test/suite/galera/r/galera_insert_ignore.result
new file mode 100644
index 00000000000..b98a308efb5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_insert_ignore.result
@@ -0,0 +1,52 @@
+SET GLOBAL wsrep_sync_wait = 15;
+SET GLOBAL wsrep_sync_wait = 15;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT IGNORE INTO t1 VALUES (1), (2);
+Warnings:
+Warning 1062 Duplicate entry '1' for key 'PRIMARY'
+SELECT * FROM t1;
+f1
+1
+2
+SELECT * FROM t1;
+f1
+1
+2
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (0), (2), (3);
+INSERT IGNORE INTO t1 SELECT f1 FROM t2;
+Warnings:
+Warning 1062 Duplicate entry '2' for key 'PRIMARY'
+SELECT * FROM t1;
+f1
+0
+1
+2
+3
+SELECT * FROM t1;
+f1
+0
+1
+2
+3
+CREATE TABLE t3 (f1 INTEGER UNIQUE) Engine=InnoDB;
+INSERT INTO t3 VALUES (NULL);
+INSERT IGNORE INTO t3 VALUES (1), (NULL), (2);
+SELECT * FROM t3;
+f1
+NULL
+NULL
+1
+2
+SELECT * FROM t3;
+f1
+NULL
+NULL
+1
+2
+SET GLOBAL wsrep_sync_wait = (SELECT @@wsrep_sync_wait);
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET GLOBAL wsrep_sync_wait = (SELECT @@wsrep_sync_wait);
diff --git a/mysql-test/suite/galera/r/galera_insert_multi.result b/mysql-test/suite/galera/r/galera_insert_multi.result
new file mode 100644
index 00000000000..33717781f2c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_insert_multi.result
@@ -0,0 +1,58 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+INSERT INTO t1 VALUES (3),(4);
+SELECT COUNT(*) = 4 FROM t1;
+COUNT(*) = 4
+1
+SELECT COUNT(*) = 4 FROM t1;
+COUNT(*) = 4
+1
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER, KEY (f1)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(1);
+INSERT INTO t1 VALUES (2),(2);
+SELECT COUNT(*) = 4 FROM t1;
+COUNT(*) = 4
+1
+SELECT COUNT(*) = 4 FROM t1;
+COUNT(*) = 4
+1
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1), (2);
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (2), (1);
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+ROLLBACK;
+INSERT INTO t1 VALUES (1), (2);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1), (2);
+START TRANSACTION;
+INSERT INTO t1 VALUES (2), (1);
+ROLLBACK;
+COMMIT;
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_ist_innodb_flush_logs,debug.rdiff b/mysql-test/suite/galera/r/galera_ist_innodb_flush_logs,debug.rdiff
new file mode 100644
index 00000000000..fa1b67e7ef3
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_innodb_flush_logs,debug.rdiff
@@ -0,0 +1,103 @@
+--- r/galera_ist_innodb_flush_logs.result 2018-09-05 10:34:36.192439933 +0300
++++ r/galera_ist_innodb_flush_logs.reject 2018-09-17 10:20:06.039150838 +0300
+@@ -86,3 +86,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_ist_innodb_flush_logs.result b/mysql-test/suite/galera/r/galera_ist_innodb_flush_logs.result
new file mode 100644
index 00000000000..e3bf407ddaa
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_innodb_flush_logs.result
@@ -0,0 +1,88 @@
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_ist_mariabackup,debug.rdiff b/mysql-test/suite/galera/r/galera_ist_mariabackup,debug.rdiff
new file mode 100644
index 00000000000..1c787cd2fef
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_mariabackup,debug.rdiff
@@ -0,0 +1,103 @@
+--- r/galera_ist_mariabackup.result 2018-11-19 15:15:21.093874145 +0200
++++ r/galera_ist_mariabackup.reject 2018-11-19 16:25:52.220523327 +0200
+@@ -259,3 +259,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_ist_mariabackup.result b/mysql-test/suite/galera/r/galera_ist_mariabackup.result
new file mode 100644
index 00000000000..099d944d491
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_mariabackup.result
@@ -0,0 +1,261 @@
+Performing State Transfer on a server that has been temporarily disconnected
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Unloading wsrep provider ...
+SET GLOBAL wsrep_provider = 'none';
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Loading wsrep provider ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_ist_mariabackup_innodb_flush_logs,debug.rdiff b/mysql-test/suite/galera/r/galera_ist_mariabackup_innodb_flush_logs,debug.rdiff
new file mode 100644
index 00000000000..d85d3bdad75
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_mariabackup_innodb_flush_logs,debug.rdiff
@@ -0,0 +1,103 @@
+--- r/galera_ist_mariabackup_innodb_flush_logs.result 2018-11-19 15:21:15.429784085 +0200
++++ r/galera_ist_mariabackup_innodb_flush_logs.reject 2018-11-19 16:27:43.100491616 +0200
+@@ -86,3 +86,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_ist_mariabackup_innodb_flush_logs.result b/mysql-test/suite/galera/r/galera_ist_mariabackup_innodb_flush_logs.result
new file mode 100644
index 00000000000..e3bf407ddaa
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_mariabackup_innodb_flush_logs.result
@@ -0,0 +1,88 @@
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff b/mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff
new file mode 100644
index 00000000000..49d216d0f83
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff
@@ -0,0 +1,106 @@
+--- r/galera_ist_mysqldump.result
++++ r/galera_ist_mysqldump,debug.result
+@@ -180,6 +180,103 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
+ CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+ DROP USER sst;
+ CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
diff --git a/mysql-test/suite/galera/r/galera_ist_mysqldump.result b/mysql-test/suite/galera/r/galera_ist_mysqldump.result
new file mode 100644
index 00000000000..e254a1b195b
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_mysqldump.result
@@ -0,0 +1,192 @@
+Setting SST method to mysqldump ...
+call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to '127.0.0.1'");
+call mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
+CREATE USER 'sst';
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+SET GLOBAL wsrep_sst_auth = 'sst:';
+SET GLOBAL wsrep_sst_method = 'mysqldump';
+call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to .*");
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+DROP USER sst;
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found");
+CALL mtr.add_suppression("InnoDB: New log files created");
+CALL mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+CALL mtr.add_suppression("Can't open and lock time zone table");
+CALL mtr.add_suppression("Can't open and lock privilege tables");
+CALL mtr.add_suppression("Info table is not ready to be used");
+CALL mtr.add_suppression("Native table .* has the wrong structure");
diff --git a/mysql-test/suite/galera/r/galera_ist_progress.result b/mysql-test/suite/galera/r/galera_ist_progress.result
new file mode 100644
index 00000000000..9fc7febbea5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_progress.result
@@ -0,0 +1,19 @@
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 1';
+SET SESSION wsrep_on = OFF;
+SET SESSION wsrep_on = ON;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+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);
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 0';
+include/assert_grep.inc [Receiving IST: 11 writesets, seqnos]
+include/assert_grep.inc [Receiving IST\.\.\. 0\.0% \( 0/11 events\) complete]
+include/assert_grep.inc [Receiving IST\.\.\.100\.0% \(11/11 events\) complete]
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_ist_recv_bind.result b/mysql-test/suite/galera/r/galera_ist_recv_bind.result
new file mode 100644
index 00000000000..de4e07fbe41
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_recv_bind.result
@@ -0,0 +1,13 @@
+SELECT @@wsrep_provider_options LIKE '%ist.recv_bind = 127.0.0.1%';
+@@wsrep_provider_options LIKE '%ist.recv_bind = 127.0.0.1%'
+1
+SELECT @@wsrep_provider_options LIKE '%ist.recv_bind = 127.0.0.1%';
+@@wsrep_provider_options LIKE '%ist.recv_bind = 127.0.0.1%'
+1
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 1';
+SET SESSION wsrep_on = OFF;
+SET SESSION wsrep_on = ON;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 0';
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_ist_restart_joiner.result b/mysql-test/suite/galera/r/galera_ist_restart_joiner.result
new file mode 100644
index 00000000000..ca6848fb925
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_restart_joiner.result
@@ -0,0 +1,32 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+INSERT INTO t1 VALUES (1, 'a'), (2, 'a'), (3, 'a'), (4, 'a'), (5, 'a'),(6, 'a');
+Unloading wsrep provider ...
+SET GLOBAL wsrep_provider = 'none';
+UPDATE t1 SET f2 = 'b' WHERE f1 > 1;
+UPDATE t1 SET f2 = 'c' WHERE f1 > 2;
+Loading wsrep_provider ...
+SET SESSION wsrep_on=OFF;
+SET SESSION wsrep_on=ON;
+UPDATE t1 SET f2 = 'd' WHERE f1 > 3;
+UPDATE t1 SET f2 = 'e' WHERE f1 > 4;
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+UPDATE t1 SET f2 = 'f' WHERE f1 > 5;
+SELECT * FROM t1;
+f1 f2
+1 a
+2 b
+3 c
+4 d
+5 e
+6 f
+SELECT * FROM t1;
+f1 f2
+1 a
+2 b
+3 c
+4 d
+5 e
+6 f
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_ist_rsync,debug.rdiff b/mysql-test/suite/galera/r/galera_ist_rsync,debug.rdiff
new file mode 100644
index 00000000000..9070acc76bf
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_rsync,debug.rdiff
@@ -0,0 +1,103 @@
+--- r/galera_ist_rsync.result 2018-09-11 12:38:42.027479411 +0300
++++ r/galera_ist_rsync.reject 2018-09-17 10:50:16.527307668 +0300
+@@ -259,3 +259,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_ist_rsync.result b/mysql-test/suite/galera/r/galera_ist_rsync.result
new file mode 100644
index 00000000000..099d944d491
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_rsync.result
@@ -0,0 +1,261 @@
+Performing State Transfer on a server that has been temporarily disconnected
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Unloading wsrep provider ...
+SET GLOBAL wsrep_provider = 'none';
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Loading wsrep provider ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_ist_xtrabackup-v2,debug.rdiff b/mysql-test/suite/galera/r/galera_ist_xtrabackup-v2,debug.rdiff
new file mode 100644
index 00000000000..95310b3ffeb
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_xtrabackup-v2,debug.rdiff
@@ -0,0 +1,103 @@
+--- r/galera_ist_xtrabackup-v2.result 2018-09-05 10:34:36.192439933 +0300
++++ r/galera_ist_xtrabackup-v2.reject 2018-09-17 11:13:33.395264800 +0300
+@@ -259,3 +259,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_ist_xtrabackup-v2.result b/mysql-test/suite/galera/r/galera_ist_xtrabackup-v2.result
new file mode 100644
index 00000000000..099d944d491
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_xtrabackup-v2.result
@@ -0,0 +1,261 @@
+Performing State Transfer on a server that has been temporarily disconnected
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Unloading wsrep provider ...
+SET GLOBAL wsrep_provider = 'none';
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Loading wsrep provider ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_kill_applier.result b/mysql-test/suite/galera/r/galera_kill_applier.result
new file mode 100644
index 00000000000..fe4911639ed
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_kill_applier.result
@@ -0,0 +1,4 @@
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
diff --git a/mysql-test/suite/galera/r/galera_kill_ddl.result b/mysql-test/suite/galera/r/galera_kill_ddl.result
new file mode 100644
index 00000000000..bf192500f17
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_kill_ddl.result
@@ -0,0 +1,9 @@
+call mtr.add_suppression("WSREP: Last Applied Action message in non-primary configuration from member .*");
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=true';
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+Killing server ...
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='t1';
+COUNT(*) = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_kill_largechanges.result b/mysql-test/suite/galera/r/galera_kill_largechanges.result
new file mode 100644
index 00000000000..a4144e84874
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_kill_largechanges.result
@@ -0,0 +1,14 @@
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=true';
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10),(11);
+CREATE TABLE t1 (f1 VARCHAR(128)) ENGINE=InnoDB;
+Killing server ...
+INSERT INTO t1 SELECT REPEAT('a', 128) FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1771561
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE
+2
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_kill_nochanges.result b/mysql-test/suite/galera/r/galera_kill_nochanges.result
new file mode 100644
index 00000000000..4b37a3e64e2
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_kill_nochanges.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+Killing server ...
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_sync_wait = DEFAULT;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE
+2
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_kill_smallchanges.result b/mysql-test/suite/galera/r/galera_kill_smallchanges.result
new file mode 100644
index 00000000000..199a530241e
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_kill_smallchanges.result
@@ -0,0 +1,11 @@
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=true';
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+Killing server ...
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_lock_table.result b/mysql-test/suite/galera/r/galera_lock_table.result
new file mode 100644
index 00000000000..0d40ac16565
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_lock_table.result
@@ -0,0 +1,25 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+NAME
+test/t1
+test/t2
+LOCK TABLE t1 READ;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+SET SESSION wsrep_sync_wait=0;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+UNLOCK TABLES;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_log_bin.result b/mysql-test/suite/galera/r/galera_log_bin.result
new file mode 100644
index 00000000000..4772f347375
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_log_bin.result
@@ -0,0 +1,59 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t2 (id INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1);
+INSERT INTO t2 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 2 FROM t2;
+COUNT(*) = 2
+1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+FLUSH LOGS;
+SHOW BINLOG EVENTS IN 'mysqld-bin.000002' LIMIT 4,18;
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-bin.000002 # Gtid # # GTID 0-1-1
+mysqld-bin.000002 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB
+mysqld-bin.000002 # Gtid # # BEGIN GTID 0-1-2
+mysqld-bin.000002 # Table_map # # table_id: # (test.t1)
+mysqld-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+mysqld-bin.000002 # Xid # # COMMIT /* xid=# */
+mysqld-bin.000002 # Gtid # # GTID 0-1-3
+mysqld-bin.000002 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB
+mysqld-bin.000002 # Gtid # # BEGIN GTID 0-1-4
+mysqld-bin.000002 # Table_map # # table_id: # (test.t2)
+mysqld-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+mysqld-bin.000002 # Xid # # COMMIT /* xid=# */
+mysqld-bin.000002 # Gtid # # BEGIN GTID 0-1-5
+mysqld-bin.000002 # Table_map # # table_id: # (test.t2)
+mysqld-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+mysqld-bin.000002 # Xid # # COMMIT /* xid=# */
+mysqld-bin.000002 # Gtid # # GTID 0-1-6
+mysqld-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SHOW BINLOG EVENTS IN 'mysqld-bin.000003' LIMIT 3,18;
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-bin.000003 # Gtid # # GTID 0-1-1
+mysqld-bin.000003 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB
+mysqld-bin.000003 # Gtid # # BEGIN GTID 0-1-2
+mysqld-bin.000003 # Table_map # # table_id: # (test.t1)
+mysqld-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+mysqld-bin.000003 # Xid # # COMMIT /* xid=# */
+mysqld-bin.000003 # Gtid # # GTID 0-1-3
+mysqld-bin.000003 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB
+mysqld-bin.000003 # Gtid # # BEGIN GTID 0-1-4
+mysqld-bin.000003 # Table_map # # table_id: # (test.t2)
+mysqld-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+mysqld-bin.000003 # Xid # # COMMIT /* xid=# */
+mysqld-bin.000003 # Gtid # # BEGIN GTID 0-1-5
+mysqld-bin.000003 # Table_map # # table_id: # (test.t2)
+mysqld-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+mysqld-bin.000003 # Xid # # COMMIT /* xid=# */
+mysqld-bin.000003 # Gtid # # GTID 0-1-6
+mysqld-bin.000003 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER
+DROP TABLE t1;
+DROP TABLE t2;
+RESET MASTER;
diff --git a/mysql-test/suite/galera/r/galera_log_output_csv.result b/mysql-test/suite/galera/r/galera_log_output_csv.result
new file mode 100644
index 00000000000..cdb5ee49f3e
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_log_output_csv.result
@@ -0,0 +1,18 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) > 0 FROM mysql.general_log;
+COUNT(*) > 0
+1
+SELECT 1 = 1 FROM t1;
+1 = 1
+1
+SELECT COUNT(*) = 1 FROM mysql.slow_log WHERE sql_text = 'SELECT 1 = 1 FROM t1';
+COUNT(*) = 1
+1
+SELECT 2 = 2 FROM t1;
+2 = 2
+1
+SELECT COUNT(*) = 1 FROM mysql.slow_log WHERE sql_text = 'SELECT 2 = 2 FROM t1';
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_many_columns.result b/mysql-test/suite/galera/r/galera_many_columns.result
new file mode 100644
index 00000000000..6fa574e47c2
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_many_columns.result
@@ -0,0 +1,32 @@
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+SELECT f1 = 'ABC', f1017 = 'ABC' FROM t1;
+f1 = 'ABC' f1017 = 'ABC'
+1 1
+UPDATE t1 SET f1 = 'XYZ', f1017 = 'XYZ' ;
+SELECT f1 = 'XYZ', f1017 = 'XYZ' FROM t1 WHERE f1 = 'XYZ' AND f1017 = 'XYZ';
+f1 = 'XYZ' f1017 = 'XYZ'
+1 1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'KLM' WHERE f1 = 'XYZ' AND f1017 = 'XYZ';
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'CDE' WHERE f1 = 'XYZ' AND f1017 = 'XYZ';
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+ROLLBACK;
+ROLLBACK;
+START TRANSACTION;
+INSERT INTO t1 (f1, f1017) VALUES ('BCE','BCE');
+INSERT INTO t1 (f1, f1017) VALUES ('CED','CED');
+INSERT INTO t1 (f1, f1017) VALUES ('EDF','EDF');
+INSERT INTO t1 (f1, f1017) VALUES ('FED','FED');
+ROLLBACK;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_many_indexes.result b/mysql-test/suite/galera/r/galera_many_indexes.result
new file mode 100644
index 00000000000..ab6eec550a1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_many_indexes.result
@@ -0,0 +1,123 @@
+CREATE TABLE t1 (f1 VARCHAR(767) PRIMARY KEY) ENGINE=InnoDB;
+CREATE UNIQUE INDEX i63 ON t1(f1);
+CREATE UNIQUE INDEX i62 ON t1(f1);
+CREATE UNIQUE INDEX i61 ON t1(f1);
+CREATE UNIQUE INDEX i60 ON t1(f1);
+CREATE UNIQUE INDEX i59 ON t1(f1);
+CREATE UNIQUE INDEX i58 ON t1(f1);
+CREATE UNIQUE INDEX i57 ON t1(f1);
+CREATE UNIQUE INDEX i56 ON t1(f1);
+CREATE UNIQUE INDEX i55 ON t1(f1);
+CREATE UNIQUE INDEX i54 ON t1(f1);
+CREATE UNIQUE INDEX i53 ON t1(f1);
+CREATE UNIQUE INDEX i52 ON t1(f1);
+CREATE UNIQUE INDEX i51 ON t1(f1);
+CREATE UNIQUE INDEX i50 ON t1(f1);
+CREATE UNIQUE INDEX i49 ON t1(f1);
+CREATE UNIQUE INDEX i48 ON t1(f1);
+CREATE UNIQUE INDEX i47 ON t1(f1);
+CREATE UNIQUE INDEX i46 ON t1(f1);
+CREATE UNIQUE INDEX i45 ON t1(f1);
+CREATE UNIQUE INDEX i44 ON t1(f1);
+CREATE UNIQUE INDEX i43 ON t1(f1);
+CREATE UNIQUE INDEX i42 ON t1(f1);
+CREATE UNIQUE INDEX i41 ON t1(f1);
+CREATE UNIQUE INDEX i40 ON t1(f1);
+CREATE UNIQUE INDEX i39 ON t1(f1);
+CREATE UNIQUE INDEX i38 ON t1(f1);
+CREATE UNIQUE INDEX i37 ON t1(f1);
+CREATE UNIQUE INDEX i36 ON t1(f1);
+CREATE UNIQUE INDEX i35 ON t1(f1);
+CREATE UNIQUE INDEX i34 ON t1(f1);
+CREATE UNIQUE INDEX i33 ON t1(f1);
+CREATE UNIQUE INDEX i32 ON t1(f1);
+CREATE UNIQUE INDEX i31 ON t1(f1);
+CREATE UNIQUE INDEX i30 ON t1(f1);
+CREATE UNIQUE INDEX i29 ON t1(f1);
+CREATE UNIQUE INDEX i28 ON t1(f1);
+CREATE UNIQUE INDEX i27 ON t1(f1);
+CREATE UNIQUE INDEX i26 ON t1(f1);
+CREATE UNIQUE INDEX i25 ON t1(f1);
+CREATE UNIQUE INDEX i24 ON t1(f1);
+CREATE UNIQUE INDEX i23 ON t1(f1);
+CREATE UNIQUE INDEX i22 ON t1(f1);
+CREATE UNIQUE INDEX i21 ON t1(f1);
+CREATE UNIQUE INDEX i20 ON t1(f1);
+CREATE UNIQUE INDEX i19 ON t1(f1);
+CREATE UNIQUE INDEX i18 ON t1(f1);
+CREATE UNIQUE INDEX i17 ON t1(f1);
+CREATE UNIQUE INDEX i16 ON t1(f1);
+CREATE UNIQUE INDEX i15 ON t1(f1);
+CREATE UNIQUE INDEX i14 ON t1(f1);
+CREATE UNIQUE INDEX i13 ON t1(f1);
+CREATE UNIQUE INDEX i12 ON t1(f1);
+CREATE UNIQUE INDEX i11 ON t1(f1);
+CREATE UNIQUE INDEX i10 ON t1(f1);
+CREATE UNIQUE INDEX i9 ON t1(f1);
+CREATE UNIQUE INDEX i8 ON t1(f1);
+CREATE UNIQUE INDEX i7 ON t1(f1);
+CREATE UNIQUE INDEX i6 ON t1(f1);
+CREATE UNIQUE INDEX i5 ON t1(f1);
+CREATE UNIQUE INDEX i4 ON t1(f1);
+CREATE UNIQUE INDEX i3 ON t1(f1);
+CREATE UNIQUE INDEX i2 ON t1(f1);
+CREATE UNIQUE INDEX i1 ON t1(f1);
+INSERT INTO t1 VALUES (REPEAT('a', 767));
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT LENGTH(f1) = 767 FROM t1;
+LENGTH(f1) = 767
+1
+EXPLAIN SELECT COUNT(*) = 1 FROM t1 FORCE KEY (PRIMARY) WHERE f1 = REPEAT('a', 767);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 const PRIMARY PRIMARY 769 const 1 Using index
+SELECT COUNT(*) = 1 FROM t1 FORCE KEY (PRIMARY) WHERE f1 = REPEAT('a', 767);
+COUNT(*) = 1
+1
+EXPLAIN SELECT COUNT(*) = 1 FROM t1 FORCE KEY (i1) WHERE f1 = REPEAT('a', 767);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 const i1 i1 769 const 1 Using index
+SELECT COUNT(*) = 1 FROM t1 FORCE KEY (i1) WHERE f1 = REPEAT('a', 767);
+COUNT(*) = 1
+1
+EXPLAIN SELECT COUNT(*) = 1 FROM t1 FORCE KEY (i63) WHERE f1 = REPEAT('a', 767);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 const i63 i63 769 const 1 Using index
+SELECT COUNT(*) = 1 FROM t1 FORCE KEY (i63) WHERE f1 = REPEAT('a', 767);
+COUNT(*) = 1
+1
+INSERT INTO t1 VALUES (REPEAT('b', 767));
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+DELETE FROM t1 WHERE f1 = REPEAT('b', 767);
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+INSERT INTO t1 (f1) VALUES (REPEAT('c', 767));
+ROLLBACK;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+START TRANSACTION;
+SET AUTOCOMMIT=OFF;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+START TRANSACTION;
+START TRANSACTION;
+UPDATE t1 SET f1 = REPEAT('e', 767);
+UPDATE t1 SET f1 = REPEAT('f', 767);
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_many_rows.result b/mysql-test/suite/galera/r/galera_many_rows.result
new file mode 100644
index 00000000000..6f441d9b401
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_many_rows.result
@@ -0,0 +1,32 @@
+SET SESSION innodb_lock_wait_timeout=600;
+SET SESSION lock_wait_timeout=600;
+CREATE TABLE ten (f1 INTEGER) engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
+INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_sync_wait = 15;
+SET GLOBAL wsrep_provider_options = 'repl.causal_read_timeout=PT1H';
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+100000
+INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+200000
+UPDATE t1 SET f2 = 1;
+SELECT COUNT(*) FROM t1 WHERE f2 = 1;
+COUNT(*)
+200000
+START TRANSACTION;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+200000
+UPDATE t1 SET f2 = 3;
+START TRANSACTION;
+UPDATE t1 SET f2 = 4;
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_many_tables_nopk.result b/mysql-test/suite/galera/r/galera_many_tables_nopk.result
new file mode 100644
index 00000000000..283905979ec
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_many_tables_nopk.result
@@ -0,0 +1,17 @@
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+COMMIT;
+CREATE TABLE sum_table (f1 INTEGER);
+SELECT SUM(f1) = 900 FROM sum_table;
+SUM(f1) = 900
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t900 SET f1 = 3;
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP SCHEMA test;
+CREATE SCHEMA test;
diff --git a/mysql-test/suite/galera/r/galera_many_tables_pk.result b/mysql-test/suite/galera/r/galera_many_tables_pk.result
new file mode 100644
index 00000000000..37474797d74
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_many_tables_pk.result
@@ -0,0 +1,21 @@
+SELECT COUNT(*) = 100 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 't%';
+COUNT(*) = 100
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+COMMIT;
+CREATE TABLE sum_table (f1 INTEGER);
+SELECT SUM(f1) = 100 FROM sum_table;
+SUM(f1) = 100
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t100 SET f1 = 3;
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+include/diff_servers.inc [servers=1 2]
+DROP SCHEMA test;
+CREATE SCHEMA test;
diff --git a/mysql-test/suite/galera/r/galera_mdev_10812.result b/mysql-test/suite/galera/r/galera_mdev_10812.result
new file mode 100644
index 00000000000..fba10004761
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_mdev_10812.result
@@ -0,0 +1,11 @@
+#
+# MDEV-10812: On COM_STMT_CLOSE/COM_QUIT, when wsrep_conflict_state
+# is ABORTED, it causes wrong response to be sent to the client
+#
+SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+CREATE TABLE t1(a INT PRIMARY KEY);
+INSERT INTO t1 VALUES(1),(2),(3);
+START TRANSACTION ;
+UPDATE t1 SET a=a+100;
+UPDATE t1 SET a=a+100;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_mdev_13787.result b/mysql-test/suite/galera/r/galera_mdev_13787.result
new file mode 100644
index 00000000000..e3133f60b0c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_mdev_13787.result
@@ -0,0 +1,3 @@
+create table t(a int);
+insert into t select 1;
+DROP TABLE t;
diff --git a/mysql-test/suite/galera/r/galera_mdev_15611.result b/mysql-test/suite/galera/r/galera_mdev_15611.result
new file mode 100644
index 00000000000..677ed98202d
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_mdev_15611.result
@@ -0,0 +1,15 @@
+CREATE TABLE t1 (
+id int primary key
+);
+CREATE TABLE t2 (
+id int primary key ,
+f_id int DEFAULT NULL, FOREIGN KEY(f_id) REFERENCES t1 (id)
+);
+insert into t1 select 1;
+#Running 200 insert in t2 table
+select count(*) from t2;
+count(*)
+200
+delete from t2;
+delete from t1;
+drop table t2,t1;
diff --git a/mysql-test/suite/galera/r/galera_mdl_race.result b/mysql-test/suite/galera/r/galera_mdl_race.result
new file mode 100644
index 00000000000..b48900669cf
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_mdl_race.result
@@ -0,0 +1,32 @@
+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');
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'b' WHERE f1 = 1;
+LOCK TABLE t2 WRITE;
+SET @@debug_dbug = "d,sync.wsrep_before_mdl_wait";
+SELECT * FROM t2;;
+SET @@debug_dbug = "d,sync.wsrep_after_BF_victim_lock";
+UPDATE t1 SET f2 = 'c' WHERE f1 = 1;
+SET @@debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_before_mdl_wait";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_after_BF_victim_lock";
+UNLOCK TABLES;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'a';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'a';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
+COUNT(*) = 1
+1
+DROP TABLE t1;
+DROP TABLE t2;
+SET DEBUG_SYNC = "RESET";
diff --git a/mysql-test/suite/galera/r/galera_migrate.result b/mysql-test/suite/galera/r/galera_migrate.result
new file mode 100644
index 00000000000..aab3ffbd6b6
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_migrate.result
@@ -0,0 +1,79 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+START SLAVE USER='root';
+Warnings:
+Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
+INSERT INTO t1 VALUES (2);
+START SLAVE USER='root';
+Warnings:
+Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure.
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+SET GLOBAL wsrep_cluster_address='gcomm://';
+INSERT INTO t1 VALUES (5);
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 1
+1
+INSERT INTO t1 VALUES (6);
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+SET GLOBAL wsrep_sst_auth = 'sst:';
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+STOP SLAVE;
+RESET SLAVE ALL;
+STOP SLAVE;
+RESET SLAVE ALL;
+INSERT INTO t1 VALUES (7);
+INSERT INTO t1 VALUES (8);
+SELECT COUNT(*) = 8 FROM t1;
+COUNT(*) = 8
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT COUNT(*) = 8 FROM t1;
+COUNT(*) = 8
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+DROP TABLE t1;
+DROP TABLE t1;
+SET GLOBAL wsrep_provider = 'none';
+SET GLOBAL wsrep_sst_auth = '';
+SET GLOBAL wsrep_provider_options = '';
+DROP TABLE t1;
+DROP USER sst;
+SET GLOBAL wsrep_provider = 'none';
+SET GLOBAL wsrep_sst_method = 'rsync';
+SET GLOBAL wsrep_provider_options = '';
+SET GLOBAL wsrep_sst_receive_address = 'AUTO';
+DROP TABLE t1;
+DROP USER sst;
+CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found");
diff --git a/mysql-test/suite/galera/r/galera_multi_database.result b/mysql-test/suite/galera/r/galera_multi_database.result
new file mode 100644
index 00000000000..a04eb484caf
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_multi_database.result
@@ -0,0 +1,28 @@
+CREATE DATABASE d1;
+CREATE TABLE d1.t1(f1 INTEGER) ENGINE=InnoDB;
+CREATE DATABASE d2;
+CREATE TABLE d2.t1(f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO d1.t1 VALUES (1);
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO d2.t1 VALUES (1);
+COMMIT;
+COMMIT;
+SELECT COUNT(*) = 1 FROM d1.t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM d2.t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM d1.t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM d2.t1;
+COUNT(*) = 1
+1
+DROP TABLE d1.t1;
+DROP TABLE d2.t1;
+DROP DATABASE d1;
+DROP DATABASE d2;
diff --git a/mysql-test/suite/galera/r/galera_myisam_autocommit.result b/mysql-test/suite/galera/r/galera_myisam_autocommit.result
new file mode 100644
index 00000000000..3f8d93bae76
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_myisam_autocommit.result
@@ -0,0 +1,24 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2), (3);
+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);
+INSERT INTO t2 SELECT 4 FROM DUAL UNION ALL SELECT 5 FROM DUAL;
+INSERT INTO t2 VALUES (6), (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+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;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_myisam_transactions.result b/mysql-test/suite/galera/r/galera_myisam_transactions.result
new file mode 100644
index 00000000000..284f92b414c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_myisam_transactions.result
@@ -0,0 +1,34 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE t3 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW INSERT INTO t3 VALUES (NEW.f1);
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+COMMIT;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+ROLLBACK;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+DROP TABLE t1, t2, t3;
diff --git a/mysql-test/suite/galera/r/galera_nopk_bit.result b/mysql-test/suite/galera/r/galera_nopk_bit.result
new file mode 100644
index 00000000000..5723dac42fd
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_nopk_bit.result
@@ -0,0 +1,27 @@
+CREATE TABLE t1 (f1 BIT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),(0),(b'1');
+SELECT f1 IS NULL, f1 = b'1' FROM t1;
+f1 IS NULL f1 = b'1'
+1 NULL
+0 0
+0 1
+DELETE FROM t1 WHERE f1 = b'1';
+UPDATE t1 SET f1 = b'1' WHERE f1 IS NULL;
+UPDATE t1 SET f1 = 1 WHERE f1 = b'0';
+SELECT f1 IS NULL, f1 = b'1' FROM t1;
+f1 IS NULL f1 = b'1'
+0 1
+0 1
+CREATE TABLE t2 (f1 BIT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (NULL);
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 0 WHERE f1 IS NULL;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 1 WHERE f1 IS NULL;
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_nopk_blob.result b/mysql-test/suite/galera/r/galera_nopk_blob.result
new file mode 100644
index 00000000000..7491b715ed2
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_nopk_blob.result
@@ -0,0 +1,27 @@
+CREATE TABLE t1 (f1 BLOB) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),('abc');
+SELECT f1 FROM t1;
+f1
+NULL
+abc
+DELETE FROM t1 WHERE f1 IS NULL;
+UPDATE t1 SET f1 = 'xyz' WHERE f1 = 'abc';
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT f1 = 'abc' FROM t1;
+f1 = 'abc'
+0
+CREATE TABLE t2 (f1 BLOB) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (NULL);
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 'abc' WHERE f1 IS NULL;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 'xyz' WHERE f1 IS NULL;
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_nopk_large_varchar.result b/mysql-test/suite/galera/r/galera_nopk_large_varchar.result
new file mode 100644
index 00000000000..abca81e15b0
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_nopk_large_varchar.result
@@ -0,0 +1,30 @@
+CREATE TABLE t1 (f1 VARCHAR(8000)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),(CONCAT(REPEAT('x', 7999), 'a'));
+SELECT LENGTH(f1) FROM t1;
+LENGTH(f1)
+NULL
+8000
+DELETE FROM t1 WHERE f1 IS NULL;
+UPDATE t1 SET f1 = CONCAT(REPEAT('x', 7999), 'b') WHERE f1 = CONCAT(REPEAT('x', 7999), 'a');
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT LENGTH(f1) = 8000 FROM t1;
+LENGTH(f1) = 8000
+1
+SELECT f1 = CONCAT(REPEAT('x', 7999), 'b') FROM t1;
+f1 = CONCAT(REPEAT('x', 7999), 'b')
+1
+CREATE TABLE t2 (f1 BLOB) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (CONCAT(REPEAT('x', 7999), 'a'));
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 'abc' WHERE f1 = CONCAT(REPEAT('x', 7999), 'a');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 'xyz' WHERE f1 = CONCAT(REPEAT('x', 7999), 'a');
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_nopk_unicode.result b/mysql-test/suite/galera/r/galera_nopk_unicode.result
new file mode 100644
index 00000000000..68d049a2146
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_nopk_unicode.result
@@ -0,0 +1,24 @@
+CREATE TABLE t1 (
+f1 VARCHAR(255),
+KEY (f1)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+INSERT INTO t1 VALUES ('текÑÑ‚');
+SELECT f1 = 'текÑÑ‚' FROM t1;
+f1 = 'текÑÑ‚'
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'текÑÑ‚2';
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'текÑÑ‚3';
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT f1 = 'текÑÑ‚2' FROM t1;
+f1 = 'текÑÑ‚2'
+1
+SELECT f1 = 'текÑÑ‚2' FROM t1 WHERE f1 = 'текÑÑ‚2';
+f1 = 'текÑÑ‚2'
+1
+DROP TABLE t1;
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
new file mode 100644
index 00000000000..27768dc441a
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_parallel_apply_lock_table.result
@@ -0,0 +1,33 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
+SET GLOBAL wsrep_slave_threads = 2;
+LOCK TABLE t1 READ;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+SET SESSION wsrep_sync_wait=0;
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%applied write set%';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Waiting for table level lock%';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+UNLOCK TABLES;
+SET SESSION wsrep_sync_wait = 15;;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'committed%';
+COUNT(*) = 2
+1
+SET GLOBAL wsrep_slave_threads = 1;;
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_parallel_autoinc_largetrx.result b/mysql-test/suite/galera/r/galera_parallel_autoinc_largetrx.result
new file mode 100644
index 00000000000..12c9889a477
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_parallel_autoinc_largetrx.result
@@ -0,0 +1,16 @@
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
+set session wsrep_sync_wait=15;
+SET GLOBAL wsrep_slave_threads = 4;
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+30000
+SELECT COUNT(DISTINCT f1) FROM t1;
+COUNT(DISTINCT f1)
+30000
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_parallel_autoinc_manytrx.result b/mysql-test/suite/galera/r/galera_parallel_autoinc_manytrx.result
new file mode 100644
index 00000000000..020ecfeec58
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_parallel_autoinc_manytrx.result
@@ -0,0 +1,24 @@
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
+set session wsrep_sync_wait=15;
+SET GLOBAL wsrep_slave_threads = 4;
+CREATE PROCEDURE p1 (repeat_count int)
+BEGIN
+DECLARE current_num int;
+SET current_num = 0;
+WHILE current_num < repeat_count do
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1;
+COMMIT;
+SET current_num = current_num + 1;
+END WHILE;
+END|
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+40000
+SELECT COUNT(DISTINCT f1) FROM t1;
+COUNT(DISTINCT f1)
+40000
+DROP TABLE t1;
+DROP TABLE ten;
+DROP PROCEDURE p1;
diff --git a/mysql-test/suite/galera/r/galera_parallel_simple.result b/mysql-test/suite/galera/r/galera_parallel_simple.result
new file mode 100644
index 00000000000..0b19ef7da8f
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_parallel_simple.result
@@ -0,0 +1,32 @@
+CREATE TABLE t1 (id INT) ENGINE=InnoDB;
+CREATE TABLE t2 (id INT) ENGINE=InnoDB;
+SET GLOBAL wsrep_slave_threads = 2;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+NAME
+test/t1
+test/t2
+LOCK TABLE t1 WRITE;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+SET SESSION wsrep_sync_wait = 0;
+UNLOCK TABLES;
+SET SESSION wsrep_sync_wait = 15;
+SELECT COUNT(*) = 10 FROM t1;
+COUNT(*) = 10
+0
+SELECT COUNT(*) = 10 FROM t2;
+COUNT(*) = 10
+0
+SET GLOBAL wsrep_slave_threads = 1;;
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_pc_ignore_sb.result b/mysql-test/suite/galera/r/galera_pc_ignore_sb.result
new file mode 100644
index 00000000000..81892a6cb38
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_pc_ignore_sb.result
@@ -0,0 +1,16 @@
+SET @wsrep_cluster_address_orig = @@GLOBAL.wsrep_cluster_address;
+SET @wsrep_provider_options_orig = @@GLOBAL.wsrep_provider_options;
+SET GLOBAL wsrep_provider_options ='pc.ignore_sb=true';
+Killing server ...
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 1
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+VARIABLE_VALUE = 'ON'
+1
+SET GLOBAL wsrep_cluster_address = '';
+SET GLOBAL wsrep_cluster_address = @wsrep_cluster_address_orig;
+SET GLOBAL wsrep_provider_options = @wsrep_provider_options_orig;
diff --git a/mysql-test/suite/galera/r/galera_pk_bigint_signed.result b/mysql-test/suite/galera/r/galera_pk_bigint_signed.result
new file mode 100644
index 00000000000..a3075994657
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_pk_bigint_signed.result
@@ -0,0 +1,26 @@
+CREATE TABLE t1 (f1 BIGINT SIGNED PRIMARY KEY, f2 VARCHAR(5)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES
+(-9223372036854775808, 'min'),
+(9223372036854775807, 'max')
+;
+SELECT * FROM t1;
+f1 f2
+-9223372036854775808 min
+9223372036854775807 max
+UPDATE t1 SET f2 = CONCAT(f2, '_');
+SELECT * FROM t1;
+f1 f2
+-9223372036854775808 min_
+9223372036854775807 max_
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'foo' WHERE f1 = -9223372036854775808;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'bar' WHERE f1 = -9223372036854775808;
+COMMIT;
+SET AUTOCOMMIT=ON;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SET AUTOCOMMIT=ON;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_pk_bigint_unsigned.result b/mysql-test/suite/galera/r/galera_pk_bigint_unsigned.result
new file mode 100644
index 00000000000..441926e949c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_pk_bigint_unsigned.result
@@ -0,0 +1,23 @@
+CREATE TABLE t1 (f1 BIGINT UNSIGNED PRIMARY KEY, f2 VARCHAR(5)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES
+(18446744073709551615, 'max')
+;
+SELECT f1 = 18446744073709551615 FROM t1;
+f1 = 18446744073709551615
+1
+UPDATE t1 SET f2 = CONCAT(f2, '_');
+SELECT f1 = 18446744073709551615 FROM t1;
+f1 = 18446744073709551615
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'foo' WHERE f1 = 18446744073709551615;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'bar' WHERE f1 = 18446744073709551615;
+COMMIT;
+SET AUTOCOMMIT=ON;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SET AUTOCOMMIT=ON;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_prepared_statement.result b/mysql-test/suite/galera/r/galera_prepared_statement.result
new file mode 100644
index 00000000000..de5ac9c760a
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_prepared_statement.result
@@ -0,0 +1,33 @@
+CREATE TABLE t1 (f1 CHAR(5)) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 CHAR(5)) ENGINE=InnoDB;
+CREATE TABLE t3 (f1 CHAR(5)) ENGINE=InnoDB;
+CREATE TABLE t4 (f1 CHAR(5)) ENGINE=InnoDB;
+SET SESSION sql_mode='STRICT_ALL_TABLES';
+PREPARE st1 FROM 'INSERT INTO t1 VALUES ("abc")';
+PREPARE st2 FROM 'INSERT INTO t2 VALUES ("abc")';
+PREPARE st3 FROM 'INSERT INTO t3 VALUES ("abc")';
+PREPARE st4 FROM 'INSERT INTO t4 VALUES ("abc")';
+EXECUTE st1;
+EXECUTE st2;
+EXECUTE st3;
+EXECUTE st4;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t3;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t4;
+COUNT(*) = 1
+1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+ALTER TABLE t1 DROP COLUMN f1;
+EXECUTE st1;
+ERROR 22007: Incorrect integer value: 'abc' for column 'f2' at row 1
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE t4;
diff --git a/mysql-test/suite/galera/r/galera_query_cache.result b/mysql-test/suite/galera/r/galera_query_cache.result
new file mode 100644
index 00000000000..502d8a58e9c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_query_cache.result
@@ -0,0 +1,57 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+RESET QUERY CACHE;
+FLUSH STATUS;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+VARIABLE_VALUE = 1
+1
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+VARIABLE_VALUE = 1
+1
+INSERT INTO t1 VALUES (2);
+FLUSH STATUS;
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+VARIABLE_VALUE = 0
+1
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+VARIABLE_VALUE = 1
+1
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+VARIABLE_VALUE = 0
+1
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+VARIABLE_VALUE = 1
+1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+FLUSH STATUS;
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+VARIABLE_VALUE = 0
+1
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+VARIABLE_VALUE = 1
+1
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+VARIABLE_VALUE = 0
+1
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+VARIABLE_VALUE = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_query_cache_sync_wait.result b/mysql-test/suite/galera/r/galera_query_cache_sync_wait.result
new file mode 100644
index 00000000000..b1cceebb010
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_query_cache_sync_wait.result
@@ -0,0 +1,41 @@
+CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT1S";
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+SELECT MAX(id) FROM t1;
+MAX(id)
+1
+INSERT INTO t1 VALUES (2);
+SELECT MAX(id) FROM t1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+FLUSH QUERY CACHE;
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+SET DEBUG_SYNC = "RESET";
+INSERT INTO t1 VALUES (3);
+SELECT MAX(id) FROM t1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+INSERT INTO t1 VALUES (4);
+SELECT MAX(id) FROM t1;
+MAX(id)
+4
+FLUSH STATUS;
+SELECT MAX(id) FROM t1;
+MAX(id)
+4
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+VARIABLE_VALUE = 1
+1
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+INSERT INTO t1 VALUES (5);
+SELECT MAX(id) FROM t1 ;
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+MAX(id)
+5
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+VARIABLE_VALUE = 1
+1
diff --git a/mysql-test/suite/galera/r/galera_read_only.result b/mysql-test/suite/galera/r/galera_read_only.result
new file mode 100644
index 00000000000..82736c5f4ba
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_read_only.result
@@ -0,0 +1,18 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+SET GLOBAL read_only=TRUE;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+CREATE USER foo@localhost;
+# Open connection to node 2 using 'foo' user.
+
+# Connect with foo_node_2
+INSERT INTO t1 VALUES (2);
+ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SET GLOBAL read_only=FALSE;
+DROP TABLE t1;
+DROP USER foo@localhost;
diff --git a/mysql-test/suite/galera/r/galera_repl_key_format_flat16.result b/mysql-test/suite/galera/r/galera_repl_key_format_flat16.result
new file mode 100644
index 00000000000..4acf0143f8b
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_repl_key_format_flat16.result
@@ -0,0 +1,18 @@
+SET GLOBAL wsrep_provider_options = 'repl.key_format=FLAT16';
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (123);
+CREATE TABLE t2 (f1 VARCHAR(256)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (REPEAT('a', 256));
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+UPDATE t1 SET f1 = 234;
+UPDATE t2 SET f1 = REPEAT('b', 256);
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 234;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = REPEAT('b', 256);
+COUNT(*) = 1
+1
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_repl_max_ws_size.result b/mysql-test/suite/galera/r/galera_repl_max_ws_size.result
new file mode 100644
index 00000000000..f7914a1b803
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_repl_max_ws_size.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 VARCHAR(512)) ENGINE=InnoDB;
+SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=512';
+INSERT INTO t1 VALUES (REPEAT('a', 512));
+ERROR HY000: Got error 90 "Message too long" during COMMIT
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+CALL mtr.add_suppression("Maximum writeset size exceeded by");
+CALL mtr.add_suppression("transaction size limit");
+CALL mtr.add_suppression("transaction size exceeded");
+CALL mtr.add_suppression("rbr write fail");
diff --git a/mysql-test/suite/galera/r/galera_restart_nochanges.result b/mysql-test/suite/galera/r/galera_restart_nochanges.result
new file mode 100644
index 00000000000..accace97826
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_restart_nochanges.result
@@ -0,0 +1,9 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_restart_on_unknown_option.result b/mysql-test/suite/galera/r/galera_restart_on_unknown_option.result
new file mode 100644
index 00000000000..a21b1edf3e7
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_restart_on_unknown_option.result
@@ -0,0 +1,40 @@
+CALL mtr.add_suppression("Aborting");
+CALL mtr.add_suppression("unknown option '--galera-unknown-option'");
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+INSERT INTO t1 VALUES (1, 'a'), (2, 'a'), (3, 'a');
+SELECT * FROM t1;
+f1 f2
+1 a
+2 a
+3 a
+Shutting down server ...
+UPDATE t1 SET f2 = 'b' WHERE f1 > 1;
+UPDATE t1 SET f2 = 'c' WHERE f1 > 2;
+SELECT * FROM t1;
+f1 f2
+1 a
+2 b
+3 c
+Starting server ...
+Starting server ...
+SELECT * FROM t1;
+f1 f2
+1 a
+2 b
+3 c
+Shutting down server ...
+UPDATE t1 SET f2 = 'd' WHERE f1 > 1;
+UPDATE t1 SET f2 = 'd' WHERE f1 > 2;
+SELECT * FROM t1;
+f1 f2
+1 a
+2 d
+3 d
+Starting server ...
+Starting server ...
+SELECT * FROM t1;
+f1 f2
+1 a
+2 d
+3 d
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_roles.result b/mysql-test/suite/galera/r/galera_roles.result
new file mode 100644
index 00000000000..6312250c18d
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_roles.result
@@ -0,0 +1,195 @@
+#
+# Testing CREATE/GRANT role
+#
+
+# On node_1
+CREATE DATABASE test1;
+CREATE TABLE test1.t1 (a int, b int);
+CREATE TABLE test1.t2 (a int, b int);
+INSERT INTO test1.t1 values (1,2),(3,4);
+INSERT INTO test1.t2 values (5,6),(7,8);
+CREATE PROCEDURE test1.pr1() SELECT "pr1";
+CREATE USER foo@localhost;
+CREATE ROLE role1;
+GRANT role1 TO foo@localhost;
+GRANT RELOAD ON *.* TO role1;
+GRANT SELECT ON mysql.* TO role1;
+GRANT EXECUTE ON PROCEDURE test1.pr1 TO role1;
+GRANT SELECT ON test1.t1 TO role1;
+GRANT SELECT (a) ON test1.t2 TO role1;
+# Open connections to the 2 nodes using 'foo' user.
+
+# Connect with foo_node_1
+SHOW GRANTS;
+Grants for foo@localhost
+GRANT role1 TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+FLUSH TABLES;
+ERROR 42000: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
+SELECT * FROM mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+SHOW TABLES FROM test1;
+ERROR 42000: Access denied for user 'foo'@'localhost' to database 'test1'
+SET ROLE role1;
+FLUSH TABLES;
+SELECT * FROM mysql.roles_mapping;
+Host User Role Admin_option
+localhost foo role1 N
+localhost root role1 Y
+SHOW TABLES FROM test1;
+Tables_in_test1
+t1
+t2
+SELECT * FROM test1.t1;
+a b
+1 2
+3 4
+SELECT * FROM test1.t2;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't2'
+SELECT a FROM test1.t2;
+a
+5
+7
+CALL test1.pr1();
+pr1
+pr1
+
+# Connect with foo_node_2
+SHOW GRANTS;
+Grants for foo@localhost
+GRANT role1 TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+FLUSH TABLES;
+ERROR 42000: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
+SELECT * FROM mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+SHOW TABLES FROM test1;
+ERROR 42000: Access denied for user 'foo'@'localhost' to database 'test1'
+SET ROLE role1;
+FLUSH TABLES;
+SELECT * FROM mysql.roles_mapping;
+Host User Role Admin_option
+localhost foo role1 N
+localhost root role1 Y
+SHOW TABLES FROM test1;
+Tables_in_test1
+t1
+t2
+SELECT * FROM test1.t1;
+a b
+1 2
+3 4
+SELECT * FROM test1.t2;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't2'
+SELECT a FROM test1.t2;
+a
+5
+7
+CALL test1.pr1();
+pr1
+pr1
+#
+# Testing REVOKE role
+#
+#
+# Connect with node_1
+REVOKE EXECUTE ON PROCEDURE test1.pr1 FROM role1;
+
+# Connect with foo_node_1
+CALL test1.pr1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test1.pr1'
+
+# Connect with foo_node_2
+CALL test1.pr1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test1.pr1'
+#
+# Testing DROP role
+#
+
+# Connect with node_1
+DROP ROLE role1;
+
+# Connect with foo_node_1
+FLUSH TABLES;
+SELECT * FROM mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+SELECT * FROM test1.t1;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't1'
+SELECT a FROM test1.t2;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't2'
+SHOW GRANTS;
+Grants for foo@localhost
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+SELECT * FROM INFORMATION_SCHEMA.ENABLED_ROLES;
+ROLE_NAME
+NULL
+SELECT * FROM INFORMATION_SCHEMA.ENABLED_ROLES;
+ROLE_NAME
+NULL
+SELECT CURRENT_ROLE();
+CURRENT_ROLE()
+role1
+
+# Connect with foo_node_2
+FLUSH TABLES;
+SELECT * FROM mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+SELECT * FROM test1.t1;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't1'
+SELECT a FROM test1.t2;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't2'
+SHOW GRANTS;
+Grants for foo@localhost
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+SELECT * FROM INFORMATION_SCHEMA.ENABLED_ROLES;
+ROLE_NAME
+NULL
+SELECT * FROM INFORMATION_SCHEMA.ENABLED_ROLES;
+ROLE_NAME
+NULL
+SELECT CURRENT_ROLE();
+CURRENT_ROLE()
+role1
+# Connect with node_1
+DROP USER foo@localhost;
+DROP DATABASE test1;
+#
+# MDEV-10566: Create role statement replicated inconsistently in Galera Cluster
+#
+
+# On node_1
+CREATE USER foo@localhost;
+CREATE ROLE role1;
+CREATE ROLE role2 WITH ADMIN CURRENT_USER;
+CREATE ROLE role3 WITH ADMIN foo@localhost;
+CREATE ROLE role4 WITH ADMIN role1;
+SELECT * FROM mysql.roles_mapping;
+Host User Role Admin_option
+ role1 role4 Y
+localhost foo role3 Y
+localhost root role1 Y
+localhost root role2 Y
+SELECT * FROM INFORMATION_SCHEMA.APPLICABLE_ROLES;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role4 YES NULL
+root@localhost role1 YES NO
+root@localhost role2 YES NO
+
+# On node_2
+SELECT * FROM mysql.roles_mapping;
+Host User Role Admin_option
+ role1 role4 Y
+localhost foo role3 Y
+localhost root role1 Y
+localhost root role2 Y
+SELECT * FROM INFORMATION_SCHEMA.APPLICABLE_ROLES;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role4 YES NULL
+root@localhost role1 YES NO
+root@localhost role2 YES NO
+DROP ROLE role1;
+DROP ROLE role2;
+DROP ROLE role3;
+DROP ROLE role4;
+DROP USER foo@localhost;
+# End of test
diff --git a/mysql-test/suite/galera/r/galera_rsu_add_pk.result b/mysql-test/suite/galera/r/galera_rsu_add_pk.result
new file mode 100644
index 00000000000..3fd24af9ad7
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_rsu_add_pk.result
@@ -0,0 +1,26 @@
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+INSERT INTO t1 (f1) SELECT 100000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;;
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+SET SESSION wsrep_OSU_method = "TOI";
+INSERT INTO t1 (f1) SELECT 200000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+SELECT COUNT(*) = 300000 FROM t1;
+COUNT(*) = 300000
+1
+SELECT MAX(f1) = 299999 FROM t1;
+MAX(f1) = 299999
+1
+SELECT COUNT(*) = 300000 FROM t1;
+COUNT(*) = 300000
+1
+SELECT MAX(f1) = 299999 FROM t1;
+MAX(f1) = 299999
+1
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+SET SESSION wsrep_OSU_method = "TOI";
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_rsu_drop_pk.result b/mysql-test/suite/galera/r/galera_rsu_drop_pk.result
new file mode 100644
index 00000000000..039fb68d244
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_rsu_drop_pk.result
@@ -0,0 +1,42 @@
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+INSERT INTO t1 (f1) SELECT 100000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;;
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 DROP PRIMARY KEY;
+SET SESSION wsrep_OSU_method = "TOI";
+INSERT INTO t1 (f1) SELECT 200000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+SELECT COUNT(*) = 300000 FROM t1;
+COUNT(*) = 300000
+1
+SELECT MAX(f1) = 299999 FROM t1;
+MAX(f1) = 299999
+1
+SELECT COUNT(*) = 300000 FROM t1;
+COUNT(*) = 300000
+1
+SELECT MAX(f1) = 299999 FROM t1;
+MAX(f1) = 299999
+1
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 DROP PRIMARY KEY;
+SET SESSION wsrep_OSU_method = "TOI";
+INSERT INTO t1 (f1) VALUES (1);
+INSERT INTO t1 (f1) VALUES (10);
+SELECT COUNT(*) = 2 FROM t1 WHERE f1 = 1;
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 2 FROM t1 WHERE f1 = 10;
+COUNT(*) = 2
+1
+INSERT INTO t1 (f1) VALUES (100);
+INSERT INTO t1 (f1) VALUES (1000);
+SELECT COUNT(*) = 2 FROM t1 WHERE f1 = 100;
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 2 FROM t1 WHERE f1 = 1000;
+COUNT(*) = 2
+1
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_rsu_error.result b/mysql-test/suite/galera/r/galera_rsu_error.result
new file mode 100644
index 00000000000..bfe41390d1d
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_rsu_error.result
@@ -0,0 +1,21 @@
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t1 VALUES (1), (1);
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SET SESSION wsrep_OSU_method = "TOI";
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = 't1';
+COUNT(*) = 0
+1
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = 't1';
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 3 FROM t1;
+COUNT(*) = 3
+1
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(3) = 4 FROM t1;
+COUNT(3) = 4
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_rsu_simple.result b/mysql-test/suite/galera/r/galera_rsu_simple.result
new file mode 100644
index 00000000000..4c2780a2933
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_rsu_simple.result
@@ -0,0 +1,21 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 1
+1
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+INSERT INTO t1 (f1) VALUES (2);
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result b/mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result
new file mode 100644
index 00000000000..08980389392
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result
@@ -0,0 +1,41 @@
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+SET GLOBAL wsrep_desync=1;
+SET wsrep_OSU_method=RSU;
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
+SET GLOBAL wsrep_desync=0;
+SET DEBUG_SYNC= 'now SIGNAL continue';
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) DEFAULT NULL,
+ `f2` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW VARIABLES LIKE 'wsrep_desync';
+Variable_name Value
+wsrep_desync OFF
+SET wsrep_OSU_method=TOI;
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+SET GLOBAL wsrep_desync=0;
+Warnings:
+Warning 1231 'wsrep_desync' is already OFF.
+SET wsrep_OSU_method=RSU;
+SET DEBUG_SYNC = 'alter_table_before_create_table_no_lock WAIT_FOR continue';
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
+SET GLOBAL wsrep_desync=1;;
+SET DEBUG_SYNC= 'now SIGNAL continue';
+SET GLOBAL wsrep_desync=0;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) DEFAULT NULL,
+ `f2` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SET wsrep_OSU_method=TOI;
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+CALL mtr.add_suppression("Protocol violation");
+CALL mtr.add_suppression("desync failed");
+CALL mtr.add_suppression("Protocol violation");
diff --git a/mysql-test/suite/galera/r/galera_sbr.result b/mysql-test/suite/galera/r/galera_sbr.result
new file mode 100644
index 00000000000..0bf6cc7c9d3
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sbr.result
@@ -0,0 +1,14 @@
+SET SESSION binlog_format = 'STATEMENT';
+Warnings:
+Warning 1105 MariaDB Galera does not support binlog format: STATEMENT
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET SESSION binlog_format = 'MIXED';
+Warnings:
+Warning 1105 MariaDB Galera does not support binlog format: MIXED
+INSERT INTO t1 VALUES (2);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
+SET GLOBAL binlog_format = 'ROW';
diff --git a/mysql-test/suite/galera/r/galera_sbr_binlog.result b/mysql-test/suite/galera/r/galera_sbr_binlog.result
new file mode 100644
index 00000000000..0bf6cc7c9d3
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sbr_binlog.result
@@ -0,0 +1,14 @@
+SET SESSION binlog_format = 'STATEMENT';
+Warnings:
+Warning 1105 MariaDB Galera does not support binlog format: STATEMENT
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET SESSION binlog_format = 'MIXED';
+Warnings:
+Warning 1105 MariaDB Galera does not support binlog format: MIXED
+INSERT INTO t1 VALUES (2);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
+SET GLOBAL binlog_format = 'ROW';
diff --git a/mysql-test/suite/galera/r/galera_schema_dirty_reads.result b/mysql-test/suite/galera/r/galera_schema_dirty_reads.result
new file mode 100644
index 00000000000..edf20da92c6
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_schema_dirty_reads.result
@@ -0,0 +1,13 @@
+USE information_schema;
+SELECT * FROM SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep_dirty_reads";
+VARIABLE_NAME VARIABLE_VALUE
+WSREP_DIRTY_READS OFF
+SET GLOBAL wsrep_reject_queries=ALL;
+SELECT * FROM SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep_dirty_reads";
+VARIABLE_NAME VARIABLE_VALUE
+WSREP_DIRTY_READS OFF
+SET GLOBAL wsrep_reject_queries=NONE;
+SET SESSION wsrep_dirty_reads=TRUE;
+SELECT * FROM SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep_dirty_reads";
+VARIABLE_NAME VARIABLE_VALUE
+WSREP_DIRTY_READS ON
diff --git a/mysql-test/suite/galera/r/galera_serializable.result b/mysql-test/suite/galera/r/galera_serializable.result
new file mode 100644
index 00000000000..90fe628e505
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_serializable.result
@@ -0,0 +1,27 @@
+CREATE TABLE t1 (id INT PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+START TRANSACTION;
+SELECT * FROM t1;
+id f2
+INSERT INTO t1 VALUES (1,1);
+SELECT * FROM t1;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+ROLLBACK;
+DELETE FROM t1;
+INSERT INTO t1 VALUES (1,1);
+START TRANSACTION;
+SELECT * FROM t1;
+id f2
+1 1
+UPDATE t1 SET f2 = 2;
+UPDATE t1 SET f2 = 3;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+ROLLBACK;
+DELETE FROM t1;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,1);
+INSERT INTO t1 VALUES (1,2);
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_server.result b/mysql-test/suite/galera/r/galera_server.result
new file mode 100644
index 00000000000..ef81bf376b0
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_server.result
@@ -0,0 +1,20 @@
+# On node_1
+CREATE SERVER s1
+FOREIGN DATA WRAPPER mysql
+OPTIONS (HOST 'foo');
+# On node_2
+SELECT * FROM mysql.servers;
+Server_name Host Db Username Password Port Socket Wrapper Owner
+s1 foo 3306 mysql
+ALTER SERVER s1
+OPTIONS (HOST 'bar');
+# On node_1
+SELECT * FROM mysql.servers;
+Server_name Host Db Username Password Port Socket Wrapper Owner
+s1 bar 3306 mysql
+DROP SERVER s1;
+# On node_2
+SELECT COUNT(*)=0 FROM mysql.servers;
+COUNT(*)=0
+1
+# End of test
diff --git a/mysql-test/suite/galera/r/galera_split_brain.result b/mysql-test/suite/galera/r/galera_split_brain.result
new file mode 100644
index 00000000000..6473f95735b
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_split_brain.result
@@ -0,0 +1,4 @@
+call mtr.add_suppression("WSREP: TO isolation failed for: ");
+Killing server ...
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
diff --git a/mysql-test/suite/galera/r/galera_sql_log_bin_zero.result b/mysql-test/suite/galera/r/galera_sql_log_bin_zero.result
new file mode 100644
index 00000000000..c15a24e481f
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sql_log_bin_zero.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+SET SESSION sql_log_bin = 0;
+INSERT INTO t1 VALUES (1);
+SET SESSION sql_log_bin = 1;
+INSERT INTO t1 VALUES (2);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_ssl.result b/mysql-test/suite/galera/r/galera_ssl.result
new file mode 100644
index 00000000000..569c3c607d5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ssl.result
@@ -0,0 +1,18 @@
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_ssl_compression.result b/mysql-test/suite/galera/r/galera_ssl_compression.result
new file mode 100644
index 00000000000..f25b614d139
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ssl_compression.result
@@ -0,0 +1,22 @@
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SET GLOBAL wsrep_provider_options = "socket.ssl_compression=No";
+ERROR HY000: Incorrect arguments to SET
+CREATE TABLE t1 (f1 VARCHAR(333) PRIMARY KEY, f2 BLOB) Engine=InnoDB;
+INSERT INTO t1 VALUES (REPEAT('a', 333), REPEAT('b', 65535));
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = REPEAT('a', 333) AND f2 = REPEAT('b', 65535);
+COUNT(*) = 1
+1
+DROP TABLE t1;
+CALL mtr.add_suppression("Unknown parameter 'socket\.ssl_compression'");
+CALL mtr.add_suppression("Set options returned 7");
diff --git a/mysql-test/suite/galera/r/galera_ssl_upgrade.result b/mysql-test/suite/galera/r/galera_ssl_upgrade.result
new file mode 100644
index 00000000000..b24671d120d
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ssl_upgrade.result
@@ -0,0 +1,15 @@
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+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
new file mode 100644
index 00000000000..efedb1b469a
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mariabackup,debug.rdiff
@@ -0,0 +1,103 @@
+--- galera_sst_mariabackup.reject
++++ galera_sst_mariabackup.result
+@@ -260,3 +260,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_sst_mariabackup.result b/mysql-test/suite/galera/r/galera_sst_mariabackup.result
new file mode 100644
index 00000000000..cec0f21ee22
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mariabackup.result
@@ -0,0 +1,262 @@
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that starts from a clean var directory
+This is accomplished by shutting down node #2 and removing its var directory before restarting it
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+Cleaning var directory ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_sst_mariabackup_encrypt_with_key.result b/mysql-test/suite/galera/r/galera_sst_mariabackup_encrypt_with_key.result
new file mode 100644
index 00000000000..990e0a29506
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mariabackup_encrypt_with_key.result
@@ -0,0 +1,3 @@
+SELECT 1;
+1
+1
diff --git a/mysql-test/suite/galera/r/galera_sst_mariabackup_table_options.result b/mysql-test/suite/galera/r/galera_sst_mariabackup_table_options.result
new file mode 100644
index 00000000000..f55a926d4de
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mariabackup_table_options.result
@@ -0,0 +1,985 @@
+Performing State Transfer on a server that starts from a clean var directory
+This is accomplished by shutting down node #2 and removing its var directory before restarting it
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 CHAR(255)) ENGINE=InnoDB PAGE_COMPRESSED=1;
+CREATE TABLE t3 (f1 CHAR(255)) ENGINE=InnoDB PAGE_COMPRESSED=1 ENCRYPTED=NO;
+CREATE TABLE t4 (f1 CHAR(255)) ENGINE=InnoDB PAGE_COMPRESSED=1 ENCRYPTED=YES;
+CREATE TABLE t5 (f1 CHAR(255)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+CREATE TABLE t6 (f1 CHAR(255)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED ENCRYPTED=NO;
+CREATE TABLE t7 (f1 CHAR(255)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED ENCRYPTED=YES;
+CREATE TABLE t8 (f1 CHAR(255)) ENGINE=InnoDB ENCRYPTED=NO;
+CREATE TABLE t9 (f1 CHAR(255)) ENGINE=InnoDB ENCRYPTED=YES;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+insert into t9 values ('node1_committed_before');
+insert into t9 values ('node1_committed_before');
+insert into t9 values ('node1_committed_before');
+insert into t9 values ('node1_committed_before');
+insert into t9 values ('node1_committed_before');
+insert into t8 values ('node1_committed_before');
+insert into t8 values ('node1_committed_before');
+insert into t8 values ('node1_committed_before');
+insert into t8 values ('node1_committed_before');
+insert into t8 values ('node1_committed_before');
+insert into t7 values ('node1_committed_before');
+insert into t7 values ('node1_committed_before');
+insert into t7 values ('node1_committed_before');
+insert into t7 values ('node1_committed_before');
+insert into t7 values ('node1_committed_before');
+insert into t6 values ('node1_committed_before');
+insert into t6 values ('node1_committed_before');
+insert into t6 values ('node1_committed_before');
+insert into t6 values ('node1_committed_before');
+insert into t6 values ('node1_committed_before');
+insert into t5 values ('node1_committed_before');
+insert into t5 values ('node1_committed_before');
+insert into t5 values ('node1_committed_before');
+insert into t5 values ('node1_committed_before');
+insert into t5 values ('node1_committed_before');
+insert into t4 values ('node1_committed_before');
+insert into t4 values ('node1_committed_before');
+insert into t4 values ('node1_committed_before');
+insert into t4 values ('node1_committed_before');
+insert into t4 values ('node1_committed_before');
+insert into t3 values ('node1_committed_before');
+insert into t3 values ('node1_committed_before');
+insert into t3 values ('node1_committed_before');
+insert into t3 values ('node1_committed_before');
+insert into t3 values ('node1_committed_before');
+insert into t2 values ('node1_committed_before');
+insert into t2 values ('node1_committed_before');
+insert into t2 values ('node1_committed_before');
+insert into t2 values ('node1_committed_before');
+insert into t2 values ('node1_committed_before');
+insert into t1 values ('node1_committed_before');
+insert into t1 values ('node1_committed_before');
+insert into t1 values ('node1_committed_before');
+insert into t1 values ('node1_committed_before');
+insert into t1 values ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+insert into t9 values ('node2_committed_before');
+insert into t9 values ('node2_committed_before');
+insert into t9 values ('node2_committed_before');
+insert into t9 values ('node2_committed_before');
+insert into t9 values ('node2_committed_before');
+insert into t8 values ('node2_committed_before');
+insert into t8 values ('node2_committed_before');
+insert into t8 values ('node2_committed_before');
+insert into t8 values ('node2_committed_before');
+insert into t8 values ('node2_committed_before');
+insert into t7 values ('node2_committed_before');
+insert into t7 values ('node2_committed_before');
+insert into t7 values ('node2_committed_before');
+insert into t7 values ('node2_committed_before');
+insert into t7 values ('node2_committed_before');
+insert into t6 values ('node2_committed_before');
+insert into t6 values ('node2_committed_before');
+insert into t6 values ('node2_committed_before');
+insert into t6 values ('node2_committed_before');
+insert into t6 values ('node2_committed_before');
+insert into t5 values ('node2_committed_before');
+insert into t5 values ('node2_committed_before');
+insert into t5 values ('node2_committed_before');
+insert into t5 values ('node2_committed_before');
+insert into t5 values ('node2_committed_before');
+insert into t4 values ('node2_committed_before');
+insert into t4 values ('node2_committed_before');
+insert into t4 values ('node2_committed_before');
+insert into t4 values ('node2_committed_before');
+insert into t4 values ('node2_committed_before');
+insert into t3 values ('node2_committed_before');
+insert into t3 values ('node2_committed_before');
+insert into t3 values ('node2_committed_before');
+insert into t3 values ('node2_committed_before');
+insert into t3 values ('node2_committed_before');
+insert into t2 values ('node2_committed_before');
+insert into t2 values ('node2_committed_before');
+insert into t2 values ('node2_committed_before');
+insert into t2 values ('node2_committed_before');
+insert into t2 values ('node2_committed_before');
+insert into t1 values ('node2_committed_before');
+insert into t1 values ('node2_committed_before');
+insert into t1 values ('node2_committed_before');
+insert into t1 values ('node2_committed_before');
+insert into t1 values ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+Cleaning var directory ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+insert into t9 values ('node1_committed_during');
+insert into t9 values ('node1_committed_during');
+insert into t9 values ('node1_committed_during');
+insert into t9 values ('node1_committed_during');
+insert into t9 values ('node1_committed_during');
+insert into t8 values ('node1_committed_during');
+insert into t8 values ('node1_committed_during');
+insert into t8 values ('node1_committed_during');
+insert into t8 values ('node1_committed_during');
+insert into t8 values ('node1_committed_during');
+insert into t7 values ('node1_committed_during');
+insert into t7 values ('node1_committed_during');
+insert into t7 values ('node1_committed_during');
+insert into t7 values ('node1_committed_during');
+insert into t7 values ('node1_committed_during');
+insert into t6 values ('node1_committed_during');
+insert into t6 values ('node1_committed_during');
+insert into t6 values ('node1_committed_during');
+insert into t6 values ('node1_committed_during');
+insert into t6 values ('node1_committed_during');
+insert into t5 values ('node1_committed_during');
+insert into t5 values ('node1_committed_during');
+insert into t5 values ('node1_committed_during');
+insert into t5 values ('node1_committed_during');
+insert into t5 values ('node1_committed_during');
+insert into t4 values ('node1_committed_during');
+insert into t4 values ('node1_committed_during');
+insert into t4 values ('node1_committed_during');
+insert into t4 values ('node1_committed_during');
+insert into t4 values ('node1_committed_during');
+insert into t3 values ('node1_committed_during');
+insert into t3 values ('node1_committed_during');
+insert into t3 values ('node1_committed_during');
+insert into t3 values ('node1_committed_during');
+insert into t3 values ('node1_committed_during');
+insert into t2 values ('node1_committed_during');
+insert into t2 values ('node1_committed_during');
+insert into t2 values ('node1_committed_during');
+insert into t2 values ('node1_committed_during');
+insert into t2 values ('node1_committed_during');
+insert into t1 values ('node1_committed_during');
+insert into t1 values ('node1_committed_during');
+insert into t1 values ('node1_committed_during');
+insert into t1 values ('node1_committed_during');
+insert into t1 values ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+insert into t9 values ('node1_to_be_committed_after');
+insert into t9 values ('node1_to_be_committed_after');
+insert into t9 values ('node1_to_be_committed_after');
+insert into t9 values ('node1_to_be_committed_after');
+insert into t9 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+insert into t9 values ('node1_to_be_rollbacked_after');
+insert into t9 values ('node1_to_be_rollbacked_after');
+insert into t9 values ('node1_to_be_rollbacked_after');
+insert into t9 values ('node1_to_be_rollbacked_after');
+insert into t9 values ('node1_to_be_rollbacked_after');
+insert into t8 values ('node1_to_be_rollbacked_after');
+insert into t8 values ('node1_to_be_rollbacked_after');
+insert into t8 values ('node1_to_be_rollbacked_after');
+insert into t8 values ('node1_to_be_rollbacked_after');
+insert into t8 values ('node1_to_be_rollbacked_after');
+insert into t7 values ('node1_to_be_rollbacked_after');
+insert into t7 values ('node1_to_be_rollbacked_after');
+insert into t7 values ('node1_to_be_rollbacked_after');
+insert into t7 values ('node1_to_be_rollbacked_after');
+insert into t7 values ('node1_to_be_rollbacked_after');
+insert into t6 values ('node1_to_be_rollbacked_after');
+insert into t6 values ('node1_to_be_rollbacked_after');
+insert into t6 values ('node1_to_be_rollbacked_after');
+insert into t6 values ('node1_to_be_rollbacked_after');
+insert into t6 values ('node1_to_be_rollbacked_after');
+insert into t5 values ('node1_to_be_rollbacked_after');
+insert into t5 values ('node1_to_be_rollbacked_after');
+insert into t5 values ('node1_to_be_rollbacked_after');
+insert into t5 values ('node1_to_be_rollbacked_after');
+insert into t5 values ('node1_to_be_rollbacked_after');
+insert into t4 values ('node1_to_be_rollbacked_after');
+insert into t4 values ('node1_to_be_rollbacked_after');
+insert into t4 values ('node1_to_be_rollbacked_after');
+insert into t4 values ('node1_to_be_rollbacked_after');
+insert into t4 values ('node1_to_be_rollbacked_after');
+insert into t3 values ('node1_to_be_rollbacked_after');
+insert into t3 values ('node1_to_be_rollbacked_after');
+insert into t3 values ('node1_to_be_rollbacked_after');
+insert into t3 values ('node1_to_be_rollbacked_after');
+insert into t3 values ('node1_to_be_rollbacked_after');
+insert into t2 values ('node1_to_be_rollbacked_after');
+insert into t2 values ('node1_to_be_rollbacked_after');
+insert into t2 values ('node1_to_be_rollbacked_after');
+insert into t2 values ('node1_to_be_rollbacked_after');
+insert into t2 values ('node1_to_be_rollbacked_after');
+insert into t1 values ('node1_to_be_rollbacked_after');
+insert into t1 values ('node1_to_be_rollbacked_after');
+insert into t1 values ('node1_to_be_rollbacked_after');
+insert into t1 values ('node1_to_be_rollbacked_after');
+insert into t1 values ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+COMMIT;
+insert into t9 values ('node1_to_be_committed_after');
+insert into t9 values ('node1_to_be_committed_after');
+insert into t9 values ('node1_to_be_committed_after');
+insert into t9 values ('node1_to_be_committed_after');
+insert into t9 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t8 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t7 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t6 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t5 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t4 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t3 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t2 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+insert into t1 values ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+insert into t9 values ('node1_committed_after');
+insert into t9 values ('node1_committed_after');
+insert into t9 values ('node1_committed_after');
+insert into t9 values ('node1_committed_after');
+insert into t9 values ('node1_committed_after');
+insert into t8 values ('node1_committed_after');
+insert into t8 values ('node1_committed_after');
+insert into t8 values ('node1_committed_after');
+insert into t8 values ('node1_committed_after');
+insert into t8 values ('node1_committed_after');
+insert into t7 values ('node1_committed_after');
+insert into t7 values ('node1_committed_after');
+insert into t7 values ('node1_committed_after');
+insert into t7 values ('node1_committed_after');
+insert into t7 values ('node1_committed_after');
+insert into t6 values ('node1_committed_after');
+insert into t6 values ('node1_committed_after');
+insert into t6 values ('node1_committed_after');
+insert into t6 values ('node1_committed_after');
+insert into t6 values ('node1_committed_after');
+insert into t5 values ('node1_committed_after');
+insert into t5 values ('node1_committed_after');
+insert into t5 values ('node1_committed_after');
+insert into t5 values ('node1_committed_after');
+insert into t5 values ('node1_committed_after');
+insert into t4 values ('node1_committed_after');
+insert into t4 values ('node1_committed_after');
+insert into t4 values ('node1_committed_after');
+insert into t4 values ('node1_committed_after');
+insert into t4 values ('node1_committed_after');
+insert into t3 values ('node1_committed_after');
+insert into t3 values ('node1_committed_after');
+insert into t3 values ('node1_committed_after');
+insert into t3 values ('node1_committed_after');
+insert into t3 values ('node1_committed_after');
+insert into t2 values ('node1_committed_after');
+insert into t2 values ('node1_committed_after');
+insert into t2 values ('node1_committed_after');
+insert into t2 values ('node1_committed_after');
+insert into t2 values ('node1_committed_after');
+insert into t1 values ('node1_committed_after');
+insert into t1 values ('node1_committed_after');
+insert into t1 values ('node1_committed_after');
+insert into t1 values ('node1_committed_after');
+insert into t1 values ('node1_committed_after');
+COMMIT;
+ROLLBACK;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t4;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t5;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t6;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t7;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t8;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t9;
+COUNT(*)
+30
+SELECT * FROM t1;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t2;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t3;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t4;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t5;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t6;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t7;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t8;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t9;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t4;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t5;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t6;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t7;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t8;
+COUNT(*)
+30
+SELECT COUNT(*) FROM t9;
+COUNT(*)
+30
+SELECT * FROM t1;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t2;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t3;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t4;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t5;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t6;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t7;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t8;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+SELECT * FROM t9;
+f1
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node1_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node2_committed_before
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_committed_during
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_to_be_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+node1_committed_after
+COMMIT;
+DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8,t9;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff b/mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff
new file mode 100644
index 00000000000..a7ed54af860
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff
@@ -0,0 +1,106 @@
+--- galera_sst_mysqldump.reject
++++ galera_sst_mysqldump.result
+@@ -354,6 +354,103 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
+ CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+ DROP USER sst;
+ CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump.result b/mysql-test/suite/galera/r/galera_sst_mysqldump.result
new file mode 100644
index 00000000000..2369c1d6d73
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mysqldump.result
@@ -0,0 +1,366 @@
+Setting SST method to mysqldump ...
+call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to '127.0.0.1'");
+call mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
+CREATE USER 'sst';
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+SET GLOBAL wsrep_sst_auth = 'sst:';
+SET GLOBAL wsrep_sst_method = 'mysqldump';
+Performing State Transfer on a server that has been temporarily disconnected
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Unloading wsrep provider ...
+SET GLOBAL wsrep_provider = 'none';
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Loading wsrep provider ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that starts from a clean var directory
+This is accomplished by shutting down node #2 and removing its var directory before restarting it
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+Cleaning var directory ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+DROP USER sst;
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found");
+CALL mtr.add_suppression("InnoDB: New log files created");
+CALL mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+CALL mtr.add_suppression("Can't open and lock time zone table");
+CALL mtr.add_suppression("Can't open and lock privilege tables");
+CALL mtr.add_suppression("Info table is not ready to be used");
+CALL mtr.add_suppression("Native table .* has the wrong structure");
diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,debug.rdiff b/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,debug.rdiff
new file mode 100644
index 00000000000..4a7db96dc22
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,debug.rdiff
@@ -0,0 +1,106 @@
+--- r/galera_sst_mysqldump_with_key.result 2018-11-19 09:56:30.081976558 +0200
++++ r/galera_sst_mysqldump_with_key.reject 2018-11-19 10:47:41.609299365 +0200
+@@ -183,6 +183,103 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
+ CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+ DROP USER sst;
+ CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key.result b/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key.result
new file mode 100644
index 00000000000..bdf3844f2c5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key.result
@@ -0,0 +1,196 @@
+Setting SST method to mysqldump ...
+call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to '127.0.0.1'");
+call mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
+CREATE USER 'sst';
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+SET GLOBAL wsrep_sst_auth = 'sst:';
+SET GLOBAL wsrep_sst_method = 'mysqldump';
+CREATE USER sslsst;
+GRANT ALL PRIVILEGES ON *.* TO sslsst;
+GRANT USAGE ON *.* TO sslsst REQUIRE SSL;
+SET GLOBAL wsrep_sst_auth = 'sslsst:';
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+DROP USER sst;
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found");
+CALL mtr.add_suppression("InnoDB: New log files created");
+CALL mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+CALL mtr.add_suppression("Can't open and lock time zone table");
+CALL mtr.add_suppression("Can't open and lock privilege tables");
+CALL mtr.add_suppression("Info table is not ready to be used");
+CALL mtr.add_suppression("Native table .* has the wrong structure");
+DROP USER sslsst;
diff --git a/mysql-test/suite/galera/r/galera_sst_rsync,debug.rdiff b/mysql-test/suite/galera/r/galera_sst_rsync,debug.rdiff
new file mode 100644
index 00000000000..323a0a92a35
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_rsync,debug.rdiff
@@ -0,0 +1,103 @@
+--- galera_sst_rsync.reject
++++ galera_sst_rsync.result
+@@ -260,3 +260,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_sst_rsync.result b/mysql-test/suite/galera/r/galera_sst_rsync.result
new file mode 100644
index 00000000000..cec0f21ee22
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_rsync.result
@@ -0,0 +1,262 @@
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that starts from a clean var directory
+This is accomplished by shutting down node #2 and removing its var directory before restarting it
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+Cleaning var directory ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_sst_rsync2,debug.rdiff b/mysql-test/suite/galera/r/galera_sst_rsync2,debug.rdiff
new file mode 100644
index 00000000000..2803211c418
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_rsync2,debug.rdiff
@@ -0,0 +1,103 @@
+--- mysql-test/suite/galera/r/galera_sst_rsync2.result 2018-09-07 01:29:47.133578834 +0200
++++ galera_sst_rsync2.result 2018-09-07 01:29:37.619557422 +0200
+@@ -260,3 +260,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_sst_rsync2.result b/mysql-test/suite/galera/r/galera_sst_rsync2.result
new file mode 100644
index 00000000000..cec0f21ee22
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_rsync2.result
@@ -0,0 +1,262 @@
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that starts from a clean var directory
+This is accomplished by shutting down node #2 and removing its var directory before restarting it
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+Cleaning var directory ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_sst_rsync_data_dir,debug.rdiff b/mysql-test/suite/galera/r/galera_sst_rsync_data_dir,debug.rdiff
new file mode 100644
index 00000000000..5ab88117e89
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_rsync_data_dir,debug.rdiff
@@ -0,0 +1,103 @@
+--- r/galera_sst_rsync_data_dir.result 2018-09-11 12:38:42.027479411 +0300
++++ r/galera_sst_rsync_data_dir.reject 2018-09-14 11:11:09.592049414 +0300
+@@ -260,3 +260,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_sst_rsync_data_dir.result b/mysql-test/suite/galera/r/galera_sst_rsync_data_dir.result
new file mode 100644
index 00000000000..cec0f21ee22
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_rsync_data_dir.result
@@ -0,0 +1,262 @@
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that starts from a clean var directory
+This is accomplished by shutting down node #2 and removing its var directory before restarting it
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+Cleaning var directory ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2,debug.rdiff b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2,debug.rdiff
new file mode 100644
index 00000000000..2692482f448
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2,debug.rdiff
@@ -0,0 +1,103 @@
+--- galera_sst_xtrabackup-v2.reject
++++ galera_sst_xtrabackup-v2.result
+@@ -260,3 +260,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2-options.result b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2-options.result
new file mode 100644
index 00000000000..990e0a29506
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2-options.result
@@ -0,0 +1,3 @@
+SELECT 1;
+1
+1
diff --git a/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2.result b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2.result
new file mode 100644
index 00000000000..cec0f21ee22
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2.result
@@ -0,0 +1,262 @@
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that starts from a clean var directory
+This is accomplished by shutting down node #2 and removing its var directory before restarting it
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+Cleaning var directory ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_data_dir,debug.rdiff b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_data_dir,debug.rdiff
new file mode 100644
index 00000000000..ac232020037
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_data_dir,debug.rdiff
@@ -0,0 +1,103 @@
+--- r/galera_sst_xtrabackup-v2_data_dir.result 2018-11-19 12:27:24.795221479 +0200
++++ r/galera_sst_xtrabackup-v2_data_dir.reject 2018-11-19 19:15:38.774008404 +0200
+@@ -260,3 +260,100 @@
+ DROP TABLE t1;
+ COMMIT;
+ SET AUTOCOMMIT=ON;
++Performing State Transfer on a server that has been killed and restarted
++while a DDL was in progress on it
++CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++INSERT INTO t1 VALUES ('node1_committed_before');
++START TRANSACTION;
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++INSERT INTO t1 VALUES ('node2_committed_before');
++COMMIT;
++SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
++ALTER TABLE t1 ADD COLUMN f2 INTEGER;
++SET wsrep_sync_wait = 0;
++Killing server ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++INSERT INTO t1 (f1) VALUES ('node1_committed_during');
++COMMIT;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++Performing --wsrep-recover ...
++Starting server ...
++Using --wsrep-start-position when starting mysqld ...
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++INSERT INTO t1 (f1) VALUES ('node2_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
++COMMIT;
++SET AUTOCOMMIT=OFF;
++START TRANSACTION;
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++INSERT INTO t1 (f1) VALUES ('node1_committed_after');
++COMMIT;
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
++ROLLBACK;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++COMMIT;
++SET AUTOCOMMIT=ON;
++SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
++COUNT(*) = 2
++1
++SELECT COUNT(*) = 35 FROM t1;
++COUNT(*) = 35
++1
++SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
++COUNT(*) = 0
++1
++DROP TABLE t1;
++COMMIT;
++SET AUTOCOMMIT=ON;
++SET GLOBAL debug_dbug = $debug_orig;
diff --git a/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_data_dir.result b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_data_dir.result
new file mode 100644
index 00000000000..cec0f21ee22
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_data_dir.result
@@ -0,0 +1,262 @@
+Performing State Transfer on a server that has been shut down cleanly and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that starts from a clean var directory
+This is accomplished by shutting down node #2 and removing its var directory before restarting it
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Shutting down server ...
+Cleaning var directory ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Starting server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Killing server ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Performing --wsrep-recover ...
+Starting server ...
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
diff --git a/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_encrypt_with_key.result b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_encrypt_with_key.result
new file mode 100644
index 00000000000..990e0a29506
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_xtrabackup-v2_encrypt_with_key.result
@@ -0,0 +1,3 @@
+SELECT 1;
+1
+1
diff --git a/mysql-test/suite/galera/r/galera_status_cluster.result b/mysql-test/suite/galera/r/galera_status_cluster.result
new file mode 100644
index 00000000000..d7cf671cb10
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_status_cluster.result
@@ -0,0 +1,12 @@
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
diff --git a/mysql-test/suite/galera/r/galera_status_local_index.result b/mysql-test/suite/galera/r/galera_status_local_index.result
new file mode 100644
index 00000000000..4e886ac8921
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_status_local_index.result
@@ -0,0 +1,13 @@
+CREATE TABLE wsrep_local_indexes (wsrep_local_index INTEGER);
+INSERT INTO wsrep_local_indexes VALUES ((SELECT variable_value FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE variable_name = 'wsrep_local_index'));
+INSERT INTO wsrep_local_indexes VALUES ((SELECT variable_value FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE variable_name = 'wsrep_local_index'));
+SELECT COUNT(*) = 2 FROM wsrep_local_indexes;
+COUNT(*) = 2
+1
+SELECT COUNT(DISTINCT wsrep_local_index) = 2 FROM wsrep_local_indexes;
+COUNT(DISTINCT wsrep_local_index) = 2
+1
+SELECT COUNT(*) = 0 FROM wsrep_local_indexes WHERE wsrep_local_index NOT IN (0, 1);
+COUNT(*) = 0
+1
+DROP TABLE wsrep_local_indexes;
diff --git a/mysql-test/suite/galera/r/galera_status_local_state.result b/mysql-test/suite/galera/r/galera_status_local_state.result
new file mode 100644
index 00000000000..65713f1975c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_status_local_state.result
@@ -0,0 +1,14 @@
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+VARIABLE_VALUE = 4
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SET GLOBAL wsrep_desync = 1;
+SELECT VARIABLE_VALUE = 'Donor/Desynced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Donor/Desynced'
+1
+SET GLOBAL wsrep_desync = 0;
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
diff --git a/mysql-test/suite/galera/r/galera_suspend_slave.result b/mysql-test/suite/galera/r/galera_suspend_slave.result
new file mode 100644
index 00000000000..d758b7f4cb1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_suspend_slave.result
@@ -0,0 +1,15 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+Suspending node_2 ...
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_sync_wait = 15;
+INSERT INTO t1 VALUES (1);
+Got one of the listed errors
+Resuming node_2 ...
+SET SESSION wsrep_sync_wait = 0;
+INSERT INTO t1 VALUES (1);
+SET SESSION wsrep_sync_wait = 0;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SET SESSION wsrep_sync_wait = 15;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_sync_wait_show.result b/mysql-test/suite/galera/r/galera_sync_wait_show.result
new file mode 100644
index 00000000000..bc6e5fe5752
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sync_wait_show.result
@@ -0,0 +1,39 @@
+SET SESSION wsrep_sync_wait = 8;
+CREATE DATABASE db1;
+SHOW CREATE DATABASE db1;
+Database Create Database
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET latin1 */
+DROP DATABASE db1;
+CREATE PROCEDURE p1 () SELECT 1 FROM DUAL;
+SHOW CREATE PROCEDURE p1;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
+SELECT 1 FROM DUAL latin1 latin1_swedish_ci latin1_swedish_ci
+DROP PROCEDURE p1;
+CREATE PROCEDURE p1 () SELECT 1 FROM DUAL;
+SHOW PROCEDURE CODE p1;
+Pos Instruction
+0 stmt 0 "SELECT 1 FROM DUAL"
+DROP PROCEDURE p1;
+CREATE FUNCTION f1 () RETURNS INTEGER RETURN 123;
+SHOW CREATE FUNCTION f1;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
+RETURN 123 latin1 latin1_swedish_ci latin1_swedish_ci
+DROP FUNCTION f1;
+CREATE FUNCTION f1 () RETURNS INTEGER RETURN 123;
+SHOW FUNCTION CODE f1;
+Pos Instruction
+0 freturn 3 123
+DROP FUNCTION f1;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.f1 = 'a';
+SHOW CREATE TRIGGER tr1;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+tr1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.f1 = 'a' latin1 latin1_swedish_ci latin1_swedish_ci
+DROP TABLE t1;
+CREATE EVENT event1 ON SCHEDULE AT '2038-01-01 23:59:59' DO SELECT 1;
+SHOW CREATE EVENT event1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+event1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `event1` ON SCHEDULE AT '2038-01-01 23:59:59' ON COMPLETION NOT PRESERVE DISABLE ON SLAVE DO SELECT 1 latin1 latin1_swedish_ci latin1_swedish_ci
+DROP EVENT event1;
diff --git a/mysql-test/suite/galera/r/galera_toi_alter_auto_increment.result b/mysql-test/suite/galera/r/galera_toi_alter_auto_increment.result
new file mode 100644
index 00000000000..f91415323ec
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_alter_auto_increment.result
@@ -0,0 +1,42 @@
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+ALTER TABLE t1 AUTO_INCREMENT = 1000;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+SELECT MIN(f1) >= 1000, COUNT(*) = 20, COUNT(DISTINCT f1) = 20 FROM t1 WHERE f1 >= 1000;
+MIN(f1) >= 1000 COUNT(*) = 20 COUNT(DISTINCT f1) = 20
+1 1 1
+SELECT MIN(f1) >= 1000, COUNT(*) = 20, COUNT(DISTINCT f1) = 20 FROM t1 WHERE f1 >= 1000;
+MIN(f1) >= 1000 COUNT(*) = 20 COUNT(DISTINCT f1) = 20
+1 1 1
+ALTER TABLE t1 AUTO_INCREMENT = 5;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+SELECT MIN(f1) >= 1000, COUNT(*) = 40, COUNT(DISTINCT f1) = 40 FROM t1 WHERE f1 >= 1000;
+MIN(f1) >= 1000 COUNT(*) = 40 COUNT(DISTINCT f1) = 40
+1 1 1
+SELECT MIN(f1) >= 1000, COUNT(*) = 40, COUNT(DISTINCT f1) = 40 FROM t1 WHERE f1 >= 1000;
+MIN(f1) >= 1000 COUNT(*) = 40 COUNT(DISTINCT f1) = 40
+1 1 1
+DROP TABLE t1;
+SET GLOBAL wsrep_auto_increment_control = OFF;
+SET GLOBAL auto_increment_increment = 1;
+SET GLOBAL auto_increment_offset = 1;
+SET GLOBAL wsrep_auto_increment_control = OFF;
+SET GLOBAL auto_increment_increment = 1;
+SET GLOBAL auto_increment_offset = 1;
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
+ALTER TABLE t1 AUTO_INCREMENT=100;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+SELECT MIN(f1) = 100, MAX(f1) = 119, COUNT(f1) = 20, COUNT(DISTINCT f1) = 20 FROM t1;
+MIN(f1) = 100 MAX(f1) = 119 COUNT(f1) = 20 COUNT(DISTINCT f1) = 20
+1 1 1 1
+SELECT MIN(f1) = 100, MAX(f1) = 119, COUNT(f1) = 20, COUNT(DISTINCT f1) = 20 FROM t1;
+MIN(f1) = 100 MAX(f1) = 119 COUNT(f1) = 20 COUNT(DISTINCT f1) = 20
+1 1 1 1
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_toi_ddl_error.result b/mysql-test/suite/galera/r/galera_toi_ddl_error.result
new file mode 100644
index 00000000000..656e20bcc46
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_ddl_error.result
@@ -0,0 +1,19 @@
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 (f1) SELECT (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+INSERT INTO t1 (f1) SELECT MAX(f1) FROM t1;
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+ERROR 23000: Duplicate entry '111110' for key 'PRIMARY'
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_toi_ddl_fk_insert.result b/mysql-test/suite/galera/r/galera_toi_ddl_fk_insert.result
new file mode 100644
index 00000000000..1726bb6445f
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_ddl_fk_insert.result
@@ -0,0 +1,31 @@
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE parent (
+id INT PRIMARY KEY AUTO_INCREMENT,
+f2 INTEGER,
+KEY (id)
+) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT PRIMARY KEY AUTO_INCREMENT,
+parent_id INT
+) ENGINE=InnoDB;
+INSERT INTO parent VALUES (1, 0);
+INSERT INTO child (parent_id) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
+INSERT INTO parent (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
+INSERT INTO parent (f2) SELECT 2 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
+ALTER TABLE child ADD FOREIGN KEY (parent_id) REFERENCES parent(id);;
+SELECT COUNT(*) = 20001 FROM parent;
+COUNT(*) = 20001
+1
+SELECT COUNT(*) = 10000 FROM child;
+COUNT(*) = 10000
+1
+SELECT COUNT(*) = 20001 FROM parent;
+COUNT(*) = 20001
+1
+SELECT COUNT(*) = 10000 FROM child;
+COUNT(*) = 10000
+1
+DROP TABLE child;
+DROP TABLE parent;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_toi_ddl_fk_update.result b/mysql-test/suite/galera/r/galera_toi_ddl_fk_update.result
new file mode 100644
index 00000000000..8366cfd27c8
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_ddl_fk_update.result
@@ -0,0 +1,23 @@
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE parent (
+id INT PRIMARY KEY,
+KEY (id)
+) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT PRIMARY KEY AUTO_INCREMENT,
+parent_id INT
+) ENGINE=InnoDB;
+INSERT INTO parent VALUES (1);
+INSERT INTO child (parent_id) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+ALTER TABLE child ADD FOREIGN KEY (parent_id) REFERENCES parent(id) ON UPDATE CASCADE;;
+UPDATE parent SET id = 2 WHERE id = 1;;
+SELECT COUNT(*) = 10000 FROM child WHERE parent_id = 2;
+COUNT(*) = 10000
+1
+SELECT COUNT(*) = 10000 FROM child WHERE parent_id = 2;
+COUNT(*) = 10000
+1
+DROP TABLE child;
+DROP TABLE parent;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_toi_ddl_locking.result b/mysql-test/suite/galera/r/galera_toi_ddl_locking.result
new file mode 100644
index 00000000000..f0a51db14d3
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_ddl_locking.result
@@ -0,0 +1,41 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
+SET SESSION wsrep_sync_wait = 0;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+INSERT INTO t1 VALUES (1);
+Got one of the listed errors
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t2 VALUES (1);
+COMMIT;;
+SET SESSION wsrep_sync_wait = 0;
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO = 'Commit';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+SET DEBUG_SYNC= 'now SIGNAL continue';
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+SET DEBUG_SYNC= 'RESET';
+SET DEBUG_SYNC= 'RESET';
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/galera_toi_ddl_nonconflicting.result b/mysql-test/suite/galera/r/galera_toi_ddl_nonconflicting.result
new file mode 100644
index 00000000000..41e693c2b19
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_ddl_nonconflicting.result
@@ -0,0 +1,23 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+ALTER TABLE t1 ADD COLUMN f3 INTEGER; INSERT INTO t1 (f1, f2) VALUES (DEFAULT, 123);;
+CREATE UNIQUE INDEX i1 ON t1(f2);;
+INSERT INTO t1 (f1, f2) VALUES (DEFAULT, 234);
+SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 3
+1
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 3
+1
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_toi_ddl_sequential.result b/mysql-test/suite/galera/r/galera_toi_ddl_sequential.result
new file mode 100644
index 00000000000..9dfa433d49f
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_ddl_sequential.result
@@ -0,0 +1,35 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+INSERT INTO t1 VALUES (2, 3);
+ALTER TABLE t1 DROP COLUMN f2;
+INSERT INTO t1 VALUES (4);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ PRIMARY KEY (`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT COUNT(*) = 3 FROM t1;
+COUNT(*) = 3
+1
+SELECT * FROM t1 ORDER BY f1;
+f1
+1
+2
+4
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ PRIMARY KEY (`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT COUNT(*) = 3 FROM t1;
+COUNT(*) = 3
+1
+SELECT * FROM t1 ORDER BY f1;
+f1
+1
+2
+4
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_toi_drop_database.result b/mysql-test/suite/galera/r/galera_toi_drop_database.result
new file mode 100644
index 00000000000..d652a5154be
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_drop_database.result
@@ -0,0 +1,24 @@
+CREATE DATABASE database1;
+USE database1;
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+SET SESSION wsrep_retry_autocommit = 0;
+INSERT INTO t1 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6;;
+USE database1;
+SET SESSION wsrep_retry_autocommit = 0;
+INSERT INTO t2 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6;;
+DROP DATABASE database1;;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'database1';
+COUNT(*) = 0
+1
+USE database1;
+ERROR 42000: Unknown database 'database1'
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'database1';
+COUNT(*) = 0
+1
+USE database1;
+ERROR 42000: Unknown database 'database1'
diff --git a/mysql-test/suite/galera/r/galera_toi_ftwrl.result b/mysql-test/suite/galera/r/galera_toi_ftwrl.result
new file mode 100644
index 00000000000..594717c96ff
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_ftwrl.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+FLUSH TABLES WITH READ LOCK;
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+UNLOCK TABLES;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `f2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_toi_lock_exclusive.result b/mysql-test/suite/galera/r/galera_toi_lock_exclusive.result
new file mode 100644
index 00000000000..eac50e8853c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_lock_exclusive.result
@@ -0,0 +1,17 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (2);
+ALTER TABLE t1 ADD COLUMN f2 INTEGER, LOCK=EXCLUSIVE;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+INSERT INTO t1 VALUES (2, 2);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+INSERT INTO t1 VALUES (3, 3);
+SELECT COUNT(*) = 3 FROM t1;
+COUNT(*) = 3
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_toi_lock_shared.result b/mysql-test/suite/galera/r/galera_toi_lock_shared.result
new file mode 100644
index 00000000000..36c38860688
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_lock_shared.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+ALTER TABLE t1 ADD COLUMN f2 INTEGER, LOCK=SHARED;
+INSERT INTO t1 VALUES (2, 2);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+INSERT INTO t1 VALUES (3, 3);
+SELECT COUNT(*) = 3 FROM t1;
+COUNT(*) = 3
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_toi_truncate.result b/mysql-test/suite/galera/r/galera_toi_truncate.result
new file mode 100644
index 00000000000..fb2ac08d494
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_toi_truncate.result
@@ -0,0 +1,17 @@
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+SET SESSION wsrep_retry_autocommit = 0;
+INSERT INTO t1(f1) SELECT 1 FROM ten as a1, ten AS a2;
+set debug_sync='ha_commit_trans_after_prepare WAIT_FOR go';
+INSERT INTO t1 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6;;
+TRUNCATE TABLE t1;;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_transaction_read_only.result b/mysql-test/suite/galera/r/galera_transaction_read_only.result
new file mode 100644
index 00000000000..3cd1076a285
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_transaction_read_only.result
@@ -0,0 +1,21 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+COMMIT;
+wsrep_last_committed_diff
+1
+START TRANSACTION READ ONLY;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+COMMIT;
+wsrep_last_committed_diff
+1
+START TRANSACTION;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+COMMIT;
+wsrep_last_committed_diff
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_transaction_replay.result b/mysql-test/suite/galera/r/galera_transaction_replay.result
new file mode 100644
index 00000000000..eec9ba03ef5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_transaction_replay.result
@@ -0,0 +1,59 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+INSERT INTO t1 VALUES (1, 'a');
+INSERT INTO t1 VALUES (2, 'a');
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'b' WHERE f1 = 1;
+SELECT * FROM t1 WHERE f1 = 2 FOR UPDATE;
+f1 f2
+2 a
+SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_enter_sync';
+COMMIT;;
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_on = 0;
+SET SESSION wsrep_on = 1;
+UPDATE t1 SET f2 = 'c' WHERE f1 = 2;
+SET GLOBAL wsrep_provider_options = 'dbug=';
+SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_enter_sync';
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'b';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
+COUNT(*) = 1
+1
+wsrep_local_replays
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'b';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
+COUNT(*) = 1
+1
+DROP TABLE t1;
+CREATE TABLE t1 (i int primary key, j int) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 0), (3, 0);
+SELECT * FROM t1;
+i j
+1 0
+3 0
+PREPARE stmt1 FROM "UPDATE t1 SET j = 1 where i > 0";
+SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_enter_sync';
+EXECUTE stmt1;;
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_on = 0;
+SET SESSION wsrep_on = 1;
+INSERT INTO t1 VALUES(2,2);
+SET GLOBAL wsrep_provider_options = 'dbug=';
+SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_enter_sync';
+SELECT * FROM t1;
+i j
+1 1
+2 2
+3 1
+SELECT * FROM t1;
+i j
+1 1
+2 2
+3 1
+DEALLOCATE PREPARE stmt1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_truncate.result b/mysql-test/suite/galera/r/galera_truncate.result
new file mode 100644
index 00000000000..eeeb6721d12
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_truncate.result
@@ -0,0 +1,29 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 VALUES (1);
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+CREATE TABLE t2 (f1 VARCHAR(255)) Engine=InnoDB;
+INSERT INTO t2 VALUES ('abc');
+TRUNCATE TABLE t2;
+SELECT COUNT(*) = 0 FROM t2;
+COUNT(*) = 0
+1
+CREATE TABLE t3 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t3 VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT);
+CREATE TABLE t4 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY) Engine=InnoDB AUTO_INCREMENT=1234;
+INSERT INTO t4 VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT);
+TRUNCATE TABLE t3;
+TRUNCATE TABLE t4;
+SELECT AUTO_INCREMENT = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME IN ('t3', 't4');
+AUTO_INCREMENT = 1
+1
+1
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE t4;
diff --git a/mysql-test/suite/galera/r/galera_truncate_temporary.result b/mysql-test/suite/galera/r/galera_truncate_temporary.result
new file mode 100644
index 00000000000..0bdc4e3632a
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_truncate_temporary.result
@@ -0,0 +1,63 @@
+CREATE TEMPORARY TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 VALUES (1);
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT * FROM t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (2);
+SELECT f1 = 2 FROM t1;
+f1 = 2
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT f1 = 1 FROM t1;
+f1 = 1
+1
+DROP TABLE t1;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT f1 = 1 FROM t1;
+f1 = 1
+1
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (2);
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT f1 = 2 FROM t1;
+f1 = 2
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_unicode_identifiers.result b/mysql-test/suite/galera/r/galera_unicode_identifiers.result
new file mode 100644
index 00000000000..28e5ac11086
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_unicode_identifiers.result
@@ -0,0 +1,46 @@
+SET GLOBAL wsrep_sync_wait = 15;
+SET GLOBAL wsrep_sync_wait = 15;
+CREATE DATABASE `database with space`;
+USE `database with space`;
+CREATE TABLE `table with space` (
+`column with space` INTEGER AUTO_INCREMENT PRIMARY KEY,
+`second column with space` INTEGER,
+UNIQUE `index name with space` (`second column with space`)
+) engine=innodb;
+INSERT INTO `table with space` VALUES (1, 1);
+CREATE DATABASE `база`;
+USE `база`;
+CREATE TABLE `таблица` (
+`първа_колона` INTEGER PRIMARY KEY,
+`втора_колона` INTEGER,
+UNIQUE `индекÑ` (`втора_колона`)
+) engine=innodb;
+INSERT INTO `таблица` VALUES (1, 1);
+CREATE DATABASE `втора база`;
+USE `втора база`;
+CREATE TABLE `втора таблица` (
+`първа колона` INTEGER,
+`втора колона` INTEGER,
+KEY `първи индекÑ` (`първа колона`)
+) engine=innodb;
+INSERT INTO `втора таблица` VALUES (1, 1);
+USE `database with space`;
+SELECT `second column with space` FROM `table with space`;
+second column with space
+1
+USE `база`;
+SELECT * FROM `таблица`;
+първа_колона втора_колона
+1 1
+USE `втора база`;
+SELECT `втора колона` FROM `втора таблица`;
+втора колона
+1
+SET GLOBAL wsrep_sync_wait = (SELECT @@wsrep_sync_wait);
+DROP TABLE `database with space`.`table with space`;
+DROP TABLE `база`.`таблица`;
+DROP TABLE `втора база`.`втора таблица`;
+DROP DATABASE `database with space`;
+DROP DATABASE `база`;
+DROP DATABASE `втора база`;
+SET GLOBAL wsrep_sync_wait = (SELECT @@wsrep_sync_wait);
diff --git a/mysql-test/suite/galera/r/galera_unicode_pk.result b/mysql-test/suite/galera/r/galera_unicode_pk.result
new file mode 100644
index 00000000000..d59615b2542
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_unicode_pk.result
@@ -0,0 +1,31 @@
+CREATE TABLE t1 (
+f1 VARCHAR(255) PRIMARY KEY
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+INSERT INTO t1 VALUES ('текÑÑ‚');
+SELECT f1 = 'текÑÑ‚' FROM t1;
+f1 = 'текÑÑ‚'
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'текÑÑ‚2';
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'текÑÑ‚3';
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT f1 = 'текÑÑ‚2' FROM t1;
+f1 = 'текÑÑ‚2'
+1
+SELECT f1 = 'текÑÑ‚2' FROM t1 WHERE f1 = 'текÑÑ‚2';
+f1 = 'текÑÑ‚2'
+1
+START TRANSACTION;
+INSERT INTO t1 VALUES ('текÑÑ‚4');
+START TRANSACTION;
+INSERT INTO t1 VALUES ('текÑÑ‚4');
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+COMMIT;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_update_limit.result b/mysql-test/suite/galera/r/galera_update_limit.result
new file mode 100644
index 00000000000..c26eb1c29f6
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_update_limit.result
@@ -0,0 +1,17 @@
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 SELECT f1 FROM ten ORDER BY RAND();
+UPDATE IGNORE t1 SET f1 = FLOOR(1 + (RAND() * 10)) ORDER BY RAND() LIMIT 5;
+sum_matches
+1
+max_matches
+1
+DROP TABLE t1;
+CREATE TABLE t2 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t2 SELECT f1 FROM ten ORDER BY RAND();
+UPDATE IGNORE t2 SET f1 = FLOOR(1 + (RAND() * 10)) ORDER BY RAND() LIMIT 5;
+sum_matches
+1
+DROP TABLE t2;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_v1_row_events.result b/mysql-test/suite/galera/r/galera_v1_row_events.result
new file mode 100644
index 00000000000..a6ab62350b1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_v1_row_events.result
@@ -0,0 +1,10 @@
+CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_OSU_method.result b/mysql-test/suite/galera/r/galera_var_OSU_method.result
new file mode 100644
index 00000000000..9a07873e1b9
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_OSU_method.result
@@ -0,0 +1,16 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+SET SESSION wsrep_OSU_method = "RSU";
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
+SET GLOBAL wsrep_OSU_method = "TOI";
+SET DEBUG_SYNC= 'now SIGNAL continue';
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 1
+1
+SET SESSION wsrep_OSU_method = "TOI";
+SET DEBUG_SYNC= 'RESET';
+SET DEBUG_SYNC= 'RESET';
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_OSU_method2.result b/mysql-test/suite/galera/r/galera_var_OSU_method2.result
new file mode 100644
index 00000000000..08f2e6aa0d8
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_OSU_method2.result
@@ -0,0 +1,19 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+SET SESSION wsrep_OSU_method = "TOI";
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_OSU_method = "RSU";
+SET DEBUG_SYNC= 'now SIGNAL continue';
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+INSERT INTO t1 VALUES (1,2);
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+INSERT INTO t1 VALUES (3,4);
+SET GLOBAL wsrep_OSU_method = "TOI";
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+SET DEBUG_SYNC= 'RESET';
diff --git a/mysql-test/suite/galera/r/galera_var_auto_inc_control_off.result b/mysql-test/suite/galera/r/galera_var_auto_inc_control_off.result
new file mode 100644
index 00000000000..92b69fbbaa7
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_auto_inc_control_off.result
@@ -0,0 +1,61 @@
+SET GLOBAL wsrep_auto_increment_control = OFF;
+SET GLOBAL auto_increment_increment = 1;
+SET GLOBAL auto_increment_offset = 1;
+SET GLOBAL wsrep_auto_increment_control = OFF;
+SET GLOBAL auto_increment_increment = 1;
+SET GLOBAL auto_increment_offset = 1;
+SELECT @@auto_increment_increment = 1;
+@@auto_increment_increment = 1
+1
+SELECT @@auto_increment_offset = 1;
+@@auto_increment_offset = 1
+1
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, node VARCHAR(10)) ENGINE=InnoDB;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL AUTO_INCREMENT,
+ `node` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL AUTO_INCREMENT,
+ `node` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT @@auto_increment_increment = 1;
+@@auto_increment_increment = 1
+1
+SELECT @@auto_increment_offset = 1;
+@@auto_increment_offset = 1
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (node) VALUES ('node1');
+SELECT f1 FROM t1;
+f1
+1
+SELECT @@auto_increment_increment = 1;
+@@auto_increment_increment = 1
+1
+SELECT @@auto_increment_offset = 1;
+@@auto_increment_offset = 1
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (node) VALUES ('node2');
+SELECT f1 FROM t1;
+f1
+1
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM t1;
+f1 node
+1 node1
+SELECT * FROM t1;
+f1 node
+1 node1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_auto_inc_control_on.result b/mysql-test/suite/galera/r/galera_var_auto_inc_control_on.result
new file mode 100644
index 00000000000..b9b00cfe1ac
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_auto_inc_control_on.result
@@ -0,0 +1,28 @@
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, node VARCHAR(10)) ENGINE=InnoDB;
+SELECT @@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size');
+@@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size')
+1
+auto_increment_offset_differ
+1
+INSERT INTO t1 VALUES (DEFAULT, 'node1');;
+INSERT INTO t1 VALUES (DEFAULT, 'node2');;
+SELECT @@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size');
+@@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size')
+1
+auto_increment_offset_differ
+1
+INSERT INTO t1 VALUES (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2');;
+INSERT INTO t1 VALUES (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1');;
+SELECT COUNT(*) = 22 FROM t1;
+COUNT(*) = 22
+1
+SELECT COUNT(DISTINCT f1) = 22 FROM t1;
+COUNT(DISTINCT f1) = 22
+1
+SELECT COUNT(*) = 22 FROM t1;
+COUNT(*) = 22
+1
+SELECT COUNT(DISTINCT f1) = 22 FROM t1;
+COUNT(DISTINCT f1) = 22
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_certify_nonPK_off.result b/mysql-test/suite/galera/r/galera_var_certify_nonPK_off.result
new file mode 100644
index 00000000000..0a3516e043f
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_certify_nonPK_off.result
@@ -0,0 +1,22 @@
+SET GLOBAL wsrep_certify_nonPK = OFF;
+SET GLOBAL wsrep_certify_nonPK = OFF;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB /* Table has no primary key */;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1), (2);
+Got one of the listed errors
+INSERT INTO t2 VALUES (1), (2);
+UPDATE t2 SET f1 = 3 WHERE f1 = 1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 2 FROM t2;
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 3;
+COUNT(*) = 1
+1
+SET GLOBAL wsrep_certify_nonPK = 1;
+SET GLOBAL wsrep_certify_nonPK = 1;
+DROP TABLE t1;
+DROP TABLE t2;
+call mtr.add_suppression("SQL statement was ineffective");
diff --git a/mysql-test/suite/galera/r/galera_var_cluster_address.result b/mysql-test/suite/galera/r/galera_var_cluster_address.result
new file mode 100644
index 00000000000..8245cdf6093
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_cluster_address.result
@@ -0,0 +1,41 @@
+SET GLOBAL wsrep_cluster_address = 'foo://';
+SET SESSION wsrep_sync_wait=0;
+SELECT COUNT(*) > 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS;
+COUNT(*) > 0
+1
+SHOW STATUS LIKE 'wsrep_ready';
+Variable_name Value
+wsrep_ready OFF
+SHOW STATUS LIKE 'wsrep_cluster_status';
+Variable_name Value
+wsrep_cluster_status non-Primary
+SHOW STATUS LIKE 'wsrep_local_state';
+Variable_name Value
+wsrep_local_state 0
+SHOW STATUS LIKE 'wsrep_local_state_comment';
+Variable_name Value
+wsrep_local_state_comment Initialized
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 1
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+CALL mtr.add_suppression("Backend not supported: foo");
+CALL mtr.add_suppression("Failed to initialize backend using 'foo");
+CALL mtr.add_suppression("Failed to open channel 'my_wsrep_cluster' at 'foo");
+CALL mtr.add_suppression("gcs connect failed: Socket type not supported");
+CALL mtr.add_suppression("wsrep::connect\\(\\) failed: 7");
+CALL mtr.add_suppression("gcs_caused\\(\\) returned -103 \\(Software caused connection abort\\)");
+CALL mtr.add_suppression("failed to open gcomm backend connection: 110: failed to reach primary view: 110");
+CALL mtr.add_suppression("Failed to open backend connection: -110 \\(Connection timed out\\)");
+CALL mtr.add_suppression("gcs connect failed: Connection timed out");
+CALL mtr.add_suppression("WSREP: wsrep::connect\\(foo://\\) failed: 7");
+CALL mtr.add_suppression("WSREP: wsrep::connect\\(gcomm://192.0.2.1\\) failed: 7");
+# End of test
diff --git a/mysql-test/suite/galera/r/galera_var_desync_on.result b/mysql-test/suite/galera/r/galera_var_desync_on.result
new file mode 100644
index 00000000000..7d86555150e
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_desync_on.result
@@ -0,0 +1,29 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options = 'gcs.fc_limit=1';
+FLUSH TABLES WITH READ LOCK;
+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);
+SET SESSION wsrep_sync_wait = 0;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+UNLOCK TABLES;
+SET SESSION wsrep_sync_wait = 1;
+SELECT COUNT(*) = 10 FROM t1;
+COUNT(*) = 10
+1
+INSERT INTO t1 VALUES (11);
+SELECT COUNT(*) = 11 FROM t1;
+COUNT(*) = 11
+1
+CALL mtr.add_suppression("Protocol violation");
+DROP TABLE t1;
+CALL mtr.add_suppression("Protocol violation");
diff --git a/mysql-test/suite/galera/r/galera_var_dirty_reads.result b/mysql-test/suite/galera/r/galera_var_dirty_reads.result
new file mode 100644
index 00000000000..5a108ddfcaa
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_dirty_reads.result
@@ -0,0 +1,47 @@
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+i
+1
+SET @@global.wsrep_cluster_address = '';
+SET @@session.wsrep_dirty_reads=OFF;
+SET SESSION wsrep_sync_wait=0;
+SHOW STATUS LIKE 'wsrep_ready';
+Variable_name Value
+wsrep_ready OFF
+SHOW STATUS LIKE 'wsrep_cluster_status';
+Variable_name Value
+wsrep_cluster_status non-Primary
+SELECT * FROM t1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+SELECT 1 FROM t1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+SET @@session.wsrep_dirty_reads=ON;
+SELECT * FROM t1;
+i
+1
+SELECT 1 FROM t1;
+1
+1
+SELECT i, variable_name, variable_value FROM t1, information_schema.session_variables WHERE variable_name LIKE "wsrep_dirty_reads" AND i = 1;
+i variable_name variable_value
+1 WSREP_DIRTY_READS ON
+SET @@session.wsrep_dirty_reads=OFF;
+SELECT i, variable_name, variable_value FROM t1, information_schema.session_variables WHERE variable_name LIKE "wsrep_dirty_reads" AND i = 1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+SELECT 1;
+1
+1
+USE information_schema;
+SELECT * FROM information_schema.session_variables WHERE variable_name LIKE "wsrep_dirty_reads";
+VARIABLE_NAME VARIABLE_VALUE
+WSREP_DIRTY_READS OFF
+SELECT COUNT(*) >= 10 FROM performance_schema.events_statements_history;
+COUNT(*) >= 10
+1
+USE test;
+SELECT * FROM t1;
+i
+1
+DROP TABLE t1;
+# End of test
diff --git a/mysql-test/suite/galera/r/galera_var_fkchecks.result b/mysql-test/suite/galera/r/galera_var_fkchecks.result
new file mode 100644
index 00000000000..342212a5241
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_fkchecks.result
@@ -0,0 +1,26 @@
+CREATE TABLE parent (
+id INT PRIMARY KEY,
+KEY (id)
+) ENGINE=InnoDB;
+CREATE TABLE child (
+id INT PRIMARY KEY,
+parent_id INT,
+FOREIGN KEY (parent_id)
+REFERENCES parent(id)
+) ENGINE=InnoDB;
+INSERT INTO parent VALUES (1);
+INSERT INTO child VALUES (1,1);
+SET SESSION foreign_key_checks = 0;
+INSERT INTO child VALUES (2,2);
+SELECT COUNT(*) = 1 FROM child WHERE id = 2;
+COUNT(*) = 1
+1
+INSERT INTO child VALUES (3,3);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`))
+SET SESSION foreign_key_checks = 0;
+DELETE FROM parent;
+SELECT COUNT(*) = 0 FROM parent;
+COUNT(*) = 0
+1
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result b/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result
new file mode 100644
index 00000000000..8e84236d5bf
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result
@@ -0,0 +1,74 @@
+# On node_1
+list of GTID variables :
+gtid_domain_id 1
+gtid_binlog_pos
+gtid_binlog_state
+gtid_current_pos
+gtid_slave_pos
+wsrep_gtid_domain_id 9999
+wsrep_gtid_mode 1
+# On node_2
+list of GTID variables :
+gtid_domain_id 2
+gtid_binlog_pos
+gtid_binlog_state
+gtid_current_pos
+gtid_slave_pos
+wsrep_gtid_domain_id 9999
+wsrep_gtid_mode 1
+# On node_1
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+CREATE TABLE t2(i INT) ENGINE=MEMORY;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+i
+1
+SELECT * FROM t2;
+i
+list of GTID variables :
+gtid_domain_id 1
+gtid_binlog_pos 9999-1-3
+gtid_binlog_state 9999-1-3
+gtid_current_pos 9999-1-3
+gtid_slave_pos
+wsrep_gtid_domain_id 9999
+wsrep_gtid_mode 1
+# On node_2
+SELECT * FROM t1;
+i
+1
+list of GTID variables :
+gtid_domain_id 2
+gtid_binlog_pos 9999-1-3
+gtid_binlog_state 9999-1-3
+gtid_current_pos
+gtid_slave_pos
+wsrep_gtid_domain_id 9999
+wsrep_gtid_mode 1
+# On node_1
+INSERT INTO t2 VALUES(1);
+SELECT * FROM t2;
+i
+1
+list of GTID variables :
+gtid_domain_id 1
+gtid_binlog_pos 1-1-1,9999-1-3
+gtid_binlog_state 1-1-1,9999-1-3
+gtid_current_pos 1-1-1,9999-1-3
+gtid_slave_pos
+wsrep_gtid_domain_id 9999
+wsrep_gtid_mode 1
+# On node_2
+SELECT * FROM t2;
+i
+list of GTID variables :
+gtid_domain_id 2
+gtid_binlog_pos 9999-1-3
+gtid_binlog_state 9999-1-3
+gtid_current_pos
+gtid_slave_pos
+wsrep_gtid_domain_id 9999
+wsrep_gtid_mode 1
+# On node_1
+DROP TABLE t1, t2;
+# End of test
diff --git a/mysql-test/suite/galera/r/galera_var_innodb_disallow_writes.result b/mysql-test/suite/galera/r/galera_var_innodb_disallow_writes.result
new file mode 100644
index 00000000000..912e45a14b1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_innodb_disallow_writes.result
@@ -0,0 +1,12 @@
+SET SESSION wsrep_sync_wait = 0;
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+SET GLOBAL innodb_disallow_writes=ON;
+INSERT INTO t1 VALUES (1);;
+SET GLOBAL innodb_disallow_writes=OFF;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_load_data_splitting.result b/mysql-test/suite/galera/r/galera_var_load_data_splitting.result
new file mode 100644
index 00000000000..db145fd1561
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_load_data_splitting.result
@@ -0,0 +1,9 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET GLOBAL wsrep_load_data_splitting = TRUE;
+SELECT COUNT(*) = 95000 FROM t1;
+COUNT(*) = 95000
+1
+wsrep_last_committed_diff
+1
+SET GLOBAL wsrep_load_data_splitting = 1;;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_log_bin.result b/mysql-test/suite/galera/r/galera_var_log_bin.result
new file mode 100644
index 00000000000..a6ab62350b1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_log_bin.result
@@ -0,0 +1,10 @@
+CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_max_ws_rows.result b/mysql-test/suite/galera/r/galera_var_max_ws_rows.result
new file mode 100644
index 00000000000..a1deb16c5a6
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_max_ws_rows.result
@@ -0,0 +1,135 @@
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
+SET GLOBAL wsrep_max_ws_rows = 4;
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+INSERT INTO t1 (f2) VALUES (3);
+INSERT INTO t1 (f2) VALUES (4);
+INSERT INTO t1 (f2) VALUES (5);
+ERROR HY000: wsrep_max_ws_rows exceeded
+COMMIT;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+INSERT INTO t1 (f2) VALUES (3);
+INSERT INTO t1 (f2) VALUES (4);
+UPDATE t1 SET f2 = 10 WHERE f2 = 4;
+ERROR HY000: wsrep_max_ws_rows exceeded
+COMMIT;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+INSERT INTO t1 (f2) VALUES (3);
+INSERT INTO t1 (f2) VALUES (4);
+DELETE FROM t1 WHERE f2 = 1;
+ERROR HY000: wsrep_max_ws_rows exceeded
+COMMIT;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SET GLOBAL wsrep_max_ws_rows = 5;
+INSERT INTO t1 (f2) VALUES (1),(2),(3),(4),(5);
+SET GLOBAL wsrep_max_ws_rows = 4;
+UPDATE t1 SET f2 = f2 + 10;
+ERROR HY000: wsrep_max_ws_rows exceeded
+SELECT COUNT(*) = 5 FROM t1;
+COUNT(*) = 5
+1
+DELETE FROM t1 WHERE f2 < 10;
+ERROR HY000: wsrep_max_ws_rows exceeded
+SELECT COUNT(*) = 5 FROM t1;
+COUNT(*) = 5
+1
+INSERT INTO t1 (f2) SELECT * FROM ten;
+ERROR HY000: wsrep_max_ws_rows exceeded
+SELECT COUNT(*) = 5 FROM t1;
+COUNT(*) = 5
+1
+INSERT INTO t1 (f2) VALUES (10),(20),(30),(40),(50);
+ERROR HY000: wsrep_max_ws_rows exceeded
+SELECT COUNT(*) = 5 FROM t1;
+COUNT(*) = 5
+1
+SET GLOBAL wsrep_max_ws_rows = 10;
+DELETE FROM t1 WHERE f2 < 10;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SET GLOBAL wsrep_max_ws_rows = 100;
+SELECT COUNT(*) = 100 FROM t1;
+COUNT(*) = 100
+1
+DELETE FROM t1 WHERE f2 < 101;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SET GLOBAL wsrep_max_ws_rows = 9999;
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+ERROR HY000: wsrep_max_ws_rows exceeded
+SET GLOBAL wsrep_max_ws_rows = 10000;
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+SET GLOBAL wsrep_max_ws_rows = 9999;
+UPDATE t1 SET f2 = 2 WHERE f2 = 1;
+ERROR HY000: wsrep_max_ws_rows exceeded
+SET GLOBAL wsrep_max_ws_rows = 10000;
+UPDATE t1 SET f2 = 2 WHERE f2 = 1;
+SET GLOBAL wsrep_max_ws_rows = 9999;
+DELETE FROM t1 WHERE f2 = 2;
+ERROR HY000: wsrep_max_ws_rows exceeded
+SET GLOBAL wsrep_max_ws_rows = 10000;
+DELETE FROM t1 WHERE f2 = 2;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SET AUTOCOMMIT = ON;
+SET GLOBAL wsrep_max_ws_rows = 1;
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+ERROR HY000: wsrep_max_ws_rows exceeded
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+ERROR HY000: wsrep_max_ws_rows exceeded
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+ERROR HY000: wsrep_max_ws_rows exceeded
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+ERROR HY000: wsrep_max_ws_rows exceeded
+DROP TABLE t1;
+DROP TABLE ten;
+#
+# MDEV-11817: Altering a table with more rows than
+# wsrep_max_ws_rows causes cluster to break when running
+# Galera cluster in TOI mode
+#
+CREATE TABLE t1(c1 INT)ENGINE = INNODB;
+SET GLOBAL wsrep_max_ws_rows= DEFAULT;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t1 SELECT * FROM t1;
+SET GLOBAL wsrep_max_ws_rows= 1;
+ALTER TABLE t1 CHANGE COLUMN c1 c1 BIGINT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_max_ws_size.result b/mysql-test/suite/galera/r/galera_var_max_ws_size.result
new file mode 100644
index 00000000000..fe92fd888e5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_max_ws_size.result
@@ -0,0 +1,17 @@
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 VARCHAR(1024)) Engine=InnoDB;
+SET GLOBAL wsrep_max_ws_size = 1024;
+INSERT INTO t1 VALUES (DEFAULT, REPEAT('X', 1024));
+ERROR HY000: Got error 90 "Message too long" during COMMIT
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=10000';
+SELECT @@wsrep_max_ws_size = 10000;
+@@wsrep_max_ws_size = 10000
+1
+SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=20000';
+SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=10000';
+SET GLOBAL wsrep_max_ws_size = 20000;
+provider_options_match
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_mysql_replication_bundle.result b/mysql-test/suite/galera/r/galera_var_mysql_replication_bundle.result
new file mode 100644
index 00000000000..f2a951c26b0
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_mysql_replication_bundle.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB;
+SET GLOBAL wsrep_mysql_replication_bundle = 2;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+0
+INSERT INTO t1 VALUES (2);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+SET GLOBAL wsrep_mysql_replication_bundle = 0;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_node_address.result b/mysql-test/suite/galera/r/galera_var_node_address.result
new file mode 100644
index 00000000000..aa76086359e
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_node_address.result
@@ -0,0 +1,12 @@
+call mtr.add_suppression("WSREP: Stray state UUID msg: .* current group state WAIT_STATE_UUID .*");
+call mtr.add_suppression("WSREP: Protocol violation. JOIN message sender .* is not in state transfer (.*). Message ignored.");
+call mtr.add_suppression("WSREP: Sending JOIN failed: -[0-9]+ (Transport endpoint is not connected). Will retry in new primary component.");
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_notify_cmd.result b/mysql-test/suite/galera/r/galera_var_notify_cmd.result
new file mode 100644
index 00000000000..e9e4605e1bc
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_notify_cmd.result
@@ -0,0 +1,10 @@
+SELECT COUNT(DISTINCT uuid) = 2 FROM mtr_wsrep_notify.membership;
+COUNT(DISTINCT uuid) = 2
+1
+SELECT MAX(size) = 2 FROM mtr_wsrep_notify.status;
+MAX(size) = 2
+1
+SELECT COUNT(DISTINCT idx) = 2 FROM mtr_wsrep_notify.status;
+COUNT(DISTINCT idx) = 2
+1
+DROP SCHEMA mtr_wsrep_notify;
diff --git a/mysql-test/suite/galera/r/galera_var_reject_queries.result b/mysql-test/suite/galera/r/galera_var_reject_queries.result
new file mode 100644
index 00000000000..1c932eb5509
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_reject_queries.result
@@ -0,0 +1,20 @@
+CREATE TABLE t1 (f1 INTEGER);
+SET SESSION wsrep_reject_queries = ALL;
+ERROR HY000: Variable 'wsrep_reject_queries' is a GLOBAL variable and should be set with SET GLOBAL
+SET GLOBAL wsrep_reject_queries = ALL;
+SELECT * FROM t1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+SET GLOBAL wsrep_reject_queries = ALL_KILL;
+SELECT * FROM t1;
+Got one of the listed errors
+SELECT * FROM t1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_reject_queries = NONE;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_replicate_myisam_off.result b/mysql-test/suite/galera/r/galera_var_replicate_myisam_off.result
new file mode 100644
index 00000000000..c8b79071d10
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_replicate_myisam_off.result
@@ -0,0 +1,8 @@
+SET GLOBAL wsrep_replicate_myisam = FALSE;
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=MyISAM;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SET GLOBAL wsrep_replicate_myisam = 0;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_replicate_myisam_on.result b/mysql-test/suite/galera/r/galera_var_replicate_myisam_on.result
new file mode 100644
index 00000000000..22ba4ca8767
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_replicate_myisam_on.result
@@ -0,0 +1,87 @@
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=MyISAM;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2), (3);
+INSERT INTO t1 SELECT 4 FROM DUAL UNION ALL SELECT 5 FROM DUAL;
+SELECT COUNT(*) = 5 FROM t1;
+COUNT(*) = 5
+1
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 VARCHAR(100)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1, 'abc'),(2,'abc'), (3, 'xxx');
+REPLACE INTO t1 VALUES (1, 'klm'), (2,'xyz');
+REPLACE INTO t1 SELECT 3, 'yyy' FROM DUAL;
+SELECT COUNT(*) = 3 FROM t1;
+COUNT(*) = 3
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1 AND f2 = 'klm';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2 AND f2 = 'xyz';
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 3 AND f2 = 'yyy';
+COUNT(*) = 1
+1
+UPDATE t1 SET f2 = 'zzz' WHERE f2 = 'yyy';
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'zzz';
+COUNT(*) = 1
+1
+DELETE FROM t1 WHERE f2 = 'zzz';
+SELECT COUNT(*) = 0 FROM t1 WHERE f2 = 'zzz';
+COUNT(*) = 0
+1
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+COMMIT;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+START TRANSACTION;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t2 VALUES (2);
+ROLLBACK;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=MyISAM;
+CREATE TABLE t2 (f2 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+COMMIT;
+DROP TABLE t1;
+DROP TABLE t2;
+#
+# MDEV-11152: wsrep_replicate_myisam: SELECT gets replicated using TO
+#
+CREATE TABLE t1 (i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+i
+1
+DROP TABLE t1;
+SET GLOBAL wsrep_replicate_myisam = 0;
+SET GLOBAL wsrep_replicate_myisam = 0;
diff --git a/mysql-test/suite/galera/r/galera_var_retry_autocommit.result b/mysql-test/suite/galera/r/galera_var_retry_autocommit.result
new file mode 100644
index 00000000000..22a3105a588
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_retry_autocommit.result
@@ -0,0 +1,54 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET SESSION wsrep_retry_autocommit = 0;
+SET DEBUG_SYNC = 'wsrep_before_replication SIGNAL before_rep WAIT_FOR continue';
+INSERT INTO t1 (f1) VALUES (2);
+SET DEBUG_SYNC = 'now WAIT_FOR before_rep';
+TRUNCATE TABLE t1;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET SESSION wsrep_retry_autocommit = 1;
+SET DEBUG_SYNC = 'wsrep_before_replication SIGNAL before_rep WAIT_FOR continue';
+INSERT INTO t1 (f1) VALUES (2);
+SET DEBUG_SYNC = 'now WAIT_FOR before_rep';
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET SESSION wsrep_retry_autocommit = 1;
+SET GLOBAL debug_dbug = '+d,sync.wsrep_retry_autocommit';
+SET DEBUG_SYNC = 'wsrep_before_replication SIGNAL before_rep WAIT_FOR continue EXECUTE 2';
+INSERT INTO t1 VALUES (2);;
+SET DEBUG_SYNC = 'now WAIT_FOR before_rep';
+TRUNCATE TABLE t1;
+SET DEBUG_SYNC = 'now WAIT_FOR wsrep_retry_autocommit_reached';
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+SET DEBUG_SYNC = 'now SIGNAL wsrep_retry_autocommit_continue WAIT_FOR before_rep';
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL debug_dbug = NULL;
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET SESSION wsrep_retry_autocommit = 64;
+SET GLOBAL debug_dbug = '+d,sync.wsrep_retry_autocommit';
+SET DEBUG_SYNC = 'wsrep_before_replication SIGNAL before_rep WAIT_FOR continue EXECUTE 64';
+INSERT INTO t1 VALUES (2);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL debug_dbug = NULL;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_slave_threads.result b/mysql-test/suite/galera/r/galera_var_slave_threads.result
new file mode 100644
index 00000000000..5a78d84c24e
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_slave_threads.result
@@ -0,0 +1,59 @@
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB;
+CREATE TABLE t2 (f1 INT AUTO_INCREMENT PRIMARY KEY) Engine=InnoDB;
+CALL mtr.add_suppression("WSREP: Refusing exit for the last slave thread.");
+SET GLOBAL wsrep_slave_threads = 0;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_slave_threads value: '0'
+SHOW WARNINGS;
+Level Code Message
+Warning 1292 Truncated incorrect wsrep_slave_threads value: '0'
+SELECT @@wsrep_slave_threads = 1;
+@@wsrep_slave_threads = 1
+1
+# wsrep_slave_threads = 1
+SET GLOBAL wsrep_slave_threads = 1;
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user';
+COUNT(*)
+2
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%wsrep aborter%';
+COUNT(*)
+1
+SET GLOBAL wsrep_slave_threads = 64;
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+# wsrep_slave_threads = 64
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%wsrep aborter%';
+COUNT(*)
+1
+SET GLOBAL wsrep_slave_threads = 1;
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+66
+# wsrep_slave_threads = 1
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%wsrep aborter%';
+COUNT(*)
+1
+SET GLOBAL wsrep_slave_threads = 1;
+DROP TABLE t1;
+DROP TABLE t2;
+#
+# lp:1372840 - Changing wsrep_slave_threads causes future connections to hang
+#
+CREATE TABLE t1 (i INT AUTO_INCREMENT PRIMARY KEY) ENGINE=INNODB;
+SET GLOBAL wsrep_slave_threads = 4;
+SET GLOBAL wsrep_slave_threads = 1;
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+DROP TABLE t1;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+NAME
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%wsrep aborter%';
+COUNT(*)
+1
+# End of tests
diff --git a/mysql-test/suite/galera/r/galera_var_sync_wait.result b/mysql-test/suite/galera/r/galera_var_sync_wait.result
new file mode 100644
index 00000000000..51c1fb3662b
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_sync_wait.result
@@ -0,0 +1,27 @@
+#
+# MDEV-10161: wsrep_sync_wait not enabled when set to 1 in config file
+#
+SELECT @@global.wsrep_sync_wait;
+@@global.wsrep_sync_wait
+15
+SELECT @@global.wsrep_causal_reads;
+@@global.wsrep_causal_reads
+1
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB;
+SET GLOBAL wsrep_sync_wait = 1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+CREATE TABLE t2 (f1 INT PRIMARY KEY) Engine=InnoDB;
+SET GLOBAL wsrep_sync_wait = 4;
+INSERT INTO t2 VALUES (1);
+CREATE TABLE t3 (f1 INT PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t3 VALUES (1);
+SET GLOBAL wsrep_sync_wait = 2;
+UPDATE t3 SET f1 = 2;
+affected rows: 1
+info: Rows matched: 1 Changed: 1 Warnings: 0
+SET GLOBAL wsrep_sync_wait = 15;
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
diff --git a/mysql-test/suite/galera/r/galera_var_wsrep_on_off.result b/mysql-test/suite/galera/r/galera_var_wsrep_on_off.result
new file mode 100644
index 00000000000..8b1c4ebf83b
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_wsrep_on_off.result
@@ -0,0 +1,19 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET SESSION wsrep_on = FALSE;
+INSERT INTO t1 VALUES (2);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SET GLOBAL wsrep_on = TRUE;
+INSERT INTO t1 VALUES (3);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 2;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 3;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_wan.result b/mysql-test/suite/galera/r/galera_wan.result
new file mode 100644
index 00000000000..1dc4a22a5f9
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_wan.result
@@ -0,0 +1,16 @@
+CALL mtr.add_suppression("WSREP: Stray state UUID msg:.*");
+CALL mtr.add_suppression("WSREP: Sending JOIN failed:.*");
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+call mtr.add_suppression("WSREP: Sending JOIN failed:.*");
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+SELECT VARIABLE_VALUE LIKE '%gmcast.segment = 3%' FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'wsrep_provider_options';
+VARIABLE_VALUE LIKE '%gmcast.segment = 3%'
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_wan_restart_ist.result b/mysql-test/suite/galera/r/galera_wan_restart_ist.result
new file mode 100644
index 00000000000..e58bff34e54
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_wan_restart_ist.result
@@ -0,0 +1,53 @@
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (13);
+Shutting down server ...
+INSERT INTO t1 VALUES (11);
+INSERT INTO t1 VALUES (12);
+INSERT INTO t1 VALUES (14);
+INSERT INTO t1 VALUES (131);
+INSERT INTO t1 VALUES (22);
+Shutting down server ...
+INSERT INTO t1 VALUES (21);
+INSERT INTO t1 VALUES (23);
+INSERT INTO t1 VALUES (24);
+INSERT INTO t1 VALUES (221);
+INSERT INTO t1 VALUES (34);
+Shutting down server ...
+INSERT INTO t1 VALUES (31);
+INSERT INTO t1 VALUES (32);
+INSERT INTO t1 VALUES (33);
+INSERT INTO t1 VALUES (341);
+SELECT COUNT(*) = 19 FROM t1;
+COUNT(*) = 19
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+SELECT COUNT(*) = 19 FROM t1;
+COUNT(*) = 19
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+SELECT COUNT(*) = 19 FROM t1;
+COUNT(*) = 19
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+SELECT COUNT(*) = 19 FROM t1;
+COUNT(*) = 19
+1
+DROP TABLE t1;
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
diff --git a/mysql-test/suite/galera/r/galera_wan_restart_sst.result b/mysql-test/suite/galera/r/galera_wan_restart_sst.result
new file mode 100644
index 00000000000..15de0fab342
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_wan_restart_sst.result
@@ -0,0 +1,54 @@
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (13);
+Killing server ...
+INSERT INTO t1 VALUES (11);
+INSERT INTO t1 VALUES (12);
+INSERT INTO t1 VALUES (14);
+INSERT INTO t1 VALUES (131);
+INSERT INTO t1 VALUES (22);
+Killing server ...
+INSERT INTO t1 VALUES (21);
+INSERT INTO t1 VALUES (23);
+INSERT INTO t1 VALUES (24);
+INSERT INTO t1 VALUES (221);
+INSERT INTO t1 VALUES (34);
+Killing server ...
+INSERT INTO t1 VALUES (31);
+INSERT INTO t1 VALUES (32);
+INSERT INTO t1 VALUES (33);
+INSERT INTO t1 VALUES (341);
+SELECT COUNT(*) = 19 FROM t1;
+COUNT(*) = 19
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+SELECT COUNT(*) = 19 FROM t1;
+COUNT(*) = 19
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+SELECT COUNT(*) = 19 FROM t1;
+COUNT(*) = 19
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 4
+1
+SELECT COUNT(*) = 19 FROM t1;
+COUNT(*) = 19
+1
+DROP TABLE t1;
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+CALL mtr.add_suppression("WSREP: gcs_caused\\(\\) returned -1 \\(Operation not permitted\\)");
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
diff --git a/mysql-test/suite/galera/r/galera_wsrep_desync_wsrep_on.result b/mysql-test/suite/galera/r/galera_wsrep_desync_wsrep_on.result
new file mode 100644
index 00000000000..5bde4874809
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_wsrep_desync_wsrep_on.result
@@ -0,0 +1,36 @@
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+SELECT COUNT(*) = 100000 FROM t1;
+COUNT(*) = 100000
+1
+SET GLOBAL wsrep_desync = TRUE;
+SET SESSION wsrep_on = FALSE;
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+SET SESSION wsrep_on = TRUE;
+SET GLOBAL wsrep_desync = FALSE;
+INSERT INTO t1 (f1) SELECT 100000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+SELECT COUNT(*) = 200000 FROM t1;
+COUNT(*) = 200000
+1
+SELECT MAX(f1) = 199999 FROM t1;
+MAX(f1) = 199999
+1
+SELECT COUNT(*) = 200000 FROM t1;
+COUNT(*) = 200000
+1
+SELECT MAX(f1) = 199999 FROM t1;
+MAX(f1) = 199999
+1
+SET GLOBAL wsrep_desync = TRUE;
+SET SESSION wsrep_on = FALSE;
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+SET SESSION wsrep_on = TRUE;
+SET GLOBAL wsrep_desync = FALSE;
+INSERT INTO t1 (f1) VALUES (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+INSERT INTO t1 (f1) VALUES (100);
+ERROR 23000: Duplicate entry '100' for key 'PRIMARY'
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_wsrep_log_conficts.result b/mysql-test/suite/galera/r/galera_wsrep_log_conficts.result
new file mode 100644
index 00000000000..b535c6477b7
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_wsrep_log_conficts.result
@@ -0,0 +1,18 @@
+CREATE TABLE t1 (
+f1 VARCHAR(255) PRIMARY KEY
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+INSERT INTO t1 VALUES ('abc');
+SELECT f1 = 'abc' FROM t1;
+f1 = 'abc'
+1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'klm';
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'xyz';
+COMMIT;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+include/assert_grep.inc [cluster conflict due to high priority abort for threads]
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_wsrep_new_cluster.result b/mysql-test/suite/galera/r/galera_wsrep_new_cluster.result
new file mode 100644
index 00000000000..e3f2fa4046f
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_wsrep_new_cluster.result
@@ -0,0 +1,36 @@
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index';
+VARIABLE_VALUE = 0
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+VARIABLE_VALUE = 4
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index';
+VARIABLE_VALUE = 0
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+VARIABLE_VALUE = 4
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
diff --git a/mysql-test/suite/galera/r/galera_wsrep_provider_options_syntax.result b/mysql-test/suite/galera/r/galera_wsrep_provider_options_syntax.result
new file mode 100644
index 00000000000..f19dc40205b
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_wsrep_provider_options_syntax.result
@@ -0,0 +1,5 @@
+call mtr.add_suppression("WSREP\: Unknown parameter 'gmcasts\.segment'");
+call mtr.add_suppression("WSREP\: Set options returned 7");
+SET GLOBAL wsrep_provider_options="gmcasts.segment=1";
+ERROR HY000: Incorrect arguments to SET
+Unhandled exceptions: 0
diff --git a/mysql-test/suite/galera/r/galera_wsrep_provider_unset_set.result b/mysql-test/suite/galera/r/galera_wsrep_provider_unset_set.result
new file mode 100644
index 00000000000..89110b48def
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_wsrep_provider_unset_set.result
@@ -0,0 +1,14 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider='none';
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+SET SESSION wsrep_sync_wait = 0;
+INSERT INTO t1 VALUES (4);
+SELECT COUNT(*) = 4 FROM t1;
+COUNT(*) = 4
+1
+SELECT COUNT(*) = 3 FROM t1;
+COUNT(*) = 3
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_zero_length_column.result b/mysql-test/suite/galera/r/galera_zero_length_column.result
new file mode 100644
index 00000000000..2e6119bd1ba
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_zero_length_column.result
@@ -0,0 +1,38 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY , f2 VARCHAR(0)) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 VARCHAR(0)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, NULL);
+INSERT INTO t1 VALUES (2, '');
+INSERT INTO t2 VALUES (NULL);
+INSERT INTO t2 VALUES ('');
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+SELECT f2 IS NULL FROM t1 WHERE f1 = 1;
+f2 IS NULL
+1
+SELECT f2 = '' FROM t1 WHERE f1 = 2;
+f2 = ''
+1
+SELECT COUNT(*) = 2 FROM t2;
+COUNT(*) = 2
+1
+SELECT f1 IS NULL FROM t2 WHERE f1 IS NULL;
+f1 IS NULL
+1
+SELECT f1 = '' FROM t2 WHERE f1 IS NOT NULL;
+f1 = ''
+1
+UPDATE t1 SET f2 = '' WHERE f1 = 1;
+UPDATE t1 SET f2 = NULL WHERE f1 = 2;
+UPDATE t2 SET f1 = '' WHERE f1 IS NULL;
+SELECT f2 = '' FROM t1 WHERE f1 = 1;
+f2 = ''
+1
+SELECT f2 IS NULL FROM t1 WHERE f1 = 2;
+f2 IS NULL
+1
+SELECT COUNT(*) = 2 FROM t2 WHERE f1 = '';
+COUNT(*) = 2
+1
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/grant.result b/mysql-test/suite/galera/r/grant.result
new file mode 100644
index 00000000000..8d257e7e8e2
--- /dev/null
+++ b/mysql-test/suite/galera/r/grant.result
@@ -0,0 +1,17 @@
+#
+# MDEV#6266: Changing password fails on galera cluster
+#
+
+# On node_1
+GRANT SELECT ON *.* TO 'user_6266'@'localhost' IDENTIFIED BY 'pass';
+
+# Now, try changing password for 'user_6266'. This command should also
+# execute successfully on the other node.
+SET PASSWORD FOR 'user_6266'@'localhost' = PASSWORD('newpass');
+
+# On node_2
+SELECT user FROM mysql.user WHERE user='user_6266';
+user
+user_6266
+DROP USER 'user_6266'@'localhost';
+# End of test
diff --git a/mysql-test/suite/galera/r/have_wsrep_replicate_myisam.require b/mysql-test/suite/galera/r/have_wsrep_replicate_myisam.require
new file mode 100644
index 00000000000..c55610fd049
--- /dev/null
+++ b/mysql-test/suite/galera/r/have_wsrep_replicate_myisam.require
@@ -0,0 +1,2 @@
+Variable_name Value
+wsrep_replicate_myisam ON
diff --git a/mysql-test/suite/galera/r/lp1276424.result b/mysql-test/suite/galera/r/lp1276424.result
new file mode 100644
index 00000000000..5f09ec9ea8b
--- /dev/null
+++ b/mysql-test/suite/galera/r/lp1276424.result
@@ -0,0 +1,11 @@
+CREATE TABLE t1 (f1 INT DEFAULT NULL, UNIQUE KEY i1 (f1)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t1 VALUES (NULL);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+SELECT f1 IS NULL FROM t1;
+f1 IS NULL
+1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/lp1347768.result b/mysql-test/suite/galera/r/lp1347768.result
new file mode 100644
index 00000000000..c085059e014
--- /dev/null
+++ b/mysql-test/suite/galera/r/lp1347768.result
@@ -0,0 +1,17 @@
+CREATE TABLE `r8kmb_redirect_links` (
+`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+`old_url` varchar(255) DEFAULT NULL,
+`new_url` varchar(255) NOT NULL,
+`referer` varchar(150) NOT NULL,
+`comment` varchar(255) NOT NULL,
+`published` tinyint(4) NOT NULL,
+`created_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+`modified_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+PRIMARY KEY (`id`),
+UNIQUE KEY `idx_link_old` (`old_url`),
+KEY `idx_link_modifed` (`modified_date`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+INSERT INTO r8kmb_redirect_links VALUES (550,'http://mysite.com/images/download/ßуñûічýøù_ôþóþòір_þфõÑ.doc','','','',0,'2013-07-15 14:29:42','0000-00-00 00:00:00');
+Warnings:
+Warning 1265 Data truncated for column 'old_url' at row 1
+DROP TABLE r8kmb_redirect_links;
diff --git a/mysql-test/suite/galera/r/lp1376747-2.result b/mysql-test/suite/galera/r/lp1376747-2.result
new file mode 100644
index 00000000000..0c91e10acd7
--- /dev/null
+++ b/mysql-test/suite/galera/r/lp1376747-2.result
@@ -0,0 +1,22 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+NAME
+test/t1
+FLUSH TABLES t1 FOR EXPORT;
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+INSERT INTO t1 VALUES (2,3);
+UNLOCK TABLES;
+### t1 should have column f2
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `f2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * from t1;
+id f2
+1 NULL
+2 3
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/lp1376747-3.result b/mysql-test/suite/galera/r/lp1376747-3.result
new file mode 100644
index 00000000000..fc982c94244
--- /dev/null
+++ b/mysql-test/suite/galera/r/lp1376747-3.result
@@ -0,0 +1,21 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+FLUSH TABLE WITH READ LOCK;
+### This shouldn't block.
+FLUSH TABLES t1 FOR EXPORT;
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+UNLOCK TABLES;
+### t1 should have column f2
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `f2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES (2,3);
+SELECT * from t1;
+id f2
+1 NULL
+2 3
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/lp1376747-4.result b/mysql-test/suite/galera/r/lp1376747-4.result
new file mode 100644
index 00000000000..e39b7171a5b
--- /dev/null
+++ b/mysql-test/suite/galera/r/lp1376747-4.result
@@ -0,0 +1,40 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET session wsrep_sync_wait=0;
+SET session wsrep_causal_reads=OFF;
+Warnings:
+Warning 1287 '@@wsrep_causal_reads' is deprecated and will be removed in a future release. Please use '@@wsrep_sync_wait=1' instead
+FLUSH TABLE WITH READ LOCK;
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+INSERT INTO t1 VALUES (2,3);
+SET session wsrep_sync_wait=0;
+SET session wsrep_causal_reads=OFF;
+Warnings:
+Warning 1287 '@@wsrep_causal_reads' is deprecated and will be removed in a future release. Please use '@@wsrep_sync_wait=1' instead
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+FLUSH TABLES t1 WITH READ LOCK;;
+UNLOCK TABLES;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+UNLOCK TABLES;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `f2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * from t1;
+id f2
+1 NULL
+2 3
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/lp1376747.result b/mysql-test/suite/galera/r/lp1376747.result
new file mode 100644
index 00000000000..ec6c4a6e6f4
--- /dev/null
+++ b/mysql-test/suite/galera/r/lp1376747.result
@@ -0,0 +1,22 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+NAME
+test/t1
+FLUSH TABLES t1 WITH READ LOCK;
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+INSERT INTO t1 VALUES (2,3);
+UNLOCK TABLES;
+### t1 should have column f2
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `f2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * from t1;
+id f2
+1 NULL
+2 3
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/lp1438990.result b/mysql-test/suite/galera/r/lp1438990.result
new file mode 100644
index 00000000000..b53bc186953
--- /dev/null
+++ b/mysql-test/suite/galera/r/lp1438990.result
@@ -0,0 +1,21 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t3 (f1 INTEGER PRIMARY KEY);
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW CALL p1(NEW.f1);
+CREATE PROCEDURE p1 (IN x INT)
+BEGIN
+DECLARE EXIT HANDLER FOR SQLEXCEPTION
+BEGIN
+ROLLBACK TO event_logging;
+INSERT t3 VALUES (x);
+END;
+SAVEPOINT event_logging;
+INSERT INTO t2 VALUES (x);
+RELEASE SAVEPOINT event_logging;
+END|
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+DROP PROCEDURE p1;
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
diff --git a/mysql-test/suite/galera/r/lp959512.result b/mysql-test/suite/galera/r/lp959512.result
new file mode 100644
index 00000000000..55adfa360b0
--- /dev/null
+++ b/mysql-test/suite/galera/r/lp959512.result
@@ -0,0 +1,24 @@
+DROP TABLE IF EXISTS variable;
+Warnings:
+Note 1051 Unknown table 'test.variable'
+DROP TABLE IF EXISTS foo;
+Warnings:
+Note 1051 Unknown table 'test.foo'
+CREATE TABLE variable (
+name varchar(128) NOT NULL DEFAULT '' COMMENT 'The name of the variable.',
+value longblob NOT NULL COMMENT 'The value of the variable.',
+PRIMARY KEY (name)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Named variable/value pairs created by Drupal core or any...';
+CREATE TABLE foo (a int);
+INSERT INTO variable (name, value) VALUES ('menu_expanded', 'a:0:{}');
+START TRANSACTION;
+SELECT 1 AS expression FROM variable variable
+WHERE ( (name = 'menu_expanded') ) FOR UPDATE;
+expression
+1
+UPDATE variable SET value='a:0:{}' WHERE ( (name = 'menu_expanded') );
+COMMIT;
+INSERT INTO foo VALUES (1);
+UPDATE foo SET a = 2 WHERE a = 1;
+DROP TABLE foo;
+DROP TABLE variable;
diff --git a/mysql-test/suite/galera/r/mdev_10518.result b/mysql-test/suite/galera/r/mdev_10518.result
new file mode 100644
index 00000000000..b2a3e0a65ef
--- /dev/null
+++ b/mysql-test/suite/galera/r/mdev_10518.result
@@ -0,0 +1,74 @@
+# On node_1
+list of GTID variables :
+gtid_domain_id 1
+gtid_binlog_pos
+gtid_binlog_state
+gtid_current_pos
+gtid_slave_pos
+wsrep_gtid_domain_id 4294967295
+wsrep_gtid_mode 1
+# On node_2
+list of GTID variables :
+gtid_domain_id 2
+gtid_binlog_pos
+gtid_binlog_state
+gtid_current_pos
+gtid_slave_pos
+wsrep_gtid_domain_id 4294967295
+wsrep_gtid_mode 1
+# On node_1
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+CREATE TABLE t2(i INT) ENGINE=MEMORY;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+i
+1
+SELECT * FROM t2;
+i
+list of GTID variables :
+gtid_domain_id 1
+gtid_binlog_pos 4294967295-1-3
+gtid_binlog_state 4294967295-1-3
+gtid_current_pos 4294967295-1-3
+gtid_slave_pos
+wsrep_gtid_domain_id 4294967295
+wsrep_gtid_mode 1
+# On node_2
+SELECT * FROM t1;
+i
+1
+list of GTID variables :
+gtid_domain_id 2
+gtid_binlog_pos 4294967295-1-3
+gtid_binlog_state 4294967295-1-3
+gtid_current_pos
+gtid_slave_pos
+wsrep_gtid_domain_id 4294967295
+wsrep_gtid_mode 1
+# On node_1
+INSERT INTO t2 VALUES(1);
+SELECT * FROM t2;
+i
+1
+list of GTID variables :
+gtid_domain_id 1
+gtid_binlog_pos 1-1-1,4294967295-1-3
+gtid_binlog_state 1-1-1,4294967295-1-3
+gtid_current_pos 1-1-1,4294967295-1-3
+gtid_slave_pos
+wsrep_gtid_domain_id 4294967295
+wsrep_gtid_mode 1
+# On node_2
+SELECT * FROM t2;
+i
+list of GTID variables :
+gtid_domain_id 2
+gtid_binlog_pos 4294967295-1-3
+gtid_binlog_state 4294967295-1-3
+gtid_current_pos
+gtid_slave_pos
+wsrep_gtid_domain_id 4294967295
+wsrep_gtid_mode 1
+# On node_1
+DROP TABLE t1, t2;
+# End of test
diff --git a/mysql-test/suite/galera/r/mdev_9290.result b/mysql-test/suite/galera/r/mdev_9290.result
new file mode 100644
index 00000000000..cb2f0813333
--- /dev/null
+++ b/mysql-test/suite/galera/r/mdev_9290.result
@@ -0,0 +1,14 @@
+#
+# MDEV-9290 : InnoDB: Assertion failure in file trx0sys.cc line 353
+# InnoDB: Failing assertion: xid_seqno > trx_sys_cur_xid_seqno
+#
+CREATE TABLE t1 (i INT) ENGINE=InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+COMMIT;
+SELECT * FROM t1;
+i
+1
+2
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#110.result b/mysql-test/suite/galera/r/mysql-wsrep#110.result
new file mode 100644
index 00000000000..551c3666fb4
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#110.result
@@ -0,0 +1,38 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t3 (f1 INTEGER PRIMARY KEY);
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW CALL p1(NEW.f1);
+CREATE PROCEDURE p1 (IN x INT)
+BEGIN
+DECLARE EXIT HANDLER FOR SQLEXCEPTION
+BEGIN
+ROLLBACK TO event_logging;
+INSERT t3 VALUES (x);
+END;
+SAVEPOINT event_logging;
+INSERT INTO t2 VALUES (x);
+END|
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t3;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t2;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM t3;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP PROCEDURE p1;
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#198.result b/mysql-test/suite/galera/r/mysql-wsrep#198.result
new file mode 100644
index 00000000000..a278c492372
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#198.result
@@ -0,0 +1,21 @@
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
+SELECT 1 FROM DUAL;
+1
+1
+LOCK TABLE t2 WRITE;
+OPTIMIZE TABLE t1,t2;;
+REPAIR TABLE t1,t2;;
+SET SESSION wsrep_sync_wait = 0;
+INSERT INTO t2 VALUES (1);
+UNLOCK TABLES;
+Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize status OK
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t2 optimize status OK
+Table Op Msg_type Msg_text
+test.t1 repair note The storage engine for the table doesn't support repair
+test.t2 repair note The storage engine for the table doesn't support repair
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#201.result b/mysql-test/suite/galera/r/mysql-wsrep#201.result
new file mode 100644
index 00000000000..34d184d8ec1
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#201.result
@@ -0,0 +1,3 @@
+CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (DEFAULT);
+SET GLOBAL query_cache_size=1355776;
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#237.result b/mysql-test/suite/galera/r/mysql-wsrep#237.result
new file mode 100644
index 00000000000..1889a8feca0
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#237.result
@@ -0,0 +1,11 @@
+CREATE TABLE t (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+SET DEBUG_SYNC = 'wsrep_before_replication WAIT_FOR continue';
+INSERT INTO t values (1);;
+SET SESSION wsrep_sync_wait = 0;
+FLUSH TABLES;
+SELECT SLEEP(1);
+SLEEP(1)
+0
+SET DEBUG_SYNC= 'now SIGNAL continue';
+DROP TABLE t;
+SET DEBUG_SYNC= 'RESET';
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#247.result b/mysql-test/suite/galera/r/mysql-wsrep#247.result
new file mode 100644
index 00000000000..1b00f511f03
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#247.result
@@ -0,0 +1,11 @@
+SET GLOBAL wsrep_desync=1;
+SET wsrep_OSU_method=RSU;
+CREATE TABLE t1 (i int primary key);
+SHOW VARIABLES LIKE 'wsrep_desync';
+Variable_name Value
+wsrep_desync ON
+SET GLOBAL wsrep_desync=0;
+DROP TABLE t1;
+SHOW VARIABLES LIKE 'wsrep_desync';
+Variable_name Value
+wsrep_desync OFF
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#31.result b/mysql-test/suite/galera/r/mysql-wsrep#31.result
new file mode 100644
index 00000000000..a21bb3eccfd
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#31.result
@@ -0,0 +1,10 @@
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES('test');
+CREATE DATABASE db;
+Shutting down server 2 ...
+Recovering server 2 ...
+Performing --wsrep-recover ...
+Restarting server ...
+Using --wsrep-start-position when starting mysqld ...
+DROP TABLE t1;
+DROP DATABASE db;
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#33.result b/mysql-test/suite/galera/r/mysql-wsrep#33.result
new file mode 100644
index 00000000000..3e8cfdb42d3
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#33.result
@@ -0,0 +1,105 @@
+Setting SST method to mysqldump ...
+call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to '127.0.0.1'");
+call mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
+CREATE USER 'sst';
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+SET GLOBAL wsrep_sst_auth = 'sst:';
+SET GLOBAL wsrep_sst_method = 'mysqldump';
+Performing State Transfer on a server that has been temporarily disconnected
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+Unloading wsrep provider ...
+SET GLOBAL wsrep_provider = 'none';
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+Loading wsrep provider ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+INSERT INTO t1 VALUES ('node2_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+INSERT INTO t1 VALUES ('node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+INSERT INTO t1 VALUES ('node1_committed_after');
+COMMIT;
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
+ROLLBACK;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+SET AUTOCOMMIT=ON;
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+DROP USER sst;
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found");
+CALL mtr.add_suppression("InnoDB: New log files created");
+CALL mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+CALL mtr.add_suppression("Can't open and lock time zone table");
+CALL mtr.add_suppression("Can't open and lock privilege tables");
+CALL mtr.add_suppression("Info table is not ready to be used");
+CALL mtr.add_suppression("Native table .* has the wrong structure");
+Restarting server ...
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#332.result b/mysql-test/suite/galera/r/mysql-wsrep#332.result
new file mode 100644
index 00000000000..8667f5e9c41
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#332.result
@@ -0,0 +1,111 @@
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER) ENGINE=INNODB;
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1);
+INSERT INTO c VALUES (2, 2);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE p SET f1 = f1 + 100;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+ALTER TABLE c ADD FOREIGN KEY (p_id) REFERENCES p(f1);
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p;
+f1 f2
+1 0
+2 0
+SELECT * FROM c;
+f1 p_id
+1 1
+2 2
+DROP TABLE c;
+DROP TABLE p;
+CREATE TABLE p1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE p2 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id1 INTEGER, p_id2 INTEGER) ENGINE=INNODB;
+INSERT INTO p1 VALUES (1, 0), (2, 0);
+INSERT INTO p2 VALUES (1, 0), (2, 0);
+INSERT INTO c VALUES (1, 1, 1);
+INSERT INTO c VALUES (2, 2, 2);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE p1 SET f1 = f1 + 100;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+ALTER TABLE c ADD FOREIGN KEY (p_id1) REFERENCES p1(f1), ADD FOREIGN KEY (p_id2) REFERENCES p2(f1);
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p1;
+f1 f2
+1 0
+2 0
+SELECT * FROM p2;
+f1 f2
+1 0
+2 0
+SELECT * FROM c;
+f1 p_id1 p_id2
+1 1 1
+2 2 2
+DROP TABLE c;
+DROP TABLE p1;
+DROP TABLE p2;
+CREATE TABLE p1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE p2 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id1 INTEGER, p_id2 INTEGER) ENGINE=INNODB;
+INSERT INTO p1 VALUES (1, 0), (2, 0);
+INSERT INTO p2 VALUES (1, 0), (2, 0);
+INSERT INTO c VALUES (1, 1, 1);
+INSERT INTO c VALUES (2, 2, 2);
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+UPDATE p2 SET f1 = f1 + 100;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
+ALTER TABLE c ADD FOREIGN KEY (p_id1) REFERENCES p1(f1), ADD FOREIGN KEY (p_id2) REFERENCES p2(f1);
+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_enter_sync';
+COMMIT;
+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_enter_sync';
+SET GLOBAL wsrep_provider_options = 'dbug=';
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SELECT * FROM p1;
+f1 f2
+1 0
+2 0
+SELECT * FROM p2;
+f1 f2
+1 0
+2 0
+SELECT * FROM c;
+f1 p_id1 p_id2
+1 1 1
+2 2 2
+DROP TABLE c;
+DROP TABLE p1;
+DROP TABLE p2;
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#90.result b/mysql-test/suite/galera/r/mysql-wsrep#90.result
new file mode 100644
index 00000000000..7ecaff7707e
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#90.result
@@ -0,0 +1,33 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+SET GLOBAL wsrep_OSU_method = "RSU";
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_OSU_method = "TOI";
+SET DEBUG_SYNC= 'now SIGNAL continue';
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+DROP TABLE t1;
+SET DEBUG_SYNC = 'RESET';
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+SET GLOBAL wsrep_OSU_method = "TOI";
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_OSU_method = "RSU";
+SET DEBUG_SYNC= 'now SIGNAL continue';
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+INSERT INTO t1 VALUES (1,2);
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+INSERT INTO t1 VALUES (3,4);
+DROP TABLE t1;
+SET GLOBAL WSREP_OSU_METHOD = TOI;
+SET DEBUG_SYNC = 'RESET';
diff --git a/mysql-test/suite/galera/r/partition.result b/mysql-test/suite/galera/r/partition.result
new file mode 100644
index 00000000000..6b0868aab3e
--- /dev/null
+++ b/mysql-test/suite/galera/r/partition.result
@@ -0,0 +1,140 @@
+#
+# MDEV#4953 Galera: DELETE from a partitioned table is not replicated
+#
+USE test;
+CREATE TABLE t1 (pk INT PRIMARY KEY, i INT) ENGINE=INNODB PARTITION BY HASH(pk) PARTITIONS 2;
+INSERT INTO t1 VALUES (1,100), (2,200);
+SELECT * FROM t1;
+pk i
+2 200
+1 100
+DELETE FROM t1;
+SELECT * FROM t1;
+pk i
+
+# On node_1
+SELECT * FROM t1;
+pk i
+
+# On node_2
+SELECT * FROM t1;
+pk i
+DROP TABLE t1;
+#
+# MDEV#7501 : alter table exchange partition is not replicated in
+# galera cluster
+#
+
+# On node_1
+CREATE TABLE test.t1 (
+i INT UNSIGNED NOT NULL AUTO_INCREMENT,
+PRIMARY KEY (i)
+) ENGINE=INNODB
+PARTITION BY RANGE (i)
+(PARTITION p1 VALUES LESS THAN (10) ENGINE = INNODB,
+PARTITION p2 VALUES LESS THAN (20) ENGINE = INNODB,
+PARTITION pMax VALUES LESS THAN MAXVALUE ENGINE = INNODB);
+INSERT INTO test.t1 (i) VALUE (9),(19);
+CREATE TABLE test.p1 LIKE test.t1;
+ALTER TABLE test.p1 REMOVE PARTITIONING;
+ALTER TABLE test.t1 EXCHANGE PARTITION p1 WITH TABLE test.p1;
+SELECT * FROM test.t1;
+i
+19
+SELECT * FROM test.p1;
+i
+9
+
+# On node_2
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`i`)
+) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (i)
+(PARTITION p1 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p2 VALUES LESS THAN (20) ENGINE = InnoDB,
+ PARTITION pMax VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SHOW CREATE TABLE p1;
+Table Create Table
+p1 CREATE TABLE `p1` (
+ `i` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`i`)
+) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1
+SELECT * FROM test.t1;
+i
+19
+SELECT * FROM test.p1;
+i
+9
+
+# On node_1
+ALTER TABLE t1 TRUNCATE PARTITION p2;
+SELECT * FROM test.t1;
+i
+
+# On node_2
+SELECT * FROM test.t1;
+i
+
+# On node_1
+ALTER TABLE t1 DROP PARTITION p2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (i)
+(PARTITION p1 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION pMax VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+
+# On node_2
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (i)
+(PARTITION p1 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION pMax VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+DROP TABLE t1, p1;
+#
+# MDEV-5146: Bulk loads into partitioned table not working
+#
+# Case 1: wsrep_load_data_splitting = ON & LOAD DATA with 20002
+# entries.
+SET GLOBAL wsrep_load_data_splitting = ON;
+CREATE TABLE t1 (pk INT PRIMARY KEY)
+ENGINE=INNODB PARTITION BY HASH(pk) PARTITIONS 2;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+20002
+wsrep_last_committed_diff
+1
+DROP TABLE t1;
+# Case 2: wsrep_load_data_splitting = ON & LOAD DATA with 101 entries.
+SET GLOBAL wsrep_load_data_splitting = ON;
+CREATE TABLE t1 (pk INT PRIMARY KEY)
+ENGINE=INNODB PARTITION BY HASH(pk) PARTITIONS 2;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+101
+wsrep_last_committed_diff
+1
+DROP TABLE t1;
+# Case 3: wsrep_load_data_splitting = OFF & LOAD DATA with 20002
+# entries.
+SET GLOBAL wsrep_load_data_splitting = OFF;
+CREATE TABLE t1 (pk INT PRIMARY KEY)
+ENGINE=INNODB PARTITION BY HASH(pk) PARTITIONS 2;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+20002
+wsrep_last_committed_diff
+1
+DROP TABLE t1;
+SET GLOBAL wsrep_load_data_splitting = 1;;
+# End of test
diff --git a/mysql-test/suite/galera/r/pxc-421.result b/mysql-test/suite/galera/r/pxc-421.result
new file mode 100644
index 00000000000..1822201f338
--- /dev/null
+++ b/mysql-test/suite/galera/r/pxc-421.result
@@ -0,0 +1,35 @@
+set GLOBAL wsrep_slave_threads=26;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 (f1) SELECT * from t1 as x1;
+set GLOBAL wsrep_slave_threads=16;
+SET GLOBAL wsrep_provider='none';
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+set GLOBAL wsrep_slave_threads=5;
+SELECT COUNT(*) = 5 FROM t1;
+COUNT(*) = 5
+1
+set GLOBAL wsrep_slave_threads=12;
+SELECT COUNT(*) = 4 FROM t1;
+COUNT(*) = 4
+1
+INSERT INTO t1 VALUES (100), (101), (102);
+set GLOBAL wsrep_slave_threads=5;
+INSERT INTO t1 (f1) SELECT * from t1 as x1;
+show global variables like 'wsrep_slave_threads';
+Variable_name Value
+wsrep_slave_threads 5
+SET GLOBAL wsrep_slave_threads = 1;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+15
+show global variables like 'wsrep_slave_threads';
+Variable_name Value
+wsrep_slave_threads 12
+SET GLOBAL wsrep_slave_threads = 1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/query_cache.result b/mysql-test/suite/galera/r/query_cache.result
new file mode 100644
index 00000000000..e9c539f31aa
--- /dev/null
+++ b/mysql-test/suite/galera/r/query_cache.result
@@ -0,0 +1,1614 @@
+
+# Execute FLUSH/RESET commands.
+# On node-1
+SET @query_cache_size_saved=@@GLOBAL.query_cache_size;
+SET @query_cache_type_saved=@@GLOBAL.query_cache_type;
+set GLOBAL query_cache_size=1355776;
+flush query cache;
+reset query cache;
+flush status;
+# On node-2
+SET @query_cache_size_saved=@@GLOBAL.query_cache_size;
+SET @query_cache_type_saved=@@GLOBAL.query_cache_type;
+set GLOBAL query_cache_size=1355776;
+flush query cache;
+reset query cache;
+flush status;
+# On node-1
+create table t1 (a int not null) engine=innodb;
+insert into t1 values (1),(2),(3);
+select * from t1;
+a
+1
+2
+3
+select * from t1;
+a
+1
+2
+3
+select sql_no_cache * from t1;
+a
+1
+2
+3
+select length(now()) from t1;
+length(now())
+19
+19
+19
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_inserts";
+Variable_name Value
+Qcache_inserts 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-2
+select * from t1;
+a
+1
+2
+3
+select * from t1;
+a
+1
+2
+3
+select sql_no_cache * from t1;
+a
+1
+2
+3
+select length(now()) from t1;
+length(now())
+19
+19
+19
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_inserts";
+Variable_name Value
+Qcache_inserts 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-1
+delete from t1 where a=1;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-1
+select * from t1;
+a
+2
+3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-2
+select * from t1;
+a
+2
+3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-1
+update t1 set a=1 where a=3;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-1
+select * from t1;
+a
+2
+1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-2
+select * from t1;
+a
+2
+1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-1
+drop table t1;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+# On node-2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+
+# On node-1
+create table t1 (a int not null) ENGINE=MyISAM;
+insert into t1 values (1),(2),(3);
+create table t2 (a int not null) ENGINE=MyISAM;
+insert into t2 values (4),(5),(6);
+create table t3 (a int not null) engine=MERGE UNION=(t1,t2) INSERT_METHOD=FIRST;
+select * from t3;
+a
+1
+2
+3
+4
+5
+6
+select * from t3;
+a
+1
+2
+3
+4
+5
+6
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 2
+insert into t2 values (7);
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 2
+select * from t1;
+a
+1
+2
+3
+select * from t1;
+a
+1
+2
+3
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+insert into t3 values (8);
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+select * from t3;
+a
+1
+2
+3
+8
+4
+5
+6
+7
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+update t2 set a=9 where a=7;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+select * from t1;
+a
+1
+2
+3
+8
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+update t3 set a=10 where a=1;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+select * from t3;
+a
+10
+2
+3
+8
+4
+5
+6
+9
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+delete from t2 where a=9;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+select * from t1;
+a
+10
+2
+3
+8
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+delete from t3 where a=10;
+select * from t3;
+a
+2
+3
+8
+4
+5
+6
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+# On node-2
+select * from t3;
+a
+select * from t3;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_inserts";
+Variable_name Value
+Qcache_inserts 4
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 2
+drop table t1, t2, t3;
+# On node-1
+set query_cache_type=demand;
+create table t1 (a int not null) engine=innodb;
+insert into t1 values (1),(2),(3);
+select * from t1;
+a
+1
+2
+3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+select sql_cache * from t1 union select * from t1;
+a
+1
+2
+3
+set query_cache_type=2;
+select sql_cache * from t1 union select * from t1;
+a
+1
+2
+3
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 4
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+set query_cache_type=on;
+# On node-2
+set query_cache_type=demand;
+select * from t1;
+a
+1
+2
+3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 2
+select sql_cache * from t1 union select * from t1;
+a
+1
+2
+3
+set query_cache_type=2;
+select sql_cache * from t1 union select * from t1;
+a
+1
+2
+3
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+set query_cache_type=on;
+# On node-1
+select sql_no_cache * from t1;
+a
+1
+2
+3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 4
+# On node-2
+select sql_no_cache * from t1;
+a
+1
+2
+3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+drop table t1;
+# On node-1
+create table t1 (a text not null) engine=innodb;
+select CONNECTION_ID() from t1;
+CONNECTION_ID()
+select FOUND_ROWS();
+FOUND_ROWS()
+0
+select NOW() from t1;
+NOW()
+select CURDATE() from t1;
+CURDATE()
+select CURTIME() from t1;
+CURTIME()
+select DATABASE() from t1;
+DATABASE()
+select ENCRYPT("test") from t1;
+ENCRYPT("test")
+select LAST_INSERT_ID() from t1;
+LAST_INSERT_ID()
+select RAND() from t1;
+RAND()
+select UNIX_TIMESTAMP() from t1;
+UNIX_TIMESTAMP()
+select USER() from t1;
+USER()
+select CURRENT_USER() from t1;
+CURRENT_USER()
+select benchmark(1,1) from t1;
+benchmark(1,1)
+explain extended select benchmark(1,1) from t1;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 1 100.00
+Warnings:
+Note 1003 select benchmark(1,1) AS `benchmark(1,1)` from `test`.`t1`
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 4
+# On node-2
+select CONNECTION_ID() from t1;
+CONNECTION_ID()
+select FOUND_ROWS();
+FOUND_ROWS()
+0
+select NOW() from t1;
+NOW()
+select CURDATE() from t1;
+CURDATE()
+select CURTIME() from t1;
+CURTIME()
+select DATABASE() from t1;
+DATABASE()
+select ENCRYPT("test") from t1;
+ENCRYPT("test")
+select LAST_INSERT_ID() from t1;
+LAST_INSERT_ID()
+select RAND() from t1;
+RAND()
+select UNIX_TIMESTAMP() from t1;
+UNIX_TIMESTAMP()
+select USER() from t1;
+USER()
+select CURRENT_USER() from t1;
+CURRENT_USER()
+select benchmark(1,1) from t1;
+benchmark(1,1)
+explain extended select benchmark(1,1) from t1;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 1 100.00
+Warnings:
+Note 1003 select benchmark(1,1) AS `benchmark(1,1)` from `test`.`t1`
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+drop table t1;
+# On node-1
+create database mysqltest;
+create table mysqltest.t1 (i int not null auto_increment, a int, primary key
+(i)) engine=innodb;
+insert into mysqltest.t1 values (1, 1);
+select * from mysqltest.t1 where i is null;
+i a
+create table t1(a int) engine=innodb;
+select * from t1;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 4
+select * from mysqltest.t1;
+i a
+1 1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 3
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 4
+# On node-2
+select * from t1;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+select * from mysqltest.t1;
+i a
+1 1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+drop database mysqltest;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+drop table t1;
+# On node-1
+create table t1 (a char(1) not null collate koi8r_general_ci) engine=innodb;
+insert into t1 values(_koi8r"á");
+Warnings:
+Warning 1265 Data truncated for column 'a' at row 1
+set CHARACTER SET koi8r;
+select * from t1;
+a
+set CHARACTER SET cp1251_koi8;
+select * from t1;
+a
+set CHARACTER SET DEFAULT;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 4
+# On node-2
+set CHARACTER SET koi8r;
+select * from t1;
+a
+set CHARACTER SET cp1251_koi8;
+select * from t1;
+a
+set CHARACTER SET DEFAULT;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+drop table t1;
+# On node-1
+create database if not exists mysqltest;
+create table mysqltest.t1 (i int not null) engine=innodb;
+create table t1 (i int not null) engine=innodb;
+insert into mysqltest.t1 (i) values (1);
+insert into t1 (i) values (2);
+select * from t1;
+i
+2
+use mysqltest;
+select * from t1;
+i
+1
+select * from t1;
+i
+1
+use test;
+select * from t1;
+i
+2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 6
+# On node-2
+select * from t1;
+i
+2
+use mysqltest;
+select * from t1;
+i
+1
+select * from t1;
+i
+1
+use test;
+select * from t1;
+i
+2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 5
+drop database mysqltest;
+drop table t1;
+# On node-1
+create table t1 (i int not null) engine=innodb;
+insert into t1 (i) values (1),(2),(3),(4);
+select SQL_CALC_FOUND_ROWS * from t1 limit 2;
+i
+1
+2
+select FOUND_ROWS();
+FOUND_ROWS()
+4
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 6
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+select * from t1 where i=1;
+i
+1
+select FOUND_ROWS();
+FOUND_ROWS()
+1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 6
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+select SQL_CALC_FOUND_ROWS * from t1 limit 2;
+i
+1
+2
+select FOUND_ROWS();
+FOUND_ROWS()
+4
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 7
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+select * from t1 where i=1;
+i
+1
+select FOUND_ROWS();
+FOUND_ROWS()
+1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 8
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+# On node-2
+select SQL_CALC_FOUND_ROWS * from t1 limit 2;
+i
+1
+2
+select FOUND_ROWS();
+FOUND_ROWS()
+4
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 5
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+select * from t1 where i=1;
+i
+1
+select FOUND_ROWS();
+FOUND_ROWS()
+1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 5
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+select SQL_CALC_FOUND_ROWS * from t1 limit 2;
+i
+1
+2
+select FOUND_ROWS();
+FOUND_ROWS()
+4
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 6
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+select * from t1 where i=1;
+i
+1
+select FOUND_ROWS();
+FOUND_ROWS()
+1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 7
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+drop table t1;
+# On node-2
+flush query cache;
+reset query cache;
+# On node-1
+flush query cache;
+reset query cache;
+create table t1 (a int not null) ENGINE=MYISAM;
+insert into t1 values (1),(2),(3);
+select * from t1;
+a
+1
+2
+3
+select * from t1;
+a
+1
+2
+3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 9
+insert delayed into t1 values (4);
+select a from t1;
+a
+1
+2
+3
+4
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 9
+# On node-2
+select * from t1;
+a
+select * from t1;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 8
+insert delayed into t1 values (4);
+select a from t1;
+a
+4
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 8
+drop table t1;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 8
+# On node-1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 9
+# On node-2
+show global variables like "query_cache_min_res_unit";
+Variable_name Value
+query_cache_min_res_unit 4096
+set GLOBAL query_cache_min_res_unit=1001;
+Warnings:
+Warning 1292 Truncated incorrect query_cache_min_res_unit value: '1001'
+show global variables like "query_cache_min_res_unit";
+Variable_name Value
+query_cache_min_res_unit 1000
+# On node-1
+show global variables like "query_cache_min_res_unit";
+Variable_name Value
+query_cache_min_res_unit 4096
+set GLOBAL query_cache_min_res_unit=1001;
+Warnings:
+Warning 1292 Truncated incorrect query_cache_min_res_unit value: '1001'
+show global variables like "query_cache_min_res_unit";
+Variable_name Value
+query_cache_min_res_unit 1000
+create table t1 (a int not null) engine=innodb;
+insert into t1 values (1),(2),(3);
+create table t2 (a int not null) engine=innodb;
+insert into t2 values (1),(2),(3);
+select * from t1;
+a
+1
+2
+3
+select * from t1;
+a
+1
+2
+3
+select * from t2;
+a
+1
+2
+3
+select * from t2;
+a
+1
+2
+3
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+# On node-2
+select * from t1;
+a
+1
+2
+3
+select * from t1;
+a
+1
+2
+3
+select * from t2;
+a
+1
+2
+3
+select * from t2;
+a
+1
+2
+3
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 10
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+drop table t1;
+select a from t2;
+a
+1
+2
+3
+select a from t2;
+a
+1
+2
+3
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+set GLOBAL query_cache_min_res_unit=default;
+show global variables like "query_cache_min_res_unit";
+Variable_name Value
+query_cache_min_res_unit 4096
+# On node-1
+select a from t2;
+a
+1
+2
+3
+select a from t2;
+a
+1
+2
+3
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+drop table t2;
+set GLOBAL query_cache_min_res_unit=default;
+show global variables like "query_cache_min_res_unit";
+Variable_name Value
+query_cache_min_res_unit 4096
+# On node-1
+create table t1 (a int not null) engine=innodb;
+insert into t1 values (1);
+select "aaa" from t1;
+aaa
+aaa
+select "AAA" from t1;
+AAA
+AAA
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+# On node-2
+select "aaa" from t1;
+aaa
+aaa
+select "AAA" from t1;
+AAA
+AAA
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+drop table t1;
+# On node-1
+create table t1 (a int) engine=innodb;
+set GLOBAL query_cache_size=1000;
+Warnings:
+Warning 1292 Truncated incorrect query_cache_size value: '1000'
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=1024;
+Warnings:
+Warning 1282 Query cache failed to set size 1024; new query cache size is 0
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=10240;
+Warnings:
+Warning 1282 Query cache failed to set size 10240; new query cache size is 0
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=20480;
+Warnings:
+Warning 1282 Query cache failed to set size 20480; new query cache size is 0
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=40960;
+Warnings:
+Warning 1282 Query cache failed to set size 40960; new query cache size is 0
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=51200;
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 51200
+select * from t1;
+a
+set GLOBAL query_cache_size=61440;
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 61440
+select * from t1;
+a
+set GLOBAL query_cache_size=81920;
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 81920
+select * from t1;
+a
+set GLOBAL query_cache_size=102400;
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 102400
+select * from t1;
+a
+# On node-2
+set GLOBAL query_cache_size=1000;
+Warnings:
+Warning 1292 Truncated incorrect query_cache_size value: '1000'
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=1024;
+Warnings:
+Warning 1282 Query cache failed to set size 1024; new query cache size is 0
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=10240;
+Warnings:
+Warning 1282 Query cache failed to set size 10240; new query cache size is 0
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=20480;
+Warnings:
+Warning 1282 Query cache failed to set size 20480; new query cache size is 0
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=40960;
+Warnings:
+Warning 1282 Query cache failed to set size 40960; new query cache size is 0
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 0
+select * from t1;
+a
+set GLOBAL query_cache_size=51200;
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 51200
+select * from t1;
+a
+set GLOBAL query_cache_size=61440;
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 61440
+select * from t1;
+a
+set GLOBAL query_cache_size=81920;
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 81920
+select * from t1;
+a
+set GLOBAL query_cache_size=102400;
+show global variables like "query_cache_size";
+Variable_name Value
+query_cache_size 102400
+select * from t1;
+a
+drop table t1;
+# On node-1
+set GLOBAL query_cache_size=1048576;
+create table t1 (i int not null) engine=innodb;
+create table t2 (i int not null) engine=innodb;
+select * from t1;
+i
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+create temporary table t3 (i int not null);
+select * from t2;
+i
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+select * from t3;
+i
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+update t1 set i=(select distinct 1 from (select * from t2) a);
+drop table t3;
+# On node-2
+set GLOBAL query_cache_size=1048576;
+select * from t1;
+i
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+select * from t2;
+i
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+drop table t1, t2;
+# On node-1
+use mysql;
+select * from db;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+use test;
+select * from mysql.db;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+# On node-1
+create table t1(id int auto_increment primary key) engine=innodb;
+insert into t1 values (1), (2), (3);
+select * from t1;
+id
+1
+2
+3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+# On node-2
+select * from t1;
+id
+1
+2
+3
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+# On node-1
+alter table t1 rename to t2;
+select * from t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+# On node-2
+select * from t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+drop table t2;
+# On node-1
+create table t1 (word char(20) not null) engine=innodb;
+select * from t1;
+word
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+load data infile 'MYSQLTEST_VARDIR/std_data/words.dat' into table t1;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+# On node-2
+select count(*) from t1;
+count(*)
+70
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+load data infile 'MYSQLTEST_VARDIR/std_data/words.dat' into table t1;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+select count(*) from t1;
+count(*)
+140
+drop table t1;
+# On node-1
+create table t1 (a int) engine=innodb;
+insert into t1 values (1),(2),(3);
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+select * from t1 into outfile "query_cache.out.file";
+select * from t1 into outfile "query_cache.out.file";
+ERROR HY000: File 'query_cache.out.file' already exists
+select * from t1 limit 1 into dumpfile "query_cache.dump.file";
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+drop table t1;
+# On node-1
+create table t1 (a int) engine=innodb;
+insert into t1 values (1),(2);
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+select * from t1;
+a
+1
+2
+SET SQL_SELECT_LIMIT=1;
+select * from t1;
+a
+1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+SET SQL_SELECT_LIMIT=DEFAULT;
+# On node-2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+select * from t1;
+a
+1
+2
+SET SQL_SELECT_LIMIT=1;
+select * from t1;
+a
+1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+SET SQL_SELECT_LIMIT=DEFAULT;
+drop table t1;
+# On node-1
+create table t1 (a int not null) engine=innodb;
+create table t2 (a int not null) engine=innodb;
+set query_cache_wlock_invalidate=1;
+create view v1 as select * from t1;
+select * from t1;
+a
+select * from t2;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+lock table t1 write, t2 read;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+unlock table;
+select * from t1;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+lock table v1 write;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+unlock table;
+drop view v1;
+set query_cache_wlock_invalidate=default;
+# On node-2
+set query_cache_wlock_invalidate=1;
+create view v1 as select * from t1;
+select * from t1;
+a
+select * from t2;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+lock table t1 write, t2 read;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+unlock table;
+select * from t1;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+lock table v1 write;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+unlock table;
+drop view v1;
+set query_cache_wlock_invalidate=default;
+drop table t1,t2;
+# On node-1
+create table t1 (id int primary key) engine=innodb;
+insert into t1 values (1),(2),(3);
+select * from t1;
+id
+1
+2
+3
+create temporary table t1 (a int not null auto_increment primary key);
+select * from t1;
+a
+drop table t1;
+drop table t1;
+# On node-1
+SET NAMES koi8r;
+CREATE TABLE t1 (a char(1) character set koi8r) engine=innodb;
+INSERT INTO t1 VALUES (_koi8r'á'),(_koi8r'Ã');
+Warnings:
+Warning 1265 Data truncated for column 'a' at row 1
+Warning 1265 Data truncated for column 'a' at row 2
+SELECT a,'Â','â'='Â' FROM t1;
+a  'â'='Â'
+à Â 0
+à Â 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+set collation_connection=koi8r_bin;
+SELECT a,'Â','â'='Â' FROM t1;
+a  'â'='Â'
+à Â 0
+à Â 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+set character_set_client=cp1251;
+SELECT a,'Â','â'='Â' FROM t1;
+a ç? 'ç?'='ç?'
+Ã ç? 1
+Ã ç? 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 3
+set character_set_results=cp1251;
+SELECT a,'Â','â'='Â' FROM t1;
+a � 'â'='Â'
+ö Ã? 1
+ö Ã? 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 4
+SET NAMES default;
+# On node-2
+SELECT a,'Â','â'='Â' FROM t1;
+a  'â'='Â'
+? Â 0
+? Â 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+set collation_connection=koi8r_bin;
+SELECT a,'Â','â'='Â' FROM t1;
+a ?? 'â'='Â'
+? ?? 1
+? ?? 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 2
+set character_set_client=cp1251;
+SELECT a,'Â','â'='Â' FROM t1;
+a ?? '??'='?‚'
+? ?? 1
+? ?? 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 3
+set character_set_results=cp1251;
+SELECT a,'Â','â'='Â' FROM t1;
+a � 'â'='Â'
+ö Ã? 1
+ö Ã? 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 4
+drop table t1;
+# On node-1
+create table t1 (a int) engine=innodb;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+/**/ select * from t1;
+a
+/**/ select * from t1;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 13
+# On node-2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 11
+/**/ select * from t1;
+a
+/**/ select * from t1;
+a
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 12
+drop table t1;
+# On node-1
+set session query_cache_type = 2;
+create table t1(a int) engine=innodb;
+select table_name from information_schema.tables
+where table_schema="test";
+table_name
+t1
+drop table t1;
+select table_name from information_schema.tables
+where table_schema="test";
+table_name
+set session query_cache_type = 1;
+set global query_cache_size=1024*1024;
+flush query cache;
+create table t1 ( a int ) engine=myisam;
+insert into t1 values (1);
+select a from t1;
+a
+1
+select a from t1;
+a
+1
+show status like 'qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 14
+repair table t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+show status like 'qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 14
+# On node-2
+select a from t1;
+a
+select a from t1;
+a
+show status like 'qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 13
+repair table t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+show status like 'qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 0
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 13
+drop table t1;
+# Restore original settings.
+# On node-1
+SET GLOBAL query_cache_size=@query_cache_size_saved;
+SET GLOBAL query_cache_type=@query_cache_type_saved;
+
+# On node-2
+SET GLOBAL query_cache_size=@query_cache_size_saved;
+SET GLOBAL query_cache_type=@query_cache_type_saved;
+# End of test
diff --git a/mysql-test/suite/galera/r/rename.result b/mysql-test/suite/galera/r/rename.result
new file mode 100644
index 00000000000..3c81e8b6320
--- /dev/null
+++ b/mysql-test/suite/galera/r/rename.result
@@ -0,0 +1,39 @@
+#
+# MDEV-8598 : Failed MySQL DDL commands and Galera replication
+#
+# On node 1
+USE test;
+DROP TABLE IF EXISTS t1, t2;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUE(1);
+SELECT * FROM t1;
+i
+1
+# Create a new user 'foo' with limited privileges
+CREATE USER foo@localhost;
+GRANT SELECT on test.* TO foo@localhost;
+# Open connection to the 1st node using 'test_user1' user.
+SELECT * FROM t1;
+i
+1
+# Following RENAME should not replicate to other node.
+RENAME TABLE t1 TO t2;
+ERROR 42000: DROP, ALTER command denied to user 'foo'@'localhost' for table 't1'
+# On node 2
+USE test;
+SELECT * FROM t1;
+i
+1
+# On node_1
+RENAME TABLE t1 TO t2;
+SHOW TABLES;
+Tables_in_test
+t2
+# On node 2
+USE test;
+SELECT * FROM t2;
+i
+1
+DROP USER foo@localhost;
+DROP TABLE t2;
+# End of tests
diff --git a/mysql-test/suite/galera/r/rpl_row_annotate.result b/mysql-test/suite/galera/r/rpl_row_annotate.result
new file mode 100644
index 00000000000..ff8d49702ac
--- /dev/null
+++ b/mysql-test/suite/galera/r/rpl_row_annotate.result
@@ -0,0 +1,66 @@
+# On node_2
+RESET MASTER;
+# On node_1
+RESET MASTER;
+CREATE TABLE t1(i INT)ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+DELETE FROM t1 WHERE i = 1;
+# On node_2
+INSERT INTO t1 VALUES(2);
+DELETE FROM t1 WHERE i = 2;
+# On node_1
+SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM <start_pos>;
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-bin.000001 # Gtid_list 1 # []
+mysqld-bin.000001 # Binlog_checkpoint 1 # mysqld-bin.000001
+mysqld-bin.000001 # Gtid 1 # GTID 0-1-1
+mysqld-bin.000001 # Query 1 # use `test`; CREATE TABLE t1(i INT)ENGINE=INNODB
+mysqld-bin.000001 # Gtid 1 # BEGIN GTID 0-1-2
+mysqld-bin.000001 # Annotate_rows 1 # INSERT INTO t1 VALUES(1)
+mysqld-bin.000001 # Table_map 1 # table_id: # (test.t1)
+mysqld-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+mysqld-bin.000001 # Xid 1 # COMMIT /* xid= */
+mysqld-bin.000001 # Gtid 1 # BEGIN GTID 0-1-3
+mysqld-bin.000001 # Annotate_rows 1 # DELETE FROM t1 WHERE i = 1
+mysqld-bin.000001 # Table_map 1 # table_id: # (test.t1)
+mysqld-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
+mysqld-bin.000001 # Xid 1 # COMMIT /* xid= */
+mysqld-bin.000001 # Gtid 2 # BEGIN GTID 0-2-4
+mysqld-bin.000001 # Annotate_rows 2 # INSERT INTO t1 VALUES(2)
+mysqld-bin.000001 # Table_map 2 # table_id: # (test.t1)
+mysqld-bin.000001 # Write_rows_v1 2 # table_id: # flags: STMT_END_F
+mysqld-bin.000001 # Xid 2 # COMMIT /* xid= */
+mysqld-bin.000001 # Gtid 2 # BEGIN GTID 0-2-5
+mysqld-bin.000001 # Annotate_rows 2 # DELETE FROM t1 WHERE i = 2
+mysqld-bin.000001 # Table_map 2 # table_id: # (test.t1)
+mysqld-bin.000001 # Delete_rows_v1 2 # table_id: # flags: STMT_END_F
+mysqld-bin.000001 # Xid 2 # COMMIT /* xid= */
+# On node_2
+SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM <start_pos>;
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-bin.000001 # Gtid_list 2 # []
+mysqld-bin.000001 # Binlog_checkpoint 2 # mysqld-bin.000001
+mysqld-bin.000001 # Gtid 1 # GTID 0-1-1
+mysqld-bin.000001 # Query 1 # use `test`; CREATE TABLE t1(i INT)ENGINE=INNODB
+mysqld-bin.000001 # Gtid 1 # BEGIN GTID 0-1-2
+mysqld-bin.000001 # Annotate_rows 1 # INSERT INTO t1 VALUES(1)
+mysqld-bin.000001 # Table_map 1 # table_id: # (test.t1)
+mysqld-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+mysqld-bin.000001 # Xid 1 # COMMIT /* xid= */
+mysqld-bin.000001 # Gtid 1 # BEGIN GTID 0-1-3
+mysqld-bin.000001 # Annotate_rows 1 # DELETE FROM t1 WHERE i = 1
+mysqld-bin.000001 # Table_map 1 # table_id: # (test.t1)
+mysqld-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
+mysqld-bin.000001 # Xid 1 # COMMIT /* xid= */
+mysqld-bin.000001 # Gtid 2 # BEGIN GTID 0-2-4
+mysqld-bin.000001 # Annotate_rows 2 # INSERT INTO t1 VALUES(2)
+mysqld-bin.000001 # Table_map 2 # table_id: # (test.t1)
+mysqld-bin.000001 # Write_rows_v1 2 # table_id: # flags: STMT_END_F
+mysqld-bin.000001 # Xid 2 # COMMIT /* xid= */
+mysqld-bin.000001 # Gtid 2 # BEGIN GTID 0-2-5
+mysqld-bin.000001 # Annotate_rows 2 # DELETE FROM t1 WHERE i = 2
+mysqld-bin.000001 # Table_map 2 # table_id: # (test.t1)
+mysqld-bin.000001 # Delete_rows_v1 2 # table_id: # flags: STMT_END_F
+mysqld-bin.000001 # Xid 2 # COMMIT /* xid= */
+DROP TABLE t1;
+# End of test
diff --git a/mysql-test/suite/galera/r/sql_log_bin.result b/mysql-test/suite/galera/r/sql_log_bin.result
new file mode 100644
index 00000000000..a2ebafe5231
--- /dev/null
+++ b/mysql-test/suite/galera/r/sql_log_bin.result
@@ -0,0 +1,53 @@
+
+# On node_1
+USE test;
+CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1);
+# Disable binary logging for current session
+SET SQL_LOG_BIN=OFF;
+INSERT INTO t1 VALUES (2);
+FLUSH BINARY LOGS;
+CREATE TABLE t2(c1 INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t2 VALUES (1);
+CREATE TABLE test.t3 AS SELECT * from t1;
+# Enable binary logging for current session
+SET SQL_LOG_BIN=ON;
+INSERT INTO t2 VALUES (2);
+CREATE TABLE t4 AS SELECT * from t2;
+SELECT * FROM t1;
+c1
+1
+2
+SELECT * FROM t2;
+c1
+1
+2
+SELECT * FROM t3;
+c1
+1
+2
+SELECT * FROM t4;
+c1
+1
+2
+
+# On node_2
+USE test;
+SELECT * FROM t1;
+c1
+1
+2
+SELECT * FROM t2;
+c1
+1
+2
+SELECT * FROM t3;
+c1
+1
+2
+SELECT * FROM t4;
+c1
+1
+2
+DROP TABLE t1, t2, t3, t4;
+# End of test
diff --git a/mysql-test/suite/galera/r/unique_key.result b/mysql-test/suite/galera/r/unique_key.result
new file mode 100644
index 00000000000..ffb4f01c1f8
--- /dev/null
+++ b/mysql-test/suite/galera/r/unique_key.result
@@ -0,0 +1,47 @@
+#
+# MDEV#5552 Deadlock when inserting NULL column value in column with
+# UNIQUE index
+#
+USE test;
+
+# On node_1
+CREATE TABLE t1(c1 INT DEFAULT NULL, UNIQUE KEY c1(c1)) ENGINE=INNODB;
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t1 VALUES (NULL);
+SELECT * FROM test.t1;
+c1
+NULL
+NULL
+
+# On node_2
+SELECT * FROM test.t1;
+c1
+NULL
+NULL
+
+# On node_1
+INSERT INTO t1 VALUES (1);
+UPDATE t1 SET c1=NULL WHERE c1=1;
+SELECT * FROM test.t1;
+c1
+NULL
+NULL
+NULL
+
+# On node_2
+SELECT * FROM test.t1;
+c1
+NULL
+NULL
+NULL
+
+# On node_1
+DELETE FROM t1 WHERE c1<=>NULL;
+SELECT * FROM test.t1;
+c1
+
+# On node_2
+SELECT * FROM test.t1;
+c1
+DROP TABLE t1;
+# End of test
diff --git a/mysql-test/suite/galera/r/view.result b/mysql-test/suite/galera/r/view.result
new file mode 100644
index 00000000000..06d7bf072e8
--- /dev/null
+++ b/mysql-test/suite/galera/r/view.result
@@ -0,0 +1,52 @@
+#
+# MDEV-7222: Cluster Node Crash at CREATE DEFINER statement
+#
+USE test;
+CREATE DEFINER=CURRENT_USER VIEW v1 AS SELECT 1;
+DROP VIEW v1;
+#
+# MDEV-8464 : ALTER VIEW not replicated in some cases
+#
+# On node_1
+USE test;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+CREATE DEFINER=CURRENT_USER VIEW v1 AS SELECT * FROM t1;
+CREATE ALGORITHM=MERGE VIEW v2 AS SELECT * FROM t1;
+CREATE ALGORITHM=TEMPTABLE VIEW v3 AS SELECT * FROM t1;
+CREATE ALGORITHM=UNDEFINED DEFINER=CURRENT_USER VIEW v4 AS SELECT * FROM t1;
+# On node_2
+USE test;
+SHOW CREATE VIEW v1;
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
+SHOW CREATE VIEW v2;
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
+SHOW CREATE VIEW v3;
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
+SHOW CREATE VIEW v4;
+View Create View character_set_client collation_connection
+v4 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v4` AS select `t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
+# On node_1
+ALTER ALGORITHM=MERGE VIEW v1 AS SELECT * FROM t1;
+ALTER ALGORITHM=UNDEFINED VIEW v2 AS SELECT * FROM t1;
+ALTER DEFINER=CURRENT_USER VIEW v3 AS SELECT * FROM t1;
+ALTER ALGORITHM=TEMPTABLE DEFINER=CURRENT_USER VIEW v4 AS SELECT * FROM t1;
+# On node_2
+SHOW CREATE VIEW v1;
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
+SHOW CREATE VIEW v2;
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
+SHOW CREATE VIEW v3;
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
+SHOW CREATE VIEW v4;
+View Create View character_set_client collation_connection
+v4 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v4` AS select `t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
+# Cleanup
+DROP VIEW v1, v2, v3, v4;
+DROP TABLE t1;
+# End of tests
diff --git a/mysql-test/suite/galera/suite.pm b/mysql-test/suite/galera/suite.pm
new file mode 100644
index 00000000000..6e53e6e2e31
--- /dev/null
+++ b/mysql-test/suite/galera/suite.pm
@@ -0,0 +1,115 @@
+package My::Suite::Galera;
+use File::Basename;
+use My::Find;
+
+@ISA = qw(My::Suite);
+
+return "Not run for embedded server" if $::opt_embedded_server;
+
+return "WSREP is not compiled in" unless defined $::mysqld_variables{'wsrep-on'};
+
+my ($provider) = grep { -f $_ } $ENV{WSREP_PROVIDER},
+ "/usr/lib/galera/libgalera_smm.so",
+ "/usr/lib64/galera/libgalera_smm.so";
+
+return "No wsrep provider library" unless -f $provider;
+
+$ENV{WSREP_PROVIDER} = $provider;
+
+my ($spath) = grep { -f "$_/wsrep_sst_rsync"; } "$::bindir/scripts", $::path_client_bindir;
+return "No SST scripts" unless $spath;
+
+my ($cpath) = grep { -f "$_/mysql"; } "$::bindir/scripts", $::path_client_bindir;
+return "No scritps" unless $cpath;
+
+my ($epath) = grep { -f "$_/my_print_defaults"; } "$::bindir/extra", $::path_client_bindir;
+return "No my_print_defaults" unless $epath;
+
+my ($bpath) = grep { -f "$_/mariabackup"; } "$::bindir/extra/mariabackup", $::path_client_bindir;
+
+sub which($) { return `sh -c "command -v $_[0]"` }
+
+push @::global_suppressions,
+ (
+ qr(WSREP: wsrep_sst_receive_address is set to '127.0.0.1),
+ qr(WSREP: Could not open saved state file for reading: .*),
+ qr(WSREP: Could not open state file for reading: .*),
+ qr(WSREP: Gap in state sequence. Need state transfer.),
+ qr(WSREP: Failed to prepare for incremental state transfer:),
+ qr(WSREP:.*down context.*),
+ qr(WSREP: Failed to send state UUID:),
+ qr(WSREP: last inactive check more than .* skipping check),
+ qr(WSREP: Releasing seqno [0-9]* before [0-9]* was assigned.),
+ qr|WSREP: access file\(.*gvwstate.dat\) failed\(No such file or directory\)|,
+ qr(WSREP: Quorum: No node with complete state),
+ qr(WSREP: Initial position was provided by configuration or SST, avoiding override),
+ qr|WSREP: discarding established \(time wait\) .*|,
+ qr(WSREP: There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside. Will use that one.),
+ qr(WSREP: evs::proto.*),
+ qr|WSREP: Ignoring possible split-brain \(allowed by configuration\) from view:.*|,
+ qr(WSREP: no nodes coming from prim view, prim not possible),
+ qr(WSREP: Member .* requested state transfer from .* but it is impossible to select State Transfer donor: Resource temporarily unavailable),
+ qr(WSREP: user message in state LEAVING),
+ qr(WSREP: .* sending install message failed: Transport endpoint is not connected),
+ qr(WSREP: .* sending install message failed: Resource temporarily unavailable),
+ qr(WSREP: Maximum writeset size exceeded by .*),
+ qr(WSREP: transaction size exceeded.*),
+ qr(WSREP: RBR event .*),
+ qr(WSREP: Ignoring error for TO isolated action: .*),
+ qr(WSREP: transaction size limit .*),
+ qr(WSREP: rbr write fail, .*),
+ qr(WSREP: .*Backend not supported: foo.*),
+ qr(WSREP: .*Failed to initialize backend using .*),
+ qr(WSREP: .*Failed to open channel 'my_wsrep_cluster' at .*),
+ qr(WSREP: gcs connect failed: Socket type not supported),
+ qr(WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 .*),
+ qr(WSREP: .*Failed to open backend connection: -110 .*),
+ qr(WSREP: .*Failed to open channel 'my_wsrep_cluster' at .*),
+ qr(WSREP: gcs connect failed: Connection timed out),
+ qr|WSREP: wsrep::connect\(.*\) failed: 7|,
+ qr(WSREP: SYNC message from member .* in non-primary configuration. Ignored.),
+ qr(WSREP: Could not find peer:),
+ qr(WSREP: TO isolation failed for: .*),
+ qr|WSREP: gcs_caused\(\) returned .*|,
+ qr|WSREP: Protocol violation. JOIN message sender .* is not in state transfer \(SYNCED\). Message ignored.|,
+ qr|WSREP: Protocol violation. JOIN message sender .* is not in state transfer \(JOINED\). Message ignored.|,
+ qr|WSREP: Unsupported protocol downgrade: incremental data collection disabled. Expect abort.|,
+ qr(WSREP: Action message in non-primary configuration from member [0-9]*),
+ qr(WSREP: Last Applied Action message in non-primary configuration from member [0-9]*),
+ qr(WSREP: discarding established .*),
+ qr|WSREP: .*core_handle_uuid_msg.*|,
+ qr(WSREP: --wsrep-causal-reads=ON takes precedence over --wsrep-sync-wait=0. WSREP_SYNC_WAIT_BEFORE_READ is on),
+ qr|WSREP: JOIN message from member .* in non-primary configuration. Ignored.|,
+ qr(WSREP: Failed to remove page file .*),
+ qr(WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to .*),
+ );
+
+$ENV{PATH}="$epath:$ENV{PATH}";
+$ENV{PATH}="$spath:$ENV{PATH}" unless $epath eq $spath;
+$ENV{PATH}="$cpath:$ENV{PATH}" unless $cpath eq $spath;
+$ENV{PATH}="$bpath:$ENV{PATH}" unless $bpath eq $spath;
+
+if (which(socat)) {
+ $ENV{MTR_GALERA_TFMT}='socat';
+} elsif (which(nc)) {
+ $ENV{MTR_GALERA_TFMT}='nc';
+}
+
+sub skip_combinations {
+ my %skip = ();
+ $skip{'include/have_filekeymanagement.inc'} = 'needs file_key_management plugin'
+ unless $ENV{FILE_KEY_MANAGEMENT_SO};
+ $skip{'include/have_xtrabackup.inc'} = 'Need innobackupex'
+ unless which(innobackupex);
+ $skip{'include/have_xtrabackup.inc'} = 'Need socat or nc'
+ unless $ENV{MTR_GALERA_TFMT};
+ $skip{'include/have_mariabackup.inc'} = 'Need mariabackup'
+ unless which(mariabackup);
+ $skip{'include/have_mariabackup.inc'} = 'Need ss'
+ unless which(ss);
+ $skip{'include/have_mariabackup.inc'} = 'Need socat or nc'
+ unless $ENV{MTR_GALERA_TFMT};
+ %skip;
+}
+
+bless { };
diff --git a/mysql-test/suite/galera/t/GAL-382.test b/mysql-test/suite/galera/t/GAL-382.test
new file mode 100644
index 00000000000..05cc7346055
--- /dev/null
+++ b/mysql-test/suite/galera/t/GAL-382.test
@@ -0,0 +1,16 @@
+#
+# GAL-382 InnoDB: Failing assertion: xid_seqno > trx_sys_cur_xid_seqno in trx0sys.cc line 356
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+
+create table t1 (i int, j int, k int, primary key pk(i)) engine=innodb;
+insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
+create table t2 (i int, j int, k int, primary key pk(i, j, k), index idx(i, k, j)) engine=innodb;
+replace into t2 (i, j, k) select /*!99997 */ i, k, j from t1;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/GAL-401.test b/mysql-test/suite/galera/t/GAL-401.test
new file mode 100644
index 00000000000..06ce37dc81f
--- /dev/null
+++ b/mysql-test/suite/galera/t/GAL-401.test
@@ -0,0 +1,56 @@
+# This tests proper desync counter cleanup when DONOR/DESYNC state is cleared.
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Make node 1 tolerate split-brain
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=true';
+
+# Desync and disconnect node 2 from the PC:
+--connection node_2
+SET @@global.wsrep_desync = 1;
+SET SESSION wsrep_dirty_reads=1;
+SET SESSION wsrep_sync_wait=0;
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+
+# Wait until node 2 disappears from the PC:
+--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
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+
+# Modify app state to force node 2 into PRIMARY upon reconnection.
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+
+# Reconnect node 2 to the PC:
+--connection node_2
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+SET wsrep_dirty_reads=0;
+--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 = 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
+
+# Must return 0:
+SHOW STATUS LIKE 'wsrep_desync_count';
+
+# Resync node_2, should pass:
+SET @@global.wsrep_desync = 0;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+--source include/wait_condition.inc
+
+SET SESSION wsrep_sync_wait=15;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CALL mtr.add_suppression("WSREP: Protocol violation. JOIN message sender (.*) is not in state transfer \\(SYNCED\\). Message ignored.");
+
+--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
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=false';
diff --git a/mysql-test/suite/galera/t/GAL-419.test b/mysql-test/suite/galera/t/GAL-419.test
new file mode 100644
index 00000000000..e50b948bf35
--- /dev/null
+++ b/mysql-test/suite/galera/t/GAL-419.test
@@ -0,0 +1,35 @@
+#
+# GAL-419 safe_to_bootstrap: boostrap using wsrep_cluster_address=gcomm:// not prevented
+#
+
+--source include/galera_cluster.inc
+--source include/big_test.inc
+
+--connection node_2
+SET SESSION wsrep_sync_wait = 0;
+--source include/kill_galera.inc
+
+--connection node_1
+SET SESSION wsrep_sync_wait = 0;
+--source include/kill_galera.inc
+
+--sleep 2
+
+# Node #1 has wsrep_cluster_address=gcomm:// in my.cnf, so should fail to bootstrap
+
+--error 1
+--exec $MYSQLD --defaults-group-suffix=.1 --defaults-file=$MYSQLTEST_VARDIR/my.cnf | grep 'This node is not safe to bootstrap the cluster'
+
+# Unless we remove grastate.dat
+
+--remove_file $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat
+--remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
+
+--connection node_1
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--source include/start_mysqld.inc
+--source include/wait_until_connected_again.inc
+
+--connection node_2
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--source include/start_mysqld.inc
diff --git a/mysql-test/suite/galera/t/GAL-480.test b/mysql-test/suite/galera/t/GAL-480.test
new file mode 100644
index 00000000000..c2b34f2a935
--- /dev/null
+++ b/mysql-test/suite/galera/t/GAL-480.test
@@ -0,0 +1,46 @@
+--source include/galera_cluster.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 CHAR(10), f0 integer) ENGINE=InnoDB;
+
+FLUSH TABLE t1 FOR EXPORT;
+UNLOCK TABLES;
+
+ALTER TABLE t1 DROP COLUMN f1;
+
+SET SESSION wsrep_osu_method='RSU';
+ALTER TABLE t1 ADD COLUMN f1 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f1;
+ALTER TABLE t1 ADD COLUMN f2 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f2;
+ALTER TABLE t1 ADD COLUMN f3 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f3;
+ALTER TABLE t1 ADD COLUMN f4 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f4;
+ALTER TABLE t1 ADD COLUMN f5 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f5;
+ALTER TABLE t1 ADD COLUMN f6 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f6;
+ALTER TABLE t1 ADD COLUMN f7 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f7;
+ALTER TABLE t1 ADD COLUMN f8 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f8;
+ALTER TABLE t1 ADD COLUMN f9 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f9;
+ALTER TABLE t1 ADD COLUMN f10 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f10;
+ALTER TABLE t1 ADD COLUMN f11 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f11;
+ALTER TABLE t1 ADD COLUMN f12 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f12;
+ALTER TABLE t1 ADD COLUMN f13 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f13;
+ALTER TABLE t1 ADD COLUMN f14 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f14;
+ALTER TABLE t1 ADD COLUMN f15 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f15;
+ALTER TABLE t1 ADD COLUMN f16 CHAR(10);
+ALTER TABLE t1 DROP COLUMN f16;
+
+SET SESSION wsrep_osu_method='TOI';
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/MW-252.test b/mysql-test/suite/galera/t/MW-252.test
new file mode 100644
index 00000000000..dfb82e8070a
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-252.test
@@ -0,0 +1,42 @@
+#
+# MW-252 - Check that FTWRL causes the node to become desynced
+# and not subject to flow control
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+
+FLUSH TABLES WITH READ LOCK;
+
+# Node #1 is now desynced
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Donor/Desynced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'
+--source include/wait_condition.inc
+
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# Node #2 can issue updates without flow control kicking in
+--connection node_2
+
+--let $count = 100
+--disable_query_log
+while ($count)
+{
+ INSERT INTO t1 VALUES (1);
+ --dec $count
+}
+--enable_query_log
+
+# Restore cluster
+--connection node_1
+UNLOCK TABLES;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'
+--source include/wait_condition.inc
+
+--let $wait_condition = SELECT COUNT(*) = 100 FROM t1
+--source include/wait_condition.inc
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/MW-258.test b/mysql-test/suite/galera/t/MW-258.test
new file mode 100644
index 00000000000..174dd2c02c6
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-258.test
@@ -0,0 +1,42 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER);
+LOCK TABLE t1 WRITE;
+--echo value prior to RSU:
+SHOW STATUS LIKE 'wsrep_desync_count';
+SHOW VARIABLES LIKE 'wsrep_desync';
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_osu_method = RSU;
+--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1b
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_osu_method = RSU;
+--send ALTER TABLE t1 ADD COLUMN f3 INTEGER;
+
+--sleep 5
+--connection node_1
+--echo value during RSU:
+SHOW STATUS LIKE 'wsrep_desync_count';
+SHOW VARIABLES LIKE 'wsrep_desync';
+UNLOCK TABLES;
+
+--connection node_1a
+--reap
+--connection node_1b
+--reap
+
+--connection node_1
+--echo value after RSU:
+--sleep 3
+SHOW STATUS LIKE 'wsrep_desync_count';
+SHOW VARIABLES LIKE 'wsrep_desync';
+SET GLOBAL wsrep_desync=0;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/MW-259.test b/mysql-test/suite/galera/t/MW-259.test
new file mode 100644
index 00000000000..7298285f6ff
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-259.test
@@ -0,0 +1,42 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+
+SET GLOBAL wsrep_desync=0;
+SET wsrep_OSU_method=RSU;
+
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connection node_1a
+
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'debug sync point: alter_table_before_open_tables'
+--source include/wait_condition.inc
+
+# wsrep_desync=1 will block
+--send SET GLOBAL wsrep_desync=1;
+
+--connection node_1b
+--sleep 2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO = 'SET GLOBAL wsrep_desync=1'
+--source include/wait_condition.inc
+
+SET DEBUG_SYNC= 'now SIGNAL continue';
+DROP TABLE t1;
+SET GLOBAL wsrep_desync=0;
+
+--connection node_1
+--reap
+
+--connection node_1a
+--reap
+
+# Cleanup
+SET DEBUG_SYNC= 'RESET';
+
diff --git a/mysql-test/suite/galera/t/MW-284.cnf b/mysql-test/suite/galera/t/MW-284.cnf
new file mode 100644
index 00000000000..52fd3093931
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-284.cnf
@@ -0,0 +1 @@
+!include ../galera_2nodes_as_master.cnf
diff --git a/mysql-test/suite/galera/t/MW-284.test b/mysql-test/suite/galera/t/MW-284.test
new file mode 100644
index 00000000000..5e17baa1bdb
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-284.test
@@ -0,0 +1,70 @@
+#
+# MW-284 Slave I/O retry on ER_COM_UNKNOWN_ERROR
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$NODE_MYPORT_1, MASTER_USER='root', MASTER_CONNECT_RETRY=1;
+--enable_query_log
+
+--connection node_1
+--let $wsrep_sync_wait_state= `SELECT @@global.wsrep_sync_wait;`
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+SET SESSION wsrep_on = OFF;
+--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'
+--source include/wait_condition.inc
+SET SESSION wsrep_on = ON;
+#wsrep_sync_wait is set to zero because when slave tries to connect it it ask for queries like SELECT UNIX_TIMESTAMP() on node 1 which will fail, causing
+#a warning in slave error log.
+SET global wsrep_sync_wait=0;
+
+--connection node_3
+START SLAVE;
+--let $slave_param= Slave_IO_Running
+--let $slave_param_value= Connecting
+--source include/wait_for_slave_param.inc
+
+--connection node_1
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+
+# We expect the slave to reconnect and resume replication
+
+--connection node_3
+--source include/wait_for_slave_to_start.inc
+
+--connection node_1
+--source include/galera_wait_ready.inc
+INSERT INTO t1 VALUES (1);
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) > 0 FROM t1
+--source include/wait_condition.inc
+
+# Cleanup
+
+--connection node_1
+DROP TABLE t1;
+
+--eval SET global wsrep_sync_wait=$wsrep_sync_wait_state
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
+
+CALL mtr.add_suppression('failed registering on master');
+CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
+
+--connection node_1
+RESET MASTER;
+CALL mtr.add_suppression('WSREP: Last Applied Action message in non-primary configuration from member');
+
+--connection node_2
+CALL mtr.add_suppression('WSREP: Last Applied Action message in non-primary configuration from member'); \ No newline at end of file
diff --git a/mysql-test/suite/galera/t/MW-285.test b/mysql-test/suite/galera/t/MW-285.test
new file mode 100644
index 00000000000..1c567f7b250
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-285.test
@@ -0,0 +1,31 @@
+#
+# Broken FK constraints cause assertions
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE parent1 ( id INT PRIMARY KEY, KEY (id) ) ENGINE=InnoDB;
+CREATE TABLE parent2 ( id INT PRIMARY KEY, KEY (id) ) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT PRIMARY KEY,
+ parent1_id INT,
+ parent2_id INT,
+ FOREIGN KEY (parent1_id) REFERENCES parent1(id),
+ FOREIGN KEY (parent1_id) REFERENCES parent2(id)
+) ENGINE=InnoDB;
+
+INSERT INTO parent1 VALUES (1);
+INSERT INTO parent2 VALUES (1);
+INSERT INTO child VALUES (1,1,1);
+INSERT INTO child VALUES (2,1,1);
+
+SET foreign_key_checks=OFF;
+DROP TABLE parent1;
+
+UPDATE child SET parent1_id=2 WHERE id=1;
+
+DROP TABLE child;
+DROP TABLE parent2;
+SET foreign_key_checks=ON;
diff --git a/mysql-test/suite/galera/t/MW-286.test b/mysql-test/suite/galera/t/MW-286.test
new file mode 100644
index 00000000000..426b4493bb7
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-286.test
@@ -0,0 +1,34 @@
+#
+# MW-286 Spurious deadlock error after error with wsrep_desync and wsrep_on
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+
+# Insert some values before the ALTER
+INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+# Insert more values while the ALTER is running
+--send INSERT INTO t1 (f1) SELECT 100000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+--connection node_2
+SET GLOBAL wsrep_desync = TRUE;
+SET wsrep_on = FALSE;
+
+--error 0,ER_QUERY_INTERRUPTED
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+
+SET wsrep_on = TRUE;
+SET GLOBAL wsrep_desync = FALSE;
+
+--connection node_1
+reap;
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/MW-292.test b/mysql-test/suite/galera/t/MW-292.test
new file mode 100644
index 00000000000..ecb1273759e
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-292.test
@@ -0,0 +1,79 @@
+#
+# MW-292 Reset timestamp after transaction replay
+#
+# We force transaction replay to happen and then we check that NOW() is not stuck in time.
+# As a bonus we also check that RAND() continues to return random values after replay
+#
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source suite/galera/include/galera_have_debug_sync.inc
+
+--let $wsrep_local_replays_old = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays'`
+
+CREATE TABLE rand_table (f1 FLOAT);
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+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;
+SELECT * FROM t1 WHERE f1 = 2 FOR UPDATE;
+
+# Block the commit
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--let $galera_sync_point = commit_monitor_enter_sync
+--source include/galera_set_sync_point.inc
+
+--connection node_1
+--send COMMIT;
+
+# Wait until commit is blocked
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+--source include/galera_wait_sync_point.inc
+
+# Issue a conflicting update on node #2
+--connection node_2
+UPDATE t1 SET f2 = 'c' WHERE f1 = 2;
+
+# Wait for both transactions to be blocked
+--connection node_1a
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Update_rows_log_event::find_row%';
+--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
+
+# Unblock the commit
+--connection node_1a
+--source include/galera_clear_sync_point.inc
+--source include/galera_signal_sync_point.inc
+
+# Commit succeeds via replay
+--connection node_1
+--reap
+
+# Confirm that NOW() is not stuck in time relative to SYSDATE();
+--sleep 3
+SELECT TIMEDIFF(SYSDATE(), NOW()) < 2;
+
+INSERT INTO rand_table VALUES (RAND()),(RAND()),(RAND()),(RAND()),(RAND());
+INSERT INTO rand_table VALUES (RAND()),(RAND()),(RAND()),(RAND()),(RAND());
+
+SELECT COUNT(DISTINCT f1) = 10 FROM rand_table;
+
+# wsrep_local_replays has increased by 1
+--let $wsrep_local_replays_new = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays'`
+--disable_query_log
+--eval SELECT $wsrep_local_replays_new - $wsrep_local_replays_old = 1 AS wsrep_local_replays;
+--enable_query_log
+
+--connection node_2
+DROP TABLE t1;
+DROP TABLE rand_table;
diff --git a/mysql-test/suite/galera/t/MW-309.test b/mysql-test/suite/galera/t/MW-309.test
new file mode 100644
index 00000000000..351a508ecec
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-309.test
@@ -0,0 +1,32 @@
+#
+# MW-309 Regression: wsrep_max_ws_rows limit also applies to certain SELECT queries
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+
+SET GLOBAL wsrep_max_ws_rows = 2;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SELECT * FROM t1 GROUP BY f1;
+SELECT * FROM t1 GROUP BY f1;
+
+--error 0
+SELECT * FROM t1 GROUP BY f1;
+
+--disable_result_log
+--error 0
+SHOW STATUS LIKE '%wsrep%';
+--enable_result_log
+
+SET GLOBAL wsrep_max_ws_rows = 0;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/MW-313-master.opt b/mysql-test/suite/galera/t/MW-313-master.opt
new file mode 100644
index 00000000000..8a755e98b00
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-313-master.opt
@@ -0,0 +1 @@
+--log-bin --log-slave-updates
diff --git a/mysql-test/suite/galera/t/MW-313.test b/mysql-test/suite/galera/t/MW-313.test
new file mode 100644
index 00000000000..92fd835c615
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-313.test
@@ -0,0 +1,51 @@
+#
+# MW-313 Enforce wsrep_max_ws_rows also when binlog is enabled
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_binlog_format_row.inc
+
+# No error expected for SELECT and SHOW
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+
+SET GLOBAL wsrep_max_ws_rows = 2;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SELECT * FROM t1 GROUP BY f1;
+SELECT * FROM t1 GROUP BY f1;
+
+--error 0
+SELECT * FROM t1 GROUP BY f1;
+
+--disable_result_log
+--error 0
+SHOW STATUS LIKE '%wsrep%';
+--enable_result_log
+
+# Error expected for DML
+
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 SELECT * FROM t1;
+
+START TRANSACTION;
+INSERT INTO t1 (f1) VALUES (1);
+
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 (f1) VALUES (2),(3),(4);
+
+ROLLBACK;
+START TRANSACTION;
+--error ER_ERROR_DURING_COMMIT
+DELETE FROM t1;
+
+DROP TABLE t1;
+SET GLOBAL wsrep_max_ws_rows = 0;
diff --git a/mysql-test/suite/galera/t/MW-328-footer.inc b/mysql-test/suite/galera/t/MW-328-footer.inc
new file mode 100644
index 00000000000..5b736df220f
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-328-footer.inc
@@ -0,0 +1,18 @@
+#
+# Cleanup for MW-328 tests
+#
+
+--connection node_1
+--disable_query_log
+--eval KILL CONNECTION $sp_connection_id
+--enable_query_log
+
+--connection node_1X
+--error 2013,1317
+--reap
+
+--connection node_1
+DROP PROCEDURE proc_update;
+DROP TABLE t1, t2;
+
+CALL mtr.add_suppression("conflict state 3 after post commit");
diff --git a/mysql-test/suite/galera/t/MW-328-header.inc b/mysql-test/suite/galera/t/MW-328-header.inc
new file mode 100644
index 00000000000..f0a6ccaccc6
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-328-header.inc
@@ -0,0 +1,29 @@
+#
+# Initialization for MW-328 tests
+#
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 CHAR(20) DEFAULT 'abc') ENGINE=InnoDB;
+INSERT INTO t1 (f1) VALUES (1);
+
+CREATE TABLE t2 (f1 CHAR(20)) ENGINE=InnoDB;
+
+#
+# Have some random updates going on against t1
+#
+
+DELIMITER |;
+CREATE PROCEDURE proc_update ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SET SESSION wsrep_sync_wait = 0;
+ WHILE 1 DO
+ UPDATE t1 SET f2 = LEFT(MD5(RAND()), 4);
+ END WHILE;
+END|
+
+DELIMITER ;|
+
+--connect node_1X, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1X
+--let $sp_connection_id = `SELECT CONNECTION_ID()`
+--send CALL proc_update();
diff --git a/mysql-test/suite/galera/t/MW-328A.test b/mysql-test/suite/galera/t/MW-328A.test
new file mode 100644
index 00000000000..09aad1bcf60
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-328A.test
@@ -0,0 +1,57 @@
+#
+# MW-328 Fix unnecessary/silent BF aborts
+#
+
+#
+# Attempt to insert into t2 and check if insert actually inserted rows if
+# a success was reported.
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source suite/galera/t/MW-328-header.inc
+
+--connection node_2
+--let $count = 100
+--let $successes = 0
+--let $deadlocks = 0
+
+SET SESSION wsrep_retry_autocommit = 0;
+
+--disable_query_log
+
+while ($count)
+{
+ TRUNCATE TABLE t2;
+
+ --error 0,1213
+ INSERT IGNORE INTO t2 SELECT f2 FROM t1;
+ if ($mysql_errno != 1213) {
+ --inc $successes
+ if (`SELECT COUNT(*) = 0 FROM t2`) {
+ --die No rows arrived in table t2
+ }
+ }
+
+ if ($mysql_errno == 1213) {
+ --inc $deadlocks
+
+ }
+
+ --dec $count
+}
+
+--enable_query_log
+
+#
+# Check that the test produced both deadlocks and successes
+#
+
+--disable_query_log
+--eval SELECT $successes > 0 AS have_successes
+--eval SELECT $deadlocks > 0 AS have_deadlocks
+--enable_query_log
+
+
+--source suite/galera/t/MW-328-footer.inc
diff --git a/mysql-test/suite/galera/t/MW-328B.test b/mysql-test/suite/galera/t/MW-328B.test
new file mode 100644
index 00000000000..000b0d8a9ab
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-328B.test
@@ -0,0 +1,37 @@
+#
+# MW-328 Fix unnecessary/silent BF aborts
+#
+
+#
+# Make sure an unrelated SELECT following a BF-aborted query never
+# gets the deadlock error
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source suite/galera/t/MW-328-header.inc
+
+--connection node_2
+--let $count = 100
+
+SET SESSION wsrep_retry_autocommit = 0;
+
+--disable_query_log
+
+while ($count)
+{
+ --error 0,1213
+ INSERT IGNORE INTO t2 SELECT f2 FROM t1;
+
+ --disable_result_log
+ --error 0
+ SELECT 1 FROM DUAL;
+ --enable_result_log
+
+ --dec $count
+}
+
+--enable_query_log
+
+--source suite/galera/t/MW-328-footer.inc
diff --git a/mysql-test/suite/galera/t/MW-328C.test b/mysql-test/suite/galera/t/MW-328C.test
new file mode 100644
index 00000000000..72a8480923c
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-328C.test
@@ -0,0 +1,37 @@
+#
+# MW-328 Fix unnecessary/silent BF aborts
+#
+
+#
+# Make sure that a high value of wsrep_retry_autocommit
+# masks all deadlock errors
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source suite/galera/t/MW-328-header.inc
+
+--connection node_2
+--let $count = 100
+
+SET SESSION wsrep_retry_autocommit = 10000;
+
+--disable_query_log
+
+while ($count)
+{
+ --error 0
+ INSERT IGNORE INTO t2 SELECT f2 FROM t1;
+
+ --disable_result_log
+ --error 0
+ SELECT 1 FROM DUAL;
+ --enable_result_log
+
+ --dec $count
+}
+
+--enable_query_log
+
+--source suite/galera/t/MW-328-footer.inc
diff --git a/mysql-test/suite/galera/t/MW-328D.test b/mysql-test/suite/galera/t/MW-328D.test
new file mode 100644
index 00000000000..d5cffdb8f47
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-328D.test
@@ -0,0 +1,40 @@
+#
+# MW-328 Fix unnecessary/silent BF aborts
+#
+
+#
+# Test that non-Galera deadlock error still behaves as expected
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (i INT) ENGINE = InnoDB;
+INSERT INTO t1 (i) VALUES(1);
+
+CREATE TABLE t2 (i INT) ENGINE = InnoDB;
+
+# Create a deadlock situation
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SELECT * FROM t1 WHERE i = 1 LOCK IN SHARE MODE;
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+--send INSERT IGNORE INTO t2 SELECT * FROM t1 WHERE i = 1 FOR UPDATE;
+
+--connection node_1
+--sleep 2
+DELETE FROM t1 WHERE i = 1;
+COMMIT;
+
+# We expect that ER_LOCK_DEADLOCK will be delivered even though it was a INSERT INGORE statement
+--connection node_1a
+--error ER_LOCK_DEADLOCK
+--reap
+
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/galera/t/MW-328E.test b/mysql-test/suite/galera/t/MW-328E.test
new file mode 100644
index 00000000000..fd4b0bf9039
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-328E.test
@@ -0,0 +1,41 @@
+#
+# MW-328 Fix unnecessary/silent BF aborts
+#
+
+#
+# Test that non-Galera deadlock error still behaves as expected (case #2)
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+create table t1 (i int primary key, j int) engine=innodb;
+create table t2 (i int primary key, j int) engine=innodb;
+
+insert into t1 values (1,0);
+insert into t2 values (2,0);
+
+set autocommit=off;
+start transaction;
+update t1 set j=1 where i=1;
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+set autocommit=off;
+start transaction;
+begin;
+update t2 set j=1 where i=2;
+
+--connection node_1
+# Hang expected here
+--send insert into t1 select * from t2;
+
+--sleep 2
+--connection node_1a
+--error ER_LOCK_DEADLOCK
+insert into t2 select * from t1;
+
+--connection node_1
+--reap
+
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/galera/t/MW-329-master.opt b/mysql-test/suite/galera/t/MW-329-master.opt
new file mode 100644
index 00000000000..6565a6af3c4
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-329-master.opt
@@ -0,0 +1 @@
+--wsrep-retry-autocommit=0
diff --git a/mysql-test/suite/galera/t/MW-329.test b/mysql-test/suite/galera/t/MW-329.test
new file mode 100644
index 00000000000..bf045832113
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-329.test
@@ -0,0 +1,87 @@
+#
+# #MW-329 Fix incorrect affected rows count after replay
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER, f2 CHAR(20) DEFAULT 'abc') ENGINE=InnoDB;
+
+# We start with a populated table
+INSERT INTO t1 (f1) VALUES (1),(65535);
+
+# Clear the wsrep_local_replays counter
+
+FLUSH STATUS;
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays';
+
+#
+# Run concurrent INSERTs
+#
+
+DELIMITER |;
+CREATE PROCEDURE proc_insert ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SET SESSION wsrep_sync_wait = 0;
+ WHILE 1 DO
+ INSERT INTO t1 (f1) VALUES (FLOOR( 1 + RAND( ) * 65535 ));
+ END WHILE;
+END|
+DELIMITER ;|
+
+--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1b
+--let $connection_id = `SELECT CONNECTION_ID()`
+--send CALL proc_insert();
+
+#
+# Run concurrent UPDATEs. We expect that each UPDATE will report that
+# some rows were matched and updated
+#
+
+--connection node_2
+--let $count = 10
+while ($count)
+{
+ --let $signature = `SELECT LEFT(MD5(RAND()), 10)`
+ --disable_query_log
+ --error 0,ER_LOCK_DEADLOCK
+ --eval UPDATE t1 SET f2 = '$signature'
+ --enable_query_log
+ --let $row_count = `SELECT ROW_COUNT()`
+ if (`SELECT @@error_count = 0`) {
+ if (`SELECT $row_count = 0`) {
+ --die ROW_COUNT() = 0
+ }
+ }
+ --dec $count
+}
+
+#
+# Confirm that some transaction replays occurred
+#
+
+SELECT VARIABLE_VALUE > 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays';
+
+#
+# Terminate the stored procedure
+#
+
+--connection node_1
+--disable_query_log
+--eval KILL CONNECTION $connection_id
+--enable_query_log
+
+--connection node_1b
+--error 0,2013,1317
+--reap
+
+--connection node_1
+DROP PROCEDURE proc_insert;
+DROP TABLE t1;
+
+# Due to MW-330, Multiple "conflict state 3 after post commit" warnings if table is dropped while SP is running
+CALL mtr.add_suppression("conflict state 3 after post commit");
+
+set global innodb_status_output=Default; \ No newline at end of file
diff --git a/mysql-test/suite/galera/t/MW-336.test b/mysql-test/suite/galera/t/MW-336.test
new file mode 100644
index 00000000000..749ffe671be
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-336.test
@@ -0,0 +1,123 @@
+#
+# MW-336 Slave threads may leak if variable wsrep_slave_threads is set repeatedly
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t1 values(0);
+
+--connection node_1
+
+SET GLOBAL wsrep_slave_threads = 10;
+SET GLOBAL wsrep_slave_threads = 1;
+
+--echo # Wait 10 slave threads to start 1
+--let $wait_timeout=600
+--let $wait_condition = SELECT COUNT(*) = 11 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%');
+--source include/wait_condition.inc
+
+--connection node_2
+# Wait until inserts are replicated
+--let $wait_condition = SELECT COUNT(*) = 1 FROM t1;
+--source include/wait_condition.inc
+--echo # Generate 12 replication events
+--disable_query_log
+--disable_result_log
+--let $count = 12
+while ($count)
+{
+ INSERT INTO t1 VALUES (1);
+ --dec $count
+}
+--enable_result_log
+--enable_query_log
+
+--connection node_1
+# Wait until inserts are replicated
+--let $wait_condition = SELECT COUNT(*) = 13 FROM t1;
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM t1;
+
+--echo # Wait 9 slave threads to exit 1
+# Wait until appliers exit
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%');
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_slave_threads = 10;
+
+--echo # Wait 10 slave threads to start 2
+--let $wait_condition = SELECT COUNT(*) = 11 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user';
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_slave_threads = 20;
+
+--echo # Wait 20 slave threads to start 3
+--let $wait_condition = SELECT COUNT(*) = 21 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user';
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_slave_threads = 1;
+
+--connection node_2
+--echo # Generate 40 replication events
+--disable_query_log
+--disable_result_log
+--let $count = 40
+while ($count)
+{
+ INSERT INTO t1 VALUES (1);
+ --dec $count
+}
+--enable_query_log
+--enable_result_log
+
+--connection node_1
+
+# Wait until inserts are replicated
+--let $wait_condition = SELECT COUNT(*) = 53 FROM t1;
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM t1;
+
+--echo # Wait 10 slave threads to exit 3
+# Wait until appliers exit
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%');
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_slave_threads = 10;
+SET GLOBAL wsrep_slave_threads = 0;
+
+--echo # Wait 10 slave threads to start 3
+--let $wait_timeout=600
+--let $wait_condition = SELECT COUNT(*) = 11 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%');
+--source include/wait_condition.inc
+
+--connection node_2
+--echo # Generate 12 replication events
+--disable_query_log
+--disable_result_log
+--let $count = 12
+while ($count)
+{
+ INSERT INTO t1 VALUES (1);
+ --dec $count
+}
+--enable_result_log
+--enable_query_log
+
+--connection node_1
+# Wait until inserts are replicated
+--let $wait_condition = SELECT COUNT(*) = 65 FROM t1;
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM t1;
+
+--echo # Wait 10 slave threads to exit 4
+# Wait until appliers exit
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%');
+--source include/wait_condition.inc
+
+--connection node_1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/MW-357.test b/mysql-test/suite/galera/t/MW-357.test
new file mode 100644
index 00000000000..d13cf058aeb
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-357.test
@@ -0,0 +1,13 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_2
+SET GLOBAL wsrep_slave_threads = 0;
+
+--connection node_1
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB;
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/MW-369.inc b/mysql-test/suite/galera/t/MW-369.inc
new file mode 100644
index 00000000000..5fd9ef150ae
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-369.inc
@@ -0,0 +1,75 @@
+#
+# This file should be included from tests for MW-369 to run concurrent
+# transaction from node_1 with autocommit query from node_2.
+#
+# The parameters:
+# * $mw_369_parent_query - the parent query to be run inside transaction
+# * $mw_369_child_query - the child query
+#
+# The operations are the following:
+#
+# node_1:
+# START TRANSACTION;
+# $mw_369_parent_query
+# node_2
+# $mw_369_child_query - will be blocked on node_1 in apply monitor
+# node_1:
+# COMMIT; - will be blocked on node_1 in local monitor
+#
+# The $mw_369_child_query is always expected to succeed. The caller is
+# responsible for checking if the final COMMIT on connection node_1
+# succeeds.
+#
+
+--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
+
+--let $galera_sync_point = local_monitor_enter_sync
+--source include/galera_set_sync_point.inc
+
+--connection node_1
+--send COMMIT
+
+#
+# Wait until both sync points have been reached
+#
+--connection node_1a
+--let $galera_sync_point = apply_monitor_slave_enter_sync local_monitor_enter_sync
+--source include/galera_wait_sync_point.inc
+
+#
+# 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_enter_sync
+--source include/galera_signal_sync_point.inc
+--source include/galera_clear_sync_point.inc
diff --git a/mysql-test/suite/galera/t/MW-369.test b/mysql-test/suite/galera/t/MW-369.test
new file mode 100644
index 00000000000..720d6daf518
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-369.test
@@ -0,0 +1,246 @@
+#
+# Test A Outline:
+# ===============
+#
+# This test tests the scenario for MW-369 where a new child table
+# row referring to parent table row is inserted concurrently from
+# another node while the transaction which tries to delete a
+# referred row from the parent table is committing.
+#
+# The p table will originally have rows (1, 0), (2, 0).
+# The c table will be empty.
+#
+# A new row (1, 1) pointing to parent row (1, 0) is inserted from
+# connection node_2, the transaction which tries to remove the
+# parent row (1, 0) is run from connection node_1.
+#
+# Expected outcome:
+# ================
+#
+# The transaction on node_1 will fail. The parent table will contain
+# rows (1, 0), (2, 0) and the child table will contain row (1, 1).
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source suite/galera/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,
+ CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
+
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+
+--let $mw_369_parent_query = DELETE FROM p WHERE f1 = 1
+--let $mw_369_child_query = INSERT INTO c VALUES (1, 1)
+
+#
+# we must open connection node_1a here, MW-369.inc will use it later
+#
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--source MW-369.inc
+
+# Commit fails
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p;
+
+#
+# Test B Outline:
+# ===============
+#
+# This test tests the scenario for MW-369 where a existing
+# child table row is updated concurrently from another node
+# with a transaction which updates the parent table.
+#
+# The p table will originally have rows (1, 0), (2, 0).
+# The c table will originally have rows (1, 1, 0) which points
+# to parent table row (1, 0).
+#
+# Expected outcome:
+# ================
+#
+# Both updates should succeed since they are done to separate tables and
+# rows. The parent table will contain rows (1, 1), (2, 0). The child
+# table will contain row (1, 1, 1).
+#
+
+--connection node_1
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
+ f2 INTEGER,
+ CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
+
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1, 0);
+
+--let mw_369_parent_query = UPDATE p SET f2 = 1 WHERE f1 = 1
+--let $mw_369_child_query = UPDATE c SET f2 = 1 WHERE f1 = 1
+--source MW-369.inc
+
+# Commit succeeds
+--connection node_1
+--reap
+
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p;
+
+#
+# Test C Outline:
+# ===============
+#
+# This test tests the scenario for MW-369 where a child table row is
+# deleted concurrently from the other node while a transaction updates
+# the parent table referred by the child table row.
+#
+# The p table will originally have rows (1, 0), (2, 0)
+# The c table will originally have row (1, 1) which points to parent
+# table row (1, 0).
+#
+# A row (1, 1) pointing to parent row (1, 0) is deleted from
+# connection node_2, the transaction which tries to update the
+# parent row (1, 0) is run from connection node_1.
+#
+# Expected Outcome:
+# ================
+# Both operations on node_1 and node_2 should succeed without conflicts.
+# The parent table should contain values (1, 1), (2, 0) and the child
+# table should be empty.
+
+--connection node_1
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
+ CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
+
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1);
+
+--let $mw_369_parent_query = UPDATE p SET f2 = 1 WHERE f1 = 1
+--let $mw_369_child_query = DELETE FROM c WHERE f1 = 1
+--source MW-369.inc
+
+# Commit succeeds
+--connection node_1
+--reap
+
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p;
+
+
+#
+# Test D Outline:
+# ===============
+#
+# This test is similar to test A, where parent row is deleted while a child row
+# is inserted simultaneously on node 2. However, in this test case the FK
+# constraint's target column is a unique key, and parent row is not delete,
+# but this key value is changed so that insert on node 2 will cause FK
+# violation
+#
+# The p table will originally have rows (1, 0)
+# The c table will originally be empty
+#
+# in node_1, parent row is updated to value (1,1)
+# A row (1, 0) pointing to the old version of parent row (1, 0) is inserted
+# in connection node_2
+#
+# Expected Outcome:
+# ================
+# This is a true conflict and one transaciton must abort. In this case it is node_1
+# transaction, which was scheduled later.
+# Parent table should have row (1,0)
+# child table should have row (1,0)
+#
+
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER UNIQUE KEY) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
+ CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f2)) ;
+
+INSERT INTO p VALUES (1, 0);
+
+--let $mw_369_parent_query = UPDATE p SET f2 = 1 WHERE f1 = 1
+--let $mw_369_child_query = INSERT INTO c VALUES (1, 0);
+--source MW-369.inc
+
+# Commit fails
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p;
+
+#
+# Test E Outline:
+# ===============
+#
+# This test is similar to test B, where parent row is deleted while a child row
+# is updated simultaneously on node 2. However, in this test case the FK
+# constraint has ON DELETE CASCADE option, and the delete on parent row will
+# cascade a delete on child row as well. This will cause true conflict with
+# connection node_2, which tries to update unrelated column on child table.
+#
+# The p table will originally have rows (1, 0), (2,0)
+# The c table will originally have row (1,1,0)
+#
+# in node_1, parent row (1,0) is deleted and cascaded delete will happen on
+# child table row (1,1,0).
+# in connection node_2 child table row is update to value (1,1,1)
+#
+# Expected Outcome:
+# ================
+# This is a true conflict and one transaciton must abort. In this case it is node_1
+# transaction, which was scheduled later.
+# Parent table should have rows (1,0), (2,0)
+# child table should have row (1,1,1)
+#
+
+
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER, f2 INTEGER,
+ CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)
+ ON DELETE CASCADE) ;
+
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+INSERT INTO c VALUES (1, 1, 0);
+
+--let $mw_369_parent_query = DELETE FROM p WHERE f1 = 1
+--let $mw_369_child_query = UPDATE c SET f2 = 1 WHERE f1 = 1
+--source MW-369.inc
+
+# Commit fails
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p;
+
diff --git a/mysql-test/suite/galera/t/MW-388.test b/mysql-test/suite/galera/t/MW-388.test
new file mode 100644
index 00000000000..fafdde092bf
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-388.test
@@ -0,0 +1,74 @@
+--source include/galera_cluster.inc
+--source include/have_debug_sync.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(255)) Engine=InnoDB;
+
+DELIMITER |;
+CREATE PROCEDURE insert_proc ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
+ BEGIN
+ GET DIAGNOSTICS CONDITION 1 @errno = MYSQL_ERRNO;
+ END;
+ INSERT INTO t1 VALUES (1, 'node 1'),(2, 'node 1');
+ INSERT INTO t1 VALUES (3, 'node 1');
+END|
+DELIMITER ;|
+
+# We need two slave threads here to guarantee progress.
+# If we use only one thread the following could happen
+# in node_1:
+# We block the only slave thread in wsrep_apply_cb and we
+# issue an INSERT (by calling the stored procedure) that will
+# try to acquire galera's local monitor in pre_commit().
+# This usually works fine, except for when a commit cut event
+# sneaks in the slave queue and gets a local seqno smaller than
+# that of the INSERT. Because there is only one slave thread,
+# commit cut is not processed and therefore does not advance
+# local monitor, and our INSERT remains stuck there.
+
+SET GLOBAL wsrep_slave_threads = 2;
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+
+--connection node_2
+--send INSERT INTO t1 VALUES (1, 'node 2');
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+
+--connection node_1
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION DEBUG_SYNC = 'wsrep_after_replication SIGNAL wsrep_after_replication_reached WAIT_FOR wsrep_after_replication_continue';
+--send CALL insert_proc ();
+
+--connection node_1a
+SET SESSION DEBUG_SYNC = "now WAIT_FOR wsrep_after_replication_reached";
+
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL wsrep_after_replication_continue";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+
+--connection node_2
+--reap
+
+--connection node_1
+# We expect no errors here, because the handler in insert_proc() caught the deadlock error
+--reap
+SELECT @errno = 1213;
+SELECT * FROM t1;
+
+--connection node_2
+SELECT * FROM t1;
+
+--connection node_1
+SET GLOBAL wsrep_slave_threads = DEFAULT;
+DROP TABLE t1;
+DROP PROCEDURE insert_proc;
+
+SET GLOBAL debug_dbug = "";
+SET debug_sync='RESET';
+
+# Make sure no pending signals are leftover to surprise subsequent tests.
+SELECT @@debug_sync;
diff --git a/mysql-test/suite/galera/t/MW-402.test b/mysql-test/suite/galera/t/MW-402.test
new file mode 100644
index 00000000000..80f368b50c8
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-402.test
@@ -0,0 +1,228 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source suite/galera/include/galera_have_debug_sync.inc
+
+#
+# we must open connection node_1a here, MW-369.inc will use it later
+#
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+
+#
+# cascading delete operation is replicated from node2
+# and this conflicts with an update for child table in node1
+#
+# As a result, the update should fail for certification error
+#
+--connection node_1
+
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER, f2 INTEGER,
+ CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1) ON DELETE CASCADE);
+
+
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+
+INSERT INTO c VALUES (1, 1, 0);
+
+--let $mw_369_parent_query = UPDATE c SET f2=1 where f1=1
+--let $mw_369_child_query = DELETE FROM p WHERE f1 = 1
+
+--connection node_1a
+--source MW-369.inc
+
+# Commit fails
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p;
+
+#
+# cascading update operation is replicated from node2
+# and this conflicts with an update for child table in node1
+#
+# As a result, the update should fail for certification error
+#
+--connection node_1
+
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER, f2 INTEGER,
+ CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1) ON UPDATE CASCADE);
+
+
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+
+INSERT INTO c VALUES (1, 1, 0);
+
+--let $mw_369_parent_query = UPDATE c SET f2=2 where f1=1
+--let $mw_369_child_query = UPDATE p set f1=11 WHERE f1 = 1
+
+--connection node_1a
+--source MW-369.inc
+
+# Commit fails
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p;
+
+#
+# ON UPDATE CASCADE tests
+# Here we update primary key of parent table to cause cascaded update
+# on child table
+#
+# cascading update operation is replicated from node2
+# and this conflicts with an update for child table in node1
+#
+# As a result, the update should fail for certification error
+#
+--connection node_1
+
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER, f2 INTEGER,
+ CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1) ON UPDATE CASCADE);
+
+
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+
+INSERT INTO c VALUES (1, 1, 0);
+
+--let $mw_369_parent_query = UPDATE c SET p_id=2 where f1=1
+--let $mw_369_child_query = UPDATE p set f1=11 WHERE f1 = 1
+
+--connection node_1a
+--source MW-369.inc
+
+# Commit fails
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+# same as previous, but statements in different order
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+--let $mw_369_parent_query = UPDATE p set f1=21 WHERE f1 = 11
+--let $mw_369_child_query = UPDATE c SET p_id=2 where f1=1
+
+--connection node_1a
+--source MW-369.inc
+
+# Commit fails
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p;
+
+#
+# CASCADE DELETE tests with two parent tables
+# Here we cause cascaded operation on child table through
+# one parent table and have other operation on the other
+# parent table
+#
+# cascading update operation is replicated from node2
+# but this does not conflict with an update for the other parent table in node1
+#
+# As a result, the update on p2 should succeed
+#
+--connection node_1
+
+CREATE TABLE p1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE p2 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p1_id INTEGER, p2_id INTEGER,
+ f2 INTEGER,
+ CONSTRAINT fk_1 FOREIGN KEY (p1_id) REFERENCES p1 (f1)
+ ON DELETE CASCADE,
+ CONSTRAINT fk_2 FOREIGN KEY (p2_id) REFERENCES p2 (f1));
+
+INSERT INTO p1 VALUES (1, 0);
+INSERT INTO p2 VALUES (1, 0);
+
+INSERT INTO c VALUES (1, 1, 1, 0);
+
+--let $mw_369_parent_query = UPDATE p2 SET f2=2 where f1=1
+--let $mw_369_child_query = DELETE FROM p1 WHERE f1 = 1
+
+--connection node_1a
+--source MW-369.inc
+
+# Commit succeeds
+--connection node_1
+--reap
+
+--connection node_2
+SELECT * FROM p1;
+SELECT * FROM p2;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p1;
+DROP TABLE p2;
+
+#
+# CASCADE DELETE tests with two parent tables
+# Here we cause cascaded operation on child table through
+# one parent table and issue other delete operation through the
+# other parent table. The cascade progresses to same child table row where
+# we should see the conflict to happen
+#
+# As a result, the update on p2 should fail
+#
+--connection node_1
+
+CREATE TABLE p1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE p2 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p1_id INTEGER, p2_id INTEGER,
+ f2 INTEGER,
+ CONSTRAINT fk_1 FOREIGN KEY (p1_id) REFERENCES p1 (f1)
+ ON DELETE CASCADE,
+ CONSTRAINT fk_2 FOREIGN KEY (p2_id) REFERENCES p2 (f1)
+ ON DELETE CASCADE);
+
+INSERT INTO p1 VALUES (1, 0);
+INSERT INTO p2 VALUES (1, 0);
+
+INSERT INTO c VALUES (1, 1, 1, 0);
+
+--let $mw_369_parent_query = DELETE FROM p2 WHERE f1=1
+--let $mw_369_child_query = DELETE FROM p1 WHERE f1=1
+
+--connection node_1a
+--source MW-369.inc
+
+# Commit succeeds
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT * FROM p1;
+SELECT * FROM p2;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p1;
+DROP TABLE p2; \ No newline at end of file
diff --git a/mysql-test/suite/galera/t/MW-416.test b/mysql-test/suite/galera/t/MW-416.test
new file mode 100644
index 00000000000..df4fa35abc7
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-416.test
@@ -0,0 +1,134 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--source include/wait_until_ready.inc
+
+CREATE USER 'userMW416'@'localhost';
+GRANT SELECT, INSERT, UPDATE ON test.* TO 'userMW416'@'localhost';
+
+SHOW GLOBAL STATUS LIKE 'wsrep_replicated';
+
+--connect userMW416, localhost, userMW416,, test, $NODE_MYPORT_1
+--connection userMW416
+
+# DDL
+
+--error 1044
+ALTER DATABASE db CHARACTER SET = utf8;
+--error 1044
+ALTER EVENT ev1 RENAME TO ev2;
+--error 1370
+ALTER FUNCTION fun1 COMMENT 'foo';
+#--error 1044,1227
+#ALTER INSTANCE ROTATE INNODB MASTER KEY;
+--error 1044,1227
+ALTER LOGFILE GROUP lfg ADD UNDOFILE 'file' ENGINE=InnoDB;
+--error 1044,1227,1370
+ALTER PROCEDURE proc1 COMMENT 'foo';
+--error 1044,1227,1370
+ALTER SERVER srv OPTIONS (USER 'sally');
+--error 1044,1142,1227,1370
+ALTER TABLE tbl DROP COLUMN col;
+--error 1044,1227,1370
+ALTER TABLESPACE tblspc DROP DATAFILE 'file' ENGINE=innodb;
+--error 1044,1142,1227,1370
+ALTER VIEW vw AS SELECT 1;
+
+--error 1044,1227,1370
+CREATE DATABASE db;
+--error 1044,1227,1370
+CREATE EVENT ev1 ON SCHEDULE AT CURRENT_TIMESTAMP DO SELECT 1;
+--error 1044,1227,1370
+CREATE FUNCTION fun1() RETURNS int RETURN(1);
+--error 1044,1227,1370
+CREATE FUNCTION fun1 RETURNS STRING SONAME 'funlib.so';
+--error 1044,1227,1370
+CREATE PROCEDURE proc1() BEGIN END;
+--error 1044,1142,1227,1370
+CREATE INDEX idx ON tbl(id);
+--error 1044,1142,1227,1370
+CREATE LOGFILE GROUP lfg ADD UNDOFILE 'undofile' ENGINE innodb;
+--error 1044,1142,1227,1370
+CREATE SERVER srv FOREIGN DATA WRAPPER 'fdw' OPTIONS (USER 'user');
+--error 1044,1142,1227,1370
+CREATE TABLE t (i int);
+--error 1044,1142,1227,1370
+CREATE TABLESPACE tblspc ADD DATAFILE 'file' ENGINE=innodb;
+--error 1044,1142,1227,1370
+CREATE TRIGGER trg BEFORE UPDATE ON t FOR EACH ROW BEGIN END;
+--error 1044,1142,1227,1370
+CREATE VIEW vw AS SELECT 1;
+
+
+
+--error 1044,1142,1227,1370
+DROP DATABASE db;
+--error 1044,1142,1227,1370
+DROP EVENT ev;
+--error 1044,1142,1227,1370
+DROP FUNCTION fun1;
+--error 1044,1142,1227,1370
+DROP INDEX idx ON t0;
+--error 1044,1142,1227,1370,1064
+DROP LOGFILE GROUP lfg;
+--error 1044,1142,1227,1370
+DROP PROCEDURE proc1;
+--error 1044,1142,1227,1370
+DROP SERVEr srv;
+--error 1044,1142,1227,1370
+DROP TABLE t0;
+--error 1044,1142,1227,1370,1064
+DROP TABLESPACE tblspc;
+--error 1044,1142,1227,1360,1370
+DROP TRIGGER trg;
+--error 1044,1142,1227,1370
+DROP VIEW vw;
+
+--error 1044,1142,1227,1370
+RENAME TABLE t0 TO t1;
+
+--error 1044,1142,1227,1370
+TRUNCATE TABLE t0;
+
+# DCL
+
+# account management
+--error 1044,1142,1227,1370,1064
+ALTER USER myuser PASSWORD EXPIRE;
+--error 1044,1142,1227,1370
+CREATE USER myuser IDENTIFIED BY 'pass';
+--error 1044,1142,1227,1370
+DROP USER myuser;
+--error 1044,1045,1142,1227,1370
+GRANT ALL ON *.* TO 'myuser';
+--error 1044,1142,1227,1370
+RENAME USER myuser TO mariauser;
+--error 1044,1142,1227,1370
+REVOKE SELECT ON test FROM myuser;
+--error 1044,1142,1227,1370,1698
+REVOKE ALL, GRANT OPTION FROM myuser;
+--error 1044,1142,1227,1370,1698
+REVOKE PROXY ON myuser FROM myuser;
+
+# table maintenance
+--error 1044,1142,1227,1370
+ANALYZE TABLE db.tbl;
+--error 1044,1142,1227,1370
+CHECK TABLE db.tbl;
+--error 1044,1142,1227,1370
+CHECKSUM TABLE db.tbl;
+--error 1044,1142,1227,1370
+OPTIMIZE TABLE db.tbl;
+--error 1044,1142,1227,1370
+REPAIR TABLE db.tbl;
+
+# plugin and user defined functions
+--error 1044,1142,1227,1370
+INSTALL PLUGIN plg SONAME 'plg.so';
+--error 1044,1142,1227,1370
+UNINSTALL PLUGIN plg;
+
+--connection node_1
+DROP USER 'userMW416'@'localhost';
+SHOW DATABASES;
+SHOW GLOBAL STATUS LIKE 'wsrep_replicated';
diff --git a/mysql-test/suite/galera/t/MW-44-master.opt b/mysql-test/suite/galera/t/MW-44-master.opt
new file mode 100644
index 00000000000..9b086195e8a
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-44-master.opt
@@ -0,0 +1,2 @@
+--log-output=TABLE
+--general-log=OFF
diff --git a/mysql-test/suite/galera/t/MW-44.test b/mysql-test/suite/galera/t/MW-44.test
new file mode 100644
index 00000000000..0f8b1319b2c
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-44.test
@@ -0,0 +1,40 @@
+#
+# MW-44: DDL is logged in the general_log on the slave
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+TRUNCATE TABLE mysql.general_log;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 0 FROM mysql.general_log;
+--source include/wait_condition.inc
+TRUNCATE TABLE mysql.general_log;
+
+--connection node_1
+--let $wait_condition = SELECT COUNT(*) = 0 FROM mysql.general_log;
+--source include/wait_condition.inc
+SELECT Argument FROM mysql.general_log;
+
+SET GLOBAL general_log='ON';
+SET SESSION wsrep_osu_method=TOI;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+SET SESSION wsrep_osu_method=RSU;
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+SET SESSION wsrep_osu_method=TOI;
+
+--let $wait_condition = SELECT COUNT(argument) = 2 FROM mysql.general_log WHERE argument LIKE 'CREATE%' OR argument LIKE 'ALTER%';
+--source include/wait_condition.inc
+
+SELECT argument FROM mysql.general_log WHERE argument LIKE 'CREATE%' OR argument LIKE 'ALTER%';
+
+--connection node_2
+SELECT Argument FROM mysql.general_log;
+DROP TABLE t1;
+SET GLOBAL general_log='OFF';
+
+--connection node_1
+SET GLOBAL general_log='OFF';
+
diff --git a/mysql-test/suite/galera/t/MW-86-wait1-master.opt b/mysql-test/suite/galera/t/MW-86-wait1-master.opt
new file mode 100644
index 00000000000..8a755e98b00
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-86-wait1-master.opt
@@ -0,0 +1 @@
+--log-bin --log-slave-updates
diff --git a/mysql-test/suite/galera/t/MW-86-wait1.test b/mysql-test/suite/galera/t/MW-86-wait1.test
new file mode 100644
index 00000000000..40a7882829b
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-86-wait1.test
@@ -0,0 +1,105 @@
+#
+# SHOW commands no longer obey wsrep_sync_wait = 1 (WSREP_SYNC_WAIT_BEFORE_READ)
+# (they do not wait for the background INSERT in the applier in node_2 to
+# complete)
+#
+--source include/galera_cluster.inc
+--source include/have_binlog_format_row.inc
+--source include/have_debug_sync.inc
+
+--connection node_2
+# Make sure no signals have been leftover from previous tests to surprise us.
+SELECT @@debug_sync;
+
+SET SESSION wsrep_sync_wait = 1;
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+
+--connection node_1
+CREATE TABLE t_wait1 (f1 INTEGER) ENGINE=InnoDB;
+# This will complete in node_1 but will start a background apply in node_2
+# which will stop because of sync.wsrep_apply_cb we set above.
+INSERT INTO t_wait1 VALUES (1);
+
+--connection node_2
+
+SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+
+--disable_result_log
+
+SHOW BINARY LOGS;
+
+SHOW BINLOG EVENTS;
+
+--error ER_NO_SUCH_TABLE
+SHOW COLUMNS FROM t1;
+
+--error ER_EVENT_DOES_NOT_EXIST
+SHOW CREATE EVENT e1;
+
+--error ER_SP_DOES_NOT_EXIST
+SHOW CREATE FUNCTION f1;
+
+--error ER_SP_DOES_NOT_EXIST
+SHOW CREATE PROCEDURE p1;
+
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t1;
+
+--error ER_TRG_DOES_NOT_EXIST
+SHOW CREATE TRIGGER tr1;
+
+--error ER_NO_SUCH_TABLE
+SHOW CREATE VIEW v1;
+
+SHOW DATABASES;
+
+SHOW ENGINE InnoDB STATUS;
+
+--error ER_SP_DOES_NOT_EXIST
+SHOW FUNCTION CODE f1;
+
+SHOW FUNCTION STATUS;
+
+SHOW GRANTS FOR 'root'@'localhost';
+
+--error ER_NO_SUCH_TABLE
+SHOW INDEX FROM t1;
+
+SHOW OPEN TABLES;
+
+--error ER_SP_DOES_NOT_EXIST
+SHOW PROCEDURE CODE p1;
+
+SHOW PROCEDURE STATUS;
+
+SHOW PRIVILEGES;
+
+SHOW STATUS LIKE 'wsrep_cluster_size';
+
+SHOW TABLE STATUS;
+
+SHOW TABLES;
+
+SHOW TRIGGERS;
+
+SHOW GLOBAL VARIABLES LIKE 'foo_bar';
+
+--error 0
+SHOW WARNINGS;
+
+--enable_result_log
+
+# Unblock the background INSERT and remove the sync point.
+SET GLOBAL debug_dbug = "";
+SET SESSION debug_sync = "now SIGNAL signal.wsrep_apply_cb";
+
+SET SESSION wsrep_sync_wait = default;
+
+# This will wait for the background INSERT to complete before we quit
+# from the test.
+DROP TABLE t_wait1;
+
+SET debug_sync='RESET';
+
+# Make sure no pending signals are leftover to surprise subsequent tests.
+SELECT @@debug_sync;
diff --git a/mysql-test/suite/galera/t/MW-86-wait8-master.opt b/mysql-test/suite/galera/t/MW-86-wait8-master.opt
new file mode 100644
index 00000000000..8a755e98b00
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-86-wait8-master.opt
@@ -0,0 +1 @@
+--log-bin --log-slave-updates
diff --git a/mysql-test/suite/galera/t/MW-86-wait8.test b/mysql-test/suite/galera/t/MW-86-wait8.test
new file mode 100644
index 00000000000..551b0f67b7c
--- /dev/null
+++ b/mysql-test/suite/galera/t/MW-86-wait8.test
@@ -0,0 +1,127 @@
+#
+# SHOW commands now obey wsrep_sync_wait = 8 (WSREP_SYNC_WAIT_BEFORE_SHOW)
+#
+--source include/galera_cluster.inc
+--source include/have_binlog_format_row.inc
+--source include/have_debug_sync.inc
+
+--connection node_2
+# Make sure no signals have been leftover from previous tests to surprise us.
+SELECT @@debug_sync;
+
+SET SESSION wsrep_sync_wait = 8;
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+
+--connection node_1
+CREATE TABLE t_wait8 (f1 INTEGER) ENGINE=InnoDB;
+# This will complete in node_1 but will start a background apply in node_2
+# which will stop because of sync.wsrep_apply_cb we set above.
+INSERT INTO t_wait8 VALUES (1);
+
+--connection node_2
+
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT0.1S";
+
+SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached";
+
+--disable_result_log
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW BINARY LOGS;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW BINLOG EVENTS;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW COLUMNS FROM t1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE DATABASE db1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE EVENT e1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE FUNCTION f1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE PROCEDURE p1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE TABLE t1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE TRIGGER tr1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE VIEW v1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW DATABASES;
+
+--error 0
+SHOW ENGINE InnoDB STATUS;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW FUNCTION CODE f1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW FUNCTION STATUS;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW GRANTS FOR 'root'@'localhost';
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW INDEX FROM t1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW OPEN TABLES;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW PROCEDURE CODE p1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW PROCEDURE STATUS;
+
+--error 0
+SHOW PRIVILEGES;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW STATUS LIKE 'wsrep_cluster_size';
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW TABLE STATUS;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW TABLES;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW TRIGGERS;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW GLOBAL VARIABLES LIKE 'foo_bar';
+
+--error 0
+SHOW WARNINGS;
+
+--enable_result_log
+
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = "$wsrep_provider_options_orig"
+--enable_query_log
+
+# Unblock the background INSERT and remove the sync point.
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+
+SET SESSION wsrep_sync_wait = default;
+
+# This will wait for the background INSERT to complete before we quit
+# from the test.
+DROP TABLE t_wait8;
+
+SET debug_sync='RESET';
+
+# Make sure no pending signals are leftover to surprise subsequent tests.
+SELECT @@debug_sync;
diff --git a/mysql-test/suite/galera/t/basic.test b/mysql-test/suite/galera/t/basic.test
new file mode 100644
index 00000000000..8fc6eee3b3b
--- /dev/null
+++ b/mysql-test/suite/galera/t/basic.test
@@ -0,0 +1,26 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+USE test;
+CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+SELECT * FROM t1;
+
+--echo
+--echo # On node_1
+--connection node_1
+SELECT * FROM test.t1;
+
+--echo
+--echo # On node_2
+--connection node_2
+SELECT * FROM test.t1;
+
+--let $galera_diff_statement = SELECT * FROM t1
+--source include/galera_diff.inc
+
+# Cleanup
+DROP TABLE t1;
+
+--source include/galera_end.inc
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/binlog_checksum.test b/mysql-test/suite/galera/t/binlog_checksum.test
new file mode 100644
index 00000000000..5aab68a7746
--- /dev/null
+++ b/mysql-test/suite/galera/t/binlog_checksum.test
@@ -0,0 +1,36 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo # On node_1
+--connection node_1
+SET @binlog_checksum_saved= @@GLOBAL.BINLOG_CHECKSUM;
+SET @@GLOBAL.BINLOG_CHECKSUM=CRC32;
+
+--echo # On node_2
+--connection node_2
+SET @binlog_checksum_saved= @@GLOBAL.BINLOG_CHECKSUM;
+SET @@GLOBAL.BINLOG_CHECKSUM=CRC32;
+
+USE test;
+CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+SELECT * FROM t1;
+SELECT * FROM test.t1;
+
+--echo
+--echo # On node_2
+--connection node_2
+SELECT * FROM test.t1;
+
+--let $galera_diff_statement = SELECT * FROM t1
+--source include/galera_diff.inc
+
+# Cleanup
+DROP TABLE t1;
+--connection node_1
+SET @@GLOBAL.BINLOG_CHECKSUM = @binlog_checksum_saved;
+--connection node_2
+SET @@GLOBAL.BINLOG_CHECKSUM = @binlog_checksum_saved;
+
+--source include/galera_end.inc
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/create.test b/mysql-test/suite/galera/t/create.test
new file mode 100644
index 00000000000..96a6640c21f
--- /dev/null
+++ b/mysql-test/suite/galera/t/create.test
@@ -0,0 +1,89 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-6924 : Server crashed on CREATE TABLE ... SELECT
+--echo #
+
+SET @wsrep_forced_binlog_format_saved=@@GLOBAL.wsrep_forced_binlog_format;
+SET @@GLOBAL.wsrep_forced_binlog_format=STATEMENT;
+
+# @@log_bin must be OFF
+SHOW VARIABLES LIKE '%log%bin%';
+
+USE test;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+CREATE TEMPORARY TABLE `t1_temp` AS SELECT * FROM `t1` WHERE i = 1;
+SELECT * FROM t1;
+SELECT * FROM t1_temp;
+
+# Cleanup
+DROP TABLE t1;
+SET @@GLOBAL.wsrep_forced_binlog_format=@wsrep_forced_binlog_format_saved;
+
+--echo #
+--echo # MDEV-7673: CREATE TABLE SELECT fails on Galera cluster
+--echo #
+--connection node_1
+CREATE TABLE t1 (i INT) ENGINE=INNODB DEFAULT CHARSET=utf8 SELECT 1 as i;
+SELECT * FROM t1;
+
+--connection node_2
+SELECT * FROM t1;
+# Cleanup
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-8166 : Adding index on new table from select crashes Galera
+--echo # cluster
+--echo #
+--connection node_1
+CREATE TABLE t1(i int(11) NOT NULL DEFAULT '0') ENGINE=InnoDB DEFAULT CHARSET=utf8;
+INSERT INTO t1(i) VALUES (1), (2), (3);
+
+CREATE TABLE t2 (i INT) SELECT i FROM t1;
+ALTER TABLE t2 ADD INDEX idx(i);
+
+SELECT * FROM t2;
+
+--connection node_2
+SELECT * FROM t2;
+SHOW CREATE TABLE t2;
+
+# Cleanup
+DROP TABLE t1, t2;
+
+--echo #
+--echo # MDEV-9853: WSREP says it cannot get fake InnoDB transaction ID
+--echo # followed by segmentation fault
+--echo #
+CREATE TABLE `t1`(`c1` INT) ENGINE=INNODB;
+
+SET autocommit=0;
+CREATE TABLE `t2` (`c1` INT) ENGINE=INNODB SELECT * FROM t1;
+COMMIT;
+SET autocommit=1;
+
+# Cleanup
+DROP TABLE t1, t2;
+
+
+--echo #
+--echo # MDEV-10235: Deadlock in CREATE TABLE ... AS SELECT .. if result set
+--echo # is empty in Galera
+--echo #
+--connection node_1
+CREATE TABLE t1(c1 INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+CREATE TABLE t2 AS SELECT * FROM t1 WHERE c1=2;
+
+--connection node_2
+SELECT * FROM t1;
+SELECT * FROM t2;
+# Cleanup
+DROP TABLE t1, t2;
+
+--source include/galera_end.inc
+--echo # End of tests
+
diff --git a/mysql-test/suite/galera/t/enforce_storage_engine.test b/mysql-test/suite/galera/t/enforce_storage_engine.test
new file mode 100644
index 00000000000..5f07dd53a3e
--- /dev/null
+++ b/mysql-test/suite/galera/t/enforce_storage_engine.test
@@ -0,0 +1,33 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# enforce_storage_engine should prevent the creation of tables with
+# non-enforced storage engines on the master node and the command
+# should also not replicate to other nodes.
+
+--echo #
+--echo # MDEV-8831 : enforce_storage_engine doesn't block table creation on
+--echo # other nodes (galera cluster)
+--echo #
+
+--connection node_1
+SET @@enforce_storage_engine=INNODB;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+--error ER_UNKNOWN_STORAGE_ENGINE
+CREATE TABLE t2(i INT) ENGINE=MYISAM;
+
+INSERT INTO t1 VALUES(1);
+
+--connection node_2
+SHOW TABLES;
+SELECT COUNT(*)=1 FROM t1;
+
+CREATE TABLE t2(i INT) ENGINE=MYISAM;
+
+--connection node_1
+SHOW TABLES;
+
+# Cleanup
+DROP TABLE t1, t2;
+
+--echo # End of tests
diff --git a/mysql-test/suite/galera/t/enforce_storage_engine2.opt b/mysql-test/suite/galera/t/enforce_storage_engine2.opt
new file mode 100644
index 00000000000..03f7dc5e527
--- /dev/null
+++ b/mysql-test/suite/galera/t/enforce_storage_engine2.opt
@@ -0,0 +1,2 @@
+--enforce_storage_engine=innodb --sql_mode=''
+
diff --git a/mysql-test/suite/galera/t/enforce_storage_engine2.test b/mysql-test/suite/galera/t/enforce_storage_engine2.test
new file mode 100644
index 00000000000..7a822bced59
--- /dev/null
+++ b/mysql-test/suite/galera/t/enforce_storage_engine2.test
@@ -0,0 +1,20 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-9312: storage engine not enforced during galera cluster
+--echo # replication
+--echo #
+--connection node_1
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+CREATE TABLE t2(i INT) ENGINE=MYISAM;
+
+--connection node_2
+SHOW TABLES;
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+
+# Cleanup
+DROP TABLE t1, t2;
+
+--echo # End of tests
diff --git a/mysql-test/suite/galera/t/ev51914.test b/mysql-test/suite/galera/t/ev51914.test
new file mode 100644
index 00000000000..e5edacabe89
--- /dev/null
+++ b/mysql-test/suite/galera/t/ev51914.test
@@ -0,0 +1,214 @@
+# Disable SAVEPOINT and ROLLBACK TO SAVEPOINT in SP, SF, TR.
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+
+--connection node_1
+--echo SAVEPOINT in a stored function should be forbidden
+--delimiter |
+CREATE FUNCTION f1 () RETURNS INT BEGIN
+ SAVEPOINT s;
+ RETURN 1;
+END|
+--delimiter ;
+
+SELECT f1();
+
+DROP FUNCTION f1;
+
+--echo ROLLBACK TO SAVEPOINT in a stored function should be forbidden
+--delimiter |
+CREATE FUNCTION f2 () RETURNS INT BEGIN
+ ROLLBACK TO SAVEPOINT s;
+ RETURN 1;
+END|
+--delimiter ;
+
+BEGIN;
+SAVEPOINT s;
+--error ER_SP_DOES_NOT_EXIST
+SELECT f2();
+COMMIT;
+
+DROP FUNCTION f2;
+
+BEGIN;
+SAVEPOINT S;
+ROLLBACK TO SAVEPOINT S;
+COMMIT;
+
+
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 values (110), (111), (112), (113), (114);
+
+--echo Direct SAVEPOINT in a trigger should be forbidden
+--connection node_2
+CREATE TRIGGER i1_t1 BEFORE INSERT ON t1 FOR EACH ROW SAVEPOINT s;
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+DROP TRIGGER i1_t1;
+
+CREATE TRIGGER i2_t1 AFTER INSERT ON t1 FOR EACH ROW SAVEPOINT s;
+INSERT INTO t1 VALUES (2);
+DROP TRIGGER i2_t1;
+
+INSERT INTO t1 VALUES (3);
+CREATE TRIGGER u1_t1 BEFORE UPDATE ON t1 FOR EACH ROW SAVEPOINT s;
+UPDATE t1 SET a=4 WHERE a=3;
+DROP TRIGGER u1_t1;
+
+CREATE TRIGGER u2_t1 AFTER UPDATE ON t1 FOR EACH ROW SAVEPOINT s;
+UPDATE t1 SET a=4 WHERE a=3;
+DROP TRIGGER u2_t1;
+
+CREATE TRIGGER d1_t1 BEFORE DELETE ON t1 FOR EACH ROW SAVEPOINT s;
+DELETE FROM t1;
+DROP TRIGGER d1_t1;
+
+CREATE TRIGGER d1_t1 AFTER DELETE ON t1 FOR EACH ROW SAVEPOINT s;
+DELETE FROM t1;
+DROP TRIGGER d1_t1;
+
+--echo SAVEPOINT in a compound statement in a trigger should be forbidden
+--delimiter |
+CREATE TRIGGER i3_t1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN
+ SAVEPOINT s;
+END|
+--delimiter ;
+INSERT INTO t1 VALUES (5);
+DROP TRIGGER i3_t1;
+
+--echo SAVEPOINT in a PS call in a trigger should be forbidden
+# echo handled by SAVEPOINT forbidden in PS
+--delimiter |
+--error ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE TRIGGER i4_t1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN
+ PREPARE set_savepoint FROM "SAVEPOINT s";
+ EXECUTE set_savepoint;
+ DEALLOCATE PREPARE set_savepoint;
+END|
+--delimiter ;
+
+--connection node_2
+--echo SAVEPOINT in SP called from a trigger should be forbidden
+--delimiter |
+CREATE PROCEDURE p1() BEGIN
+ SAVEPOINT s;
+END|
+--delimiter ;
+--connection node_1
+CREATE TRIGGER i5_t1 BEFORE INSERT ON t1 FOR EACH ROW CALL p1;
+INSERT INTO t1 VALUES (6);
+DROP TRIGGER i5_t1;
+
+--echo SAVEPOINT in a SP called from a PS called from a trigger be forbidden
+# echo handled by SAVEPOINT forbidden in PS
+PREPARE call_p1 FROM "CALL p1";
+--error ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE TRIGGER i6_t1 BEFORE INSERT ON t1 FOR EACH ROW EXECUTE call_p1;
+
+--echo SAVEPOINT in a function called from a trigger should be forbidden
+--delimiter |
+CREATE FUNCTION f1 () RETURNS INT BEGIN
+ SAVEPOINT s;
+ RETURN 1;
+END|
+--delimiter ;
+CREATE TRIGGER i7_t1 BEFORE INSERT ON t1 FOR EACH ROW SET @foo = f1();
+INSERT INTO t1 VALUES (7);
+DROP TRIGGER i7_t1;
+
+--echo SAVEPOINT in a SP called from a SP called from a trigger should be forbidden
+--delimiter |
+CREATE PROCEDURE p2() BEGIN
+ CALL p1();
+END|
+--delimiter ;
+CREATE TRIGGER i8_t1 BEFORE INSERT ON t1 FOR EACH ROW CALL p2;
+INSERT INTO t1 VALUES (8);
+DROP TRIGGER i8_t1;
+
+--echo SAVEPOINT in a SP called from a trigger called from a SP should be forbidden
+CREATE TRIGGER i9_t1 BEFORE INSERT ON t1 FOR EACH ROW CALL p1;
+--delimiter |
+CREATE PROCEDURE p3() BEGIN
+ INSERT INTO t1 VALUES (9);
+END|
+--delimiter ;
+CALL p3();
+DROP TRIGGER i9_t1;
+
+--echo ROLLBACK TO SAVEPOINT in trigger as a trivial statement should be forbidden
+# Trigger activation creates a new savepoint level, making the earlier levels
+# inaccessible. Thus forbidding SAVEPOINT should be enough as then there is
+# no valid savepoint to pass to ROLLBACK TO SAVEPOINT, but we forbid it once
+# more just in case.
+CREATE TRIGGER i4_t1 BEFORE INSERT ON t1 FOR EACH ROW ROLLBACK TO SAVEPOINT s;
+BEGIN;
+SAVEPOINT s;
+--error ER_SP_DOES_NOT_EXIST
+INSERT INTO t1 VALUES (5);
+COMMIT;
+DROP TRIGGER i4_t1;
+
+--echo ROLLBACK TO SAVEPOINT in a trigger in a SP call should be forbidden
+--delimiter |
+CREATE PROCEDURE p4() BEGIN
+ ROLLBACK TO SAVEPOINT s;
+END|
+--delimiter ;
+CREATE TRIGGER i5_t1 BEFORE INSERT ON t1 FOR EACH ROW CALL p4;
+BEGIN;
+SAVEPOINT s;
+--error ER_SP_DOES_NOT_EXIST
+INSERT INTO t1 VALUES (6);
+COMMIT;
+DROP TRIGGER i5_t1;
+
+--echo SAVEPOINT in a SP next to a trigger should work
+CREATE TRIGGER i6_t1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a = NEW.a + 1;
+--delimiter |
+CREATE PROCEDURE p5() BEGIN
+ SAVEPOINT s;
+ INSERT INTO t1 VALUES (10);
+ ROLLBACK TO SAVEPOINT s;
+END|
+--delimiter ;
+BEGIN;
+CALL p5();
+COMMIT;
+DROP TRIGGER i6_t1;
+
+--connection node_2
+delimiter |;
+create trigger t1 before insert on t1 for each row
+begin
+ insert into t2 values (NULL);
+end|
+delimiter ;|
+
+--connection node_1
+INSERT INTO t1 VALUES (201), (202), (203);
+
+--connection node_1
+SELECT * FROM t1;
+SELECT COUNT(*) FROM t2;
+
+--connection node_2
+SELECT * FROM t1;
+SELECT COUNT(*) FROM t2;
+
+--connection node_1
+DEALLOCATE PREPARE call_p1;
+
+--connection node_2
+DROP TABLE t1, t2;
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP PROCEDURE p3;
+DROP PROCEDURE p4;
+DROP PROCEDURE p5;
+DROP FUNCTION f1;
diff --git a/mysql-test/suite/galera/t/fk.test b/mysql-test/suite/galera/t/fk.test
new file mode 100644
index 00000000000..e0b7cf06ed0
--- /dev/null
+++ b/mysql-test/suite/galera/t/fk.test
@@ -0,0 +1,116 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# MDEV-6651: MariaDB galera cluster crashes in file row0mysql.cc line 684
+# DELETE FROM ports WHERE ports.id = 'f37aa3fe-ab99-4d0f-a566-6cd3169d7516'
+# where table ports have foreign keys
+#
+
+USE test;
+--echo
+--echo # On node_1
+--connection node_1
+
+ CREATE TABLE networks (
+ `tenant_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+ `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `status` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `admin_state_up` tinyint(1) DEFAULT NULL,
+ `shared` tinyint(1) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+ CREATE TABLE ports (
+ `tenant_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+ `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `network_id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+ `mac_address` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
+ `admin_state_up` tinyint(1) NOT NULL,
+ `status` varchar(16) COLLATE utf8_unicode_ci NOT NULL,
+ `device_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `device_owner` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `network_id` (`network_id`),
+ CONSTRAINT `ports_ibfk_1` FOREIGN KEY (`network_id`) REFERENCES networks (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+CREATE TABLE subnets (
+ `tenant_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+ `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `network_id` varchar(36) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `ip_version` int(11) NOT NULL,
+ `cidr` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
+ `gateway_ip` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `enable_dhcp` tinyint(1) DEFAULT NULL,
+ `shared` tinyint(1) DEFAULT NULL,
+ `ipv6_ra_mode` enum('slaac','dhcpv6-stateful','dhcpv6-stateless') COLLATE utf8_unicode_ci DEFAULT NULL,
+ `ipv6_address_mode` enum('slaac','dhcpv6-stateful','dhcpv6-stateless') COLLATE utf8_unicode_ci DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `network_id` (`network_id`),
+ CONSTRAINT `subnets_ibfk_1` FOREIGN KEY (`network_id`) REFERENCES networks (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+ CREATE TABLE `ipallocations` (
+ `port_id` varchar(36) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `ip_address` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
+ `subnet_id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+ `network_id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`ip_address`,`subnet_id`,`network_id`),
+ KEY `port_id` (`port_id`),
+ KEY `subnet_id` (`subnet_id`),
+ KEY `network_id` (`network_id`),
+ CONSTRAINT `ipallocations_ibfk_1` FOREIGN KEY (`port_id`) REFERENCES `ports` (`id`) ON DELETE CASCADE,
+ CONSTRAINT `ipallocations_ibfk_2` FOREIGN KEY (`subnet_id`) REFERENCES `subnets` (`id`) ON DELETE CASCADE,
+ CONSTRAINT `ipallocations_ibfk_3` FOREIGN KEY (`network_id`) REFERENCES `networks` (`id`) ON DELETE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+INSERT INTO networks VALUES ('f37aa3fe-ab99-4d0f-a566-6cd3169d7516','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','MyNet','ACTIVE',0,0);
+
+INSERT INTO ports VALUES ('','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','fa:16:3e:e3:cc:bb',1,'DOWN','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','network:router_gateway');
+
+INSERT INTO subnets VALUES ('f37aa3fe-ab99-4d0f-a566-6cd3169d7516','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','ext-subnet','f37aa3fe-ab99-4d0f-a566-6cd3169d7516',4,'10.25.0.0/24','10.25.0.4',0,1,NULL,NULL);
+
+INSERT INTO ipallocations VALUES ('f37aa3fe-ab99-4d0f-a566-6cd3169d7516','10.25.0.17','f37aa3fe-ab99-4d0f-a566-6cd3169d7516','f37aa3fe-ab99-4d0f-a566-6cd3169d7516');
+
+select * from ports where ports.id = 'f37aa3fe-ab99-4d0f-a566-6cd3169d7516';
+
+--connection node_2
+
+select * from ports where ports.id = 'f37aa3fe-ab99-4d0f-a566-6cd3169d7516';
+
+--let $galera_diff_statement = SELECT * FROM ports
+--source include/galera_diff.inc
+
+--connection node_1
+
+DELETE FROM ports WHERE ports.id = 'f37aa3fe-ab99-4d0f-a566-6cd3169d7516';
+
+select * from networks;
+select * from ports;
+select * from subnets;
+select * from ipallocations;
+select * from ports;
+
+--echo
+--echo # On node_2
+--connection node_2
+select * from networks;
+select * from ports;
+select * from subnets;
+select * from ipallocations;
+select * from ports;
+
+--let $galera_diff_statement = SELECT * FROM ports
+--source include/galera_diff.inc
+
+--connection node_1
+drop table ipallocations;
+drop table subnets;
+drop table ports;
+drop table networks;
+
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/galera#414.cnf b/mysql-test/suite/galera/t/galera#414.cnf
new file mode 100644
index 00000000000..fbd1c58754f
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera#414.cnf
@@ -0,0 +1,8 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcs.max_packet_size=2'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcs.max_packet_size=2'
+
diff --git a/mysql-test/suite/galera/t/galera#414.test b/mysql-test/suite/galera/t/galera#414.test
new file mode 100644
index 00000000000..de10898df42
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera#414.test
@@ -0,0 +1,43 @@
+#
+# codership/galera#414 Shutdown crashes node if the node started with `gcs.max_packet_size=2`
+#
+
+--source include/big_test.inc
+--source include/have_innodb.inc
+--source include/galera_cluster.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+# We perform the shutdown/restart sequence in here. If there was a crash during shutdown, MTR will detect it
+
+--connection node_2
+--source include/shutdown_mysqld.inc
+
+--connection node_1
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_on = OFF;
+--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
+--source include/start_mysqld.inc
+
+--connection node_1
+SET SESSION wsrep_on = ON;
+--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
+
+--connection node_1
+CALL mtr.add_suppression("Failed to set packet size");
+
+--connection node_2
+--let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+--source include/wait_condition.inc
+CALL mtr.add_suppression("Failed to set packet size");
+
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera#500.test b/mysql-test/suite/galera/t/galera#500.test
new file mode 100644
index 00000000000..3c8490b6907
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera#500.test
@@ -0,0 +1,38 @@
+#
+# The purpose of this test is to verify that if an exception is
+# thrown from gcomm background thread, the provider terminates properly
+# and wsrep_ready becomes 0.
+#
+
+--source include/have_innodb.inc
+--source include/galera_cluster.inc
+--source include/galera_have_debug_sync.inc
+
+# Force node_2 gcomm background thread to terminate via exception.
+--connection node_2
+--let $wsrep_cluster_address = `SELECT @@wsrep_cluster_address`
+# Setting gmcast.isolate=2 will force gcomm background thread to
+# throw exception.
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options="gmcast.isolate=2";
+
+# Wait until wsrep_ready becomes 0.
+--let $wait_condition = SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME ='wsrep_ready'
+--source include/wait_condition.inc
+
+# Wait until node_1 ends up in non-prim and rebootstrap the cluster.
+--connection node_1
+SET SESSION wsrep_sync_wait = 0;
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME ='wsrep_cluster_size'
+--source include/wait_condition.inc
+SHOW STATUS LIKE 'wsrep_cluster_status';
+SET SESSION wsrep_sync_wait = default;
+SET GLOBAL wsrep_provider_options="pc.bootstrap=1";
+
+# Restart node_2
+--connection node_2
+SET SESSION wsrep_on=0;
+--source include/restart_mysqld.inc
+
+--connection node_2
+CALL mtr.add_suppression("WSREP: exception from gcomm, backend must be restarted: Gcomm backend termination was requested by setting gmcast.isolate=2.");
diff --git a/mysql-test/suite/galera/t/galera#505.test b/mysql-test/suite/galera/t/galera#505.test
new file mode 100644
index 00000000000..785b1411596
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera#505.test
@@ -0,0 +1,26 @@
+# galera#505 - Change of pc.weight wsrep param will be correctly stored in wsrep_provider_options variable
+
+--source include/galera_cluster.inc
+
+--connection node_1
+
+SET SESSION wsrep_sync_wait=0;
+--disable_result_log
+--disable_query_log
+--let $galera_version=25.3.24
+source ../../wsrep/include/check_galera_version.inc;
+--enable_result_log
+--enable_query_log
+SET SESSION wsrep_sync_wait=DEFAULT;
+
+# Convert "... pc.weight = N; ..." to "N; ..."
+--let $s1 = `SELECT SUBSTR(@@wsrep_provider_options, LOCATE('pc.weight =', @@wsrep_provider_options) + LENGTH('pc.weight = '))`
+# Convert "N; ..." to "N"
+--let $pc_weight_value = `SELECT SUBSTR('$s1', 1, LOCATE(';', '$s1') - 1)`
+
+SET GLOBAL wsrep_provider_options = 'pc.weight=3';
+
+-- replace_regex /.*(pc\.weight = [0-9]+);.*/\1/
+SHOW GLOBAL VARIABLES LIKE 'wsrep_provider_options';
+
+--eval SET GLOBAL wsrep_provider_options = 'pc.weight=$pc_weight_value'
diff --git a/mysql-test/suite/galera/t/galera_account_management.test b/mysql-test/suite/galera/t/galera_account_management.test
new file mode 100644
index 00000000000..6dea0fcfa9e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_account_management.test
@@ -0,0 +1,99 @@
+#
+# Test the account management statements - GRANT, REVOKE, etc.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# CREATE USER
+#
+--connection node_1
+CREATE USER user1, user2 IDENTIFIED BY 'password';
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM mysql.user WHERE user IN ('user1', 'user2');
+
+#
+# ALTER USER
+#
+
+--connection node_1
+ALTER USER user1 PASSWORD EXPIRE;
+SELECT password_expired = 'Y' FROM mysql.user WHERE user = 'user1';
+
+--connection node_2
+SELECT password_expired = 'Y' FROM mysql.user WHERE user = 'user1';
+
+#
+# RENAME USER
+#
+
+--connection node_1
+RENAME USER user2 TO user3;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM mysql.user WHERE user = 'user2';
+SELECT COUNT(*) = 1 FROM mysql.user WHERE user = 'user3';
+
+#
+# SET PASSWORD
+#
+
+--connection node_1
+SET PASSWORD FOR user3 = PASSWORD('foo');
+
+--connection node_1
+SELECT password != '' FROM mysql.user WHERE user = 'user3';
+
+#
+# DROP USER
+#
+--connection node_1
+DROP USER user1, user3;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM mysql.user WHERE user IN ('user1', 'user2');
+
+#
+# GRANT
+#
+
+--connection node_1
+GRANT ALL ON *.* TO user4 IDENTIFIED BY 'password';
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM mysql.user WHERE user = 'user4';
+SELECT Select_priv = 'Y' FROM mysql.user WHERE user = 'user4';
+
+#
+# GRANT PROXY ON
+#
+--connection node_1
+CREATE USER user5;
+GRANT PROXY ON user4 TO user5;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM mysql.proxies_priv WHERE user = 'user5';
+
+#
+# REVOKE
+#
+
+--connection node_1
+REVOKE ALL PRIVILEGES ON *.* FROM user4;
+
+--connection node_2
+SELECT Select_priv = 'N' FROM mysql.user WHERE user = 'user4';
+
+#
+# REVOKE PROXY
+#
+
+--connection node_1
+REVOKE PROXY ON user4 FROM user5;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM mysql.proxies_priv WHERE user = 'user5';
+
+DROP USER user4, user5;
diff --git a/mysql-test/suite/galera/t/galera_admin.test b/mysql-test/suite/galera/t/galera_admin.test
new file mode 100644
index 00000000000..e3c43256ad5
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_admin.test
@@ -0,0 +1,86 @@
+#
+# Test that various admin commands from sql_admin.cc
+# Currently, REPAIR, OPTIMIZE and ANALYZE are tested.
+# Jira: PXC-390
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+DROP TABLE IF EXISTS x1, x2;
+--enable_warnings
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO x1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO t2 (f2) SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4;
+INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+
+# Wait until all the data from t2 has been replicated
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 10 FROM x1;
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 10 FROM x2;
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 10 FROM t1;
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 10000 FROM t2;
+--source include/wait_condition.inc
+
+
+--echo # ANALYZE test
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connection node_1
+ANALYZE TABLE t1, t2;
+
+--connection node_2
+--let $wait_condition = SELECT VARIABLE_VALUE = $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
+--source include/wait_condition.inc
+
+
+
+--echo # OPTIMIZE test
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connection node_1
+OPTIMIZE TABLE t1, t2;
+
+--connection node_2
+--let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
+--source include/wait_condition.inc
+
+
+
+--echo # REPAIR test
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connection node_1
+REPAIR TABLE x1, x2;
+
+--connection node_2
+--let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
+--source include/wait_condition.inc
+
+
+
+--connection node_2
+SELECT COUNT(*) = 10 FROM t1;
+SELECT COUNT(*) = 10 FROM x1;
+SELECT COUNT(*) = 10000 FROM t2;
+SELECT COUNT(*) = 10 FROM x2;
+
+--connection node_1
+DROP TABLE t1, t2;
+DROP TABLE x1, x2;
+SET GLOBAL wsrep_replicate_myisam = FALSE;
diff --git a/mysql-test/suite/galera/t/galera_alter_engine_innodb.test b/mysql-test/suite/galera/t/galera_alter_engine_innodb.test
new file mode 100644
index 00000000000..bc914a38776
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_alter_engine_innodb.test
@@ -0,0 +1,17 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test ALTER ENGINE from InnoDB to InnoDB
+#
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+ALTER TABLE t1 ENGINE=InnoDB;
+
+--connection node_2
+SELECT ENGINE = 'InnoDB' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_alter_engine_myisam.test b/mysql-test/suite/galera/t/galera_alter_engine_myisam.test
new file mode 100644
index 00000000000..6d41d276a17
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_alter_engine_myisam.test
@@ -0,0 +1,25 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test ALTER ENGINE from MyISAM to InnoDB under wsrep_replicate_myisam
+#
+
+--let $wsrep_replicate_myisam_orig = `SELECT @@wsrep_replicate_myisam`
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1);
+
+ALTER TABLE t1 ENGINE=InnoDB;
+
+--connection node_2
+SELECT ENGINE = 'InnoDB' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_1
+--disable_query_log
+--eval SET GLOBAL wsrep_replicate_myisam = $wsrep_replicate_myisam_orig
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_alter_table_force.test b/mysql-test/suite/galera/t/galera_alter_table_force.test
new file mode 100644
index 00000000000..1fcc9d4bda5
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_alter_table_force.test
@@ -0,0 +1,17 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test ALTER TABLE FORCE, a 5.6.3 feature that simply rebuilds the table
+#
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+ALTER TABLE t1 FORCE;
+
+--connection node_2
+SELECT ENGINE = 'InnoDB' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_applier_ftwrl_table.test b/mysql-test/suite/galera/t/galera_applier_ftwrl_table.test
new file mode 100644
index 00000000000..97819384a75
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_applier_ftwrl_table.test
@@ -0,0 +1,34 @@
+#
+# Test that applying plays well with FLUSH TABLE table_name WITH READ LOCK. The applier
+# thread should block until UNLOCK TABLEs.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+SET SESSION wsrep_sync_wait = 0;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+FLUSH TABLE t1 WITH READ LOCK;
+
+--connection node_2
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+
+--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.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock'
+--source include/wait_condition.inc
+
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_1
+UNLOCK TABLES;
+
+SET SESSION wsrep_sync_wait = 15;
+SELECT COUNT(*) = 2 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_applier_ftwrl_table_alter-master.opt b/mysql-test/suite/galera/t/galera_applier_ftwrl_table_alter-master.opt
new file mode 100644
index 00000000000..d8ecaacaa4c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_applier_ftwrl_table_alter-master.opt
@@ -0,0 +1 @@
+--lock_wait_timeout=5 --innodb_lock_wait_timeout=5 --wait_timeout=5
diff --git a/mysql-test/suite/galera/t/galera_applier_ftwrl_table_alter.test b/mysql-test/suite/galera/t/galera_applier_ftwrl_table_alter.test
new file mode 100644
index 00000000000..67f2108d263
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_applier_ftwrl_table_alter.test
@@ -0,0 +1,37 @@
+#
+# Test that applying a DDL plays well with FLUSH TABLE table_name WITH READ LOCK. The applier
+# thread should block until UNLOCK TABLEs.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+SET SESSION wsrep_sync_wait = 0;
+
+# Those values are valid only for connection node_1. The global values from the -master.opt file apply to applier threads.
+SET SESSION lock_wait_timeout = 60;
+SET SESSION innodb_lock_wait_timeout=60;
+SET SESSION wait_timeout=60;
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+FLUSH TABLE t1 WITH READ LOCK;
+
+--connection node_2
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connection node_1
+SELECT 1 FROM DUAL;
+# Sleep for longer than the global timeout ...
+--sleep 6
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock';
+
+UNLOCK TABLES;
+
+SET SESSION wsrep_sync_wait = 15;
+
+SHOW CREATE TABLE t1;
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock';
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_as_master.cnf b/mysql-test/suite/galera/t/galera_as_master.cnf
new file mode 100644
index 00000000000..52fd3093931
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_master.cnf
@@ -0,0 +1 @@
+!include ../galera_2nodes_as_master.cnf
diff --git a/mysql-test/suite/galera/t/galera_as_master.test b/mysql-test/suite/galera/t/galera_as_master.test
new file mode 100644
index 00000000000..49f3c993256
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_master.test
@@ -0,0 +1,67 @@
+#
+# Test Galera as a master to a MySQL slave
+#
+# The galera/galera_2node_master.cnf describes the setup of the nodes
+#
+
+--source include/have_innodb.inc
+--source include/galera_cluster.inc
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE;
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+
+--echo # Disable binary logging for current session
+SET SQL_LOG_BIN=OFF;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(1);
+INSERT INTO t1 VALUES(2);
+CREATE TABLE test.t3 AS SELECT * from t1;
+
+SET SQL_LOG_BIN=ON;
+INSERT INTO t1 VALUES(3);
+CREATE TABLE test.t4 AS SELECT * from t1;
+
+--connection node_2
+SELECT * FROM t1;
+SELECT * FROM t2;
+SELECT * FROM t3;
+SELECT * FROM t4;
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 2 FROM t1;
+--source include/wait_condition.inc
+
+--let $wait_condition = SELECT COUNT(*) = 3 FROM t4;
+--source include/wait_condition.inc
+
+SHOW TABLES;
+
+SELECT * FROM t1;
+SELECT * FROM t4;
+
+--echo # Cleanup
+--connection node_1
+DROP TABLE t1, t4;
+SET SQL_LOG_BIN=OFF;
+DROP TABLE t2, t3;
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't4';
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
+
+CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
+
+--connection node_1
+RESET MASTER;
diff --git a/mysql-test/suite/galera/t/galera_as_master_gtid.cnf b/mysql-test/suite/galera/t/galera_as_master_gtid.cnf
new file mode 100644
index 00000000000..19517556331
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_master_gtid.cnf
@@ -0,0 +1,8 @@
+!include ../galera_2nodes_as_master.cnf
+
+[mysqld]
+gtid-mode=ON
+log-bin=mysqld-bin
+log-slave-updates
+enforce-gtid-consistency
+binlog-format=ROW
diff --git a/mysql-test/suite/galera/t/galera_as_master_gtid.test b/mysql-test/suite/galera/t/galera_as_master_gtid.test
new file mode 100644
index 00000000000..9db104b7cab
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_master_gtid.test
@@ -0,0 +1,70 @@
+#
+# Test Galera as a master to a MySQL slave with GTID
+#
+# The galera/galera_2node_master.cnf describes the setup of the nodes
+#
+# We check that all transactions originating from within Galera use a UUID that is
+# different from the server_uuid of either node
+#
+#
+
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+--source include/galera_cluster.inc
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE USER='root';
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+
+--let $effective_uuid = `SELECT LEFT(@@global.gtid_executed, 36)`
+--disable_query_log
+--eval SELECT '$effective_uuid' != @@global.server_uuid AS uuids_do_not_match;
+--enable_query_log
+
+--replace_result $effective_uuid <effective_uuid>
+--replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/
+SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM 120;
+
+--connection node_2
+INSERT INTO t1 VALUES(2);
+
+--disable_query_log
+--eval SELECT '$effective_uuid' != @@global.server_uuid AS uuids_do_not_match;
+--eval SELECT '$effective_uuid' = LEFT(@@global.gtid_executed, 36) AS uuids_match;
+--enable_query_log
+
+--replace_result $effective_uuid <effective_uuid>
+--replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/
+SHOW BINLOG EVENTS IN 'mysqld-bin.000003' FROM 120;
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+--let $wait_condition = SELECT COUNT(*) = 2 FROM t1;
+--source include/wait_condition.inc
+
+--disable_query_log
+--eval SELECT '$effective_uuid' != @@global.server_uuid AS uuids_do_not_match;
+--eval SELECT '$effective_uuid' = LEFT(@@global.gtid_executed, 36) AS uuids_match;
+--enable_query_log
+
+--replace_result $effective_uuid <effective_uuid>
+--replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/
+SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 120;
+
+--connection node_1
+DROP TABLE t1;
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/t/galera_as_master_gtid_change_master.cnf b/mysql-test/suite/galera/t/galera_as_master_gtid_change_master.cnf
new file mode 100644
index 00000000000..19517556331
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_master_gtid_change_master.cnf
@@ -0,0 +1,8 @@
+!include ../galera_2nodes_as_master.cnf
+
+[mysqld]
+gtid-mode=ON
+log-bin=mysqld-bin
+log-slave-updates
+enforce-gtid-consistency
+binlog-format=ROW
diff --git a/mysql-test/suite/galera/t/galera_as_master_gtid_change_master.test b/mysql-test/suite/galera/t/galera_as_master_gtid_change_master.test
new file mode 100644
index 00000000000..23606d7ac4c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_master_gtid_change_master.test
@@ -0,0 +1,54 @@
+#
+# Test that a MySQL slave can use CHANGE MASTER MASTER_AUTO_POSITION to begin replicating
+# from another Galera node
+#
+# The galera/galera_2node_master.cnf describes the setup of the nodes
+#
+#
+
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+--source include/galera_cluster.inc
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE USER='root';
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+
+--connection node_2
+INSERT INTO t1 VALUES(2);
+
+--connection node_3
+STOP SLAVE;
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$NODE_MYPORT_2, MASTER_AUTO_POSITION=1;
+--enable_query_log
+START SLAVE USER='root';
+
+--connection node_1
+INSERT INTO t1 VALUES(3);
+
+--connection node_2
+INSERT INTO t1 VALUES(4);
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+--let $wait_condition = SELECT COUNT(*) = 4 FROM t1;
+--source include/wait_condition.inc
+
+--connection node_1
+DROP TABLE t1;
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/t/galera_as_master_large.cnf b/mysql-test/suite/galera/t/galera_as_master_large.cnf
new file mode 100644
index 00000000000..bd8f3819b20
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_master_large.cnf
@@ -0,0 +1,4 @@
+!include ../galera_2nodes_as_master.cnf
+
+[mysqld.1]
+binlog-cache-size=8192
diff --git a/mysql-test/suite/galera/t/galera_as_master_large.test b/mysql-test/suite/galera/t/galera_as_master_large.test
new file mode 100644
index 00000000000..fa343cd9c93
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_master_large.test
@@ -0,0 +1,46 @@
+--echo #
+--echo # MDEV-9044 : Getting binlog corruption on my Galera cluster (10.1.8)
+--echo # making it impossible to async slave.
+--echo #
+
+--source include/have_innodb.inc
+--source include/galera_cluster.inc
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE;
+
+--connection node_1
+
+SELECT @@GLOBAL.BINLOG_CACHE_SIZE;
+CREATE TABLE t1 (c1 INTEGER PRIMARY KEY, c2 VARCHAR(12000)) ENGINE=INNODB;
+CREATE TABLE t2 (c1 INTEGER PRIMARY KEY) ENGINE=INNODB;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(1, REPEAT('-', 10000));
+COMMIT;
+INSERT INTO t2 VALUES(1);
+save_master_pos;
+
+--connection node_2
+SELECT c1, LENGTH(c2) FROM t1;
+SELECT * FROM t2;
+
+--connection node_3
+sync_with_master;
+
+SELECT c1, LENGTH(c2) FROM t1;
+SELECT * FROM t2;
+
+--echo # Cleanup
+--connection node_1
+DROP TABLE t1, t2;
+save_master_pos;
+
+--connection node_3
+sync_with_master;
+
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/t/galera_as_slave.cnf b/mysql-test/suite/galera/t/galera_as_slave.cnf
new file mode 100644
index 00000000000..9449ec9cf40
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave.cnf
@@ -0,0 +1 @@
+!include ../galera_2nodes_as_slave.cnf
diff --git a/mysql-test/suite/galera/t/galera_as_slave.test b/mysql-test/suite/galera/t/galera_as_slave.test
new file mode 100644
index 00000000000..849b75eadd1
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave.test
@@ -0,0 +1,50 @@
+#
+# Test Galera as a slave to a MySQL master
+#
+# The galera/galera_2node_slave.cnf describes the setup of the nodes
+#
+
+--source include/have_innodb.inc
+
+# As node #1 is not a Galera node, we connect to node #2 in order to run include/galera_cluster.inc
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/galera_cluster.inc
+
+--connection node_2
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE;
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+
+--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 t1;
+--source include/wait_condition.inc
+
+INSERT INTO t1 VALUES (2);
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+SELECT COUNT(*) = 2 FROM t1;
+INSERT INTO t1 VALUES (3);
+
+--connection node_2
+SELECT COUNT(*) = 3 FROM t1;
+
+--connection node_1
+DROP TABLE t1;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
+
+--connection node_1
+RESET MASTER;
diff --git a/mysql-test/suite/galera/t/galera_as_slave_autoinc.cnf b/mysql-test/suite/galera/t/galera_as_slave_autoinc.cnf
new file mode 100644
index 00000000000..9449ec9cf40
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_autoinc.cnf
@@ -0,0 +1 @@
+!include ../galera_2nodes_as_slave.cnf
diff --git a/mysql-test/suite/galera/t/galera_as_slave_autoinc.test b/mysql-test/suite/galera/t/galera_as_slave_autoinc.test
new file mode 100644
index 00000000000..59483d0591c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_autoinc.test
@@ -0,0 +1,83 @@
+#
+# Test Galera as a slave to a MySQL master
+#
+# The galera/galera_2node_slave.cnf describes the setup of the nodes
+#
+
+--source include/have_innodb.inc
+
+# As node #1 is not a Galera node, we connect to node #2 in order to run include/galera_cluster.inc
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/galera_cluster.inc
+
+--connection node_2
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE;
+
+--connection node_1
+
+##
+## Verify the correct operation of the auto-increment when
+## the binlog format set to the 'STATEMENT' on the master node:
+##
+
+SET SESSION binlog_format='STATEMENT';
+
+CREATE TABLE t1 (
+ i int(11) NOT NULL AUTO_INCREMENT,
+ c char(32) DEFAULT 'dummy_text',
+ PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+insert into t1(i) values(null);
+
+select * from t1;
+
+insert into t1(i) values(null), (null), (null);
+
+select * from t1;
+
+SET SESSION auto_increment_increment=7;
+insert into t1(i) values(null), (null), (null);
+
+SET SESSION auto_increment_offset=5;
+insert into t1(i) values(null), (null), (null);
+
+select * from t1;
+
+show variables like 'binlog_format';
+show variables like 'auto_increment_increment';
+
+--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(*) = 10 FROM t1;
+--source include/wait_condition.inc
+
+select * from t1;
+
+show variables like 'binlog_format';
+show variables like 'auto_increment_increment';
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+
+select * from t1;
+
+show variables like 'binlog_format';
+show variables like 'auto_increment_increment';
+
+--connection node_1
+DROP TABLE t1;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
+
+--connection node_1
+RESET MASTER;
diff --git a/mysql-test/suite/galera/t/galera_as_slave_gtid.cnf b/mysql-test/suite/galera/t/galera_as_slave_gtid.cnf
new file mode 100644
index 00000000000..01d2eb12630
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_gtid.cnf
@@ -0,0 +1,6 @@
+!include ../galera_2nodes_as_slave.cnf
+
+[mysqld]
+log-bin=mysqld-bin
+log-slave-updates
+binlog-format=ROW
diff --git a/mysql-test/suite/galera/t/galera_as_slave_gtid.test b/mysql-test/suite/galera/t/galera_as_slave_gtid.test
new file mode 100644
index 00000000000..c2331a2ae05
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_gtid.test
@@ -0,0 +1,67 @@
+#
+# Test Galera as a slave to a MariaDB master using GTIDs
+#
+# suite/galera/galera_2nodes_as_slave.cnf describes the setup of the nodes
+# suite/galera/t/galera_as_slave_gtid.cnf has the GTID options
+#
+# In addition to performing DDL and DML, we check that the gtid of the master is preserved inside the cluster
+#
+
+--source include/have_innodb.inc
+
+# As node #1 is not a Galera node, we connect to node #2 in order to run include/galera_cluster.inc
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/galera_cluster.inc
+
+--connection node_2
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE;
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+
+SELECT LENGTH(@@global.gtid_binlog_state) > 1;
+--let $gtid_binlog_state_node1 = `SELECT @@global.gtid_binlog_state;`
+
+--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 t1;
+--source include/wait_condition.inc
+
+--disable_query_log
+--eval SELECT '$gtid_binlog_state_node1' = @@global.gtid_binlog_state AS gtid_binlog_state_equal;
+--enable_query_log
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+SELECT COUNT(*) = 1 FROM t1;
+
+--disable_query_log
+--eval SELECT '$gtid_binlog_state_node1' = @@global.gtid_binlog_state AS gtid_binlog_state_equal;
+--enable_query_log
+
+--connection node_1
+DROP TABLE t1;
+
+#
+# Unfortunately without the sleep below the following statement fails with "query returned no rows", which
+# is difficult to understand given that it is an aggregate query. A "query execution was interrupted"
+# warning is also reported by MTR, which is also weird.
+#
+
+--sleep 1
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/t/galera_as_slave_nonprim.cnf b/mysql-test/suite/galera/t/galera_as_slave_nonprim.cnf
new file mode 100644
index 00000000000..5a44e5664b5
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_nonprim.cnf
@@ -0,0 +1 @@
+!include ../galera_3nodes_as_slave.cnf
diff --git a/mysql-test/suite/galera/t/galera_as_slave_nonprim.test b/mysql-test/suite/galera/t/galera_as_slave_nonprim.test
new file mode 100644
index 00000000000..46a93458271
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_nonprim.test
@@ -0,0 +1,96 @@
+#
+# Test the behavior of a Galera async slave if it goes non-prim. Async replication
+# should abort with an error but it should be possible to restart it.
+#
+# The galera/galera_2node_slave.cnf describes the setup of the nodes
+#
+
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+# Step #1. Establish replication
+#
+# As node #1 is not a Galera node, we connect to node #2 in order to run include/galera_cluster.inc
+#
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/galera_cluster.inc
+
+--connection node_2
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$NODE_MYPORT_1, MASTER_USER='root';
+--enable_query_log
+START SLAVE;
+SET SESSION wsrep_sync_wait = 0;
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+--sleep 1
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+# Step #2. Force async slave to go non-primary
+
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--connection node_3
+--source include/wait_until_connected_again.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+# Step #3. Force async replication to fail by creating a replication event while the slave is non-prim
+
+--connection node_1
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
+
+--connection node_2
+--sleep 5
+
+--let $value = query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1)
+--connection node_3
+--disable_query_log
+--eval SELECT "$value" IN ("Error 'Unknown command' on query. Default database: 'test'. Query: 'BEGIN'", "Node has dropped from cluster") AS expected_error
+--enable_query_log
+
+# Step #4. Bring back the async slave and restart replication
+--connection node_2
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+
+--connection node_3
+--source include/wait_until_connected_again.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+--connection node_2
+--source include/wait_until_ready.inc
+--source include/wait_until_connected_again.inc
+
+START SLAVE;
+
+# Confirm that the replication events have arrived
+
+--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
+--source include/wait_condition.inc
+
+--connection node_1
+DROP TABLE t1;
+
+--sleep 2
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
+
+CALL mtr.add_suppression("Slave SQL: Error 'Unknown command' on query");
+CALL mtr.add_suppression("Slave: Unknown command Error_code: 1047");
+CALL mtr.add_suppression("Transport endpoint is not connected");
+CALL mtr.add_suppression("Slave SQL: Error in Xid_log_event: Commit could not be completed, 'Deadlock found when trying to get lock; try restarting transaction', Error_code: 1213");
+CALL mtr.add_suppression("Slave SQL: Node has dropped from cluster, Error_code: 1047");
+
+
+--connection node_1
+RESET MASTER;
diff --git a/mysql-test/suite/galera/t/galera_as_slave_preordered.cnf b/mysql-test/suite/galera/t/galera_as_slave_preordered.cnf
new file mode 100644
index 00000000000..d1a0fb15ff3
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_preordered.cnf
@@ -0,0 +1,3 @@
+!include ../galera_2nodes_as_slave.cnf
+[mysqld]
+wsrep-preordered=TRUE
diff --git a/mysql-test/suite/galera/t/galera_as_slave_preordered.test b/mysql-test/suite/galera/t/galera_as_slave_preordered.test
new file mode 100644
index 00000000000..6f221f83b3a
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_preordered.test
@@ -0,0 +1,84 @@
+#
+# Test Galera as a slave to a MySQL master with --wsrep-preordered=TRUE
+#
+# The galera/galera_2node_slave.cnf describes the setup of the nodes
+#
+
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+
+# As node #1 is not a Galera node, we connect to node #2 in order to run include/galera_cluster.inc
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/galera_cluster.inc
+
+--connection node_2
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE USER='root';
+
+#
+# Issue many large-ish transaction on the async master
+#
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=InnoDB;
+
+--disable_query_log
+--let $count = 100
+while ($count)
+{
+ --eval INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2;
+ --dec $count
+}
+--enable_query_log
+
+#
+# While the async transactions are being applied, issue another set of transactions
+# on the Galera node.
+#
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+--let $count = 100
+--disable_query_log
+while ($count)
+{
+ --eval INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2;
+ --dec $count
+}
+--enable_query_log
+
+#
+# Confirm that all transactions successfully committed
+#
+
+--let $wait_condition = SELECT COUNT(*) = 2 * 100 * 10 * 10 FROM t1;
+--source include/wait_condition.inc
+
+SELECT COUNT(DISTINCT f1) = 2 * 100 * 10 * 10 FROM t1;
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--connection node_3
+SELECT COUNT(*) = 2 * 100 * 10 * 10 FROM t1;
+SELECT COUNT(DISTINCT f1) = 2 * 100 * 10 * 10 FROM t1;
+
+#
+# Cleanup
+#
+
+--connection node_1
+DROP TABLE t1;
+DROP TABLE ten;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/t/galera_as_slave_replication_bundle.cnf b/mysql-test/suite/galera/t/galera_as_slave_replication_bundle.cnf
new file mode 100644
index 00000000000..d092d88bfaf
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_replication_bundle.cnf
@@ -0,0 +1,4 @@
+!include ../galera_2nodes_as_slave.cnf
+
+[mysqld]
+wsrep-mysql-replication-bundle=2
diff --git a/mysql-test/suite/galera/t/galera_as_slave_replication_bundle.test b/mysql-test/suite/galera/t/galera_as_slave_replication_bundle.test
new file mode 100644
index 00000000000..460e040c010
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_as_slave_replication_bundle.test
@@ -0,0 +1,48 @@
+#
+# Test the wsrep_replication_bundle variable. We expect that multiple async replication events
+# will be grouped together and thus a smaller number of wsrep_last_committed transactions will
+# be reported.
+#
+
+--source include/have_innodb.inc
+
+# As node #1 is not a Galera node, we connect to node #2 in order to run include/galera_cluster.inc
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/galera_cluster.inc
+
+--connection node_2
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE;
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+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);
+
+--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(*) = 4 FROM t1;
+--source include/wait_condition.inc
+
+# With wsrep_mysql_replication_bundle = 2, the last insert is not delivered
+# because there are not enough events remaining to complete an entire bundle
+SELECT COUNT(*) = 4 FROM t1;
+
+# Bundle is now complete, the last INSERT and the DROP are delivered
+--connection node_1
+DROP TABLE t1;
+
+--connection node_2
+--sleep 1
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+STOP SLAVE;
+RESET SLAVE ALL;
diff --git a/mysql-test/suite/galera/t/galera_autoinc_sst_mariabackup.cnf b/mysql-test/suite/galera/t/galera_autoinc_sst_mariabackup.cnf
new file mode 100644
index 00000000000..7e557717744
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_autoinc_sst_mariabackup.cnf
@@ -0,0 +1,12 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=mariabackup
+wsrep_sst_auth="root:"
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/galera_autoinc_sst_mariabackup.test b/mysql-test/suite/galera/t/galera_autoinc_sst_mariabackup.test
new file mode 100644
index 00000000000..20f2fb9dea0
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_autoinc_sst_mariabackup.test
@@ -0,0 +1,90 @@
+#
+# Test that autoincrement works correctly while the cluster membership
+# is changing and SST takes place.
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_mariabackup.inc
+
+--connection node_1
+--let $connection_id = `SELECT CONNECTION_ID()`
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+
+# Issue an endless stream of autoincrement inserts
+
+DELIMITER |;
+CREATE PROCEDURE p1 ()
+BEGIN
+ DECLARE x INT DEFAULT 1;
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+
+ WHILE 1 DO
+ INSERT INTO t1 VALUES (DEFAULT);
+ COMMIT;
+ END WHILE;
+END|
+DELIMITER ;|
+
+--send CALL p1();
+--sleep 1
+
+--connection node_2
+--send CALL p1();
+--sleep 1
+
+# Kill and restart node #2
+
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2a
+--source include/kill_galera.inc
+
+--source include/start_mysqld.inc
+
+INSERT INTO t1 VALUES (DEFAULT);
+
+# Terminate the stored procedure
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+--disable_query_log
+--eval KILL CONNECTION $connection_id
+--enable_query_log
+
+INSERT INTO t1 VALUES (DEFAULT);
+
+--connection node_1
+# CR_SERVER_LOST
+--error 2013,2006
+--reap
+
+--connection node_2
+# CR_SERVER_LOST
+--error 2013,2006
+--reap
+
+# Confirm that the count is correct and that the cluster is intact
+
+--connection node_1a
+--let $count = `SELECT COUNT(*) FROM t1`
+
+--connection node_2a
+--disable_query_log
+--eval SELECT COUNT(*) = $count AS count_equal FROM t1
+--enable_query_log
+
+CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member 0");
+
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1a
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+DROP PROCEDURE p1;
+DROP TABLE t1;
+
+CALL mtr.add_suppression("gcs_caused\\(\\) returned -1 \\(Operation not permitted\\)");
+CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member 0");
diff --git a/mysql-test/suite/galera/t/galera_autoinc_sst_xtrabackup.cnf b/mysql-test/suite/galera/t/galera_autoinc_sst_xtrabackup.cnf
new file mode 100644
index 00000000000..b4bf5f02171
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_autoinc_sst_xtrabackup.cnf
@@ -0,0 +1,12 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=xtrabackup-v2
+wsrep_sst_auth="root:"
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/galera_autoinc_sst_xtrabackup.test b/mysql-test/suite/galera/t/galera_autoinc_sst_xtrabackup.test
new file mode 100644
index 00000000000..cd7621bfa6e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_autoinc_sst_xtrabackup.test
@@ -0,0 +1,96 @@
+#
+# Test that autoincrement works correctly while the cluster membership
+# is changing and SST takes place.
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_xtrabackup.inc
+
+--connection node_1
+--let $connection_id = `SELECT CONNECTION_ID()`
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+
+# Issue an endless stream of autoincrement inserts
+
+DELIMITER |;
+CREATE PROCEDURE p1 ()
+BEGIN
+ DECLARE x INT DEFAULT 1;
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+
+ WHILE 1 DO
+ INSERT INTO t1 VALUES (DEFAULT);
+ COMMIT;
+ END WHILE;
+END|
+DELIMITER ;|
+
+--send CALL p1();
+--sleep 2
+
+--connection node_2
+--send CALL p1();
+--sleep 2
+
+# Kill and restart node #2
+
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2a
+--source include/kill_galera.inc
+
+--sleep 10
+--source include/start_mysqld.inc
+--sleep 25
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (DEFAULT);
+
+# Terminate the stored procedure
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+--disable_query_log
+--eval KILL CONNECTION $connection_id
+--enable_query_log
+
+INSERT INTO t1 VALUES (DEFAULT);
+
+--connection node_1
+# CR_SERVER_LOST
+--error 2013,2006
+--reap
+
+--connection node_2
+# CR_SERVER_LOST
+--error 2013,2006
+--reap
+
+--sleep 10
+
+# Confirm that the count is correct and that the cluster is intact
+
+--connection node_1a
+--let $count = `SELECT COUNT(*) FROM t1`
+
+--connection node_2a
+--disable_query_log
+--eval SELECT COUNT(*) = $count AS count_equal FROM t1
+--enable_query_log
+
+CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member 0");
+
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1a
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+DROP PROCEDURE p1;
+DROP TABLE t1;
+
+CALL mtr.add_suppression("gcs_caused\\(\\) returned -1 \\(Operation not permitted\\)");
+CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member 0");
diff --git a/mysql-test/suite/galera/t/galera_bf_abort.test b/mysql-test/suite/galera/t/galera_bf_abort.test
new file mode 100644
index 00000000000..f3476fba490
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_abort.test
@@ -0,0 +1,34 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test a local transaction being aborted by a slave one
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(6)) ENGINE=InnoDB;
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+
+--connection node_2
+--let $wsrep_local_bf_aborts_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'node_2');
+
+--connection node_1
+INSERT INTO t1 VALUES (1,'node_1');
+
+--connection node_2a
+--let $wait_condition = SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'node_1'
+--source include/wait_condition.inc
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+INSERT INTO t1 VALUES (2, 'node_2');
+
+--let $wsrep_local_bf_aborts_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+
+--disable_query_log
+--eval SELECT $wsrep_local_bf_aborts_after - $wsrep_local_bf_aborts_before = 1 AS wsrep_local_aborts_increment;
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_bf_abort_flush_for_export.test b/mysql-test/suite/galera/t/galera_bf_abort_flush_for_export.test
new file mode 100644
index 00000000000..fde783e2cef
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_abort_flush_for_export.test
@@ -0,0 +1,39 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test that a local FLUSH TABLES FOR EXPORT will NOT be broken by an incoming remote transaction against that table
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+--let $wsrep_local_bf_aborts_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+FLUSH TABLES t1 FOR EXPORT;
+
+--connection node_1
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+SET SESSION wsrep_sync_wait = 0;
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock'
+--source include/wait_condition.inc
+
+UNLOCK TABLES;
+
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock'
+--source include/wait_condition.inc
+
+COMMIT;
+SET AUTOCOMMIT=ON;
+SET SESSION wsrep_sync_wait = 15;
+SELECT COUNT(*) = 1 FROM t1;
+
+--let $wsrep_local_bf_aborts_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+
+--disable_query_log
+--eval SELECT $wsrep_local_bf_aborts_after - $wsrep_local_bf_aborts_before = 0 AS wsrep_local_aborts_increment;
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_bf_abort_for_update.test b/mysql-test/suite/galera/t/galera_bf_abort_for_update.test
new file mode 100644
index 00000000000..13e48f8f3ce
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_abort_for_update.test
@@ -0,0 +1,56 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test a local transaction being aborted by a slave one while it is running a SELECT FOR UPDATE
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 INT) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (1, 10);
+
+# Test updating the PK
+
+--connection node_1
+--let $wsrep_local_bf_aborts_before = `SELECT variable_value FROM information_schema.global_status WHERE variable_name = 'wsrep_local_bf_aborts'`
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+
+--connection node_2
+UPDATE t1 SET f1 = 2;
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--let $wait_condition = SELECT COUNT(*) FROM t1 WHERE f1 = 2
+--source include/wait_condition.inc
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+--disable_query_log
+--eval SELECT variable_value - $wsrep_local_bf_aborts_before AS wsrep_local_bf_aborts_diff FROM information_schema.global_status WHERE variable_name = 'wsrep_local_bf_aborts'
+--enable_query_log
+
+# Test updating non-indexed column
+
+--connection node_1
+--let $wsrep_local_bf_aborts_before = `SELECT variable_value FROM information_schema.global_status WHERE variable_name = 'wsrep_local_bf_aborts'`
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+
+--connection node_2
+UPDATE t1 SET f2 = 20;
+
+--connection node_1a
+--let $wait_condition = SELECT COUNT(*) FROM t1 WHERE f2 = 20
+--source include/wait_condition.inc
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+--disable_query_log
+--eval SELECT variable_value - $wsrep_local_bf_aborts_before AS wsrep_local_bf_aborts_diff FROM information_schema.global_status WHERE variable_name = 'wsrep_local_bf_aborts'
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_bf_abort_ftwrl.test b/mysql-test/suite/galera/t/galera_bf_abort_ftwrl.test
new file mode 100644
index 00000000000..44398e717d1
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_abort_ftwrl.test
@@ -0,0 +1,30 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# A local transaction running FLUSH TABLES WITH READ LOCK will not be aborted by a slave transaction
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+--let $wsrep_local_bf_aborts_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+--send FLUSH TABLES WITH READ LOCK;
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--reap
+
+UNLOCK TABLES;
+
+--let $wsrep_local_bf_aborts_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+
+# No aborts should be registered on the counter
+--disable_query_log
+--eval SELECT $wsrep_local_bf_aborts_after - $wsrep_local_bf_aborts_before = 0 AS wsrep_local_aborts_increment;
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_bf_abort_get_lock.test b/mysql-test/suite/galera/t/galera_bf_abort_get_lock.test
new file mode 100644
index 00000000000..72fc1c5b583
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_abort_get_lock.test
@@ -0,0 +1,36 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test a local transaction being aborted by a slave one while it is running a GET_LOCK()
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+SELECT GET_LOCK("foo", 1000);
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+--let $wsrep_local_bf_aborts_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+INSERT INTO t1 VALUES (1);
+--send SELECT GET_LOCK("foo", 1000);
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+--reap
+
+--let $wsrep_local_bf_aborts_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+
+# Check that wsrep_local_bf_aborts has been incremented by exactly 1
+--disable_query_log
+--eval SELECT $wsrep_local_bf_aborts_after - $wsrep_local_bf_aborts_before = 1 AS wsrep_local_aborts_increment;
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_bf_abort_lock_table.test b/mysql-test/suite/galera/t/galera_bf_abort_lock_table.test
new file mode 100644
index 00000000000..4582f3f972d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_abort_lock_table.test
@@ -0,0 +1,36 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test that a local LOCK TABLE will NOT be broken by an incoming remote transaction against that table
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+--let $wsrep_local_bf_aborts_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+LOCK TABLE t1 WRITE;
+
+--connection node_1
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock'
+--source include/wait_condition.inc
+
+UNLOCK TABLES;
+
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock'
+--source include/wait_condition.inc
+
+COMMIT;
+SELECT COUNT(*) = 1 FROM t1;
+
+--let $wsrep_local_bf_aborts_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+
+--disable_query_log
+--eval SELECT $wsrep_local_bf_aborts_after - $wsrep_local_bf_aborts_before = 0 AS wsrep_local_aborts_increment;
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_bf_abort_sleep.test b/mysql-test/suite/galera/t/galera_bf_abort_sleep.test
new file mode 100644
index 00000000000..8d135dc7d42
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_abort_sleep.test
@@ -0,0 +1,30 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test a local transaction being aborted by a slave one while it is running a SLEEP()
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+--let $wsrep_local_bf_aborts_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+INSERT INTO t1 VALUES (1);
+--send SELECT SLEEP(1000);
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+--reap
+
+--let $wsrep_local_bf_aborts_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+
+# Check that wsrep_local_bf_aborts has been incremented by exactly 1
+--disable_query_log
+--eval SELECT $wsrep_local_bf_aborts_after - $wsrep_local_bf_aborts_before = 1 AS wsrep_local_aborts_increment;
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_bf_background_statistics.opt b/mysql-test/suite/galera/t/galera_bf_background_statistics.opt
new file mode 100644
index 00000000000..f9b1414a974
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_background_statistics.opt
@@ -0,0 +1 @@
+--innodb_stats_persistent=ON
diff --git a/mysql-test/suite/galera/t/galera_bf_background_statistics.test b/mysql-test/suite/galera/t/galera_bf_background_statistics.test
new file mode 100644
index 00000000000..1030e8d4154
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_background_statistics.test
@@ -0,0 +1,49 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test a local transaction being aborted by a slave one while it is running a SLEEP()
+#
+
+SELECT @@innodb_stats_persistent;
+
+CREATE TABLE t1 (f1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, f2 INTEGER DEFAULT NULL) ENGINE=InnoDB;
+INSERT INTO t1(f1) values (NULL);
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+INSERT INTO t1(f1) select NULL from t1;
+SELECT count(1) from t1;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+--let $wsrep_local_bf_aborts_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+INSERT INTO t1 VALUES (9999999,NULL);
+--send SELECT SLEEP(1000);
+
+--connection node_1
+ALTER TABLE t1 CHANGE f2 f2 INTEGER NOT NULL DEFAULT 1;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+--reap
+
+--let $wsrep_local_bf_aborts_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_bf_aborts'`
+
+# Check that wsrep_local_bf_aborts has been incremented by exactly 1
+--disable_query_log
+--eval SELECT $wsrep_local_bf_aborts_after - $wsrep_local_bf_aborts_before = 1 AS wsrep_local_aborts_increment;
+--enable_query_log
+
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/galera/t/galera_bf_lock_wait.test b/mysql-test/suite/galera/t/galera_bf_lock_wait.test
new file mode 100644
index 00000000000..e3a9077a888
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_lock_wait.test
@@ -0,0 +1,52 @@
+--source include/galera_cluster.inc
+--source include/big_test.inc
+
+CREATE TABLE t1 ENGINE=InnoDB select 1 as a, 1 as b union select 2, 2;
+ALTER TABLE t1 add primary key(a);
+
+DELIMITER |;
+
+CREATE PROCEDURE p1()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION rollback;
+ WHILE 1 DO
+ start transaction;
+ update t1 set b=connection_id() where a=1;
+ commit;
+ END WHILE;
+END|
+
+
+DELIMITER ;|
+
+--connect node_1_p1, 127.0.0.1, root, , test, $NODE_MYPORT_1
+send call p1;
+--connect node_1_p2, 127.0.0.1, root, , test, $NODE_MYPORT_1
+send call p1;
+--connect node_2_p1, 127.0.0.1, root, , test, $NODE_MYPORT_2
+send call p1;
+--connect node_2_p2, 127.0.0.1, root, , test, $NODE_MYPORT_2
+send call p1;
+
+connection default;
+let $counter=10;
+let $sleep_period=10;
+
+echo checking error log for 'BF lock wait long' message for $counter times every $sleep_period seconds ...;
+while($counter > 0)
+{
+--disable_query_log
+--disable_result_log
+ eval do sleep($sleep_period);
+--enable_query_log
+--enable_result_log
+
+# use error 0,1 instead if want test to continue
+ --error 1
+ exec grep 'BF lock wait long' $MYSQLTEST_VARDIR/log/mysqld.*.err;
+ dec $counter;
+}
+
+drop table t1;
+drop procedure p1;
+
diff --git a/mysql-test/suite/galera/t/galera_binlog_cache_size.test b/mysql-test/suite/galera/t/galera_binlog_cache_size.test
new file mode 100644
index 00000000000..6ce9072d412
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_cache_size.test
@@ -0,0 +1,35 @@
+#
+# Test that Galera, like the stock MySQL, returns an error on transactions
+# larger than max_binlog_cache_size
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 VARCHAR(767)) ENGINE=InnoDB;
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+--let $max_binlog_cache_size_orig = `SELECT @@max_binlog_cache_size`
+--let $binlog_cache_size_orig = `SELECT @@binlog_cache_size`
+
+SET GLOBAL binlog_cache_size=4096;
+SET GLOBAL max_binlog_cache_size=4096;
+
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+--connection node_1a
+SET AUTOCOMMIT=ON;
+START TRANSACTION;
+INSERT INTO t1 SELECT REPEAT('a', 767) FROM ten;
+--error ER_TRANS_CACHE_FULL
+INSERT INTO t1 SELECT REPEAT('a', 767) FROM ten;
+
+--disable_query_log
+--eval SET GLOBAL max_binlog_cache_size = $max_binlog_cache_size_orig
+--eval SET GLOBAL binlog_cache_size = $binlog_cache_size_orig
+--enable_query_log
+
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_binlog_checksum-master.opt b/mysql-test/suite/galera/t/galera_binlog_checksum-master.opt
new file mode 100644
index 00000000000..c8e53f07fc2
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_checksum-master.opt
@@ -0,0 +1 @@
+--binlog-checksum=CRC32 --master-verify-checksum=1 --slave-sql-verify-checksum=1
diff --git a/mysql-test/suite/galera/t/galera_binlog_checksum.test b/mysql-test/suite/galera/t/galera_binlog_checksum.test
new file mode 100644
index 00000000000..48669305242
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_checksum.test
@@ -0,0 +1,22 @@
+#
+# Test that Galera works with binary log checksums.
+# The galera_binlog_checksum-master.opt file is used to enable checksums.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_binlog_event_max_size_max-master.opt b/mysql-test/suite/galera/t/galera_binlog_event_max_size_max-master.opt
new file mode 100644
index 00000000000..a36d21315a6
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_event_max_size_max-master.opt
@@ -0,0 +1 @@
+--binlog-row-event-max-size=4294967295
diff --git a/mysql-test/suite/galera/t/galera_binlog_event_max_size_max.test b/mysql-test/suite/galera/t/galera_binlog_event_max_size_max.test
new file mode 100644
index 00000000000..d0cc23446b2
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_event_max_size_max.test
@@ -0,0 +1,21 @@
+#
+# Test that replication works event with the maximum value of binlog-row-event-max-size - 4294967295 (on 32-bit platforms)
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 VARCHAR(1000));
+
+# Insert 10K records, 1K bytes each
+INSERT INTO t1 SELECT REPEAT('x', 1000) FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+
+--connection node_2
+SELECT COUNT(*) = 10000 FROM t1;
+
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_binlog_event_max_size_min-master.opt b/mysql-test/suite/galera/t/galera_binlog_event_max_size_min-master.opt
new file mode 100644
index 00000000000..22174756652
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_event_max_size_min-master.opt
@@ -0,0 +1 @@
+--binlog-row-event-max-size=256
diff --git a/mysql-test/suite/galera/t/galera_binlog_event_max_size_min.test b/mysql-test/suite/galera/t/galera_binlog_event_max_size_min.test
new file mode 100644
index 00000000000..00b55339770
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_event_max_size_min.test
@@ -0,0 +1,15 @@
+#
+# Test that replication works event with the minimum value of binlog-row-event-max-size - 256
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 VARCHAR(1000));
+INSERT INTO t1 VALUES (REPEAT('x', 1000));
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = REPEAT('x', 1000);
+
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/galera/t/galera_binlog_row_image.test b/mysql-test/suite/galera/t/galera_binlog_row_image.test
new file mode 100644
index 00000000000..70262ec44ca
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_row_image.test
@@ -0,0 +1,100 @@
+#
+# Test the operation on the different values of the binlog_row_image option
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# binlog_row_image = minimal
+#
+
+--connection node_1
+SET SESSION binlog_row_image=minimal;
+
+# Create a table with a PK, with a unique key and with no key
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER NOT NULL UNIQUE) ENGINE=InnoDB;
+CREATE TABLE t3 (f1 VARCHAR(1)) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t3 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1;
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 1;
+SELECT COUNT(*) = 1 FROM t3 WHERE f1 = 1;
+
+--connection node_1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+UPDATE t2 SET f1 = 2 WHERE f1 = 1;
+UPDATE t3 SET f1 = 2 WHERE f1 = 1;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 2;
+SELECT COUNT(*) = 1 FROM t3 WHERE f1 = 2;
+
+--connection node_1
+DELETE FROM t1;
+DELETE FROM t2;
+DELETE FROM t3;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) = 0 FROM t2;
+SELECT COUNT(*) = 0 FROM t3;
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+
+#
+# binlog_row_image = noblob
+#
+
+# A table with only a blob, and a table with a PK and a blob
+
+--connection node_1
+SET SESSION binlog_row_image=noblob;
+
+CREATE TABLE t1 (f1 BLOB, f2 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 BLOB) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES ('abc', 1);
+INSERT INTO t2 VALUES ('abc');
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'abc';
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 'abc';
+
+--connection node_1
+UPDATE t1 SET f1 = 'xyz';
+UPDATE t2 SET f1 = 'xyz';
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'xyz';
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 'xyz';
+
+--connection node_1
+UPDATE t1 SET f2 = 2 WHERE f2 = 1;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 2;
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'xyz';
+
+--connection node_1
+DELETE FROM t1;
+DELETE FROM t2;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) = 0 FROM t2;
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+
+
+
diff --git a/mysql-test/suite/galera/t/galera_binlog_rows_query_log_events.test b/mysql-test/suite/galera/t/galera_binlog_rows_query_log_events.test
new file mode 100644
index 00000000000..95bc85c4cab
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_rows_query_log_events.test
@@ -0,0 +1,28 @@
+#
+# Test that Galera continues to run even with binlog-rows-query-log-events=TRUE
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $binlog_rows_query_log_events_orig = `SELECT @@binlog_rows_query_log_events`
+
+SET GLOBAL binlog_rows_query_log_events=TRUE;
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+
+--connection node_1
+--eval SET GLOBAL binlog_rows_query_log_events = $binlog_rows_query_log_events_orig
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_binlog_stmt_autoinc.test b/mysql-test/suite/galera/t/galera_binlog_stmt_autoinc.test
new file mode 100644
index 00000000000..d3889a89016
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_binlog_stmt_autoinc.test
@@ -0,0 +1,230 @@
+##
+## Tests the auto-increment with binlog in STATEMENT mode.
+##
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+##
+## Verify the correct operation of the auto-increment when the binlog
+## format artificially set to the 'STATEMENT' (although this mode is
+## not recommended in the current version):
+##
+
+--connection node_2
+SET GLOBAL wsrep_forced_binlog_format='STATEMENT';
+
+--connection node_1
+SET GLOBAL wsrep_forced_binlog_format='STATEMENT';
+
+CREATE TABLE t1 (
+ i int(11) NOT NULL AUTO_INCREMENT,
+ c char(32) DEFAULT 'dummy_text',
+ PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+insert into t1(i) values(null);
+
+select * from t1;
+
+insert into t1(i) values(null), (null), (null);
+
+select * from t1;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 4 FROM t1;
+--source include/wait_condition.inc
+select * from t1;
+
+SET GLOBAL wsrep_forced_binlog_format='none';
+
+--connection node_1
+
+SET GLOBAL wsrep_forced_binlog_format='none';
+
+drop table t1;
+
+##
+## Check the operation when the automatic control over the auto-increment
+## settings is switched off, that is, when we use the increment step and
+## the offset specified by the user. In the current session, the binlog
+## format is set to 'STATEMENT'. It is important that the values of the
+## auto-increment options does not changed on other node - it allows us
+## to check the correct transmission of the auto-increment options to
+## other nodes:
+##
+
+--disable_warnings
+SET SESSION binlog_format='STATEMENT';
+--enable_warnings
+
+show variables like 'binlog_format';
+
+SET GLOBAL wsrep_auto_increment_control='OFF';
+
+SET SESSION auto_increment_increment = 3;
+SET SESSION auto_increment_offset = 1;
+
+CREATE TABLE t1 (
+ i int(11) NOT NULL AUTO_INCREMENT,
+ c char(32) DEFAULT 'dummy_text',
+ PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+insert into t1(i) values(null);
+
+select * from t1;
+
+insert into t1(i) values(null), (null), (null);
+
+select * from t1;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 4 FROM t1;
+--source include/wait_condition.inc
+
+select * from t1;
+
+--connection node_1
+
+##
+## Verify the return to automatic calculation of the step
+## and offset of the auto-increment:
+##
+
+SET GLOBAL wsrep_auto_increment_control='ON';
+
+SET SESSION binlog_format='ROW';
+
+show variables like 'binlog_format';
+show variables like '%auto_increment%';
+
+##
+## Verify the recovery of original user-defined values after
+## stopping the automatic control over auto-increment:
+##
+
+SET GLOBAL wsrep_auto_increment_control='OFF';
+
+show variables like '%auto_increment%';
+
+##
+## Restore original options and drop test table:
+##
+
+SET GLOBAL wsrep_auto_increment_control='ON';
+
+drop table t1;
+
+##
+## Verify the correct operation of the auto-increment when the binlog
+## format set to the 'ROW':
+##
+
+--connection node_2
+SET GLOBAL wsrep_forced_binlog_format='ROW';
+
+--connection node_1
+SET GLOBAL wsrep_forced_binlog_format='ROW';
+
+CREATE TABLE t1 (
+ i int(11) NOT NULL AUTO_INCREMENT,
+ c char(32) DEFAULT 'dummy_text',
+ PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+insert into t1(i) values(null);
+
+select * from t1;
+
+insert into t1(i) values(null), (null), (null);
+
+select * from t1;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 4 FROM t1;
+--source include/wait_condition.inc
+
+select * from t1;
+
+SET GLOBAL wsrep_forced_binlog_format='none';
+
+--connection node_1
+
+SET GLOBAL wsrep_forced_binlog_format='none';
+
+drop table t1;
+
+##
+## Check the operation when the automatic control over the auto-increment
+## settings is switched off, that is, when we use the increment step and
+## the offset specified by the user. In the current session, the binlog
+## format is set to 'ROW'. It is important that the values of the
+## auto-increment options does not changed on other node - it allows us
+## to check the correct transmission of the auto-increment options to
+## other nodes:
+##
+
+SET SESSION binlog_format='ROW';
+
+show variables like 'binlog_format';
+
+SET GLOBAL wsrep_auto_increment_control='OFF';
+
+SET SESSION auto_increment_increment = 3;
+SET SESSION auto_increment_offset = 1;
+
+CREATE TABLE t1 (
+ i int(11) NOT NULL AUTO_INCREMENT,
+ c char(32) DEFAULT 'dummy_text',
+ PRIMARY KEY (i)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+insert into t1(i) values(null);
+
+select * from t1;
+
+insert into t1(i) values(null), (null), (null);
+
+select * from t1;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 4 FROM t1;
+--source include/wait_condition.inc
+
+select * from t1;
+
+--connection node_1
+
+##
+## Verify the return to automatic calculation of the step
+## and offset of the auto-increment:
+##
+
+SET GLOBAL wsrep_auto_increment_control='ON';
+
+show variables like 'binlog_format';
+show variables like '%auto_increment%';
+
+##
+## Verify the recovery of original user-defined values after
+## stopping the automatic control over auto-increment:
+##
+
+SET GLOBAL wsrep_auto_increment_control='OFF';
+
+show variables like '%auto_increment%';
+
+##
+## Restore original options and drop test table:
+##
+
+SET GLOBAL wsrep_auto_increment_control='ON';
+
+drop table t1;
+
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_concurrent_ctas.test b/mysql-test/suite/galera/t/galera_concurrent_ctas.test
new file mode 100644
index 00000000000..6c4e8be68a7
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_concurrent_ctas.test
@@ -0,0 +1,57 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--write_file $MYSQLTEST_VARDIR/tmp/galera_concurrent.sql
+CREATE table t1 as SELECT SLEEP(0);
+DROP table t1;
+CREATE table t1 as SELECT SLEEP(0);
+DROP table t1;
+CREATE table t1 as SELECT SLEEP(0);
+DROP table t1;
+CREATE table t1 as SELECT SLEEP(0);
+DROP table t1;
+CREATE table t1 as SELECT SLEEP(0);
+DROP table t1;
+CREATE table t1 as SELECT SLEEP(0);
+DROP table t1;
+CREATE table t1 as SELECT SLEEP(0);
+DROP table t1;
+CREATE table t1 as SELECT SLEEP(0);
+DROP table t1;
+CREATE table t1 as SELECT SLEEP(0);
+CREATE table t2 as SELECT SLEEP(0);
+CREATE table t3 as SELECT SLEEP(0);
+CREATE table t4 as SELECT SLEEP(0);
+CREATE table t5 as SELECT SLEEP(0);
+CREATE table t6 as SELECT SLEEP(0);
+CREATE table t7 as SELECT SLEEP(0);
+CREATE table t8 as SELECT SLEEP(0);
+CREATE table t9 as SELECT SLEEP(0);
+DROP table t1;
+DROP table t2;
+DROP table t3;
+DROP table t4;
+DROP table t5;
+DROP table t6;
+DROP table t7;
+DROP table t8;
+DROP table t9;
+EOF
+
+let $run=10;
+
+while($run)
+{
+ --error 0,1
+ exec $MYSQL --user=root --host=127.0.0.1 --port=$NODE_MYPORT_1 test \
+ < $MYSQLTEST_VARDIR/tmp/galera_concurrent.sql & \
+ $MYSQL --user=root --host=127.0.0.1 --port=$NODE_MYPORT_2 test \
+ < $MYSQLTEST_VARDIR/tmp/galera_concurrent.sql;
+ dec $run;
+}
+
+--remove_file $MYSQLTEST_VARDIR/tmp/galera_concurrent.sql
+
+--source include/galera_end.inc
+--echo # End of test
+
diff --git a/mysql-test/suite/galera/t/galera_create_function.test b/mysql-test/suite/galera/t/galera_create_function.test
new file mode 100644
index 00000000000..0d7cec0114f
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_create_function.test
@@ -0,0 +1,53 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test CREATE FUNCTION
+#
+
+--connection node_1
+CREATE USER 'user1';
+
+CREATE
+DEFINER = 'user1'
+FUNCTION f1 (param INTEGER)
+RETURNS VARCHAR(200)
+COMMENT 'f1_comment'
+LANGUAGE SQL
+NOT DETERMINISTIC
+MODIFIES SQL DATA
+SQL SECURITY DEFINER
+RETURN 'abc';
+GRANT EXECUTE ON FUNCTION f1 TO user1;
+
+CREATE
+DEFINER = CURRENT_USER
+FUNCTION f2 (param VARCHAR(100))
+RETURNS INTEGER
+DETERMINISTIC
+NO SQL
+SQL SECURITY INVOKER
+RETURN 123;
+
+--connection node_1
+SHOW CREATE FUNCTION f1;
+
+--connection node_2
+# Work around codership/mysql-wsrep#228 - SHOW CREATE FUNCTION not covered by wsrep_sync_wait
+SELECT 1 FROM DUAL;
+SHOW CREATE FUNCTION f1;
+
+--connection node_1
+SHOW CREATE FUNCTION f2;
+
+--connection node_2
+SHOW CREATE FUNCTION f2;
+
+SELECT f1(1) = 'abc';
+SELECT f2('abc') = 123;
+
+--connection node_1
+DROP FUNCTION f1;
+DROP FUNCTION f2;
+
+DROP USER 'user1';
diff --git a/mysql-test/suite/galera/t/galera_create_procedure.test b/mysql-test/suite/galera/t/galera_create_procedure.test
new file mode 100644
index 00000000000..30bc85fcea0
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_create_procedure.test
@@ -0,0 +1,52 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test CREATE PROCEDURE
+#
+
+--connection node_1
+CREATE USER 'user1';
+CREATE TABLE t1 (f1 INTEGER);
+
+CREATE
+DEFINER = 'user1'
+PROCEDURE p1 (IN param1 INTEGER, OUT param2 INTEGER, INOUT param3 INTEGER)
+COMMENT 'p1_comment'
+LANGUAGE SQL
+NOT DETERMINISTIC
+MODIFIES SQL DATA
+SQL SECURITY DEFINER
+INSERT INTO t1 VALUES (1);
+GRANT EXECUTE ON PROCEDURE p1 TO user1;
+
+CREATE
+DEFINER = CURRENT_USER
+PROCEDURE p2 (param VARCHAR(100))
+DETERMINISTIC
+NO SQL
+SQL SECURITY INVOKER BEGIN END ;
+
+--connection node_1
+SHOW CREATE PROCEDURE p1;
+
+--connection node_2
+# Perform causal wait
+SELECT 1 FROM DUAL;
+SHOW CREATE PROCEDURE p1;
+
+--connection node_1
+SHOW CREATE PROCEDURE p2;
+
+--connection node_2
+SHOW CREATE PROCEDURE p2;
+
+CALL p1(@a, @b, @c);
+CALL p2('abc');
+
+--connection node_1
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+
+DROP USER 'user1';
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_create_table_like.test b/mysql-test/suite/galera/t/galera_create_table_like.test
new file mode 100644
index 00000000000..0e0e8b0ffcf
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_create_table_like.test
@@ -0,0 +1,50 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test the various forms of CREATE TABLE LIKE ... , since Galera has special handling
+# for them, especially when one of the tables is a temporary one.
+#
+
+CREATE SCHEMA schema1;
+CREATE SCHEMA schema2;
+
+USE schema1;
+CREATE TABLE real_table (f1 INTEGER) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE temp_table (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE myisam_table (f1 INTEGER) ENGINE=MyISAM;
+
+USE schema2;
+CREATE TABLE real_table1 LIKE schema1.real_table;
+CREATE TABLE real_table2 LIKE schema1.temp_table;
+CREATE TABLE real_table3 LIKE schema1.myisam_table;
+
+CREATE TEMPORARY TABLE temp_table1 LIKE schema1.real_table;
+CREATE TEMPORARY TABLE temp_table2 LIKE schema1.temp_table;
+CREATE TEMPORARY TABLE temp_table3 LIKE schema1.myisam_table;
+
+--connection node_2
+# Only the non-temporary tables are replicated, regardless of the type of table they are based on
+
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'real_table' AND TABLE_SCHEMA = 'schema1';
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'myisam_table' AND TABLE_SCHEMA = 'schema1';
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'temp_table' AND TABLE_SCHEMA = 'schema1';
+
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'real_table1' AND TABLE_SCHEMA = 'schema2';
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'real_table2' AND TABLE_SCHEMA = 'schema2';
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'real_table3' AND TABLE_SCHEMA = 'schema2';
+
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'temp_table1' AND TABLE_SCHEMA = 'schema2';
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'temp_table2' AND TABLE_SCHEMA = 'schema2';
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'temp_table3' AND TABLE_SCHEMA = 'schema2';
+
+--connection node_1
+DROP TABLE schema1.real_table;
+DROP TABLE schema1.myisam_table;
+
+DROP TABLE schema2.real_table1;
+DROP TABLE schema2.real_table2;
+DROP TABLE schema2.real_table3;
+
+DROP SCHEMA schema1;
+DROP SCHEMA schema2;
diff --git a/mysql-test/suite/galera/t/galera_create_trigger.test b/mysql-test/suite/galera/t/galera_create_trigger.test
new file mode 100644
index 00000000000..6708e30bf0f
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_create_trigger.test
@@ -0,0 +1,43 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test CREATE TRIGGER, especially with different DEFINER
+#
+
+CREATE TABLE definer_root (f1 INTEGER, trigger_user VARCHAR(100)) ENGINE=InnoDB;
+CREATE TABLE definer_user (f1 INTEGER, trigger_user VARCHAR(100)) ENGINE=InnoDB;
+CREATE TABLE definer_current_user (f1 INTEGER, trigger_user VARCHAR(100)) ENGINE=InnoDB;
+CREATE TABLE definer_default (f1 INTEGER, trigger_user VARCHAR(100)) ENGINE=InnoDB;
+
+CREATE USER 'user1';
+CREATE DEFINER=root@localhost TRIGGER definer_root BEFORE INSERT ON definer_root FOR EACH ROW SET NEW.trigger_user = CURRENT_USER();
+CREATE DEFINER=user1 TRIGGER definer_user BEFORE INSERT ON definer_user FOR EACH ROW SET NEW.trigger_user = CURRENT_USER();
+CREATE DEFINER=current_user TRIGGER definer_current_user BEFORE INSERT ON definer_current_user FOR EACH ROW SET NEW.trigger_user = CURRENT_USER();
+CREATE TRIGGER definer_default BEFORE INSERT ON definer_default FOR EACH ROW SET NEW.trigger_user = CURRENT_USER();
+
+--connection node_2
+INSERT INTO definer_root (f1) VALUES (1);
+SELECT DEFINER = 'root@localhost' FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME = 'definer_root';
+SELECT trigger_user = 'root@localhost' FROM definer_root;
+
+INSERT INTO definer_user (f1) VALUES (1);
+SELECT DEFINER = 'user1@%' FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME = 'definer_user';
+SELECT trigger_user = 'user1@%' FROM definer_user;
+
+INSERT INTO definer_current_user (f1) VALUES (1);
+SELECT DEFINER = 'root@localhost' FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME = 'definer_current_user';
+SELECT trigger_user = 'root@localhost' FROM definer_current_user;
+
+INSERT INTO definer_default (f1) VALUES (1);
+SELECT DEFINER = 'root@localhost' FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME = 'definer_default';
+SELECT trigger_user = 'root@localhost' FROM definer_default;
+
+--connection node_1
+DROP TABLE definer_current_user;
+DROP TABLE definer_user;
+DROP TABLE definer_root;
+DROP TABLE definer_default;
+
+DROP USER 'user1';
+
diff --git a/mysql-test/suite/galera/t/galera_ddl_multiline.test b/mysql-test/suite/galera/t/galera_ddl_multiline.test
new file mode 100644
index 00000000000..c7155d066fa
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ddl_multiline.test
@@ -0,0 +1,54 @@
+#
+# Test that Galera works correctly with multiline statements, in particular involving DDLs
+#
+
+--source include/galera_cluster.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+
+--connection node_2
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+
+--connection node_1
+--send CREATE TABLE t3 (f1 INTEGER) ENGINE=InnoDB; CREATE TABLE t4 (f1 INTEGER) ENGINE=InnoDB;
+--reap
+
+SHOW CREATE TABLE t3;
+SHOW CREATE TABLE t4;
+
+--connection node_2
+SHOW CREATE TABLE t3;
+SHOW CREATE TABLE t4;
+
+--connection node_1
+INSERT INTO t1 VALUES (1); CREATE TABLE t5 (f1 INTEGER) ENGINE=InnoDB;
+
+SELECT COUNT(*) = 1 FROM t1;
+SHOW CREATE TABLE t5;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+SHOW CREATE TABLE t5;
+
+--connection node_1
+--send CREATE TABLE t6 (f1 INTEGER) ENGINE=InnoDB; INSERT INTO t2 VALUES (1);
+--reap
+
+SELECT COUNT(*) = 1 FROM t2;
+SHOW CREATE TABLE t6;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t2;
+SHOW CREATE TABLE t6;
+
+--let $diff_servers = 1 2
+--source include/diff_servers.inc
+
+--connection node_1
+DROP TABLE t1, t2, t3, t4, t5, t6;
+
diff --git a/mysql-test/suite/galera/t/galera_defaults.test b/mysql-test/suite/galera/t/galera_defaults.test
new file mode 100644
index 00000000000..3d4a7da7b54
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_defaults.test
@@ -0,0 +1,38 @@
+#
+# The purpose of this test is to preserve the current state of the following:
+# * SHOW VARIABLES LIKE 'wsrep%'
+# * wsrep_provider_options
+# * The names of the Galera status variables
+#
+# This way, if there is any change, inadvertent or not, the test will fail and the
+# developer and QA will be alerted.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Make sure that the test is operating on the right version of galera library.
+--disable_query_log
+--let $galera_version=25.3.20
+source ../wsrep/include/check_galera_version.inc;
+--enable_query_log
+
+# Global Variables
+
+SELECT COUNT(*) = 43 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%';
+
+SELECT VARIABLE_NAME, VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME LIKE 'wsrep_%'
+AND VARIABLE_NAME NOT IN (
+ 'WSREP_PROVIDER_OPTIONS',
+ 'WSREP_SST_RECEIVE_ADDRESS',
+ 'WSREP_NODE_ADDRESS',
+ 'WSREP_NODE_NAME',
+ 'WSREP_PROVIDER',
+ 'WSREP_DATA_HOME_DIR',
+ 'WSREP_NODE_INCOMING_ADDRESS',
+ 'WSREP_START_POSITION',
+ 'WSREP_PATCH_VERSION'
+)
+ORDER BY VARIABLE_NAME;
diff --git a/mysql-test/suite/galera/t/galera_delete_limit.test b/mysql-test/suite/galera/t/galera_delete_limit.test
new file mode 100644
index 00000000000..4cbadbd3ba0
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_delete_limit.test
@@ -0,0 +1,52 @@
+#
+# DELETE LIMIT should not cause any issues with row-based Galera replication
+# regardless of the order in which the rows were deleted
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# With a PK
+#
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 SELECT f1 FROM ten ORDER BY RAND();
+
+--connection node_2
+DELETE FROM t1 ORDER BY RAND() LIMIT 5;
+--let $sum_remaining = `SELECT SUM(f1) FROM t1`
+--let $max_remaining = `SELECT MAX(f1) FROM t1`
+
+--connection node_1
+--disable_query_log
+--eval SELECT (SELECT SUM(f1) FROM t1) = $sum_remaining AS sum_matches;
+--eval SELECT f1 = $max_remaining AS max_matches FROM t1 WHERE f1 = $max_remaining;
+--enable_query_log
+
+DROP TABLE t1;
+
+#
+# Without a PK
+#
+
+CREATE TABLE t2 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t2 SELECT f1 FROM ten ORDER BY RAND();
+
+--connection node_2
+DELETE FROM t2 ORDER BY RAND() LIMIT 5;
+--let $sum_remaining = `SELECT SUM(f1) FROM t2`
+--let $max_remaining = `SELECT MAX(f1) FROM t2`
+
+--connection node_1
+--disable_query_log
+--eval SELECT (SELECT SUM(f1) FROM t2) = $sum_remaining AS sum_matches;
+--eval SELECT f1 = $max_remaining AS max_matches FROM t2 WHERE f1 = $max_remaining;
+--enable_query_log
+
+DROP TABLE t2;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_desync_overlapped.test b/mysql-test/suite/galera/t/galera_desync_overlapped.test
new file mode 100644
index 00000000000..8b78e8cdeb7
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_desync_overlapped.test
@@ -0,0 +1,59 @@
+#
+# Test for overlapped transactions under manual desync.
+#
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+
+--connection node_1
+
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+
+CREATE TABLE t1 (f1 INTEGER, PRIMARY KEY (f1)) Engine=InnoDB;
+CREATE TABLE t2 (f1 INTEGER, PRIMARY KEY (f1)) Engine=InnoDB;
+
+SET GLOBAL wsrep_desync = 1;
+show status like 'wsrep_desync_count';
+SET DEBUG_SYNC='before_execute_sql_command SIGNAL alter1 WAIT_FOR alter2';
+send INSERT INTO t1 (f1) SELECT 0000 + (100 * a1.f1) + (10 * a2.f1) + a3.f1 FROM ten AS a1, ten AS a2, ten AS a3;
+
+--connection node_1a
+
+SET GLOBAL wsrep_desync = 1;
+show status like 'wsrep_desync_count';
+SET DEBUG_SYNC='now WAIT_FOR alter1';
+SET DEBUG_SYNC='before_execute_sql_command SIGNAL alter2';
+send INSERT INTO t2 (f1) SELECT 0000 + (100 * a1.f1) + (10 * a2.f1) + a3.f1 FROM ten AS a1, ten AS a2, ten AS a3;
+
+--connection node_1
+reap;
+
+--connection node_1a
+reap;
+
+--connection node_1
+
+SET DEBUG_SYNC='RESET';
+
+SET GLOBAL wsrep_desync = 0;
+show status like 'wsrep_desync_count';
+SET GLOBAL wsrep_desync = 0;
+show status like 'wsrep_desync_count';
+
+--disable_query_log
+call mtr.add_suppression("Trying to make wsrep_desync = OFF on the node that is already synchronized.");
+--enable_query_log
+show status like 'wsrep_desync_count';
+SET GLOBAL wsrep_desync = 0;
+
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t2;
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_drop_database.test b/mysql-test/suite/galera/t/galera_drop_database.test
new file mode 100644
index 00000000000..12d9efea2f9
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_drop_database.test
@@ -0,0 +1,47 @@
+#
+# This test tests a DROP empty database
+#
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+# Create test database with two sets of the FTS indexes:
+CREATE DATABASE fts;
+USE fts;
+CREATE TABLE fts_t1 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 VARCHAR(100), FULLTEXT (f2)) ENGINE=InnoDB;
+CREATE TABLE fts_t2 (f2 VARCHAR(100), FULLTEXT (f2)) ENGINE=InnoDB;
+
+# Insert 1K rows
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+INSERT INTO fts_t1 (f2) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3;
+INSERT INTO fts_t2 (f2) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3;
+DROP TABLE ten;
+UPDATE fts_t1 SET f2 = 'abcd';
+UPDATE fts_t2 SET f2 = 'efjh';
+
+# Restart the second node:
+--connection node_2
+--source include/restart_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
+--source include/wait_until_ready.inc
+
+# Drop the tables and database after nodes restarted:
+--connection node_1
+USE fts;
+DROP TABLE fts_t1;
+DROP TABLE fts_t2;
+SHOW TABLES;
+DROP DATABASE fts;
+
+# Restore original auto_increment_offset values.
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_drop_multi.test b/mysql-test/suite/galera/t/galera_drop_multi.test
new file mode 100644
index 00000000000..44b1b619b2b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_drop_multi.test
@@ -0,0 +1,41 @@
+#
+# Test that multi-table DROP TABLE statements are properly replicated
+# See http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-20.html
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TEMPORARY TABLE t2 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE t3 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t4 (f1 INTEGER) ENGINE=InnoDB;
+
+CREATE TABLE t5 (f1 INTEGER);
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+
+DROP TABLE t1, t2, t3, t4;
+
+INSERT INTO t5 VALUES (1);
+
+COMMIT;
+
+--connection node_2
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t1;
+
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t2;
+
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t3;
+
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t4;
+
+CALL mtr.add_suppression("Slave SQL: Error 'Unknown table 'test.t2,test.t4'' on query\. Default database: 'test'\. Query: 'DROP TABLE t1, t2, t3, t4', Error_code: 1051");
+
+--connection node_1
+DROP TABLE t5;
diff --git a/mysql-test/suite/galera/t/galera_encrypt_tmp_files.cnf b/mysql-test/suite/galera/t/galera_encrypt_tmp_files.cnf
new file mode 100644
index 00000000000..0f7f80b7d0b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_encrypt_tmp_files.cnf
@@ -0,0 +1,8 @@
+!include ../galera_2nodes.cnf
+[mysqld]
+
+encrypt-tmp-files = 1
+plugin-load-add= @ENV.FILE_KEY_MANAGEMENT_SO
+file-key-management
+loose-file-key-management-filename= @ENV.MYSQL_TEST_DIR/std_data/keys.txt
+log-bin
diff --git a/mysql-test/suite/galera/t/galera_encrypt_tmp_files.test b/mysql-test/suite/galera/t/galera_encrypt_tmp_files.test
new file mode 100644
index 00000000000..c42c3dbd98a
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_encrypt_tmp_files.test
@@ -0,0 +1,57 @@
+# This file tests that mariadb cluster should not crash when encrypt_tmp_file
+# is enabled
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
+
+--connection node_1
+
+CREATE TABLE `t1` (
+ `col1` int(11) NOT NULL,
+ `col2` varchar(64) NOT NULL DEFAULT '',
+ `col3` varchar(32) NOT NULL DEFAULT '0',
+ `col4` varchar(64) NOT NULL DEFAULT '',
+ `col5` tinyint(4) NOT NULL DEFAULT '0',
+ `col6` int(11) NOT NULL DEFAULT '0',
+ `col7` varchar(64) NOT NULL DEFAULT '',
+ `col8` tinyint(4) NOT NULL DEFAULT '0',
+ `col9` tinyint(4) NOT NULL DEFAULT '0',
+ `col10` text NOT NULL,
+ `col11` varchar(255) NOT NULL DEFAULT '',
+ `col12` tinyint(4) NOT NULL DEFAULT '1'
+) ;
+
+#Although we just need $counter >= 907 for IO_CACHE to use
+#encrypted temp file. Just on safe side I am using $counter
+# = 1100
+--disable_query_log
+--let $counter=1100
+--let $query= (1,'test','test','test',0,0,'-1',0,0,'','',-1)
+while($counter)
+{
+ --let $query= $query ,(1,'test','test','test',0,0,'-1',0,0,'','',-1)
+ --dec $counter
+}
+--let $query= INSERT INTO t1 values $query ;
+--eval $query
+--enable_query_log
+#INSERT INTO `t1` VALUE
+
+create table t2 (test int);
+insert into t2 values (1);
+
+drop table t1,t2;
diff --git a/mysql-test/suite/galera/t/galera_enum.test b/mysql-test/suite/galera/t/galera_enum.test
new file mode 100644
index 00000000000..782180a3aa1
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_enum.test
@@ -0,0 +1,68 @@
+#
+# Test the ENUM column type, as it is frequently an unwanted child
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# ENUM as key
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 ENUM('', 'one', 'two'), KEY (f1)) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES ('');
+INSERT INTO t1 VALUES ('one'), ('two');
+INSERT INTO t1 VALUES (0), (1), (2);
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1';
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t1 where f1 = '';
+SELECT COUNT(*) FROM t1 where f1 = 'one';
+
+DROP TABLE t1;
+
+#
+# ENUM as PK
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 ENUM('', 'one', 'two', 'three', 'four') PRIMARY KEY) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (''), ('one'), ('two');
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1';
+--source include/wait_condition.inc
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t1 WHERE f1 = '';
+
+# Conflict
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'three' where f1 = '';
+
+--connection node_2
+SET AUTOCOMMIt=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'four' where f1 = '';
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+--connection node_1
+
+SELECT COUNT(*) FROM t1 WHERE f1 = 'three';
+SELECT * FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_events.test b/mysql-test/suite/galera/t/galera_events.test
new file mode 100644
index 00000000000..ae9940fc694
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_events.test
@@ -0,0 +1,53 @@
+#
+# Test that the replication of MySQL events conforms to the behavior of stock MySQL replication as described here
+# http://dev.mysql.com/doc/refman/5.6/en/replication-features-invoked.html
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $event_scheduler_orig = `SELECT @@event_scheduler;`
+
+#
+# Events arrive on slave as SLAVESIDE_DISABLED
+#
+
+--connection node_1
+CREATE EVENT event1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT 1;
+
+--connection node_2
+SELECT DEFINER= 'root@localhost', ORIGINATOR = 1, STATUS = 'SLAVESIDE_DISABLED', EVENT_TYPE = 'ONE TIME', ON_COMPLETION = 'NOT PRESERVE' FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'event1';
+
+--connection node_1
+ALTER EVENT event1 DISABLE;
+
+--connection node_2
+# The definition on node 2 should still say SLAVESIDE_DISABLED
+SELECT DEFINER= 'root@localhost', ORIGINATOR = 1, STATUS = 'SLAVESIDE_DISABLED', EVENT_TYPE = 'ONE TIME', ON_COMPLETION = 'NOT PRESERVE' FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'event1';
+
+#
+# Expired event should be dropped from the slave
+#
+
+--connection node_2
+SET GLOBAL event_scheduler = ON;
+CREATE EVENT event2 ON SCHEDULE AT CURRENT_TIMESTAMP ON COMPLETION NOT PRESERVE DO SELECT 1;
+--sleep 1
+
+--connection node_1
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'event2';
+
+#
+# DROP EVENT causes event to be dropped everywhere
+#
+
+--connection node_1
+DROP EVENT event1;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'event1';
+
+# Cleanup
+
+--connection node_2
+--eval SET GLOBAL event_scheduler = $event_scheduler_orig;
diff --git a/mysql-test/suite/galera/t/galera_fk_cascade_delete.test b/mysql-test/suite/galera/t/galera_fk_cascade_delete.test
new file mode 100644
index 00000000000..9b79b4c30b6
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fk_cascade_delete.test
@@ -0,0 +1,41 @@
+#
+# Test Foreign Key Cascading DELETEs
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE grandparent (
+ id INT NOT NULL PRIMARY KEY
+) ENGINE=InnoDB;
+
+CREATE TABLE parent (
+ id INT NOT NULL PRIMARY KEY,
+ grandparent_id INT,
+ FOREIGN KEY (grandparent_id)
+ REFERENCES grandparent(id)
+ ON DELETE CASCADE
+) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT NOT NULL PRIMARY KEY,
+ parent_id INT,
+ FOREIGN KEY (parent_id)
+ REFERENCES parent(id)
+ ON DELETE CASCADE
+) ENGINE=InnoDB;
+
+INSERT INTO grandparent VALUES (1),(2);
+INSERT INTO parent VALUES (1,1), (2,2);
+INSERT INTO child VALUES (1,1), (2,2);
+
+--connection node_2
+DELETE FROM grandparent WHERE id = 1;
+
+--connection node_1
+SELECT COUNT(*) = 0 FROM parent WHERE grandparent_id = 1;
+SELECT COUNT(*) = 0 FROM child WHERE parent_id = 1;
+
+DROP TABLE child;
+DROP TABLE parent;
+DROP TABLE grandparent;
diff --git a/mysql-test/suite/galera/t/galera_fk_cascade_update.test b/mysql-test/suite/galera/t/galera_fk_cascade_update.test
new file mode 100644
index 00000000000..e736803a285
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fk_cascade_update.test
@@ -0,0 +1,41 @@
+#
+# Test Foreign Key Cascading UPDATEs
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE grandparent (
+ id INT NOT NULL PRIMARY KEY
+) ENGINE=InnoDB;
+
+CREATE TABLE parent (
+ id INT NOT NULL PRIMARY KEY,
+ grandparent_id INT,
+ FOREIGN KEY (grandparent_id)
+ REFERENCES grandparent(id)
+ ON UPDATE CASCADE
+) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT NOT NULL PRIMARY KEY,
+ grandparent_id INT,
+ FOREIGN KEY (grandparent_id)
+ REFERENCES parent(grandparent_id)
+ ON UPDATE CASCADE
+) ENGINE=InnoDB;
+
+INSERT INTO grandparent VALUES (1),(2);
+INSERT INTO parent VALUES (1,1), (2,2);
+INSERT INTO child VALUES (1,1), (2,2);
+
+--connection node_2
+UPDATE grandparent SET id = 3 WHERE id = 1;
+
+--connection node_1
+SELECT COUNT(*) = 1 FROM parent WHERE grandparent_id = 3;
+SELECT COUNT(*) = 1 FROM child WHERE grandparent_id = 3;
+
+DROP TABLE child;
+DROP TABLE parent;
+DROP TABLE grandparent;
diff --git a/mysql-test/suite/galera/t/galera_fk_conflict.test b/mysql-test/suite/galera/t/galera_fk_conflict.test
new file mode 100644
index 00000000000..cb6f95ee687
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fk_conflict.test
@@ -0,0 +1,41 @@
+#
+# Test two transactions on separate nodes which conflict on a FK
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE parent (
+ id INT PRIMARY KEY,
+ KEY (id)
+) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT PRIMARY KEY,
+ parent_id INT,
+ FOREIGN KEY (parent_id)
+ REFERENCES parent(id)
+) ENGINE=InnoDB;
+
+INSERT INTO parent VALUES (1), (2);
+INSERT INTO child VALUES (1,1);
+
+--connection node_1
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+DELETE FROM parent WHERE id = 2;
+
+--connection node_2
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+INSERT INTO child VALUES (2, 2);
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/t/galera_fk_mismatch.test b/mysql-test/suite/galera/t/galera_fk_mismatch.test
new file mode 100644
index 00000000000..bded41381a7
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fk_mismatch.test
@@ -0,0 +1,38 @@
+#
+# Test the operation where the definition of the FK is different from the one of the underlying key
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE parent (
+ id1 INT,
+ id2 INT,
+ PRIMARY KEY (id1, id2) /* Multipart PK */
+) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT PRIMARY KEY,
+ parent_id1 INT,
+ FOREIGN KEY (parent_id1)
+ REFERENCES parent(id1) /* FK is subset of PK above */
+ ON UPDATE CASCADE
+ ON DELETE CASCADE
+) ENGINE=InnoDB;
+
+INSERT INTO parent VALUES (1, 2);
+INSERT INTO child VALUES (1, 1);
+
+--connection node_2
+UPDATE parent SET id1 = 3 WHERE id1 = 1;
+
+--connection node_1
+SELECT COUNT(*) = 1 FROM child WHERE parent_id1 = 3;
+
+DELETE FROM parent WHERE id1 = 3;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM child WHERE parent_id1 = 3;
+
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/t/galera_fk_multicolumn.test b/mysql-test/suite/galera/t/galera_fk_multicolumn.test
new file mode 100644
index 00000000000..ad42f65924d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fk_multicolumn.test
@@ -0,0 +1,42 @@
+#
+# Test UPDATE on multiple columns with multiple FKs
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t0 (
+ f1 INT PRIMARY KEY,
+ f2 INT UNIQUE
+);
+
+CREATE TABLE t1 (
+ f1 INT PRIMARY KEY,
+ FOREIGN KEY (f1)
+ REFERENCES t0(f1)
+ ON UPDATE CASCADE
+);
+
+CREATE TABLE t2 (
+ f2 INT PRIMARY KEY,
+ FOREIGN KEY (f2)
+ REFERENCES t0(f2)
+ ON UPDATE CASCADE
+);
+
+INSERT INTO t0 VALUES (0, 0);
+INSERT INTO t1 VALUES (0);
+INSERT INTO t2 VALUES (0);
+
+--connection node_2
+UPDATE t0 SET f1 = 1, f2 = 2;
+
+--connection node_1
+SELECT f1 = 1 FROM t1 WHERE f1 = 1;
+SELECT f2 = 2 FROM t2 WHERE f2 = 2;
+SELECT f1 = 1 FROM t1;
+SELECT f2 = 2 FROM t2;
+
+DROP TABLE t2;
+DROP TABLE t1;
+DROP TABLE t0;
diff --git a/mysql-test/suite/galera/t/galera_fk_multitable.test b/mysql-test/suite/galera/t/galera_fk_multitable.test
new file mode 100644
index 00000000000..6adfb8195ec
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fk_multitable.test
@@ -0,0 +1,32 @@
+#
+# Test multi-table DELETE in the presence of FKs
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t0 (
+ f0 INT PRIMARY KEY
+);
+
+CREATE TABLE t1 (
+ f1 INT PRIMARY KEY,
+ f0 INTEGER,
+ FOREIGN KEY (f0)
+ REFERENCES t0(f0)
+ ON DELETE CASCADE
+);
+
+INSERT INTO t0 VALUES (0), (1);
+INSERT INTO t1 VALUES (0, 0);
+INSERT INTO t1 VALUES (1, 0);
+
+--connection node_2
+DELETE t0.*, t1.* FROM t0, t1 WHERE t0.f0 = 0 AND t1.f1 = 0;
+
+--connection node_1
+SELECT COUNT(*) = 1 FROM t0;
+SELECT COUNT(*) = 0 FROM t1;
+
+DROP TABLE t1;
+DROP TABLE t0;
diff --git a/mysql-test/suite/galera/t/galera_fk_no_pk.test b/mysql-test/suite/galera/t/galera_fk_no_pk.test
new file mode 100644
index 00000000000..d1f9c26762d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fk_no_pk.test
@@ -0,0 +1,37 @@
+#
+# Test foreign keys if no PK is present
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE parent (
+ id INT,
+ KEY (id)
+) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT,
+ parent_id INT,
+ FOREIGN KEY (parent_id)
+ REFERENCES parent(id)
+ ON UPDATE CASCADE
+ ON DELETE CASCADE
+) ENGINE=InnoDB;
+
+INSERT INTO parent VALUES (1), (1), (2), (2);
+INSERT INTO child VALUES (1,1), (2,2), (1,1), (2,2);
+
+--connection node_2
+DELETE FROM parent WHERE id = 1;
+SELECT COUNT(*) = 0 FROM child WHERE id = 1;
+
+--connection node_1
+UPDATE parent SET id = 3 WHERE id = 2;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM child WHERE parent_id = 1;
+SELECT parent_id = 3 FROM child WHERE id = 2;
+
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/t/galera_fk_selfreferential.test b/mysql-test/suite/galera/t/galera_fk_selfreferential.test
new file mode 100644
index 00000000000..e2c19001030
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fk_selfreferential.test
@@ -0,0 +1,24 @@
+#
+# Test self-referential foreign keys
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (
+ f1 INT NOT NULL PRIMARY KEY,
+ f2 INT,
+ FOREIGN KEY (f2)
+ REFERENCES t1(f1)
+ ON DELETE CASCADE
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (1, 1), (2, 1);
+
+--connection node_2
+DELETE FROM t1 WHERE f1 = 1;
+
+--connection node_1
+SELECT COUNT(*) = 0 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_fk_setnull.test b/mysql-test/suite/galera/t/galera_fk_setnull.test
new file mode 100644
index 00000000000..46ba82dbf9c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fk_setnull.test
@@ -0,0 +1,36 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE parent (
+ id INT NOT NULL,
+ PRIMARY KEY (id)
+) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT,
+ parent_id INT,
+ FOREIGN KEY (parent_id)
+ REFERENCES parent(id)
+ ON UPDATE SET NULL
+ ON DELETE SET NULL
+) ENGINE=InnoDB;
+
+INSERT INTO parent VALUES (1),(2);
+INSERT INTO child VALUES (1,1),(2,2);
+
+--connection node_2
+DELETE FROM parent WHERE id = 1;
+SELECT parent_id IS NULL FROM child WHERE id = 1;
+
+--connection node_1
+SELECT parent_id IS NULL FROM child WHERE id = 1;
+
+UPDATE parent SET id = 3 WHERE id = 2;
+SELECT parent_id IS NULL FROM child WHERE id = 2;
+
+--connection node_2
+SELECT parent_id IS NULL FROM child WHERE id = 2;
+
+--connection node_1
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/t/galera_flush-master.opt b/mysql-test/suite/galera/t/galera_flush-master.opt
new file mode 100644
index 00000000000..5a1fb6748d9
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_flush-master.opt
@@ -0,0 +1 @@
+--query_cache_type=1 --query_cache_size=1000000
diff --git a/mysql-test/suite/galera/t/galera_flush.test b/mysql-test/suite/galera/t/galera_flush.test
new file mode 100644
index 00000000000..77e95f62fda
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_flush.test
@@ -0,0 +1,273 @@
+#
+# Test that various FLUSH commands are replicated. Whenever possible, check the slave for the effects.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_perfschema.inc
+--source include/have_query_cache.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+#
+# The following FLUSH statements should be replicated
+#
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH DES_KEY_FILE;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH HOSTS;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+--connection node_1
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+INSERT INTO mysql.user VALUES('localhost','user1',PASSWORD('pass1'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','','N','N','',0);
+FLUSH PRIVILEGES;
+--connect node_2a, 127.0.0.1, user1, pass1, test, $NODE_MYPORT_2
+--connection node_1
+DELETE FROM mysql.user WHERE user = 'user1';
+SET GLOBAL wsrep_replicate_myisam = FALSE;
+FLUSH PRIVILEGES;
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH QUERY CACHE;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH STATUS;
+
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH USER_RESOURCES;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH TABLES;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+--connection node_1
+CREATE TABLE t2 (f1 INTEGER);
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH TABLES t2;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH ERROR LOGS;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH SLOW LOGS;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH GENERAL LOGS;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH ENGINE LOGS;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH RELAY LOGS;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+--connection node_1
+SET @userstat_old= @@userstat;
+SET GLOBAL userstat=ON;
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH CLIENT_STATISTICS;
+FLUSH INDEX_STATISTICS;
+FLUSH TABLE_STATISTICS;
+FLUSH USER_STATISTICS;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 4 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+--connection node_1
+SET @old_thread_statistics= @@global.thread_statistics;
+SET GLOBAL thread_statistics= ON;
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH THREAD_STATISTICS;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH CHANGED_PAGE_BITMAPS;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+#
+# The following statements should not be replicated: FLUSH LOGS, FLUSH TABLES WITH LOCKS
+#
+
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER);
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connection node_1
+FLUSH LOGS;
+FLUSH TABLES WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH TABLES t1 WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH TABLES t1 FOR EXPORT;
+UNLOCK TABLES;
+
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+## Test LOCK TABLES with FLUSH TABLES
+## LOCK TABLES t1 write followed by flush tables t1 should succeed due to MDL upgrade.
+## LOCK tables t2 read followed by flush tables t2 should fail with ER_TABLE_NOT_LOCKED_FOR_WRITE
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+LOCK TABLES t1 WRITE;
+FLUSH TABLES t1;
+UNLOCK TABLES;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+LOCK TABLES t1 READ;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+FLUSH TABLES t1;
+UNLOCK TABLES;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before AS wsrep_last_committed_diff;
+--enable_query_log
+--connection node_1
+FLUSH TABLES t1;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+
+
+--connection node_1
+DROP TABLE t1;
+DROP TABLE t2;
+SET GLOBAL userstat= @userstat_old;
+SET GLOBAL thread_statistics= @old_thread_statistics;
diff --git a/mysql-test/suite/galera/t/galera_flush_local.opt b/mysql-test/suite/galera/t/galera_flush_local.opt
new file mode 100644
index 00000000000..a084db15c5d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_flush_local.opt
@@ -0,0 +1,3 @@
+--query_cache_type=1
+--query_cache_size=1000000
+--wsrep_replicate_myisam=ON
diff --git a/mysql-test/suite/galera/t/galera_flush_local.test b/mysql-test/suite/galera/t/galera_flush_local.test
new file mode 100644
index 00000000000..24acd9ec4ff
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_flush_local.test
@@ -0,0 +1,143 @@
+#
+# Test that various FLUSH LOCAL commands are replicated. Whenever possible, check the slave for the effects.
+# PXC-391
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_query_cache.inc
+--source include/have_wsrep_replicate_myisam.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2, x1, x2;
+--enable_warnings
+#
+# The following FLUSH LOCAL statements should *not* be replicated
+#
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO x1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO t2 (f2) SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4;
+INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+FLUSH LOCAL DES_KEY_FILE;
+FLUSH LOCAL HOSTS;
+FLUSH LOCAL QUERY CACHE;
+FLUSH LOCAL STATUS;
+FLUSH LOCAL PRIVILEGES;
+FLUSH LOCAL USER_RESOURCES;
+FLUSH LOCAL TABLES;
+FLUSH LOCAL TABLES t2;
+FLUSH LOCAL ERROR LOGS;
+FLUSH LOCAL SLOW LOGS;
+FLUSH LOCAL GENERAL LOGS;
+FLUSH LOCAL ENGINE LOGS;
+FLUSH LOCAL RELAY LOGS;
+FLUSH LOCAL CLIENT_STATISTICS;
+FLUSH LOCAL INDEX_STATISTICS;
+FLUSH LOCAL TABLE_STATISTICS;
+FLUSH LOCAL USER_STATISTICS;
+FLUSH LOCAL LOGS;
+FLUSH LOCAL BINARY LOGS;
+FLUSH LOCAL TABLES WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH LOCAL TABLES t1 WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH LOCAL TABLES t1 FOR EXPORT;
+UNLOCK TABLES;
+LOCK TABLES t1 WRITE;
+FLUSH LOCAL TABLES t1;
+UNLOCK TABLES;
+LOCK TABLES t1 READ;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+FLUSH LOCAL TABLES t1;
+UNLOCK TABLES;
+FLUSH LOCAL TABLES t1;
+ANALYZE LOCAL TABLE t1, t2;
+OPTIMIZE LOCAL TABLE t1, t2;
+REPAIR LOCAL TABLE x1, x2;
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before AS wsrep_last_committed_diff;
+--enable_query_log
+
+SELECT COUNT(*) = 10 FROM t1;
+SELECT COUNT(*) = 10 FROM x1;
+SELECT COUNT(*) = 10000 FROM t2;
+SELECT COUNT(*) = 10 FROM x2;
+
+
+--connection node_1
+DROP TABLE t1, t2, x1, x2;
+CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO x1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+INSERT INTO t2 (f2) SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4;
+INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+
+
+--connection node_2
+--let $wsrep_last_committed_before2 = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--connection node_1
+set wsrep_on=0;
+FLUSH DES_KEY_FILE;
+FLUSH HOSTS;
+FLUSH QUERY CACHE;
+FLUSH STATUS;
+FLUSH PRIVILEGES;
+FLUSH USER_RESOURCES;
+FLUSH TABLES;
+FLUSH TABLES t2;
+FLUSH ERROR LOGS;
+FLUSH SLOW LOGS;
+FLUSH GENERAL LOGS;
+FLUSH ENGINE LOGS;
+FLUSH RELAY LOGS;
+FLUSH CLIENT_STATISTICS;
+FLUSH INDEX_STATISTICS;
+FLUSH TABLE_STATISTICS;
+FLUSH USER_STATISTICS;
+FLUSH LOGS;
+FLUSH BINARY LOGS;
+FLUSH TABLES WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH TABLES t1 WITH READ LOCK;
+UNLOCK TABLES;
+FLUSH TABLES t1 FOR EXPORT;
+UNLOCK TABLES;
+LOCK TABLES t1 WRITE;
+FLUSH TABLES t1;
+UNLOCK TABLES;
+LOCK TABLES t1 READ;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+FLUSH TABLES t1;
+UNLOCK TABLES;
+FLUSH TABLES t1;
+ANALYZE TABLE t1, t2;
+OPTIMIZE TABLE t1, t2;
+REPAIR TABLE x1, x2;
+--connection node_2
+--let $wsrep_last_committed_after2 = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after2 = $wsrep_last_committed_before2 AS wsrep_last_committed_diff;
+--eval SELECT $wsrep_last_committed_after2 = $wsrep_last_committed_before + 9 AS wsrep_last_committed_diff2;
+--enable_query_log
+
+SELECT COUNT(*) = 10 FROM t1;
+SELECT COUNT(*) = 10 FROM x1;
+SELECT COUNT(*) = 10000 FROM t2;
+SELECT COUNT(*) = 10 FROM x2;
+
+--connection node_1
+set wsrep_on=1;
+DROP TABLE t1, t2, x1, x2;
diff --git a/mysql-test/suite/galera/t/galera_forced_binlog_format-master.opt b/mysql-test/suite/galera/t/galera_forced_binlog_format-master.opt
new file mode 100644
index 00000000000..8c58b59b45d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_forced_binlog_format-master.opt
@@ -0,0 +1 @@
+--log-bin --wsrep_forced_binlog_format=ROW
diff --git a/mysql-test/suite/galera/t/galera_forced_binlog_format.test b/mysql-test/suite/galera/t/galera_forced_binlog_format.test
new file mode 100644
index 00000000000..982276cc317
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_forced_binlog_format.test
@@ -0,0 +1,45 @@
+#
+# Test that wsrep_forced_binlog_format=ROW indeed prevents the log to be switched to STATEMENT format on a per-connection basis
+#
+
+--source include/have_log_bin.inc
+--source include/have_innodb.inc
+--source include/galera_cluster.inc
+
+--connection node_1
+RESET MASTER;
+
+SET SESSION binlog_format = 'STATEMENT';
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+SET SESSION binlog_format = 'MIXED';
+
+INSERT INTO t1 VALUES (2);
+
+--replace_regex /xid=[0-9]+/xid=###/ /table_id: [0-9]+/table_id: ###/
+--replace_column 2 <Pos> 5 <End_log_pos>
+SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 249;
+
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-9401: wsrep_forced_binlog_format with binlog causes crash
+--echo #
+SET SESSION binlog_format = 'ROW';
+CREATE DATABASE testdb_9401;
+USE testdb_9401;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE USER dummy@localhost;
+GRANT ALL PRIVILEGES ON testdb_9401.t1 TO dummy@localhost;
+FLUSH PRIVILEGES;
+SHOW GRANTS FOR dummy@localhost;
+# Cleanup
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM dummy@localhost;
+DROP USER dummy@localhost;
+DROP DATABASE testdb_9401;
+
+--source include/galera_end.inc
+--echo # End of tests
+
diff --git a/mysql-test/suite/galera/t/galera_ftwrl.test b/mysql-test/suite/galera/t/galera_ftwrl.test
new file mode 100644
index 00000000000..739255609ee
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ftwrl.test
@@ -0,0 +1,39 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# At this time, issing a FLUSH TABLES WITH READ LOCK causes SELECT and SHOW to
+# hang if causality can not be ensured because another node issued a statement
+# in the meantime which could not be applied because FTWRL blocks the applier
+# as well
+#
+# See LP bug 1271177
+#
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options;`
+SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT1S";
+FLUSH TABLES WITH READ LOCK;
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW TABLES;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1;
+
+UNLOCK TABLES;
+
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = "$wsrep_provider_options_orig";
+--enable_query_log
+
+SHOW TABLES;
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_ftwrl_drain.test b/mysql-test/suite/galera/t/galera_ftwrl_drain.test
new file mode 100644
index 00000000000..690e890cdea
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ftwrl_drain.test
@@ -0,0 +1,69 @@
+#
+# Test the following sequence of events:
+#
+# 1. issue a remote transaction
+# 2. applier is blocked from applying the transaction locally using apply_monitor_slave_enter_sync
+# 3. FTWRL is issued and blocks in ApplyOrder>::drain_common
+# 4. applier is unblocked
+# 5. remote transaction is applied
+# 6. FTWRL is granted
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source suite/galera/include/galera_have_debug_sync.inc
+
+--connection node_1
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+
+--let $galera_sync_point = apply_monitor_slave_enter_sync
+--source include/galera_set_sync_point.inc
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET SESSION wsrep_sync_wait = 0;
+
+# Wait until applier has blocked
+--source include/galera_wait_sync_point.inc
+
+SELECT COUNT(*) = 0 FROM t1;
+
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2a
+--send FLUSH TABLES WITH READ LOCK;
+
+--connection node_2
+--sleep 1
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'Init' AND INFO = 'FLUSH TABLES WITH READ LOCK'
+--source include/wait_condition.inc
+
+--source include/galera_clear_sync_point.inc
+--source include/galera_signal_sync_point.inc
+
+--connection node_2a
+--reap
+
+--connection node_2
+
+SET SESSION lock_wait_timeout = 1;
+SET SESSION innodb_lock_wait_timeout=1;
+SET SESSION wait_timeout=1;
+
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO t2 VALUES (2);
+
+--connection node_2a
+UNLOCK TABLES;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+INSERT INTO t1 VALUES (3);
+
+--connection node_1
+SELECT COUNT(*) = 2 FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_fulltext.test b/mysql-test/suite/galera/t/galera_fulltext.test
new file mode 100644
index 00000000000..a90cab1aa1a
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_fulltext.test
@@ -0,0 +1,62 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# InnoDB FULLTEXT indexes
+#
+
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+#
+# Fulltext index creation causes the creation of multiple system tables
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 VARCHAR(100), FULLTEXT (f2)) ENGINE=InnoDB;
+
+--connection node_2
+SELECT COUNT(*) = 13 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE name LIKE 'test/%';
+
+#
+# Fulltext insertion causes a flurry of updates on those system tables
+#
+
+--connection node_1
+# Insert 1K rows
+INSERT INTO t1 (f2) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3;
+
+--connection node_2
+SELECT COUNT(f2) = 1000 FROM t1 WHERE MATCH(f2) AGAINST ('foobarbaz');
+
+UPDATE t1 SET f2 = 'abcdefjhk';
+
+--connection node_1
+SELECT COUNT(f2) = 1000 FROM t1 WHERE MATCH(f2) AGAINST ('abcdefjhk');
+
+--connection node_2
+
+DROP TABLE t1;
+
+#
+# Same on a table with no PK
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 VARCHAR(100), FULLTEXT (f1)) ENGINE=InnoDB;
+
+--connection node_2
+# We insert only 1K rows here, because updates without a PK are very slow
+INSERT INTO t1 (f1) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3;
+
+--connection node_1
+SELECT COUNT(f1) = 1000 FROM t1 WHERE MATCH(f1) AGAINST ('foobarbaz');
+
+UPDATE t1 SET f1 = 'abcdefjhk';
+
+--connection node_2
+SELECT COUNT(f1) = 1000 FROM t1 WHERE MATCH(f1) AGAINST ('abcdefjhk');
+
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_gcache_recover.cnf b/mysql-test/suite/galera/t/galera_gcache_recover.cnf
new file mode 100644
index 00000000000..c7b59b6a27e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcache_recover.cnf
@@ -0,0 +1,7 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.recover=yes;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.recover=yes;pc.ignore_sb=true'
diff --git a/mysql-test/suite/galera/t/galera_gcache_recover.test b/mysql-test/suite/galera/t/galera_gcache_recover.test
new file mode 100644
index 00000000000..e1bfe517d27
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcache_recover.test
@@ -0,0 +1,77 @@
+#
+# Kill entire cluster while gcache.recover=yes. Expect that node #2 will rejoin using IST
+#
+
+--source include/galera_cluster.inc
+--source include/big_test.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET SESSION wsrep_sync_wait = 0;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) > 0 FROM t1;
+--source include/wait_condition.inc
+
+SET SESSION wsrep_sync_wait = 0;
+--source include/kill_galera.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
+
+INSERT INTO t1 VALUES (2);
+
+--source include/kill_galera.inc
+
+--sleep 1
+
+--connection node_1
+--let $galera_wsrep_recover_server_id=1
+--source suite/galera/include/galera_wsrep_recover.inc
+
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--source include/start_mysqld.inc
+
+INSERT INTO t1 VALUES (3);
+
+--connection node_2
+--let $galera_wsrep_recover_server_id=2
+--source suite/galera/include/galera_wsrep_recover.inc
+
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--source include/start_mysqld.inc
+
+--connection node_1
+--source include/wait_until_connected_again.inc
+--source include/galera_wait_ready.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--let $diff_servers = 1 2
+--source include/diff_servers.inc
+
+--connection node_1
+# Warning happens when the cluster is started for the first time
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+
+# Confirm that IST took place
+--let $assert_text = async IST sender starting to serve
+--let $assert_select = async IST sender starting to serve
+--let $assert_count = 1
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_only_after = starting as process
+--source include/assert_grep.inc
+
+--connection node_2
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+
+# Confirm that gcache recovery took place
+
+--let $assert_text = Recovering GCache ring buffer: found gapless sequence
+--let $assert_select = Recovering GCache ring buffer: found gapless sequence
+--let $assert_count = 1
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
+--let $assert_only_after = starting as process
+--source include/assert_grep.inc
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.cnf b/mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.cnf
new file mode 100644
index 00000000000..da74ea9fc5d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.cnf
@@ -0,0 +1,9 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+max_allowed_packet=10M
+innodb_log_file_size=110M
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.recover=yes;pc.ignore_sb=true;gcache.size=10M'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.recover=yes;pc.ignore_sb=true;gcache.size=10M'
diff --git a/mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.test b/mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.test
new file mode 100644
index 00000000000..7eb25d001f5
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.test
@@ -0,0 +1,64 @@
+#
+# Attempt gcache recovery on a full gcache. Node will not be able to join via IST due to gcache rollover
+#
+
+--source include/galera_cluster.inc
+--source include/big_test.inc
+
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+call mtr.add_suppression("InnoDB: Resizing redo log from *");
+call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files.");
+call mtr.add_suppression("InnoDB: New log files created, LSN=*");
+
+SET SESSION wsrep_sync_wait = 0;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 LONGBLOB) ENGINE=InnoDB;
+
+--connection node_2
+SET SESSION wsrep_sync_wait = 0;
+--source include/kill_galera.inc
+
+--connection node_1
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+--source include/kill_galera.inc
+
+--connection node_1
+--let $galera_wsrep_recover_server_id=1
+--source suite/galera/include/galera_wsrep_recover.inc
+
+--let $_expect_file_name = $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--source include/start_mysqld.inc
+--connection node_2
+--let $galera_wsrep_recover_server_id=2
+--source suite/galera/include/galera_wsrep_recover.inc
+
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--source include/start_mysqld.inc
+
+--connection node_1
+--source include/wait_until_connected_again.inc
+--source include/galera_wait_ready.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--let $diff_servers = 1 2
+--source include/diff_servers.inc
+
+--connection node_1
+DROP TABLE t1;
+
+# Warning always happens when the cluster is started for the first time
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+
+# Confirm that IST did not take place
+--let $assert_text = IST first seqno 2 not found from cache, falling back to SST
+--let $assert_select = IST first seqno 2 not found from cache, falling back to SST
+--let $assert_count = 1
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_only_after = starting as process
+--source include/assert_grep.inc
+
+--connection node_2
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
diff --git a/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.cnf b/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.cnf
new file mode 100644
index 00000000000..c08551eae84
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.cnf
@@ -0,0 +1,9 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+innodb_log_file_size=110M
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.recover=yes;pc.ignore_sb=true;'
+
+[mysqld.2]
+innodb_log_file_size=110M
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.recover=yes;pc.ignore_sb=true;'
diff --git a/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test b/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test
new file mode 100644
index 00000000000..ac28a070cf9
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test
@@ -0,0 +1,230 @@
+#
+# Kill entire cluster while various transactions are in progress
+# restore the cluster and expect that node #2 will rejoin using IST
+#
+
+--source include/galera_cluster.inc
+--source include/big_test.inc
+--source include/have_log_bin.inc
+
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+call mtr.add_suppression("InnoDB: Resizing redo log from *");
+call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files.");
+call mtr.add_suppression("InnoDB: New log files created, LSN=*");
+
+SET SESSION wsrep_sync_wait = 0;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 LONGBLOB) ENGINE=InnoDB;
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+DELIMITER |;
+CREATE PROCEDURE insert_simple ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SET SESSION wsrep_sync_wait = 0;
+ WHILE 1 DO
+ INSERT INTO t1 (f1, f2) VALUES (DEFAULT,'abcdef');
+ END WHILE;
+END|
+
+CREATE PROCEDURE insert_multi ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SET SESSION wsrep_sync_wait = 0;
+ WHILE 1 DO
+ INSERT INTO t1 (f1) VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT);
+ END WHILE;
+END|
+
+CREATE PROCEDURE insert_transaction ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SET SESSION wsrep_sync_wait = 0;
+ SET AUTOCOMMIT = OFF;
+ WHILE 1 DO
+ START TRANSACTION;
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+ INSERT INTO t1 (f1) VALUES (DEFAULT);
+ COMMIT;
+ END WHILE;
+END|
+
+DELIMITER ;|
+DELIMITER |;
+
+CREATE PROCEDURE update_simple ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SET SESSION wsrep_sync_wait = 0;
+ WHILE 1 DO
+ UPDATE t1 SET f2 = CONCAT(f2,f2);
+ END WHILE;
+END|
+
+CREATE PROCEDURE insert_1k ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SET SESSION wsrep_sync_wait = 0;
+ WHILE 1 DO
+ INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024));
+ END WHILE;
+END|
+
+CREATE PROCEDURE insert_1m ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SET SESSION wsrep_sync_wait = 0;
+ WHILE 1 DO
+ INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024));
+ END WHILE;
+END|
+
+CREATE PROCEDURE insert_10m ()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ SET SESSION wsrep_sync_wait = 0;
+ WHILE 1 DO
+ INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
+ END WHILE;
+END|
+
+DELIMITER ;|
+
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connect node_1_insert_simple, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_1_insert_multi, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_1_insert_transaction, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_1_update_simple, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_1_insert_1k, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_1_insert_1m, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_1_insert_10m, 127.0.0.1, root, , test, $NODE_MYPORT_1
+
+--connection node_1_insert_simple
+--send CALL insert_simple();
+
+--connection node_1_insert_multi
+--send CALL insert_multi();
+
+--connection node_1_insert_transaction
+--send CALL insert_transaction ();
+
+--connection node_1_update_simple
+--send CALL update_simple ();
+
+--connection node_1_insert_1k
+--send CALL insert_1k ();
+
+--connection node_1_insert_1m
+--send CALL insert_1m ();
+
+--connection node_1_insert_10m
+--send CALL insert_10m ();
+
+--connection node_2
+SET SESSION wsrep_sync_wait = 0;
+
+# Make sure that node_2 is not killed while TOIs are applied.
+# Otherwhise we risk that grastate file is marked unsafe, and
+# as a consequence the node cannot rejoin with IST.
+--let $wait_condition = SELECT VARIABLE_VALUE > $wsrep_last_committed_before FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
+--source include/wait_condition.inc
+
+--source include/kill_galera.inc
+
+--sleep 10
+--connection node_1
+--source include/kill_galera.inc
+
+--connection node_1_insert_simple
+--error 2013
+--reap
+
+--connection node_1_insert_multi
+--error 2013
+--reap
+
+--connection node_1_insert_transaction
+--error 2013
+--reap
+
+--connection node_1_update_simple
+--error 2013
+--reap
+
+--connection node_1_insert_1k
+--error 2013
+--reap
+
+--connection node_1_insert_1m
+--error 2013
+--reap
+
+--connection node_1_insert_10m
+--error 2013
+--reap
+
+--connection node_1
+--let $galera_wsrep_recover_server_id=1
+--source suite/galera/include/galera_wsrep_recover.inc
+
+--let $_expect_file_name = $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--source include/start_mysqld.inc
+--connection node_2
+--let $galera_wsrep_recover_server_id=2
+--source suite/galera/include/galera_wsrep_recover.inc
+
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--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
+
+--let $diff_servers = 1 2
+--source include/diff_servers.inc
+
+--connection node_1
+DROP TABLE t1;
+DROP TABLE ten;
+DROP PROCEDURE insert_simple;
+DROP PROCEDURE insert_multi;
+DROP PROCEDURE insert_transaction;
+DROP PROCEDURE update_simple;
+DROP PROCEDURE insert_1k;
+DROP PROCEDURE insert_1m;
+
+--connection node_1
+CALL mtr.add_suppression("conflict state 7 after post commit");
+
+# Warning happens when the cluster is started for the first time
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+
+# Confirm that IST took place
+--let $assert_text = async IST sender starting to serve
+--let $assert_select = async IST sender starting to serve
+--let $assert_count = 1
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_only_after = starting as process
+--source include/assert_grep.inc
+
+--connection node_2
+CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
+
+# Confirm that gcache recovery took place
+
+--let $assert_text = Recovering GCache ring buffer: found gapless sequence
+--let $assert_select = Recovering GCache ring buffer: found gapless sequence
+--let $assert_count = 1
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
+--let $assert_only_after = starting as process
+--source include/assert_grep.inc
diff --git a/mysql-test/suite/galera/t/galera_gcs_fc_limit.test b/mysql-test/suite/galera/t/galera_gcs_fc_limit.test
new file mode 100644
index 00000000000..61576a39316
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcs_fc_limit.test
@@ -0,0 +1,59 @@
+#
+# Test that under gcs.fc_limit=1 on the slave, transactions on the master can not commit.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+--sleep 1
+
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = 'gcs.fc_limit=1';
+
+# Block the slave applier thread
+LOCK TABLE t1 WRITE;
+
+--connection node_1
+--sleep 1
+INSERT INTO t1 VALUES (2);
+--sleep 2
+INSERT INTO t1 VALUES (3);
+--sleep 2
+INSERT INTO t1 VALUES (4);
+--sleep 2
+
+# This query will hang because flow control will kick in
+--send
+INSERT INTO t1 VALUES (5);
+--sleep 2
+
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+--connection node_1a
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'query end' AND INFO = 'INSERT INTO t1 VALUES (5)';
+--source include/wait_condition.inc
+
+--connection node_2
+# Unblock the slave applier thread
+UNLOCK TABLES;
+
+--connection node_1
+--reap
+
+INSERT INTO t1 VALUES (6);
+
+--connection node_2
+# Replication catches up and continues normally
+SELECT COUNT(*) = 6 FROM t1;
+
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_orig';
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_gcs_fragment.cnf b/mysql-test/suite/galera/t/galera_gcs_fragment.cnf
new file mode 100644
index 00000000000..aae3fee5904
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcs_fragment.cnf
@@ -0,0 +1,5 @@
+!include ../galera_2nodes.cnf
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcs.max_packet_size=64'
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcs.max_packet_size=64'
diff --git a/mysql-test/suite/galera/t/galera_gcs_fragment.test b/mysql-test/suite/galera/t/galera_gcs_fragment.test
new file mode 100644
index 00000000000..80d3a5cb659
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcs_fragment.test
@@ -0,0 +1,74 @@
+# Test fragmentation over configuration changes
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source suite/galera/include/galera_have_debug_sync.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+# Prepare table
+CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 TEXT);
+
+# Stop node2
+
+# Disconnect node_2 from group
+--connection node_2
+--let $wsrep_cluster_address_orig = `select @@wsrep_cluster_address`
+SET GLOBAL wsrep_cluster_address='';
+
+# Connection for sync points
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET SESSION wsrep_sync_wait=0;
+
+# Set breakpoint in gcs after first fragment send
+
+--let $galera_sync_point = gcs_core_after_frag_send
+--source include/galera_set_sync_point.inc
+
+--connection node_1
+SET SESSION wsrep_retry_autocommit=0;
+--send INSERT INTO t1 VALUES (1, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
+
+--connection node_1a
+--source include/galera_wait_sync_point.inc
+--source include/galera_clear_sync_point.inc
+
+
+# Restart node_2, wait until it joins the group and then make INSERT
+--connection node_2
+--disable_query_log
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_orig'
+--enable_query_log
+SET SESSION wsrep_on = 0;
+--source include/galera_wait_ready.inc
+SET SESSION wsrep_on = 1;
+
+INSERT INTO t1 VALUES (2, "bbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+
+# Signal node_1 to continue
+--connection node_1a
+--source include/galera_signal_sync_point.inc
+
+# Deadlock error should be returned since write set send was
+# interrupted by gcs
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+# Do additional insert to verify that node_1 remain operational
+INSERT INTO t1 VALUES (3, "cccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+
+
+# Nodes node_1 and node_2 should now contain rows 2 and 3
+SELECT * FROM t1;
+
+--connection node_2
+SELECT * FROM t1;
+
+--connection node_1
+
+DROP TABLE t1;
+
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_gcs_max_packet_size.cnf b/mysql-test/suite/galera/t/galera_gcs_max_packet_size.cnf
new file mode 100644
index 00000000000..6bb11e5957a
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcs_max_packet_size.cnf
@@ -0,0 +1,5 @@
+!include ../galera_2nodes.cnf
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcs.max_packet_size=64;gcache.size=10M'
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcs.max_packet_size=64;gcache.size=10M'
diff --git a/mysql-test/suite/galera/t/galera_gcs_max_packet_size.test b/mysql-test/suite/galera/t/galera_gcs_max_packet_size.test
new file mode 100644
index 00000000000..98be4f6a300
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gcs_max_packet_size.test
@@ -0,0 +1,26 @@
+#
+# Test fragmentation by setting gcs.max_packet_size to a low value
+# The actual setting is performed in galera_gcs_max_packet_size.cnf
+# as gcs.max_packet_size is not a dynamic variable
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 VARCHAR(512) UNIQUE) ENGINE=InnoDB;
+
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+INSERT INTO t2 VALUES (REPEAT('x', 512));
+
+--connection node_2
+SELECT COUNT(*) = 10000 FROM t1;
+SELECT LENGTH(f1) = 512 FROM t2 WHERE f1 = REPEAT('x', 512);
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_gra_log.test b/mysql-test/suite/galera/t/galera_gra_log.test
new file mode 100644
index 00000000000..8b5aaaae5bd
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gra_log.test
@@ -0,0 +1,30 @@
+#
+# Test that GRA_* files are generated on applier failure and are readable.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_2
+--exec rm -rf $MYSQLTEST_VARDIR/mysqld.2/data/GRA_*.log
+
+# Create applier failure
+
+SET SESSION wsrep_on=OFF;
+CREATE TABLE t1 (f1 INTEGER);
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER);
+
+--connection node_2
+SET SESSION wsrep_on=ON;
+SELECT COUNT(*) = 0 FROM t1;
+
+# Make sure the GRA file produced is readable and contains the failure
+
+--replace_regex /SET TIMESTAMP=[0-9]+/SET TIMESTAMP=<TIMESTAMP>/ /pseudo_thread_id=[0-9]+/pseudo_thread_id=<PSEUDO_THREAD_ID>/
+--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/mysqld.2/data/GRA_*.log
+
+CALL mtr.add_suppression("Slave SQL: Error 'Table 't1' already exists' on query");
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_gtid-master.opt b/mysql-test/suite/galera/t/galera_gtid-master.opt
new file mode 100644
index 00000000000..8a755e98b00
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gtid-master.opt
@@ -0,0 +1 @@
+--log-bin --log-slave-updates
diff --git a/mysql-test/suite/galera/t/galera_gtid.test b/mysql-test/suite/galera/t/galera_gtid.test
new file mode 100644
index 00000000000..e8369be62e6
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gtid.test
@@ -0,0 +1,27 @@
+#
+# Test GTID for basic Galera operations
+#
+
+--source include/have_log_bin.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY);
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+UPDATE t1 SET f1 = 2;
+
+--let $gtid_binlog_state_node2 = `SELECT @@global.gtid_binlog_state;`
+
+--connection node_1
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+
+--disable_query_log
+--eval SELECT '$gtid_binlog_state_node2' = @@global.gtid_binlog_state AS gtid_binlog_state_equal;
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_gtid_slave.cnf b/mysql-test/suite/galera/t/galera_gtid_slave.cnf
new file mode 100644
index 00000000000..409d0d1609a
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gtid_slave.cnf
@@ -0,0 +1,18 @@
+!include ../galera_2nodes_as_slave.cnf
+
+[mysqld]
+log-bin=mysqld-bin
+log-slave-updates
+binlog-format=ROW
+
+[mysqld.1]
+gtid-domain-id=1
+[mysqld.2]
+gtid-domain-id=2
+wsrep_gtid_mode=1
+wsrep_gtid_domain_id=2
+[mysqld.3]
+gtid-domain-id=2
+wsrep_gtid_mode=1
+wsrep_gtid_domain_id=2
+
diff --git a/mysql-test/suite/galera/t/galera_gtid_slave.test b/mysql-test/suite/galera/t/galera_gtid_slave.test
new file mode 100644
index 00000000000..19bfd8e17db
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gtid_slave.test
@@ -0,0 +1,79 @@
+#
+# Test Galera as a slave to a MariaDB master using GTIDs
+#
+# suite/galera/galera_2nodes_as_slave.cnf describes the setup of the nodes
+# suite/galera/t/galera_as_slave_gtid.cnf has the GTID options
+#
+# In addition to performing DDL and DML, we check that the gtid of the master is preserved inside the cluster
+#
+
+--source include/have_innodb.inc
+
+# As node #1 is not a Galera node, we connect to node #2 in order to run include/galera_cluster.inc
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/galera_cluster.inc
+
+--connection node_2
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1;
+--enable_query_log
+START SLAVE;
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+
+#multi stmt trans
+begin;
+insert into t2 values(21);
+insert into t2 values(22);
+commit;
+
+SELECT @@global.gtid_binlog_state;
+
+--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 t1;
+--source include/wait_condition.inc
+
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2';
+--source include/wait_condition.inc
+
+--let $wait_condition = SELECT COUNT(*) = 2 FROM t2;
+--source include/wait_condition.inc
+
+INSERT INTO t1 VALUES(2);
+INSERT INTO t1 VALUES(3);
+SELECT @@global.gtid_binlog_state;
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--let $wait_condition = SELECT COUNT(*) = 3 FROM t1;
+--source include/wait_condition.inc
+
+INSERT INTO t1 VALUES(4);
+SELECT @@global.gtid_binlog_state;
+
+--connection node_1
+DROP TABLE t1,t2;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+--connection node_2
+STOP SLAVE;
+RESET SLAVE ALL;
+reset master;
+
+--connection node_3
+reset master;
+
+--connection node_1
+reset master;
diff --git a/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.cnf b/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.cnf
new file mode 100644
index 00000000000..bb9c8e84f1b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.cnf
@@ -0,0 +1,18 @@
+!include ../galera_2nodes_as_slave.cnf
+
+[mysqld]
+log-bin=mysqld-bin
+log-slave-updates
+binlog-format=ROW
+wsrep_sst_method=rsync
+[mysqld.1]
+gtid-domain-id=1
+[mysqld.2]
+gtid-domain-id=2
+wsrep_gtid_mode=1
+wsrep_gtid_domain_id=2
+[mysqld.3]
+gtid-domain-id=2
+wsrep_gtid_mode=1
+wsrep_gtid_domain_id=2
+
diff --git a/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.test b/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.test
new file mode 100644
index 00000000000..3ed7ec1d09e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_gtid_slave_sst_rsync.test
@@ -0,0 +1,210 @@
+#
+# Test Galera as a slave to a MariaDB master using GTIDs
+#
+# suite/galera/galera_2nodes_as_slave.cnf describes the setup of the nodes
+#
+# In addition to performing DDL and DML, we check that the gtid of the master is preserved inside the cluster
+#
+
+--source include/big_test.inc
+--source include/have_innodb.inc
+# As node #1 is not a Galera node, we connect to node #2 in order to run include/galera_cluster.inc
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/galera_cluster.inc
+
+--echo #Connection 2
+--connection node_2
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1,master_use_gtid=slave_pos;
+--enable_query_log
+START SLAVE;
+--sleep 1
+
+
+--echo #Connection 1
+--connection node_1
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY, f2 int unique) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(1,11);
+INSERT INTO t2 VALUES(2,22);
+INSERT INTO t2 VALUES(3,33);
+
+SELECT @@global.gtid_binlog_state;
+--source include/save_master_gtid.inc
+
+--echo #Connection 2
+--connection node_2
+--source include/sync_with_master_gtid.inc
+SELECT @@global.gtid_binlog_state;
+
+INSERT INTO t2 VALUES(4,44);
+INSERT INTO t2 VALUES(5,55);
+INSERT INTO t2 VALUES(6,66);
+SELECT @@global.gtid_binlog_state;
+
+--echo #Connection 3
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME= 't2';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 6 FROM t2;
+--source include/wait_condition.inc
+
+INSERT INTO t2 VALUES(7,77);
+INSERT INTO t2 VALUES(8,88);
+SELECT @@global.gtid_binlog_state;
+
+#Perform SST
+--echo #Connection 1
+--connection node_1
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+COMMIT;
+--source include/save_master_gtid.inc
+
+--echo #Connection 2
+--connection node_2
+--source include/sync_with_master_gtid.inc
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+
+--echo #Connection 3
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME= 't1';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 4 FROM t1;
+--source include/wait_condition.inc
+--let $node_1= node_2
+--let $node_2= node_3
+--source include/auto_increment_offset_save.inc
+--echo Shutting down server ...
+--source include/shutdown_mysqld.inc
+
+
+--echo #Connection 2
+--connection node_2
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_during');
+INSERT INTO t1 VALUES ('node1_committed_during');
+COMMIT;
+
+--echo #Connection 3
+--connection node_3
+--echo Starting server ...
+--source include/start_mysqld.inc
+--source include/wait_until_ready.inc
+--source include/auto_increment_offset_restore.inc
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES ('node3_committed_after');
+INSERT INTO t1 VALUES ('node3_committed_after');
+COMMIT;
+
+--echo #Connection 2
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 8 FROM t1;
+--source include/wait_condition.inc
+Select * from t1 order by f1;
+
+--echo #Connection 3
+--connection node_3
+Select * from t1 order by f1;
+
+#SST Done
+--sleep 1
+--echo #Connection 2
+--connection node_2
+SELECT @@global.gtid_binlog_state;
+
+--echo #Connection 3
+--connection node_3
+SELECT @@global.gtid_binlog_state;
+
+--echo #Connection 1
+--connection node_1
+SET AUTOCOMMIT=ON;
+#drop table t1;
+#CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+
+--echo #Connection 2
+--connection node_2
+SET AUTOCOMMIT=ON;
+--echo #Connection 3
+--connection node_3
+SET AUTOCOMMIT=ON;
+
+#
+#stop slave on node 2
+--echo #Connection 2
+--connection node_2
+STOP slave;
+--sleep 1
+INSERT INTO t1 VALUES ('node2_slave_stoped');
+
+--echo #Connection 1
+--connection node_1
+INSERT INTO t1 VALUES ('node1_normal_entry');
+--source include/save_master_gtid.inc
+
+#start slave
+--echo #Connection 2
+--connection node_2
+INSERT INTO t1 VALUES ('node2_slave_stoped_inserted');
+start slave;
+--source include/sync_with_master_gtid.inc
+INSERT INTO t1 VALUES ('node2_slave_started');
+SELECT count(*) from t1;
+SELECT @@global.gtid_binlog_state;
+
+--echo #Connection 3
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 12 FROM t1;
+--source include/wait_condition.inc
+SELECT count(*) from t1;
+SELECT @@global.gtid_binlog_state;
+
+--echo #Connection 1
+--connection node_1
+DROP TABLE t2,t1;
+
+# Unfortunately without the sleep below the following statement fails with "query returned no rows", which
+# is difficult to understand given that it is an aggregate query. A "query execution was interrupted"
+# warning is also reported by MTR, which is also weird.
+#
+
+--sleep 3
+
+--echo #Connection 2
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2';
+--source include/wait_condition.inc
+
+--echo #Connection 3
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+--echo #Connection 2
+--connection node_2
+STOP SLAVE;
+RESET SLAVE ALL;
+--disable_warnings
+set global gtid_slave_pos="";
+--enable_warnings
+reset master;
+
+--echo #Connection 3
+--connection node_3
+reset master;
+
+--echo #Connection 1
+--connection node_1
+reset master;
diff --git a/mysql-test/suite/galera/t/galera_insert_ignore.test b/mysql-test/suite/galera/t/galera_insert_ignore.test
new file mode 100644
index 00000000000..027f70e96d9
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_insert_ignore.test
@@ -0,0 +1,60 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $wsrep_sync_wait_orig = (SELECT @@wsrep_sync_wait)
+SET GLOBAL wsrep_sync_wait = 15;
+
+--connection node_2
+SET GLOBAL wsrep_sync_wait = 15;
+
+
+#
+# INSERT IGNORE with PRIMARY KEY
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+INSERT IGNORE INTO t1 VALUES (1), (2);
+SELECT * FROM t1;
+
+--connection node_2
+SELECT * FROM t1;
+
+#
+# INSERT IGNORE ... SELECT
+#
+
+--connection node_2
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (0), (2), (3);
+INSERT IGNORE INTO t1 SELECT f1 FROM t2;
+
+SELECT * FROM t1;
+--connection node_1
+SELECT * FROM t1;
+
+#
+# INSERT IGNORE with UNIQUE + NULLs
+#
+
+--connection node_2
+CREATE TABLE t3 (f1 INTEGER UNIQUE) Engine=InnoDB;
+INSERT INTO t3 VALUES (NULL);
+
+--connection node_1
+INSERT IGNORE INTO t3 VALUES (1), (NULL), (2);
+SELECT * FROM t3;
+
+--connection node_2
+SELECT * FROM t3;
+
+--eval SET GLOBAL wsrep_sync_wait = $wsrep_sync_wait_orig
+
+--connection node_1
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+--eval SET GLOBAL wsrep_sync_wait = $wsrep_sync_wait_orig
+
diff --git a/mysql-test/suite/galera/t/galera_insert_multi.test b/mysql-test/suite/galera/t/galera_insert_multi.test
new file mode 100644
index 00000000000..d62283aff69
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_insert_multi.test
@@ -0,0 +1,122 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Multi-row INSERT with a PK
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+
+--connection node_2
+INSERT INTO t1 VALUES (3),(4);
+
+--connection node_1
+SELECT COUNT(*) = 4 FROM t1;
+
+--connection node_2
+SELECT COUNT(*) = 4 FROM t1;
+
+DROP TABLE t1;
+
+#
+# Multi-row INSERT without a PK
+#
+
+--connection node_2
+CREATE TABLE t1 (f1 INTEGER, KEY (f1)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(1);
+
+--connection node_1
+INSERT INTO t1 VALUES (2),(2);
+
+--connection node_2
+SELECT COUNT(*) = 4 FROM t1;
+
+--connection node_1
+SELECT COUNT(*) = 4 FROM t1;
+
+DROP TABLE t1;
+
+#
+# Error in the middle of a multi-row INSERT
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (1);
+
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+
+DROP TABLE t1;
+
+#
+# Deadlock
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1), (2);
+
+--connection node_2
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (2), (1);
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+# Workaround for mysql-wsrep#39 Transaction receives deadlock error twice in row
+--error 0,ER_LOCK_DEADLOCK
+ROLLBACK;
+
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (1), (2);
+
+DROP TABLE t1;
+
+#
+# Rollback
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES (1), (2);
+
+--connection node_2
+START TRANSACTION;
+INSERT INTO t1 VALUES (2), (1);
+
+--connection node_1
+ROLLBACK;
+
+--connection node_2
+COMMIT;
+SELECT COUNT(*) = 2 FROM t1;
+
+--connection node_1
+SELECT COUNT(*) = 2 FROM t1;
+
+DROP TABLE t1;
+
+
+
+
+
+
+
diff --git a/mysql-test/suite/galera/t/galera_ist_innodb_flush_logs.cnf b/mysql-test/suite/galera/t/galera_ist_innodb_flush_logs.cnf
new file mode 100644
index 00000000000..41a1aab382b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_innodb_flush_logs.cnf
@@ -0,0 +1,14 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=xtrabackup-v2
+wsrep_sst_auth=root:
+
+innodb_flush_log_at_trx_commit=0
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/galera_ist_innodb_flush_logs.test b/mysql-test/suite/galera/t/galera_ist_innodb_flush_logs.test
new file mode 100644
index 00000000000..07838702deb
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_innodb_flush_logs.test
@@ -0,0 +1,12 @@
+#
+# This test performs server kill and IST while innodb_flush_logs_on_trx_commit = 0
+# This confirms that IST can properly catch up even in the face of relaxed single-node durability
+#
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--source suite/galera/include/galera_st_kill_slave.inc
+--source suite/galera/include/galera_st_kill_slave_ddl.inc
diff --git a/mysql-test/suite/galera/t/galera_ist_mariabackup.cnf b/mysql-test/suite/galera/t/galera_ist_mariabackup.cnf
new file mode 100644
index 00000000000..75dff78149d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_mariabackup.cnf
@@ -0,0 +1,12 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=mariabackup
+wsrep_sst_auth=root:
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/galera_ist_mariabackup.test b/mysql-test/suite/galera/t/galera_ist_mariabackup.test
new file mode 100644
index 00000000000..6ef4f65ccd4
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_mariabackup.test
@@ -0,0 +1,16 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_mariabackup.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--source suite/galera/include/galera_st_disconnect_slave.inc
+--source suite/galera/include/galera_st_shutdown_slave.inc
+
+--source suite/galera/include/galera_st_kill_slave.inc
+--source suite/galera/include/galera_st_kill_slave_ddl.inc
+
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_ist_mariabackup_innodb_flush_logs.cnf b/mysql-test/suite/galera/t/galera_ist_mariabackup_innodb_flush_logs.cnf
new file mode 100644
index 00000000000..1542376b2b8
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_mariabackup_innodb_flush_logs.cnf
@@ -0,0 +1,14 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=mariabackup
+wsrep_sst_auth=root:
+
+innodb_flush_log_at_trx_commit=0
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/galera_ist_mariabackup_innodb_flush_logs.test b/mysql-test/suite/galera/t/galera_ist_mariabackup_innodb_flush_logs.test
new file mode 100644
index 00000000000..07838702deb
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_mariabackup_innodb_flush_logs.test
@@ -0,0 +1,12 @@
+#
+# This test performs server kill and IST while innodb_flush_logs_on_trx_commit = 0
+# This confirms that IST can properly catch up even in the face of relaxed single-node durability
+#
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--source suite/galera/include/galera_st_kill_slave.inc
+--source suite/galera/include/galera_st_kill_slave_ddl.inc
diff --git a/mysql-test/suite/galera/t/galera_ist_mysqldump.cnf b/mysql-test/suite/galera/t/galera_ist_mysqldump.cnf
new file mode 100644
index 00000000000..357c8678658
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_mysqldump.cnf
@@ -0,0 +1,12 @@
+!include ../galera_2nodes.cnf
+
+# We do not set mysqldump-related SST options here because doing so on startup
+# causes the first MTR connection to be forefully dropped by Galera, which in turn confuses MTR
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+
+
diff --git a/mysql-test/suite/galera/t/galera_ist_mysqldump.test b/mysql-test/suite/galera/t/galera_ist_mysqldump.test
new file mode 100644
index 00000000000..7bfca0334fa
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_mysqldump.test
@@ -0,0 +1,24 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--source suite/galera/include/galera_sst_set_mysqldump.inc
+
+call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to .*");
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+# mysql-wsrep#33 - nnoDB: Failing assertion: xid_seqno > trx_sys_cur_xid_seqno in trx_sys_update_wsrep_checkpoint with mysqldump IST
+# --source suite/galera/include/galera_st_disconnect_slave.inc
+
+# We set the required mysqldump SST options here so that they are used every time the server is restarted during the test
+--let $start_mysqld_params = --wsrep_sst_auth=sst:sst --wsrep_sst_method=mysqldump --wsrep-sst-receive-address=127.0.0.1:$NODE_MYPORT_2 --skip-grant-tables
+
+--source suite/galera/include/galera_st_shutdown_slave.inc
+--source suite/galera/include/galera_st_kill_slave.inc
+--source suite/galera/include/galera_st_kill_slave_ddl.inc
+
+--source include/auto_increment_offset_restore.inc
+--source suite/galera/include/galera_sst_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_ist_progress.cnf b/mysql-test/suite/galera/t/galera_ist_progress.cnf
new file mode 100644
index 00000000000..0a26f6d6c83
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_progress.cnf
@@ -0,0 +1,5 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/galera_ist_progress.test b/mysql-test/suite/galera/t/galera_ist_progress.test
new file mode 100644
index 00000000000..3ba63415c28
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_progress.test
@@ -0,0 +1,76 @@
+#
+# Test progress output during IST
+#
+
+--source include/galera_cluster.inc
+# This could cause out of storage if run /dev/shm
+--source include/big_test.inc
+
+# Isolate node #2
+--connection node_2
+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
+SET SESSION wsrep_on = OFF;
+--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+SET SESSION wsrep_on = ON;
+
+# Node #2 is now isolated. Run some transactions to accumulate writesets for IST
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+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);
+
+# Restore node #2, IST is performed
+
+--connection node_2
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 0';
+
+--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
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+
+#
+# Grep for expected IST output in joiner log
+#
+
+--connection node_1
+
+--let $assert_count = 1
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
+--let $assert_only_after = Need state transfer
+
+--let $assert_text = Receiving IST: 11 writesets, seqnos
+--let $assert_select = Receiving IST: 11 writesets, seqnos
+--source include/assert_grep.inc
+
+--let $assert_text = Receiving IST\.\.\. 0\.0% \( 0/11 events\) complete
+--let $assert_select = Receiving IST\.\.\. 0\.0% \( 0/11 events\) complete
+--source include/assert_grep.inc
+
+--let $assert_text = Receiving IST\.\.\.100\.0% \(11/11 events\) complete
+--let $assert_select = Receiving IST\.\.\.100\.0% \(11/11 events\) complete
+--source include/assert_grep.inc
+
+# Cleanup
+
+--connection node_1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_ist_recv_bind.cnf b/mysql-test/suite/galera/t/galera_ist_recv_bind.cnf
new file mode 100644
index 00000000000..2628f05eaef
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_recv_bind.cnf
@@ -0,0 +1,8 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;ist.recv_bind=127.0.0.1;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;ist.recv_bind=127.0.0.1'
+
diff --git a/mysql-test/suite/galera/t/galera_ist_recv_bind.test b/mysql-test/suite/galera/t/galera_ist_recv_bind.test
new file mode 100644
index 00000000000..a339684c158
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_recv_bind.test
@@ -0,0 +1,55 @@
+#
+# Test ist.recv_bind option. Since MTR can not do proper testing with multiple interfaces and such, we
+# simply confirm that the option can be set (in the galera_ist_recv_bind.cnf file) and that IST works as expected
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+--connection node_1
+SELECT @@wsrep_provider_options LIKE '%ist.recv_bind = 127.0.0.1%';
+
+--connection node_2
+SELECT @@wsrep_provider_options LIKE '%ist.recv_bind = 127.0.0.1%';
+
+# Isolate node #2
+
+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
+SET SESSION wsrep_on = OFF;
+--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+SET SESSION wsrep_on = ON;
+
+# Node #2 is now isolated. Run some transactions to accumulate writesets for IST
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+# Restore node #2
+
+--connection node_2
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 0';
+
+--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
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+
+# Confirm that IST has taken place
+
+--let $wait_condition = SELECT COUNT(*) = 1 FROM t1;
+--source include/wait_condition.inc
+
+# Cleanup
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_ist_restart_joiner.cnf b/mysql-test/suite/galera/t/galera_ist_restart_joiner.cnf
new file mode 100644
index 00000000000..10958aad9a8
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_restart_joiner.cnf
@@ -0,0 +1,4 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
diff --git a/mysql-test/suite/galera/t/galera_ist_restart_joiner.test b/mysql-test/suite/galera/t/galera_ist_restart_joiner.test
new file mode 100644
index 00000000000..633318629a6
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_restart_joiner.test
@@ -0,0 +1,113 @@
+#
+# Test that a joiner performing IST can be killed and restarted with no adverse consequences.
+# This is achieved by using the recv_IST_after_apply_trx Galera dbug sync point to block IST after
+# one transaction has been applied. When IST blocks, we kill and restart the joiner
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source suite/galera/include/galera_have_debug_sync.inc
+# This could cause out of storage if run /dev/shm
+--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
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+INSERT INTO t1 VALUES (1, 'a'), (2, 'a'), (3, 'a'), (4, 'a'), (5, 'a'),(6, 'a');
+
+# Disconnect node #2
+--connection node_2
+--source suite/galera/include/galera_unload_provider.inc
+
+--connection node_1
+UPDATE t1 SET f2 = 'b' WHERE f1 > 1;
+
+# Wait until node #1 has left
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+UPDATE t1 SET f2 = 'c' WHERE f1 > 2;
+
+--connection node_2
+# Write file to make mysql-test-run.pl expect the crash, but don't start it
+--let $_server_id= `SELECT @@server_id`
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
+--exec echo "wait" > $_expect_file_name
+
+--let KILL_NODE_PIDFILE = `SELECT @@pid_file`
+
+# ... and restart provider to force IST
+--echo Loading wsrep_provider ...
+--disable_query_log
+# base_port setting is lost for some reason when unloading provider, so we need to restore it
+--eval SET GLOBAL wsrep_provider_options= 'base_port=$NODE_GALERAPORT_2';
+--eval SET GLOBAL wsrep_provider = '$wsrep_provider_orig';
+# Make sure IST will block ...
+--let $galera_sync_point = recv_IST_after_apply_trx
+--source include/galera_set_sync_point.inc
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_orig';
+--enable_query_log
+
+SET SESSION wsrep_on=OFF;
+--let $wait_condition = SELECT VARIABLE_VALUE = 'recv_IST_after_apply_trx' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_debug_sync_waiters';
+--source include/wait_condition.inc
+SET SESSION wsrep_on=ON;
+
+--connection node_1
+# Perform DML while IST is in progress
+UPDATE t1 SET f2 = 'd' WHERE f1 > 3;
+
+# Kill node #2 while IST is in progress
+--connection node_2
+
+# Kill the connected server
+--disable_reconnect
+
+--perl
+ my $pid_filename = $ENV{'KILL_NODE_PIDFILE'};
+ my $mysqld_pid = `cat $pid_filename`;
+ chomp($mysqld_pid);
+ system("kill -9 $mysqld_pid");
+ exit(0);
+EOF
+
+--source include/wait_until_disconnected.inc
+
+--connection node_1
+--source include/wait_until_connected_again.inc
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+# Perform DML while node #2 is down
+UPDATE t1 SET f2 = 'e' WHERE f1 > 4;
+
+--connection node_2
+
+--let $galera_wsrep_recover_server_id=2
+--source suite/galera/include/galera_wsrep_recover.inc
+
+--echo Starting server ...
+--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
+
+--connection node_1
+UPDATE t1 SET f2 = 'f' WHERE f1 > 5;
+SELECT * FROM t1;
+
+--connection node_2
+SELECT * FROM t1;
+
+--connection node_1
+DROP TABLE t1;
+
+# Restore original auto_increment_offset values.
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
+
diff --git a/mysql-test/suite/galera/t/galera_ist_rsync.cnf b/mysql-test/suite/galera/t/galera_ist_rsync.cnf
new file mode 100644
index 00000000000..797e3651967
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_rsync.cnf
@@ -0,0 +1,13 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=rsync
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+wsrep_sync_wait=1
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+wsrep_sync_wait=1
+
diff --git a/mysql-test/suite/galera/t/galera_ist_rsync.test b/mysql-test/suite/galera/t/galera_ist_rsync.test
new file mode 100644
index 00000000000..1da79cd4214
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_rsync.test
@@ -0,0 +1,13 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+--source suite/galera/include/galera_st_disconnect_slave.inc
+--source suite/galera/include/galera_st_shutdown_slave.inc
+--source suite/galera/include/galera_st_kill_slave.inc
+--source suite/galera/include/galera_st_kill_slave_ddl.inc
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_ist_xtrabackup-v2.cnf b/mysql-test/suite/galera/t/galera_ist_xtrabackup-v2.cnf
new file mode 100644
index 00000000000..a762b939f69
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_xtrabackup-v2.cnf
@@ -0,0 +1,12 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=xtrabackup-v2
+wsrep_sst_auth=root:
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/galera_ist_xtrabackup-v2.test b/mysql-test/suite/galera/t/galera_ist_xtrabackup-v2.test
new file mode 100644
index 00000000000..34961765008
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ist_xtrabackup-v2.test
@@ -0,0 +1,15 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_xtrabackup.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--source suite/galera/include/galera_st_disconnect_slave.inc
+--source suite/galera/include/galera_st_shutdown_slave.inc
+
+--source suite/galera/include/galera_st_kill_slave.inc
+--source suite/galera/include/galera_st_kill_slave_ddl.inc
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_kill_applier.test b/mysql-test/suite/galera/t/galera_kill_applier.test
new file mode 100644
index 00000000000..e14a8b9af23
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_kill_applier.test
@@ -0,0 +1,26 @@
+#
+# This test checks that applier threads are immune to KILL QUERY and KILL STATEMENT
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+
+--let $applier_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE != 'wsrep aborter idle' OR STATE IS NULL LIMIT 1`
+
+--disable_query_log
+--error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR
+--eval KILL $applier_thread
+
+--error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR
+--eval KILL QUERY $applier_thread
+
+--let $aborter_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep aborter idle' LIMIT 1`
+
+--error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR
+--eval KILL $aborter_thread
+
+--error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR
+--eval KILL QUERY $aborter_thread
+--enable_query_log
diff --git a/mysql-test/suite/galera/t/galera_kill_ddl.test b/mysql-test/suite/galera/t/galera_kill_ddl.test
new file mode 100644
index 00000000000..ca59264ced4
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_kill_ddl.test
@@ -0,0 +1,46 @@
+#
+# This test kill -9-s a slave while small updates have been performed on the master.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+call mtr.add_suppression("WSREP: Last Applied Action message in non-primary configuration from member .*");
+
+--connection node_1
+
+# Enable the master to continue running during the split-brain situation that
+# occurs when the slave is killed
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=true';
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+
+--connection node_2
+--source include/kill_galera.inc
+
+--connection node_1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connection node_2
+--source include/start_mysqld.inc
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+
+--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 = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='t1';
+
+--connection node_1
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_orig';
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_kill_largechanges.test b/mysql-test/suite/galera/t/galera_kill_largechanges.test
new file mode 100644
index 00000000000..c671764fa9e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_kill_largechanges.test
@@ -0,0 +1,50 @@
+#
+# This test kill -9-s a slave while a large update has been performed on the master. SST is performed.
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+# Enable the master to continue running during the split-brain situation that
+# occurs when the slave is killed
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=true';
+
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10),(11);
+CREATE TABLE t1 (f1 VARCHAR(128)) ENGINE=InnoDB;
+
+--connection node_2
+--source include/kill_galera.inc
+
+--connection node_1
+# We create a 128Mb (or so) transaction that is larger than gcache. The size of the gcache is not adjustable dynamically
+INSERT INTO t1 SELECT REPEAT('a', 128) FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6;
+
+--connection node_2
+--source include/start_mysqld.inc
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+
+SELECT COUNT(*) FROM t1;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_orig';
+--enable_query_log
+
+--let $node_2=node_2a
+--source include/auto_increment_offset_restore.inc
+
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_kill_nochanges.test b/mysql-test/suite/galera/t/galera_kill_nochanges.test
new file mode 100644
index 00000000000..aa1648ca3ae
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_kill_nochanges.test
@@ -0,0 +1,40 @@
+#
+# This test kill -9-s a slave while no updates have been performed on the master.
+#
+
+--source include/galera_cluster.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--source include/kill_galera.inc
+
+--connection node_1
+SET SESSION wsrep_sync_wait = 0;
+--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'
+--source include/wait_condition.inc
+
+SET SESSION wsrep_sync_wait = DEFAULT;
+
+--connection node_2
+--source include/start_mysqld.inc
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+
+SELECT COUNT(*) FROM t1;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--let $node_2=node_2a
+--source include/auto_increment_offset_restore.inc
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_kill_smallchanges.test b/mysql-test/suite/galera/t/galera_kill_smallchanges.test
new file mode 100644
index 00000000000..15e1727de03
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_kill_smallchanges.test
@@ -0,0 +1,46 @@
+#
+# This test kill -9-s a slave while small updates have been performed on the master.
+#
+
+--source include/galera_cluster.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+
+# Enable the master to continue running during the split-brain situation that
+# occurs when the slave is killed
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=true';
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+
+--connection node_2
+--source include/kill_galera.inc
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--source include/start_mysqld.inc
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+
+SELECT COUNT(*) FROM t1;
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_orig';
+--enable_query_log
+
+--let $node_2=node_2a
+--source include/auto_increment_offset_restore.inc
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_lock_table.test b/mysql-test/suite/galera/t/galera_lock_table.test
new file mode 100644
index 00000000000..2745bfe5faf
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_lock_table.test
@@ -0,0 +1,50 @@
+#
+# Test that a LOCK TABLE on the slave will cause the applier thread to block, so no subsequent updates
+# are replicated on the slave until UNLOCK TABLE is issued.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $wsrep_sync_wait_orig = `SELECT @@wsrep_sync_wait`
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+
+# Wait until above DDL's are replicated
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+
+LOCK TABLE t1 READ;
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+# We use a separate connection here so that we can SELECT from both tables
+# without running into "table t2 was not locked" error.
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+SET SESSION wsrep_sync_wait=0;
+SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) = 0 FROM t2;
+
+--connection node_2
+UNLOCK TABLES;
+
+--disable_query_log
+--eval SET SESSION wsrep_sync_wait=$wsrep_sync_wait_orig;
+--enable_query_log
+
+SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) = 1 FROM t2;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/galera_log_bin-master.opt b/mysql-test/suite/galera/t/galera_log_bin-master.opt
new file mode 100644
index 00000000000..8a755e98b00
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_log_bin-master.opt
@@ -0,0 +1 @@
+--log-bin --log-slave-updates
diff --git a/mysql-test/suite/galera/t/galera_log_bin.test b/mysql-test/suite/galera/t/galera_log_bin.test
new file mode 100644
index 00000000000..d2d3987d711
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_log_bin.test
@@ -0,0 +1,39 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test Galera with --log-bin --log-slave-updates .
+# This way the actual MySQL binary log is used,
+# rather than Galera's own implementation
+#
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+CREATE TABLE t2 (id INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) = 2 FROM t2;
+
+--connection node_1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+FLUSH LOGS;
+--replace_column 2 # 4 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/
+SHOW BINLOG EVENTS IN 'mysqld-bin.000002' LIMIT 4,18;
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+--replace_column 2 # 4 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/
+SHOW BINLOG EVENTS IN 'mysqld-bin.000003' LIMIT 3,18;
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+--connection node_1
+RESET MASTER;
diff --git a/mysql-test/suite/galera/t/galera_log_output_csv-master.opt b/mysql-test/suite/galera/t/galera_log_output_csv-master.opt
new file mode 100644
index 00000000000..2f71b140b65
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_log_output_csv-master.opt
@@ -0,0 +1 @@
+--log-output=TABLE --log-queries-not-using-indexes --general-log --slow-query-log
diff --git a/mysql-test/suite/galera/t/galera_log_output_csv.test b/mysql-test/suite/galera/t/galera_log_output_csv.test
new file mode 100644
index 00000000000..94ae3dd6168
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_log_output_csv.test
@@ -0,0 +1,24 @@
+#
+# Test that --log-output=FILE works with Galera.
+# The relevant options are set using a -master.opt file
+# wsrep_replicate_myisam is not used as it crashes in MTR with mysql-wsrep#14
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+SELECT COUNT(*) > 0 FROM mysql.general_log;
+
+SELECT 1 = 1 FROM t1;
+SELECT COUNT(*) = 1 FROM mysql.slow_log WHERE sql_text = 'SELECT 1 = 1 FROM t1';
+
+--connection node_2
+
+SELECT 2 = 2 FROM t1;
+SELECT COUNT(*) = 1 FROM mysql.slow_log WHERE sql_text = 'SELECT 2 = 2 FROM t1';
+
+--connection node_1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_many_columns.test b/mysql-test/suite/galera/t/galera_many_columns.test
new file mode 100644
index 00000000000..3f596179c01
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_many_columns.test
@@ -0,0 +1,63 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--disable_query_log
+SET @create_var1 = "";
+--let $count = 1017
+while ($count)
+{
+ --eval SET @create_var1 = CONCAT(@create_var1, "f", $count, " VARCHAR(3) DEFAULT 'ABC', ")
+ --dec $count
+}
+
+--let $create_var = `SELECT @create_var1`
+--eval CREATE TABLE t1 ($create_var PRIMARY KEY (f1, f1017)) ENGINE=InnoDB;
+--enable_query_log
+
+INSERT INTO t1 (f1) VALUES (DEFAULT);
+
+--connection node_2
+SELECT f1 = 'ABC', f1017 = 'ABC' FROM t1;
+UPDATE t1 SET f1 = 'XYZ', f1017 = 'XYZ' ;
+
+--connection node_1
+SELECT f1 = 'XYZ', f1017 = 'XYZ' FROM t1 WHERE f1 = 'XYZ' AND f1017 = 'XYZ';
+
+
+# Deadlock
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'KLM' WHERE f1 = 'XYZ' AND f1017 = 'XYZ';
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'CDE' WHERE f1 = 'XYZ' AND f1017 = 'XYZ';
+COMMIT;
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+COMMIT;
+ROLLBACK;
+
+--connection node_2
+ROLLBACK;
+
+# Rollback
+
+--connection node_1
+START TRANSACTION;
+INSERT INTO t1 (f1, f1017) VALUES ('BCE','BCE');
+INSERT INTO t1 (f1, f1017) VALUES ('CED','CED');
+INSERT INTO t1 (f1, f1017) VALUES ('EDF','EDF');
+INSERT INTO t1 (f1, f1017) VALUES ('FED','FED');
+ROLLBACK;
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_many_indexes.test b/mysql-test/suite/galera/t/galera_many_indexes.test
new file mode 100644
index 00000000000..e01d0b23aa5
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_many_indexes.test
@@ -0,0 +1,74 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 VARCHAR(767) PRIMARY KEY) ENGINE=InnoDB;
+
+# MySQL complains about multiple identical indexes on the same column
+--disable_warnings
+
+--let $count = 63
+while ($count)
+{
+ --disable_query_log
+ --eval SET @ddl_var1 = CONCAT("CREATE UNIQUE INDEX i", $count, " ON t1(f1)")
+ --let $ddl_var = `SELECT @ddl_var1`
+ --enable_query_log
+ --eval $ddl_var
+ --dec $count
+}
+--enable_warnings
+
+INSERT INTO t1 VALUES (REPEAT('a', 767));
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+SELECT LENGTH(f1) = 767 FROM t1;
+
+EXPLAIN SELECT COUNT(*) = 1 FROM t1 FORCE KEY (PRIMARY) WHERE f1 = REPEAT('a', 767);
+SELECT COUNT(*) = 1 FROM t1 FORCE KEY (PRIMARY) WHERE f1 = REPEAT('a', 767);
+
+EXPLAIN SELECT COUNT(*) = 1 FROM t1 FORCE KEY (i1) WHERE f1 = REPEAT('a', 767);
+SELECT COUNT(*) = 1 FROM t1 FORCE KEY (i1) WHERE f1 = REPEAT('a', 767);
+
+EXPLAIN SELECT COUNT(*) = 1 FROM t1 FORCE KEY (i63) WHERE f1 = REPEAT('a', 767);
+SELECT COUNT(*) = 1 FROM t1 FORCE KEY (i63) WHERE f1 = REPEAT('a', 767);
+
+INSERT INTO t1 VALUES (REPEAT('b', 767));
+ANALYZE TABLE t1;
+
+--connection node_1
+SELECT COUNT(*) = 2 FROM t1;
+ANALYZE TABLE t1;
+DELETE FROM t1 WHERE f1 = REPEAT('b', 767);
+
+# Rollback
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+SELECT COUNT(*) = 1 FROM t1;
+INSERT INTO t1 (f1) VALUES (REPEAT('c', 767));
+ROLLBACK;
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_2
+START TRANSACTION;
+SET AUTOCOMMIT=OFF;
+SELECT COUNT(*) = 1 FROM t1;
+
+# Deadlock
+--connection node_1
+START TRANSACTION;
+--connection node_2
+START TRANSACTION;
+
+--connection node_1
+UPDATE t1 SET f1 = REPEAT('e', 767);
+--connection node_2
+UPDATE t1 SET f1 = REPEAT('f', 767);
+
+--connection node_1
+COMMIT;
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_many_rows.cnf b/mysql-test/suite/galera/t/galera_many_rows.cnf
new file mode 100644
index 00000000000..4e1022cf67f
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_many_rows.cnf
@@ -0,0 +1,5 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+innodb-status-output=ON
+innodb-status-output-locks=ON
diff --git a/mysql-test/suite/galera/t/galera_many_rows.test b/mysql-test/suite/galera/t/galera_many_rows.test
new file mode 100644
index 00000000000..bc9e99db8da
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_many_rows.test
@@ -0,0 +1,59 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+SET SESSION innodb_lock_wait_timeout=600;
+SET SESSION lock_wait_timeout=600;
+
+CREATE TABLE ten (f1 INTEGER) engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
+INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+--connection node_2
+SET SESSION wsrep_sync_wait = 0;
+--let $wsrep_provider_options_node2 = `SELECT @@wsrep_provider_options`
+SET SESSION wsrep_sync_wait = 15;
+
+SET GLOBAL wsrep_provider_options = 'repl.causal_read_timeout=PT1H';
+
+SELECT COUNT(*) FROM t1;
+INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+--connection node_1
+SELECT COUNT(*) FROM t1;
+UPDATE t1 SET f2 = 1;
+
+--connection node_2
+SELECT COUNT(*) FROM t1 WHERE f2 = 1;
+
+--connection node_1
+START TRANSACTION;
+SELECT COUNT(*) FROM t1;
+UPDATE t1 SET f2 = 3;
+
+--connection node_2
+START TRANSACTION;
+UPDATE t1 SET f2 = 4;
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_node2';
+--enable_query_log
+
+--source include/auto_increment_offset_restore.inc
+
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_many_tables_nopk.test b/mysql-test/suite/galera/t/galera_many_tables_nopk.test
new file mode 100644
index 00000000000..98a65b7c660
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_many_tables_nopk.test
@@ -0,0 +1,109 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+if (!`SELECT @@open_files_limit >= 1024`){
+ skip Need at least an open file limit of 1000;
+}
+
+#
+# This test forces 900 tables without a PK to participate in a single
+# transaction. The reason for 900 is that some linux system has by default
+# a limit of 1024 open files / process
+#
+
+#
+# First, create 900 tables
+#
+
+--connection node_1
+
+--let $count = 900
+while ($count)
+{
+ --disable_query_log
+ --let $ddl_var = `SELECT CONCAT("CREATE TABLE t", $count, " (f1 INTEGER) ENGINE=InnoDB")`
+ --eval $ddl_var
+ --enable_query_log
+ --dec $count
+}
+
+--let $count = 900
+while ($count)
+{
+ --disable_query_log
+ --let $ddl_var = `SELECT CONCAT("INSERT INTO t", $count, " VALUES (1234)")`
+ --eval $ddl_var
+ --enable_query_log
+ --dec $count
+}
+
+#
+# Second, perform 900 updates
+#
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+
+--let $count = 900
+while ($count)
+{
+ --disable_query_log
+ --let $ddl_var = `SELECT CONCAT("UPDATE t", $count, " SET f1 = 1")`
+ --eval $ddl_var
+ --enable_query_log
+ --dec $count
+}
+
+COMMIT;
+
+# Third, confirm that all the inserts have arrived on the second node
+#
+
+--connection node_2
+CREATE TABLE sum_table (f1 INTEGER);
+
+--let $count = 900
+while ($count)
+{
+ --disable_query_log
+ --let $ddl_var = `SELECT CONCAT("INSERT INTO sum_table SELECT COUNT(*) FROM t", $count)`
+ --eval $ddl_var
+ --enable_query_log
+ --dec $count
+}
+
+SELECT SUM(f1) = 900 FROM sum_table;
+
+#
+# Fourth, create a deadlock
+#
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+
+--let $count = 900
+while ($count)
+{
+ --disable_query_log
+ --let $ddl_var = `SELECT CONCAT("UPDATE t", $count, " SET f1 = 2")`
+ --eval $ddl_var
+ --enable_query_log
+ --dec $count
+}
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t900 SET f1 = 3;
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP SCHEMA test;
+CREATE SCHEMA test;
diff --git a/mysql-test/suite/galera/t/galera_many_tables_pk.test b/mysql-test/suite/galera/t/galera_many_tables_pk.test
new file mode 100644
index 00000000000..73c5fc1622c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_many_tables_pk.test
@@ -0,0 +1,101 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+if (!`SELECT @@open_files_limit >= 1024`){
+ skip Need at least an open file limit of 1024;
+}
+
+#
+# First, create 100 tables and make sure the DDLs are all propagated
+#
+
+--connection node_1
+
+--let $count = 100
+while ($count)
+{
+ --disable_query_log
+ --let $ddl_var = `SELECT CONCAT("CREATE TABLE t", $count, " (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB")`
+ --eval $ddl_var
+ --enable_query_log
+ --dec $count
+}
+
+--connection node_2
+SELECT COUNT(*) = 100 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 't%';
+
+#
+# Second, create a transaction that uses all those tables
+#
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+
+--let $count = 100
+while ($count)
+{
+ --disable_query_log
+ --let $ddl_var = `SELECT CONCAT("INSERT INTO t", $count, " VALUES (1)")`
+ --eval $ddl_var
+ --enable_query_log
+ --dec $count
+}
+
+COMMIT;
+
+#
+# Third, confirm that all the inserts have arrived on the second node
+#
+
+--connection node_2
+CREATE TABLE sum_table (f1 INTEGER);
+
+--let $count = 100
+while ($count)
+{
+ --disable_query_log
+ --let $ddl_var = `SELECT CONCAT("INSERT INTO sum_table SELECT COUNT(*) FROM t", $count)`
+ --eval $ddl_var
+ --enable_query_log
+ --dec $count
+}
+
+SELECT SUM(f1) = 100 FROM sum_table;
+
+#
+# Fourth, create a deadlock
+#
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+
+--let $count = 100
+while ($count)
+{
+ --disable_query_log
+ --let $ddl_var = `SELECT CONCAT("UPDATE t", $count, " SET f1 = 2")`
+ --eval $ddl_var
+ --enable_query_log
+ --dec $count
+}
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t100 SET f1 = 3;
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+--let $diff_servers = 1 2
+--source include/diff_servers.inc
+
+DROP SCHEMA test;
+CREATE SCHEMA test;
diff --git a/mysql-test/suite/galera/t/galera_mdev_10812.test b/mysql-test/suite/galera/t/galera_mdev_10812.test
new file mode 100644
index 00000000000..4539ab6c84d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_mdev_10812.test
@@ -0,0 +1,27 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-10812: On COM_STMT_CLOSE/COM_QUIT, when wsrep_conflict_state
+--echo # is ABORTED, it causes wrong response to be sent to the client
+--echo #
+
+# First create a deadlock
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+CREATE TABLE t1(a INT PRIMARY KEY);
+INSERT INTO t1 VALUES(1),(2),(3);
+START TRANSACTION ;
+UPDATE t1 SET a=a+100;
+
+--sleep 2
+--connection node_2
+UPDATE t1 SET a=a+100;
+
+--sleep 2
+--connection node_1a
+# here we get deadlock error
+--disconnect node_1a
+
+--connection node_2
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_mdev_13787.opt b/mysql-test/suite/galera/t/galera_mdev_13787.opt
new file mode 100644
index 00000000000..27ec1e3f00e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_mdev_13787.opt
@@ -0,0 +1 @@
+--innodb-stats-persistent=1
diff --git a/mysql-test/suite/galera/t/galera_mdev_13787.test b/mysql-test/suite/galera/t/galera_mdev_13787.test
new file mode 100644
index 00000000000..940cffb8b65
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_mdev_13787.test
@@ -0,0 +1,6 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--connection node_1
+create table t(a int);
+insert into t select 1;
+DROP TABLE t;
diff --git a/mysql-test/suite/galera/t/galera_mdev_15611.cnf b/mysql-test/suite/galera/t/galera_mdev_15611.cnf
new file mode 100644
index 00000000000..b6f601c56b1
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_mdev_15611.cnf
@@ -0,0 +1,5 @@
+!include ../galera_2nodes.cnf
+[mysqld.1]
+
+[mysqld.2]
+wsrep_slave_threads=6
diff --git a/mysql-test/suite/galera/t/galera_mdev_15611.test b/mysql-test/suite/galera/t/galera_mdev_15611.test
new file mode 100644
index 00000000000..d32d7e75262
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_mdev_15611.test
@@ -0,0 +1,30 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE TABLE t1 (
+ id int primary key
+);
+
+CREATE TABLE t2 (
+ id int primary key ,
+ f_id int DEFAULT NULL, FOREIGN KEY(f_id) REFERENCES t1 (id)
+);
+
+insert into t1 select 1;
+
+--disable_query_log
+--let $count=200
+--echo #Running 200 insert in t2 table
+while($count)
+{
+ #Repeatedly execute the following SQL until you generate thousands of data
+ --eval insert into t2 values ($count, 1);
+ --dec $count
+}
+--enable_query_log
+
+select count(*) from t2;
+delete from t2;
+delete from t1;
+drop table t2,t1;
diff --git a/mysql-test/suite/galera/t/galera_mdl_race.test b/mysql-test/suite/galera/t/galera_mdl_race.test
new file mode 100644
index 00000000000..ad6770f9991
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_mdl_race.test
@@ -0,0 +1,72 @@
+#
+# This test tests a potential race condition in MDL locking
+#
+
+--source include/galera_cluster.inc
+--source include/have_debug_sync.inc
+
+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
+LOCK TABLE t2 WRITE;
+
+# Block before MLD lock wait
+--connection node_1
+ SET @@debug_dbug = "d,sync.wsrep_before_mdl_wait";
+--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
+
+# block applier to wait after BF victim is locked
+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;
+
+# 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";
+
+# unblock applier to try to BF the SELECT
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_after_BF_victim_lock";
+
+# table lock is not needed anymore
+UNLOCK TABLES;
+
+# SELECT succeeds
+--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_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'a';
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+--connection node_1a
+SET DEBUG_SYNC = "RESET";
+
diff --git a/mysql-test/suite/galera/t/galera_migrate.cnf b/mysql-test/suite/galera/t/galera_migrate.cnf
new file mode 100644
index 00000000000..ed48f208e52
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_migrate.cnf
@@ -0,0 +1,59 @@
+#
+# This .cnf file starts 4 servers without enabling Galera.
+# The galera_migrate.test will set wsrep_provider and the other settings as needed.
+#
+
+!include include/default_mysqld.cnf
+
+[mysqld]
+binlog-format=row
+innodb_autoinc_lock_mode=2
+innodb_flush_log_at_trx_commit=2
+log-bin=mysqld-bin
+
+wsrep_node_address=127.0.0.1
+wsrep_causal_reads=ON
+wsrep_sync_wait = 15
+
+[mysqld.1]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+[mysqld.2]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+[mysqld.3]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+[mysqld.4]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+[ENV]
+NODE_MYPORT_1= @mysqld.1.port
+NODE_MYSOCK_1= @mysqld.1.socket
+
+NODE_MYPORT_2= @mysqld.2.port
+NODE_MYSOCK_2= @mysqld.2.socket
+
+NODE_MYPORT_3= @mysqld.3.port
+NODE_MYSOCK_3= @mysqld.3.socket
+
+NODE_MYPORT_4= @mysqld.4.port
+NODE_MYSOCK_4= @mysqld.4.socket
+
+NODE_GALERAPORT_1= @mysqld.1.#galera_port
+NODE_GALERAPORT_2= @mysqld.2.#galera_port
+NODE_GALERAPORT_3= @mysqld.3.#galera_port
+NODE_GALERAPORT_4= @mysqld.4.#galera_port
+
+NODE_SSTPORT_1= @mysqld.1.#sst_port
+NODE_SSTPORT_2= @mysqld.2.#sst_port
+NODE_SSTPORT_3= @mysqld.3.#sst_port
+NODE_SSTPORT_4= @mysqld.4.#sst_port
diff --git a/mysql-test/suite/galera/t/galera_migrate.test b/mysql-test/suite/galera/t/galera_migrate.test
new file mode 100644
index 00000000000..84897b66c6d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_migrate.test
@@ -0,0 +1,204 @@
+#
+# Execute a migration from MariaDB replication to Galera replication.
+# The test starts with 4 stand-alone servers defined by galera_migrate.cnf and then
+# performs the following steps:
+#
+# 1. Begin with a single MySQL server
+# 2. Establish traditional MySQL master-slave replication
+# 3. Attach a new sever to serve as a MySQL replication slave
+# 4. Enable Galera on the new slave and create a single-node Galera cluster
+# 5. Attach a second Galera node
+# 6. Turn off the traditional replication parts of the system
+# 7. Continue replicating within Galera only
+#
+
+--source include/big_test.inc
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+
+#
+# Step #1 Begin with a single server
+#
+
+--connect node_1, 127.0.0.1, root, , test, $NODE_MYPORT_1
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+#
+# Step #2. Establish traditional MySQL replication
+#
+
+--connect node_2, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT = $NODE_MYPORT_1;
+--enable_query_log
+START SLAVE;
+
+--connection node_1
+INSERT INTO t1 VALUES (2);
+
+--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(*) = 2 FROM t1;
+--source include/wait_condition.inc
+
+#
+# Step #3. Attach a second slave, later to be converted to Galera
+#
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--disable_query_log
+--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT = $NODE_MYPORT_1;
+--enable_query_log
+START SLAVE USER='root';
+
+--connection node_1
+INSERT INTO t1 VALUES (3);
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+--let $wait_condition = SELECT COUNT(*) = 3 FROM t1;
+--source include/wait_condition.inc
+
+#
+# Step #4. Convert this MySQL slave into a Galera node
+#
+
+--connection node_1
+INSERT INTO t1 VALUES (4);
+
+--connection node_3
+--disable_query_log
+--eval SET GLOBAL wsrep_provider='$WSREP_PROVIDER'
+--eval SET GLOBAL wsrep_provider_options='base_port=$NODE_GALERAPORT_3'
+--enable_query_log
+SET GLOBAL wsrep_cluster_address='gcomm://';
+
+--connection node_1
+INSERT INTO t1 VALUES (5);
+
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
+--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
+
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1
+INSERT INTO t1 VALUES (6);
+
+#
+# Step #5. Attach a second Galera node using mysqldump SST
+#
+
+--connection node_3
+# We need a user with a password for mysqldump SST
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+SET GLOBAL wsrep_sst_auth = 'sst:';
+
+--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+
+--disable_query_log
+--eval SET GLOBAL wsrep_sst_method = 'mysqldump';
+--eval SET GLOBAL wsrep_provider='$WSREP_PROVIDER'
+--eval SET GLOBAL wsrep_provider_options='base_port=$NODE_GALERAPORT_4'
+--eval SET GLOBAL wsrep_sst_receive_address = '127.0.0.2:$NODE_MYPORT_4';
+--eval SET GLOBAL wsrep_cluster_address='gcomm://127.0.0.1:$NODE_GALERAPORT_3'
+--enable_query_log
+
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+--let $wait_condition = SELECT COUNT(*) = 6 FROM t1;
+--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
+
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+
+#
+# Step #6. Turn off traditional replication
+#
+
+--connection node_2
+STOP SLAVE;
+RESET SLAVE ALL;
+
+--connection node_3
+STOP SLAVE;
+RESET SLAVE ALL;
+
+#
+# Step #7. Continue replicating within Galera only
+#
+
+# We need fresh connections due to galera#191
+
+--connect node_3a, 127.0.0.1, root, , test, $NODE_MYPORT_3
+INSERT INTO t1 VALUES (7);
+
+--connect node_4a, 127.0.0.1, root, , test, $NODE_MYPORT_4
+INSERT INTO t1 VALUES (8);
+
+--connection node_4a
+SELECT COUNT(*) = 8 FROM t1;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+--source include/wait_condition.inc
+
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_3a
+SELECT COUNT(*) = 8 FROM t1;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+--source include/wait_condition.inc
+
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+#
+# Teardown
+#
+
+--connection node_1
+DROP TABLE t1;
+
+--connection node_2
+DROP TABLE t1;
+
+--connection node_3
+SET GLOBAL wsrep_provider = 'none';
+SET GLOBAL wsrep_sst_auth = '';
+SET GLOBAL wsrep_provider_options = '';
+DROP TABLE t1;
+DROP USER sst;
+
+--connection node_4
+SET GLOBAL wsrep_provider = 'none';
+SET GLOBAL wsrep_sst_method = 'rsync';
+SET GLOBAL wsrep_provider_options = '';
+SET GLOBAL wsrep_sst_receive_address = 'AUTO';
+DROP TABLE t1;
+DROP USER sst;
+
+CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found");
diff --git a/mysql-test/suite/galera/t/galera_multi_database.test b/mysql-test/suite/galera/t/galera_multi_database.test
new file mode 100644
index 00000000000..6e06aaaa2c6
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_multi_database.test
@@ -0,0 +1,43 @@
+#
+# Test that identical updates can be delivered to two separate
+# databases without this causing a certification conflict
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE DATABASE d1;
+CREATE TABLE d1.t1(f1 INTEGER) ENGINE=InnoDB;
+
+CREATE DATABASE d2;
+CREATE TABLE d2.t1(f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO d1.t1 VALUES (1);
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO d2.t1 VALUES (1);
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+COMMIT;
+
+SELECT COUNT(*) = 1 FROM d1.t1;
+SELECT COUNT(*) = 1 FROM d2.t1;
+
+--connection node_1
+
+SELECT COUNT(*) = 1 FROM d1.t1;
+SELECT COUNT(*) = 1 FROM d2.t1;
+
+DROP TABLE d1.t1;
+DROP TABLE d2.t1;
+
+DROP DATABASE d1;
+DROP DATABASE d2;
diff --git a/mysql-test/suite/galera/t/galera_myisam_autocommit.test b/mysql-test/suite/galera/t/galera_myisam_autocommit.test
new file mode 100644
index 00000000000..b01b5dc07f7
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_myisam_autocommit.test
@@ -0,0 +1,45 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# This tests simple autocommit replication of MyISAM tables. No updates arrive on the slave.
+#
+
+# Without a PK
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2), (3);
+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);
+INSERT INTO t2 SELECT 4 FROM DUAL UNION ALL SELECT 5 FROM DUAL;
+
+# Error
+--error ER_DUP_ENTRY
+INSERT INTO t2 VALUES (6), (1);
+
+# UPDATE
+
+UPDATE t1 SET f1 = 9;
+UPDATE t2 SET f1 = 9 WHERE f1 = 1;
+
+# DELETE
+
+DELETE FROM t1 WHERE f1 = 9;
+DELETE FROM t2 WHERE f1 = 9;
+
+# TRUNCATE
+
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t1;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) = 0 FROM t2;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/galera_myisam_transactions.test b/mysql-test/suite/galera/t/galera_myisam_transactions.test
new file mode 100644
index 00000000000..00e0bf3fdca
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_myisam_transactions.test
@@ -0,0 +1,36 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# This tests MyISAM tables in transactions. No MyISAM updates arrive on the slave, but InnoDB ones do.
+#
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE t3 (f1 INTEGER) ENGINE=MyISAM;
+
+CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW INSERT INTO t3 VALUES (NEW.f1);
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+COMMIT;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) = 0 FROM t2;
+SELECT COUNT(*) = 0 FROM t2;
+
+--connection node_1
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+ROLLBACK;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) = 0 FROM t2;
+SELECT COUNT(*) = 0 FROM t2;
+
+DROP TABLE t1, t2, t3;
diff --git a/mysql-test/suite/galera/t/galera_nopk_bit.test b/mysql-test/suite/galera/t/galera_nopk_bit.test
new file mode 100644
index 00000000000..4292a6d6711
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_nopk_bit.test
@@ -0,0 +1,46 @@
+#
+# This checks that even tables with a single BIT column are replicated properly without a PK
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 BIT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),(0),(b'1');
+
+--connection node_2
+SELECT f1 IS NULL, f1 = b'1' FROM t1;
+
+DELETE FROM t1 WHERE f1 = b'1';
+UPDATE t1 SET f1 = b'1' WHERE f1 IS NULL;
+UPDATE t1 SET f1 = 1 WHERE f1 = b'0';
+
+--connection node_1
+SELECT f1 IS NULL, f1 = b'1' FROM t1;
+
+#
+# Provoke a conflict
+#
+
+--connection node_1
+CREATE TABLE t2 (f1 BIT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (NULL);
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 0 WHERE f1 IS NULL;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 1 WHERE f1 IS NULL;
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/galera_nopk_blob.test b/mysql-test/suite/galera/t/galera_nopk_blob.test
new file mode 100644
index 00000000000..08e3b996c8e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_nopk_blob.test
@@ -0,0 +1,46 @@
+#
+# This checks that even tables with a single BLOB column and no FK are replicated properly
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 BLOB) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),('abc');
+
+--connection node_2
+SELECT f1 FROM t1;
+
+DELETE FROM t1 WHERE f1 IS NULL;
+UPDATE t1 SET f1 = 'xyz' WHERE f1 = 'abc';
+
+--connection node_1
+SELECT COUNT(*) = 1 FROM t1;
+SELECT f1 = 'abc' FROM t1;
+
+#
+# Provoke a conflict
+#
+
+--connection node_1
+CREATE TABLE t2 (f1 BLOB) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (NULL);
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 'abc' WHERE f1 IS NULL;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 'xyz' WHERE f1 IS NULL;
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/galera_nopk_large_varchar.test b/mysql-test/suite/galera/t/galera_nopk_large_varchar.test
new file mode 100644
index 00000000000..bb9bcd5a593
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_nopk_large_varchar.test
@@ -0,0 +1,50 @@
+#
+# This checks that even tables with a single long VARCHARcolumn and no FK are replicated properly
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# From the Innodb manual: "The maximum row length, except for variable-length columns (VARBINARY, VARCHAR, BLOB and TEXT),
+# is slightly less than half of a database page. That is, the maximum row length is about 8000 bytes"
+
+CREATE TABLE t1 (f1 VARCHAR(8000)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),(CONCAT(REPEAT('x', 7999), 'a'));
+
+--connection node_2
+SELECT LENGTH(f1) FROM t1;
+
+DELETE FROM t1 WHERE f1 IS NULL;
+UPDATE t1 SET f1 = CONCAT(REPEAT('x', 7999), 'b') WHERE f1 = CONCAT(REPEAT('x', 7999), 'a');
+
+--connection node_1
+SELECT COUNT(*) = 1 FROM t1;
+SELECT LENGTH(f1) = 8000 FROM t1;
+SELECT f1 = CONCAT(REPEAT('x', 7999), 'b') FROM t1;
+
+#
+# Provoke a conflict
+#
+
+--connection node_1
+CREATE TABLE t2 (f1 BLOB) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (CONCAT(REPEAT('x', 7999), 'a'));
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 'abc' WHERE f1 = CONCAT(REPEAT('x', 7999), 'a');
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t2 SET f1 = 'xyz' WHERE f1 = CONCAT(REPEAT('x', 7999), 'a');
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/galera_nopk_unicode.test b/mysql-test/suite/galera/t/galera_nopk_unicode.test
new file mode 100644
index 00000000000..e036e14ebe0
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_nopk_unicode.test
@@ -0,0 +1,43 @@
+#
+# Test non-ascii data in table without a PK
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (
+ f1 VARCHAR(255),
+ KEY (f1)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+INSERT INTO t1 VALUES ('текÑÑ‚');
+
+--connection node_2
+SELECT f1 = 'текÑÑ‚' FROM t1;
+
+#
+# Provoke a conflict
+#
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'текÑÑ‚2';
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'текÑÑ‚3';
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+SELECT f1 = 'текÑÑ‚2' FROM t1;
+SELECT f1 = 'текÑÑ‚2' FROM t1 WHERE f1 = 'текÑÑ‚2';
+
+
+DROP TABLE t1;
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
new file mode 100644
index 00000000000..febb91a9725
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_parallel_apply_lock_table.test
@@ -0,0 +1,51 @@
+#
+# Test that a LOCK TABLE on the slave will cause all applier threads to block,
+# Even though the two INSERTS are independent transactions, the fact that t1 is locked
+# prevents the applier thread from committing the insert against t2, as commits are done
+# in order.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+
+--let $wsrep_slave_threads_orig = `SELECT @@wsrep_slave_threads`
+--let $wsrep_sync_wait_orig = `SELECT @@wsrep_sync_wait`
+
+SET GLOBAL wsrep_slave_threads = 2;
+LOCK TABLE t1 READ;
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+# We use a separate connection here so that we can SELECT from both tables
+# without running into "table t2 was not locked" error.
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+--sleep 1
+SET SESSION wsrep_sync_wait=0;
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%applied write set%';
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Waiting for table level lock%';
+SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) = 0 FROM t2;
+
+--connection node_2
+UNLOCK TABLES;
+
+--connection node_2a
+--eval SET SESSION wsrep_sync_wait = $wsrep_sync_wait_orig;
+SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) = 1 FROM t2;
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'committed%';
+
+--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig;
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/galera_parallel_autoinc_largetrx.test b/mysql-test/suite/galera/t/galera_parallel_autoinc_largetrx.test
new file mode 100644
index 00000000000..34558283462
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_parallel_autoinc_largetrx.test
@@ -0,0 +1,56 @@
+##
+## This test tests parallel application of multiple auto-increment insert transactions
+##
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+# Create a second connection to node1 so that we can run transactions concurrently
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
+
+--connection node_2
+set session wsrep_sync_wait=15;
+--let $wsrep_slave_threads_orig = `SELECT @@wsrep_slave_threads`
+SET GLOBAL wsrep_slave_threads = 4;
+--let $wait_condition = SELECT COUNT(*) = @@wsrep_slave_threads + 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%');
+--source include/wait_condition.inc
+
+
+--connection node_1
+--send INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+
+--connection node_1a
+--send INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+
+--connection node_2
+--send INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+
+--connection node_1
+--reap
+
+--connection node_1a
+--reap
+
+--connection node_2
+--reap
+--disconnect node_1a
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(DISTINCT f1) FROM t1;
+
+--disable_query_log
+--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig;
+--enable_query_log
+
+--connection default
+DROP TABLE t1;
+DROP TABLE ten;
+
diff --git a/mysql-test/suite/galera/t/galera_parallel_autoinc_manytrx.test b/mysql-test/suite/galera/t/galera_parallel_autoinc_manytrx.test
new file mode 100644
index 00000000000..d04603891db
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_parallel_autoinc_manytrx.test
@@ -0,0 +1,91 @@
+##
+## Tests the parallel application of many small-ish auto-increment insert transactions
+##
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
+
+# Create few connections to node1 so that we can run transactions concurrently
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+
+--let $galera_connection_name = node_1b
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+
+--connection node_2
+set session wsrep_sync_wait=15;
+--let $wsrep_slave_threads_orig = `SELECT @@wsrep_slave_threads`
+SET GLOBAL wsrep_slave_threads = 4;
+--let $wait_condition = SELECT COUNT(*) = @@wsrep_slave_threads + 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%');
+--source include/wait_condition.inc
+
+--connection node_1
+DELIMITER |;
+CREATE PROCEDURE p1 (repeat_count int)
+BEGIN
+ DECLARE current_num int;
+ SET current_num = 0;
+ WHILE current_num < repeat_count do
+ INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1;
+ COMMIT;
+ SET current_num = current_num + 1;
+ END WHILE;
+END|
+DELIMITER ;|
+
+--disable_query_log
+send call p1(1000);
+
+--connection node_1a
+--disable_query_log
+send call p1(1000);
+
+--connection node_1b
+--disable_query_log
+send call p1(1000);
+
+--connection node_2
+--disable_query_log
+send call p1(1000);
+
+--connection node_1
+reap;
+--enable_query_log
+
+--connection node_1a
+reap;
+--enable_query_log
+
+--connection node_1b
+reap;
+--enable_query_log
+
+--connection node_2
+reap;
+--enable_query_log
+
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(DISTINCT f1) FROM t1;
+
+--disconnect node_1a
+--disconnect node_1b
+
+--disable_query_log
+--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig;
+--enable_query_log
+
+--connection default
+DROP TABLE t1;
+DROP TABLE ten;
+DROP PROCEDURE p1;
+
+
diff --git a/mysql-test/suite/galera/t/galera_parallel_simple.test b/mysql-test/suite/galera/t/galera_parallel_simple.test
new file mode 100644
index 00000000000..2cd840123cf
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_parallel_simple.test
@@ -0,0 +1,63 @@
+#
+# Test that SHOW PROCESSLIST reports that two slave threads have been involved in applying
+# two independent transactions
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $wsrep_slave_threads_orig = `SELECT @@wsrep_slave_threads`
+
+CREATE TABLE t1 (id INT) ENGINE=InnoDB;
+CREATE TABLE t2 (id INT) ENGINE=InnoDB;
+
+--connection node_2
+SET GLOBAL wsrep_slave_threads = 2;
+
+# Wait until above DDL's are replicated
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+
+LOCK TABLE t1 WRITE;
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+--connection node_2
+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 'applied write set%';
+--source include/wait_condition.inc
+
+UNLOCK TABLES;
+
+SET SESSION wsrep_sync_wait = 15;
+
+SELECT COUNT(*) = 10 FROM t1;
+SELECT COUNT(*) = 10 FROM t2;
+
+--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/galera_pc_ignore_sb.test b/mysql-test/suite/galera/t/galera_pc_ignore_sb.test
new file mode 100644
index 00000000000..c48ddc66bdf
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_pc_ignore_sb.test
@@ -0,0 +1,54 @@
+#
+# Test pc.ignore_sb=true wsrep_provider option . Killing one node should leave the other running.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+SET @wsrep_cluster_address_orig = @@GLOBAL.wsrep_cluster_address;
+SET @wsrep_provider_options_orig = @@GLOBAL.wsrep_provider_options;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_provider_options ='pc.ignore_sb=true';
+
+--connection node_2
+--source include/kill_galera.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
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
+
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+
+# Reset the master and restart the slave so that post-test checks can run
+
+SET GLOBAL wsrep_cluster_address = '';
+SET GLOBAL wsrep_cluster_address = @wsrep_cluster_address_orig;
+
+--connection node_2
+--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
+
+SET GLOBAL wsrep_provider_options = @wsrep_provider_options_orig;
+
+# Restore original auto_increment_offset values.
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/galera_pk_bigint_signed.test b/mysql-test/suite/galera/t/galera_pk_bigint_signed.test
new file mode 100644
index 00000000000..12a8a8f5d64
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_pk_bigint_signed.test
@@ -0,0 +1,46 @@
+#
+# PK that is a BIGINT SIGNED
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 BIGINT SIGNED PRIMARY KEY, f2 VARCHAR(5)) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES
+ (-9223372036854775808, 'min'),
+ (9223372036854775807, 'max')
+;
+
+--connection node_2
+SELECT * FROM t1;
+
+UPDATE t1 SET f2 = CONCAT(f2, '_');
+
+--connection node_1
+SELECT * FROM t1;
+
+#
+# Deadlock
+#
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'foo' WHERE f1 = -9223372036854775808;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'bar' WHERE f1 = -9223372036854775808;
+
+--connection node_1
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_pk_bigint_unsigned.test b/mysql-test/suite/galera/t/galera_pk_bigint_unsigned.test
new file mode 100644
index 00000000000..2bb02d5ea4e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_pk_bigint_unsigned.test
@@ -0,0 +1,45 @@
+#
+# PK that is a BIGINT UNSIGNED
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 BIGINT UNSIGNED PRIMARY KEY, f2 VARCHAR(5)) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES
+ (18446744073709551615, 'max')
+;
+
+--connection node_2
+SELECT f1 = 18446744073709551615 FROM t1;
+
+UPDATE t1 SET f2 = CONCAT(f2, '_');
+
+--connection node_1
+SELECT f1 = 18446744073709551615 FROM t1;
+
+#
+# Deadlock
+#
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'foo' WHERE f1 = 18446744073709551615;
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f2 = 'bar' WHERE f1 = 18446744073709551615;
+
+--connection node_1
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_prepared_statement.test b/mysql-test/suite/galera/t/galera_prepared_statement.test
new file mode 100644
index 00000000000..3bee097ff39
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_prepared_statement.test
@@ -0,0 +1,45 @@
+#
+# A simple test for PREPARE / EXECUTE -style prepared statements with Galera
+#
+# C-API-level prepared-statements can not be triggered from inside mysqltest, however
+# can be exercised when running an MTR test suite with the --ps-protocol switch.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 CHAR(5)) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 CHAR(5)) ENGINE=InnoDB;
+CREATE TABLE t3 (f1 CHAR(5)) ENGINE=InnoDB;
+CREATE TABLE t4 (f1 CHAR(5)) ENGINE=InnoDB;
+
+SET SESSION sql_mode='STRICT_ALL_TABLES';
+
+PREPARE st1 FROM 'INSERT INTO t1 VALUES ("abc")';
+PREPARE st2 FROM 'INSERT INTO t2 VALUES ("abc")';
+PREPARE st3 FROM 'INSERT INTO t3 VALUES ("abc")';
+PREPARE st4 FROM 'INSERT INTO t4 VALUES ("abc")';
+
+EXECUTE st1;
+EXECUTE st2;
+EXECUTE st3;
+EXECUTE st4;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) = 1 FROM t2;
+SELECT COUNT(*) = 1 FROM t3;
+SELECT COUNT(*) = 1 FROM t4;
+
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+ALTER TABLE t1 DROP COLUMN f1;
+
+--connection node_1
+--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
+EXECUTE st1;
+
+--connection node_1
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE t4;
diff --git a/mysql-test/suite/galera/t/galera_query_cache-master.opt b/mysql-test/suite/galera/t/galera_query_cache-master.opt
new file mode 100644
index 00000000000..915a36c0937
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_query_cache-master.opt
@@ -0,0 +1 @@
+--query_cache_type=1 --query_cache_size=1355776
diff --git a/mysql-test/suite/galera/t/galera_query_cache.test b/mysql-test/suite/galera/t/galera_query_cache.test
new file mode 100644
index 00000000000..900faba0e1b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_query_cache.test
@@ -0,0 +1,67 @@
+--source include/have_query_cache.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Ensure that the query cache behaves properly with respect to Galera
+#
+# * in the absence of updates, the query cache does serve cached results
+# * any cache-invalidating query on the remote node also causes the local cache to be invalidated
+#
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+RESET QUERY CACHE;
+FLUSH STATUS;
+
+#
+# 1. Cache works
+#
+
+SELECT COUNT(*) FROM t1;
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+
+SELECT COUNT(*) FROM t1;
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+
+#
+# 2. Cache is invalidated by DML on remote node
+#
+
+--connection node_1
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+FLUSH STATUS;
+
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+SELECT COUNT(*) FROM t1;
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+SELECT COUNT(*) FROM t1;
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+
+#
+# 3. Cache is invalidated by DDL on remote node
+#
+
+--connection node_1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connection node_2
+FLUSH STATUS;
+
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+SELECT COUNT(*) FROM t1;
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
+
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+SELECT COUNT(*) FROM t1;
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/galera/t/galera_query_cache_sync_wait-master.opt b/mysql-test/suite/galera/t/galera_query_cache_sync_wait-master.opt
new file mode 100644
index 00000000000..915a36c0937
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_query_cache_sync_wait-master.opt
@@ -0,0 +1 @@
+--query_cache_type=1 --query_cache_size=1355776
diff --git a/mysql-test/suite/galera/t/galera_query_cache_sync_wait.test b/mysql-test/suite/galera/t/galera_query_cache_sync_wait.test
new file mode 100644
index 00000000000..e13e7f1f748
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_query_cache_sync_wait.test
@@ -0,0 +1,88 @@
+--source include/galera_cluster.inc
+--source include/have_debug_sync.inc
+--source include/have_query_cache.inc
+
+CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT1S";
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+SELECT MAX(id) FROM t1; # first lookup miss
+
+#
+# Query cache hit, wait timeout
+#
+
+--connection node_1
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT MAX(id) FROM t1;
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+
+FLUSH QUERY CACHE;
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+SET DEBUG_SYNC = "RESET";
+
+#
+# Query cache miss, wait timeout
+#
+
+--connection node_1
+INSERT INTO t1 VALUES (3);
+
+--connection node_2
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT MAX(id) FROM t1;
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+
+#
+# Query cache miss
+#
+
+--connection node_1
+INSERT INTO t1 VALUES (4);
+
+--connection node_2
+SELECT MAX(id) FROM t1;
+
+#
+# Query cache hit
+#
+
+FLUSH STATUS;
+SELECT MAX(id) FROM t1;
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";
+
+#
+# Query cache invalidated
+#
+
+--connection node_1
+INSERT INTO t1 VALUES (5);
+
+--connection node_2
+--send SELECT MAX(id) FROM t1
+
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2a
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
+
+--connection node_2
+--reap
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
+
+
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = "$wsrep_provider_options_orig"
+DROP TABLE t1;
+
+--connection node_2a
+SET DEBUG_SYNC = "RESET";
diff --git a/mysql-test/suite/galera/t/galera_read_only.test b/mysql-test/suite/galera/t/galera_read_only.test
new file mode 100644
index 00000000000..c0fa4af07e0
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_read_only.test
@@ -0,0 +1,39 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Ensure that the read_only option does not apply to Galera appliers and that replication
+# continues, the way MySQL replication would.
+#
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+SET GLOBAL read_only=TRUE;
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+CREATE USER foo@localhost;
+
+--echo # Open connection to node 2 using 'foo' user.
+--let $port_2= \$NODE_MYPORT_2
+--connect(foo_node_2,127.0.0.1,foo,,test,$port_2,)
+
+--echo
+--echo # Connect with foo_node_2
+--connection foo_node_2
+--error ER_OPTION_PREVENTS_STATEMENT
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+# Cleanup
+SET GLOBAL read_only=FALSE;
+DROP TABLE t1;
+DROP USER foo@localhost;
+
diff --git a/mysql-test/suite/galera/t/galera_repl_key_format_flat16.test b/mysql-test/suite/galera/t/galera_repl_key_format_flat16.test
new file mode 100644
index 00000000000..8749c20faed
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_repl_key_format_flat16.test
@@ -0,0 +1,34 @@
+#
+# Test repl.key_format = FLAT16 . Since it is very difficult to cause a collision on a 16-byte hash,
+# we simply verify that the option is settable and that replication works.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = 'repl.key_format=FLAT16';
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (123);
+
+CREATE TABLE t2 (f1 VARCHAR(256)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (REPEAT('a', 256));
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+UPDATE t1 SET f1 = 234;
+UPDATE t2 SET f1 = REPEAT('b', 256);
+
+--connection node_1
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 234;
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = REPEAT('b', 256);
+
+
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_orig';
+--enable_query_log
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/galera_repl_max_ws_size.test b/mysql-test/suite/galera/t/galera_repl_max_ws_size.test
new file mode 100644
index 00000000000..60b866ae018
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_repl_max_ws_size.test
@@ -0,0 +1,29 @@
+#
+# Test repl.max_ws_size . A transaction larger than this size can not commit.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+
+CREATE TABLE t1 (f1 VARCHAR(512)) ENGINE=InnoDB;
+
+SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=512';
+
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 VALUES (REPEAT('a', 512));
+
+SELECT COUNT(*) = 0 FROM t1;
+
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_orig';
+--enable_query_log
+
+DROP TABLE t1;
+
+CALL mtr.add_suppression("Maximum writeset size exceeded by");
+CALL mtr.add_suppression("transaction size limit");
+CALL mtr.add_suppression("transaction size exceeded");
+CALL mtr.add_suppression("rbr write fail");
diff --git a/mysql-test/suite/galera/t/galera_restart_nochanges.test b/mysql-test/suite/galera/t/galera_restart_nochanges.test
new file mode 100644
index 00000000000..0a6a0c5ccbe
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_restart_nochanges.test
@@ -0,0 +1,40 @@
+#
+# This test restarts a slave while no updates have been performed on the master. No SST is performed.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--source include/restart_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
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+--source include/wait_until_ready.inc
+
+SELECT COUNT(*) = 1 FROM t1;
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+DROP TABLE t1;
+
+# Restore original auto_increment_offset values.
+--let $node_2=node_2a
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
+
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
new file mode 100644
index 00000000000..a8ea639415d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_restart_on_unknown_option.test
@@ -0,0 +1,157 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Suppress expected warnings:
+
+CALL mtr.add_suppression("Aborting");
+CALL mtr.add_suppression("unknown option '--galera-unknown-option'");
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+#
+# We should count the number of "Assertion failed" warnings
+# in the log file before and after testing. To do this we need
+# to save original log file before testing:
+#
+--let TEST_LOG=$MYSQLTEST_VARDIR/log/mysqld.2.err
+--perl
+ use strict;
+ my $test_log=$ENV{'TEST_LOG'} or die "TEST_LOG not set";
+ my $test_log_copy=$test_log . '.copy';
+ if (-e $test_log_copy) {
+ unlink $test_log_copy;
+ }
+EOF
+--copy_file $TEST_LOG $TEST_LOG.copy
+
+--connection node_2
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+INSERT INTO t1 VALUES (1, 'a'), (2, 'a'), (3, 'a');
+
+SELECT * FROM t1;
+
+# Initiate normal shutdown on the node 2 and
+# waiting until shutdown has been completed:
+
+--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
+
+# Some updates on node 1:
+
+UPDATE t1 SET f2 = 'b' WHERE f1 > 1;
+UPDATE t1 SET f2 = 'c' WHERE f1 > 2;
+
+SELECT * FROM t1;
+
+# Remove the "grastate.dat" file (to initiate new SST)
+# and restart node 2 with unknown option:
+
+--connection node_2
+
+--remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
+
+--let $start_mysqld_params=--galera-unknown-option
+
+--echo Starting server ...
+--exec echo "try:$start_mysqld_params" > $_expect_file_name
+
+# Sleep to ensure that server exited...
+
+--sleep 30
+
+# Restart node 2 without unknown option:
+
+--let $start_mysqld_params=
+
+--echo Starting server ...
+--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
+
+# Sanity check (node 2 is running now and can perform SQL operators):
+
+SELECT * FROM t1;
+
+# Initiate normal shutdown on the node 2 and
+# waiting until shutdown has been completed:
+
+--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
+
+# Some updates on node 1 - to initiate IST next time:
+
+UPDATE t1 SET f2 = 'd' WHERE f1 > 1;
+UPDATE t1 SET f2 = 'd' WHERE f1 > 2;
+
+SELECT * FROM t1;
+
+# Restart node 2 with unknown option:
+
+--connection node_2
+
+--let $start_mysqld_params=--galera-unknown-option
+
+--echo Starting server ...
+--exec echo "try:$start_mysqld_params" > $_expect_file_name
+
+# Sleep to ensure that server exited...
+
+--sleep 30
+
+# Restart node 2 without unknown option:
+
+--let $start_mysqld_params=
+
+--echo Starting server ...
+--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
+
+# Sanity check (node 2 is running now and can perform SQL operators):
+
+SELECT * FROM t1;
+
+--connection node_1
+
+DROP TABLE t1;
+
+#
+# We should count the number of "Assertion failed" warnings
+# in the log file during test phase - to print the error message
+# if quantity of such warnings in log file increased at the end
+# of the test:
+#
+--perl
+ use strict;
+ my $test_log=$ENV{'TEST_LOG'} or die "TEST_LOG not set";
+ my $test_log_copy=$test_log . '.copy';
+ open(FILE, $test_log_copy) or die("Unable to open $test_log_copy: $!\n");
+ my $initial=grep(/Assertion * failed/gi,<FILE>);
+ close(FILE);
+ open(FILE, $test_log) or die("Unable to open $test_log: $!\n");
+ my $count_warnings=grep(/Assertion * failed/gi,<FILE>);
+ close(FILE);
+ if ($count_warnings != $initial) {
+ my $diff=$count_warnings-$initial;
+ print "Assertion failed $diff times.\n";
+ }
+EOF
+--remove_file $TEST_LOG.copy
+
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_roles.test b/mysql-test/suite/galera/t/galera_roles.test
new file mode 100644
index 00000000000..eea35762539
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_roles.test
@@ -0,0 +1,201 @@
+#
+# Test for CREATE/DROP/GRANT/REVOKE role.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # Testing CREATE/GRANT role
+--echo #
+
+--echo
+--echo # On node_1
+--connection node_1
+
+CREATE DATABASE test1;
+CREATE TABLE test1.t1 (a int, b int);
+CREATE TABLE test1.t2 (a int, b int);
+INSERT INTO test1.t1 values (1,2),(3,4);
+INSERT INTO test1.t2 values (5,6),(7,8);
+
+CREATE PROCEDURE test1.pr1() SELECT "pr1";
+
+CREATE USER foo@localhost;
+CREATE ROLE role1;
+
+GRANT role1 TO foo@localhost;
+GRANT RELOAD ON *.* TO role1;
+GRANT SELECT ON mysql.* TO role1;
+GRANT EXECUTE ON PROCEDURE test1.pr1 TO role1;
+GRANT SELECT ON test1.t1 TO role1;
+GRANT SELECT (a) ON test1.t2 TO role1;
+
+--echo # Open connections to the 2 nodes using 'foo' user.
+--let $port_1= \$NODE_MYPORT_1
+--connect(foo_node_1,127.0.0.1,foo,,test,$port_1,)
+
+--let $port_2= \$NODE_MYPORT_2
+--sleep 1
+--connect(foo_node_2,127.0.0.1,foo,,test,$port_2,)
+
+--echo
+--echo # Connect with foo_node_1
+--connection foo_node_1
+
+SHOW GRANTS;
+
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+FLUSH TABLES;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT * FROM mysql.roles_mapping;
+--error ER_DBACCESS_DENIED_ERROR
+SHOW TABLES FROM test1;
+
+SET ROLE role1;
+
+FLUSH TABLES;
+--sorted_result
+SELECT * FROM mysql.roles_mapping;
+SHOW TABLES FROM test1;
+SELECT * FROM test1.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT * FROM test1.t2;
+SELECT a FROM test1.t2;
+CALL test1.pr1();
+
+--echo
+--echo # Connect with foo_node_2
+--connection foo_node_2
+
+SHOW GRANTS;
+
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+FLUSH TABLES;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT * FROM mysql.roles_mapping;
+--error ER_DBACCESS_DENIED_ERROR
+SHOW TABLES FROM test1;
+
+SET ROLE role1;
+
+FLUSH TABLES;
+--sorted_result
+SELECT * FROM mysql.roles_mapping;
+SHOW TABLES FROM test1;
+SELECT * FROM test1.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT * FROM test1.t2;
+SELECT a FROM test1.t2;
+CALL test1.pr1();
+
+--echo #
+--echo # Testing REVOKE role
+--echo #
+
+--echo #
+--echo # Connect with node_1
+--connection node_1
+REVOKE EXECUTE ON PROCEDURE test1.pr1 FROM role1;
+
+--echo
+--echo # Connect with foo_node_1
+--connection foo_node_1
+
+--sleep 1
+--error ER_PROCACCESS_DENIED_ERROR
+CALL test1.pr1();
+
+--echo
+--echo # Connect with foo_node_2
+--connection foo_node_2
+
+--error ER_PROCACCESS_DENIED_ERROR
+CALL test1.pr1();
+
+--echo #
+--echo # Testing DROP role
+--echo #
+
+--echo
+--echo # Connect with node_1
+--connection node_1
+
+DROP ROLE role1;
+
+--echo
+--echo # Connect with foo_node_1
+--connection foo_node_1
+
+FLUSH TABLES;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT * FROM mysql.roles_mapping;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT * FROM test1.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT a FROM test1.t2;
+
+SHOW GRANTS;
+SELECT * FROM INFORMATION_SCHEMA.ENABLED_ROLES;
+SELECT * FROM INFORMATION_SCHEMA.ENABLED_ROLES; # yes, repeat it twice
+SELECT CURRENT_ROLE();
+
+--echo
+--echo # Connect with foo_node_2
+--connection foo_node_2
+
+FLUSH TABLES;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT * FROM mysql.roles_mapping;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT * FROM test1.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT a FROM test1.t2;
+
+SHOW GRANTS;
+SELECT * FROM INFORMATION_SCHEMA.ENABLED_ROLES;
+SELECT * FROM INFORMATION_SCHEMA.ENABLED_ROLES; # yes, repeat it twice
+SELECT CURRENT_ROLE();
+
+# Cleanup
+disconnect foo_node_2;
+--echo # Connect with node_1
+--connection node_1
+
+DROP USER foo@localhost;
+DROP DATABASE test1;
+
+--echo #
+--echo # MDEV-10566: Create role statement replicated inconsistently in Galera Cluster
+--echo #
+--echo
+--echo # On node_1
+--connection node_1
+CREATE USER foo@localhost;
+CREATE ROLE role1;
+CREATE ROLE role2 WITH ADMIN CURRENT_USER;
+CREATE ROLE role3 WITH ADMIN foo@localhost;
+CREATE ROLE role4 WITH ADMIN role1;
+
+--sorted_result
+SELECT * FROM mysql.roles_mapping;
+--sorted_result
+SELECT * FROM INFORMATION_SCHEMA.APPLICABLE_ROLES;
+
+--echo
+--echo # On node_2
+--connection node_2
+--sorted_result
+SELECT * FROM mysql.roles_mapping;
+--sorted_result
+SELECT * FROM INFORMATION_SCHEMA.APPLICABLE_ROLES;
+
+# Cleanup
+DROP ROLE role1;
+DROP ROLE role2;
+DROP ROLE role3;
+DROP ROLE role4;
+DROP USER foo@localhost;
+
+--source include/galera_end.inc
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/galera_rsu_add_pk.test b/mysql-test/suite/galera/t/galera_rsu_add_pk.test
new file mode 100644
index 00000000000..7db990d7be1
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_rsu_add_pk.test
@@ -0,0 +1,43 @@
+#
+# ALTER TABLE ... ADD PRIMARY KEY under Rolling Schema Upgrade
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+
+# Insert some values before the ALTER
+INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+# Insert more values while the ALTER is running
+--send INSERT INTO t1 (f1) SELECT 100000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+--connection node_2
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+SET SESSION wsrep_OSU_method = "TOI";
+
+# Insert values after the ALTER
+INSERT INTO t1 (f1) SELECT 200000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+
+SELECT COUNT(*) = 300000 FROM t1;
+SELECT MAX(f1) = 299999 FROM t1;
+
+--connection node_1
+--reap
+SELECT COUNT(*) = 300000 FROM t1;
+SELECT MAX(f1) = 299999 FROM t1;
+
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+SET SESSION wsrep_OSU_method = "TOI";
+
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_rsu_drop_pk.test b/mysql-test/suite/galera/t/galera_rsu_drop_pk.test
new file mode 100644
index 00000000000..e64259494d1
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_rsu_drop_pk.test
@@ -0,0 +1,58 @@
+#
+# ALTER TABLE ... DROP PRIMARY KEY under Rolling Schema Upgrade
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+
+# Insert some values before the ALTER
+INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+# Insert more values while the ALTER is running
+--send INSERT INTO t1 (f1) SELECT 100000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+--connection node_2
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 DROP PRIMARY KEY;
+SET SESSION wsrep_OSU_method = "TOI";
+
+# Insert even more data after the ALTER has completed
+INSERT INTO t1 (f1) SELECT 200000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+SELECT COUNT(*) = 300000 FROM t1;
+SELECT MAX(f1) = 299999 FROM t1;
+
+--connection node_1
+--reap
+SELECT COUNT(*) = 300000 FROM t1;
+SELECT MAX(f1) = 299999 FROM t1;
+
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 DROP PRIMARY KEY;
+SET SESSION wsrep_OSU_method = "TOI";
+
+# Insert some previously-conflicting values after the ALTER has been applied on all nodes.
+--connection node_2
+INSERT INTO t1 (f1) VALUES (1);
+INSERT INTO t1 (f1) VALUES (10);
+
+--connection node_1
+SELECT COUNT(*) = 2 FROM t1 WHERE f1 = 1;
+SELECT COUNT(*) = 2 FROM t1 WHERE f1 = 10;
+
+INSERT INTO t1 (f1) VALUES (100);
+INSERT INTO t1 (f1) VALUES (1000);
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1 WHERE f1 = 100;
+SELECT COUNT(*) = 2 FROM t1 WHERE f1 = 1000;
+
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_rsu_error.test b/mysql-test/suite/galera/t/galera_rsu_error.test
new file mode 100644
index 00000000000..cad8154ac76
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_rsu_error.test
@@ -0,0 +1,31 @@
+#
+# Test DDL errors under Rolling Schema Upgrade
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t1 VALUES (1), (1);
+
+--connection node_2
+SET SESSION wsrep_OSU_method = "RSU";
+--error ER_DUP_ENTRY
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+SET SESSION wsrep_OSU_method = "TOI";
+
+# The ALTER has no effect
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = 't1';
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_1
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 3 FROM t1;
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(3) = 4 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_rsu_simple.test b/mysql-test/suite/galera/t/galera_rsu_simple.test
new file mode 100644
index 00000000000..5841dbd8006
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_rsu_simple.test
@@ -0,0 +1,34 @@
+#
+# Test Rolling Schema Upgrade
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+
+--connection node_2
+SET SESSION wsrep_OSU_method = "RSU";
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+
+--connection node_1
+# The ALTER above is not visible on node_1
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+# The INSERT above is now visible on node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+INSERT INTO t1 (f1) VALUES (2);
+
+--connection node_1
+# The ALTER has not replicated
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+
+# However the INSERT above has
+SELECT COUNT(*) = 2 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_rsu_wsrep_desync.test b/mysql-test/suite/galera/t/galera_rsu_wsrep_desync.test
new file mode 100644
index 00000000000..882f846fe67
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_rsu_wsrep_desync.test
@@ -0,0 +1,86 @@
+#
+# Test manipulating wsrep_desync while an RSU operation is in progress
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+# First, test wsrep_desync 1 > 0 during DDL
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+
+SET GLOBAL wsrep_desync=1;
+SET wsrep_OSU_method=RSU;
+
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1
+
+--connection node_1a
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'debug sync point: alter_table_before_open_tables'
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_desync=0;
+SET DEBUG_SYNC= 'now SIGNAL continue';
+
+--connection node_1
+--reap
+
+SHOW CREATE TABLE t1;
+SHOW VARIABLES LIKE 'wsrep_desync';
+SET wsrep_OSU_method=TOI;
+
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+
+# Next, test wsrep_desync 0 > 1 during DDL, currently not allowed
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+
+SET GLOBAL wsrep_desync=0;
+SET wsrep_OSU_method=RSU;
+
+SET DEBUG_SYNC = 'alter_table_before_create_table_no_lock WAIT_FOR continue';
+--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connection node_1a
+
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'debug sync point: alter_table_before_create_table_no_lock'
+--source include/wait_condition.inc
+
+# wsrep_desync=1 will block
+--send SET GLOBAL wsrep_desync=1;
+
+
+--connection node_1b
+--sleep 2
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO = 'SET GLOBAL wsrep_desync=1'
+--source include/wait_condition.inc
+
+SET DEBUG_SYNC= 'now SIGNAL continue';
+
+--connection node_1
+--reap
+
+--connection node_1a
+--reap
+SET GLOBAL wsrep_desync=0;
+
+SHOW CREATE TABLE t1;
+
+# Restore old state
+SET wsrep_OSU_method=TOI;
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+
+CALL mtr.add_suppression("Protocol violation");
+CALL mtr.add_suppression("desync failed");
+
+--connection node_2
+CALL mtr.add_suppression("Protocol violation");
diff --git a/mysql-test/suite/galera/t/galera_sbr.test b/mysql-test/suite/galera/t/galera_sbr.test
new file mode 100644
index 00000000000..33f45c6b532
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sbr.test
@@ -0,0 +1,27 @@
+#
+# Test behavior if the user attempts to use statement-based replication
+#
+# SBR is not currently supported but we expect that no crashes or binlog-related assertions will be triggered.
+#
+
+--source include/have_innodb.inc
+--source include/galera_cluster.inc
+
+--connection node_1
+#SET GLOBAL binlog_format = 'STATEMENT';
+SET SESSION binlog_format = 'STATEMENT';
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+SET SESSION binlog_format = 'MIXED';
+
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+
+DROP TABLE t1;
+
+--connection node_1
+SET GLOBAL binlog_format = 'ROW';
diff --git a/mysql-test/suite/galera/t/galera_sbr_binlog-master.opt b/mysql-test/suite/galera/t/galera_sbr_binlog-master.opt
new file mode 100644
index 00000000000..beae84b3862
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sbr_binlog-master.opt
@@ -0,0 +1 @@
+--log-bin
diff --git a/mysql-test/suite/galera/t/galera_sbr_binlog.test b/mysql-test/suite/galera/t/galera_sbr_binlog.test
new file mode 100644
index 00000000000..1291a4ff8a9
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sbr_binlog.test
@@ -0,0 +1,28 @@
+#
+# Test behavior if the user attempts to use statement-based replication
+#
+# SBR is not currently supported but we expect that no crashes or binlog-related assertions will be triggered.
+#
+
+--source include/have_log_bin.inc
+--source include/have_innodb.inc
+--source include/galera_cluster.inc
+
+--connection node_1
+#SET GLOBAL binlog_format = 'STATEMENT';
+SET SESSION binlog_format = 'STATEMENT';
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+SET SESSION binlog_format = 'MIXED';
+
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+
+DROP TABLE t1;
+
+--connection node_1
+SET GLOBAL binlog_format = 'ROW';
diff --git a/mysql-test/suite/galera/t/galera_schema_dirty_reads.test b/mysql-test/suite/galera/t/galera_schema_dirty_reads.test
new file mode 100644
index 00000000000..93e24244611
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_schema_dirty_reads.test
@@ -0,0 +1,13 @@
+#
+# Dirty reads from INFORMATION_SCHEMA tables.
+#
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--disable_info
+USE information_schema;
+SELECT * FROM SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep_dirty_reads";
+SET GLOBAL wsrep_reject_queries=ALL;
+SELECT * FROM SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep_dirty_reads";
+SET GLOBAL wsrep_reject_queries=NONE;
+SET SESSION wsrep_dirty_reads=TRUE;
+SELECT * FROM SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep_dirty_reads";
diff --git a/mysql-test/suite/galera/t/galera_serializable.test b/mysql-test/suite/galera/t/galera_serializable.test
new file mode 100644
index 00000000000..b12d57fd488
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_serializable.test
@@ -0,0 +1,76 @@
+#
+# Test that the SERIALIZABLE isolation level behaves as expected.
+# A local serializable transaction is aborted by an incoming remote update
+#
+# wsrep_sync_wait does not work well with serializable, see mysql-wsrep#130
+# hence the need to use --sleep .
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+
+CREATE TABLE t1 (id INT PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
+
+#
+# Read (local transaction) / Write (remote transaction) conflict
+#
+
+SET AUTOCOMMIT=OFF;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+START TRANSACTION;
+
+SELECT * FROM t1;
+
+--connection node_2
+INSERT INTO t1 VALUES (1,1);
+
+--sleep 2
+--connection node_1
+--error ER_LOCK_DEADLOCK
+SELECT * FROM t1;
+
+ROLLBACK;
+DELETE FROM t1;
+
+#
+# Write (local transaction) / Write (remote transaction) conflict
+#
+
+--connection node_1
+INSERT INTO t1 VALUES (1,1);
+START TRANSACTION;
+SELECT * FROM t1;
+
+--connection node_2
+UPDATE t1 SET f2 = 2;
+
+--sleep 2
+--connection node_1
+--error ER_LOCK_DEADLOCK
+UPDATE t1 SET f2 = 3;
+
+ROLLBACK;
+DELETE FROM t1;
+
+#
+# Write (local transaction) / Write (remote transaction) conflict
+# Local transaction writes before remote one.
+# Nothing special happens here - ordinary deadlock on COMMIT
+#
+
+--connection node_1
+START TRANSACTION;
+
+--connection node_1
+INSERT INTO t1 VALUES (1,1);
+
+--connection node_2
+INSERT INTO t1 VALUES (1,2);
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_server.test b/mysql-test/suite/galera/t/galera_server.test
new file mode 100644
index 00000000000..30b39028b96
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_server.test
@@ -0,0 +1,28 @@
+# Test for CREATE/ALTER/DROP SERVER in Galera cluster
+
+--source include/galera_cluster.inc
+
+--connection node_1
+--echo # On node_1
+CREATE SERVER s1
+ FOREIGN DATA WRAPPER mysql
+ OPTIONS (HOST 'foo');
+
+--connection node_2
+--echo # On node_2
+SELECT * FROM mysql.servers;
+ALTER SERVER s1
+ OPTIONS (HOST 'bar');
+
+--connection node_1
+--echo # On node_1
+SELECT * FROM mysql.servers;
+DROP SERVER s1;
+
+--connection node_2
+--echo # On node_2
+SELECT COUNT(*)=0 FROM mysql.servers;
+
+--source include/galera_end.inc
+--echo # End of test
+
diff --git a/mysql-test/suite/galera/t/galera_split_brain.test b/mysql-test/suite/galera/t/galera_split_brain.test
new file mode 100644
index 00000000000..a85a2ad9b8d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_split_brain.test
@@ -0,0 +1,47 @@
+#
+# Confirm that with two nodes, killing one causes the other to stop accepting connections
+# The pc.ignore_sb=true wsrep_provider option is tested in the galera_kill_* tests.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+call mtr.add_suppression("WSREP: TO isolation failed for: ");
+
+--connection node_1
+--let $wsrep_cluster_address_orig = `SELECT @@wsrep_cluster_address`
+
+--connection node_2
+--source include/kill_galera.inc
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+
+# Reset the master and restart the slave so that post-test checks can run
+
+
+--connection node_2
+--source include/start_mysqld.inc
+--sleep 5
+--source include/wait_until_connected_again.inc
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+--sleep 10
+
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/wait_until_connected_again.inc
+
+# Restore original auto_increment_offset values.
+--let $node_2=node_2a
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
+
diff --git a/mysql-test/suite/galera/t/galera_sql_log_bin_zero.test b/mysql-test/suite/galera/t/galera_sql_log_bin_zero.test
new file mode 100644
index 00000000000..cd8d6ba6426
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sql_log_bin_zero.test
@@ -0,0 +1,26 @@
+#
+# Test SET SESSION sql_log_bin = 0 . We expect that updates gets repliated to
+# other nodes while they do not show up in the binary log files.
+# (see galera.galera_as_master)
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+
+SET SESSION sql_log_bin = 0;
+
+INSERT INTO t1 VALUES (1);
+
+SET SESSION sql_log_bin = 1;
+
+INSERT INTO t1 VALUES (2);
+
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1;
+
+--connection node_1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_ssl.cnf b/mysql-test/suite/galera/t/galera_ssl.cnf
new file mode 100644
index 00000000000..1c22580cc15
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ssl.cnf
@@ -0,0 +1,7 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=10M;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=10M;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem'
diff --git a/mysql-test/suite/galera/t/galera_ssl.test b/mysql-test/suite/galera/t/galera_ssl.test
new file mode 100644
index 00000000000..e6346aa2151
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ssl.test
@@ -0,0 +1,25 @@
+#
+# Test node connections over SSL. The accompanying galera_ssl.cnf has a customized
+# wsrep_provider_options setting that enables SSL.
+#
+# At this time, the actual operation of SSL is not visible only in the error log and not in SHOW STATUS.
+# So this test can only check that the cluster has formed and is replicating.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_ssl_compression.cnf b/mysql-test/suite/galera/t/galera_ssl_compression.cnf
new file mode 100644
index 00000000000..d6fd2c4d510
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ssl_compression.cnf
@@ -0,0 +1,7 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.ssl_compression=YES'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.ssl_compression=YES'
diff --git a/mysql-test/suite/galera/t/galera_ssl_compression.test b/mysql-test/suite/galera/t/galera_ssl_compression.test
new file mode 100644
index 00000000000..75f92c5b2f4
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ssl_compression.test
@@ -0,0 +1,35 @@
+#
+# Test SSL compression. The accompanying galera_ssl_compression.cnf has a customized wsrep_provider_options setting that enables SSL and compression.
+#
+# Unfortunately there is no wire-level traffic bytes counter that would allow us to determine that compression kicked in, so we can only
+# perform a most basic replication check.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_2
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1
+
+# Check that the socket.ssl_compression provider option is not dynamic
+--error ER_WRONG_ARGUMENTS
+SET GLOBAL wsrep_provider_options = "socket.ssl_compression=No";
+
+CREATE TABLE t1 (f1 VARCHAR(333) PRIMARY KEY, f2 BLOB) Engine=InnoDB;
+INSERT INTO t1 VALUES (REPEAT('a', 333), REPEAT('b', 65535));
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = REPEAT('a', 333) AND f2 = REPEAT('b', 65535);
+
+--connection node_1
+DROP TABLE t1;
+
+CALL mtr.add_suppression("Unknown parameter 'socket\.ssl_compression'");
+CALL mtr.add_suppression("Set options returned 7");
diff --git a/mysql-test/suite/galera/t/galera_ssl_upgrade.cnf b/mysql-test/suite/galera/t/galera_ssl_upgrade.cnf
new file mode 100644
index 00000000000..2954ae0f4cb
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ssl_upgrade.cnf
@@ -0,0 +1,7 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem'
diff --git a/mysql-test/suite/galera/t/galera_ssl_upgrade.test b/mysql-test/suite/galera/t/galera_ssl_upgrade.test
new file mode 100644
index 00000000000..a424942da30
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_ssl_upgrade.test
@@ -0,0 +1,49 @@
+#
+# Test upgrading the SSL certificates in a rolling fashion.
+#
+# 1. The starting state with the old key and cert is is described in galera_ssl_upgrade.cnf
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# 2. Restart node #1 with a socket.ssl_ca that includes both the new and the old certificate
+
+--connection node_1
+--source include/shutdown_mysqld.inc
+--let $start_mysqld_params = --wsrep-cluster-address=gcomm://127.0.0.1:$NODE_GALERAPORT_2 --wsrep_provider_options=base_port=$NODE_GALERAPORT_1;socket.ssl=yes;socket.ssl_ca=$MYSQL_TEST_DIR/std_data/galera-upgrade-ca-cert.pem;socket.ssl_cert=$MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=$MYSQL_TEST_DIR/std_data/galera-key.pem
+--source include/start_mysqld.inc
+--source include/wait_until_connected_again.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 = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# 3. Restart node #2 with the new socket.ssl_ca , socket.ssl_cert and socket.ssl_key
+
+--connection node_2
+--source include/shutdown_mysqld.inc
+--let $start_mysqld_params = --wsrep_provider_options=base_port=$NODE_GALERAPORT_2;socket.ssl=yes;socket.ssl_ca=$MYSQL_TEST_DIR/std_data/galera-upgrade-ca-cert.pem;socket.ssl_cert=$MYSQL_TEST_DIR/std_data/galera-upgrade-server-cert.pem;socket.ssl_key=$MYSQL_TEST_DIR/std_data/galera-upgrade-server-key.pem
+--source include/start_mysqld.inc
+--source include/wait_until_connected_again.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 = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# 4. Restart node #1 with the new socket.ssl_ca , socket.ssl_cert and socket.ssl_key
+
+--connection node_1
+--source include/shutdown_mysqld.inc
+--let $start_mysqld_params = --wsrep-cluster-address=gcomm://127.0.0.1:$NODE_GALERAPORT_2 --wsrep_provider_options=base_port=$NODE_GALERAPORT_1;socket.ssl=yes;socket.ssl_ca=$MYSQL_TEST_DIR/std_data/galera-upgrade-ca-cert.pem;socket.ssl_cert=$MYSQL_TEST_DIR/std_data/galera-upgrade-server-cert.pem;socket.ssl_key=$MYSQL_TEST_DIR/std_data/galera-upgrade-server-key.pem
+--source include/start_mysqld.inc
+--source include/wait_until_connected_again.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 = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# Upgrade complete. Both nodes now use the new key and certificate
diff --git a/mysql-test/suite/galera/t/galera_sst_mariabackup.cnf b/mysql-test/suite/galera/t/galera_sst_mariabackup.cnf
new file mode 100644
index 00000000000..336296e9bfe
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup.cnf
@@ -0,0 +1,16 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=mariabackup
+wsrep_sst_auth="root:"
+wsrep_debug=ON
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[sst]
+transferfmt=@ENV.MTR_GALERA_TFMT
+streamfmt=xbstream
diff --git a/mysql-test/suite/galera/t/galera_sst_mariabackup.test b/mysql-test/suite/galera/t/galera_sst_mariabackup.test
new file mode 100644
index 00000000000..bcb9ade3a25
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup.test
@@ -0,0 +1,20 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_mariabackup.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--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
+
+# Restore original auto_increment_offset values.
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/galera_sst_mariabackup_encrypt_with_key.cnf b/mysql-test/suite/galera/t/galera_sst_mariabackup_encrypt_with_key.cnf
new file mode 100644
index 00000000000..5a989ea8177
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup_encrypt_with_key.cnf
@@ -0,0 +1,12 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=mariabackup
+wsrep_sst_auth="root:"
+wsrep_debug=ON
+
+[SST]
+tkey=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem
+tcert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem
+encrypt=3
+transferfmt=@ENV.MTR_GALERA_TFMT
diff --git a/mysql-test/suite/galera/t/galera_sst_mariabackup_encrypt_with_key.test b/mysql-test/suite/galera/t/galera_sst_mariabackup_encrypt_with_key.test
new file mode 100644
index 00000000000..4449ea43c43
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup_encrypt_with_key.test
@@ -0,0 +1,14 @@
+#
+# This test checks that key and cert encryption options can be passed to mariabackup via the my.cnf file
+# Initial SST happens via mariabackup, so there is not much to do in the body of the test
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_mariabackup.inc
+
+SELECT 1;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
diff --git a/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.cnf b/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.cnf
new file mode 100644
index 00000000000..336296e9bfe
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.cnf
@@ -0,0 +1,16 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=mariabackup
+wsrep_sst_auth="root:"
+wsrep_debug=ON
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[sst]
+transferfmt=@ENV.MTR_GALERA_TFMT
+streamfmt=xbstream
diff --git a/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.opt b/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.opt
new file mode 100644
index 00000000000..ae3fb580433
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.opt
@@ -0,0 +1,2 @@
+--innodb-file-format='Barracuda'
+--innodb-file-per-table=ON
diff --git a/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.test b/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.test
new file mode 100644
index 00000000000..02407547083
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.test
@@ -0,0 +1,227 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_filekeymanagement.inc
+--source include/innodb_encrypt_tables.inc
+--source include/have_mariabackup.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--echo Performing State Transfer on a server that starts from a clean var directory
+--echo This is accomplished by shutting down node #2 and removing its var directory before restarting it
+
+--connection node_1
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 CHAR(255)) ENGINE=InnoDB PAGE_COMPRESSED=1;
+CREATE TABLE t3 (f1 CHAR(255)) ENGINE=InnoDB PAGE_COMPRESSED=1 ENCRYPTED=NO;
+CREATE TABLE t4 (f1 CHAR(255)) ENGINE=InnoDB PAGE_COMPRESSED=1 ENCRYPTED=YES;
+CREATE TABLE t5 (f1 CHAR(255)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+CREATE TABLE t6 (f1 CHAR(255)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED ENCRYPTED=NO;
+CREATE TABLE t7 (f1 CHAR(255)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED ENCRYPTED=YES;
+CREATE TABLE t8 (f1 CHAR(255)) ENGINE=InnoDB ENCRYPTED=NO;
+CREATE TABLE t9 (f1 CHAR(255)) ENGINE=InnoDB ENCRYPTED=YES;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+let $tables = 9;
+while ($tables)
+{
+ let $rows = 5;
+ while($rows)
+ {
+ eval insert into t$tables values ('node1_committed_before');
+ dec $rows;
+ }
+ dec $tables;
+}
+COMMIT;
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 5 FROM t7;
+--source include/wait_condition.inc
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+let $tables = 9;
+while ($tables)
+{
+ let $rows = 5;
+ while($rows)
+ {
+ eval insert into t$tables values ('node2_committed_before');
+ dec $rows;
+ }
+ dec $tables;
+}
+COMMIT;
+
+--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
+
+--echo Cleaning var directory ...
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/mtr
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/performance_schema
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/test
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/mysql
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+let $tables = 9;
+while ($tables)
+{
+ let $rows = 5;
+ while($rows)
+ {
+ eval insert into t$tables values ('node1_committed_during');
+ dec $rows;
+ }
+ dec $tables;
+}
+COMMIT;
+
+START TRANSACTION;
+let $tables = 9;
+while ($tables)
+{
+ let $rows = 5;
+ while($rows)
+ {
+ eval insert into t$tables values ('node1_to_be_committed_after');
+ dec $rows;
+ }
+ dec $tables;
+}
+
+--connect node_1a_galera_st_clean_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+let $tables = 9;
+while ($tables)
+{
+ let $rows = 5;
+ while($rows)
+ {
+ eval insert into t$tables values ('node1_to_be_rollbacked_after');
+ dec $rows;
+ }
+ dec $tables;
+}
+
+--connection node_2
+--echo Starting server ...
+--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
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+while ($tables)
+{
+ let $rows = 5;
+ while($rows)
+ {
+ eval insert into t$tables values ('node2_committed_after');
+ dec $rows;
+ }
+ dec $tables;
+}
+COMMIT;
+
+--connection node_1
+let $tables = 9;
+while ($tables)
+{
+ let $rows = 5;
+ while($rows)
+ {
+ eval insert into t$tables values ('node1_to_be_committed_after');
+ dec $rows;
+ }
+ dec $tables;
+}
+COMMIT;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+let $tables = 9;
+while ($tables)
+{
+ let $rows = 5;
+ while($rows)
+ {
+ eval insert into t$tables values ('node1_committed_after');
+ dec $rows;
+ }
+ dec $tables;
+}
+COMMIT;
+
+--connection node_1a_galera_st_clean_slave
+while ($tables)
+{
+ let $rows = 5;
+ while($rows)
+ {
+ eval insert into t$tables values ('node1_to_be_rollbacked_after');
+ dec $rows;
+ }
+ dec $tables;
+}
+ROLLBACK;
+
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t3;
+SELECT COUNT(*) FROM t4;
+SELECT COUNT(*) FROM t5;
+SELECT COUNT(*) FROM t6;
+SELECT COUNT(*) FROM t7;
+SELECT COUNT(*) FROM t8;
+SELECT COUNT(*) FROM t9;
+SELECT * FROM t1;
+SELECT * FROM t2;
+SELECT * FROM t3;
+SELECT * FROM t4;
+SELECT * FROM t5;
+SELECT * FROM t6;
+SELECT * FROM t7;
+SELECT * FROM t8;
+SELECT * FROM t9;
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+--connection node_1
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t3;
+SELECT COUNT(*) FROM t4;
+SELECT COUNT(*) FROM t5;
+SELECT COUNT(*) FROM t6;
+SELECT COUNT(*) FROM t7;
+SELECT COUNT(*) FROM t8;
+SELECT COUNT(*) FROM t9;
+SELECT * FROM t1;
+SELECT * FROM t2;
+SELECT * FROM t3;
+SELECT * FROM t4;
+SELECT * FROM t5;
+SELECT * FROM t6;
+SELECT * FROM t7;
+SELECT * FROM t8;
+SELECT * FROM t9;
+COMMIT;
+
+DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8,t9;
+COMMIT;
+SET AUTOCOMMIT=ON;
+
+# Restore original auto_increment_offset values.
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_sst_mysqldump.cnf b/mysql-test/suite/galera/t/galera_sst_mysqldump.cnf
new file mode 100644
index 00000000000..574ae28b54a
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mysqldump.cnf
@@ -0,0 +1,11 @@
+!include ../galera_2nodes.cnf
+
+# We do not set mysqldump-related SST options here because doing so on startup
+# causes the first MTR connection to be forefully dropped by Galera, which in turn confuses MTR
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/galera_sst_mysqldump.test b/mysql-test/suite/galera/t/galera_sst_mysqldump.test
new file mode 100644
index 00000000000..835fac94a68
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mysqldump.test
@@ -0,0 +1,22 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+
+--source suite/galera/include/galera_sst_set_mysqldump.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--source suite/galera/include/galera_st_disconnect_slave.inc
+
+# We set the required mysqldump SST options here so that they are used every time the server is restarted during the test
+--let $start_mysqld_params = --wsrep_sst_auth=sst:sst --wsrep_sst_method=mysqldump --wsrep-sst-receive-address=127.0.0.1:$NODE_MYPORT_2 --skip-grant-tables
+
+--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
+
+--source include/auto_increment_offset_restore.inc
+--source suite/galera/include/galera_sst_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_sst_mysqldump_with_key.cnf b/mysql-test/suite/galera/t/galera_sst_mysqldump_with_key.cnf
new file mode 100644
index 00000000000..44e5573b3e6
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mysqldump_with_key.cnf
@@ -0,0 +1,18 @@
+!include ../galera_2nodes.cnf
+
+# We do not set mysqldump-related SST options here because doing so on startup
+# causes the first MTR connection to be forefully dropped by Galera, which in turn confuses MTR
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld]
+wsrep_debug=ON
+
+[client]
+ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem
+ssl-cert=@ENV.MYSQL_TEST_DIR/std_data/client-cert.pem
+ssl-key=@ENV.MYSQL_TEST_DIR/std_data/client-key.pem
diff --git a/mysql-test/suite/galera/t/galera_sst_mysqldump_with_key.test b/mysql-test/suite/galera/t/galera_sst_mysqldump_with_key.test
new file mode 100644
index 00000000000..57244cb50c7
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_mysqldump_with_key.test
@@ -0,0 +1,32 @@
+#
+# Test mysqldump SST with client SSL key. See galera_sst_mysqldump_with_key.cnf for the configuration on the client side.
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_ssl_communication.inc
+
+--source suite/galera/include/galera_sst_set_mysqldump.inc
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+CREATE USER sslsst;
+GRANT ALL PRIVILEGES ON *.* TO sslsst;
+GRANT USAGE ON *.* TO sslsst REQUIRE SSL;
+
+SET GLOBAL wsrep_sst_auth = 'sslsst:';
+
+# We set the required mysqldump SST options here so that they are used every time the server is restarted during the test
+--let $start_mysqld_params = --wsrep_sst_auth=sst:'sslsst:' --wsrep_sst_method=mysqldump --wsrep-sst-receive-address=127.0.0.1:$NODE_MYPORT_2 --skip-grant-tables
+
+--source suite/galera/include/galera_st_shutdown_slave.inc
+--source suite/galera/include/galera_st_kill_slave.inc
+--source suite/galera/include/galera_st_kill_slave_ddl.inc
+
+--source include/auto_increment_offset_restore.inc
+--source suite/galera/include/galera_sst_restore.inc
+
+DROP USER sslsst;
diff --git a/mysql-test/suite/galera/t/galera_sst_rsync.cnf b/mysql-test/suite/galera/t/galera_sst_rsync.cnf
new file mode 100644
index 00000000000..93981d9daa7
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_rsync.cnf
@@ -0,0 +1,11 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=rsync
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/galera_sst_rsync.test b/mysql-test/suite/galera/t/galera_sst_rsync.test
new file mode 100644
index 00000000000..5c08707e870
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_rsync.test
@@ -0,0 +1,13 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--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
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_sst_rsync2.cnf b/mysql-test/suite/galera/t/galera_sst_rsync2.cnf
new file mode 100644
index 00000000000..34e67c66403
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_rsync2.cnf
@@ -0,0 +1,15 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=rsync
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+log_bin=@ENV.MYSQLTEST_VARDIR/server1_binlog
+log_bin_index=@ENV.MYSQLTEST_VARDIR/tmp/server1_binlog_index.index
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+log_bin=@ENV.MYSQLTEST_VARDIR/server2_binlog
+log_bin_index=@ENV.MYSQLTEST_VARDIR/tmp/server2_binlog_index.index
+
diff --git a/mysql-test/suite/galera/t/galera_sst_rsync2.test b/mysql-test/suite/galera/t/galera_sst_rsync2.test
new file mode 100644
index 00000000000..f796356cac7
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_rsync2.test
@@ -0,0 +1,12 @@
+--source include/galera_cluster.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--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
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_sst_rsync_data_dir.cnf b/mysql-test/suite/galera/t/galera_sst_rsync_data_dir.cnf
new file mode 100644
index 00000000000..afe9796a11a
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_rsync_data_dir.cnf
@@ -0,0 +1,11 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=rsync
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+innodb_data_home_dir=@ENV.MYSQL_TMP_DIR/rsync_test_2
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
diff --git a/mysql-test/suite/galera/t/galera_sst_rsync_data_dir.test b/mysql-test/suite/galera/t/galera_sst_rsync_data_dir.test
new file mode 100644
index 00000000000..68aa1068f75
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_rsync_data_dir.test
@@ -0,0 +1,16 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--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
+--source include/auto_increment_offset_restore.inc
+
+# cleanup temporary database files:
+--remove_files_wildcard $MYSQL_TMP_DIR/rsync_test_2 *
diff --git a/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2-options.cnf b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2-options.cnf
new file mode 100644
index 00000000000..3abf2549aae
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2-options.cnf
@@ -0,0 +1,25 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=xtrabackup-v2
+wsrep_sst_auth="root:"
+wsrep_debug=ON
+
+[xtrabackup]
+backup-locks
+close-files
+#compact - disabled in xtrabackup 2.4, https://bugs.launchpad.net/percona-xtrabackup/+bug/1192834/comments/29
+# compression requires qpress from the Percona repositories
+# compress
+# compress-threads=2
+encryption=AES256
+encrypt-key=4FA92C5873672E20FB163A0BCB2BB4A4
+galera-info
+history=backup
+parallel=2
+
+[SST]
+encrypt=1
+encrypt-algo=AES256
+encrypt-key=4FA92C5873672E20FB163A0BCB2BB4A4
+transferfmt=@ENV.MTR_GALERA_TFMT
diff --git a/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2-options.test b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2-options.test
new file mode 100644
index 00000000000..db2b706b6b8
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2-options.test
@@ -0,0 +1,13 @@
+#
+# This test checks that various options can be passed to xtrabackup via the my.cnf file
+# Initial SST happens via xtrabackup, so there is not much to do in the body of the test
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_xtrabackup.inc
+
+SELECT 1;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
diff --git a/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2.cnf b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2.cnf
new file mode 100644
index 00000000000..0025b259ec5
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2.cnf
@@ -0,0 +1,15 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=xtrabackup-v2
+wsrep_sst_auth="root:"
+wsrep_debug=ON
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[sst]
+transferfmt=@ENV.MTR_GALERA_TFMT
diff --git a/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2.test b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2.test
new file mode 100644
index 00000000000..c270e4d0b19
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2.test
@@ -0,0 +1,20 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_xtrabackup.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--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
+
+# Restore original auto_increment_offset values.
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_data_dir.cnf b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_data_dir.cnf
new file mode 100644
index 00000000000..89f23d24d87
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_data_dir.cnf
@@ -0,0 +1,16 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=xtrabackup-v2
+wsrep_sst_auth="root:"
+wsrep_debug=ON
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[mysqld.2]
+innodb_data_home_dir=@ENV.MYSQL_TMP_DIR/rsync_test_2
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
+
+[sst]
+transferfmt=@ENV.MTR_GALERA_TFMT
diff --git a/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_data_dir.test b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_data_dir.test
new file mode 100644
index 00000000000..135bc2a39f7
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_data_dir.test
@@ -0,0 +1,23 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_xtrabackup.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--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
+
+# Restore original auto_increment_offset values.
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
+
+# cleanup temporary database files:
+--remove_files_wildcard $MYSQL_TMP_DIR/rsync_test_2 *
diff --git a/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_encrypt_with_key.cnf b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_encrypt_with_key.cnf
new file mode 100644
index 00000000000..63d05104a37
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_encrypt_with_key.cnf
@@ -0,0 +1,12 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+wsrep_sst_method=xtrabackup-v2
+wsrep_sst_auth="root:"
+wsrep_debug=ON
+
+[SST]
+tkey=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem
+tcert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem
+encrypt=3
+transferfmt=@ENV.MTR_GALERA_TFMT
diff --git a/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_encrypt_with_key.test b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_encrypt_with_key.test
new file mode 100644
index 00000000000..2f685ca7184
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sst_xtrabackup-v2_encrypt_with_key.test
@@ -0,0 +1,14 @@
+#
+# This test checks that key and cert encryption options can be passed to xtrabackup via the my.cnf file
+# Initial SST happens via xtrabackup, so there is not much to do in the body of the test
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_xtrabackup.inc
+
+SELECT 1;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
diff --git a/mysql-test/suite/galera/t/galera_status_cluster.test b/mysql-test/suite/galera/t/galera_status_cluster.test
new file mode 100644
index 00000000000..3299613d584
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_status_cluster.test
@@ -0,0 +1,18 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# A simple test for the wsrep_cluster_* status variables
+#
+
+--connection node_1
+
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+
+--connection node_2
+
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+
+
diff --git a/mysql-test/suite/galera/t/galera_status_local_index.test b/mysql-test/suite/galera/t/galera_status_local_index.test
new file mode 100644
index 00000000000..b61b8ced863
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_status_local_index.test
@@ -0,0 +1,21 @@
+#
+# Test that a two-node cluster has distinct values for wsrep_local_index for its nodes
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE TABLE wsrep_local_indexes (wsrep_local_index INTEGER);
+INSERT INTO wsrep_local_indexes VALUES ((SELECT variable_value FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE variable_name = 'wsrep_local_index'));
+
+--connection node_2
+INSERT INTO wsrep_local_indexes VALUES ((SELECT variable_value FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE variable_name = 'wsrep_local_index'));
+
+
+--connection node_1
+SELECT COUNT(*) = 2 FROM wsrep_local_indexes;
+SELECT COUNT(DISTINCT wsrep_local_index) = 2 FROM wsrep_local_indexes;
+SELECT COUNT(*) = 0 FROM wsrep_local_indexes WHERE wsrep_local_index NOT IN (0, 1);
+
+DROP TABLE wsrep_local_indexes;
diff --git a/mysql-test/suite/galera/t/galera_status_local_state.test b/mysql-test/suite/galera/t/galera_status_local_state.test
new file mode 100644
index 00000000000..09cdb25f80c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_status_local_state.test
@@ -0,0 +1,28 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Test wsrep_local_state . We can not reliably produce all possible statuses in MTR, but
+# we can at least test for the ones we can.
+#
+
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+
+SET GLOBAL wsrep_desync = 1;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+--source include/wait_condition.inc
+
+SELECT VARIABLE_VALUE = 'Donor/Desynced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+
+SET GLOBAL wsrep_desync = 0;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+--source include/wait_condition.inc
+
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+
+
+
+
diff --git a/mysql-test/suite/galera/t/galera_suspend_slave.test b/mysql-test/suite/galera/t/galera_suspend_slave.test
new file mode 100644
index 00000000000..0f95bcd4531
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_suspend_slave.test
@@ -0,0 +1,70 @@
+##
+## This test tests that transactions on the master will fail if the slave
+## is made completely unresponsive by suspending the process. Resuming the
+## process should allow replication to continue to run.
+##
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+--let NODE_2_PIDFILE = `SELECT @@pid_file`
+--disconnect node_2
+
+--connection node_1
+--echo Suspending node_2 ...
+--perl
+ my $pid_filename = $ENV{'NODE_2_PIDFILE'};
+ my $mysqld_pid = `cat $pid_filename`;
+ chomp($mysqld_pid);
+ system("kill -SIGSTOP $mysqld_pid");
+ exit(0);
+EOF
+
+SET SESSION wsrep_sync_wait = 0;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
+
+SET SESSION wsrep_sync_wait = 15;
+
+--error ER_UNKNOWN_COM_ERROR,ER_LOCK_WAIT_TIMEOUT,ER_LOCK_DEADLOCK,ER_ERROR_DURING_COMMIT
+INSERT INTO t1 VALUES (1);
+
+--echo Resuming node_2 ...
+--perl
+ my $pid_filename = $ENV{'NODE_2_PIDFILE'};
+ my $mysqld_pid = `cat $pid_filename`;
+ chomp($mysqld_pid);
+ system("kill -SIGCONT $mysqld_pid");
+ exit(0);
+EOF
+
+SET SESSION wsrep_sync_wait = 0;
+--source include/wait_until_ready.inc
+INSERT INTO t1 VALUES (1);
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+
+SET SESSION wsrep_sync_wait = 0;
+--source include/wait_until_ready.inc
+SELECT COUNT(*) = 1 FROM t1;
+
+SET SESSION wsrep_sync_wait = 15;
+DROP TABLE t1;
+
+# Restore original auto_increment_offset values.
+--let $node_2=node_2a
+--source include/auto_increment_offset_restore.inc
+
diff --git a/mysql-test/suite/galera/t/galera_sync_wait_show.test b/mysql-test/suite/galera/t/galera_sync_wait_show.test
new file mode 100644
index 00000000000..58de5433030
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_sync_wait_show.test
@@ -0,0 +1,70 @@
+#
+# Test that the various SHOW commands obey wsrep_sync_wait - codership/mysql-wsrep#228
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+--connection node_2
+# MW-86 SHOW commands have now bitmap value 8
+SET SESSION wsrep_sync_wait = 8;
+
+
+--connection node_1
+CREATE DATABASE db1;
+
+--connection node_2
+SHOW CREATE DATABASE db1;
+DROP DATABASE db1;
+
+
+--connection node_1
+CREATE PROCEDURE p1 () SELECT 1 FROM DUAL;
+
+--connection node_2
+SHOW CREATE PROCEDURE p1;
+DROP PROCEDURE p1;
+
+
+
+--connection node_1
+CREATE PROCEDURE p1 () SELECT 1 FROM DUAL;
+
+--connection node_2
+SHOW PROCEDURE CODE p1;
+DROP PROCEDURE p1;
+
+
+
+--connection node_1
+CREATE FUNCTION f1 () RETURNS INTEGER RETURN 123;
+
+--connection node_2
+SHOW CREATE FUNCTION f1;
+DROP FUNCTION f1;
+
+
+--connection node_1
+CREATE FUNCTION f1 () RETURNS INTEGER RETURN 123;
+
+--connection node_2
+SHOW FUNCTION CODE f1;
+DROP FUNCTION f1;
+
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.f1 = 'a';
+
+--connection node_2
+SHOW CREATE TRIGGER tr1;
+DROP TABLE t1;
+
+
+--connection node_1
+CREATE EVENT event1 ON SCHEDULE AT '2038-01-01 23:59:59' DO SELECT 1;
+
+--connection node_2
+SHOW CREATE EVENT event1;
+DROP EVENT event1;
diff --git a/mysql-test/suite/galera/t/galera_toi_alter_auto_increment.test b/mysql-test/suite/galera/t/galera_toi_alter_auto_increment.test
new file mode 100644
index 00000000000..641d2101c80
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_alter_auto_increment.test
@@ -0,0 +1,120 @@
+
+#
+# Test the operation of ALTER TABLE ... AUTO_INCREMENT
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
+
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+
+--connection node_2
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+
+ALTER TABLE t1 AUTO_INCREMENT = 1000;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+
+--connection node_1
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+
+SELECT MIN(f1) >= 1000, COUNT(*) = 20, COUNT(DISTINCT f1) = 20 FROM t1 WHERE f1 >= 1000;
+
+--connection node_2
+SELECT MIN(f1) >= 1000, COUNT(*) = 20, COUNT(DISTINCT f1) = 20 FROM t1 WHERE f1 >= 1000;
+
+#
+# AUTO_INCREMENT set to a value lower than the current one.
+# The ALTER does nothing, the sequence continues from the current maximum.
+#
+
+--connection node_1
+ALTER TABLE t1 AUTO_INCREMENT = 5;
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+
+--connection node_2
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+SELECT MIN(f1) >= 1000, COUNT(*) = 40, COUNT(DISTINCT f1) = 40 FROM t1 WHERE f1 >= 1000;
+
+--connection node_1
+SELECT MIN(f1) >= 1000, COUNT(*) = 40, COUNT(DISTINCT f1) = 40 FROM t1 WHERE f1 >= 1000;
+
+DROP TABLE t1;
+
+#
+# Under wsrep_auto_increment_control = OFF
+#
+
+--connection node_1
+--let $auto_increment_control_orig = `SELECT @@wsrep_auto_increment_control`
+--let $auto_increment_increment_node1 = `SELECT @@auto_increment_increment`
+--let $auto_increment_offset_node1 = `SELECT @@auto_increment_offset`
+
+# Restore stock MySQL defaults
+SET GLOBAL wsrep_auto_increment_control = OFF;
+SET GLOBAL auto_increment_increment = 1;
+SET GLOBAL auto_increment_offset = 1;
+
+#Open a fresh connection to node_1 so that the variables above take effect
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+
+--connection node_2
+--let $auto_increment_increment_node2 = `SELECT @@auto_increment_increment`
+--let $auto_increment_offset_node2 = `SELECT @@auto_increment_offset`
+
+SET GLOBAL wsrep_auto_increment_control = OFF;
+SET GLOBAL auto_increment_increment = 1;
+SET GLOBAL auto_increment_offset = 1;
+
+#Open a fresh connection to node_2
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+
+--connection node_1a
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
+
+--connection node_2a
+
+ALTER TABLE t1 AUTO_INCREMENT=100;
+
+--connection node_1a
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+
+--connection node_2a
+INSERT INTO t1 (f2) SELECT 1 FROM ten;
+
+SELECT MIN(f1) = 100, MAX(f1) = 119, COUNT(f1) = 20, COUNT(DISTINCT f1) = 20 FROM t1;
+
+--connection node_1a
+SELECT MIN(f1) = 100, MAX(f1) = 119, COUNT(f1) = 20, COUNT(DISTINCT f1) = 20 FROM t1;
+
+DROP TABLE t1;
+
+#
+# Restore all variables as they were
+#
+
+--disable_query_log
+
+--connection node_1
+--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
+--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node1
+--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node1
+
+--connection node_2
+--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
+--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node2
+--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node2
+
+--enable_query_log
+
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_toi_ddl_error.test b/mysql-test/suite/galera/t/galera_toi_ddl_error.test
new file mode 100644
index 00000000000..c586d97bdb5
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_ddl_error.test
@@ -0,0 +1,29 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+#
+# Test the operation of DDLs that fail partway through
+#
+
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+
+# Insert 100K rows
+INSERT INTO t1 (f1) SELECT (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+# Insert one duplicate value
+INSERT INTO t1 (f1) SELECT MAX(f1) FROM t1;
+
+--connection node_2
+--error ER_DUP_ENTRY
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+SHOW CREATE TABLE t1;
+
+--connection node_1
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_toi_ddl_fk_insert.test b/mysql-test/suite/galera/t/galera_toi_ddl_fk_insert.test
new file mode 100644
index 00000000000..9f161afc52e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_ddl_fk_insert.test
@@ -0,0 +1,70 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+#
+# This test creates a new FK constraint while concurrent INSERTS are running
+#
+
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE parent (
+ id INT PRIMARY KEY AUTO_INCREMENT,
+ f2 INTEGER,
+ KEY (id)
+) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT PRIMARY KEY AUTO_INCREMENT,
+ parent_id INT
+) ENGINE=InnoDB;
+
+INSERT INTO parent VALUES (1, 0);
+
+--connection node_2
+--send INSERT INTO child (parent_id) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+--connection node_1a
+--send INSERT INTO parent (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+--send INSERT INTO parent (f2) SELECT 2 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+
+--let $galera_connection_name = node_1b
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+--connection node_1b
+--sleep 2
+--send ALTER TABLE child ADD FOREIGN KEY (parent_id) REFERENCES parent(id);
+
+--connection node_1a
+--reap
+
+--connection node_1b
+--reap
+
+--connection node_2
+--reap
+
+--connection node_2a
+--reap
+
+--connection node_1
+SELECT COUNT(*) = 20001 FROM parent;
+SELECT COUNT(*) = 10000 FROM child;
+
+--connection node_2
+SELECT COUNT(*) = 20001 FROM parent;
+SELECT COUNT(*) = 10000 FROM child;
+
+DROP TABLE child;
+DROP TABLE parent;
+
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_toi_ddl_fk_update.test b/mysql-test/suite/galera/t/galera_toi_ddl_fk_update.test
new file mode 100644
index 00000000000..f42fae4ed51
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_ddl_fk_update.test
@@ -0,0 +1,49 @@
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# This test creates a new FK constraint while an UPDATE is running
+#
+
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE parent (
+ id INT PRIMARY KEY,
+ KEY (id)
+) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT PRIMARY KEY AUTO_INCREMENT,
+ parent_id INT
+) ENGINE=InnoDB;
+
+INSERT INTO parent VALUES (1);
+
+INSERT INTO child (parent_id) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+
+--connection node_1
+--sleep 1
+--send ALTER TABLE child ADD FOREIGN KEY (parent_id) REFERENCES parent(id) ON UPDATE CASCADE;
+
+--connection node_2
+--sleep 1
+--send UPDATE parent SET id = 2 WHERE id = 1;
+
+--connection node_1
+--reap
+
+--connection node_2
+--reap
+
+--connection node_2
+SELECT COUNT(*) = 10000 FROM child WHERE parent_id = 2;
+
+--connection node_1
+SELECT COUNT(*) = 10000 FROM child WHERE parent_id = 2;
+
+DROP TABLE child;
+DROP TABLE parent;
+
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_toi_ddl_locking.test b/mysql-test/suite/galera/t/galera_toi_ddl_locking.test
new file mode 100644
index 00000000000..12c83a1f87a
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_ddl_locking.test
@@ -0,0 +1,76 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+#
+# Test that DDL indeed causes all nodes to block so even unrelated updates
+# are not allowed to proceed. We block the DDL using DBUG_SYNC
+#
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+
+--connection node_1
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+
+--let $galera_connection_name = node_1b
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+
+# Allowed
+SELECT COUNT(*) = 0 FROM t1;
+
+# Allowed
+SELECT COUNT(*) = 0 FROM t2;
+
+# Not allowed
+--error ER_LOCK_DEADLOCK,ER_ERROR_DURING_COMMIT
+INSERT INTO t1 VALUES (1);
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+
+# Allowed
+INSERT INTO t2 VALUES (1);
+
+# Hangs
+--send COMMIT;
+--sleep 1
+
+--connection node_1b
+SET SESSION wsrep_sync_wait = 0;
+
+# The Commit issued above is still not done
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO = 'Commit';
+SELECT COUNT(*) = 0 FROM t2;
+SET DEBUG_SYNC= 'now SIGNAL continue';
+
+--connection node_1a
+--reap
+
+--connection node_1
+--reap
+SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) = 1 FROM t2;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) = 1 FROM t2;
+
+--connection node_1
+SET DEBUG_SYNC= 'RESET';
+
+--connection node_1b
+SET DEBUG_SYNC= 'RESET';
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/galera_toi_ddl_nonconflicting.test b/mysql-test/suite/galera/t/galera_toi_ddl_nonconflicting.test
new file mode 100644
index 00000000000..dbd2510cba3
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_ddl_nonconflicting.test
@@ -0,0 +1,41 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# In this test, we simultaneously send two non-conflicting ALTER TABLE statements
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+
+--connection node_2
+--send ALTER TABLE t1 ADD COLUMN f3 INTEGER; INSERT INTO t1 (f1, f2) VALUES (DEFAULT, 123);
+
+--connection node_1
+--send CREATE UNIQUE INDEX i1 ON t1(f2);
+
+--connection node_2
+--reap
+INSERT INTO t1 (f1, f2) VALUES (DEFAULT, 234);
+
+--let $wait_condition = SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 2 FROM t1;
+
+--connection node_1
+--reap
+
+--let $wait_condition = SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
+--source include/wait_condition.inc
+
+SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 2 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_toi_ddl_sequential.test b/mysql-test/suite/galera/t/galera_toi_ddl_sequential.test
new file mode 100644
index 00000000000..51eae7005df
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_ddl_sequential.test
@@ -0,0 +1,29 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# In this test, we send two ALTER TABLE statements that would only work if executed in the right order
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+INSERT INTO t1 VALUES (2, 3);
+
+--connection node_1
+ALTER TABLE t1 DROP COLUMN f2;
+INSERT INTO t1 VALUES (4);
+
+--connection node_2
+SHOW CREATE TABLE t1;
+SELECT COUNT(*) = 3 FROM t1;
+SELECT * FROM t1 ORDER BY f1;
+
+--connection node_1
+SHOW CREATE TABLE t1;
+SELECT COUNT(*) = 3 FROM t1;
+SELECT * FROM t1 ORDER BY f1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_toi_drop_database.test b/mysql-test/suite/galera/t/galera_toi_drop_database.test
new file mode 100644
index 00000000000..e790a0ba812
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_drop_database.test
@@ -0,0 +1,56 @@
+#
+# Test the operation of DDLs that affect multiple database objects
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+
+--connection node_1
+CREATE DATABASE database1;
+USE database1;
+
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+
+# Make sure autocommit retrying does not kick in as this will mask the error we expect to get
+SET SESSION wsrep_retry_autocommit = 0;
+# Attemp to insert 1M rows
+--send INSERT INTO t1 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6;
+
+--connection node_1a
+USE database1;
+SET SESSION wsrep_retry_autocommit = 0;
+--send INSERT INTO t2 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6;
+
+--connection node_2
+--sleep 1
+--send DROP DATABASE database1;
+
+--connection node_1
+--sleep 1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_1a
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+--reap
+
+--connection node_1
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'database1';
+--error ER_BAD_DB_ERROR
+USE database1;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'database1';
+--error ER_BAD_DB_ERROR
+USE database1;
diff --git a/mysql-test/suite/galera/t/galera_toi_ftwrl.test b/mysql-test/suite/galera/t/galera_toi_ftwrl.test
new file mode 100644
index 00000000000..4d0edefda8e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_ftwrl.test
@@ -0,0 +1,22 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# At this time, issing a FLUSH TABLES WITH READ LOCK on one node does not prevent DDLs from other nodes
+# from proceeding. The locked node will apply the DDL after it has been unlocked
+#
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+FLUSH TABLES WITH READ LOCK;
+
+--connection node_1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connection node_2
+UNLOCK TABLES;
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/galera/t/galera_toi_lock_exclusive.test b/mysql-test/suite/galera/t/galera_toi_lock_exclusive.test
new file mode 100644
index 00000000000..3c66286a3e6
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_lock_exclusive.test
@@ -0,0 +1,38 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Ensure that ALTER LOCK=EXCLUSIVE works under TOI. It is difficult to check that concurrent operations
+# are truly not possible, but at least we expect no hangs or deadlocks
+#
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+# Start a transaction that is concurrent to the DDL. This is not strictly necessary for this test
+# but does put more locks into play.
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (2);
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--connection node_2a
+ALTER TABLE t1 ADD COLUMN f2 INTEGER, LOCK=EXCLUSIVE;
+
+# In Galera, a concurrent transaction aborts in the face of ALTER
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+--connection node_1
+INSERT INTO t1 VALUES (2, 2);
+SELECT COUNT(*) = 2 FROM t1;
+
+--connection node_2
+INSERT INTO t1 VALUES (3, 3);
+SELECT COUNT(*) = 3 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_toi_lock_shared.test b/mysql-test/suite/galera/t/galera_toi_lock_shared.test
new file mode 100644
index 00000000000..6857a0e08ca
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_lock_shared.test
@@ -0,0 +1,23 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Ensure that ALTER LOCK=SHARED works under TOI. It is difficult to check that concurrent operations
+# will be possible, but at least we expect no hangs or deadlocks
+#
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+ALTER TABLE t1 ADD COLUMN f2 INTEGER, LOCK=SHARED;
+
+--connection node_1
+INSERT INTO t1 VALUES (2, 2);
+SELECT COUNT(*) = 2 FROM t1;
+
+--connection node_2
+INSERT INTO t1 VALUES (3, 3);
+SELECT COUNT(*) = 3 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_toi_truncate.test b/mysql-test/suite/galera/t/galera_toi_truncate.test
new file mode 100644
index 00000000000..0c1d0e45e41
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_toi_truncate.test
@@ -0,0 +1,53 @@
+#
+# Test the operation of TRUNCATE with concurrent DML.
+# The DML should be BF-aborted if the DDL arrives from another node
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source include/not_embedded.inc
+
+#
+# INSERT and TRUNCATE on different nodes
+#
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+
+# Insert 1m rows
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 10 FROM ten;
+--source include/wait_condition.inc
+
+# Prevent autocommit retring from masking the deadlock error we expect to get
+SET SESSION wsrep_retry_autocommit = 0;
+INSERT INTO t1(f1) SELECT 1 FROM ten as a1, ten AS a2;
+
+set debug_sync='ha_commit_trans_after_prepare WAIT_FOR go';
+--send INSERT INTO t1 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6;
+
+--connection node_1
+# Wait for a above insert to start
+--let $wait_condition = SELECT COUNT(*) >= 100 from t1;
+--source include/wait_condition.inc
+
+--send TRUNCATE TABLE t1;
+
+--connection node_1
+--reap
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_1
+SELECT COUNT(*) = 0 FROM t1;
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_transaction_read_only.test b/mysql-test/suite/galera/t/galera_transaction_read_only.test
new file mode 100644
index 00000000000..386d73fd3ca
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_transaction_read_only.test
@@ -0,0 +1,58 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Ensure that transactions that do not write anything do not cause the wsrep_last_committed counter to advance
+#
+
+# Empty transaction
+
+--connection node_1
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connection node_1
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+COMMIT;
+
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before AS wsrep_last_committed_diff;
+--enable_query_log
+
+# START TRANSACTION READ ONLY
+
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connection node_1
+START TRANSACTION READ ONLY;
+SELECT COUNT(*) = 0 FROM t1;
+COMMIT;
+
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before AS wsrep_last_committed_diff;
+--enable_query_log
+
+# Ordinary transaction with only SELECTs
+
+--connection node_1
+START TRANSACTION;
+SELECT COUNT(*) = 0 FROM t1;
+COMMIT;
+
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before AS wsrep_last_committed_diff;
+--enable_query_log
+
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/galera/t/galera_transaction_replay.test b/mysql-test/suite/galera/t/galera_transaction_replay.test
new file mode 100644
index 00000000000..29870829ba3
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_transaction_replay.test
@@ -0,0 +1,124 @@
+#
+# This test tests the operation of transaction replay. If a potentially conflicting remote transaction arrives at
+# just the right time during the commit of a local transaction, the local transaction will be aborted and replayed.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source suite/galera/include/galera_have_debug_sync.inc
+
+--let $wsrep_local_replays_old = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays'`
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1));
+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;
+SELECT * FROM t1 WHERE f1 = 2 FOR UPDATE;
+
+# Block the commit
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--let $galera_sync_point = commit_monitor_enter_sync
+--source include/galera_set_sync_point.inc
+
+--connection node_1
+--send COMMIT;
+
+# Wait until commit is blocked
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+--source include/galera_wait_sync_point.inc
+
+# Issue a conflicting update on node #2
+--connection node_2
+UPDATE t1 SET f2 = 'c' WHERE f1 = 2;
+
+# Wait for both transactions to be blocked
+--connection node_1a
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Update_rows_log_event::find_row%';
+--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
+
+# Unblock the commit
+--connection node_1a
+--source include/galera_clear_sync_point.inc
+--source include/galera_signal_sync_point.inc
+
+# Commit succeeds
+--connection node_1
+--reap
+
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'b';
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
+
+# wsrep_local_replays has increased by 1
+--let $wsrep_local_replays_new = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays'`
+--disable_query_log
+--eval SELECT $wsrep_local_replays_new - $wsrep_local_replays_old = 1 AS wsrep_local_replays;
+--enable_query_log
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'b';
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'c';
+
+DROP TABLE t1;
+
+#echo "# test for PS replaying"
+
+#
+# test replaying of prepared statements
+#
+--connection node_1
+CREATE TABLE t1 (i int primary key, j int) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 0), (3, 0);
+SELECT * FROM t1;
+
+PREPARE stmt1 FROM "UPDATE t1 SET j = 1 where i > 0";
+
+# block the commit of PS
+--connection node_1a
+--let $galera_sync_point = commit_monitor_enter_sync
+--source include/galera_set_sync_point.inc
+
+--connection node_1
+--send EXECUTE stmt1;
+
+# Wait until commit is blocked
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+--source include/galera_wait_sync_point.inc
+
+# Issue a conflicting update on node_2
+--connection node_2
+#UPDATE t1 SET j=2;
+INSERT INTO t1 VALUES(2,2);
+
+
+# Wait until applying begins in node_1
+--connection node_1a
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Write_rows_log_event::write_row%';
+--source include/wait_condition.inc
+
+# Unblock the PS commit
+--connection node_1a
+--source include/galera_clear_sync_point.inc
+--source include/galera_signal_sync_point.inc
+
+# Commit succeeds
+--connection node_1
+--reap
+SELECT * FROM t1;
+
+--connection node_2
+SELECT * FROM t1;
+
+--connection node_1
+DEALLOCATE PREPARE stmt1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_truncate.test b/mysql-test/suite/galera/t/galera_truncate.test
new file mode 100644
index 00000000000..79f9bad1f1b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_truncate.test
@@ -0,0 +1,57 @@
+#
+# Test TRUNCATE
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Simple case
+#
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_1
+SELECT COUNT(*) = 0 FROM t1;
+
+#
+# Table with no PK
+#
+
+--connection node_2
+CREATE TABLE t2 (f1 VARCHAR(255)) Engine=InnoDB;
+INSERT INTO t2 VALUES ('abc');
+
+--connection node_1
+TRUNCATE TABLE t2;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t2;
+
+#
+# Table with AUTO_INCREMENT. The AUTO_INCREMENT counter must be reset on all nodes
+#
+
+--connection node_1
+CREATE TABLE t3 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t3 VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT);
+
+CREATE TABLE t4 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY) Engine=InnoDB AUTO_INCREMENT=1234;
+INSERT INTO t4 VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT);
+
+TRUNCATE TABLE t3;
+TRUNCATE TABLE t4;
+
+--connection node_2
+SELECT AUTO_INCREMENT = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME IN ('t3', 't4');
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE t4;
diff --git a/mysql-test/suite/galera/t/galera_truncate_temporary.test b/mysql-test/suite/galera/t/galera_truncate_temporary.test
new file mode 100644
index 00000000000..3ad94eb9930
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_truncate_temporary.test
@@ -0,0 +1,82 @@
+#
+# Test TRUNCATE on TEMPORARY tables. It should not be replicated
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TEMPORARY TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+
+INSERT INTO t1 VALUES (1);
+
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_2
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t1;
+
+--connection node_1
+DROP TABLE t1;
+
+#
+# Test the case where a TEMPORARY table is masking an existing one
+#
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (2);
+
+SELECT f1 = 2 FROM t1;
+SELECT COUNT(*) = 1 FROM t1;
+
+TRUNCATE TABLE t1;
+
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+SELECT f1 = 1 FROM t1;
+
+--connection node_1
+
+DROP TABLE t1;
+SELECT COUNT(*) = 1 FROM t1;
+SELECT f1 = 1 FROM t1;
+
+TRUNCATE TABLE t1;
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_1
+DROP TABLE t1;
+
+#
+# Test the case where one node has a TEMPORARY table but the TRUNCATE arrives from another node
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+CREATE TEMPORARY TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+TRUNCATE TABLE t1;
+
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_1
+SELECT f1 = 2 FROM t1;
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
+
+SELECT COUNT(*) = 0 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_udf-master.opt b/mysql-test/suite/galera/t/galera_udf-master.opt
new file mode 100644
index 00000000000..14dfe3e20bc
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_udf-master.opt
@@ -0,0 +1,2 @@
+$UDF_EXAMPLE_LIB_OPT
+--query_cache_type=1
diff --git a/mysql-test/suite/galera/t/galera_unicode_identifiers.test b/mysql-test/suite/galera/t/galera_unicode_identifiers.test
new file mode 100644
index 00000000000..c0c95768650
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_unicode_identifiers.test
@@ -0,0 +1,78 @@
+#
+# Test non-ascii table, column and index names
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $wsrep_sync_wait_orig = (SELECT @@wsrep_sync_wait)
+SET GLOBAL wsrep_sync_wait = 15;
+
+--connection node_2
+SET GLOBAL wsrep_sync_wait = 15;
+
+--connection node_1
+
+--let $innodb_num_tables_orig = `SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES`
+
+# Spaces in identifiers
+
+CREATE DATABASE `database with space`;
+USE `database with space`;
+CREATE TABLE `table with space` (
+ `column with space` INTEGER AUTO_INCREMENT PRIMARY KEY,
+ `second column with space` INTEGER,
+ UNIQUE `index name with space` (`second column with space`)
+) engine=innodb;
+INSERT INTO `table with space` VALUES (1, 1);
+
+# Unicode identifiers
+
+CREATE DATABASE `база`;
+USE `база`;
+CREATE TABLE `таблица` (
+ `първа_колона` INTEGER PRIMARY KEY,
+ `втора_колона` INTEGER,
+ UNIQUE `индекÑ` (`втора_колона`)
+) engine=innodb;
+
+INSERT INTO `таблица` VALUES (1, 1);
+
+# Without a PK
+
+CREATE DATABASE `втора база`;
+USE `втора база`;
+CREATE TABLE `втора таблица` (
+ `първа колона` INTEGER,
+ `втора колона` INTEGER,
+ KEY `първи индекÑ` (`първа колона`)
+) engine=innodb;
+
+INSERT INTO `втора таблица` VALUES (1, 1);
+
+--connection node_2
+# Wait until 3 above tables with databases are created also to this node
+--let $wait_condition = SELECT COUNT(*) = $innodb_num_tables_orig + 3 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
+--source include/wait_condition.inc
+
+USE `database with space`;
+SELECT `second column with space` FROM `table with space`;
+
+USE `база`;
+SELECT * FROM `таблица`;
+
+USE `втора база`;
+SELECT `втора колона` FROM `втора таблица`;
+
+--eval SET GLOBAL wsrep_sync_wait = $wsrep_sync_wait_orig
+
+--connection node_1
+DROP TABLE `database with space`.`table with space`;
+DROP TABLE `база`.`таблица`;
+DROP TABLE `втора база`.`втора таблица`;
+
+DROP DATABASE `database with space`;
+DROP DATABASE `база`;
+DROP DATABASE `втора база`;
+--eval SET GLOBAL wsrep_sync_wait = $wsrep_sync_wait_orig
+
diff --git a/mysql-test/suite/galera/t/galera_unicode_pk.test b/mysql-test/suite/galera/t/galera_unicode_pk.test
new file mode 100644
index 00000000000..0d571f5cfd7
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_unicode_pk.test
@@ -0,0 +1,64 @@
+#
+# Test non-ascii data in table where the PK is unicode
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (
+ f1 VARCHAR(255) PRIMARY KEY
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+INSERT INTO t1 VALUES ('текÑÑ‚');
+
+--connection node_2
+SELECT f1 = 'текÑÑ‚' FROM t1;
+
+#
+# Provoke a conflict
+#
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'текÑÑ‚2';
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'текÑÑ‚3';
+
+--connection node_1
+COMMIT;
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+SELECT f1 = 'текÑÑ‚2' FROM t1;
+SELECT f1 = 'текÑÑ‚2' FROM t1 WHERE f1 = 'текÑÑ‚2';
+
+#
+# Provoke a duplicate key error
+#
+
+--connection node_2
+START TRANSACTION;
+INSERT INTO t1 VALUES ('текÑÑ‚4');
+
+--connection node_1
+START TRANSACTION;
+INSERT INTO t1 VALUES ('текÑÑ‚4');
+
+--connection node_2
+COMMIT;
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+# Work around for mysql-wsrep#29 'Spurious deadlock error on a DROP TABLE'
+--error 0,ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_update_limit.test b/mysql-test/suite/galera/t/galera_update_limit.test
new file mode 100644
index 00000000000..baacf2a60b2
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_update_limit.test
@@ -0,0 +1,55 @@
+#
+# UPDATE LIMIT should not cause any issues with row-based Galera replication
+# regardless of the order in which the rows were updated
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# With a PK
+#
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER) Engine=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 SELECT f1 FROM ten ORDER BY RAND();
+
+--connection node_2
+UPDATE IGNORE t1 SET f1 = FLOOR(1 + (RAND() * 10)) ORDER BY RAND() LIMIT 5;
+
+# Check that the sum of all elements and the max element are identical across nodes
+# as this will indicate that the same UPDATE was applied to both nodes
+
+--let $sum_rows = `SELECT SUM(f1) FROM t1`
+--let $max_row = `SELECT MAX(f1) FROM t1`
+
+--connection node_1
+--disable_query_log
+--eval SELECT (SELECT SUM(f1) FROM t1) = $sum_rows AS sum_matches;
+--eval SELECT f1 = $max_row AS max_matches FROM t1 WHERE f1 = $max_row;
+--enable_query_log
+
+DROP TABLE t1;
+
+#
+# Without a PK
+#
+
+CREATE TABLE t2 (f1 INTEGER) Engine=InnoDB;
+INSERT INTO t2 SELECT f1 FROM ten ORDER BY RAND();
+
+--connection node_2
+UPDATE IGNORE t2 SET f1 = FLOOR(1 + (RAND() * 10)) ORDER BY RAND() LIMIT 5;
+
+--let $sum_rows = `SELECT SUM(f1) FROM t2`
+
+--connection node_1
+--disable_query_log
+--eval SELECT (SELECT SUM(f1) FROM t2) = $sum_rows AS sum_matches;
+--enable_query_log
+
+DROP TABLE t2;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_v1_row_events-master.opt b/mysql-test/suite/galera/t/galera_v1_row_events-master.opt
new file mode 100644
index 00000000000..dc82542128e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_v1_row_events-master.opt
@@ -0,0 +1 @@
+--log-bin-use-v1-row-events=1
diff --git a/mysql-test/suite/galera/t/galera_v1_row_events.test b/mysql-test/suite/galera/t/galera_v1_row_events.test
new file mode 100644
index 00000000000..0c0a044510e
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_v1_row_events.test
@@ -0,0 +1,21 @@
+#
+# Test that Galera continues to run even with --log-bin-use-v1-row-events=1
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_OSU_method.test b/mysql-test/suite/galera/t/galera_var_OSU_method.test
new file mode 100644
index 00000000000..fcf964c4f89
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_OSU_method.test
@@ -0,0 +1,45 @@
+#
+# Test that the wsrep_var_OSU_method variable can be changed in the middle of an ALTER without adverse effects.
+# In-depth testing of various OSU methods is implemented in separate tests.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+
+--connection node_1
+SET SESSION wsrep_OSU_method = "RSU";
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--connection node_1a
+
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'debug sync point: alter_table_before_open_tables'
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_OSU_method = "TOI";
+SET DEBUG_SYNC= 'now SIGNAL continue';
+
+--connection node_1
+--reap
+
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+
+--connection node_2
+# The ALTER above is not visible on node_2
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+
+--connection node_1
+SET SESSION wsrep_OSU_method = "TOI";
+
+--connection node_1
+SET DEBUG_SYNC= 'RESET';
+
+--connection node_1a
+SET DEBUG_SYNC= 'RESET';
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_OSU_method2.test b/mysql-test/suite/galera/t/galera_var_OSU_method2.test
new file mode 100644
index 00000000000..099e2cc6612
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_OSU_method2.test
@@ -0,0 +1,47 @@
+#
+# Test that the wsrep_var_OSU_method variable can be changed in the middle of an ALTER without adverse effects.
+# In-depth testing of various OSU methods is implemented in separate tests.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+
+--connection node_1
+SET SESSION wsrep_OSU_method = "TOI";
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+
+--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.PROCESSLIST WHERE STATE = 'debug sync point: alter_table_before_open_tables'
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_OSU_method = "RSU";
+SET DEBUG_SYNC= 'now SIGNAL continue';
+
+--connection node_1
+--reap
+
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+INSERT INTO t1 VALUES (1,2);
+
+--connection node_2
+# The ALTER above is visible on node_2
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+INSERT INTO t1 VALUES (3,4);
+
+--connection node_1
+SET GLOBAL wsrep_OSU_method = "TOI";
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+
+--connection node_1a
+SET DEBUG_SYNC= 'RESET';
+
diff --git a/mysql-test/suite/galera/t/galera_var_auto_inc_control_off.test b/mysql-test/suite/galera/t/galera_var_auto_inc_control_off.test
new file mode 100644
index 00000000000..c0bbe5af8cf
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_auto_inc_control_off.test
@@ -0,0 +1,105 @@
+#
+# Test wsrep_auto_increment_control = OFF
+# We issue two concurrent INSERTs and one will fail with a deadlock error
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $auto_increment_control_orig = `SELECT @@wsrep_auto_increment_control`
+
+#
+# Preserve existing variable values
+#
+
+--connection node_1
+--let $auto_increment_increment_node1 = `SELECT @@auto_increment_increment`
+--let $auto_increment_offset_node1 = `SELECT @@auto_increment_offset`
+
+# Restore stock MySQL defaults
+SET GLOBAL wsrep_auto_increment_control = OFF;
+SET GLOBAL auto_increment_increment = 1;
+SET GLOBAL auto_increment_offset = 1;
+
+#Open a fresh connection to node_1 so that the variables above take effect
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+
+--connection node_2
+--let $auto_increment_increment_node2 = `SELECT @@auto_increment_increment`
+--let $auto_increment_offset_node2 = `SELECT @@auto_increment_offset`
+
+SET GLOBAL wsrep_auto_increment_control = OFF;
+SET GLOBAL auto_increment_increment = 1;
+SET GLOBAL auto_increment_offset = 1;
+
+#Open a fresh connection to node_2
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+
+--connection node_1a
+SELECT @@auto_increment_increment = 1;
+SELECT @@auto_increment_offset = 1;
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, node VARCHAR(10)) ENGINE=InnoDB;
+
+#
+# We expect that SHOW CREATE TABLE on both nodes will return identical values
+#
+
+SHOW CREATE TABLE t1;
+
+--connection node_2a
+
+SHOW CREATE TABLE t1;
+
+--connection node_1a
+SELECT @@auto_increment_increment = 1;
+SELECT @@auto_increment_offset = 1;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (node) VALUES ('node1');
+SELECT f1 FROM t1;
+
+--connection node_2a
+SELECT @@auto_increment_increment = 1;
+SELECT @@auto_increment_offset = 1;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (node) VALUES ('node2');
+SELECT f1 FROM t1;
+
+--connection node_1a
+COMMIT;
+
+--connection node_2a
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+--connection node_1a
+SELECT * FROM t1;
+
+--connection node_2a
+SELECT * FROM t1;
+
+#
+# Restore all variables as they were
+#
+
+--disable_query_log
+
+--connection node_1
+--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
+--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node1
+--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node1
+
+--connection node_2
+--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
+--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node2
+--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node2
+
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_auto_inc_control_on.opt b/mysql-test/suite/galera/t/galera_var_auto_inc_control_on.opt
new file mode 100644
index 00000000000..0a03610888c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_auto_inc_control_on.opt
@@ -0,0 +1 @@
+--wsrep-auto-increment-control=ON
diff --git a/mysql-test/suite/galera/t/galera_var_auto_inc_control_on.test b/mysql-test/suite/galera/t/galera_var_auto_inc_control_on.test
new file mode 100644
index 00000000000..ee31be94edd
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_auto_inc_control_on.test
@@ -0,0 +1,65 @@
+#
+# Test the operation of wsrep_auto_increment_control = ON
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, node VARCHAR(10)) ENGINE=InnoDB;
+
+--let $auto_increment_offset_node_1 = `SELECT @@global.auto_increment_offset`
+# auto_increment_increment is equal to the number of nodes
+SELECT @@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size');
+
+--connection node_2
+--disable_query_log
+--eval SELECT @@global.auto_increment_offset != $auto_increment_offset_node_1 AS auto_increment_offset_differ;
+--enable_query_log
+
+# Expect no conflicts
+--connection node_1
+--send INSERT INTO t1 VALUES (DEFAULT, 'node1');
+
+--connection node_2
+--send INSERT INTO t1 VALUES (DEFAULT, 'node2');
+
+--connection node_1
+--reap
+
+--connection node_2
+--reap
+
+--let $auto_increment_offset_node_2 = `SELECT @@global.auto_increment_offset`
+# auto_increment_increment is equal to the number of nodes
+SELECT @@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size');
+
+--connection node_1
+--disable_query_log
+--eval SELECT @@global.auto_increment_offset != $auto_increment_offset_node_2 AS auto_increment_offset_differ;
+--enable_query_log
+
+
+# Expect no conflicts
+--connection node_2
+--send INSERT INTO t1 VALUES (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2'), (DEFAULT, 'node2');
+
+--connection node_1
+--send INSERT INTO t1 VALUES (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1'), (DEFAULT, 'node1');
+
+--connection node_2
+--reap
+
+--connection node_1
+--reap
+
+--connection node_2
+SELECT COUNT(*) = 22 FROM t1;
+SELECT COUNT(DISTINCT f1) = 22 FROM t1;
+
+--connection node_1
+SELECT COUNT(*) = 22 FROM t1;
+SELECT COUNT(DISTINCT f1) = 22 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_certify_nonPK_off.test b/mysql-test/suite/galera/t/galera_var_certify_nonPK_off.test
new file mode 100644
index 00000000000..d2d16176e41
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_certify_nonPK_off.test
@@ -0,0 +1,43 @@
+#
+# Test wsrep_certify_nonPK = OFF
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $wsrep_certify_nonPK_orig = `SELECT @@wsrep_certify_nonPK`
+SET GLOBAL wsrep_certify_nonPK = OFF;
+
+--connection node_2
+SET GLOBAL wsrep_certify_nonPK = OFF;
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB /* Table has no primary key */;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+# All DML without a PK is rejected with an error
+--error ER_LOCK_DEADLOCK,ER_ERROR_DURING_COMMIT
+INSERT INTO t1 VALUES (1), (2);
+
+# DML with a PK is allowed to proceed
+INSERT INTO t2 VALUES (1), (2);
+UPDATE t2 SET f1 = 3 WHERE f1 = 1;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) = 2 FROM t2;
+SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 3;
+
+--connection node_1
+--eval SET GLOBAL wsrep_certify_nonPK = $wsrep_certify_nonPK_orig
+
+--connection node_2
+--eval SET GLOBAL wsrep_certify_nonPK = $wsrep_certify_nonPK_orig
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+--connection node_1
+call mtr.add_suppression("SQL statement was ineffective");
+
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/galera_var_cluster_address.test b/mysql-test/suite/galera/t/galera_var_cluster_address.test
new file mode 100644
index 00000000000..6d99d35cdac
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_cluster_address.test
@@ -0,0 +1,77 @@
+#
+# Check the handling of @@wsrep_cluster_address
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+#
+# Set to invalid value
+#
+
+--connection node_2
+--let $wsrep_cluster_address_node2 = `SELECT @@wsrep_cluster_address`
+SET GLOBAL wsrep_cluster_address = 'foo://';
+
+# With wsrep_sync_wait, this returns an error
+#--error ER_LOCK_WAIT_TIMEOUT
+#SHOW STATUS;
+
+SET SESSION wsrep_sync_wait=0;
+
+SELECT COUNT(*) > 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS;
+
+# Must return 'OFF'
+SHOW STATUS LIKE 'wsrep_ready';
+
+# Must return 'Non-primary'
+SHOW STATUS LIKE 'wsrep_cluster_status';
+
+# Must return 0 = 'Initialized'
+SHOW STATUS LIKE 'wsrep_local_state';
+SHOW STATUS LIKE 'wsrep_local_state_comment';
+
+--connection node_1
+--sleep 1
+# Node #1 thinks that it is now part of a single-node primary cluster
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+
+#
+# Reset everything as it was
+#
+
+--connection node_2
+--disable_query_log
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_node2';
+--enable_query_log
+
+--source include/wait_until_connected_again.inc
+
+--connection node_1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_2
+CALL mtr.add_suppression("Backend not supported: foo");
+CALL mtr.add_suppression("Failed to initialize backend using 'foo");
+CALL mtr.add_suppression("Failed to open channel 'my_wsrep_cluster' at 'foo");
+CALL mtr.add_suppression("gcs connect failed: Socket type not supported");
+CALL mtr.add_suppression("wsrep::connect\\(\\) failed: 7");
+CALL mtr.add_suppression("gcs_caused\\(\\) returned -103 \\(Software caused connection abort\\)");
+CALL mtr.add_suppression("failed to open gcomm backend connection: 110: failed to reach primary view: 110");
+CALL mtr.add_suppression("Failed to open backend connection: -110 \\(Connection timed out\\)");
+CALL mtr.add_suppression("gcs connect failed: Connection timed out");
+CALL mtr.add_suppression("WSREP: wsrep::connect\\(foo://\\) failed: 7");
+CALL mtr.add_suppression("WSREP: wsrep::connect\\(gcomm://192.0.2.1\\) failed: 7");
+
+# Restore original auto_increment_offset values.
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/galera_var_desync_on.test b/mysql-test/suite/galera/t/galera_var_desync_on.test
new file mode 100644
index 00000000000..fbf660d3ab5
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_desync_on.test
@@ -0,0 +1,61 @@
+#
+# Desync will be done once the global read lock is acquired and resync will be done when
+# it is released.
+# Node should temporarily not participate in flow control
+# so even if fc_limit has been reached, the master should be able to continue to
+# commit transactions.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = 'gcs.fc_limit=1';
+
+# Block the slave applier thread
+FLUSH TABLES WITH READ LOCK;
+
+--connection node_1
+
+# Without wsrep_desync = TRUE it would not be possible to perform 10 inserts on the master with gcs.fc_limit=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);
+--sleep 1
+
+--connection node_2
+SET SESSION wsrep_sync_wait = 0;
+# No updates have arrived after the FLUSH TABLES
+SELECT COUNT(*) = 1 FROM t1;
+
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_orig';
+--enable_query_log
+UNLOCK TABLES;
+
+SET SESSION wsrep_sync_wait = 1;
+# The slave is now fully caught up
+SELECT COUNT(*) = 10 FROM t1;
+
+--connection node_1
+INSERT INTO t1 VALUES (11);
+
+--connection node_2
+# Replication continues normally
+SELECT COUNT(*) = 11 FROM t1;
+
+CALL mtr.add_suppression("Protocol violation");
+DROP TABLE t1;
+
+--connection node_1
+CALL mtr.add_suppression("Protocol violation");
diff --git a/mysql-test/suite/galera/t/galera_var_dirty_reads.test b/mysql-test/suite/galera/t/galera_var_dirty_reads.test
new file mode 100644
index 00000000000..3e2108868af
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_dirty_reads.test
@@ -0,0 +1,74 @@
+#
+# Check the handling of @@wsrep_dirty_reads
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_perfschema.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_2
+--let $wsrep_cluster_address_saved = `SELECT @@global.wsrep_cluster_address`
+
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+
+SET @@global.wsrep_cluster_address = '';
+SET @@session.wsrep_dirty_reads=OFF;
+
+# Set wsrep_sync_wait to avoid ER_LOCK_WAIT_TIMEOUT.
+SET SESSION wsrep_sync_wait=0;
+
+# Must return 'OFF'
+SHOW STATUS LIKE 'wsrep_ready';
+
+# Must return 'Non-primary'
+SHOW STATUS LIKE 'wsrep_cluster_status';
+
+--error ER_UNKNOWN_COM_ERROR
+SELECT * FROM t1;
+
+--error ER_UNKNOWN_COM_ERROR
+SELECT 1 FROM t1;
+
+SET @@session.wsrep_dirty_reads=ON;
+
+SELECT * FROM t1;
+SELECT 1 FROM t1;
+
+SELECT i, variable_name, variable_value FROM t1, information_schema.session_variables WHERE variable_name LIKE "wsrep_dirty_reads" AND i = 1;
+
+SET @@session.wsrep_dirty_reads=OFF;
+
+--error ER_UNKNOWN_COM_ERROR
+SELECT i, variable_name, variable_value FROM t1, information_schema.session_variables WHERE variable_name LIKE "wsrep_dirty_reads" AND i = 1;
+
+SELECT 1;
+
+USE information_schema;
+
+SELECT * FROM information_schema.session_variables WHERE variable_name LIKE "wsrep_dirty_reads";
+
+SELECT COUNT(*) >= 10 FROM performance_schema.events_statements_history;
+
+--disable_query_log
+--eval SET @@global.wsrep_cluster_address = '$wsrep_cluster_address_saved'
+--enable_query_log
+--source include/wait_until_connected_again.inc
+
+--connection node_1
+USE test;
+SELECT * FROM t1;
+# Cleanup
+DROP TABLE t1;
+
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
+--echo # End of test
+
diff --git a/mysql-test/suite/galera/t/galera_var_fkchecks.test b/mysql-test/suite/galera/t/galera_var_fkchecks.test
new file mode 100644
index 00000000000..c771b50c06c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_fkchecks.test
@@ -0,0 +1,40 @@
+#
+# Test the operation on the foreign_key_checks variable
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE parent (
+ id INT PRIMARY KEY,
+ KEY (id)
+) ENGINE=InnoDB;
+
+CREATE TABLE child (
+ id INT PRIMARY KEY,
+ parent_id INT,
+ FOREIGN KEY (parent_id)
+ REFERENCES parent(id)
+) ENGINE=InnoDB;
+
+INSERT INTO parent VALUES (1);
+INSERT INTO child VALUES (1,1);
+
+SET SESSION foreign_key_checks = 0;
+
+INSERT INTO child VALUES (2,2);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM child WHERE id = 2;
+
+--error ER_NO_REFERENCED_ROW_2
+INSERT INTO child VALUES (3,3);
+
+SET SESSION foreign_key_checks = 0;
+DELETE FROM parent;
+
+--connection node_1
+SELECT COUNT(*) = 0 FROM parent;
+
+DROP TABLE child;
+DROP TABLE parent;
diff --git a/mysql-test/suite/galera/t/galera_var_gtid_domain_id.cnf b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.cnf
new file mode 100644
index 00000000000..d3c49470f41
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.cnf
@@ -0,0 +1,16 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+log-bin
+log-slave-updates
+
+[mysqld.1]
+gtid_domain_id=1
+wsrep_gtid_mode=ON
+wsrep_gtid_domain_id=9999
+
+[mysqld.2]
+gtid_domain_id=2
+wsrep_gtid_mode=ON
+#wsrep_gitd_domain_id value will be inherited from donor node (mysqld.1)
+#wsrep_gitd_domain_id=X
diff --git a/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test
new file mode 100644
index 00000000000..c4127b4f655
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test
@@ -0,0 +1,53 @@
+# Test for @@wsrep_gtid_mode and @@wsrep_gtid_domain_id variables
+#
+# When @@wsrep_gtid_mode=ON, all DDL/DML commands and transactions that
+# are meant to be replicated over Galera cluster nodes are tagged with
+# galera gtid_domain_id (@@wsrep_gtid_domain_id), while others are tagged
+# with the local domain_id (@@gtid_domain_id).
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo # On node_1
+--connection node_1
+# print initial GTIDs
+source include/print_gtid.inc;
+
+--echo # On node_2
+--connection node_2
+# print initial GTIDs
+source include/print_gtid.inc;
+
+--echo # On node_1
+--connection node_1
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+CREATE TABLE t2(i INT) ENGINE=MEMORY;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+SELECT * FROM t2;
+source include/print_gtid.inc;
+
+--echo # On node_2
+--connection node_2
+SELECT * FROM t1;
+source include/print_gtid.inc;
+
+--echo # On node_1
+--connection node_1
+INSERT INTO t2 VALUES(1);
+SELECT * FROM t2;
+source include/print_gtid.inc;
+
+--echo # On node_2
+--connection node_2
+SELECT * FROM t2;
+source include/print_gtid.inc;
+
+--echo # On node_1
+--connection node_1
+# Cleanup
+DROP TABLE t1, t2;
+
+--source include/galera_end.inc
+--echo # End of test
+
diff --git a/mysql-test/suite/galera/t/galera_var_innodb_disallow_writes.test b/mysql-test/suite/galera/t/galera_var_innodb_disallow_writes.test
new file mode 100644
index 00000000000..c08483b63ad
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_innodb_disallow_writes.test
@@ -0,0 +1,33 @@
+#
+# This test checks that innodb_disallow_writes works as expected
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Open a separate connection to be used to run SHOW PROCESSLIST
+--let $galera_connection_name = node_1a
+--let $galera_server_number = 1
+--source include/galera_connect.inc
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+SET GLOBAL innodb_disallow_writes=ON;
+--send INSERT INTO t1 VALUES (1);
+
+--connection node_1a
+let $wait_condition = SELECT 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO = 'INSERT INTO t1 VALUES (1)' AND State = 'query end';
+--source include/wait_condition.inc
+
+SET GLOBAL innodb_disallow_writes=OFF;
+
+--connection node_1
+--reap
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_load_data_splitting.test b/mysql-test/suite/galera/t/galera_var_load_data_splitting.test
new file mode 100644
index 00000000000..38dab0a981b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_load_data_splitting.test
@@ -0,0 +1,39 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+--let $wsrep_load_data_splitting_orig = `SELECT @@wsrep_load_data_splitting`
+
+# Create a file for LOAD DATA with 95K entries
+--perl
+open(FILE, ">", "$ENV{'MYSQLTEST_VARDIR'}/tmp/galera_var_load_data_splitting.csv") or die;
+foreach my $i (1..95000) {
+ print FILE "$i\n";
+}
+EOF
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+# Record wsrep_last_committed as it was before LOAD DATA
+--connection node_2
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+SET GLOBAL wsrep_load_data_splitting = TRUE;
+--disable_query_log
+--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/galera_var_load_data_splitting.csv' INTO TABLE t1;
+--enable_query_log
+
+--connection node_2
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+SELECT COUNT(*) = 95000 FROM t1;
+
+# LOAD-ing 95K rows causes 10 commits to be registered
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 10 AS wsrep_last_committed_diff;
+--enable_query_log
+
+--connection node_1
+--eval SET GLOBAL wsrep_load_data_splitting = $wsrep_load_data_splitting_orig;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_log_bin.cnf b/mysql-test/suite/galera/t/galera_var_log_bin.cnf
new file mode 100644
index 00000000000..f7f17e3720a
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_log_bin.cnf
@@ -0,0 +1,5 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+log-bin
+
diff --git a/mysql-test/suite/galera/t/galera_var_log_bin.test b/mysql-test/suite/galera/t/galera_var_log_bin.test
new file mode 100644
index 00000000000..1b1886b996d
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_log_bin.test
@@ -0,0 +1,22 @@
+#
+# A simple test that confirms that Galera works with log-bin enabled, that is
+# when MySQL's binlog is in effect rather than the Galera 'dummy' implementation.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_1
+UPDATE t1 SET f1 = 2 WHERE f1 = 1;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_max_ws_rows.test b/mysql-test/suite/galera/t/galera_var_max_ws_rows.test
new file mode 100644
index 00000000000..ab6a3390c06
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_max_ws_rows.test
@@ -0,0 +1,176 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
+
+--let $wsrep_max_ws_rows_orig = `SELECT @@wsrep_max_ws_rows`
+SET GLOBAL wsrep_max_ws_rows = 4;
+
+# Test that wsrep_max_ws_rows is enforced with multi statement transactions
+
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+INSERT INTO t1 (f2) VALUES (3);
+INSERT INTO t1 (f2) VALUES (4);
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 (f2) VALUES (5);
+COMMIT;
+SELECT COUNT(*) = 0 FROM t1;
+
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+INSERT INTO t1 (f2) VALUES (3);
+INSERT INTO t1 (f2) VALUES (4);
+--error ER_ERROR_DURING_COMMIT
+UPDATE t1 SET f2 = 10 WHERE f2 = 4;
+COMMIT;
+SELECT COUNT(*) = 0 FROM t1;
+
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+INSERT INTO t1 (f2) VALUES (3);
+INSERT INTO t1 (f2) VALUES (4);
+--error ER_ERROR_DURING_COMMIT
+DELETE FROM t1 WHERE f2 = 1;
+COMMIT;
+SELECT COUNT(*) = 0 FROM t1;
+
+
+# Test that wsrep_max_ws_rows is enforced on sigle statements
+
+SET GLOBAL wsrep_max_ws_rows = 5;
+INSERT INTO t1 (f2) VALUES (1),(2),(3),(4),(5);
+SET GLOBAL wsrep_max_ws_rows = 4;
+
+--error ER_ERROR_DURING_COMMIT
+UPDATE t1 SET f2 = f2 + 10;
+SELECT COUNT(*) = 5 FROM t1;
+
+--error ER_ERROR_DURING_COMMIT
+DELETE FROM t1 WHERE f2 < 10;
+SELECT COUNT(*) = 5 FROM t1;
+
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 (f2) SELECT * FROM ten;
+SELECT COUNT(*) = 5 FROM t1;
+
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 (f2) VALUES (10),(20),(30),(40),(50);
+SELECT COUNT(*) = 5 FROM t1;
+
+# Fewer than wsrep_max_ws_rows is OK
+
+SET GLOBAL wsrep_max_ws_rows = 10;
+DELETE FROM t1 WHERE f2 < 10;
+SELECT COUNT(*) = 0 FROM t1;
+
+# Test a series of transactions
+
+--disable_query_log
+SET GLOBAL wsrep_max_ws_rows = 5;
+let $i= 100;
+while ($i)
+{
+ START TRANSACTION;
+ --eval INSERT INTO t1 (f2) VALUES ($i);
+ COMMIT;
+ dec $i;
+}
+--enable_query_log
+SET GLOBAL wsrep_max_ws_rows = 100;
+SELECT COUNT(*) = 100 FROM t1;
+DELETE FROM t1 WHERE f2 < 101;
+SELECT COUNT(*) = 0 FROM t1;
+
+# Test large statements
+
+SET GLOBAL wsrep_max_ws_rows = 9999;
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+SET GLOBAL wsrep_max_ws_rows = 10000;
+INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
+
+SET GLOBAL wsrep_max_ws_rows = 9999;
+--error ER_ERROR_DURING_COMMIT
+UPDATE t1 SET f2 = 2 WHERE f2 = 1;
+SET GLOBAL wsrep_max_ws_rows = 10000;
+UPDATE t1 SET f2 = 2 WHERE f2 = 1;
+
+SET GLOBAL wsrep_max_ws_rows = 9999;
+--error ER_ERROR_DURING_COMMIT
+DELETE FROM t1 WHERE f2 = 2;
+SET GLOBAL wsrep_max_ws_rows = 10000;
+DELETE FROM t1 WHERE f2 = 2;
+
+SELECT COUNT(*) = 0 FROM t1;
+
+
+# Test that wsrep_max_ws_rows is reset when switching autocommit mode
+
+SET AUTOCOMMIT = ON;
+SET GLOBAL wsrep_max_ws_rows = 1;
+
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 (f2) VALUES (2);
+
+INSERT INTO t1 (f2) VALUES (1);
+INSERT INTO t1 (f2) VALUES (2);
+
+
+SET AUTOCOMMIT = OFF;
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 (f2) VALUES (2);
+
+INSERT INTO t1 (f2) VALUES (1);
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 (f2) VALUES (2);
+
+
+# Test that wsrep_max_ws_rows is reset on implicit commits
+
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+
+START TRANSACTION;
+INSERT INTO t1 (f2) VALUES (1);
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 (f2) VALUES (2);
+
+DROP TABLE t1;
+DROP TABLE ten;
+
+--echo #
+--echo # MDEV-11817: Altering a table with more rows than
+--echo # wsrep_max_ws_rows causes cluster to break when running
+--echo # Galera cluster in TOI mode
+--echo #
+--connection node_1
+CREATE TABLE t1(c1 INT)ENGINE = INNODB;
+SET GLOBAL wsrep_max_ws_rows= DEFAULT;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t1 SELECT * FROM t1;
+SET GLOBAL wsrep_max_ws_rows= 1;
+ALTER TABLE t1 CHANGE COLUMN c1 c1 BIGINT;
+
+--connection node_2
+SHOW CREATE TABLE t1;
+SELECT COUNT(*) FROM t1;
+DROP TABLE t1;
+
+--connection node_1
+
+--disable_query_log
+--eval SET GLOBAL wsrep_max_ws_rows = $wsrep_max_ws_rows_orig
+--enable_query_log
+
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/galera_var_max_ws_size.test b/mysql-test/suite/galera/t/galera_var_max_ws_size.test
new file mode 100644
index 00000000000..8eb93bda9be
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_max_ws_size.test
@@ -0,0 +1,46 @@
+#
+# This test sets wsrep_max_ws_size to a very low value and checks that the transaction is rejected
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+
+CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 VARCHAR(1024)) Engine=InnoDB;
+
+--let $wsrep_max_ws_size_orig = `SELECT @@wsrep_max_ws_size`
+SET GLOBAL wsrep_max_ws_size = 1024;
+
+--error ER_ERROR_DURING_COMMIT
+INSERT INTO t1 VALUES (DEFAULT, REPEAT('X', 1024));
+SELECT COUNT(*) = 0 FROM t1;
+
+#
+# Changing repl.max_ws_size also changes wsrep_max_ws_size
+#
+
+SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=10000';
+SELECT @@wsrep_max_ws_size = 10000;
+
+
+#
+# Changing wsrep_max_ws_size is equivalent to changing repl.max_ws_size
+#
+
+SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=20000';
+--let $provider_options = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=10000';
+
+SET GLOBAL wsrep_max_ws_size = 20000;
+--let $provider_options_updated = `SELECT @@wsrep_provider_options`
+
+--disable_query_log
+--eval SELECT STRCMP('$provider_options', '$provider_options_updated') = 0 AS provider_options_match
+--enable_query_log
+
+--disable_query_log
+--eval SET GLOBAL wsrep_max_ws_size = $wsrep_max_ws_size_orig
+--enable_query_log
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_mysql_replication_bundle.test b/mysql-test/suite/galera/t/galera_var_mysql_replication_bundle.test
new file mode 100644
index 00000000000..642d939692c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_mysql_replication_bundle.test
@@ -0,0 +1,30 @@
+#
+# Simple test for the operation on the wsrep-mysql-replication-bundle
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $wsrep_mysql_replication_bundle_orig = `SELECT @@wsrep_mysql_replication_bundle`
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB;
+
+SET GLOBAL wsrep_mysql_replication_bundle = 2;
+
+--connection node_1
+# This statement will not be replicated immediately
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_1
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+
+--connection node_1
+--eval SET GLOBAL wsrep_mysql_replication_bundle = $wsrep_mysql_replication_bundle_orig
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_node_address.cnf b/mysql-test/suite/galera/t/galera_var_node_address.cnf
new file mode 100644
index 00000000000..0de0edaa396
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_node_address.cnf
@@ -0,0 +1,10 @@
+!include ../galera_4nodes.cnf
+
+[mysqld.2]
+wsrep_node_address=127.0.0.1
+
+[mysqld.3]
+wsrep_node_address=localhost
+
+[mysqld.4]
+wsrep_node_address=lo
diff --git a/mysql-test/suite/galera/t/galera_var_node_address.test b/mysql-test/suite/galera/t/galera_var_node_address.test
new file mode 100644
index 00000000000..b50265be5ae
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_node_address.test
@@ -0,0 +1,32 @@
+#
+# Test wsrep_node_address . The galera_var_node_address.cnf contains various settings for
+# wsrep_node_address, so in this test we simply confirm that the cluster has started up correctly.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+call mtr.add_suppression("WSREP: Stray state UUID msg: .* current group state WAIT_STATE_UUID .*");
+call mtr.add_suppression("WSREP: Protocol violation. JOIN message sender .* is not in state transfer (.*). Message ignored.");
+call mtr.add_suppression("WSREP: Sending JOIN failed: -[0-9]+ (Transport endpoint is not connected). Will retry in new primary component.");
+
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=INNODB;
+
+--connection node_2
+let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1';
+--source include/wait_condition.inc
+INSERT INTO t1 VALUES (1);
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--connection node_3
+let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1';
+--source include/wait_condition.inc
+let $wait_condition= SELECT COUNT(*) = 1 FROM t1;
+--source include/wait_condition.inc
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_notify_cmd-master.opt b/mysql-test/suite/galera/t/galera_var_notify_cmd-master.opt
new file mode 100644
index 00000000000..70dfc98736b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_notify_cmd-master.opt
@@ -0,0 +1 @@
+--wsrep_notify_cmd=$MYSQL_TEST_DIR/std_data/wsrep_notify.sh --wsrep-sync-wait=0
diff --git a/mysql-test/suite/galera/t/galera_var_notify_cmd.test b/mysql-test/suite/galera/t/galera_var_notify_cmd.test
new file mode 100644
index 00000000000..4fea69f62bb
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_notify_cmd.test
@@ -0,0 +1,14 @@
+#
+# Test wsrep_notify_cmd. We use a version of the support-files/wsrep_notify.sh script that writes
+# notifications into a table.
+#
+
+--source include/have_innodb.inc
+--source include/galera_cluster.inc
+
+--connection node_1
+SELECT COUNT(DISTINCT uuid) = 2 FROM mtr_wsrep_notify.membership;
+SELECT MAX(size) = 2 FROM mtr_wsrep_notify.status;
+SELECT COUNT(DISTINCT idx) = 2 FROM mtr_wsrep_notify.status;
+
+DROP SCHEMA mtr_wsrep_notify;
diff --git a/mysql-test/suite/galera/t/galera_var_reject_queries.test b/mysql-test/suite/galera/t/galera_var_reject_queries.test
new file mode 100644
index 00000000000..8b80c04e3be
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_reject_queries.test
@@ -0,0 +1,47 @@
+#
+# Test wsrep_reject_queries
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER);
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+
+--connection node_1
+--error ER_GLOBAL_VARIABLE
+SET SESSION wsrep_reject_queries = ALL;
+
+SET GLOBAL wsrep_reject_queries = ALL;
+
+--error ER_UNKNOWN_COM_ERROR
+SELECT * FROM t1;
+
+#
+# Original behavior was lost connection,
+# but since 10.1, we allow controlling connection to remain alive
+#
+--error 0,2013
+SET GLOBAL wsrep_reject_queries = ALL_KILL;
+
+--connection node_1a
+--error ER_CONNECTION_KILLED,2013,2006
+SELECT * FROM t1;
+
+--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1
+--error ER_UNKNOWN_COM_ERROR
+SELECT * FROM t1;
+
+# Confirm that replication continues
+
+--connection node_2
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+INSERT INTO t1 VALUES (1);
+
+--connect node_1c, 127.0.0.1, root, , test, $NODE_MYPORT_1
+SET GLOBAL wsrep_reject_queries = NONE;
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_replicate_myisam_off.test b/mysql-test/suite/galera/t/galera_var_replicate_myisam_off.test
new file mode 100644
index 00000000000..a9811283918
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_replicate_myisam_off.test
@@ -0,0 +1,21 @@
+#
+# Simple test for wsrep-replicate-myisam = FALSE
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $wsrep_replicate_myisam_orig = `SELECT @@wsrep_replicate_myisam`
+
+SET GLOBAL wsrep_replicate_myisam = FALSE;
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=MyISAM;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_1
+--eval SET GLOBAL wsrep_replicate_myisam = $wsrep_replicate_myisam_orig
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_replicate_myisam_on.test b/mysql-test/suite/galera/t/galera_var_replicate_myisam_on.test
new file mode 100644
index 00000000000..90c786f0af0
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_replicate_myisam_on.test
@@ -0,0 +1,149 @@
+#
+# Simple test for wsrep-replicate-myisam = ON
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+--let $wsrep_replicate_myisam_orig = `SELECT @@wsrep_replicate_myisam`
+
+--connection node_1
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+--connection node_2
+SET GLOBAL wsrep_replicate_myisam = TRUE;
+
+#
+# Simple INSERT
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=MyISAM;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2), (3);
+INSERT INTO t1 SELECT 4 FROM DUAL UNION ALL SELECT 5 FROM DUAL;
+
+--connection node_2
+SELECT COUNT(*) = 5 FROM t1;
+
+DROP TABLE t1;
+
+#
+# REPLACE
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 VARCHAR(100)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1, 'abc'),(2,'abc'), (3, 'xxx');
+REPLACE INTO t1 VALUES (1, 'klm'), (2,'xyz');
+REPLACE INTO t1 SELECT 3, 'yyy' FROM DUAL;
+
+--connection node_2
+SELECT COUNT(*) = 3 FROM t1;
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1 AND f2 = 'klm';
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2 AND f2 = 'xyz';
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 3 AND f2 = 'yyy';
+
+#
+# UPDATE
+#
+
+--connection node_1
+UPDATE t1 SET f2 = 'zzz' WHERE f2 = 'yyy';
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'zzz';
+
+#
+# DELETE
+#
+
+--connection node_1
+DELETE FROM t1 WHERE f2 = 'zzz';
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1 WHERE f2 = 'zzz';
+
+#
+# TRUNCATE
+#
+
+--connection node_1
+TRUNCATE TABLE t1;
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM t1;
+DROP TABLE t1;
+
+#
+# Transaction
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+COMMIT;
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) = 1 FROM t2;
+
+#
+# Transaction rollback
+#
+
+--connection node_1
+START TRANSACTION;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t2 VALUES (2);
+ROLLBACK;
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+SELECT COUNT(*) = 1 FROM t2;
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+#
+# Transaction conflict
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=MyISAM;
+CREATE TABLE t2 (f2 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+--connection node_2
+# The MyISAM update is replicated immediately, so a duplicate key error happens even before the COMMIT
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (1);
+
+--connection node_1
+COMMIT;
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+--echo #
+--echo # MDEV-11152: wsrep_replicate_myisam: SELECT gets replicated using TO
+--echo #
+--connection node_1
+CREATE TABLE t1 (i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+# This command should not get replicated.
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--connection node_1
+--eval SET GLOBAL wsrep_replicate_myisam = $wsrep_replicate_myisam_orig
+
+--connection node_2
+--eval SET GLOBAL wsrep_replicate_myisam = $wsrep_replicate_myisam_orig
diff --git a/mysql-test/suite/galera/t/galera_var_retry_autocommit.test b/mysql-test/suite/galera/t/galera_var_retry_autocommit.test
new file mode 100644
index 00000000000..142f02546b4
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_retry_autocommit.test
@@ -0,0 +1,141 @@
+#
+# Test that the wsrep_retry_autocommit variable is respected.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+
+#
+# With wsrep_retry_autocommit = 0, error is certain
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+SET SESSION wsrep_retry_autocommit = 0;
+SET DEBUG_SYNC = 'wsrep_before_replication SIGNAL before_rep WAIT_FOR continue';
+--send INSERT INTO t1 (f1) VALUES (2)
+
+--connection node_1a
+SET DEBUG_SYNC = 'now WAIT_FOR before_rep';
+
+--connection node_2
+TRUNCATE TABLE t1;
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+SELECT COUNT(*) = 0 FROM t1;
+
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
+
+
+#
+# With wsrep_retry_autocommit = 1, success against one TRUNCATE
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+SET SESSION wsrep_retry_autocommit = 1;
+SET DEBUG_SYNC = 'wsrep_before_replication SIGNAL before_rep WAIT_FOR continue';
+--send INSERT INTO t1 (f1) VALUES (2)
+
+--connection node_1a
+SET DEBUG_SYNC = 'now WAIT_FOR before_rep';
+
+--connection node_2
+TRUNCATE TABLE t1;
+
+--connection node_1
+--reap
+SELECT COUNT(*) = 1 FROM t1;
+
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
+
+
+#
+# With wsrep_retry_autcommit = 1, failure against multiple TRUNCATEs
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+SET SESSION wsrep_retry_autocommit = 1;
+SET GLOBAL debug_dbug = '+d,sync.wsrep_retry_autocommit';
+SET DEBUG_SYNC = 'wsrep_before_replication SIGNAL before_rep WAIT_FOR continue EXECUTE 2';
+
+--send INSERT INTO t1 VALUES (2);
+
+--connection node_1a
+SET DEBUG_SYNC = 'now WAIT_FOR before_rep';
+
+--connection node_2
+TRUNCATE TABLE t1;
+
+--connection node_1a
+SET DEBUG_SYNC = 'now WAIT_FOR wsrep_retry_autocommit_reached';
+SELECT COUNT(*) = 0 FROM t1;
+SET DEBUG_SYNC = 'now SIGNAL wsrep_retry_autocommit_continue WAIT_FOR before_rep';
+
+--connection node_2
+TRUNCATE TABLE t1;
+
+--connection node_1a
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL debug_dbug = NULL;
+DROP TABLE t1;
+
+
+#
+# With wsrep_retry_autocommit = 64, success against 64 TRUNCATEs
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+SET SESSION wsrep_retry_autocommit = 64;
+SET GLOBAL debug_dbug = '+d,sync.wsrep_retry_autocommit';
+SET DEBUG_SYNC = 'wsrep_before_replication SIGNAL before_rep WAIT_FOR continue EXECUTE 64';
+
+--send INSERT INTO t1 VALUES (2)
+
+--disable_query_log
+--disable_result_log
+--let $count = 64
+while ($count)
+{
+ --connection node_1a
+ SET DEBUG_SYNC = 'now WAIT_FOR before_rep';
+
+ --connection node_2
+ TRUNCATE TABLE t1;
+
+ --connection node_1a
+ SET DEBUG_SYNC = 'now WAIT_FOR wsrep_retry_autocommit_reached';
+ SELECT COUNT(*) = 1 FROM t1;
+ SET DEBUG_SYNC = 'now SIGNAL wsrep_retry_autocommit_continue';
+
+ --dec $count
+}
+--enable_result_log
+--enable_query_log
+
+--connection node_1
+--reap
+SELECT COUNT(*) = 1 FROM t1;
+
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL debug_dbug = NULL;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_slave_threads.test b/mysql-test/suite/galera/t/galera_var_slave_threads.test
new file mode 100644
index 00000000000..95cd2aac163
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_slave_threads.test
@@ -0,0 +1,127 @@
+#
+# This tests the very basic operations around wsrep-slave-threads
+# More complex scenarios will be tested separately in the context of
+# parallel replication
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--let $wsrep_slave_threads_orig = `SELECT @@wsrep_slave_threads`
+
+--connection node_1
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB;
+CREATE TABLE t2 (f1 INT AUTO_INCREMENT PRIMARY KEY) Engine=InnoDB;
+
+--connection node_2
+CALL mtr.add_suppression("WSREP: Refusing exit for the last slave thread.");
+# Setting wsrep_slave_threads to zero triggers a warning
+SET GLOBAL wsrep_slave_threads = 0;
+SHOW WARNINGS;
+SELECT @@wsrep_slave_threads = 1;
+
+--echo # wsrep_slave_threads = 1
+SET GLOBAL wsrep_slave_threads = 1;
+
+# There is a separate wsrep_aborter thread at all times
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user';
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%wsrep aborter%';
+
+#
+# Increase the number of slave threads. The change takes effect immediately
+#
+
+SET GLOBAL wsrep_slave_threads = 64;
+
+--connection node_1
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--let $wait_timeout=600
+--let $wait_condition = SELECT COUNT(*) = 1 FROM t1;
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM t1;
+
+--echo # wsrep_slave_threads = 64
+--let $wait_condition = SELECT COUNT(*) = @@wsrep_slave_threads + 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user';
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%wsrep aborter%';
+
+#
+# Reduce the number of slave threads. The change is not immediate -- a thread will only exit after a replication event
+#
+
+SET GLOBAL wsrep_slave_threads = 1;
+
+--connection node_1
+
+--disable_result_log
+--disable_query_log
+# Generate 66 replication events
+--let $count = 66
+while ($count)
+{
+ INSERT INTO t2 VALUES (DEFAULT);
+ --dec $count
+}
+--enable_query_log
+--enable_result_log
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 66 FROM t2;
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM t2;
+
+--echo # wsrep_slave_threads = 1
+--let $wait_condition = SELECT COUNT(*) = @@wsrep_slave_threads + 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user';
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%wsrep aborter%';
+
+--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+--echo #
+--echo # lp:1372840 - Changing wsrep_slave_threads causes future connections to hang
+--echo #
+
+--connection node_1
+CREATE TABLE t1 (i INT AUTO_INCREMENT PRIMARY KEY) ENGINE=INNODB;
+
+--connection node_2
+SET GLOBAL wsrep_slave_threads = 4;
+--let $wait_condition = SELECT COUNT(*) = @@wsrep_slave_threads + 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user'
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_slave_threads = 1;
+
+--connection node_1
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT);
+DROP TABLE t1;
+
+--connection node_2
+
+# Wait until above DDL is replicated
+--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+
+#
+# make sure that we are left with exactly one applier thread before we leaving the test
+#
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user'
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%wsrep aborter%';
+
+--echo # End of tests
diff --git a/mysql-test/suite/galera/t/galera_var_sync_wait.test b/mysql-test/suite/galera/t/galera_var_sync_wait.test
new file mode 100644
index 00000000000..ecb0d92b891
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_sync_wait.test
@@ -0,0 +1,53 @@
+#
+# Simple test for the various levels of wsrep-sync-wait
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-10161: wsrep_sync_wait not enabled when set to 1 in config file
+--echo #
+# galera_2nodes.cnf sets wsrep_sync_wait to 7
+SELECT @@global.wsrep_sync_wait;
+SELECT @@global.wsrep_causal_reads;
+
+--let $wsrep_sync_wait_orig = `SELECT @@wsrep_sync_wait`
+
+--connection node_1
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB;
+
+--connection node_2
+SET GLOBAL wsrep_sync_wait = 1;
+# Those statements should see the table
+
+# MW-86 SHOW commands have now their own bitmask
+# SHOW TABLES LIKE '%t1';
+
+SELECT COUNT(*) = 0 FROM t1;
+
+--connection node_1
+CREATE TABLE t2 (f1 INT PRIMARY KEY) Engine=InnoDB;
+
+--connection node_2
+SET GLOBAL wsrep_sync_wait = 4;
+# This insert should see the table and succeed
+INSERT INTO t2 VALUES (1);
+
+--connection node_1
+CREATE TABLE t3 (f1 INT PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t3 VALUES (1);
+
+--connection node_2
+SET GLOBAL wsrep_sync_wait = 2;
+# This statement should see and update 1 row
+--enable_info
+UPDATE t3 SET f1 = 2;
+--disable_info
+
+--connection node_2
+--eval SET GLOBAL wsrep_sync_wait = $wsrep_sync_wait_orig
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
diff --git a/mysql-test/suite/galera/t/galera_var_wsrep_on_off.test b/mysql-test/suite/galera/t/galera_var_wsrep_on_off.test
new file mode 100644
index 00000000000..783b78792e6
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_wsrep_on_off.test
@@ -0,0 +1,32 @@
+#
+# Test wsrep_on = OFF. Some events will not be replicated
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET SESSION wsrep_on = FALSE;
+
+# This statement will not be replicated
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+--connection node_1
+SET GLOBAL wsrep_on = TRUE;
+INSERT INTO t1 VALUES (3);
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+
+# Middle insert is not replicated
+SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 2;
+
+# Final insert is replicated
+SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 3;
+
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/galera/t/galera_wan.cnf b/mysql-test/suite/galera/t/galera_wan.cnf
new file mode 100644
index 00000000000..0effd59403b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wan.cnf
@@ -0,0 +1,14 @@
+!include ../galera_4nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=10M;gmcast.segment=1'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=10M;gmcast.segment=1'
+
+[mysqld.3]
+wsrep_provider_options='base_port=@mysqld.3.#galera_port;gcache.size=10M;gmcast.segment=2'
+
+[mysqld.4]
+wsrep_provider_options='base_port=@mysqld.4.#galera_port;gcache.size=10M;gmcast.segment=3'
+
diff --git a/mysql-test/suite/galera/t/galera_wan.test b/mysql-test/suite/galera/t/galera_wan.test
new file mode 100644
index 00000000000..ca86a3000a6
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wan.test
@@ -0,0 +1,40 @@
+#
+# Test WAN replication and the gmcast.segment functionality.
+# The galera_wan.cnf file partitions 4 Galera nodes into 3 WAN segments
+#
+# We can not test any of the actual WAN optimizations from inside MTR and no
+# status variables are provided. So we only check that simple replication works.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CALL mtr.add_suppression("WSREP: Stray state UUID msg:.*");
+CALL mtr.add_suppression("WSREP: Sending JOIN failed:.*");
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+call mtr.add_suppression("WSREP: Sending JOIN failed:.*");
+
+
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER);
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--connection node_3
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1';
+--source include/wait_condition.inc
+INSERT INTO t1 VALUES (1);
+
+--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
+--connection node_4
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1';
+--source include/wait_condition.inc
+--let $wait_condition = SELECT COUNT(*) = 1 FROM t1;
+--source include/wait_condition.inc
+SELECT VARIABLE_VALUE LIKE '%gmcast.segment = 3%' FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'wsrep_provider_options';
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/galera/t/galera_wan_restart_ist.cnf b/mysql-test/suite/galera/t/galera_wan_restart_ist.cnf
new file mode 100644
index 00000000000..3f7d2a2448f
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wan_restart_ist.cnf
@@ -0,0 +1,14 @@
+!include ../galera_4nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gmcast.segment=1'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gmcast.segment=1'
+
+[mysqld.3]
+wsrep_provider_options='base_port=@mysqld.3.#galera_port;gmcast.segment=2'
+
+[mysqld.4]
+wsrep_provider_options='base_port=@mysqld.4.#galera_port;gmcast.segment=2'
+
diff --git a/mysql-test/suite/galera/t/galera_wan_restart_ist.test b/mysql-test/suite/galera/t/galera_wan_restart_ist.test
new file mode 100644
index 00000000000..1cf5d4c7f74
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wan_restart_ist.test
@@ -0,0 +1,161 @@
+#
+# Test that even after multiple restarts in a WAN context with two segments, the cluster continues to operate correctly.
+#
+# We can not easily restart the first node, so instead we restart all the other nodes. MTR does not allow multiple nodes
+# to be down at the same time, so restarts are sequential.
+#
+# We can not test any of the actual WAN optimizations from inside MTR and no
+# status variables are provided. So we only check that simple replication works.
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.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
+
+# 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 include/auto_increment_offset_save.inc
+
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+INSERT INTO t1 VALUES (2);
+
+--connection node_3
+INSERT INTO t1 VALUES (3);
+
+--connection node_4
+INSERT INTO t1 VALUES (4);
+
+#
+# Restart node #3
+#
+
+--connection node_3
+INSERT INTO t1 VALUES (13);
+
+--echo Shutting down server ...
+--source include/shutdown_mysqld.inc
+--sleep 5
+
+--connection node_1
+INSERT INTO t1 VALUES (11);
+
+--connection node_2
+INSERT INTO t1 VALUES (12);
+
+--connection node_4
+INSERT INTO t1 VALUES (14);
+
+--connection node_3
+--source include/start_mysqld.inc
+--sleep 5
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (131);
+
+#
+# Restart node #2
+#
+
+--connection node_2
+INSERT INTO t1 VALUES (22);
+
+--echo Shutting down server ...
+--source include/shutdown_mysqld.inc
+--sleep 5
+
+--connection node_1
+INSERT INTO t1 VALUES (21);
+
+--connection node_3
+INSERT INTO t1 VALUES (23);
+
+--connection node_4
+INSERT INTO t1 VALUES (24);
+
+--connection node_2
+--source include/start_mysqld.inc
+--sleep 5
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (221);
+
+#
+# Restart node #4
+#
+
+--connection node_4
+INSERT INTO t1 VALUES (34);
+
+--echo Shutting down server ...
+--source include/shutdown_mysqld.inc
+--sleep 5
+
+--connection node_1
+INSERT INTO t1 VALUES (31);
+
+--connection node_2
+INSERT INTO t1 VALUES (32);
+
+--connection node_3
+INSERT INTO t1 VALUES (33);
+
+--connection node_4
+--source include/start_mysqld.inc
+--sleep 5
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (341);
+
+
+#
+# Check all nodes
+#
+
+--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
+
+SELECT COUNT(*) = 19 FROM t1;
+
+--connection node_2
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT COUNT(*) = 19 FROM t1;
+
+--connection node_3
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT COUNT(*) = 19 FROM t1;
+
+--connection node_4
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT COUNT(*) = 19 FROM t1;
+
+--connection node_1
+DROP TABLE t1;
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+
+--connection node_2
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
+
+--connection node_3
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
+
+--connection node_4
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
+
+# Restore original auto_increment_offset values.
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/galera_wan_restart_sst.cnf b/mysql-test/suite/galera/t/galera_wan_restart_sst.cnf
new file mode 100644
index 00000000000..3f7d2a2448f
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wan_restart_sst.cnf
@@ -0,0 +1,14 @@
+!include ../galera_4nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gmcast.segment=1'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gmcast.segment=1'
+
+[mysqld.3]
+wsrep_provider_options='base_port=@mysqld.3.#galera_port;gmcast.segment=2'
+
+[mysqld.4]
+wsrep_provider_options='base_port=@mysqld.4.#galera_port;gmcast.segment=2'
+
diff --git a/mysql-test/suite/galera/t/galera_wan_restart_sst.test b/mysql-test/suite/galera/t/galera_wan_restart_sst.test
new file mode 100644
index 00000000000..9b12eeed1ac
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wan_restart_sst.test
@@ -0,0 +1,149 @@
+#
+# Test that even after multiple restarts in a WAN context with two segments, the cluster continues to operate correctly.
+#
+# We can not easily restart the first node, so instead we restart all the other nodes. MTR does not allow multiple nodes
+# to be down at the same time, so restarts are sequential.
+#
+# We can not test any of the actual WAN optimizations from inside MTR and no
+# status variables are provided. So we only check that simple replication works.
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+INSERT INTO t1 VALUES (2);
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--connection node_3
+INSERT INTO t1 VALUES (3);
+
+--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
+--connection node_4
+INSERT INTO t1 VALUES (4);
+
+#
+# Restart node #3
+#
+
+--connection node_3
+INSERT INTO t1 VALUES (13);
+
+--source include/kill_galera.inc
+--sleep 5
+
+--connection node_1
+--source include/wait_until_connected_again.inc
+INSERT INTO t1 VALUES (11);
+
+--connection node_2
+INSERT INTO t1 VALUES (12);
+
+--connection node_4
+INSERT INTO t1 VALUES (14);
+
+--connection node_3
+--source include/start_mysqld.inc
+--sleep 5
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (131);
+
+#
+# Restart node #2
+#
+
+--connection node_2
+INSERT INTO t1 VALUES (22);
+
+--source include/kill_galera.inc
+--sleep 5
+
+--connection node_1
+--source include/wait_until_connected_again.inc
+INSERT INTO t1 VALUES (21);
+
+--connection node_3
+INSERT INTO t1 VALUES (23);
+
+--connection node_4
+INSERT INTO t1 VALUES (24);
+
+--connection node_2
+--source include/start_mysqld.inc
+--sleep 5
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (221);
+
+#
+# Restart node #4
+#
+
+--connection node_4
+INSERT INTO t1 VALUES (34);
+
+--source include/kill_galera.inc
+--sleep 5
+
+--connection node_1
+--source include/wait_until_connected_again.inc
+INSERT INTO t1 VALUES (31);
+
+--connection node_2
+INSERT INTO t1 VALUES (32);
+
+--connection node_3
+INSERT INTO t1 VALUES (33);
+
+--connection node_4
+--source include/start_mysqld.inc
+--sleep 5
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (341);
+
+
+#
+# Check all nodes
+#
+
+--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
+
+SELECT COUNT(*) = 19 FROM t1;
+
+--connection node_2
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT COUNT(*) = 19 FROM t1;
+
+--connection node_3
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT COUNT(*) = 19 FROM t1;
+
+--connection node_4
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT COUNT(*) = 19 FROM t1;
+
+--connection node_1
+DROP TABLE t1;
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+CALL mtr.add_suppression("WSREP: gcs_caused\\(\\) returned -1 \\(Operation not permitted\\)");
+
+--connection node_2
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
+
+--connection node_3
+CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
+
+--connection node_4
+CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
diff --git a/mysql-test/suite/galera/t/galera_wsrep_desync_wsrep_on.test b/mysql-test/suite/galera/t/galera_wsrep_desync_wsrep_on.test
new file mode 100644
index 00000000000..ecf255f59c3
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wsrep_desync_wsrep_on.test
@@ -0,0 +1,59 @@
+#
+# Test the wsrep_desync + wsrep_on method for schema upgrades discussed at
+# http://www.slideshare.net/Severalnines/schema-upgrades-codershippresodec2013 , slide 30
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE TABLE ten (f1 INTEGER);
+INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+
+CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
+
+# Insert some values before the ALTER
+INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+--connection node_2
+SELECT COUNT(*) = 100000 FROM t1;
+
+SET GLOBAL wsrep_desync = TRUE;
+SET SESSION wsrep_on = FALSE;
+
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+
+SET SESSION wsrep_on = TRUE;
+SET GLOBAL wsrep_desync = FALSE;
+
+# Insert even more data after the ALTER has completed
+INSERT INTO t1 (f1) SELECT 100000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
+
+SELECT COUNT(*) = 200000 FROM t1;
+SELECT MAX(f1) = 199999 FROM t1;
+
+--connection node_1
+SELECT COUNT(*) = 200000 FROM t1;
+SELECT MAX(f1) = 199999 FROM t1;
+
+SET GLOBAL wsrep_desync = TRUE;
+SET SESSION wsrep_on = FALSE;
+
+ALTER TABLE t1 ADD PRIMARY KEY (f1);
+
+SET SESSION wsrep_on = TRUE;
+SET GLOBAL wsrep_desync = FALSE;
+
+# Insert some conflicting values after the ALTER has been applied on all nodes.
+
+--connection node_2
+--error ER_DUP_ENTRY
+INSERT INTO t1 (f1) VALUES (1);
+
+--connection node_1
+--error ER_DUP_ENTRY
+INSERT INTO t1 (f1) VALUES (100);
+
+DROP TABLE t1;
+DROP TABLE ten;
diff --git a/mysql-test/suite/galera/t/galera_wsrep_log_conficts-master.opt b/mysql-test/suite/galera/t/galera_wsrep_log_conficts-master.opt
new file mode 100644
index 00000000000..930c483bd64
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wsrep_log_conficts-master.opt
@@ -0,0 +1 @@
+--wsrep_log_conflicts=ON
diff --git a/mysql-test/suite/galera/t/galera_wsrep_log_conficts.test b/mysql-test/suite/galera/t/galera_wsrep_log_conficts.test
new file mode 100644
index 00000000000..3af08cbf637
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wsrep_log_conficts.test
@@ -0,0 +1,55 @@
+#
+# Test --wsrep_log_conflicts=ON
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (
+ f1 VARCHAR(255) PRIMARY KEY
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+INSERT INTO t1 VALUES ('abc');
+
+--connection node_2
+SELECT f1 = 'abc' FROM t1;
+
+#
+# Provoke a conflict
+#
+
+--connection node_1
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'klm';
+
+--connection node_2
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+UPDATE t1 SET f1 = 'xyz';
+
+--connection node_1
+COMMIT;
+
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2a
+--let $wait_condition = SELECT f1 = 'klm' FROM t1;
+--source include/wait_condition.inc
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+#
+# We can not really check the log output very much because it is quite variable
+#
+
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
+--let $assert_only_after = CURRENT_TEST
+
+--let $assert_text = cluster conflict due to high priority abort for threads
+--let $assert_select = cluster conflict due to high priority abort for threads
+--let $assert_match = cluster conflict due to high priority abort for threads
+--source include/assert_grep.inc
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_wsrep_new_cluster-master.opt b/mysql-test/suite/galera/t/galera_wsrep_new_cluster-master.opt
new file mode 100644
index 00000000000..c31150c46af
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wsrep_new_cluster-master.opt
@@ -0,0 +1 @@
+--wsrep-new-cluster
diff --git a/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test b/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test
new file mode 100644
index 00000000000..6ba8ce786c8
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wsrep_new_cluster.test
@@ -0,0 +1,24 @@
+#
+# Test the --wsrep-new-cluster option by putting it in the galera_wsrep_new_cluster-master.opt file
+#
+# In MTR, running two nodes, the result is two separate clusters of size 1
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+
+--connection node_2
+
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
diff --git a/mysql-test/suite/galera/t/galera_wsrep_provider_options_syntax.test b/mysql-test/suite/galera/t/galera_wsrep_provider_options_syntax.test
new file mode 100644
index 00000000000..fe1abcf6c35
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wsrep_provider_options_syntax.test
@@ -0,0 +1,20 @@
+#
+# PXC-318: Typo in wsrep_provider_options causes an unhandled exception
+#
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--let LOGF=$MYSQLTEST_VARDIR/log/mysqld.1.err
+--disable_info
+call mtr.add_suppression("WSREP\: Unknown parameter 'gmcasts\.segment'");
+call mtr.add_suppression("WSREP\: Set options returned 7");
+--error ER_WRONG_ARGUMENTS
+SET GLOBAL wsrep_provider_options="gmcasts.segment=1";
+# Search for unhandled exception message.
+perl;
+ use strict;
+ my $logf= $ENV{'LOGF'} or die "LOGF not set";
+ open(FILE, "$logf") or die("Unable to open $logf: $!\n");
+ my $count_warnings=grep(/terminate called after throwing an instance of /gi,<FILE>);
+ print "Unhandled exceptions: $count_warnings\n";
+ close(FILE);
+EOF
diff --git a/mysql-test/suite/galera/t/galera_wsrep_provider_unset_set.test b/mysql-test/suite/galera/t/galera_wsrep_provider_unset_set.test
new file mode 100644
index 00000000000..7f91495fcc4
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wsrep_provider_unset_set.test
@@ -0,0 +1,50 @@
+#
+# Test that wsrep_provider can be unset and then set back to its original value
+# and replication will continue except for any updates made while the value was 'none'
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--let $wsrep_provider_orig = `SELECT @@wsrep_provider`
+--let $wsrep_cluster_address_orig = `SELECT @@wsrep_cluster_address`
+
+SET GLOBAL wsrep_provider='none';
+INSERT INTO t1 VALUES (2);
+
+--connection node_1
+INSERT INTO t1 VALUES (3);
+
+--connection node_2
+--disable_query_log
+--eval SET GLOBAL wsrep_provider = '$wsrep_provider_orig';
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_orig';
+--enable_query_log
+
+SET SESSION wsrep_sync_wait = 0;
+
+--source include/wait_until_connected_again.inc
+--source include/galera_wait_ready.inc
+
+INSERT INTO t1 VALUES (4);
+
+# Node #2 has all the inserts
+SELECT COUNT(*) = 4 FROM t1;
+
+--connection node_1
+# Node #1 is missing the insert made while Node #2 was not replicated
+SELECT COUNT(*) = 3 FROM t1;
+
+DROP TABLE t1;
+
+--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_zero_length_column.test b/mysql-test/suite/galera/t/galera_zero_length_column.test
new file mode 100644
index 00000000000..6ae81a83271
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_zero_length_column.test
@@ -0,0 +1,41 @@
+#
+# Test columns with size zero. This is known to have tripped other storage engines.
+# Keys are not allowed on such columns
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY , f2 VARCHAR(0)) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 VARCHAR(0)) ENGINE=InnoDB;
+
+
+INSERT INTO t1 VALUES (1, NULL);
+INSERT INTO t1 VALUES (2, '');
+
+INSERT INTO t2 VALUES (NULL);
+INSERT INTO t2 VALUES ('');
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+SELECT f2 IS NULL FROM t1 WHERE f1 = 1;
+SELECT f2 = '' FROM t1 WHERE f1 = 2;
+
+SELECT COUNT(*) = 2 FROM t2;
+SELECT f1 IS NULL FROM t2 WHERE f1 IS NULL;
+SELECT f1 = '' FROM t2 WHERE f1 IS NOT NULL;
+
+UPDATE t1 SET f2 = '' WHERE f1 = 1;
+UPDATE t1 SET f2 = NULL WHERE f1 = 2;
+
+UPDATE t2 SET f1 = '' WHERE f1 IS NULL;
+
+--connection node_1
+SELECT f2 = '' FROM t1 WHERE f1 = 1;
+SELECT f2 IS NULL FROM t1 WHERE f1 = 2;
+
+SELECT COUNT(*) = 2 FROM t2 WHERE f1 = '';
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/grant.test b/mysql-test/suite/galera/t/grant.test
new file mode 100644
index 00000000000..de1c202cfbb
--- /dev/null
+++ b/mysql-test/suite/galera/t/grant.test
@@ -0,0 +1,25 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV#6266: Changing password fails on galera cluster
+--echo #
+
+--echo
+--echo # On node_1
+--connection node_1
+GRANT SELECT ON *.* TO 'user_6266'@'localhost' IDENTIFIED BY 'pass';
+--echo
+--echo # Now, try changing password for 'user_6266'. This command should also
+--echo # execute successfully on the other node.
+SET PASSWORD FOR 'user_6266'@'localhost' = PASSWORD('newpass');
+
+--echo
+--echo # On node_2
+--connection node_2
+SELECT user FROM mysql.user WHERE user='user_6266';
+# cleanup
+DROP USER 'user_6266'@'localhost';
+
+--source include/galera_end.inc
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/lp1276424.test b/mysql-test/suite/galera/t/lp1276424.test
new file mode 100644
index 00000000000..a37e950b6a1
--- /dev/null
+++ b/mysql-test/suite/galera/t/lp1276424.test
@@ -0,0 +1,17 @@
+#
+# LP:1276424 Deadlock with insertion of NULL unique ke
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INT DEFAULT NULL, UNIQUE KEY i1 (f1)) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t1 VALUES (NULL);
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+SELECT f1 IS NULL FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/lp1347768.test b/mysql-test/suite/galera/t/lp1347768.test
new file mode 100644
index 00000000000..96d42867c6a
--- /dev/null
+++ b/mysql-test/suite/galera/t/lp1347768.test
@@ -0,0 +1,24 @@
+#
+# LP:1347768 Assertion failure in file ha_innodb.cc line 6759
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE `r8kmb_redirect_links` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `old_url` varchar(255) DEFAULT NULL,
+ `new_url` varchar(255) NOT NULL,
+ `referer` varchar(150) NOT NULL,
+ `comment` varchar(255) NOT NULL,
+ `published` tinyint(4) NOT NULL,
+ `created_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `modified_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `idx_link_old` (`old_url`),
+ KEY `idx_link_modifed` (`modified_date`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+INSERT INTO r8kmb_redirect_links VALUES (550,'http://mysite.com/images/download/ßуñûічýøù_ôþóþòір_þфõÑ.doc','','','',0,'2013-07-15 14:29:42','0000-00-00 00:00:00');
+
+DROP TABLE r8kmb_redirect_links;
diff --git a/mysql-test/suite/galera/t/lp1376747-2.test b/mysql-test/suite/galera/t/lp1376747-2.test
new file mode 100644
index 00000000000..c570dd7d143
--- /dev/null
+++ b/mysql-test/suite/galera/t/lp1376747-2.test
@@ -0,0 +1,29 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+
+# Wait until above DDL's are replicated
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+
+FLUSH TABLES t1 FOR EXPORT;
+
+--connection node_1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+INSERT INTO t1 VALUES (2,3);
+
+--connection node_2
+UNLOCK TABLES;
+
+--echo ### t1 should have column f2
+SHOW CREATE TABLE t1;
+SELECT * from t1;
+
+--connection node_1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/lp1376747-3.test b/mysql-test/suite/galera/t/lp1376747-3.test
new file mode 100644
index 00000000000..75fe7d276cd
--- /dev/null
+++ b/mysql-test/suite/galera/t/lp1376747-3.test
@@ -0,0 +1,28 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+FLUSH TABLE WITH READ LOCK;
+--echo ### This shouldn't block.
+FLUSH TABLES t1 FOR EXPORT;
+
+--connection node_1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connection node_2
+UNLOCK TABLES;
+
+--echo ### t1 should have column f2
+SHOW CREATE TABLE t1;
+
+--connection node_1
+INSERT INTO t1 VALUES (2,3);
+
+--connection node_2
+SELECT * from t1;
+
+--connection node_1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/lp1376747-4.test b/mysql-test/suite/galera/t/lp1376747-4.test
new file mode 100644
index 00000000000..0c707d6d681
--- /dev/null
+++ b/mysql-test/suite/galera/t/lp1376747-4.test
@@ -0,0 +1,53 @@
+#
+# Test Flush tables with read lock along with
+# flush tables <table> with read lock for compatibility.
+# Also, making sure all DDL and DMLs are propagated
+# after provider is unpaused
+#
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+
+--connection node_1
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET session wsrep_sync_wait=0;
+SET session wsrep_causal_reads=OFF;
+FLUSH TABLE WITH READ LOCK;
+
+--connection node_1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+INSERT INTO t1 VALUES (2,3);
+
+--connection node_2a
+SET session wsrep_sync_wait=0;
+SET session wsrep_causal_reads=OFF;
+SHOW CREATE TABLE t1;
+--sleep 1
+--send FLUSH TABLES t1 WITH READ LOCK;
+
+--connection node_2
+# let the flush table wait in pause state before we unlock
+# table otherwise there is window where-in flush table is
+# yet to wait in pause and unlock allows alter table to proceed.
+# this is because send in asynchronous.
+--sleep 3
+# this will release existing lock but will not resume
+# the cluster as there is new FTRL that is still pausing it.
+UNLOCK TABLES;
+SHOW CREATE TABLE t1;
+
+--connection node_2a
+--reap
+UNLOCK TABLES;
+--sleep 2
+SHOW CREATE TABLE t1;
+SELECT * from t1;
+
+--connection node_1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/lp1376747.test b/mysql-test/suite/galera/t/lp1376747.test
new file mode 100644
index 00000000000..7daa544686f
--- /dev/null
+++ b/mysql-test/suite/galera/t/lp1376747.test
@@ -0,0 +1,31 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+
+# Wait until above DDL's are replicated
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+--source include/wait_condition.inc
+
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
+
+FLUSH TABLES t1 WITH READ LOCK;
+
+--connection node_1
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+INSERT INTO t1 VALUES (2,3);
+
+--sleep 2
+
+--connection node_2
+UNLOCK TABLES;
+
+--echo ### t1 should have column f2
+SHOW CREATE TABLE t1;
+SELECT * from t1;
+
+--connection node_1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/lp1438990.test b/mysql-test/suite/galera/t/lp1438990.test
new file mode 100644
index 00000000000..5d54c3338e5
--- /dev/null
+++ b/mysql-test/suite/galera/t/lp1438990.test
@@ -0,0 +1,38 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t3 (f1 INTEGER PRIMARY KEY);
+
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW CALL p1(NEW.f1);
+
+
+DELIMITER |;
+
+CREATE PROCEDURE p1 (IN x INT)
+BEGIN
+ DECLARE EXIT HANDLER FOR SQLEXCEPTION
+ BEGIN
+ ROLLBACK TO event_logging;
+ INSERT t3 VALUES (x);
+ END;
+ SAVEPOINT event_logging;
+
+ INSERT INTO t2 VALUES (x);
+
+ RELEASE SAVEPOINT event_logging;
+END|
+DELIMITER ;|
+
+
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+
+DROP PROCEDURE p1;
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
diff --git a/mysql-test/suite/galera/t/lp959512.test b/mysql-test/suite/galera/t/lp959512.test
new file mode 100644
index 00000000000..bcc0db24ea7
--- /dev/null
+++ b/mysql-test/suite/galera/t/lp959512.test
@@ -0,0 +1,26 @@
+#
+# LP#959512 IO cache not reset at trx cleanup if write set was empty Edit
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+DROP TABLE IF EXISTS variable;
+DROP TABLE IF EXISTS foo;
+CREATE TABLE variable (
+ name varchar(128) NOT NULL DEFAULT '' COMMENT 'The name of the variable.',
+ value longblob NOT NULL COMMENT 'The value of the variable.',
+ PRIMARY KEY (name)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Named variable/value pairs created by Drupal core or any...';
+CREATE TABLE foo (a int);
+INSERT INTO variable (name, value) VALUES ('menu_expanded', 'a:0:{}');
+START TRANSACTION;
+SELECT 1 AS expression FROM variable variable
+ WHERE ( (name = 'menu_expanded') ) FOR UPDATE;
+UPDATE variable SET value='a:0:{}' WHERE ( (name = 'menu_expanded') );
+COMMIT;
+INSERT INTO foo VALUES (1);
+UPDATE foo SET a = 2 WHERE a = 1;
+
+DROP TABLE foo;
+DROP TABLE variable;
diff --git a/mysql-test/suite/galera/t/mdev_10518.cnf b/mysql-test/suite/galera/t/mdev_10518.cnf
new file mode 100644
index 00000000000..482334c2f8a
--- /dev/null
+++ b/mysql-test/suite/galera/t/mdev_10518.cnf
@@ -0,0 +1,17 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+log-bin
+log-slave-updates
+
+[mysqld.1]
+gtid_domain_id=1
+wsrep_gtid_mode=ON
+# Maximum allowed wsrep_gtid_domain_id.
+wsrep_gtid_domain_id=4294967295
+
+[mysqld.2]
+gtid_domain_id=2
+wsrep_gtid_mode=ON
+#wsrep_gitd_domain_id value will be inherited from donor node (mysqld.1)
+#wsrep_gitd_domain_id=X
diff --git a/mysql-test/suite/galera/t/mdev_10518.test b/mysql-test/suite/galera/t/mdev_10518.test
new file mode 100644
index 00000000000..c4127b4f655
--- /dev/null
+++ b/mysql-test/suite/galera/t/mdev_10518.test
@@ -0,0 +1,53 @@
+# Test for @@wsrep_gtid_mode and @@wsrep_gtid_domain_id variables
+#
+# When @@wsrep_gtid_mode=ON, all DDL/DML commands and transactions that
+# are meant to be replicated over Galera cluster nodes are tagged with
+# galera gtid_domain_id (@@wsrep_gtid_domain_id), while others are tagged
+# with the local domain_id (@@gtid_domain_id).
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo # On node_1
+--connection node_1
+# print initial GTIDs
+source include/print_gtid.inc;
+
+--echo # On node_2
+--connection node_2
+# print initial GTIDs
+source include/print_gtid.inc;
+
+--echo # On node_1
+--connection node_1
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+CREATE TABLE t2(i INT) ENGINE=MEMORY;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+SELECT * FROM t2;
+source include/print_gtid.inc;
+
+--echo # On node_2
+--connection node_2
+SELECT * FROM t1;
+source include/print_gtid.inc;
+
+--echo # On node_1
+--connection node_1
+INSERT INTO t2 VALUES(1);
+SELECT * FROM t2;
+source include/print_gtid.inc;
+
+--echo # On node_2
+--connection node_2
+SELECT * FROM t2;
+source include/print_gtid.inc;
+
+--echo # On node_1
+--connection node_1
+# Cleanup
+DROP TABLE t1, t2;
+
+--source include/galera_end.inc
+--echo # End of test
+
diff --git a/mysql-test/suite/galera/t/mdev_9290.test b/mysql-test/suite/galera/t/mdev_9290.test
new file mode 100644
index 00000000000..39e02011a09
--- /dev/null
+++ b/mysql-test/suite/galera/t/mdev_9290.test
@@ -0,0 +1,24 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-9290 : InnoDB: Assertion failure in file trx0sys.cc line 353
+--echo # InnoDB: Failing assertion: xid_seqno > trx_sys_cur_xid_seqno
+--echo #
+
+--connection node_1
+CREATE TABLE t1 (i INT) ENGINE=InnoDB;
+
+--connection node_2
+# Note: a multi-statement transaction should always be the "first" one to execute
+# on this node.
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+COMMIT;
+
+--connection node_1
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--source include/galera_end.inc
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#110.test b/mysql-test/suite/galera/t/mysql-wsrep#110.test
new file mode 100644
index 00000000000..43520f257a1
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#110.test
@@ -0,0 +1,51 @@
+#
+# codership/mysql-wsrep/110 - Assertion `table_found' failed in unpack_row() with SAVEPOINT, trigger, error handler
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t3 (f1 INTEGER PRIMARY KEY);
+
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW CALL p1(NEW.f1);
+
+
+DELIMITER |;
+
+CREATE PROCEDURE p1 (IN x INT)
+BEGIN
+ DECLARE EXIT HANDLER FOR SQLEXCEPTION
+ BEGIN
+ ROLLBACK TO event_logging;
+ INSERT t3 VALUES (x);
+ END;
+ SAVEPOINT event_logging;
+
+ INSERT INTO t2 VALUES (x);
+END|
+DELIMITER ;|
+
+
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+
+SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) = 1 FROM t2;
+SELECT COUNT(*) = 1 FROM t3;
+
+--connection node_2
+
+SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) = 1 FROM t2;
+SELECT COUNT(*) = 1 FROM t3;
+
+--connection node_1
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP PROCEDURE p1;
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#198.test b/mysql-test/suite/galera/t/mysql-wsrep#198.test
new file mode 100644
index 00000000000..a80d030a8b0
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#198.test
@@ -0,0 +1,39 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
+
+--connection node_2
+# Ensure that the tables have been created on node #2
+SELECT 1 FROM DUAL;
+
+LOCK TABLE t2 WRITE;
+
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2a
+--send OPTIMIZE TABLE t1,t2;
+
+--connect node_2b, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2b
+--send REPAIR TABLE t1,t2;
+
+--connection node_2
+SET SESSION wsrep_sync_wait = 0;
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'Waiting for table metadata lock'
+--source include/wait_condition.inc
+
+--connection node_1
+INSERT INTO t2 VALUES (1);
+
+--connection node_2
+UNLOCK TABLES;
+
+--connection node_2a
+--reap
+
+--connection node_2b
+--reap
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#201-master.opt b/mysql-test/suite/galera/t/mysql-wsrep#201-master.opt
new file mode 100644
index 00000000000..a00258bc48c
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#201-master.opt
@@ -0,0 +1 @@
+--query_cache_type=1
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#201.test b/mysql-test/suite/galera/t/mysql-wsrep#201.test
new file mode 100644
index 00000000000..21cf05db008
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#201.test
@@ -0,0 +1,32 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_query_cache.inc
+
+CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (DEFAULT);
+
+--connection node_2
+--let $qcache_size_orig = `SELECT @@GLOBAL.query_cache_size`
+SET GLOBAL query_cache_size=1355776;
+
+--disable_query_log
+
+--let $count = 500
+while ($count)
+{
+ --connection node_1
+ INSERT INTO t1 VALUES (DEFAULT);
+ --let $val1 = `SELECT LAST_INSERT_ID()`
+ --connection node_2
+ --let $val2 = `SELECT MAX(id) FROM t1`
+ --let $val3 = `SELECT $val1 != $val2`
+ if ($val3)
+ {
+ --echo $val1 $val2
+ --die wsrep_sync_wait failed
+ }
+ --dec $count
+}
+
+--eval SET GLOBAL query_cache_size = $qcache_size_orig
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#237.test b/mysql-test/suite/galera/t/mysql-wsrep#237.test
new file mode 100644
index 00000000000..cba8dfeb275
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#237.test
@@ -0,0 +1,34 @@
+# hang because of replicated FLUSH TABLE command
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+CREATE TABLE t (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+
+--connection node_1
+SET DEBUG_SYNC = 'wsrep_before_replication WAIT_FOR continue';
+--send INSERT INTO t values (1);
+
+--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.PROCESSLIST WHERE STATE = 'debug sync point: wsrep_before_replication'
+--source include/wait_condition.inc
+
+--connection node_2
+FLUSH TABLES;
+
+
+--connection node_1a
+SELECT SLEEP(1);
+
+SET DEBUG_SYNC= 'now SIGNAL continue';
+
+--connection node_1
+--reap
+
+# Cleanup
+DROP TABLE t;
+--connection node_1a
+SET DEBUG_SYNC= 'RESET';
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#247.test b/mysql-test/suite/galera/t/mysql-wsrep#247.test
new file mode 100644
index 00000000000..8bcd58607a1
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#247.test
@@ -0,0 +1,23 @@
+#
+# codership/mysql-wsrep/247 MW-246 -
+# DDL with RSU fails if node is desynced upfont
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+
+SET GLOBAL wsrep_desync=1;
+
+SET wsrep_OSU_method=RSU;
+
+CREATE TABLE t1 (i int primary key);
+
+SHOW VARIABLES LIKE 'wsrep_desync';
+
+SET GLOBAL wsrep_desync=0;
+--sleep 1
+DROP TABLE t1;
+SHOW VARIABLES LIKE 'wsrep_desync';
+
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#31.test b/mysql-test/suite/galera/t/mysql-wsrep#31.test
new file mode 100644
index 00000000000..c669d4834ba
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#31.test
@@ -0,0 +1,53 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES('test');
+CREATE DATABASE db;
+
+--connection node_2
+--let $expected_position_uuid = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_uuid'`
+--let $expected_position_seqno = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--let $expected_position = $expected_position_uuid:$expected_position_seqno
+
+--echo Shutting down server 2 ...
+--source include/shutdown_mysqld.inc
+
+--echo Recovering server 2 ...
+--let $galera_wsrep_recover_server_id=2
+--source suite/galera/include/galera_wsrep_recover.inc
+
+if ($galera_wsrep_start_position != $expected_position)
+{
+ die(Expected position: $expected_position, found $galera_wsrep_start_position);
+}
+
+--echo Restarting server ...
+--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/wait_until_ready.inc
+
+--connection node_1
+DROP TABLE t1;
+DROP DATABASE db;
+
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--source include/wait_until_connected_again.inc
+
+# Restore original auto_increment_offset values.
+--let $node_2=node_2a
+--source include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
+
+
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#33.cnf b/mysql-test/suite/galera/t/mysql-wsrep#33.cnf
new file mode 100644
index 00000000000..f1c3d802e4b
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#33.cnf
@@ -0,0 +1,8 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
+
+[mysqld.2]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
+
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#33.test b/mysql-test/suite/galera/t/mysql-wsrep#33.test
new file mode 100644
index 00000000000..351e457f165
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#33.test
@@ -0,0 +1,20 @@
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $node_1=node_1
+--let $node_2=node_2
+--source suite/galera/include/auto_increment_offset_save.inc
+--source suite/galera/include/galera_sst_set_mysqldump.inc
+
+--source suite/galera/include/galera_st_disconnect_slave.inc
+
+--source suite/galera/include/galera_sst_restore.inc
+
+--connection node_2
+
+--echo Restarting server ...
+--source include/restart_mysqld.inc
+
+--source suite/galera/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
new file mode 100644
index 00000000000..2da01ba900e
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#332.test
@@ -0,0 +1,113 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source suite/galera/include/galera_have_debug_sync.inc
+
+# Open connection node_1a here, MW-369.inc will use it later
+--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
+
+#
+# Test the scenario where a foreign key is added to an existing child table, and
+# concurrently UPDATE the parent table so that it violates the constraint.
+#
+# We expect that ALTER TABLE ADD FOREIGN KEY adds a table level key on both
+# parent and child table. And therefore we also expect the UPDATE to fail
+# certification.
+#
+--connection node_1
+CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER) ENGINE=INNODB;
+
+INSERT INTO p VALUES (1, 0);
+INSERT INTO p VALUES (2, 0);
+
+INSERT INTO c VALUES (1, 1);
+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
+
+# Expect certification failure
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT * FROM p;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p;
+
+
+#
+# Same as above, except that two foreign keys pointing to different parent
+# tables are added, p1 and p2. Concurrently UPDATE p1.
+#
+# Expect certification error on UPDATE.
+#
+--connection node_1
+CREATE TABLE p1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE p2 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id1 INTEGER, p_id2 INTEGER) ENGINE=INNODB;
+
+INSERT INTO p1 VALUES (1, 0), (2, 0);
+INSERT INTO p2 VALUES (1, 0), (2, 0);
+
+INSERT INTO c VALUES (1, 1, 1);
+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
+
+# Expect certification failure
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT * FROM p1;
+SELECT * FROM p2;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p1;
+DROP TABLE p2;
+
+
+#
+# Same as above, except that UPDATE is on p2.
+#
+--connection node_1
+CREATE TABLE p1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE p2 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
+CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id1 INTEGER, p_id2 INTEGER) ENGINE=INNODB;
+
+INSERT INTO p1 VALUES (1, 0), (2, 0);
+INSERT INTO p2 VALUES (1, 0), (2, 0);
+
+INSERT INTO c VALUES (1, 1, 1);
+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
+
+# Expect certification failure
+--connection node_1
+--error ER_LOCK_DEADLOCK
+--reap
+
+--connection node_2
+SELECT * FROM p1;
+SELECT * FROM p2;
+SELECT * FROM c;
+
+DROP TABLE c;
+DROP TABLE p1;
+DROP TABLE p2;
diff --git a/mysql-test/suite/galera/t/mysql-wsrep#90.test b/mysql-test/suite/galera/t/mysql-wsrep#90.test
new file mode 100644
index 00000000000..11ef6416526
--- /dev/null
+++ b/mysql-test/suite/galera/t/mysql-wsrep#90.test
@@ -0,0 +1,67 @@
+# Crash in galera_to_execute_end when wsrep_OSU_method is changed from RSU to TOI during a DDL
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+
+--connection node_1
+SET GLOBAL wsrep_OSU_method = "RSU";
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+
+--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.PROCESSLIST WHERE STATE = 'debug sync point: alter_table_before_open_tables'
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_OSU_method = "TOI";
+SET DEBUG_SYNC= 'now SIGNAL continue';
+
+--connection node_1
+--reap
+
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+
+--connection node_1
+DROP TABLE t1;
+SET DEBUG_SYNC = 'RESET';
+
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+
+--connection node_1
+SET GLOBAL wsrep_OSU_method = "TOI";
+SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
+--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
+
+--connection node_1a
+SET SESSION wsrep_sync_wait = 0;
+
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'debug sync point: alter_table_before_open_tables'
+--source include/wait_condition.inc
+
+SET GLOBAL wsrep_OSU_method = "RSU";
+SET DEBUG_SYNC= 'now SIGNAL continue';
+
+--connection node_1
+--reap
+
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+INSERT INTO t1 VALUES (1,2);
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+INSERT INTO t1 VALUES (3,4);
+
+--connection node_1
+DROP TABLE t1;
+
+SET GLOBAL WSREP_OSU_METHOD = TOI;
+SET DEBUG_SYNC = 'RESET';
diff --git a/mysql-test/suite/galera/t/partition.test b/mysql-test/suite/galera/t/partition.test
new file mode 100644
index 00000000000..0159ef8f607
--- /dev/null
+++ b/mysql-test/suite/galera/t/partition.test
@@ -0,0 +1,215 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_partition.inc
+
+--echo #
+--echo # MDEV#4953 Galera: DELETE from a partitioned table is not replicated
+--echo #
+
+USE test;
+CREATE TABLE t1 (pk INT PRIMARY KEY, i INT) ENGINE=INNODB PARTITION BY HASH(pk) PARTITIONS 2;
+INSERT INTO t1 VALUES (1,100), (2,200);
+SELECT * FROM t1;
+
+DELETE FROM t1;
+SELECT * FROM t1;
+
+--echo
+--echo # On node_1
+--connection node_1
+SELECT * FROM t1;
+
+--echo
+--echo # On node_2
+--connection node_2
+SELECT * FROM t1;
+
+# Cleanup
+DROP TABLE t1;
+
+
+--echo #
+--echo # MDEV#7501 : alter table exchange partition is not replicated in
+--echo # galera cluster
+--echo #
+
+--echo
+--echo # On node_1
+--connection node_1
+
+CREATE TABLE test.t1 (
+ i INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (i)
+ ) ENGINE=INNODB
+ PARTITION BY RANGE (i)
+ (PARTITION p1 VALUES LESS THAN (10) ENGINE = INNODB,
+ PARTITION p2 VALUES LESS THAN (20) ENGINE = INNODB,
+ PARTITION pMax VALUES LESS THAN MAXVALUE ENGINE = INNODB);
+
+INSERT INTO test.t1 (i) VALUE (9),(19);
+CREATE TABLE test.p1 LIKE test.t1;
+ALTER TABLE test.p1 REMOVE PARTITIONING;
+
+ALTER TABLE test.t1 EXCHANGE PARTITION p1 WITH TABLE test.p1;
+SELECT * FROM test.t1;
+SELECT * FROM test.p1;
+
+--echo
+--echo # On node_2
+--connection node_2
+
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE p1;
+
+SELECT * FROM test.t1;
+SELECT * FROM test.p1;
+
+--echo
+--echo # On node_1
+--connection node_1
+ALTER TABLE t1 TRUNCATE PARTITION p2;
+SELECT * FROM test.t1;
+
+--echo
+--echo # On node_2
+--connection node_2
+SELECT * FROM test.t1;
+
+--echo
+--echo # On node_1
+--connection node_1
+ALTER TABLE t1 DROP PARTITION p2;
+SHOW CREATE TABLE t1;
+
+--echo
+--echo # On node_2
+--connection node_2
+SHOW CREATE TABLE t1;
+
+
+# Cleanup
+DROP TABLE t1, p1;
+
+--echo #
+--echo # MDEV-5146: Bulk loads into partitioned table not working
+--echo #
+
+# Create 2 files with 20002 & 101 entries in each.
+--perl
+open(FILE, ">", "$ENV{'MYSQLTEST_VARDIR'}/tmp/mdev-5146-1.dat") or die;
+foreach my $i (1..20002) {
+ print FILE "$i\n";
+}
+
+open(FILE, ">", "$ENV{'MYSQLTEST_VARDIR'}/tmp/mdev-5146-2.dat") or die;
+foreach my $i (1..101) {
+ print FILE "$i\n";
+}
+EOF
+
+--connection node_1
+
+--let $wsrep_load_data_splitting_orig = `SELECT @@wsrep_load_data_splitting`
+
+--echo # Case 1: wsrep_load_data_splitting = ON & LOAD DATA with 20002
+--echo # entries.
+
+SET GLOBAL wsrep_load_data_splitting = ON;
+
+CREATE TABLE t1 (pk INT PRIMARY KEY)
+ ENGINE=INNODB PARTITION BY HASH(pk) PARTITIONS 2;
+
+# Record wsrep_last_committed as it was before LOAD DATA
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--disable_query_log
+--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/mdev-5146-1.dat' INTO TABLE t1;
+--enable_query_log
+
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 20002 FROM t1;
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM t1;
+
+# LOAD-ing 20002 rows causes 3 commits to be registered
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 3 AS wsrep_last_committed_diff;
+--enable_query_log
+
+DROP TABLE t1;
+
+--echo # Case 2: wsrep_load_data_splitting = ON & LOAD DATA with 101 entries.
+
+--connection node_1
+
+SET GLOBAL wsrep_load_data_splitting = ON;
+
+CREATE TABLE t1 (pk INT PRIMARY KEY)
+ ENGINE=INNODB PARTITION BY HASH(pk) PARTITIONS 2;
+
+# Record wsrep_last_committed as it was before LOAD DATA
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--disable_query_log
+--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/mdev-5146-2.dat' INTO TABLE t1;
+--enable_query_log
+
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 101 FROM t1;
+--source include/wait_condition.inc
+
+SELECT COUNT(*) FROM t1;
+
+# LOAD-ing 101 rows causes 1 commit to be registered
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+DROP TABLE t1;
+
+--echo # Case 3: wsrep_load_data_splitting = OFF & LOAD DATA with 20002
+--echo # entries.
+
+--connection node_1
+
+SET GLOBAL wsrep_load_data_splitting = OFF;
+
+CREATE TABLE t1 (pk INT PRIMARY KEY)
+ ENGINE=INNODB PARTITION BY HASH(pk) PARTITIONS 2;
+
+# Record wsrep_last_committed as it was before LOAD DATA
+--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--disable_query_log
+--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/mdev-5146-1.dat' INTO TABLE t1;
+--enable_query_log
+
+--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
+
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 20002 FROM t1;
+--source include/wait_condition.inc
+SELECT COUNT(*) FROM t1;
+
+# LOAD-ing 20002 rows causes 1 commit to be registered
+--disable_query_log
+--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before + 1 AS wsrep_last_committed_diff;
+--enable_query_log
+
+DROP TABLE t1;
+
+--connection node_1
+# Restore the original value
+--eval SET GLOBAL wsrep_load_data_splitting = $wsrep_load_data_splitting_orig;
+
+# Cleanup
+remove_file '$MYSQLTEST_VARDIR/tmp/mdev-5146-1.dat';
+remove_file '$MYSQLTEST_VARDIR/tmp/mdev-5146-2.dat';
+
+--source include/galera_end.inc
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/pxc-421.test b/mysql-test/suite/galera/t/pxc-421.test
new file mode 100644
index 00000000000..33a2b157f18
--- /dev/null
+++ b/mysql-test/suite/galera/t/pxc-421.test
@@ -0,0 +1,67 @@
+#
+# PXC-421: Test deadlock involving updates of
+# wsrep_provider, wsrep_cluster_address and wsrep_slave_threads.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# Save original auto_increment_offset values.
+--let $node_1=node_1
+--let $node_2=node_2
+--source include/auto_increment_offset_save.inc
+
+--connection node_1
+--let $wsrep_slave_1 = `SELECT @@wsrep_slave_threads`
+set GLOBAL wsrep_slave_threads=26;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 (f1) SELECT * from t1 as x1;
+
+--connection node_2
+--let $wsrep_slave_2 = `SELECT @@wsrep_slave_threads`
+set GLOBAL wsrep_slave_threads=16;
+--let $wsrep_provider_orig = `SELECT @@wsrep_provider`
+--let $wsrep_cluster_address_orig = `SELECT @@wsrep_cluster_address`
+
+SET GLOBAL wsrep_provider='none';
+INSERT INTO t1 VALUES (2);
+
+--connection node_1
+INSERT INTO t1 VALUES (3);
+
+--connection node_2
+--disable_query_log
+--eval SET GLOBAL wsrep_provider = '$wsrep_provider_orig';
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_orig';
+--enable_query_log
+
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (4);
+set GLOBAL wsrep_slave_threads=5;
+
+# Node #2 has all the inserts
+SELECT COUNT(*) = 5 FROM t1;
+
+--connection node_1
+set GLOBAL wsrep_slave_threads=12;
+# Node #1 is missing the insert made while Node #2 was not replicated
+SELECT COUNT(*) = 4 FROM t1;
+INSERT INTO t1 VALUES (100), (101), (102);
+
+--connection node_2
+set GLOBAL wsrep_slave_threads=5;
+INSERT INTO t1 (f1) SELECT * from t1 as x1;
+show global variables like 'wsrep_slave_threads';
+--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_2
+SELECT COUNT(*) FROM t1;
+
+--connection node_1
+SELECT COUNT(*) FROM t1;
+show global variables like 'wsrep_slave_threads';
+--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_1
+DROP TABLE t1;
+
+--source include/auto_increment_offset_restore.inc
+
diff --git a/mysql-test/suite/galera/t/query_cache.opt b/mysql-test/suite/galera/t/query_cache.opt
new file mode 100644
index 00000000000..a00258bc48c
--- /dev/null
+++ b/mysql-test/suite/galera/t/query_cache.opt
@@ -0,0 +1 @@
+--query_cache_type=1
diff --git a/mysql-test/suite/galera/t/query_cache.test b/mysql-test/suite/galera/t/query_cache.test
new file mode 100644
index 00000000000..9d6b654be78
--- /dev/null
+++ b/mysql-test/suite/galera/t/query_cache.test
@@ -0,0 +1,1089 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_query_cache.inc
+
+--echo
+--echo # Execute FLUSH/RESET commands.
+--echo # On node-1
+--connection node_1
+SET @query_cache_size_saved=@@GLOBAL.query_cache_size;
+SET @query_cache_type_saved=@@GLOBAL.query_cache_type;
+set GLOBAL query_cache_size=1355776;
+flush query cache; # This crashed in some versions
+reset query cache;
+flush status;
+
+--echo # On node-2
+--connection node_2
+SET @query_cache_size_saved=@@GLOBAL.query_cache_size;
+SET @query_cache_type_saved=@@GLOBAL.query_cache_type;
+set GLOBAL query_cache_size=1355776;
+flush query cache; # This crashed in some versions
+reset query cache;
+flush status;
+
+#
+# INSERT/UPDATE/DELETE/DROP/SELECT
+#
+
+--echo # On node-1
+--connection node_1
+create table t1 (a int not null) engine=innodb;
+insert into t1 values (1),(2),(3);
+select * from t1;
+select * from t1;
+select sql_no_cache * from t1;
+select length(now()) from t1;
+
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_inserts";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+
+select * from t1;
+select * from t1;
+select sql_no_cache * from t1;
+select length(now()) from t1;
+
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_inserts";
+show status like "Qcache_hits";
+
+# DELETE should invalidate cache on both the nodes.
+--echo # On node-1
+--connection node_1
+delete from t1 where a=1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+# Add a SELECT to the cache.
+--echo # On node-1
+--connection node_1
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+# UPDATE should invalidate cache on both the nodes.
+--echo # On node-1
+--connection node_1
+update t1 set a=1 where a=3;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+# Add a SELECT to the cache.
+--echo # On node-1
+--connection node_1
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+# DROP should invalidate cache on both the nodes.
+--echo # On node-1
+--connection node_1
+drop table t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# MERGE TABLES with INSERT/UPDATE and DELETE
+#
+--echo
+--echo # On node-1
+--connection node_1
+create table t1 (a int not null) ENGINE=MyISAM;
+insert into t1 values (1),(2),(3);
+create table t2 (a int not null) ENGINE=MyISAM;
+insert into t2 values (4),(5),(6);
+create table t3 (a int not null) engine=MERGE UNION=(t1,t2) INSERT_METHOD=FIRST;
+# insert
+select * from t3;
+select * from t3;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+insert into t2 values (7);
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from t1;
+select * from t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+insert into t3 values (8);
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+# update
+select * from t3;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+update t2 set a=9 where a=7;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+update t3 set a=10 where a=1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+#delete
+select * from t3;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+delete from t2 where a=9;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+delete from t3 where a=10;
+select * from t3;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+# MERGE table, expect no records.
+select * from t3;
+select * from t3;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_inserts";
+show status like "Qcache_hits";
+
+drop table t1, t2, t3;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# SELECT SQL_CACHE ...
+#
+--echo # On node-1
+--connection node_1
+set query_cache_type=demand;
+create table t1 (a int not null) engine=innodb;
+insert into t1 values (1),(2),(3);
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select sql_cache * from t1 union select * from t1;
+set query_cache_type=2;
+select sql_cache * from t1 union select * from t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+set query_cache_type=on;
+
+--echo # On node-2
+--connection node_2
+set query_cache_type=demand;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select sql_cache * from t1 union select * from t1;
+set query_cache_type=2;
+select sql_cache * from t1 union select * from t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+set query_cache_type=on;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# SELECT SQL_NO_CACHE
+#
+--echo # On node-1
+--connection node_1
+select sql_no_cache * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+--echo # On node-2
+--connection node_2
+select sql_no_cache * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Check that queries that uses NOW(), LAST_INSERT_ID()... are not cached.
+#
+--echo # On node-1
+--connection node_1
+create table t1 (a text not null) engine=innodb;
+select CONNECTION_ID() from t1;
+select FOUND_ROWS();
+select NOW() from t1;
+select CURDATE() from t1;
+select CURTIME() from t1;
+select DATABASE() from t1;
+select ENCRYPT("test") from t1;
+select LAST_INSERT_ID() from t1;
+select RAND() from t1;
+select UNIX_TIMESTAMP() from t1;
+select USER() from t1;
+select CURRENT_USER() from t1;
+select benchmark(1,1) from t1;
+explain extended select benchmark(1,1) from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+--echo # On node-2
+--connection node_2
+select CONNECTION_ID() from t1;
+select FOUND_ROWS();
+select NOW() from t1;
+select CURDATE() from t1;
+select CURTIME() from t1;
+select DATABASE() from t1;
+select ENCRYPT("test") from t1;
+select LAST_INSERT_ID() from t1;
+select RAND() from t1;
+select UNIX_TIMESTAMP() from t1;
+select USER() from t1;
+select CURRENT_USER() from t1;
+select benchmark(1,1) from t1;
+explain extended select benchmark(1,1) from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Non-cachable ODBC work around (and prepare cache for drop database)
+#
+--echo # On node-1
+--connection node_1
+create database mysqltest;
+create table mysqltest.t1 (i int not null auto_increment, a int, primary key
+ (i)) engine=innodb;
+insert into mysqltest.t1 values (1, 1);
+select * from mysqltest.t1 where i is null;
+create table t1(a int) engine=innodb;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from mysqltest.t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from mysqltest.t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+#
+# drop db
+#
+drop database mysqltest;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Charset conversion (cp1251_koi8 always present)
+# Note: Queries using different default character sets are cached separately.
+#
+--echo # On node-1
+--connection node_1
+create table t1 (a char(1) not null collate koi8r_general_ci) engine=innodb;
+insert into t1 values(_koi8r"á");
+set CHARACTER SET koi8r;
+select * from t1;
+set CHARACTER SET cp1251_koi8;
+select * from t1;
+set CHARACTER SET DEFAULT;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+set CHARACTER SET koi8r;
+select * from t1;
+set CHARACTER SET cp1251_koi8;
+select * from t1;
+set CHARACTER SET DEFAULT;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Same tables in different dbs
+#
+--echo # On node-1
+--connection node_1
+create database if not exists mysqltest;
+create table mysqltest.t1 (i int not null) engine=innodb;
+create table t1 (i int not null) engine=innodb;
+insert into mysqltest.t1 (i) values (1);
+insert into t1 (i) values (2);
+
+select * from t1;
+use mysqltest;
+select * from t1;
+select * from t1;
+use test;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+select * from t1;
+use mysqltest;
+select * from t1;
+select * from t1;
+use test;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+drop database mysqltest;
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# FOUND_ROWS()
+#
+--echo # On node-1
+--connection node_1
+create table t1 (i int not null) engine=innodb;
+insert into t1 (i) values (1),(2),(3),(4);
+
+select SQL_CALC_FOUND_ROWS * from t1 limit 2;
+select FOUND_ROWS();
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+select * from t1 where i=1;
+select FOUND_ROWS();
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+select SQL_CALC_FOUND_ROWS * from t1 limit 2;
+select FOUND_ROWS();
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+select * from t1 where i=1;
+select FOUND_ROWS();
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+--echo # On node-2
+--connection node_2
+select SQL_CALC_FOUND_ROWS * from t1 limit 2;
+select FOUND_ROWS();
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+select * from t1 where i=1;
+select FOUND_ROWS();
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+select SQL_CALC_FOUND_ROWS * from t1 limit 2;
+select FOUND_ROWS();
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+select * from t1 where i=1;
+select FOUND_ROWS();
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Test insert delayed (MYISAM)
+#
+
+--echo # On node-2
+--connection node_2
+flush query cache;
+reset query cache;
+
+--echo # On node-1
+--connection node_1
+flush query cache;
+reset query cache;
+
+create table t1 (a int not null) ENGINE=MYISAM;
+insert into t1 values (1),(2),(3);
+select * from t1;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+insert delayed into t1 values (4);
+--sleep 5 # Wait for insert delayed to be executed.
+select a from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+select * from t1;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+insert delayed into t1 values (4);
+--sleep 5 # Wait for insert delayed to be executed.
+select a from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+drop table t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-1
+--connection node_1
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+#
+# Test of min result data unit size changing
+#
+--echo # On node-2
+--connection node_2
+show global variables like "query_cache_min_res_unit";
+set GLOBAL query_cache_min_res_unit=1001;
+show global variables like "query_cache_min_res_unit";
+
+--echo # On node-1
+--connection node_1
+show global variables like "query_cache_min_res_unit";
+set GLOBAL query_cache_min_res_unit=1001;
+show global variables like "query_cache_min_res_unit";
+create table t1 (a int not null) engine=innodb;
+insert into t1 values (1),(2),(3);
+create table t2 (a int not null) engine=innodb;
+insert into t2 values (1),(2),(3);
+select * from t1;
+select * from t1;
+select * from t2;
+select * from t2;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+--echo # On node-2
+--connection node_2
+select * from t1;
+select * from t1;
+select * from t2;
+select * from t2;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+drop table t1;
+select a from t2;
+select a from t2;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+set GLOBAL query_cache_min_res_unit=default;
+show global variables like "query_cache_min_res_unit";
+
+--echo # On node-1
+--connection node_1
+select a from t2;
+select a from t2;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+drop table t2;
+set GLOBAL query_cache_min_res_unit=default;
+show global variables like "query_cache_min_res_unit";
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Case sensitive test
+#
+--echo # On node-1
+--connection node_1
+create table t1 (a int not null) engine=innodb;
+insert into t1 values (1);
+select "aaa" from t1;
+select "AAA" from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+select "aaa" from t1;
+select "AAA" from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Test of query cache resizing
+#
+--echo # On node-1
+--connection node_1
+create table t1 (a int) engine=innodb;
+set GLOBAL query_cache_size=1000;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=1024;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=10240;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=20480;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=40960;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=51200;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=61440;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=81920;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=102400;
+show global variables like "query_cache_size";
+select * from t1;
+
+--echo # On node-2
+--connection node_2
+set GLOBAL query_cache_size=1000;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=1024;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=10240;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=20480;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=40960;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=51200;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=61440;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=81920;
+show global variables like "query_cache_size";
+select * from t1;
+set GLOBAL query_cache_size=102400;
+show global variables like "query_cache_size";
+select * from t1;
+
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Temporary tables (ignored by Galera)
+#
+--echo # On node-1
+--connection node_1
+set GLOBAL query_cache_size=1048576;
+create table t1 (i int not null) engine=innodb;
+create table t2 (i int not null) engine=innodb;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+create temporary table t3 (i int not null);
+select * from t2;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from t3;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+update t1 set i=(select distinct 1 from (select * from t2) a);
+drop table t3;
+
+--echo # On node-2
+--connection node_2
+set GLOBAL query_cache_size=1048576;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from t2;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+drop table t1, t2;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# System databse test (no need to perform it on node_2)
+# Note: Queries on system tables are not cached.
+#
+--echo # On node-1
+--connection node_1
+use mysql;
+disable_result_log;
+select * from db;
+enable_result_log;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+use test;
+disable_result_log;
+select * from mysql.db;
+enable_result_log;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+#
+# Simple rename test
+#
+--echo # On node-1
+--connection node_1
+create table t1(id int auto_increment primary key) engine=innodb;
+insert into t1 values (1), (2), (3);
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-1
+--connection node_1
+alter table t1 rename to t2;
+--error ER_NO_SUCH_TABLE
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+--error ER_NO_SUCH_TABLE
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+drop table t2;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Load data invalidation test
+#
+--echo # On node-1
+--connection node_1
+create table t1 (word char(20) not null) engine=innodb;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval load data infile '$MYSQLTEST_VARDIR/std_data/words.dat' into table t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+--let $wait_condition = SELECT COUNT(*) = 70 FROM t1;
+--source include/wait_condition.inc
+
+--echo # On node-2
+--connection node_2
+--let $wait_condition = SELECT COUNT(*) = 70 FROM t1;
+--source include/wait_condition.inc
+select count(*) from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval load data infile '$MYSQLTEST_VARDIR/std_data/words.dat' into table t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select count(*) from t1;
+
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# INTO OUTFILE/DUMPFILE test
+#
+--echo # On node-1
+--connection node_1
+create table t1 (a int) engine=innodb;
+insert into t1 values (1),(2),(3);
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from t1 into outfile "query_cache.out.file";
+--error ER_FILE_EXISTS_ERROR
+select * from t1 into outfile "query_cache.out.file";
+select * from t1 limit 1 into dumpfile "query_cache.dump.file";
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+drop table t1;
+let $datadir=`select @@datadir`;
+--remove_file $datadir/test/query_cache.dump.file
+--remove_file $datadir/test/query_cache.out.file
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Test of SQL_SELECT_LIMIT
+#
+--echo # On node-1
+--connection node_1
+create table t1 (a int) engine=innodb;
+insert into t1 values (1),(2);
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from t1;
+SET SQL_SELECT_LIMIT=1;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+SET SQL_SELECT_LIMIT=DEFAULT;
+
+--echo # On node-2
+--connection node_2
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+select * from t1;
+SET SQL_SELECT_LIMIT=1;
+select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+SET SQL_SELECT_LIMIT=DEFAULT;
+
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# WRITE LOCK & QC
+#
+--echo # On node-1
+--connection node_1
+create table t1 (a int not null) engine=innodb;
+create table t2 (a int not null) engine=innodb;
+
+set query_cache_wlock_invalidate=1;
+create view v1 as select * from t1;
+select * from t1;
+select * from t2;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+lock table t1 write, t2 read;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+unlock table;
+select * from t1;
+# Implicit locking of t1 does not invalidate QC
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+lock table v1 write;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+unlock table;
+drop view v1;
+set query_cache_wlock_invalidate=default;
+
+--echo # On node-2
+--connection node_2
+set query_cache_wlock_invalidate=1;
+create view v1 as select * from t1;
+select * from t1;
+select * from t2;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+lock table t1 write, t2 read;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+unlock table;
+select * from t1;
+# Implicit locking of t1 does not invalidate QC
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+lock table v1 write;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+unlock table;
+drop view v1;
+set query_cache_wlock_invalidate=default;
+
+drop table t1,t2;
+
+#
+# Hiding real table stored in query cache by temporary table
+#
+--echo # On node-1
+--connection node_1
+create table t1 (id int primary key) engine=innodb;
+insert into t1 values (1),(2),(3);
+select * from t1;
+create temporary table t1 (a int not null auto_increment primary key);
+select * from t1;
+drop table t1;
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Test character set related variables:
+# character_set_result
+# character_set_client
+# charactet_set_connection/collation_connection
+# If at least one of the above variables has changed,
+# the cached query can't be reused. In the below test
+# absolutely the same query is used several times,
+# SELECT should fetch different results for every instance.
+# No hits should be produced.
+# New cache entry should appear for every SELECT.
+#
+
+--echo # On node-1
+--connection node_1
+SET NAMES koi8r;
+CREATE TABLE t1 (a char(1) character set koi8r) engine=innodb;
+INSERT INTO t1 VALUES (_koi8r'á'),(_koi8r'Ã');
+#
+# Run select
+#
+SELECT a,'Â','â'='Â' FROM t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+#
+# Change collation_connection and run the same query again
+#
+set collation_connection=koi8r_bin;
+SELECT a,'Â','â'='Â' FROM t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+#
+# Now change character_set_client and run the same query again
+#
+set character_set_client=cp1251;
+SELECT a,'Â','â'='Â' FROM t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+#
+# And finally change character_set_results and run the same query again
+#
+set character_set_results=cp1251;
+SELECT a,'Â','â'='Â' FROM t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+SET NAMES default;
+
+--echo # On node-2
+--connection node_2
+#
+# Run select
+#
+SELECT a,'Â','â'='Â' FROM t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+#
+# Change collation_connection and run the same query again
+#
+set collation_connection=koi8r_bin;
+SELECT a,'Â','â'='Â' FROM t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+#
+# Now change character_set_client and run the same query again
+#
+set character_set_client=cp1251;
+SELECT a,'Â','â'='Â' FROM t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+#
+# And finally change character_set_results and run the same query again
+#
+set character_set_results=cp1251;
+SELECT a,'Â','â'='Â' FROM t1;
+show status like "Qcache_hits";
+show status like "Qcache_queries_in_cache";
+
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Comments before command
+#
+--echo # On node-1
+--connection node_1
+create table t1 (a int) engine=innodb;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+/**/ select * from t1;
+/**/ select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+/**/ select * from t1;
+/**/ select * from t1;
+show status like "Qcache_queries_in_cache";
+show status like "Qcache_hits";
+
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+#
+# Information schema & query cache test
+#
+--echo # On node-1
+--connection node_1
+set session query_cache_type = 2;
+create table t1(a int) engine=innodb;
+select table_name from information_schema.tables
+where table_schema="test";
+drop table t1;
+select table_name from information_schema.tables
+where table_schema="test";
+# Bug #8480: REPAIR TABLE needs to flush the table from the query cache
+set session query_cache_type = 1;
+set global query_cache_size=1024*1024;
+flush query cache;
+create table t1 ( a int ) engine=myisam; # myisam for repair tables
+insert into t1 values (1);
+select a from t1;
+select a from t1;
+show status like 'qcache_queries_in_cache';
+show status like "Qcache_hits";
+repair table t1;
+show status like 'qcache_queries_in_cache';
+show status like "Qcache_hits";
+
+--echo # On node-2
+--connection node_2
+select a from t1;
+select a from t1;
+show status like 'qcache_queries_in_cache';
+show status like "Qcache_hits";
+repair table t1;
+show status like 'qcache_queries_in_cache';
+show status like "Qcache_hits";
+drop table t1;
+
+#
+# RESET QUERY CACHE
+#
+--source include/reset_query_cache.inc
+
+--echo # Restore original settings.
+--echo # On node-1
+--connection node_1
+SET GLOBAL query_cache_size=@query_cache_size_saved;
+SET GLOBAL query_cache_type=@query_cache_type_saved;
+--echo
+--echo # On node-2
+--connection node_2
+SET GLOBAL query_cache_size=@query_cache_size_saved;
+SET GLOBAL query_cache_type=@query_cache_type_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/rename.test b/mysql-test/suite/galera/t/rename.test
new file mode 100644
index 00000000000..326d64d3b8a
--- /dev/null
+++ b/mysql-test/suite/galera/t/rename.test
@@ -0,0 +1,53 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-8598 : Failed MySQL DDL commands and Galera replication
+--echo #
+--echo # On node 1
+--connection node_1
+USE test;
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUE(1);
+SELECT * FROM t1;
+
+--echo # Create a new user 'foo' with limited privileges
+CREATE USER foo@localhost;
+GRANT SELECT on test.* TO foo@localhost;
+
+--echo # Open connection to the 1st node using 'test_user1' user.
+--let $port_1= \$NODE_MYPORT_1
+--connect(foo_node_1,localhost,foo,,test,$port_1,)
+
+--connection foo_node_1
+SELECT * FROM t1;
+--echo # Following RENAME should not replicate to other node.
+--error ER_TABLEACCESS_DENIED_ERROR
+RENAME TABLE t1 TO t2;
+
+--echo # On node 2
+--connection node_2
+USE test;
+SELECT * FROM t1;
+
+--echo # On node_1
+--connection node_1
+RENAME TABLE t1 TO t2;
+SHOW TABLES;
+
+--echo # On node 2
+--connection node_2
+USE test;
+SELECT * FROM t2;
+
+# Cleanup
+--connection node_1
+DROP USER foo@localhost;
+DROP TABLE t2;
+
+--echo # End of tests
+
diff --git a/mysql-test/suite/galera/t/rpl_row_annotate.cnf b/mysql-test/suite/galera/t/rpl_row_annotate.cnf
new file mode 100644
index 00000000000..1f1d83dfa0b
--- /dev/null
+++ b/mysql-test/suite/galera/t/rpl_row_annotate.cnf
@@ -0,0 +1,6 @@
+!include ../galera_2nodes.cnf
+
+[mysqld]
+log-bin
+log-slave-updates
+binlog-annotate-row-events=ON
diff --git a/mysql-test/suite/galera/t/rpl_row_annotate.test b/mysql-test/suite/galera/t/rpl_row_annotate.test
new file mode 100644
index 00000000000..b1cfdb36639
--- /dev/null
+++ b/mysql-test/suite/galera/t/rpl_row_annotate.test
@@ -0,0 +1,42 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo # On node_2
+--connection node_2
+RESET MASTER;
+
+--echo # On node_1
+--connection node_1
+RESET MASTER;
+CREATE TABLE t1(i INT)ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+DELETE FROM t1 WHERE i = 1;
+
+--echo # On node_2
+--connection node_2
+INSERT INTO t1 VALUES(2);
+DELETE FROM t1 WHERE i = 2;
+
+--echo # On node_1
+--connection node_1
+--source include/binlog_start_pos.inc
+let $start_pos= `select @binlog_start_pos`;
+--replace_column 2 # 5 #
+--replace_result $start_pos <start_pos>
+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
+--eval SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM $start_pos
+
+--echo # On node_2
+--connection node_2
+--source include/binlog_start_pos.inc
+let $start_pos= `select @binlog_start_pos`;
+--replace_column 2 # 5 #
+--replace_result $start_pos <start_pos>
+--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
+--eval SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM $start_pos
+
+# Cleanup
+DROP TABLE t1;
+
+--source include/galera_end.inc
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/sql_log_bin.test b/mysql-test/suite/galera/t/sql_log_bin.test
new file mode 100644
index 00000000000..9f8f7c84486
--- /dev/null
+++ b/mysql-test/suite/galera/t/sql_log_bin.test
@@ -0,0 +1,56 @@
+# Test to check the behavior of galera cluster with sql_log_bin=ON|OFF & binary
+# logging is disabled. sql_bin_log should not affect galera replication.
+#
+# The following bugfixes are tested:
+#
+# MDEV-9510: Segmentation fault in binlog thread.
+# A scenario otherwise causing a similar segfault is replayed.
+# The test must pass having no crashes.
+# The sequence of sql statements is provided by original
+# sql_log_bin.test augmented with a FLUSH BINLOG LOGS, below.
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo
+--echo # On node_1
+--connection node_1
+
+USE test;
+CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1);
+
+--echo # Disable binary logging for current session
+SET SQL_LOG_BIN=OFF;
+INSERT INTO t1 VALUES (2);
+
+# MDEV-9510: the following binlog rotation due to FLUSH segfaults wo/ the fixes
+FLUSH BINARY LOGS;
+
+CREATE TABLE t2(c1 INT PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t2 VALUES (1);
+CREATE TABLE test.t3 AS SELECT * from t1;
+
+--echo # Enable binary logging for current session
+SET SQL_LOG_BIN=ON;
+INSERT INTO t2 VALUES (2);
+CREATE TABLE t4 AS SELECT * from t2;
+SELECT * FROM t1;
+SELECT * FROM t2;
+SELECT * FROM t3;
+SELECT * FROM t4;
+
+--echo
+--echo # On node_2
+--connection node_2
+USE test;
+SELECT * FROM t1;
+SELECT * FROM t2;
+SELECT * FROM t3;
+SELECT * FROM t4;
+
+# Cleanup
+DROP TABLE t1, t2, t3, t4;
+
+--source include/galera_end.inc
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/unique_key.test b/mysql-test/suite/galera/t/unique_key.test
new file mode 100644
index 00000000000..00b85d57165
--- /dev/null
+++ b/mysql-test/suite/galera/t/unique_key.test
@@ -0,0 +1,54 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV#5552 Deadlock when inserting NULL column value in column with
+--echo # UNIQUE index
+--echo #
+
+USE test;
+--echo
+--echo # On node_1
+--connection node_1
+CREATE TABLE t1(c1 INT DEFAULT NULL, UNIQUE KEY c1(c1)) ENGINE=INNODB;
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t1 VALUES (NULL);
+SELECT * FROM test.t1;
+
+--echo
+--echo # On node_2
+--connection node_2
+SELECT * FROM test.t1;
+
+
+--echo
+--echo # On node_1
+--connection node_1
+INSERT INTO t1 VALUES (1);
+UPDATE t1 SET c1=NULL WHERE c1=1;
+SELECT * FROM test.t1;
+
+--echo
+--echo # On node_2
+--connection node_2
+SELECT * FROM test.t1;
+
+--echo
+--echo # On node_1
+--connection node_1
+DELETE FROM t1 WHERE c1<=>NULL;
+SELECT * FROM test.t1;
+
+--echo
+--echo # On node_2
+--connection node_2
+SELECT * FROM test.t1;
+
+--let $galera_diff_statement = SELECT * FROM t1
+--source include/galera_diff.inc
+
+# Cleanup
+DROP TABLE t1;
+
+--source include/galera_end.inc
+--echo # End of test
diff --git a/mysql-test/suite/galera/t/view.test b/mysql-test/suite/galera/t/view.test
new file mode 100644
index 00000000000..fa2cd8b2a67
--- /dev/null
+++ b/mysql-test/suite/galera/t/view.test
@@ -0,0 +1,50 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-7222: Cluster Node Crash at CREATE DEFINER statement
+--echo #
+USE test;
+CREATE DEFINER=CURRENT_USER VIEW v1 AS SELECT 1;
+DROP VIEW v1;
+
+--echo #
+--echo # MDEV-8464 : ALTER VIEW not replicated in some cases
+--echo #
+--echo # On node_1
+--connection node_1
+USE test;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+CREATE DEFINER=CURRENT_USER VIEW v1 AS SELECT * FROM t1;
+CREATE ALGORITHM=MERGE VIEW v2 AS SELECT * FROM t1;
+CREATE ALGORITHM=TEMPTABLE VIEW v3 AS SELECT * FROM t1;
+CREATE ALGORITHM=UNDEFINED DEFINER=CURRENT_USER VIEW v4 AS SELECT * FROM t1;
+
+--echo # On node_2
+--connection node_2
+USE test;
+SHOW CREATE VIEW v1;
+SHOW CREATE VIEW v2;
+SHOW CREATE VIEW v3;
+SHOW CREATE VIEW v4;
+
+--echo # On node_1
+--connection node_1
+ALTER ALGORITHM=MERGE VIEW v1 AS SELECT * FROM t1;
+ALTER ALGORITHM=UNDEFINED VIEW v2 AS SELECT * FROM t1;
+ALTER DEFINER=CURRENT_USER VIEW v3 AS SELECT * FROM t1;
+ALTER ALGORITHM=TEMPTABLE DEFINER=CURRENT_USER VIEW v4 AS SELECT * FROM t1;
+
+--echo # On node_2
+--connection node_2
+SHOW CREATE VIEW v1;
+SHOW CREATE VIEW v2;
+SHOW CREATE VIEW v3;
+SHOW CREATE VIEW v4;
+
+--echo # Cleanup
+DROP VIEW v1, v2, v3, v4;
+DROP TABLE t1;
+
+--echo # End of tests
+
diff --git a/mysql-test/suite/galera_3nodes/disabled.def b/mysql-test/suite/galera_3nodes/disabled.def
new file mode 100644
index 00000000000..1683485981b
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/disabled.def
@@ -0,0 +1,2 @@
+galera_slave_options_do :MDEV-8798
+galera_slave_options_ignore : MDEV-8798
diff --git a/mysql-test/suite/galera_3nodes/galera_2x3nodes.cnf b/mysql-test/suite/galera_3nodes/galera_2x3nodes.cnf
new file mode 100644
index 00000000000..477789175fb
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/galera_2x3nodes.cnf
@@ -0,0 +1,123 @@
+# Use default setting for mysqld processes
+!include include/default_mysqld.cnf
+
+[mysqld]
+log-bin
+log-slave-updates
+binlog-format=row
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+wsrep_gtid_mode=1
+gtid_ignore_duplicates
+auto_increment_increment=3
+
+wsrep-on=1
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_node_address=127.0.0.1
+# enforce read-committed characteristics across the cluster
+# wsrep-causal-reads=ON
+# wsrep-sync-wait=15
+
+[mysqld.1]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep-cluster-address='gcomm://'
+wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
+
+wsrep_sst_receive_address=127.0.0.2:@mysqld.1.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
+
+[mysqld.2]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
+wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
+
+wsrep_sst_receive_address=127.0.0.2:@mysqld.2.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
+
+[mysqld.3]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
+wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
+
+wsrep_sst_receive_address=127.0.0.2:@mysqld.3.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
+
+
+[mysqld.4]
+wsrep_cluster_name=cluster2
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+
+wsrep-cluster-address='gcomm://'
+wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.4.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
+
+wsrep_sst_receive_address=127.0.0.2:@mysqld.4.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
+
+[mysqld.5]
+wsrep_cluster_name=cluster2
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.4.#galera_port'
+wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.5.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
+
+wsrep_sst_receive_address=127.0.0.2:@mysqld.5.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.5.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.5.#sst_port'
+
+[mysqld.6]
+wsrep_cluster_name=cluster2
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.4.#galera_port'
+wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.6.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
+
+wsrep_sst_receive_address=127.0.0.2:@mysqld.6.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.6.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.6.#sst_port'
+
+[ENV]
+NODE_MYPORT_1= @mysqld.1.port
+NODE_MYSOCK_1= @mysqld.1.socket
+
+NODE_MYPORT_2= @mysqld.2.port
+NODE_MYSOCK_2= @mysqld.2.socket
+
+NODE_MYPORT_3= @mysqld.3.port
+NODE_MYSOCK_3= @mysqld.3.socket
+
+NODE_MYPORT_4= @mysqld.4.port
+NODE_MYSOCK_4= @mysqld.4.socket
+
+NODE_MYPORT_5= @mysqld.5.port
+NODE_MYSOCK_5= @mysqld.5.socket
+
+NODE_MYPORT_6= @mysqld.6.port
+NODE_MYSOCK_6= @mysqld.6.socket
+
+NODE_GALERAPORT_1= @mysqld.1.#galera_port
+NODE_GALERAPORT_2= @mysqld.2.#galera_port
+NODE_GALERAPORT_3= @mysqld.3.#galera_port
+NODE_GALERAPORT_4= @mysqld.4.#galera_port
+NODE_GALERAPORT_5= @mysqld.5.#galera_port
+NODE_GALERAPORT_6= @mysqld.6.#galera_port
+
+NODE_SSTPORT_1= @mysqld.1.#sst_port
+NODE_SSTPORT_2= @mysqld.2.#sst_port
+NODE_SSTPORT_3= @mysqld.3.#sst_port
+NODE_SSTPORT_4= @mysqld.4.#sst_port
+NODE_SSTPORT_5= @mysqld.5.#sst_port
+NODE_SSTPORT_6= @mysqld.6.#sst_port
diff --git a/mysql-test/suite/galera_3nodes/galera_3nodes.cnf b/mysql-test/suite/galera_3nodes/galera_3nodes.cnf
new file mode 100644
index 00000000000..e5aa81b8742
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/galera_3nodes.cnf
@@ -0,0 +1,67 @@
+# Use default setting for mysqld processes
+!include include/default_mysqld.cnf
+
+[mysqld]
+binlog-format=row
+innodb-autoinc-lock-mode=2
+default-storage-engine=innodb
+auto_increment_increment=3
+
+wsrep-on=1
+wsrep-provider=@ENV.WSREP_PROVIDER
+wsrep_node_address=127.0.0.1
+# enforce read-committed characteristics across the cluster
+wsrep-causal-reads=ON
+wsrep-sync-wait=15
+
+[mysqld.1]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep-cluster-address='gcomm://'
+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'
+
+wsrep_sst_receive_address=127.0.0.2:@mysqld.1.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
+
+[mysqld.2]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
+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'
+
+wsrep_sst_receive_address=127.0.0.2:@mysqld.2.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
+
+[mysqld.3]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
+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'
+
+wsrep_sst_receive_address=127.0.0.2:@mysqld.3.#sst_port
+wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
+wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
+
+[ENV]
+NODE_MYPORT_1= @mysqld.1.port
+NODE_MYSOCK_1= @mysqld.1.socket
+
+NODE_MYPORT_2= @mysqld.2.port
+NODE_MYSOCK_2= @mysqld.2.socket
+
+NODE_MYPORT_3= @mysqld.3.port
+NODE_MYSOCK_3= @mysqld.3.socket
+
+NODE_GALERAPORT_1= @mysqld.1.#galera_port
+NODE_GALERAPORT_2= @mysqld.2.#galera_port
+NODE_GALERAPORT_3= @mysqld.3.#galera_port
+
+NODE_SSTPORT_1= @mysqld.1.#sst_port
+NODE_SSTPORT_2= @mysqld.2.#sst_port
+NODE_SSTPORT_3= @mysqld.3.#sst_port
+
diff --git a/mysql-test/suite/galera_3nodes/my.cnf b/mysql-test/suite/galera_3nodes/my.cnf
new file mode 100644
index 00000000000..bb25b95ceea
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/my.cnf
@@ -0,0 +1 @@
+!include galera_3nodes.cnf
diff --git a/mysql-test/suite/galera_3nodes/r/GAL-501.result b/mysql-test/suite/galera_3nodes/r/GAL-501.result
new file mode 100644
index 00000000000..a2bf5f4d98c
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/GAL-501.result
@@ -0,0 +1,14 @@
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+VARIABLE_VALUE LIKE '%[::1]%'
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_certification_ccc.result b/mysql-test/suite/galera_3nodes/r/galera_certification_ccc.result
new file mode 100644
index 00000000000..96a2bec0d7f
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_certification_ccc.result
@@ -0,0 +1,17 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SET GLOBAL wsrep_cluster_address = '';
+INSERT INTO t1 VALUES (2);
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+COMMIT;
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_certification_double_failure.result b/mysql-test/suite/galera_3nodes/r/galera_certification_double_failure.result
new file mode 100644
index 00000000000..9dc735d5d3d
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_certification_double_failure.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_evs_suspect_timeout.result b/mysql-test/suite/galera_3nodes/r/galera_evs_suspect_timeout.result
new file mode 100644
index 00000000000..7e0d282ec7f
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_evs_suspect_timeout.result
@@ -0,0 +1,20 @@
+SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S';
+SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S';
+Suspending node ...
+SET SESSION wsrep_sync_wait = 0;
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+SET SESSION wsrep_sync_wait = 0;
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 2
+1
+SET SESSION wsrep_sync_wait = DEFAULT;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+Resuming node ...
+CALL mtr.add_suppression("WSREP: gcs_caused() returned -1 \\(Operation not permitted\\)");
diff --git a/mysql-test/suite/galera_3nodes/r/galera_garbd.result b/mysql-test/suite/galera_3nodes/r/galera_garbd.result
new file mode 100644
index 00000000000..180aade029c
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_garbd.result
@@ -0,0 +1,17 @@
+Killing node #3 to free ports for garbd ...
+Starting garbd ...
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+Killing garbd ...
+INSERT INTO t1 VALUES (2);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
+Restarting node #3 to satisfy MTR's end-of-test checks
+CALL mtr.add_suppression("WSREP: Protocol violation\. JOIN message sender 1\.0 \(.*\) is not in state transfer \(SYNCED\)");
+CALL mtr.add_suppression("WSREP: Protocol violation\. JOIN message sender 1\.0 \(.*\) is not in state transfer \(SYNCED\)");
+CALL mtr.add_suppression("WSREP: Protocol violation\. JOIN message sender 1\.0 \(.*\) is not in state transfer \(SYNCED\)");
diff --git a/mysql-test/suite/galera_3nodes/r/galera_gtid_2_cluster.result b/mysql-test/suite/galera_3nodes/r/galera_gtid_2_cluster.result
new file mode 100644
index 00000000000..35ca84119e7
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_gtid_2_cluster.result
@@ -0,0 +1,231 @@
+cluster 1 node 1
+SHOW STATUS LIKE 'wsrep_cluster_size';
+Variable_name Value
+wsrep_cluster_size 3
+cluster 1 node 2
+SHOW STATUS LIKE 'wsrep_cluster_size';
+Variable_name Value
+wsrep_cluster_size 3
+cluster 1 node 3
+SHOW STATUS LIKE 'wsrep_cluster_size';
+Variable_name Value
+wsrep_cluster_size 3
+cluster 2 node 1
+SHOW STATUS LIKE 'wsrep_cluster_size';
+Variable_name Value
+wsrep_cluster_size 3
+cluster 2 node 2
+SHOW STATUS LIKE 'wsrep_cluster_size';
+Variable_name Value
+wsrep_cluster_size 3
+cluster 2 node 3
+SHOW STATUS LIKE 'wsrep_cluster_size';
+Variable_name Value
+wsrep_cluster_size 3
+change master to master_host='127.0.0.1', master_user='root', master_port=NODE_MYPORT_4, master_use_gtid=current_pos, ignore_server_ids=(12,13);;
+start slave;
+include/wait_for_slave_to_start.inc
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+
+select @@gtid_slave_pos;
+@@gtid_slave_pos
+
+change master to master_host='127.0.0.1', master_user='root', master_port=NODE_MYPORT_1, master_use_gtid=current_pos, ignore_server_ids=(22,23);;
+start slave;
+include/wait_for_slave_to_start.inc
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+
+select @@gtid_slave_pos;
+@@gtid_slave_pos
+
+cluster 1 node 1
+create table t1 (cluster_domain_id int ,node_server_id int, seq_no int);
+insert into t1 values (1, 11, 2);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2
+#wait for sync cluster 1 and 2
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 2 node 1
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2
+insert into t1 values (2, 21, 1);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2,2-21-1
+select * from t1;
+cluster_domain_id node_server_id seq_no
+1 11 2
+2 21 1
+#wait for sync cluster 1 and 2
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 1 node 2
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2,2-21-1
+insert into t1 values (1, 12, 3);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2,1-12-3,2-21-1
+#wait for sync cluster 1 and 2
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 1 node 3
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2,1-12-3,2-21-1
+insert into t1 values (1, 13, 4);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1
+#wait for sync cluster 1 and 2
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 2 node 2
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1
+insert into t1 values (2, 22, 2);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1,2-22-2
+#wait for sync cluster 2 and 1
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 2 node 3
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1,2-22-2
+insert into t1 values (2, 23, 3);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1,2-22-2,2-23-3
+#wait for sync cluster 2 and 1
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 1 node 1
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1,2-22-2,2-23-3
+drop table t1;
+stop slave;
+reset slave;
+change master to master_use_gtid=no, ignore_server_ids=();
+reset master;
+set global GTID_SLAVE_POS="";
+cluster 2 node 1
+stop slave;
+reset slave;
+change master to master_use_gtid=no, ignore_server_ids=();
+reset master;
+set global GTID_SLAVE_POS="";
+reset master;
+reset master;
+reset master;
+reset master;
+change master to master_host='127.0.0.1', master_user='root', master_port=NODE_MYPORT_6, master_use_gtid=current_pos, ignore_server_ids=(12,13);;
+start slave;
+include/wait_for_slave_to_start.inc
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+
+select @@gtid_slave_pos;
+@@gtid_slave_pos
+
+change master to master_host='127.0.0.1', master_user='root', master_port=NODE_MYPORT_3, master_use_gtid=current_pos, ignore_server_ids=(22,23);;
+start slave;
+include/wait_for_slave_to_start.inc
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+
+select @@gtid_slave_pos;
+@@gtid_slave_pos
+
+cluster 1 node 1
+create table t1 (cluster_domain_id int ,node_server_id int, seq_no int);
+insert into t1 values (1, 11, 2);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2
+#wait for sync cluster 1 and 2
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 2 node 1
+insert into t1 values (2, 21, 1);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2,2-21-1
+select * from t1;
+cluster_domain_id node_server_id seq_no
+1 11 2
+2 21 1
+#wait for sync cluster 1 and 2
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 1 node 2
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2,2-21-1
+insert into t1 values (1, 12, 3);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2,1-12-3,2-21-1
+#wait for sync cluster 1 and 2
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 1 node 3
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-11-2,1-12-3,2-21-1
+insert into t1 values (1, 13, 4);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1
+#wait for sync cluster 1 and 2
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 2 node 2
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1
+insert into t1 values (2, 22, 2);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1,2-22-2
+#wait for sync cluster 2 and 1
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 2 node 3
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1,2-22-2
+insert into t1 values (2, 23, 3);
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1,2-22-2,2-23-3
+#wait for sync cluster 2 and 1
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+cluster 1 node 1
+select @@gtid_binlog_state;
+@@gtid_binlog_state
+1-12-3,1-11-2,1-13-4,2-21-1,2-22-2,2-23-3
+drop table t1;
+stop slave;
+change master to master_use_gtid=no, ignore_server_ids=();
+reset master;
+set global GTID_SLAVE_POS="";
+cluster 2 node 1
+stop slave;
+change master to master_use_gtid=no, ignore_server_ids=();
+reset master;
+set global GTID_SLAVE_POS="";
+reset master;
+reset master;
+reset master;
+reset master;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_innobackupex_backup.result b/mysql-test/suite/galera_3nodes/r/galera_innobackupex_backup.result
new file mode 100644
index 00000000000..85000db8e77
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_innobackupex_backup.result
@@ -0,0 +1,11 @@
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+SELECT COUNT(*) = 10 FROM t1;
+COUNT(*) = 10
+1
+Killing server ...
+INSERT INTO t1 VALUES (11),(12),(13),(14),(15),(16),(17),(18),(19),(20);
+SELECT COUNT(*) = 20 FROM t1;
+COUNT(*) = 20
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_ipv6_mariabackup.result b/mysql-test/suite/galera_3nodes/r/galera_ipv6_mariabackup.result
new file mode 100644
index 00000000000..53e35939a79
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_ipv6_mariabackup.result
@@ -0,0 +1,18 @@
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+VARIABLE_VALUE LIKE '%[::1]%'
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+include/assert_grep.inc [Streaming the backup to joiner at \[::1\]]
+include/assert_grep.inc [async IST sender starting to serve tcp://\[::1\]:]
+include/assert_grep.inc [IST receiver addr using tcp://\[::1\]]
+include/assert_grep.inc [Prepared IST receiver, listening at: tcp://\[::1\]]
diff --git a/mysql-test/suite/galera_3nodes/r/galera_ipv6_mariabackup_section.result b/mysql-test/suite/galera_3nodes/r/galera_ipv6_mariabackup_section.result
new file mode 100644
index 00000000000..53e35939a79
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_ipv6_mariabackup_section.result
@@ -0,0 +1,18 @@
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+VARIABLE_VALUE LIKE '%[::1]%'
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+include/assert_grep.inc [Streaming the backup to joiner at \[::1\]]
+include/assert_grep.inc [async IST sender starting to serve tcp://\[::1\]:]
+include/assert_grep.inc [IST receiver addr using tcp://\[::1\]]
+include/assert_grep.inc [Prepared IST receiver, listening at: tcp://\[::1\]]
diff --git a/mysql-test/suite/galera_3nodes/r/galera_ipv6_mysqldump.result b/mysql-test/suite/galera_3nodes/r/galera_ipv6_mysqldump.result
new file mode 100644
index 00000000000..1d9ae940cfb
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_ipv6_mysqldump.result
@@ -0,0 +1,29 @@
+call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to'");
+call mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
+CREATE USER 'sst';
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+SET GLOBAL wsrep_sst_auth = 'sst:';
+SET GLOBAL wsrep_sst_method = 'mysqldump';
+Shutting down server ...
+Cleaning var directory ...
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+Starting server ...
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+VARIABLE_VALUE LIKE '%[::1]%'
+1
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+DROP USER sst;
+CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found");
+CALL mtr.add_suppression("InnoDB: New log files created");
+CALL mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+CALL mtr.add_suppression("Can't open and lock time zone table");
+CALL mtr.add_suppression("Can't open and lock privilege tables");
+CALL mtr.add_suppression("Info table is not ready to be used");
+CALL mtr.add_suppression("Native table .* has the wrong structure");
+CALL mtr.add_suppression("Unsupported protocol downgrade: incremental data collection disabled. Expect abort");
diff --git a/mysql-test/suite/galera_3nodes/r/galera_ipv6_rsync.result b/mysql-test/suite/galera_3nodes/r/galera_ipv6_rsync.result
new file mode 100644
index 00000000000..a2bf5f4d98c
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_ipv6_rsync.result
@@ -0,0 +1,14 @@
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+VARIABLE_VALUE LIKE '%[::1]%'
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_ipv6_rsync_section.result b/mysql-test/suite/galera_3nodes/r/galera_ipv6_rsync_section.result
new file mode 100644
index 00000000000..a2bf5f4d98c
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_ipv6_rsync_section.result
@@ -0,0 +1,14 @@
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+VARIABLE_VALUE LIKE '%[::1]%'
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_ipv6_xtrabackup-v2.result b/mysql-test/suite/galera_3nodes/r/galera_ipv6_xtrabackup-v2.result
new file mode 100644
index 00000000000..53e35939a79
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_ipv6_xtrabackup-v2.result
@@ -0,0 +1,18 @@
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+VARIABLE_VALUE LIKE '%[::1]%'
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+DROP TABLE t1;
+include/assert_grep.inc [Streaming the backup to joiner at \[::1\]]
+include/assert_grep.inc [async IST sender starting to serve tcp://\[::1\]:]
+include/assert_grep.inc [IST receiver addr using tcp://\[::1\]]
+include/assert_grep.inc [Prepared IST receiver, listening at: tcp://\[::1\]]
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
new file mode 100644
index 00000000000..6c66bf4a891
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_ist_gcache_rollover.result
@@ -0,0 +1,46 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
+Unloading wsrep provider ...
+SET GLOBAL wsrep_provider = 'none';
+Unloading wsrep provider ...
+SET GLOBAL wsrep_provider = 'none';
+INSERT INTO t1 VALUES (11), (12), (13), (14), (15);
+INSERT INTO t1 VALUES (21), (22), (23), (24), (25);
+SET GLOBAL wsrep_provider_options = 'dbug=d,ist_sender_send_after_get_buffers';
+INSERT INTO t1 VALUES (31), (32), (33), (34), (35);
+SHOW STATUS LIKE 'wsrep_debug_sync_waiters';
+Variable_name Value
+wsrep_debug_sync_waiters ist_sender_send_after_get_buffers ist_sender_send_after_get_buffers
+INSERT INTO t1 VALUES (41), (42), (43), (44), (45);
+CREATE TABLE t2 (f1 LONGTEXT);
+INSERT INTO t2 VALUES (REPEAT('x', 512 * 1024));
+INSERT INTO t2 VALUES (REPEAT('x', 512 * 1024));
+INSERT INTO t2 VALUES (REPEAT('x', 512 * 1024));
+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);
+SELECT COUNT(*) = 30 FROM t1;
+COUNT(*) = 30
+1
+SELECT COUNT(*) = 3 FROM t2;
+COUNT(*) = 3
+1
+SELECT LENGTH(f1) = 512 * 1024 FROM t2;
+LENGTH(f1) = 512 * 1024
+1
+1
+1
+CALL mtr.add_suppression("WSREP: Unsupported protocol downgrade: incremental data collection disabled");
+SELECT COUNT(*) = 30 FROM t1;
+COUNT(*) = 30
+1
+SELECT COUNT(*) = 3 FROM t2;
+COUNT(*) = 3
+1
+SELECT LENGTH(f1) = 512 * 1024 FROM t2;
+LENGTH(f1) = 512 * 1024
+1
+1
+1
+CALL mtr.add_suppression("WSREP: Unsupported protocol downgrade: incremental data collection disabled");
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_parallel_apply_3nodes.result b/mysql-test/suite/galera_3nodes/r/galera_parallel_apply_3nodes.result
new file mode 100644
index 00000000000..ec97d392c0f
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_parallel_apply_3nodes.result
@@ -0,0 +1,13 @@
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_slave_threads = 2;
+UPDATE t1 SET f1 = f1 + 10;;
+UPDATE t1 SET f1 = f1 + 100;;
+SELECT f1 = 111 FROM t1;
+f1 = 111
+1
+SELECT COUNT(*) IN (1, 2) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE 'committed%';
+COUNT(*) IN (1, 2)
+1
+SET GLOBAL wsrep_slave_threads = 1;;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_pc_bootstrap.result b/mysql-test/suite/galera_3nodes/r/galera_pc_bootstrap.result
new file mode 100644
index 00000000000..69995acb982
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_pc_bootstrap.result
@@ -0,0 +1,26 @@
+CREATE TABLE t1 (f1 INTEGER);
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+SET SESSION wsrep_sync_wait = 0;
+SET GLOBAL wsrep_provider_options = 'pc.bootstrap=1';
+SHOW STATUS LIKE 'wsrep_cluster_size';
+Variable_name Value
+wsrep_cluster_size 1
+SHOW STATUS LIKE 'wsrep_cluster_status';
+Variable_name Value
+wsrep_cluster_status Primary
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_pc_weight.result b/mysql-test/suite/galera_3nodes/r/galera_pc_weight.result
new file mode 100644
index 00000000000..572982b76be
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_pc_weight.result
@@ -0,0 +1,151 @@
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+VARIABLE_VALUE = 3
+1
+SET GLOBAL wsrep_provider_options = 'pc.weight=3';
+SELECT VARIABLE_VALUE = 5 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+VARIABLE_VALUE = 5
+1
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+SET SESSION wsrep_sync_wait=0;
+SET SESSION wsrep_on=OFF;
+SET SESSION wsrep_on=ON;
+SHOW STATUS LIKE 'wsrep_cluster_size';
+Variable_name Value
+wsrep_cluster_size 2
+SHOW STATUS LIKE 'wsrep_cluster_weight';
+Variable_name Value
+wsrep_cluster_weight 0
+SHOW STATUS LIKE 'wsrep_cluster_status';
+Variable_name Value
+wsrep_cluster_status non-Primary
+SHOW STATUS LIKE 'wsrep_connected';
+Variable_name Value
+wsrep_connected ON
+SHOW STATUS LIKE 'wsrep_ready';
+Variable_name Value
+wsrep_ready OFF
+SHOW STATUS LIKE 'wsrep_local_state';
+Variable_name Value
+wsrep_local_state 0
+SHOW STATUS LIKE 'wsrep_local_state_comment';
+Variable_name Value
+wsrep_local_state_comment Initialized
+SET SESSION wsrep_sync_wait=0;
+SET SESSION wsrep_on=OFF;
+SET SESSION wsrep_on=ON;
+SHOW STATUS LIKE 'wsrep_cluster_size';
+Variable_name Value
+wsrep_cluster_size 2
+SHOW STATUS LIKE 'wsrep_cluster_weight';
+Variable_name Value
+wsrep_cluster_weight 0
+SHOW STATUS LIKE 'wsrep_cluster_status';
+Variable_name Value
+wsrep_cluster_status non-Primary
+SHOW STATUS LIKE 'wsrep_connected';
+Variable_name Value
+wsrep_connected ON
+SHOW STATUS LIKE 'wsrep_ready';
+Variable_name Value
+wsrep_ready OFF
+SHOW STATUS LIKE 'wsrep_local_state';
+Variable_name Value
+wsrep_local_state 0
+SHOW STATUS LIKE 'wsrep_local_state_comment';
+Variable_name Value
+wsrep_local_state_comment Initialized
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+VARIABLE_VALUE = 3
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+VARIABLE_VALUE = 4
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SET GLOBAL wsrep_provider_options = 'pc.weight=1';
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+VARIABLE_VALUE = 1
+1
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+VARIABLE_VALUE = 3
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+VARIABLE_VALUE = 4
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+VARIABLE_VALUE = 3
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+VARIABLE_VALUE = 4
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+VARIABLE_VALUE = 3
+1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+VARIABLE_VALUE = 3
+1
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+VARIABLE_VALUE = 'Primary'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+VARIABLE_VALUE = 'ON'
+1
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+VARIABLE_VALUE = 4
+1
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+VARIABLE_VALUE = 'Synced'
+1
+SET GLOBAL wsrep_provider_options = 'pc.weight=1';
+CALL mtr.add_suppression('WSREP: gcs_caused\\(\\) returned -1');
+CALL mtr.add_suppression('overriding reported weight for');
+CALL mtr.add_suppression('SYNC message from member');
+CALL mtr.add_suppression('user message in state LEAVING');
+CALL mtr.add_suppression('sending install message failed: (Transport endpoint is not connected|Socket is not connected)');
+CALL mtr.add_suppression('WSREP: user message in state LEAVING');
+CALL mtr.add_suppression('sending install message failed: (Transport endpoint is not connected|Socket is not connected)');
+CALL mtr.add_suppression('overriding reported weight for');
diff --git a/mysql-test/suite/galera_3nodes/r/galera_safe_to_bootstrap.result b/mysql-test/suite/galera_3nodes/r/galera_safe_to_bootstrap.result
new file mode 100644
index 00000000000..b346a2d6eb6
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_safe_to_bootstrap.result
@@ -0,0 +1,36 @@
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 1']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+include/assert_grep.inc [grastate.dat does not have 'safe_to_bootstrap: 0']
+SET SESSION wsrep_on = OFF;
+Killing server ...
+safe_to_bootstrap: 1
+safe_to_bootstrap: 0
+safe_to_bootstrap: 0
+CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
+CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node");
+CALL mtr.add_suppression("WSREP: wsrep::connect(.*) failed: 7");
+CALL mtr.add_suppression("Aborting");
+CALL mtr.add_suppression("WSREP: moving position backwards: [0-9]+ -> 0");
+CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
+CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
+CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node");
+CALL mtr.add_suppression("WSREP: wsrep::connect(.*) failed: 7");
+CALL mtr.add_suppression("Aborting");
+CALL mtr.add_suppression("WSREP: moving position backwards: [0-9]+ -> 0");
+CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_slave_options_do.result b/mysql-test/suite/galera_3nodes/r/galera_slave_options_do.result
new file mode 100644
index 00000000000..7185e92863d
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_slave_options_do.result
@@ -0,0 +1,28 @@
+CREATE DATABASE db1;
+CREATE DATABASE db2;
+CREATE TABLE db1.t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE db2.t2A (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE db2.t2B (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO db1.t1 VALUES (1);
+INSERT INTO db2.t2A VALUES (2);
+INSERT INTO db2.t2B VALUES (3);
+SELECT COUNT(*) = 0 FROM db1.t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM db2.t2A;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM db2.t2B;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM db1.t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM db2.t2A;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM db2.t2B;
+COUNT(*) = 1
+1
+DROP SCHEMA db1;
+DROP SCHEMA db2;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_slave_options_ignore.result b/mysql-test/suite/galera_3nodes/r/galera_slave_options_ignore.result
new file mode 100644
index 00000000000..7185e92863d
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_slave_options_ignore.result
@@ -0,0 +1,28 @@
+CREATE DATABASE db1;
+CREATE DATABASE db2;
+CREATE TABLE db1.t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE db2.t2A (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE db2.t2B (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO db1.t1 VALUES (1);
+INSERT INTO db2.t2A VALUES (2);
+INSERT INTO db2.t2B VALUES (3);
+SELECT COUNT(*) = 0 FROM db1.t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 0 FROM db2.t2A;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM db2.t2B;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 0 FROM db1.t1;
+COUNT(*) = 0
+1
+SELECT COUNT(*) = 1 FROM db2.t2A;
+COUNT(*) = 1
+1
+SELECT COUNT(*) = 1 FROM db2.t2B;
+COUNT(*) = 1
+1
+DROP SCHEMA db1;
+DROP SCHEMA db2;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_var_dirty_reads2.result b/mysql-test/suite/galera_3nodes/r/galera_var_dirty_reads2.result
new file mode 100644
index 00000000000..88780a2c87f
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_var_dirty_reads2.result
@@ -0,0 +1,48 @@
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+SET SESSION wsrep_sync_wait = 0;
+SET SESSION wsrep_dirty_reads = 1;
+SELECT f1 FROM t1;
+f1
+1
+USE test;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+LOCK TABLE t1 WRITE;
+UNLOCK TABLES;
+FLUSH TABLES WITH READ LOCK;
+UNLOCK TABLES;
+PREPARE stmt_select FROM 'SELECT f1 FROM t1';
+EXECUTE stmt_select;
+f1
+1
+PREPARE stmt_update FROM 'UPDATE t1 SET f1 = f1 + f1';
+SET GLOBAL wsrep_dirty_reads = 1;
+SET GLOBAL wsrep_sync_wait = 0;
+SET GLOBAL wsrep_dirty_reads = 0;
+SET GLOBAL wsrep_sync_wait = 15;
+SET SESSION wsrep_dirty_reads = 1;
+INSERT INTO t1 SELECT * FROM t1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+DELETE FROM t1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+UPDATE t1 SET f1 = f1 + 1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+DROP TABLE t1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+EXECUTE stmt_update;
+ERROR 08S01: WSREP has not yet prepared node for application use
+SET SESSION wsrep_dirty_reads = 0;
+SELECT * FROM t1;
+ERROR 08S01: WSREP has not yet prepared node for application use
+EXECUTE stmt_select;
+ERROR 08S01: WSREP has not yet prepared node for application use
+SELECT COUNT(*) > 0 FROM INFORMATION_SCHEMA.PROCESSLIST;
+COUNT(*) > 0
+1
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/suite.pm b/mysql-test/suite/galera_3nodes/suite.pm
new file mode 100644
index 00000000000..a7c1bf79c06
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/suite.pm
@@ -0,0 +1,94 @@
+package My::Suite::GALERA_3NODES;
+use File::Basename;
+use My::Find;
+
+@ISA = qw(My::Suite);
+
+return "Not run for embedded server" if $::opt_embedded_server;
+
+return "WSREP is not compiled in" unless defined $::mysqld_variables{'wsrep-on'};
+
+my ($provider) = grep { -f $_ } $ENV{WSREP_PROVIDER},
+ "/usr/lib64/galera-3/libgalera_smm.so",
+ "/usr/lib64/galera/libgalera_smm.so",
+ "/usr/lib/galera-3/libgalera_smm.so",
+ "/usr/lib/galera/libgalera_smm.so";
+
+return "No wsrep provider library" unless -f $provider;
+
+$ENV{WSREP_PROVIDER} = $provider;
+
+my ($spath) = grep { -f "$_/wsrep_sst_rsync"; } "$::bindir/scripts", $::path_client_bindir;
+return "No SST scripts" unless $spath;
+
+my ($cpath) = grep { -f "$_/mysql"; } "$::bindir/scripts", $::path_client_bindir;
+return "No scritps" unless $cpath;
+
+my ($epath) = grep { -f "$_/my_print_defaults"; } "$::bindir/extra", $::path_client_bindir;
+return "No my_print_defaults" unless $epath;
+
+my ($bpath) = grep { -f "$_/mariabackup"; } "$::bindir/extra/mariabackup", $::path_client_bindir;
+
+sub which($) { return `sh -c "command -v $_[0]"` }
+
+push @::global_suppressions,
+ (
+ qr(WSREP: wsrep_sst_receive_address is set to '127.0.0.1),
+ qr(WSREP: Could not open saved state file for reading: .*),
+ qr(WSREP: Could not open state file for reading: .*),
+ qr(WSREP: Gap in state sequence. Need state transfer.),
+ qr(WSREP: Failed to prepare for incremental state transfer:),
+ qr(WSREP:.*down context.*),
+ qr(WSREP: Failed to send state UUID:),
+ qr(WSREP: last inactive check more than .* skipping check),
+ qr(WSREP: SQL statement was ineffective),
+ qr(WSREP: Releasing seqno [0-9]* before [0-9]* was assigned.),
+ qr|WSREP: access file\(.*gvwstate.dat\) failed\(No such file or directory\)|,
+ qr(WSREP: Quorum: No node with complete state),
+ qr(WSREP: Initial position was provided by configuration or SST, avoiding override),
+ qr|WSREP: discarding established \(time wait\) .*|,
+ qr(WSREP: There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside. Will use that one.),
+ qr(WSREP: evs::proto.*),
+ qr|WSREP: Ignoring possible split-brain \(allowed by configuration\) from view:.*|,
+ qr(WSREP: no nodes coming from prim view, prim not possible),
+ qr(WSREP: Member .* requested state transfer from .* but it is impossible to select State Transfer donor: Resource temporarily unavailable),
+ qr(WSREP: user message in state LEAVING),
+ qr(WSREP: .* sending install message failed: Transport endpoint is not connected),
+ qr(WSREP: .* sending install message failed: Resource temporarily unavailable),
+ qr(WSREP: Sending JOIN failed: -107 \(Transport endpoint is not connected\). Will retry in new primary component.),
+ qr(WSREP: Could not find peer:),
+ qr|WSREP: gcs_caused\(\) returned .*|,
+ qr|WSREP: Protocol violation. JOIN message sender .* is not in state transfer \(SYNCED\). Message ignored.|,
+ qr|WSREP: Protocol violation. JOIN message sender .* is not in state transfer \(JOINED\). Message ignored.|,
+ qr(WSREP: Action message in non-primary configuration from member [0-9]*),
+ qr(WSREP: --wsrep-causal-reads=ON takes precedence over --wsrep-sync-wait=0. WSREP_SYNC_WAIT_BEFORE_READ is on),
+ qr(WSREP: JOIN message from member .* in non-primary configuration. Ignored.),
+ );
+
+
+$ENV{PATH}="$epath:$ENV{PATH}";
+$ENV{PATH}="$spath:$ENV{PATH}" unless $epath eq $spath;
+$ENV{PATH}="$cpath:$ENV{PATH}" unless $cpath eq $spath;
+$ENV{PATH}="$bpath:$ENV{PATH}" unless $bpath eq $spath;
+
+if (which(socat)) {
+ $ENV{MTR_GALERA_TFMT}='socat';
+} elsif (which(nc)) {
+ $ENV{MTR_GALERA_TFMT}='nc';
+}
+
+sub skip_combinations {
+ my %skip = ();
+ $skip{'include/have_filekeymanagement.inc'} = 'needs file_key_management plugin'
+ unless $ENV{FILE_KEY_MANAGEMENT_SO};
+ $skip{'suite/galera/include/have_mariabackup.inc'} = 'Need mariabackup'
+ unless which(mariabackup);
+ $skip{'suite/galera/include/have_mariabackup.inc'} = 'Need ss'
+ unless which(ss);
+ $skip{'suite/galera/include/have_mariabackup.inc'} = 'Need socat or nc'
+ unless $ENV{MTR_GALERA_TFMT};
+ %skip;
+}
+
+bless { };
+
diff --git a/mysql-test/suite/galera_3nodes/t/GAL-501.cnf b/mysql-test/suite/galera_3nodes/t/GAL-501.cnf
new file mode 100644
index 00000000000..7002cb5bdfd
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/GAL-501.cnf
@@ -0,0 +1,26 @@
+!include ../galera_3nodes.cnf
+
+[mysqld]
+wsrep_sst_method=rsync
+
+
+[mysqld.1]
+wsrep-cluster-address=gcomm://
+wsrep_node_address=[::1]
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]'
+wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.1.port'
+
+[mysqld.2]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_node_address=[::1]
+wsrep_provider_options='base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]'
+wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.2.port'
+
+[mysqld.3]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_node_address=[::1]
+wsrep_provider_options='base_port=@mysqld.3.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.3.#galera_port;ist.recv_addr=[::1]'
+wsrep_sst_receive_address='[::1]:@mysqld.3.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.3.port'
diff --git a/mysql-test/suite/galera_3nodes/t/GAL-501.opt b/mysql-test/suite/galera_3nodes/t/GAL-501.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/GAL-501.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/galera_3nodes/t/GAL-501.test b/mysql-test/suite/galera_3nodes/t/GAL-501.test
new file mode 100644
index 00000000000..a36f21630ac
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/GAL-501.test
@@ -0,0 +1,38 @@
+#
+# Test GAL-501 Improved URI parsing for IPv6 addresses
+# The .cnf file contains
+# wsrep_node_address=[::1]
+# ist.recv_addr=[::1]
+
+--source include/galera_cluster.inc
+--source include/check_ipv6.inc
+
+# Confirm that initial handshake happened over ipv6
+
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# Force IST
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+
+--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
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 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
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/t/galera_certification_ccc.test b/mysql-test/suite/galera_3nodes/t/galera_certification_ccc.test
new file mode 100644
index 00000000000..b4fe10bff0d
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_certification_ccc.test
@@ -0,0 +1,53 @@
+#
+# Test that a cluster configuration change during a transaction does not cause a failure
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $galera_connection_name = node_3
+--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_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+--connection node_3
+--let $wsrep_cluster_address_orig = `SELECT @@wsrep_cluster_address`
+SET GLOBAL wsrep_cluster_address = '';
+--sleep 5
+
+--connection node_1
+INSERT INTO t1 VALUES (2);
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+COMMIT;
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+
+--connection node_3
+--disable_query_log
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_orig';
+--enable_query_log
+--sleep 5
+--source include/wait_until_ready.inc
+
+--connection node_1
+DROP TABLE t1;
+
+# Restore original auto_increment_offset values.
+--source ../galera/include/auto_increment_offset_restore.inc
+
+--source include/galera_end.inc
+
diff --git a/mysql-test/suite/galera_3nodes/t/galera_certification_double_failure.test b/mysql-test/suite/galera_3nodes/t/galera_certification_double_failure.test
new file mode 100644
index 00000000000..a2ad0765028
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_certification_double_failure.test
@@ -0,0 +1,33 @@
+#
+# This test creates a transaction whose certification will fail on two separate nodes
+# for two different reasons.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $galera_connection_name = node_3
+--let $galera_server_number = 3
+--source include/galera_connect.inc
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+--connection node_2
+INSERT INTO t1 VALUES (1);
+
+--connection node_3
+INSERT INTO t2 VALUES (1);
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/galera_3nodes/t/galera_evs_suspect_timeout.test b/mysql-test/suite/galera_3nodes/t/galera_evs_suspect_timeout.test
new file mode 100644
index 00000000000..03236a3cb93
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_evs_suspect_timeout.test
@@ -0,0 +1,68 @@
+#
+# Test the operation of evs.suspect_timeout.
+#
+# We set evs.inactive_timeout to a very high value so that evs.suspect_timeout can kick in instead.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+--let $wsrep_provider_options_node1 = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S';
+
+--connection node_2
+--source include/wait_until_connected_again.inc
+--let $wsrep_provider_options_node2 = `SELECT @@wsrep_provider_options`
+SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S';
+
+--let $galera_connection_name = node_3
+--let $galera_server_number = 3
+--source include/galera_connect.inc
+--connection node_3
+--source include/wait_until_connected_again.inc
+--let $wsrep_cluster_address_node3 = `SELECT @@wsrep_cluster_address`
+
+# Suspend node #3
+
+--source include/galera_suspend.inc
+--sleep 5
+
+# Confirm that the other nodes have booted it out
+
+--connection node_1
+--source include/wait_until_connected_again.inc
+SET SESSION wsrep_sync_wait = 0;
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_node1';
+--enable_query_log
+
+--source include/wait_until_connected_again.inc
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET SESSION wsrep_sync_wait = 0;
+SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--disable_query_log
+--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_node2';
+--enable_query_log
+
+--source include/wait_until_connected_again.inc
+SET SESSION wsrep_sync_wait = DEFAULT;
+SELECT COUNT(*) = 1 FROM t1;
+DROP TABLE t1;
+
+# Reconnect node #3 so that MTR's end-of-test checks can run
+
+--connection node_3
+--source include/galera_resume.inc
+--source include/wait_until_connected_again.inc
+
+CALL mtr.add_suppression("WSREP: gcs_caused() returned -1 \\(Operation not permitted\\)");
+
+--disable_query_log
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_node3';
+--enable_query_log
+--source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_garbd.test b/mysql-test/suite/galera_3nodes/t/galera_garbd.test
new file mode 100644
index 00000000000..2d03e8897b9
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_garbd.test
@@ -0,0 +1,78 @@
+#
+# A very basic test for the galera arbitrator. We shut down node #3 and use its port allocation to start garbd.
+# As MTR does not allow multiple servers to be down at the same time, we are limited as to what we can test.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+--let $galera_connection_name = node_3
+--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
+
+--echo Killing node #3 to free ports for garbd ...
+--connection node_3
+--let $gp3 = `SELECT SUBSTR(@@wsrep_provider_options, LOCATE('base_port =', @@wsrep_provider_options) + LENGTH('base_port = '))`
+--let $galera_port_3 = `SELECT SUBSTR('$gp3', 1, LOCATE(';', '$gp3') - 1)`
+--source include/shutdown_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
+
+--echo Starting garbd ...
+--let $gp1 = `SELECT SUBSTR(@@wsrep_provider_options, LOCATE('base_port =', @@wsrep_provider_options) + LENGTH('base_port = '))`
+--let $galera_port_1 = `SELECT SUBSTR('$gp1', 1, LOCATE(';', '$gp1') - 1)`
+--exec `dirname $WSREP_PROVIDER`/../../bin/garb/garbd --address "gcomm://127.0.0.1:$galera_port_1" --group my_wsrep_cluster --options 'base_port=$galera_port_3' > $MYSQL_TMP_DIR/garbd.log 2>&1 &
+
+--sleep 5
+
+--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);
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SELECT COUNT(*) = 1 FROM t1;
+
+--echo Killing garbd ...
+--exec pkill --oldest --full garbd.*$galera_port_3
+
+--sleep 5
+
+--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
+
+INSERT INTO t1 VALUES (2);
+
+--connection node_2
+SELECT COUNT(*) = 2 FROM t1;
+
+DROP TABLE t1;
+
+--echo Restarting node #3 to satisfy MTR's end-of-test checks
+--connection node_3
+--source include/start_mysqld.inc
+
+# Restore original auto_increment_offset values.
+--source ../galera/include/auto_increment_offset_restore.inc
+
+# Workaround for galera#101
+
+--connection node_1
+CALL mtr.add_suppression("WSREP: Protocol violation\. JOIN message sender 1\.0 \(.*\) is not in state transfer \(SYNCED\)");
+
+--connection node_2
+CALL mtr.add_suppression("WSREP: Protocol violation\. JOIN message sender 1\.0 \(.*\) is not in state transfer \(SYNCED\)");
+
+--connection node_3
+CALL mtr.add_suppression("WSREP: Protocol violation\. JOIN message sender 1\.0 \(.*\) is not in state transfer \(SYNCED\)");
diff --git a/mysql-test/suite/galera_3nodes/t/galera_gtid_2_cluster.cnf b/mysql-test/suite/galera_3nodes/t/galera_gtid_2_cluster.cnf
new file mode 100644
index 00000000000..dc5535ef34a
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_gtid_2_cluster.cnf
@@ -0,0 +1,28 @@
+# We need a dedicated .cnf file, even if empty, in order to force this test to run
+# alone on a freshly started cluster. Otherwise there are adverse interactions with
+# following tests such as galera_3nodes.galera_var_dirty_reads2
+
+!include ../galera_2x3nodes.cnf
+[mysqld.1]
+wsrep_gtid_domain_id=1
+server-id=11
+
+[mysqld.2]
+wsrep_gtid_domain_id=1
+server-id=12
+
+[mysqld.3]
+wsrep_gtid_domain_id=1
+server-id=13
+
+[mysqld.4]
+wsrep_gtid_domain_id=2
+server-id=21
+
+[mysqld.5]
+wsrep_gtid_domain_id=2
+server-id=22
+
+[mysqld.6]
+wsrep_gtid_domain_id=2
+server-id=23
diff --git a/mysql-test/suite/galera_3nodes/t/galera_gtid_2_cluster.test b/mysql-test/suite/galera_3nodes/t/galera_gtid_2_cluster.test
new file mode 100644
index 00000000000..c679db1305d
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_gtid_2_cluster.test
@@ -0,0 +1,292 @@
+#
+# This test creates 2x 3 nodes galera cluster.
+# The whole test case
+# A <-> B <-> C {Galera cluster 1}
+# | {Circular Async replication}
+# D <-> E <-> F {Galera cluster 2}
+# We will write on any random node to see if gtid is consitent or not
+# Then we will kill node D and set up the replication between A and E
+# To see whether fail over works or not.
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+--echo cluster 1 node 1
+SHOW STATUS LIKE 'wsrep_cluster_size';
+
+--connection node_2
+--echo cluster 1 node 2
+SHOW STATUS LIKE 'wsrep_cluster_size';
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--connection node_3
+--echo cluster 1 node 3
+SHOW STATUS LIKE 'wsrep_cluster_size';
+
+--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
+--connection node_4
+--echo cluster 2 node 1
+SHOW STATUS LIKE 'wsrep_cluster_size';
+
+--connect node_5, 127.0.0.1, root, , test, $NODE_MYPORT_5
+--connection node_5
+--echo cluster 2 node 2
+SHOW STATUS LIKE 'wsrep_cluster_size';
+
+--connect node_6, 127.0.0.1, root, , test, $NODE_MYPORT_6
+--connection node_6
+--echo cluster 2 node 3
+SHOW STATUS LIKE 'wsrep_cluster_size';
+#--disable_parsing
+--connection node_1
+--replace_result $NODE_MYPORT_4 NODE_MYPORT_4
+--eval change master to master_host='127.0.0.1', master_user='root', master_port=$NODE_MYPORT_4, master_use_gtid=current_pos, ignore_server_ids=(12,13);
+start slave;
+--source include/wait_for_slave_to_start.inc
+select @@gtid_binlog_state;
+select @@gtid_slave_pos;
+#--query_vertical SHOW SLAVE STATUS;
+
+--connection node_4
+--replace_result $NODE_MYPORT_1 NODE_MYPORT_1
+--eval change master to master_host='127.0.0.1', master_user='root', master_port=$NODE_MYPORT_1, master_use_gtid=current_pos, ignore_server_ids=(22,23);
+start slave;
+--source include/wait_for_slave_to_start.inc
+select @@gtid_binlog_state;
+select @@gtid_slave_pos;
+#--query_vertical SHOW SLAVE STATUS;
+
+--echo cluster 1 node 1
+--connection node_1
+create table t1 (cluster_domain_id int ,node_server_id int, seq_no int);
+insert into t1 values (1, 11, 2);
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 1 and 2
+--connection node_1
+--source include/save_master_gtid.inc
+--connection node_4
+--source include/sync_with_master_gtid.inc
+
+--echo cluster 2 node 1
+--connection node_4
+select @@gtid_binlog_state;
+insert into t1 values (2, 21, 1);
+select @@gtid_binlog_state;
+select * from t1;
+--echo #wait for sync cluster 1 and 2
+--connection node_1
+--source include/save_master_gtid.inc
+--connection node_4
+--source include/sync_with_master_gtid.inc
+
+
+--echo cluster 1 node 2
+--connection node_2
+select @@gtid_binlog_state;
+insert into t1 values (1, 12, 3);
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 1 and 2
+--connection node_1
+--source include/save_master_gtid.inc
+--connection node_4
+--source include/sync_with_master_gtid.inc
+
+--echo cluster 1 node 3
+--connection node_3
+select @@gtid_binlog_state;
+insert into t1 values (1, 13, 4);
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 1 and 2
+--connection node_1
+--source include/save_master_gtid.inc
+--connection node_4
+--source include/sync_with_master_gtid.inc
+
+--echo cluster 2 node 2
+--connection node_5
+select @@gtid_binlog_state;
+insert into t1 values (2, 22, 2);
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 2 and 1
+--connection node_4
+--source include/save_master_gtid.inc
+--connection node_1
+--source include/sync_with_master_gtid.inc
+
+--echo cluster 2 node 3
+--connection node_6
+select @@gtid_binlog_state;
+insert into t1 values (2, 23, 3);
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 2 and 1
+--connection node_4
+--source include/save_master_gtid.inc
+--connection node_1
+--source include/sync_with_master_gtid.inc
+
+
+--echo cluster 1 node 1
+--connection node_1
+select @@gtid_binlog_state;
+drop table t1;
+stop slave;
+reset slave;
+change master to master_use_gtid=no, ignore_server_ids=();
+reset master;
+set global GTID_SLAVE_POS="";
+--sleep 2
+
+--echo cluster 2 node 1
+--connection node_4
+stop slave;
+reset slave;
+change master to master_use_gtid=no, ignore_server_ids=();
+reset master;
+set global GTID_SLAVE_POS="";
+
+--connection node_2
+reset master;
+--connection node_3
+reset master;
+--connection node_5
+reset master;
+--connection node_6
+reset master;
+#--enable_parsing
+#
+# This test creates 2x 3 nodes galera cluster.
+# The whole test case
+# A <-> B <-> C {Galera cluster 1}
+# \ /
+# \ /
+# / {C->D, F->A , Async normal slave repl}
+# / \
+# | \
+# D <-> E <-> F {Galera cluster 2}
+# We will write on any random node to see if gtid is consitent or not
+# Then we will kill node D and set up the replication between A and E
+# To see whether fail over works or not.
+--connection node_1
+--replace_result $NODE_MYPORT_6 NODE_MYPORT_6
+--eval change master to master_host='127.0.0.1', master_user='root', master_port=$NODE_MYPORT_6, master_use_gtid=current_pos, ignore_server_ids=(12,13);
+start slave;
+--source include/wait_for_slave_to_start.inc
+select @@gtid_binlog_state;
+select @@gtid_slave_pos;
+#--query_vertical SHOW SLAVE STATUS;
+
+--connection node_4
+--replace_result $NODE_MYPORT_3 NODE_MYPORT_3
+--eval change master to master_host='127.0.0.1', master_user='root', master_port=$NODE_MYPORT_3, master_use_gtid=current_pos, ignore_server_ids=(22,23);
+start slave;
+--source include/wait_for_slave_to_start.inc
+select @@gtid_binlog_state;
+select @@gtid_slave_pos;
+#--query_vertical SHOW SLAVE STATUS;
+
+--echo cluster 1 node 1
+--connection node_1
+create table t1 (cluster_domain_id int ,node_server_id int, seq_no int);
+insert into t1 values (1, 11, 2);
+
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 1 and 2
+--connection node_1
+--source include/save_master_gtid.inc
+--connection node_4
+--source include/sync_with_master_gtid.inc
+--sleep 2
+--echo cluster 2 node 1
+--connection node_4
+insert into t1 values (2, 21, 1);
+select @@gtid_binlog_state;
+select * from t1;
+
+--echo #wait for sync cluster 1 and 2
+--connection node_1
+--source include/save_master_gtid.inc
+--connection node_4
+--source include/sync_with_master_gtid.inc
+
+
+--echo cluster 1 node 2
+--connection node_2
+select @@gtid_binlog_state;
+insert into t1 values (1, 12, 3);
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 1 and 2
+--connection node_1
+--source include/save_master_gtid.inc
+--connection node_4
+--source include/sync_with_master_gtid.inc
+
+--echo cluster 1 node 3
+--connection node_3
+select @@gtid_binlog_state;
+insert into t1 values (1, 13, 4);
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 1 and 2
+--connection node_1
+--source include/save_master_gtid.inc
+--connection node_4
+--source include/sync_with_master_gtid.inc
+
+--echo cluster 2 node 2
+--connection node_5
+select @@gtid_binlog_state;
+insert into t1 values (2, 22, 2);
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 2 and 1
+--connection node_4
+--source include/save_master_gtid.inc
+--connection node_1
+--source include/sync_with_master_gtid.inc
+
+--echo cluster 2 node 3
+--connection node_6
+select @@gtid_binlog_state;
+insert into t1 values (2, 23, 3);
+select @@gtid_binlog_state;
+
+--echo #wait for sync cluster 2 and 1
+--connection node_4
+--source include/save_master_gtid.inc
+--connection node_1
+--source include/sync_with_master_gtid.inc
+
+
+--echo cluster 1 node 1
+--connection node_1
+select @@gtid_binlog_state;
+drop table t1;
+stop slave;
+change master to master_use_gtid=no, ignore_server_ids=();
+reset master;
+set global GTID_SLAVE_POS="";
+
+--echo cluster 2 node 1
+--connection node_4
+stop slave;
+change master to master_use_gtid=no, ignore_server_ids=();
+reset master;
+set global GTID_SLAVE_POS="";
+
+--connection node_2
+reset master;
+--connection node_3
+reset master;
+--connection node_5
+reset master;
+--connection node_6
+reset master;
diff --git a/mysql-test/suite/galera_3nodes/t/galera_innobackupex_backup.cnf b/mysql-test/suite/galera_3nodes/t/galera_innobackupex_backup.cnf
new file mode 100644
index 00000000000..35ecb8b5937
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_innobackupex_backup.cnf
@@ -0,0 +1,4 @@
+!include ../galera_3nodes.cnf
+
+[mysqld]
+wsrep-causal-reads=OFF
diff --git a/mysql-test/suite/galera_3nodes/t/galera_innobackupex_backup.test b/mysql-test/suite/galera_3nodes/t/galera_innobackupex_backup.test
new file mode 100644
index 00000000000..cd5c020ae38
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_innobackupex_backup.test
@@ -0,0 +1,80 @@
+#
+# This test uses innobackupex to take a backup on node #2 and then restores that node from backup
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source suite/galera/include/have_mariabackup.inc
+
+--let $galera_connection_name = node_3
+--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_1
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+--connection node_2
+SELECT COUNT(*) = 10 FROM t1;
+
+--exec rm -rf $MYSQL_TMP_DIR/innobackupex_backup
+--exec mariabackup --innobackupex --defaults-file=$MYSQLTEST_VARDIR/my.cnf --defaults-group=mysqld.2 --galera-info --port=$NODE_MYPORT_2 --host=127.0.0.1 --no-timestamp $MYSQL_TMP_DIR/innobackupex_backup &> $MYSQL_TMP_DIR/innobackupex-backup.log
+--exec mariabackup --innobackupex --defaults-file=$MYSQLTEST_VARDIR/my.cnf --defaults-group=mysqld.2 --apply-log --galera-info --port=$NODE_MYPORT_2 --host=127.0.0.1 --no-timestamp $MYSQL_TMP_DIR/innobackupex_backup &> $MYSQL_TMP_DIR/innobackupex-apply.log
+
+--source ../galera/include/kill_galera.inc
+--sleep 1
+
+--connection node_1
+INSERT INTO t1 VALUES (11),(12),(13),(14),(15),(16),(17),(18),(19),(20);
+
+--exec rm -rf $MYSQLTEST_VARDIR/mysqld.2/data/*
+--exec mariabackup --innobackupex --defaults-file=$MYSQLTEST_VARDIR/my.cnf --defaults-group=mysqld.2 --copy-back --port=$NODE_MYPORT_2 --host=127.0.0.1 $MYSQL_TMP_DIR/innobackupex_backup &> $MYSQL_TMP_DIR/innobackupex-restore.log
+
+#
+# Convert the xtrabackup_galera_info into a grastate.dat file
+#
+
+--perl
+ use strict;
+ my $xtrabackup_galera_info_file = $ENV{'MYSQL_TMP_DIR'}.'/innobackupex_backup/xtrabackup_galera_info';
+ open(XTRABACKUP_GALERA_INFO, $xtrabackup_galera_info_file) or die "Can not open $xtrabackup_galera_info_file: $!";
+ my $xtrabackup_galera_info = <XTRABACKUP_GALERA_INFO>;
+ my ($uuid, $seqno) = split(':', $xtrabackup_galera_info);
+
+ my $grastate_dat_file = $ENV{'MYSQLTEST_VARDIR'}.'/mysqld.2/data/grastate.dat';
+ die "grastate.dat already exists" if -e $grastate_dat_file;
+
+ open(GRASTATE_DAT, ">$grastate_dat_file") or die "Can not write to $grastate_dat_file: $!";
+ print GRASTATE_DAT "version: 2.1\n";
+ print GRASTATE_DAT "uuid: $uuid\n";
+ print GRASTATE_DAT "seqno: $seqno\n";
+ print GRASTATE_DAT "cert_index:\n";
+ exit(0);
+EOF
+
+--source include/start_mysqld.inc
+--sleep 5
+
+--source include/wait_until_connected_again.inc
+--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(*) = 20 FROM t1;
+
+DROP TABLE t1;
+
+--sleep 10
+
+--let $galera_connection_name = node_2a
+--let $galera_server_number = 2
+--source include/galera_connect.inc
+--let $node_2=node_2a
+
+# Restore original auto_increment_offset values.
+--source ../galera/include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.cnf b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.cnf
new file mode 100644
index 00000000000..5ac00fa056b
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.cnf
@@ -0,0 +1,29 @@
+!include ../galera_3nodes.cnf
+
+[mysqld]
+wsrep_sst_method=mariabackup
+wsrep_sst_auth="root:"
+wsrep_node_address=::1
+
+[mysqld.1]
+wsrep-cluster-address=gcomm://
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]:@mysqld.1.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.1.port'
+
+[mysqld.2]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]:@mysqld.2.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.2.port'
+
+[mysqld.3]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.3.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.3.#galera_port;ist.recv_addr=[::1]:@mysqld.3.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.3.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.3.port'
+
+[SST]
+transferfmt=@ENV.MTR_GALERA_TFMT
+streamfmt=xbstream
+sockopt=",pf=ip6"
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.opt b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.test b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.test
new file mode 100644
index 00000000000..84c33251c98
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.test
@@ -0,0 +1,59 @@
+--source include/galera_cluster.inc
+--source include/check_ipv6.inc
+--source suite/galera/include/have_mariabackup.inc
+
+# Confirm that initial handshake happened over ipv6
+
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# Force IST
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+
+--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
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 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
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
+
+# Confirm that key messages around SST and IST reference IPv6
+
+--connection node_1
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_only_after = CURRENT_TEST
+
+--let $assert_count = 2
+--let $assert_text = Streaming the backup to joiner at \[::1\]
+--let $assert_select = Streaming the backup to joiner at \[::1\]
+--source include/assert_grep.inc
+
+--let $assert_count = 1
+--let $assert_text = async IST sender starting to serve tcp://\[::1\]:
+--let $assert_select = async IST sender starting to serve tcp://\[::1\]:
+--source include/assert_grep.inc
+
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
+
+--let $assert_text = IST receiver addr using tcp://\[::1\]
+--let $assert_select = IST receiver addr using tcp://\[::1\]
+--source include/assert_grep.inc
+
+--let $assert_text = Prepared IST receiver, listening at: tcp://\[::1\]
+--let $assert_select = Prepared IST receiver, listening at: tcp://\[::1\]
+--source include/assert_grep.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.cnf b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.cnf
new file mode 100644
index 00000000000..dc294854056
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.cnf
@@ -0,0 +1,39 @@
+!include ../galera_3nodes.cnf
+
+# decoy value - should not be read by mysqld or sst scripts
+[mysqld]
+innodb-data-home-dir=/tmp
+
+[galera]
+innodb-data-home-dir=
+wsrep_sst_method=mariabackup
+wsrep_sst_auth="root:"
+wsrep_node_address=::1
+
+[galera.1]
+wsrep-cluster-address=gcomm://
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]:@mysqld.1.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.1.port'
+wsrep_node_name=node_1
+
+[galera.2]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]:@mysqld.2.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.2.port'
+wsrep_node_name=node_2
+wsrep_sst_donor=node_1
+
+[galera.3]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.3.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.3.#galera_port;ist.recv_addr=[::1]:@mysqld.3.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.3.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.3.port'
+wsrep_node_name=node_3
+wsrep_sst_donor=node_1
+
+[SST]
+transferfmt=@ENV.MTR_GALERA_TFMT
+streamfmt=xbstream
+sockopt=",pf=ip6"
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.opt b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.test b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.test
new file mode 100644
index 00000000000..95cd1a5bea5
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.test
@@ -0,0 +1,69 @@
+--source include/galera_cluster.inc
+--source include/check_ipv6.inc
+--source suite/galera/include/have_mariabackup.inc
+
+# Confirm that initial handshake happened over ipv6
+
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# Force IST
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+
+--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
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 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
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
+
+# Confirm that key messages around SST and IST reference IPv6
+
+--connection node_1
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_only_after = CURRENT_TEST
+
+# The SSTs happen when nodes are started first time
+--let $assert_count= 2
+--let $assert_text = Streaming the backup to joiner at \[::1\]
+--let $assert_select = Streaming the backup to joiner at \[::1\]
+--source include/assert_grep.inc
+
+# There will be 1 ISTs donated from node_1 in Galera 3.
+# Two first happen at the initial startup to populate the certification
+# index. The third one is from the IST which happens during the actual test.
+--let $assert_count= 1
+--let $assert_text = async IST sender starting to serve tcp://\[::1\]:
+--let $assert_select = async IST sender starting to serve tcp://\[::1\]:
+--source include/assert_grep.inc
+
+--connection node_2
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
+--let $assert_only_after = CURRENT_TEST
+
+# There is one ISTs on joiner at Galera 3.
+--let $assert_count= 1
+--let $assert_text = IST receiver addr using tcp://\[::1\]
+--let $assert_select = IST receiver addr using tcp://\[::1\]
+--source include/assert_grep.inc
+
+# There will be only one Prepared IST and in Galera 3 segnos are not printed
+--let $assert_count= 1
+--let $assert_text = Prepared IST receiver, listening at: tcp://\[::1\]
+--let $assert_select = Prepared IST receiver, listening at: tcp://\[::1\]
+--source include/assert_grep.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.cnf b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.cnf
new file mode 100644
index 00000000000..80dd0c41cc3
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.cnf
@@ -0,0 +1,26 @@
+!include ../galera_3nodes.cnf
+
+[mysqld]
+wsrep_sst_method=rsync
+wsrep_node_address=::1
+
+[mysqld.1]
+wsrep-cluster-address=gcomm://
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]:@mysqld.1.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.1.port'
+
+[mysqld.2]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]:@mysqld.2.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.2.port'
+
+[mysqld.3]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.3.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.3.#galera_port;ist.recv_addr=[::1]:@mysqld.3.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.3.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.3.port'
+
+[SST]
+sockopt=",pf=ip6"
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.opt b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.test b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.test
new file mode 100644
index 00000000000..4a6de8abb9c
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.test
@@ -0,0 +1,85 @@
+--source include/galera_cluster.inc
+--source include/check_ipv6.inc
+
+call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to'");
+call mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
+
+--let $galera_connection_name = node_3
+--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_1
+CREATE USER 'sst';
+GRANT ALL PRIVILEGES ON *.* TO 'sst';
+
+--let $wsrep_sst_auth_orig = `SELECT @@wsrep_sst_auth`
+SET GLOBAL wsrep_sst_auth = 'sst:';
+
+--connection node_2
+--source include/wait_until_connected_again.inc
+--let $wsrep_sst_method_orig = `SELECT @@wsrep_sst_method`
+--let $wsrep_sst_receive_address_orig = `SELECT @@wsrep_sst_receive_address`
+
+--disable_query_log
+--eval SET GLOBAL wsrep_sst_receive_address = '[::1]:$NODE_MYPORT_2';
+--enable_query_log
+SET GLOBAL wsrep_sst_method = 'mysqldump';
+
+#
+# Force mysqldump SST
+#
+
+#--connection node_2
+#--source suite/galera/include/galera_unload_provider.inc
+
+--echo Shutting down server ...
+--source include/shutdown_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
+
+--echo Cleaning var directory ...
+--remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/mtr
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/performance_schema
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/test
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/mysql
+--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--echo Starting server ...
+--let $start_mysqld_params = --wsrep_sst_auth=sst: --wsrep_sst_method=mysqldump --wsrep-sst-receive-address=[::1].1:$NODE_MYPORT_2
+--source include/start_mysqld.inc
+
+#--source suite/galera/include/galera_load_provider.inc
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 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
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
+
+# Confirm that initial handshake happened over ipv6
+
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+
+--source suite/galera/include/galera_sst_restore.inc
+--connection node_2
+CALL mtr.add_suppression("Unsupported protocol downgrade: incremental data collection disabled. Expect abort");
+
+# Restore original auto_increment_offset values.
+--source ../galera/include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.cnf b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.cnf
new file mode 100644
index 00000000000..80dd0c41cc3
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.cnf
@@ -0,0 +1,26 @@
+!include ../galera_3nodes.cnf
+
+[mysqld]
+wsrep_sst_method=rsync
+wsrep_node_address=::1
+
+[mysqld.1]
+wsrep-cluster-address=gcomm://
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]:@mysqld.1.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.1.port'
+
+[mysqld.2]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]:@mysqld.2.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.2.port'
+
+[mysqld.3]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.3.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.3.#galera_port;ist.recv_addr=[::1]:@mysqld.3.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.3.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.3.port'
+
+[SST]
+sockopt=",pf=ip6"
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.opt b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.test b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.test
new file mode 100644
index 00000000000..1937eb43e13
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.test
@@ -0,0 +1,32 @@
+--source include/galera_cluster.inc
+--source include/check_ipv6.inc
+
+# Confirm that initial handshake happened over ipv6
+
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# Force IST
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+
+--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
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 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
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.cnf b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.cnf
new file mode 100644
index 00000000000..7cac8e1451e
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.cnf
@@ -0,0 +1,31 @@
+!include ../galera_3nodes.cnf
+
+# decoy value - should not be read by mysqld or sst scripts
+[mysqld]
+innodb-data-home-dir=/tmp
+
+[mariadb]
+innodb-data-home-dir=
+wsrep_sst_method=rsync
+wsrep_node_address=::1
+
+[mariadb.1]
+wsrep-cluster-address=gcomm://
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]:@mysqld.1.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.1.port'
+
+[mariadb.2]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]:@mysqld.2.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.2.port'
+
+[mariadb.3]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.3.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.3.#galera_port;ist.recv_addr=[::1]:@mysqld.3.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.3.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.3.port'
+
+[SST]
+sockopt=",pf=ip6"
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.opt b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.test b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.test
new file mode 100644
index 00000000000..1937eb43e13
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.test
@@ -0,0 +1,32 @@
+--source include/galera_cluster.inc
+--source include/check_ipv6.inc
+
+# Confirm that initial handshake happened over ipv6
+
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# Force IST
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+
+--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
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 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
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.cnf b/mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.cnf
new file mode 100644
index 00000000000..78fbd793aa0
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.cnf
@@ -0,0 +1,29 @@
+!include ../galera_3nodes.cnf
+
+[mysqld]
+wsrep_sst_method=xtrabackup-v2
+wsrep_sst_auth="root:"
+wsrep_node_address=::1
+
+[mysqld.1]
+wsrep-cluster-address=gcomm://
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]:@mysqld.1.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.1.port'
+
+[mysqld.2]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]:@mysqld.2.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.2.port'
+
+[mysqld.3]
+wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
+wsrep_provider_options='base_host=[::1];base_port=@mysqld.3.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.3.#galera_port;ist.recv_addr=[::1]:@mysqld.3.#ist_port'
+wsrep_sst_receive_address='[::1]:@mysqld.3.#sst_port'
+wsrep_node_incoming_address='[::1]:@mysqld.3.port'
+
+[SST]
+transferfmt=@ENV.MTR_GALERA_TFMT
+streamfmt=xbstream
+sockopt=",pf=ip6"
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.opt b/mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.test b/mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.test
new file mode 100644
index 00000000000..fd7e0c50887
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_xtrabackup-v2.test
@@ -0,0 +1,58 @@
+--source include/galera_cluster.inc
+--source include/check_ipv6.inc
+
+# Confirm that initial handshake happened over ipv6
+
+SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+
+# Force IST
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+
+--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
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 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
+
+SELECT COUNT(*) = 1 FROM t1;
+
+DROP TABLE t1;
+
+# Confirm that key messages around SST and IST reference IPv6
+
+--connection node_1
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_only_after = CURRENT_TEST
+
+--let $assert_count = 2
+--let $assert_text = Streaming the backup to joiner at \[::1\]
+--let $assert_select = Streaming the backup to joiner at \[::1\]
+--source include/assert_grep.inc
+
+--let $assert_count = 1
+--let $assert_text = async IST sender starting to serve tcp://\[::1\]:
+--let $assert_select = async IST sender starting to serve tcp://\[::1\]:
+--source include/assert_grep.inc
+
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
+
+--let $assert_text = IST receiver addr using tcp://\[::1\]
+--let $assert_select = IST receiver addr using tcp://\[::1\]
+--source include/assert_grep.inc
+
+--let $assert_text = Prepared IST receiver, listening at: tcp://\[::1\]
+--let $assert_select = Prepared IST receiver, listening at: tcp://\[::1\]
+--source include/assert_grep.inc
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
new file mode 100644
index 00000000000..303087dffbb
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.cnf
@@ -0,0 +1,11 @@
+!include ../galera_3nodes.cnf
+
+[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'
+
+[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'
+
+[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'
+
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
new file mode 100644
index 00000000000..ebc756d60b1
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
@@ -0,0 +1,114 @@
+#
+# Test that if the gcache rolls over while IST is in progress, IST will still complete.
+# This is achieved by using the ist_sender_send_after_get_buffers Galera dbug sync point to block the donor after
+# the first gcache buffer has been locked for IST.
+#
+# After IST blocks, we roll over the gcache and resume IST to confirm that it completes successfully.
+#
+# Two nodes perform IST at the same time in order to make the test more stressfull
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source suite/galera/include/galera_have_debug_sync.inc
+
+--let $galera_connection_name = node_3
+--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_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
+
+# Disconnect nodes #2 and #3
+--connection node_2
+--source suite/galera/include/galera_unload_provider.inc
+
+--connection node_3
+--source suite/galera/include/galera_unload_provider.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
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+INSERT INTO t1 VALUES (21), (22), (23), (24), (25);
+
+# Make sure IST will block ...
+--let $galera_sync_point = ist_sender_send_after_get_buffers
+--source include/galera_set_sync_point.inc
+
+# ... and restart providers to force IST
+--connection node_2
+--disable_query_log
+--eval SET GLOBAL wsrep_provider = '$wsrep_provider_orig';
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_orig';
+--enable_query_log
+
+--connection node_1
+INSERT INTO t1 VALUES (31), (32), (33), (34), (35);
+
+--connection node_3
+--disable_query_log
+--eval SET GLOBAL wsrep_provider = '$wsrep_provider_orig';
+--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_orig';
+--enable_query_log
+
+--connection node_1
+--sleep 2
+SHOW STATUS LIKE 'wsrep_debug_sync_waiters';
+
+INSERT INTO t1 VALUES (41), (42), (43), (44), (45);
+
+# Roll over gcache by writing a lot of information to it
+
+CREATE TABLE t2 (f1 LONGTEXT);
+INSERT INTO t2 VALUES (REPEAT('x', 512 * 1024));
+INSERT INTO t2 VALUES (REPEAT('x', 512 * 1024));
+INSERT INTO t2 VALUES (REPEAT('x', 512 * 1024));
+
+# Unlock IST and wait for it to complete
+--source include/galera_clear_sync_point.inc
+--source include/galera_signal_sync_point.inc
+
+INSERT INTO t1 VALUES (51), (52), (53), (54), (55);
+
+--connection node_2
+--source include/wait_until_connected_again.inc
+
+--connection node_3
+--source include/wait_until_connected_again.inc
+
+sleep 5;
+
+# Final checks
+--connection node_2
+SELECT COUNT(*) = 30 FROM t1;
+SELECT COUNT(*) = 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;
+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 include/galera_end.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test b/mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test
new file mode 100644
index 00000000000..7d80d8036a1
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_parallel_apply_3nodes.test
@@ -0,0 +1,38 @@
+#
+# This test performs two dependent updates on two nodes and checks the results on the third where
+# parallel apply is enabled.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $galera_connection_name = node_3
+--let $galera_server_number = 3
+--source include/galera_connect.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_3
+--let $wsrep_slave_threads_orig = `SELECT @@wsrep_slave_threads`
+SET GLOBAL wsrep_slave_threads = 2;
+
+--connection node_1
+--send UPDATE t1 SET f1 = f1 + 10;
+
+--connection node_2
+--send UPDATE t1 SET f1 = f1 + 100;
+
+--connection node_1
+--reap
+
+--connection node_2
+--reap
+
+--connection node_3
+SELECT f1 = 111 FROM t1;
+SELECT COUNT(*) IN (1, 2) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE 'committed%';
+
+--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/t/galera_pc_bootstrap.cnf b/mysql-test/suite/galera_3nodes/t/galera_pc_bootstrap.cnf
new file mode 100644
index 00000000000..d560b675427
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_pc_bootstrap.cnf
@@ -0,0 +1,5 @@
+# We need a dedicated .cnf file, even if empty, in order to force this test to run
+# alone on a freshly started cluster. Otherwise there are adverse interactions with
+# prior tests such as galera_3nodes.galera_innobackupex_backup
+
+!include ../galera_3nodes.cnf
diff --git a/mysql-test/suite/galera_3nodes/t/galera_pc_bootstrap.test b/mysql-test/suite/galera_3nodes/t/galera_pc_bootstrap.test
new file mode 100644
index 00000000000..f8381a3324b
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_pc_bootstrap.test
@@ -0,0 +1,91 @@
+#
+# Test the operation of pc.bootstrap
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (f1 INTEGER);
+
+# Force all nodes to become non-primary
+--connection node_1
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+
+--connection node_2
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--connection node_3
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+
+--sleep 10
+
+# Node #2 should be non-primary
+SET SESSION wsrep_sync_wait = 0;
+--let $wait_condition = SELECT variable_value = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE variable_name = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+
+# Signal node #2 to bootstrap
+--connection node_2
+SET GLOBAL wsrep_provider_options = 'pc.bootstrap=1';
+
+# Wait until node becomes available for queries again
+--source include/wait_until_connected_again.inc
+
+# Node #2 should now be a primary of a 1-node cluster
+
+SHOW STATUS LIKE 'wsrep_cluster_size';
+SHOW STATUS LIKE 'wsrep_cluster_status';
+
+# Perform an insert on node #2
+INSERT INTO t1 VALUES (1);
+
+# Reconnect all nodes
+--connection node_2
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+--sleep 10
+--source include/wait_until_connected_again.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
+--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_1
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+--source include/wait_until_connected_again.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
+--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
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+--sleep 10
+--source include/wait_until_connected_again.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
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
+
+# Check that all nodes have the same view of the database
+
+--connection node_1
+SELECT COUNT(*) FROM t1;
+
+--connection node_2
+SELECT COUNT(*) FROM t1;
+
+--connection node_3
+SELECT COUNT(*) FROM t1;
+
+# Test cleanup
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/t/galera_pc_weight.cnf b/mysql-test/suite/galera_3nodes/t/galera_pc_weight.cnf
new file mode 100644
index 00000000000..57026ce6928
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_pc_weight.cnf
@@ -0,0 +1,5 @@
+# We need a dedicated .cnf file, even if empty, in order to force this test to run
+# alone on a freshly started cluster. Otherwise there are adverse interactions with
+# following tests such as galera_3nodes.galera_var_dirty_reads2
+
+!include ../galera_3nodes.cnf
diff --git a/mysql-test/suite/galera_3nodes/t/galera_pc_weight.test b/mysql-test/suite/galera_3nodes/t/galera_pc_weight.test
new file mode 100644
index 00000000000..0a94e7cd85d
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_pc_weight.test
@@ -0,0 +1,132 @@
+#
+# Test the pc.weight wsrep provider option. We set Node #1 to have a high weight and then
+# suspend it. This will cause Nodes #2 and #3 to transition to non-primary component.
+#
+
+--source include/big_test.inc
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+SET GLOBAL wsrep_provider_options = 'pc.weight=3';
+SELECT VARIABLE_VALUE = 5 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+
+# Isolate node_1 from the cluster.
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
+
+--connection node_2
+# Do not wait for causality as we are no longer in the primary component
+SET SESSION wsrep_sync_wait=0;
+SET SESSION wsrep_on=OFF;
+--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'
+--source include/wait_condition.inc
+SET SESSION wsrep_on=ON;
+
+# We can not use SELECT queries here, as only SHOW is allowed to run.
+# For nodes #2 and #3, we expect a non-primary component of size 2
+# and cluster weight 0
+SHOW STATUS LIKE 'wsrep_cluster_size';
+SHOW STATUS LIKE 'wsrep_cluster_weight';
+SHOW STATUS LIKE 'wsrep_cluster_status';
+SHOW STATUS LIKE 'wsrep_connected';
+SHOW STATUS LIKE 'wsrep_ready';
+SHOW STATUS LIKE 'wsrep_local_state';
+SHOW STATUS LIKE 'wsrep_local_state_comment';
+
+--let $galera_connection_name = node_3
+--let $galera_server_number = 3
+--source include/galera_connect.inc
+--connection node_3
+SET SESSION wsrep_sync_wait=0;
+SET SESSION wsrep_on=OFF;
+--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'
+--source include/wait_condition.inc
+SET SESSION wsrep_on=ON;
+
+SHOW STATUS LIKE 'wsrep_cluster_size';
+SHOW STATUS LIKE 'wsrep_cluster_weight';
+SHOW STATUS LIKE 'wsrep_cluster_status';
+SHOW STATUS LIKE 'wsrep_connected';
+SHOW STATUS LIKE 'wsrep_ready';
+SHOW STATUS LIKE 'wsrep_local_state';
+SHOW STATUS LIKE 'wsrep_local_state_comment';
+
+--connection node_1
+
+# For Node #1, we expect a primary component of size 1
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+
+SET GLOBAL wsrep_provider_options = 'pc.weight=1';
+SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+
+# Resume cluster connectivity on node_1
+--connection node_1
+SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
+--source include/wait_condition.inc
+
+--connection node_2
+--source include/wait_condition.inc
+
+--connection node_3
+--source include/wait_condition.inc
+
+--connection node_1
+--source include/wait_condition.inc
+
+# On all nodes, we now expect a Primary component of size 3, weight 3, Synced and ready
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+
+--connection node_2
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+
+--connection node_3
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_weight';
+SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_connected';
+SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
+SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
+SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
+
+--connection node_1
+
+SET GLOBAL wsrep_provider_options = 'pc.weight=1';
+--let $wait_condition = SELECT @@wsrep_provider_options LIKE '%pc.weight = 1%'
+--source include/wait_condition.inc
+
+CALL mtr.add_suppression('WSREP: gcs_caused\\(\\) returned -1');
+
+--connection node_2
+CALL mtr.add_suppression('overriding reported weight for');
+CALL mtr.add_suppression('SYNC message from member');
+CALL mtr.add_suppression('user message in state LEAVING');
+CALL mtr.add_suppression('sending install message failed: (Transport endpoint is not connected|Socket is not connected)');
+
+--connection node_3
+CALL mtr.add_suppression('WSREP: user message in state LEAVING');
+CALL mtr.add_suppression('sending install message failed: (Transport endpoint is not connected|Socket is not connected)');
+CALL mtr.add_suppression('overriding reported weight for');
diff --git a/mysql-test/suite/galera_3nodes/t/galera_safe_to_bootstrap.test b/mysql-test/suite/galera_3nodes/t/galera_safe_to_bootstrap.test
new file mode 100644
index 00000000000..b7b6c66e5ad
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_safe_to_bootstrap.test
@@ -0,0 +1,185 @@
+#
+# Test the safe_to_bootstrap in grastate.dat
+#
+--source include/galera_cluster.inc
+
+--let $galera_connection_name = node_3
+--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_1
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+
+#
+# At start, all grastate.dat files have safe_to_boostrap: 0
+#
+
+--let $assert_text= grastate.dat does not have 'safe_to_bootstrap: 0'
+--let $assert_select= safe_to_bootstrap: 0
+--let $assert_count= 1
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat
+--source include/assert_grep.inc
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
+--source include/assert_grep.inc
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.3/data/grastate.dat
+--source include/assert_grep.inc
+
+#
+# Shut down one node
+#
+
+--connection node_2
+--source include/shutdown_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
+
+# Still, all grastate.dat files should have safe_to_boostrap: 0
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat
+--source include/assert_grep.inc
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
+--source include/assert_grep.inc
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.3/data/grastate.dat
+--source include/assert_grep.inc
+
+#
+# Shut down one more node
+#
+--connection node_3
+--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
+
+# Now, nodes 2,3 should have safe_to_boostrap: 0
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
+--source include/assert_grep.inc
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.3/data/grastate.dat
+--source include/assert_grep.inc
+
+# But node #1 should have safe_to_boostrap: 1
+
+--let $assert_text= grastate.dat does not have 'safe_to_bootstrap: 1'
+--let $assert_select= safe_to_bootstrap: 1
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat
+--source include/assert_grep.inc
+
+# Restart one node
+
+--connection node_2
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--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
+
+# All nodes should be back to 'safe_to_bootstrap: 0'
+
+--let $assert_text= grastate.dat does not have 'safe_to_bootstrap: 0'
+--let $assert_select= safe_to_bootstrap: 0
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat
+--source include/assert_grep.inc
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
+--source include/assert_grep.inc
+
+--let $assert_file= $MYSQLTEST_VARDIR/mysqld.3/data/grastate.dat
+--source include/assert_grep.inc
+
+#
+# Kill the cluster
+#
+
+--connection node_2
+--source include/shutdown_mysqld.inc
+
+--connection node_1
+SET SESSION wsrep_on = OFF;
+--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
+
+--source ../galera/include/kill_galera.inc
+
+#
+# Only node #1 should have safe_to_bootstrap: 1
+# include/assert_grep.inc requires a running server, so we revert to simple grep
+#
+
+--error 0
+--exec grep 'safe_to_bootstrap: 1' $MYSQLTEST_VARDIR/mysqld.1/data/grastate.dat
+
+--error 0
+--exec grep 'safe_to_bootstrap: 0' $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
+
+--error 0
+--exec grep 'safe_to_bootstrap: 0' $MYSQLTEST_VARDIR/mysqld.3/data/grastate.dat
+
+#
+# Attempt to bootstrap nodes #2, #3, should fail
+#
+
+--error 1
+--exec $MYSQLD --defaults-group-suffix=.2 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --wsrep-new-cluster --wsrep-cluster-address='gcomm://' | grep 'This node is not safe to bootstrap the cluster'
+--error 1
+--exec $MYSQLD --defaults-group-suffix=.3 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --wsrep-new-cluster --wsrep-cluster-address='gcomm://' | grep 'This node is not safe to bootstrap the cluster'
+
+#
+# Attempt to bootstrap starting from node #1, should succeed
+#
+
+--connection node_1
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--source include/start_mysqld.inc
+--source include/wait_until_connected_again.inc
+
+--connection node_2
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+--source include/start_mysqld.inc
+
+--connection node_3
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.3.expect
+--source include/start_mysqld.inc
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
+
+--connection node_2
+CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
+CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node");
+CALL mtr.add_suppression("WSREP: wsrep::connect(.*) failed: 7");
+CALL mtr.add_suppression("Aborting");
+CALL mtr.add_suppression("WSREP: moving position backwards: [0-9]+ -> 0");
+CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
+
+--connection node_3
+CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
+CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node");
+CALL mtr.add_suppression("WSREP: wsrep::connect(.*) failed: 7");
+CALL mtr.add_suppression("Aborting");
+CALL mtr.add_suppression("WSREP: moving position backwards: [0-9]+ -> 0");
+CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+# Restore original auto_increment_offset values.
+--source ../galera/include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_slave_options_do.cnf b/mysql-test/suite/galera_3nodes/t/galera_slave_options_do.cnf
new file mode 100644
index 00000000000..1ebde6186c1
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_slave_options_do.cnf
@@ -0,0 +1,7 @@
+!include ../galera_3nodes.cnf
+
+[mysqld.1]
+binlog-do-db=db2
+
+[mysqld.2]
+replicate-wild-do-table=db2.t2B
diff --git a/mysql-test/suite/galera_3nodes/t/galera_slave_options_do.test b/mysql-test/suite/galera_3nodes/t/galera_slave_options_do.test
new file mode 100644
index 00000000000..1437c90c670
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_slave_options_do.test
@@ -0,0 +1,34 @@
+#
+# This tests checks the operation of binlog-do-db , replicate-wild-do-table
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE DATABASE db1;
+CREATE DATABASE db2;
+
+CREATE TABLE db1.t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE db2.t2A (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE db2.t2B (f1 INTEGER) ENGINE=InnoDB;
+
+INSERT INTO db1.t1 VALUES (1);
+INSERT INTO db2.t2A VALUES (2);
+INSERT INTO db2.t2B VALUES (3);
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM db1.t1;
+SELECT COUNT(*) = 0 FROM db2.t2A;
+SELECT COUNT(*) = 1 FROM db2.t2B;
+
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--connection node_3
+SELECT COUNT(*) = 0 FROM db1.t1;
+SELECT COUNT(*) = 1 FROM db2.t2A;
+SELECT COUNT(*) = 1 FROM db2.t2B;
+
+--connection node_1
+DROP SCHEMA db1;
+DROP SCHEMA db2;
diff --git a/mysql-test/suite/galera_3nodes/t/galera_slave_options_ignore.cnf b/mysql-test/suite/galera_3nodes/t/galera_slave_options_ignore.cnf
new file mode 100644
index 00000000000..9b78d47e254
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_slave_options_ignore.cnf
@@ -0,0 +1,7 @@
+!include ../galera_3nodes.cnf
+
+[mysqld.1]
+binlog-ignore-db=db1
+
+[mysqld.2]
+replicate-wild-ignore-table=db2.t2A
diff --git a/mysql-test/suite/galera_3nodes/t/galera_slave_options_ignore.test b/mysql-test/suite/galera_3nodes/t/galera_slave_options_ignore.test
new file mode 100644
index 00000000000..3e8b1557e7b
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_slave_options_ignore.test
@@ -0,0 +1,34 @@
+#
+# This tests checks the operation of binlog-ignore-db , replicate-wild-ignore-table
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--connection node_1
+CREATE DATABASE db1;
+CREATE DATABASE db2;
+
+CREATE TABLE db1.t1 (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE db2.t2A (f1 INTEGER) ENGINE=InnoDB;
+CREATE TABLE db2.t2B (f1 INTEGER) ENGINE=InnoDB;
+
+INSERT INTO db1.t1 VALUES (1);
+INSERT INTO db2.t2A VALUES (2);
+INSERT INTO db2.t2B VALUES (3);
+
+--connection node_2
+SELECT COUNT(*) = 0 FROM db1.t1;
+SELECT COUNT(*) = 0 FROM db2.t2A;
+SELECT COUNT(*) = 1 FROM db2.t2B;
+
+
+--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
+--connection node_3
+SELECT COUNT(*) = 0 FROM db1.t1;
+SELECT COUNT(*) = 1 FROM db2.t2A;
+SELECT COUNT(*) = 1 FROM db2.t2B;
+
+--connection node_1
+DROP SCHEMA db1;
+DROP SCHEMA db2;
diff --git a/mysql-test/suite/galera_3nodes/t/galera_var_dirty_reads2.test b/mysql-test/suite/galera_3nodes/t/galera_var_dirty_reads2.test
new file mode 100644
index 00000000000..e3f94a012b8
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_var_dirty_reads2.test
@@ -0,0 +1,126 @@
+#
+# Additional tests for wsrep_dirty_reads
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+--let $galera_connection_name = node_3
+--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_1
+CREATE TABLE t1 (f1 INTEGER);
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
+
+--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
+SET SESSION wsrep_sync_wait = 0;
+
+--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+
+SET SESSION wsrep_dirty_reads = 1;
+
+# Those statements should succeed
+
+--error 0
+SELECT f1 FROM t1;
+
+--error 0
+USE test;
+
+--error 0
+SHOW CREATE TABLE t1;
+
+--error 0
+LOCK TABLE t1 WRITE;
+
+--error 0
+UNLOCK TABLES;
+
+--error 0
+FLUSH TABLES WITH READ LOCK;
+
+--error 0
+UNLOCK TABLES;
+
+--error 0
+PREPARE stmt_select FROM 'SELECT f1 FROM t1';
+
+--error 0
+EXECUTE stmt_select;
+
+--error 0
+PREPARE stmt_update FROM 'UPDATE t1 SET f1 = f1 + f1';
+
+# Mysqldump should succeed
+
+SET GLOBAL wsrep_dirty_reads = 1;
+SET GLOBAL wsrep_sync_wait = 0;
+--error 0
+--exec $MYSQL_DUMP -u root -S $NODE_MYSOCK_2 test >/dev/null
+SET GLOBAL wsrep_dirty_reads = 0;
+SET GLOBAL wsrep_sync_wait = 15;
+
+# Those statements should fail
+
+SET SESSION wsrep_dirty_reads = 1;
+
+--error ER_UNKNOWN_COM_ERROR
+INSERT INTO t1 SELECT * FROM t1;
+
+--error ER_UNKNOWN_COM_ERROR
+DELETE FROM t1;
+
+--error ER_UNKNOWN_COM_ERROR
+UPDATE t1 SET f1 = f1 + 1;
+
+--error ER_UNKNOWN_COM_ERROR
+DROP TABLE t1;
+
+--error ER_UNKNOWN_COM_ERROR
+EXECUTE stmt_update;
+
+# With wsrep_dirty_reads = 0 , even SELECTS are not allowed
+
+SET SESSION wsrep_dirty_reads = 0;
+
+--error ER_UNKNOWN_COM_ERROR
+SELECT * FROM t1;
+
+--error ER_UNKNOWN_COM_ERROR
+EXECUTE stmt_select;
+
+# But reads from INFORMATION_SCHEMA are allowed
+
+--error 0
+SELECT COUNT(*) > 0 FROM INFORMATION_SCHEMA.PROCESSLIST;
+
+# Restore cluster
+SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
+
+--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
+
+--connection node_2
+--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
+--source include/wait_condition.inc
+
+DROP TABLE t1;
+
+# Restore original auto_increment_offset values.
+--source ../galera/include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/handler/aria.result b/mysql-test/suite/handler/aria.result
index 77246a77a10..e0b98bd36a0 100644
--- a/mysql-test/suite/handler/aria.result
+++ b/mysql-test/suite/handler/aria.result
@@ -582,11 +582,11 @@ select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1 (a int not null) ENGINE=csv;
--> client 2
handler t1 open;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine CSV of the table `test`.`t1` doesn't have this option
--> client 1
drop table t1;
create table t1 (a int);
@@ -741,7 +741,7 @@ ERROR HY000: Can't execute the given command because you have active locked tabl
handler t2 close;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
handler t3 open;
-ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+ERROR HY000: Can't reopen table: 't3'
# After UNLOCK TABLES handlers should be around and
# we should be able to continue reading through them.
unlock tables;
diff --git a/mysql-test/suite/handler/handler.inc b/mysql-test/suite/handler/handler.inc
index bfc21a3b2c3..25c72965c0b 100644
--- a/mysql-test/suite/handler/handler.inc
+++ b/mysql-test/suite/handler/handler.inc
@@ -583,7 +583,7 @@ handler t1 open;
handler t1 read next;
--error ER_LOCK_OR_ACTIVE_TRANSACTION
handler t2 close;
---error ER_LOCK_OR_ACTIVE_TRANSACTION
+--error ER_CANT_REOPEN_TABLE
handler t3 open;
--echo # After UNLOCK TABLES handlers should be around and
--echo # we should be able to continue reading through them.
diff --git a/mysql-test/suite/handler/heap.result b/mysql-test/suite/handler/heap.result
index 60755edc0cd..527986edb5c 100644
--- a/mysql-test/suite/handler/heap.result
+++ b/mysql-test/suite/handler/heap.result
@@ -582,11 +582,11 @@ select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1 (a int not null) ENGINE=csv;
--> client 2
handler t1 open;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine CSV of the table `test`.`t1` doesn't have this option
--> client 1
drop table t1;
create table t1 (a int);
@@ -741,7 +741,7 @@ ERROR HY000: Can't execute the given command because you have active locked tabl
handler t2 close;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
handler t3 open;
-ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+ERROR HY000: Can't reopen table: 't3'
# After UNLOCK TABLES handlers should be around and
# we should be able to continue reading through them.
unlock tables;
@@ -1733,9 +1733,9 @@ a b
4 40
5 50
HANDLER t1 READ a FIRST;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine MEMORY of the table `test`.`t1` doesn't have this option
HANDLER t1 READ a LAST;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine MEMORY of the table `test`.`t1` doesn't have this option
HANDLER t1 READ b FIRST LIMIT 2;
a b
1 10
@@ -1786,11 +1786,11 @@ create table t1 (f1 integer not null, key (f1)) engine=Memory;
insert into t1 values (1);
HANDLER t1 OPEN;
HANDLER t1 READ f1 NEXT;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine MEMORY of the table `test`.`t1` doesn't have this option
HANDLER t1 READ f1 NEXT;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine MEMORY of the table `test`.`t1` doesn't have this option
HANDLER t1 READ f1 NEXT;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine MEMORY of the table `test`.`t1` doesn't have this option
HANDLER t1 CLOSE;
DROP TABLE t1;
End of 5.3 tests
diff --git a/mysql-test/suite/handler/innodb.result b/mysql-test/suite/handler/innodb.result
index 940484a34e7..617b74ca714 100644
--- a/mysql-test/suite/handler/innodb.result
+++ b/mysql-test/suite/handler/innodb.result
@@ -543,7 +543,6 @@ optimize table t1;
proceed with the normal connection
handler t1 read next;
c1
-1
handler t1 close;
read the result from the other connection
Table Op Msg_type Msg_text
@@ -583,11 +582,11 @@ select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1 (a int not null) ENGINE=csv;
--> client 2
handler t1 open;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine CSV of the table `test`.`t1` doesn't have this option
--> client 1
drop table t1;
create table t1 (a int);
@@ -743,7 +742,7 @@ ERROR HY000: Can't execute the given command because you have active locked tabl
handler t2 close;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
handler t3 open;
-ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+ERROR HY000: Can't reopen table: 't3'
# After UNLOCK TABLES handlers should be around and
# we should be able to continue reading through them.
unlock tables;
diff --git a/mysql-test/suite/handler/innodb.test b/mysql-test/suite/handler/innodb.test
index 6527c4bb8bb..d752da7dc31 100644
--- a/mysql-test/suite/handler/innodb.test
+++ b/mysql-test/suite/handler/innodb.test
@@ -9,6 +9,11 @@
# rename t/innodb_handler.test to t/handler_innodb.test
#
+if (`select plugin_auth_version < "5.6.15" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB before 5.6.15
+}
+
--source include/have_innodb.inc
let $engine_type= InnoDB;
diff --git a/mysql-test/suite/handler/myisam.result b/mysql-test/suite/handler/myisam.result
index 59183b757c9..9081722d866 100644
--- a/mysql-test/suite/handler/myisam.result
+++ b/mysql-test/suite/handler/myisam.result
@@ -582,11 +582,11 @@ select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1 (a int not null) ENGINE=csv;
--> client 2
handler t1 open;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: Storage engine CSV of the table `test`.`t1` doesn't have this option
--> client 1
drop table t1;
create table t1 (a int);
@@ -741,7 +741,7 @@ ERROR HY000: Can't execute the given command because you have active locked tabl
handler t2 close;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
handler t3 open;
-ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+ERROR HY000: Can't reopen table: 't3'
# After UNLOCK TABLES handlers should be around and
# we should be able to continue reading through them.
unlock tables;
@@ -1808,4 +1808,90 @@ a b
4 40
HANDLER t1 CLOSE;
DROP TABLE t1;
+#
+# Additional coverage for refactoring which is made as part
+# of fix for bug #27480 "Extend CREATE TEMPORARY TABLES privilege
+# to allow temp table operations".
+#
+# Check that DDL on temporary table properly closes HANDLER cursors
+# for this table belonging to the same connection.
+CREATE TEMPORARY TABLE t1 AS SELECT 1 AS f1;
+# -- CREATE TABLE
+HANDLER t1 OPEN;
+CREATE TEMPORARY TABLE IF NOT EXISTS t1 SELECT 1 AS f1;
+Warnings:
+Note 1050 Table 't1' already exists
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- REPAIR TABLE
+HANDLER t1 OPEN;
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- ANALYZE TABLE
+HANDLER t1 OPEN;
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- OPTIMIZE TABLE
+HANDLER t1 OPEN;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- CHECK TABLE
+HANDLER t1 OPEN;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- ALTER TABLE
+HANDLER t1 OPEN;
+ALTER TABLE t1 ADD COLUMN b INT;
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- CREATE INDEX
+HANDLER t1 OPEN;
+CREATE INDEX b ON t1 (b);
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- DROP INDEX
+HANDLER t1 OPEN;
+DROP INDEX b ON t1;
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- TRUNCATE TABLE
+HANDLER t1 OPEN;
+TRUNCATE TABLE t1;
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- DROP TABLE
+HANDLER t1 OPEN;
+DROP TABLE t1;
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+CREATE TEMPORARY TABLE t1(a INT, b INT, INDEX i(a));
+set global keycache1.key_cache_block_size=2048;
+set global keycache1.key_buffer_size=1*1024*1024;
+set global keycache1.key_buffer_size=1024*1024;
+# -- CACHE INDEX
+HANDLER t1 OPEN;
+CACHE INDEX t1 IN keycache1;
+Table Op Msg_type Msg_text
+test.t1 assign_to_keycache status OK
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# -- LOAD INDEX
+HANDLER t1 OPEN;
+LOAD INDEX INTO CACHE t1;
+Table Op Msg_type Msg_text
+test.t1 preload_keys status OK
+HANDLER t1 READ FIRST;
+ERROR 42S02: Unknown table 't1' in HANDLER
End of 5.1 tests
diff --git a/mysql-test/suite/handler/myisam.test b/mysql-test/suite/handler/myisam.test
index c6acf1e822c..a2d87630aef 100644
--- a/mysql-test/suite/handler/myisam.test
+++ b/mysql-test/suite/handler/myisam.test
@@ -79,4 +79,93 @@ HANDLER t1 CLOSE;
DROP TABLE t1;
+--echo #
+--echo # Additional coverage for refactoring which is made as part
+--echo # of fix for bug #27480 "Extend CREATE TEMPORARY TABLES privilege
+--echo # to allow temp table operations".
+--echo #
+--echo # Check that DDL on temporary table properly closes HANDLER cursors
+--echo # for this table belonging to the same connection.
+
+CREATE TEMPORARY TABLE t1 AS SELECT 1 AS f1;
+
+--echo # -- CREATE TABLE
+HANDLER t1 OPEN;
+CREATE TEMPORARY TABLE IF NOT EXISTS t1 SELECT 1 AS f1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- REPAIR TABLE
+HANDLER t1 OPEN;
+REPAIR TABLE t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- ANALYZE TABLE
+HANDLER t1 OPEN;
+ANALYZE TABLE t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- OPTIMIZE TABLE
+HANDLER t1 OPEN;
+OPTIMIZE TABLE t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- CHECK TABLE
+HANDLER t1 OPEN;
+CHECK TABLE t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- ALTER TABLE
+HANDLER t1 OPEN;
+ALTER TABLE t1 ADD COLUMN b INT;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- CREATE INDEX
+HANDLER t1 OPEN;
+CREATE INDEX b ON t1 (b);
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- DROP INDEX
+HANDLER t1 OPEN;
+DROP INDEX b ON t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- TRUNCATE TABLE
+HANDLER t1 OPEN;
+TRUNCATE TABLE t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- DROP TABLE
+HANDLER t1 OPEN;
+DROP TABLE t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+CREATE TEMPORARY TABLE t1(a INT, b INT, INDEX i(a));
+
+set global keycache1.key_cache_block_size=2048;
+set global keycache1.key_buffer_size=1*1024*1024;
+set global keycache1.key_buffer_size=1024*1024;
+
+--echo # -- CACHE INDEX
+HANDLER t1 OPEN;
+CACHE INDEX t1 IN keycache1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+--echo # -- LOAD INDEX
+HANDLER t1 OPEN;
+LOAD INDEX INTO CACHE t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+
+
--echo End of 5.1 tests
diff --git a/mysql-test/suite/handler/ps.test b/mysql-test/suite/handler/ps.test
index 68091190c85..783d862435e 100644
--- a/mysql-test/suite/handler/ps.test
+++ b/mysql-test/suite/handler/ps.test
@@ -7,5 +7,7 @@ flush status;
handler handler_a read first;
# handler...read must be prepared in --ps-protocol mode
--replace_result $PS_PROTOCOL OK
+--disable_ps_protocol
show status like 'Com_stmt_prepare%';
+--enable_ps_protocol
drop table t1;
diff --git a/mysql-test/suite/heap/heap.result b/mysql-test/suite/heap/heap.result
index 878b4aa7749..4b88eed4bfc 100644
--- a/mysql-test/suite/heap/heap.result
+++ b/mysql-test/suite/heap/heap.result
@@ -758,6 +758,48 @@ SELECT * from t1;
id color ts
7 GREEN 2
DROP TABLE t1;
+CREATE TABLE t1 (id INT);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+SET @@max_heap_table_size = 1024*1024*1024*20;
+CREATE TEMPORARY TABLE tmp ENGINE=MEMORY
+SELECT id FROM t1;
+DROP TEMPORARY TABLE tmp;
+drop table t1;
+#
+# BUG#11825482: Broken key length calculation for btree index
+#
+CREATE TABLE h1 (f1 VARCHAR(1), f2 INT NOT NULL,
+UNIQUE KEY h1i (f1,f2) USING BTREE ) ENGINE=HEAP;
+INSERT INTO h1 VALUES(NULL,0),(NULL,1);
+SELECT 'wrong' as 'result' FROM dual WHERE ('h', 0) NOT IN (SELECT * FROM h1);
+result
+CREATE TABLE t1 (
+pk int NOT NULL,
+col_int_nokey INT,
+col_varchar_nokey VARCHAR(1),
+PRIMARY KEY (pk)
+);
+INSERT INTO t1 VALUES (19,5,'h'),(20,5,'h');
+CREATE TABLE t2 (col_int_nokey INT);
+INSERT INTO t2 VALUES (1),(2);
+CREATE VIEW v1 AS
+SELECT col_varchar_nokey, COUNT( col_varchar_nokey )
+FROM t1
+WHERE col_int_nokey <= 141 AND pk <= 4
+;
+SELECT col_int_nokey FROM t2
+WHERE ('h', 0) NOT IN ( SELECT * FROM v1);
+col_int_nokey
+# shouldn't crash
+EXPLAIN SELECT col_int_nokey FROM t2
+WHERE ('h', 0) NOT IN ( SELECT * FROM v1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 2
+2 SUBQUERY <derived3> ALL NULL NULL NULL NULL 2 Using where
+3 DERIVED t1 range PRIMARY PRIMARY 4 NULL 1 Using index condition; Using where
+DROP TABLE t1,t2,h1;
+DROP VIEW v1;
CREATE TABLE t1 (a int, index(a)) engine=heap min_rows=10 max_rows=100;
insert into t1 values(1);
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
@@ -818,3 +860,22 @@ CREATE TEMPORARY TABLE tmp ENGINE=MEMORY
SELECT id FROM t1;
DROP TEMPORARY TABLE tmp;
drop table t1;
+CREATE TABLE t1 (
+id int(11) NOT NULL AUTO_INCREMENT,
+color enum('GREEN', 'WHITE') DEFAULT NULL,
+ts int,
+PRIMARY KEY (id),
+KEY color (color) USING HASH
+) ENGINE=MEMORY DEFAULT CHARSET=utf8;
+INSERT INTO t1 VALUES("1","GREEN",1);
+INSERT INTO t1 VALUES("2","GREEN",1);
+INSERT INTO t1 VALUES("3","GREEN",1);
+INSERT INTO t1 VALUES("4","GREEN",1);
+INSERT INTO t1 VALUES("5","GREEN",1);
+INSERT INTO t1 VALUES("6","GREEN",1);
+DELETE FROM t1 WHERE id = 1;
+INSERT INTO t1 VALUES("7","GREEN", 2);
+DELETE FROM t1 WHERE ts = 1 AND color = 'GREEN';
+SELECT * from t1 WHERE ts = 1 AND color = 'GREEN';
+id color ts
+DROP TABLE t1;
diff --git a/mysql-test/suite/heap/heap.test b/mysql-test/suite/heap/heap.test
index 452d885c9ae..c839cc48884 100644
--- a/mysql-test/suite/heap/heap.test
+++ b/mysql-test/suite/heap/heap.test
@@ -510,6 +510,59 @@ DELETE FROM t1 WHERE ts = 1 AND color = 'GREEN';
SELECT * from t1;
DROP TABLE t1;
+
+#
+# MDEV-5905 Creating tmp. memory table kills the server
+#
+
+CREATE TABLE t1 (id INT);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+
+--disable_warnings
+SET @@max_heap_table_size = 1024*1024*1024*20;
+--enable_warnings
+
+CREATE TEMPORARY TABLE tmp ENGINE=MEMORY
+ SELECT id FROM t1;
+DROP TEMPORARY TABLE tmp;
+drop table t1;
+
+--echo #
+--echo # BUG#11825482: Broken key length calculation for btree index
+--echo #
+CREATE TABLE h1 (f1 VARCHAR(1), f2 INT NOT NULL,
+ UNIQUE KEY h1i (f1,f2) USING BTREE ) ENGINE=HEAP;
+INSERT INTO h1 VALUES(NULL,0),(NULL,1);
+SELECT 'wrong' as 'result' FROM dual WHERE ('h', 0) NOT IN (SELECT * FROM h1);
+
+CREATE TABLE t1 (
+ pk int NOT NULL,
+ col_int_nokey INT,
+ col_varchar_nokey VARCHAR(1),
+ PRIMARY KEY (pk)
+);
+
+INSERT INTO t1 VALUES (19,5,'h'),(20,5,'h');
+
+CREATE TABLE t2 (col_int_nokey INT);
+
+INSERT INTO t2 VALUES (1),(2);
+
+CREATE VIEW v1 AS
+ SELECT col_varchar_nokey, COUNT( col_varchar_nokey )
+ FROM t1
+ WHERE col_int_nokey <= 141 AND pk <= 4
+;
+
+SELECT col_int_nokey FROM t2
+WHERE ('h', 0) NOT IN ( SELECT * FROM v1);
+--echo # shouldn't crash
+EXPLAIN SELECT col_int_nokey FROM t2
+WHERE ('h', 0) NOT IN ( SELECT * FROM v1);
+
+DROP TABLE t1,t2,h1;
+DROP VIEW v1;
# End of 5.1 tests
#
@@ -580,3 +633,27 @@ CREATE TEMPORARY TABLE tmp ENGINE=MEMORY
SELECT id FROM t1;
DROP TEMPORARY TABLE tmp;
drop table t1;
+
+#
+# BUG#51763 Can't delete rows from MEMORY table with HASH key
+#
+
+CREATE TABLE t1 (
+ id int(11) NOT NULL AUTO_INCREMENT,
+ color enum('GREEN', 'WHITE') DEFAULT NULL,
+ ts int,
+ PRIMARY KEY (id),
+ KEY color (color) USING HASH
+) ENGINE=MEMORY DEFAULT CHARSET=utf8;
+
+INSERT INTO t1 VALUES("1","GREEN",1);
+INSERT INTO t1 VALUES("2","GREEN",1);
+INSERT INTO t1 VALUES("3","GREEN",1);
+INSERT INTO t1 VALUES("4","GREEN",1);
+INSERT INTO t1 VALUES("5","GREEN",1);
+INSERT INTO t1 VALUES("6","GREEN",1);
+DELETE FROM t1 WHERE id = 1;
+INSERT INTO t1 VALUES("7","GREEN", 2);
+DELETE FROM t1 WHERE ts = 1 AND color = 'GREEN';
+SELECT * from t1 WHERE ts = 1 AND color = 'GREEN';
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/include/crc32.pl b/mysql-test/suite/innodb/include/crc32.pl
new file mode 100644
index 00000000000..c2bce09dd36
--- /dev/null
+++ b/mysql-test/suite/innodb/include/crc32.pl
@@ -0,0 +1,33 @@
+# The following is Public Domain / Creative Commons CC0 from
+# http://billauer.co.il/blog/2011/05/perl-crc32-crc-xs-module/
+
+sub mycrc32 {
+ my ($input, $init_value, $polynomial) = @_;
+
+ $init_value = 0 unless (defined $init_value);
+ $polynomial = 0xedb88320 unless (defined $polynomial);
+
+ my @lookup_table;
+
+ for (my $i=0; $i<256; $i++) {
+ my $x = $i;
+ for (my $j=0; $j<8; $j++) {
+ if ($x & 1) {
+ $x = ($x >> 1) ^ $polynomial;
+ } else {
+ $x = $x >> 1;
+ }
+ }
+ push @lookup_table, $x;
+ }
+
+ my $crc = $init_value ^ 0xffffffff;
+
+ foreach my $x (unpack ('C*', $input)) {
+ $crc = (($crc >> 8) & 0xffffff) ^ $lookup_table[ ($crc ^ $x) & 0xff ];
+ }
+
+ $crc = $crc ^ 0xffffffff;
+
+ return $crc;
+}
diff --git a/mysql-test/suite/innodb/include/ibd_convert.pl b/mysql-test/suite/innodb/include/ibd_convert.pl
new file mode 100644
index 00000000000..bb9dfbe74b8
--- /dev/null
+++ b/mysql-test/suite/innodb/include/ibd_convert.pl
@@ -0,0 +1,24 @@
+# Convert tablespace flags to the format understood by MariaDB 10.1.0..10.1.20,
+# with the assumption that the flags were correct.
+
+sub convert_to_mariadb_101
+{
+ my ($file, $page_size) = @_;
+ open(FILE, "+<", $file) or die "Unable to open $file\n";
+ sysread(FILE, $_, $page_size)==$page_size||die "Unable to read $file\n";
+ sysseek(FILE, 0, 0)||die "Unable to seek $file\n";
+
+ # FIL_PAGE_DATA + FSP_SPACE_FLAGS = 38 + 16 = 54 bytes from the start
+ my($flags) = unpack "x[54]N", $_;
+ my $badflags = ($flags & 0x3f);
+ my $compression_level=3;
+ $badflags |= 1<<6|$compression_level<<7 if ($flags & 1 << 16);
+ $badflags |= ($flags & 15 << 6) << 7; # PAGE_SSIZE
+
+ substr ($_, 54, 4) = pack("N", $badflags);
+ # Replace the innodb_checksum_algorithm=none checksum
+ substr ($_, 0, 4) = pack("N", 0xdeadbeef);
+ substr ($_, $page_size - 8, 4) = pack("N", 0xdeadbeef);
+ syswrite(FILE, $_, $page_size)==$page_size||die "Unable to write $file\n";
+ close(FILE);
+}
diff --git a/mysql-test/suite/innodb/include/import.inc b/mysql-test/suite/innodb/include/import.inc
new file mode 100644
index 00000000000..e8265cb3db6
--- /dev/null
+++ b/mysql-test/suite/innodb/include/import.inc
@@ -0,0 +1,40 @@
+# Export Table and Import from saved files .cfg and .ibd
+# Caller should create t1 table definition and populate table
+
+let $MYSQLD_DATADIR = `SELECT @@datadir`;
+
+if(!$source_db) {
+ let $source_db = test;
+}
+
+if(!$dest_db) {
+ let $dest_db = test;
+}
+
+eval FLUSH TABLES $source_db.t1 FOR EXPORT;
+
+--copy_file $MYSQLD_DATADIR/$source_db/t1.cfg $MYSQLD_DATADIR/t1.cfg_back
+--copy_file $MYSQLD_DATADIR/$source_db/t1.ibd $MYSQLD_DATADIR/t1.ibd_back
+
+UNLOCK TABLES;
+
+if($source_db != $dest_db) {
+ eval USE $dest_db;
+ let $create1 = query_get_value(SHOW CREATE TABLE $source_db.t1, Create Table, 1);
+ eval $create1;
+}
+
+eval ALTER TABLE $dest_db.t1 DISCARD TABLESPACE;
+
+--move_file $MYSQLD_DATADIR/t1.cfg_back $MYSQLD_DATADIR/$dest_db/t1.cfg
+--move_file $MYSQLD_DATADIR/t1.ibd_back $MYSQLD_DATADIR/$dest_db/t1.ibd
+
+eval ALTER TABLE $dest_db.t1 IMPORT TABLESPACE;
+
+eval CHECK TABLE $dest_db.t1;
+eval SHOW CREATE TABLE $dest_db.t1;
+eval SELECT * FROM $dest_db.t1;
+
+if($source_db != $dest_db) {
+ eval DROP TABLE $dest_db.t1;
+}
diff --git a/mysql-test/suite/innodb/include/innodb-page-compression.inc b/mysql-test/suite/innodb/include/innodb-page-compression.inc
new file mode 100644
index 00000000000..3acbeaf0988
--- /dev/null
+++ b/mysql-test/suite/innodb/include/innodb-page-compression.inc
@@ -0,0 +1,131 @@
+--disable_warnings
+set global innodb_file_format = `Barracuda`;
+set global innodb_file_per_table = on;
+--enable_warnings
+
+create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
+create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
+create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
+create table innodb_page_compressed3 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=3;
+create table innodb_page_compressed4 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=4;
+create table innodb_page_compressed5 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=5;
+create table innodb_page_compressed6 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=6;
+create table innodb_page_compressed7 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=7;
+create table innodb_page_compressed8 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=8;
+create table innodb_page_compressed9 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=9;
+
+--disable_query_log
+begin;
+let $i = 2000;
+while ($i)
+{
+ insert into innodb_normal(b) values(REPEAT('Aa',50));
+ insert into innodb_normal(b) values(REPEAT('a',100));
+ insert into innodb_normal(b) values(REPEAT('b',100));
+ insert into innodb_normal(b) values(REPEAT('0',100));
+ insert into innodb_normal(b) values(REPEAT('1',100));
+ dec $i;
+}
+
+insert into innodb_page_compressed1 select * from innodb_normal;
+insert into innodb_page_compressed2 select * from innodb_normal;
+insert into innodb_page_compressed3 select * from innodb_normal;
+insert into innodb_page_compressed4 select * from innodb_normal;
+insert into innodb_page_compressed5 select * from innodb_normal;
+insert into innodb_page_compressed6 select * from innodb_normal;
+insert into innodb_page_compressed7 select * from innodb_normal;
+insert into innodb_page_compressed8 select * from innodb_normal;
+insert into innodb_page_compressed9 select * from innodb_normal;
+commit;
+--enable_query_log
+
+select count(*) from innodb_page_compressed1;
+select count(*) from innodb_page_compressed3;
+select count(*) from innodb_page_compressed4;
+select count(*) from innodb_page_compressed5;
+select count(*) from innodb_page_compressed6;
+select count(*) from innodb_page_compressed6;
+select count(*) from innodb_page_compressed7;
+select count(*) from innodb_page_compressed8;
+select count(*) from innodb_page_compressed9;
+
+#
+# Wait until pages are really compressed
+#
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_PAGE_COMPRESSED';
+--source include/wait_condition.inc
+
+--let $MYSQLD_DATADIR=`select @@datadir`
+
+# shutdown before grep
+
+--source include/shutdown_mysqld.inc
+
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_normal.ibd
+--let SEARCH_RANGE = 10000000
+--let SEARCH_PATTERN=AaAaAaAa
+--echo # innodb_normal expected FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_page_compressed1.ibd
+--echo # innodb_page_compressed1 page compressed expected NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_page_compressed2.ibd
+--echo # innodb_page_compressed2 page compressed expected NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_page_compressed3.ibd
+--echo # innodb_page_compressed3 page compressed expected NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_page_compressed4.ibd
+--echo # innodb_page_compressed4 page compressed expected NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_page_compressed5.ibd
+--echo # innodb_page_compressed5 page compressed expected NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_page_compressed6.ibd
+--echo # innodb_page_compressed6 page compressed expected NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_page_compressed7.ibd
+--echo # innodb_page_compressed7 page compressed expected NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_page_compressed8.ibd
+--echo # innodb_page_compressed8 page compressed expected NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+--let t1_IBD = $MYSQLD_DATADIR/test/innodb_page_compressed9.ibd
+--echo # innodb_page_compressed9 page compressed expected NOT FOUND
+-- let SEARCH_FILE=$t1_IBD
+-- source include/search_pattern_in_file.inc
+
+-- source include/start_mysqld.inc
+
+select count(*) from innodb_page_compressed1;
+select count(*) from innodb_page_compressed3;
+select count(*) from innodb_page_compressed4;
+select count(*) from innodb_page_compressed5;
+select count(*) from innodb_page_compressed6;
+select count(*) from innodb_page_compressed6;
+select count(*) from innodb_page_compressed7;
+select count(*) from innodb_page_compressed8;
+select count(*) from innodb_page_compressed9;
+
+let $wait_condition= select variable_value > 0 from information_schema.global_status where variable_name = 'INNODB_NUM_PAGES_PAGE_DECOMPRESSED';
+--source include/wait_condition.inc
+
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
diff --git a/mysql-test/suite/innodb/include/innodb-util.pl b/mysql-test/suite/innodb/include/innodb-util.pl
new file mode 100644
index 00000000000..241545dac18
--- /dev/null
+++ b/mysql-test/suite/innodb/include/innodb-util.pl
@@ -0,0 +1,126 @@
+#
+# Utility functions to copy files for WL#5522
+#
+# All the tables must be in the same database, you can call it like so:
+# ib_backup_tablespaces("test", "t1", "blah", ...).
+
+use File::Copy;
+use File::Spec;
+
+sub ib_normalize_path {
+ my ($path) = @_;
+}
+
+sub ib_backup_tablespace {
+ my ($db, $table) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $cfg_file = sprintf("%s.cfg", $table);
+ my $ibd_file = sprintf("%s.ibd", $table);
+ my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
+
+ my @args = (File::Spec->catfile($datadir, $db, $ibd_file),
+ File::Spec->catfile($tmpd, $ibd_file));
+
+ copy(@args) or die "copy @args failed: $!";
+
+ my @args = (File::Spec->catfile($datadir, $db, $cfg_file),
+ File::Spec->catfile($tmpd, $cfg_file));
+
+ copy(@args) or die "copy @args failed: $!";
+}
+
+sub ib_cleanup {
+ my ($db, $table) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $cfg_file = sprintf("%s.cfg", $table);
+
+ print "unlink: $cfg_file\n";
+
+ # These may or may not exist
+ unlink(File::Spec->catfile($datadir, $db, $cfg_file));
+}
+
+sub ib_unlink_tablespace {
+ my ($db, $table) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $ibd_file = sprintf("%s.ibd", $table);
+
+ print "unlink: $ibd_file\n";
+ # This may or may not exist
+ unlink(File::Spec->catfile($datadir, $db, $ibd_file));
+
+ ib_cleanup($db, $table);
+}
+
+sub ib_backup_tablespaces {
+ my ($db, @tables) = @_;
+
+ foreach my $table (@tables) {
+ print "backup: $table\n";
+ ib_backup_tablespace($db, $table);
+ }
+}
+
+sub ib_discard_tablespace { }
+
+sub ib_discard_tablespaces { }
+
+sub ib_restore_cfg_file {
+ my ($tmpd, $datadir, $db, $table) = @_;
+ my $cfg_file = sprintf("%s.cfg", $table);
+
+ my @args = (File::Spec->catfile($tmpd, $cfg_file),
+ File::Spec->catfile($datadir, "$db", $cfg_file));
+
+ copy(@args) or die "copy @args failed: $!";
+}
+
+sub ib_restore_ibd_file {
+ my ($tmpd, $datadir, $db, $table) = @_;
+ my $ibd_file = sprintf("%s.ibd", $table);
+
+ my @args = (File::Spec->catfile($tmpd, $ibd_file),
+ File::Spec->catfile($datadir, $db, $ibd_file));
+
+ copy(@args) or die "copy @args failed: $!";
+}
+
+sub ib_restore_tablespace {
+ my ($db, $table) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
+
+ ib_restore_cfg_file($tmpd, $datadir, $db, $table);
+ ib_restore_ibd_file($tmpd, $datadir, $db, $table);
+}
+
+sub ib_restore_tablespaces {
+ my ($db, @tables) = @_;
+
+ foreach my $table (@tables) {
+ print "restore: $table .ibd and .cfg files\n";
+ ib_restore_tablespace($db, $table);
+ }
+}
+
+sub ib_restore_cfg_files {
+ my ($db, @tables) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
+
+ foreach my $table (@tables) {
+ print "restore: $table .cfg file\n";
+ ib_restore_cfg_file($tmpd, $datadir, $db, $table);
+ }
+}
+
+sub ib_restore_ibd_files {
+ my ($db, @tables) = @_;
+ my $datadir = $ENV{'MYSQLD_DATADIR'};
+ my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
+
+ foreach my $table (@tables) {
+ print "restore: $table .ibd file\n";
+ ib_restore_ibd_file($tmpd, $datadir, $db, $table);
+ }
+}
diff --git a/mysql-test/suite/innodb/include/innodb-wl6045.inc b/mysql-test/suite/innodb/include/innodb-wl6045.inc
new file mode 100644
index 00000000000..33a2ecd731f
--- /dev/null
+++ b/mysql-test/suite/innodb/include/innodb-wl6045.inc
@@ -0,0 +1,22 @@
+--echo ===> Testing size=$size
+--disable_warnings
+--eval CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=$size
+--enable_warnings
+
+insert into t1 values(1,"I");
+insert into t1 values(2,"AM");
+insert into t1 values(3,"COMPRESSED");
+
+--source include/shutdown_mysqld.inc
+
+#STOP;
+
+--exec $INNOCHECKSUM $MYSQLD_DATADIR/test/t1.ibd
+--exec $INNOCHECKSUM --write=crc32 $MYSQLD_DATADIR/test/t1.ibd
+--exec $INNOCHECKSUM --strict-check=crc32 $MYSQLD_DATADIR/test/t1.ibd
+--exec $INNOCHECKSUM --write=none $MYSQLD_DATADIR/test/t1.ibd
+--exec $INNOCHECKSUM --strict-check=none $MYSQLD_DATADIR/test/t1.ibd
+
+--source include/start_mysqld.inc
+select * from t1;
+drop table t1;
diff --git a/mysql-test/suite/innodb/include/innodb_dict.inc b/mysql-test/suite/innodb/include/innodb_dict.inc
new file mode 100644
index 00000000000..1e05181272d
--- /dev/null
+++ b/mysql-test/suite/innodb/include/innodb_dict.inc
@@ -0,0 +1,9 @@
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
diff --git a/mysql-test/suite/innodb/include/innodb_simulate_comp_failures.inc b/mysql-test/suite/innodb/include/innodb_simulate_comp_failures.inc
index 47494d60375..bc64937669a 100644
--- a/mysql-test/suite/innodb/include/innodb_simulate_comp_failures.inc
+++ b/mysql-test/suite/innodb/include/innodb_simulate_comp_failures.inc
@@ -30,6 +30,8 @@ SET GLOBAL innodb_simulate_comp_failures = 25;
--disable_result_log
let $num_inserts_ind = $num_inserts;
+let $commit_iterations=50;
+
while ($num_inserts_ind)
{
let $repeat = `select floor(rand() * 10)`;
@@ -49,6 +51,9 @@ SELECT COUNT(*) FROM t1;
# do random ops, making sure that some pages will get fragmented and reorganized.
let $num_ops_ind = $num_ops;
+let $commit_count= $commit_iterations;
+
+BEGIN;
while($num_ops_ind)
{
@@ -133,9 +138,19 @@ while($num_ops_ind)
}
}
+ dec $commit_count;
+ if (!$commit_count)
+ {
+ let $commit_count= $commit_iterations;
+ COMMIT;
+ BEGIN;
+ }
+
dec $num_ops_ind;
}
+COMMIT;
+
# final cleanup
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/include/innodb_stats.inc b/mysql-test/suite/innodb/include/innodb_stats.inc
new file mode 100644
index 00000000000..c765521d4a7
--- /dev/null
+++ b/mysql-test/suite/innodb/include/innodb_stats.inc
@@ -0,0 +1,26 @@
+TRUNCATE TABLE test_innodb_stats;
+
+-- eval $insert
+
+ANALYZE TABLE test_innodb_stats;
+
+query_vertical SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+
+# provoke reading from persistent storage upon next table access (the SELECT
+# from information_schema.statistics below)
+FLUSH TABLE test_innodb_stats;
+
+# see what we are going to read
+query_vertical SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
diff --git a/mysql-test/suite/innodb/include/no_checkpoint_end.inc b/mysql-test/suite/innodb/include/no_checkpoint_end.inc
new file mode 100644
index 00000000000..7ca81f8ade0
--- /dev/null
+++ b/mysql-test/suite/innodb/include/no_checkpoint_end.inc
@@ -0,0 +1,35 @@
+# Check that the latest checkpoint in the redo log files
+# is not newer than the checkpoint sampled by no_checkpoint_start.inc
+
+--source include/kill_mysqld.inc
+
+perl;
+my $cp = $ENV{CHECKPOINT_LSN};
+$cp =~ s/^InnoDB\t\t//;
+my $log = "$ENV{MYSQLD_DATADIR}ib_logfile0";
+open(LOG, "<$log") || die "Unable to open $log";
+seek(LOG, 512, 0) || die "Unable to seek $log";
+die unless read(LOG, $_, 16) == 16;
+my ($no1hi,$no1lo,$cp1hi,$cp1lo) = unpack("N*", $_);
+seek(LOG, 3 * 512, 0) || die "Unable to seek $log";
+die unless read(LOG, $_, 16) == 16;
+my ($no2hi,$no2lo,$cp2hi,$cp2lo) = unpack("N*", $_);
+close(LOG);
+
+my $cp1 = $cp1hi << 32 | $cp1lo;
+my $cp2 = $cp2hi << 32 | $cp2lo;
+
+open(OUT, ">$ENV{MYSQLTEST_VARDIR}/log/check.txt") || die;
+
+if ($cp1 > $cp || $cp2 > $cp) {
+ print OUT "--source include/start_mysqld.inc\n";
+ print OUT "$ENV{CLEANUP_IF_CHECKPOINT}\n";
+ print OUT "--skip Extra checkpoint 1 after $cp";
+ print OUT " ($no1hi:$no1lo=$cp1,$no2hi:$no2lo=$cp2)\n";
+}
+
+close(OUT);
+EOF
+
+--source $MYSQLTEST_VARDIR/log/check.txt
+--remove_file $MYSQLTEST_VARDIR/log/check.txt
diff --git a/mysql-test/suite/innodb/include/no_checkpoint_start.inc b/mysql-test/suite/innodb/include/no_checkpoint_start.inc
new file mode 100644
index 00000000000..a903fee67d4
--- /dev/null
+++ b/mysql-test/suite/innodb/include/no_checkpoint_start.inc
@@ -0,0 +1,5 @@
+# Preparation for using no_checkpoint_end.inc
+
+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/include/restart_and_reinit.inc b/mysql-test/suite/innodb/include/restart_and_reinit.inc
index 0f8c1f913d0..9df66196edf 100644
--- a/mysql-test/suite/innodb/include/restart_and_reinit.inc
+++ b/mysql-test/suite/innodb/include/restart_and_reinit.inc
@@ -5,6 +5,15 @@
#
source include/not_embedded.inc;
+--disable_query_log
+call mtr.add_suppression("InnoDB: New log files created");
+call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+
+let $innodb_index_stats = query_get_value(show create table mysql.innodb_index_stats, Create Table, 1);
+let $innodb_table_stats = query_get_value(show create table mysql.innodb_table_stats, Create Table, 1);
+let $database=`select database()`;
+drop table mysql.innodb_index_stats, mysql.innodb_table_stats;
+
let $_server_id= `SELECT @@server_id`;
let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect;
let $datadir= `SELECT @@datadir`;
@@ -18,3 +27,9 @@ enable_reconnect;
source include/wait_until_connected_again.inc;
disable_reconnect;
+--disable_query_log
+use mysql;
+eval $innodb_table_stats;
+eval $innodb_index_stats;
+eval use $database;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/r/101_compatibility.result b/mysql-test/suite/innodb/r/101_compatibility.result
new file mode 100644
index 00000000000..7ec8bb19c10
--- /dev/null
+++ b/mysql-test/suite/innodb/r/101_compatibility.result
@@ -0,0 +1,45 @@
+#
+# MDEV-11623 MariaDB 10.1 fails to start datadir created with
+# MariaDB 10.0/MySQL 5.6 using innodb-page-size!=16K
+#
+CREATE TABLE tr(a INT)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+CREATE TABLE tc(a INT)ENGINE=InnoDB ROW_FORMAT=COMPACT;
+CREATE TABLE td(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+CREATE TABLE tz(a INT)ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+CREATE TABLE tdd(a INT) ENGINE=InnoDB, DATA DIRECTORY='MYSQL_TMP_DIR';
+CREATE TABLE tp(a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC PAGE_COMPRESSED=1;
+CREATE TABLE ti(a INT) ENGINE=InnoDB;
+FLUSH TABLES ti FOR EXPORT;
+backup: ti
+UNLOCK TABLES;
+ALTER TABLE ti DISCARD TABLESPACE;
+restore: ti .ibd and .cfg files
+ALTER TABLE ti IMPORT TABLESPACE;
+BEGIN;
+INSERT INTO tr VALUES(1);
+INSERT INTO tc VALUES(1);
+INSERT INTO td VALUES(1);
+INSERT INTO tz VALUES(1);
+INSERT INTO tdd VALUES(1);
+INSERT INTO tp VALUES(1);
+INSERT INTO ti VALUES(1);
+# Kill the server
+CHECK TABLE tr,tc,td,tz,tdd,tp,ti;
+Table Op Msg_type Msg_text
+test.tr check status OK
+test.tc check status OK
+test.td check status OK
+test.tz check status OK
+test.tdd check status OK
+test.tp check status OK
+test.ti check status OK
+CHECK TABLE tr,tc,td,tz,tdd,tp,ti;
+Table Op Msg_type Msg_text
+test.tr check status OK
+test.tc check status OK
+test.td check status OK
+test.tz check status OK
+test.tdd check status OK
+test.tp check status OK
+test.ti check status OK
+DROP TABLE tr,tc,td,tz,tdd,tp,ti;
diff --git a/mysql-test/suite/innodb/r/add_constraint.result b/mysql-test/suite/innodb/r/add_constraint.result
index cbbcb4e8fa8..798e87a3761 100644
--- a/mysql-test/suite/innodb/r/add_constraint.result
+++ b/mysql-test/suite/innodb/r/add_constraint.result
@@ -6,7 +6,7 @@ create table t2(a int, b int, key(a),key(b))engine=innodb;
alter table t2 add constraint b foreign key (b) references t1(a);
alter table t1 add constraint b1 foreign key (b) references t2(a);
alter table t2 add constraint b1 foreign key (b) references t1(a);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 121)
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 121 "Duplicate key on write or update")
alter table t2 drop foreign key b;
alter table t1 drop foreign key b1;
drop table t2;
diff --git a/mysql-test/suite/innodb/r/alter_candidate_key.result b/mysql-test/suite/innodb/r/alter_candidate_key.result
new file mode 100644
index 00000000000..12cd6b9a7ae
--- /dev/null
+++ b/mysql-test/suite/innodb/r/alter_candidate_key.result
@@ -0,0 +1,107 @@
+CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL,
+UNIQUE KEY uidx2(f1,f2),
+UNIQUE KEY uidx1(f2)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 1);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL,
+ UNIQUE KEY `uidx2` (`f1`,`f2`),
+ UNIQUE KEY `uidx1` (`f2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SET DEBUG_SYNC = 'innodb_inplace_alter_table_enter
+ SIGNAL conc_dml WAIT_FOR go_ahead';
+ALTER TABLE t1 CHANGE COLUMN f1 f11 INT, ALGORITHM=INPLACE;
+SET DEBUG_SYNC = 'now WAIT_FOR conc_dml';
+DELETE FROM t1;
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f11` int(11) DEFAULT NULL,
+ `f2` int(11) NOT NULL,
+ UNIQUE KEY `uidx1` (`f2`),
+ UNIQUE KEY `uidx2` (`f11`,`f2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+CREATE TABLE t1(f1 INT, f2 INT,
+PRIMARY KEY(f1, f2),
+UNIQUE INDEX uidx2 (f1, f2),
+UNIQUE INDEX uidx1 (f2))ENGINE=InnoDB;
+ALTER TABLE t1 DROP PRIMARY KEY;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL,
+ UNIQUE KEY `uidx2` (`f1`,`f2`),
+ UNIQUE KEY `uidx1` (`f2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SET DEBUG_SYNC = 'innodb_inplace_alter_table_enter
+ SIGNAL conc_dml WAIT_FOR go_ahead';
+ALTER TABLE t1 CHANGE COLUMN f1 f11 INT, ALGORITHM=INPLACE;
+SET DEBUG_SYNC = 'now WAIT_FOR conc_dml';
+INSERT INTO t1 VALUES(1, 1), (1, 1);
+ERROR 23000: Duplicate entry '1-1' for key 'uidx2'
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f11` int(11) DEFAULT NULL,
+ `f2` int(11) NOT NULL,
+ UNIQUE KEY `uidx1` (`f2`),
+ UNIQUE KEY `uidx2` (`f11`,`f2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+SET SQL_MODE= strict_trans_tables;
+CREATE TABLE t1(a INT UNIQUE) ENGINE=InnoDB;
+SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL dml WAIT_FOR dml_done';
+ALTER TABLE t1 MODIFY COLUMN a INT NOT NULL;
+SET DEBUG_SYNC='now WAIT_FOR dml';
+BEGIN;
+INSERT INTO t1 SET a=NULL;
+ROLLBACK;
+set DEBUG_SYNC='now SIGNAL dml_done';
+ERROR 22004: Invalid use of NULL value
+DROP TABLE t1;
+SET DEBUG_SYNC="RESET";
+SET SQL_MODE=DEFAULT;
+CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY(f1, f2),
+UNIQUE KEY(f2))ENGINE=InnoDB;
+ALTER TABLE t1 DROP PRIMARY KEY;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL,
+ UNIQUE KEY `f2` (`f2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL,
+UNIQUE KEY(f2), UNIQUE KEY(f2))ENGINE=InnoDB;
+Warnings:
+Note 1831 Duplicate index `f2_2`. This is deprecated and will be disallowed in a future release.
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL,
+ UNIQUE KEY `f2` (`f2`),
+ UNIQUE KEY `f2_2` (`f2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1 DROP INDEX f2, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL,
+ UNIQUE KEY `f2_2` (`f2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/alter_crash.result b/mysql-test/suite/innodb/r/alter_crash.result
new file mode 100644
index 00000000000..4b49a788cd4
--- /dev/null
+++ b/mysql-test/suite/innodb/r/alter_crash.result
@@ -0,0 +1,152 @@
+#
+# Bug#20015132 ALTER TABLE FAILS TO CHECK IF TABLE IS CORRUPTED
+#
+CREATE TABLE t1(c1 INT PRIMARY KEY, c2 CHAR(1), c3 INT UNSIGNED) ENGINE=InnoDB;
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG='+d,create_index_metadata_fail';
+ALTER TABLE t1 ADD INDEX (c2), ADD INDEX (c3);
+ERROR HY000: The table 't1' is full
+SET DEBUG_DBUG='+d,ib_create_table_fail_too_many_trx';
+ALTER TABLE t1 ADD INDEX (c2), ADD INDEX (c3);
+ERROR HY000: Too many active concurrent transactions
+SET DEBUG_DBUG=@saved_debug_dbug;
+ALTER TABLE t1 ADD INDEX (c2), ADD INDEX (c3);
+SET DEBUG_DBUG='+d,dict_set_index_corrupted';
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check Warning InnoDB: Index "c2" is marked as corrupted
+test.t1 check Warning InnoDB: Index "c3" is marked as corrupted
+test.t1 check error Corrupt
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check Warning InnoDB: Index "c2" is marked as corrupted
+test.t1 check Warning InnoDB: Index "c3" is marked as corrupted
+test.t1 check error Corrupt
+ALTER TABLE t1 DROP INDEX c2;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check Warning InnoDB: Index "c3" is marked as corrupted
+test.t1 check error Corrupt
+ALTER TABLE t1 ADD INDEX (c2,c3);
+ERROR HY000: Index "c3" is corrupted
+ALTER TABLE t1 CHANGE c3 c3 INT NOT NULL;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+ALTER TABLE t1 ADD INDEX (c2,c3);
+DROP TABLE t1;
+#
+# Bug #14669848 CRASH DURING ALTER MAKES ORIGINAL TABLE INACCESSIBLE
+#
+# -- Scenario 1:
+# Crash the server in ha_innobase::commit_inplace_alter_table()
+# just after committing the dictionary changes.
+CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=innodb;
+INSERT INTO t1 VALUES (1,2),(3,4);
+SET DEBUG_DBUG='+d,innodb_alter_commit_crash_after_commit';
+ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
+ERROR HY000: Lost connection to MySQL server during query
+# Restart mysqld after the crash and reconnect.
+# Manual *.frm recovery begin.
+# Manual recovery end
+FLUSH TABLES;
+# Drop the orphaned original table.
+# Files in datadir after manual recovery.
+t1.frm
+t1.ibd
+SHOW TABLES;
+Tables_in_test
+t1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL,
+ PRIMARY KEY (`f2`,`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES (5,6),(7,8);
+SELECT * FROM t1;
+f1 f2
+1 2
+3 4
+5 6
+7 8
+DROP TABLE t1;
+CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=InnoDB;
+ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
+DROP TABLE t1;
+# -- Scenario 2:
+# Crash the server in ha_innobase::commit_inplace_alter_table()
+# just before committing the dictionary changes, but after
+# writing the MLOG_FILE_RENAME records. As the mini-transaction
+# is not committed, the renames will not be replayed.
+CREATE TABLE t2 (f1 int not null, f2 int not null) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1,2),(3,4);
+SET DEBUG_DBUG='+d,innodb_alter_commit_crash_before_commit';
+ALTER TABLE t2 ADD PRIMARY KEY (f2, f1);
+ERROR HY000: Lost connection to MySQL server during query
+# Startup the server after the crash
+# Read and remember the temporary table name
+# Manual *.frm recovery begin. The dictionary was not updated
+# and the files were not renamed. The rebuilt table
+# was left behind on purpose, to faciliate data recovery.
+# Manual recovery end
+# Drop the orphaned rebuilt table.
+SHOW TABLES;
+Tables_in_test
+t2
+INSERT INTO t2 VALUES (5,6),(7,8);
+SELECT * from t2;
+f1 f2
+1 2
+3 4
+5 6
+7 8
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t2;
+CREATE TABLE t2 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=InnoDB;
+ALTER TABLE t2 ADD PRIMARY KEY (f2, f1);
+DROP TABLE t2;
+# -------------------------
+# End of Testing Scenario 2
+# -------------------------
+#
+# Bug#19330255 WL#7142 - CRASH DURING ALTER TABLE LEADS TO
+# DATA DICTIONARY INCONSISTENCY
+#
+CREATE TABLE t1(a int PRIMARY KEY, b varchar(255), c int NOT NULL)
+ENGINE=InnoDB;
+INSERT INTO t1 SET a=1,c=2;
+SET DEBUG_DBUG='+d,innodb_alter_commit_crash_after_commit';
+ALTER TABLE t1 ADD INDEX (b), CHANGE c d int, ALGORITHM=INPLACE;
+ERROR HY000: Lost connection to MySQL server during query
+# Restart mysqld after the crash and reconnect.
+# Manual *.frm recovery begin.
+# Manual recovery end
+FLUSH TABLES;
+# Drop the orphaned original table.
+# Files in datadir after manual recovery.
+t1.frm
+t1.ibd
+SHOW TABLES;
+Tables_in_test
+t1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` varchar(255) DEFAULT NULL,
+ `d` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ KEY `b` (`b`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+UPDATE t1 SET d=NULL;
+SELECT * FROM t1;
+a b d
+1 NULL NULL
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/alter_inplace_perfschema.result b/mysql-test/suite/innodb/r/alter_inplace_perfschema.result
new file mode 100644
index 00000000000..38c8ca2f553
--- /dev/null
+++ b/mysql-test/suite/innodb/r/alter_inplace_perfschema.result
@@ -0,0 +1,15 @@
+update performance_schema.setup_instruments set enabled='yes';
+update performance_schema.setup_consumers set enabled='yes';
+CREATE TABLE t1 (a serial, b varchar(255)) ENGINE=InnoDB;
+BEGIN;
+COMMIT;
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL go WAIT_FOR gone';
+ALTER TABLE t1 ADD INDEX(b), ALGORITHM=INPLACE;
+SET DEBUG_SYNC = 'now WAIT_FOR go';
+SELECT DISTINCT object_name FROM performance_schema.events_waits_history_long
+WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%';
+object_name
+tmp/Innodb Merge Temp File
+SET DEBUG_SYNC = 'now SIGNAL gone';
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/alter_key_block_size-11757.result b/mysql-test/suite/innodb/r/alter_key_block_size-11757.result
new file mode 100644
index 00000000000..400a3d0df3c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/alter_key_block_size-11757.result
@@ -0,0 +1,47 @@
+set global innodb_file_format=barracuda;
+create table t1 (
+id1 bigint(20) not null,
+id2 bigint(20) not null,
+primary key (id1),
+unique key id2 (id2)
+) engine=innodb row_format=compressed key_block_size=8;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id1` bigint(20) NOT NULL,
+ `id2` bigint(20) NOT NULL,
+ PRIMARY KEY (`id1`),
+ UNIQUE KEY `id2` (`id2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8
+alter table t1 row_format=dynamic;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=8 unless ROW_FORMAT=COMPRESSED.
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id1` bigint(20) NOT NULL,
+ `id2` bigint(20) NOT NULL,
+ PRIMARY KEY (`id1`),
+ UNIQUE KEY `id2` (`id2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=8
+alter table t1 key_block_size=0;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id1` bigint(20) NOT NULL,
+ `id2` bigint(20) NOT NULL,
+ PRIMARY KEY (`id1`) KEY_BLOCK_SIZE=8,
+ UNIQUE KEY `id2` (`id2`) KEY_BLOCK_SIZE=8
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+alter table t1 drop primary key, add primary key (id1),
+drop key id2, add unique (id2);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id1` bigint(20) NOT NULL,
+ `id2` bigint(20) NOT NULL,
+ PRIMARY KEY (`id1`),
+ UNIQUE KEY `id2` (`id2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+drop table t1;
+set global innodb_file_format=default;
diff --git a/mysql-test/suite/innodb/r/alter_partitioned_xa.result b/mysql-test/suite/innodb/r/alter_partitioned_xa.result
new file mode 100644
index 00000000000..4bce2f8676f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/alter_partitioned_xa.result
@@ -0,0 +1,15 @@
+#
+# MDEV-14693 XA: Assertion `!clust_index->online_log' failed
+# in rollback_inplace_alter_table
+#
+CREATE TABLE t1 (a INT, b INT) ENGINE=InnoDB PARTITION BY HASH(a) PARTITIONS 2;
+XA START 'xid';
+INSERT INTO t1 VALUES (1,10);
+CREATE DATABASE IF NOT EXISTS db;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the ACTIVE state
+SET innodb_lock_wait_timeout= 1, lock_wait_timeout= 2;
+ALTER TABLE t1 FORCE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+XA END 'xid';
+XA ROLLBACK 'xid';
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/alter_rename_existing.result b/mysql-test/suite/innodb/r/alter_rename_existing.result
new file mode 100644
index 00000000000..b0b5083b635
--- /dev/null
+++ b/mysql-test/suite/innodb/r/alter_rename_existing.result
@@ -0,0 +1,96 @@
+#
+# Show what happens during ALTER TABLE when an existing file
+# exists in the target location.
+#
+# Bug #19218794: IF TABLESPACE EXISTS, CAN'T CREATE TABLE,
+# BUT CAN ALTER ENGINE=INNODB
+#
+CREATE TABLE t1 (a SERIAL, b CHAR(10)) ENGINE=Memory;
+INSERT INTO t1(b) VALUES('one'), ('two'), ('three');
+#
+# Create a file called MYSQLD_DATADIR/test/t1.ibd
+# Directory listing of test/*.ibd
+#
+t1.ibd
+ALTER TABLE t1 ENGINE = InnoDB;
+ERROR HY000: Error on rename of 'OLD_FILE_NAME' to 'NEW_FILE_NAME' (errno: 184 "Tablespace already exists")
+#
+# Move the file to InnoDB as t2
+#
+ALTER TABLE t1 RENAME TO t2, ENGINE = INNODB;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `b` char(10) DEFAULT NULL,
+ UNIQUE KEY `a` (`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
+SELECT * from t2;
+a b
+1 one
+2 two
+3 three
+ALTER TABLE t2 RENAME TO t1;
+ERROR HY000: Error on rename of 'OLD_FILE_NAME' to 'NEW_FILE_NAME' (errno: 184 "Tablespace already exists")
+#
+# Create another t1, but in the system tablespace.
+#
+SET GLOBAL innodb_file_per_table=OFF;
+CREATE TABLE t1 (a SERIAL, b CHAR(20)) ENGINE=InnoDB;
+INSERT INTO t1(b) VALUES('one'), ('two'), ('three');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `b` char(20) DEFAULT NULL,
+ UNIQUE KEY `a` (`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
+SELECT name, space=0 FROM information_schema.innodb_sys_tables WHERE name = 'test/t1';
+name space=0
+test/t1 1
+#
+# ALTER TABLE from system tablespace to system tablespace
+#
+ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=INPLACE;
+ALTER TABLE t1 ADD COLUMN d INT, ALGORITHM=COPY;
+#
+# Try to move t1 from the system tablespace to a file-per-table
+# while a blocking t1.ibd file exists.
+#
+SET GLOBAL innodb_file_per_table=ON;
+ALTER TABLE t1 ADD COLUMN e1 INT, ALGORITHM=INPLACE;
+ERROR HY000: Tablespace for table 'test/t1' exists. Please DISCARD the tablespace before IMPORT.
+ALTER TABLE t1 ADD COLUMN e2 INT, ALGORITHM=COPY;
+ERROR HY000: Error on rename of 'OLD_FILE_NAME' to 'NEW_FILE_NAME' (errno: 184 "Tablespace already exists")
+#
+# Delete the blocking file called MYSQLD_DATADIR/test/t1.ibd
+# Move t1 to file-per-table using ALGORITHM=INPLACE with no blocking t1.ibd.
+#
+ALTER TABLE t1 ADD COLUMN e INT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `b` char(20) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ `d` int(11) DEFAULT NULL,
+ `e` int(11) DEFAULT NULL,
+ UNIQUE KEY `a` (`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
+SELECT name, space=0 FROM information_schema.innodb_sys_tables WHERE name = 'test/t1';
+name space=0
+test/t1 0
+DROP TABLE t1;
+#
+# Rename t2.ibd to t1.ibd.
+#
+ALTER TABLE t2 RENAME TO t1;
+SELECT name, space=0 FROM information_schema.innodb_sys_tables WHERE name = 'test/t1';
+name space=0
+test/t1 0
+SELECT * from t1;
+a b
+1 one
+2 two
+3 three
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/autoinc_debug.result b/mysql-test/suite/innodb/r/autoinc_debug.result
new file mode 100644
index 00000000000..b4b5e23e057
--- /dev/null
+++ b/mysql-test/suite/innodb/r/autoinc_debug.result
@@ -0,0 +1,90 @@
+CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY)ENGINE=INNODB;
+# SETTING auto_increment_increment IN CONNECTION DEFAULT
+SET AUTO_INCREMENT_INCREMENT = 1;
+INSERT INTO t1 VALUES(NULL);
+SELECT * FROM t1;
+id
+1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
+# SETTING auto_increment_increment IN CONNECTION1
+SET AUTO_INCREMENT_INCREMENT = 2;
+SET DEBUG_SYNC= 'ib_after_row_insert SIGNAL opened WAIT_FOR flushed1';
+INSERT INTO t1 VALUES(NULL);
+SET AUTO_INCREMENT_INCREMENT = 2;
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+SET DEBUG_SYNC= 'ib_after_row_insert_step SIGNAL flushed1 WAIT_FOR opened1';
+insert into t1 values(NULL);
+SELECT * FROM t1;
+id
+1
+3
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1
+SET DEBUG_SYNC= 'now SIGNAL opened1';
+SELECT * FROM t1;
+id
+1
+3
+5
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY)ENGINE=INNODB;
+# SETTING auto_increment_increment IN CONNECTION DEFAULT
+SET AUTO_INCREMENT_INCREMENT = 1;
+INSERT INTO t1 VALUES(NULL);
+SELECT * FROM t1;
+id
+1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
+SET DEBUG_SYNC = 'now SIGNAL flushed';
+# SETTING auto_increment_increment in connection1
+SET AUTO_INCREMENT_INCREMENT = 2;
+SET DEBUG_SYNC= 'now WAIT_FOR flushed';
+SET DEBUG_SYNC= 'ib_after_row_insert SIGNAL opened WAIT_FOR flushed1';
+INSERT INTO t1 values(NULL);
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+SET DEBUG_SYNC= 'ib_after_row_insert_step SIGNAL flushed1 WAIT_FOR opened1';
+INSERT INTO t1 VALUES(NULL);
+SELECT * FROM t1;
+id
+1
+3
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
+SET DEBUG_SYNC= 'now SIGNAL opened1';
+SELECT * FROM t1;
+id
+1
+3
+5
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
+DROP TABLE t1;
+SET DEBUG_SYNC='RESET';
diff --git a/mysql-test/suite/innodb/r/binlog_consistent.result b/mysql-test/suite/innodb/r/binlog_consistent.result
index 6891ac4ac3b..1e095c6596e 100644
--- a/mysql-test/suite/innodb/r/binlog_consistent.result
+++ b/mysql-test/suite/innodb/r/binlog_consistent.result
@@ -3,11 +3,11 @@ RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb;
SHOW MASTER STATUS;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 380
+master-bin.000001 <pos>
SHOW STATUS LIKE 'binlog_snapshot_%';
Variable_name Value
Binlog_snapshot_file master-bin.000001
-Binlog_snapshot_position 380
+Binlog_snapshot_position <pos>
BEGIN;
INSERT INTO t1 VALUES (0, "");
# Connection con1
@@ -38,10 +38,10 @@ a b
SHOW STATUS LIKE 'binlog_snapshot_%';
Variable_name Value
Binlog_snapshot_file master-bin.000001
-Binlog_snapshot_position 904
+Binlog_snapshot_position <pos>
SHOW MASTER STATUS;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 1316
+master-bin.000001 <pos>
SELECT * FROM t2 ORDER BY a;
a
2
@@ -60,46 +60,47 @@ a b
SHOW STATUS LIKE 'binlog_snapshot_%';
Variable_name Value
Binlog_snapshot_file master-bin.000001
-Binlog_snapshot_position 904
+Binlog_snapshot_position <pos>
SHOW MASTER STATUS;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000002 245
+master-bin.000002 <pos>
COMMIT;
SHOW STATUS LIKE 'binlog_snapshot_%';
Variable_name Value
Binlog_snapshot_file master-bin.000002
-Binlog_snapshot_position 245
+Binlog_snapshot_position <pos>
SHOW MASTER STATUS;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000002 245
-SHOW BINLOG EVENTS;
+master-bin.000002 <pos>
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 245 Server ver: #, Binlog ver: #
-master-bin.000001 245 Query 1 380 use `test`; CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb
-master-bin.000001 380 Query 1 492 use `test`; CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=myisam
-master-bin.000001 492 Query 1 560 BEGIN
-master-bin.000001 560 Query 1 648 use `test`; INSERT INTO t2 VALUES (2)
-master-bin.000001 648 Query 1 717 COMMIT
-master-bin.000001 717 Query 1 785 BEGIN
-master-bin.000001 785 Query 1 877 use `test`; INSERT INTO t1 VALUES (0, "")
-master-bin.000001 877 Xid 1 904 COMMIT /* XID */
-master-bin.000001 904 Query 1 972 BEGIN
-master-bin.000001 972 Query 1 1060 use `test`; INSERT INTO t2 VALUES (3)
-master-bin.000001 1060 Query 1 1129 COMMIT
-master-bin.000001 1129 Query 1 1197 BEGIN
-master-bin.000001 1197 Query 1 1289 use `test`; INSERT INTO t1 VALUES (4, "")
-master-bin.000001 1289 Xid 1 1316 COMMIT /* XID */
-master-bin.000001 1316 Query 1 1384 BEGIN
-master-bin.000001 1384 Query 1 1476 use `test`; INSERT INTO t1 VALUES (1, "")
-master-bin.000001 1476 Xid 1 1503 COMMIT /* XID */
-master-bin.000001 1503 Query 1 1571 BEGIN
-master-bin.000001 1571 Query 1 1668 use `test`; INSERT INTO t1 VALUES (2, "first")
-master-bin.000001 1668 Query 1 1766 use `test`; INSERT INTO t1 VALUES (2, "second")
-master-bin.000001 1766 Xid 1 1793 COMMIT /* XID */
-master-bin.000001 1793 Query 1 1861 BEGIN
-master-bin.000001 1861 Query 1 1953 use `test`; INSERT INTO t1 VALUES (3, "")
-master-bin.000001 1953 Xid 1 1980 COMMIT /* XID */
-master-bin.000001 1980 Rotate 1 2024 master-bin.000002;pos=4
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=myisam
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (0, "")
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (3)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4, "")
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1, "")
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2, "first")
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2, "second")
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3, "")
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
*** MDEV-7310: last_commit_pos_offset set to wrong value after binlog rotate in group commit ***
SET @old_size= @@GLOBAL.max_binlog_size;
SET GLOBAL max_binlog_size=4096;
diff --git a/mysql-test/suite/innodb/r/create-index-debug.result b/mysql-test/suite/innodb/r/create-index-debug.result
new file mode 100644
index 00000000000..9d266c68af3
--- /dev/null
+++ b/mysql-test/suite/innodb/r/create-index-debug.result
@@ -0,0 +1,23 @@
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+#
+#BUG#21326304 INNODB ONLINE ALTER TABLE ENDS IN CRASH ON DISK FULL
+#
+CREATE TABLE t1(f1 CHAR(255) NOT NULL, f2 CHAR(255) NOT NULL, f3
+CHAR(255) NOT NULL, f4 CHAR(255) NOT NULL, f5 CHAR(255) NOT NULL,f6
+CHAR(255) NOT NULL, f7 CHAR(255) NOT NULL, f8 CHAR(255) NOT NULL,f9
+CHAR(255) NOT NULL, f10 CHAR(255) NOT NULL, f11 CHAR(255) NOT NULL,f12
+CHAR(255) NOT NULL, f13 CHAR(255) NOT NULL, f14 CHAR(255) NOT NULL,f15
+CHAR(255) NOT NULL, f16 CHAR(255) NOT NULL, f17 CHAR(255) NOT NULL,f18
+CHAR(255) NOT NULL)
+ENGINE=INNODB ROW_FORMAT=DYNAMIC;
+INSERT INTO t1
+VALUES('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r');
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+SET debug_dbug = '+d,disk_is_full';
+ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
+ERROR HY000: The table 't1' is full
+SET debug_dbug= @saved_debug_dbug;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/create_isl_with_direct.result b/mysql-test/suite/innodb/r/create_isl_with_direct.result
new file mode 100644
index 00000000000..87544e6dcdf
--- /dev/null
+++ b/mysql-test/suite/innodb/r/create_isl_with_direct.result
@@ -0,0 +1,10 @@
+SHOW VARIABLES LIKE 'innodb_flush_method';
+Variable_name Value
+innodb_flush_method O_DIRECT
+CREATE TABLE t1 (x INT) ENGINE=INNODB, DATA DIRECTORY='MYSQL_TMP_DIR';
+# Contents of tmp/test directory containing .ibd file
+t1.ibd
+# Contents of the 'test' database directory containing .isl and .frm files
+t1.frm
+t1.isl
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/data_types.result b/mysql-test/suite/innodb/r/data_types.result
new file mode 100644
index 00000000000..446d37527e5
--- /dev/null
+++ b/mysql-test/suite/innodb/r/data_types.result
@@ -0,0 +1,155 @@
+CREATE TABLE t1
+(
+t1_BIGINT BIGINT,
+t1_BIGINT_UNSIGNED BIGINT UNSIGNED,
+t1_BINARY_100 BINARY(100),
+t1_BIT_2 BIT(2),
+t1_BIT_20 BIT(20),
+t1_BLOB BLOB,
+t1_CHAR_100 CHAR(100),
+t1_CHAR_100_BINARY CHAR(100) BINARY,
+t1_DATE DATE,
+t1_DATETIME DATETIME,
+t1_DATETIME_6 DATETIME(6),
+t1_DECIMAL_10_3 DECIMAL(10,3),
+t1_DECIMAL_10_3_UNSIGNED DECIMAL(10,3) UNSIGNED,
+t1_DOUBLE DOUBLE,
+t1_DOUBLE_UNSIGNED DOUBLE UNSIGNED,
+t1_ENUM ENUM('a', 'b', 'c'),
+t1_ENUM_BINARY ENUM('a','b') BINARY,
+t1_ENUM_256 ENUM('a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9',
+'a10', 'a11', 'a12', 'a13', 'a14', 'a15', 'a16', 'a17', 'a18', 'a19',
+'a20', 'a21', 'a22', 'a23', 'a24', 'a25', 'a26', 'a27', 'a28', 'a29',
+'a30', 'a31', 'a32', 'a33', 'a34', 'a35', 'a36', 'a37', 'a38', 'a39',
+'a40', 'a41', 'a42', 'a43', 'a44', 'a45', 'a46', 'a47', 'a48', 'a49',
+'a50', 'a51', 'a52', 'a53', 'a54', 'a55', 'a56', 'a57', 'a58', 'a59',
+'a60', 'a61', 'a62', 'a63', 'a64', 'a65', 'a66', 'a67', 'a68', 'a69',
+'a70', 'a71', 'a72', 'a73', 'a74', 'a75', 'a76', 'a77', 'a78', 'a79',
+'a80', 'a81', 'a82', 'a83', 'a84', 'a85', 'a86', 'a87', 'a88', 'a89',
+'a90', 'a91', 'a92', 'a93', 'a94', 'a95', 'a96', 'a97', 'a98', 'a99',
+'a100', 'a101', 'a102', 'a103', 'a104', 'a105', 'a106', 'a107', 'a108',
+'a109', 'a110', 'a111', 'a112', 'a113', 'a114', 'a115', 'a116', 'a117',
+'a118', 'a119', 'a120', 'a121', 'a122', 'a123', 'a124', 'a125', 'a126',
+'a127', 'a128', 'a129', 'a130', 'a131', 'a132', 'a133', 'a134', 'a135',
+'a136', 'a137', 'a138', 'a139', 'a140', 'a141', 'a142', 'a143', 'a144',
+'a145', 'a146', 'a147', 'a148', 'a149', 'a150', 'a151', 'a152', 'a153',
+'a154', 'a155', 'a156', 'a157', 'a158', 'a159', 'a160', 'a161', 'a162',
+'a163', 'a164', 'a165', 'a166', 'a167', 'a168', 'a169', 'a170', 'a171',
+'a172', 'a173', 'a174', 'a175', 'a176', 'a177', 'a178', 'a179', 'a180',
+'a181', 'a182', 'a183', 'a184', 'a185', 'a186', 'a187', 'a188', 'a189',
+'a190', 'a191', 'a192', 'a193', 'a194', 'a195', 'a196', 'a197', 'a198',
+'a199', 'a200', 'a201', 'a202', 'a203', 'a204', 'a205', 'a206', 'a207',
+'a208', 'a209', 'a210', 'a211', 'a212', 'a213', 'a214', 'a215', 'a216',
+'a217', 'a218', 'a219', 'a220', 'a221', 'a222', 'a223', 'a224', 'a225',
+'a226', 'a227', 'a228', 'a229', 'a230', 'a231', 'a232', 'a233', 'a234',
+'a235', 'a236', 'a237', 'a238', 'a239', 'a240', 'a241', 'a242', 'a243',
+'a244', 'a245', 'a246', 'a247', 'a248', 'a249', 'a250', 'a251', 'a252',
+'a253', 'a254', 'a255', 'a256'),
+t1_FLOAT FLOAT,
+t1_FLOAT_UNSIGNED FLOAT UNSIGNED,
+t1_INT INT,
+t1_INT_UNSIGNED INT UNSIGNED,
+t1_LONGBLOB LONGBLOB,
+t1_LONGTEXT LONGTEXT,
+t1_MEDIUMBLOB MEDIUMBLOB,
+t1_MEDIUMINT MEDIUMINT,
+t1_MEDIUMINT_UNSIGNED MEDIUMINT UNSIGNED,
+t1_MEDIUMTEXT MEDIUMTEXT,
+t1_SET SET('a', 'b', 'c'),
+t1_SET_BINARY SET('a','b') BINARY,
+t1_SET_9 SET('a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9'),
+t1_SMALLINT SMALLINT,
+t1_SMALLINT_UNSIGNED SMALLINT UNSIGNED,
+t1_TEXT TEXT,
+t1_TIME TIME,
+t1_TIME_4 TIME(4),
+t1_TIMESTAMP TIMESTAMP,
+t1_TIMESTAMP_5 TIMESTAMP(5),
+t1_TINYBLOB TINYBLOB,
+t1_TINYINT TINYINT,
+t1_TINYINT_UNSIGNED TINYINT UNSIGNED,
+t1_TINYTEXT TINYTEXT,
+t1_VARBINARY_100 VARBINARY(100),
+t1_VARCHAR_10 VARCHAR(10),
+t1_VARCHAR_10_BINARY VARCHAR(10) BINARY,
+t1_VARCHAR_500 VARCHAR(500),
+t1_VARCHAR_500_BINARY VARCHAR(500) BINARY,
+t1_YEAR_2 YEAR(2),
+t1_YEAR_4 YEAR(4)
+) ENGINE=InnoDB;
+Warnings:
+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
+SELECT
+name,
+CASE mtype
+WHEN 1 THEN "DATA_VARCHAR"
+ WHEN 2 THEN "DATA_CHAR"
+ WHEN 3 THEN "DATA_FIXBINARY"
+ WHEN 4 THEN "DATA_BINARY"
+ WHEN 5 THEN "DATA_BLOB"
+ WHEN 6 THEN "DATA_INT"
+ WHEN 7 THEN "DATA_SYS_CHILD"
+ WHEN 8 THEN "DATA_SYS"
+ WHEN 9 THEN "DATA_FLOAT"
+ WHEN 10 THEN "DATA_DOUBLE"
+ WHEN 11 THEN "DATA_DECIMAL"
+ WHEN 12 THEN "DATA_VARMYSQL"
+ WHEN 13 THEN "DATA_MYSQL"
+ WHEN 63 THEN "DATA_MTYPE_MAX"
+ ELSE mtype
+END AS mtype,
+IF((prtype & 512) = 512,"UNSIGNED","") AS is_unsigned
+FROM information_schema.INNODB_SYS_COLUMNS
+WHERE name LIKE "t1\_%"
+ORDER BY name;
+name mtype is_unsigned
+t1_BIGINT DATA_INT
+t1_BIGINT_UNSIGNED DATA_INT UNSIGNED
+t1_BINARY_100 DATA_FIXBINARY
+t1_BIT_2 DATA_FIXBINARY UNSIGNED
+t1_BIT_20 DATA_FIXBINARY UNSIGNED
+t1_BLOB DATA_BLOB
+t1_CHAR_100 DATA_CHAR
+t1_CHAR_100_BINARY DATA_MYSQL
+t1_DATE DATA_INT
+t1_DATETIME DATA_FIXBINARY
+t1_DATETIME_6 DATA_FIXBINARY
+t1_DECIMAL_10_3 DATA_FIXBINARY
+t1_DECIMAL_10_3_UNSIGNED DATA_FIXBINARY UNSIGNED
+t1_DOUBLE DATA_DOUBLE
+t1_DOUBLE_UNSIGNED DATA_DOUBLE UNSIGNED
+t1_ENUM DATA_INT UNSIGNED
+t1_ENUM_256 DATA_INT UNSIGNED
+t1_ENUM_BINARY DATA_INT UNSIGNED
+t1_FLOAT DATA_FLOAT
+t1_FLOAT_UNSIGNED DATA_FLOAT UNSIGNED
+t1_INT DATA_INT
+t1_INT_UNSIGNED DATA_INT UNSIGNED
+t1_LONGBLOB DATA_BLOB
+t1_LONGTEXT DATA_BLOB
+t1_MEDIUMBLOB DATA_BLOB
+t1_MEDIUMINT DATA_INT
+t1_MEDIUMINT_UNSIGNED DATA_INT UNSIGNED
+t1_MEDIUMTEXT DATA_BLOB
+t1_SET DATA_INT UNSIGNED
+t1_SET_9 DATA_INT UNSIGNED
+t1_SET_BINARY DATA_INT UNSIGNED
+t1_SMALLINT DATA_INT
+t1_SMALLINT_UNSIGNED DATA_INT UNSIGNED
+t1_TEXT DATA_BLOB
+t1_TIME DATA_FIXBINARY
+t1_TIMESTAMP DATA_FIXBINARY UNSIGNED
+t1_TIMESTAMP_5 DATA_FIXBINARY UNSIGNED
+t1_TIME_4 DATA_FIXBINARY
+t1_TINYBLOB DATA_BLOB
+t1_TINYINT DATA_INT
+t1_TINYINT_UNSIGNED DATA_INT UNSIGNED
+t1_TINYTEXT DATA_BLOB
+t1_VARBINARY_100 DATA_BINARY
+t1_VARCHAR_10 DATA_VARCHAR
+t1_VARCHAR_10_BINARY DATA_VARMYSQL
+t1_VARCHAR_500 DATA_VARCHAR
+t1_VARCHAR_500_BINARY DATA_VARMYSQL
+t1_YEAR_2 DATA_INT UNSIGNED
+t1_YEAR_4 DATA_INT UNSIGNED
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/default_row_format_alter.result b/mysql-test/suite/innodb/r/default_row_format_alter.result
new file mode 100644
index 00000000000..1f4f78ee670
--- /dev/null
+++ b/mysql-test/suite/innodb/r/default_row_format_alter.result
@@ -0,0 +1,85 @@
+SET @row_format = @@GLOBAL.innodb_default_row_format;
+####################################
+# Check if table rebuilding alter isn't affect if table is created
+# with explicit row_format
+CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 'abc');
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=COMPACT
+SET GLOBAL innodb_default_row_format=DYNAMIC;
+ALTER TABLE t1 DROP PRIMARY KEY, ADD COLUMN c INT PRIMARY KEY;
+# Here we expect COMPACT because it was explicitly specified at CREATE
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=COMPACT
+DROP TABLE t1;
+####################################
+# Check if table rebuilding alter is affected when there is no
+# row_format specified at CREATE TABLE.
+SET GLOBAL innodb_default_row_format = COMPACT;
+CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 'abc');
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+SET GLOBAL innodb_default_row_format = DYNAMIC;
+ALTER TABLE t1 DROP PRIMARY KEY, ADD COLUMN c INT PRIMARY KEY;
+# Here we expect DYNAMIC because there is no explicit ROW_FORMAT and the
+# default_row_format is changed to DYNAMIC just before ALTER
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Dynamic # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+DROP TABLE t1;
+####################################
+# Check the row_format effect on ALTER, ALGORITHM=COPY
+SET GLOBAL innodb_default_row_format = REDUNDANT;
+CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, REPEAT('abc',1000));
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Redundant # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+SET GLOBAL innoDB_default_row_format = COMPACT;
+ALTER TABLE t1 ADD COLUMN c2 BLOB, ALGORITHM=COPY;
+# Because of ALGORITHM=COPY, there is TABLE REBUILD and the table isn't
+# created with explicit row_format, so we expect ROW_FORMAT=COMPACT
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+DROP TABLE t1;
+
+###################################
+# Check the row_format effect on ALTER, ALGORITH=COPY on
+# create table with explicit row_format
+CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ROW_FORMAT=REDUNDANT ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, REPEAT('abc',1000));
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Redundant # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=REDUNDANT
+SET GLOBAL innoDB_default_row_format = COMPACT;
+ALTER TABLE t1 ADD COLUMN c2 BLOB, ALGORITHM=COPY;
+# Because of ALGORITHM=COPY, there is TABLE REBUILD and the table is
+# created with explicit row_format, so we expect original
+# ROW_FORMAT=REDUNDANT
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Redundant # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=REDUNDANT
+DROP TABLE t1;
+
+##################################
+# Check row_format on ALTER ALGORITHM=INPLACE
+SET GLOBAL innodb_default_row_format=COMPACT;
+CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT, KEY k1(b(10))) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, REPEAT('abc',1000));
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+SET GLOBAL innodb_default_row_format=DYNAMIC;
+ALTER TABLE t1 DROP INDEX k1;
+# Because it is in-place operation, there is no rebuild, so the
+# original format has to be retained.
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+DROP TABLE t1;
+SET GLOBAL innodb_default_row_format = @row_format;
diff --git a/mysql-test/suite/innodb/r/default_row_format_compatibility.result b/mysql-test/suite/innodb/r/default_row_format_compatibility.result
new file mode 100644
index 00000000000..376e44424bb
--- /dev/null
+++ b/mysql-test/suite/innodb/r/default_row_format_compatibility.result
@@ -0,0 +1,103 @@
+SET @row_format = @@GLOBAL.innodb_default_row_format;
+SET @large_prefix = @@GLOBAL.innodb_large_prefix;
+SET @file_format = @@GLOBAL.innodb_file_format;
+SET GLOBAL innodb_file_format = barracuda;
+# ###########################################################
+# Check with Import/Export tablespace with Default_row_format
+SET GLOBAL innodb_default_row_format=Compact;
+SELECT @@innodb_default_row_format;
+@@innodb_default_row_format
+compact
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+CREATE TABLE tab(a INT) ENGINE=InnoDB;
+SHOW TABLE STATUS LIKE 'tab';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+tab InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+INSERT INTO tab VALUES(1);
+INSERT INTO tab VALUES(2);
+SELECT * FROM tab;
+a
+1
+2
+FLUSH TABLE tab FOR EXPORT;
+UNLOCK TABLES;
+DROP TABLE tab;
+SET GLOBAL innodb_default_row_format=Dynamic;
+CREATE TABLE tab(a INT) ENGINE=InnoDB;
+ALTER TABLE tab DISCARD TABLESPACE;
+ALTER TABLE tab 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)
+DROP TABLE tab;
+SET GLOBAL innodb_default_row_format=Compact;
+SELECT @@innodb_default_row_format;
+@@innodb_default_row_format
+compact
+CREATE TABLE tab(a INT) ENGINE=InnoDB;
+SHOW TABLE STATUS LIKE 'tab';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+tab InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+ALTER TABLE tab DISCARD TABLESPACE;
+call mtr.add_suppression("InnoDB: Tried to read .* bytes at offset 0");
+ALTER TABLE tab IMPORT TABLESPACE;
+ERROR HY000: Internal error: Cannot reset LSNs in table '"test"."tab"' : I/O error
+ALTER TABLE tab IMPORT TABLESPACE;
+SELECT * FROM tab;
+a
+1
+2
+DROP TABLE tab;
+# ###########################################################
+SET GLOBAL innodb_default_row_format=Dynamic;
+SET GLOBAL innodb_large_prefix=ON;
+SELECT @@innodb_default_row_format;
+@@innodb_default_row_format
+dynamic
+CREATE TABLE tab(a INT PRIMARY KEY, b VARCHAR(5000), KEY idx1(b(3070))) ENGINE= InnoDB;
+SHOW TABLE STATUS LIKE 'tab';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+tab InnoDB # Dynamic # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+INSERT INTO tab(a,b) VALUES(1,'Check with max column size');
+SELECT * FROM tab;
+a b
+1 Check with max column size
+SET GLOBAL innodb_default_row_format=COMPACT;
+ALTER TABLE tab ROW_FORMAT=COMPACT;
+ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
+DROP TABLE tab;
+SET GLOBAL innodb_default_row_format=Default;
+SELECT @@innodb_default_row_format;
+@@innodb_default_row_format
+compact
+SET GLOBAL innodb_default_row_format=Dynamic;
+SELECT @@innodb_default_row_format;
+@@innodb_default_row_format
+dynamic
+CREATE TABLE tab(a INT PRIMARY KEY, b VARCHAR(5000), KEY idx1(b(767))) ENGINE= InnoDB;
+SHOW TABLE STATUS LIKE 'tab';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+tab InnoDB # Dynamic # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+INSERT INTO tab(a,b) VALUES(1,'Check with max column size');
+SELECT * FROM tab;
+a b
+1 Check with max column size
+ALTER TABLE tab ROW_FORMAT=COMPACT;
+SHOW TABLE STATUS LIKE 'tab';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+tab InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=COMPACT
+SELECT * FROM tab;
+a b
+1 Check with max column size
+ALTER TABLE tab ROW_FORMAT=COMPRESSED;
+SELECT * FROM tab;
+a b
+1 Check with max column size
+ALTER TABLE tab ROW_FORMAT=Dynamic;
+SHOW TABLE STATUS LIKE 'tab';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+tab InnoDB # Dynamic # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=DYNAMIC
+DROP TABLE tab;
+SET GLOBAL innodb_default_row_format = @row_format;
+SET GLOBAL innodb_large_prefix = @large_prefix;
+SET GLOBAL innodb_file_format = @file_format;
diff --git a/mysql-test/suite/innodb/r/default_row_format_create,dynamic.rdiff b/mysql-test/suite/innodb/r/default_row_format_create,dynamic.rdiff
new file mode 100644
index 00000000000..bb23b78213b
--- /dev/null
+++ b/mysql-test/suite/innodb/r/default_row_format_create,dynamic.rdiff
@@ -0,0 +1,11 @@
+--- default_row_format_create.result
++++ default_row_format_create,dynamic.result
+@@ -1,7 +1,7 @@
+ CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB;
+ SHOW TABLE STATUS LIKE 't1';
+ Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+-t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
++t1 InnoDB # Dynamic # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ SHOW TABLE STATUS LIKE 't1';
diff --git a/mysql-test/suite/innodb/r/default_row_format_create,redundant.rdiff b/mysql-test/suite/innodb/r/default_row_format_create,redundant.rdiff
new file mode 100644
index 00000000000..35aa402edd9
--- /dev/null
+++ b/mysql-test/suite/innodb/r/default_row_format_create,redundant.rdiff
@@ -0,0 +1,11 @@
+--- default_row_format_create.result
++++ default_row_format_create,redundant.result
+@@ -1,7 +1,7 @@
+ CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB;
+ SHOW TABLE STATUS LIKE 't1';
+ Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+-t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
++t1 InnoDB # Redundant # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+ DROP TABLE t1;
+ CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ SHOW TABLE STATUS LIKE 't1';
diff --git a/mysql-test/suite/innodb/r/default_row_format_create.result b/mysql-test/suite/innodb/r/default_row_format_create.result
new file mode 100644
index 00000000000..4e90922d70d
--- /dev/null
+++ b/mysql-test/suite/innodb/r/default_row_format_create.result
@@ -0,0 +1,31 @@
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB;
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL
+DROP TABLE t1;
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Dynamic # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=DYNAMIC
+DROP TABLE t1;
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=COMPACT
+DROP TABLE t1;
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Redundant # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=REDUNDANT
+DROP TABLE t1;
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+Warnings:
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1.
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=COMPRESSED key_block_size=1
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/defrag_mdl-9155.result b/mysql-test/suite/innodb/r/defrag_mdl-9155.result
new file mode 100644
index 00000000000..36cafd305ba
--- /dev/null
+++ b/mysql-test/suite/innodb/r/defrag_mdl-9155.result
@@ -0,0 +1,15 @@
+set global innodb_defragment=1;
+create table t1 (a int not null primary key auto_increment, b varchar(256), key second(a, b)) engine=innodb;
+insert t1 select null, repeat('a', 256) from seq_1_to_100;
+select count(*) from t1;
+count(*)
+100
+start transaction;
+select count(*) from t1;
+count(*)
+100
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+drop table t1;
+set global innodb_defragment=default;
diff --git a/mysql-test/suite/innodb/r/doublewrite.result b/mysql-test/suite/innodb/r/doublewrite.result
new file mode 100644
index 00000000000..7cc4a436e5c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/doublewrite.result
@@ -0,0 +1,251 @@
+#
+# Bug #17335427 INNODB CAN NOT USE THE DOUBLEWRITE BUFFER PROPERLY
+# Bug #18144349 INNODB CANNOT USE THE DOUBLEWRITE BUFFER FOR THE FIRST
+# PAGE OF SYSTEM TABLESPACE
+#
+SET GLOBAL innodb_fast_shutdown = 0;
+show variables like 'innodb_doublewrite';
+Variable_name Value
+innodb_doublewrite ON
+show variables like 'innodb_fil_make_page_dirty_debug';
+Variable_name Value
+innodb_fil_make_page_dirty_debug 0
+show variables like 'innodb_saved_page_number_debug';
+Variable_name Value
+innodb_saved_page_number_debug 0
+create table t1 (f1 int primary key, f2 blob) engine=innodb;
+start transaction;
+insert into t1 values(1, repeat('#',12));
+insert into t1 values(2, repeat('+',12));
+insert into t1 values(3, repeat('/',12));
+insert into t1 values(4, repeat('-',12));
+insert into t1 values(5, repeat('.',12));
+commit work;
+# ---------------------------------------------------------------
+# Test Begin: Test if recovery works if first page of user
+# tablespace is full of zeroes.
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+# Ensure that dirty pages of table t1 is flushed.
+flush tables t1 for export;
+unlock tables;
+begin;
+insert into t1 values (6, repeat('%', 12));
+# Make the first page dirty for table t1
+set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = @space_id;
+# Ensure that dirty pages of table t1 are flushed.
+set global innodb_buf_flush_list_now = 1;
+# Kill the server
+# Make the first page (page_no=0) of the user tablespace
+# full of zeroes.
+#
+# MDEV-11623: Use old FSP_SPACE_FLAGS in the doublewrite buffer.
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select f1, f2 from t1;
+f1 f2
+1 ############
+2 ++++++++++++
+3 ////////////
+4 ------------
+5 ............
+# Test End
+# ---------------------------------------------------------------
+# Test Begin: Test if recovery works if first page of user
+# tablespace is corrupted.
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+# Ensure that dirty pages of table t1 is flushed.
+flush tables t1 for export;
+unlock tables;
+begin;
+insert into t1 values (6, repeat('%', 12));
+# Make the first page dirty for table t1
+set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = @space_id;
+# Ensure that dirty pages of table t1 are flushed.
+set global innodb_buf_flush_list_now = 1;
+# Kill the server
+# Corrupt the first page (page_no=0) of the user tablespace.
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select f1, f2 from t1;
+f1 f2
+1 ############
+2 ++++++++++++
+3 ////////////
+4 ------------
+5 ............
+# Test End
+# ---------------------------------------------------------------
+# Test Begin: Test if recovery works if 2nd page of user
+# tablespace is full of zeroes.
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+# Ensure that dirty pages of table t1 is flushed.
+flush tables t1 for export;
+unlock tables;
+begin;
+insert into t1 values (6, repeat('%', 400));
+# Make the 2nd page dirty for table t1
+set global innodb_saved_page_number_debug = 1;
+set global innodb_fil_make_page_dirty_debug = @space_id;
+# Ensure that dirty pages of table t1 are flushed.
+set global innodb_buf_flush_list_now = 1;
+# Kill the server
+# Make the 2nd page (page_no=1) of the tablespace all zeroes.
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select f1, f2 from t1;
+f1 f2
+1 ############
+2 ++++++++++++
+3 ////////////
+4 ------------
+5 ............
+# Test End
+# ---------------------------------------------------------------
+# Test Begin: Test if recovery works if 2nd page of user
+# tablespace is corrupted.
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+# Ensure that dirty pages of table t1 is flushed.
+flush tables t1 for export;
+unlock tables;
+begin;
+insert into t1 values (6, repeat('%', 400));
+# Make the 2nd page dirty for table t1
+set global innodb_saved_page_number_debug = 1;
+set global innodb_fil_make_page_dirty_debug = @space_id;
+# Ensure that the dirty pages of table t1 are flushed.
+set global innodb_buf_flush_list_now = 1;
+# Kill the server
+# Corrupt the 2nd page (page_no=1) of the user tablespace.
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select f1, f2 from t1;
+f1 f2
+1 ############
+2 ++++++++++++
+3 ////////////
+4 ------------
+5 ............
+# Test End
+# ---------------------------------------------------------------
+# Test Begin: Test if recovery works if first page of
+# system tablespace is full of zeroes.
+begin;
+insert into t1 values (6, repeat('%', 400));
+# Ensure that all dirty pages in the system are flushed.
+set global innodb_buf_flush_list_now = 1;
+# Make the first page dirty for system tablespace
+set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = 0;
+# Ensure that the dirty page of system tablespace is also flushed.
+set global innodb_buf_flush_list_now = 1;
+# Kill the server
+# Make the first page (page_no=0) of the system tablespace
+# all zeroes.
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select f1, f2 from t1;
+f1 f2
+1 ############
+2 ++++++++++++
+3 ////////////
+4 ------------
+5 ............
+# Test End
+# ---------------------------------------------------------------
+# Test Begin: Test if recovery works if first page of
+# system tablespace is corrupted.
+begin;
+insert into t1 values (6, repeat('%', 400));
+# Ensure that all dirty pages in the system are flushed.
+set global innodb_buf_flush_list_now = 1;
+# Make the first page dirty for system tablespace
+set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = 0;
+# Ensure that the dirty page of system tablespace is also flushed.
+set global innodb_buf_flush_list_now = 1;
+# Kill the server
+# Corrupt the first page (page_no=0) of the system tablespace.
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select f1, f2 from t1;
+f1 f2
+1 ############
+2 ++++++++++++
+3 ////////////
+4 ------------
+5 ............
+# Test End
+# ---------------------------------------------------------------
+# Test Begin: Test if recovery works if 2nd page of
+# system tablespace is full of zeroes.
+begin;
+insert into t1 values (6, repeat('%', 400));
+# Ensure that all dirty pages in the system are flushed.
+set global innodb_buf_flush_list_now = 1;
+# Make the second page dirty for system tablespace
+set global innodb_saved_page_number_debug = 1;
+set global innodb_fil_make_page_dirty_debug = 0;
+# Ensure that the dirty page of system tablespace is also flushed.
+set global innodb_buf_flush_list_now = 1;
+# Kill the server
+# Make the 2nd page (page_no=1) of the system tablespace
+# all zeroes.
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select f1, f2 from t1;
+f1 f2
+1 ############
+2 ++++++++++++
+3 ////////////
+4 ------------
+5 ............
+# Test End
+# ---------------------------------------------------------------
+# Test Begin: Test if recovery works if 2nd page of
+# system tablespace is corrupted.
+begin;
+insert into t1 values (6, repeat('%', 400));
+# Ensure that all dirty pages in the system are flushed.
+set global innodb_buf_flush_list_now = 1;
+# Make the second page dirty for system tablespace
+set global innodb_saved_page_number_debug = 1;
+set global innodb_fil_make_page_dirty_debug = 0;
+# Ensure that the dirty page of system tablespace is also flushed.
+set global innodb_buf_flush_list_now = 1;
+# Kill the server
+# Make the 2nd page (page_no=1) of the system tablespace
+# all zeroes.
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+FOUND /\[ERROR\] InnoDB: .* in tablespace.*test.t1.*/ in mysqld.1.err
+select f1, f2 from t1;
+f1 f2
+1 ############
+2 ++++++++++++
+3 ////////////
+4 ------------
+5 ............
+drop table t1;
+#
+# MDEV-12600 crash during install_db with innodb_page_size=32K
+# and ibdata1=3M
+#
+SELECT * FROM INFORMATION_SCHEMA.ENGINES
+WHERE engine = 'innodb'
+AND support IN ('YES', 'DEFAULT', 'ENABLED');
+ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
+FOUND /\[ERROR\] InnoDB: Cannot create doublewrite buffer/ in mysqld.1.err
diff --git a/mysql-test/suite/innodb/r/drop_table_background.result b/mysql-test/suite/innodb/r/drop_table_background.result
new file mode 100644
index 00000000000..a6f5672ba7f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/drop_table_background.result
@@ -0,0 +1,9 @@
+CREATE TABLE t(c0 SERIAL, c1 INT, c2 INT, c3 INT, c4 INT,
+KEY(c1), KEY(c2), KEY(c2,c1),
+KEY(c3), KEY(c3,c1), KEY(c3,c2), KEY(c3,c2,c1),
+KEY(c4), KEY(c4,c1), KEY(c4,c2), KEY(c4,c2,c1),
+KEY(c4,c3), KEY(c4,c3,c1), KEY(c4,c3,c2), KEY(c4,c3,c2,c1)) ENGINE=InnoDB;
+SET DEBUG_DBUG='+d,row_drop_table_add_to_background';
+DROP TABLE t;
+CREATE TABLE t (a INT) ENGINE=InnoDB;
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/fake_changes-7000.result b/mysql-test/suite/innodb/r/fake_changes-7000.result
new file mode 100644
index 00000000000..e41020b7d74
--- /dev/null
+++ b/mysql-test/suite/innodb/r/fake_changes-7000.result
@@ -0,0 +1,6 @@
+create table t1 (i int) engine=InnoDB;
+set innodb_fake_changes = 1;
+insert into t1 values (1);
+ERROR HY000: Got error 131 "Command not supported by database" during COMMIT
+set innodb_fake_changes = 0;
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/file_format_defaults.result b/mysql-test/suite/innodb/r/file_format_defaults.result
new file mode 100644
index 00000000000..981188f00f7
--- /dev/null
+++ b/mysql-test/suite/innodb/r/file_format_defaults.result
@@ -0,0 +1,56 @@
+SELECT @@innodb_strict_mode;
+@@innodb_strict_mode
+0
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+SET @file_format = @@GLOBAL.innodb_file_format;
+SET GLOBAL innodb_large_prefix=ON;
+SET SQL_MODE=strict_all_tables;
+CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+Warnings:
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+SHOW CREATE TABLE tab0;
+Table Create Table
+tab0 CREATE TABLE `tab0` (
+ `c1` varchar(65530) DEFAULT NULL,
+ KEY `c1` (`c1`(3072))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+DROP TABLE tab0;
+CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB KEY_BLOCK_SIZE=2;
+ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+SET GLOBAL innodb_file_format=Antelope;
+CREATE TABLE tab0(c1 INT,c2 LONGBLOB ) ENGINE=InnoDB ROW_FORMAT=Dynamic;
+DROP TABLE tab0;
+SET GLOBAL innodb_file_format=Default;
+SELECT @@innodb_file_format;
+@@innodb_file_format
+Antelope
+SET GLOBAL innodb_strict_mode=OFF;
+SET GLOBAL innodb_strict_mode=Default;
+SELECT @@innodb_strict_mode;
+@@innodb_strict_mode
+0
+SET GLOBAL innodb_large_prefix=OFF;
+SELECT @@innodb_large_prefix;
+@@innodb_large_prefix
+0
+SET GLOBAL innodb_large_prefix=Default;
+SELECT @@innodb_large_prefix;
+@@innodb_large_prefix
+0
+SET GLOBAL innodb_file_format_max=Default;
+SELECT @@innodb_file_format_max;
+@@innodb_file_format_max
+Antelope
+CREATE TABLE tab1(c1 int ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SELECT @@innodb_file_format_max;
+@@innodb_file_format_max
+Antelope
+SET GLOBAL innodb_file_format_max=Default;
+SET GLOBAL innodb_large_prefix=off;
+SET GLOBAL innodb_file_format = @file_format;
+DROP TABLE tab1;
diff --git a/mysql-test/suite/innodb/r/foreign-keys.result b/mysql-test/suite/innodb/r/foreign-keys.result
index 53ddf618244..10e0b1f3d7b 100644
--- a/mysql-test/suite/innodb/r/foreign-keys.result
+++ b/mysql-test/suite/innodb/r/foreign-keys.result
@@ -14,3 +14,113 @@ ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people`
ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people`
(`people_id`);
drop table title, department, people;
+create table t1 (a int primary key, b int) engine=innodb;
+create table t2 (c int primary key, d int,
+foreign key (d) references t1 (a) on update cascade) engine=innodb;
+insert t1 values (1,1),(2,2),(3,3);
+insert t2 values (4,1),(5,2),(6,3);
+flush table t2 with read lock;
+connect con1,localhost,root;
+delete from t1 where a=2;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`d`) REFERENCES `t1` (`a`) ON UPDATE CASCADE)
+update t1 set a=10 where a=1;
+connection default;
+unlock tables;
+connection con1;
+connection default;
+lock table t2 write;
+connection con1;
+delete from t1 where a=2;
+connection default;
+unlock tables;
+connection con1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`d`) REFERENCES `t1` (`a`) ON UPDATE CASCADE)
+connection default;
+unlock tables;
+disconnect con1;
+create user foo;
+grant select,update on test.t1 to foo;
+connect foo,localhost,foo;
+update t1 set a=30 where a=3;
+disconnect foo;
+connection default;
+select * from t2;
+c d
+5 2
+4 10
+6 30
+drop table t2, t1;
+drop user foo;
+create table t1 (f1 int primary key) engine=innodb;
+create table t2 (f2 int primary key) engine=innodb;
+create table t3 (f3 int primary key, foreign key (f3) references t2(f2)) engine=innodb;
+insert into t1 values (1),(2),(3),(4),(5);
+insert into t2 values (1),(2),(3),(4),(5);
+insert into t3 values (1),(2),(3),(4),(5);
+connect con1,localhost,root;
+set debug_sync='alter_table_before_rename_result_table signal g1 wait_for g2';
+alter table t2 add constraint foreign key (f2) references t1(f1) on delete cascade on update cascade;
+connection default;
+set debug_sync='before_execute_sql_command wait_for g1';
+update t1 set f1 = f1 + 100000 limit 2;
+connect con2,localhost,root;
+kill query UPDATE;
+disconnect con2;
+connection default;
+ERROR 70100: Query execution was interrupted
+set debug_sync='now signal g2';
+connection con1;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `f2` int(11) NOT NULL,
+ PRIMARY KEY (`f2`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f2`) REFERENCES `t1` (`f1`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+disconnect con1;
+connection default;
+select * from t2 where f2 not in (select f1 from t1);
+f2
+select * from t3 where f3 not in (select f2 from t2);
+f3
+drop table t3;
+drop table t2;
+drop table t1;
+set debug_sync='reset';
+#
+# MDEV-17595 - Server crashes in copy_data_between_tables or
+# Assertion `thd->transaction.stmt.is_empty() ||
+# (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)'
+# fails in close_tables_for_reopen upon concurrent
+# ALTER TABLE and FLUSH
+#
+CREATE TABLE t1 (a INT, KEY(a)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1),(2);
+CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(2);
+ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE;
+DROP TABLE t2, t1;
+#
+# MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name)
+#
+CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 LIKE t1;
+FLUSH TABLES;
+SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go';
+ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE;
+connect con1, localhost, root;
+SET debug_sync='now WAIT_FOR ready';
+SET lock_wait_timeout=1;
+UPDATE t2 SET pk=10 WHERE pk=1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1';
+DEALLOCATE PREPARE stmt;
+FLUSH TABLE t2;
+SET debug_sync='now SIGNAL go';
+connection default;
+disconnect con1;
+connection default;
+SET debug_sync='reset';
+SHOW OPEN TABLES FROM test;
+Database Table In_use Name_locked
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/innodb/r/foreign_key.result b/mysql-test/suite/innodb/r/foreign_key.result
index 39f99513ee0..e56e5308909 100644
--- a/mysql-test/suite/innodb/r/foreign_key.result
+++ b/mysql-test/suite/innodb/r/foreign_key.result
@@ -1,14 +1,109 @@
+SET FOREIGN_KEY_CHECKS=0;
+CREATE TABLE staff (
+staff_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
+store_id TINYINT UNSIGNED NOT NULL,
+PRIMARY KEY (staff_id),
+KEY idx_fk_store_id (store_id),
+CONSTRAINT fk_staff_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE RESTRICT ON UPDATE CASCADE
+) ENGINE=InnoDB;
+CREATE TABLE store (
+store_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
+manager_staff_id TINYINT UNSIGNED NOT NULL,
+PRIMARY KEY (store_id),
+UNIQUE KEY idx_unique_manager (manager_staff_id),
+CONSTRAINT fk_store_staff FOREIGN KEY (manager_staff_id) REFERENCES staff (staff_id) ON DELETE RESTRICT ON UPDATE CASCADE
+) ENGINE=InnoDB;
+SET FOREIGN_KEY_CHECKS=DEFAULT;
+LOCK TABLE staff WRITE;
+UNLOCK TABLES;
+DROP TABLES staff, store;
+SET FOREIGN_KEY_CHECKS=1;
+#
+# MDEV-17531 Crash in RENAME TABLE with FOREIGN KEY and FULLTEXT INDEX
+#
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE DATABASE best;
+CREATE TABLE t3 (a INT PRIMARY KEY,
+CONSTRAINT t2_ibfk_1 FOREIGN KEY (a) REFERENCES t1(a)) ENGINE=InnoDB;
+CREATE TABLE best.t2 (a INT PRIMARY KEY, b TEXT, FULLTEXT INDEX(b),
+FOREIGN KEY (a) REFERENCES test.t1(a)) ENGINE=InnoDB;
+RENAME TABLE best.t2 TO test.t2;
+ERROR 42S01: Table 't2' already exists
+SHOW CREATE TABLE best.t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) NOT NULL,
+ `b` text,
+ PRIMARY KEY (`a`),
+ FULLTEXT KEY `b` (`b`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `test`.`t1` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP DATABASE best;
+#
+# MDEV-17541 KILL QUERY during lock wait in FOREIGN KEY check hangs
+#
+INSERT INTO t1 SET a=1;
+BEGIN;
+DELETE FROM t1;
+INSERT INTO t3 SET a=1;
+kill query @id;
+ERROR 70100: Query execution was interrupted
+DROP TABLE t3,t1;
+#
+# MDEV-18222 InnoDB: Failing assertion: heap->magic_n == MEM_BLOCK_MAGIC_N
+# or ASAN heap-use-after-free in dict_foreign_remove_from_cache upon CHANGE COLUMN
+#
+CREATE TABLE t1 (a INT, UNIQUE(a), KEY(a)) ENGINE=InnoDB;
+ALTER TABLE t1 ADD FOREIGN KEY (a) REFERENCES t1 (a);
+SET SESSION FOREIGN_KEY_CHECKS = OFF;
+ALTER TABLE t1 CHANGE COLUMN a a TIME NOT NULL;
+ALTER TABLE t1 ADD pk INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
+ALTER TABLE t1 CHANGE COLUMN a b TIME;
+SET SESSION FOREIGN_KEY_CHECKS = ON;
+DROP TABLE t1;
+#
+# MDEV-18256 InnoDB: Failing assertion: heap->magic_n == MEM_BLOCK_MAGIC_N
+# upon DROP FOREIGN KEY
+#
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (b INT PRIMARY KEY, FOREIGN KEY fk1 (b) REFERENCES t1 (a))
+ENGINE=InnoDB;
+ALTER TABLE t2 DROP FOREIGN KEY fk1, DROP FOREIGN KEY fk1;
+DROP TABLE t2, t1;
+CREATE TABLE t1 (f VARCHAR(256)) ENGINE=InnoDB;
+SET SESSION FOREIGN_KEY_CHECKS = OFF;
+ALTER TABLE t1 ADD FOREIGN KEY (f) REFERENCES non_existing_table (x);
+SET SESSION FOREIGN_KEY_CHECKS = ON;
+ALTER TABLE t1 ADD FULLTEXT INDEX ft1 (f);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+Warning 1088 failed to load FOREIGN KEY constraints
+ALTER TABLE t1 ADD FULLTEXT INDEX ft2 (f);
+Warnings:
+Warning 1088 failed to load FOREIGN KEY constraints
+DROP TABLE t1;
+CREATE TABLE t1 (f VARCHAR(256), FTS_DOC_ID BIGINT UNSIGNED PRIMARY KEY)
+ENGINE=InnoDB;
+SET SESSION FOREIGN_KEY_CHECKS = OFF;
+ALTER TABLE t1 ADD FOREIGN KEY (f) REFERENCES non_existing_table (x);
+SET SESSION FOREIGN_KEY_CHECKS = ON;
+ALTER TABLE t1 ADD FULLTEXT INDEX ft1 (f);
+Warnings:
+Warning 1088 failed to load FOREIGN KEY constraints
+ALTER TABLE t1 ADD FULLTEXT INDEX ft2 (f);
+DROP TABLE t1;
#
# MDEV-18630 Conditional jump or move depends on uninitialised value
# in ib_push_warning / dict_create_foreign_constraints_low
#
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
ALTER IGNORE TABLE t1 ADD FOREIGN KEY (a) REFERENCES t2 (b);
-ERROR HY000: Can't create table 'test.#sql-temporary' (errno: 150)
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
SHOW WARNINGS;
Level Code Message
Warning 150 Alter table `test`.`t1` with foreign key constraint failed. Referenced table `test`.`t2` not found in the data dictionary near 'FOREIGN KEY (a) REFERENCES t2 (b)'.
-Error 1005 Can't create table 'test.#sql-temporary' (errno: 150)
+Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
DROP TABLE t1;
#
# MDEV-18139 ALTER IGNORE ... ADD FOREIGN KEY causes bogus error
diff --git a/mysql-test/suite/innodb/r/group_commit.result b/mysql-test/suite/innodb/r/group_commit.result
index 1009a83637f..5321715df36 100644
--- a/mysql-test/suite/innodb/r/group_commit.result
+++ b/mysql-test/suite/innodb/r/group_commit.result
@@ -3,11 +3,11 @@ SELECT variable_value INTO @commits FROM information_schema.global_status
WHERE variable_name = 'binlog_commits';
SELECT variable_value INTO @group_commits FROM information_schema.global_status
WHERE variable_name = 'binlog_group_commits';
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group1_running WAIT_FOR group2_queued";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group1_running WAIT_FOR group2_queued";
INSERT INTO t1 VALUES ("con1");
set DEBUG_SYNC= "now WAIT_FOR group1_running";
SET DEBUG_SYNC= "commit_after_prepare_ordered SIGNAL group2_con2";
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group2_running";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group2_running";
SET DEBUG_SYNC= "commit_after_release_LOCK_log WAIT_FOR group3_committed";
SET DEBUG_SYNC= "commit_after_group_run_commit_ordered SIGNAL group2_visible WAIT_FOR group2_checked";
INSERT INTO t1 VALUES ("con2");
@@ -25,7 +25,7 @@ SET DEBUG_SYNC= "now SIGNAL group2_queued";
SELECT * FROM t1 ORDER BY a;
a
con1
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group3_con5";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group3_con5";
SET DEBUG_SYNC= "commit_after_get_LOCK_log SIGNAL con5_leader WAIT_FOR con6_queued";
set DEBUG_SYNC= "now WAIT_FOR group2_running";
INSERT INTO t1 VALUES ("con5");
diff --git a/mysql-test/suite/innodb/r/group_commit_binlog_pos.result b/mysql-test/suite/innodb/r/group_commit_binlog_pos.result
index d28ad1fd70e..8a0eed2bf3c 100644
--- a/mysql-test/suite/innodb/r/group_commit_binlog_pos.result
+++ b/mysql-test/suite/innodb/r/group_commit_binlog_pos.result
@@ -1,3 +1,4 @@
+SET GLOBAL innodb_flush_log_at_trx_commit=3;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb;
INSERT INTO t1 VALUES (0);
SET DEBUG_SYNC= "commit_after_get_LOCK_log SIGNAL con1_waiting WAIT_FOR con3_queued";
@@ -30,6 +31,6 @@ a
1
2
3
-InnoDB: Last MySQL binlog file position 0 906, file name ./master-bin.000001
+InnoDB: Last MySQL binlog file position 0 <pos>, file name ./master-bin.000001
SET DEBUG_SYNC= 'RESET';
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/group_commit_binlog_pos_no_optimize_thread.result b/mysql-test/suite/innodb/r/group_commit_binlog_pos_no_optimize_thread.result
index da8cff142b8..d85b6681360 100644
--- a/mysql-test/suite/innodb/r/group_commit_binlog_pos_no_optimize_thread.result
+++ b/mysql-test/suite/innodb/r/group_commit_binlog_pos_no_optimize_thread.result
@@ -1,3 +1,4 @@
+SET GLOBAL innodb_flush_log_at_trx_commit=3;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb;
INSERT INTO t1 VALUES (0);
SET DEBUG_SYNC= "commit_after_get_LOCK_log SIGNAL con1_waiting WAIT_FOR con3_queued";
@@ -31,6 +32,6 @@ a
1
2
3
-InnoDB: Last MySQL binlog file position 0 906, file name ./master-bin.000001
+InnoDB: Last MySQL binlog file position 0 <pos>, file name ./master-bin.000001
SET DEBUG_SYNC= 'RESET';
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/group_commit_crash.result b/mysql-test/suite/innodb/r/group_commit_crash.result
index cd47ba62ff2..005049df281 100644
--- a/mysql-test/suite/innodb/r/group_commit_crash.result
+++ b/mysql-test/suite/innodb/r/group_commit_crash.result
@@ -36,7 +36,7 @@ COMMIT;
Got one of the listed errors
SELECT * FROM t1 ORDER BY id;
a b c d id
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
delete from t1;
SET binlog_format= mixed;
@@ -58,7 +58,7 @@ a b c d 7
a b c d 8
a b c d 9
a b c d 10
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t2
delete from t1;
@@ -81,7 +81,7 @@ a b c d 7
a b c d 8
a b c d 9
a b c d 10
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t2
delete from t1;
@@ -104,7 +104,7 @@ a b c d 7
a b c d 8
a b c d 9
a b c d 10
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t2
delete from t1;
@@ -117,7 +117,7 @@ COMMIT;
Got one of the listed errors
SELECT * FROM t1 ORDER BY id;
a b c d id
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
delete from t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/group_commit_crash_no_optimize_thread.result b/mysql-test/suite/innodb/r/group_commit_crash_no_optimize_thread.result
index c1ae510d45b..846500ad2b1 100644
--- a/mysql-test/suite/innodb/r/group_commit_crash_no_optimize_thread.result
+++ b/mysql-test/suite/innodb/r/group_commit_crash_no_optimize_thread.result
@@ -36,7 +36,7 @@ COMMIT;
Got one of the listed errors
SELECT * FROM t1 ORDER BY id;
a b c d id
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
delete from t1;
SET binlog_format= mixed;
@@ -58,7 +58,7 @@ a b c d 7
a b c d 8
a b c d 9
a b c d 10
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t2
delete from t1;
@@ -81,7 +81,7 @@ a b c d 7
a b c d 8
a b c d 9
a b c d 10
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t2
delete from t1;
@@ -104,7 +104,7 @@ a b c d 7
a b c d 8
a b c d 9
a b c d 10
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t2
delete from t1;
@@ -117,7 +117,7 @@ COMMIT;
Got one of the listed errors
SELECT * FROM t1 ORDER BY id;
a b c d id
-SHOW BINLOG EVENTS LIMIT 2,1;
+SHOW BINLOG EVENTS LIMIT 4,1;
Log_name Pos Event_type Server_id End_log_pos Info
delete from t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/group_commit_no_optimize_thread.result b/mysql-test/suite/innodb/r/group_commit_no_optimize_thread.result
index 34a638da2d5..dd152fd3c9c 100644
--- a/mysql-test/suite/innodb/r/group_commit_no_optimize_thread.result
+++ b/mysql-test/suite/innodb/r/group_commit_no_optimize_thread.result
@@ -3,11 +3,11 @@ SELECT variable_value INTO @commits FROM information_schema.global_status
WHERE variable_name = 'binlog_commits';
SELECT variable_value INTO @group_commits FROM information_schema.global_status
WHERE variable_name = 'binlog_group_commits';
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group1_running WAIT_FOR group2_queued";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group1_running WAIT_FOR group2_queued";
INSERT INTO t1 VALUES ("con1");
set DEBUG_SYNC= "now WAIT_FOR group1_running";
SET DEBUG_SYNC= "commit_after_prepare_ordered SIGNAL group2_con2";
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group2_running";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group2_running";
SET DEBUG_SYNC= "commit_after_release_LOCK_log WAIT_FOR group3_committed";
INSERT INTO t1 VALUES ("con2");
SET DEBUG_SYNC= "now WAIT_FOR group2_con2";
@@ -25,7 +25,7 @@ SET DEBUG_SYNC= "now SIGNAL group2_queued";
SELECT * FROM t1 ORDER BY a;
a
con1
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group3_con5";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group3_con5";
SET DEBUG_SYNC= "commit_after_get_LOCK_log SIGNAL con5_leader WAIT_FOR con6_queued";
set DEBUG_SYNC= "now WAIT_FOR group2_running";
INSERT INTO t1 VALUES ("con5");
diff --git a/mysql-test/suite/innodb/r/help_url.result b/mysql-test/suite/innodb/r/help_url.result
new file mode 100644
index 00000000000..10affe78f0c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/help_url.result
@@ -0,0 +1,4 @@
+create table innodb_table_monitor (a int) engine=InnoDB;
+Warnings:
+Warning 131 Using the table name innodb_table_monitor to enable diagnostic output is deprecated and may be removed in future releases. Use INFORMATION_SCHEMA or PERFORMANCE_SCHEMA tables or SET GLOBAL innodb_status_output=ON.
+drop table innodb_table_monitor;
diff --git a/mysql-test/suite/innodb/r/index_tree_operation.result b/mysql-test/suite/innodb/r/index_tree_operation.result
new file mode 100644
index 00000000000..29660962e0c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/index_tree_operation.result
@@ -0,0 +1,55 @@
+#
+# Bug#15923864 (Bug#67718):
+# INNODB DRASTICALLY UNDER-FILLS PAGES IN CERTAIN CONDITIONS
+#
+SET GLOBAL innodb_file_per_table=ON;
+CREATE TABLE t1 (a BIGINT PRIMARY KEY, b VARCHAR(4096)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (0, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (1000, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (1001, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (1002, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (1, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (2, REPEAT('a', 4096));
+SELECT page_number, number_records
+FROM information_schema.innodb_sys_tablespaces s1,
+information_schema.innodb_buffer_page s2
+WHERE s1.space = s2.space AND name = 'test/t1'
+AND page_type = "INDEX" ORDER BY page_number;
+page_number number_records
+3 2
+4 3
+5 3
+INSERT INTO t1 VALUES (999, REPEAT('a', 4096));
+SELECT page_number, number_records
+FROM information_schema.innodb_sys_tablespaces s1,
+information_schema.innodb_buffer_page s2
+WHERE s1.space = s2.space AND name = 'test/t1'
+AND page_type = "INDEX" ORDER BY page_number;
+page_number number_records
+3 3
+4 3
+5 3
+6 1
+INSERT INTO t1 VALUES (998, REPEAT('a', 4096));
+SELECT page_number, number_records
+FROM information_schema.innodb_sys_tablespaces s1,
+information_schema.innodb_buffer_page s2
+WHERE s1.space = s2.space AND name = 'test/t1'
+AND page_type = "INDEX" ORDER BY page_number;
+page_number number_records
+3 3
+4 3
+5 3
+6 2
+INSERT INTO t1 VALUES (997, REPEAT('a', 4096));
+SELECT page_number, number_records
+FROM information_schema.innodb_sys_tablespaces s1,
+information_schema.innodb_buffer_page s2
+WHERE s1.space = s2.space AND name = 'test/t1'
+AND page_type = "INDEX" ORDER BY page_number;
+page_number number_records
+3 3
+4 3
+5 3
+6 3
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innochecksum.result b/mysql-test/suite/innodb/r/innochecksum.result
new file mode 100644
index 00000000000..6fc613f3d1f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innochecksum.result
@@ -0,0 +1,22 @@
+# Create and populate a table
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
+INSERT INTO t1 (b) VALUES ('corrupt me');
+INSERT INTO t1 (b) VALUES ('corrupt me');
+CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT)
+ROW_FORMAT=COMPRESSED ENGINE=InnoDB ;
+INSERT INTO t2(b) SELECT b from t1;
+CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT)
+ROW_FORMAT=COMPRESSED ENGINE=InnoDB KEY_BLOCK_SIZE=16;
+INSERT INTO t3(b) SELECT b from t1;
+# Write file to make mysql-test-run.pl expect the "crash", but don't
+# start it until it's told to
+# We give 30 seconds to do a clean shutdown because we do not want
+# to redo apply the pages of t1.ibd at the time of recovery.
+# We want SQL to initiate the first access to t1.ibd.
+# Wait until disconnected.
+# Run innochecksum on t1
+# Run innochecksum on t2
+# Run innochecksum on t3
+# Write file to make mysql-test-run.pl start up the server again
+# Cleanup
+DROP TABLE t1, t2, t3;
diff --git a/mysql-test/suite/innodb/r/innodb-16k.result b/mysql-test/suite/innodb/r/innodb-16k.result
new file mode 100644
index 00000000000..77ff688f130
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-16k.result
@@ -0,0 +1,981 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+# Test 1) Show the page size from Information Schema
+SELECT variable_value FROM information_schema.global_status
+WHERE LOWER(variable_name) = 'innodb_page_size';
+variable_value
+16384
+# Test 4) The maximum row size is dependent upon the page size.
+# Redundant: 8123, Compact: 8126.
+# Compressed: 8126, Dynamic: 8126.
+# Each row format has its own amount of overhead that
+# varies depending on number of fields and other overhead.
+SET SESSION innodb_strict_mode = ON;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(211)
+) ROW_FORMAT=redundant;
+DROP TABLE t1;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(212)
+) ROW_FORMAT=redundant;
+ERROR 42000: Row size too large (> 8123). 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.
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(246)
+) ROW_FORMAT=compact;
+DROP TABLE t1;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(247)
+) ROW_FORMAT=compact;
+ERROR 42000: Row size too large (> 8126). 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.
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157)
+) ROW_FORMAT=compressed;
+DROP TABLE t1;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(160)
+) ROW_FORMAT=compressed;
+ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(246)
+) ROW_FORMAT=dynamic;
+DROP TABLE t1;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(247)
+) ROW_FORMAT=dynamic;
+ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
+e varchar(4) character set utf8,
+PRIMARY KEY (a,b,c,d,e))
+ENGINE=innodb;
+DROP TABLE t1;
+CREATE TABLE t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
+e varchar(5) character set utf8,
+PRIMARY KEY (a,b,c,d,e))
+ENGINE=innodb;
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+CREATE TABLE t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
+e varchar(255) character set utf8,
+f varchar(4) character set utf8,
+PRIMARY KEY (a), KEY (b,c,d,e,f))
+ENGINE=innodb;
+DROP TABLE t1;
+CREATE TABLE t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
+e varchar(255) character set utf8,
+f varchar(5) character set utf8,
+PRIMARY KEY (a), KEY (b,c,d,e,f))
+ENGINE=innodb;
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+# Test 5) Make sure that KEY_BLOCK_SIZE=16, 8, 4, 2 & 1
+# are all accepted.
+SET SESSION innodb_strict_mode = ON;
+CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=16
+ALTER TABLE t1 KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=8
+ALTER TABLE t1 KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=4
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=2
+ALTER TABLE t1 KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=1
+ALTER TABLE t1 KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED
+DROP TABLE t1;
+SET SESSION innodb_strict_mode = OFF;
+CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=16
+ALTER TABLE t1 KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=8
+ALTER TABLE t1 KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=4
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=2
+ALTER TABLE t1 KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED key_block_size=1
+ALTER TABLE t1 KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT table_name, row_format, create_options
+FROM information_schema.tables WHERE table_name = 't1';
+table_name row_format create_options
+t1 Compressed row_format=COMPRESSED
+DROP TABLE t1;
+SET GLOBAL innodb_file_format = `Barracuda`;
+CREATE TABLE t2(d varchar(17) PRIMARY KEY) ENGINE=innodb DEFAULT CHARSET=utf8;
+CREATE TABLE t3(a int PRIMARY KEY) ENGINE=innodb;
+INSERT INTO t3 VALUES (22),(44),(33),(55),(66);
+INSERT INTO t2 VALUES ('jejdkrun87'),('adfd72nh9k'),
+('adfdpplkeock'),('adfdijnmnb78k'),('adfdijn0loKNHJik');
+CREATE TABLE t1(a int, b blob, c text, d text NOT NULL)
+ENGINE=innodb DEFAULT CHARSET=utf8;
+INSERT INTO t1
+SELECT a,LEFT(REPEAT(d,100*a),65535),REPEAT(d,20*a),d FROM t2,t3;
+DROP TABLE t2, t3;
+SELECT COUNT(*) FROM t1 WHERE a=44;
+COUNT(*)
+5
+SELECT a,
+LENGTH(b),b=LEFT(REPEAT(d,100*a),65535),LENGTH(c),c=REPEAT(d,20*a),d FROM t1;
+a LENGTH(b) b=LEFT(REPEAT(d,100*a),65535) LENGTH(c) c=REPEAT(d,20*a) d
+22 22000 1 4400 1 adfd72nh9k
+22 35200 1 7040 1 adfdijn0loKNHJik
+22 28600 1 5720 1 adfdijnmnb78k
+22 26400 1 5280 1 adfdpplkeock
+22 22000 1 4400 1 jejdkrun87
+33 33000 1 6600 1 adfd72nh9k
+33 52800 1 10560 1 adfdijn0loKNHJik
+33 42900 1 8580 1 adfdijnmnb78k
+33 39600 1 7920 1 adfdpplkeock
+33 33000 1 6600 1 jejdkrun87
+44 44000 1 8800 1 adfd72nh9k
+44 65535 1 14080 1 adfdijn0loKNHJik
+44 57200 1 11440 1 adfdijnmnb78k
+44 52800 1 10560 1 adfdpplkeock
+44 44000 1 8800 1 jejdkrun87
+55 55000 1 11000 1 adfd72nh9k
+55 65535 1 17600 1 adfdijn0loKNHJik
+55 65535 1 14300 1 adfdijnmnb78k
+55 65535 1 13200 1 adfdpplkeock
+55 55000 1 11000 1 jejdkrun87
+66 65535 1 13200 1 adfd72nh9k
+66 65535 1 21120 1 adfdijn0loKNHJik
+66 65535 1 17160 1 adfdijnmnb78k
+66 65535 1 15840 1 adfdpplkeock
+66 65535 1 13200 1 jejdkrun87
+ALTER TABLE t1 ADD PRIMARY KEY (a), ADD KEY (b(20));
+ERROR 23000: Duplicate entry '22' for key 'PRIMARY'
+DELETE FROM t1 WHERE d='null';
+ALTER TABLE t1 ADD PRIMARY KEY (a), ADD KEY (b(20));
+ERROR 23000: Duplicate entry '22' for key 'PRIMARY'
+DELETE FROM t1 WHERE a%2;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+ALTER TABLE t1 ADD PRIMARY KEY (a,b(255),c(255)), ADD KEY (b(767));
+SELECT COUNT(*) FROM t1 WHERE a=44;
+COUNT(*)
+5
+SELECT a,
+LENGTH(b), b=LEFT(REPEAT(d,100*a), 65535),LENGTH(c), c=REPEAT(d,20*a), d FROM t1;
+a LENGTH(b) b=LEFT(REPEAT(d,100*a), 65535) LENGTH(c) c=REPEAT(d,20*a) d
+22 22000 1 4400 1 adfd72nh9k
+22 35200 1 7040 1 adfdijn0loKNHJik
+22 28600 1 5720 1 adfdijnmnb78k
+22 26400 1 5280 1 adfdpplkeock
+22 22000 1 4400 1 jejdkrun87
+44 44000 1 8800 1 adfd72nh9k
+44 65535 1 14080 1 adfdijn0loKNHJik
+44 57200 1 11440 1 adfdijnmnb78k
+44 52800 1 10560 1 adfdpplkeock
+44 44000 1 8800 1 jejdkrun87
+66 65535 1 13200 1 adfd72nh9k
+66 65535 1 21120 1 adfdijn0loKNHJik
+66 65535 1 17160 1 adfdijnmnb78k
+66 65535 1 15840 1 adfdpplkeock
+66 65535 1 13200 1 jejdkrun87
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` blob NOT NULL,
+ `c` text NOT NULL,
+ `d` text NOT NULL,
+ PRIMARY KEY (`a`,`b`(255),`c`(255)),
+ KEY `b` (`b`(767))
+) ENGINE=InnoDB DEFAULT CHARSET=utf8
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+# Test 8) Test creating a table that could lead to undo log overflow.
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+o blob,p blob,q blob,r blob,s blob,t blob,u blob)
+ENGINE=InnoDB ROW_FORMAT=dynamic;
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b;
+CREATE INDEX t1a ON t1 (a(767));
+CREATE INDEX t1b ON t1 (b(767));
+CREATE INDEX t1c ON t1 (c(767));
+CREATE INDEX t1d ON t1 (d(767));
+CREATE INDEX t1e ON t1 (e(767));
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c;
+CREATE INDEX t1f ON t1 (f(767));
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d,f=@d,g=@d,h=@d,i=@d,j=@d,
+k=@d,l=@d,m=@d,n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+ROLLBACK;
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d,k=@d,l=@d,m=@d,
+n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+COMMIT;
+CREATE INDEX t1g ON t1 (g(767));
+UPDATE t1 SET g=@e;
+CREATE INDEX t1h ON t1 (h(767));
+UPDATE t1 SET h=@e;
+CREATE INDEX t1i ON t1 (i(767));
+UPDATE t1 SET i=@e;
+CREATE INDEX t1j ON t1 (j(767));
+UPDATE t1 SET j=@e;
+CREATE INDEX t1k ON t1 (k(767));
+UPDATE t1 SET k=@e;
+CREATE INDEX t1l ON t1 (l(767));
+UPDATE t1 SET l=@e;
+CREATE INDEX t1m ON t1 (m(767));
+UPDATE t1 SET m=@e;
+CREATE INDEX t1n ON t1 (n(767));
+UPDATE t1 SET n=@e;
+CREATE INDEX t1o ON t1 (o(767));
+UPDATE t1 SET o=@e;
+CREATE INDEX t1p ON t1 (p(767));
+UPDATE t1 SET p=@e;
+CREATE INDEX t1q ON t1 (q(767));
+UPDATE t1 SET q=@e;
+CREATE INDEX t1r ON t1 (r(767));
+UPDATE t1 SET r=@e;
+CREATE INDEX t1s ON t1 (s(767));
+UPDATE t1 SET s=@e;
+CREATE INDEX t1t ON t1 (t(767));
+BEGIN;
+UPDATE t1 SET t=@e;
+ROLLBACK;
+CREATE INDEX t1u ON t1 (u(767));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+CREATE INDEX t1ut ON t1 (u(767), t(767));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+CREATE INDEX t1st ON t1 (s(767), t(767));
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` blob,
+ `b` blob,
+ `c` blob,
+ `d` blob,
+ `e` blob,
+ `f` blob,
+ `g` blob,
+ `h` blob,
+ `i` blob,
+ `j` blob,
+ `k` blob,
+ `l` blob,
+ `m` blob,
+ `n` blob,
+ `o` blob,
+ `p` blob,
+ `q` blob,
+ `r` blob,
+ `s` blob,
+ `t` blob,
+ `u` blob,
+ KEY `t1a` (`a`(767)),
+ KEY `t1b` (`b`(767)),
+ KEY `t1c` (`c`(767)),
+ KEY `t1d` (`d`(767)),
+ KEY `t1e` (`e`(767)),
+ KEY `t1f` (`f`(767)),
+ KEY `t1g` (`g`(767)),
+ KEY `t1h` (`h`(767)),
+ KEY `t1i` (`i`(767)),
+ KEY `t1j` (`j`(767)),
+ KEY `t1k` (`k`(767)),
+ KEY `t1l` (`l`(767)),
+ KEY `t1m` (`m`(767)),
+ KEY `t1n` (`n`(767)),
+ KEY `t1o` (`o`(767)),
+ KEY `t1p` (`p`(767)),
+ KEY `t1q` (`q`(767)),
+ KEY `t1r` (`r`(767)),
+ KEY `t1s` (`s`(767)),
+ KEY `t1t` (`t`(767)),
+ KEY `t1st` (`s`(767),`t`(767))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+DROP TABLE t1;
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+Test an assertion failure on purge.
+CREATE TABLE t1_purge (
+A int,
+B blob, C blob, D blob, E blob,
+F blob, G blob, H blob,
+PRIMARY KEY (B(767), C(767), D(767), E(767), A),
+INDEX (A)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t1_purge VALUES (1,
+REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
+REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766));
+CREATE TABLE t2_purge (
+A int PRIMARY KEY,
+B blob, C blob, D blob, E blob,
+F blob, G blob, H blob, I blob,
+J blob, K blob, L blob,
+INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t2_purge VALUES (1,
+REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
+REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766), REPEAT('i', 766),
+REPEAT('j', 766), REPEAT('k', 766), REPEAT('l', 766));
+CREATE TABLE t3_purge (
+A int,
+B varchar(800), C varchar(800), D varchar(800), E varchar(800),
+F varchar(800), G varchar(800), H varchar(800),
+PRIMARY KEY (B(767), C(767), D(767), E(767), A),
+INDEX (A)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t3_purge SELECT * FROM t1_purge;
+CREATE TABLE t4_purge (
+A int PRIMARY KEY,
+B varchar(800), C varchar(800), D varchar(800), E varchar(800),
+F varchar(800), G varchar(800), H varchar(800), I varchar(800),
+J varchar(800), K varchar(800), L varchar(800),
+INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t4_purge SELECT * FROM t2_purge;
+DELETE FROM t1_purge;
+DELETE FROM t2_purge;
+DELETE FROM t3_purge;
+DELETE FROM t4_purge;
+SET GLOBAL innodb_file_per_table=on;
+SET GLOBAL innodb_file_format='Barracuda';
+SET @r=REPEAT('a',500);
+CREATE TABLE tlong(a int,
+v1 varchar(500), v2 varchar(500), v3 varchar(500),
+v4 varchar(500), v5 varchar(500), v6 varchar(500),
+v7 varchar(500), v8 varchar(500), v9 varchar(500),
+v10 varchar(500), v11 varchar(500), v12 varchar(500),
+v13 varchar(500), v14 varchar(500), v15 varchar(500),
+v16 varchar(500), v17 varchar(500), v18 varchar(500)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+CREATE INDEX idx1 ON tlong(a,v1);
+INSERT INTO tlong VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
+UPDATE tlong SET a=1000;
+DELETE FROM tlong;
+CREATE TABLE tlong2(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
+i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob)
+ENGINE=innodb ROW_FORMAT=dynamic;
+SET @r = REPEAT('a', 767);
+INSERT INTO tlong2 VALUES (@r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r);
+CREATE INDEX ndx_a ON tlong2 (a(500));
+CREATE INDEX ndx_b ON tlong2 (b(500));
+CREATE INDEX ndx_c ON tlong2 (c(500));
+CREATE INDEX ndx_d ON tlong2 (d(500));
+CREATE INDEX ndx_e ON tlong2 (e(500));
+CREATE INDEX ndx_f ON tlong2 (f(500));
+CREATE INDEX ndx_k ON tlong2 (k(500));
+CREATE INDEX ndx_l ON tlong2 (l(500));
+SET @r = REPEAT('b', 500);
+UPDATE tlong2 set a=@r,b=@r,c=@r,d=@r;
+UPDATE tlong2 set e=@r,f=@r,g=@r,h=@r;
+UPDATE tlong2 set i=@r,j=@r,k=@r,l=@r;
+UPDATE tlong2 set m=@r,n=@r,o=@r,p=@r;
+ALTER TABLE tlong2 DROP INDEX ndx_a;
+ALTER TABLE tlong2 DROP INDEX ndx_b;
+CREATE INDEX ndx_g ON tlong2 (g(500));
+CREATE INDEX ndx_h ON tlong2 (h(500));
+CREATE INDEX ndx_i ON tlong2 (i(500));
+CREATE INDEX ndx_j ON tlong2 (j(500));
+CREATE INDEX ndx_m ON tlong2 (m(500));
+CREATE INDEX ndx_n ON tlong2 (n(500));
+CREATE INDEX ndx_o ON tlong2 (o(500));
+CREATE INDEX ndx_p ON tlong2 (p(500));
+SHOW CREATE TABLE tlong2;
+Table Create Table
+tlong2 CREATE TABLE `tlong2` (
+ `a` blob,
+ `b` blob,
+ `c` blob,
+ `d` blob,
+ `e` blob,
+ `f` blob,
+ `g` blob,
+ `h` blob,
+ `i` blob,
+ `j` blob,
+ `k` blob,
+ `l` blob,
+ `m` blob,
+ `n` blob,
+ `o` blob,
+ `p` blob,
+ KEY `ndx_c` (`c`(500)),
+ KEY `ndx_d` (`d`(500)),
+ KEY `ndx_e` (`e`(500)),
+ KEY `ndx_f` (`f`(500)),
+ KEY `ndx_k` (`k`(500)),
+ KEY `ndx_l` (`l`(500)),
+ KEY `ndx_g` (`g`(500)),
+ KEY `ndx_h` (`h`(500)),
+ KEY `ndx_i` (`i`(500)),
+ KEY `ndx_j` (`j`(500)),
+ KEY `ndx_m` (`m`(500)),
+ KEY `ndx_n` (`n`(500)),
+ KEY `ndx_o` (`o`(500)),
+ KEY `ndx_p` (`p`(500))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SET SESSION innodb_strict_mode = ON;
+CREATE TABLE bug12547647(
+a int NOT NULL, b blob NOT NULL, c text,
+PRIMARY KEY (b(10), a), INDEX (c(767)), INDEX(b(767))
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO bug12547647 VALUES (5,REPEAT('khdfo5AlOq',1900),REPEAT('g',7751));
+COMMIT;
+BEGIN;
+UPDATE bug12547647 SET c = REPEAT('b',16928);
+SHOW WARNINGS;
+Level Code Message
+ROLLBACK;
+DROP TABLE bug12547647;
+SET SESSION innodb_strict_mode = off;
+CREATE TABLE t1(
+c text NOT NULL, d text NOT NULL,
+PRIMARY KEY (c(767),d(767)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
+ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE t1(
+c text NOT NULL, d text NOT NULL,
+PRIMARY KEY (c(767),d(767)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 CHARSET=ASCII;
+ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE t1(
+c text NOT NULL, d text NOT NULL,
+PRIMARY KEY (c(767),d(767)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4 CHARSET=ASCII;
+drop table t1;
+CREATE TABLE t1(c text, PRIMARY KEY (c(440)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
+ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE t1(c text, PRIMARY KEY (c(438)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
+INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
+DROP TABLE t1;
+DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
+DROP TABLE tlong;
+DROP TABLE tlong2;
+SET SESSION innodb_strict_mode = on;
+CREATE TABLE t2(COL1 TEXT,
+COL2 TEXT,
+COL3 TEXT,
+COL4 TEXT,
+COL5 TEXT,
+COL6 TEXT,
+COL7 TEXT,
+COL8 TEXT,
+COL9 TEXT,
+COL10 TEXT,
+COL11 TEXT,
+COL12 TEXT,
+COL13 TEXT,
+COL14 TEXT,
+COL15 TEXT,
+COL16 TEXT,
+COL17 TEXT,
+COL18 TEXT,
+COL19 TEXT,
+COL20 TEXT,
+COL21 TEXT,
+COL22 TEXT,
+COL23 TEXT,
+COL24 TEXT,
+COL25 TEXT,
+COL26 TEXT,
+COL27 TEXT,
+COL28 TEXT,
+COL29 TEXT,
+COL30 TEXT,
+COL31 TEXT,
+COL32 TEXT,
+COL33 TEXT,
+COL34 TEXT,
+COL35 TEXT,
+COL36 TEXT,
+COL37 TEXT,
+COL38 TEXT,
+COL39 TEXT,
+COL40 TEXT,
+COL41 TEXT,
+COL42 TEXT,
+COL43 TEXT,
+COL44 TEXT,
+COL45 TEXT,
+COL46 TEXT,
+COL47 TEXT,
+COL48 TEXT,
+COL49 TEXT,
+COL50 TEXT,
+COL51 TEXT,
+COL52 TEXT,
+COL53 TEXT,
+COL54 TEXT,
+COL55 TEXT,
+COL56 TEXT,
+COL57 TEXT,
+COL58 TEXT,
+COL59 TEXT,
+COL60 TEXT,
+COL61 TEXT,
+COL62 TEXT,
+COL63 TEXT,
+COL64 TEXT,
+COL65 TEXT,
+COL66 TEXT,
+COL67 TEXT,
+COL68 TEXT,
+COL69 TEXT,
+COL70 TEXT,
+COL71 TEXT,
+COL72 TEXT,
+COL73 TEXT,
+COL74 TEXT,
+COL75 TEXT,
+COL76 TEXT,
+COL77 TEXT,
+COL78 TEXT,
+COL79 TEXT,
+COL80 TEXT,
+COL81 TEXT,
+COL82 TEXT,
+COL83 TEXT,
+COL84 TEXT,
+COL85 TEXT,
+COL86 TEXT,
+COL87 TEXT,
+COL88 TEXT,
+COL89 TEXT,
+COL90 TEXT,
+COL91 TEXT,
+COL92 TEXT,
+COL93 TEXT,
+COL94 TEXT,
+COL95 TEXT,
+COL96 TEXT,
+COL97 TEXT,
+COL98 TEXT,
+COL99 TEXT,
+COL100 TEXT,
+COL101 TEXT,
+COL102 TEXT,
+COL103 TEXT,
+COL104 TEXT,
+COL105 TEXT,
+COL106 TEXT,
+COL107 TEXT,
+COL108 TEXT,
+COL109 TEXT,
+COL110 TEXT,
+COL111 TEXT,
+COL112 TEXT,
+COL113 TEXT,
+COL114 TEXT,
+COL115 TEXT,
+COL116 TEXT,
+COL117 TEXT,
+COL118 TEXT,
+COL119 TEXT,
+COL120 TEXT,
+COL121 TEXT,
+COL122 TEXT,
+COL123 TEXT,
+COL124 TEXT,
+COL125 TEXT,
+COL126 TEXT,
+COL127 TEXT,
+COL128 TEXT,
+COL129 TEXT,
+COL130 TEXT,
+COL131 TEXT,
+COL132 TEXT,
+COL133 TEXT,
+COL134 TEXT,
+COL135 TEXT,
+COL136 TEXT,
+COL137 TEXT,
+COL138 TEXT,
+COL139 TEXT,
+COL140 TEXT,
+COL141 TEXT,
+COL142 TEXT,
+COL143 TEXT,
+COL144 TEXT,
+COL145 TEXT,
+COL146 TEXT,
+COL147 TEXT,
+COL148 TEXT,
+COL149 TEXT,
+COL150 TEXT,
+COL151 TEXT,
+COL152 TEXT,
+COL153 TEXT,
+COL154 TEXT,
+COL155 TEXT,
+COL156 TEXT,
+COL157 TEXT,
+COL158 TEXT,
+COL159 TEXT,
+COL160 TEXT,
+COL161 TEXT,
+COL162 TEXT,
+COL163 TEXT,
+COL164 TEXT,
+COL165 TEXT,
+COL166 TEXT,
+COL167 TEXT,
+COL168 TEXT,
+COL169 TEXT,
+COL170 TEXT,
+COL171 TEXT,
+COL172 TEXT,
+COL173 TEXT,
+COL174 TEXT,
+COL175 TEXT,
+COL176 TEXT,
+COL177 TEXT,
+COL178 TEXT,
+COL179 TEXT,
+COL180 TEXT,
+COL181 TEXT,
+COL182 TEXT,
+COL183 TEXT,
+COL184 TEXT,
+COL185 TEXT,
+COL186 TEXT,
+COL187 TEXT,
+COL188 TEXT,
+COL189 TEXT,
+COL190 TEXT,
+COL191 TEXT,
+COL192 TEXT,
+COL193 TEXT,
+COL194 TEXT,
+COL195 TEXT,
+COL196 TEXT,
+COL197 TEXT)
+row_format=dynamic,ENGINE=INNODB;
+ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE t2(COL1 TEXT,
+COL2 TEXT,
+COL3 TEXT,
+COL4 TEXT,
+COL5 TEXT,
+COL6 TEXT,
+COL7 TEXT,
+COL8 TEXT,
+COL9 TEXT,
+COL10 TEXT,
+COL11 TEXT,
+COL12 TEXT,
+COL13 TEXT,
+COL14 TEXT,
+COL15 TEXT,
+COL16 TEXT,
+COL17 TEXT,
+COL18 TEXT,
+COL19 TEXT,
+COL20 TEXT,
+COL21 TEXT,
+COL22 TEXT,
+COL23 TEXT,
+COL24 TEXT,
+COL25 TEXT,
+COL26 TEXT,
+COL27 TEXT,
+COL28 TEXT,
+COL29 TEXT,
+COL30 TEXT,
+COL31 TEXT,
+COL32 TEXT,
+COL33 TEXT,
+COL34 TEXT,
+COL35 TEXT,
+COL36 TEXT,
+COL37 TEXT,
+COL38 TEXT,
+COL39 TEXT,
+COL40 TEXT,
+COL41 TEXT,
+COL42 TEXT,
+COL43 TEXT,
+COL44 TEXT,
+COL45 TEXT,
+COL46 TEXT,
+COL47 TEXT,
+COL48 TEXT,
+COL49 TEXT,
+COL50 TEXT,
+COL51 TEXT,
+COL52 TEXT,
+COL53 TEXT,
+COL54 TEXT,
+COL55 TEXT,
+COL56 TEXT,
+COL57 TEXT,
+COL58 TEXT,
+COL59 TEXT,
+COL60 TEXT,
+COL61 TEXT,
+COL62 TEXT,
+COL63 TEXT,
+COL64 TEXT,
+COL65 TEXT,
+COL66 TEXT,
+COL67 TEXT,
+COL68 TEXT,
+COL69 TEXT,
+COL70 TEXT,
+COL71 TEXT,
+COL72 TEXT,
+COL73 TEXT,
+COL74 TEXT,
+COL75 TEXT,
+COL76 TEXT,
+COL77 TEXT,
+COL78 TEXT,
+COL79 TEXT,
+COL80 TEXT,
+COL81 TEXT,
+COL82 TEXT,
+COL83 TEXT,
+COL84 TEXT,
+COL85 TEXT,
+COL86 TEXT,
+COL87 TEXT,
+COL88 TEXT,
+COL89 TEXT,
+COL90 TEXT,
+COL91 TEXT,
+COL92 TEXT,
+COL93 TEXT,
+COL94 TEXT,
+COL95 TEXT,
+COL96 TEXT,
+COL97 TEXT,
+COL98 TEXT,
+COL99 TEXT,
+COL100 TEXT,
+COL101 TEXT,
+COL102 TEXT,
+COL103 TEXT,
+COL104 TEXT,
+COL105 TEXT,
+COL106 TEXT,
+COL107 TEXT,
+COL108 TEXT,
+COL109 TEXT,
+COL110 TEXT,
+COL111 TEXT,
+COL112 TEXT,
+COL113 TEXT,
+COL114 TEXT,
+COL115 TEXT,
+COL116 TEXT,
+COL117 TEXT,
+COL118 TEXT,
+COL119 TEXT,
+COL120 TEXT,
+COL121 TEXT,
+COL122 TEXT,
+COL123 TEXT,
+COL124 TEXT,
+COL125 TEXT,
+COL126 TEXT,
+COL127 TEXT,
+COL128 TEXT,
+COL129 TEXT,
+COL130 TEXT,
+COL131 TEXT,
+COL132 TEXT,
+COL133 TEXT,
+COL134 TEXT,
+COL135 TEXT,
+COL136 TEXT,
+COL137 TEXT,
+COL138 TEXT,
+COL139 TEXT,
+COL140 TEXT,
+COL141 TEXT,
+COL142 TEXT,
+COL143 TEXT,
+COL144 TEXT,
+COL145 TEXT,
+COL146 TEXT,
+COL147 TEXT,
+COL148 TEXT,
+COL149 TEXT,
+COL150 TEXT,
+COL151 TEXT,
+COL152 TEXT,
+COL153 TEXT,
+COL154 TEXT,
+COL155 TEXT,
+COL156 TEXT,
+COL157 TEXT,
+COL158 TEXT,
+COL159 TEXT,
+COL160 TEXT,
+COL161 TEXT,
+COL162 TEXT,
+COL163 TEXT,
+COL164 TEXT,
+COL165 TEXT,
+COL166 TEXT,
+COL167 TEXT,
+COL168 TEXT,
+COL169 TEXT,
+COL170 TEXT,
+COL171 TEXT,
+COL172 TEXT,
+COL173 TEXT,
+COL174 TEXT,
+COL175 TEXT,
+COL176 TEXT,
+COL177 TEXT,
+COL178 TEXT,
+COL179 TEXT,
+COL180 TEXT,
+COL181 TEXT,
+COL182 TEXT,
+COL183 TEXT,
+COL184 TEXT,
+COL185 TEXT,
+COL186 TEXT,
+COL187 TEXT,
+COL188 TEXT,
+COL189 TEXT,
+COL190 TEXT,
+COL191 TEXT,
+COL192 TEXT,
+COL193 TEXT,
+COL194 TEXT,
+COL195 TEXT,
+COL196 TEXT,
+COL197 TEXT)
+row_format=compact,ENGINE=INNODB;
+ERROR 42000: Row size too large (> 8126). 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.
diff --git a/mysql-test/suite/innodb/r/innodb-32k-crash.result b/mysql-test/suite/innodb/r/innodb-32k-crash.result
new file mode 100644
index 00000000000..3286cc8d55c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-32k-crash.result
@@ -0,0 +1,291 @@
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+v blob, w blob, x blob, y blob, z blob,
+aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+va blob, wa blob, xa blob, ya blob, za blob)
+ENGINE=InnoDB ROW_FORMAT=dynamic;
+CREATE TABLE t2(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+v blob, w blob, x blob, y blob, z blob,
+aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+va blob, wa blob, xa blob, ya blob, za blob)
+ENGINE=InnoDB ROW_FORMAT=compact;
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+SET @f = repeat('f', 767);
+SET @f = repeat('g', 767);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+SET @f = repeat('h', 500);
+SET @f = repeat('i', 500);
+SET @f = repeat('j', 500);
+SET @f = repeat('k', 500);
+SET @f = repeat('l', 500);
+SET @f = repeat('m', 500);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b,
+v=@b,w=@b,x=@b,y=@b,z=@b,
+aa=@b,ba=@b,ca=@b,da=@b,ea=@b,fa=@b,ga=@b,ha=@b,ia=@b,ja=@b,
+ka=@b,la=@b,ma=@b,na=@b,oa=@b,pa=@b,qa=@b,ra=@b,sa=@b,ta=@b,ua=@b,
+va=@b,wa=@b,xa=@b,ya=@b,za=@b;
+UPDATE t2 SET a=@i,b=@i,c=@i,d=@i,e=@i,f=@i,g=@i,h=@i,i=@i,j=@i,
+k=@i,l=@i,m=@i,n=@i,o=@i,p=@i,q=@i,r=@i,s=@i,t=@i,u=@i,
+v=@i,w=@i,x=@i,y=@i,z=@i,
+aa=@i,ba=@i,ca=@i,da=@i,ea=@i,fa=@i,ga=@i,ha=@i,ia=@i,ja=@i,
+ka=@i,la=@i,ma=@i,na=@i,oa=@i,pa=@i,qa=@i,ra=@i,sa=@i,ta=@i,ua=@i,
+va=@i,wa=@i,xa=@i,ya=@i,za=@i;
+CREATE INDEX t1a ON t1 (a(767));
+CREATE INDEX t1b ON t1 (b(767));
+CREATE INDEX t1c ON t1 (c(767));
+CREATE INDEX t1d ON t1 (d(767));
+CREATE INDEX t1e ON t1 (e(767));
+CREATE INDEX t1f1 ON t1 (f(767));
+CREATE INDEX t1f2 ON t1 (g(767));
+CREATE INDEX t1f3 ON t1 (h(767));
+CREATE INDEX t1f4 ON t1 (i(767));
+CREATE INDEX t1f5 ON t1 (j(767));
+CREATE INDEX t1a ON t2 (a(767));
+CREATE INDEX t1b ON t2 (b(767));
+CREATE INDEX t1c ON t2 (c(767));
+CREATE INDEX t1d ON t2 (d(767));
+CREATE INDEX t1e ON t2 (e(767));
+CREATE INDEX t1f1 ON t2 (f(767));
+CREATE INDEX t1f2 ON t2 (g(767));
+CREATE INDEX t1f3 ON t2 (h(767));
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+v=@c,w=@c,x=@b,y=@c,z=@c,
+aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@b,ua=@c,
+va=@c,wa=@c,xa=@c,ya=@c,za=@c;
+UPDATE t2 SET a=@k,b=@k,c=@k,d=@k,e=@k,f=@k,g=@k,h=@k,i=@k,j=@k,
+k=@k,l=@k,m=@k,n=@k,o=@k,p=@k,q=@k,r=@k,s=@k,t=@k,u=@k,
+v=@k,w=@k,x=@b,y=@k,z=@k,
+aa=@k,ba=@k,ca=@k,da=@k,ea=@k,fa=@k,ga=@k,ha=@k,ia=@k,ja=@k,
+ka=@k,la=@k,ma=@k,na=@k,oa=@k,pa=@k,qa=@k,ra=@k,sa=@k,ta=@b,ua=@k,
+va=@k,wa=@k,xa=@k,ya=@k,za=@k;
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d;
+UPDATE t1 SET k=@d,l=@d,m=@d,n=@d,o=@d;
+UPDATE t1 SET p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+UPDATE t1 SET v=@d,w=@d,x=@d,y=@d,z=@d;
+UPDATE t1 SET aa=@d,ba=@d,ca=@d,da=@d;
+UPDATE t1 SET ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d;
+UPDATE t1 SET ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d;
+UPDATE t1 SET qa=@d,ra=@d,sa=@d,ta=@d,ua=@d;
+UPDATE t1 SET va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+COMMIT;
+BEGIN;
+UPDATE t2 SET a=@l,b=@l,c=@l,d=@l,e=@l;
+UPDATE t2 SET f=@l,g=@l,h=@l,i=@l,j=@l;
+UPDATE t2 SET k=@l,l=@l,m=@l,n=@l,o=@l;
+UPDATE t2 SET p=@l,q=@l,r=@l,s=@l,t=@l,u=@l;
+UPDATE t2 SET v=@l,w=@l,x=@l,y=@l,z=@l;
+UPDATE t2 SET aa=@l,ba=@l,ca=@l,da=@l;
+UPDATE t2 SET ea=@l,fa=@l,ga=@l,ha=@l,ia=@l,ja=@l;
+UPDATE t2 SET ka=@l,la=@l,ma=@l,na=@l,oa=@l,pa=@l;
+UPDATE t2 SET qa=@l,ra=@l,sa=@l,ta=@l,ua=@l;
+UPDATE t2 SET va=@l,wa=@l,xa=@l,ya=@l,za=@l;
+COMMIT;
+BEGIN;
+INSERT INTO t1 SELECT * from t2;
+UPDATE t1 SET a=@e,b=@e,c=@e,d=@e,e=@e;
+# Kill and restart
+UPDATE t1 SET a=@f,b=@f,c=@f,d=@f,e=@f,f=@f,g=@f,h=@f,i=@f,j=@f,
+k=@f,l=@f,m=@f,n=@f,o=@f,p=@f,q=@f,r=@f,s=@f,t=@f,u=@f,
+v=@f,w=@f,x=@b,y=@f,z=@f,
+aa=@f,ba=@f,ca=@f,da=@f,ea=@f,fa=@f,ga=@f,ha=@f,ia=@f,ja=@f,
+ka=@f,la=@f,ma=@f,na=@f,oa=@f,pa=@f,qa=@f,ra=@f,sa=@f,ta=@b,ua=@f,
+va=@f,wa=@f,xa=@f,ya=@f,za=@f;
+UPDATE t2 SET a=@h,b=@h,c=@h,d=@h,e=@h,f=@h,g=@h,h=@h,i=@h,j=@h,
+k=@h,l=@h,m=@h,n=@h,o=@h,p=@h,q=@h,r=@h,s=@h,t=@h,u=@h,
+v=@h,w=@h,x=@b,y=@h,z=@h,
+aa=@h,ba=@h,ca=@h,da=@h,ea=@h,fa=@h,ga=@h,ha=@h,ia=@h,ja=@h,
+ka=@h,la=@h,ma=@h,na=@h,oa=@h,pa=@h,qa=@h,ra=@h,sa=@h,ta=@b,ua=@h,
+va=@h,wa=@h,xa=@h,ya=@h,za=@h;
+BEGIN;
+UPDATE t1 SET a=@g,b=@g,c=@g,d=@g,e=@g;
+UPDATE t1 SET f=@g,g=@g,h=@g,i=@g,j=@g;
+UPDATE t1 SET k=@g,l=@g,m=@g,n=@g,o=@g;
+UPDATE t1 SET p=@g,q=@g,r=@g,s=@g,t=@g,u=@g;
+UPDATE t1 SET v=@g,w=@g,x=@g,y=@g,z=@g;
+UPDATE t1 SET aa=@g,ba=@g,ca=@g,da=@g;
+UPDATE t1 SET ea=@g,fa=@g,ga=@g,ha=@g,ia=@g,ja=@g;
+UPDATE t1 SET ka=@g,la=@g,ma=@g,na=@g,oa=@g,pa=@g;
+UPDATE t1 SET qa=@g,ra=@g,sa=@g,ta=@g,ua=@g;
+UPDATE t1 SET va=@g,wa=@g,xa=@g,ya=@g,za=@g;
+COMMIT;
+BEGIN;
+UPDATE t2 SET a=@m,b=@m,c=@m,d=@m,e=@m;
+UPDATE t2 SET f=@m,g=@m,h=@m,i=@m,j=@m;
+UPDATE t2 SET k=@m,l=@m,m=@m,n=@m,o=@m;
+UPDATE t2 SET p=@m,q=@m,r=@m,s=@m,t=@m,u=@m;
+UPDATE t2 SET v=@m,w=@m,x=@m,y=@m,z=@m;
+UPDATE t2 SET aa=@m,ba=@m,ca=@m,da=@m;
+UPDATE t2 SET ea=@m,fa=@m,ga=@m,ha=@m,ia=@m,ja=@m;
+UPDATE t2 SET ka=@m,la=@m,ma=@m,na=@m,oa=@m,pa=@m;
+UPDATE t2 SET qa=@m,ra=@m,sa=@m,ta=@m,ua=@m;
+UPDATE t2 SET va=@m,wa=@m,xa=@m,ya=@m,za=@m;
+COMMIT;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` blob,
+ `b` blob,
+ `c` blob,
+ `d` blob,
+ `e` blob,
+ `f` blob,
+ `g` blob,
+ `h` blob,
+ `i` blob,
+ `j` blob,
+ `k` blob,
+ `l` blob,
+ `m` blob,
+ `n` blob,
+ `o` blob,
+ `p` blob,
+ `q` blob,
+ `r` blob,
+ `s` blob,
+ `t` blob,
+ `u` blob,
+ `v` blob,
+ `w` blob,
+ `x` blob,
+ `y` blob,
+ `z` blob,
+ `aa` blob,
+ `ba` blob,
+ `ca` blob,
+ `da` blob,
+ `ea` blob,
+ `fa` blob,
+ `ga` blob,
+ `ha` blob,
+ `ia` blob,
+ `ja` blob,
+ `ka` blob,
+ `la` blob,
+ `ma` blob,
+ `na` blob,
+ `oa` blob,
+ `pa` blob,
+ `qa` blob,
+ `ra` blob,
+ `sa` blob,
+ `ta` blob,
+ `ua` blob,
+ `va` blob,
+ `wa` blob,
+ `xa` blob,
+ `ya` blob,
+ `za` blob,
+ KEY `t1a` (`a`(767)),
+ KEY `t1b` (`b`(767)),
+ KEY `t1c` (`c`(767)),
+ KEY `t1d` (`d`(767)),
+ KEY `t1e` (`e`(767)),
+ KEY `t1f1` (`f`(767)),
+ KEY `t1f2` (`g`(767)),
+ KEY `t1f3` (`h`(767)),
+ KEY `t1f4` (`i`(767)),
+ KEY `t1f5` (`j`(767))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` blob,
+ `b` blob,
+ `c` blob,
+ `d` blob,
+ `e` blob,
+ `f` blob,
+ `g` blob,
+ `h` blob,
+ `i` blob,
+ `j` blob,
+ `k` blob,
+ `l` blob,
+ `m` blob,
+ `n` blob,
+ `o` blob,
+ `p` blob,
+ `q` blob,
+ `r` blob,
+ `s` blob,
+ `t` blob,
+ `u` blob,
+ `v` blob,
+ `w` blob,
+ `x` blob,
+ `y` blob,
+ `z` blob,
+ `aa` blob,
+ `ba` blob,
+ `ca` blob,
+ `da` blob,
+ `ea` blob,
+ `fa` blob,
+ `ga` blob,
+ `ha` blob,
+ `ia` blob,
+ `ja` blob,
+ `ka` blob,
+ `la` blob,
+ `ma` blob,
+ `na` blob,
+ `oa` blob,
+ `pa` blob,
+ `qa` blob,
+ `ra` blob,
+ `sa` blob,
+ `ta` blob,
+ `ua` blob,
+ `va` blob,
+ `wa` blob,
+ `xa` blob,
+ `ya` blob,
+ `za` blob,
+ KEY `t1a` (`a`(767)),
+ KEY `t1b` (`b`(767)),
+ KEY `t1c` (`c`(767)),
+ KEY `t1d` (`d`(767)),
+ KEY `t1e` (`e`(767)),
+ KEY `t1f1` (`f`(767)),
+ KEY `t1f2` (`g`(767)),
+ KEY `t1f3` (`h`(767))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+drop table t1,t2;
diff --git a/mysql-test/suite/innodb/r/innodb-32k.result b/mysql-test/suite/innodb/r/innodb-32k.result
new file mode 100644
index 00000000000..f9635fefccb
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-32k.result
@@ -0,0 +1,869 @@
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+call mtr.add_suppression("InnoDB: Resizing redo log from *");
+call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files.");
+call mtr.add_suppression("InnoDB: New log files created, LSN=*");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+# Test 1) Show the page size from Information Schema
+SELECT variable_value FROM information_schema.global_status
+WHERE LOWER(variable_name) = 'innodb_page_size';
+variable_value
+32768
+# Test 4) The maximum row size is dependent upon the page size.
+# Redundant: 16315, Compact: 16318.
+# Compressed: 16318, Dynamic: ?.
+# Each row format has its own amount of overhead that
+# varies depending on number of fields and other overhead.
+SET SESSION innodb_strict_mode = ON;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(121)
+) ROW_FORMAT=redundant;
+DROP TABLE t1;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(122)
+) ROW_FORMAT=redundant;
+ERROR 42000: Row size too large (> max_row_size). 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.
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(200), c82 char(82)
+) ROW_FORMAT=compact;
+DROP TABLE t1;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(200), c82 char(83)
+) ROW_FORMAT=compact;
+ERROR 42000: Row size too large (> max_row_size). 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.
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(63)
+) ROW_FORMAT=compressed;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(200), c82 char(82)
+) ROW_FORMAT=dynamic;
+DROP TABLE t1;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(200), c82 char(83)
+) ROW_FORMAT=dynamic;
+ERROR 42000: Row size too large (> max_row_size). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
+e varchar(4) character set utf8,
+PRIMARY KEY (a,b,c,d,e))
+ENGINE=innodb;
+DROP TABLE t1;
+CREATE TABLE t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
+e varchar(5) character set utf8,
+PRIMARY KEY (a,b,c,d,e))
+ENGINE=innodb;
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+CREATE TABLE t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
+e varchar(255) character set utf8,
+f varchar(4) character set utf8,
+PRIMARY KEY (a), KEY (b,c,d,e,f))
+ENGINE=innodb;
+DROP TABLE t1;
+CREATE TABLE t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
+e varchar(255) character set utf8,
+f varchar(5) character set utf8,
+PRIMARY KEY (a), KEY (b,c,d,e,f))
+ENGINE=innodb;
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+# Test 8) Test creating a table that could lead to undo log overflow.
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+v blob, w blob, x blob, y blob, z blob,
+aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+va blob, wa blob, xa blob, ya blob, za blob)
+ENGINE=InnoDB ROW_FORMAT=dynamic;
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b,
+v=@b,w=@b,x=@b,y=@b,z=@b,
+aa=@b,ba=@b,ca=@b,da=@b,ea=@b,fa=@b,ga=@b,ha=@b,ia=@b,ja=@b,
+ka=@b,la=@b,ma=@b,na=@b,oa=@b,pa=@b,qa=@b,ra=@b,sa=@b,ta=@b,ua=@b,
+va=@b,wa=@b,xa=@b,ya=@b,za=@b;
+CREATE INDEX t1a ON t1 (a(767));
+CREATE INDEX t1b ON t1 (b(767));
+CREATE INDEX t1c ON t1 (c(767));
+CREATE INDEX t1d ON t1 (d(767));
+CREATE INDEX t1e ON t1 (e(767));
+CREATE INDEX t1f1 ON t1 (f(767));
+CREATE INDEX t1f2 ON t1 (g(767));
+CREATE INDEX t1f3 ON t1 (h(767));
+CREATE INDEX t1f4 ON t1 (i(767));
+CREATE INDEX t1f5 ON t1 (j(767));
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+v=@c,w=@c,x=@c,y=@c,z=@c,
+aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@c,ua=@c,
+va=@c,wa=@c,xa=@c,ya=@c,za=@c;
+CREATE INDEX t1f17 ON t1 (v(767));
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d,f=@d,g=@d,h=@d,i=@d,j=@d,
+k=@d,l=@d,m=@d,n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d,
+v=@d,w=@d,x=@d,y=@d,z=@d,
+aa=@d,ba=@d,ca=@d,da=@d,ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d,
+ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d,qa=@d,ra=@d,sa=@d,ta=@d,ua=@d,
+va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+ROLLBACK;
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d;
+UPDATE t1 SET k=@d,l=@d,m=@d,n=@d,o=@d;
+UPDATE t1 SET p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+UPDATE t1 SET v=@d,w=@d,x=@d,y=@d,z=@d;
+UPDATE t1 SET aa=@d,ba=@d,ca=@d,da=@d;
+UPDATE t1 SET ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d;
+UPDATE t1 SET ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d;
+UPDATE t1 SET qa=@d,ra=@d,sa=@d,ta=@d,ua=@d;
+UPDATE t1 SET va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+COMMIT;
+CREATE INDEX t1k ON t1 (k(767));
+CREATE INDEX t1f7 ON t1 (m(767));
+CREATE INDEX t1f8 ON t1 (n(767));
+CREATE INDEX t1f9 ON t1 (o(767));
+CREATE INDEX t1f11 ON t1 (p(767));
+CREATE INDEX t1f12 ON t1 (q(767));
+CREATE INDEX t1f13 ON t1 (r(767));
+CREATE INDEX t1f14 ON t1 (s(767));
+CREATE INDEX t1f15 ON t1 (t(767));
+CREATE INDEX t1f16 ON t1 (u(767));
+CREATE INDEX t1f18 ON t1 (w(767));
+CREATE INDEX t1f19 ON t1 (x(767));
+CREATE INDEX t1f20 ON t1 (y(767));
+CREATE INDEX t1f21 ON t1 (z(767));
+CREATE INDEX ta1a ON t1 (aa(767));
+CREATE INDEX tb1b ON t1 (ba(767));
+CREATE INDEX tc1c ON t1 (ca(767));
+CREATE INDEX td1d ON t1 (da(767));
+CREATE INDEX te1e ON t1 (ea(767));
+CREATE INDEX tf1f1 ON t1 (fa(767));
+CREATE INDEX tg1f2 ON t1 (ga(767));
+CREATE INDEX th1f3 ON t1 (ha(767));
+CREATE INDEX ti1f4 ON t1 (ia(767));
+CREATE INDEX tj1f5 ON t1 (ka(767));
+CREATE INDEX tk1f6 ON t1 (la(767));
+CREATE INDEX tl1f7 ON t1 (ma(767));
+CREATE INDEX tm1f8 ON t1 (na(767));
+CREATE INDEX tn1f9 ON t1 (oa(767));
+CREATE INDEX to1f11 ON t1 (pa(767));
+UPDATE t1 SET t=@e;
+CREATE INDEX t1f6 ON t1 (l(767));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 16318. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+drop table t1;
+Test an assertion failure on purge.
+CREATE TABLE t1_purge (
+A int,
+B blob, C blob, D blob, E blob,
+F blob, G blob, H blob,
+PRIMARY KEY (B(767), C(767), D(767), E(767), A),
+INDEX (A)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t1_purge VALUES (1,
+REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
+REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766));
+CREATE TABLE t2_purge (
+A int PRIMARY KEY,
+B blob, C blob, D blob, E blob,
+F blob, G blob, H blob, I blob,
+J blob, K blob, L blob,
+INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t2_purge VALUES (1,
+REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
+REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766), REPEAT('i', 766),
+REPEAT('j', 766), REPEAT('k', 766), REPEAT('l', 766));
+CREATE TABLE t3_purge (
+A int,
+B varchar(800), C varchar(800), D varchar(800), E varchar(800),
+F varchar(800), G varchar(800), H varchar(800),
+PRIMARY KEY (B(767), C(767), D(767), E(767), A),
+INDEX (A)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t3_purge SELECT * FROM t1_purge;
+CREATE TABLE t4_purge (
+A int PRIMARY KEY,
+B varchar(800), C varchar(800), D varchar(800), E varchar(800),
+F varchar(800), G varchar(800), H varchar(800), I varchar(800),
+J varchar(800), K varchar(800), L varchar(800),
+INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t4_purge SELECT * FROM t2_purge;
+DELETE FROM t1_purge;
+DELETE FROM t2_purge;
+DELETE FROM t3_purge;
+DELETE FROM t4_purge;
+SET GLOBAL innodb_file_per_table=on;
+SET GLOBAL innodb_file_format='Barracuda';
+SET @r=REPEAT('a',500);
+CREATE TABLE tlong(a int,
+v1 varchar(500), v2 varchar(500), v3 varchar(500),
+v4 varchar(500), v5 varchar(500), v6 varchar(500),
+v7 varchar(500), v8 varchar(500), v9 varchar(500),
+v10 varchar(500), v11 varchar(500), v12 varchar(500),
+v13 varchar(500), v14 varchar(500), v15 varchar(500),
+v16 varchar(500), v17 varchar(500), v18 varchar(500)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+CREATE INDEX idx1 ON tlong(a,v1);
+INSERT INTO tlong VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
+UPDATE tlong SET a=1000;
+DELETE FROM tlong;
+CREATE TABLE tlong2(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
+i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob)
+ENGINE=innodb ROW_FORMAT=dynamic;
+SET @r = REPEAT('a', 767);
+INSERT INTO tlong2 VALUES (@r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r);
+CREATE INDEX ndx_a ON tlong2 (a(500));
+CREATE INDEX ndx_b ON tlong2 (b(500));
+CREATE INDEX ndx_c ON tlong2 (c(500));
+CREATE INDEX ndx_d ON tlong2 (d(500));
+CREATE INDEX ndx_e ON tlong2 (e(500));
+CREATE INDEX ndx_f ON tlong2 (f(500));
+CREATE INDEX ndx_k ON tlong2 (k(500));
+CREATE INDEX ndx_l ON tlong2 (l(500));
+SET @r = REPEAT('b', 500);
+UPDATE tlong2 set a=@r,b=@r,c=@r,d=@r;
+UPDATE tlong2 set e=@r,f=@r,g=@r,h=@r;
+UPDATE tlong2 set i=@r,j=@r,k=@r,l=@r;
+UPDATE tlong2 set m=@r,n=@r,o=@r,p=@r;
+ALTER TABLE tlong2 DROP INDEX ndx_a;
+ALTER TABLE tlong2 DROP INDEX ndx_b;
+CREATE INDEX ndx_g ON tlong2 (g(500));
+CREATE INDEX ndx_h ON tlong2 (h(500));
+CREATE INDEX ndx_i ON tlong2 (i(500));
+CREATE INDEX ndx_j ON tlong2 (j(500));
+CREATE INDEX ndx_m ON tlong2 (m(500));
+CREATE INDEX ndx_n ON tlong2 (n(500));
+CREATE INDEX ndx_o ON tlong2 (o(500));
+CREATE INDEX ndx_p ON tlong2 (p(500));
+SHOW CREATE TABLE tlong2;
+Table Create Table
+tlong2 CREATE TABLE `tlong2` (
+ `a` blob,
+ `b` blob,
+ `c` blob,
+ `d` blob,
+ `e` blob,
+ `f` blob,
+ `g` blob,
+ `h` blob,
+ `i` blob,
+ `j` blob,
+ `k` blob,
+ `l` blob,
+ `m` blob,
+ `n` blob,
+ `o` blob,
+ `p` blob,
+ KEY `ndx_c` (`c`(500)),
+ KEY `ndx_d` (`d`(500)),
+ KEY `ndx_e` (`e`(500)),
+ KEY `ndx_f` (`f`(500)),
+ KEY `ndx_k` (`k`(500)),
+ KEY `ndx_l` (`l`(500)),
+ KEY `ndx_g` (`g`(500)),
+ KEY `ndx_h` (`h`(500)),
+ KEY `ndx_i` (`i`(500)),
+ KEY `ndx_j` (`j`(500)),
+ KEY `ndx_m` (`m`(500)),
+ KEY `ndx_n` (`n`(500)),
+ KEY `ndx_o` (`o`(500)),
+ KEY `ndx_p` (`p`(500))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SET SESSION innodb_strict_mode = ON;
+CREATE TABLE t3(
+a int NOT NULL, b blob NOT NULL, c text,
+PRIMARY KEY (b(10), a), INDEX (c(767)), INDEX(b(767))
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t3 VALUES (5,REPEAT('khdfo5AlOq',1900),REPEAT('g',7751));
+COMMIT;
+UPDATE t3 SET c = REPEAT('b',16928);
+SHOW WARNINGS;
+Level Code Message
+UPDATE t3 SET c = REPEAT('b',32800);
+SHOW WARNINGS;
+Level Code Message
+DROP TABLE t3;
+DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
+DROP TABLE tlong;
+DROP TABLE tlong2;
+CREATE TABLE t2(COL1 TEXT,
+COL2 TEXT,
+COL3 TEXT,
+COL4 TEXT,
+COL5 TEXT,
+COL6 TEXT,
+COL7 TEXT,
+COL8 TEXT,
+COL9 TEXT,
+COL10 TEXT,
+COL11 TEXT,
+COL12 TEXT,
+COL13 TEXT,
+COL14 TEXT,
+COL15 TEXT,
+COL16 TEXT,
+COL17 TEXT,
+COL18 TEXT,
+COL19 TEXT,
+COL20 TEXT,
+COL21 TEXT,
+COL22 TEXT,
+COL23 TEXT,
+COL24 TEXT,
+COL25 TEXT,
+COL26 TEXT,
+COL27 TEXT,
+COL28 TEXT,
+COL29 TEXT,
+COL30 TEXT,
+COL31 TEXT,
+COL32 TEXT,
+COL33 TEXT,
+COL34 TEXT,
+COL35 TEXT,
+COL36 TEXT,
+COL37 TEXT,
+COL38 TEXT,
+COL39 TEXT,
+COL40 TEXT,
+COL41 TEXT,
+COL42 TEXT,
+COL43 TEXT,
+COL44 TEXT,
+COL45 TEXT,
+COL46 TEXT,
+COL47 TEXT,
+COL48 TEXT,
+COL49 TEXT,
+COL50 TEXT,
+COL51 TEXT,
+COL52 TEXT,
+COL53 TEXT,
+COL54 TEXT,
+COL55 TEXT,
+COL56 TEXT,
+COL57 TEXT,
+COL58 TEXT,
+COL59 TEXT,
+COL60 TEXT,
+COL61 TEXT,
+COL62 TEXT,
+COL63 TEXT,
+COL64 TEXT,
+COL65 TEXT,
+COL66 TEXT,
+COL67 TEXT,
+COL68 TEXT,
+COL69 TEXT,
+COL70 TEXT,
+COL71 TEXT,
+COL72 TEXT,
+COL73 TEXT,
+COL74 TEXT,
+COL75 TEXT,
+COL76 TEXT,
+COL77 TEXT,
+COL78 TEXT,
+COL79 TEXT,
+COL80 TEXT,
+COL81 TEXT,
+COL82 TEXT,
+COL83 TEXT,
+COL84 TEXT,
+COL85 TEXT,
+COL86 TEXT,
+COL87 TEXT,
+COL88 TEXT,
+COL89 TEXT,
+COL90 TEXT,
+COL91 TEXT,
+COL92 TEXT,
+COL93 TEXT,
+COL94 TEXT,
+COL95 TEXT,
+COL96 TEXT,
+COL97 TEXT,
+COL98 TEXT,
+COL99 TEXT,
+COL100 TEXT,
+COL101 TEXT,
+COL102 TEXT,
+COL103 TEXT,
+COL104 TEXT,
+COL105 TEXT,
+COL106 TEXT,
+COL107 TEXT,
+COL108 TEXT,
+COL109 TEXT,
+COL110 TEXT,
+COL111 TEXT,
+COL112 TEXT,
+COL113 TEXT,
+COL114 TEXT,
+COL115 TEXT,
+COL116 TEXT,
+COL117 TEXT,
+COL118 TEXT,
+COL119 TEXT,
+COL120 TEXT,
+COL121 TEXT,
+COL122 TEXT,
+COL123 TEXT,
+COL124 TEXT,
+COL125 TEXT,
+COL126 TEXT,
+COL127 TEXT,
+COL128 TEXT,
+COL129 TEXT,
+COL130 TEXT,
+COL131 TEXT,
+COL132 TEXT,
+COL133 TEXT,
+COL134 TEXT,
+COL135 TEXT,
+COL136 TEXT,
+COL137 TEXT,
+COL138 TEXT,
+COL139 TEXT,
+COL140 TEXT,
+COL141 TEXT,
+COL142 TEXT,
+COL143 TEXT,
+COL144 TEXT,
+COL145 TEXT,
+COL146 TEXT,
+COL147 TEXT,
+COL148 TEXT,
+COL149 TEXT,
+COL150 TEXT,
+COL151 TEXT,
+COL152 TEXT,
+COL153 TEXT,
+COL154 TEXT,
+COL155 TEXT,
+COL156 TEXT,
+COL157 TEXT,
+COL158 TEXT,
+COL159 TEXT,
+COL160 TEXT,
+COL161 TEXT,
+COL162 TEXT,
+COL163 TEXT,
+COL164 TEXT,
+COL165 TEXT,
+COL166 TEXT,
+COL167 TEXT,
+COL168 TEXT,
+COL169 TEXT,
+COL170 TEXT,
+COL171 TEXT,
+COL172 TEXT,
+COL173 TEXT,
+COL174 TEXT,
+COL175 TEXT,
+COL176 TEXT,
+COL177 TEXT,
+COL178 TEXT,
+COL179 TEXT,
+COL180 TEXT,
+COL181 TEXT,
+COL182 TEXT,
+COL183 TEXT,
+COL184 TEXT,
+COL185 TEXT,
+COL186 TEXT,
+COL187 TEXT,
+COL188 TEXT,
+COL189 TEXT,
+COL190 TEXT,
+COL191 TEXT,
+COL192 TEXT,
+COL193 TEXT,
+COL194 TEXT,
+COL195 TEXT,
+COL196 TEXT,
+COL197 TEXT)
+row_format=dynamic,ENGINE=INNODB;
+set @a = repeat('0123456789', 800);
+set @b = repeat('9876543210', 800);
+insert into t2 values(
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a);
+update t2 set col190=@b;
+set @a = repeat('0123456789', 1650);
+set @b = repeat('9876543210', 2000);
+insert into t2 values(
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a);
+update t2 set col190=@b;
+set @a = repeat('abcdefghijklmnopqrstuvwxyz', 1650);
+set @b = repeat('zyxwvutsrqponmlkjihgfedcba', 2000);
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `COL1` text,
+ `COL2` text,
+ `COL3` text,
+ `COL4` text,
+ `COL5` text,
+ `COL6` text,
+ `COL7` text,
+ `COL8` text,
+ `COL9` text,
+ `COL10` text,
+ `COL11` text,
+ `COL12` text,
+ `COL13` text,
+ `COL14` text,
+ `COL15` text,
+ `COL16` text,
+ `COL17` text,
+ `COL18` text,
+ `COL19` text,
+ `COL20` text,
+ `COL21` text,
+ `COL22` text,
+ `COL23` text,
+ `COL24` text,
+ `COL25` text,
+ `COL26` text,
+ `COL27` text,
+ `COL28` text,
+ `COL29` text,
+ `COL30` text,
+ `COL31` text,
+ `COL32` text,
+ `COL33` text,
+ `COL34` text,
+ `COL35` text,
+ `COL36` text,
+ `COL37` text,
+ `COL38` text,
+ `COL39` text,
+ `COL40` text,
+ `COL41` text,
+ `COL42` text,
+ `COL43` text,
+ `COL44` text,
+ `COL45` text,
+ `COL46` text,
+ `COL47` text,
+ `COL48` text,
+ `COL49` text,
+ `COL50` text,
+ `COL51` text,
+ `COL52` text,
+ `COL53` text,
+ `COL54` text,
+ `COL55` text,
+ `COL56` text,
+ `COL57` text,
+ `COL58` text,
+ `COL59` text,
+ `COL60` text,
+ `COL61` text,
+ `COL62` text,
+ `COL63` text,
+ `COL64` text,
+ `COL65` text,
+ `COL66` text,
+ `COL67` text,
+ `COL68` text,
+ `COL69` text,
+ `COL70` text,
+ `COL71` text,
+ `COL72` text,
+ `COL73` text,
+ `COL74` text,
+ `COL75` text,
+ `COL76` text,
+ `COL77` text,
+ `COL78` text,
+ `COL79` text,
+ `COL80` text,
+ `COL81` text,
+ `COL82` text,
+ `COL83` text,
+ `COL84` text,
+ `COL85` text,
+ `COL86` text,
+ `COL87` text,
+ `COL88` text,
+ `COL89` text,
+ `COL90` text,
+ `COL91` text,
+ `COL92` text,
+ `COL93` text,
+ `COL94` text,
+ `COL95` text,
+ `COL96` text,
+ `COL97` text,
+ `COL98` text,
+ `COL99` text,
+ `COL100` text,
+ `COL101` text,
+ `COL102` text,
+ `COL103` text,
+ `COL104` text,
+ `COL105` text,
+ `COL106` text,
+ `COL107` text,
+ `COL108` text,
+ `COL109` text,
+ `COL110` text,
+ `COL111` text,
+ `COL112` text,
+ `COL113` text,
+ `COL114` text,
+ `COL115` text,
+ `COL116` text,
+ `COL117` text,
+ `COL118` text,
+ `COL119` text,
+ `COL120` text,
+ `COL121` text,
+ `COL122` text,
+ `COL123` text,
+ `COL124` text,
+ `COL125` text,
+ `COL126` text,
+ `COL127` text,
+ `COL128` text,
+ `COL129` text,
+ `COL130` text,
+ `COL131` text,
+ `COL132` text,
+ `COL133` text,
+ `COL134` text,
+ `COL135` text,
+ `COL136` text,
+ `COL137` text,
+ `COL138` text,
+ `COL139` text,
+ `COL140` text,
+ `COL141` text,
+ `COL142` text,
+ `COL143` text,
+ `COL144` text,
+ `COL145` text,
+ `COL146` text,
+ `COL147` text,
+ `COL148` text,
+ `COL149` text,
+ `COL150` text,
+ `COL151` text,
+ `COL152` text,
+ `COL153` text,
+ `COL154` text,
+ `COL155` text,
+ `COL156` text,
+ `COL157` text,
+ `COL158` text,
+ `COL159` text,
+ `COL160` text,
+ `COL161` text,
+ `COL162` text,
+ `COL163` text,
+ `COL164` text,
+ `COL165` text,
+ `COL166` text,
+ `COL167` text,
+ `COL168` text,
+ `COL169` text,
+ `COL170` text,
+ `COL171` text,
+ `COL172` text,
+ `COL173` text,
+ `COL174` text,
+ `COL175` text,
+ `COL176` text,
+ `COL177` text,
+ `COL178` text,
+ `COL179` text,
+ `COL180` text,
+ `COL181` text,
+ `COL182` text,
+ `COL183` text,
+ `COL184` text,
+ `COL185` text,
+ `COL186` text,
+ `COL187` text,
+ `COL188` text,
+ `COL189` text,
+ `COL190` text,
+ `COL191` text,
+ `COL192` text,
+ `COL193` text,
+ `COL194` text,
+ `COL195` text,
+ `COL196` text,
+ `COL197` text
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+update t2 set col150=@a;
+update t2 set col145=@b;
+drop table t2;
diff --git a/mysql-test/suite/innodb/r/innodb-64k-crash.result b/mysql-test/suite/innodb/r/innodb-64k-crash.result
new file mode 100644
index 00000000000..cad855cae2b
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-64k-crash.result
@@ -0,0 +1,594 @@
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+v blob, w blob, x blob, y blob, z blob,
+aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+va blob, wa blob, xa blob, ya blob, za blob,
+ab blob,bb blob,cb blob,db blob,eb blob,fb blob,gb blob,
+hb blob,ib blob,jb blob,kb blob,lb blob,mb blob,nb blob,
+ob blob,pb blob,qb blob,rb blob,sb blob,tb blob,ub blob,
+vb blob, wb blob, xb blob, yb blob, zb blob,
+ac blob, bc blob, cc blob, dc blob, ec blob,fc blob,gc blob,
+hc blob, ic blob, jc blob, kc blob, lc blob,mc blob,nc blob,
+oc blob, pc blob, qc blob, rc blob, sc blob,tc blob,uc blob,
+vc blob, wc blob, xc blob, yc blob, zc blob
+) ENGINE=InnoDB ROW_FORMAT=dynamic;
+CREATE TABLE t2(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+v blob, w blob, x blob, y blob, z blob,
+aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+va blob, wa blob, xa blob, ya blob, za blob,
+ab blob,bb blob,cb blob,db blob,eb blob,fb blob,gb blob,
+hb blob,ib blob,jb blob,kb blob,lb blob,mb blob,nb blob,
+ob blob,pb blob,qb blob,rb blob,sb blob,tb blob,ub blob,
+vb blob, wb blob, xb blob, yb blob, zb blob,
+ac blob, bc blob, cc blob, dc blob, ec blob,fc blob,gc blob,
+hc blob, ic blob, jc blob, kc blob, lc blob,mc blob,nc blob,
+oc blob, pc blob, qc blob, rc blob, sc blob,tc blob,uc blob,
+vc blob, wc blob, xc blob, yc blob, zc blob
+) ENGINE=InnoDB ROW_FORMAT=compact;
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+SET @f = repeat('f', 767);
+SET @f = repeat('g', 767);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+SET @h = repeat('h', 100);
+SET @i = repeat('i', 100);
+SET @j = repeat('j', 100);
+SET @k = repeat('k', 100);
+SET @l = repeat('l', 100);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h
+);
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b,
+v=@b,w=@b,x=@b,y=@b,z=@b,
+aa=@b,ba=@b,ca=@b,da=@b,ea=@b,fa=@b,ga=@b,ha=@b,ia=@b,ja=@b,
+ka=@b,la=@b,ma=@b,na=@b,oa=@b,pa=@b,qa=@b,ra=@b,sa=@b,ta=@b,ua=@b,
+va=@b,wa=@b,xa=@b,ya=@b,za=@b,
+ab=@b,bb=@b,cb=@b,db=@b,eb=@b,fb=@b,gb=@b,hb=@b,ib=@b,jb=@b,
+kb=@b,lb=@b,mb=@b,nb=@b,ob=@b,pb=@b,qb=@b,rb=@b,sb=@b,tb=@b,ub=@b,
+vb=@b,wb=@b,xb=@b,yb=@b,zb=@b,
+ab=@b,bb=@b,cb=@b,db=@b,eb=@b,fb=@b,gb=@b,hb=@b,ib=@b,jb=@b,
+kb=@b,lb=@b,mb=@b,nb=@b,ob=@b,pb=@b,qb=@b,rb=@b,sb=@b,tb=@b,ub=@b,
+vb=@b,wb=@b,xb=@b,yb=@b,zb=@b,
+ac=@b,bc=@b,cc=@b,dc=@b,ec=@b,fc=@b,gc=@b,hc=@b,ic=@b,jc=@b,
+kc=@b,lc=@b,mc=@b,nc=@b,oc=@b,pc=@b,qc=@b,rc=@b,sc=@b,tc=@b,uc=@b,
+vc=@b,wc=@b,xc=@b,yc=@b,zc=@b;
+UPDATE t2 SET a=@i,b=@i,c=@i,d=@i,e=@i,f=@i,g=@i,h=@i,i=@i,j=@i,
+k=@i,l=@i,m=@i,n=@i,o=@i,p=@i,q=@i,r=@i,s=@i,t=@i,u=@i,
+v=@i,w=@i,x=@i,y=@i,z=@i,
+aa=@i,ba=@i,ca=@i,da=@i,ea=@i,fa=@i,ga=@i,ha=@i,ia=@i,ja=@i,
+ka=@i,la=@i,ma=@i,na=@i,oa=@i,pa=@i,qa=@i,ra=@i,sa=@i,ta=@i,ua=@i,
+va=@i,wa=@i,xa=@i,ya=@i,za=@i,
+ab=@i,bb=@i,cb=@i,db=@i,eb=@i,fb=@i,gb=@i,hb=@i,ib=@i,jb=@i,
+kb=@i,lb=@i,mb=@i,nb=@i,ob=@i,pb=@i,qb=@i,rb=@i,sb=@i,tb=@i,ub=@i,
+vb=@i,wb=@i,xb=@i,yb=@i,zb=@i,
+ab=@i,bb=@i,cb=@i,db=@i,eb=@i,fb=@i,gb=@i,hb=@i,ib=@i,jb=@i,
+kb=@i,lb=@i,mb=@i,nb=@i,ob=@i,pb=@i,qb=@i,rb=@i,sb=@i,tb=@i,ub=@i,
+vb=@i,wb=@i,xb=@i,yb=@i,zb=@i,
+ac=@i,bc=@i,cc=@i,dc=@i,ec=@i,fc=@i,gc=@i,hc=@i,ic=@i,jc=@i,
+kc=@i,lc=@i,mc=@i,nc=@i,oc=@i,pc=@i,qc=@i,rc=@i,sc=@i,tc=@i,uc=@i,
+vc=@i,wc=@i,xc=@i,yc=@i,zc=@i;
+CREATE INDEX t1a ON t1 (a(767),b(767));
+CREATE INDEX t1c ON t1 (c(767),d(767));
+CREATE INDEX t1e ON t1 (e(767),f(767));
+CREATE INDEX t1f2 ON t1 (g(767),h(767));
+CREATE INDEX t1f4 ON t1 (i(767),j(767));
+CREATE INDEX t1k ON t1 (k(767),m(767));
+CREATE INDEX t1f8 ON t1 (n(767),o(767));
+CREATE INDEX t1f11 ON t1 (p(767),q(767));
+CREATE INDEX t1f13 ON t1 (r(767),s(767));
+CREATE INDEX t1f15 ON t1 (t(767),u(767));
+CREATE INDEX t1f18 ON t1 (w(767),x(767));
+CREATE INDEX t1f20 ON t1 (y(767),z(767));
+CREATE INDEX ta1a6 ON t1 (aa(767),ba(767));
+CREATE INDEX tc1c6 ON t1 (ca(767),da(767));
+CREATE INDEX te1e6 ON t1 (ea(767),fa(767));
+CREATE INDEX t2a ON t2 (a(767),b(767));
+CREATE INDEX t2c ON t2 (c(767),d(767));
+CREATE INDEX t2e ON t2 (e(767),f(767));
+CREATE INDEX t2f2 ON t2 (g(767),h(767));
+CREATE INDEX t2f4 ON t2 (i(767),j(767));
+CREATE INDEX t2k ON t2 (k(767),m(767));
+CREATE INDEX t2f8 ON t2 (n(767),o(767));
+CREATE INDEX t2f11 ON t2 (p(767),q(767));
+CREATE INDEX t2f13 ON t2 (r(767),s(767));
+CREATE INDEX t2f15 ON t2 (t(767),u(767));
+CREATE INDEX t2f18 ON t2 (w(767),x(767));
+CREATE INDEX t2f20 ON t2 (y(767),z(767));
+CREATE INDEX ta2a6 ON t2 (aa(767),ba(767));
+CREATE INDEX tc2c6 ON t2 (ca(767),da(767));
+CREATE INDEX te2e6 ON t2 (ea(767),fa(767));
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+v=@c,w=@c,x=@c,y=@c,z=@c,
+aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@c,ua=@c,
+va=@c,wa=@c,xa=@c,ya=@c,za=@c,
+ab=@c,bb=@c,cb=@c,db=@c,eb=@c,fb=@c,gb=@c,hb=@c,ib=@c,jb=@c,
+kb=@c,lb=@c,mb=@c,nb=@c,ob=@c,pb=@c,qb=@c,rb=@c,sb=@c,tb=@c,ub=@c,
+vb=@c,wb=@c,xb=@c,yb=@c,zb=@c,
+ac=@c,bc=@c,cc=@c,dc=@c,ec=@c,fc=@c,gc=@c,hc=@c,ic=@c,jc=@c,
+kc=@c,lc=@c,mc=@c,nc=@c,oc=@c,pc=@c,qc=@c,rc=@c,sc=@c,tc=@c,uc=@c,
+vc=@c,wc=@c,xc=@c,yc=@c,zc=@c;
+UPDATE t2 SET a=@k,b=@k,c=@k,d=@k,e=@k,f=@k,g=@k,h=@k,i=@k,j=@k,
+k=@k,l=@k,m=@k,n=@k,o=@k,p=@k,q=@k,r=@k,s=@k,t=@k,u=@k,
+v=@k,w=@k,x=@k,y=@k,z=@k,
+aa=@k,ba=@k,ca=@k,da=@k,ea=@k,fa=@k,ga=@k,ha=@k,ia=@k,ja=@k,
+ka=@k,la=@k,ma=@k,na=@k,oa=@k,pa=@k,qa=@k,ra=@k,sa=@k,ta=@k,ua=@k,
+va=@k,wa=@k,xa=@k,ya=@k,za=@k,
+ab=@k,bb=@k,cb=@k,db=@k,eb=@k,fb=@k,gb=@k,hb=@k,ib=@k,jb=@k,
+kb=@k,lb=@k,mb=@k,nb=@k,ob=@k,pb=@k,qb=@k,rb=@k,sb=@k,tb=@k,ub=@k,
+vb=@k,wb=@k,xb=@k,yb=@k,zb=@k,
+ac=@k,bc=@k,cc=@k,dc=@k,ec=@k,fc=@k,gc=@k,hc=@k,ic=@k,jc=@k,
+kc=@k,lc=@k,mc=@k,nc=@k,oc=@k,pc=@k,qc=@k,rc=@k,sc=@k,tc=@k,uc=@k,
+vc=@k,wc=@k,xc=@k,yc=@k,zc=@k;
+COMMIT;
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d;
+UPDATE t1 SET k=@d,l=@d,m=@d,n=@d,o=@d;
+UPDATE t1 SET p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+UPDATE t1 SET v=@d,w=@d,x=@d,y=@d,z=@d;
+UPDATE t1 SET aa=@d,ba=@d,ca=@d,da=@d;
+UPDATE t1 SET ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d;
+UPDATE t1 SET ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d;
+UPDATE t1 SET qa=@d,ra=@d,sa=@d,ta=@d,ua=@d;
+UPDATE t1 SET va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+UPDATE t1 SET ab=@d,bb=@d,cb=@d,db=@d;
+UPDATE t1 SET eb=@d,fb=@d,gb=@d,hb=@d,ib=@d,ja=@d;
+UPDATE t1 SET kb=@d,lb=@d,mb=@d,nb=@d,ob=@d,pa=@d;
+UPDATE t1 SET qb=@d,rb=@d,sb=@d,tb=@d,ub=@d;
+UPDATE t1 SET vb=@d,wb=@d,xb=@d,yb=@d,zb=@d;
+UPDATE t1 SET ac=@d,bc=@d,cc=@d,dc=@d;
+UPDATE t1 SET ec=@d,fc=@d,gc=@d,hc=@d,ic=@d,jc=@d;
+UPDATE t1 SET kc=@d,lc=@d,mc=@d,nc=@d,oc=@d,pc=@d;
+UPDATE t1 SET qc=@d,rc=@d,sc=@d,tc=@d,uc=@d;
+UPDATE t1 SET vc=@d,wc=@d,xc=@d,yc=@d,zc=@d;
+COMMIT;
+BEGIN;
+UPDATE t2 SET a=@i,b=@i,c=@i,d=@i,e=@i;
+UPDATE t2 SET f=@i,g=@i,h=@i,i=@i,j=@i;
+UPDATE t2 SET k=@i,l=@i,m=@i,n=@i,o=@i;
+UPDATE t2 SET p=@i,q=@i,r=@i,s=@i,t=@i,u=@i;
+UPDATE t2 SET v=@i,w=@i,x=@i,y=@i,z=@i;
+UPDATE t2 SET aa=@i,ba=@i,ca=@i,da=@i;
+UPDATE t2 SET ea=@i,fa=@i,ga=@i,ha=@i,ia=@i,ja=@i;
+UPDATE t2 SET ka=@i,la=@i,ma=@i,na=@i,oa=@i,pa=@i;
+UPDATE t2 SET qa=@i,ra=@i,sa=@i,ta=@i,ua=@i;
+UPDATE t2 SET va=@i,wa=@i,xa=@i,ya=@i,za=@i;
+UPDATE t2 SET ab=@i,bb=@i,cb=@i,db=@i;
+UPDATE t2 SET eb=@i,fb=@i,gb=@i,hb=@i,ib=@i,ja=@i;
+UPDATE t2 SET kb=@i,lb=@i,mb=@i,nb=@i,ob=@i,pa=@i;
+UPDATE t2 SET qb=@i,rb=@i,sb=@i,tb=@i,ub=@i;
+UPDATE t2 SET vb=@i,wb=@i,xb=@i,yb=@i,zb=@i;
+UPDATE t2 SET ac=@i,bc=@i,cc=@i,dc=@i;
+UPDATE t2 SET ec=@i,fc=@i,gc=@i,hc=@i,ic=@i,jc=@i;
+UPDATE t2 SET kc=@i,lc=@i,mc=@i,nc=@i,oc=@i,pc=@i;
+UPDATE t2 SET qc=@i,rc=@i,sc=@i,tc=@i,uc=@i;
+UPDATE t2 SET vc=@i,wc=@i,xc=@i,yc=@i,zc=@i;
+COMMIT;
+BEGIN;
+INSERT INTO t1 SELECT * from t2;
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+v=@c,w=@c,x=@c,y=@c,z=@c,
+aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@c,ua=@c,
+va=@c,wa=@c,xa=@c,ya=@c,za=@c,
+ab=@c,bb=@c,cb=@c,db=@c,eb=@c,fb=@c,gb=@c,hb=@c,ib=@c,jb=@c,
+kb=@c,lb=@c,mb=@c,nb=@c,ob=@c,pb=@c,qb=@c,rb=@c,sb=@c,tb=@c,ub=@c,
+vb=@c,wb=@c,xb=@c,yb=@c,zb=@c,
+ac=@c,bc=@c,cc=@c,dc=@c,ec=@c,fc=@c,gc=@c,hc=@c,ic=@c,jc=@c,
+kc=@c,lc=@c,mc=@c,nc=@c,oc=@c,pc=@c,qc=@c,rc=@c,sc=@c,tc=@c,uc=@c,
+vc=@c,wc=@c,xc=@c,yc=@c,zc=@c;
+# Kill and restart
+UPDATE t1 SET a=@e,b=@e,c=@e,d=@e,e=@e,f=@e,g=@e,h=@e,i=@e,j=@e,
+k=@e,l=@e,m=@e,n=@e,o=@e,p=@e,q=@e,r=@e,s=@e,t=@e,u=@e,
+v=@e,w=@e,x=@e,y=@e,z=@e,
+aa=@e,ba=@e,ca=@e,da=@e,ea=@e,fa=@e,ga=@e,ha=@e,ia=@e,ja=@e,
+ka=@e,la=@e,ma=@e,na=@e,oa=@e,pa=@e,qa=@e,ra=@e,sa=@e,ta=@e,ua=@e,
+va=@e,wa=@e,xa=@e,ya=@e,za=@e,
+ab=@e,bb=@e,cb=@e,db=@e,eb=@e,fb=@e,gb=@e,hb=@e,ib=@e,jb=@e,
+kb=@e,lb=@e,mb=@e,nb=@e,ob=@e,pb=@e,qb=@e,rb=@e,sb=@e,tb=@e,ub=@e,
+vb=@e,wb=@e,xb=@e,yb=@e,zb=@e,
+ac=@e,bc=@e,cc=@e,dc=@e,ec=@e,fc=@e,gc=@e,hc=@e,ic=@e,jc=@e,
+kc=@e,lc=@e,mc=@e,nc=@e,oc=@e,pc=@e,qc=@e,rc=@e,sc=@e,tc=@e,uc=@e,
+vc=@e,wc=@e,xc=@e,yc=@e,zc=@e;
+UPDATE t2 SET a=@l,b=@l,c=@l,d=@l,e=@l,f=@l,g=@l,h=@l,i=@l,j=@l,
+k=@l,l=@l,m=@l,n=@l,o=@l,p=@l,q=@l,r=@l,s=@l,t=@l,u=@l,
+v=@l,w=@l,x=@l,y=@l,z=@l,
+aa=@l,ba=@l,ca=@l,da=@l,ea=@l,fa=@l,ga=@l,ha=@l,ia=@l,ja=@l,
+ka=@l,la=@l,ma=@l,na=@l,oa=@l,pa=@l,qa=@l,ra=@l,sa=@l,ta=@l,ua=@l,
+va=@l,wa=@l,xa=@l,ya=@l,za=@l,
+ab=@l,bb=@l,cb=@l,db=@l,eb=@l,fb=@l,gb=@l,hb=@l,ib=@l,jb=@l,
+kb=@l,lb=@l,mb=@l,nb=@l,ob=@l,pb=@l,qb=@l,rb=@l,sb=@l,tb=@l,ub=@l,
+vb=@l,wb=@l,xb=@l,yb=@l,zb=@l,
+ac=@l,bc=@l,cc=@l,dc=@l,ec=@l,fc=@l,gc=@l,hc=@l,ic=@l,jc=@l,
+kc=@l,lc=@l,mc=@l,nc=@l,oc=@l,pc=@l,qc=@l,rc=@l,sc=@l,tc=@l,uc=@l,
+vc=@l,wc=@l,xc=@l,yc=@l,zc=@l;
+COMMIT;
+BEGIN;
+UPDATE t1 SET a=@f,b=@f,c=@f,d=@f,e=@f;
+UPDATE t1 SET f=@f,g=@f,h=@f,i=@f,j=@f;
+UPDATE t1 SET k=@f,l=@f,m=@f,n=@f,o=@f;
+UPDATE t1 SET p=@f,q=@f,r=@f,s=@f,t=@f,u=@f;
+UPDATE t1 SET v=@f,w=@f,x=@f,y=@f,z=@f;
+UPDATE t1 SET aa=@f,ba=@f,ca=@f,da=@f;
+UPDATE t1 SET ea=@f,fa=@f,ga=@f,ha=@f,ia=@f,ja=@f;
+UPDATE t1 SET ka=@f,la=@f,ma=@f,na=@f,oa=@f,pa=@f;
+UPDATE t1 SET qa=@f,ra=@f,sa=@f,ta=@f,ua=@f;
+UPDATE t1 SET va=@f,wa=@f,xa=@f,ya=@f,za=@f;
+UPDATE t1 SET ab=@f,bb=@f,cb=@f,db=@f;
+UPDATE t1 SET eb=@f,fb=@f,gb=@f,hb=@f,ib=@f,ja=@f;
+UPDATE t1 SET kb=@f,lb=@f,mb=@f,nb=@f,ob=@f,pa=@f;
+UPDATE t1 SET qb=@f,rb=@f,sb=@f,tb=@f,ub=@f;
+UPDATE t1 SET vb=@f,wb=@f,xb=@f,yb=@f,zb=@f;
+UPDATE t1 SET ac=@f,bc=@f,cc=@f,dc=@f;
+UPDATE t1 SET ec=@f,fc=@f,gc=@f,hc=@f,ic=@f,jc=@f;
+UPDATE t1 SET kc=@f,lc=@f,mc=@f,nc=@f,oc=@f,pc=@f;
+UPDATE t1 SET qc=@f,rc=@f,sc=@f,tc=@f,uc=@f;
+UPDATE t1 SET vc=@f,wc=@f,xc=@f,yc=@f,zc=@f;
+COMMIT;
+BEGIN;
+UPDATE t2 SET a=@f,b=@f,c=@f,d=@f,e=@f;
+UPDATE t2 SET f=@f,g=@f,h=@f,i=@f,j=@f;
+UPDATE t2 SET k=@f,l=@f,m=@f,n=@f,o=@f;
+UPDATE t2 SET p=@f,q=@f,r=@f,s=@f,t=@f,u=@f;
+UPDATE t2 SET v=@f,w=@f,x=@f,y=@f,z=@f;
+UPDATE t2 SET aa=@f,ba=@f,ca=@f,da=@f;
+UPDATE t2 SET ea=@f,fa=@f,ga=@f,ha=@f,ia=@f,ja=@f;
+UPDATE t2 SET ka=@f,la=@f,ma=@f,na=@f,oa=@f,pa=@f;
+UPDATE t2 SET qa=@f,ra=@f,sa=@f,ta=@f,ua=@f;
+UPDATE t2 SET va=@f,wa=@f,xa=@f,ya=@f,za=@f;
+UPDATE t2 SET ab=@f,bb=@f,cb=@f,db=@f;
+UPDATE t2 SET eb=@f,fb=@f,gb=@f,hb=@f,ib=@f,ja=@f;
+UPDATE t2 SET kb=@f,lb=@f,mb=@f,nb=@f,ob=@f,pa=@f;
+UPDATE t2 SET qb=@f,rb=@f,sb=@f,tb=@f,ub=@f;
+UPDATE t2 SET vb=@f,wb=@f,xb=@f,yb=@f,zb=@f;
+UPDATE t2 SET ac=@f,bc=@f,cc=@f,dc=@f;
+UPDATE t2 SET ec=@f,fc=@f,gc=@f,hc=@f,ic=@f,jc=@f;
+UPDATE t2 SET kc=@f,lc=@f,mc=@f,nc=@f,oc=@f,pc=@f;
+UPDATE t2 SET qc=@f,rc=@f,sc=@f,tc=@f,uc=@f;
+UPDATE t2 SET vc=@f,wc=@f,xc=@f,yc=@f,zc=@f;
+COMMIT;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` blob,
+ `b` blob,
+ `c` blob,
+ `d` blob,
+ `e` blob,
+ `f` blob,
+ `g` blob,
+ `h` blob,
+ `i` blob,
+ `j` blob,
+ `k` blob,
+ `l` blob,
+ `m` blob,
+ `n` blob,
+ `o` blob,
+ `p` blob,
+ `q` blob,
+ `r` blob,
+ `s` blob,
+ `t` blob,
+ `u` blob,
+ `v` blob,
+ `w` blob,
+ `x` blob,
+ `y` blob,
+ `z` blob,
+ `aa` blob,
+ `ba` blob,
+ `ca` blob,
+ `da` blob,
+ `ea` blob,
+ `fa` blob,
+ `ga` blob,
+ `ha` blob,
+ `ia` blob,
+ `ja` blob,
+ `ka` blob,
+ `la` blob,
+ `ma` blob,
+ `na` blob,
+ `oa` blob,
+ `pa` blob,
+ `qa` blob,
+ `ra` blob,
+ `sa` blob,
+ `ta` blob,
+ `ua` blob,
+ `va` blob,
+ `wa` blob,
+ `xa` blob,
+ `ya` blob,
+ `za` blob,
+ `ab` blob,
+ `bb` blob,
+ `cb` blob,
+ `db` blob,
+ `eb` blob,
+ `fb` blob,
+ `gb` blob,
+ `hb` blob,
+ `ib` blob,
+ `jb` blob,
+ `kb` blob,
+ `lb` blob,
+ `mb` blob,
+ `nb` blob,
+ `ob` blob,
+ `pb` blob,
+ `qb` blob,
+ `rb` blob,
+ `sb` blob,
+ `tb` blob,
+ `ub` blob,
+ `vb` blob,
+ `wb` blob,
+ `xb` blob,
+ `yb` blob,
+ `zb` blob,
+ `ac` blob,
+ `bc` blob,
+ `cc` blob,
+ `dc` blob,
+ `ec` blob,
+ `fc` blob,
+ `gc` blob,
+ `hc` blob,
+ `ic` blob,
+ `jc` blob,
+ `kc` blob,
+ `lc` blob,
+ `mc` blob,
+ `nc` blob,
+ `oc` blob,
+ `pc` blob,
+ `qc` blob,
+ `rc` blob,
+ `sc` blob,
+ `tc` blob,
+ `uc` blob,
+ `vc` blob,
+ `wc` blob,
+ `xc` blob,
+ `yc` blob,
+ `zc` blob,
+ KEY `t1a` (`a`(767),`b`(767)),
+ KEY `t1c` (`c`(767),`d`(767)),
+ KEY `t1e` (`e`(767),`f`(767)),
+ KEY `t1f2` (`g`(767),`h`(767)),
+ KEY `t1f4` (`i`(767),`j`(767)),
+ KEY `t1k` (`k`(767),`m`(767)),
+ KEY `t1f8` (`n`(767),`o`(767)),
+ KEY `t1f11` (`p`(767),`q`(767)),
+ KEY `t1f13` (`r`(767),`s`(767)),
+ KEY `t1f15` (`t`(767),`u`(767)),
+ KEY `t1f18` (`w`(767),`x`(767)),
+ KEY `t1f20` (`y`(767),`z`(767)),
+ KEY `ta1a6` (`aa`(767),`ba`(767)),
+ KEY `tc1c6` (`ca`(767),`da`(767)),
+ KEY `te1e6` (`ea`(767),`fa`(767))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` blob,
+ `b` blob,
+ `c` blob,
+ `d` blob,
+ `e` blob,
+ `f` blob,
+ `g` blob,
+ `h` blob,
+ `i` blob,
+ `j` blob,
+ `k` blob,
+ `l` blob,
+ `m` blob,
+ `n` blob,
+ `o` blob,
+ `p` blob,
+ `q` blob,
+ `r` blob,
+ `s` blob,
+ `t` blob,
+ `u` blob,
+ `v` blob,
+ `w` blob,
+ `x` blob,
+ `y` blob,
+ `z` blob,
+ `aa` blob,
+ `ba` blob,
+ `ca` blob,
+ `da` blob,
+ `ea` blob,
+ `fa` blob,
+ `ga` blob,
+ `ha` blob,
+ `ia` blob,
+ `ja` blob,
+ `ka` blob,
+ `la` blob,
+ `ma` blob,
+ `na` blob,
+ `oa` blob,
+ `pa` blob,
+ `qa` blob,
+ `ra` blob,
+ `sa` blob,
+ `ta` blob,
+ `ua` blob,
+ `va` blob,
+ `wa` blob,
+ `xa` blob,
+ `ya` blob,
+ `za` blob,
+ `ab` blob,
+ `bb` blob,
+ `cb` blob,
+ `db` blob,
+ `eb` blob,
+ `fb` blob,
+ `gb` blob,
+ `hb` blob,
+ `ib` blob,
+ `jb` blob,
+ `kb` blob,
+ `lb` blob,
+ `mb` blob,
+ `nb` blob,
+ `ob` blob,
+ `pb` blob,
+ `qb` blob,
+ `rb` blob,
+ `sb` blob,
+ `tb` blob,
+ `ub` blob,
+ `vb` blob,
+ `wb` blob,
+ `xb` blob,
+ `yb` blob,
+ `zb` blob,
+ `ac` blob,
+ `bc` blob,
+ `cc` blob,
+ `dc` blob,
+ `ec` blob,
+ `fc` blob,
+ `gc` blob,
+ `hc` blob,
+ `ic` blob,
+ `jc` blob,
+ `kc` blob,
+ `lc` blob,
+ `mc` blob,
+ `nc` blob,
+ `oc` blob,
+ `pc` blob,
+ `qc` blob,
+ `rc` blob,
+ `sc` blob,
+ `tc` blob,
+ `uc` blob,
+ `vc` blob,
+ `wc` blob,
+ `xc` blob,
+ `yc` blob,
+ `zc` blob,
+ KEY `t2a` (`a`(767),`b`(767)),
+ KEY `t2c` (`c`(767),`d`(767)),
+ KEY `t2e` (`e`(767),`f`(767)),
+ KEY `t2f2` (`g`(767),`h`(767)),
+ KEY `t2f4` (`i`(767),`j`(767)),
+ KEY `t2k` (`k`(767),`m`(767)),
+ KEY `t2f8` (`n`(767),`o`(767)),
+ KEY `t2f11` (`p`(767),`q`(767)),
+ KEY `t2f13` (`r`(767),`s`(767)),
+ KEY `t2f15` (`t`(767),`u`(767)),
+ KEY `t2f18` (`w`(767),`x`(767)),
+ KEY `t2f20` (`y`(767),`z`(767)),
+ KEY `ta2a6` (`aa`(767),`ba`(767)),
+ KEY `tc2c6` (`ca`(767),`da`(767)),
+ KEY `te2e6` (`ea`(767),`fa`(767))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+drop table t1,t2;
diff --git a/mysql-test/suite/innodb/r/innodb-64k.result b/mysql-test/suite/innodb/r/innodb-64k.result
new file mode 100644
index 00000000000..dc938f236cd
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-64k.result
@@ -0,0 +1,1086 @@
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+call mtr.add_suppression("InnoDB: Resizing redo log from *");
+call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files.");
+call mtr.add_suppression("InnoDB: New log files created, LSN=*");
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+# Test 1) Show the page size from Information Schema
+SELECT variable_value FROM information_schema.global_status
+WHERE LOWER(variable_name) = 'innodb_page_size';
+variable_value
+65536
+# Test 4) The maximum row size is dependent upon the page size.
+SET SESSION innodb_strict_mode = ON;
+SELECT @@innodb_strict_mode;
+@@innodb_strict_mode
+1
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+ERROR 42000: Row size too large (> 16382). 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.
+show warnings;
+Level Code Message
+Error 1118 Row size too large (> 16382). 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.
+Warning 1030 Got error 139 "Too big row" from storage engine InnoDB
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c101 char(200), c102 char(200), c103 char(200), c104 char(200), c105 char(200),
+c106 char(200), c107 char(200), c108 char(200), c109 char(200), c110 char(200),
+c111 char(200), c112 char(200), c113 char(200), c114 char(200), c115 char(200),
+c116 char(200), c117 char(200), c118 char(200), c119 char(200), c120 char(200),
+c121 char(200), c122 char(200), c123 char(200), c124 char(200), c125 char(200),
+c126 char(200), c127 char(200), c128 char(200), c129 char(200), c130 char(200),
+c131 char(200), c132 char(200), c133 char(200), c134 char(200), c135 char(200),
+c136 char(200), c137 char(200), c138 char(200), c139 char(200), c140 char(200),
+c141 char(200), c142 char(200), c143 char(200), c144 char(200), c145 char(200),
+c146 char(200), c147 char(200), c148 char(200), c149 char(200), c150 char(200),
+c151 char(200), c152 char(200), c153 char(200), c154 char(200), c155 char(200),
+c156 char(200), c157 char(200), c158 char(200), c159 char(200), c160 char(200),
+c161 char(200), c162 char(200), c163 char(200), c164 char(200), c165 char(200),
+c166 char(200), c167 char(200), c168 char(200), c169 char(200), c170 char(200),
+c171 char(200), c172 char(200), c173 char(200), c174 char(200), c175 char(200),
+c176 char(200), c177 char(200), c178 char(200), c179 char(200), c180 char(200),
+c190 char(200), c191 char(200), c192 char(100),
+c81 char(156)
+) ROW_FORMAT=compact;
+DROP TABLE t1;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c101 char(200), c102 char(200), c103 char(200), c104 char(200), c105 char(200),
+c106 char(200), c107 char(200), c108 char(200), c109 char(200), c110 char(200),
+c111 char(200), c112 char(200), c113 char(200), c114 char(200), c115 char(200),
+c116 char(200), c117 char(200), c118 char(200), c119 char(200), c120 char(200),
+c121 char(200), c122 char(200), c123 char(200), c124 char(200), c125 char(200),
+c126 char(200), c127 char(200), c128 char(200), c129 char(200), c130 char(200),
+c131 char(200), c132 char(200), c133 char(200), c134 char(200), c135 char(200),
+c136 char(200), c137 char(200), c138 char(200), c139 char(200), c140 char(200),
+c141 char(200), c142 char(200), c143 char(200), c144 char(200), c145 char(200),
+c146 char(200), c147 char(200), c148 char(200), c149 char(200), c150 char(200),
+c151 char(200), c152 char(200), c153 char(200), c154 char(200), c155 char(200),
+c156 char(200), c157 char(200), c158 char(200), c159 char(200), c160 char(200),
+c161 char(200), c162 char(200), c163 char(200), c164 char(200), c165 char(200),
+c166 char(200), c167 char(200), c168 char(200), c169 char(200), c170 char(200),
+c171 char(200), c172 char(200), c173 char(200), c174 char(200), c175 char(200),
+c176 char(200), c177 char(200), c178 char(200), c179 char(200), c180 char(200),
+c190 char(200), c191 char(200), c192 char(100),
+c81 char(157)
+) ROW_FORMAT=compact;
+ERROR 42000: Row size too large (> max_row_size). 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.
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c101 char(200), c102 char(200), c103 char(200), c104 char(200), c105 char(200),
+c106 char(200), c107 char(200), c108 char(200), c109 char(200), c110 char(200),
+c111 char(200), c112 char(200), c113 char(200), c114 char(200), c115 char(200),
+c116 char(200), c117 char(200), c118 char(200), c119 char(200), c120 char(200),
+c121 char(200), c122 char(200), c123 char(200), c124 char(200), c125 char(200),
+c126 char(200), c127 char(200), c128 char(200), c129 char(200), c130 char(200),
+c131 char(200), c132 char(200), c133 char(200), c134 char(200), c135 char(200),
+c136 char(200), c137 char(200), c138 char(200), c139 char(200), c140 char(200),
+c141 char(200), c142 char(200), c143 char(200), c144 char(200), c145 char(200),
+c146 char(200), c147 char(200), c148 char(200), c149 char(200), c150 char(200),
+c151 char(200), c152 char(200), c153 char(200), c154 char(200), c155 char(200),
+c156 char(200), c157 char(200), c158 char(200), c159 char(200), c160 char(200),
+c161 char(200), c162 char(200), c163 char(200), c164 char(200), c165 char(200),
+c166 char(200), c167 char(200), c168 char(200), c169 char(200), c170 char(200),
+c171 char(200), c172 char(200), c173 char(200), c174 char(200), c175 char(200),
+c176 char(200), c177 char(200), c178 char(200), c179 char(200), c180 char(200),
+c190 char(200), c191 char(200), c192 char(100),
+c81 char(156)
+) ROW_FORMAT=dynamic;
+DROP TABLE t1;
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c101 char(200), c102 char(200), c103 char(200), c104 char(200), c105 char(200),
+c106 char(200), c107 char(200), c108 char(200), c109 char(200), c110 char(200),
+c111 char(200), c112 char(200), c113 char(200), c114 char(200), c115 char(200),
+c116 char(200), c117 char(200), c118 char(200), c119 char(200), c120 char(200),
+c121 char(200), c122 char(200), c123 char(200), c124 char(200), c125 char(200),
+c126 char(200), c127 char(200), c128 char(200), c129 char(200), c130 char(200),
+c131 char(200), c132 char(200), c133 char(200), c134 char(200), c135 char(200),
+c136 char(200), c137 char(200), c138 char(200), c139 char(200), c140 char(200),
+c141 char(200), c142 char(200), c143 char(200), c144 char(200), c145 char(200),
+c146 char(200), c147 char(200), c148 char(200), c149 char(200), c150 char(200),
+c151 char(200), c152 char(200), c153 char(200), c154 char(200), c155 char(200),
+c156 char(200), c157 char(200), c158 char(200), c159 char(200), c160 char(200),
+c161 char(200), c162 char(200), c163 char(200), c164 char(200), c165 char(200),
+c166 char(200), c167 char(200), c168 char(200), c169 char(200), c170 char(200),
+c171 char(200), c172 char(200), c173 char(200), c174 char(200), c175 char(200),
+c176 char(200), c177 char(200), c178 char(200), c179 char(200), c180 char(200),
+c190 char(200), c191 char(200), c192 char(100),
+c81 char(157)
+) ROW_FORMAT=dynamic;
+ERROR 42000: Row size too large (> max_row_size). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+# Test 8) Test creating a table that could lead to undo log overflow.
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+v blob, w blob, x blob, y blob, z blob,
+aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+va blob, wa blob, xa blob, ya blob, za blob,
+ab blob,bb blob,cb blob,db blob,eb blob,fb blob,gb blob,
+hb blob,ib blob,jb blob,kb blob,lb blob,mb blob,nb blob,
+ob blob,pb blob,qb blob,rb blob,sb blob,tb blob,ub blob,
+vb blob, wb blob, xb blob, yb blob, zb blob,
+ac blob, bc blob, cc blob, dc blob, ec blob,fc blob,gc blob,
+hc blob, ic blob, jc blob, kc blob, lc blob,mc blob,nc blob,
+oc blob, pc blob, qc blob, rc blob, sc blob,tc blob,uc blob,
+vc blob, wc blob, xc blob, yc blob, zc blob
+) ENGINE=InnoDB ROW_FORMAT=dynamic;
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b,
+v=@b,w=@b,x=@b,y=@b,z=@b,
+aa=@b,ba=@b,ca=@b,da=@b,ea=@b,fa=@b,ga=@b,ha=@b,ia=@b,ja=@b,
+ka=@b,la=@b,ma=@b,na=@b,oa=@b,pa=@b,qa=@b,ra=@b,sa=@b,ta=@b,ua=@b,
+va=@b,wa=@b,xa=@b,ya=@b,za=@b,
+ab=@b,bb=@b,cb=@b,db=@b,eb=@b,fb=@b,gb=@b,hb=@b,ib=@b,jb=@b,
+kb=@b,lb=@b,mb=@b,nb=@b,ob=@b,pb=@b,qb=@b,rb=@b,sb=@b,tb=@b,ub=@b,
+vb=@b,wb=@b,xb=@b,yb=@b,zb=@b,
+ab=@b,bb=@b,cb=@b,db=@b,eb=@b,fb=@b,gb=@b,hb=@b,ib=@b,jb=@b,
+kb=@b,lb=@b,mb=@b,nb=@b,ob=@b,pb=@b,qb=@b,rb=@b,sb=@b,tb=@b,ub=@b,
+vb=@b,wb=@b,xb=@b,yb=@b,zb=@b,
+ac=@b,bc=@b,cc=@b,dc=@b,ec=@b,fc=@b,gc=@b,hc=@b,ic=@b,jc=@b,
+kc=@b,lc=@b,mc=@b,nc=@b,oc=@b,pc=@b,qc=@b,rc=@b,sc=@b,tc=@b,uc=@b,
+vc=@b,wc=@b,xc=@b,yc=@b,zc=@b;
+CREATE INDEX t1a ON t1 (a(767),b(767));
+CREATE INDEX t1c ON t1 (c(767),d(767));
+CREATE INDEX t1e ON t1 (e(767),f(767));
+CREATE INDEX t1f2 ON t1 (g(767),h(767));
+CREATE INDEX t1f4 ON t1 (i(767),j(767));
+CREATE INDEX t1k ON t1 (k(767),m(767));
+CREATE INDEX t1f8 ON t1 (n(767),o(767));
+CREATE INDEX t1f11 ON t1 (p(767),q(767));
+CREATE INDEX t1f13 ON t1 (r(767),s(767));
+CREATE INDEX t1f15 ON t1 (t(767),u(767));
+CREATE INDEX t1f18 ON t1 (w(767),x(767));
+CREATE INDEX t1f20 ON t1 (y(767),z(767));
+CREATE INDEX ta1a6 ON t1 (aa(767),ba(767));
+CREATE INDEX tc1c6 ON t1 (ca(767),da(767));
+CREATE INDEX te1e6 ON t1 (ea(767),fa(767));
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+v=@c,w=@c,x=@c,y=@c,z=@c,
+aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@c,ua=@c,
+va=@c,wa=@c,xa=@c,ya=@c,za=@c,
+ab=@c,bb=@c,cb=@c,db=@c,eb=@c,fb=@c,gb=@c,hb=@c,ib=@c,jb=@c,
+kb=@c,lb=@c,mb=@c,nb=@c,ob=@c,pb=@c,qb=@c,rb=@c,sb=@c,tb=@c,ub=@c,
+vb=@c,wb=@c,xb=@c,yb=@c,zb=@c,
+ac=@c,bc=@c,cc=@c,dc=@c,ec=@c,fc=@c,gc=@c,hc=@c,ic=@c,jc=@c,
+kc=@c,lc=@c,mc=@c,nc=@c,oc=@c,pc=@c,qc=@c,rc=@c,sc=@c,tc=@c,uc=@c,
+vc=@c,wc=@c,xc=@c,yc=@c,zc=@c;
+COMMIT;
+CREATE INDEX tg1f2 ON t1 (ia(767),ja(767));
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d,f=@d,g=@d,h=@d,i=@d,j=@d,
+k=@d,l=@d,m=@d,n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d,
+v=@d,w=@d,x=@d,y=@d,z=@d,
+aa=@d,ba=@d,ca=@d,da=@d,ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d,
+ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d,qa=@d,ra=@d,sa=@d,ta=@d,ua=@d,
+va=@d,wa=@d,xa=@d,ya=@d,za=@d,
+ab=@d,bb=@d,cb=@d,db=@d,eb=@d,fb=@d,gb=@d,hb=@d,ib=@d,jb=@d,
+kb=@d,lb=@d,mb=@d,nb=@d,ob=@d,pb=@d,qb=@d,rb=@d,sb=@d,tb=@d,ub=@d,
+vb=@d,wb=@d,xb=@d,yb=@d,zb=@d,
+ac=@d,bc=@d,cc=@d,dc=@d,ec=@d,fc=@d,gc=@d,hc=@d,ic=@d,jc=@d,
+kc=@d,lc=@d,mc=@d,nc=@d,oc=@d,pc=@d,qc=@d,rc=@d,sc=@d,tc=@d,uc=@d,
+vc=@d,wc=@d,xc=@d,yc=@d,zc=@d;
+ROLLBACK;
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d;
+UPDATE t1 SET k=@d,l=@d,m=@d,n=@d,o=@d;
+UPDATE t1 SET p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+UPDATE t1 SET v=@d,w=@d,x=@d,y=@d,z=@d;
+UPDATE t1 SET aa=@d,ba=@d,ca=@d,da=@d;
+UPDATE t1 SET ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d;
+UPDATE t1 SET ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d;
+UPDATE t1 SET qa=@d,ra=@d,sa=@d,ta=@d,ua=@d;
+UPDATE t1 SET va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+UPDATE t1 SET ab=@d,bb=@d,cb=@d,db=@d;
+UPDATE t1 SET eb=@d,fb=@d,gb=@d,hb=@d,ib=@d,ja=@d;
+UPDATE t1 SET kb=@d,lb=@d,mb=@d,nb=@d,ob=@d,pa=@d;
+UPDATE t1 SET qb=@d,rb=@d,sb=@d,tb=@d,ub=@d;
+UPDATE t1 SET vb=@d,wb=@d,xb=@d,yb=@d,zb=@d;
+UPDATE t1 SET ac=@d,bc=@d,cc=@d,dc=@d;
+UPDATE t1 SET ec=@d,fc=@d,gc=@d,hc=@d,ic=@d,jc=@d;
+UPDATE t1 SET kc=@d,lc=@d,mc=@d,nc=@d,oc=@d,pc=@d;
+UPDATE t1 SET qc=@d,rc=@d,sc=@d,tc=@d,uc=@d;
+UPDATE t1 SET vc=@d,wc=@d,xc=@d,yc=@d,zc=@d;
+COMMIT;
+CREATE INDEX ti1f4 ON t1 (ia(767),ka(767));
+CREATE INDEX tk1f6 ON t1 (la(767),ma(767));
+CREATE INDEX tm1f8 ON t1 (na(767),oa(767));
+CREATE INDEX to1f11 ON t1 (pa(767),qa(767));
+CREATE INDEX tq1f13 ON t1 (ra(767),sa(767));
+CREATE INDEX ts1f15 ON t1 (ta(767),ua(767));
+CREATE INDEX tu1f18 ON t1 (wa(767),xa(767));
+CREATE INDEX tx1f20 ON t1 (ya(767),za(767));
+CREATE INDEX ta1a5 ON t1 (ab(767),bb(767));
+CREATE INDEX tc1c5 ON t1 (cb(767),db(767));
+CREATE INDEX te1e5 ON t1 (eb(767),fb(767));
+CREATE INDEX t5g1f2 ON t1 (gb(767),hb(767));
+CREATE INDEX t5i1f4 ON t1 (ib(767),kb(767));
+CREATE INDEX t5k1f6 ON t1 (lb(767),mb(767));
+CREATE INDEX t5m1f8 ON t1 (nb(767),ob(767));
+CREATE INDEX t5o1f11 ON t1 (pb(767),qb(767));
+CREATE INDEX t65q1f13 ON t1 (rb(767),sb(767));
+CREATE INDEX t65s1f15 ON t1 (tb(767),ub(767));
+CREATE INDEX t65u1f18 ON t1 (wb(767),xb(767));
+CREATE INDEX t65x1f20 ON t1 (yb(767),zb(767));
+CREATE INDEX xta1a5 ON t1 (ac(767),bc(767));
+CREATE INDEX xt5g1f2 ON t1 (gc(767),hc(767));
+CREATE INDEX xt5i1f4 ON t1 (ic(767));
+CREATE INDEX xtc1c5 ON t1 (cc(767),dc(767));
+CREATE INDEX xte1e5 ON t1 (ec(767),fc(767));
+UPDATE t1 SET t=@e;
+CREATE INDEX xt5k1f6 ON t1 (lc(767),mc(767));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 16383. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` blob,
+ `b` blob,
+ `c` blob,
+ `d` blob,
+ `e` blob,
+ `f` blob,
+ `g` blob,
+ `h` blob,
+ `i` blob,
+ `j` blob,
+ `k` blob,
+ `l` blob,
+ `m` blob,
+ `n` blob,
+ `o` blob,
+ `p` blob,
+ `q` blob,
+ `r` blob,
+ `s` blob,
+ `t` blob,
+ `u` blob,
+ `v` blob,
+ `w` blob,
+ `x` blob,
+ `y` blob,
+ `z` blob,
+ `aa` blob,
+ `ba` blob,
+ `ca` blob,
+ `da` blob,
+ `ea` blob,
+ `fa` blob,
+ `ga` blob,
+ `ha` blob,
+ `ia` blob,
+ `ja` blob,
+ `ka` blob,
+ `la` blob,
+ `ma` blob,
+ `na` blob,
+ `oa` blob,
+ `pa` blob,
+ `qa` blob,
+ `ra` blob,
+ `sa` blob,
+ `ta` blob,
+ `ua` blob,
+ `va` blob,
+ `wa` blob,
+ `xa` blob,
+ `ya` blob,
+ `za` blob,
+ `ab` blob,
+ `bb` blob,
+ `cb` blob,
+ `db` blob,
+ `eb` blob,
+ `fb` blob,
+ `gb` blob,
+ `hb` blob,
+ `ib` blob,
+ `jb` blob,
+ `kb` blob,
+ `lb` blob,
+ `mb` blob,
+ `nb` blob,
+ `ob` blob,
+ `pb` blob,
+ `qb` blob,
+ `rb` blob,
+ `sb` blob,
+ `tb` blob,
+ `ub` blob,
+ `vb` blob,
+ `wb` blob,
+ `xb` blob,
+ `yb` blob,
+ `zb` blob,
+ `ac` blob,
+ `bc` blob,
+ `cc` blob,
+ `dc` blob,
+ `ec` blob,
+ `fc` blob,
+ `gc` blob,
+ `hc` blob,
+ `ic` blob,
+ `jc` blob,
+ `kc` blob,
+ `lc` blob,
+ `mc` blob,
+ `nc` blob,
+ `oc` blob,
+ `pc` blob,
+ `qc` blob,
+ `rc` blob,
+ `sc` blob,
+ `tc` blob,
+ `uc` blob,
+ `vc` blob,
+ `wc` blob,
+ `xc` blob,
+ `yc` blob,
+ `zc` blob,
+ KEY `t1a` (`a`(767),`b`(767)),
+ KEY `t1c` (`c`(767),`d`(767)),
+ KEY `t1e` (`e`(767),`f`(767)),
+ KEY `t1f2` (`g`(767),`h`(767)),
+ KEY `t1f4` (`i`(767),`j`(767)),
+ KEY `t1k` (`k`(767),`m`(767)),
+ KEY `t1f8` (`n`(767),`o`(767)),
+ KEY `t1f11` (`p`(767),`q`(767)),
+ KEY `t1f13` (`r`(767),`s`(767)),
+ KEY `t1f15` (`t`(767),`u`(767)),
+ KEY `t1f18` (`w`(767),`x`(767)),
+ KEY `t1f20` (`y`(767),`z`(767)),
+ KEY `ta1a6` (`aa`(767),`ba`(767)),
+ KEY `tc1c6` (`ca`(767),`da`(767)),
+ KEY `te1e6` (`ea`(767),`fa`(767)),
+ KEY `tg1f2` (`ia`(767),`ja`(767)),
+ KEY `ti1f4` (`ia`(767),`ka`(767)),
+ KEY `tk1f6` (`la`(767),`ma`(767)),
+ KEY `tm1f8` (`na`(767),`oa`(767)),
+ KEY `to1f11` (`pa`(767),`qa`(767)),
+ KEY `tq1f13` (`ra`(767),`sa`(767)),
+ KEY `ts1f15` (`ta`(767),`ua`(767)),
+ KEY `tu1f18` (`wa`(767),`xa`(767)),
+ KEY `tx1f20` (`ya`(767),`za`(767)),
+ KEY `ta1a5` (`ab`(767),`bb`(767)),
+ KEY `tc1c5` (`cb`(767),`db`(767)),
+ KEY `te1e5` (`eb`(767),`fb`(767)),
+ KEY `t5g1f2` (`gb`(767),`hb`(767)),
+ KEY `t5i1f4` (`ib`(767),`kb`(767)),
+ KEY `t5k1f6` (`lb`(767),`mb`(767)),
+ KEY `t5m1f8` (`nb`(767),`ob`(767)),
+ KEY `t5o1f11` (`pb`(767),`qb`(767)),
+ KEY `t65q1f13` (`rb`(767),`sb`(767)),
+ KEY `t65s1f15` (`tb`(767),`ub`(767)),
+ KEY `t65u1f18` (`wb`(767),`xb`(767)),
+ KEY `t65x1f20` (`yb`(767),`zb`(767)),
+ KEY `xta1a5` (`ac`(767),`bc`(767)),
+ KEY `xt5g1f2` (`gc`(767),`hc`(767)),
+ KEY `xt5i1f4` (`ic`(767)),
+ KEY `xtc1c5` (`cc`(767),`dc`(767)),
+ KEY `xte1e5` (`ec`(767),`fc`(767))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SHOW WARNINGS;
+Level Code Message
+CREATE TABLE t2(COL1 TEXT,
+COL2 TEXT,
+COL3 TEXT,
+COL4 TEXT,
+COL5 TEXT,
+COL6 TEXT,
+COL7 TEXT,
+COL8 TEXT,
+COL9 TEXT,
+COL10 TEXT,
+COL11 TEXT,
+COL12 TEXT,
+COL13 TEXT,
+COL14 TEXT,
+COL15 TEXT,
+COL16 TEXT,
+COL17 TEXT,
+COL18 TEXT,
+COL19 TEXT,
+COL20 TEXT,
+COL21 TEXT,
+COL22 TEXT,
+COL23 TEXT,
+COL24 TEXT,
+COL25 TEXT,
+COL26 TEXT,
+COL27 TEXT,
+COL28 TEXT,
+COL29 TEXT,
+COL30 TEXT,
+COL31 TEXT,
+COL32 TEXT,
+COL33 TEXT,
+COL34 TEXT,
+COL35 TEXT,
+COL36 TEXT,
+COL37 TEXT,
+COL38 TEXT,
+COL39 TEXT,
+COL40 TEXT,
+COL41 TEXT,
+COL42 TEXT,
+COL43 TEXT,
+COL44 TEXT,
+COL45 TEXT,
+COL46 TEXT,
+COL47 TEXT,
+COL48 TEXT,
+COL49 TEXT,
+COL50 TEXT,
+COL51 TEXT,
+COL52 TEXT,
+COL53 TEXT,
+COL54 TEXT,
+COL55 TEXT,
+COL56 TEXT,
+COL57 TEXT,
+COL58 TEXT,
+COL59 TEXT,
+COL60 TEXT,
+COL61 TEXT,
+COL62 TEXT,
+COL63 TEXT,
+COL64 TEXT,
+COL65 TEXT,
+COL66 TEXT,
+COL67 TEXT,
+COL68 TEXT,
+COL69 TEXT,
+COL70 TEXT,
+COL71 TEXT,
+COL72 TEXT,
+COL73 TEXT,
+COL74 TEXT,
+COL75 TEXT,
+COL76 TEXT,
+COL77 TEXT,
+COL78 TEXT,
+COL79 TEXT,
+COL80 TEXT,
+COL81 TEXT,
+COL82 TEXT,
+COL83 TEXT,
+COL84 TEXT,
+COL85 TEXT,
+COL86 TEXT,
+COL87 TEXT,
+COL88 TEXT,
+COL89 TEXT,
+COL90 TEXT,
+COL91 TEXT,
+COL92 TEXT,
+COL93 TEXT,
+COL94 TEXT,
+COL95 TEXT,
+COL96 TEXT,
+COL97 TEXT,
+COL98 TEXT,
+COL99 TEXT,
+COL100 TEXT,
+COL101 TEXT,
+COL102 TEXT,
+COL103 TEXT,
+COL104 TEXT,
+COL105 TEXT,
+COL106 TEXT,
+COL107 TEXT,
+COL108 TEXT,
+COL109 TEXT,
+COL110 TEXT,
+COL111 TEXT,
+COL112 TEXT,
+COL113 TEXT,
+COL114 TEXT,
+COL115 TEXT,
+COL116 TEXT,
+COL117 TEXT,
+COL118 TEXT,
+COL119 TEXT,
+COL120 TEXT,
+COL121 TEXT,
+COL122 TEXT,
+COL123 TEXT,
+COL124 TEXT,
+COL125 TEXT,
+COL126 TEXT,
+COL127 TEXT,
+COL128 TEXT,
+COL129 TEXT,
+COL130 TEXT,
+COL131 TEXT,
+COL132 TEXT,
+COL133 TEXT,
+COL134 TEXT,
+COL135 TEXT,
+COL136 TEXT,
+COL137 TEXT,
+COL138 TEXT,
+COL139 TEXT,
+COL140 TEXT,
+COL141 TEXT,
+COL142 TEXT,
+COL143 TEXT,
+COL144 TEXT,
+COL145 TEXT,
+COL146 TEXT,
+COL147 TEXT,
+COL148 TEXT,
+COL149 TEXT,
+COL150 TEXT,
+COL151 TEXT,
+COL152 TEXT,
+COL153 TEXT,
+COL154 TEXT,
+COL155 TEXT,
+COL156 TEXT,
+COL157 TEXT,
+COL158 TEXT,
+COL159 TEXT,
+COL160 TEXT,
+COL161 TEXT,
+COL162 TEXT,
+COL163 TEXT,
+COL164 TEXT,
+COL165 TEXT,
+COL166 TEXT,
+COL167 TEXT,
+COL168 TEXT,
+COL169 TEXT,
+COL170 TEXT,
+COL171 TEXT,
+COL172 TEXT,
+COL173 TEXT,
+COL174 TEXT,
+COL175 TEXT,
+COL176 TEXT,
+COL177 TEXT,
+COL178 TEXT,
+COL179 TEXT,
+COL180 TEXT,
+COL181 TEXT,
+COL182 TEXT,
+COL183 TEXT,
+COL184 TEXT,
+COL185 TEXT,
+COL186 TEXT,
+COL187 TEXT,
+COL188 TEXT,
+COL189 TEXT,
+COL190 TEXT,
+COL191 TEXT,
+COL192 TEXT,
+COL193 TEXT,
+COL194 TEXT,
+COL195 TEXT,
+COL196 TEXT,
+COL197 TEXT)
+row_format=dynamic,ENGINE=INNODB;
+set @a = repeat('0123456789', 800);
+set @b = repeat('9876543210', 800);
+insert into t2 values(
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a);
+update t2 set col190=@b;
+set @a = repeat('0123456789', 1650);
+set @b = repeat('9876543210', 2000);
+insert into t2 values(
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a);
+update t2 set col190=@b;
+set @a = repeat('abcdefghijklmnopqrstuvwxyz', 1650);
+set @b = repeat('zyxwvutsrqponmlkjihgfedcba', 2000);
+update t2 set col189 = @b;
+insert into t2 select * from t2;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` blob,
+ `b` blob,
+ `c` blob,
+ `d` blob,
+ `e` blob,
+ `f` blob,
+ `g` blob,
+ `h` blob,
+ `i` blob,
+ `j` blob,
+ `k` blob,
+ `l` blob,
+ `m` blob,
+ `n` blob,
+ `o` blob,
+ `p` blob,
+ `q` blob,
+ `r` blob,
+ `s` blob,
+ `t` blob,
+ `u` blob,
+ `v` blob,
+ `w` blob,
+ `x` blob,
+ `y` blob,
+ `z` blob,
+ `aa` blob,
+ `ba` blob,
+ `ca` blob,
+ `da` blob,
+ `ea` blob,
+ `fa` blob,
+ `ga` blob,
+ `ha` blob,
+ `ia` blob,
+ `ja` blob,
+ `ka` blob,
+ `la` blob,
+ `ma` blob,
+ `na` blob,
+ `oa` blob,
+ `pa` blob,
+ `qa` blob,
+ `ra` blob,
+ `sa` blob,
+ `ta` blob,
+ `ua` blob,
+ `va` blob,
+ `wa` blob,
+ `xa` blob,
+ `ya` blob,
+ `za` blob,
+ `ab` blob,
+ `bb` blob,
+ `cb` blob,
+ `db` blob,
+ `eb` blob,
+ `fb` blob,
+ `gb` blob,
+ `hb` blob,
+ `ib` blob,
+ `jb` blob,
+ `kb` blob,
+ `lb` blob,
+ `mb` blob,
+ `nb` blob,
+ `ob` blob,
+ `pb` blob,
+ `qb` blob,
+ `rb` blob,
+ `sb` blob,
+ `tb` blob,
+ `ub` blob,
+ `vb` blob,
+ `wb` blob,
+ `xb` blob,
+ `yb` blob,
+ `zb` blob,
+ `ac` blob,
+ `bc` blob,
+ `cc` blob,
+ `dc` blob,
+ `ec` blob,
+ `fc` blob,
+ `gc` blob,
+ `hc` blob,
+ `ic` blob,
+ `jc` blob,
+ `kc` blob,
+ `lc` blob,
+ `mc` blob,
+ `nc` blob,
+ `oc` blob,
+ `pc` blob,
+ `qc` blob,
+ `rc` blob,
+ `sc` blob,
+ `tc` blob,
+ `uc` blob,
+ `vc` blob,
+ `wc` blob,
+ `xc` blob,
+ `yc` blob,
+ `zc` blob,
+ KEY `t1a` (`a`(767),`b`(767)),
+ KEY `t1c` (`c`(767),`d`(767)),
+ KEY `t1e` (`e`(767),`f`(767)),
+ KEY `t1f2` (`g`(767),`h`(767)),
+ KEY `t1f4` (`i`(767),`j`(767)),
+ KEY `t1k` (`k`(767),`m`(767)),
+ KEY `t1f8` (`n`(767),`o`(767)),
+ KEY `t1f11` (`p`(767),`q`(767)),
+ KEY `t1f13` (`r`(767),`s`(767)),
+ KEY `t1f15` (`t`(767),`u`(767)),
+ KEY `t1f18` (`w`(767),`x`(767)),
+ KEY `t1f20` (`y`(767),`z`(767)),
+ KEY `ta1a6` (`aa`(767),`ba`(767)),
+ KEY `tc1c6` (`ca`(767),`da`(767)),
+ KEY `te1e6` (`ea`(767),`fa`(767)),
+ KEY `tg1f2` (`ia`(767),`ja`(767)),
+ KEY `ti1f4` (`ia`(767),`ka`(767)),
+ KEY `tk1f6` (`la`(767),`ma`(767)),
+ KEY `tm1f8` (`na`(767),`oa`(767)),
+ KEY `to1f11` (`pa`(767),`qa`(767)),
+ KEY `tq1f13` (`ra`(767),`sa`(767)),
+ KEY `ts1f15` (`ta`(767),`ua`(767)),
+ KEY `tu1f18` (`wa`(767),`xa`(767)),
+ KEY `tx1f20` (`ya`(767),`za`(767)),
+ KEY `ta1a5` (`ab`(767),`bb`(767)),
+ KEY `tc1c5` (`cb`(767),`db`(767)),
+ KEY `te1e5` (`eb`(767),`fb`(767)),
+ KEY `t5g1f2` (`gb`(767),`hb`(767)),
+ KEY `t5i1f4` (`ib`(767),`kb`(767)),
+ KEY `t5k1f6` (`lb`(767),`mb`(767)),
+ KEY `t5m1f8` (`nb`(767),`ob`(767)),
+ KEY `t5o1f11` (`pb`(767),`qb`(767)),
+ KEY `t65q1f13` (`rb`(767),`sb`(767)),
+ KEY `t65s1f15` (`tb`(767),`ub`(767)),
+ KEY `t65u1f18` (`wb`(767),`xb`(767)),
+ KEY `t65x1f20` (`yb`(767),`zb`(767)),
+ KEY `xta1a5` (`ac`(767),`bc`(767)),
+ KEY `xt5g1f2` (`gc`(767),`hc`(767)),
+ KEY `xt5i1f4` (`ic`(767)),
+ KEY `xtc1c5` (`cc`(767),`dc`(767)),
+ KEY `xte1e5` (`ec`(767),`fc`(767))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `COL1` text,
+ `COL2` text,
+ `COL3` text,
+ `COL4` text,
+ `COL5` text,
+ `COL6` text,
+ `COL7` text,
+ `COL8` text,
+ `COL9` text,
+ `COL10` text,
+ `COL11` text,
+ `COL12` text,
+ `COL13` text,
+ `COL14` text,
+ `COL15` text,
+ `COL16` text,
+ `COL17` text,
+ `COL18` text,
+ `COL19` text,
+ `COL20` text,
+ `COL21` text,
+ `COL22` text,
+ `COL23` text,
+ `COL24` text,
+ `COL25` text,
+ `COL26` text,
+ `COL27` text,
+ `COL28` text,
+ `COL29` text,
+ `COL30` text,
+ `COL31` text,
+ `COL32` text,
+ `COL33` text,
+ `COL34` text,
+ `COL35` text,
+ `COL36` text,
+ `COL37` text,
+ `COL38` text,
+ `COL39` text,
+ `COL40` text,
+ `COL41` text,
+ `COL42` text,
+ `COL43` text,
+ `COL44` text,
+ `COL45` text,
+ `COL46` text,
+ `COL47` text,
+ `COL48` text,
+ `COL49` text,
+ `COL50` text,
+ `COL51` text,
+ `COL52` text,
+ `COL53` text,
+ `COL54` text,
+ `COL55` text,
+ `COL56` text,
+ `COL57` text,
+ `COL58` text,
+ `COL59` text,
+ `COL60` text,
+ `COL61` text,
+ `COL62` text,
+ `COL63` text,
+ `COL64` text,
+ `COL65` text,
+ `COL66` text,
+ `COL67` text,
+ `COL68` text,
+ `COL69` text,
+ `COL70` text,
+ `COL71` text,
+ `COL72` text,
+ `COL73` text,
+ `COL74` text,
+ `COL75` text,
+ `COL76` text,
+ `COL77` text,
+ `COL78` text,
+ `COL79` text,
+ `COL80` text,
+ `COL81` text,
+ `COL82` text,
+ `COL83` text,
+ `COL84` text,
+ `COL85` text,
+ `COL86` text,
+ `COL87` text,
+ `COL88` text,
+ `COL89` text,
+ `COL90` text,
+ `COL91` text,
+ `COL92` text,
+ `COL93` text,
+ `COL94` text,
+ `COL95` text,
+ `COL96` text,
+ `COL97` text,
+ `COL98` text,
+ `COL99` text,
+ `COL100` text,
+ `COL101` text,
+ `COL102` text,
+ `COL103` text,
+ `COL104` text,
+ `COL105` text,
+ `COL106` text,
+ `COL107` text,
+ `COL108` text,
+ `COL109` text,
+ `COL110` text,
+ `COL111` text,
+ `COL112` text,
+ `COL113` text,
+ `COL114` text,
+ `COL115` text,
+ `COL116` text,
+ `COL117` text,
+ `COL118` text,
+ `COL119` text,
+ `COL120` text,
+ `COL121` text,
+ `COL122` text,
+ `COL123` text,
+ `COL124` text,
+ `COL125` text,
+ `COL126` text,
+ `COL127` text,
+ `COL128` text,
+ `COL129` text,
+ `COL130` text,
+ `COL131` text,
+ `COL132` text,
+ `COL133` text,
+ `COL134` text,
+ `COL135` text,
+ `COL136` text,
+ `COL137` text,
+ `COL138` text,
+ `COL139` text,
+ `COL140` text,
+ `COL141` text,
+ `COL142` text,
+ `COL143` text,
+ `COL144` text,
+ `COL145` text,
+ `COL146` text,
+ `COL147` text,
+ `COL148` text,
+ `COL149` text,
+ `COL150` text,
+ `COL151` text,
+ `COL152` text,
+ `COL153` text,
+ `COL154` text,
+ `COL155` text,
+ `COL156` text,
+ `COL157` text,
+ `COL158` text,
+ `COL159` text,
+ `COL160` text,
+ `COL161` text,
+ `COL162` text,
+ `COL163` text,
+ `COL164` text,
+ `COL165` text,
+ `COL166` text,
+ `COL167` text,
+ `COL168` text,
+ `COL169` text,
+ `COL170` text,
+ `COL171` text,
+ `COL172` text,
+ `COL173` text,
+ `COL174` text,
+ `COL175` text,
+ `COL176` text,
+ `COL177` text,
+ `COL178` text,
+ `COL179` text,
+ `COL180` text,
+ `COL181` text,
+ `COL182` text,
+ `COL183` text,
+ `COL184` text,
+ `COL185` text,
+ `COL186` text,
+ `COL187` text,
+ `COL188` text,
+ `COL189` text,
+ `COL190` text,
+ `COL191` text,
+ `COL192` text,
+ `COL193` text,
+ `COL194` text,
+ `COL195` text,
+ `COL196` text,
+ `COL197` text
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+BEGIN;
+update t2 set col150=@a;
+update t2 set col145=@b;
+COMMIT;
+drop table t2;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-agregate.result b/mysql-test/suite/innodb/r/innodb-agregate.result
new file mode 100644
index 00000000000..d3e096c7eb0
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-agregate.result
@@ -0,0 +1,21 @@
+create table t2 (a smallint(6) not null, b int(10) not null, name varchar(20), primary key(a,b), key(name)) engine=InnoDB;
+insert into t2 values (8355,3,"sanja"),(8355,4,"wlad"),(8366,5, "lawrin"),(8366,6,"markusjm");
+select count(distinct name) from t2 where a=8366 and b>=5 and b<=5;
+count(distinct name)
+1
+select count(distinct name) from t2 where a=8366 and b=5;
+count(distinct name)
+1
+select count(distinct name) from t2 where a=8366 and b between 5 and 5.5;
+count(distinct name)
+1
+select sum(distinct a) from t2 where a=8366 and b>=5 and b<=5;
+sum(distinct a)
+8366
+select sum(distinct a) from t2 where a=8366 and b=5;
+sum(distinct a)
+8366
+select sum(distinct a) from t2 where a=8366 and b between 5 and 5.5;
+sum(distinct a)
+8366
+drop table t2;
diff --git a/mysql-test/suite/innodb/r/innodb-alter-autoinc.result b/mysql-test/suite/innodb/r/innodb-alter-autoinc.result
new file mode 100644
index 00000000000..82eb448fe45
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-alter-autoinc.result
@@ -0,0 +1,174 @@
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(347),(33101),(123),(45),(6);
+SET @old_sql_mode = @@sql_mode;
+SET @@sql_mode = 'STRICT_TRANS_TABLES';
+ALTER TABLE t1 ADD PRIMARY KEY(a);
+SET @@sql_mode = @old_sql_mode;
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+LOCK=NONE;
+ERROR 0A000: LOCK=NONE is not supported. Reason: Adding an auto-increment column requires a lock. Try LOCK=SHARED.
+ALTER TABLE t1 ADD id INT AUTO_INCREMENT;
+ERROR 42000: Incorrect table definition; there can be only one auto column and it must be defined as a key
+ALTER TABLE t1 ADD id INT AUTO_INCREMENT, ADD INDEX(a, id);
+ERROR 42000: Incorrect table definition; there can be only one auto column and it must be defined as a key
+ALTER TABLE t1 ADD id INT NOT NULL, ADD INDEX(id, a);
+SELECT * FROM t1;
+a id
+6 0
+45 0
+123 0
+347 0
+33101 0
+SET AUTO_INCREMENT_INCREMENT = 5, AUTO_INCREMENT_OFFSET = 30;
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=COPY;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=latin1
+BEGIN;
+INSERT INTO t1 VALUES(7,0);
+SELECT * FROM t1;
+a id
+6 45
+45 50
+123 55
+347 60
+33101 65
+7 70
+ROLLBACK;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=latin1
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+DROP COLUMN id, AUTO_INCREMENT = 42, LOCK=NONE;
+ERROR 0A000: LOCK=NONE is not supported. Reason: Adding an auto-increment column requires a lock. Try LOCK=SHARED.
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=INPLACE;
+SELECT * FROM t1;
+a id
+6 45
+45 50
+123 55
+347 60
+33101 65
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=latin1
+INSERT INTO t1 SET a=123;
+INSERT INTO t1 VALUES(-123,-45);
+ALTER TABLE t1 AUTO_INCREMENT = 75;
+INSERT INTO t1 SET a=123;
+SELECT * FROM t1;
+a id
+-123 -45
+6 45
+45 50
+123 55
+347 60
+33101 65
+123 70
+123 75
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(347),(33101),(123),(45),(6);
+ALTER TABLE t1 ADD PRIMARY KEY(a);
+ALTER TABLE t1 ADD id INT NOT NULL, ADD INDEX(id, a);
+SELECT * FROM t1;
+a id
+6 0
+45 0
+123 0
+347 0
+33101 0
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=latin1
+BEGIN;
+INSERT INTO t1 VALUES(7,0);
+SELECT * FROM t1;
+a id
+6 45
+45 50
+123 55
+347 60
+33101 65
+7 70
+ROLLBACK;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=latin1
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=COPY;
+SELECT * FROM t1;
+a id
+6 45
+45 50
+123 55
+347 60
+33101 65
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=latin1
+INSERT INTO t1 SET a=123;
+INSERT INTO t1 VALUES(-123,-45);
+ALTER TABLE t1 AUTO_INCREMENT = 75;
+INSERT INTO t1 SET a=123;
+SELECT * FROM t1;
+a id
+-123 -45
+6 45
+45 50
+123 55
+347 60
+33101 65
+123 75
+123 80
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=85 DEFAULT CHARSET=latin1
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-alter-debug.result b/mysql-test/suite/innodb/r/innodb-alter-debug.result
new file mode 100644
index 00000000000..fa6670e6fb3
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-alter-debug.result
@@ -0,0 +1,88 @@
+SET NAMES utf8;
+CREATE TABLE â‘  (
+c1 INT PRIMARY KEY, c2 INT DEFAULT 1, ct TEXT, INDEX(c2))
+ENGINE = InnoDB;
+CREATE TABLE t1ć (c1 INT PRIMARY KEY, c2 INT, INDEX(c2),
+CONSTRAINT t1c2 FOREIGN KEY (c2) REFERENCES â‘ (c2))
+ENGINE=InnoDB;
+INSERT INTO â‘  SET c1 = 1;
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG = '+d,ib_drop_foreign_error';
+ALTER TABLE t1ć DROP FOREIGN KEY t1c2, RENAME TO ②;
+ERROR HY000: The table 't1ć' is full
+SET DEBUG_DBUG = @saved_debug_dbug;
+SET DEBUG_DBUG = '+d,ib_rename_column_error';
+ALTER TABLE â‘  CHANGE c2 Å¡ INT;
+ERROR HY000: The table 'â‘ ' is full
+SET DEBUG_DBUG = @saved_debug_dbug;
+SHOW CREATE TABLE t1ć;
+Table Create Table
+t1ć CREATE TABLE `t1ć` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `â‘ ` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1ć, ①;
+#
+# Bug #21364096 THE BOGUS DUPLICATE KEY ERROR IN ONLINE DDL
+# WITH INCORRECT KEY NAME
+create table t1 (id int auto_increment primary key, a int, unique key uk(a))
+engine = innodb;
+insert into t1 select 1, 1;
+insert into t1 select 2, 2;
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL s1 WAIT_FOR s2';
+alter table t1 add b int, ALGORITHM=inplace;
+/* connection con1 */
+SET DEBUG_SYNC = 'now WAIT_FOR s1';
+insert into t1 select NULL, 1;
+ERROR 23000: Duplicate entry '1' for key 'uk'
+SET DEBUG_SYNC = 'now SIGNAL s2';
+/* connection default */
+/* reap */ alter table t1 add b int, ALGORITHM=inplace;
+ERROR 23000: Duplicate entry '1' for key 'uk'
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL s1 WAIT_FOR s2';
+alter table t1 add b int, ALGORITHM=inplace;;
+/* connection con1 */
+set DEBUG_SYNC = 'now WAIT_FOR s1';
+update t1 set a=1 where id=2;
+ERROR 23000: Duplicate entry '1' for key 'uk'
+SET DEBUG_SYNC = 'now SIGNAL s2';
+/* connection default */
+/* reap */ alter table t1 add b int, ALGORITHM=inplace;
+ERROR 23000: Duplicate entry '1' for key 'uk'
+SET DEBUG_SYNC = 'RESET';
+drop table t1;
+#
+# Bug #27753193 ASSERTION `PREBUILT->TRX->ERROR_KEY_NUM <
+# HA_ALTER_INFO->KEY_COUNT'
+CREATE TABLE t1 (a INT, UNIQUE KEY(a)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+SET DEBUG_SYNC = 'row_log_table_apply1_before signal S1 WAIT_FOR S2';
+ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
+SET DEBUG_SYNC = 'now WAIT_FOR S1';
+INSERT INTO t1 VALUES (1);
+ERROR 23000: Duplicate entry '1' for key 'a'
+SET DEBUG_SYNC = 'now SIGNAL S2';
+ERROR 23000: Duplicate entry '1' for key 'a'
+SET DEBUG_SYNC='RESET';
+DROP TABLE t1;
+#
+# MDEV-17470 Orphan temporary files after interrupted ALTER
+# cause InnoDB: Operating system error number 17 and eventual
+# fatal error 71
+#
+CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY, i INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL,1),(NULL,2),(NULL,3),(NULL,4),(NULL,5),(NULL,6),(NULL,7),(NULL,8);
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+LOCK TABLE t1 READ;
+ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+kill query @id;
+ERROR 70100: Query execution was interrupted
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-alter-discard.result b/mysql-test/suite/innodb/r/innodb-alter-discard.result
new file mode 100644
index 00000000000..29712868239
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-alter-discard.result
@@ -0,0 +1,21 @@
+SET GLOBAL innodb_file_per_table=1;
+CREATE TABLE t(a INT)ENGINE=InnoDB;
+call mtr.add_suppression("InnoDB: Error: trying to open a table, but could not$");
+call mtr.add_suppression("MySQL is trying to open a table handle but the \.ibd file for$");
+call mtr.add_suppression("InnoDB: Table 'test/t'$");
+call mtr.add_suppression("Could not find a valid tablespace file for");
+call mtr.add_suppression("InnoDB: Tablespace open failed for '\"test\"\.\"t\"', ignored");
+call mtr.add_suppression("InnoDB: Failed to find tablespace for table '\"test\"\.\"t\"' in the cache");
+call mtr.add_suppression("InnoDB: Cannot delete tablespace [0-9]+.*not found");
+call mtr.add_suppression("Table .*t in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist");
+SELECT * FROM t;
+ERROR 42S02: Table 'test.t' doesn't exist in engine
+ALTER TABLE t ADD INDEX (a), ALGORITHM=INPLACE;
+ERROR 42S02: Table 'test.t' doesn't exist in engine
+ALTER TABLE t1 ADD INDEX (a), ALGORITHM=COPY;
+ERROR 42S02: Table 'test.t1' doesn't exist
+ALTER TABLE t DISCARD TABLESPACE;
+Warnings:
+Warning 1812 Tablespace is missing for table 'test/t'
+Warning 1812 Tablespace is missing for table 't'
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/innodb-alter-nullable.result b/mysql-test/suite/innodb/r/innodb-alter-nullable.result
new file mode 100644
index 00000000000..3b96bac7a71
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-alter-nullable.result
@@ -0,0 +1,91 @@
+CREATE TABLE t (c1 INT PRIMARY KEY, c2 INT NOT NULL, c3 INT) ENGINE=InnoDB;
+INSERT INTO t VALUES (1,2,3),(4,5,6),(7,8,9);
+ALTER TABLE t CHANGE c1 c1 INT NULL FIRST, ALGORITHM=INPLACE;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+set @old_sql_mode = @@sql_mode;
+set @@sql_mode = 'STRICT_TRANS_TABLES';
+ALTER TABLE t MODIFY c3 INT NOT NULL, ALGORITHM=INPLACE;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+set @@sql_mode = @old_sql_mode;
+ALTER TABLE t CHANGE c2 c2 INT, CHANGE c2 c2 INT NOT NULL;
+ERROR 42S22: Unknown column 'c2' in 't'
+ALTER TABLE t MODIFY c2 INT, MODIFY c2 INT NOT NULL;
+ERROR 42S22: Unknown column 'c2' in 't'
+ALTER TABLE t MODIFY c2 INT UNSIGNED, MODIFY c2 INT;
+ERROR 42S22: Unknown column 'c2' in 't'
+ALTER TABLE t MODIFY c2 CHAR(1) NOT NULL, MODIFY c2 INT NOT NULL;
+ERROR 42S22: Unknown column 'c2' in 't'
+ALTER TABLE t CHANGE c2 c2 INT NOT NULL;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ALTER TABLE t MODIFY c2 INT NOT NULL;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+SET SQL_MODE='STRICT_ALL_TABLES';
+UPDATE t SET c2=NULL;
+ERROR 23000: Column 'c2' cannot be null
+SELECT * FROM t;
+c1 c2 c3
+1 2 3
+4 5 6
+7 8 9
+ALTER TABLE t MODIFY c2 INT, ALGORITHM=INPLACE;
+BEGIN;
+UPDATE t SET c2=NULL;
+SELECT * FROM t;
+c1 c2 c3
+1 NULL 3
+4 NULL 6
+7 NULL 9
+ROLLBACK;
+SELECT * FROM t;
+c1 c2 c3
+1 2 3
+4 5 6
+7 8 9
+ALTER TABLE t MODIFY c2 INT NULL, ALGORITHM=INPLACE;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME='test/t';
+TABLE_ID NAME FLAG N_COLS SPACE FILE_FORMAT ROW_FORMAT ZIP_PAGE_SIZE
+# test/t 1 6 # Antelope Compact 0
+DROP TABLE t;
+CREATE TABLE t1(c1 INT) ENGINE=InnoDB;
+ALTER TABLE t1 ADD CONSTRAINT UNIQUE KEY i1(c1);
+ALTER TABLE t1 CHANGE c1 c1 INT NOT NULL,ADD KEY(c1);
+DROP TABLE t1;
+#
+# MDEV-18732 InnoDB: ALTER IGNORE returns error for NULL
+#
+SET @mode = @@sql_mode;
+SET sql_mode = STRICT_TRANS_TABLES;
+CREATE TABLE t1(c INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL);
+ALTER IGNORE TABLE t1 MODIFY c INT NOT NULL;
+affected rows: 1
+info: Records: 1 Duplicates: 0 Warnings: 1
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+INSERT INTO t1 VALUES (NULL);
+ERROR 23000: Column 'c' cannot be null
+SELECT * FROM t1;
+c
+0
+DROP TABLE t1;
+CREATE TABLE t1(c INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),(1),(1);
+ALTER IGNORE TABLE t1 ADD UNIQUE(c);
+affected rows: 3
+info: Records: 3 Duplicates: 1 Warnings: 0
+ALTER IGNORE TABLE t1 ADD PRIMARY KEY(c);
+affected rows: 2
+info: Records: 2 Duplicates: 0 Warnings: 1
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+SELECT * FROM t1;
+c
+0
+1
+DROP TABLE t1;
+SET sql_mode = @mode;
diff --git a/mysql-test/suite/innodb/r/innodb-alter-table.result b/mysql-test/suite/innodb/r/innodb-alter-table.result
new file mode 100644
index 00000000000..34a05d39882
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-alter-table.result
@@ -0,0 +1,228 @@
+drop database if exists moodle19;
+Warnings:
+Note 1008 Can't drop database 'moodle19'; database doesn't exist
+create database moodle19;
+use moodle19;
+CREATE TABLE `mdl_course_modules` (
+`id` bigint(10) NOT NULL AUTO_INCREMENT,
+`course` bigint(10) NOT NULL DEFAULT '0',
+`module` bigint(10) NOT NULL DEFAULT '0',
+`instance` bigint(10) NOT NULL DEFAULT '0',
+`section` bigint(10) NOT NULL DEFAULT '0',
+`idnumber` varchar(100) DEFAULT NULL,
+`added` bigint(10) NOT NULL DEFAULT '0',
+`delay` varchar(10) NOT NULL DEFAULT '0',
+`score` smallint(4) NOT NULL DEFAULT '0',
+`indent` mediumint(5) NOT NULL DEFAULT '0',
+`visible` tinyint(1) NOT NULL DEFAULT '1',
+`checkboxesforprereqs` tinyint(1) NOT NULL DEFAULT '0',
+`stylewhencomplete` varchar(200) DEFAULT '',
+`checkboxforcomplete` tinyint(1) NOT NULL DEFAULT '0',
+`stylewhenlocked` varchar(200) DEFAULT 'locked',
+`visiblewhenlocked` tinyint(1) NOT NULL DEFAULT '1',
+`visibleold` tinyint(1) NOT NULL DEFAULT '1',
+`groupmode` smallint(4) NOT NULL DEFAULT '0',
+`groupingid` bigint(10) NOT NULL DEFAULT '0',
+`groupmembersonly` smallint(4) NOT NULL DEFAULT '0',
+`completion` tinyint(1) NOT NULL DEFAULT '0',
+`completiongradeitemnumber` bigint(10) DEFAULT NULL,
+`completionview` tinyint(1) NOT NULL DEFAULT '0',
+`completionexpected` bigint(10) NOT NULL DEFAULT '0',
+`availablefrom` bigint(10) NOT NULL DEFAULT '0',
+`availableuntil` bigint(10) NOT NULL DEFAULT '0',
+`showavailability` tinyint(1) NOT NULL DEFAULT '0',
+`showdescription` tinyint(1) NOT NULL DEFAULT '0',
+PRIMARY KEY (`id`),
+KEY `mdl_courmodu_vis_ix` (`visible`),
+KEY `mdl_courmodu_cou_ix` (`course`),
+KEY `mdl_courmodu_mod_ix` (`module`),
+KEY `mdl_courmodu_ins_ix` (`instance`),
+KEY `mdl_courmodu_idncou_ix` (`idnumber`,`course`),
+KEY `mdl_courmodu_gro_ix` (`groupingid`)
+) ENGINE=InnoDB AUTO_INCREMENT=447023 DEFAULT CHARSET=utf8 COMMENT='course_modules table retrofitted from MySQL';
+# Inserting 2701 rows into the table...
+ALTER TABLE moodle19.mdl_course_modules ADD stefantest LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci AFTER showdescription;
+drop database moodle19;
+use test;
+CREATE TABLE `w_findispmon05u` (
+`atpkey` INT(11) NOT NULL DEFAULT '0',
+`atzo05` INT(11) NULL DEFAULT NULL,
+`pos` BIGINT(21) NULL DEFAULT NULL,
+`f5BnvB` INT(9) NULL DEFAULT NULL,
+`f5atbvb` INT(11) NULL DEFAULT NULL,
+`f5atbwmg` INT(11) NULL DEFAULT NULL,
+`f5pBneu` BIGINT(12) NULL DEFAULT NULL,
+`atbwdt` INT(11) NULL DEFAULT NULL,
+`atbwzt` INT(11) NULL DEFAULT NULL,
+`atbart` VARCHAR(10) NULL DEFAULT NULL
+)
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB;
+ALTER TABLE `w_findispmon05u`
+CHANGE COLUMN `atpkey` `f5atpkey` INT(11) NOT NULL DEFAULT '0' FIRST,
+CHANGE COLUMN `atzo05` `f5atzo05` INT(11) NULL DEFAULT NULL AFTER `f5atpkey`,
+CHANGE COLUMN `atbwdt` `f5atbwdt` INT(11) NULL DEFAULT NULL AFTER `f5pBneu`,
+CHANGE COLUMN `atbwzt` `f5atbwzt` INT(11) NULL DEFAULT NULL AFTER `f5atbwdt`,
+CHANGE COLUMN `atbart` `f5atbart` VARCHAR(10) NULL DEFAULT NULL AFTER `f5atbwzt`,
+ADD INDEX `atpkey` (`f5atpkey`),
+ADD INDEX `inatkey` (`f5atzo05`, `pos`),
+ADD INDEX `pos` (`pos`, `f5atzo05`);
+SHOW WARNINGS;
+Level Code Message
+SHOW CREATE TABLE `w_findispmon05u`;
+Table Create Table
+w_findispmon05u CREATE TABLE `w_findispmon05u` (
+ `f5atpkey` int(11) NOT NULL DEFAULT '0',
+ `f5atzo05` int(11) DEFAULT NULL,
+ `pos` bigint(21) DEFAULT NULL,
+ `f5BnvB` int(9) DEFAULT NULL,
+ `f5atbvb` int(11) DEFAULT NULL,
+ `f5atbwmg` int(11) DEFAULT NULL,
+ `f5pBneu` bigint(12) DEFAULT NULL,
+ `f5atbwdt` int(11) DEFAULT NULL,
+ `f5atbwzt` int(11) DEFAULT NULL,
+ `f5atbart` varchar(10) DEFAULT NULL,
+ KEY `atpkey` (`f5atpkey`),
+ KEY `inatkey` (`f5atzo05`,`pos`),
+ KEY `pos` (`pos`,`f5atzo05`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8
+DROP TABLE `w_findispmon05u`;
+CREATE TABLE t (
+a INT NOT NULL,
+b INT NOT NULL,
+PRIMARY KEY (a)
+) ENGINE=INNODB;
+ALTER TABLE t
+CHANGE COLUMN b c INT NOT NULL,
+ADD UNIQUE INDEX (c);
+SHOW WARNINGS;
+Level Code Message
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `c` int(11) NOT NULL,
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `c` (`c`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t
+CHANGE COLUMN c b INT NOT NULL,
+ADD UNIQUE INDEX (c);
+ERROR 42000: Key column 'c' doesn't exist in table
+DROP TABLE t;
+CREATE TABLE parent (
+a INT NOT NULL,
+b INT NOT NULL,
+PRIMARY KEY (a)
+) ENGINE=INNODB;
+CREATE TABLE child (
+a INT NOT NULL,
+b INT NOT NULL,
+PRIMARY KEY (a)
+) ENGINE=INNODB;
+ALTER TABLE child
+CHANGE COLUMN b c INT NOT NULL,
+ADD FOREIGN KEY (c) REFERENCES parent(a);
+SHOW WARNINGS;
+Level Code Message
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a` int(11) NOT NULL,
+ `c` int(11) NOT NULL,
+ PRIMARY KEY (`a`),
+ KEY `c` (`c`),
+ CONSTRAINT `child_ibfk_1` FOREIGN KEY (`c`) REFERENCES `parent` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE child, parent;
+CREATE TABLE IF NOT EXISTS ticket (
+id INT UNSIGNED NOT NULL AUTO_INCREMENT,
+mask VARCHAR(16) DEFAULT '' NOT NULL,
+subject VARCHAR(255) DEFAULT '' NOT NULL,
+is_closed TINYINT(1) UNSIGNED DEFAULT 0 NOT NULL,
+is_deleted TINYINT(1) UNSIGNED DEFAULT 0 NOT NULL,
+team_id INT UNSIGNED DEFAULT 0 NOT NULL,
+category_id INT UNSIGNED DEFAULT 0 NOT NULL,
+first_message_id INT UNSIGNED DEFAULT 0 NOT NULL,
+created_date INT UNSIGNED,
+updated_date INT UNSIGNED,
+due_date INT UNSIGNED,
+first_wrote_address_id INT UNSIGNED NOT NULL DEFAULT 0,
+last_wrote_address_id INT UNSIGNED NOT NULL DEFAULT 0,
+spam_score DECIMAL(4,4) NOT NULL DEFAULT 0,
+spam_training VARCHAR(1) NOT NULL DEFAULT '',
+interesting_words VARCHAR(255) NOT NULL DEFAULT '',
+next_action VARCHAR(255) NOT NULL DEFAULT '',
+PRIMARY KEY (id)
+) ENGINE=InnoDB;
+ALTER TABLE ticket
+CHANGE COLUMN team_id group_id INT UNSIGNED NOT NULL DEFAULT 0,
+CHANGE COLUMN category_id bucket_id INT UNSIGNED NOT NULL DEFAULT 0,
+ADD COLUMN org_id INT UNSIGNED NOT NULL DEFAULT 0,
+ADD INDEX org_id (org_id);
+SHOW CREATE TABLE ticket;
+Table Create Table
+ticket CREATE TABLE `ticket` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `mask` varchar(16) NOT NULL DEFAULT '',
+ `subject` varchar(255) NOT NULL DEFAULT '',
+ `is_closed` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `is_deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `group_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `bucket_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `first_message_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `created_date` int(10) unsigned DEFAULT NULL,
+ `updated_date` int(10) unsigned DEFAULT NULL,
+ `due_date` int(10) unsigned DEFAULT NULL,
+ `first_wrote_address_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `last_wrote_address_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `spam_score` decimal(4,4) NOT NULL DEFAULT '0.0000',
+ `spam_training` varchar(1) NOT NULL DEFAULT '',
+ `interesting_words` varchar(255) NOT NULL DEFAULT '',
+ `next_action` varchar(255) NOT NULL DEFAULT '',
+ `org_id` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `org_id` (`org_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE ticket;
+CREATE TABLE t (
+id bigint(20) unsigned NOT NULL auto_increment,
+d date NOT NULL,
+a bigint(20) unsigned NOT NULL,
+b smallint(5) unsigned DEFAULT NULL,
+PRIMARY KEY (id,d)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs STATS_SAMPLE_PAGES=2
+PARTITION BY RANGE COLUMNS(d)
+(
+PARTITION p20170914 VALUES LESS THAN ('2017-09-15') ENGINE = InnoDB,
+PARTITION p99991231 VALUES LESS THAN (MAXVALUE) ENGINE = InnoDB);
+insert into t(d,a,b) values ('2017-09-15',rand()*10000,rand()*10);
+insert into t(d,a,b) values ('2017-09-15',rand()*10000,rand()*10);
+replace into t(d,a,b) select '2017-09-15',rand()*10000,rand()*10 from t t1, t t2, t t3, t t4;
+select count(*) from t where d ='2017-09-15';
+count(*)
+18
+ALTER TABLE t CHANGE b c smallint(5) unsigned , ADD KEY idx_d_a (d, a);
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `d` date NOT NULL,
+ `a` bigint(20) unsigned NOT NULL,
+ `c` smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (`id`,`d`),
+ KEY `idx_d_a` (`d`,`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs STATS_SAMPLE_PAGES=2
+/*!50500 PARTITION BY RANGE COLUMNS(d)
+(PARTITION p20170914 VALUES LESS THAN ('2017-09-15') ENGINE = InnoDB,
+ PARTITION p99991231 VALUES LESS THAN (MAXVALUE) ENGINE = InnoDB) */
+analyze table t;
+Table Op Msg_type Msg_text
+test.t analyze status OK
+select count(*) from t where d ='2017-09-15';
+count(*)
+18
+select count(*) from t force index(primary) where d ='2017-09-15';
+count(*)
+18
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/innodb-alter-tempfile.result b/mysql-test/suite/innodb/r/innodb-alter-tempfile.result
new file mode 100644
index 00000000000..ce13ad0978b
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-alter-tempfile.result
@@ -0,0 +1,40 @@
+#
+# Bug #18734396 INNODB IN-PLACE ALTER FAILURES BLOCK FUTURE ALTERS
+#
+# Temporary tablename will be unique. This makes sure that future
+# in-place ALTERs of the same table will not be blocked due to
+# temporary tablename.
+# Crash the server in ha_innobase::commit_inplace_alter_table()
+CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=innodb;
+SET debug='d,innodb_alter_commit_crash_before_commit';
+Warnings:
+Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+# Write file to make mysql-test-run.pl expect crash
+# Execute the statement that causes the crash
+ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
+ERROR HY000: Lost connection to MySQL server during query
+# Startup the server after the crash
+# Read and remember the temporary table name
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+# Consecutive Alter table does not create same temporary file name
+ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
+# Shutdown the server to allow manual recovery
+# Manual recovery begin. The dictionary was not updated
+# and the files were not renamed. The rebuilt table
+# was left behind on purpose, to faciliate data recovery.
+# Manual recovery end
+# Startup the server after manual recovery
+# Drop the orphaned rebuilt table.
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL,
+ PRIMARY KEY (`f2`,`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb-alter-timestamp.result b/mysql-test/suite/innodb/r/innodb-alter-timestamp.result
new file mode 100644
index 00000000000..2ab81136d1f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-alter-timestamp.result
@@ -0,0 +1,29 @@
+CREATE TABLE t1 (
+`i1` INT(10) UNSIGNED NOT NULL,
+`d1` TIMESTAMP NULL DEFAULT NULL
+) ENGINE=innodb;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i1` int(10) unsigned NOT NULL,
+ `d1` timestamp NULL DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO t1 (i1) VALUES (1), (2), (3), (4), (5);
+select * from t1;
+i1 d1
+1 NULL
+2 NULL
+3 NULL
+4 NULL
+5 NULL
+set sql_mode = 'STRICT_ALL_TABLES,NO_ZERO_DATE';
+ALTER TABLE t1 CHANGE `d1` `d1` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
+drop table t1;
+CREATE TABLE t1 (
+`i1` INT(10) UNSIGNED NOT NULL,
+`d1` TIMESTAMP NULL DEFAULT NULL
+) ENGINE=innodb;
+INSERT INTO t1 (i1) VALUES (1), (2), (3), (4), (5);
+ALTER TABLE t1 CHANGE `d1` `d1` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
+drop table t1;
+set sql_mode = '';
diff --git a/mysql-test/suite/innodb/r/innodb-alter.result b/mysql-test/suite/innodb/r/innodb-alter.result
new file mode 100644
index 00000000000..ebafc4fdb59
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-alter.result
@@ -0,0 +1,1035 @@
+SET NAMES utf8;
+CREATE TABLE t1 (
+c1 INT PRIMARY KEY, c2 INT DEFAULT 1, ct TEXT,
+INDEX(c2))
+ENGINE=InnoDB;
+INSERT INTO t1 SET c1=1;
+CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME LIKE 'test/t%';
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+CREATE TABLE t1p LIKE t1;
+CREATE TABLE t1c (c1 INT PRIMARY KEY, c2 INT, c3 INT, INDEX(c2), INDEX(c3),
+CONSTRAINT t1c2 FOREIGN KEY (c2) REFERENCES t1(c2),
+CONSTRAINT t1c3 FOREIGN KEY (c3) REFERENCES t1p(c2))
+ENGINE=InnoDB;
+CREATE TABLE sys_foreign SELECT i.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i
+WHERE FOR_NAME LIKE 'test/t%';
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c2 0
+test/t1c3 c3 c2 0
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c2
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c2 0
+test/t1c3 c3 c2 0
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT '1',
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1 ALTER c2 DROP DEFAULT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11),
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c2
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c2 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE c2 c2 INT AFTER c1;
+ALTER TABLE t1 CHANGE c1 c1 INT FIRST;
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c2
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c2 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE C2 c3 INT;
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE c3 C INT;
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+C 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 C
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 C 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE C Cöŀumň_TWO INT;
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 Cöŀumň_TWO 0
+test/t1c3 c3 c2 0
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+Cöŀumň_TWO 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 Cöŀumň_TWO
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 Cöŀumň_TWO 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE cöĿǖmň_two c3 INT;
+ERROR 42S22: Unknown column 'cöĿǖmň_two' in 't1'
+ALTER TABLE t1 CHANGE cÖĿUMŇ_two c3 INT, RENAME TO t3;
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+NAME NAME
+test/t1 test/t3
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `c1` int(11) NOT NULL,
+ `c3` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c3`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ KEY `c3` (`c3`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t3` (`c3`),
+ CONSTRAINT `t1c3` FOREIGN KEY (`c3`) REFERENCES `t1p` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t3 CHANGE c3
+`12345678901234567890123456789012345678901234567890123456789012345` INT;
+ERROR 42000: Identifier name '12345678901234567890123456789012345678901234567890123456789012345' is too long
+ALTER TABLE t3 CHANGE c3
+`1234567890123456789012345678901234567890123456789012345678901234` INT;
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `c1` int(11) NOT NULL,
+ `1234567890123456789012345678901234567890123456789012345678901234` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`1234567890123456789012345678901234567890123456789012345678901234`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾å€¿å€` INT;
+ERROR 42000: Identifier name '倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ ' is too long
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾å€¿Ã¤` INT;
+ERROR 42000: Identifier name '倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ ' is too long
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾Ã¤` INT;
+ALTER TABLE t3 CHANGE
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾Ã„`
+c3 INT;
+ALTER TABLE t3 CHANGE c3 ðŒ€ðŒðŒ‚ðŒƒðŒ„ðŒ…ðŒ†ðŒ‡ðŒˆðŒ‰ðŒŠðŒ‹ðŒŒðŒðŒŽðŒðŒðŒ‘ðŒ’ðŒ“ðŒ”ðŒ•ðŒ–ðŒ—ðŒ˜ðŒ™ðŒšðŒ›ðŒœ INT;
+ERROR HY000: Invalid utf8 character string: '\xF0\x90\x8C\x80\xF0\x90\x8C\x81\xF0\x90\x8C\x82\xF0\x90\x8C\x83'
+ALTER TABLE t3 CHANGE c3 😲 INT;
+ERROR HY000: Invalid utf8 character string: '\xF0\x9F\x98\xB2'
+ALTER TABLE t3 RENAME TO t2;
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+NAME NAME
+test/t1 test/t2
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c1` int(11) NOT NULL,
+ `c3` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c3`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+RENAME TABLE t2 TO t1;
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+NAME NAME
+test/t1 test/t1
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 DROP INDEX c2;
+ERROR HY000: Cannot drop index 'c2': needed in a foreign key constraint
+ALTER TABLE t1 DROP INDEX c4;
+ERROR 42000: Can't DROP 'c4'; check that column/key exists
+ALTER TABLE t1c DROP FOREIGN KEY c2;
+ERROR 42000: Can't DROP 'c2'; check that column/key exists
+ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2;
+ERROR 42000: Can't DROP 'c2'; check that column/key exists
+ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2, DROP INDEX c2;
+ERROR 42000: Can't DROP 'c2'; check that column/key exists
+ALTER TABLE t1c DROP INDEX c2;
+ERROR HY000: Cannot drop index 'c2': needed in a foreign key constraint
+ALTER TABLE t1c DROP FOREIGN KEY ẗ1C2;
+ERROR 42000: Can't DROP 'ẗ1C2'; check that column/key exists
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ KEY `c3` (`c3`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t1` (`c3`),
+ CONSTRAINT `t1c3` FOREIGN KEY (`c3`) REFERENCES `t1p` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SET foreign_key_checks=0;
+DROP TABLE t1p;
+SET foreign_key_checks=1;
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ KEY `c3` (`c3`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t1` (`c3`),
+ CONSTRAINT `t1c3` FOREIGN KEY (`c3`) REFERENCES `t1p` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+test/t1c3 c3 c2 0
+CREATE TABLE t1p (c1 INT PRIMARY KEY, c2 INT, INDEX(c2)) ENGINE=InnoDB;
+ALTER TABLE t1c DROP INDEX C2, DROP INDEX C3;
+ERROR HY000: Cannot drop index 'c2': needed in a foreign key constraint
+ALTER TABLE t1c DROP INDEX C3;
+ERROR HY000: Cannot drop index 'c3': needed in a foreign key constraint
+SET foreign_key_checks=0;
+ALTER TABLE t1c DROP INDEX C3;
+SET foreign_key_checks=1;
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t1` (`c3`),
+ CONSTRAINT `t1c3` FOREIGN KEY (`c3`) REFERENCES `t1p` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1c DROP FOREIGN KEY t1C3;
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t1` (`c3`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+ALTER TABLE t1c DROP INDEX c2, DROP FOREIGN KEY t1C2;
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+ALTER TABLE t1 DROP INDEX c2, CHANGE c3 c2 INT;
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+CREATE TABLE t1o LIKE t1;
+ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
+CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
+ALGORITHM=INPLACE, LOCK=NONE;
+ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED.
+ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
+CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
+ALGORITHM=INPLACE, LOCK=SHARED;
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+SHOW CREATE TABLE tt;
+Table Create Table
+tt CREATE TABLE `tt` (
+ `pk` int(11) NOT NULL,
+ `c2` int(11) DEFAULT '42',
+ `ct` text,
+ PRIMARY KEY (`pk`),
+ FULLTEXT KEY `ct` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=COPY;
+ERROR 42000: Incorrect column name 'dB_row_Id'
+ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=INPLACE;
+ERROR 42000: Incorrect column name 'DB_ROW_ID'
+ALTER TABLE t1o CHANGE c1 DB_TRX_ID INT;
+ERROR 42000: Incorrect column name 'DB_TRX_ID'
+ALTER TABLE t1o CHANGE c1 db_roll_ptr INT;
+ERROR 42000: Incorrect column name 'DB_ROLL_PTR'
+ALTER TABLE t1o ADD COLUMN DB_TRX_ID INT;
+ERROR 42000: Incorrect column name 'DB_TRX_ID'
+ALTER TABLE t1o ADD COLUMN db_roll_ptr INT;
+ERROR 42000: Incorrect column name 'db_roll_ptr'
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ADD COLUMN FTS_DOC_ID BIGINT;
+ERROR HY000: Column 'FTS_DOC_ID' is of wrong type for an InnoDB FULLTEXT index
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED;
+ERROR HY000: Column 'FTS_DOC_ID' is of wrong type for an InnoDB FULLTEXT index
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
+ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL;
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ADD COLUMN FTS_DOC_ID INT;
+ERROR 42S21: Duplicate column name 'FTS_DOC_ID'
+ALTER TABLE t1o DROP COLUMN FTS_DOC_ID, ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot drop or rename FTS_DOC_ID. Try ALGORITHM=COPY.
+ALTER TABLE t1o DROP COLUMN FTS_DOC_ID, DROP INDEX ct, ALGORITHM=INPLACE;
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ADD COLUMN cu TEXT;
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu), ADD COLUMN FTS_DOC_ID BIGINT,
+ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY.
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu), ADD COLUMN FTS_DOC_ID BIGINT;
+ERROR 42000: Incorrect column name 'FTS_DOC_ID'
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu), ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED,
+ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY.
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu), ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED;
+ERROR 42000: Incorrect column name 'FTS_DOC_ID'
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu),
+ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL, ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY.
+ALTER TABLE t1o ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY.
+ALTER TABLE t1o ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL;
+ALTER TABLE t1o DROP COLUMN FTS_DOC_ID, ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot drop or rename FTS_DOC_ID. Try ALGORITHM=COPY.
+ALTER TABLE t1o DROP COLUMN FTS_DOC_ID;
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
+ALGORITHM=COPY;
+ERROR 42000: Incorrect column name 'FTS_DOC_ID'
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
+ALGORITHM=INPLACE;
+ERROR 42000: Incorrect column name 'FTS_DOC_ID'
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_Doc_ID INT,
+ALGORITHM=INPLACE;
+ERROR 42000: Incorrect column name 'FTS_DOC_ID'
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
+CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type INPLACE. Try ALGORITHM=COPY.
+CREATE TABLE t1n LIKE t1o;
+ALTER TABLE t1n ADD FULLTEXT INDEX(ct);
+ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=INPLACE;
+ERROR 42000: Incorrect column name 'FTS_DOC_ID'
+ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=COPY;
+ERROR 42000: Incorrect column name 'Fts_DOC_ID'
+ALTER TABLE t1n CHANGE FTS_DOC_ID c11 INT, ALGORITHM=INPLACE;
+ERROR 42S22: Unknown column 'FTS_DOC_ID' in 't1n'
+ALTER TABLE t1n CHANGE c1 FTS_DOC_ïD INT, ALGORITHM=INPLACE;
+ALTER TABLE t1n CHANGE FTS_DOC_ÃD c1 INT, ALGORITHM=INPLACE;
+ALTER TABLE t1n CHANGE c1 c2 INT, CHANGE c2 ct INT, CHANGE ct c1 TEXT,
+ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1n;
+Table Create Table
+t1n CREATE TABLE `t1n` (
+ `c2` int(11) NOT NULL,
+ `ct` int(11) DEFAULT NULL,
+ `c1` text,
+ `cu` text,
+ PRIMARY KEY (`c2`),
+ FULLTEXT KEY `ct` (`c1`),
+ FULLTEXT KEY `ct_2` (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1n CHANGE c2 c1 INT, CHANGE ct c2 INT, CHANGE c1 ct TEXT,
+ALGORITHM=COPY;
+SHOW CREATE TABLE t1n;
+Table Create Table
+t1n CREATE TABLE `t1n` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `ct` text,
+ `cu` text,
+ PRIMARY KEY (`c1`),
+ FULLTEXT KEY `ct` (`ct`),
+ FULLTEXT KEY `ct_2` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=INPLACE;
+ERROR 42000: Key column 'c2' doesn't exist in table
+ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=COPY;
+ERROR 42000: Key column 'c2' doesn't exist in table
+ALTER TABLE t1n ADD INDEX(c4), CHANGE c2 c4 INT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1n;
+Table Create Table
+t1n CREATE TABLE `t1n` (
+ `c1` int(11) NOT NULL,
+ `c4` int(11) DEFAULT NULL,
+ `ct` text,
+ `cu` text,
+ PRIMARY KEY (`c1`),
+ KEY `c4` (`c4`),
+ FULLTEXT KEY `ct` (`ct`),
+ FULLTEXT KEY `ct_2` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1n DROP INDEX c4;
+ALTER TABLE t1n CHANGE c4 c1 INT, ADD INDEX(c1), ALGORITHM=INPLACE;
+ERROR 42S21: Duplicate column name 'c1'
+ALTER TABLE t1n CHANGE c4 c11 INT, ADD INDEX(c11), ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1n;
+Table Create Table
+t1n CREATE TABLE `t1n` (
+ `c1` int(11) NOT NULL,
+ `c11` int(11) DEFAULT NULL,
+ `ct` text,
+ `cu` text,
+ PRIMARY KEY (`c1`),
+ KEY `c11` (`c11`),
+ FULLTEXT KEY `ct` (`ct`),
+ FULLTEXT KEY `ct_2` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1n;
+ALTER TABLE t1o MODIFY c1 BIGINT UNSIGNED NOT NULL, DROP INDEX ct,
+ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type INPLACE. Try ALGORITHM=COPY.
+ALTER TABLE t1o MODIFY c1 BIGINT UNSIGNED NOT NULL, DROP INDEX ct;
+ALTER TABLE t1o CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ALGORITHM=INPLACE;
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot drop or rename FTS_DOC_ID. Try ALGORITHM=COPY.
+SELECT sc.pos FROM information_schema.innodb_sys_columns sc
+INNER JOIN information_schema.innodb_sys_tables st
+ON sc.TABLE_ID=st.TABLE_ID
+WHERE st.NAME='test/t1o' AND sc.NAME='FTS_DOC_ID';
+pos
+0
+SHOW CREATE TABLE t1o;
+Table Create Table
+t1o CREATE TABLE `t1o` (
+ `FTS_DOC_ID` bigint(20) unsigned NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `ct` text,
+ `cu` text,
+ PRIMARY KEY (`FTS_DOC_ID`),
+ FULLTEXT KEY `ct` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+DROP INDEX ct, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1o;
+Table Create Table
+t1o CREATE TABLE `t1o` (
+ `foo_id` bigint(20) unsigned NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `ct` text,
+ `cu` text,
+ PRIMARY KEY (`foo_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1c, t1p, sys_tables, sys_indexes, sys_foreign;
+CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME='test/t1o';
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+CREATE TABLE sys_foreign SELECT i.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i WHERE FOR_NAME='test/t1o';
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+foo_id 0 6 1800 8
+c2 1 6 1027 4
+ct 2 5 524540 10
+cu 3 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 foo_id
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+ALTER TABLE t1o ADD UNIQUE INDEX FTS_DOC_ID_INDEX(FTS_DOC_ID),
+ADD FULLTEXT INDEX(ct),
+CHANGE foo_id FTS_DOC_ID BIGINT UNSIGNED NOT NULL;
+ALTER TABLE t1o DROP INDEX ct, DROP INDEX FTS_DOC_ID_INDEX,
+CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL;
+ALTER TABLE t1o ADD UNIQUE INDEX FTS_DOC_ID_INDEX(foo_id);
+ALTER TABLE t1o CHANGE foo_id FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ADD FULLTEXT INDEX(ct);
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot drop or rename FTS_DOC_ID. Try ALGORITHM=COPY.
+DROP TABLE sys_indexes;
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+FTS_DOC_ID 0 6 1800 8
+c2 1 6 1027 4
+ct 2 5 524540 10
+cu 3 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 FTS_DOC_ID
+FTS_DOC_ID_INDEX 0 FTS_DOC_ID
+ct 0 ct
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+DROP TABLE tt, t1o, sys_tables, sys_indexes, sys_foreign;
+CREATE TABLE t (t TEXT, FULLTEXT(t)) ENGINE=InnoDB;
+DROP INDEX t ON t;
+SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
+FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
+prefix name
+FTS_0 test/FTS_AUX_BEING_DELETED
+FTS_0 test/FTS_AUX_BEING_DELETED_CACHE
+FTS_0 test/FTS_AUX_CONFIG
+FTS_0 test/FTS_AUX_DELETED
+FTS_0 test/FTS_AUX_DELETED_CACHE
+SELECT sc.pos, sc.NAME FROM information_schema.innodb_sys_columns sc
+INNER JOIN information_schema.innodb_sys_tables st
+ON sc.TABLE_ID=st.TABLE_ID
+WHERE st.NAME='test/t';
+pos NAME
+0 t
+1 FTS_DOC_ID
+ALTER TABLE t ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE;
+SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
+FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
+prefix name
+ALTER TABLE t ADD FULLTEXT INDEX(t);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT sc.pos, sc.NAME FROM information_schema.innodb_sys_columns sc
+INNER JOIN information_schema.innodb_sys_tables st
+ON sc.TABLE_ID=st.TABLE_ID
+WHERE st.NAME='test/t';
+pos NAME
+0 t
+1 FTS_DOC_ID
+DROP TABLE t;
+#
+# Bug #19465984 INNODB DATA DICTIONARY IS NOT UPDATED WHILE
+# RENAMING THE COLUMN
+#
+CREATE TABLE t1(c1 INT NOT NULL, PRIMARY KEY(c1))ENGINE=INNODB;
+CREATE TABLE t2(c2 INT NOT NULL, FOREIGN KEY(c2) REFERENCES t1(c1))ENGINE=INNODB;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c2` int(11) NOT NULL,
+ KEY `c2` (`c2`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c2`) REFERENCES `t1` (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1 CHANGE COLUMN c1 C1 INT;
+ALTER TABLE t2 CHANGE COLUMN c2 C2 INT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `C1` int(11) NOT NULL,
+ PRIMARY KEY (`C1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `C2` int(11) DEFAULT NULL,
+ KEY `c2` (`C2`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c2`) REFERENCES `t1` (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1 CHANGE COLUMN C1 c5 INT;
+ALTER TABLE t2 CHANGE COLUMN C2 c6 INT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c5` int(11) NOT NULL,
+ PRIMARY KEY (`c5`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c6` int(11) DEFAULT NULL,
+ KEY `c2` (`c6`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c6`) REFERENCES `t1` (`c5`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN
+INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID
+WHERE T.NAME='test/t1';
+NAME
+c5
+SELECT F.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS F INNER JOIN
+INFORMATION_SCHEMA.INNODB_SYS_INDEXES I ON F.INDEX_ID=I.INDEX_ID INNER JOIN
+INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON I.TABLE_ID=T.TABLE_ID
+WHERE T.NAME='test/t1' AND I.NAME='PRIMARY';
+NAME
+c5
+SELECT C.REF_COL_NAME, C.FOR_COL_NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS C INNER JOIN
+INFORMATION_SCHEMA.INNODB_SYS_FOREIGN F ON C.ID=F.ID
+WHERE F.FOR_NAME='test/t2';
+REF_COL_NAME FOR_COL_NAME
+c5 c6
+DROP TABLE t2, t1;
+# virtual columns case too
+CREATE TABLE t1 (a INT, b INT GENERATED ALWAYS AS (a) VIRTUAL) ENGINE = InnoDB;
+ALTER TABLE t1 CHANGE COLUMN a A INT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `A` int(11) DEFAULT NULL,
+ `b` int(11) AS (a) VIRTUAL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN
+INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID
+WHERE T.NAME='test/t1';
+NAME
+a
+DROP TABLE t1;
+# different FOREIGN KEY cases
+CREATE TABLE t1 (
+a INT UNIQUE KEY,
+b INT UNIQUE KEY,
+c INT UNIQUE KEY,
+d INT UNIQUE KEY
+) ENGINE=INNODB;
+CREATE TABLE t2 (
+aa INT,
+bb INT,
+cc INT,
+dd INT
+) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 1, 1, 1);
+INSERT INTO t2 VALUES (1, 1, 1, 1);
+ALTER TABLE t1 CHANGE a A INT, ALGORITHM=INPLACE;
+ALTER TABLE t1 CHANGE c C INT, ALGORITHM=INPLACE;
+ALTER TABLE t2 CHANGE cc CC INT, ALGORITHM=INPLACE;
+ALTER TABLE t2 CHANGE dd DD INT, ALGORITHM=INPLACE;
+SET foreign_key_checks=0;
+ALTER TABLE t2
+ADD FOREIGN KEY(aa) REFERENCES t1(a),
+ADD FOREIGN KEY(bb) REFERENCES t1(b),
+ADD FOREIGN KEY(cc) REFERENCES t1(c),
+ADD FOREIGN KEY(dd) REFERENCES t1(d),
+ALGORITHM=INPLACE;
+ALTER TABLE t1 CHANGE b B INT, ALGORITHM=INPLACE;
+ALTER TABLE t2 CHANGE aa AA INT, ALGORITHM=INPLACE;
+ALTER TABLE t1 CHANGE d D INT, ALGORITHM=INPLACE;
+ALTER TABLE t2 CHANGE bb BB INT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `A` int(11) DEFAULT NULL,
+ `B` int(11) DEFAULT NULL,
+ `C` int(11) DEFAULT NULL,
+ `D` int(11) DEFAULT NULL,
+ UNIQUE KEY `a` (`A`),
+ UNIQUE KEY `b` (`B`),
+ UNIQUE KEY `c` (`C`),
+ UNIQUE KEY `d` (`D`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `AA` int(11) DEFAULT NULL,
+ `BB` int(11) DEFAULT NULL,
+ `CC` int(11) DEFAULT NULL,
+ `DD` int(11) DEFAULT NULL,
+ KEY `aa` (`AA`),
+ KEY `bb` (`BB`),
+ KEY `CC` (`CC`),
+ KEY `DD` (`DD`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`),
+ CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`bb`) REFERENCES `t1` (`b`),
+ CONSTRAINT `t2_ibfk_3` FOREIGN KEY (`cc`) REFERENCES `t1` (`c`),
+ CONSTRAINT `t2_ibfk_4` FOREIGN KEY (`dd`) REFERENCES `t1` (`d`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DELETE FROM t1 WHERE a=1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`))
+DELETE FROM t1 WHERE A=1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`))
+DELETE FROM t1 WHERE b=1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`))
+DELETE FROM t1 WHERE B=1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`))
+DELETE FROM t1 WHERE c=1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`))
+DELETE FROM t1 WHERE C=1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`))
+DELETE FROM t1 WHERE d=1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`))
+DELETE FROM t1 WHERE D=1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`aa`) REFERENCES `t1` (`a`))
+DROP TABLE t2, t1;
+# virtual columns case too
+CREATE TABLE t1 (a INT, b INT GENERATED ALWAYS AS (a) VIRTUAL) ENGINE = InnoDB;
+ALTER TABLE t1 CHANGE COLUMN a A INT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `A` int(11) DEFAULT NULL,
+ `b` int(11) AS (a) VIRTUAL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN
+INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID
+WHERE T.NAME='test/t1';
+NAME
+a
+DROP TABLE t1;
+# and an MDEV-18041 regression related to indexes prefixes
+create table `test` (
+`test_old` varchar(255) NOT NULL,
+`other` varchar(255) NOT NULL,
+PRIMARY KEY (`test_old`,`other`),
+UNIQUE KEY uk (`test_old`(100), `other`)
+) ENGINE=InnoDB;
+select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new');
+name pos
+test_old 0
+other 1
+test_old 0
+other 1
+alter table `test` CHANGE COLUMN `test_old` `test_new` varchar(255) NOT NULL;
+select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new');
+name pos
+test_new 0
+other 1
+test_new 0
+other 1
+drop table `test`;
+#
+# BUG 20029625 - HANDLE_FATAL_SIGNAL (SIG=11) IN
+# DICT_MEM_TABLE_COL_RENAME_LOW
+#
+CREATE TABLE parent(a INT, b INT, KEY(a, b)) ENGINE = InnoDB;
+CREATE TABLE t1(a1 INT, a2 INT) ENGINE = InnoDB;
+set foreign_key_checks=0;
+ALTER TABLE t1 ADD CONSTRAINT fk_a FOREIGN KEY(a1, a2) REFERENCES parent(a, b) ON DELETE SET NULL ON UPDATE CASCADE;
+ALTER TABLE t1 CHANGE a2 a3 INT,ADD CONSTRAINT fk_1 FOREIGN KEY(a1, a3) REFERENCES parent(a, b) ON DELETE SET NULL ON UPDATE CASCADE;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a1` int(11) DEFAULT NULL,
+ `a3` int(11) DEFAULT NULL,
+ KEY `fk_1` (`a1`,`a3`),
+ CONSTRAINT `fk_1` FOREIGN KEY (`a1`, `a3`) REFERENCES `parent` (`a`, `b`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `fk_a` FOREIGN KEY (`a1`, `a3`) REFERENCES `parent` (`a`, `b`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+ALTER TABLE t1 CHANGE a3 a4 INT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a1` int(11) DEFAULT NULL,
+ `a4` int(11) DEFAULT NULL,
+ KEY `fk_1` (`a1`,`a4`),
+ CONSTRAINT `fk_1` FOREIGN KEY (`a1`, `a4`) REFERENCES `parent` (`a`, `b`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `fk_a` FOREIGN KEY (`a1`, `a4`) REFERENCES `parent` (`a`, `b`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+ALTER TABLE parent CHANGE b c INT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a1` int(11) DEFAULT NULL,
+ `a4` int(11) DEFAULT NULL,
+ KEY `fk_1` (`a1`,`a4`),
+ CONSTRAINT `fk_1` FOREIGN KEY (`a1`, `a4`) REFERENCES `parent` (`a`, `c`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `fk_a` FOREIGN KEY (`a1`, `a4`) REFERENCES `parent` (`a`, `c`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1, parent;
+#
+#BUG#21514135 SCHEMA MISMATCH ERROR WHEN IMPORTING TABLESPACE AFTER
+#DROPPING AN INDEX
+#
+CREATE DATABASE source_db;
+CREATE DATABASE dest_db;
+CREATE TABLE source_db.t1 (
+id int(11) NOT NULL,
+age int(11) DEFAULT NULL,
+name varchar(20),
+PRIMARY KEY (id),
+KEY index1 (age)
+) ENGINE=InnoDB;
+ALTER TABLE source_db.t1 DROP INDEX index1, ADD INDEX index2(name, age), algorithm=inplace;
+FLUSH TABLES source_db.t1 FOR EXPORT;
+UNLOCK TABLES;
+USE dest_db;
+CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `age` int(11) DEFAULT NULL,
+ `name` varchar(20) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `index2` (`name`,`age`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+ALTER TABLE dest_db.t1 DISCARD TABLESPACE;
+ALTER TABLE dest_db.t1 IMPORT TABLESPACE;
+CHECK TABLE dest_db.t1;
+Table Op Msg_type Msg_text
+dest_db.t1 check status OK
+SHOW CREATE TABLE dest_db.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `age` int(11) DEFAULT NULL,
+ `name` varchar(20) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `index2` (`name`,`age`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM dest_db.t1;
+id age name
+DROP TABLE dest_db.t1;
+ALTER TABLE source_db.t1 DROP INDEX index2, algorithm=inplace;
+FLUSH TABLES source_db.t1 FOR EXPORT;
+UNLOCK TABLES;
+USE dest_db;
+CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `age` int(11) DEFAULT NULL,
+ `name` varchar(20) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+ALTER TABLE dest_db.t1 DISCARD TABLESPACE;
+ALTER TABLE dest_db.t1 IMPORT TABLESPACE;
+CHECK TABLE dest_db.t1;
+Table Op Msg_type Msg_text
+dest_db.t1 check status OK
+SHOW CREATE TABLE dest_db.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `age` int(11) DEFAULT NULL,
+ `name` varchar(20) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM dest_db.t1;
+id age name
+DROP TABLE dest_db.t1;
+DROP TABLE source_db.t1;
+DROP DATABASE source_db;
+DROP DATABASE dest_db;
+#
+# BUG #26334149 MYSQL CRASHES WHEN FULL TEXT INDEXES IBD FILES ARE
+# ORPHANED DUE TO RENAME TABLE
+#
+CREATE DATABASE db1;
+USE db1;
+CREATE TABLE notes (
+id int(11) NOT NULL AUTO_INCREMENT,
+body text COLLATE utf8_unicode_ci,
+PRIMARY KEY (id)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
+COLLATE=utf8_unicode_ci
+ROW_FORMAT=COMPRESSED;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+ALTER TABLE notes ADD FULLTEXT INDEX index_ft_body (body(255));
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+DROP INDEX index_ft_body ON notes;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+CREATE DATABASE db2;
+RENAME TABLE db1.notes TO db2.notes;
+DROP DATABASE db1;
+DROP DATABASE db2;
diff --git a/mysql-test/suite/innodb/r/innodb-autoinc-44030.result b/mysql-test/suite/innodb/r/innodb-autoinc-44030.result
index 54e972843f5..cf3ca93db27 100644
--- a/mysql-test/suite/innodb/r/innodb-autoinc-44030.result
+++ b/mysql-test/suite/innodb/r/innodb-autoinc-44030.result
@@ -1,4 +1,3 @@
-drop table if exists t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (null);
@@ -14,6 +13,8 @@ d1
2
INSERT INTO t1 VALUES(null);
ALTER TABLE t1 AUTO_INCREMENT = 3;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -21,10 +22,12 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`d1`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES(null);
+INSERT INTO t1 VALUES(null);
SELECT * FROM t1;
d1
1
2
3
4
+5
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-autoinc-56228.result b/mysql-test/suite/innodb/r/innodb-autoinc-56228.result
index 492130d1f08..6a3fd85ebd3 100644
--- a/mysql-test/suite/innodb/r/innodb-autoinc-56228.result
+++ b/mysql-test/suite/innodb/r/innodb-autoinc-56228.result
@@ -1,9 +1,9 @@
DROP TABLE IF EXISTS t1_56228;
Warnings:
-Note 1051 Unknown table 't1_56228'
+Note 1051 Unknown table 'test.t1_56228'
DROP TABLE IF EXISTS t2_56228;
Warnings:
-Note 1051 Unknown table 't2_56228'
+Note 1051 Unknown table 'test.t2_56228'
DROP FUNCTION IF EXISTS bug56228;
Warnings:
Note 1305 FUNCTION test.bug56228 does not exist
@@ -27,4 +27,4 @@ DROP FUNCTION bug56228;
DROP TEMPORARY TABLE t2_56228;
DROP TEMPORARY TABLE IF EXISTS t1_56228;
Warnings:
-Note 1051 Unknown table 't1_56228'
+Note 1051 Unknown table 'test.t1_56228'
diff --git a/mysql-test/suite/innodb/r/innodb-autoinc.result b/mysql-test/suite/innodb/r/innodb-autoinc.result
index 2ea6869291e..7d50ed00a92 100644
--- a/mysql-test/suite/innodb/r/innodb-autoinc.result
+++ b/mysql-test/suite/innodb/r/innodb-autoinc.result
@@ -171,7 +171,7 @@ t1 CREATE TABLE `t1` (
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 INT AUTO_INCREMENT, c2 INT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (NULL, 1);
DELETE FROM t1 WHERE c1 = 1;
@@ -184,7 +184,7 @@ c1 c2
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 INT AUTO_INCREMENT, c2 INT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (NULL, 1);
DELETE FROM t1 WHERE c1 = 1;
@@ -197,13 +197,13 @@ c1 c2
5 9
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 100
auto_increment_offset 10
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 INT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (NULL),(5),(NULL);
INSERT INTO t1 VALUES (250),(NULL);
@@ -230,13 +230,13 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 INT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(0);
SELECT * FROM t1;
@@ -269,20 +269,20 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 INT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(-1);
SELECT * FROM t1;
c1
-1
SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 100
auto_increment_offset 10
@@ -315,13 +315,13 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 INT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(-1);
Warnings:
@@ -330,7 +330,7 @@ SELECT * FROM t1;
c1
1
SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 100
auto_increment_offset 10
@@ -370,13 +370,13 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 INT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(-1);
Warnings:
@@ -385,7 +385,7 @@ SELECT * FROM t1;
c1
1
SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 100
auto_increment_offset 10
@@ -419,13 +419,13 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 BIGINT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(NULL);
INSERT INTO t1 VALUES (9223372036854775794);
@@ -434,7 +434,7 @@ c1
1
9223372036854775794
SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 2
auto_increment_offset 10
@@ -452,13 +452,13 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(NULL);
INSERT INTO t1 VALUES (18446744073709551603);
@@ -467,7 +467,7 @@ c1
1
18446744073709551603
SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 2
auto_increment_offset 10
@@ -480,13 +480,13 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(NULL);
INSERT INTO t1 VALUES (18446744073709551603);
@@ -495,7 +495,7 @@ c1
1
18446744073709551603
SET @@SESSION.AUTO_INCREMENT_INCREMENT=5, @@SESSION.AUTO_INCREMENT_OFFSET=7;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 5
auto_increment_offset 7
@@ -508,13 +508,13 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 BIGINT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(NULL);
INSERT INTO t1 VALUES(-9223372036854775806);
@@ -527,7 +527,7 @@ c1
-9223372036854775806
1
SET @@SESSION.AUTO_INCREMENT_INCREMENT=3, @@SESSION.AUTO_INCREMENT_OFFSET=3;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 3
auto_increment_offset 3
@@ -544,13 +544,13 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(NULL);
INSERT INTO t1 VALUES (18446744073709551610);
@@ -562,7 +562,7 @@ SET @@SESSION.AUTO_INCREMENT_INCREMENT=1152921504606846976, @@SESSION.AUTO_INCRE
Warnings:
Warning 1292 Truncated incorrect auto_increment_increment value: '1152921504606846976'
Warning 1292 Truncated incorrect auto_increment_offset value: '1152921504606846976'
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 65535
auto_increment_offset 65535
@@ -575,7 +575,7 @@ c1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
@@ -624,10 +624,10 @@ DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=5;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
DROP TABLE IF EXISTS t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t2'
CREATE TABLE t1 (
a INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
b INT(10) UNSIGNED NOT NULL,
@@ -856,10 +856,10 @@ DROP TABLE t1;
DROP TABLE t2;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
DROP TABLE IF EXISTS t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t2'
CREATE TABLE t1(
c1 INT(10) UNSIGNED NOT NULL AUTO_INCREMENT
PRIMARY KEY) ENGINE=InnoDB;
@@ -874,7 +874,7 @@ ERROR 22003: Out of range value for column 'c1' at row 1
DROP TABLE t1;
DROP TABLE t2;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
@@ -1105,7 +1105,7 @@ c1 c2
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1(C1 DOUBLE AUTO_INCREMENT KEY, C2 CHAR(10)) ENGINE=InnoDB;
INSERT INTO t1(C1, C2) VALUES (1, 'innodb'), (3, 'innodb');
INSERT INTO t1(C2) VALUES ('innodb');
@@ -1130,7 +1130,7 @@ t1 CREATE TABLE `t1` (
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 INT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 SET c1 = 1;
SHOW CREATE TABLE t1;
@@ -1169,7 +1169,7 @@ t1 CREATE TABLE `t1` (
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (c1 INTEGER AUTO_INCREMENT, PRIMARY KEY (c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (-685113344), (1), (NULL), (NULL);
SELECT * FROM t1;
@@ -1252,7 +1252,7 @@ t1 CREATE TABLE `t1` (
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1(c1 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (NULL);
INSERT INTO t1 VALUES (18446744073709551615);
@@ -1264,7 +1264,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB AUTO_INCREMENT=18446744073709551615 DEFAULT CHARSET=latin1
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=256;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 256
@@ -1282,7 +1282,7 @@ c1 c2
1 NULL
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
@@ -1298,7 +1298,7 @@ t1 CREATE TABLE `t1` (
SELECT * FROM t1;
c1 c2
2147483648 a
-ALTER TABLE t1 CHANGE c1 c1 INT;
+ALTER TABLE t1 CHANGE c1 c1 INT default 0;
Warnings:
Warning 1264 Out of range value for column 'c1' at row 1
SHOW CREATE TABLE t1;
@@ -1348,3 +1348,21 @@ t CREATE TABLE `t` (
KEY `i` (`i`)
) ENGINE=InnoDB AUTO_INCREMENT=401 DEFAULT CHARSET=latin1
DROP TABLE t;
+#
+# MDEV-14008 Assertion failing: `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())
+#
+SET sql_mode=STRICT_ALL_TABLES;
+CREATE TABLE t1 (
+c1 DOUBLE NOT NULL PRIMARY KEY AUTO_INCREMENT
+) ENGINE=InnoDB AUTO_INCREMENT=10000000000000000000;
+INSERT INTO t1 VALUES ();
+SELECT * FROM t1;
+c1
+1e19
+DROP TABLE t1;
+CREATE TABLE t1 (a DOUBLE PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (-1);
+SELECT * FROM t1;
+a
+-1
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-bigblob.result b/mysql-test/suite/innodb/r/innodb-bigblob.result
new file mode 100644
index 00000000000..20fe0ce5c43
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-bigblob.result
@@ -0,0 +1,8 @@
+call mtr.add_suppression("Resizing redo log from *");
+call mtr.add_suppression("Starting to delete and rewrite log files.");
+call mtr.add_suppression("New log files created, LSN=*");
+call mtr.add_suppression("Writer thread is waiting this semaphore");
+create table foo (id varchar(37) not null, content longblob) engine=INNODB;
+insert into foo (id, content) values('xyz', '');
+update foo set content=repeat('a', 43941888) where id='xyz';
+drop table foo;
diff --git a/mysql-test/suite/innodb/r/innodb-blob.result b/mysql-test/suite/innodb/r/innodb-blob.result
index a90f83945e0..5d2101d8eeb 100644
--- a/mysql-test/suite/innodb/r/innodb-blob.result
+++ b/mysql-test/suite/innodb/r/innodb-blob.result
@@ -1,3 +1,4 @@
+FLUSH TABLES;
CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t3 (a INT PRIMARY KEY, b TEXT, c TEXT) ENGINE=InnoDB;
@@ -33,9 +34,9 @@ a
1
2
3
-SET DEBUG_DBUG='+d,crash_commit_before';
+BEGIN;
INSERT INTO t2 VALUES (42);
-ERROR HY000: Lost connection to MySQL server during query
+# Kill and restart
ERROR HY000: Lost connection to MySQL server during query
CHECK TABLE t1;
Table Op Msg_type Msg_text
@@ -70,9 +71,7 @@ SELECT info FROM information_schema.processlist
WHERE state = 'debug sync point: before_row_upd_extern';
info
UPDATE t3 SET c=REPEAT('i',3000) WHERE a=2
-SET DEBUG_DBUG='+d,crash_commit_before';
-COMMIT;
-ERROR HY000: Lost connection to MySQL server during query
+# Kill and restart
ERROR HY000: Lost connection to MySQL server during query
CHECK TABLE t1,t2,t3;
Table Op Msg_type Msg_text
@@ -97,9 +96,7 @@ SELECT info FROM information_schema.processlist
WHERE state = 'debug sync point: after_row_upd_extern';
info
UPDATE t3 SET c=REPEAT('j',3000) WHERE a=2
-SET DEBUG_DBUG='+d,crash_commit_before';
-COMMIT;
-ERROR HY000: Lost connection to MySQL server during query
+# Kill and restart
ERROR HY000: Lost connection to MySQL server during query
CHECK TABLE t1,t2,t3;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/innodb/r/innodb-bug-14068765.result b/mysql-test/suite/innodb/r/innodb-bug-14068765.result
new file mode 100644
index 00000000000..7a8f959b995
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-bug-14068765.result
@@ -0,0 +1,42 @@
+DROP TABLE IF EXISTS t1;
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+CREATE DATABASE testdb_wl5522;
+CREATE TABLE testdb_wl5522.t1(col1 bit(1) , col2 boolean,col3 tinyint , col4 smallint , col5 mediumint ,col6 int , col7 bigint , col8 float (14,3) ,col9 double (14,3), col10 VARCHAR(20) CHARACTER SET utf8 , col11 TEXT CHARACTER SET binary , col12 ENUM('a','b','c') CHARACTER SET binary ,col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,col14 CHAR(20) , col15 VARBINARY (400) , col16 BINARY(40), col17 BLOB (400) , col18 int not null primary key,col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,col22 TIME , col23 YEAR ) ENGINE = Innodb;
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+INSERT INTO testdb_wl5522.t1 VALUES (1,1,-128,32767,-8388608,2147483647,-9223372036854775808, 92233720368.222,-92233720368.222,'aaa', 'aaaaaaaaaa','b','bbbbb','ccccc',REPEAT('d',40),REPEAT('d',40),REPEAT('d',40), 1,'1000-01-01','3000-12-31 23:59:59.99','1990-01-01 00:00:01.00','01:59:59.00','1901');
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+ERROR 23000: Column 'col18' cannot be null
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+FLUSH TABLES testdb_wl5522.t1 WITH READ LOCK;
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+COUNT(*)
+2
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1(col1 bit(1) , col2 boolean,col3 tinyint , col4 smallint , col5 mediumint ,col6 int , col7 bigint , col8 float (14,3) ,col9 double (14,3), col10 VARCHAR(20) CHARACTER SET utf8 , col11 TEXT CHARACTER SET binary , col12 ENUM('a','b','c') CHARACTER SET binary ,col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,col14 CHAR(20) , col15 VARBINARY (400) , col16 BINARY(40), col17 BLOB (400) , col18 int not null primary key,col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,col22 TIME , col23 YEAR ) ENGINE = Innodb;
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE testdb_wl5522.t1;
+Table Op Msg_type Msg_text
+testdb_wl5522.t1 check status OK
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+COUNT(*)
+2
+DROP TABLE testdb_wl5522.t1;
+DROP DATABASE testdb_wl5522;
+SET GLOBAL INNODB_FILE_FORMAT=Antelope;
+SET GLOBAL INNODB_FILE_PER_TABLE=1;
diff --git a/mysql-test/suite/innodb/r/innodb-bug-14084530.result b/mysql-test/suite/innodb/r/innodb-bug-14084530.result
new file mode 100644
index 00000000000..4b4f201300c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-bug-14084530.result
@@ -0,0 +1,31 @@
+DROP TABLE IF EXISTS t1;
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+SET AUTOCOMMIT = 0;
+CREATE DATABASE testdb_wl5522;
+CREATE TABLE testdb_wl5522.t1 (c1 int ) engine = Innodb;
+BEGIN;
+INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
+ROLLBACK;
+SELECT c1 FROM testdb_wl5522.t1;
+c1
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (c1 int ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE testdb_wl5522.t1;
+Table Op Msg_type Msg_text
+testdb_wl5522.t1 check status OK
+SELECT c1 FROM testdb_wl5522.t1;
+c1
+SET AUTOCOMMIT = 1;
+DROP TABLE testdb_wl5522.t1;
+DROP DATABASE testdb_wl5522;
+SET GLOBAL INNODB_FILE_FORMAT=Antelope;
+SET GLOBAL INNODB_FILE_PER_TABLE=1;
diff --git a/mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result b/mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result
index cc2a0373444..5b95742d0e8 100644
--- a/mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result
+++ b/mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result
@@ -8,7 +8,7 @@ a INT AUTO_INCREMENT PRIMARY KEY,
b CHAR(1),
c INT,
INDEX(b))
-ENGINE=InnoDB;
+ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO t1 VALUES(0,'x',1);
INSERT INTO t1 SELECT 0,b,c FROM t1;
INSERT INTO t1 SELECT 0,b,c FROM t1;
@@ -21,6 +21,9 @@ INSERT INTO t1 SELECT 0,b,c FROM t1;
INSERT INTO t1 SELECT 0,b,c FROM t1;
INSERT INTO t1 SELECT 0,b,c FROM t1;
INSERT INTO t1 SELECT 0,b,c FROM t1;
+INSERT INTO t1 SELECT 0,b,c FROM t1;
+INSERT INTO t1 SELECT 0,b,c FROM t1;
+INSERT INTO t1 SELECT 0,b,c FROM t1;
BEGIN;
SELECT b FROM t1 LIMIT 3;
b
@@ -33,6 +36,7 @@ INSERT INTO t1 VALUES(1,'X',1);
SET DEBUG_DBUG='+d,crash_after_log_ibuf_upd_inplace';
SELECT b FROM t1 LIMIT 3;
ERROR HY000: Lost connection to MySQL server during query
+FOUND /Wrote log record for ibuf update in place operation/ in my_restart.err
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
diff --git a/mysql-test/suite/innodb/r/innodb-corrupted-table.result b/mysql-test/suite/innodb/r/innodb-corrupted-table.result
new file mode 100644
index 00000000000..94203a794f8
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-corrupted-table.result
@@ -0,0 +1,49 @@
+call mtr.add_suppression("Table .* has a primary key in InnoDB data dictionary, but not in MySQL.*");
+call mtr.add_suppression("InnoDB: Table .* contains .* indexes inside InnoDB, which is different from the number of indexes .* defined in the MySQL.*");
+create table t1 (pk int, i int, key(i)) engine=InnoDB;
+insert into t1 values (1,1),(2,2);
+flush tables;
+# Save the .frm file without the PK
+alter table t1 add primary key (pk);
+# Stop the server, replace the frm with the old one and restart the server
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `pk` int(11) DEFAULT NULL,
+ `i` int(11) DEFAULT NULL,
+ KEY `i` (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+Warnings:
+Warning 1082 InnoDB: Table test/t1 has a primary key in InnoDB data dictionary, but not in MySQL!
+Warning 1082 InnoDB: Table test/t1 contains 2 indexes inside InnoDB, which is different from the number of indexes 1 defined in the MySQL
+select * from t1;
+pk i
+1 1
+2 2
+alter table t1 add j int;
+Warnings:
+Warning 1082 InnoDB: Table test/t1 contains 2 indexes inside InnoDB, which is different from the number of indexes 1 defined in the MySQL
+show warnings;
+Level Code Message
+Warning 1082 InnoDB: Table test/t1 contains 2 indexes inside InnoDB, which is different from the number of indexes 1 defined in the MySQL
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `pk` int(11) DEFAULT NULL,
+ `i` int(11) DEFAULT NULL,
+ `j` int(11) DEFAULT NULL,
+ KEY `i` (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+alter table t1 add primary key (pk);
+show warnings;
+Level Code Message
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `pk` int(11) NOT NULL,
+ `i` int(11) DEFAULT NULL,
+ `j` int(11) DEFAULT NULL,
+ PRIMARY KEY (`pk`),
+ KEY `i` (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb-enlarge-blob.result b/mysql-test/suite/innodb/r/innodb-enlarge-blob.result
new file mode 100644
index 00000000000..8c8e9cf5007
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-enlarge-blob.result
@@ -0,0 +1,18 @@
+CREATE TABLE t1 (a LONGTEXT) ENGINE=INNODB ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+Level Code Message
+INSERT INTO t1 SET a=CONCAT('A', SPACE(8000), 'B');
+INSERT INTO t1 SELECT a FROM t1;
+UPDATE t1 SET a=CONCAT(a, RAND(), a);
+UPDATE t1 SET a=CONCAT(a, RAND(), a);
+SELECT * from t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a LONGTEXT) ENGINE=INNODB ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+Level Code Message
+INSERT INTO t1 SET a=CONCAT('A', SPACE(8000), 'B');
+INSERT INTO t1 SELECT a FROM t1;
+UPDATE t1 SET a=CONCAT(a, RAND(), a);
+UPDATE t1 SET a=CONCAT(a, RAND(), a);
+SELECT * from t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-fk-warnings.result b/mysql-test/suite/innodb/r/innodb-fk-warnings.result
index b3360d038df..d7c7acfb424 100644
--- a/mysql-test/suite/innodb/r/innodb-fk-warnings.result
+++ b/mysql-test/suite/innodb/r/innodb-fk-warnings.result
@@ -13,95 +13,114 @@ c int not null,
CONSTRAINT mytest FOREIGN KEY (c) REFERENCES t1(id),
CONSTRAINT test FOREIGN KEY (b) REFERENCES t2 (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-ERROR HY000: Can't create table 'test.t2' (errno: 121)
+ERROR HY000: Can't create table `test`.`t2` (errno: 121 "Duplicate key on write or update")
show warnings;
Level Code Message
Warning 121 Create or Alter table `test`.`t2` with foreign key constraint failed. Foreign key constraint `test/test` already exists on data dictionary. Foreign key constraint names need to be unique in database. Error in foreign key definition: CONSTRAINT `test` FOREIGN KEY (`b`) REFERENCES `test`.`t2` (`id`).
-Error 1005 Can't create table 'test.t2' (errno: 121)
+Error 1005 Can't create table `test`.`t2` (errno: 121 "Duplicate key on write or update")
+Warning 1022 Can't write; duplicate key in table 't2'
drop table t1;
create table t1(a int) engine=innodb;
create table t2(a int, constraint a foreign key a (a) references t1(a)) engine=innodb;
-ERROR HY000: Can't create table 'test.t2' (errno: 150)
+ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Create table '`test`.`t2`' with foreign key constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns near ' foreign key a (a) references t1(a)) engine=innodb'.
-Error 1005 Can't create table 'test.t2' (errno: 150)
+Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
drop table t1;
create table t1(a int not null primary key, b int) engine=innodb;
create table t2(a int, b int, constraint a foreign key a (a) references t1(a),
constraint a foreign key a (a) references t1(b)) engine=innodb;
-ERROR HY000: Can't create table 'test.t2' (errno: 150)
+ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
-Warning 150 Create table '`test`.`t2`' with foreign key constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns near ' foreign key a (a) references t1(b)) engine=innodb'.
-Error 1005 Can't create table 'test.t2' (errno: 150)
+Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
create table t2(a int, b int, constraint a foreign key a (a) references t1(a)) engine=innodb;
alter table t2 add constraint b foreign key (b) references t2(b);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Alter table '`test`.`t2`' with foreign key constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns near ' foreign key (b) references t2(b)'.
-Error 1005 Can't create table '#sql-temporary' (errno: 150)
+Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
drop table t2, t1;
create table t1 (f1 integer primary key) engine=innodb;
alter table t1 add constraint c1 foreign key (f1) references t11(f1);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Alter table `test`.`t1` with foreign key constraint failed. Referenced table `test`.`t11` not found in the data dictionary near ' foreign key (f1) references t11(f1)'.
-Error 1005 Can't create table '#sql-temporary' (errno: 150)
+Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
drop table t1;
create temporary table t1(a int not null primary key, b int, key(b)) engine=innodb;
create temporary table t2(a int, foreign key(a) references t1(a)) engine=innodb;
-ERROR HY000: Can't create table 'test.t2' (errno: 150)
+ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+show warnings;
+Level Code Message
+Warning 150 Create table `mysqld.1`.`t2` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary close to foreign key(a) references t1(a)) engine=innodb.
+Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
+alter table t1 add foreign key(b) references t1(a);
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+show warnings;
+Level Code Message
+Warning 150 Alter table `mysqld.1`.`t1` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary close to foreign key(b) references t1(a).
+Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
+create temporary table t2(a int, foreign key(a) references t1(a)) engine=innodb;
+ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Create table `mysqld.1`.`t2` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary near 'foreign key(a) references t1(a)) engine=innodb'.
-Error 1005 Can't create table 'test.t2' (errno: 150)
+Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
alter table t1 add foreign key(b) references t1(a);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Alter table `mysqld.1`.`t1` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary near 'foreign key(b) references t1(a)'.
-Error 1005 Can't create table '#sql-temporary' (errno: 150)
+Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
drop table t1;
create table t1(a int not null primary key, b int, key(b)) engine=innodb;
alter table t1 add foreign key(a,b) references t1(a);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR 42000: Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
show warnings;
Level Code Message
-Warning 150 Alter table `test`.`t1` with foreign key constraint failed. Parse error in 'foreign key(a,b) references t1(a)' near ')'. Referencing column count 1 does not match referenced column count 2.
-
-Error 1005 Can't create table '#sql-temporary' (errno: 150)
+Error 1239 Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
drop table t1;
create table t1(a int not null primary key, b int, key(b)) engine=innodb;
alter table t1 add foreign key(a) references t1(a,b);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR 42000: Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
show warnings;
Level Code Message
-Warning 150 Alter table `test`.`t1` with foreign key constraint failed. Parse error in 'foreign key(a) references t1(a,b)' near ')'. Referencing column count 2 does not match referenced column count 1.
-
-Error 1005 Can't create table '#sql-temporary' (errno: 150)
+Error 1239 Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
drop table t1;
create table t1 (f1 integer not null primary key) engine=innodb;
alter table t1 add constraint c1 foreign key (f1) references t1(f1) on update set null;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Alter table `test`.`t1` with foreign key constraint failed. You have defined a SET NULL condition but column 'f1' is defined as NOT NULL in ' foreign key (f1) references t1(f1) on update set null' near ' on update set null'.
-Error 1005 Can't create table '#sql-temporary' (errno: 150)
+Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
create table t2(a int not null, foreign key(a) references t1(f1) on delete set null) engine=innodb;
-ERROR HY000: Can't create table 'test.t2' (errno: 150)
+ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Create table `test`.`t2` with foreign key constraint failed. You have defined a SET NULL condition but column 'a' is defined as NOT NULL in 'foreign key(a) references t1(f1) on delete set null) engine=innodb' near ' on delete set null) engine=innodb'.
-Error 1005 Can't create table 'test.t2' (errno: 150)
+Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
drop table t1;
create table t1 (id int not null primary key, f1 int, f2 int, key(f1)) engine=innodb;
create table t2(a char(20), key(a), foreign key(a) references t1(f1)) engine=innodb;
-ERROR HY000: Can't create table 'test.t2' (errno: 150)
+ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Create table `test`.`t2` with foreign key constraint failed. Field type or character set for column 'a' does not mach referenced column 'f1' near 'foreign key(a) references t1(f1)) engine=innodb'.
-Error 1005 Can't create table 'test.t2' (errno: 150)
+Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb-fk.result b/mysql-test/suite/innodb/r/innodb-fk.result
index 7ba300b245e..2eb19764769 100644
--- a/mysql-test/suite/innodb/r/innodb-fk.result
+++ b/mysql-test/suite/innodb/r/innodb-fk.result
@@ -47,12 +47,13 @@ PRIMARY KEY (`id`),
CONSTRAINT fk2 FOREIGN KEY (f2) REFERENCES t1 (`id`) ON DELETE CASCADE,
CONSTRAINT fk3 FOREIGN KEY (f3) REFERENCES t3 (id) ON DELETE CASCADE
) ENGINE=InnoDB;
-ERROR HY000: Can't create table 'test.t2' (errno: 150)
+ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Create table `test`.`t2` with foreign key constraint failed. Referenced table `test`.`t3` not found in the data dictionary near ' FOREIGN KEY (f3) REFERENCES t3 (id) ON DELETE CASCADE
) ENGINE=InnoDB'.
-Error 1005 Can't create table 'test.t2' (errno: 150)
+Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
CREATE TABLE t2 (
id int(11) NOT NULL AUTO_INCREMENT,
f2 int(11) NOT NULL,
@@ -61,11 +62,12 @@ PRIMARY KEY (`id`),
CONSTRAINT fk2 FOREIGN KEY (f2) REFERENCES t1 (`id`) ON DELETE CASCADE
) ENGINE=InnoDB;
ALTER TABLE t2 ADD CONSTRAINT fk3 FOREIGN KEY (f3) REFERENCES t3 (id) ON DELETE CASCADE;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Warning 150 Alter table `test`.`t2` with foreign key constraint failed. Referenced table `test`.`t3` not found in the data dictionary near ' FOREIGN KEY (f3) REFERENCES t3 (id) ON DELETE CASCADE'.
-Error 1005 Can't create table '#sql-temporary' (errno: 150)
+Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
drop table t2;
drop table t1;
CREATE DATABASE kg_test1;
@@ -93,7 +95,7 @@ CREATE TABLE `kg_test2`.`person2` (
PRIMARY KEY (`Id`),
CONSTRAINT `fk_person_group` FOREIGN KEY (`Id`) REFERENCES `group` (`Id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
-ERROR HY000: Can't create table 'kg_test2.person2' (errno: 150)
+ERROR HY000: Can't create table `kg_test2`.`person2` (errno: 150 "Foreign key constraint is incorrectly formed")
CREATE TABLE `kg_test2`.`person2` (
`Id` INT(11) NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(50) NOT NULL,
@@ -112,3 +114,78 @@ SHOW WARNINGS;
Level Code Message
DROP DATABASE kg_test2;
DROP DATABASE kg_test1;
+CREATE TABLE `#departaments` (
+`id_depart` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+PRIMARY KEY (`id_depart`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8;
+CREATE TABLE `#departaments_tree` (
+`id_depart` INT(10) UNSIGNED NOT NULL,
+`id_depart_in` INT(10) UNSIGNED NOT NULL,
+PRIMARY KEY (`id_depart`,`id_depart_in`),
+CONSTRAINT `#departaments_tree_ibfk_1` FOREIGN KEY (`id_depart`) REFERENCES `#departaments` (`id_depart`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8;
+ALTER TABLE `#departaments_tree`
+ ADD FOREIGN KEY (`id_depart_in`) REFERENCES `#departaments`(`id_depart`);
+SHOW CREATE TABLE `#departaments_tree`;
+Table Create Table
+#departaments_tree CREATE TABLE `#departaments_tree` (
+ `id_depart` int(10) unsigned NOT NULL,
+ `id_depart_in` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id_depart`,`id_depart_in`),
+ KEY `id_depart_in` (`id_depart_in`),
+ CONSTRAINT `#departaments_tree_ibfk_1` FOREIGN KEY (`id_depart`) REFERENCES `#departaments` (`id_depart`),
+ CONSTRAINT `#departaments_tree_ibfk_2` FOREIGN KEY (`id_depart_in`) REFERENCES `#departaments` (`id_depart`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8
+DROP TABLE `#departaments_tree`;
+DROP TABLE `#departaments`;
+CREATE TABLE `boroda` (
+`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+`a` INT(11) UNSIGNED DEFAULT NULL,
+`b` INT(11) UNSIGNED DEFAULT NULL,
+PRIMARY KEY (`id`),
+KEY `a` (`a`),
+CONSTRAINT `boroda_ibfk_1` FOREIGN KEY (`a`) REFERENCES `boroda` (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8;
+ALTER TABLE `boroda`
+ ADD FOREIGN KEY (`b`) REFERENCES `boroda`(`id`);
+ALTER TABLE `boroda` DROP FOREIGN KEY `boroda_ibfk_2`;
+RENAME TABLE `boroda` TO `#boroda`;
+ALTER TABLE `#boroda`
+ADD FOREIGN KEY (`b`) REFERENCES `#boroda`(`id`);
+SHOW CREATE TABLE `#boroda`;
+Table Create Table
+#boroda CREATE TABLE `#boroda` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `a` int(11) unsigned DEFAULT NULL,
+ `b` int(11) unsigned DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `a` (`a`),
+ KEY `b` (`b`),
+ CONSTRAINT `#boroda_ibfk_1` FOREIGN KEY (`a`) REFERENCES `#boroda` (`id`),
+ CONSTRAINT `#boroda_ibfk_2` FOREIGN KEY (`b`) REFERENCES `#boroda` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8
+DROP TABLE `#boroda`;
+CREATE TABLE `boroda` (
+`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+`a` INT(11) UNSIGNED DEFAULT NULL,
+`b` INT(11) UNSIGNED DEFAULT NULL,
+PRIMARY KEY (`id`),
+KEY `a` (`a`),
+CONSTRAINT `boroda_ibfk_1` FOREIGN KEY (`a`) REFERENCES `boroda` (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8;
+RENAME TABLE `boroda` TO `bor#oda`;
+ALTER TABLE `bor#oda`
+ADD FOREIGN KEY (`b`) REFERENCES `bor#oda`(`id`);
+SHOW CREATE TABLE `bor#oda`;
+Table Create Table
+bor#oda CREATE TABLE `bor#oda` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `a` int(11) unsigned DEFAULT NULL,
+ `b` int(11) unsigned DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `a` (`a`),
+ KEY `b` (`b`),
+ CONSTRAINT `bor#oda_ibfk_1` FOREIGN KEY (`a`) REFERENCES `bor#oda` (`id`),
+ CONSTRAINT `bor#oda_ibfk_2` FOREIGN KEY (`b`) REFERENCES `bor#oda` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8
+DROP TABLE `bor#oda`;
diff --git a/mysql-test/suite/innodb/r/innodb-fkcheck.result b/mysql-test/suite/innodb/r/innodb-fkcheck.result
index a6bbcc9024e..c6beabb0f50 100644
--- a/mysql-test/suite/innodb/r/innodb-fkcheck.result
+++ b/mysql-test/suite/innodb/r/innodb-fkcheck.result
@@ -33,13 +33,14 @@ b bigint unsigned NOT NULL,
d1 date NOT NULL,
PRIMARY KEY (b,d1)
) ENGINE=InnoDB;
-ERROR HY000: Can't create table 'bug_fk.b' (errno: 150)
+ERROR HY000: Can't create table `bug_fk`.`b` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
-Error 1005 Can't create table 'bug_fk.b' (errno: 150)
+Error 1005 Can't create table `bug_fk`.`b` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
DROP TABLE IF EXISTS d;
Warnings:
-Note 1051 Unknown table 'd'
+Note 1051 Unknown table 'bug_fk.d'
CREATE TABLE d (
b bigint unsigned NOT NULL,
d1 date NOT NULL,
@@ -71,10 +72,11 @@ b bigint unsigned NOT NULL,
d1 date NOT NULL,
PRIMARY KEY (b,d1)
) ENGINE=InnoDB;
-ERROR HY000: Can't create table 'bug_fk.b' (errno: 150)
+ERROR HY000: Can't create table `bug_fk`.`b` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
-Error 1005 Can't create table 'bug_fk.b' (errno: 150)
+Error 1005 Can't create table `bug_fk`.`b` (errno: 150 "Foreign key constraint is incorrectly formed")
+Warning 1215 Cannot add foreign key constraint
set foreign_key_checks=0;
drop table c;
drop table d;
diff --git a/mysql-test/suite/innodb/r/innodb-flush-changed-page-bitmaps.result b/mysql-test/suite/innodb/r/innodb-flush-changed-page-bitmaps.result
new file mode 100644
index 00000000000..5f098b8ecbf
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-flush-changed-page-bitmaps.result
@@ -0,0 +1,4 @@
+FLUSH NO_WRITE_TO_BINLOG changed_page_bitmaps;
+select * from information_schema.changed_page_bitmaps;
+dummy
+0
diff --git a/mysql-test/suite/innodb/r/innodb-get-fk.result b/mysql-test/suite/innodb/r/innodb-get-fk.result
new file mode 100644
index 00000000000..aa1bff8f134
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-get-fk.result
@@ -0,0 +1,74 @@
+CREATE SCHEMA `repro`;
+CREATE TABLE `repro`.`crew` (
+`id` int(11) NOT NULL AUTO_INCREMENT,
+`code` varchar(50) NOT NULL,
+`name` varchar(50) NOT NULL,
+`created_at` timestamp NULL DEFAULT NULL,
+`updated_at` timestamp NULL DEFAULT NULL,
+PRIMARY KEY (`id`),
+KEY `code` (`code`)
+) ENGINE=InnoDB;
+CREATE TABLE `repro`.`pilot` (
+`id` int(11) NOT NULL AUTO_INCREMENT,
+`code` varchar(50) NOT NULL,
+`name` varchar(50) NOT NULL,
+`created_at` timestamp NULL DEFAULT NULL,
+`updated_at` timestamp NULL DEFAULT NULL,
+PRIMARY KEY (`id`),
+KEY `code` (`code`)
+) ENGINE=InnoDB;
+CREATE TABLE `repro`.`crew_role_assigned` (
+`id` int(11) NOT NULL AUTO_INCREMENT,
+`crew_id` int(11) NOT NULL,
+`role_code` varchar(50) NOT NULL,
+PRIMARY KEY (`id`),
+KEY `fk_crewRoleAssigned_roleCode` (`role_code`),
+CONSTRAINT `fk_crewRoleAssigned_crewId` FOREIGN KEY (`crew_id`) REFERENCES `repro`.`crew` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
+CONSTRAINT `fk_crewRoleAssigned_pilotId` FOREIGN KEY (`crew_id`) REFERENCES `repro`.`pilot` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB COMMENT="This is a comment about tables";
+ALTER TABLE `repro`.`crew_role_assigned` COMMENT = 'innodb_read_only';
+ERROR HY000: Table 'crew_role_assigned' is read only
+SHOW CREATE TABLE `repro`.`crew_role_assigned`;
+Table Create Table
+crew_role_assigned CREATE TABLE `crew_role_assigned` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `crew_id` int(11) NOT NULL,
+ `role_code` varchar(50) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `fk_crewRoleAssigned_roleCode` (`role_code`),
+ KEY `fk_crewRoleAssigned_pilotId` (`crew_id`),
+ CONSTRAINT `fk_crewRoleAssigned_crewId` FOREIGN KEY (`crew_id`) REFERENCES `crew` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_crewRoleAssigned_pilotId` FOREIGN KEY (`crew_id`) REFERENCES `pilot` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='This is a comment about tables'
+SET GLOBAL innodb_buffer_pool_load_now = ON;
+SET GLOBAL innodb_buffer_pool_dump_now = ON;
+SET GLOBAL innodb_buffer_pool_load_abort = ON;
+ALTER TABLE `repro`.`crew_role_assigned` COMMENT = "This is a new comment about tables";
+SHOW CREATE TABLE `repro`.`crew_role_assigned`;
+Table Create Table
+crew_role_assigned CREATE TABLE `crew_role_assigned` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `crew_id` int(11) NOT NULL,
+ `role_code` varchar(50) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `fk_crewRoleAssigned_roleCode` (`role_code`),
+ KEY `fk_crewRoleAssigned_pilotId` (`crew_id`),
+ CONSTRAINT `fk_crewRoleAssigned_crewId` FOREIGN KEY (`crew_id`) REFERENCES `crew` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_crewRoleAssigned_pilotId` FOREIGN KEY (`crew_id`) REFERENCES `pilot` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='This is a new comment about tables'
+SHOW CREATE TABLE `repro`.`crew_role_assigned`;
+Table Create Table
+crew_role_assigned CREATE TABLE `crew_role_assigned` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `crew_id` int(11) NOT NULL,
+ `role_code` varchar(50) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `fk_crewRoleAssigned_roleCode` (`role_code`),
+ KEY `fk_crewRoleAssigned_pilotId` (`crew_id`),
+ CONSTRAINT `fk_crewRoleAssigned_crewId` FOREIGN KEY (`crew_id`) REFERENCES `crew` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_crewRoleAssigned_pilotId` FOREIGN KEY (`crew_id`) REFERENCES `pilot` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='This is a new comment about tables'
+DROP TABLE `repro`.`crew_role_assigned`;
+DROP TABLE `repro`.`pilot`;
+DROP TABLE `repro`.`crew`;
+DROP SCHEMA `repro`;
diff --git a/mysql-test/suite/innodb/r/innodb-index-debug.result b/mysql-test/suite/innodb/r/innodb-index-debug.result
new file mode 100644
index 00000000000..69dd8742b5b
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-index-debug.result
@@ -0,0 +1,91 @@
+set global innodb_file_per_table=on;
+set global innodb_file_format='Barracuda';
+CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1)) Engine=InnoDB;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5);
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG='+d,ib_build_indexes_too_many_concurrent_trxs, ib_rename_indexes_too_many_concurrent_trxs, ib_drop_index_too_many_concurrent_trxs';
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+ERROR HY000: Too many active concurrent transactions
+SET DEBUG_DBUG = @saved_debug_dbug;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE bug13861218 (c1 INT NOT NULL, c2 INT NOT NULL, INDEX(c2))
+ENGINE=InnoDB;
+INSERT INTO bug13861218 VALUES (8, 0), (4, 0), (0, 0);
+SET DEBUG_DBUG = '+d,ib_row_merge_buf_add_two';
+CREATE UNIQUE INDEX ui ON bug13861218(c1);
+SET DEBUG_DBUG = @saved_debug_dbug;
+DROP TABLE bug13861218;
+CREATE TABLE bug13861218 (c1 INT NOT NULL, c2 INT UNIQUE) ENGINE=InnoDB;
+INSERT INTO bug13861218 VALUES (8, NULL), (4, NULL), (0, NULL);
+SET DEBUG_DBUG = '+d,ib_row_merge_buf_add_two';
+CREATE UNIQUE INDEX ui ON bug13861218(c1);
+SET DEBUG_DBUG = @saved_debug_dbug;
+DROP TABLE bug13861218;
+set global innodb_file_per_table=1;
+set global innodb_file_format=Antelope;
+set global innodb_file_format_max=Antelope;
+#
+# Bug #21762319 ADDING INDEXES ON EMPTY TABLE IS SLOW
+# WITH LARGE INNODB_SORT_BUFFER_SIZE.
+call mtr.add_suppression("InnoDB: Cannot create temporary merge file");
+create table t480(a serial)engine=innodb;
+insert into t480
+values(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),
+(),(),(),(),(),(),(),();
+insert into t480 select 0 from t480;
+insert into t480 select 0 from t480;
+insert into t480 select 0 from t480;
+insert into t480 select 0 from t480;
+create table t1(f1 int auto_increment not null,
+f2 char(200) not null, f3 char(200) not null,
+f4 char(200) not null,primary key(f1))engine=innodb;
+insert into t1 select NULL,'aaa','bbb','ccc' from t480;
+insert into t1 select NULL,'aaaa','bbbb','cccc' from t480;
+insert into t1 select NULL,'aaaaa','bbbbb','ccccc' from t480;
+insert into t1 select NULL,'aaaaaa','bbbbbb','cccccc' from t480;
+insert into t1 select NULL,'aaaaaaa','bbbbbbb','ccccccc' from t480;
+insert into t1 select NULL,'aaaaaaaa','bbbbbbbb','cccccccc' from t480;
+select count(*) from t1;
+count(*)
+2880
+SET DEBUG_DBUG = '+d,innobase_tmpfile_creation_failure';
+alter table t1 force, algorithm=inplace;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET DEBUG_DBUG = @saved_debug_dbug;
+drop table t1, t480;
+#
+# MDEV-12827 Assertion failure when reporting duplicate key error
+# in online table rebuild
+#
+CREATE TABLE t1 (j INT UNIQUE, i INT UNIQUE) ENGINE=InnoDB;
+SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL built WAIT_FOR log';
+ALTER TABLE t1 DROP j, FORCE;
+SET DEBUG_SYNC='now WAIT_FOR built';
+INSERT INTO t1 (i) VALUES (0),(0);
+ERROR 23000: Duplicate entry '0' for key 'i'
+SET DEBUG_SYNC='now SIGNAL log';
+ERROR 23000: Duplicate entry '0' for key 'i'
+SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL built2 WAIT_FOR log2';
+ALTER TABLE t1 DROP j, FORCE;
+SET DEBUG_SYNC='now WAIT_FOR built2';
+INSERT INTO t1 (i) VALUES (0),(1);
+UPDATE t1 SET i=0;
+ERROR 23000: Duplicate entry '0' for key 'i'
+SET DEBUG_SYNC='now SIGNAL log2';
+ERROR 23000: Duplicate entry '0' for key 'i'
+SET DEBUG_SYNC='RESET';
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-index-online,crypt.rdiff b/mysql-test/suite/innodb/r/innodb-index-online,crypt.rdiff
new file mode 100644
index 00000000000..767e36f3bfb
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-index-online,crypt.rdiff
@@ -0,0 +1,20 @@
+--- innodb-index-online.result
++++ innodb-index-online,crypt.reject
+@@ -260,7 +260,7 @@
+ @merge_encrypt_1>@merge_encrypt_0, @merge_decrypt_1>@merge_decrypt_0,
+ @rowlog_encrypt_1>@rowlog_encrypt_0;
+ sort_balance @merge_encrypt_1>@merge_encrypt_0 @merge_decrypt_1>@merge_decrypt_0 @rowlog_encrypt_1>@rowlog_encrypt_0
+-0 0 0 0
++0 1 1 1
+ SET DEBUG_SYNC = 'now SIGNAL dml2_done';
+ ERROR HY000: Creating index 'c2e' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
+ SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+@@ -364,7 +364,7 @@
+ @rowlog_encrypt_2-@rowlog_encrypt_1>0 as log_encrypted,
+ @rowlog_decrypt_2-@rowlog_decrypt_1>0 as log_decrypted;
+ sort_encrypted sort_decrypted log_encrypted log_decrypted
+-0 0 0 0
++1 1 1 1
+ SELECT COUNT(c22f) FROM t1;
+ COUNT(c22f)
+ 320
diff --git a/mysql-test/suite/innodb/r/innodb-index-online-delete.result b/mysql-test/suite/innodb/r/innodb-index-online-delete.result
new file mode 100644
index 00000000000..d02d78acb32
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-index-online-delete.result
@@ -0,0 +1,13 @@
+CREATE TABLE t (a INT PRIMARY KEY, b INT NOT NULL) ENGINE=InnoDB;
+INSERT INTO t VALUES(1,2),(2,3);
+SET DEBUG_SYNC='alter_table_inplace_after_lock_downgrade SIGNAL do WAIT_FOR m';
+SET DEBUG_SYNC='innodb_after_inplace_alter_table SIGNAL scanned WAIT_FOR done';
+CREATE INDEX tb ON t(b);
+SET DEBUG_SYNC='now WAIT_FOR do';
+SET DEBUG_SYNC='row_update_for_mysql_error SIGNAL m WAIT_FOR scanned';
+UPDATE t SET a=2 WHERE a=1;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+call mtr.add_suppression('InnoDB: record in index .*tb was not found on rollback, trying to insert');
+SET DEBUG_SYNC='now SIGNAL done';
+SET DEBUG_SYNC='RESET';
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/innodb-index-online-fk.result b/mysql-test/suite/innodb/r/innodb-index-online-fk.result
new file mode 100644
index 00000000000..f37cd844adb
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-index-online-fk.result
@@ -0,0 +1,604 @@
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+INSERT INTO parent VALUES(1,2),(2,3);
+CREATE INDEX tb ON parent(b);
+INSERT INTO parent VALUES(10,20),(20,30);
+CREATE TABLE child (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON child(a2);
+INSERT INTO child VALUES(10,20);
+ALTER TABLE child ADD FOREIGN KEY(a2) REFERENCES parent(b),
+ALGORITHM = INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Adding foreign keys needs foreign_key_checks=OFF. Try ALGORITHM=COPY.
+SET foreign_key_checks = 0;
+ALTER TABLE child ADD CONSTRAINT fk_1 FOREIGN KEY (a2)
+REFERENCES parent(b) ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_1 test/child test/parent 1 6
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_1 a2 b 0
+ALTER TABLE child ADD CONSTRAINT fk_1 FOREIGN KEY (a2)
+REFERENCES parent(b) ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ERROR HY000: Duplicate foreign key constraint name 'test/fk_1'
+SET foreign_key_checks = 1;
+INSERT INTO child VALUES(1,2),(2,3);
+INSERT INTO child VALUES(4,4);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`child`, CONSTRAINT `fk_1` FOREIGN KEY (`a2`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE)
+SELECT * FROM parent;
+a b
+1 2
+2 3
+10 20
+20 30
+SET foreign_key_checks = 0;
+ALTER TABLE child ADD CONSTRAINT fk_20 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_20' in the referenced table 'parent'
+SHOW WARNINGS;
+Level Code Message
+Error 1822 Failed to add the foreign key constaint. Missing index for constraint 'fk_20' in the referenced table 'parent'
+SHOW ERRORS;
+Level Code Message
+Error 1822 Failed to add the foreign key constaint. Missing index for constraint 'fk_20' in the referenced table 'parent'
+CREATE INDEX idx1 on parent(a, b);
+ALTER TABLE child ADD CONSTRAINT fk_10 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ALTER TABLE child ADD CONSTRAINT fk_2 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE, ADD INDEX idx1(a1,a2),
+ALGORITHM = INPLACE;
+ALTER TABLE child ADD CONSTRAINT fk_3 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE;
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_1 test/child test/parent 1 6
+test/fk_10 test/child test/parent 2 5
+test/fk_2 test/child test/parent 2 5
+test/fk_3 test/child test/parent 2 5
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_1 a2 b 0
+test/fk_10 a1 a 0
+test/fk_10 a2 b 1
+test/fk_2 a1 a 0
+test/fk_2 a2 b 1
+test/fk_3 a1 a 0
+test/fk_3 a2 b 1
+SET foreign_key_checks = 1;
+INSERT INTO child VALUES(5,4);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`child`, CONSTRAINT `fk_1` FOREIGN KEY (`a2`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE)
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a1` int(11) NOT NULL,
+ `a2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a1`),
+ KEY `tb` (`a2`),
+ KEY `idx1` (`a1`,`a2`),
+ CONSTRAINT `fk_1` FOREIGN KEY (`a2`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `fk_10` FOREIGN KEY (`a1`, `a2`) REFERENCES `parent` (`a`, `b`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_2` FOREIGN KEY (`a1`, `a2`) REFERENCES `parent` (`a`, `b`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_3` FOREIGN KEY (`a1`, `a2`) REFERENCES `parent` (`a`, `b`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DELETE FROM parent where a = 1;
+SELECT * FROM child;
+a1 a2
+1 NULL
+2 3
+10 20
+SET foreign_key_checks = 0;
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG = '+d,innodb_test_open_ref_fail';
+ALTER TABLE child ADD CONSTRAINT fk_4 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SET DEBUG_DBUG = @saved_debug_dbug;
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_1 test/child test/parent 1 6
+test/fk_10 test/child test/parent 2 5
+test/fk_2 test/child test/parent 2 5
+test/fk_3 test/child test/parent 2 5
+test/fk_4 test/child test/parent 2 5
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_1 a2 b 0
+test/fk_10 a1 a 0
+test/fk_10 a2 b 1
+test/fk_2 a1 a 0
+test/fk_2 a2 b 1
+test/fk_3 a1 a 0
+test/fk_3 a2 b 1
+test/fk_4 a1 a 0
+test/fk_4 a2 b 1
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+name name
+test/child a1
+test/child a2
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+NAME
+SYS_DATAFILES
+SYS_FOREIGN
+SYS_FOREIGN_COLS
+SYS_TABLESPACES
+mysql/innodb_index_stats
+mysql/innodb_table_stats
+test/child
+test/parent
+INSERT INTO child VALUES(5,4);
+SET foreign_key_checks = 1;
+INSERT INTO child VALUES(6,5);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`child`, CONSTRAINT `fk_1` FOREIGN KEY (`a2`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE)
+SET foreign_key_checks = 0;
+CREATE TABLE `#parent` (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+CREATE INDEX tb ON `#parent`(a, b);
+CREATE TABLE `#child` (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON `#child`(a1, a2);
+SET DEBUG_DBUG = '+d,innodb_test_no_foreign_idx';
+ALTER TABLE `#child` ADD CONSTRAINT fk_40 FOREIGN KEY (a1, a2)
+REFERENCES `#parent`(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_40' in the foreign table '#child'
+SET DEBUG_DBUG = @saved_debug_dbug;
+SHOW ERRORS;
+Level Code Message
+Error 1821 Failed to add the foreign key constaint. Missing index for constraint 'fk_40' in the foreign table '#child'
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_1 test/child test/parent 1 6
+test/fk_10 test/child test/parent 2 5
+test/fk_2 test/child test/parent 2 5
+test/fk_3 test/child test/parent 2 5
+test/fk_4 test/child test/parent 2 5
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_1 a2 b 0
+test/fk_10 a1 a 0
+test/fk_10 a2 b 1
+test/fk_2 a1 a 0
+test/fk_2 a2 b 1
+test/fk_3 a1 a 0
+test/fk_3 a2 b 1
+test/fk_4 a1 a 0
+test/fk_4 a2 b 1
+SET DEBUG_DBUG = '+d,innodb_test_no_reference_idx';
+ALTER TABLE child ADD CONSTRAINT fk_42 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_42' in the referenced table 'parent'
+SET DEBUG_DBUG = @saved_debug_dbug;
+SHOW ERRORS;
+Level Code Message
+Error 1822 Failed to add the foreign key constaint. Missing index for constraint 'fk_42' in the referenced table 'parent'
+SET DEBUG_DBUG = '+d,innodb_test_wrong_fk_option';
+ALTER TABLE child ADD CONSTRAINT fk_42 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ERROR HY000: Failed to add the foreign key constraint on table 'child'. Incorrect options in FOREIGN KEY constraint 'test/fk_42'
+SET DEBUG_DBUG = @saved_debug_dbug;
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_1 test/child test/parent 1 6
+test/fk_10 test/child test/parent 2 5
+test/fk_2 test/child test/parent 2 5
+test/fk_3 test/child test/parent 2 5
+test/fk_4 test/child test/parent 2 5
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_1 a2 b 0
+test/fk_10 a1 a 0
+test/fk_10 a2 b 1
+test/fk_2 a1 a 0
+test/fk_2 a2 b 1
+test/fk_3 a1 a 0
+test/fk_3 a2 b 1
+test/fk_4 a1 a 0
+test/fk_4 a2 b 1
+SET DEBUG_DBUG = '+d,innodb_test_cannot_add_fk_system';
+ALTER TABLE `#child` ADD CONSTRAINT fk_43 FOREIGN KEY (a1, a2)
+REFERENCES `#parent`(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ERROR HY000: Failed to add the foreign key constraint 'test/fk_43' to system tables
+SET DEBUG_DBUG = @saved_debug_dbug;
+SHOW ERRORS;
+Level Code Message
+Error 1823 Failed to add the foreign key constraint 'test/fk_43' to system tables
+DROP TABLE `#child`;
+DROP TABLE `#parent`;
+SET foreign_key_checks = 0;
+ALTER TABLE child ADD CONSTRAINT fk_5 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ADD CONSTRAINT fk_6 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_1 test/child test/parent 1 6
+test/fk_10 test/child test/parent 2 5
+test/fk_2 test/child test/parent 2 5
+test/fk_3 test/child test/parent 2 5
+test/fk_4 test/child test/parent 2 5
+test/fk_5 test/child test/parent 1 6
+test/fk_6 test/child test/parent 2 5
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_1 a2 b 0
+test/fk_10 a1 a 0
+test/fk_10 a2 b 1
+test/fk_2 a1 a 0
+test/fk_2 a2 b 1
+test/fk_3 a1 a 0
+test/fk_3 a2 b 1
+test/fk_4 a1 a 0
+test/fk_4 a2 b 1
+test/fk_5 a2 b 0
+test/fk_6 a1 a 0
+test/fk_6 a2 b 1
+DROP TABLE child;
+DROP TABLE parent;
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+INSERT INTO parent VALUES(1,2),(2,3);
+CREATE INDEX tb ON parent(b);
+INSERT INTO parent VALUES(10,20),(20,30);
+CREATE TABLE child (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON child(a2);
+INSERT INTO child VALUES(10,20);
+SET foreign_key_checks = 0;
+ALTER TABLE child DROP INDEX tb, ADD CONSTRAINT fk_4 FOREIGN KEY (a2)
+REFERENCES parent(b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a1` int(11) NOT NULL,
+ `a2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a1`),
+ KEY `fk_4` (`a2`),
+ CONSTRAINT `fk_4` FOREIGN KEY (`a2`) REFERENCES `parent` (`b`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_4 test/child test/parent 1 5
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_4 a2 b 0
+SET foreign_key_checks = 1;
+DROP TABLE child;
+DROP TABLE parent;
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+INSERT INTO parent VALUES(1,2),(2,3);
+CREATE INDEX tb ON parent(b);
+INSERT INTO parent VALUES(10,20),(20,30);
+CREATE TABLE child (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON child(a2);
+SET foreign_key_checks = 0;
+ALTER TABLE child CHANGE a2 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ERROR 42000: Key column 'a2' doesn't exist in table
+ALTER TABLE child CHANGE a2 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a3) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+DROP TABLE child;
+DROP TABLE parent;
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+INSERT INTO parent VALUES(1,2),(2,3);
+CREATE INDEX tb ON parent(b);
+INSERT INTO parent VALUES(10,20),(20,30);
+CREATE TABLE child (a1 INT NOT NULL, a2 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON child(a2);
+SET foreign_key_checks = 0;
+SET DEBUG_DBUG = '+d,innodb_test_cannot_add_fk_system';
+ALTER TABLE child ADD PRIMARY KEY idx (a3), CHANGE a1 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ERROR HY000: Failed to add the foreign key constraint 'test/fk_1' to system tables
+SET DEBUG_DBUG = @saved_debug_dbug;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+name name
+test/child a1
+test/child a2
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+NAME
+SYS_DATAFILES
+SYS_FOREIGN
+SYS_FOREIGN_COLS
+SYS_TABLESPACES
+mysql/innodb_index_stats
+mysql/innodb_table_stats
+test/child
+test/parent
+ALTER TABLE child ADD PRIMARY KEY idx (a3), CHANGE a1 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_1 test/child test/parent 1 6
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_1 a2 b 0
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+name name
+test/child a2
+test/child a3
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+NAME
+SYS_DATAFILES
+SYS_FOREIGN
+SYS_FOREIGN_COLS
+SYS_TABLESPACES
+mysql/innodb_index_stats
+mysql/innodb_table_stats
+test/child
+test/parent
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a3` int(11) NOT NULL,
+ `a2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a3`),
+ KEY `tb` (`a2`),
+ CONSTRAINT `fk_1` FOREIGN KEY (`a2`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE child;
+CREATE TABLE child (a1 INT NOT NULL, a2 INT) ENGINE = InnoDB;
+ALTER TABLE child ADD PRIMARY KEY idx (a1),
+ADD CONSTRAINT fk_1 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_1 test/child test/parent 1 6
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_1 a2 b 0
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+name name
+test/child a1
+test/child a2
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+NAME
+SYS_DATAFILES
+SYS_FOREIGN
+SYS_FOREIGN_COLS
+SYS_TABLESPACES
+mysql/innodb_index_stats
+mysql/innodb_table_stats
+test/child
+test/parent
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a1` int(11) NOT NULL,
+ `a2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a1`),
+ KEY `fk_1` (`a2`),
+ CONSTRAINT `fk_1` FOREIGN KEY (`a2`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE child;
+CREATE TABLE child (a1 INT NOT NULL, a2 INT) ENGINE = InnoDB;
+ALTER TABLE child CHANGE a1 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a3) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_1 test/child test/parent 1 6
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_1 a3 b 0
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+name name
+test/child a2
+test/child a3
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+NAME
+SYS_DATAFILES
+SYS_FOREIGN
+SYS_FOREIGN_COLS
+SYS_TABLESPACES
+mysql/innodb_index_stats
+mysql/innodb_table_stats
+test/child
+test/parent
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a3` int(11) DEFAULT NULL,
+ `a2` int(11) DEFAULT NULL,
+ KEY `fk_1` (`a3`),
+ CONSTRAINT `fk_1` FOREIGN KEY (`a3`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE child;
+CREATE TABLE child (a1 INT NOT NULL, a2 INT) ENGINE = InnoDB;
+ALTER TABLE child ADD PRIMARY KEY idx (a3), CHANGE a1 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a3) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ERROR HY000: Failed to add the foreign key constraint on table 'child'. Incorrect options in FOREIGN KEY constraint 'test/fk_1'
+DROP TABLE parent;
+DROP TABLE child;
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL, c INT) ENGINE = InnoDB;
+INSERT INTO parent VALUES(1,2,3),(2,3,4);
+CREATE INDEX tb ON parent(b);
+CREATE TABLE child (a1 INT NOT NULL, a2 INT, a3 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON child(a2);
+ALTER TABLE child
+ADD CONSTRAINT fk_a FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+ALTER TABLE child
+ADD CONSTRAINT fk_b FOREIGN KEY (a1) REFERENCES parent(a),
+ALGORITHM = INPLACE;
+ALTER TABLE child CHANGE a2 a2_new INT, CHANGE a1 a1_new INT;
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a1_new` int(11) DEFAULT NULL,
+ `a2_new` int(11) DEFAULT NULL,
+ `a3` int(11) DEFAULT NULL,
+ KEY `tb` (`a2_new`),
+ KEY `fk_b` (`a1_new`),
+ CONSTRAINT `fk_a` FOREIGN KEY (`a2_new`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `fk_b` FOREIGN KEY (`a1_new`) REFERENCES `parent` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_a test/child test/parent 1 6
+test/fk_b test/child test/parent 1 0
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_a a2_new b 0
+test/fk_b a1_new a 0
+ALTER TABLE child
+ADD CONSTRAINT fk_new_1 FOREIGN KEY (a1_new) REFERENCES parent(b),
+ADD CONSTRAINT fk_new_2 FOREIGN KEY (a2_new) REFERENCES parent(a),
+ADD CONSTRAINT fk_new_3 FOREIGN KEY (a3) REFERENCES parent(c),
+ALGORITHM = INPLACE;
+ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_new_3' in the referenced table 'parent'
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a1_new` int(11) DEFAULT NULL,
+ `a2_new` int(11) DEFAULT NULL,
+ `a3` int(11) DEFAULT NULL,
+ KEY `tb` (`a2_new`),
+ KEY `fk_b` (`a1_new`),
+ CONSTRAINT `fk_a` FOREIGN KEY (`a2_new`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `fk_b` FOREIGN KEY (`a1_new`) REFERENCES `parent` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_a test/child test/parent 1 6
+test/fk_b test/child test/parent 1 0
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_a a2_new b 0
+test/fk_b a1_new a 0
+ALTER TABLE child
+ADD CONSTRAINT fk_new_1 FOREIGN KEY (a1_new) REFERENCES parent(b),
+ADD CONSTRAINT fk_new_2 FOREIGN KEY (a2_new) REFERENCES parent(a),
+ADD CONSTRAINT fk_new_3 FOREIGN KEY (a3) REFERENCES parent(a),
+ALGORITHM = INPLACE;
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a1_new` int(11) DEFAULT NULL,
+ `a2_new` int(11) DEFAULT NULL,
+ `a3` int(11) DEFAULT NULL,
+ KEY `tb` (`a2_new`),
+ KEY `fk_new_1` (`a1_new`),
+ KEY `fk_new_3` (`a3`),
+ CONSTRAINT `fk_a` FOREIGN KEY (`a2_new`) REFERENCES `parent` (`b`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `fk_b` FOREIGN KEY (`a1_new`) REFERENCES `parent` (`a`),
+ CONSTRAINT `fk_new_1` FOREIGN KEY (`a1_new`) REFERENCES `parent` (`b`),
+ CONSTRAINT `fk_new_2` FOREIGN KEY (`a2_new`) REFERENCES `parent` (`a`),
+ CONSTRAINT `fk_new_3` FOREIGN KEY (`a3`) REFERENCES `parent` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_a test/child test/parent 1 6
+test/fk_b test/child test/parent 1 0
+test/fk_new_1 test/child test/parent 1 0
+test/fk_new_2 test/child test/parent 1 0
+test/fk_new_3 test/child test/parent 1 0
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_a a2_new b 0
+test/fk_b a1_new a 0
+test/fk_new_1 a1_new b 0
+test/fk_new_2 a2_new a 0
+test/fk_new_3 a3 a 0
+DROP TABLE child;
+CREATE TABLE child (a1 INT NOT NULL, a2 INT, a3 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON child(a2);
+ALTER TABLE child ADD PRIMARY KEY idx (a1),
+ADD CONSTRAINT fk_new_1 FOREIGN KEY (a1) REFERENCES parent(b),
+ADD CONSTRAINT fk_new_2 FOREIGN KEY (a2) REFERENCES parent(a),
+ADD CONSTRAINT fk_new_3 FOREIGN KEY (a3) REFERENCES parent(c),
+ALGORITHM = INPLACE;
+ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_new_3' in the referenced table 'parent'
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a1` int(11) NOT NULL,
+ `a2` int(11) DEFAULT NULL,
+ `a3` int(11) DEFAULT NULL,
+ KEY `tb` (`a2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+ALTER TABLE child ADD PRIMARY KEY idx (a1),
+ADD CONSTRAINT fk_new_1 FOREIGN KEY (a1) REFERENCES parent(b),
+ADD CONSTRAINT fk_new_2 FOREIGN KEY (a2) REFERENCES parent(a),
+ADD CONSTRAINT fk_new_3 FOREIGN KEY (a3) REFERENCES parent(a),
+ALGORITHM = INPLACE;
+SHOW CREATE TABLE child;
+Table Create Table
+child CREATE TABLE `child` (
+ `a1` int(11) NOT NULL,
+ `a2` int(11) DEFAULT NULL,
+ `a3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a1`),
+ KEY `tb` (`a2`),
+ KEY `fk_new_3` (`a3`),
+ CONSTRAINT `fk_new_1` FOREIGN KEY (`a1`) REFERENCES `parent` (`b`),
+ CONSTRAINT `fk_new_2` FOREIGN KEY (`a2`) REFERENCES `parent` (`a`),
+ CONSTRAINT `fk_new_3` FOREIGN KEY (`a3`) REFERENCES `parent` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/fk_new_1 test/child test/parent 1 0
+test/fk_new_2 test/child test/parent 1 0
+test/fk_new_3 test/child test/parent 1 0
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/fk_new_1 a1 b 0
+test/fk_new_2 a2 a 0
+test/fk_new_3 a3 a 0
+SET foreign_key_checks = 1;
+DROP TABLE child;
+DROP TABLE parent;
+CREATE TABLE Parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+INSERT INTO Parent VALUES(1,2),(2,3);
+CREATE INDEX tb ON Parent(b);
+INSERT INTO Parent VALUES(10,20),(20,30);
+CREATE TABLE Child (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON Child(a2);
+INSERT INTO Child VALUES(10,20);
+SET foreign_key_checks = 0;
+ALTER TABLE Child ADD CONSTRAINT fk_1 FOREIGN KEY (a2)
+REFERENCES Parent(b) ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+DROP TABLE Child;
+DROP TABLE Parent;
+CREATE TABLE `t2`(a int,c int,d int) ENGINE=INNODB;
+CREATE TABLE `t3`(a int,c int,d int) ENGINE=INNODB;
+CREATE INDEX idx ON t3(a);
+ALTER TABLE `t2` ADD CONSTRAINT `fw` FOREIGN KEY (`c`) REFERENCES t3 (a);
+ALTER TABLE `t2` ADD CONSTRAINT `e` foreign key (`d`) REFERENCES t3(a);
+ALTER TABLE `t3` ADD CONSTRAINT `e` foreign key (`c`) REFERENCES `t2`(`c`) ON UPDATE SET NULL;
+ERROR HY000: Failed to add the foreign key constraint 'test/e' to system tables
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
+ID FOR_NAME REF_NAME N_COLS TYPE
+test/e test/t2 test/t3 1 0
+test/fw test/t2 test/t3 1 0
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/e d a 0
+test/fw c a 0
+DROP TABLE t2;
+DROP TABLE t3;
diff --git a/mysql-test/suite/innodb/r/innodb-index-online-norebuild.result b/mysql-test/suite/innodb/r/innodb-index-online-norebuild.result
new file mode 100644
index 00000000000..b9077643870
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-index-online-norebuild.result
@@ -0,0 +1,26 @@
+# INPLACE ALTER WITH INPLACE_IGNORE FLAG AND CHANGE CREATE OPTION
+# CHANGE THE COLUMN DEFAULT (INPLACE_IGNORE)
+# AND TABLE CHARSET(CHANGE CREATE)
+CREATE TABLE t1(
+id INT PRIMARY KEY,
+f1 INT NOT NULL DEFAULT 0)ENGINE=INNODB;
+INSERT INTO t1 VALUES(1, 2);
+SET SQL_MODE='STRICT_ALL_TABLES';
+ALTER TABLE t1 MODIFY COLUMN f1 INT NOT NULL DEFAULT 0,
+DEFAULT CHARSET=latin1, ALGORITHM=INPLACE;
+DROP TABLE t1;
+# CHANGE THE COMMENT OF COLUMN(INPLACE IGNORE)
+# AND TABLE CHARSET(CHANGE CREATE)
+CREATE TABLE t1(id INT COMMENT 'independence day')ENGINE=INNODB;
+INSERT INTO t1 values(1);
+ALTER TABLE t1 MODIFY COLUMN id INT COMMENT 'identifier',
+DEFAULT CHARSET=latin1, ALGORITHM=INPLACE;
+DROP TABLE t1;
+# RENAME THE TABLE(INPLACE IGNORE)
+# AND CHANGE TABLE CHARSET(CHANGE CREATE)
+CREATE TABLE t1(
+f1 INT NOT NULL,
+f2 INT NOT NULL)ENGINE=INNODB;
+INSERT INTO t1 VALUES(1, 2);
+ALTER TABLE t1 RENAME t2, DEFAULT CHARSET=latin1, ALGORITHM=INPLACE;
+DROP TABLE t2;
diff --git a/mysql-test/suite/innodb/r/innodb-index-online-purge.result b/mysql-test/suite/innodb/r/innodb-index-online-purge.result
new file mode 100644
index 00000000000..9ea7c331218
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-index-online-purge.result
@@ -0,0 +1,36 @@
+CREATE TABLE t (a INT PRIMARY KEY, c TEXT) ENGINE=InnoDB;
+CREATE TABLE u (a INT PRIMARY KEY, b INT, c INT NOT NULL) ENGINE=InnoDB;
+INSERT INTO t VALUES (1,'aa');
+BEGIN;
+INSERT INTO u SET a=1, c=1;
+INSERT INTO u SELECT a+1,NULL,a+1 FROM u;
+INSERT INTO u SELECT a+2,NULL,a+2 FROM u;
+INSERT INTO u SELECT a+4,NULL,a+4 FROM u;
+INSERT INTO u SELECT a+8,NULL,a+8 FROM u;
+INSERT INTO u SELECT a+16,NULL,a+16 FROM u;
+INSERT INTO u SELECT a+32,NULL,a+32 FROM u;
+INSERT INTO u SELECT a+64,NULL,a+64 FROM u;
+INSERT INTO u SELECT a+128,NULL,a+64 FROM u;
+INSERT INTO u SELECT a+256,NULL,a+64 FROM u;
+COMMIT;
+BEGIN;
+DELETE FROM u;
+SET DEBUG_SYNC='row_log_apply_before SIGNAL created_u WAIT_FOR dml_done_u';
+ALTER TABLE u ADD INDEX (c);
+COMMIT;
+SET DEBUG_SYNC='now WAIT_FOR created_u';
+SELECT state FROM information_schema.processlist
+WHERE info='ALTER TABLE u ADD INDEX (c)';
+state
+debug sync point: row_log_apply_before
+SET DEBUG_SYNC='row_log_apply_before SIGNAL created_t WAIT_FOR dml_done_t';
+CREATE INDEX c1 ON t (c(1));
+SET DEBUG_SYNC='now WAIT_FOR created_t';
+UPDATE t SET c='ab';
+SELECT SLEEP(10);
+SLEEP(10)
+0
+SET DEBUG_SYNC='now SIGNAL dml_done_u';
+SET DEBUG_SYNC='now SIGNAL dml_done_t';
+SET DEBUG_SYNC='RESET';
+DROP TABLE t,u;
diff --git a/mysql-test/suite/innodb/r/innodb-index-online.result b/mysql-test/suite/innodb/r/innodb-index-online.result
new file mode 100644
index 00000000000..efbc5c14e61
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-index-online.result
@@ -0,0 +1,447 @@
+call mtr.add_suppression("InnoDB: Warning: Small buffer pool size");
+SET @global_innodb_file_per_table_orig = @@global.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table = on;
+CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT, c3 TEXT)
+ENGINE=InnoDB STATS_PERSISTENT=0;
+INSERT INTO t1 VALUES (1,1,''), (2,2,''), (3,3,''), (4,4,''), (5,5,'');
+SET GLOBAL innodb_monitor_enable = module_ddl;
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SET DEBUG_SYNC = 'RESET';
+SET DEBUG_SYNC = 'write_row_noreplace SIGNAL have_handle WAIT_FOR go_ahead';
+INSERT INTO t1 VALUES(1,2,3);
+SET DEBUG_SYNC = 'now WAIT_FOR have_handle';
+SET lock_wait_timeout = 1;
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG = '+d,innodb_OOM_prepare_inplace_alter';
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET DEBUG_DBUG = @saved_debug_dbug;
+SET DEBUG_DBUG = '+d,innodb_OOM_inplace_alter';
+CREATE UNIQUE INDEX c2 ON t1(c2);
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET DEBUG_DBUG = @saved_debug_dbug;
+CREATE UNIQUE INDEX c2 ON t1(c2);
+DROP INDEX c2 ON t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` text,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=0
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL scanned WAIT_FOR rollback_done';
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+COMMIT;
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+ERROR 23000: Duplicate entry '4' for key 'c2'
+DELETE FROM t1 WHERE c1 = 7;
+ALTER TABLE t1 ADD FOREIGN KEY(c2) REFERENCES t1(c2), ALGORITHM = INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Adding foreign keys needs foreign_key_checks=OFF. Try ALGORITHM=COPY.
+ALTER TABLE t1 ADD UNIQUE INDEX(c2), LOCK = EXCLUSIVE, ALGORITHM = INPLACE;
+DROP INDEX c2 ON t1;
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+SET DEBUG_SYNC = 'now WAIT_FOR scanned';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+ROLLBACK;
+SET DEBUG_SYNC = 'now SIGNAL rollback_done';
+ERROR 23000: Duplicate entry '4' for key 'c2'
+SET DEBUG_SYNC = 'row_log_apply_after SIGNAL created WAIT_FOR dml_done';
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+SET DEBUG_SYNC = 'now WAIT_FOR created';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 1
+INSERT INTO t1 VALUES(6,3,1);
+SET DEBUG_SYNC = 'now SIGNAL dml_done';
+ERROR 23000: Duplicate entry for key 'c2'
+DELETE FROM t1 WHERE c1=6;
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+INSERT INTO t1 VALUES(6,3,1);
+ERROR 23000: Duplicate entry '3' for key 'c2'
+INSERT INTO t1 VALUES(7,4,2);
+ERROR 23000: Duplicate entry '4' for key 'c2'
+ALTER TABLE t1 STATS_PERSISTENT=1;
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+UPDATE mysql.innodb_index_stats SET stat_value = 5
+WHERE database_name = 'test' AND table_name= 't1' AND index_name = 'PRIMARY'
+AND stat_value = 6;
+SELECT * FROM mysql.innodb_index_stats WHERE table_name IN ('t1');
+database_name table_name index_name last_update stat_name stat_value sample_size stat_description
+test t1 PRIMARY LAST_UPDATE n_diff_pfx01 5 1 c1
+test t1 PRIMARY LAST_UPDATE n_leaf_pages 1 NULL Number of leaf pages in the index
+test t1 PRIMARY LAST_UPDATE size 1 NULL Number of pages in the index
+test t1 c2 LAST_UPDATE n_diff_pfx01 5 1 c2
+test t1 c2 LAST_UPDATE n_leaf_pages 1 NULL Number of leaf pages in the index
+test t1 c2 LAST_UPDATE size 1 NULL Number of pages in the index
+CREATE TABLE t1_c2_stats SELECT * FROM mysql.innodb_index_stats
+WHERE database_name = 'test' AND table_name = 't1' and index_name = 'c2';
+ALTER TABLE t1_c2_stats ENGINE=INNODB;
+DROP INDEX c2 ON t1;
+ANALYZE TABLE t1_c2_stats;
+Table Op Msg_type Msg_text
+test.t1_c2_stats analyze status OK
+SELECT * FROM mysql.innodb_index_stats WHERE table_name IN ('t1', 't1_c2_stats');
+database_name table_name index_name last_update stat_name stat_value sample_size stat_description
+test t1 PRIMARY LAST_UPDATE n_diff_pfx01 5 1 c1
+test t1 PRIMARY LAST_UPDATE n_leaf_pages 1 NULL Number of leaf pages in the index
+test t1 PRIMARY LAST_UPDATE size 1 NULL Number of pages in the index
+KILL QUERY @id;
+ERROR 70100: Query execution was interrupted
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c2d_created WAIT_FOR kill_done';
+CREATE INDEX c2d ON t1(c2);
+SET DEBUG_SYNC = 'now WAIT_FOR c2d_created';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+KILL QUERY @id;
+SET DEBUG_SYNC = 'now SIGNAL kill_done';
+ERROR 70100: Query execution was interrupted
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+INSERT INTO t1 SELECT 5 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 10 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 20 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 40 + c1, c2, c3 FROM t1;
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE c2 > 3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 80 Using where
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+UPDATE t1_c2_stats SET index_name = 'c2d';
+UPDATE t1_c2_stats SET stat_value = 2 WHERE stat_name = 'n_diff_pfx01';
+INSERT INTO t1_c2_stats
+SELECT database_name, table_name, index_name, last_update, 'n_diff_pfx02', 80,
+sample_size, 'c2,c1' FROM t1_c2_stats
+WHERE stat_name = 'n_diff_pfx01' AND stat_description = 'c2';
+INSERT INTO mysql.innodb_index_stats SELECT * FROM t1_c2_stats;
+DROP TABLE t1_c2_stats;
+CREATE INDEX c2d ON t1(c2);
+SHOW INDEX FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+t1 0 PRIMARY 1 c1 A 80 NULL NULL BTREE
+t1 1 c2d 1 c2 A 10 NULL NULL YES BTREE
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE c2 > 3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range c2d c2d 5 NULL 32 Using where; Using index
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2d` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=1
+SET @merge_encrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c2e_created WAIT_FOR dml2_done';
+SET lock_wait_timeout = 10;
+ALTER TABLE t1 DROP INDEX c2d, ADD INDEX c2e(c2),
+ALGORITHM = INPLACE;
+INSERT INTO t1 SELECT 80 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 160 + c1, c2, c3 FROM t1;
+SET DEBUG_SYNC = 'now WAIT_FOR c2e_created';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+BEGIN;
+DELETE FROM t1;
+ROLLBACK;
+UPDATE t1 SET c2 = c2 + 1;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+BEGIN;
+DELETE FROM t1;
+ROLLBACK;
+UPDATE t1 SET c2 = c2 + 1;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+BEGIN;
+DELETE FROM t1;
+ROLLBACK;
+UPDATE t1 SET c2 = c2 + 1;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+BEGIN;
+DELETE FROM t1;
+ROLLBACK;
+UPDATE t1 SET c2 = c2 + 1;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+SELECT sf.name, sf.pos FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES si
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FIELDS sf
+ON si.index_id = sf.index_id WHERE si.name = '?c2e';
+name pos
+c2 0
+SET @merge_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SELECT
+(@merge_encrypt_1-@merge_encrypt_0)-
+(@merge_decrypt_1-@merge_decrypt_0) as sort_balance,
+@merge_encrypt_1>@merge_encrypt_0, @merge_decrypt_1>@merge_decrypt_0,
+@rowlog_encrypt_1>@rowlog_encrypt_0;
+sort_balance @merge_encrypt_1>@merge_encrypt_0 @merge_decrypt_1>@merge_decrypt_0 @rowlog_encrypt_1>@rowlog_encrypt_0
+0 0 0 0
+SET DEBUG_SYNC = 'now SIGNAL dml2_done';
+ERROR HY000: Creating index 'c2e' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 1
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SELECT sf.name, sf.pos FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES si
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FIELDS sf
+ON si.index_id = sf.index_id WHERE si.name = 'c2e';
+name pos
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 1
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+ALTER TABLE t1 COMMENT 'testing if c2e will be dropped';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SET @merge_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SET @rowlog_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c2f_created WAIT_FOR dml3_done';
+ALTER TABLE t1 ADD INDEX c2f(c2);
+SET DEBUG_SYNC = 'now WAIT_FOR c2f_created';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+BEGIN;
+INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
+DELETE FROM t1 WHERE c1 > 320;
+ROLLBACK;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+BEGIN;
+INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
+DELETE FROM t1 WHERE c1 > 320;
+ROLLBACK;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+SET DEBUG_SYNC = 'now SIGNAL dml3_done';
+Warnings:
+Note 1831 Duplicate index `c2f`. This is deprecated and will be disallowed in a future release.
+ALTER TABLE t1 CHANGE c2 c22f INT;
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SET @merge_encrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SET @rowlog_decrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
+SELECT
+(@merge_encrypt_2-@merge_encrypt_1)-
+(@merge_decrypt_2-@merge_decrypt_1) as sort_balance,
+(@rowlog_encrypt_2-@rowlog_encrypt_1)-
+(@rowlog_decrypt_2-@rowlog_decrypt_1) as log_balance;
+sort_balance log_balance
+0 0
+SELECT
+@merge_encrypt_2-@merge_encrypt_1>0 as sort_encrypted,
+@merge_decrypt_2-@merge_decrypt_1>0 as sort_decrypted,
+@rowlog_encrypt_2-@rowlog_encrypt_1>0 as log_encrypted,
+@rowlog_decrypt_2-@rowlog_decrypt_1>0 as log_decrypted;
+sort_encrypted sort_decrypted log_encrypted log_decrypted
+0 0 0 0
+SELECT COUNT(c22f) FROM t1;
+COUNT(c22f)
+320
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+ALTER TABLE t1 ADD UNIQUE INDEX c3p5(c3(5));
+ERROR 23000: Duplicate entry 'NULL' for key 'c3p5'
+UPDATE t1 SET c3 = NULL WHERE c3 = '';
+SET lock_wait_timeout = 1;
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c3p5_created WAIT_FOR ins_done';
+ALTER TABLE t1 ADD UNIQUE INDEX c3p5(c3(5));
+SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created';
+SELECT sf.name, sf.pos FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES si
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FIELDS sf
+ON si.index_id = sf.index_id WHERE si.name = '?c3p5';
+name pos
+c3 0
+SET DEBUG_SYNC = 'ib_after_row_insert SIGNAL ins_done WAIT_FOR ddl_timed_out';
+INSERT INTO t1 VALUES(347,33101,NULL);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC = 'now SIGNAL ddl_timed_out';
+SELECT sf.name, sf.pos FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES si
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FIELDS sf
+ON si.index_id = sf.index_id WHERE si.name = 'c3p5';
+name pos
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 1
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 1
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c22f` int(11) DEFAULT NULL,
+ `c3` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2d` (`c22f`),
+ KEY `c2f` (`c22f`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=1 COMMENT='testing if c2e will be dropped'
+ALTER TABLE t1 DROP INDEX c2d, DROP INDEX c2f;
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+ALTER TABLE t1 ADD INDEX c2h(c22f), ALGORITHM = INPLACE;
+ALTER TABLE t1 ADD INDEX c2h(c22f), ALGORITHM = COPY;
+ERROR 42000: Duplicate key name 'c2h'
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL innodb_monitor_disable = module_ddl;
+DROP TABLE t1;
+#
+# MDEV-13205 assertion !dict_index_is_online_ddl(index) upon ALTER TABLE
+#
+CREATE TABLE t1 (c VARCHAR(64)) ENGINE=InnoDB;
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL t1u_created WAIT_FOR dup_done';
+ALTER TABLE t1 ADD UNIQUE(c);
+SET DEBUG_SYNC = 'now WAIT_FOR t1u_created';
+BEGIN;
+INSERT INTO t1 VALUES('bar'),('bar');
+SET DEBUG_SYNC = 'now SIGNAL dup_done';
+ERROR 23000: Duplicate entry 'bar' for key 'c'
+SET DEBUG_SYNC = 'RESET';
+CREATE TABLE t2 (c VARCHAR(64)) ENGINE=InnoDB;
+ALTER TABLE t2 ADD FOREIGN KEY (c) REFERENCES t1 (c);
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+DROP TABLE t2,t1;
+SET GLOBAL innodb_file_per_table = @global_innodb_file_per_table_orig;
+SET GLOBAL innodb_monitor_enable = default;
+SET GLOBAL innodb_monitor_disable = default;
diff --git a/mysql-test/suite/innodb/r/innodb-index.result b/mysql-test/suite/innodb/r/innodb-index.result
index 5676b6d12cd..64c5586173e 100644
--- a/mysql-test/suite/innodb/r/innodb-index.result
+++ b/mysql-test/suite/innodb/r/innodb-index.result
@@ -1,125 +1,12 @@
set global innodb_file_per_table=on;
set global innodb_file_format='Barracuda';
-CREATE TABLE t1_purge (
-A INT,
-B BLOB, C BLOB, D BLOB, E BLOB,
-F BLOB, G BLOB, H BLOB,
-PRIMARY KEY (B(767), C(767), D(767), E(767), A),
-INDEX (A)
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-INSERT INTO t1_purge VALUES (1,
-REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
-REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766));
-CREATE TABLE t2_purge (
-A INT PRIMARY KEY,
-B BLOB, C BLOB, D BLOB, E BLOB,
-F BLOB, G BLOB, H BLOB, I BLOB,
-J BLOB, K BLOB, L BLOB,
-INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-INSERT INTO t2_purge VALUES (1,
-REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
-REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766), REPEAT('i', 766),
-REPEAT('j', 766), REPEAT('k', 766), REPEAT('l', 766));
-CREATE TABLE t3_purge (
-A INT,
-B VARCHAR(800), C VARCHAR(800), D VARCHAR(800), E VARCHAR(800),
-F VARCHAR(800), G VARCHAR(800), H VARCHAR(800),
-PRIMARY KEY (B(767), C(767), D(767), E(767), A),
-INDEX (A)
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-INSERT INTO t3_purge SELECT * FROM t1_purge;
-CREATE TABLE t4_purge (
-A INT PRIMARY KEY,
-B VARCHAR(800), C VARCHAR(800), D VARCHAR(800), E VARCHAR(800),
-F VARCHAR(800), G VARCHAR(800), H VARCHAR(800), I VARCHAR(800),
-J VARCHAR(800), K VARCHAR(800), L VARCHAR(800),
-INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-INSERT INTO t4_purge SELECT * FROM t2_purge;
-DELETE FROM t1_purge;
-DELETE FROM t2_purge;
-DELETE FROM t3_purge;
-DELETE FROM t4_purge;
-SET @r=REPEAT('a',500);
-CREATE TABLE t12637786(a INT,
-v1 VARCHAR(500), v2 VARCHAR(500), v3 VARCHAR(500),
-v4 VARCHAR(500), v5 VARCHAR(500), v6 VARCHAR(500),
-v7 VARCHAR(500), v8 VARCHAR(500), v9 VARCHAR(500),
-v10 VARCHAR(500), v11 VARCHAR(500), v12 VARCHAR(500),
-v13 VARCHAR(500), v14 VARCHAR(500), v15 VARCHAR(500),
-v16 VARCHAR(500), v17 VARCHAR(500), v18 VARCHAR(500)
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-CREATE INDEX idx1 ON t12637786(a,v1);
-INSERT INTO t12637786 VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
-UPDATE t12637786 SET a=1000;
-DELETE FROM t12637786;
-create table t12963823(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
-i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob)
-engine=innodb row_format=dynamic;
-SET @r = repeat('a', 767);
-insert into t12963823 values (@r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r);
-create index ndx_a on t12963823 (a(500));
-create index ndx_b on t12963823 (b(500));
-create index ndx_c on t12963823 (c(500));
-create index ndx_d on t12963823 (d(500));
-create index ndx_e on t12963823 (e(500));
-create index ndx_f on t12963823 (f(500));
-create index ndx_k on t12963823 (k(500));
-create index ndx_l on t12963823 (l(500));
-SET @r = repeat('b', 500);
-update t12963823 set a=@r,b=@r,c=@r,d=@r;
-update t12963823 set e=@r,f=@r,g=@r,h=@r;
-update t12963823 set i=@r,j=@r,k=@r,l=@r;
-update t12963823 set m=@r,n=@r,o=@r,p=@r;
-alter table t12963823 drop index ndx_a;
-alter table t12963823 drop index ndx_b;
-create index ndx_g on t12963823 (g(500));
-create index ndx_h on t12963823 (h(500));
-create index ndx_i on t12963823 (i(500));
-create index ndx_j on t12963823 (j(500));
-create index ndx_m on t12963823 (m(500));
-create index ndx_n on t12963823 (n(500));
-create index ndx_o on t12963823 (o(500));
-create index ndx_p on t12963823 (p(500));
-show create table t12963823;
-Table Create Table
-t12963823 CREATE TABLE `t12963823` (
- `a` blob,
- `b` blob,
- `c` blob,
- `d` blob,
- `e` blob,
- `f` blob,
- `g` blob,
- `h` blob,
- `i` blob,
- `j` blob,
- `k` blob,
- `l` blob,
- `m` blob,
- `n` blob,
- `o` blob,
- `p` blob,
- KEY `ndx_c` (`c`(500)),
- KEY `ndx_d` (`d`(500)),
- KEY `ndx_e` (`e`(500)),
- KEY `ndx_f` (`f`(500)),
- KEY `ndx_k` (`k`(500)),
- KEY `ndx_l` (`l`(500)),
- KEY `ndx_g` (`g`(500)),
- KEY `ndx_h` (`h`(500)),
- KEY `ndx_i` (`i`(500)),
- KEY `ndx_j` (`j`(500)),
- KEY `ndx_m` (`m`(500)),
- KEY `ndx_n` (`n`(500)),
- KEY `ndx_o` (`o`(500)),
- KEY `ndx_p` (`p`(500))
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS;
create table t1(a varchar(2) primary key) engine=innodb;
insert into t1 values('');
create index t1a1 on t1(a(1));
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
drop table t1;
-set global innodb_file_per_table=0;
-set global innodb_file_format=Antelope;
create table t1(a int not null, b int, c char(10) not null, d varchar(20)) engine = innodb;
insert into t1 values (5,5,'oo','oo'),(4,4,'tr','tr'),(3,4,'ad','ad'),(2,3,'ak','ak');
commit;
@@ -128,6 +15,8 @@ ERROR 42000: Duplicate key name 'b'
alter table t1 add index (b,b);
ERROR 42S21: Duplicate column name 'b'
alter table t1 add index d2 (d);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -137,6 +26,7 @@ t1 CREATE TABLE `t1` (
`d` varchar(20) DEFAULT NULL,
KEY `d2` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+analyze table t1;
explain select * from t1 force index(d2) order by d;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL d2 23 NULL 4
@@ -158,6 +48,8 @@ t1 CREATE TABLE `t1` (
KEY `d2` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t1 add index (b);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -169,6 +61,10 @@ t1 CREATE TABLE `t1` (
KEY `b` (`b`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t1 add unique index (c), add index (d);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 1
+Warnings:
+Note 1831 Duplicate index `d`. This is deprecated and will be disallowed in a future release.
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -181,10 +77,15 @@ t1 CREATE TABLE `t1` (
KEY `b` (`b`),
KEY `d` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
explain select * from t1 force index(c) order by c;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL c 10 NULL 4
alter table t1 add primary key (a), drop index c;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -197,11 +98,14 @@ t1 CREATE TABLE `t1` (
KEY `b` (`b`),
KEY `d` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+affected rows: 1
alter table t1 add primary key (c);
ERROR 42000: Multiple primary key defined
alter table t1 drop primary key, add primary key (b);
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
create unique index c on t1 (c);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -215,6 +119,9 @@ t1 CREATE TABLE `t1` (
KEY `b` (`b`),
KEY `d` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
explain select * from t1 force index(c) order by c;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL c 10 NULL 4
@@ -225,6 +132,8 @@ a b c d
5 5 oo oo
4 4 tr tr
alter table t1 drop index b, add index (b);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -235,8 +144,8 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`a`),
UNIQUE KEY `c` (`c`),
KEY `d2` (`d`),
- KEY `d` (`d`),
- KEY `b` (`b`)
+ KEY `b` (`b`),
+ KEY `d` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
insert into t1 values(6,1,'ggg','ggg');
select * from t1;
@@ -267,6 +176,7 @@ a b c d
6 1 ggg ggg
5 5 oo oo
4 4 tr tr
+analyze table t1;
explain select * from t1 force index(b) order by b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL b 5 NULL 5
@@ -286,14 +196,16 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`a`),
UNIQUE KEY `c` (`c`),
KEY `d2` (`d`),
- KEY `d` (`d`),
- KEY `b` (`b`)
+ KEY `b` (`b`),
+ KEY `d` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
create table t1(a int not null, b int, c char(10), d varchar(20), primary key (a)) engine = innodb;
insert into t1 values (1,1,'ab','ab'),(2,2,'ac','ac'),(3,3,'ad','ad'),(4,4,'afe','afe');
commit;
alter table t1 add index (c(2));
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -304,7 +216,10 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`a`),
KEY `c` (`c`(2))
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+affected rows: 1
alter table t1 add unique index (d(10));
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -316,7 +231,9 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `d` (`d`(10)),
KEY `c` (`c`(2))
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+affected rows: 1
insert into t1 values(5,1,'ggg','ggg');
+analyze table t1;
select * from t1;
a b c d
1 1 ab ab
@@ -359,6 +276,8 @@ t1 CREATE TABLE `t1` (
KEY `c` (`c`(2))
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t1 drop index d;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
insert into t1 values(8,9,'fff','fff');
select * from t1;
a b c d
@@ -376,6 +295,7 @@ a b c d
4 4 afe afe
8 9 fff fff
5 1 ggg ggg
+analyze table t1;
explain select * from t1 order by b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
@@ -400,6 +320,8 @@ create table t1(a int not null, b int, c char(10), d varchar(20), primary key (a
insert into t1 values (1,1,'ab','ab'),(2,2,'ac','ac'),(3,2,'ad','ad'),(4,4,'afe','afe');
commit;
alter table t1 add unique index (b,c);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
insert into t1 values(8,9,'fff','fff');
select * from t1;
a b c d
@@ -415,6 +337,7 @@ a b c d
3 2 ad ad
4 4 afe afe
8 9 fff fff
+analyze table t1;
explain select * from t1 force index(b) order by b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL b 16 NULL 5
@@ -429,6 +352,8 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`c`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t1 add index (b,c);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
insert into t1 values(11,11,'kkk','kkk');
select * from t1;
a b c d
@@ -446,6 +371,7 @@ a b c d
4 4 afe afe
8 9 fff fff
11 11 kkk kkk
+analyze table t1;
explain select * from t1 force index(b) order by b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL b 16 NULL 6
@@ -461,6 +387,8 @@ t1 CREATE TABLE `t1` (
KEY `b_2` (`b`,`c`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t1 add unique index (c,d);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
insert into t1 values(13,13,'yyy','aaa');
select * from t1;
a b c d
@@ -489,6 +417,7 @@ a b c d
8 9 fff fff
11 11 kkk kkk
13 13 yyy aaa
+analyze table t1;
explain select * from t1 force index(b) order by b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL b 16 NULL 7
@@ -511,9 +440,9 @@ drop table t1;
create table t1(a int not null, b int not null, c int, primary key (a), key (b)) engine = innodb;
create table t3(a int not null, c int not null, d int, primary key (a), key (c)) engine = innodb;
create table t4(a int not null, d int not null, e int, primary key (a), key (d)) engine = innodb;
-create table t2(a int not null, b int not null, c int not null, d int not null, e int,
-foreign key (b) references t1(b) on delete cascade,
-foreign key (c) references t3(c), foreign key (d) references t4(d))
+create table t2(a int not null, b int, c int, d int, e int,
+foreign key (b) references t1(b) on delete set null,
+foreign key (c) references t3(c), foreign key (d) references t4(d) on update set null)
engine = innodb;
alter table t1 drop index b;
ERROR HY000: Cannot drop index 'b': needed in a foreign key constraint
@@ -525,15 +454,49 @@ alter table t2 drop index b;
ERROR HY000: Cannot drop index 'b': needed in a foreign key constraint
alter table t2 drop index b, drop index c, drop index d;
ERROR HY000: Cannot drop index 'b': needed in a foreign key constraint
+alter table t2 MODIFY b INT NOT NULL, ALGORITHM=COPY;
+ERROR HY000: Cannot change column 'b': used in a foreign key constraint 't2_ibfk_1'
+set @old_sql_mode = @@sql_mode;
+set @@sql_mode = 'STRICT_TRANS_TABLES';
+alter table t2 MODIFY b INT NOT NULL, ALGORITHM=INPLACE;
+ERROR HY000: Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'test/t2_ibfk_1' SET NULL
+set @@sql_mode = @old_sql_mode;
+SET FOREIGN_KEY_CHECKS=0;
+alter table t2 DROP COLUMN b, ALGORITHM=COPY;
+ERROR HY000: Cannot drop column 'b': needed in a foreign key constraint 't2_ibfk_1'
+alter table t2 DROP COLUMN b;
+ERROR HY000: Cannot drop column 'b': needed in a foreign key constraint 'test/t2_ibfk_1'
+alter table t1 DROP COLUMN b, ALGORITHM=COPY;
+ERROR HY000: Cannot drop column 'b': needed in a foreign key constraint 't2_ibfk_1' of table 'test.t2'
+alter table t1 DROP COLUMN b;
+ERROR HY000: Cannot drop column 'b': needed in a foreign key constraint 'test/t2_ibfk_1' of table '"test"."t2"'
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
create unique index dc on t2 (d,c);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
create index dc on t1 (b,c);
-alter table t2 add primary key (a);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+set @@sql_mode = 'STRICT_TRANS_TABLES';
+alter table t2 add primary key (alpha), change a alpha int,
+change b beta int not null, change c charlie int not null;
+ERROR HY000: Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'test/t2_ibfk_1' SET NULL
+alter table t2 add primary key (alpha), change a alpha int,
+change c charlie int not null, change d delta int not null;
+ERROR HY000: Column 'd' cannot be NOT NULL: needed in a foreign key constraint 'test/t2_ibfk_3' SET NULL
+alter table t2 add primary key (alpha), change a alpha int,
+change b beta int, modify c int not null;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+set @@sql_mode = @old_sql_mode;
insert into t1 values (1,1,1);
insert into t3 values (1,1,1);
insert into t4 values (1,1,1);
insert into t2 values (1,1,1,1,1);
commit;
alter table t4 add constraint dc foreign key (a) references t1(a);
+affected rows: 1
+info: Records: 1 Duplicates: 0 Warnings: 0
show create table t4;
Table Create Table
t4 CREATE TABLE `t4` (
@@ -545,7 +508,11 @@ t4 CREATE TABLE `t4` (
CONSTRAINT `dc` FOREIGN KEY (`a`) REFERENCES `t1` (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t3 add constraint dc foreign key (a) references t1(a);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 121)
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 121 "Duplicate key on write or update")
+SET FOREIGN_KEY_CHECKS=0;
+alter table t3 add constraint dc foreign key (a) references t1(a);
+ERROR HY000: Failed to add the foreign key constraint 'test/dc' to system tables
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
@@ -555,37 +522,41 @@ t3 CREATE TABLE `t3` (
PRIMARY KEY (`a`),
KEY `c` (`c`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-alter table t2 drop index b, add index (b);
-ERROR 42000: Incorrect index name 'b'
+alter table t2 drop index b, add index (beta);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` int(11) NOT NULL,
- `b` int(11) NOT NULL,
+ `alpha` int(11) NOT NULL,
+ `beta` int(11) DEFAULT NULL,
`c` int(11) NOT NULL,
- `d` int(11) NOT NULL,
+ `d` int(11) DEFAULT NULL,
`e` int(11) DEFAULT NULL,
- PRIMARY KEY (`a`),
+ PRIMARY KEY (`alpha`),
UNIQUE KEY `dc` (`d`,`c`),
- KEY `b` (`b`),
KEY `c` (`c`),
- CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`b`) ON DELETE CASCADE,
+ KEY `beta` (`beta`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`beta`) REFERENCES `t1` (`b`) ON DELETE SET NULL,
CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`c`) REFERENCES `t3` (`c`),
- CONSTRAINT `t2_ibfk_3` FOREIGN KEY (`d`) REFERENCES `t4` (`d`)
+ CONSTRAINT `t2_ibfk_3` FOREIGN KEY (`d`) REFERENCES `t4` (`d`) ON UPDATE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
delete from t1;
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `dc` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
drop index dc on t4;
ERROR 42000: Can't DROP 'dc'; check that column/key exists
alter table t3 drop foreign key dc;
-ERROR HY000: Error on rename of './test/t3' to '#sql2-temporary' (errno: 152)
+ERROR 42000: Can't DROP 'dc'; check that column/key exists
alter table t4 drop foreign key dc;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
select * from t2;
-a b c d e
+alpha beta c d e
1 1 1 1 1
delete from t1;
select * from t2;
-a b c d e
+alpha beta c d e
+1 NULL 1 1 1
drop table t2,t4,t3,t1;
create table t1(a int not null, b int, c char(10), d varchar(20), primary key (a)) engine = innodb default charset=utf8;
insert into t1 values (1,1,'ab','ab'),(2,2,'ac','ac'),(3,2,'ad','ad'),(4,4,'afe','afe');
@@ -759,6 +730,8 @@ drop table t1;
create table t1(a int not null, b int not null, c int, primary key (a), key(c)) engine=innodb;
insert into t1 values (5,1,5),(4,2,4),(3,3,3),(2,4,2),(1,5,1);
alter table t1 add unique index (b);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
insert into t1 values (10,20,20),(11,19,19),(12,18,18),(13,17,17);
show create table t1;
Table Create Table
@@ -773,6 +746,7 @@ t1 CREATE TABLE `t1` (
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
+analyze table t1;
explain select * from t1 force index(c) order by c;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL c 5 NULL 9
@@ -819,6 +793,8 @@ drop table t1;
create table t1(a int not null, b int not null) engine=innodb;
insert into t1 values (1,1);
alter table t1 add primary key(b);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
insert into t1 values (2,2);
show create table t1;
Table Create Table
@@ -834,6 +810,9 @@ select * from t1;
a b
1 1
2 2
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
explain select * from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2
@@ -850,6 +829,8 @@ drop table t1;
create table t1(a int not null) engine=innodb;
insert into t1 values (1);
alter table t1 add primary key(a);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
insert into t1 values (2);
show create table t1;
Table Create Table
@@ -865,6 +846,9 @@ select * from t1;
a
1
2
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
explain select * from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 4 NULL 2 Using index
@@ -872,189 +856,11 @@ explain select * from t1 order by a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 4 NULL 2 Using index
drop table t1;
-create table t2(d varchar(17) primary key) engine=innodb default charset=utf8;
-create table t3(a int primary key) engine=innodb;
-insert into t3 values(22),(44),(33),(55),(66);
-insert into t2 values ('jejdkrun87'),('adfd72nh9k'),
-('adfdpplkeock'),('adfdijnmnb78k'),('adfdijn0loKNHJik');
-create table t1(a int, b blob, c text, d text not null)
-engine=innodb default charset = utf8;
-insert into t1
-select a,left(repeat(d,100*a),65535),repeat(d,20*a),d from t2,t3;
-drop table t2, t3;
-select count(*) from t1 where a=44;
-count(*)
-5
-select a,
-length(b),b=left(repeat(d,100*a),65535),length(c),c=repeat(d,20*a),d from t1;
-a length(b) b=left(repeat(d,100*a),65535) length(c) c=repeat(d,20*a) d
-22 22000 1 4400 1 adfd72nh9k
-22 35200 1 7040 1 adfdijn0loKNHJik
-22 28600 1 5720 1 adfdijnmnb78k
-22 26400 1 5280 1 adfdpplkeock
-22 22000 1 4400 1 jejdkrun87
-33 33000 1 6600 1 adfd72nh9k
-33 52800 1 10560 1 adfdijn0loKNHJik
-33 42900 1 8580 1 adfdijnmnb78k
-33 39600 1 7920 1 adfdpplkeock
-33 33000 1 6600 1 jejdkrun87
-44 44000 1 8800 1 adfd72nh9k
-44 65535 1 14080 1 adfdijn0loKNHJik
-44 57200 1 11440 1 adfdijnmnb78k
-44 52800 1 10560 1 adfdpplkeock
-44 44000 1 8800 1 jejdkrun87
-55 55000 1 11000 1 adfd72nh9k
-55 65535 1 17600 1 adfdijn0loKNHJik
-55 65535 1 14300 1 adfdijnmnb78k
-55 65535 1 13200 1 adfdpplkeock
-55 55000 1 11000 1 jejdkrun87
-66 65535 1 13200 1 adfd72nh9k
-66 65535 1 21120 1 adfdijn0loKNHJik
-66 65535 1 17160 1 adfdijnmnb78k
-66 65535 1 15840 1 adfdpplkeock
-66 65535 1 13200 1 jejdkrun87
-alter table t1 add primary key (a), add key (b(20));
-ERROR 23000: Duplicate entry '22' for key 'PRIMARY'
-delete from t1 where a%2;
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-alter table t1 add primary key (a,b(255),c(255)), add key (b(767));
-select count(*) from t1 where a=44;
-count(*)
-5
-select a,
-length(b),b=left(repeat(d,100*a),65535),length(c),c=repeat(d,20*a),d from t1;
-a length(b) b=left(repeat(d,100*a),65535) length(c) c=repeat(d,20*a) d
-22 22000 1 4400 1 adfd72nh9k
-22 35200 1 7040 1 adfdijn0loKNHJik
-22 28600 1 5720 1 adfdijnmnb78k
-22 26400 1 5280 1 adfdpplkeock
-22 22000 1 4400 1 jejdkrun87
-44 44000 1 8800 1 adfd72nh9k
-44 65535 1 14080 1 adfdijn0loKNHJik
-44 57200 1 11440 1 adfdijnmnb78k
-44 52800 1 10560 1 adfdpplkeock
-44 44000 1 8800 1 jejdkrun87
-66 65535 1 13200 1 adfd72nh9k
-66 65535 1 21120 1 adfdijn0loKNHJik
-66 65535 1 17160 1 adfdijnmnb78k
-66 65535 1 15840 1 adfdpplkeock
-66 65535 1 13200 1 jejdkrun87
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL DEFAULT '0',
- `b` blob NOT NULL,
- `c` text NOT NULL,
- `d` text NOT NULL,
- PRIMARY KEY (`a`,`b`(255),`c`(255)),
- KEY `b` (`b`(767))
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-explain select * from t1 where b like 'adfd%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range b b 769 NULL 11 Using where
-drop table t1;
-set global innodb_file_per_table=on;
-set global innodb_file_format='Barracuda';
-create table t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
-i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob,
-q blob,r blob,s blob,t blob,u blob)
-engine=innodb row_format=dynamic;
-create index t1a on t1 (a(767));
-create index t1b on t1 (b(767));
-create index t1c on t1 (c(767));
-create index t1d on t1 (d(767));
-create index t1e on t1 (e(767));
-create index t1f on t1 (f(767));
-create index t1g on t1 (g(767));
-create index t1h on t1 (h(767));
-create index t1i on t1 (i(767));
-create index t1j on t1 (j(767));
-create index t1k on t1 (k(767));
-create index t1l on t1 (l(767));
-create index t1m on t1 (m(767));
-create index t1n on t1 (n(767));
-create index t1o on t1 (o(767));
-create index t1p on t1 (p(767));
-create index t1q on t1 (q(767));
-create index t1r on t1 (r(767));
-create index t1s on t1 (s(767));
-create index t1t on t1 (t(767));
-create index t1u on t1 (u(767));
-ERROR HY000: Too big row
-create index t1ut on t1 (u(767), t(767));
-ERROR HY000: Too big row
-create index t1st on t1 (s(767), t(767));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` blob,
- `b` blob,
- `c` blob,
- `d` blob,
- `e` blob,
- `f` blob,
- `g` blob,
- `h` blob,
- `i` blob,
- `j` blob,
- `k` blob,
- `l` blob,
- `m` blob,
- `n` blob,
- `o` blob,
- `p` blob,
- `q` blob,
- `r` blob,
- `s` blob,
- `t` blob,
- `u` blob,
- KEY `t1a` (`a`(767)),
- KEY `t1b` (`b`(767)),
- KEY `t1c` (`c`(767)),
- KEY `t1d` (`d`(767)),
- KEY `t1e` (`e`(767)),
- KEY `t1f` (`f`(767)),
- KEY `t1g` (`g`(767)),
- KEY `t1h` (`h`(767)),
- KEY `t1i` (`i`(767)),
- KEY `t1j` (`j`(767)),
- KEY `t1k` (`k`(767)),
- KEY `t1l` (`l`(767)),
- KEY `t1m` (`m`(767)),
- KEY `t1n` (`n`(767)),
- KEY `t1o` (`o`(767)),
- KEY `t1p` (`p`(767)),
- KEY `t1q` (`q`(767)),
- KEY `t1r` (`r`(767)),
- KEY `t1s` (`s`(767)),
- KEY `t1t` (`t`(767)),
- KEY `t1st` (`s`(767),`t`(767))
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
-create index t1u on t1 (u(767));
-ERROR HY000: Too big row
-alter table t1 row_format=compact;
-create index t1u on t1 (u(767));
-drop table t1;
-CREATE TABLE bug12547647(
-a INT NOT NULL, b BLOB NOT NULL, c TEXT,
-PRIMARY KEY (b(10), a), INDEX (c(767)), INDEX(b(767))
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-INSERT INTO bug12547647 VALUES (5,repeat('khdfo5AlOq',1900),repeat('g',7751));
-COMMIT;
-BEGIN;
-UPDATE bug12547647 SET c = REPEAT('b',16928);
-ROLLBACK;
-DROP TABLE bug12547647;
-set global innodb_file_per_table=0;
+set global innodb_file_per_table=1;
set global innodb_file_format=Antelope;
set global innodb_file_format_max=Antelope;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
-SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
+SET FOREIGN_KEY_CHECKS=0;
CREATE TABLE t1(
c1 BIGINT(12) NOT NULL,
PRIMARY KEY (c1)
@@ -1103,8 +909,10 @@ c2 BIGINT(12) NOT NULL,
c3 BIGINT(12) NOT NULL,
PRIMARY KEY (c1,c2,c3)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3) REFERENCES t1(c1);
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1145,21 +953,40 @@ c2 BIGINT(12) NOT NULL,
c3 BIGINT(12) NOT NULL,
PRIMARY KEY (c1)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+SET FOREIGN_KEY_CHECKS=0;
+ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
+FOREIGN KEY (c3,c2) REFERENCES t1(c1,c1), ALGORITHM=COPY;
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c1);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_t2_ca' in the referenced table 't1'
+ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
+FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2), ALGORITHM=COPY;
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_t2_ca' in the referenced table 't1'
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
-FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=INPLACE;
+ERROR HY000: Failed to add the foreign key constraint on table 't2'. Incorrect options in FOREIGN KEY constraint 'test/fk_t2_ca'
+ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
+FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=COPY;
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
ALTER TABLE t1 MODIFY COLUMN c2 BIGINT(12) NOT NULL;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
+FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2), ALGORITHM=COPY;
+ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2);
-ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
+ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_t2_ca' in the referenced table 't1'
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
+affected rows: 0
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -1167,6 +994,7 @@ t1 CREATE TABLE `t1` (
`c2` bigint(12) NOT NULL,
PRIMARY KEY (`c2`,`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+affected rows: 1
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1177,7 +1005,10 @@ t2 CREATE TABLE `t2` (
KEY `fk_t2_ca` (`c3`,`c2`),
CONSTRAINT `fk_t2_ca` FOREIGN KEY (`c3`, `c2`) REFERENCES `t1` (`c2`, `c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+affected rows: 1
CREATE INDEX i_t2_c2_c1 ON t2(c2, c1);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1189,7 +1020,10 @@ t2 CREATE TABLE `t2` (
KEY `i_t2_c2_c1` (`c2`,`c1`),
CONSTRAINT `fk_t2_ca` FOREIGN KEY (`c3`, `c2`) REFERENCES `t1` (`c2`, `c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+affected rows: 1
CREATE INDEX i_t2_c3_c1_c2 ON t2(c3, c1, c2);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1202,7 +1036,10 @@ t2 CREATE TABLE `t2` (
KEY `i_t2_c3_c1_c2` (`c3`,`c1`,`c2`),
CONSTRAINT `fk_t2_ca` FOREIGN KEY (`c3`, `c2`) REFERENCES `t1` (`c2`, `c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+affected rows: 1
CREATE INDEX i_t2_c3_c2 ON t2(c3, c2);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1215,11 +1052,191 @@ t2 CREATE TABLE `t2` (
KEY `i_t2_c3_c2` (`c3`,`c2`),
CONSTRAINT `fk_t2_ca` FOREIGN KEY (`c3`, `c2`) REFERENCES `t1` (`c2`, `c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+affected rows: 1
DROP TABLE t2;
DROP TABLE t1;
-SELECT SLEEP(10);
-SLEEP(10)
-0
-DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
-DROP TABLE t12637786;
-DROP TABLE t12963823;
+CREATE TABLE t1 (a INT, b CHAR(1)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (3,'a'),(3,'b'),(1,'c'),(0,'d'),(1,'e');
+CREATE TABLE t2 (a INT, b CHAR(1)) ENGINE=InnoDB;
+CREATE TABLE t2i (a INT, b CHAR(1) NOT NULL) ENGINE=InnoDB;
+CREATE TABLE t2c (a INT, b CHAR(1) NOT NULL) ENGINE=InnoDB;
+INSERT INTO t2 SELECT * FROM t1;
+INSERT INTO t2i SELECT * FROM t1;
+INSERT INTO t2c SELECT * FROM t1;
+BEGIN;
+SELECT * FROM t1;
+a b
+3 a
+3 b
+1 c
+0 d
+1 e
+SET lock_wait_timeout=1;
+CREATE INDEX t1a ON t1(a);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+CREATE INDEX t2a ON t2(a);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+set @old_sql_mode = @@sql_mode;
+set @@sql_mode = 'STRICT_TRANS_TABLES';
+ALTER TABLE t2i ADD PRIMARY KEY(a,b), ADD INDEX t2a(a), ALGORITHM=INPLACE;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+set @@sql_mode = @old_sql_mode;
+ALTER TABLE t2c ADD PRIMARY KEY(a,b), ADD INDEX t2a(a), ALGORITHM=COPY;
+affected rows: 5
+info: Records: 5 Duplicates: 0 Warnings: 0
+SELECT * FROM t2i;
+ERROR HY000: Table definition has changed, please retry transaction
+SELECT * FROM t2i FORCE INDEX(t2a) ORDER BY a;
+ERROR HY000: Table definition has changed, please retry transaction
+SELECT * FROM t2c;
+ERROR HY000: Table definition has changed, please retry transaction
+SELECT * FROM t2c FORCE INDEX(t2a) ORDER BY a;
+ERROR HY000: Table definition has changed, please retry transaction
+SELECT * FROM t2;
+a b
+3 a
+3 b
+1 c
+0 d
+1 e
+SELECT * FROM t2 FORCE INDEX(t2a) ORDER BY a;
+ERROR HY000: Table definition has changed, please retry transaction
+SELECT * FROM t2;
+a b
+3 a
+3 b
+1 c
+0 d
+1 e
+COMMIT;
+SELECT * FROM t2;
+a b
+3 a
+3 b
+1 c
+0 d
+1 e
+SELECT * FROM t2 FORCE INDEX(t2a) ORDER BY a;
+a b
+0 d
+1 c
+1 e
+3 a
+3 b
+SELECT * FROM t2i;
+a b
+0 d
+1 c
+1 e
+3 a
+3 b
+SELECT * FROM t2i FORCE INDEX(t2a) ORDER BY a;
+a b
+0 d
+1 c
+1 e
+3 a
+3 b
+SELECT * FROM t2c;
+a b
+0 d
+1 c
+1 e
+3 a
+3 b
+SELECT * FROM t2c FORCE INDEX(t2a) ORDER BY a;
+a b
+0 d
+1 c
+1 e
+3 a
+3 b
+alter table t2 add index t2a(b);
+ERROR 42000: Duplicate key name 't2a'
+alter table t2 drop index t2a, add index t2a(b);
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(1) DEFAULT NULL,
+ KEY `t2a` (`b`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+show create table t2i;
+Table Create Table
+t2i CREATE TABLE `t2i` (
+ `a` int(11) NOT NULL,
+ `b` char(1) NOT NULL,
+ PRIMARY KEY (`a`,`b`),
+ KEY `t2a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+show create table t2c;
+Table Create Table
+t2c CREATE TABLE `t2c` (
+ `a` int(11) NOT NULL,
+ `b` char(1) NOT NULL,
+ PRIMARY KEY (`a`,`b`),
+ KEY `t2a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1,t2,t2c,t2i;
+SET @save_format = @@GLOBAL.innodb_file_format;
+SET @save_prefix = @@GLOBAL.innodb_large_prefix;
+SET GLOBAL innodb_file_format=barracuda;
+SET GLOBAL innodb_large_prefix=ON;
+CREATE TABLE t1 (c VARCHAR(1024),
+c1 CHAR(255) NOT NULL,c2 CHAR(255) NOT NULL,c3 CHAR(255) NOT NULL,
+c4 CHAR(255) NOT NULL,c5 CHAR(255) NOT NULL,c6 CHAR(255) NOT NULL,
+c7 CHAR(255) NOT NULL,c8 CHAR(255) NOT NULL,c9 CHAR(255) NOT NULL,
+ca CHAR(255) NOT NULL,cb CHAR(255) NOT NULL,cc CHAR(255) NOT NULL,
+cd CHAR(255) NOT NULL,ce CHAR(255) NOT NULL,cf CHAR(255) NOT NULL,
+d0 CHAR(255) NOT NULL,d1 CHAR(255) NOT NULL,d2 CHAR(255) NOT NULL,
+d3 CHAR(255) NOT NULL,d4 CHAR(255) NOT NULL,d5 CHAR(255) NOT NULL,
+d6 CHAR(255) NOT NULL,d7 CHAR(255) NOT NULL,d8 CHAR(255) NOT NULL,
+d9 CHAR(255) NOT NULL,da CHAR(255) NOT NULL,db CHAR(255) NOT NULL,
+dc CHAR(255) NOT NULL,dd CHAR(255) NOT NULL,de CHAR(255) NOT NULL,
+UNIQUE KEY(c))
+ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t1 VALUES
+(repeat('a',999),'','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''),
+(CONCAT(repeat('a',999),'b'),'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','');
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, algorithm=inplace;
+ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, algorithm=copy;
+ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+SET GLOBAL innodb_file_format=@save_format;
+SET GLOBAL innodb_large_prefix=@save_prefix;
+#
+# Bug#19811005 ALTER TABLE ADD INDEX DOES NOT UPDATE INDEX_LENGTH
+# IN I_S TABLES
+#
+CREATE TABLE t1(a INT, b INT) ENGINE=INNODB, STATS_PERSISTENT=1;
+SELECT cast(DATA_LENGTH/@@innodb_page_size as int) D,
+cast(INDEX_LENGTH/@@innodb_page_size as int) I
+FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test';
+D I
+1 0
+ALTER TABLE t1 ADD INDEX (a);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+SELECT cast(DATA_LENGTH/@@innodb_page_size as int) D,
+cast(INDEX_LENGTH/@@innodb_page_size as int) I
+FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test';
+D I
+1 1
+ALTER TABLE t1 ADD INDEX (b);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+SELECT cast(DATA_LENGTH/@@innodb_page_size as int) D,
+cast(INDEX_LENGTH/@@innodb_page_size as int) I
+FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test';
+D I
+1 2
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-lock-schedule-algorithm.result b/mysql-test/suite/innodb/r/innodb-lock-schedule-algorithm.result
new file mode 100644
index 00000000000..069ab3a1bf7
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-lock-schedule-algorithm.result
@@ -0,0 +1,89 @@
+CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
+BEGIN;
+DELETE FROM t1;
+BEGIN;
+INSERT INTO t2 VALUES (1),(2);
+SELECT * from t1;
+i1
+1
+2
+UPDATE t1 SET i1 = 1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+COMMIT;
+COMMIT;
+SELECT * FROM t1;
+i1
+SELECT * FROM t2;
+i2
+1
+2
+DROP TABLE t1, t2;
+CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
+BEGIN;
+DELETE FROM t1;
+BEGIN;
+INSERT INTO t2 VALUES (1),(2);
+SELECT * FROM t1;
+i1
+1
+2
+UPDATE t1 SET i1 = 1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+COMMIT;
+COMMIT;
+SELECT * FROM t1;
+i1
+SELECT * FROM t2;
+i2
+1
+2
+DROP TABLE t1, t2;
+# "restart: --loose-innodb-lock-schedule-algorithm=FCFS"
+CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
+BEGIN;
+DELETE FROM t1;
+BEGIN;
+INSERT INTO t2 VALUES (1),(2);
+SELECT * from t1;
+i1
+1
+2
+UPDATE t1 SET i1 = 1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+COMMIT;
+COMMIT;
+SELECT * FROM t1;
+i1
+SELECT * FROM t2;
+i2
+1
+2
+DROP TABLE t1, t2;
+CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
+BEGIN;
+DELETE FROM t1;
+BEGIN;
+INSERT INTO t2 VALUES (1),(2);
+SELECT * FROM t1;
+i1
+1
+2
+UPDATE t1 SET i1 = 1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+COMMIT;
+COMMIT;
+SELECT * FROM t1;
+i1
+SELECT * FROM t2;
+i2
+1
+2
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/innodb/r/innodb-lock.result b/mysql-test/suite/innodb/r/innodb-lock.result
index 7191bcd238a..5806535d6f0 100644
--- a/mysql-test/suite/innodb/r/innodb-lock.result
+++ b/mysql-test/suite/innodb/r/innodb-lock.result
@@ -2,7 +2,6 @@ set global innodb_table_locks=1;
select @@innodb_table_locks;
@@innodb_table_locks
1
-drop table if exists t1;
set @@innodb_table_locks=1;
create table t1 (id integer, x integer) engine=INNODB;
insert into t1 values(0, 0);
@@ -110,3 +109,31 @@ a b
3 1
COMMIT;
DROP TABLE t1;
+#
+# MDEV-11080 InnoDB: Failing assertion:
+# table->n_waiting_or_granted_auto_inc_locks > 0
+#
+CREATE TABLE t1 (pk INTEGER AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),(NULL);
+CREATE TABLE t2 LIKE t1;
+BEGIN;
+BEGIN;
+DELETE FROM t2;
+LOCK TABLE t2 READ;;
+SET innodb_lock_wait_timeout= 1, lock_wait_timeout= 2;
+INSERT INTO t2 SELECT * FROM t1;
+COMMIT;
+UNLOCK TABLES;
+DROP TABLE t1, t2;
+#
+# MDEV-16709 InnoDB: Error: trx already had an AUTO-INC lock
+#
+CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB
+PARTITION BY key (pk) PARTITIONS 2;
+CREATE TABLE t2 (a INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1),(2),(3),(4),(5),(6);
+CREATE TABLE t3 (b INT) ENGINE=InnoDB;
+INSERT INTO t3 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9);
+INSERT t1 SELECT NULL FROM t2;
+INSERT t1 SELECT NULL FROM t3;
+DROP TABLE t1, t2, t3;
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
new file mode 100644
index 00000000000..dba01945de3
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-lru-force-no-free-page.result
@@ -0,0 +1,10 @@
+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 /InnoDB: Difficult to find free blocks / in mysqld.1.err
diff --git a/mysql-test/suite/innodb/r/innodb-mdev-7408.result b/mysql-test/suite/innodb/r/innodb-mdev-7408.result
new file mode 100644
index 00000000000..8f6ad139192
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-mdev-7408.result
@@ -0,0 +1,12 @@
+select @@global.innodb_ft_server_stopword_table;
+@@global.innodb_ft_server_stopword_table
+NULL
+CREATE TABLE `stop_it-IT` ENGINE = InnoDB SELECT * FROM information_schema.INNODB_FT_DEFAULT_STOPWORD;
+SET @@global.innodb_ft_server_stopword_table = 'test/stop_it-IT';
+ERROR 42000: Variable 'innodb_ft_server_stopword_table' can't be set to the value of 'test/stop_it-IT'
+SET @@global.innodb_ft_server_stopword_table = 'test/stop_it@002dIT';
+drop table `stop_it-IT`;
+CREATE TABLE stop_it ENGINE = InnoDB SELECT * FROM information_schema.INNODB_FT_DEFAULT_STOPWORD;
+SET @@global.innodb_ft_server_stopword_table = 'test/stop_it';
+SET @@global.innodb_ft_server_stopword_table = NULL;
+drop table stop_it;
diff --git a/mysql-test/suite/innodb/r/innodb-mdev7046.result b/mysql-test/suite/innodb/r/innodb-mdev7046.result
new file mode 100644
index 00000000000..d00491fd7e5
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-mdev7046.result
@@ -0,0 +1 @@
+1
diff --git a/mysql-test/suite/innodb/r/innodb-page_compression_bzip2.result b/mysql-test/suite/innodb/r/innodb-page_compression_bzip2.result
new file mode 100644
index 00000000000..3a3d6f92cac
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-page_compression_bzip2.result
@@ -0,0 +1,98 @@
+set global innodb_compression_algorithm = bzip2;
+set global innodb_file_format = `Barracuda`;
+set global innodb_file_per_table = on;
+create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
+create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
+create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
+create table innodb_page_compressed3 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=3;
+create table innodb_page_compressed4 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=4;
+create table innodb_page_compressed5 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=5;
+create table innodb_page_compressed6 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=6;
+create table innodb_page_compressed7 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=7;
+create table innodb_page_compressed8 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=8;
+create table innodb_page_compressed9 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=9;
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+# innodb_normal expected FOUND
+FOUND /AaAaAaAa/ in innodb_normal.ibd
+# innodb_page_compressed1 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed1.ibd
+# innodb_page_compressed2 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed2.ibd
+# innodb_page_compressed3 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed3.ibd
+# innodb_page_compressed4 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed4.ibd
+# innodb_page_compressed5 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed5.ibd
+# innodb_page_compressed6 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed6.ibd
+# innodb_page_compressed7 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed7.ibd
+# innodb_page_compressed8 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed8.ibd
+# innodb_page_compressed9 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed9.ibd
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
+#done
diff --git a/mysql-test/suite/innodb/r/innodb-page_compression_default.result b/mysql-test/suite/innodb/r/innodb-page_compression_default.result
new file mode 100644
index 00000000000..19d0a875ce6
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-page_compression_default.result
@@ -0,0 +1,97 @@
+set global innodb_file_format = `Barracuda`;
+set global innodb_file_per_table = on;
+create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
+create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
+create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
+create table innodb_page_compressed3 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=3;
+create table innodb_page_compressed4 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=4;
+create table innodb_page_compressed5 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=5;
+create table innodb_page_compressed6 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=6;
+create table innodb_page_compressed7 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=7;
+create table innodb_page_compressed8 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=8;
+create table innodb_page_compressed9 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=9;
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+# innodb_normal expected FOUND
+FOUND /AaAaAaAa/ in innodb_normal.ibd
+# innodb_page_compressed1 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed1.ibd
+# innodb_page_compressed2 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed2.ibd
+# innodb_page_compressed3 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed3.ibd
+# innodb_page_compressed4 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed4.ibd
+# innodb_page_compressed5 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed5.ibd
+# innodb_page_compressed6 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed6.ibd
+# innodb_page_compressed7 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed7.ibd
+# innodb_page_compressed8 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed8.ibd
+# innodb_page_compressed9 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed9.ibd
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
+#done
diff --git a/mysql-test/suite/innodb/r/innodb-page_compression_lz4.result b/mysql-test/suite/innodb/r/innodb-page_compression_lz4.result
new file mode 100644
index 00000000000..d60eb62ec15
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-page_compression_lz4.result
@@ -0,0 +1,98 @@
+set global innodb_compression_algorithm = lz4;
+set global innodb_file_format = `Barracuda`;
+set global innodb_file_per_table = on;
+create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
+create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
+create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
+create table innodb_page_compressed3 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=3;
+create table innodb_page_compressed4 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=4;
+create table innodb_page_compressed5 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=5;
+create table innodb_page_compressed6 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=6;
+create table innodb_page_compressed7 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=7;
+create table innodb_page_compressed8 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=8;
+create table innodb_page_compressed9 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=9;
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+# innodb_normal expected FOUND
+FOUND /AaAaAaAa/ in innodb_normal.ibd
+# innodb_page_compressed1 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed1.ibd
+# innodb_page_compressed2 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed2.ibd
+# innodb_page_compressed3 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed3.ibd
+# innodb_page_compressed4 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed4.ibd
+# innodb_page_compressed5 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed5.ibd
+# innodb_page_compressed6 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed6.ibd
+# innodb_page_compressed7 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed7.ibd
+# innodb_page_compressed8 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed8.ibd
+# innodb_page_compressed9 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed9.ibd
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
+#done
diff --git a/mysql-test/suite/innodb/r/innodb-page_compression_lzma.result b/mysql-test/suite/innodb/r/innodb-page_compression_lzma.result
new file mode 100644
index 00000000000..b3cc9c9b627
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-page_compression_lzma.result
@@ -0,0 +1,98 @@
+set global innodb_compression_algorithm = lzma;
+set global innodb_file_format = `Barracuda`;
+set global innodb_file_per_table = on;
+create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
+create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
+create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
+create table innodb_page_compressed3 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=3;
+create table innodb_page_compressed4 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=4;
+create table innodb_page_compressed5 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=5;
+create table innodb_page_compressed6 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=6;
+create table innodb_page_compressed7 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=7;
+create table innodb_page_compressed8 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=8;
+create table innodb_page_compressed9 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=9;
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+# innodb_normal expected FOUND
+FOUND /AaAaAaAa/ in innodb_normal.ibd
+# innodb_page_compressed1 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed1.ibd
+# innodb_page_compressed2 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed2.ibd
+# innodb_page_compressed3 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed3.ibd
+# innodb_page_compressed4 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed4.ibd
+# innodb_page_compressed5 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed5.ibd
+# innodb_page_compressed6 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed6.ibd
+# innodb_page_compressed7 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed7.ibd
+# innodb_page_compressed8 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed8.ibd
+# innodb_page_compressed9 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed9.ibd
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
+#done
diff --git a/mysql-test/suite/innodb/r/innodb-page_compression_lzo.result b/mysql-test/suite/innodb/r/innodb-page_compression_lzo.result
new file mode 100644
index 00000000000..b6c5bc32bb7
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-page_compression_lzo.result
@@ -0,0 +1,98 @@
+set global innodb_compression_algorithm = lzo;
+set global innodb_file_format = `Barracuda`;
+set global innodb_file_per_table = on;
+create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
+create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
+create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
+create table innodb_page_compressed3 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=3;
+create table innodb_page_compressed4 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=4;
+create table innodb_page_compressed5 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=5;
+create table innodb_page_compressed6 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=6;
+create table innodb_page_compressed7 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=7;
+create table innodb_page_compressed8 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=8;
+create table innodb_page_compressed9 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=9;
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+# innodb_normal expected FOUND
+FOUND /AaAaAaAa/ in innodb_normal.ibd
+# innodb_page_compressed1 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed1.ibd
+# innodb_page_compressed2 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed2.ibd
+# innodb_page_compressed3 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed3.ibd
+# innodb_page_compressed4 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed4.ibd
+# innodb_page_compressed5 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed5.ibd
+# innodb_page_compressed6 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed6.ibd
+# innodb_page_compressed7 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed7.ibd
+# innodb_page_compressed8 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed8.ibd
+# innodb_page_compressed9 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed9.ibd
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
+#done
diff --git a/mysql-test/suite/innodb/r/innodb-page_compression_snappy.result b/mysql-test/suite/innodb/r/innodb-page_compression_snappy.result
new file mode 100644
index 00000000000..824b671eea3
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-page_compression_snappy.result
@@ -0,0 +1,98 @@
+set global innodb_compression_algorithm = snappy;
+set global innodb_file_format = `Barracuda`;
+set global innodb_file_per_table = on;
+create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
+create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
+create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
+create table innodb_page_compressed3 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=3;
+create table innodb_page_compressed4 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=4;
+create table innodb_page_compressed5 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=5;
+create table innodb_page_compressed6 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=6;
+create table innodb_page_compressed7 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=7;
+create table innodb_page_compressed8 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=8;
+create table innodb_page_compressed9 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=9;
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+# innodb_normal expected FOUND
+FOUND /AaAaAaAa/ in innodb_normal.ibd
+# innodb_page_compressed1 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed1.ibd
+# innodb_page_compressed2 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed2.ibd
+# innodb_page_compressed3 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed3.ibd
+# innodb_page_compressed4 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed4.ibd
+# innodb_page_compressed5 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed5.ibd
+# innodb_page_compressed6 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed6.ibd
+# innodb_page_compressed7 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed7.ibd
+# innodb_page_compressed8 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed8.ibd
+# innodb_page_compressed9 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed9.ibd
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
+#done
diff --git a/mysql-test/suite/innodb/r/innodb-page_compression_tables.result b/mysql-test/suite/innodb/r/innodb-page_compression_tables.result
new file mode 100644
index 00000000000..072f1d1e440
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-page_compression_tables.result
@@ -0,0 +1,120 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set global innodb_compression_algorithm = 1;
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact page_compressed=1;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_compressed=1;
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed page_compressed=1;
+ERROR HY000: Can't create table `test`.`innodb_compressed` (errno: 140 "Wrong create options")
+show warnings;
+Level Code Message
+Warning 140 InnoDB: PAGE_COMPRESSED table can't have ROW_TYPE=COMPRESSED
+Error 1005 Can't create table `test`.`innodb_compressed` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT `page_compressed`=1
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `page_compressed`=1
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant page_compressed=1;
+ERROR HY000: Can't create table `test`.`innodb_redundant` (errno: 140 "Wrong create options")
+show warnings;
+Level Code Message
+Warning 140 InnoDB: PAGE_COMPRESSED table can't have ROW_TYPE=REDUNDANT
+Error 1005 Can't create table `test`.`innodb_redundant` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant;
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+alter table innodb_redundant page_compressed=1;
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'PAGE_COMPRESSED'
+show warnings;
+Level Code Message
+Warning 140 InnoDB: PAGE_COMPRESSED table can't have ROW_TYPE=REDUNDANT
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'PAGE_COMPRESSED'
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+alter table innodb_redundant row_format=compact page_compressed=1;
+show create table innodb_redundant;
+Table Create Table
+innodb_redundant CREATE TABLE `innodb_redundant` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT `page_compressed`=1
+drop table innodb_redundant;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into innodb_normal values(current_num, substring(MD5(RAND()), -64));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+set autocommit=0;
+call innodb_insert_proc(5000);
+commit;
+set autocommit=1;
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+5000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+5000
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+5000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+5000
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+set global innodb_compression_algorithm = 0;
+alter table innodb_compact engine=innodb page_compressed=DEFAULT;
+alter table innodb_dynamic engine=innodb page_compressed=DEFAULT;
+show create table innodb_compact;
+Table Create Table
+innodb_compact CREATE TABLE `innodb_compact` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+show create table innodb_dynamic;
+Table Create Table
+innodb_dynamic CREATE TABLE `innodb_dynamic` (
+ `c1` bigint(20) NOT NULL,
+ `b` char(200) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+count(*)
+5000
+select count(*) from innodb_dynamic where c1 < 1500000;
+count(*)
+5000
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_dynamic;
diff --git a/mysql-test/suite/innodb/r/innodb-page_compression_zip.result b/mysql-test/suite/innodb/r/innodb-page_compression_zip.result
new file mode 100644
index 00000000000..3644890f921
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-page_compression_zip.result
@@ -0,0 +1,98 @@
+set global innodb_compression_algorithm = zlib;
+set global innodb_file_format = `Barracuda`;
+set global innodb_file_per_table = on;
+create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
+create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
+create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
+create table innodb_page_compressed3 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=3;
+create table innodb_page_compressed4 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=4;
+create table innodb_page_compressed5 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=5;
+create table innodb_page_compressed6 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=6;
+create table innodb_page_compressed7 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=7;
+create table innodb_page_compressed8 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=8;
+create table innodb_page_compressed9 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=9;
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+# innodb_normal expected FOUND
+FOUND /AaAaAaAa/ in innodb_normal.ibd
+# innodb_page_compressed1 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed1.ibd
+# innodb_page_compressed2 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed2.ibd
+# innodb_page_compressed3 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed3.ibd
+# innodb_page_compressed4 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed4.ibd
+# innodb_page_compressed5 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed5.ibd
+# innodb_page_compressed6 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed6.ibd
+# innodb_page_compressed7 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed7.ibd
+# innodb_page_compressed8 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed8.ibd
+# innodb_page_compressed9 page compressed expected NOT FOUND
+NOT FOUND /AaAaAaAa/ in innodb_page_compressed9.ibd
+select count(*) from innodb_page_compressed1;
+count(*)
+10000
+select count(*) from innodb_page_compressed3;
+count(*)
+10000
+select count(*) from innodb_page_compressed4;
+count(*)
+10000
+select count(*) from innodb_page_compressed5;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed6;
+count(*)
+10000
+select count(*) from innodb_page_compressed7;
+count(*)
+10000
+select count(*) from innodb_page_compressed8;
+count(*)
+10000
+select count(*) from innodb_page_compressed9;
+count(*)
+10000
+drop table innodb_normal;
+drop table innodb_page_compressed1;
+drop table innodb_page_compressed2;
+drop table innodb_page_compressed3;
+drop table innodb_page_compressed4;
+drop table innodb_page_compressed5;
+drop table innodb_page_compressed6;
+drop table innodb_page_compressed7;
+drop table innodb_page_compressed8;
+drop table innodb_page_compressed9;
+#done
diff --git a/mysql-test/suite/innodb/r/innodb-stats-initialize-failure.result b/mysql-test/suite/innodb/r/innodb-stats-initialize-failure.result
new file mode 100644
index 00000000000..ef2d3182b92
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-stats-initialize-failure.result
@@ -0,0 +1,32 @@
+call mtr.add_suppression("InnoDB: Warning: Index.*");
+set DEBUG_DBUG='+d,ib_ha_innodb_stat_not_initialized';
+create table t1(a int not null primary key, b int, c int, key(b), key(c)) engine=innodb;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into t1 values(current_num, current_num, current_num);
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+set autocommit=0;
+call innodb_insert_proc(10000);
+commit;
+set autocommit=1;
+select count(1) from t1;
+count(1)
+10000
+select count(1) from t1 where a between 5 and 100;
+count(1)
+96
+select count(1) from t1 where b between 5 and 256;
+count(1)
+252
+select count(1) from t1 where c between 7 and 787;
+count(1)
+781
+set DEBUG_DBUG=NULL;
+drop procedure innodb_insert_proc;
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb-stats-modified-counter.result b/mysql-test/suite/innodb/r/innodb-stats-modified-counter.result
new file mode 100644
index 00000000000..db56c6ba81a
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-stats-modified-counter.result
@@ -0,0 +1,20 @@
+set global innodb_stats_auto_recalc=off;
+CREATE TABLE t1 (i int) ENGINE=InnoDB;
+SELECT NAME, STATS_INITIALIZED, NUM_ROWS, MODIFIED_COUNTER FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
+NAME STATS_INITIALIZED NUM_ROWS MODIFIED_COUNTER
+test/t1 Initialized 0 0
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+SELECT NAME, STATS_INITIALIZED, NUM_ROWS, MODIFIED_COUNTER FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
+NAME STATS_INITIALIZED NUM_ROWS MODIFIED_COUNTER
+test/t1 Initialized 2 2
+DELETE FROM t1 WHERE i = 1;
+SELECT NAME, STATS_INITIALIZED, NUM_ROWS, MODIFIED_COUNTER FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
+NAME STATS_INITIALIZED NUM_ROWS MODIFIED_COUNTER
+test/t1 Initialized 1 3
+UPDATE t1 SET i = 4 WHERE i = 2;
+SELECT NAME, STATS_INITIALIZED, NUM_ROWS, MODIFIED_COUNTER FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
+NAME STATS_INITIALIZED NUM_ROWS MODIFIED_COUNTER
+test/t1 Initialized 1 4
+DROP TABLE t1;
+set global innodb_stats_auto_recalc=default;
diff --git a/mysql-test/suite/innodb/r/innodb-table-online,crypt.rdiff b/mysql-test/suite/innodb/r/innodb-table-online,crypt.rdiff
new file mode 100644
index 00000000000..443ec528cd8
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-table-online,crypt.rdiff
@@ -0,0 +1,20 @@
+--- innodb-table-online.result
++++ innodb-table-online,crypt.reject
+@@ -254,7 +254,7 @@
+ @merge_encrypt_1>@merge_encrypt_0, @merge_decrypt_1>@merge_decrypt_0,
+ @rowlog_encrypt_1>@rowlog_encrypt_0;
+ sort_balance @merge_encrypt_1>@merge_encrypt_0 @merge_decrypt_1>@merge_decrypt_0 @rowlog_encrypt_1>@rowlog_encrypt_0
+-0 0 0 0
++0 0 0 1
+ SET DEBUG_SYNC = 'now SIGNAL dml2_done';
+ # session con1
+ ERROR HY000: Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
+@@ -345,7 +345,7 @@
+ @rowlog_encrypt_2-@rowlog_encrypt_1>0 as log_encrypted,
+ @rowlog_decrypt_2-@rowlog_decrypt_1>0 as log_decrypted;
+ sort_encrypted sort_decrypted log_encrypted log_decrypted
+-0 0 0 0
++1 1 1 1
+ ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY c3p5(c3(5));
+ ERROR 23000: Duplicate entry '' for key 'PRIMARY'
+ UPDATE t1 SET c3 = NULL WHERE c3 = '';
diff --git a/mysql-test/suite/innodb/r/innodb-table-online.result b/mysql-test/suite/innodb/r/innodb-table-online.result
new file mode 100644
index 00000000000..fc9ab38740f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-table-online.result
@@ -0,0 +1,435 @@
+call mtr.add_suppression("InnoDB: Warning: Small buffer pool size");
+call mtr.add_suppression("InnoDB: Error: table 'test/t1'");
+call mtr.add_suppression("MySQL is trying to open a table handle but the .ibd file for");
+SET @global_innodb_file_per_table_orig = @@global.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table = on;
+SET @file_format = @@GLOBAL.innodb_file_format;
+SET GLOBAL innodb_file_format = Barracuda;
+CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT NOT NULL, c3 CHAR(255) NOT NULL)
+ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,1,''), (2,2,''), (3,3,''), (4,4,''), (5,5,'');
+SET GLOBAL innodb_monitor_enable = module_ddl;
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SET DEBUG_SYNC = 'RESET';
+SET DEBUG_SYNC = 'write_row_noreplace SIGNAL have_handle WAIT_FOR go_ahead';
+INSERT INTO t1 VALUES(1,2,3);
+# Establish session con1 (user=root)
+SET DEBUG_SYNC = 'now WAIT_FOR have_handle';
+SET lock_wait_timeout = 1;
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+# session default
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+# session con1
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG = '+d,innodb_OOM_prepare_inplace_alter';
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE, LOCK=NONE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION DEBUG = @saved_debug_dbug;
+Warnings:
+Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+SET SESSION DEBUG = '+d,innodb_OOM_inplace_alter';
+Warnings:
+Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE, LOCK=NONE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION DEBUG = @saved_debug_dbug;
+Warnings:
+Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE, LOCK=NONE;
+# session default
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) NOT NULL,
+ `c3` char(255) NOT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+# session con1
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL scanned WAIT_FOR insert_done';
+ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+# session default
+COMMIT;
+# session con1
+ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2);
+ERROR 23000: Duplicate entry '4' for key 'c2'
+# session default
+DELETE FROM t1 WHERE c1 = 7;
+# session con1
+ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2), ROW_FORMAT=COMPACT,
+LOCK = SHARED, ALGORITHM = INPLACE;
+ALTER TABLE t1 ADD UNIQUE INDEX(c2),
+LOCK = EXCLUSIVE, ALGORITHM = INPLACE;
+Warnings:
+Note 1831 Duplicate index `c2_2`. This is deprecated and will be disallowed in a future release.
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) NOT NULL,
+ `c3` char(255) NOT NULL,
+ UNIQUE KEY `c2` (`c2`),
+ UNIQUE KEY `c2_2` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+ALTER TABLE t1 DROP INDEX c2, ADD PRIMARY KEY(c1);
+# session default
+SET DEBUG_SYNC = 'now WAIT_FOR scanned';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+BEGIN;
+INSERT INTO t1 VALUES(4,7,2);
+SET DEBUG_SYNC = 'now SIGNAL insert_done';
+# session con1
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
+# session default
+ROLLBACK;
+# session con1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) NOT NULL,
+ `c3` char(255) NOT NULL,
+ UNIQUE KEY `c2` (`c2`),
+ UNIQUE KEY `c2_2` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2), ALGORITHM = INPLACE;
+ERROR 42000: Can't DROP 'PRIMARY'; check that column/key exists
+ALTER TABLE t1 DROP INDEX c2, ADD PRIMARY KEY(c1), ALGORITHM = INPLACE;
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+# session default
+INSERT INTO t1 VALUES(6,3,1);
+ERROR 23000: Duplicate entry '3' for key 'c2_2'
+INSERT INTO t1 VALUES(7,4,2);
+ERROR 23000: Duplicate entry '4' for key 'c2_2'
+DROP INDEX c2_2 ON t1;
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+ROLLBACK;
+# session con1
+KILL QUERY @id;
+ERROR 70100: Query execution was interrupted
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt WAIT_FOR dml_done';
+SET DEBUG_SYNC = 'row_log_table_apply2_before SIGNAL applied WAIT_FOR kill_done';
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+# session default
+SET DEBUG_SYNC = 'now WAIT_FOR rebuilt';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+ROLLBACK;
+SET DEBUG_SYNC = 'now SIGNAL dml_done WAIT_FOR applied';
+KILL QUERY @id;
+SET DEBUG_SYNC = 'now SIGNAL kill_done';
+# session con1
+ERROR 70100: Query execution was interrupted
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+# session default
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+INSERT INTO t1 SELECT 5 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 10 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 20 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 40 + c1, c2, c3 FROM t1;
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE c2 > 3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL ROWS Using where
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+SET @merge_encrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+# session con1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) NOT NULL,
+ `c3` char(255) NOT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt2 WAIT_FOR dml2_done';
+SET lock_wait_timeout = 10;
+ALTER TABLE t1 ROW_FORMAT=COMPACT
+PAGE_COMPRESSED = YES PAGE_COMPRESSION_LEVEL = 1, ALGORITHM = INPLACE;
+# session default
+INSERT INTO t1 SELECT 80 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 160 + c1, c2, c3 FROM t1;
+UPDATE t1 SET c2 = c2 + 1;
+SET DEBUG_SYNC = 'now WAIT_FOR rebuilt2';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+BEGIN;
+DELETE FROM t1;
+ROLLBACK;
+UPDATE t1 SET c2 = c2 + 1;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+BEGIN;
+DELETE FROM t1;
+ROLLBACK;
+UPDATE t1 SET c2 = c2 + 1;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+BEGIN;
+DELETE FROM t1;
+ROLLBACK;
+UPDATE t1 SET c2 = c2 + 1;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+SET @merge_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SELECT
+(@merge_encrypt_1-@merge_encrypt_0)-
+(@merge_decrypt_1-@merge_decrypt_0) as sort_balance,
+@merge_encrypt_1>@merge_encrypt_0, @merge_decrypt_1>@merge_decrypt_0,
+@rowlog_encrypt_1>@rowlog_encrypt_0;
+sort_balance @merge_encrypt_1>@merge_encrypt_0 @merge_decrypt_1>@merge_decrypt_0 @rowlog_encrypt_1>@rowlog_encrypt_0
+0 0 0 0
+SET DEBUG_SYNC = 'now SIGNAL dml2_done';
+# session con1
+ERROR HY000: Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SET @merge_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SET @rowlog_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt3 WAIT_FOR dml3_done';
+ALTER TABLE t1 ADD PRIMARY KEY(c22f), CHANGE c2 c22f INT;
+ERROR 42000: Multiple primary key defined
+ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(c22f), CHANGE c2 c22f INT;
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(c1,c22f,c4(5)),
+CHANGE c2 c22f INT, CHANGE c3 c3 CHAR(255) NULL, CHANGE c1 c1 INT AFTER c22f,
+ADD COLUMN c4 VARCHAR(6) DEFAULT 'Online', LOCK=NONE;
+# session default
+SET DEBUG_SYNC = 'now WAIT_FOR rebuilt3';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+BEGIN;
+INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 240;
+DELETE FROM t1 WHERE c1 > 320;
+ROLLBACK;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 1
+ddl_pending_alter_table 1
+SET DEBUG_SYNC = 'now SIGNAL dml3_done';
+# session con1
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+SELECT COUNT(c22f) FROM t1;
+COUNT(c22f)
+320
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SET @merge_encrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SET @rowlog_decrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
+SELECT
+(@merge_encrypt_2-@merge_encrypt_1)-
+(@merge_decrypt_2-@merge_decrypt_1) as sort_balance,
+(@rowlog_encrypt_2-@rowlog_encrypt_1)-
+(@rowlog_decrypt_2-@rowlog_decrypt_1) as log_balance;
+sort_balance log_balance
+0 0
+SELECT
+@merge_encrypt_2-@merge_encrypt_1>0 as sort_encrypted,
+@merge_decrypt_2-@merge_decrypt_1>0 as sort_decrypted,
+@rowlog_encrypt_2-@rowlog_encrypt_1>0 as log_encrypted,
+@rowlog_decrypt_2-@rowlog_decrypt_1>0 as log_decrypted;
+sort_encrypted sort_decrypted log_encrypted log_decrypted
+0 0 0 0
+ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY c3p5(c3(5));
+ERROR 23000: Duplicate entry '' for key 'PRIMARY'
+UPDATE t1 SET c3 = NULL WHERE c3 = '';
+SET lock_wait_timeout = 1;
+ALTER TABLE t1 DROP COLUMN c22f, ADD PRIMARY KEY c3p5(c3(5));
+ERROR 42000: Multiple primary key defined
+SET @old_sql_mode = @@sql_mode;
+SET @@sql_mode = 'STRICT_TRANS_TABLES';
+ALTER TABLE t1 DROP COLUMN c22f, DROP PRIMARY KEY, ADD PRIMARY KEY c3p5(c3(5)),
+ALGORITHM = INPLACE;
+ERROR 22004: Invalid use of NULL value
+ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL;
+ERROR 22004: Invalid use of NULL value
+SET @@sql_mode = @old_sql_mode;
+UPDATE t1 SET c3=LEFT(CONCAT(c1,REPEAT('foo',c1)),255) WHERE c3 IS NULL;
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL c3p5_created0 WAIT_FOR ins_done0';
+SET @@sql_mode = 'STRICT_TRANS_TABLES';
+ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL, DROP COLUMN c22f,
+ADD COLUMN c5 CHAR(5) DEFAULT 'tired' FIRST;
+# session default
+SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created0';
+BEGIN;
+INSERT INTO t1 VALUES(347,33101,'Pikku kakkosen posti','YLETV2');
+INSERT INTO t1 VALUES(33101,347,NULL,'');
+SET DEBUG_SYNC = 'now SIGNAL ins_done0';
+# session con1
+ERROR 22004: Invalid use of NULL value
+SET @@sql_mode = @old_sql_mode;
+# session default
+ROLLBACK;
+# session con1
+ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL;
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL c3p5_created WAIT_FOR ins_done';
+ALTER TABLE t1 DROP PRIMARY KEY, DROP COLUMN c22f,
+ADD COLUMN c6 VARCHAR(1000) DEFAULT
+'I love tracking down hard-to-reproduce bugs.',
+ADD PRIMARY KEY c3p5(c3(5), c6(2));
+# session default
+SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created';
+SET DEBUG_SYNC = 'ib_after_row_insert SIGNAL ins_done WAIT_FOR ddl_timed_out';
+INSERT INTO t1 VALUES(347,33101,NULL,'');
+ERROR 23000: Column 'c3' cannot be null
+INSERT INTO t1 VALUES(347,33101,'Pikku kakkosen posti','');
+# session con1
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC = 'now SIGNAL ddl_timed_out';
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+name count
+ddl_background_drop_indexes 0
+ddl_background_drop_tables 0
+ddl_online_create_index 0
+ddl_pending_alter_table 0
+# session default
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+321
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SELECT * FROM t1 LIMIT 10;
+c22f c1 c3 c4
+5 1 1foo Online
+6 2 2foofoo Online
+7 3 3foofoofoo Online
+8 4 4foofoofoofoo Online
+9 5 5foofoofoofoofoo Online
+5 6 6foofoofoofoofoofoo Online
+6 7 7foofoofoofoofoofoofoo Online
+7 8 8foofoofoofoofoofoofoofoo Online
+8 9 9foofoofoofoofoofoofoofoofoo Online
+9 10 10foofoofoofoofoofoofoofoofoofoo Online
+# session con1
+ALTER TABLE t1 DISCARD TABLESPACE;
+# Disconnect session con1
+# session default
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c22f` int(11) NOT NULL,
+ `c1` int(11) NOT NULL,
+ `c3` char(255) NOT NULL,
+ `c4` varchar(6) NOT NULL DEFAULT 'Online',
+ PRIMARY KEY (`c1`,`c22f`,`c4`(5))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL innodb_monitor_disable = module_ddl;
+DROP TABLE t1;
+SET GLOBAL innodb_file_per_table = @global_innodb_file_per_table_orig;
+SET GLOBAL innodb_file_format = @file_format;
+SET GLOBAL innodb_monitor_enable = default;
+SET GLOBAL innodb_monitor_disable = default;
diff --git a/mysql-test/suite/innodb/r/innodb-truncate.result b/mysql-test/suite/innodb/r/innodb-truncate.result
index e4b571cbc2f..37ed19fa3fc 100644
--- a/mysql-test/suite/innodb/r/innodb-truncate.result
+++ b/mysql-test/suite/innodb/r/innodb-truncate.result
@@ -72,9 +72,9 @@ CREATE TABLE t1 (f2 INT, f4 INT, KEY(f2), FOREIGN KEY (f4) REFERENCES t3 (f4)) E
SET FOREIGN_KEY_CHECKS= ON;
CREATE TABLE t2 (f2 INT, FOREIGN KEY(f2) REFERENCES t1 (f2)) ENGINE=InnoDB;
CREATE TABLE t3 (a INT) ENGINE=InnoDB;
-ERROR HY000: Can't create table 'test.t3' (errno: 150)
+ERROR HY000: Can't create table `test`.`t3` (errno: 150 "Foreign key constraint is incorrectly formed")
ALTER TABLE t1 RENAME TO t3;
-ERROR HY000: Error on rename of './test/t1' to './test/t3' (errno: 150)
+ERROR HY000: Error on rename of './test/t1' to './test/t3' (errno: 150 "Foreign key constraint is incorrectly formed")
ALTER TABLE t1 FORCE;
TRUNCATE TABLE t1;
ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f2`) REFERENCES `test`.`t3` (`f2`))
diff --git a/mysql-test/suite/innodb/r/innodb-update-insert.result b/mysql-test/suite/innodb/r/innodb-update-insert.result
index cd0fed101ab..034a63bca6c 100644
--- a/mysql-test/suite/innodb/r/innodb-update-insert.result
+++ b/mysql-test/suite/innodb/r/innodb-update-insert.result
@@ -30,7 +30,7 @@ Warnings:
Warning 1366 Incorrect string value: '\xA3' for column 'f1' at row 1
select f1 from t1;
f1
-
+?
update t1 set f1=0x6a;
update t1 set f3=repeat(0xb1,8103);
update t1 set f1=0x4a;
@@ -39,5 +39,5 @@ Warnings:
Warning 1366 Incorrect string value: '\x82' for column 'f1' at row 1
select f1 from t1;
f1
-
+?
drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb-virtual-columns.result b/mysql-test/suite/innodb/r/innodb-virtual-columns.result
new file mode 100644
index 00000000000..900fca8309e
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-virtual-columns.result
@@ -0,0 +1,337 @@
+CREATE TABLE IF NOT EXISTS gso_grad_supr (
+term char(4) NOT NULL DEFAULT '',
+uw_id int(8) UNSIGNED NOT NULL DEFAULT 0,
+plan varchar(10) NOT NULL DEFAULT '',
+wdraw_rsn varchar(4) NOT NULL DEFAULT '',
+admit_term char(4) NOT NULL DEFAULT '',
+CONSTRAINT gso_grad_supr_pky PRIMARY KEY (uw_id, term)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+INSERT INTO `gso_grad_supr` VALUES ('1031',2,'CSM','','1009');
+INSERT INTO `gso_grad_supr` VALUES ('1035',2,'CSM','ACAD','1009');
+CREATE TABLE IF NOT EXISTS grad_degree (
+student_id int(8) UNSIGNED NOT NULL,
+plan varchar(10) NOT NULL,
+admit_term char(4) NOT NULL,
+wdraw_rsn varchar(4) NOT NULL DEFAULT '',
+ofis_deg_status varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed'
+ ELSE 'Not Completed'
+ END) VIRTUAL,
+deg_start_term char(4) NOT NULL DEFAULT '' COMMENT 'Educated guess at the beginning of the data',
+deg_as_of_term char(4) NOT NULL COMMENT 'In most cases also end term',
+CONSTRAINT grad_degree_stu_plan_admit_pky PRIMARY KEY (student_id, plan, admit_term)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+CREATE INDEX grad_degree_wdraw_rsn_ndx ON grad_degree (wdraw_rsn);
+CREATE INDEX grad_degree_as_of_term_ndx ON grad_degree (deg_as_of_term);
+INSERT IGNORE grad_degree (
+student_id,
+plan,
+admit_term,
+wdraw_rsn,
+deg_start_term,
+deg_as_of_term
+)
+SELECT
+ggs.uw_id AS c_student_id,
+ggs.plan,
+ggs.admit_term,
+ggs.wdraw_rsn,
+IF( (SELECT COUNT(*) FROM grad_degree AS gd WHERE gd.student_id = ggs.uw_id AND gd.admit_term = ggs.admit_term) > 0, ggs.term, ggs.admit_term ) AS c_deg_start_term,
+ggs.term AS c_as_of_term
+FROM gso_grad_supr AS ggs
+LEFT OUTER JOIN
+grad_degree AS gd
+ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+WHERE
+ggs.term = 1031 AND
+gd.student_id IS NULL
+;
+UPDATE grad_degree AS gd
+INNER JOIN
+gso_grad_supr AS ggs
+ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+SET
+gd.wdraw_rsn = ggs.wdraw_rsn,
+gd.deg_as_of_term = 1035
+WHERE
+gd.wdraw_rsn NOT IN ('DCMP', 'TRDC') AND
+ggs.term = 1035
+;
+drop table grad_degree;
+CREATE TABLE IF NOT EXISTS grad_degree (
+student_id int(8) UNSIGNED NOT NULL,
+plan varchar(10) NOT NULL,
+admit_term char(4) NOT NULL,
+wdraw_rsn varchar(4) NOT NULL DEFAULT '',
+ofis_deg_status varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed'
+ ELSE 'Not Completed'
+ END) VIRTUAL,
+ofis_deg_status2 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress2'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed2'
+ ELSE 'Not Completed2'
+ END) VIRTUAL,
+ofis_deg_status3 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress3'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed3'
+ ELSE 'Not Completed3'
+ END) VIRTUAL,
+ofis_deg_status4 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress4'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed4'
+ ELSE 'Not Completed4'
+ END) VIRTUAL,
+ofis_deg_status5 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress5'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed5'
+ ELSE 'Not Completed5'
+ END) VIRTUAL,
+ofis_deg_status6 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress6'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed6'
+ ELSE 'Not Completed6'
+ END) VIRTUAL,
+ofis_deg_status7 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress7'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed7'
+ ELSE 'Not Completed7'
+ END) VIRTUAL,
+ofis_deg_status8 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress8'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed8'
+ ELSE 'Not Completed8'
+ END) VIRTUAL,
+deg_start_term char(4) NOT NULL DEFAULT '' COMMENT 'Educated guess at the beginning of the data',
+deg_as_of_term char(4) NOT NULL COMMENT 'In most cases also end term',
+CONSTRAINT grad_degree_stu_plan_admit_pky PRIMARY KEY (student_id, plan, admit_term)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+CREATE INDEX grad_degree_wdraw_rsn_ndx ON grad_degree (wdraw_rsn);
+CREATE INDEX grad_degree_as_of_term_ndx ON grad_degree (deg_as_of_term);
+INSERT IGNORE grad_degree (
+student_id,
+plan,
+admit_term,
+wdraw_rsn,
+deg_start_term,
+deg_as_of_term
+)
+SELECT
+ggs.uw_id AS c_student_id,
+ggs.plan,
+ggs.admit_term,
+ggs.wdraw_rsn,
+IF( (SELECT COUNT(*) FROM grad_degree AS gd WHERE gd.student_id = ggs.uw_id AND gd.admit_term = ggs.admit_term) > 0, ggs.term, ggs.admit_term ) AS c_deg_start_term,
+ggs.term AS c_as_of_term
+FROM gso_grad_supr AS ggs
+LEFT OUTER JOIN
+grad_degree AS gd
+ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+WHERE
+ggs.term = 1031 AND
+gd.student_id IS NULL
+;
+UPDATE grad_degree AS gd
+INNER JOIN
+gso_grad_supr AS ggs
+ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+SET
+gd.wdraw_rsn = ggs.wdraw_rsn,
+gd.deg_as_of_term = 1035
+WHERE
+gd.wdraw_rsn NOT IN ('DCMP', 'TRDC') AND
+ggs.term = 1035
+;
+ALTER TABLE grad_degree DROP INDEX grad_degree_wdraw_rsn_ndx;
+ALTER TABLE grad_degree DROP COLUMN deg_start_term;
+SHOW CREATE TABLE grad_degree;
+Table Create Table
+grad_degree CREATE TABLE `grad_degree` (
+ `student_id` int(8) unsigned NOT NULL,
+ `plan` varchar(10) NOT NULL,
+ `admit_term` char(4) NOT NULL,
+ `wdraw_rsn` varchar(4) NOT NULL DEFAULT '',
+ `ofis_deg_status` varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed'
+ ELSE 'Not Completed'
+ END) VIRTUAL,
+ `ofis_deg_status2` varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress2'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed2'
+ ELSE 'Not Completed2'
+ END) VIRTUAL,
+ `ofis_deg_status3` varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress3'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed3'
+ ELSE 'Not Completed3'
+ END) VIRTUAL,
+ `ofis_deg_status4` varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress4'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed4'
+ ELSE 'Not Completed4'
+ END) VIRTUAL,
+ `ofis_deg_status5` varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress5'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed5'
+ ELSE 'Not Completed5'
+ END) VIRTUAL,
+ `ofis_deg_status6` varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress6'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed6'
+ ELSE 'Not Completed6'
+ END) VIRTUAL,
+ `ofis_deg_status7` varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress7'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed7'
+ ELSE 'Not Completed7'
+ END) VIRTUAL,
+ `ofis_deg_status8` varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress8'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed8'
+ ELSE 'Not Completed8'
+ END) VIRTUAL,
+ `deg_as_of_term` char(4) NOT NULL COMMENT 'In most cases also end term',
+ PRIMARY KEY (`student_id`,`plan`,`admit_term`),
+ KEY `grad_degree_as_of_term_ndx` (`deg_as_of_term`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8
+DROP TABLE grad_degree;
+CREATE TABLE IF NOT EXISTS grad_degree (
+student_id int(8) UNSIGNED NOT NULL,
+plan varchar(10) NOT NULL,
+admit_term char(4) NOT NULL,
+wdraw_rsn varchar(4) NOT NULL DEFAULT '',
+ofis_deg_status varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed'
+ ELSE 'Not Completed'
+ END) VIRTUAL,
+ofis_deg_status2 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress2'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed2'
+ ELSE 'Not Completed2'
+ END) VIRTUAL,
+ofis_deg_status3 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress3'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed3'
+ ELSE 'Not Completed3'
+ END) VIRTUAL,
+ofis_deg_status4 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress4'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed4'
+ ELSE 'Not Completed4'
+ END) VIRTUAL,
+ofis_deg_status5 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress5'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed5'
+ ELSE 'Not Completed5'
+ END) VIRTUAL,
+ofis_deg_status6 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress6'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed6'
+ ELSE 'Not Completed6'
+ END) VIRTUAL,
+ofis_deg_status7 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress7'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed7'
+ ELSE 'Not Completed7'
+ END) VIRTUAL,
+ofis_deg_status8 varchar(15) AS (
+CASE
+WHEN wdraw_rsn = '' THEN 'In progress8'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed8'
+ ELSE 'Not Completed8'
+ END) VIRTUAL,
+deg_start_term char(4) NOT NULL DEFAULT '' COMMENT 'Educated guess at the beginning of the data',
+deg_as_of_term char(4) NOT NULL COMMENT 'In most cases also end term',
+CONSTRAINT grad_degree_stu_plan_admit_pky PRIMARY KEY (student_id, plan, admit_term)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+CREATE INDEX grad_degree_wdraw_rsn_ndx ON grad_degree (wdraw_rsn);
+ALTER TABLE grad_degree DROP COLUMN ofis_deg_status2, DROP COLUMN ofis_deg_status3,
+DROP COLUMN ofis_deg_status4, DROP COLUMN ofis_deg_status5, DROP COLUMN ofis_deg_status6,
+DROP COLUMN ofis_deg_status7, DROP COLUMN ofis_deg_status8;
+CREATE INDEX grad_degree_as_of_term_ndx ON grad_degree (deg_as_of_term);
+INSERT IGNORE grad_degree (
+student_id,
+plan,
+admit_term,
+wdraw_rsn,
+deg_start_term,
+deg_as_of_term
+)
+SELECT
+ggs.uw_id AS c_student_id,
+ggs.plan,
+ggs.admit_term,
+ggs.wdraw_rsn,
+IF( (SELECT COUNT(*) FROM grad_degree AS gd WHERE gd.student_id = ggs.uw_id AND gd.admit_term = ggs.admit_term) > 0, ggs.term, ggs.admit_term ) AS c_deg_start_term,
+ggs.term AS c_as_of_term
+FROM gso_grad_supr AS ggs
+LEFT OUTER JOIN
+grad_degree AS gd
+ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+WHERE
+ggs.term = 1031 AND
+gd.student_id IS NULL
+;
+UPDATE grad_degree AS gd
+INNER JOIN
+gso_grad_supr AS ggs
+ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+SET
+gd.wdraw_rsn = ggs.wdraw_rsn,
+gd.deg_as_of_term = 1035
+WHERE
+gd.wdraw_rsn NOT IN ('DCMP', 'TRDC') AND
+ggs.term = 1035
+;
+select * from grad_degree;
+student_id plan admit_term wdraw_rsn ofis_deg_status deg_start_term deg_as_of_term
+2 CSM 1009 ACAD Not Completed 1009 1035
+select * from gso_grad_supr;
+term uw_id plan wdraw_rsn admit_term
+1031 2 CSM 1009
+1035 2 CSM ACAD 1009
+drop table grad_degree;
+drop table gso_grad_supr;
+CREATE TABLE t1 (a INT, b CHAR(12), c INT AS (a) VIRTUAL, FULLTEXT KEY(b)) ENGINE=InnoDB;
+INSERT INTO t1 (a,b) VALUES (1,'foo');
+SELECT * FROM t1;
+a b c
+1 foo 1
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, b CHAR(12), c INT AS (a) VIRTUAL) ENGINE=InnoDB;
+INSERT INTO t1 (a,b) VALUES (1,'foo');
+ALTER TABLE t1 ADD FULLTEXT KEY(b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT * FROM t1;
+a b c
+1 foo 1
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-wl5522-1.result b/mysql-test/suite/innodb/r/innodb-wl5522-1.result
new file mode 100644
index 00000000000..060840859a7
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-wl5522-1.result
@@ -0,0 +1,811 @@
+DROP TABLE IF EXISTS t1;
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+@@innodb_file_format
+Barracuda
+DROP DATABASE IF EXISTS testdb_wl5522;
+Warnings:
+Note 1008 Can't drop database 'testdb_wl5522'; database doesn't exist
+CREATE DATABASE testdb_wl5522;
+CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
+INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
+SELECT c1 FROM testdb_wl5522.t1;
+c1
+1
+123
+331
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
+c1
+1
+123
+331
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
+c1
+1
+123
+331
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (
+col1 BIT(1),
+col2 BOOLEAN,
+col3 TINYINT,
+col4 SMALLINT,
+col5 MEDIUMINT,
+col6 INT,
+col7 BIGINT,
+col8 FLOAT (14,3) ,
+col9 DOUBLE (14,3),
+col10 VARCHAR(20),
+col11 TEXT ,
+col12 ENUM('a','b','c'),
+col13 TEXT,
+col14 CHAR(20) ,
+col15 VARBINARY (400) ,
+col16 BINARY(40),
+col17 BLOB (400) ,
+col18 INT NOT NULL PRIMARY KEY,
+col19 DATE ,
+col20 DATETIME ,
+col21 TIMESTAMP ,
+col22 TIME ,
+col23 YEAR ) ENGINE = Innodb;
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+INSERT INTO testdb_wl5522.t1 VALUES
+(1,1,-128,32767,-8388608,2147483647,-9223372036854775808, 92233720368.222,
+-92233720368.222,'aaa', + 'aaaaaaaaaa','b','bbbbb','ccccc',
+REPEAT('d',40),REPEAT('d',40),REPEAT('d',40),1,'1000-01-01',
+'3000-12-31 23:59:59.99','1990-01-01 00:00:01.00',
+'01:59:59.00','1901');
+INSERT INTO testdb_wl5522.t1 VALUES
+(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+ERROR 23000: Column 'col18' cannot be null
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+FLUSH TABLES testdb_wl5522.t1 WITH READ LOCK;
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+COUNT(*)
+2
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (
+col1 BIT(1),
+col2 BOOLEAN,
+col3 TINYINT,
+col4 SMALLINT,
+col5 MEDIUMINT,
+col6 INT,
+col7 BIGINT,
+col8 FLOAT (14,3) ,
+col9 DOUBLE (14,3),
+col10 VARCHAR(20),
+col11 TEXT,
+col12 ENUM('a','b','c'),
+col13 TEXT,
+col14 CHAR(20) ,
+col15 VARBINARY (400) ,
+col16 BINARY(40),
+col17 BLOB (400) ,
+col18 INT NOT NULL PRIMARY KEY,
+col19 DATE ,
+col20 DATETIME ,
+col21 TIMESTAMP ,
+col22 TIME ,
+col23 YEAR ) ENGINE = Innodb;
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE testdb_wl5522.t1;
+Table Op Msg_type Msg_text
+testdb_wl5522.t1 check status OK
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+COUNT(*)
+2
+DROP TABLE testdb_wl5522.t1;
+SET GLOBAL innodb_file_format='Barracuda';
+CREATE TABLE testdb_wl5522.t1 (
+col_1_varbinary VARBINARY (4000) ,
+col_2_varchar VARCHAR (4000),
+col_3_text TEXT (4000),
+col_4_blob BLOB (4000),
+col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000),
+col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC ENGINE = Innodb;
+INSERT INTO testdb_wl5522.t1 VALUES(
+REPEAT('a', 4000),REPEAT('o', 4000),REPEAT('a', 4000), REPEAT('o', 4000),
+REPEAT('a', 4000),REPEAT('a', 4000),REPEAT('a', 255));
+SELECT col_1_varbinary = REPEAT("a", 4000) ,
+col_2_varchar = REPEAT("o", 4000) ,
+col_3_text = REPEAT("a", 4000) ,
+col_4_blob = REPEAT("o", 4000) ,
+col_5_text = REPEAT("a", 4000) ,
+col_6_varchar = REPEAT("a", 4000) ,
+col_7_binary = REPEAT("a", 255)
+FROM testdb_wl5522.t1;
+col_1_varbinary = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000) col_3_text = REPEAT("a", 4000) col_4_blob = REPEAT("o", 4000) col_5_text = REPEAT("a", 4000) col_6_varchar = REPEAT("a", 4000) col_7_binary = REPEAT("a", 255)
+1 1 1 1 1 1 1
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (
+col_1_varbinary VARBINARY (4000) ,
+col_2_varchar VARCHAR (4000),
+col_3_text TEXT (4000),
+col_4_blob BLOB (4000),
+col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000),
+col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT col_1_varbinary = REPEAT("a", 4000) ,
+col_2_varchar = REPEAT("o", 4000) ,
+col_3_text = REPEAT("a", 4000) ,
+col_4_blob = REPEAT("o", 4000) ,
+col_5_text = REPEAT("a", 4000) ,
+col_6_varchar = REPEAT("a", 4000) ,
+col_7_binary = REPEAT("a", 255)
+FROM testdb_wl5522.t1;
+col_1_varbinary = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000) col_3_text = REPEAT("a", 4000) col_4_blob = REPEAT("o", 4000) col_5_text = REPEAT("a", 4000) col_6_varchar = REPEAT("a", 4000) col_7_binary = REPEAT("a", 255)
+1 1 1 1 1 1 1
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int INT AUTO_INCREMENT,
+col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_1_int)) ENGINE = Innodb;
+INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2'),(3,'a3');
+INSERT INTO testdb_wl5522.t1 (col_2_varchar) VALUES ('a4'),('a5'),('a6');
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+col_1_int col_2_varchar
+1 a1
+2 a2
+3 a3
+4 a4
+5 a5
+6 a6
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int INT AUTO_INCREMENT,
+col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_1_int)) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+col_1_int col_2_varchar
+1 a1
+2 a2
+3 a3
+4 a4
+5 a5
+6 a6
+INSERT INTO testdb_wl5522.t1 VALUES (1,'a1');
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+INSERT INTO testdb_wl5522.t1(col_2_varchar) VALUES ('a101'),('a102'),('a103');
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+col_1_int col_2_varchar
+1 a1
+2 a2
+3 a3
+4 a4
+5 a5
+6 a6
+7 a101
+8 a102
+9 a103
+ALTER TABLE testdb_wl5522.t1 MODIFY col_1_int BIGINT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+col_1_int col_2_varchar
+1 a1
+2 a2
+3 a3
+4 a4
+5 a5
+6 a6
+7 a101
+8 a102
+9 a103
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int INT,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
+CREATE TABLE testdb_wl5522.t1_fk (
+col_1_int INT,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_1_int),
+FOREIGN KEY (col_2_varchar) REFERENCES testdb_wl5522.t1(col_2_varchar)
+) ENGINE = Innodb;
+INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2'),(3,'a3'),(4,'a4'),(5,'a5');
+INSERT INTO testdb_wl5522.t1_fk VALUES (1,'a1'),(2,'a2'),(3,'a3');
+SELECT * FROM testdb_wl5522.t1;
+col_1_int col_2_varchar
+1 a1
+2 a2
+3 a3
+4 a4
+5 a5
+SELECT * FROM testdb_wl5522.t1_fk;
+col_1_int col_2_varchar
+1 a1
+2 a2
+3 a3
+FLUSH TABLES testdb_wl5522.t1,testdb_wl5522.t1_fk FOR EXPORT;
+backup: t1
+backup: t1_fk
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1_fk,testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int INT,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
+CREATE TABLE testdb_wl5522.t1_fk (
+col_1_int INT,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_1_int),
+FOREIGN KEY (col_2_varchar) REFERENCES testdb_wl5522.t1(col_2_varchar)
+) ENGINE = Innodb;
+SET foreign_key_checks = 0;
+ALTER TABLE testdb_wl5522.t1_fk DISCARD TABLESPACE;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+SET foreign_key_checks = 1;
+restore: t1 .ibd and .cfg files
+restore: t1_fk .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+ALTER TABLE testdb_wl5522.t1_fk IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1;
+col_1_int col_2_varchar
+1 a1
+2 a2
+3 a3
+4 a4
+5 a5
+SELECT * FROM testdb_wl5522.t1_fk;
+col_1_int col_2_varchar
+1 a1
+2 a2
+3 a3
+INSERT INTO testdb_wl5522.t1_fk VALUES (100,'a100');
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`testdb_wl5522`.`t1_fk`, CONSTRAINT `t1_fk_ibfk_1` FOREIGN KEY (`col_2_varchar`) REFERENCES `t1` (`col_2_varchar`))
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1_fk VALUES (4,'a4'),(5,'a5');
+ROLLBACK;
+SELECT * FROM testdb_wl5522.t1_fk;
+col_1_int col_2_varchar
+1 a1
+2 a2
+3 a3
+DROP TABLE testdb_wl5522.t1_fk,testdb_wl5522.t1;
+SET AUTOCOMMIT = 1;
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int int,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2');
+SELECT * FROM testdb_wl5522.t1;
+col_1_int col_2_varchar
+1 a1
+2 a2
+COMMIT;
+INSERT INTO testdb_wl5522.t1 VALUES (3,'a3'),(4,'a4');
+ROLLBACK;
+INSERT INTO testdb_wl5522.t1 VALUES (5,'a5'),(6,'a6');
+COMMIT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+col_1_int col_2_varchar
+1 a1
+2 a2
+5 a5
+6 a6
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int int,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+SET AUTOCOMMIT = 0;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+INSERT INTO testdb_wl5522.t1 VALUES (7,'a7'),(8,'a8');
+COMMIT;
+INSERT INTO testdb_wl5522.t1 VALUES (9,'a9'),(10,'a10');
+ROLLBACK;
+INSERT INTO testdb_wl5522.t1 VALUES (11,'a11'),(12,'a12');
+COMMIT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+col_1_int col_2_varchar
+1 a1
+2 a2
+5 a5
+6 a6
+7 a7
+8 a8
+11 a11
+12 a12
+SET AUTOCOMMIT = 1;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
+INSERT INTO testdb_wl5522.t1 VALUES (100),(200),(300);
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+i
+100
+200
+300
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+i
+100
+200
+300
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1 VALUES (101),(102),(103);
+COMMIT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+i
+100
+101
+102
+103
+200
+300
+SET AUTOCOMMIT = 1;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
+INSERT INTO testdb_wl5522.t1 VALUES (100),(200),(300);
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+i
+100
+200
+300
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 ( i bigint) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Column i precise type mismatch.)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Tablespace for table 't1' exists. Please DISCARD the tablespace before IMPORT.
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+i
+100
+200
+300
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1 VALUES (101),(102),(103);
+COMMIT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+i
+100
+101
+102
+103
+200
+300
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (i int) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+DROP TABLE testdb_wl5522.t1;
+SET AUTOCOMMIT = 1;
+CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
+SELECT c1 FROM testdb_wl5522.t1;
+c1
+1
+123
+331
+ROLLBACK;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
+c1
+DROP TABLE testdb_wl5522.t1;
+SET AUTOCOMMIT = 1;
+CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 VARCHAR (255),
+col_4 VARCHAR (255),col_5 VARCHAR (255),
+col_6 text (255), col_7 text (255),
+col_8 text (255),col_9 text (255),
+col_10 BLOB (255),col_11 BLOB (255),
+col_12 BLOB (255), col_13 BLOB (255),
+col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(
+col_1 (50),col_2 (50),col_3 (50),
+col_4 (50),col_5 (50),col_6 (50),
+col_7 (50),col_8 (50),col_9 (50),
+col_10 (50),col_11 (50),col_12 (50),
+col_13(50));
+INSERT INTO testdb_wl5522.t1 VALUES (
+REPEAT("col1_00001",10),REPEAT("col2_00001",10),REPEAT("col3_00001",10),
+REPEAT("col4_00001",10),REPEAT("col5_00001",10),REPEAT("col6_00001",10),
+REPEAT("col7_00001",10),REPEAT("col8_00001",10),REPEAT("col9_00001",10),
+REPEAT("col10_00001",10),REPEAT("col11_00001",10),REPEAT("col12_00001",10),
+REPEAT("col13_00001",10),REPEAT("col14_00001",10),1);
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 VARCHAR (255),
+col_4 VARCHAR (255),col_5 VARCHAR (255),
+col_6 text (255), col_7 text (255),
+col_8 text (255),col_9 text (255),
+col_10 BLOB (255),col_11 BLOB (255),
+col_12 BLOB (255), col_13 BLOB (255),
+col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(
+col_1 (50),col_2 (50),col_3 (50),
+col_4 (50),col_5 (50),col_6 (50),
+col_7 (50),col_8 (50),col_9 (50),
+col_10 (50),col_11 (50),col_12 (50),
+col_13(50));
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 VARCHAR (255),
+col_4 VARCHAR (255),col_5 VARCHAR (255),
+col_6 text (255), col_7 text (255),
+col_8 text (255),col_9 text (255),
+col_10 BLOB (255),col_11 BLOB (255),
+col_12 BLOB (255), col_13 BLOB (255),
+col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
+CREATE INDEX idx1 ON testdb_wl5522.t1(col_1);
+CREATE INDEX idx2 ON testdb_wl5522.t1(col_2);
+CREATE INDEX idx3 ON testdb_wl5522.t1(col_3);
+CREATE INDEX idx4 ON testdb_wl5522.t1(col_4);
+CREATE INDEX idx5 ON testdb_wl5522.t1(col_5);
+CREATE INDEX idx6 ON testdb_wl5522.t1(col_6(255));
+CREATE INDEX idx7 ON testdb_wl5522.t1(col_7(255));
+CREATE INDEX idx8 ON testdb_wl5522.t1(col_8(255));
+CREATE INDEX idx9 ON testdb_wl5522.t1(col_9(255));
+CREATE INDEX idx10 ON testdb_wl5522.t1(col_10(255));
+CREATE INDEX idx11 ON testdb_wl5522.t1(col_11(255));
+CREATE INDEX idx12 ON testdb_wl5522.t1(col_12(255));
+CREATE INDEX idx13 ON testdb_wl5522.t1(col_13(255));
+CREATE INDEX idx14 ON testdb_wl5522.t1(col_14(255));
+INSERT INTO testdb_wl5522.t1 VALUES (
+REPEAT("col1_00001",10),REPEAT("col2_00001",10),REPEAT("col3_00001",10),
+REPEAT("col4_00001",10),REPEAT("col5_00001",10),REPEAT("col6_00001",10),
+REPEAT("col7_00001",10),REPEAT("col8_00001",10),REPEAT("col9_00001",10),
+REPEAT("col10_00001",10),REPEAT("col11_00001",10),REPEAT("col12_00001",10),
+REPEAT("col13_00001",10),REPEAT("col14_00001",10),1);
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 VARCHAR (255),
+col_4 VARCHAR (255),col_5 VARCHAR (255),
+col_6 text (255), col_7 text (255),
+col_8 text (255),col_9 text (255),
+col_10 BLOB (255),col_11 BLOB (255),
+col_12 BLOB (255), col_13 BLOB (255),
+col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
+CREATE INDEX idx1 ON testdb_wl5522.t1(col_1);
+CREATE INDEX idx2 ON testdb_wl5522.t1(col_2);
+CREATE INDEX idx3 ON testdb_wl5522.t1(col_3);
+CREATE INDEX idx4 ON testdb_wl5522.t1(col_4);
+CREATE INDEX idx5 ON testdb_wl5522.t1(col_5);
+CREATE INDEX idx6 ON testdb_wl5522.t1(col_6(255));
+CREATE INDEX idx7 ON testdb_wl5522.t1(col_7(255));
+CREATE INDEX idx8 ON testdb_wl5522.t1(col_8(255));
+CREATE INDEX idx9 ON testdb_wl5522.t1(col_9(255));
+CREATE INDEX idx10 ON testdb_wl5522.t1(col_10(255));
+CREATE INDEX idx11 ON testdb_wl5522.t1(col_11(255));
+CREATE INDEX idx12 ON testdb_wl5522.t1(col_12(255));
+CREATE INDEX idx13 ON testdb_wl5522.t1(col_13(255));
+CREATE INDEX idx14 ON testdb_wl5522.t1(col_14(255));
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1(col_15) VALUES (15000),(16000);
+SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
+col_15
+15000
+16000
+ROLLBACK;
+SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
+col_15
+INSERT INTO testdb_wl5522.t1(col_15) VALUES (15000),(16000);
+COMMIT;
+SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
+col_15
+15000
+16000
+ALTER TABLE testdb_wl5522.t1 DROP INDEX idx1;
+ALTER TABLE testdb_wl5522.t1 DROP INDEX idx6;
+ALTER TABLE testdb_wl5522.t1 DROP INDEX idx10;
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 15000
+NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 16000
+ALTER TABLE testdb_wl5522.t1 ADD INDEX idx1 (col_1);
+ALTER TABLE testdb_wl5522.t1 ADD INDEX idx6 (col_1(255));
+ALTER TABLE testdb_wl5522.t1 ADD INDEX idx10 (col_10(255));
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 15000
+NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 16000
+DROP TABLE testdb_wl5522.t1;
+SET AUTOCOMMIT = 1;
+CREATE TABLE testdb_wl5522.t1(col1 bit(1) ,
+col2 boolean,col3 tinyint , col4 smallint ,
+col5 mediumint ,col6 int , col7 bigint ,
+col8 float (14,3) ,col9 double (14,3),
+col10 VARCHAR(20) CHARACTER SET utf8 ,
+col11 TEXT CHARACTER SET binary ,
+col12 ENUM('a','b','c') CHARACTER SET binary,
+col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,
+col14 CHAR(20) , col15 VARBINARY (400),
+col16 BINARY(40), col17 BLOB (400),
+col18 int not null primary key,
+col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,
+col22 TIME , col23 YEAR ) ENGINE = Innodb;
+CREATE TABLE testdb_wl5522.trigger_table ( i int ) ENGINE = Innodb;
+CREATE TRIGGER testdb_wl5522.tri AFTER INSERT ON testdb_wl5522.t1
+FOR EACH ROW INSERT INTO testdb_wl5522.trigger_table VALUES(NEW.col18);
+CREATE OR REPLACE VIEW testdb_wl5522.VW1 AS SELECT * FROM testdb_wl5522.t1;
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+INSERT INTO testdb_wl5522.t1 VALUES (
+1,1,-128,32767,-8388608,2147483647,-9223372036854775808,92233720368.222,
+-92233720368.222,'aaa','aaaaaaaaaa','b','bbbbb','ccccc',REPEAT('d',40),
+REPEAT('d',40),REPEAT('d',40),1,'1000-01-01','3000-12-31 23:59:59.99',
+'1990-01-01 00:00:01.00','01:59:59.00','1901');
+INSERT INTO testdb_wl5522.t1 VALUES (
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
+INSERT INTO testdb_wl5522.t1 VALUES (
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+ERROR 23000: Column 'col18' cannot be null
+INSERT INTO testdb_wl5522.t1 VALUES (
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+COUNT(*)
+2
+SELECT * FROM testdb_wl5522.trigger_table;
+i
+1
+3
+SELECT COUNT(*) FROM testdb_wl5522.VW1;
+COUNT(*)
+2
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1(col1 bit(1) ,
+col2 boolean,col3 tinyint , col4 smallint ,
+col5 mediumint ,col6 int , col7 bigint ,
+col8 float (14,3) ,col9 double (14,3),
+col10 VARCHAR(20) CHARACTER SET utf8 ,
+col11 TEXT CHARACTER SET binary ,
+col12 ENUM('a','b','c') CHARACTER SET binary,
+col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,
+col14 CHAR(20) , col15 VARBINARY (400),
+col16 BINARY(40), col17 BLOB (400),
+col18 int not null primary key,
+col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,
+col22 TIME , col23 YEAR ) ENGINE = Innodb;
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+COUNT(*)
+2
+SELECT * FROM testdb_wl5522.trigger_table;
+i
+1
+3
+SELECT COUNT(*) FROM testdb_wl5522.VW1;
+COUNT(*)
+2
+INSERT INTO testdb_wl5522.t1(col18) VALUES (5);
+SELECT * FROM testdb_wl5522.trigger_table;
+i
+1
+3
+UPDATE testdb_wl5522.t1 SET col18=10 WHERE col18=1;
+SELECT COUNT(*) FROM testdb_wl5522.VW1;
+COUNT(*)
+3
+SELECT COUNT(*) FROM testdb_wl5522.t1 WHERE col18=10;
+COUNT(*)
+1
+ALTER TABLE testdb_wl5522.t1 ADD COLUMN col24 varbinary(40) default null;
+INSERT INTO testdb_wl5522.t1(col18,col24) VALUES (6,REPEAT('a',10));
+SELECT col24,col18 FROM testdb_wl5522.t1 WHERE col18 in (6,1,10) ORDER BY col18;
+col24 col18
+aaaaaaaaaa 6
+NULL 10
+ALTER TABLE testdb_wl5522.t1 DROP INDEX prefix_idx;
+SELECT col18,col14 FROM testdb_wl5522.t1 WHERE col14 like '_ccc%';
+col18 col14
+10 ccccc
+ALTER TABLE testdb_wl5522.t1 ADD INDEX prefix_idx (col24(10));
+SELECT col18,col24 FROM testdb_wl5522.t1 WHERE col24 like '_a_a%';
+col18 col24
+6 aaaaaaaaaa
+DROP TABLE testdb_wl5522.t1;
+DROP DATABASE testdb_wl5522;
+call mtr.add_suppression("Got error -1 when reading table '.*'");
+call mtr.add_suppression("InnoDB: Error: tablespace id and flags in file '.*'.*");
+call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded");
+SET GLOBAL INNODB_FILE_FORMAT=Antelope;
+SET GLOBAL INNODB_FILE_PER_TABLE=1;
diff --git a/mysql-test/suite/innodb/r/innodb-wl5522-debug.result b/mysql-test/suite/innodb/r/innodb-wl5522-debug.result
new file mode 100644
index 00000000000..66b7d246e30
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-wl5522-debug.result
@@ -0,0 +1,909 @@
+SET GLOBAL innodb_file_per_table = 1;
+CREATE DATABASE test_wl5522;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = InnoDB;
+INSERT INTO test_wl5522.t1 VALUES(1),(2),(3);
+SET SESSION debug_dbug="+d,ib_discard_before_commit_crash";
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+ERROR HY000: Lost connection to MySQL server during query
+DROP TABLE test_wl5522.t1;
+SET GLOBAL innodb_file_per_table = 1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = InnoDB;
+INSERT INTO test_wl5522.t1 VALUES(1),(2),(3);
+SET SESSION debug_dbug="+d,ib_discard_after_commit_crash";
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+ERROR HY000: Lost connection to MySQL server during query
+DROP TABLE test_wl5522.t1;
+SET GLOBAL innodb_file_per_table = 1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1), (2), (3), (4);
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SELECT * FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Lost connection to MySQL server during query
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Lost connection to MySQL server during query
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE test_wl5522.t1;
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE test_wl5522.t1;
+Table Op Msg_type Msg_text
+test_wl5522.t1 check status OK
+SELECT COUNT(*) FROM test_wl5522.t1;
+COUNT(*)
+4
+INSERT INTO test_wl5522.t1 VALUES(400), (500), (600);
+SELECT * FROM test_wl5522.t1;
+c1
+1
+2
+3
+4
+400
+500
+600
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_1";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_2";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_3";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_4";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_5";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_6";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_7";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_8";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_9";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_10";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_11";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_12";
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+Warnings:
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
+Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
+UNLOCK TABLES;
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (100), (200), (300);
+SELECT COUNT(*) FROM test_wl5522.t1;
+COUNT(*)
+3
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_io_read_error_1";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while reading index fields.
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_io_read_error_2";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while reading index meta-data, expected to read 44 bytes but read only 0 bytes
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_io_read_error_3";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while reading number of indexes.
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_io_read_error_4";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while reading table column meta-data.
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_io_read_error_5";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while reading meta-data export hostname length.
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_io_read_error_6";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while reading meta-data table name length.
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_io_read_error_7";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while reading autoinc value.
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_io_read_error_8";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while reading meta-data header.
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_io_read_error_9";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while reading meta-data version.
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_string_read_error";
+restore: t1 .cfg file
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: IO Read error: while parsing export hostname.
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_OOM_1";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_OOM_2";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_OOM_4";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_OOM_5";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_OOM_6";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_OOM_7";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_OOM_8";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_OOM_9";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_OOM_10";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_internal_error";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: While updating the <space, root page number> of index "GEN_CLUST_INDEX" - Generic error
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_reset_space_and_lsn_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Too many concurrent transactions
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug=@saved_debug_dbug;
+SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Got error 44 'Tablespace not found' from ./test_wl5522/t1.ibd
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_check_bitmap_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_cluster_root_adjust_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_cluster_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_sec_root_adjust_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_set_max_rowid_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (
+c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 BIGINT,
+c3 VARCHAR(2048),
+c4 VARCHAR(2048),
+INDEX idx1(c2),
+INDEX idx2(c3(512)),
+INDEX idx3(c4(512))) Engine=InnoDB;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+SET GLOBAL innodb_disable_background_merge=ON;
+SET GLOBAL innodb_monitor_reset = ibuf_merges;
+SET GLOBAL innodb_monitor_reset = ibuf_merges_insert;
+INSERT INTO test_wl5522.t1(c2, c3, c4) VALUES
+(1, REPEAT('a', 2048), REPEAT('a', 2048)),
+(2, REPEAT('b', 2048), REPEAT('b', 2048)),
+(3, REPEAT('c', 2048), REPEAT('c', 2048)),
+(4, REPEAT('d', 2048), REPEAT('d', 2048));
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+DELETE FROM test_wl5522.t1 WHERE c2 = 1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c3 = REPEAT("c2", 1024);
+UPDATE test_wl5522.t1 SET c4 = REPEAT("c4", 1024);
+SHOW CREATE TABLE test_wl5522.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL AUTO_INCREMENT,
+ `c2` bigint(20) DEFAULT NULL,
+ `c3` varchar(2048) DEFAULT NULL,
+ `c4` varchar(2048) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx1` (`c2`),
+ KEY `idx2` (`c3`(512)),
+ KEY `idx3` (`c4`(512))
+) ENGINE=InnoDB AUTO_INCREMENT=248 DEFAULT CHARSET=latin1
+SELECT c1, c2 FROM test_wl5522.t1;
+c1 c2
+2 32
+3 48
+4 64
+6 92
+7 108
+8 124
+13 197
+14 213
+15 229
+17 257
+18 273
+19 289
+28 422
+29 438
+30 454
+32 482
+33 498
+34 514
+36 542
+37 558
+38 574
+40 602
+41 618
+42 634
+59 887
+60 903
+61 919
+63 947
+64 963
+65 979
+67 1007
+68 1023
+69 1039
+71 1067
+72 1083
+73 1099
+75 1127
+76 1143
+77 1159
+79 1187
+80 1203
+81 1219
+83 1247
+84 1263
+85 1279
+87 1307
+88 1323
+89 1339
+122 1832
+123 1848
+124 1864
+126 1892
+127 1908
+128 1924
+130 1952
+131 1968
+132 1984
+134 2012
+135 2028
+136 2044
+138 2072
+139 2088
+140 2104
+142 2132
+143 2148
+144 2164
+146 2192
+147 2208
+148 2224
+150 2252
+151 2268
+152 2284
+154 2312
+155 2328
+156 2344
+158 2372
+159 2388
+160 2404
+162 2432
+163 2448
+164 2464
+166 2492
+167 2508
+168 2524
+170 2552
+171 2568
+172 2584
+174 2612
+175 2628
+176 2644
+178 2672
+179 2688
+180 2704
+182 2732
+183 2748
+184 2764
+SELECT COUNT(*) FROM test_wl5522.t1;
+COUNT(*)
+96
+SELECT SUM(c2) FROM test_wl5522.t1;
+SUM(c2)
+145278
+SELECT name
+FROM information_schema.innodb_metrics
+WHERE name = 'ibuf_merges_insert' AND count = 0;
+name
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+SELECT name
+FROM information_schema.innodb_metrics
+WHERE name = 'ibuf_merges' AND count > 0;
+name
+ibuf_merges
+SELECT name
+FROM information_schema.innodb_metrics
+WHERE name = 'ibuf_merges_inserts' AND count > 0;
+name
+SET GLOBAL innodb_disable_background_merge=OFF;
+COMMIT;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (
+c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 BIGINT,
+c3 VARCHAR(2048),
+c4 VARCHAR(2048),
+INDEX idx1(c2),
+INDEX idx2(c3(512)),
+INDEX idx3(c4(512))) Engine=InnoDB;
+SELECT c1, c2 FROM test_wl5522.t1;
+c1 c2
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE test_wl5522.t1;
+Table Op Msg_type Msg_text
+test_wl5522.t1 check status OK
+SELECT c1,c2 FROM test_wl5522.t1;
+c1 c2
+2 32
+3 48
+4 64
+6 92
+7 108
+8 124
+13 197
+14 213
+15 229
+17 257
+18 273
+19 289
+28 422
+29 438
+30 454
+32 482
+33 498
+34 514
+36 542
+37 558
+38 574
+40 602
+41 618
+42 634
+59 887
+60 903
+61 919
+63 947
+64 963
+65 979
+67 1007
+68 1023
+69 1039
+71 1067
+72 1083
+73 1099
+75 1127
+76 1143
+77 1159
+79 1187
+80 1203
+81 1219
+83 1247
+84 1263
+85 1279
+87 1307
+88 1323
+89 1339
+122 1832
+123 1848
+124 1864
+126 1892
+127 1908
+128 1924
+130 1952
+131 1968
+132 1984
+134 2012
+135 2028
+136 2044
+138 2072
+139 2088
+140 2104
+142 2132
+143 2148
+144 2164
+146 2192
+147 2208
+148 2224
+150 2252
+151 2268
+152 2284
+154 2312
+155 2328
+156 2344
+158 2372
+159 2388
+160 2404
+162 2432
+163 2448
+164 2464
+166 2492
+167 2508
+168 2524
+170 2552
+171 2568
+172 2584
+174 2612
+175 2628
+176 2644
+178 2672
+179 2688
+180 2704
+182 2732
+183 2748
+184 2764
+SELECT COUNT(*) FROM test_wl5522.t1;
+COUNT(*)
+96
+SELECT SUM(c2) FROM test_wl5522.t1;
+SUM(c2)
+145278
+SHOW CREATE TABLE test_wl5522.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL AUTO_INCREMENT,
+ `c2` bigint(20) DEFAULT NULL,
+ `c3` varchar(2048) DEFAULT NULL,
+ `c4` varchar(2048) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx1` (`c2`),
+ KEY `idx2` (`c3`(512)),
+ KEY `idx3` (`c4`(512))
+) ENGINE=InnoDB AUTO_INCREMENT=185 DEFAULT CHARSET=latin1
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+INSERT IGNORE INTO test_wl5522.t1 VALUES
+(100, REPEAT('Karanbir', 899), REPEAT('Ajeeth', 2731));
+Warnings:
+Warning 1265 Data truncated for column 'c2' at row 1
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+SELECT COUNT(*) FROM test_wl5522.t1;
+COUNT(*)
+256
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_1";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,buf_page_import_corrupt_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_2";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Index corrupt: Externally stored column(5) has a reference length of 19 in the cluster index "GEN_CLUST_INDEX"
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_3";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_create_index_failure_1";
+ALTER TABLE test_wl5522.t1 ADD INDEX idx(c1);
+Warnings:
+Warning 1814 Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,fil_space_create_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Got error 11 'Generic error' from ./test_wl5522/t1.ibd
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,dict_tf_to_fsp_flags_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Got error 39 'Data structure corruption' from ./test_wl5522/t1.ibd
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,fsp_flags_is_valid_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+DROP DATABASE test_wl5522;
+set global innodb_monitor_disable = all;
+set global innodb_monitor_reset_all = all;
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+SET GLOBAL INNODB_FILE_PER_TABLE=1;
diff --git a/mysql-test/suite/innodb/r/innodb-wl5522-zip.result b/mysql-test/suite/innodb/r/innodb-wl5522-zip.result
new file mode 100644
index 00000000000..47413b18ce9
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-wl5522-zip.result
@@ -0,0 +1,503 @@
+DROP TABLE IF EXISTS t1;
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+@@innodb_file_format
+Barracuda
+SET SESSION innodb_strict_mode=1;
+SELECT @@SESSION.innodb_strict_mode;
+@@SESSION.innodb_strict_mode
+1
+CREATE TABLE t1
+(a INT AUTO_INCREMENT PRIMARY KEY,
+b char(22),
+c varchar(255),
+KEY (b))
+ENGINE = InnoDB ROW_FORMAT=COMPRESSED ;
+insert into t1 (b, c) values ('Apa', 'Filler........'),
+('Banan', 'Filler........'), ('Cavalry', '..asdasdfaeraf'),
+('Devotion', 'asdfuihknaskdf'), ('Evolution', 'lsjndofiabsoibeg');
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+640
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+a b c
+819 Apa Filler........
+814 Apa Filler........
+809 Apa Filler........
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+a b c
+823 Evolution lsjndofiabsoibeg
+822 Devotion asdfuihknaskdf
+821 Cavalry ..asdasdfaeraf
+t1.frm
+t1.ibd
+# Restarting server
+# Done restarting server
+FLUSH TABLE t1 FOR EXPORT;
+# List before copying files
+t1.cfg
+t1.frm
+t1.ibd
+UNLOCK TABLES;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1280
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+a b c
+1459 Apa Filler........
+1454 Apa Filler........
+1449 Apa Filler........
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+a b c
+1463 Evolution lsjndofiabsoibeg
+1462 Devotion asdfuihknaskdf
+1461 Cavalry ..asdasdfaeraf
+# Restarting server
+# Done restarting server
+# List before t1 DISCARD
+t1.frm
+t1.ibd
+ALTER TABLE t1 DISCARD TABLESPACE;
+# List after t1 DISCARD
+t1.frm
+ALTER TABLE t1 IMPORT TABLESPACE;
+ALTER TABLE t1 ENGINE InnoDB;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+640
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+a b c
+819 Apa Filler........
+814 Apa Filler........
+809 Apa Filler........
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+a b c
+823 Evolution lsjndofiabsoibeg
+822 Devotion asdfuihknaskdf
+821 Cavalry ..asdasdfaeraf
+t1.cfg
+t1.frm
+t1.ibd
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+640
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+a b c
+819 Apa Filler........
+814 Apa Filler........
+809 Apa Filler........
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+a b c
+823 Evolution lsjndofiabsoibeg
+822 Devotion asdfuihknaskdf
+821 Cavalry ..asdasdfaeraf
+DROP TABLE t1;
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+@@innodb_file_format
+Barracuda
+SET SESSION innodb_strict_mode=1;
+SELECT @@SESSION.innodb_strict_mode;
+@@SESSION.innodb_strict_mode
+1
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+INSERT INTO t1(c2) VALUES(1);
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Tablespace for table 't1' exists. Please DISCARD the tablespace before IMPORT.
+SELECT * FROM t1;
+c1 c2
+1 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+t1.frm
+t1.ibd
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+backup: t1
+t1.cfg
+t1.frm
+t1.ibd
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+t1.cfg
+t1.frm
+t1.ibd
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+t1.frm
+t1.ibd
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+backup: t1
+t1.cfg
+t1.frm
+t1.ibd
+UNLOCK TABLES;
+t1.frm
+t1.ibd
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+t1.cfg
+t1.frm
+t1.ibd
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+COUNT(*)
+16
+backup: t1
+t1.cfg
+t1.frm
+t1.ibd
+UNLOCK TABLES;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+COUNT(*)
+16
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+COUNT(*)
+16
+backup: t1
+UNLOCK TABLES;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX x(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Index x not found in tablespace meta-data file.)
+ALTER TABLE t1 DROP INDEX x;
+Warnings:
+Warning 1814 Tablespace has been discarded for table 't1'
+ALTER TABLE t1 ADD INDEX idx(c2);
+Warnings:
+Warning 1814 Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+unlink: t1.cfg
+DROP TABLE t1;
+SET GLOBAL innodb_file_per_table = 0;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=latin1
+FLUSH TABLES t1 FOR EXPORT;
+Warnings:
+Warning 1809 Table '"test"."t1"' in system tablespace
+UNLOCK TABLES;
+DROP TABLE t1;
+SET GLOBAL innodb_file_per_table = 1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+FLUSH TABLES t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Number of indexes don't match, table has 1 indexes but the tablespace meta-data file has 2 indexes)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT,
+c3 INT, INDEX idx(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Number of columns don't match, table has 6 columns but the tablespace meta-data file has 5 columns)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 BIGINT, INDEX idx(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Column c2 precise type mismatch.)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+call mtr.add_suppression("Got error -1 when reading table '.*'");
+call mtr.add_suppression("InnoDB: Error: tablespace id and flags in file '.*'.*");
+call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded");
+SET GLOBAL INNODB_FILE_FORMAT=Antelope;
+SET GLOBAL INNODB_FILE_PER_TABLE=1;
+SET SESSION innodb_strict_mode=0;
diff --git a/mysql-test/suite/innodb/r/innodb-wl5522.result b/mysql-test/suite/innodb/r/innodb-wl5522.result
new file mode 100644
index 00000000000..fb80580f797
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-wl5522.result
@@ -0,0 +1,1282 @@
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+@@innodb_file_format
+Barracuda
+CREATE TABLE t1
+(a INT AUTO_INCREMENT PRIMARY KEY,
+b char(22),
+c varchar(255),
+KEY (b))
+ENGINE = InnoDB;
+insert into t1 (b, c) values ('Apa', 'Filler........'),
+('Banan', 'Filler........'), ('Cavalry', '..asdasdfaeraf'),
+('Devotion', 'asdfuihknaskdf'), ('Evolution', 'lsjndofiabsoibeg');
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+640
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+a b c
+819 Apa Filler........
+814 Apa Filler........
+809 Apa Filler........
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+a b c
+823 Evolution lsjndofiabsoibeg
+822 Devotion asdfuihknaskdf
+821 Cavalry ..asdasdfaeraf
+t1.frm
+t1.ibd
+# Restarting server
+# Done restarting server
+FLUSH TABLE t1 FOR EXPORT;
+# List before copying files
+t1.cfg
+t1.frm
+t1.ibd
+UNLOCK TABLES;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1280
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+a b c
+1459 Apa Filler........
+1454 Apa Filler........
+1449 Apa Filler........
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+a b c
+1463 Evolution lsjndofiabsoibeg
+1462 Devotion asdfuihknaskdf
+1461 Cavalry ..asdasdfaeraf
+# Restarting server
+# Done restarting server
+# List before t1 DISCARD
+t1.frm
+t1.ibd
+ALTER TABLE t1 DISCARD TABLESPACE;
+# List after t1 DISCARD
+t1.frm
+ALTER TABLE t1 IMPORT TABLESPACE;
+ALTER TABLE t1 ENGINE InnoDB;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+640
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+a b c
+819 Apa Filler........
+814 Apa Filler........
+809 Apa Filler........
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+a b c
+823 Evolution lsjndofiabsoibeg
+822 Devotion asdfuihknaskdf
+821 Cavalry ..asdasdfaeraf
+t1.cfg
+t1.frm
+t1.ibd
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+640
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+a b c
+819 Apa Filler........
+814 Apa Filler........
+809 Apa Filler........
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+a b c
+823 Evolution lsjndofiabsoibeg
+822 Devotion asdfuihknaskdf
+821 Cavalry ..asdasdfaeraf
+DROP TABLE t1;
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+@@innodb_file_format
+Barracuda
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB;
+INSERT INTO t1(c2) VALUES(1);
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Tablespace for table 't1' exists. Please DISCARD the tablespace before IMPORT.
+SELECT * FROM t1;
+c1 c2
+1 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+t1.frm
+t1.ibd
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+backup: t1
+t1.cfg
+t1.frm
+t1.ibd
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+t1.cfg
+t1.frm
+t1.ibd
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+t1.frm
+t1.ibd
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+backup: t1
+t1.cfg
+t1.frm
+t1.ibd
+UNLOCK TABLES;
+t1.frm
+t1.ibd
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+t1.cfg
+t1.frm
+t1.ibd
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX(c2)) ENGINE=InnoDB;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+COUNT(*)
+16
+backup: t1
+t1.cfg
+t1.frm
+t1.ibd
+UNLOCK TABLES;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX(c2)) ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+COUNT(*)
+16
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+COUNT(*)
+16
+backup: t1
+UNLOCK TABLES;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX x(c2)) ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Index x not found in tablespace meta-data file.)
+ALTER TABLE t1 DROP INDEX x;
+Warnings:
+Warning 1814 Tablespace has been discarded for table 't1'
+ALTER TABLE t1 ADD INDEX idx(c2);
+Warnings:
+Warning 1814 Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+unlink: t1.cfg
+DROP TABLE t1;
+SET GLOBAL innodb_file_per_table = 0;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+16
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=latin1
+FLUSH TABLES t1 FOR EXPORT;
+Warnings:
+Warning 1809 Table '"test"."t1"' in system tablespace
+UNLOCK TABLES;
+DROP TABLE t1;
+SET GLOBAL innodb_file_per_table = 1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=latin1
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+FLUSH TABLES t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT) ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Number of indexes don't match, table has 1 indexes but the tablespace meta-data file has 2 indexes)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT,
+c3 INT, INDEX idx(c2)) ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Number of columns don't match, table has 6 columns but the tablespace meta-data file has 5 columns)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 BIGINT, INDEX idx(c2)) ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Column c2 precise type mismatch.)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+FLUSH TABLES t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x1 and the meta-data file has 0x0; .cfg file uses ROW_FORMAT=REDUNDANT)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x21 and the meta-data file has 0x0; .cfg file uses ROW_FORMAT=REDUNDANT)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x29 and the meta-data file has 0x0; .cfg file uses ROW_FORMAT=REDUNDANT)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+FLUSH TABLES t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x0 and the meta-data file has 0x1; .cfg file uses ROW_FORMAT=COMPACT)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 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)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x29 and the meta-data file has 0x1; .cfg file uses ROW_FORMAT=COMPACT)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+FLUSH TABLES t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x1 and the meta-data file has 0x21; .cfg file uses ROW_FORMAT=DYNAMIC)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x0 and the meta-data file has 0x21; .cfg file uses ROW_FORMAT=DYNAMIC)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x29 and the meta-data file has 0x21; .cfg file uses ROW_FORMAT=DYNAMIC)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+FLUSH TABLES t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x0 and the meta-data file has 0x29; .cfg file uses ROW_FORMAT=COMPRESSED)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x1 and the meta-data file has 0x29; .cfg file uses ROW_FORMAT=COMPRESSED)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x21 and the meta-data file has 0x29; .cfg file uses ROW_FORMAT=COMPRESSED)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x23 and the meta-data file has 0x29; .cfg file uses ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8)
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE t1;
+CREATE TABLE t1(
+c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+SELECT * FROM t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+unlink: t1.cfg
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+SELECT * FROM t1;
+c1 c2
+1 1
+2 1
+3 1
+4 1
+6 1
+7 1
+8 1
+9 1
+13 1
+14 1
+15 1
+16 1
+17 1
+18 1
+19 1
+20 1
+28 1
+29 1
+30 1
+31 1
+32 1
+33 1
+34 1
+35 1
+36 1
+37 1
+38 1
+39 1
+40 1
+41 1
+42 1
+43 1
+DROP TABLE t1;
+call mtr.add_suppression("Got error -1 when reading table '.*'");
+call mtr.add_suppression("InnoDB: Error: tablespace id and flags in file '.*'.*");
+call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded");
+SET GLOBAL INNODB_FILE_FORMAT=Antelope;
+SET GLOBAL INNODB_FILE_PER_TABLE=1;
diff --git a/mysql-test/suite/innodb/r/innodb-wl5980-alter.result b/mysql-test/suite/innodb/r/innodb-wl5980-alter.result
new file mode 100644
index 00000000000..6cf3ad4fc08
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-wl5980-alter.result
@@ -0,0 +1,1409 @@
+#
+# This is a copy of innodb-alter.test except using remote tablespaces
+# and showing those files.
+#
+SET default_storage_engine=InnoDB;
+SET GLOBAL innodb_file_per_table=ON;
+SET NAMES utf8;
+CREATE TABLE t1 (
+c1 INT PRIMARY KEY, c2 INT DEFAULT 1, ct TEXT,
+INDEX(c2))
+ENGINE=InnoDB DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir';
+INSERT INTO t1 SET c1=1;
+CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME LIKE 'test/t%';
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+CREATE TABLE t1p LIKE t1;
+CREATE TABLE t1c (c1 INT PRIMARY KEY, c2 INT, c3 INT, INDEX(c2), INDEX(c3),
+CONSTRAINT t1c2 FOREIGN KEY (c2) REFERENCES t1(c2),
+CONSTRAINT t1c3 FOREIGN KEY (c3) REFERENCES t1p(c2))
+ENGINE=InnoDB DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir';
+CREATE TABLE sys_foreign SELECT i.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i
+WHERE FOR_NAME LIKE 'test/t%';
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c2 0
+test/t1c3 c3 c2 0
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c2
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c2 0
+test/t1c3 c3 c2 0
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT '1',
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+ALTER TABLE t1 ALTER c2 DROP DEFAULT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11),
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c2
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c2 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE c2 c2 INT AFTER c1;
+ALTER TABLE t1 CHANGE c1 c1 INT FIRST;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c2
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c2 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE C2 c3 INT;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE c3 C INT;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+C 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 C
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 C 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE C Cöŀumň_TWO INT;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 Cöŀumň_TWO 0
+test/t1c3 c3 c2 0
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+Cöŀumň_TWO 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 Cöŀumň_TWO
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 Cöŀumň_TWO 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 CHANGE cöĿǖmň_two c3 INT;
+ERROR 42S22: Unknown column 'cöĿǖmň_two' in 't1'
+ALTER TABLE t1 CHANGE cÖĿUMŇ_two c3 INT, RENAME TO t3;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+t3.frm
+t3.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t3.ibd
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+NAME NAME
+test/t1 test/t3
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `c1` int(11) NOT NULL,
+ `c3` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c3`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ KEY `c3` (`c3`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t3` (`c3`),
+ CONSTRAINT `t1c3` FOREIGN KEY (`c3`) REFERENCES `t1p` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+ALTER TABLE t3 CHANGE c3
+`12345678901234567890123456789012345678901234567890123456789012345` INT;
+ERROR 42000: Identifier name '12345678901234567890123456789012345678901234567890123456789012345' is too long
+ALTER TABLE t3 CHANGE c3
+`1234567890123456789012345678901234567890123456789012345678901234` INT;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+t3.frm
+t3.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t3.ibd
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `c1` int(11) NOT NULL,
+ `1234567890123456789012345678901234567890123456789012345678901234` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`1234567890123456789012345678901234567890123456789012345678901234`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾å€¿å€` INT;
+ERROR 42000: Identifier name '倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ ' is too long
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾å€¿Ã¤` INT;
+ERROR 42000: Identifier name '倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ ' is too long
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾Ã¤` INT;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+t3.frm
+t3.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t3.ibd
+ALTER TABLE t3 CHANGE
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾Ã„`
+c3 INT;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+t3.frm
+t3.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t3.ibd
+ALTER TABLE t3 CHANGE c3 ðŒ€ðŒðŒ‚ðŒƒðŒ„ðŒ…ðŒ†ðŒ‡ðŒˆðŒ‰ðŒŠðŒ‹ðŒŒðŒðŒŽðŒðŒðŒ‘ðŒ’ðŒ“ðŒ”ðŒ•ðŒ–ðŒ—ðŒ˜ðŒ™ðŒšðŒ›ðŒœ INT;
+ERROR HY000: Invalid utf8 character string: '\xF0\x90\x8C\x80\xF0\x90\x8C\x81\xF0\x90\x8C\x82\xF0\x90\x8C\x83'
+ALTER TABLE t3 CHANGE c3 😲 INT;
+ERROR HY000: Invalid utf8 character string: '\xF0\x9F\x98\xB2'
+ALTER TABLE t3 RENAME TO t2;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+t2.frm
+t2.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t2.ibd
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+NAME NAME
+test/t1 test/t2
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c1` int(11) NOT NULL,
+ `c3` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c3`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+RENAME TABLE t2 TO t1;
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+NAME NAME
+test/t1 test/t1
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.ibd
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1 DROP INDEX c2;
+ERROR HY000: Cannot drop index 'c2': needed in a foreign key constraint
+ALTER TABLE t1 DROP INDEX c4;
+ERROR 42000: Can't DROP 'c4'; check that column/key exists
+ALTER TABLE t1c DROP FOREIGN KEY c2;
+ERROR 42000: Can't DROP 'c2'; check that column/key exists
+ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2;
+ERROR 42000: Can't DROP 'c2'; check that column/key exists
+ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2, DROP INDEX c2;
+ERROR 42000: Can't DROP 'c2'; check that column/key exists
+ALTER TABLE t1c DROP INDEX c2;
+ERROR HY000: Cannot drop index 'c2': needed in a foreign key constraint
+ALTER TABLE t1c DROP FOREIGN KEY ẗ1C2;
+ERROR 42000: Can't DROP 'ẗ1C2'; check that column/key exists
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ KEY `c3` (`c3`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t1` (`c3`),
+ CONSTRAINT `t1c3` FOREIGN KEY (`c3`) REFERENCES `t1p` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+SET foreign_key_checks=0;
+DROP TABLE t1p;
+SET foreign_key_checks=1;
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ KEY `c3` (`c3`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t1` (`c3`),
+ CONSTRAINT `t1c3` FOREIGN KEY (`c3`) REFERENCES `t1p` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+test/t1c3 c3 c2 0
+CREATE TABLE t1p (c1 INT PRIMARY KEY, c2 INT, INDEX(c2))
+ENGINE=InnoDB DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir';
+ALTER TABLE t1c DROP INDEX C2, DROP INDEX C3;
+ERROR HY000: Cannot drop index 'c2': needed in a foreign key constraint
+ALTER TABLE t1c DROP INDEX C3;
+ERROR HY000: Cannot drop index 'c3': needed in a foreign key constraint
+SET foreign_key_checks=0;
+ALTER TABLE t1c DROP INDEX C3;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+t1p.ibd
+SET foreign_key_checks=1;
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t1` (`c3`),
+ CONSTRAINT `t1c3` FOREIGN KEY (`c3`) REFERENCES `t1p` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+test/t1c3 c3 c2 0
+ALTER TABLE t1c DROP FOREIGN KEY t1C3;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+t1p.ibd
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `c2` (`c2`),
+ CONSTRAINT `t1c2` FOREIGN KEY (`c2`) REFERENCES `t1` (`c3`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+test/t1c2 c2 c3 0
+ALTER TABLE t1c DROP INDEX c2, DROP FOREIGN KEY t1C2;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+t1p.ibd
+SHOW CREATE TABLE t1c;
+Table Create Table
+t1c CREATE TABLE `t1c` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c3 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+c2 0 c3
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+ALTER TABLE t1 DROP INDEX c2, CHANGE c3 c2 INT;
+### files in MYSQL_DATA_DIR/test
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1.frm
+t1.isl
+t1c.frm
+t1c.isl
+t1p.frm
+t1p.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1.ibd
+t1c.ibd
+t1p.ibd
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+c1 0 6 1283 4
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 c1
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+CREATE TABLE t1o LIKE t1;
+ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
+CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
+ALGORITHM=INPLACE, LOCK=NONE;
+ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED.
+ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
+CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
+ALGORITHM=INPLACE, LOCK=SHARED;
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+SHOW CREATE TABLE tt;
+Table Create Table
+tt CREATE TABLE `tt` (
+ `pk` int(11) NOT NULL,
+ `c2` int(11) DEFAULT '42',
+ `ct` text,
+ PRIMARY KEY (`pk`),
+ FULLTEXT KEY `ct` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir/'
+ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=COPY;
+ERROR 42000: Incorrect column name 'dB_row_Id'
+ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=INPLACE;
+ERROR 42000: Incorrect column name 'DB_ROW_ID'
+ALTER TABLE t1o CHANGE c1 DB_TRX_ID INT;
+ERROR 42000: Incorrect column name 'DB_TRX_ID'
+ALTER TABLE t1o CHANGE c1 db_roll_ptr INT;
+ERROR 42000: Incorrect column name 'DB_ROLL_PTR'
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
+ALGORITHM=COPY;
+ERROR 42000: Incorrect column name 'FTS_DOC_ID'
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
+ALGORITHM=INPLACE;
+ERROR HY000: Column 'FTS_DOC_ID' is of wrong type for an InnoDB FULLTEXT index
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_Doc_ID INT,
+ALGORITHM=INPLACE;
+ERROR 42000: Incorrect column name 'FTS_Doc_ID'
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
+CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type INPLACE. Try ALGORITHM=COPY.
+CREATE TABLE t1n LIKE t1o;
+ALTER TABLE t1n ADD FULLTEXT INDEX(ct);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1n.frm
+t1n.ibd
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=INPLACE;
+ERROR 42000: Incorrect column name 'FTS_DOC_ID'
+ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=COPY;
+ERROR 42000: Incorrect column name 'Fts_DOC_ID'
+ALTER TABLE t1n CHANGE FTS_DOC_ID c11 INT, ALGORITHM=INPLACE;
+ERROR 42S22: Unknown column 'FTS_DOC_ID' in 't1n'
+ALTER TABLE t1n CHANGE c1 FTS_DOC_ïD INT, ALGORITHM=INPLACE;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1n.frm
+t1n.ibd
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+ALTER TABLE t1n CHANGE FTS_DOC_ÃD c1 INT, ALGORITHM=INPLACE;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1n.frm
+t1n.ibd
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+ALTER TABLE t1n CHANGE c1 c2 INT, CHANGE c2 ct INT, CHANGE ct c1 TEXT,
+ALGORITHM=INPLACE;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1n.frm
+t1n.ibd
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+SHOW CREATE TABLE t1n;
+Table Create Table
+t1n CREATE TABLE `t1n` (
+ `c2` int(11) NOT NULL,
+ `ct` int(11) DEFAULT NULL,
+ `c1` text,
+ PRIMARY KEY (`c2`),
+ FULLTEXT KEY `ct` (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1n CHANGE c2 c1 INT, CHANGE ct c2 INT, CHANGE c1 ct TEXT,
+ALGORITHM=COPY;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1n.frm
+t1n.ibd
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+SHOW CREATE TABLE t1n;
+Table Create Table
+t1n CREATE TABLE `t1n` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ FULLTEXT KEY `ct` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=INPLACE;
+ERROR 42000: Key column 'c2' doesn't exist in table
+ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=COPY;
+ERROR 42000: Key column 'c2' doesn't exist in table
+ALTER TABLE t1n ADD INDEX(c4), CHANGE c2 c4 INT, ALGORITHM=INPLACE;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1n.frm
+t1n.ibd
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+SHOW CREATE TABLE t1n;
+Table Create Table
+t1n CREATE TABLE `t1n` (
+ `c1` int(11) NOT NULL,
+ `c4` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c4` (`c4`),
+ FULLTEXT KEY `ct` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1n DROP INDEX c4;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1n.frm
+t1n.ibd
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+ALTER TABLE t1n CHANGE c4 c1 INT, ADD INDEX(c1), ALGORITHM=INPLACE;
+ERROR 42S21: Duplicate column name 'c1'
+ALTER TABLE t1n CHANGE c4 c11 INT, ADD INDEX(c11), ALGORITHM=INPLACE;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1n.frm
+t1n.ibd
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+SHOW CREATE TABLE t1n;
+Table Create Table
+t1n CREATE TABLE `t1n` (
+ `c1` int(11) NOT NULL,
+ `c11` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`c1`),
+ KEY `c11` (`c11`),
+ FULLTEXT KEY `ct` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1n;
+ALTER TABLE t1o MODIFY c1 BIGINT UNSIGNED NOT NULL;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
+CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+LOCK=NONE;
+ERROR 0A000: LOCK=NONE is not supported. Reason: Cannot drop or rename FTS_DOC_ID. Try LOCK=SHARED.
+SELECT sc.pos FROM information_schema.innodb_sys_columns sc
+INNER JOIN information_schema.innodb_sys_tables st
+ON sc.TABLE_ID=st.TABLE_ID
+WHERE st.NAME='test/t1o' AND sc.NAME='FTS_DOC_ID';
+pos
+0
+SHOW CREATE TABLE t1o;
+Table Create Table
+t1o CREATE TABLE `t1o` (
+ `FTS_DOC_ID` bigint(20) unsigned NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`FTS_DOC_ID`),
+ FULLTEXT KEY `ct` (`ct`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+DROP INDEX ct, LOCK=NONE;
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1c.frm
+t1c.isl
+t1o.frm
+t1o.ibd
+t1p.frm
+t1p.isl
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+t1c.ibd
+t1p.ibd
+tt.ibd
+SHOW CREATE TABLE t1o;
+Table Create Table
+t1o CREATE TABLE `t1o` (
+ `foo_id` bigint(20) unsigned NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `ct` text,
+ PRIMARY KEY (`foo_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1c, t1p, sys_tables, sys_indexes, sys_foreign;
+CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME='test/t1o';
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+CREATE TABLE sys_foreign SELECT i.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i WHERE FOR_NAME='test/t1o';
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+foo_id 0 6 1800 8
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 foo_id
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+ALTER TABLE t1o ADD UNIQUE INDEX FTS_DOC_ID_INDEX(foo_id);
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1o.frm
+t1o.ibd
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+tt.ibd
+ALTER TABLE t1o CHANGE foo_id FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ADD FULLTEXT INDEX(ct);
+### files in MYSQL_DATA_DIR/test
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+FTS_AUX_INDEX_1.ibd
+FTS_AUX_INDEX_2.ibd
+FTS_AUX_INDEX_3.ibd
+FTS_AUX_INDEX_4.ibd
+FTS_AUX_INDEX_5.ibd
+FTS_AUX_INDEX_6.ibd
+FTS_AUX_BEING_DELETED.ibd
+FTS_AUX_BEING_DELETED_CACHE.ibd
+FTS_AUX_CONFIG.ibd
+FTS_AUX_DELETED.ibd
+FTS_AUX_DELETED_CACHE.ibd
+sys_foreign.frm
+sys_foreign.ibd
+sys_indexes.frm
+sys_indexes.ibd
+sys_tables.frm
+sys_tables.ibd
+t1o.frm
+t1o.ibd
+tt.frm
+tt.isl
+### files in MYSQL_TMP_DIR/alt_dir/test
+tt.ibd
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL;
+ERROR HY000: Index 'FTS_DOC_ID_INDEX' is of wrong type for an InnoDB FULLTEXT index
+DROP TABLE sys_indexes;
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+SELECT i.NAME,i.POS,i.MTYPE,i.PRTYPE,i.LEN
+FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+NAME POS MTYPE PRTYPE LEN
+FTS_DOC_ID 0 6 1800 8
+c2 1 6 1027 4
+ct 2 5 524540 10
+SELECT si.NAME,i.POS,i.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS i
+INNER JOIN sys_indexes si ON i.INDEX_ID=si.INDEX_ID;
+NAME POS NAME
+PRIMARY 0 FTS_DOC_ID
+FTS_DOC_ID_INDEX 0 FTS_DOC_ID
+ct 0 ct
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+ID FOR_COL_NAME REF_COL_NAME POS
+#
+# Cleanup
+#
+DROP TABLE tt, t1o, sys_tables, sys_indexes, sys_foreign;
+### files in MYSQL_DATA_DIR/test
+### files in MYSQL_TMP_DIR/alt_dir/test
diff --git a/mysql-test/suite/innodb/r/innodb-xa.result b/mysql-test/suite/innodb/r/innodb-xa.result
new file mode 100644
index 00000000000..6eae842b14c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-xa.result
@@ -0,0 +1,17 @@
+xa rollback 'xid2';
+ERROR XAE04: XAER_NOTA: Unknown XID
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+create table t1(a int)engine=innodb;
+rollback;
+xa start 'xid2';
+insert into `t1` values (1);
+savepoint `sv1`;
+xa end 'xid2';
+start transaction;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
+xa prepare 'xid2';
+release savepoint `sv1`;
+xa commit 'xid2';
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb.result b/mysql-test/suite/innodb/r/innodb.result
index c427038e8a1..3255b61d422 100644
--- a/mysql-test/suite/innodb/r/innodb.result
+++ b/mysql-test/suite/innodb/r/innodb.result
@@ -406,6 +406,8 @@ user_id name phone ref_email detail
drop table t1;
CREATE TABLE t1 (a int not null, b int not null,c int not null,
key(a),primary key(a,b), unique(c),key(a),unique(b));
+Warnings:
+Note 1831 Duplicate index `a_2`. This is deprecated and will be disallowed in a future release.
show index from t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
t1 0 PRIMARY 1 a A # NULL NULL BTREE
@@ -698,8 +700,6 @@ select count(*) from t1 where sca_pic is null;
count(*)
2
alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);
-alter table t1 drop index sca_pic;
-alter table t1 add index sca_pic (cat_code, sca_pic);
select count(*) from t1 where sca_code='PD' and sca_pic is null;
count(*)
1
@@ -707,9 +707,6 @@ select count(*) from t1 where cat_code='E';
count(*)
0
alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
-ERROR 42000: Incorrect index name 'sca_pic'
-alter table t1 drop index sca_pic;
-alter table t1 add index (sca_pic, cat_code);
select count(*) from t1 where sca_code='PD' and sca_pic is null;
count(*)
1
@@ -724,7 +721,8 @@ update t1 set sca_pic="test" where sca_pic is null;
delete from t1 where sca_code='pd';
drop table t1;
set @a:=now();
-CREATE TABLE t1 (a int not null, b timestamp not null, primary key (a)) engine=innodb;
+CREATE TABLE t1 (a int not null, b timestamp not null default
+current_timestamp on update current_timestamp, primary key (a)) engine=innodb;
insert into t1 (a) values(1),(2),(3);
select t1.a from t1 natural join t1 as t2 where t1.b >= @a order by t1.a;
a
@@ -1318,7 +1316,7 @@ FOREIGN KEY (c1) REFERENCES t1 (c1) ON UPDATE CASCADE
INSERT INTO t1 VALUES ('old', 'somevalu'), ('other', 'anyvalue');
INSERT INTO t2 VALUES (10, 'old'), (20, 'other');
UPDATE t1 SET c1 = 'other' WHERE c1 = 'old';
-ERROR 23000: Upholding foreign key constraints for table 't1', entry 'other-somevalu', key 2 would lead to a duplicate entry
+ERROR 23000: Foreign key constraint for table 't1', record 'other-somevalu' would lead to a duplicate entry in table 't2', key 'c1'
DROP TABLE t2,t1;
create table t1(
id int primary key,
@@ -1449,6 +1447,8 @@ t2 CREATE TABLE `t2` (
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
create index id2 on t2 (id);
+Warnings:
+Note 1831 Duplicate index `id2`. This is deprecated and will be disallowed in a future release.
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1600,10 +1600,6 @@ select distinct concat(a, b) from t1;
concat(a, b)
11113333
drop table t1;
-CREATE TABLE t1 ( a char(10) ) ENGINE=InnoDB;
-SELECT a FROM t1 WHERE MATCH (a) AGAINST ('test' IN BOOLEAN MODE);
-ERROR HY000: The used table type doesn't support FULLTEXT indexes
-DROP TABLE t1;
CREATE TABLE t1 (a_id tinyint(4) NOT NULL default '0', PRIMARY KEY (a_id)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO t1 VALUES (1),(2),(3);
CREATE TABLE t2 (b_id tinyint(4) NOT NULL default '0',b_a tinyint(4) NOT NULL default '0', PRIMARY KEY (b_id), KEY (b_a),
@@ -1698,7 +1694,7 @@ variable_value - @innodb_rows_deleted_orig
71
SELECT variable_value - @innodb_rows_inserted_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_inserted';
variable_value - @innodb_rows_inserted_orig
-1071
+964
SELECT variable_value - @innodb_rows_updated_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_updated';
variable_value - @innodb_rows_updated_orig
866
@@ -1857,6 +1853,8 @@ id select_type table type possible_keys key key_len ref rows Extra
alter table t1 add unique(v);
ERROR 23000: Duplicate entry '{ ' for key 'v_2'
alter table t1 add key(v);
+Warnings:
+Note 1831 Duplicate index `v_2`. This is deprecated and will be disallowed in a future release.
select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a';
qq
*a*a*a*
@@ -2489,7 +2487,7 @@ INSERT INTO t2 VALUES(1);
DELETE FROM t1 WHERE id = 1;
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
DROP TABLE t1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=1;
@@ -2527,13 +2525,13 @@ drop table t1;
set foreign_key_checks=0;
create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb;
create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
-ERROR HY000: Can't create table 'test.t1' (errno: 150)
+ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint is incorrectly formed")
set foreign_key_checks=1;
drop table t2;
set foreign_key_checks=0;
create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1;
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8;
-ERROR HY000: Can't create table 'test.t2' (errno: 150)
+ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
set foreign_key_checks=1;
drop table t1;
set foreign_key_checks=0;
@@ -2553,7 +2551,7 @@ set foreign_key_checks=0;
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=latin1;
create table t3(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=utf8;
rename table t3 to t1;
-ERROR HY000: Error on rename of './test/t3' to './test/t1' (errno: 150)
+ERROR HY000: Error on rename of './test/t3' to './test/t1' (errno: 150 "Foreign key constraint is incorrectly formed")
set foreign_key_checks=1;
drop table t2,t3;
create table t1(a int primary key) row_format=redundant engine=innodb;
@@ -2730,7 +2728,7 @@ INSERT INTO t1 VALUES ('other', 'anyvalue');
INSERT INTO t2 VALUES ('old');
INSERT INTO t2 VALUES ('other');
UPDATE t1 SET field1 = 'other' WHERE field2 = 'somevalu';
-ERROR 23000: Upholding foreign key constraints for table 't1', entry 'other-somevalu', key 1 would lead to a duplicate entry
+ERROR 23000: Foreign key constraint for table 't1', record 'other-somevalu' would lead to a duplicate entry in table 't2', key 'PRIMARY'
DROP TABLE t2;
DROP TABLE t1;
create table t1 (
@@ -2979,8 +2977,11 @@ CREATE TABLE t2 (a INT, INDEX(a)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
ALTER TABLE t2 ADD FOREIGN KEY (a) REFERENCES t1 (a) ON DELETE SET NULL;
+set @old_sql_mode = @@sql_mode;
+set @@sql_mode = 'STRICT_TRANS_TABLES';
ALTER TABLE t2 MODIFY a INT NOT NULL;
-ERROR HY000: Error on rename of '#sql-temporary' to './test/t2' (errno: 150)
+ERROR HY000: Column 'a' cannot be NOT NULL: needed in a foreign key constraint 'test/t2_ibfk_1' SET NULL
+set @@sql_mode = @old_sql_mode;
DELETE FROM t1;
DROP TABLE t2,t1;
CREATE TABLE t1 (a VARCHAR(5) COLLATE utf8_unicode_ci PRIMARY KEY)
@@ -3031,7 +3032,7 @@ c29 CHAR(255), c30 CHAR(255), c31 CHAR(255), c32 CHAR(255)
ERROR 42000: Row size too large (> 8126). 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.
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1(
id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=InnoDB;
@@ -3050,8 +3051,8 @@ SET TX_ISOLATION='read-committed';
SET AUTOCOMMIT=0;
DROP TABLE IF EXISTS t1, t2;
Warnings:
-Note 1051 Unknown table 't1'
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t1'
+Note 1051 Unknown table 'test.t2'
CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
CREATE TABLE t2 LIKE t1;
SELECT * FROM t2;
@@ -3145,3 +3146,83 @@ show status like "handler_read_key";
Variable_name Value
Handler_read_key 0
drop table t1;
+CREATE TABLE t1 (c1 INT) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t2 (c1 INT) ENGINE=InnoDB;
+START TRANSACTION READ ONLY;
+INSERT INTO t2 VALUES(0);
+INSERT INTO t1 VALUES(0);
+ERROR 25006: Cannot execute statement in a READ ONLY transaction.
+ROLLBACK;
+SELECT * FROM t1;
+c1
+SELECT * FROM t2;
+c1
+START TRANSACTION READ ONLY;
+INSERT INTO t1 VALUES(0);
+ERROR 25006: Cannot execute statement in a READ ONLY transaction.
+INSERT INTO t2 VALUES(1);
+COMMIT;
+SET TRANSACTION READ ONLY;
+START TRANSACTION;
+INSERT INTO t2 VALUES(3);
+INSERT INTO t1 VALUES(0);
+ERROR 25006: Cannot execute statement in a READ ONLY transaction.
+COMMIT;
+SELECT * FROM t1;
+c1
+SELECT * FROM t2;
+c1
+1
+3
+DROP TABLE t2;
+CREATE TEMPORARY TABLE t2 (
+c1 INT AUTO_INCREMENT PRIMARY KEY,
+c2 INT, INDEX idx(c2)) ENGINE=InnoDB;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TEMPORARY TABLE `t2` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+START TRANSACTION READ ONLY;
+INSERT INTO t2 VALUES(NULL,1),(NULL,2),(NULL,3);
+INSERT INTO t1 VALUES(0);
+ERROR 25006: Cannot execute statement in a READ ONLY transaction.
+ROLLBACK;
+SELECT * FROM t1;
+c1
+SELECT * FROM t2;
+c1 c2
+START TRANSACTION READ ONLY;
+INSERT INTO t1 VALUES(0);
+ERROR 25006: Cannot execute statement in a READ ONLY transaction.
+INSERT INTO t2 VALUES(NULL,1),(NULL,2),(NULL,3);
+COMMIT;
+SET TRANSACTION READ ONLY;
+START TRANSACTION;
+INSERT INTO t2 VALUES(NULL,1),(NULL,2),(NULL,3);
+INSERT INTO t1 VALUES(0);
+ERROR 25006: Cannot execute statement in a READ ONLY transaction.
+COMMIT;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TEMPORARY TABLE `t2` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx` (`c2`)
+) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1
+SELECT * FROM t1;
+c1
+SELECT * FROM t2;
+c1 c2
+4 1
+7 1
+5 2
+8 2
+6 3
+9 3
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/innodb/r/innodb_28867993.result b/mysql-test/suite/innodb/r/innodb_28867993.result
new file mode 100644
index 00000000000..acc6734eaee
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_28867993.result
@@ -0,0 +1,9 @@
+create table t1 (a int) engine=innodb;
+insert t1 values (1),(2);
+create database ib_logfile2;
+select * from t1;
+a
+1
+2
+drop table t1;
+drop database ib_logfile2;
diff --git a/mysql-test/suite/innodb/r/innodb_blob_truncate.result b/mysql-test/suite/innodb/r/innodb_blob_truncate.result
new file mode 100644
index 00000000000..569e6b03452
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_blob_truncate.result
@@ -0,0 +1,19 @@
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+create table t1(a blob) engine=innodb key_block_size=8;
+create function generate_blob()
+returns varchar(20000)
+begin
+declare x varchar(20000) default '';
+declare i int default 500;
+while i > 0 do
+set x = concat(sha1(i), x);
+set i = i - 1;
+end while;
+return x;
+end //
+insert into t1 select generate_blob();
+truncate t1;
+insert into t1 select generate_blob();
+drop table t1;
+drop function generate_blob;
diff --git a/mysql-test/suite/innodb/r/innodb_blob_unrecoverable_crash.result b/mysql-test/suite/innodb/r/innodb_blob_unrecoverable_crash.result
new file mode 100644
index 00000000000..d69359e8978
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_blob_unrecoverable_crash.result
@@ -0,0 +1,20 @@
+SET GLOBAL max_allowed_packet = 100*1024*1024;
+# Connection big_packets:
+CREATE TABLE t1 (a BIGINT PRIMARY KEY, b LONGBLOB) ENGINE=InnoDB;
+INSERT INTO t1 (a, b) VALUES (1, '1');
+INSERT INTO t1 (a, b) VALUES (2, '2');
+INSERT INTO t1 (a, b) VALUES (3, '3');
+INSERT INTO t1 (a, b) VALUES (4, '4');
+INSERT INTO t1 (a, b) VALUES (5, '5');
+start transaction;
+INSERT INTO t1 (a, b) VALUES (6, REPEAT('a', 20*1024*1024));
+ERROR 42000: The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.
+# Kill and restart
+SELECT a FROM t1;
+a
+1
+2
+3
+4
+5
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb_bug11754376.result b/mysql-test/suite/innodb/r/innodb_bug11754376.result
index 034e4f07403..b9f2a169a73 100644
--- a/mysql-test/suite/innodb/r/innodb_bug11754376.result
+++ b/mysql-test/suite/innodb/r/innodb_bug11754376.result
@@ -1,4 +1,3 @@
CREATE TABLE bug11754376 (c INT) ENGINE=INNODB;
SET SESSION DEBUG_DBUG='+d,test_normalize_table_name_low';
DROP TABLE bug11754376;
-SET SESSION DEBUG_DBUG='-d,test_normalize_table_name_low';
diff --git a/mysql-test/suite/innodb/r/innodb_bug11766634.result b/mysql-test/suite/innodb/r/innodb_bug11766634.result
deleted file mode 100644
index 7594d512638..00000000000
--- a/mysql-test/suite/innodb/r/innodb_bug11766634.result
+++ /dev/null
@@ -1,5 +0,0 @@
-create table t1 (f1 char(255)) engine innodb;
-drop table t1;
-create table t1 (f1 char(255)) engine innodb;
-1
-drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb_bug12400341.result b/mysql-test/suite/innodb/r/innodb_bug12400341.result
index 551e94f5e77..c382bd12616 100644
--- a/mysql-test/suite/innodb/r/innodb_bug12400341.result
+++ b/mysql-test/suite/innodb/r/innodb_bug12400341.result
@@ -1,4 +1,6 @@
-call mtr.add_suppression("InnoDB: Warning: cannot find a free slot for an undo log. Do you have too");
+call mtr.add_suppression("InnoDB: Warning: cannot find a free slot for an undo log. Do you have too*");
+set @old_innodb_undo_logs = @@innodb_undo_logs;
+set global innodb_undo_logs=1;
show variables like "max_connections";
Variable_name Value
max_connections 64
@@ -15,7 +17,7 @@ select count(*) from information_schema.processlist;
count(*)
33
CREATE TABLE mysqltest.testtable (id int unsigned not null primary key) ENGINE=InnoDB;
-ERROR HY000: Can't create table 'mysqltest.testtable' (errno: 177)
+ERROR HY000: Can't create table `mysqltest`.`testtable` (errno: 177 "Too many active concurrent transactions")
select count(*) from information_schema.processlist;
count(*)
33
@@ -23,3 +25,4 @@ select count(*) from information_schema.processlist;
count(*)
33
drop database mysqltest;
+set global innodb_undo_logs = @old_innodb_undo_logs;
diff --git a/mysql-test/suite/innodb/r/innodb_bug12661768.result b/mysql-test/suite/innodb/r/innodb_bug12661768.result
index 1f2401ddd47..7a545395f18 100644
--- a/mysql-test/suite/innodb/r/innodb_bug12661768.result
+++ b/mysql-test/suite/innodb/r/innodb_bug12661768.result
@@ -1,2 +1,2 @@
SET SESSION foreign_key_checks=0;
-ERROR 23000: Upholding foreign key constraints for table 'bug12661768_1', entry '3-bbb', key 2 would lead to a duplicate entry
+ERROR 23000: Foreign key constraint for table 'bug12661768_1', record '3-bbb' would lead to a duplicate entry in table 'bug12661768_2', key 'ab_on_2'
diff --git a/mysql-test/suite/innodb/r/innodb_bug12902967.result b/mysql-test/suite/innodb/r/innodb_bug12902967.result
index da1d94d69f5..5958a8dce31 100644
--- a/mysql-test/suite/innodb/r/innodb_bug12902967.result
+++ b/mysql-test/suite/innodb/r/innodb_bug12902967.result
@@ -1,6 +1,6 @@
create table t1 (f1 integer primary key) engine innodb;
alter table t1 add constraint c1 foreign key (f1) references t1(f1);
-ERROR HY000: Error on rename of '#sql-temporary' to './test/t1' (errno: 150)
+ERROR HY000: Error on rename of '#sql-temporary' to './test/t1' (errno: 150 "Foreign key constraint is incorrectly formed")
InnoDB: has or is referenced in foreign key constraints
InnoDB: which are not compatible with the new table definition.
drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb_bug13635833.result b/mysql-test/suite/innodb/r/innodb_bug13635833.result
deleted file mode 100644
index 6a505bc94f2..00000000000
--- a/mysql-test/suite/innodb/r/innodb_bug13635833.result
+++ /dev/null
@@ -1,45 +0,0 @@
-SET DEBUG_SYNC='reset';
-create table t1 (f1 integer, key k1 (f1)) engine=innodb;
-create table t2 (f1 int, f2 int, key(f1), key(f2)) engine=innodb;
-create table t3 (f2 int, key(f2)) engine=innodb;
-insert into t1 values (10);
-insert into t2 values (10, 20);
-insert into t3 values (20);
-alter table t2 add constraint c1 foreign key (f1)
-references t1(f1) on update cascade;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- KEY `k1` (`f1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `f1` int(11) DEFAULT NULL,
- `f2` int(11) DEFAULT NULL,
- KEY `f1` (`f1`),
- KEY `f2` (`f2`),
- CONSTRAINT `c1` FOREIGN KEY (`f1`) REFERENCES `t1` (`f1`) ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `f2` int(11) DEFAULT NULL,
- KEY `f2` (`f2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SET DEBUG_SYNC='innodb_rename_table_ready SIGNAL update_can_proceed
- WAIT_FOR dict_unfreeze';
-alter table t2 add constraint z1 foreign key (f2)
-references t3(f2) on update cascade;
-SET DEBUG_SYNC='innodb_row_update_for_mysql_begin
- WAIT_FOR update_can_proceed';
-SET DEBUG_SYNC='innodb_dml_cascade_dict_unfreeze SIGNAL dict_unfreeze
- WAIT_FOR foreign_free_cache';
-update ignore t1 set f1 = 20;
-ERROR HY000: Error on rename of './test/t2' to '#sql2-temporary' (errno: 181)
-SET DEBUG_SYNC='now SIGNAL foreign_free_cache';
-drop table t2;
-drop table t1;
-drop table t3;
-SET DEBUG_SYNC='reset';
diff --git a/mysql-test/suite/innodb/r/innodb_bug14147491.result b/mysql-test/suite/innodb/r/innodb_bug14147491.result
index faf922ca5f8..989e433338e 100644
--- a/mysql-test/suite/innodb/r/innodb_bug14147491.result
+++ b/mysql-test/suite/innodb/r/innodb_bug14147491.result
@@ -1,28 +1,20 @@
-CALL mtr.add_suppression("InnoDB: Error: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts");
-CALL mtr.add_suppression("InnoDB: Warning: database page corruption or a failed");
+call mtr.add_suppression("InnoDB: Table \"test\".\"t1\" is corrupted. Please drop the table and recreate.");
+call mtr.add_suppression("InnoDB: Cannot open table test/t1 from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.");
+call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed file read of tablespace test/t1 page \[page id: space=[0-9]+, page number=[0-9]+\]. You may have to recover from a backup.");
# Create and populate the table to be corrupted
+set global innodb_file_per_table=ON;
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
INSERT INTO t1 (b) VALUES ('corrupt me');
INSERT INTO t1 (b) VALUES ('corrupt me');
-# Write file to make mysql-test-run.pl expect the "crash", but don't
-# start it until it's told to
-# We give 30 seconds to do a clean shutdown because we do not want
-# to redo apply the pages of t1.ibd at the time of recovery.
-# We want SQL to initiate the first access to t1.ibd.
-# Wait until disconnected.
-# Backup the t1.ibd before corrupting
# Corrupt the table
Munged a string.
Munged a string.
-# Write file to make mysql-test-run.pl start up the server again
-SET DEBUG_DBUG = '+d,innodb_page_corruption_retries';
-# Write file to make mysql-test-run.pl expect the "crash", but don't
-# start it until it's told to
-# The below SELECT query will crash the server because some pages
-# on the disk are corrupted
+# Now t1 is corrupted but we should not crash
SELECT * FROM t1;
-ERROR HY000: Lost connection to MySQL server during query
-# Restore the original t1.ibd
-# Write file to make mysql-test-run.pl start up the server again
-# Cleanup
+Got one of the listed errors
+INSERT INTO t1(b) VALUES('abcdef');
+Got one of the listed errors
+UPDATE t1 set b = 'deadbeef' where a = 1;
+Got one of the listed errors
+# Cleanup, this must be possible
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb_bug14676111.result b/mysql-test/suite/innodb/r/innodb_bug14676111.result
index ca4a7fd7e4a..fd73ca298fe 100644
--- a/mysql-test/suite/innodb/r/innodb_bug14676111.result
+++ b/mysql-test/suite/innodb/r/innodb_bug14676111.result
@@ -1,5 +1,5 @@
set @old_innodb_limit_optimistic_insert_debug = @@innodb_limit_optimistic_insert_debug;
-CREATE TABLE t1 (a int not null primary key) engine=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB STATS_PERSISTENT=0;
set global innodb_limit_optimistic_insert_debug = 2;
insert into t1 values (1);
begin;
@@ -12,48 +12,48 @@ insert into t1 values (2);
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
-DATA_LENGTH / 16384
-10.0000
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
+CLUST_INDEX_SIZE
+10
rollback;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
-DATA_LENGTH / 16384
-8.0000
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
+CLUST_INDEX_SIZE
+8
rollback;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
-DATA_LENGTH / 16384
-5.0000
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
+CLUST_INDEX_SIZE
+5
set global innodb_limit_optimistic_insert_debug = 10000;
rollback;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
-DATA_LENGTH / 16384
-3.0000
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
+CLUST_INDEX_SIZE
+3
begin;
insert into t1 values (2);
rollback;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
-DATA_LENGTH / 16384
-2.0000
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
+CLUST_INDEX_SIZE
+2
begin;
insert into t1 values (2);
rollback;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
-DATA_LENGTH / 16384
-1.0000
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
+CLUST_INDEX_SIZE
+1
drop table t1;
set global innodb_limit_optimistic_insert_debug = @old_innodb_limit_optimistic_insert_debug;
diff --git a/mysql-test/suite/innodb/r/innodb_bug21704.result b/mysql-test/suite/innodb/r/innodb_bug21704.result
index ffbfa8a337e..c0bc3af2f20 100644
--- a/mysql-test/suite/innodb/r/innodb_bug21704.result
+++ b/mysql-test/suite/innodb/r/innodb_bug21704.result
@@ -5,9 +5,6 @@
# Test that it's not possible to rename columns participating in a
# foreign key (either in the referencing or referenced table).
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ROW_FORMAT=COMPACT ENGINE=INNODB;
CREATE TABLE t2 (a INT PRIMARY KEY, b INT,
CONSTRAINT fk1 FOREIGN KEY (a) REFERENCES t1(a))
@@ -21,35 +18,72 @@ INSERT INTO t3 VALUES (1,1,1),(2,2,2),(3,3,3);
# Test renaming the column in the referenced table.
-ALTER TABLE t1 CHANGE a c INT;
-ERROR HY000: Error on rename of '#sql-temporary' to './test/t1' (errno: 150)
+ALTER TABLE t1 CHANGE a e INT;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
# Ensure that online column rename works.
ALTER TABLE t1 CHANGE b c INT;
-affected rows: 3
-info: Records: 3 Duplicates: 0 Warnings: 0
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
# Test renaming the column in the referencing table
-ALTER TABLE t2 CHANGE a c INT;
-ERROR HY000: Error on rename of '#sql-temporary' to './test/t2' (errno: 150)
+ALTER TABLE t2 CHANGE a z INT;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
# Ensure that online column rename works.
ALTER TABLE t2 CHANGE b c INT;
-affected rows: 3
-info: Records: 3 Duplicates: 0 Warnings: 0
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
# Test with self-referential constraints
-ALTER TABLE t3 CHANGE a d INT;
-ERROR HY000: Error on rename of '#sql-temporary' to './test/t3' (errno: 150)
-ALTER TABLE t3 CHANGE b d INT;
-ERROR HY000: Error on rename of '#sql-temporary' to './test/t3' (errno: 150)
+ALTER TABLE t3 CHANGE a f INT;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ALTER TABLE t3 CHANGE b g INT;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
# Ensure that online column rename works.
ALTER TABLE t3 CHANGE c d INT;
-affected rows: 3
-info: Records: 3 Duplicates: 0 Warnings: 0
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
# Cleanup.
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `e` int(11) NOT NULL,
+ `c` int(11) DEFAULT NULL,
+ PRIMARY KEY (`e`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `z` int(11) NOT NULL,
+ `c` int(11) DEFAULT NULL,
+ PRIMARY KEY (`z`),
+ CONSTRAINT `fk1` FOREIGN KEY (`z`) REFERENCES `t1` (`e`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `f` int(11) NOT NULL,
+ `g` int(11) DEFAULT NULL,
+ `d` int(11) DEFAULT NULL,
+ PRIMARY KEY (`f`),
+ KEY `b` (`g`),
+ CONSTRAINT `fk2` FOREIGN KEY (`g`) REFERENCES `t3` (`f`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+SELECT f.*, c.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS c
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FOREIGN f
+ON c.ID=f.ID
+WHERE FOR_NAME LIKE 'test/t%';
+ID FOR_NAME REF_NAME N_COLS TYPE ID FOR_COL_NAME REF_COL_NAME POS
+test/fk1 test/t2 test/t1 1 0 test/fk1 z e 0
+test/fk2 test/t3 test/t3 1 0 test/fk2 g f 0
DROP TABLE t3;
DROP TABLE t2;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb_bug27216817.result b/mysql-test/suite/innodb/r/innodb_bug27216817.result
index f930171ff23..0210ced9f91 100644
--- a/mysql-test/suite/innodb/r/innodb_bug27216817.result
+++ b/mysql-test/suite/innodb/r/innodb_bug27216817.result
@@ -5,7 +5,7 @@ flush status;
alter table t1 add primary key (b);
show status like 'Handler_read_rnd_next';
Variable_name Value
-Handler_read_rnd_next 3
+Handler_read_rnd_next 0
unlock tables;
alter table t1 drop primary key;
lock table t1 write;
diff --git a/mysql-test/suite/innodb/r/innodb_bug34300.result b/mysql-test/suite/innodb/r/innodb_bug34300.result
index ae9fee81ad7..09fc0b44579 100644
--- a/mysql-test/suite/innodb/r/innodb_bug34300.result
+++ b/mysql-test/suite/innodb/r/innodb_bug34300.result
@@ -1,4 +1,3 @@
+ERROR 42000: The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.
f4 f8
-xxx zzz
f4 f8
-xxx zzz
diff --git a/mysql-test/suite/innodb/r/innodb_bug46000.result b/mysql-test/suite/innodb/r/innodb_bug46000.result
index b27b3d7443b..0e3f0ef59ae 100644
--- a/mysql-test/suite/innodb/r/innodb_bug46000.result
+++ b/mysql-test/suite/innodb/r/innodb_bug46000.result
@@ -6,7 +6,7 @@ show warnings;
Level Code Message
Warning 1280 Cannot Create Index with name 'GEN_CLUST_INDEX'. The name is reserved for the system default primary index.
Error 1280 Incorrect index name 'GEN_CLUST_INDEX'
-Error 1005 Can't create table 'test.bug46000' (errno: -1)
+Warning 1030 Got error -1 "Internal error < 0 (Not system error)" from storage engine InnoDB
create table bug46000(id int) engine=innodb;
create index GEN_CLUST_INDEX on bug46000(id);
ERROR 42000: Incorrect index name 'GEN_CLUST_INDEX'
diff --git a/mysql-test/suite/innodb/r/innodb_bug51378.result b/mysql-test/suite/innodb/r/innodb_bug51378.result
index a3ca73c16a9..08b6b656085 100644
--- a/mysql-test/suite/innodb/r/innodb_bug51378.result
+++ b/mysql-test/suite/innodb/r/innodb_bug51378.result
@@ -4,6 +4,8 @@ col2 blob not null,
col3 time not null) engine = innodb;
create unique index idx on bug51378(col1, col2(31));
alter table bug51378 add unique index idx2(col1, col2(31));
+Warnings:
+Note 1831 Duplicate index `idx2`. This is deprecated and will be disallowed in a future release.
create unique index idx3 on bug51378(col1, col3);
SHOW CREATE TABLE bug51378;
Table Create Table
diff --git a/mysql-test/suite/innodb/r/innodb_bug53592.result b/mysql-test/suite/innodb/r/innodb_bug53592.result
index 63b30f50413..ae4773de13a 100644
--- a/mysql-test/suite/innodb/r/innodb_bug53592.result
+++ b/mysql-test/suite/innodb/r/innodb_bug53592.result
@@ -38,6 +38,6 @@ INSERT INTO bug53592_1 VALUES (3, 4);
INSERT INTO bug53592_2 VALUES (1);
INSERT INTO bug53592_2 VALUES (3);
UPDATE bug53592_1 SET col1 = 3 WHERE col2 = 2;
-ERROR 23000: Upholding foreign key constraints for table 'bug53592_1', entry '3-2', key 1 would lead to a duplicate entry
+ERROR 23000: Foreign key constraint for table 'bug53592_1', record '3-2' would lead to a duplicate entry in table 'bug53592_2', key 'PRIMARY'
drop table bug53592_2;
drop table bug53592_1;
diff --git a/mysql-test/suite/innodb/r/innodb_bug53756.result b/mysql-test/suite/innodb/r/innodb_bug53756.result
index 2a2a30e2482..bbaeb0b4060 100644
--- a/mysql-test/suite/innodb/r/innodb_bug53756.result
+++ b/mysql-test/suite/innodb/r/innodb_bug53756.result
@@ -1,4 +1,3 @@
-DROP TABLE IF EXISTS bug_53756 ;
CREATE TABLE bug_53756 (pk INT, c1 INT) ENGINE=InnoDB;
ALTER TABLE bug_53756 ADD PRIMARY KEY (pk);
INSERT INTO bug_53756 VALUES(1, 11), (2, 22), (3, 33), (4, 44);
@@ -86,21 +85,9 @@ pk c1
2 22
3 77
4 44
-
-# connection default
-#
-# Crash server.
START TRANSACTION;
INSERT INTO bug_53756 VALUES (666,666);
-SET SESSION debug_dbug="+d,crash_commit_before";
-COMMIT;
-ERROR HY000: Lost connection to MySQL server during query
-
-#
-# disconnect con1, con2, con3, con4, con5, con6.
-#
-# Restart server.
-
+# Kill and restart
#
# Select recovered data.
# Delete of row 1 was committed.
@@ -113,6 +100,4 @@ pk c1
2 22
3 77
4 44
-
-# Clean up.
DROP TABLE bug_53756;
diff --git a/mysql-test/suite/innodb/r/innodb_bug56947.result b/mysql-test/suite/innodb/r/innodb_bug56947.result
index 8b864b62e81..4248013b088 100644
--- a/mysql-test/suite/innodb/r/innodb_bug56947.result
+++ b/mysql-test/suite/innodb/r/innodb_bug56947.result
@@ -1,8 +1,10 @@
-SET @old_innodb_file_per_table=@@innodb_file_per_table;
SET GLOBAL innodb_file_per_table=0;
create table bug56947(a int not null) engine = innodb;
-CREATE TABLE `bug56947#1`(a int) ENGINE=InnoDB;
+SET DEBUG_DBUG='+d,ib_rebuild_cannot_rename';
alter table bug56947 add unique index (a);
-ERROR 42S01: Table 'test.bug56947#1' already exists
-drop table `bug56947#1`;
+ERROR HY000: Got error 11 "xxx" from storage engine InnoDB
+check table bug56947;
+Table Op Msg_type Msg_text
+test.bug56947 check status OK
drop table bug56947;
+SET @@global.innodb_file_per_table=DEFAULT;
diff --git a/mysql-test/suite/innodb/r/innodb_bug57904.result b/mysql-test/suite/innodb/r/innodb_bug57904.result
index d265adc385f..909f77b25d4 100644
--- a/mysql-test/suite/innodb/r/innodb_bug57904.result
+++ b/mysql-test/suite/innodb/r/innodb_bug57904.result
@@ -13,7 +13,8 @@ INDEX (customer_id),
FOREIGN KEY (customer_id)
REFERENCES customer(id)
) ENGINE=INNODB;
-SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
+WHERE table_name = 'product_order';
CONSTRAINT_CATALOG def
CONSTRAINT_SCHEMA test
CONSTRAINT_NAME product_order_ibfk_1
diff --git a/mysql-test/suite/innodb/r/innodb_bug59641.result b/mysql-test/suite/innodb/r/innodb_bug59641.result
index 5062c69558b..c7fa4870d91 100644
--- a/mysql-test/suite/innodb/r/innodb_bug59641.result
+++ b/mysql-test/suite/innodb/r/innodb_bug59641.result
@@ -1,5 +1,3 @@
-call mtr.add_suppression("Found 3 prepared XA transactions");
-flush tables;
CREATE TABLE t(a INT PRIMARY KEY, b INT)ENGINE=InnoDB;
INSERT INTO t VALUES(2,2),(4,4),(8,8),(16,16),(32,32);
COMMIT;
@@ -16,6 +14,7 @@ XA START '789';
UPDATE t SET b=4*a WHERE a=32;
XA END '789';
XA PREPARE '789';
+# Kill and restart
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM t;
a b
@@ -42,9 +41,9 @@ a b
COMMIT;
XA RECOVER;
formatID gtrid_length bqual_length data
-1 3 0 789
-1 3 0 456
1 3 0 123
+1 3 0 456
+1 3 0 789
XA ROLLBACK '123';
XA ROLLBACK '456';
XA COMMIT '789';
diff --git a/mysql-test/suite/innodb/r/innodb_bug60049.result b/mysql-test/suite/innodb/r/innodb_bug60049.result
index a1788a8ab0a..8e3be130e48 100644
--- a/mysql-test/suite/innodb/r/innodb_bug60049.result
+++ b/mysql-test/suite/innodb/r/innodb_bug60049.result
@@ -1,9 +1,10 @@
-set @@global.innodb_fast_shutdown=0;
-CREATE TABLE t(a INT)ENGINE=InnoDB;
+call mtr.add_suppression('InnoDB: Error: Table "mysql"."innodb_(table|index)_stats" not found');
+call mtr.add_suppression('InnoDB: Error: Fetch of persistent statistics requested');
+CREATE TABLE t(a INT)ENGINE=InnoDB STATS_PERSISTENT=0;
RENAME TABLE t TO u;
DROP TABLE u;
SELECT @@innodb_fast_shutdown;
@@innodb_fast_shutdown
0
Last record of ID_IND root page (9):
-1808000018050074000000000000000c5359535f464f524549474e5f434f4c53
+18080000180500c0000000000000000c5359535f464f524549474e5f434f4c53
diff --git a/mysql-test/suite/innodb/r/innodb_corrupt_bit.result b/mysql-test/suite/innodb/r/innodb_corrupt_bit.result
index 8acbcf74cf6..b3392c1a3c4 100644
--- a/mysql-test/suite/innodb/r/innodb_corrupt_bit.result
+++ b/mysql-test/suite/innodb/r/innodb_corrupt_bit.result
@@ -27,17 +27,16 @@ test.corrupt_bit_test_Ä check Warning InnoDB: Index "idxÄ“" is marked as corrup
test.corrupt_bit_test_Ä check error Corrupt
SET debug_dbug = @save_dbug;
CREATE INDEX idx3 ON corrupt_bit_test_Ä(b, c);
-ERROR HY000: Index corrupt_bit_test_Ä is corrupted
+ERROR HY000: Index "idx" is corrupted
CREATE INDEX idx4 ON corrupt_bit_test_Ä(b, z);
-ERROR HY000: Index corrupt_bit_test_Ä is corrupted
+ERROR HY000: Index "idx" is corrupted
select c from corrupt_bit_test_Ä;
ERROR HY000: Index corrupt_bit_test_Ä is corrupted
select z from corrupt_bit_test_Ä;
ERROR HY000: Index corrupt_bit_test_Ä is corrupted
show warnings;
Level Code Message
-Warning 179 InnoDB: Index "idxÄ“" for table "test"."corrupt_bit_test_Ä" is marked as corrupted
-Warning 179 Got error 179 when reading table `test`.`corrupt_bit_test_Ä`
+Warning 180 InnoDB: Index "idxÄ“" for table "test"."corrupt_bit_test_Ä" is marked as corrupted
Error 1712 Index corrupt_bit_test_Ä is corrupted
insert into corrupt_bit_test_Ä values (10001, "a", 20001, 20001);
select * from corrupt_bit_test_Ä use index(primary) where a = 10001;
@@ -70,9 +69,9 @@ corrupt_bit_test_Ä CREATE TABLE `corrupt_bit_test_Ä` (
) ENGINE=InnoDB AUTO_INCREMENT=10003 DEFAULT CHARSET=latin1
drop index idxÄ“ on corrupt_bit_test_Ä;
CREATE INDEX idx3 ON corrupt_bit_test_Ä(b, c);
-ERROR HY000: Index corrupt_bit_test_Ä is corrupted
+ERROR HY000: Index "idx" is corrupted
CREATE INDEX idx4 ON corrupt_bit_test_Ä(b, z);
-ERROR HY000: Index corrupt_bit_test_Ä is corrupted
+ERROR HY000: Index "idx" is corrupted
show create table corrupt_bit_test_Ä;
Table Create Table
corrupt_bit_test_Ä CREATE TABLE `corrupt_bit_test_Ä` (
diff --git a/mysql-test/suite/innodb/r/innodb_ctype_ldml.result b/mysql-test/suite/innodb/r/innodb_ctype_ldml.result
new file mode 100644
index 00000000000..fefadb2ecb0
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_ctype_ldml.result
@@ -0,0 +1,1080 @@
+drop table if exists t1;
+In the following tests we change the order of letter "b"
+making it equal to letter "a", and check that it works
+with all Unicode character sets
+set names utf8;
+show variables like 'character_sets_dir%';
+Variable_name Value
+character_sets_dir MYSQL_TEST_DIR/std_data/
+show collation like 'utf8_phone_ci';
+Collation Charset Id Default Compiled Sortlen
+utf8_phone_ci utf8 352 8
+CREATE TABLE t1 (
+name VARCHAR(64),
+phone VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_phone_ci
+);
+INSERT INTO t1 VALUES ('Svoj','+7 912 800 80 02');
+INSERT INTO t1 VALUES ('Hf','+7 (912) 800 80 04');
+INSERT INTO t1 VALUES ('Bar','+7-912-800-80-01');
+INSERT INTO t1 VALUES ('Ramil','(7912) 800 80 03');
+INSERT INTO t1 VALUES ('Sanja','+380 (912) 8008005');
+SELECT * FROM t1 ORDER BY phone;
+name phone
+Sanja +380 (912) 8008005
+Bar +7-912-800-80-01
+Svoj +7 912 800 80 02
+Ramil (7912) 800 80 03
+Hf +7 (912) 800 80 04
+SELECT * FROM t1 WHERE phone='+7(912)800-80-01';
+name phone
+Bar +7-912-800-80-01
+SELECT * FROM t1 WHERE phone='79128008001';
+name phone
+Bar +7-912-800-80-01
+SELECT * FROM t1 WHERE phone='7 9 1 2 8 0 0 8 0 0 1';
+name phone
+Bar +7-912-800-80-01
+DROP TABLE t1;
+show collation like 'utf8_test_ci';
+Collation Charset Id Default Compiled Sortlen
+utf8_test_ci utf8 353 8
+create table t1 (c1 char(1) character set utf8 collate utf8_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+c1
+a
+drop table t1;
+show collation like 'ucs2_test_ci';
+Collation Charset Id Default Compiled Sortlen
+ucs2_test_ci ucs2 358 8
+create table t1 (c1 char(1) character set ucs2 collate ucs2_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+c1
+a
+drop table t1;
+show collation like 'utf8mb4_test_ci';
+Collation Charset Id Default Compiled Sortlen
+utf8mb4_test_ci utf8mb4 326 8
+create table t1 (c1 char(1) character set utf8mb4 collate utf8mb4_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+c1
+a
+drop table t1;
+show collation like 'utf16_test_ci';
+Collation Charset Id Default Compiled Sortlen
+utf16_test_ci utf16 327 8
+create table t1 (c1 char(1) character set utf16 collate utf16_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+c1
+a
+drop table t1;
+show collation like 'utf32_test_ci';
+Collation Charset Id Default Compiled Sortlen
+utf32_test_ci utf32 391 8
+create table t1 (c1 char(1) character set utf32 collate utf32_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+c1
+a
+drop table t1;
+#
+# Bug#45645 Mysql server close all connection and restart using lower function
+#
+CREATE TABLE t1 (a VARCHAR(10)) CHARACTER SET utf8 COLLATE utf8_test_ci;
+INSERT INTO t1 (a) VALUES ('hello!');
+SELECT * FROM t1 WHERE LOWER(a)=LOWER('N');
+a
+DROP TABLE t1;
+#
+# Bug#51976 LDML collations issue (cyrillic example)
+#
+CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
+INSERT INTO t1 (a) VALUES ('Hello');
+SELECT a, UPPER(a), LOWER(a) FROM t1;
+a UPPER(a) LOWER(a)
+Hello HELLO hello
+DROP TABLE t1;
+#
+# Bug#43827 Server closes connections and restarts
+#
+CREATE TABLE t1 (c1 VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
+INSERT INTO t1 SELECT REPEAT('a',11);
+Warnings:
+Warning 1265 Data truncated for column 'c1' at row 1
+DROP TABLE t1;
+Vietnamese experimental collation
+show collation like 'ucs2_vn_ci';
+Collation Charset Id Default Compiled Sortlen
+ucs2_vn_ci ucs2 359 8
+create table t1 (c1 char(1) character set ucs2 collate ucs2_vn_ci);
+insert into t1 values (0x0061),(0x0041),(0x00E0),(0x00C0),(0x1EA3),(0x1EA2),
+(0x00E3),(0x00C3),(0x00E1),(0x00C1),(0x1EA1),(0x1EA0);
+insert into t1 values (0x0103),(0x0102),(0x1EB1),(0x1EB0),(0x1EB3),(0x1EB2),
+(0x1EB5),(0x1EB4),(0x1EAF),(0x1EAE),(0x1EB7),(0x1EB6);
+insert into t1 values (0x00E2),(0x00C2),(0x1EA7),(0x1EA6),(0x1EA9),(0x1EA8),
+(0x1EAB),(0x1EAA),(0x1EA5),(0x1EA4),(0x1EAD),(0x1EAC);
+insert into t1 values ('b'),('B'),('c'),('C');
+insert into t1 values ('d'),('D'),(0x0111),(0x0110);
+insert into t1 values (0x0065),(0x0045),(0x00E8),(0x00C8),(0x1EBB),(0x1EBA),
+(0x1EBD),(0x1EBC),(0x00E9),(0x00C9),(0x1EB9),(0x1EB8);
+insert into t1 values (0x00EA),(0x00CA),(0x1EC1),(0x1EC0),(0x1EC3),(0x1EC2),
+(0x1EC5),(0x1EC4),(0x1EBF),(0x1EBE),(0x1EC7),(0x1EC6);
+insert into t1 values ('g'),('G'),('h'),('H');
+insert into t1 values (0x0069),(0x0049),(0x00EC),(0x00CC),(0x1EC9),(0x1EC8),
+(0x0129),(0x0128),(0x00ED),(0x00CD),(0x1ECB),(0x1ECA);
+insert into t1 values ('k'),('K'),('l'),('L'),('m'),('M');
+insert into t1 values (0x006F),(0x004F),(0x00F2),(0x00D2),(0x1ECF),(0x1ECE),
+(0x00F5),(0x00D5),(0x00F3),(0x00D3),(0x1ECD),(0x1ECC);
+insert into t1 values (0x00F4),(0x00D4),(0x1ED3),(0x1ED2),(0x1ED5),(0x1ED4),
+(0x1ED7),(0x1ED6),(0x1ED1),(0x1ED0),(0x1ED9),(0x1ED8);
+insert into t1 values (0x01A1),(0x01A0),(0x1EDD),(0x1EDC),(0x1EDF),(0x1EDE),
+(0x1EE1),(0x1EE0),(0x1EDB),(0x1EDA),(0x1EE3),(0x1EE2);
+insert into t1 values ('p'),('P'),('q'),('Q'),('r'),('R'),('s'),('S'),('t'),('T');
+insert into t1 values (0x0075),(0x0055),(0x00F9),(0x00D9),(0x1EE7),(0x1EE6),
+(0x0169),(0x0168),(0x00FA),(0x00DA),(0x1EE5),(0x1EE4);
+insert into t1 values (0x01B0),(0x01AF),(0x1EEB),(0x1EEA),(0x1EED),(0x1EEC),
+(0x1EEF),(0x1EEE),(0x1EE9),(0x1EE8),(0x1EF1),(0x1EF0);
+insert into t1 values ('v'),('V'),('x'),('X');
+insert into t1 values (0x0079),(0x0059),(0x1EF3),(0x1EF2),(0x1EF7),(0x1EF6),
+(0x1EF9),(0x1EF8),(0x00FD),(0x00DD),(0x1EF5),(0x1EF4);
+select hex(c1) as h, c1 from t1 order by c1, h;
+h c1
+0041 A
+0061 a
+00C0 À
+00C1 Ã
+00C3 Ã
+00E0 à
+00E1 á
+00E3 ã
+1EA0 Ạ
+1EA1 ạ
+1EA2 Ả
+1EA3 ả
+0102 Ä‚
+0103 ă
+1EAE Ắ
+1EAF ắ
+1EB0 Ằ
+1EB1 ằ
+1EB2 Ẳ
+1EB3 ẳ
+1EB4 Ẵ
+1EB5 ẵ
+1EB6 Ặ
+1EB7 ặ
+00C2 Â
+00E2 â
+1EA4 Ấ
+1EA5 ấ
+1EA6 Ầ
+1EA7 ầ
+1EA8 Ẩ
+1EA9 ẩ
+1EAA Ẫ
+1EAB ẫ
+1EAC Ậ
+1EAD ậ
+0042 B
+0062 b
+0043 C
+0063 c
+0044 D
+0064 d
+0110 Ä
+0111 Ä‘
+0045 E
+0065 e
+00C8 È
+00C9 É
+00E8 è
+00E9 é
+1EB8 Ẹ
+1EB9 ẹ
+1EBA Ẻ
+1EBB ẻ
+1EBC Ẽ
+1EBD ẽ
+00CA Ê
+00EA ê
+1EBE Ế
+1EBF ế
+1EC0 Ề
+1EC1 á»
+1EC2 Ể
+1EC3 ể
+1EC4 Ễ
+1EC5 á»…
+1EC6 Ệ
+1EC7 ệ
+0047 G
+0067 g
+0048 H
+0068 h
+0049 I
+0069 i
+00CC Ì
+00CD Ã
+00EC ì
+00ED í
+0128 Ĩ
+0129 Ä©
+1EC8 Ỉ
+1EC9 ỉ
+1ECA Ị
+1ECB ị
+004B K
+006B k
+004C L
+006C l
+004D M
+006D m
+004F O
+006F o
+00D2 Ã’
+00D3 Ó
+00D5 Õ
+00F2 ò
+00F3 ó
+00F5 õ
+1ECC Ọ
+1ECD á»
+1ECE Ỏ
+1ECF á»
+00D4 Ô
+00F4 ô
+1ED0 á»
+1ED1 ố
+1ED2 á»’
+1ED3 ồ
+1ED4 á»”
+1ED5 ổ
+1ED6 á»–
+1ED7 á»—
+1ED8 Ộ
+1ED9 á»™
+01A0 Æ 
+01A1 Æ¡
+1EDA Ớ
+1EDB á»›
+1EDC Ờ
+1EDD á»
+1EDE Ở
+1EDF ở
+1EE0 á» 
+1EE1 ỡ
+1EE2 Ợ
+1EE3 ợ
+0050 P
+0070 p
+0051 Q
+0071 q
+0052 R
+0072 r
+0053 S
+0073 s
+0054 T
+0074 t
+0055 U
+0075 u
+00D9 Ù
+00DA Ú
+00F9 ù
+00FA ú
+0168 Ũ
+0169 Å©
+1EE4 Ụ
+1EE5 ụ
+1EE6 Ủ
+1EE7 ủ
+01AF Ư
+01B0 Æ°
+1EE8 Ứ
+1EE9 ứ
+1EEA Ừ
+1EEB ừ
+1EEC Ử
+1EED á»­
+1EEE á»®
+1EEF ữ
+1EF0 á»°
+1EF1 á»±
+0056 V
+0076 v
+0058 X
+0078 x
+0059 Y
+0079 y
+00DD Ã
+00FD ý
+1EF2 Ỳ
+1EF3 ỳ
+1EF4 á»´
+1EF5 ỵ
+1EF6 Ỷ
+1EF7 á»·
+1EF8 Ỹ
+1EF9 ỹ
+select group_concat(hex(c1) order by hex(c1)) from t1 group by c1;
+group_concat(hex(c1) order by hex(c1))
+0041,0061,00C0,00C1,00C3,00E0,00E1,00E3,1EA0,1EA1,1EA2,1EA3
+0102,0103,1EAE,1EAF,1EB0,1EB1,1EB2,1EB3,1EB4,1EB5,1EB6,1EB7
+00C2,00E2,1EA4,1EA5,1EA6,1EA7,1EA8,1EA9,1EAA,1EAB,1EAC,1EAD
+0042,0062
+0043,0063
+0044,0064
+0110,0111
+0045,0065,00C8,00C9,00E8,00E9,1EB8,1EB9,1EBA,1EBB,1EBC,1EBD
+00CA,00EA,1EBE,1EBF,1EC0,1EC1,1EC2,1EC3,1EC4,1EC5,1EC6,1EC7
+0047,0067
+0048,0068
+0049,0069,00CC,00CD,00EC,00ED,0128,0129,1EC8,1EC9,1ECA,1ECB
+004B,006B
+004C,006C
+004D,006D
+004F,006F,00D2,00D3,00D5,00F2,00F3,00F5,1ECC,1ECD,1ECE,1ECF
+00D4,00F4,1ED0,1ED1,1ED2,1ED3,1ED4,1ED5,1ED6,1ED7,1ED8,1ED9
+01A0,01A1,1EDA,1EDB,1EDC,1EDD,1EDE,1EDF,1EE0,1EE1,1EE2,1EE3
+0050,0070
+0051,0071
+0052,0072
+0053,0073
+0054,0074
+0055,0075,00D9,00DA,00F9,00FA,0168,0169,1EE4,1EE5,1EE6,1EE7
+01AF,01B0,1EE8,1EE9,1EEA,1EEB,1EEC,1EED,1EEE,1EEF,1EF0,1EF1
+0056,0076
+0058,0078
+0059,0079,00DD,00FD,1EF2,1EF3,1EF4,1EF5,1EF6,1EF7,1EF8,1EF9
+select group_concat(c1 order by hex(c1) SEPARATOR '') from t1 group by c1;
+group_concat(c1 order by hex(c1) SEPARATOR '')
+AaÀÃÃàáãẠạẢả
+ĂăẮắẰằẲẳẴẵẶặ
+ÂâẤấẦầẨẩẪẫẬậ
+Bb
+Cc
+Dd
+ÄÄ‘
+EeÈÉèéẸẹẺẻẼẽ
+ÊêẾếỀá»á»‚ểỄễỆệ
+Gg
+Hh
+IiÃŒÃìíĨĩỈỉỊị
+Kk
+Ll
+Mm
+OoÒÓÕòóõỌá»á»Žá»
+Ôôá»á»‘ỒồỔổỖỗỘộ
+ƠơỚớỜá»á»žá»Ÿá» á»¡á»¢á»£
+Pp
+Qq
+Rr
+Ss
+Tt
+UuÙÚùúŨũỤụỦủ
+ƯưỨứỪừỬửỮữỰự
+Vv
+Xx
+YyÃýỲỳỴỵỶỷỸỹ
+drop table t1;
+Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
+set names latin1;
+show collation like 'latin1_test';
+Collation Charset Id Default Compiled Sortlen
+latin1_test latin1 99 Yes 1
+select "foo" = "foo " collate latin1_test;
+"foo" = "foo " collate latin1_test
+1
+The following tests check that two-byte collation IDs work
+select * from information_schema.collations where id>256 and is_compiled<>'Yes' order by id;
+COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
+utf8mb4_test_ci utf8mb4 326 8
+utf16_test_ci utf16 327 8
+utf8mb4_test_400_ci utf8mb4 328 8
+latin1_test2 latin1 332 1
+utf8_bengali_standard_ci utf8 336 8
+utf8_bengali_traditional_ci utf8 337 8
+utf8_implicit_weights_ci utf8 338 8
+utf8_phone_ci utf8 352 8
+utf8_test_ci utf8 353 8
+utf8_5624_1 utf8 354 8
+utf8_5624_2 utf8 355 8
+utf8_5624_3 utf8 356 8
+utf8_5624_4 utf8 357 8
+ucs2_test_ci ucs2 358 8
+ucs2_vn_ci ucs2 359 8
+ucs2_5624_1 ucs2 360 8
+utf8_5624_5 utf8 368 8
+utf8_5624_5_bad utf8 369 8
+utf32_test_ci utf32 391 8
+utf8_maxuserid_ci utf8 2047 8
+show collation like '%test%';
+Collation Charset Id Default Compiled Sortlen
+latin1_test latin1 99 Yes 1
+latin1_test2 latin1 332 1
+utf8_test_ci utf8 353 8
+ucs2_test_ci ucs2 358 8
+utf8mb4_test_ci utf8mb4 326 8
+utf8mb4_test_400_ci utf8mb4 328 8
+utf16_test_ci utf16 327 8
+utf32_test_ci utf32 391 8
+show collation like 'ucs2_vn_ci';
+Collation Charset Id Default Compiled Sortlen
+ucs2_vn_ci ucs2 359 8
+create table t1 (c1 char(1) character set ucs2 collate ucs2_vn_ci);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` char(1) CHARACTER SET ucs2 COLLATE ucs2_vn_ci DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+insert into t1 values (0x0061);
+set @@character_set_results=NULL;
+select * from t1;
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def test t1 t1 c1 c1 254 2 2 Y 0 0 359
+c1
+
+drop table t1;
+CREATE TABLE t1 (s1 char(10) character set utf8 collate utf8_maxuserid_ci);
+INSERT INTO t1 VALUES ('a'),('b');
+SELECT * FROM t1 WHERE s1='a' ORDER BY BINARY s1;
+s1
+a
+b
+DROP TABLE t1;
+SET NAMES utf8 COLLATE utf8_phone_ci;
+SHOW COLLATION LIKE 'utf8_phone_ci';
+Collation Charset Id Default Compiled Sortlen
+utf8_phone_ci utf8 352 8
+SET NAMES utf8;
+SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci));
+hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci))
+0E33
+SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci));
+hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci))
+FFFD
+SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
+hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci) hex(lower(@a))
+F0909080 F0909080
+SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
+hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci) hex(upper(@a))
+F09090A8 F09090A8
+SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
+hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci) hex(lower(@a))
+E2B080 E2B080
+SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
+hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci) hex(upper(@a))
+E2B0B0 E2B0B0
+#
+# WL#5624 Collation customization improvements
+#
+SET NAMES utf8 COLLATE utf8_5624_1;
+CREATE TABLE t1 AS SELECT REPEAT(' ', 16) AS a LIMIT 0;
+INSERT INTO t1 VALUES ('012345'),('001234'),('000123'),('000012'),('000001');
+INSERT INTO t1 VALUES ('12345'),('01234'),('00123'),('00012'),('00001');
+INSERT INTO t1 VALUES ('1234'),('0123'),('0012'),('0001');
+INSERT INTO t1 VALUES ('123'),('012'),('001');
+INSERT INTO t1 VALUES ('12'),('01');
+INSERT INTO t1 VALUES ('1'),('9');
+INSERT INTO t1 VALUES ('ГÐИ'),('ГИБДД');
+INSERT INTO t1 VALUES ('a'),('b'),('c'),('d'),('e');
+INSERT INTO t1 VALUES ('cz'),('ÄŠ'),('Ä‹');
+INSERT INTO t1 VALUES ('f'),('fz'),('g'),('Ä '),('Ä¡');
+INSERT INTO t1 VALUES ('h'),('hz'),('GĦ'),('Għ'),('gĦ'),('għ');
+INSERT INTO t1 VALUES ('i'),('iz'),('Ħ'),('ħ');
+INSERT INTO t1 VALUES ('y'),('yz'),('z'),('Ż'),('ż');
+INSERT INTO t1 VALUES ('Ä'),('Ä€'),('á'),('Ã'),('à'),('À');
+INSERT INTO t1 VALUES ('ē'),('é'),('ě'),('ê'),('Ē'),('É'),('Ě'),('Ê');
+INSERT INTO t1 VALUES ('a'),('~'),('!'),('@'),('#'),('$'),('%'),('^');
+INSERT INTO t1 VALUES ('('),(')'),('-'),('+'),('|'),('='),(':'),(';');
+INSERT INTO t1 VALUES ('"'),('\''),('?');
+INSERT INTO t1 VALUES ('ch'),('k'),('cs'),('ccs'),('cscs');
+INSERT INTO t1 VALUES ('aa-'),('ab-'),('ac-'),('ad-'),('ae-'),('af-'),('az-');
+INSERT INTO t1 VALUES ('lp-fni'),('lp-lni');
+INSERT INTO t1 VALUES ('lp-fpi'),('lp-lpi');
+INSERT INTO t1 VALUES ('lp-fsi'),('lp-lsi');
+INSERT INTO t1 VALUES ('lp-fti'),('lp-lti');
+INSERT INTO t1 VALUES ('lp-ft'),('lp-lt');
+INSERT INTO t1 VALUES ('lp-fv'),('lp-lv');
+INSERT INTO t1 VALUES ('lb-fni'),('lb-lni');
+INSERT INTO t1 VALUES ('lb-fv'),('lb-lv');
+INSERT INTO t1 VALUES (_ucs2 0x3106),(_ucs2 0x3110), (_ucs2 0x3111), (_ucs2 0x3112);
+INSERT INTO t1 VALUES (_ucs2 0x32A3), (_ucs2 0x3231);
+INSERT INTO t1 VALUES (_ucs2 0x84D9), (_ucs2 0x98F5), (_ucs2 0x7CF3), (_ucs2 0x5497);
+SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY a;
+a HEX(WEIGHT_STRING(a))
+lp-ft 0001
+lp-lt 0001
+lp-fpi 0001
+lp-fsi 0001
+lp-fti 0001
+lp-lpi 0001
+lp-lsi 0001
+lp-lti 0001
+lb-fv 0200233E
+lb-fni 0200233E
+lp-fv 0202
+lp-fni 0202
+- 0221
+= 042D
+| 0430
+lb-lv 0DD9233E
+lp-lv 0DDB
+1 0E2A
+01 0E2A
+001 0E2A
+0001 0E2A
+00001 0E2A
+000001 0E2A
+12 0E2A0E2B
+012 0E2A0E2B
+0012 0E2A0E2B
+00012 0E2A0E2B
+000012 0E2A0E2B
+123 0E2A0E2B0E2C
+0123 0E2A0E2B0E2C
+00123 0E2A0E2B0E2C
+000123 0E2A0E2B0E2C
+1234 0E2A0E2B0E2C0E2D
+01234 0E2A0E2B0E2C0E2D
+001234 0E2A0E2B0E2C0E2D
+12345 0E2A0E2B0E2C0E2D0E2E
+012345 0E2A0E2B0E2C0E2D0E2E
+9 0E32
+~ 0E32233E
+! 0E32233F
+@ 0E322340
+# 0E322341
+$ 0E322342
+% 0E322343
+^ 0E322344
+( 0E322346
+) 0E322347
++ 0E322348
+: 0E322349
+; 0E32234A
+" 0E32234B
+' 0E32234C
+? 0E32234D
+a 0E33
+a 0E33
+aa- 0E330E330221
+ab- 0E330E4A0E34
+ac- 0E330E600E60
+ad- 0E330E6D0E6D
+ae- 0E330E8B0E8B
+af- 0E330EB90EB9
+az- 0E33106A0221
+b 0E4A
+À 0E4A
+Ã 0E4A
+à 0E4A
+á 0E4A
+Ä€ 0E4A
+Ä 0E4A
+c 0E60
+k 0E600EE1
+ch 0E600EE1
+cs 0E600FEA
+ccs 0E600FEA0E600FEA
+cscs 0E600FEA0E600FEA
+cz 0E60106A
+ÄŠ 0E6C233E
+Ä‹ 0E6C233E
+d 0E6D
+É 0E6D
+Ê 0E6D
+é 0E6D
+ê 0E6D
+Ä’ 0E6D
+Ä“ 0E6D
+Äš 0E6D
+Ä› 0E6D
+e 0E8B
+f 0EB9
+fz 0EB9106A
+Ä  0EC0233E
+Ä¡ 0EC0233E
+g 0EC1
+GĦ 0EE0233E
+Għ 0EE0233E
+gĦ 0EE0233E
+għ 0EE0233E
+h 0EE1
+hz 0EE1106A
+Ħ 0EFA233E
+ħ 0EFA233E
+i 0EFB
+iz 0EFB106A
+y 105E
+yz 105E106A
+Å» 1069233E
+ż 1069233E
+z 106A
+ГÐИ 11341114117C
+ГИБДД 11341114117C
+lb-lni 233C233E
+lp-lni 233E
+ㄆ 233F
+ã„ 2349
+ã„‘ 234A
+ã„’ 234B
+㊣ 7147
+㈱ 72D5
+è“™ 753C
+飵 753D
+ç³³ 753E
+å’— 753F
+#
+# WL#5624, the same test with UCS2
+#
+ALTER TABLE t1 CONVERT TO CHARACTER SET ucs2 COLLATE ucs2_5624_1;
+SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY(a);
+a HEX(WEIGHT_STRING(a))
+lp-ft 0001
+lp-lt 0001
+lp-fpi 0001
+lp-fsi 0001
+lp-fti 0001
+lp-lpi 0001
+lp-lsi 0001
+lp-lti 0001
+lb-fv 0200233E
+lb-fni 0200233E
+lp-fv 0202
+lp-fni 0202
+- 0221
+= 042D
+| 0430
+lb-lv 0DD9233E
+lp-lv 0DDB
+1 0E2A
+01 0E2A
+001 0E2A
+0001 0E2A
+00001 0E2A
+000001 0E2A
+12 0E2A0E2B
+012 0E2A0E2B
+0012 0E2A0E2B
+00012 0E2A0E2B
+000012 0E2A0E2B
+123 0E2A0E2B0E2C
+0123 0E2A0E2B0E2C
+00123 0E2A0E2B0E2C
+000123 0E2A0E2B0E2C
+1234 0E2A0E2B0E2C0E2D
+01234 0E2A0E2B0E2C0E2D
+001234 0E2A0E2B0E2C0E2D
+12345 0E2A0E2B0E2C0E2D0E2E
+012345 0E2A0E2B0E2C0E2D0E2E
+9 0E32
+~ 0E32233E
+! 0E32233F
+@ 0E322340
+# 0E322341
+$ 0E322342
+% 0E322343
+^ 0E322344
+( 0E322346
+) 0E322347
++ 0E322348
+: 0E322349
+; 0E32234A
+" 0E32234B
+' 0E32234C
+? 0E32234D
+a 0E33
+a 0E33
+aa- 0E330E330221
+ab- 0E330E4A0E34
+ac- 0E330E600E60
+ad- 0E330E6D0E6D
+ae- 0E330E8B0E8B
+af- 0E330EB90EB9
+az- 0E33106A0221
+b 0E4A
+À 0E4A
+Ã 0E4A
+à 0E4A
+á 0E4A
+Ä€ 0E4A
+Ä 0E4A
+c 0E60
+k 0E600EE1
+ch 0E600EE1
+cs 0E600FEA
+ccs 0E600FEA0E600FEA
+cscs 0E600FEA0E600FEA
+cz 0E60106A
+ÄŠ 0E6C233E
+Ä‹ 0E6C233E
+d 0E6D
+É 0E6D
+Ê 0E6D
+é 0E6D
+ê 0E6D
+Ä’ 0E6D
+Ä“ 0E6D
+Äš 0E6D
+Ä› 0E6D
+e 0E8B
+f 0EB9
+fz 0EB9106A
+Ä  0EC0233E
+Ä¡ 0EC0233E
+g 0EC1
+GĦ 0EE0233E
+Għ 0EE0233E
+gĦ 0EE0233E
+għ 0EE0233E
+h 0EE1
+hz 0EE1106A
+Ħ 0EFA233E
+ħ 0EFA233E
+i 0EFB
+iz 0EFB106A
+y 105E
+yz 105E106A
+Å» 1069233E
+ż 1069233E
+z 106A
+ГÐИ 11341114117C
+ГИБДД 11341114117C
+lb-lni 233C233E
+lp-lni 233E
+ㄆ 233F
+ã„ 2349
+ã„‘ 234A
+ã„’ 234B
+㊣ 7147
+㈱ 72D5
+è“™ 753C
+飵 753D
+ç³³ 753E
+å’— 753F
+DROP TABLE t1;
+#
+# WL#5624, unsupported features
+#
+SET NAMES utf8 COLLATE utf8_5624_2;
+ERROR HY000: Unknown collation: 'utf8_5624_2'
+SHOW WARNINGS;
+Level Code Message
+Error 1273 Unknown collation: 'utf8_5624_2'
+Warning 1273 Syntax error at '[strength tertiary]'
+#
+# WL#5624, reset before primary ignorable
+#
+SET NAMES utf8 COLLATE utf8_5624_3;
+ERROR HY000: Unknown collation: 'utf8_5624_3'
+SHOW WARNINGS;
+Level Code Message
+Error 1273 Unknown collation: 'utf8_5624_3'
+Warning 1273 Can't reset before a primary ignorable character U+A48C
+#
+# WL#5624, \u without hex digits is equal to {'\', 'u'}
+#
+SET NAMES utf8 COLLATE utf8_5624_4;
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
+INSERT INTO t1 VALUES ('\\'),('u'),('x'),('X');
+SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY(a);
+a HEX(WEIGHT_STRING(a))
+\ 02CE
+x 02CE101F
+u 101F
+X 105A
+DROP TABLE t1;
+#
+# WL#5624, testing Bengali collations
+#
+SET NAMES utf8, collation_connection=utf8_bengali_standard_ci;
+CREATE TABLE t1 AS SELECT REPEAT (' ', 10) AS a LIMIT 0;
+INSERT INTO t1 VALUES (_ucs2 0x09FA), (_ucs2 0x09F8), (_ucs2 0x09F9), (_ucs2 0x09F2);
+INSERT INTO t1 VALUES (_ucs2 0x09DC), (_ucs2 0x09A109BC);
+INSERT INTO t1 VALUES (_ucs2 0x09A2), (_ucs2 0x09DD), (_ucs2 0x09A209BC);
+INSERT INTO t1 VALUES (_ucs2 0x09A3);
+SELECT HEX(WEIGHT_STRING(a)), HEX(CONVERT(a USING ucs2)), HEX(a)
+FROM t1 ORDER BY a, BINARY a;
+HEX(WEIGHT_STRING(a)) HEX(CONVERT(a USING ucs2)) HEX(a)
+0350 09FA E0A7BA
+0351 09F8 E0A7B8
+0352 09F9 E0A7B9
+0353 09F2 E0A7B2
+0374 09A109BC E0A6A1E0A6BC
+0374 09DC E0A79C
+0375 09A2 E0A6A2
+0376 09A209BC E0A6A2E0A6BC
+0376 09DD E0A79D
+0377 09A3 E0A6A3
+DROP TABLE t1;
+SET NAMES utf8, collation_connection=utf8_bengali_traditional_ci;
+CREATE TABLE t1 AS SELECT REPEAT (' ', 10) AS a LIMIT 0;
+INSERT INTO t1 VALUES
+(_ucs2 0x0985),(_ucs2 0x0986),(_ucs2 0x0987),(_ucs2 0x0988),
+(_ucs2 0x0989),(_ucs2 0x098A),(_ucs2 0x098B),(_ucs2 0x09E0),
+(_ucs2 0x098C),(_ucs2 0x09E1),(_ucs2 0x098F),(_ucs2 0x0990),
+(_ucs2 0x0993);
+INSERT INTO t1 VALUES
+(_ucs2 0x0994),(_ucs2 0x0982),(_ucs2 0x0983),(_ucs2 0x0981),
+(_ucs2 0x099509CD), (_ucs2 0x099609CD), (_ucs2 0x099709CD), (_ucs2 0x099809CD),
+(_ucs2 0x099909CD), (_ucs2 0x099A09CD), (_ucs2 0x099B09CD), (_ucs2 0x099C09CD),
+(_ucs2 0x099D09CD), (_ucs2 0x099E09CD), (_ucs2 0x099F09CD), (_ucs2 0x09A009CD),
+(_ucs2 0x09A109CD), (_ucs2 0x09A209CD), (_ucs2 0x09A309CD),
+(_ucs2 0x09CE), (_ucs2 0x09A409CD200D), (_ucs2 0x09A409CD),
+(_ucs2 0x09A509CD),(_ucs2 0x09A609CD),
+(_ucs2 0x09A709CD), (_ucs2 0x09A809CD), (_ucs2 0x09AA09CD), (_ucs2 0x09AB09CD),
+(_ucs2 0x09AC09CD), (_ucs2 0x09AD09CD), (_ucs2 0x09AE09CD), (_ucs2 0x09AF09CD),
+(_ucs2 0x09B009CD), (_ucs2 0x09F009CD), (_ucs2 0x09B209CD), (_ucs2 0x09F109CD),
+(_ucs2 0x09B609CD), (_ucs2 0x09B709CD), (_ucs2 0x09B809CD), (_ucs2 0x09B909CD);
+INSERT INTO t1 VALUES
+(_ucs2 0x099509CD0985),(_ucs2 0x0995),
+(_ucs2 0x099509CD0986),(_ucs2 0x099509BE),
+(_ucs2 0x099509CD0987),(_ucs2 0x099509BF),
+(_ucs2 0x099509CD0988),(_ucs2 0x099509C0),
+(_ucs2 0x099509CD0989),(_ucs2 0x099509C1),
+(_ucs2 0x099509CD098A),(_ucs2 0x099509C2),
+(_ucs2 0x099509CD098B),(_ucs2 0x099509C3),
+(_ucs2 0x099509CD09E0),(_ucs2 0x099509C4),
+(_ucs2 0x099509CD098C),(_ucs2 0x099509E2),
+(_ucs2 0x099509CD09E1),(_ucs2 0x099509E3),
+(_ucs2 0x099509CD098F),(_ucs2 0x099509C7),
+(_ucs2 0x099509CD0990),(_ucs2 0x099509C8),
+(_ucs2 0x099509CD0993),(_ucs2 0x099509CB),
+(_ucs2 0x099509CD0994),(_ucs2 0x099509CC);
+SELECT HEX(WEIGHT_STRING(a)), HEX(CONVERT(a USING ucs2)), HEX(a)
+FROM t1 ORDER BY a, BINARY(a);
+HEX(WEIGHT_STRING(a)) HEX(CONVERT(a USING ucs2)) HEX(a)
+15A2 0985 E0A685
+15A3 0986 E0A686
+15A4 0987 E0A687
+15A5 0988 E0A688
+15A6 0989 E0A689
+15A7 098A E0A68A
+15A8 098B E0A68B
+15A9 09E0 E0A7A0
+15AA 098C E0A68C
+15AB 09E1 E0A7A1
+15AC 098F E0A68F
+15AD 0990 E0A690
+15AE 0993 E0A693
+15AF 0994 E0A694
+15B0 0982 E0A682
+15B1 0983 E0A683
+15B2 0981 E0A681
+15B3 099509CD E0A695E0A78D
+15B315A2 0995 E0A695
+15B315A2 099509CD0985 E0A695E0A78DE0A685
+15B315A3 099509BE E0A695E0A6BE
+15B315A3 099509CD0986 E0A695E0A78DE0A686
+15B315A4 099509BF E0A695E0A6BF
+15B315A4 099509CD0987 E0A695E0A78DE0A687
+15B315A5 099509C0 E0A695E0A780
+15B315A5 099509CD0988 E0A695E0A78DE0A688
+15B315A6 099509C1 E0A695E0A781
+15B315A6 099509CD0989 E0A695E0A78DE0A689
+15B315A7 099509C2 E0A695E0A782
+15B315A7 099509CD098A E0A695E0A78DE0A68A
+15B315A8 099509C3 E0A695E0A783
+15B315A8 099509CD098B E0A695E0A78DE0A68B
+15B315A9 099509C4 E0A695E0A784
+15B315A9 099509CD09E0 E0A695E0A78DE0A7A0
+15B315AA 099509CD098C E0A695E0A78DE0A68C
+15B315AA 099509E2 E0A695E0A7A2
+15B315AB 099509CD09E1 E0A695E0A78DE0A7A1
+15B315AB 099509E3 E0A695E0A7A3
+15B315AC 099509C7 E0A695E0A787
+15B315AC 099509CD098F E0A695E0A78DE0A68F
+15B315AD 099509C8 E0A695E0A788
+15B315AD 099509CD0990 E0A695E0A78DE0A690
+15B315AE 099509CB E0A695E0A78B
+15B315AE 099509CD0993 E0A695E0A78DE0A693
+15B315AF 099509CC E0A695E0A78C
+15B315AF 099509CD0994 E0A695E0A78DE0A694
+15B4 099609CD E0A696E0A78D
+15B5 099709CD E0A697E0A78D
+15B6 099809CD E0A698E0A78D
+15B7 099909CD E0A699E0A78D
+15B8 099A09CD E0A69AE0A78D
+15B9 099B09CD E0A69BE0A78D
+15BA 099C09CD E0A69CE0A78D
+15BB 099D09CD E0A69DE0A78D
+15BC 099E09CD E0A69EE0A78D
+15BD 099F09CD E0A69FE0A78D
+15BE 09A009CD E0A6A0E0A78D
+15BF 09A109CD E0A6A1E0A78D
+15C0 09A209CD E0A6A2E0A78D
+15C1 09A309CD E0A6A3E0A78D
+15C2 09A409CD E0A6A4E0A78D
+15C2 09A409CD200D E0A6A4E0A78DE2808D
+15C2 09CE E0A78E
+15C3 09A509CD E0A6A5E0A78D
+15C4 09A609CD E0A6A6E0A78D
+15C5 09A709CD E0A6A7E0A78D
+15C6 09A809CD E0A6A8E0A78D
+15C7 09AA09CD E0A6AAE0A78D
+15C8 09AB09CD E0A6ABE0A78D
+15C9 09AC09CD E0A6ACE0A78D
+15CA 09AD09CD E0A6ADE0A78D
+15CB 09AE09CD E0A6AEE0A78D
+15CC 09AF09CD E0A6AFE0A78D
+15CD 09B009CD E0A6B0E0A78D
+15CE 09F009CD E0A7B0E0A78D
+15CF 09B209CD E0A6B2E0A78D
+15D0 09F109CD E0A7B1E0A78D
+15D1 09B609CD E0A6B6E0A78D
+15D2 09B709CD E0A6B7E0A78D
+15D3 09B809CD E0A6B8E0A78D
+15D4 09B909CD E0A6B9E0A78D
+SELECT HEX(WEIGHT_STRING(a)) as wa,
+GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a)
+FROM t1 GROUP BY a ORDER BY a;
+wa GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a)
+15A2 0985
+15A3 0986
+15A4 0987
+15A5 0988
+15A6 0989
+15A7 098A
+15A8 098B
+15A9 09E0
+15AA 098C
+15AB 09E1
+15AC 098F
+15AD 0990
+15AE 0993
+15AF 0994
+15B0 0982
+15B1 0983
+15B2 0981
+15B3 099509CD
+15B315A2 0995,099509CD0985
+15B315A3 099509BE,099509CD0986
+15B315A4 099509BF,099509CD0987
+15B315A5 099509C0,099509CD0988
+15B315A6 099509C1,099509CD0989
+15B315A7 099509C2,099509CD098A
+15B315A8 099509C3,099509CD098B
+15B315A9 099509C4,099509CD09E0
+15B315AA 099509E2,099509CD098C
+15B315AB 099509E3,099509CD09E1
+15B315AC 099509C7,099509CD098F
+15B315AD 099509C8,099509CD0990
+15B315AE 099509CB,099509CD0993
+15B315AF 099509CC,099509CD0994
+15B4 099609CD
+15B5 099709CD
+15B6 099809CD
+15B7 099909CD
+15B8 099A09CD
+15B9 099B09CD
+15BA 099C09CD
+15BB 099D09CD
+15BC 099E09CD
+15BD 099F09CD
+15BE 09A009CD
+15BF 09A109CD
+15C0 09A209CD
+15C1 09A309CD
+15C2 09CE,09A409CD,09A409CD200D
+15C3 09A509CD
+15C4 09A609CD
+15C5 09A709CD
+15C6 09A809CD
+15C7 09AA09CD
+15C8 09AB09CD
+15C9 09AC09CD
+15CA 09AD09CD
+15CB 09AE09CD
+15CC 09AF09CD
+15CD 09B009CD
+15CE 09F009CD
+15CF 09B209CD
+15D0 09F109CD
+15D1 09B609CD
+15D2 09B709CD
+15D3 09B809CD
+15D4 09B909CD
+DROP TABLE t1;
+#
+# WL#5624, shift after, using expansion
+#
+SET NAMES utf8 COLLATE utf8_5624_5;
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
+INSERT INTO t1 VALUES ('0'),('1'),('0z'),(_ucs2 0x0030FF9D);
+INSERT INTO t1 VALUES ('a'),('b'),('c'),('d'),('e'),('f'),('g'),('h'),('i');
+INSERT INTO t1 VALUES ('j'),('k'),('l'),('m'),('n'),('o'),('p'),('q'),('r');
+INSERT INTO t1 VALUES ('s'),('t'),('u'),('v'),('w'),('x'),('y'),('z');
+INSERT INTO t1 VALUES ('aa'),('aaa');
+INSERT INTO t1 VALUES ('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H'),('I');
+INSERT INTO t1 VALUES ('J'),('K'),('L'),('M'),('N'),('O'),('P'),('Q'),('R');
+INSERT INTO t1 VALUES ('S'),('T'),('U'),('V'),('W'),('X'),('Y'),('Z');
+INSERT INTO t1 VALUES ('AA'),('AAA');
+SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY(a);
+a HEX(WEIGHT_STRING(a))
+0 0E29
+0z 0E290E292357
+0ï¾ 0E291E81
+a 0E29233E
+b 0E29233F
+c 0E292340
+d 0E292341
+e 0E292342
+f 0E292343
+g 0E292344
+h 0E292345
+i 0E292346
+j 0E292347
+k 0E292348
+l 0E292349
+m 0E29234A
+n 0E29234B
+o 0E29234C
+p 0E29234D
+q 0E29234E
+r 0E29234F
+s 0E292350
+t 0E292351
+u 0E292352
+v 0E292353
+w 0E292354
+x 0E292355
+y 0E292356
+z 0E292357
+aa 0E292358
+aaa 0E292359
+A 0E29333E
+B 0E29333F
+C 0E293340
+D 0E293341
+E 0E293342
+F 0E293343
+G 0E293344
+H 0E293345
+I 0E293346
+J 0E293347
+K 0E293348
+L 0E293349
+M 0E29334A
+N 0E29334B
+O 0E29334C
+P 0E29334D
+Q 0E29334E
+R 0E29334F
+S 0E293350
+T 0E293351
+U 0E293352
+V 0E293353
+W 0E293354
+X 0E293355
+Y 0E293356
+Z 0E293357
+AA 0E293358
+AAA 0E293359
+1 0E2A
+DROP TABLE t1;
+#
+# End of WL#5624
+#
diff --git a/mysql-test/suite/innodb/r/innodb_defrag_binlog.result b/mysql-test/suite/innodb/r/innodb_defrag_binlog.result
new file mode 100644
index 00000000000..6ff32726f57
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_defrag_binlog.result
@@ -0,0 +1,29 @@
+include/master-slave.inc
+[connection master]
+drop table if exists t1;
+create table t1(a int not null primary key auto_increment, b varchar(256), key second(b)) engine=innodb;
+insert into t1 values (1, REPEAT("a", 256));
+insert into t1 values (2, REPEAT("a", 256));
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+drop table t1;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1(a int not null primary key auto_increment, b varchar(256), key second(b)) engine=innodb
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; optimize table t1
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+include/rpl_end.inc
diff --git a/mysql-test/suite/innodb/r/innodb_defrag_concurrent.result b/mysql-test/suite/innodb/r/innodb_defrag_concurrent.result
new file mode 100644
index 00000000000..d3ad9cc9065
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_defrag_concurrent.result
@@ -0,0 +1,61 @@
+DROP TABLE if exists t1;
+select @@global.innodb_stats_persistent;
+@@global.innodb_stats_persistent
+0
+set global innodb_defragment_stats_accuracy = 80;
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), c INT, KEY second(a, b),KEY third(c)) ENGINE=INNODB;
+SET @@global.innodb_defragment_n_pages = 20;
+select count(*) from t1;
+count(*)
+20000
+select count(*) from t1 force index (second);
+count(*)
+20000
+select count(*) from t1 force index (third);
+count(*)
+20000
+select count(*) from t1;
+count(*)
+15800
+select count(*) from t1 force index (second);
+count(*)
+15800
+select count(*) from t1 force index (third);
+count(*)
+15800
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) > 0
+0
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+optimize table t1;;
+INSERT INTO t1 VALUES (400000, REPEAT('A', 256),300000);;
+INSERT INTO t1 VALUES (500000, REPEAT('A', 256),400000);;
+DELETE FROM t1 where a between 1 and 100;;
+UPDATE t1 SET c = c + 1 where c between 2000 and 8000;;
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+select count(*) from t1;
+count(*)
+15723
+select count(*) from t1 force index (second);
+count(*)
+15723
+select count(*) from t1 force index (third);
+count(*)
+15723
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb_defrag_stats.result b/mysql-test/suite/innodb/r/innodb_defrag_stats.result
new file mode 100644
index 00000000000..7092688f07b
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_defrag_stats.result
@@ -0,0 +1,175 @@
+DROP TABLE if exists t1;
+select @@global.innodb_stats_persistent;
+@@global.innodb_stats_persistent
+0
+set global innodb_defragment_stats_accuracy = 20;
+# Create table.
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), KEY SECOND(a, b)) ENGINE=INNODB;
+# Populate data
+INSERT INTO t1 VALUES(1, REPEAT('A', 256));
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+# Not enough page splits to trigger persistent stats write yet.
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) = 0
+1
+INSERT INTO t1 (b) SELECT b from t1;
+# Persistent stats recorded.
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+# Delete some rows.
+delete from t1 where a between 100 * 20 and 100 * 20 + 30;
+delete from t1 where a between 100 * 19 and 100 * 19 + 30;
+delete from t1 where a between 100 * 18 and 100 * 18 + 30;
+delete from t1 where a between 100 * 17 and 100 * 17 + 30;
+delete from t1 where a between 100 * 16 and 100 * 16 + 30;
+delete from t1 where a between 100 * 15 and 100 * 15 + 30;
+delete from t1 where a between 100 * 14 and 100 * 14 + 30;
+delete from t1 where a between 100 * 13 and 100 * 13 + 30;
+delete from t1 where a between 100 * 12 and 100 * 12 + 30;
+delete from t1 where a between 100 * 11 and 100 * 11 + 30;
+delete from t1 where a between 100 * 10 and 100 * 10 + 30;
+delete from t1 where a between 100 * 9 and 100 * 9 + 30;
+delete from t1 where a between 100 * 8 and 100 * 8 + 30;
+delete from t1 where a between 100 * 7 and 100 * 7 + 30;
+delete from t1 where a between 100 * 6 and 100 * 6 + 30;
+delete from t1 where a between 100 * 5 and 100 * 5 + 30;
+delete from t1 where a between 100 * 4 and 100 * 4 + 30;
+delete from t1 where a between 100 * 3 and 100 * 3 + 30;
+delete from t1 where a between 100 * 2 and 100 * 2 + 30;
+delete from t1 where a between 100 * 1 and 100 * 1 + 30;
+# Server Restarted
+# Confirm persistent stats still there after restart.
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+select sleep(2);
+sleep(2)
+0
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+set global innodb_defragment_stats_accuracy = 40;
+INSERT INTO t1 (b) SELECT b from t1;
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+INSERT INTO t1 (b) SELECT b from t1;
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+# Table rename should cause stats rename.
+rename table t1 to t2;
+select sleep(1);
+sleep(1)
+0
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) = 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_pages_freed');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+# Drop index should cause stats drop.
+drop index SECOND on t2;
+select sleep(3);
+sleep(3)
+0
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and index_name = 'SECOND' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and index_name = 'SECOND' and stat_name in ('n_pages_freed');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and index_name = 'SECOND' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+Server Restarted
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) = 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_pages_freed');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+# Clean up
+DROP TABLE t2;
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_page_split');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) = 0
+1
diff --git a/mysql-test/suite/innodb/r/innodb_defrag_stats_many_tables.result b/mysql-test/suite/innodb/r/innodb_defrag_stats_many_tables.result
new file mode 100644
index 00000000000..e668c38e059
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_defrag_stats_many_tables.result
@@ -0,0 +1,38 @@
+DROP TABLE if exists t1;
+SET @start_table_definition_cache = @@global.table_definition_cache;
+SET @@global.table_definition_cache = 400;
+SET @start_flush_log_at_trx_commit = @@global.innodb_flush_log_at_trx_commit;
+SET @@global.innodb_flush_log_at_trx_commit=2;
+SET @start_innodb_defragment_stats_accuracy = @@global.innodb_defragment_stats_accuracy;
+SET @@global.innodb_defragment_stats_accuracy = 80;
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), KEY SECOND(a, b)) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1, REPEAT('A', 256));
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+select stat_value > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name = 'n_page_split';
+stat_value > 0
+Create 505 table to overflow the table cache.
+Sleep for a while to make sure t1 is evicted.
+select sleep(15);
+sleep(15)
+0
+Reload t1 to get defrag stats from persistent storage
+INSERT INTO t1 (b) SELECT b from t1;
+make sure the stats thread will wake up and do the write even if there's a race condition between set and reset.
+select sleep(15);
+sleep(15)
+0
+select stat_value > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name = 'n_page_split';
+stat_value > 0
+SET @@global.innodb_defragment_stats_accuracy = @start_innodb_defragment_stats_accuracy;
+SET @@global.table_definition_cache = @start_table_definition_cache;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb_defragment.result b/mysql-test/suite/innodb/r/innodb_defragment.result
new file mode 100644
index 00000000000..5d53fde3549
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_defragment.result
@@ -0,0 +1,124 @@
+set global innodb_defragment_stats_accuracy = 80;
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), KEY SECOND(a, b)) ENGINE=INNODB;
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+INSERT INTO t1 VALUES (100000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (200000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (300000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (400000, REPEAT('A', 256));
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+create procedure defragment()
+begin
+set @i = 0;
+repeat
+set @i = @i + 1;
+optimize table t1;
+until @i = 3 end repeat;
+end //
+select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value)
+0
+select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value)
+2
+select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value)
+2
+select count(*) from t1;
+count(*)
+10004
+call defragment();
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+select count(*) from t1;
+count(*)
+7904
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+0
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) > 0
+1
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 0
+1
+select count(*) from t1 force index (second);
+count(*)
+7904
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_page_split');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) = 0
+1
+SET @@global.innodb_defragment_n_pages = 3;
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) < 3
+1
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) < 3
+1
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) < 3
+1
+select count(*) from t1;
+count(*)
+6904
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) < 3
+1
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) < 3
+1
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) < 3
+1
+select count(*) from t1 force index (second);
+count(*)
+6904
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_page_split');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) = 0
+1
+SET @@global.innodb_defragment_n_pages = 10;
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+select count(stat_value) > 1 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+count(stat_value) > 1
+1
+select count(stat_value) > 1 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+count(stat_value) > 1
+1
+select count(stat_value) > 1 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) > 1
+1
+select count(*) from t1 force index (second);
+count(*)
+6904
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_pages_freed');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_page_split');
+count(stat_value) = 0
+1
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_leaf_pages_defrag');
+count(stat_value) = 0
+1
+DROP PROCEDURE defragment;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb_defragment_fill_factor.result b/mysql-test/suite/innodb/r/innodb_defragment_fill_factor.result
new file mode 100644
index 00000000000..e1e616a7e6f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_defragment_fill_factor.result
@@ -0,0 +1,116 @@
+DROP TABLE if exists t1;
+DROP TABLE if exists t2;
+Testing tables with large records
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), c VARCHAR(256), KEY SECOND(a, b,c)) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, REPEAT('A', 256), REPEAT('B', 256));
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+select count(*) from t1;
+count(*)
+927
+select count(*) from t1 force index (second);
+count(*)
+927
+# A few more insertions on the page should not cause a page split.
+insert into t1 values (81, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (83, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (87, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (82, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (86, REPEAT('A', 256), REPEAT('B', 256));
+# Insert more rows to cause a page split
+insert into t1 values (180, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (181, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (182, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (183, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (184, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (185, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (186, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (187, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (188, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (189, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (190, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (191, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (192, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (193, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (194, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (195, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (196, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (197, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (198, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (199, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (200, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (201, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (202, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (203, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (204, REPEAT('A', 256), REPEAT('B', 256));
+DROP TABLE t1;
+Testing table with small records
+CREATE TABLE t2 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(16), c VARCHAR(32), KEY SECOND(a,b,c)) ENGINE=INNODB;
+optimize table t2;
+Table Op Msg_type Msg_text
+test.t2 optimize status OK
+select count(*) from t2;
+count(*)
+3701
+select count(*) from t2 force index(second);
+count(*)
+3701
+The page should have room for about 20 insertions
+insert into t2 values(1181, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1191, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1182, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1192, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1183, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1193, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1184, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1194, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1185, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1195, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1186, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1196, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1187, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1197, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1188, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1198, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1189, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1199, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1190, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1180, REPEAT('A', 16), REPEAT('B',32));
+# Insert more rows to cause a page split
+insert into t2 values (180, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (181, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (182, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (183, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (184, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (185, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (186, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (187, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (188, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (189, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (190, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (191, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (192, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (193, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (194, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (195, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (196, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (197, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (198, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (199, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (200, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (201, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (202, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (203, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (204, REPEAT('A', 16), REPEAT('B', 32));
+DROP TABLE t2;
diff --git a/mysql-test/suite/innodb/r/innodb_defragment_small.result b/mysql-test/suite/innodb/r/innodb_defragment_small.result
new file mode 100644
index 00000000000..07e58f442d9
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_defragment_small.result
@@ -0,0 +1,35 @@
+SET @innodb_defragment_orig=@@GLOBAL.innodb_defragment;
+SET @innodb_optimize_fulltext_orig=@@GLOBAL.innodb_optimize_fulltext_only;
+SET GLOBAL innodb_defragment = 1;
+SET GLOBAL innodb_optimize_fulltext_only = 0;
+#
+# MDEV-12198 innodb_defragment=1 crashes server on
+# OPTIMIZE TABLE when FULLTEXT index exists
+#
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(256),
+KEY(a, b), FULLTEXT KEY(b)) ENGINE=INNODB;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+INSERT INTO t1 VALUES (100000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (200000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (300000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (400000, REPEAT('A', 256));
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+#
+# MDEV-15824 innodb_defragment=ON trumps
+# innodb_optimize_fulltext_only=ON in OPTIMIZE TABLE
+#
+SET GLOBAL innodb_optimize_fulltext_only = 1;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+SET GLOBAL innodb_defragment = 0;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+DROP TABLE t1;
+SET GLOBAL innodb_defragment = @innodb_defragment_orig;
+SET GLOBAL innodb_optimize_fulltext_only = @innodb_optimize_fulltext_orig;
diff --git a/mysql-test/suite/innodb/r/innodb_file_format.result b/mysql-test/suite/innodb/r/innodb_file_format.result
index 82b4c6fab60..77328a360a9 100644
--- a/mysql-test/suite/innodb/r/innodb_file_format.result
+++ b/mysql-test/suite/innodb/r/innodb_file_format.result
@@ -46,4 +46,3 @@ Antelope
set global innodb_file_format_max=antelope;
set global innodb_file_format_check=off;
ERROR HY000: Variable 'innodb_file_format_check' is a read only variable
-SET GLOBAL innodb_file_format=Antelope;
diff --git a/mysql-test/suite/innodb/r/innodb_force_pk.result b/mysql-test/suite/innodb/r/innodb_force_pk.result
new file mode 100644
index 00000000000..867730a9247
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_force_pk.result
@@ -0,0 +1,65 @@
+create table t1(a integer) engine=innodb;
+ERROR 42000: This table type requires a primary key
+show warnings;
+Level Code Message
+Error 1173 This table type requires a primary key
+create table t1(a integer unique key) engine=innodb;
+ERROR 42000: This table type requires a primary key
+show warnings;
+Level Code Message
+Error 1173 This table type requires a primary key
+create table t1(a integer not null, b integer,
+unique key(a,b)) engine=innodb;
+ERROR 42000: This table type requires a primary key
+show warnings;
+Level Code Message
+Error 1173 This table type requires a primary key
+create table t1(a integer not null primary key) engine=innodb;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+show warnings;
+Level Code Message
+drop table t1;
+create table t1(a integer not null unique key) engine=innodb;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ UNIQUE KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+show warnings;
+Level Code Message
+drop table t1;
+set global innodb_force_primary_key = 0;
+create table t1(a integer) engine=innodb;
+show warnings;
+Level Code Message
+insert into t1 values (1),(2),(3);
+set global innodb_force_primary_key = 1;
+select * from t1;
+a
+1
+2
+3
+create table t2(a integer) engine=innodb;
+ERROR 42000: This table type requires a primary key
+show warnings;
+Level Code Message
+Error 1173 This table type requires a primary key
+drop table t1;
+create table t1 (i int not null, key(i)) engine=innodb;
+ERROR 42000: This table type requires a primary key
+create table t1 (i int not null, unique key(i)) engine=innodb;
+show warnings;
+Level Code Message
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(11) NOT NULL,
+ UNIQUE KEY `i` (`i`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb_gis.result b/mysql-test/suite/innodb/r/innodb_gis.result
index 36b37e4ccd8..8270a7ad7ff 100644
--- a/mysql-test/suite/innodb/r/innodb_gis.result
+++ b/mysql-test/suite/innodb/r/innodb_gis.result
@@ -326,8 +326,8 @@ fid IsClosed(g)
116 0
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
fid AsText(Centroid(g))
-117 POINT(55.58852775304245 17.426536064113982)
-118 POINT(55.58852775304245 17.426536064113982)
+117 POINT(57.98031067576927 17.854754130800433)
+118 POINT(57.98031067576927 17.854754130800433)
119 POINT(2 2)
SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
fid Area(g)
@@ -392,10 +392,10 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
first second w c o e d t i r
-120 120 1 1 0 1 0 1 1 0
+120 120 1 1 0 1 0 0 1 0
120 121 0 0 1 0 0 0 1 0
121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 1 1 0
+121 121 1 1 0 1 0 0 1 0
explain extended SELECT g1.fid as first, g2.fid as second,
Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
@@ -494,7 +494,7 @@ mbroverlaps
down,left,right,up
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
mbrtouches
-big,center,down,down2,left,left2,right,right2,small,up,up2
+down2,left2,right2,up2
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
mbrwithin
big,center
@@ -515,7 +515,7 @@ overlaps
down,left,right,up
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
touches
-big,center,down,down2,left,left2,right,right2,small,up,up2
+down2,left2,right2,up2
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
within
big,center
@@ -598,4 +598,4 @@ create table t1 (a int not null, b linestring not null, unique key b (b(12)));
create unique index a on t1(a);
drop table t1;
create table t1 (g geometry not null, spatial gk(g)) engine=innodb;
-ERROR HY000: The used table type doesn't support SPATIAL indexes
+ERROR HY000: The storage engine InnoDB doesn't support SPATIAL indexes
diff --git a/mysql-test/suite/innodb/r/innodb_information_schema.result b/mysql-test/suite/innodb/r/innodb_information_schema.result
index 13de084bc09..1b83bc29493 100644
--- a/mysql-test/suite/innodb/r/innodb_information_schema.result
+++ b/mysql-test/suite/innodb/r/innodb_information_schema.result
@@ -1,18 +1,18 @@
lock_mode lock_type lock_table lock_index lock_rec lock_data
-X RECORD `test`.```t'\"_str` `PRIMARY` 2 '1', 'abc', '''abc', 'abc''', 'a''bc', 'a''bc''', '''abc'''''
-X RECORD `test`.```t'\"_str` `PRIMARY` 2 '1', 'abc', '''abc', 'abc''', 'a''bc', 'a''bc''', '''abc'''''
-X RECORD `test`.```t'\"_str` `PRIMARY` 3 '2', 'abc', '"abc', 'abc"', 'a"bc', 'a"bc"', '"abc""'
-X RECORD `test`.```t'\"_str` `PRIMARY` 3 '2', 'abc', '"abc', 'abc"', 'a"bc', 'a"bc"', '"abc""'
-X RECORD `test`.```t'\"_str` `PRIMARY` 4 '3', 'abc', '\\abc', 'abc\\', 'a\\bc', 'a\\bc\\', '\\abc\\\\'
-X RECORD `test`.```t'\"_str` `PRIMARY` 4 '3', 'abc', '\\abc', 'abc\\', 'a\\bc', 'a\\bc\\', '\\abc\\\\'
-X RECORD `test`.```t'\"_str` `PRIMARY` 5 '4', 'abc', '\0abc', 'abc\0', 'a\0bc', 'a\0bc\0', 'a\0bc\0\0'
-X RECORD `test`.```t'\"_str` `PRIMARY` 5 '4', 'abc', '\0abc', 'abc\0', 'a\0bc', 'a\0bc\0', 'a\0bc\0\0'
-X RECORD `test`.`t_min` `PRIMARY` 2 -128, 0, -32768, 0, -8388608, 0, -2147483648, 0, -9223372036854775808, 0
-X RECORD `test`.`t_min` `PRIMARY` 2 -128, 0, -32768, 0, -8388608, 0, -2147483648, 0, -9223372036854775808, 0
-X RECORD `test`.`t_max` `PRIMARY` 2 127, 255, 32767, 65535, 8388607, 16777215, 2147483647, 4294967295, 9223372036854775807, 18446744073709551615
-X RECORD `test`.`t_max` `PRIMARY` 2 127, 255, 32767, 65535, 8388607, 16777215, 2147483647, 4294967295, 9223372036854775807, 18446744073709551615
-X RECORD `test`.```t'\"_str` `PRIMARY` 1 supremum pseudo-record
-X RECORD `test`.```t'\"_str` `PRIMARY` 1 supremum pseudo-record
+X RECORD `test`.```t'\"_str` PRIMARY 2 '1', 'abc', '''abc', 'abc''', 'a''bc', 'a''bc''', '''abc'''''
+X RECORD `test`.```t'\"_str` PRIMARY 2 '1', 'abc', '''abc', 'abc''', 'a''bc', 'a''bc''', '''abc'''''
+X RECORD `test`.```t'\"_str` PRIMARY 3 '2', 'abc', '"abc', 'abc"', 'a"bc', 'a"bc"', '"abc""'
+X RECORD `test`.```t'\"_str` PRIMARY 3 '2', 'abc', '"abc', 'abc"', 'a"bc', 'a"bc"', '"abc""'
+X RECORD `test`.```t'\"_str` PRIMARY 4 '3', 'abc', '\\abc', 'abc\\', 'a\\bc', 'a\\bc\\', '\\abc\\\\'
+X RECORD `test`.```t'\"_str` PRIMARY 4 '3', 'abc', '\\abc', 'abc\\', 'a\\bc', 'a\\bc\\', '\\abc\\\\'
+X RECORD `test`.```t'\"_str` PRIMARY 5 '4', 'abc', '\0abc', 'abc\0', 'a\0bc', 'a\0bc\0', 'a\0bc\0\0'
+X RECORD `test`.```t'\"_str` PRIMARY 5 '4', 'abc', '\0abc', 'abc\0', 'a\0bc', 'a\0bc\0', 'a\0bc\0\0'
+X RECORD `test`.`t_min` PRIMARY 2 -128, 0, -32768, 0, -8388608, 0, -2147483648, 0, -9223372036854775808, 0
+X RECORD `test`.`t_min` PRIMARY 2 -128, 0, -32768, 0, -8388608, 0, -2147483648, 0, -9223372036854775808, 0
+X RECORD `test`.`t_max` PRIMARY 2 127, 255, 32767, 65535, 8388607, 16777215, 2147483647, 4294967295, 9223372036854775807, 18446744073709551615
+X RECORD `test`.`t_max` PRIMARY 2 127, 255, 32767, 65535, 8388607, 16777215, 2147483647, 4294967295, 9223372036854775807, 18446744073709551615
+X RECORD `test`.```t'\"_str` PRIMARY 1 supremum pseudo-record
+X RECORD `test`.```t'\"_str` PRIMARY 1 supremum pseudo-record
lock_table COUNT(*)
`test`.`t_max` 2
`test`.`t_min` 2
@@ -44,9 +44,11 @@ trx_foreign_key_checks int(1) NO 0
trx_last_foreign_key_error varchar(256) YES NULL
trx_adaptive_hash_latched int(1) NO 0
trx_adaptive_hash_timeout bigint(21) unsigned NO 0
+trx_is_read_only int(1) NO 0
+trx_autocommit_non_locking int(1) NO 0
trx_state trx_weight trx_tables_in_use trx_tables_locked trx_rows_locked trx_rows_modified trx_concurrency_tickets trx_isolation_level trx_unique_checks trx_foreign_key_checks
RUNNING 4 0 0 7 1 0 REPEATABLE READ 1 1
trx_isolation_level trx_unique_checks trx_foreign_key_checks
SERIALIZABLE 0 0
trx_state trx_isolation_level trx_last_foreign_key_error
-RUNNING REPEATABLE READ `test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c02`) REFERENCES `t1` (`c01`)
+RUNNING REPEATABLE READ `test`.`t2`, CONSTRAINT `fk1` FOREIGN KEY (`c02`) REFERENCES `t1` (`c01`)
diff --git a/mysql-test/suite/innodb/r/innodb_information_schema_buffer.result b/mysql-test/suite/innodb/r/innodb_information_schema_buffer.result
index b4a350e77a3..dcdf3082067 100644
--- a/mysql-test/suite/innodb/r/innodb_information_schema_buffer.result
+++ b/mysql-test/suite/innodb/r/innodb_information_schema_buffer.result
@@ -6,28 +6,28 @@ CREATE TABLE infoschema_buffer_test (col1 INT) ENGINE = INNODB;
INSERT INTO infoschema_buffer_test VALUES(9);
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_buffer_test"
+WHERE TABLE_NAME like "%infoschema_buffer_test%"
and PAGE_STATE="file_page" and PAGE_TYPE="index";
TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
-test/infoschema_buffer_test GEN_CLUST_INDEX 1 29 FILE_PAGE INDEX
+`test`.`infoschema_buffer_test` GEN_CLUST_INDEX 1 29 FILE_PAGE INDEX
INSERT INTO infoschema_buffer_test VALUES(19);
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_buffer_test"
+WHERE TABLE_NAME like "%infoschema_buffer_test%"
and PAGE_STATE="file_page" and PAGE_TYPE="index";
TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
-test/infoschema_buffer_test GEN_CLUST_INDEX 2 58 FILE_PAGE INDEX
+`test`.`infoschema_buffer_test` GEN_CLUST_INDEX 2 58 FILE_PAGE INDEX
CREATE INDEX idx ON infoschema_buffer_test(col1);
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_buffer_test"
+WHERE TABLE_NAME like "%infoschema_buffer_test%"
and PAGE_STATE="file_page" and INDEX_NAME = "idx" and PAGE_TYPE="index";
TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
-test/infoschema_buffer_test idx 2 32 FILE_PAGE INDEX
+`test`.`infoschema_buffer_test` idx 2 32 FILE_PAGE INDEX
DROP TABLE infoschema_buffer_test;
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_buffer_test";
+WHERE TABLE_NAME like "%infoschema_buffer_test%";
TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
CREATE TABLE infoschema_parent (id INT NOT NULL, PRIMARY KEY (id))
ENGINE=INNODB;
@@ -38,93 +38,9 @@ ON DELETE CASCADE)
ENGINE=INNODB;
SELECT count(*)
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_child" and PAGE_STATE="file_page"
+WHERE TABLE_NAME like "%infoschema_child%" and PAGE_STATE="file_page"
and PAGE_TYPE="index";
count(*)
2
DROP TABLE infoschema_child;
DROP TABLE infoschema_parent;
-show create table information_schema.innodb_buffer_page;
-Table Create Table
-INNODB_BUFFER_PAGE CREATE TEMPORARY TABLE `INNODB_BUFFER_PAGE` (
- `POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
- `BLOCK_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
- `SPACE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PAGE_NUMBER` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PAGE_TYPE` varchar(64) DEFAULT NULL,
- `FLUSH_TYPE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `FIX_COUNT` bigint(21) unsigned NOT NULL DEFAULT '0',
- `IS_HASHED` varchar(3) DEFAULT NULL,
- `NEWEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
- `OLDEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
- `ACCESS_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
- `TABLE_NAME` varchar(1024) DEFAULT NULL,
- `INDEX_NAME` varchar(1024) DEFAULT NULL,
- `NUMBER_RECORDS` bigint(21) unsigned NOT NULL DEFAULT '0',
- `DATA_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `COMPRESSED_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PAGE_STATE` varchar(64) DEFAULT NULL,
- `IO_FIX` varchar(64) DEFAULT NULL,
- `IS_OLD` varchar(3) DEFAULT NULL,
- `FREE_PAGE_CLOCK` bigint(21) unsigned NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-show create table information_schema.innodb_buffer_page_lru;
-Table Create Table
-INNODB_BUFFER_PAGE_LRU CREATE TEMPORARY TABLE `INNODB_BUFFER_PAGE_LRU` (
- `POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
- `LRU_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0',
- `SPACE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PAGE_NUMBER` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PAGE_TYPE` varchar(64) DEFAULT NULL,
- `FLUSH_TYPE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `FIX_COUNT` bigint(21) unsigned NOT NULL DEFAULT '0',
- `IS_HASHED` varchar(3) DEFAULT NULL,
- `NEWEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
- `OLDEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
- `ACCESS_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
- `TABLE_NAME` varchar(1024) DEFAULT NULL,
- `INDEX_NAME` varchar(1024) DEFAULT NULL,
- `NUMBER_RECORDS` bigint(21) unsigned NOT NULL DEFAULT '0',
- `DATA_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `COMPRESSED_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `COMPRESSED` varchar(3) DEFAULT NULL,
- `IO_FIX` varchar(64) DEFAULT NULL,
- `IS_OLD` varchar(3) DEFAULT NULL,
- `FREE_PAGE_CLOCK` bigint(21) unsigned NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-show create table information_schema.innodb_buffer_pool_stats;
-Table Create Table
-INNODB_BUFFER_POOL_STATS CREATE TEMPORARY TABLE `INNODB_BUFFER_POOL_STATS` (
- `POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
- `POOL_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `FREE_BUFFERS` bigint(21) unsigned NOT NULL DEFAULT '0',
- `DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
- `OLD_DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
- `MODIFIED_DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PENDING_DECOMPRESS` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PENDING_READS` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PENDING_FLUSH_LRU` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PENDING_FLUSH_LIST` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PAGES_MADE_YOUNG` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PAGES_NOT_MADE_YOUNG` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PAGES_MADE_YOUNG_RATE` double NOT NULL DEFAULT '0',
- `PAGES_MADE_NOT_YOUNG_RATE` double NOT NULL DEFAULT '0',
- `NUMBER_PAGES_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
- `NUMBER_PAGES_CREATED` bigint(21) unsigned NOT NULL DEFAULT '0',
- `NUMBER_PAGES_WRITTEN` bigint(21) unsigned NOT NULL DEFAULT '0',
- `PAGES_READ_RATE` double NOT NULL DEFAULT '0',
- `PAGES_CREATE_RATE` double NOT NULL DEFAULT '0',
- `PAGES_WRITTEN_RATE` double NOT NULL DEFAULT '0',
- `NUMBER_PAGES_GET` bigint(21) unsigned NOT NULL DEFAULT '0',
- `HIT_RATE` bigint(21) unsigned NOT NULL DEFAULT '0',
- `YOUNG_MAKE_PER_THOUSAND_GETS` bigint(21) unsigned NOT NULL DEFAULT '0',
- `NOT_YOUNG_MAKE_PER_THOUSAND_GETS` bigint(21) unsigned NOT NULL DEFAULT '0',
- `NUMBER_PAGES_READ_AHEAD` bigint(21) unsigned NOT NULL DEFAULT '0',
- `NUMBER_READ_AHEAD_EVICTED` bigint(21) unsigned NOT NULL DEFAULT '0',
- `READ_AHEAD_RATE` double NOT NULL DEFAULT '0',
- `READ_AHEAD_EVICTED_RATE` double NOT NULL DEFAULT '0',
- `LRU_IO_TOTAL` bigint(21) unsigned NOT NULL DEFAULT '0',
- `LRU_IO_CURRENT` bigint(21) unsigned NOT NULL DEFAULT '0',
- `UNCOMPRESS_TOTAL` bigint(21) unsigned NOT NULL DEFAULT '0',
- `UNCOMPRESS_CURRENT` bigint(21) unsigned NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
diff --git a/mysql-test/suite/innodb/r/innodb_lock_wait_timeout_1.result b/mysql-test/suite/innodb/r/innodb_lock_wait_timeout_1.result
index bd8760b8f79..26ed20ca730 100644
--- a/mysql-test/suite/innodb/r/innodb_lock_wait_timeout_1.result
+++ b/mysql-test/suite/innodb/r/innodb_lock_wait_timeout_1.result
@@ -140,16 +140,6 @@ key_len NULL
ref NULL
rows NULL
Extra No tables used
-id NULL
-select_type UNION RESULT
-table <union2,3>
-type ALL
-possible_keys NULL
-key NULL
-key_len NULL
-ref NULL
-rows NULL
-Extra
#
# Demonstrate that the reported SELECT statement
# no longer produces warnings.
@@ -344,16 +334,6 @@ key_len NULL
ref NULL
rows NULL
Extra No tables used
-id NULL
-select_type UNION RESULT
-table <union2,3>
-type ALL
-possible_keys NULL
-key NULL
-key_len NULL
-ref NULL
-rows NULL
-Extra
# Lock the record.
select 1 from t1 natural join (select 3 as a, 2 as b union all
select 3 as a, 1 as b) as t2 for update;
diff --git a/mysql-test/suite/innodb/r/innodb_max_recordsize_32k.result b/mysql-test/suite/innodb/r/innodb_max_recordsize_32k.result
new file mode 100644
index 00000000000..d41eaf6db99
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_max_recordsize_32k.result
@@ -0,0 +1,388 @@
+SELECT @@innodb_page_size;
+@@innodb_page_size
+32768
+SET GLOBAL innodb_file_format='Barracuda';
+SET GLOBAL innodb_file_per_table=ON;
+SET @@innodb_strict_mode=ON;
+SELECT @@innodb_file_format;
+@@innodb_file_format
+Barracuda
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+SELECT @@innodb_strict_mode;
+@@innodb_strict_mode
+1
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT= COMPACT;
+ERROR 42000: Row size too large (> 16318). 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.
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT= DYNAMIC;
+ERROR 42000: Row size too large (> 16318). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+show warnings;
+Level Code Message
+Error 1118 Row size too large (> 16318). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+Warning 1030 Got error 139 "Too big row" from storage engine InnoDB
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+ERROR 42000: Row size too large (> 16315). 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.
+show warnings;
+Level Code Message
+Error 1118 Row size too large (> 16315). 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.
+Warning 1030 Got error 139 "Too big row" from storage engine InnoDB
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=FIXED;
+ERROR HY000: Can't create table `test`.`tab5` (errno: 140 "Wrong create options")
+show warnings;
+Level Code Message
+Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
+Error 1005 Can't create table `test`.`tab5` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPRESSED;
+ERROR HY000: Can't create table `test`.`tab5` (errno: 140 "Wrong create options")
+show warnings;
+Level Code Message
+Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k.
+Error 1005 Can't create table `test`.`tab5` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+SET @@innodb_strict_mode=OFF;
+SELECT @@innodb_strict_mode;
+@@innodb_strict_mode
+0
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPACT;
+Warnings:
+Warning 139 Row size too large (> NNNN). 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.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),'a',NULL);
+ERROR 42000: Row size too large (> 16318). 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.
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPACT;
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',156),NULL);
+ERROR 42000: Row size too large (> 16318). 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.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',155),NULL);
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa NULL
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=DYNAMIC;
+ERROR 42000: Row size too large (> 16318). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=DYNAMIC;
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',156),NULL);
+ERROR 42000: Row size too large (> 16318). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',155),NULL);
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa NULL
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+Warnings:
+Warning 139 Row size too large (> NNNN). 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.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255));
+ERROR 42000: Row size too large (> 16315). 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.
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',89),NULL);
+ERROR 42000: Row size too large (> 16315). 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.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',88),NULL);
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa NULL
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPRESSED;
+Warnings:
+Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > NNNNk. Assuming ROW_FORMAT=COMPACT.
+DROP TABLE tab5;
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+Level Code Message
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+LENGTH(col)
+16384
+32768
+65535
+FLUSH TABLE t;
+ANALYZE TABLE t;
+Table Op Msg_type Msg_text
+test.t analyze status OK
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+stat_value
+6
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+clustered_index_size
+7
+DROP TABLE t;
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+Level Code Message
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+LENGTH(col)
+16384
+32768
+65535
+FLUSH TABLE t;
+ANALYZE TABLE t;
+Table Op Msg_type Msg_text
+test.t analyze status OK
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+stat_value
+4
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+clustered_index_size
+5
+DROP TABLE t;
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+Level Code Message
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+LENGTH(col)
+16384
+32768
+65535
+FLUSH TABLE t;
+ANALYZE TABLE t;
+Table Op Msg_type Msg_text
+test.t analyze status OK
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+stat_value
+4
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+clustered_index_size
+5
+DROP TABLE t;
+# Success
diff --git a/mysql-test/suite/innodb/r/innodb_max_recordsize_64k.result b/mysql-test/suite/innodb/r/innodb_max_recordsize_64k.result
new file mode 100644
index 00000000000..e7497047295
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_max_recordsize_64k.result
@@ -0,0 +1,591 @@
+SELECT @@innodb_page_size;
+@@innodb_page_size
+65536
+SET GLOBAL innodb_file_format='Barracuda';
+SET GLOBAL innodb_file_per_table=ON;
+SET @@innodb_strict_mode=ON;
+SELECT @@innodb_file_format;
+@@innodb_file_format
+Barracuda
+SELECT @@innodb_file_per_table;
+@@innodb_file_per_table
+1
+SELECT @@innodb_strict_mode;
+@@innodb_strict_mode
+1
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT= COMPACT;
+ERROR 42000: Row size too large (> 16383). 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.
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT= DYNAMIC;
+ERROR 42000: Row size too large (> 16383). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+ERROR 42000: Row size too large (> 16382). 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.
+show warnings;
+Level Code Message
+Error 1118 Row size too large (> 16382). 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.
+Warning 1030 Got error 139 "Too big row" from storage engine InnoDB
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=FIXED;
+ERROR HY000: Can't create table `test`.`tab5` (errno: 140 "Wrong create options")
+show warnings;
+Level Code Message
+Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
+Error 1005 Can't create table `test`.`tab5` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPRESSED;
+ERROR HY000: Can't create table `test`.`tab5` (errno: 140 "Wrong create options")
+show warnings;
+Level Code Message
+Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k.
+Error 1005 Can't create table `test`.`tab5` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+SET @@innodb_strict_mode=OFF;
+SELECT @@innodb_strict_mode;
+@@innodb_strict_mode
+0
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=COMPACT;
+Warnings:
+Warning 139 Row size too large (> NNNN). 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.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),'a',NULL);
+ERROR 42000: Row size too large (> 16383). 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.
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65 ccol1 ccol2 ccol3 ccol4 ccol5 ccol6 ccol7 ccol8 ccol9 ccol10 ccol11 ccol12 ccol13 ccol14 ccol15 ccol16 ccol17 ccol18 ccol19 ccol20 ccol21 ccol22 ccol23 ccol24 ccol25 ccol26 ccol27 ccol28 ccol29 ccol30 ccol31 ccol32 ccol33 ccol34 ccol35 ccol36 ccol37 ccol38 ccol39 ccol40 ccol41 ccol42 ccol43 ccol44 ccol45 ccol46 ccol47 ccol48 ccol49 ccol50 ccol51 ccol52 ccol53 ccol54 ccol55 ccol56 ccol57 ccol58 ccol59 ccol60 ccol61 ccol62 ccol63 ccol64 ccol65
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255),
+ccol1 VARCHAR(255),ccol2 VARCHAR(255),ccol3 VARCHAR(255),ccol4 VARCHAR(255),ccol5 VARCHAR(255),
+ccol6 VARCHAR(255),ccol7 VARCHAR(255),ccol8 VARCHAR(255),ccol9 VARCHAR(255),ccol10 VARCHAR(255), ccol11 VARCHAR(255),
+ccol12 VARCHAR(255),ccol13 VARCHAR(255),ccol14 VARCHAR(255),ccol15 VARCHAR(255),ccol16 VARCHAR(255), ccol17 VARCHAR(255),
+ccol18 VARCHAR(255),ccol19 VARCHAR(255),ccol20 VARCHAR(255),ccol21 VARCHAR(255),ccol22 VARCHAR(255), ccol23 VARCHAR(255),
+ccol24 VARCHAR(255),ccol25 VARCHAR(255),ccol26 VARCHAR(255),ccol27 VARCHAR(255),ccol28 VARCHAR(255), ccol29 VARCHAR(255),
+ccol30 VARCHAR(255),ccol31 VARCHAR(255),ccol32 VARCHAR(255),ccol33 VARCHAR(255),ccol34 VARCHAR(255), ccol35 VARCHAR(255),
+ccol36 VARCHAR(255),ccol37 VARCHAR(255),ccol38 VARCHAR(255),ccol39 VARCHAR(255),ccol40 VARCHAR(255), ccol41 VARCHAR(255),
+ccol42 VARCHAR(255),ccol43 VARCHAR(255),ccol44 VARCHAR(255),ccol45 VARCHAR(255),ccol46 VARCHAR(255), ccol47 VARCHAR(255),
+ccol48 VARCHAR(255),ccol49 VARCHAR(255),ccol50 VARCHAR(255),ccol51 VARCHAR(255),ccol52 VARCHAR(255), ccol53 VARCHAR(255),
+ccol54 VARCHAR(255),ccol55 VARCHAR(255),ccol56 VARCHAR(255),ccol57 VARCHAR(255),ccol58 VARCHAR(255), ccol59 VARCHAR(255),
+ccol60 VARCHAR(255),ccol61 VARCHAR(255),ccol62 VARCHAR(255),ccol63 VARCHAR(255),ccol64 VARCHAR(255), ccol65 VARCHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=COMPACT;
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',214),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+ERROR 42000: Row size too large (> 16383). 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.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',213),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65 ccol1 ccol2 ccol3 ccol4 ccol5 ccol6 ccol7 ccol8 ccol9 ccol10 ccol11 ccol12 ccol13 ccol14 ccol15 ccol16 ccol17 ccol18 ccol19 ccol20 ccol21 ccol22 ccol23 ccol24 ccol25 ccol26 ccol27 ccol28 ccol29 ccol30 ccol31 ccol32 ccol33 ccol34 ccol35 ccol36 ccol37 ccol38 ccol39 ccol40 ccol41 ccol42 ccol43 ccol44 ccol45 ccol46 ccol47 ccol48 ccol49 ccol50 ccol51 ccol52 ccol53 ccol54 ccol55 ccol56 ccol57 ccol58 ccol59 ccol60 ccol61 ccol62 ccol63 ccol64 ccol65
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=DYNAMIC;
+ERROR 42000: Row size too large (> 16383). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255),
+ccol1 VARCHAR(255),ccol2 VARCHAR(255),ccol3 VARCHAR(255),ccol4 VARCHAR(255),ccol5 VARCHAR(255),
+ccol6 VARCHAR(255),ccol7 VARCHAR(255),ccol8 VARCHAR(255),ccol9 VARCHAR(255),ccol10 VARCHAR(255), ccol11 VARCHAR(255),
+ccol12 VARCHAR(255),ccol13 VARCHAR(255),ccol14 VARCHAR(255),ccol15 VARCHAR(255),ccol16 VARCHAR(255), ccol17 VARCHAR(255),
+ccol18 VARCHAR(255),ccol19 VARCHAR(255),ccol20 VARCHAR(255),ccol21 VARCHAR(255),ccol22 VARCHAR(255), ccol23 VARCHAR(255),
+ccol24 VARCHAR(255),ccol25 VARCHAR(255),ccol26 VARCHAR(255),ccol27 VARCHAR(255),ccol28 VARCHAR(255), ccol29 VARCHAR(255),
+ccol30 VARCHAR(255),ccol31 VARCHAR(255),ccol32 VARCHAR(255),ccol33 VARCHAR(255),ccol34 VARCHAR(255), ccol35 VARCHAR(255),
+ccol36 VARCHAR(255),ccol37 VARCHAR(255),ccol38 VARCHAR(255),ccol39 VARCHAR(255),ccol40 VARCHAR(255), ccol41 VARCHAR(255),
+ccol42 VARCHAR(255),ccol43 VARCHAR(255),ccol44 VARCHAR(255),ccol45 VARCHAR(255),ccol46 VARCHAR(255), ccol47 VARCHAR(255),
+ccol48 VARCHAR(255),ccol49 VARCHAR(255),ccol50 VARCHAR(255),ccol51 VARCHAR(255),ccol52 VARCHAR(255), ccol53 VARCHAR(255),
+ccol54 VARCHAR(255),ccol55 VARCHAR(255),ccol56 VARCHAR(255),ccol57 VARCHAR(255),ccol58 VARCHAR(255), ccol59 VARCHAR(255),
+ccol60 VARCHAR(255),ccol61 VARCHAR(255),ccol62 VARCHAR(255),ccol63 VARCHAR(255),ccol64 VARCHAR(255), ccol65 VARCHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=DYNAMIC;
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',214),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+ERROR 42000: Row size too large (> 16383). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',213),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65 ccol1 ccol2 ccol3 ccol4 ccol5 ccol6 ccol7 ccol8 ccol9 ccol10 ccol11 ccol12 ccol13 ccol14 ccol15 ccol16 ccol17 ccol18 ccol19 ccol20 ccol21 ccol22 ccol23 ccol24 ccol25 ccol26 ccol27 ccol28 ccol29 ccol30 ccol31 ccol32 ccol33 ccol34 ccol35 ccol36 ccol37 ccol38 ccol39 ccol40 ccol41 ccol42 ccol43 ccol44 ccol45 ccol46 ccol47 ccol48 ccol49 ccol50 ccol51 ccol52 ccol53 ccol54 ccol55 ccol56 ccol57 ccol58 ccol59 ccol60 ccol61 ccol62 ccol63 ccol64 ccol65
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+Warnings:
+Warning 139 Row size too large (> NNNN). 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.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+ERROR 42000: Row size too large (> 16382). 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.
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65 ccol1 ccol2 ccol3 ccol4 ccol5 ccol6 ccol7 ccol8 ccol9 ccol10 ccol11 ccol12 ccol13 ccol14 ccol15 ccol16 ccol17 ccol18 ccol19 ccol20 ccol21 ccol22 ccol23 ccol24 ccol25 ccol26 ccol27 ccol28 ccol29 ccol30 ccol31 ccol32 ccol33 ccol34 ccol35 ccol36 ccol37 ccol38 ccol39 ccol40 ccol41 ccol42 ccol43 ccol44 ccol45 ccol46 ccol47 ccol48 ccol49 ccol50 ccol51 ccol52 ccol53 ccol54 ccol55 ccol56 ccol57 ccol58 ccol59 ccol60 ccol61 ccol62 ccol63 ccol64 ccol65
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255),
+ccol1 VARCHAR(255),ccol2 VARCHAR(255),ccol3 VARCHAR(255),ccol4 VARCHAR(255),ccol5 VARCHAR(255),
+ccol6 VARCHAR(255),ccol7 VARCHAR(255),ccol8 VARCHAR(255),ccol9 VARCHAR(255),ccol10 VARCHAR(255), ccol11 VARCHAR(255),
+ccol12 VARCHAR(255),ccol13 VARCHAR(255),ccol14 VARCHAR(255),ccol15 VARCHAR(255),ccol16 VARCHAR(255), ccol17 VARCHAR(255),
+ccol18 VARCHAR(255),ccol19 VARCHAR(255),ccol20 VARCHAR(255),ccol21 VARCHAR(255),ccol22 VARCHAR(255), ccol23 VARCHAR(255),
+ccol24 VARCHAR(255),ccol25 VARCHAR(255),ccol26 VARCHAR(255),ccol27 VARCHAR(255),ccol28 VARCHAR(255), ccol29 VARCHAR(255),
+ccol30 VARCHAR(255),ccol31 VARCHAR(255),ccol32 VARCHAR(255),ccol33 VARCHAR(255),ccol34 VARCHAR(255), ccol35 VARCHAR(255),
+ccol36 VARCHAR(255),ccol37 VARCHAR(255),ccol38 VARCHAR(255),ccol39 VARCHAR(255),ccol40 VARCHAR(255), ccol41 VARCHAR(255),
+ccol42 VARCHAR(255),ccol43 VARCHAR(255),ccol44 VARCHAR(255),ccol45 VARCHAR(255),ccol46 VARCHAR(255), ccol47 VARCHAR(255),
+ccol48 VARCHAR(255),ccol49 VARCHAR(255),ccol50 VARCHAR(255),ccol51 VARCHAR(255),ccol52 VARCHAR(255), ccol53 VARCHAR(255),
+ccol54 VARCHAR(255),ccol55 VARCHAR(255),ccol56 VARCHAR(255),ccol57 VARCHAR(255),ccol58 VARCHAR(255), ccol59 VARCHAR(255),
+ccol60 VARCHAR(255),ccol61 VARCHAR(255),ccol62 VARCHAR(255),ccol63 VARCHAR(255),ccol64 VARCHAR(255), ccol65 VARCHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',27),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+ERROR 42000: Row size too large (> 16382). 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.
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',26),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+SELECT * FROM tab5;
+col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65 ccol1 ccol2 ccol3 ccol4 ccol5 ccol6 ccol7 ccol8 ccol9 ccol10 ccol11 ccol12 ccol13 ccol14 ccol15 ccol16 ccol17 ccol18 ccol19 ccol20 ccol21 ccol22 ccol23 ccol24 ccol25 ccol26 ccol27 ccol28 ccol29 ccol30 ccol31 ccol32 ccol33 ccol34 ccol35 ccol36 ccol37 ccol38 ccol39 ccol40 ccol41 ccol42 ccol43 ccol44 ccol45 ccol46 ccol47 ccol48 ccol49 ccol50 ccol51 ccol52 ccol53 ccol54 ccol55 ccol56 ccol57 ccol58 ccol59 ccol60 ccol61 ccol62 ccol63 ccol64 ccol65
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
+DROP TABLE tab5;
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPRESSED;
+Warnings:
+Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > NNNNk. Assuming ROW_FORMAT=COMPACT.
+DROP TABLE tab5;
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+Level Code Message
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+LENGTH(col)
+16384
+32768
+65535
+FLUSH TABLE t;
+ANALYZE TABLE t;
+Table Op Msg_type Msg_text
+test.t analyze status OK
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+stat_value
+4
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+clustered_index_size
+5
+DROP TABLE t;
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+Level Code Message
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+LENGTH(col)
+16384
+32768
+65535
+FLUSH TABLE t;
+ANALYZE TABLE t;
+Table Op Msg_type Msg_text
+test.t analyze status OK
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+stat_value
+3
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+clustered_index_size
+4
+DROP TABLE t;
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+Level Code Message
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+LENGTH(col)
+16384
+32768
+65535
+FLUSH TABLE t;
+ANALYZE TABLE t;
+Table Op Msg_type Msg_text
+test.t analyze status OK
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+stat_value
+3
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+clustered_index_size
+4
+DROP TABLE t;
+# Success
diff --git a/mysql-test/suite/innodb/r/innodb_monitor.result b/mysql-test/suite/innodb/r/innodb_monitor.result
new file mode 100644
index 00000000000..33acfbdf996
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_monitor.result
@@ -0,0 +1,610 @@
+set global innodb_monitor_disable = All;
+select name, status from information_schema.innodb_metrics;
+name status
+metadata_table_handles_opened disabled
+metadata_table_handles_closed disabled
+metadata_table_reference_count disabled
+metadata_mem_pool_size disabled
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+buffer_pool_size disabled
+buffer_pool_reads disabled
+buffer_pool_read_requests disabled
+buffer_pool_write_requests disabled
+buffer_pool_wait_free disabled
+buffer_pool_read_ahead disabled
+buffer_pool_read_ahead_evicted disabled
+buffer_pool_pages_total disabled
+buffer_pool_pages_misc disabled
+buffer_pool_pages_data disabled
+buffer_pool_bytes_data disabled
+buffer_pool_pages_dirty disabled
+buffer_pool_bytes_dirty disabled
+buffer_pool_pages_free disabled
+buffer_pages_created disabled
+buffer_pages_written disabled
+buffer_index_pages_written disabled
+buffer_non_index_pages_written disabled
+buffer_pages_read disabled
+buffer_pages0_read disabled
+buffer_index_sec_rec_cluster_reads disabled
+buffer_index_sec_rec_cluster_reads_avoided disabled
+buffer_data_reads disabled
+buffer_data_written disabled
+buffer_flush_batch_scanned disabled
+buffer_flush_batch_num_scan disabled
+buffer_flush_batch_scanned_per_call disabled
+buffer_flush_batch_rescan disabled
+buffer_flush_batch_total_pages disabled
+buffer_flush_batches disabled
+buffer_flush_batch_pages disabled
+buffer_flush_neighbor_total_pages disabled
+buffer_flush_neighbor disabled
+buffer_flush_neighbor_pages disabled
+buffer_flush_n_to_flush_requested disabled
+buffer_flush_avg_page_rate disabled
+buffer_flush_lsn_avg_rate disabled
+buffer_flush_pct_for_dirty disabled
+buffer_flush_pct_for_lsn disabled
+buffer_flush_sync_waits disabled
+buffer_flush_adaptive_total_pages disabled
+buffer_flush_adaptive disabled
+buffer_flush_adaptive_pages disabled
+buffer_flush_sync_total_pages disabled
+buffer_flush_sync disabled
+buffer_flush_sync_pages disabled
+buffer_flush_background_total_pages disabled
+buffer_flush_background disabled
+buffer_flush_background_pages disabled
+buffer_LRU_batch_scanned disabled
+buffer_LRU_batch_num_scan disabled
+buffer_LRU_batch_scanned_per_call disabled
+buffer_LRU_batch_flush_total_pages disabled
+buffer_LRU_batches_flush disabled
+buffer_LRU_batch_flush_pages disabled
+buffer_LRU_batch_evict_total_pages disabled
+buffer_LRU_batches_evict disabled
+buffer_LRU_batch_evict_pages disabled
+buffer_LRU_single_flush_scanned disabled
+buffer_LRU_single_flush_num_scan disabled
+buffer_LRU_single_flush_scanned_per_call disabled
+buffer_LRU_single_flush_failure_count disabled
+buffer_LRU_get_free_search disabled
+buffer_LRU_search_scanned disabled
+buffer_LRU_search_num_scan disabled
+buffer_LRU_search_scanned_per_call disabled
+buffer_LRU_unzip_search_scanned disabled
+buffer_LRU_unzip_search_num_scan disabled
+buffer_LRU_unzip_search_scanned_per_call disabled
+buffer_page_read_index_leaf disabled
+buffer_page_read_index_non_leaf disabled
+buffer_page_read_index_ibuf_leaf disabled
+buffer_page_read_index_ibuf_non_leaf disabled
+buffer_page_read_undo_log disabled
+buffer_page_read_index_inode disabled
+buffer_page_read_ibuf_free_list disabled
+buffer_page_read_ibuf_bitmap disabled
+buffer_page_read_system_page disabled
+buffer_page_read_trx_system disabled
+buffer_page_read_fsp_hdr disabled
+buffer_page_read_xdes disabled
+buffer_page_read_blob disabled
+buffer_page_read_zblob disabled
+buffer_page_read_zblob2 disabled
+buffer_page_read_other disabled
+buffer_page_written_index_leaf disabled
+buffer_page_written_index_non_leaf disabled
+buffer_page_written_index_ibuf_leaf disabled
+buffer_page_written_index_ibuf_non_leaf disabled
+buffer_page_written_undo_log disabled
+buffer_page_written_index_inode disabled
+buffer_page_written_ibuf_free_list disabled
+buffer_page_written_ibuf_bitmap disabled
+buffer_page_written_system_page disabled
+buffer_page_written_trx_system disabled
+buffer_page_written_fsp_hdr disabled
+buffer_page_written_xdes disabled
+buffer_page_written_blob disabled
+buffer_page_written_zblob disabled
+buffer_page_written_zblob2 disabled
+buffer_page_written_other disabled
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs disabled
+os_pending_reads disabled
+os_pending_writes disabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs disabled
+os_log_pending_writes disabled
+trx_rw_commits disabled
+trx_ro_commits disabled
+trx_nl_ro_commits disabled
+trx_commits_insert_update disabled
+trx_rollbacks disabled
+trx_rollbacks_savepoint disabled
+trx_rollback_active disabled
+trx_active_transactions disabled
+trx_rseg_history_len disabled
+trx_undo_slots_used disabled
+trx_undo_slots_cached disabled
+trx_rseg_current_size disabled
+purge_del_mark_records disabled
+purge_upd_exist_or_extern_records disabled
+purge_invoked disabled
+purge_undo_log_pages disabled
+purge_dml_delay_usec disabled
+purge_stop_count disabled
+purge_resume_count disabled
+log_checkpoints disabled
+log_lsn_last_flush disabled
+log_lsn_last_checkpoint disabled
+log_lsn_current disabled
+log_lsn_checkpoint_age disabled
+log_lsn_buf_pool_oldest disabled
+log_max_modified_age_async disabled
+log_max_modified_age_sync disabled
+log_pending_log_writes disabled
+log_pending_checkpoint_writes disabled
+log_num_log_io disabled
+log_waits disabled
+log_write_requests disabled
+log_writes disabled
+compress_pages_compressed disabled
+compress_pages_decompressed disabled
+compression_pad_increments disabled
+compression_pad_decrements disabled
+compress_saved disabled
+compress_trim_sect512 disabled
+compress_trim_sect1024 disabled
+compress_trim_sect2048 disabled
+compress_trim_sect4096 disabled
+compress_trim_sect8192 disabled
+compress_trim_sect16384 disabled
+compress_trim_sect32768 disabled
+compress_pages_page_compressed disabled
+compress_page_compressed_trim_op disabled
+compress_page_compressed_trim_op_saved disabled
+compress_pages_page_decompressed disabled
+compress_pages_page_compression_error disabled
+compress_pages_encrypted disabled
+compress_pages_decrypted disabled
+index_page_splits disabled
+index_page_merge_attempts disabled
+index_page_merge_successful disabled
+index_page_reorg_attempts disabled
+index_page_reorg_successful disabled
+index_page_discards disabled
+adaptive_hash_searches disabled
+adaptive_hash_searches_btree disabled
+adaptive_hash_pages_added disabled
+adaptive_hash_pages_removed disabled
+adaptive_hash_rows_added disabled
+adaptive_hash_rows_removed disabled
+adaptive_hash_rows_deleted_no_hash_entry disabled
+adaptive_hash_rows_updated disabled
+file_num_open_files disabled
+ibuf_merges_insert disabled
+ibuf_merges_delete_mark disabled
+ibuf_merges_delete disabled
+ibuf_merges_discard_insert disabled
+ibuf_merges_discard_delete_mark disabled
+ibuf_merges_discard_delete disabled
+ibuf_merges disabled
+ibuf_size disabled
+innodb_master_thread_sleeps disabled
+innodb_activity_count disabled
+innodb_master_active_loops disabled
+innodb_master_idle_loops disabled
+innodb_background_drop_table_usec disabled
+innodb_ibuf_merge_usec disabled
+innodb_log_flush_usec disabled
+innodb_mem_validate_usec disabled
+innodb_master_purge_usec disabled
+innodb_dict_lru_usec disabled
+innodb_dict_lru_count_active disabled
+innodb_dict_lru_count_idle disabled
+innodb_checkpoint_usec disabled
+innodb_dblwr_writes disabled
+innodb_dblwr_pages_written disabled
+innodb_page_size disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+dml_reads disabled
+dml_inserts disabled
+dml_deletes disabled
+dml_updates disabled
+dml_system_reads disabled
+dml_system_inserts disabled
+dml_system_deletes disabled
+dml_system_updates disabled
+ddl_background_drop_indexes disabled
+ddl_background_drop_tables disabled
+ddl_online_create_index disabled
+ddl_pending_alter_table disabled
+icp_attempts disabled
+icp_no_match disabled
+icp_out_of_range disabled
+icp_match disabled
+set global innodb_monitor_enable = all;
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_enable = aaa;
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of 'aaa'
+set global innodb_monitor_disable = All;
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_reset_all = all;
+select name from information_schema.innodb_metrics where count!=0;
+name
+set global innodb_monitor_enable = "%lock%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+name
+set global innodb_monitor_disable = "%lock%";
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+name status
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+set global innodb_monitor_enable = "%lock*";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '%lock*'
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%%%%%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%_%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="log%%%%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+name
+set global innodb_monitor_enable="os_%a_fs_ncs";
+set global innodb_monitor_enable="os%pending%";
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+name status
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs enabled
+os_pending_reads enabled
+os_pending_writes enabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs enabled
+os_log_pending_writes enabled
+set global innodb_monitor_enable="";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of ''
+set global innodb_monitor_enable="_";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '_'
+set global innodb_monitor_disable = module_metadata;
+set global innodb_monitor_reset_all = module_metadata;
+set global innodb_monitor_enable = metadata_table_handles_opened;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 NULL NULL 0 enabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_disable = metadata_table_handles_opened;
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = metadata_table_handles_opened;
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_enable = metadata_table_handles_closed;
+create index idx on monitor_test(col);
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 2 NULL 2 enabled
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_metadata;
+set global innodb_monitor_reset = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+metadata_table_handles_closed 1 NULL 1 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+metadata_table_handles_closed NULL NULL 0 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = module_trx;
+begin;
+insert into monitor_test values(9);
+commit;
+begin;
+insert into monitor_test values(9);
+rollback;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+trx_rollbacks 1 NULL 1 1 NULL 1 enabled
+trx_active_transactions 1 0 0 1 0 0 enabled
+set global innodb_monitor_disable = module_trx;
+set global innodb_monitor_enable = module_dml;
+insert into monitor_test values(9);
+update monitor_test set col = 10 where col = 9;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 4 NULL 4 4 NULL 4 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 0 NULL 0 0 NULL 0 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 6 NULL 6 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 2 NULL 2 2 NULL 2 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 0 NULL 0 enabled
+dml_inserts 1 NULL 1 0 NULL 0 enabled
+dml_deletes 2 NULL 2 0 NULL 0 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_disable = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 disabled
+dml_inserts 3 NULL 3 2 NULL 2 disabled
+dml_deletes 4 NULL 4 2 NULL 2 disabled
+dml_updates 2 NULL 2 0 NULL 0 disabled
+dml_system_reads 0 NULL 0 0 NULL 0 disabled
+dml_system_inserts 0 NULL 0 0 NULL 0 disabled
+dml_system_deletes 0 NULL 0 0 NULL 0 disabled
+dml_system_updates 0 NULL 0 0 NULL 0 disabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = dml_inserts;
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts 2 NULL 2 2 NULL 2 enabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_dml;
+drop table monitor_test;
+set global innodb_monitor_enable = file_num_open_files;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+file_num_open_files # # # # # # enabled
+set global innodb_monitor_disable = file_num_open_files;
+set global innodb_monitor_enable = "icp%";
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+insert into monitor_test values("13", 2, "aa");
+select a from monitor_test where b < 1 for update;
+a
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 1
+icp_no_match 0
+icp_out_of_range 1
+icp_match 0
+select a from monitor_test where b < 3 for update;
+a
+13
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 2
+icp_no_match 0
+icp_out_of_range 1
+icp_match 1
+drop table monitor_test;
+set global innodb_monitor_disable = all;
+set global innodb_monitor_reset_all = all;
+select 1 from `information_schema`.`INNODB_METRICS`
+where case (1) when (1) then (AVG_COUNT_RESET) else (1) end;
+1
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
diff --git a/mysql-test/suite/innodb/r/innodb_multi_update.result b/mysql-test/suite/innodb/r/innodb_multi_update.result
index 558fc3938a8..64f9ebc2fc2 100644
--- a/mysql-test/suite/innodb/r/innodb_multi_update.result
+++ b/mysql-test/suite/innodb/r/innodb_multi_update.result
@@ -75,7 +75,7 @@ a b
5 15
drop table bug38999_1,bug38999_2;
#
-# Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
+# Bug#54475 improper error handling causes cascading crashing failures in innodb
#
CREATE TABLE t1(f1 INT) ENGINE=INNODB;
INSERT INTO t1 VALUES(1);
diff --git a/mysql-test/suite/innodb/r/innodb_mutexes.result b/mysql-test/suite/innodb/r/innodb_mutexes.result
new file mode 100644
index 00000000000..129d7f0762b
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_mutexes.result
@@ -0,0 +1,21 @@
+create table t1(a int not null primary key, b int, c int,d CHAR(100)) engine=innodb;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+declare current_num int;
+set current_num = 0;
+while current_num < repeat_count do
+insert into t1 values(current_num, RAND(), RAND(), substring(MD5(RAND()), -64));
+set current_num = current_num + 1;
+end while;
+end//
+commit;
+set autocommit=0;
+call innodb_insert_proc(20000);
+commit;
+set autocommit=1;
+delete from t1 where a between 1000 and 1300;
+update t1 set b=b+1 where a between 2000 and 2600;
+insert into t1 select a+30000,b,c,d from t1 where a between 3000 and 4000;
+delete from t1 where a between 6000 and 7000;
+drop procedure innodb_insert_proc;
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/innodb_mysql.result b/mysql-test/suite/innodb/r/innodb_mysql.result
index 56bc86968b3..61eec8d4155 100644
--- a/mysql-test/suite/innodb/r/innodb_mysql.result
+++ b/mysql-test/suite/innodb/r/innodb_mysql.result
@@ -1,6 +1,6 @@
set global innodb_support_xa=default;
set session innodb_support_xa=default;
-SET SESSION STORAGE_ENGINE = InnoDB;
+SET SESSION DEFAULT_STORAGE_ENGINE = InnoDB;
drop table if exists t1,t2,t3,t1m,t1i,t2m,t2i,t4;
drop procedure if exists p1;
create table t1 (
@@ -335,7 +335,7 @@ a count(a)
1 1
NULL 1
drop table t1;
-create table t1 (f1 int, f2 char(1), primary key(f1,f2));
+create table t1 (f1 int, f2 char(1), primary key(f1,f2)) stats_persistent=0;
insert into t1 values ( 1,"e"),(2,"a"),( 3,"c"),(4,"d");
alter table t1 drop primary key, add primary key (f2, f1);
explain select distinct f1 a, f1 b from t1;
@@ -371,7 +371,7 @@ dept varchar(20) NOT NULL,
age tinyint(3) unsigned NOT NULL,
PRIMARY KEY (id),
INDEX (name,dept)
-) ENGINE=InnoDB;
+) ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO t1(id, dept, age, name) VALUES
(3987, 'cs1', 10, 'rs1'), (3988, 'cs2', 20, 'rs1'), (3995, 'cs3', 10, 'rs2'),
(3996, 'cs4', 20, 'rs2'), (4003, 'cs5', 10, 'rs3'), (4004, 'cs6', 20, 'rs3'),
@@ -435,7 +435,7 @@ set global query_cache_size=10*1024*1024;
set global query_cache_type=1;
drop table if exists `test`;
Warnings:
-Note 1051 Unknown table 'test'
+Note 1051 Unknown table 'test.test'
CREATE TABLE `test` (`test1` varchar(3) NOT NULL,
`test2` varchar(4) NOT NULL,PRIMARY KEY (`test1`))
ENGINE=InnoDB DEFAULT CHARSET=latin1;
@@ -544,7 +544,7 @@ stat_id int NOT NULL,
acct_id int DEFAULT NULL,
INDEX idx1 (stat_id, acct_id),
INDEX idx2 (acct_id)
-) ENGINE=InnoDB;
+) ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO t1(stat_id,acct_id) VALUES
(1,759), (2,831), (3,785), (4,854), (1,921),
(1,553), (2,589), (3,743), (2,827), (2,545),
@@ -630,12 +630,11 @@ a
DROP TABLE t1,t2,t3;
create table t1 (a int) engine=innodb;
select * from bug29807;
-ERROR 42S02: Table 'test.bug29807' doesn't exist
+ERROR 42S02: Table 'test.bug29807' doesn't exist in engine
drop table t1;
drop table bug29807;
-ERROR 42S02: Unknown table 'bug29807'
-create table bug29807 (a int);
-drop table bug29807;
+Warnings:
+Warning 1932 Table 'test.bug29807' doesn't exist in engine
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
switch to connection c1
@@ -695,7 +694,7 @@ EXPLAIN
SELECT COUNT(*) FROM t1 FORCE INDEX(idx_b, idx_c)
WHERE (c >= '2007-01-02' AND c <= '2007-01-03') OR b >= 1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge idx_b,idx_c idx_c,idx_b 8,4 NULL # Using sort_union(idx_c,idx_b); Using where
+1 SIMPLE t1 index_merge idx_b,idx_c idx_c,idx_b 5,4 NULL # Using sort_union(idx_c,idx_b); Using where
SELECT COUNT(*) FROM t1 FORCE INDEX(idx_b, idx_c)
WHERE (c >= '2007-01-02' AND c <= '2007-01-03') OR b >= 1;
COUNT(*)
@@ -708,12 +707,12 @@ CREATE TABLE t2 (primary key (a)) select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
drop table if exists t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t2'
CREATE TEMPORARY TABLE t2 (primary key (a)) select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
drop table if exists t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t2'
CREATE TABLE t2 (a int, b int, primary key (a));
BEGIN;
INSERT INTO t2 values(100,100);
@@ -935,7 +934,7 @@ EXPLAIN SELECT * FROM t1 WHERE b BETWEEN 1 AND 2 ORDER BY b,a;
id 1
select_type SIMPLE
table t1
-type index
+type range
possible_keys bkey
key bkey
key_len 5
@@ -1128,7 +1127,6 @@ insert into t1 values('aaa');
alter table t1 add index(a(1024));
Warnings:
Warning 1071 Specified key was too long; max key length is 767 bytes
-Warning 1071 Specified key was too long; max key length is 767 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -1702,8 +1700,8 @@ t2 CREATE TABLE `t2` (
PRIMARY KEY (`c`,`d`),
CONSTRAINT `c1` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON DELETE NO ACTION,
CONSTRAINT `c2` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON UPDATE NO ACTION,
- CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON UPDATE NO ACTION,
- CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON UPDATE NO ACTION
+ CONSTRAINT `f3` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON UPDATE NO ACTION,
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t1;
@@ -1787,6 +1785,33 @@ id select_type table type possible_keys key key_len ref rows Extra
DROP TABLE t1;
End of 5.1 tests
#
+# Bug#43600: Incorrect type conversion caused wrong result.
+#
+CREATE TABLE t1 (
+a int NOT NULL
+) engine= innodb;
+CREATE TABLE t2 (
+a int NOT NULL,
+b int NOT NULL,
+filler char(100) DEFAULT NULL,
+KEY a (a,b)
+) engine= innodb;
+insert into t1 values (0),(1),(2),(3),(4);
+insert into t2 select A.a + 10 *B.a, 1, 'filler' from t1 A, t1 B;
+explain select * from t1, t2 where t2.a=t1.a and t2.b + 1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5
+1 SIMPLE t2 ref a a 4 test.t1.a 1 Using index condition
+select * from t1, t2 where t2.a=t1.a and t2.b + 1;
+a a b filler
+0 0 1 filler
+1 1 1 filler
+2 2 1 filler
+3 3 1 filler
+4 4 1 filler
+drop table t1,t2;
+# End of test case for the bug#43600
+#
# Bug#42643: InnoDB does not support replication of TRUNCATE TABLE
#
# Check that a TRUNCATE TABLE statement, needing an exclusive meta
@@ -1818,15 +1843,21 @@ a
# Connection default
DROP TABLE t1;
drop table if exists t1, t2, t3;
+#
+# BUG#35850: Performance regression in 5.1.23/5.1.24
+#
create table t1(a int);
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
create table t2 (a int, b int, pk int, key(a,b), primary key(pk)) engine=innodb;
insert into t2 select @a:=A.a+10*(B.a + 10*C.a),@a, @a from t1 A, t1 B, t1 C;
-this must use key 'a', not PRIMARY:
+# this must use key 'a', not PRIMARY:
explain select a from t2 where a=b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index NULL a 10 NULL # Using where; Using index
drop table t1, t2;
+#
+# Bug #40360: Binlog related errors with binlog off
+#
SET SESSION BINLOG_FORMAT=STATEMENT;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
select @@session.sql_log_bin, @@session.binlog_format, @@session.tx_isolation;
@@ -1836,12 +1867,19 @@ select @@session.sql_log_bin, @@session.binlog_format, @@session.tx_isolation;
CREATE TABLE t1 ( a INT ) ENGINE=InnoDB;
INSERT INTO t1 VALUES(1);
DROP TABLE t1;
+#
+# Bug#37284 Crash in Field_string::type()
+#
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a char(50)) ENGINE=InnoDB;
CREATE INDEX i1 on t1 (a(3));
SELECT * FROM t1 WHERE a = 'abcde';
a
DROP TABLE t1;
+#
+# Bug #37742: HA_EXTRA_KEYREAD flag is set when key contains only prefix of
+# requested column
+#
CREATE TABLE foo (a int, b int, c char(10),
PRIMARY KEY (c(3)),
KEY b (b)
@@ -1859,6 +1897,9 @@ INSERT INTO foo VALUES
(4,5,'uvwxyz'), (5,6,'meotnsyglt'), (4,5,'asfdewe');
INSERT INTO bar SELECT * FROM foo;
INSERT INTO foo2 SELECT * FROM foo;
+ANALYZE TABLE bar;
+ANALYZE TABLE foo;
+ANALYZE TABLE foo2;
EXPLAIN SELECT c FROM bar WHERE b>2;;
id 1
select_type SIMPLE
@@ -1926,6 +1967,9 @@ ref NULL
rows 6
Extra Using where; Using index
DROP TABLE foo, bar, foo2;
+#
+# Bug#41348: INSERT INTO tbl SELECT * FROM temp_tbl overwrites locking type of temp table
+#
DROP TABLE IF EXISTS t1,t3,t2;
DROP FUNCTION IF EXISTS f1;
CREATE FUNCTION f1() RETURNS VARCHAR(250)
@@ -1947,6 +1991,9 @@ DEALLOCATE PREPARE stmt1;
DEALLOCATE PREPARE stmt3;
DROP TABLE t1,t3,t2;
DROP FUNCTION f1;
+#
+# Bug#37016: TRUNCATE TABLE removes some rows but not all
+#
DROP TABLE IF EXISTS t1,t2;
CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;
CREATE TABLE t2 (id INT PRIMARY KEY,
@@ -2153,6 +2200,9 @@ DROP TABLE t4;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
+#
+# Bug#43580: Issue with Innodb on multi-table update
+#
CREATE TABLE t1 (a INT, b INT, KEY (a)) ENGINE = INNODB;
CREATE TABLE t2 (a INT KEY, b INT, KEY (b)) ENGINE = INNODB;
CREATE TABLE t3 (a INT, b INT KEY, KEY (a)) ENGINE = INNODB;
@@ -2258,6 +2308,7 @@ INSERT INTO t1 (b,c,d,e) SELECT RAND()*10000, RAND()*10000, d, e FROM t1;
INSERT INTO t1 (b,c,d,e) SELECT RAND()*10000, RAND()*10000, d, e FROM t1;
INSERT INTO t1 (b,c,d,e) SELECT RAND()*10000, RAND()*10000, d, e FROM t1;
INSERT INTO t1 (b,c,d,e) SELECT RAND()*10000, RAND()*10000, d, e FROM t1;
+ANALYZE TABLE t1;
EXPLAIN SELECT * FROM t1 WHERE b=1 AND c=1 ORDER BY a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref i2 i2 8 const,const 1 Using where; Using filesort
@@ -2266,7 +2317,7 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref i2 i2 8 const,const 1 Using where; Using filesort
EXPLAIN SELECT * FROM t1 FORCE INDEX(PRIMARY) WHERE b=1 AND c=1 ORDER BY a;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 4 NULL 128 Using where
+1 SIMPLE t1 index NULL PRIMARY 4 NULL {checked} Using where
DROP TABLE t1;
#
# Bug #47963: Wrong results when index is used
@@ -2336,7 +2387,7 @@ DROP TABLE t1,t2;
# Bug #49324: more valgrind errors in test_if_skip_sort_order
#
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb ;
-#should not cause valgrind warnings
+# should not cause valgrind warnings
SELECT 1 FROM t1 JOIN t1 a USING(a) GROUP BY t1.a,t1.a;
1
DROP TABLE t1;
@@ -2348,6 +2399,8 @@ create table t1(f1 int not null primary key, f2 int) engine=innodb;
create table t2(f1 int not null, key (f1)) engine=innodb;
insert into t1 values (1,1),(2,2),(3,3);
insert into t2 values (1),(2),(3);
+analyze table t1;
+analyze table t2;
explain select t1.* from t1 left join t2 using(f1) group by t1.f1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 4 NULL 3
@@ -2364,6 +2417,9 @@ INSERT INTO t1 VALUES (1,1,1,1,1,1), (2,2,2,2,2,2), (3,3,3,3,3,3),
(4,4,4,4,4,4), (5,5,5,5,5,5), (6,6,6,6,6,6),
(7,7,7,7,7,7), (8,8,8,8,8,8), (9,9,9,9,9,9),
(11,11,11,11,11,11);
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
EXPLAIN SELECT COUNT(*) FROM t1;
id 1
select_type SIMPLE
@@ -2412,36 +2468,6 @@ Comment
Index_comment
DROP TABLE t1;
#
-# Bug #53334: wrong result for outer join with impossible ON condition
-# (see the same test case for MyISAM in join.test)
-#
-create table t1 (id int primary key);
-create table t2 (id int);
-insert into t1 values (75);
-insert into t1 values (79);
-insert into t1 values (78);
-insert into t1 values (77);
-replace into t1 values (76);
-replace into t1 values (76);
-insert into t1 values (104);
-insert into t1 values (103);
-insert into t1 values (102);
-insert into t1 values (101);
-insert into t1 values (105);
-insert into t1 values (106);
-insert into t1 values (107);
-insert into t2 values (107),(75),(1000);
-select t1.id,t2.id from t2 left join t1 on t1.id>=74 and t1.id<=0
-where t2.id=75 and t1.id is null;
-id id
-NULL 75
-explain select t1.id,t2.id from t2 left join t1 on t1.id>=74 and t1.id<=0
-where t2.id=75 and t1.id is null;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 const PRIMARY NULL NULL NULL 1 Impossible ON condition
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-drop table t1,t2;
-#
# Bug #47453: InnoDB incorrectly changes TIMESTAMP columns when
# JOINed during an UPDATE
#
@@ -2449,7 +2475,7 @@ CREATE TABLE t1 (d INT) ENGINE=InnoDB;
CREATE TABLE t2 (a INT, b INT,
c TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP) ENGINE=InnoDB;
-set up our data elements
+# set up our data elements
INSERT INTO t1 (d) VALUES (1);
INSERT INTO t2 (a,b) VALUES (1,1);
SELECT SECOND(c) INTO @bug47453 FROM t2;
@@ -2464,7 +2490,7 @@ SELECT SLEEP(1);
SLEEP(1)
0
UPDATE t1 JOIN t2 ON d=a SET b=1 WHERE a=1;
-#should be 0
+# should be 0
SELECT SECOND(c)-@bug47453 FROM t1 JOIN t2 ON d=a;
SECOND(c)-@bug47453
0
@@ -2534,6 +2560,9 @@ KEY idx1 (f2,f5,f4),
KEY idx2 (f2,f4)
) ENGINE=InnoDB;
LOAD DATA INFILE '../../std_data/intersect-bug50389.tsv' INTO TABLE t1;
+ANALYZE TABLE t1;
+set @tmp_innodb_mysql= @@optimizer_switch;
+set optimizer_switch='extended_keys=off';
SELECT * FROM t1 WHERE f1 IN
(3305028,3353871,3772880,3346860,4228206,3336022,
3470988,3305175,3329875,3817277,3856380,3796193,
@@ -2557,6 +2586,7 @@ EXPLAIN SELECT * FROM t1 WHERE f1 IN
AND f5 = 'abcdefghijklmnopwrst' AND f2 = 1221457 AND f4 = 0 ;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index_merge PRIMARY,idx1,idx2 idx2,idx1,PRIMARY 7,60,4 NULL 1 Using intersect(idx2,idx1,PRIMARY); Using where
+set optimizer_switch=@tmp_innodb_mysql;
DROP TABLE t1;
#
# Bug#51431 Wrong sort order after import of dump file
@@ -2569,7 +2599,7 @@ f4 tinyint(1) NOT NULL,
PRIMARY KEY (f1),
UNIQUE KEY (f2, f3),
KEY (f4)
-) ENGINE=InnoDB;
+) ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO t1 VALUES
(1,1,991,1), (2,1,992,1), (3,1,993,1), (4,1,994,1), (5,1,995,1),
(6,1,996,1), (7,1,997,1), (8,1,998,1), (10,1,999,1), (11,1,9910,1),
@@ -2599,44 +2629,10 @@ ALTER TABLE t1 COMMENT 'test';
UNLOCK TABLES;
DROP TABLE t1;
#
-# Bug#55826: create table .. select crashes with when KILL_BAD_DATA
-# is returned
-#
-CREATE TABLE t1(a INT) ENGINE=innodb;
-INSERT INTO t1 VALUES (0);
-SET SQL_MODE='STRICT_ALL_TABLES';
-CREATE TABLE t2
-SELECT LEAST((SELECT '' FROM t1),NOW()) FROM `t1`;
-ERROR 22007: Incorrect datetime value: ''
-DROP TABLE t1;
-SET SQL_MODE=DEFAULT;
-#
-# Bug#55580: segfault in read_view_sees_trx_id
-#
-CREATE TABLE t1 (a INT) ENGINE=Innodb;
-CREATE TABLE t2 (a INT) ENGINE=Innodb;
-INSERT INTO t1 VALUES (1),(2);
-INSERT INTO t2 VALUES (1),(2);
-START TRANSACTION;
-SELECT * FROM t2 LOCK IN SHARE MODE;
-a
-1
-2
-START TRANSACTION;
-SELECT * FROM t1 LOCK IN SHARE MODE;
-a
-1
-2
-SELECT * FROM t1 FOR UPDATE;
-# should not crash
-SELECT * FROM t1 GROUP BY (SELECT a FROM t2 LIMIT 1 FOR UPDATE) + t1.a;
-ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
-DROP TABLE t1,t2;
-#
# Bug#55656: mysqldump can be slower after bug #39653 fix
#
CREATE TABLE t1 (a INT , b INT, c INT, d INT,
-KEY (b), PRIMARY KEY (a,b)) ENGINE=INNODB;
+KEY (b), PRIMARY KEY (a,b)) ENGINE=INNODB STATS_PERSISTENT=0;
INSERT INTO t1 VALUES (1,1,1,1), (2,2,2,2), (3,3,3,3);
EXPLAIN SELECT COUNT(*) FROM t1;
id 1
@@ -2690,58 +2686,6 @@ rows 3
Extra Using index
DROP TABLE t1;
#
-# Bug#56862 Execution of a query that uses index merge returns a wrong result
-#
-CREATE TABLE t1 (
-pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-a int,
-b int,
-INDEX idx(a))
-ENGINE=INNODB;
-INSERT INTO t1(a,b) VALUES
-(11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
-(3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
-(6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
-(13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
-INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
-INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
-INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1 VALUES (1000000, 0, 0);
-SET SESSION sort_buffer_size = 1024*36;
-EXPLAIN
-SELECT COUNT(*) FROM
-(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
-WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge PRIMARY,idx idx,PRIMARY 5,4 NULL 1536 Using sort_union(idx,PRIMARY); Using where
-SELECT COUNT(*) FROM
-(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
-WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
-COUNT(*)
-1537
-SET SESSION sort_buffer_size = DEFAULT;
-DROP TABLE t1;
-#
-# ALTER TABLE IGNORE didn't ignore duplicates for unique add index
-#
-create table t1 (a int primary key, b int) engine = innodb;
-insert into t1 values (1,1),(2,1);
-alter ignore table t1 add unique `main` (b);
-select * from t1;
-a b
-1 1
-drop table t1;
-End of 5.1 tests
-#
-#
# Bug#55826: create table .. select crashes with when KILL_BAD_DATA
# is returned
#
@@ -2754,55 +2698,14 @@ ERROR 22007: Incorrect datetime value: ''
DROP TABLE t1;
SET SQL_MODE=DEFAULT;
#
-# Bug#56862 Execution of a query that uses index merge returns a wrong result
+# Bug#56862 Moved to innodb_16k.test
#
-CREATE TABLE t1 (
-pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-a int,
-b int,
-INDEX idx(a))
-ENGINE=INNODB;
-INSERT INTO t1(a,b) VALUES
-(11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
-(3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
-(6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
-(13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
-INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
-INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
-INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1 VALUES (1000000, 0, 0);
-SET SESSION sort_buffer_size = 1024*36;
-EXPLAIN
-SELECT COUNT(*) FROM
-(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
-WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge PRIMARY,idx idx,PRIMARY 5,4 NULL 1536 Using sort_union(idx,PRIMARY); Using where
-SELECT COUNT(*) FROM
-(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
-WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
-COUNT(*)
-1537
-SET SESSION sort_buffer_size = DEFAULT;
-DROP TABLE t1;
#
# Test for bug #39932 "create table fails if column for FK is in different
# case than in corr index".
#
drop tables if exists t1, t2;
create table t1 (pk int primary key) engine=InnoDB;
-# Even although the below statement uses uppercased field names in
-# foreign key definition it still should be able to find explicitly
-# created supporting index. So it should succeed and should not
-# create any additional supporting indexes.
create table t2 (fk int, key x (fk),
constraint x foreign key (FK) references t1 (PK)) engine=InnoDB;
show create table t2;
@@ -2814,130 +2717,6 @@ t2 CREATE TABLE `t2` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t2, t1;
#
-# Bug #663818: wrong result when BNLH is used
-#
-CREATE TABLE t1(pk int NOT NULL PRIMARY KEY) ENGINE=InnoDB;
-INSERT INTO t1 VALUES
-(1), (2), (11), (12), (13), (14),
-(15), (16), (17), (18), (19);
-CREATE TABLE t2(pk int NOT NULL PRIMARY KEY) ENGINE=InnoDB;
-INSERT INTO t2 VALUES
-(1), (10), (11), (12), (13), (14),
-(15), (16), (17), (18), (19), (20), (21);
-SET SESSION join_buffer_size=10000;
-Warnings:
-Warning 1292 Truncated incorrect join_buffer_size value: '10000'
-SET SESSION join_cache_level=3;
-EXPLAIN
-SELECT t1.pk FROM t1,t2
-WHERE t1.pk = t2.pk AND t2.pk <> 8;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY PRIMARY 4 NULL 11 Using where; Using index
-1 SIMPLE t2 hash_index PRIMARY #hash#PRIMARY:PRIMARY 4:4 test.t1.pk 13 Using join buffer (flat, BNLH join)
-SELECT t1.pk FROM t1,t2
-WHERE t1.pk = t2.pk AND t2.pk <> 8;
-pk
-1
-11
-12
-13
-14
-15
-16
-17
-18
-19
-SET SESSION join_cache_level=1;
-EXPLAIN
-SELECT t1.pk FROM t1,t2
-WHERE t1.pk = t2.pk AND t2.pk <> 8;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY PRIMARY 4 NULL 11 Using where; Using index
-1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.pk 1 Using index
-SELECT t1.pk FROM t1,t2
-WHERE t1.pk = t2.pk AND t2.pk <> 8;
-pk
-1
-11
-12
-13
-14
-15
-16
-17
-18
-19
-DROP TABLE t1,t2;
-SET SESSION join_cache_level=DEFAULT;
-SET SESSION join_buffer_size=DEFAULT;
-#
-# Bug#668644: HAVING + ORDER BY
-#
-CREATE TABLE t1 (
-pk int NOT NULL PRIMARY KEY, i int DEFAULT NULL,
-INDEX idx (i)
-) ENGINE=INNODB;
-INSERT INTO t1 VALUES
-(6,-1636630528),(2,-1097924608),(1,6),(3,6),(4,1148715008),(5,1541734400);
-CREATE TABLE t2 (
-i int DEFAULT NULL,
-pk int NOT NULL PRIMARY KEY,
-INDEX idx (i)
-) ENGINE= INNODB;
-INSERT INTO t2 VALUES
-(-1993998336,20),(-1036582912,1),(-733413376,5),(-538247168,16),
-(-514260992,4),(-249561088,9),(1,2),(1,6),(2,10),(2,19),(4,17),
-(5,14),(5,15),(6,8),(7,13),(8,18),(9,11),(9,12),(257425408,7),
-(576061440,3);
-EXPLAIN
-SELECT t1 .i AS f FROM t1, t2
-WHERE t2.i = t1.pk AND t1.pk BETWEEN 0 AND 224
-HAVING f > 7
-ORDER BY f;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY idx 5 NULL 6 Using where; Using index
-1 SIMPLE t2 ref idx idx 5 test.t1.pk 1 Using index
-SELECT t1 .i AS f FROM t1, t2
-WHERE t2.i = t1.pk AND t1.pk BETWEEN 0 AND 224
-HAVING f > 7
-ORDER BY f;
-f
-1148715008
-1541734400
-1541734400
-DROP TABLE t1, t2;
-#
-# Test for bug #56619 - Assertion failed during
-# ALTER TABLE RENAME, DISABLE KEYS
-#
-DROP TABLE IF EXISTS t1, t2;
-CREATE TABLE t1 (a INT, INDEX(a)) engine=innodb;
-ALTER TABLE t1 RENAME TO t2, DISABLE KEYS;
-DROP TABLE IF EXISTS t1, t2;
-#
-# Bug#702322: HAVING with two ANDed predicates + ORDER BY
-#
-CREATE TABLE t1 (pk int PRIMARY KEY, a int, KEY (a)) ENGINE=InnoDB;
-CREATE TABLE t2 (a int, KEY (a)) ENGINE=InnoDB;
-INSERT INTO t1 VALUES
-(18,0),(9,10),(8,11),(2,15),(7,19),(1,20);
-SET SESSION join_cache_level = 0;
-EXPLAIN
-SELECT t1.a FROM t1 LEFT JOIN t2 ON t1.pk = t2.a
-WHERE t1.pk >= 6 HAVING t1.a<> 0 AND t1.a <> 11
-ORDER BY t1.a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 4 Using index condition; Using filesort
-1 SIMPLE t2 ref a a 5 test.t1.pk 1 Using index
-SELECT t1.a FROM t1 LEFT JOIN t2 ON t1.pk = t2.a
-WHERE t1.pk >= 6 HAVING t1.a<> 0 AND t1.a <> 11
-ORDER BY t1.a;
-a
-10
-19
-DROP TABLE t1,t2;
-End of 5.3 tests
-#
# Test for bug #11762012 - "54553: INNODB ASSERTS IN HA_INNOBASE::
# UPDATE_ROW, TEMPORARY TABLE, TABLE LOCK".
#
@@ -2953,7 +2732,39 @@ LOCK TABLES t1 READ;
UPDATE t1 SET c = 5;
UNLOCK TABLES;
DROP TEMPORARY TABLE t1;
-End of 5.1 tests
+# End of 5.1 tests
+#
+# Bug#49604 "6.0 processing compound WHERE clause incorrectly
+# with Innodb - extra rows"
+#
+CREATE TABLE t1 (
+c1 INT NOT NULL,
+c2 INT,
+PRIMARY KEY (c1),
+KEY k1 (c2)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (12,1);
+INSERT INTO t1 VALUES (15,1);
+INSERT INTO t1 VALUES (16,1);
+INSERT INTO t1 VALUES (22,1);
+INSERT INTO t1 VALUES (20,2);
+CREATE TABLE t2 (
+c1 INT NOT NULL,
+c2 INT,
+PRIMARY KEY (c1)
+) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1,2);
+INSERT INTO t2 VALUES (2,9);
+SELECT STRAIGHT_JOIN t2.c2, t1.c2, t2.c1
+FROM t1 JOIN t2 ON t1.c2 = t2.c1
+WHERE t2.c1 IN (2, 1, 6) OR t2.c1 NOT IN (1);
+c2 c2 c1
+2 1 1
+2 1 1
+2 1 1
+2 1 1
+9 2 2
+DROP TABLE t1, t2;
#
# Bug#44613 SELECT statement inside FUNCTION takes a shared lock
#
@@ -2980,13 +2791,86 @@ COMMIT;
DROP TABLE t1;
DROP FUNCTION f1;
#
+# Bug#42744: Crash when using a join buffer to join a table with a blob
+# column and an additional column used for duplicate elimination.
+#
+CREATE TABLE t1 (a tinyblob) ENGINE=InnoDB;
+CREATE TABLE t2 (a int PRIMARY KEY, b tinyblob) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('1'), (NULL);
+INSERT INTO t2 VALUES (1, '1');
+EXPLAIN
+SELECT t2.b FROM t1,t2 WHERE t1.a IN (SELECT 1 FROM t2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 1
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
+1 PRIMARY t2 index NULL PRIMARY 4 NULL 1 Using index; FirstMatch(t1); Using join buffer (incremental, BNL join)
+SELECT t2.b FROM t1,t2 WHERE t1.a IN (SELECT 1 FROM t2);
+b
+1
+DROP TABLE t1,t2;
+#
+# Bug#48093: 6.0 Server not processing equivalent IN clauses properly
+# with Innodb tables
+#
+CREATE TABLE t1 (
+i int(11) DEFAULT NULL,
+v1 varchar(1) DEFAULT NULL,
+v2 varchar(20) DEFAULT NULL,
+KEY i (i),
+KEY v (v1,i)
+) ENGINE=innodb;
+INSERT INTO t1 VALUES (1,'f','no');
+INSERT INTO t1 VALUES (2,'u','yes-u');
+INSERT INTO t1 VALUES (2,'h','yes-h');
+INSERT INTO t1 VALUES (3,'d','no');
+
+SELECT v2
+FROM t1
+WHERE v1 IN ('f', 'd', 'h', 'u' ) AND i = 2;
+v2
+yes-u
+yes-h
+
+# Should not use index_merge
+EXPLAIN
+SELECT v2
+FROM t1
+WHERE v1 IN ('f', 'd', 'h', 'u' ) AND i = 2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref i,v i 5 const 2 Using where
+DROP TABLE t1;
+#
# Bug#54606 innodb fast alter table + pack_keys=0
# prevents adding new indexes
#
+DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a INT, b CHAR(9), c INT, key(b))
ENGINE=InnoDB
PACK_KEYS=0;
CREATE INDEX a ON t1 (a);
CREATE INDEX c on t1 (c);
DROP TABLE t1;
-End of 5.1 tests
+#
+# Additional coverage for refactoring which is made as part
+# of fix for Bug#27480 "Extend CREATE TEMPORARY TABLES privilege
+# to allow temp table operations".
+#
+# Check that OPTIMIZE table works for temporary InnoDB tables.
+DROP TABLE IF EXISTS t1;
+CREATE TEMPORARY TABLE t1 (a INT) ENGINE=InnoDB;
+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
+DROP TABLE t1;
+#
+# Bug#11762345 54927: DROPPING AND ADDING AN INDEX IN ONE
+# COMMAND CAN FAIL IN INNODB PLUGIN 1.0
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (id int, a int, b int, PRIMARY KEY (id),
+INDEX a (a)) ENGINE=innodb;
+ALTER TABLE t1 DROP INDEX a, ADD INDEX a (b, a);
+ALTER TABLE t1 DROP INDEX a, ADD INDEX (a, b);
+DROP TABLE t1;
+End of 6.0 tests
diff --git a/mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result b/mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result
index abd4c243912..e1f6f8608e1 100644
--- a/mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result
+++ b/mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result
@@ -86,5 +86,5 @@ col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
1 1
DROP TABLE worklog5743;
SET GLOBAL innodb_file_format=Antelope;
-SET GLOBAL innodb_file_per_table=0;
+SET GLOBAL innodb_file_per_table=1;
SET GLOBAL innodb_large_prefix=0;
diff --git a/mysql-test/suite/innodb/r/innodb_simulate_comp_failures.result b/mysql-test/suite/innodb/r/innodb_simulate_comp_failures.result
index cb7a3b9c282..c2a8ba1f4db 100644
--- a/mysql-test/suite/innodb/r/innodb_simulate_comp_failures.result
+++ b/mysql-test/suite/innodb/r/innodb_simulate_comp_failures.result
@@ -5,4 +5,4 @@ CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255), KEY msg_i(m
SET GLOBAL innodb_simulate_comp_failures = 25;
SELECT COUNT(*) FROM t1;
COUNT(*)
-100000
+1500
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
new file mode 100644
index 00000000000..65e063979c4
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result
@@ -0,0 +1,394 @@
+select * from information_schema.innodb_trx;
+trx_id trx_state trx_started trx_requested_lock_id trx_wait_started trx_weight trx_mysql_thread_id trx_query trx_operation_state trx_tables_in_use trx_tables_locked trx_lock_structs trx_lock_memory_bytes trx_rows_locked trx_rows_modified trx_concurrency_tickets trx_isolation_level trx_unique_checks trx_foreign_key_checks trx_last_foreign_key_error trx_adaptive_hash_latched trx_adaptive_hash_timeout trx_is_read_only trx_autocommit_non_locking
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_trx but the InnoDB storage engine is not installed
+select * from information_schema.innodb_locks;
+lock_id lock_trx_id lock_mode lock_type lock_table lock_index lock_space lock_page lock_rec lock_data
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_locks but the InnoDB storage engine is not installed
+select * from information_schema.innodb_lock_waits;
+requesting_trx_id requested_lock_id blocking_trx_id blocking_lock_id
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_lock_waits but the InnoDB storage engine is not installed
+select * from information_schema.innodb_cmp;
+page_size compress_ops compress_ops_ok compress_time uncompress_ops uncompress_time
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_cmp but the InnoDB storage engine is not installed
+select * from information_schema.innodb_cmp_reset;
+page_size compress_ops compress_ops_ok compress_time uncompress_ops uncompress_time
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_cmp_reset but the InnoDB storage engine is not installed
+select * from information_schema.innodb_cmp_per_index;
+database_name table_name index_name compress_ops compress_ops_ok compress_time uncompress_ops uncompress_time
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_cmp_per_index but the InnoDB storage engine is not installed
+select * from information_schema.innodb_cmp_per_index_reset;
+database_name table_name index_name compress_ops compress_ops_ok compress_time uncompress_ops uncompress_time
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_cmp_per_index_reset but the InnoDB storage engine is not installed
+select * from information_schema.innodb_cmpmem;
+page_size buffer_pool_instance pages_used pages_free relocation_ops relocation_time
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_cmpmem but the InnoDB storage engine is not installed
+select * from information_schema.innodb_cmpmem_reset;
+page_size buffer_pool_instance pages_used pages_free relocation_ops relocation_time
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_cmpmem_reset but the InnoDB storage engine is not installed
+select * from information_schema.innodb_metrics;
+NAME SUBSYSTEM COUNT MAX_COUNT MIN_COUNT AVG_COUNT COUNT_RESET MAX_COUNT_RESET MIN_COUNT_RESET AVG_COUNT_RESET TIME_ENABLED TIME_DISABLED TIME_ELAPSED TIME_RESET STATUS TYPE COMMENT
+metadata_table_handles_opened metadata 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of table handles opened
+metadata_table_handles_closed metadata 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of table handles closed
+metadata_table_reference_count metadata 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Table reference counter
+metadata_mem_pool_size metadata 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Size of a memory pool InnoDB uses to store data dictionary and internal data structures in bytes
+lock_deadlocks lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of deadlocks
+lock_timeouts lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of lock timeouts
+lock_rec_lock_waits lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times enqueued into record lock wait queue
+lock_table_lock_waits lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times enqueued into table lock wait queue
+lock_rec_lock_requests lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of record locks requested
+lock_rec_lock_created lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of record locks created
+lock_rec_lock_removed lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of record locks removed from the lock queue
+lock_rec_locks lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Current number of record locks on tables
+lock_table_lock_created lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of table locks created
+lock_table_lock_removed lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of table locks removed from the lock queue
+lock_table_locks lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Current number of table locks on tables
+lock_row_lock_current_waits lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of row locks currently being waited for (innodb_row_lock_current_waits)
+lock_row_lock_time lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Time spent in acquiring row locks, in milliseconds (innodb_row_lock_time)
+lock_row_lock_time_max lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value The maximum time to acquire a row lock, in milliseconds (innodb_row_lock_time_max)
+lock_row_lock_waits lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of times a row lock had to be waited for (innodb_row_lock_waits)
+lock_row_lock_time_avg lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value The average time to acquire a row lock, in milliseconds (innodb_row_lock_time_avg)
+buffer_pool_size server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Server buffer pool size (all buffer pools) in bytes
+buffer_pool_reads buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of reads directly from disk (innodb_buffer_pool_reads)
+buffer_pool_read_requests buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of logical read requests (innodb_buffer_pool_read_requests)
+buffer_pool_write_requests buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of write requests (innodb_buffer_pool_write_requests)
+buffer_pool_wait_free buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of times waited for free buffer (innodb_buffer_pool_wait_free)
+buffer_pool_read_ahead buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of pages read as read ahead (innodb_buffer_pool_read_ahead)
+buffer_pool_read_ahead_evicted buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Read-ahead pages evicted without being accessed (innodb_buffer_pool_read_ahead_evicted)
+buffer_pool_pages_total buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Total buffer pool size in pages (innodb_buffer_pool_pages_total)
+buffer_pool_pages_misc buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Buffer pages for misc use such as row locks or the adaptive hash index (innodb_buffer_pool_pages_misc)
+buffer_pool_pages_data buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Buffer pages containing data (innodb_buffer_pool_pages_data)
+buffer_pool_bytes_data buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Buffer bytes containing data (innodb_buffer_pool_bytes_data)
+buffer_pool_pages_dirty buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Buffer pages currently dirty (innodb_buffer_pool_pages_dirty)
+buffer_pool_bytes_dirty buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Buffer bytes currently dirty (innodb_buffer_pool_bytes_dirty)
+buffer_pool_pages_free buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Buffer pages currently free (innodb_buffer_pool_pages_free)
+buffer_pages_created buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of pages created (innodb_pages_created)
+buffer_pages_written buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of pages written (innodb_pages_written)
+buffer_index_pages_written buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of index pages written (innodb_index_pages_written)
+buffer_non_index_pages_written buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of non index pages written (innodb_non_index_pages_written)
+buffer_pages_read buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of pages read (innodb_pages_read)
+buffer_pages0_read buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of page 0 read (innodb_pages0_read)
+buffer_index_sec_rec_cluster_reads buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of secondary record reads triggered cluster read
+buffer_index_sec_rec_cluster_reads_avoided buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of secondary record reads avoided triggering cluster read
+buffer_data_reads buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Amount of data read in bytes (innodb_data_reads)
+buffer_data_written buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Amount of data written in bytes (innodb_data_written)
+buffer_flush_batch_scanned buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total pages scanned as part of flush batch
+buffer_flush_batch_num_scan buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of times buffer flush list flush is called
+buffer_flush_batch_scanned_per_call buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Pages scanned per flush batch scan
+buffer_flush_batch_rescan buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times rescan of flush list forced
+buffer_flush_batch_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total pages flushed as part of flush batch
+buffer_flush_batches buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of flush batches
+buffer_flush_batch_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Pages queued as a flush batch
+buffer_flush_neighbor_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total neighbors flushed as part of neighbor flush
+buffer_flush_neighbor buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of times neighbors flushing is invoked
+buffer_flush_neighbor_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Pages queued as a neighbor batch
+buffer_flush_n_to_flush_requested buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of pages requested for flushing.
+buffer_flush_avg_page_rate buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled 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 disabled counter Average redo generation rate
+buffer_flush_pct_for_dirty buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Percent of IO capacity used to avoid max dirty page limit
+buffer_flush_pct_for_lsn buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Percent of IO capacity used to avoid reusable redo space limit
+buffer_flush_sync_waits buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times a wait happens due to sync flushing
+buffer_flush_adaptive_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total pages flushed as part of adaptive flushing
+buffer_flush_adaptive buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of adaptive batches
+buffer_flush_adaptive_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Pages queued as an adaptive batch
+buffer_flush_sync_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total pages flushed as part of sync batches
+buffer_flush_sync buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of sync batches
+buffer_flush_sync_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Pages queued as a sync batch
+buffer_flush_background_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total pages flushed as part of background batches
+buffer_flush_background buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of background batches
+buffer_flush_background_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Pages queued as a background batch
+buffer_LRU_batch_scanned buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total pages scanned as part of LRU batch
+buffer_LRU_batch_num_scan buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of times LRU batch is called
+buffer_LRU_batch_scanned_per_call buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled 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 disabled set_owner Total pages flushed as part of LRU batches
+buffer_LRU_batches_flush buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of LRU batches
+buffer_LRU_batch_flush_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Pages queued as an LRU batch
+buffer_LRU_batch_evict_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total pages evicted as part of LRU batches
+buffer_LRU_batches_evict buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of LRU batches
+buffer_LRU_batch_evict_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Pages queued as an LRU batch
+buffer_LRU_single_flush_scanned buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total pages scanned as part of single page LRU flush
+buffer_LRU_single_flush_num_scan buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of times single page LRU flush is called
+buffer_LRU_single_flush_scanned_per_call buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Page scanned per single LRU flush
+buffer_LRU_single_flush_failure_count Buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled 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 disabled 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 disabled 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 disabled set_member Number of times LRU search is performed
+buffer_LRU_search_scanned_per_call buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Page scanned per single LRU search
+buffer_LRU_unzip_search_scanned buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_owner Total pages scanned as part of LRU unzip search
+buffer_LRU_unzip_search_num_scan buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Number of times LRU unzip search is performed
+buffer_LRU_unzip_search_scanned_per_call buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled set_member Page scanned per single LRU unzip search
+buffer_page_read_index_leaf buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Index Leaf Pages read
+buffer_page_read_index_non_leaf buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Index Non-leaf Pages read
+buffer_page_read_index_ibuf_leaf buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Insert Buffer Index Leaf Pages read
+buffer_page_read_index_ibuf_non_leaf buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Insert Buffer Index Non-Leaf Pages read
+buffer_page_read_undo_log buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Undo Log Pages read
+buffer_page_read_index_inode buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Index Inode Pages read
+buffer_page_read_ibuf_free_list buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Insert Buffer Free List Pages read
+buffer_page_read_ibuf_bitmap buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Insert Buffer Bitmap Pages read
+buffer_page_read_system_page buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of System Pages read
+buffer_page_read_trx_system buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Transaction System Pages read
+buffer_page_read_fsp_hdr buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of File Space Header Pages read
+buffer_page_read_xdes buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Extent Descriptor Pages read
+buffer_page_read_blob buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Uncompressed BLOB Pages read
+buffer_page_read_zblob buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of First Compressed BLOB Pages read
+buffer_page_read_zblob2 buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Subsequent Compressed BLOB Pages read
+buffer_page_read_other buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of other/unknown (old version of InnoDB) Pages read
+buffer_page_written_index_leaf buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Index Leaf Pages written
+buffer_page_written_index_non_leaf buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Index Non-leaf Pages written
+buffer_page_written_index_ibuf_leaf buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Insert Buffer Index Leaf Pages written
+buffer_page_written_index_ibuf_non_leaf buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Insert Buffer Index Non-Leaf Pages written
+buffer_page_written_undo_log buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Undo Log Pages written
+buffer_page_written_index_inode buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Index Inode Pages written
+buffer_page_written_ibuf_free_list buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Insert Buffer Free List Pages written
+buffer_page_written_ibuf_bitmap buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Insert Buffer Bitmap Pages written
+buffer_page_written_system_page buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of System Pages written
+buffer_page_written_trx_system buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Transaction System Pages written
+buffer_page_written_fsp_hdr buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of File Space Header Pages written
+buffer_page_written_xdes buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Extent Descriptor Pages written
+buffer_page_written_blob buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Uncompressed BLOB Pages written
+buffer_page_written_zblob buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of First Compressed BLOB Pages written
+buffer_page_written_zblob2 buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Subsequent Compressed BLOB Pages written
+buffer_page_written_other buffer_page_io 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of other/unknown (old version InnoDB) Pages written
+os_data_reads os 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of reads initiated (innodb_data_reads)
+os_data_writes os 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of writes initiated (innodb_data_writes)
+os_data_fsyncs os 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of fsync() calls (innodb_data_fsyncs)
+os_pending_reads os 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of reads pending
+os_pending_writes os 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of writes pending
+os_log_bytes_written os 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Bytes of log written (innodb_os_log_written)
+os_log_fsyncs os 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of fsync log writes (innodb_os_log_fsyncs)
+os_log_pending_fsyncs os 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of pending fsync write (innodb_os_log_pending_fsyncs)
+os_log_pending_writes os 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of pending log file writes (innodb_os_log_pending_writes)
+trx_rw_commits transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of read-write transactions committed
+trx_ro_commits transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of read-only transactions committed
+trx_nl_ro_commits transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of non-locking auto-commit read-only transactions committed
+trx_commits_insert_update transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of transactions committed with inserts and updates
+trx_rollbacks transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of transactions rolled back
+trx_rollbacks_savepoint transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of transactions rolled back to savepoint
+trx_rollback_active transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of resurrected active transactions rolled back
+trx_active_transactions transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of active transactions
+trx_rseg_history_len transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Length of the TRX_RSEG_HISTORY list
+trx_undo_slots_used transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of undo slots used
+trx_undo_slots_cached transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of undo slots cached
+trx_rseg_current_size transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Current rollback segment size in pages
+purge_del_mark_records purge 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of delete-marked rows purged
+purge_upd_exist_or_extern_records purge 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of purges on updates of existing records and updates on delete marked record with externally stored field
+purge_invoked purge 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times purge was invoked
+purge_undo_log_pages purge 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of undo log pages handled by the purge
+purge_dml_delay_usec purge 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Microseconds DML to be delayed due to purge lagging
+purge_stop_count purge 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Number of times purge was stopped
+purge_resume_count purge 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Number of times purge was resumed
+log_checkpoints recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of checkpoints
+log_lsn_last_flush recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value LSN of Last flush
+log_lsn_last_checkpoint recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value LSN at last checkpoint
+log_lsn_current recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Current LSN value
+log_lsn_checkpoint_age recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Current LSN value minus LSN at last checkpoint
+log_lsn_buf_pool_oldest recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value The oldest modified block LSN in the buffer pool
+log_max_modified_age_async recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Maximum LSN difference; when exceeded, start asynchronous preflush
+log_max_modified_age_sync recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Maximum LSN difference; when exceeded, start synchronous preflush
+log_pending_log_writes recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Pending log writes
+log_pending_checkpoint_writes recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Pending checkpoints
+log_num_log_io recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Number of log I/Os
+log_waits recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of log waits due to small log buffer (innodb_log_waits)
+log_write_requests recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of log write requests (innodb_log_write_requests)
+log_writes recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of log writes (innodb_log_writes)
+compress_pages_compressed compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of pages compressed
+compress_pages_decompressed compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of pages decompressed
+compression_pad_increments compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times padding is incremented to avoid compression failures
+compression_pad_decrements compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times padding is decremented due to good compressibility
+compress_saved compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of bytes saved by page compression
+compress_trim_sect512 compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of sect-512 TRIMed by page compression
+compress_trim_sect1024 compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of sect-1024 TRIMed by page compression
+compress_trim_sect2048 compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of sect-2048 TRIMed by page compression
+compress_trim_sect4096 compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of sect-4K TRIMed by page compression
+compress_trim_sect8192 compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of sect-8K TRIMed by page compression
+compress_trim_sect16384 compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of sect-16K TRIMed by page compression
+compress_trim_sect32768 compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of sect-32K TRIMed by page compression
+compress_pages_page_compressed compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of pages compressed by page compression
+compress_page_compressed_trim_op compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of TRIM operation performed by page compression
+compress_page_compressed_trim_op_saved compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of TRIM operation saved by page compression
+compress_pages_page_decompressed compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of pages decompressed by page compression
+compress_pages_page_compression_error compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of page compression errors
+compress_pages_encrypted compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of pages encrypted
+compress_pages_decrypted compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of pages decrypted
+index_page_splits index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of index page splits
+index_page_merge_attempts index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of index page merge attempts
+index_page_merge_successful index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of successful index page merges
+index_page_reorg_attempts index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of index page reorganization attempts
+index_page_reorg_successful index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of successful index page reorganizations
+index_page_discards index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of index pages discarded
+adaptive_hash_searches adaptive_hash_index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of successful searches using Adaptive Hash Index
+adaptive_hash_searches_btree adaptive_hash_index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of searches using B-tree on an index search
+adaptive_hash_pages_added adaptive_hash_index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of index pages on which the Adaptive Hash Index is built
+adaptive_hash_pages_removed adaptive_hash_index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of index pages whose corresponding Adaptive Hash Index entries were removed
+adaptive_hash_rows_added adaptive_hash_index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Adaptive Hash Index rows added
+adaptive_hash_rows_removed adaptive_hash_index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Adaptive Hash Index rows removed
+adaptive_hash_rows_deleted_no_hash_entry adaptive_hash_index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of rows deleted that did not have corresponding Adaptive Hash Index entries
+adaptive_hash_rows_updated adaptive_hash_index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of Adaptive Hash Index rows updated
+file_num_open_files file_system 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Number of files currently open (innodb_num_open_files)
+ibuf_merges_insert change_buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of inserted records merged by change buffering
+ibuf_merges_delete_mark change_buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of deleted records merged by change buffering
+ibuf_merges_delete change_buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of purge records merged by change buffering
+ibuf_merges_discard_insert change_buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of insert merged operations discarded
+ibuf_merges_discard_delete_mark change_buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of deleted merged operations discarded
+ibuf_merges_discard_delete change_buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of purge merged operations discarded
+ibuf_merges change_buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of change buffer merges
+ibuf_size change_buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Change buffer size in pages
+innodb_master_thread_sleeps server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times (seconds) master thread sleeps
+innodb_activity_count server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Current server activity count
+innodb_master_active_loops server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times master thread performs its tasks when server is active
+innodb_master_idle_loops server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of times master thread performs its tasks when server is idle
+innodb_background_drop_table_usec server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Time (in microseconds) spent to process drop table list
+innodb_ibuf_merge_usec server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Time (in microseconds) spent to process change buffer merge
+innodb_log_flush_usec server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Time (in microseconds) spent to flush log records
+innodb_mem_validate_usec server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Time (in microseconds) spent to do memory validation
+innodb_master_purge_usec server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Time (in microseconds) spent by master thread to purge records
+innodb_dict_lru_usec server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Time (in microseconds) spent to process DICT LRU list
+innodb_dict_lru_count_active server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of tables evicted from DICT LRU list in the active loop
+innodb_dict_lru_count_idle server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of tables evicted from DICT LRU list in the idle loop
+innodb_checkpoint_usec server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Time (in microseconds) spent by master thread to do checkpoint
+innodb_dblwr_writes server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of doublewrite operations that have been performed (innodb_dblwr_writes)
+innodb_dblwr_pages_written server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of pages that have been written for doublewrite operations (innodb_dblwr_pages_written)
+innodb_page_size server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value InnoDB page size in bytes (innodb_page_size)
+innodb_rwlock_s_spin_waits server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of rwlock spin waits due to shared latch request
+innodb_rwlock_x_spin_waits server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of rwlock spin waits due to exclusive latch request
+innodb_rwlock_s_spin_rounds server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of rwlock spin loop rounds due to shared latch request
+innodb_rwlock_x_spin_rounds server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of rwlock spin loop rounds due to exclusive latch request
+innodb_rwlock_s_os_waits server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of OS waits due to shared latch request
+innodb_rwlock_x_os_waits server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of OS waits due to exclusive latch request
+dml_reads dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of rows read
+dml_inserts dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of rows inserted
+dml_deletes dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of rows deleted
+dml_updates dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of rows updated
+dml_system_reads dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of system rows read
+dml_system_inserts dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of system rows inserted
+dml_system_deletes dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of system rows deleted
+dml_system_updates dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of system rows updated
+ddl_background_drop_indexes ddl 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of indexes waiting to be dropped after failed index creation
+ddl_background_drop_tables ddl 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of tables in background drop table list
+ddl_online_create_index ddl 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of indexes being created online
+ddl_pending_alter_table ddl 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of ALTER TABLE, CREATE INDEX, DROP INDEX in progress
+icp_attempts icp 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of attempts for index push-down condition checks
+icp_no_match icp 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Index push-down condition does not match
+icp_out_of_range icp 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Index push-down condition out of range
+icp_match icp 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Index push-down condition matches
+select * from information_schema.innodb_ft_default_stopword;
+value
+a
+about
+an
+are
+as
+at
+be
+by
+com
+de
+en
+for
+from
+how
+i
+in
+is
+it
+la
+of
+on
+or
+that
+the
+this
+to
+was
+what
+when
+where
+who
+will
+with
+und
+the
+www
+select * from information_schema.innodb_ft_deleted;
+DOC_ID
+select * from information_schema.innodb_ft_being_deleted;
+DOC_ID
+select * from information_schema.innodb_ft_index_cache;
+WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
+select * from information_schema.innodb_ft_index_table;
+WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
+select * from information_schema.innodb_ft_config;
+KEY VALUE
+select * from information_schema.innodb_buffer_page;
+POOL_ID BLOCK_ID SPACE PAGE_NUMBER PAGE_TYPE FLUSH_TYPE FIX_COUNT IS_HASHED NEWEST_MODIFICATION OLDEST_MODIFICATION ACCESS_TIME TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE COMPRESSED_SIZE PAGE_STATE IO_FIX IS_OLD FREE_PAGE_CLOCK
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_buffer_page but the InnoDB storage engine is not installed
+select * from information_schema.innodb_buffer_page_lru;
+POOL_ID LRU_POSITION SPACE PAGE_NUMBER PAGE_TYPE FLUSH_TYPE FIX_COUNT IS_HASHED NEWEST_MODIFICATION OLDEST_MODIFICATION ACCESS_TIME TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE COMPRESSED_SIZE COMPRESSED IO_FIX IS_OLD FREE_PAGE_CLOCK
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_buffer_page_lru but the InnoDB storage engine is not installed
+select * from information_schema.innodb_buffer_stats;
+select * from information_schema.innodb_sys_tables;
+TABLE_ID NAME FLAG N_COLS SPACE FILE_FORMAT ROW_FORMAT ZIP_PAGE_SIZE
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_tables but the InnoDB storage engine is not installed
+select * from information_schema.innodb_sys_tablestats;
+TABLE_ID NAME STATS_INITIALIZED NUM_ROWS CLUST_INDEX_SIZE OTHER_INDEX_SIZE MODIFIED_COUNTER AUTOINC REF_COUNT
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_tablestats but the InnoDB storage engine is not installed
+select * from information_schema.innodb_sys_indexes;
+INDEX_ID NAME TABLE_ID TYPE N_FIELDS PAGE_NO SPACE
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_indexes but the InnoDB storage engine is not installed
+select * from information_schema.innodb_sys_columns;
+TABLE_ID NAME POS MTYPE PRTYPE LEN
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_columns but the InnoDB storage engine is not installed
+select * from information_schema.innodb_sys_fields;
+INDEX_ID NAME POS
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_fields but the InnoDB storage engine is not installed
+select * from information_schema.innodb_sys_foreign;
+ID FOR_NAME REF_NAME N_COLS TYPE
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_foreign but the InnoDB storage engine is not installed
+select * from information_schema.innodb_sys_foreign_cols;
+ID FOR_COL_NAME REF_COL_NAME POS
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_foreign_cols but the InnoDB storage engine is not installed
+select * from information_schema.innodb_sys_tablespaces;
+SPACE NAME FLAG FILE_FORMAT ROW_FORMAT PAGE_SIZE ZIP_PAGE_SIZE
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_tablespaces but the InnoDB storage engine is not installed
+select * from information_schema.innodb_sys_datafiles;
+SPACE PATH
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_datafiles but the InnoDB storage engine is not installed
+select * from information_schema.innodb_changed_pages;
+space_id page_id start_lsn end_lsn
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_changed_pages but the InnoDB storage engine is not installed
+select * from information_schema.innodb_tablespaces_encryption;
+SPACE NAME ENCRYPTION_SCHEME KEYSERVER_REQUESTS MIN_KEY_VERSION CURRENT_KEY_VERSION KEY_ROTATION_PAGE_NUMBER KEY_ROTATION_MAX_PAGE_NUMBER CURRENT_KEY_ID ROTATING_OR_FLUSHING
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_tablespaces_encryption but the InnoDB storage engine is not installed
+select * from information_schema.innodb_tablespaces_scrubbing;
+SPACE NAME COMPRESSED LAST_SCRUB_COMPLETED CURRENT_SCRUB_STARTED CURRENT_SCRUB_ACTIVE_THREADS CURRENT_SCRUB_PAGE_NUMBER CURRENT_SCRUB_MAX_PAGE_NUMBER
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_tablespaces_scrubbing but the InnoDB storage engine is not installed
+select * from information_schema.innodb_mutexes;
+NAME CREATE_FILE CREATE_LINE OS_WAITS
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_mutexes but the InnoDB storage engine is not installed
+select * from information_schema.innodb_sys_semaphore_waits;
+THREAD_ID OBJECT_NAME FILE LINE WAIT_TIME WAIT_OBJECT WAIT_TYPE HOLDER_THREAD_ID HOLDER_FILE HOLDER_LINE CREATED_FILE CREATED_LINE WRITER_THREAD RESERVATION_MODE READERS WAITERS_FLAG LOCK_WORD LAST_READER_FILE LAST_READER_LINE LAST_WRITER_FILE LAST_WRITER_LINE OS_WAIT_COUNT
+Warnings:
+Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_sys_semaphore_waits but the InnoDB storage engine is not installed
diff --git a/mysql-test/suite/innodb/r/innodb_stats.result b/mysql-test/suite/innodb/r/innodb_stats.result
new file mode 100644
index 00000000000..d2c3bd0127e
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_stats.result
@@ -0,0 +1,522 @@
+TRUNCATE TABLE test_innodb_stats;
+SELECT 'dummy INSERT, the table should be empty';
+dummy INSERT, the table should be empty
+dummy INSERT, the table should be empty
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 0
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 0
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 0
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
+TRUNCATE TABLE test_innodb_stats;
+INSERT INTO test_innodb_stats (a) VALUES (1);
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 1
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 1
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 1
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
+TRUNCATE TABLE test_innodb_stats;
+INSERT INTO test_innodb_stats (a) VALUES (1), (1);
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 1
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 2
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 2
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
+TRUNCATE TABLE test_innodb_stats;
+INSERT INTO test_innodb_stats (a) VALUES (1), (1), (1);
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 1
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 3
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 3
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
+TRUNCATE TABLE test_innodb_stats;
+INSERT INTO test_innodb_stats (a) VALUES (1), (1), (1), (1), (1), (1), (1), (1), (1), (1);
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 1
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 10
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 2
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
+TRUNCATE TABLE test_innodb_stats;
+INSERT INTO test_innodb_stats (a) VALUES (1), (2);
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 2
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 2
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 2
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
+TRUNCATE TABLE test_innodb_stats;
+INSERT INTO test_innodb_stats (a) VALUES (1), (1), (2);
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 2
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 3
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 3
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
+TRUNCATE TABLE test_innodb_stats;
+INSERT INTO test_innodb_stats (a) VALUES (1), (2), (3);
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 3
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 3
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 3
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
+TRUNCATE TABLE test_innodb_stats;
+INSERT INTO test_innodb_stats (a) VALUES (1), (1), (2), (3), (3);
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 3
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 5
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 5
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
+TRUNCATE TABLE test_innodb_stats;
+INSERT INTO test_innodb_stats (a) VALUES (1), (2), (3), (4), (5), (1), (2), (3), (4), (5);
+ANALYZE TABLE test_innodb_stats;
+Table Op Msg_type Msg_text
+test.test_innodb_stats analyze status OK
+SELECT
+stat_name,
+stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE
+database_name = DATABASE() AND
+table_name = 'test_innodb_stats' AND
+index_name = 'a_key' AND
+stat_name IN ('n_diff_pfx01', 'n_diff_pfx02', 'n_leaf_pages', 'size')
+ORDER BY stat_name;
+stat_name n_diff_pfx01
+stat_value 5
+sample_size 1
+stat_description a
+stat_name n_diff_pfx02
+stat_value 10
+sample_size 1
+stat_description a,DB_ROW_ID
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+FLUSH TABLE test_innodb_stats;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 'test_innodb_stats';
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME test_innodb_stats
+NON_UNIQUE 1
+INDEX_SCHEMA test
+INDEX_NAME a_key
+SEQ_IN_INDEX 1
+COLUMN_NAME a
+COLLATION A
+CARDINALITY 10
+SUB_PART NULL
+PACKED NULL
+NULLABLE YES
+INDEX_TYPE BTREE
+COMMENT
+INDEX_COMMENT
diff --git a/mysql-test/suite/innodb/r/innodb_stats_create_on_corrupted.result b/mysql-test/suite/innodb/r/innodb_stats_create_on_corrupted.result
new file mode 100644
index 00000000000..c351b222496
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_stats_create_on_corrupted.result
@@ -0,0 +1,32 @@
+call mtr.add_suppression("InnoDB: Error: Table \"mysql\".\"innodb_index_stats\" not found");
+call mtr.add_suppression("InnoDB: Error: Fetch of persistent statistics requested for table");
+ALTER TABLE mysql.innodb_index_stats RENAME TO mysql.innodb_index_stats_;
+CREATE TABLE test_ps_create_on_corrupted
+(a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_create_on_corrupted'
+ORDER BY index_name, seq_in_index;
+seq_in_index 1
+column_name a
+cardinality 0
+SELECT table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_create_on_corrupted';
+table_rows 0
+avg_row_length 0
+max_data_length 0
+index_length 0
+ALTER TABLE mysql.innodb_index_stats_ RENAME TO mysql.innodb_index_stats;
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_create_on_corrupted'
+ORDER BY index_name, seq_in_index;
+seq_in_index 1
+column_name a
+cardinality 0
+SELECT table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_create_on_corrupted';
+table_rows 0
+avg_row_length 0
+max_data_length 0
+index_length 0
+DROP TABLE test_ps_create_on_corrupted;
diff --git a/mysql-test/suite/innodb/r/innodb_stats_create_table.result b/mysql-test/suite/innodb/r/innodb_stats_create_table.result
new file mode 100644
index 00000000000..c37c4671fd1
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_stats_create_table.result
@@ -0,0 +1,35 @@
+set @save_innodb_stats_persistent= @@innodb_stats_persistent;
+set global innodb_stats_persistent=default;
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+COUNT(*) 0
+CREATE TABLE test_ps_create_table (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=0;
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+COUNT(*) 0
+DROP TABLE test_ps_create_table;
+CREATE TABLE test_ps_create_table (a INT, PRIMARY KEY (a))
+ENGINE=INNODB;
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+COUNT(*) 1
+DROP TABLE test_ps_create_table;
+CREATE TABLE test_ps_create_table (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=default;
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+COUNT(*) 1
+DROP TABLE test_ps_create_table;
+CREATE TABLE test_ps_create_table (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+COUNT(*) 1
+DROP TABLE test_ps_create_table;
+set global innodb_stats_persistent= @save_innodb_stats_persistent;
diff --git a/mysql-test/suite/innodb/r/innodb_stats_drop_locked.result b/mysql-test/suite/innodb/r/innodb_stats_drop_locked.result
new file mode 100644
index 00000000000..13cc45e0ef9
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_stats_drop_locked.result
@@ -0,0 +1,45 @@
+Table Op Msg_type Msg_text
+test.innodb_stats_drop_locked analyze status OK
+SET autocommit=0;
+SELECT table_name FROM mysql.innodb_table_stats
+WHERE table_name='innodb_stats_drop_locked'
+FOR UPDATE;
+table_name
+innodb_stats_drop_locked
+SELECT table_name FROM mysql.innodb_index_stats
+WHERE table_name='innodb_stats_drop_locked'
+FOR UPDATE;
+table_name
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+ALTER TABLE innodb_stats_drop_locked DROP INDEX c_key;
+Warnings:
+Warning 1205 Unable to delete statistics for index c_key from mysql.innodb_index_stats because the rows are locked: Lock wait timeout. They can be deleted later using DELETE FROM mysql.innodb_index_stats WHERE database_name = 'test' AND table_name = 'innodb_stats_drop_locked' AND index_name = 'c_key';
+SHOW CREATE TABLE innodb_stats_drop_locked;
+Table Create Table
+innodb_stats_drop_locked CREATE TABLE `innodb_stats_drop_locked` (
+ `c` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=1
+DROP TABLE innodb_stats_drop_locked;
+SHOW TABLES;
+Tables_in_test
+COMMIT;
+SELECT table_name FROM mysql.innodb_table_stats
+WHERE table_name='innodb_stats_drop_locked';
+table_name
+innodb_stats_drop_locked
+SELECT table_name FROM mysql.innodb_index_stats
+WHERE table_name='innodb_stats_drop_locked';
+table_name
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
+innodb_stats_drop_locked
diff --git a/mysql-test/suite/innodb/r/innodb_stats_fetch.result b/mysql-test/suite/innodb/r/innodb_stats_fetch.result
new file mode 100644
index 00000000000..b348e41f1d9
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_stats_fetch.result
@@ -0,0 +1,145 @@
+CREATE TABLE test_ps_fetch
+(a INT, b INT, c INT, d INT, PRIMARY KEY (a, b), INDEX idx (c, d))
+ENGINE=INNODB STATS_PERSISTENT=1;
+ANALYZE TABLE test_ps_fetch;
+Table test.test_ps_fetch
+Op analyze
+Msg_type status
+Msg_text OK
+SELECT n_rows, clustered_index_size, sum_of_other_index_sizes
+FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch';
+n_rows 0
+clustered_index_size 1
+sum_of_other_index_sizes 1
+SELECT index_name, stat_name, stat_value, sample_size, stat_description
+FROM mysql.innodb_index_stats WHERE table_name = 'test_ps_fetch'
+ORDER BY index_name, stat_name;
+index_name PRIMARY
+stat_name n_diff_pfx01
+stat_value 0
+sample_size 1
+stat_description a
+index_name PRIMARY
+stat_name n_diff_pfx02
+stat_value 0
+sample_size 1
+stat_description a,b
+index_name PRIMARY
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+index_name PRIMARY
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+index_name idx
+stat_name n_diff_pfx01
+stat_value 0
+sample_size 1
+stat_description c
+index_name idx
+stat_name n_diff_pfx02
+stat_value 0
+sample_size 1
+stat_description c,d
+index_name idx
+stat_name n_diff_pfx03
+stat_value 0
+sample_size 1
+stat_description c,d,a
+index_name idx
+stat_name n_diff_pfx04
+stat_value 0
+sample_size 1
+stat_description c,d,a,b
+index_name idx
+stat_name n_leaf_pages
+stat_value 1
+sample_size NULL
+stat_description Number of leaf pages in the index
+index_name idx
+stat_name size
+stat_value 1
+sample_size NULL
+stat_description Number of pages in the index
+SELECT index_name, seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_fetch'
+ORDER BY index_name, seq_in_index;
+index_name idx
+seq_in_index 1
+column_name c
+cardinality 0
+index_name idx
+seq_in_index 2
+column_name d
+cardinality 0
+index_name PRIMARY
+seq_in_index 1
+column_name a
+cardinality 0
+index_name PRIMARY
+seq_in_index 2
+column_name b
+cardinality 0
+SELECT
+table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_fetch';
+table_rows 0
+avg_row_length 0
+max_data_length 0
+index_length 16384
+UPDATE mysql.innodb_table_stats SET
+n_rows = 1000,
+clustered_index_size = 5
+WHERE
+table_name = 'test_ps_fetch';
+UPDATE mysql.innodb_index_stats SET
+stat_value = 20
+WHERE
+table_name = 'test_ps_fetch' AND
+index_name = 'PRIMARY' AND
+stat_name = 'n_diff_pfx01';
+UPDATE mysql.innodb_index_stats SET
+stat_value = 90
+WHERE
+table_name = 'test_ps_fetch' AND
+index_name = 'PRIMARY' AND
+stat_name = 'n_diff_pfx02';
+UPDATE mysql.innodb_index_stats SET
+stat_value = 3
+WHERE
+table_name = 'test_ps_fetch' AND
+index_name = 'idx' AND
+stat_name = 'n_diff_pfx01';
+UPDATE mysql.innodb_index_stats SET
+stat_value = 11
+WHERE
+table_name = 'test_ps_fetch' AND
+index_name = 'idx' AND
+stat_name = 'n_diff_pfx02';
+FLUSH TABLE test_ps_fetch;
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_fetch'
+ORDER BY index_name, seq_in_index;
+seq_in_index 1
+column_name c
+cardinality 6
+seq_in_index 2
+column_name d
+cardinality 22
+seq_in_index 1
+column_name a
+cardinality 40
+seq_in_index 2
+column_name b
+cardinality 200
+SELECT
+table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_fetch';
+table_rows 1000
+avg_row_length 81
+max_data_length 0
+index_length 16384
+DROP TABLE test_ps_fetch;
diff --git a/mysql-test/suite/innodb/r/innodb_stats_fetch_corrupted.result b/mysql-test/suite/innodb/r/innodb_stats_fetch_corrupted.result
new file mode 100644
index 00000000000..f6cce754527
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_stats_fetch_corrupted.result
@@ -0,0 +1,31 @@
+call mtr.add_suppression("InnoDB: Error: Table \"mysql\".\"innodb_index_stats\" not found");
+call mtr.add_suppression("InnoDB: Error: Fetch of persistent statistics requested for table");
+CREATE TABLE test_ps_fetch_corrupted
+(a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+ANALYZE TABLE test_ps_fetch_corrupted;
+Table test.test_ps_fetch_corrupted
+Op analyze
+Msg_type status
+Msg_text OK
+SELECT n_rows, clustered_index_size, sum_of_other_index_sizes
+FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch_corrupted';
+n_rows 0
+clustered_index_size 1
+sum_of_other_index_sizes 0
+ALTER TABLE mysql.innodb_index_stats RENAME TO mysql.innodb_index_stats_;
+FLUSH TABLE test_ps_fetch_corrupted;
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_fetch_corrupted'
+ORDER BY index_name, seq_in_index;
+seq_in_index 1
+column_name a
+cardinality 0
+SELECT table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_fetch_corrupted';
+table_rows 0
+avg_row_length 0
+max_data_length 0
+index_length 0
+ALTER TABLE mysql.innodb_index_stats_ RENAME TO mysql.innodb_index_stats;
+DROP TABLE test_ps_fetch_corrupted;
diff --git a/mysql-test/suite/innodb/r/innodb_stats_fetch_nonexistent.result b/mysql-test/suite/innodb/r/innodb_stats_fetch_nonexistent.result
new file mode 100644
index 00000000000..6093fbae86b
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_stats_fetch_nonexistent.result
@@ -0,0 +1,28 @@
+call mtr.add_suppression("InnoDB: Error: Fetch of persistent statistics requested for table *");
+CREATE TABLE test_ps_fetch_nonexistent
+(a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+ANALYZE TABLE test_ps_fetch_nonexistent;
+Table test.test_ps_fetch_nonexistent
+Op analyze
+Msg_type status
+Msg_text OK
+SELECT COUNT(*)
+FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch_nonexistent';
+COUNT(*) 1
+DELETE FROM mysql.innodb_index_stats WHERE table_name = 'test_ps_fetch_nonexistent';
+DELETE FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch_nonexistent';
+FLUSH TABLE test_ps_fetch_nonexistent;
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_fetch_nonexistent'
+ORDER BY index_name, seq_in_index;
+seq_in_index 1
+column_name a
+cardinality 0
+SELECT table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_fetch_nonexistent';
+table_rows 0
+avg_row_length 0
+max_data_length 0
+index_length 0
+DROP TABLE test_ps_fetch_nonexistent;
diff --git a/mysql-test/suite/innodb/r/innodb_stats_rename_table.result b/mysql-test/suite/innodb/r/innodb_stats_rename_table.result
new file mode 100644
index 00000000000..20d82dff9ba
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_stats_rename_table.result
@@ -0,0 +1,50 @@
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+CREATE TABLE stats_rename_old (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+table_name stats_rename_old
+n_rows 0
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+table_name stats_rename_old
+index_name PRIMARY
+stat_name n_diff_pfx01
+stat_value 0
+table_name stats_rename_old
+index_name PRIMARY
+stat_name n_leaf_pages
+stat_value 1
+table_name stats_rename_old
+index_name PRIMARY
+stat_name size
+stat_value 1
+RENAME TABLE stats_rename_old TO stats_rename_new;
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+table_name stats_rename_new
+n_rows 0
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+table_name stats_rename_new
+index_name PRIMARY
+stat_name n_diff_pfx01
+stat_value 0
+table_name stats_rename_new
+index_name PRIMARY
+stat_name n_leaf_pages
+stat_value 1
+table_name stats_rename_new
+index_name PRIMARY
+stat_name size
+stat_value 1
+DROP TABLE stats_rename_new;
diff --git a/mysql-test/suite/innodb/r/innodb_stats_rename_table_if_exists.result b/mysql-test/suite/innodb/r/innodb_stats_rename_table_if_exists.result
new file mode 100644
index 00000000000..5614b4ba490
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_stats_rename_table_if_exists.result
@@ -0,0 +1,80 @@
+CREATE TABLE stats_rename1 (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+INSERT INTO mysql.innodb_table_stats
+SELECT
+database_name,
+'stats_rename2' AS table_name,
+last_update,
+123 AS n_rows,
+clustered_index_size,
+sum_of_other_index_sizes
+FROM mysql.innodb_table_stats
+WHERE table_name = 'stats_rename1';
+INSERT INTO mysql.innodb_index_stats
+SELECT
+database_name,
+'stats_rename2' AS table_name,
+index_name,
+last_update,
+stat_name,
+567 AS stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE table_name = 'stats_rename1';
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename1', 'stats_rename2');
+table_name stats_rename1
+n_rows 0
+table_name stats_rename2
+n_rows 123
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename1', 'stats_rename2');
+table_name stats_rename1
+index_name PRIMARY
+stat_name n_diff_pfx01
+stat_value 0
+table_name stats_rename1
+index_name PRIMARY
+stat_name n_leaf_pages
+stat_value 1
+table_name stats_rename1
+index_name PRIMARY
+stat_name size
+stat_value 1
+table_name stats_rename2
+index_name PRIMARY
+stat_name n_diff_pfx01
+stat_value 567
+table_name stats_rename2
+index_name PRIMARY
+stat_name n_leaf_pages
+stat_value 567
+table_name stats_rename2
+index_name PRIMARY
+stat_name size
+stat_value 567
+RENAME TABLE stats_rename1 TO stats_rename2;
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename1', 'stats_rename2');
+table_name stats_rename2
+n_rows 0
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename1', 'stats_rename2');
+table_name stats_rename2
+index_name PRIMARY
+stat_name n_diff_pfx01
+stat_value 0
+table_name stats_rename2
+index_name PRIMARY
+stat_name n_leaf_pages
+stat_value 1
+table_name stats_rename2
+index_name PRIMARY
+stat_name size
+stat_value 1
+DROP TABLE stats_rename2;
diff --git a/mysql-test/suite/innodb/r/innodb_sys_semaphore_waits.result b/mysql-test/suite/innodb/r/innodb_sys_semaphore_waits.result
new file mode 100644
index 00000000000..4164e043b2c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_sys_semaphore_waits.result
@@ -0,0 +1,26 @@
+# Establish connection con1 (user=root)
+# Establish connection con2 (user=root)
+drop table if exists t1;
+# Switch to connection con1
+create table t1 (id integer, x integer) engine = InnoDB;
+insert into t1 values(0, 0);
+set DEBUG_DBUG='+d,fatal-semaphore-timeout';
+set autocommit=0;
+# Sending query on con1,
+# the session will hold lock table mutex and sleep
+SELECT * from t1 where id = 0 FOR UPDATE;
+# Switch to connection con2
+set autocommit=0;
+# Sending query on con2,
+# the session will be blocked on the lock table mutex and
+# thus be put into sync arry
+SELECT * from t1 where id = 0 FOR UPDATE;
+# Switched to the default connection
+# Waitting for mysqld to crash
+# Mysqld crash was detected
+# Waitting for reconnect after mysqld restarts
+# Reconnected after mysqld was successfully restarted
+# Cleaning up before exit
+set DEBUG_DBUG=NULL;
+drop table if exists t1;
+# Clean exit
diff --git a/mysql-test/suite/innodb/r/innodb_uninstall.result b/mysql-test/suite/innodb/r/innodb_uninstall.result
index 2064269a02e..5a2c6f5c2be 100644
--- a/mysql-test/suite/innodb/r/innodb_uninstall.result
+++ b/mysql-test/suite/innodb/r/innodb_uninstall.result
@@ -9,8 +9,8 @@ sleep(1)
0
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
-drop table t1;
install plugin innodb soname 'ha_innodb';
+drop table t1;
create table t2(a int not null primary key) engine=innodb;
insert into t2 values(1);
drop table t2;
diff --git a/mysql-test/suite/innodb/r/innodb_zip_innochecksum.result b/mysql-test/suite/innodb/r/innodb_zip_innochecksum.result
new file mode 100644
index 00000000000..ff1bccfb60c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_zip_innochecksum.result
@@ -0,0 +1,91 @@
+# Set the environmental variables
+call mtr.add_suppression("InnoDB: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts");
+call mtr.add_suppression("InnoDB: Warning: database page corruption or a failed");
+CREATE TABLE tab1(c1 INT PRIMARY KEY,c2 VARCHAR(20)) ENGINE=InnoDB;
+CREATE INDEX idx1 ON tab1(c2(10));
+INSERT INTO tab1 VALUES(1, 'Innochecksum InnoDB1');
+CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+insert into t1 values(1,"i");
+insert into t1 values(2,"am");
+insert into t1 values(3,"compressed table");
+# Shutdown the Server
+# Server Default checksum = innodb
+[1b]: check the innochecksum without --strict-check
+[2]: check the innochecksum with full form --strict-check=crc32
+[3]: check the innochecksum with short form -C crc32
+[4]: check the innochecksum with --no-check ignores algorithm check, warning is expected
+FOUND /Error: --no-check must be associated with --write option./ in my_restart.err
+[5]: check the innochecksum with short form --no-check ignores algorithm check, warning is expected
+FOUND /Error: --no-check must be associated with --write option./ in my_restart.err
+[6]: check the innochecksum with full form strict-check & no-check , an error is expected
+FOUND /Error: --strict-check option cannot be used together with --no-check option./ in my_restart.err
+[7]: check the innochecksum with short form strict-check & no-check , an error is expected
+FOUND /Error: --strict-check option cannot be used together with --no-check option./ in my_restart.err
+[8]: check the innochecksum with short & full form combination
+# strict-check & no-check, an error is expected
+FOUND /Error: --strict-check option cannot be used together with --no-check option./ in my_restart.err
+[9]: check the innochecksum with full form --strict-check=innodb
+[10]: check the innochecksum with full form --strict-check=none
+# when server Default checksum=crc32
+[11]: check the innochecksum with short form -C innodb
+# when server Default checksum=crc32
+[12]: check the innochecksum with short form -C none
+# when server Default checksum=crc32
+[13]: check strict-check with invalid values
+FOUND /Error while setting value \'strict_innodb\' to \'strict-check\'/ in my_restart.err
+FOUND /Error while setting value \'strict_innodb\' to \'strict-check\'/ in my_restart.err
+FOUND /Error while setting value \'strict_crc32\' to \'strict-check\'/ in my_restart.err
+FOUND /Error while setting value \'strict_crc32\' to \'strict-check\'/ in my_restart.err
+FOUND /Error while setting value \'strict_none\' to \'strict-check\'/ in my_restart.err
+FOUND /Error while setting value \'strict_none\' to \'strict-check\'/ in my_restart.err
+FOUND /Error while setting value \'InnoBD\' to \'strict-check\'/ in my_restart.err
+FOUND /Error while setting value \'InnoBD\' to \'strict-check\'/ in my_restart.err
+FOUND /Error while setting value \'crc\' to \'strict-check\'/ in my_restart.err
+FOUND /Error while setting value \'no\' to \'strict-check\'/ in my_restart.err
+[14a]: when server default checksum=crc32 rewrite new checksum=crc32 with innochecksum
+# Also check the long form of write option.
+[14b]: when server default checksum=crc32 rewrite new checksum=innodb with innochecksum
+# Also check the long form of write option.
+# start the server with innodb_checksum_algorithm=InnoDB
+INSERT INTO tab1 VALUES(2, 'Innochecksum CRC32');
+SELECT c1,c2 FROM tab1 order by c1,c2;
+c1 c2
+1 Innochecksum InnoDB1
+2 Innochecksum CRC32
+# Stop the server
+[15]: when server default checksum=crc32 rewrite new checksum=none with innochecksum
+# Also check the short form of write option.
+# Start the server with checksum algorithm=none
+INSERT INTO tab1 VALUES(3, 'Innochecksum None');
+SELECT c1,c2 FROM tab1 order by c1,c2;
+c1 c2
+1 Innochecksum InnoDB1
+2 Innochecksum CRC32
+3 Innochecksum None
+DROP TABLE t1;
+# Stop the server
+[16]: rewrite into new checksum=crc32 with innochecksum
+# Restart the DB server with innodb_checksum_algorithm=crc32
+SELECT * FROM tab1;
+c1 c2
+1 Innochecksum InnoDB1
+2 Innochecksum CRC32
+3 Innochecksum None
+DELETE FROM tab1 where c1=3;
+SELECT c1,c2 FROM tab1 order by c1,c2;
+c1 c2
+1 Innochecksum InnoDB1
+2 Innochecksum CRC32
+# Stop server
+[17]: rewrite into new checksum=InnoDB
+# Restart the DB server with innodb_checksum_algorithm=InnoDB
+DELETE FROM tab1 where c1=2;
+SELECT * FROM tab1;
+c1 c2
+1 Innochecksum InnoDB1
+# Stop server
+[18]:check Innochecksum with invalid write options
+FOUND /Error while setting value \'strict_crc32\' to \'write\'/ in my_restart.err
+FOUND /Error while setting value \'strict_innodb\' to \'write\'/ in my_restart.err
+FOUND /Error while setting value \'crc23\' to \'write\'/ in my_restart.err
+DROP TABLE tab1;
diff --git a/mysql-test/suite/innodb/r/innodb_zip_innochecksum2.result b/mysql-test/suite/innodb/r/innodb_zip_innochecksum2.result
new file mode 100644
index 00000000000..582bb42f0cb
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_zip_innochecksum2.result
@@ -0,0 +1,160 @@
+SET GLOBAL innodb_compression_level=0;
+SELECT @@innodb_compression_level;
+@@innodb_compression_level
+0
+CREATE TABLE t1 (j LONGBLOB) ENGINE = InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+INSERT INTO t1 VALUES (repeat('abcdefghijklmnopqrstuvwxyz',200));
+INSERT INTO t1 SELECT * from t1;
+INSERT INTO t1 SELECT * from t1;
+INSERT INTO t1 SELECT * from t1;
+INSERT INTO t1 SELECT * from t1;
+INSERT INTO t1 SELECT * from t1;
+INSERT INTO t1 SELECT * from t1;
+INSERT INTO t1 SELECT * from t1;
+INSERT INTO t1 SELECT * from t1;
+INSERT INTO t1 SELECT * from t1;
+INSERT INTO t1 SELECT * from t1;
+# stop the server
+
+Variables (--variable-name=value)
+and boolean options {FALSE|TRUE} Value (after reading options)
+--------------------------------- ----------------------------------------
+verbose TRUE
+debug FALSE
+count FALSE
+start-page 0
+end-page 0
+page 0
+strict-check crc32
+no-check FALSE
+allow-mismatches 0
+write crc32
+page-type-summary FALSE
+page-type-dump MYSQLTEST_VARDIR/tmp/dump.txt
+per-page-details FALSE
+log (No default value)
+leaf FALSE
+merge 0
+[1]:# check the both short and long options for "help"
+[2]:# Run the innochecksum when file isn't provided.
+# It will print the innochecksum usage similar to --help option.
+innochecksum Ver #.#.#
+Copyright (c) YEAR, YEAR , Oracle, MariaDB Corporation Ab and others.
+
+InnoDB offline file checksum utility.
+Usage: innochecksum [-c] [-s <start page>] [-e <end page>] [-p <page>] [-i] [-v] [-a <allow mismatches>] [-n] [-C <strict-check>] [-w <write>] [-S] [-D <page type dump>] [-l <log>] [-l] [-m <merge pages>] <filename or [-]>
+ -?, --help Displays this help and exits.
+ -I, --info Synonym for --help.
+ -V, --version Displays version information and exits.
+ -v, --verbose Verbose (prints progress every 5 seconds).
+ -c, --count Print the count of pages in the file and exits.
+ -s, --start-page=# Start on this page number (0 based).
+ -e, --end-page=# End at this page number (0 based).
+ -p, --page=# Check only this page (0 based).
+ -C, --strict-check=name
+ Specify the strict checksum algorithm by the user.. One
+ of: crc32, crc32, innodb, innodb, none, none
+ -n, --no-check Ignore the checksum verification.
+ -a, --allow-mismatches=#
+ Maximum checksum mismatch allowed.
+ -w, --write=name Rewrite the checksum algorithm by the user.. One of:
+ crc32, crc32, innodb, innodb, none, none
+ -S, --page-type-summary
+ Display a count of each page type in a tablespace.
+ -D, --page-type-dump=name
+ Dump the page type info for each page in a tablespace.
+ -i, --per-page-details
+ Print out per-page detail information.
+ -l, --log=name log output.
+ -f, --leaf Examine leaf index pages
+ -m, --merge=# leaf page count if merge given number of consecutive
+ pages
+
+Variables (--variable-name=value)
+and boolean options {FALSE|TRUE} Value (after reading options)
+--------------------------------- ----------------------------------------
+verbose FALSE
+count FALSE
+start-page 0
+end-page 0
+page 0
+strict-check crc32
+no-check FALSE
+allow-mismatches 0
+write crc32
+page-type-summary FALSE
+page-type-dump (No default value)
+per-page-details FALSE
+log (No default value)
+leaf FALSE
+merge 0
+[3]:# check the both short and long options for "count" and exit
+Number of pages:#
+Number of pages:#
+[4]:# Print the version of innochecksum and exit
+innochecksum Ver #.#.## Restart the DB server
+DROP TABLE t1;
+[5]:# Check the innochecksum for compressed table t1 with different key_block_size
+# Test for KEY_BLOCK_SIZE=1
+===> Testing size=1
+CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+insert into t1 values(1,"I");
+insert into t1 values(2,"AM");
+insert into t1 values(3,"COMPRESSED");
+select * from t1;
+id msg
+1 I
+2 AM
+3 COMPRESSED
+drop table t1;
+# Test for KEY_BLOCK_SIZE=2
+===> Testing size=2
+CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
+insert into t1 values(1,"I");
+insert into t1 values(2,"AM");
+insert into t1 values(3,"COMPRESSED");
+select * from t1;
+id msg
+1 I
+2 AM
+3 COMPRESSED
+drop table t1;
+# Test for for KEY_BLOCK_SIZE=4
+===> Testing size=4
+CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+insert into t1 values(1,"I");
+insert into t1 values(2,"AM");
+insert into t1 values(3,"COMPRESSED");
+select * from t1;
+id msg
+1 I
+2 AM
+3 COMPRESSED
+drop table t1;
+set innodb_strict_mode=off;
+# Test for for KEY_BLOCK_SIZE=8
+===> Testing size=8
+CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+insert into t1 values(1,"I");
+insert into t1 values(2,"AM");
+insert into t1 values(3,"COMPRESSED");
+select * from t1;
+id msg
+1 I
+2 AM
+3 COMPRESSED
+drop table t1;
+set innodb_strict_mode=off;
+# Test for KEY_BLOCK_SIZE=16
+===> Testing size=16
+CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
+insert into t1 values(1,"I");
+insert into t1 values(2,"AM");
+insert into t1 values(3,"COMPRESSED");
+select * from t1;
+id msg
+1 I
+2 AM
+3 COMPRESSED
+drop table t1;
+# Test[5] completed
diff --git a/mysql-test/suite/innodb/r/innodb_zip_innochecksum3.result b/mysql-test/suite/innodb/r/innodb_zip_innochecksum3.result
new file mode 100644
index 00000000000..03e8b5df75f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_zip_innochecksum3.result
@@ -0,0 +1,227 @@
+# Set the environmental variables
+call mtr.add_suppression("InnoDB: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts");
+call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to.*");
+[1]: Further Test are for rewrite checksum (innodb|crc32|none) for all ibd file & start the server.
+CREATE TABLE tab1 (pk INTEGER NOT NULL PRIMARY KEY,
+linestring_key GEOMETRY NOT NULL,
+linestring_nokey GEOMETRY NOT NULL)
+ENGINE=InnoDB ;
+INSERT INTO tab1 (pk, linestring_key, linestring_nokey)
+VALUES (1, ST_GeomFromText('POINT(10 10) '), ST_GeomFromText('POINT(10 10) '));
+CREATE INDEX linestring_index ON tab1(linestring_nokey(5));
+ALTER TABLE tab1 ADD KEY (linestring_key(5));
+# create a compressed table
+CREATE TABLE tab2(col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 longtext,
+col_4 longtext,col_5 longtext,
+col_6 longtext , col_7 int )
+engine = innodb row_format=compressed key_block_size=4;
+CREATE INDEX idx1 ON tab2(col_3(10));
+CREATE INDEX idx2 ON tab2(col_4(10));
+CREATE INDEX idx3 ON tab2(col_5(10));
+SET @col_1 = repeat('a', 5);
+SET @col_2 = repeat('b', 20);
+SET @col_3 = repeat('c', 100);
+SET @col_4 = repeat('d', 100);
+SET @col_5 = repeat('e', 100);
+SET @col_6 = repeat('f', 100);
+INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,5);
+INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,4);
+INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,3);
+INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,2);
+INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,1);
+SELECT * FROM tab2 ORDER BY col_7;
+# stop the server
+[1(a)]: Rewrite into new checksum=InnoDB for all *.ibd file and ibdata1
+: start the server with innodb_checksum_algorithm=strict_innodb
+INSERT INTO tab1 (pk, linestring_key, linestring_nokey)
+VALUES (2, ST_GeomFromText('LINESTRING(10 10,20 20,30 30)'), ST_GeomFromText('LINESTRING(10 10,20 20,30 30)'));
+SET @col_1 = repeat('a', 5);
+SET @col_2 = repeat('b', 20);
+SET @col_3 = repeat('c', 100);
+SET @col_4 = repeat('d', 100);
+SET @col_5 = repeat('e', 100);
+SET @col_6 = repeat('f', 100);
+INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,6);
+SELECT pk,ST_AsText(linestring_key),ST_AsText(linestring_nokey)
+FROM tab1 ORDER BY pk;
+SELECT * FROM tab2 ORDER BY col_7;
+# stop the server
+[1(b)]: Rewrite into new checksum=crc32 for all *.ibd file and ibdata1
+# start the server with innodb_checksum_algorithm=strict_crc32
+INSERT INTO tab1 (pk, linestring_key, linestring_nokey)
+VALUES (3, ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'),
+ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'));
+SET @col_1 = repeat('g', 5);
+SET @col_2 = repeat('h', 20);
+SET @col_3 = repeat('i', 100);
+SET @col_4 = repeat('j', 100);
+SET @col_5 = repeat('k', 100);
+SET @col_6 = repeat('l', 100);
+INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,7);
+SELECT pk,ST_AsText(linestring_key),ST_AsText(linestring_nokey)
+FROM tab1 ORDER BY pk;
+SELECT * FROM tab2 ORDER BY col_7;
+# stop the server
+[1(c)]: Rewrite into new checksum=none for all *.ibd file and ibdata1
+INSERT INTO tab1 (pk, linestring_key, linestring_nokey)
+VALUES (4, ST_GeomFromText('MULTIPOINT(0 0,5 5,10 10,20 20) '), ST_GeomFromText('MULTIPOINT(0 0,5 5,10 10,20 20) '));
+SET @col_1 = repeat('m', 5);
+SET @col_2 = repeat('n', 20);
+SET @col_3 = repeat('o', 100);
+SET @col_4 = repeat('p', 100);
+SET @col_5 = repeat('q', 100);
+SET @col_6 = repeat('r', 100);
+INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,8);
+SELECT pk,ST_AsText(linestring_key),ST_AsText(linestring_nokey)
+FROM tab1 ORDER BY pk;
+SELECT * FROM tab2 ORDER BY col_7;
+# stop the server
+[2]: Check the page type summary with shortform for tab1.ibd
+
+File::tab#.ibd
+================PAGE TYPE SUMMARY==============
+#PAGE_COUNT PAGE_TYPE
+===============================================
+ # Index page
+ # Undo log page
+ # Inode page
+ # Insert buffer free list page
+ # Freshly allocated page
+ # Insert buffer bitmap
+ # System page
+ # Transaction system page
+ # File Space Header
+ # Extent descriptor page
+ # BLOB page
+ # Compressed BLOB page
+ # Page compressed page
+ # Page compressed encrypted page
+ # Other type of page
+
+===============================================
+Additional information:
+Undo page type: # insert, # update, # other
+Undo page state: # active, # cached, # to_free, # to_purge, # prepared, # other
+index_id #pages #leaf_pages #recs_per_page #bytes_per_page
+# # # # #
+# # # # #
+# # # # #
+
+index_id page_data_bytes_histgram(empty,...,oversized)
+# # # # # # # # # # # # #
+# # # # # # # # # # # # #
+# # # # # # # # # # # # #
+[3]: Check the page type summary with longform for tab1.ibd
+
+File::tab#.ibd
+================PAGE TYPE SUMMARY==============
+#PAGE_COUNT PAGE_TYPE
+===============================================
+ # Index page
+ # Undo log page
+ # Inode page
+ # Insert buffer free list page
+ # Freshly allocated page
+ # Insert buffer bitmap
+ # System page
+ # Transaction system page
+ # File Space Header
+ # Extent descriptor page
+ # BLOB page
+ # Compressed BLOB page
+ # Page compressed page
+ # Page compressed encrypted page
+ # Other type of page
+
+===============================================
+Additional information:
+Undo page type: # insert, # update, # other
+Undo page state: # active, # cached, # to_free, # to_purge, # prepared, # other
+index_id #pages #leaf_pages #recs_per_page #bytes_per_page
+# # # # #
+# # # # #
+# # # # #
+
+index_id page_data_bytes_histgram(empty,...,oversized)
+# # # # # # # # # # # # #
+# # # # # # # # # # # # #
+# # # # # # # # # # # # #
+[4]: Page type dump for with longform for tab1.ibd
+# Print the contents stored in dump.txt
+
+
+Filename::tab#.ibd
+==============================================================================
+ PAGE_NO | PAGE_TYPE | EXTRA INFO
+==============================================================================
+#::# | File Space Header | -
+#::# | Insert Buffer Bitmap | -
+#::# | Inode page | -
+#::# | Index page | index id=#, page level=#, No. of records=#, garbage=#, -
+#::# | Index page | index id=#, page level=#, No. of records=#, garbage=#, -
+#::# | Index page | index id=#, page level=#, No. of records=#, garbage=#, -
+#::# | Freshly allocated page | -
+#::# | Freshly allocated page | -
+# Variables used by page type dump for ibdata1
+
+Variables (--variable-name=value)
+and boolean options {FALSE|TRUE} Value (after reading options)
+--------------------------------- ----------------------------------------
+verbose TRUE
+count FALSE
+start-page 0
+end-page 0
+page 0
+strict-check crc32
+no-check FALSE
+allow-mismatches 0
+write crc32
+page-type-summary FALSE
+page-type-dump MYSQLTEST_VARDIR/tmp/dump.txt
+per-page-details FALSE
+log (No default value)
+leaf FALSE
+merge 0
+[5]: Page type dump for with shortform for tab1.ibd
+
+
+Filename::tab#.ibd
+==============================================================================
+ PAGE_NO | PAGE_TYPE | EXTRA INFO
+==============================================================================
+#::# | File Space Header | -
+#::# | Insert Buffer Bitmap | -
+#::# | Inode page | -
+#::# | Index page | index id=#, page level=#, No. of records=#, garbage=#, -
+#::# | Index page | index id=#, page level=#, No. of records=#, garbage=#, -
+#::# | Index page | index id=#, page level=#, No. of records=#, garbage=#, -
+#::# | Freshly allocated page | -
+#::# | Freshly allocated page | -
+[6]: check the valid lower bound values for option
+# allow-mismatches,page,start-page,end-page
+[9]: check the both short and long options "page" and "start-page" when
+# seek value is larger than file size.
+FOUND /Error: Unable to seek to necessary offset: Invalid argument/ in my_restart.err
+FOUND /Error: Unable to seek to necessary offset: Invalid argument/ in my_restart.err
+FOUND /Error: Unable to seek to necessary offset: Invalid argument/ in my_restart.err
+FOUND /Error: Unable to seek to necessary offset: Invalid argument/ in my_restart.err
+[34]: check the invalid upper bound values for options, allow-mismatches, end-page, start-page and page.
+# innochecksum will fail with error code: 1
+NOT FOUND /Incorrect unsigned integer value: '18446744073709551616'/ in my_restart.err
+NOT FOUND /Incorrect unsigned integer value: '18446744073709551616'/ in my_restart.err
+NOT FOUND /Incorrect unsigned integer value: '18446744073709551616'/ in my_restart.err
+NOT FOUND /Incorrect unsigned integer value: '18446744073709551616'/ in my_restart.err
+NOT FOUND /Incorrect unsigned integer value: '18446744073709551616'/ in my_restart.err
+NOT FOUND /Incorrect unsigned integer value: '18446744073709551616'/ in my_restart.err
+NOT FOUND /Incorrect unsigned integer value: '18446744073709551616'/ in my_restart.err
+NOT FOUND /Incorrect unsigned integer value: '18446744073709551616'/ in my_restart.err
+DROP TABLE tab1,tab2;
diff --git a/mysql-test/suite/innodb/r/lock_deleted.result b/mysql-test/suite/innodb/r/lock_deleted.result
new file mode 100644
index 00000000000..d949ac945de
--- /dev/null
+++ b/mysql-test/suite/innodb/r/lock_deleted.result
@@ -0,0 +1,40 @@
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+CREATE TABLE t1(a INT PRIMARY KEY, b INT UNIQUE) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1,1);
+DELETE FROM t1;
+SET DEBUG_SYNC='row_ins_sec_index_unique SIGNAL inserted WAIT_FOR locked';
+BEGIN;
+INSERT INTO t1 VALUES(1,1);
+SET DEBUG_SYNC='now WAIT_FOR inserted';
+SET DEBUG_SYNC='innodb_row_search_for_mysql_exit SIGNAL locked';
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+BEGIN;
+DELETE FROM t1 WHERE b=1;
+COMMIT;
+SET DEBUG_SYNC='RESET';
+ROLLBACK;
+SET DEBUG_SYNC='row_ins_sec_index_unique SIGNAL inserted WAIT_FOR locked';
+BEGIN;
+INSERT INTO t1 VALUES(1,1);
+SET DEBUG_SYNC='now WAIT_FOR inserted';
+SET DEBUG_SYNC='innodb_row_search_for_mysql_exit SIGNAL locked';
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+BEGIN;
+DELETE FROM t1 WHERE b=1;
+COMMIT;
+SET DEBUG_SYNC='RESET';
+ROLLBACK;
+SET DEBUG_SYNC='row_ins_sec_index_unique SIGNAL inserted WAIT_FOR locked';
+BEGIN;
+SET innodb_lock_wait_timeout=1;
+INSERT INTO t1 VALUES(1,1);
+SET DEBUG_SYNC='now WAIT_FOR inserted';
+SET DEBUG_SYNC='innodb_row_search_for_mysql_exit SIGNAL locked';
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+BEGIN;
+DELETE FROM t1 WHERE b=1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+COMMIT;
+SET DEBUG_SYNC='RESET';
+COMMIT;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/log_data_file_size.result b/mysql-test/suite/innodb/r/log_data_file_size.result
new file mode 100644
index 00000000000..7e994cbe1e2
--- /dev/null
+++ b/mysql-test/suite/innodb/r/log_data_file_size.result
@@ -0,0 +1,9 @@
+SET GLOBAL innodb_file_per_table=0;
+SET GLOBAL innodb_file_format=barracuda;
+CREATE TABLE t(a INT)ENGINE=InnoDB;
+SET GLOBAL innodb_file_per_table=1;
+CREATE TABLE ibd4(a INT UNIQUE)ENGINE=InnoDB;
+CREATE TABLE ibd4f(a INT UNIQUE)ENGINE=InnoDB;
+CREATE TABLE ibd5(a INT UNIQUE, b INT UNIQUE)ENGINE=InnoDB;
+# Kill the server
+DROP TABLE t,ibd4,ibd4f,ibd5;
diff --git a/mysql-test/suite/innodb/r/log_file_size.result b/mysql-test/suite/innodb/r/log_file_size.result
new file mode 100644
index 00000000000..621176d7879
--- /dev/null
+++ b/mysql-test/suite/innodb/r/log_file_size.result
@@ -0,0 +1,72 @@
+call mtr.add_suppression("mysqld got signal 11");
+call mtr.add_suppression("Attempting backtrace");
+FLUSH TABLES;
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES (42);
+# Kill and restart: --innodb-log-file-size=6M
+SELECT * FROM t1;
+a
+INSERT INTO t1 VALUES (42);
+BEGIN;
+DELETE FROM t1;
+# Kill and restart: --innodb-log-files-in-group=3 --innodb-log-file-size=5M
+SELECT * FROM t1;
+a
+42
+INSERT INTO t1 VALUES (123);
+BEGIN;
+DELETE FROM t1;
+# Kill the server
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /syntax error in innodb_log_group_home_dir/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: Starting crash recovery from checkpoint LSN=/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: innodb_read_only prevents crash recovery/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /redo log from 3\*[0-9]+ to 2\*[0-9]+ pages/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /redo log from 3\*[0-9]+ to 2\*[0-9]+ pages/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: innodb_read_only prevents crash recovery/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /redo log from 3\*[0-9]+ to 2\*[0-9]+ pages/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: Cannot create log files in read-only mode/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: Setting log file .*ib_logfile[0-9]+ size to/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: Setting log file .*ib_logfile[0-9]+ size to/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: Only one log file found/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: Log file .*ib_logfile0 size 7 is not a multiple of innodb_page_size/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: Log file .*ib_logfile1 is of different size 1048576 bytes than other log files/ in mysqld.1.err
+SELECT * FROM t1;
+ERROR 42000: Unknown storage engine 'InnoDB'
+FOUND /InnoDB: Setting log file .*ib_logfile[0-9]+ size to/ in mysqld.1.err
+FOUND /InnoDB: Renaming log file .*ib_logfile101 to .*ib_logfile0/ in mysqld.1.err
+SELECT * FROM t1;
+a
+42
+123
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/mvcc.result b/mysql-test/suite/innodb/r/mvcc.result
new file mode 100644
index 00000000000..6bbabc8d87a
--- /dev/null
+++ b/mysql-test/suite/innodb/r/mvcc.result
@@ -0,0 +1,26 @@
+SET @save_per_table= @@GLOBAL.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table= 1;
+#
+# MDEV-15249 Crash in MVCC read after IMPORT TABLESPACE
+#
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(0);
+FLUSH TABLES t1 WITH READ LOCK;
+UNLOCK TABLES;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+SELECT * FROM t1;
+ERROR HY000: Table definition has changed, please retry transaction
+COMMIT;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1 IMPORT TABLESPACE;
+# FIXME: Block this with ER_TABLE_DEF_CHANGED
+SELECT * FROM t1;
+a
+COMMIT;
+SELECT * FROM t1;
+a
+0
+DROP TABLE t1;
+SET GLOBAL innodb_file_per_table= @save_per_table;
diff --git a/mysql-test/suite/innodb/r/read_only_recover_committed.result b/mysql-test/suite/innodb/r/read_only_recover_committed.result
new file mode 100644
index 00000000000..593bcae40ee
--- /dev/null
+++ b/mysql-test/suite/innodb/r/read_only_recover_committed.result
@@ -0,0 +1,43 @@
+CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t VALUES(1);
+BEGIN;
+INSERT INTO t VALUES(2);
+DELETE FROM t WHERE a=2;
+# Normal MariaDB shutdown would roll back the above transaction.
+# We want the transaction to remain open, so we will kill the server
+# after ensuring that any non-transactional files are clean.
+FLUSH TABLES;
+# Create another transaction that will be recovered as COMMITTED.
+BEGIN;
+SET DEBUG_SYNC='after_trx_committed_in_memory SIGNAL committed WAIT_FOR ever';
+COMMIT;
+SET DEBUG_SYNC='now WAIT_FOR committed';
+# Ensure that the above incomplete transactions become durable.
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+BEGIN;
+INSERT INTO t VALUES(-10000);
+ROLLBACK;
+SELECT * FROM t;
+a
+1
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+a
+1
+UPDATE t SET a=3 WHERE a=1;
+ERROR HY000: Table 't' is read only
+# Starting with MariaDB 10.2, innodb_read_only implies READ UNCOMMITTED.
+# In earlier versions, this would return the last committed version
+# (empty table)!
+SELECT * FROM t;
+a
+1
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+a
+1
+SELECT * FROM t;
+a
+1
+DROP TABLE t;
+NOT FOUND /Rolled back recovered transaction [^0]/ in mysqld.1.err
diff --git a/mysql-test/suite/innodb/r/read_only_recovery.result b/mysql-test/suite/innodb/r/read_only_recovery.result
new file mode 100644
index 00000000000..c54c3b5ab7f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/read_only_recovery.result
@@ -0,0 +1,29 @@
+CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t VALUES(1),(2);
+DELETE FROM t WHERE a=2;
+# Normal MariaDB shutdown would roll back the above transaction.
+# We want the transaction to remain open, so we will kill the server
+# after ensuring that any non-transactional files are clean.
+FLUSH TABLES;
+# Ensure that the above incomplete transaction becomes durable.
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+BEGIN;
+INSERT INTO t VALUES(0);
+ROLLBACK;
+# Kill and restart: --innodb-force-recovery=3
+SELECT * FROM t;
+a
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+a
+1
+SELECT * FROM t;
+a
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+a
+1
+SELECT * FROM t;
+a
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/recovery_shutdown.result b/mysql-test/suite/innodb/r/recovery_shutdown.result
new file mode 100644
index 00000000000..47398c1ca23
--- /dev/null
+++ b/mysql-test/suite/innodb/r/recovery_shutdown.result
@@ -0,0 +1,56 @@
+#
+# MDEV-13797 InnoDB may hang if shutdown is initiated soon after startup
+# while rolling back recovered incomplete transactions
+#
+CREATE TABLE t (a INT) ENGINE=InnoDB;
+BEGIN;
+COMMIT;
+CREATE TABLE t8 (a SERIAL, b INT UNIQUE, c INT UNIQUE) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t8 (a) SELECT NULL FROM t;
+UPDATE t8 SET a=a+100, b=a;
+DELETE FROM t8;
+CREATE TABLE t7 (a SERIAL, b INT UNIQUE, c INT UNIQUE) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t7 (a) SELECT NULL FROM t;
+UPDATE t7 SET a=a+100, b=a;
+DELETE FROM t7;
+CREATE TABLE t6 (a SERIAL, b INT UNIQUE, c INT UNIQUE) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t6 (a) SELECT NULL FROM t;
+UPDATE t6 SET a=a+100, b=a;
+DELETE FROM t6;
+CREATE TABLE t5 (a SERIAL, b INT UNIQUE, c INT UNIQUE) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t5 (a) SELECT NULL FROM t;
+UPDATE t5 SET a=a+100, b=a;
+DELETE FROM t5;
+CREATE TABLE t4 (a SERIAL, b INT UNIQUE, c INT UNIQUE) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t4 (a) SELECT NULL FROM t;
+UPDATE t4 SET a=a+100, b=a;
+DELETE FROM t4;
+CREATE TABLE t3 (a SERIAL, b INT UNIQUE, c INT UNIQUE) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t3 (a) SELECT NULL FROM t;
+UPDATE t3 SET a=a+100, b=a;
+DELETE FROM t3;
+CREATE TABLE t2 (a SERIAL, b INT UNIQUE, c INT UNIQUE) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t2 (a) SELECT NULL FROM t;
+UPDATE t2 SET a=a+100, b=a;
+DELETE FROM t2;
+CREATE TABLE t1 (a SERIAL, b INT UNIQUE, c INT UNIQUE) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 (a) SELECT NULL FROM t;
+UPDATE t1 SET a=a+100, b=a;
+DELETE FROM t1;
+INSERT INTO t1(a) SELECT NULL FROM t;
+INSERT INTO t1(a) SELECT NULL FROM t1;
+INSERT INTO t1(a) SELECT NULL FROM t1;
+INSERT INTO t1(a) SELECT NULL FROM t1;
+INSERT INTO t1(a) SELECT NULL FROM t1;
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+CREATE TABLE u(a SERIAL) ENGINE=INNODB;
+FLUSH TABLES;
+DROP TABLE t,u;
diff --git a/mysql-test/suite/innodb/r/rename_table.result b/mysql-test/suite/innodb/r/rename_table.result
new file mode 100644
index 00000000000..49ce3254091
--- /dev/null
+++ b/mysql-test/suite/innodb/r/rename_table.result
@@ -0,0 +1,5 @@
+call mtr.add_suppression("InnoDB: (Operating system error|The error means|Cannot rename file)");
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+RENAME TABLE t1 TO non_existing_db.t1;
+ERROR HY000: Error on rename of '**path-to-t1**' to '**path-to-non-existing-db-t1**' (errno: -1 "Internal error < 0 (Not system error)")
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/restart.result b/mysql-test/suite/innodb/r/restart.result
new file mode 100644
index 00000000000..5ebd6753e8a
--- /dev/null
+++ b/mysql-test/suite/innodb/r/restart.result
@@ -0,0 +1,26 @@
+SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_file_per_table=1;
+#
+# MDEV-15333 MariaDB (still) slow start
+#
+# FIXME: Unlike MySQL, maybe MariaDB should not read the .ibd files
+# of tables with .isl file or DATA DIRECTORY attribute.
+call mtr.add_suppression("\\[ERROR\\] InnoDB: Invalid flags 0x7a207879 in tablespace 2048948345");
+call mtr.add_suppression("\\[ERROR\\] InnoDB: Error invalid tablespace flags in file '.*td\\.ibd'");
+CREATE TABLE tr(a INT)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+CREATE TABLE tc(a INT)ENGINE=InnoDB ROW_FORMAT=COMPACT
+PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+CREATE TABLE td(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
+STATS_PERSISTENT=0 DATA DIRECTORY='MYSQL_TMP_DIR';
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
+WHERE engine = 'innodb'
+AND support IN ('YES', 'DEFAULT', 'ENABLED');
+COUNT(*)
+1
+SELECT * FROM tr;
+a
+SELECT * FROM tc;
+a
+SELECT * FROM td;
+a
+DROP TABLE tr,tc,td;
diff --git a/mysql-test/suite/innodb/r/row_format_redundant.result b/mysql-test/suite/innodb/r/row_format_redundant.result
new file mode 100644
index 00000000000..db31c32559f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/row_format_redundant.result
@@ -0,0 +1,48 @@
+create table t1 (a int not null, d varchar(15) not null, b
+varchar(198) not null, c char(156),
+fulltext ftsic(c)) engine=InnoDB
+row_format=redundant;
+insert into t1 values(123, 'abcdef', 'jghikl', 'mnop');
+insert into t1 values(456, 'abcdef', 'jghikl', 'mnop');
+insert into t1 values(789, 'abcdef', 'jghikl', 'mnop');
+insert into t1 values(134, 'kasdfsdsadf', 'adfjlasdkfjasd', 'adfsadflkasdasdfljasdf');
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+SET GLOBAL innodb_file_per_table=OFF;
+create table t2 (a int not null, d varchar(15) not null, b
+varchar(198) not null, c char(156), fulltext ftsic(c)) engine=InnoDB
+row_format=redundant;
+insert into t2 select * from t1;
+create table t3 (a int not null, d varchar(15) not null, b varchar(198),
+c varchar(150), index k1(c(99), b(56)), index k2(b(5), c(10))) engine=InnoDB
+row_format=redundant;
+insert into t3 values(444, 'dddd', 'bbbbb', 'aaaaa');
+insert into t3 values(555, 'eeee', 'ccccc', 'aaaaa');
+SET GLOBAL innodb_fast_shutdown=0;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+4096
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+4096
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+2
+TRUNCATE TABLE t1;
+ERROR HY000: Table 't1' is read only
+TRUNCATE TABLE t2;
+ERROR HY000: Table 't2' is read only
+TRUNCATE TABLE t3;
+ERROR HY000: Table 't3' is read only
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+DROP TABLE t1,t2,t3;
diff --git a/mysql-test/suite/innodb/r/row_lock.result b/mysql-test/suite/innodb/r/row_lock.result
index c2fb7b90c3f..7344927a587 100644
--- a/mysql-test/suite/innodb/r/row_lock.result
+++ b/mysql-test/suite/innodb/r/row_lock.result
@@ -6,10 +6,7 @@ CREATE TABLE t3 (e INT) ENGINE=InnoDB;
CREATE TABLE t4 ENGINE=InnoDB AS SELECT * FROM t2;
BEGIN;
UPDATE t1 SET a = 0 WHERE a = ( SELECT e FROM t3 );
-SET DEBUG_SYNC='srv_suspend_mysql_thread_enter SIGNAL waiting';
UPDATE t4 SET d = 1 WHERE d in ( SELECT a FROM t1 ) ORDER BY c LIMIT 6;
-SET DEBUG_SYNC='now WAIT_FOR waiting';
-SET DEBUG_SYNC='RESET';
UPDATE t4 SET d = 9;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
commit;
diff --git a/mysql-test/suite/innodb/r/snapshot.result b/mysql-test/suite/innodb/r/snapshot.result
new file mode 100644
index 00000000000..dcb3d242fc2
--- /dev/null
+++ b/mysql-test/suite/innodb/r/snapshot.result
@@ -0,0 +1,8 @@
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+CREATE TABLE IF NOT EXISTS t1 (pk INT PRIMARY KEY, i INT, KEY(i)) ENGINE=InnoDB;
+UPDATE t1 SET i = 0;
+ERROR HY000: Table definition has changed, please retry transaction
+UPDATE t1 SET pk = 0;
+ERROR HY000: Table definition has changed, please retry transaction
+commit;
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/strict_mode.result b/mysql-test/suite/innodb/r/strict_mode.result
index 7a550e105e6..d6a621212c3 100644
--- a/mysql-test/suite/innodb/r/strict_mode.result
+++ b/mysql-test/suite/innodb/r/strict_mode.result
@@ -238,5 +238,5 @@ Warnings:
Warning 139 Row size too large (> 8126). 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.
set innodb_strict_mode = 1;
alter table t1 engine=InnoDB;
-ERROR 42000: Row size too large (> 8126). 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.
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
drop table t1;
diff --git a/mysql-test/suite/innodb/r/system_tables.result b/mysql-test/suite/innodb/r/system_tables.result
new file mode 100644
index 00000000000..79a24f7e455
--- /dev/null
+++ b/mysql-test/suite/innodb/r/system_tables.result
@@ -0,0 +1,8 @@
+alter table mysql.time_zone_name engine=InnoDB;
+create table envois3 (starttime datetime) engine=InnoDB;
+insert envois3 values ('2008-08-11 22:43:00');
+select convert_tz(starttime,'UTC','Europe/Moscow') starttime from envois3;
+starttime
+2008-08-12 02:43:00
+drop table envois3;
+alter table mysql.time_zone_name engine=MyISAM;
diff --git a/mysql-test/suite/innodb/r/table_definition_cache_debug.result b/mysql-test/suite/innodb/r/table_definition_cache_debug.result
new file mode 100644
index 00000000000..a72d4baad21
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_definition_cache_debug.result
@@ -0,0 +1,16 @@
+SET @save_tdc= @@GLOBAL.table_definition_cache;
+SET @save_toc= @@GLOBAL.table_open_cache;
+SET GLOBAL table_definition_cache= 400;
+SET GLOBAL table_open_cache= 1024;
+CREATE TABLE to_be_evicted(a INT PRIMARY KEY, b INT NOT NULL) ENGINE=InnoDB;
+INSERT INTO to_be_evicted VALUES(1,2),(2,1);
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL scanned WAIT_FOR got_duplicate';
+ALTER TABLE to_be_evicted ADD UNIQUE INDEX(b);
+SET DEBUG_SYNC = 'now WAIT_FOR scanned';
+BEGIN;
+INSERT INTO to_be_evicted VALUES(3, 2);
+SET DEBUG_SYNC = 'now SIGNAL got_duplicate';
+ERROR 23000: Duplicate entry '2' for key 'b'
+COMMIT;
+SET DEBUG_SYNC = RESET;
+FLUSH TABLES;
diff --git a/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff
new file mode 100644
index 00000000000..13fdc5657c4
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff
@@ -0,0 +1,130 @@
+--- suite/innodb/r/table_flags.result
++++ suite/innodb/r/table_flags,32k,debug.reject
+@@ -4,85 +4,87 @@
+ CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
+ KEY_BLOCK_SIZE=1;
++Warnings:
++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=COMPACT.
+ CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
+ PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+ SYS_TABLES clustered index root page (8):
+ N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001
+-header=0x01000003016e (NAME=0x696e66696d756d00)
+-header=0x00002815008d (NAME='SYS_DATAFILES',
+- DB_TRX_ID=0x000000000301,
++header=0x0100000301bf (NAME=0x696e66696d756d00)
++header=0x0000301500de (NAME='SYS_DATAFILES',
++ DB_TRX_ID=0x000000000302,
+ DB_ROLL_PTR=0x81000001320194,
+- ID=0x000000000000000e,
++ ID=0x000000000000000f,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0000101500d5 (NAME='SYS_FOREIGN',
++header=0x000018150126 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0110,
+- ID=0x000000000000000b,
++ DB_ROLL_PTR=0x800000012c016f,
++ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
++header=0x000020150173 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0201,
+- ID=0x000000000000000c,
++ DB_ROLL_PTR=0x800000012c0260,
++ ID=0x000000000000000d,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0400201501fc (NAME='SYS_TABLESPACES',
+- DB_TRX_ID=0x000000000301,
++header=0x040028150209 (NAME='SYS_TABLESPACES',
++ DB_TRX_ID=0x000000000302,
+ DB_ROLL_PTR=0x81000001320110,
+- ID=0x000000000000000d,
++ ID=0x000000000000000e,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000038150240 (NAME='test/tc',
+- DB_TRX_ID=0x000000000303,
++header=0x00003815024d (NAME='test/tc',
++ DB_TRX_ID=0x000000000304,
+ DB_ROLL_PTR=0x83000001360110,
+- ID=0x0000000000000010,
++ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000002)
+-header=0x0000401502c8 (NAME='test/td',
+- DB_TRX_ID=0x000000000304,
++header=0x0000401502d5 (NAME='test/td',
++ DB_TRX_ID=0x000000000305,
+ DB_ROLL_PTR=0x84000001370110,
+- ID=0x0000000000000011,
++ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000003)
+-header=0x0000501501b8 (NAME='test/tp',
+- DB_TRX_ID=0x000000000306,
++header=0x00005015008d (NAME='test/tp',
++ DB_TRX_ID=0x000000000307,
+ DB_ROLL_PTR=0x86000001390110,
+- ID=0x0000000000000013,
++ ID=0x0000000000000014,
+ N_COLS=0x80000001,
+ TYPE=0x000009a1,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000005)
+-header=0x000030150284 (NAME='test/tr',
+- DB_TRX_ID=0x000000000302,
++header=0x000010150291 (NAME='test/tr',
++ DB_TRX_ID=0x000000000303,
+ DB_ROLL_PTR=0x82000001350110,
+- ID=0x000000000000000f,
++ ID=0x0000000000000010,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+@@ -90,11 +92,11 @@
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000001)
+ header=0x000048150074 (NAME='test/tz',
+- DB_TRX_ID=0x000000000305,
++ DB_TRX_ID=0x000000000306,
+ DB_ROLL_PTR=0x85000001380110,
+- ID=0x0000000000000012,
++ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+- TYPE=0x00000023,
++ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
diff --git a/mysql-test/suite/innodb/r/table_flags,32k.rdiff b/mysql-test/suite/innodb/r/table_flags,32k.rdiff
new file mode 100644
index 00000000000..a6665e85f49
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags,32k.rdiff
@@ -0,0 +1,96 @@
+--- suite/innodb/r/table_flags.result
++++ suite/innodb/r/table_flags,32k.reject
+@@ -4,6 +4,8 @@
+ CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
+ KEY_BLOCK_SIZE=1;
++Warnings:
++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=COMPACT.
+ CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
+ PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+ SYS_TABLES clustered index root page (8):
+@@ -11,7 +13,7 @@
+ header=0x01000003016e (NAME=0x696e66696d756d00)
+ header=0x00002815008d (NAME='SYS_DATAFILES',
+ DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320194,
++ DB_ROLL_PTR=0x81000001310194,
+ ID=0x000000000000000e,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+@@ -21,7 +23,7 @@
+ SPACE=0x00000000)
+ header=0x0000101500d5 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0110,
++ DB_ROLL_PTR=0x800000012c0110,
+ ID=0x000000000000000b,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+@@ -31,7 +33,7 @@
+ SPACE=0x00000000)
+ header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0201,
++ DB_ROLL_PTR=0x800000012c0201,
+ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+@@ -41,7 +43,7 @@
+ SPACE=0x00000000)
+ header=0x0400201501fc (NAME='SYS_TABLESPACES',
+ DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320110,
++ DB_ROLL_PTR=0x81000001310110,
+ ID=0x000000000000000d,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+@@ -51,7 +53,7 @@
+ SPACE=0x00000000)
+ header=0x000038150240 (NAME='test/tc',
+ DB_TRX_ID=0x000000000303,
+- DB_ROLL_PTR=0x83000001360110,
++ DB_ROLL_PTR=0x83000001350110,
+ ID=0x0000000000000010,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+@@ -61,7 +63,7 @@
+ SPACE=0x00000002)
+ header=0x0000401502c8 (NAME='test/td',
+ DB_TRX_ID=0x000000000304,
+- DB_ROLL_PTR=0x84000001370110,
++ DB_ROLL_PTR=0x84000001360110,
+ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+@@ -71,7 +73,7 @@
+ SPACE=0x00000003)
+ header=0x0000501501b8 (NAME='test/tp',
+ DB_TRX_ID=0x000000000306,
+- DB_ROLL_PTR=0x86000001390110,
++ DB_ROLL_PTR=0x86000001380110,
+ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+ TYPE=0x000009a1,
+@@ -81,7 +83,7 @@
+ SPACE=0x00000005)
+ header=0x000030150284 (NAME='test/tr',
+ DB_TRX_ID=0x000000000302,
+- DB_ROLL_PTR=0x82000001350110,
++ DB_ROLL_PTR=0x82000001340110,
+ ID=0x000000000000000f,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+@@ -91,10 +93,10 @@
+ SPACE=0x00000001)
+ header=0x000048150074 (NAME='test/tz',
+ DB_TRX_ID=0x000000000305,
+- DB_ROLL_PTR=0x85000001380110,
++ DB_ROLL_PTR=0x85000001370110,
+ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+- TYPE=0x00000023,
++ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
diff --git a/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff
new file mode 100644
index 00000000000..b49aba8f661
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags,4k,debug.rdiff
@@ -0,0 +1,128 @@
+--- suite/innodb/r/table_flags.result
++++ suite/innodb/r/table_flags,4k,debug.reject
+@@ -8,81 +8,81 @@
+ PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+ SYS_TABLES clustered index root page (8):
+ N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001
+-header=0x01000003016e (NAME=0x696e66696d756d00)
+-header=0x00002815008d (NAME='SYS_DATAFILES',
+- DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320194,
+- ID=0x000000000000000e,
++header=0x0100000301bf (NAME=0x696e66696d756d00)
++header=0x0000301500de (NAME='SYS_DATAFILES',
++ DB_TRX_ID=0x000000000302,
++ DB_ROLL_PTR=0x81000003270194,
++ ID=0x000000000000000f,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0000101500d5 (NAME='SYS_FOREIGN',
++header=0x000018150126 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0110,
+- ID=0x000000000000000b,
++ DB_ROLL_PTR=0x8000000320016f,
++ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
++header=0x000020150173 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0201,
+- ID=0x000000000000000c,
++ DB_ROLL_PTR=0x80000003200260,
++ ID=0x000000000000000d,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0400201501fc (NAME='SYS_TABLESPACES',
+- DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320110,
+- ID=0x000000000000000d,
++header=0x040028150209 (NAME='SYS_TABLESPACES',
++ DB_TRX_ID=0x000000000302,
++ DB_ROLL_PTR=0x81000003270110,
++ ID=0x000000000000000e,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000038150240 (NAME='test/tc',
+- DB_TRX_ID=0x000000000303,
+- DB_ROLL_PTR=0x83000001360110,
+- ID=0x0000000000000010,
++header=0x00003815024d (NAME='test/tc',
++ DB_TRX_ID=0x000000000304,
++ DB_ROLL_PTR=0x830000032c0110,
++ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000002)
+-header=0x0000401502c8 (NAME='test/td',
+- DB_TRX_ID=0x000000000304,
+- DB_ROLL_PTR=0x84000001370110,
+- ID=0x0000000000000011,
++header=0x0000401502d5 (NAME='test/td',
++ DB_TRX_ID=0x000000000305,
++ DB_ROLL_PTR=0x840000032d0110,
++ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000003)
+-header=0x0000501501b8 (NAME='test/tp',
+- DB_TRX_ID=0x000000000306,
+- DB_ROLL_PTR=0x86000001390110,
+- ID=0x0000000000000013,
++header=0x00005015008d (NAME='test/tp',
++ DB_TRX_ID=0x000000000307,
++ DB_ROLL_PTR=0x86000003300110,
++ ID=0x0000000000000014,
+ N_COLS=0x80000001,
+ TYPE=0x000009a1,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000005)
+-header=0x000030150284 (NAME='test/tr',
+- DB_TRX_ID=0x000000000302,
+- DB_ROLL_PTR=0x82000001350110,
+- ID=0x000000000000000f,
++header=0x000010150291 (NAME='test/tr',
++ DB_TRX_ID=0x000000000303,
++ DB_ROLL_PTR=0x820000032b0110,
++ ID=0x0000000000000010,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+@@ -90,9 +90,9 @@
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000001)
+ header=0x000048150074 (NAME='test/tz',
+- DB_TRX_ID=0x000000000305,
+- DB_ROLL_PTR=0x85000001380110,
+- ID=0x0000000000000012,
++ DB_TRX_ID=0x000000000306,
++ DB_ROLL_PTR=0x850000032e0110,
++ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+ TYPE=0x00000023,
+ MIX_ID=0x0000000000000000,
diff --git a/mysql-test/suite/innodb/r/table_flags,4k,release.rdiff b/mysql-test/suite/innodb/r/table_flags,4k,release.rdiff
new file mode 100644
index 00000000000..faa8a408c65
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags,4k,release.rdiff
@@ -0,0 +1,83 @@
+--- suite/innodb/r/table_flags.result
++++ suite/innodb/r/table_flags,4k.reject
+@@ -13,7 +13,7 @@
+ header=0x01000003016e (NAME=0x696e66696d756d00)
+ header=0x00002815008d (NAME='SYS_DATAFILES',
+ DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320194,
++ DB_ROLL_PTR=0x81000003260194,
+ ID=0x000000000000000e,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+@@ -23,7 +23,7 @@
+ SPACE=0x00000000)
+ header=0x0000101500d5 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0110,
++ DB_ROLL_PTR=0x80000003200110,
+ ID=0x000000000000000b,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+@@ -33,7 +33,7 @@
+ SPACE=0x00000000)
+ header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0201,
++ DB_ROLL_PTR=0x80000003200201,
+ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+@@ -43,7 +43,7 @@
+ SPACE=0x00000000)
+ header=0x0400201501fc (NAME='SYS_TABLESPACES',
+ DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320110,
++ DB_ROLL_PTR=0x81000003260110,
+ ID=0x000000000000000d,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+@@ -53,7 +53,7 @@
+ SPACE=0x00000000)
+ header=0x000038150240 (NAME='test/tc',
+ DB_TRX_ID=0x000000000303,
+- DB_ROLL_PTR=0x83000001360110,
++ DB_ROLL_PTR=0x830000032b0110,
+ ID=0x0000000000000010,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+@@ -63,7 +63,7 @@
+ SPACE=0x00000002)
+ header=0x0000401502c8 (NAME='test/td',
+ DB_TRX_ID=0x000000000304,
+- DB_ROLL_PTR=0x84000001370110,
++ DB_ROLL_PTR=0x840000032c0110,
+ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+@@ -73,7 +73,7 @@
+ SPACE=0x00000003)
+ header=0x0000501501b8 (NAME='test/tp',
+ DB_TRX_ID=0x000000000306,
+- DB_ROLL_PTR=0x86000001390110,
++ DB_ROLL_PTR=0x860000032e0110,
+ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+@@ -83,7 +83,7 @@
+ SPACE=0x00000005)
+ header=0x000030150284 (NAME='test/tr',
+ DB_TRX_ID=0x000000000302,
+- DB_ROLL_PTR=0x82000001350110,
++ DB_ROLL_PTR=0x820000032a0110,
+ ID=0x000000000000000f,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+@@ -93,7 +93,7 @@
+ SPACE=0x00000001)
+ header=0x000048150074 (NAME='test/tz',
+ DB_TRX_ID=0x000000000305,
+- DB_ROLL_PTR=0x85000001380110,
++ DB_ROLL_PTR=0x850000032d0110,
+ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+ TYPE=0x00000023,
diff --git a/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff
new file mode 100644
index 00000000000..dcd5f2329c7
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff
@@ -0,0 +1,130 @@
+--- suite/innodb/r/table_flags.result
++++ suite/innodb/r/table_flags,64k,debug.reject
+@@ -4,85 +4,87 @@
+ CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
+ KEY_BLOCK_SIZE=1;
++Warnings:
++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=COMPACT.
+ CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
+ PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+ SYS_TABLES clustered index root page (8):
+ N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001
+-header=0x01000003016e (NAME=0x696e66696d756d00)
+-header=0x00002815008d (NAME='SYS_DATAFILES',
+- DB_TRX_ID=0x000000000301,
++header=0x0100000301bf (NAME=0x696e66696d756d00)
++header=0x0000301500de (NAME='SYS_DATAFILES',
++ DB_TRX_ID=0x000000000302,
+ DB_ROLL_PTR=0x81000001320194,
+- ID=0x000000000000000e,
++ ID=0x000000000000000f,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0000101500d5 (NAME='SYS_FOREIGN',
++header=0x000018150126 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0110,
+- ID=0x000000000000000b,
++ DB_ROLL_PTR=0x800000012c016f,
++ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
++header=0x000020150173 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0201,
+- ID=0x000000000000000c,
++ DB_ROLL_PTR=0x800000012c0260,
++ ID=0x000000000000000d,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0400201501fc (NAME='SYS_TABLESPACES',
+- DB_TRX_ID=0x000000000301,
++header=0x040028150209 (NAME='SYS_TABLESPACES',
++ DB_TRX_ID=0x000000000302,
+ DB_ROLL_PTR=0x81000001320110,
+- ID=0x000000000000000d,
++ ID=0x000000000000000e,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000038150240 (NAME='test/tc',
+- DB_TRX_ID=0x000000000303,
++header=0x00003815024d (NAME='test/tc',
++ DB_TRX_ID=0x000000000304,
+ DB_ROLL_PTR=0x83000001360110,
+- ID=0x0000000000000010,
++ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000002)
+-header=0x0000401502c8 (NAME='test/td',
+- DB_TRX_ID=0x000000000304,
++header=0x0000401502d5 (NAME='test/td',
++ DB_TRX_ID=0x000000000305,
+ DB_ROLL_PTR=0x84000001370110,
+- ID=0x0000000000000011,
++ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000003)
+-header=0x0000501501b8 (NAME='test/tp',
+- DB_TRX_ID=0x000000000306,
++header=0x00005015008d (NAME='test/tp',
++ DB_TRX_ID=0x000000000307,
+ DB_ROLL_PTR=0x86000001390110,
+- ID=0x0000000000000013,
++ ID=0x0000000000000014,
+ N_COLS=0x80000001,
+ TYPE=0x000009a1,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000005)
+-header=0x000030150284 (NAME='test/tr',
+- DB_TRX_ID=0x000000000302,
++header=0x000010150291 (NAME='test/tr',
++ DB_TRX_ID=0x000000000303,
+ DB_ROLL_PTR=0x82000001350110,
+- ID=0x000000000000000f,
++ ID=0x0000000000000010,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+@@ -90,11 +92,11 @@
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000001)
+ header=0x000048150074 (NAME='test/tz',
+- DB_TRX_ID=0x000000000305,
++ DB_TRX_ID=0x000000000306,
+ DB_ROLL_PTR=0x85000001380110,
+- ID=0x0000000000000012,
++ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+- TYPE=0x00000023,
++ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
diff --git a/mysql-test/suite/innodb/r/table_flags,64k.rdiff b/mysql-test/suite/innodb/r/table_flags,64k.rdiff
new file mode 100644
index 00000000000..76cb6005780
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags,64k.rdiff
@@ -0,0 +1,96 @@
+--- suite/innodb/r/table_flags.result
++++ suite/innodb/r/table_flags,64k.reject
+@@ -4,6 +4,8 @@
+ CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
+ KEY_BLOCK_SIZE=1;
++Warnings:
++Warning 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > 16k. Assuming ROW_FORMAT=COMPACT.
+ CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
+ PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+ SYS_TABLES clustered index root page (8):
+@@ -11,7 +13,7 @@
+ header=0x01000003016e (NAME=0x696e66696d756d00)
+ header=0x00002815008d (NAME='SYS_DATAFILES',
+ DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320194,
++ DB_ROLL_PTR=0x81000001310194,
+ ID=0x000000000000000e,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+@@ -21,7 +23,7 @@
+ SPACE=0x00000000)
+ header=0x0000101500d5 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0110,
++ DB_ROLL_PTR=0x800000012c0110,
+ ID=0x000000000000000b,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+@@ -31,7 +33,7 @@
+ SPACE=0x00000000)
+ header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0201,
++ DB_ROLL_PTR=0x800000012c0201,
+ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+@@ -41,7 +43,7 @@
+ SPACE=0x00000000)
+ header=0x0400201501fc (NAME='SYS_TABLESPACES',
+ DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320110,
++ DB_ROLL_PTR=0x81000001310110,
+ ID=0x000000000000000d,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+@@ -51,7 +53,7 @@
+ SPACE=0x00000000)
+ header=0x000038150240 (NAME='test/tc',
+ DB_TRX_ID=0x000000000303,
+- DB_ROLL_PTR=0x83000001360110,
++ DB_ROLL_PTR=0x83000001350110,
+ ID=0x0000000000000010,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+@@ -61,7 +63,7 @@
+ SPACE=0x00000002)
+ header=0x0000401502c8 (NAME='test/td',
+ DB_TRX_ID=0x000000000304,
+- DB_ROLL_PTR=0x84000001370110,
++ DB_ROLL_PTR=0x84000001360110,
+ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+@@ -71,7 +73,7 @@
+ SPACE=0x00000003)
+ header=0x0000501501b8 (NAME='test/tp',
+ DB_TRX_ID=0x000000000306,
+- DB_ROLL_PTR=0x86000001390110,
++ DB_ROLL_PTR=0x86000001380110,
+ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+ TYPE=0x000009a1,
+@@ -81,7 +83,7 @@
+ SPACE=0x00000005)
+ header=0x000030150284 (NAME='test/tr',
+ DB_TRX_ID=0x000000000302,
+- DB_ROLL_PTR=0x82000001350110,
++ DB_ROLL_PTR=0x82000001340110,
+ ID=0x000000000000000f,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+@@ -91,10 +93,10 @@
+ SPACE=0x00000001)
+ header=0x000048150074 (NAME='test/tz',
+ DB_TRX_ID=0x000000000305,
+- DB_ROLL_PTR=0x85000001380110,
++ DB_ROLL_PTR=0x85000001370110,
+ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+- TYPE=0x00000023,
++ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
diff --git a/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff
new file mode 100644
index 00000000000..0ce96c8eb10
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags,8k,debug.rdiff
@@ -0,0 +1,128 @@
+--- suite/innodb/r/table_flags.result
++++ suite/innodb/r/table_flags,8k,debug.reject
+@@ -8,81 +8,81 @@
+ PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+ SYS_TABLES clustered index root page (8):
+ N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001
+-header=0x01000003016e (NAME=0x696e66696d756d00)
+-header=0x00002815008d (NAME='SYS_DATAFILES',
+- DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320194,
+- ID=0x000000000000000e,
++header=0x0100000301bf (NAME=0x696e66696d756d00)
++header=0x0000301500de (NAME='SYS_DATAFILES',
++ DB_TRX_ID=0x000000000302,
++ DB_ROLL_PTR=0x81000001d80194,
++ ID=0x000000000000000f,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0000101500d5 (NAME='SYS_FOREIGN',
++header=0x000018150126 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0110,
+- ID=0x000000000000000b,
++ DB_ROLL_PTR=0x80000001d1016f,
++ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
++header=0x000020150173 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0201,
+- ID=0x000000000000000c,
++ DB_ROLL_PTR=0x80000001d10260,
++ ID=0x000000000000000d,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0400201501fc (NAME='SYS_TABLESPACES',
+- DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320110,
+- ID=0x000000000000000d,
++header=0x040028150209 (NAME='SYS_TABLESPACES',
++ DB_TRX_ID=0x000000000302,
++ DB_ROLL_PTR=0x81000001d80110,
++ ID=0x000000000000000e,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000038150240 (NAME='test/tc',
+- DB_TRX_ID=0x000000000303,
+- DB_ROLL_PTR=0x83000001360110,
+- ID=0x0000000000000010,
++header=0x00003815024d (NAME='test/tc',
++ DB_TRX_ID=0x000000000304,
++ DB_ROLL_PTR=0x83000001dc0110,
++ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000002)
+-header=0x0000401502c8 (NAME='test/td',
+- DB_TRX_ID=0x000000000304,
+- DB_ROLL_PTR=0x84000001370110,
+- ID=0x0000000000000011,
++header=0x0000401502d5 (NAME='test/td',
++ DB_TRX_ID=0x000000000305,
++ DB_ROLL_PTR=0x84000001dd0110,
++ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000003)
+-header=0x0000501501b8 (NAME='test/tp',
+- DB_TRX_ID=0x000000000306,
+- DB_ROLL_PTR=0x86000001390110,
+- ID=0x0000000000000013,
++header=0x00005015008d (NAME='test/tp',
++ DB_TRX_ID=0x000000000307,
++ DB_ROLL_PTR=0x86000001df0110,
++ ID=0x0000000000000014,
+ N_COLS=0x80000001,
+ TYPE=0x000009a1,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000005)
+-header=0x000030150284 (NAME='test/tr',
+- DB_TRX_ID=0x000000000302,
+- DB_ROLL_PTR=0x82000001350110,
+- ID=0x000000000000000f,
++header=0x000010150291 (NAME='test/tr',
++ DB_TRX_ID=0x000000000303,
++ DB_ROLL_PTR=0x82000001db0110,
++ ID=0x0000000000000010,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+@@ -90,9 +90,9 @@
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000001)
+ header=0x000048150074 (NAME='test/tz',
+- DB_TRX_ID=0x000000000305,
+- DB_ROLL_PTR=0x85000001380110,
+- ID=0x0000000000000012,
++ DB_TRX_ID=0x000000000306,
++ DB_ROLL_PTR=0x85000001de0110,
++ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+ TYPE=0x00000023,
+ MIX_ID=0x0000000000000000,
diff --git a/mysql-test/suite/innodb/r/table_flags,8k,release.rdiff b/mysql-test/suite/innodb/r/table_flags,8k,release.rdiff
new file mode 100644
index 00000000000..ba3439fc6cf
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags,8k,release.rdiff
@@ -0,0 +1,83 @@
+--- suite/innodb/r/table_flags.result
++++ suite/innodb/r/table_flags,8k.reject
+@@ -13,7 +13,7 @@
+ header=0x01000003016e (NAME=0x696e66696d756d00)
+ header=0x00002815008d (NAME='SYS_DATAFILES',
+ DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320194,
++ DB_ROLL_PTR=0x81000001d70194,
+ ID=0x000000000000000e,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+@@ -23,7 +23,7 @@
+ SPACE=0x00000000)
+ header=0x0000101500d5 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0110,
++ DB_ROLL_PTR=0x80000001d10110,
+ ID=0x000000000000000b,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+@@ -33,7 +33,7 @@
+ SPACE=0x00000000)
+ header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0201,
++ DB_ROLL_PTR=0x80000001d10201,
+ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+@@ -43,7 +43,7 @@
+ SPACE=0x00000000)
+ header=0x0400201501fc (NAME='SYS_TABLESPACES',
+ DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320110,
++ DB_ROLL_PTR=0x81000001d70110,
+ ID=0x000000000000000d,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+@@ -53,7 +53,7 @@
+ SPACE=0x00000000)
+ header=0x000038150240 (NAME='test/tc',
+ DB_TRX_ID=0x000000000303,
+- DB_ROLL_PTR=0x83000001360110,
++ DB_ROLL_PTR=0x83000001db0110,
+ ID=0x0000000000000010,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+@@ -63,7 +63,7 @@
+ SPACE=0x00000002)
+ header=0x0000401502c8 (NAME='test/td',
+ DB_TRX_ID=0x000000000304,
+- DB_ROLL_PTR=0x84000001370110,
++ DB_ROLL_PTR=0x84000001dc0110,
+ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+@@ -73,7 +73,7 @@
+ SPACE=0x00000003)
+ header=0x0000501501b8 (NAME='test/tp',
+ DB_TRX_ID=0x000000000306,
+- DB_ROLL_PTR=0x86000001390110,
++ DB_ROLL_PTR=0x86000001de0110,
+ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+@@ -83,7 +83,7 @@
+ SPACE=0x00000005)
+ header=0x000030150284 (NAME='test/tr',
+ DB_TRX_ID=0x000000000302,
+- DB_ROLL_PTR=0x82000001350110,
++ DB_ROLL_PTR=0x82000001da0110,
+ ID=0x000000000000000f,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+@@ -93,7 +93,7 @@
+ SPACE=0x00000001)
+ header=0x000048150074 (NAME='test/tz',
+ DB_TRX_ID=0x000000000305,
+- DB_ROLL_PTR=0x85000001380110,
++ DB_ROLL_PTR=0x85000001dd0110,
+ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+ TYPE=0x00000023,
diff --git a/mysql-test/suite/innodb/r/table_flags,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,debug.rdiff
new file mode 100644
index 00000000000..acc796a0a7f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags,debug.rdiff
@@ -0,0 +1,128 @@
+--- suite/innodb/r/table_flags.result
++++ suite/innodb/r/table_flags,debug.reject
+@@ -8,81 +8,81 @@
+ PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+ SYS_TABLES clustered index root page (8):
+ N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001
+-header=0x01000003016e (NAME=0x696e66696d756d00)
+-header=0x00002815008d (NAME='SYS_DATAFILES',
+- DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320194,
+- ID=0x000000000000000e,
++header=0x0100000301bf (NAME=0x696e66696d756d00)
++header=0x0000301500de (NAME='SYS_DATAFILES',
++ DB_TRX_ID=0x000000000302,
++ DB_ROLL_PTR=0x81000001330194,
++ ID=0x000000000000000f,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0000101500d5 (NAME='SYS_FOREIGN',
++header=0x000018150126 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0110,
+- ID=0x000000000000000b,
++ DB_ROLL_PTR=0x800000012d016f,
++ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
++header=0x000020150173 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+- DB_ROLL_PTR=0x800000012d0201,
+- ID=0x000000000000000c,
++ DB_ROLL_PTR=0x800000012d0260,
++ ID=0x000000000000000d,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x0400201501fc (NAME='SYS_TABLESPACES',
+- DB_TRX_ID=0x000000000301,
+- DB_ROLL_PTR=0x81000001320110,
+- ID=0x000000000000000d,
++header=0x040028150209 (NAME='SYS_TABLESPACES',
++ DB_TRX_ID=0x000000000302,
++ DB_ROLL_PTR=0x81000001330110,
++ ID=0x000000000000000e,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+-header=0x000038150240 (NAME='test/tc',
+- DB_TRX_ID=0x000000000303,
+- DB_ROLL_PTR=0x83000001360110,
+- ID=0x0000000000000010,
++header=0x00003815024d (NAME='test/tc',
++ DB_TRX_ID=0x000000000304,
++ DB_ROLL_PTR=0x83000001370110,
++ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000002)
+-header=0x0000401502c8 (NAME='test/td',
+- DB_TRX_ID=0x000000000304,
+- DB_ROLL_PTR=0x84000001370110,
+- ID=0x0000000000000011,
++header=0x0000401502d5 (NAME='test/td',
++ DB_TRX_ID=0x000000000305,
++ DB_ROLL_PTR=0x84000001380110,
++ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000003)
+-header=0x0000501501b8 (NAME='test/tp',
+- DB_TRX_ID=0x000000000306,
+- DB_ROLL_PTR=0x86000001390110,
+- ID=0x0000000000000013,
++header=0x00005015008d (NAME='test/tp',
++ DB_TRX_ID=0x000000000307,
++ DB_ROLL_PTR=0x860000013a0110,
++ ID=0x0000000000000014,
+ N_COLS=0x80000001,
+ TYPE=0x000009a1,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000005)
+-header=0x000030150284 (NAME='test/tr',
+- DB_TRX_ID=0x000000000302,
+- DB_ROLL_PTR=0x82000001350110,
+- ID=0x000000000000000f,
++header=0x000010150291 (NAME='test/tr',
++ DB_TRX_ID=0x000000000303,
++ DB_ROLL_PTR=0x82000001360110,
++ ID=0x0000000000000010,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+@@ -90,9 +90,9 @@
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000001)
+ header=0x000048150074 (NAME='test/tz',
+- DB_TRX_ID=0x000000000305,
+- DB_ROLL_PTR=0x85000001380110,
+- ID=0x0000000000000012,
++ DB_TRX_ID=0x000000000306,
++ DB_ROLL_PTR=0x85000001390110,
++ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+ TYPE=0x00000023,
+ MIX_ID=0x0000000000000000,
diff --git a/mysql-test/suite/innodb/r/table_flags.result b/mysql-test/suite/innodb/r/table_flags.result
new file mode 100644
index 00000000000..f926e27778e
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_flags.result
@@ -0,0 +1,173 @@
+SET GLOBAL innodb_file_per_table=1;
+CREATE TABLE tr(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+CREATE TABLE tc(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPACT;
+CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
+KEY_BLOCK_SIZE=1;
+CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
+PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+SYS_TABLES clustered index root page (8):
+N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001
+header=0x01000003016e (NAME=0x696e66696d756d00)
+header=0x00002815008d (NAME='SYS_DATAFILES',
+ DB_TRX_ID=0x000000000301,
+ DB_ROLL_PTR=0x81000001320194,
+ ID=0x000000000000000e,
+ N_COLS=0x00000002,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+header=0x0000101500d5 (NAME='SYS_FOREIGN',
+ DB_TRX_ID=0x000000000300,
+ DB_ROLL_PTR=0x800000012d0110,
+ ID=0x000000000000000b,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
+ DB_TRX_ID=0x000000000300,
+ DB_ROLL_PTR=0x800000012d0201,
+ ID=0x000000000000000c,
+ N_COLS=0x00000004,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+header=0x0400201501fc (NAME='SYS_TABLESPACES',
+ DB_TRX_ID=0x000000000301,
+ DB_ROLL_PTR=0x81000001320110,
+ ID=0x000000000000000d,
+ N_COLS=0x00000003,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000040,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000000)
+header=0x000038150240 (NAME='test/tc',
+ DB_TRX_ID=0x000000000303,
+ DB_ROLL_PTR=0x83000001360110,
+ ID=0x0000000000000010,
+ N_COLS=0x80000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000002)
+header=0x0000401502c8 (NAME='test/td',
+ DB_TRX_ID=0x000000000304,
+ DB_ROLL_PTR=0x84000001370110,
+ ID=0x0000000000000011,
+ N_COLS=0x80000001,
+ TYPE=0x00000021,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000003)
+header=0x0000501501b8 (NAME='test/tp',
+ DB_TRX_ID=0x000000000306,
+ DB_ROLL_PTR=0x86000001390110,
+ ID=0x0000000000000013,
+ N_COLS=0x80000001,
+ TYPE=0x000009a1,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000005)
+header=0x000030150284 (NAME='test/tr',
+ DB_TRX_ID=0x000000000302,
+ DB_ROLL_PTR=0x82000001350110,
+ ID=0x000000000000000f,
+ N_COLS=0x00000001,
+ TYPE=0x00000001,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000001)
+header=0x000048150074 (NAME='test/tz',
+ DB_TRX_ID=0x000000000305,
+ DB_ROLL_PTR=0x85000001380110,
+ ID=0x0000000000000012,
+ N_COLS=0x80000001,
+ TYPE=0x00000023,
+ MIX_ID=0x0000000000000000,
+ MIX_LEN=0x00000050,
+ CLUSTER_NAME=NULL(0 bytes),
+ SPACE=0x00000004)
+header=0x060008030000 (NAME=0x73757072656d756d00)
+SHOW CREATE TABLE tr;
+Table Create Table
+tr CREATE TABLE `tr` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+INSERT INTO tr VALUES(42);
+SHOW CREATE TABLE tc;
+ERROR 42S02: Table 'test.tc' doesn't exist in engine
+SHOW CREATE TABLE td;
+ERROR 42S02: Table 'test.td' doesn't exist in engine
+SHOW CREATE TABLE tz;
+ERROR 42S02: Table 'test.tz' doesn't exist in engine
+SHOW CREATE TABLE tp;
+ERROR 42S02: Table 'test.tp' doesn't exist in engine
+FOUND /InnoDB: Table '.test.\..t[cdzp].' in InnoDB data dictionary has unknown type (81|f21|121|302[13])\b/ in mysqld.1.err
+FOUND /InnoDB: Cannot open table test/t[cdzp] from the internal data dictionary of InnoDB/ in mysqld.1.err
+Restoring SYS_TABLES clustered index root page (8)
+SHOW CREATE TABLE tr;
+Table Create Table
+tr CREATE TABLE `tr` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
+SHOW CREATE TABLE tc;
+Table Create Table
+tc CREATE TABLE `tc` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
+SHOW CREATE TABLE td;
+Table Create Table
+td CREATE TABLE `td` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SHOW CREATE TABLE tz;
+Table Create Table
+tz CREATE TABLE `tz` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `PAGE_COMPRESSED`=1 `PAGE_COMPRESSION_LEVEL`=9
+BEGIN;
+INSERT INTO tr VALUES(1);
+INSERT INTO tc VALUES(1);
+INSERT INTO td VALUES(1);
+INSERT INTO tz VALUES(1);
+INSERT INTO tp VALUES(1);
+ROLLBACK;
+SELECT * FROM tr;
+a
+42
+SELECT * FROM tc;
+a
+SELECT * FROM td;
+a
+SELECT * FROM tz;
+a
+SELECT * FROM tp;
+a
+DROP TABLE tr,tc,td,tz,tp;
+ib_logfile0
+ib_logfile1
+ibdata1
+sys_tables.bin
diff --git a/mysql-test/suite/innodb/r/table_index_statistics.result b/mysql-test/suite/innodb/r/table_index_statistics.result
new file mode 100644
index 00000000000..286c5f9325f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/table_index_statistics.result
@@ -0,0 +1,48 @@
+SET @default_storage_engine_old = @@session.default_storage_engine;
+SET SESSION default_storage_engine = INNODB;
+FLUSH INDEX_STATISTICS;
+FLUSH TABLE_STATISTICS;
+SET @userstat_old= @@userstat;
+SET GLOBAL userstat=ON;
+CREATE TABLE t1 (id int(10), PRIMARY KEY (id));
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+10
+SELECT ROWS_READ FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t1';
+ROWS_READ
+10
+SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
+ROWS_READ
+10
+FLUSH TABLE_STATISTICS;
+SELECT ROWS_READ FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t1';
+ROWS_READ
+SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
+ROWS_READ
+10
+FLUSH INDEX_STATISTICS;
+SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
+ROWS_READ
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+10
+SELECT ROWS_READ FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t1';
+ROWS_READ
+10
+SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
+ROWS_READ
+10
+DROP TABLE t1;
+CREATE TABLE t2 (c1 INT UNSIGNED);
+ALTER TABLE t2 MODIFY c1 FLOAT;
+SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t2';
+TABLE_SCHEMA TABLE_NAME ROWS_READ ROWS_CHANGED ROWS_CHANGED_X_INDEXES
+DROP TABLE t2;
+CREATE TABLE t2 (c1 INT UNSIGNED);
+ALTER TABLE t2 MODIFY c1 FLOAT;
+SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t2';
+TABLE_SCHEMA TABLE_NAME ROWS_READ ROWS_CHANGED ROWS_CHANGED_X_INDEXES
+DROP TABLE t2;
+SET GLOBAL userstat= @userstat_old;
+SET SESSION default_storage_engine = @default_storage_engine_old;
diff --git a/mysql-test/suite/innodb/r/tmpdir.result b/mysql-test/suite/innodb/r/tmpdir.result
new file mode 100644
index 00000000000..f9475c1b7f8
--- /dev/null
+++ b/mysql-test/suite/innodb/r/tmpdir.result
@@ -0,0 +1,51 @@
+#
+# Bug #19183565 CREATE DYNAMIC INNODB_TMPDIR VARIABLE TO CONTROL
+# WHERE INNODB WRITES TEMP FILES
+#
+# If innodb_tmpdir is NULL or "", temporary file will be created in
+# server configuration variable location(--tmpdir)
+create table t1(a int primary key)engine=innodb;
+show session variables like 'innodb_tmpdir';
+Variable_name Value
+innodb_tmpdir
+alter table t1 add column b int not null;
+set global innodb_tmpdir=NULL;
+# Connection con1
+show session variables like 'innodb_tmpdir';
+Variable_name Value
+innodb_tmpdir
+alter table t1 add key(b);
+drop table t1;
+# innodb_tmpdir with invalid path.
+create table t1(a int primary key)engine=innodb;
+set global innodb_tmpdir='wrong_value';
+ERROR 42000: Variable 'innodb_tmpdir' can't be set to the value of 'wrong_value'
+show warnings;
+Level Code Message
+Warning 1210 InnoDB: Path doesn't exist.
+Error 1231 Variable 'innodb_tmpdir' can't be set to the value of 'wrong_value'
+drop table t1;
+# innodb_tmpdir with mysql data directory path.
+create table t1(a text, b text, fulltext(a,b))engine=innodb;
+insert into t1 values('test1', 'test2');
+insert into t1 values('text1', 'text2');
+set global innodb_tmpdir = @@global.datadir;
+ERROR 42000: Variable 'innodb_tmpdir' can't be set to the value of 'MYSQL_DATADIR'
+show warnings;
+Level Code Message
+Warning 1210 InnoDB: Path Location should not be same as mysql data directory location.
+Error 1231 DATADIR/data/'
+drop table t1;
+# innodb_tmpdir with valid location.
+create table t1(a text, b text, fulltext(a,b))engine=innodb;
+insert into t1 values('test1', 'test2');
+insert into t1 values('text1', 'text2');
+set @tmpdir = @@global.tmpdir;
+set global innodb_tmpdir = @tmpdir;
+show session variables like 'innodb_tmpdir';
+Variable_name Value
+innodb_tmpdir
+# Connection con3
+alter table t1 add fulltext(b);
+set global innodb_tmpdir=NULL;
+drop table t1;
diff --git a/mysql-test/suite/innodb/r/trigger.result b/mysql-test/suite/innodb/r/trigger.result
new file mode 100644
index 00000000000..c54c14adbfe
--- /dev/null
+++ b/mysql-test/suite/innodb/r/trigger.result
@@ -0,0 +1,23 @@
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+CREATE TABLE t2 (b INT) ENGINE=InnoDB;
+CREATE TABLE t3 (c INT) ENGINE=InnoDB;
+CREATE TRIGGER tr BEFORE INSERT ON t3 FOR EACH ROW BEGIN SAVEPOINT sv; INSERT INTO t2 VALUES (0); END $$
+START TRANSACTION;
+DELETE FROM t1;
+START TRANSACTION;
+INSERT INTO t2 VALUES (2);
+UPDATE t2 SET b = b+1;
+INSERT INTO t1 VALUES (1);
+COMMIT;
+COMMIT;
+SELECT * FROM t1;
+a
+1
+SELECT * FROM t2;
+b
+3
+SELECT * FROM t3;
+c
+DROP TABLE t1, t2, t3;
+DROP TRIGGER tr;
+ERROR HY000: Trigger does not exist
diff --git a/mysql-test/suite/innodb/r/xa_recovery.result b/mysql-test/suite/innodb/r/xa_recovery.result
index 84cb37ef7c9..3b560b79657 100644
--- a/mysql-test/suite/innodb/r/xa_recovery.result
+++ b/mysql-test/suite/innodb/r/xa_recovery.result
@@ -4,7 +4,7 @@ XA START 'x';
UPDATE t1 set a=2;
XA END 'x';
XA PREPARE 'x';
-call mtr.add_suppression("Found 1 prepared XA transactions");
+# Kill and restart: --innodb-force-recovery=2
SELECT * FROM t1 LOCK IN SHARE MODE;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM t1;
diff --git a/mysql-test/suite/innodb/t/101_compatibility.test b/mysql-test/suite/innodb/t/101_compatibility.test
new file mode 100644
index 00000000000..df3261cebd1
--- /dev/null
+++ b/mysql-test/suite/innodb/t/101_compatibility.test
@@ -0,0 +1,104 @@
+--source include/innodb_page_size.inc
+--source include/not_embedded.inc
+
+-- echo #
+-- echo # MDEV-11623 MariaDB 10.1 fails to start datadir created with
+-- echo # MariaDB 10.0/MySQL 5.6 using innodb-page-size!=16K
+-- echo #
+
+# This is actually testing the opposite: starting the fixed 10.1 with
+# buggy 10.1 files (by manually converting the flags in the files).
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: adjusting FSP_SPACE_FLAGS of tablespace");
+FLUSH TABLES;
+SET GLOBAL innodb_file_per_table=1;
+SET GLOBAL innodb_file_format=Barracuda;
+--enable_query_log
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+let MYSQLD_DATADIR=`select @@datadir`;
+
+CREATE TABLE tr(a INT)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+CREATE TABLE tc(a INT)ENGINE=InnoDB ROW_FORMAT=COMPACT;
+CREATE TABLE td(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+--disable_warnings
+CREATE TABLE tz(a INT)ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+--enable_warnings
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+EVAL CREATE TABLE tdd(a INT) ENGINE=InnoDB, DATA DIRECTORY='$MYSQL_TMP_DIR';
+
+CREATE TABLE tp(a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC PAGE_COMPRESSED=1;
+CREATE TABLE ti(a INT) ENGINE=InnoDB;
+FLUSH TABLES ti FOR EXPORT;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "ti");
+EOF
+UNLOCK TABLES;
+ALTER TABLE ti DISCARD TABLESPACE;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "ti");
+ib_restore_tablespaces("test", "ti");
+do "$ENV{MTR_SUITE_DIR}/include/ibd_convert.pl";
+my $ps = $ENV{INNODB_PAGE_SIZE};
+my $dd = $ENV{MYSQLD_DATADIR};
+convert_to_mariadb_101("$dd/test/ti.ibd", $ps);
+EOF
+
+ALTER TABLE ti IMPORT TABLESPACE;
+
+BEGIN;
+INSERT INTO tr VALUES(1);
+INSERT INTO tc VALUES(1);
+INSERT INTO td VALUES(1);
+INSERT INTO tz VALUES(1);
+INSERT INTO tdd VALUES(1);
+INSERT INTO tp VALUES(1);
+INSERT INTO ti VALUES(1);
+
+--source include/kill_mysqld.inc
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/ibd_convert.pl";
+my $ps = $ENV{INNODB_PAGE_SIZE};
+my $dd = $ENV{MYSQLD_DATADIR};
+
+convert_to_mariadb_101("$dd/ibdata1", $ps);
+convert_to_mariadb_101("$dd/test/tr.ibd", $ps);
+convert_to_mariadb_101("$dd/test/tc.ibd", $ps);
+convert_to_mariadb_101("$dd/test/td.ibd", $ps);
+convert_to_mariadb_101("$dd/test/tz.ibd", 1024) if $ps<32768;
+convert_to_mariadb_101("$dd/test/tp.ibd", $ps);
+convert_to_mariadb_101("$dd/test/ti.ibd", $ps);
+convert_to_mariadb_101("$ENV{MYSQL_TMP_DIR}/test/tdd.ibd", $ps);
+EOF
+
+--source include/start_mysqld.inc
+CHECK TABLE tr,tc,td,tz,tdd,tp,ti;
+--source include/shutdown_mysqld.inc
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/ibd_convert.pl";
+my $ps = $ENV{INNODB_PAGE_SIZE};
+my $dd = $ENV{MYSQLD_DATADIR};
+
+convert_to_mariadb_101("$dd/ibdata1", $ps);
+convert_to_mariadb_101("$dd/test/tr.ibd", $ps);
+convert_to_mariadb_101("$dd/test/tc.ibd", $ps);
+convert_to_mariadb_101("$dd/test/td.ibd", $ps);
+convert_to_mariadb_101("$dd/test/tz.ibd", 1024) if $ps<32768;
+convert_to_mariadb_101("$dd/test/tp.ibd", $ps);
+convert_to_mariadb_101("$dd/test/ti.ibd", $ps);
+convert_to_mariadb_101("$ENV{MYSQL_TMP_DIR}/test/tdd.ibd", $ps);
+EOF
+
+--let $restart_parameters=--innodb-read-only
+--source include/start_mysqld.inc
+CHECK TABLE tr,tc,td,tz,tdd,tp,ti;
+--source include/shutdown_mysqld.inc
+
+--let $restart_parameters=
+--source include/start_mysqld.inc
+DROP TABLE tr,tc,td,tz,tdd,tp,ti;
diff --git a/mysql-test/suite/innodb/t/add_constraint.test b/mysql-test/suite/innodb/t/add_constraint.test
index eabf06434f4..7e86a7e5f97 100644
--- a/mysql-test/suite/innodb/t/add_constraint.test
+++ b/mysql-test/suite/innodb/t/add_constraint.test
@@ -10,7 +10,7 @@ create table t2(a int, b int, key(a),key(b))engine=innodb;
alter table t2 add constraint b foreign key (b) references t1(a);
alter table t1 add constraint b1 foreign key (b) references t2(a);
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
--error ER_CANT_CREATE_TABLE
alter table t2 add constraint b1 foreign key (b) references t1(a);
diff --git a/mysql-test/suite/innodb/t/alter_candidate_key.test b/mysql-test/suite/innodb/t/alter_candidate_key.test
new file mode 100644
index 00000000000..7429cd89a1a
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_candidate_key.test
@@ -0,0 +1,72 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL,
+ UNIQUE KEY uidx2(f1,f2),
+ UNIQUE KEY uidx1(f2)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 1);
+SHOW CREATE TABLE t1;
+SET DEBUG_SYNC = 'innodb_inplace_alter_table_enter
+ SIGNAL conc_dml WAIT_FOR go_ahead';
+--send ALTER TABLE t1 CHANGE COLUMN f1 f11 INT, ALGORITHM=INPLACE
+connect (con1,localhost,root,,);
+SET DEBUG_SYNC = 'now WAIT_FOR conc_dml';
+DELETE FROM t1;
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+connection default;
+reap;
+SHOW CREATE TABLE t1;
+CHECK TABLE t1;
+DROP TABLE t1;
+
+CREATE TABLE t1(f1 INT, f2 INT,
+ PRIMARY KEY(f1, f2),
+ UNIQUE INDEX uidx2 (f1, f2),
+ UNIQUE INDEX uidx1 (f2))ENGINE=InnoDB;
+ALTER TABLE t1 DROP PRIMARY KEY;
+SHOW CREATE TABLE t1;
+SET DEBUG_SYNC = 'innodb_inplace_alter_table_enter
+ SIGNAL conc_dml WAIT_FOR go_ahead';
+--send ALTER TABLE t1 CHANGE COLUMN f1 f11 INT, ALGORITHM=INPLACE
+connection con1;
+SET DEBUG_SYNC = 'now WAIT_FOR conc_dml';
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES(1, 1), (1, 1);
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+connection default;
+reap;
+SHOW CREATE TABLE t1;
+CHECK TABLE t1;
+DROP TABLE t1;
+
+SET SQL_MODE= strict_trans_tables;
+CREATE TABLE t1(a INT UNIQUE) ENGINE=InnoDB;
+SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL dml WAIT_FOR dml_done';
+--send ALTER TABLE t1 MODIFY COLUMN a INT NOT NULL
+connection con1;
+SET DEBUG_SYNC='now WAIT_FOR dml';
+BEGIN;
+INSERT INTO t1 SET a=NULL;
+ROLLBACK;
+set DEBUG_SYNC='now SIGNAL dml_done';
+connection default;
+--error ER_INVALID_USE_OF_NULL
+reap;
+DROP TABLE t1;
+disconnect con1;
+SET DEBUG_SYNC="RESET";
+SET SQL_MODE=DEFAULT;
+
+CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY(f1, f2),
+ UNIQUE KEY(f2))ENGINE=InnoDB;
+ALTER TABLE t1 DROP PRIMARY KEY;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL,
+ UNIQUE KEY(f2), UNIQUE KEY(f2))ENGINE=InnoDB;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 DROP INDEX f2, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/alter_crash.test b/mysql-test/suite/innodb/t/alter_crash.test
new file mode 100644
index 00000000000..b417b441723
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_crash.test
@@ -0,0 +1,229 @@
+# Crash-safe InnoDB ALTER operations
+
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/not_crashrep.inc
+
+--disable_query_log
+call mtr.add_suppression('InnoDB: Flagged corruption of c[23]');
+--enable_query_log
+
+--echo #
+--echo # Bug#20015132 ALTER TABLE FAILS TO CHECK IF TABLE IS CORRUPTED
+--echo #
+
+CREATE TABLE t1(c1 INT PRIMARY KEY, c2 CHAR(1), c3 INT UNSIGNED) ENGINE=InnoDB;
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG='+d,create_index_metadata_fail';
+--error ER_RECORD_FILE_FULL
+ALTER TABLE t1 ADD INDEX (c2), ADD INDEX (c3);
+
+SET DEBUG_DBUG='+d,ib_create_table_fail_too_many_trx';
+--error ER_TOO_MANY_CONCURRENT_TRXS
+ALTER TABLE t1 ADD INDEX (c2), ADD INDEX (c3);
+
+SET DEBUG_DBUG=@saved_debug_dbug;
+ALTER TABLE t1 ADD INDEX (c2), ADD INDEX (c3);
+# Flag the secondary indexes corrupted.
+SET DEBUG_DBUG='+d,dict_set_index_corrupted';
+CHECK TABLE t1;
+
+# Ensure that the corruption is permanent.
+--source include/restart_mysqld.inc
+CHECK TABLE t1;
+ALTER TABLE t1 DROP INDEX c2;
+CHECK TABLE t1;
+# We refuse an ALTER TABLE that would modify the InnoDB data dictionary
+# while leaving some of the table corrupted.
+--error ER_INDEX_CORRUPT
+ALTER TABLE t1 ADD INDEX (c2,c3);
+# This will rebuild the table, uncorrupting all secondary indexes.
+ALTER TABLE t1 CHANGE c3 c3 INT NOT NULL;
+CHECK TABLE t1;
+ALTER TABLE t1 ADD INDEX (c2,c3);
+DROP TABLE t1;
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+let datadir= `select @@datadir`;
+
+# These are from include/shutdown_mysqld.inc and allow to call start_mysqld.inc
+--let $_server_id= `SELECT @@server_id`
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
+
+--echo #
+--echo # Bug #14669848 CRASH DURING ALTER MAKES ORIGINAL TABLE INACCESSIBLE
+--echo #
+--echo # -- Scenario 1:
+--echo # Crash the server in ha_innobase::commit_inplace_alter_table()
+--echo # just after committing the dictionary changes.
+
+CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=innodb;
+INSERT INTO t1 VALUES (1,2),(3,4);
+SET DEBUG_DBUG='+d,innodb_alter_commit_crash_after_commit';
+
+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
+
+--error 2013
+ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
+
+--echo # Restart mysqld after the crash and reconnect.
+--source include/start_mysqld.inc
+
+let $temp_table_name = `SELECT SUBSTR(name, 6)
+ FROM information_schema.innodb_sys_tables
+ WHERE table_id = $orig_table_id`;
+
+--echo # Manual *.frm recovery begin.
+
+--move_file $MYSQLD_DATADIR/test/t1.frm $MYSQLD_DATADIR/test/$temp_table_name.frm
+
+perl;
+my @frm_file = glob "$ENV{'datadir'}/test/#sql-*.frm";
+my $t1_frm = "$ENV{'datadir'}/test/t1.frm";
+rename($frm_file[0], $t1_frm);
+EOF
+
+--echo # Manual recovery end
+
+FLUSH TABLES;
+
+--echo # Drop the orphaned original table.
+--disable_query_log
+eval DROP TABLE `#mysql50#$temp_table_name`;
+--enable_query_log
+
+--echo # Files in datadir after manual recovery.
+--list_files $MYSQLD_DATADIR/test
+
+SHOW TABLES;
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES (5,6),(7,8);
+SELECT * FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=InnoDB;
+ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
+DROP TABLE t1;
+
+--echo # -- Scenario 2:
+--echo # Crash the server in ha_innobase::commit_inplace_alter_table()
+--echo # just before committing the dictionary changes, but after
+--echo # writing the MLOG_FILE_RENAME records. As the mini-transaction
+--echo # is not committed, the renames will not be replayed.
+
+CREATE TABLE t2 (f1 int not null, f2 int not null) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1,2),(3,4);
+SET DEBUG_DBUG='+d,innodb_alter_commit_crash_before_commit';
+
+let $orig_table_id = `SELECT table_id
+ FROM information_schema.innodb_sys_tables
+ WHERE name = 'test/t2'`;
+
+# Write file to make mysql-test-run.pl expect crash
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+--error 2013
+ALTER TABLE t2 ADD PRIMARY KEY (f2, f1);
+
+--echo # Startup the server after the crash
+--source include/start_mysqld.inc
+
+--echo # Read and remember the temporary table name
+let $temp_table_name = `SELECT SUBSTRING(name,6)
+ FROM information_schema.innodb_sys_tables
+ WHERE name LIKE "test/#sql-ib$orig_table_id%"`;
+# This second copy is an environment variable for the perl script below.
+let temp_table_name = $temp_table_name;
+
+--echo # Manual *.frm recovery begin. The dictionary was not updated
+--echo # and the files were not renamed. The rebuilt table
+--echo # was left behind on purpose, to faciliate data recovery.
+
+perl;
+my @frm_file = glob "$ENV{'datadir'}/test/#sql-*.frm";
+my $target_frm = "$ENV{'datadir'}/test/$ENV{'temp_table_name'}.frm";
+rename($frm_file[0], $target_frm);
+EOF
+
+--echo # Manual recovery end
+
+--echo # Drop the orphaned rebuilt table.
+--disable_query_log
+eval DROP TABLE `#mysql50#$temp_table_name`;
+--enable_query_log
+
+SHOW TABLES;
+INSERT INTO t2 VALUES (5,6),(7,8);
+SELECT * from t2;
+SHOW CREATE TABLE t2;
+DROP TABLE t2;
+
+CREATE TABLE t2 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=InnoDB;
+ALTER TABLE t2 ADD PRIMARY KEY (f2, f1);
+DROP TABLE t2;
+--list_files $MYSQLD_DATADIR/test
+
+--echo # -------------------------
+--echo # End of Testing Scenario 2
+--echo # -------------------------
+
+--echo #
+--echo # Bug#19330255 WL#7142 - CRASH DURING ALTER TABLE LEADS TO
+--echo # DATA DICTIONARY INCONSISTENCY
+--echo #
+
+CREATE TABLE t1(a int PRIMARY KEY, b varchar(255), c int NOT NULL)
+ENGINE=InnoDB;
+INSERT INTO t1 SET a=1,c=2;
+SET DEBUG_DBUG='+d,innodb_alter_commit_crash_after_commit';
+
+let $orig_table_id = `select table_id from
+ information_schema.innodb_sys_tables where name = 'test/t1'`;
+
+# FIXME: MDEV-9469 'Incorrect key file' on ALTER TABLE
+# Write file to make mysql-test-run.pl expect crash
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+#
+--error 2013
+ALTER TABLE t1 ADD INDEX (b), CHANGE c d int, ALGORITHM=INPLACE;
+
+--echo # Restart mysqld after the crash and reconnect.
+--source include/start_mysqld.inc
+
+let $temp_table_name = `SELECT SUBSTR(name, 6)
+ FROM information_schema.innodb_sys_tables
+ WHERE table_id = $orig_table_id`;
+
+--echo # Manual *.frm recovery begin.
+--move_file $MYSQLD_DATADIR/test/t1.frm $MYSQLD_DATADIR/test/$temp_table_name.frm
+
+perl;
+my @frm_file = glob "$ENV{'datadir'}/test/#sql-*.frm";
+my $t1_frm = "$ENV{'datadir'}/test/t1.frm";
+rename($frm_file[0], $t1_frm);
+EOF
+
+--echo # Manual recovery end
+
+FLUSH TABLES;
+
+--echo # Drop the orphaned original table.
+--disable_query_log
+eval DROP TABLE `#mysql50#$temp_table_name`;
+--enable_query_log
+
+--echo # Files in datadir after manual recovery.
+--list_files $MYSQLD_DATADIR/test
+
+SHOW TABLES;
+SHOW CREATE TABLE t1;
+UPDATE t1 SET d=NULL;
+SELECT * FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/alter_inplace_perfschema.opt b/mysql-test/suite/innodb/t/alter_inplace_perfschema.opt
new file mode 100644
index 00000000000..f56125521fc
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_inplace_perfschema.opt
@@ -0,0 +1,2 @@
+--innodb-sort-buffer-size=64k
+--tmpdir=$MYSQLTEST_VARDIR/tmp
diff --git a/mysql-test/suite/innodb/t/alter_inplace_perfschema.test b/mysql-test/suite/innodb/t/alter_inplace_perfschema.test
new file mode 100644
index 00000000000..5f1e1f3491d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_inplace_perfschema.test
@@ -0,0 +1,40 @@
+--source include/have_innodb.inc
+--source include/have_perfschema.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/not_embedded.inc
+
+connect (ddl, localhost, root,,);
+update performance_schema.setup_instruments set enabled='yes';
+update performance_schema.setup_consumers set enabled='yes';
+CREATE TABLE t1 (a serial, b varchar(255)) ENGINE=InnoDB;
+
+BEGIN;
+let $n=10;
+--disable_query_log
+while ($n) {
+dec $n;
+INSERT INTO t1 SELECT NULL, REPEAT('b',255);
+}
+--enable_query_log
+COMMIT;
+
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL go WAIT_FOR gone';
+send ALTER TABLE t1 ADD INDEX(b), ALGORITHM=INPLACE;
+
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR go';
+--replace_regex /.*[\\\/]tmp/tmp/
+SELECT DISTINCT object_name FROM performance_schema.events_waits_history_long
+WHERE event_name LIKE '%wait%io%file%innodb%innodb_temp_file%';
+
+#--exec lsof -p `pidof mysqld`
+SET DEBUG_SYNC = 'now SIGNAL gone';
+
+connection ddl;
+reap;
+disconnect ddl;
+
+connection default;
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/alter_key_block_size-11757.test b/mysql-test/suite/innodb/t/alter_key_block_size-11757.test
new file mode 100644
index 00000000000..50a909870ba
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_key_block_size-11757.test
@@ -0,0 +1,23 @@
+#
+# MDEV-11757 KEY_BLOCK_SIZE strangeness when UNCOMPRESSing COMPRESSed InnoDB tables
+#
+source include/have_innodb.inc;
+set global innodb_file_format=barracuda;
+
+create table t1 (
+ id1 bigint(20) not null,
+ id2 bigint(20) not null,
+ primary key (id1),
+ unique key id2 (id2)
+) engine=innodb row_format=compressed key_block_size=8;
+show create table t1;
+alter table t1 row_format=dynamic;
+show create table t1;
+alter table t1 key_block_size=0;
+show create table t1;
+alter table t1 drop primary key, add primary key (id1),
+ drop key id2, add unique (id2);
+show create table t1;
+drop table t1;
+
+set global innodb_file_format=default;
diff --git a/mysql-test/suite/innodb/t/alter_partitioned_xa.test b/mysql-test/suite/innodb/t/alter_partitioned_xa.test
new file mode 100644
index 00000000000..f0883802cd6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_partitioned_xa.test
@@ -0,0 +1,31 @@
+--source include/have_innodb.inc
+--source include/have_partition.inc
+
+--echo #
+--echo # MDEV-14693 XA: Assertion `!clust_index->online_log' failed
+--echo # in rollback_inplace_alter_table
+--echo #
+
+# A bug in meta-data locking (MDL) for XA transactions causes
+# a bug in InnoDB error handling for ALTER TABLE to be triggered.
+CREATE TABLE t1 (a INT, b INT) ENGINE=InnoDB PARTITION BY HASH(a) PARTITIONS 2;
+XA START 'xid';
+INSERT INTO t1 VALUES (1,10);
+# XA bug: The following releases the MDL on t1!
+--error ER_XAER_RMFAIL
+CREATE DATABASE IF NOT EXISTS db;
+
+--connect (con1,localhost,root,,test)
+SET innodb_lock_wait_timeout= 1, lock_wait_timeout= 2;
+# Here, innodb_lock_wait_timeout would be exceeded, causing the operation
+# to roll back when InnoDB is attempting to commit.
+# (Instead, lock_wait_timeout should be exceeded!)
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE t1 FORCE;
+
+# Cleanup
+--disconnect con1
+--connection default
+XA END 'xid';
+XA ROLLBACK 'xid';
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/alter_rename_existing.test b/mysql-test/suite/innodb/t/alter_rename_existing.test
new file mode 100644
index 00000000000..0c8bf481969
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_rename_existing.test
@@ -0,0 +1,93 @@
+--echo #
+--echo # Show what happens during ALTER TABLE when an existing file
+--echo # exists in the target location.
+--echo #
+--echo # Bug #19218794: IF TABLESPACE EXISTS, CAN'T CREATE TABLE,
+--echo # BUT CAN ALTER ENGINE=INNODB
+--echo #
+
+--source include/have_innodb.inc
+
+--disable_query_log
+LET $MYSQLD_DATADIR = `select @@datadir`;
+SET @old_innodb_file_per_table = @@innodb_file_per_table;
+--enable_query_log
+
+CREATE TABLE t1 (a SERIAL, b CHAR(10)) ENGINE=Memory;
+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
+
+--echo # Directory listing of test/*.ibd
+--echo #
+--list_files $MYSQLD_DATADIR/test/ *.ibd
+
+--replace_regex /Error on rename of '.*' to '.*'/Error on rename of 'OLD_FILE_NAME' to 'NEW_FILE_NAME'/
+--error ER_ERROR_ON_RENAME
+ALTER TABLE t1 ENGINE = InnoDB;
+
+--echo #
+--echo # Move the file to InnoDB as t2
+--echo #
+ALTER TABLE t1 RENAME TO t2, ENGINE = INNODB;
+SHOW CREATE TABLE t2;
+SELECT * from t2;
+
+--replace_regex /Error on rename of '.*' to '.*'/Error on rename of 'OLD_FILE_NAME' to 'NEW_FILE_NAME'/
+--error ER_ERROR_ON_RENAME
+ALTER TABLE t2 RENAME TO t1;
+
+--echo #
+--echo # Create another t1, but in the system tablespace.
+--echo #
+SET GLOBAL innodb_file_per_table=OFF;
+CREATE TABLE t1 (a SERIAL, b CHAR(20)) ENGINE=InnoDB;
+INSERT INTO t1(b) VALUES('one'), ('two'), ('three');
+SHOW CREATE TABLE t1;
+SELECT name, space=0 FROM information_schema.innodb_sys_tables WHERE name = 'test/t1';
+
+--echo #
+--echo # ALTER TABLE from system tablespace to system tablespace
+--echo #
+ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=INPLACE;
+ALTER TABLE t1 ADD COLUMN d INT, ALGORITHM=COPY;
+
+--echo #
+--echo # Try to move t1 from the system tablespace to a file-per-table
+--echo # while a blocking t1.ibd file exists.
+--echo #
+SET GLOBAL innodb_file_per_table=ON;
+--replace_regex /$MYSQLD_DATADIR/MYSQLD_DATADIR/
+--error ER_TABLESPACE_EXISTS
+ALTER TABLE t1 ADD COLUMN e1 INT, ALGORITHM=INPLACE;
+--replace_regex /Error on rename of '.*' to '.*'/Error on rename of 'OLD_FILE_NAME' to 'NEW_FILE_NAME'/
+--error ER_ERROR_ON_RENAME
+ALTER TABLE t1 ADD COLUMN e2 INT, ALGORITHM=COPY;
+
+--echo #
+--echo # Delete the blocking file called MYSQLD_DATADIR/test/t1.ibd
+--remove_file $MYSQLD_DATADIR/test/t1.ibd
+
+--echo # Move t1 to file-per-table using ALGORITHM=INPLACE with no blocking t1.ibd.
+--echo #
+ALTER TABLE t1 ADD COLUMN e INT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+SELECT name, space=0 FROM information_schema.innodb_sys_tables WHERE name = 'test/t1';
+
+DROP TABLE t1;
+
+--echo #
+--echo # Rename t2.ibd to t1.ibd.
+--echo #
+ALTER TABLE t2 RENAME TO t1;
+SELECT name, space=0 FROM information_schema.innodb_sys_tables WHERE name = 'test/t1';
+SELECT * from t1;
+
+DROP TABLE t1;
+
+--disable_query_log
+call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot rename '.*' to '.*' for space ID .* because the target file exists. Remove the target file and try again");
+SET GLOBAL innodb_file_per_table = @old_innodb_file_per_table;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/autoinc_debug.test b/mysql-test/suite/innodb/t/autoinc_debug.test
new file mode 100644
index 00000000000..2e662565490
--- /dev/null
+++ b/mysql-test/suite/innodb/t/autoinc_debug.test
@@ -0,0 +1,85 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/not_embedded.inc
+
+# Two parallel connection with autoinc column after restart.
+
+CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY)ENGINE=INNODB;
+
+--echo # SETTING auto_increment_increment IN CONNECTION DEFAULT
+SET AUTO_INCREMENT_INCREMENT = 1;
+INSERT INTO t1 VALUES(NULL);
+SELECT * FROM t1;
+SHOW CREATE TABLE t1;
+
+--source include/restart_mysqld.inc
+
+--echo # SETTING auto_increment_increment IN CONNECTION1
+SET AUTO_INCREMENT_INCREMENT = 2;
+
+SET DEBUG_SYNC= 'ib_after_row_insert SIGNAL opened WAIT_FOR flushed1';
+
+SEND INSERT INTO t1 VALUES(NULL);
+
+connect(con1, localhost, root,,);
+SET AUTO_INCREMENT_INCREMENT = 2;
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+SET DEBUG_SYNC= 'ib_after_row_insert_step SIGNAL flushed1 WAIT_FOR opened1';
+send insert into t1 values(NULL);
+
+connection default;
+reap;
+SELECT * FROM t1;
+SHOW CREATE TABLE t1;
+SET DEBUG_SYNC= 'now SIGNAL opened1';
+
+connection con1;
+reap;
+SELECT * FROM t1;
+SHOW CREATE TABLE t1;
+connection default;
+disconnect con1;
+
+DROP TABLE t1;
+
+# Two parallel connection with autoinc column without restart.
+
+CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY)ENGINE=INNODB;
+
+--echo # SETTING auto_increment_increment IN CONNECTION DEFAULT
+SET AUTO_INCREMENT_INCREMENT = 1;
+INSERT INTO t1 VALUES(NULL);
+SELECT * FROM t1;
+SHOW CREATE TABLE t1;
+SET DEBUG_SYNC = 'now SIGNAL flushed';
+
+connect(con1, localhost, root,,);
+
+--echo # SETTING auto_increment_increment in connection1
+SET AUTO_INCREMENT_INCREMENT = 2;
+
+SET DEBUG_SYNC= 'now WAIT_FOR flushed';
+SET DEBUG_SYNC= 'ib_after_row_insert SIGNAL opened WAIT_FOR flushed1';
+
+send INSERT INTO t1 values(NULL);
+
+connection default;
+
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+SET DEBUG_SYNC= 'ib_after_row_insert_step SIGNAL flushed1 WAIT_FOR opened1';
+
+send INSERT INTO t1 VALUES(NULL);
+
+connection con1;
+reap;
+SELECT * FROM t1;
+SHOW CREATE TABLE t1;
+SET DEBUG_SYNC= 'now SIGNAL opened1';
+disconnect con1;
+
+connection default;
+reap;
+SELECT * FROM t1;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+SET DEBUG_SYNC='RESET';
diff --git a/mysql-test/suite/innodb/t/binlog_consistent.test b/mysql-test/suite/innodb/t/binlog_consistent.test
index 1915479fb76..4ab2903e693 100644
--- a/mysql-test/suite/innodb/t/binlog_consistent.test
+++ b/mysql-test/suite/innodb/t/binlog_consistent.test
@@ -1,6 +1,7 @@
--source include/have_innodb.inc
--source include/have_log_bin.inc
--source include/have_binlog_format_mixed_or_statement.inc
+--source include/binlog_start_pos.inc
RESET MASTER;
@@ -16,7 +17,10 @@ connection default;
--echo # Connection default
CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb;
+let pos=`select $binlog_start_pos + 238`;
+--replace_result $pos <pos>
SHOW MASTER STATUS;
+--replace_result $pos <pos>
SHOW STATUS LIKE 'binlog_snapshot_%';
BEGIN;
INSERT INTO t1 VALUES (0, "");
@@ -56,7 +60,11 @@ COMMIT;
connection default;
--echo # Connection default
SELECT * FROM t1 ORDER BY a,b;
+let pos=`select $binlog_start_pos + 740`;
+--replace_result $pos <pos>
SHOW STATUS LIKE 'binlog_snapshot_%';
+let pos=`select $binlog_start_pos + 1092`;
+--replace_result $pos <pos>
SHOW MASTER STATUS;
SELECT * FROM t2 ORDER BY a;
@@ -72,18 +80,24 @@ connection con3;
--echo # Connection con3
COMMIT;
FLUSH LOGS;
+--source include/wait_for_binlog_checkpoint.inc
connection default;
--echo # Connection default
SELECT * FROM t1 ORDER BY a,b;
+let pos=`select $binlog_start_pos + 740`;
+--replace_result $pos <pos>
SHOW STATUS LIKE 'binlog_snapshot_%';
+let pos=`select $binlog_start_pos + 119`;
+--replace_result $pos <pos>
SHOW MASTER STATUS;
COMMIT;
+--replace_result $pos <pos>
SHOW STATUS LIKE 'binlog_snapshot_%';
+--replace_result $pos <pos>
SHOW MASTER STATUS;
---replace_regex /\/\* xid=.* \*\//\/* XID *\// /Server ver: .*, Binlog ver: .*/Server ver: #, Binlog ver: #/ /table_id: [0-9]+/table_id: #/
-SHOW BINLOG EVENTS;
+source include/show_binlog_events.inc;
--echo *** MDEV-7310: last_commit_pos_offset set to wrong value after binlog rotate in group commit ***
@@ -102,6 +116,7 @@ eval INSERT INTO t3 VALUES (11, '$bigdata');
# So here, we check that the values are consistent with SHOW MASTER STATUS,
# which uses a different code path and did not have the bug.
+--source include/wait_for_binlog_checkpoint.inc
--let $snap_file= query_get_value(SHOW STATUS LIKE 'binlog_snapshot_file', Value, 1)
--let $snap_pos= query_get_value(SHOW STATUS LIKE 'binlog_snapshot_position', Value, 1)
diff --git a/mysql-test/suite/innodb/t/create-index-debug.test b/mysql-test/suite/innodb/t/create-index-debug.test
new file mode 100644
index 00000000000..9ea416fbe1e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/create-index-debug.test
@@ -0,0 +1,34 @@
+--source include/have_innodb.inc
+--source include/have_innodb_16k.inc
+--source include/have_debug.inc
+
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+
+--echo #
+--echo #BUG#21326304 INNODB ONLINE ALTER TABLE ENDS IN CRASH ON DISK FULL
+--echo #
+CREATE TABLE t1(f1 CHAR(255) NOT NULL, f2 CHAR(255) NOT NULL, f3
+CHAR(255) NOT NULL, f4 CHAR(255) NOT NULL, f5 CHAR(255) NOT NULL,f6
+CHAR(255) NOT NULL, f7 CHAR(255) NOT NULL, f8 CHAR(255) NOT NULL,f9
+CHAR(255) NOT NULL, f10 CHAR(255) NOT NULL, f11 CHAR(255) NOT NULL,f12
+CHAR(255) NOT NULL, f13 CHAR(255) NOT NULL, f14 CHAR(255) NOT NULL,f15
+CHAR(255) NOT NULL, f16 CHAR(255) NOT NULL, f17 CHAR(255) NOT NULL,f18
+CHAR(255) NOT NULL)
+ENGINE=INNODB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t1
+VALUES('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r');
+
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+
+SET debug_dbug = '+d,disk_is_full';
+
+--error ER_RECORD_FILE_FULL
+ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
+
+SET debug_dbug= @saved_debug_dbug;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/create_isl_with_direct.opt b/mysql-test/suite/innodb/t/create_isl_with_direct.opt
new file mode 100644
index 00000000000..8f80f02e359
--- /dev/null
+++ b/mysql-test/suite/innodb/t/create_isl_with_direct.opt
@@ -0,0 +1 @@
+--innodb_flush_method=O_DIRECT
diff --git a/mysql-test/suite/innodb/t/create_isl_with_direct.test b/mysql-test/suite/innodb/t/create_isl_with_direct.test
new file mode 100644
index 00000000000..34ea9c77703
--- /dev/null
+++ b/mysql-test/suite/innodb/t/create_isl_with_direct.test
@@ -0,0 +1,28 @@
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+--source include/not_windows.inc
+
+--disable_query_log
+CALL mtr.add_suppression("\\[Warning\\] InnoDB: Failed to set O_DIRECT on file ./ibdata1: OPEN: Invalid argument, continuing anyway. O_DIRECT is known to result in 'Invalid argument' on Linux on tmpfs, see MySQL Bug#26662.");
+
+# The below mtr suppression to avoid failure in solaris platform.
+CALL mtr.add_suppression("\\[ERROR\\] InnoDB: Failed to set DIRECTIO_ON on file.*");
+--enable_query_log
+
+SHOW VARIABLES LIKE 'innodb_flush_method';
+
+let MYSQLD_DATADIR=`SELECT @@datadir`;
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+
+# Create a table with explicit data directory option.
+EVAL CREATE TABLE t1 (x INT) ENGINE=INNODB, DATA DIRECTORY='$MYSQL_TMP_DIR';
+
+--echo # Contents of tmp/test directory containing .ibd file
+--list_files $MYSQL_TMP_DIR/test
+
+--echo # Contents of the 'test' database directory containing .isl and .frm files
+--list_files $MYSQLD_DATADIR/test
+
+DROP TABLE t1;
+ \ No newline at end of file
diff --git a/mysql-test/suite/innodb/t/data_types.opt b/mysql-test/suite/innodb/t/data_types.opt
new file mode 100644
index 00000000000..3ad568c816e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/data_types.opt
@@ -0,0 +1 @@
+--loose-innodb-sys-columns
diff --git a/mysql-test/suite/innodb/t/data_types.test b/mysql-test/suite/innodb/t/data_types.test
new file mode 100644
index 00000000000..0978146361c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/data_types.test
@@ -0,0 +1,118 @@
+#
+# MDEV-5248 Serious incompatibility and data corruption of DATETIME and DATE types due to get_innobase_type_from_mysql_type refactor combined with InnoDB Online DDL
+#
+
+#
+# This test records what *internal type codes* innodb is using for every
+# MariaDB data type. THEY MUST ALWAYS BE THE SAME AND NEVER CHANGE!
+# Otherwise we create a compatibility problem and possible silent data
+# corruption too, see MDEV-5248
+#
+
+--source include/have_innodb.inc
+
+CREATE TABLE t1
+(
+ t1_BIGINT BIGINT,
+ t1_BIGINT_UNSIGNED BIGINT UNSIGNED,
+ t1_BINARY_100 BINARY(100),
+ t1_BIT_2 BIT(2),
+ t1_BIT_20 BIT(20),
+ t1_BLOB BLOB,
+ t1_CHAR_100 CHAR(100),
+ t1_CHAR_100_BINARY CHAR(100) BINARY,
+ t1_DATE DATE,
+ t1_DATETIME DATETIME,
+ t1_DATETIME_6 DATETIME(6),
+ t1_DECIMAL_10_3 DECIMAL(10,3),
+ t1_DECIMAL_10_3_UNSIGNED DECIMAL(10,3) UNSIGNED,
+ t1_DOUBLE DOUBLE,
+ t1_DOUBLE_UNSIGNED DOUBLE UNSIGNED,
+ t1_ENUM ENUM('a', 'b', 'c'),
+ t1_ENUM_BINARY ENUM('a','b') BINARY,
+ t1_ENUM_256 ENUM('a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9',
+ 'a10', 'a11', 'a12', 'a13', 'a14', 'a15', 'a16', 'a17', 'a18', 'a19',
+ 'a20', 'a21', 'a22', 'a23', 'a24', 'a25', 'a26', 'a27', 'a28', 'a29',
+ 'a30', 'a31', 'a32', 'a33', 'a34', 'a35', 'a36', 'a37', 'a38', 'a39',
+ 'a40', 'a41', 'a42', 'a43', 'a44', 'a45', 'a46', 'a47', 'a48', 'a49',
+ 'a50', 'a51', 'a52', 'a53', 'a54', 'a55', 'a56', 'a57', 'a58', 'a59',
+ 'a60', 'a61', 'a62', 'a63', 'a64', 'a65', 'a66', 'a67', 'a68', 'a69',
+ 'a70', 'a71', 'a72', 'a73', 'a74', 'a75', 'a76', 'a77', 'a78', 'a79',
+ 'a80', 'a81', 'a82', 'a83', 'a84', 'a85', 'a86', 'a87', 'a88', 'a89',
+ 'a90', 'a91', 'a92', 'a93', 'a94', 'a95', 'a96', 'a97', 'a98', 'a99',
+ 'a100', 'a101', 'a102', 'a103', 'a104', 'a105', 'a106', 'a107', 'a108',
+ 'a109', 'a110', 'a111', 'a112', 'a113', 'a114', 'a115', 'a116', 'a117',
+ 'a118', 'a119', 'a120', 'a121', 'a122', 'a123', 'a124', 'a125', 'a126',
+ 'a127', 'a128', 'a129', 'a130', 'a131', 'a132', 'a133', 'a134', 'a135',
+ 'a136', 'a137', 'a138', 'a139', 'a140', 'a141', 'a142', 'a143', 'a144',
+ 'a145', 'a146', 'a147', 'a148', 'a149', 'a150', 'a151', 'a152', 'a153',
+ 'a154', 'a155', 'a156', 'a157', 'a158', 'a159', 'a160', 'a161', 'a162',
+ 'a163', 'a164', 'a165', 'a166', 'a167', 'a168', 'a169', 'a170', 'a171',
+ 'a172', 'a173', 'a174', 'a175', 'a176', 'a177', 'a178', 'a179', 'a180',
+ 'a181', 'a182', 'a183', 'a184', 'a185', 'a186', 'a187', 'a188', 'a189',
+ 'a190', 'a191', 'a192', 'a193', 'a194', 'a195', 'a196', 'a197', 'a198',
+ 'a199', 'a200', 'a201', 'a202', 'a203', 'a204', 'a205', 'a206', 'a207',
+ 'a208', 'a209', 'a210', 'a211', 'a212', 'a213', 'a214', 'a215', 'a216',
+ 'a217', 'a218', 'a219', 'a220', 'a221', 'a222', 'a223', 'a224', 'a225',
+ 'a226', 'a227', 'a228', 'a229', 'a230', 'a231', 'a232', 'a233', 'a234',
+ 'a235', 'a236', 'a237', 'a238', 'a239', 'a240', 'a241', 'a242', 'a243',
+ 'a244', 'a245', 'a246', 'a247', 'a248', 'a249', 'a250', 'a251', 'a252',
+ 'a253', 'a254', 'a255', 'a256'),
+ t1_FLOAT FLOAT,
+ t1_FLOAT_UNSIGNED FLOAT UNSIGNED,
+ t1_INT INT,
+ t1_INT_UNSIGNED INT UNSIGNED,
+ t1_LONGBLOB LONGBLOB,
+ t1_LONGTEXT LONGTEXT,
+ t1_MEDIUMBLOB MEDIUMBLOB,
+ t1_MEDIUMINT MEDIUMINT,
+ t1_MEDIUMINT_UNSIGNED MEDIUMINT UNSIGNED,
+ t1_MEDIUMTEXT MEDIUMTEXT,
+ t1_SET SET('a', 'b', 'c'),
+ t1_SET_BINARY SET('a','b') BINARY,
+ t1_SET_9 SET('a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9'),
+ t1_SMALLINT SMALLINT,
+ t1_SMALLINT_UNSIGNED SMALLINT UNSIGNED,
+ t1_TEXT TEXT,
+ t1_TIME TIME,
+ t1_TIME_4 TIME(4),
+ t1_TIMESTAMP TIMESTAMP,
+ t1_TIMESTAMP_5 TIMESTAMP(5),
+ t1_TINYBLOB TINYBLOB,
+ t1_TINYINT TINYINT,
+ t1_TINYINT_UNSIGNED TINYINT UNSIGNED,
+ t1_TINYTEXT TINYTEXT,
+ t1_VARBINARY_100 VARBINARY(100),
+ t1_VARCHAR_10 VARCHAR(10),
+ t1_VARCHAR_10_BINARY VARCHAR(10) BINARY,
+ t1_VARCHAR_500 VARCHAR(500),
+ t1_VARCHAR_500_BINARY VARCHAR(500) BINARY,
+ t1_YEAR_2 YEAR(2),
+ t1_YEAR_4 YEAR(4)
+) ENGINE=InnoDB;
+
+SELECT
+ name,
+ CASE mtype
+ WHEN 1 THEN "DATA_VARCHAR"
+ WHEN 2 THEN "DATA_CHAR"
+ WHEN 3 THEN "DATA_FIXBINARY"
+ WHEN 4 THEN "DATA_BINARY"
+ WHEN 5 THEN "DATA_BLOB"
+ WHEN 6 THEN "DATA_INT"
+ WHEN 7 THEN "DATA_SYS_CHILD"
+ WHEN 8 THEN "DATA_SYS"
+ WHEN 9 THEN "DATA_FLOAT"
+ WHEN 10 THEN "DATA_DOUBLE"
+ WHEN 11 THEN "DATA_DECIMAL"
+ WHEN 12 THEN "DATA_VARMYSQL"
+ WHEN 13 THEN "DATA_MYSQL"
+ WHEN 63 THEN "DATA_MTYPE_MAX"
+ ELSE mtype
+ END AS mtype,
+ IF((prtype & 512) = 512,"UNSIGNED","") AS is_unsigned
+FROM information_schema.INNODB_SYS_COLUMNS
+WHERE name LIKE "t1\_%"
+ORDER BY name;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/default_row_format_alter.test b/mysql-test/suite/innodb/t/default_row_format_alter.test
new file mode 100644
index 00000000000..03e6ec38060
--- /dev/null
+++ b/mysql-test/suite/innodb/t/default_row_format_alter.test
@@ -0,0 +1,98 @@
+--source include/have_innodb.inc
+
+SET @row_format = @@GLOBAL.innodb_default_row_format;
+
+--echo ####################################
+--echo # Check if table rebuilding alter isn't affect if table is created
+--echo # with explicit row_format
+eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 'abc');
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+
+SET GLOBAL innodb_default_row_format=DYNAMIC;
+ALTER TABLE t1 DROP PRIMARY KEY, ADD COLUMN c INT PRIMARY KEY;
+
+--echo # Here we expect COMPACT because it was explicitly specified at CREATE
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
+--echo ####################################
+--echo # Check if table rebuilding alter is affected when there is no
+--echo # row_format specified at CREATE TABLE.
+SET GLOBAL innodb_default_row_format = COMPACT;
+eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 'abc');
+
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+
+SET GLOBAL innodb_default_row_format = DYNAMIC;
+ALTER TABLE t1 DROP PRIMARY KEY, ADD COLUMN c INT PRIMARY KEY;
+
+--echo # Here we expect DYNAMIC because there is no explicit ROW_FORMAT and the
+--echo # default_row_format is changed to DYNAMIC just before ALTER
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
+--echo ####################################
+--echo # Check the row_format effect on ALTER, ALGORITHM=COPY
+SET GLOBAL innodb_default_row_format = REDUNDANT;
+eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, REPEAT('abc',1000));
+
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+
+SET GLOBAL innoDB_default_row_format = COMPACT;
+ALTER TABLE t1 ADD COLUMN c2 BLOB, ALGORITHM=COPY;
+
+--echo # Because of ALGORITHM=COPY, there is TABLE REBUILD and the table isn't
+--echo # created with explicit row_format, so we expect ROW_FORMAT=COMPACT
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
+--echo
+--echo ###################################
+--echo # Check the row_format effect on ALTER, ALGORITH=COPY on
+--echo # create table with explicit row_format
+eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ROW_FORMAT=REDUNDANT ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, REPEAT('abc',1000));
+
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+
+SET GLOBAL innoDB_default_row_format = COMPACT;
+ALTER TABLE t1 ADD COLUMN c2 BLOB, ALGORITHM=COPY;
+
+--echo # Because of ALGORITHM=COPY, there is TABLE REBUILD and the table is
+--echo # created with explicit row_format, so we expect original
+--echo # ROW_FORMAT=REDUNDANT
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
+--echo
+--echo ##################################
+--echo # Check row_format on ALTER ALGORITHM=INPLACE
+SET GLOBAL innodb_default_row_format=COMPACT;
+
+eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT, KEY k1(b(10))) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, REPEAT('abc',1000));
+
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+
+SET GLOBAL innodb_default_row_format=DYNAMIC;
+ALTER TABLE t1 DROP INDEX k1;
+
+--echo # Because it is in-place operation, there is no rebuild, so the
+--echo # original format has to be retained.
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
+SET GLOBAL innodb_default_row_format = @row_format;
diff --git a/mysql-test/suite/innodb/t/default_row_format_compatibility.test b/mysql-test/suite/innodb/t/default_row_format_compatibility.test
new file mode 100644
index 00000000000..0f433b1fcfe
--- /dev/null
+++ b/mysql-test/suite/innodb/t/default_row_format_compatibility.test
@@ -0,0 +1,174 @@
+--source include/have_innodb.inc
+
+SET @row_format = @@GLOBAL.innodb_default_row_format;
+SET @large_prefix = @@GLOBAL.innodb_large_prefix;
+SET @file_format = @@GLOBAL.innodb_file_format;
+SET GLOBAL innodb_file_format = barracuda;
+
+# set the variables
+let $MYSQLD_DATADIR = `SELECT @@datadir`;
+
+--echo # ###########################################################
+--echo # Check with Import/Export tablespace with Default_row_format
+
+# Set row_format=Compact
+SET GLOBAL innodb_default_row_format=Compact;
+
+# Check row_format=Compact
+SELECT @@innodb_default_row_format;
+
+# Check file_per_table=1
+SELECT @@innodb_file_per_table;
+
+CREATE TABLE tab(a INT) ENGINE=InnoDB;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 'tab';
+
+INSERT INTO tab VALUES(1);
+INSERT INTO tab VALUES(2);
+
+# Check the rows
+SELECT * FROM tab;
+
+FLUSH TABLE tab FOR EXPORT;
+
+# Take the backup of the ibd and cfg files
+--copy_file $MYSQLD_DATADIR/test/tab.cfg $MYSQLD_DATADIR/tab.cfg
+--copy_file $MYSQLD_DATADIR/test/tab.ibd $MYSQLD_DATADIR/tab.ibd
+
+UNLOCK TABLES;
+
+# Cleanup
+DROP TABLE tab;
+
+# Set the default_row_format=Dynamic
+SET GLOBAL innodb_default_row_format=Dynamic;
+
+CREATE TABLE tab(a INT) ENGINE=InnoDB;
+
+# Remove the *.ibd file
+ALTER TABLE tab DISCARD TABLESPACE;
+
+# Move the *.ibd,*.cfg file into orginal location
+--move_file $MYSQLD_DATADIR/tab.cfg $MYSQLD_DATADIR/test/tab.cfg
+--move_file $MYSQLD_DATADIR/tab.ibd $MYSQLD_DATADIR/test/tab.ibd
+
+--error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE tab IMPORT TABLESPACE;
+
+# Take the backup of the ibd and cfg files
+--copy_file $MYSQLD_DATADIR/test/tab.cfg $MYSQLD_DATADIR/tab.cfg
+--copy_file $MYSQLD_DATADIR/test/tab.ibd $MYSQLD_DATADIR/tab.ibd
+
+# Cleanup
+DROP TABLE tab;
+
+# Remove orphan files
+--remove_file $MYSQLD_DATADIR/test/tab.cfg
+--remove_file $MYSQLD_DATADIR/test/tab.ibd
+
+# Set the default_row_format=Compact
+SET GLOBAL innodb_default_row_format=Compact;
+
+# Check row_format=Compact
+SELECT @@innodb_default_row_format;
+
+CREATE TABLE tab(a INT) ENGINE=InnoDB;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 'tab';
+
+# Remove the *.ibd file
+ALTER TABLE tab DISCARD TABLESPACE;
+
+# Move the *ibd,*.cfg file into orginal location
+--copy_file $MYSQLD_DATADIR/tab.cfg $MYSQLD_DATADIR/test/tab.ibd
+--move_file $MYSQLD_DATADIR/tab.cfg $MYSQLD_DATADIR/test/tab.cfg
+
+call mtr.add_suppression("InnoDB: Tried to read .* bytes at offset 0");
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE tab IMPORT TABLESPACE;
+--remove_file $MYSQLD_DATADIR/test/tab.ibd
+--move_file $MYSQLD_DATADIR/tab.ibd $MYSQLD_DATADIR/test/tab.ibd
+
+# Check import is successful (because same row_format)
+ALTER TABLE tab IMPORT TABLESPACE;
+
+# Check the rows
+SELECT * FROM tab;
+
+# Cleanup
+DROP TABLE tab;
+
+--echo # ###########################################################
+# Check when Index Column size (3070 bytes) is too long, Change row_format
+# Check when Index Column size (767 bytes), Change row_format
+# Dynamic to Compact to Dynamic
+
+# Set the default_row_format=Dynamic
+SET GLOBAL innodb_default_row_format=Dynamic;
+SET GLOBAL innodb_large_prefix=ON;
+
+SELECT @@innodb_default_row_format;
+
+CREATE TABLE tab(a INT PRIMARY KEY, b VARCHAR(5000), KEY idx1(b(3070))) ENGINE= InnoDB;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 'tab';
+
+INSERT INTO tab(a,b) VALUES(1,'Check with max column size');
+
+# Check by SELECT, no errors
+SELECT * FROM tab;
+
+# Change row_format to Compact
+SET GLOBAL innodb_default_row_format=COMPACT;
+
+# Check error ERROR 1709 (HY000): Index column size too large
+-- error ER_INDEX_COLUMN_TOO_LONG
+ALTER TABLE tab ROW_FORMAT=COMPACT;
+
+# Cleanup
+DROP TABLE tab;
+
+# Change the default_row_format to default
+SET GLOBAL innodb_default_row_format=Default;
+SELECT @@innodb_default_row_format;
+SET GLOBAL innodb_default_row_format=Dynamic;
+
+# Change row_format to Dynamic
+SELECT @@innodb_default_row_format;
+
+CREATE TABLE tab(a INT PRIMARY KEY, b VARCHAR(5000), KEY idx1(b(767))) ENGINE= InnoDB;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 'tab';
+
+INSERT INTO tab(a,b) VALUES(1,'Check with max column size');
+
+# Check by SELECT, no errors
+SELECT * FROM tab;
+
+# Check no errors because Compact allows 767 bytes
+ALTER TABLE tab ROW_FORMAT=COMPACT;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 'tab';
+
+# Check by SELECT, no errors
+SELECT * FROM tab;
+
+# Check no errors
+ALTER TABLE tab ROW_FORMAT=COMPRESSED;
+
+# Check by SELECT, no errors
+SELECT * FROM tab;
+
+# Check no errors
+ALTER TABLE tab ROW_FORMAT=Dynamic;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 'tab';
+
+# Cleanup
+DROP TABLE tab;
+
+SET GLOBAL innodb_default_row_format = @row_format;
+SET GLOBAL innodb_large_prefix = @large_prefix;
+SET GLOBAL innodb_file_format = @file_format;
diff --git a/mysql-test/suite/innodb/t/default_row_format_create.test b/mysql-test/suite/innodb/t/default_row_format_create.test
new file mode 100644
index 00000000000..e0981abf7eb
--- /dev/null
+++ b/mysql-test/suite/innodb/t/default_row_format_create.test
@@ -0,0 +1,28 @@
+--source include/have_innodb.inc
+--source include/innodb_row_format.inc
+
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
+CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/defrag_mdl-9155.test b/mysql-test/suite/innodb/t/defrag_mdl-9155.test
new file mode 100644
index 00000000000..1e1efb9c4c6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/defrag_mdl-9155.test
@@ -0,0 +1,22 @@
+#
+# MDEV-9155 Enabling Defragmenting in 10.1.8 still causes OPTIMIZE TABLE to take metadatalocks
+#
+source include/have_innodb.inc;
+source include/have_sequence.inc;
+
+set global innodb_defragment=1;
+create table t1 (a int not null primary key auto_increment, b varchar(256), key second(a, b)) engine=innodb;
+insert t1 select null, repeat('a', 256) from seq_1_to_100;
+select count(*) from t1;
+
+connect (con1,localhost,root);
+start transaction;
+select count(*) from t1;
+
+connection default;
+optimize table t1;
+
+connection con1;
+drop table t1;
+
+set global innodb_defragment=default;
diff --git a/mysql-test/suite/innodb/t/doublewrite.test b/mysql-test/suite/innodb/t/doublewrite.test
new file mode 100644
index 00000000000..aba3d6ecff5
--- /dev/null
+++ b/mysql-test/suite/innodb/t/doublewrite.test
@@ -0,0 +1,435 @@
+--echo #
+--echo # Bug #17335427 INNODB CAN NOT USE THE DOUBLEWRITE BUFFER PROPERLY
+--echo # Bug #18144349 INNODB CANNOT USE THE DOUBLEWRITE BUFFER FOR THE FIRST
+--echo # PAGE OF SYSTEM TABLESPACE
+--echo #
+
+--source include/innodb_page_size.inc
+--source include/have_debug.inc
+--source include/not_embedded.inc
+
+# Slow shutdown and restart to make sure ibuf merge is finished
+SET GLOBAL innodb_fast_shutdown = 0;
+--disable_query_log
+call mtr.add_suppression("space header page consists of zero bytes.*test.t1");
+call mtr.add_suppression("checksum mismatch in tablespace.*test.t1");
+call mtr.add_suppression("Current page size .* != page size on page");
+call mtr.add_suppression("innodb-page-size mismatch in tablespace.*test.t1");
+call mtr.add_suppression("InnoDB: New log files created");
+call mtr.add_suppression("InnoDB: Cannot create doublewrite buffer: the first file in innodb_data_file_path must be at least (3|6|12)M\\.");
+call mtr.add_suppression("InnoDB: Database creation was aborted");
+call mtr.add_suppression("Plugin 'InnoDB' (init function returned error|registration as a STORAGE ENGINE failed)");
+--enable_query_log
+--source include/restart_mysqld.inc
+
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+let MYSQLD_DATADIR=`select @@datadir`;
+let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
+let SEARCH_RANGE= -50000;
+
+show variables like 'innodb_doublewrite';
+show variables like 'innodb_fil_make_page_dirty_debug';
+show variables like 'innodb_saved_page_number_debug';
+
+create table t1 (f1 int primary key, f2 blob) engine=innodb;
+
+start transaction;
+insert into t1 values(1, repeat('#',12));
+insert into t1 values(2, repeat('+',12));
+insert into t1 values(3, repeat('/',12));
+insert into t1 values(4, repeat('-',12));
+insert into t1 values(5, repeat('.',12));
+commit work;
+
+--echo # ---------------------------------------------------------------
+--echo # Test Begin: Test if recovery works if first page of user
+--echo # tablespace is full of zeroes.
+
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+
+--echo # Ensure that dirty pages of table t1 is flushed.
+flush tables t1 for export;
+unlock tables;
+
+begin;
+insert into t1 values (6, repeat('%', 12));
+
+--source ../include/no_checkpoint_start.inc
+
+--echo # Make the first page dirty for table t1
+set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = @space_id;
+
+--echo # Ensure that dirty pages of table t1 are flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--let CLEANUP_IF_CHECKPOINT=drop table t1;
+--source ../include/no_checkpoint_end.inc
+
+--echo # Make the first page (page_no=0) of the user tablespace
+--echo # full of zeroes.
+--echo #
+--echo # MDEV-11623: Use old FSP_SPACE_FLAGS in the doublewrite buffer.
+
+perl;
+use IO::Handle;
+my $fname= "$ENV{'MYSQLD_DATADIR'}test/t1.ibd";
+my $page_size = $ENV{INNODB_PAGE_SIZE};
+my $page;
+open(FILE, "+<", $fname) or die;
+sysread(FILE, $page, $page_size)==$page_size||die "Unable to read $name\n";
+sysseek(FILE, 0, 0)||die "Unable to seek $fname\n";
+die unless syswrite(FILE, chr(0) x $page_size, $page_size) == $page_size;
+close FILE;
+
+open(FILE, "+<", "$ENV{MYSQLD_DATADIR}ibdata1")||die "cannot open ibdata1\n";
+sysseek(FILE, 6 * $page_size - 190, 0)||die "Unable to seek ibdata1\n";
+sysread(FILE, $_, 12) == 12||die "Unable to read TRX_SYS\n";
+my($magic,$d1,$d2)=unpack "NNN", $_;
+die "magic=$magic, $d1, $d2\n" unless $magic == 536853855 && $d2 >= $d1 + 64;
+sysseek(FILE, $d1 * $page_size, 0)||die "Unable to seek ibdata1\n";
+# Find the page in the doublewrite buffer
+for (my $d = $d1; $d < $d2 + 64; $d++)
+{
+ sysread(FILE, $_, $page_size)==$page_size||die "Cannot read doublewrite\n";
+ next unless $_ eq $page;
+ sysseek(FILE, $d * $page_size, 0)||die "Unable to seek ibdata1\n";
+ # Write buggy MariaDB 10.1.x FSP_SPACE_FLAGS to the doublewrite buffer
+ my($flags) = unpack "x[54]N", $_;
+ my $badflags = ($flags & 0x3f);
+ my $compression_level=6;
+ $badflags |= 1<<6|$compression_level<<7 if ($flags & 1 << 16);
+ $badflags |= ($flags & 15 << 6) << 7; # PAGE_SSIZE
+
+ substr ($_, 54, 4) = pack("N", $badflags);
+ # Replace the innodb_checksum_algorithm=none checksum
+ substr ($_, 0, 4) = pack("N", 0xdeadbeef);
+ substr ($_, $page_size - 8, 4) = pack("N", 0xdeadbeef);
+ syswrite(FILE, $_, $page_size)==$page_size||die;
+ close(FILE);
+ exit 0;
+}
+die "Did not find the page in the doublewrite buffer ($d1,$d2)\n";
+EOF
+
+--source include/start_mysqld.inc
+
+check table t1;
+select f1, f2 from t1;
+
+--echo # Test End
+--echo # ---------------------------------------------------------------
+--echo # Test Begin: Test if recovery works if first page of user
+--echo # tablespace is corrupted.
+
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+
+--echo # Ensure that dirty pages of table t1 is flushed.
+flush tables t1 for export;
+unlock tables;
+
+begin;
+insert into t1 values (6, repeat('%', 12));
+
+--source ../include/no_checkpoint_start.inc
+
+--echo # Make the first page dirty for table t1
+set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = @space_id;
+
+--echo # Ensure that dirty pages of table t1 are flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--source include/no_checkpoint_end.inc
+
+--echo # Corrupt the first page (page_no=0) of the user tablespace.
+perl;
+use IO::Handle;
+my $fname= "$ENV{'MYSQLD_DATADIR'}test/t1.ibd";
+open(FILE, "+<", $fname) or die;
+FILE->autoflush(1);
+binmode FILE;
+print FILE chr(0) x ($ENV{'INNODB_PAGE_SIZE'}/2);
+close FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+check table t1;
+select f1, f2 from t1;
+
+--echo # Test End
+--echo # ---------------------------------------------------------------
+--echo # Test Begin: Test if recovery works if 2nd page of user
+--echo # tablespace is full of zeroes.
+
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+
+--echo # Ensure that dirty pages of table t1 is flushed.
+flush tables t1 for export;
+unlock tables;
+
+begin;
+insert into t1 values (6, repeat('%', 400));
+
+--source ../include/no_checkpoint_start.inc
+
+--echo # Make the 2nd page dirty for table t1
+set global innodb_saved_page_number_debug = 1;
+set global innodb_fil_make_page_dirty_debug = @space_id;
+
+--echo # Ensure that dirty pages of table t1 are flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--source include/no_checkpoint_end.inc
+
+--echo # Make the 2nd page (page_no=1) of the tablespace all zeroes.
+perl;
+use IO::Handle;
+my $fname= "$ENV{'MYSQLD_DATADIR'}test/t1.ibd";
+open(FILE, "+<", $fname) or die;
+FILE->autoflush(1);
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'}, SEEK_SET);
+print FILE chr(0) x ($ENV{'INNODB_PAGE_SIZE'});
+close FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+check table t1;
+select f1, f2 from t1;
+
+--echo # Test End
+--echo # ---------------------------------------------------------------
+--echo # Test Begin: Test if recovery works if 2nd page of user
+--echo # tablespace is corrupted.
+
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+
+--echo # Ensure that dirty pages of table t1 is flushed.
+flush tables t1 for export;
+unlock tables;
+
+begin;
+insert into t1 values (6, repeat('%', 400));
+
+--source ../include/no_checkpoint_start.inc
+
+--echo # Make the 2nd page dirty for table t1
+set global innodb_saved_page_number_debug = 1;
+set global innodb_fil_make_page_dirty_debug = @space_id;
+
+--echo # Ensure that the dirty pages of table t1 are flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--source include/no_checkpoint_end.inc
+
+--echo # Corrupt the 2nd page (page_no=1) of the user tablespace.
+perl;
+use IO::Handle;
+my $fname= "$ENV{'MYSQLD_DATADIR'}test/t1.ibd";
+open(FILE, "+<", $fname) or die;
+FILE->autoflush(1);
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'}, SEEK_SET);
+print FILE chr(0) x ($ENV{'INNODB_PAGE_SIZE'}/2);
+close FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+check table t1;
+select f1, f2 from t1;
+
+--echo # Test End
+--echo # ---------------------------------------------------------------
+--echo # Test Begin: Test if recovery works if first page of
+--echo # system tablespace is full of zeroes.
+
+begin;
+insert into t1 values (6, repeat('%', 400));
+
+--echo # Ensure that all dirty pages in the system are flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--echo # Make the first page dirty for system tablespace
+set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = 0;
+
+--echo # Ensure that the dirty page of system tablespace is also flushed.
+# We do this after the transaction starts and all dirty pages have been flushed
+# already. So flushing of this specified dirty page will surely keep the
+# copy in doublewrite buffer, and no more writes to doublewrite buffer would
+# overwrite the copy. Thus, we can safely modify the original page when server
+# is down. So do the following testings.
+set global innodb_buf_flush_list_now = 1;
+
+--source include/kill_mysqld.inc
+
+--echo # Make the first page (page_no=0) of the system tablespace
+--echo # all zeroes.
+perl;
+use IO::Handle;
+my $fname= "$ENV{'MYSQLD_DATADIR'}ibdata1";
+open(FILE, "+<", $fname) or die;
+FILE->autoflush(1);
+binmode FILE;
+print FILE chr(0) x ($ENV{'INNODB_PAGE_SIZE'});
+close FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+check table t1;
+select f1, f2 from t1;
+
+--echo # Test End
+--echo # ---------------------------------------------------------------
+--echo # Test Begin: Test if recovery works if first page of
+--echo # system tablespace is corrupted.
+
+begin;
+insert into t1 values (6, repeat('%', 400));
+
+--echo # Ensure that all dirty pages in the system are flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--echo # Make the first page dirty for system tablespace
+set global innodb_saved_page_number_debug = 0;
+set global innodb_fil_make_page_dirty_debug = 0;
+
+--echo # Ensure that the dirty page of system tablespace is also flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--source include/kill_mysqld.inc
+
+--echo # Corrupt the first page (page_no=0) of the system tablespace.
+perl;
+use IO::Handle;
+my $fname= "$ENV{'MYSQLD_DATADIR'}ibdata1";
+open(FILE, "+<", $fname) or die;
+FILE->autoflush(1);
+binmode FILE;
+print FILE chr(0) x ($ENV{'INNODB_PAGE_SIZE'}/2);
+close FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+check table t1;
+select f1, f2 from t1;
+
+--echo # Test End
+--echo # ---------------------------------------------------------------
+--echo # Test Begin: Test if recovery works if 2nd page of
+--echo # system tablespace is full of zeroes.
+
+begin;
+insert into t1 values (6, repeat('%', 400));
+
+--echo # Ensure that all dirty pages in the system are flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--echo # Make the second page dirty for system tablespace
+set global innodb_saved_page_number_debug = 1;
+set global innodb_fil_make_page_dirty_debug = 0;
+
+--echo # Ensure that the dirty page of system tablespace is also flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--source include/kill_mysqld.inc
+
+--echo # Make the 2nd page (page_no=1) of the system tablespace
+--echo # all zeroes.
+perl;
+use IO::Handle;
+my $fname= "$ENV{'MYSQLD_DATADIR'}ibdata1";
+open(FILE, "+<", $fname) or die;
+FILE->autoflush(1);
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'}, SEEK_SET);
+print FILE chr(0) x ($ENV{'INNODB_PAGE_SIZE'});
+close FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+check table t1;
+select f1, f2 from t1;
+
+--echo # Test End
+--echo # ---------------------------------------------------------------
+--echo # Test Begin: Test if recovery works if 2nd page of
+--echo # system tablespace is corrupted.
+
+begin;
+insert into t1 values (6, repeat('%', 400));
+
+--echo # Ensure that all dirty pages in the system are flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--echo # Make the second page dirty for system tablespace
+set global innodb_saved_page_number_debug = 1;
+set global innodb_fil_make_page_dirty_debug = 0;
+
+--echo # Ensure that the dirty page of system tablespace is also flushed.
+set global innodb_buf_flush_list_now = 1;
+
+--source include/kill_mysqld.inc
+
+--echo # Make the 2nd page (page_no=1) of the system tablespace
+--echo # all zeroes.
+perl;
+use IO::Handle;
+my $fname= "$ENV{'MYSQLD_DATADIR'}ibdata1";
+open(FILE, "+<", $fname) or die;
+FILE->autoflush(1);
+binmode FILE;
+seek(FILE, $ENV{'INNODB_PAGE_SIZE'}, SEEK_SET);
+print FILE chr(0) x ($ENV{'INNODB_PAGE_SIZE'}/2);
+close FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+check table t1;
+--let SEARCH_PATTERN= \[ERROR\] InnoDB: .* in tablespace.*test.t1.*
+--source include/search_pattern_in_file.inc
+
+select f1, f2 from t1;
+
+drop table t1;
+
+--echo #
+--echo # MDEV-12600 crash during install_db with innodb_page_size=32K
+--echo # and ibdata1=3M
+--echo #
+let bugdir= $MYSQLTEST_VARDIR/tmp/doublewrite;
+--mkdir $bugdir
+
+let $check_no_innodb=SELECT * FROM INFORMATION_SCHEMA.ENGINES
+WHERE engine = 'innodb'
+AND support IN ('YES', 'DEFAULT', 'ENABLED');
+
+--let $ibp=--innodb-log-group-home-dir=$bugdir --innodb-data-home-dir=$bugdir
+--let $ibd=$ibp --innodb-undo-tablespaces=0 --innodb-log-files-in-group=2
+--let $ibp=$ibp --innodb-data-file-path=ibdata1:1M;ibdata2:1M:autoextend
+
+--let $restart_parameters= $ibp
+--source include/restart_mysqld.inc
+eval $check_no_innodb;
+--let SEARCH_PATTERN= \[ERROR\] InnoDB: Cannot create doublewrite buffer
+--source include/search_pattern_in_file.inc
+--let $restart_parameters=
+--source include/restart_mysqld.inc
+
+--remove_file $bugdir/ibdata1
+--remove_file $bugdir/ibdata2
+--remove_file $bugdir/ib_logfile0
+--remove_file $bugdir/ib_logfile1
+--rmdir $bugdir
diff --git a/mysql-test/suite/innodb/t/drop_table_background.test b/mysql-test/suite/innodb/t/drop_table_background.test
new file mode 100644
index 00000000000..0f596dec574
--- /dev/null
+++ b/mysql-test/suite/innodb/t/drop_table_background.test
@@ -0,0 +1,30 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+# Embedded server does not support restarting
+--source include/not_embedded.inc
+
+CREATE TABLE t(c0 SERIAL, c1 INT, c2 INT, c3 INT, c4 INT,
+KEY(c1), KEY(c2), KEY(c2,c1),
+KEY(c3), KEY(c3,c1), KEY(c3,c2), KEY(c3,c2,c1),
+KEY(c4), KEY(c4,c1), KEY(c4,c2), KEY(c4,c2,c1),
+KEY(c4,c3), KEY(c4,c3,c1), KEY(c4,c3,c2), KEY(c4,c3,c2,c1)) ENGINE=InnoDB;
+
+let $n= 10;
+
+SET DEBUG_DBUG='+d,row_drop_table_add_to_background';
+--disable_query_log
+let $i= $n;
+while ($i) {
+ eval CREATE TABLE t$i LIKE t;
+ dec $i;
+}
+let $i= $n;
+while ($i) {
+ eval DROP TABLE t$i;
+ dec $i;
+}
+--enable_query_log
+DROP TABLE t;
+--source include/restart_mysqld.inc
+CREATE TABLE t (a INT) ENGINE=InnoDB;
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/t/fake_changes-7000.test b/mysql-test/suite/innodb/t/fake_changes-7000.test
new file mode 100644
index 00000000000..2be6be2d476
--- /dev/null
+++ b/mysql-test/suite/innodb/t/fake_changes-7000.test
@@ -0,0 +1,9 @@
+--source include/have_log_bin.inc
+--source include/have_xtradb.inc
+
+create table t1 (i int) engine=InnoDB;
+set innodb_fake_changes = 1;
+--disable_abort_on_error
+insert into t1 values (1);
+set innodb_fake_changes = 0;
+drop table t1;
diff --git a/mysql-test/suite/innodb/t/file_format_defaults-master.opt b/mysql-test/suite/innodb/t/file_format_defaults-master.opt
new file mode 100644
index 00000000000..202ecee6d48
--- /dev/null
+++ b/mysql-test/suite/innodb/t/file_format_defaults-master.opt
@@ -0,0 +1 @@
+--innodb_large_prefix=OFF --innodb_file_format=barracuda --innodb-file-format-check=off --innodb-file-format-max=antelope
diff --git a/mysql-test/suite/innodb/t/file_format_defaults.test b/mysql-test/suite/innodb/t/file_format_defaults.test
new file mode 100644
index 00000000000..c16ca068e46
--- /dev/null
+++ b/mysql-test/suite/innodb/t/file_format_defaults.test
@@ -0,0 +1,73 @@
+#***********************************************************
+# WL#7703:
+# Check the max key length 3072 when innodb_large_prefix=ON
+# Check boundary value of max key length 3073
+# When innodb_file_format=Antelope, compress DDLs fails
+# Check file_format_max becomes Barracuda on DDL operation
+# on compression table.
+#***********************************************************
+-- source include/have_innodb.inc
+-- source include/have_innodb_16k.inc
+
+# Check some default settings
+SELECT @@innodb_strict_mode;
+
+SELECT @@innodb_file_per_table;
+
+SET @file_format = @@GLOBAL.innodb_file_format;
+
+SET GLOBAL innodb_large_prefix=ON;
+SET SQL_MODE=strict_all_tables;
+
+CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+SHOW CREATE TABLE tab0;
+DROP TABLE tab0;
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB KEY_BLOCK_SIZE=2;
+
+SET GLOBAL innodb_file_format=Antelope;
+
+# WL#8307 Make ROW_FORMAT=DYNAMIC the default
+# will allow ROW_FORMAT=DYNAMIC even if innodb_file_format=Antelope.
+CREATE TABLE tab0(c1 INT,c2 LONGBLOB ) ENGINE=InnoDB ROW_FORMAT=Dynamic;
+DROP TABLE tab0;
+
+SET GLOBAL innodb_file_format=Default;
+
+SELECT @@innodb_file_format;
+
+SET GLOBAL innodb_strict_mode=OFF;
+
+# Check with default value
+SET GLOBAL innodb_strict_mode=Default;
+
+SELECT @@innodb_strict_mode;
+
+SET GLOBAL innodb_large_prefix=OFF;
+
+SELECT @@innodb_large_prefix;
+
+SET GLOBAL innodb_large_prefix=Default;
+
+# Check with default value
+SELECT @@innodb_large_prefix;
+
+SET GLOBAL innodb_file_format_max=Default;
+
+# Check with default value
+SELECT @@innodb_file_format_max;
+
+CREATE TABLE tab1(c1 int ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+
+# Check file format changed to Barracuda, on DDL operation
+SELECT @@innodb_file_format_max;
+
+SET GLOBAL innodb_file_format_max=Default;
+
+# Restore to the value that we explicitly used at startup.
+SET GLOBAL innodb_large_prefix=off;
+
+SET GLOBAL innodb_file_format = @file_format;
+
+DROP TABLE tab1;
diff --git a/mysql-test/suite/innodb/t/foreign-keys.test b/mysql-test/suite/innodb/t/foreign-keys.test
index 2d586e2d6be..a19fe3876f3 100644
--- a/mysql-test/suite/innodb/t/foreign-keys.test
+++ b/mysql-test/suite/innodb/t/foreign-keys.test
@@ -1,5 +1,8 @@
--source include/have_innodb.inc
--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+--enable_connect_log
--echo #
--echo # Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE
@@ -24,3 +27,134 @@ ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people`
(`people_id`);
drop table title, department, people;
+
+#
+# FK and prelocking:
+# child table accesses (reads and writes) wait for locks.
+#
+create table t1 (a int primary key, b int) engine=innodb;
+create table t2 (c int primary key, d int,
+ foreign key (d) references t1 (a) on update cascade) engine=innodb;
+insert t1 values (1,1),(2,2),(3,3);
+insert t2 values (4,1),(5,2),(6,3);
+flush table t2 with read lock; # this takes MDL_SHARED_NO_WRITE
+connect (con1,localhost,root);
+--error ER_ROW_IS_REFERENCED_2
+delete from t1 where a=2;
+send update t1 set a=10 where a=1;
+connection default;
+let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock';
+source include/wait_condition.inc;
+unlock tables;
+connection con1;
+reap;
+connection default;
+lock table t2 write; # this takes MDL_SHARED_NO_READ_WRITE
+connection con1;
+send delete from t1 where a=2;
+connection default;
+let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock';
+source include/wait_condition.inc;
+unlock tables;
+connection con1;
+--error ER_ROW_IS_REFERENCED_2
+reap;
+connection default;
+unlock tables;
+disconnect con1;
+
+# but privileges should not be checked
+create user foo;
+grant select,update on test.t1 to foo;
+connect(foo,localhost,foo);
+update t1 set a=30 where a=3;
+disconnect foo;
+connection default;
+select * from t2;
+drop table t2, t1;
+drop user foo;
+
+#
+# MDEV-16465 Invalid (old?) table or database name or hang in ha_innobase::delete_table and log semaphore wait upon concurrent DDL with foreign keys
+#
+create table t1 (f1 int primary key) engine=innodb;
+create table t2 (f2 int primary key) engine=innodb;
+create table t3 (f3 int primary key, foreign key (f3) references t2(f2)) engine=innodb;
+insert into t1 values (1),(2),(3),(4),(5);
+insert into t2 values (1),(2),(3),(4),(5);
+insert into t3 values (1),(2),(3),(4),(5);
+connect con1,localhost,root;
+set debug_sync='alter_table_before_rename_result_table signal g1 wait_for g2';
+send alter table t2 add constraint foreign key (f2) references t1(f1) on delete cascade on update cascade;
+connection default;
+let $conn=`select connection_id()`;
+set debug_sync='before_execute_sql_command wait_for g1';
+send update t1 set f1 = f1 + 100000 limit 2;
+connect con2,localhost,root;
+let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock' and info like 'update t1 %';
+source include/wait_condition.inc;
+--replace_result $conn UPDATE
+eval kill query $conn;
+disconnect con2;
+connection default;
+error ER_QUERY_INTERRUPTED;
+reap;
+set debug_sync='now signal g2';
+connection con1;
+reap;
+show create table t2;
+disconnect con1;
+connection default;
+select * from t2 where f2 not in (select f1 from t1);
+select * from t3 where f3 not in (select f2 from t2);
+drop table t3;
+drop table t2;
+drop table t1;
+set debug_sync='reset';
+
+
+--echo #
+--echo # MDEV-17595 - Server crashes in copy_data_between_tables or
+--echo # Assertion `thd->transaction.stmt.is_empty() ||
+--echo # (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)'
+--echo # fails in close_tables_for_reopen upon concurrent
+--echo # ALTER TABLE and FLUSH
+--echo #
+CREATE TABLE t1 (a INT, KEY(a)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1),(2);
+CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(2);
+ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE;
+DROP TABLE t2, t1;
+
+
+--echo #
+--echo # MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name)
+--echo #
+CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 LIKE t1;
+FLUSH TABLES;
+
+SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go';
+send ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE;
+
+connect con1, localhost, root;
+SET debug_sync='now WAIT_FOR ready';
+SET lock_wait_timeout=1; # change to 0 in 10.3
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE t2 SET pk=10 WHERE pk=1;
+PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1';
+DEALLOCATE PREPARE stmt;
+FLUSH TABLE t2;
+SET debug_sync='now SIGNAL go';
+
+connection default;
+reap;
+
+# Cleanup
+disconnect con1;
+
+connection default;
+SET debug_sync='reset';
+SHOW OPEN TABLES FROM test;
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/innodb/t/foreign_key.test b/mysql-test/suite/innodb/t/foreign_key.test
index 281193d60ec..08fe44911b5 100644
--- a/mysql-test/suite/innodb/t/foreign_key.test
+++ b/mysql-test/suite/innodb/t/foreign_key.test
@@ -1,5 +1,119 @@
--source include/have_innodb.inc
+#
+# MDEV-12669 Circular foreign keys cause a loop and OOM upon LOCK TABLE
+#
+SET FOREIGN_KEY_CHECKS=0;
+CREATE TABLE staff (
+ staff_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
+ store_id TINYINT UNSIGNED NOT NULL,
+ PRIMARY KEY (staff_id),
+ KEY idx_fk_store_id (store_id),
+ CONSTRAINT fk_staff_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE RESTRICT ON UPDATE CASCADE
+) ENGINE=InnoDB;
+CREATE TABLE store (
+ store_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
+ manager_staff_id TINYINT UNSIGNED NOT NULL,
+ PRIMARY KEY (store_id),
+ UNIQUE KEY idx_unique_manager (manager_staff_id),
+ CONSTRAINT fk_store_staff FOREIGN KEY (manager_staff_id) REFERENCES staff (staff_id) ON DELETE RESTRICT ON UPDATE CASCADE
+) ENGINE=InnoDB;
+SET FOREIGN_KEY_CHECKS=DEFAULT;
+
+LOCK TABLE staff WRITE;
+UNLOCK TABLES;
+DROP TABLES staff, store;
+
+SET FOREIGN_KEY_CHECKS=1;
+
+--echo #
+--echo # MDEV-17531 Crash in RENAME TABLE with FOREIGN KEY and FULLTEXT INDEX
+--echo #
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: Error; possible reasons:");
+--enable_query_log
+
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE DATABASE best;
+CREATE TABLE t3 (a INT PRIMARY KEY,
+CONSTRAINT t2_ibfk_1 FOREIGN KEY (a) REFERENCES t1(a)) ENGINE=InnoDB;
+CREATE TABLE best.t2 (a INT PRIMARY KEY, b TEXT, FULLTEXT INDEX(b),
+FOREIGN KEY (a) REFERENCES test.t1(a)) ENGINE=InnoDB;
+--replace_regex /Table '.*t2'/Table 't2'/
+--error ER_TABLE_EXISTS_ERROR
+RENAME TABLE best.t2 TO test.t2;
+SHOW CREATE TABLE best.t2;
+DROP DATABASE best;
+
+--echo #
+--echo # MDEV-17541 KILL QUERY during lock wait in FOREIGN KEY check hangs
+--echo #
+connect (fk, localhost, root,,);
+INSERT INTO t1 SET a=1;
+BEGIN;
+DELETE FROM t1;
+
+connection default;
+let $ID= `SELECT @id := CONNECTION_ID()`;
+send INSERT INTO t3 SET a=1;
+
+connection fk;
+# Check that the above SELECT is blocked
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = 'update' and info = 'INSERT INTO t3 SET a=1';
+--source include/wait_condition.inc
+let $ignore= `SELECT @id := $ID`;
+kill query @id;
+
+connection default;
+--error ER_QUERY_INTERRUPTED
+reap;
+disconnect fk;
+
+DROP TABLE t3,t1;
+
+--echo #
+--echo # MDEV-18222 InnoDB: Failing assertion: heap->magic_n == MEM_BLOCK_MAGIC_N
+--echo # or ASAN heap-use-after-free in dict_foreign_remove_from_cache upon CHANGE COLUMN
+--echo #
+CREATE TABLE t1 (a INT, UNIQUE(a), KEY(a)) ENGINE=InnoDB;
+ALTER TABLE t1 ADD FOREIGN KEY (a) REFERENCES t1 (a);
+SET SESSION FOREIGN_KEY_CHECKS = OFF;
+ALTER TABLE t1 CHANGE COLUMN a a TIME NOT NULL;
+ALTER TABLE t1 ADD pk INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
+ALTER TABLE t1 CHANGE COLUMN a b TIME;
+SET SESSION FOREIGN_KEY_CHECKS = ON;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-18256 InnoDB: Failing assertion: heap->magic_n == MEM_BLOCK_MAGIC_N
+--echo # upon DROP FOREIGN KEY
+--echo #
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (b INT PRIMARY KEY, FOREIGN KEY fk1 (b) REFERENCES t1 (a))
+ENGINE=InnoDB;
+ALTER TABLE t2 DROP FOREIGN KEY fk1, DROP FOREIGN KEY fk1;
+DROP TABLE t2, t1;
+
+CREATE TABLE t1 (f VARCHAR(256)) ENGINE=InnoDB;
+SET SESSION FOREIGN_KEY_CHECKS = OFF;
+ALTER TABLE t1 ADD FOREIGN KEY (f) REFERENCES non_existing_table (x);
+SET SESSION FOREIGN_KEY_CHECKS = ON;
+ALTER TABLE t1 ADD FULLTEXT INDEX ft1 (f);
+ALTER TABLE t1 ADD FULLTEXT INDEX ft2 (f);
+DROP TABLE t1;
+
+CREATE TABLE t1 (f VARCHAR(256), FTS_DOC_ID BIGINT UNSIGNED PRIMARY KEY)
+ENGINE=InnoDB;
+SET SESSION FOREIGN_KEY_CHECKS = OFF;
+ALTER TABLE t1 ADD FOREIGN KEY (f) REFERENCES non_existing_table (x);
+SET SESSION FOREIGN_KEY_CHECKS = ON;
+ALTER TABLE t1 ADD FULLTEXT INDEX ft1 (f);
+ALTER TABLE t1 ADD FULLTEXT INDEX ft2 (f);
+DROP TABLE t1;
+
--echo #
--echo # MDEV-18630 Conditional jump or move depends on uninitialised value
--echo # in ib_push_warning / dict_create_foreign_constraints_low
diff --git a/mysql-test/suite/innodb/t/group_commit.test b/mysql-test/suite/innodb/t/group_commit.test
index 07aac2a619e..692e06f38b8 100644
--- a/mysql-test/suite/innodb/t/group_commit.test
+++ b/mysql-test/suite/innodb/t/group_commit.test
@@ -27,7 +27,7 @@ connect(con6,localhost,root,,);
# group2 to queue up before finishing.
connection con1;
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group1_running WAIT_FOR group2_queued";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group1_running WAIT_FOR group2_queued";
send INSERT INTO t1 VALUES ("con1");
# Make group2 (with three threads) queue up.
@@ -37,7 +37,7 @@ send INSERT INTO t1 VALUES ("con1");
connection con2;
set DEBUG_SYNC= "now WAIT_FOR group1_running";
SET DEBUG_SYNC= "commit_after_prepare_ordered SIGNAL group2_con2";
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group2_running";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group2_running";
SET DEBUG_SYNC= "commit_after_release_LOCK_log WAIT_FOR group3_committed";
SET DEBUG_SYNC= "commit_after_group_run_commit_ordered SIGNAL group2_visible WAIT_FOR group2_checked";
send INSERT INTO t1 VALUES ("con2");
@@ -69,7 +69,7 @@ connection default;
SELECT * FROM t1 ORDER BY a;
connection con5;
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group3_con5";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group3_con5";
SET DEBUG_SYNC= "commit_after_get_LOCK_log SIGNAL con5_leader WAIT_FOR con6_queued";
set DEBUG_SYNC= "now WAIT_FOR group2_running";
send INSERT INTO t1 VALUES ("con5");
diff --git a/mysql-test/suite/innodb/t/group_commit_binlog_pos.test b/mysql-test/suite/innodb/t/group_commit_binlog_pos.test
index 72798a68a1e..f1332d6dd6a 100644
--- a/mysql-test/suite/innodb/t/group_commit_binlog_pos.test
+++ b/mysql-test/suite/innodb/t/group_commit_binlog_pos.test
@@ -2,6 +2,7 @@
--source include/have_debug_sync.inc
--source include/have_log_bin.inc
--source include/have_binlog_format_mixed_or_statement.inc
+--source include/binlog_start_pos.inc
# Need DBUG to crash the server intentionally
--source include/have_debug.inc
@@ -17,6 +18,19 @@
# Test that we get the correct position when we group commit several
# transactions together.
+# What we really want to test here is what happens when a group of
+# transactions get written only partially to disk inside InnoDB before
+# the crash. But that is hard to test in mysql-test-run automated
+# tests. Instead, we use debug_sync to tightly control when each
+# transaction is written to the redo log. And we set
+# innodb_flush_log_at_trx_commit=3 so that we can write out
+# transactions individually - as with
+# innodb_flush_log_at_trx_commit=1, all commits are written together,
+# as part of a commit_checkpoint.
+# (Note that we do not have to restore innodb_flush_log_at_trx_commit, as
+# we crash the server).
+SET GLOBAL innodb_flush_log_at_trx_commit=3;
+
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb;
INSERT INTO t1 VALUES (0);
@@ -83,6 +97,8 @@ SELECT * FROM t1 ORDER BY a;
# for the end of the second transaction (as can be checked with
# mysqlbinlog).
let $MYSQLD_DATADIR= `SELECT @@datadir`;
+let pos=`select $binlog_start_pos + 678`;
+--replace_result $pos <pos>
--exec grep 'InnoDB: Last MySQL binlog file position' $MYSQLD_DATADIR/../../log/mysqld.1.err | tail -1
SET DEBUG_SYNC= 'RESET';
diff --git a/mysql-test/suite/innodb/t/group_commit_binlog_pos_no_optimize_thread.test b/mysql-test/suite/innodb/t/group_commit_binlog_pos_no_optimize_thread.test
index e9a234577e2..db49c3a9a31 100644
--- a/mysql-test/suite/innodb/t/group_commit_binlog_pos_no_optimize_thread.test
+++ b/mysql-test/suite/innodb/t/group_commit_binlog_pos_no_optimize_thread.test
@@ -2,6 +2,7 @@
--source include/have_debug_sync.inc
--source include/have_log_bin.inc
--source include/have_binlog_format_mixed_or_statement.inc
+--source include/binlog_start_pos.inc
# Need DBUG to crash the server intentionally
--source include/have_debug.inc
@@ -17,6 +18,19 @@
# Test that we get the correct position when we group commit several
# transactions together.
+# What we really want to test here is what happens when a group of
+# transactions get written only partially to disk inside InnoDB before
+# the crash. But that is hard to test in mysql-test-run automated
+# tests. Instead, we use debug_sync to tightly control when each
+# transaction is written to the redo log. And we set
+# innodb_flush_log_at_trx_commit=3 so that we can write out
+# transactions individually - as with
+# innodb_flush_log_at_trx_commit=1, all commits are written together,
+# as part of a commit_checkpoint.
+# (Note that we do not have to restore innodb_flush_log_at_trx_commit, as
+# we crash the server).
+SET GLOBAL innodb_flush_log_at_trx_commit=3;
+
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb;
INSERT INTO t1 VALUES (0);
@@ -84,7 +98,8 @@ SELECT * FROM t1 ORDER BY a;
# for the end of the second transaction (as can be checked with
# mysqlbinlog).
let $MYSQLD_DATADIR= `SELECT @@datadir`;
+let pos=`select $binlog_start_pos + 678`;
+--replace_result $pos <pos>
--exec grep 'InnoDB: Last MySQL binlog file position' $MYSQLD_DATADIR/../../log/mysqld.1.err | tail -1
-
SET DEBUG_SYNC= 'RESET';
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/group_commit_crash.test b/mysql-test/suite/innodb/t/group_commit_crash.test
index 12c92d19244..7ad0d9d1e74 100644
--- a/mysql-test/suite/innodb/t/group_commit_crash.test
+++ b/mysql-test/suite/innodb/t/group_commit_crash.test
@@ -66,7 +66,7 @@ while ($numtests)
# table and binlog should be in sync.
SELECT * FROM t1 ORDER BY id;
--replace_column 2 # 5 #
- SHOW BINLOG EVENTS LIMIT 2,1;
+ SHOW BINLOG EVENTS LIMIT 4,1;
delete from t1;
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 2de09d6b0b6..9dc2557e687 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
@@ -66,7 +66,7 @@ while ($numtests)
# table and binlog should be in sync.
SELECT * FROM t1 ORDER BY id;
--replace_column 2 # 5 #
- SHOW BINLOG EVENTS LIMIT 2,1;
+ SHOW BINLOG EVENTS LIMIT 4,1;
delete from t1;
diff --git a/mysql-test/suite/innodb/t/group_commit_no_optimize_thread.test b/mysql-test/suite/innodb/t/group_commit_no_optimize_thread.test
index 7bee6b8b177..85c0e295424 100644
--- a/mysql-test/suite/innodb/t/group_commit_no_optimize_thread.test
+++ b/mysql-test/suite/innodb/t/group_commit_no_optimize_thread.test
@@ -27,7 +27,7 @@ connect(con6,localhost,root,,);
# group2 to queue up before finishing.
connection con1;
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group1_running WAIT_FOR group2_queued";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group1_running WAIT_FOR group2_queued";
send INSERT INTO t1 VALUES ("con1");
# Make group2 (with three threads) queue up.
@@ -37,7 +37,7 @@ send INSERT INTO t1 VALUES ("con1");
connection con2;
set DEBUG_SYNC= "now WAIT_FOR group1_running";
SET DEBUG_SYNC= "commit_after_prepare_ordered SIGNAL group2_con2";
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group2_running";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group2_running";
SET DEBUG_SYNC= "commit_after_release_LOCK_log WAIT_FOR group3_committed";
send INSERT INTO t1 VALUES ("con2");
connection con3;
@@ -69,7 +69,7 @@ connection default;
SELECT * FROM t1 ORDER BY a;
connection con5;
-SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL group3_con5";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group3_con5";
SET DEBUG_SYNC= "commit_after_get_LOCK_log SIGNAL con5_leader WAIT_FOR con6_queued";
set DEBUG_SYNC= "now WAIT_FOR group2_running";
send INSERT INTO t1 VALUES ("con5");
diff --git a/mysql-test/suite/innodb/t/help_url.test b/mysql-test/suite/innodb/t/help_url.test
new file mode 100644
index 00000000000..bcf74c31619
--- /dev/null
+++ b/mysql-test/suite/innodb/t/help_url.test
@@ -0,0 +1,8 @@
+#
+# MDEV-4273 MYSQL_VERSION_MAJOR.MYSQL_VERSION_MINOR not replaced
+#
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+create table innodb_table_monitor (a int) engine=InnoDB;
+drop table innodb_table_monitor;
diff --git a/mysql-test/suite/innodb/t/index_tree_operation.opt b/mysql-test/suite/innodb/t/index_tree_operation.opt
new file mode 100644
index 00000000000..66bceccc683
--- /dev/null
+++ b/mysql-test/suite/innodb/t/index_tree_operation.opt
@@ -0,0 +1 @@
+--innodb-sys-tablespaces
diff --git a/mysql-test/suite/innodb/t/index_tree_operation.test b/mysql-test/suite/innodb/t/index_tree_operation.test
new file mode 100644
index 00000000000..b9695db9346
--- /dev/null
+++ b/mysql-test/suite/innodb/t/index_tree_operation.test
@@ -0,0 +1,74 @@
+-- source include/have_innodb.inc
+-- source include/have_innodb_16k.inc
+--echo #
+--echo # Bug#15923864 (Bug#67718):
+--echo # INNODB DRASTICALLY UNDER-FILLS PAGES IN CERTAIN CONDITIONS
+--echo #
+# InnoDB should try to insert to the next page before split,
+# if the insert record for split_and_insert is last of the page.
+# Otherwise, the follwing records 999,998,997 cause each page per record.
+#
+
+--disable_query_log
+SET @old_innodb_file_per_table = @@innodb_file_per_table;
+--enable_query_log
+
+SET GLOBAL innodb_file_per_table=ON;
+
+CREATE TABLE t1 (a BIGINT PRIMARY KEY, b VARCHAR(4096)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (0, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (1000, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (1001, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (1002, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (1, REPEAT('a', 4096));
+INSERT INTO t1 VALUES (2, REPEAT('a', 4096));
+
+# | 0, 1, 2 | 1000, 1001, 1002|
+
+SELECT page_number, number_records
+FROM information_schema.innodb_sys_tablespaces s1,
+information_schema.innodb_buffer_page s2
+WHERE s1.space = s2.space AND name = 'test/t1'
+AND page_type = "INDEX" ORDER BY page_number;
+
+INSERT INTO t1 VALUES (999, REPEAT('a', 4096));
+
+# try to insert '999' to the end of '0,1,2' page, but no space
+# the next '1000,1001,1002' page has also no space.
+# | 0, 1, 2 | 999 | 1000, 1001, 1002|
+
+SELECT page_number, number_records
+FROM information_schema.innodb_sys_tablespaces s1,
+information_schema.innodb_buffer_page s2
+WHERE s1.space = s2.space AND name = 'test/t1'
+AND page_type = "INDEX" ORDER BY page_number;
+
+
+INSERT INTO t1 VALUES (998, REPEAT('a', 4096));
+
+# try to insert to the end of '0,1,2' page, but no space
+# the next '998' page has space.
+# | 0, 1, 2 | 998, 999 | 1000, 1001, 1002|
+
+SELECT page_number, number_records
+FROM information_schema.innodb_sys_tablespaces s1,
+information_schema.innodb_buffer_page s2
+WHERE s1.space = s2.space AND name = 'test/t1'
+AND page_type = "INDEX" ORDER BY page_number;
+
+INSERT INTO t1 VALUES (997, REPEAT('a', 4096));
+
+# same
+# | 0, 1, 2 | 997, 998, 999 | 1000, 1001, 1002|
+
+SELECT page_number, number_records
+FROM information_schema.innodb_sys_tablespaces s1,
+information_schema.innodb_buffer_page s2
+WHERE s1.space = s2.space AND name = 'test/t1'
+AND page_type = "INDEX" ORDER BY page_number;
+
+DROP TABLE t1;
+
+--disable_query_log
+SET GLOBAL innodb_file_per_table = @old_innodb_file_per_table;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innochecksum.opt b/mysql-test/suite/innodb/t/innochecksum.opt
new file mode 100644
index 00000000000..cc738d97434
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innochecksum.opt
@@ -0,0 +1,2 @@
+--innodb_file_per_table=1
+--innodb_file_format=Barracuda
diff --git a/mysql-test/suite/innodb/t/innochecksum.test b/mysql-test/suite/innodb/t/innochecksum.test
new file mode 100644
index 00000000000..11720ce926d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innochecksum.test
@@ -0,0 +1,74 @@
+#
+# Test innochecksum
+#
+
+# Don't test under embedded
+source include/not_embedded.inc;
+# Require InnoDB
+source include/have_innodb.inc;
+
+if (!$INNOCHECKSUM) {
+ --echo Need innochecksum binary
+ --die Need innochecksum binary
+}
+
+--echo # Create and populate a table
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
+INSERT INTO t1 (b) VALUES ('corrupt me');
+--disable_query_log
+--let $i = 1000
+while ($i)
+{
+ INSERT INTO t1 (b) VALUES (REPEAT('abcdefghijklmnopqrstuvwxyz', 100));
+ dec $i;
+}
+--enable_query_log
+INSERT INTO t1 (b) VALUES ('corrupt me');
+
+CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT)
+ROW_FORMAT=COMPRESSED ENGINE=InnoDB ;
+
+INSERT INTO t2(b) SELECT b from t1;
+
+CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT)
+ROW_FORMAT=COMPRESSED ENGINE=InnoDB KEY_BLOCK_SIZE=16;
+
+INSERT INTO t3(b) SELECT b from t1;
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
+let t2_IBD = $MYSQLD_DATADIR/test/t2.ibd;
+let t3_IBD = $MYSQLD_DATADIR/test/t3.ibd;
+
+--echo # Write file to make mysql-test-run.pl expect the "crash", but don't
+--echo # start it until it's told to
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+--echo # We give 30 seconds to do a clean shutdown because we do not want
+--echo # to redo apply the pages of t1.ibd at the time of recovery.
+--echo # We want SQL to initiate the first access to t1.ibd.
+shutdown_server 30;
+
+--echo # Wait until disconnected.
+--source include/wait_until_disconnected.inc
+
+--echo # Run innochecksum on t1
+-- disable_result_log
+--exec $INNOCHECKSUM $t1_IBD
+
+--echo # Run innochecksum on t2
+
+--exec $INNOCHECKSUM $t2_IBD
+
+--echo # Run innochecksum on t3
+
+--exec $INNOCHECKSUM $t3_IBD
+--enable_result_log
+
+--echo # Write file to make mysql-test-run.pl start up the server again
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--echo # Cleanup
+DROP TABLE t1, t2, t3;
diff --git a/mysql-test/suite/innodb/t/innodb-16k-master.opt b/mysql-test/suite/innodb/t/innodb-16k-master.opt
new file mode 100644
index 00000000000..a99075f5329
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-16k-master.opt
@@ -0,0 +1 @@
+--default_storage_engine=InnoDB
diff --git a/mysql-test/suite/innodb/t/innodb-16k.test b/mysql-test/suite/innodb/t/innodb-16k.test
new file mode 100644
index 00000000000..d7922429f26
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-16k.test
@@ -0,0 +1,979 @@
+--source include/no_valgrind_without_big.inc
+# Tests for setting innodb-page-size=16k; default value
+--source include/have_innodb.inc
+--source include/have_innodb_16k.inc
+
+--disable_query_log
+let $MYSQLD_DATADIR= `select @@datadir`;
+# These values can change during the test
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+let $innodb_strict_mode_orig = `SELECT @@session.innodb_strict_mode`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+
+--echo # Test 1) Show the page size from Information Schema
+SELECT variable_value FROM information_schema.global_status
+ WHERE LOWER(variable_name) = 'innodb_page_size';
+
+--echo # Test 4) The maximum row size is dependent upon the page size.
+--echo # Redundant: 8123, Compact: 8126.
+--echo # Compressed: 8126, Dynamic: 8126.
+--echo # Each row format has its own amount of overhead that
+--echo # varies depending on number of fields and other overhead.
+
+SET SESSION innodb_strict_mode = ON;
+
+# Redundant table; 8011 bytes with 40 char fields
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(211)
+) ROW_FORMAT=redundant;
+
+DROP TABLE t1;
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(212)
+) ROW_FORMAT=redundant;
+
+# Compact table; 8096 bytes with 40 CHAR fields
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(246)
+) ROW_FORMAT=compact;
+
+DROP TABLE t1;
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(247)
+) ROW_FORMAT=compact;
+
+# Compressed table; 7959 bytes with 40 CHAR fields
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157)
+) ROW_FORMAT=compressed;
+
+DROP TABLE t1;
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(160)
+) ROW_FORMAT=compressed;
+
+# Dynamic table; 8096 bytes with 40 CHAR fields
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(246)
+) ROW_FORMAT=dynamic;
+
+DROP TABLE t1;
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(247)
+) ROW_FORMAT=dynamic;
+
+#
+# Test the maximum key length
+# Max Key Length is 3072 for 16k pages.
+# Max key Part length is 767
+# InnoDB assumes 3 bytes for each UTF8 character.
+#
+CREATE TABLE t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(4) character set utf8,
+ PRIMARY KEY (a,b,c,d,e))
+ ENGINE=innodb;
+
+DROP TABLE t1;
+
+--error ER_TOO_LONG_KEY
+CREATE TABLE t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(5) character set utf8,
+ PRIMARY KEY (a,b,c,d,e))
+ ENGINE=innodb;
+
+CREATE TABLE t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(255) character set utf8,
+ f varchar(4) character set utf8,
+ PRIMARY KEY (a), KEY (b,c,d,e,f))
+ ENGINE=innodb;
+
+DROP TABLE t1;
+
+--error ER_TOO_LONG_KEY
+CREATE TABLE t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(255) character set utf8,
+ f varchar(5) character set utf8,
+ PRIMARY KEY (a), KEY (b,c,d,e,f))
+ ENGINE=innodb;
+
+--echo # Test 5) Make sure that KEY_BLOCK_SIZE=16, 8, 4, 2 & 1
+--echo # are all accepted.
+
+SET SESSION innodb_strict_mode = ON;
+
+CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+DROP TABLE t1;
+
+SET SESSION innodb_strict_mode = OFF;
+
+CREATE TABLE t1 (i int) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+ALTER TABLE t1 KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+
+SELECT table_name, row_format, create_options
+ FROM information_schema.tables WHERE table_name = 't1';
+
+DROP TABLE t1;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+
+CREATE TABLE t2(d varchar(17) PRIMARY KEY) ENGINE=innodb DEFAULT CHARSET=utf8;
+CREATE TABLE t3(a int PRIMARY KEY) ENGINE=innodb;
+INSERT INTO t3 VALUES (22),(44),(33),(55),(66);
+INSERT INTO t2 VALUES ('jejdkrun87'),('adfd72nh9k'),
+('adfdpplkeock'),('adfdijnmnb78k'),('adfdijn0loKNHJik');
+CREATE TABLE t1(a int, b blob, c text, d text NOT NULL)
+ENGINE=innodb DEFAULT CHARSET=utf8;
+INSERT INTO t1
+SELECT a,LEFT(REPEAT(d,100*a),65535),REPEAT(d,20*a),d FROM t2,t3;
+DROP TABLE t2, t3;
+SELECT COUNT(*) FROM t1 WHERE a=44;
+SELECT a,
+LENGTH(b),b=LEFT(REPEAT(d,100*a),65535),LENGTH(c),c=REPEAT(d,20*a),d FROM t1;
+
+# in-place alter table should trigger ER_PRIMARY_CANT_HAVE_NULL
+--error ER_DUP_ENTRY
+ALTER TABLE t1 ADD PRIMARY KEY (a), ADD KEY (b(20));
+DELETE FROM t1 WHERE d='null';
+--error ER_DUP_ENTRY
+ALTER TABLE t1 ADD PRIMARY KEY (a), ADD KEY (b(20));
+DELETE FROM t1 WHERE a%2;
+CHECK TABLE t1;
+ALTER TABLE t1 ADD PRIMARY KEY (a,b(255),c(255)), ADD KEY (b(767));
+SELECT COUNT(*) FROM t1 WHERE a=44;
+SELECT a,
+LENGTH(b), b=LEFT(REPEAT(d,100*a), 65535),LENGTH(c), c=REPEAT(d,20*a), d FROM t1;
+SHOW CREATE TABLE t1;
+CHECK TABLE t1;
+DROP TABLE t1;
+
+--echo # Test 8) Test creating a table that could lead to undo log overflow.
+
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+ h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+ o blob,p blob,q blob,r blob,s blob,t blob,u blob)
+ ENGINE=InnoDB ROW_FORMAT=dynamic;
+
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+
+# With no indexes defined, we can update all columns to max key part length.
+
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+ k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b;
+
+
+# With this many indexes defined, we can still update all fields.
+CREATE INDEX t1a ON t1 (a(767));
+CREATE INDEX t1b ON t1 (b(767));
+CREATE INDEX t1c ON t1 (c(767));
+CREATE INDEX t1d ON t1 (d(767));
+CREATE INDEX t1e ON t1 (e(767));
+
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+ k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c;
+
+
+# Add one more index and the UNDO record becomes too big to update all columns.
+# But a single transaction can update the columns in separate statements.
+# because the UNDO records will be smaller.
+
+CREATE INDEX t1f ON t1 (f(767));
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d,f=@d,g=@d,h=@d,i=@d,j=@d,
+ k=@d,l=@d,m=@d,n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+ROLLBACK;
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d,k=@d,l=@d,m=@d,
+ n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+COMMIT;
+
+# More indexes can still be added and a single field can still be updated
+CREATE INDEX t1g ON t1 (g(767));
+UPDATE t1 SET g=@e;
+CREATE INDEX t1h ON t1 (h(767));
+UPDATE t1 SET h=@e;
+CREATE INDEX t1i ON t1 (i(767));
+UPDATE t1 SET i=@e;
+CREATE INDEX t1j ON t1 (j(767));
+UPDATE t1 SET j=@e;
+CREATE INDEX t1k ON t1 (k(767));
+UPDATE t1 SET k=@e;
+CREATE INDEX t1l ON t1 (l(767));
+UPDATE t1 SET l=@e;
+CREATE INDEX t1m ON t1 (m(767));
+UPDATE t1 SET m=@e;
+CREATE INDEX t1n ON t1 (n(767));
+UPDATE t1 SET n=@e;
+CREATE INDEX t1o ON t1 (o(767));
+UPDATE t1 SET o=@e;
+CREATE INDEX t1p ON t1 (p(767));
+UPDATE t1 SET p=@e;
+CREATE INDEX t1q ON t1 (q(767));
+UPDATE t1 SET q=@e;
+CREATE INDEX t1r ON t1 (r(767));
+UPDATE t1 SET r=@e;
+CREATE INDEX t1s ON t1 (s(767));
+UPDATE t1 SET s=@e;
+
+# Add one more index and we cannot update a column to its defined index length.
+# This is a problem. It means that the DDL is allowed to create a table
+# that CANNOT be updated.
+
+CREATE INDEX t1t ON t1 (t(767));
+BEGIN;
+UPDATE t1 SET t=@e;
+ROLLBACK;
+
+# The function dict_index_too_big_for_undo() prevents us from adding
+# one more index. But it is too late. The record is already too big.
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE INDEX t1u ON t1 (u(767));
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE INDEX t1ut ON t1 (u(767), t(767));
+CREATE INDEX t1st ON t1 (s(767), t(767));
+
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+--echo Test an assertion failure on purge.
+
+# This test is not in innodb_8k or innodb_4k since the bug is not about
+# page size. It just tests the condition that caused the assertion.
+
+CREATE TABLE t1_purge (
+A int,
+B blob, C blob, D blob, E blob,
+F blob, G blob, H blob,
+PRIMARY KEY (B(767), C(767), D(767), E(767), A),
+INDEX (A)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t1_purge VALUES (1,
+REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
+REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766));
+
+CREATE TABLE t2_purge (
+A int PRIMARY KEY,
+B blob, C blob, D blob, E blob,
+F blob, G blob, H blob, I blob,
+J blob, K blob, L blob,
+INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t2_purge VALUES (1,
+REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
+REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766), REPEAT('i', 766),
+REPEAT('j', 766), REPEAT('k', 766), REPEAT('l', 766));
+
+CREATE TABLE t3_purge (
+A int,
+B varchar(800), C varchar(800), D varchar(800), E varchar(800),
+F varchar(800), G varchar(800), H varchar(800),
+PRIMARY KEY (B(767), C(767), D(767), E(767), A),
+INDEX (A)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t3_purge SELECT * FROM t1_purge;
+
+CREATE TABLE t4_purge (
+A int PRIMARY KEY,
+B varchar(800), C varchar(800), D varchar(800), E varchar(800),
+F varchar(800), G varchar(800), H varchar(800), I varchar(800),
+J varchar(800), K varchar(800), L varchar(800),
+INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t4_purge SELECT * FROM t2_purge;
+
+# This would trigger the failure
+# if purge gets a chance to run before DROP TABLE t1_purge, ....
+DELETE FROM t1_purge;
+DELETE FROM t2_purge;
+DELETE FROM t3_purge;
+DELETE FROM t4_purge;
+
+# A secondary index tuple is found to be too long to fit into a page.
+SET GLOBAL innodb_file_per_table=on;
+SET GLOBAL innodb_file_format='Barracuda';
+SET @r=REPEAT('a',500);
+
+CREATE TABLE tlong(a int,
+ v1 varchar(500), v2 varchar(500), v3 varchar(500),
+ v4 varchar(500), v5 varchar(500), v6 varchar(500),
+ v7 varchar(500), v8 varchar(500), v9 varchar(500),
+ v10 varchar(500), v11 varchar(500), v12 varchar(500),
+ v13 varchar(500), v14 varchar(500), v15 varchar(500),
+ v16 varchar(500), v17 varchar(500), v18 varchar(500)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+CREATE INDEX idx1 ON tlong(a,v1);
+INSERT INTO tlong VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
+UPDATE tlong SET a=1000;
+DELETE FROM tlong;
+
+# the number of indexes has changed since the UNDO record was logged.
+# page size. It just tests the condition that caused the crash.
+
+CREATE TABLE tlong2(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
+ i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob)
+ ENGINE=innodb ROW_FORMAT=dynamic;
+
+SET @r = REPEAT('a', 767);
+INSERT INTO tlong2 VALUES (@r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r);
+CREATE INDEX ndx_a ON tlong2 (a(500));
+CREATE INDEX ndx_b ON tlong2 (b(500));
+CREATE INDEX ndx_c ON tlong2 (c(500));
+CREATE INDEX ndx_d ON tlong2 (d(500));
+CREATE INDEX ndx_e ON tlong2 (e(500));
+CREATE INDEX ndx_f ON tlong2 (f(500));
+CREATE INDEX ndx_k ON tlong2 (k(500));
+CREATE INDEX ndx_l ON tlong2 (l(500));
+
+SET @r = REPEAT('b', 500);
+UPDATE tlong2 set a=@r,b=@r,c=@r,d=@r;
+UPDATE tlong2 set e=@r,f=@r,g=@r,h=@r;
+UPDATE tlong2 set i=@r,j=@r,k=@r,l=@r;
+UPDATE tlong2 set m=@r,n=@r,o=@r,p=@r;
+
+ALTER TABLE tlong2 DROP INDEX ndx_a;
+ALTER TABLE tlong2 DROP INDEX ndx_b;
+CREATE INDEX ndx_g ON tlong2 (g(500));
+CREATE INDEX ndx_h ON tlong2 (h(500));
+CREATE INDEX ndx_i ON tlong2 (i(500));
+CREATE INDEX ndx_j ON tlong2 (j(500));
+CREATE INDEX ndx_m ON tlong2 (m(500));
+CREATE INDEX ndx_n ON tlong2 (n(500));
+CREATE INDEX ndx_o ON tlong2 (o(500));
+CREATE INDEX ndx_p ON tlong2 (p(500));
+SHOW CREATE TABLE tlong2;
+
+# InnoDB cannot know that this undo record would be too big for the undo
+# page. Too much of text field is stored in the clustered record in this
+# DYNAMIC row formatted record.
+
+SET SESSION innodb_strict_mode = ON;
+
+CREATE TABLE bug12547647(
+a int NOT NULL, b blob NOT NULL, c text,
+PRIMARY KEY (b(10), a), INDEX (c(767)), INDEX(b(767))
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO bug12547647 VALUES (5,REPEAT('khdfo5AlOq',1900),REPEAT('g',7751));
+COMMIT;
+
+# The following used to cause a hang while doing infinite undo log allocation.
+BEGIN;
+UPDATE bug12547647 SET c = REPEAT('b',16928);
+SHOW WARNINGS;
+ROLLBACK;
+DROP TABLE bug12547647;
+
+
+
+# The following should fail in non-strict mode too.
+
+SET SESSION innodb_strict_mode = off;
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1(
+ c text NOT NULL, d text NOT NULL,
+ PRIMARY KEY (c(767),d(767)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1(
+ c text NOT NULL, d text NOT NULL,
+ PRIMARY KEY (c(767),d(767)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 CHARSET=ASCII;
+
+CREATE TABLE t1(
+ c text NOT NULL, d text NOT NULL,
+ PRIMARY KEY (c(767),d(767)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4 CHARSET=ASCII;
+
+drop table t1;
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1(c text, PRIMARY KEY (c(440)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
+
+CREATE TABLE t1(c text, PRIMARY KEY (c(438)))
+ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
+
+INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
+
+DROP TABLE t1;
+
+# The tests that uses these tables required the purge thread to run.
+# Just in case it has not by now, provide a 10 second wait.
+
+--sleep 10
+
+DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
+DROP TABLE tlong;
+DROP TABLE tlong2;
+
+SET SESSION innodb_strict_mode = on;
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t2(COL1 TEXT,
+COL2 TEXT,
+COL3 TEXT,
+COL4 TEXT,
+COL5 TEXT,
+COL6 TEXT,
+COL7 TEXT,
+COL8 TEXT,
+COL9 TEXT,
+COL10 TEXT,
+COL11 TEXT,
+COL12 TEXT,
+COL13 TEXT,
+COL14 TEXT,
+COL15 TEXT,
+COL16 TEXT,
+COL17 TEXT,
+COL18 TEXT,
+COL19 TEXT,
+COL20 TEXT,
+COL21 TEXT,
+COL22 TEXT,
+COL23 TEXT,
+COL24 TEXT,
+COL25 TEXT,
+COL26 TEXT,
+COL27 TEXT,
+COL28 TEXT,
+COL29 TEXT,
+COL30 TEXT,
+COL31 TEXT,
+COL32 TEXT,
+COL33 TEXT,
+COL34 TEXT,
+COL35 TEXT,
+COL36 TEXT,
+COL37 TEXT,
+COL38 TEXT,
+COL39 TEXT,
+COL40 TEXT,
+COL41 TEXT,
+COL42 TEXT,
+COL43 TEXT,
+COL44 TEXT,
+COL45 TEXT,
+COL46 TEXT,
+COL47 TEXT,
+COL48 TEXT,
+COL49 TEXT,
+COL50 TEXT,
+COL51 TEXT,
+COL52 TEXT,
+COL53 TEXT,
+COL54 TEXT,
+COL55 TEXT,
+COL56 TEXT,
+COL57 TEXT,
+COL58 TEXT,
+COL59 TEXT,
+COL60 TEXT,
+COL61 TEXT,
+COL62 TEXT,
+COL63 TEXT,
+COL64 TEXT,
+COL65 TEXT,
+COL66 TEXT,
+COL67 TEXT,
+COL68 TEXT,
+COL69 TEXT,
+COL70 TEXT,
+COL71 TEXT,
+COL72 TEXT,
+COL73 TEXT,
+COL74 TEXT,
+COL75 TEXT,
+COL76 TEXT,
+COL77 TEXT,
+COL78 TEXT,
+COL79 TEXT,
+COL80 TEXT,
+COL81 TEXT,
+COL82 TEXT,
+COL83 TEXT,
+COL84 TEXT,
+COL85 TEXT,
+COL86 TEXT,
+COL87 TEXT,
+COL88 TEXT,
+COL89 TEXT,
+COL90 TEXT,
+COL91 TEXT,
+COL92 TEXT,
+COL93 TEXT,
+COL94 TEXT,
+COL95 TEXT,
+COL96 TEXT,
+COL97 TEXT,
+COL98 TEXT,
+COL99 TEXT,
+COL100 TEXT,
+COL101 TEXT,
+COL102 TEXT,
+COL103 TEXT,
+COL104 TEXT,
+COL105 TEXT,
+COL106 TEXT,
+COL107 TEXT,
+COL108 TEXT,
+COL109 TEXT,
+COL110 TEXT,
+COL111 TEXT,
+COL112 TEXT,
+COL113 TEXT,
+COL114 TEXT,
+COL115 TEXT,
+COL116 TEXT,
+COL117 TEXT,
+COL118 TEXT,
+COL119 TEXT,
+COL120 TEXT,
+COL121 TEXT,
+COL122 TEXT,
+COL123 TEXT,
+COL124 TEXT,
+COL125 TEXT,
+COL126 TEXT,
+COL127 TEXT,
+COL128 TEXT,
+COL129 TEXT,
+COL130 TEXT,
+COL131 TEXT,
+COL132 TEXT,
+COL133 TEXT,
+COL134 TEXT,
+COL135 TEXT,
+COL136 TEXT,
+COL137 TEXT,
+COL138 TEXT,
+COL139 TEXT,
+COL140 TEXT,
+COL141 TEXT,
+COL142 TEXT,
+COL143 TEXT,
+COL144 TEXT,
+COL145 TEXT,
+COL146 TEXT,
+COL147 TEXT,
+COL148 TEXT,
+COL149 TEXT,
+COL150 TEXT,
+COL151 TEXT,
+COL152 TEXT,
+COL153 TEXT,
+COL154 TEXT,
+COL155 TEXT,
+COL156 TEXT,
+COL157 TEXT,
+COL158 TEXT,
+COL159 TEXT,
+COL160 TEXT,
+COL161 TEXT,
+COL162 TEXT,
+COL163 TEXT,
+COL164 TEXT,
+COL165 TEXT,
+COL166 TEXT,
+COL167 TEXT,
+COL168 TEXT,
+COL169 TEXT,
+COL170 TEXT,
+COL171 TEXT,
+COL172 TEXT,
+COL173 TEXT,
+COL174 TEXT,
+COL175 TEXT,
+COL176 TEXT,
+COL177 TEXT,
+COL178 TEXT,
+COL179 TEXT,
+COL180 TEXT,
+COL181 TEXT,
+COL182 TEXT,
+COL183 TEXT,
+COL184 TEXT,
+COL185 TEXT,
+COL186 TEXT,
+COL187 TEXT,
+COL188 TEXT,
+COL189 TEXT,
+COL190 TEXT,
+COL191 TEXT,
+COL192 TEXT,
+COL193 TEXT,
+COL194 TEXT,
+COL195 TEXT,
+COL196 TEXT,
+COL197 TEXT)
+row_format=dynamic,ENGINE=INNODB;
+
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t2(COL1 TEXT,
+COL2 TEXT,
+COL3 TEXT,
+COL4 TEXT,
+COL5 TEXT,
+COL6 TEXT,
+COL7 TEXT,
+COL8 TEXT,
+COL9 TEXT,
+COL10 TEXT,
+COL11 TEXT,
+COL12 TEXT,
+COL13 TEXT,
+COL14 TEXT,
+COL15 TEXT,
+COL16 TEXT,
+COL17 TEXT,
+COL18 TEXT,
+COL19 TEXT,
+COL20 TEXT,
+COL21 TEXT,
+COL22 TEXT,
+COL23 TEXT,
+COL24 TEXT,
+COL25 TEXT,
+COL26 TEXT,
+COL27 TEXT,
+COL28 TEXT,
+COL29 TEXT,
+COL30 TEXT,
+COL31 TEXT,
+COL32 TEXT,
+COL33 TEXT,
+COL34 TEXT,
+COL35 TEXT,
+COL36 TEXT,
+COL37 TEXT,
+COL38 TEXT,
+COL39 TEXT,
+COL40 TEXT,
+COL41 TEXT,
+COL42 TEXT,
+COL43 TEXT,
+COL44 TEXT,
+COL45 TEXT,
+COL46 TEXT,
+COL47 TEXT,
+COL48 TEXT,
+COL49 TEXT,
+COL50 TEXT,
+COL51 TEXT,
+COL52 TEXT,
+COL53 TEXT,
+COL54 TEXT,
+COL55 TEXT,
+COL56 TEXT,
+COL57 TEXT,
+COL58 TEXT,
+COL59 TEXT,
+COL60 TEXT,
+COL61 TEXT,
+COL62 TEXT,
+COL63 TEXT,
+COL64 TEXT,
+COL65 TEXT,
+COL66 TEXT,
+COL67 TEXT,
+COL68 TEXT,
+COL69 TEXT,
+COL70 TEXT,
+COL71 TEXT,
+COL72 TEXT,
+COL73 TEXT,
+COL74 TEXT,
+COL75 TEXT,
+COL76 TEXT,
+COL77 TEXT,
+COL78 TEXT,
+COL79 TEXT,
+COL80 TEXT,
+COL81 TEXT,
+COL82 TEXT,
+COL83 TEXT,
+COL84 TEXT,
+COL85 TEXT,
+COL86 TEXT,
+COL87 TEXT,
+COL88 TEXT,
+COL89 TEXT,
+COL90 TEXT,
+COL91 TEXT,
+COL92 TEXT,
+COL93 TEXT,
+COL94 TEXT,
+COL95 TEXT,
+COL96 TEXT,
+COL97 TEXT,
+COL98 TEXT,
+COL99 TEXT,
+COL100 TEXT,
+COL101 TEXT,
+COL102 TEXT,
+COL103 TEXT,
+COL104 TEXT,
+COL105 TEXT,
+COL106 TEXT,
+COL107 TEXT,
+COL108 TEXT,
+COL109 TEXT,
+COL110 TEXT,
+COL111 TEXT,
+COL112 TEXT,
+COL113 TEXT,
+COL114 TEXT,
+COL115 TEXT,
+COL116 TEXT,
+COL117 TEXT,
+COL118 TEXT,
+COL119 TEXT,
+COL120 TEXT,
+COL121 TEXT,
+COL122 TEXT,
+COL123 TEXT,
+COL124 TEXT,
+COL125 TEXT,
+COL126 TEXT,
+COL127 TEXT,
+COL128 TEXT,
+COL129 TEXT,
+COL130 TEXT,
+COL131 TEXT,
+COL132 TEXT,
+COL133 TEXT,
+COL134 TEXT,
+COL135 TEXT,
+COL136 TEXT,
+COL137 TEXT,
+COL138 TEXT,
+COL139 TEXT,
+COL140 TEXT,
+COL141 TEXT,
+COL142 TEXT,
+COL143 TEXT,
+COL144 TEXT,
+COL145 TEXT,
+COL146 TEXT,
+COL147 TEXT,
+COL148 TEXT,
+COL149 TEXT,
+COL150 TEXT,
+COL151 TEXT,
+COL152 TEXT,
+COL153 TEXT,
+COL154 TEXT,
+COL155 TEXT,
+COL156 TEXT,
+COL157 TEXT,
+COL158 TEXT,
+COL159 TEXT,
+COL160 TEXT,
+COL161 TEXT,
+COL162 TEXT,
+COL163 TEXT,
+COL164 TEXT,
+COL165 TEXT,
+COL166 TEXT,
+COL167 TEXT,
+COL168 TEXT,
+COL169 TEXT,
+COL170 TEXT,
+COL171 TEXT,
+COL172 TEXT,
+COL173 TEXT,
+COL174 TEXT,
+COL175 TEXT,
+COL176 TEXT,
+COL177 TEXT,
+COL178 TEXT,
+COL179 TEXT,
+COL180 TEXT,
+COL181 TEXT,
+COL182 TEXT,
+COL183 TEXT,
+COL184 TEXT,
+COL185 TEXT,
+COL186 TEXT,
+COL187 TEXT,
+COL188 TEXT,
+COL189 TEXT,
+COL190 TEXT,
+COL191 TEXT,
+COL192 TEXT,
+COL193 TEXT,
+COL194 TEXT,
+COL195 TEXT,
+COL196 TEXT,
+COL197 TEXT)
+row_format=compact,ENGINE=INNODB;
+
+#
+# restore environment to the state it was before this test execution
+#
+
+--disable_query_log
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET SESSION innodb_strict_mode = $innodb_strict_mode_orig;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb-32k-crash-master.opt b/mysql-test/suite/innodb/t/innodb-32k-crash-master.opt
new file mode 100644
index 00000000000..4761ed67d1e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-32k-crash-master.opt
@@ -0,0 +1,5 @@
+--default_storage_engine=InnoDB
+--innodb-buffer-pool-size=32M
+--innodb-log-file-size=32M
+--innodb-page-size=32K
+
diff --git a/mysql-test/suite/innodb/t/innodb-32k-crash.test b/mysql-test/suite/innodb/t/innodb-32k-crash.test
new file mode 100644
index 00000000000..435ea3646f8
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-32k-crash.test
@@ -0,0 +1,195 @@
+--source include/have_innodb.inc
+--source include/have_innodb_32k.inc
+# Embedded server does not support restarting
+--source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+ h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+ o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+ v blob, w blob, x blob, y blob, z blob,
+ aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+ oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+ va blob, wa blob, xa blob, ya blob, za blob)
+ ENGINE=InnoDB ROW_FORMAT=dynamic;
+
+CREATE TABLE t2(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+ h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+ o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+ v blob, w blob, x blob, y blob, z blob,
+ aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+ oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+ va blob, wa blob, xa blob, ya blob, za blob)
+ ENGINE=InnoDB ROW_FORMAT=compact;
+
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+SET @f = repeat('f', 767);
+SET @f = repeat('g', 767);
+
+# With no indexes defined, we can update all columns to max key part length.
+
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+
+SET @f = repeat('h', 500);
+SET @f = repeat('i', 500);
+SET @f = repeat('j', 500);
+SET @f = repeat('k', 500);
+SET @f = repeat('l', 500);
+SET @f = repeat('m', 500);
+
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h,@h);
+
+
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+ k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b,
+ v=@b,w=@b,x=@b,y=@b,z=@b,
+ aa=@b,ba=@b,ca=@b,da=@b,ea=@b,fa=@b,ga=@b,ha=@b,ia=@b,ja=@b,
+ ka=@b,la=@b,ma=@b,na=@b,oa=@b,pa=@b,qa=@b,ra=@b,sa=@b,ta=@b,ua=@b,
+ va=@b,wa=@b,xa=@b,ya=@b,za=@b;
+
+UPDATE t2 SET a=@i,b=@i,c=@i,d=@i,e=@i,f=@i,g=@i,h=@i,i=@i,j=@i,
+ k=@i,l=@i,m=@i,n=@i,o=@i,p=@i,q=@i,r=@i,s=@i,t=@i,u=@i,
+ v=@i,w=@i,x=@i,y=@i,z=@i,
+ aa=@i,ba=@i,ca=@i,da=@i,ea=@i,fa=@i,ga=@i,ha=@i,ia=@i,ja=@i,
+ ka=@i,la=@i,ma=@i,na=@i,oa=@i,pa=@i,qa=@i,ra=@i,sa=@i,ta=@i,ua=@i,
+ va=@i,wa=@i,xa=@i,ya=@i,za=@i;
+
+CREATE INDEX t1a ON t1 (a(767));
+CREATE INDEX t1b ON t1 (b(767));
+CREATE INDEX t1c ON t1 (c(767));
+CREATE INDEX t1d ON t1 (d(767));
+CREATE INDEX t1e ON t1 (e(767));
+CREATE INDEX t1f1 ON t1 (f(767));
+CREATE INDEX t1f2 ON t1 (g(767));
+CREATE INDEX t1f3 ON t1 (h(767));
+CREATE INDEX t1f4 ON t1 (i(767));
+CREATE INDEX t1f5 ON t1 (j(767));
+
+CREATE INDEX t1a ON t2 (a(767));
+CREATE INDEX t1b ON t2 (b(767));
+CREATE INDEX t1c ON t2 (c(767));
+CREATE INDEX t1d ON t2 (d(767));
+CREATE INDEX t1e ON t2 (e(767));
+CREATE INDEX t1f1 ON t2 (f(767));
+CREATE INDEX t1f2 ON t2 (g(767));
+CREATE INDEX t1f3 ON t2 (h(767));
+
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+ k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+ v=@c,w=@c,x=@b,y=@c,z=@c,
+ aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@b,ua=@c,
+ va=@c,wa=@c,xa=@c,ya=@c,za=@c;
+
+UPDATE t2 SET a=@k,b=@k,c=@k,d=@k,e=@k,f=@k,g=@k,h=@k,i=@k,j=@k,
+ k=@k,l=@k,m=@k,n=@k,o=@k,p=@k,q=@k,r=@k,s=@k,t=@k,u=@k,
+ v=@k,w=@k,x=@b,y=@k,z=@k,
+ aa=@k,ba=@k,ca=@k,da=@k,ea=@k,fa=@k,ga=@k,ha=@k,ia=@k,ja=@k,
+ ka=@k,la=@k,ma=@k,na=@k,oa=@k,pa=@k,qa=@k,ra=@k,sa=@k,ta=@b,ua=@k,
+ va=@k,wa=@k,xa=@k,ya=@k,za=@k;
+
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d;
+UPDATE t1 SET k=@d,l=@d,m=@d,n=@d,o=@d;
+UPDATE t1 SET p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+UPDATE t1 SET v=@d,w=@d,x=@d,y=@d,z=@d;
+UPDATE t1 SET aa=@d,ba=@d,ca=@d,da=@d;
+UPDATE t1 SET ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d;
+UPDATE t1 SET ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d;
+UPDATE t1 SET qa=@d,ra=@d,sa=@d,ta=@d,ua=@d;
+UPDATE t1 SET va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+COMMIT;
+
+BEGIN;
+UPDATE t2 SET a=@l,b=@l,c=@l,d=@l,e=@l;
+UPDATE t2 SET f=@l,g=@l,h=@l,i=@l,j=@l;
+UPDATE t2 SET k=@l,l=@l,m=@l,n=@l,o=@l;
+UPDATE t2 SET p=@l,q=@l,r=@l,s=@l,t=@l,u=@l;
+UPDATE t2 SET v=@l,w=@l,x=@l,y=@l,z=@l;
+UPDATE t2 SET aa=@l,ba=@l,ca=@l,da=@l;
+UPDATE t2 SET ea=@l,fa=@l,ga=@l,ha=@l,ia=@l,ja=@l;
+UPDATE t2 SET ka=@l,la=@l,ma=@l,na=@l,oa=@l,pa=@l;
+UPDATE t2 SET qa=@l,ra=@l,sa=@l,ta=@l,ua=@l;
+UPDATE t2 SET va=@l,wa=@l,xa=@l,ya=@l,za=@l;
+COMMIT;
+
+BEGIN;
+INSERT INTO t1 SELECT * from t2;
+UPDATE t1 SET a=@e,b=@e,c=@e,d=@e,e=@e;
+
+--source include/kill_and_restart_mysqld.inc
+
+UPDATE t1 SET a=@f,b=@f,c=@f,d=@f,e=@f,f=@f,g=@f,h=@f,i=@f,j=@f,
+ k=@f,l=@f,m=@f,n=@f,o=@f,p=@f,q=@f,r=@f,s=@f,t=@f,u=@f,
+ v=@f,w=@f,x=@b,y=@f,z=@f,
+ aa=@f,ba=@f,ca=@f,da=@f,ea=@f,fa=@f,ga=@f,ha=@f,ia=@f,ja=@f,
+ ka=@f,la=@f,ma=@f,na=@f,oa=@f,pa=@f,qa=@f,ra=@f,sa=@f,ta=@b,ua=@f,
+ va=@f,wa=@f,xa=@f,ya=@f,za=@f;
+
+UPDATE t2 SET a=@h,b=@h,c=@h,d=@h,e=@h,f=@h,g=@h,h=@h,i=@h,j=@h,
+ k=@h,l=@h,m=@h,n=@h,o=@h,p=@h,q=@h,r=@h,s=@h,t=@h,u=@h,
+ v=@h,w=@h,x=@b,y=@h,z=@h,
+ aa=@h,ba=@h,ca=@h,da=@h,ea=@h,fa=@h,ga=@h,ha=@h,ia=@h,ja=@h,
+ ka=@h,la=@h,ma=@h,na=@h,oa=@h,pa=@h,qa=@h,ra=@h,sa=@h,ta=@b,ua=@h,
+ va=@h,wa=@h,xa=@h,ya=@h,za=@h;
+
+BEGIN;
+UPDATE t1 SET a=@g,b=@g,c=@g,d=@g,e=@g;
+UPDATE t1 SET f=@g,g=@g,h=@g,i=@g,j=@g;
+UPDATE t1 SET k=@g,l=@g,m=@g,n=@g,o=@g;
+UPDATE t1 SET p=@g,q=@g,r=@g,s=@g,t=@g,u=@g;
+UPDATE t1 SET v=@g,w=@g,x=@g,y=@g,z=@g;
+UPDATE t1 SET aa=@g,ba=@g,ca=@g,da=@g;
+UPDATE t1 SET ea=@g,fa=@g,ga=@g,ha=@g,ia=@g,ja=@g;
+UPDATE t1 SET ka=@g,la=@g,ma=@g,na=@g,oa=@g,pa=@g;
+UPDATE t1 SET qa=@g,ra=@g,sa=@g,ta=@g,ua=@g;
+UPDATE t1 SET va=@g,wa=@g,xa=@g,ya=@g,za=@g;
+COMMIT;
+
+BEGIN;
+UPDATE t2 SET a=@m,b=@m,c=@m,d=@m,e=@m;
+UPDATE t2 SET f=@m,g=@m,h=@m,i=@m,j=@m;
+UPDATE t2 SET k=@m,l=@m,m=@m,n=@m,o=@m;
+UPDATE t2 SET p=@m,q=@m,r=@m,s=@m,t=@m,u=@m;
+UPDATE t2 SET v=@m,w=@m,x=@m,y=@m,z=@m;
+UPDATE t2 SET aa=@m,ba=@m,ca=@m,da=@m;
+UPDATE t2 SET ea=@m,fa=@m,ga=@m,ha=@m,ia=@m,ja=@m;
+UPDATE t2 SET ka=@m,la=@m,ma=@m,na=@m,oa=@m,pa=@m;
+UPDATE t2 SET qa=@m,ra=@m,sa=@m,ta=@m,ua=@m;
+UPDATE t2 SET va=@m,wa=@m,xa=@m,ya=@m,za=@m;
+COMMIT;
+
+show create table t1;
+show create table t2;
+drop table t1,t2;
diff --git a/mysql-test/suite/innodb/t/innodb-32k-master.opt b/mysql-test/suite/innodb/t/innodb-32k-master.opt
new file mode 100644
index 00000000000..322385f7f24
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-32k-master.opt
@@ -0,0 +1,4 @@
+--default_storage_engine=InnoDB
+--innodb-page-size=32K
+--innodb-log-file-size=32M
+--innodb-buffer-pool-size=32M
diff --git a/mysql-test/suite/innodb/t/innodb-32k.test b/mysql-test/suite/innodb/t/innodb-32k.test
new file mode 100644
index 00000000000..356746e8ec4
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-32k.test
@@ -0,0 +1,770 @@
+--source include/no_valgrind_without_big.inc
+# Tests for setting innodb-page-size=32k;
+--source include/have_innodb.inc
+--source include/have_innodb_32k.inc
+
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+call mtr.add_suppression("InnoDB: Resizing redo log from *");
+call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files.");
+call mtr.add_suppression("InnoDB: New log files created, LSN=*");
+
+--disable_query_log
+let $MYSQLD_DATADIR= `select @@datadir`;
+# These values can change during the test
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+let $innodb_strict_mode_orig = `SELECT @@session.innodb_strict_mode`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+--echo # Test 1) Show the page size from Information Schema
+SELECT variable_value FROM information_schema.global_status
+ WHERE LOWER(variable_name) = 'innodb_page_size';
+
+--echo # Test 4) The maximum row size is dependent upon the page size.
+--echo # Redundant: 16315, Compact: 16318.
+--echo # Compressed: 16318, Dynamic: ?.
+--echo # Each row format has its own amount of overhead that
+--echo # varies depending on number of fields and other overhead.
+
+SET SESSION innodb_strict_mode = ON;
+
+# Redundant table; 16121 bytes with 81 char fields
+
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(121)
+) ROW_FORMAT=redundant;
+
+DROP TABLE t1;
+
+--replace_regex /> [0-9]*/> max_row_size/
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(122)
+) ROW_FORMAT=redundant;
+
+# Compact table; 16282 bytes with 82 CHAR fields
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(200), c82 char(82)
+) ROW_FORMAT=compact;
+
+DROP TABLE t1;
+
+--replace_regex /> [0-9]*/> max_row_size/
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(200), c82 char(83)
+) ROW_FORMAT=compact;
+
+--replace_regex /> [0-9]*/> max_row_size/
+--error 1005
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(63)
+) ROW_FORMAT=compressed;
+
+# Dynamic table; 16282 bytes with 82 CHAR fields
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(200), c82 char(82)
+) ROW_FORMAT=dynamic;
+
+DROP TABLE t1;
+
+--replace_regex /> [0-9]*/> max_row_size/
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c81 char(200), c82 char(83)
+) ROW_FORMAT=dynamic;
+
+#
+# Test the maximum key length
+# Moved from innodb-index.test since each page size has its own max key length.
+# Max Key Length is 3072 for 16k pages.
+# Max key Part length is 767
+# InnoDB assumes 3 bytes for each UTF8 character.
+#
+
+CREATE TABLE t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(4) character set utf8,
+ PRIMARY KEY (a,b,c,d,e))
+ ENGINE=innodb;
+
+DROP TABLE t1;
+
+--error ER_TOO_LONG_KEY
+CREATE TABLE t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(5) character set utf8,
+ PRIMARY KEY (a,b,c,d,e))
+ ENGINE=innodb;
+
+CREATE TABLE t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(255) character set utf8,
+ f varchar(4) character set utf8,
+ PRIMARY KEY (a), KEY (b,c,d,e,f))
+ ENGINE=innodb;
+
+DROP TABLE t1;
+
+--error ER_TOO_LONG_KEY
+CREATE TABLE t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(255) character set utf8,
+ f varchar(5) character set utf8,
+ PRIMARY KEY (a), KEY (b,c,d,e,f))
+ ENGINE=innodb;
+
+
+
+--echo # Test 8) Test creating a table that could lead to undo log overflow.
+
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+ h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+ o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+ v blob, w blob, x blob, y blob, z blob,
+ aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+ oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+ va blob, wa blob, xa blob, ya blob, za blob)
+ ENGINE=InnoDB ROW_FORMAT=dynamic;
+
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+
+# With no indexes defined, we can update all columns to max key part length.
+
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a);
+
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+ k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b,
+ v=@b,w=@b,x=@b,y=@b,z=@b,
+ aa=@b,ba=@b,ca=@b,da=@b,ea=@b,fa=@b,ga=@b,ha=@b,ia=@b,ja=@b,
+ ka=@b,la=@b,ma=@b,na=@b,oa=@b,pa=@b,qa=@b,ra=@b,sa=@b,ta=@b,ua=@b,
+ va=@b,wa=@b,xa=@b,ya=@b,za=@b;
+
+
+# With this many indexes defined, we can still update all fields.
+CREATE INDEX t1a ON t1 (a(767));
+CREATE INDEX t1b ON t1 (b(767));
+CREATE INDEX t1c ON t1 (c(767));
+CREATE INDEX t1d ON t1 (d(767));
+CREATE INDEX t1e ON t1 (e(767));
+CREATE INDEX t1f1 ON t1 (f(767));
+CREATE INDEX t1f2 ON t1 (g(767));
+CREATE INDEX t1f3 ON t1 (h(767));
+CREATE INDEX t1f4 ON t1 (i(767));
+CREATE INDEX t1f5 ON t1 (j(767));
+
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+ k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+ v=@c,w=@c,x=@c,y=@c,z=@c,
+ aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@c,ua=@c,
+ va=@c,wa=@c,xa=@c,ya=@c,za=@c;
+
+# Add one more index and the UNDO record becomes too big to update all columns.
+# But a single transaction can update the columns in separate statements.
+# because the UNDO records will be smaller.
+
+CREATE INDEX t1f17 ON t1 (v(767));
+
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d,f=@d,g=@d,h=@d,i=@d,j=@d,
+ k=@d,l=@d,m=@d,n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d,
+ v=@d,w=@d,x=@d,y=@d,z=@d,
+ aa=@d,ba=@d,ca=@d,da=@d,ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d,
+ ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d,qa=@d,ra=@d,sa=@d,ta=@d,ua=@d,
+ va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+ROLLBACK;
+
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d;
+UPDATE t1 SET k=@d,l=@d,m=@d,n=@d,o=@d;
+UPDATE t1 SET p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+UPDATE t1 SET v=@d,w=@d,x=@d,y=@d,z=@d;
+UPDATE t1 SET aa=@d,ba=@d,ca=@d,da=@d;
+UPDATE t1 SET ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d;
+UPDATE t1 SET ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d;
+UPDATE t1 SET qa=@d,ra=@d,sa=@d,ta=@d,ua=@d;
+UPDATE t1 SET va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+COMMIT;
+
+# More indexes can still be added and a single field can still be updated
+CREATE INDEX t1k ON t1 (k(767));
+CREATE INDEX t1f7 ON t1 (m(767));
+CREATE INDEX t1f8 ON t1 (n(767));
+CREATE INDEX t1f9 ON t1 (o(767));
+CREATE INDEX t1f11 ON t1 (p(767));
+CREATE INDEX t1f12 ON t1 (q(767));
+CREATE INDEX t1f13 ON t1 (r(767));
+CREATE INDEX t1f14 ON t1 (s(767));
+CREATE INDEX t1f15 ON t1 (t(767));
+CREATE INDEX t1f16 ON t1 (u(767));
+CREATE INDEX t1f18 ON t1 (w(767));
+CREATE INDEX t1f19 ON t1 (x(767));
+CREATE INDEX t1f20 ON t1 (y(767));
+CREATE INDEX t1f21 ON t1 (z(767));
+CREATE INDEX ta1a ON t1 (aa(767));
+CREATE INDEX tb1b ON t1 (ba(767));
+CREATE INDEX tc1c ON t1 (ca(767));
+CREATE INDEX td1d ON t1 (da(767));
+CREATE INDEX te1e ON t1 (ea(767));
+CREATE INDEX tf1f1 ON t1 (fa(767));
+CREATE INDEX tg1f2 ON t1 (ga(767));
+CREATE INDEX th1f3 ON t1 (ha(767));
+CREATE INDEX ti1f4 ON t1 (ia(767));
+CREATE INDEX tj1f5 ON t1 (ka(767));
+CREATE INDEX tk1f6 ON t1 (la(767));
+CREATE INDEX tl1f7 ON t1 (ma(767));
+CREATE INDEX tm1f8 ON t1 (na(767));
+CREATE INDEX tn1f9 ON t1 (oa(767));
+CREATE INDEX to1f11 ON t1 (pa(767));
+UPDATE t1 SET t=@e;
+
+# One more index and row size is too big
+--replace_regex /> [0-9]*/> max_row_size/
+--error ER_TOO_BIG_ROWSIZE
+CREATE INDEX t1f6 ON t1 (l(767));
+
+drop table t1;
+
+--echo Test an assertion failure on purge.
+
+# This test is not in innodb_8k or innodb_4k since the bug is not about
+# page size. It just tests the condition that caused the assertion.
+
+CREATE TABLE t1_purge (
+A int,
+B blob, C blob, D blob, E blob,
+F blob, G blob, H blob,
+PRIMARY KEY (B(767), C(767), D(767), E(767), A),
+INDEX (A)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t1_purge VALUES (1,
+REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
+REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766));
+
+CREATE TABLE t2_purge (
+A int PRIMARY KEY,
+B blob, C blob, D blob, E blob,
+F blob, G blob, H blob, I blob,
+J blob, K blob, L blob,
+INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t2_purge VALUES (1,
+REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
+REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766), REPEAT('i', 766),
+REPEAT('j', 766), REPEAT('k', 766), REPEAT('l', 766));
+
+CREATE TABLE t3_purge (
+A int,
+B varchar(800), C varchar(800), D varchar(800), E varchar(800),
+F varchar(800), G varchar(800), H varchar(800),
+PRIMARY KEY (B(767), C(767), D(767), E(767), A),
+INDEX (A)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t3_purge SELECT * FROM t1_purge;
+
+CREATE TABLE t4_purge (
+A int PRIMARY KEY,
+B varchar(800), C varchar(800), D varchar(800), E varchar(800),
+F varchar(800), G varchar(800), H varchar(800), I varchar(800),
+J varchar(800), K varchar(800), L varchar(800),
+INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t4_purge SELECT * FROM t2_purge;
+
+# This would trigger the failure
+# if purge gets a chance to run before DROP TABLE t1_purge, ....
+DELETE FROM t1_purge;
+DELETE FROM t2_purge;
+DELETE FROM t3_purge;
+DELETE FROM t4_purge;
+
+# A secondary index tuple is found to be too long to fit into a page.
+SET GLOBAL innodb_file_per_table=on;
+SET GLOBAL innodb_file_format='Barracuda';
+SET @r=REPEAT('a',500);
+
+CREATE TABLE tlong(a int,
+ v1 varchar(500), v2 varchar(500), v3 varchar(500),
+ v4 varchar(500), v5 varchar(500), v6 varchar(500),
+ v7 varchar(500), v8 varchar(500), v9 varchar(500),
+ v10 varchar(500), v11 varchar(500), v12 varchar(500),
+ v13 varchar(500), v14 varchar(500), v15 varchar(500),
+ v16 varchar(500), v17 varchar(500), v18 varchar(500)
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+CREATE INDEX idx1 ON tlong(a,v1);
+INSERT INTO tlong VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
+UPDATE tlong SET a=1000;
+DELETE FROM tlong;
+
+# the number of indexes has changed since the UNDO record was logged.
+# page size. It just tests the condition that caused the crash.
+
+CREATE TABLE tlong2(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
+ i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob)
+ ENGINE=innodb ROW_FORMAT=dynamic;
+
+SET @r = REPEAT('a', 767);
+INSERT INTO tlong2 VALUES (@r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r);
+CREATE INDEX ndx_a ON tlong2 (a(500));
+CREATE INDEX ndx_b ON tlong2 (b(500));
+CREATE INDEX ndx_c ON tlong2 (c(500));
+CREATE INDEX ndx_d ON tlong2 (d(500));
+CREATE INDEX ndx_e ON tlong2 (e(500));
+CREATE INDEX ndx_f ON tlong2 (f(500));
+CREATE INDEX ndx_k ON tlong2 (k(500));
+CREATE INDEX ndx_l ON tlong2 (l(500));
+
+SET @r = REPEAT('b', 500);
+UPDATE tlong2 set a=@r,b=@r,c=@r,d=@r;
+UPDATE tlong2 set e=@r,f=@r,g=@r,h=@r;
+UPDATE tlong2 set i=@r,j=@r,k=@r,l=@r;
+UPDATE tlong2 set m=@r,n=@r,o=@r,p=@r;
+
+ALTER TABLE tlong2 DROP INDEX ndx_a;
+ALTER TABLE tlong2 DROP INDEX ndx_b;
+CREATE INDEX ndx_g ON tlong2 (g(500));
+CREATE INDEX ndx_h ON tlong2 (h(500));
+CREATE INDEX ndx_i ON tlong2 (i(500));
+CREATE INDEX ndx_j ON tlong2 (j(500));
+CREATE INDEX ndx_m ON tlong2 (m(500));
+CREATE INDEX ndx_n ON tlong2 (n(500));
+CREATE INDEX ndx_o ON tlong2 (o(500));
+CREATE INDEX ndx_p ON tlong2 (p(500));
+SHOW CREATE TABLE tlong2;
+
+# InnoDB cannot know that this undo record would be too big for the undo
+# page. Too much of text field is stored in the clustered record in this
+# DYNAMIC row formatted record.
+
+SET SESSION innodb_strict_mode = ON;
+
+CREATE TABLE t3(
+a int NOT NULL, b blob NOT NULL, c text,
+PRIMARY KEY (b(10), a), INDEX (c(767)), INDEX(b(767))
+) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t3 VALUES (5,REPEAT('khdfo5AlOq',1900),REPEAT('g',7751));
+COMMIT;
+
+UPDATE t3 SET c = REPEAT('b',16928);
+SHOW WARNINGS;
+UPDATE t3 SET c = REPEAT('b',32800);
+SHOW WARNINGS;
+DROP TABLE t3;
+
+# The tests that uses these tables required the purge thread to run.
+# Just in case it has not by now, provide a 10 second wait.
+
+--sleep 10
+
+DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
+DROP TABLE tlong;
+DROP TABLE tlong2;
+
+
+CREATE TABLE t2(COL1 TEXT,
+COL2 TEXT,
+COL3 TEXT,
+COL4 TEXT,
+COL5 TEXT,
+COL6 TEXT,
+COL7 TEXT,
+COL8 TEXT,
+COL9 TEXT,
+COL10 TEXT,
+COL11 TEXT,
+COL12 TEXT,
+COL13 TEXT,
+COL14 TEXT,
+COL15 TEXT,
+COL16 TEXT,
+COL17 TEXT,
+COL18 TEXT,
+COL19 TEXT,
+COL20 TEXT,
+COL21 TEXT,
+COL22 TEXT,
+COL23 TEXT,
+COL24 TEXT,
+COL25 TEXT,
+COL26 TEXT,
+COL27 TEXT,
+COL28 TEXT,
+COL29 TEXT,
+COL30 TEXT,
+COL31 TEXT,
+COL32 TEXT,
+COL33 TEXT,
+COL34 TEXT,
+COL35 TEXT,
+COL36 TEXT,
+COL37 TEXT,
+COL38 TEXT,
+COL39 TEXT,
+COL40 TEXT,
+COL41 TEXT,
+COL42 TEXT,
+COL43 TEXT,
+COL44 TEXT,
+COL45 TEXT,
+COL46 TEXT,
+COL47 TEXT,
+COL48 TEXT,
+COL49 TEXT,
+COL50 TEXT,
+COL51 TEXT,
+COL52 TEXT,
+COL53 TEXT,
+COL54 TEXT,
+COL55 TEXT,
+COL56 TEXT,
+COL57 TEXT,
+COL58 TEXT,
+COL59 TEXT,
+COL60 TEXT,
+COL61 TEXT,
+COL62 TEXT,
+COL63 TEXT,
+COL64 TEXT,
+COL65 TEXT,
+COL66 TEXT,
+COL67 TEXT,
+COL68 TEXT,
+COL69 TEXT,
+COL70 TEXT,
+COL71 TEXT,
+COL72 TEXT,
+COL73 TEXT,
+COL74 TEXT,
+COL75 TEXT,
+COL76 TEXT,
+COL77 TEXT,
+COL78 TEXT,
+COL79 TEXT,
+COL80 TEXT,
+COL81 TEXT,
+COL82 TEXT,
+COL83 TEXT,
+COL84 TEXT,
+COL85 TEXT,
+COL86 TEXT,
+COL87 TEXT,
+COL88 TEXT,
+COL89 TEXT,
+COL90 TEXT,
+COL91 TEXT,
+COL92 TEXT,
+COL93 TEXT,
+COL94 TEXT,
+COL95 TEXT,
+COL96 TEXT,
+COL97 TEXT,
+COL98 TEXT,
+COL99 TEXT,
+COL100 TEXT,
+COL101 TEXT,
+COL102 TEXT,
+COL103 TEXT,
+COL104 TEXT,
+COL105 TEXT,
+COL106 TEXT,
+COL107 TEXT,
+COL108 TEXT,
+COL109 TEXT,
+COL110 TEXT,
+COL111 TEXT,
+COL112 TEXT,
+COL113 TEXT,
+COL114 TEXT,
+COL115 TEXT,
+COL116 TEXT,
+COL117 TEXT,
+COL118 TEXT,
+COL119 TEXT,
+COL120 TEXT,
+COL121 TEXT,
+COL122 TEXT,
+COL123 TEXT,
+COL124 TEXT,
+COL125 TEXT,
+COL126 TEXT,
+COL127 TEXT,
+COL128 TEXT,
+COL129 TEXT,
+COL130 TEXT,
+COL131 TEXT,
+COL132 TEXT,
+COL133 TEXT,
+COL134 TEXT,
+COL135 TEXT,
+COL136 TEXT,
+COL137 TEXT,
+COL138 TEXT,
+COL139 TEXT,
+COL140 TEXT,
+COL141 TEXT,
+COL142 TEXT,
+COL143 TEXT,
+COL144 TEXT,
+COL145 TEXT,
+COL146 TEXT,
+COL147 TEXT,
+COL148 TEXT,
+COL149 TEXT,
+COL150 TEXT,
+COL151 TEXT,
+COL152 TEXT,
+COL153 TEXT,
+COL154 TEXT,
+COL155 TEXT,
+COL156 TEXT,
+COL157 TEXT,
+COL158 TEXT,
+COL159 TEXT,
+COL160 TEXT,
+COL161 TEXT,
+COL162 TEXT,
+COL163 TEXT,
+COL164 TEXT,
+COL165 TEXT,
+COL166 TEXT,
+COL167 TEXT,
+COL168 TEXT,
+COL169 TEXT,
+COL170 TEXT,
+COL171 TEXT,
+COL172 TEXT,
+COL173 TEXT,
+COL174 TEXT,
+COL175 TEXT,
+COL176 TEXT,
+COL177 TEXT,
+COL178 TEXT,
+COL179 TEXT,
+COL180 TEXT,
+COL181 TEXT,
+COL182 TEXT,
+COL183 TEXT,
+COL184 TEXT,
+COL185 TEXT,
+COL186 TEXT,
+COL187 TEXT,
+COL188 TEXT,
+COL189 TEXT,
+COL190 TEXT,
+COL191 TEXT,
+COL192 TEXT,
+COL193 TEXT,
+COL194 TEXT,
+COL195 TEXT,
+COL196 TEXT,
+COL197 TEXT)
+row_format=dynamic,ENGINE=INNODB;
+
+set @a = repeat('0123456789', 800);
+set @b = repeat('9876543210', 800);
+
+insert into t2 values(
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a);
+
+update t2 set col190=@b;
+
+set @a = repeat('0123456789', 1650);
+set @b = repeat('9876543210', 2000);
+
+insert into t2 values(
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a);
+
+update t2 set col190=@b;
+#
+# Verify persistence and loading of flags in the ibd files.
+#
+
+--source include/restart_mysqld.inc
+
+set @a = repeat('abcdefghijklmnopqrstuvwxyz', 1650);
+set @b = repeat('zyxwvutsrqponmlkjihgfedcba', 2000);
+show create table t2;
+update t2 set col150=@a;
+update t2 set col145=@b;
+drop table t2;
+#
+# restore environment to the state it was before this test execution
+#
+
+--disable_query_log
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET SESSION innodb_strict_mode = $innodb_strict_mode_orig;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb-64k-crash-master.opt b/mysql-test/suite/innodb/t/innodb-64k-crash-master.opt
new file mode 100644
index 00000000000..ce51caf3fb0
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-64k-crash-master.opt
@@ -0,0 +1,5 @@
+--default_storage_engine=InnoDB
+--innodb-buffer-pool-size=32M
+--innodb-page-size=64K
+--innodb-log-file-size=32M
+
diff --git a/mysql-test/suite/innodb/t/innodb-64k-crash.test b/mysql-test/suite/innodb/t/innodb-64k-crash.test
new file mode 100644
index 00000000000..a34dd313b30
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-64k-crash.test
@@ -0,0 +1,386 @@
+--source include/have_innodb.inc
+--source include/have_innodb_64k.inc
+# Embedded server does not support restarting
+--source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+ h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+ o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+ v blob, w blob, x blob, y blob, z blob,
+ aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+ oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+ va blob, wa blob, xa blob, ya blob, za blob,
+ ab blob,bb blob,cb blob,db blob,eb blob,fb blob,gb blob,
+ hb blob,ib blob,jb blob,kb blob,lb blob,mb blob,nb blob,
+ ob blob,pb blob,qb blob,rb blob,sb blob,tb blob,ub blob,
+ vb blob, wb blob, xb blob, yb blob, zb blob,
+ ac blob, bc blob, cc blob, dc blob, ec blob,fc blob,gc blob,
+ hc blob, ic blob, jc blob, kc blob, lc blob,mc blob,nc blob,
+ oc blob, pc blob, qc blob, rc blob, sc blob,tc blob,uc blob,
+ vc blob, wc blob, xc blob, yc blob, zc blob
+ ) ENGINE=InnoDB ROW_FORMAT=dynamic;
+
+CREATE TABLE t2(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+ h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+ o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+ v blob, w blob, x blob, y blob, z blob,
+ aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+ oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+ va blob, wa blob, xa blob, ya blob, za blob,
+ ab blob,bb blob,cb blob,db blob,eb blob,fb blob,gb blob,
+ hb blob,ib blob,jb blob,kb blob,lb blob,mb blob,nb blob,
+ ob blob,pb blob,qb blob,rb blob,sb blob,tb blob,ub blob,
+ vb blob, wb blob, xb blob, yb blob, zb blob,
+ ac blob, bc blob, cc blob, dc blob, ec blob,fc blob,gc blob,
+ hc blob, ic blob, jc blob, kc blob, lc blob,mc blob,nc blob,
+ oc blob, pc blob, qc blob, rc blob, sc blob,tc blob,uc blob,
+ vc blob, wc blob, xc blob, yc blob, zc blob
+ ) ENGINE=InnoDB ROW_FORMAT=compact;
+
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+SET @f = repeat('f', 767);
+SET @f = repeat('g', 767);
+
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+
+SET @h = repeat('h', 100);
+SET @i = repeat('i', 100);
+SET @j = repeat('j', 100);
+SET @k = repeat('k', 100);
+SET @l = repeat('l', 100);
+
+INSERT INTO t2 VALUES (@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h,@h,@h,
+@h,@h,@h,@h,@h
+);
+
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+ k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b,
+ v=@b,w=@b,x=@b,y=@b,z=@b,
+ aa=@b,ba=@b,ca=@b,da=@b,ea=@b,fa=@b,ga=@b,ha=@b,ia=@b,ja=@b,
+ ka=@b,la=@b,ma=@b,na=@b,oa=@b,pa=@b,qa=@b,ra=@b,sa=@b,ta=@b,ua=@b,
+ va=@b,wa=@b,xa=@b,ya=@b,za=@b,
+ ab=@b,bb=@b,cb=@b,db=@b,eb=@b,fb=@b,gb=@b,hb=@b,ib=@b,jb=@b,
+ kb=@b,lb=@b,mb=@b,nb=@b,ob=@b,pb=@b,qb=@b,rb=@b,sb=@b,tb=@b,ub=@b,
+ vb=@b,wb=@b,xb=@b,yb=@b,zb=@b,
+ ab=@b,bb=@b,cb=@b,db=@b,eb=@b,fb=@b,gb=@b,hb=@b,ib=@b,jb=@b,
+ kb=@b,lb=@b,mb=@b,nb=@b,ob=@b,pb=@b,qb=@b,rb=@b,sb=@b,tb=@b,ub=@b,
+ vb=@b,wb=@b,xb=@b,yb=@b,zb=@b,
+ ac=@b,bc=@b,cc=@b,dc=@b,ec=@b,fc=@b,gc=@b,hc=@b,ic=@b,jc=@b,
+ kc=@b,lc=@b,mc=@b,nc=@b,oc=@b,pc=@b,qc=@b,rc=@b,sc=@b,tc=@b,uc=@b,
+ vc=@b,wc=@b,xc=@b,yc=@b,zc=@b;
+
+UPDATE t2 SET a=@i,b=@i,c=@i,d=@i,e=@i,f=@i,g=@i,h=@i,i=@i,j=@i,
+ k=@i,l=@i,m=@i,n=@i,o=@i,p=@i,q=@i,r=@i,s=@i,t=@i,u=@i,
+ v=@i,w=@i,x=@i,y=@i,z=@i,
+ aa=@i,ba=@i,ca=@i,da=@i,ea=@i,fa=@i,ga=@i,ha=@i,ia=@i,ja=@i,
+ ka=@i,la=@i,ma=@i,na=@i,oa=@i,pa=@i,qa=@i,ra=@i,sa=@i,ta=@i,ua=@i,
+ va=@i,wa=@i,xa=@i,ya=@i,za=@i,
+ ab=@i,bb=@i,cb=@i,db=@i,eb=@i,fb=@i,gb=@i,hb=@i,ib=@i,jb=@i,
+ kb=@i,lb=@i,mb=@i,nb=@i,ob=@i,pb=@i,qb=@i,rb=@i,sb=@i,tb=@i,ub=@i,
+ vb=@i,wb=@i,xb=@i,yb=@i,zb=@i,
+ ab=@i,bb=@i,cb=@i,db=@i,eb=@i,fb=@i,gb=@i,hb=@i,ib=@i,jb=@i,
+ kb=@i,lb=@i,mb=@i,nb=@i,ob=@i,pb=@i,qb=@i,rb=@i,sb=@i,tb=@i,ub=@i,
+ vb=@i,wb=@i,xb=@i,yb=@i,zb=@i,
+ ac=@i,bc=@i,cc=@i,dc=@i,ec=@i,fc=@i,gc=@i,hc=@i,ic=@i,jc=@i,
+ kc=@i,lc=@i,mc=@i,nc=@i,oc=@i,pc=@i,qc=@i,rc=@i,sc=@i,tc=@i,uc=@i,
+ vc=@i,wc=@i,xc=@i,yc=@i,zc=@i;
+
+# With this many indexes defined, we can still update all fields.
+CREATE INDEX t1a ON t1 (a(767),b(767));
+CREATE INDEX t1c ON t1 (c(767),d(767));
+CREATE INDEX t1e ON t1 (e(767),f(767));
+CREATE INDEX t1f2 ON t1 (g(767),h(767));
+CREATE INDEX t1f4 ON t1 (i(767),j(767));
+CREATE INDEX t1k ON t1 (k(767),m(767));
+CREATE INDEX t1f8 ON t1 (n(767),o(767));
+CREATE INDEX t1f11 ON t1 (p(767),q(767));
+CREATE INDEX t1f13 ON t1 (r(767),s(767));
+CREATE INDEX t1f15 ON t1 (t(767),u(767));
+CREATE INDEX t1f18 ON t1 (w(767),x(767));
+CREATE INDEX t1f20 ON t1 (y(767),z(767));
+CREATE INDEX ta1a6 ON t1 (aa(767),ba(767));
+CREATE INDEX tc1c6 ON t1 (ca(767),da(767));
+CREATE INDEX te1e6 ON t1 (ea(767),fa(767));
+
+
+CREATE INDEX t2a ON t2 (a(767),b(767));
+CREATE INDEX t2c ON t2 (c(767),d(767));
+CREATE INDEX t2e ON t2 (e(767),f(767));
+CREATE INDEX t2f2 ON t2 (g(767),h(767));
+CREATE INDEX t2f4 ON t2 (i(767),j(767));
+CREATE INDEX t2k ON t2 (k(767),m(767));
+CREATE INDEX t2f8 ON t2 (n(767),o(767));
+CREATE INDEX t2f11 ON t2 (p(767),q(767));
+CREATE INDEX t2f13 ON t2 (r(767),s(767));
+CREATE INDEX t2f15 ON t2 (t(767),u(767));
+CREATE INDEX t2f18 ON t2 (w(767),x(767));
+CREATE INDEX t2f20 ON t2 (y(767),z(767));
+CREATE INDEX ta2a6 ON t2 (aa(767),ba(767));
+CREATE INDEX tc2c6 ON t2 (ca(767),da(767));
+CREATE INDEX te2e6 ON t2 (ea(767),fa(767));
+
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+ k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+ v=@c,w=@c,x=@c,y=@c,z=@c,
+ aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@c,ua=@c,
+ va=@c,wa=@c,xa=@c,ya=@c,za=@c,
+ ab=@c,bb=@c,cb=@c,db=@c,eb=@c,fb=@c,gb=@c,hb=@c,ib=@c,jb=@c,
+ kb=@c,lb=@c,mb=@c,nb=@c,ob=@c,pb=@c,qb=@c,rb=@c,sb=@c,tb=@c,ub=@c,
+ vb=@c,wb=@c,xb=@c,yb=@c,zb=@c,
+ ac=@c,bc=@c,cc=@c,dc=@c,ec=@c,fc=@c,gc=@c,hc=@c,ic=@c,jc=@c,
+ kc=@c,lc=@c,mc=@c,nc=@c,oc=@c,pc=@c,qc=@c,rc=@c,sc=@c,tc=@c,uc=@c,
+ vc=@c,wc=@c,xc=@c,yc=@c,zc=@c;
+
+UPDATE t2 SET a=@k,b=@k,c=@k,d=@k,e=@k,f=@k,g=@k,h=@k,i=@k,j=@k,
+ k=@k,l=@k,m=@k,n=@k,o=@k,p=@k,q=@k,r=@k,s=@k,t=@k,u=@k,
+ v=@k,w=@k,x=@k,y=@k,z=@k,
+ aa=@k,ba=@k,ca=@k,da=@k,ea=@k,fa=@k,ga=@k,ha=@k,ia=@k,ja=@k,
+ ka=@k,la=@k,ma=@k,na=@k,oa=@k,pa=@k,qa=@k,ra=@k,sa=@k,ta=@k,ua=@k,
+ va=@k,wa=@k,xa=@k,ya=@k,za=@k,
+ ab=@k,bb=@k,cb=@k,db=@k,eb=@k,fb=@k,gb=@k,hb=@k,ib=@k,jb=@k,
+ kb=@k,lb=@k,mb=@k,nb=@k,ob=@k,pb=@k,qb=@k,rb=@k,sb=@k,tb=@k,ub=@k,
+ vb=@k,wb=@k,xb=@k,yb=@k,zb=@k,
+ ac=@k,bc=@k,cc=@k,dc=@k,ec=@k,fc=@k,gc=@k,hc=@k,ic=@k,jc=@k,
+ kc=@k,lc=@k,mc=@k,nc=@k,oc=@k,pc=@k,qc=@k,rc=@k,sc=@k,tc=@k,uc=@k,
+ vc=@k,wc=@k,xc=@k,yc=@k,zc=@k;
+
+COMMIT;
+
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d;
+UPDATE t1 SET k=@d,l=@d,m=@d,n=@d,o=@d;
+UPDATE t1 SET p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+UPDATE t1 SET v=@d,w=@d,x=@d,y=@d,z=@d;
+UPDATE t1 SET aa=@d,ba=@d,ca=@d,da=@d;
+UPDATE t1 SET ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d;
+UPDATE t1 SET ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d;
+UPDATE t1 SET qa=@d,ra=@d,sa=@d,ta=@d,ua=@d;
+UPDATE t1 SET va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+UPDATE t1 SET ab=@d,bb=@d,cb=@d,db=@d;
+UPDATE t1 SET eb=@d,fb=@d,gb=@d,hb=@d,ib=@d,ja=@d;
+UPDATE t1 SET kb=@d,lb=@d,mb=@d,nb=@d,ob=@d,pa=@d;
+UPDATE t1 SET qb=@d,rb=@d,sb=@d,tb=@d,ub=@d;
+UPDATE t1 SET vb=@d,wb=@d,xb=@d,yb=@d,zb=@d;
+UPDATE t1 SET ac=@d,bc=@d,cc=@d,dc=@d;
+UPDATE t1 SET ec=@d,fc=@d,gc=@d,hc=@d,ic=@d,jc=@d;
+UPDATE t1 SET kc=@d,lc=@d,mc=@d,nc=@d,oc=@d,pc=@d;
+UPDATE t1 SET qc=@d,rc=@d,sc=@d,tc=@d,uc=@d;
+UPDATE t1 SET vc=@d,wc=@d,xc=@d,yc=@d,zc=@d;
+COMMIT;
+
+BEGIN;
+UPDATE t2 SET a=@i,b=@i,c=@i,d=@i,e=@i;
+UPDATE t2 SET f=@i,g=@i,h=@i,i=@i,j=@i;
+UPDATE t2 SET k=@i,l=@i,m=@i,n=@i,o=@i;
+UPDATE t2 SET p=@i,q=@i,r=@i,s=@i,t=@i,u=@i;
+UPDATE t2 SET v=@i,w=@i,x=@i,y=@i,z=@i;
+UPDATE t2 SET aa=@i,ba=@i,ca=@i,da=@i;
+UPDATE t2 SET ea=@i,fa=@i,ga=@i,ha=@i,ia=@i,ja=@i;
+UPDATE t2 SET ka=@i,la=@i,ma=@i,na=@i,oa=@i,pa=@i;
+UPDATE t2 SET qa=@i,ra=@i,sa=@i,ta=@i,ua=@i;
+UPDATE t2 SET va=@i,wa=@i,xa=@i,ya=@i,za=@i;
+UPDATE t2 SET ab=@i,bb=@i,cb=@i,db=@i;
+UPDATE t2 SET eb=@i,fb=@i,gb=@i,hb=@i,ib=@i,ja=@i;
+UPDATE t2 SET kb=@i,lb=@i,mb=@i,nb=@i,ob=@i,pa=@i;
+UPDATE t2 SET qb=@i,rb=@i,sb=@i,tb=@i,ub=@i;
+UPDATE t2 SET vb=@i,wb=@i,xb=@i,yb=@i,zb=@i;
+UPDATE t2 SET ac=@i,bc=@i,cc=@i,dc=@i;
+UPDATE t2 SET ec=@i,fc=@i,gc=@i,hc=@i,ic=@i,jc=@i;
+UPDATE t2 SET kc=@i,lc=@i,mc=@i,nc=@i,oc=@i,pc=@i;
+UPDATE t2 SET qc=@i,rc=@i,sc=@i,tc=@i,uc=@i;
+UPDATE t2 SET vc=@i,wc=@i,xc=@i,yc=@i,zc=@i;
+COMMIT;
+
+BEGIN;
+INSERT INTO t1 SELECT * from t2;
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+ k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+ v=@c,w=@c,x=@c,y=@c,z=@c,
+ aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@c,ua=@c,
+ va=@c,wa=@c,xa=@c,ya=@c,za=@c,
+ ab=@c,bb=@c,cb=@c,db=@c,eb=@c,fb=@c,gb=@c,hb=@c,ib=@c,jb=@c,
+ kb=@c,lb=@c,mb=@c,nb=@c,ob=@c,pb=@c,qb=@c,rb=@c,sb=@c,tb=@c,ub=@c,
+ vb=@c,wb=@c,xb=@c,yb=@c,zb=@c,
+ ac=@c,bc=@c,cc=@c,dc=@c,ec=@c,fc=@c,gc=@c,hc=@c,ic=@c,jc=@c,
+ kc=@c,lc=@c,mc=@c,nc=@c,oc=@c,pc=@c,qc=@c,rc=@c,sc=@c,tc=@c,uc=@c,
+ vc=@c,wc=@c,xc=@c,yc=@c,zc=@c;
+
+--source include/kill_and_restart_mysqld.inc
+
+UPDATE t1 SET a=@e,b=@e,c=@e,d=@e,e=@e,f=@e,g=@e,h=@e,i=@e,j=@e,
+ k=@e,l=@e,m=@e,n=@e,o=@e,p=@e,q=@e,r=@e,s=@e,t=@e,u=@e,
+ v=@e,w=@e,x=@e,y=@e,z=@e,
+ aa=@e,ba=@e,ca=@e,da=@e,ea=@e,fa=@e,ga=@e,ha=@e,ia=@e,ja=@e,
+ ka=@e,la=@e,ma=@e,na=@e,oa=@e,pa=@e,qa=@e,ra=@e,sa=@e,ta=@e,ua=@e,
+ va=@e,wa=@e,xa=@e,ya=@e,za=@e,
+ ab=@e,bb=@e,cb=@e,db=@e,eb=@e,fb=@e,gb=@e,hb=@e,ib=@e,jb=@e,
+ kb=@e,lb=@e,mb=@e,nb=@e,ob=@e,pb=@e,qb=@e,rb=@e,sb=@e,tb=@e,ub=@e,
+ vb=@e,wb=@e,xb=@e,yb=@e,zb=@e,
+ ac=@e,bc=@e,cc=@e,dc=@e,ec=@e,fc=@e,gc=@e,hc=@e,ic=@e,jc=@e,
+ kc=@e,lc=@e,mc=@e,nc=@e,oc=@e,pc=@e,qc=@e,rc=@e,sc=@e,tc=@e,uc=@e,
+ vc=@e,wc=@e,xc=@e,yc=@e,zc=@e;
+
+UPDATE t2 SET a=@l,b=@l,c=@l,d=@l,e=@l,f=@l,g=@l,h=@l,i=@l,j=@l,
+ k=@l,l=@l,m=@l,n=@l,o=@l,p=@l,q=@l,r=@l,s=@l,t=@l,u=@l,
+ v=@l,w=@l,x=@l,y=@l,z=@l,
+ aa=@l,ba=@l,ca=@l,da=@l,ea=@l,fa=@l,ga=@l,ha=@l,ia=@l,ja=@l,
+ ka=@l,la=@l,ma=@l,na=@l,oa=@l,pa=@l,qa=@l,ra=@l,sa=@l,ta=@l,ua=@l,
+ va=@l,wa=@l,xa=@l,ya=@l,za=@l,
+ ab=@l,bb=@l,cb=@l,db=@l,eb=@l,fb=@l,gb=@l,hb=@l,ib=@l,jb=@l,
+ kb=@l,lb=@l,mb=@l,nb=@l,ob=@l,pb=@l,qb=@l,rb=@l,sb=@l,tb=@l,ub=@l,
+ vb=@l,wb=@l,xb=@l,yb=@l,zb=@l,
+ ac=@l,bc=@l,cc=@l,dc=@l,ec=@l,fc=@l,gc=@l,hc=@l,ic=@l,jc=@l,
+ kc=@l,lc=@l,mc=@l,nc=@l,oc=@l,pc=@l,qc=@l,rc=@l,sc=@l,tc=@l,uc=@l,
+ vc=@l,wc=@l,xc=@l,yc=@l,zc=@l;
+
+COMMIT;
+
+BEGIN;
+UPDATE t1 SET a=@f,b=@f,c=@f,d=@f,e=@f;
+UPDATE t1 SET f=@f,g=@f,h=@f,i=@f,j=@f;
+UPDATE t1 SET k=@f,l=@f,m=@f,n=@f,o=@f;
+UPDATE t1 SET p=@f,q=@f,r=@f,s=@f,t=@f,u=@f;
+UPDATE t1 SET v=@f,w=@f,x=@f,y=@f,z=@f;
+UPDATE t1 SET aa=@f,ba=@f,ca=@f,da=@f;
+UPDATE t1 SET ea=@f,fa=@f,ga=@f,ha=@f,ia=@f,ja=@f;
+UPDATE t1 SET ka=@f,la=@f,ma=@f,na=@f,oa=@f,pa=@f;
+UPDATE t1 SET qa=@f,ra=@f,sa=@f,ta=@f,ua=@f;
+UPDATE t1 SET va=@f,wa=@f,xa=@f,ya=@f,za=@f;
+UPDATE t1 SET ab=@f,bb=@f,cb=@f,db=@f;
+UPDATE t1 SET eb=@f,fb=@f,gb=@f,hb=@f,ib=@f,ja=@f;
+UPDATE t1 SET kb=@f,lb=@f,mb=@f,nb=@f,ob=@f,pa=@f;
+UPDATE t1 SET qb=@f,rb=@f,sb=@f,tb=@f,ub=@f;
+UPDATE t1 SET vb=@f,wb=@f,xb=@f,yb=@f,zb=@f;
+UPDATE t1 SET ac=@f,bc=@f,cc=@f,dc=@f;
+UPDATE t1 SET ec=@f,fc=@f,gc=@f,hc=@f,ic=@f,jc=@f;
+UPDATE t1 SET kc=@f,lc=@f,mc=@f,nc=@f,oc=@f,pc=@f;
+UPDATE t1 SET qc=@f,rc=@f,sc=@f,tc=@f,uc=@f;
+UPDATE t1 SET vc=@f,wc=@f,xc=@f,yc=@f,zc=@f;
+COMMIT;
+
+BEGIN;
+UPDATE t2 SET a=@f,b=@f,c=@f,d=@f,e=@f;
+UPDATE t2 SET f=@f,g=@f,h=@f,i=@f,j=@f;
+UPDATE t2 SET k=@f,l=@f,m=@f,n=@f,o=@f;
+UPDATE t2 SET p=@f,q=@f,r=@f,s=@f,t=@f,u=@f;
+UPDATE t2 SET v=@f,w=@f,x=@f,y=@f,z=@f;
+UPDATE t2 SET aa=@f,ba=@f,ca=@f,da=@f;
+UPDATE t2 SET ea=@f,fa=@f,ga=@f,ha=@f,ia=@f,ja=@f;
+UPDATE t2 SET ka=@f,la=@f,ma=@f,na=@f,oa=@f,pa=@f;
+UPDATE t2 SET qa=@f,ra=@f,sa=@f,ta=@f,ua=@f;
+UPDATE t2 SET va=@f,wa=@f,xa=@f,ya=@f,za=@f;
+UPDATE t2 SET ab=@f,bb=@f,cb=@f,db=@f;
+UPDATE t2 SET eb=@f,fb=@f,gb=@f,hb=@f,ib=@f,ja=@f;
+UPDATE t2 SET kb=@f,lb=@f,mb=@f,nb=@f,ob=@f,pa=@f;
+UPDATE t2 SET qb=@f,rb=@f,sb=@f,tb=@f,ub=@f;
+UPDATE t2 SET vb=@f,wb=@f,xb=@f,yb=@f,zb=@f;
+UPDATE t2 SET ac=@f,bc=@f,cc=@f,dc=@f;
+UPDATE t2 SET ec=@f,fc=@f,gc=@f,hc=@f,ic=@f,jc=@f;
+UPDATE t2 SET kc=@f,lc=@f,mc=@f,nc=@f,oc=@f,pc=@f;
+UPDATE t2 SET qc=@f,rc=@f,sc=@f,tc=@f,uc=@f;
+UPDATE t2 SET vc=@f,wc=@f,xc=@f,yc=@f,zc=@f;
+COMMIT;
+
+show create table t1;
+show create table t2;
+drop table t1,t2;
diff --git a/mysql-test/suite/innodb/t/innodb-64k-master.opt b/mysql-test/suite/innodb/t/innodb-64k-master.opt
new file mode 100644
index 00000000000..375b7fcd22f
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-64k-master.opt
@@ -0,0 +1,4 @@
+--default_storage_engine=InnoDB
+--innodb-buffer-pool-size=32M
+--innodb-page-size=64K
+--innodb-log-file-size=32M
diff --git a/mysql-test/suite/innodb/t/innodb-64k.test b/mysql-test/suite/innodb/t/innodb-64k.test
new file mode 100644
index 00000000000..0498544279b
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-64k.test
@@ -0,0 +1,661 @@
+--source include/no_valgrind_without_big.inc
+# Tests for setting innodb-page-size=64k;
+--source include/have_innodb.inc
+--source include/have_innodb_64k.inc
+
+call mtr.add_suppression("InnoDB: Warning: innodb_page_size has been changed from default value *");
+call mtr.add_suppression("InnoDB: Resizing redo log from *");
+call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files.");
+call mtr.add_suppression("InnoDB: New log files created, LSN=*");
+
+--disable_query_log
+let $MYSQLD_DATADIR= `select @@datadir`;
+# These values can change during the test
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+let $innodb_strict_mode_orig = `SELECT @@session.innodb_strict_mode`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+--echo # Test 1) Show the page size from Information Schema
+SELECT variable_value FROM information_schema.global_status
+ WHERE LOWER(variable_name) = 'innodb_page_size';
+
+--echo # Test 4) The maximum row size is dependent upon the page size.
+
+SET SESSION innodb_strict_mode = ON;
+SELECT @@innodb_strict_mode;
+
+# Redundant table
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+show warnings;
+
+# Compact table, 32701 bytes
+
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c101 char(200), c102 char(200), c103 char(200), c104 char(200), c105 char(200),
+c106 char(200), c107 char(200), c108 char(200), c109 char(200), c110 char(200),
+c111 char(200), c112 char(200), c113 char(200), c114 char(200), c115 char(200),
+c116 char(200), c117 char(200), c118 char(200), c119 char(200), c120 char(200),
+c121 char(200), c122 char(200), c123 char(200), c124 char(200), c125 char(200),
+c126 char(200), c127 char(200), c128 char(200), c129 char(200), c130 char(200),
+c131 char(200), c132 char(200), c133 char(200), c134 char(200), c135 char(200),
+c136 char(200), c137 char(200), c138 char(200), c139 char(200), c140 char(200),
+c141 char(200), c142 char(200), c143 char(200), c144 char(200), c145 char(200),
+c146 char(200), c147 char(200), c148 char(200), c149 char(200), c150 char(200),
+c151 char(200), c152 char(200), c153 char(200), c154 char(200), c155 char(200),
+c156 char(200), c157 char(200), c158 char(200), c159 char(200), c160 char(200),
+c161 char(200), c162 char(200), c163 char(200), c164 char(200), c165 char(200),
+c166 char(200), c167 char(200), c168 char(200), c169 char(200), c170 char(200),
+c171 char(200), c172 char(200), c173 char(200), c174 char(200), c175 char(200),
+c176 char(200), c177 char(200), c178 char(200), c179 char(200), c180 char(200),
+c190 char(200), c191 char(200), c192 char(100),
+c81 char(156)
+) ROW_FORMAT=compact;
+
+DROP TABLE t1;
+
+--replace_regex /> [0-9]*/> max_row_size/
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c101 char(200), c102 char(200), c103 char(200), c104 char(200), c105 char(200),
+c106 char(200), c107 char(200), c108 char(200), c109 char(200), c110 char(200),
+c111 char(200), c112 char(200), c113 char(200), c114 char(200), c115 char(200),
+c116 char(200), c117 char(200), c118 char(200), c119 char(200), c120 char(200),
+c121 char(200), c122 char(200), c123 char(200), c124 char(200), c125 char(200),
+c126 char(200), c127 char(200), c128 char(200), c129 char(200), c130 char(200),
+c131 char(200), c132 char(200), c133 char(200), c134 char(200), c135 char(200),
+c136 char(200), c137 char(200), c138 char(200), c139 char(200), c140 char(200),
+c141 char(200), c142 char(200), c143 char(200), c144 char(200), c145 char(200),
+c146 char(200), c147 char(200), c148 char(200), c149 char(200), c150 char(200),
+c151 char(200), c152 char(200), c153 char(200), c154 char(200), c155 char(200),
+c156 char(200), c157 char(200), c158 char(200), c159 char(200), c160 char(200),
+c161 char(200), c162 char(200), c163 char(200), c164 char(200), c165 char(200),
+c166 char(200), c167 char(200), c168 char(200), c169 char(200), c170 char(200),
+c171 char(200), c172 char(200), c173 char(200), c174 char(200), c175 char(200),
+c176 char(200), c177 char(200), c178 char(200), c179 char(200), c180 char(200),
+c190 char(200), c191 char(200), c192 char(100),
+c81 char(157)
+) ROW_FORMAT=compact;
+
+# Dynamic table, 32701 bytes
+
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c101 char(200), c102 char(200), c103 char(200), c104 char(200), c105 char(200),
+c106 char(200), c107 char(200), c108 char(200), c109 char(200), c110 char(200),
+c111 char(200), c112 char(200), c113 char(200), c114 char(200), c115 char(200),
+c116 char(200), c117 char(200), c118 char(200), c119 char(200), c120 char(200),
+c121 char(200), c122 char(200), c123 char(200), c124 char(200), c125 char(200),
+c126 char(200), c127 char(200), c128 char(200), c129 char(200), c130 char(200),
+c131 char(200), c132 char(200), c133 char(200), c134 char(200), c135 char(200),
+c136 char(200), c137 char(200), c138 char(200), c139 char(200), c140 char(200),
+c141 char(200), c142 char(200), c143 char(200), c144 char(200), c145 char(200),
+c146 char(200), c147 char(200), c148 char(200), c149 char(200), c150 char(200),
+c151 char(200), c152 char(200), c153 char(200), c154 char(200), c155 char(200),
+c156 char(200), c157 char(200), c158 char(200), c159 char(200), c160 char(200),
+c161 char(200), c162 char(200), c163 char(200), c164 char(200), c165 char(200),
+c166 char(200), c167 char(200), c168 char(200), c169 char(200), c170 char(200),
+c171 char(200), c172 char(200), c173 char(200), c174 char(200), c175 char(200),
+c176 char(200), c177 char(200), c178 char(200), c179 char(200), c180 char(200),
+c190 char(200), c191 char(200), c192 char(100),
+c81 char(156)
+) ROW_FORMAT=dynamic;
+
+DROP TABLE t1;
+
+--replace_regex /> [0-9]*/> max_row_size/
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE t1 (
+c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
+c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
+c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
+c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
+c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
+c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(200),
+c41 char(200), c42 char(200), c43 char(200), c44 char(200), c45 char(200),
+c46 char(200), c47 char(200), c48 char(200), c49 char(200), c50 char(200),
+c51 char(200), c52 char(200), c53 char(200), c54 char(200), c55 char(200),
+c56 char(200), c57 char(200), c58 char(200), c59 char(200), c60 char(200),
+c61 char(200), c62 char(200), c63 char(200), c64 char(200), c65 char(200),
+c66 char(200), c67 char(200), c68 char(200), c69 char(200), c70 char(200),
+c71 char(200), c72 char(200), c73 char(200), c74 char(200), c75 char(200),
+c76 char(200), c77 char(200), c78 char(200), c79 char(200), c80 char(200),
+c101 char(200), c102 char(200), c103 char(200), c104 char(200), c105 char(200),
+c106 char(200), c107 char(200), c108 char(200), c109 char(200), c110 char(200),
+c111 char(200), c112 char(200), c113 char(200), c114 char(200), c115 char(200),
+c116 char(200), c117 char(200), c118 char(200), c119 char(200), c120 char(200),
+c121 char(200), c122 char(200), c123 char(200), c124 char(200), c125 char(200),
+c126 char(200), c127 char(200), c128 char(200), c129 char(200), c130 char(200),
+c131 char(200), c132 char(200), c133 char(200), c134 char(200), c135 char(200),
+c136 char(200), c137 char(200), c138 char(200), c139 char(200), c140 char(200),
+c141 char(200), c142 char(200), c143 char(200), c144 char(200), c145 char(200),
+c146 char(200), c147 char(200), c148 char(200), c149 char(200), c150 char(200),
+c151 char(200), c152 char(200), c153 char(200), c154 char(200), c155 char(200),
+c156 char(200), c157 char(200), c158 char(200), c159 char(200), c160 char(200),
+c161 char(200), c162 char(200), c163 char(200), c164 char(200), c165 char(200),
+c166 char(200), c167 char(200), c168 char(200), c169 char(200), c170 char(200),
+c171 char(200), c172 char(200), c173 char(200), c174 char(200), c175 char(200),
+c176 char(200), c177 char(200), c178 char(200), c179 char(200), c180 char(200),
+c190 char(200), c191 char(200), c192 char(100),
+c81 char(157)
+) ROW_FORMAT=dynamic;
+
+--echo # Test 8) Test creating a table that could lead to undo log overflow.
+
+CREATE TABLE t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,
+ h blob,i blob,j blob,k blob,l blob,m blob,n blob,
+ o blob,p blob,q blob,r blob,s blob,t blob,u blob,
+ v blob, w blob, x blob, y blob, z blob,
+ aa blob,ba blob,ca blob,da blob,ea blob,fa blob,ga blob,
+ ha blob,ia blob,ja blob,ka blob,la blob,ma blob,na blob,
+ oa blob,pa blob,qa blob,ra blob,sa blob,ta blob,ua blob,
+ va blob, wa blob, xa blob, ya blob, za blob,
+ ab blob,bb blob,cb blob,db blob,eb blob,fb blob,gb blob,
+ hb blob,ib blob,jb blob,kb blob,lb blob,mb blob,nb blob,
+ ob blob,pb blob,qb blob,rb blob,sb blob,tb blob,ub blob,
+ vb blob, wb blob, xb blob, yb blob, zb blob,
+ ac blob, bc blob, cc blob, dc blob, ec blob,fc blob,gc blob,
+ hc blob, ic blob, jc blob, kc blob, lc blob,mc blob,nc blob,
+ oc blob, pc blob, qc blob, rc blob, sc blob,tc blob,uc blob,
+ vc blob, wc blob, xc blob, yc blob, zc blob
+ ) ENGINE=InnoDB ROW_FORMAT=dynamic;
+
+SET @a = repeat('a', 767);
+SET @b = repeat('b', 767);
+SET @c = repeat('c', 767);
+SET @d = repeat('d', 767);
+SET @e = repeat('e', 767);
+
+# With no indexes defined, we can update all columns to max key part length.
+
+INSERT INTO t1 VALUES (@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a
+);
+
+UPDATE t1 SET a=@b,b=@b,c=@b,d=@b,e=@b,f=@b,g=@b,h=@b,i=@b,j=@b,
+ k=@b,l=@b,m=@b,n=@b,o=@b,p=@b,q=@b,r=@b,s=@b,t=@b,u=@b,
+ v=@b,w=@b,x=@b,y=@b,z=@b,
+ aa=@b,ba=@b,ca=@b,da=@b,ea=@b,fa=@b,ga=@b,ha=@b,ia=@b,ja=@b,
+ ka=@b,la=@b,ma=@b,na=@b,oa=@b,pa=@b,qa=@b,ra=@b,sa=@b,ta=@b,ua=@b,
+ va=@b,wa=@b,xa=@b,ya=@b,za=@b,
+ ab=@b,bb=@b,cb=@b,db=@b,eb=@b,fb=@b,gb=@b,hb=@b,ib=@b,jb=@b,
+ kb=@b,lb=@b,mb=@b,nb=@b,ob=@b,pb=@b,qb=@b,rb=@b,sb=@b,tb=@b,ub=@b,
+ vb=@b,wb=@b,xb=@b,yb=@b,zb=@b,
+ ab=@b,bb=@b,cb=@b,db=@b,eb=@b,fb=@b,gb=@b,hb=@b,ib=@b,jb=@b,
+ kb=@b,lb=@b,mb=@b,nb=@b,ob=@b,pb=@b,qb=@b,rb=@b,sb=@b,tb=@b,ub=@b,
+ vb=@b,wb=@b,xb=@b,yb=@b,zb=@b,
+ ac=@b,bc=@b,cc=@b,dc=@b,ec=@b,fc=@b,gc=@b,hc=@b,ic=@b,jc=@b,
+ kc=@b,lc=@b,mc=@b,nc=@b,oc=@b,pc=@b,qc=@b,rc=@b,sc=@b,tc=@b,uc=@b,
+ vc=@b,wc=@b,xc=@b,yc=@b,zc=@b;
+
+# With this many indexes defined, we can still update all fields.
+CREATE INDEX t1a ON t1 (a(767),b(767));
+CREATE INDEX t1c ON t1 (c(767),d(767));
+CREATE INDEX t1e ON t1 (e(767),f(767));
+CREATE INDEX t1f2 ON t1 (g(767),h(767));
+CREATE INDEX t1f4 ON t1 (i(767),j(767));
+CREATE INDEX t1k ON t1 (k(767),m(767));
+CREATE INDEX t1f8 ON t1 (n(767),o(767));
+CREATE INDEX t1f11 ON t1 (p(767),q(767));
+CREATE INDEX t1f13 ON t1 (r(767),s(767));
+CREATE INDEX t1f15 ON t1 (t(767),u(767));
+CREATE INDEX t1f18 ON t1 (w(767),x(767));
+CREATE INDEX t1f20 ON t1 (y(767),z(767));
+CREATE INDEX ta1a6 ON t1 (aa(767),ba(767));
+CREATE INDEX tc1c6 ON t1 (ca(767),da(767));
+CREATE INDEX te1e6 ON t1 (ea(767),fa(767));
+
+UPDATE t1 SET a=@c,b=@c,c=@c,d=@c,e=@c,f=@c,g=@c,h=@c,i=@c,j=@c,
+ k=@c,l=@c,m=@c,n=@c,o=@c,p=@c,q=@c,r=@c,s=@c,t=@c,u=@c,
+ v=@c,w=@c,x=@c,y=@c,z=@c,
+ aa=@c,ba=@c,ca=@c,da=@c,ea=@c,fa=@c,ga=@c,ha=@c,ia=@c,ja=@c,
+ ka=@c,la=@c,ma=@c,na=@c,oa=@c,pa=@c,qa=@c,ra=@c,sa=@c,ta=@c,ua=@c,
+ va=@c,wa=@c,xa=@c,ya=@c,za=@c,
+ ab=@c,bb=@c,cb=@c,db=@c,eb=@c,fb=@c,gb=@c,hb=@c,ib=@c,jb=@c,
+ kb=@c,lb=@c,mb=@c,nb=@c,ob=@c,pb=@c,qb=@c,rb=@c,sb=@c,tb=@c,ub=@c,
+ vb=@c,wb=@c,xb=@c,yb=@c,zb=@c,
+ ac=@c,bc=@c,cc=@c,dc=@c,ec=@c,fc=@c,gc=@c,hc=@c,ic=@c,jc=@c,
+ kc=@c,lc=@c,mc=@c,nc=@c,oc=@c,pc=@c,qc=@c,rc=@c,sc=@c,tc=@c,uc=@c,
+ vc=@c,wc=@c,xc=@c,yc=@c,zc=@c;
+
+COMMIT;
+
+# Add one more index and the UNDO record becomes too big to update all columns.
+# But a single transaction can update the columns in separate statements.
+# because the UNDO records will be smaller.
+
+CREATE INDEX tg1f2 ON t1 (ia(767),ja(767));
+
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d,f=@d,g=@d,h=@d,i=@d,j=@d,
+ k=@d,l=@d,m=@d,n=@d,o=@d,p=@d,q=@d,r=@d,s=@d,t=@d,u=@d,
+ v=@d,w=@d,x=@d,y=@d,z=@d,
+ aa=@d,ba=@d,ca=@d,da=@d,ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d,
+ ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d,qa=@d,ra=@d,sa=@d,ta=@d,ua=@d,
+ va=@d,wa=@d,xa=@d,ya=@d,za=@d,
+ ab=@d,bb=@d,cb=@d,db=@d,eb=@d,fb=@d,gb=@d,hb=@d,ib=@d,jb=@d,
+ kb=@d,lb=@d,mb=@d,nb=@d,ob=@d,pb=@d,qb=@d,rb=@d,sb=@d,tb=@d,ub=@d,
+ vb=@d,wb=@d,xb=@d,yb=@d,zb=@d,
+ ac=@d,bc=@d,cc=@d,dc=@d,ec=@d,fc=@d,gc=@d,hc=@d,ic=@d,jc=@d,
+ kc=@d,lc=@d,mc=@d,nc=@d,oc=@d,pc=@d,qc=@d,rc=@d,sc=@d,tc=@d,uc=@d,
+ vc=@d,wc=@d,xc=@d,yc=@d,zc=@d;
+ROLLBACK;
+
+BEGIN;
+UPDATE t1 SET a=@d,b=@d,c=@d,d=@d,e=@d;
+UPDATE t1 SET f=@d,g=@d,h=@d,i=@d,j=@d;
+UPDATE t1 SET k=@d,l=@d,m=@d,n=@d,o=@d;
+UPDATE t1 SET p=@d,q=@d,r=@d,s=@d,t=@d,u=@d;
+UPDATE t1 SET v=@d,w=@d,x=@d,y=@d,z=@d;
+UPDATE t1 SET aa=@d,ba=@d,ca=@d,da=@d;
+UPDATE t1 SET ea=@d,fa=@d,ga=@d,ha=@d,ia=@d,ja=@d;
+UPDATE t1 SET ka=@d,la=@d,ma=@d,na=@d,oa=@d,pa=@d;
+UPDATE t1 SET qa=@d,ra=@d,sa=@d,ta=@d,ua=@d;
+UPDATE t1 SET va=@d,wa=@d,xa=@d,ya=@d,za=@d;
+UPDATE t1 SET ab=@d,bb=@d,cb=@d,db=@d;
+UPDATE t1 SET eb=@d,fb=@d,gb=@d,hb=@d,ib=@d,ja=@d;
+UPDATE t1 SET kb=@d,lb=@d,mb=@d,nb=@d,ob=@d,pa=@d;
+UPDATE t1 SET qb=@d,rb=@d,sb=@d,tb=@d,ub=@d;
+UPDATE t1 SET vb=@d,wb=@d,xb=@d,yb=@d,zb=@d;
+UPDATE t1 SET ac=@d,bc=@d,cc=@d,dc=@d;
+UPDATE t1 SET ec=@d,fc=@d,gc=@d,hc=@d,ic=@d,jc=@d;
+UPDATE t1 SET kc=@d,lc=@d,mc=@d,nc=@d,oc=@d,pc=@d;
+UPDATE t1 SET qc=@d,rc=@d,sc=@d,tc=@d,uc=@d;
+UPDATE t1 SET vc=@d,wc=@d,xc=@d,yc=@d,zc=@d;
+COMMIT;
+
+# More indexes can still be added and a single field can still be updated
+CREATE INDEX ti1f4 ON t1 (ia(767),ka(767));
+CREATE INDEX tk1f6 ON t1 (la(767),ma(767));
+CREATE INDEX tm1f8 ON t1 (na(767),oa(767));
+CREATE INDEX to1f11 ON t1 (pa(767),qa(767));
+CREATE INDEX tq1f13 ON t1 (ra(767),sa(767));
+CREATE INDEX ts1f15 ON t1 (ta(767),ua(767));
+CREATE INDEX tu1f18 ON t1 (wa(767),xa(767));
+CREATE INDEX tx1f20 ON t1 (ya(767),za(767));
+CREATE INDEX ta1a5 ON t1 (ab(767),bb(767));
+CREATE INDEX tc1c5 ON t1 (cb(767),db(767));
+CREATE INDEX te1e5 ON t1 (eb(767),fb(767));
+CREATE INDEX t5g1f2 ON t1 (gb(767),hb(767));
+CREATE INDEX t5i1f4 ON t1 (ib(767),kb(767));
+CREATE INDEX t5k1f6 ON t1 (lb(767),mb(767));
+CREATE INDEX t5m1f8 ON t1 (nb(767),ob(767));
+CREATE INDEX t5o1f11 ON t1 (pb(767),qb(767));
+CREATE INDEX t65q1f13 ON t1 (rb(767),sb(767));
+CREATE INDEX t65s1f15 ON t1 (tb(767),ub(767));
+CREATE INDEX t65u1f18 ON t1 (wb(767),xb(767));
+CREATE INDEX t65x1f20 ON t1 (yb(767),zb(767));
+CREATE INDEX xta1a5 ON t1 (ac(767),bc(767));
+CREATE INDEX xt5g1f2 ON t1 (gc(767),hc(767));
+CREATE INDEX xt5i1f4 ON t1 (ic(767));
+CREATE INDEX xtc1c5 ON t1 (cc(767),dc(767));
+CREATE INDEX xte1e5 ON t1 (ec(767),fc(767));
+UPDATE t1 SET t=@e;
+
+# One more index and row size is too big
+--replace_regex /> [0-9]*/> max_row_size/
+--error ER_TOO_BIG_ROWSIZE
+CREATE INDEX xt5k1f6 ON t1 (lc(767),mc(767));
+SHOW CREATE TABLE t1;
+SHOW WARNINGS;
+
+CREATE TABLE t2(COL1 TEXT,
+COL2 TEXT,
+COL3 TEXT,
+COL4 TEXT,
+COL5 TEXT,
+COL6 TEXT,
+COL7 TEXT,
+COL8 TEXT,
+COL9 TEXT,
+COL10 TEXT,
+COL11 TEXT,
+COL12 TEXT,
+COL13 TEXT,
+COL14 TEXT,
+COL15 TEXT,
+COL16 TEXT,
+COL17 TEXT,
+COL18 TEXT,
+COL19 TEXT,
+COL20 TEXT,
+COL21 TEXT,
+COL22 TEXT,
+COL23 TEXT,
+COL24 TEXT,
+COL25 TEXT,
+COL26 TEXT,
+COL27 TEXT,
+COL28 TEXT,
+COL29 TEXT,
+COL30 TEXT,
+COL31 TEXT,
+COL32 TEXT,
+COL33 TEXT,
+COL34 TEXT,
+COL35 TEXT,
+COL36 TEXT,
+COL37 TEXT,
+COL38 TEXT,
+COL39 TEXT,
+COL40 TEXT,
+COL41 TEXT,
+COL42 TEXT,
+COL43 TEXT,
+COL44 TEXT,
+COL45 TEXT,
+COL46 TEXT,
+COL47 TEXT,
+COL48 TEXT,
+COL49 TEXT,
+COL50 TEXT,
+COL51 TEXT,
+COL52 TEXT,
+COL53 TEXT,
+COL54 TEXT,
+COL55 TEXT,
+COL56 TEXT,
+COL57 TEXT,
+COL58 TEXT,
+COL59 TEXT,
+COL60 TEXT,
+COL61 TEXT,
+COL62 TEXT,
+COL63 TEXT,
+COL64 TEXT,
+COL65 TEXT,
+COL66 TEXT,
+COL67 TEXT,
+COL68 TEXT,
+COL69 TEXT,
+COL70 TEXT,
+COL71 TEXT,
+COL72 TEXT,
+COL73 TEXT,
+COL74 TEXT,
+COL75 TEXT,
+COL76 TEXT,
+COL77 TEXT,
+COL78 TEXT,
+COL79 TEXT,
+COL80 TEXT,
+COL81 TEXT,
+COL82 TEXT,
+COL83 TEXT,
+COL84 TEXT,
+COL85 TEXT,
+COL86 TEXT,
+COL87 TEXT,
+COL88 TEXT,
+COL89 TEXT,
+COL90 TEXT,
+COL91 TEXT,
+COL92 TEXT,
+COL93 TEXT,
+COL94 TEXT,
+COL95 TEXT,
+COL96 TEXT,
+COL97 TEXT,
+COL98 TEXT,
+COL99 TEXT,
+COL100 TEXT,
+COL101 TEXT,
+COL102 TEXT,
+COL103 TEXT,
+COL104 TEXT,
+COL105 TEXT,
+COL106 TEXT,
+COL107 TEXT,
+COL108 TEXT,
+COL109 TEXT,
+COL110 TEXT,
+COL111 TEXT,
+COL112 TEXT,
+COL113 TEXT,
+COL114 TEXT,
+COL115 TEXT,
+COL116 TEXT,
+COL117 TEXT,
+COL118 TEXT,
+COL119 TEXT,
+COL120 TEXT,
+COL121 TEXT,
+COL122 TEXT,
+COL123 TEXT,
+COL124 TEXT,
+COL125 TEXT,
+COL126 TEXT,
+COL127 TEXT,
+COL128 TEXT,
+COL129 TEXT,
+COL130 TEXT,
+COL131 TEXT,
+COL132 TEXT,
+COL133 TEXT,
+COL134 TEXT,
+COL135 TEXT,
+COL136 TEXT,
+COL137 TEXT,
+COL138 TEXT,
+COL139 TEXT,
+COL140 TEXT,
+COL141 TEXT,
+COL142 TEXT,
+COL143 TEXT,
+COL144 TEXT,
+COL145 TEXT,
+COL146 TEXT,
+COL147 TEXT,
+COL148 TEXT,
+COL149 TEXT,
+COL150 TEXT,
+COL151 TEXT,
+COL152 TEXT,
+COL153 TEXT,
+COL154 TEXT,
+COL155 TEXT,
+COL156 TEXT,
+COL157 TEXT,
+COL158 TEXT,
+COL159 TEXT,
+COL160 TEXT,
+COL161 TEXT,
+COL162 TEXT,
+COL163 TEXT,
+COL164 TEXT,
+COL165 TEXT,
+COL166 TEXT,
+COL167 TEXT,
+COL168 TEXT,
+COL169 TEXT,
+COL170 TEXT,
+COL171 TEXT,
+COL172 TEXT,
+COL173 TEXT,
+COL174 TEXT,
+COL175 TEXT,
+COL176 TEXT,
+COL177 TEXT,
+COL178 TEXT,
+COL179 TEXT,
+COL180 TEXT,
+COL181 TEXT,
+COL182 TEXT,
+COL183 TEXT,
+COL184 TEXT,
+COL185 TEXT,
+COL186 TEXT,
+COL187 TEXT,
+COL188 TEXT,
+COL189 TEXT,
+COL190 TEXT,
+COL191 TEXT,
+COL192 TEXT,
+COL193 TEXT,
+COL194 TEXT,
+COL195 TEXT,
+COL196 TEXT,
+COL197 TEXT)
+row_format=dynamic,ENGINE=INNODB;
+
+set @a = repeat('0123456789', 800);
+set @b = repeat('9876543210', 800);
+
+insert into t2 values(
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a);
+
+update t2 set col190=@b;
+
+set @a = repeat('0123456789', 1650);
+set @b = repeat('9876543210', 2000);
+
+insert into t2 values(
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,
+@a,@a,@a,@a,@a,@a,@a);
+
+update t2 set col190=@b;
+
+#
+# Verify persistence and loading of flags in the ibd files.
+#
+
+--source include/restart_mysqld.inc
+
+set @a = repeat('abcdefghijklmnopqrstuvwxyz', 1650);
+set @b = repeat('zyxwvutsrqponmlkjihgfedcba', 2000);
+update t2 set col189 = @b;
+insert into t2 select * from t2;
+show create table t1;
+show create table t2;
+
+BEGIN;
+update t2 set col150=@a;
+update t2 set col145=@b;
+COMMIT;
+
+drop table t2;
+DROP TABLE t1;
+#
+# restore environment to the state it was before this test execution
+#
+
+--disable_query_log
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET SESSION innodb_strict_mode = $innodb_strict_mode_orig;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb-agregate.test b/mysql-test/suite/innodb/t/innodb-agregate.test
new file mode 100644
index 00000000000..e15548c087a
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-agregate.test
@@ -0,0 +1,18 @@
+--source include/have_innodb.inc
+
+#
+# MDEV-9667: Server hangs after select count(distinct name) from t2 where a=8366 and b>=5 and b<=5;
+#
+
+create table t2 (a smallint(6) not null, b int(10) not null, name varchar(20), primary key(a,b), key(name)) engine=InnoDB;
+
+insert into t2 values (8355,3,"sanja"),(8355,4,"wlad"),(8366,5, "lawrin"),(8366,6,"markusjm");
+
+select count(distinct name) from t2 where a=8366 and b>=5 and b<=5;
+select count(distinct name) from t2 where a=8366 and b=5;
+select count(distinct name) from t2 where a=8366 and b between 5 and 5.5;
+select sum(distinct a) from t2 where a=8366 and b>=5 and b<=5;
+select sum(distinct a) from t2 where a=8366 and b=5;
+select sum(distinct a) from t2 where a=8366 and b between 5 and 5.5;
+
+drop table t2;
diff --git a/mysql-test/suite/innodb/t/innodb-alter-autoinc.test b/mysql-test/suite/innodb/t/innodb-alter-autoinc.test
new file mode 100644
index 00000000000..e01c44aa26e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-alter-autoinc.test
@@ -0,0 +1,104 @@
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(347),(33101),(123),(45),(6);
+# NULL -> NOT NULL only allowed INPLACE if strict sql_mode is on.
+SET @old_sql_mode = @@sql_mode;
+SET @@sql_mode = 'STRICT_TRANS_TABLES';
+ALTER TABLE t1 ADD PRIMARY KEY(a);
+SET @@sql_mode = @old_sql_mode;
+
+# We cannot assign AUTO_INCREMENT values during online index creation.
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+ LOCK=NONE;
+
+--error ER_WRONG_AUTO_KEY
+ALTER TABLE t1 ADD id INT AUTO_INCREMENT;
+
+--error ER_WRONG_AUTO_KEY
+ALTER TABLE t1 ADD id INT AUTO_INCREMENT, ADD INDEX(a, id);
+
+ALTER TABLE t1 ADD id INT NOT NULL, ADD INDEX(id, a);
+
+SELECT * FROM t1;
+
+# Test with a non-default increment and offset
+SET AUTO_INCREMENT_INCREMENT = 5, AUTO_INCREMENT_OFFSET = 30;
+
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+ DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=COPY;
+
+SHOW CREATE TABLE t1;
+
+# The autoinc next value should increase. It is not rolled back.
+BEGIN;
+INSERT INTO t1 VALUES(7,0);
+SELECT * FROM t1;
+ROLLBACK;
+
+SHOW CREATE TABLE t1;
+
+# We cannot assign AUTO_INCREMENT values during online index creation.
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+ DROP COLUMN id, AUTO_INCREMENT = 42, LOCK=NONE;
+
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+ DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=INPLACE;
+
+SELECT * FROM t1;
+SHOW CREATE TABLE t1;
+
+INSERT INTO t1 SET a=123;
+INSERT INTO t1 VALUES(-123,-45);
+
+ALTER TABLE t1 AUTO_INCREMENT = 75;
+
+INSERT INTO t1 SET a=123;
+SELECT * FROM t1;
+
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+# ALGORITHM=INPLACE should deliver identical results to ALGORITHM=COPY.
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(347),(33101),(123),(45),(6);
+ALTER TABLE t1 ADD PRIMARY KEY(a);
+
+ALTER TABLE t1 ADD id INT NOT NULL, ADD INDEX(id, a);
+
+SELECT * FROM t1;
+
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+ DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=INPLACE;
+
+SHOW CREATE TABLE t1;
+
+# The autoinc next value should increase. It is not rolled back.
+BEGIN;
+INSERT INTO t1 VALUES(7,0);
+SELECT * FROM t1;
+ROLLBACK;
+
+SHOW CREATE TABLE t1;
+
+ALTER TABLE t1 DROP PRIMARY KEY, ADD id INT AUTO_INCREMENT PRIMARY KEY,
+ DROP COLUMN id, AUTO_INCREMENT = 42, ALGORITHM=COPY;
+
+SELECT * FROM t1;
+
+SHOW CREATE TABLE t1;
+
+INSERT INTO t1 SET a=123;
+INSERT INTO t1 VALUES(-123,-45);
+
+ALTER TABLE t1 AUTO_INCREMENT = 75;
+
+INSERT INTO t1 SET a=123;
+SELECT * FROM t1;
+
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-alter-debug.test b/mysql-test/suite/innodb/t/innodb-alter-debug.test
new file mode 100644
index 00000000000..3c457294884
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-alter-debug.test
@@ -0,0 +1,134 @@
+--source include/innodb_page_size.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+--source include/count_sessions.inc
+
+SET NAMES utf8;
+
+CREATE TABLE â‘  (
+ c1 INT PRIMARY KEY, c2 INT DEFAULT 1, ct TEXT, INDEX(c2))
+ENGINE = InnoDB;
+
+CREATE TABLE t1ć (c1 INT PRIMARY KEY, c2 INT, INDEX(c2),
+ CONSTRAINT t1c2 FOREIGN KEY (c2) REFERENCES â‘ (c2))
+ENGINE=InnoDB;
+
+INSERT INTO â‘  SET c1 = 1;
+
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG = '+d,ib_drop_foreign_error';
+--error ER_RECORD_FILE_FULL
+ALTER TABLE t1ć DROP FOREIGN KEY t1c2, RENAME TO ②;
+SET DEBUG_DBUG = @saved_debug_dbug;
+
+SET DEBUG_DBUG = '+d,ib_rename_column_error';
+--error ER_RECORD_FILE_FULL
+ALTER TABLE â‘  CHANGE c2 Å¡ INT;
+SET DEBUG_DBUG = @saved_debug_dbug;
+
+SHOW CREATE TABLE t1ć;
+
+DROP TABLE t1ć, ①;
+
+--echo #
+--echo # Bug #21364096 THE BOGUS DUPLICATE KEY ERROR IN ONLINE DDL
+--echo # WITH INCORRECT KEY NAME
+
+create table t1 (id int auto_increment primary key, a int, unique key uk(a))
+engine = innodb;
+insert into t1 select 1, 1;
+insert into t1 select 2, 2;
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL s1 WAIT_FOR s2';
+--send alter table t1 add b int, ALGORITHM=inplace
+
+--echo /* connection con1 */
+connect (con1,localhost,root,,);
+SET DEBUG_SYNC = 'now WAIT_FOR s1';
+--error ER_DUP_ENTRY
+insert into t1 select NULL, 1;
+SET DEBUG_SYNC = 'now SIGNAL s2';
+
+--echo /* connection default */
+connection default;
+--echo /* reap */ alter table t1 add b int, ALGORITHM=inplace;
+--error ER_DUP_ENTRY
+--reap
+
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL s1 WAIT_FOR s2';
+--send alter table t1 add b int, ALGORITHM=inplace;
+
+--echo /* connection con1 */
+connection con1;
+set DEBUG_SYNC = 'now WAIT_FOR s1';
+--error ER_DUP_ENTRY
+update t1 set a=1 where id=2;
+SET DEBUG_SYNC = 'now SIGNAL s2';
+
+--echo /* connection default */
+connection default;
+--echo /* reap */ alter table t1 add b int, ALGORITHM=inplace;
+--error ER_DUP_ENTRY
+--reap
+SET DEBUG_SYNC = 'RESET';
+
+drop table t1;
+
+--echo #
+--echo # Bug #27753193 ASSERTION `PREBUILT->TRX->ERROR_KEY_NUM <
+--echo # HA_ALTER_INFO->KEY_COUNT'
+
+CREATE TABLE t1 (a INT, UNIQUE KEY(a)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+SET DEBUG_SYNC = 'row_log_table_apply1_before signal S1 WAIT_FOR S2';
+send ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
+
+connection con1;
+SET DEBUG_SYNC = 'now WAIT_FOR S1';
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (1);
+SET DEBUG_SYNC = 'now SIGNAL S2';
+disconnect con1;
+
+CONNECTION default;
+--error ER_DUP_ENTRY
+reap;
+SET DEBUG_SYNC='RESET';
+
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-17470 Orphan temporary files after interrupted ALTER
+--echo # cause InnoDB: Operating system error number 17 and eventual
+--echo # fatal error 71
+--echo #
+CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY, i INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL,1),(NULL,2),(NULL,3),(NULL,4),(NULL,5),(NULL,6),(NULL,7),(NULL,8);
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+INSERT INTO t1 SELECT NULL, i FROM t1;
+
+LOCK TABLE t1 READ;
+
+--connect (con1,localhost,root,,test)
+let $ID= `SELECT @id := CONNECTION_ID()`;
+send ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+
+--connection default
+let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock';
+source include/wait_condition.inc;
+let $ignore= `SELECT @id := $ID`;
+kill query @id;
+--connection con1
+--error ER_QUERY_INTERRUPTED
+reap;
+--disconnect con1
+--connection default
+UNLOCK TABLES;
+DROP TABLE t1;
+
+# Wait till all disconnects are completed
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/innodb-alter-discard.test b/mysql-test/suite/innodb/t/innodb-alter-discard.test
new file mode 100644
index 00000000000..c90992e58a3
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-alter-discard.test
@@ -0,0 +1,46 @@
+#Bug#13955083 ALLOW IN-PLACE DDL OPERATIONS ON MISSING OR DISCARDED TABLESPACES
+
+--source include/not_embedded.inc
+--source include/innodb_page_size.inc
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+SET GLOBAL innodb_file_per_table=1;
+CREATE TABLE t(a INT)ENGINE=InnoDB;
+
+# Shut down the server
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- shutdown_server
+-- source include/wait_until_disconnected.inc
+
+# Remove the tablespace file.
+let IBD=$MYSQLD_DATADIR/test/t.ibd;
+perl;
+unlink "$ENV{IBD}" || die "Unable to unlink $ENV{IBD}\n";
+EOF
+
+# Restart the server.
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- enable_reconnect
+-- source include/wait_until_connected_again.inc
+
+call mtr.add_suppression("InnoDB: Error: trying to open a table, but could not$");
+call mtr.add_suppression("MySQL is trying to open a table handle but the \.ibd file for$");
+call mtr.add_suppression("InnoDB: Table 'test/t'$");
+call mtr.add_suppression("Could not find a valid tablespace file for");
+call mtr.add_suppression("InnoDB: Tablespace open failed for '\"test\"\.\"t\"', ignored");
+call mtr.add_suppression("InnoDB: Failed to find tablespace for table '\"test\"\.\"t\"' in the cache");
+call mtr.add_suppression("InnoDB: Cannot delete tablespace [0-9]+.*not found");
+call mtr.add_suppression("Table .*t in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist");
+
+# The ER_NO_SUCH_TABLE is being thrown by ha_innobase::open().
+# The table does exist, only the tablespace does not exist.
+--error ER_NO_SUCH_TABLE_IN_ENGINE
+SELECT * FROM t;
+
+--error ER_NO_SUCH_TABLE_IN_ENGINE
+ALTER TABLE t ADD INDEX (a), ALGORITHM=INPLACE;
+--error ER_NO_SUCH_TABLE
+ALTER TABLE t1 ADD INDEX (a), ALGORITHM=COPY;
+
+ALTER TABLE t DISCARD TABLESPACE;
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/t/innodb-alter-nullable.test b/mysql-test/suite/innodb/t/innodb-alter-nullable.test
new file mode 100644
index 00000000000..81e464eddac
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-alter-nullable.test
@@ -0,0 +1,107 @@
+--source include/innodb_page_size.inc
+
+# Save the initial number of concurrent sessions.
+--source include/count_sessions.inc
+
+CREATE TABLE t (c1 INT PRIMARY KEY, c2 INT NOT NULL, c3 INT) ENGINE=InnoDB;
+INSERT INTO t VALUES (1,2,3),(4,5,6),(7,8,9);
+
+--enable_info
+# This one will be a no-op.
+# MySQL should perhaps issue an error, because it refuses to modify
+# the PRIMARY KEY column c1 from NOT NULL to NULL.
+ALTER TABLE t CHANGE c1 c1 INT NULL FIRST, ALGORITHM=INPLACE;
+
+# NULL -> NOT NULL only allowed INPLACE if strict sql_mode is on.
+--disable_info
+set @old_sql_mode = @@sql_mode;
+set @@sql_mode = 'STRICT_TRANS_TABLES';
+--enable_info
+ALTER TABLE t MODIFY c3 INT NOT NULL, ALGORITHM=INPLACE;
+--disable_info
+set @@sql_mode = @old_sql_mode;
+--enable_info
+
+# Request some conflicting changes for a single column.
+--error ER_BAD_FIELD_ERROR
+ALTER TABLE t CHANGE c2 c2 INT, CHANGE c2 c2 INT NOT NULL;
+--error ER_BAD_FIELD_ERROR
+ALTER TABLE t MODIFY c2 INT, MODIFY c2 INT NOT NULL;
+--error ER_BAD_FIELD_ERROR
+ALTER TABLE t MODIFY c2 INT UNSIGNED, MODIFY c2 INT;
+--error ER_BAD_FIELD_ERROR
+ALTER TABLE t MODIFY c2 CHAR(1) NOT NULL, MODIFY c2 INT NOT NULL;
+
+# No-ops.
+ALTER TABLE t CHANGE c2 c2 INT NOT NULL;
+ALTER TABLE t MODIFY c2 INT NOT NULL;
+--disable_info
+
+connect (con1,localhost,root,,);
+connection con1;
+
+SET SQL_MODE='STRICT_ALL_TABLES';
+
+--error ER_BAD_NULL_ERROR
+UPDATE t SET c2=NULL;
+
+SELECT * FROM t;
+
+connection default;
+
+# This should change the column to NULL.
+ALTER TABLE t MODIFY c2 INT, ALGORITHM=INPLACE;
+
+connection con1;
+BEGIN;
+UPDATE t SET c2=NULL;
+SELECT * FROM t;
+ROLLBACK;
+SELECT * FROM t;
+
+disconnect con1;
+connection default;
+
+# This should be no-op.
+ALTER TABLE t MODIFY c2 INT NULL, ALGORITHM=INPLACE;
+
+--replace_column 1 # 5 #
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME='test/t';
+
+DROP TABLE t;
+
+CREATE TABLE t1(c1 INT) ENGINE=InnoDB;
+ALTER TABLE t1 ADD CONSTRAINT UNIQUE KEY i1(c1);
+ALTER TABLE t1 CHANGE c1 c1 INT NOT NULL,ADD KEY(c1);
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-18732 InnoDB: ALTER IGNORE returns error for NULL
+--echo #
+
+SET @mode = @@sql_mode;
+SET sql_mode = STRICT_TRANS_TABLES;
+CREATE TABLE t1(c INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL);
+--enable_info
+ALTER IGNORE TABLE t1 MODIFY c INT NOT NULL;
+--disable_info
+--error ER_BAD_NULL_ERROR
+INSERT INTO t1 VALUES (NULL);
+SELECT * FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1(c INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),(1),(1);
+--enable_info
+ALTER IGNORE TABLE t1 ADD UNIQUE(c);
+ALTER IGNORE TABLE t1 ADD PRIMARY KEY(c);
+--disable_info
+SELECT * FROM t1;
+DROP TABLE t1;
+SET sql_mode = @mode;
+
+# Check that all connections opened by test cases in this file are really
+# gone so execution of other tests won't be affected by their presence.
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/innodb-alter-table.test b/mysql-test/suite/innodb/t/innodb-alter-table.test
new file mode 100644
index 00000000000..0cf456ad146
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-alter-table.test
@@ -0,0 +1,206 @@
+--source include/innodb_page_size.inc
+--source include/have_partition.inc
+
+#
+# MMDEV-8386: MariaDB creates very big tmp file and hangs on xtradb
+#
+drop database if exists moodle19;
+create database moodle19;
+use moodle19;
+
+CREATE TABLE `mdl_course_modules` (
+ `id` bigint(10) NOT NULL AUTO_INCREMENT,
+ `course` bigint(10) NOT NULL DEFAULT '0',
+ `module` bigint(10) NOT NULL DEFAULT '0',
+ `instance` bigint(10) NOT NULL DEFAULT '0',
+ `section` bigint(10) NOT NULL DEFAULT '0',
+ `idnumber` varchar(100) DEFAULT NULL,
+ `added` bigint(10) NOT NULL DEFAULT '0',
+ `delay` varchar(10) NOT NULL DEFAULT '0',
+ `score` smallint(4) NOT NULL DEFAULT '0',
+ `indent` mediumint(5) NOT NULL DEFAULT '0',
+ `visible` tinyint(1) NOT NULL DEFAULT '1',
+ `checkboxesforprereqs` tinyint(1) NOT NULL DEFAULT '0',
+ `stylewhencomplete` varchar(200) DEFAULT '',
+ `checkboxforcomplete` tinyint(1) NOT NULL DEFAULT '0',
+ `stylewhenlocked` varchar(200) DEFAULT 'locked',
+ `visiblewhenlocked` tinyint(1) NOT NULL DEFAULT '1',
+ `visibleold` tinyint(1) NOT NULL DEFAULT '1',
+ `groupmode` smallint(4) NOT NULL DEFAULT '0',
+ `groupingid` bigint(10) NOT NULL DEFAULT '0',
+ `groupmembersonly` smallint(4) NOT NULL DEFAULT '0',
+ `completion` tinyint(1) NOT NULL DEFAULT '0',
+ `completiongradeitemnumber` bigint(10) DEFAULT NULL,
+ `completionview` tinyint(1) NOT NULL DEFAULT '0',
+ `completionexpected` bigint(10) NOT NULL DEFAULT '0',
+ `availablefrom` bigint(10) NOT NULL DEFAULT '0',
+ `availableuntil` bigint(10) NOT NULL DEFAULT '0',
+ `showavailability` tinyint(1) NOT NULL DEFAULT '0',
+ `showdescription` tinyint(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `mdl_courmodu_vis_ix` (`visible`),
+ KEY `mdl_courmodu_cou_ix` (`course`),
+ KEY `mdl_courmodu_mod_ix` (`module`),
+ KEY `mdl_courmodu_ins_ix` (`instance`),
+ KEY `mdl_courmodu_idncou_ix` (`idnumber`,`course`),
+ KEY `mdl_courmodu_gro_ix` (`groupingid`)
+) ENGINE=InnoDB AUTO_INCREMENT=447023 DEFAULT CHARSET=utf8 COMMENT='course_modules table retrofitted from MySQL';
+
+let $num= 2701;
+--disable_query_log
+--echo # Inserting $num rows into the table...
+while ($num)
+{
+ eval INSERT INTO mdl_course_modules VALUES ($num,4,5,5,24,NULL,1141569781,'',0,0,1,0,'',0,'locked',1,1,0,0,0,0,NULL,0,0,0,0,0,0);
+ dec $num;
+}
+--enable_query_log
+ALTER TABLE moodle19.mdl_course_modules ADD stefantest LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci AFTER showdescription;
+
+drop database moodle19;
+
+#
+# Mdev-9469: Incorrect key file on alter table
+#
+use test;
+
+CREATE TABLE `w_findispmon05u` (
+`atpkey` INT(11) NOT NULL DEFAULT '0',
+`atzo05` INT(11) NULL DEFAULT NULL,
+`pos` BIGINT(21) NULL DEFAULT NULL,
+`f5BnvB` INT(9) NULL DEFAULT NULL,
+`f5atbvb` INT(11) NULL DEFAULT NULL,
+`f5atbwmg` INT(11) NULL DEFAULT NULL,
+`f5pBneu` BIGINT(12) NULL DEFAULT NULL,
+`atbwdt` INT(11) NULL DEFAULT NULL,
+`atbwzt` INT(11) NULL DEFAULT NULL,
+`atbart` VARCHAR(10) NULL DEFAULT NULL
+)
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB;
+ALTER TABLE `w_findispmon05u`
+CHANGE COLUMN `atpkey` `f5atpkey` INT(11) NOT NULL DEFAULT '0' FIRST,
+CHANGE COLUMN `atzo05` `f5atzo05` INT(11) NULL DEFAULT NULL AFTER `f5atpkey`,
+CHANGE COLUMN `atbwdt` `f5atbwdt` INT(11) NULL DEFAULT NULL AFTER `f5pBneu`,
+CHANGE COLUMN `atbwzt` `f5atbwzt` INT(11) NULL DEFAULT NULL AFTER `f5atbwdt`,
+CHANGE COLUMN `atbart` `f5atbart` VARCHAR(10) NULL DEFAULT NULL AFTER `f5atbwzt`,
+ADD INDEX `atpkey` (`f5atpkey`),
+ADD INDEX `inatkey` (`f5atzo05`, `pos`),
+ADD INDEX `pos` (`pos`, `f5atzo05`);
+
+SHOW WARNINGS;
+SHOW CREATE TABLE `w_findispmon05u`;
+
+DROP TABLE `w_findispmon05u`;
+
+CREATE TABLE t (
+ a INT NOT NULL,
+ b INT NOT NULL,
+ PRIMARY KEY (a)
+) ENGINE=INNODB;
+
+ALTER TABLE t
+ CHANGE COLUMN b c INT NOT NULL,
+ ADD UNIQUE INDEX (c);
+
+SHOW WARNINGS;
+SHOW CREATE TABLE t;
+
+# this should fail
+--error 1072
+ALTER TABLE t
+ CHANGE COLUMN c b INT NOT NULL,
+ ADD UNIQUE INDEX (c);
+
+DROP TABLE t;
+
+#
+# Check Foreign Keys
+#
+CREATE TABLE parent (
+ a INT NOT NULL,
+ b INT NOT NULL,
+ PRIMARY KEY (a)
+) ENGINE=INNODB;
+
+CREATE TABLE child (
+ a INT NOT NULL,
+ b INT NOT NULL,
+ PRIMARY KEY (a)
+) ENGINE=INNODB;
+
+ALTER TABLE child
+ CHANGE COLUMN b c INT NOT NULL,
+ ADD FOREIGN KEY (c) REFERENCES parent(a);
+
+SHOW WARNINGS;
+
+SHOW CREATE TABLE child;
+
+DROP TABLE child, parent;
+
+#
+# MDEV-10535: ALTER TABLE causes standalone/wsrep cluster crash
+#
+CREATE TABLE IF NOT EXISTS ticket (
+ id INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ mask VARCHAR(16) DEFAULT '' NOT NULL,
+ subject VARCHAR(255) DEFAULT '' NOT NULL,
+ is_closed TINYINT(1) UNSIGNED DEFAULT 0 NOT NULL,
+ is_deleted TINYINT(1) UNSIGNED DEFAULT 0 NOT NULL,
+ team_id INT UNSIGNED DEFAULT 0 NOT NULL,
+ category_id INT UNSIGNED DEFAULT 0 NOT NULL,
+ first_message_id INT UNSIGNED DEFAULT 0 NOT NULL,
+ created_date INT UNSIGNED,
+ updated_date INT UNSIGNED,
+ due_date INT UNSIGNED,
+ first_wrote_address_id INT UNSIGNED NOT NULL DEFAULT 0,
+ last_wrote_address_id INT UNSIGNED NOT NULL DEFAULT 0,
+ spam_score DECIMAL(4,4) NOT NULL DEFAULT 0,
+ spam_training VARCHAR(1) NOT NULL DEFAULT '',
+ interesting_words VARCHAR(255) NOT NULL DEFAULT '',
+ next_action VARCHAR(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (id)
+) ENGINE=InnoDB;
+
+ALTER TABLE ticket
+ CHANGE COLUMN team_id group_id INT UNSIGNED NOT NULL DEFAULT 0,
+ CHANGE COLUMN category_id bucket_id INT UNSIGNED NOT NULL DEFAULT 0,
+ ADD COLUMN org_id INT UNSIGNED NOT NULL DEFAULT 0,
+ ADD INDEX org_id (org_id);
+
+SHOW CREATE TABLE ticket;
+
+DROP TABLE ticket;
+
+#
+# MDEV-13838: Wrong result after altering a partitioned table
+#
+
+CREATE TABLE t (
+id bigint(20) unsigned NOT NULL auto_increment,
+d date NOT NULL,
+a bigint(20) unsigned NOT NULL,
+b smallint(5) unsigned DEFAULT NULL,
+PRIMARY KEY (id,d)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs STATS_SAMPLE_PAGES=2
+PARTITION BY RANGE COLUMNS(d)
+(
+PARTITION p20170914 VALUES LESS THAN ('2017-09-15') ENGINE = InnoDB,
+PARTITION p99991231 VALUES LESS THAN (MAXVALUE) ENGINE = InnoDB);
+
+insert into t(d,a,b) values ('2017-09-15',rand()*10000,rand()*10);
+insert into t(d,a,b) values ('2017-09-15',rand()*10000,rand()*10);
+
+replace into t(d,a,b) select '2017-09-15',rand()*10000,rand()*10 from t t1, t t2, t t3, t t4;
+
+select count(*) from t where d ='2017-09-15';
+
+ALTER TABLE t CHANGE b c smallint(5) unsigned , ADD KEY idx_d_a (d, a);
+SHOW CREATE TABLE t;
+analyze table t;
+
+select count(*) from t where d ='2017-09-15';
+select count(*) from t force index(primary) where d ='2017-09-15';
+
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/t/innodb-alter-tempfile.test b/mysql-test/suite/innodb/t/innodb-alter-tempfile.test
new file mode 100644
index 00000000000..d3f34b12ea6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-alter-tempfile.test
@@ -0,0 +1,74 @@
+# Not supported in embedded
+--source include/not_embedded.inc
+
+# This test case needs to crash the server. Needs a debug server.
+--source include/have_debug.inc
+
+# Don't test this under valgrind, memory leaks will occur.
+--source include/not_valgrind.inc
+
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
+
+--source include/innodb_page_size.inc
+
+--echo #
+--echo # Bug #18734396 INNODB IN-PLACE ALTER FAILURES BLOCK FUTURE ALTERS
+--echo #
+--echo # Temporary tablename will be unique. This makes sure that future
+--echo # in-place ALTERs of the same table will not be blocked due to
+--echo # temporary tablename.
+
+let datadir= `select @@datadir`;
+
+--let $_server_id= `SELECT @@server_id`
+--let $_expect_file_name=$MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
+
+--echo # Crash the server in ha_innobase::commit_inplace_alter_table()
+CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=innodb;
+SET debug='d,innodb_alter_commit_crash_before_commit';
+
+let $orig_table_id = `SELECT table_id
+ FROM information_schema.innodb_sys_tables
+ WHERE name = 'test/t1'`;
+
+--echo # Write file to make mysql-test-run.pl expect crash
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+--echo # Execute the statement that causes the crash
+--error 2013
+ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
+--echo # Startup the server after the crash
+--source include/start_mysqld.inc
+
+--echo # Read and remember the temporary table name
+let $temp_table_name = `SELECT SUBSTRING(name,6)
+ FROM information_schema.innodb_sys_tables
+ WHERE name LIKE "test/#sql-ib$orig_table_id%"`;
+# This second copy is an environment variable for the perl script below.
+let temp_table_name = $temp_table_name;
+show create table t1;
+--echo # Consecutive Alter table does not create same temporary file name
+ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
+--echo # Shutdown the server to allow manual recovery
+--source include/shutdown_mysqld.inc
+
+--echo # Manual recovery begin. The dictionary was not updated
+--echo # and the files were not renamed. The rebuilt table
+--echo # was left behind on purpose, to faciliate data recovery.
+
+perl;
+my @frm_file = glob "$ENV{'datadir'}/test/#sql-*.frm";
+my $target_frm = "$ENV{'datadir'}/test/$ENV{'temp_table_name'}.frm";
+rename($frm_file[0], $target_frm);
+EOF
+--echo # Manual recovery end
+--echo # Startup the server after manual recovery
+--source include/start_mysqld.inc
+
+--echo # Drop the orphaned rebuilt table.
+--disable_query_log
+eval DROP TABLE `#mysql50#$temp_table_name`;
+--enable_query_log
+show create table t1;
+drop table t1;
diff --git a/mysql-test/suite/innodb/t/innodb-alter-timestamp.test b/mysql-test/suite/innodb/t/innodb-alter-timestamp.test
new file mode 100644
index 00000000000..c0b17ee6440
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-alter-timestamp.test
@@ -0,0 +1,27 @@
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (
+ `i1` INT(10) UNSIGNED NOT NULL,
+ `d1` TIMESTAMP NULL DEFAULT NULL
+) ENGINE=innodb;
+
+show create table t1;
+
+INSERT INTO t1 (i1) VALUES (1), (2), (3), (4), (5);
+select * from t1;
+set sql_mode = 'STRICT_ALL_TABLES,NO_ZERO_DATE';
+ALTER TABLE t1 CHANGE `d1` `d1` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
+drop table t1;
+
+CREATE TABLE t1 (
+ `i1` INT(10) UNSIGNED NOT NULL,
+ `d1` TIMESTAMP NULL DEFAULT NULL
+) ENGINE=innodb;
+INSERT INTO t1 (i1) VALUES (1), (2), (3), (4), (5);
+ALTER TABLE t1 CHANGE `d1` `d1` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
+drop table t1;
+set sql_mode = '';
+
+
+
+
diff --git a/mysql-test/suite/innodb/t/innodb-alter.opt b/mysql-test/suite/innodb/t/innodb-alter.opt
new file mode 100644
index 00000000000..aa400236153
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-alter.opt
@@ -0,0 +1,3 @@
+--loose-innodb-sys-indexes
+--loose-innodb-sys-columns
+--loose-innodb-sys-fields
diff --git a/mysql-test/suite/innodb/t/innodb-alter.test b/mysql-test/suite/innodb/t/innodb-alter.test
new file mode 100644
index 00000000000..a47573626aa
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-alter.test
@@ -0,0 +1,612 @@
+--source include/have_innodb.inc
+
+SET NAMES utf8;
+
+CREATE TABLE t1 (
+ c1 INT PRIMARY KEY, c2 INT DEFAULT 1, ct TEXT,
+ INDEX(c2))
+ENGINE=InnoDB;
+
+INSERT INTO t1 SET c1=1;
+
+CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME LIKE 'test/t%';
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+
+CREATE TABLE t1p LIKE t1;
+
+CREATE TABLE t1c (c1 INT PRIMARY KEY, c2 INT, c3 INT, INDEX(c2), INDEX(c3),
+ CONSTRAINT t1c2 FOREIGN KEY (c2) REFERENCES t1(c2),
+ CONSTRAINT t1c3 FOREIGN KEY (c3) REFERENCES t1p(c2))
+ENGINE=InnoDB;
+
+CREATE TABLE sys_foreign SELECT i.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i
+WHERE FOR_NAME LIKE 'test/t%';
+
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ALTER c2 DROP DEFAULT;
+SHOW CREATE TABLE t1;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+# These should be no-op.
+ALTER TABLE t1 CHANGE c2 c2 INT AFTER c1;
+ALTER TABLE t1 CHANGE c1 c1 INT FIRST;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1 CHANGE C2 c3 INT;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1 CHANGE c3 C INT;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1 CHANGE C Cöŀumň_TWO INT;
+
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+-- error ER_BAD_FIELD_ERROR
+ALTER TABLE t1 CHANGE cöĿǖmň_two c3 INT;
+
+ALTER TABLE t1 CHANGE cÖĿUMŇ_two c3 INT, RENAME TO t3;
+
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+
+SHOW CREATE TABLE t3;
+SHOW CREATE TABLE t1c;
+
+# The maximum column name length should be 64 characters.
+--error ER_TOO_LONG_IDENT
+ALTER TABLE t3 CHANGE c3
+`12345678901234567890123456789012345678901234567890123456789012345` INT;
+ALTER TABLE t3 CHANGE c3
+`1234567890123456789012345678901234567890123456789012345678901234` INT;
+SHOW CREATE TABLE t3;
+
+# Test the length limit with non-ASCII utf-8 characters.
+--error ER_TOO_LONG_IDENT
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾å€¿å€` INT;
+--error ER_TOO_LONG_IDENT
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾å€¿Ã¤` INT;
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾Ã¤` INT;
+
+# check that the rename is case-insensitive (note the upper-case ä at end)
+ALTER TABLE t3 CHANGE
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾Ã„`
+c3 INT;
+
+# test with 4-byte UTF-8 (should be disallowed)
+--error ER_INVALID_CHARACTER_STRING
+ALTER TABLE t3 CHANGE c3 ðŒ€ðŒðŒ‚ðŒƒðŒ„ðŒ…ðŒ†ðŒ‡ðŒˆðŒ‰ðŒŠðŒ‹ðŒŒðŒðŒŽðŒðŒðŒ‘ðŒ’ðŒ“ðŒ”ðŒ•ðŒ–ðŒ—ðŒ˜ðŒ™ðŒšðŒ›ðŒœ INT;
+--error ER_INVALID_CHARACTER_STRING
+ALTER TABLE t3 CHANGE c3 😲 INT;
+
+ALTER TABLE t3 RENAME TO t2;
+
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+
+SHOW CREATE TABLE t2;
+
+RENAME TABLE t2 TO t1;
+
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+--error ER_DROP_INDEX_FK
+ALTER TABLE t1 DROP INDEX c2;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1 DROP INDEX c4;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1c DROP FOREIGN KEY c2;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2, DROP INDEX c2;
+
+--error ER_DROP_INDEX_FK
+ALTER TABLE t1c DROP INDEX c2;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1c DROP FOREIGN KEY ẗ1C2;
+
+SHOW CREATE TABLE t1c;
+
+SET foreign_key_checks=0;
+DROP TABLE t1p;
+SET foreign_key_checks=1;
+
+SHOW CREATE TABLE t1c;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+CREATE TABLE t1p (c1 INT PRIMARY KEY, c2 INT, INDEX(c2)) ENGINE=InnoDB;
+
+--error ER_DROP_INDEX_FK
+ALTER TABLE t1c DROP INDEX C2, DROP INDEX C3;
+--error ER_DROP_INDEX_FK
+ALTER TABLE t1c DROP INDEX C3;
+
+SET foreign_key_checks=0;
+ALTER TABLE t1c DROP INDEX C3;
+SET foreign_key_checks=1;
+
+SHOW CREATE TABLE t1c;
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1c DROP FOREIGN KEY t1C3;
+
+SHOW CREATE TABLE t1c;
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1c DROP INDEX c2, DROP FOREIGN KEY t1C2;
+
+SHOW CREATE TABLE t1c;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1 DROP INDEX c2, CHANGE c3 c2 INT;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+CREATE TABLE t1o LIKE t1;
+
+# This will implicitly add a FTS_DOC_ID column, which cannot be done online.
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
+CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
+ALGORITHM=INPLACE, LOCK=NONE;
+
+ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
+CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
+ALGORITHM=INPLACE, LOCK=SHARED;
+
+# The output should be empty, because index->id was reassigned.
+-- source suite/innodb/include/innodb_dict.inc
+
+SHOW CREATE TABLE tt;
+
+# DB_ROW_ID, DB_TRX_ID, DB_ROLL_PTR are reserved InnoDB system column names.
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=COPY;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=INPLACE;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o CHANGE c1 DB_TRX_ID INT;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o CHANGE c1 db_roll_ptr INT;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o ADD COLUMN DB_TRX_ID INT;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o ADD COLUMN db_roll_ptr INT;
+
+--error ER_INNODB_FT_WRONG_DOCID_COLUMN
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ADD COLUMN FTS_DOC_ID BIGINT;
+--error ER_INNODB_FT_WRONG_DOCID_COLUMN
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED;
+
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
+ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL;
+
+--error ER_DUP_FIELDNAME
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ADD COLUMN FTS_DOC_ID INT;
+
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o DROP COLUMN FTS_DOC_ID, ALGORITHM=INPLACE;
+
+ALTER TABLE t1o DROP COLUMN FTS_DOC_ID, DROP INDEX ct, ALGORITHM=INPLACE;
+
+# This creates a hidden FTS_DOC_ID column.
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ADD COLUMN cu TEXT;
+
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu), ADD COLUMN FTS_DOC_ID BIGINT,
+ALGORITHM=INPLACE;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu), ADD COLUMN FTS_DOC_ID BIGINT;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu), ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED,
+ALGORITHM=INPLACE;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu), ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED;
+
+# This would drop the hidden FTS_DOC_ID column and create
+# a fulltext index on ct and another fulltext index on cu.
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o ADD FULLTEXT INDEX(cu),
+ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL, ALGORITHM=INPLACE;
+
+# Replace the hidden FTS_DOC_ID column with a user-visible one.
+# This used to work if there is at most one fulltext index.
+# Currently, we disallow native ALTER TABLE if the table
+# contains any FULLTEXT indexes.
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+ALTER TABLE t1o ADD COLUMN FTS_DOC_ID BIGINT UNSIGNED NOT NULL;
+# Replace the user-visible FTS_DOC_ID column with a hidden one.
+# We do not support this in-place.
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o DROP COLUMN FTS_DOC_ID, ALGORITHM=INPLACE;
+ALTER TABLE t1o DROP COLUMN FTS_DOC_ID;
+
+# FTS_DOC_ID is the internal row identifier for full-text search.
+# It should be of type BIGINT UNSIGNED NOT NULL.
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
+ALGORITHM=COPY;
+
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
+ALGORITHM=INPLACE;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_Doc_ID INT,
+ALGORITHM=INPLACE;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
+CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+
+CREATE TABLE t1n LIKE t1o;
+
+ALTER TABLE t1n ADD FULLTEXT INDEX(ct);
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=INPLACE;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=COPY;
+--error ER_BAD_FIELD_ERROR
+ALTER TABLE t1n CHANGE FTS_DOC_ID c11 INT, ALGORITHM=INPLACE;
+ALTER TABLE t1n CHANGE c1 FTS_DOC_ïD INT, ALGORITHM=INPLACE;
+
+ALTER TABLE t1n CHANGE FTS_DOC_ÃD c1 INT, ALGORITHM=INPLACE;
+ALTER TABLE t1n CHANGE c1 c2 INT, CHANGE c2 ct INT, CHANGE ct c1 TEXT,
+ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1n;
+ALTER TABLE t1n CHANGE c2 c1 INT, CHANGE ct c2 INT, CHANGE c1 ct TEXT,
+ALGORITHM=COPY;
+SHOW CREATE TABLE t1n;
+
+--error ER_KEY_COLUMN_DOES_NOT_EXITS
+ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=INPLACE;
+--error ER_KEY_COLUMN_DOES_NOT_EXITS
+ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=COPY;
+ALTER TABLE t1n ADD INDEX(c4), CHANGE c2 c4 INT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1n;
+ALTER TABLE t1n DROP INDEX c4;
+--error ER_DUP_FIELDNAME
+ALTER TABLE t1n CHANGE c4 c1 INT, ADD INDEX(c1), ALGORITHM=INPLACE;
+ALTER TABLE t1n CHANGE c4 c11 INT, ADD INDEX(c11), ALGORITHM=INPLACE;
+
+SHOW CREATE TABLE t1n;
+DROP TABLE t1n;
+
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o MODIFY c1 BIGINT UNSIGNED NOT NULL, DROP INDEX ct,
+ALGORITHM=INPLACE;
+
+# This will copy the table, removing the hidden FTS_DOC_ID column.
+ALTER TABLE t1o MODIFY c1 BIGINT UNSIGNED NOT NULL, DROP INDEX ct;
+
+ALTER TABLE t1o CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), ALGORITHM=INPLACE;
+
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+
+# This should not show duplicates.
+SELECT sc.pos FROM information_schema.innodb_sys_columns sc
+INNER JOIN information_schema.innodb_sys_tables st
+ON sc.TABLE_ID=st.TABLE_ID
+WHERE st.NAME='test/t1o' AND sc.NAME='FTS_DOC_ID';
+
+SHOW CREATE TABLE t1o;
+
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+DROP INDEX ct, ALGORITHM=INPLACE;
+
+SHOW CREATE TABLE t1o;
+
+DROP TABLE t1c, t1p, sys_tables, sys_indexes, sys_foreign;
+
+# Check the internal schemata of tt, t1o.
+
+CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME='test/t1o';
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+CREATE TABLE sys_foreign SELECT i.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i WHERE FOR_NAME='test/t1o';
+
+-- source suite/innodb/include/innodb_dict.inc
+
+# Ensure that there exists no hidden FTS_DOC_ID_INDEX on foo_id.
+
+ALTER TABLE t1o ADD UNIQUE INDEX FTS_DOC_ID_INDEX(FTS_DOC_ID),
+ADD FULLTEXT INDEX(ct),
+CHANGE foo_id FTS_DOC_ID BIGINT UNSIGNED NOT NULL;
+
+ALTER TABLE t1o DROP INDEX ct, DROP INDEX FTS_DOC_ID_INDEX,
+CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL;
+
+ALTER TABLE t1o ADD UNIQUE INDEX FTS_DOC_ID_INDEX(foo_id);
+
+ALTER TABLE t1o CHANGE foo_id FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ADD FULLTEXT INDEX(ct);
+
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+
+DROP TABLE sys_indexes;
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+DROP TABLE tt, t1o, sys_tables, sys_indexes, sys_foreign;
+
+CREATE TABLE t (t TEXT, FULLTEXT(t)) ENGINE=InnoDB;
+DROP INDEX t ON t;
+
+LET $regexp=/FTS_([0-9a-f_]+)([A-Z_]+)/FTS_AUX_\2/;
+--replace_regex $regexp
+SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
+FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
+
+SELECT sc.pos, sc.NAME FROM information_schema.innodb_sys_columns sc
+INNER JOIN information_schema.innodb_sys_tables st
+ON sc.TABLE_ID=st.TABLE_ID
+WHERE st.NAME='test/t';
+
+ALTER TABLE t ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE;
+
+--replace_regex $regexp
+SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
+FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
+
+ALTER TABLE t ADD FULLTEXT INDEX(t);
+
+SELECT sc.pos, sc.NAME FROM information_schema.innodb_sys_columns sc
+INNER JOIN information_schema.innodb_sys_tables st
+ON sc.TABLE_ID=st.TABLE_ID
+WHERE st.NAME='test/t';
+
+DROP TABLE t;
+
+--disable_query_log
+call mtr.add_suppression("deleting orphaned .ibd file");
+--enable_query_log
+
+--echo #
+--echo # Bug #19465984 INNODB DATA DICTIONARY IS NOT UPDATED WHILE
+--echo # RENAMING THE COLUMN
+--echo #
+CREATE TABLE t1(c1 INT NOT NULL, PRIMARY KEY(c1))ENGINE=INNODB;
+CREATE TABLE t2(c2 INT NOT NULL, FOREIGN KEY(c2) REFERENCES t1(c1))ENGINE=INNODB;
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+ALTER TABLE t1 CHANGE COLUMN c1 C1 INT;
+ALTER TABLE t2 CHANGE COLUMN c2 C2 INT;
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+ALTER TABLE t1 CHANGE COLUMN C1 c5 INT;
+ALTER TABLE t2 CHANGE COLUMN C2 c6 INT;
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+
+SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN
+ INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID
+ WHERE T.NAME='test/t1';
+
+SELECT F.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS F INNER JOIN
+ INFORMATION_SCHEMA.INNODB_SYS_INDEXES I ON F.INDEX_ID=I.INDEX_ID INNER JOIN
+ INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON I.TABLE_ID=T.TABLE_ID
+ WHERE T.NAME='test/t1' AND I.NAME='PRIMARY';
+
+SELECT C.REF_COL_NAME, C.FOR_COL_NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS C INNER JOIN
+ INFORMATION_SCHEMA.INNODB_SYS_FOREIGN F ON C.ID=F.ID
+ WHERE F.FOR_NAME='test/t2';
+
+DROP TABLE t2, t1;
+--echo # virtual columns case too
+CREATE TABLE t1 (a INT, b INT GENERATED ALWAYS AS (a) VIRTUAL) ENGINE = InnoDB;
+ALTER TABLE t1 CHANGE COLUMN a A INT;
+SHOW CREATE TABLE t1;
+SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN
+ INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID
+ WHERE T.NAME='test/t1';
+DROP TABLE t1;
+
+
+--echo # different FOREIGN KEY cases
+CREATE TABLE t1 (
+ a INT UNIQUE KEY,
+ b INT UNIQUE KEY,
+ c INT UNIQUE KEY,
+ d INT UNIQUE KEY
+) ENGINE=INNODB;
+CREATE TABLE t2 (
+ aa INT,
+ bb INT,
+ cc INT,
+ dd INT
+) ENGINE=INNODB;
+
+INSERT INTO t1 VALUES (1, 1, 1, 1);
+INSERT INTO t2 VALUES (1, 1, 1, 1);
+
+ALTER TABLE t1 CHANGE a A INT, ALGORITHM=INPLACE;
+ALTER TABLE t1 CHANGE c C INT, ALGORITHM=INPLACE;
+ALTER TABLE t2 CHANGE cc CC INT, ALGORITHM=INPLACE;
+ALTER TABLE t2 CHANGE dd DD INT, ALGORITHM=INPLACE;
+
+SET foreign_key_checks=0;
+ALTER TABLE t2
+ ADD FOREIGN KEY(aa) REFERENCES t1(a),
+ ADD FOREIGN KEY(bb) REFERENCES t1(b),
+ ADD FOREIGN KEY(cc) REFERENCES t1(c),
+ ADD FOREIGN KEY(dd) REFERENCES t1(d),
+ ALGORITHM=INPLACE;
+
+ALTER TABLE t1 CHANGE b B INT, ALGORITHM=INPLACE;
+ALTER TABLE t2 CHANGE aa AA INT, ALGORITHM=INPLACE;
+
+--source include/restart_mysqld.inc
+
+ALTER TABLE t1 CHANGE d D INT, ALGORITHM=INPLACE;
+ALTER TABLE t2 CHANGE bb BB INT, ALGORITHM=INPLACE;
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+
+--error ER_ROW_IS_REFERENCED_2
+DELETE FROM t1 WHERE a=1;
+--error ER_ROW_IS_REFERENCED_2
+DELETE FROM t1 WHERE A=1;
+
+--error ER_ROW_IS_REFERENCED_2
+DELETE FROM t1 WHERE b=1;
+--error ER_ROW_IS_REFERENCED_2
+DELETE FROM t1 WHERE B=1;
+
+--error ER_ROW_IS_REFERENCED_2
+DELETE FROM t1 WHERE c=1;
+--error ER_ROW_IS_REFERENCED_2
+DELETE FROM t1 WHERE C=1;
+
+--error ER_ROW_IS_REFERENCED_2
+DELETE FROM t1 WHERE d=1;
+--error ER_ROW_IS_REFERENCED_2
+DELETE FROM t1 WHERE D=1;
+
+DROP TABLE t2, t1;
+
+--echo # virtual columns case too
+CREATE TABLE t1 (a INT, b INT GENERATED ALWAYS AS (a) VIRTUAL) ENGINE = InnoDB;
+ALTER TABLE t1 CHANGE COLUMN a A INT;
+SHOW CREATE TABLE t1;
+SELECT C.NAME FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS C INNER JOIN
+ INFORMATION_SCHEMA.INNODB_SYS_TABLES T ON C.TABLE_ID=T.TABLE_ID
+ WHERE T.NAME='test/t1';
+DROP TABLE t1;
+
+--echo # and an MDEV-18041 regression related to indexes prefixes
+create table `test` (
+ `test_old` varchar(255) NOT NULL,
+ `other` varchar(255) NOT NULL,
+ PRIMARY KEY (`test_old`,`other`),
+ UNIQUE KEY uk (`test_old`(100), `other`)
+) ENGINE=InnoDB;
+
+select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new');
+alter table `test` CHANGE COLUMN `test_old` `test_new` varchar(255) NOT NULL;
+select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new');
+drop table `test`;
+
+
+--echo #
+--echo # BUG 20029625 - HANDLE_FATAL_SIGNAL (SIG=11) IN
+--echo # DICT_MEM_TABLE_COL_RENAME_LOW
+--echo #
+CREATE TABLE parent(a INT, b INT, KEY(a, b)) ENGINE = InnoDB;
+CREATE TABLE t1(a1 INT, a2 INT) ENGINE = InnoDB;
+
+set foreign_key_checks=0;
+ALTER TABLE t1 ADD CONSTRAINT fk_a FOREIGN KEY(a1, a2) REFERENCES parent(a, b) ON DELETE SET NULL ON UPDATE CASCADE;
+
+ALTER TABLE t1 CHANGE a2 a3 INT,ADD CONSTRAINT fk_1 FOREIGN KEY(a1, a3) REFERENCES parent(a, b) ON DELETE SET NULL ON UPDATE CASCADE;
+SHOW CREATE TABLE t1;
+CHECK TABLE t1;
+
+ALTER TABLE t1 CHANGE a3 a4 INT;
+SHOW CREATE TABLE t1;
+CHECK TABLE t1;
+
+ALTER TABLE parent CHANGE b c INT;
+SHOW CREATE TABLE t1;
+CHECK TABLE t1;
+
+DROP TABLE t1, parent;
+
+--echo #
+--echo #BUG#21514135 SCHEMA MISMATCH ERROR WHEN IMPORTING TABLESPACE AFTER
+--echo #DROPPING AN INDEX
+--echo #
+let $source_db = source_db;
+let $dest_db = dest_db;
+
+eval CREATE DATABASE $source_db;
+eval CREATE DATABASE $dest_db;
+
+eval CREATE TABLE $source_db.t1 (
+ id int(11) NOT NULL,
+ age int(11) DEFAULT NULL,
+ name varchar(20),
+ PRIMARY KEY (id),
+ KEY index1 (age)
+ ) ENGINE=InnoDB;
+
+eval ALTER TABLE $source_db.t1 DROP INDEX index1, ADD INDEX index2(name, age), algorithm=inplace;
+
+--source suite/innodb/include/import.inc
+
+eval ALTER TABLE $source_db.t1 DROP INDEX index2, algorithm=inplace;
+
+--source suite/innodb/include/import.inc
+
+eval DROP TABLE $source_db.t1;
+eval DROP DATABASE $source_db;
+eval DROP DATABASE $dest_db;
+
+--echo #
+--echo # BUG #26334149 MYSQL CRASHES WHEN FULL TEXT INDEXES IBD FILES ARE
+--echo # ORPHANED DUE TO RENAME TABLE
+--echo #
+CREATE DATABASE db1; USE db1;
+CREATE TABLE notes (
+ id int(11) NOT NULL AUTO_INCREMENT,
+ body text COLLATE utf8_unicode_ci,
+ PRIMARY KEY (id)
+ ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
+COLLATE=utf8_unicode_ci
+ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE notes ADD FULLTEXT INDEX index_ft_body (body(255));
+DROP INDEX index_ft_body ON notes;
+
+CREATE DATABASE db2;
+RENAME TABLE db1.notes TO db2.notes;
+DROP DATABASE db1;
+DROP DATABASE db2;
diff --git a/mysql-test/suite/innodb/t/innodb-autoinc-44030.test b/mysql-test/suite/innodb/t/innodb-autoinc-44030.test
index 07e9ca30fd6..256e7d838ea 100644
--- a/mysql-test/suite/innodb/t/innodb-autoinc-44030.test
+++ b/mysql-test/suite/innodb/t/innodb-autoinc-44030.test
@@ -1,11 +1,7 @@
---source include/have_innodb.inc
-# embedded server ignores 'delayed', so skip this
+-- source include/have_innodb.inc
+# embedded server does not support restarting
-- source include/not_embedded.inc
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
#
# 44030: Error: (1500) Couldn't read the MAX(ID) autoinc value from
# the index (PRIMARY)
@@ -27,8 +23,17 @@ SELECT * FROM t1;
# to be enabled. Also, see http://bugs.mysql.com/bug.php?id=47621.
#-- error ER_AUTOINC_READ_FAILED,1467
INSERT INTO t1 VALUES(null);
+# Before WL#5534, the following statement would copy the table,
+# and effectively set AUTO_INCREMENT to 4, because while copying
+# it would write values 1,2,3 to the column.
+# WL#5534 makes this an in-place ALTER, setting AUTO_INCREMENT=3 for real.
+# However, to keep compatibility with ALGORITHM=COPY MySQL 5.6.11 will
+# go back to the original behaviour, setting AUTO_INCREMENT to 4.
+--enable_info
ALTER TABLE t1 AUTO_INCREMENT = 3;
+--disable_info
SHOW CREATE TABLE t1;
INSERT INTO t1 VALUES(null);
+INSERT INTO t1 VALUES(null);
SELECT * FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-autoinc.test b/mysql-test/suite/innodb/t/innodb-autoinc.test
index 362be2e055b..75b2e8984d9 100644
--- a/mysql-test/suite/innodb/t/innodb-autoinc.test
+++ b/mysql-test/suite/innodb/t/innodb-autoinc.test
@@ -156,7 +156,7 @@ DROP TABLE t1;
#
# Test changes to AUTOINC next value calculation
SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 INT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (NULL),(5),(NULL);
@@ -173,7 +173,7 @@ DROP TABLE t1;
# Reset the AUTOINC session variables
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 INT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(0);
@@ -193,13 +193,13 @@ DROP TABLE t1;
# Reset the AUTOINC session variables
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 INT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(-1);
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
INSERT INTO t1 VALUES (-2), (NULL),(2),(NULL);
INSERT INTO t1 VALUES (250),(NULL);
SELECT * FROM t1;
@@ -214,13 +214,13 @@ DROP TABLE t1;
# Reset the AUTOINC session variables
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 INT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(-1);
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
INSERT INTO t1 VALUES (-2);
INSERT INTO t1 VALUES (NULL);
INSERT INTO t1 VALUES (2);
@@ -240,13 +240,13 @@ DROP TABLE t1;
# Reset the AUTOINC session variables
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 INT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(-1);
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
INSERT INTO t1 VALUES (-2),(NULL),(2),(NULL);
INSERT INTO t1 VALUES (250),(NULL);
SELECT * FROM t1;
@@ -262,7 +262,7 @@ DROP TABLE t1;
# Check for overflow handling when increment is > 1
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 BIGINT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
# TODO: Fix the autoinc init code
@@ -271,7 +271,7 @@ INSERT INTO t1 VALUES(NULL);
INSERT INTO t1 VALUES (9223372036854775794); #-- 2^63 - 14
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
# This should just fit
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
SELECT * FROM t1;
@@ -281,7 +281,7 @@ DROP TABLE t1;
# Check for overflow handling when increment and offser are > 1
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
# TODO: Fix the autoinc init code
@@ -290,7 +290,7 @@ INSERT INTO t1 VALUES(NULL);
INSERT INTO t1 VALUES (18446744073709551603); #-- 2^64 - 13
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
--error ER_AUTOINC_READ_FAILED
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
SELECT * FROM t1;
@@ -300,7 +300,7 @@ DROP TABLE t1;
# Check for overflow handling when increment and offset are odd numbers
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
# TODO: Fix the autoinc init code
@@ -309,7 +309,7 @@ INSERT INTO t1 VALUES(NULL);
INSERT INTO t1 VALUES (18446744073709551603); #-- 2^64 - 13
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=5, @@SESSION.AUTO_INCREMENT_OFFSET=7;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
--error ER_AUTOINC_READ_FAILED
INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
SELECT * FROM t1;
@@ -319,7 +319,7 @@ DROP TABLE t1;
# and check for large -ve numbers
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 BIGINT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
# TODO: Fix the autoinc init code
@@ -330,7 +330,7 @@ INSERT INTO t1 VALUES(-9223372036854775807); #-- -2^63 + 1
INSERT INTO t1 VALUES(-9223372036854775808); #-- -2^63
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=3, @@SESSION.AUTO_INCREMENT_OFFSET=3;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
SELECT * FROM t1;
DROP TABLE t1;
@@ -339,7 +339,7 @@ DROP TABLE t1;
# large numbers 2^60
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
# TODO: Fix the autoinc init code
@@ -348,7 +348,7 @@ INSERT INTO t1 VALUES(NULL);
INSERT INTO t1 VALUES (18446744073709551610); #-- 2^64 - 2
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1152921504606846976, @@SESSION.AUTO_INCREMENT_OFFSET=1152921504606846976;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
--error 1467
INSERT INTO t1 VALUES (NULL),(NULL);
SELECT * FROM t1;
@@ -359,7 +359,7 @@ DROP TABLE t1;
#
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
CREATE TABLE t1 (c1 DOUBLE NOT NULL AUTO_INCREMENT, c2 INT, PRIMARY KEY (c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(NULL, 1);
INSERT INTO t1 VALUES(NULL, 2);
@@ -446,7 +446,7 @@ DROP TABLE t2;
# If the user has specified negative values for an AUTOINC column then
# InnoDB should ignore those values when setting the table's max value.
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
# TINYINT
CREATE TABLE t1 (c1 TINYINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1, NULL);
@@ -642,7 +642,7 @@ DROP TABLE t1;
# Check if we handle offset > column max value properly
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=256;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
# TINYINT
CREATE TABLE t1 (c1 TINYINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1, NULL);
@@ -654,13 +654,13 @@ DROP TABLE t1;
# of the column. IMO, this should not be allowed and the assertion that fails
# is actually an invariant.
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
# TINYINT
CREATE TABLE t1 (c1 INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (2147483648, 'a');
SHOW CREATE TABLE t1;
SELECT * FROM t1;
-ALTER TABLE t1 CHANGE c1 c1 INT;
+ALTER TABLE t1 CHANGE c1 c1 INT default 0;
SHOW CREATE TABLE t1;
INSERT INTO t1(c2) VALUES('b');
SELECT * FROM t1;
@@ -680,3 +680,20 @@ INSERT INTO t VALUES (NULL);
SELECT * FROM t;
SHOW CREATE TABLE t;
DROP TABLE t;
+
+--echo #
+--echo # MDEV-14008 Assertion failing: `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())
+--echo #
+
+SET sql_mode=STRICT_ALL_TABLES;
+CREATE TABLE t1 (
+ c1 DOUBLE NOT NULL PRIMARY KEY AUTO_INCREMENT
+) ENGINE=InnoDB AUTO_INCREMENT=10000000000000000000;
+INSERT INTO t1 VALUES ();
+SELECT * FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1 (a DOUBLE PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (-1);
+SELECT * FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-bigblob.opt b/mysql-test/suite/innodb/t/innodb-bigblob.opt
new file mode 100644
index 00000000000..39673297ce9
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-bigblob.opt
@@ -0,0 +1,3 @@
+--max-allowed-packet=128M
+--innodb-log-file-size=210M
+--skip-innodb-doublewrite
diff --git a/mysql-test/suite/innodb/t/innodb-bigblob.test b/mysql-test/suite/innodb/t/innodb-bigblob.test
new file mode 100644
index 00000000000..d72e20487e4
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-bigblob.test
@@ -0,0 +1,21 @@
+-- source include/have_innodb.inc
+-- source include/big_test.inc
+-- source include/not_embedded.inc
+
+--disable_query_log
+let $status_orig=`SELECT @@innodb_status_output`;
+--enable_query_log
+
+call mtr.add_suppression("Resizing redo log from *");
+call mtr.add_suppression("Starting to delete and rewrite log files.");
+call mtr.add_suppression("New log files created, LSN=*");
+call mtr.add_suppression("Writer thread is waiting this semaphore");
+
+create table foo (id varchar(37) not null, content longblob) engine=INNODB;
+insert into foo (id, content) values('xyz', '');
+update foo set content=repeat('a', 43941888) where id='xyz';
+drop table foo;
+
+--disable_query_log
+EVAL SET GLOBAL innodb_status_output = $status_orig;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb-blob.test b/mysql-test/suite/innodb/t/innodb-blob.test
index 0c3e4366c94..17fd194dbeb 100644
--- a/mysql-test/suite/innodb/t/innodb-blob.test
+++ b/mysql-test/suite/innodb/t/innodb-blob.test
@@ -3,16 +3,15 @@
# columns are stored off-page.
--source include/have_innodb.inc
+--source include/have_innodb_16k.inc
-# DEBUG_SYNC must be compiled in.
+--source include/have_debug.inc
--source include/have_debug_sync.inc
-# Valgrind would complain about memory leaks when we crash on purpose.
---source include/not_valgrind.inc
-# Embedded server does not support crashing
+# Embedded server does not support restarting
--source include/not_embedded.inc
-# Avoid CrashReporter popup on Mac
---source include/not_crashrep.inc
+
+FLUSH TABLES;
CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
@@ -67,11 +66,11 @@ SELECT a, RIGHT(b,20) FROM t1;
SELECT a FROM t1;
# Request a crash, and restart the server.
-SET DEBUG_DBUG='+d,crash_commit_before';
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
---error 2013
+BEGIN;
INSERT INTO t2 VALUES (42);
+--source include/kill_and_restart_mysqld.inc
+
disconnect con1;
disconnect con2;
connection default;
@@ -79,7 +78,6 @@ connection default;
--error 2013
reap;
-# Write file to make mysql-test-run.pl restart the server
--enable_reconnect
--source include/wait_until_connected_again.inc
--disable_reconnect
@@ -146,11 +144,7 @@ SET DEBUG_SYNC='now WAIT_FOR have_latch';
SELECT info FROM information_schema.processlist
WHERE state = 'debug sync point: before_row_upd_extern';
-# Request a crash, and restart the server.
-SET DEBUG_DBUG='+d,crash_commit_before';
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
---error 2013
-COMMIT;
+--source include/kill_and_restart_mysqld.inc
disconnect con2;
connection default;
@@ -158,7 +152,6 @@ connection default;
--error 2013
reap;
-# Write file to make mysql-test-run.pl restart the server
--enable_reconnect
--source include/wait_until_connected_again.inc
--disable_reconnect
@@ -190,11 +183,7 @@ SET DEBUG_SYNC='now WAIT_FOR have_latch';
SELECT info FROM information_schema.processlist
WHERE state = 'debug sync point: after_row_upd_extern';
-# Request a crash, and restart the server.
-SET DEBUG_DBUG='+d,crash_commit_before';
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
---error 2013
-COMMIT;
+--source include/kill_and_restart_mysqld.inc
disconnect con2;
connection default;
@@ -202,11 +191,9 @@ connection default;
--error 2013
reap;
-# Write file to make mysql-test-run.pl restart the server
--enable_reconnect
--source include/wait_until_connected_again.inc
--disable_reconnect
-
CHECK TABLE t1,t2,t3;
SELECT a, RIGHT(b,20), RIGHT(c,20) FROM t3;
SELECT a FROM t3;
diff --git a/mysql-test/suite/innodb/t/innodb-bug-14068765.test b/mysql-test/suite/innodb/t/innodb-bug-14068765.test
new file mode 100644
index 00000000000..185e8849e21
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-bug-14068765.test
@@ -0,0 +1,73 @@
+-- source include/have_innodb.inc
+--disable_warnings
+
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
+let $innodb_file_format = `SELECT @@innodb_file_format`;
+
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+
+#SET GLOBAL innodb_file_format = `Barracuda`;
+#SELECT @@innodb_file_format;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+CREATE DATABASE testdb_wl5522;
+
+CREATE TABLE testdb_wl5522.t1(col1 bit(1) , col2 boolean,col3 tinyint , col4 smallint , col5 mediumint ,col6 int , col7 bigint , col8 float (14,3) ,col9 double (14,3), col10 VARCHAR(20) CHARACTER SET utf8 , col11 TEXT CHARACTER SET binary , col12 ENUM('a','b','c') CHARACTER SET binary ,col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,col14 CHAR(20) , col15 VARBINARY (400) , col16 BINARY(40), col17 BLOB (400) , col18 int not null primary key,col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,col22 TIME , col23 YEAR ) ENGINE = Innodb;
+
+
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+
+INSERT INTO testdb_wl5522.t1 VALUES (1,1,-128,32767,-8388608,2147483647,-9223372036854775808, 92233720368.222,-92233720368.222,'aaa', 'aaaaaaaaaa','b','bbbbb','ccccc',REPEAT('d',40),REPEAT('d',40),REPEAT('d',40), 1,'1000-01-01','3000-12-31 23:59:59.99','1990-01-01 00:00:01.00','01:59:59.00','1901');
+
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
+
+--error ER_BAD_NULL_ERROR
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+
+--error ER_DUP_ENTRY
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
+
+FLUSH TABLES testdb_wl5522.t1 WITH READ LOCK;
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1(col1 bit(1) , col2 boolean,col3 tinyint , col4 smallint , col5 mediumint ,col6 int , col7 bigint , col8 float (14,3) ,col9 double (14,3), col10 VARCHAR(20) CHARACTER SET utf8 , col11 TEXT CHARACTER SET binary , col12 ENUM('a','b','c') CHARACTER SET binary ,col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,col14 CHAR(20) , col15 VARBINARY (400) , col16 BINARY(40), col17 BLOB (400) , col18 int not null primary key,col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,col22 TIME , col23 YEAR ) ENGINE = Innodb;
+
+
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+
+CHECK TABLE testdb_wl5522.t1;
+
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+
+DROP TABLE testdb_wl5522.t1;
+
+DROP DATABASE testdb_wl5522;
+
+eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
+eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
diff --git a/mysql-test/suite/innodb/t/innodb-bug-14084530.test b/mysql-test/suite/innodb/t/innodb-bug-14084530.test
new file mode 100644
index 00000000000..94a2d6b2252
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-bug-14084530.test
@@ -0,0 +1,52 @@
+-- source include/have_innodb.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
+let $innodb_file_format = `SELECT @@innodb_file_format`;
+
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+
+SET AUTOCOMMIT = 0;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+CREATE DATABASE testdb_wl5522;
+CREATE TABLE testdb_wl5522.t1 (c1 int ) engine = Innodb;
+
+BEGIN;
+INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
+ROLLBACK;
+
+SELECT c1 FROM testdb_wl5522.t1;
+
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1 (c1 int ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE testdb_wl5522.t1;
+SELECT c1 FROM testdb_wl5522.t1;
+
+SET AUTOCOMMIT = 1;
+DROP TABLE testdb_wl5522.t1;
+DROP DATABASE testdb_wl5522;
+eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
+eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
diff --git a/mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test b/mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test
index 83d2b07b725..18d7aa3be58 100644
--- a/mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test
+++ b/mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test
@@ -9,8 +9,9 @@
--source include/not_embedded.inc
# DBUG_SUICIDE() hangs under valgrind
--source include/not_valgrind.inc
-# No windows, need perl
---source include/not_windows.inc
+
+--let $_server_id= `SELECT @@server_id`
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
# The flag innodb_change_buffering_debug is only available in debug builds.
# It instructs InnoDB to try to evict pages from the buffer pool when
@@ -24,7 +25,7 @@ CREATE TABLE t1(
b CHAR(1),
c INT,
INDEX(b))
-ENGINE=InnoDB;
+ENGINE=InnoDB STATS_PERSISTENT=0;
# Create enough rows for the table, so that the change buffer will be
# used for modifying the secondary index page. There must be multiple
@@ -41,32 +42,31 @@ INSERT INTO t1 SELECT 0,b,c FROM t1;
INSERT INTO t1 SELECT 0,b,c FROM t1;
INSERT INTO t1 SELECT 0,b,c FROM t1;
INSERT INTO t1 SELECT 0,b,c FROM t1;
+INSERT INTO t1 SELECT 0,b,c FROM t1;
+INSERT INTO t1 SELECT 0,b,c FROM t1;
+INSERT INTO t1 SELECT 0,b,c FROM t1;
BEGIN;
SELECT b FROM t1 LIMIT 3;
connect (con1,localhost,root,,);
-connection con1;
BEGIN;
DELETE FROM t1 WHERE a=1;
# This should be buffered, if innodb_change_buffering_debug = 1 is in effect.
INSERT INTO t1 VALUES(1,'X',1);
SET DEBUG_DBUG='+d,crash_after_log_ibuf_upd_inplace';
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+--exec echo "wait" > $_expect_file_name
--error 2013
# This should force a change buffer merge
SELECT b FROM t1 LIMIT 3;
+disconnect con1;
+connection default;
let SEARCH_PATTERN=Wrote log record for ibuf update in place operation;
--source include/search_pattern_in_file.inc
-
-# Write file to make mysql-test-run.pl start up the server again
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
---enable_reconnect
---source include/wait_until_connected_again.inc
+--source include/start_mysqld.inc
CHECK TABLE t1;
-
-# Cleanup
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-corrupted-table.test b/mysql-test/suite/innodb/t/innodb-corrupted-table.test
new file mode 100644
index 00000000000..c8e17e5b7aa
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-corrupted-table.test
@@ -0,0 +1,47 @@
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+#
+# MDEV-9918: [ERROR] mysqld got signal 11 during ALTER TABLE `name` COLUMN ADD
+#
+
+call mtr.add_suppression("Table .* has a primary key in InnoDB data dictionary, but not in MySQL.*");
+call mtr.add_suppression("InnoDB: Table .* contains .* indexes inside InnoDB, which is different from the number of indexes .* defined in the MySQL.*");
+
+create table t1 (pk int, i int, key(i)) engine=InnoDB;
+insert into t1 values (1,1),(2,2);
+
+--let $datadir= `select @@datadir`
+
+flush tables;
+
+--echo # Save the .frm file without the PK
+
+--copy_file $datadir/test/t1.frm $MYSQLTEST_VARDIR/tmp/t1.frm
+
+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
+--shutdown_server 10
+--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
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--enable_prepare_warnings
+show create table t1;
+select * from t1;
+alter table t1 add j int;
+show warnings;
+show create table t1;
+alter table t1 add primary key (pk);
+show warnings;
+show create table t1;
+# Cleanup
+drop table t1;
diff --git a/mysql-test/suite/innodb/t/innodb-enlarge-blob.opt b/mysql-test/suite/innodb/t/innodb-enlarge-blob.opt
new file mode 100644
index 00000000000..7cc886cb9e5
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-enlarge-blob.opt
@@ -0,0 +1,5 @@
+--innodb-file-per-table
+--innodb-file-format='Barracuda'
+--innodb-buffer-pool-size=32M
+--innodb-page-size=64k
+--innodb-strict-mode=OFF
diff --git a/mysql-test/suite/innodb/t/innodb-enlarge-blob.test b/mysql-test/suite/innodb/t/innodb-enlarge-blob.test
new file mode 100644
index 00000000000..65a64d299be
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-enlarge-blob.test
@@ -0,0 +1,29 @@
+--source include/have_innodb.inc
+
+#
+# MDEV-13227: Assertion failure len < 16384 in file rem0rec.cc line 1285
+# Crashes with innodb_page_size=64K. Does not crash at <= 32K.
+#
+CREATE TABLE t1 (a LONGTEXT) ENGINE=INNODB ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+INSERT INTO t1 SET a=CONCAT('A', SPACE(8000), 'B');
+INSERT INTO t1 SELECT a FROM t1;
+UPDATE t1 SET a=CONCAT(a, RAND(), a);
+UPDATE t1 SET a=CONCAT(a, RAND(), a);
+# random data no output we are only interested if fails
+--disable_result_log
+SELECT * from t1;
+--enable_result_log
+DROP TABLE t1;
+
+CREATE TABLE t1 (a LONGTEXT) ENGINE=INNODB ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+INSERT INTO t1 SET a=CONCAT('A', SPACE(8000), 'B');
+INSERT INTO t1 SELECT a FROM t1;
+UPDATE t1 SET a=CONCAT(a, RAND(), a);
+UPDATE t1 SET a=CONCAT(a, RAND(), a);
+# random data no output we are only interested if fails
+--disable_result_log
+SELECT * from t1;
+--enable_result_log
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-fk-warnings.test b/mysql-test/suite/innodb/t/innodb-fk-warnings.test
index fe92f1345f4..f45ae00d788 100644
--- a/mysql-test/suite/innodb/t/innodb-fk-warnings.test
+++ b/mysql-test/suite/innodb/t/innodb-fk-warnings.test
@@ -48,10 +48,10 @@ create table t2(a int, b int, constraint a foreign key a (a) references t1(a),
constraint a foreign key a (a) references t1(b)) engine=innodb;
show warnings;
create table t2(a int, b int, constraint a foreign key a (a) references t1(a)) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
alter table t2 add constraint b foreign key (b) references t2(b);
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t2, t1;
@@ -60,10 +60,10 @@ drop table t2, t1;
#
create table t1 (f1 integer primary key) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
alter table t1 add constraint c1 foreign key (f1) references t11(f1);
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
@@ -72,15 +72,30 @@ drop table t1;
#
create temporary table t1(a int not null primary key, b int, key(b)) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+# remove echos and uncomment the commented when MDEV-8569 is fixed
+--echo create temporary table t2(a int, foreign key(a) references t1(a)) engine=innodb;
+--echo ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+--echo show warnings;
+--echo Level Code Message
+--echo Warning 150 Create table `mysqld.1`.`t2` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary close to foreign key(a) references t1(a)) engine=innodb.
+--echo Error 1005 Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
+--echo Warning 1215 Cannot add foreign key constraint
+--echo alter table t1 add foreign key(b) references t1(a);
+--echo ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+--echo show warnings;
+--echo Level Code Message
+--echo Warning 150 Alter table `mysqld.1`.`t1` with foreign key constraint failed. Referenced table `mysqld.1`.`t1` not found in the data dictionary close to foreign key(b) references t1(a).
+--echo Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
+--echo Warning 1215 Cannot add foreign key constraint
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
create temporary table t2(a int, foreign key(a) references t1(a)) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
alter table t1 add foreign key(b) references t1(a);
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
@@ -88,17 +103,17 @@ drop table t1;
# Column numbers do not match
#
create table t1(a int not null primary key, b int, key(b)) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error 1005
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+--error 1239
alter table t1 add foreign key(a,b) references t1(a);
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
create table t1(a int not null primary key, b int, key(b)) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error 1005
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+--error 1239
alter table t1 add foreign key(a) references t1(a,b);
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
@@ -106,15 +121,15 @@ drop table t1;
# ON UPDATE/DELETE SET NULL on NOT NULL column
#
create table t1 (f1 integer not null primary key) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
alter table t1 add constraint c1 foreign key (f1) references t1(f1) on update set null;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
create table t2(a int not null, foreign key(a) references t1(f1) on delete set null) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
@@ -122,9 +137,9 @@ drop table t1;
# Incorrect types
#
create table t1 (id int not null primary key, f1 int, f2 int, key(f1)) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
--error 1005
create table t2(a char(20), key(a), foreign key(a) references t1(f1)) engine=innodb;
---replace_regex /'[^']*test.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
show warnings;
drop table t1;
diff --git a/mysql-test/suite/innodb/t/innodb-fk.test b/mysql-test/suite/innodb/t/innodb-fk.test
index fd8dce7594c..17e926e8647 100644
--- a/mysql-test/suite/innodb/t/innodb-fk.test
+++ b/mysql-test/suite/innodb/t/innodb-fk.test
@@ -115,11 +115,11 @@ CREATE TABLE t2 (
CONSTRAINT fk2 FOREIGN KEY (f2) REFERENCES t1 (`id`) ON DELETE CASCADE
) ENGINE=InnoDB;
---replace_regex /'test\.#sql-[0-9_a-f-]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9_a-f-]*/#sql-temporary/
--error 1005
ALTER TABLE t2 ADD CONSTRAINT fk3 FOREIGN KEY (f3) REFERENCES t3 (id) ON DELETE CASCADE;
---replace_regex /'test\.#sql-[0-9_a-f-]*'/'#sql-temporary'/
+--replace_regex /#sql-[0-9_a-f-]*/#sql-temporary/
show warnings;
drop table t2;
@@ -165,3 +165,66 @@ show create table `kg_test2`.`person2`;
SHOW WARNINGS;
DROP DATABASE kg_test2;
DROP DATABASE kg_test1;
+
+#
+# MDEV-7627: Some symbols in table name can cause to Error Code: 1050 when created FK
+#
+
+CREATE TABLE `#departaments` (
+ `id_depart` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id_depart`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `#departaments_tree` (
+ `id_depart` INT(10) UNSIGNED NOT NULL,
+ `id_depart_in` INT(10) UNSIGNED NOT NULL,
+ PRIMARY KEY (`id_depart`,`id_depart_in`),
+ CONSTRAINT `#departaments_tree_ibfk_1` FOREIGN KEY (`id_depart`) REFERENCES `#departaments` (`id_depart`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8;
+
+ALTER TABLE `#departaments_tree`
+ ADD FOREIGN KEY (`id_depart_in`) REFERENCES `#departaments`(`id_depart`);
+
+SHOW CREATE TABLE `#departaments_tree`;
+
+DROP TABLE `#departaments_tree`;
+DROP TABLE `#departaments`;
+
+CREATE TABLE `boroda` (
+ `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `a` INT(11) UNSIGNED DEFAULT NULL,
+ `b` INT(11) UNSIGNED DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `a` (`a`),
+ CONSTRAINT `boroda_ibfk_1` FOREIGN KEY (`a`) REFERENCES `boroda` (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8;
+
+ALTER TABLE `boroda`
+ ADD FOREIGN KEY (`b`) REFERENCES `boroda`(`id`);
+
+ALTER TABLE `boroda` DROP FOREIGN KEY `boroda_ibfk_2`;
+
+RENAME TABLE `boroda` TO `#boroda`;
+
+ALTER TABLE `#boroda`
+ADD FOREIGN KEY (`b`) REFERENCES `#boroda`(`id`);
+
+SHOW CREATE TABLE `#boroda`;
+DROP TABLE `#boroda`;
+
+CREATE TABLE `boroda` (
+ `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `a` INT(11) UNSIGNED DEFAULT NULL,
+ `b` INT(11) UNSIGNED DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `a` (`a`),
+ CONSTRAINT `boroda_ibfk_1` FOREIGN KEY (`a`) REFERENCES `boroda` (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8;
+
+RENAME TABLE `boroda` TO `bor#oda`;
+
+ALTER TABLE `bor#oda`
+ADD FOREIGN KEY (`b`) REFERENCES `bor#oda`(`id`);
+
+SHOW CREATE TABLE `bor#oda`;
+DROP TABLE `bor#oda`;
diff --git a/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.opt b/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.opt
new file mode 100644
index 00000000000..afa6311a74b
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.opt
@@ -0,0 +1,2 @@
+--changed-page-bitmaps
+--innodb-track-changed-pages
diff --git a/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.test b/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.test
new file mode 100644
index 00000000000..662bbbaacaf
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.test
@@ -0,0 +1,5 @@
+-- source include/have_xtradb.inc
+-- source include/not_embedded.inc
+
+FLUSH NO_WRITE_TO_BINLOG changed_page_bitmaps;
+select * from information_schema.changed_page_bitmaps;
diff --git a/mysql-test/suite/innodb/t/innodb-get-fk.test b/mysql-test/suite/innodb/t/innodb-get-fk.test
new file mode 100644
index 00000000000..46eb7dd0273
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-get-fk.test
@@ -0,0 +1,68 @@
+-- source include/have_innodb.inc
+# need to restart server
+-- source include/not_embedded.inc
+CREATE SCHEMA `repro`;
+
+CREATE TABLE `repro`.`crew` (
+`id` int(11) NOT NULL AUTO_INCREMENT,
+`code` varchar(50) NOT NULL,
+`name` varchar(50) NOT NULL,
+`created_at` timestamp NULL DEFAULT NULL,
+`updated_at` timestamp NULL DEFAULT NULL,
+PRIMARY KEY (`id`),
+KEY `code` (`code`)
+) ENGINE=InnoDB;
+
+CREATE TABLE `repro`.`pilot` (
+`id` int(11) NOT NULL AUTO_INCREMENT,
+`code` varchar(50) NOT NULL,
+`name` varchar(50) NOT NULL,
+`created_at` timestamp NULL DEFAULT NULL,
+`updated_at` timestamp NULL DEFAULT NULL,
+PRIMARY KEY (`id`),
+KEY `code` (`code`)
+) ENGINE=InnoDB;
+
+CREATE TABLE `repro`.`crew_role_assigned` (
+`id` int(11) NOT NULL AUTO_INCREMENT,
+`crew_id` int(11) NOT NULL,
+`role_code` varchar(50) NOT NULL,
+PRIMARY KEY (`id`),
+KEY `fk_crewRoleAssigned_roleCode` (`role_code`),
+CONSTRAINT `fk_crewRoleAssigned_crewId` FOREIGN KEY (`crew_id`) REFERENCES `repro`.`crew` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
+CONSTRAINT `fk_crewRoleAssigned_pilotId` FOREIGN KEY (`crew_id`) REFERENCES `repro`.`pilot` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB COMMENT="This is a comment about tables";
+
+-- let $restart_parameters=--innodb-read-only
+-- source include/restart_mysqld.inc
+
+--error ER_OPEN_AS_READONLY
+ALTER TABLE `repro`.`crew_role_assigned` COMMENT = 'innodb_read_only';
+SHOW CREATE TABLE `repro`.`crew_role_assigned`;
+
+# These should be ignored in innodb_read_only mode.
+SET GLOBAL innodb_buffer_pool_load_now = ON;
+SET GLOBAL innodb_buffer_pool_dump_now = ON;
+SET GLOBAL innodb_buffer_pool_load_abort = ON;
+
+-- let $restart_parameters=
+-- source include/restart_mysqld.inc
+
+ALTER TABLE `repro`.`crew_role_assigned` COMMENT = "This is a new comment about tables";
+SHOW CREATE TABLE `repro`.`crew_role_assigned`;
+
+-- let $restart_parameters=--innodb-read-only
+-- source include/restart_mysqld.inc
+
+#
+# Below create table should contain also fk definitions
+#
+SHOW CREATE TABLE `repro`.`crew_role_assigned`;
+
+-- let $restart_parameters=
+-- source include/restart_mysqld.inc
+
+DROP TABLE `repro`.`crew_role_assigned`;
+DROP TABLE `repro`.`pilot`;
+DROP TABLE `repro`.`crew`;
+DROP SCHEMA `repro`;
diff --git a/mysql-test/suite/innodb/t/innodb-index-debug.opt b/mysql-test/suite/innodb/t/innodb-index-debug.opt
new file mode 100644
index 00000000000..778b4443d4f
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-debug.opt
@@ -0,0 +1 @@
+--innodb-sort-buffer-size=64k
diff --git a/mysql-test/suite/innodb/t/innodb-index-debug.test b/mysql-test/suite/innodb/t/innodb-index-debug.test
new file mode 100644
index 00000000000..e179b969a6a
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-debug.test
@@ -0,0 +1,122 @@
+-- source include/have_debug.inc
+-- source include/have_innodb.inc
+-- source include/have_debug_sync.inc
+
+let $per_table=`select @@innodb_file_per_table`;
+let $format=`select @@innodb_file_format`;
+set global innodb_file_per_table=on;
+set global innodb_file_format='Barracuda';
+
+#
+# Test for BUG# 12739098, check whether trx->error_status is reset on error.
+#
+CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1)) Engine=InnoDB;
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5);
+
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG='+d,ib_build_indexes_too_many_concurrent_trxs, ib_rename_indexes_too_many_concurrent_trxs, ib_drop_index_too_many_concurrent_trxs';
+--error ER_TOO_MANY_CONCURRENT_TRXS
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+SET DEBUG_DBUG = @saved_debug_dbug;
+
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+#
+# Test for Bug#13861218 Records are not fully sorted during index creation
+#
+CREATE TABLE bug13861218 (c1 INT NOT NULL, c2 INT NOT NULL, INDEX(c2))
+ENGINE=InnoDB;
+INSERT INTO bug13861218 VALUES (8, 0), (4, 0), (0, 0);
+SET DEBUG_DBUG = '+d,ib_row_merge_buf_add_two';
+# Force creation of a PRIMARY KEY on c1 to see what happens on the index(c2).
+# No crash here, because n_uniq for c2 includes the clustered index fields
+CREATE UNIQUE INDEX ui ON bug13861218(c1);
+SET DEBUG_DBUG = @saved_debug_dbug;
+DROP TABLE bug13861218;
+
+CREATE TABLE bug13861218 (c1 INT NOT NULL, c2 INT UNIQUE) ENGINE=InnoDB;
+INSERT INTO bug13861218 VALUES (8, NULL), (4, NULL), (0, NULL);
+SET DEBUG_DBUG = '+d,ib_row_merge_buf_add_two';
+# Force creation of a PRIMARY KEY on c1 to see what happens on the index(c2).
+# assertion failure: ut_ad(cmp_dtuple_rec(dtuple, rec, rec_offsets) > 0)
+CREATE UNIQUE INDEX ui ON bug13861218(c1);
+SET DEBUG_DBUG = @saved_debug_dbug;
+DROP TABLE bug13861218;
+
+eval set global innodb_file_per_table=$per_table;
+eval set global innodb_file_format=$format;
+eval set global innodb_file_format_max=$format;
+
+--echo #
+--echo # Bug #21762319 ADDING INDEXES ON EMPTY TABLE IS SLOW
+--echo # WITH LARGE INNODB_SORT_BUFFER_SIZE.
+
+call mtr.add_suppression("InnoDB: Cannot create temporary merge file");
+
+# Table with large data which is greater than sort buffer
+
+create table t480(a serial)engine=innodb;
+insert into t480
+values(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),
+(),(),(),(),(),(),(),();
+insert into t480 select 0 from t480;
+insert into t480 select 0 from t480;
+insert into t480 select 0 from t480;
+insert into t480 select 0 from t480;
+create table t1(f1 int auto_increment not null,
+ f2 char(200) not null, f3 char(200) not null,
+ f4 char(200) not null,primary key(f1))engine=innodb;
+insert into t1 select NULL,'aaa','bbb','ccc' from t480;
+insert into t1 select NULL,'aaaa','bbbb','cccc' from t480;
+insert into t1 select NULL,'aaaaa','bbbbb','ccccc' from t480;
+insert into t1 select NULL,'aaaaaa','bbbbbb','cccccc' from t480;
+insert into t1 select NULL,'aaaaaaa','bbbbbbb','ccccccc' from t480;
+insert into t1 select NULL,'aaaaaaaa','bbbbbbbb','cccccccc' from t480;
+select count(*) from t1;
+
+SET DEBUG_DBUG = '+d,innobase_tmpfile_creation_failure';
+--error ER_OUT_OF_RESOURCES
+alter table t1 force, algorithm=inplace;
+SET DEBUG_DBUG = @saved_debug_dbug;
+drop table t1, t480;
+
+--echo #
+--echo # MDEV-12827 Assertion failure when reporting duplicate key error
+--echo # in online table rebuild
+--echo #
+
+CREATE TABLE t1 (j INT UNIQUE, i INT UNIQUE) ENGINE=InnoDB;
+--connect (con1,localhost,root,,test)
+SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL built WAIT_FOR log';
+--send
+ALTER TABLE t1 DROP j, FORCE;
+
+--connection default
+SET DEBUG_SYNC='now WAIT_FOR built';
+--error ER_DUP_ENTRY
+INSERT INTO t1 (i) VALUES (0),(0);
+SET DEBUG_SYNC='now SIGNAL log';
+
+--connection con1
+--error ER_DUP_ENTRY
+reap;
+SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL built2 WAIT_FOR log2';
+--send
+ALTER TABLE t1 DROP j, FORCE;
+
+--connection default
+SET DEBUG_SYNC='now WAIT_FOR built2';
+INSERT INTO t1 (i) VALUES (0),(1);
+--error ER_DUP_ENTRY
+UPDATE t1 SET i=0;
+SET DEBUG_SYNC='now SIGNAL log2';
+
+--connection con1
+--error ER_DUP_ENTRY
+reap;
+--disconnect con1
+--connection default
+SET DEBUG_SYNC='RESET';
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-index-online-delete.test b/mysql-test/suite/innodb/t/innodb-index-online-delete.test
new file mode 100644
index 00000000000..ec5f93731ed
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-online-delete.test
@@ -0,0 +1,36 @@
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+# Save the initial number of concurrent sessions.
+--source include/count_sessions.inc
+
+connect (con1,localhost,root,,);
+
+connection default;
+
+CREATE TABLE t (a INT PRIMARY KEY, b INT NOT NULL) ENGINE=InnoDB;
+INSERT INTO t VALUES(1,2),(2,3);
+
+SET DEBUG_SYNC='alter_table_inplace_after_lock_downgrade SIGNAL do WAIT_FOR m';
+SET DEBUG_SYNC='innodb_after_inplace_alter_table SIGNAL scanned WAIT_FOR done';
+--send
+CREATE INDEX tb ON t(b);
+
+connection con1;
+SET DEBUG_SYNC='now WAIT_FOR do';
+SET DEBUG_SYNC='row_update_for_mysql_error SIGNAL m WAIT_FOR scanned';
+--error ER_DUP_ENTRY
+UPDATE t SET a=2 WHERE a=1;
+call mtr.add_suppression('InnoDB: record in index .*tb was not found on rollback, trying to insert');
+SET DEBUG_SYNC='now SIGNAL done';
+
+disconnect con1;
+
+connection default;
+reap;
+SET DEBUG_SYNC='RESET';
+DROP TABLE t;
+
+# Check that all connections opened by test cases in this file are really
+# gone so execution of other tests won't be affected by their presence.
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/innodb-index-online-fk.opt b/mysql-test/suite/innodb/t/innodb-index-online-fk.opt
new file mode 100644
index 00000000000..345d5529dce
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-online-fk.opt
@@ -0,0 +1,4 @@
+--loose-innodb-sys-tables
+--loose-innodb-sys-columns
+--loose-innodb-sys-foreign
+--loose-innodb-sys-foreign-cols
diff --git a/mysql-test/suite/innodb/t/innodb-index-online-fk.test b/mysql-test/suite/innodb/t/innodb-index-online-fk.test
new file mode 100644
index 00000000000..4480b88f0bf
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-online-fk.test
@@ -0,0 +1,484 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+INSERT INTO parent VALUES(1,2),(2,3);
+
+CREATE INDEX tb ON parent(b);
+
+INSERT INTO parent VALUES(10,20),(20,30);
+
+CREATE TABLE child (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+
+CREATE INDEX tb ON child(a2);
+
+INSERT INTO child VALUES(10,20);
+
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE child ADD FOREIGN KEY(a2) REFERENCES parent(b),
+ALGORITHM = INPLACE;
+
+SET foreign_key_checks = 0;
+
+ALTER TABLE child ADD CONSTRAINT fk_1 FOREIGN KEY (a2)
+REFERENCES parent(b) ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+
+# duplicated foreign key name
+--error ER_FK_DUP_NAME
+ALTER TABLE child ADD CONSTRAINT fk_1 FOREIGN KEY (a2)
+REFERENCES parent(b) ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+SET foreign_key_checks = 1;
+
+INSERT INTO child VALUES(1,2),(2,3);
+
+--error ER_NO_REFERENCED_ROW_2
+INSERT INTO child VALUES(4,4);
+
+SELECT * FROM parent;
+
+SET foreign_key_checks = 0;
+
+# This would fail. No corresponding index
+--error ER_FK_NO_INDEX_PARENT
+ALTER TABLE child ADD CONSTRAINT fk_20 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+SHOW WARNINGS;
+
+SHOW ERRORS;
+
+CREATE INDEX idx1 on parent(a, b);
+
+ALTER TABLE child ADD CONSTRAINT fk_10 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+# This should be successful, as we added the index
+ALTER TABLE child ADD CONSTRAINT fk_2 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE, ADD INDEX idx1(a1,a2),
+ALGORITHM = INPLACE;
+
+ALTER TABLE child ADD CONSTRAINT fk_3 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+
+SET foreign_key_checks = 1;
+
+--error ER_NO_REFERENCED_ROW_2
+INSERT INTO child VALUES(5,4);
+
+SHOW CREATE TABLE child;
+
+DELETE FROM parent where a = 1;
+
+SELECT * FROM child;
+
+# Now test referenced table cannot be opened. This should work fine
+# when foreign_key_checks is set to 0
+
+SET foreign_key_checks = 0;
+
+# This is to test the scenario we cannot open the referenced table.
+# Since foreign_key_checks is set to 0, the foreign key should still
+# be added.
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG = '+d,innodb_test_open_ref_fail';
+ALTER TABLE child ADD CONSTRAINT fk_4 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SET DEBUG_DBUG = @saved_debug_dbug;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+
+# this should succeed, since we disabled the foreign key check
+INSERT INTO child VALUES(5,4);
+
+SET foreign_key_checks = 1;
+
+--error ER_NO_REFERENCED_ROW_2
+INSERT INTO child VALUES(6,5);
+
+SET foreign_key_checks = 0;
+
+# Create some table with 'funny' characters, for testing the
+# error message
+CREATE TABLE `#parent` (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+
+CREATE INDEX tb ON `#parent`(a, b);
+
+CREATE TABLE `#child` (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+
+CREATE INDEX tb ON `#child`(a1, a2);
+
+# This is to test the scenario no foreign index, alter table should fail
+SET DEBUG_DBUG = '+d,innodb_test_no_foreign_idx';
+--error ER_FK_NO_INDEX_CHILD,
+ALTER TABLE `#child` ADD CONSTRAINT fk_40 FOREIGN KEY (a1, a2)
+REFERENCES `#parent`(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SET DEBUG_DBUG = @saved_debug_dbug;
+
+SHOW ERRORS;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+
+# This is to test the scenario no index on referenced table,
+# alter table should fail
+SET DEBUG_DBUG = '+d,innodb_test_no_reference_idx';
+--error ER_FK_NO_INDEX_PARENT,
+ALTER TABLE child ADD CONSTRAINT fk_42 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SET DEBUG_DBUG = @saved_debug_dbug;
+
+SHOW ERRORS;
+
+# This is to test the scenario no index on referenced table,
+# alter table should fail
+SET DEBUG_DBUG = '+d,innodb_test_wrong_fk_option';
+--error ER_FK_INCORRECT_OPTION
+ALTER TABLE child ADD CONSTRAINT fk_42 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SET DEBUG_DBUG = @saved_debug_dbug;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+
+# This is to test the scenario cannot add fk to the system table,
+# alter table should fail
+SET DEBUG_DBUG = '+d,innodb_test_cannot_add_fk_system';
+--error ER_FK_FAIL_ADD_SYSTEM
+ALTER TABLE `#child` ADD CONSTRAINT fk_43 FOREIGN KEY (a1, a2)
+REFERENCES `#parent`(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SET DEBUG_DBUG = @saved_debug_dbug;
+
+SHOW ERRORS;
+
+DROP TABLE `#child`;
+DROP TABLE `#parent`;
+
+# Now test add multiple foreign key constrain in a single clause
+SET foreign_key_checks = 0;
+
+ALTER TABLE child ADD CONSTRAINT fk_5 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ADD CONSTRAINT fk_6 FOREIGN KEY (a1, a2)
+REFERENCES parent(a, b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+
+DROP TABLE child;
+DROP TABLE parent;
+
+# Test a case where child's foreign key index is being dropped in the
+# same clause of adding the foreign key. In theory, MySQL will
+# automatically create a new index to meet the index requirement
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+
+INSERT INTO parent VALUES(1,2),(2,3);
+
+CREATE INDEX tb ON parent(b);
+
+INSERT INTO parent VALUES(10,20),(20,30);
+
+CREATE TABLE child (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+
+CREATE INDEX tb ON child(a2);
+
+INSERT INTO child VALUES(10,20);
+
+SET foreign_key_checks = 0;
+
+ALTER TABLE child DROP INDEX tb, ADD CONSTRAINT fk_4 FOREIGN KEY (a2)
+REFERENCES parent(b) ON DELETE CASCADE ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+SHOW CREATE TABLE child;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * FROM information_schema.INNODB_SYS_FOREIGN_COLS;
+
+SET foreign_key_checks = 1;
+
+DROP TABLE child;
+
+DROP TABLE parent;
+
+# Test ADD FOREIGN KEY together with renaming columns.
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+
+INSERT INTO parent VALUES(1,2),(2,3);
+
+CREATE INDEX tb ON parent(b);
+
+INSERT INTO parent VALUES(10,20),(20,30);
+
+CREATE TABLE child (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+
+CREATE INDEX tb ON child(a2);
+
+SET foreign_key_checks = 0;
+
+--error ER_KEY_COLUMN_DOES_NOT_EXITS
+ALTER TABLE child CHANGE a2 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+ALTER TABLE child CHANGE a2 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a3) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+DROP TABLE child;
+
+DROP TABLE parent;
+
+# Add test for add Primary key and FK on changing columns
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+INSERT INTO parent VALUES(1,2),(2,3);
+
+CREATE INDEX tb ON parent(b);
+
+INSERT INTO parent VALUES(10,20),(20,30);
+
+CREATE TABLE child (a1 INT NOT NULL, a2 INT) ENGINE = InnoDB;
+
+CREATE INDEX tb ON child(a2);
+
+SET foreign_key_checks = 0;
+
+# Let's rebuild the table and add the FK, make the add FK failed.
+
+SET DEBUG_DBUG = '+d,innodb_test_cannot_add_fk_system';
+--error ER_FK_FAIL_ADD_SYSTEM
+ALTER TABLE child ADD PRIMARY KEY idx (a3), CHANGE a1 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+SET DEBUG_DBUG = @saved_debug_dbug;
+
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+
+# This should be successful. It will also check any left over
+# from previous failed operation (if dictionary entries not cleaned,
+# it will have dup key error.
+ALTER TABLE child ADD PRIMARY KEY idx (a3), CHANGE a1 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+
+SHOW CREATE TABLE child;
+
+DROP TABLE child;
+
+CREATE TABLE child (a1 INT NOT NULL, a2 INT) ENGINE = InnoDB;
+
+# Now try primary index and FK
+ALTER TABLE child ADD PRIMARY KEY idx (a1),
+ADD CONSTRAINT fk_1 FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+
+SHOW CREATE TABLE child;
+
+DROP TABLE child;
+
+CREATE TABLE child (a1 INT NOT NULL, a2 INT) ENGINE = InnoDB;
+
+ALTER TABLE child CHANGE a1 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a3) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+SELECT t2.name, t1.name FROM information_schema.innodb_sys_columns t1, information_schema.innodb_sys_tables t2 WHERE t1.table_id = t2.table_id AND t2.name LIKE "%child" ORDER BY t1.name;
+SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
+
+SHOW CREATE TABLE child;
+
+DROP TABLE child;
+
+CREATE TABLE child (a1 INT NOT NULL, a2 INT) ENGINE = InnoDB;
+# Now try all three
+--error ER_FK_INCORRECT_OPTION
+ALTER TABLE child ADD PRIMARY KEY idx (a3), CHANGE a1 a3 INT,
+ADD CONSTRAINT fk_1 FOREIGN KEY (a3) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+DROP TABLE parent;
+DROP TABLE child;
+
+CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL, c INT) ENGINE = InnoDB;
+INSERT INTO parent VALUES(1,2,3),(2,3,4);
+
+CREATE INDEX tb ON parent(b);
+
+CREATE TABLE child (a1 INT NOT NULL, a2 INT, a3 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON child(a2);
+
+ALTER TABLE child
+ADD CONSTRAINT fk_a FOREIGN KEY (a2) REFERENCES parent(b)
+ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+ALTER TABLE child
+ADD CONSTRAINT fk_b FOREIGN KEY (a1) REFERENCES parent(a),
+ALGORITHM = INPLACE;
+
+ALTER TABLE child CHANGE a2 a2_new INT, CHANGE a1 a1_new INT;
+
+SHOW CREATE TABLE child;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+
+# The third add FK will fail
+--error ER_FK_NO_INDEX_PARENT
+ALTER TABLE child
+ADD CONSTRAINT fk_new_1 FOREIGN KEY (a1_new) REFERENCES parent(b),
+ADD CONSTRAINT fk_new_2 FOREIGN KEY (a2_new) REFERENCES parent(a),
+ADD CONSTRAINT fk_new_3 FOREIGN KEY (a3) REFERENCES parent(c),
+ALGORITHM = INPLACE;
+
+# It should still have only 2 FKs
+SHOW CREATE TABLE child;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+
+#Now let's make it successful
+ALTER TABLE child
+ADD CONSTRAINT fk_new_1 FOREIGN KEY (a1_new) REFERENCES parent(b),
+ADD CONSTRAINT fk_new_2 FOREIGN KEY (a2_new) REFERENCES parent(a),
+ADD CONSTRAINT fk_new_3 FOREIGN KEY (a3) REFERENCES parent(a),
+ALGORITHM = INPLACE;
+
+# It should still have 5 FKs
+SHOW CREATE TABLE child;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+
+DROP TABLE child;
+CREATE TABLE child (a1 INT NOT NULL, a2 INT, a3 INT) ENGINE = InnoDB;
+CREATE INDEX tb ON child(a2);
+
+# Let's try this 3rd fk failure with add primary index
+--error ER_FK_NO_INDEX_PARENT
+ALTER TABLE child ADD PRIMARY KEY idx (a1),
+ADD CONSTRAINT fk_new_1 FOREIGN KEY (a1) REFERENCES parent(b),
+ADD CONSTRAINT fk_new_2 FOREIGN KEY (a2) REFERENCES parent(a),
+ADD CONSTRAINT fk_new_3 FOREIGN KEY (a3) REFERENCES parent(c),
+ALGORITHM = INPLACE;
+
+# It should still have no FKs, no PRIMARY
+SHOW CREATE TABLE child;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+
+# make it successful
+ALTER TABLE child ADD PRIMARY KEY idx (a1),
+ADD CONSTRAINT fk_new_1 FOREIGN KEY (a1) REFERENCES parent(b),
+ADD CONSTRAINT fk_new_2 FOREIGN KEY (a2) REFERENCES parent(a),
+ADD CONSTRAINT fk_new_3 FOREIGN KEY (a3) REFERENCES parent(a),
+ALGORITHM = INPLACE;
+
+# It should have 3 FKs, a new PRIMARY
+SHOW CREATE TABLE child;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN;
+
+SELECT * from information_schema.INNODB_SYS_FOREIGN_COLS;
+
+SET foreign_key_checks = 1;
+
+DROP TABLE child;
+DROP TABLE parent;
+
+CREATE TABLE Parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
+INSERT INTO Parent VALUES(1,2),(2,3);
+
+CREATE INDEX tb ON Parent(b);
+
+INSERT INTO Parent VALUES(10,20),(20,30);
+
+CREATE TABLE Child (a1 INT PRIMARY KEY, a2 INT) ENGINE = InnoDB;
+
+CREATE INDEX tb ON Child(a2);
+
+INSERT INTO Child VALUES(10,20);
+
+SET foreign_key_checks = 0;
+
+ALTER TABLE Child ADD CONSTRAINT fk_1 FOREIGN KEY (a2)
+REFERENCES Parent(b) ON DELETE SET NULL ON UPDATE CASCADE,
+ALGORITHM = INPLACE;
+
+DROP TABLE Child;
+DROP TABLE Parent;
+
+# This is the test for bug 14594526 - FK: ASSERTION IN
+# DICT_TABLE_CHECK_FOR_DUP_INDEXES
+CREATE TABLE `t2`(a int,c int,d int) ENGINE=INNODB;
+CREATE TABLE `t3`(a int,c int,d int) ENGINE=INNODB;
+CREATE INDEX idx ON t3(a);
+
+ALTER TABLE `t2` ADD CONSTRAINT `fw` FOREIGN KEY (`c`) REFERENCES t3 (a);
+
+ALTER TABLE `t2` ADD CONSTRAINT `e` foreign key (`d`) REFERENCES t3(a);
+
+--error ER_FK_FAIL_ADD_SYSTEM
+ALTER TABLE `t3` ADD CONSTRAINT `e` foreign key (`c`) REFERENCES `t2`(`c`) ON UPDATE SET NULL;
+
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
+
+DROP TABLE t2;
+
+DROP TABLE t3;
diff --git a/mysql-test/suite/innodb/t/innodb-index-online-norebuild.opt b/mysql-test/suite/innodb/t/innodb-index-online-norebuild.opt
new file mode 100644
index 00000000000..39b93371503
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-online-norebuild.opt
@@ -0,0 +1 @@
+--loose-innodb-sys-tables
diff --git a/mysql-test/suite/innodb/t/innodb-index-online-norebuild.test b/mysql-test/suite/innodb/t/innodb-index-online-norebuild.test
new file mode 100644
index 00000000000..518b4efe1df
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-online-norebuild.test
@@ -0,0 +1,71 @@
+--source include/have_innodb.inc
+
+--echo # INPLACE ALTER WITH INPLACE_IGNORE FLAG AND CHANGE CREATE OPTION
+
+--echo # CHANGE THE COLUMN DEFAULT (INPLACE_IGNORE)
+--echo # AND TABLE CHARSET(CHANGE CREATE)
+
+CREATE TABLE t1(
+ id INT PRIMARY KEY,
+ f1 INT NOT NULL DEFAULT 0)ENGINE=INNODB;
+
+INSERT INTO t1 VALUES(1, 2);
+
+let id_before_alter =`SELECT table_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE name="test/t1"`;
+
+# Allow the following operation to report errors.
+SET SQL_MODE='STRICT_ALL_TABLES';
+ALTER TABLE t1 MODIFY COLUMN f1 INT NOT NULL DEFAULT 0,
+ DEFAULT CHARSET=latin1, ALGORITHM=INPLACE;
+
+let id_after_alter =`SELECT table_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE name="test/t1"`;
+
+if ($id_before_alter != $id_after_alter)
+{
+ --echo "Table rebuild happened";
+}
+
+DROP TABLE t1;
+
+--echo # CHANGE THE COMMENT OF COLUMN(INPLACE IGNORE)
+--echo # AND TABLE CHARSET(CHANGE CREATE)
+
+CREATE TABLE t1(id INT COMMENT 'independence day')ENGINE=INNODB;
+
+INSERT INTO t1 values(1);
+
+let id_before_alter =`SELECT table_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE name="test/t1"`;
+
+ALTER TABLE t1 MODIFY COLUMN id INT COMMENT 'identifier',
+ DEFAULT CHARSET=latin1, ALGORITHM=INPLACE;
+
+let id_after_alter =`SELECT table_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE name="test/t1"`;
+
+if ($id_before_alter != $id_after_alter)
+{
+ --echo "Table rebuild happened";
+}
+
+DROP TABLE t1;
+
+--echo # RENAME THE TABLE(INPLACE IGNORE)
+--echo # AND CHANGE TABLE CHARSET(CHANGE CREATE)
+
+CREATE TABLE t1(
+ f1 INT NOT NULL,
+ f2 INT NOT NULL)ENGINE=INNODB;
+
+INSERT INTO t1 VALUES(1, 2);
+
+let id_before_alter =`SELECT table_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE name="test/t1"`;
+
+ALTER TABLE t1 RENAME t2, DEFAULT CHARSET=latin1, ALGORITHM=INPLACE;
+
+let id_after_alter =`SELECT table_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE name="test/t2"`;
+
+if ($id_before_alter != $id_after_alter)
+{
+ --echo "Table rebuild happened";
+}
+
+DROP TABLE t2;
diff --git a/mysql-test/suite/innodb/t/innodb-index-online-purge.test b/mysql-test/suite/innodb/t/innodb-index-online-purge.test
new file mode 100644
index 00000000000..28ff9403c0c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-online-purge.test
@@ -0,0 +1,73 @@
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+
+# Save the initial number of concurrent sessions.
+--source include/count_sessions.inc
+
+connect (con1,localhost,root,,);
+
+connect (con2,localhost,root,,);
+connection default;
+
+CREATE TABLE t (a INT PRIMARY KEY, c TEXT) ENGINE=InnoDB;
+CREATE TABLE u (a INT PRIMARY KEY, b INT, c INT NOT NULL) ENGINE=InnoDB;
+
+INSERT INTO t VALUES (1,'aa');
+BEGIN;
+INSERT INTO u SET a=1, c=1;
+INSERT INTO u SELECT a+1,NULL,a+1 FROM u;
+INSERT INTO u SELECT a+2,NULL,a+2 FROM u;
+INSERT INTO u SELECT a+4,NULL,a+4 FROM u;
+INSERT INTO u SELECT a+8,NULL,a+8 FROM u;
+INSERT INTO u SELECT a+16,NULL,a+16 FROM u;
+INSERT INTO u SELECT a+32,NULL,a+32 FROM u;
+INSERT INTO u SELECT a+64,NULL,a+64 FROM u;
+INSERT INTO u SELECT a+128,NULL,a+64 FROM u;
+INSERT INTO u SELECT a+256,NULL,a+64 FROM u;
+COMMIT;
+
+BEGIN;
+DELETE FROM u;
+
+connection con2;
+SET DEBUG_SYNC='row_log_apply_before SIGNAL created_u WAIT_FOR dml_done_u';
+--send
+ALTER TABLE u ADD INDEX (c);
+
+connection default;
+# Check that the above SELECT is blocked
+let $wait_condition=
+ SELECT COUNT(*) = 1 from information_schema.processlist
+ WHERE state = 'Waiting for table metadata lock' AND
+ info = 'ALTER TABLE u ADD INDEX (c)';
+--source include/wait_condition.inc
+
+COMMIT;
+SET DEBUG_SYNC='now WAIT_FOR created_u';
+SELECT state FROM information_schema.processlist
+WHERE info='ALTER TABLE u ADD INDEX (c)';
+
+connection con1;
+SET DEBUG_SYNC='row_log_apply_before SIGNAL created_t WAIT_FOR dml_done_t';
+--send
+CREATE INDEX c1 ON t (c(1));
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR created_t';
+UPDATE t SET c='ab';
+# Allow purge to kick in. TODO: Trigger this faster, somehow.
+SELECT SLEEP(10);
+SET DEBUG_SYNC='now SIGNAL dml_done_u';
+connection con2;
+reap;
+SET DEBUG_SYNC='now SIGNAL dml_done_t';
+disconnect con2;
+connection con1;
+reap;
+disconnect con1;
+connection default;
+SET DEBUG_SYNC='RESET';
+DROP TABLE t,u;
+
+# Check that all connections opened by test cases in this file are really
+# gone so execution of other tests won't be affected by their presence.
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/innodb-index-online.opt b/mysql-test/suite/innodb/t/innodb-index-online.opt
new file mode 100644
index 00000000000..820778b0004
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-online.opt
@@ -0,0 +1,6 @@
+--innodb-sort-buffer-size=64k
+--innodb-online-alter-log-max-size=128k
+--innodb-buffer-pool-size=5M
+--innodb-log-buffer-size=256k
+--innodb-sys-indexes
+--innodb-sys-fields
diff --git a/mysql-test/suite/innodb/t/innodb-index-online.test b/mysql-test/suite/innodb/t/innodb-index-online.test
new file mode 100644
index 00000000000..efe1c796cf1
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index-online.test
@@ -0,0 +1,508 @@
+--source include/innodb_page_size_small.inc
+--source include/innodb_encrypt_log.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+let $innodb_metrics_select=
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+
+call mtr.add_suppression("InnoDB: Warning: Small buffer pool size");
+
+# DISCARD TABLESPACE needs file-per-table
+SET @global_innodb_file_per_table_orig = @@global.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table = on;
+
+# Save the initial number of concurrent sessions.
+--source include/count_sessions.inc
+
+CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT, c3 TEXT)
+ENGINE=InnoDB STATS_PERSISTENT=0;
+INSERT INTO t1 VALUES (1,1,''), (2,2,''), (3,3,''), (4,4,''), (5,5,'');
+
+SET GLOBAL innodb_monitor_enable = module_ddl;
+eval $innodb_metrics_select;
+
+SET DEBUG_SYNC = 'RESET';
+SET DEBUG_SYNC = 'write_row_noreplace SIGNAL have_handle WAIT_FOR go_ahead';
+--send
+INSERT INTO t1 VALUES(1,2,3);
+
+connect (con1,localhost,root,,);
+connection con1;
+
+# This should block at the end because of the INSERT in connection default
+# is holding a metadata lock.
+SET DEBUG_SYNC = 'now WAIT_FOR have_handle';
+SET lock_wait_timeout = 1;
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+
+connection default;
+--error ER_DUP_ENTRY
+reap;
+eval $innodb_metrics_select;
+
+connection con1;
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG = '+d,innodb_OOM_prepare_inplace_alter';
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+SET DEBUG_DBUG = @saved_debug_dbug;
+SET DEBUG_DBUG = '+d,innodb_OOM_inplace_alter';
+--error ER_OUT_OF_RESOURCES
+CREATE UNIQUE INDEX c2 ON t1(c2);
+SET DEBUG_DBUG = @saved_debug_dbug;
+CREATE UNIQUE INDEX c2 ON t1(c2);
+DROP INDEX c2 ON t1;
+
+connection default;
+SHOW CREATE TABLE t1;
+# Insert a duplicate entry (4) for the upcoming UNIQUE INDEX(c2).
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+
+connection con1;
+# This DEBUG_SYNC should not kick in yet, because the duplicate key will be
+# detected before we get a chance to apply the online log.
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL scanned WAIT_FOR rollback_done';
+# This will be a lock wait timeout on the meta-data lock,
+# because the transaction inserting (7,4,2) is still active.
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+connection default;
+COMMIT;
+connection con1;
+--error ER_DUP_ENTRY
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+connection default;
+DELETE FROM t1 WHERE c1 = 7;
+connection con1;
+# ADD FOREIGN KEY is not supported in-place
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1 ADD FOREIGN KEY(c2) REFERENCES t1(c2), ALGORITHM = INPLACE;
+# The previous DEBUG_SYNC should be ignored, because an exclusive lock
+# has been requested and the online log is not being allocated.
+ALTER TABLE t1 ADD UNIQUE INDEX(c2), LOCK = EXCLUSIVE, ALGORITHM = INPLACE;
+DROP INDEX c2 ON t1;
+# Now the previous DEBUG_SYNC should kick in.
+--send
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR scanned';
+eval $innodb_metrics_select;
+
+# Insert a duplicate entry (4) for the already started UNIQUE INDEX(c2).
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+ROLLBACK;
+SET DEBUG_SYNC = 'now SIGNAL rollback_done';
+
+connection con1;
+# Because the modification log will be applied in order, there will be
+# a duplicate key error on the (7,4,2) even though we roll it back.
+--error ER_DUP_ENTRY
+reap;
+# Now, create the index without any concurrent DML, while no duplicate exists.
+SET DEBUG_SYNC = 'row_log_apply_after SIGNAL created WAIT_FOR dml_done';
+--send
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR created';
+# At this point, the index has been created inside InnoDB but not yet
+# in the MySQL data dictionary.
+eval $innodb_metrics_select;
+# A duplicate key error should now be triggered by InnoDB, but reported
+# by the ALTER TABLE because the index does not 'officially' exist yet.
+INSERT INTO t1 VALUES(6,3,1);
+SET DEBUG_SYNC = 'now SIGNAL dml_done';
+connection con1;
+# This is due to the duplicate entry (6,3,1).
+--error ER_DUP_UNKNOWN_IN_INDEX
+reap;
+DELETE FROM t1 WHERE c1=6;
+ALTER TABLE t1 ADD UNIQUE INDEX(c2);
+eval $innodb_metrics_select;
+
+connection default;
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES(6,3,1);
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES(7,4,2);
+ALTER TABLE t1 STATS_PERSISTENT=1;
+ANALYZE TABLE t1;
+# Purge may or may not have cleaned up the DELETE FROM t1 WHERE c1 = 7;
+UPDATE mysql.innodb_index_stats SET stat_value = 5
+WHERE database_name = 'test' AND table_name= 't1' AND index_name = 'PRIMARY'
+AND stat_value = 6;
+--replace_column 4 LAST_UPDATE
+SELECT * FROM mysql.innodb_index_stats WHERE table_name IN ('t1');
+CREATE TABLE t1_c2_stats SELECT * FROM mysql.innodb_index_stats
+WHERE database_name = 'test' AND table_name = 't1' and index_name = 'c2';
+# in Embedded mode (./mtr --embedded-server) the t1_c2_stats table gets
+# created in MyISAM format by default even if we set
+# default_storage_engine='innodb'
+ALTER TABLE t1_c2_stats ENGINE=INNODB;
+DROP INDEX c2 ON t1;
+ANALYZE TABLE t1_c2_stats;
+--replace_column 4 LAST_UPDATE
+SELECT * FROM mysql.innodb_index_stats WHERE table_name IN ('t1', 't1_c2_stats');
+
+connection con1;
+let $ID= `SELECT @id := CONNECTION_ID()`;
+--error ER_QUERY_INTERRUPTED
+KILL QUERY @id;
+
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c2d_created WAIT_FOR kill_done';
+--send
+CREATE INDEX c2d ON t1(c2);
+
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR c2d_created';
+eval $innodb_metrics_select;
+let $ignore= `SELECT @id := $ID`;
+KILL QUERY @id;
+SET DEBUG_SYNC = 'now SIGNAL kill_done';
+
+connection con1;
+--error ER_QUERY_INTERRUPTED
+reap;
+eval $innodb_metrics_select;
+
+connection default;
+CHECK TABLE t1;
+INSERT INTO t1 SELECT 5 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 10 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 20 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 40 + c1, c2, c3 FROM t1;
+# Purge may or may not have cleaned up the DELETE FROM t1 WHERE c1 = 7;
+--replace_result 81 80
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE c2 > 3;
+ANALYZE TABLE t1;
+
+connection con1;
+# Forge some statistics for c2d, and see that they will be used
+UPDATE t1_c2_stats SET index_name = 'c2d';
+# Fake the statistics. The cardinality should be 5,80.
+UPDATE t1_c2_stats SET stat_value = 2 WHERE stat_name = 'n_diff_pfx01';
+INSERT INTO t1_c2_stats
+SELECT database_name, table_name, index_name, last_update, 'n_diff_pfx02', 80,
+sample_size, 'c2,c1' FROM t1_c2_stats
+WHERE stat_name = 'n_diff_pfx01' AND stat_description = 'c2';
+INSERT INTO mysql.innodb_index_stats SELECT * FROM t1_c2_stats;
+DROP TABLE t1_c2_stats;
+
+CREATE INDEX c2d ON t1(c2);
+# This should show the newly calculated stats by CREATE INDEX above,
+# not the faked cardinality=4 for c2d(c2).
+# Purge may or may not have cleaned up the DELETE FROM t1 WHERE c1 = 7;
+--replace_result 81 80
+SHOW INDEX FROM t1;
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE c2 > 3;
+
+SHOW CREATE TABLE t1;
+
+connection default;
+SET @merge_encrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+connection con1;
+
+# Exceed the configured innodb_online_alter_log_max_size.
+# The actual limit is a multiple of innodb_sort_buf_size,
+# because that is the size of the in-memory log buffers.
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c2e_created WAIT_FOR dml2_done';
+# Ensure that the ALTER TABLE will be executed even with some concurrent DML.
+SET lock_wait_timeout = 10;
+--send
+# FIXME: MDEV-13668
+#ALTER TABLE t1 CHANGE c2 c22 INT, DROP INDEX c2d, ADD INDEX c2e(c22),
+ALTER TABLE t1 DROP INDEX c2d, ADD INDEX c2e(c2),
+ALGORITHM = INPLACE;
+
+# Generate some log (delete-mark, delete-unmark, insert etc.)
+# while the index creation is blocked. Some of this may run
+# in parallel with the clustered index scan.
+connection default;
+INSERT INTO t1 SELECT 80 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 160 + c1, c2, c3 FROM t1;
+#UPDATE t1 SET c2 = c2 + 1;
+SET DEBUG_SYNC = 'now WAIT_FOR c2e_created';
+# At this point, the clustered index scan must have completed,
+# but the modification log keeps accumulating due to the DEBUG_SYNC.
+eval $innodb_metrics_select;
+let $c= 4;
+while ($c)
+{
+ BEGIN;
+ DELETE FROM t1;
+ ROLLBACK;
+ UPDATE t1 SET c2 = c2 + 1;
+ BEGIN;
+ UPDATE t1 SET c2 = c2 + 1;
+ DELETE FROM t1;
+ ROLLBACK;
+ dec $c;
+}
+# Incomplete index c2e should exist until the DDL thread notices the overflow.
+# (The output below strips TEMP_INDEX_PREFIX from the name.)
+eval $innodb_metrics_select;
+SELECT sf.name, sf.pos FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES si
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FIELDS sf
+ON si.index_id = sf.index_id WHERE si.name = '?c2e';
+
+SET @merge_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+
+SELECT
+(@merge_encrypt_1-@merge_encrypt_0)-
+(@merge_decrypt_1-@merge_decrypt_0) as sort_balance,
+@merge_encrypt_1>@merge_encrypt_0, @merge_decrypt_1>@merge_decrypt_0,
+@rowlog_encrypt_1>@rowlog_encrypt_0;
+
+# Release con1.
+SET DEBUG_SYNC = 'now SIGNAL dml2_done';
+
+connection con1;
+# If the following fails with the wrong error, it probably means that
+# you should rerun with a larger mtr --debug-sync-timeout.
+--error ER_INNODB_ONLINE_LOG_TOO_BIG
+reap;
+# The index c2e should have been dropped from the data dictionary
+# when the above error was noticed. It should still exist in the
+# cache with index->online_status = ONLINE_INDEX_ABORTED_DROPPED.
+eval $innodb_metrics_select;
+SELECT sf.name, sf.pos FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES si
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FIELDS sf
+ON si.index_id = sf.index_id WHERE si.name = 'c2e';
+
+# ddl_background_drop_indexes = 1 here, because the incomplete index c2e still
+# exists in the InnoDB data dictionary cache.
+eval $innodb_metrics_select;
+
+connection default;
+
+ALTER TABLE t1 COMMENT 'testing if c2e will be dropped';
+
+# Check that the 'zombie' index c2e was dropped.
+eval $innodb_metrics_select;
+
+SET @merge_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SET @rowlog_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
+
+connection con1;
+# Accumulate and apply some modification log.
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c2f_created WAIT_FOR dml3_done';
+--send
+# FIXME: MDEV-13668
+#ALTER TABLE t1 ADD INDEX c2f(c22f), CHANGE c2 c22f INT;
+ALTER TABLE t1 ADD INDEX c2f(c2);
+
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR c2f_created';
+# Generate some log (delete-mark, delete-unmark, insert etc.)
+eval $innodb_metrics_select;
+let $c= 2;
+while ($c)
+{
+BEGIN;
+INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
+DELETE FROM t1 WHERE c1 > 320;
+ROLLBACK;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+dec $c;
+}
+eval $innodb_metrics_select;
+# Release con1.
+SET DEBUG_SYNC = 'now SIGNAL dml3_done';
+
+connection con1;
+reap;
+# FIXME: MDEV-13668
+ALTER TABLE t1 CHANGE c2 c22f INT;
+
+eval $innodb_metrics_select;
+
+connection default;
+
+SET @merge_encrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SET @rowlog_decrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
+
+SELECT
+(@merge_encrypt_2-@merge_encrypt_1)-
+(@merge_decrypt_2-@merge_decrypt_1) as sort_balance,
+(@rowlog_encrypt_2-@rowlog_encrypt_1)-
+(@rowlog_decrypt_2-@rowlog_decrypt_1) as log_balance;
+SELECT
+@merge_encrypt_2-@merge_encrypt_1>0 as sort_encrypted,
+@merge_decrypt_2-@merge_decrypt_1>0 as sort_decrypted,
+@rowlog_encrypt_2-@rowlog_encrypt_1>0 as log_encrypted,
+@rowlog_decrypt_2-@rowlog_decrypt_1>0 as log_decrypted;
+
+connection con1;
+SELECT COUNT(c22f) FROM t1;
+CHECK TABLE t1;
+
+# Create a column prefix index.
+--error ER_DUP_ENTRY
+ALTER TABLE t1 ADD UNIQUE INDEX c3p5(c3(5));
+UPDATE t1 SET c3 = NULL WHERE c3 = '';
+SET lock_wait_timeout = 1;
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c3p5_created WAIT_FOR ins_done';
+--send
+ALTER TABLE t1 ADD UNIQUE INDEX c3p5(c3(5));
+
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created';
+
+# Check that the index was created.
+SELECT sf.name, sf.pos FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES si
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FIELDS sf
+ON si.index_id = sf.index_id WHERE si.name = '?c3p5';
+
+SET DEBUG_SYNC = 'ib_after_row_insert SIGNAL ins_done WAIT_FOR ddl_timed_out';
+--send
+INSERT INTO t1 VALUES(347,33101,NULL);
+
+connection con1;
+--error ER_LOCK_WAIT_TIMEOUT
+reap;
+SET DEBUG_SYNC = 'now SIGNAL ddl_timed_out';
+
+# InnoDB should have cleaned up the index c3p5 from the data dictionary,
+# but not yet from the dictionary cache.
+SELECT sf.name, sf.pos FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES si
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FIELDS sf
+ON si.index_id = sf.index_id WHERE si.name = 'c3p5';
+eval $innodb_metrics_select;
+
+connection default;
+reap;
+# Index c3p5 should still exist in the data dictionary cache.
+eval $innodb_metrics_select;
+
+--disable_parsing
+# Temporarily disabled by fix for bug#14213236. Should be either
+# removed or updated to take into account that locking for IMPORT/
+# DISCARD TABLESPACE happens on MDL layer. New test case is added
+# to validate this at MDL layer(i_main.alter_table.test)
+
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c2g_created WAIT_FOR dml4_done';
+# The lock upgrade at the end of the ALTER will conflict with the DISCARD.
+SET lock_wait_timeout = 1;
+--send
+ALTER TABLE t1 DROP INDEX c2f, ADD INDEX c2g(c22f);
+
+connection con1;
+SET DEBUG_SYNC = 'now WAIT_FOR c2g_created';
+
+connect (con2,localhost,root,,);
+connection con2;
+
+# This will conflict with the ALTER in connection default, above.
+SET lock_wait_timeout = 10;
+--send
+ALTER TABLE t1 DISCARD TABLESPACE;
+
+connection con1;
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM information_schema.processlist
+ WHERE state = 'Waiting for table level lock' and
+ info = 'ALTER TABLE t1 DISCARD TABLESPACE';
+--source include/wait_condition.inc
+
+SET DEBUG_SYNC = 'now SIGNAL dml4_done';
+disconnect con1;
+connection con2;
+reap;
+disconnect con2;
+connection default;
+--error ER_LOCK_WAIT_TIMEOUT
+reap;
+--enable_parsing
+#remove below con1 disconnect if above test case is enabled
+connection default;
+
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 DROP INDEX c2d, DROP INDEX c2f;
+# The ALTER TABLE should have cleaned up c3p5 from the cache.
+eval $innodb_metrics_select;
+ALTER TABLE t1 ADD INDEX c2h(c22f), ALGORITHM = INPLACE;
+--error ER_DUP_KEYNAME
+ALTER TABLE t1 ADD INDEX c2h(c22f), ALGORITHM = COPY;
+
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL innodb_monitor_disable = module_ddl;
+
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-13205 assertion !dict_index_is_online_ddl(index) upon ALTER TABLE
+--echo #
+CREATE TABLE t1 (c VARCHAR(64)) ENGINE=InnoDB;
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL t1u_created WAIT_FOR dup_done';
+send ALTER TABLE t1 ADD UNIQUE(c);
+
+connection con1;
+SET DEBUG_SYNC = 'now WAIT_FOR t1u_created';
+BEGIN;
+INSERT INTO t1 VALUES('bar'),('bar');
+SET DEBUG_SYNC = 'now SIGNAL dup_done';
+
+connection default;
+--error ER_DUP_ENTRY
+reap;
+
+SET DEBUG_SYNC = 'RESET';
+disconnect con1;
+CREATE TABLE t2 (c VARCHAR(64)) ENGINE=InnoDB;
+--replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t2 ADD FOREIGN KEY (c) REFERENCES t1 (c);
+DROP TABLE t2,t1;
+
+# Check that all connections opened by test cases in this file are really
+# gone so execution of other tests won't be affected by their presence.
+--source include/wait_until_count_sessions.inc
+
+SET GLOBAL innodb_file_per_table = @global_innodb_file_per_table_orig;
+--disable_warnings
+SET GLOBAL innodb_monitor_enable = default;
+SET GLOBAL innodb_monitor_disable = default;
+--enable_warnings
diff --git a/mysql-test/suite/innodb/t/innodb-index.test b/mysql-test/suite/innodb/t/innodb-index.test
index a9829b4f500..86ac1a8123e 100644
--- a/mysql-test/suite/innodb/t/innodb-index.test
+++ b/mysql-test/suite/innodb/t/innodb-index.test
@@ -1,5 +1,8 @@
-- source include/have_innodb.inc
+let $innodb_file_format_orig=`select @@innodb_file_format`;
+let $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
+
let $MYSQLD_DATADIR= `select @@datadir`;
let $per_table=`select @@innodb_file_per_table`;
@@ -7,127 +10,16 @@ let $format=`select @@innodb_file_format`;
set global innodb_file_per_table=on;
set global innodb_file_format='Barracuda';
-# Bug #12429576 - Test an assertion failure on purge.
-CREATE TABLE t1_purge (
-A INT,
-B BLOB, C BLOB, D BLOB, E BLOB,
-F BLOB, G BLOB, H BLOB,
-PRIMARY KEY (B(767), C(767), D(767), E(767), A),
-INDEX (A)
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-
-INSERT INTO t1_purge VALUES (1,
-REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
-REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766));
-
-CREATE TABLE t2_purge (
-A INT PRIMARY KEY,
-B BLOB, C BLOB, D BLOB, E BLOB,
-F BLOB, G BLOB, H BLOB, I BLOB,
-J BLOB, K BLOB, L BLOB,
-INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-
-INSERT INTO t2_purge VALUES (1,
-REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766),
-REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766), REPEAT('i', 766),
-REPEAT('j', 766), REPEAT('k', 766), REPEAT('l', 766));
-
-CREATE TABLE t3_purge (
-A INT,
-B VARCHAR(800), C VARCHAR(800), D VARCHAR(800), E VARCHAR(800),
-F VARCHAR(800), G VARCHAR(800), H VARCHAR(800),
-PRIMARY KEY (B(767), C(767), D(767), E(767), A),
-INDEX (A)
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-
-INSERT INTO t3_purge SELECT * FROM t1_purge;
-
-CREATE TABLE t4_purge (
-A INT PRIMARY KEY,
-B VARCHAR(800), C VARCHAR(800), D VARCHAR(800), E VARCHAR(800),
-F VARCHAR(800), G VARCHAR(800), H VARCHAR(800), I VARCHAR(800),
-J VARCHAR(800), K VARCHAR(800), L VARCHAR(800),
-INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-
-INSERT INTO t4_purge SELECT * FROM t2_purge;
-
-# This would trigger the failure (Bug #12429576)
-# if purge gets a chance to run before DROP TABLE t1_purge, ....
-DELETE FROM t1_purge;
-DELETE FROM t2_purge;
-DELETE FROM t3_purge;
-DELETE FROM t4_purge;
-# Instead of doing a --sleep 10, wait until the rest of the tests in
-# this file complete before dropping the tables. By then, the purge thread
-# will have delt with the updates above.
-
-# Bug#12637786 - Bad assert by purge thread for records with external data
-# used in secondary indexes.
-SET @r=REPEAT('a',500);
-CREATE TABLE t12637786(a INT,
- v1 VARCHAR(500), v2 VARCHAR(500), v3 VARCHAR(500),
- v4 VARCHAR(500), v5 VARCHAR(500), v6 VARCHAR(500),
- v7 VARCHAR(500), v8 VARCHAR(500), v9 VARCHAR(500),
- v10 VARCHAR(500), v11 VARCHAR(500), v12 VARCHAR(500),
- v13 VARCHAR(500), v14 VARCHAR(500), v15 VARCHAR(500),
- v16 VARCHAR(500), v17 VARCHAR(500), v18 VARCHAR(500)
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-CREATE INDEX idx1 ON t12637786(a,v1);
-INSERT INTO t12637786 VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
-UPDATE t12637786 SET a=1000;
-DELETE FROM t12637786;
-# We need to activate the purge thread at this point to make sure it does not
-# assert and is able to clean up the old versions of secondary index entries.
-# But instead of doing a --sleep 10, wait until the rest of the tests in
-# this file complete before dropping the table. By then, the purge thread
-# will have delt with the updates above.
-
-# Bug#12963823 - Test that the purge thread does not crash when
-# the number of indexes has changed since the UNDO record was logged.
-create table t12963823(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
- i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob)
- engine=innodb row_format=dynamic;
-SET @r = repeat('a', 767);
-insert into t12963823 values (@r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r);
-create index ndx_a on t12963823 (a(500));
-create index ndx_b on t12963823 (b(500));
-create index ndx_c on t12963823 (c(500));
-create index ndx_d on t12963823 (d(500));
-create index ndx_e on t12963823 (e(500));
-create index ndx_f on t12963823 (f(500));
-create index ndx_k on t12963823 (k(500));
-create index ndx_l on t12963823 (l(500));
-
-SET @r = repeat('b', 500);
-update t12963823 set a=@r,b=@r,c=@r,d=@r;
-update t12963823 set e=@r,f=@r,g=@r,h=@r;
-update t12963823 set i=@r,j=@r,k=@r,l=@r;
-update t12963823 set m=@r,n=@r,o=@r,p=@r;
-alter table t12963823 drop index ndx_a;
-alter table t12963823 drop index ndx_b;
-create index ndx_g on t12963823 (g(500));
-create index ndx_h on t12963823 (h(500));
-create index ndx_i on t12963823 (i(500));
-create index ndx_j on t12963823 (j(500));
-create index ndx_m on t12963823 (m(500));
-create index ndx_n on t12963823 (n(500));
-create index ndx_o on t12963823 (o(500));
-create index ndx_p on t12963823 (p(500));
-show create table t12963823;
-# We need to activate the purge thread at this point to see if it crashes
-# but instead of doing a --sleep 10, wait until the rest of the tests in
-# this file complete before dropping the table. By then, the purge thread
-# will have delt with the updates above.
+SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS;
# Bug#13654923 BOGUS DEBUG ASSERTION IN INDEX CREATION FOR ZERO-LENGTH RECORD
create table t1(a varchar(2) primary key) engine=innodb;
insert into t1 values('');
+--enable_info
create index t1a1 on t1(a(1));
+--disable_info
drop table t1;
-eval set global innodb_file_per_table=$per_table;
-eval set global innodb_file_format=$format;
-
create table t1(a int not null, b int, c char(10) not null, d varchar(20)) engine = innodb;
insert into t1 values (5,5,'oo','oo'),(4,4,'tr','tr'),(3,4,'ad','ad'),(2,3,'ak','ak');
commit;
@@ -135,19 +27,30 @@ commit;
alter table t1 add index b (b), add index b (b);
--error ER_DUP_FIELDNAME
alter table t1 add index (b,b);
+--enable_info
alter table t1 add index d2 (d);
+--disable_info
show create table t1;
+-- disable_result_log
+analyze table t1;
+-- enable_result_log
explain select * from t1 force index(d2) order by d;
select * from t1 force index (d2) order by d;
--error ER_DUP_ENTRY
alter table t1 add unique index (b);
show create table t1;
+--enable_info
alter table t1 add index (b);
+--disable_info
show create table t1;
+--enable_info
alter table t1 add unique index (c), add index (d);
+--disable_info
show create table t1;
+analyze table t1;
explain select * from t1 force index(c) order by c;
+--enable_info
alter table t1 add primary key (a), drop index c;
show create table t1;
--error ER_MULTIPLE_PRI_KEY
@@ -155,16 +58,23 @@ alter table t1 add primary key (c);
--error ER_DUP_ENTRY
alter table t1 drop primary key, add primary key (b);
create unique index c on t1 (c);
+--disable_info
show create table t1;
+analyze table t1;
explain select * from t1 force index(c) order by c;
select * from t1 force index(c) order by c;
+--enable_info
alter table t1 drop index b, add index (b);
+--disable_info
show create table t1;
insert into t1 values(6,1,'ggg','ggg');
select * from t1;
select * from t1 force index(b) order by b;
select * from t1 force index(c) order by c;
select * from t1 force index(d) order by d;
+-- disable_result_log
+analyze table t1;
+-- enable_result_log
explain select * from t1 force index(b) order by b;
explain select * from t1 force index(c) order by c;
explain select * from t1 force index(d) order by d;
@@ -174,11 +84,16 @@ drop table t1;
create table t1(a int not null, b int, c char(10), d varchar(20), primary key (a)) engine = innodb;
insert into t1 values (1,1,'ab','ab'),(2,2,'ac','ac'),(3,3,'ad','ad'),(4,4,'afe','afe');
commit;
+--enable_info
alter table t1 add index (c(2));
show create table t1;
alter table t1 add unique index (d(10));
show create table t1;
+--disable_info
insert into t1 values(5,1,'ggg','ggg');
+-- disable_result_log
+analyze table t1;
+-- enable_result_log
select * from t1;
select * from t1 force index(c) order by c;
select * from t1 force index(d) order by d;
@@ -186,10 +101,15 @@ explain select * from t1 order by b;
explain select * from t1 force index(c) order by c;
explain select * from t1 force index(d) order by d;
show create table t1;
+--enable_info
alter table t1 drop index d;
+--disable_info
insert into t1 values(8,9,'fff','fff');
select * from t1;
select * from t1 force index(c) order by c;
+-- disable_result_log
+analyze table t1;
+-- enable_result_log
explain select * from t1 order by b;
explain select * from t1 force index(c) order by c;
explain select * from t1 order by d;
@@ -199,23 +119,38 @@ drop table t1;
create table t1(a int not null, b int, c char(10), d varchar(20), primary key (a)) engine = innodb;
insert into t1 values (1,1,'ab','ab'),(2,2,'ac','ac'),(3,2,'ad','ad'),(4,4,'afe','afe');
commit;
+--enable_info
alter table t1 add unique index (b,c);
+--disable_info
insert into t1 values(8,9,'fff','fff');
select * from t1;
select * from t1 force index(b) order by b;
+-- disable_result_log
+analyze table t1;
+-- enable_result_log
explain select * from t1 force index(b) order by b;
show create table t1;
+--enable_info
alter table t1 add index (b,c);
+--disable_info
insert into t1 values(11,11,'kkk','kkk');
select * from t1;
select * from t1 force index(b) order by b;
+-- disable_result_log
+analyze table t1;
+-- enable_result_log
explain select * from t1 force index(b) order by b;
show create table t1;
+--enable_info
alter table t1 add unique index (c,d);
+--disable_info
insert into t1 values(13,13,'yyy','aaa');
select * from t1;
select * from t1 force index(b) order by b;
select * from t1 force index(c) order by c;
+-- disable_result_log
+analyze table t1;
+-- enable_result_log
explain select * from t1 force index(b) order by b;
explain select * from t1 force index(c) order by c;
show create table t1;
@@ -224,9 +159,9 @@ drop table t1;
create table t1(a int not null, b int not null, c int, primary key (a), key (b)) engine = innodb;
create table t3(a int not null, c int not null, d int, primary key (a), key (c)) engine = innodb;
create table t4(a int not null, d int not null, e int, primary key (a), key (d)) engine = innodb;
-create table t2(a int not null, b int not null, c int not null, d int not null, e int,
-foreign key (b) references t1(b) on delete cascade,
-foreign key (c) references t3(c), foreign key (d) references t4(d))
+create table t2(a int not null, b int, c int, d int, e int,
+foreign key (b) references t1(b) on delete set null,
+foreign key (c) references t3(c), foreign key (d) references t4(d) on update set null)
engine = innodb;
--error ER_DROP_INDEX_FK
alter table t1 drop index b;
@@ -238,38 +173,80 @@ alter table t4 drop index d;
alter table t2 drop index b;
--error ER_DROP_INDEX_FK
alter table t2 drop index b, drop index c, drop index d;
+--error ER_FK_COLUMN_CANNOT_CHANGE
+alter table t2 MODIFY b INT NOT NULL, ALGORITHM=COPY;
+# NULL -> NOT NULL only allowed INPLACE if strict sql_mode is on.
+set @old_sql_mode = @@sql_mode;
+set @@sql_mode = 'STRICT_TRANS_TABLES';
+--error ER_FK_COLUMN_NOT_NULL
+alter table t2 MODIFY b INT NOT NULL, ALGORITHM=INPLACE;
+set @@sql_mode = @old_sql_mode;
+
+SET FOREIGN_KEY_CHECKS=0;
+--error ER_FK_COLUMN_CANNOT_DROP
+alter table t2 DROP COLUMN b, ALGORITHM=COPY;
+--error ER_FK_COLUMN_CANNOT_DROP
+alter table t2 DROP COLUMN b;
+--error ER_FK_COLUMN_CANNOT_DROP_CHILD
+alter table t1 DROP COLUMN b, ALGORITHM=COPY;
+--error ER_FK_COLUMN_CANNOT_DROP_CHILD
+alter table t1 DROP COLUMN b;
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
+
+--enable_info
# Apparently, the following makes mysql_alter_table() drop index d.
create unique index dc on t2 (d,c);
create index dc on t1 (b,c);
# This should preserve the foreign key constraints.
-alter table t2 add primary key (a);
+--disable_info
+# NULL -> NOT NULL only allowed INPLACE if strict sql_mode is on.
+# And adding a PRIMARY KEY will also add NOT NULL implicitly!
+set @@sql_mode = 'STRICT_TRANS_TABLES';
+--enable_info
+--error ER_FK_COLUMN_NOT_NULL
+alter table t2 add primary key (alpha), change a alpha int,
+change b beta int not null, change c charlie int not null;
+--error ER_FK_COLUMN_NOT_NULL
+alter table t2 add primary key (alpha), change a alpha int,
+change c charlie int not null, change d delta int not null;
+alter table t2 add primary key (alpha), change a alpha int,
+change b beta int, modify c int not null;
+--disable_info
+set @@sql_mode = @old_sql_mode;
insert into t1 values (1,1,1);
insert into t3 values (1,1,1);
insert into t4 values (1,1,1);
insert into t2 values (1,1,1,1,1);
commit;
+--enable_info
alter table t4 add constraint dc foreign key (a) references t1(a);
+--disable_info
show create table t4;
---replace_regex /'test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+# mysqltest first does replace_regex, then replace_result
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+# Embedded server doesn't chdir to data directory
+--replace_result $MYSQLD_DATADIR ./ master-data/ ''
# a foreign key 'test/dc' already exists
--error ER_CANT_CREATE_TABLE
alter table t3 add constraint dc foreign key (a) references t1(a);
+SET FOREIGN_KEY_CHECKS=0;
+--error ER_FK_FAIL_ADD_SYSTEM
+alter table t3 add constraint dc foreign key (a) references t1(a);
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
show create table t3;
-# this should be fixed by MySQL (see Bug #51451)
---error ER_WRONG_NAME_FOR_INDEX
-alter table t2 drop index b, add index (b);
+--enable_info
+alter table t2 drop index b, add index (beta);
+--disable_info
show create table t2;
--error ER_ROW_IS_REFERENCED_2
delete from t1;
--error ER_CANT_DROP_FIELD_OR_KEY
drop index dc on t4;
-# there is no foreign key dc on t3
---replace_regex /'[^']*test\/#sql2-[0-9a-f-]*'/'#sql2-temporary'/
-# Embedded server doesn't chdir to data directory
---replace_result $MYSQLD_DATADIR ./ master-data/ ''
---error ER_ERROR_ON_RENAME
+--enable_info
+--error ER_CANT_DROP_FIELD_OR_KEY
alter table t3 drop foreign key dc;
alter table t4 drop foreign key dc;
+--disable_info
select * from t2;
delete from t1;
select * from t2;
@@ -311,10 +288,15 @@ drop table t1;
create table t1(a int not null, b int not null, c int, primary key (a), key(c)) engine=innodb;
insert into t1 values (5,1,5),(4,2,4),(3,3,3),(2,4,2),(1,5,1);
+--enable_info
alter table t1 add unique index (b);
+--disable_info
insert into t1 values (10,20,20),(11,19,19),(12,18,18),(13,17,17);
show create table t1;
check table t1;
+-- disable_result_log
+analyze table t1;
+-- enable_result_log
explain select * from t1 force index(c) order by c;
explain select * from t1 order by a;
explain select * from t1 force index(b) order by b;
@@ -325,11 +307,14 @@ drop table t1;
create table t1(a int not null, b int not null) engine=innodb;
insert into t1 values (1,1);
+--enable_info
alter table t1 add primary key(b);
+--disable_info
insert into t1 values (2,2);
show create table t1;
check table t1;
select * from t1;
+analyze table t1;
explain select * from t1;
explain select * from t1 order by a;
explain select * from t1 order by b;
@@ -338,206 +323,19 @@ drop table t1;
create table t1(a int not null) engine=innodb;
insert into t1 values (1);
+--enable_info
alter table t1 add primary key(a);
+--disable_info
insert into t1 values (2);
show create table t1;
check table t1;
commit;
select * from t1;
+analyze table t1;
explain select * from t1;
explain select * from t1 order by a;
drop table t1;
-create table t2(d varchar(17) primary key) engine=innodb default charset=utf8;
-create table t3(a int primary key) engine=innodb;
-
-insert into t3 values(22),(44),(33),(55),(66);
-
-insert into t2 values ('jejdkrun87'),('adfd72nh9k'),
-('adfdpplkeock'),('adfdijnmnb78k'),('adfdijn0loKNHJik');
-
-create table t1(a int, b blob, c text, d text not null)
-engine=innodb default charset = utf8;
-
-# r2667 The following test is disabled because MySQL behavior changed.
-# r2667 The test was added with this comment:
-# r2667
-# r2667 ------------------------------------------------------------------------
-# r2667 r1699 | marko | 2007-08-10 19:53:19 +0300 (Fri, 10 Aug 2007) | 5 lines
-# r2667
-# r2667 branches/zip: Add changes that accidentally omitted from r1698:
-# r2667
-# r2667 innodb-index.test, innodb-index.result: Add a test for creating
-# r2667 a PRIMARY KEY on a column that contains a NULL value.
-# r2667 ------------------------------------------------------------------------
-# r2667
-# r2667 but in BZR-r2667:
-# r2667 http://bazaar.launchpad.net/~mysql/mysql-server/mysql-5.1/revision/davi%40mysql.com-20080617141221-8yre8ys9j4uw3xx5?start_revid=joerg%40mysql.com-20080630105418-7qoe5ehomgrcdb89
-# r2667 MySQL changed the behavior to do full table copy when creating PRIMARY INDEX
-# r2667 on a non-NULL column instead of calling ::add_index() which would fail (and
-# r2667 this is what we were testing here). Before r2667 the code execution path was
-# r2667 like this (when adding PRIMARY INDEX on a non-NULL column with ALTER TABLE):
-# r2667
-# r2667 mysql_alter_table()
-# r2667 compare_tables() // would return ALTER_TABLE_INDEX_CHANGED
-# r2667 ::add_index() // would fail with "primary index cannot contain NULL"
-# r2667
-# r2667 after r2667 the code execution path is the following:
-# r2667
-# r2667 mysql_alter_table()
-# r2667 compare_tables() // returns ALTER_TABLE_DATA_CHANGED
-# r2667 full copy is done, without calling ::add_index()
-# r2667
-# r2667 To enable, remove "# r2667: " below.
-# r2667
-# r2667: insert into t1 values (null,null,null,'null');
-insert into t1
-select a,left(repeat(d,100*a),65535),repeat(d,20*a),d from t2,t3;
-drop table t2, t3;
-select count(*) from t1 where a=44;
-select a,
-length(b),b=left(repeat(d,100*a),65535),length(c),c=repeat(d,20*a),d from t1;
-# r2667: --error ER_PRIMARY_CANT_HAVE_NULL
-# r2667: alter table t1 add primary key (a), add key (b(20));
-# r2667: delete from t1 where d='null';
---error ER_DUP_ENTRY
-alter table t1 add primary key (a), add key (b(20));
-delete from t1 where a%2;
-check table t1;
-alter table t1 add primary key (a,b(255),c(255)), add key (b(767));
-select count(*) from t1 where a=44;
-select a,
-length(b),b=left(repeat(d,100*a),65535),length(c),c=repeat(d,20*a),d from t1;
-show create table t1;
-check table t1;
-explain select * from t1 where b like 'adfd%';
-
-# The following tests are disabled because of the introduced timeouts for
-# metadata locks at the MySQL level as part of the fix for
-# Bug#45225 Locking: hang if drop table with no timeout
-# The following commands now play with MySQL metadata locks instead of
-# InnoDB locks
-# start disabled45225_1
-##
-## Test locking
-##
-#
-#create table t2(a int, b varchar(255), primary key(a,b)) engine=innodb;
-#insert into t2 select a,left(b,255) from t1;
-#drop table t1;
-#rename table t2 to t1;
-#
-#connect (a,localhost,root,,);
-#connect (b,localhost,root,,);
-#connection a;
-#set innodb_lock_wait_timeout=1;
-#begin;
-## Obtain an IX lock on the table
-#select a from t1 limit 1 for update;
-#connection b;
-#set innodb_lock_wait_timeout=1;
-## This would require an S lock on the table, conflicting with the IX lock.
-#--error ER_LOCK_WAIT_TIMEOUT
-#create index t1ba on t1 (b,a);
-#connection a;
-#commit;
-#begin;
-## Obtain an IS lock on the table
-#select a from t1 limit 1 lock in share mode;
-#connection b;
-## This will require an S lock on the table. No conflict with the IS lock.
-#create index t1ba on t1 (b,a);
-## This would require an X lock on the table, conflicting with the IS lock.
-#--error ER_LOCK_WAIT_TIMEOUT
-#drop index t1ba on t1;
-#connection a;
-#commit;
-#explain select a from t1 order by b;
-#--send
-#select a,sleep(2+a/100) from t1 order by b limit 3;
-#
-## The following DROP INDEX will succeed, altough the SELECT above has
-## opened a read view. However, during the execution of the SELECT,
-## MySQL should hold a table lock that should block the execution
-## of the DROP INDEX below.
-#
-#connection b;
-#select sleep(1);
-#drop index t1ba on t1;
-#
-## After the index was dropped, subsequent SELECTs will use the same
-## read view, but they should not be accessing the dropped index any more.
-#
-#connection a;
-#reap;
-#explain select a from t1 order by b;
-#select a from t1 order by b limit 3;
-#commit;
-#
-#connection default;
-#disconnect a;
-#disconnect b;
-#
-# end disabled45225_1
-drop table t1;
-
-set global innodb_file_per_table=on;
-set global innodb_file_format='Barracuda';
-# Test creating a table that could lead to undo log overflow.
-# In the undo log, we write a 768-byte prefix (REC_MAX_INDEX_COL_LEN)
-# of each externally stored column that appears as a column prefix in an index.
-# For this test case, it would suffice to write 1 byte, though.
-create table t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
- i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob,
- q blob,r blob,s blob,t blob,u blob)
- engine=innodb row_format=dynamic;
-create index t1a on t1 (a(767));
-create index t1b on t1 (b(767));
-create index t1c on t1 (c(767));
-create index t1d on t1 (d(767));
-create index t1e on t1 (e(767));
-create index t1f on t1 (f(767));
-create index t1g on t1 (g(767));
-create index t1h on t1 (h(767));
-create index t1i on t1 (i(767));
-create index t1j on t1 (j(767));
-create index t1k on t1 (k(767));
-create index t1l on t1 (l(767));
-create index t1m on t1 (m(767));
-create index t1n on t1 (n(767));
-create index t1o on t1 (o(767));
-create index t1p on t1 (p(767));
-create index t1q on t1 (q(767));
-create index t1r on t1 (r(767));
-create index t1s on t1 (s(767));
-create index t1t on t1 (t(767));
---error 139
-create index t1u on t1 (u(767));
---error 139
-create index t1ut on t1 (u(767), t(767));
-create index t1st on t1 (s(767), t(767));
-show create table t1;
---error 139
-create index t1u on t1 (u(767));
-alter table t1 row_format=compact;
-create index t1u on t1 (u(767));
-
-drop table t1;
-
-# Bug#12547647 UPDATE LOGGING COULD EXCEED LOG PAGE SIZE
-CREATE TABLE bug12547647(
-a INT NOT NULL, b BLOB NOT NULL, c TEXT,
-PRIMARY KEY (b(10), a), INDEX (c(767)), INDEX(b(767))
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-
-INSERT INTO bug12547647 VALUES (5,repeat('khdfo5AlOq',1900),repeat('g',7751));
-COMMIT;
-BEGIN;
-# The following used to cause infinite undo log allocation.
-UPDATE bug12547647 SET c = REPEAT('b',16928);
-ROLLBACK;
-DROP TABLE bug12547647;
-
eval set global innodb_file_per_table=$per_table;
eval set global innodb_file_format=$format;
eval set global innodb_file_format_max=$format;
@@ -547,7 +345,7 @@ eval set global innodb_file_format_max=$format;
# constraint modifications (Issue #70, Bug #38786)
#
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
-SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
+SET FOREIGN_KEY_CHECKS=0;
CREATE TABLE t1(
c1 BIGINT(12) NOT NULL,
@@ -590,8 +388,10 @@ CREATE TABLE t2(
PRIMARY KEY (c1,c2,c3)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3) REFERENCES t1(c1);
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SHOW CREATE TABLE t2;
@@ -621,26 +421,59 @@ CREATE TABLE t2(
PRIMARY KEY (c1)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
---replace_regex /'test\.#sql-[0-9_a-f-]*'/'#sql-temporary'/
+SET FOREIGN_KEY_CHECKS=0;
+--enable_info
+
+# mysqltest first does replace_regex, then replace_result
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+# Embedded server doesn't chdir to data directory
+--replace_result $MYSQLD_DATADIR ./ master-data/ ''
--error ER_CANT_CREATE_TABLE
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
+ FOREIGN KEY (c3,c2) REFERENCES t1(c1,c1), ALGORITHM=COPY;
+--error ER_FK_NO_INDEX_PARENT
+ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c1);
---replace_regex /'test\.#sql-[0-9_a-f-]*'/'#sql-temporary'/
+# mysqltest first does replace_regex, then replace_result
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+# Embedded server doesn't chdir to data directory
+--replace_result $MYSQLD_DATADIR ./ master-data/ ''
--error ER_CANT_CREATE_TABLE
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
+ FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2), ALGORITHM=COPY;
+--error ER_FK_NO_INDEX_PARENT
+ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2);
---replace_regex /'test\.#sql-[0-9_a-f-]*'/'#sql-temporary'/
+
+--error ER_FK_INCORRECT_OPTION
+ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
+ FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=INPLACE;
+
+# mysqltest first does replace_regex, then replace_result
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+# Embedded server doesn't chdir to data directory
+--replace_result $MYSQLD_DATADIR ./ master-data/ ''
--error ER_CANT_CREATE_TABLE
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
- FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1);
+ FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=COPY;
+
ALTER TABLE t1 MODIFY COLUMN c2 BIGINT(12) NOT NULL;
---replace_regex /'test\.#sql-[0-9_a-f-]*'/'#sql-temporary'/
+# mysqltest first does replace_regex, then replace_result
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+# Embedded server doesn't chdir to data directory
+--replace_result $MYSQLD_DATADIR ./ master-data/ ''
--error ER_CANT_CREATE_TABLE
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
+ FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2), ALGORITHM=COPY;
+--error ER_FK_NO_INDEX_PARENT
+ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2);
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1);
+
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
+
SHOW CREATE TABLE t1;
SHOW CREATE TABLE t2;
CREATE INDEX i_t2_c2_c1 ON t2(c2, c1);
@@ -649,40 +482,134 @@ CREATE INDEX i_t2_c3_c1_c2 ON t2(c3, c1, c2);
SHOW CREATE TABLE t2;
CREATE INDEX i_t2_c3_c2 ON t2(c3, c2);
SHOW CREATE TABLE t2;
+--disable_info
DROP TABLE t2;
DROP TABLE t1;
-# The following tests are disabled because of the introduced timeouts for
-# metadata locks at the MySQL level as part of the fix for
-# Bug#45225 Locking: hang if drop table with no timeout
-# The following CREATE INDEX t1a ON t1(a); causes a lock wait timeout
-# start disabled45225_2
-#connect (a,localhost,root,,);
-#connect (b,localhost,root,,);
-#connection a;
-#CREATE TABLE t1 (a INT, b CHAR(1)) ENGINE=InnoDB;
-#INSERT INTO t1 VALUES (3,'a'),(3,'b'),(1,'c'),(0,'d'),(1,'e');
-#connection b;
-#BEGIN;
-#SELECT * FROM t1;
-#connection a;
-#CREATE INDEX t1a ON t1(a);
-#connection b;
-#SELECT * FROM t1;
-#--error ER_TABLE_DEF_CHANGED
-#SELECT * FROM t1 FORCE INDEX(t1a) ORDER BY a;
-#SELECT * FROM t1;
-#COMMIT;
-#SELECT * FROM t1 FORCE INDEX(t1a) ORDER BY a;
-#connection default;
-#disconnect a;
-#disconnect b;
-#
-#DROP TABLE t1;
-# end disabled45225_2
-#this delay is needed because 45225_2 is disabled, to allow the purge to run
-SELECT SLEEP(10);
-DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
-DROP TABLE t12637786;
-DROP TABLE t12963823;
+connect (a,localhost,root,,);
+connect (b,localhost,root,,);
+connection a;
+CREATE TABLE t1 (a INT, b CHAR(1)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (3,'a'),(3,'b'),(1,'c'),(0,'d'),(1,'e');
+CREATE TABLE t2 (a INT, b CHAR(1)) ENGINE=InnoDB;
+CREATE TABLE t2i (a INT, b CHAR(1) NOT NULL) ENGINE=InnoDB;
+CREATE TABLE t2c (a INT, b CHAR(1) NOT NULL) ENGINE=InnoDB;
+INSERT INTO t2 SELECT * FROM t1;
+INSERT INTO t2i SELECT * FROM t1;
+INSERT INTO t2c SELECT * FROM t1;
+connection b;
+BEGIN;
+# This acquires a MDL lock on t1 until commit.
+SELECT * FROM t1;
+connection a;
+# This times out before of the MDL lock held by connection b.
+SET lock_wait_timeout=1;
+--error ER_LOCK_WAIT_TIMEOUT
+CREATE INDEX t1a ON t1(a);
+--enable_info
+CREATE INDEX t2a ON t2(a);
+--disable_info
+set @old_sql_mode = @@sql_mode;
+# NULL -> NOT NULL only allowed INPLACE if strict sql_mode is on.
+# And adding a PRIMARY KEY will also add NOT NULL implicitly!
+set @@sql_mode = 'STRICT_TRANS_TABLES';
+--enable_info
+ALTER TABLE t2i ADD PRIMARY KEY(a,b), ADD INDEX t2a(a), ALGORITHM=INPLACE;
+--disable_info
+set @@sql_mode = @old_sql_mode;
+--enable_info
+ALTER TABLE t2c ADD PRIMARY KEY(a,b), ADD INDEX t2a(a), ALGORITHM=COPY;
+--disable_info
+connection b;
+# t2i and t2c are too new for this transaction, because they were rebuilt
+--error ER_TABLE_DEF_CHANGED
+SELECT * FROM t2i;
+--error ER_TABLE_DEF_CHANGED
+SELECT * FROM t2i FORCE INDEX(t2a) ORDER BY a;
+--error ER_TABLE_DEF_CHANGED
+SELECT * FROM t2c;
+--error ER_TABLE_DEF_CHANGED
+SELECT * FROM t2c FORCE INDEX(t2a) ORDER BY a;
+# In t2, only the new index t2a is too new for this transaction.
+SELECT * FROM t2;
+--error ER_TABLE_DEF_CHANGED
+SELECT * FROM t2 FORCE INDEX(t2a) ORDER BY a;
+SELECT * FROM t2;
+COMMIT;
+# For a new transaction, all of t2, t2i, t2c are accessible.
+SELECT * FROM t2;
+SELECT * FROM t2 FORCE INDEX(t2a) ORDER BY a;
+SELECT * FROM t2i;
+SELECT * FROM t2i FORCE INDEX(t2a) ORDER BY a;
+SELECT * FROM t2c;
+SELECT * FROM t2c FORCE INDEX(t2a) ORDER BY a;
+connection default;
+disconnect a;
+disconnect b;
+
+--error ER_DUP_KEYNAME
+alter table t2 add index t2a(b);
+alter table t2 drop index t2a, add index t2a(b);
+show create table t2;
+show create table t2i;
+show create table t2c;
+
+--disable_info
+
+DROP TABLE t1,t2,t2c,t2i;
+
+--disable_query_log
+eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
+eval SET GLOBAL innodb_file_format_max=$innodb_file_format_max_orig;
+--enable_query_log
+
+SET @save_format = @@GLOBAL.innodb_file_format;
+SET @save_prefix = @@GLOBAL.innodb_large_prefix;
+SET GLOBAL innodb_file_format=barracuda;
+SET GLOBAL innodb_large_prefix=ON;
+CREATE TABLE t1 (c VARCHAR(1024),
+c1 CHAR(255) NOT NULL,c2 CHAR(255) NOT NULL,c3 CHAR(255) NOT NULL,
+c4 CHAR(255) NOT NULL,c5 CHAR(255) NOT NULL,c6 CHAR(255) NOT NULL,
+c7 CHAR(255) NOT NULL,c8 CHAR(255) NOT NULL,c9 CHAR(255) NOT NULL,
+ca CHAR(255) NOT NULL,cb CHAR(255) NOT NULL,cc CHAR(255) NOT NULL,
+cd CHAR(255) NOT NULL,ce CHAR(255) NOT NULL,cf CHAR(255) NOT NULL,
+d0 CHAR(255) NOT NULL,d1 CHAR(255) NOT NULL,d2 CHAR(255) NOT NULL,
+d3 CHAR(255) NOT NULL,d4 CHAR(255) NOT NULL,d5 CHAR(255) NOT NULL,
+d6 CHAR(255) NOT NULL,d7 CHAR(255) NOT NULL,d8 CHAR(255) NOT NULL,
+d9 CHAR(255) NOT NULL,da CHAR(255) NOT NULL,db CHAR(255) NOT NULL,
+dc CHAR(255) NOT NULL,dd CHAR(255) NOT NULL,de CHAR(255) NOT NULL,
+UNIQUE KEY(c))
+ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+INSERT INTO t1 VALUES
+(repeat('a',999),'','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''),
+(CONCAT(repeat('a',999),'b'),'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','');
+--error ER_INDEX_COLUMN_TOO_LONG
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, algorithm=inplace;
+--error ER_INDEX_COLUMN_TOO_LONG
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, algorithm=copy;
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1;
+DROP TABLE t1;
+SET GLOBAL innodb_file_format=@save_format;
+SET GLOBAL innodb_large_prefix=@save_prefix;
+
+--echo #
+--echo # Bug#19811005 ALTER TABLE ADD INDEX DOES NOT UPDATE INDEX_LENGTH
+--echo # IN I_S TABLES
+--echo #
+let $i_s_query=SELECT cast(DATA_LENGTH/@@innodb_page_size as int) D,
+cast(INDEX_LENGTH/@@innodb_page_size as int) I
+FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test';
+
+CREATE TABLE t1(a INT, b INT) ENGINE=INNODB, STATS_PERSISTENT=1;
+eval $i_s_query;
+--enable_info
+ALTER TABLE t1 ADD INDEX (a);
+--disable_info
+eval $i_s_query;
+--enable_info
+ALTER TABLE t1 ADD INDEX (b);
+--disable_info
+eval $i_s_query;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.opt b/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.opt
new file mode 100644
index 00000000000..e5d34636ccb
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.opt
@@ -0,0 +1,2 @@
+--loose-innodb-lock-wait-timeout=1
+--loose-innodb-lock-schedule-algorithm=VATS
diff --git a/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.test b/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.test
new file mode 100644
index 00000000000..a14c156546a
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.test
@@ -0,0 +1,106 @@
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
+BEGIN;
+DELETE FROM t1;
+
+--connect (con1,localhost,root,,test)
+connection con1;
+BEGIN;
+INSERT INTO t2 VALUES (1),(2);
+SELECT * from t1;
+--error 1205
+UPDATE t1 SET i1 = 1;
+COMMIT;
+
+connection default;
+COMMIT;
+SELECT * FROM t1;
+SELECT * FROM t2;
+DROP TABLE t1, t2;
+disconnect con1;
+
+CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
+BEGIN;
+DELETE FROM t1;
+
+--connect (con1,localhost,root,,test)
+connection con1;
+BEGIN;
+INSERT INTO t2 VALUES (1),(2);
+SELECT * FROM t1;
+--error 1205
+UPDATE t1 SET i1 = 1;
+
+connection default;
+COMMIT;
+
+connection con1;
+COMMIT;
+
+connection default;
+SELECT * FROM t1;
+SELECT * FROM t2;
+DROP TABLE t1, t2;
+disconnect con1;
+
+--echo # "restart: --loose-innodb-lock-schedule-algorithm=FCFS"
+--let $restart_parameters=--loose_innodb_lock_schedule_algorithm=FCFS
+-- source include/restart_mysqld.inc
+
+CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
+BEGIN;
+DELETE FROM t1;
+
+--connect (con1,localhost,root,,test)
+connection con1;
+BEGIN;
+INSERT INTO t2 VALUES (1),(2);
+SELECT * from t1;
+--error 1205
+UPDATE t1 SET i1 = 1;
+COMMIT;
+
+connection default;
+COMMIT;
+SELECT * FROM t1;
+SELECT * FROM t2;
+DROP TABLE t1, t2;
+disconnect con1;
+
+CREATE TABLE t1 (i1 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE TABLE t2 (i2 int) ENGINE=MyISAM;
+BEGIN;
+DELETE FROM t1;
+
+--connect (con1,localhost,root,,test)
+connection con1;
+BEGIN;
+INSERT INTO t2 VALUES (1),(2);
+SELECT * FROM t1;
+--error 1205
+UPDATE t1 SET i1 = 1;
+
+connection default;
+COMMIT;
+
+connection con1;
+COMMIT;
+
+connection default;
+SELECT * FROM t1;
+SELECT * FROM t2;
+DROP TABLE t1, t2;
+disconnect con1;
+
diff --git a/mysql-test/suite/innodb/t/innodb-lock.test b/mysql-test/suite/innodb/t/innodb-lock.test
index e3026ac505b..ecd6019ad8f 100644
--- a/mysql-test/suite/innodb/t/innodb-lock.test
+++ b/mysql-test/suite/innodb/t/innodb-lock.test
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
+--source include/have_partition.inc
#
# Check and select innodb lock type
@@ -12,26 +13,15 @@ select @@innodb_table_locks;
# Testing of explicit table locks with enforced table locks
#
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-#
-# Testing of explicit table locks with enforced table locks
-#
-
set @@innodb_table_locks=1;
-connection con1;
+connect (con1,localhost,root,,);
create table t1 (id integer, x integer) engine=INNODB;
insert into t1 values(0, 0);
set autocommit=0;
SELECT * from t1 where id = 0 FOR UPDATE;
-connection con2;
+connect (con2,localhost,root,,);
set autocommit=0;
# The following statement should hang because con1 is locking the page
@@ -157,14 +147,66 @@ let $wait_condition=
where state = 'Sending data' and
info = 'SELECT * FROM t1 FOR UPDATE';
--source include/wait_condition.inc
+disconnect con2;
connection default;
COMMIT;
connection con1;
reap;
COMMIT;
-disconnect con1;
-disconnect con2;
-
connection default;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-11080 InnoDB: Failing assertion:
+--echo # table->n_waiting_or_granted_auto_inc_locks > 0
+--echo #
+
+CREATE TABLE t1 (pk INTEGER AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL),(NULL);
+CREATE TABLE t2 LIKE t1;
+
+BEGIN;
+
+connection con1;
+BEGIN;
+DELETE FROM t2;
+connection default;
+--send LOCK TABLE t2 READ;
+connection con1;
+SET innodb_lock_wait_timeout= 1, lock_wait_timeout= 2;
+--error 0,ER_LOCK_WAIT_TIMEOUT
+INSERT INTO t2 SELECT * FROM t1;
+COMMIT;
+
+connection default;
+reap;
+UNLOCK TABLES;
+DROP TABLE t1, t2;
+
+--echo #
+--echo # MDEV-16709 InnoDB: Error: trx already had an AUTO-INC lock
+--echo #
+
+CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB
+PARTITION BY key (pk) PARTITIONS 2;
+
+CREATE TABLE t2 (a INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1),(2),(3),(4),(5),(6);
+
+CREATE TABLE t3 (b INT) ENGINE=InnoDB;
+INSERT INTO t3 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9);
+
+connection con1;
+send INSERT t1 SELECT NULL FROM t2;
+
+connection default;
+--error 0,ER_DUP_ENTRY,ER_LOCK_DEADLOCK
+INSERT t1 SELECT NULL FROM t3;
+
+connection con1;
+--error 0,ER_DUP_ENTRY,ER_LOCK_DEADLOCK
+reap;
+disconnect con1;
+connection default;
+DROP TABLE t1, t2, t3;
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
new file mode 100644
index 00000000000..fe04f4b7705
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-lru-force-no-free-page.test
@@ -0,0 +1,25 @@
+--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_RANGE= -50000;
+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-mdev-7408.opt b/mysql-test/suite/innodb/t/innodb-mdev-7408.opt
new file mode 100644
index 00000000000..1c256483e10
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-mdev-7408.opt
@@ -0,0 +1,2 @@
+--innodb_ft_default_stopword
+
diff --git a/mysql-test/suite/innodb/t/innodb-mdev-7408.test b/mysql-test/suite/innodb/t/innodb-mdev-7408.test
new file mode 100644
index 00000000000..d1cd1879bb1
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-mdev-7408.test
@@ -0,0 +1,16 @@
+--source include/have_innodb.inc
+
+select @@global.innodb_ft_server_stopword_table;
+CREATE TABLE `stop_it-IT` ENGINE = InnoDB SELECT * FROM information_schema.INNODB_FT_DEFAULT_STOPWORD;
+--error 1231
+SET @@global.innodb_ft_server_stopword_table = 'test/stop_it-IT';
+--error 0,1231
+SET @@global.innodb_ft_server_stopword_table = 'test/stop_it@002dIT';
+drop table `stop_it-IT`;
+
+CREATE TABLE stop_it ENGINE = InnoDB SELECT * FROM information_schema.INNODB_FT_DEFAULT_STOPWORD;
+SET @@global.innodb_ft_server_stopword_table = 'test/stop_it';
+
+SET @@global.innodb_ft_server_stopword_table = NULL;
+
+drop table stop_it;
diff --git a/mysql-test/suite/innodb/t/innodb-mdev7046.test b/mysql-test/suite/innodb/t/innodb-mdev7046.test
new file mode 100644
index 00000000000..85a257a1739
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-mdev7046.test
@@ -0,0 +1,51 @@
+--source include/have_innodb.inc
+--source include/have_partition.inc
+# Test causes OS error printout
+--source include/not_windows.inc
+
+--disable_query_log
+--disable_result_log
+--disable_warnings
+
+
+# Ignore OS errors
+call mtr.add_suppression("InnoDB: File ./test/t1");
+call mtr.add_suppression("InnoDB: Error number");
+call mtr.add_suppression("InnoDB: Cannot rename file '.*/test/t1#[Pp]#p1#[Ss][Pp]#p1sp0\\.ibd' to");
+call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation.");
+
+# MDEV-7046: MySQL#74480 - Failing assertion: os_file_status(newpath, &exists, &type)
+# after Operating system error number 36 in a file operation
+
+USE test;
+create table t1(f1 INT,f2 INT,f3 CHAR (10),primary key(f1,f2)) partition by range(f1) subpartition by hash(f2) subpartitions 2 (partition p1 values less than (0),partition p2 values less than (2),partition p3 values less than (2147483647));
+--replace_regex /'.*t2_new.*'/'t2_new'/
+--error 7
+RENAME TABLE t1 TO `t2_new..............................................end`;
+alter table t1 engine=innodb;
+--replace_regex /'.*t2_new.*'/'t2_new'/
+--error 1025
+RENAME TABLE t1 TO `t2_new..............................................end`;
+--replace_regex /'.*t2_new.*'/'t2_new'/
+show warnings;
+drop table t1;
+
+DROP DATABASE test;CREATE DATABASE test;USE test;
+SET @@session.storage_engine=MYISAM;
+--error 0,1,1103
+CREATE TABLE t1(id INT,purchased DATE)PARTITION BY RANGE(YEAR(purchased)) SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN MAXVALUE (SUBPARTITION sp0 DATA DIRECTORY='/tmp/not-existing' INDEX DIRECTORY='/tmp/not-existing',SUBPARTITION sp1));
+drop table if exists t1;
+CREATE TABLE t1(id INT,purchased DATE)PARTITION BY RANGE(YEAR(purchased)) SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN MAXVALUE (SUBPARTITION sp0,SUBPARTITION sp1));
+ALTER TABLE t1 ENGINE=InnoDB;
+
+drop table t1;
+
+let $datadir=`select @@datadir`;
+--remove_file $datadir/test/db.opt
+
+--enable_query_log
+--enable_result_log
+--enable_warnings
+
+# make sure that we have at least some ouput to avoid mtr warning
+--echo 1
diff --git a/mysql-test/suite/innodb/t/innodb-page_compression_bzip2.test b/mysql-test/suite/innodb/t/innodb-page_compression_bzip2.test
new file mode 100644
index 00000000000..8c4cee14453
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-page_compression_bzip2.test
@@ -0,0 +1,11 @@
+-- source include/have_innodb.inc
+-- source include/have_innodb_bzip2.inc
+-- source include/not_embedded.inc
+
+# bzip2
+set global innodb_compression_algorithm = bzip2;
+
+# All page compression test use the same
+--source include/innodb-page-compression.inc
+
+-- echo #done
diff --git a/mysql-test/suite/innodb/t/innodb-page_compression_default.test b/mysql-test/suite/innodb/t/innodb-page_compression_default.test
new file mode 100644
index 00000000000..34b1829485e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-page_compression_default.test
@@ -0,0 +1,8 @@
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+# All page compression test use the same
+--source include/innodb-page-compression.inc
+
+-- echo #done
+
diff --git a/mysql-test/suite/innodb/t/innodb-page_compression_lz4.test b/mysql-test/suite/innodb/t/innodb-page_compression_lz4.test
new file mode 100644
index 00000000000..9d6e2babbe7
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-page_compression_lz4.test
@@ -0,0 +1,12 @@
+-- source include/have_innodb.inc
+-- source include/have_innodb_lz4.inc
+# disable embedded as it does not support restart
+-- source include/not_embedded.inc
+
+# lz4
+set global innodb_compression_algorithm = lz4;
+
+# All page compression test use the same
+--source include/innodb-page-compression.inc
+
+-- echo #done
diff --git a/mysql-test/suite/innodb/t/innodb-page_compression_lzma.test b/mysql-test/suite/innodb/t/innodb-page_compression_lzma.test
new file mode 100644
index 00000000000..0b97c1578c6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-page_compression_lzma.test
@@ -0,0 +1,11 @@
+-- source include/have_innodb.inc
+-- source include/have_innodb_lzma.inc
+-- source include/not_embedded.inc
+
+# lzma
+set global innodb_compression_algorithm = lzma;
+
+# All page compression test use the same
+--source include/innodb-page-compression.inc
+
+-- echo #done
diff --git a/mysql-test/suite/innodb/t/innodb-page_compression_lzo.test b/mysql-test/suite/innodb/t/innodb-page_compression_lzo.test
new file mode 100644
index 00000000000..aec07beeca6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-page_compression_lzo.test
@@ -0,0 +1,11 @@
+-- source include/have_innodb.inc
+-- source include/have_innodb_lzo.inc
+-- source include/not_embedded.inc
+
+# lzo
+set global innodb_compression_algorithm = lzo;
+
+# All page compression test use the same
+--source include/innodb-page-compression.inc
+
+-- echo #done
diff --git a/mysql-test/suite/innodb/t/innodb-page_compression_snappy.test b/mysql-test/suite/innodb/t/innodb-page_compression_snappy.test
new file mode 100644
index 00000000000..0186c24ef2e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-page_compression_snappy.test
@@ -0,0 +1,11 @@
+-- source include/have_innodb.inc
+-- source include/have_innodb_snappy.inc
+--source include/not_embedded.inc
+
+# snappy
+set global innodb_compression_algorithm = snappy;
+
+# All page compression test use the same
+--source include/innodb-page-compression.inc
+
+-- echo #done
diff --git a/mysql-test/suite/innodb/t/innodb-page_compression_tables.test b/mysql-test/suite/innodb/t/innodb-page_compression_tables.test
new file mode 100644
index 00000000000..d8a85d7f273
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-page_compression_tables.test
@@ -0,0 +1,101 @@
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+--disable_query_log
+let $innodb_compression_algorithm_orig=`SELECT @@innodb_compression_algorithm`;
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+# zlib
+set global innodb_compression_algorithm = 1;
+
+create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
+create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact page_compressed=1;
+create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_compressed=1;
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+--error 1005
+create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed page_compressed=1;
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+show warnings;
+show create table innodb_compact;
+show create table innodb_dynamic;
+
+# MDEV-7133: InnoDB: Assertion failure in thread 140737091569408 in file dict0mem.cc line 74
+# InnoDB: Failing assertion: dict_tf_is_valid(flags)
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+--error 1005
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant page_compressed=1;
+--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
+show warnings;
+create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant;
+show create table innodb_redundant;
+--error ER_ILLEGAL_HA_CREATE_OPTION
+alter table innodb_redundant page_compressed=1;
+show warnings;
+show create table innodb_redundant;
+alter table innodb_redundant row_format=compact page_compressed=1;
+show create table innodb_redundant;
+drop table innodb_redundant;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into innodb_normal values(current_num, substring(MD5(RAND()), -64));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+set autocommit=0;
+call innodb_insert_proc(5000);
+commit;
+set autocommit=1;
+
+insert into innodb_compact select * from innodb_normal;
+insert into innodb_dynamic select * from innodb_normal;
+
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+
+--source include/restart_mysqld.inc
+
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+# none
+set global innodb_compression_algorithm = 0;
+
+alter table innodb_compact engine=innodb page_compressed=DEFAULT;
+alter table innodb_dynamic engine=innodb page_compressed=DEFAULT;
+show create table innodb_compact;
+show create table innodb_dynamic;
+
+update innodb_compact set c1 = c1 + 1;
+update innodb_dynamic set c1 = c1 + 1;
+select count(*) from innodb_compact where c1 < 1500000;
+select count(*) from innodb_dynamic where c1 < 1500000;
+
+drop procedure innodb_insert_proc;
+drop table innodb_normal;
+drop table innodb_compact;
+drop table innodb_dynamic;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_compression_algorithm = $innodb_compression_algorithm_orig;
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb-page_compression_zip.test b/mysql-test/suite/innodb/t/innodb-page_compression_zip.test
new file mode 100644
index 00000000000..ed3a27ada7b
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-page_compression_zip.test
@@ -0,0 +1,10 @@
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+# lz4
+set global innodb_compression_algorithm = zlib;
+
+# All page compression test use the same
+--source include/innodb-page-compression.inc
+
+-- echo #done
diff --git a/mysql-test/suite/innodb/t/innodb-stats-initialize-failure.test b/mysql-test/suite/innodb/t/innodb-stats-initialize-failure.test
new file mode 100644
index 00000000000..e480f0caf07
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-stats-initialize-failure.test
@@ -0,0 +1,39 @@
+# MDEV-6424: Mariadb server crashes with assertion failure in file ha_innodb.cc
+--source include/have_innodb.inc
+
+# DEBUG_SYNC must be compiled in.
+--source include/have_debug_sync.inc
+
+call mtr.add_suppression("InnoDB: Warning: Index.*");
+# This caused crash earlier
+set DEBUG_DBUG='+d,ib_ha_innodb_stat_not_initialized';
+create table t1(a int not null primary key, b int, c int, key(b), key(c)) engine=innodb;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into t1 values(current_num, current_num, current_num);
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+set autocommit=0;
+call innodb_insert_proc(10000);
+commit;
+set autocommit=1;
+
+select count(1) from t1;
+select count(1) from t1 where a between 5 and 100;
+select count(1) from t1 where b between 5 and 256;
+select count(1) from t1 where c between 7 and 787;
+
+set DEBUG_DBUG=NULL;
+
+drop procedure innodb_insert_proc;
+drop table t1;
+
diff --git a/mysql-test/suite/innodb/t/innodb-stats-modified-counter.opt b/mysql-test/suite/innodb/t/innodb-stats-modified-counter.opt
new file mode 100644
index 00000000000..3e5b41c6db9
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-stats-modified-counter.opt
@@ -0,0 +1 @@
+--loose-innodb-sys-tablestats
diff --git a/mysql-test/suite/innodb/t/innodb-stats-modified-counter.test b/mysql-test/suite/innodb/t/innodb-stats-modified-counter.test
new file mode 100644
index 00000000000..b3e45002768
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-stats-modified-counter.test
@@ -0,0 +1,28 @@
+-- source include/have_innodb.inc
+
+#
+# MDEV-8297: information_schema.innodb_sys_tablestats.modified_counter doesn't change on UPDATE
+#
+
+set global innodb_stats_auto_recalc=off;
+
+CREATE TABLE t1 (i int) ENGINE=InnoDB;
+
+SELECT NAME, STATS_INITIALIZED, NUM_ROWS, MODIFIED_COUNTER FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+
+SELECT NAME, STATS_INITIALIZED, NUM_ROWS, MODIFIED_COUNTER FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
+
+DELETE FROM t1 WHERE i = 1;
+
+SELECT NAME, STATS_INITIALIZED, NUM_ROWS, MODIFIED_COUNTER FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
+
+UPDATE t1 SET i = 4 WHERE i = 2;
+
+SELECT NAME, STATS_INITIALIZED, NUM_ROWS, MODIFIED_COUNTER FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
+
+DROP TABLE t1;
+
+set global innodb_stats_auto_recalc=default;
diff --git a/mysql-test/suite/innodb/t/innodb-table-online-master.opt b/mysql-test/suite/innodb/t/innodb-table-online-master.opt
new file mode 100644
index 00000000000..92eea2b0d2e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-table-online-master.opt
@@ -0,0 +1 @@
+--innodb-sort-buffer-size=64k --innodb-online-alter-log-max-size=512k --innodb-buffer-pool-size=5M --innodb-log-buffer-size=256k
diff --git a/mysql-test/suite/innodb/t/innodb-table-online.test b/mysql-test/suite/innodb/t/innodb-table-online.test
new file mode 100644
index 00000000000..14f7b6b77f6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-table-online.test
@@ -0,0 +1,450 @@
+--source include/innodb_page_size_small.inc
+--source include/innodb_encrypt_log.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+let $innodb_metrics_select=
+SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
+
+call mtr.add_suppression("InnoDB: Warning: Small buffer pool size");
+# these will be triggered by DISCARD TABLESPACE
+call mtr.add_suppression("InnoDB: Error: table 'test/t1'");
+call mtr.add_suppression("MySQL is trying to open a table handle but the .ibd file for");
+
+# DISCARD TABLESPACE needs file-per-table
+SET @global_innodb_file_per_table_orig = @@global.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table = on;
+# PAGE_COMPRESSED needs innodb_file_format!=Antelope
+SET @file_format = @@GLOBAL.innodb_file_format;
+SET GLOBAL innodb_file_format = Barracuda;
+
+# Save the initial number of concurrent sessions.
+--source include/count_sessions.inc
+
+CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT NOT NULL, c3 CHAR(255) NOT NULL)
+ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,1,''), (2,2,''), (3,3,''), (4,4,''), (5,5,'');
+
+SET GLOBAL innodb_monitor_enable = module_ddl;
+eval $innodb_metrics_select;
+
+SET DEBUG_SYNC = 'RESET';
+SET DEBUG_SYNC = 'write_row_noreplace SIGNAL have_handle WAIT_FOR go_ahead';
+--send
+INSERT INTO t1 VALUES(1,2,3);
+
+--echo # Establish session con1 (user=root)
+connect (con1,localhost,root,,);
+connection con1;
+
+# This should block at the end because of the INSERT in connection default
+# is holding a metadata lock.
+SET DEBUG_SYNC = 'now WAIT_FOR have_handle';
+SET lock_wait_timeout = 1;
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+
+--echo # session default
+connection default;
+--error ER_DUP_ENTRY
+reap;
+eval $innodb_metrics_select;
+
+--echo # session con1
+connection con1;
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG = '+d,innodb_OOM_prepare_inplace_alter';
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE, LOCK=NONE;
+SET SESSION DEBUG = @saved_debug_dbug;
+SET SESSION DEBUG = '+d,innodb_OOM_inplace_alter';
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE, LOCK=NONE;
+SET SESSION DEBUG = @saved_debug_dbug;
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE, LOCK=NONE;
+
+--echo # session default
+connection default;
+SHOW CREATE TABLE t1;
+# Insert a duplicate entry (4) for the upcoming UNIQUE INDEX(c2).
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+
+--echo # session con1
+connection con1;
+# This DEBUG_SYNC should not kick in yet, because the duplicate key will be
+# detected before we get a chance to apply the online log.
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL scanned WAIT_FOR insert_done';
+# This will be a lock wait timeout on the meta-data lock,
+# because the transaction inserting (7,4,2) is still active.
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2);
+
+--echo # session default
+connection default;
+COMMIT;
+
+--echo # session con1
+connection con1;
+--error ER_DUP_ENTRY
+ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2);
+
+--echo # session default
+connection default;
+DELETE FROM t1 WHERE c1 = 7;
+
+--echo # session con1
+connection con1;
+ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2), ROW_FORMAT=COMPACT,
+LOCK = SHARED, ALGORITHM = INPLACE;
+
+# The previous DEBUG_SYNC should be ignored, because an exclusive lock
+# has been requested and the online log is not being allocated.
+ALTER TABLE t1 ADD UNIQUE INDEX(c2),
+LOCK = EXCLUSIVE, ALGORITHM = INPLACE;
+
+SHOW CREATE TABLE t1;
+# Now the previous DEBUG_SYNC should kick in.
+--send
+ALTER TABLE t1 DROP INDEX c2, ADD PRIMARY KEY(c1);
+
+--echo # session default
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR scanned';
+eval $innodb_metrics_select;
+
+# Insert a duplicate entry (4) for the already started UNIQUE INDEX(c1).
+BEGIN;
+INSERT INTO t1 VALUES(4,7,2);
+SET DEBUG_SYNC = 'now SIGNAL insert_done';
+
+--echo # session con1
+connection con1;
+# Because the modification log will be applied in order and we did
+# not roll back before the log apply, there will be a duplicate key
+# error on the (4,7,2).
+--error ER_DUP_ENTRY
+reap;
+
+--echo # session default
+connection default;
+ROLLBACK;
+
+--echo # session con1
+connection con1;
+SHOW CREATE TABLE t1;
+# Now, rebuild the table without any concurrent DML, while no duplicate exists.
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2), ALGORITHM = INPLACE;
+ALTER TABLE t1 DROP INDEX c2, ADD PRIMARY KEY(c1), ALGORITHM = INPLACE;
+eval $innodb_metrics_select;
+
+--echo # session default
+connection default;
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES(6,3,1);
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES(7,4,2);
+DROP INDEX c2_2 ON t1;
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+ROLLBACK;
+
+--echo # session con1
+connection con1;
+let $ID= `SELECT @id := CONNECTION_ID()`;
+--error ER_QUERY_INTERRUPTED
+KILL QUERY @id;
+
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt WAIT_FOR dml_done';
+SET DEBUG_SYNC = 'row_log_table_apply2_before SIGNAL applied WAIT_FOR kill_done';
+--send
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+
+--echo # session default
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR rebuilt';
+eval $innodb_metrics_select;
+BEGIN;
+INSERT INTO t1 VALUES(7,4,2);
+ROLLBACK;
+SET DEBUG_SYNC = 'now SIGNAL dml_done WAIT_FOR applied';
+let $ignore= `SELECT @id := $ID`;
+KILL QUERY @id;
+SET DEBUG_SYNC = 'now SIGNAL kill_done';
+
+--echo # session con1
+connection con1;
+--error ER_QUERY_INTERRUPTED
+reap;
+eval $innodb_metrics_select;
+
+--echo # session default
+connection default;
+CHECK TABLE t1;
+INSERT INTO t1 SELECT 5 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 10 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 20 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 40 + c1, c2, c3 FROM t1;
+# Purge may or may not have cleaned up the DELETE FROM t1 WHERE c1 = 7;
+--replace_column 9 ROWS
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE c2 > 3;
+ANALYZE TABLE t1;
+
+SET @merge_encrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_0=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+
+--echo # session con1
+connection con1;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+
+# Exceed the configured innodb_online_alter_log_max_size.
+# The actual limit is a multiple of innodb_sort_buf_size,
+# because that is the size of the in-memory log buffers.
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt2 WAIT_FOR dml2_done';
+# Ensure that the ALTER TABLE will be executed even with some concurrent DML.
+SET lock_wait_timeout = 10;
+--send
+ALTER TABLE t1 ROW_FORMAT=COMPACT
+PAGE_COMPRESSED = YES PAGE_COMPRESSION_LEVEL = 1, ALGORITHM = INPLACE;
+
+# Generate some log (delete-mark, delete-unmark, insert etc.)
+# while the index creation is blocked. Some of this may run
+# in parallel with the clustered index scan.
+--echo # session default
+connection default;
+INSERT INTO t1 SELECT 80 + c1, c2, c3 FROM t1;
+INSERT INTO t1 SELECT 160 + c1, c2, c3 FROM t1;
+UPDATE t1 SET c2 = c2 + 1;
+SET DEBUG_SYNC = 'now WAIT_FOR rebuilt2';
+# At this point, the clustered index scan must have completed,
+# but the modification log keeps accumulating due to the DEBUG_SYNC.
+eval $innodb_metrics_select;
+let $c= 3;
+while ($c)
+{
+ BEGIN;
+ DELETE FROM t1;
+ ROLLBACK;
+ UPDATE t1 SET c2 = c2 + 1;
+ BEGIN;
+ UPDATE t1 SET c2 = c2 + 1;
+ DELETE FROM t1;
+ ROLLBACK;
+ dec $c;
+}
+# Temporary table should exist until the DDL thread notices the overflow.
+eval $innodb_metrics_select;
+
+SET @merge_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+
+SELECT
+(@merge_encrypt_1-@merge_encrypt_0)-
+(@merge_decrypt_1-@merge_decrypt_0) as sort_balance,
+@merge_encrypt_1>@merge_encrypt_0, @merge_decrypt_1>@merge_decrypt_0,
+@rowlog_encrypt_1>@rowlog_encrypt_0;
+
+# Release con1.
+SET DEBUG_SYNC = 'now SIGNAL dml2_done';
+
+--echo # session con1
+connection con1;
+# If the following fails with the wrong error, it probably means that
+# you should rerun with a larger mtr --debug-sync-timeout.
+--error ER_INNODB_ONLINE_LOG_TOO_BIG
+reap;
+# The table should have been dropped from the data dictionary
+# when the above error was noticed.
+eval $innodb_metrics_select;
+
+SET @merge_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SET @rowlog_decrypt_1=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
+
+# Accumulate and apply some modification log.
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt3 WAIT_FOR dml3_done';
+--error ER_MULTIPLE_PRI_KEY
+ALTER TABLE t1 ADD PRIMARY KEY(c22f), CHANGE c2 c22f INT;
+--error ER_DUP_ENTRY
+ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(c22f), CHANGE c2 c22f INT;
+--send
+ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(c1,c22f,c4(5)),
+CHANGE c2 c22f INT, CHANGE c3 c3 CHAR(255) NULL, CHANGE c1 c1 INT AFTER c22f,
+ADD COLUMN c4 VARCHAR(6) DEFAULT 'Online', LOCK=NONE;
+
+--echo # session default
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR rebuilt3';
+# Generate some log (delete-mark, delete-unmark, insert etc.)
+eval $innodb_metrics_select;
+BEGIN;
+INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 240;
+DELETE FROM t1 WHERE c1 > 320;
+ROLLBACK;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+DELETE FROM t1;
+ROLLBACK;
+eval $innodb_metrics_select;
+# Release con1.
+SET DEBUG_SYNC = 'now SIGNAL dml3_done';
+
+--echo # session con1
+connection con1;
+reap;
+eval $innodb_metrics_select;
+SELECT COUNT(c22f) FROM t1;
+CHECK TABLE t1;
+
+SET @merge_encrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
+SET @merge_decrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
+SET @rowlog_encrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
+SET @rowlog_decrypt_2=
+(SELECT variable_value FROM information_schema.global_status
+WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
+
+SELECT
+(@merge_encrypt_2-@merge_encrypt_1)-
+(@merge_decrypt_2-@merge_decrypt_1) as sort_balance,
+(@rowlog_encrypt_2-@rowlog_encrypt_1)-
+(@rowlog_decrypt_2-@rowlog_decrypt_1) as log_balance;
+SELECT
+@merge_encrypt_2-@merge_encrypt_1>0 as sort_encrypted,
+@merge_decrypt_2-@merge_decrypt_1>0 as sort_decrypted,
+@rowlog_encrypt_2-@rowlog_encrypt_1>0 as log_encrypted,
+@rowlog_decrypt_2-@rowlog_decrypt_1>0 as log_decrypted;
+
+# Create a column prefix index.
+--error ER_DUP_ENTRY
+ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY c3p5(c3(5));
+UPDATE t1 SET c3 = NULL WHERE c3 = '';
+SET lock_wait_timeout = 1;
+--error ER_MULTIPLE_PRI_KEY
+ALTER TABLE t1 DROP COLUMN c22f, ADD PRIMARY KEY c3p5(c3(5));
+SET @old_sql_mode = @@sql_mode;
+# NULL -> NOT NULL only allowed INPLACE if strict sql_mode is on.
+# And adding a PRIMARY KEY will also add NOT NULL implicitly!
+SET @@sql_mode = 'STRICT_TRANS_TABLES';
+--error ER_INVALID_USE_OF_NULL
+ALTER TABLE t1 DROP COLUMN c22f, DROP PRIMARY KEY, ADD PRIMARY KEY c3p5(c3(5)),
+ALGORITHM = INPLACE;
+
+--error ER_INVALID_USE_OF_NULL
+ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL;
+SET @@sql_mode = @old_sql_mode;
+UPDATE t1 SET c3=LEFT(CONCAT(c1,REPEAT('foo',c1)),255) WHERE c3 IS NULL;
+
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL c3p5_created0 WAIT_FOR ins_done0';
+# NULL -> NOT NULL only allowed INPLACE if strict sql_mode is on.
+SET @@sql_mode = 'STRICT_TRANS_TABLES';
+--send
+ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL, DROP COLUMN c22f,
+ADD COLUMN c5 CHAR(5) DEFAULT 'tired' FIRST;
+
+--echo # session default
+connection default;
+
+SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created0';
+BEGIN;
+INSERT INTO t1 VALUES(347,33101,'Pikku kakkosen posti','YLETV2');
+INSERT INTO t1 VALUES(33101,347,NULL,'');
+SET DEBUG_SYNC = 'now SIGNAL ins_done0';
+
+--echo # session con1
+connection con1;
+--error ER_INVALID_USE_OF_NULL
+reap;
+SET @@sql_mode = @old_sql_mode;
+
+--echo # session default
+connection default;
+ROLLBACK;
+
+--echo # session con1
+connection con1;
+ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL;
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL c3p5_created WAIT_FOR ins_done';
+--send
+ALTER TABLE t1 DROP PRIMARY KEY, DROP COLUMN c22f,
+ADD COLUMN c6 VARCHAR(1000) DEFAULT
+'I love tracking down hard-to-reproduce bugs.',
+ADD PRIMARY KEY c3p5(c3(5), c6(2));
+
+--echo # session default
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created';
+SET DEBUG_SYNC = 'ib_after_row_insert SIGNAL ins_done WAIT_FOR ddl_timed_out';
+--error ER_BAD_NULL_ERROR
+INSERT INTO t1 VALUES(347,33101,NULL,'');
+--send
+INSERT INTO t1 VALUES(347,33101,'Pikku kakkosen posti','');
+
+--echo # session con1
+connection con1;
+--error ER_LOCK_WAIT_TIMEOUT
+reap;
+SET DEBUG_SYNC = 'now SIGNAL ddl_timed_out';
+eval $innodb_metrics_select;
+
+--echo # session default
+connection default;
+reap;
+SELECT COUNT(*) FROM t1;
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SELECT * FROM t1 LIMIT 10;
+
+--echo # session con1
+connection con1;
+ALTER TABLE t1 DISCARD TABLESPACE;
+--echo # Disconnect session con1
+disconnect con1;
+
+--echo # session default
+connection default;
+SHOW CREATE TABLE t1;
+SET DEBUG_SYNC = 'RESET';
+SET GLOBAL innodb_monitor_disable = module_ddl;
+DROP TABLE t1;
+
+# Check that all connections opened by test cases in this file are really
+# gone so execution of other tests won't be affected by their presence.
+--source include/wait_until_count_sessions.inc
+
+SET GLOBAL innodb_file_per_table = @global_innodb_file_per_table_orig;
+SET GLOBAL innodb_file_format = @file_format;
+--disable_warnings
+SET GLOBAL innodb_monitor_enable = default;
+SET GLOBAL innodb_monitor_disable = default;
+--enable_warnings
diff --git a/mysql-test/suite/innodb/t/innodb-virtual-columns.test b/mysql-test/suite/innodb/t/innodb-virtual-columns.test
new file mode 100644
index 00000000000..99f550eb667
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-virtual-columns.test
@@ -0,0 +1,313 @@
+--source include/have_innodb.inc
+
+#
+# MDEV-7367: Updating a virtual column corrupts table which crashes server
+# MySQL table columns contains virtual columns but InnoDB table
+# definition does not.
+#
+CREATE TABLE IF NOT EXISTS gso_grad_supr (
+ term char(4) NOT NULL DEFAULT '',
+ uw_id int(8) UNSIGNED NOT NULL DEFAULT 0,
+ plan varchar(10) NOT NULL DEFAULT '',
+ wdraw_rsn varchar(4) NOT NULL DEFAULT '',
+ admit_term char(4) NOT NULL DEFAULT '',
+ CONSTRAINT gso_grad_supr_pky PRIMARY KEY (uw_id, term)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+INSERT INTO `gso_grad_supr` VALUES ('1031',2,'CSM','','1009');
+INSERT INTO `gso_grad_supr` VALUES ('1035',2,'CSM','ACAD','1009');
+
+CREATE TABLE IF NOT EXISTS grad_degree (
+ student_id int(8) UNSIGNED NOT NULL,
+ plan varchar(10) NOT NULL,
+ admit_term char(4) NOT NULL,
+ wdraw_rsn varchar(4) NOT NULL DEFAULT '',
+ ofis_deg_status varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed'
+ ELSE 'Not Completed'
+ END) VIRTUAL,
+ deg_start_term char(4) NOT NULL DEFAULT '' COMMENT 'Educated guess at the beginning of the data',
+ deg_as_of_term char(4) NOT NULL COMMENT 'In most cases also end term',
+ CONSTRAINT grad_degree_stu_plan_admit_pky PRIMARY KEY (student_id, plan, admit_term)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE INDEX grad_degree_wdraw_rsn_ndx ON grad_degree (wdraw_rsn);
+CREATE INDEX grad_degree_as_of_term_ndx ON grad_degree (deg_as_of_term);
+
+INSERT IGNORE grad_degree (
+ student_id,
+ plan,
+ admit_term,
+ wdraw_rsn,
+ deg_start_term,
+ deg_as_of_term
+)
+SELECT
+ ggs.uw_id AS c_student_id,
+ ggs.plan,
+ ggs.admit_term,
+ ggs.wdraw_rsn,
+ IF( (SELECT COUNT(*) FROM grad_degree AS gd WHERE gd.student_id = ggs.uw_id AND gd.admit_term = ggs.admit_term) > 0, ggs.term, ggs.admit_term ) AS c_deg_start_term,
+ ggs.term AS c_as_of_term
+FROM gso_grad_supr AS ggs
+LEFT OUTER JOIN
+ grad_degree AS gd
+ ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+WHERE
+ ggs.term = 1031 AND
+ gd.student_id IS NULL
+;
+
+UPDATE grad_degree AS gd
+INNER JOIN
+ gso_grad_supr AS ggs
+ ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+SET
+ gd.wdraw_rsn = ggs.wdraw_rsn,
+ gd.deg_as_of_term = 1035
+WHERE
+ gd.wdraw_rsn NOT IN ('DCMP', 'TRDC') AND
+ ggs.term = 1035
+;
+
+drop table grad_degree;
+
+#
+# Test with more virtual columns so that MySQL table has
+# more columns than InnoDB and index definition is out
+# of number of actual InnoDB columns.
+#
+CREATE TABLE IF NOT EXISTS grad_degree (
+ student_id int(8) UNSIGNED NOT NULL,
+ plan varchar(10) NOT NULL,
+ admit_term char(4) NOT NULL,
+ wdraw_rsn varchar(4) NOT NULL DEFAULT '',
+ ofis_deg_status varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed'
+ ELSE 'Not Completed'
+ END) VIRTUAL,
+ ofis_deg_status2 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress2'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed2'
+ ELSE 'Not Completed2'
+ END) VIRTUAL,
+ ofis_deg_status3 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress3'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed3'
+ ELSE 'Not Completed3'
+ END) VIRTUAL,
+ ofis_deg_status4 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress4'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed4'
+ ELSE 'Not Completed4'
+ END) VIRTUAL,
+ ofis_deg_status5 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress5'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed5'
+ ELSE 'Not Completed5'
+ END) VIRTUAL,
+ ofis_deg_status6 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress6'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed6'
+ ELSE 'Not Completed6'
+ END) VIRTUAL,
+ ofis_deg_status7 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress7'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed7'
+ ELSE 'Not Completed7'
+ END) VIRTUAL,
+ ofis_deg_status8 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress8'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed8'
+ ELSE 'Not Completed8'
+ END) VIRTUAL,
+ deg_start_term char(4) NOT NULL DEFAULT '' COMMENT 'Educated guess at the beginning of the data',
+ deg_as_of_term char(4) NOT NULL COMMENT 'In most cases also end term',
+ CONSTRAINT grad_degree_stu_plan_admit_pky PRIMARY KEY (student_id, plan, admit_term)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE INDEX grad_degree_wdraw_rsn_ndx ON grad_degree (wdraw_rsn);
+CREATE INDEX grad_degree_as_of_term_ndx ON grad_degree (deg_as_of_term);
+
+INSERT IGNORE grad_degree (
+ student_id,
+ plan,
+ admit_term,
+ wdraw_rsn,
+ deg_start_term,
+ deg_as_of_term
+)
+SELECT
+ ggs.uw_id AS c_student_id,
+ ggs.plan,
+ ggs.admit_term,
+ ggs.wdraw_rsn,
+ IF( (SELECT COUNT(*) FROM grad_degree AS gd WHERE gd.student_id = ggs.uw_id AND gd.admit_term = ggs.admit_term) > 0, ggs.term, ggs.admit_term ) AS c_deg_start_term,
+ ggs.term AS c_as_of_term
+FROM gso_grad_supr AS ggs
+LEFT OUTER JOIN
+ grad_degree AS gd
+ ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+WHERE
+ ggs.term = 1031 AND
+ gd.student_id IS NULL
+;
+
+UPDATE grad_degree AS gd
+INNER JOIN
+ gso_grad_supr AS ggs
+ ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+SET
+ gd.wdraw_rsn = ggs.wdraw_rsn,
+ gd.deg_as_of_term = 1035
+WHERE
+ gd.wdraw_rsn NOT IN ('DCMP', 'TRDC') AND
+ ggs.term = 1035
+;
+
+#
+# Verify that indexes can be dropped
+#
+ALTER TABLE grad_degree DROP INDEX grad_degree_wdraw_rsn_ndx;
+
+#
+# Verify that we can drop columns
+#
+ALTER TABLE grad_degree DROP COLUMN deg_start_term;
+
+SHOW CREATE TABLE grad_degree;
+
+DROP TABLE grad_degree;
+
+#
+# Verify after dropping virtual columns
+#
+CREATE TABLE IF NOT EXISTS grad_degree (
+ student_id int(8) UNSIGNED NOT NULL,
+ plan varchar(10) NOT NULL,
+ admit_term char(4) NOT NULL,
+ wdraw_rsn varchar(4) NOT NULL DEFAULT '',
+ ofis_deg_status varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed'
+ ELSE 'Not Completed'
+ END) VIRTUAL,
+ ofis_deg_status2 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress2'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed2'
+ ELSE 'Not Completed2'
+ END) VIRTUAL,
+ ofis_deg_status3 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress3'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed3'
+ ELSE 'Not Completed3'
+ END) VIRTUAL,
+ ofis_deg_status4 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress4'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed4'
+ ELSE 'Not Completed4'
+ END) VIRTUAL,
+ ofis_deg_status5 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress5'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed5'
+ ELSE 'Not Completed5'
+ END) VIRTUAL,
+ ofis_deg_status6 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress6'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed6'
+ ELSE 'Not Completed6'
+ END) VIRTUAL,
+ ofis_deg_status7 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress7'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed7'
+ ELSE 'Not Completed7'
+ END) VIRTUAL,
+ ofis_deg_status8 varchar(15) AS (
+ CASE
+ WHEN wdraw_rsn = '' THEN 'In progress8'
+ WHEN wdraw_rsn = 'DCMP' OR wdraw_rsn = 'TRDC' THEN 'Completed8'
+ ELSE 'Not Completed8'
+ END) VIRTUAL,
+ deg_start_term char(4) NOT NULL DEFAULT '' COMMENT 'Educated guess at the beginning of the data',
+ deg_as_of_term char(4) NOT NULL COMMENT 'In most cases also end term',
+ CONSTRAINT grad_degree_stu_plan_admit_pky PRIMARY KEY (student_id, plan, admit_term)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE INDEX grad_degree_wdraw_rsn_ndx ON grad_degree (wdraw_rsn);
+
+ALTER TABLE grad_degree DROP COLUMN ofis_deg_status2, DROP COLUMN ofis_deg_status3,
+DROP COLUMN ofis_deg_status4, DROP COLUMN ofis_deg_status5, DROP COLUMN ofis_deg_status6,
+DROP COLUMN ofis_deg_status7, DROP COLUMN ofis_deg_status8;
+
+CREATE INDEX grad_degree_as_of_term_ndx ON grad_degree (deg_as_of_term);
+
+INSERT IGNORE grad_degree (
+ student_id,
+ plan,
+ admit_term,
+ wdraw_rsn,
+ deg_start_term,
+ deg_as_of_term
+)
+SELECT
+ ggs.uw_id AS c_student_id,
+ ggs.plan,
+ ggs.admit_term,
+ ggs.wdraw_rsn,
+ IF( (SELECT COUNT(*) FROM grad_degree AS gd WHERE gd.student_id = ggs.uw_id AND gd.admit_term = ggs.admit_term) > 0, ggs.term, ggs.admit_term ) AS c_deg_start_term,
+ ggs.term AS c_as_of_term
+FROM gso_grad_supr AS ggs
+LEFT OUTER JOIN
+ grad_degree AS gd
+ ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+WHERE
+ ggs.term = 1031 AND
+ gd.student_id IS NULL
+;
+
+UPDATE grad_degree AS gd
+INNER JOIN
+ gso_grad_supr AS ggs
+ ON ( gd.student_id = ggs.uw_id AND gd.plan = ggs.plan AND gd.admit_term = ggs.admit_term )
+SET
+ gd.wdraw_rsn = ggs.wdraw_rsn,
+ gd.deg_as_of_term = 1035
+WHERE
+ gd.wdraw_rsn NOT IN ('DCMP', 'TRDC') AND
+ ggs.term = 1035
+;
+
+select * from grad_degree;
+select * from gso_grad_supr;
+
+drop table grad_degree;
+drop table gso_grad_supr;
+
+CREATE TABLE t1 (a INT, b CHAR(12), c INT AS (a) VIRTUAL, FULLTEXT KEY(b)) ENGINE=InnoDB;
+INSERT INTO t1 (a,b) VALUES (1,'foo');
+SELECT * FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1 (a INT, b CHAR(12), c INT AS (a) VIRTUAL) ENGINE=InnoDB;
+INSERT INTO t1 (a,b) VALUES (1,'foo');
+ALTER TABLE t1 ADD FULLTEXT KEY(b);
+SELECT * FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-wl5522-1.test b/mysql-test/suite/innodb/t/innodb-wl5522-1.test
new file mode 100644
index 00000000000..b1db34976a9
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-wl5522-1.test
@@ -0,0 +1,952 @@
+# Not supported in embedded
+--source include/not_embedded.inc
+
+-- source include/have_innodb.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
+let $innodb_file_format = `SELECT @@innodb_file_format`;
+
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+
+let $MYSQLD_DATADIR = `SELECT @@datadir`;
+
+# Following testcases are created from JET cases (where import
+# export instance are differnt server )
+# Here test will be run on same import and export instance.
+
+DROP DATABASE IF EXISTS testdb_wl5522;
+CREATE DATABASE testdb_wl5522;
+
+# case 1
+CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
+INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
+SELECT c1 FROM testdb_wl5522.t1;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
+DROP TABLE testdb_wl5522.t1;
+
+# case 2
+CREATE TABLE testdb_wl5522.t1 (
+col1 BIT(1),
+col2 BOOLEAN,
+col3 TINYINT,
+col4 SMALLINT,
+col5 MEDIUMINT,
+col6 INT,
+col7 BIGINT,
+col8 FLOAT (14,3) ,
+col9 DOUBLE (14,3),
+col10 VARCHAR(20),
+col11 TEXT ,
+col12 ENUM('a','b','c'),
+col13 TEXT,
+col14 CHAR(20) ,
+col15 VARBINARY (400) ,
+col16 BINARY(40),
+col17 BLOB (400) ,
+col18 INT NOT NULL PRIMARY KEY,
+col19 DATE ,
+col20 DATETIME ,
+col21 TIMESTAMP ,
+col22 TIME ,
+col23 YEAR ) ENGINE = Innodb;
+
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+INSERT INTO testdb_wl5522.t1 VALUES
+(1,1,-128,32767,-8388608,2147483647,-9223372036854775808, 92233720368.222,
+-92233720368.222,'aaa', + 'aaaaaaaaaa','b','bbbbb','ccccc',
+REPEAT('d',40),REPEAT('d',40),REPEAT('d',40),1,'1000-01-01',
+'3000-12-31 23:59:59.99','1990-01-01 00:00:01.00',
+'01:59:59.00','1901');
+INSERT INTO testdb_wl5522.t1 VALUES
+(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
+--error 1048
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+--error 1062
+INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
+
+FLUSH TABLES testdb_wl5522.t1 WITH READ LOCK;
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1 (
+col1 BIT(1),
+col2 BOOLEAN,
+col3 TINYINT,
+col4 SMALLINT,
+col5 MEDIUMINT,
+col6 INT,
+col7 BIGINT,
+col8 FLOAT (14,3) ,
+col9 DOUBLE (14,3),
+col10 VARCHAR(20),
+col11 TEXT,
+col12 ENUM('a','b','c'),
+col13 TEXT,
+col14 CHAR(20) ,
+col15 VARBINARY (400) ,
+col16 BINARY(40),
+col17 BLOB (400) ,
+col18 INT NOT NULL PRIMARY KEY,
+col19 DATE ,
+col20 DATETIME ,
+col21 TIMESTAMP ,
+col22 TIME ,
+col23 YEAR ) ENGINE = Innodb;
+
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE testdb_wl5522.t1;
+
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+
+DROP TABLE testdb_wl5522.t1;
+
+
+# case 3 - with blob objects
+
+SET GLOBAL innodb_file_format='Barracuda';
+
+CREATE TABLE testdb_wl5522.t1 (
+col_1_varbinary VARBINARY (4000) ,
+col_2_varchar VARCHAR (4000),
+col_3_text TEXT (4000),
+col_4_blob BLOB (4000),
+col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000),
+col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC ENGINE = Innodb;
+
+INSERT INTO testdb_wl5522.t1 VALUES(
+REPEAT('a', 4000),REPEAT('o', 4000),REPEAT('a', 4000), REPEAT('o', 4000),
+REPEAT('a', 4000),REPEAT('a', 4000),REPEAT('a', 255));
+
+SELECT col_1_varbinary = REPEAT("a", 4000) ,
+col_2_varchar = REPEAT("o", 4000) ,
+col_3_text = REPEAT("a", 4000) ,
+col_4_blob = REPEAT("o", 4000) ,
+col_5_text = REPEAT("a", 4000) ,
+col_6_varchar = REPEAT("a", 4000) ,
+col_7_binary = REPEAT("a", 255)
+FROM testdb_wl5522.t1;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1 (
+col_1_varbinary VARBINARY (4000) ,
+col_2_varchar VARCHAR (4000),
+col_3_text TEXT (4000),
+col_4_blob BLOB (4000),
+col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000),
+col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC ENGINE = Innodb;
+
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+
+SELECT col_1_varbinary = REPEAT("a", 4000) ,
+col_2_varchar = REPEAT("o", 4000) ,
+col_3_text = REPEAT("a", 4000) ,
+col_4_blob = REPEAT("o", 4000) ,
+col_5_text = REPEAT("a", 4000) ,
+col_6_varchar = REPEAT("a", 4000) ,
+col_7_binary = REPEAT("a", 255)
+FROM testdb_wl5522.t1;
+
+DROP TABLE testdb_wl5522.t1;
+
+# case 4 - trasportable tablesace with autoincrement
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int INT AUTO_INCREMENT,
+col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_1_int)) ENGINE = Innodb;
+
+INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2'),(3,'a3');
+INSERT INTO testdb_wl5522.t1 (col_2_varchar) VALUES ('a4'),('a5'),('a6');
+
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int INT AUTO_INCREMENT,
+col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_1_int)) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+
+# error on inserting duplicate value
+--error 1062
+INSERT INTO testdb_wl5522.t1 VALUES (1,'a1');
+# insert new values
+INSERT INTO testdb_wl5522.t1(col_2_varchar) VALUES ('a101'),('a102'),('a103');
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+# check table can be altered
+ALTER TABLE testdb_wl5522.t1 MODIFY col_1_int BIGINT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+
+DROP TABLE testdb_wl5522.t1;
+
+# case 5 - check with primary and foreign key
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int INT,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
+
+CREATE TABLE testdb_wl5522.t1_fk (
+col_1_int INT,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_1_int),
+FOREIGN KEY (col_2_varchar) REFERENCES testdb_wl5522.t1(col_2_varchar)
+) ENGINE = Innodb;
+
+
+INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2'),(3,'a3'),(4,'a4'),(5,'a5');
+INSERT INTO testdb_wl5522.t1_fk VALUES (1,'a1'),(2,'a2'),(3,'a3');
+
+SELECT * FROM testdb_wl5522.t1;
+SELECT * FROM testdb_wl5522.t1_fk;
+FLUSH TABLES testdb_wl5522.t1,testdb_wl5522.t1_fk FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+ib_backup_tablespaces("testdb_wl5522", "t1_fk");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1_fk,testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int INT,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
+
+CREATE TABLE testdb_wl5522.t1_fk (
+col_1_int INT,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_1_int),
+FOREIGN KEY (col_2_varchar) REFERENCES testdb_wl5522.t1(col_2_varchar)
+) ENGINE = Innodb;
+
+# Alter table discrad table is not allowed with foreign_key_checks = 1
+SET foreign_key_checks = 0;
+ALTER TABLE testdb_wl5522.t1_fk DISCARD TABLESPACE;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+SET foreign_key_checks = 1;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_discard_tablespaces("testdb_wl5522", "t1_fk");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1_fk");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+ALTER TABLE testdb_wl5522.t1_fk IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1;
+SELECT * FROM testdb_wl5522.t1_fk;
+
+# Enter Invalid value: PK-FK relationship violation
+--error 1452
+INSERT INTO testdb_wl5522.t1_fk VALUES (100,'a100');
+
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1_fk VALUES (4,'a4'),(5,'a5');
+ROLLBACK;
+SELECT * FROM testdb_wl5522.t1_fk;
+
+DROP TABLE testdb_wl5522.t1_fk,testdb_wl5522.t1;
+SET AUTOCOMMIT = 1;
+
+
+# case 6 - transporatbale tablespace with transactions
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int int,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2');
+SELECT * FROM testdb_wl5522.t1;
+COMMIT;
+INSERT INTO testdb_wl5522.t1 VALUES (3,'a3'),(4,'a4');
+ROLLBACK;
+INSERT INTO testdb_wl5522.t1 VALUES (5,'a5'),(6,'a6');
+COMMIT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (
+col_1_int int,col_2_varchar VARCHAR (20),
+PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+SET AUTOCOMMIT = 0;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+
+
+INSERT INTO testdb_wl5522.t1 VALUES (7,'a7'),(8,'a8');
+COMMIT;
+INSERT INTO testdb_wl5522.t1 VALUES (9,'a9'),(10,'a10');
+ROLLBACK;
+INSERT INTO testdb_wl5522.t1 VALUES (11,'a11'),(12,'a12');
+COMMIT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
+SET AUTOCOMMIT = 1;
+
+DROP TABLE testdb_wl5522.t1;
+
+#case 7 - transpotable tablespace with transaction(earlier failed with jet)
+
+CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
+INSERT INTO testdb_wl5522.t1 VALUES (100),(200),(300);
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1 VALUES (101),(102),(103);
+COMMIT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+SET AUTOCOMMIT = 1;
+DROP TABLE testdb_wl5522.t1;
+
+
+# case 8 - negative cases
+CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
+INSERT INTO testdb_wl5522.t1 VALUES (100),(200),(300);
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+# try if we can flush again
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+
+# create table with incorrect schema
+CREATE TABLE testdb_wl5522.t1 ( i bigint) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+# error as mismatch in column data type
+--error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+
+# explicilty delet idb file before creating table with correct schema
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("testdb_wl5522", "t1");
+EOF
+
+DROP TABLE testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+# Import should succeed
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+# Try to import twice
+--error 1813
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1 VALUES (101),(102),(103);
+COMMIT;
+SELECT * FROM testdb_wl5522.t1 ORDER BY i;
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (i int) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+# do not delete ibt file and try to import
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+#--error 1000
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+DROP TABLE testdb_wl5522.t1;
+SET AUTOCOMMIT = 1;
+
+
+# case 9 - empty table import
+CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
+SELECT c1 FROM testdb_wl5522.t1;
+ROLLBACK;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
+DROP TABLE testdb_wl5522.t1;
+SET AUTOCOMMIT = 1;
+
+# case 10 - tt with prefix index
+
+CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 VARCHAR (255),
+col_4 VARCHAR (255),col_5 VARCHAR (255),
+col_6 text (255), col_7 text (255),
+col_8 text (255),col_9 text (255),
+col_10 BLOB (255),col_11 BLOB (255),
+col_12 BLOB (255), col_13 BLOB (255),
+col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
+
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(
+col_1 (50),col_2 (50),col_3 (50),
+col_4 (50),col_5 (50),col_6 (50),
+col_7 (50),col_8 (50),col_9 (50),
+col_10 (50),col_11 (50),col_12 (50),
+col_13(50));
+
+INSERT INTO testdb_wl5522.t1 VALUES (
+REPEAT("col1_00001",10),REPEAT("col2_00001",10),REPEAT("col3_00001",10),
+REPEAT("col4_00001",10),REPEAT("col5_00001",10),REPEAT("col6_00001",10),
+REPEAT("col7_00001",10),REPEAT("col8_00001",10),REPEAT("col9_00001",10),
+REPEAT("col10_00001",10),REPEAT("col11_00001",10),REPEAT("col12_00001",10),
+REPEAT("col13_00001",10),REPEAT("col14_00001",10),1);
+
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 VARCHAR (255),
+col_4 VARCHAR (255),col_5 VARCHAR (255),
+col_6 text (255), col_7 text (255),
+col_8 text (255),col_9 text (255),
+col_10 BLOB (255),col_11 BLOB (255),
+col_12 BLOB (255), col_13 BLOB (255),
+col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
+
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(
+col_1 (50),col_2 (50),col_3 (50),
+col_4 (50),col_5 (50),col_6 (50),
+col_7 (50),col_8 (50),col_9 (50),
+col_10 (50),col_11 (50),col_12 (50),
+col_13(50));
+
+
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+
+
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+
+DROP TABLE testdb_wl5522.t1;
+
+
+# case 11 - tt with secondary index
+
+CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 VARCHAR (255),
+col_4 VARCHAR (255),col_5 VARCHAR (255),
+col_6 text (255), col_7 text (255),
+col_8 text (255),col_9 text (255),
+col_10 BLOB (255),col_11 BLOB (255),
+col_12 BLOB (255), col_13 BLOB (255),
+col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
+
+CREATE INDEX idx1 ON testdb_wl5522.t1(col_1);
+CREATE INDEX idx2 ON testdb_wl5522.t1(col_2);
+CREATE INDEX idx3 ON testdb_wl5522.t1(col_3);
+CREATE INDEX idx4 ON testdb_wl5522.t1(col_4);
+CREATE INDEX idx5 ON testdb_wl5522.t1(col_5);
+CREATE INDEX idx6 ON testdb_wl5522.t1(col_6(255));
+CREATE INDEX idx7 ON testdb_wl5522.t1(col_7(255));
+CREATE INDEX idx8 ON testdb_wl5522.t1(col_8(255));
+CREATE INDEX idx9 ON testdb_wl5522.t1(col_9(255));
+CREATE INDEX idx10 ON testdb_wl5522.t1(col_10(255));
+CREATE INDEX idx11 ON testdb_wl5522.t1(col_11(255));
+CREATE INDEX idx12 ON testdb_wl5522.t1(col_12(255));
+CREATE INDEX idx13 ON testdb_wl5522.t1(col_13(255));
+CREATE INDEX idx14 ON testdb_wl5522.t1(col_14(255));
+
+INSERT INTO testdb_wl5522.t1 VALUES (
+REPEAT("col1_00001",10),REPEAT("col2_00001",10),REPEAT("col3_00001",10),
+REPEAT("col4_00001",10),REPEAT("col5_00001",10),REPEAT("col6_00001",10),
+REPEAT("col7_00001",10),REPEAT("col8_00001",10),REPEAT("col9_00001",10),
+REPEAT("col10_00001",10),REPEAT("col11_00001",10),REPEAT("col12_00001",10),
+REPEAT("col13_00001",10),REPEAT("col14_00001",10),1);
+
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 VARCHAR (255),
+col_4 VARCHAR (255),col_5 VARCHAR (255),
+col_6 text (255), col_7 text (255),
+col_8 text (255),col_9 text (255),
+col_10 BLOB (255),col_11 BLOB (255),
+col_12 BLOB (255), col_13 BLOB (255),
+col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
+
+CREATE INDEX idx1 ON testdb_wl5522.t1(col_1);
+CREATE INDEX idx2 ON testdb_wl5522.t1(col_2);
+CREATE INDEX idx3 ON testdb_wl5522.t1(col_3);
+CREATE INDEX idx4 ON testdb_wl5522.t1(col_4);
+CREATE INDEX idx5 ON testdb_wl5522.t1(col_5);
+CREATE INDEX idx6 ON testdb_wl5522.t1(col_6(255));
+CREATE INDEX idx7 ON testdb_wl5522.t1(col_7(255));
+CREATE INDEX idx8 ON testdb_wl5522.t1(col_8(255));
+CREATE INDEX idx9 ON testdb_wl5522.t1(col_9(255));
+CREATE INDEX idx10 ON testdb_wl5522.t1(col_10(255));
+CREATE INDEX idx11 ON testdb_wl5522.t1(col_11(255));
+CREATE INDEX idx12 ON testdb_wl5522.t1(col_12(255));
+CREATE INDEX idx13 ON testdb_wl5522.t1(col_13(255));
+CREATE INDEX idx14 ON testdb_wl5522.t1(col_14(255));
+
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+
+# perform transaction on impoted table
+SET AUTOCOMMIT = 0;
+INSERT INTO testdb_wl5522.t1(col_15) VALUES (15000),(16000);
+SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
+ROLLBACK;
+SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
+INSERT INTO testdb_wl5522.t1(col_15) VALUES (15000),(16000);
+COMMIT;
+SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
+# dml
+ALTER TABLE testdb_wl5522.t1 DROP INDEX idx1;
+ALTER TABLE testdb_wl5522.t1 DROP INDEX idx6;
+ALTER TABLE testdb_wl5522.t1 DROP INDEX idx10;
+
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+
+ALTER TABLE testdb_wl5522.t1 ADD INDEX idx1 (col_1);
+ALTER TABLE testdb_wl5522.t1 ADD INDEX idx6 (col_1(255));
+ALTER TABLE testdb_wl5522.t1 ADD INDEX idx10 (col_10(255));
+
+
+SELECT
+col_1 = REPEAT("col1_00001",10),
+col_2 = REPEAT("col2_00001",10),
+col_3 = REPEAT("col3_00001",10),
+col_4 = REPEAT("col4_00001",10),
+col_5 = REPEAT("col5_00001",10),
+col_6 = REPEAT("col6_00001",10),
+col_7 = REPEAT("col7_00001",10),
+col_8 = REPEAT("col8_00001",10),
+col_9 = REPEAT("col9_00001",10),
+col_10 = REPEAT("col10_00001",10),
+col_11 = REPEAT("col11_00001",10),
+col_12 = REPEAT("col12_00001",10),
+col_13 = REPEAT("col13_00001",10),
+col_14 = REPEAT("col14_00001",10),
+col_15
+FROM testdb_wl5522.t1;
+
+DROP TABLE testdb_wl5522.t1;
+SET AUTOCOMMIT = 1;
+
+# case 12 - tt with trigger / view
+
+CREATE TABLE testdb_wl5522.t1(col1 bit(1) ,
+col2 boolean,col3 tinyint , col4 smallint ,
+col5 mediumint ,col6 int , col7 bigint ,
+col8 float (14,3) ,col9 double (14,3),
+col10 VARCHAR(20) CHARACTER SET utf8 ,
+col11 TEXT CHARACTER SET binary ,
+col12 ENUM('a','b','c') CHARACTER SET binary,
+col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,
+col14 CHAR(20) , col15 VARBINARY (400),
+col16 BINARY(40), col17 BLOB (400),
+col18 int not null primary key,
+col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,
+col22 TIME , col23 YEAR ) ENGINE = Innodb;
+
+# table for trigger action
+CREATE TABLE testdb_wl5522.trigger_table ( i int ) ENGINE = Innodb;
+# define trigger
+CREATE TRIGGER testdb_wl5522.tri AFTER INSERT ON testdb_wl5522.t1
+FOR EACH ROW INSERT INTO testdb_wl5522.trigger_table VALUES(NEW.col18);
+# define view
+CREATE OR REPLACE VIEW testdb_wl5522.VW1 AS SELECT * FROM testdb_wl5522.t1;
+
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+
+
+INSERT INTO testdb_wl5522.t1 VALUES (
+1,1,-128,32767,-8388608,2147483647,-9223372036854775808,92233720368.222,
+-92233720368.222,'aaa','aaaaaaaaaa','b','bbbbb','ccccc',REPEAT('d',40),
+REPEAT('d',40),REPEAT('d',40),1,'1000-01-01','3000-12-31 23:59:59.99',
+'1990-01-01 00:00:01.00','01:59:59.00','1901');
+
+INSERT INTO testdb_wl5522.t1 VALUES (
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
+
+
+--error 1048
+INSERT INTO testdb_wl5522.t1 VALUES (
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+
+--error 1062
+INSERT INTO testdb_wl5522.t1 VALUES (
+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
+
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+SELECT * FROM testdb_wl5522.trigger_table;
+SELECT COUNT(*) FROM testdb_wl5522.VW1;
+FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("testdb_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+# trigger is also dropped when table is dropped
+DROP TABLE testdb_wl5522.t1;
+
+CREATE TABLE testdb_wl5522.t1(col1 bit(1) ,
+col2 boolean,col3 tinyint , col4 smallint ,
+col5 mediumint ,col6 int , col7 bigint ,
+col8 float (14,3) ,col9 double (14,3),
+col10 VARCHAR(20) CHARACTER SET utf8 ,
+col11 TEXT CHARACTER SET binary ,
+col12 ENUM('a','b','c') CHARACTER SET binary,
+col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,
+col14 CHAR(20) , col15 VARBINARY (400),
+col16 BINARY(40), col17 BLOB (400),
+col18 int not null primary key,
+col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,
+col22 TIME , col23 YEAR ) ENGINE = Innodb;
+
+CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
+CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
+CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
+CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
+
+
+ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("testdb_wl5522", "t1");
+ib_restore_tablespaces("testdb_wl5522", "t1");
+EOF
+
+ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
+
+SELECT COUNT(*) FROM testdb_wl5522.t1;
+SELECT * FROM testdb_wl5522.trigger_table;
+SELECT COUNT(*) FROM testdb_wl5522.VW1;
+
+# trigger table is not updated as trigger got dropped
+INSERT INTO testdb_wl5522.t1(col18) VALUES (5);
+# validate data in table not updated
+SELECT * FROM testdb_wl5522.trigger_table;
+
+UPDATE testdb_wl5522.t1 SET col18=10 WHERE col18=1;
+
+# view shows updated data
+SELECT COUNT(*) FROM testdb_wl5522.VW1;
+
+SELECT COUNT(*) FROM testdb_wl5522.t1 WHERE col18=10;
+ALTER TABLE testdb_wl5522.t1 ADD COLUMN col24 varbinary(40) default null;
+INSERT INTO testdb_wl5522.t1(col18,col24) VALUES (6,REPEAT('a',10));
+SELECT col24,col18 FROM testdb_wl5522.t1 WHERE col18 in (6,1,10) ORDER BY col18;
+ALTER TABLE testdb_wl5522.t1 DROP INDEX prefix_idx;
+SELECT col18,col14 FROM testdb_wl5522.t1 WHERE col14 like '_ccc%';
+ALTER TABLE testdb_wl5522.t1 ADD INDEX prefix_idx (col24(10));
+SELECT col18,col24 FROM testdb_wl5522.t1 WHERE col24 like '_a_a%';
+
+DROP TABLE testdb_wl5522.t1;
+
+DROP DATABASE testdb_wl5522;
+
+call mtr.add_suppression("Got error -1 when reading table '.*'");
+call mtr.add_suppression("InnoDB: Error: tablespace id and flags in file '.*'.*");
+call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded");
+
+# cleanup
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.ibd
+--remove_file $MYSQLTEST_VARDIR/tmp/t1_fk.cfg
+--remove_file $MYSQLTEST_VARDIR/tmp/t1_fk.ibd
+
+eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
+eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
diff --git a/mysql-test/suite/innodb/t/innodb-wl5522-debug.test b/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
new file mode 100644
index 00000000000..11bdd4305c2
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
@@ -0,0 +1,1456 @@
+# mysql-test-run.pl --embedded cannot restart the server.
+--source include/not_embedded.inc
+
+# Adding big test option for this test.
+--source include/big_test.inc
+
+# This test case needs to crash the server. Needs a debug server.
+--source include/have_debug.inc
+
+# Don't test this under valgrind, memory leaks will occur.
+--source include/not_valgrind.inc
+
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
+
+-- source include/have_innodb.inc
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
+let $pathfix=/: '.*test_wl5522.*t1.ibd'/: 'test_wl5522\\t1.ibd'/;
+let $strerrfix=/ (\(.+\))//;
+
+SET GLOBAL innodb_file_per_table = 1;
+
+CREATE DATABASE test_wl5522;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = InnoDB;
+INSERT INTO test_wl5522.t1 VALUES(1),(2),(3);
+
+--let $_server_id= `SELECT @@server_id`
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
+
+--exec echo wait > $_expect_file_name
+SET SESSION debug_dbug="+d,ib_discard_before_commit_crash";
+--error 2013
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--source include/start_mysqld.inc
+
+DROP TABLE test_wl5522.t1;
+
+SET GLOBAL innodb_file_per_table = 1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = InnoDB;
+INSERT INTO test_wl5522.t1 VALUES(1),(2),(3);
+
+--exec echo wait > $_expect_file_name
+SET SESSION debug_dbug="+d,ib_discard_after_commit_crash";
+--error 2013
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--source include/start_mysqld.inc
+
+DROP TABLE test_wl5522.t1;
+
+SET GLOBAL innodb_file_per_table = 1;
+
+# Create the table that we will use for crash recovery (during IMPORT)
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1), (2), (3), (4);
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test_wl5522", "t1");
+EOF
+UNLOCK TABLES;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM test_wl5522.t1;
+
+--exec echo wait > $_expect_file_name
+SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
+--error 2013
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+--source include/start_mysqld.inc
+
+# Check that the DD is consistent after recovery
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+--exec echo wait > $_expect_file_name
+SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
+--error 2013
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+# After the above test the results are non-deterministic,
+# delete the old tablespace files and drop the table,
+# recreate the table and do a proper import.
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+--source include/start_mysqld.inc
+
+DROP TABLE test_wl5522.t1;
+
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE test_wl5522.t1;
+
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+INSERT INTO test_wl5522.t1 VALUES(400), (500), (600);
+
+SELECT * FROM test_wl5522.t1;
+
+DROP TABLE test_wl5522.t1;
+
+# Test IO Write error(s), flush tables doesn't return an error message
+# so we have to make do with the error/warning pushed by the server
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_1";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_2";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_3";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_4";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_5";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_6";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_7";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_8";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_9";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_10";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_11";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+SET SESSION debug_dbug="+d,ib_export_io_write_failure_12";
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+# Create a table and save the tablespace and .cfg file
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (100), (200), (300);
+SELECT COUNT(*) FROM test_wl5522.t1;
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE test_wl5522.t1;
+
+# Test IO Read error(s)
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_io_read_error_1";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_io_read_error_2";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_io_read_error_3";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_io_read_error_4";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_io_read_error_5";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_io_read_error_6";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_io_read_error_7";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_io_read_error_8";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_io_read_error_9";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+# Test string read failure
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_string_read_error";
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_cfg_files("test_wl5522", "t1");
+EOF
+
+--replace_regex $strerrfix
+
+--error ER_IO_READ_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+# Test OOM error during import
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_OOM_1";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_OOM_2";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_OOM_4";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_OOM_5";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_OOM_6";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_OOM_7";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_OOM_8";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_OOM_9";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_OOM_10";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_OUT_OF_RESOURCES
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+####
+# Test handling of internal failure error
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after reset of space id and LSN in the tablespace
+SET SESSION debug_dbug="+d,ib_import_internal_error";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+DROP TABLE test_wl5522.t1;
+
+
+# Test failure after reset of space id and LSN in the tablespace
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after reset of space id and LSN in the tablespace
+SET SESSION debug_dbug="+d,ib_import_reset_space_and_lsn_failure";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Test failure after attempting a tablespace open
+SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
+
+--replace_regex /file: '.*t1.ibd'/'t1.ibd'/
+
+--error ER_GET_ERRMSG
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after ibuf check
+SET SESSION debug_dbug="+d,ib_import_check_bitmap_failure";
+
+# Need proper mapping of error codes :-(
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after adjusting the cluster index root page
+SET SESSION debug_dbug="+d,ib_import_cluster_root_adjust_failure";
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after importing the cluster index
+SET SESSION debug_dbug="+d,ib_import_cluster_failure";
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after importing the secondary index(es)
+SET SESSION debug_dbug="+d,ib_import_sec_root_adjust_failure";
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after importing the cluster index
+SET SESSION debug_dbug="+d,ib_import_set_max_rowid_failure";
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Left over from the failed IMPORT
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+DROP TABLE test_wl5522.t1;
+
+--disable_query_log
+# Enable metrics for the counters we are going to use
+set global innodb_monitor_enable = purge_stop_count;
+set global innodb_monitor_enable = purge_resume_count;
+set global innodb_monitor_enable = ibuf_merges;
+set global innodb_monitor_enable = ibuf_merges_insert;
+--enable_query_log
+
+#
+# Create a large table with delete marked records, disable purge during
+# the update so that we can test the IMPORT purge code.
+#
+CREATE TABLE test_wl5522.t1 (
+ c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 BIGINT,
+ c3 VARCHAR(2048),
+ c4 VARCHAR(2048),
+ INDEX idx1(c2),
+ INDEX idx2(c3(512)),
+ INDEX idx3(c4(512))) Engine=InnoDB;
+
+# Stop purge so that it doesn't remove the delete marked entries.
+connect (purge_control,localhost,root);
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+connection default;
+
+# Disable change buffer merge from the master thread, additionally
+# enable aggressive flushing so that more changes are buffered.
+SET GLOBAL innodb_disable_background_merge=ON;
+SET GLOBAL innodb_monitor_reset = ibuf_merges;
+SET GLOBAL innodb_monitor_reset = ibuf_merges_insert;
+
+INSERT INTO test_wl5522.t1(c2, c3, c4) VALUES
+ (1, REPEAT('a', 2048), REPEAT('a', 2048)),
+ (2, REPEAT('b', 2048), REPEAT('b', 2048)),
+ (3, REPEAT('c', 2048), REPEAT('c', 2048)),
+ (4, REPEAT('d', 2048), REPEAT('d', 2048));
+
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+
+DELETE FROM test_wl5522.t1 WHERE c2 = 1;
+
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c3 = REPEAT("c2", 1024);
+UPDATE test_wl5522.t1 SET c4 = REPEAT("c4", 1024);
+
+SHOW CREATE TABLE test_wl5522.t1;
+
+SELECT c1, c2 FROM test_wl5522.t1;
+SELECT COUNT(*) FROM test_wl5522.t1;
+SELECT SUM(c2) FROM test_wl5522.t1;
+
+SELECT name
+ FROM information_schema.innodb_metrics
+ WHERE name = 'ibuf_merges_insert' AND count = 0;
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+SELECT name
+ FROM information_schema.innodb_metrics
+ WHERE name = 'ibuf_merges' AND count > 0;
+
+SELECT name
+ FROM information_schema.innodb_metrics
+ WHERE name = 'ibuf_merges_inserts' AND count > 0;
+
+SET GLOBAL innodb_disable_background_merge=OFF;
+
+# Enable normal operation
+connection purge_control;
+COMMIT;
+disconnect purge_control;
+connection default;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (
+ c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 BIGINT,
+ c3 VARCHAR(2048),
+ c4 VARCHAR(2048),
+ INDEX idx1(c2),
+ INDEX idx2(c3(512)),
+ INDEX idx3(c4(512))) Engine=InnoDB;
+
+SELECT c1, c2 FROM test_wl5522.t1;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE test_wl5522.t1;
+
+SELECT c1,c2 FROM test_wl5522.t1;
+SELECT COUNT(*) FROM test_wl5522.t1;
+SELECT SUM(c2) FROM test_wl5522.t1;
+
+SHOW CREATE TABLE test_wl5522.t1;
+
+DROP TABLE test_wl5522.t1;
+
+####
+# Create a table and save the tablespace and .cfg file, we need to create
+# a Btree that has several levels
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+
+INSERT IGNORE INTO test_wl5522.t1 VALUES
+ (100, REPEAT('Karanbir', 899), REPEAT('Ajeeth', 2731));
+
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+SELECT COUNT(*) FROM test_wl5522.t1;
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_1";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+#
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,buf_page_import_corrupt_failure";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+#
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_2";
+
+--replace_regex $pathfix
+
+--error ER_INNODB_INDEX_CORRUPT
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+#
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_3";
+
+--replace_regex $pathfix
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_create_index_failure_1";
+
+ALTER TABLE test_wl5522.t1 ADD INDEX idx(c1);
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+#
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,fil_space_create_failure";
+
+--replace_regex $pathfix
+
+--error ER_GET_ERRMSG
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+#
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,dict_tf_to_fsp_flags_failure";
+
+--replace_regex $pathfix
+
+--error ER_GET_ERRMSG
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+#
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,fsp_flags_is_valid_failure";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+
+DROP DATABASE test_wl5522;
+
+set global innodb_monitor_disable = all;
+set global innodb_monitor_reset_all = all;
+
+-- disable_warnings
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+-- enable_warnings
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: The log sequence numbers [0-9]+ and [0-9]+ in ibdata files do not match the log sequence number [0-9]+ in the ib_logfiles!");
+call mtr.add_suppression("'Resource temporarily unavailable'");
+call mtr.add_suppression("Monitor ibuf_merges is already enabled");
+call mtr.add_suppression("Monitor ibuf_merges_insert is already enabled");
+call mtr.add_suppression("Got error -1 when reading table '.*'");
+call mtr.add_suppression("InnoDB: Table '.*' tablespace is set as discarded.");
+call mtr.add_suppression("InnoDB: Tablespace '.*' exists in the cache.*");
+call mtr.add_suppression("InnoDB: Freeing existing tablespace '.*' entry from the cache with id.*");
+call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded");
+call mtr.add_suppression(".*There was an error writing to the meta data file.*");
+call mtr.add_suppression("InnoDB: Trying to import a tablespace, but could not open the tablespace file");
+call mtr.add_suppression("Unsupported tablespace format");
+call mtr.add_suppression("Error in page .* of index \"GEN_CLUST_INDEX\" of table \"test_wl5522\".\"t1\"");
+call mtr.add_suppression("Page is marked as free");
+call mtr.add_suppression("t1.ibd: Page .* at offset .* looks corrupted");
+call mtr.add_suppression("but tablespace with that id or name does not exist");
+call mtr.add_suppression("Failed to find tablespace for table '\"test_wl5522\".\"t1\"' in the cache");
+call mtr.add_suppression("Could not find a valid tablespace file for 'test_wl5522.*t1'");
+call mtr.add_suppression("while reading index meta-data, expected to read 44 bytes but read only 0 bytes");
+call mtr.add_suppression("Page for tablespace.*that index is not found from configuration file");
+call mtr.add_suppression("Invalid FSP_SPACE_FLAGS=0x0");
+--enable_query_log
+
+#cleanup
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.ibd
+
+eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
diff --git a/mysql-test/suite/innodb/t/innodb-wl5522-zip.test b/mysql-test/suite/innodb/t/innodb-wl5522-zip.test
new file mode 100644
index 00000000000..d139e0b700d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-wl5522-zip.test
@@ -0,0 +1,544 @@
+# Not supported in embedded
+--source include/not_embedded.inc
+
+-- source include/have_innodb.inc
+# compressed table in tests are with sizes KEY_BLOCK_SIZE 1,2,4,8,16
+# Table creatation fails if KEY_BLOCK_SIZE > innodb-page-size,so
+# allow test to run only when innodb-page-size=16
+--source include/have_innodb_16k.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
+let $innodb_file_format = `SELECT @@innodb_file_format`;
+let $innodb_strict_mode_orig=`select @@session.innodb_strict_mode`;
+
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+
+SET SESSION innodb_strict_mode=1;
+SELECT @@SESSION.innodb_strict_mode;
+
+let $MYSQLD_TMPDIR = `SELECT @@tmpdir`;
+let $MYSQLD_DATADIR = `SELECT @@datadir`;
+
+CREATE TABLE t1
+(a INT AUTO_INCREMENT PRIMARY KEY,
+ b char(22),
+ c varchar(255),
+ KEY (b))
+ENGINE = InnoDB ROW_FORMAT=COMPRESSED ;
+
+insert into t1 (b, c) values ('Apa', 'Filler........'),
+('Banan', 'Filler........'), ('Cavalry', '..asdasdfaeraf'),
+('Devotion', 'asdfuihknaskdf'), ('Evolution', 'lsjndofiabsoibeg');
+
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+SELECT COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+--list_files $MYSQLD_DATADIR/test
+--echo # Restarting server
+-- source include/restart_mysqld.inc
+--echo # Done restarting server
+FLUSH TABLE t1 FOR EXPORT;
+--echo # List before copying files
+--list_files $MYSQLD_DATADIR/test
+--copy_file $MYSQLD_DATADIR/test/t1.cfg $MYSQLD_TMPDIR/t1.cfg
+--copy_file $MYSQLD_DATADIR/test/t1.ibd $MYSQLD_TMPDIR/t1.ibd
+UNLOCK TABLES;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+SELECT COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+--echo # Restarting server
+-- source include/restart_mysqld.inc
+--echo # Done restarting server
+--echo # List before t1 DISCARD
+--list_files $MYSQLD_DATADIR/test
+ALTER TABLE t1 DISCARD TABLESPACE;
+--echo # List after t1 DISCARD
+--list_files $MYSQLD_DATADIR/test
+--copy_file $MYSQLD_TMPDIR/t1.cfg $MYSQLD_DATADIR/test/t1.cfg
+--copy_file $MYSQLD_TMPDIR/t1.ibd $MYSQLD_DATADIR/test/t1.ibd
+ALTER TABLE t1 IMPORT TABLESPACE;
+ALTER TABLE t1 ENGINE InnoDB;
+SELECT COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+--list_files $MYSQLD_DATADIR/test
+SELECT COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+DROP TABLE t1;
+--remove_file $MYSQLD_TMPDIR/t1.cfg
+--remove_file $MYSQLD_TMPDIR/t1.ibd
+
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+
+# restore session variable
+SET SESSION innodb_strict_mode=1;
+SELECT @@SESSION.innodb_strict_mode;
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+
+# Try importing when tablespace already exists
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+
+INSERT INTO t1(c2) VALUES(1);
+--error ER_TABLESPACE_EXISTS
+ALTER TABLE t1 IMPORT TABLESPACE;
+SELECT * FROM t1;
+DROP TABLE t1;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+--list_files $MYSQLD_DATADIR/test
+
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+
+--list_files $MYSQLD_DATADIR/test
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+--list_files $MYSQLD_DATADIR/test
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+SELECT COUNT(*) FROM t1;
+
+DROP TABLE t1;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+# Insert some more records to move the LSN forward and then drop the
+# table and restore
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+--list_files $MYSQLD_DATADIR/test
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+--list_files $MYSQLD_DATADIR/test
+UNLOCK TABLES;
+
+--list_files $MYSQLD_DATADIR/test
+
+# Move the LSN forward
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+--list_files $MYSQLD_DATADIR/test
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+SELECT COUNT(*) FROM t1;
+
+DROP TABLE t1;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+# Insert some more records to move the LSN forward and then drop the
+# table and restore, this time the table has a secondary index too.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+--list_files $MYSQLD_DATADIR/test
+UNLOCK TABLES;
+
+# Move the LSN forward
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+
+DROP TABLE t1;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+# Insert some more records to move the LSN forward and then drop the
+# table and restore, this time the table has a secondary index too.
+# Rename the index on the create so that the IMPORT fails, drop index
+# Create with proper name and then do an IMPORT.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+UNLOCK TABLES;
+
+# Move the LSN forward
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX x(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+# This is really a name mismatch error, need better error codes.
+-- error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+ALTER TABLE t1 DROP INDEX x;
+ALTER TABLE t1 ADD INDEX idx(c2);
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+#
+# Export/import on the same instance, with --innodb-file-per-table=0
+# This should fail because it is not supported
+SET GLOBAL innodb_file_per_table = 0;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+SELECT COUNT(*) FROM t1;
+
+SHOW CREATE TABLE t1;
+
+# This should fail, InnoDB should return a warning
+FLUSH TABLES t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+#
+# Tests that check for schema mismatch during IMPORT
+#
+
+SET GLOBAL innodb_file_per_table = 1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+# Table without the secondary index
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+# This should fail because of a missing secondary index
+-- error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# Table with an additional column
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT,
+ c3 INT, INDEX idx(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+# This should fail because the table has an additional column
+-- error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# Change the column type of c2
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 BIGINT, INDEX idx(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+# This should fail because c2 is now a BIGINT and not INT
+-- error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# This should fail because KEY_BLOCK_SIZE is different
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+# This should fail because is KEY_BLOCK_SIZE=4
+# but KEY_BLOCK_SIZE=8 is exported table
+# Need better error message for following
+--replace_regex /\(.*\)//
+-- error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+
+# This should be OK.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+call mtr.add_suppression("Got error -1 when reading table '.*'");
+call mtr.add_suppression("InnoDB: Error: tablespace id and flags in file '.*'.*");
+call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded");
+
+# cleanup
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.ibd
+
+eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
+eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
+eval SET SESSION innodb_strict_mode=$innodb_strict_mode_orig;
diff --git a/mysql-test/suite/innodb/t/innodb-wl5522.test b/mysql-test/suite/innodb/t/innodb-wl5522.test
new file mode 100644
index 00000000000..d50032c3be7
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-wl5522.test
@@ -0,0 +1,1128 @@
+# Not supported in embedded
+--source include/not_embedded.inc
+
+-- source include/have_innodb.inc
+
+let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
+let $innodb_file_format = `SELECT @@innodb_file_format`;
+
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+
+let $MYSQLD_TMPDIR = `SELECT @@tmpdir`;
+let $MYSQLD_DATADIR = `SELECT @@datadir`;
+
+CREATE TABLE t1
+(a INT AUTO_INCREMENT PRIMARY KEY,
+ b char(22),
+ c varchar(255),
+ KEY (b))
+ENGINE = InnoDB;
+
+insert into t1 (b, c) values ('Apa', 'Filler........'),
+('Banan', 'Filler........'), ('Cavalry', '..asdasdfaeraf'),
+('Devotion', 'asdfuihknaskdf'), ('Evolution', 'lsjndofiabsoibeg');
+
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+SELECT COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+--list_files $MYSQLD_DATADIR/test
+--echo # Restarting server
+-- source include/restart_mysqld.inc
+--echo # Done restarting server
+FLUSH TABLE t1 FOR EXPORT;
+--echo # List before copying files
+--list_files $MYSQLD_DATADIR/test
+--copy_file $MYSQLD_DATADIR/test/t1.cfg $MYSQLD_TMPDIR/t1.cfg
+--copy_file $MYSQLD_DATADIR/test/t1.ibd $MYSQLD_TMPDIR/t1.ibd
+UNLOCK TABLES;
+INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
+SELECT COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+--echo # Restarting server
+-- source include/restart_mysqld.inc
+--echo # Done restarting server
+--echo # List before t1 DISCARD
+--list_files $MYSQLD_DATADIR/test
+ALTER TABLE t1 DISCARD TABLESPACE;
+--echo # List after t1 DISCARD
+--list_files $MYSQLD_DATADIR/test
+--copy_file $MYSQLD_TMPDIR/t1.cfg $MYSQLD_DATADIR/test/t1.cfg
+--copy_file $MYSQLD_TMPDIR/t1.ibd $MYSQLD_DATADIR/test/t1.ibd
+ALTER TABLE t1 IMPORT TABLESPACE;
+ALTER TABLE t1 ENGINE InnoDB;
+SELECT COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+--list_files $MYSQLD_DATADIR/test
+SELECT COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
+SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
+DROP TABLE t1;
+
+--remove_file $MYSQLD_TMPDIR/t1.cfg
+--remove_file $MYSQLD_TMPDIR/t1.ibd
+
+SET GLOBAL innodb_file_per_table = 1;
+SELECT @@innodb_file_per_table;
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SELECT @@innodb_file_format;
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+
+# Try importing when tablespace already exists
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB;
+
+INSERT INTO t1(c2) VALUES(1);
+--error ER_TABLESPACE_EXISTS
+ALTER TABLE t1 IMPORT TABLESPACE;
+SELECT * FROM t1;
+DROP TABLE t1;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+--list_files $MYSQLD_DATADIR/test
+
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+
+--list_files $MYSQLD_DATADIR/test
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+--list_files $MYSQLD_DATADIR/test
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+SELECT COUNT(*) FROM t1;
+
+DROP TABLE t1;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+# Insert some more records to move the LSN forward and then drop the
+# table and restore
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+--list_files $MYSQLD_DATADIR/test
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+--list_files $MYSQLD_DATADIR/test
+UNLOCK TABLES;
+
+--list_files $MYSQLD_DATADIR/test
+
+# Move the LSN forward
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+--list_files $MYSQLD_DATADIR/test
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+SELECT COUNT(*) FROM t1;
+
+DROP TABLE t1;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+# Insert some more records to move the LSN forward and then drop the
+# table and restore, this time the table has a secondary index too.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX(c2)) ENGINE=InnoDB;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+--list_files $MYSQLD_DATADIR/test
+UNLOCK TABLES;
+
+# Move the LSN forward
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX(c2)) ENGINE=InnoDB;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+
+DROP TABLE t1;
+
+# Export/import on the same instance, with --innodb-file-per-table=1
+# Insert some more records to move the LSN forward and then drop the
+# table and restore, this time the table has a secondary index too.
+# Rename the index on the create so that the IMPORT fails, drop index
+# Create with proper name and then do an IMPORT.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+SELECT COUNT(*) FROM t1 WHERE c2 = 1;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+UNLOCK TABLES;
+
+# Move the LSN forward
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX x(c2)) ENGINE=InnoDB;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+# This is really a name mismatch error, need better error codes.
+-- error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+ALTER TABLE t1 DROP INDEX x;
+ALTER TABLE t1 ADD INDEX idx(c2);
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+#
+# Export/import on the same instance, with --innodb-file-per-table=0
+# This should fail because it is not supported
+SET GLOBAL innodb_file_per_table = 0;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+SELECT COUNT(*) FROM t1;
+
+SHOW CREATE TABLE t1;
+
+# This should fail, InnoDB should return a warning
+FLUSH TABLES t1 FOR EXPORT;
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+#
+# Tests that check for schema mismatch during IMPORT
+#
+
+SET GLOBAL innodb_file_per_table = 1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+# Table without the secondary index
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT) ENGINE=InnoDB;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+# This should fail because of a missing secondary index
+-- error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# Table with an additional column
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT,
+ c3 INT, INDEX idx(c2)) ENGINE=InnoDB;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+# This should fail because the table has an additional column
+-- error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# Change the column type of c2
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 BIGINT, INDEX idx(c2)) ENGINE=InnoDB;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+# This should fail because c2 is now a BIGINT and not INT
+-- error ER_TABLE_SCHEMA_MISMATCH
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# This should be OK.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+#
+# EXPORT ROW_FORMAT=REDUNDANT
+#
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# This should be OK.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+#
+# EXPORT ROW_FORMAT=COMPACT
+#
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# This should be OK.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+#
+# EXPORT ROW_FORMAT=DYNAMIC
+#
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# This should be OK.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+#
+# EXPORT ROW_FORMAT=COMPRESSED
+#
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+
+INSERT INTO t1(c2) VALUES(1);
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+INSERT INTO t1(c2) SELECT c2 FROM t1;
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+FLUSH TABLES t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespaces("test", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB
+ ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+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;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_unlink_tablespace("test", "t1");
+EOF
+
+DROP TABLE t1;
+
+# This should be OK.
+CREATE TABLE t1(
+ c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_discard_tablespaces("test", "t1");
+ib_restore_tablespaces("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+CHECK TABLE t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_cleanup("test", "t1");
+EOF
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+call mtr.add_suppression("Got error -1 when reading table '.*'");
+call mtr.add_suppression("InnoDB: Error: tablespace id and flags in file '.*'.*");
+call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded");
+
+# cleanup
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.ibd
+
+eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
+eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
diff --git a/mysql-test/suite/innodb/t/innodb-wl5980-alter.opt b/mysql-test/suite/innodb/t/innodb-wl5980-alter.opt
new file mode 100644
index 00000000000..aa400236153
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-wl5980-alter.opt
@@ -0,0 +1,3 @@
+--loose-innodb-sys-indexes
+--loose-innodb-sys-columns
+--loose-innodb-sys-fields
diff --git a/mysql-test/suite/innodb/t/innodb-wl5980-alter.test b/mysql-test/suite/innodb/t/innodb-wl5980-alter.test
new file mode 100644
index 00000000000..2815a6fc6d7
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-wl5980-alter.test
@@ -0,0 +1,593 @@
+--echo #
+--echo # This is a copy of innodb-alter.test except using remote tablespaces
+--echo # and showing those files.
+--echo #
+
+--source include/have_innodb.inc
+
+--disable_query_log
+# These values can change during the test
+LET $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
+LET $regexp=/FTS_([0-9a-f_]+)([A-Z0-9_]+)\.ibd/FTS_AUX_\2.ibd/;
+
+# Set up some variables
+LET $MYSQL_DATA_DIR = `select @@datadir`;
+LET $data_directory_clause = DATA DIRECTORY='$MYSQL_TMP_DIR/alt_dir';
+--enable_query_log
+
+SET default_storage_engine=InnoDB;
+SET GLOBAL innodb_file_per_table=ON;
+
+SET NAMES utf8;
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval CREATE TABLE t1 (
+ c1 INT PRIMARY KEY, c2 INT DEFAULT 1, ct TEXT,
+ INDEX(c2))
+ENGINE=InnoDB $data_directory_clause;
+
+INSERT INTO t1 SET c1=1;
+
+CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME LIKE 'test/t%';
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+
+CREATE TABLE t1p LIKE t1;
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval CREATE TABLE t1c (c1 INT PRIMARY KEY, c2 INT, c3 INT, INDEX(c2), INDEX(c3),
+ CONSTRAINT t1c2 FOREIGN KEY (c2) REFERENCES t1(c2),
+ CONSTRAINT t1c3 FOREIGN KEY (c3) REFERENCES t1p(c2))
+ENGINE=InnoDB $data_directory_clause;
+
+CREATE TABLE sys_foreign SELECT i.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i
+WHERE FOR_NAME LIKE 'test/t%';
+
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ALTER c2 DROP DEFAULT;
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+-- source suite/innodb/include/innodb_dict.inc
+
+# These should be no-op.
+ALTER TABLE t1 CHANGE c2 c2 INT AFTER c1;
+ALTER TABLE t1 CHANGE c1 c1 INT FIRST;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1 CHANGE C2 c3 INT;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1 CHANGE c3 C INT;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1 CHANGE C Cöŀumň_TWO INT;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS i
+INNER JOIN sys_foreign sf ON i.ID = sf.ID;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+-- error ER_BAD_FIELD_ERROR
+ALTER TABLE t1 CHANGE cöĿǖmň_two c3 INT;
+
+ALTER TABLE t1 CHANGE cÖĿUMŇ_two c3 INT, RENAME TO t3;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t3;
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1c;
+
+# The maximum column name length should be 64 characters.
+--error ER_TOO_LONG_IDENT
+ALTER TABLE t3 CHANGE c3
+`12345678901234567890123456789012345678901234567890123456789012345` INT;
+ALTER TABLE t3 CHANGE c3
+`1234567890123456789012345678901234567890123456789012345678901234` INT;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t3;
+
+# Test the length limit with non-ASCII utf-8 characters.
+--error ER_TOO_LONG_IDENT
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾å€¿å€` INT;
+
+--error ER_TOO_LONG_IDENT
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾å€¿Ã¤` INT;
+
+ALTER TABLE t3 CHANGE
+`1234567890123456789012345678901234567890123456789012345678901234`
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾Ã¤` INT;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+# check that the rename is case-insensitive (note the upper-case ä at end)
+ALTER TABLE t3 CHANGE
+`倀å€å€‚倃倄倅倆倇倈倉倊個倌å€å€Žå€å€å€‘倒倓倔倕倖倗倘候倚倛倜å€å€žå€Ÿå€ å€¡å€¢å€£å€¤å€¥å€¦å€§å€¨å€©å€ªå€«å€¬å€­å€®å€¯å€°å€±å€²å€³å€´å€µå€¶å€·å€¸å€¹å€ºå€»å€¼å€½å€¾Ã„`
+c3 INT;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+# test with 4-byte UTF-8 (should be disallowed)
+--error ER_INVALID_CHARACTER_STRING
+ALTER TABLE t3 CHANGE c3 ðŒ€ðŒðŒ‚ðŒƒðŒ„ðŒ…ðŒ†ðŒ‡ðŒˆðŒ‰ðŒŠðŒ‹ðŒŒðŒðŒŽðŒðŒðŒ‘ðŒ’ðŒ“ðŒ”ðŒ•ðŒ–ðŒ—ðŒ˜ðŒ™ðŒšðŒ›ðŒœ INT;
+
+--error ER_INVALID_CHARACTER_STRING
+ALTER TABLE t3 CHANGE c3 😲 INT;
+
+ALTER TABLE t3 RENAME TO t2;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t2;
+
+RENAME TABLE t2 TO t1;
+
+SELECT st.NAME, i.NAME
+FROM sys_tables st INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES i
+ON i.TABLE_ID=st.TABLE_ID;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+-- source suite/innodb/include/innodb_dict.inc
+
+--error ER_DROP_INDEX_FK
+ALTER TABLE t1 DROP INDEX c2;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1 DROP INDEX c4;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1c DROP FOREIGN KEY c2;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1c DROP FOREIGN KEY t1c2, DROP FOREIGN KEY c2, DROP INDEX c2;
+
+--error ER_DROP_INDEX_FK
+ALTER TABLE t1c DROP INDEX c2;
+
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER TABLE t1c DROP FOREIGN KEY ẗ1C2;
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1c;
+
+SET foreign_key_checks=0;
+DROP TABLE t1p;
+SET foreign_key_checks=1;
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1c;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+-- source suite/innodb/include/innodb_dict.inc
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval CREATE TABLE t1p (c1 INT PRIMARY KEY, c2 INT, INDEX(c2))
+ ENGINE=InnoDB $data_directory_clause;
+
+--error ER_DROP_INDEX_FK
+ALTER TABLE t1c DROP INDEX C2, DROP INDEX C3;
+--error ER_DROP_INDEX_FK
+ALTER TABLE t1c DROP INDEX C3;
+
+SET foreign_key_checks=0;
+ALTER TABLE t1c DROP INDEX C3;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+SET foreign_key_checks=1;
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1c;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1c DROP FOREIGN KEY t1C3;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--list_files $MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1c;
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1c DROP INDEX c2, DROP FOREIGN KEY t1C2;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1c;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+ALTER TABLE t1 DROP INDEX c2, CHANGE c3 c2 INT;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+-- source suite/innodb/include/innodb_dict.inc
+
+CREATE TABLE t1o LIKE t1;
+
+# This will implicitly add a DOC_ID column.
+# The LOCK=NONE should thus fail.
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
+CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
+ALGORITHM=INPLACE, LOCK=NONE;
+
+# Retry with LOCK=EXCLUSIVE.
+ALTER TABLE t1 ADD FULLTEXT INDEX (ct),
+CHANGE c1 pk INT, ALTER c2 SET DEFAULT 42, RENAME TO tt,
+ALGORITHM=INPLACE, LOCK=SHARED;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+# The output should be empty, because index->id was reassigned.
+-- source suite/innodb/include/innodb_dict.inc
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE tt;
+
+# DB_ROW_ID, DB_TRX_ID, DB_ROLL_PTR are reserved InnoDB system column names.
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=COPY;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o CHANGE c1 dB_row_Id INT, ALGORITHM=INPLACE;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o CHANGE c1 DB_TRX_ID INT;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o CHANGE c1 db_roll_ptr INT;
+
+# FTS_DOC_ID is the internal row identifier for full-text search.
+# It should be of type BIGINT UNSIGNED NOT NULL.
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
+ALGORITHM=COPY;
+
+--error ER_INNODB_FT_WRONG_DOCID_COLUMN
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_DOC_ID INT,
+ALGORITHM=INPLACE;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct), CHANGE c1 FTS_Doc_ID INT,
+ALGORITHM=INPLACE;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
+CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+
+CREATE TABLE t1n LIKE t1o;
+
+ALTER TABLE t1n ADD FULLTEXT INDEX(ct);
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=INPLACE;
+--error ER_WRONG_COLUMN_NAME
+ALTER TABLE t1n CHANGE c1 Fts_DOC_ID INT, ALGORITHM=COPY;
+--error ER_BAD_FIELD_ERROR
+ALTER TABLE t1n CHANGE FTS_DOC_ID c11 INT, ALGORITHM=INPLACE;
+ALTER TABLE t1n CHANGE c1 FTS_DOC_ïD INT, ALGORITHM=INPLACE;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+ALTER TABLE t1n CHANGE FTS_DOC_ÃD c1 INT, ALGORITHM=INPLACE;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+ALTER TABLE t1n CHANGE c1 c2 INT, CHANGE c2 ct INT, CHANGE ct c1 TEXT,
+ALGORITHM=INPLACE;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1n;
+ALTER TABLE t1n CHANGE c2 c1 INT, CHANGE ct c2 INT, CHANGE c1 ct TEXT,
+ALGORITHM=COPY;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1n;
+
+--error ER_KEY_COLUMN_DOES_NOT_EXITS
+ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=INPLACE;
+--error ER_KEY_COLUMN_DOES_NOT_EXITS
+ALTER TABLE t1n ADD INDEX(c2), CHANGE c2 c4 INT, ALGORITHM=COPY;
+
+ALTER TABLE t1n ADD INDEX(c4), CHANGE c2 c4 INT, ALGORITHM=INPLACE;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1n;
+ALTER TABLE t1n DROP INDEX c4;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--error ER_DUP_FIELDNAME
+ALTER TABLE t1n CHANGE c4 c1 INT, ADD INDEX(c1), ALGORITHM=INPLACE;
+ALTER TABLE t1n CHANGE c4 c11 INT, ADD INDEX(c11), ALGORITHM=INPLACE;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1n;
+DROP TABLE t1n;
+
+ALTER TABLE t1o MODIFY c1 BIGINT UNSIGNED NOT NULL;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+ALTER TABLE t1o ADD FULLTEXT INDEX(ct),
+CHANGE c1 FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ALGORITHM=INPLACE;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+# This would create a hidden FTS_DOC_ID column, which cannot be done online.
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+LOCK=NONE;
+
+# This should not show duplicates.
+SELECT sc.pos FROM information_schema.innodb_sys_columns sc
+INNER JOIN information_schema.innodb_sys_tables st
+ON sc.TABLE_ID=st.TABLE_ID
+WHERE st.NAME='test/t1o' AND sc.NAME='FTS_DOC_ID';
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1o;
+
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL,
+DROP INDEX ct, LOCK=NONE;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+SHOW CREATE TABLE t1o;
+
+DROP TABLE t1c, t1p, sys_tables, sys_indexes, sys_foreign;
+
+# Check the internal schemata of tt, t1o.
+
+CREATE TABLE sys_tables SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
+WHERE NAME='test/t1o';
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+CREATE TABLE sys_foreign SELECT i.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN i WHERE FOR_NAME='test/t1o';
+
+-- source suite/innodb/include/innodb_dict.inc
+
+# Ensure that there exists no hidden FTS_DOC_ID_INDEX on foo_id.
+
+ALTER TABLE t1o ADD UNIQUE INDEX FTS_DOC_ID_INDEX(foo_id);
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+ALTER TABLE t1o CHANGE foo_id FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ADD FULLTEXT INDEX(ct);
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+
+--error ER_INNODB_FT_WRONG_DOCID_INDEX
+ALTER TABLE t1o CHANGE FTS_DOC_ID foo_id BIGINT UNSIGNED NOT NULL;
+
+DROP TABLE sys_indexes;
+CREATE TABLE sys_indexes SELECT i.* FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES i
+INNER JOIN sys_tables st ON i.TABLE_ID=st.TABLE_ID;
+
+-- source suite/innodb/include/innodb_dict.inc
+
+--echo #
+--echo # Cleanup
+--echo #
+
+DROP TABLE tt, t1o, sys_tables, sys_indexes, sys_foreign;
+
+--echo ### files in MYSQL_DATA_DIR/test
+--replace_regex $regexp
+--list_files $MYSQL_DATA_DIR/test
+--echo ### files in MYSQL_TMP_DIR/alt_dir/test
+--replace_regex $regexp
+--list_files $MYSQL_TMP_DIR/alt_dir/test
+--rmdir $MYSQL_TMP_DIR/alt_dir/test
+--rmdir $MYSQL_TMP_DIR/alt_dir
+
+-- disable_query_log
+eval set global innodb_file_per_table=$innodb_file_per_table_orig;
+call mtr.add_suppression("deleting orphaned .ibd file");
+-- enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb-xa.test b/mysql-test/suite/innodb/t/innodb-xa.test
new file mode 100644
index 00000000000..d94cd75aa14
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-xa.test
@@ -0,0 +1,17 @@
+--source include/have_innodb.inc
+
+--disable_abort_on_error
+xa rollback 'xid2';
+drop table if exists t1;
+create table t1(a int)engine=innodb;
+rollback;
+xa start 'xid2';
+insert into `t1` values (1);
+savepoint `sv1`;
+xa end 'xid2';
+start transaction;
+xa prepare 'xid2';
+release savepoint `sv1`;
+xa commit 'xid2';
+drop table t1;
+
diff --git a/mysql-test/suite/innodb/t/innodb.opt b/mysql-test/suite/innodb/t/innodb.opt
new file mode 100644
index 00000000000..59e43fea231
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb.opt
@@ -0,0 +1 @@
+--innodb-defragment=0 \ No newline at end of file
diff --git a/mysql-test/suite/innodb/t/innodb.test b/mysql-test/suite/innodb/t/innodb.test
index 90d78f12a56..8d1004e679f 100644
--- a/mysql-test/suite/innodb/t/innodb.test
+++ b/mysql-test/suite/innodb/t/innodb.test
@@ -1,5 +1,8 @@
-- source include/have_innodb.inc
+-- source include/have_innodb_16k.inc
+
let $MYSQLD_DATADIR= `select @@datadir`;
+
let collation=utf8_unicode_ci;
--source include/have_collation.inc
@@ -427,21 +430,11 @@ INSERT INTO t1 ( sca_code, cat_code, sca_desc, lan_code, sca_pic, sca_sdesc, sca
select count(*) from t1 where sca_code = 'PD';
select count(*) from t1 where sca_code <= 'PD';
select count(*) from t1 where sca_pic is null;
-# this should be fixed by MySQL (see Bug #51451)
-# now that http://bugs.mysql.com/49838 is fixed the following ALTER does
-# copy the table instead of failing
-# --error ER_WRONG_NAME_FOR_INDEX
alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);
-alter table t1 drop index sca_pic;
-alter table t1 add index sca_pic (cat_code, sca_pic);
select count(*) from t1 where sca_code='PD' and sca_pic is null;
select count(*) from t1 where cat_code='E';
-# this should be fixed by MySQL (see Bug #51451)
---error ER_WRONG_NAME_FOR_INDEX
alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
-alter table t1 drop index sca_pic;
-alter table t1 add index (sca_pic, cat_code);
select count(*) from t1 where sca_code='PD' and sca_pic is null;
select count(*) from t1 where sca_pic >= 'n';
select sca_pic from t1 where sca_pic is null;
@@ -453,7 +446,8 @@ drop table t1;
# Test of opening table twice and timestamps
#
set @a:=now();
-CREATE TABLE t1 (a int not null, b timestamp not null, primary key (a)) engine=innodb;
+CREATE TABLE t1 (a int not null, b timestamp not null default
+current_timestamp on update current_timestamp, primary key (a)) engine=innodb;
insert into t1 (a) values(1),(2),(3);
select t1.a from t1 natural join t1 as t2 where t1.b >= @a order by t1.a;
select a from t1 natural join t1 as t2 where b >= @a order by a;
@@ -1046,7 +1040,7 @@ CREATE TABLE t2 (
INSERT INTO t1 VALUES ('old', 'somevalu'), ('other', 'anyvalue');
INSERT INTO t2 VALUES (10, 'old'), (20, 'other');
--- error ER_FOREIGN_DUPLICATE_KEY
+--error ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO
UPDATE t1 SET c1 = 'other' WHERE c1 = 'old';
DROP TABLE t2,t1;
@@ -1236,16 +1230,6 @@ select distinct concat(a, b) from t1;
drop table t1;
#
-# BUG#7709 test case - Boolean fulltext query against unsupported
-# engines does not fail
-#
-
-CREATE TABLE t1 ( a char(10) ) ENGINE=InnoDB;
---error 1214
-SELECT a FROM t1 WHERE MATCH (a) AGAINST ('test' IN BOOLEAN MODE);
-DROP TABLE t1;
-
-#
# check null values #1
#
@@ -1321,7 +1305,7 @@ drop table t1;
# Test for testable InnoDB status variables. This test
# uses previous ones(pages_created, rows_deleted, ...).
---replace_result 511 ok 512 ok 2047 ok 513 ok 515 ok
+--replace_result 511 ok 512 ok 2047 ok 513 ok 514 ok 515 ok
SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total';
SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_page_size';
SELECT variable_value - @innodb_rows_deleted_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_deleted';
@@ -1557,7 +1541,7 @@ INSERT INTO t2 VALUES(1);
--error 1451
DELETE FROM t1 WHERE id = 1;
---error 1217
+--error 1451
DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=0;
@@ -1927,7 +1911,7 @@ INSERT INTO t1 VALUES ('other', 'anyvalue');
INSERT INTO t2 VALUES ('old');
INSERT INTO t2 VALUES ('other');
---error ER_FOREIGN_DUPLICATE_KEY
+--error ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO
UPDATE t1 SET field1 = 'other' WHERE field2 = 'somevalu';
DROP TABLE t2;
@@ -2305,12 +2289,12 @@ CREATE TABLE t2 (a INT, INDEX(a)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
ALTER TABLE t2 ADD FOREIGN KEY (a) REFERENCES t1 (a) ON DELETE SET NULL;
-# mysqltest first does replace_regex, then replace_result
---replace_regex /'[^']*test\/#sql-[0-9a-f_]*'/'#sql-temporary'/
-# Embedded server doesn't chdir to data directory
---replace_result $MYSQLD_DATADIR ./ master-data/ ''
---error 1025
+# NULL -> NOT NULL only allowed INPLACE if strict sql_mode is on.
+set @old_sql_mode = @@sql_mode;
+set @@sql_mode = 'STRICT_TRANS_TABLES';
+--error ER_FK_COLUMN_NOT_NULL
ALTER TABLE t2 MODIFY a INT NOT NULL;
+set @@sql_mode = @old_sql_mode;
DELETE FROM t1;
DROP TABLE t2,t1;
@@ -2534,3 +2518,74 @@ show status like "handler_read_key";
select f1 from t1;
show status like "handler_read_key";
drop table t1;
+
+#
+# Test handling of writes to TEMPORARY tables for read-only transactions
+#
+CREATE TABLE t1 (c1 INT) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t2 (c1 INT) ENGINE=InnoDB;
+
+# Check that the rollback works
+START TRANSACTION READ ONLY;
+INSERT INTO t2 VALUES(0);
+--error ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION
+INSERT INTO t1 VALUES(0);
+ROLLBACK;
+
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+START TRANSACTION READ ONLY;
+--error ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION
+INSERT INTO t1 VALUES(0);
+INSERT INTO t2 VALUES(1);
+COMMIT;
+
+SET TRANSACTION READ ONLY;
+START TRANSACTION;
+INSERT INTO t2 VALUES(3);
+--error ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION
+INSERT INTO t1 VALUES(0);
+COMMIT;
+
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+DROP TABLE t2;
+
+# This time with some indexes
+CREATE TEMPORARY TABLE t2 (
+ c1 INT AUTO_INCREMENT PRIMARY KEY,
+ c2 INT, INDEX idx(c2)) ENGINE=InnoDB;
+
+SHOW CREATE TABLE t2;
+
+# Check that the rollback works
+START TRANSACTION READ ONLY;
+INSERT INTO t2 VALUES(NULL,1),(NULL,2),(NULL,3);
+--error ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION
+INSERT INTO t1 VALUES(0);
+ROLLBACK;
+
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+START TRANSACTION READ ONLY;
+--error ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION
+INSERT INTO t1 VALUES(0);
+INSERT INTO t2 VALUES(NULL,1),(NULL,2),(NULL,3);
+COMMIT;
+
+SET TRANSACTION READ ONLY;
+START TRANSACTION;
+INSERT INTO t2 VALUES(NULL,1),(NULL,2),(NULL,3);
+--error ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION
+INSERT INTO t1 VALUES(0);
+COMMIT;
+
+SHOW CREATE TABLE t2;
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/innodb/t/innodb_28867993.test b/mysql-test/suite/innodb/t/innodb_28867993.test
new file mode 100644
index 00000000000..61e9578df7b
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_28867993.test
@@ -0,0 +1,12 @@
+#
+# Bug#28867993: POSSIBLE ISSUE WITH MYSQL SERVER RESTART
+#
+
+source include/have_innodb.inc;
+create table t1 (a int) engine=innodb;
+insert t1 values (1),(2);
+create database ib_logfile2;
+source include/restart_mysqld.inc;
+select * from t1;
+drop table t1;
+drop database ib_logfile2;
diff --git a/mysql-test/suite/innodb/t/innodb_blob_truncate.test b/mysql-test/suite/innodb/t/innodb_blob_truncate.test
new file mode 100644
index 00000000000..8a4248c795e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_blob_truncate.test
@@ -0,0 +1,45 @@
+--source include/have_innodb.inc
+--source include/have_innodb_16k.inc
+
+--disable_query_log
+let $innodb_file_format_orig = `SELECT @@innodb_file_format`;
+let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format = `Barracuda`;
+SET GLOBAL innodb_file_per_table = ON;
+
+create table t1(a blob) engine=innodb key_block_size=8;
+delimiter //;
+create function generate_blob()
+ returns varchar(20000)
+ begin
+ declare x varchar(20000) default '';
+ declare i int default 500;
+ while i > 0 do
+ set x = concat(sha1(i), x);
+ set i = i - 1;
+ end while;
+ return x;
+end //
+delimiter ;//
+insert into t1 select generate_blob();
+let $x = `select 20000 - length(a) from t1`;
+if ($x) {
+ echo Blob is truncated by $x bytes.;
+ die It must have been 20000 bytes.;
+}
+truncate t1;
+insert into t1 select generate_blob();
+let $x = `select 20000 - length(a) from t1`;
+if ($x) {
+ echo Blob is truncated by $x bytes.;
+ die It must have been 20000 bytes.;
+}
+drop table t1;
+drop function generate_blob;
+
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig;
+EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_blob_unrecoverable_crash.test b/mysql-test/suite/innodb/t/innodb_blob_unrecoverable_crash.test
new file mode 100644
index 00000000000..dc6d2f6f65c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_blob_unrecoverable_crash.test
@@ -0,0 +1,41 @@
+--source include/not_embedded.inc
+--source include/not_crashrep.inc
+--source include/have_innodb.inc
+
+SET GLOBAL max_allowed_packet = 100*1024*1024;
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: The total blob data length");
+FLUSH TABLES;
+--enable_query_log
+
+--echo # Connection big_packets:
+connect(big_packets,localhost,root,,);
+connection big_packets;
+
+CREATE TABLE t1 (a BIGINT PRIMARY KEY, b LONGBLOB) ENGINE=InnoDB;
+
+# Insert a few rows (it doesn't really matter how many). These transactions
+# are committed once they are acked, so they should not be lost.
+INSERT INTO t1 (a, b) VALUES (1, '1');
+INSERT INTO t1 (a, b) VALUES (2, '2');
+INSERT INTO t1 (a, b) VALUES (3, '3');
+INSERT INTO t1 (a, b) VALUES (4, '4');
+INSERT INTO t1 (a, b) VALUES (5, '5');
+
+# The BLOB insert will fail, and should disappear. However all data committed
+# up to this point should not be lost.
+start transaction;
+--replace_regex /\(> [0-9]*\)/(> ####)/
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO t1 (a, b) VALUES (6, REPEAT('a', 20*1024*1024));
+
+connection default;
+--source include/kill_and_restart_mysqld.inc
+disconnect big_packets;
+
+# We should see (1,2,3,4,5) here.
+SELECT a FROM t1;
+
+# Clean up.
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb_bug11754376.test b/mysql-test/suite/innodb/t/innodb_bug11754376.test
index b740b7e08fe..a7f35c1a960 100644
--- a/mysql-test/suite/innodb/t/innodb_bug11754376.test
+++ b/mysql-test/suite/innodb/t/innodb_bug11754376.test
@@ -12,5 +12,3 @@ CREATE TABLE bug11754376 (c INT) ENGINE=INNODB;
SET SESSION DEBUG_DBUG='+d,test_normalize_table_name_low';
DROP TABLE bug11754376;
-
-SET SESSION DEBUG_DBUG='-d,test_normalize_table_name_low';
diff --git a/mysql-test/suite/innodb/t/innodb_bug11766634.test b/mysql-test/suite/innodb/t/innodb_bug11766634.test
deleted file mode 100644
index f360c4b1ce1..00000000000
--- a/mysql-test/suite/innodb/t/innodb_bug11766634.test
+++ /dev/null
@@ -1,59 +0,0 @@
-# Bug 11766634 59783: InnoDB data grows unexpectedly when inserting,
-# truncating, inserting the same set of rows.
-#
-# Scenario:
-# create table t1. Insert $recs records. check size of ibdata1.
-# drop table t1. create table t1. Insert the same set of $recs
-# records. The size of ibdata1 must not increase.
-#
-
--- source include/not_embedded.inc
--- source include/have_innodb.inc
-
-create table t1 (f1 char(255)) engine innodb;
-let $MYSQLD_DATADIR=`select @@datadir`;
-let IBDATA1=$MYSQLD_DATADIR/ibdata1;
-
-let $recs = 36262;
-
---disable_query_log
-let $c = $recs;
-start transaction;
-while ($c)
-{
- insert into t1 values ('Hello World');
- dec $c;
-}
-commit work;
---enable_query_log
-
-perl;
-my $filesize = -s $ENV{'IBDATA1'};
-my $filename = $ENV{MYSQL_TMP_DIR} . '/innodb_bug11766634.txt';
-open F, '>', $filename or die "open(>$filename): $!";
-print F $filesize;
-EOF
-
-drop table t1;
-create table t1 (f1 char(255)) engine innodb;
-
---disable_query_log
-let $c = $recs;
-start transaction;
-while ($c)
-{
- insert into t1 values ('Hello World');
- dec $c;
-}
-commit work;
---enable_query_log
-
-perl;
-my $filesize = -s $ENV{'IBDATA1'};
-my $filename = $ENV{MYSQL_TMP_DIR} . '/innodb_bug11766634.txt';
-$_=do $filename;
-print $_ == $filesize, "\n";
-EOF
-
-drop table t1;
-
diff --git a/mysql-test/suite/innodb/t/innodb_bug12400341.test b/mysql-test/suite/innodb/t/innodb_bug12400341.test
index 68daad46145..235ece04a8c 100644
--- a/mysql-test/suite/innodb/t/innodb_bug12400341.test
+++ b/mysql-test/suite/innodb/t/innodb_bug12400341.test
@@ -1,6 +1,7 @@
# Test for bug #12400341: INNODB CAN LEAVE ORPHAN IBD FILES AROUND
-- source include/have_innodb.inc
+-- source include/have_innodb_16k.inc
if (`select count(*)=0 from information_schema.global_variables where variable_name = 'INNODB_TRX_RSEG_N_SLOTS_DEBUG'`)
{
@@ -13,13 +14,19 @@ if (`select count(*)=0 from information_schema.global_variables where variable_n
# undo slots of the previous test might exist still
--source include/not_windows.inc
-call mtr.add_suppression("InnoDB: Warning: cannot find a free slot for an undo log. Do you have too");
+# Previous undo slots cause unnecessary failures
+--source include/not_windows.inc
+
+call mtr.add_suppression("InnoDB: Warning: cannot find a free slot for an undo log. Do you have too*");
--disable_query_log
set @old_innodb_trx_rseg_n_slots_debug = @@innodb_trx_rseg_n_slots_debug;
set global innodb_trx_rseg_n_slots_debug = 32;
--enable_query_log
+set @old_innodb_undo_logs = @@innodb_undo_logs;
+set global innodb_undo_logs=1;
+
show variables like "max_connections";
show variables like "innodb_thread_concurrency";
show variables like "innodb_file_per_table";
@@ -104,6 +111,8 @@ while ($c)
#
drop database mysqltest;
+set global innodb_undo_logs = @old_innodb_undo_logs;
+
--disable_query_log
set global innodb_trx_rseg_n_slots_debug = @old_innodb_trx_rseg_n_slots_debug;
--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_bug12661768.test b/mysql-test/suite/innodb/t/innodb_bug12661768.test
index 01549a7e9e9..b1ba1b44917 100644
--- a/mysql-test/suite/innodb/t/innodb_bug12661768.test
+++ b/mysql-test/suite/innodb/t/innodb_bug12661768.test
@@ -44,7 +44,7 @@ SET SESSION foreign_key_checks=1;
-- enable_result_log
--- error ER_FOREIGN_DUPLICATE_KEY
+-- error ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO
eval UPDATE IGNORE `$t1_name` SET a = 3;
eval DROP TABLE `$t2_name`, `$t1_name`;
diff --git a/mysql-test/suite/innodb/t/innodb_bug12902967.test b/mysql-test/suite/innodb/t/innodb_bug12902967.test
index 1183c4ceff6..8e1b8199524 100644
--- a/mysql-test/suite/innodb/t/innodb_bug12902967.test
+++ b/mysql-test/suite/innodb/t/innodb_bug12902967.test
@@ -24,7 +24,7 @@ alter table t1 add constraint c1 foreign key (f1) references t1(f1);
perl;
$file = $ENV{error_log};
open (FILE, '<', $file) or die "can't open(< $file): $!\n";
-print ((grep { /^InnoDB:/ and not /aio/i } <FILE>)[-2..-1]);
+print ((grep { /^InnoDB:/ and not /aio/i and not /io_setup\(\) attempt [0-9]+ failed/ } <FILE>)[-2..-1]);
EOF
drop table t1;
diff --git a/mysql-test/suite/innodb/t/innodb_bug13510739.test b/mysql-test/suite/innodb/t/innodb_bug13510739.test
index f10bcd8e272..d2193996d68 100644
--- a/mysql-test/suite/innodb/t/innodb_bug13510739.test
+++ b/mysql-test/suite/innodb/t/innodb_bug13510739.test
@@ -2,6 +2,10 @@
# Bug#13510739 63775: SERVER CRASH ON HANDLER READ NEXT AFTER DELETE RECORD.
#
+if (`select plugin_auth_version < "5.6.15" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB before 5.6.15
+}
-- source include/have_innodb.inc
CREATE TABLE bug13510739 (c INTEGER NOT NULL, PRIMARY KEY (c)) ENGINE=INNODB;
diff --git a/mysql-test/suite/innodb/t/innodb_bug13635833.test b/mysql-test/suite/innodb/t/innodb_bug13635833.test
deleted file mode 100644
index 47185b9d526..00000000000
--- a/mysql-test/suite/innodb/t/innodb_bug13635833.test
+++ /dev/null
@@ -1,64 +0,0 @@
---source include/have_innodb.inc
---source include/have_debug_sync.inc
---source include/not_embedded.inc
-
-SET DEBUG_SYNC='reset';
-
-# Save the initial number of concurrent sessions
---source include/count_sessions.inc
-
-create table t1 (f1 integer, key k1 (f1)) engine=innodb;
-create table t2 (f1 int, f2 int, key(f1), key(f2)) engine=innodb;
-create table t3 (f2 int, key(f2)) engine=innodb;
-
-insert into t1 values (10);
-insert into t2 values (10, 20);
-insert into t3 values (20);
-
-alter table t2 add constraint c1 foreign key (f1)
- references t1(f1) on update cascade;
-
-show create table t1;
-show create table t2;
-show create table t3;
-
-SET DEBUG_SYNC='innodb_rename_table_ready SIGNAL update_can_proceed
- WAIT_FOR dict_unfreeze';
-
---send
-alter table t2 add constraint z1 foreign key (f2)
- references t3(f2) on update cascade;
-
-connect (thr2,localhost,root,,);
-connection thr2;
-
-SET DEBUG_SYNC='innodb_row_update_for_mysql_begin
- WAIT_FOR update_can_proceed';
-SET DEBUG_SYNC='innodb_dml_cascade_dict_unfreeze SIGNAL dict_unfreeze
- WAIT_FOR foreign_free_cache';
-
---send
-update ignore t1 set f1 = 20;
-
-connection default;
---replace_regex /'[^']*test\/#sql2-[0-9a-f-]*'/'#sql2-temporary'/
---error ER_ERROR_ON_RENAME
-reap;
-
-SET DEBUG_SYNC='now SIGNAL foreign_free_cache';
-
-connection thr2;
-reap;
-disconnect thr2;
---source include/wait_until_disconnected.inc
-
-connection default;
-
-drop table t2;
-drop table t1;
-drop table t3;
-
-# Wait till we reached the initial number of concurrent sessions
---source include/wait_until_count_sessions.inc
-
-SET DEBUG_SYNC='reset';
diff --git a/mysql-test/suite/innodb/t/innodb_bug14147491.test b/mysql-test/suite/innodb/t/innodb_bug14147491.test
index 6f0bfca8e1d..c21515e7d05 100644
--- a/mysql-test/suite/innodb/t/innodb_bug14147491.test
+++ b/mysql-test/suite/innodb/t/innodb_bug14147491.test
@@ -2,24 +2,23 @@
# Test opening a corrupted table.
#
-# Don't test under valgrind, memory leaks will occur
-source include/not_valgrind.inc;
-# Avoid CrashReporter popup on Mac
-source include/not_crashrep.inc;
+-- source include/not_encrypted.inc
+
+call mtr.add_suppression("InnoDB: Table \"test\".\"t1\" is corrupted. Please drop the table and recreate.");
+call mtr.add_suppression("InnoDB: Cannot open table test/t1 from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.");
+call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed file read of tablespace test/t1 page \[page id: space=[0-9]+, page number=[0-9]+\]. You may have to recover from a backup.");
+
# Don't test under embedded
source include/not_embedded.inc;
# Require InnoDB
source include/have_innodb.inc;
-# Require Debug for SET DEBUG
-source include/have_debug.inc;
-# Test could open crash reporter on Windows
-# if compiler set up
-source include/not_windows.inc;
-
-CALL mtr.add_suppression("InnoDB: Error: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts");
-CALL mtr.add_suppression("InnoDB: Warning: database page corruption or a failed");
--echo # Create and populate the table to be corrupted
+
+--disable_warnings
+set global innodb_file_per_table=ON;
+--enable_warnings
+
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB;
INSERT INTO t1 (b) VALUES ('corrupt me');
--disable_query_log
@@ -35,20 +34,7 @@ INSERT INTO t1 (b) VALUES ('corrupt me');
let $MYSQLD_DATADIR=`select @@datadir`;
let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
---echo # Write file to make mysql-test-run.pl expect the "crash", but don't
---echo # start it until it's told to
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-
---echo # We give 30 seconds to do a clean shutdown because we do not want
---echo # to redo apply the pages of t1.ibd at the time of recovery.
---echo # We want SQL to initiate the first access to t1.ibd.
-shutdown_server 30;
-
---echo # Wait until disconnected.
---source include/wait_until_disconnected.inc
-
---echo # Backup the t1.ibd before corrupting
---copy_file $t1_IBD $MYSQLD_DATADIR/test/t1.ibd.backup
+--source include/shutdown_mysqld.inc
--echo # Corrupt the table
@@ -77,38 +63,18 @@ while ($len = sysread IBD_FILE, $chunk, 1024)
close IBD_FILE;
EOF
---echo # Write file to make mysql-test-run.pl start up the server again
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-SET DEBUG_DBUG = '+d,innodb_page_corruption_retries';
+--source include/start_mysqld.inc
---echo # Write file to make mysql-test-run.pl expect the "crash", but don't
---echo # start it until it's told to
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--echo # Now t1 is corrupted but we should not crash
---echo # The below SELECT query will crash the server because some pages
---echo # on the disk are corrupted
---error 2013
+--error 1712,1932
SELECT * FROM t1;
-# The below mtr command --remove_file fails randomly on windows with
-# error number 13 which is permission denied on nix systems. We sleep
-# 1 second hoping that any process holding lock on t1.ibd is released.
-SLEEP 1;
-
---echo # Restore the original t1.ibd
---remove_file $MYSQLD_DATADIR/test/t1.ibd
---move_file $MYSQLD_DATADIR/test/t1.ibd.backup $MYSQLD_DATADIR/test/t1.ibd
-
---echo # Write file to make mysql-test-run.pl start up the server again
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
---enable_reconnect
---source include/wait_until_connected_again.inc
+--error 1034,1712,1932
+INSERT INTO t1(b) VALUES('abcdef');
-# Note SET DEBUG = '-d,innodb_page_corruption_retries' is not required
-# because the session information is lost after server restart
+--error 1712,1932
+UPDATE t1 set b = 'deadbeef' where a = 1;
---echo # Cleanup
+--echo # Cleanup, this must be possible
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb_bug14676111.opt b/mysql-test/suite/innodb/t/innodb_bug14676111.opt
new file mode 100644
index 00000000000..77945d1e4bb
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug14676111.opt
@@ -0,0 +1 @@
+--innodb-sys-tablestats=1 \ No newline at end of file
diff --git a/mysql-test/suite/innodb/t/innodb_bug14676111.test b/mysql-test/suite/innodb/t/innodb_bug14676111.test
index 10eb6a3b13c..3abc574a8d2 100644
--- a/mysql-test/suite/innodb/t/innodb_bug14676111.test
+++ b/mysql-test/suite/innodb/t/innodb_bug14676111.test
@@ -6,7 +6,7 @@
set @old_innodb_limit_optimistic_insert_debug = @@innodb_limit_optimistic_insert_debug;
-CREATE TABLE t1 (a int not null primary key) engine=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB STATS_PERSISTENT=0;
#
# make 4 leveled straight tree
@@ -45,7 +45,7 @@ insert into t1 values (2);
--connection default
analyze table t1;
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
--connection con4
rollback;
@@ -60,7 +60,7 @@ rollback;
#(1, 2) (3) (5)
analyze table t1;
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
--connection con5
rollback;
@@ -75,7 +75,7 @@ rollback;
#(1, 2) (3) <- merged next
analyze table t1;
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
#
# cause merge at level 0
@@ -95,7 +95,7 @@ rollback;
# (1, 3)
analyze table t1;
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
begin;
insert into t1 values (2);
@@ -110,7 +110,7 @@ rollback;
# (1, 3)
analyze table t1;
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
begin;
insert into t1 values (2);
@@ -122,7 +122,7 @@ rollback;
# (1, 3)
analyze table t1;
-select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
+select CLUST_INDEX_SIZE from information_schema.INNODB_SYS_TABLESTATS where NAME = 'test/t1';
drop table t1;
diff --git a/mysql-test/suite/innodb/t/innodb_bug21704.test b/mysql-test/suite/innodb/t/innodb_bug21704.test
index 67d76587819..82e7c81d0e4 100644
--- a/mysql-test/suite/innodb/t/innodb_bug21704.test
+++ b/mysql-test/suite/innodb/t/innodb_bug21704.test
@@ -1,4 +1,5 @@
---source include/have_innodb.inc
+-- source include/have_innodb.inc
+
--echo #
--echo # Bug#21704: Renaming column does not update FK definition.
--echo #
@@ -8,12 +9,6 @@
--echo # foreign key (either in the referencing or referenced table).
--echo
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
---enable_warnings
-
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ROW_FORMAT=COMPACT ENGINE=INNODB;
CREATE TABLE t2 (a INT PRIMARY KEY, b INT,
@@ -32,64 +27,50 @@ INSERT INTO t3 VALUES (1,1,1),(2,2,2),(3,3,3);
--echo # Test renaming the column in the referenced table.
--echo
-# mysqltest first does replace_regex, then replace_result
---replace_regex /'[^']*test\/#sql-[0-9a-f_]*'/'#sql-temporary'/
-# Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
---error ER_ERROR_ON_RENAME
-ALTER TABLE t1 CHANGE a c INT;
+--enable_info
+ALTER TABLE t1 CHANGE a e INT;
--echo # Ensure that online column rename works.
---enable_info
ALTER TABLE t1 CHANGE b c INT;
---disable_info
--echo
--echo # Test renaming the column in the referencing table
--echo
-# mysqltest first does replace_regex, then replace_result
---replace_regex /'[^']*test\/#sql-[0-9a-f_]*'/'#sql-temporary'/
-# Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
---error ER_ERROR_ON_RENAME
-ALTER TABLE t2 CHANGE a c INT;
+ALTER TABLE t2 CHANGE a z INT;
--echo # Ensure that online column rename works.
---enable_info
ALTER TABLE t2 CHANGE b c INT;
---disable_info
--echo
--echo # Test with self-referential constraints
--echo
-# mysqltest first does replace_regex, then replace_result
---replace_regex /'[^']*test\/#sql-[0-9a-f_]*'/'#sql-temporary'/
-# Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
---error ER_ERROR_ON_RENAME
-ALTER TABLE t3 CHANGE a d INT;
+ALTER TABLE t3 CHANGE a f INT;
-# mysqltest first does replace_regex, then replace_result
---replace_regex /'[^']*test\/#sql-[0-9a-f_]*'/'#sql-temporary'/
-# Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
---error ER_ERROR_ON_RENAME
-ALTER TABLE t3 CHANGE b d INT;
+ALTER TABLE t3 CHANGE b g INT;
--echo # Ensure that online column rename works.
---enable_info
ALTER TABLE t3 CHANGE c d INT;
---disable_info
--echo
--echo # Cleanup.
--echo
+--disable_info
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+SHOW CREATE TABLE t3;
+
+SELECT f.*, c.*
+FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS c
+INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FOREIGN f
+ON c.ID=f.ID
+WHERE FOR_NAME LIKE 'test/t%';
+
DROP TABLE t3;
DROP TABLE t2;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb_bug27216817.test b/mysql-test/suite/innodb/t/innodb_bug27216817.test
deleted file mode 100644
index a93932b4a04..00000000000
--- a/mysql-test/suite/innodb/t/innodb_bug27216817.test
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# BUG#27216817: INNODB: FAILING ASSERTION:
-# PREBUILT->TABLE->N_MYSQL_HANDLES_OPENED == 1
-#
-
-source include/have_innodb.inc;
-create table t1 (a int not null, b int not null) engine=innodb;
-insert t1 values (1,2),(3,4);
-
-lock table t1 write, t1 tr read;
-flush status;
-alter table t1 add primary key (b);
-show status like 'Handler_read_rnd_next';
-unlock tables;
-alter table t1 drop primary key;
-
-lock table t1 write;
-flush status;
-alter table t1 add primary key (b);
-show status like 'Handler_read_rnd_next';
-unlock tables;
-alter table t1 drop primary key;
-
-flush status;
-alter table t1 add primary key (b);
-show status like 'Handler_read_rnd_next';
-
-drop table t1;
diff --git a/mysql-test/suite/innodb/t/innodb_bug34053.test b/mysql-test/suite/innodb/t/innodb_bug34053.test
index b935e45c06d..56c26acb632 100644
--- a/mysql-test/suite/innodb/t/innodb_bug34053.test
+++ b/mysql-test/suite/innodb/t/innodb_bug34053.test
@@ -21,8 +21,11 @@ FLUSH PRIVILEGES;
-- connection con1
-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
--- error ER_SPECIFIC_ACCESS_DENIED_ERROR
+# this should only fail with UNIV_MEM_DEBUG
CREATE TABLE innodb_mem_validate (a INT) ENGINE=INNODB;
+DROP TABLE innodb_mem_validate;
+CREATE TABLE innodb_sql (a INT) ENGINE=INNODB;
+DROP TABLE innodb_sql;
CREATE TABLE innodb_monitorx (a INT) ENGINE=INNODB;
DROP TABLE innodb_monitorx;
CREATE TABLE innodb_monito (a INT) ENGINE=INNODB;
@@ -39,12 +42,10 @@ CREATE TABLE innodb_mem_validate (a INT) ENGINE=INNODB;
-- connection con1
-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
DROP TABLE innodb_monitor;
--- error ER_SPECIFIC_ACCESS_DENIED_ERROR
DROP TABLE innodb_mem_validate;
-- connection default
DROP TABLE innodb_monitor;
-DROP TABLE innodb_mem_validate;
DROP USER 'shane'@'localhost';
-- disconnect con1
diff --git a/mysql-test/suite/innodb/t/innodb_bug34300.test b/mysql-test/suite/innodb/t/innodb_bug34300.test
index 11682ad7828..13c708b48d6 100644
--- a/mysql-test/suite/innodb/t/innodb_bug34300.test
+++ b/mysql-test/suite/innodb/t/innodb_bug34300.test
@@ -1,31 +1,37 @@
---source include/have_innodb.inc
#
# Bug#34300 Tinyblob & tinytext fields currupted after export/import and alter in 5.1
# http://bugs.mysql.com/34300
#
+-- source include/have_innodb.inc
+
+if (`select plugin_auth_version <= "5.6.22-MariaDB-72.0" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB as of 5.6.22-MariaDB-72.0 or earlier
+}
+
-- disable_query_log
-- disable_result_log
-call mtr.add_suppression("InnoDB: Warning: a long semaphore wait:");
-call mtr.add_suppression("the age of the last checkpoint is");
+call mtr.add_suppression("InnoDB: The total blob data length");
# set packet size and reconnect
let $max_packet=`select @@global.max_allowed_packet`;
SET @@global.max_allowed_packet=16777216;
--connect (newconn, localhost, root,,)
-DROP TABLE IF EXISTS bug34300;
+--enable_result_log
+
CREATE TABLE bug34300 (
f4 TINYTEXT,
f6 MEDIUMTEXT,
f8 TINYBLOB
) ENGINE=InnoDB;
+--replace_regex /\(> [0-9]*\)/(> ####)/
+--error ER_TOO_BIG_ROWSIZE
INSERT INTO bug34300 VALUES ('xxx', repeat('a', 8459264), 'zzz');
--- enable_result_log
-
SELECT f4, f8 FROM bug34300;
ALTER TABLE bug34300 ADD COLUMN (f10 INT);
diff --git a/mysql-test/suite/innodb/t/innodb_bug47167.test b/mysql-test/suite/innodb/t/innodb_bug47167.test
index 505c21547b2..88adfc753a9 100644
--- a/mysql-test/suite/innodb/t/innodb_bug47167.test
+++ b/mysql-test/suite/innodb/t/innodb_bug47167.test
@@ -44,3 +44,8 @@ set global innodb_file_format_max = on;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_file_format_max = off;
--enable_warnings
+
+# Put the saved value back to 'innodb_file_format_max'
+--disable_query_log
+set global innodb_file_format_max = @old_innodb_file_format_max;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_bug53592.test b/mysql-test/suite/innodb/t/innodb_bug53592.test
index 2f901d7eb99..6c0f5a8422d 100644
--- a/mysql-test/suite/innodb/t/innodb_bug53592.test
+++ b/mysql-test/suite/innodb/t/innodb_bug53592.test
@@ -1,8 +1,8 @@
---source include/have_innodb.inc
# Testcase for Bug #53592 - "crash replacing duplicates into
# table after fast alter table added unique key". The fix is to make
# sure index number lookup should go through "index translation table".
+--source include/have_innodb.inc
# Use FIC for index creation
set old_alter_table=0;
@@ -75,7 +75,7 @@ INSERT INTO bug53592_1 VALUES (3, 4);
INSERT INTO bug53592_2 VALUES (1);
INSERT INTO bug53592_2 VALUES (3);
---error ER_FOREIGN_DUPLICATE_KEY
+--error ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO
UPDATE bug53592_1 SET col1 = 3 WHERE col2 = 2;
drop table bug53592_2;
diff --git a/mysql-test/suite/innodb/t/innodb_bug53756.test b/mysql-test/suite/innodb/t/innodb_bug53756.test
index c298c945434..a9345440baa 100644
--- a/mysql-test/suite/innodb/t/innodb_bug53756.test
+++ b/mysql-test/suite/innodb/t/innodb_bug53756.test
@@ -6,24 +6,8 @@
# metadata in the function dict_load_table_on_id() during crash recovery.
#
-# innobackup needs to connect to the server. Not supported in embedded.
+# The embedded server test does not support restarting.
--source include/not_embedded.inc
-#
-# This test case needs to crash the server. Needs a debug server.
---source include/have_debug.inc
-#
-# Don't test this under valgrind, memory leaks will occur.
---source include/not_valgrind.inc
-
-# Avoid CrashReporter popup on Mac
---source include/not_crashrep.inc
-
-#
-# Precautionary clean up.
-#
---disable_warnings
-DROP TABLE IF EXISTS bug_53756 ;
---enable_warnings
#
# Create test data.
@@ -34,9 +18,6 @@ INSERT INTO bug_53756 VALUES(1, 11), (2, 22), (3, 33), (4, 44);
--echo
--echo # Select a less restrictive isolation level.
-# Don't use user variables. They won't survive server crash.
---let $global_isolation= `SELECT @@global.tx_isolation`
---let $session_isolation= `SELECT @@session.tx_isolation`
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
COMMIT;
@@ -121,49 +102,16 @@ ROLLBACK;
--connection default
SELECT * FROM bug_53756;
---echo
---echo # connection default
---connection default
---echo #
---echo # Crash server.
-#
-# Write file to make mysql-test-run.pl expect the "crash", but don't start
-# it until it's told to
---exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-#
START TRANSACTION;
INSERT INTO bug_53756 VALUES (666,666);
-#
-# Request a crash on next execution of commit.
-SET SESSION debug_dbug="+d,crash_commit_before";
-#
-# Write file to make mysql-test-run.pl start up the server again
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-#
-# Execute the statement that causes the crash.
---error 2013
-COMMIT;
---echo
---echo #
---echo # disconnect con1, con2, con3, con4, con5, con6.
+
+--source include/kill_and_restart_mysqld.inc
--disconnect con1
--disconnect con2
--disconnect con3
--disconnect con4
--disconnect con5
--disconnect con6
---echo #
---echo # Restart server.
-#
-# Turn on reconnect
---enable_reconnect
-#
-# Call script that will poll the server waiting for it to be back online again
---source include/wait_until_connected_again.inc
-#
-# Turn off reconnect again
---disable_reconnect
---echo
--echo #
--echo # Select recovered data.
@@ -174,12 +122,4 @@ COMMIT;
--echo # Delete of row 2 and insert of row 5 should be rolled back
SELECT * FROM bug_53756;
---echo
---echo # Clean up.
DROP TABLE bug_53756;
-
---disable_query_log
-eval SET GLOBAL tx_isolation= '$global_isolation';
-eval SET SESSION tx_isolation= '$session_isolation';
---enable_query_log
-
diff --git a/mysql-test/suite/innodb/t/innodb_bug54044.test b/mysql-test/suite/innodb/t/innodb_bug54044.test
index e79e34b8e59..cfc6f3c3f0a 100644
--- a/mysql-test/suite/innodb/t/innodb_bug54044.test
+++ b/mysql-test/suite/innodb/t/innodb_bug54044.test
@@ -1,7 +1,7 @@
---source include/have_innodb.inc
# This is the test for bug #54044. Special handle MYSQL_TYPE_NULL type
# during create table, so it will not trigger assertion failure.
+--source include/have_innodb.inc
# This 'create table' operation no longer uses the NULL datatype.
diff --git a/mysql-test/suite/innodb/t/innodb_bug56947.test b/mysql-test/suite/innodb/t/innodb_bug56947.test
index b6feb239314..84c5e70e1b5 100644
--- a/mysql-test/suite/innodb/t/innodb_bug56947.test
+++ b/mysql-test/suite/innodb/t/innodb_bug56947.test
@@ -1,15 +1,17 @@
---source include/have_innodb.inc
#
# Bug #56947 valgrind reports a memory leak in innodb-plugin.innodb-index
#
-SET @old_innodb_file_per_table=@@innodb_file_per_table;
-# avoid a message about filed *.ibd file creation in the error log
+-- source include/have_innodb.inc
+-- source include/have_debug.inc
+
SET GLOBAL innodb_file_per_table=0;
create table bug56947(a int not null) engine = innodb;
-CREATE TABLE `bug56947#1`(a int) ENGINE=InnoDB;
---error 156
+
+SET DEBUG_DBUG='+d,ib_rebuild_cannot_rename';
+--replace_regex /"[^"]*"/"xxx"/
+--error ER_GET_ERRNO
alter table bug56947 add unique index (a);
-drop table `bug56947#1`;
+check table bug56947;
+
drop table bug56947;
---disable_query_log
-SET GLOBAL innodb_file_per_table=@old_innodb_file_per_table;
+SET @@global.innodb_file_per_table=DEFAULT;
diff --git a/mysql-test/suite/innodb/t/innodb_bug57904.test b/mysql-test/suite/innodb/t/innodb_bug57904.test
index 48dc5254b26..97e7ec93d87 100644
--- a/mysql-test/suite/innodb/t/innodb_bug57904.test
+++ b/mysql-test/suite/innodb/t/innodb_bug57904.test
@@ -18,7 +18,8 @@ CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT,
REFERENCES customer(id)
) ENGINE=INNODB;
-query_vertical SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+query_vertical SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
+WHERE table_name = 'product_order';
DROP TABLE product_order;
DROP TABLE product;
diff --git a/mysql-test/suite/innodb/t/innodb_bug59641.test b/mysql-test/suite/innodb/t/innodb_bug59641.test
index a8d35cd1029..5f7528cf01a 100644
--- a/mysql-test/suite/innodb/t/innodb_bug59641.test
+++ b/mysql-test/suite/innodb/t/innodb_bug59641.test
@@ -2,11 +2,11 @@
# Bug #59641 Prepared XA transaction causes shutdown hang after a crash
-- source include/not_embedded.inc
-# The server would issue this warning on restart.
-call mtr.add_suppression("Found 3 prepared XA transactions");
-# Close tables used by other tests (to not get crashed myisam tables)
-flush tables;
+--disable_query_log
+call mtr.add_suppression("Found 3 prepared XA transactions");
+FLUSH TABLES;
+--enable_query_log
CREATE TABLE t(a INT PRIMARY KEY, b INT)ENGINE=InnoDB;
INSERT INTO t VALUES(2,2),(4,4),(8,8),(16,16),(32,32);
@@ -17,7 +17,6 @@ XA END '123';
XA PREPARE '123';
CONNECT (con1,localhost,root,,);
-CONNECTION con1;
XA START '456';
INSERT INTO t VALUES(3,47),(5,67);
@@ -26,7 +25,6 @@ XA END '456';
XA PREPARE '456';
CONNECT (con2,localhost,root,,);
-CONNECTION con2;
XA START '789';
UPDATE t SET b=4*a WHERE a=32;
@@ -34,34 +32,18 @@ XA END '789';
XA PREPARE '789';
CONNECT (con3,localhost,root,,);
-CONNECTION con3;
-# Kill the server without sending a shutdown command
--- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--- shutdown_server 0
--- source include/wait_until_disconnected.inc
-
-# Restart the server.
--- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--- enable_reconnect
--- source include/wait_until_connected_again.inc
+--source include/kill_and_restart_mysqld.inc
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM t;
COMMIT;
-# Shut down the server. This would hang because of the bug.
--- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--- shutdown_server
--- source include/wait_until_disconnected.inc
-
-# Restart the server.
--- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--- enable_reconnect
--- source include/wait_until_connected_again.inc
+--source include/restart_mysqld.inc
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM t;
COMMIT;
+--sorted_result
XA RECOVER;
XA ROLLBACK '123';
XA ROLLBACK '456';
diff --git a/mysql-test/suite/innodb/t/innodb_bug60049.test b/mysql-test/suite/innodb/t/innodb_bug60049.test
index 19c7fad484d..b1d56d16a5e 100644
--- a/mysql-test/suite/innodb/t/innodb_bug60049.test
+++ b/mysql-test/suite/innodb/t/innodb_bug60049.test
@@ -1,16 +1,23 @@
---source include/have_innodb.inc
# Bug #60049 Verify that purge leaves no garbage in unique secondary indexes
# This test requires a fresh server start-up and a slow shutdown.
# This was a suspected bug (not a bug).
-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+-- source include/have_innodb_16k.inc
+-- source include/not_encrypted.inc
-#
-# This test will not work if we don't do full shutdown of innodb
-#
-set @@global.innodb_fast_shutdown=0;
+call mtr.add_suppression('InnoDB: Error: Table "mysql"."innodb_(table|index)_stats" not found');
+call mtr.add_suppression('InnoDB: Error: Fetch of persistent statistics requested');
-CREATE TABLE t(a INT)ENGINE=InnoDB;
+-- disable_query_log
+let $create1 = query_get_value(SHOW CREATE TABLE mysql.innodb_table_stats, Create Table, 1);
+let $create2 = query_get_value(SHOW CREATE TABLE mysql.innodb_index_stats, Create Table, 1);
+DROP TABLE mysql.innodb_index_stats;
+DROP TABLE mysql.innodb_table_stats;
+-- enable_query_log
+
+CREATE TABLE t(a INT)ENGINE=InnoDB STATS_PERSISTENT=0;
RENAME TABLE t TO u;
DROP TABLE u;
SELECT @@innodb_fast_shutdown;
@@ -42,3 +49,8 @@ EOF
-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- enable_reconnect
-- source include/wait_until_connected_again.inc
+
+-- disable_query_log
+USE mysql;
+eval $create1;
+eval $create2;
diff --git a/mysql-test/suite/innodb/t/innodb_corrupt_bit.opt b/mysql-test/suite/innodb/t/innodb_corrupt_bit.opt
new file mode 100644
index 00000000000..683a276da2a
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_corrupt_bit.opt
@@ -0,0 +1 @@
+--innodb-encryption-threads=0
diff --git a/mysql-test/suite/innodb/t/innodb_corrupt_bit.test b/mysql-test/suite/innodb/t/innodb_corrupt_bit.test
index 34fe0a7812a..86b604b4a6a 100644
--- a/mysql-test/suite/innodb/t/innodb_corrupt_bit.test
+++ b/mysql-test/suite/innodb/t/innodb_corrupt_bit.test
@@ -2,12 +2,13 @@
# Test for persistent corrupt bit for corrupted index and table
#
-- source include/have_innodb.inc
+#-- source include/have_innodb_16k.inc
-- source include/not_embedded.inc
# This test needs debug server
-- source include/have_debug.inc
-- disable_query_log
-call mtr.add_suppression("Flagged corruption of idx.*in CHECK TABLE");
+call mtr.add_suppression("Flagged corruption of idx.*in ");
-- enable_query_log
set names utf8;
diff --git a/mysql-test/suite/innodb/t/innodb_ctype_ldml-master.opt b/mysql-test/suite/innodb/t/innodb_ctype_ldml-master.opt
new file mode 100644
index 00000000000..cddf744de98
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_ctype_ldml-master.opt
@@ -0,0 +1,3 @@
+--character-sets-dir=$MYSQL_TEST_DIR/std_data/
+--default-storage-engine=InnoDB
+
diff --git a/mysql-test/suite/innodb/t/innodb_ctype_ldml.test b/mysql-test/suite/innodb/t/innodb_ctype_ldml.test
new file mode 100644
index 00000000000..011271e4e22
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_ctype_ldml.test
@@ -0,0 +1,369 @@
+--source include/have_innodb.inc
+--source include/have_ucs2.inc
+--source include/have_utf8mb4.inc
+--source include/have_utf16.inc
+--source include/have_utf32.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+# Index.xml has some intentional errors in collation definitions.
+# They are reported to the server error log. Let's suppress them.
+--disable_query_log
+call mtr.add_suppression("Syntax error at '\\[strength tertiary\\]'");
+call mtr.add_suppression("Can't reset before a primary ignorable character U\\+A48C");
+--enable_query_log
+
+--echo In the following tests we change the order of letter "b"
+--echo making it equal to letter "a", and check that it works
+--echo with all Unicode character sets
+set names utf8;
+
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+show variables like 'character_sets_dir%';
+
+show collation like 'utf8_phone_ci';
+CREATE TABLE t1 (
+ name VARCHAR(64),
+ phone VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_phone_ci
+);
+INSERT INTO t1 VALUES ('Svoj','+7 912 800 80 02');
+INSERT INTO t1 VALUES ('Hf','+7 (912) 800 80 04');
+INSERT INTO t1 VALUES ('Bar','+7-912-800-80-01');
+INSERT INTO t1 VALUES ('Ramil','(7912) 800 80 03');
+INSERT INTO t1 VALUES ('Sanja','+380 (912) 8008005');
+SELECT * FROM t1 ORDER BY phone;
+SELECT * FROM t1 WHERE phone='+7(912)800-80-01';
+SELECT * FROM t1 WHERE phone='79128008001';
+SELECT * FROM t1 WHERE phone='7 9 1 2 8 0 0 8 0 0 1';
+DROP TABLE t1;
+
+show collation like 'utf8_test_ci';
+create table t1 (c1 char(1) character set utf8 collate utf8_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+drop table t1;
+
+show collation like 'ucs2_test_ci';
+create table t1 (c1 char(1) character set ucs2 collate ucs2_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+drop table t1;
+
+show collation like 'utf8mb4_test_ci';
+create table t1 (c1 char(1) character set utf8mb4 collate utf8mb4_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+drop table t1;
+
+show collation like 'utf16_test_ci';
+create table t1 (c1 char(1) character set utf16 collate utf16_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+drop table t1;
+
+show collation like 'utf32_test_ci';
+create table t1 (c1 char(1) character set utf32 collate utf32_test_ci);
+insert into t1 values ('a');
+select * from t1 where c1='b';
+drop table t1;
+
+###
+### TODO: activate this when utf8_unicode_520_ci is merged
+###
+### make sure utf8_test_ci is Unicode-5.0.0
+##SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci));
+##SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci));
+##SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
+##SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
+##SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
+##SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
+
+### check that it works with supplementary characters
+##SELECT hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci));
+##SELECT hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci));
+##SELECT hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci));
+##SELECT hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci));
+##SELECT hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci));
+
+### check contractions with non-ascii characters
+##SELECT hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci));
+##SELECT hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci));
+##SELECT hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci));
+##SELECT hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci));
+
+
+--echo #
+--echo # Bug#45645 Mysql server close all connection and restart using lower function
+--echo #
+CREATE TABLE t1 (a VARCHAR(10)) CHARACTER SET utf8 COLLATE utf8_test_ci;
+INSERT INTO t1 (a) VALUES ('hello!');
+SELECT * FROM t1 WHERE LOWER(a)=LOWER('N');
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#51976 LDML collations issue (cyrillic example)
+--echo #
+CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
+INSERT INTO t1 (a) VALUES ('Hello');
+SELECT a, UPPER(a), LOWER(a) FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#43827 Server closes connections and restarts
+--echo #
+# Crash happened with a user-defined utf8 collation,
+# on attempt to insert a string longer than the column can store.
+CREATE TABLE t1 (c1 VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
+INSERT INTO t1 SELECT REPEAT('a',11);
+DROP TABLE t1;
+
+#
+# Vietnamese experimental collation
+#
+--echo Vietnamese experimental collation
+
+show collation like 'ucs2_vn_ci';
+create table t1 (c1 char(1) character set ucs2 collate ucs2_vn_ci);
+insert into t1 values (0x0061),(0x0041),(0x00E0),(0x00C0),(0x1EA3),(0x1EA2),
+ (0x00E3),(0x00C3),(0x00E1),(0x00C1),(0x1EA1),(0x1EA0);
+insert into t1 values (0x0103),(0x0102),(0x1EB1),(0x1EB0),(0x1EB3),(0x1EB2),
+ (0x1EB5),(0x1EB4),(0x1EAF),(0x1EAE),(0x1EB7),(0x1EB6);
+insert into t1 values (0x00E2),(0x00C2),(0x1EA7),(0x1EA6),(0x1EA9),(0x1EA8),
+ (0x1EAB),(0x1EAA),(0x1EA5),(0x1EA4),(0x1EAD),(0x1EAC);
+insert into t1 values ('b'),('B'),('c'),('C');
+insert into t1 values ('d'),('D'),(0x0111),(0x0110);
+insert into t1 values (0x0065),(0x0045),(0x00E8),(0x00C8),(0x1EBB),(0x1EBA),
+ (0x1EBD),(0x1EBC),(0x00E9),(0x00C9),(0x1EB9),(0x1EB8);
+insert into t1 values (0x00EA),(0x00CA),(0x1EC1),(0x1EC0),(0x1EC3),(0x1EC2),
+ (0x1EC5),(0x1EC4),(0x1EBF),(0x1EBE),(0x1EC7),(0x1EC6);
+insert into t1 values ('g'),('G'),('h'),('H');
+insert into t1 values (0x0069),(0x0049),(0x00EC),(0x00CC),(0x1EC9),(0x1EC8),
+ (0x0129),(0x0128),(0x00ED),(0x00CD),(0x1ECB),(0x1ECA);
+insert into t1 values ('k'),('K'),('l'),('L'),('m'),('M');
+insert into t1 values (0x006F),(0x004F),(0x00F2),(0x00D2),(0x1ECF),(0x1ECE),
+ (0x00F5),(0x00D5),(0x00F3),(0x00D3),(0x1ECD),(0x1ECC);
+insert into t1 values (0x00F4),(0x00D4),(0x1ED3),(0x1ED2),(0x1ED5),(0x1ED4),
+ (0x1ED7),(0x1ED6),(0x1ED1),(0x1ED0),(0x1ED9),(0x1ED8);
+insert into t1 values (0x01A1),(0x01A0),(0x1EDD),(0x1EDC),(0x1EDF),(0x1EDE),
+ (0x1EE1),(0x1EE0),(0x1EDB),(0x1EDA),(0x1EE3),(0x1EE2);
+insert into t1 values ('p'),('P'),('q'),('Q'),('r'),('R'),('s'),('S'),('t'),('T');
+insert into t1 values (0x0075),(0x0055),(0x00F9),(0x00D9),(0x1EE7),(0x1EE6),
+ (0x0169),(0x0168),(0x00FA),(0x00DA),(0x1EE5),(0x1EE4);
+insert into t1 values (0x01B0),(0x01AF),(0x1EEB),(0x1EEA),(0x1EED),(0x1EEC),
+ (0x1EEF),(0x1EEE),(0x1EE9),(0x1EE8),(0x1EF1),(0x1EF0);
+insert into t1 values ('v'),('V'),('x'),('X');
+insert into t1 values (0x0079),(0x0059),(0x1EF3),(0x1EF2),(0x1EF7),(0x1EF6),
+ (0x1EF9),(0x1EF8),(0x00FD),(0x00DD),(0x1EF5),(0x1EF4);
+select hex(c1) as h, c1 from t1 order by c1, h;
+select group_concat(hex(c1) order by hex(c1)) from t1 group by c1;
+select group_concat(c1 order by hex(c1) SEPARATOR '') from t1 group by c1;
+drop table t1;
+
+--echo Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
+set names latin1;
+show collation like 'latin1_test';
+select "foo" = "foo " collate latin1_test;
+
+-- echo The following tests check that two-byte collation IDs work
+# The file ../std-data/Index.xml has a number of collations with high IDs.
+
+# Test that the "ID" column in I_S and SHOW queries can handle two bytes
+select * from information_schema.collations where id>256 and is_compiled<>'Yes' order by id;
+show collation like '%test%';
+
+# Test that two-byte collation ID is correctly transfered to the client side.
+show collation like 'ucs2_vn_ci';
+create table t1 (c1 char(1) character set ucs2 collate ucs2_vn_ci);
+
+show create table t1;
+
+insert into t1 values (0x0061);
+--enable_metadata
+set @@character_set_results=NULL;
+select * from t1;
+--disable_metadata
+drop table t1;
+
+#
+# Check maximum collation ID (2047 as of MySQL-6.0.9)
+#
+CREATE TABLE t1 (s1 char(10) character set utf8 collate utf8_maxuserid_ci);
+INSERT INTO t1 VALUES ('a'),('b');
+SELECT * FROM t1 WHERE s1='a' ORDER BY BINARY s1;
+DROP TABLE t1;
+
+
+#
+# Bug#47756 Setting 2byte collation ID with 'set names' crashes the server
+#
+SET NAMES utf8 COLLATE utf8_phone_ci;
+SHOW COLLATION LIKE 'utf8_phone_ci';
+SET NAMES utf8;
+
+# make sure utf8mb4_test_400_ci is Unicode-4.0.0 based
+SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci));
+SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci));
+SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
+SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
+SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
+SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
+
+--echo #
+--echo # WL#5624 Collation customization improvements
+--echo #
+SET NAMES utf8 COLLATE utf8_5624_1;
+CREATE TABLE t1 AS SELECT REPEAT(' ', 16) AS a LIMIT 0;
+# Part 1,2,3: long contractions and expansions
+# Part 7: Quarternary difference
+INSERT INTO t1 VALUES ('012345'),('001234'),('000123'),('000012'),('000001');
+INSERT INTO t1 VALUES ('12345'),('01234'),('00123'),('00012'),('00001');
+INSERT INTO t1 VALUES ('1234'),('0123'),('0012'),('0001');
+INSERT INTO t1 VALUES ('123'),('012'),('001');
+INSERT INTO t1 VALUES ('12'),('01');
+INSERT INTO t1 VALUES ('1'),('9');
+INSERT INTO t1 VALUES ('ГÐИ'),('ГИБДД');
+# Part 4: reset before
+# Part 6: characters rather than escape sequences
+INSERT INTO t1 VALUES ('a'),('b'),('c'),('d'),('e');
+INSERT INTO t1 VALUES ('cz'),('ÄŠ'),('Ä‹');
+INSERT INTO t1 VALUES ('f'),('fz'),('g'),('Ä '),('Ä¡');
+INSERT INTO t1 VALUES ('h'),('hz'),('GĦ'),('Għ'),('gĦ'),('għ');
+INSERT INTO t1 VALUES ('i'),('iz'),('Ħ'),('ħ');
+INSERT INTO t1 VALUES ('y'),('yz'),('z'),('Ż'),('ż');
+INSERT INTO t1 VALUES ('Ä'),('Ä€'),('á'),('Ã'),('à'),('À');
+INSERT INTO t1 VALUES ('ē'),('é'),('ě'),('ê'),('Ē'),('É'),('Ě'),('Ê');
+# Part 8: Abbreviated shift syntax
+INSERT INTO t1 VALUES ('a'),('~'),('!'),('@'),('#'),('$'),('%'),('^');
+INSERT INTO t1 VALUES ('('),(')'),('-'),('+'),('|'),('='),(':'),(';');
+INSERT INTO t1 VALUES ('"'),('\''),('?');
+# Part 9: Normal expansion syntax
+INSERT INTO t1 VALUES ('ch'),('k'),('cs'),('ccs'),('cscs');
+# Part 10: Previous context
+INSERT INTO t1 VALUES ('aa-'),('ab-'),('ac-'),('ad-'),('ae-'),('af-'),('az-');
+# Part 12: Logical reset positions
+INSERT INTO t1 VALUES ('lp-fni'),('lp-lni');
+INSERT INTO t1 VALUES ('lp-fpi'),('lp-lpi');
+INSERT INTO t1 VALUES ('lp-fsi'),('lp-lsi');
+INSERT INTO t1 VALUES ('lp-fti'),('lp-lti');
+INSERT INTO t1 VALUES ('lp-ft'),('lp-lt');
+INSERT INTO t1 VALUES ('lp-fv'),('lp-lv');
+# Logical positions with reset before
+INSERT INTO t1 VALUES ('lb-fni'),('lb-lni');
+INSERT INTO t1 VALUES ('lb-fv'),('lb-lv');
+# Part 5: Long tailoring
+INSERT INTO t1 VALUES (_ucs2 0x3106),(_ucs2 0x3110), (_ucs2 0x3111), (_ucs2 0x3112);
+INSERT INTO t1 VALUES (_ucs2 0x32A3), (_ucs2 0x3231);
+INSERT INTO t1 VALUES (_ucs2 0x84D9), (_ucs2 0x98F5), (_ucs2 0x7CF3), (_ucs2 0x5497);
+SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY a;
+--echo #
+--echo # WL#5624, the same test with UCS2
+--echo #
+ALTER TABLE t1 CONVERT TO CHARACTER SET ucs2 COLLATE ucs2_5624_1;
+SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY(a);
+DROP TABLE t1;
+
+--echo #
+--echo # WL#5624, unsupported features
+--echo #
+# Part 13: More verbosity
+--error ER_UNKNOWN_COLLATION
+SET NAMES utf8 COLLATE utf8_5624_2;
+SHOW WARNINGS;
+
+--echo #
+--echo # WL#5624, reset before primary ignorable
+--echo #
+--error ER_UNKNOWN_COLLATION
+SET NAMES utf8 COLLATE utf8_5624_3;
+SHOW WARNINGS;
+
+--echo #
+--echo # WL#5624, \u without hex digits is equal to {'\\', 'u'}
+--echo #
+SET NAMES utf8 COLLATE utf8_5624_4;
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
+INSERT INTO t1 VALUES ('\\'),('u'),('x'),('X');
+SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY(a);
+DROP TABLE t1;
+
+--echo #
+--echo # WL#5624, testing Bengali collations
+--echo #
+SET NAMES utf8, collation_connection=utf8_bengali_standard_ci;
+CREATE TABLE t1 AS SELECT REPEAT (' ', 10) AS a LIMIT 0;
+INSERT INTO t1 VALUES (_ucs2 0x09FA), (_ucs2 0x09F8), (_ucs2 0x09F9), (_ucs2 0x09F2);
+INSERT INTO t1 VALUES (_ucs2 0x09DC), (_ucs2 0x09A109BC);
+INSERT INTO t1 VALUES (_ucs2 0x09A2), (_ucs2 0x09DD), (_ucs2 0x09A209BC);
+INSERT INTO t1 VALUES (_ucs2 0x09A3);
+SELECT HEX(WEIGHT_STRING(a)), HEX(CONVERT(a USING ucs2)), HEX(a)
+FROM t1 ORDER BY a, BINARY a;
+DROP TABLE t1;
+
+SET NAMES utf8, collation_connection=utf8_bengali_traditional_ci;
+CREATE TABLE t1 AS SELECT REPEAT (' ', 10) AS a LIMIT 0;
+INSERT INTO t1 VALUES
+(_ucs2 0x0985),(_ucs2 0x0986),(_ucs2 0x0987),(_ucs2 0x0988),
+(_ucs2 0x0989),(_ucs2 0x098A),(_ucs2 0x098B),(_ucs2 0x09E0),
+(_ucs2 0x098C),(_ucs2 0x09E1),(_ucs2 0x098F),(_ucs2 0x0990),
+(_ucs2 0x0993);
+
+INSERT INTO t1 VALUES
+(_ucs2 0x0994),(_ucs2 0x0982),(_ucs2 0x0983),(_ucs2 0x0981),
+(_ucs2 0x099509CD), (_ucs2 0x099609CD), (_ucs2 0x099709CD), (_ucs2 0x099809CD),
+(_ucs2 0x099909CD), (_ucs2 0x099A09CD), (_ucs2 0x099B09CD), (_ucs2 0x099C09CD),
+(_ucs2 0x099D09CD), (_ucs2 0x099E09CD), (_ucs2 0x099F09CD), (_ucs2 0x09A009CD),
+(_ucs2 0x09A109CD), (_ucs2 0x09A209CD), (_ucs2 0x09A309CD),
+(_ucs2 0x09CE), (_ucs2 0x09A409CD200D), (_ucs2 0x09A409CD),
+(_ucs2 0x09A509CD),(_ucs2 0x09A609CD),
+(_ucs2 0x09A709CD), (_ucs2 0x09A809CD), (_ucs2 0x09AA09CD), (_ucs2 0x09AB09CD),
+(_ucs2 0x09AC09CD), (_ucs2 0x09AD09CD), (_ucs2 0x09AE09CD), (_ucs2 0x09AF09CD),
+(_ucs2 0x09B009CD), (_ucs2 0x09F009CD), (_ucs2 0x09B209CD), (_ucs2 0x09F109CD),
+(_ucs2 0x09B609CD), (_ucs2 0x09B709CD), (_ucs2 0x09B809CD), (_ucs2 0x09B909CD);
+
+INSERT INTO t1 VALUES
+ (_ucs2 0x099509CD0985),(_ucs2 0x0995),
+ (_ucs2 0x099509CD0986),(_ucs2 0x099509BE),
+ (_ucs2 0x099509CD0987),(_ucs2 0x099509BF),
+ (_ucs2 0x099509CD0988),(_ucs2 0x099509C0),
+ (_ucs2 0x099509CD0989),(_ucs2 0x099509C1),
+ (_ucs2 0x099509CD098A),(_ucs2 0x099509C2),
+ (_ucs2 0x099509CD098B),(_ucs2 0x099509C3),
+ (_ucs2 0x099509CD09E0),(_ucs2 0x099509C4),
+ (_ucs2 0x099509CD098C),(_ucs2 0x099509E2),
+ (_ucs2 0x099509CD09E1),(_ucs2 0x099509E3),
+ (_ucs2 0x099509CD098F),(_ucs2 0x099509C7),
+ (_ucs2 0x099509CD0990),(_ucs2 0x099509C8),
+ (_ucs2 0x099509CD0993),(_ucs2 0x099509CB),
+ (_ucs2 0x099509CD0994),(_ucs2 0x099509CC);
+
+SELECT HEX(WEIGHT_STRING(a)), HEX(CONVERT(a USING ucs2)), HEX(a)
+FROM t1 ORDER BY a, BINARY(a);
+SELECT HEX(WEIGHT_STRING(a)) as wa,
+GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a)
+FROM t1 GROUP BY a ORDER BY a;
+DROP TABLE t1;
+
+--echo #
+--echo # WL#5624, shift after, using expansion
+--echo #
+SET NAMES utf8 COLLATE utf8_5624_5;
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
+INSERT INTO t1 VALUES ('0'),('1'),('0z'),(_ucs2 0x0030FF9D);
+INSERT INTO t1 VALUES ('a'),('b'),('c'),('d'),('e'),('f'),('g'),('h'),('i');
+INSERT INTO t1 VALUES ('j'),('k'),('l'),('m'),('n'),('o'),('p'),('q'),('r');
+INSERT INTO t1 VALUES ('s'),('t'),('u'),('v'),('w'),('x'),('y'),('z');
+INSERT INTO t1 VALUES ('aa'),('aaa');
+INSERT INTO t1 VALUES ('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H'),('I');
+INSERT INTO t1 VALUES ('J'),('K'),('L'),('M'),('N'),('O'),('P'),('Q'),('R');
+INSERT INTO t1 VALUES ('S'),('T'),('U'),('V'),('W'),('X'),('Y'),('Z');
+INSERT INTO t1 VALUES ('AA'),('AAA');
+
+SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY(a);
+DROP TABLE t1;
+
+
+--echo #
+--echo # End of WL#5624
+--echo #
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_binlog.opt b/mysql-test/suite/innodb/t/innodb_defrag_binlog.opt
new file mode 100644
index 00000000000..8a432b8c76e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defrag_binlog.opt
@@ -0,0 +1,5 @@
+--loose-innodb-buffer-pool-stats
+--loose-innodb-buffer-page
+--loose-innodb-buffer-page-lru
+--binlog-format=row
+--innodb-defragment=1 \ No newline at end of file
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_binlog.test b/mysql-test/suite/innodb/t/innodb_defrag_binlog.test
new file mode 100644
index 00000000000..db6849f8477
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defrag_binlog.test
@@ -0,0 +1,21 @@
+--source include/have_innodb.inc
+--source include/master-slave.inc
+--source include/big_test.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+create table t1(a int not null primary key auto_increment, b varchar(256), key second(b)) engine=innodb;
+
+insert into t1 values (1, REPEAT("a", 256));
+insert into t1 values (2, REPEAT("a", 256));
+optimize table t1;
+
+drop table t1;
+
+--source include/show_binlog_events.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_concurrent.opt b/mysql-test/suite/innodb/t/innodb_defrag_concurrent.opt
new file mode 100644
index 00000000000..6426bac41a0
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defrag_concurrent.opt
@@ -0,0 +1,4 @@
+--loose-innodb-buffer-pool-stats
+--loose-innodb-buffer-page
+--loose-innodb-buffer-page-lru
+--innodb-defragment=1 \ No newline at end of file
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_concurrent.test b/mysql-test/suite/innodb/t/innodb_defrag_concurrent.test
new file mode 100644
index 00000000000..f596fab2a15
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defrag_concurrent.test
@@ -0,0 +1,122 @@
+--source include/have_innodb.inc
+--source include/big_test.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+
+--disable_warnings
+DROP TABLE if exists t1;
+--enable_warnings
+
+--disable_query_log
+let $innodb_defragment_n_pages_orig=`select @@innodb_defragment_n_pages`;
+let $innodb_defragment_stats_accuracy_orig=`select @@innodb_defragment_stats_accuracy`;
+--enable_query_log
+
+select @@global.innodb_stats_persistent;
+set global innodb_defragment_stats_accuracy = 80;
+
+# Create table.
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), c INT, KEY second(a, b),KEY third(c)) ENGINE=INNODB;
+
+connect (con1,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+connect (con2,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+connect (con3,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+connect (con4,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+
+connection default;
+
+SET @@global.innodb_defragment_n_pages = 20;
+
+let $data_size = 20000;
+let $delete_size = 2000;
+
+# Populate table.
+let $i = $data_size;
+--disable_query_log
+while ($i)
+{
+ eval
+ INSERT INTO t1 VALUES ($data_size + 1 - $i, REPEAT('A', 256), $i);
+ dec $i;
+}
+--enable_query_log
+
+select count(*) from t1;
+select count(*) from t1 force index (second);
+select count(*) from t1 force index (third);
+
+# Delete some data
+--disable_query_log
+let $size = $delete_size;
+while ($size)
+{
+ let $j = 100 * $size;
+ eval delete from t1 where a between $j - 20 and $j;
+ dec $size;
+}
+--enable_query_log
+
+select count(*) from t1;
+select count(*) from t1 force index (second);
+select count(*) from t1 force index (third);
+
+# Above delete will free some pages and insert causes page split and these could cause defrag
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+connection con1;
+--send optimize table t1;
+
+connection default;
+--send INSERT INTO t1 VALUES (400000, REPEAT('A', 256),300000);
+
+connection con2;
+--send INSERT INTO t1 VALUES (500000, REPEAT('A', 256),400000);
+
+connection con3;
+--send DELETE FROM t1 where a between 1 and 100;
+
+connection con4;
+--send UPDATE t1 SET c = c + 1 where c between 2000 and 8000;
+
+connection con1;
+--disable_result_log
+--reap
+--enable_result_log
+
+connection con2;
+--reap
+
+connection con3;
+--reap
+
+connection con4;
+--reap
+
+connection default;
+--reap
+
+disconnect con1;
+disconnect con2;
+disconnect con3;
+disconnect con4;
+
+optimize table t1;
+
+select count(*) from t1;
+select count(*) from t1 force index (second);
+select count(*) from t1 force index (third);
+
+# Now pages are freed
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+drop table t1;
+
+# reset system
+--disable_query_log
+EVAL SET GLOBAL innodb_defragment_n_pages = $innodb_defragment_n_pages_orig;
+EVAL SET GLOBAL innodb_defragment_stats_accuracy = $innodb_defragment_stats_accuracy_orig;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_stats.opt b/mysql-test/suite/innodb/t/innodb_defrag_stats.opt
new file mode 100644
index 00000000000..d3525162f03
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defrag_stats.opt
@@ -0,0 +1 @@
+--innodb-defragment=1
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_stats.test b/mysql-test/suite/innodb/t/innodb_defrag_stats.test
new file mode 100644
index 00000000000..2a5026a68e5
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defrag_stats.test
@@ -0,0 +1,125 @@
+--source include/have_innodb.inc
+--source include/big_test.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+
+--disable_warnings
+DROP TABLE if exists t1;
+--enable_warnings
+
+--disable_query_log
+let $innodb_defragment_stats_accuracy_orig=`select @@innodb_defragment_stats_accuracy`;
+--enable_query_log
+
+select @@global.innodb_stats_persistent;
+set global innodb_defragment_stats_accuracy = 20;
+
+--echo # Create table.
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), KEY SECOND(a, b)) ENGINE=INNODB;
+
+--echo # Populate data
+INSERT INTO t1 VALUES(1, REPEAT('A', 256));
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+
+--echo # Not enough page splits to trigger persistent stats write yet.
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+INSERT INTO t1 (b) SELECT b from t1;
+
+--echo # Persistent stats recorded.
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+--echo # Delete some rows.
+let $num_delete = 20;
+while ($num_delete)
+{
+ let $j = 100 * $num_delete;
+ eval delete from t1 where a between $j and $j + 30;
+ dec $num_delete;
+}
+
+--source include/restart_mysqld.inc
+--echo # Server Restarted
+
+--echo # Confirm persistent stats still there after restart.
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+optimize table t1;
+select sleep(2);
+
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+set global innodb_defragment_stats_accuracy = 40;
+
+INSERT INTO t1 (b) SELECT b from t1;
+
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+
+INSERT INTO t1 (b) SELECT b from t1;
+
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+
+--echo # Table rename should cause stats rename.
+rename table t1 to t2;
+select sleep(1);
+
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_page_split');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_leaf_pages_defrag');
+
+--echo # Drop index should cause stats drop.
+drop index SECOND on t2;
+select sleep(3);
+
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and index_name = 'SECOND' and stat_name in ('n_page_split');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and index_name = 'SECOND' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and index_name = 'SECOND' and stat_name in ('n_leaf_pages_defrag');
+
+--source include/restart_mysqld.inc
+--echo Server Restarted
+
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_page_split');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_leaf_pages_defrag');
+
+--echo # Clean up
+DROP TABLE t2;
+
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_page_split');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_pages_freed');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t2%' and stat_name in ('n_leaf_pages_defrag');
+
+--disable_query_log
+EVAL SET GLOBAL innodb_defragment_stats_accuracy = $innodb_defragment_stats_accuracy_orig;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_stats_many_tables.opt b/mysql-test/suite/innodb/t/innodb_defrag_stats_many_tables.opt
new file mode 100644
index 00000000000..d3525162f03
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defrag_stats_many_tables.opt
@@ -0,0 +1 @@
+--innodb-defragment=1
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_stats_many_tables.test b/mysql-test/suite/innodb/t/innodb_defrag_stats_many_tables.test
new file mode 100644
index 00000000000..a0f43fa6841
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defrag_stats_many_tables.test
@@ -0,0 +1,77 @@
+--source include/have_innodb.inc
+--source include/big_test.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+
+--disable_warnings
+DROP TABLE if exists t1;
+--enable_warnings
+
+let $num_tables = 505;
+
+SET @start_table_definition_cache = @@global.table_definition_cache;
+SET @@global.table_definition_cache = 400;
+
+SET @start_flush_log_at_trx_commit = @@global.innodb_flush_log_at_trx_commit;
+SET @@global.innodb_flush_log_at_trx_commit=2;
+
+# set stats accuracy to be pretty high so stats sync is easily triggered.
+SET @start_innodb_defragment_stats_accuracy = @@global.innodb_defragment_stats_accuracy;
+SET @@global.innodb_defragment_stats_accuracy = 80;
+
+# Create table.
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), KEY SECOND(a, b)) ENGINE=INNODB;
+
+# Populate data
+INSERT INTO t1 VALUES(1, REPEAT('A', 256));
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+
+select stat_value > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name = 'n_page_split';
+
+# Create many tables to over flow the table definition cache
+
+--echo Create $num_tables table to overflow the table cache.
+--disable_query_log
+let $count = $num_tables;
+while ($count)
+{
+ EVAL CREATE TABLE t_$count (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT) ENGINE=INNODB;
+ EVAL INSERT INTO t_$count VALUES (1), (2);
+ dec $count;
+}
+--enable_query_log
+--echo Sleep for a while to make sure t1 is evicted.
+select sleep(15);
+
+--echo Reload t1 to get defrag stats from persistent storage
+INSERT INTO t1 (b) SELECT b from t1;
+
+--echo make sure the stats thread will wake up and do the write even if there's a race condition between set and reset.
+select sleep(15);
+
+select stat_value > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name = 'n_page_split';
+
+
+# Clean up
+SET @@global.innodb_defragment_stats_accuracy = @start_innodb_defragment_stats_accuracy;
+SET @@global.table_definition_cache = @start_table_definition_cache;
+--disable_query_log
+let $count = $num_tables;
+while ($count)
+{
+ EVAL DROP TABLE t_$count;
+ dec $count;
+}
+set @@global.innodb_flush_log_at_trx_commit = @start_flush_log_at_trx_commit;
+--enable_query_log
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb_defragment.opt b/mysql-test/suite/innodb/t/innodb_defragment.opt
new file mode 100644
index 00000000000..aea3d480c24
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defragment.opt
@@ -0,0 +1,5 @@
+--loose-innodb-buffer-pool-stats
+--loose-innodb-buffer-page
+--loose-innodb-buffer-page-lru
+--innodb-file-per-table
+--innodb-defragment=1 \ No newline at end of file
diff --git a/mysql-test/suite/innodb/t/innodb_defragment.test b/mysql-test/suite/innodb/t/innodb_defragment.test
new file mode 100644
index 00000000000..d9f5f56316e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defragment.test
@@ -0,0 +1,155 @@
+--source include/have_innodb.inc
+--source include/big_test.inc
+--source include/not_embedded.inc
+
+set global innodb_defragment_stats_accuracy = 80;
+
+# Create table.
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), KEY SECOND(a, b)) ENGINE=INNODB;
+
+## Test-1 defragment an empty table
+optimize table t1;
+
+## Test-2 defragment a single page table
+INSERT INTO t1 VALUES (100000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (200000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (300000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (400000, REPEAT('A', 256));
+
+optimize table t1;
+
+## Test-3 defragment (somewhat) in parallel with delete queries
+let $data_size = 10000;
+let $delete_size = 100;
+
+delimiter //;
+create procedure defragment()
+begin
+ set @i = 0;
+ repeat
+ set @i = @i + 1;
+ optimize table t1;
+ until @i = 3 end repeat;
+end //
+delimiter ;//
+
+
+# Populate table.
+let $i = $data_size;
+--disable_query_log
+BEGIN;
+while ($i)
+{
+ eval
+ INSERT INTO t1 VALUES ($data_size + 1 - $i, REPEAT('A', 256));
+ dec $i;
+}
+COMMIT;
+--enable_query_log
+
+select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+select count(*) from t1;
+
+connect (con1,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+
+connection con1;
+--send call defragment()
+
+connection default;
+
+--disable_query_log
+let $size = $delete_size;
+while ($size)
+{
+ let $j = 100 * $size;
+ eval delete from t1 where a between $j - 20 and $j;
+ dec $size;
+}
+--enable_query_log
+
+connection con1;
+--disable_result_log
+--reap
+--enable_result_log
+
+connection default;
+disconnect con1;
+
+optimize table t1;
+
+--source include/restart_mysqld.inc
+select count(*) from t1;
+
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+select count(*) from t1 force index (second);
+
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_pages_freed');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_page_split');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_leaf_pages_defrag');
+
+## Test-4 defragment with larger n_pages
+
+# delete some more records
+--disable_query_log
+let $size = $delete_size;
+while ($size)
+{
+ let $j = 100 * $size;
+ eval delete from t1 where a between $j - 30 and $j - 20;
+ dec $size;
+}
+--enable_query_log
+
+SET @@global.innodb_defragment_n_pages = 3;
+
+# This will not reduce number of pages by a lot
+optimize table t1;
+
+--source include/restart_mysqld.inc
+
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+select count(*) from t1;
+
+# We didn't create large wholes with the previous deletion, so if innodb_defragment_n_pages = 3, we won't be able to free up many pages.
+
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+
+select count(*) from t1 force index (second);
+
+# Same holds for secondary index, not many pages are released.
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_pages_freed');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_page_split');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_leaf_pages_defrag');
+
+SET @@global.innodb_defragment_n_pages = 10;
+
+optimize table t1;
+
+--source include/restart_mysqld.inc
+
+select count(stat_value) > 1 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed');
+select count(stat_value) > 1 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split');
+select count(stat_value) > 1 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag');
+
+
+select count(*) from t1 force index (second);
+
+# Same holds for secondary index, not many pages are released.
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_pages_freed');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_page_split');
+select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_leaf_pages_defrag');
+
+DROP PROCEDURE defragment;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb_defragment_fill_factor.opt b/mysql-test/suite/innodb/t/innodb_defragment_fill_factor.opt
new file mode 100644
index 00000000000..6426bac41a0
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defragment_fill_factor.opt
@@ -0,0 +1,4 @@
+--loose-innodb-buffer-pool-stats
+--loose-innodb-buffer-page
+--loose-innodb-buffer-page-lru
+--innodb-defragment=1 \ No newline at end of file
diff --git a/mysql-test/suite/innodb/t/innodb_defragment_fill_factor.test b/mysql-test/suite/innodb/t/innodb_defragment_fill_factor.test
new file mode 100644
index 00000000000..2edc8a45c02
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defragment_fill_factor.test
@@ -0,0 +1,210 @@
+--source include/have_innodb.inc
+--source include/big_test.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+--source include/have_innodb_16k.inc
+
+--disable_warnings
+DROP TABLE if exists t1;
+DROP TABLE if exists t2;
+--enable_warnings
+
+--echo Testing tables with large records
+# Create table.
+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), c VARCHAR(256), KEY SECOND(a, b,c)) ENGINE=INNODB;
+
+# Populate table.
+INSERT INTO t1 VALUES (1, REPEAT('A', 256), REPEAT('B', 256));
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+INSERT INTO t1 (b) SELECT b from t1;
+
+--disable_query_log
+let $size = 10;
+while ($size)
+{
+ let $j = 100 * $size;
+ eval delete from t1 where a between $j - 20 and $j + 5;
+ dec $size;
+}
+--enable_query_log
+
+--source include/wait_innodb_all_purged.inc
+--source include/restart_mysqld.inc
+optimize table t1;
+
+select count(*) from t1;
+
+--let $primary_before = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'PRIMARY', Value, 1)
+
+select count(*) from t1 force index (second);
+
+--let $second_before = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'second', Value, 1)
+
+--echo # A few more insertions on the page should not cause a page split.
+insert into t1 values (81, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (83, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (87, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (82, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (86, REPEAT('A', 256), REPEAT('B', 256));
+--let $primary_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'PRIMARY', Value, 1)
+--let $second_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'second', Value, 1)
+
+if ($primary_before != $primary_after) {
+ --echo Insertion caused page split on primary, which should be avoided by innodb_defragment_fill_factor.
+}
+
+if ($second_before != $second_after) {
+ --echo Insertion caused page split on second, which should be avoided by innodb_defragment_fill_factor.
+}
+
+--echo # Insert more rows to cause a page split
+insert into t1 values (180, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (181, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (182, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (183, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (184, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (185, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (186, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (187, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (188, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (189, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (190, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (191, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (192, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (193, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (194, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (195, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (196, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (197, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (198, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (199, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (200, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (201, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (202, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (203, REPEAT('A', 256), REPEAT('B', 256));
+insert into t1 values (204, REPEAT('A', 256), REPEAT('B', 256));
+
+--let $primary_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'PRIMARY', Value, 1)
+
+--let $second_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'second', Value, 1)
+
+if ($primary_before == $primary_after) {
+ --echo Too little space is reserved on primary index.
+}
+
+if ($second_before == $second_after) {
+ --echo Too little space is reserved on second index.
+}
+
+DROP TABLE t1;
+
+--echo Testing table with small records
+CREATE TABLE t2 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(16), c VARCHAR(32), KEY SECOND(a,b,c)) ENGINE=INNODB;
+# Populate table.
+--disable_query_log
+INSERT INTO t2 VALUES (1, REPEAT('A', 16), REPEAT('B', 32));
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+INSERT INTO t2 (b) SELECT b from t2;
+--enable_query_log
+
+--disable_query_log
+let $size = 40;
+while ($size)
+{
+ let $j = 100 * $size;
+ eval delete from t2 where a between $j - 20 and $j;
+ dec $size;
+}
+--enable_query_log
+
+--source include/wait_innodb_all_purged.inc
+--source include/restart_mysqld.inc
+optimize table t2;
+
+select count(*) from t2;
+select count(*) from t2 force index(second);
+
+--let $second_before = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t2%' and index_name = 'second', Value, 1)
+
+--echo The page should have room for about 20 insertions
+insert into t2 values(1181, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1191, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1182, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1192, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1183, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1193, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1184, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1194, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1185, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1195, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1186, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1196, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1187, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1197, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1188, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1198, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1189, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1199, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1190, REPEAT('A', 16), REPEAT('B',32));
+insert into t2 values(1180, REPEAT('A', 16), REPEAT('B',32));
+
+--let $second_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t2%' and index_name = 'second', Value, 1)
+
+if ($second_before != $second_after) {
+ --echo Insertion caused page split on second, which should be avoided by innodb_defragment_fill_factor.
+}
+
+--echo # Insert more rows to cause a page split
+insert into t2 values (180, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (181, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (182, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (183, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (184, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (185, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (186, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (187, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (188, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (189, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (190, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (191, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (192, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (193, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (194, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (195, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (196, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (197, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (198, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (199, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (200, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (201, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (202, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (203, REPEAT('A', 16), REPEAT('B', 32));
+insert into t2 values (204, REPEAT('A', 16), REPEAT('B', 32));
+
+--let $second_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t2%' and index_name = 'second', Value, 1)
+
+if ($second_before == $second_after) {
+ --echo Too little space is reserved on second index.
+}
+
+DROP TABLE t2;
+
+--source include/wait_innodb_all_purged.inc
diff --git a/mysql-test/suite/innodb/t/innodb_defragment_small.test b/mysql-test/suite/innodb/t/innodb_defragment_small.test
new file mode 100644
index 00000000000..c52a58fc5a7
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_defragment_small.test
@@ -0,0 +1,37 @@
+--source include/have_innodb.inc
+
+SET @innodb_defragment_orig=@@GLOBAL.innodb_defragment;
+SET @innodb_optimize_fulltext_orig=@@GLOBAL.innodb_optimize_fulltext_only;
+SET GLOBAL innodb_defragment = 1;
+SET GLOBAL innodb_optimize_fulltext_only = 0;
+
+--echo #
+--echo # MDEV-12198 innodb_defragment=1 crashes server on
+--echo # OPTIMIZE TABLE when FULLTEXT index exists
+--echo #
+
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(256),
+ KEY(a, b), FULLTEXT KEY(b)) ENGINE=INNODB;
+OPTIMIZE TABLE t1;
+
+INSERT INTO t1 VALUES (100000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (200000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (300000, REPEAT('A', 256));
+INSERT INTO t1 VALUES (400000, REPEAT('A', 256));
+
+OPTIMIZE TABLE t1;
+
+--echo #
+--echo # MDEV-15824 innodb_defragment=ON trumps
+--echo # innodb_optimize_fulltext_only=ON in OPTIMIZE TABLE
+--echo #
+
+SET GLOBAL innodb_optimize_fulltext_only = 1;
+OPTIMIZE TABLE t1;
+SET GLOBAL innodb_defragment = 0;
+OPTIMIZE TABLE t1;
+
+DROP TABLE t1;
+
+SET GLOBAL innodb_defragment = @innodb_defragment_orig;
+SET GLOBAL innodb_optimize_fulltext_only = @innodb_optimize_fulltext_orig;
diff --git a/mysql-test/suite/innodb/t/innodb_file_format.test b/mysql-test/suite/innodb/t/innodb_file_format.test
index 941edb728dd..2c99167ce6e 100644
--- a/mysql-test/suite/innodb/t/innodb_file_format.test
+++ b/mysql-test/suite/innodb/t/innodb_file_format.test
@@ -1,7 +1,8 @@
---source include/have_innodb.inc
---source include/restart_and_reinit.inc
+-- source include/restart_and_reinit.inc
+-- source include/have_innodb.inc
let $innodb_file_format_orig=`select @@innodb_file_format`;
+let $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
select @@innodb_file_format;
select @@innodb_file_format_check;
@@ -37,4 +38,7 @@ set global innodb_file_format_max=antelope;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set global innodb_file_format_check=off;
+--disable_query_log
eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
+eval SET GLOBAL innodb_file_format_max=$innodb_file_format_max_orig;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_force_pk.opt b/mysql-test/suite/innodb/t/innodb_force_pk.opt
new file mode 100644
index 00000000000..93d6393520c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_force_pk.opt
@@ -0,0 +1 @@
+--innodb_force_primary_key=1
diff --git a/mysql-test/suite/innodb/t/innodb_force_pk.test b/mysql-test/suite/innodb/t/innodb_force_pk.test
new file mode 100644
index 00000000000..7dcab8eaead
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_force_pk.test
@@ -0,0 +1,49 @@
+-- source include/have_innodb.inc
+
+let $force_pk=`select @@innodb_force_primary_key`;
+
+-- error 1173
+create table t1(a integer) engine=innodb;
+show warnings;
+-- error 1173
+create table t1(a integer unique key) engine=innodb;
+show warnings;
+-- error 1173
+create table t1(a integer not null, b integer,
+unique key(a,b)) engine=innodb;
+show warnings;
+create table t1(a integer not null primary key) engine=innodb;
+show create table t1;
+show warnings;
+drop table t1;
+create table t1(a integer not null unique key) engine=innodb;
+show create table t1;
+show warnings;
+drop table t1;
+
+set global innodb_force_primary_key = 0;
+create table t1(a integer) engine=innodb;
+show warnings;
+insert into t1 values (1),(2),(3);
+
+set global innodb_force_primary_key = 1;
+select * from t1;
+-- error 1173
+create table t2(a integer) engine=innodb;
+show warnings;
+drop table t1;
+
+#
+# MDEV-8582: innodb_force_primary_key option does not
+# force PK or unique key
+#
+--error 1173
+create table t1 (i int not null, key(i)) engine=innodb;
+create table t1 (i int not null, unique key(i)) engine=innodb;
+show warnings;
+show create table t1;
+drop table t1;
+
+--disable_query_log
+eval set global innodb_force_primary_key=$force_pk;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_information_schema.test b/mysql-test/suite/innodb/t/innodb_information_schema.test
index 95b436d676c..da7ee016f29 100644
--- a/mysql-test/suite/innodb/t/innodb_information_schema.test
+++ b/mysql-test/suite/innodb/t/innodb_information_schema.test
@@ -5,6 +5,13 @@
-- source include/have_innodb.inc
+# lock data that is part of result set for this testcase
+# is retreived using buf_page_try_get. i.e only show if page
+# happen to be in buffer pool, with key rotation threads
+# chances are substantial that pages have been evicted and lock_data
+# get NULL
+-- source include/not_encrypted.inc
+
-- disable_query_log
-- disable_result_log
diff --git a/mysql-test/suite/innodb/t/innodb_information_schema_buffer.opt b/mysql-test/suite/innodb/t/innodb_information_schema_buffer.opt
new file mode 100644
index 00000000000..9e43eb47f97
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_information_schema_buffer.opt
@@ -0,0 +1,3 @@
+--loose-innodb-buffer-pool-stats
+--loose-innodb-buffer-page
+--loose-innodb-buffer-page-lru
diff --git a/mysql-test/suite/innodb/t/innodb_information_schema_buffer.test b/mysql-test/suite/innodb/t/innodb_information_schema_buffer.test
index 751a2bd6b5e..5bfac22ec39 100644
--- a/mysql-test/suite/innodb/t/innodb_information_schema_buffer.test
+++ b/mysql-test/suite/innodb/t/innodb_information_schema_buffer.test
@@ -1,6 +1,11 @@
# Exercise the code path for INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS
# and INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+# This test assumes that buffer pool is idle
+# with key rotation threads buffer pages gets evicted this
+# testcase gets flaky
+-- source include/not_encrypted.inc
+
-- source include/have_innodb.inc
-- disable_result_log
@@ -25,7 +30,7 @@ INSERT INTO infoschema_buffer_test VALUES(9);
# right away
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_buffer_test"
+WHERE TABLE_NAME like "%infoschema_buffer_test%"
and PAGE_STATE="file_page" and PAGE_TYPE="index";
# The NUMBER_RECORDS and DATA_SIZE should check with each insertion
@@ -33,14 +38,14 @@ INSERT INTO infoschema_buffer_test VALUES(19);
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_buffer_test"
+WHERE TABLE_NAME like "%infoschema_buffer_test%"
and PAGE_STATE="file_page" and PAGE_TYPE="index";
CREATE INDEX idx ON infoschema_buffer_test(col1);
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_buffer_test"
+WHERE TABLE_NAME like "%infoschema_buffer_test%"
and PAGE_STATE="file_page" and INDEX_NAME = "idx" and PAGE_TYPE="index";
@@ -49,7 +54,7 @@ DROP TABLE infoschema_buffer_test;
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_buffer_test";
+WHERE TABLE_NAME like "%infoschema_buffer_test%";
# Do one more test
#--replace_regex /'*[0-9]*'/'NUM'/
@@ -64,13 +69,9 @@ ENGINE=INNODB;
SELECT count(*)
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
-WHERE TABLE_NAME like "%infoschema_child" and PAGE_STATE="file_page"
+WHERE TABLE_NAME like "%infoschema_child%" and PAGE_STATE="file_page"
and PAGE_TYPE="index";
DROP TABLE infoschema_child;
DROP TABLE infoschema_parent;
-show create table information_schema.innodb_buffer_page;
-show create table information_schema.innodb_buffer_page_lru;
-show create table information_schema.innodb_buffer_pool_stats;
-
diff --git a/mysql-test/suite/innodb/t/innodb_max_recordsize_32k.opt b/mysql-test/suite/innodb/t/innodb_max_recordsize_32k.opt
new file mode 100644
index 00000000000..f543bd0da39
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_max_recordsize_32k.opt
@@ -0,0 +1,3 @@
+--innodb-page-size=32K
+--innodb_buffer_pool_size=32M
+--innodb-stats-persistent=ON
diff --git a/mysql-test/suite/innodb/t/innodb_max_recordsize_32k.test b/mysql-test/suite/innodb/t/innodb_max_recordsize_32k.test
new file mode 100644
index 00000000000..528a6b0390a
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_max_recordsize_32k.test
@@ -0,0 +1,400 @@
+--source include/have_innodb.inc
+--source include/have_innodb_32k.inc
+
+# Check page size 32k
+SELECT @@innodb_page_size;
+
+let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
+let $innodb_file_format = `SELECT @@innodb_file_format`;
+let $innodb_strict_mode = `SELECT @@innodb_strict_mode`;
+
+--disable_warnings
+SET GLOBAL innodb_file_format='Barracuda';
+SET GLOBAL innodb_file_per_table=ON;
+SET @@innodb_strict_mode=ON;
+--enable_warnings
+
+SELECT @@innodb_file_format;
+SELECT @@innodb_file_per_table;
+SELECT @@innodb_strict_mode;
+
+# Check the error when the max record length > 16K for innodb_page_size=32k
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT= COMPACT;
+
+# Check the error when the max record length > 16K for innodb_page_size=32k
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT= DYNAMIC;
+show warnings;
+
+# Check the error when the max record length > 16K for innodb_page_size=32k
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+show warnings;
+
+# FIXED not supported
+-- error 1005
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=FIXED;
+show warnings;
+
+-- error 1005
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPRESSED;
+show warnings;
+
+--disable_warnings
+SET @@innodb_strict_mode=OFF;
+SELECT @@innodb_strict_mode;
+--enable_warnings
+
+# Check the Warning | 139 | Row size too large (> 16318)
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPACT;
+
+# row size 16353 > 16K
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),'a',NULL);
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+# Check the Warning | 139 | Row size too large (> 16318)
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPACT;
+
+# row size 16318 : expected to fail
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',156),NULL);
+
+# row size 16317
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',155),NULL);
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+# Check the Error | 118 | Row size too large (> 16318)
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=DYNAMIC;
+
+# Check the Warning | 139 | Row size too large (> 16318)
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=DYNAMIC;
+
+# row size 16318 : expected to fail
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',156),NULL);
+
+# row size 16317
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',155),NULL);
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+# Check the Warning | 139 | Row size too large (> 16318)
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+
+# 65 * 255 = 16575
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255));
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+# Check the Warning | 139 | Row size too large (> 16318)
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+
+# row size 16315 : expected to fail
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',89),NULL);
+
+# row size 16314
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',88),NULL);
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+# Check the Warning | 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > NNNNk. Assuming ROW_FORMAT=COMPACT
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPRESSED;
+
+DROP TABLE tab5;
+
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+FLUSH TABLE t;
+ANALYZE TABLE t;
+# retrieve the number of leaf pages
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+DROP TABLE t;
+
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+FLUSH TABLE t;
+ANALYZE TABLE t;
+# retrieve the number of leaf pages
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+DROP TABLE t;
+
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+FLUSH TABLE t;
+ANALYZE TABLE t;
+# retrieve the number of leaf pages
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+DROP TABLE t;
+
+# cleanup
+--disable_query_log
+--disable_warnings
+eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
+eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
+eval SET GLOBAL INNODB_STRICT_MODE=$innodb_strict_mode;
+--enable_warnings
+--enable_query_log
+
+--echo # Success
+
diff --git a/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.opt b/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.opt
new file mode 100644
index 00000000000..8c9b8ae1e48
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.opt
@@ -0,0 +1,3 @@
+--innodb-page-size=64K
+--innodb_buffer_pool_size=32M
+--innodb-stats-persistent=ON
diff --git a/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.test b/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.test
new file mode 100644
index 00000000000..3e529636968
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.test
@@ -0,0 +1,604 @@
+--source include/have_innodb.inc
+--source include/have_innodb_64k.inc
+
+# Check page size 64k
+SELECT @@innodb_page_size;
+
+let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
+let $innodb_file_format = `SELECT @@innodb_file_format`;
+let $innodb_strict_mode = `SELECT @@innodb_strict_mode`;
+
+--disable_warnings
+SET GLOBAL innodb_file_format='Barracuda';
+SET GLOBAL innodb_file_per_table=ON;
+SET @@innodb_strict_mode=ON;
+--enable_warnings
+
+SELECT @@innodb_file_format;
+SELECT @@innodb_file_per_table;
+SELECT @@innodb_strict_mode;
+
+# Check the error when the max record length > 32K for innodb_page_size=64k
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT= COMPACT;
+
+# Check the error when the max record length > 16K for innodb_page_size=64k
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT= DYNAMIC;
+
+# Check the error when the max record length > 16K for innodb_page_size=64k
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+show warnings;
+
+# FIXED not supported
+-- error 1005
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=FIXED;
+show warnings;
+
+-- error 1005
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPRESSED;
+show warnings;
+
+--disable_warnings
+SET @@innodb_strict_mode=OFF;
+SELECT @@innodb_strict_mode;
+--enable_warnings
+
+# Check the Warning | 139 | Row size too large
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=COMPACT;
+
+# row size 32936 : should fail
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),'a',NULL);
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255),
+ccol1 VARCHAR(255),ccol2 VARCHAR(255),ccol3 VARCHAR(255),ccol4 VARCHAR(255),ccol5 VARCHAR(255),
+ccol6 VARCHAR(255),ccol7 VARCHAR(255),ccol8 VARCHAR(255),ccol9 VARCHAR(255),ccol10 VARCHAR(255), ccol11 VARCHAR(255),
+ccol12 VARCHAR(255),ccol13 VARCHAR(255),ccol14 VARCHAR(255),ccol15 VARCHAR(255),ccol16 VARCHAR(255), ccol17 VARCHAR(255),
+ccol18 VARCHAR(255),ccol19 VARCHAR(255),ccol20 VARCHAR(255),ccol21 VARCHAR(255),ccol22 VARCHAR(255), ccol23 VARCHAR(255),
+ccol24 VARCHAR(255),ccol25 VARCHAR(255),ccol26 VARCHAR(255),ccol27 VARCHAR(255),ccol28 VARCHAR(255), ccol29 VARCHAR(255),
+ccol30 VARCHAR(255),ccol31 VARCHAR(255),ccol32 VARCHAR(255),ccol33 VARCHAR(255),ccol34 VARCHAR(255), ccol35 VARCHAR(255),
+ccol36 VARCHAR(255),ccol37 VARCHAR(255),ccol38 VARCHAR(255),ccol39 VARCHAR(255),ccol40 VARCHAR(255), ccol41 VARCHAR(255),
+ccol42 VARCHAR(255),ccol43 VARCHAR(255),ccol44 VARCHAR(255),ccol45 VARCHAR(255),ccol46 VARCHAR(255), ccol47 VARCHAR(255),
+ccol48 VARCHAR(255),ccol49 VARCHAR(255),ccol50 VARCHAR(255),ccol51 VARCHAR(255),ccol52 VARCHAR(255), ccol53 VARCHAR(255),
+ccol54 VARCHAR(255),ccol55 VARCHAR(255),ccol56 VARCHAR(255),ccol57 VARCHAR(255),ccol58 VARCHAR(255), ccol59 VARCHAR(255),
+ccol60 VARCHAR(255),ccol61 VARCHAR(255),ccol62 VARCHAR(255),ccol63 VARCHAR(255),ccol64 VARCHAR(255), ccol65 VARCHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=COMPACT;
+
+# row size 16384 >= 16K : expected to fail
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',214),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+
+# row size 16383 < 16K : expected to pass
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',213),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+# Check the Error | 118 | Row size too large (> 16318)
+--error ER_TOO_BIG_ROWSIZE
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=DYNAMIC;
+
+# Check the Warning | 139 | Row size too large (> 16318)
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255),
+ccol1 VARCHAR(255),ccol2 VARCHAR(255),ccol3 VARCHAR(255),ccol4 VARCHAR(255),ccol5 VARCHAR(255),
+ccol6 VARCHAR(255),ccol7 VARCHAR(255),ccol8 VARCHAR(255),ccol9 VARCHAR(255),ccol10 VARCHAR(255), ccol11 VARCHAR(255),
+ccol12 VARCHAR(255),ccol13 VARCHAR(255),ccol14 VARCHAR(255),ccol15 VARCHAR(255),ccol16 VARCHAR(255), ccol17 VARCHAR(255),
+ccol18 VARCHAR(255),ccol19 VARCHAR(255),ccol20 VARCHAR(255),ccol21 VARCHAR(255),ccol22 VARCHAR(255), ccol23 VARCHAR(255),
+ccol24 VARCHAR(255),ccol25 VARCHAR(255),ccol26 VARCHAR(255),ccol27 VARCHAR(255),ccol28 VARCHAR(255), ccol29 VARCHAR(255),
+ccol30 VARCHAR(255),ccol31 VARCHAR(255),ccol32 VARCHAR(255),ccol33 VARCHAR(255),ccol34 VARCHAR(255), ccol35 VARCHAR(255),
+ccol36 VARCHAR(255),ccol37 VARCHAR(255),ccol38 VARCHAR(255),ccol39 VARCHAR(255),ccol40 VARCHAR(255), ccol41 VARCHAR(255),
+ccol42 VARCHAR(255),ccol43 VARCHAR(255),ccol44 VARCHAR(255),ccol45 VARCHAR(255),ccol46 VARCHAR(255), ccol47 VARCHAR(255),
+ccol48 VARCHAR(255),ccol49 VARCHAR(255),ccol50 VARCHAR(255),ccol51 VARCHAR(255),ccol52 VARCHAR(255), ccol53 VARCHAR(255),
+ccol54 VARCHAR(255),ccol55 VARCHAR(255),ccol56 VARCHAR(255),ccol57 VARCHAR(255),ccol58 VARCHAR(255), ccol59 VARCHAR(255),
+ccol60 VARCHAR(255),ccol61 VARCHAR(255),ccol62 VARCHAR(255),ccol63 VARCHAR(255),ccol64 VARCHAR(255), ccol65 VARCHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=DYNAMIC;
+
+# row size 16384 >= 16K : expected to fail
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',214),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+
+# row size 16383 < 16K : expected to pass
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',213),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+# Check the Warning | 139 | Row size too large
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 CHAR (255), col2 CHAR (255), col3 CHAR(255),col4 CHAR(255), col5 CHAR(255),
+col6 CHAR(255), col7 CHAR(255), col8 CHAR(255), col9 CHAR(255),col10 CHAR(255), col11 CHAR(255),
+col12 CHAR(255), col13 CHAR(255),col14 CHAR(255),col15 CHAR(255),col16 CHAR(255), col17 CHAR(255),
+col18 CHAR(255),col19 CHAR(255),col20 CHAR(255),col21 CHAR(255),col22 CHAR(255), col23 CHAR(255),
+col24 CHAR(255),col25 CHAR(255),col26 CHAR(255),col27 CHAR(255),col28 CHAR(255), col29 CHAR(255),
+col30 CHAR(255),col31 CHAR(255),col32 CHAR(255),col33 CHAR(255),col34 CHAR(255), col35 CHAR(255),
+col36 CHAR(255),col37 CHAR(255),col38 CHAR(255),col39 CHAR(255),col40 CHAR(255), col41 CHAR(255),
+col42 CHAR(255),col43 CHAR(255),col44 CHAR(255),col45 CHAR(255),col46 CHAR(255), col47 CHAR(255),
+col48 CHAR(255),col49 CHAR(255),col50 CHAR(255),col51 CHAR(255),col52 CHAR(255), col53 CHAR(255),
+col54 CHAR(255),col55 CHAR(255),col56 CHAR(255),col57 CHAR(255),col58 CHAR(255), col59 CHAR(255),
+col60 CHAR(255),col61 CHAR(255),col62 CHAR(255),col63 CHAR(255),col64 CHAR(255), col65 CHAR(255),
+ccol1 CHAR(255),ccol2 CHAR(255),ccol3 CHAR(255),ccol4 CHAR(255),ccol5 CHAR(255),
+ccol6 CHAR(255),ccol7 CHAR(255),ccol8 CHAR(255),ccol9 CHAR(255),ccol10 CHAR(255), ccol11 CHAR(255),
+ccol12 CHAR(255),ccol13 CHAR(255),ccol14 CHAR(255),ccol15 CHAR(255),ccol16 CHAR(255), ccol17 CHAR(255),
+ccol18 CHAR(255),ccol19 CHAR(255),ccol20 CHAR(255),ccol21 CHAR(255),ccol22 CHAR(255), ccol23 CHAR(255),
+ccol24 CHAR(255),ccol25 CHAR(255),ccol26 CHAR(255),ccol27 CHAR(255),ccol28 CHAR(255), ccol29 CHAR(255),
+ccol30 CHAR(255),ccol31 CHAR(255),ccol32 CHAR(255),ccol33 CHAR(255),ccol34 CHAR(255), ccol35 CHAR(255),
+ccol36 CHAR(255),ccol37 CHAR(255),ccol38 CHAR(255),ccol39 CHAR(255),ccol40 CHAR(255), ccol41 CHAR(255),
+ccol42 CHAR(255),ccol43 CHAR(255),ccol44 CHAR(255),ccol45 CHAR(255),ccol46 CHAR(255), ccol47 CHAR(255),
+ccol48 CHAR(255),ccol49 CHAR(255),ccol50 CHAR(255),ccol51 CHAR(255),ccol52 CHAR(255), ccol53 CHAR(255),
+ccol54 CHAR(255),ccol55 CHAR(255),ccol56 CHAR(255),ccol57 CHAR(255),ccol58 CHAR(255), ccol59 CHAR(255),
+ccol60 CHAR(255),ccol61 CHAR(255),ccol62 CHAR(255),ccol63 CHAR(255),ccol64 CHAR(255), ccol65 CHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+
+# 65 * 255 = 16575
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+# Check the Warning | 139 | Row size too large
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255),
+ccol1 VARCHAR(255),ccol2 VARCHAR(255),ccol3 VARCHAR(255),ccol4 VARCHAR(255),ccol5 VARCHAR(255),
+ccol6 VARCHAR(255),ccol7 VARCHAR(255),ccol8 VARCHAR(255),ccol9 VARCHAR(255),ccol10 VARCHAR(255), ccol11 VARCHAR(255),
+ccol12 VARCHAR(255),ccol13 VARCHAR(255),ccol14 VARCHAR(255),ccol15 VARCHAR(255),ccol16 VARCHAR(255), ccol17 VARCHAR(255),
+ccol18 VARCHAR(255),ccol19 VARCHAR(255),ccol20 VARCHAR(255),ccol21 VARCHAR(255),ccol22 VARCHAR(255), ccol23 VARCHAR(255),
+ccol24 VARCHAR(255),ccol25 VARCHAR(255),ccol26 VARCHAR(255),ccol27 VARCHAR(255),ccol28 VARCHAR(255), ccol29 VARCHAR(255),
+ccol30 VARCHAR(255),ccol31 VARCHAR(255),ccol32 VARCHAR(255),ccol33 VARCHAR(255),ccol34 VARCHAR(255), ccol35 VARCHAR(255),
+ccol36 VARCHAR(255),ccol37 VARCHAR(255),ccol38 VARCHAR(255),ccol39 VARCHAR(255),ccol40 VARCHAR(255), ccol41 VARCHAR(255),
+ccol42 VARCHAR(255),ccol43 VARCHAR(255),ccol44 VARCHAR(255),ccol45 VARCHAR(255),ccol46 VARCHAR(255), ccol47 VARCHAR(255),
+ccol48 VARCHAR(255),ccol49 VARCHAR(255),ccol50 VARCHAR(255),ccol51 VARCHAR(255),ccol52 VARCHAR(255), ccol53 VARCHAR(255),
+ccol54 VARCHAR(255),ccol55 VARCHAR(255),ccol56 VARCHAR(255),ccol57 VARCHAR(255),ccol58 VARCHAR(255), ccol59 VARCHAR(255),
+ccol60 VARCHAR(255),ccol61 VARCHAR(255),ccol62 VARCHAR(255),ccol63 VARCHAR(255),ccol64 VARCHAR(255), ccol65 VARCHAR(255)
+)
+ENGINE = innodb ROW_FORMAT=REDUNDANT;
+
+# row size 16383 >= 16K-1 : expected to fail
+--error ER_TOO_BIG_ROWSIZE
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',27),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+
+# row size 16382 < 16K-1 : expected to pass
+INSERT INTO tab5 values(repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',255),
+repeat('a',255),repeat('a',255),repeat('a',255),repeat('a',26),NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL,
+NULL,NULL,NULL,NULL,NULL
+);
+
+SELECT * FROM tab5;
+DROP TABLE tab5;
+
+# Check the Warning | 1478 InnoDB: Cannot create a COMPRESSED table when innodb_page_size > NNNNk. Assuming ROW_FORMAT=COMPACT
+--replace_regex /> [0-9]+/> NNNN/
+CREATE TABLE tab5(col1 VARCHAR (255), col2 VARCHAR (255), col3 VARCHAR(255),col4 VARCHAR(255), col5 VARCHAR(255),
+col6 VARCHAR(255), col7 VARCHAR(255), col8 VARCHAR(255), col9 VARCHAR(255),col10 VARCHAR(255), col11 VARCHAR(255),
+col12 VARCHAR(255), col13 VARCHAR(255),col14 VARCHAR(255),col15 VARCHAR(255),col16 VARCHAR(255), col17 VARCHAR(255),
+col18 VARCHAR(255),col19 VARCHAR(255),col20 VARCHAR(255),col21 VARCHAR(255),col22 VARCHAR(255), col23 VARCHAR(255),
+col24 VARCHAR(255),col25 VARCHAR(255),col26 VARCHAR(255),col27 VARCHAR(255),col28 VARCHAR(255), col29 VARCHAR(255),
+col30 VARCHAR(255),col31 VARCHAR(255),col32 VARCHAR(255),col33 VARCHAR(255),col34 VARCHAR(255), col35 VARCHAR(255),
+col36 VARCHAR(255),col37 VARCHAR(255),col38 VARCHAR(255),col39 VARCHAR(255),col40 VARCHAR(255), col41 VARCHAR(255),
+col42 VARCHAR(255),col43 VARCHAR(255),col44 VARCHAR(255),col45 VARCHAR(255),col46 VARCHAR(255), col47 VARCHAR(255),
+col48 VARCHAR(255),col49 VARCHAR(255),col50 VARCHAR(255),col51 VARCHAR(255),col52 VARCHAR(255), col53 VARCHAR(255),
+col54 VARCHAR(255),col55 VARCHAR(255),col56 VARCHAR(255),col57 VARCHAR(255),col58 VARCHAR(255), col59 VARCHAR(255),
+col60 VARCHAR(255),col61 VARCHAR(255),col62 VARCHAR(255),col63 VARCHAR(255),col64 VARCHAR(255), col65 VARCHAR(255))
+ENGINE = innodb ROW_FORMAT=COMPRESSED;
+
+DROP TABLE tab5;
+
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+FLUSH TABLE t;
+ANALYZE TABLE t;
+# retrieve the number of leaf pages
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+DROP TABLE t;
+
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+FLUSH TABLE t;
+ANALYZE TABLE t;
+# retrieve the number of leaf pages
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+DROP TABLE t;
+
+CREATE TABLE t(col BLOB) ENGINE=InnoDB ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+INSERT INTO t VALUES (REPEAT('a',16384));
+INSERT INTO t VALUES (REPEAT('a',32768));
+INSERT INTO t VALUES (REPEAT('a',65535));
+SELECT LENGTH(col) FROM t;
+FLUSH TABLE t;
+ANALYZE TABLE t;
+# retrieve the number of leaf pages
+SELECT stat_value FROM mysql.innodb_index_stats where database_name = 'test' and table_name= 't' and stat_name='n_leaf_pages';
+SELECT clustered_index_size from mysql.innodb_table_stats where database_name = 'test' and table_name= 't';
+DROP TABLE t;
+
+# cleanup
+--disable_query_log
+--disable_warnings
+eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
+eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
+eval SET GLOBAL INNODB_STRICT_MODE=$innodb_strict_mode;
+--enable_warnings
+--enable_query_log
+
+--echo # Success
+
diff --git a/mysql-test/suite/innodb/t/innodb_monitor.test b/mysql-test/suite/innodb/t/innodb_monitor.test
new file mode 100644
index 00000000000..864e0cae862
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_monitor.test
@@ -0,0 +1,387 @@
+# This is the test for Metrics Monitor Table feature.
+# Test the metrics monitor system's control system
+# and counter accuracy.
+
+--source include/have_innodb.inc
+
+set global innodb_monitor_disable = All;
+
+# Test turn on/off the monitor counter with "all" option
+# By default, they will be off
+select name, status from information_schema.innodb_metrics;
+
+# Turn on all monitor counters
+set global innodb_monitor_enable = all;
+
+# status should all change to "enabled"
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Test wrong argument to the global configure option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = aaa;
+
+# We require a valid monitor counter/module name. There is no default
+# counter name or module. A warning will be printed asking user to
+# specify a valid counter name.
+#--disable_warnings
+#set global innodb_monitor_enable = default;
+#--enable_warnings
+
+# Turn off all monitor counters, option name should be case
+# insensitive
+set global innodb_monitor_disable = All;
+
+# status should all change to "disabled"
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Reset all counter values
+set global innodb_monitor_reset_all = all;
+
+# count should all change to 0
+select name from information_schema.innodb_metrics where count!=0;
+
+# Test wildcard match, turn on all counters contain string "lock"
+set global innodb_monitor_enable = "%lock%";
+
+# All lock related counter should be enabled
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+
+# Disable them
+set global innodb_monitor_disable = "%lock%";
+
+# All lock related counter should be disabled
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+
+# No match for "%lock*"
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = "%lock*";
+
+# All counters will be turned on with wildcard match string with all "%"
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all counters
+set global innodb_monitor_disable="%%%%%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# One more round testing. All counters will be turned on with
+# single wildcard character "%"
+set global innodb_monitor_enable="%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all the counters with "%_%"
+set global innodb_monitor_disable="%_%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Turn on all counters start with "log"
+set global innodb_monitor_enable="log%%%%";
+
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+
+# Turn on counters "os_data_fsync" with wildcard match "os_%a_fs_ncs", "_"
+# is single character wildcard match word
+set global innodb_monitor_enable="os_%a_fs_ncs";
+
+# Turn on counters whose name contains "os" and "pending" with
+# wildcard match "os%pending%"
+set global innodb_monitor_enable="os%pending%";
+
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+
+# Empty string is an invalid option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="";
+
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="_";
+
+# Reset counters only in "module_metadata" module
+set global innodb_monitor_disable = module_metadata;
+
+set global innodb_monitor_reset_all = module_metadata;
+
+# Only turn on "table_open" counter
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# This will open the monitor_test table
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment by 1
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset the counter value while counter is still on (started)
+# This will reset value "count_reset" but not
+# "count"
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again to increment "metadata_table_handles_opened" again
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Cannot reset all monitor value while the counter is on
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn off the counter "metadata_table_handles_opened"
+set global innodb_monitor_disable = metadata_table_handles_opened;
+
+# Reset the counter value while counter is off (disabled)
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again. Since monitor is off, "metadata_table_handles_opened"
+# should not be incremented
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# "metadata_table_handles_opened" should increment
+select * from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset all the counters, include those counter *_since_start
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn on "table_open" counter again
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Test metadata_table_handles_opened again to see if it is working correctly
+# after above round of turning on/off/reset
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Test counter "metadata_table_handles_closed",
+# create index will close the old handle
+set global innodb_monitor_enable = metadata_table_handles_closed;
+
+create index idx on monitor_test(col);
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Reset counters only in "module_metadata" module
+set global innodb_monitor_disable = module_metadata;
+
+set global innodb_monitor_reset = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+set global innodb_monitor_reset_all = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Test Transaction Module
+set global innodb_monitor_enable = module_trx;
+
+begin;
+insert into monitor_test values(9);
+commit;
+
+begin;
+insert into monitor_test values(9);
+rollback;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+
+set global innodb_monitor_disable = module_trx;
+
+# Test DML Module
+set global innodb_monitor_enable = module_dml;
+
+insert into monitor_test values(9);
+
+update monitor_test set col = 10 where col = 9;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+ from information_schema.innodb_metrics
+ where name like "dml%";
+
+# test reset counter while the counter is on
+set global innodb_monitor_reset = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# insert/delete some rows after the reset
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# We do not allow reset_all while the counter is on, nothing
+# should be reset here
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Turn off the counter
+set global innodb_monitor_disable = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Reset all counter values
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Open individual counter "dml_inserts"
+set global innodb_monitor_enable = dml_inserts;
+
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+# Only counter "dml_inserts" should be updated
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+set global innodb_monitor_disable = module_dml;
+
+drop table monitor_test;
+
+set global innodb_monitor_enable = file_num_open_files;
+
+# Counters are unpredictable when innodb-file-per-table is on
+--replace_column 2 # 3 # 4 # 5 # 6 # 7 #
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+
+set global innodb_monitor_disable = file_num_open_files;
+
+# Test ICP module counters
+set global innodb_monitor_enable = "icp%";
+
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+
+insert into monitor_test values("13", 2, "aa");
+
+select a from monitor_test where b < 1 for update;
+
+# should have icp_attempts = 1 and icp_out_of_range = 1
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+# should have icp_attempts = 2 and icp_match = 1
+select a from monitor_test where b < 3 for update;
+
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+drop table monitor_test;
+
+set global innodb_monitor_disable = all;
+set global innodb_monitor_reset_all = all;
+
+# Test for bug #13966091
+select 1 from `information_schema`.`INNODB_METRICS`
+where case (1) when (1) then (AVG_COUNT_RESET) else (1) end;
+
+-- disable_warnings
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+-- enable_warnings
diff --git a/mysql-test/suite/innodb/t/innodb_multi_update.test b/mysql-test/suite/innodb/t/innodb_multi_update.test
index 73ca0ba51dd..8d5283a9ed5 100644
--- a/mysql-test/suite/innodb/t/innodb_multi_update.test
+++ b/mysql-test/suite/innodb/t/innodb_multi_update.test
@@ -29,7 +29,7 @@ select * from bug38999_2;
drop table bug38999_1,bug38999_2;
--echo #
---echo # Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
+--echo # Bug#54475 improper error handling causes cascading crashing failures in innodb
--echo #
CREATE TABLE t1(f1 INT) ENGINE=INNODB;
INSERT INTO t1 VALUES(1);
diff --git a/mysql-test/suite/innodb/t/innodb_mutexes-master.opt b/mysql-test/suite/innodb/t/innodb_mutexes-master.opt
new file mode 100644
index 00000000000..493faf1903e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_mutexes-master.opt
@@ -0,0 +1 @@
+--innodb-mutexes \ No newline at end of file
diff --git a/mysql-test/suite/innodb/t/innodb_mutexes.test b/mysql-test/suite/innodb/t/innodb_mutexes.test
new file mode 100644
index 00000000000..3b6b949c25d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_mutexes.test
@@ -0,0 +1,66 @@
+--source include/have_innodb.inc
+
+connect(con1,localhost,root,,);
+connect(con2,localhost,root,,);
+connect(con3,localhost,root,,);
+
+create table t1(a int not null primary key, b int, c int,d CHAR(100)) engine=innodb;
+
+delimiter //;
+create procedure innodb_insert_proc (repeat_count int)
+begin
+ declare current_num int;
+ set current_num = 0;
+ while current_num < repeat_count do
+ insert into t1 values(current_num, RAND(), RAND(), substring(MD5(RAND()), -64));
+ set current_num = current_num + 1;
+ end while;
+end//
+delimiter ;//
+commit;
+
+set autocommit=0;
+call innodb_insert_proc(20000);
+commit;
+set autocommit=1;
+
+connection con1;
+send delete from t1 where a between 1000 and 1300;
+
+connection con2;
+send update t1 set b=b+1 where a between 2000 and 2600;
+
+connection con3;
+send insert into t1 select a+30000,b,c,d from t1 where a between 3000 and 4000;
+
+connection default;
+send delete from t1 where a between 6000 and 7000;
+
+connection con1;
+reap;
+
+connection con2;
+reap;
+
+connection con3;
+reap;
+
+connection default;
+reap;
+
+disconnect con1;
+disconnect con2;
+disconnect con3;
+
+# test that below does not crash, actual result is not
+# repeatable
+--disable_query_log
+--disable_result_log
+--disable_warnings
+select * from information_schema.innodb_mutexes;
+--enable_query_log
+--enable_result_log
+--enable_warnings
+
+drop procedure innodb_insert_proc;
+drop table t1; \ No newline at end of file
diff --git a/mysql-test/suite/innodb/t/innodb_mysql.test b/mysql-test/suite/innodb/t/innodb_mysql.test
index 3ae5be3aa30..7c2ae98f001 100644
--- a/mysql-test/suite/innodb/t/innodb_mysql.test
+++ b/mysql-test/suite/innodb/t/innodb_mysql.test
@@ -5,11 +5,12 @@
# main testing code t/innodb_mysql.test -> include/mix1.inc
#
-# Slow test, don't run during staging part
--- source include/not_staging.inc
--- source include/have_innodb.inc
--- source include/have_query_cache.inc
+#Want to skip this test from daily Valgrind execution.
+--source include/no_valgrind_without_big.inc
+# Adding big test option for this test.
+--source include/big_test.inc
+-- source include/have_innodb.inc
let $engine_type= InnoDB;
let $other_engine_type= MEMORY;
# InnoDB does support FOREIGN KEYFOREIGN KEYs
@@ -21,21 +22,21 @@ set session innodb_support_xa=default;
--disable_warnings
drop table if exists t1, t2, t3;
--enable_warnings
-#
-# BUG#35850: Performance regression in 5.1.23/5.1.24
-#
+--echo #
+--echo # BUG#35850: Performance regression in 5.1.23/5.1.24
+--echo #
create table t1(a int);
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
create table t2 (a int, b int, pk int, key(a,b), primary key(pk)) engine=innodb;
insert into t2 select @a:=A.a+10*(B.a + 10*C.a),@a, @a from t1 A, t1 B, t1 C;
---echo this must use key 'a', not PRIMARY:
+--echo # this must use key 'a', not PRIMARY:
--replace_column 9 #
explain select a from t2 where a=b;
drop table t1, t2;
-#
-# Bug #40360: Binlog related errors with binlog off
-#
+--echo #
+--echo # Bug #40360: Binlog related errors with binlog off
+--echo #
# This bug is triggered when the binlog format is STATEMENT and the
# binary log is turned off. In this case, no error should be shown for
# the statement since there are no replication issues.
@@ -47,9 +48,9 @@ CREATE TABLE t1 ( a INT ) ENGINE=InnoDB;
INSERT INTO t1 VALUES(1);
DROP TABLE t1;
-#
-# Bug#37284 Crash in Field_string::type()
-#
+--echo #
+--echo # Bug#37284 Crash in Field_string::type()
+--echo #
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
@@ -58,10 +59,10 @@ CREATE INDEX i1 on t1 (a(3));
SELECT * FROM t1 WHERE a = 'abcde';
DROP TABLE t1;
-#
-# Bug #37742: HA_EXTRA_KEYREAD flag is set when key contains only prefix of
-# requested column
-#
+--echo #
+--echo # Bug #37742: HA_EXTRA_KEYREAD flag is set when key contains only prefix of
+--echo # requested column
+--echo #
CREATE TABLE foo (a int, b int, c char(10),
PRIMARY KEY (c(3)),
@@ -85,6 +86,12 @@ INSERT INTO foo VALUES
INSERT INTO bar SELECT * FROM foo;
INSERT INTO foo2 SELECT * FROM foo;
+-- disable_result_log
+ANALYZE TABLE bar;
+ANALYZE TABLE foo;
+ANALYZE TABLE foo2;
+-- enable_result_log
+
--query_vertical EXPLAIN SELECT c FROM bar WHERE b>2;
--query_vertical EXPLAIN SELECT c FROM foo WHERE b>2;
--query_vertical EXPLAIN SELECT c FROM foo2 WHERE b>2;
@@ -96,9 +103,9 @@ INSERT INTO foo2 SELECT * FROM foo;
DROP TABLE foo, bar, foo2;
-#
-# Bug#41348: INSERT INTO tbl SELECT * FROM temp_tbl overwrites locking type of temp table
-#
+--echo #
+--echo # Bug#41348: INSERT INTO tbl SELECT * FROM temp_tbl overwrites locking type of temp table
+--echo #
--disable_warnings
DROP TABLE IF EXISTS t1,t3,t2;
@@ -137,9 +144,9 @@ DEALLOCATE PREPARE stmt3;
DROP TABLE t1,t3,t2;
DROP FUNCTION f1;
-#
-# Bug#37016: TRUNCATE TABLE removes some rows but not all
-#
+--echo #
+--echo # Bug#37016: TRUNCATE TABLE removes some rows but not all
+--echo #
--disable_warnings
DROP TABLE IF EXISTS t1,t2;
@@ -337,9 +344,9 @@ DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
-#
-# Bug#43580: Issue with Innodb on multi-table update
-#
+--echo #
+--echo # Bug#43580: Issue with Innodb on multi-table update
+--echo #
CREATE TABLE t1 (a INT, b INT, KEY (a)) ENGINE = INNODB;
CREATE TABLE t2 (a INT KEY, b INT, KEY (b)) ENGINE = INNODB;
@@ -460,8 +467,14 @@ INSERT INTO t1 (b,c,d,e) SELECT RAND()*10000, RAND()*10000, d, e FROM t1;
INSERT INTO t1 (b,c,d,e) SELECT RAND()*10000, RAND()*10000, d, e FROM t1;
INSERT INTO t1 (b,c,d,e) SELECT RAND()*10000, RAND()*10000, d, e FROM t1;
INSERT INTO t1 (b,c,d,e) SELECT RAND()*10000, RAND()*10000, d, e FROM t1;
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
EXPLAIN SELECT * FROM t1 WHERE b=1 AND c=1 ORDER BY a;
EXPLAIN SELECT * FROM t1 FORCE INDEX(i2) WHERE b=1 and c=1 ORDER BY a;
+# With 4k pages, the 'rows' column in the output below is either 120 or 138,
+# not 128 as it is with 8k and 16k. Bug#12602606
+--replace_result 128 {checked} 120 {checked} 138 {checked}
EXPLAIN SELECT * FROM t1 FORCE INDEX(PRIMARY) WHERE b=1 AND c=1 ORDER BY a;
DROP TABLE t1;
@@ -505,11 +518,7 @@ INSERT INTO t2 VALUES (),();
CREATE OR REPLACE VIEW v1 AS SELECT 1 FROM t2
WHERE b =(SELECT a FROM t1 LIMIT 1);
---disable_query_log
---disable_result_log
CONNECT (con1, localhost, root,,);
---enable_query_log
---enable_result_log
CONNECTION default;
DELIMITER |;
@@ -546,7 +555,7 @@ DROP TABLE t1,t2;
--echo # Bug #49324: more valgrind errors in test_if_skip_sort_order
--echo #
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb ;
---echo #should not cause valgrind warnings
+--echo # should not cause valgrind warnings
SELECT 1 FROM t1 JOIN t1 a USING(a) GROUP BY t1.a,t1.a;
DROP TABLE t1;
@@ -558,6 +567,10 @@ create table t1(f1 int not null primary key, f2 int) engine=innodb;
create table t2(f1 int not null, key (f1)) engine=innodb;
insert into t1 values (1,1),(2,2),(3,3);
insert into t2 values (1),(2),(3);
+-- disable_result_log
+analyze table t1;
+analyze table t2;
+-- enable_result_log
explain select t1.* from t1 left join t2 using(f1) group by t1.f1;
drop table t1,t2;
--echo #
@@ -576,6 +589,8 @@ INSERT INTO t1 VALUES (1,1,1,1,1,1), (2,2,2,2,2,2), (3,3,3,3,3,3),
(7,7,7,7,7,7), (8,8,8,8,8,8), (9,9,9,9,9,9),
(11,11,11,11,11,11);
+ANALYZE TABLE t1;
+
--query_vertical EXPLAIN SELECT COUNT(*) FROM t1
DROP TABLE t1;
@@ -594,36 +609,6 @@ ALTER TABLE t1 DROP INDEX k, ADD UNIQUE INDEX k (a,b);
DROP TABLE t1;
---echo #
---echo # Bug #53334: wrong result for outer join with impossible ON condition
---echo # (see the same test case for MyISAM in join.test)
---echo #
-
-create table t1 (id int primary key);
-create table t2 (id int);
-
-insert into t1 values (75);
-insert into t1 values (79);
-insert into t1 values (78);
-insert into t1 values (77);
-replace into t1 values (76);
-replace into t1 values (76);
-insert into t1 values (104);
-insert into t1 values (103);
-insert into t1 values (102);
-insert into t1 values (101);
-insert into t1 values (105);
-insert into t1 values (106);
-insert into t1 values (107);
-
-insert into t2 values (107),(75),(1000);
-
-select t1.id,t2.id from t2 left join t1 on t1.id>=74 and t1.id<=0
- where t2.id=75 and t1.id is null;
-explain select t1.id,t2.id from t2 left join t1 on t1.id>=74 and t1.id<=0
- where t2.id=75 and t1.id is null;
-
-drop table t1,t2;
--echo #
--echo # Bug #47453: InnoDB incorrectly changes TIMESTAMP columns when
@@ -635,7 +620,7 @@ CREATE TABLE t2 (a INT, b INT,
c TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP) ENGINE=InnoDB;
---echo set up our data elements
+--echo # set up our data elements
INSERT INTO t1 (d) VALUES (1);
INSERT INTO t2 (a,b) VALUES (1,1);
SELECT SECOND(c) INTO @bug47453 FROM t2;
@@ -648,7 +633,7 @@ SELECT SLEEP(1);
UPDATE t1 JOIN t2 ON d=a SET b=1 WHERE a=1;
---echo #should be 0
+--echo # should be 0
SELECT SECOND(c)-@bug47453 FROM t1 JOIN t2 ON d=a;
DROP TABLE t1, t2;
@@ -728,6 +713,13 @@ CREATE TABLE t1 (
LOAD DATA INFILE '../../std_data/intersect-bug50389.tsv' INTO TABLE t1;
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+
+set @tmp_innodb_mysql= @@optimizer_switch;
+set optimizer_switch='extended_keys=off';
+
SELECT * FROM t1 WHERE f1 IN
(3305028,3353871,3772880,3346860,4228206,3336022,
3470988,3305175,3329875,3817277,3856380,3796193,
@@ -739,6 +731,7 @@ EXPLAIN SELECT * FROM t1 WHERE f1 IN
3470988,3305175,3329875,3817277,3856380,3796193,
3784744,4180925,4559596,3963734,3856391,4494153)
AND f5 = 'abcdefghijklmnopwrst' AND f2 = 1221457 AND f4 = 0 ;
+set optimizer_switch=@tmp_innodb_mysql;
DROP TABLE t1;
@@ -754,7 +747,7 @@ CREATE TABLE t1 (
PRIMARY KEY (f1),
UNIQUE KEY (f2, f3),
KEY (f4)
-) ENGINE=InnoDB;
+) ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO t1 VALUES
(1,1,991,1), (2,1,992,1), (3,1,993,1), (4,1,994,1), (5,1,995,1),
@@ -786,64 +779,11 @@ UNLOCK TABLES;
DROP TABLE t1;
--echo #
---echo # Bug#55826: create table .. select crashes with when KILL_BAD_DATA
---echo # is returned
---echo #
-CREATE TABLE t1(a INT) ENGINE=innodb;
-INSERT INTO t1 VALUES (0);
-SET SQL_MODE='STRICT_ALL_TABLES';
---error ER_TRUNCATED_WRONG_VALUE
-CREATE TABLE t2
- SELECT LEAST((SELECT '' FROM t1),NOW()) FROM `t1`;
-DROP TABLE t1;
-SET SQL_MODE=DEFAULT;
-
-
-
---echo #
---echo # Bug#55580: segfault in read_view_sees_trx_id
---echo #
-CREATE TABLE t1 (a INT) ENGINE=Innodb;
-CREATE TABLE t2 (a INT) ENGINE=Innodb;
-INSERT INTO t1 VALUES (1),(2);
-INSERT INTO t2 VALUES (1),(2);
-
-connect (con1,localhost,root,,test);
-connect (con2,localhost,root,,test);
-
-connection con1;
-START TRANSACTION;
-SELECT * FROM t2 LOCK IN SHARE MODE;
-
-connection con2;
-START TRANSACTION;
-SELECT * FROM t1 LOCK IN SHARE MODE;
-
-connection con1;
-let $conn_id= `SELECT CONNECTION_ID()`;
---send SELECT * FROM t1 FOR UPDATE
-
-connection con2;
-let $wait_timeout= 2;
-let $wait_condition= SELECT 1 FROM INFORMATION_SCHEMA.PROCESSLIST
-WHERE ID=$conn_id AND STATE='Sending data';
---source include/wait_condition.inc
---echo # should not crash
---error ER_LOCK_DEADLOCK
-SELECT * FROM t1 GROUP BY (SELECT a FROM t2 LIMIT 1 FOR UPDATE) + t1.a;
-
-connection default;
-disconnect con1;
-disconnect con2;
-
-DROP TABLE t1,t2;
-
---echo #
--echo # Bug#55656: mysqldump can be slower after bug #39653 fix
--echo #
CREATE TABLE t1 (a INT , b INT, c INT, d INT,
- KEY (b), PRIMARY KEY (a,b)) ENGINE=INNODB;
+ KEY (b), PRIMARY KEY (a,b)) ENGINE=INNODB STATS_PERSISTENT=0;
INSERT INTO t1 VALUES (1,1,1,1), (2,2,2,2), (3,3,3,3);
--query_vertical EXPLAIN SELECT COUNT(*) FROM t1
@@ -862,63 +802,6 @@ CREATE INDEX b ON t1(a,b,c,d);
DROP TABLE t1;
--echo #
---echo # Bug#56862 Execution of a query that uses index merge returns a wrong result
---echo #
-
-CREATE TABLE t1 (
- pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
- a int,
- b int,
- INDEX idx(a))
-ENGINE=INNODB;
-
-INSERT INTO t1(a,b) VALUES
- (11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
- (3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
- (6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
- (13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
-INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
-INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
-INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1 VALUES (1000000, 0, 0);
-
-SET SESSION sort_buffer_size = 1024*36;
-
-EXPLAIN
-SELECT COUNT(*) FROM
- (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
- WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
-
-SELECT COUNT(*) FROM
- (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
- WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
-
-SET SESSION sort_buffer_size = DEFAULT;
-
-DROP TABLE t1;
-
---echo #
---echo # ALTER TABLE IGNORE didn't ignore duplicates for unique add index
---echo #
-
-create table t1 (a int primary key, b int) engine = innodb;
-insert into t1 values (1,1),(2,1);
-alter ignore table t1 add unique `main` (b);
-select * from t1;
-drop table t1;
-
---echo End of 5.1 tests
---echo #
-
---echo #
--echo # Bug#55826: create table .. select crashes with when KILL_BAD_DATA
--echo # is returned
--echo #
@@ -933,49 +816,8 @@ DROP TABLE t1;
SET SQL_MODE=DEFAULT;
--echo #
---echo # Bug#56862 Execution of a query that uses index merge returns a wrong result
+--echo # Bug#56862 Moved to innodb_16k.test
--echo #
-
-CREATE TABLE t1 (
- pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
- a int,
- b int,
- INDEX idx(a))
-ENGINE=INNODB;
-
-INSERT INTO t1(a,b) VALUES
- (11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
- (3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
- (6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
- (13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
-INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
-INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
-INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1(a,b) SELECT a,b FROM t1;
-INSERT INTO t1 VALUES (1000000, 0, 0);
-
-SET SESSION sort_buffer_size = 1024*36;
-
-EXPLAIN
-SELECT COUNT(*) FROM
- (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
- WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
-
-SELECT COUNT(*) FROM
- (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
- WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
-
-SET SESSION sort_buffer_size = DEFAULT;
-
-DROP TABLE t1;
-
--echo #
--echo # Test for bug #39932 "create table fails if column for FK is in different
--echo # case than in corr index".
@@ -984,122 +826,15 @@ DROP TABLE t1;
drop tables if exists t1, t2;
--enable_warnings
create table t1 (pk int primary key) engine=InnoDB;
---echo # Even although the below statement uses uppercased field names in
---echo # foreign key definition it still should be able to find explicitly
---echo # created supporting index. So it should succeed and should not
---echo # create any additional supporting indexes.
+# Even although the below statement uses uppercased field names in
+# foreign key definition it still should be able to find explicitly
+# created supporting index. So it should succeed and should not
+# create any additional supporting indexes.
create table t2 (fk int, key x (fk),
constraint x foreign key (FK) references t1 (PK)) engine=InnoDB;
show create table t2;
drop table t2, t1;
---echo #
---echo # Bug #663818: wrong result when BNLH is used
---echo #
-
-CREATE TABLE t1(pk int NOT NULL PRIMARY KEY) ENGINE=InnoDB;
-INSERT INTO t1 VALUES
- (1), (2), (11), (12), (13), (14),
- (15), (16), (17), (18), (19);
-CREATE TABLE t2(pk int NOT NULL PRIMARY KEY) ENGINE=InnoDB;
-INSERT INTO t2 VALUES
- (1), (10), (11), (12), (13), (14),
- (15), (16), (17), (18), (19), (20), (21);
-
-SET SESSION join_buffer_size=10000;
-
-SET SESSION join_cache_level=3;
-EXPLAIN
-SELECT t1.pk FROM t1,t2
- WHERE t1.pk = t2.pk AND t2.pk <> 8;
-SELECT t1.pk FROM t1,t2
- WHERE t1.pk = t2.pk AND t2.pk <> 8;
-
-SET SESSION join_cache_level=1;
-EXPLAIN
-SELECT t1.pk FROM t1,t2
- WHERE t1.pk = t2.pk AND t2.pk <> 8;
-SELECT t1.pk FROM t1,t2
- WHERE t1.pk = t2.pk AND t2.pk <> 8;
-
-DROP TABLE t1,t2;
-
-SET SESSION join_cache_level=DEFAULT;
-SET SESSION join_buffer_size=DEFAULT;
-
---echo #
---echo # Bug#668644: HAVING + ORDER BY
---echo #
-
-CREATE TABLE t1 (
- pk int NOT NULL PRIMARY KEY, i int DEFAULT NULL,
- INDEX idx (i)
-) ENGINE=INNODB;
-INSERT INTO t1 VALUES
- (6,-1636630528),(2,-1097924608),(1,6),(3,6),(4,1148715008),(5,1541734400);
-
-CREATE TABLE t2 (
- i int DEFAULT NULL,
- pk int NOT NULL PRIMARY KEY,
- INDEX idx (i)
-) ENGINE= INNODB;
-INSERT INTO t2 VALUES
- (-1993998336,20),(-1036582912,1),(-733413376,5),(-538247168,16),
- (-514260992,4),(-249561088,9),(1,2),(1,6),(2,10),(2,19),(4,17),
- (5,14),(5,15),(6,8),(7,13),(8,18),(9,11),(9,12),(257425408,7),
- (576061440,3);
-
-EXPLAIN
-SELECT t1 .i AS f FROM t1, t2
- WHERE t2.i = t1.pk AND t1.pk BETWEEN 0 AND 224
- HAVING f > 7
- ORDER BY f;
-SELECT t1 .i AS f FROM t1, t2
- WHERE t2.i = t1.pk AND t1.pk BETWEEN 0 AND 224
- HAVING f > 7
- ORDER BY f;
-
-DROP TABLE t1, t2;
-
---echo #
---echo # Test for bug #56619 - Assertion failed during
---echo # ALTER TABLE RENAME, DISABLE KEYS
---echo #
-
---disable_warnings
-DROP TABLE IF EXISTS t1, t2;
---enable_warnings
-CREATE TABLE t1 (a INT, INDEX(a)) engine=innodb;
---disable_warnings
-ALTER TABLE t1 RENAME TO t2, DISABLE KEYS;
-DROP TABLE IF EXISTS t1, t2;
---enable_warnings
-
---echo #
---echo # Bug#702322: HAVING with two ANDed predicates + ORDER BY
---echo #
-
-CREATE TABLE t1 (pk int PRIMARY KEY, a int, KEY (a)) ENGINE=InnoDB;
-CREATE TABLE t2 (a int, KEY (a)) ENGINE=InnoDB;
-
-INSERT INTO t1 VALUES
- (18,0),(9,10),(8,11),(2,15),(7,19),(1,20);
-
-SET SESSION join_cache_level = 0;
-
-# vanilla InnoDB doesn't do ICP
---replace_result "Using where" "Using index condition"
-EXPLAIN
-SELECT t1.a FROM t1 LEFT JOIN t2 ON t1.pk = t2.a
- WHERE t1.pk >= 6 HAVING t1.a<> 0 AND t1.a <> 11
- ORDER BY t1.a;
-SELECT t1.a FROM t1 LEFT JOIN t2 ON t1.pk = t2.a
- WHERE t1.pk >= 6 HAVING t1.a<> 0 AND t1.a <> 11
- ORDER BY t1.a;
-
-DROP TABLE t1,t2;
-
---echo End of 5.3 tests
--echo #
--echo # Test for bug #11762012 - "54553: INNODB ASSERTS IN HA_INNOBASE::
@@ -1120,7 +855,41 @@ UPDATE t1 SET c = 5;
UNLOCK TABLES;
DROP TEMPORARY TABLE t1;
---echo End of 5.1 tests
+--echo # End of 5.1 tests
+
+
+--echo #
+--echo # Bug#49604 "6.0 processing compound WHERE clause incorrectly
+--echo # with Innodb - extra rows"
+--echo #
+
+CREATE TABLE t1 (
+ c1 INT NOT NULL,
+ c2 INT,
+ PRIMARY KEY (c1),
+ KEY k1 (c2)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (12,1);
+INSERT INTO t1 VALUES (15,1);
+INSERT INTO t1 VALUES (16,1);
+INSERT INTO t1 VALUES (22,1);
+INSERT INTO t1 VALUES (20,2);
+
+CREATE TABLE t2 (
+ c1 INT NOT NULL,
+ c2 INT,
+ PRIMARY KEY (c1)
+) ENGINE=InnoDB;
+
+INSERT INTO t2 VALUES (1,2);
+INSERT INTO t2 VALUES (2,9);
+
+SELECT STRAIGHT_JOIN t2.c2, t1.c2, t2.c1
+FROM t1 JOIN t2 ON t1.c2 = t2.c1
+WHERE t2.c1 IN (2, 1, 6) OR t2.c1 NOT IN (1);
+
+DROP TABLE t1, t2;
--echo #
@@ -1160,12 +929,64 @@ connection default;
COMMIT;
DROP TABLE t1;
DROP FUNCTION f1;
+--echo #
+--echo # Bug#42744: Crash when using a join buffer to join a table with a blob
+--echo # column and an additional column used for duplicate elimination.
+--echo #
+
+CREATE TABLE t1 (a tinyblob) ENGINE=InnoDB;
+CREATE TABLE t2 (a int PRIMARY KEY, b tinyblob) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('1'), (NULL);
+INSERT INTO t2 VALUES (1, '1');
+
+EXPLAIN
+SELECT t2.b FROM t1,t2 WHERE t1.a IN (SELECT 1 FROM t2);
+
+SELECT t2.b FROM t1,t2 WHERE t1.a IN (SELECT 1 FROM t2);
+
+DROP TABLE t1,t2;
+
+--echo #
+--echo # Bug#48093: 6.0 Server not processing equivalent IN clauses properly
+--echo # with Innodb tables
+--echo #
+
+CREATE TABLE t1 (
+ i int(11) DEFAULT NULL,
+ v1 varchar(1) DEFAULT NULL,
+ v2 varchar(20) DEFAULT NULL,
+ KEY i (i),
+ KEY v (v1,i)
+) ENGINE=innodb;
+
+INSERT INTO t1 VALUES (1,'f','no');
+INSERT INTO t1 VALUES (2,'u','yes-u');
+INSERT INTO t1 VALUES (2,'h','yes-h');
+INSERT INTO t1 VALUES (3,'d','no');
+
+--echo
+SELECT v2
+FROM t1
+WHERE v1 IN ('f', 'd', 'h', 'u' ) AND i = 2;
+
+--echo
+--echo # Should not use index_merge
+EXPLAIN
+SELECT v2
+FROM t1
+WHERE v1 IN ('f', 'd', 'h', 'u' ) AND i = 2;
+
+DROP TABLE t1;
--echo #
--echo # Bug#54606 innodb fast alter table + pack_keys=0
--echo # prevents adding new indexes
--echo #
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
CREATE TABLE t1 (a INT, b CHAR(9), c INT, key(b))
ENGINE=InnoDB
PACK_KEYS=0;
@@ -1174,4 +995,38 @@ CREATE INDEX c on t1 (c);
DROP TABLE t1;
---echo End of 5.1 tests
+
+--echo #
+--echo # Additional coverage for refactoring which is made as part
+--echo # of fix for Bug#27480 "Extend CREATE TEMPORARY TABLES privilege
+--echo # to allow temp table operations".
+--echo #
+--echo # Check that OPTIMIZE table works for temporary InnoDB tables.
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TEMPORARY TABLE t1 (a INT) ENGINE=InnoDB;
+OPTIMIZE TABLE t1;
+DROP TABLE t1;
+
+
+--echo #
+--echo # Bug#11762345 54927: DROPPING AND ADDING AN INDEX IN ONE
+--echo # COMMAND CAN FAIL IN INNODB PLUGIN 1.0
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (id int, a int, b int, PRIMARY KEY (id),
+ INDEX a (a)) ENGINE=innodb;
+
+ALTER TABLE t1 DROP INDEX a, ADD INDEX a (b, a);
+# This used to fail
+ALTER TABLE t1 DROP INDEX a, ADD INDEX (a, b);
+
+DROP TABLE t1;
+
+
+--echo End of 6.0 tests
diff --git a/mysql-test/suite/innodb/t/innodb_simulate_comp_failures-master.opt b/mysql-test/suite/innodb/t/innodb_simulate_comp_failures-master.opt
index fae32059249..39b205c9b68 100644
--- a/mysql-test/suite/innodb/t/innodb_simulate_comp_failures-master.opt
+++ b/mysql-test/suite/innodb/t/innodb_simulate_comp_failures-master.opt
@@ -1,2 +1,2 @@
--innodb-file-per-table
-
+--skip-innodb-doublewrite
diff --git a/mysql-test/suite/innodb/t/innodb_simulate_comp_failures.test b/mysql-test/suite/innodb/t/innodb_simulate_comp_failures.test
index a940a926f85..cf22935fad6 100644
--- a/mysql-test/suite/innodb/t/innodb_simulate_comp_failures.test
+++ b/mysql-test/suite/innodb/t/innodb_simulate_comp_failures.test
@@ -1,8 +1,8 @@
--source include/big_test.inc
# test takes too long with valgrind
--source include/not_valgrind.inc
---let $num_inserts = 100000
---let $num_ops = 30000
+--let $num_inserts = 1500
+--let $num_ops = 3500
--source suite/innodb/include/innodb_simulate_comp_failures.inc
# clean exit
--exit
diff --git a/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.opt b/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.opt
new file mode 100644
index 00000000000..c8a96d2fe93
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.opt
@@ -0,0 +1,67 @@
+--loose-skip-innodb
+--loose-innodb_trx
+--loose-innodb_locks
+--loose-innodb_lock_waits
+--loose-innodb_cmp
+--loose-innodb_cmp_reset
+--loose-innodb_cmp_per_index
+--loose-innodb_cmp_per_index_reset
+--loose-innodb_cmpmem
+--loose-innodb_cmpmem_reset
+--loose-innodb_metrics
+--loose-innodb_ft_default_stopword
+--loose-innodb_ft_deleted
+--loose-innodb_ft_being_deleted
+--loose-innodb_ft_index_cache
+--loose-innodb_ft_index_table
+--loose-innodb_ft_config
+--loose-innodb_buffer_page
+--loose-innodb_buffer_page_lru
+--loose-innodb_buffer_stats
+--loose-innodb_sys_tables
+--loose-innodb_sys_tablestats
+--loose-innodb_sys_indexes
+--loose-innodb_sys_columns
+--loose-innodb_sys_fields
+--loose-innodb_sys_foreign
+--loose-innodb_sys_foreign_cols
+--loose-innodb_sys_tablespaces
+--loose-innodb_sys_datafiles
+--loose-innodb_changed_pages
+--loose-innodb_tablespaces_encryption
+--loose-innodb_trx
+--loose-innodb_locks
+--loose-innodb_lock_waits
+--loose-innodb_cmp
+--loose-innodb_cmp_reset
+--loose-innodb_cmp_per_index
+--loose-innodb_cmp_per_index_reset
+--loose-innodb_cmpmem
+--loose-innodb_cmpmem_reset
+--loose-innodb_metrics
+--loose-innodb_ft_default_stopword
+--loose-innodb_ft_deleted
+--loose-innodb_ft_being_deleted
+--loose-innodb_ft_index_cache
+--loose-innodb_ft_index_table
+--loose-innodb_ft_config
+--loose-innodb_buffer_page
+--loose-innodb_buffer_page_lru
+--loose-innodb_buffer_stats
+--loose-innodb_sys_tables
+--loose-innodb_sys_tablestats
+--loose-innodb_sys_indexes
+--loose-innodb_sys_columns
+--loose-innodb_sys_fields
+--loose-innodb_sys_foreign
+--loose-innodb_sys_foreign_cols
+--loose-innodb_sys_tablespaces
+--loose-innodb_sys_datafiles
+--loose-innodb_changed_pages
+--loose-innodb_tablespaces_encryption
+--loose-innodb_tablespaces_scrubbing
+--loose-innodb_mutexes
+--loose-innodb_sys_semaphore_waits
+--loose-innodb_tablespaces_scrubbing
+--loose-innodb_mutexes
+--loose-innodb_sys_semaphore_waits
diff --git a/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.test b/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.test
new file mode 100644
index 00000000000..73cd8a26f6f
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.test
@@ -0,0 +1,36 @@
+--source include/not_embedded.inc
+
+select * from information_schema.innodb_trx;
+select * from information_schema.innodb_locks;
+select * from information_schema.innodb_lock_waits;
+select * from information_schema.innodb_cmp;
+select * from information_schema.innodb_cmp_reset;
+select * from information_schema.innodb_cmp_per_index;
+select * from information_schema.innodb_cmp_per_index_reset;
+select * from information_schema.innodb_cmpmem;
+select * from information_schema.innodb_cmpmem_reset;
+select * from information_schema.innodb_metrics;
+select * from information_schema.innodb_ft_default_stopword;
+select * from information_schema.innodb_ft_deleted;
+select * from information_schema.innodb_ft_being_deleted;
+select * from information_schema.innodb_ft_index_cache;
+select * from information_schema.innodb_ft_index_table;
+select * from information_schema.innodb_ft_config;
+select * from information_schema.innodb_buffer_page;
+select * from information_schema.innodb_buffer_page_lru;
+--error 0,1109
+select * from information_schema.innodb_buffer_stats;
+select * from information_schema.innodb_sys_tables;
+select * from information_schema.innodb_sys_tablestats;
+select * from information_schema.innodb_sys_indexes;
+select * from information_schema.innodb_sys_columns;
+select * from information_schema.innodb_sys_fields;
+select * from information_schema.innodb_sys_foreign;
+select * from information_schema.innodb_sys_foreign_cols;
+select * from information_schema.innodb_sys_tablespaces;
+select * from information_schema.innodb_sys_datafiles;
+select * from information_schema.innodb_changed_pages;
+select * from information_schema.innodb_tablespaces_encryption;
+select * from information_schema.innodb_tablespaces_scrubbing;
+select * from information_schema.innodb_mutexes;
+select * from information_schema.innodb_sys_semaphore_waits;
diff --git a/mysql-test/suite/innodb/t/innodb_stats.test b/mysql-test/suite/innodb/t/innodb_stats.test
new file mode 100644
index 00000000000..b9f71f8fa6f
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_stats.test
@@ -0,0 +1,61 @@
+#
+# Test the persistent stats feature
+#
+
+-- source include/have_innodb.inc
+
+-- disable_warnings
+-- disable_query_log
+
+DROP TABLE IF EXISTS test_innodb_stats;
+
+CREATE TABLE test_innodb_stats (
+ a INT,
+ KEY a_key (a)
+) ENGINE=INNODB STATS_PERSISTENT=1;
+
+-- enable_warnings
+-- enable_query_log
+
+# test empty table
+-- let $insert = SELECT 'dummy INSERT, the table should be empty'
+-- source suite/innodb/include/innodb_stats.inc
+
+# test table with 1 row
+-- let $insert = INSERT INTO test_innodb_stats (a) VALUES (1)
+-- source suite/innodb/include/innodb_stats.inc
+
+# test table with 2 eq rows
+-- let $insert = INSERT INTO test_innodb_stats (a) VALUES (1), (1)
+-- source suite/innodb/include/innodb_stats.inc
+
+# test table with 3 eq rows
+-- let $insert = INSERT INTO test_innodb_stats (a) VALUES (1), (1), (1)
+-- source suite/innodb/include/innodb_stats.inc
+
+# test table with 10 eq rows
+-- let $insert = INSERT INTO test_innodb_stats (a) VALUES (1), (1), (1), (1), (1), (1), (1), (1), (1), (1)
+-- source suite/innodb/include/innodb_stats.inc
+
+# test table with 2 diff rows
+-- let $insert = INSERT INTO test_innodb_stats (a) VALUES (1), (2)
+-- source suite/innodb/include/innodb_stats.inc
+
+# test table with 2 diff rows, 3 rows in total
+-- let $insert = INSERT INTO test_innodb_stats (a) VALUES (1), (1), (2)
+-- source suite/innodb/include/innodb_stats.inc
+
+# test table with 3 diff rows
+-- let $insert = INSERT INTO test_innodb_stats (a) VALUES (1), (2), (3)
+-- source suite/innodb/include/innodb_stats.inc
+
+# test table with 3 diff rows, 5 rows in total
+-- let $insert = INSERT INTO test_innodb_stats (a) VALUES (1), (1), (2), (3), (3)
+-- source suite/innodb/include/innodb_stats.inc
+
+# test table with 5 diff rows, 10 rows in total
+-- let $insert = INSERT INTO test_innodb_stats (a) VALUES (1), (2), (3), (4), (5), (1), (2), (3), (4), (5)
+-- source suite/innodb/include/innodb_stats.inc
+
+-- disable_query_log
+DROP TABLE test_innodb_stats;
diff --git a/mysql-test/suite/innodb/t/innodb_stats_create_on_corrupted.test b/mysql-test/suite/innodb/t/innodb_stats_create_on_corrupted.test
new file mode 100644
index 00000000000..c932e45591d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_stats_create_on_corrupted.test
@@ -0,0 +1,49 @@
+#
+# Test creating a persistent stats table on nonexistent or corrupted
+# persistent storage
+#
+
+-- source include/have_innodb.inc
+# Various sizes printed in this test depend on the page size and the
+# functionality tested here is not related to the page size, so we only
+# test with 16k page size.
+-- source include/have_innodb_16k.inc
+-- source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: Error: Table \"mysql\".\"innodb_index_stats\" not found");
+call mtr.add_suppression("InnoDB: Error: Fetch of persistent statistics requested for table");
+
+-- vertical_results
+
+# corrupt the persistent storage
+ALTER TABLE mysql.innodb_index_stats RENAME TO mysql.innodb_index_stats_;
+
+CREATE TABLE test_ps_create_on_corrupted
+(a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+
+# check the stats (should have been generated using the old transient stats
+# method)
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_create_on_corrupted'
+ORDER BY index_name, seq_in_index;
+
+SELECT table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_create_on_corrupted';
+
+# restore the persistent storage
+ALTER TABLE mysql.innodb_index_stats_ RENAME TO mysql.innodb_index_stats;
+
+--source include/restart_mysqld.inc
+
+-- vertical_results
+
+# check again
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_create_on_corrupted'
+ORDER BY index_name, seq_in_index;
+
+SELECT table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_create_on_corrupted';
+
+DROP TABLE test_ps_create_on_corrupted;
diff --git a/mysql-test/suite/innodb/t/innodb_stats_create_table.test b/mysql-test/suite/innodb/t/innodb_stats_create_table.test
new file mode 100644
index 00000000000..e7ae09bd19d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_stats_create_table.test
@@ -0,0 +1,66 @@
+#
+# Test CREATE TABLE ... STATS_PERSISTENT=0|1|default
+#
+
+-- source include/have_innodb.inc
+
+set @save_innodb_stats_persistent= @@innodb_stats_persistent;
+
+set global innodb_stats_persistent=default;
+
+-- vertical_results
+
+# confirm that nothing is present before the test
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+
+##
+
+CREATE TABLE test_ps_create_table (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=0;
+
+# nothing should be present
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+
+DROP TABLE test_ps_create_table;
+
+##
+
+CREATE TABLE test_ps_create_table (a INT, PRIMARY KEY (a))
+ENGINE=INNODB;
+
+# 1 row should be present if the default of --innodb-stats-persistent is 1
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+
+DROP TABLE test_ps_create_table;
+
+##
+
+CREATE TABLE test_ps_create_table (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=default;
+
+# 1 row should be present if the default of --innodb-stats-persistent is 1
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+
+DROP TABLE test_ps_create_table;
+
+##
+
+CREATE TABLE test_ps_create_table (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+
+# 1 row should be present
+SELECT COUNT(*) FROM mysql.innodb_table_stats WHERE
+database_name = 'test' AND
+table_name = 'test_ps_create_table';
+
+DROP TABLE test_ps_create_table;
+
+set global innodb_stats_persistent= @save_innodb_stats_persistent;
diff --git a/mysql-test/suite/innodb/t/innodb_stats_drop_locked.test b/mysql-test/suite/innodb/t/innodb_stats_drop_locked.test
new file mode 100644
index 00000000000..26367b8e6ae
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_stats_drop_locked.test
@@ -0,0 +1,61 @@
+#
+# Test the persistent stats feature when DROPping a table or an
+# index when the corresponding rows in the stats tables are locked
+#
+
+-- source include/have_innodb.inc
+
+-- disable_warnings
+-- disable_query_log
+
+DROP TABLE IF EXISTS innodb_stats_drop_locked;
+
+CREATE TABLE innodb_stats_drop_locked (c INT, KEY c_key (c))
+ENGINE=INNODB STATS_PERSISTENT=1;
+
+ANALYZE TABLE innodb_stats_drop_locked;
+
+-- enable_warnings
+-- enable_query_log
+
+SET autocommit=0;
+
+SELECT table_name FROM mysql.innodb_table_stats
+WHERE table_name='innodb_stats_drop_locked'
+FOR UPDATE;
+
+SELECT table_name FROM mysql.innodb_index_stats
+WHERE table_name='innodb_stats_drop_locked'
+FOR UPDATE;
+
+-- connect (con1,localhost,root,,)
+
+-- connection con1
+
+ALTER TABLE innodb_stats_drop_locked DROP INDEX c_key;
+
+# the index should be gone
+SHOW CREATE TABLE innodb_stats_drop_locked;
+
+DROP TABLE innodb_stats_drop_locked;
+
+# the table should be gone
+SHOW TABLES;
+
+-- connection default
+
+-- disconnect con1
+
+COMMIT;
+
+# the stats should be there
+
+SELECT table_name FROM mysql.innodb_table_stats
+WHERE table_name='innodb_stats_drop_locked';
+
+SELECT table_name FROM mysql.innodb_index_stats
+WHERE table_name='innodb_stats_drop_locked';
+
+--disable_query_log
+call mtr.add_suppression("Unable to delete statistics for table test.innodb_stats_drop_locked: Lock wait timeout. They can be deleted later using DELETE FROM mysql.innodb_index_stats WHERE database_name");
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_stats_fetch.test b/mysql-test/suite/innodb/t/innodb_stats_fetch.test
new file mode 100644
index 00000000000..8544509ccad
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_stats_fetch.test
@@ -0,0 +1,79 @@
+#
+# Test fetching from stats tables after manual update (ie FLUSH TABLE
+# can be used to forcibly (re)fetch the stats from disk)
+#
+
+-- source include/have_innodb.inc
+# Various sizes printed in this test depend on the page size and the
+# functionality tested here is not related to the page size, so we only
+# test with 16k page size.
+-- source include/have_innodb_16k.inc
+
+-- vertical_results
+
+CREATE TABLE test_ps_fetch
+(a INT, b INT, c INT, d INT, PRIMARY KEY (a, b), INDEX idx (c, d))
+ENGINE=INNODB STATS_PERSISTENT=1;
+
+ANALYZE TABLE test_ps_fetch;
+
+SELECT n_rows, clustered_index_size, sum_of_other_index_sizes
+FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch';
+
+SELECT index_name, stat_name, stat_value, sample_size, stat_description
+FROM mysql.innodb_index_stats WHERE table_name = 'test_ps_fetch'
+ORDER BY index_name, stat_name;
+
+SELECT index_name, seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_fetch'
+ORDER BY index_name, seq_in_index;
+
+SELECT
+table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_fetch';
+
+UPDATE mysql.innodb_table_stats SET
+n_rows = 1000,
+clustered_index_size = 5
+WHERE
+table_name = 'test_ps_fetch';
+
+UPDATE mysql.innodb_index_stats SET
+stat_value = 20
+WHERE
+table_name = 'test_ps_fetch' AND
+index_name = 'PRIMARY' AND
+stat_name = 'n_diff_pfx01';
+
+UPDATE mysql.innodb_index_stats SET
+stat_value = 90
+WHERE
+table_name = 'test_ps_fetch' AND
+index_name = 'PRIMARY' AND
+stat_name = 'n_diff_pfx02';
+
+UPDATE mysql.innodb_index_stats SET
+stat_value = 3
+WHERE
+table_name = 'test_ps_fetch' AND
+index_name = 'idx' AND
+stat_name = 'n_diff_pfx01';
+
+UPDATE mysql.innodb_index_stats SET
+stat_value = 11
+WHERE
+table_name = 'test_ps_fetch' AND
+index_name = 'idx' AND
+stat_name = 'n_diff_pfx02';
+
+FLUSH TABLE test_ps_fetch;
+
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_fetch'
+ORDER BY index_name, seq_in_index;
+
+SELECT
+table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_fetch';
+
+DROP TABLE test_ps_fetch;
diff --git a/mysql-test/suite/innodb/t/innodb_stats_fetch_corrupted.test b/mysql-test/suite/innodb/t/innodb_stats_fetch_corrupted.test
new file mode 100644
index 00000000000..f69988175ab
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_stats_fetch_corrupted.test
@@ -0,0 +1,50 @@
+#
+# Test fetching from stats tables that are corrupted
+#
+
+-- source include/have_innodb.inc
+# Various sizes printed in this test depend on the page size and the
+# functionality tested here is not related to the page size, so we only
+# test with 16k page size.
+-- source include/have_innodb_16k.inc
+# server restart
+-- source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: Error: Table \"mysql\".\"innodb_index_stats\" not found");
+call mtr.add_suppression("InnoDB: Error: Fetch of persistent statistics requested for table");
+
+-- vertical_results
+
+CREATE TABLE test_ps_fetch_corrupted
+(a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+
+# write stats to mysql.innodb_table_stats
+ANALYZE TABLE test_ps_fetch_corrupted;
+
+# check that indeed stats were written by ANALYZE above
+SELECT n_rows, clustered_index_size, sum_of_other_index_sizes
+FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch_corrupted';
+
+# corrupt the persistent storage
+ALTER TABLE mysql.innodb_index_stats RENAME TO mysql.innodb_index_stats_;
+
+# reopen the table, this will attept to read from the persistent storage
+FLUSH TABLE test_ps_fetch_corrupted;
+
+# check the stats (should have been generated using the old transient stats
+# method)
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_fetch_corrupted'
+ORDER BY index_name, seq_in_index;
+
+SELECT table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_fetch_corrupted';
+
+# restore the persistent storage
+ALTER TABLE mysql.innodb_index_stats_ RENAME TO mysql.innodb_index_stats;
+
+DROP TABLE test_ps_fetch_corrupted;
+
+# force server restart to clean up log from above error
+--source include/restart_mysqld.inc
diff --git a/mysql-test/suite/innodb/t/innodb_stats_fetch_nonexistent.test b/mysql-test/suite/innodb/t/innodb_stats_fetch_nonexistent.test
new file mode 100644
index 00000000000..b06abd307da
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_stats_fetch_nonexistent.test
@@ -0,0 +1,38 @@
+#
+# Test fetching from stats tables while there are no stats
+#
+
+-- source include/have_innodb.inc
+
+call mtr.add_suppression("InnoDB: Error: Fetch of persistent statistics requested for table *");
+
+-- vertical_results
+
+CREATE TABLE test_ps_fetch_nonexistent
+(a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+
+# write stats to mysql.innodb_table_stats
+ANALYZE TABLE test_ps_fetch_nonexistent;
+
+# check that indeed stats were written by ANALYZE above
+SELECT COUNT(*)
+FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch_nonexistent';
+
+# delete the stats
+DELETE FROM mysql.innodb_index_stats WHERE table_name = 'test_ps_fetch_nonexistent';
+DELETE FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch_nonexistent';
+
+# reopen the table, this will attept to read the stats
+FLUSH TABLE test_ps_fetch_nonexistent;
+
+# check the stats (should have been generated using the old transient stats
+# method)
+SELECT seq_in_index, column_name, cardinality
+FROM information_schema.statistics WHERE table_name = 'test_ps_fetch_nonexistent'
+ORDER BY index_name, seq_in_index;
+
+SELECT table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_fetch_nonexistent';
+
+DROP TABLE test_ps_fetch_nonexistent;
diff --git a/mysql-test/suite/innodb/t/innodb_stats_rename_table.test b/mysql-test/suite/innodb/t/innodb_stats_rename_table.test
new file mode 100644
index 00000000000..5c1fe0f2089
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_stats_rename_table.test
@@ -0,0 +1,42 @@
+#
+# Test that RENAME TABLE renames the entries in
+# mysql.innodb_table_stats and mysql.innodb_index_stats
+#
+
+-- source include/have_innodb.inc
+
+-- vertical_results
+
+# confirm that nothing is present before the test
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+
+CREATE TABLE stats_rename_old (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+
+# confirm that CREATE inserted a zeroed entries
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+
+RENAME TABLE stats_rename_old TO stats_rename_new;
+
+# confirm that rows were updated correspondingly
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename_old', 'stats_rename_new');
+
+DROP TABLE stats_rename_new;
diff --git a/mysql-test/suite/innodb/t/innodb_stats_rename_table_if_exists.test b/mysql-test/suite/innodb/t/innodb_stats_rename_table_if_exists.test
new file mode 100644
index 00000000000..e5b5d1814c0
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_stats_rename_table_if_exists.test
@@ -0,0 +1,58 @@
+#
+# Test what happens during RENAME TABLE if there are already rows in the stats
+# tables for the new table. This cannot happen normally, one have to insert
+# manually like what we do here.
+#
+# The RENAME should succeed and existent rows should be overwritten.
+#
+
+-- source include/have_innodb.inc
+
+-- vertical_results
+
+CREATE TABLE stats_rename1 (a INT, PRIMARY KEY (a))
+ENGINE=INNODB STATS_PERSISTENT=1;
+
+INSERT INTO mysql.innodb_table_stats
+SELECT
+database_name,
+'stats_rename2' AS table_name,
+last_update,
+123 AS n_rows,
+clustered_index_size,
+sum_of_other_index_sizes
+FROM mysql.innodb_table_stats
+WHERE table_name = 'stats_rename1';
+
+INSERT INTO mysql.innodb_index_stats
+SELECT
+database_name,
+'stats_rename2' AS table_name,
+index_name,
+last_update,
+stat_name,
+567 AS stat_value,
+sample_size,
+stat_description
+FROM mysql.innodb_index_stats
+WHERE table_name = 'stats_rename1';
+
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename1', 'stats_rename2');
+
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename1', 'stats_rename2');
+
+RENAME TABLE stats_rename1 TO stats_rename2;
+
+SELECT table_name, n_rows
+FROM mysql.innodb_table_stats
+WHERE table_name IN ('stats_rename1', 'stats_rename2');
+
+SELECT table_name, index_name, stat_name, stat_value
+FROM mysql.innodb_index_stats
+WHERE table_name IN ('stats_rename1', 'stats_rename2');
+
+DROP TABLE stats_rename2;
diff --git a/mysql-test/suite/innodb/t/innodb_sys_semaphore_waits-master.opt b/mysql-test/suite/innodb/t/innodb_sys_semaphore_waits-master.opt
new file mode 100644
index 00000000000..22272485540
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_sys_semaphore_waits-master.opt
@@ -0,0 +1,3 @@
+--innodb-fatal-semaphore-wait-threshold=1
+--innodb-sys-semaphore-waits=1
+--innodb-instrument-semaphores=1
diff --git a/mysql-test/suite/innodb/t/innodb_sys_semaphore_waits.test b/mysql-test/suite/innodb/t/innodb_sys_semaphore_waits.test
new file mode 100644
index 00000000000..800199dbc54
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_sys_semaphore_waits.test
@@ -0,0 +1,119 @@
+--source include/have_innodb.inc
+--source include/not_windows.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+# DEBUG_SYNC must be compiled in.
+--source include/have_debug_sync.inc
+
+--echo # Establish connection con1 (user=root)
+connect (con1,localhost,root,,);
+--echo # Establish connection con2 (user=root)
+connect (con2,localhost,root,,);
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+--echo # Switch to connection con1
+connection con1;
+eval create table t1 (id integer, x integer) engine = InnoDB;
+insert into t1 values(0, 0);
+
+# Enable the debug injection.
+set DEBUG_DBUG='+d,fatal-semaphore-timeout';
+set autocommit=0;
+
+# The following query will hang for an hour since the debug injection
+# code will sleep an hour after holding the lock table mutex
+--echo # Sending query on con1,
+--echo # the session will hold lock table mutex and sleep
+--send
+SELECT * from t1 where id = 0 FOR UPDATE;
+
+# To make sure con1 holding the lock table mutex and sleeping
+--sleep 2
+
+--echo # Switch to connection con2
+connection con2;
+set autocommit=0;
+
+# The following query will be blocked on the lock table mutex held by
+# con1 so it will be put into sync array.
+--echo # Sending query on con2,
+--echo # the session will be blocked on the lock table mutex and
+--echo # thus be put into sync arry
+--send
+SELECT * from t1 where id = 0 FOR UPDATE;
+
+# Waitting for mysqld to abort due to fatal semaphore timeout.
+# Please note that, in the master.opt file, the fatal timeout
+# was set to 1 second, but in mysqld debug mode, this timeout
+# value will be timed 10 because UNIV_DEBUG_VALGRIND is set
+# (see sync_array_print_long_waits_low() in storage/innobase/sync/sync0arr.cc)
+# so the actual timeout will be 1 * 10 = 10 seconds. Besides,
+# mysqld will abort after detecting this fatal timeout 10 times in
+# a loop with interval of 1 second (see srv_error_monitor_thread
+# thread in torage/innobase/srv/srv0srv.cc), so mysqld will abort
+# in 1 * 10 + 1 * 10 = 20 seconds after con2 being blocked on
+# the lock table mutex.
+#
+# P.S. the default fatal sempahore timeout is 600 seconds,
+# so mysqld will abort after 600 * 10 + 1 * 10 = 6010 seconds
+# in debug mode and 600 + 1 * 10 = 610 seconds in release mode.
+
+--echo # Switched to the default connection
+connection default;
+
+--disable_result_log
+--disable_query_log
+
+# Since this test generates lot of errors in log, suppress checking errors
+call mtr.add_suppression(".*");
+
+# The crash is expected
+exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
+
+--echo # Waitting for mysqld to crash
+
+# It will take 20 seconds to detect the long semaphore and mysqld to abort.
+# This test will be treated as pass as long as mysqld crash/restart is dectected
+# in 80 seconds.
+let $counter= 80;
+let $mysql_errno= 0;
+while (!$mysql_errno)
+{
+ --error 0,1040,1053,2002,2003,2006,2013
+ show status;
+
+ --error 0,1040,1053,2002,2003,2006,2013
+ select * from information_schema.innodb_sys_semaphore_waits;
+
+ dec $counter;
+ if (!$counter)
+ {
+ # This will fail this test.
+ --die Server failed to dissapear
+ }
+ --sleep 1
+}
+
+--echo # Mysqld crash was detected
+--echo # Waitting for reconnect after mysqld restarts
+
+enable_reconnect;
+connection default;
+
+--exec echo "restart:--log-error=$error_log" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+# Call script that will poll the server waiting for it to be back online again
+source include/wait_until_connected_again.inc;
+
+--echo # Reconnected after mysqld was successfully restarted
+
+--echo # Cleaning up before exit
+--disable_warnings
+set DEBUG_DBUG=NULL;
+drop table if exists t1;
+--enable_warnings
+
+--echo # Clean exit
diff --git a/mysql-test/suite/innodb/t/innodb_uninstall.test b/mysql-test/suite/innodb/t/innodb_uninstall.test
index 34fc8345a02..1b65db8a28d 100644
--- a/mysql-test/suite/innodb/t/innodb_uninstall.test
+++ b/mysql-test/suite/innodb/t/innodb_uninstall.test
@@ -9,7 +9,13 @@ if (!$HA_INNODB_SO) {
# MDEV-8474: InnoDB sets per-connection data unsafely
# Below test caused hang
#
+# When mysqld is built with wsrep patch (WITH_WSREP=ON),
+# the following install command emits a warning about
+# server unable to enable tc-log at runtime.
+disable_warnings;
install plugin innodb soname 'ha_innodb';
+enable_warnings;
+
create table t1(a int not null primary key) engine=innodb;
connect (con1, localhost, root);
@@ -30,15 +36,17 @@ reap;
--source include/restart_mysqld.inc
-drop table t1;
-
#
# Another test that caused hang.
#
connect (con1, localhost, root);
connection con1;
+disable_warnings;
install plugin innodb soname 'ha_innodb';
+enable_warnings;
+
+drop table t1;
create table t2(a int not null primary key) engine=innodb;
insert into t2 values(1);
drop table t2;
diff --git a/mysql-test/suite/innodb/t/innodb_zip_innochecksum.opt b/mysql-test/suite/innodb/t/innodb_zip_innochecksum.opt
new file mode 100644
index 00000000000..f47343e5e7c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_zip_innochecksum.opt
@@ -0,0 +1,4 @@
+--skip-innodb-doublewrite
+--innodb-file-per-table
+--innodb-file-format=Barracuda
+--innodb_checksum_algorithm=crc32
diff --git a/mysql-test/suite/innodb/t/innodb_zip_innochecksum.test b/mysql-test/suite/innodb/t/innodb_zip_innochecksum.test
new file mode 100644
index 00000000000..fec8acf52c4
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_zip_innochecksum.test
@@ -0,0 +1,243 @@
+#************************************************************
+# WL6045:Improve Innochecksum
+#************************************************************
+--source include/innodb_page_size_small.inc
+--source include/no_valgrind_without_big.inc
+# Embedded server does not support crashing.
+--source include/not_embedded.inc
+
+# Avoid CrashReporter popup on Mac.
+--source include/not_crashrep.inc
+
+--echo # Set the environmental variables
+let MYSQLD_BASEDIR= `SELECT @@basedir`;
+let MYSQLD_DATADIR= `SELECT @@datadir`;
+let SEARCH_FILE= $MYSQLTEST_VARDIR/log/my_restart.err;
+call mtr.add_suppression("InnoDB: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts");
+call mtr.add_suppression("InnoDB: Warning: database page corruption or a failed");
+
+CREATE TABLE tab1(c1 INT PRIMARY KEY,c2 VARCHAR(20)) ENGINE=InnoDB;
+CREATE INDEX idx1 ON tab1(c2(10));
+INSERT INTO tab1 VALUES(1, 'Innochecksum InnoDB1');
+CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+insert into t1 values(1,"i");
+insert into t1 values(2,"am");
+insert into t1 values(3,"compressed table");
+
+--echo # Shutdown the Server
+--source include/shutdown_mysqld.inc
+--echo # Server Default checksum = innodb
+
+#
+# Not repeatable with --parallel= >1
+#
+#--echo [1a]: check the innochecksum when file doesn't exists
+#--error 1
+#--exec $INNOCHECKSUM $MYSQLD_DATADIR/test/aa.ibd 2> $SEARCH_FILE
+#let SEARCH_PATTERN= Error: $MYSQLD_DATADIR/test/aa.ibd cannot be found;
+#--source include/search_pattern_in_file.inc
+
+--echo [1b]: check the innochecksum without --strict-check
+--exec $INNOCHECKSUM $MYSQLD_DATADIR/test/tab1.ibd
+
+--echo [2]: check the innochecksum with full form --strict-check=crc32
+--exec $INNOCHECKSUM --strict-check=crc32 $MYSQLD_DATADIR/test/tab1.ibd
+
+--echo [3]: check the innochecksum with short form -C crc32
+--exec $INNOCHECKSUM -C crc32 $MYSQLD_DATADIR/test/tab1.ibd
+
+--echo [4]: check the innochecksum with --no-check ignores algorithm check, warning is expected
+--error 1
+--exec $INNOCHECKSUM --no-check $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error: --no-check must be associated with --write option.;
+--source include/search_pattern_in_file.inc
+
+--echo [5]: check the innochecksum with short form --no-check ignores algorithm check, warning is expected
+--error 1
+--exec $INNOCHECKSUM -n $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error: --no-check must be associated with --write option.;
+--source include/search_pattern_in_file.inc
+
+--echo [6]: check the innochecksum with full form strict-check & no-check , an error is expected
+--error 1
+--exec $INNOCHECKSUM --strict-check=innodb --no-check $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error: --strict-check option cannot be used together with --no-check option.;
+--source include/search_pattern_in_file.inc
+
+--echo [7]: check the innochecksum with short form strict-check & no-check , an error is expected
+--error 1
+--exec $INNOCHECKSUM -C innodb -n $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error: --strict-check option cannot be used together with --no-check option.;
+--source include/search_pattern_in_file.inc
+
+--echo [8]: check the innochecksum with short & full form combination
+--echo # strict-check & no-check, an error is expected
+--error 1
+--exec $INNOCHECKSUM --strict-check=innodb -n $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error: --strict-check option cannot be used together with --no-check option.;
+--source include/search_pattern_in_file.inc
+
+--echo [9]: check the innochecksum with full form --strict-check=innodb
+# Server Default checksum = crc32
+--error 1
+--exec $INNOCHECKSUM --strict-check=innodb $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+
+--echo [10]: check the innochecksum with full form --strict-check=none
+--echo # when server Default checksum=crc32
+--error 1
+--exec $INNOCHECKSUM --strict-check=none $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+
+--echo [11]: check the innochecksum with short form -C innodb
+--echo # when server Default checksum=crc32
+--error 1
+--exec $INNOCHECKSUM -C innodb $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+
+--echo [12]: check the innochecksum with short form -C none
+--echo # when server Default checksum=crc32
+--error 1
+--exec $INNOCHECKSUM -C none $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+
+--echo [13]: check strict-check with invalid values
+--error 1
+--exec $INNOCHECKSUM --strict-check=strict_innodb $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'strict_innodb\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -C strict_innodb $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'strict_innodb\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --strict-check=strict_crc32 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'strict_crc32\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -C strict_crc32 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'strict_crc32\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --strict-check=strict_none $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'strict_none\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -C strict_none $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'strict_none\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --strict-check=InnoBD $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'InnoBD\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -C InnoBD $MYSQLD_DATADIR/test/tab1.ibd 2>$SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'InnoBD\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --strict-check=crc $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'crc\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --strict-check=no $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error while setting value \'no\' to \'strict-check\';
+--source include/search_pattern_in_file.inc
+
+--echo [14a]: when server default checksum=crc32 rewrite new checksum=crc32 with innochecksum
+--echo # Also check the long form of write option.
+--exec $INNOCHECKSUM --strict-check=crc32 --write=crc32 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --strict-check=crc32 --write=crc32 $MYSQLD_DATADIR/test/t1.ibd
+# Rewrite done, verify with --strict-check=crc32
+--exec $INNOCHECKSUM --strict-check=crc32 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --strict-check=crc32 $MYSQLD_DATADIR/test/t1.ibd
+
+--echo [14b]: when server default checksum=crc32 rewrite new checksum=innodb with innochecksum
+--echo # Also check the long form of write option.
+--exec $INNOCHECKSUM --no-check --write=innodb $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --strict-check=crc32 --write=innodb $MYSQLD_DATADIR/test/t1.ibd
+# Rewrite done, verify with --strict-check=innodb
+--exec $INNOCHECKSUM --strict-check=innodb $MYSQLD_DATADIR/test/tab1.ibd
+
+--echo # start the server with innodb_checksum_algorithm=InnoDB
+--let $restart_parameters= --innodb_checksum_algorithm=innodb
+--source include/start_mysqld.inc
+
+INSERT INTO tab1 VALUES(2, 'Innochecksum CRC32');
+SELECT c1,c2 FROM tab1 order by c1,c2;
+
+--echo # Stop the server
+--source include/shutdown_mysqld.inc
+
+--echo [15]: when server default checksum=crc32 rewrite new checksum=none with innochecksum
+--echo # Also check the short form of write option.
+--exec $INNOCHECKSUM --no-check -w none $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --no-check -w none $MYSQLD_DATADIR/test/t1.ibd
+# Rewrite done, verify with --strict-check=none
+--exec $INNOCHECKSUM --strict-check=none $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --strict-check=none $MYSQLD_DATADIR/test/t1.ibd
+
+--echo # Start the server with checksum algorithm=none
+--let $restart_parameters= --innodb_checksum_algorithm=none
+--source include/start_mysqld.inc
+
+INSERT INTO tab1 VALUES(3, 'Innochecksum None');
+SELECT c1,c2 FROM tab1 order by c1,c2;
+DROP TABLE t1;
+
+--echo # Stop the server
+--source include/shutdown_mysqld.inc
+
+--echo [16]: rewrite into new checksum=crc32 with innochecksum
+--exec $INNOCHECKSUM --no-check --write=crc32 $MYSQLD_DATADIR/test/tab1.ibd
+
+--echo # Restart the DB server with innodb_checksum_algorithm=crc32
+--let $restart_parameters= --innodb_checksum_algorithm=crc32
+--source include/start_mysqld.inc
+
+SELECT * FROM tab1;
+DELETE FROM tab1 where c1=3;
+SELECT c1,c2 FROM tab1 order by c1,c2;
+
+--echo # Stop server
+--source include/shutdown_mysqld.inc
+
+--echo [17]: rewrite into new checksum=InnoDB
+--exec $INNOCHECKSUM --no-check --write=InnoDB $MYSQLD_DATADIR/test/tab1.ibd
+
+--echo # Restart the DB server with innodb_checksum_algorithm=InnoDB
+--let $restart_parameters= --innodb_checksum_algorithm=innodb
+--source include/start_mysqld.inc
+
+DELETE FROM tab1 where c1=2;
+SELECT * FROM tab1;
+
+--echo # Stop server
+--source include/shutdown_mysqld.inc
+
+--echo [18]:check Innochecksum with invalid write options
+--error 1
+--exec $INNOCHECKSUM --no-check --write=strict_crc32 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN=Error while setting value \'strict_crc32\' to \'write\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --no-check --write=strict_innodb $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN=Error while setting value \'strict_innodb\' to \'write\';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --no-check --write=crc23 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN=Error while setting value \'crc23\' to \'write\';
+--source include/search_pattern_in_file.inc
+--remove_file $SEARCH_FILE
+
+# Cleanup
+--let $restart_parameters=
+--source include/start_mysqld.inc
+
+DROP TABLE tab1;
diff --git a/mysql-test/suite/innodb/t/innodb_zip_innochecksum2.opt b/mysql-test/suite/innodb/t/innodb_zip_innochecksum2.opt
new file mode 100644
index 00000000000..39d5c6d577c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_zip_innochecksum2.opt
@@ -0,0 +1,4 @@
+--skip-innodb-doublewrite
+--innodb-file-per-table
+--innodb-file-format=Barracuda
+--innodb-change-buffering=none
diff --git a/mysql-test/suite/innodb/t/innodb_zip_innochecksum2.test b/mysql-test/suite/innodb/t/innodb_zip_innochecksum2.test
new file mode 100644
index 00000000000..330bb81ba75
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_zip_innochecksum2.test
@@ -0,0 +1,118 @@
+#************************************************************
+# WL6045:Improve Innochecksum
+#************************************************************
+--source include/innodb_page_size_small.inc
+--source include/have_debug.inc
+--source include/no_valgrind_without_big.inc
+# Avoid CrashReporter popup on Mac.
+--source include/not_crashrep.inc
+
+--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;
+
+SET GLOBAL innodb_compression_level=0;
+SELECT @@innodb_compression_level;
+
+CREATE TABLE t1 (j LONGBLOB) ENGINE = InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+INSERT INTO t1 VALUES (repeat('abcdefghijklmnopqrstuvwxyz',200));
+let $i=10;
+while ($i > 0) {
+ INSERT INTO t1 SELECT * from t1;
+ dec $i;
+}
+
+--echo # stop the server
+--source include/shutdown_mysqld.inc
+
+# Page_type_dump for t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--exec $INNOCHECKSUM -v --page-type-dump $MYSQLTEST_VARDIR/tmp/dump.txt $MYSQLD_DATADIR/test/t1.ibd
+--file_exists $MYSQLTEST_VARDIR/tmp/dump.txt
+--remove_file $MYSQLTEST_VARDIR/tmp/dump.txt
+
+--echo [1]:# check the both short and long options for "help"
+--exec $INNOCHECKSUM --help $MYSQLD_DATADIR/test/t1.ibd > $MYSQLTEST_VARDIR/tmp/help_output_long.txt
+--exec $INNOCHECKSUM -I $MYSQLD_DATADIR/test/t1.ibd > $MYSQLTEST_VARDIR/tmp/help_output_short.txt
+--diff_files $MYSQLTEST_VARDIR/tmp/help_output_long.txt $MYSQLTEST_VARDIR/tmp/help_output_short.txt
+
+--echo [2]:# Run the innochecksum when file isn't provided.
+--echo # It will print the innochecksum usage similar to --help option.
+--error 1
+--exec $INNOCHECKSUM > $MYSQLTEST_VARDIR/tmp/usage.txt
+--diff_files $MYSQLTEST_VARDIR/tmp/help_output_long.txt $MYSQLTEST_VARDIR/tmp/usage.txt
+--remove_file $MYSQLTEST_VARDIR/tmp/usage.txt
+
+perl;
+use strict;
+use warnings;
+use File::Copy;
+my $dir = $ENV{'MYSQLTEST_VARDIR'};
+my $file= 'help_output_long.txt';
+# open file in write mode
+open IN_FILE,"<", "$dir/tmp/$file" or die $!;
+open OUT_FILE, ">", "$dir/tmp/tmpfile" or die $!;
+while(<IN_FILE>) {
+ unless ($_=~ /^debug.*$/ || $_=~ /\-#, \-\-debug.*$/ || $_=~ /http:.*html/) {
+ $_=~ s/^\S*innochecksum.+Ver.+[0-9]*\.[0-9]*\.[0-9]*.+$/innochecksum Ver #.#.#/g;
+ $_=~ s/(Copyright\s\(c\))\s([0-9]*),\s([0-9]*)(.*)/$1 YEAR, YEAR $4/g;
+ $_=~ s/Usage:.*\[-c/Usage: innochecksum [-c/g;
+ print OUT_FILE $_;
+ }
+}
+close(IN_FILE);
+close(OUT_FILE);
+# move the new content from tmp file to the orginal file.
+move ("$dir/tmp/tmpfile", "$dir/tmp/$file");
+EOF
+
+--cat_file $MYSQLTEST_VARDIR/tmp/help_output_long.txt
+--remove_file $MYSQLTEST_VARDIR/tmp/help_output_long.txt
+--remove_file $MYSQLTEST_VARDIR/tmp/help_output_short.txt
+
+--echo [3]:# check the both short and long options for "count" and exit
+--replace_regex /[0-9]+/#/
+--exec $INNOCHECKSUM --count $MYSQLD_DATADIR/test/t1.ibd
+--replace_regex /[0-9]+/#/
+--exec $INNOCHECKSUM -c $MYSQLD_DATADIR/test/t1.ibd
+
+--echo [4]:# Print the version of innochecksum and exit
+--replace_regex /.*innochecksum.*Ver.*[0-9]*.[0-9]*.[0-9]*.*/innochecksum Ver #.#.#/
+--exec $INNOCHECKSUM -V $MYSQLD_DATADIR/test/t1.ibd
+
+--echo # Restart the DB server
+--source include/start_mysqld.inc
+
+DROP TABLE t1;
+
+--echo [5]:# Check the innochecksum for compressed table t1 with different key_block_size
+--echo # Test for KEY_BLOCK_SIZE=1
+--let $size=1
+--source ../include/innodb-wl6045.inc
+
+--echo # Test for KEY_BLOCK_SIZE=2
+--let $size=2
+--source ../include/innodb-wl6045.inc
+
+--echo # Test for for KEY_BLOCK_SIZE=4
+--let $size=4
+--source ../include/innodb-wl6045.inc
+
+set innodb_strict_mode=off;
+--echo # Test for for KEY_BLOCK_SIZE=8
+--let $size=8
+--source ../include/innodb-wl6045.inc
+
+set innodb_strict_mode=off;
+--echo # Test for KEY_BLOCK_SIZE=16
+--let $size=16
+--source ../include/innodb-wl6045.inc
+--echo # Test[5] completed
diff --git a/mysql-test/suite/innodb/t/innodb_zip_innochecksum3.opt b/mysql-test/suite/innodb/t/innodb_zip_innochecksum3.opt
new file mode 100644
index 00000000000..828a7cd67c8
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_zip_innochecksum3.opt
@@ -0,0 +1,2 @@
+--innodb-file-per-table
+--innodb-file-format=Barracuda
diff --git a/mysql-test/suite/innodb/t/innodb_zip_innochecksum3.test b/mysql-test/suite/innodb/t/innodb_zip_innochecksum3.test
new file mode 100644
index 00000000000..dab10dcc997
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_zip_innochecksum3.test
@@ -0,0 +1,406 @@
+#************************************************************
+# WL6045:Improve Innochecksum
+#************************************************************
+--source include/innodb_page_size_small.inc
+
+--source include/no_valgrind_without_big.inc
+
+# Embedded server does not support crashing.
+--source include/not_embedded.inc
+
+# Avoid CrashReporter popup on Mac.
+--source include/not_crashrep.inc
+
+--echo # Set the environmental variables
+let MYSQLD_BASEDIR= `SELECT @@basedir`;
+let MYSQLD_DATADIR= `SELECT @@datadir`;
+let SEARCH_FILE= $MYSQLTEST_VARDIR/log/my_restart.err;
+
+call mtr.add_suppression("InnoDB: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts");
+call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to.*");
+
+--echo [1]: Further Test are for rewrite checksum (innodb|crc32|none) for all ibd file & start the server.
+
+CREATE TABLE tab1 (pk INTEGER NOT NULL PRIMARY KEY,
+linestring_key GEOMETRY NOT NULL,
+linestring_nokey GEOMETRY NOT NULL)
+ENGINE=InnoDB ;
+
+INSERT INTO tab1 (pk, linestring_key, linestring_nokey)
+VALUES (1, ST_GeomFromText('POINT(10 10) '), ST_GeomFromText('POINT(10 10) '));
+
+CREATE INDEX linestring_index ON tab1(linestring_nokey(5));
+ALTER TABLE tab1 ADD KEY (linestring_key(5));
+
+--echo # create a compressed table
+CREATE TABLE tab2(col_1 CHAR (255) ,
+col_2 VARCHAR (255), col_3 longtext,
+col_4 longtext,col_5 longtext,
+col_6 longtext , col_7 int )
+engine = innodb row_format=compressed key_block_size=4;
+
+CREATE INDEX idx1 ON tab2(col_3(10));
+CREATE INDEX idx2 ON tab2(col_4(10));
+CREATE INDEX idx3 ON tab2(col_5(10));
+
+# load the with repeat function
+SET @col_1 = repeat('a', 5);
+SET @col_2 = repeat('b', 20);
+SET @col_3 = repeat('c', 100);
+SET @col_4 = repeat('d', 100);
+SET @col_5 = repeat('e', 100);
+SET @col_6 = repeat('f', 100);
+
+# insert 5 records
+let $i = 5;
+while ($i) {
+ eval INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+ VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,$i);
+ dec $i;
+}
+
+--disable_result_log
+SELECT * FROM tab2 ORDER BY col_7;
+
+--echo # stop the server
+--source include/shutdown_mysqld.inc
+
+--echo [1(a)]: Rewrite into new checksum=InnoDB for all *.ibd file and ibdata1
+--exec $INNOCHECKSUM --write=InnoDB $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --write=InnoDB $MYSQLD_DATADIR/test/tab2.ibd
+--exec $INNOCHECKSUM --write=InnoDB $MYSQLD_DATADIR/ibdata1
+perl;
+foreach (glob("$ENV{MYSQLD_DATADIR}/*/*.ibd")) {
+ system("$ENV{INNOCHECKSUM} --no-check --write=InnoDB $_")
+}
+EOF
+
+--echo : start the server with innodb_checksum_algorithm=strict_innodb
+--let $restart_parameters= --innodb_checksum_algorithm=strict_innodb
+--source include/start_mysqld.inc
+
+INSERT INTO tab1 (pk, linestring_key, linestring_nokey)
+VALUES (2, ST_GeomFromText('LINESTRING(10 10,20 20,30 30)'), ST_GeomFromText('LINESTRING(10 10,20 20,30 30)'));
+
+# load the with repeat function
+SET @col_1 = repeat('a', 5);
+SET @col_2 = repeat('b', 20);
+SET @col_3 = repeat('c', 100);
+SET @col_4 = repeat('d', 100);
+SET @col_5 = repeat('e', 100);
+SET @col_6 = repeat('f', 100);
+
+# check the table status is GOOD with DML
+let $i = 6;
+eval INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,$i);
+
+-- disable_result_log
+SELECT pk,ST_AsText(linestring_key),ST_AsText(linestring_nokey)
+FROM tab1 ORDER BY pk;
+
+-- disable_result_log
+SELECT * FROM tab2 ORDER BY col_7;
+
+--echo # stop the server
+--source include/shutdown_mysqld.inc
+
+--echo [1(b)]: Rewrite into new checksum=crc32 for all *.ibd file and ibdata1
+--exec $INNOCHECKSUM --write=CRC32 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --write=CRC32 $MYSQLD_DATADIR/test/tab2.ibd
+--exec $INNOCHECKSUM --write=CRC32 $MYSQLD_DATADIR/ibdata1
+perl;
+foreach (glob("$ENV{MYSQLD_DATADIR}/*/*.ibd")) {
+ system("$ENV{INNOCHECKSUM} --no-check --write=crc32 $_")
+}
+EOF
+
+--echo # start the server with innodb_checksum_algorithm=strict_crc32
+--let $restart_parameters= --innodb_checksum_algorithm=strict_crc32
+--source include/start_mysqld.inc
+
+# check the table status is GOOD with DML
+INSERT INTO tab1 (pk, linestring_key, linestring_nokey)
+VALUES (3, ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'),
+ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'));
+
+# load the with repeat function
+SET @col_1 = repeat('g', 5);
+SET @col_2 = repeat('h', 20);
+SET @col_3 = repeat('i', 100);
+SET @col_4 = repeat('j', 100);
+SET @col_5 = repeat('k', 100);
+SET @col_6 = repeat('l', 100);
+
+# check the table status is GOOD with DML
+let $i = 7;
+eval INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,$i);
+
+# check the records from table
+-- disable_result_log
+SELECT pk,ST_AsText(linestring_key),ST_AsText(linestring_nokey)
+FROM tab1 ORDER BY pk;
+
+-- disable_result_log
+SELECT * FROM tab2 ORDER BY col_7;
+
+--echo # stop the server
+--source include/shutdown_mysqld.inc
+
+--echo [1(c)]: Rewrite into new checksum=none for all *.ibd file and ibdata1
+--exec $INNOCHECKSUM --write=none $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --write=none $MYSQLD_DATADIR/test/tab2.ibd
+--exec $INNOCHECKSUM --write=none $MYSQLD_DATADIR/ibdata1
+perl;
+foreach (glob("$ENV{MYSQLD_DATADIR}/undo*")) {
+ system("$ENV{INNOCHECKSUM} --no-check --write=NONE $_")
+}
+foreach (glob("$ENV{MYSQLD_DATADIR}/*/*.ibd")) {
+ system("$ENV{INNOCHECKSUM} --no-check --write=NONE $_")
+}
+EOF
+
+--let $restart_parameters= --innodb_checksum_algorithm=strict_none
+--source include/start_mysqld.inc
+--let $restart_parameters=
+# check the table status is GOOD with DML
+INSERT INTO tab1 (pk, linestring_key, linestring_nokey)
+VALUES (4, ST_GeomFromText('MULTIPOINT(0 0,5 5,10 10,20 20) '), ST_GeomFromText('MULTIPOINT(0 0,5 5,10 10,20 20) '));
+
+# load the with repeat function
+SET @col_1 = repeat('m', 5);
+SET @col_2 = repeat('n', 20);
+SET @col_3 = repeat('o', 100);
+SET @col_4 = repeat('p', 100);
+SET @col_5 = repeat('q', 100);
+SET @col_6 = repeat('r', 100);
+
+# check the table status is GOOD with DML
+let $i = 8;
+eval INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7)
+VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,$i);
+
+# check the records from table
+-- disable_result_log
+SELECT pk,ST_AsText(linestring_key),ST_AsText(linestring_nokey)
+FROM tab1 ORDER BY pk;
+
+--disable_result_log
+SELECT * FROM tab2 ORDER BY col_7;
+--enable_result_log
+
+--echo # stop the server
+--source include/shutdown_mysqld.inc
+
+--echo [2]: Check the page type summary with shortform for tab1.ibd
+--replace_regex /File.*.ibd/File::tab1.ibd/ /[0-9]+/#/
+--exec $INNOCHECKSUM -S $MYSQLD_DATADIR/test/tab1.ibd 2>$MYSQLTEST_VARDIR/tmp/page_summary_short.txt
+
+--echo [3]: Check the page type summary with longform for tab1.ibd
+--replace_regex /File.*.ibd/File::tab1.ibd/ /[0-9]+/#/
+--exec $INNOCHECKSUM --page-type-summary $MYSQLD_DATADIR/test/tab1.ibd 2>$MYSQLTEST_VARDIR/tmp/page_summary_long.txt
+
+--remove_file $MYSQLTEST_VARDIR/tmp/page_summary_short.txt
+--remove_file $MYSQLTEST_VARDIR/tmp/page_summary_long.txt
+--echo [4]: Page type dump for with longform for tab1.ibd
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--exec $INNOCHECKSUM --page-type-dump $MYSQLTEST_VARDIR/tmp/dump.txt $MYSQLD_DATADIR/test/tab1.ibd
+
+perl;
+use strict;
+use warnings;
+use File::Copy;
+my $dir = $ENV{'MYSQLTEST_VARDIR'};
+opendir(DIR, $dir) or die $!;
+my $file= 'dump.txt';
+# open file in write mode
+open IN_FILE,"<", "$dir/tmp/$file" or die $!;
+open OUT_FILE, ">", "$dir/tmp/innochecksum_3_tempfile" or die $!;
+while(<IN_FILE>)
+{
+ # Replace the intergers to # and complete file path to file name only.
+ $_=~ s/Filename.+/Filename::tab1.ibd/g;
+ $_=~ s/\d+/#/g;
+ print OUT_FILE $_;
+}
+close(IN_FILE);
+close(OUT_FILE);
+# move the new content from tmp file to the orginal file.
+move ("$dir/tmp/innochecksum_3_tempfile", "$dir/tmp/$file");
+closedir(DIR);
+EOF
+
+--echo # Print the contents stored in dump.txt
+cat_file $MYSQLTEST_VARDIR/tmp/dump.txt;
+--remove_file $MYSQLTEST_VARDIR/tmp/dump.txt
+
+--echo # Variables used by page type dump for ibdata1
+--exec $INNOCHECKSUM -v --page-type-dump $MYSQLTEST_VARDIR/tmp/dump.txt $MYSQLD_DATADIR/ibdata1 > $MYSQLTEST_VARDIR/tmp/page_verbose_summary.txt
+
+--file_exists $MYSQLTEST_VARDIR/tmp/dump.txt
+--remove_file $MYSQLTEST_VARDIR/tmp/dump.txt
+
+perl;
+use strict;
+use warnings;
+use File::Copy;
+my $dir = $ENV{'MYSQLTEST_VARDIR'};
+opendir(DIR, $dir) or die $!;
+my $file= 'page_verbose_summary.txt';
+# open file in write mode
+open IN_FILE,"<", "$dir/tmp/$file" or die $!;
+open OUT_FILE, ">", "$dir/tmp/innochecksum_3_tempfile" or die $!;
+while(<IN_FILE>)
+{
+ # Replace complete file path to file name only.
+ $_=~ s/$dir/MYSQLTEST_VARDIR/;
+ # Remove debug option, which is not in all builds
+ next if (/debug/);
+ print OUT_FILE $_;
+}
+close(IN_FILE);
+close(OUT_FILE);
+# move the new content from tmp file to the orginal file.
+move ("$dir/tmp/innochecksum_3_tempfile", "$dir/tmp/$file");
+closedir(DIR);
+EOF
+
+cat_file $MYSQLTEST_VARDIR/tmp/page_verbose_summary.txt;
+--remove_file $MYSQLTEST_VARDIR/tmp/page_verbose_summary.txt
+
+--echo [5]: Page type dump for with shortform for tab1.ibd
+--exec $INNOCHECKSUM -D $MYSQLTEST_VARDIR/tmp/dump.txt $MYSQLD_DATADIR/test/tab1.ibd
+
+perl;
+use strict;
+use warnings;
+use File::Copy;
+my $dir = $ENV{'MYSQLTEST_VARDIR'};
+opendir(DIR, $dir) or die $!;
+my $file= 'dump.txt';
+# open file in write mode
+open IN_FILE,"<", "$dir/tmp/$file" or die $!;
+open OUT_FILE, ">", "$dir/tmp/innochecksum_3_tempfile" or die $!;
+while(<IN_FILE>)
+{
+ # Replace the intergers to # and complete file path to file name only.
+ $_=~ s/Filename.+/Filename::tab1.ibd/g;
+ $_=~ s/\d+/#/g;
+ print OUT_FILE $_;
+}
+close(IN_FILE);
+close(OUT_FILE);
+# move the new content from tmp file to the orginal file.
+move ("$dir/tmp/innochecksum_3_tempfile", "$dir/tmp/$file");
+closedir(DIR);
+EOF
+
+# Print the contents stored in dump.txt
+cat_file $MYSQLTEST_VARDIR/tmp/dump.txt;
+--remove_file $MYSQLTEST_VARDIR/tmp/dump.txt
+
+--echo [6]: check the valid lower bound values for option
+--echo # allow-mismatches,page,start-page,end-page
+--exec $INNOCHECKSUM --allow-mismatches=0 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM -a 0 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --page=0 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM -p 0 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --start-page=0 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM -s 0 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM --end-page=0 $MYSQLD_DATADIR/test/tab1.ibd
+--exec $INNOCHECKSUM -e 0 $MYSQLD_DATADIR/test/tab1.ibd
+
+#
+# These produce now errors
+#
+#--echo [7]: check the negative values for option
+#--echo # allow-mismatches,page,start-page,end-page.
+#--echo # They will reset to zero for negative values.
+#--echo # check the invalid lower bound values
+#--exec $INNOCHECKSUM --allow-mismatches=-1 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM -a -1 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM --page=-1 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM -p -1 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM --start-page=-1 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM -s -1 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM --end-page=-1 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM -e -1 $MYSQLD_DATADIR/test/tab1.ibd
+#
+#--echo [8]: check the valid upper bound values for
+#--echo # both short and long options "allow-mismatches" and "end-page"
+#
+#--exec $INNOCHECKSUM --allow-mismatches=18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM -a 18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM --end-page=18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd
+#--exec $INNOCHECKSUM -e 18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd
+
+--echo [9]: check the both short and long options "page" and "start-page" when
+--echo # seek value is larger than file size.
+--error 1
+--exec $INNOCHECKSUM --page=18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error: Unable to seek to necessary offset: Invalid argument;
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -p 18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error: Unable to seek to necessary offset: Invalid argument;
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --start-page=18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error: Unable to seek to necessary offset: Invalid argument;
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -s 18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Error: Unable to seek to necessary offset: Invalid argument;
+--source include/search_pattern_in_file.inc
+
+--echo [34]: check the invalid upper bound values for options, allow-mismatches, end-page, start-page and page.
+--echo # innochecksum will fail with error code: 1
+--error 1
+--exec $INNOCHECKSUM --allow-mismatches=18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -a 18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --end-page=18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -e 18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --page=18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -p 18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM --start-page=18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616';
+--source include/search_pattern_in_file.inc
+
+--error 1
+--exec $INNOCHECKSUM -s 18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616';
+--source include/search_pattern_in_file.inc
+--remove_file $SEARCH_FILE
+
+# Cleanup
+--source include/start_mysqld.inc
+
+DROP TABLE tab1,tab2;
diff --git a/mysql-test/suite/innodb/t/lock_deleted.test b/mysql-test/suite/innodb/t/lock_deleted.test
new file mode 100644
index 00000000000..8dbad90d354
--- /dev/null
+++ b/mysql-test/suite/innodb/t/lock_deleted.test
@@ -0,0 +1,72 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+--source include/count_sessions.inc
+
+connect(stop_purge, localhost, root,,);
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+connect(delete, localhost, root,,);
+connection default;
+
+CREATE TABLE t1(a INT PRIMARY KEY, b INT UNIQUE) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1,1);
+DELETE FROM t1;
+
+let $i=2;
+while ($i) {
+let $iso= `SELECT CASE $i WHEN 1 THEN 'UNCOMMITTED' ELSE 'COMMITTED' END`;
+
+SET DEBUG_SYNC='row_ins_sec_index_unique SIGNAL inserted WAIT_FOR locked';
+BEGIN;
+send INSERT INTO t1 VALUES(1,1);
+
+connection delete;
+SET DEBUG_SYNC='now WAIT_FOR inserted';
+SET DEBUG_SYNC='innodb_row_search_for_mysql_exit SIGNAL locked';
+eval SET SESSION TRANSACTION ISOLATION LEVEL READ $iso;
+BEGIN;
+send DELETE FROM t1 WHERE b=1;
+
+connection default;
+reap;
+connection delete;
+reap;
+COMMIT;
+
+connection default;
+SET DEBUG_SYNC='RESET';
+ROLLBACK;
+
+dec $i;
+}
+
+SET DEBUG_SYNC='row_ins_sec_index_unique SIGNAL inserted WAIT_FOR locked';
+BEGIN;
+SET innodb_lock_wait_timeout=1;
+send INSERT INTO t1 VALUES(1,1);
+
+connection delete;
+SET DEBUG_SYNC='now WAIT_FOR inserted';
+SET DEBUG_SYNC='innodb_row_search_for_mysql_exit SIGNAL locked';
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+BEGIN;
+send DELETE FROM t1 WHERE b=1;
+
+connection default;
+--error ER_LOCK_WAIT_TIMEOUT
+reap;
+COMMIT;
+SET DEBUG_SYNC='RESET';
+
+connection delete;
+reap;
+COMMIT;
+
+disconnect delete;
+disconnect stop_purge;
+
+connection default;
+DROP TABLE t1;
+
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/log_data_file_size.opt b/mysql-test/suite/innodb/t/log_data_file_size.opt
new file mode 100644
index 00000000000..d9a364a3287
--- /dev/null
+++ b/mysql-test/suite/innodb/t/log_data_file_size.opt
@@ -0,0 +1,2 @@
+--loose-innodb-sys-indexes
+--innodb-data-file-path=ibdata1:1M:autoextend
diff --git a/mysql-test/suite/innodb/t/log_data_file_size.test b/mysql-test/suite/innodb/t/log_data_file_size.test
new file mode 100644
index 00000000000..75e38673f69
--- /dev/null
+++ b/mysql-test/suite/innodb/t/log_data_file_size.test
@@ -0,0 +1,80 @@
+--source include/innodb_page_size.inc
+--source include/not_embedded.inc
+
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+let MYSQLD_DATADIR=`select @@datadir`;
+let MYSQLD_IS_DEBUG=`select version() like '%debug%'`;
+--source include/no_checkpoint_start.inc
+SET GLOBAL innodb_file_per_table=0;
+SET GLOBAL innodb_file_format=barracuda;
+CREATE TABLE t(a INT)ENGINE=InnoDB;
+let INNODB_ROOT_PAGE= `SELECT page_no FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES WHERE name='GEN_CLUST_INDEX'`;
+SET GLOBAL innodb_file_per_table=1;
+
+CREATE TABLE ibd4(a INT UNIQUE)ENGINE=InnoDB;
+CREATE TABLE ibd4f(a INT UNIQUE)ENGINE=InnoDB;
+CREATE TABLE ibd5(a INT UNIQUE, b INT UNIQUE)ENGINE=InnoDB;
+
+let $drop_tables= DROP TABLE t,ibd4,ibd4f,ibd5;
+--let CLEANUP_IF_CHECKPOINT= $drop_tables;
+--source ../include/no_checkpoint_end.inc
+
+perl;
+use Fcntl 'SEEK_CUR', 'SEEK_END';
+
+my $page_size = $ENV{'INNODB_PAGE_SIZE'};
+my $restart;
+open(FILE, "+<", "$ENV{'MYSQLD_DATADIR'}ibdata1") or die;
+if ($ENV{'MYSQLD_IS_DEBUG'})
+{
+ # It is impractical to ensure that CREATE TABLE t will extend ibdata1.
+ # We rely on innodb_system_tablespace_extend_debug=1
+ # to recover from this fault injection if no size change was redo-logged.
+ my $root = $ENV{'INNODB_ROOT_PAGE'};
+ my $size = sysseek(FILE, 0, SEEK_END) / $page_size;
+ seek(FILE, $page_size * ($root + 1), SEEK_SET) or die;
+ my $empty_tail= 1;
+ while(<FILE>) { unless (/\0*/gso) { $empty_tail= 0; last } }
+ if ($empty_tail)
+ {
+ $restart = "--innodb-data-file-size-debug=$size";
+ truncate(FILE, $page_size * $root);
+ }
+}
+# Clear the doublewrite buffer entries for our tables.
+sysseek(FILE, 6 * $page_size - 190, 0)||die "Unable to seek ibdata1\n";
+sysread(FILE, $_, 12) == 12||die "Unable to read TRX_SYS\n";
+my($magic,$d1,$d2)=unpack "NNN", $_;
+die "magic=$magic, $d1, $d2\n" unless $magic == 536853855 && $d2 >= $d1 + 64;
+sysseek(FILE, $d1 * $page_size, 0)||die "Unable to seek ibdata1\n";
+# Find the pages in the doublewrite buffer
+for (my $d = $d1; $d < $d2 + 64; $d++) {
+ sysread(FILE, $_, $page_size)==$page_size||die "Cannot read doublewrite\n";
+ my($space_id,$offset)=unpack "x[4]Nx[26]N",$_;
+ next unless $space_id && $offset > 3;
+ sysseek(FILE, $d * $page_size, 0)||die "Unable to seek ibdata1\n";
+ syswrite(FILE, chr(0) x $page_size)==$page_size||die;
+}
+close FILE;
+open(FILE, ">$ENV{MYSQLTEST_VARDIR}/log/start_mysqld.txt") || die;
+print FILE "--let \$restart_parameters=$restart\n" if $restart;
+print FILE "--source include/start_mysqld.inc\n";
+close FILE;
+open(FILE, "+<", "$ENV{'MYSQLD_DATADIR'}test/ibd4.ibd") or die;
+truncate(FILE, $page_size * 4);
+close FILE;
+open(FILE, "+<", "$ENV{'MYSQLD_DATADIR'}test/ibd4f.ibd") or die;
+truncate(FILE, $page_size * 4 + 1234);
+# Work around MDEV-12699 and ensure that the truncated page is all-zero.
+sysseek(FILE, $page_size * 4, 0);
+syswrite(FILE, chr(0) x 1234);
+close FILE;
+open(FILE, "+<", "$ENV{'MYSQLD_DATADIR'}test/ibd5.ibd") or die;
+truncate(FILE, $page_size * 5);
+close FILE;
+EOF
+
+--source $MYSQLTEST_VARDIR/log/start_mysqld.txt
+--remove_file $MYSQLTEST_VARDIR/log/start_mysqld.txt
+
+eval $drop_tables;
diff --git a/mysql-test/suite/innodb/t/log_file_size.test b/mysql-test/suite/innodb/t/log_file_size.test
new file mode 100644
index 00000000000..061bf35ccef
--- /dev/null
+++ b/mysql-test/suite/innodb/t/log_file_size.test
@@ -0,0 +1,222 @@
+# Test resizing the InnoDB redo log.
+
+--source include/innodb_page_size_small.inc
+
+# Embedded server does not support crashing
+--source include/not_embedded.inc
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
+# DBUG_EXECUTE_IF is needed
+--source include/have_debug.inc
+
+if (`SELECT @@innodb_log_file_size = 1048576`) {
+ --skip Test requires innodb_log_file_size>1M.
+}
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: Resizing redo log");
+call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files");
+call mtr.add_suppression("InnoDB: New log files created");
+# This message is output by 10.0 and 10.1, not by 10.2
+call mtr.add_suppression("InnoDB: The log sequence number in the ibdata files is higher than the log sequence number in the ib_logfiles");
+call mtr.add_suppression("InnoDB: The log sequence numbers [0-9]+ and [0-9]+ in ibdata files do not match the log sequence number [0-9]+ in the ib_logfiles");
+call mtr.add_suppression("syntax error in innodb_log_group_home_dir");
+call mtr.add_suppression("Plugin 'InnoDB' init function returned error");
+call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed");
+call mtr.add_suppression("InnoDB: Plugin initialization aborted");
+call mtr.add_suppression("InnoDB: innodb_read_only prevents crash recovery");
+call mtr.add_suppression("InnoDB: Are you sure you are using the right ib_logfiles");
+call mtr.add_suppression("InnoDB: Cannot (create|resize) log files in read-only mode");
+call mtr.add_suppression("InnoDB: Can't initiate database recovery, running in read-only-mode");
+call mtr.add_suppression("InnoDB: Only one log file found");
+call mtr.add_suppression("InnoDB: Log file .*ib_logfile[01].* size");
+call mtr.add_suppression("InnoDB: Unable to open .*ib_logfile0. to check native AIO read support");
+# InnoDB shutdown after refused startup is not clean in 10.0 or 10.1!
+--source include/not_valgrind.inc
+call mtr.add_suppression("mysqld got signal 11");
+call mtr.add_suppression("Attempting backtrace");
+FLUSH TABLES;
+--enable_query_log
+
+--let $restart_parameters= --innodb-thread-concurrency=1 --innodb-log-file-size=1m --innodb-log-files-in-group=2
+--source include/restart_mysqld.inc
+
+--let $restart_parameters= --innodb-thread-concurrency=100 --innodb-log-file-size=10M --innodb-log-files-in-group=2
+--source include/restart_mysqld.inc
+
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES (42);
+
+let $restart_parameters = --innodb-log-file-size=6M;
+--source include/kill_and_restart_mysqld.inc
+
+SELECT * FROM t1;
+
+INSERT INTO t1 VALUES (42);
+BEGIN;
+DELETE FROM t1;
+
+let $restart_parameters = --innodb-log-files-in-group=3 --innodb-log-file-size=5M;
+--source include/kill_and_restart_mysqld.inc
+
+SELECT * FROM t1;
+
+INSERT INTO t1 VALUES (123);
+
+let MYSQLD_DATADIR= `select @@datadir`;
+let SEARCH_RANGE= -50000;
+let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
+
+BEGIN;
+DELETE FROM t1;
+
+--source include/kill_mysqld.inc
+
+--let $restart_parameters= --innodb-log-group-home-dir=foo\;bar
+--source include/start_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+let SEARCH_PATTERN= syntax error in innodb_log_group_home_dir;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters= --debug=d,innodb_log_abort_1
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+let SEARCH_PATTERN= InnoDB: Starting crash recovery from checkpoint LSN=;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters= --debug=d,innodb_log_abort_3
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+
+--let $restart_parameters= --innodb-read-only
+--source include/restart_mysqld.inc
+
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+let SEARCH_PATTERN= InnoDB: innodb_read_only prevents crash recovery;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters= --debug=d,innodb_log_abort_4
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+let SEARCH_PATTERN= redo log from 3\*[0-9]+ to 2\*[0-9]+ pages;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters= --debug=d,innodb_log_abort_5
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+let SEARCH_PATTERN= redo log from 3\*[0-9]+ to 2\*[0-9]+ pages;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters= --innodb-read-only
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+let SEARCH_PATTERN= InnoDB: innodb_read_only prevents crash recovery;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters= --debug=d,innodb_log_abort_6
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+
+let SEARCH_PATTERN= redo log from 3\*[0-9]+ to 2\*[0-9]+ pages;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters= --debug=d,innodb_log_abort_7
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+
+# this aborts right after deleting all log files
+
+--let $restart_parameters= --innodb-read-only
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+
+let SEARCH_PATTERN= InnoDB: Cannot create log files in read-only mode;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters= --debug=d,innodb_log_abort_8
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+
+let SEARCH_PATTERN= InnoDB: Setting log file .*ib_logfile[0-9]+ size to;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters= --debug=d,innodb_log_abort_9
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+
+let SEARCH_PATTERN= InnoDB: Setting log file .*ib_logfile[0-9]+ size to;
+--source include/search_pattern_in_file.inc
+--source include/shutdown_mysqld.inc
+
+# We should have perfectly synced files here.
+# Rename the log files, and trigger an error in recovery.
+--move_file $MYSQLD_DATADIR/ib_logfile101 $MYSQLD_DATADIR/ib_logfile0
+--move_file $MYSQLD_DATADIR/ib_logfile1 $MYSQLD_DATADIR/ib_logfile1_hidden
+
+--let $restart_parameters=
+--source include/start_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+
+let SEARCH_PATTERN= InnoDB: Only one log file found;
+--source include/search_pattern_in_file.inc
+--move_file $MYSQLD_DATADIR/ib_logfile0 $MYSQLD_DATADIR/ib_logfile101
+
+perl;
+die unless open(FILE, ">$ENV{MYSQLD_DATADIR}/ib_logfile0");
+print FILE "garbage";
+close(FILE);
+EOF
+
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+let SEARCH_PATTERN= InnoDB: Log file .*ib_logfile0 size 7 is not a multiple of innodb_page_size;
+--source include/search_pattern_in_file.inc
+--remove_file $MYSQLD_DATADIR/ib_logfile0
+--move_file $MYSQLD_DATADIR/ib_logfile101 $MYSQLD_DATADIR/ib_logfile0
+
+perl;
+die unless open(FILE, ">$ENV{MYSQLD_DATADIR}/ib_logfile1");
+print FILE "junkfill" x 131072;
+close(FILE);
+EOF
+
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+
+let SEARCH_PATTERN= InnoDB: Log file .*ib_logfile1 is of different size 1048576 bytes than other log files;
+--source include/search_pattern_in_file.inc
+--remove_file $MYSQLD_DATADIR/ib_logfile1
+--move_file $MYSQLD_DATADIR/ib_logfile0 $MYSQLD_DATADIR/ib_logfile101
+--move_file $MYSQLD_DATADIR/ib_logfile1_hidden $MYSQLD_DATADIR/ib_logfile1
+
+--let $restart_parameters= --debug=d,innodb_log_abort_10
+--source include/restart_mysqld.inc
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM t1;
+
+let SEARCH_PATTERN= InnoDB: Setting log file .*ib_logfile[0-9]+ size to;
+--source include/search_pattern_in_file.inc
+let SEARCH_PATTERN= InnoDB: Renaming log file .*ib_logfile101 to .*ib_logfile0;
+--source include/search_pattern_in_file.inc
+
+--let $restart_parameters=
+--source include/restart_mysqld.inc
+
+SELECT * FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/mvcc.test b/mysql-test/suite/innodb/t/mvcc.test
new file mode 100644
index 00000000000..bf76a5de798
--- /dev/null
+++ b/mysql-test/suite/innodb/t/mvcc.test
@@ -0,0 +1,52 @@
+--source include/have_innodb.inc
+
+SET @save_per_table= @@GLOBAL.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table= 1;
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+
+--echo #
+--echo # MDEV-15249 Crash in MVCC read after IMPORT TABLESPACE
+--echo #
+
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(0);
+FLUSH TABLES t1 WITH READ LOCK;
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_backup_tablespace("test", "t1");
+EOF
+UNLOCK TABLES;
+
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+
+connect (con1,localhost,root,,);
+ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+
+connection default;
+--error ER_TABLE_DEF_CHANGED
+SELECT * FROM t1;
+COMMIT;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+
+connection con1;
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
+ib_restore_tablespace("test", "t1");
+EOF
+
+ALTER TABLE t1 IMPORT TABLESPACE;
+disconnect con1;
+
+connection default;
+--echo # FIXME: Block this with ER_TABLE_DEF_CHANGED
+SELECT * FROM t1;
+COMMIT;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+SET GLOBAL innodb_file_per_table= @save_per_table;
diff --git a/mysql-test/suite/innodb/t/read_only_recover_committed.test b/mysql-test/suite/innodb/t/read_only_recover_committed.test
new file mode 100644
index 00000000000..402cbeba1b9
--- /dev/null
+++ b/mysql-test/suite/innodb/t/read_only_recover_committed.test
@@ -0,0 +1,68 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+# need to restart server
+--source include/not_embedded.inc
+
+--connect(con1, localhost, root)
+CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t VALUES(1);
+BEGIN;
+# Generate insert_undo log.
+INSERT INTO t VALUES(2);
+# Generate update_undo log.
+DELETE FROM t WHERE a=2;
+--connect(con2, localhost, root)
+--echo # Normal MariaDB shutdown would roll back the above transaction.
+--echo # We want the transaction to remain open, so we will kill the server
+--echo # after ensuring that any non-transactional files are clean.
+FLUSH TABLES;
+--echo # Create another transaction that will be recovered as COMMITTED.
+BEGIN;
+# Generate multiple pages of both insert_undo and update_undo, so that
+# the state TRX_UNDO_CACHE will not be chosen.
+--disable_query_log
+let $n= 10000;
+while ($n) {
+dec $n;
+eval INSERT INTO t VALUES(-$n);
+eval DELETE FROM t WHERE a=-$n;
+}
+--enable_query_log
+SET DEBUG_SYNC='after_trx_committed_in_memory SIGNAL committed WAIT_FOR ever';
+send COMMIT;
+
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR committed';
+--echo # Ensure that the above incomplete transactions become durable.
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+BEGIN;
+INSERT INTO t VALUES(-10000);
+ROLLBACK;
+--let $restart_parameters= --innodb-force-recovery=3
+--let $shutdown_timeout= 0
+--source include/restart_mysqld.inc
+--let $shutdown_timeout= 30
+--disconnect con1
+--disconnect con2
+SELECT * FROM t;
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+# refused on MySQL 5.6, MariaDB 10.0, 10.1, but not MariaDB 10.2+
+--error ER_OPEN_AS_READONLY
+UPDATE t SET a=3 WHERE a=1;
+--let $restart_parameters= --innodb-read-only
+--source include/restart_mysqld.inc
+--echo # Starting with MariaDB 10.2, innodb_read_only implies READ UNCOMMITTED.
+--echo # In earlier versions, this would return the last committed version
+--echo # (empty table)!
+SELECT * FROM t;
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+--let $restart_parameters=
+--source include/restart_mysqld.inc
+SELECT * FROM t;
+DROP TABLE t;
+let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
+--let SEARCH_PATTERN= Rolled back recovered transaction [^0]
+--source include/search_pattern_in_file.inc
diff --git a/mysql-test/suite/innodb/t/read_only_recovery.test b/mysql-test/suite/innodb/t/read_only_recovery.test
new file mode 100644
index 00000000000..f41081e5a94
--- /dev/null
+++ b/mysql-test/suite/innodb/t/read_only_recovery.test
@@ -0,0 +1,36 @@
+--source include/have_innodb.inc
+# need to restart server
+--source include/not_embedded.inc
+
+--connect(con1, localhost, root)
+CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+# Generate insert_undo log.
+INSERT INTO t VALUES(1),(2);
+# Generate update_undo log.
+DELETE FROM t WHERE a=2;
+--connection default
+--echo # Normal MariaDB shutdown would roll back the above transaction.
+--echo # We want the transaction to remain open, so we will kill the server
+--echo # after ensuring that any non-transactional files are clean.
+FLUSH TABLES;
+--echo # Ensure that the above incomplete transaction becomes durable.
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+BEGIN;
+INSERT INTO t VALUES(0);
+ROLLBACK;
+--let $restart_parameters= --innodb-force-recovery=3
+--source include/kill_and_restart_mysqld.inc
+--disconnect con1
+SELECT * FROM t;
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+--let $restart_parameters= --innodb-read-only
+--source include/restart_mysqld.inc
+SELECT * FROM t;
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+--let $restart_parameters=
+--source include/restart_mysqld.inc
+SELECT * FROM t;
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/t/recovery_shutdown.test b/mysql-test/suite/innodb/t/recovery_shutdown.test
new file mode 100644
index 00000000000..42d98ca34c7
--- /dev/null
+++ b/mysql-test/suite/innodb/t/recovery_shutdown.test
@@ -0,0 +1,61 @@
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+--echo #
+--echo # MDEV-13797 InnoDB may hang if shutdown is initiated soon after startup
+--echo # while rolling back recovered incomplete transactions
+--echo #
+
+CREATE TABLE t (a INT) ENGINE=InnoDB;
+let $size = 100;
+let $trx = 8;
+let $c = $size;
+BEGIN;
+--disable_query_log
+while ($c) {
+INSERT INTO t VALUES();
+dec $c;
+}
+--enable_query_log
+COMMIT;
+
+let $c = $trx;
+while ($c)
+{
+connect (con$c,localhost,root,,);
+eval CREATE TABLE t$c (a SERIAL, b INT UNIQUE, c INT UNIQUE) ENGINE=InnoDB;
+BEGIN;
+eval INSERT INTO t$c (a) SELECT NULL FROM t;
+eval UPDATE t$c SET a=a+$size, b=a;
+eval DELETE FROM t$c;
+dec $c;
+}
+
+INSERT INTO t1(a) SELECT NULL FROM t;
+INSERT INTO t1(a) SELECT NULL FROM t1;
+INSERT INTO t1(a) SELECT NULL FROM t1;
+INSERT INTO t1(a) SELECT NULL FROM t1;
+INSERT INTO t1(a) SELECT NULL FROM t1;
+
+--connection default
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+CREATE TABLE u(a SERIAL) ENGINE=INNODB;
+
+FLUSH TABLES;
+
+--let $shutdown_timeout=0
+--source include/restart_mysqld.inc
+--let $shutdown_timeout=60
+--source include/restart_mysqld.inc
+
+--disable_query_log
+let $c = $trx;
+while ($c)
+{
+disconnect con$c;
+eval DROP TABLE t$c;
+dec $c;
+}
+--enable_query_log
+
+DROP TABLE t,u;
diff --git a/mysql-test/suite/innodb/t/rename_table.test b/mysql-test/suite/innodb/t/rename_table.test
new file mode 100644
index 00000000000..695c0915d14
--- /dev/null
+++ b/mysql-test/suite/innodb/t/rename_table.test
@@ -0,0 +1,11 @@
+--source include/have_innodb.inc
+
+call mtr.add_suppression("InnoDB: (Operating system error|The error means|Cannot rename file)");
+
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+--replace_regex /\'.*t1\' to/'**path-to-t1**' to/ /to \'.*non.*t1\'/to '**path-to-non-existing-db-t1**'/
+--error ER_ERROR_ON_RENAME
+RENAME TABLE t1 TO non_existing_db.t1;
+
+# Cleanup
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/restart.test b/mysql-test/suite/innodb/t/restart.test
new file mode 100644
index 00000000000..242a03400ff
--- /dev/null
+++ b/mysql-test/suite/innodb/t/restart.test
@@ -0,0 +1,78 @@
+--source include/innodb_page_size.inc
+--source include/not_embedded.inc
+
+let datadir= `select @@datadir`;
+let page_size= `select @@innodb_page_size`;
+
+SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_file_per_table=1;
+
+--echo #
+--echo # MDEV-15333 MariaDB (still) slow start
+--echo #
+
+# Ensure that on normal startup, no data files are read.
+# Note: just like in MySQL, all .ibd files will still be
+# opened at least once.
+
+--echo # FIXME: Unlike MySQL, maybe MariaDB should not read the .ibd files
+--echo # of tables with .isl file or DATA DIRECTORY attribute.
+call mtr.add_suppression("\\[ERROR\\] InnoDB: Invalid flags 0x7a207879 in tablespace 2048948345");
+call mtr.add_suppression("\\[ERROR\\] InnoDB: Error invalid tablespace flags in file '.*td\\.ibd'");
+
+CREATE TABLE tr(a INT)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+CREATE TABLE tc(a INT)ENGINE=InnoDB ROW_FORMAT=COMPACT
+PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
+eval CREATE TABLE td(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
+STATS_PERSISTENT=0 DATA DIRECTORY='$MYSQL_TMP_DIR';
+
+--source include/shutdown_mysqld.inc
+
+--move_file $datadir/test/tr.ibd $datadir/test/tr0.ibd
+--move_file $datadir/test/tc.ibd $datadir/test/tc0.ibd
+--move_file $MYSQL_TMP_DIR/test/td.ibd $datadir/test/td0.ibd
+# TODO: test that MariaDB does not even attempt to open the files
+#--mkdir $datadir/test/tr.ibd
+#--mkdir $datadir/test/tc.ibd
+#--mkdir $MYSQL_TMP_DIR/test/td.ibd
+
+perl;
+die unless open OUT, ">", "$ENV{datadir}/test/tr.ibd";
+print OUT "foo " x $ENV{page_size};
+close OUT or die;
+die unless open OUT, ">", "$ENV{datadir}/test/tc.ibd";
+print OUT "bar " x $ENV{page_size};
+close OUT or die;
+die unless open OUT, ">", "$ENV{MYSQL_TMP_DIR}/test/td.ibd";
+print OUT "xyz " x $ENV{page_size};
+close OUT or die;
+EOF
+
+--let $restart_parameters= --skip-innodb-buffer-pool-load-at-startup
+--source include/start_mysqld.inc
+--let $restart_parameters=
+
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
+WHERE engine = 'innodb'
+AND support IN ('YES', 'DEFAULT', 'ENABLED');
+
+--source include/shutdown_mysqld.inc
+
+# TODO: test that MariaDB does not even attempt to open the files
+#--rmdir $datadir/test/tr.ibd
+#--rmdir $datadir/test/tc.ibd
+#--rmdir $MYSQL_TMP_DIR/test/td.ibd
+--remove_file $datadir/test/tr.ibd
+--remove_file $datadir/test/tc.ibd
+--remove_file $MYSQL_TMP_DIR/test/td.ibd
+
+--move_file $datadir/test/tr0.ibd $datadir/test/tr.ibd
+--move_file $datadir/test/tc0.ibd $datadir/test/tc.ibd
+--move_file $datadir/test/td0.ibd $MYSQL_TMP_DIR/test/td.ibd
+
+--source include/start_mysqld.inc
+SELECT * FROM tr;
+SELECT * FROM tc;
+SELECT * FROM td;
+DROP TABLE tr,tc,td;
diff --git a/mysql-test/suite/innodb/t/row_format_redundant.test b/mysql-test/suite/innodb/t/row_format_redundant.test
new file mode 100644
index 00000000000..d10121c75c6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/row_format_redundant.test
@@ -0,0 +1,63 @@
+--source include/have_innodb.inc
+# Embedded mode doesn't allow restarting
+--source include/not_embedded.inc
+
+create table t1 (a int not null, d varchar(15) not null, b
+varchar(198) not null, c char(156),
+fulltext ftsic(c)) engine=InnoDB
+row_format=redundant;
+
+insert into t1 values(123, 'abcdef', 'jghikl', 'mnop');
+insert into t1 values(456, 'abcdef', 'jghikl', 'mnop');
+insert into t1 values(789, 'abcdef', 'jghikl', 'mnop');
+insert into t1 values(134, 'kasdfsdsadf', 'adfjlasdkfjasd', 'adfsadflkasdasdfljasdf');
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+
+SET GLOBAL innodb_file_per_table=OFF;
+create table t2 (a int not null, d varchar(15) not null, b
+varchar(198) not null, c char(156), fulltext ftsic(c)) engine=InnoDB
+row_format=redundant;
+
+insert into t2 select * from t1;
+
+create table t3 (a int not null, d varchar(15) not null, b varchar(198),
+c varchar(150), index k1(c(99), b(56)), index k2(b(5), c(10))) engine=InnoDB
+row_format=redundant;
+
+insert into t3 values(444, 'dddd', 'bbbbb', 'aaaaa');
+insert into t3 values(555, 'eeee', 'ccccc', 'aaaaa');
+
+# read-only restart requires the change buffer to be empty; therefore we
+# do a slow shutdown.
+SET GLOBAL innodb_fast_shutdown=0;
+--let $restart_parameters = --innodb-read-only
+--source include/restart_mysqld.inc
+
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t3;
+
+--error ER_OPEN_AS_READONLY
+TRUNCATE TABLE t1;
+--error ER_OPEN_AS_READONLY
+TRUNCATE TABLE t2;
+--error ER_OPEN_AS_READONLY
+TRUNCATE TABLE t3;
+
+--let $restart_parameters =
+--source include/restart_mysqld.inc
+
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+
+DROP TABLE t1,t2,t3;
diff --git a/mysql-test/suite/innodb/t/row_lock.test b/mysql-test/suite/innodb/t/row_lock.test
index 76ac4fec23f..d9f9a7289c4 100644
--- a/mysql-test/suite/innodb/t/row_lock.test
+++ b/mysql-test/suite/innodb/t/row_lock.test
@@ -5,7 +5,6 @@
#
--source include/have_innodb.inc
---source include/have_debug_sync.inc
CREATE TABLE t1 (a INT, b INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,1),(2,2);
@@ -23,17 +22,17 @@ UPDATE t1 SET a = 0 WHERE a = ( SELECT e FROM t3 );
--connect (con12,localhost,root,,test)
-SET DEBUG_SYNC='srv_suspend_mysql_thread_enter SIGNAL waiting';
-
--send
UPDATE t4 SET d = 1 WHERE d in ( SELECT a FROM t1 ) ORDER BY c LIMIT 6;
--connection con11
# Wait for con12 to start waiting for con11
-
-SET DEBUG_SYNC='now WAIT_FOR waiting';
-SET DEBUG_SYNC='RESET';
+let $wait_condition=
+ select count(*) = 1 from information_schema.innodb_trx
+ where trx_state = "lock wait" and
+ trx_query like "%SELECT a FROM t1%";
+--source include/wait_condition.inc
UPDATE t4 SET d = 9;
diff --git a/mysql-test/suite/innodb/t/snapshot.test b/mysql-test/suite/innodb/t/snapshot.test
new file mode 100644
index 00000000000..8e3dc76fe54
--- /dev/null
+++ b/mysql-test/suite/innodb/t/snapshot.test
@@ -0,0 +1,18 @@
+
+--source include/have_log_bin.inc
+--source include/have_binlog_format_row.inc
+--source include/have_innodb.inc
+
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+
+--connect (con1,localhost,root,,test)
+CREATE TABLE IF NOT EXISTS t1 (pk INT PRIMARY KEY, i INT, KEY(i)) ENGINE=InnoDB;
+
+--connection default
+--error 1412
+UPDATE t1 SET i = 0;
+--error 1412
+UPDATE t1 SET pk = 0;
+commit;
+
+drop table t1;
diff --git a/mysql-test/suite/innodb/t/system_tables.test b/mysql-test/suite/innodb/t/system_tables.test
new file mode 100644
index 00000000000..90cb8c59fbd
--- /dev/null
+++ b/mysql-test/suite/innodb/t/system_tables.test
@@ -0,0 +1,12 @@
+--source include/have_innodb.inc
+
+#
+# MDEV-10775 System table in InnoDB format allowed in MariaDB could lead to crash
+#
+alter table mysql.time_zone_name engine=InnoDB;
+create table envois3 (starttime datetime) engine=InnoDB;
+insert envois3 values ('2008-08-11 22:43:00');
+--source include/restart_mysqld.inc
+select convert_tz(starttime,'UTC','Europe/Moscow') starttime from envois3;
+drop table envois3;
+alter table mysql.time_zone_name engine=MyISAM;
diff --git a/mysql-test/suite/innodb/t/table_definition_cache_debug.opt b/mysql-test/suite/innodb/t/table_definition_cache_debug.opt
new file mode 100644
index 00000000000..c2db7e1df6e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/table_definition_cache_debug.opt
@@ -0,0 +1 @@
+--innodb-open-files=30
diff --git a/mysql-test/suite/innodb/t/table_definition_cache_debug.test b/mysql-test/suite/innodb/t/table_definition_cache_debug.test
new file mode 100644
index 00000000000..57d64d6844e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/table_definition_cache_debug.test
@@ -0,0 +1,66 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+SET @save_tdc= @@GLOBAL.table_definition_cache;
+SET @save_toc= @@GLOBAL.table_open_cache;
+
+# InnoDB plugin essentially ignores table_definition_cache size
+# and hard-wires it to 400, which also is the minimum allowed value.
+SET GLOBAL table_definition_cache= 400;
+SET GLOBAL table_open_cache= 1024;
+
+CREATE TABLE to_be_evicted(a INT PRIMARY KEY, b INT NOT NULL) ENGINE=InnoDB;
+INSERT INTO to_be_evicted VALUES(1,2),(2,1);
+
+connect(ddl,localhost,root,,);
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL scanned WAIT_FOR got_duplicate';
+--send
+ALTER TABLE to_be_evicted ADD UNIQUE INDEX(b);
+
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR scanned';
+
+# During the ADD UNIQUE INDEX, start a transaction that inserts a duplicate
+# and then hogs the table lock, so that the unique index cannot be dropped.
+BEGIN;
+INSERT INTO to_be_evicted VALUES(3, 2);
+SET DEBUG_SYNC = 'now SIGNAL got_duplicate';
+
+connection ddl;
+--error ER_DUP_ENTRY
+reap;
+
+disconnect ddl;
+connection default;
+# Release the table lock.
+COMMIT;
+SET DEBUG_SYNC = RESET;
+
+# Allow cache eviction.
+FLUSH TABLES;
+--disable_query_log
+
+# Pollute the cache with many tables, so that our table will be evicted.
+let $N=1000;
+let $loop=$N;
+while ($loop)
+{
+ eval CREATE TABLE t_$loop(id INT)ENGINE=InnoDB;
+ dec $loop;
+}
+
+# Hopefully let InnoDB evict the tables.
+sleep 10;
+
+let $loop=$N;
+while ($loop)
+{
+ eval DROP TABLE t_$loop;
+ dec $loop;
+}
+
+SET GLOBAL table_definition_cache= @save_tdc;
+SET GLOBAL table_open_cache= @save_toc;
+
+DROP TABLE to_be_evicted;
diff --git a/mysql-test/suite/innodb/t/table_flags.test b/mysql-test/suite/innodb/t/table_flags.test
new file mode 100644
index 00000000000..dda5f948e20
--- /dev/null
+++ b/mysql-test/suite/innodb/t/table_flags.test
@@ -0,0 +1,192 @@
+--source include/innodb_page_size.inc
+# Embedded server tests do not support restarting
+--source include/not_embedded.inc
+--source include/maybe_debug.inc
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: New log files created, LSN=");
+call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
+call mtr.add_suppression("InnoDB: Error: .*innodb_table_stats. not found");
+call mtr.add_suppression("InnoDB: Table '.test.\\..t[cdzp].' in InnoDB data dictionary has unknown type (81|f21|121|302[13])\\r?$");
+call mtr.add_suppression("InnoDB: Cannot open table test/t[cdzp] from the internal data dictionary of InnoDB");
+call mtr.add_suppression("InnoDB: Error: table 'test/t[cdzp]'");
+FLUSH TABLES;
+--enable_query_log
+
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+let MYSQLD_DATADIR=`select @@datadir`;
+
+let bugdir= $MYSQLTEST_VARDIR/tmp/table_flags;
+--mkdir $bugdir
+--let SEARCH_FILE = $MYSQLTEST_VARDIR/log/mysqld.1.err
+
+--let $d=--innodb-data-home-dir=$bugdir --innodb-log-group-home-dir=$bugdir
+--let $d=$d --innodb-data-file-path=ibdata1:10M:autoextend
+--let $d=$d --innodb-undo-tablespaces=0
+if ($have_debug) {
+--let $d=$d --debug=d,create_and_drop_garbage
+}
+--let $restart_parameters=$d --innodb-stats-persistent=0 --innodb-file-format=1
+--source include/restart_mysqld.inc
+
+SET GLOBAL innodb_file_per_table=1;
+CREATE TABLE tr(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
+CREATE TABLE tc(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPACT;
+CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
+CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
+KEY_BLOCK_SIZE=1;
+# PAGE_COMPRESSED is supported starting with MariaDB 10.1.0
+CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
+PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
+
+--source include/shutdown_mysqld.inc
+--perl
+use strict;
+my $ps= $ENV{INNODB_PAGE_SIZE};
+my $file= "$ENV{bugdir}/ibdata1";
+open(FILE, "+<", $file) || die "Unable to open $file\n";
+# Read DICT_HDR_TABLES, the root page number of CLUST_IND (SYS_TABLES.NAME).
+sysseek(FILE, 7*$ps+38+32, 0) || die "Unable to seek $file";
+die "Unable to read $file" unless sysread(FILE, $_, 4) == 4;
+my $sys_tables_root = unpack("N", $_);
+my $page;
+print "SYS_TABLES clustered index root page ($sys_tables_root):\n";
+sysseek(FILE, $sys_tables_root*$ps, 0) || die "Unable to seek $file";
+die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
+open(BACKUP, ">$ENV{bugdir}/sys_tables.bin") || die "Unable to open backup\n";
+syswrite(BACKUP, $page, $ps)==$ps || die "Unable to write backup\n";
+close(BACKUP) || die "Unable to close backup\n";
+print "N_RECS=", unpack("n", substr($page,38+16,2));
+print "; LEVEL=", unpack("n", substr($page,38+26,2));
+print "; INDEX_ID=0x", unpack("H*", substr($page,38+28,8)), "\n";
+my @fields=("NAME","DB_TRX_ID","DB_ROLL_PTR",
+ "ID","N_COLS","TYPE","MIX_ID","MIX_LEN","CLUSTER_NAME","SPACE");
+for (my $offset= 0x65; $offset;
+ $offset= unpack("n", substr($page,$offset-2,2)))
+{
+ print "header=0x", unpack("H*",substr($page,$offset-6,6)), " (";
+ my $n_fields= unpack("n", substr($page,$offset-4,2)) >> 1 & 0x3ff;
+ my $start= 0;
+ my $name;
+ for (my $i= 0; $i < $n_fields; $i++) {
+ my $end= unpack("C", substr($page, $offset-7-$i, 1));
+ print ",\n " if $i;
+ print "$fields[$i]=";
+ if ($end & 0x80) {
+ print "NULL(", ($end & 0x7f) - $start, " bytes)"
+ } elsif ($n_fields > 1 && $i == 0) {
+ $name= substr($page,$offset+$start,$end-$start);
+ print "'$name'"
+ } else {
+ print "0x", unpack("H*", substr($page,$offset+$start,$end-$start))
+ }
+ # Corrupt SYS_TABLES.TYPE
+ if ($i == 5)
+ {
+ my $flags= 0;
+ if ($name eq 'test/tr') {
+ $flags= 0x40 # DATA_DIR (largely ignored by 10.1+)
+ } elsif ($name eq 'test/tc') {
+ $flags= 0x80 # 10.1 PAGE_COMPRESSED
+ } elsif ($name eq 'test/td') {
+ $flags= 0xf00 # 10.1 PAGE_COMPRESSION_LEVEL=15 (0..9 is valid)
+ } elsif ($name eq 'test/tz') {
+ $flags= 0x3000 # 10.1 ATOMIC_WRITES=3 (0..2 is valid)
+ } elsif ($name eq 'test/tp') {
+ $flags= 0x880 # 10.1 PAGE_COMPRESSED, PAGE_COMPRESSION_LEVEL=8
+ # (in 10.1, this leaves PAGE_COMPRESSION_LEVEL=1
+ # without PAGE_COMPRESSED, which should be invalid)
+ }
+
+ substr($page,$offset+$start,$end-$start)= pack(
+ "N", $flags ^
+ unpack("N", substr($page,$offset+$start,$end-$start)))
+ if $flags;
+ }
+ # Corrupt SYS_TABLES.MIX_LEN (ignored for ROW_FORMAT=REDUNDANT)
+ if ($i == 7 && $name eq 'test/tr')
+ {
+ substr($page,$offset+$start,$end-$start)= chr(255) x 4;
+ }
+ $start= $end & 0x7f;
+ }
+ print ")\n";
+}
+substr($page,0,4)=pack("N",0xdeadbeef);
+substr($page,$ps-8,4)=pack("N",0xdeadbeef);
+sysseek(FILE, $sys_tables_root*$ps, 0) || die "Unable to seek $file";
+syswrite(FILE, $page, $ps)==$ps || die "Unable to write $file\n";
+close(FILE) || die "Unable to close $file\n";
+EOF
+--source include/start_mysqld.inc
+
+SHOW CREATE TABLE tr;
+INSERT INTO tr VALUES(42);
+--error ER_NO_SUCH_TABLE_IN_ENGINE
+SHOW CREATE TABLE tc;
+--error ER_NO_SUCH_TABLE_IN_ENGINE
+SHOW CREATE TABLE td;
+--error ER_NO_SUCH_TABLE_IN_ENGINE
+SHOW CREATE TABLE tz;
+--error ER_NO_SUCH_TABLE_IN_ENGINE
+SHOW CREATE TABLE tp;
+
+--source include/shutdown_mysqld.inc
+
+let SEARCH_RANGE= -50000;
+let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
+--let SEARCH_PATTERN= InnoDB: Table '.test.\..t[cdzp].' in InnoDB data dictionary has unknown type (81|f21|121|302[13])\b
+--source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN= InnoDB: Cannot open table test/t[cdzp] from the internal data dictionary of InnoDB
+--source include/search_pattern_in_file.inc
+
+# Restore the backup of the corrupted SYS_TABLES clustered index root page
+--perl
+use strict;
+my $ps= $ENV{INNODB_PAGE_SIZE};
+my $file= "$ENV{bugdir}/ibdata1";
+open(FILE, "+<", $file) || die "Unable to open $file\n";
+open(BACKUP, "<$ENV{bugdir}/sys_tables.bin") || die "Unable to open backup\n";
+# Read DICT_HDR_TABLES, the root page number of CLUST_IND (SYS_TABLES.NAME).
+sysseek(FILE, 7*$ps+38+32, 0) || die "Unable to seek $file";
+die "Unable to read $file\n" unless sysread(FILE, $_, 4) == 4;
+my $sys_tables_root = unpack("N", $_);
+print "Restoring SYS_TABLES clustered index root page ($sys_tables_root)\n";
+sysseek(FILE, $sys_tables_root*$ps, 0) || die "Unable to seek $file";
+die "Unable to read backup\n" unless sysread(BACKUP, $_, $ps) == $ps;
+die "Unable to restore backup\n" unless syswrite(FILE, $_, $ps) == $ps;
+close(BACKUP);
+close(FILE) || die "Unable to close $file\n";
+EOF
+--source include/start_mysqld.inc
+
+SHOW CREATE TABLE tr;
+SHOW CREATE TABLE tc;
+SHOW CREATE TABLE td;
+SHOW CREATE TABLE tz;
+SHOW CREATE TABLE tp;
+
+BEGIN;
+INSERT INTO tr VALUES(1);
+INSERT INTO tc VALUES(1);
+INSERT INTO td VALUES(1);
+INSERT INTO tz VALUES(1);
+INSERT INTO tp VALUES(1);
+ROLLBACK;
+
+SELECT * FROM tr;
+SELECT * FROM tc;
+SELECT * FROM td;
+SELECT * FROM tz;
+SELECT * FROM tp;
+
+DROP TABLE tr,tc,td,tz,tp;
+
+--source include/shutdown_mysqld.inc
+
+--let $restart_parameters=
+--source include/start_mysqld.inc
+
+--list_files $bugdir
+--remove_files_wildcard $bugdir
+--rmdir $bugdir
diff --git a/mysql-test/suite/innodb/t/table_index_statistics.test b/mysql-test/suite/innodb/t/table_index_statistics.test
new file mode 100644
index 00000000000..af6f1946486
--- /dev/null
+++ b/mysql-test/suite/innodb/t/table_index_statistics.test
@@ -0,0 +1,8 @@
+--source include/have_innodb.inc
+
+SET @default_storage_engine_old = @@session.default_storage_engine;
+SET SESSION default_storage_engine = INNODB;
+
+--source extra/table_index_statistics.inc
+
+SET SESSION default_storage_engine = @default_storage_engine_old;
diff --git a/mysql-test/suite/innodb/t/tmpdir.test b/mysql-test/suite/innodb/t/tmpdir.test
new file mode 100644
index 00000000000..abe455adda5
--- /dev/null
+++ b/mysql-test/suite/innodb/t/tmpdir.test
@@ -0,0 +1,68 @@
+--source include/have_innodb.inc
+--source include/count_sessions.inc
+
+if (`select plugin_auth_version <= "5.6.28-MariaDB-76.1" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB as of 5.6.28-MariaDB-76.1 or earlier
+}
+
+--echo #
+--echo # Bug #19183565 CREATE DYNAMIC INNODB_TMPDIR VARIABLE TO CONTROL
+--echo # WHERE INNODB WRITES TEMP FILES
+--echo #
+
+--echo # If innodb_tmpdir is NULL or "", temporary file will be created in
+--echo # server configuration variable location(--tmpdir)
+
+create table t1(a int primary key)engine=innodb;
+show session variables like 'innodb_tmpdir';
+alter table t1 add column b int not null;
+set global innodb_tmpdir=NULL;
+--echo # Connection con1
+connect (con1,localhost,root);
+show session variables like 'innodb_tmpdir';
+alter table t1 add key(b);
+connection default;
+disconnect con1;
+drop table t1;
+
+--echo # innodb_tmpdir with invalid path.
+
+create table t1(a int primary key)engine=innodb;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_tmpdir='wrong_value';
+show warnings;
+drop table t1;
+
+
+--echo # innodb_tmpdir with mysql data directory path.
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+create table t1(a text, b text, fulltext(a,b))engine=innodb;
+insert into t1 values('test1', 'test2');
+insert into t1 values('text1', 'text2');
+--replace_result $MYSQLD_DATADIR MYSQL_DATADIR
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_tmpdir = @@global.datadir;
+--replace_regex /.*mysqld.1/DATADIR/
+show warnings;
+drop table t1;
+
+--echo # innodb_tmpdir with valid location.
+let $MYSQL_TMP_DIR= `select @@tmpdir`;
+create table t1(a text, b text, fulltext(a,b))engine=innodb;
+insert into t1 values('test1', 'test2');
+insert into t1 values('text1', 'text2');
+set @tmpdir = @@global.tmpdir;
+set global innodb_tmpdir = @tmpdir;
+show session variables like 'innodb_tmpdir';
+--echo # Connection con3
+connect (con3,localhost,root);
+# Following alter using innodb_tmpdir as a path to create temporary files
+alter table t1 add fulltext(b);
+disconnect con3;
+connection default;
+set global innodb_tmpdir=NULL;
+drop table t1;
+
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/trigger.test b/mysql-test/suite/innodb/t/trigger.test
new file mode 100644
index 00000000000..fe0bab21497
--- /dev/null
+++ b/mysql-test/suite/innodb/t/trigger.test
@@ -0,0 +1,47 @@
+--source include/have_innodb.inc
+--source include/count_sessions.inc
+
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+CREATE TABLE t2 (b INT) ENGINE=InnoDB;
+CREATE TABLE t3 (c INT) ENGINE=InnoDB;
+
+--delimiter $$
+CREATE TRIGGER tr BEFORE INSERT ON t3 FOR EACH ROW BEGIN SAVEPOINT sv; INSERT INTO t2 VALUES (0); END $$
+--delimiter ;
+
+START TRANSACTION;
+DELETE FROM t1;
+
+connect (con1,localhost,root,,test);
+START TRANSACTION;
+INSERT INTO t2 VALUES (2);
+UPDATE t2 SET b = b+1;
+
+--send
+INSERT INTO t1 VALUES (1);
+
+connection default;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = 'update' and info = 'INSERT INTO t1 VALUES (1)'
+--source include/wait_condition.inc
+
+--error ER_LOCK_DEADLOCK
+INSERT INTO t3 VALUES (2);
+COMMIT;
+
+connection con1;
+reap;
+COMMIT;
+disconnect con1;
+
+connection default;
+SELECT * FROM t1;
+SELECT * FROM t2;
+SELECT * FROM t3;
+
+DROP TABLE t1, t2, t3;
+--error ER_TRG_DOES_NOT_EXIST
+DROP TRIGGER tr;
+
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/xa_recovery.test b/mysql-test/suite/innodb/t/xa_recovery.test
index aec606de77e..d4f957c7bf4 100644
--- a/mysql-test/suite/innodb/t/xa_recovery.test
+++ b/mysql-test/suite/innodb/t/xa_recovery.test
@@ -1,7 +1,3 @@
-if (`select plugin_auth_version <= "5.5.43-MariaDB-37.2" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip Not fixed in XtraDB as of 5.5.43-MariaDB-37.2 or earlier
-}
--source include/have_innodb.inc
# Embedded server does not support restarting.
--source include/not_embedded.inc
@@ -9,6 +5,7 @@ if (`select plugin_auth_version <= "5.5.43-MariaDB-37.2" from information_schema
# MDEV-8841 - close tables opened by previous tests,
# so they don't get marked crashed when the server gets crashed
--disable_query_log
+call mtr.add_suppression("Found 1 prepared XA transactions");
FLUSH TABLES;
--enable_query_log
@@ -18,17 +15,12 @@ connect (con1,localhost,root);
XA START 'x'; UPDATE t1 set a=2; XA END 'x'; XA PREPARE 'x';
connection default;
-call mtr.add_suppression("Found 1 prepared XA transactions");
-
-# Kill and restart the server.
--- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--- shutdown_server 0
--- source include/wait_until_disconnected.inc
-
--- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--- enable_reconnect
--- source include/wait_until_connected_again.inc
--- disable_reconnect
+# innodb_force_recovery=2 prevents the purge and tests that the fix of
+# MDEV-13606 XA PREPARE transactions should survive innodb_force_recovery=1 or 2
+# is present.
+--let $restart_parameters= --innodb-force-recovery=2
+--source include/kill_and_restart_mysqld.inc
+--let $restart_parameters=
disconnect con1;
connect (con1,localhost,root);
diff --git a/mysql-test/suite/innodb_fts/r/basic.result b/mysql-test/suite/innodb_fts/r/basic.result
new file mode 100644
index 00000000000..ae23b93dc84
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/basic.result
@@ -0,0 +1,293 @@
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+ANALYZE TABLE articles;
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT COUNT(*) FROM articles
+WHERE MATCH (title,body)
+AGAINST ('database' IN NATURAL LANGUAGE MODE);
+COUNT(*)
+2
+SELECT * FROM articles
+WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT COUNT(IF(MATCH (title,body)
+AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL))
+AS count FROM articles;
+count
+2
+SELECT id, body, MATCH (title,body)
+AGAINST ('Database' IN NATURAL LANGUAGE MODE) AS score
+FROM articles;
+id body score
+1 DBMS stands for DataBase ... 0.22764469683170319
+2 After you went through a ... 0
+3 In this tutorial we will show ... 0
+4 1. Never run mysqld as root. 2. ... 0
+5 In the following database comparison ... 0.22764469683170319
+6 When configured properly, MySQL ... 0
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('MySQL' IN NATURAL LANGUAGE MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('DBMS Security' IN BOOLEAN MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+6 MySQL Security When configured properly, MySQL ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('+MySQL +YourSQL' IN BOOLEAN MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('+MySQL YourSQL' IN BOOLEAN MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('+MySQL ~YourSQL' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('t*' IN BOOLEAN MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('MY*' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('ru*' IN BOOLEAN MODE);
+id title body
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('+ MySQL >Well < stands' IN BOOLEAN MODE);
+id title body
+2 How To Use MySQL Well After you went through a ...
+6 MySQL Security When configured properly, MySQL ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('+ MySQL - (Well stands)' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('+ MySQL + (>Well < stands)' IN BOOLEAN MODE);
+id title body
+2 How To Use MySQL Well After you went through a ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('YourSQL + (+MySQL - (Tricks Security))' IN BOOLEAN MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('(+MySQL - (Tricks Security)) - YourSQL' IN BOOLEAN MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - Security&DBMS' IN BOOLEAN MODE);
+id title body
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - (Security DBMS)' IN BOOLEAN MODE);
+id title body
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST (' - Security&DBMS + YourSQL' IN BOOLEAN MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+YourSQL - Security&DBMS' IN BOOLEAN MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT COUNT(*) FROM articles
+WHERE MATCH (title,body)
+AGAINST ('database' WITH QUERY EXPANSION);
+COUNT(*)
+6
+INSERT INTO articles (title,body) VALUES
+('test query expansion','for database ...');
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('test' WITH QUERY EXPANSION);
+id title body
+7 test query expansion for database ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"following comparison"@3' IN BOOLEAN MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"following comparison"@2' IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"following database"' IN BOOLEAN MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+INSERT INTO articles (title,body) VALUES
+('test proximity search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO articles (title,body) VALUES
+('test my proximity fts new search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO articles (title,body) VALUES
+('test more of proximity fts search, test, more proximity and phrase',
+'search, with proximity innodb');
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"proximity search"@3' IN BOOLEAN MODE);
+id title body
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test my proximity fts new search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"proximity search"@2' IN BOOLEAN MODE);
+id title body
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"proximity search"@5' IN BOOLEAN MODE);
+id title body
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test my proximity fts new search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"test proximity"@5' IN BOOLEAN MODE);
+id title body
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test my proximity fts new search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"test proximity"@1' IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"test proximity"@4' IN BOOLEAN MODE);
+id title body
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test my proximity fts new search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"test proximity"@3' IN BOOLEAN MODE);
+id title body
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test my proximity fts new search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"more test proximity"@4' IN BOOLEAN MODE);
+id title body
+10 test more of proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"more test proximity"@3' IN BOOLEAN MODE);
+id title body
+10 test more of proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('"more test proximity"' IN BOOLEAN MODE);
+id title body
+drop table articles;
+#
+# Bug #22679185 INVALID INNODB FTS DOC ID DURING INSERT
+#
+create table t1 (f1 int not null primary key, f2 varchar(100),
+FTS_DOC_ID bigint(20) unsigned not null,
+unique key `FTS_DOC_ID_INDEX` (`FTS_DOC_ID`),
+fulltext key (f2))engine=innodb;
+insert into t1 values(1, "This is the first record", 20000);
+insert into t1 values(2, "This is the second record", 40000);
+select FTS_DOC_ID from t1;
+FTS_DOC_ID
+20000
+40000
+drop table t1;
+create table t1 (f1 int not null primary key, f2 varchar(100),
+FTS_DOC_ID bigint(20) unsigned not null auto_increment,
+unique key `FTS_DOC_ID_INDEX` (`FTS_DOC_ID`),
+fulltext key (f2))engine=innodb;
+set auto_increment_increment = 65535;
+insert into t1(f1, f2) values(1, "This is the first record");
+insert into t1(f1, f2) values(2, "This is the second record");
+insert into t1(f1, f2) values(3, "This is the third record");
+select FTS_DOC_ID from t1;
+FTS_DOC_ID
+1
+65536
+131071
+drop table t1;
+call mtr.add_suppression("\\[ERROR\\] InnoDB: Doc ID 20030101000000 is too big. Its difference with largest used Doc ID 0 cannot exceed or equal to 65535");
+CREATE TABLE t1 (FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200), FULLTEXT(title)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL, NULL), (20030101000000, 20030102000000);
+ERROR HY000: Invalid InnoDB FTS Doc ID
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/concurrent_insert.result b/mysql-test/suite/innodb_fts/r/concurrent_insert.result
new file mode 100644
index 00000000000..b9798ca1a74
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/concurrent_insert.result
@@ -0,0 +1,8 @@
+CREATE TABLE t1(a VARCHAR(5),FULLTEXT KEY(a)) ENGINE=InnoDB;
+SET DEBUG_SYNC = 'get_next_FTS_DOC_ID SIGNAL prepared WAIT_FOR race';
+REPLACE INTO t1(a) values('aaa');
+SET DEBUG_SYNC = 'now WAIT_FOR prepared';
+REPLACE INTO t1(a) VALUES('aaa');
+SET DEBUG_SYNC = 'now SIGNAL race';
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/crash_recovery.result b/mysql-test/suite/innodb_fts/r/crash_recovery.result
new file mode 100644
index 00000000000..e21631471d2
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/crash_recovery.result
@@ -0,0 +1,78 @@
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+DROP INDEX title ON articles;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+BEGIN;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...');
+# Kill and restart
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...');
+CREATE FULLTEXT INDEX idx ON articles (title,body);
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+5 MySQL vs. YourSQL In the following database comparison ...
+7 MySQL Tutorial DBMS stands for DataBase ...
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+BEGIN;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...');
+# Kill and restart
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...');
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+5 MySQL vs. YourSQL In the following database comparison ...
+7 MySQL Tutorial DBMS stands for DataBase ...
+8 MySQL Tutorial DBMS stands for DataBase ...
+12 MySQL vs. YourSQL In the following database comparison ...
+14 MySQL Tutorial DBMS stands for DataBase ...
+DROP TABLE articles;
+CREATE TABLE articles (
+id int PRIMARY KEY,
+FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+title VARCHAR(200),
+body TEXT
+) ENGINE=InnoDB;
+CREATE FULLTEXT INDEX idx1 on articles (title, body);
+INSERT INTO articles VALUES
+(1, 10, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+(2, 1, 'How To Use MySQL Well','After you went through a ...'),
+(3, 2, 'Optimizing MySQL','In this tutorial we will show ...'),
+(4, 11, '1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+(5, 6, 'MySQL vs. YourSQL','In the following database comparison ...'),
+(7, 4, 'MySQL Security','When configured properly, MySQL ...');
+BEGIN;
+INSERT INTO articles VALUES
+(100, 200, 'MySQL Tutorial','DBMS stands for DataBase ...');
+# Kill and restart
+INSERT INTO articles VALUES (8, 12, 'MySQL Tutorial','DBMS stands for DataBase ...');
+SELECT * FROM articles WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id FTS_DOC_ID title body
+3 2 Optimizing MySQL In this tutorial we will show ...
+1 10 MySQL Tutorial DBMS stands for DataBase ...
+8 12 MySQL Tutorial DBMS stands for DataBase ...
+DROP TABLE articles;
diff --git a/mysql-test/suite/innodb_fts/r/create.result b/mysql-test/suite/innodb_fts/r/create.result
new file mode 100644
index 00000000000..c537aa81efd
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/create.result
@@ -0,0 +1,168 @@
+SET NAMES utf8mb4;
+#
+# MDEV-11233 CREATE FULLTEXT INDEX with a token
+# longer than 127 bytes crashes server
+#
+CREATE TABLE t(t TEXT CHARACTER SET utf8mb3) ENGINE=InnoDB;
+INSERT INTO t SET t=REPEAT(CONCAT(REPEAT(_utf8mb3 0xE0B987, 4), REPEAT(_utf8mb3 0xE0B989, 5)), 5);
+INSERT INTO t SET t=REPEAT(_utf8 0xefbc90,84);
+INSERT INTO t SET t=REPEAT('befor',17);
+INSERT INTO t SET t='BeforeTheIndexCreation';
+CREATE FULLTEXT INDEX ft ON t(t);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t SET t='this was inserted after creating the index';
+INSERT INTO t SET t=REPEAT(_utf8 0xefbc91,84);
+INSERT INTO t SET t=REPEAT('after',17);
+INSERT INTO t SET t=REPEAT(_utf8mb3 0xe794b2e9aaa8e69687, 15);
+# The data below is not 3-byte UTF-8, but 4-byte chars.
+INSERT INTO t SET t=REPEAT(_utf8mb4 0xf09f9695, 84);
+Warnings:
+Warning 1366 Incorrect string value: '\xF0\x9F\x96\x95\xF0\x9F...' for column 't' at row 1
+INSERT INTO t SET t=REPEAT(_utf8mb4 0xf09f9696, 85);
+Warnings:
+Warning 1366 Incorrect string value: '\xF0\x9F\x96\x96\xF0\x9F...' for column 't' at row 1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST
+(REPEAT(CONCAT(REPEAT(_utf8mb3 0xE0B987, 4), REPEAT(_utf8mb3 0xE0B989, 5)), 5));
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST ('BeforeTheIndexCreation');
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT('befor',17));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST ('after');
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT('after',17));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 83));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 84));
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 85));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 83));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 84));
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 85));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9695, 83));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9695, 84));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9696, 84));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9696, 85));
+COUNT(*)
+0
+SELECT * FROM t;
+t
+็็็็้้้้้็็็็้้้้้็็็็้้้้้็็็็้้้้้็็็็้้้้้
+ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
+beforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbefor
+BeforeTheIndexCreation
+this was inserted after creating the index
+111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+afterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafter
+甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文
+????????????????????????????????????????????????????????????????????????????????????
+?????????????????????????????????????????????????????????????????????????????????????
+SELECT len,COUNT(*) FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS where name='word' GROUP BY len;
+len COUNT(*)
+252 6
+DROP TABLE t;
+CREATE TABLE t(t TEXT CHARACTER SET utf8mb4) ENGINE=InnoDB;
+INSERT INTO t SET t=REPEAT(_utf8mb3 0xe794b2e9aaa8e69687, 15);
+INSERT INTO t SET t=REPEAT(_utf8 0xefbc90,84);
+INSERT INTO t SET t=REPEAT('befor',17);
+INSERT INTO t SET t='BeforeTheIndexCreation';
+CREATE FULLTEXT INDEX ft ON t(t);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t SET t='this was inserted after creating the index';
+INSERT INTO t SET t=REPEAT(_utf8 0xefbc91,84);
+INSERT INTO t SET t=REPEAT('after',17);
+INSERT INTO t SET t=REPEAT(concat(repeat(_utf8mb3 0xE0B987, 4), repeat(_utf8mb3 0xE0B989, 5)), 5);
+INSERT INTO t SET t=REPEAT(_utf8mb4 0xf09f9695, 84);
+# The token below exceeds the 84-character limit.
+INSERT INTO t SET t=REPEAT(_utf8mb4 0xf09f9696, 85);
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb3 0xe794b2e9aaa8e69687, 15));
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST ('BeforeTheIndexCreation');
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT('befor',17));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST ('after');
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT('after',17));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 83));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 84));
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 85));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 83));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 84));
+COUNT(*)
+1
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 85));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9695, 83));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9695, 84));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9696, 84));
+COUNT(*)
+0
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9696, 85));
+COUNT(*)
+0
+SELECT * FROM t;
+t
+甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文甲骨文
+ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
+beforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbeforbefor
+BeforeTheIndexCreation
+this was inserted after creating the index
+111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+afterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafter
+็็็็้้้้้็็็็้้้้้็็็็้้้้้็็็็้้้้้็็็็้้้้้
+🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕
+🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖🖖
+SELECT len,COUNT(*) FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS where name='word' GROUP BY len;
+len COUNT(*)
+336 6
+DROP TABLE t;
+CREATE TABLE t(t TEXT CHARACTER SET latin1, FULLTEXT INDEX(t))
+ENGINE=InnoDB;
+SELECT len,COUNT(*) FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS where name='word' GROUP BY len;
+len COUNT(*)
+84 6
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb_fts/r/fts_kill_query.result b/mysql-test/suite/innodb_fts/r/fts_kill_query.result
new file mode 100644
index 00000000000..45623f96ab0
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fts_kill_query.result
@@ -0,0 +1,6 @@
+CREATE TABLE t1 (a VARCHAR(7), b text, FULLTEXT KEY idx (a,b)) ENGINE=InnoDB;
+COMMIT;
+SELECT COUNT(*) FROM t1
+WHERE MATCH (a,b) AGAINST ('foo bar' IN BOOLEAN MODE);
+KILL QUERY @id;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext.result b/mysql-test/suite/innodb_fts/r/fulltext.result
new file mode 100644
index 00000000000..6802894e44b
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext.result
@@ -0,0 +1,693 @@
+CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
+('Full-text indexes', 'are called collections'),
+('Only MyISAM tables','support collections'),
+('Function MATCH ... AGAINST()','is used to do a search'),
+('Full-text search in MySQL', 'implements vector space model');
+ANALYZE TABLE t1;
+SHOW INDEX FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+t1 1 a 1 a NULL 5 NULL NULL YES FULLTEXT
+t1 1 a 2 b NULL 5 NULL NULL YES FULLTEXT
+select * from t1 where MATCH(a,b) AGAINST ("collections");
+a b
+Full-text indexes are called collections
+Only MyISAM tables support collections
+explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 fulltext a a 0 1 100.00 Using where
+Warnings:
+Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against ('collections'))
+select * from t1 where MATCH(a,b) AGAINST ("indexes");
+a b
+Full-text indexes are called collections
+select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
+a b
+Full-text indexes are called collections
+Only MyISAM tables support collections
+select * from t1 where MATCH(a,b) AGAINST ("only");
+a b
+Only MyISAM tables support collections
+select * from t1 where MATCH(a,b) AGAINST ("collections" WITH QUERY EXPANSION);
+a b
+Only MyISAM tables support collections
+Full-text indexes are called collections
+MySQL has now support for full-text search
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH(a,b) AGAINST ("indexes" WITH QUERY EXPANSION);
+a b
+Full-text indexes are called collections
+Only MyISAM tables support collections
+MySQL has now support for full-text search
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH(a,b) AGAINST ("indexes collections" WITH QUERY EXPANSION);
+a b
+Only MyISAM tables support collections
+Full-text indexes are called collections
+MySQL has now support for full-text search
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH(a,b) AGAINST ("indexes" IN NATURAL LANGUAGE MODE);
+a b
+Full-text indexes are called collections
+select * from t1 where MATCH(a,b) AGAINST ("indexes" IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION);
+a b
+Full-text indexes are called collections
+Only MyISAM tables support collections
+MySQL has now support for full-text search
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH(a,b) AGAINST ("indexes" IN BOOLEAN MODE WITH QUERY EXPANSION);
+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 'QUERY EXPANSION)' at line 1
+explain select * from t1 where MATCH(a,b) AGAINST ("collections");
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>=0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+explain select * from t1 where 0<MATCH(a,b) AGAINST ("collections");
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+explain select * from t1 where 1<MATCH(a,b) AGAINST ("collections");
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+explain select * from t1 where 0<=MATCH(a,b) AGAINST ("collections");
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
+explain select * from t1 where 1<=MATCH(a,b) AGAINST ("collections");
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>0 and a like '%ll%';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+select * from t1 where MATCH(a,b) AGAINST("support -collections" IN BOOLEAN MODE);
+a b
+MySQL has now support for full-text search
+explain extended select * from t1 where MATCH(a,b) AGAINST("support -collections" IN BOOLEAN MODE);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 fulltext a a 0 1 100.00 Using where
+Warnings:
+Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against ('support -collections' in boolean mode))
+select * from t1 where MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE);
+a b
+Only MyISAM tables support collections
+MySQL has now support for full-text search
+Full-text indexes are called collections
+select * from t1 where MATCH(a,b) AGAINST("support +collections" IN BOOLEAN MODE);
+a b
+Only MyISAM tables support collections
+Full-text indexes are called collections
+select * from t1 where MATCH(a,b) AGAINST("sear*" IN BOOLEAN MODE);
+a b
+MySQL has now support for full-text search
+Function MATCH ... AGAINST() is used to do a search
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+a b
+Only MyISAM tables support collections
+select * from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+a b
+MySQL has now support for full-text search
+Function MATCH ... AGAINST() is used to do a search
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+a b
+Full-text search in MySQL implements vector space model
+MySQL has now support for full-text search
+select * from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+a b
+Function MATCH ... AGAINST() is used to do a search
+select *, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+a b x
+MySQL has now support for full-text search 0.15835624933242798
+Full-text indexes are called collections 0.15835624933242798
+Only MyISAM tables support collections 0.31671249866485596
+Function MATCH ... AGAINST() is used to do a search 0
+Full-text search in MySQL implements vector space model 0
+select *, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+a b x
+MySQL has now support for full-text search 0.15835624933242798
+Full-text indexes are called collections 0.15835624933242798
+Only MyISAM tables support collections 0.31671249866485596
+Function MATCH ... AGAINST() is used to do a search 0
+Full-text search in MySQL implements vector space model 0
+select * from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE);
+a b
+Full-text indexes are called collections
+select * from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE);
+a b
+select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
+a b
+MySQL has now support for full-text search
+select * from t1 where MATCH a,b AGAINST ('"now support"' IN BOOLEAN MODE);
+a b
+MySQL has now support for full-text search
+select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE);
+a b
+MySQL has now support for full-text search
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH a,b AGAINST ('"text search" -"now support"' IN BOOLEAN MODE);
+a b
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH a,b AGAINST ('"text search" +"now support"' IN BOOLEAN MODE);
+a b
+MySQL has now support for full-text search
+select * from t1 where MATCH a,b AGAINST ('"text i"' IN BOOLEAN MODE);
+a b
+select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE);
+a b
+Full-text indexes are called collections
+select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN BOOLEAN MODE);
+a b
+select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE);
+a b
+select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE);
+a b
+Full-text indexes are called collections
+select * from t1 where MATCH a,b AGAINST('"space model' IN BOOLEAN MODE);
+a b
+Full-text search in MySQL implements vector space model
+delete from t1 where a like "MySQL%";
+update t1 set a='some test foobar' where MATCH a,b AGAINST ('model');
+delete from t1 where MATCH(a,b) AGAINST ("indexes");
+select * from t1;
+a b
+Only MyISAM tables support collections
+Function MATCH ... AGAINST() is used to do a search
+some test foobar implements vector space model
+drop table t1;
+create table t1 (a varchar(200) not null, fulltext (a)) engine = innodb;
+insert t1 values ("aaa10 bbb20"), ("aaa20 bbb15"), ("aaa30 bbb10");
+select * from t1 where match a against ("+aaa* +bbb*" in boolean mode);
+a
+aaa10 bbb20
+aaa20 bbb15
+aaa30 bbb10
+select * from t1 where match a against ("+aaa* +bbb1*" in boolean mode);
+a
+aaa20 bbb15
+aaa30 bbb10
+select * from t1 where match a against ("+aaa* +ccc*" in boolean mode);
+a
+select * from t1 where match a against ("+aaa10 +(bbb*)" in boolean mode);
+a
+aaa10 bbb20
+select * from t1 where match a against ("+(+aaa* +bbb1*)" in boolean mode);
+a
+aaa20 bbb15
+aaa30 bbb10
+select * from t1 where match a against ("(+aaa* +bbb1*)" in boolean mode);
+a
+aaa20 bbb15
+aaa30 bbb10
+drop table t1;
+CREATE TABLE t1 (
+id int(11),
+ticket int(11),
+KEY ti (id),
+KEY tit (ticket)
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (2,3),(1,2);
+CREATE TABLE t2 (
+ticket int(11),
+inhalt text,
+KEY tig (ticket),
+fulltext index tix (inhalt)
+) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (1,'foo'),(2,'bar'),(3,'foobar');
+INSERT INTO t1 VALUES (3,3);
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+select ticket2.id FROM t2 as ttxt,t2
+INNER JOIN t1 as ticket2 ON ticket2.id = t2.ticket
+WHERE ticket2.id = ticket2.ticket and
+match(ttxt.inhalt) against ('foobar');
+id
+3
+show keys from t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+t2 1 tig 1 ticket A 3 NULL NULL YES BTREE
+t2 1 tix 1 inhalt NULL 3 NULL NULL YES FULLTEXT
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `ticket` int(11) DEFAULT NULL,
+ `inhalt` text,
+ KEY `tig` (`ticket`),
+ FULLTEXT KEY `tix` (`inhalt`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+select * from t2 where MATCH inhalt AGAINST (NULL);
+ticket inhalt
+select * from t2 where MATCH inhalt AGAINST ('foobar');
+ticket inhalt
+3 foobar
+select * from t2 having MATCH inhalt AGAINST ('foobar');
+ticket inhalt
+3 foobar
+CREATE TABLE t3 (t int(11),i text,fulltext tix (t,i));
+ERROR HY000: Column 't' cannot be part of FULLTEXT index
+CREATE TABLE t3 (t int(11),i text,
+j varchar(200) CHARACTER SET latin2,
+fulltext tix (i,j));
+ERROR HY000: Column 'j' cannot be part of FULLTEXT index
+CREATE TABLE t3 (
+ticket int(11),
+inhalt text,
+KEY tig (ticket),
+fulltext index tix (inhalt)
+) ENGINE = InnoDB;
+select * from t2 where MATCH inhalt AGAINST (t2.inhalt);
+ERROR HY000: Incorrect arguments to AGAINST
+select * from t2 where MATCH ticket AGAINST ('foobar');
+ERROR HY000: Can't find FULLTEXT index matching the column list
+select * from t2,t3 where MATCH (t2.inhalt,t3.inhalt) AGAINST ('foobar');
+ERROR HY000: Incorrect arguments to MATCH
+drop table t1,t2,t3;
+CREATE TABLE t1 (
+id int(11) auto_increment,
+title varchar(100) default '',
+PRIMARY KEY (id),
+KEY ind5 (title)
+) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX ft1 ON t1(title);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+insert into t1 (title) values ('this is a test');
+select * from t1 where match title against ('test' in boolean mode);
+id title
+1 this is a test
+update t1 set title='this is A test' where id=1;
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+update t1 set title='this test once revealed a bug' where id=1;
+select * from t1;
+id title
+1 this test once revealed a bug
+update t1 set title=NULL where id=1;
+drop table t1;
+CREATE TABLE t1 (a int(11), b text, FULLTEXT KEY (b)) ENGINE = InnoDB;
+insert into t1 values (1,"I wonder why the fulltext index doesnt work?");
+SELECT * from t1 where MATCH (b) AGAINST ('apples');
+a b
+insert into t1 values (2,"fullaaa fullzzz");
+select * from t1 where match b against ('full*' in boolean mode);
+a b
+1 I wonder why the fulltext index doesnt work?
+2 fullaaa fullzzz
+drop table t1;
+CREATE TABLE t1 ( id int(11) NOT NULL auto_increment primary key, mytext text NOT NULL, FULLTEXT KEY mytext (mytext)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,'my small mouse'),(2,'la-la-la'),(3,'It is so funny'),(4,'MySQL Tutorial');
+select 8 from t1;
+8
+8
+8
+8
+8
+drop table t1;
+create table t1 (a text, fulltext key (a)) ENGINE = InnoDB;
+insert into t1 values ('aaaa');
+select * from t1 where match (a) against ('aaaa');
+a
+aaaa
+drop table t1;
+create table t1 ( ref_mag text not null, fulltext (ref_mag)) ENGINE = InnoDB;
+insert into t1 values ('test');
+select ref_mag from t1 where match ref_mag against ('+test' in boolean mode);
+ref_mag
+test
+alter table t1 change ref_mag ref_mag char (255) not null;
+select ref_mag from t1 where match ref_mag against ('+test' in boolean mode);
+ref_mag
+test
+drop table t1;
+create table t1 (t1_id int(11) primary key, name varchar(32)) ENGINE = InnoDB;
+insert into t1 values (1, 'data1');
+insert into t1 values (2, 'data2');
+create table t2 (t2_id int(11) primary key, t1_id int(11), name varchar(32)) ENGINE = InnoDB;
+insert into t2 values (1, 1, 'xxfoo');
+insert into t2 values (2, 1, 'xxbar');
+insert into t2 values (3, 1, 'xxbuz');
+select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode);
+ERROR HY000: Incorrect arguments to MATCH
+select * from t2 where match name against ('*a*b*c*d*e*f*' in boolean mode);
+ERROR HY000: Can't find FULLTEXT index matching the column list
+drop table t1,t2;
+create table t1 (a text, fulltext key (a)) ENGINE = InnoDB;
+insert into t1 select "xxxx yyyy zzzz";
+drop table t1;
+SET NAMES latin1;
+CREATE TABLE t1 (t text character set utf8 not null, fulltext(t)) ENGINE = InnoDB;
+INSERT t1 VALUES ('Mit freundlichem Grüß'), ('aus Osnabrück');
+SET NAMES koi8r;
+INSERT t1 VALUES ("üÔÏ ÍÙ - ÏÐÉÌËÉ"),("ïÔÌÅÚØ, ÇÎÉÄÁ!"),
+("îÅ ×ÌÅÚÁÊ, ÕÂØÅÔ!"),("É ÂÕÄÅÔ ÐÒÁ×!");
+SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('ïðéìëé');
+t collation(t)
+üÔÏ ÍÙ - ÏÐÉÌËÉ utf8_general_ci
+DROP TABLE t1;
+CREATE TABLE t1 (s varchar(255), FULLTEXT (s)) ENGINE = InnoDB DEFAULT CHARSET=utf8;
+insert into t1 (s) values ('pära para para'),('para para para');
+select * from t1 where match(s) against('para' in boolean mode);
+s
+para para para
+pära para para
+select * from t1 where match(s) against('par*' in boolean mode);
+s
+para para para
+pära para para
+DROP TABLE t1;
+CREATE TABLE t1 (h text, FULLTEXT (h)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('Jesses Hasse Ling and his syncopators of Swing');
+select count(*) from t1;
+count(*)
+1
+drop table t1;
+CREATE TABLE t1 ( a TEXT, FULLTEXT (a) ) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('testing ft_nlq_find_relevance');
+SELECT MATCH(a) AGAINST ('nosuchword') FROM t1;
+MATCH(a) AGAINST ('nosuchword')
+0
+DROP TABLE t1;
+create table t1 (a int primary key, b text, fulltext(b)) ENGINE = InnoDB;
+create table t2 (a int, b text) ENGINE = InnoDB;
+insert t1 values (1, "aaaa"), (2, "bbbb");
+insert t2 values (10, "aaaa"), (2, "cccc");
+replace t1 select * from t2;
+drop table t1, t2;
+CREATE TABLE t1 (t VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci, FULLTEXT (t)) ENGINE = InnoDB;
+SET NAMES latin1;
+INSERT INTO t1 VALUES('Mit freundlichem Grüß aus Osnabrück');
+SELECT COUNT(*) FROM t1 WHERE MATCH(t) AGAINST ('"osnabrück"' IN BOOLEAN MODE);
+COUNT(*)
+1
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(30), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
+INSERT INTO t1 VALUES('testword\'\'');
+SELECT a FROM t1 WHERE MATCH a AGAINST('testword' IN BOOLEAN MODE);
+a
+testword''
+SELECT a FROM t1 WHERE MATCH a AGAINST('testword\'\'' IN BOOLEAN MODE);
+a
+testword''
+INSERT INTO t1 VALUES('test\'s');
+SELECT a FROM t1 WHERE MATCH a AGAINST('test' IN BOOLEAN MODE);
+a
+test's
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10000), FULLTEXT(a)) ENGINE = InnoDB;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(10000) DEFAULT NULL,
+ FULLTEXT KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TEXT, FULLTEXT KEY(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('test'),('test1'),('test');
+ANALYZE TABLE t1;
+PREPARE stmt from "SELECT a, FORMAT(MATCH(a) AGAINST('test1 test'),6) FROM t1 WHERE MATCH(a) AGAINST('test1 test')";
+EXECUTE stmt;
+a FORMAT(MATCH(a) AGAINST('test1 test'),6)
+test1 0.227645
+test 0.031008
+test 0.031008
+EXECUTE stmt;
+a FORMAT(MATCH(a) AGAINST('test1 test'),6)
+test1 0.227645
+test 0.031008
+test 0.031008
+DEALLOCATE PREPARE stmt;
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(255), FULLTEXT(a)) ENGINE = InnoDB;
+SELECT * FROM t1 IGNORE INDEX(a) WHERE MATCH(a) AGAINST('test');
+a
+SELECT * FROM t1 WHERE MATCH(a) AGAINST('test');
+a
+DROP TABLE t1;
+CREATE TABLE t1(a TEXT, fulltext(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES(' aaaaa aaaa');
+SELECT * FROM t1 WHERE MATCH(a) AGAINST ('"aaaa"' IN BOOLEAN MODE);
+a
+ aaaaa aaaa
+DROP TABLE t1;
+CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('Offside'),('City Of God');
+SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE);
+a
+City Of God
+SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of*)' IN BOOLEAN MODE);
+a
+Offside
+City Of God
+SELECT a FROM t1 WHERE MATCH a AGAINST ('+city* of*' IN BOOLEAN MODE);
+a
+City Of God
+DROP TABLE t1;
+create table t1(a text,b date,fulltext index(a)) ENGINE = InnoDB;
+insert into t1 set a='water',b='2008-08-04';
+select 1 from t1 where match(a) against ('water' in boolean mode) and b>='2008-08-01';
+1
+1
+drop table t1;
+show warnings;
+Level Code Message
+CREATE TABLE t1 (a VARCHAR(255), b INT, FULLTEXT(a), KEY(b)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('test', 1),('test', 1),('test', 1),('test', 1),
+('test', 1),('test', 2),('test', 3),('test', 4);
+ANALYZE TABLE t1;
+EXPLAIN SELECT * FROM t1
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext b,a a 0 1 Using where
+EXPLAIN SELECT * FROM t1 USE INDEX(a)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+EXPLAIN SELECT * FROM t1 FORCE INDEX(a)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+EXPLAIN SELECT * FROM t1 IGNORE INDEX(a)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+ERROR HY000: Can't find FULLTEXT index matching the column list
+EXPLAIN SELECT * FROM t1 USE INDEX(b)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+ERROR HY000: Can't find FULLTEXT index matching the column list
+EXPLAIN SELECT * FROM t1 FORCE INDEX(b)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+ERROR HY000: Can't find FULLTEXT index matching the column list
+DROP TABLE t1;
+CREATE TABLE t1(a CHAR(10), fulltext(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('aaa15');
+SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE) FROM t1;
+MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE)
+0.000000001885928302414186
+SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE) FROM t1;
+MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE)
+0.000000003771856604828372
+DROP TABLE t1;
+CREATE TABLE t1(a TEXT) ENGINE = InnoDB;
+SELECT GROUP_CONCAT(a) AS st FROM t1 HAVING MATCH(st) AGAINST('test' IN BOOLEAN MODE);
+ERROR HY000: Incorrect arguments to MATCH
+DROP TABLE t1;
+CREATE TABLE t1(a VARCHAR(64), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('awrd bwrd cwrd'),('awrd bwrd cwrd'),('awrd bwrd cwrd');
+SELECT * FROM t1 WHERE MATCH(a) AGAINST('+awrd bwrd* +cwrd*' IN BOOLEAN MODE);
+a
+awrd bwrd cwrd
+awrd bwrd cwrd
+awrd bwrd cwrd
+DROP TABLE t1;
+CREATE TABLE t1 (col text, FULLTEXT KEY full_text (col)) ENGINE = InnoDB;
+PREPARE s FROM
+"SELECT MATCH (col) AGAINST('findme') FROM t1 ORDER BY MATCH (col) AGAINST('findme')"
+ ;
+EXECUTE s;
+MATCH (col) AGAINST('findme')
+DEALLOCATE PREPARE s;
+DROP TABLE t1;
+#
+# Bug #49250 : spatial btree index corruption and crash
+# Part two : fulltext syntax check
+#
+CREATE TABLE t1(col1 TEXT,
+FULLTEXT INDEX USING BTREE (col1));
+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 'USING BTREE (col1))' at line 2
+CREATE TABLE t2(col1 TEXT) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX USING BTREE ON t2(col);
+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 'USING BTREE ON t2(col)' at line 1
+ALTER TABLE t2 ADD FULLTEXT INDEX USING BTREE (col1);
+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 'USING BTREE (col1)' at line 1
+DROP TABLE t2;
+End of 5.0 tests
+#
+# Bug #47930: MATCH IN BOOLEAN MODE returns too many results
+# inside subquery
+#
+CREATE TABLE t1 (a int) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1), (2);
+CREATE TABLE t2 (a int, b2 char(10), FULLTEXT KEY b2 (b2)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (1,'Scargill');
+CREATE TABLE t3 (a int, b int) ENGINE = InnoDB;
+INSERT INTO t3 VALUES (1,1), (2,1);
+# t2 should use full text index
+EXPLAIN
+SELECT count(*) FROM t1 WHERE
+not exists(
+SELECT 1 FROM t2, t3
+WHERE t3.a=t1.a AND MATCH(b2) AGAINST('scargill' IN BOOLEAN MODE)
+);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where
+2 MATERIALIZED t2 fulltext b2 b2 0 1 Using where
+2 MATERIALIZED t3 ALL NULL NULL NULL NULL 2 Using where
+# should return 0
+SELECT count(*) FROM t1 WHERE
+not exists(
+SELECT 1 FROM t2, t3
+WHERE t3.a=t1.a AND MATCH(b2) AGAINST('scargill' IN BOOLEAN MODE)
+);
+count(*)
+0
+SELECT count(*) FROM t1 WHERE
+not exists(
+SELECT 1 FROM t2 IGNORE INDEX (b2), t3
+WHERE t3.a=t1.a AND MATCH(b2) AGAINST('scargill' IN BOOLEAN MODE)
+);
+ERROR HY000: Can't find FULLTEXT index matching the column list
+DROP TABLE t1,t2,t3;
+CREATE TABLE t1 (a VARCHAR(4), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('awrd'),('cwrd'),
+('awrd');
+SELECT COUNT(*) FROM t1 WHERE MATCH(a) AGAINST("+awrd bwrd* +cwrd*" IN BOOLEAN MODE);
+COUNT(*)
+0
+DROP TABLE t1;
+#
+# Bug #49445: Assertion failed: 0, file .\item_row.cc, line 55 with
+# fulltext search and row op
+#
+CREATE TABLE t1(a CHAR(1),FULLTEXT(a)) ENGINE = InnoDB;
+SELECT 1 FROM t1 WHERE MATCH(a) AGAINST ('') AND ROW(a,a) > ROW(1,1);
+1
+DROP TABLE t1;
+#
+# BUG#51866 - crash with repair by sort and fulltext keys
+#
+CREATE TABLE t1(a CHAR(4), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('aaaa');
+DROP TABLE t1;
+#
+# Bug#54484 explain + prepared statement: crash and Got error -1 from storage engine
+#
+CREATE TABLE t1(f1 VARCHAR(6) NOT NULL, FULLTEXT KEY(f1), UNIQUE(f1)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('test');
+SELECT 1 FROM t1 WHERE 1 >
+ALL((SELECT 1 FROM t1 JOIN t1 a
+ON (MATCH(t1.f1) against (""))
+WHERE t1.f1 GROUP BY t1.f1)) xor f1;
+1
+1
+PREPARE stmt FROM
+'SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1)) xor f1';
+EXECUTE stmt;
+1
+1
+EXECUTE stmt;
+1
+1
+DEALLOCATE PREPARE stmt;
+PREPARE stmt FROM
+'SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+EXECUTE stmt;
+1
+1
+EXECUTE stmt;
+1
+1
+DEALLOCATE PREPARE stmt;
+DROP TABLE t1;
+End of 5.1 tests
+CREATE TABLE z(a INTEGER) engine=innodb;
+CREATE TABLE q(b TEXT CHARSET latin1, fulltext(b)) engine=innodb;
+EXPLAIN SELECT 1 FROM q WHERE (SELECT MATCH(b) AGAINST ('*') FROM z);
+ERROR 42000: syntax error, unexpected $end, expecting FTS_TERM or FTS_NUMB or '*'
+SELECT 1 FROM q WHERE (SELECT MATCH(b) AGAINST ('*') FROM z);
+ERROR 42000: syntax error, unexpected $end, expecting FTS_TERM or FTS_NUMB or '*'
+EXPLAIN SELECT MATCH(b) AGAINST ('*') FROM z;
+ERROR 42S22: Unknown column 'b' in 'field list'
+SELECT MATCH(b) AGAINST ('*') FROM z;
+ERROR 42S22: Unknown column 'b' in 'field list'
+EXPLAIN SELECT MATCH(a) AGAINST ('*') FROM z;
+ERROR HY000: Can't find FULLTEXT index matching the column list
+SELECT MATCH(a) AGAINST ('*') FROM z;
+ERROR HY000: Can't find FULLTEXT index matching the column list
+EXPLAIN SELECT MATCH(b) AGAINST ('*') FROM q;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE q ALL NULL NULL NULL NULL 1
+SELECT MATCH(b) AGAINST ('*') FROM q;
+ERROR 42000: syntax error, unexpected $end, expecting FTS_TERM or FTS_NUMB or '*'
+DROP TABLE z, q;
+create table t (
+FTS_DOC_ID BIGINT UNSIGNED PRIMARY KEY, t TEXT, FULLTEXT KEY (t)
+) ENGINE=InnoDB;
+INSERT INTO t values (1, 'foo bar'), (2, 'foo bar'), (3, 'foo');
+SELECT * FROM t WHERE MATCH(t) AGAINST ('foo bar' IN BOOLEAN MODE)
+LIMIT 0;
+FTS_DOC_ID t
+SELECT * FROM t WHERE MATCH(t) AGAINST ('foo bar' IN BOOLEAN MODE)
+LIMIT 1;
+FTS_DOC_ID t
+1 foo bar
+SELECT * FROM t WHERE MATCH(t) AGAINST ('foo bar' IN BOOLEAN MODE)
+LIMIT 2;
+FTS_DOC_ID t
+1 foo bar
+2 foo bar
+SELECT * FROM t WHERE MATCH(t) AGAINST ('foo bar' IN BOOLEAN MODE)
+LIMIT 3;
+FTS_DOC_ID t
+1 foo bar
+2 foo bar
+3 foo
+SELECT * FROM t WHERE MATCH(t) AGAINST ('foo bar' IN BOOLEAN MODE)
+LIMIT 4;
+FTS_DOC_ID t
+1 foo bar
+2 foo bar
+3 foo
+SELECT * FROM t WHERE MATCH(t) AGAINST ('foo bar' IN BOOLEAN MODE)
+LIMIT 5;
+FTS_DOC_ID t
+1 foo bar
+2 foo bar
+3 foo
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext2.result b/mysql-test/suite/innodb_fts/r/fulltext2.result
new file mode 100644
index 00000000000..2aa7d2a6754
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext2.result
@@ -0,0 +1,244 @@
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (
+i int(10) unsigned not null auto_increment primary key,
+a varchar(255) not null,
+FULLTEXT KEY (a)
+) ENGINE = INNODB;
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select count(*) from t1 where match a against ('aaaxxx');
+count(*)
+260
+select count(*) from t1 where match a against ('aaayyy');
+count(*)
+250
+select count(*) from t1 where match a against ('aaazzz');
+count(*)
+255
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+count(*)
+260
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+count(*)
+250
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+count(*)
+255
+select count(*) from t1 where match a against ('aaaxxx aaayyy aaazzz');
+count(*)
+765
+select count(*) from t1 where match a against ('aaaxxx aaayyy aaazzz' in boolean mode);
+count(*)
+765
+select count(*) from t1 where match a against ('aaax*' in boolean mode);
+count(*)
+260
+select count(*) from t1 where match a against ('aaay*' in boolean mode);
+count(*)
+250
+select count(*) from t1 where match a against ('aaa*' in boolean mode);
+count(*)
+765
+insert t1 (a) values ('aaaxxx'),('aaayyy');
+insert t1 (a) values ('aaazzz'),('aaazzz'),('aaazzz'),('aaazzz'),('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx');
+count(*)
+261
+select count(*) from t1 where match a against ('aaayyy');
+count(*)
+251
+select count(*) from t1 where match a against ('aaazzz');
+count(*)
+260
+insert t1 (a) values ('aaaxxx 000000');
+select count(*) from t1 where match a against ('000000');
+count(*)
+1
+delete from t1 where match a against ('000000');
+select count(*) from t1 where match a against ('000000');
+count(*)
+0
+select count(*) from t1 where match a against ('aaaxxx');
+count(*)
+261
+delete from t1 where match a against ('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+count(*)
+261
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+count(*)
+251
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+count(*)
+0
+select count(*) from t1 where a = 'aaaxxx';
+count(*)
+261
+select count(*) from t1 where a = 'aaayyy';
+count(*)
+251
+select count(*) from t1 where a = 'aaazzz';
+count(*)
+0
+insert t1 (a) values ('aaaxxx 000000');
+select count(*) from t1 where match a against ('000000');
+count(*)
+1
+update t1 set a='aaazzz' where match a against ('000000');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+count(*)
+261
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+count(*)
+1
+update t1 set a='aaazzz' where a = 'aaaxxx';
+update t1 set a='aaaxxx' where a = 'aaayyy';
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+count(*)
+251
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+count(*)
+0
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+count(*)
+262
+drop table t1;
+CREATE TABLE t1 (
+i int(10) unsigned not null auto_increment primary key,
+a varchar(255) not null,
+FULLTEXT KEY (a)
+) ENGINE = INNODB;
+select count(*) from t1 where match a against ('aaaxxx');
+count(*)
+260
+select count(*) from t1 where match a against ('aaayyy');
+count(*)
+250
+select count(*) from t1 where match a against ('aaazzz');
+count(*)
+255
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+count(*)
+260
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+count(*)
+250
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+count(*)
+255
+select count(*) from t1 where match a against ('aaaxxx aaayyy aaazzz');
+count(*)
+765
+select count(*) from t1 where match a against ('aaaxxx aaayyy aaazzz' in boolean mode);
+count(*)
+765
+select count(*) from t1 where match a against ('aaax*' in boolean mode);
+count(*)
+260
+select count(*) from t1 where match a against ('aaay*' in boolean mode);
+count(*)
+250
+select count(*) from t1 where match a against ('aaa*' in boolean mode);
+count(*)
+765
+insert t1 (a) values ('aaaxxx'),('aaayyy');
+insert t1 (a) values ('aaazzz'),('aaazzz'),('aaazzz'),('aaazzz'),('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx');
+count(*)
+261
+select count(*) from t1 where match a against ('aaayyy');
+count(*)
+251
+select count(*) from t1 where match a against ('aaazzz');
+count(*)
+260
+insert t1 (a) values ('aaaxxx 000000');
+select count(*) from t1 where match a against ('000000');
+count(*)
+1
+delete from t1 where match a against ('000000');
+select count(*) from t1 where match a against ('000000');
+count(*)
+0
+select count(*) from t1 where match a against ('aaaxxx');
+count(*)
+261
+delete from t1 where match a against ('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+count(*)
+261
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+count(*)
+251
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+count(*)
+0
+select count(*) from t1 where a = 'aaaxxx';
+count(*)
+261
+select count(*) from t1 where a = 'aaayyy';
+count(*)
+251
+select count(*) from t1 where a = 'aaazzz';
+count(*)
+0
+insert t1 (a) values ('aaaxxx 000000');
+select count(*) from t1 where match a against ('000000');
+count(*)
+1
+update t1 set a='aaazzz' where match a against ('000000');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+count(*)
+261
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+count(*)
+1
+update t1 set a='aaazzz' where a = 'aaaxxx';
+update t1 set a='aaaxxx' where a = 'aaayyy';
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+count(*)
+251
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+count(*)
+0
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+count(*)
+262
+drop table t1;
+set names utf8;
+create table t1(a text,fulltext(a)) ENGINE = INNODB collate=utf8_swedish_ci;
+insert into t1 values('test test '),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test');
+delete from t1 limit 1;
+truncate table t1;
+insert into t1 values('ab c d');
+update t1 set a='ab c d';
+select * from t1 where match a against('ab c' in boolean mode);
+a
+select * from t1 where match a against('ab c' in boolean mode);
+a
+drop table t1;
+set names latin1;
+SET NAMES utf8;
+CREATE TABLE t1(a VARCHAR(255), FULLTEXT(a)) ENGINE = INNODB DEFAULT CHARSET=utf8;
+INSERT INTO t1 VALUES('„MySQL“');
+SELECT a FROM t1 WHERE MATCH a AGAINST('“MySQL„' IN BOOLEAN MODE);
+a
+„MySQL“
+DROP TABLE t1;
+SET NAMES latin1;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext3.result b/mysql-test/suite/innodb_fts/r/fulltext3.result
new file mode 100644
index 00000000000..98fd91a072c
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext3.result
@@ -0,0 +1,9 @@
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(a VARCHAR(255) CHARACTER SET gbk, FULLTEXT(a)) ENGINE = InnoDB;
+SET NAMES utf8;
+DELETE FROM t1 LIMIT 1;
+SET NAMES latin1;
+DROP TABLE t1;
+CREATE TABLE t1(a VARCHAR(2) CHARACTER SET big5 COLLATE big5_chinese_ci,
+FULLTEXT(a)) ENGINE=<default_engine>;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext_cache.result b/mysql-test/suite/innodb_fts/r/fulltext_cache.result
new file mode 100644
index 00000000000..6e00d9933b2
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext_cache.result
@@ -0,0 +1,70 @@
+drop table if exists t1, t2;
+CREATE TABLE t1 (
+id int(10) unsigned NOT NULL auto_increment,
+q varchar(255) default NULL,
+PRIMARY KEY (id)
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,'aaaaaaaaa dsaass de');
+INSERT INTO t1 VALUES (2,'ssde df s fsda sad er');
+CREATE TABLE t2 (
+id int(10) unsigned NOT NULL auto_increment,
+id2 int(10) unsigned default NULL,
+item varchar(255) default NULL,
+PRIMARY KEY (id),
+FULLTEXT KEY item(item)
+) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (1,1,'sushi');
+INSERT INTO t2 VALUES (2,1,'Bolo de Chocolate');
+INSERT INTO t2 VALUES (3,1,'Feijoada');
+INSERT INTO t2 VALUES (4,1,'Mousse de Chocolate');
+INSERT INTO t2 VALUES (5,2,'um copo de Vodka');
+INSERT INTO t2 VALUES (6,2,'um chocolate Snickers');
+INSERT INTO t2 VALUES (7,1,'Bife');
+INSERT INTO t2 VALUES (8,1,'Pizza de Salmao');
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),6)
+as x FROM t1, t2 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
+q item id x
+aaaaaaaaa dsaass de sushi 1 0.815572
+aaaaaaaaa dsaass de Bolo de Chocolate 2 0.000000
+aaaaaaaaa dsaass de Feijoada 3 0.000000
+aaaaaaaaa dsaass de Mousse de Chocolate 4 0.000000
+ssde df s fsda sad er um copo de Vodka 5 0.000000
+ssde df s fsda sad er um chocolate Snickers 6 0.000000
+aaaaaaaaa dsaass de Bife 7 0.000000
+aaaaaaaaa dsaass de Pizza de Salmao 8 0.000000
+SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi' IN BOOLEAN MODE)
+as x FROM t1, t2 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
+q item id x
+aaaaaaaaa dsaass de sushi 1 0.8155715465545654
+aaaaaaaaa dsaass de Bolo de Chocolate 2 0
+aaaaaaaaa dsaass de Feijoada 3 0
+aaaaaaaaa dsaass de Mousse de Chocolate 4 0
+ssde df s fsda sad er um copo de Vodka 5 0
+ssde df s fsda sad er um chocolate Snickers 6 0
+aaaaaaaaa dsaass de Bife 7 0
+aaaaaaaaa dsaass de Pizza de Salmao 8 0
+SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),6)
+as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
+q item id x
+aaaaaaaaa dsaass de sushi 1 0.815572
+aaaaaaaaa dsaass de Bolo de Chocolate 2 0.000000
+aaaaaaaaa dsaass de Feijoada 3 0.000000
+aaaaaaaaa dsaass de Mousse de Chocolate 4 0.000000
+ssde df s fsda sad er um copo de Vodka 5 0.000000
+ssde df s fsda sad er um chocolate Snickers 6 0.000000
+aaaaaaaaa dsaass de Bife 7 0.000000
+aaaaaaaaa dsaass de Pizza de Salmao 8 0.000000
+SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi' IN BOOLEAN MODE)
+as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
+q item id x
+aaaaaaaaa dsaass de sushi 1 0.8155715465545654
+aaaaaaaaa dsaass de Bolo de Chocolate 2 0
+aaaaaaaaa dsaass de Feijoada 3 0
+aaaaaaaaa dsaass de Mousse de Chocolate 4 0
+ssde df s fsda sad er um copo de Vodka 5 0
+ssde df s fsda sad er um chocolate Snickers 6 0
+aaaaaaaaa dsaass de Bife 7 0
+aaaaaaaaa dsaass de Pizza de Salmao 8 0
+drop table t1, t2;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext_distinct.result b/mysql-test/suite/innodb_fts/r/fulltext_distinct.result
new file mode 100644
index 00000000000..95a9a617fa6
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext_distinct.result
@@ -0,0 +1,45 @@
+DROP TABLE IF EXISTS t1, t2;
+CREATE TABLE t1 (
+id mediumint unsigned NOT NULL auto_increment,
+tag char(6) NOT NULL default '',
+value text NOT NULL default '',
+PRIMARY KEY (id),
+KEY kt(tag),
+KEY kv(value(15)),
+FULLTEXT KEY kvf(value)
+) ENGINE = InnoDB;
+Warnings:
+Warning 1101 BLOB/TEXT column 'value' can't have a default value
+CREATE TABLE t2 (
+id_t2 mediumint unsigned NOT NULL default '0',
+id_t1 mediumint unsigned NOT NULL default '0',
+field_number tinyint unsigned NOT NULL default '0',
+PRIMARY KEY (id_t2,id_t1,field_number),
+KEY id_t1(id_t1)
+) ENGINE = InnoDB;
+INSERT INTO t1 (tag,value) VALUES ('foo123','bar111');
+INSERT INTO t1 (tag,value) VALUES ('foo123','bar222');
+INSERT INTO t1 (tag,value) VALUES ('bar345','baz333 ar');
+INSERT INTO t2 VALUES (2231626,64280,0);
+INSERT INTO t2 VALUES (2231626,64281,0);
+INSERT INTO t2 VALUES (12346, 3, 1);
+SELECT * FROM t1;
+id tag value
+1 foo123 bar111
+2 foo123 bar222
+3 bar345 baz333 ar
+SELECT * FROM t2;
+id_t2 id_t1 field_number
+12346 3 1
+2231626 64280 0
+2231626 64281 0
+SELECT DISTINCT t2.id_t2 FROM t2, t1
+WHERE MATCH (t1.value) AGAINST ('baz333') AND t1.id = t2.id_t1;
+id_t2
+12346
+SELECT DISTINCT t2.id_t2 FROM t2, t1
+WHERE MATCH (t1.value) AGAINST ('baz333' IN BOOLEAN MODE)
+AND t1.id = t2.id_t1;
+id_t2
+12346
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext_left_join.result b/mysql-test/suite/innodb_fts/r/fulltext_left_join.result
new file mode 100644
index 00000000000..fc8d29bbef2
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext_left_join.result
@@ -0,0 +1,102 @@
+drop table if exists t1, t2;
+CREATE TABLE t1 (
+id VARCHAR(255) NOT NULL PRIMARY KEY,
+sujet VARCHAR(255),
+motsclefs TEXT,
+texte MEDIUMTEXT,
+FULLTEXT(sujet, motsclefs, texte)
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('123','toto','essai','test');
+INSERT INTO t1 VALUES('456','droit','penal','lawyer');
+INSERT INTO t1 VALUES('789','aaaaa','bbbbb','cccccc');
+CREATE TABLE t2 (
+id VARCHAR(255) NOT NULL,
+author VARCHAR(255) NOT NULL
+) ENGINE = InnoDB;
+INSERT INTO t2 VALUES('123', 'moi');
+INSERT INTO t2 VALUES('123', 'lui');
+INSERT INTO t2 VALUES('456', 'lui');
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
+from t1 left join t2 on t2.id=t1.id;
+round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
+0.00000
+0.00000
+0.22764
+0.00000
+select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
+from t1 left join t2 on t2.id=t1.id;
+match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
+0
+0
+0.22764469683170319
+0
+drop table t1, t2;
+create table t1 (venue_id int(11) default null, venue_text varchar(255) default null, dt datetime default null) ENGINE = InnoDB;
+insert into t1 (venue_id, venue_text, dt) values (1, 'a1', '2003-05-23 19:30:00'),(null, 'a2', '2003-05-23 19:30:00');
+create table t2 (name varchar(255) not null default '', entity_id int(11) not null auto_increment, primary key (entity_id), fulltext key name (name)) engine= innodb;
+insert into t2 (name, entity_id) values ('aberdeen town hall', 1), ('glasgow royal concert hall', 2), ('queen\'s hall, edinburgh', 3);
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+select * from t1 left join t2 on venue_id = entity_id where match(name) against('aberdeen' in boolean mode) and dt = '2003-05-23 19:30:00';
+venue_id venue_text dt name entity_id
+1 a1 2003-05-23 19:30:00 aberdeen town hall 1
+select * from t1 left join t2 on venue_id = entity_id where match(name) against('aberdeen') and dt = '2003-05-23 19:30:00';
+venue_id venue_text dt name entity_id
+1 a1 2003-05-23 19:30:00 aberdeen town hall 1
+select * from t1 left join t2 on (venue_id = entity_id and match(name) against('aberdeen' in boolean mode)) where dt = '2003-05-23 19:30:00';
+venue_id venue_text dt name entity_id
+1 a1 2003-05-23 19:30:00 aberdeen town hall 1
+NULL a2 2003-05-23 19:30:00 NULL NULL
+select * from t1 left join t2 on (venue_id = entity_id and match(name) against('aberdeen')) where dt = '2003-05-23 19:30:00';
+venue_id venue_text dt name entity_id
+1 a1 2003-05-23 19:30:00 aberdeen town hall 1
+NULL a2 2003-05-23 19:30:00 NULL NULL
+drop table t1,t2;
+create table t1 (id int not null primary key, d char(200) not null, e char(200), fulltext (d, e)) ENGINE = InnoDB;
+insert into t1 values (1, 'aword', null), (2, 'aword', 'bword'), (3, 'bword', null), (4, 'bword', 'aword'), (5, 'aword and bword', null);
+ANALYZE TABLE t1;
+select * from t1 where match(d, e) against ('+aword +bword' in boolean mode);
+id d e
+2 aword bword
+4 bword aword
+5 aword and bword NULL
+create table t2 (m_id int not null, f char(200), key (m_id), fulltext (f)) engine = InnoDB;
+insert into t2 values (1, 'bword'), (3, 'aword'), (5, '');
+ANALYZE TABLE t2;
+select * from t1 left join t2 on m_id = id where match(d, e, f) against ('+aword +bword' in boolean mode);
+ERROR HY000: Incorrect arguments to MATCH
+drop table t1,t2;
+CREATE TABLE t1 (
+id int(10) NOT NULL auto_increment,
+link int(10) default NULL,
+name mediumtext default NULL,
+PRIMARY KEY (id),
+FULLTEXT (name)
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1, 1, 'string');
+INSERT INTO t1 VALUES (2, 0, 'string');
+CREATE TABLE t2 (
+id int(10) NOT NULL auto_increment,
+name mediumtext default NULL,
+PRIMARY KEY (id),
+FULLTEXT (name)
+) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (1, 'string');
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+SELECT t1.*, MATCH(t1.name) AGAINST('string') AS relevance
+FROM t1 LEFT JOIN t2 ON t1.link = t2.id
+WHERE MATCH(t1.name, t2.name) AGAINST('string' IN BOOLEAN MODE);
+ERROR HY000: Incorrect arguments to MATCH
+DROP TABLE t1,t2;
+CREATE TABLE t1 (a INT) ENGINE = InnoDB;
+CREATE TABLE t2 (b INT, c TEXT, KEY(b), FULLTEXT(c)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t2(b,c) VALUES(2,'castle'),(3,'castle');
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+SELECT * FROM t1 LEFT JOIN t2 ON a=b WHERE MATCH(c) AGAINST('+castle' IN BOOLEAN MODE);
+a b c
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext_misc.result b/mysql-test/suite/innodb_fts/r/fulltext_misc.result
new file mode 100644
index 00000000000..ce7fe46f4e1
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext_misc.result
@@ -0,0 +1,195 @@
+drop table if exists t1;
+#
+# Bug#56814 Explain + subselect + fulltext crashes server
+#
+CREATE TABLE t1(f1 VARCHAR(6) NOT NULL,FULLTEXT KEY(f1),UNIQUE(f1)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('test');
+EXPLAIN SELECT 1 FROM t1
+WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a ON (MATCH(t1.f1) AGAINST (""))
+WHERE t1.f1 GROUP BY t1.f1));
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 index NULL f1_2 8 NULL 1 Using index
+2 SUBQUERY t1 fulltext f1_2,f1 f1 0 1 Using where
+2 SUBQUERY a index NULL f1_2 8 NULL 1 Using index
+PREPARE stmt FROM
+'EXPLAIN SELECT 1 FROM t1
+ WHERE 1 > ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
+ ON (MATCH(t1.f1) AGAINST (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+EXECUTE stmt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 index NULL f1_2 8 NULL 1 Using index
+2 SUBQUERY t1 fulltext f1_2,f1 f1 0 1 Using where
+2 SUBQUERY a index NULL f1_2 8 NULL 1 Using index
+EXECUTE stmt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 index NULL f1_2 8 NULL 1 Using index
+2 SUBQUERY t1 fulltext f1_2,f1 f1 0 1 Using where
+2 SUBQUERY a index NULL f1_2 8 NULL 1 Using index
+DEALLOCATE PREPARE stmt;
+PREPARE stmt FROM
+'EXPLAIN SELECT 1 FROM t1
+ WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) AGAINST (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+EXECUTE stmt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 index NULL f1_2 8 NULL 1 Using index
+2 SUBQUERY t1 fulltext f1_2,f1 f1 0 1 Using where
+2 SUBQUERY a index NULL f1_2 8 NULL 1 Using index
+EXECUTE stmt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 index NULL f1_2 8 NULL 1 Using index
+2 SUBQUERY t1 fulltext f1_2,f1 f1 0 1 Using where
+2 SUBQUERY a index NULL f1_2 8 NULL 1 Using index
+DEALLOCATE PREPARE stmt;
+DROP TABLE t1;
+drop table if exists t1;
+CREATE TABLE t1 (
+kodoboru varchar(10) default NULL,
+obor tinytext,
+aobor tinytext,
+UNIQUE INDEX kodoboru (kodoboru),
+FULLTEXT KEY obor (obor),
+FULLTEXT KEY aobor (aobor)
+) ENGINE = InnoDB;
+drop table t1;
+CREATE TABLE t1 (
+kodoboru varchar(10) default NULL,
+obor tinytext,
+aobor tinytext,
+UNIQUE INDEX kodoboru (kodoboru),
+FULLTEXT KEY obor (obor)
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('0101000000','aaa','AAA');
+INSERT INTO t1 VALUES ('0102000000','bbb','BBB');
+INSERT INTO t1 VALUES ('0103000000','ccc','CCC');
+INSERT INTO t1 VALUES ('0104000000','xxx','XXX');
+select * from t1;
+kodoboru obor aobor
+0101000000 aaa AAA
+0102000000 bbb BBB
+0103000000 ccc CCC
+0104000000 xxx XXX
+drop table t1;
+create table t1 (c1 varchar(1), c2 int, c3 int, c4 int, c5 int, c6 int,
+c7 int, c8 int, c9 int, fulltext key (`c1`)) ENGINE = InnoDB;
+select distinct match (`c1`) against ('z') , c2, c3, c4,c5, c6,c7, c8
+from t1 where c9=1 order by c2, c2;
+match (`c1`) against ('z') c2 c3 c4 c5 c6 c7 c8
+drop table t1;
+CREATE TABLE t1 (c1 int not null auto_increment primary key, c2 varchar(20), fulltext(c2)) ENGINE = InnoDB;
+insert into t1 (c2) VALUES ('real Beer'),('Water'),('Kossu'),('Coca-Cola'),('Vodka'),('Wine'),('almost real Beer');
+select * from t1 WHERE match (c2) against ('Beer');
+c1 c2
+1 real Beer
+7 almost real Beer
+CREATE VIEW v1 AS SELECT * from t1 WHERE match (c2) against ('Beer');
+select * from v1;
+c1 c2
+1 real Beer
+7 almost real Beer
+drop view v1;
+drop table t1;
+create table t1 (mytext text, FULLTEXT (mytext)) ENGINE = InnoDB;
+insert t1 values ('aaabbb');
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+drop table t1;
+create table t1 (a varchar(10), fulltext key(a)) ENGINE = InnoDB;
+insert into t1 values ('a');
+select hex(concat(match (a) against ('a'))) from t1;
+hex(concat(match (a) against ('a')))
+30
+create table t2 ENGINE = InnoDB as select concat(match (a) against ('a')) as a from t1;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` varchar(23) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+drop table t1, t2;
+CREATE TABLE t1(a TEXT CHARSET ucs2 COLLATE ucs2_unicode_ci) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('abcd');
+SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abcd' IN BOOLEAN MODE);
+ERROR HY000: Can't find FULLTEXT index matching the column list
+DROP TABLE t1;
+create table t1 (a varchar(10), key(a), fulltext (a)) ENGINE = InnoDB;
+insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
+select * from t1 where a like "abc%";
+a
+abc
+abcd
+select * from t1 where a like "test%";
+a
+test
+select * from t1 where a like "te_t";
+a
+test
+select * from t1 where match a against ("te*" in boolean mode)+0;
+a
+drop table t1;
+#
+# Bug #49734: Crash on EXPLAIN EXTENDED UNION ... ORDER BY
+# <any non-const-function>
+#
+CREATE TABLE t1 (a VARCHAR(10), FULLTEXT KEY a (a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (b INT) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (1),(2);
+# Should not crash
+EXPLAIN EXTENDED
+SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY a + 12;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00
+2 UNION t1 ALL NULL NULL NULL NULL 2 100.00
+NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL NULL Using filesort
+Warnings:
+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` union select `test`.`t1`.`a` AS `a` from `test`.`t1` order by (`a` + 12)
+# Should not crash
+SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY a + 12;
+a
+1
+2
+# Should not crash
+EXPLAIN EXTENDED
+SELECT * FROM t1 UNION SELECT * FROM t1
+ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00
+2 UNION t1 ALL NULL NULL NULL NULL 2 100.00
+NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL NULL Using filesort
+Warnings:
+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` union select `test`.`t1`.`a` AS `a` from `test`.`t1` order by (match `a` against ('+abc' in boolean mode))
+# Should not crash
+SELECT * FROM t1 UNION SELECT * FROM t1
+ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE);
+a
+1
+2
+# Should not crash
+EXPLAIN EXTENDED
+SELECT * FROM t1 UNION SELECT * FROM t1
+ORDER BY (SELECT a FROM t2 WHERE b = 12);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00
+2 UNION t1 ALL NULL NULL NULL NULL 2 100.00
+NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL NULL Using filesort
+3 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
+Warnings:
+Note 1276 Field or reference 'a' of SELECT #3 was resolved in SELECT #-1
+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` union select `test`.`t1`.`a` AS `a` from `test`.`t1` order by <expr_cache><`a`>((select `a` from `test`.`t2` where (`test`.`t2`.`b` = 12)))
+# Should not crash
+SELECT * FROM t1 UNION SELECT * FROM t1
+ORDER BY (SELECT a FROM t2 WHERE b = 12);
+# Should not crash
+SELECT * FROM t2 UNION SELECT * FROM t2
+ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
+b
+1
+2
+DROP TABLE t1,t2;
+End of 5.1 tests
diff --git a/mysql-test/suite/innodb_fts/r/fulltext_multi.result b/mysql-test/suite/innodb_fts/r/fulltext_multi.result
new file mode 100644
index 00000000000..4a3c2fb512f
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext_multi.result
@@ -0,0 +1,38 @@
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (
+a int(11) NOT NULL auto_increment,
+b text,
+c varchar(254) default NULL,
+PRIMARY KEY (a),
+FULLTEXT KEY bb(b),
+FULLTEXT KEY cc(c),
+FULLTEXT KEY a(b,c)
+) ENGINE = InnoDB;
+drop table t1;
+CREATE TABLE t1 (
+a int(11) NOT NULL auto_increment,
+b text,
+c varchar(254) default NULL,
+PRIMARY KEY (a),
+FULLTEXT KEY a(b,c)
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,'lala lolo lili','oooo aaaa pppp');
+INSERT INTO t1 VALUES (2,'asdf fdsa','lkjh fghj');
+INSERT INTO t1 VALUES (3,'qpwoei','zmxnvb');
+ANALYZE TABLE t1;
+SELECT a, round(MATCH b,c AGAINST ('lala lkjh'),5) FROM t1;
+a round(MATCH b,c AGAINST ('lala lkjh'),5)
+1 0.22764
+2 0.22764
+3 0.00000
+SELECT a, round(MATCH c,c AGAINST ('lala lkjh'),5) FROM t1;
+a round(MATCH c,c AGAINST ('lala lkjh'),5)
+1 0.22764
+2 0.22764
+3 0.00000
+SELECT a, round(MATCH b,c AGAINST ('lala lkjh'),5) FROM t1;
+a round(MATCH b,c AGAINST ('lala lkjh'),5)
+1 0.22764
+2 0.22764
+3 0.00000
+drop table t1;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext_order_by.result b/mysql-test/suite/innodb_fts/r/fulltext_order_by.result
new file mode 100644
index 00000000000..503f117d02f
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext_order_by.result
@@ -0,0 +1,179 @@
+DROP TABLE IF EXISTS t1,t2,t3;
+CREATE TABLE t1 (
+a INT AUTO_INCREMENT PRIMARY KEY,
+message CHAR(20),
+FULLTEXT(message)
+) ENGINE = InnoDB comment = 'original testcase by sroussey@network54.com';
+INSERT INTO t1 (message) VALUES ("Testing"),("table"),("testbug"),
+("steve"),("is"),("cool"),("steve is cool");
+ANALYZE TABLE t1;
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve');
+a FORMAT(MATCH (message) AGAINST ('steve'),6)
+4 0.296010
+7 0.296010
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve');
+a MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
+4 0.2960100471973419
+7 0.2960100471973419
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE);
+a FORMAT(MATCH (message) AGAINST ('steve'),6)
+4 0.296010
+7 0.296010
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE);
+a MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
+4 0.2960100471973419
+7 0.2960100471973419
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY a;
+a FORMAT(MATCH (message) AGAINST ('steve'),6)
+4 0.296010
+7 0.296010
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY a;
+a MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
+4 0.2960100471973419
+7 0.2960100471973419
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve') ORDER BY a DESC;
+a FORMAT(MATCH (message) AGAINST ('steve'),6)
+7 0.296010
+4 0.296010
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY a DESC;
+a MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
+7 0.2960100471973419
+4 0.2960100471973419
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve') ORDER BY 1;
+a FORMAT(MATCH (message) AGAINST ('steve'),6)
+7 0.296010
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY 1;
+a MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
+7 0.2960100471973419
+SELECT if(a in (4,7),2,1), FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel;
+if(a in (4,7),2,1) rel
+1 0.000000
+1 0.000000
+1 0.000000
+1 0.000000
+1 0.000000
+2 0.296010
+2 0.296010
+SELECT if(a in (4,7),2,1), MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel;
+if(a in (4,7),2,1) rel
+1 0
+1 0
+1 0
+1 0
+1 0
+2 0.2960100471973419
+2 0.2960100471973419
+alter table t1 add key m (message);
+ANALYZE TABLE t1;
+explain SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext message message 0 1 Using where; Using filesort
+SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message desc;
+message
+steve is cool
+steve
+drop table t1;
+CREATE TABLE t1 (
+a INT AUTO_INCREMENT PRIMARY KEY,
+message CHAR(20),
+FULLTEXT(message)
+) ENGINE = InnoDB;
+INSERT INTO t1 (message) VALUES ("testbug"),("testbug foobar");
+ANALYZE TABLE t1;
+SELECT a, MATCH (message) AGAINST ('t* f*' IN BOOLEAN MODE) as rel FROM t1;
+a rel
+1 0.000000001885928302414186
+2 0.0906190574169159
+SELECT a, MATCH (message) AGAINST ('t* f*' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel,a;
+a rel
+1 0.000000001885928302414186
+2 0.0906190574169159
+drop table t1;
+CREATE TABLE t1 (
+id int(11) NOT NULL auto_increment,
+thread int(11) NOT NULL default '0',
+beitrag longtext NOT NULL,
+PRIMARY KEY (id),
+KEY thread (thread),
+FULLTEXT KEY beitrag (beitrag)
+) ENGINE =InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7923 ;
+CREATE TABLE t2 (
+id int(11) NOT NULL auto_increment,
+text varchar(100) NOT NULL default '',
+PRIMARY KEY (id),
+KEY text (text)
+) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=63 ;
+CREATE TABLE t3 (
+id int(11) NOT NULL auto_increment,
+forum int(11) NOT NULL default '0',
+betreff varchar(70) NOT NULL default '',
+PRIMARY KEY (id),
+KEY forum (forum),
+FULLTEXT KEY betreff (betreff)
+) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=996 ;
+select a.text, b.id, b.betreff
+from
+t2 a inner join t3 b on a.id = b.forum inner join
+t1 c on b.id = c.thread
+where
+match(b.betreff) against ('+abc' in boolean mode)
+group by a.text, b.id, b.betreff
+union
+select a.text, b.id, b.betreff
+from
+t2 a inner join t3 b on a.id = b.forum inner join
+t1 c on b.id = c.thread
+where
+match(c.beitrag) against ('+abc' in boolean mode)
+group by
+a.text, b.id, b.betreff
+order by
+match(b.betreff) against ('+abc' in boolean mode) desc;
+ERROR 42000: Table 'b' from one of the SELECTs cannot be used in field list
+select a.text, b.id, b.betreff
+from
+t2 a inner join t3 b on a.id = b.forum inner join
+t1 c on b.id = c.thread
+where
+match(b.betreff) against ('+abc' in boolean mode)
+union
+select a.text, b.id, b.betreff
+from
+t2 a inner join t3 b on a.id = b.forum inner join
+t1 c on b.id = c.thread
+where
+match(c.beitrag) against ('+abc' in boolean mode)
+order by
+match(b.betreff) against ('+abc' in boolean mode) desc;
+ERROR 42000: Table 'b' from one of the SELECTs cannot be used in field list
+select a.text, b.id, b.betreff
+from
+t2 a inner join t3 b on a.id = b.forum inner join
+t1 c on b.id = c.thread
+where
+match(b.betreff) against ('+abc' in boolean mode)
+union
+select a.text, b.id, b.betreff
+from
+t2 a inner join t3 b on a.id = b.forum inner join
+t1 c on b.id = c.thread
+where
+match(c.beitrag) against ('+abc' in boolean mode)
+order by
+match(betreff) against ('+abc' in boolean mode) desc;
+text id betreff
+(select b.id, b.betreff from t3 b) union
+(select b.id, b.betreff from t3 b)
+order by match(betreff) against ('+abc' in boolean mode) desc;
+id betreff
+(select b.id, b.betreff from t3 b) union
+(select b.id, b.betreff from t3 b)
+order by match(betreff) against ('+abc') desc;
+ERROR HY000: Can't find FULLTEXT index matching the column list
+select distinct b.id, b.betreff from t3 b
+order by match(betreff) against ('+abc' in boolean mode) desc;
+id betreff
+select b.id, b.betreff from t3 b group by b.id+1
+order by match(betreff) against ('+abc' in boolean mode) desc;
+id betreff
+drop table t1,t2,t3;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext_update.result b/mysql-test/suite/innodb_fts/r/fulltext_update.result
new file mode 100644
index 00000000000..df323996dd9
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext_update.result
@@ -0,0 +1,24 @@
+drop table if exists test;
+CREATE TABLE test (
+gnr INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+url VARCHAR(80) DEFAULT '' NOT NULL,
+shortdesc VARCHAR(200) DEFAULT '' NOT NULL,
+longdesc text DEFAULT '' NOT NULL,
+description VARCHAR(80) DEFAULT '' NOT NULL,
+name VARCHAR(80) DEFAULT '' NOT NULL,
+FULLTEXT(url,description,shortdesc,longdesc),
+PRIMARY KEY(gnr)
+) ENGINE = InnoDB;
+Warnings:
+Warning 1101 BLOB/TEXT column 'longdesc' can't have a default value
+insert into test (url,shortdesc,longdesc,description,name) VALUES
+("http:/test.at", "kurz", "lang","desc", "name");
+insert into test (url,shortdesc,longdesc,description,name) VALUES
+("http:/test.at", "kurz", "","desc", "name");
+update test set url='test', description='ddd', name='nam' where gnr=2;
+update test set url='test', shortdesc='ggg', longdesc='mmm',
+description='ddd', name='nam' where gnr=2;
+check table test;
+Table Op Msg_type Msg_text
+test.test check status OK
+drop table test;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext_var.result b/mysql-test/suite/innodb_fts/r/fulltext_var.result
new file mode 100644
index 00000000000..9fe586210c8
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/fulltext_var.result
@@ -0,0 +1,35 @@
+drop table if exists t1;
+show variables like "ft\_%";
+Variable_name Value
+ft_boolean_syntax + -><()~*:""&|
+ft_max_word_len 84
+ft_min_word_len 4
+ft_query_expansion_limit 20
+ft_stopword_file (built-in)
+create table t1 (b text not null, fulltext(b)) engine = innodb;
+insert t1 values ('aaaaaa bbbbbb cccccc');
+insert t1 values ('bbbbbb cccccc');
+insert t1 values ('aaaaaa cccccc');
+select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
+b
+aaaaaa bbbbbb cccccc
+aaaaaa cccccc
+set ft_boolean_syntax=' +-><()~*:""&|';
+ERROR HY000: Variable 'ft_boolean_syntax' is a GLOBAL variable and should be set with SET GLOBAL
+set global ft_boolean_syntax=' +-><()~*:""&|';
+select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
+b
+aaaaaa bbbbbb cccccc
+aaaaaa cccccc
+set global ft_boolean_syntax='@ -><()~*:""&|';
+select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
+b
+aaaaaa bbbbbb cccccc
+aaaaaa cccccc
+select * from t1 where match b against ('+aaaaaa @bbbbbb' in boolean mode);
+ERROR 42000: syntax error, unexpected '@', expecting $end
+set global ft_boolean_syntax='@ -><()~*:""@|';
+ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '@ -><()~*:""@|'
+set global ft_boolean_syntax='+ -><()~*:""@!|';
+ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '+ -><()~*:""@!|'
+drop table t1;
diff --git a/mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result b/mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result
new file mode 100644
index 00000000000..a39c430ef37
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result
@@ -0,0 +1,229 @@
+CREATE TABLE fts_test (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT
+) ENGINE=InnoDB;
+INSERT INTO fts_test (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT * FROM fts_test WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+DROP INDEX idx ON fts_test;
+INSERT INTO fts_test (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+SELECT * FROM fts_test WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+7 MySQL Tutorial DBMS stands for DataBase ...
+9 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM fts_test WHERE MATCH (title,body)
+AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+12 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+7 MySQL Tutorial DBMS stands for DataBase ...
+8 How To Use MySQL Well After you went through a ...
+9 Optimizing MySQL In this tutorial we will show ...
+10 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+TRUNCATE TABLE fts_test;
+DROP INDEX idx ON fts_test;
+INSERT INTO fts_test (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+SELECT * FROM fts_test WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+DROP TABLE fts_test;
+CREATE TABLE fts_test (
+FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT
+) ENGINE=InnoDB;
+create unique index FTS_DOC_ID_INDEX on fts_test(FTS_DOC_ID);
+INSERT INTO fts_test (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('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.
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+ALTER TABLE fts_test ROW_FORMAT=REDUNDANT, LOCK=NONE;
+ERROR 0A000: LOCK=NONE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try LOCK=SHARED.
+ALTER TABLE fts_test ROW_FORMAT=REDUNDANT;
+SELECT * FROM fts_test WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+drop index idx on fts_test;
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+SELECT * FROM fts_test WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+drop index idx on fts_test;
+drop index FTS_DOC_ID_INDEX on fts_test;
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+SELECT * FROM fts_test WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+drop table fts_test;
+CREATE TABLE fts_test (
+FTS_DOC_ID bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+title varchar(255) NOT NULL DEFAULT '',
+text mediumtext NOT NULL,
+PRIMARY KEY (FTS_DOC_ID),
+UNIQUE KEY FTS_DOC_ID_INDEX (FTS_DOC_ID),
+FULLTEXT KEY idx (title,text)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+set @@auto_increment_increment=10;
+INSERT INTO fts_test (title, text) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...'),
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+ANALYZE TABLE fts_test;
+set @@auto_increment_increment=1;
+select *, match(title, text) AGAINST ('database') as score
+from fts_test order by score desc;
+FTS_DOC_ID title text score
+11 MySQL Tutorial DBMS stands for DataBase ... 0.22764469683170319
+51 MySQL vs. YourSQL In the following database comparison ... 0.22764469683170319
+21 How To Use MySQL Well After you went through a ... 0
+31 Optimizing MySQL In this tutorial we will show ... 0
+41 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... 0
+61 MySQL Security When configured properly, MySQL ... 0
+drop index idx on fts_test;
+drop table fts_test;
+CREATE TABLE fts_test (
+FTS_DOC_ID int(20) unsigned NOT NULL AUTO_INCREMENT,
+title varchar(255) NOT NULL DEFAULT '',
+text mediumtext NOT NULL,
+PRIMARY KEY (FTS_DOC_ID),
+UNIQUE KEY FTS_DOC_ID_INDEX (FTS_DOC_ID),
+FULLTEXT KEY idx (title,text)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+ERROR 42000: Incorrect column name 'FTS_DOC_ID'
+CREATE TABLE fts_test (
+FTS_DOC_ID bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+title varchar(255) NOT NULL DEFAULT '',
+text mediumtext NOT NULL,
+PRIMARY KEY (FTS_DOC_ID),
+KEY FTS_DOC_ID_INDEX (FTS_DOC_ID),
+FULLTEXT KEY idx (title,text)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+ERROR HY000: Index 'FTS_DOC_ID_INDEX' is of wrong type for an InnoDB FULLTEXT index
+CREATE TABLE articles (
+FTS_DOC_ID BIGINT UNSIGNED NOT NULL ,
+title VARCHAR(200),
+body TEXT
+) ENGINE=InnoDB;
+INSERT INTO articles (FTS_DOC_ID, title, body) VALUES
+(9, 'MySQL Tutorial','DBMS stands for DataBase ...'),
+(10, 'How To Use MySQL Well','After you went through a ...'),
+(12, 'Optimizing MySQL','In this tutorial we will show ...'),
+(14,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+(19, 'MySQL vs. YourSQL','In the following database comparison ...'),
+(20, 'MySQL Security','When configured properly, MySQL ...');
+ALTER TABLE articles ADD FULLTEXT INDEX idx3 (title),
+ADD FULLTEXT INDEX idx5 (title);
+ERROR HY000: InnoDB presently supports one FULLTEXT index creation at a time
+CREATE FULLTEXT INDEX idx on articles (title);
+ALTER TABLE articles ADD FULLTEXT INDEX idx3 (title);
+ALTER TABLE articles ADD INDEX t20 (title(20)), LOCK=NONE;
+ALTER TABLE articles DROP INDEX t20;
+INSERT INTO articles (FTS_DOC_ID, title, body) VALUES
+(29, 'MySQL Tutorial','DBMS stands for DataBase ...'),
+(30, 'How To Use MySQL Well','After you went through a ...'),
+(32, 'Optimizing MySQL','In this tutorial we will show ...'),
+(34,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+(39, 'MySQL vs. YourSQL','In the following database comparison ...'),
+(40, 'MySQL Security','When configured properly, MySQL ...');
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+9 MySQL Tutorial DBMS stands for DataBase ...
+29 MySQL Tutorial DBMS stands for DataBase ...
+DROP INDEX idx ON articles;
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+9 MySQL Tutorial DBMS stands for DataBase ...
+29 MySQL Tutorial DBMS stands for DataBase ...
+CREATE FULLTEXT INDEX idx on articles (title, body);
+SELECT * FROM articles WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+9 MySQL Tutorial DBMS stands for DataBase ...
+12 Optimizing MySQL In this tutorial we will show ...
+29 MySQL Tutorial DBMS stands for DataBase ...
+32 Optimizing MySQL In this tutorial we will show ...
+DROP TABLE articles;
+create table articles(`FTS_DOC_ID` serial,
+`col32` timestamp not null,`col115` text) engine=innodb;
+create fulltext index `idx5` on articles(`col115`) ;
+alter ignore table articles add primary key (`col32`) ;
+drop table articles;
+CREATE TABLE articles (
+id INT UNSIGNED NOT NULL,
+title VARCHAR(200),
+body TEXT
+) ENGINE=InnoDB;
+INSERT INTO articles VALUES
+(1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+(2, 'How To Use MySQL Well','After you went through a ...'),
+(3, 'Optimizing MySQL','In this tutorial we will show ...'),
+(4, '1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+(5, 'MySQL vs. YourSQL','In the following database comparison ...'),
+(6, 'MySQL Security','When configured properly, MySQL ...');
+CREATE FULLTEXT INDEX idx on articles (title, body);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+DROP INDEX idx ON articles;
+CREATE UNIQUE INDEX idx2 ON articles(id);
+CREATE FULLTEXT INDEX idx on articles (title, body);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT * FROM articles WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+DROP TABLE articles;
diff --git a/mysql-test/suite/innodb_fts/r/innodb-fts-fic.result b/mysql-test/suite/innodb_fts/r/innodb-fts-fic.result
new file mode 100644
index 00000000000..e5df6ca8b05
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb-fts-fic.result
@@ -0,0 +1,190 @@
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT
+) ENGINE=InnoDB;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+CREATE FULLTEXT INDEX idx on articles (title, body);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT * FROM articles WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT COUNT(*) FROM articles
+WHERE MATCH (title, body)
+AGAINST ('database' IN NATURAL LANGUAGE MODE);
+COUNT(*)
+2
+SELECT * FROM articles
+WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT COUNT(IF(MATCH (title, body)
+AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL))
+AS count FROM articles;
+count
+2
+ANALYZE TABLE articles;
+Table Op Msg_type Msg_text
+test.articles analyze status OK
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('DBMS Security' IN BOOLEAN MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+6 MySQL Security When configured properly, MySQL ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('+MySQL +YourSQL' IN BOOLEAN MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+DROP INDEX idx ON articles;
+CREATE FULLTEXT INDEX idx on articles (title, body);
+CREATE FULLTEXT INDEX idx1 on articles (title);
+SELECT * FROM articles WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+DROP INDEX idx ON articles;
+DROP INDEX idx1 ON articles;
+CREATE FULLTEXT INDEX idx1 on articles (title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+drop table articles;
+CREATE TABLE articles (
+FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT
+) ENGINE=InnoDB;
+create unique index FTS_DOC_ID_INDEX on articles(FTS_DOC_ID);
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+CREATE FULLTEXT INDEX idx on articles (title, body);
+SELECT * FROM articles WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+drop table articles;
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT
+) ENGINE=InnoDB;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+CREATE FULLTEXT INDEX idx on articles (title);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+CREATE FULLTEXT INDEX idx2 on articles (body);
+SELECT * FROM articles WHERE MATCH (title, body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+ERROR HY000: Can't find FULLTEXT index matching the column list
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+SELECT * FROM articles WHERE MATCH (body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+3 Optimizing MySQL In this tutorial we will show ...
+drop index idx2 on articles;
+SELECT * FROM articles WHERE MATCH (body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+ERROR HY000: Can't find FULLTEXT index matching the column list
+CREATE FULLTEXT INDEX idx2 on articles (body);
+SELECT * FROM articles WHERE MATCH (body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+3 Optimizing MySQL In this tutorial we will show ...
+UPDATE articles set title = 'aaaa'
+WHERE MATCH(title) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('aaaa' IN NATURAL LANGUAGE MODE);
+id title body
+1 aaaa DBMS stands for DataBase ...
+drop table articles;
+CREATE TABLE articles (
+FTS_DOC_ID BIGINT UNSIGNED NOT NULL ,
+title VARCHAR(200),
+body TEXT
+) ENGINE=InnoDB;
+CREATE FULLTEXT INDEX idx on articles (title);
+INSERT INTO articles VALUES (9, 'MySQL Tutorial','DBMS stands for DataBase ...');
+UPDATE articles set title = 'bbbb' WHERE MATCH(title) AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+ERROR HY000: Invalid InnoDB FTS Doc ID
+UPDATE articles set title = 'bbbb', FTS_DOC_ID=8 WHERE MATCH(title) AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+ERROR HY000: Invalid InnoDB FTS Doc ID
+UPDATE articles set title = 'bbbb', FTS_DOC_ID=10 WHERE MATCH(title) AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+SELECT * FROM articles WHERE MATCH (title) AGAINST ('bbbb' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+10 bbbb DBMS stands for DataBase ...
+SELECT * FROM articles WHERE MATCH (title) AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+CREATE FULLTEXT INDEX idx2 ON articles (body);
+SELECT * FROM articles WHERE MATCH (body) AGAINST ('database' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID title body
+10 bbbb DBMS stands for DataBase ...
+UPDATE articles set body = 'bbbb', FTS_DOC_ID=11 WHERE MATCH(body) AGAINST ('database' IN NATURAL LANGUAGE MODE);
+drop table articles;
+create table `articles`(`a` varchar(2) not null)engine=innodb;
+create fulltext index `FTS_DOC_ID_INDEX` on `articles`(`a`);
+ERROR HY000: Index 'FTS_DOC_ID_INDEX' is of wrong type for an InnoDB FULLTEXT index
+create unique index `a` on `articles`(`a`);
+drop table articles;
+CREATE TABLE wp(
+FTS_DOC_ID bigint PRIMARY KEY,
+title VARCHAR(255) NOT NULL DEFAULT '',
+text MEDIUMTEXT NOT NULL ) ENGINE=InnoDB;
+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 ...');
+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,
+title VARCHAR(255) NOT NULL DEFAULT '',
+text MEDIUMTEXT NOT NULL ) ENGINE=InnoDB;
+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 ...');
+CREATE FULLTEXT INDEX idx ON wp(title, text);
+SELECT FTS_DOC_ID, MATCH(title, text) AGAINST ('database')
+FROM wp;
+FTS_DOC_ID MATCH(title, text) AGAINST ('database')
+1 0.0906190574169159
+2 0
+DROP TABLE wp;
diff --git a/mysql-test/suite/innodb_fts/r/innodb-fts-stopword.result b/mysql-test/suite/innodb_fts/r/innodb-fts-stopword.result
new file mode 100644
index 00000000000..ea0ec381faa
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb-fts-stopword.result
@@ -0,0 +1,754 @@
+select * from information_schema.innodb_ft_default_stopword;
+value
+a
+about
+an
+are
+as
+at
+be
+by
+com
+de
+en
+for
+from
+how
+i
+in
+is
+it
+la
+of
+on
+or
+that
+the
+this
+to
+was
+what
+when
+where
+who
+will
+with
+und
+the
+www
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('the' IN NATURAL LANGUAGE MODE);
+id title body
+select @@innodb_ft_server_stopword_table;
+@@innodb_ft_server_stopword_table
+NULL
+select @@innodb_ft_enable_stopword;
+@@innodb_ft_enable_stopword
+1
+select @@innodb_ft_user_stopword_table;
+@@innodb_ft_user_stopword_table
+NULL
+set global innodb_ft_server_stopword_table = "not_defined";
+ERROR 42000: Variable 'innodb_ft_server_stopword_table' can't be set to the value of 'not_defined'
+create table user_stopword(value varchar(30)) engine = innodb;
+set global innodb_ft_server_stopword_table = "test/user_stopword";
+drop index title on articles;
+create fulltext index idx on articles(title, body);
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('the' IN NATURAL LANGUAGE MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+CREATE TABLE articles_2 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles_2 (title, body)
+VALUES ('test for stopwords','this is it...');
+SELECT * FROM articles_2 WHERE MATCH (title,body)
+AGAINST ('this' IN NATURAL LANGUAGE MODE);
+id title body
+1 test for stopwords this is it...
+insert into user_stopword values("this");
+CREATE TABLE articles_3 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles_3 (title, body)
+VALUES ('test for stopwords','this is it...');
+SELECT * FROM articles_3 WHERE MATCH (title,body)
+AGAINST ('this' IN NATURAL LANGUAGE MODE);
+id title body
+create table user_stopword_session(value varchar(30)) engine = innodb;
+insert into user_stopword_session values("session");
+set session innodb_ft_user_stopword_table="test/user_stopword_session";
+CREATE TABLE articles_4 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles_4 (title, body)
+VALUES ('test for session stopwords','this should also be excluded...');
+SELECT * FROM articles_4 WHERE MATCH (title,body)
+AGAINST ('session' IN NATURAL LANGUAGE MODE);
+id title body
+SELECT * FROM articles_4 WHERE MATCH (title,body)
+AGAINST ('this' IN NATURAL LANGUAGE MODE);
+id title body
+1 test for session stopwords this should also be excluded...
+CREATE TABLE articles_5 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles_5 (title, body)
+VALUES ('test for session stopwords','this should also be excluded...');
+SELECT * FROM articles_5 WHERE MATCH (title,body)
+AGAINST ('session' IN NATURAL LANGUAGE MODE);
+id title body
+1 test for session stopwords this should also be excluded...
+drop table articles;
+drop table articles_2;
+drop table articles_3;
+drop table articles_4;
+drop table articles_5;
+drop table user_stopword;
+drop table user_stopword_session;
+SET GLOBAL innodb_ft_enable_stopword=1;
+SET GLOBAL innodb_ft_server_stopword_table=default;
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT `idx` (title,body)
+) ENGINE=InnoDB;
+SHOW CREATE TABLE articles;
+Table Create Table
+articles CREATE TABLE `articles` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `title` varchar(200) DEFAULT NULL,
+ `body` text,
+ PRIMARY KEY (`id`),
+ FULLTEXT KEY `idx` (`title`,`body`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO articles (title,body) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','In what tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+id title body
+INSERT INTO articles(title,body) values ('the record will' , 'not index the , will words');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+id title body
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE id = 7;
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+DELETE FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE id = 7;
+id title body
+7 update the record to see will is indexed or not
+DELETE FROM articles WHERE id = 7;
+SET SESSION innodb_ft_enable_stopword = 0;
+select @@innodb_ft_enable_stopword;
+@@innodb_ft_enable_stopword
+0
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+id title body
+INSERT INTO articles(title,body) values ('the record will' , 'not index the , will words');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+id title body
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE id = 8;
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+SELECT * FROM articles WHERE id = 8;
+id title body
+8 update the record to see will is indexed or not
+DELETE FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE id = 8;
+id title body
+8 update the record to see will is indexed or not
+DELETE FROM articles WHERE id = 8;
+ALTER TABLE articles DROP INDEX idx;
+SHOW CREATE TABLE articles;
+Table Create Table
+articles CREATE TABLE `articles` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `title` varchar(200) DEFAULT NULL,
+ `body` text,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+ANALYZE TABLE articles;
+Table Op Msg_type Msg_text
+test.articles analyze status OK
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+id title body
+2 when To Use MySQL Well After that you went through a ...
+6 MySQL Security When configured properly, MySQL ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+1 MySQL from Tutorial DBMS stands for DataBase ...
+6 MySQL Security When configured properly, MySQL ...
+2 when To Use MySQL Well After that you went through a ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+id title body
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL In what tutorial we will show ...
+6 MySQL Security When configured properly, MySQL ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+id title body
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+INSERT INTO articles(title,body) values ('the record will' , 'not index the , will words');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+id title body
+9 the record will not index the , will words
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+id title body
+9 the record will not index the , will words
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT COUNT(*),max(id) FROM articles;
+COUNT(*) max(id)
+7 9
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+id title body
+9 update the record to see will is indexed or not
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+9 update the record to see will is indexed or not
+DELETE FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE id = 9;
+id title body
+DROP TABLE articles;
+SET SESSION innodb_ft_enable_stopword=1;
+SET GLOBAL innodb_ft_server_stopword_table=default;
+SET SESSION innodb_ft_user_stopword_table=default;
+select @@innodb_ft_server_stopword_table;
+@@innodb_ft_server_stopword_table
+NULL
+select @@innodb_ft_enable_stopword;
+@@innodb_ft_enable_stopword
+1
+select @@innodb_ft_user_stopword_table;
+@@innodb_ft_user_stopword_table
+NULL
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT `idx` (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles (title,body) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','In what tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+create table user_stopword(value varchar(30)) engine = innodb;
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+create table server_stopword(value varchar(30)) engine = innodb;
+set global innodb_ft_server_stopword_table = "test/server_stopword";
+insert into user_stopword values("this"),("will"),("the");
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+insert into server_stopword values("what"),("where");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+DELETE FROM user_stopword;
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+insert into user_stopword values("this"),("will"),("the");
+ALTER TABLE articles DROP INDEX idx;
+SET SESSION innodb_ft_enable_stopword = 0;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SET SESSION innodb_ft_enable_stopword = 1;
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+SET SESSION innodb_ft_enable_stopword = 1;
+SET SESSION innodb_ft_user_stopword_table = default;
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+DROP TABLE articles,user_stopword,server_stopword;
+SET SESSION innodb_ft_enable_stopword=1;
+SET GLOBAL innodb_ft_server_stopword_table=default;
+SET SESSION innodb_ft_user_stopword_table=default;
+select @@innodb_ft_server_stopword_table;
+@@innodb_ft_server_stopword_table
+NULL
+select @@innodb_ft_enable_stopword;
+@@innodb_ft_enable_stopword
+1
+select @@innodb_ft_user_stopword_table;
+@@innodb_ft_user_stopword_table
+NULL
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT `idx` (title,body)
+) ENGINE=InnoDB;
+SHOW CREATE TABLE articles;
+Table Create Table
+articles CREATE TABLE `articles` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `title` varchar(200) DEFAULT NULL,
+ `body` text,
+ PRIMARY KEY (`id`),
+ FULLTEXT KEY `idx` (`title`,`body`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO articles (title,body) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','In what tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+create table user_stopword(value varchar(30)) engine = innodb;
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+insert into user_stopword values("mysqld"),("DBMS");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+DBMS +mysql" IN BOOLEAN MODE);
+id title body
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysqld');
+id title body
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+DBMS +mysql" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysqld');
+id title body
+set session innodb_ft_user_stopword_table = default;
+create table server_stopword(value varchar(30)) engine = innodb;
+set global innodb_ft_server_stopword_table = "test/server_stopword";
+insert into server_stopword values("root"),("properly");
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+root +mysql" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('properly');
+id title body
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+set global innodb_ft_server_stopword_table = "test/server_stopword";
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+root +mysql" IN BOOLEAN MODE);
+id title body
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('properly');
+id title body
+6 MySQL Security When configured properly, MySQL ...
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+DELETE FROM user_stopword;
+set global innodb_ft_server_stopword_table = "test/server_stopword";
+DELETE FROM server_stopword;
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+root +mysql" IN BOOLEAN MODE);
+id title body
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('properly');
+id title body
+6 MySQL Security When configured properly, MySQL ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+DBMS +mysql" IN BOOLEAN MODE);
+id title body
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysqld');
+id title body
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+DROP TABLE articles,user_stopword,server_stopword;
+SET SESSION innodb_ft_enable_stopword=1;
+SET GLOBAL innodb_ft_server_stopword_table=default;
+SET SESSION innodb_ft_user_stopword_table=default;
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT `idx` (title,body)
+) ENGINE=InnoDB;
+SHOW CREATE TABLE articles;
+Table Create Table
+articles CREATE TABLE `articles` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `title` varchar(200) DEFAULT NULL,
+ `body` text,
+ PRIMARY KEY (`id`),
+ FULLTEXT KEY `idx` (`title`,`body`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO articles (title,body) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','In what tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+SET SESSION innodb_ft_enable_stopword = 0;
+select @@innodb_ft_enable_stopword;
+@@innodb_ft_enable_stopword
+0
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+"In connection 1"
+select @@innodb_ft_enable_stopword;
+@@innodb_ft_enable_stopword
+1
+ANALYZE TABLE articles;
+Table Op Msg_type Msg_text
+test.articles analyze status OK
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+id title body
+2 when To Use MySQL Well After that you went through a ...
+6 MySQL Security When configured properly, MySQL ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+1 MySQL from Tutorial DBMS stands for DataBase ...
+6 MySQL Security When configured properly, MySQL ...
+2 when To Use MySQL Well After that you went through a ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+id title body
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL In what tutorial we will show ...
+6 MySQL Security When configured properly, MySQL ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+id title body
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SET SESSION innodb_ft_enable_stopword = 1;
+select @@innodb_ft_enable_stopword;
+@@innodb_ft_enable_stopword
+1
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+id title body
+"In connection default"
+select @@innodb_ft_enable_stopword;
+@@innodb_ft_enable_stopword
+0
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+id title body
+INSERT INTO articles(title,body) values ('the record will' , 'not index the , will words');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+id title body
+SET SESSION innodb_ft_enable_stopword = 1;
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+id title body
+"In connection 1"
+SET SESSION innodb_ft_enable_stopword = 1;
+create table user_stopword(value varchar(30)) engine = innodb;
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+insert into user_stopword values("this"),("will"),("the");
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+"In connection default"
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+id title body
+select @@innodb_ft_user_stopword_table;
+@@innodb_ft_user_stopword_table
+NULL
+create table user_stopword_1(value varchar(30)) engine = innodb;
+set session innodb_ft_user_stopword_table = "test/user_stopword_1";
+insert into user_stopword_1 values("when");
+SET SESSION innodb_ft_enable_stopword = 1;
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+when" IN BOOLEAN MODE);
+id title body
+2 when To Use MySQL Well After that you went through a ...
+6 MySQL Security When configured properly, MySQL ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('when');
+id title body
+2 when To Use MySQL Well After that you went through a ...
+6 MySQL Security When configured properly, MySQL ...
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+when" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('when');
+id title body
+"In connection 1"
+SET SESSION innodb_ft_enable_stopword = 1;
+SET SESSION innodb_ft_user_stopword_table=default;
+select @@innodb_ft_user_stopword_table;
+@@innodb_ft_user_stopword_table
+NULL
+select @@innodb_ft_server_stopword_table;
+@@innodb_ft_server_stopword_table
+NULL
+create table server_stopword(value varchar(30)) engine = innodb;
+SET GLOBAL innodb_ft_server_stopword_table = "test/server_stopword";
+select @@innodb_ft_server_stopword_table;
+@@innodb_ft_server_stopword_table
+test/server_stopword
+insert into server_stopword values("when"),("the");
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+when" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('the');
+id title body
+"In connection default"
+SET SESSION innodb_ft_enable_stopword = 1;
+SET SESSION innodb_ft_user_stopword_table=default;
+select @@innodb_ft_server_stopword_table;
+@@innodb_ft_server_stopword_table
+test/server_stopword
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+will +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('where');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+insert into server_stopword values("where"),("will");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+will +where" IN BOOLEAN MODE);
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('where');
+id title body
+3 where will Optimizing MySQL In what tutorial we will show ...
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+when" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('the');
+id title body
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+will +where" IN BOOLEAN MODE);
+id title body
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('where');
+id title body
+DROP TABLE articles,user_stopword,user_stopword_1,server_stopword;
+SET SESSION innodb_ft_enable_stopword=1;
+SET GLOBAL innodb_ft_server_stopword_table=default;
+SET SESSION innodb_ft_user_stopword_table=default;
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_large_records.result b/mysql-test/suite/innodb_fts/r/innodb_fts_large_records.result
new file mode 100644
index 00000000000..294bfcb0b07
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_large_records.result
@@ -0,0 +1,305 @@
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (
+FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a TEXT,
+b TEXT
+) ENGINE = InnoDB;
+CREATE UNIQUE INDEX FTS_DOC_ID_INDEX on t1(FTS_DOC_ID);
+"Loading data using LOAD DATA Command , File <MYSQLTEST_VARDIR>/tmp/fts_input_data1.txt"
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+49
+SELECT FTS_DOC_ID FROM t1 WHERE MATCH (a,b)
+AGAINST ('row35col2word49' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID
+35
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row35col2word49 +(row35col1word49 row35col2word40)" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row35col2word49 -(row45col2word49)" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("row5col2word49 row5col2word40" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ("+row5col2word* +row5col1word49*" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ('"row35col2word49"' IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ('"ROW35col2WORD49"' IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST ("row5col2word49" WITH QUERY EXPANSION);
+COUNT(*)
+1
+SELECT FTS_DOC_ID FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"row5col2word48 row5col2word49"@2' IN BOOLEAN MODE);
+FTS_DOC_ID
+5
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"row5col2word48 row5col2word49"@1' IN BOOLEAN MODE);
+FTS_DOC_ID a b
+UPDATE t1 SET a = "using update" , b = "changing fulltext index record", FTS_DOC_ID = FTS_DOC_ID + 10000
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+a b
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("changing fulltext" IN BOOLEAN MODE);
+a b
+using update changing fulltext index record
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+a b
+using update changing fulltext index record
+DELETE FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+a b
+DROP TABLE t1;
+CREATE TABLE t1 (
+FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a TEXT,
+b TEXT
+) ENGINE = InnoDB;
+CREATE UNIQUE INDEX FTS_DOC_ID_INDEX on t1(FTS_DOC_ID);
+"Loading data using LOAD DATA Command , File <MYSQLTEST_VARDIR>/tmp/fts_input_data2.txt"
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+100
+SELECT FTS_DOC_ID from t1 WHERE b like '%row300col2word30%';
+FTS_DOC_ID
+SELECT FTS_DOC_ID FROM t1 WHERE MATCH (a,b)
+AGAINST ('row35col2word49' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID
+35
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row35col2word49 +(row35col1word49 row35col2word40)" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row35col2word49 -(row45col2word49)" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("row5col2word49 row5col2word40" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ("+row5col2word* +row5col1word49*" IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ('"row35col2word49"' IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ('"ROW35col2WORD49"' IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST ("row5col2word49" WITH QUERY EXPANSION);
+COUNT(*)
+1
+SELECT FTS_DOC_ID FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"row5col2word48 row5col2word49"@2' IN BOOLEAN MODE);
+FTS_DOC_ID
+5
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"row5col2word48 row5col2word49"@1' IN BOOLEAN MODE);
+FTS_DOC_ID a b
+UPDATE t1 SET a = "using update" , b = "changing fulltext index record", FTS_DOC_ID = FTS_DOC_ID + 10000
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+SELECT a,b FROM t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+a b
+SELECT a,b FROM t1
+WHERE MATCH(a,b) AGAINST("changing fulltext" IN BOOLEAN MODE);
+a b
+using update changing fulltext index record
+SELECT a,b FROM t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+a b
+using update changing fulltext index record
+DELETE FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+a b
+ALTER TABLE t1 DROP INDEX idx;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+UPDATE t1 SET a = NULL , b = NULL, FTS_DOC_ID= 6000 + FTS_DOC_ID;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+COUNT(*)
+99
+ALTER TABLE t1 DROP INDEX idx;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+COUNT(*)
+99
+DROP TABLE t1;
+CREATE TABLE t1 (
+FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a TEXT,
+b TEXT
+) ENGINE = InnoDB;
+CREATE UNIQUE INDEX FTS_DOC_ID_INDEX on t1(FTS_DOC_ID);
+"Loading data using LOAD DATA Command , File <MYSQLTEST_VARDIR>/tmp/fts_input_data3.txt"
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+100
+SELECT COUNT(*) from t1 WHERE b like '%samerowword%';
+COUNT(*)
+100
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b)
+AGAINST ('samerowword' IN NATURAL LANGUAGE MODE);
+COUNT(*)
+100
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword +samerowword" IN BOOLEAN MODE);
+COUNT(*)
+100
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword" IN BOOLEAN MODE);
+COUNT(*)
+100
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword -(row45col2word49)" IN BOOLEAN MODE);
+COUNT(*)
+100
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ("+sameroww" IN BOOLEAN MODE);
+COUNT(*)
+0
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST ("samerowword" WITH QUERY EXPANSION);
+COUNT(*)
+100
+UPDATE t1 SET a = "using update" , b = "changing fulltext index record",
+FTS_DOC_ID = FTS_DOC_ID + 10000
+WHERE MATCH(a,b) AGAINST("+samerowword +samerowword" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword +samerowword" IN BOOLEAN MODE);
+COUNT(*)
+0
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword" IN BOOLEAN MODE);
+COUNT(*)
+0
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("changing fulltext" IN BOOLEAN MODE);
+COUNT(*)
+100
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+COUNT(*)
+100
+DELETE FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+COUNT(*)
+0
+ALTER TABLE t1 DROP INDEX idx;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+UPDATE t1 SET a = NULL , b = NULL ;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+COUNT(*)
+0
+ALTER TABLE t1 DROP INDEX idx;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+COUNT(*)
+0
+DROP TABLE t1;
+CREATE TABLE t1 (
+FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a TEXT,
+b TEXT
+) ENGINE = InnoDB;
+CREATE UNIQUE INDEX FTS_DOC_ID_INDEX on t1(FTS_DOC_ID);
+"Loading data using LOAD DATA Command , File <MYSQLTEST_VARDIR>/tmp/fts_input_data4.txt"
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+100
+SELECT COUNT(*) from t1 WHERE a like '%samerowword%';
+COUNT(*)
+100
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b)
+AGAINST ('samerowword' IN NATURAL LANGUAGE MODE);
+COUNT(*)
+100
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST("+samerowword +1050" IN BOOLEAN MODE);
+COUNT(*)
+100
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST("+samerowword" IN BOOLEAN MODE);
+COUNT(*)
+100
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST("+samerowword -(1050)" IN BOOLEAN MODE);
+COUNT(*)
+0
+SELECT COUNT(*) from t1 WHERE MATCH a,b AGAINST ("+2001" IN BOOLEAN MODE);
+COUNT(*)
+0
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST ("samerowword" WITH QUERY EXPANSION);
+COUNT(*)
+100
+UPDATE t1 SET a = "using update" , b = "changing fulltext index record",
+FTS_DOC_ID = FTS_DOC_ID + 10000
+WHERE MATCH(a,b) AGAINST("+samerowword +1050" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword +1050" IN BOOLEAN MODE);
+COUNT(*)
+0
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword" IN BOOLEAN MODE);
+COUNT(*)
+0
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("changing fulltext" IN BOOLEAN MODE);
+COUNT(*)
+100
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+COUNT(*)
+100
+DELETE FROM t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+COUNT(*)
+0
+ALTER TABLE t1 DROP INDEX idx;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+UPDATE t1 SET a = NULL , b = NULL ;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+COUNT(*)
+0
+ALTER TABLE t1 DROP INDEX idx;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+COUNT(*)
+0
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_misc.result b/mysql-test/suite/innodb_fts/r/innodb_fts_misc.result
new file mode 100644
index 00000000000..628fe8519ed
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_misc.result
@@ -0,0 +1,1428 @@
+drop table if exists t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `a` varchar(200) DEFAULT NULL,
+ `b` text,
+ PRIMARY KEY (`id`),
+ FULLTEXT KEY `idx` (`a`,`b`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
+INSERT INTO t1 (a,b) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id
+1
+3
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+id
+select id, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+id x
+1 0
+2 0
+3 0
+4 0
+5 0
+6 0
+select id, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+id x
+1 0
+2 0
+3 0
+4 0
+5 0
+6 0
+select id from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE);
+id
+select id from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST ("collections" WITH QUERY EXPANSION);
+id
+select id from t1 where MATCH(a,b) AGAINST ("indexes" WITH QUERY EXPANSION);
+id
+select id from t1 where MATCH(a,b) AGAINST ("indexes collections" WITH QUERY EXPANSION);
+id
+ALTER TABLE t1 DROP INDEX idx;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id
+1
+3
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+id
+select id, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+id x
+1 0
+2 0
+3 0
+4 0
+5 0
+6 0
+select id, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+id x
+1 0
+2 0
+3 0
+4 0
+5 0
+6 0
+select id from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE);
+id
+select id from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST ("collections" WITH QUERY EXPANSION);
+id
+select id from t1 where MATCH(a,b) AGAINST ("indexes" WITH QUERY EXPANSION);
+id
+select id from t1 where MATCH(a,b) AGAINST ("indexes collections" WITH QUERY EXPANSION);
+id
+INSERT INTO t1 (a,b) VALUES ('test query expansion','for database ...');
+INSERT INTO t1 (a,b) VALUES
+('test proximity search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO t1 (a,b) VALUES
+('test proximity fts search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO t1 (a,b) VALUES
+('test more proximity fts search, test, more proximity and phrase',
+'search, with proximity innodb');
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"proximity search"@2' IN BOOLEAN MODE);
+id
+8
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"proximity search"@1' IN BOOLEAN MODE);
+id
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"proximity search"@3' IN BOOLEAN MODE);
+id
+8
+9
+10
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"test proximity"@3' IN BOOLEAN MODE);
+id
+8
+9
+10
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"more test proximity"@3' IN BOOLEAN MODE);
+id
+10
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"more test proximity"@2' IN BOOLEAN MODE);
+id
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"more fts proximity"@02' IN BOOLEAN MODE);
+id
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...');
+INSERT INTO t1 (a,b) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id
+1
+3
+SELECT id FROM t1 WHERE id = (SELECT MAX(id) FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE));
+id
+3
+SELECT id FROM t1 WHERE id = (SELECT MIN(id) FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE));
+id
+1
+SELECT id FROM t1 WHERE id = (SELECT MIN(id) FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) OR id = 3 ;
+id
+1
+3
+SELECT id FROM t1 WHERE CONCAT(t1.a,t1.b) IN (
+SELECT CONCAT(a,b) FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+) OR t1.id = 3 ;
+id
+1
+3
+SELECT id FROM t1 WHERE CONCAT(t1.a,t1.b) IN (
+SELECT CONCAT(a,b) FROM t1 AS t2
+WHERE MATCH (t2.a,t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t2.id != 3) ;
+id
+1
+SELECT id FROM t1 WHERE id IN (SELECT MIN(id) FROM t1 WHERE
+MATCH (a,b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) OR id = 3 ;
+id
+1
+3
+SELECT id FROM t1 WHERE id NOT IN (SELECT MIN(id) FROM t1
+WHERE MATCH (a,b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) ;
+id
+2
+3
+4
+5
+6
+SELECT id FROM t1 WHERE EXISTS (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t1.id = t2.id) ;
+id
+1
+3
+SELECT id FROM t1 WHERE NOT EXISTS (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t1.id = t2.id) ;
+id
+2
+4
+5
+6
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT ,
+FULLTEXT (a,b)
+) ENGINE = InnoDB;
+INSERT INTO t1(a,b) VALUES('MySQL has now support', 'for full-text search'),
+('Full-text indexes', 'are called collections'),
+('Only MyISAM tables','support collections'),
+('Function MATCH ... AGAINST()','is used to do a search'),
+('Full-text search in MySQL', 'implements vector space model');
+SELECT id FROM t1 WHERE t1.id = (SELECT MAX(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.a,t2.b) AGAINST("+support +collections" IN BOOLEAN MODE));
+id
+3
+SELECT id FROM t1 WHERE t1.id != (SELECT MIN(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.a,t2.b) AGAINST("+search" IN BOOLEAN MODE));
+id
+2
+3
+4
+5
+SELECT id FROM t1 WHERE t1.id IN (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ("+call* +coll*" IN BOOLEAN MODE));
+id
+2
+SELECT id FROM t1 WHERE EXISTS (SELECT id FROM t1 AS t2 WHERE
+MATCH t2.a,t2.b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE) AND t2.id=t1.id);
+id
+1
+INSERT INTO t1 (a,b) VALUES ('test query expansion','for database ...');
+INSERT INTO t1 (a,b) VALUES
+('test proximity search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO t1 (a,b) VALUES
+('test proximity fts search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO t1 (a,b) VALUES
+('test more proximity fts search, test, more proximity and phrase',
+'search, with proximity innodb');
+SELECT id FROM t1 WHERE t1.id = (SELECT MAX(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.a,t2.b) AGAINST ('"proximity search"@2' IN BOOLEAN MODE));
+id
+7
+SELECT id FROM t1 WHERE t1.id > (SELECT MIN(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.a,t2.b) AGAINST ('"proximity search"@2' IN BOOLEAN MODE));
+id
+8
+9
+SELECT id FROM t1 WHERE t1.id IN (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ('"proximity search"@2' IN BOOLEAN MODE));
+id
+7
+SELECT id FROM t1 WHERE EXISTS (SELECT id FROM t1 AS t2 WHERE
+MATCH t2.a,t2.b AGAINST ('"proximity search"@2' IN BOOLEAN MODE)
+AND t2.id=t1.id);
+id
+7
+SELECT id FROM t1 WHERE EXISTS (SELECT id FROM t1 AS t2 WHERE
+MATCH t2.a,t2.b AGAINST ('"more test proximity"@3' IN BOOLEAN MODE)
+AND t2.id=t1.id);
+id
+9
+SELECT id FROM t1 WHERE EXISTS (SELECT id FROM t1 AS t2 WHERE
+MATCH t2.a,t2.b AGAINST ('"more test proximity"@2' IN BOOLEAN MODE)
+AND t2.id=t1.id);
+id
+CREATE TABLE t2 ENGINE = InnoDB AS SELECT id FROM t1 WHERE
+MATCH a,b AGAINST ('support') ;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `id` int(10) unsigned NOT NULL DEFAULT '0'
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT id FROM t2;
+id
+1
+3
+DROP TABLE t2;
+CREATE TABLE t2 ENGINE = InnoDB AS SELECT id FROM t1 WHERE
+MATCH a,b AGAINST("+support +collections" IN BOOLEAN MODE);
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `id` int(10) unsigned NOT NULL DEFAULT '0'
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT id FROM t2;
+id
+3
+DROP TABLE t2;
+CREATE TABLE t2 ENGINE = InnoDB AS SELECT id FROM t1 WHERE
+MATCH a,b AGAINST ('"proximity search"@10' IN BOOLEAN MODE);
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `id` int(10) unsigned NOT NULL DEFAULT '0'
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT id FROM t2;
+id
+7
+8
+9
+DROP TABLE t2;
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...');
+INSERT INTO t1 (a,b) VALUES
+('when To Use MySQL Well','After that you went through a ...');
+INSERT INTO t1 (a,b) VALUES
+('where will Optimizing MySQL','what In this tutorial we will show ...');
+INSERT INTO t1 (a,b) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL null...');
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+106
+SELECT COUNT(*) FROM t1 WHERE a IS NULL;
+COUNT(*)
+100
+SELECT COUNT(*) FROM t1 WHERE b IS NOT NULL;
+COUNT(*)
+6
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id
+1
+103
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST (NULL IN NATURAL LANGUAGE MODE);
+id
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST (NULL WITH QUERY EXPANSION);
+id
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('null' IN NATURAL LANGUAGE MODE);
+id
+106
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
+id
+106
+1
+52
+103
+104
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE) AND (a IS NOT NULL OR b IS NOT NULL);
+id
+106
+1
+52
+103
+104
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE) AND (a IS NULL AND b IS NOT NULL);
+id
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('DBMS Security' IN BOOLEAN MODE);
+id
+1
+106
+SELECT COUNT(*) FROM t1
+WHERE MATCH (a,b)
+AGAINST ('database' WITH QUERY EXPANSION);
+COUNT(*)
+6
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"following database"@10' IN BOOLEAN MODE);
+id
+105
+DROP TABLE t1;
+drop table if exists t50;
+set names utf8;
+"----------Test1---------"
+create table t50 (s1 varchar(60) character set utf8 collate utf8_bin) engine = innodb;
+create fulltext index i on t50 (s1);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+insert into t50 values ('ABCDE'),('FGHIJ'),('KLMNO'),('VÃÆ·WÄ°');
+select * from t50 where match(s1) against ('VÃÆ·WÄ°');
+s1
+VÃÆ·WÄ°
+drop table t50;
+"----------Test2---------"
+create table t50 (s1 int unsigned primary key auto_increment, s2
+varchar(60) character set utf8) engine = innodb;
+create fulltext index i on t50 (s2);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+insert into t50 (s2) values ('FGHIJ'),('KLMNO'),('VÃÆ·WÄ°'),('ABCDE');
+select * from t50 order by s2;
+s1 s2
+4 ABCDE
+1 FGHIJ
+2 KLMNO
+3 VÃÆ·WÄ°
+drop table t50;
+"----------Test3---------"
+create table t50 (id int unsigned primary key auto_increment, s2
+varchar(60) character set utf8) engine = innodb;
+create fulltext index i on t50 (s2);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+insert into t50 (s2) values ('FGHIJ'),('KLMNO'),('VÃÆ·WÄ°'),('ABCDE');
+set @@autocommit=0;
+update t50 set s2 = lower(s2);
+update t50 set s2 = upper(s2);
+commit;
+select * from t50 where match(s2) against ('VÃÆ·WÄ° FGHIJ KLMNO ABCDE' in boolean mode);
+id s2
+1 FGHIJ
+2 KLMNO
+3 VÃÆ·WI
+4 ABCDE
+select * from t50;
+id s2
+1 FGHIJ
+2 KLMNO
+3 VÃÆ·WI
+4 ABCDE
+drop table t50;
+set @@autocommit=1;
+"----------Test4---------"
+create table t50 (id int unsigned primary key auto_increment, s2
+varchar(60) character set utf8) engine = innodb;
+create fulltext index i on t50 (s2);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+insert into t50 (s2) values ('FGHIJ'),('KLMNO'),('VÃÆ·WÄ°'),('ABCD*');
+select * from t50 where match(s2) against ('abcd*' in natural language
+mode);
+id s2
+4 ABCD*
+select * from t50 where match(s2) against ('abcd*' in boolean mode);
+id s2
+4 ABCD*
+drop table t50;
+"----------Test5---------"
+create table t50 (s1 int, s2 varchar(200), fulltext key(s2)) engine = innodb;
+set @@autocommit=0;
+insert into t50 values (1,'Sunshine'),(2,'Lollipops');
+select * from t50 where match(s2) against('Rainbows');
+s1 s2
+rollback;
+select * from t50;
+s1 s2
+drop table t50;
+set @@autocommit=1;
+"----------Test6---------"
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+INSERT INTO t1 (a,b) VALUES
+('aab` MySQL Tutorial','DBMS stands for DataBase ...') ,
+('aas How To Use MySQL Well','After you went through a ...'),
+('aac Optimizing MySQL','In this tutorial we will show ...');
+INSERT INTO t1 (a,b) VALUES
+('aac 1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('aab MySQL vs. YourSQL','In the following database comparison ...'),
+('aaa MySQL Security','When configured properly, MySQL ...');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT * FROM t1 ORDER BY MATCH(a,b) AGAINST ('aac') DESC;
+id a b
+3 aac Optimizing MySQL In this tutorial we will show ...
+4 aac 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+1 aab` MySQL Tutorial DBMS stands for DataBase ...
+2 aas How To Use MySQL Well After you went through a ...
+5 aab MySQL vs. YourSQL In the following database comparison ...
+6 aaa MySQL Security When configured properly, MySQL ...
+SELECT * FROM t1 ORDER BY MATCH(a,b) AGAINST ('aab') DESC;
+id a b
+1 aab` MySQL Tutorial DBMS stands for DataBase ...
+5 aab MySQL vs. YourSQL In the following database comparison ...
+2 aas How To Use MySQL Well After you went through a ...
+3 aac Optimizing MySQL In this tutorial we will show ...
+4 aac 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+6 aaa MySQL Security When configured properly, MySQL ...
+"----------Test7---------"
+select * from t1 where match(a,b) against ('aaa')
+union select * from t1 where match(a,b) against ('aab')
+union select * from t1 where match(a,b) against ('aac');
+id a b
+6 aaa MySQL Security When configured properly, MySQL ...
+1 aab` MySQL Tutorial DBMS stands for DataBase ...
+5 aab MySQL vs. YourSQL In the following database comparison ...
+3 aac Optimizing MySQL In this tutorial we will show ...
+4 aac 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+select * from t1 where match(a,b) against ('aaa')
+or match(a,b) against ('aab')
+or match(a,b) against ('aac');
+id a b
+1 aab` MySQL Tutorial DBMS stands for DataBase ...
+3 aac Optimizing MySQL In this tutorial we will show ...
+4 aac 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 aab MySQL vs. YourSQL In the following database comparison ...
+6 aaa MySQL Security When configured properly, MySQL ...
+DROP TABLE t1;
+"----------Test8---------"
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ... abcd') ,
+('How To Use MySQL Well','After you went through a q ...abdd'),
+('Optimizing MySQL','In this tutorial we will show ...abed');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `a` varchar(200) DEFAULT NULL,
+ `b` text,
+ PRIMARY KEY (`id`),
+ FULLTEXT KEY `idx` (`a`,`b`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
+INSERT INTO t1 (a,b) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. q ...'),
+('MySQL vs. YourSQL use','In the following database comparison ...'),
+('MySQL Security','When run configured properly, MySQL ...');
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('run');
+id a b
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. q ...
+6 MySQL Security When run configured properly, MySQL ...
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('use');
+id a b
+2 How To Use MySQL Well After you went through a q ...abdd
+5 MySQL vs. YourSQL use In the following database comparison ...
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('went');
+id a b
+2 How To Use MySQL Well After you went through a q ...abdd
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('run') AND NOT MATCH(a,b) AGAINST ('q');
+id a b
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. q ...
+6 MySQL Security When run configured properly, MySQL ...
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('use') AND NOT MATCH(a,b) AGAINST ('q');
+id a b
+2 How To Use MySQL Well After you went through a q ...abdd
+5 MySQL vs. YourSQL use In the following database comparison ...
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('went') AND NOT MATCH(a,b) AGAINST ('q');
+id a b
+2 How To Use MySQL Well After you went through a q ...abdd
+"----------Test9---------"
+CREATE TABLE t2 AS SELECT * FROM t1;
+ALTER TABLE t2 ENGINE=MYISAM;
+CREATE FULLTEXT INDEX i ON t2 (a,b);
+SET @x = (SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('run'));
+SET @x = @x + (SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('use'));
+SET @x = @x + (SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('went'));
+SET @x = @x + (SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('run'));
+SET @x2 = (SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('run'));
+SET @x2 = @x2 + (SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('use'));
+SET @x2 = @x2 + (SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('went'));
+SET @x2 = @x2 + (SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('run'));
+SELECT @x, @x2;
+@x @x2
+7 0
+DROP TABLE t2;
+"----------Test10---------"
+CREATE TABLE t2 AS SELECT * FROM t1;
+ALTER TABLE t2 ENGINE=MYISAM;
+CREATE FULLTEXT INDEX i ON t2 (a,b);
+SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('abc*' IN BOOLEAN MODE);
+COUNT(*)
+1
+SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('abc*' IN BOOLEAN MODE);
+COUNT(*)
+1
+DROP TABLE t2;
+"----------Test11---------"
+CREATE TABLE t2 AS SELECT * FROM t1;
+ALTER TABLE t2 ENGINE = MYISAM;
+CREATE FULLTEXT INDEX i ON t2 (a,b);
+ALTER TABLE t2 ENGINE=InnoDB;
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('run');
+id a b
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. q ...
+6 MySQL Security When run configured properly, MySQL ...
+SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('abc*' IN BOOLEAN MODE);
+COUNT(*)
+1
+DROP TABLE t2,t1;
+"----------Test13---------"
+set names utf8;
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200) CHARACTER SET UTF8 COLLATE UTF8_SPANISH_CI) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX i ON t1 (s2);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 VALUES (1,'aaCen'),(2,'aaCha'),(3,'aaCio'),(4,'aaçen'),(5,'aaçha'),(6,'aaçio');
+SELECT * FROM t1 WHERE MATCH(s2) AGAINST ('aach*' IN BOOLEAN MODE);
+s1 s2
+2 aaCha
+5 aaçha
+SELECT * FROM t1 WHERE MATCH(s2) AGAINST ('aaC*' IN BOOLEAN MODE);
+s1 s2
+1 aaCen
+2 aaCha
+3 aaCio
+4 aaçen
+5 aaçha
+6 aaçio
+DROP TABLE t1;
+"----------Test14---------"
+CREATE TABLE t1(s1 INT , s2 VARCHAR(100) CHARACTER SET sjis) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX i ON t1 (s2);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 VALUES (1,'ペペペ'),(2,'テテテ'),(3,'ルルル'),(4,'グググ');
+DROP TABLE t1;
+"----------Test15---------"
+CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_520_CI) ENGINE = MyISAM;
+CREATE FULLTEXT INDEX i ON t1 (s1);
+INSERT INTO t1 VALUES
+('a'),('b'),('c'),('d'),('ÅÅÅÅ'),('LLLL'),(NULL),('ÅÅÅÅ ÅÅÅÅ'),('LLLLLLLL');
+SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
+s1
+ÅÅÅÅ
+LLLL
+ÅÅÅÅ ÅÅÅÅ
+DROP TABLE if EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+CREATE TABLE t2 (s1 VARCHAR(60) CHARACTER SET UTF8 COLLATE UTF8_POLISH_CI) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX i ON t2 ( s1);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t2 VALUES
+('a'),('b'),('c'),('d'),('ÅÅÅÅ'),('LLLL'),(NULL),('ÅÅÅÅ ÅÅÅÅ'),('LLLLLLLL');
+SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
+s1
+LLLL
+DROP TABLE t1,t2;
+"----------Test16---------"
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(50) CHARACTER SET UTF8) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX i ON t1(s2);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 VALUES (2, 'ğė Daśi p ');
+SELECT * FROM t1 WHERE MATCH(s2) AGAINST ('+p +"ğė Daśi*"' IN BOOLEAN MODE);
+s1 s2
+DROP TABLE t1;
+"----------Test19---------"
+CREATE TABLE t1 ( id INT , char_column VARCHAR(60) CHARACTER SET UTF8) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,'İóëɠ');
+CREATE FULLTEXT INDEX i ON t1 (char_column);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT * FROM t1 WHERE MATCH(char_column) AGAINST ('"İóëɠ"' IN BOOLEAN MODE);
+id char_column
+1 İóëɠ
+DROP TABLE t1;
+"----------Test20---------"
+CREATE TABLE t1 ( id INT , char_column VARCHAR(60) CHARACTER SET UTF32, char_column2 VARCHAR(60) character set utf8) ENGINE = InnoDB;
+INSERT INTO t1 (char_column) VALUES ('abcde'),('fghij'),('klmno'),('qrstu');
+UPDATE t1 SET char_column2 = char_column;
+CREATE FULLTEXT INDEX i ON t1 (char_column2);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT * FROM t1 WHERE MATCH(char_column) AGAINST ('abc*' IN BOOLEAN MODE);
+ERROR HY000: Can't find FULLTEXT index matching the column list
+DROP TABLE t1;
+"----------Test22---------"
+CREATE TABLE t1 ( id INT , char_column VARCHAR(60) CHARACTER SET UTF8) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,'aaa'),(2,'bbb'),(3,'ccc');
+CREATE FULLTEXT INDEX i ON t1 (char_column);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+HANDLER t1 OPEN;
+HANDLER t1 READ i = ('aaa');
+id char_column
+DROP TABLE t1;
+"----------Test25---------"
+CREATE TABLE t1 ( id INT , char_column VARCHAR(60) CHARACTER SET UTF8 COLLATE UTF8_CROATIAN_CI) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,'LJin'),(2,'ljin'),(3,'lmin'),(4,'LJLJLJLJLJ');
+CREATE FULLTEXT INDEX i ON t1 (char_column);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT count(*) FROM t1 WHERE MATCH (char_column) AGAINST ('lj*' IN BOOLEAN MODE);
+count(*)
+3
+DROP TABLE t1;
+"----------Test27---------"
+CREATE TABLE t1 (id INT,char_column VARCHAR(60));
+SET @@autocommit=0;
+CREATE FULLTEXT INDEX i ON t1 (char_column);
+INSERT INTO t1 values (1,'aaa');
+"restart server..."
+# Restart the server
+--source include/restart_mysqld.inc
+DELETE FROM t1 WHERE MATCH(char_column) AGAINST ('bbb')
+SET @@autocommit=1;
+DROP TABLE t1;
+"----------Test28---------"
+drop table if exists `fts_test`;
+Warnings:
+Note 1051 Unknown table 'test.fts_test'
+create table `fts_test`(`a` text,fulltext key(`a`))engine=innodb;
+set session autocommit=0;
+insert into `fts_test` values ('');
+savepoint `b`;
+savepoint `b`;
+set session autocommit=1;
+DROP TABLE fts_test;
+"----------Test29---------"
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...');
+start transaction;
+INSERT INTO articles (title,body) VALUES
+('How To Use MySQL Well','After you went through a ...');
+savepoint `a1`;
+INSERT INTO articles (title,body) VALUES
+('Optimizing MySQL','In this tutorial we will show ...');
+savepoint `a2`;
+INSERT INTO articles (title,body) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...');
+savepoint `a3`;
+INSERT INTO articles (title,body) VALUES
+('MySQL vs. YourSQL','In the following database comparison ...');
+savepoint `a4`;
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+rollback to savepoint a3;
+select title, body from articles;
+title body
+MySQL Tutorial DBMS stands for DataBase ...
+How To Use MySQL Well After you went through a ...
+Optimizing MySQL In this tutorial we will show ...
+1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+INSERT INTO articles (title,body) VALUES
+('MySQL Security','When configured properly, MySQL ...');
+savepoint `a5`;
+select title, body from articles;
+title body
+MySQL Tutorial DBMS stands for DataBase ...
+How To Use MySQL Well After you went through a ...
+Optimizing MySQL In this tutorial we will show ...
+1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+MySQL Security When configured properly, MySQL ...
+rollback to savepoint a2;
+select title, body from articles;
+title body
+MySQL Tutorial DBMS stands for DataBase ...
+How To Use MySQL Well After you went through a ...
+Optimizing MySQL In this tutorial we will show ...
+commit;
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+DROP TABLE articles;
+"----------Test30---------"
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...');
+start transaction;
+INSERT INTO articles (title,body) VALUES
+('How To Use MySQL Well','After you went through a ...');
+savepoint `a1`;
+INSERT INTO articles (title,body) VALUES
+('Optimizing MySQL','In this tutorial we will show ...');
+savepoint `a2`;
+INSERT INTO articles (title,body) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...');
+savepoint `a3`;
+INSERT INTO articles (title,body) VALUES
+('MySQL vs. YourSQL','In the following database comparison ...');
+savepoint `a4`;
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+rollback to savepoint a3;
+select title, body from articles;
+title body
+MySQL Tutorial DBMS stands for DataBase ...
+How To Use MySQL Well After you went through a ...
+Optimizing MySQL In this tutorial we will show ...
+1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+INSERT INTO articles (title,body) VALUES
+('MySQL Security','When configured properly, MySQL ...');
+savepoint `a5`;
+select title, body from articles;
+title body
+MySQL Tutorial DBMS stands for DataBase ...
+How To Use MySQL Well After you went through a ...
+Optimizing MySQL In this tutorial we will show ...
+1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+MySQL Security When configured properly, MySQL ...
+rollback to savepoint a2;
+select title, body from articles;
+title body
+MySQL Tutorial DBMS stands for DataBase ...
+How To Use MySQL Well After you went through a ...
+Optimizing MySQL In this tutorial we will show ...
+rollback;
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+SELECT * FROM articles
+WHERE MATCH (title,body)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+DROP TABLE articles;
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+ANALYZE TABLE articles;
+SELECT *, MATCH(title, body) AGAINST ('-database +MySQL' IN BOOLEAN MODE) AS score from articles;
+id title body score
+1 MySQL Tutorial DBMS stands for DataBase ... 0
+2 How To Use MySQL Well After you went through a ... 0.000000001885928302414186
+3 Optimizing MySQL In this tutorial we will show ... 0.000000001885928302414186
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... 0.000000001885928302414186
+5 MySQL vs. YourSQL In the following database comparison ... 0
+6 MySQL Security When configured properly, MySQL ... 0.000000003771856604828372
+SELECT *, MATCH(title, body) AGAINST ('+MySQL -database' IN BOOLEAN MODE) AS score FROM articles;
+id title body score
+1 MySQL Tutorial DBMS stands for DataBase ... 0
+2 How To Use MySQL Well After you went through a ... 0.000000001885928302414186
+3 Optimizing MySQL In this tutorial we will show ... 0.000000001885928302414186
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... 0.000000001885928302414186
+5 MySQL vs. YourSQL In the following database comparison ... 0
+6 MySQL Security When configured properly, MySQL ... 0.000000003771856604828372
+SELECT * FROM articles where MATCH(title, body) AGAINST ('MySQL - (database - tutorial)' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+SELECT * FROM articles where MATCH(title, body) AGAINST ('MySQL - (- tutorial database)' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+SELECT * FROM articles where MATCH(title, body) AGAINST ('MySQL - (- tutorial database) -Tricks' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM articles where MATCH(title, body) AGAINST ('-Tricks MySQL - (- tutorial database)' IN BOOLEAN MODE);
+id title body
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+DROP TABLE articles;
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+create table t1 (FTS_DOC_ID bigint unsigned auto_increment not null primary key,
+title varchar(200),body text,fulltext(title,body)) engine=innodb;
+insert into t1 set body='test';
+select * from t1 where match(title,body) against('%test');
+FTS_DOC_ID title body
+1 NULL test
+select * from t1 where match(title,body) against('%');
+FTS_DOC_ID title body
+select * from t1 where match(title,body) against('%%%%');
+FTS_DOC_ID title body
+drop table t1;
+CREATE DATABASE `benu database`;
+USE `benu database`;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `a` varchar(200) DEFAULT NULL,
+ `b` text,
+ PRIMARY KEY (`id`),
+ FULLTEXT KEY `idx` (`a`,`b`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
+INSERT INTO t1 (a,b) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id
+1
+3
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+id
+select id, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+id x
+1 0
+2 0
+3 0
+4 0
+5 0
+6 0
+select id, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+id x
+1 0
+2 0
+3 0
+4 0
+5 0
+6 0
+select id from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE);
+id
+select id from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
+id
+DROP DATABASE `benu database`;
+USE test;
+CREATE TABLE `t21` (`a` text, `b` int not null,
+fulltext key (`a`), fulltext key (`a`)
+) ENGINE=INNODB DEFAULT CHARSET=LATIN1;
+Warnings:
+Note 1831 Duplicate index `a_2`. This is deprecated and will be disallowed in a future release.
+ALTER TABLE `t21` ADD UNIQUE INDEX (`b`), ALGORITHM=INPLACE;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY.
+ALTER TABLE `t21` ADD UNIQUE INDEX (`b`);
+DROP TABLE t21;
+CREATE TABLE `t21` (`a` text, `b` int not null,
+fulltext key (`a`)) ENGINE=INNODB DEFAULT CHARSET=LATIN1;
+ALTER TABLE `t21` ADD UNIQUE INDEX (`b`);
+DROP TABLE t21;
+CREATE TABLE t1 (
+id INT NOT NULL,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES
+(1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+(2, 'How To Use MySQL Well','After you went through a ...'),
+(3, 'Optimizing MySQL','In this tutorial we will show ...');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+ALTER TABLE t1 ADD UNIQUE INDEX (`id`);
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id
+1
+3
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+id
+select id, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+id x
+1 0
+2 0
+3 0
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT NOT NULL,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES
+(1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+(2, 'How To Use MySQL Well','After you went through a ...'),
+(3, 'Optimizing MySQL','In this tutorial we will show ...');
+ALTER TABLE t1 ADD UNIQUE INDEX (`id`), ADD FULLTEXT INDEX idx (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id
+1
+3
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+id
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+id
+DROP TABLE t1;
+CREATE TABLE t1 (
+FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES
+(1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+(2, 'How To Use MySQL Well','After you went through a ...'),
+(3, 'Optimizing MySQL','In this tutorial we will show ...');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+ALTER TABLE t1 ADD UNIQUE INDEX (`FTS_DOC_ID`);
+SELECT FTS_DOC_ID FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID
+1
+3
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+FTS_DOC_ID
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+FTS_DOC_ID
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+FTS_DOC_ID
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+FTS_DOC_ID
+select FTS_DOC_ID, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+FTS_DOC_ID x
+1 0
+2 0
+3 0
+DROP TABLE t1;
+CREATE TABLE t1 (
+FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES
+(1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+(2, 'How To Use MySQL Well','After you went through a ...'),
+(3, 'Optimizing MySQL','In this tutorial we will show ...');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b), ADD UNIQUE INDEX FTS_DOC_ID_INDEX (FTS_DOC_ID);
+SELECT FTS_DOC_ID FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+FTS_DOC_ID
+1
+3
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+FTS_DOC_ID
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+FTS_DOC_ID
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+FTS_DOC_ID
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+FTS_DOC_ID
+select FTS_DOC_ID, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+FTS_DOC_ID x
+1 0
+2 0
+3 0
+DROP TABLE t1;
+CREATE TABLE t2 (`b` char(2),fulltext(`b`)) ENGINE=INNODB
+DEFAULT CHARSET=LATIN1;
+CREATE TABLE t3 LIKE t2;
+INSERT INTO `t2` VALUES();
+COMMIT WORK AND CHAIN;
+INSERT INTO `t3` VALUES ();
+UPDATE `t2` SET `b` = 'a';
+SAVEPOINT BATCH1;
+DROP TABLE t2;
+DROP TABLE t3;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+COMMIT WORK AND CHAIN;
+INSERT INTO t1 (a,b) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+SAVEPOINT BATCH1;
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('MySQL' IN NATURAL LANGUAGE MODE);
+id
+1
+2
+3
+INSERT INTO t1 (a,b) VALUES
+('1002 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+ROLLBACK TO SAVEPOINT BATCH1;
+COMMIT;
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('MySQL' IN NATURAL LANGUAGE MODE);
+id
+6
+1
+2
+3
+4
+5
+DROP TABLE t1;
+CREATE TABLE `t` (`a` char(20) character set utf8 default null,
+fulltext key (`a`)) ENGINE=INNODB;
+INSERT INTO `t` VALUES ('a');
+INSERT INTO `t` VALUES ('aaa');
+SELECT MATCH(`a`) AGAINST (0x22dd22) FROM `t`;
+MATCH(`a`) AGAINST (0x22dd22)
+0
+0
+SELECT MATCH(`a`) AGAINST (0x2222) FROM `t`;
+MATCH(`a`) AGAINST (0x2222)
+0
+0
+SELECT MATCH(`a`) AGAINST (0x22) FROM `t`;
+MATCH(`a`) AGAINST (0x22)
+0
+0
+SELECT MATCH(`a`) AGAINST (0x2261616122) FROM `t`;
+MATCH(`a`) AGAINST (0x2261616122)
+0
+0.0906190574169159
+SELECT MATCH(`a`) AGAINST (0x2261dd6122) FROM `t`;
+MATCH(`a`) AGAINST (0x2261dd6122)
+0
+0
+SELECT MATCH(`a`) AGAINST (0x2261dd612222226122) FROM `t`;
+MATCH(`a`) AGAINST (0x2261dd612222226122)
+0
+0
+DROP TABLE t;
+CREATE TABLE t(a CHAR(1),FULLTEXT KEY(a)) ENGINE=INNODB;
+HANDLER t OPEN;
+HANDLER t READ a NEXT;
+a
+HANDLER t READ a PREV;
+a
+DROP TABLE t;
+CREATE TABLE `%`(a TEXT, FULLTEXT INDEX(a)) ENGINE=INNODB;
+CREATE TABLE `A B`(a TEXT, FULLTEXT INDEX(a)) ENGINE=INNODB;
+DROP TABLE `%`;
+DROP TABLE `A B`;
+CREATE TABLE `t-26`(a VARCHAR(10),FULLTEXT KEY(a)) ENGINE=INNODB;
+INSERT INTO `t-26` VALUES('117');
+DROP TABLE `t-26`;
+CREATE TABLE `t1` (
+`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+`content` TEXT NOT NULL,
+PRIMARY KEY (`id`),
+FULLTEXT INDEX `IDX_CONTEXT_FULLTEXT`(`content`)
+)
+ENGINE = InnoDB;
+insert into t1 (content)
+values
+('This is a story which has has a complicated phrase structure here in the
+middle'),
+('This is a story which doesn''t have that text'),
+('This is a story that has complicated the phrase structure');
+select * from t1
+where match(content) against('"complicated phrase structure"' in boolean
+mode);
+id content
+1 This is a story which has has a complicated phrase structure here in the
+middle
+select * from t1
+where match(content) against('+"complicated phrase structure"' in boolean
+mode);
+id content
+1 This is a story which has has a complicated phrase structure here in the
+middle
+select * from t1
+where match(content) against('"complicated the phrase structure"' in boolean
+mode);
+id content
+3 This is a story that has complicated the phrase structure
+select * from t1 where match(content) against('+"this is a story which" +"complicated the phrase structure"' in boolean mode);
+id content
+select * from t1 where match(content) against('"the complicated the phrase structure"' in boolean mode);
+id content
+3 This is a story that has complicated the phrase structure
+select * from t1 where match(content) against('"complicated a phrase structure"' in boolean mode);
+id content
+DROP TABLE t1;
+CREATE TABLE my (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c VARCHAR(32), FULLTEXT(c)) ENGINE = INNODB;
+INSERT INTO my (c) VALUES ('green-iguana');
+SELECT * FROM my WHERE MATCH(c) AGAINST ('green-iguana');
+id c
+1 green-iguana
+DROP TABLE my;
+CREATE TABLE ift (
+`a` int(11) NOT NULL,
+`b` text,
+PRIMARY KEY (`a`),
+FULLTEXT KEY `b` (`b`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+INSERT INTO ift values (1, "skip");
+INSERT INTO ift values (2, "skip and networking");
+INSERT INTO ift values (3, "--skip-networking");
+INSERT INTO ift values (4, "-donot--skip-networking");
+SELECT * FROM ift WHERE MATCH (b) AGAINST ('--skip-networking');
+a b
+2 skip and networking
+3 --skip-networking
+4 -donot--skip-networking
+1 skip
+SELECT * FROM ift WHERE MATCH (b) AGAINST ('skip-networking');
+a b
+2 skip and networking
+3 --skip-networking
+4 -donot--skip-networking
+1 skip
+SELECT * FROM ift WHERE MATCH (b) AGAINST ('----');
+a b
+SELECT * FROM ift WHERE MATCH (b) AGAINST ('-donot--skip-networking');
+a b
+4 -donot--skip-networking
+2 skip and networking
+3 --skip-networking
+1 skip
+DROP TABLE ift;
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+INSERT INTO articles (title,body) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('( that''s me )','When configured properly, MySQL ...');
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('( yours''s* )' IN BOOLEAN MODE);
+id title body
+5 MySQL vs. YourSQL In the following database comparison ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('s*' IN BOOLEAN MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM articles WHERE MATCH (title,body)
+AGAINST ('stands\'] | * | show[@database' IN NATURAL LANGUAGE MODE);
+id title body
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+5 MySQL vs. YourSQL In the following database comparison ...
+DROP TABLE articles;
+CREATE TABLE t1(a TEXT CHARACTER SET LATIN1, FULLTEXT INDEX(a)) ENGINE=INNODB;
+SELECT * FROM t1 WHERE MATCH(a) AGAINST("*");
+ERROR 42000: syntax error, unexpected $end, expecting FTS_TERM or FTS_NUMB or '*'
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+FULLTEXT (a)
+) ENGINE= InnoDB;
+INSERT INTO t1 (a) VALUES
+('Do you know MySQL is a good database'),
+('How to build a good database'),
+('Do you know'),
+('Do you know MySQL'),
+('How to use MySQL'),
+('Do you feel good'),
+('MySQL is good'),
+('MySQL is good to know'),
+('What is database');
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql"' IN BOOLEAN MODE);
+id a
+1 Do you know MySQL is a good database
+4 Do you know MySQL
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql")' IN BOOLEAN MODE);
+id a
+1 Do you know MySQL is a good database
+4 Do you know MySQL
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('("know mysql" good)' IN BOOLEAN MODE);
+id a
+1 Do you know MySQL is a good database
+4 Do you know MySQL
+2 How to build a good database
+6 Do you feel good
+7 MySQL is good
+8 MySQL is good to know
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" good)' IN BOOLEAN MODE);
+id a
+1 Do you know MySQL is a good database
+4 Do you know MySQL
+2 How to build a good database
+6 Do you feel good
+7 MySQL is good
+8 MySQL is good to know
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('(good "know mysql")' IN BOOLEAN MODE);
+id a
+1 Do you know MySQL is a good database
+4 Do you know MySQL
+2 How to build a good database
+6 Do you feel good
+7 MySQL is good
+8 MySQL is good to know
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+(good "know mysql")' IN BOOLEAN MODE);
+id a
+1 Do you know MySQL is a good database
+4 Do you know MySQL
+2 How to build a good database
+6 Do you feel good
+7 MySQL is good
+8 MySQL is good to know
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" "good database")' IN BOOLEAN MODE);
+id a
+1 Do you know MySQL is a good database
+2 How to build a good database
+4 Do you know MySQL
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql" +"good database"' IN BOOLEAN MODE);
+id a
+1 Do you know MySQL is a good database
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@4' IN BOOLEAN MODE);
+id a
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@8' IN BOOLEAN MODE);
+id a
+1 Do you know MySQL is a good database
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+FULLTEXT (a)
+) ENGINE= InnoDB;
+INSERT INTO t1 (a) VALUES
+('know mysql good database');
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"good database"' IN BOOLEAN MODE);
+id a
+1 know mysql good database
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result b/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result
new file mode 100644
index 00000000000..9f5c1f271fc
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result
@@ -0,0 +1,916 @@
+drop table if exists t2,t1;
+set names utf8;
+CREATE TABLE t1 (
+id1 INT ,
+a1 VARCHAR(200) ,
+b1 TEXT ,
+FULLTEXT KEY (a1,b1), PRIMARY KEY (a1, id1)
+) CHARACTER SET = utf8 , ENGINE = InnoDB;
+CREATE TABLE t2 (
+id2 INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a2 VARCHAR(200),
+b2 TEXT ,
+FOREIGN KEY (a2) REFERENCES t1(a1) ON UPDATE CASCADE,
+FULLTEXT KEY (b2,a2)
+) CHARACTER SET = utf8 ,ENGINE = InnoDB;
+INSERT INTO t1 (id1,a1,b1) VALUES
+(1,'MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+(2,'How To Use MySQL Well','After you went through a ...'),
+(3,'Optimizing MySQL','In this tutorial we will show ...');
+INSERT INTO t1 (id1,a1,b1) VALUES
+(4,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+(5,'MySQL vs. YourSQL','In the following database comparison ...'),
+(6,'MySQL Security','When configured properly, MySQL ...');
+INSERT INTO t2 (a2,b2) VALUES
+('MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...');
+INSERT INTO t2 (a2,b2) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+INSERT INTO t2 (a2,b2) VALUES
+('MySQL Tricks','1. Never run mysqld as root. 2. ...');
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a2`) REFERENCES `t1` (`a1`) ON UPDATE CASCADE)
+DELETE FROM t1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a2`) REFERENCES `t1` (`a1`) ON UPDATE CASCADE)
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial') ;
+id1
+1
+3
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial') ;
+id2
+1
+3
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id1
+1
+3
+6
+2
+4
+5
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id2
+1
+3
+6
+2
+4
+5
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial' WITH QUERY EXPANSION) ;
+id1
+1
+3
+5
+6
+2
+4
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial' WITH QUERY EXPANSION) ;
+id2
+1
+3
+5
+6
+2
+4
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('"dbms database"@4' IN BOOLEAN MODE) ;
+id1
+1
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('"dbms database"@4' IN BOOLEAN MODE) ;
+id2
+1
+set global innodb_optimize_fulltext_only=1;
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+set global innodb_optimize_fulltext_only=0;
+UPDATE t1 SET a1 = "changing column - on update cascade" , b1 = "to check foreign constraint" WHERE
+MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id1
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id2
+3
+6
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('+update +cascade' IN BOOLEAN MODE) ;
+id1
+4
+2
+6
+1
+5
+3
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('+update +cascade' IN BOOLEAN MODE) ;
+id2
+4
+2
+6
+1
+5
+3
+SELECT id2 FROM t2 WHERE a2 LIKE '%UPDATE CASCADE%';
+id2
+1
+2
+3
+4
+5
+6
+DROP TABLE t2 , t1;
+create table t1 (s1 int, s2 varchar(200), primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (s1 int, s2 varchar(200),
+fulltext key(s2),
+foreign key (s1,s2) references t1 (s1,s2) on update cascade) ENGINE = InnoDB;
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+update t1 set s2 = 'Rainbows' where s2 <> 'Sunshine';
+commit;
+select * from t2 where match(s2) against ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+create table t1 (s1 int, s2 varchar(200), primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (s1 int, s2 varchar(200),
+fulltext key(s2),
+foreign key (s1,s2) references t1 (s1,s2) on delete cascade) ENGINE = InnoDB;
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+delete from t1 where s2 <> 'Sunshine';
+select * from t2 where match(s2) against ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+create table t1 (s1 int, s2 varchar(200), primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (s1 int, s2 varchar(200),
+fulltext key(s2),
+foreign key (s1,s2) references t1 (s1,s2) on delete set null) ENGINE = InnoDB;
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+delete from t1 where s2 <> 'Sunshine';
+select * from t2 where match(s2) against ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+create table t1 (s1 int, s2 varchar(200), primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (s1 int, s2 varchar(200),
+fulltext key(s2),
+foreign key (s1,s2) references t1 (s1,s2) on update set null) ENGINE = InnoDB;
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+update t1 set s2 = 'Rainbows' where s2 <> 'Sunshine';
+commit;
+select * from t2 where match(s2) against ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+create table t1 (s1 bigint unsigned not null, s2 varchar(200),
+primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (FTS_DOC_ID BIGINT UNSIGNED NOT NULL, s2 varchar(200),
+foreign key (FTS_DOC_ID) references t1 (s1)
+on update cascade) ENGINE = InnoDB;
+create fulltext index idx on t2(s2);
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `FTS_DOC_ID` bigint(20) unsigned NOT NULL,
+ `s2` varchar(200) DEFAULT NULL,
+ KEY `FTS_DOC_ID` (`FTS_DOC_ID`),
+ FULLTEXT KEY `idx` (`s2`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`FTS_DOC_ID`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+update t1 set s1 = 3 where s1=1;
+select * from t2 where match(s2) against ('sunshine');
+FTS_DOC_ID s2
+3 Sunshine
+update t1 set s1 = 1 where s1=3;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`FTS_DOC_ID`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
+DROP TABLE t2 , t1;
+CREATE TABLE t1 (
+id1 INT ,
+a1 VARCHAR(200) PRIMARY KEY,
+b1 TEXT character set utf8 ,
+FULLTEXT KEY (a1,b1)
+) CHARACTER SET = utf8 ,ENGINE = InnoDB;
+CREATE TABLE t2 (
+id2 INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a2 VARCHAR(200),
+b2 TEXT character set utf8 ,
+FOREIGN KEY (a2) REFERENCES t1(a1) ON DELETE CASCADE,
+FULLTEXT KEY (b2,a2)
+) CHARACTER SET = utf8 ,ENGINE = InnoDB;
+INSERT INTO t1 (id1,a1,b1) VALUES
+(1,'MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+(2,'How To Use MySQL Well','After you went through a ...'),
+(3,'Optimizing MySQL','In this tutorial we will show ...'),
+(4,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+(5,'MySQL vs. YourSQL','In the following database comparison ...'),
+(6,'MySQL Security','When configured properly, MySQL ...');
+INSERT INTO t2 (a2,b2) VALUES
+('MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...'),
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+DELETE FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id1 a1 b1
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id2 a2 b2
+SELECT * FROM t1 WHERE a1 LIKE '%tutorial%';
+id1 a1 b1
+SELECT * FROM t2 WHERE a2 LIKE '%tutorial%';
+id2 a2 b2
+DROP TABLE t2 , t1;
+DROP TABLE IF EXISTS t2,t1;
+SET NAMES utf8;
+CREATE TABLE t1 (
+id1 INT ,
+a1 VARCHAR(200) ,
+b1 TEXT ,
+FULLTEXT KEY (a1,b1), PRIMARY KEY(a1, id1)
+) CHARACTER SET = utf8 , ENGINE = InnoDB;
+CREATE TABLE t2 (
+id2 INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a2 VARCHAR(200),
+b2 TEXT ,
+FOREIGN KEY (a2) REFERENCES t1(a1) ON UPDATE CASCADE,
+FULLTEXT KEY (b2,a2)
+) CHARACTER SET = utf8 ,ENGINE = InnoDB;
+INSERT INTO t1 (id1,a1,b1) VALUES
+(1,'MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+(2,'How To Use MySQL Well','After you went through a ...'),
+(3,'Optimizing MySQL','In this tutorial we will show ...');
+INSERT INTO t2 (a2,b2) VALUES
+('MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...');
+START TRANSACTION;
+INSERT INTO t1 (id1,a1,b1) VALUES
+(4,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+(5,'MySQL vs. YourSQL','In the following database comparison ...'),
+(6,'MySQL Security','When configured properly, MySQL ...');
+INSERT INTO t2 (a2,b2) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+INSERT INTO t2 (a2,b2) VALUES
+('MySQL Tricks','1. Never run mysqld as root. 2. ...');
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a2`) REFERENCES `t1` (`a1`) ON UPDATE CASCADE)
+DELETE FROM t1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a2`) REFERENCES `t1` (`a1`) ON UPDATE CASCADE)
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial') ;
+id1 a1 b1
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial') ;
+id2 a2 b2
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id1 a1 b1
+3 Optimizing MySQL In this tutorial we will show ...
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+2 How To Use MySQL Well After you went through a ...
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id2 a2 b2
+3 Optimizing MySQL In this tutorial we will show ...
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+2 How To Use MySQL Well After you went through a ...
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial' WITH QUERY EXPANSION) ;
+id1 a1 b1
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+3 Optimizing MySQL In this tutorial we will show ...
+2 How To Use MySQL Well After you went through a ...
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial' WITH QUERY EXPANSION) ;
+id2 a2 b2
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+3 Optimizing MySQL In this tutorial we will show ...
+2 How To Use MySQL Well After you went through a ...
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('"dbms database"@4' IN BOOLEAN MODE) ;
+id1 a1 b1
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('"dbms database"@4' IN BOOLEAN MODE) ;
+id2 a2 b2
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('root') ;
+id1 a1 b1
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('root') ;
+id2 a2 b2
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('mysqld (+root)' IN BOOLEAN MODE) ;
+id1 a1 b1
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('mysqld (-root)' IN BOOLEAN MODE) ;
+id2 a2 b2
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('root' WITH QUERY EXPANSION) ;
+id1 a1 b1
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('root' WITH QUERY EXPANSION) ;
+id2 a2 b2
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('"database comparison"@02' IN BOOLEAN MODE) ;
+id1 a1 b1
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('"database comparison"@02' IN BOOLEAN MODE) ;
+id2 a2 b2
+SELECT * FROM t1;
+id1 a1 b1
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+2 How To Use MySQL Well After you went through a ...
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+5 MySQL vs. YourSQL In the following database comparison ...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM t2;
+id2 a2 b2
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+5 MySQL vs. YourSQL In the following database comparison ...
+6 MySQL Security When configured properly, MySQL ...
+COMMIT;
+START TRANSACTION;
+UPDATE t1 SET a1 = "changing column - on UPDATE cascade" , b1 = "to check foreign constraint" WHERE
+MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+COMMIT;
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id1 a1 b1
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+id2 a2 b2
+3 changing column - on UPDATE cascade In this tutorial we will show ...
+6 changing column - on UPDATE cascade When configured properly, MySQL ...
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('+UPDATE +cascade' IN BOOLEAN MODE) ;
+id1 a1 b1
+4 changing column - on UPDATE cascade to check foreign constraint
+2 changing column - on UPDATE cascade to check foreign constraint
+6 changing column - on UPDATE cascade to check foreign constraint
+1 changing column - on UPDATE cascade to check foreign constraint
+5 changing column - on UPDATE cascade to check foreign constraint
+3 changing column - on UPDATE cascade to check foreign constraint
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('+UPDATE +cascade' IN BOOLEAN MODE) ;
+id2 a2 b2
+4 changing column - on UPDATE cascade 1. Never run mysqld as root. 2. ...
+2 changing column - on UPDATE cascade After you went through a ...
+6 changing column - on UPDATE cascade When configured properly, MySQL ...
+1 changing column - on UPDATE cascade DBMS stands for DataBase VÃÆ·WÄ°...
+5 changing column - on UPDATE cascade In the following database comparison ...
+3 changing column - on UPDATE cascade In this tutorial we will show ...
+SELECT * FROM t2 WHERE a2 LIKE '%UPDATE CASCADE%';
+id2 a2 b2
+1 changing column - on UPDATE cascade DBMS stands for DataBase VÃÆ·WÄ°...
+2 changing column - on UPDATE cascade After you went through a ...
+3 changing column - on UPDATE cascade In this tutorial we will show ...
+4 changing column - on UPDATE cascade 1. Never run mysqld as root. 2. ...
+5 changing column - on UPDATE cascade In the following database comparison ...
+6 changing column - on UPDATE cascade When configured properly, MySQL ...
+DROP TABLE t2 , t1;
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+FULLTEXT KEY(s2),
+FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on UPDATE cascade) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+UPDATE t1 set s2 = 'Rainbows' WHERE s2 <> 'Sunshine';
+COMMIT;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+FULLTEXT KEY(s2),
+FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on DELETE cascade) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+DELETE FROM t1 WHERE s2 <> 'Sunshine';
+COMMIT;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+FULLTEXT KEY(s2),
+FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on DELETE SET NULL) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+DELETE FROM t1 WHERE s2 <> 'Sunshine';
+COMMIT;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+FULLTEXT KEY(s2),
+FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on UPDATE SET NULL) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+UPDATE t1 set s2 = 'Rainbows' WHERE s2 <> 'Sunshine';
+COMMIT;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+FULLTEXT KEY(s2),
+FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on UPDATE cascade) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+UPDATE t1 set s2 = 'Rainbows' WHERE s2 <> 'Sunshine';
+ROLLBACK;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+FULLTEXT KEY(s2),
+FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on DELETE cascade) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+DELETE FROM t1 WHERE s2 <> 'Sunshine';
+ROLLBACK;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+FULLTEXT KEY(s2),
+FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on DELETE SET NULL) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+DELETE FROM t1 WHERE s2 <> 'Sunshine';
+ROLLBACK;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+FULLTEXT KEY(s2),
+FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on UPDATE SET NULL) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+UPDATE t1 set s2 = 'Rainbows' WHERE s2 <> 'Sunshine';
+ROLLBACK;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+s1 s2
+DROP TABLE t2 , t1;
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+set global innodb_large_prefix=1;
+set names utf8;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) CHARACTER SET = utf8, ROW_FORMAT=COMPRESSED, ENGINE = InnoDB;
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `a` varchar(200) DEFAULT NULL,
+ `b` text,
+ PRIMARY KEY (`id`),
+ FULLTEXT KEY `idx` (`a`,`b`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED
+INSERT INTO t1 (a,b) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+ANALYZE TABLE t1;
+SELECT * FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+3 Optimizing MySQL In this tutorial we will show ...
+select * from t1 where MATCH(a,b) AGAINST("+tutorial +VÃÆ·WÄ°" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+select * from t1 where MATCH(a,b) AGAINST("+-VÃÆ·WÄ°" IN BOOLEAN MODE);
+ERROR 42000: syntax error, unexpected '-'
+select * from t1 where MATCH(a,b) AGAINST("+Mysql +(tricks never)" IN BOOLEAN MODE);
+id a b
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+select * from t1 where MATCH(a,b) AGAINST("+mysql -(tricks never)" IN BOOLEAN MODE);
+id a b
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+5 MySQL vs. YourSQL In the following database comparison ...
+select *, MATCH(a,b) AGAINST("mysql stands" IN BOOLEAN MODE) as x from t1;
+id a b x
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°... 0.6055193543434143
+2 How To Use MySQL Well After you went through a ... 0.000000001885928302414186
+3 Optimizing MySQL In this tutorial we will show ... 0.000000001885928302414186
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... 0.000000001885928302414186
+5 MySQL vs. YourSQL In the following database comparison ... 0.000000001885928302414186
+6 MySQL Security When configured properly, MySQL ... 0.000000003771856604828372
+select * from t1 where MATCH a,b AGAINST ("+database* +VÃÆ·W*" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+select * from t1 where MATCH a,b AGAINST ('"security mysql"' IN BOOLEAN MODE);
+id a b
+select * from t1 where MATCH(a,b) AGAINST ("VÃÆ·WÄ°" WITH QUERY EXPANSION);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+3 Optimizing MySQL In this tutorial we will show ...
+5 MySQL vs. YourSQL In the following database comparison ...
+6 MySQL Security When configured properly, MySQL ...
+2 How To Use MySQL Well After you went through a ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+ALTER TABLE t1 DROP INDEX idx;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+SELECT * FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+3 Optimizing MySQL In this tutorial we will show ...
+select * from t1 where MATCH(a,b) AGAINST("+tutorial +VÃÆ·WÄ°" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+select * from t1 where MATCH(a,b) AGAINST("+dbms" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+select * from t1 where MATCH(a,b) AGAINST("+Mysql +(tricks never)" IN BOOLEAN MODE);
+id a b
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+select * from t1 where MATCH(a,b) AGAINST("+mysql -(tricks never)" IN BOOLEAN MODE);
+id a b
+6 MySQL Security When configured properly, MySQL ...
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+5 MySQL vs. YourSQL In the following database comparison ...
+select *, MATCH(a,b) AGAINST("mysql VÃÆ·WÄ°" IN BOOLEAN MODE) as x from t1;
+id a b x
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°... 0.6055193543434143
+2 How To Use MySQL Well After you went through a ... 0.000000001885928302414186
+3 Optimizing MySQL In this tutorial we will show ... 0.000000001885928302414186
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... 0.000000001885928302414186
+5 MySQL vs. YourSQL In the following database comparison ... 0.000000001885928302414186
+6 MySQL Security When configured properly, MySQL ... 0.000000003771856604828372
+select * from t1 where MATCH a,b AGAINST ('"security mysql"' IN BOOLEAN MODE);
+id a b
+select * from t1 where MATCH(a,b) AGAINST ("VÃÆ·WÄ°" WITH QUERY EXPANSION);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase VÃÆ·WÄ°...
+3 Optimizing MySQL In this tutorial we will show ...
+5 MySQL vs. YourSQL In the following database comparison ...
+6 MySQL Security When configured properly, MySQL ...
+2 How To Use MySQL Well After you went through a ...
+4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
+INSERT INTO t1 (a,b) VALUES ('test query expansion','for database ...');
+INSERT INTO t1 (a,b) VALUES
+('test proximity search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO t1 (a,b) VALUES
+('test proximity fts search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO t1 (a,b) VALUES
+('test more proximity fts search, test, more proximity and phrase',
+'search, with proximity innodb');
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"proximity search"@2' IN BOOLEAN MODE);
+id a b
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"proximity search"@1' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"proximity search"@3' IN BOOLEAN MODE);
+id a b
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test proximity fts search, test, proximity and phrase search, with proximity innodb
+10 test more proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"test proximity"@5' IN BOOLEAN MODE);
+id a b
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test proximity fts search, test, proximity and phrase search, with proximity innodb
+10 test more proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"more test proximity"@2' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"more test proximity"@3' IN BOOLEAN MODE);
+id a b
+10 test more proximity fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"more fts proximity"@03' IN BOOLEAN MODE);
+id a b
+10 test more proximity fts search, test, more proximity and phrase search, with proximity innodb
+UPDATE t1 SET a = UPPER(a) , b = UPPER(b) ;
+UPDATE t1 SET a = UPPER(a) , b = LOWER(b) ;
+select * from t1 where MATCH(a,b) AGAINST("+tutorial +dbms" IN BOOLEAN MODE);
+id a b
+1 MYSQL TUTORIAL dbms stands for database vðʒwi...
+select * from t1 where MATCH(a,b) AGAINST("+VÃÆ·WÄ°" IN BOOLEAN MODE);
+id a b
+1 MYSQL TUTORIAL dbms stands for database vðʒwi...
+SELECT * FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MYSQL TUTORIAL dbms stands for database vðʒwi...
+3 OPTIMIZING MYSQL in this tutorial we will show ...
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('"proximity search"@14' IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+SELECT * FROM t1;
+id a b
+2 HOW TO USE MYSQL WELL after you went through a ...
+4 1001 MYSQL TRICKS 1. never run mysqld as root. 2. ...
+5 MYSQL VS. YOURSQL in the following database comparison ...
+6 MYSQL SECURITY when configured properly, mysql ...
+7 TEST QUERY EXPANSION for database ...
+DROP TABLE t1;
+set names utf8;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) CHARACTER SET = utf8, ENGINE=InnoDB;
+INSERT INTO t1 (a,b) VALUES
+('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне не вредит'),
+('Мога да Ñм Ñтъкло', 'то не ми вреди'),
+('ΜποÏῶ νὰ φάω σπασμένα' ,'γυαλιὰ χωÏὶς νὰ πάθω τίποτα'),
+('PříliÅ¡ žluÅ¥ouÄký kůň', 'úpÄ›l Äábelské kódy'),
+('Sævör grét', 'áðan því úlpan var ónýt'),
+('ã†ã‚ã®ãŠãã‚„ã¾','ã‘ãµã“ãˆã¦'),
+('ã„ã‚ã¯ã«ã»ã¸ã©ã€€ã¡ã‚Šã¬ã‚‹','ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš');
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','request docteam@oraclehelp.com ...') ,
+('Trial version','query performace @1255 minute on 2.1Hz Memory 2GB...') ,
+('when To Use MySQL Well','for free faq mail@xyz.com ...');
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("вредит χωÏὶς");
+id a b
+1 Я могу еÑÑ‚ÑŒ Ñтекло оно мне не вредит
+3 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("оно" WITH QUERY EXPANSION);
+id a b
+1 Я могу еÑÑ‚ÑŒ Ñтекло оно мне не вредит
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("вред*" IN BOOLEAN MODE);
+id a b
+1 Я могу еÑÑ‚ÑŒ Ñтекло оно мне не вредит
+2 Мога да Ñм Ñтъкло то не ми вреди
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+γυαλιὰ +tutorial" IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+tutorial +(Мога τίποτα)" IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš");
+id a b
+7 ã„ã‚ã¯ã«ã»ã¸ã©ã€€ã¡ã‚Šã¬ã‚‹ ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ã¡ã‚Šã¬ã‚‹" WITH QUERY EXPANSION);
+id a b
+7 ã„ã‚ã¯ã«ã»ã¸ã©ã€€ã¡ã‚Šã¬ã‚‹ ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("+ã‚ã•ãゆã‚ã¿ã˜ã€€+ã‚‘ã²ã‚‚ã›ãš" IN BOOLEAN MODE);
+id a b
+7 ã„ã‚ã¯ã«ã»ã¸ã©ã€€ã¡ã‚Šã¬ã‚‹ ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("ã†ã‚ã®ãŠã*" IN BOOLEAN MODE);
+id a b
+6 ã†ã‚ã®ãŠãã‚„ã¾ ã‘ãµã“ãˆã¦
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+Sævör +úlpan" IN BOOLEAN MODE);
+id a b
+5 Sævör grét áðan því úlpan var ónýt
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"γυαλιὰ χωÏὶς"@2' IN BOOLEAN MODE);
+id a b
+3 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"query performace"@02' IN BOOLEAN MODE);
+id a b
+9 Trial version query performace @1255 minute on 2.1Hz Memory 2GB...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"πάθω τίποτα"@2' IN BOOLEAN MODE);
+id a b
+3 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"ã‚ã•ãゆã‚ã¿ã˜ ã‚‘ã²ã‚‚ã›ãš"@1' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"ã‚ã•ãゆã‚ã¿ã˜ ã‚‘ã²ã‚‚ã›ãš"@2' IN BOOLEAN MODE);
+id a b
+7 ã„ã‚ã¯ã«ã»ã¸ã©ã€€ã¡ã‚Šã¬ã‚‹ ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš
+ALTER TABLE t1 DROP INDEX idx;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ã‚ã•ãゆã‚ã¿ã˜ ã‚‘ã²ã‚‚ã›ãš");
+id a b
+7 ã„ã‚ã¯ã«ã»ã¸ã©ã€€ã¡ã‚Šã¬ã‚‹ ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš
+UPDATE t1 SET a = "Pchnąć w tÄ™ łódź jeża" , b = "lub osiem skrzyÅ„ fig" WHERE MATCH(a,b) AGAINST ("ã‚ã•ãゆã‚ã¿ã˜ ã‚‘ã²ã‚‚ã›ãš");
+UPDATE t1 SET a = "Ð’ чащах юга жил-был цитруÑ? Да", b = "но фальшивый ÑкземплÑÑ€! Ñ‘ÑŠ" WHERE MATCH(a,b) AGAINST ("вред*" IN BOOLEAN MODE);
+DELETE FROM t1 WHERE MATCH(a,b) AGAINST("+Sævör +úlpan" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš");
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("łódź osiem");
+id a b
+7 Pchnąć w tę łódź jeża lub osiem skrzyń fig
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("вред*" IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("фальшив*" IN BOOLEAN MODE);
+id a b
+1 Ð’ чащах юга жил-был цитруÑ? Да но фальшивый ÑкземплÑÑ€! Ñ‘ÑŠ
+2 Ð’ чащах юга жил-был цитруÑ? Да но фальшивый ÑкземплÑÑ€! Ñ‘ÑŠ
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+Sævör +úlpan" IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"łódź jeża"@2' IN BOOLEAN MODE);
+id a b
+7 Pchnąć w tę łódź jeża lub osiem skrzyń fig
+SELECT * FROM t1;
+id a b
+1 Ð’ чащах юга жил-был цитруÑ? Да но фальшивый ÑкземплÑÑ€! Ñ‘ÑŠ
+2 Ð’ чащах юга жил-был цитруÑ? Да но фальшивый ÑкземплÑÑ€! Ñ‘ÑŠ
+3 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+4 PříliÅ¡ žluÅ¥ouÄký kůň úpÄ›l Äábelské kódy
+6 ã†ã‚ã®ãŠãã‚„ã¾ ã‘ãµã“ãˆã¦
+7 Pchnąć w tę łódź jeża lub osiem skrzyń fig
+8 MySQL Tutorial request docteam@oraclehelp.com ...
+9 Trial version query performace @1255 minute on 2.1Hz Memory 2GB...
+10 when To Use MySQL Well for free faq mail@xyz.com ...
+DROP TABLE t1;
+CREATE TABLE t1(ID INT PRIMARY KEY,
+no_fts_field VARCHAR(10),
+fts_field VARCHAR(10),
+FULLTEXT INDEX f(fts_field)) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 'AAA', 'BBB');
+SELECT * FROM t1 WHERE MATCH(fts_field) against("BBB");
+ID no_fts_field fts_field
+1 AAA BBB
+UPDATE t1 SET fts_field='anychange' where id = 1;
+SELECT * FROM t1 WHERE MATCH(fts_field) against("anychange");
+ID no_fts_field fts_field
+1 AAA anychange
+UPDATE t1 SET no_fts_field='anychange' where id = 1;
+SELECT * FROM t1 WHERE MATCH(fts_field) against("anychange");
+ID no_fts_field fts_field
+1 anychange anychange
+UPDATE t1 SET no_fts_field='anychange', fts_field='other' where id = 1;
+SELECT * FROM t1 WHERE MATCH(fts_field) against("other");
+ID no_fts_field fts_field
+1 anychange other
+SELECT * FROM t1 WHERE MATCH(fts_field) against("BBB");
+ID no_fts_field fts_field
+DROP INDEX f on t1;
+UPDATE t1 SET fts_field='anychange' where id = 1;
+UPDATE t1 SET no_fts_field='anychange' where id = 1;
+UPDATE t1 SET no_fts_field='anychange', fts_field='other' where id = 1;
+CREATE FULLTEXT INDEX f ON t1(FTS_FIELD);
+SELECT * FROM t1 WHERE MATCH(fts_field) against("other");
+ID no_fts_field fts_field
+1 anychange other
+DROP TABLE t1;
+CREATE TABLE t1(`FTS_DOC_ID` serial,
+no_fts_field VARCHAR(10),
+fts_field VARCHAR(10),
+FULLTEXT INDEX f(fts_field)) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 'AAA', 'BBB');
+UPDATE t1 SET fts_field='anychange' where FTS_DOC_ID = 1;
+ERROR HY000: Invalid InnoDB FTS Doc ID
+UPDATE t1 SET fts_field='anychange', FTS_DOC_ID = 2 where FTS_DOC_ID = 1;
+SELECT * FROM t1 WHERE MATCH(fts_field) against("anychange");
+FTS_DOC_ID no_fts_field fts_field
+2 AAA anychange
+SELECT * FROM t1 WHERE MATCH(fts_field) against("BBB");
+FTS_DOC_ID no_fts_field fts_field
+UPDATE t1 SET no_fts_field='anychange' where FTS_DOC_ID = 2;
+SELECT * FROM t1 WHERE MATCH(fts_field) against("anychange");
+FTS_DOC_ID no_fts_field fts_field
+2 anychange anychange
+UPDATE t1 SET no_fts_field='anychange', fts_field='other' where FTS_DOC_ID = 2;
+ERROR HY000: Invalid InnoDB FTS Doc ID
+SELECT * FROM t1 WHERE MATCH(fts_field) against("other");
+FTS_DOC_ID no_fts_field fts_field
+UPDATE t1 SET FTS_DOC_ID = 1 where FTS_DOC_ID = 2;
+ERROR HY000: Invalid InnoDB FTS Doc ID
+DROP INDEX f ON t1;
+UPDATE t1 SET fts_field='newchange' where FTS_DOC_ID = 2;
+UPDATE t1 SET no_fts_field='anychange' where FTS_DOC_ID = 2;
+SELECT * FROM t1;
+FTS_DOC_ID no_fts_field fts_field
+2 anychange newchange
+DROP TABLE t1;
+CREATE TABLE t1(ID INT PRIMARY KEY,
+no_fts_field VARCHAR(10),
+fts_field VARCHAR(10),
+FULLTEXT INDEX f(fts_field), index k(fts_field)) ENGINE=INNODB;
+CREATE TABLE t2(ID INT PRIMARY KEY,
+no_fts_field VARCHAR(10),
+fts_field VARCHAR(10),
+FULLTEXT INDEX f(fts_field),
+INDEX k2(fts_field),
+FOREIGN KEY(fts_field) REFERENCES
+t1(fts_field) ON UPDATE CASCADE) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 'AAA', 'BBB');
+INSERT INTO t2 VALUES (1, 'AAA', 'BBB');
+update t1 set fts_field='newchange' where id =1;
+SELECT * FROM t1 WHERE MATCH(fts_field) against("BBB");
+ID no_fts_field fts_field
+SELECT * FROM t2 WHERE MATCH(fts_field) against("BBB");
+ID no_fts_field fts_field
+SELECT * FROM t1 WHERE MATCH(fts_field) against("newchange");
+ID no_fts_field fts_field
+1 AAA newchange
+SELECT * FROM t2 WHERE MATCH(fts_field) against("newchange");
+ID no_fts_field fts_field
+1 AAA newchange
+DROP TABLE t2;
+DROP TABLE t1;
+CREATE TABLE t1(id INT PRIMARY KEY,
+fts_field VARCHAR(10),
+FULLTEXT INDEX f(fts_field)) ENGINE=INNODB;
+CREATE TABLE t2(id INT PRIMARY KEY,
+fts_field VARCHAR(10),
+FULLTEXT INDEX f(fts_field)) ENGINE=INNODB;
+INSERT INTO t1 values (1,'100'),(2,'200'),(3,'300'),(4,'400'),(5,'500'),(6,'600'), (7,'700'),(8,'800'),(9,'900'),(10,'1000'),(11,'1100'),(12,'1200');
+INSERT INTO t2 values (1,'100'),(2,'200'),(3,'300'),(4,'400'),(5,'500'),(6,'600'), (7,'700'),(8,'800');
+UPDATE t1, t2 set t1.fts_field = CONCAT(t1.fts_field, 'foo');
+UPDATE t1, t2 set t1.fts_field = CONCAT(t1.fts_field, 'foo') WHERE t1.fts_field = "100foo";
+UPDATE t1, t2 set t1.fts_field = CONCAT(t1.fts_field, 'xoo'), t2.fts_field = CONCAT(t1.fts_field, 'xoo') where t1.fts_field=CONCAT(t2.fts_field, 'foo');
+SELECT * FROM t1 WHERE MATCH(fts_field) against("100foofoo");
+id fts_field
+1 100foofoo
+SELECT * FROM t1 WHERE MATCH(fts_field) against("100foo");
+id fts_field
+SELECT * FROM t1 WHERE MATCH(fts_field) against("100");
+id fts_field
+SELECT * FROM t2 WHERE MATCH(fts_field) against("400fooxoo");
+id fts_field
+4 400fooxoo
+SELECT * FROM t2 WHERE MATCH(fts_field) against("100");
+id fts_field
+1 100
+SELECT * FROM t2 WHERE MATCH(fts_field) against("200");
+id fts_field
+SELECT * FROM t2 WHERE MATCH(fts_field) against("400");
+id fts_field
+DROP TABLE t1;
+DROP TABLE t2;
+
+BUG#13701973/64274: MYSQL THREAD WAS SUSPENDED WHEN EXECUTE UPDATE QUERY
+
+SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
+CREATE TABLE t1 (
+t1_id INT(10) UNSIGNED NOT NULL,
+t2_id INT(10) UNSIGNED DEFAULT NULL,
+PRIMARY KEY (t1_id),
+FOREIGN KEY (t2_id) REFERENCES t2 (t2_id)
+ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB;
+CREATE TABLE t2 (
+t1_id INT(10) UNSIGNED NOT NULL,
+t2_id INT(10) UNSIGNED NOT NULL,
+t3_id INT(10) UNSIGNED NOT NULL,
+t4_id INT(10) UNSIGNED NOT NULL,
+PRIMARY KEY (t2_id),
+FOREIGN KEY (t1_id) REFERENCES t1 (t1_id),
+FOREIGN KEY (t3_id) REFERENCES t3 (t3_id)
+ON DELETE CASCADE ON UPDATE CASCADE,
+FOREIGN KEY (t4_id) REFERENCES t4 (t4_id)
+) ENGINE=InnoDB;
+CREATE TABLE t3 (
+t3_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+payload char(3),
+PRIMARY KEY (t3_id)
+) ENGINE=InnoDB;
+INSERT INTO t3 VALUES (1, '100');
+CREATE TABLE t4 (
+t2_id INT(10) UNSIGNED DEFAULT NULL,
+t4_id INT(10) UNSIGNED NOT NULL,
+PRIMARY KEY (t4_id),
+FOREIGN KEY (t2_id) REFERENCES t2 (t2_id)
+ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB;
+SET FOREIGN_KEY_CHECKS=1;
+UPDATE t3 SET payload='101' WHERE t3_id=1;
+SET FOREIGN_KEY_CHECKS=0;
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE t4;
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_multiple_index.result b/mysql-test/suite/innodb_fts/r/innodb_fts_multiple_index.result
new file mode 100644
index 00000000000..6a255ddffc5
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_multiple_index.result
@@ -0,0 +1,213 @@
+drop table if exists t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB STATS_PERSISTENT=0;
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','DBMS stands for DataBase ...') ,
+('How To Use MySQL Well','After you went through a ...'),
+('Optimizing MySQL','In this tutorial we will show ...');
+ALTER TABLE t1 ADD FULLTEXT INDEX idx_1 (a);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+ALTER TABLE t1 ADD FULLTEXT INDEX idx_2 (b);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `a` varchar(200) DEFAULT NULL,
+ `b` text,
+ PRIMARY KEY (`id`),
+ FULLTEXT KEY `idx_1` (`a`),
+ FULLTEXT KEY `idx_2` (`b`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 STATS_PERSISTENT=0
+START TRANSACTION;
+INSERT INTO t1 (a,b) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL ...');
+ROLLBACK;
+SELECT * FROM t1 WHERE MATCH (a)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(a) AGAINST("+mysql +Tutorial" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(b) AGAINST("+Tutorial" IN BOOLEAN MODE);
+id a b
+3 Optimizing MySQL In this tutorial we will show ...
+select * from t1 where MATCH(b) AGAINST("+stands +(DataBase)" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(b) AGAINST("+DataBase -(comparison)" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select *, MATCH(a) AGAINST("Optimizing MySQL" IN BOOLEAN MODE) as x from t1;
+id a b x
+1 MySQL Tutorial DBMS stands for DataBase ... 0.0906190574169159
+2 How To Use MySQL Well After you went through a ... 0.0906190574169159
+3 Optimizing MySQL In this tutorial we will show ... 0.6961383819580078
+select *, MATCH(b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+id a b x
+1 MySQL Tutorial DBMS stands for DataBase ... 0
+2 How To Use MySQL Well After you went through a ... 0
+3 Optimizing MySQL In this tutorial we will show ... 0
+select * from t1 where MATCH a AGAINST ("+Optimiz* +Optimiz*" IN BOOLEAN MODE);
+id a b
+3 Optimizing MySQL In this tutorial we will show ...
+select * from t1 where MATCH b AGAINST ('"DBMS stands"' IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH b AGAINST ('"DBMS STANDS"' IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(b) AGAINST ("DataBase" WITH QUERY EXPANSION);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(a) AGAINST ("Security" WITH QUERY EXPANSION);
+id a b
+ALTER TABLE t1 DROP INDEX idx_1;
+ALTER TABLE t1 DROP INDEX idx_2;
+ALTER TABLE t1 ADD FULLTEXT INDEX idx_1 (a);
+ALTER TABLE t1 ADD FULLTEXT INDEX idx_2 (b);
+SELECT * FROM t1 WHERE MATCH (a)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(a) AGAINST("+mysql +Tutorial" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(b) AGAINST("+Tutorial" IN BOOLEAN MODE);
+id a b
+3 Optimizing MySQL In this tutorial we will show ...
+select * from t1 where MATCH(b) AGAINST("+stands +(DataBase)" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(b) AGAINST("+DataBase -(comparison)" IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select *, MATCH(a) AGAINST("Optimizing MySQL" IN BOOLEAN MODE) as x from t1;
+id a b x
+1 MySQL Tutorial DBMS stands for DataBase ... 0.0906190574169159
+2 How To Use MySQL Well After you went through a ... 0.0906190574169159
+3 Optimizing MySQL In this tutorial we will show ... 0.6961383819580078
+select *, MATCH(b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+id a b x
+1 MySQL Tutorial DBMS stands for DataBase ... 0
+2 How To Use MySQL Well After you went through a ... 0
+3 Optimizing MySQL In this tutorial we will show ... 0
+select * from t1 where MATCH a AGAINST ("+Optimiz* +Optimiz*" IN BOOLEAN MODE);
+id a b
+3 Optimizing MySQL In this tutorial we will show ...
+select * from t1 where MATCH b AGAINST ('"DBMS stands"' IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH b AGAINST ('"DBMS STANDS"' IN BOOLEAN MODE);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(b) AGAINST ("DataBase" WITH QUERY EXPANSION);
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+select * from t1 where MATCH(a) AGAINST ("Security" WITH QUERY EXPANSION);
+id a b
+INSERT INTO t1 (a,b) VALUES ('test query expansion','for database ...');
+INSERT INTO t1 (a,b) VALUES
+('test proximity search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO t1 (a,b) VALUES
+('test proximity fts search, test, proximity and phrase',
+'search, with proximity innodb');
+INSERT INTO t1 (a,b) VALUES
+('test more of proximity for fts search, test, more proximity and phrase',
+'search, with proximity innodb');
+SELECT * FROM t1
+WHERE MATCH (a)
+AGAINST ('"proximity search"@3' IN BOOLEAN MODE);
+id a b
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test proximity fts search, test, proximity and phrase search, with proximity innodb
+SELECT * FROM t1
+WHERE MATCH (a)
+AGAINST ('"proximity search"@2' IN BOOLEAN MODE);
+id a b
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+SELECT * FROM t1
+WHERE MATCH (b)
+AGAINST ('"proximity innodb"@4' IN BOOLEAN MODE);
+id a b
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test proximity fts search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity for fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM t1
+WHERE MATCH (a)
+AGAINST ('"test proximity"@3' IN BOOLEAN MODE);
+id a b
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test proximity fts search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity for fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM t1
+WHERE MATCH (a)
+AGAINST ('"more test proximity"@3' IN BOOLEAN MODE);
+id a b
+10 test more of proximity for fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM t1
+WHERE MATCH (a)
+AGAINST ('"more test proximity"@2' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a)
+AGAINST ('"more fts proximity"@02' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1 WHERE CONCAT(t1.a,t1.b) IN (
+SELECT CONCAT(a,b) FROM t1 AS t2 WHERE
+MATCH (t2.a) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+) OR t1.id = 3 ;
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM t1 WHERE CONCAT(t1.a,t1.b) IN (
+SELECT CONCAT(a,b) FROM t1 AS t2
+WHERE MATCH (t2.a) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t2.id != 3) ;
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+SELECT * FROM t1 WHERE id IN (SELECT MIN(id) FROM t1 WHERE
+MATCH (b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) OR id = 3 ;
+id a b
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM t1 WHERE id NOT IN (SELECT MIN(id) FROM t1
+WHERE MATCH (b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) ;
+id a b
+1 MySQL Tutorial DBMS stands for DataBase ...
+2 How To Use MySQL Well After you went through a ...
+7 test query expansion for database ...
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test proximity fts search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity for fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM t1 WHERE EXISTS (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t1.id = t2.id) ;
+id a b
+3 Optimizing MySQL In this tutorial we will show ...
+SELECT * FROM t1 WHERE NOT EXISTS (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t1.id = t2.id) ;
+id a b
+2 How To Use MySQL Well After you went through a ...
+3 Optimizing MySQL In this tutorial we will show ...
+7 test query expansion for database ...
+8 test proximity search, test, proximity and phrase search, with proximity innodb
+9 test proximity fts search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity for fts search, test, more proximity and phrase search, with proximity innodb
+SELECT * FROM t1 WHERE t1.id = (SELECT MAX(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.a) AGAINST ('"proximity search"@3' IN BOOLEAN MODE));
+id a b
+9 test proximity fts search, test, proximity and phrase search, with proximity innodb
+SELECT * FROM t1 WHERE t1.id > (SELECT MIN(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.b) AGAINST ('"proximity innodb"@3' IN BOOLEAN MODE));
+id a b
+9 test proximity fts search, test, proximity and phrase search, with proximity innodb
+10 test more of proximity for fts search, test, more proximity and phrase search, with proximity innodb
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result b/mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result
new file mode 100644
index 00000000000..569de081762
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result
@@ -0,0 +1,29 @@
+INSTALL PLUGIN simple_parser SONAME 'mypluglib';
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title) WITH PARSER simple_parser
+) ENGINE=MyISAM;
+ALTER TABLE articles ENGINE=InnoDB;
+ERROR HY000: Cannot CREATE FULLTEXT INDEX WITH PARSER on InnoDB table
+DROP TABLE articles;
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title) WITH PARSER simple_parser
+) ENGINE=InnoDB;
+ERROR HY000: Cannot CREATE FULLTEXT INDEX WITH PARSER on InnoDB table
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title)
+) ENGINE=InnoDB;
+ALTER TABLE articles ADD FULLTEXT INDEX (body) WITH PARSER simple_parser;
+ERROR HY000: Cannot CREATE FULLTEXT INDEX WITH PARSER on InnoDB table
+CREATE FULLTEXT INDEX ft_index ON articles(body) WITH PARSER simple_parser;
+ERROR HY000: Cannot CREATE FULLTEXT INDEX WITH PARSER on InnoDB table
+DROP TABLE articles;
+UNINSTALL PLUGIN simple_parser;
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result b/mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result
new file mode 100644
index 00000000000..a61ff47c9a1
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result
@@ -0,0 +1,229 @@
+drop table if exists t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE= InnoDB;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...');
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("where will");
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("when");
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("what" WITH QUERY EXPANSION);
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("whe*" IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+what +will" IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+from" IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"where will"@6' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"where will"@9' IN BOOLEAN MODE);
+id a b
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','request docteam@oraclehelp.com ...') ,
+('Trial version','query performace @1255 minute on 2.1Hz Memory 2GB...') ,
+('when To Use MySQL Well','for free faq mail@xyz.com ...');
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"request"@10' IN BOOLEAN MODE);
+id a b
+4 MySQL Tutorial request docteam@oraclehelp.com ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"Trial version"@0' IN BOOLEAN MODE);
+id a b
+5 Trial version query performace @1255 minute on 2.1Hz Memory 2GB...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"request docteam@oraclehelp.com"@10' IN BOOLEAN MODE);
+id a b
+4 MySQL Tutorial request docteam@oraclehelp.com ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"1255 minute"@1' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"1255 minute"@2' IN BOOLEAN MODE);
+id a b
+5 Trial version query performace @1255 minute on 2.1Hz Memory 2GB...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"1255"@10' IN BOOLEAN MODE);
+id a b
+5 Trial version query performace @1255 minute on 2.1Hz Memory 2GB...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('1255' WITH QUERY EXPANSION);
+id a b
+5 Trial version query performace @1255 minute on 2.1Hz Memory 2GB...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"request docteam"@2' IN BOOLEAN MODE);
+id a b
+4 MySQL Tutorial request docteam@oraclehelp.com ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"1255 minute"' IN BOOLEAN MODE);
+id a b
+5 Trial version query performace @1255 minute on 2.1Hz Memory 2GB...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request docteam@oraclehelp.com');
+id a b
+4 MySQL Tutorial request docteam@oraclehelp.com ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"MySQL request"@3' IN BOOLEAN MODE);
+id a b
+4 MySQL Tutorial request docteam@oraclehelp.com ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"Trial memory"@10' IN BOOLEAN MODE);
+id a b
+5 Trial version query performace @1255 minute on 2.1Hz Memory 2GB...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"Trial memory"@9' IN BOOLEAN MODE);
+id a b
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) CHARACTER SET = UTF8, ENGINE= InnoDB;
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...');
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','request docteam@oraclehelp.com ...') ,
+('Trial version','query performace @1255 minute on 2.1Hz Memory 2GB...'),
+('when To Use MySQL Well','for free faq mail@xyz.com ...');
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"mysql use"@2' IN BOOLEAN MODE);
+id a b
+2 when To Use MySQL Well After that you went through a ...
+6 when To Use MySQL Well for free faq mail@xyz.com ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"mysql use"@1' IN BOOLEAN MODE);
+id a b
+INSERT INTO t1 (a,b) VALUES ('XYZ, long blob', repeat("a", 9000));
+INSERT INTO t1 (a,b) VALUES (repeat("b", 9000), 'XYZ, long blob');
+Warnings:
+Warning 1265 Data truncated for column 'a' at row 1
+SELECT count(*) FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"xyz blob"@3' IN BOOLEAN MODE);
+count(*)
+2
+DROP TABLE t1;
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a TEXT,
+b TEXT,
+c TEXT
+) CHARACTER SET = UTF8, ROW_FORMAT=DYNAMIC, ENGINE= InnoDB;
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000), 'XYZ, long text', 'very long blob');
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000), 'XYZ, very little long blob very much blob', 'very long blob');
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000),"very 租车 ä¾› blob","new 供需分æžinformation");
+CREATE FULLTEXT INDEX idx on t1 (a,b,c);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b,c) VALUES (repeat("x", 19000), 'new, long text', 'very new blob');
+INSERT INTO t1 (a,b,c) VALUES ('interesting, long text', repeat("x", 19000), 'very very good new blob');
+SELECT count(*) FROM t1
+WHERE MATCH (a,b,c)
+AGAINST ('"very blob"@3' IN BOOLEAN MODE);
+count(*)
+3
+SELECT count(*) FROM t1
+WHERE MATCH (a,b,c)
+AGAINST ('"very long blob"@0' IN BOOLEAN MODE);
+count(*)
+2
+SELECT count(*) FROM t1
+WHERE MATCH (a,b,c)
+AGAINST ('"very blob"@4' IN BOOLEAN MODE);
+count(*)
+4
+SELECT count(*) FROM t1
+WHERE MATCH (a,b,c)
+AGAINST ('"interesting blob"@9' IN BOOLEAN MODE);
+count(*)
+1
+SELECT COUNT(*) FROM t1
+WHERE MATCH (a,b,c)
+AGAINST ('"interesting blob"@9 "very long blob"@0' IN BOOLEAN MODE);
+COUNT(*)
+3
+SELECT COUNT(*) FROM t1
+WHERE MATCH (a,b,c)
+AGAINST ('"very blob"@4 - "interesting blob"@9' IN BOOLEAN MODE);
+COUNT(*)
+3
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) CHARACTER SET = UTF8, ENGINE= InnoDB;
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for + DataBase ...');
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"stands database"@3' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for + DataBase ...
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a TEXT,
+b TEXT,
+c TEXT
+) CHARACTER SET = UTF8, ROW_FORMAT=DYNAMIC, ENGINE= InnoDB;
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000), 'XYZ, long text', 'very long blob');
+INSERT INTO t1 (a,b,c) VALUES ('XYZ, 租车 very little long blob very much blob', repeat("b", 19000), 'very long but smaller blob');
+CREATE FULLTEXT INDEX idx on t1 (a,b,c);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+DELETE FROM t1;
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000), 'XYZ, long text', 'very long blob');
+INSERT INTO t1 (a,b,c) VALUES ('XYZ, 租车 very little long blob is a very much longer blob', repeat("b", 19000), 'this is very long but smaller blob');
+SELECT count(*) FROM t1
+WHERE MATCH (a,b,c)
+AGAINST ('"very blob"@4' IN BOOLEAN MODE);
+count(*)
+2
+SELECT count(*) FROM t1
+WHERE MATCH (a,b,c)
+AGAINST ('"very blob"@3' IN BOOLEAN MODE);
+count(*)
+1
+DROP TABLE t1;
+SET GLOBAL innodb_file_format=Antelope;
+SET GLOBAL innodb_file_per_table=1;
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_result_cache_limit.result b/mysql-test/suite/innodb_fts/r/innodb_fts_result_cache_limit.result
new file mode 100644
index 00000000000..40a38e62a1e
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_result_cache_limit.result
@@ -0,0 +1,32 @@
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE= InnoDB;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...'),
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...'),
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...');
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,fts_instrument_result_cache_limit";
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b) AGAINST ('mysql' IN BOOLEAN MODE);
+COUNT(*)
+9
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b) AGAINST ('mysql' WITH QUERY EXPANSION);
+ERROR HY000: Table handler out of memory
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b) AGAINST ('"mysql database"' IN BOOLEAN MODE);
+ERROR HY000: Table handler out of memory
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b) AGAINST ('"mysql database" @ 5' IN BOOLEAN MODE);
+ERROR HY000: Table handler out of memory
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE t1;
+SET GLOBAL innodb_ft_result_cache_limit=default;
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_stopword_charset.result b/mysql-test/suite/innodb_fts/r/innodb_fts_stopword_charset.result
new file mode 100644
index 00000000000..d8954e73e33
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_stopword_charset.result
@@ -0,0 +1,318 @@
+SELECT @@innodb_ft_server_stopword_table;
+@@innodb_ft_server_stopword_table
+NULL
+SELECT @@innodb_ft_enable_stopword;
+@@innodb_ft_enable_stopword
+1
+SELECT @@innodb_ft_user_stopword_table;
+@@innodb_ft_user_stopword_table
+NULL
+SET NAMES utf8;
+# Test 1 : default latin1_swedish_ci
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200)
+) ENGINE=InnoDB;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+1 love
+2 LOVE
+3 lòve
+4 LÃ’VE
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+DROP TABLE articles;
+DROP TABLE user_stopword;
+# Test 2 : latin1_general_ci
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200)
+) ENGINE=InnoDB DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+3 lòve
+4 LÃ’VE
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+1 love
+2 LOVE
+DROP TABLE articles;
+DROP TABLE user_stopword;
+# Test 3 : latin1_spanish_ci
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200)
+) ENGINE=InnoDB DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+1 love
+2 LOVE
+3 lòve
+4 LÃ’VE
+5 löve
+6 LÖVE
+7 løve
+8 LØVE
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+DROP TABLE articles;
+DROP TABLE user_stopword;
+# Test 4 : utf8_general_ci
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200)
+) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+1 love
+2 LOVE
+3 lòve
+4 LÃ’VE
+5 löve
+6 LÖVE
+9 lṓve
+10 Lá¹’VE
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+DROP TABLE articles;
+DROP TABLE user_stopword;
+# Test 5 : utf8_unicode_ci
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200)
+) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_swedish_ci;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+1 love
+2 LOVE
+3 lòve
+4 LÃ’VE
+9 lṓve
+10 Lá¹’VE
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+DEFAULT CHARACTER SET utf8 COLLATE utf8_swedish_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+DROP TABLE articles;
+DROP TABLE user_stopword;
+# Test 6 : utf8_unicode_ci
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200)
+) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+1 love
+2 LOVE
+3 lòve
+4 LÃ’VE
+5 löve
+6 LÖVE
+9 lṓve
+10 Lá¹’VE
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+DROP TABLE articles;
+DROP TABLE user_stopword;
+# Test 7 : gb2312_chinese_ci
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200)
+) ENGINE=InnoDB DEFAULT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
+INSERT INTO articles (title) VALUES
+('相亲相爱'),('怜香惜爱'),('充满å¯çˆ±'),('爱æ¨äº¤ç»‡');
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('相亲相爱' IN NATURAL LANGUAGE MODE);
+id title
+1 相亲相爱
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+DEFAULT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
+INSERT INTO user_stopword VALUES('相亲相爱');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('相亲相爱' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('怜香惜爱' IN NATURAL LANGUAGE MODE);
+id title
+2 怜香惜爱
+DROP TABLE articles;
+DROP TABLE user_stopword;
+# Test 8 : test shutdown to check if stopword still works
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200)
+) ENGINE=InnoDB;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+1 love
+2 LOVE
+3 lòve
+4 LÃ’VE
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+# Shutdown and restart mysqld
+SET NAMES utf8;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+DROP TABLE articles;
+DROP TABLE user_stopword;
+# Test 9 : drop user stopwrod table,test shutdown to check if it works
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200)
+) ENGINE=InnoDB;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+1 love
+2 LOVE
+3 lòve
+4 LÃ’VE
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+DROP TABLE user_stopword;
+# Shutdown and restart mysqld
+SET NAMES utf8;
+INSERT INTO articles (title) VALUES
+('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+('lṓve'),('LṒVE');
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+id title
+11 love
+12 LOVE
+13 lòve
+14 LÃ’VE
+SELECT * FROM articles WHERE MATCH (title)
+AGAINST ('love' IN NATURAL LANGUAGE MODE);
+id title
+11 love
+12 LOVE
+13 lòve
+14 LÃ’VE
+DROP TABLE articles;
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_transaction.result b/mysql-test/suite/innodb_fts/r/innodb_fts_transaction.result
new file mode 100644
index 00000000000..61a1b1bef53
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_transaction.result
@@ -0,0 +1,1048 @@
+drop table if exists t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB STATS_PERSISTENT=0;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...');
+START TRANSACTION;
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','request docteam for oraclehelp.');
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request' IN NATURAL LANGUAGE MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request MySQL' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('-request +MySQL' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+MySQL -(Tutorial Optimizing)' IN BOOLEAN MODE);
+id a b
+2 when To Use MySQL Well After that you went through a ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"stands Database"@11' IN BOOLEAN MODE) ORDER BY 1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' WITH QUERY EXPANSION);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+2 when To Use MySQL Well After that you went through a ...
+COMMIT;
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 MySQL Tutorial request docteam for oraclehelp.
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request MySQL' IN BOOLEAN MODE);
+id a b
+4 MySQL Tutorial request docteam for oraclehelp.
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' WITH QUERY EXPANSION);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+4 MySQL Tutorial request docteam for oraclehelp.
+3 where will Optimizing MySQL what In this tutorial we will show ...
+2 when To Use MySQL Well After that you went through a ...
+START TRANSACTION;
+INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+id a b
+4 MySQL Tutorial request docteam for oraclehelp.
+UPDATE t1 SET a = 'Trial version' , b = 'query performace 1255 minute on 2.1Hz Memory 2GB...'
+WHERE MATCH (a,b) AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request');
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('query performace' IN BOOLEAN MODE);
+id a b
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq xyz.com ...'
+WHERE MATCH (a,b) AGAINST ('+query +performace' IN BOOLEAN MODE);
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('performace');
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+mail +MySQL' IN BOOLEAN MODE);
+id a b
+COMMIT;
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+MySQL' IN BOOLEAN MODE);
+SELECT * FROM t1;
+id a b
+4 Trial version query performace 1255 minute on 2.1Hz Memory 2GB...
+5 NULL NULL
+INSERT INTO t1 (a,b) VALUES
+('Trial version','query performace 1255 minute on 2.1Hz Memory 2GB...') ,
+('when To Use MySQL Well','for free faq mail@xyz.com ...');
+SELECT * FROM t1;
+id a b
+4 Trial version query performace 1255 minute on 2.1Hz Memory 2GB...
+5 NULL NULL
+6 Trial version query performace 1255 minute on 2.1Hz Memory 2GB...
+7 when To Use MySQL Well for free faq mail@xyz.com ...
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...');
+START TRANSACTION;
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','request docteam for oraclehelp.');
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request' IN NATURAL LANGUAGE MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request MySQL' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('-request +MySQL' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+MySQL -(Tutorial Optimizing)' IN BOOLEAN MODE);
+id a b
+2 when To Use MySQL Well After that you went through a ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' WITH QUERY EXPANSION);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+2 when To Use MySQL Well After that you went through a ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' WITH QUERY EXPANSION);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+2 when To Use MySQL Well After that you went through a ...
+ROLLBACK;
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request MySQL' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' WITH QUERY EXPANSION);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+2 when To Use MySQL Well After that you went through a ...
+START TRANSACTION;
+INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+UPDATE t1 SET a = 'Trial version' , b = 'query performace 1255 minute on 2.1Hz Memory 2GB...'
+WHERE MATCH (a,b) AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request');
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('query performace' IN BOOLEAN MODE);
+id a b
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq xyz.com ...'
+WHERE MATCH (a,b) AGAINST ('+query +performace' IN BOOLEAN MODE);
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('performace');
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+mail +MySQL' IN BOOLEAN MODE);
+id a b
+ROLLBACK;
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+MySQL' IN BOOLEAN MODE);
+SELECT * FROM t1;
+id a b
+INSERT INTO t1 (a,b) VALUES
+('Trial version','query performace 1255 minute on 2.1Hz Memory 2GB...') ,
+('when To Use MySQL Well','for free faq mail@xyz.com ...');
+SELECT * FROM t1;
+id a b
+6 Trial version query performace 1255 minute on 2.1Hz Memory 2GB...
+7 when To Use MySQL Well for free faq mail@xyz.com ...
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...');
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','request docteam for oraclehelp.');
+START TRANSACTION;
+INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+id a b
+4 MySQL Tutorial request docteam for oraclehelp.
+UPDATE t1 SET a = 'Trial version' , b = 'query performace 1255 minute on 2.1Hz Memory 2GB...' WHERE MATCH (a,b) AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+SELECT * from t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Trial version query performace 1255 minute on 2.1Hz Memory 2GB...
+5 NULL NULL
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request');
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('query performace' IN BOOLEAN MODE);
+id a b
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq mail xyz.com ...' WHERE MATCH (a,b) AGAINST ('+query +performace' IN BOOLEAN MODE);
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq mail xyz.com ...' WHERE b like '%query performace%';
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('performace');
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+mail +MySQL' IN BOOLEAN MODE);
+id a b
+SELECT * from t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 when To Use MySQL Well for free faq mail xyz.com ...
+5 NULL NULL
+COMMIT;
+SELECT * from t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 when To Use MySQL Well for free faq mail xyz.com ...
+5 NULL NULL
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+MySQL' IN BOOLEAN MODE);
+SELECT * FROM t1;
+id a b
+5 NULL NULL
+INSERT INTO t1 (a,b) VALUES
+('Trial version','query performace 1255 minute on 2.1Hz Memory 2GB...') ,
+('when To Use MySQL Well','for free faq mail@xyz.com ...');
+SELECT * FROM t1;
+id a b
+5 NULL NULL
+6 Trial version query performace 1255 minute on 2.1Hz Memory 2GB...
+7 when To Use MySQL Well for free faq mail@xyz.com ...
+DROP TABLE t1;
+SET NAMES UTF8;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) CHARACTER SET = UTF8,ENGINE = InnoDB;
+"In connection 1"
+SET NAMES UTF8;
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...'),
+('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит'),
+('ΜποÏῶ νὰ φάω σπασμένα' ,'γυαλιὰ χωÏὶς νὰ πάθω τίποτα'),
+('Sævör grét', 'áðan því úlpan var ónýt');
+"In connection 2"
+SET NAMES UTF8;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+"In connection 1"
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+INSERT INTO t1 (a,b) VALUES
+('adding record using session 1','for verifying multiple concurrent transactions'),
+('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+γυαλιὰ +χωÏὶ*' IN BOOLEAN MODE);
+id a b
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+START TRANSACTION;
+INSERT INTO t1 (a,b) VALUES
+('MySQL Tutorial','request docteam for oraclehelp.'),
+('PříliÅ¡ žluÅ¥ouÄký kůň', 'úpÄ›l Äábelské kódy');
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request Äábelské' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' WITH QUERY EXPANSION) ORDER BY 1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+6 Sævör grét áðan því úlpan var ónýt
+"In connection 2"
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+record +multiple' IN BOOLEAN MODE);
+id a b
+7 adding record using session 1 for verifying multiple concurrent transactions
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutor* Sævö*' IN BOOLEAN MODE) ORDER BY 1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+6 Sævör grét áðan því úlpan var ónýt
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('usin* multipl*' IN BOOLEAN MODE);
+id a b
+7 adding record using session 1 for verifying multiple concurrent transactions
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"request docteam"@08' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request' IN NATURAL LANGUAGE MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request MySQL' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('-request +MySQL' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+MySQL -(Tutorial Optimizing)' IN BOOLEAN MODE);
+id a b
+2 when To Use MySQL Well After that you went through a ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"stands Database"@11' IN BOOLEAN MODE) ORDER BY 1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('tutorial' WITH QUERY EXPANSION) ORDER BY 1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+"In connection 1"
+COMMIT;
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+id a b
+9 MySQL Tutorial request docteam for oraclehelp.
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('PříliÅ¡ žluÅ¥ouÄký' IN BOOLEAN MODE);
+id a b
+10 PříliÅ¡ žluÅ¥ouÄký kůň úpÄ›l Äábelské kódy
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('Příliš');
+id a b
+10 PříliÅ¡ žluÅ¥ouÄký kůň úpÄ›l Äábelské kódy
+INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+SELECT * FROM t1 WHERE a IS NULL AND b IS NULL;
+id a b
+11 NULL NULL
+"In connection 2"
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('usin* multipl*' IN BOOLEAN MODE);
+id a b
+7 adding record using session 1 for verifying multiple concurrent transactions
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+id a b
+9 MySQL Tutorial request docteam for oraclehelp.
+SELECT * FROM t1 WHERE a IS NULL AND b IS NULL;
+id a b
+11 NULL NULL
+ALTER TABLE t1 DROP INDEX idx;
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+START TRANSACTION;
+UPDATE t1 SET a = 'Trial version PříliÅ¡ žluÅ¥ouÄký' , b = 'query performace 1255 minute on 2.1Hz Memory 2GB...'
+WHERE MATCH (a,b) AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request');
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+query +performace' IN BOOLEAN MODE);
+id a b
+UPDATE t1 SET a = UPPER(a) WHERE MATCH (a,b) AGAINST ('+PříliÅ¡ +žluÅ¥ouÄký' IN BOOLEAN MODE);
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+PříliÅ¡ +žluÅ¥ouÄký' IN BOOLEAN MODE);
+id a b
+UPDATE t1 SET a = UPPER(a) WHERE a LIKE '%version Příliš%';
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+query +performace' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1 WHERE b LIKE '%query performace%';
+id a b
+9 TRIAL VERSION PŘÃLIÅ  ŽLUŤOUÄŒKà query performace 1255 minute on 2.1Hz Memory 2GB...
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('request');
+id a b
+"In connection 1"
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('query performace' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('performace');
+id a b
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+mail +MySQL' IN BOOLEAN MODE);
+id a b
+"In connection 2"
+COMMIT;
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+query +performace' IN BOOLEAN MODE);
+id a b
+9 TRIAL VERSION PŘÃLIÅ  ŽLUŤOUÄŒKà query performace 1255 minute on 2.1Hz Memory 2GB...
+"In connection 1"
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('+query +performace' IN BOOLEAN MODE);
+id a b
+9 TRIAL VERSION PŘÃLIÅ  ŽLUŤOUÄŒKà query performace 1255 minute on 2.1Hz Memory 2GB...
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq xyz.com ...'
+WHERE MATCH (a,b) AGAINST ('+πάθω +τίποτα' IN BOOLEAN MODE);
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('well free') ORDER BY 1;
+id a b
+2 when To Use MySQL Well After that you went through a ...
+5 when To Use MySQL Well for free faq xyz.com ...
+DROP TABLE t1;
+SET NAMES UTF8;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) CHARACTER SET = UTF8,ENGINE = InnoDB;
+"In connection 1"
+SET NAMES UTF8;
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...'),
+('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит'),
+('ΜποÏῶ νὰ φάω σπασμένα' ,'γυαλιὰ χωÏὶς νὰ πάθω τίποτα'),
+('Sævör grét', 'áðan því úlpan var ónýt');
+"In connection 2"
+SET NAMES UTF8;
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('adding record using session 1','for verifying multiple concurrent transactions'),
+('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+"In connection 1"
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+6 Sævör grét áðan því úlpan var ónýt
+7 adding record using session 1 for verifying multiple concurrent transactions
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+START TRANSACTION;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+id a b
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+7 adding record using session 1 for verifying multiple concurrent transactions
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+7 adding record using session 1 for verifying multiple concurrent transactions
+"In connection 2"
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+6 Sævör grét áðan því úlpan var ónýt
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+6 Sævör grét áðan því úlpan var ónýt
+7 adding record using session 1 for verifying multiple concurrent transactions
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+"In connection 1"
+COMMIT;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+"In connection 2"
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+7 adding record using session 1 for verifying multiple concurrent transactions
+DROP TABLE t1;
+SET NAMES UTF8;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) CHARACTER SET = UTF8,ENGINE = InnoDB;
+"In connection 1"
+SET NAMES UTF8;
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...'),
+('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит');
+"In connection 2"
+SET NAMES UTF8;
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('adding record using session 1','for verifying multiple concurrent transactions'),
+('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+"In connection 1"
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+START TRANSACTION;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+UPDATE t1 SET a = 'ΜποÏῶ νὰ φάω σπασμένα' , b = 'γυαλιὰ χωÏὶς νὰ πάθω τίποτα' WHERE MATCH (a,b) AGAINST ('+могу +Mне' IN BOOLEAN MODE);
+INSERT INTO t1(a,b) VALUES ('Sævör grét', 'áðan því úlpan var ónýt');
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+7 Sævör grét áðan því úlpan var ónýt
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+7 Sævör grét áðan því úlpan var ónýt
+"In connection 2"
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+7 Sævör grét áðan því úlpan var ónýt
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+"In connection 1"
+COMMIT;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+7 Sævör grét áðan því úlpan var ónýt
+"In connection 2"
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+id a b
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+7 Sævör grét áðan því úlpan var ónýt
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+7 Sævör grét áðan því úlpan var ónýt
+DROP TABLE t1;
+SET NAMES UTF8;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) CHARACTER SET = UTF8,ENGINE = InnoDB;
+"In connection 1"
+SET NAMES UTF8;
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...'),
+('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит'),
+('ΜποÏῶ νὰ φάω σπασμένα' ,'γυαλιὰ χωÏὶς νὰ πάθω τίποτα'),
+('Sævör grét', 'áðan því úlpan var ónýt');
+"In connection 2"
+SET NAMES UTF8;
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('adding record using session 1','for verifying multiple concurrent transactions'),
+('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+"In connection 1"
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+6 Sævör grét áðan því úlpan var ónýt
+7 adding record using session 1 for verifying multiple concurrent transactions
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+START TRANSACTION;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+id a b
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+7 adding record using session 1 for verifying multiple concurrent transactions
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+7 adding record using session 1 for verifying multiple concurrent transactions
+"In connection 2"
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+6 Sævör grét áðan því úlpan var ónýt
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+6 Sævör grét áðan því úlpan var ónýt
+7 adding record using session 1 for verifying multiple concurrent transactions
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+"In connection 1"
+ROLLBACK;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+6 Sævör grét áðan því úlpan var ónýt
+"In connection 2"
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+6 Sævör grét áðan því úlpan var ónýt
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+6 Sævör grét áðan því úlpan var ónýt
+7 adding record using session 1 for verifying multiple concurrent transactions
+8 Мога да Ñм Ñтъкло то Mне ми вреди
+DROP TABLE t1;
+SET NAMES UTF8;
+CREATE TABLE t1 (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+a VARCHAR(200),
+b TEXT
+) CHARACTER SET = UTF8,ENGINE = InnoDB;
+"In connection 1"
+SET NAMES UTF8;
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+('when To Use MySQL Well','After that you went through a ...'),
+('where will Optimizing MySQL','what In this tutorial we will show ...'),
+('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит');
+"In connection 2"
+SET NAMES UTF8;
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+INSERT INTO t1 (a,b) VALUES
+('adding record using session 1','for verifying multiple concurrent transactions'),
+('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+"In connection 1"
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+START TRANSACTION;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+могу +Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+UPDATE t1 SET a = 'ΜποÏῶ νὰ φάω σπασμένα' , b = 'γυαλιὰ χωÏὶς νὰ πάθω τίποτα' WHERE MATCH (a,b) AGAINST ('+могу +Mне' IN BOOLEAN MODE);
+INSERT INTO t1(a,b) VALUES ('Sævör grét', 'áðan því úlpan var ónýt');
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+7 Sævör grét áðan því úlpan var ónýt
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+7 Sævör grét áðan því úlpan var ónýt
+"In connection 2"
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 ΜποÏῶ νὰ φάω σπασμένα γυαλιὰ χωÏὶς νὰ πάθω τίποτα
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+7 Sævör grét áðan því úlpan var ónýt
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+"In connection 1"
+ROLLBACK;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+"In connection 2"
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+id a b
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+id a b
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+id a b
+SELECT * FROM t1;
+id a b
+1 MySQL from Tutorial DBMS stands for DataBase ...
+2 when To Use MySQL Well After that you went through a ...
+3 where will Optimizing MySQL what In this tutorial we will show ...
+4 Я могу еÑÑ‚ÑŒ Ñтекло оно мне Mне вредит
+5 adding record using session 1 for verifying multiple concurrent transactions
+6 Мога да Ñм Ñтъкло то Mне ми вреди
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/misc_debug.result b/mysql-test/suite/innodb_fts/r/misc_debug.result
new file mode 100644
index 00000000000..1fcc89b165b
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/misc_debug.result
@@ -0,0 +1,19 @@
+CREATE TABLE articles (
+id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+title VARCHAR(200),
+body TEXT,
+FULLTEXT (title,body)
+) ENGINE=InnoDB;
+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; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+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
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb_fts/r/sync_ddl.result b/mysql-test/suite/innodb_fts/r/sync_ddl.result
new file mode 100644
index 00000000000..1e98594b28e
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/r/sync_ddl.result
@@ -0,0 +1,117 @@
+CREATE TABLE t1 (
+id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
+value VARCHAR(1024)
+) ENGINE=InnoDB;
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SET @save_debug = @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_sync_before_syncing,ib_trunc_sleep_before_fts_cache_clear';
+INSERT INTO t1 (value) VALUES
+('By default or with the IN NATURAL LANGUAGE MODE modifier')
+;
+TRUNCATE TABLE t1;
+DROP TABLE t1;
+SET GLOBAL debug_dbug = @save_debug;
+CREATE TABLE t1 (
+id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
+value VARCHAR(1024)
+) ENGINE=InnoDB;
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_write_words_before_select_index,ib_trunc_sleep_before_fts_cache_clear';
+INSERT INTO t1 (value) VALUES
+('By default or with the IN NATURAL LANGUAGE MODE modifier'),
+('performs a natural language search for a string'),
+('collection is a set of one or more columns included'),
+('returns a relevance value; that is, a similarity measure'),
+('and the text in that row in the columns named in'),
+('By default, the search is performed in case-insensitive'),
+('sensitive full-text search, use a binary collation '),
+('example, a column that uses the latin1 character'),
+('collation of latin1_bin to make it case sensitive')
+;
+TRUNCATE TABLE t1;
+DROP TABLE t1;
+SET GLOBAL debug_dbug = @save_debug;
+CREATE TABLE t1 (
+value VARCHAR(1024)
+) ENGINE=InnoDB;
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_msg_sync_sleep';
+INSERT INTO t1 (value) VALUES
+('By default or with the IN NATURAL LANGUAGE MODE modifier'),
+('performs a natural language search for a string'),
+('collection is a set of one or more columns included'),
+('returns a relevance value; that is, a similarity measure'),
+('and the text in that row in the columns named in'),
+('By default, the search is performed in case-insensitive'),
+('sensitive full-text search, use a binary collation '),
+('example, a column that uses the latin1 character'),
+('collation of latin1_bin to make it case sensitive')
+;
+DROP INDEX idx1 ON t1;
+DROP TABLE t1;
+SET GLOBAL debug_dbug = @save_debug;
+CREATE TABLE t1 (
+value VARCHAR(1024)
+) ENGINE=InnoDB;
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_msg_sync_sleep';
+INSERT INTO t1 (value) VALUES
+('By default or with the IN NATURAL LANGUAGE MODE modifier'),
+('performs a natural language search for a string'),
+('collection is a set of one or more columns included'),
+('returns a relevance value; that is, a similarity measure'),
+('and the text in that row in the columns named in'),
+('By default, the search is performed in case-insensitive'),
+('sensitive full-text search, use a binary collation '),
+('example, a column that uses the latin1 character'),
+('collation of latin1_bin to make it case sensitive')
+;
+ALTER TABLE t1
+DROP INDEX idx1,
+ALGORITHM=INPLACE;
+DROP TABLE t1;
+SET GLOBAL debug_dbug = @save_debug;
+CREATE TABLE t1 (
+value VARCHAR(1024)
+) ENGINE=InnoDB;
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_msg_sync_sleep';
+INSERT INTO t1 (value) VALUES
+('example, a column that uses the latin1 character'),
+('collation of latin1_bin to make it case sensitive')
+;
+ALTER TABLE t1
+DROP INDEX idx1,
+ALGORITHM=COPY;
+DROP TABLE t1;
+SET GLOBAL debug_dbug = @save_debug;
+CREATE TABLE t1 (
+id1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+value VARCHAR(1024)
+) ENGINE=InnoDB;
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+Warnings:
+Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_msg_sync_sleep';
+INSERT INTO t1 (value) VALUES
+('example, a column that uses the latin1 character'),
+('collation of latin1_bin to make it case sensitive')
+;
+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;
+DROP TABLE t1;
+SET GLOBAL debug_dbug = @save_debug;
diff --git a/mysql-test/suite/innodb_fts/t/basic.test b/mysql-test/suite/innodb_fts/t/basic.test
new file mode 100644
index 00000000000..58f36be08a5
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/basic.test
@@ -0,0 +1,257 @@
+# This is the basic function tests for innodb FTS
+
+-- source include/have_innodb.inc
+
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+-- disable_result_log
+ANALYZE TABLE articles;
+-- enable_result_log
+
+# Look for 'Database' in table article
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+
+SELECT COUNT(*) FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('database' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles
+ WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+
+SELECT COUNT(IF(MATCH (title,body)
+ AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL))
+ AS count FROM articles;
+
+# Select Relevance Ranking
+SELECT id, body, MATCH (title,body)
+ AGAINST ('Database' IN NATURAL LANGUAGE MODE) AS score
+ FROM articles;
+
+# 'MySQL' treated as stopword (stopword functionality not yet supported)
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('MySQL' IN NATURAL LANGUAGE MODE);
+
+# Boolean search
+# Select rows contain "MySQL" but not "YourSQL"
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
+
+# Select rows contain at least one of the two words
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('DBMS Security' IN BOOLEAN MODE);
+
+# Select rows contain both "MySQL" and "YourSQL"
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('+MySQL +YourSQL' IN BOOLEAN MODE);
+
+# Select rows contain "MySQL" but rank rows with "YourSQL" higher
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('+MySQL YourSQL' IN BOOLEAN MODE);
+
+# Test negation operator. Select rows contain MySQL,
+# if the row contains "YourSQL", rank it lower
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('+MySQL ~YourSQL' IN BOOLEAN MODE);
+
+# Test wild card search operator
+# Notice row with "the" will not get fetched due to
+# stopword filtering
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('t*' IN BOOLEAN MODE);
+
+# Test wild card search, notice row 6 with 2 "MySQL" rank first
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('MY*' IN BOOLEAN MODE);
+
+# Another wild card search
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('ru*' IN BOOLEAN MODE);
+
+# Test ">" and "<" Operator, the ">" operator increases
+# the word relevance rank and the "<" operator decreases it
+# Following test puts rows with "Well" on top and rows
+# with "stands" at the bottom
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('+ MySQL >Well < stands' IN BOOLEAN MODE);
+
+# Test sub-expression boolean search. Find rows contain
+# "MySQL" but not "Well" or "stands".
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('+ MySQL - (Well stands)' IN BOOLEAN MODE);
+
+# Test sub-expression boolean search. Find rows contain
+# "MySQL" and "Well" or "MySQL" and "stands". But rank the
+# doc with "Well" higher, and doc with "stands" lower.
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('+ MySQL + (>Well < stands)' IN BOOLEAN MODE);
+
+# Test nested sub-expression.
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('YourSQL + (+MySQL - (Tricks Security))' IN BOOLEAN MODE);
+
+# Find rows with "MySQL" but not "Tricks", "Security" nor "YourSQL"
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('(+MySQL - (Tricks Security)) - YourSQL' IN BOOLEAN MODE);
+
+# Test non-word delimiter combined with negate "-" operator
+# This should return the same result as 'mysql - (Security DBMS)'
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - Security&DBMS' IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - (Security DBMS)' IN BOOLEAN MODE);
+
+# Again, the operator sequence should not matter
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST (' - Security&DBMS + YourSQL' IN BOOLEAN MODE);
+
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+YourSQL - Security&DBMS' IN BOOLEAN MODE);
+
+# Test query expansion
+SELECT COUNT(*) FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('database' WITH QUERY EXPANSION);
+
+INSERT INTO articles (title,body) VALUES
+ ('test query expansion','for database ...');
+
+# This query will return result containing word "database" as
+# the query expand from "test" to words in document just
+# inserted above
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('test' WITH QUERY EXPANSION);
+
+# This is to test the proximity search, search two word
+# "following" and "comparison" within 19 character space
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"following comparison"@3' IN BOOLEAN MODE);
+
+# This is to test the proximity search, search two word
+# "following" and "comparison" within 19 character space
+# This search should come with no return result
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"following comparison"@2' IN BOOLEAN MODE);
+
+# This is to test the phrase search, searching phrase
+# "following database"
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"following database"' IN BOOLEAN MODE);
+
+# Insert into table with similar word of different distances
+INSERT INTO articles (title,body) VALUES
+ ('test proximity search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO articles (title,body) VALUES
+ ('test my proximity fts new search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO articles (title,body) VALUES
+ ('test more of proximity fts search, test, more proximity and phrase',
+ 'search, with proximity innodb');
+
+# This should only return the first document
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"proximity search"@3' IN BOOLEAN MODE);
+
+# This would return no document
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"proximity search"@2' IN BOOLEAN MODE);
+
+# This give you all three documents
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"proximity search"@5' IN BOOLEAN MODE);
+
+# Similar boundary testing for the words
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"test proximity"@5' IN BOOLEAN MODE);
+
+# No document will be returned
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"test proximity"@1' IN BOOLEAN MODE);
+
+# All three documents will be returned
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"test proximity"@4' IN BOOLEAN MODE);
+
+# Only two document will be returned.
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"test proximity"@3' IN BOOLEAN MODE);
+
+# Test with more word The last document will return, please notice there
+# is no ordering requirement for proximity search.
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"more test proximity"@4' IN BOOLEAN MODE);
+
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"more test proximity"@3' IN BOOLEAN MODE);
+
+# The phrase search will not require exact word ordering
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('"more test proximity"' IN BOOLEAN MODE);
+
+drop table articles;
+
+--echo #
+--echo # Bug #22679185 INVALID INNODB FTS DOC ID DURING INSERT
+--echo #
+
+create table t1 (f1 int not null primary key, f2 varchar(100),
+ FTS_DOC_ID bigint(20) unsigned not null,
+ unique key `FTS_DOC_ID_INDEX` (`FTS_DOC_ID`),
+ fulltext key (f2))engine=innodb;
+
+insert into t1 values(1, "This is the first record", 20000);
+insert into t1 values(2, "This is the second record", 40000);
+select FTS_DOC_ID from t1;
+drop table t1;
+
+
+create table t1 (f1 int not null primary key, f2 varchar(100),
+ FTS_DOC_ID bigint(20) unsigned not null auto_increment,
+ unique key `FTS_DOC_ID_INDEX` (`FTS_DOC_ID`),
+ fulltext key (f2))engine=innodb;
+
+set auto_increment_increment = 65535;
+insert into t1(f1, f2) values(1, "This is the first record");
+insert into t1(f1, f2) values(2, "This is the second record");
+insert into t1(f1, f2) values(3, "This is the third record");
+select FTS_DOC_ID from t1;
+drop table t1;
+
+call mtr.add_suppression("\\[ERROR\\] InnoDB: Doc ID 20030101000000 is too big. Its difference with largest used Doc ID 0 cannot exceed or equal to 65535");
+CREATE TABLE t1 (FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200), FULLTEXT(title)) ENGINE=InnoDB;
+--error 182
+INSERT INTO t1 VALUES (NULL, NULL), (20030101000000, 20030102000000);
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/t/concurrent_insert.test b/mysql-test/suite/innodb_fts/t/concurrent_insert.test
new file mode 100644
index 00000000000..e5d61cd8b05
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/concurrent_insert.test
@@ -0,0 +1,20 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+CREATE TABLE t1(a VARCHAR(5),FULLTEXT KEY(a)) ENGINE=InnoDB;
+SET DEBUG_SYNC = 'get_next_FTS_DOC_ID SIGNAL prepared WAIT_FOR race';
+--send
+REPLACE INTO t1(a) values('aaa');
+
+connect(dml, localhost, root, ,);
+SET DEBUG_SYNC = 'now WAIT_FOR prepared';
+REPLACE INTO t1(a) VALUES('aaa');
+SET DEBUG_SYNC = 'now SIGNAL race';
+disconnect dml;
+
+connection default;
+reap;
+SET DEBUG_SYNC = 'RESET';
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/t/crash_recovery.test b/mysql-test/suite/innodb_fts/t/crash_recovery.test
new file mode 100644
index 00000000000..ec055930672
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/crash_recovery.test
@@ -0,0 +1,118 @@
+# Crash recovery tests for FULLTEXT INDEX.
+# Note: These tests used to be part of a larger test, innodb_fts_misc_debug
+# or innodb_fts.misc_debug. The part of the test that actually needs debug
+# instrumentation been moved to innodb_fts.misc_debug.
+
+--source include/have_innodb.inc
+# The embedded server tests do not support restarting.
+--source include/not_embedded.inc
+
+# Following are test for crash recovery on FTS index, the first scenario
+# is for bug Bug #14586855 INNODB: FAILING ASSERTION: (DICT_INDEX_GET_N_UNIQUE(
+# PLAN->INDEX) <= PLAN->N_EXAC
+
+# Scenario 1: Hidden FTS_DOC_ID column, and FTS index dropped
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+# Drop the FTS index before more insertion. The FTS_DOC_ID should
+# be kept
+DROP INDEX title ON articles;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+BEGIN;
+
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...');
+
+--source include/kill_and_restart_mysqld.inc
+
+# This insert will re-initialize the Doc ID counter, it should not crash
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...');
+
+# Recreate fulltext index to see if everything is OK
+CREATE FULLTEXT INDEX idx ON articles (title,body);
+
+# Should return 3 rows
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+
+# Scenario 2: Hidden FTS_DOC_ID column, with FTS index
+# Now let's do more insertion and test a crash with FTS on
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+BEGIN;
+
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...');
+
+--source include/kill_and_restart_mysqld.inc
+
+# This insert will re-initialize the Doc ID counter, it should not crash
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...');
+
+# Should return 6 rows
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+
+# Scenario 3: explicit FTS_DOC_ID column with FTS index
+# Now let's test user defined FTS_DOC_ID
+
+CREATE TABLE articles (
+ id int PRIMARY KEY,
+ FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ title VARCHAR(200),
+ body TEXT
+ ) ENGINE=InnoDB;
+
+CREATE FULLTEXT INDEX idx1 on articles (title, body);
+
+# Note the FTS_DOC_ID is not fully ordered with primary index
+INSERT INTO articles VALUES
+ (1, 10, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+ (2, 1, 'How To Use MySQL Well','After you went through a ...'),
+ (3, 2, 'Optimizing MySQL','In this tutorial we will show ...'),
+ (4, 11, '1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ (5, 6, 'MySQL vs. YourSQL','In the following database comparison ...'),
+ (7, 4, 'MySQL Security','When configured properly, MySQL ...');
+
+BEGIN;
+
+INSERT INTO articles VALUES
+ (100, 200, 'MySQL Tutorial','DBMS stands for DataBase ...');
+
+--source include/kill_and_restart_mysqld.inc
+
+# This would re-initialize the FTS index and do the re-tokenization
+# of above records
+INSERT INTO articles VALUES (8, 12, 'MySQL Tutorial','DBMS stands for DataBase ...');
+
+SELECT * FROM articles WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
diff --git a/mysql-test/suite/innodb_fts/t/create.opt b/mysql-test/suite/innodb_fts/t/create.opt
new file mode 100644
index 00000000000..3ad568c816e
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/create.opt
@@ -0,0 +1 @@
+--loose-innodb-sys-columns
diff --git a/mysql-test/suite/innodb_fts/t/create.test b/mysql-test/suite/innodb_fts/t/create.test
new file mode 100644
index 00000000000..f0329602ed1
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/create.test
@@ -0,0 +1,92 @@
+--source include/have_innodb.inc
+SET NAMES utf8mb4;
+
+--echo #
+--echo # MDEV-11233 CREATE FULLTEXT INDEX with a token
+--echo # longer than 127 bytes crashes server
+--echo #
+
+# This bug is the result of merging the Oracle MySQL follow-up fix
+# BUG#22963169 MYSQL CRASHES ON CREATE FULLTEXT INDEX
+# without merging a fix of Bug#79475 Insert a token of 84 4-bytes
+# chars into fts index causes server crash.
+
+# Oracle did not publish tests for either of the above MySQL bugs.
+# The tests below were developed for MariaDB Server.
+# The maximum length of a fulltext-indexed word is 84 characters.
+
+CREATE TABLE t(t TEXT CHARACTER SET utf8mb3) ENGINE=InnoDB;
+INSERT INTO t SET t=REPEAT(CONCAT(REPEAT(_utf8mb3 0xE0B987, 4), REPEAT(_utf8mb3 0xE0B989, 5)), 5);
+INSERT INTO t SET t=REPEAT(_utf8 0xefbc90,84);
+INSERT INTO t SET t=REPEAT('befor',17); # too long, will not be indexed
+INSERT INTO t SET t='BeforeTheIndexCreation';
+CREATE FULLTEXT INDEX ft ON t(t);
+INSERT INTO t SET t='this was inserted after creating the index';
+INSERT INTO t SET t=REPEAT(_utf8 0xefbc91,84);
+INSERT INTO t SET t=REPEAT('after',17); # too long, will not be indexed
+INSERT INTO t SET t=REPEAT(_utf8mb3 0xe794b2e9aaa8e69687, 15);
+--echo # The data below is not 3-byte UTF-8, but 4-byte chars.
+INSERT INTO t SET t=REPEAT(_utf8mb4 0xf09f9695, 84);
+INSERT INTO t SET t=REPEAT(_utf8mb4 0xf09f9696, 85);
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST
+(REPEAT(CONCAT(REPEAT(_utf8mb3 0xE0B987, 4), REPEAT(_utf8mb3 0xE0B989, 5)), 5));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST ('BeforeTheIndexCreation');
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT('befor',17));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST ('after');
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT('after',17));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 83));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 84));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 85));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 83));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 84));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 85));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9695, 83));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9695, 84));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9696, 84));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9696, 85));
+SELECT * FROM t;
+
+# The column length should be 252 bytes (84 characters * 3 bytes/character).
+SELECT len,COUNT(*) FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS where name='word' GROUP BY len;
+DROP TABLE t;
+
+CREATE TABLE t(t TEXT CHARACTER SET utf8mb4) ENGINE=InnoDB;
+INSERT INTO t SET t=REPEAT(_utf8mb3 0xe794b2e9aaa8e69687, 15);
+INSERT INTO t SET t=REPEAT(_utf8 0xefbc90,84);
+INSERT INTO t SET t=REPEAT('befor',17); # too long, will not be indexed
+INSERT INTO t SET t='BeforeTheIndexCreation';
+CREATE FULLTEXT INDEX ft ON t(t);
+INSERT INTO t SET t='this was inserted after creating the index';
+INSERT INTO t SET t=REPEAT(_utf8 0xefbc91,84);
+INSERT INTO t SET t=REPEAT('after',17); # too long, will not be indexed
+INSERT INTO t SET t=REPEAT(concat(repeat(_utf8mb3 0xE0B987, 4), repeat(_utf8mb3 0xE0B989, 5)), 5);
+INSERT INTO t SET t=REPEAT(_utf8mb4 0xf09f9695, 84);
+--echo # The token below exceeds the 84-character limit.
+INSERT INTO t SET t=REPEAT(_utf8mb4 0xf09f9696, 85);
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb3 0xe794b2e9aaa8e69687, 15));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST ('BeforeTheIndexCreation');
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT('befor',17));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST ('after');
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT('after',17));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 83));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 84));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc90, 85));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 83));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 84));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8 0xefbc91, 85));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9695, 83));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9695, 84));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9696, 84));
+SELECT COUNT(*) FROM t WHERE MATCH t AGAINST (REPEAT(_utf8mb4 0xf09f9696, 85));
+SELECT * FROM t;
+
+# The column length should be 336 bytes (84 characters * 4 bytes/character).
+SELECT len,COUNT(*) FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS where name='word' GROUP BY len;
+DROP TABLE t;
+
+CREATE TABLE t(t TEXT CHARACTER SET latin1, FULLTEXT INDEX(t))
+ENGINE=InnoDB;
+
+# The column length should be 84 bytes (84 characters * 1 byte/character).
+SELECT len,COUNT(*) FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS where name='word' GROUP BY len;
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb_fts/t/fts_kill_query.test b/mysql-test/suite/innodb_fts/t/fts_kill_query.test
new file mode 100644
index 00000000000..3dda29a3876
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fts_kill_query.test
@@ -0,0 +1,30 @@
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (a VARCHAR(7), b text, FULLTEXT KEY idx (a,b)) ENGINE=InnoDB;
+
+--disable_query_log
+BEGIN;
+let $n=1000;
+while ($n) {
+INSERT INTO t1 VALUES('foo bar','boo far');
+dec $n;
+}
+--enable_query_log
+COMMIT;
+
+let $id = `SELECT CONNECTION_ID()`;
+send SELECT COUNT(*) FROM t1
+WHERE MATCH (a,b) AGAINST ('foo bar' IN BOOLEAN MODE);
+
+connect (con1,localhost,root,,);
+let $ignore= `SELECT @id := $ID`;
+KILL QUERY @id;
+disconnect con1;
+
+connection default;
+# The following would return a result set if the KILL was not fast enough.
+--disable_result_log
+--error 0,ER_QUERY_INTERRUPTED,HA_ERR_ABORTED_BY_USER
+reap;
+--enable_result_log
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/t/fulltext.test b/mysql-test/suite/innodb_fts/t/fulltext.test
new file mode 100644
index 00000000000..663b202265b
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext.test
@@ -0,0 +1,719 @@
+#
+# Test of fulltext index
+#
+
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
+ ('Full-text indexes', 'are called collections'),
+ ('Only MyISAM tables','support collections'),
+ ('Function MATCH ... AGAINST()','is used to do a search'),
+ ('Full-text search in MySQL', 'implements vector space model');
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+SHOW INDEX FROM t1;
+
+# nl search
+
+select * from t1 where MATCH(a,b) AGAINST ("collections");
+explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
+select * from t1 where MATCH(a,b) AGAINST ("indexes");
+select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
+select * from t1 where MATCH(a,b) AGAINST ("only");
+
+# query expansion
+
+select * from t1 where MATCH(a,b) AGAINST ("collections" WITH QUERY EXPANSION);
+select * from t1 where MATCH(a,b) AGAINST ("indexes" WITH QUERY EXPANSION);
+select * from t1 where MATCH(a,b) AGAINST ("indexes collections" WITH QUERY EXPANSION);
+
+# IN NATURAL LANGUAGE MODE
+select * from t1 where MATCH(a,b) AGAINST ("indexes" IN NATURAL LANGUAGE MODE);
+select * from t1 where MATCH(a,b) AGAINST ("indexes" IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION);
+--error 1064
+select * from t1 where MATCH(a,b) AGAINST ("indexes" IN BOOLEAN MODE WITH QUERY EXPANSION);
+
+# add_ft_keys() tests
+
+explain select * from t1 where MATCH(a,b) AGAINST ("collections");
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>0;
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>1;
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>=0;
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>=1;
+explain select * from t1 where 0<MATCH(a,b) AGAINST ("collections");
+explain select * from t1 where 1<MATCH(a,b) AGAINST ("collections");
+explain select * from t1 where 0<=MATCH(a,b) AGAINST ("collections");
+explain select * from t1 where 1<=MATCH(a,b) AGAINST ("collections");
+explain select * from t1 where MATCH(a,b) AGAINST ("collections")>0 and a like '%ll%';
+
+# boolean search
+
+select * from t1 where MATCH(a,b) AGAINST("support -collections" IN BOOLEAN MODE);
+explain extended select * from t1 where MATCH(a,b) AGAINST("support -collections" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("support +collections" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("sear*" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+select *, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+select *, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+
+select * from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE);
+
+select * from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"now support"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"text search" -"now support"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"text search" +"now support"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"text i"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE);
+
+select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE);
+
+# bug#2708, bug#3870 crash
+
+select * from t1 where MATCH a,b AGAINST('"space model' IN BOOLEAN MODE);
+
+# INNODB_FTS: No FTS index on column a or b. InnoDB do now support
+# FT type search when there is no FTS INDEX
+
+# select * from t1 where MATCH a AGAINST ("search" IN BOOLEAN MODE);
+# select * from t1 where MATCH b AGAINST ("sear*" IN BOOLEAN MODE);
+
+# UNION of fulltext's
+#select * from t1 where MATCH(a,b) AGAINST ("collections") UNION ALL select * from t1 where MATCH(a,b) AGAINST ("indexes");
+
+#update/delete with fulltext index
+
+delete from t1 where a like "MySQL%";
+update t1 set a='some test foobar' where MATCH a,b AGAINST ('model');
+delete from t1 where MATCH(a,b) AGAINST ("indexes");
+select * from t1;
+drop table t1;
+
+#
+# why to scan strings for trunc*
+#
+
+create table t1 (a varchar(200) not null, fulltext (a)) engine = innodb;
+insert t1 values ("aaa10 bbb20"), ("aaa20 bbb15"), ("aaa30 bbb10");
+select * from t1 where match a against ("+aaa* +bbb*" in boolean mode);
+select * from t1 where match a against ("+aaa* +bbb1*" in boolean mode);
+select * from t1 where match a against ("+aaa* +ccc*" in boolean mode);
+select * from t1 where match a against ("+aaa10 +(bbb*)" in boolean mode);
+
+# FTS_INNODB: INVESTIGATE
+select * from t1 where match a against ("+(+aaa* +bbb1*)" in boolean mode);
+select * from t1 where match a against ("(+aaa* +bbb1*)" in boolean mode);
+drop table t1;
+
+#
+# Check bug reported by Matthias Urlichs
+#
+
+CREATE TABLE t1 (
+ id int(11),
+ ticket int(11),
+ KEY ti (id),
+ KEY tit (ticket)
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (2,3),(1,2);
+
+CREATE TABLE t2 (
+ ticket int(11),
+ inhalt text,
+ KEY tig (ticket),
+ fulltext index tix (inhalt)
+) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (1,'foo'),(2,'bar'),(3,'foobar');
+
+#select t1.id FROM t2 as ttxt,t1,t1 as ticket2
+#WHERE ticket2.id = ttxt.ticket AND t1.id = ticket2.ticket and
+#match(ttxt.inhalt) against ('foobar');
+
+# In the following query MySQL didn't use the fulltext index
+#select ticket2.id FROM t2 as ttxt,t2 INNER JOIN t1 as ticket2 ON
+#ticket2.id = t2.ticket
+#WHERE ticket2.id = ticket2.ticket and match(ttxt.inhalt) against ('foobar');
+
+INSERT INTO t1 VALUES (3,3);
+-- disable_result_log
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+-- enable_result_log
+select ticket2.id FROM t2 as ttxt,t2
+INNER JOIN t1 as ticket2 ON ticket2.id = t2.ticket
+WHERE ticket2.id = ticket2.ticket and
+ match(ttxt.inhalt) against ('foobar');
+
+# Check that we get 'fulltext' index in SHOW CREATE
+
+show keys from t2;
+show create table t2;
+
+# check for bug reported by Stephan Skusa
+
+select * from t2 where MATCH inhalt AGAINST (NULL);
+
+# MATCH in HAVING (pretty useless, but still it should work)
+
+select * from t2 where MATCH inhalt AGAINST ('foobar');
+
+# INNODB_FTS: INVESTIGATE
+select * from t2 having MATCH inhalt AGAINST ('foobar');
+
+#
+# check of fulltext errors
+#
+
+--error 1283
+CREATE TABLE t3 (t int(11),i text,fulltext tix (t,i));
+--error 1283
+CREATE TABLE t3 (t int(11),i text,
+ j varchar(200) CHARACTER SET latin2,
+ fulltext tix (i,j));
+
+CREATE TABLE t3 (
+ ticket int(11),
+ inhalt text,
+ KEY tig (ticket),
+ fulltext index tix (inhalt)
+) ENGINE = InnoDB;
+
+--error 1210
+select * from t2 where MATCH inhalt AGAINST (t2.inhalt);
+--error 1191
+select * from t2 where MATCH ticket AGAINST ('foobar');
+--error 1210
+select * from t2,t3 where MATCH (t2.inhalt,t3.inhalt) AGAINST ('foobar');
+
+drop table t1,t2,t3;
+
+#
+# three more bugtests
+#
+
+CREATE TABLE t1 (
+ id int(11) auto_increment,
+ title varchar(100) default '',
+ PRIMARY KEY (id),
+ KEY ind5 (title)
+) ENGINE = InnoDB;
+
+CREATE FULLTEXT INDEX ft1 ON t1(title);
+insert into t1 (title) values ('this is a test');
+select * from t1 where match title against ('test' in boolean mode);
+update t1 set title='this is A test' where id=1;
+
+check table t1;
+update t1 set title='this test once revealed a bug' where id=1;
+select * from t1;
+update t1 set title=NULL where id=1;
+
+drop table t1;
+
+# one more bug - const_table related
+
+CREATE TABLE t1 (a int(11), b text, FULLTEXT KEY (b)) ENGINE = InnoDB;
+insert into t1 values (1,"I wonder why the fulltext index doesnt work?");
+SELECT * from t1 where MATCH (b) AGAINST ('apples');
+
+insert into t1 values (2,"fullaaa fullzzz");
+select * from t1 where match b against ('full*' in boolean mode);
+
+drop table t1;
+
+CREATE TABLE t1 ( id int(11) NOT NULL auto_increment primary key, mytext text NOT NULL, FULLTEXT KEY mytext (mytext)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,'my small mouse'),(2,'la-la-la'),(3,'It is so funny'),(4,'MySQL Tutorial');
+select 8 from t1;
+drop table t1;
+
+#
+# Check bug reported by Julian Ladisch
+# ERROR 1030: Got error 127 from table handler
+#
+
+create table t1 (a text, fulltext key (a)) ENGINE = InnoDB;
+insert into t1 values ('aaaa');
+
+# INNODB_FTS: InnoDB do not support "repair" command
+# repair table t1;
+select * from t1 where match (a) against ('aaaa');
+drop table t1;
+
+#
+# bug #283 by jocelyn fournier <joc@presence-pc.com>
+# FULLTEXT index on a TEXT filed converted to a CHAR field doesn't work anymore
+#
+
+create table t1 ( ref_mag text not null, fulltext (ref_mag)) ENGINE = InnoDB;
+insert into t1 values ('test');
+select ref_mag from t1 where match ref_mag against ('+test' in boolean mode);
+alter table t1 change ref_mag ref_mag char (255) not null;
+select ref_mag from t1 where match ref_mag against ('+test' in boolean mode);
+drop table t1;
+
+#
+# bug #942: JOIN
+# NOTE: Not related to FTS, no FTS index created
+
+create table t1 (t1_id int(11) primary key, name varchar(32)) ENGINE = InnoDB;
+insert into t1 values (1, 'data1');
+insert into t1 values (2, 'data2');
+
+create table t2 (t2_id int(11) primary key, t1_id int(11), name varchar(32)) ENGINE = InnoDB;
+insert into t2 values (1, 1, 'xxfoo');
+insert into t2 values (2, 1, 'xxbar');
+insert into t2 values (3, 1, 'xxbuz');
+# INNODB_FTS: InnoDB do not support MATCH expressions with arguments from
+# different tables
+--error ER_WRONG_ARGUMENTS
+select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode);
+
+#
+# Bug #7858: bug with many short (< ft_min_word_len) words in boolean search
+#
+# INNODB_FTS: Note there is no fulltext index on table. InnoDB do not support
+# Fulltext search in such case
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+select * from t2 where match name against ('*a*b*c*d*e*f*' in boolean mode);
+drop table t1,t2;
+
+#
+# bug with repair-by-sort and incorrect records estimation
+#
+
+create table t1 (a text, fulltext key (a)) ENGINE = InnoDB;
+insert into t1 select "xxxx yyyy zzzz";
+drop table t1;
+
+#
+# UTF8
+# INNODB_FTS: Charset Support (FIX)
+SET NAMES latin1;
+CREATE TABLE t1 (t text character set utf8 not null, fulltext(t)) ENGINE = InnoDB;
+INSERT t1 VALUES ('Mit freundlichem Grüß'), ('aus Osnabrück');
+SET NAMES koi8r;
+INSERT t1 VALUES ("üÔÏ ÍÙ - ÏÐÉÌËÉ"),("ïÔÌÅÚØ, ÇÎÉÄÁ!"),
+ ("îÅ ×ÌÅÚÁÊ, ÕÂØÅÔ!"),("É ÂÕÄÅÔ ÐÒÁ×!");
+SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('ïðéìëé');
+#SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('ðÒá*' IN BOOLEAN MODE);
+#SELECT * FROM t1 WHERE MATCH t AGAINST ('ÜÔÏ' IN BOOLEAN MODE);
+#SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrück');
+#SET NAMES latin1;
+#SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrück');
+#SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrueck');
+#SELECT t, collation(t),FORMAT(MATCH t AGAINST ('Osnabruck'),6) FROM t1 WHERE MATCH t AGAINST ('Osnabruck');
+#alter table t1 modify t text character set latin1 collate latin1_german2_ci not null;
+#alter table t1 modify t varchar(200) collate latin1_german2_ci not null;
+#SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrück');
+#SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrueck');
+DROP TABLE t1;
+
+#
+# bug#3964
+#
+
+CREATE TABLE t1 (s varchar(255), FULLTEXT (s)) ENGINE = InnoDB DEFAULT CHARSET=utf8;
+insert into t1 (s) values ('pära para para'),('para para para');
+select * from t1 where match(s) against('para' in boolean mode);
+select * from t1 where match(s) against('par*' in boolean mode);
+DROP TABLE t1;
+
+#
+# icc -ip bug (ip = interprocedural optimization)
+# bug#5528
+#
+CREATE TABLE t1 (h text, FULLTEXT (h)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('Jesses Hasse Ling and his syncopators of Swing');
+
+# INNODB_FTS: InnoDB do not support "repair" command
+# REPAIR TABLE t1;
+select count(*) from t1;
+drop table t1;
+
+#
+# testing out of bounds memory access in ft_nlq_find_relevance()
+# (bug#8522); visible in valgrind.
+#
+CREATE TABLE t1 ( a TEXT, FULLTEXT (a) ) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('testing ft_nlq_find_relevance');
+SELECT MATCH(a) AGAINST ('nosuchword') FROM t1;
+DROP TABLE t1;
+#
+# bug#6784
+# mi_flush_bulk_insert (on dup key error in mi_write)
+# was mangling info->dupp_key_pos
+#
+
+create table t1 (a int primary key, b text, fulltext(b)) ENGINE = InnoDB;
+create table t2 (a int, b text) ENGINE = InnoDB;
+insert t1 values (1, "aaaa"), (2, "bbbb");
+insert t2 values (10, "aaaa"), (2, "cccc");
+replace t1 select * from t2;
+drop table t1, t2;
+
+#
+# bug#8351
+#
+# INNODB_FTS: Charset Support
+CREATE TABLE t1 (t VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci, FULLTEXT (t)) ENGINE = InnoDB;
+SET NAMES latin1;
+INSERT INTO t1 VALUES('Mit freundlichem Grüß aus Osnabrück');
+SELECT COUNT(*) FROM t1 WHERE MATCH(t) AGAINST ('"osnabrück"' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+#
+# BUG#11684 - repair crashes mysql when table has fulltext index
+#
+
+CREATE TABLE t1 (a VARCHAR(30), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
+
+# INNODB_FTS: InnoDB do not support repair
+#SET myisam_repair_threads=2;
+#REPAIR TABLE t1;
+#SET myisam_repair_threads=@@global.myisam_repair_threads;
+
+#
+# BUG#5686 - #1034 - Incorrect key file for table - only utf8
+#
+INSERT INTO t1 VALUES('testword\'\'');
+SELECT a FROM t1 WHERE MATCH a AGAINST('testword' IN BOOLEAN MODE);
+SELECT a FROM t1 WHERE MATCH a AGAINST('testword\'\'' IN BOOLEAN MODE);
+
+#
+# BUG#14194: Problem with fulltext boolean search and apostrophe
+#
+# INNODB_FTS: Add "apostrophe" support
+INSERT INTO t1 VALUES('test\'s');
+SELECT a FROM t1 WHERE MATCH a AGAINST('test' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+#
+# BUG#13835: max key length is 1000 bytes when trying to create
+# a fulltext index
+#
+CREATE TABLE t1 (a VARCHAR(10000), FULLTEXT(a)) ENGINE = InnoDB;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+#
+# BUG#14496: Crash or strange results with prepared statement,
+# MATCH and FULLTEXT
+#
+CREATE TABLE t1 (a TEXT, FULLTEXT KEY(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('test'),('test1'),('test');
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+PREPARE stmt from "SELECT a, FORMAT(MATCH(a) AGAINST('test1 test'),6) FROM t1 WHERE MATCH(a) AGAINST('test1 test')";
+
+EXECUTE stmt;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+DROP TABLE t1;
+
+#
+# BUG#25951 - ignore/use index does not work with fulltext
+#
+CREATE TABLE t1 (a VARCHAR(255), FULLTEXT(a)) ENGINE = InnoDB;
+SELECT * FROM t1 IGNORE INDEX(a) WHERE MATCH(a) AGAINST('test');
+# INNODB_FTS: InnoDB do have have this option (disable keys)
+# ALTER TABLE t1 DISABLE KEYS;
+# --error 1191
+SELECT * FROM t1 WHERE MATCH(a) AGAINST('test');
+DROP TABLE t1;
+
+#
+# BUG#11392 - fulltext search bug
+#
+CREATE TABLE t1(a TEXT, fulltext(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES(' aaaaa aaaa');
+SELECT * FROM t1 WHERE MATCH(a) AGAINST ('"aaaa"' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+#
+# BUG#29445 - match ... against () never returns
+#
+CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('Offside'),('City Of God');
+
+SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE);
+SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of*)' IN BOOLEAN MODE);
+SELECT a FROM t1 WHERE MATCH a AGAINST ('+city* of*' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+# End of 4.1 tests
+
+#
+# bug#34374 - mysql generates incorrect warning
+#
+create table t1(a text,b date,fulltext index(a)) ENGINE = InnoDB;
+insert into t1 set a='water',b='2008-08-04';
+select 1 from t1 where match(a) against ('water' in boolean mode) and b>='2008-08-01';
+drop table t1;
+show warnings;
+
+#
+# BUG#38842 - Fix for 25951 seems incorrect
+#
+CREATE TABLE t1 (a VARCHAR(255), b INT, FULLTEXT(a), KEY(b)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('test', 1),('test', 1),('test', 1),('test', 1),
+ ('test', 1),('test', 2),('test', 3),('test', 4);
+
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+EXPLAIN SELECT * FROM t1
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+
+EXPLAIN SELECT * FROM t1 USE INDEX(a)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+
+EXPLAIN SELECT * FROM t1 FORCE INDEX(a)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+EXPLAIN SELECT * FROM t1 IGNORE INDEX(a)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+EXPLAIN SELECT * FROM t1 USE INDEX(b)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+EXPLAIN SELECT * FROM t1 FORCE INDEX(b)
+WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
+
+DROP TABLE t1;
+
+#
+# BUG#37245 - Full text search problem
+#
+CREATE TABLE t1(a CHAR(10), fulltext(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('aaa15');
+
+SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE) FROM t1;
+SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE) FROM t1;
+DROP TABLE t1;
+
+#
+# BUG#36737 - having + full text operator crashes mysql
+#
+CREATE TABLE t1(a TEXT) ENGINE = InnoDB;
+--error ER_WRONG_ARGUMENTS
+SELECT GROUP_CONCAT(a) AS st FROM t1 HAVING MATCH(st) AGAINST('test' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+#
+# BUG#42907 - Multi-term boolean fulltext query containing a single
+# quote fails in 5.1.x
+#
+CREATE TABLE t1(a VARCHAR(64), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('awrd bwrd cwrd'),('awrd bwrd cwrd'),('awrd bwrd cwrd');
+SELECT * FROM t1 WHERE MATCH(a) AGAINST('+awrd bwrd* +cwrd*' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+#
+# BUG#37740 Server crashes on execute statement with full text search and match against
+#
+CREATE TABLE t1 (col text, FULLTEXT KEY full_text (col)) ENGINE = InnoDB;
+
+PREPARE s FROM
+ "SELECT MATCH (col) AGAINST('findme') FROM t1 ORDER BY MATCH (col) AGAINST('findme')"
+ ;
+
+EXECUTE s;
+DEALLOCATE PREPARE s;
+DROP TABLE t1;
+
+
+--echo #
+--echo # Bug #49250 : spatial btree index corruption and crash
+--echo # Part two : fulltext syntax check
+--echo #
+
+--error ER_PARSE_ERROR
+CREATE TABLE t1(col1 TEXT,
+ FULLTEXT INDEX USING BTREE (col1));
+CREATE TABLE t2(col1 TEXT) ENGINE = InnoDB;
+--error ER_PARSE_ERROR
+CREATE FULLTEXT INDEX USING BTREE ON t2(col);
+--error ER_PARSE_ERROR
+ALTER TABLE t2 ADD FULLTEXT INDEX USING BTREE (col1);
+
+DROP TABLE t2;
+
+
+--echo End of 5.0 tests
+
+
+--echo #
+--echo # Bug #47930: MATCH IN BOOLEAN MODE returns too many results
+--echo # inside subquery
+--echo #
+
+CREATE TABLE t1 (a int) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1), (2);
+
+CREATE TABLE t2 (a int, b2 char(10), FULLTEXT KEY b2 (b2)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (1,'Scargill');
+
+CREATE TABLE t3 (a int, b int) ENGINE = InnoDB;
+INSERT INTO t3 VALUES (1,1), (2,1);
+
+--echo # t2 should use full text index
+EXPLAIN
+SELECT count(*) FROM t1 WHERE
+ not exists(
+ SELECT 1 FROM t2, t3
+ WHERE t3.a=t1.a AND MATCH(b2) AGAINST('scargill' IN BOOLEAN MODE)
+ );
+
+# INNODB_FTS: INVESTIGATE
+--echo # should return 0
+SELECT count(*) FROM t1 WHERE
+ not exists(
+ SELECT 1 FROM t2, t3
+ WHERE t3.a=t1.a AND MATCH(b2) AGAINST('scargill' IN BOOLEAN MODE)
+ );
+
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+SELECT count(*) FROM t1 WHERE
+ not exists(
+ SELECT 1 FROM t2 IGNORE INDEX (b2), t3
+ WHERE t3.a=t1.a AND MATCH(b2) AGAINST('scargill' IN BOOLEAN MODE)
+ );
+
+DROP TABLE t1,t2,t3;
+
+#
+# BUG#50351 - ft_min_word_len=2 Causes query to hang
+#
+CREATE TABLE t1 (a VARCHAR(4), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
+('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('awrd'),('cwrd'),
+('awrd');
+SELECT COUNT(*) FROM t1 WHERE MATCH(a) AGAINST("+awrd bwrd* +cwrd*" IN BOOLEAN MODE);
+DROP TABLE t1;
+
+--echo #
+--echo # Bug #49445: Assertion failed: 0, file .\item_row.cc, line 55 with
+--echo # fulltext search and row op
+--echo #
+
+CREATE TABLE t1(a CHAR(1),FULLTEXT(a)) ENGINE = InnoDB;
+SELECT 1 FROM t1 WHERE MATCH(a) AGAINST ('') AND ROW(a,a) > ROW(1,1);
+DROP TABLE t1;
+
+--echo #
+--echo # BUG#51866 - crash with repair by sort and fulltext keys
+--echo #
+CREATE TABLE t1(a CHAR(4), FULLTEXT(a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('aaaa');
+# INNODB_FTS: Do not support "set myisam_sort_buffer" commands
+#SET myisam_sort_buffer_size=4;
+#REPAIR TABLE t1;
+#SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#54484 explain + prepared statement: crash and Got error -1 from storage engine
+--echo #
+
+CREATE TABLE t1(f1 VARCHAR(6) NOT NULL, FULLTEXT KEY(f1), UNIQUE(f1)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('test');
+--disable_warnings
+SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1)) xor f1;
+
+PREPARE stmt FROM
+'SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1)) xor f1';
+
+EXECUTE stmt;
+EXECUTE stmt;
+
+DEALLOCATE PREPARE stmt;
+
+PREPARE stmt FROM
+'SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+
+EXECUTE stmt;
+EXECUTE stmt;
+
+DEALLOCATE PREPARE stmt;
+--enable_warnings
+
+DROP TABLE t1;
+
+--echo End of 5.1 tests
+
+# This is an adapted and extended version of an Oracle test for
+# Bug#21140111: Explain ... match against: Assertion failed: ret ...
+# No bug was repeatable for MariaDB.
+
+CREATE TABLE z(a INTEGER) engine=innodb;
+CREATE TABLE q(b TEXT CHARSET latin1, fulltext(b)) engine=innodb;
+
+--error ER_PARSE_ERROR
+EXPLAIN SELECT 1 FROM q WHERE (SELECT MATCH(b) AGAINST ('*') FROM z);
+--error ER_PARSE_ERROR
+SELECT 1 FROM q WHERE (SELECT MATCH(b) AGAINST ('*') FROM z);
+--error ER_BAD_FIELD_ERROR
+EXPLAIN SELECT MATCH(b) AGAINST ('*') FROM z;
+--error ER_BAD_FIELD_ERROR
+SELECT MATCH(b) AGAINST ('*') FROM z;
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+EXPLAIN SELECT MATCH(a) AGAINST ('*') FROM z;
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+SELECT MATCH(a) AGAINST ('*') FROM z;
+EXPLAIN SELECT MATCH(b) AGAINST ('*') FROM q;
+--error ER_PARSE_ERROR
+SELECT MATCH(b) AGAINST ('*') FROM q;
+
+DROP TABLE z, q;
+
+create table t (
+ FTS_DOC_ID BIGINT UNSIGNED PRIMARY KEY, t TEXT, FULLTEXT KEY (t)
+) ENGINE=InnoDB;
+
+INSERT INTO t values (1, 'foo bar'), (2, 'foo bar'), (3, 'foo');
+let $limit=0;
+let $N=6;
+while ($N)
+{
+ eval SELECT * FROM t WHERE MATCH(t) AGAINST ('foo bar' IN BOOLEAN MODE)
+ LIMIT $limit;
+ inc $limit;
+ dec $N;
+}
+
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb_fts/t/fulltext2.test b/mysql-test/suite/innodb_fts/t/fulltext2.test
new file mode 100644
index 00000000000..33b6a7ac88e
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext2.test
@@ -0,0 +1,241 @@
+#
+# test of new fulltext search features
+#
+
+#
+# two-level tree
+#
+
+--source include/have_innodb.inc
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+CREATE TABLE t1 (
+ i int(10) unsigned not null auto_increment primary key,
+ a varchar(255) not null,
+ FULLTEXT KEY (a)
+) ENGINE = INNODB;
+
+# two-level entry, second-level tree with depth 2
+--disable_query_log
+let $1=260;
+while ($1)
+{
+ eval insert t1 (a) values ('aaaxxx');
+ dec $1;
+}
+
+# two-level entry, second-level tree has only one page
+let $1=255;
+while ($1)
+{
+ eval insert t1 (a) values ('aaazzz');
+ dec $1;
+}
+
+# one-level entry (entries)
+let $1=250;
+while ($1)
+{
+ eval insert t1 (a) values ('aaayyy');
+ dec $1;
+}
+--enable_query_log
+
+# converting to two-level
+# INNODB_FTS: Do not support repair
+#repair table t1 quick;
+check table t1;
+#optimize table t1; # BUG#5327 - mi_sort_index() of 2-level tree
+#check table t1;
+
+select count(*) from t1 where match a against ('aaaxxx');
+select count(*) from t1 where match a against ('aaayyy');
+select count(*) from t1 where match a against ('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+select count(*) from t1 where match a against ('aaaxxx aaayyy aaazzz');
+select count(*) from t1 where match a against ('aaaxxx aaayyy aaazzz' in boolean mode);
+
+select count(*) from t1 where match a against ('aaax*' in boolean mode);
+select count(*) from t1 where match a against ('aaay*' in boolean mode);
+select count(*) from t1 where match a against ('aaa*' in boolean mode);
+
+# mi_write:
+
+insert t1 (a) values ('aaaxxx'),('aaayyy');
+# call to enlarge_root() below
+insert t1 (a) values ('aaazzz'),('aaazzz'),('aaazzz'),('aaazzz'),('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx');
+select count(*) from t1 where match a against ('aaayyy');
+select count(*) from t1 where match a against ('aaazzz');
+
+# mi_delete
+insert t1 (a) values ('aaaxxx 000000');
+select count(*) from t1 where match a against ('000000');
+delete from t1 where match a against ('000000');
+select count(*) from t1 where match a against ('000000');
+select count(*) from t1 where match a against ('aaaxxx');
+delete from t1 where match a against ('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+# double-check without index
+select count(*) from t1 where a = 'aaaxxx';
+select count(*) from t1 where a = 'aaayyy';
+select count(*) from t1 where a = 'aaazzz';
+
+# update
+insert t1 (a) values ('aaaxxx 000000');
+select count(*) from t1 where match a against ('000000');
+update t1 set a='aaazzz' where match a against ('000000');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+update t1 set a='aaazzz' where a = 'aaaxxx';
+update t1 set a='aaaxxx' where a = 'aaayyy';
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+
+drop table t1;
+
+CREATE TABLE t1 (
+ i int(10) unsigned not null auto_increment primary key,
+ a varchar(255) not null,
+ FULLTEXT KEY (a)
+) ENGINE = INNODB;
+
+#
+# now same as about but w/o repair table
+# 2-level tree created by mi_write
+#
+
+# two-level entry, second-level tree with depth 2
+--disable_query_log
+let $1=260;
+while ($1)
+{
+ eval insert t1 (a) values ('aaaxxx');
+ dec $1;
+}
+let $1=255;
+while ($1)
+{
+ eval insert t1 (a) values ('aaazzz');
+ dec $1;
+}
+let $1=250;
+while ($1)
+{
+ eval insert t1 (a) values ('aaayyy');
+ dec $1;
+}
+--enable_query_log
+
+select count(*) from t1 where match a against ('aaaxxx');
+select count(*) from t1 where match a against ('aaayyy');
+select count(*) from t1 where match a against ('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+select count(*) from t1 where match a against ('aaaxxx aaayyy aaazzz');
+select count(*) from t1 where match a against ('aaaxxx aaayyy aaazzz' in boolean mode);
+
+select count(*) from t1 where match a against ('aaax*' in boolean mode);
+select count(*) from t1 where match a against ('aaay*' in boolean mode);
+select count(*) from t1 where match a against ('aaa*' in boolean mode);
+
+# mi_write:
+
+insert t1 (a) values ('aaaxxx'),('aaayyy');
+insert t1 (a) values ('aaazzz'),('aaazzz'),('aaazzz'),('aaazzz'),('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx');
+select count(*) from t1 where match a against ('aaayyy');
+select count(*) from t1 where match a against ('aaazzz');
+
+# mi_delete
+insert t1 (a) values ('aaaxxx 000000');
+select count(*) from t1 where match a against ('000000');
+delete from t1 where match a against ('000000');
+select count(*) from t1 where match a against ('000000');
+select count(*) from t1 where match a against ('aaaxxx');
+delete from t1 where match a against ('aaazzz');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+# double-check without index
+select count(*) from t1 where a = 'aaaxxx';
+select count(*) from t1 where a = 'aaayyy';
+select count(*) from t1 where a = 'aaazzz';
+
+# update
+insert t1 (a) values ('aaaxxx 000000');
+select count(*) from t1 where match a against ('000000');
+update t1 set a='aaazzz' where match a against ('000000');
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+update t1 set a='aaazzz' where a = 'aaaxxx';
+update t1 set a='aaaxxx' where a = 'aaayyy';
+select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
+select count(*) from t1 where match a against ('aaayyy' in boolean mode);
+select count(*) from t1 where match a against ('aaazzz' in boolean mode);
+drop table t1;
+
+#
+# BUG#11336
+#
+# for uca collation isalnum and strnncollsp don't agree on whether
+# 0xC2A0 is a space (strnncollsp is right, isalnum is wrong).
+#
+# they still don't, the bug was fixed by avoiding strnncollsp
+#
+
+set names utf8;
+eval create table t1(a text,fulltext(a)) ENGINE = INNODB collate=utf8_swedish_ci;
+insert into t1 values('test test '),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
+('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test');
+delete from t1 limit 1;
+
+#
+# BUG#16489: utf8 + fulltext leads to corrupt index file.
+#
+truncate table t1;
+insert into t1 values('ab c d');
+update t1 set a='ab c d';
+select * from t1 where match a against('ab c' in boolean mode);
+select * from t1 where match a against('ab c' in boolean mode);
+drop table t1;
+set names latin1;
+
+# End of 4.1 tests
+
+#
+# BUG#19580 - FULLTEXT search produces wrong results on UTF-8 columns
+# INNODB_FTS: Investigate
+SET NAMES utf8;
+CREATE TABLE t1(a VARCHAR(255), FULLTEXT(a)) ENGINE = INNODB DEFAULT CHARSET=utf8;
+INSERT INTO t1 VALUES('„MySQL“');
+SELECT a FROM t1 WHERE MATCH a AGAINST('“MySQL„' IN BOOLEAN MODE);
+DROP TABLE t1;
+SET NAMES latin1;
diff --git a/mysql-test/suite/innodb_fts/t/fulltext3.test b/mysql-test/suite/innodb_fts/t/fulltext3.test
new file mode 100644
index 00000000000..11e6e1af734
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext3.test
@@ -0,0 +1,37 @@
+--source include/have_gbk.inc
+#
+# test of new fulltext search features
+#
+--source include/have_innodb.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+let $default_engine = `select @@SESSION.default_storage_engine`;
+#
+# BUG#29299 - repeatable myisam fulltext index corruption
+#
+# INNODB_FTS: Not yet support gbk charset
+CREATE TABLE t1(a VARCHAR(255) CHARACTER SET gbk, FULLTEXT(a)) ENGINE = InnoDB;
+SET NAMES utf8;
+# INSERT INTO t1 VALUES(0xF043616161),(0xBEF361616197C22061616161);
+# SELECT HEX(a) FROM t1 WHERE MATCH(a) AGAINST(0x97C22061616161 IN BOOLEAN MODE);
+DELETE FROM t1 LIMIT 1;
+#CHECK TABLE t1;
+SET NAMES latin1;
+DROP TABLE t1;
+
+# End of 5.0 tests
+
+#
+# BUG#29464 - load data infile into table with big5 chinese fulltext index
+# hangs 100% cpu
+#
+--replace_result $default_engine <default_engine>
+EVAL CREATE TABLE t1(a VARCHAR(2) CHARACTER SET big5 COLLATE big5_chinese_ci,
+FULLTEXT(a)) ENGINE=$default_engine;
+# INSERT INTO t1 VALUES(0xA3C2);
+DROP TABLE t1;
+
+# End of 5.1 tests
diff --git a/mysql-test/suite/innodb_fts/t/fulltext_cache.test b/mysql-test/suite/innodb_fts/t/fulltext_cache.test
new file mode 100644
index 00000000000..fa7ad49e881
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext_cache.test
@@ -0,0 +1,55 @@
+#
+# Bugreport due to Roy Nasser <roy@vem.ca>
+#
+--source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+
+CREATE TABLE t1 (
+ id int(10) unsigned NOT NULL auto_increment,
+ q varchar(255) default NULL,
+ PRIMARY KEY (id)
+) ENGINE = InnoDB;
+
+INSERT INTO t1 VALUES (1,'aaaaaaaaa dsaass de');
+INSERT INTO t1 VALUES (2,'ssde df s fsda sad er');
+
+CREATE TABLE t2 (
+ id int(10) unsigned NOT NULL auto_increment,
+ id2 int(10) unsigned default NULL,
+ item varchar(255) default NULL,
+ PRIMARY KEY (id),
+ FULLTEXT KEY item(item)
+) ENGINE = InnoDB;
+
+INSERT INTO t2 VALUES (1,1,'sushi');
+INSERT INTO t2 VALUES (2,1,'Bolo de Chocolate');
+INSERT INTO t2 VALUES (3,1,'Feijoada');
+INSERT INTO t2 VALUES (4,1,'Mousse de Chocolate');
+INSERT INTO t2 VALUES (5,2,'um copo de Vodka');
+INSERT INTO t2 VALUES (6,2,'um chocolate Snickers');
+INSERT INTO t2 VALUES (7,1,'Bife');
+INSERT INTO t2 VALUES (8,1,'Pizza de Salmao');
+
+-- disable_result_log
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+-- enable_result_log
+
+SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),6)
+as x FROM t1, t2 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
+
+SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi' IN BOOLEAN MODE)
+as x FROM t1, t2 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
+
+SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),6)
+as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
+
+SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi' IN BOOLEAN MODE)
+as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
+
+drop table t1, t2;
+
+# End of 4.1 tests
diff --git a/mysql-test/suite/innodb_fts/t/fulltext_distinct.test b/mysql-test/suite/innodb_fts/t/fulltext_distinct.test
new file mode 100644
index 00000000000..f6232704543
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext_distinct.test
@@ -0,0 +1,48 @@
+#
+# Test of fulltext index
+# bug reported by Tibor Simko <tibor.simko@cern.ch>
+#
+--source include/have_innodb.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
+CREATE TABLE t1 (
+ id mediumint unsigned NOT NULL auto_increment,
+ tag char(6) NOT NULL default '',
+ value text NOT NULL default '',
+ PRIMARY KEY (id),
+ KEY kt(tag),
+ KEY kv(value(15)),
+ FULLTEXT KEY kvf(value)
+) ENGINE = InnoDB;
+
+CREATE TABLE t2 (
+ id_t2 mediumint unsigned NOT NULL default '0',
+ id_t1 mediumint unsigned NOT NULL default '0',
+ field_number tinyint unsigned NOT NULL default '0',
+ PRIMARY KEY (id_t2,id_t1,field_number),
+ KEY id_t1(id_t1)
+) ENGINE = InnoDB;
+
+INSERT INTO t1 (tag,value) VALUES ('foo123','bar111');
+INSERT INTO t1 (tag,value) VALUES ('foo123','bar222');
+INSERT INTO t1 (tag,value) VALUES ('bar345','baz333 ar');
+
+INSERT INTO t2 VALUES (2231626,64280,0);
+INSERT INTO t2 VALUES (2231626,64281,0);
+INSERT INTO t2 VALUES (12346, 3, 1);
+
+SELECT * FROM t1; SELECT * FROM t2;
+
+SELECT DISTINCT t2.id_t2 FROM t2, t1
+WHERE MATCH (t1.value) AGAINST ('baz333') AND t1.id = t2.id_t1;
+
+SELECT DISTINCT t2.id_t2 FROM t2, t1
+WHERE MATCH (t1.value) AGAINST ('baz333' IN BOOLEAN MODE)
+AND t1.id = t2.id_t1;
+
+DROP TABLE t1, t2;
+
+# End of 4.1 tests
diff --git a/mysql-test/suite/innodb_fts/t/fulltext_left_join.test b/mysql-test/suite/innodb_fts/t/fulltext_left_join.test
new file mode 100644
index 00000000000..23bbd5ddc10
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext_left_join.test
@@ -0,0 +1,133 @@
+#
+# Test for bug from Jean-Cédric COSTA <jean-cedric.costa@ensmp.fr>
+#
+--source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+
+CREATE TABLE t1 (
+ id VARCHAR(255) NOT NULL PRIMARY KEY,
+ sujet VARCHAR(255),
+ motsclefs TEXT,
+ texte MEDIUMTEXT,
+ FULLTEXT(sujet, motsclefs, texte)
+) ENGINE = InnoDB;
+
+INSERT INTO t1 VALUES('123','toto','essai','test');
+INSERT INTO t1 VALUES('456','droit','penal','lawyer');
+INSERT INTO t1 VALUES('789','aaaaa','bbbbb','cccccc');
+
+CREATE TABLE t2 (
+ id VARCHAR(255) NOT NULL,
+ author VARCHAR(255) NOT NULL
+) ENGINE = InnoDB;
+
+INSERT INTO t2 VALUES('123', 'moi');
+INSERT INTO t2 VALUES('123', 'lui');
+INSERT INTO t2 VALUES('456', 'lui');
+
+-- disable_result_log
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+-- enable_result_log
+
+select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
+ from t1 left join t2 on t2.id=t1.id;
+select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
+ from t1 left join t2 on t2.id=t1.id;
+
+drop table t1, t2;
+
+#
+# BUG#484, reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>
+#
+
+create table t1 (venue_id int(11) default null, venue_text varchar(255) default null, dt datetime default null) ENGINE = InnoDB;
+
+insert into t1 (venue_id, venue_text, dt) values (1, 'a1', '2003-05-23 19:30:00'),(null, 'a2', '2003-05-23 19:30:00');
+eval create table t2 (name varchar(255) not null default '', entity_id int(11) not null auto_increment, primary key (entity_id), fulltext key name (name)) engine= innodb;
+insert into t2 (name, entity_id) values ('aberdeen town hall', 1), ('glasgow royal concert hall', 2), ('queen\'s hall, edinburgh', 3);
+-- disable_result_log
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+-- enable_result_log
+select * from t1 left join t2 on venue_id = entity_id where match(name) against('aberdeen' in boolean mode) and dt = '2003-05-23 19:30:00';
+select * from t1 left join t2 on venue_id = entity_id where match(name) against('aberdeen') and dt = '2003-05-23 19:30:00';
+select * from t1 left join t2 on (venue_id = entity_id and match(name) against('aberdeen' in boolean mode)) where dt = '2003-05-23 19:30:00';
+select * from t1 left join t2 on (venue_id = entity_id and match(name) against('aberdeen')) where dt = '2003-05-23 19:30:00';
+drop table t1,t2;
+
+#
+# BUG#14708
+# Inconsistent treatment of NULLs in LEFT JOINed FULLTEXT matching without index
+#
+
+create table t1 (id int not null primary key, d char(200) not null, e char(200), fulltext (d, e)) ENGINE = InnoDB;
+insert into t1 values (1, 'aword', null), (2, 'aword', 'bword'), (3, 'bword', null), (4, 'bword', 'aword'), (5, 'aword and bword', null);
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+select * from t1 where match(d, e) against ('+aword +bword' in boolean mode);
+
+# INNODB_FTS: Investigate Full Text search on joined result
+create table t2 (m_id int not null, f char(200), key (m_id), fulltext (f)) engine = InnoDB;
+insert into t2 values (1, 'bword'), (3, 'aword'), (5, '');
+-- disable_result_log
+ANALYZE TABLE t2;
+-- enable_result_log
+--error ER_WRONG_ARGUMENTS
+select * from t1 left join t2 on m_id = id where match(d, e, f) against ('+aword +bword' in boolean mode);
+drop table t1,t2;
+
+#
+# BUG#25637: LEFT JOIN with BOOLEAN FULLTEXT loses left table matches
+# (this is actually the same bug as bug #14708)
+#
+
+CREATE TABLE t1 (
+ id int(10) NOT NULL auto_increment,
+ link int(10) default NULL,
+ name mediumtext default NULL,
+ PRIMARY KEY (id),
+ FULLTEXT (name)
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1, 1, 'string');
+INSERT INTO t1 VALUES (2, 0, 'string');
+CREATE TABLE t2 (
+ id int(10) NOT NULL auto_increment,
+ name mediumtext default NULL,
+ PRIMARY KEY (id),
+ FULLTEXT (name)
+) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (1, 'string');
+
+-- disable_result_log
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+-- enable_result_log
+
+--error ER_WRONG_ARGUMENTS
+SELECT t1.*, MATCH(t1.name) AGAINST('string') AS relevance
+ FROM t1 LEFT JOIN t2 ON t1.link = t2.id
+ WHERE MATCH(t1.name, t2.name) AGAINST('string' IN BOOLEAN MODE);
+
+DROP TABLE t1,t2;
+
+# End of 4.1 tests
+
+#
+# BUG#25729 - boolean full text search is confused by NULLs produced by LEFT
+# JOIN
+#
+CREATE TABLE t1 (a INT) ENGINE = InnoDB;
+CREATE TABLE t2 (b INT, c TEXT, KEY(b), FULLTEXT(c)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t2(b,c) VALUES(2,'castle'),(3,'castle');
+-- disable_result_log
+ANALYZE TABLE t1;
+ANALYZE TABLE t2;
+-- enable_result_log
+SELECT * FROM t1 LEFT JOIN t2 ON a=b WHERE MATCH(c) AGAINST('+castle' IN BOOLEAN MODE);
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/innodb_fts/t/fulltext_misc.test b/mysql-test/suite/innodb_fts/t/fulltext_misc.test
new file mode 100644
index 00000000000..25690ddc1d9
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext_misc.test
@@ -0,0 +1,214 @@
+#
+# Fulltext configurable parameters
+#
+--source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+--echo #
+--echo # Bug#56814 Explain + subselect + fulltext crashes server
+--echo #
+
+CREATE TABLE t1(f1 VARCHAR(6) NOT NULL,FULLTEXT KEY(f1),UNIQUE(f1)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('test');
+EXPLAIN SELECT 1 FROM t1
+WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a ON (MATCH(t1.f1) AGAINST (""))
+WHERE t1.f1 GROUP BY t1.f1));
+
+PREPARE stmt FROM
+'EXPLAIN SELECT 1 FROM t1
+ WHERE 1 > ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
+ ON (MATCH(t1.f1) AGAINST (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+
+EXECUTE stmt;
+EXECUTE stmt;
+
+DEALLOCATE PREPARE stmt;
+
+PREPARE stmt FROM
+'EXPLAIN SELECT 1 FROM t1
+ WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) AGAINST (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+
+EXECUTE stmt;
+EXECUTE stmt;
+
+DEALLOCATE PREPARE stmt;
+
+DROP TABLE t1;
+
+#try to crash gcc 2.96
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+CREATE TABLE t1 (
+ kodoboru varchar(10) default NULL,
+ obor tinytext,
+ aobor tinytext,
+ UNIQUE INDEX kodoboru (kodoboru),
+ FULLTEXT KEY obor (obor),
+ FULLTEXT KEY aobor (aobor)
+) ENGINE = InnoDB;
+
+drop table t1;
+
+CREATE TABLE t1 (
+ kodoboru varchar(10) default NULL,
+ obor tinytext,
+ aobor tinytext,
+ UNIQUE INDEX kodoboru (kodoboru),
+ FULLTEXT KEY obor (obor)
+) ENGINE = InnoDB;
+INSERT INTO t1 VALUES ('0101000000','aaa','AAA');
+INSERT INTO t1 VALUES ('0102000000','bbb','BBB');
+INSERT INTO t1 VALUES ('0103000000','ccc','CCC');
+INSERT INTO t1 VALUES ('0104000000','xxx','XXX');
+
+select * from t1;
+drop table t1;
+
+# End of 4.1 tests
+
+
+#
+# Bug#20503: Server crash due to the ORDER clause isn't taken into account
+# while space allocation
+#
+create table t1 (c1 varchar(1), c2 int, c3 int, c4 int, c5 int, c6 int,
+c7 int, c8 int, c9 int, fulltext key (`c1`)) ENGINE = InnoDB;
+select distinct match (`c1`) against ('z') , c2, c3, c4,c5, c6,c7, c8
+ from t1 where c9=1 order by c2, c2;
+drop table t1;
+
+
+#
+# VIEW with full text
+#
+CREATE TABLE t1 (c1 int not null auto_increment primary key, c2 varchar(20), fulltext(c2)) ENGINE = InnoDB;
+insert into t1 (c2) VALUES ('real Beer'),('Water'),('Kossu'),('Coca-Cola'),('Vodka'),('Wine'),('almost real Beer');
+select * from t1 WHERE match (c2) against ('Beer');
+CREATE VIEW v1 AS SELECT * from t1 WHERE match (c2) against ('Beer');
+select * from v1;
+drop view v1;
+drop table t1;
+
+
+# Test case for bug 6447
+create table t1 (mytext text, FULLTEXT (mytext)) ENGINE = InnoDB;
+insert t1 values ('aaabbb');
+
+# INNODB_FTS: These variables are not support in InnoDB
+check table t1;
+# set @my_key_cache_block_size= @@global.key_cache_block_size;
+# set GLOBAL key_cache_block_size=2048;
+check table t1;
+drop table t1;
+# Restore the changed variable value
+#set global key_cache_block_size= @my_key_cache_block_size;
+
+
+
+#
+# BUG#12075 - FULLTEXT non-functional for big5 strings
+#
+# INNODB_FTS: Not yet support big5
+#CREATE TABLE t1 (a CHAR(50) CHARACTER SET big5 NOT NULL, FULLTEXT(a)) ENGINE = InnoDB;
+#INSERT INTO t1 VALUES(0xA741ADCCA66EB6DC20A7DAADCCABDCA66E);
+#SELECT HEX(a) FROM t1 WHERE MATCH(a) AGAINST (0xA741ADCCA66EB6DC IN BOOLEAN MODE);
+#DROP TABLE t1;
+
+#
+
+create table t1 (a varchar(10), fulltext key(a)) ENGINE = InnoDB;
+insert into t1 values ('a');
+select hex(concat(match (a) against ('a'))) from t1;
+create table t2 ENGINE = InnoDB as select concat(match (a) against ('a')) as a from t1;
+show create table t2;
+drop table t1, t2;
+
+
+#
+# BUG#31159 - fulltext search on ucs2 column crashes server
+#
+CREATE TABLE t1(a TEXT CHARSET ucs2 COLLATE ucs2_unicode_ci) ENGINE = InnoDB;
+INSERT INTO t1 VALUES('abcd');
+
+# INNODB_FTS: Please Note this table do not have FTS. InnoDB return 1214 error
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abcd' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+
+#
+# Some other simple tests with the current character set
+#
+create table t1 (a varchar(10), key(a), fulltext (a)) ENGINE = InnoDB;
+insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
+select * from t1 where a like "abc%";
+select * from t1 where a like "test%";
+select * from t1 where a like "te_t";
+# InnoDB_FTS: we don't support the postfix "+0"
+select * from t1 where match a against ("te*" in boolean mode)+0;
+drop table t1;
+
+
+
+--echo #
+--echo # Bug #49734: Crash on EXPLAIN EXTENDED UNION ... ORDER BY
+--echo # <any non-const-function>
+--echo #
+
+CREATE TABLE t1 (a VARCHAR(10), FULLTEXT KEY a (a)) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (b INT) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (1),(2);
+
+--echo # Should not crash
+EXPLAIN EXTENDED
+SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY a + 12;
+
+--echo # Should not crash
+SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY a + 12;
+
+
+--echo # Should not crash
+EXPLAIN EXTENDED
+SELECT * FROM t1 UNION SELECT * FROM t1
+ ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE);
+
+--echo # Should not crash
+--sorted_result
+SELECT * FROM t1 UNION SELECT * FROM t1
+ ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE);
+
+# FIXME: Valgrind in MySQL code _MI_WRITE_BLOB_RECORD, bug #13389854
+#--echo # Should not crash
+#(SELECT * FROM t1) UNION (SELECT * FROM t1)
+# ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE);
+
+
+--echo # Should not crash
+EXPLAIN EXTENDED
+SELECT * FROM t1 UNION SELECT * FROM t1
+ ORDER BY (SELECT a FROM t2 WHERE b = 12);
+
+--echo # Should not crash
+--disable_result_log
+SELECT * FROM t1 UNION SELECT * FROM t1
+ ORDER BY (SELECT a FROM t2 WHERE b = 12);
+--enable_result_log
+
+--echo # Should not crash
+SELECT * FROM t2 UNION SELECT * FROM t2
+ ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
+
+DROP TABLE t1,t2;
+
+
+--echo End of 5.1 tests
+
diff --git a/mysql-test/suite/innodb_fts/t/fulltext_multi.test b/mysql-test/suite/innodb_fts/t/fulltext_multi.test
new file mode 100644
index 00000000000..274027ea10b
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext_multi.test
@@ -0,0 +1,41 @@
+# several FULLTEXT indexes in one table test
+--source include/have_innodb.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (
+ a int(11) NOT NULL auto_increment,
+ b text,
+ c varchar(254) default NULL,
+ PRIMARY KEY (a),
+ FULLTEXT KEY bb(b),
+ FULLTEXT KEY cc(c),
+ FULLTEXT KEY a(b,c)
+) ENGINE = InnoDB;
+
+drop table t1;
+
+CREATE TABLE t1 (
+ a int(11) NOT NULL auto_increment,
+ b text,
+ c varchar(254) default NULL,
+ PRIMARY KEY (a),
+ FULLTEXT KEY a(b,c)
+) ENGINE = InnoDB;
+
+INSERT INTO t1 VALUES (1,'lala lolo lili','oooo aaaa pppp');
+INSERT INTO t1 VALUES (2,'asdf fdsa','lkjh fghj');
+INSERT INTO t1 VALUES (3,'qpwoei','zmxnvb');
+
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+
+SELECT a, round(MATCH b,c AGAINST ('lala lkjh'),5) FROM t1;
+SELECT a, round(MATCH c,c AGAINST ('lala lkjh'),5) FROM t1;
+SELECT a, round(MATCH b,c AGAINST ('lala lkjh'),5) FROM t1;
+drop table t1;
+
+# End of 4.1 tests
diff --git a/mysql-test/suite/innodb_fts/t/fulltext_order_by.test b/mysql-test/suite/innodb_fts/t/fulltext_order_by.test
new file mode 100644
index 00000000000..d2194f22e2a
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext_order_by.test
@@ -0,0 +1,167 @@
+
+--source include/have_innodb.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1,t2,t3;
+--enable_warnings
+
+CREATE TABLE t1 (
+ a INT AUTO_INCREMENT PRIMARY KEY,
+ message CHAR(20),
+ FULLTEXT(message)
+) ENGINE = InnoDB comment = 'original testcase by sroussey@network54.com';
+INSERT INTO t1 (message) VALUES ("Testing"),("table"),("testbug"),
+ ("steve"),("is"),("cool"),("steve is cool");
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+# basic MATCH
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve');
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve');
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE);
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE);
+
+# MATCH + ORDER BY (with ft-ranges)
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY a;
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY a;
+
+# MATCH + ORDER BY (with normal ranges) + UNIQUE
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve') ORDER BY a DESC;
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY a DESC;
+
+# MATCH + ORDER BY + UNIQUE (const_table)
+SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve') ORDER BY 1;
+SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY 1;
+
+# ORDER BY MATCH
+# INNODB_FTS: INVESITGATE
+SELECT if(a in (4,7),2,1), FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel;
+SELECT if(a in (4,7),2,1), MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel;
+
+#
+# BUG#6635 - test_if_skip_sort_order() thought it can skip filesort
+# for fulltext searches too
+#
+alter table t1 add key m (message);
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+explain SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message;
+SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message desc;
+
+drop table t1;
+
+#
+# reused boolean scan bug
+#
+CREATE TABLE t1 (
+ a INT AUTO_INCREMENT PRIMARY KEY,
+ message CHAR(20),
+ FULLTEXT(message)
+) ENGINE = InnoDB;
+INSERT INTO t1 (message) VALUES ("testbug"),("testbug foobar");
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+SELECT a, MATCH (message) AGAINST ('t* f*' IN BOOLEAN MODE) as rel FROM t1;
+SELECT a, MATCH (message) AGAINST ('t* f*' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel,a;
+drop table t1;
+
+# BUG#11869
+CREATE TABLE t1 (
+ id int(11) NOT NULL auto_increment,
+ thread int(11) NOT NULL default '0',
+ beitrag longtext NOT NULL,
+ PRIMARY KEY (id),
+ KEY thread (thread),
+ FULLTEXT KEY beitrag (beitrag)
+) ENGINE =InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7923 ;
+
+CREATE TABLE t2 (
+ id int(11) NOT NULL auto_increment,
+ text varchar(100) NOT NULL default '',
+ PRIMARY KEY (id),
+ KEY text (text)
+) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=63 ;
+
+CREATE TABLE t3 (
+ id int(11) NOT NULL auto_increment,
+ forum int(11) NOT NULL default '0',
+ betreff varchar(70) NOT NULL default '',
+ PRIMARY KEY (id),
+ KEY forum (forum),
+ FULLTEXT KEY betreff (betreff)
+) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=996 ;
+
+--error ER_TABLENAME_NOT_ALLOWED_HERE
+select a.text, b.id, b.betreff
+from
+ t2 a inner join t3 b on a.id = b.forum inner join
+ t1 c on b.id = c.thread
+where
+ match(b.betreff) against ('+abc' in boolean mode)
+group by a.text, b.id, b.betreff
+union
+select a.text, b.id, b.betreff
+from
+ t2 a inner join t3 b on a.id = b.forum inner join
+ t1 c on b.id = c.thread
+where
+ match(c.beitrag) against ('+abc' in boolean mode)
+group by
+ a.text, b.id, b.betreff
+order by
+ match(b.betreff) against ('+abc' in boolean mode) desc;
+
+--error ER_TABLENAME_NOT_ALLOWED_HERE
+select a.text, b.id, b.betreff
+from
+ t2 a inner join t3 b on a.id = b.forum inner join
+ t1 c on b.id = c.thread
+where
+ match(b.betreff) against ('+abc' in boolean mode)
+union
+select a.text, b.id, b.betreff
+from
+ t2 a inner join t3 b on a.id = b.forum inner join
+ t1 c on b.id = c.thread
+where
+ match(c.beitrag) against ('+abc' in boolean mode)
+order by
+ match(b.betreff) against ('+abc' in boolean mode) desc;
+
+select a.text, b.id, b.betreff
+from
+ t2 a inner join t3 b on a.id = b.forum inner join
+ t1 c on b.id = c.thread
+where
+ match(b.betreff) against ('+abc' in boolean mode)
+union
+select a.text, b.id, b.betreff
+from
+ t2 a inner join t3 b on a.id = b.forum inner join
+ t1 c on b.id = c.thread
+where
+ match(c.beitrag) against ('+abc' in boolean mode)
+order by
+ match(betreff) against ('+abc' in boolean mode) desc;
+
+# BUG#11869 part2: used table type doesn't support FULLTEXT indexes error
+(select b.id, b.betreff from t3 b) union
+(select b.id, b.betreff from t3 b)
+order by match(betreff) against ('+abc' in boolean mode) desc;
+
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+(select b.id, b.betreff from t3 b) union
+(select b.id, b.betreff from t3 b)
+order by match(betreff) against ('+abc') desc;
+
+select distinct b.id, b.betreff from t3 b
+order by match(betreff) against ('+abc' in boolean mode) desc;
+
+select b.id, b.betreff from t3 b group by b.id+1
+order by match(betreff) against ('+abc' in boolean mode) desc;
+
+drop table t1,t2,t3;
+
+# End of 4.1 tests
diff --git a/mysql-test/suite/innodb_fts/t/fulltext_update.test b/mysql-test/suite/innodb_fts/t/fulltext_update.test
new file mode 100644
index 00000000000..336e8de1d1b
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext_update.test
@@ -0,0 +1,34 @@
+#
+# Test for bug by voi@ims.at
+#
+--source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists test;
+--enable_warnings
+
+let $default_engine = `select @@SESSION.default_storage_engine`;
+# --replace_result $default_engine <default_engine>
+CREATE TABLE test (
+ gnr INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ url VARCHAR(80) DEFAULT '' NOT NULL,
+ shortdesc VARCHAR(200) DEFAULT '' NOT NULL,
+ longdesc text DEFAULT '' NOT NULL,
+ description VARCHAR(80) DEFAULT '' NOT NULL,
+ name VARCHAR(80) DEFAULT '' NOT NULL,
+ FULLTEXT(url,description,shortdesc,longdesc),
+ PRIMARY KEY(gnr)
+) ENGINE = InnoDB;
+
+insert into test (url,shortdesc,longdesc,description,name) VALUES
+("http:/test.at", "kurz", "lang","desc", "name");
+insert into test (url,shortdesc,longdesc,description,name) VALUES
+("http:/test.at", "kurz", "","desc", "name");
+update test set url='test', description='ddd', name='nam' where gnr=2;
+update test set url='test', shortdesc='ggg', longdesc='mmm',
+description='ddd', name='nam' where gnr=2;
+
+check table test;
+drop table test;
+
+# End of 4.1 tests
diff --git a/mysql-test/suite/innodb_fts/t/fulltext_var.test b/mysql-test/suite/innodb_fts/t/fulltext_var.test
new file mode 100644
index 00000000000..03eab7e8557
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/fulltext_var.test
@@ -0,0 +1,48 @@
+#
+# Fulltext configurable parameters
+#
+--source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+# Save ft_boolean_syntax variable
+let $saved_ft_boolean_syntax=`select @@global.ft_boolean_syntax`;
+
+show variables like "ft\_%";
+
+# INNODB_FTS: Please note original table do not have fulltext index.
+# InnoDB will return 1214. I added "fulltext(b)" to the create table statement
+# In addition, we do not support MyISAM configure parameter
+create table t1 (b text not null, fulltext(b)) engine = innodb;
+insert t1 values ('aaaaaa bbbbbb cccccc');
+insert t1 values ('bbbbbb cccccc');
+insert t1 values ('aaaaaa cccccc');
+select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
+-- error 1229
+set ft_boolean_syntax=' +-><()~*:""&|';
+set global ft_boolean_syntax=' +-><()~*:""&|';
+select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
+set global ft_boolean_syntax='@ -><()~*:""&|';
+select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
+
+--error ER_PARSE_ERROR
+select * from t1 where match b against ('+aaaaaa @bbbbbb' in boolean mode);
+-- error 1231
+set global ft_boolean_syntax='@ -><()~*:""@|';
+-- error 1231
+set global ft_boolean_syntax='+ -><()~*:""@!|';
+drop table t1;
+
+# Restore ft_boolean_syntax variable
+--disable_query_log
+eval set global ft_boolean_syntax='$saved_ft_boolean_syntax';
+--enable_query_log
+
+# End of 4.1 tests
diff --git a/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test b/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
new file mode 100644
index 00000000000..10dc1462c98
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
@@ -0,0 +1,272 @@
+# This is the DDL function tests for innodb FTS
+
+-- source include/have_innodb.inc
+
+# Create FTS table
+CREATE TABLE fts_test (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT
+ ) ENGINE=InnoDB;
+
+# Insert six rows
+INSERT INTO fts_test (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# Create the FTS index
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+
+# Select word "tutorial" in the table
+SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+
+# Drop the FTS idx
+DROP INDEX idx ON fts_test;
+
+# Continue insert some rows
+INSERT INTO fts_test (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+
+# Recreate the FTS index
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+
+# Select word "tutorial" in the table
+SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# Boolean search
+# Select rows contain "MySQL" but not "YourSQL"
+SELECT * FROM fts_test WHERE MATCH (title,body)
+ AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
+
+# Truncate table
+TRUNCATE TABLE fts_test;
+
+DROP INDEX idx ON fts_test;
+
+# Continue insert some rows
+INSERT INTO fts_test (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# Recreate the FTS index
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+
+# Select word "tutorial" in the table
+SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE fts_test;
+
+# Create FTS table
+CREATE TABLE fts_test (
+ FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT
+ ) ENGINE=InnoDB;
+
+create unique index FTS_DOC_ID_INDEX on fts_test(FTS_DOC_ID);
+
+# Insert six rows
+INSERT INTO fts_test (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# Create the FTS index
+# We could support online fulltext index creation when a FTS_DOC_ID
+# 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;
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE fts_test ROW_FORMAT=REDUNDANT, LOCK=NONE;
+ALTER TABLE fts_test ROW_FORMAT=REDUNDANT;
+
+SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# Drop and recreate
+drop index idx on fts_test;
+
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+
+SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# Drop the FTS_DOC_ID_INDEX and try again
+drop index idx on fts_test;
+
+drop index FTS_DOC_ID_INDEX on fts_test;
+
+CREATE FULLTEXT INDEX idx on fts_test (title, body);
+
+SELECT * FROM fts_test WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+drop table fts_test;
+
+# Test FTS_DOC_ID and FTS_DOC_ID_INDEX all in the create table clause
+CREATE TABLE fts_test (
+ FTS_DOC_ID bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ title varchar(255) NOT NULL DEFAULT '',
+ text mediumtext NOT NULL,
+ PRIMARY KEY (FTS_DOC_ID),
+ UNIQUE KEY FTS_DOC_ID_INDEX (FTS_DOC_ID),
+ FULLTEXT KEY idx (title,text)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+set @@auto_increment_increment=10;
+
+INSERT INTO fts_test (title, text) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...'),
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+-- disable_result_log
+ANALYZE TABLE fts_test;
+-- enable_result_log
+set @@auto_increment_increment=1;
+
+select *, match(title, text) AGAINST ('database') as score
+from fts_test order by score desc;
+
+drop index idx on fts_test;
+
+drop table fts_test;
+
+# This should fail:
+# Create a FTS_DOC_ID of the wrong type (should be bigint)
+--error 1166
+CREATE TABLE fts_test (
+ FTS_DOC_ID int(20) unsigned NOT NULL AUTO_INCREMENT,
+ title varchar(255) NOT NULL DEFAULT '',
+ text mediumtext NOT NULL,
+ PRIMARY KEY (FTS_DOC_ID),
+ UNIQUE KEY FTS_DOC_ID_INDEX (FTS_DOC_ID),
+ FULLTEXT KEY idx (title,text)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+# This should fail:
+# Create a FTS_DOC_ID_INDEX of the wrong type (should be unique)
+--error ER_INNODB_FT_WRONG_DOCID_INDEX
+CREATE TABLE fts_test (
+ FTS_DOC_ID bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ title varchar(255) NOT NULL DEFAULT '',
+ text mediumtext NOT NULL,
+ PRIMARY KEY (FTS_DOC_ID),
+ KEY FTS_DOC_ID_INDEX (FTS_DOC_ID),
+ FULLTEXT KEY idx (title,text)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+CREATE TABLE articles (
+ FTS_DOC_ID BIGINT UNSIGNED NOT NULL ,
+ title VARCHAR(200),
+ body TEXT
+) ENGINE=InnoDB;
+
+INSERT INTO articles (FTS_DOC_ID, title, body) VALUES
+ (9, 'MySQL Tutorial','DBMS stands for DataBase ...'),
+ (10, 'How To Use MySQL Well','After you went through a ...'),
+ (12, 'Optimizing MySQL','In this tutorial we will show ...'),
+ (14,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ (19, 'MySQL vs. YourSQL','In the following database comparison ...'),
+ (20, 'MySQL Security','When configured properly, MySQL ...');
+
+--error ER_INNODB_FT_LIMIT
+ALTER TABLE articles ADD FULLTEXT INDEX idx3 (title),
+ ADD FULLTEXT INDEX idx5 (title);
+
+CREATE FULLTEXT INDEX idx on articles (title);
+ALTER TABLE articles ADD FULLTEXT INDEX idx3 (title);
+
+ALTER TABLE articles ADD INDEX t20 (title(20)), LOCK=NONE;
+ALTER TABLE articles DROP INDEX t20;
+
+INSERT INTO articles (FTS_DOC_ID, title, body) VALUES
+ (29, 'MySQL Tutorial','DBMS stands for DataBase ...'),
+ (30, 'How To Use MySQL Well','After you went through a ...'),
+ (32, 'Optimizing MySQL','In this tutorial we will show ...'),
+ (34,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ (39, 'MySQL vs. YourSQL','In the following database comparison ...'),
+ (40, 'MySQL Security','When configured properly, MySQL ...');
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+DROP INDEX idx ON articles;
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+CREATE FULLTEXT INDEX idx on articles (title, body);
+
+SELECT * FROM articles WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+
+create table articles(`FTS_DOC_ID` serial,
+`col32` timestamp not null,`col115` text) engine=innodb;
+
+create fulltext index `idx5` on articles(`col115`) ;
+
+alter ignore table articles add primary key (`col32`) ;
+
+drop table articles;
+
+# Create a table with FTS index, this will create hidden column FTS_DOC_ID
+CREATE TABLE articles (
+ id INT UNSIGNED NOT NULL,
+ title VARCHAR(200),
+ body TEXT
+ ) ENGINE=InnoDB;
+
+INSERT INTO articles VALUES
+ (1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+ (2, 'How To Use MySQL Well','After you went through a ...'),
+ (3, 'Optimizing MySQL','In this tutorial we will show ...'),
+ (4, '1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ (5, 'MySQL vs. YourSQL','In the following database comparison ...'),
+ (6, 'MySQL Security','When configured properly, MySQL ...');
+
+CREATE FULLTEXT INDEX idx on articles (title, body);
+
+# Drop the FTS index, however, this will keep the FTS_DOC_ID hidden
+# column (to avoid a table rebuild)
+DROP INDEX idx ON articles;
+
+# Now create cluster index on id online; The rebuild should still
+# have the FTS_DOC_ID
+CREATE UNIQUE INDEX idx2 ON articles(id);
+
+# Recreate FTS index, this should not require a rebuild,
+# since the FTS_DOC_ID is still there
+CREATE FULLTEXT INDEX idx on articles (title, body);
+
+SELECT * FROM articles WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
diff --git a/mysql-test/suite/innodb_fts/t/innodb-fts-fic.test b/mysql-test/suite/innodb_fts/t/innodb-fts-fic.test
new file mode 100644
index 00000000000..6570e6cf216
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb-fts-fic.test
@@ -0,0 +1,231 @@
+# This is the basic function tests for innodb FTS
+
+-- source include/have_innodb.inc
+
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT
+ ) ENGINE=InnoDB;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# Create the FTS index
+CREATE FULLTEXT INDEX idx on articles (title, body);
+
+SELECT * FROM articles WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+SELECT COUNT(*) FROM articles
+ WHERE MATCH (title, body)
+ AGAINST ('database' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles
+ WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+
+SELECT COUNT(IF(MATCH (title, body)
+ AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL))
+ AS count FROM articles;
+
+ANALYZE TABLE articles;
+
+# Boolean search
+# Select rows contain "MySQL" but not "YourSQL"
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
+
+# Select rows contain at least one of the two words
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('DBMS Security' IN BOOLEAN MODE);
+
+# Select rows contain both "MySQL" and "YourSQL"
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('+MySQL +YourSQL' IN BOOLEAN MODE);
+
+DROP INDEX idx ON articles;
+
+# Create the FTS index
+CREATE FULLTEXT INDEX idx on articles (title, body);
+
+CREATE FULLTEXT INDEX idx1 on articles (title);
+
+SELECT * FROM articles WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+DROP INDEX idx ON articles;
+
+DROP INDEX idx1 ON articles;
+
+CREATE FULLTEXT INDEX idx1 on articles (title);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+drop table articles;
+
+# Create FTS table
+CREATE TABLE articles (
+ FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT
+ ) ENGINE=InnoDB;
+
+create unique index FTS_DOC_ID_INDEX on articles(FTS_DOC_ID);
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# Create the FTS index
+CREATE FULLTEXT INDEX idx on articles (title, body);
+
+# "the" is in the default stopword, it would not be selected
+SELECT * FROM articles WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+drop table articles;
+
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT
+ ) ENGINE=InnoDB;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+CREATE FULLTEXT INDEX idx on articles (title);
+CREATE FULLTEXT INDEX idx2 on articles (body);
+
+# "the" is in the default stopword, it would not be selected
+--error 1191
+SELECT * FROM articles WHERE MATCH (title, body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+drop index idx2 on articles;
+
+--error 1191
+SELECT * FROM articles WHERE MATCH (body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+CREATE FULLTEXT INDEX idx2 on articles (body);
+
+SELECT * FROM articles WHERE MATCH (body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+UPDATE articles set title = 'aaaa'
+WHERE MATCH(title) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('aaaa' IN NATURAL LANGUAGE MODE);
+
+drop table articles;
+
+CREATE TABLE articles (
+ FTS_DOC_ID BIGINT UNSIGNED NOT NULL ,
+ title VARCHAR(200),
+ body TEXT
+ ) ENGINE=InnoDB;
+
+CREATE FULLTEXT INDEX idx on articles (title);
+
+INSERT INTO articles VALUES (9, 'MySQL Tutorial','DBMS stands for DataBase ...');
+
+# This should fail since we did not supply a new Doc ID
+-- error 182
+UPDATE articles set title = 'bbbb' WHERE MATCH(title) AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+
+# This should fail, since the Doc ID supplied is less than the old value 9
+-- error 182
+UPDATE articles set title = 'bbbb', FTS_DOC_ID=8 WHERE MATCH(title) AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+
+# This should be successful
+UPDATE articles set title = 'bbbb', FTS_DOC_ID=10 WHERE MATCH(title) AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+
+# Check update to be successful
+SELECT * FROM articles WHERE MATCH (title) AGAINST ('bbbb' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title) AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+
+CREATE FULLTEXT INDEX idx2 ON articles (body);
+
+SELECT * FROM articles WHERE MATCH (body) AGAINST ('database' IN NATURAL LANGUAGE MODE);
+
+UPDATE articles set body = 'bbbb', FTS_DOC_ID=11 WHERE MATCH(body) AGAINST ('database' IN NATURAL LANGUAGE MODE);
+
+drop table articles;
+
+create table `articles`(`a` varchar(2) not null)engine=innodb;
+
+# This create index should fail. FTS_DOC_ID_INDEX is reserved as a unique
+# index on FTS_DOC_ID
+--error ER_INNODB_FT_WRONG_DOCID_INDEX
+create fulltext index `FTS_DOC_ID_INDEX` on `articles`(`a`);
+
+create unique index `a` on `articles`(`a`);
+
+drop table articles;
+
+# We will check validity of FTS_DOC_ID, which must be of an UNSIGNED
+# NOT NULL bigint
+CREATE TABLE wp(
+ FTS_DOC_ID bigint PRIMARY KEY,
+ title VARCHAR(255) NOT NULL DEFAULT '',
+ text MEDIUMTEXT NOT NULL ) ENGINE=InnoDB;
+
+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 ...');
+
+--error ER_INNODB_FT_WRONG_DOCID_COLUMN
+CREATE FULLTEXT INDEX idx ON wp(title, text);
+
+DROP TABLE wp;
+CREATE TABLE wp(
+ FTS_DOC_ID bigint unsigned PRIMARY KEY,
+ title VARCHAR(255) NOT NULL DEFAULT '',
+ text MEDIUMTEXT NOT NULL ) ENGINE=InnoDB;
+
+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 ...');
+
+CREATE FULLTEXT INDEX idx ON wp(title, text);
+
+SELECT FTS_DOC_ID, MATCH(title, text) AGAINST ('database')
+
+FROM wp;
+
+DROP TABLE wp;
+
diff --git a/mysql-test/suite/innodb_fts/t/innodb-fts-stopword.opt b/mysql-test/suite/innodb_fts/t/innodb-fts-stopword.opt
new file mode 100644
index 00000000000..2b0652d08c3
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb-fts-stopword.opt
@@ -0,0 +1 @@
+--loose-innodb-ft-default-stopword
diff --git a/mysql-test/suite/innodb_fts/t/innodb-fts-stopword.test b/mysql-test/suite/innodb_fts/t/innodb-fts-stopword.test
new file mode 100644
index 00000000000..5c2d383d101
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb-fts-stopword.test
@@ -0,0 +1,670 @@
+# This is the basic function tests for innodb FTS
+
+-- source include/have_innodb.inc
+
+
+select * from information_schema.innodb_ft_default_stopword;
+
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# "the" is in the default stopword, it would not be selected
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('the' IN NATURAL LANGUAGE MODE);
+
+let $innodb_ft_server_stopword_table_orig=`select @@innodb_ft_server_stopword_table`;
+let $innodb_ft_enable_stopword_orig=`select @@innodb_ft_enable_stopword`;
+let $innodb_ft_user_stopword_table_orig=`select @@innodb_ft_user_stopword_table`;
+
+select @@innodb_ft_server_stopword_table;
+select @@innodb_ft_enable_stopword;
+select @@innodb_ft_user_stopword_table;
+
+# Provide user defined stopword table, if not (correctly) defined,
+# it will be rejected
+--error 1231
+set global innodb_ft_server_stopword_table = "not_defined";
+
+# Define a correct formated user stopword table
+create table user_stopword(value varchar(30)) engine = innodb;
+
+# The set operation should be successful
+set global innodb_ft_server_stopword_table = "test/user_stopword";
+
+drop index title on articles;
+
+create fulltext index idx on articles(title, body);
+
+# Now we should be able to find "the"
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('the' IN NATURAL LANGUAGE MODE);
+
+# Nothing inserted into the default stopword, so essentially
+# nothing get screened. The new stopword could only be
+# effective for table created thereafter
+CREATE TABLE articles_2 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+INSERT INTO articles_2 (title, body)
+ VALUES ('test for stopwords','this is it...');
+
+# Now we can find record with "this"
+SELECT * FROM articles_2 WHERE MATCH (title,body)
+ AGAINST ('this' IN NATURAL LANGUAGE MODE);
+
+# Ok, let's instantiate some value into user supplied stop word
+# table
+insert into user_stopword values("this");
+
+# Ok, let's repeat with the new table again.
+CREATE TABLE articles_3 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+INSERT INTO articles_3 (title, body)
+ VALUES ('test for stopwords','this is it...');
+
+# Now we should NOT find record with "this"
+SELECT * FROM articles_3 WHERE MATCH (title,body)
+ AGAINST ('this' IN NATURAL LANGUAGE MODE);
+
+# Test session level stopword control "innodb_user_stopword_table"
+create table user_stopword_session(value varchar(30)) engine = innodb;
+
+insert into user_stopword_session values("session");
+
+set session innodb_ft_user_stopword_table="test/user_stopword_session";
+
+CREATE TABLE articles_4 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+INSERT INTO articles_4 (title, body)
+ VALUES ('test for session stopwords','this should also be excluded...');
+
+# "session" is excluded
+SELECT * FROM articles_4 WHERE MATCH (title,body)
+ AGAINST ('session' IN NATURAL LANGUAGE MODE);
+
+# But we can find record with "this"
+SELECT * FROM articles_4 WHERE MATCH (title,body)
+ AGAINST ('this' IN NATURAL LANGUAGE MODE);
+
+--connect (con1,localhost,root,,)
+CREATE TABLE articles_5 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+INSERT INTO articles_5 (title, body)
+ VALUES ('test for session stopwords','this should also be excluded...');
+
+# "session" should be found since the stopword table is session specific
+SELECT * FROM articles_5 WHERE MATCH (title,body)
+ AGAINST ('session' IN NATURAL LANGUAGE MODE);
+
+--connection default
+drop table articles;
+drop table articles_2;
+drop table articles_3;
+drop table articles_4;
+drop table articles_5;
+drop table user_stopword;
+drop table user_stopword_session;
+
+eval SET GLOBAL innodb_ft_enable_stopword=$innodb_ft_enable_stopword_orig;
+eval SET GLOBAL innodb_ft_server_stopword_table=default;
+
+#---------------------------------------------------------------------------------------
+# Behavior :
+# The stopword is loaded into memory at
+# 1) create fulltext index time,
+# 2) boot server,
+# 3) first time FTs is used
+# So if you already created a FTS index, and then turn off stopword
+# or change stopword table content it won't affect the FTS
+# that already created since the stopword list are already loaded.
+# It will only affect the new FTS index created after you changed
+# the settings.
+
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT `idx` (title,body)
+ ) ENGINE=InnoDB;
+
+SHOW CREATE TABLE articles;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','In what tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# Case : server_stopword=default
+# Try to Search default stopword from innodb, "where", "will", "what"
+# and "when" are all stopwords
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+# boolean No result expected
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+# no result expected
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+# no result expected
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+
+INSERT INTO articles(title,body) values ('the record will' , 'not index the , will words');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+# Not going to update as where condition can not find record
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+# Update the record
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE id = 7;
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+# Delete will not work as where condition do not return
+DELETE FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE id = 7;
+DELETE FROM articles WHERE id = 7;
+
+
+
+# Case : Turn OFF stopword list variable and search stopword on OLD index.
+# disable stopword list
+#SET global innodb_ft_server_stopword_table = "";
+SET SESSION innodb_ft_enable_stopword = 0;
+select @@innodb_ft_enable_stopword;
+#SET global innodb_ft_user_stopword_table = "";
+
+# search default stopword with innodb_ft_enable_stopword is OFF.
+# No records expected even though we turned OFF stopwod filtering
+# (refer Behavior (at the top of the test) for explanation )
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+
+INSERT INTO articles(title,body) values ('the record will' , 'not index the , will words');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+# Not going to update as where condition can not find record
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+# Update the record
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE id = 8;
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+SELECT * FROM articles WHERE id = 8;
+# Delete will not work as where condition do not return
+DELETE FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE id = 8;
+DELETE FROM articles WHERE id = 8;
+
+# Case : Turn OFF stopword list variable and search stopword on NEW index.
+# Drop index
+ALTER TABLE articles DROP INDEX idx;
+SHOW CREATE TABLE articles;
+
+# Create the FTS index Using Alter Table.
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+
+ANALYZE TABLE articles;
+
+# search default stopword with innodb_ft_enable_stopword is OFF.
+# All records expected as stopwod filtering is OFF and we created
+# new FTS index.
+# (refer Behavior (at the top of the test) for explanation )
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+
+INSERT INTO articles(title,body) values ('the record will' , 'not index the , will words');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+# Update will succeed.
+UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+
+SELECT COUNT(*),max(id) FROM articles;
+# Update the record - uncommet on fix
+#UPDATE articles SET title = "update the record" , body = 'to see will is indexed or not'
+#WHERE id = 9;
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+# Delete will succeed.
+DELETE FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE id = 9;
+
+
+DROP TABLE articles;
+
+eval SET SESSION innodb_ft_enable_stopword=$innodb_ft_enable_stopword_orig;
+#eval SET GLOBAL innodb_ft_server_stopword_table=$innodb_ft_server_stopword_table_orig;
+eval SET GLOBAL innodb_ft_server_stopword_table=default;
+#eval SET GLOBAL innodb_ft_user_stopword_table=$innodb_ft_user_stopword_table_orig;
+eval SET SESSION innodb_ft_user_stopword_table=default;
+
+#---------------------------------------------------------------------------------------
+
+select @@innodb_ft_server_stopword_table;
+select @@innodb_ft_enable_stopword;
+select @@innodb_ft_user_stopword_table;
+
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT `idx` (title,body)
+ ) ENGINE=InnoDB;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','In what tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# No records expeced for select
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+# Define a correct formated user stopword table
+create table user_stopword(value varchar(30)) engine = innodb;
+# The set operation should be successful
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+# Define a correct formated server stopword table
+create table server_stopword(value varchar(30)) engine = innodb;
+# The set operation should be successful
+set global innodb_ft_server_stopword_table = "test/server_stopword";
+# Add values into user supplied stop word table
+insert into user_stopword values("this"),("will"),("the");
+
+# Drop existing index and create the FTS index Using Alter Table.
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+
+# Add values into server supplied stop word table
+insert into server_stopword values("what"),("where");
+# Follwoing should return result as server stopword list was empty at create index time
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+
+# Delete stopword from user list
+DELETE FROM user_stopword;
+# Drop existing index and create the FTS index Using Alter Table.
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+# Follwoing should return result even though to server stopword list
+# conatin these words. Session level stopword list takes priority
+# Here user_stopword is set using innodb_ft_user_stopword_table
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+
+# Follwoing should return result as user stopword list was empty at create index time
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+
+# Add values into user supplied stop word table
+insert into user_stopword values("this"),("will"),("the");
+
+# Drop existing index and create the FTS index Using Alter Table.
+ALTER TABLE articles DROP INDEX idx;
+SET SESSION innodb_ft_enable_stopword = 0;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+
+# Session level stopword list takes priority
+SET SESSION innodb_ft_enable_stopword = 1;
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+
+# Make user stopword list deafult so as to server stopword list takes priority
+SET SESSION innodb_ft_enable_stopword = 1;
+SET SESSION innodb_ft_user_stopword_table = default;
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+
+
+DROP TABLE articles,user_stopword,server_stopword;
+
+# Restore Defaults
+eval SET SESSION innodb_ft_enable_stopword=$innodb_ft_enable_stopword_orig;
+eval SET GLOBAL innodb_ft_server_stopword_table=default;
+eval SET SESSION innodb_ft_user_stopword_table=default;
+select @@innodb_ft_server_stopword_table;
+select @@innodb_ft_enable_stopword;
+select @@innodb_ft_user_stopword_table;
+
+#---------------------------------------------------------------------------------------
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT `idx` (title,body)
+ ) ENGINE=InnoDB;
+
+SHOW CREATE TABLE articles;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','In what tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# No records expeced for select
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+# Define a correct formated user stopword table
+create table user_stopword(value varchar(30)) engine = innodb;
+# The set operation should be successful
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+insert into user_stopword values("mysqld"),("DBMS");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+DBMS +mysql" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysqld');
+
+
+# Drop existing index and create the FTS index Using Alter Table.
+# user stopword list will take effect.
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+DBMS +mysql" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysqld');
+
+# set user stopword list empty
+set session innodb_ft_user_stopword_table = default;
+# Define a correct formated user stopword table
+create table server_stopword(value varchar(30)) engine = innodb;
+# The set operation should be successful
+set global innodb_ft_server_stopword_table = "test/server_stopword";
+insert into server_stopword values("root"),("properly");
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+root +mysql" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('properly');
+
+
+# set user stopword list empty
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+# The set operation should be successful
+set global innodb_ft_server_stopword_table = "test/server_stopword";
+# user stopword list take effect as its session level
+# Result expected for select
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+root +mysql" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('properly');
+
+# set user stopword list
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+DELETE FROM user_stopword;
+# The set operation should be successful
+set global innodb_ft_server_stopword_table = "test/server_stopword";
+DELETE FROM server_stopword;
+# user stopword list take affect as its session level
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+wha* +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('what');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+root +mysql" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('properly');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+DBMS +mysql" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysqld');
+
+DROP TABLE articles,user_stopword,server_stopword;
+
+# Restore Values
+eval SET SESSION innodb_ft_enable_stopword=$innodb_ft_enable_stopword_orig;
+eval SET GLOBAL innodb_ft_server_stopword_table=default;
+eval SET SESSION innodb_ft_user_stopword_table=default;
+
+
+#------------------------------------------------------------------------------
+# FTS stopword list test - check varaibles across sessions
+
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT `idx` (title,body)
+ ) ENGINE=InnoDB;
+
+SHOW CREATE TABLE articles;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','In what tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# session varaible innodb_ft_enable_stopword=0 will take effect for new FTS index
+SET SESSION innodb_ft_enable_stopword = 0;
+select @@innodb_ft_enable_stopword;
+
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+
+
+--echo "In connection 1"
+--connection con1
+select @@innodb_ft_enable_stopword;
+
+ANALYZE TABLE articles;
+
+# result expected as index created before setting innodb_ft_enable_stopword varaible off
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+
+SET SESSION innodb_ft_enable_stopword = 1;
+select @@innodb_ft_enable_stopword;
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+# no result expected turned innodb_ft_enable_stopword is ON
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+
+
+--echo "In connection default"
+--connection default
+select @@innodb_ft_enable_stopword;
+# no result expected as word not indexed from connection 1
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("where will");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("when");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST ("what" WITH QUERY EXPANSION);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("whe*" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+what +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+from" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@6' IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"where will"@9' IN BOOLEAN MODE);
+
+INSERT INTO articles(title,body) values ('the record will' , 'not index the , will words');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+
+SET SESSION innodb_ft_enable_stopword = 1;
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+the +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('"the will"@11' IN BOOLEAN MODE);
+
+
+--echo "In connection 1"
+--connection con1
+SET SESSION innodb_ft_enable_stopword = 1;
+# Define a correct formated user stopword table
+create table user_stopword(value varchar(30)) engine = innodb;
+# The set operation should be successful
+set session innodb_ft_user_stopword_table = "test/user_stopword";
+# Add values into user supplied stop word table
+insert into user_stopword values("this"),("will"),("the");
+# Drop existing index and create the FTS index Using Alter Table.
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+# no result expected as innodb_ft_user_stopword_table filter it
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+
+
+--echo "In connection default"
+--connection default
+# no result expected as innodb_ft_user_stopword_table filter it from connection1
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+show +will" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('will');
+select @@innodb_ft_user_stopword_table;
+# Define a correct formated user stopword table
+create table user_stopword_1(value varchar(30)) engine = innodb;
+# The set operation should be successful
+set session innodb_ft_user_stopword_table = "test/user_stopword_1";
+insert into user_stopword_1 values("when");
+SET SESSION innodb_ft_enable_stopword = 1;
+# result expected
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+when" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('when');
+# Drop existing index and create the FTS index Using Alter Table.
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+# no result expected
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+when" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('when');
+
+--echo "In connection 1"
+--connection con1
+SET SESSION innodb_ft_enable_stopword = 1;
+SET SESSION innodb_ft_user_stopword_table=default;
+select @@innodb_ft_user_stopword_table;
+select @@innodb_ft_server_stopword_table;
+# Define a correct formated server stopword table
+create table server_stopword(value varchar(30)) engine = innodb;
+# The set operation should be successful
+SET GLOBAL innodb_ft_server_stopword_table = "test/server_stopword";
+select @@innodb_ft_server_stopword_table;
+insert into server_stopword values("when"),("the");
+# Drop existing index and create the FTS index Using Alter Table.
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+# no result expected
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+when" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('the');
+
+disconnect con1;
+--source include/wait_until_disconnected.inc
+
+--echo "In connection default"
+--connection default
+SET SESSION innodb_ft_enable_stopword = 1;
+SET SESSION innodb_ft_user_stopword_table=default;
+select @@innodb_ft_server_stopword_table;
+# result expected
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+will +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('where');
+insert into server_stopword values("where"),("will");
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+will +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('where');
+ALTER TABLE articles DROP INDEX idx;
+ALTER TABLE articles ADD FULLTEXT INDEX idx (title,body);
+# no result expected
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+when" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('the');
+SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+will +where" IN BOOLEAN MODE);
+SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('where');
+
+
+DROP TABLE articles,user_stopword,user_stopword_1,server_stopword;
+
+# Restore Values
+eval SET SESSION innodb_ft_enable_stopword=$innodb_ft_enable_stopword_orig;
+eval SET GLOBAL innodb_ft_server_stopword_table=default;
+eval SET SESSION innodb_ft_user_stopword_table=default;
+
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_large_records.test b/mysql-test/suite/innodb_fts/t/innodb_fts_large_records.test
new file mode 100644
index 00000000000..e200cff6c39
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_large_records.test
@@ -0,0 +1,381 @@
+# This test for FTS index with big records
+# case a) more words in single record
+# b) more words across records
+
+--source include/have_innodb.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a TEXT,
+ b TEXT
+ ) ENGINE = InnoDB;
+
+CREATE UNIQUE INDEX FTS_DOC_ID_INDEX on t1(FTS_DOC_ID);
+
+let $counter = 1;
+--disable_query_log
+
+# Generate input file using perl
+perl;
+use strict;
+my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/fts_input_data1.txt";
+open FH,">$fname";
+my $record_counter = 1;
+while ($record_counter < 50) {
+ my $word_counter = 1;
+ my ($col1,$col2);
+ while ($word_counter < 51) {
+ $col1 = $col1. "row".$record_counter."col1"."word".$word_counter." ";
+ $col2 = $col2. "row".$record_counter."col2"."word".$word_counter." ";
+ $word_counter++;
+ }
+ print FH "$col1,$col2\n";
+ $record_counter++;
+}
+close FH;
+EOF
+
+EVAL LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/fts_input_data1.txt' INTO
+TABLE t1 FIELDS TERMINATED BY ',' (a,b);
+--enable_query_log
+--echo "Loading data using LOAD DATA Command , File <MYSQLTEST_VARDIR>/tmp/fts_input_data1.txt"
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+SELECT COUNT(*) FROM t1;
+
+# Select word "tutorial" in the table
+SELECT FTS_DOC_ID FROM t1 WHERE MATCH (a,b)
+ AGAINST ('row35col2word49' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row35col2word49 +(row35col1word49 row35col2word40)" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row35col2word49 -(row45col2word49)" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("row5col2word49 row5col2word40" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ("+row5col2word* +row5col1word49*" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ('"row35col2word49"' IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ('"ROW35col2WORD49"' IN BOOLEAN MODE);
+
+# query expansion
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST ("row5col2word49" WITH QUERY EXPANSION);
+
+SELECT FTS_DOC_ID FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"row5col2word48 row5col2word49"@2' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"row5col2word48 row5col2word49"@1' IN BOOLEAN MODE);
+
+UPDATE t1 SET a = "using update" , b = "changing fulltext index record", FTS_DOC_ID = FTS_DOC_ID + 10000
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("changing fulltext" IN BOOLEAN MODE);
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+
+DELETE FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+
+--remove_file '$MYSQLTEST_VARDIR/tmp/fts_input_data1.txt';
+DROP TABLE t1;
+
+#--------------------------------------------------------------------------------------------
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a TEXT,
+ b TEXT
+ ) ENGINE = InnoDB;
+
+CREATE UNIQUE INDEX FTS_DOC_ID_INDEX on t1(FTS_DOC_ID);
+
+let $counter = 1;
+--disable_query_log
+
+# Generate input file using perl
+perl;
+use strict;
+my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/fts_input_data2.txt";
+open FH,">$fname";
+my $record_counter = 1;
+while ($record_counter < 101) {
+ my $word_counter = 1;
+ my ($col1,$col2);
+ while ($word_counter < 50) {
+ $col1 = $col1. "row".$record_counter."col1"."word".$word_counter." ";
+ $col2 = $col2. "row".$record_counter."col2"."word".$word_counter." ";
+ $word_counter++;
+ }
+ print FH "$col1,$col2\n";
+ $record_counter++;
+}
+close FH;
+EOF
+
+EVAL LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/fts_input_data2.txt'
+INTO TABLE t1 FIELDS TERMINATED BY ',' (a,b);
+--enable_query_log
+--echo "Loading data using LOAD DATA Command , File <MYSQLTEST_VARDIR>/tmp/fts_input_data2.txt"
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+SELECT COUNT(*) FROM t1;
+
+SELECT FTS_DOC_ID from t1 WHERE b like '%row300col2word30%';
+
+SELECT FTS_DOC_ID FROM t1 WHERE MATCH (a,b)
+ AGAINST ('row35col2word49' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row35col2word49 +(row35col1word49 row35col2word40)" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+row35col2word49 -(row45col2word49)" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("row5col2word49 row5col2word40" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ("+row5col2word* +row5col1word49*" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ('"row35col2word49"' IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ('"ROW35col2WORD49"' IN BOOLEAN MODE);
+
+# query expansion
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST ("row5col2word49" WITH QUERY EXPANSION);
+
+SELECT FTS_DOC_ID FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"row5col2word48 row5col2word49"@2' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"row5col2word48 row5col2word49"@1' IN BOOLEAN MODE);
+
+UPDATE t1 SET a = "using update" , b = "changing fulltext index record", FTS_DOC_ID = FTS_DOC_ID + 10000
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+
+SELECT a,b FROM t1
+WHERE MATCH(a,b) AGAINST("+row5col2word49 +row5col1word49" IN BOOLEAN MODE);
+SELECT a,b FROM t1
+WHERE MATCH(a,b) AGAINST("changing fulltext" IN BOOLEAN MODE);
+SELECT a,b FROM t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+
+DELETE FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+SELECT a,b FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+
+ALTER TABLE t1 DROP INDEX idx;
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+UPDATE t1 SET a = NULL , b = NULL, FTS_DOC_ID= 6000 + FTS_DOC_ID;
+
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+ALTER TABLE t1 DROP INDEX idx;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+
+--remove_file '$MYSQLTEST_VARDIR/tmp/fts_input_data2.txt';
+DROP TABLE t1;
+
+#--------------------------------------------------------------------------------------------
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a TEXT,
+ b TEXT
+ ) ENGINE = InnoDB;
+
+CREATE UNIQUE INDEX FTS_DOC_ID_INDEX on t1(FTS_DOC_ID);
+
+let $counter = 1;
+--disable_query_log
+
+# Generate input file using perl
+perl;
+use strict;
+my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/fts_input_data3.txt";
+open FH,">$fname";
+my $record_counter = 1;
+while ($record_counter < 101) {
+ my $word_counter = 1;
+ my ($col1,$col2);
+ while ($word_counter < 50) {
+ $col1 = $col1. "samerowword" ." ";
+ $col2 = $col2. "samerowword" ." ";
+ $word_counter++;
+ }
+ print FH "$col1,$col2\n";
+ $record_counter++;
+}
+close FH;
+EOF
+
+EVAL LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/fts_input_data3.txt'
+INTO TABLE t1 FIELDS TERMINATED BY ',' (a,b);
+--enable_query_log
+--echo "Loading data using LOAD DATA Command , File <MYSQLTEST_VARDIR>/tmp/fts_input_data3.txt"
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+SELECT COUNT(*) FROM t1;
+
+SELECT COUNT(*) from t1 WHERE b like '%samerowword%';
+
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b)
+ AGAINST ('samerowword' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword +samerowword" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword -(row45col2word49)" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH a,b AGAINST ("+sameroww" IN BOOLEAN MODE);
+
+# query expansion
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST ("samerowword" WITH QUERY EXPANSION);
+
+UPDATE t1 SET a = "using update" , b = "changing fulltext index record",
+FTS_DOC_ID = FTS_DOC_ID + 10000
+WHERE MATCH(a,b) AGAINST("+samerowword +samerowword" IN BOOLEAN MODE);
+
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword +samerowword" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("changing fulltext" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+
+DELETE FROM t1 WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+
+ALTER TABLE t1 DROP INDEX idx;
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+UPDATE t1 SET a = NULL , b = NULL ;
+
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+ALTER TABLE t1 DROP INDEX idx;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+
+--remove_file '$MYSQLTEST_VARDIR/tmp/fts_input_data3.txt';
+DROP TABLE t1;
+
+#--------------------------------------------------------------------------------------------
+# Create FTS with same word and numbers
+EVAL CREATE TABLE t1 (
+ FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a TEXT,
+ b TEXT
+ ) ENGINE = InnoDB;
+
+CREATE UNIQUE INDEX FTS_DOC_ID_INDEX on t1(FTS_DOC_ID);
+
+
+let $counter = 1;
+--disable_query_log
+
+# Generate input file using perl
+perl;
+use strict;
+my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/fts_input_data4.txt";
+open FH,">$fname";
+my $record_counter = 1;
+while ($record_counter < 101) {
+ my $word_counter = 1001;
+ my ($col1,$col2);
+ while ($word_counter < 1101) {
+ $col1 = $col1. "samerowword" ." ";
+ $col2 = $col2. "$word_counter" ." ";
+ $word_counter++;
+ }
+ print FH "$col1,$col2\n";
+ $record_counter++;
+}
+close FH;
+EOF
+
+EVAL LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/fts_input_data4.txt'
+INTO TABLE t1 FIELDS TERMINATED BY ',' (a,b);
+--enable_query_log
+--echo "Loading data using LOAD DATA Command , File <MYSQLTEST_VARDIR>/tmp/fts_input_data4.txt"
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+SELECT COUNT(*) FROM t1;
+
+SELECT COUNT(*) from t1 WHERE a like '%samerowword%';
+
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b)
+ AGAINST ('samerowword' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST("+samerowword +1050" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST("+samerowword" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST("+samerowword -(1050)" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1 WHERE MATCH a,b AGAINST ("+2001" IN BOOLEAN MODE);
+
+# query expansion
+SELECT COUNT(*) from t1 WHERE MATCH(a,b) AGAINST ("samerowword" WITH QUERY EXPANSION);
+
+UPDATE t1 SET a = "using update" , b = "changing fulltext index record",
+FTS_DOC_ID = FTS_DOC_ID + 10000
+WHERE MATCH(a,b) AGAINST("+samerowword +1050" IN BOOLEAN MODE);
+
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword +1050" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+samerowword" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("changing fulltext" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+
+DELETE FROM t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+SELECT COUNT(*) from t1
+WHERE MATCH(a,b) AGAINST("+chang* +fulltext" IN BOOLEAN MODE);
+
+ALTER TABLE t1 DROP INDEX idx;
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+UPDATE t1 SET a = NULL , b = NULL ;
+
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+ALTER TABLE t1 DROP INDEX idx;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL AND b IS NULL;
+
+--remove_file '$MYSQLTEST_VARDIR/tmp/fts_input_data4.txt';
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test b/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
new file mode 100644
index 00000000000..68ca8974512
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
@@ -0,0 +1,1332 @@
+#------------------------------------------------------------------------------
+# Test With alter/create/drop index
+#------------------------------------------------------------------------------
+--source include/have_innodb.inc
+let collation=UTF8_UNICODE_CI;
+--source include/have_collation.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...');
+
+# Create the FTS index Using Alter Table
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+EVAL SHOW CREATE TABLE t1;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+select id, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+select id, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+select id from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE);
+select id from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE);
+select id from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
+
+# query expansion
+select id from t1 where MATCH(a,b) AGAINST ("collections" WITH QUERY EXPANSION);
+select id from t1 where MATCH(a,b) AGAINST ("indexes" WITH QUERY EXPANSION);
+select id from t1 where MATCH(a,b) AGAINST ("indexes collections" WITH QUERY EXPANSION);
+
+# Drop index
+ALTER TABLE t1 DROP INDEX idx;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+select id, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+select id, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+select id from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE);
+select id from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE);
+select id from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
+
+# query expansion
+select id from t1 where MATCH(a,b) AGAINST ("collections" WITH QUERY EXPANSION);
+select id from t1 where MATCH(a,b) AGAINST ("indexes" WITH QUERY EXPANSION);
+select id from t1 where MATCH(a,b) AGAINST ("indexes collections" WITH QUERY EXPANSION);
+
+# insert for proximity search
+INSERT INTO t1 (a,b) VALUES ('test query expansion','for database ...');
+# Insert into table with similar word of different distances
+INSERT INTO t1 (a,b) VALUES
+ ('test proximity search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO t1 (a,b) VALUES
+ ('test proximity fts search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO t1 (a,b) VALUES
+ ('test more proximity fts search, test, more proximity and phrase',
+ 'search, with proximity innodb');
+
+# This should only return the first document
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"proximity search"@2' IN BOOLEAN MODE);
+
+# This would return no document
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"proximity search"@1' IN BOOLEAN MODE);
+
+# This give you all three documents
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"proximity search"@3' IN BOOLEAN MODE);
+
+# Similar boundary testing for the words
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"test proximity"@3' IN BOOLEAN MODE);
+
+# Test with more word The last document will return, please notice there
+# is no ordering requirement for proximity search.
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"more test proximity"@3' IN BOOLEAN MODE);
+
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"more test proximity"@2' IN BOOLEAN MODE);
+
+# The phrase search will not require exact word ordering
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"more fts proximity"@02' IN BOOLEAN MODE);
+
+DROP TABLE t1;
+
+
+
+#------------------------------------------------------------------------------
+# Test with FTS condition in subquery
+#------------------------------------------------------------------------------
+
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...');
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE id = (SELECT MAX(id) FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE));
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE id = (SELECT MIN(id) FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE));
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE id = (SELECT MIN(id) FROM t1 WHERE MATCH (a,b)
+AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) OR id = 3 ;
+
+
+# Select word "tutorial" in the table - innodb crash
+SELECT id FROM t1 WHERE CONCAT(t1.a,t1.b) IN (
+SELECT CONCAT(a,b) FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+) OR t1.id = 3 ;
+
+
+# Select word "tutorial" in the table - innodb crash
+SELECT id FROM t1 WHERE CONCAT(t1.a,t1.b) IN (
+SELECT CONCAT(a,b) FROM t1 AS t2
+WHERE MATCH (t2.a,t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t2.id != 3) ;
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE id IN (SELECT MIN(id) FROM t1 WHERE
+MATCH (a,b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) OR id = 3 ;
+
+# Select word except "tutorial" in the table
+SELECT id FROM t1 WHERE id NOT IN (SELECT MIN(id) FROM t1
+WHERE MATCH (a,b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) ;
+
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE EXISTS (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t1.id = t2.id) ;
+
+
+# Select not word like "tutorial" using subquery
+SELECT id FROM t1 WHERE NOT EXISTS (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t1.id = t2.id) ;
+
+DROP TABLE t1;
+
+# boolean search
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT ,
+ FULLTEXT (a,b)
+ ) ENGINE = InnoDB;
+
+INSERT INTO t1(a,b) VALUES('MySQL has now support', 'for full-text search'),
+('Full-text indexes', 'are called collections'),
+('Only MyISAM tables','support collections'),
+('Function MATCH ... AGAINST()','is used to do a search'),
+('Full-text search in MySQL', 'implements vector space model');
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE t1.id = (SELECT MAX(t2.id) FROM t1 AS t2 WHERE
+ MATCH(t2.a,t2.b) AGAINST("+support +collections" IN BOOLEAN MODE));
+SELECT id FROM t1 WHERE t1.id != (SELECT MIN(t2.id) FROM t1 AS t2 WHERE
+ MATCH(t2.a,t2.b) AGAINST("+search" IN BOOLEAN MODE));
+
+SELECT id FROM t1 WHERE t1.id IN (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ("+call* +coll*" IN BOOLEAN MODE));
+
+SELECT id FROM t1 WHERE EXISTS (SELECT id FROM t1 AS t2 WHERE
+MATCH t2.a,t2.b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE) AND t2.id=t1.id);
+
+
+#query expansion search
+# result differ for query expansion search even wo subquery
+#SELECT id FROM t1 WHERE t1.id = ( SELECT MAX(t2.id) FROM t1 AS t2 WHERE
+#MATCH(a,b) AGAINST ("collections" WITH QUERY EXPANSION));
+#SELECT id FROM t1 WHERE t1.id IN ( SELECT t2.id FROM t1 AS t2 WHERE
+#MATCH(a,b) AGAINST ("indexes" WITH QUERY EXPANSION));
+#SELECT id FROM t1 WHERE ( SELECT COUNT(*) FROM t1 AS t2 WHERE
+#MATCH(t2.a,t2.b) AGAINST ("indexes collections" WITH QUERY EXPANSION)) >= 1
+#AND t1.id <=3 ;
+
+# proximity search
+# insert for proximity search
+INSERT INTO t1 (a,b) VALUES ('test query expansion','for database ...');
+# Insert into table with similar word of different distances
+INSERT INTO t1 (a,b) VALUES
+ ('test proximity search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO t1 (a,b) VALUES
+ ('test proximity fts search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO t1 (a,b) VALUES
+ ('test more proximity fts search, test, more proximity and phrase',
+ 'search, with proximity innodb');
+
+
+SELECT id FROM t1 WHERE t1.id = (SELECT MAX(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.a,t2.b) AGAINST ('"proximity search"@2' IN BOOLEAN MODE));
+SELECT id FROM t1 WHERE t1.id > (SELECT MIN(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.a,t2.b) AGAINST ('"proximity search"@2' IN BOOLEAN MODE));
+
+SELECT id FROM t1 WHERE t1.id IN (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a,t2.b) AGAINST ('"proximity search"@2' IN BOOLEAN MODE));
+
+SELECT id FROM t1 WHERE EXISTS (SELECT id FROM t1 AS t2 WHERE
+MATCH t2.a,t2.b AGAINST ('"proximity search"@2' IN BOOLEAN MODE)
+AND t2.id=t1.id);
+
+SELECT id FROM t1 WHERE EXISTS (SELECT id FROM t1 AS t2 WHERE
+MATCH t2.a,t2.b AGAINST ('"more test proximity"@3' IN BOOLEAN MODE)
+AND t2.id=t1.id);
+
+SELECT id FROM t1 WHERE EXISTS (SELECT id FROM t1 AS t2 WHERE
+MATCH t2.a,t2.b AGAINST ('"more test proximity"@2' IN BOOLEAN MODE)
+AND t2.id=t1.id);
+
+
+#------------------------------------------------------------------------------
+# create table AS SELECT from fts indexed table
+#------------------------------------------------------------------------------
+CREATE TABLE t2 ENGINE = InnoDB AS SELECT id FROM t1 WHERE
+MATCH a,b AGAINST ('support') ;
+SHOW CREATE TABLE t2;
+SELECT id FROM t2;
+DROP TABLE t2;
+
+CREATE TABLE t2 ENGINE = InnoDB AS SELECT id FROM t1 WHERE
+MATCH a,b AGAINST("+support +collections" IN BOOLEAN MODE);
+SHOW CREATE TABLE t2;
+SELECT id FROM t2;
+DROP TABLE t2;
+
+CREATE TABLE t2 ENGINE = InnoDB AS SELECT id FROM t1 WHERE
+MATCH a,b AGAINST ('"proximity search"@10' IN BOOLEAN MODE);
+SHOW CREATE TABLE t2;
+SELECT id FROM t2;
+DROP TABLE t2;
+
+DROP TABLE t1;
+
+
+#------------------------------------------------------------------------------
+# Verift FTS with NULL records
+#------------------------------------------------------------------------------
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+('MySQL from Tutorial','DBMS stands for DataBase ...');
+
+let $counter = 50;
+--disable_query_log
+WHILE ($counter > 0) {
+ INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+ dec $counter;
+}
+--enable_query_log
+INSERT INTO t1 (a,b) VALUES
+('when To Use MySQL Well','After that you went through a ...');
+
+let $counter = 50;
+--disable_query_log
+WHILE ($counter > 0) {
+ INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+ dec $counter;
+}
+--enable_query_log
+INSERT INTO t1 (a,b) VALUES
+('where will Optimizing MySQL','what In this tutorial we will show ...');
+
+INSERT INTO t1 (a,b) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+('MySQL vs. YourSQL','In the following database comparison ...'),
+('MySQL Security','When configured properly, MySQL null...');
+
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t1 WHERE a IS NULL;
+SELECT COUNT(*) FROM t1 WHERE b IS NOT NULL;
+
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST (NULL IN NATURAL LANGUAGE MODE);
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST (NULL WITH QUERY EXPANSION);
+SELECT id FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('null' IN NATURAL LANGUAGE MODE);
+# Boolean search
+# Select rows contain "MySQL" but not "YourSQL"
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE) AND (a IS NOT NULL OR b IS NOT NULL);
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE) AND (a IS NULL AND b IS NOT NULL);
+
+# Select rows contain at least one of the two words
+SELECT id FROM t1 WHERE MATCH (a,b)
+AGAINST ('DBMS Security' IN BOOLEAN MODE);
+
+# Test query expansion
+SELECT COUNT(*) FROM t1
+WHERE MATCH (a,b)
+AGAINST ('database' WITH QUERY EXPANSION);
+
+# proximity
+SELECT id FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"following database"@10' IN BOOLEAN MODE);
+
+
+DROP TABLE t1;
+
+
+
+#------------------------------------------------------------------------------
+# More FTS test from peter's testing
+#------------------------------------------------------------------------------
+--disable_warnings
+drop table if exists t50;
+--enable_warnings
+
+set names utf8;
+
+
+--echo "----------Test1---------"
+# Create FTS table
+create table t50 (s1 varchar(60) character set utf8 collate utf8_bin) engine = innodb;
+create fulltext index i on t50 (s1);
+# INNODB_FTS: Assert - fixed
+# Assert : InnoDB: Failing assertion: rbt_validate(result_doc->tokens)
+insert into t50 values ('ABCDE'),('FGHIJ'),('KLMNO'),('VÃÆ·WÄ°');
+# it was giving empty result set instead of one record
+select * from t50 where match(s1) against ('VÃÆ·WÄ°');
+drop table t50;
+
+
+--echo "----------Test2---------"
+create table t50 (s1 int unsigned primary key auto_increment, s2
+varchar(60) character set utf8) engine = innodb;
+create fulltext index i on t50 (s2);
+insert into t50 (s2) values ('FGHIJ'),('KLMNO'),('VÃÆ·WÄ°'),('ABCDE');
+# INNODB_FTS: RESULT DIFF
+# Order by does not sort result.
+# Optimizer's Evgeny is investigate a similar issue. InnoDB FTS is used only
+# for FT search, and should not be used as regular index for such order by query.
+# Correct the result file when fixed.
+select * from t50 order by s2;
+drop table t50;
+
+
+--echo "----------Test3---------"
+create table t50 (id int unsigned primary key auto_increment, s2
+varchar(60) character set utf8) engine = innodb;
+create fulltext index i on t50 (s2);
+insert into t50 (s2) values ('FGHIJ'),('KLMNO'),('VÃÆ·WÄ°'),('ABCDE');
+set @@autocommit=0;
+update t50 set s2 = lower(s2);
+update t50 set s2 = upper(s2);
+commit;
+select * from t50 where match(s2) against ('VÃÆ·WÄ° FGHIJ KLMNO ABCDE' in boolean mode);
+select * from t50;
+drop table t50;
+set @@autocommit=1;
+
+--echo "----------Test4---------"
+create table t50 (id int unsigned primary key auto_increment, s2
+varchar(60) character set utf8) engine = innodb;
+create fulltext index i on t50 (s2);
+insert into t50 (s2) values ('FGHIJ'),('KLMNO'),('VÃÆ·WÄ°'),('ABCD*');
+select * from t50 where match(s2) against ('abcd*' in natural language
+mode);
+# INNODB_FTS: RESULT DIFF(Expected). InnoDB do not index "*", so
+# word "ABCD" indexed, instead of "ABCD*"
+select * from t50 where match(s2) against ('abcd*' in boolean mode);
+drop table t50;
+
+
+--echo "----------Test5---------"
+create table t50 (s1 int, s2 varchar(200), fulltext key(s2)) engine = innodb;
+set @@autocommit=0;
+insert into t50 values (1,'Sunshine'),(2,'Lollipops');
+select * from t50 where match(s2) against('Rainbows');
+rollback;
+select * from t50;
+drop table t50;
+set @@autocommit=1;
+
+--echo "----------Test6---------"
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('aab` MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('aas How To Use MySQL Well','After you went through a ...'),
+ ('aac Optimizing MySQL','In this tutorial we will show ...');
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('aac 1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('aab MySQL vs. YourSQL','In the following database comparison ...'),
+ ('aaa MySQL Security','When configured properly, MySQL ...');
+# Create the FTS index Using Alter Table
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+
+-- disable_query_log
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+-- enable_query_log
+
+SELECT * FROM t1 ORDER BY MATCH(a,b) AGAINST ('aac') DESC;
+SELECT * FROM t1 ORDER BY MATCH(a,b) AGAINST ('aab') DESC;
+
+--echo "----------Test7---------"
+select * from t1 where match(a,b) against ('aaa')
+union select * from t1 where match(a,b) against ('aab')
+union select * from t1 where match(a,b) against ('aac');
+
+select * from t1 where match(a,b) against ('aaa')
+ or match(a,b) against ('aab')
+ or match(a,b) against ('aac');
+
+DROP TABLE t1;
+
+--echo "----------Test8---------"
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ... abcd') ,
+ ('How To Use MySQL Well','After you went through a q ...abdd'),
+ ('Optimizing MySQL','In this tutorial we will show ...abed');
+
+# Create the FTS index Using Alter Table
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+EVAL SHOW CREATE TABLE t1;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. q ...'),
+ ('MySQL vs. YourSQL use','In the following database comparison ...'),
+ ('MySQL Security','When run configured properly, MySQL ...');
+
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('run');
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('use');
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('went');
+# rows should be matched as 'q' is single char its not indexed
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('run') AND NOT MATCH(a,b) AGAINST ('q');
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('use') AND NOT MATCH(a,b) AGAINST ('q');
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('went') AND NOT MATCH(a,b) AGAINST ('q');
+
+--echo "----------Test9---------"
+CREATE TABLE t2 AS SELECT * FROM t1;
+ALTER TABLE t2 ENGINE=MYISAM;
+CREATE FULLTEXT INDEX i ON t2 (a,b);
+SET @x = (SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('run'));
+SET @x = @x + (SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('use'));
+SET @x = @x + (SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('went'));
+SET @x = @x + (SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('run'));
+SET @x2 = (SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('run'));
+SET @x2 = @x2 + (SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('use'));
+SET @x2 = @x2 + (SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('went'));
+SET @x2 = @x2 + (SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('run'));
+# Innodb returns value for x which is correct
+SELECT @x, @x2;
+
+
+DROP TABLE t2;
+
+--echo "----------Test10---------"
+CREATE TABLE t2 AS SELECT * FROM t1;
+ALTER TABLE t2 ENGINE=MYISAM;
+CREATE FULLTEXT INDEX i ON t2 (a,b);
+SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('abc*' IN BOOLEAN MODE);
+SELECT COUNT(*) FROM t1 WHERE MATCH(a,b) AGAINST ('abc*' IN BOOLEAN MODE);
+
+DROP TABLE t2;
+
+
+--echo "----------Test11---------"
+CREATE TABLE t2 AS SELECT * FROM t1;
+ALTER TABLE t2 ENGINE = MYISAM;
+CREATE FULLTEXT INDEX i ON t2 (a,b);
+ALTER TABLE t2 ENGINE=InnoDB;
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ('run');
+SELECT COUNT(*) FROM t2 WHERE MATCH(a,b) AGAINST ('abc*' IN BOOLEAN MODE);
+DROP TABLE t2,t1;
+
+
+--echo "----------Test13---------"
+set names utf8;
+
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200) CHARACTER SET UTF8 COLLATE UTF8_SPANISH_CI) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX i ON t1 (s2);
+INSERT INTO t1 VALUES (1,'aaCen'),(2,'aaCha'),(3,'aaCio'),(4,'aaçen'),(5,'aaçha'),(6,'aaçio');
+SELECT * FROM t1 WHERE MATCH(s2) AGAINST ('aach*' IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(s2) AGAINST ('aaC*' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+--echo "----------Test14---------"
+CREATE TABLE t1(s1 INT , s2 VARCHAR(100) CHARACTER SET sjis) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX i ON t1 (s2);
+INSERT INTO t1 VALUES (1,'ペペペ'),(2,'テテテ'),(3,'ルルル'),(4,'グググ');
+# Innodb Asset : file ha_innodb.cc line 4557
+#SELECT * FROM t1 WHERE MATCH(s2) AGAINST ('テテ*' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+
+--echo "----------Test15---------"
+CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_520_CI) ENGINE = MyISAM;
+CREATE FULLTEXT INDEX i ON t1 (s1);
+INSERT INTO t1 VALUES
+('a'),('b'),('c'),('d'),('ÅÅÅÅ'),('LLLL'),(NULL),('ÅÅÅÅ ÅÅÅÅ'),('LLLLLLLL');
+SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
+DROP TABLE if EXISTS t2;
+CREATE TABLE t2 (s1 VARCHAR(60) CHARACTER SET UTF8 COLLATE UTF8_POLISH_CI) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX i ON t2 ( s1);
+INSERT INTO t2 VALUES
+('a'),('b'),('c'),('d'),('ÅÅÅÅ'),('LLLL'),(NULL),('ÅÅÅÅ ÅÅÅÅ'),('LLLLLLLL');
+SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
+--disable_warnings
+DROP TABLE t1,t2;
+--enable_warnings
+
+--echo "----------Test16---------"
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(50) CHARACTER SET UTF8) ENGINE = InnoDB;
+CREATE FULLTEXT INDEX i ON t1(s2);
+INSERT INTO t1 VALUES (2, 'ğė Daśi p ');
+SELECT * FROM t1 WHERE MATCH(s2) AGAINST ('+p +"ğė Daśi*"' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+
+--echo "----------Test19---------"
+#19 Failure with Boolean quoted search
+CREATE TABLE t1 ( id INT , char_column VARCHAR(60) CHARACTER SET UTF8) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,'İóëɠ');
+CREATE FULLTEXT INDEX i ON t1 (char_column);
+SELECT * FROM t1 WHERE MATCH(char_column) AGAINST ('"İóëɠ"' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+--echo "----------Test20---------"
+#20 Crash with utf32 and boolean mode.
+CREATE TABLE t1 ( id INT , char_column VARCHAR(60) CHARACTER SET UTF32, char_column2 VARCHAR(60) character set utf8) ENGINE = InnoDB;
+INSERT INTO t1 (char_column) VALUES ('abcde'),('fghij'),('klmno'),('qrstu');
+UPDATE t1 SET char_column2 = char_column;
+CREATE FULLTEXT INDEX i ON t1 (char_column2);
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+SELECT * FROM t1 WHERE MATCH(char_column) AGAINST ('abc*' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+--echo "----------Test22---------"
+# case 22
+CREATE TABLE t1 ( id INT , char_column VARCHAR(60) CHARACTER SET UTF8) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,'aaa'),(2,'bbb'),(3,'ccc');
+CREATE FULLTEXT INDEX i ON t1 (char_column);
+HANDLER t1 OPEN;
+HANDLER t1 READ i = ('aaa');
+DROP TABLE t1;
+#23. Duplicate key error when there are no unique indexes (procedure test)
+#24 Failure after cascading update - already have tests
+
+--echo "----------Test25---------"
+#25 Failure with Croatian boolean truncated search.
+CREATE TABLE t1 ( id INT , char_column VARCHAR(60) CHARACTER SET UTF8 COLLATE UTF8_CROATIAN_CI) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,'LJin'),(2,'ljin'),(3,'lmin'),(4,'LJLJLJLJLJ');
+CREATE FULLTEXT INDEX i ON t1 (char_column);
+#inndob:error incorrect result correct it after fix
+SELECT count(*) FROM t1 WHERE MATCH (char_column) AGAINST ('lj*' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+#26. Index error when run procedure call from multiple clients
+
+--echo "----------Test27---------"
+#27 Crash after server restart
+CREATE TABLE t1 (id INT,char_column VARCHAR(60));
+SET @@autocommit=0;
+CREATE FULLTEXT INDEX i ON t1 (char_column);
+INSERT INTO t1 values (1,'aaa');
+echo "restart server..."
+# Restart the server
+--source include/restart_mysqld.inc
+DELETE FROM t1 WHERE MATCH(char_column) AGAINST ('bbb');
+SET @@autocommit=1;
+DROP TABLE t1;
+
+--echo "----------Test28---------"
+drop table if exists `fts_test`;
+create table `fts_test`(`a` text,fulltext key(`a`))engine=innodb;
+set session autocommit=0;
+insert into `fts_test` values ('');
+savepoint `b`;
+savepoint `b`;
+set session autocommit=1;
+DROP TABLE fts_test;
+
+# Continue test savepoint related operations. With a commit after
+# multiple rollback to savepoints
+--echo "----------Test29---------"
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...');
+
+
+start transaction;
+
+INSERT INTO articles (title,body) VALUES
+('How To Use MySQL Well','After you went through a ...');
+
+savepoint `a1`;
+
+INSERT INTO articles (title,body) VALUES
+('Optimizing MySQL','In this tutorial we will show ...');
+
+savepoint `a2`;
+
+INSERT INTO articles (title,body) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...');
+
+savepoint `a3`;
+
+INSERT INTO articles (title,body) VALUES
+('MySQL vs. YourSQL','In the following database comparison ...');
+
+savepoint `a4`;
+
+# FTS do not parse those uncommitted rows, only one row should show up
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+
+rollback to savepoint a3;
+
+# The last inserted row should not be there
+select title, body from articles;
+
+INSERT INTO articles (title,body) VALUES
+('MySQL Security','When configured properly, MySQL ...');
+
+savepoint `a5`;
+
+select title, body from articles;
+
+rollback to savepoint a2;
+
+select title, body from articles;
+
+commit;
+
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+
+# Continue test savepoint related operations. With a rollback after
+# multiple rollback to savepoints
+--echo "----------Test30---------"
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...');
+
+start transaction;
+
+INSERT INTO articles (title,body) VALUES
+('How To Use MySQL Well','After you went through a ...');
+
+savepoint `a1`;
+
+INSERT INTO articles (title,body) VALUES
+('Optimizing MySQL','In this tutorial we will show ...');
+
+savepoint `a2`;
+
+INSERT INTO articles (title,body) VALUES
+('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...');
+
+savepoint `a3`;
+
+INSERT INTO articles (title,body) VALUES
+('MySQL vs. YourSQL','In the following database comparison ...');
+
+savepoint `a4`;
+
+# FTS do not parse those uncommitted rows, only one row should show up
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+
+rollback to savepoint a3;
+
+# The last inserted row should not be there
+select title, body from articles;
+
+INSERT INTO articles (title,body) VALUES
+('MySQL Security','When configured properly, MySQL ...');
+
+savepoint `a5`;
+
+select title, body from articles;
+
+rollback to savepoint a2;
+
+select title, body from articles;
+
+rollback;
+
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('Database' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles
+ WHERE MATCH (title,body)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+
+# Test for Bug #13907075 - DIFFERENT RESULTS FOR DIFFERENT TERM ORDER
+# WITH INNODB BOOLEAN FULLTEXT SEARCH. The FTS_IGNORE ("-") operation
+# is orderless
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+-- disable_result_log
+ANALYZE TABLE articles;
+-- enable_result_log
+
+SELECT *, MATCH(title, body) AGAINST ('-database +MySQL' IN BOOLEAN MODE) AS score from articles;
+
+SELECT *, MATCH(title, body) AGAINST ('+MySQL -database' IN BOOLEAN MODE) AS score FROM articles;
+
+# With subquery
+SELECT * FROM articles where MATCH(title, body) AGAINST ('MySQL - (database - tutorial)' IN BOOLEAN MODE);
+
+SELECT * FROM articles where MATCH(title, body) AGAINST ('MySQL - (- tutorial database)' IN BOOLEAN MODE);
+
+# More complex query
+SELECT * FROM articles where MATCH(title, body) AGAINST ('MySQL - (- tutorial database) -Tricks' IN BOOLEAN MODE);
+
+SELECT * FROM articles where MATCH(title, body) AGAINST ('-Tricks MySQL - (- tutorial database)' IN BOOLEAN MODE);
+
+DROP TABLE articles;
+
+# Test for Bug 13940669 - 64901: INNODB: ASSERTION FAILURE IN
+# THREAD 34387022112 IN FILE REM0CMP.CC LINE 5
+
+drop table if exists t1;
+
+create table t1 (FTS_DOC_ID bigint unsigned auto_increment not null primary key,
+title varchar(200),body text,fulltext(title,body)) engine=innodb;
+
+insert into t1 set body='test';
+
+select * from t1 where match(title,body) against('%test');
+
+select * from t1 where match(title,body) against('%');
+
+select * from t1 where match(title,body) against('%%%%');
+
+drop table t1;
+
+# Test for Bug 13881758 - 64745: CREATE FULLTEXT INDEX CAUSES CRASH
+# Create a database with empty space in its name
+CREATE DATABASE `benu database`;
+
+USE `benu database`;
+
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...');
+
+# Create the FTS index Using Alter Table
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+EVAL SHOW CREATE TABLE t1;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+select id, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+select id, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+select id from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE);
+select id from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE);
+select id from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
+
+DROP DATABASE `benu database`;
+
+USE test;
+
+# Test for Bug #14101706 - CRASH WITH DDL IN ROW_MERGE_BUILD_INDEXES
+# WHEN FULLTEXT INDEXES EXIST
+
+CREATE TABLE `t21` (`a` text, `b` int not null,
+fulltext key (`a`), fulltext key (`a`)
+) ENGINE=INNODB DEFAULT CHARSET=LATIN1;
+
+--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
+ALTER TABLE `t21` ADD UNIQUE INDEX (`b`), ALGORITHM=INPLACE;
+ALTER TABLE `t21` ADD UNIQUE INDEX (`b`);
+
+DROP TABLE t21;
+
+CREATE TABLE `t21` (`a` text, `b` int not null,
+fulltext key (`a`)) ENGINE=INNODB DEFAULT CHARSET=LATIN1;
+
+ALTER TABLE `t21` ADD UNIQUE INDEX (`b`);
+
+DROP TABLE t21;
+
+# Test primary index rebuild
+CREATE TABLE t1 (
+ id INT NOT NULL,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 VALUES
+ (1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+ (2, 'How To Use MySQL Well','After you went through a ...'),
+ (3, 'Optimizing MySQL','In this tutorial we will show ...');
+
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+
+ALTER TABLE t1 ADD UNIQUE INDEX (`id`);
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+select id, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+
+DROP TABLE t1;
+
+# Test create the FTS and primary index in the same clause
+CREATE TABLE t1 (
+ id INT NOT NULL,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 VALUES
+ (1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+ (2, 'How To Use MySQL Well','After you went through a ...'),
+ (3, 'Optimizing MySQL','In this tutorial we will show ...');
+
+ALTER TABLE t1 ADD UNIQUE INDEX (`id`), ADD FULLTEXT INDEX idx (a,b);
+
+# Select word "tutorial" in the table
+SELECT id FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select id from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+select id from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+
+DROP TABLE t1;
+
+# Create FTS table with FTS_DOC_ID already existed
+CREATE TABLE t1 (
+ FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 VALUES
+ (1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+ (2, 'How To Use MySQL Well','After you went through a ...'),
+ (3, 'Optimizing MySQL','In this tutorial we will show ...');
+
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+
+ALTER TABLE t1 ADD UNIQUE INDEX (`FTS_DOC_ID`);
+
+# Select word "tutorial" in the table
+SELECT FTS_DOC_ID FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+select FTS_DOC_ID, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+
+DROP TABLE t1;
+
+# Create FTS table with FTS_DOC_ID and FTS_DOC_ID_INDEX
+CREATE TABLE t1 (
+ FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 VALUES
+ (1, 'MySQL Tutorial','DBMS stands for DataBase ...') ,
+ (2, 'How To Use MySQL Well','After you went through a ...'),
+ (3, 'Optimizing MySQL','In this tutorial we will show ...');
+
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b), ADD UNIQUE INDEX FTS_DOC_ID_INDEX (FTS_DOC_ID);
+
+# Select word "tutorial" in the table
+SELECT FTS_DOC_ID FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MODE);
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
+select FTS_DOC_ID from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
+select FTS_DOC_ID, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
+
+DROP TABLE t1;
+
+# Test for bug #14079609 - FTS: CRASH IN FTS_TRX_TABLE_CMP WITH SAVEPOINTS, XA
+
+CREATE TABLE t2 (`b` char(2),fulltext(`b`)) ENGINE=INNODB
+DEFAULT CHARSET=LATIN1;
+
+CREATE TABLE t3 LIKE t2;
+
+INSERT INTO `t2` VALUES();
+
+COMMIT WORK AND CHAIN;
+
+INSERT INTO `t3` VALUES ();
+UPDATE `t2` SET `b` = 'a';
+
+SAVEPOINT BATCH1;
+
+DROP TABLE t2;
+DROP TABLE t3;
+
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...');
+
+# Create the FTS index Using Alter Table
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+
+COMMIT WORK AND CHAIN;
+
+INSERT INTO t1 (a,b) VALUES
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+SAVEPOINT BATCH1;
+
+SELECT id FROM t1 WHERE MATCH (a,b)
+ AGAINST ('MySQL' IN NATURAL LANGUAGE MODE);
+
+INSERT INTO t1 (a,b) VALUES
+ ('1002 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+
+ROLLBACK TO SAVEPOINT BATCH1;
+
+COMMIT;
+
+SELECT id FROM t1 WHERE MATCH (a,b)
+ AGAINST ('MySQL' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE t1;
+
+# Test for Bug 14588091 - FTS: BUFFER OVERFLOW IN FTS_AST_CREATE_NODE_TEXT
+CREATE TABLE `t` (`a` char(20) character set utf8 default null,
+fulltext key (`a`)) ENGINE=INNODB;
+INSERT INTO `t` VALUES ('a');
+INSERT INTO `t` VALUES ('aaa');
+
+# 0x22 is the '"', 0xdd is not encoded in utf8
+SELECT MATCH(`a`) AGAINST (0x22dd22) FROM `t`;
+SELECT MATCH(`a`) AGAINST (0x2222) FROM `t`;
+SELECT MATCH(`a`) AGAINST (0x22) FROM `t`;
+
+# this should show one match
+SELECT MATCH(`a`) AGAINST (0x2261616122) FROM `t`;
+
+# again 0xdd should be ignored
+SELECT MATCH(`a`) AGAINST (0x2261dd6122) FROM `t`;
+
+SELECT MATCH(`a`) AGAINST (0x2261dd612222226122) FROM `t`;
+
+DROP TABLE t;
+
+# InnoDB FTS does not support index scan from handler
+CREATE TABLE t(a CHAR(1),FULLTEXT KEY(a)) ENGINE=INNODB;
+HANDLER t OPEN;
+HANDLER t READ a NEXT;
+HANDLER t READ a PREV;
+DROP TABLE t;
+
+CREATE TABLE `%`(a TEXT, FULLTEXT INDEX(a)) ENGINE=INNODB;
+CREATE TABLE `A B`(a TEXT, FULLTEXT INDEX(a)) ENGINE=INNODB;
+DROP TABLE `%`;
+DROP TABLE `A B`;
+
+CREATE TABLE `t-26`(a VARCHAR(10),FULLTEXT KEY(a)) ENGINE=INNODB;
+INSERT INTO `t-26` VALUES('117');
+DROP TABLE `t-26`;
+
+# Test on phrase search with stopwords contained in the search string
+CREATE TABLE `t1` (
+ `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `content` TEXT NOT NULL,
+ PRIMARY KEY (`id`),
+ FULLTEXT INDEX `IDX_CONTEXT_FULLTEXT`(`content`)
+)
+ENGINE = InnoDB;
+
+insert into t1 (content)
+values
+('This is a story which has has a complicated phrase structure here in the
+middle'),
+('This is a story which doesn''t have that text'),
+('This is a story that has complicated the phrase structure');
+
+select * from t1
+where match(content) against('"complicated phrase structure"' in boolean
+mode);
+
+# Test single phrase search with "+" symbol, one row should be returned
+select * from t1
+where match(content) against('+"complicated phrase structure"' in boolean
+mode);
+
+# Test phrase search with stopwords in between, one row should be returned
+select * from t1
+where match(content) against('"complicated the phrase structure"' in boolean
+mode);
+
+# Test phrase search with multiple "+" symbols
+select * from t1 where match(content) against('+"this is a story which" +"complicated the phrase structure"' in boolean mode);
+
+# Test phrase search with leading word is a stopword, such stopword would be
+# ignored
+select * from t1 where match(content) against('"the complicated the phrase structure"' in boolean mode);
+
+# Test phrase search with non-matching stopword in between, no row should be
+# returned
+select * from t1 where match(content) against('"complicated a phrase structure"' in boolean mode);
+
+DROP TABLE t1;
+
+CREATE TABLE my (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c VARCHAR(32), FULLTEXT(c)) ENGINE = INNODB;
+
+INSERT INTO my (c) VALUES ('green-iguana');
+
+SELECT * FROM my WHERE MATCH(c) AGAINST ('green-iguana');
+
+DROP TABLE my;
+
+CREATE TABLE ift (
+ `a` int(11) NOT NULL,
+ `b` text,
+ PRIMARY KEY (`a`),
+ FULLTEXT KEY `b` (`b`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+INSERT INTO ift values (1, "skip");
+INSERT INTO ift values (2, "skip and networking");
+INSERT INTO ift values (3, "--skip-networking");
+INSERT INTO ift values (4, "-donot--skip-networking");
+
+SELECT * FROM ift WHERE MATCH (b) AGAINST ('--skip-networking');
+SELECT * FROM ift WHERE MATCH (b) AGAINST ('skip-networking');
+SELECT * FROM ift WHERE MATCH (b) AGAINST ('----');
+SELECT * FROM ift WHERE MATCH (b) AGAINST ('-donot--skip-networking');
+
+DROP TABLE ift;
+
+# Test special cases of wildword.
+# Create FTS table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+# Insert six rows
+INSERT INTO articles (title,body) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('( that''s me )','When configured properly, MySQL ...');
+
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('( yours''s* )' IN BOOLEAN MODE);
+
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('s*' IN BOOLEAN MODE);
+
+SELECT * FROM articles WHERE MATCH (title,body)
+ AGAINST ('stands\'] | * | show[@database' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+
+# Test for BUG#16429688 - FTS: SYNTAX ERROR, UNEXPECTED '*', EXPECTING $END
+CREATE TABLE t1(a TEXT CHARACTER SET LATIN1, FULLTEXT INDEX(a)) ENGINE=INNODB;
+
+--error ER_PARSE_ERROR
+SELECT * FROM t1 WHERE MATCH(a) AGAINST("*");
+
+DROP TABLE t1;
+
+# Test for BUG#16516193 - LITERAL PHRASES CANNOT BE COMBINED WITH + OR - OPERATOR
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ FULLTEXT (a)
+ ) ENGINE= InnoDB;
+
+# Insert rows
+INSERT INTO t1 (a) VALUES
+ ('Do you know MySQL is a good database'),
+ ('How to build a good database'),
+ ('Do you know'),
+ ('Do you know MySQL'),
+ ('How to use MySQL'),
+ ('Do you feel good'),
+ ('MySQL is good'),
+ ('MySQL is good to know'),
+ ('What is database');
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql"' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql")' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('("know mysql" good)' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" good)' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('(good "know mysql")' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+(good "know mysql")' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" "good database")' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql" +"good database"' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@4' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@8' IN BOOLEAN MODE);
+
+# Drop table
+DROP TABLE t1;
+
+# Test for BUG#16885178 - INNODB FULLTEXT PHRASE SEARCH VALGRIND ERROR
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ FULLTEXT (a)
+ ) ENGINE= InnoDB;
+
+# Insert a special row
+INSERT INTO t1 (a) VALUES
+ ('know mysql good database');
+
+# This phrase search fails in valgrind test before the fix.
+SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"good database"' IN BOOLEAN MODE);
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test b/mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test
new file mode 100644
index 00000000000..6ef0452f4c6
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test
@@ -0,0 +1,910 @@
+#------------------------------------------------------------------------------
+# FTS with FK and update cascade
+#-------------------------------------------------------------------------------
+--source include/have_innodb.inc
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+--disable_warnings
+drop table if exists t2,t1;
+--enable_warnings
+
+set names utf8;
+
+# Create FTS table
+CREATE TABLE t1 (
+ id1 INT ,
+ a1 VARCHAR(200) ,
+ b1 TEXT ,
+ FULLTEXT KEY (a1,b1), PRIMARY KEY (a1, id1)
+ ) CHARACTER SET = utf8 , ENGINE = InnoDB;
+
+CREATE TABLE t2 (
+ id2 INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a2 VARCHAR(200),
+ b2 TEXT ,
+ FOREIGN KEY (a2) REFERENCES t1(a1) ON UPDATE CASCADE,
+ FULLTEXT KEY (b2,a2)
+ ) CHARACTER SET = utf8 ,ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 (id1,a1,b1) VALUES
+ (1,'MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+ (2,'How To Use MySQL Well','After you went through a ...'),
+ (3,'Optimizing MySQL','In this tutorial we will show ...');
+
+# Insert rows
+INSERT INTO t1 (id1,a1,b1) VALUES
+ (4,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ (5,'MySQL vs. YourSQL','In the following database comparison ...'),
+ (6,'MySQL Security','When configured properly, MySQL ...');
+
+# Insert rows in t2 fk table
+INSERT INTO t2 (a2,b2) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...');
+
+# Insert rows t2 fk table
+INSERT INTO t2 (a2,b2) VALUES
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# error on violating fk constraint
+--error 1452
+INSERT INTO t2 (a2,b2) VALUES
+ ('MySQL Tricks','1. Never run mysqld as root. 2. ...');
+
+# error on delete from parent table
+--error 1451
+DELETE FROM t1;
+
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial') ;
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial') ;
+
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial' WITH QUERY EXPANSION) ;
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial' WITH QUERY EXPANSION) ;
+
+
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('"dbms database"@4' IN BOOLEAN MODE) ;
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('"dbms database"@4' IN BOOLEAN MODE) ;
+
+set global innodb_optimize_fulltext_only=1;
+optimize table t1;
+set global innodb_optimize_fulltext_only=0;
+# Updating parent table hence child table should get updated due to 'update cascade' clause
+UPDATE t1 SET a1 = "changing column - on update cascade" , b1 = "to check foreign constraint" WHERE
+MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+
+# no records expected
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+# InnoDB:Error child table shows records which is incorrect - UPADTE on Fix
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+
+# it shows updated record
+SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('+update +cascade' IN BOOLEAN MODE) ;
+# InnoDB:Error child table does not show the expected record
+SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('+update +cascade' IN BOOLEAN MODE) ;
+SELECT id2 FROM t2 WHERE a2 LIKE '%UPDATE CASCADE%';
+
+DROP TABLE t2 , t1;
+
+# on update cascade
+create table t1 (s1 int, s2 varchar(200), primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (s1 int, s2 varchar(200),
+ fulltext key(s2),
+ foreign key (s1,s2) references t1 (s1,s2) on update cascade) ENGINE = InnoDB;
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+update t1 set s2 = 'Rainbows' where s2 <> 'Sunshine';
+commit;
+select * from t2 where match(s2) against ('Lollipops');
+DROP TABLE t2 , t1;
+
+# on delete cascade
+create table t1 (s1 int, s2 varchar(200), primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (s1 int, s2 varchar(200),
+ fulltext key(s2),
+ foreign key (s1,s2) references t1 (s1,s2) on delete cascade) ENGINE = InnoDB;
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+delete from t1 where s2 <> 'Sunshine';
+select * from t2 where match(s2) against ('Lollipops');
+DROP TABLE t2 , t1;
+
+# on delete set NULL
+create table t1 (s1 int, s2 varchar(200), primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (s1 int, s2 varchar(200),
+ fulltext key(s2),
+ foreign key (s1,s2) references t1 (s1,s2) on delete set null) ENGINE = InnoDB;
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+delete from t1 where s2 <> 'Sunshine';
+select * from t2 where match(s2) against ('Lollipops');
+DROP TABLE t2 , t1;
+
+
+# on update set NULL
+create table t1 (s1 int, s2 varchar(200), primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (s1 int, s2 varchar(200),
+ fulltext key(s2),
+ foreign key (s1,s2) references t1 (s1,s2) on update set null) ENGINE = InnoDB;
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+update t1 set s2 = 'Rainbows' where s2 <> 'Sunshine';
+commit;
+select * from t2 where match(s2) against ('Lollipops');
+DROP TABLE t2 , t1;
+
+# When Doc ID is involved
+create table t1 (s1 bigint unsigned not null, s2 varchar(200),
+ primary key (s1,s2)) ENGINE = InnoDB;
+create table t2 (FTS_DOC_ID BIGINT UNSIGNED NOT NULL, s2 varchar(200),
+ foreign key (FTS_DOC_ID) references t1 (s1)
+ on update cascade) ENGINE = InnoDB;
+
+create fulltext index idx on t2(s2);
+
+show create table t2;
+
+insert into t1 values (1,'Sunshine'),(2,'Lollipops');
+insert into t2 values (1,'Sunshine'),(2,'Lollipops');
+
+update t1 set s1 = 3 where s1=1;
+
+select * from t2 where match(s2) against ('sunshine');
+
+# FTS Doc ID cannot be reused
+--error 1451
+update t1 set s1 = 1 where s1=3;
+
+DROP TABLE t2 , t1;
+
+#------------------------------------------------------------------------------
+# FTS with FK and delete casecade
+#------------------------------------------------------------------------------
+
+# Create FTS table
+CREATE TABLE t1 (
+ id1 INT ,
+ a1 VARCHAR(200) PRIMARY KEY,
+ b1 TEXT character set utf8 ,
+ FULLTEXT KEY (a1,b1)
+ ) CHARACTER SET = utf8 ,ENGINE = InnoDB;
+
+CREATE TABLE t2 (
+ id2 INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a2 VARCHAR(200),
+ b2 TEXT character set utf8 ,
+ FOREIGN KEY (a2) REFERENCES t1(a1) ON DELETE CASCADE,
+ FULLTEXT KEY (b2,a2)
+ ) CHARACTER SET = utf8 ,ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 (id1,a1,b1) VALUES
+ (1,'MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+ (2,'How To Use MySQL Well','After you went through a ...'),
+ (3,'Optimizing MySQL','In this tutorial we will show ...'),
+ (4,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ (5,'MySQL vs. YourSQL','In the following database comparison ...'),
+ (6,'MySQL Security','When configured properly, MySQL ...');
+
+# Insert rows in t2
+INSERT INTO t2 (a2,b2) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...'),
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# delete records from parent
+DELETE FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+
+# no records expected
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+
+SELECT * FROM t1 WHERE a1 LIKE '%tutorial%';
+SELECT * FROM t2 WHERE a2 LIKE '%tutorial%';
+
+DROP TABLE t2 , t1;
+
+#------------------------------------------------------------------------------
+# FTS with FK+transactions and UPDATE casecade with transaction
+#-------------------------------------------------------------------------------
+--disable_warnings
+DROP TABLE IF EXISTS t2,t1;
+--enable_warnings
+
+SET NAMES utf8;
+
+# Create FTS table
+CREATE TABLE t1 (
+ id1 INT ,
+ a1 VARCHAR(200) ,
+ b1 TEXT ,
+ FULLTEXT KEY (a1,b1), PRIMARY KEY(a1, id1)
+ ) CHARACTER SET = utf8 , ENGINE = InnoDB;
+
+CREATE TABLE t2 (
+ id2 INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a2 VARCHAR(200),
+ b2 TEXT ,
+ FOREIGN KEY (a2) REFERENCES t1(a1) ON UPDATE CASCADE,
+ FULLTEXT KEY (b2,a2)
+ ) CHARACTER SET = utf8 ,ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 (id1,a1,b1) VALUES
+ (1,'MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+ (2,'How To Use MySQL Well','After you went through a ...'),
+ (3,'Optimizing MySQL','In this tutorial we will show ...');
+
+# Insert rows in t2 fk table
+INSERT INTO t2 (a2,b2) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...');
+
+START TRANSACTION;
+# Insert rows
+INSERT INTO t1 (id1,a1,b1) VALUES
+ (4,'1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ (5,'MySQL vs. YourSQL','In the following database comparison ...'),
+ (6,'MySQL Security','When configured properly, MySQL ...');
+
+# Insert rows t2 fk table
+INSERT INTO t2 (a2,b2) VALUES
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+# error on violating fk constraint
+--error 1452
+INSERT INTO t2 (a2,b2) VALUES
+ ('MySQL Tricks','1. Never run mysqld as root. 2. ...');
+
+# error on DELETE FROM parent table
+--error 1451
+DELETE FROM t1;
+
+# records expected
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial') ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial') ;
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial' WITH QUERY EXPANSION) ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial' WITH QUERY EXPANSION) ;
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('"dbms database"@4' IN BOOLEAN MODE) ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('"dbms database"@4' IN BOOLEAN MODE) ;
+
+# no records as data not COMMITted.
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('root') ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('root') ;
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('mysqld (+root)' IN BOOLEAN MODE) ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('mysqld (-root)' IN BOOLEAN MODE) ;
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('root' WITH QUERY EXPANSION) ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('root' WITH QUERY EXPANSION) ;
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('"database comparison"@02' IN BOOLEAN MODE) ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('"database comparison"@02' IN BOOLEAN MODE) ;
+
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+COMMIT;
+
+START TRANSACTION;
+# Updating parent table hence child table should get updated due to 'UPDATE cascade' clause
+UPDATE t1 SET a1 = "changing column - on UPDATE cascade" , b1 = "to check foreign constraint" WHERE
+MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+COMMIT;
+
+# no records expected
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÃÆ·WÄ°)' IN BOOLEAN MODE) ;
+
+# it shows updated record
+SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('+UPDATE +cascade' IN BOOLEAN MODE) ;
+SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('+UPDATE +cascade' IN BOOLEAN MODE) ;
+SELECT * FROM t2 WHERE a2 LIKE '%UPDATE CASCADE%';
+
+DROP TABLE t2 , t1;
+
+
+# FTS with FK+transactions - UPDATE cascade
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+ FULLTEXT KEY(s2),
+ FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on UPDATE cascade) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+UPDATE t1 set s2 = 'Rainbows' WHERE s2 <> 'Sunshine';
+COMMIT;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+DROP TABLE t2 , t1;
+
+# FTS with FK+transactions - on DELETE cascade
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+ FULLTEXT KEY(s2),
+ FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on DELETE cascade) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+DELETE FROM t1 WHERE s2 <> 'Sunshine';
+COMMIT;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+DROP TABLE t2 , t1;
+
+# FTS with FK+transactions - DELETE SET NULL
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+ FULLTEXT KEY(s2),
+ FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on DELETE SET NULL) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+DELETE FROM t1 WHERE s2 <> 'Sunshine';
+COMMIT;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+DROP TABLE t2 , t1;
+
+
+# FTS with FK+transactions - UPDATE SET NULL
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+ FULLTEXT KEY(s2),
+ FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on UPDATE SET NULL) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+UPDATE t1 set s2 = 'Rainbows' WHERE s2 <> 'Sunshine';
+COMMIT;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+DROP TABLE t2 , t1;
+
+
+#-----------------------------------------------------------------------------
+
+# FTS with FK+transactions - UPDATE cascade
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+ FULLTEXT KEY(s2),
+ FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on UPDATE cascade) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+UPDATE t1 set s2 = 'Rainbows' WHERE s2 <> 'Sunshine';
+ROLLBACK;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+DROP TABLE t2 , t1;
+
+# FTS with FK+transactions - DELETE cascade
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+ FULLTEXT KEY(s2),
+ FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on DELETE cascade) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+DELETE FROM t1 WHERE s2 <> 'Sunshine';
+ROLLBACK;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+DROP TABLE t2 , t1;
+
+# FTS with FK+transactions - DELETE SET NULL
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+ FULLTEXT KEY(s2),
+ FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on DELETE SET NULL) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+DELETE FROM t1 WHERE s2 <> 'Sunshine';
+ROLLBACK;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+DROP TABLE t2 , t1;
+
+
+# FTS with FK+transactions - UPDATE SET NULL
+CREATE TABLE t1 (s1 INT, s2 VARCHAR(200), PRIMARY KEY (s1,s2)) ENGINE = InnoDB;
+CREATE TABLE t2 (s1 INT, s2 VARCHAR(200),
+ FULLTEXT KEY(s2),
+ FOREIGN KEY (s1,s2) REFERENCES t1 (s1,s2) on UPDATE SET NULL) ENGINE = InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1,'Sunshine'),(2,'Lollipops');
+INSERT INTO t2 VALUES (1,'Sunshine'),(2,'Lollipops');
+UPDATE t1 set s2 = 'Rainbows' WHERE s2 <> 'Sunshine';
+ROLLBACK;
+SELECT * FROM t2 WHERE MATCH(s2) AGAINST ('Lollipops');
+DROP TABLE t2 , t1;
+
+
+#------------------------------------------------------------------------------
+# FTS index with compressed row format
+#------------------------------------------------------------------------------
+
+# Save innodb variables
+--disable_query_log
+let $innodb_file_format_orig=`select @@innodb_file_format`;
+let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
+let $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
+let $innodb_large_prefix_orig=`select @@innodb_large_prefix`;
+--enable_query_log
+
+# Set Innodb file format as feature works for Barracuda file format
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+set global innodb_large_prefix=1;
+set names utf8;
+
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) CHARACTER SET = utf8, ROW_FORMAT=COMPRESSED, ENGINE = InnoDB;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase VÃÆ·WÄ°...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...');
+
+# Create the FTS index Using Alter Table
+ALTER TABLE t1 ADD FULLTEXT INDEX idx (a,b);
+EVAL SHOW CREATE TABLE t1;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+
+# Select word "tutorial" in the table
+SELECT * FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select * from t1 where MATCH(a,b) AGAINST("+tutorial +VÃÆ·WÄ°" IN BOOLEAN MODE);
+--error ER_PARSE_ERROR
+select * from t1 where MATCH(a,b) AGAINST("+-VÃÆ·WÄ°" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+Mysql +(tricks never)" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+mysql -(tricks never)" IN BOOLEAN MODE);
+select *, MATCH(a,b) AGAINST("mysql stands" IN BOOLEAN MODE) as x from t1;
+select * from t1 where MATCH a,b AGAINST ("+database* +VÃÆ·W*" IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"security mysql"' IN BOOLEAN MODE);
+
+# query expansion
+select * from t1 where MATCH(a,b) AGAINST ("VÃÆ·WÄ°" WITH QUERY EXPANSION);
+
+# Drop index
+ALTER TABLE t1 DROP INDEX idx;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+-- disable_query_log
+-- disable_result_log
+ANALYZE TABLE t1;
+-- enable_result_log
+-- enable_query_log
+
+# Select word "tutorial" in the table
+SELECT * FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select * from t1 where MATCH(a,b) AGAINST("+tutorial +VÃÆ·WÄ°" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+dbms" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+Mysql +(tricks never)" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+mysql -(tricks never)" IN BOOLEAN MODE);
+select *, MATCH(a,b) AGAINST("mysql VÃÆ·WÄ°" IN BOOLEAN MODE) as x from t1;
+# Innodb:Assert eval0eval.c line 148
+#select * from t1 where MATCH a,b AGAINST ("+database* +VÃÆ·WÄ°*" IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"security mysql"' IN BOOLEAN MODE);
+
+# query expansion
+select * from t1 where MATCH(a,b) AGAINST ("VÃÆ·WÄ°" WITH QUERY EXPANSION);
+
+
+# insert for proximity search
+INSERT INTO t1 (a,b) VALUES ('test query expansion','for database ...');
+# Insert into table with similar word of different distances
+INSERT INTO t1 (a,b) VALUES
+ ('test proximity search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO t1 (a,b) VALUES
+ ('test proximity fts search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO t1 (a,b) VALUES
+ ('test more proximity fts search, test, more proximity and phrase',
+ 'search, with proximity innodb');
+
+# This should only return the first document
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"proximity search"@2' IN BOOLEAN MODE);
+
+# This would return no document
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"proximity search"@1' IN BOOLEAN MODE);
+
+# This give you all three documents
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"proximity search"@3' IN BOOLEAN MODE);
+
+# Similar boundary testing for the words
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"test proximity"@5' IN BOOLEAN MODE);
+
+# Test with more word The last document will return, please notice there
+# is no ordering requirement for proximity search.
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"more test proximity"@2' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"more test proximity"@3' IN BOOLEAN MODE);
+
+# The phrase search will not require exact word ordering
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"more fts proximity"@03' IN BOOLEAN MODE);
+
+
+UPDATE t1 SET a = UPPER(a) , b = UPPER(b) ;
+UPDATE t1 SET a = UPPER(a) , b = LOWER(b) ;
+
+select * from t1 where MATCH(a,b) AGAINST("+tutorial +dbms" IN BOOLEAN MODE);
+select * from t1 where MATCH(a,b) AGAINST("+VÃÆ·WÄ°" IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('"proximity search"@14' IN BOOLEAN MODE);
+
+
+SELECT * FROM t1 WHERE MATCH (a,b)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM t1;
+
+DROP TABLE t1;
+--disable_query_log
+eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
+eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
+eval SET GLOBAL innodb_file_format_max=$innodb_file_format_max_orig;
+eval SET GLOBAL innodb_large_prefix=$innodb_large_prefix_orig;
+--enable_query_log
+
+#------------------------------------------------------------------------------
+# FTS index with utf8 character testcase
+#------------------------------------------------------------------------------
+set names utf8;
+
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) CHARACTER SET = utf8, ENGINE=InnoDB;
+
+
+# Insert rows from different languages
+INSERT INTO t1 (a,b) VALUES
+('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне не вредит'),
+('Мога да Ñм Ñтъкло', 'то не ми вреди'),
+('ΜποÏῶ νὰ φάω σπασμένα' ,'γυαλιὰ χωÏὶς νὰ πάθω τίποτα'),
+('PříliÅ¡ žluÅ¥ouÄký kůň', 'úpÄ›l Äábelské kódy'),
+('Sævör grét', 'áðan því úlpan var ónýt'),
+('ã†ã‚ã®ãŠãã‚„ã¾','ã‘ãµã“ãˆã¦'),
+('ã„ã‚ã¯ã«ã»ã¸ã©ã€€ã¡ã‚Šã¬ã‚‹','ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš');
+
+# insert english text
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','request docteam@oraclehelp.com ...') ,
+ ('Trial version','query performace @1255 minute on 2.1Hz Memory 2GB...') ,
+ ('when To Use MySQL Well','for free faq mail@xyz.com ...');
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+# FTS Queries
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("вредит χωÏὶς");
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("оно" WITH QUERY EXPANSION);
+
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("вред*" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+γυαλιὰ +tutorial" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+tutorial +(Мога τίποτα)" IN BOOLEAN MODE);
+
+# Innodb:error - no result returned (update result of query once fixed) (innodb limit , does not understand character boundry for japanses like charcter set)
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš");
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ã¡ã‚Šã¬ã‚‹" WITH QUERY EXPANSION);
+
+# Innodb:error - no result returned (update result of query once fixed) (innodb limit , does not understand character boundry for japanses like charcter set)
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("+ã‚ã•ãゆã‚ã¿ã˜ã€€+ã‚‘ã²ã‚‚ã›ãš" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("ã†ã‚ã®ãŠã*" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+Sævör +úlpan" IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"γυαλιὰ χωÏὶς"@2' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"query performace"@02' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"πάθω τίποτα"@2' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"ã‚ã•ãゆã‚ã¿ã˜ ã‚‘ã²ã‚‚ã›ãš"@1' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"ã‚ã•ãゆã‚ã¿ã˜ ã‚‘ã²ã‚‚ã›ãš"@2' IN BOOLEAN MODE);
+
+ALTER TABLE t1 DROP INDEX idx;
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+# Innodb:error - no result returned (update result of query once fixed) (innodb limit , does not understand character boundry for japanses like charcter set)
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ã‚ã•ãゆã‚ã¿ã˜ ã‚‘ã²ã‚‚ã›ãš");
+# Update fails because where condition do not succeed which is incorrect (update result of query once fixed)
+UPDATE t1 SET a = "Pchnąć w tÄ™ łódź jeża" , b = "lub osiem skrzyÅ„ fig" WHERE MATCH(a,b) AGAINST ("ã‚ã•ãゆã‚ã¿ã˜ ã‚‘ã²ã‚‚ã›ãš");
+UPDATE t1 SET a = "Ð’ чащах юга жил-был цитруÑ? Да", b = "но фальшивый ÑкземплÑÑ€! Ñ‘ÑŠ" WHERE MATCH(a,b) AGAINST ("вред*" IN BOOLEAN MODE);
+DELETE FROM t1 WHERE MATCH(a,b) AGAINST("+Sævör +úlpan" IN BOOLEAN MODE);
+
+# Innodb error - no result returned
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ã‚ã•ãゆã‚ã¿ã˜ã€€ã‚‘ã²ã‚‚ã›ãš");
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("łódź osiem");
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("вред*" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("фальшив*" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+Sævör +úlpan" IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"łódź jeża"@2' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+DROP TABLE t1;
+
+# This is to test the update operation on FTS indexed and non-indexed
+# column
+CREATE TABLE t1(ID INT PRIMARY KEY,
+ no_fts_field VARCHAR(10),
+ fts_field VARCHAR(10),
+ FULLTEXT INDEX f(fts_field)) ENGINE=INNODB;
+
+INSERT INTO t1 VALUES (1, 'AAA', 'BBB');
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("BBB");
+
+# Update FULLTEXT indexed column, Doc ID will be updated
+UPDATE t1 SET fts_field='anychange' where id = 1;
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("anychange");
+
+# Update non-FULLTEXT indexed column, Doc ID stay to be the same
+UPDATE t1 SET no_fts_field='anychange' where id = 1;
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("anychange");
+
+# Update both FULLTEXT indexed and non-indexed column, Doc ID will be updated
+UPDATE t1 SET no_fts_field='anychange', fts_field='other' where id = 1;
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("other");
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("BBB");
+
+# FTS index dropped, the DOC_ID column is kept, however, the ID will not
+# change
+DROP INDEX f on t1;
+
+UPDATE t1 SET fts_field='anychange' where id = 1;
+
+UPDATE t1 SET no_fts_field='anychange' where id = 1;
+
+UPDATE t1 SET no_fts_field='anychange', fts_field='other' where id = 1;
+
+CREATE FULLTEXT INDEX f ON t1(FTS_FIELD);
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("other");
+
+DROP TABLE t1;
+
+# Test on user supplied 'FTS_DOC_ID'
+CREATE TABLE t1(`FTS_DOC_ID` serial,
+ no_fts_field VARCHAR(10),
+ fts_field VARCHAR(10),
+ FULLTEXT INDEX f(fts_field)) ENGINE=INNODB;
+
+INSERT INTO t1 VALUES (1, 'AAA', 'BBB');
+
+# Doc ID must be updated as well (HA_FTS_INVALID_DOCID).
+--error 182
+UPDATE t1 SET fts_field='anychange' where FTS_DOC_ID = 1;
+
+UPDATE t1 SET fts_field='anychange', FTS_DOC_ID = 2 where FTS_DOC_ID = 1;
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("anychange");
+
+# "BBB" should be marked as deleted.
+SELECT * FROM t1 WHERE MATCH(fts_field) against("BBB");
+
+UPDATE t1 SET no_fts_field='anychange' where FTS_DOC_ID = 2;
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("anychange");
+
+# "HA_FTS_INVALID_DOCID"
+--error 182
+UPDATE t1 SET no_fts_field='anychange', fts_field='other' where FTS_DOC_ID = 2;
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("other");
+
+# Doc ID must be monotonically increase (HA_FTS_INVALID_DOCID)
+--error 182
+UPDATE t1 SET FTS_DOC_ID = 1 where FTS_DOC_ID = 2;
+
+DROP INDEX f ON t1;
+
+# After FULLTEXT index dropped, we can update the fields freely
+UPDATE t1 SET fts_field='newchange' where FTS_DOC_ID = 2;
+
+UPDATE t1 SET no_fts_field='anychange' where FTS_DOC_ID = 2;
+
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1(ID INT PRIMARY KEY,
+ no_fts_field VARCHAR(10),
+ fts_field VARCHAR(10),
+ FULLTEXT INDEX f(fts_field), index k(fts_field)) ENGINE=INNODB;
+
+CREATE TABLE t2(ID INT PRIMARY KEY,
+ no_fts_field VARCHAR(10),
+ fts_field VARCHAR(10),
+ FULLTEXT INDEX f(fts_field),
+ INDEX k2(fts_field),
+ FOREIGN KEY(fts_field) REFERENCES
+ t1(fts_field) ON UPDATE CASCADE) ENGINE=INNODB;
+
+INSERT INTO t1 VALUES (1, 'AAA', 'BBB');
+
+INSERT INTO t2 VALUES (1, 'AAA', 'BBB');
+
+update t1 set fts_field='newchange' where id =1;
+
+SELECT * FROM t1 WHERE MATCH(fts_field) against("BBB");
+SELECT * FROM t2 WHERE MATCH(fts_field) against("BBB");
+SELECT * FROM t1 WHERE MATCH(fts_field) against("newchange");
+SELECT * FROM t2 WHERE MATCH(fts_field) against("newchange");
+
+DROP TABLE t2;
+
+DROP TABLE t1;
+
+# Testcases adopted from innodb_multi_update.test
+
+CREATE TABLE t1(id INT PRIMARY KEY,
+ fts_field VARCHAR(10),
+ FULLTEXT INDEX f(fts_field)) ENGINE=INNODB;
+
+
+CREATE TABLE t2(id INT PRIMARY KEY,
+ fts_field VARCHAR(10),
+ FULLTEXT INDEX f(fts_field)) ENGINE=INNODB;
+
+INSERT INTO t1 values (1,'100'),(2,'200'),(3,'300'),(4,'400'),(5,'500'),(6,'600'), (7,'700'),(8,'800'),(9,'900'),(10,'1000'),(11,'1100'),(12,'1200');
+INSERT INTO t2 values (1,'100'),(2,'200'),(3,'300'),(4,'400'),(5,'500'),(6,'600'), (7,'700'),(8,'800');
+
+UPDATE t1, t2 set t1.fts_field = CONCAT(t1.fts_field, 'foo');
+
+UPDATE t1, t2 set t1.fts_field = CONCAT(t1.fts_field, 'foo') WHERE t1.fts_field = "100foo";
+
+# Update two tables in the same statement
+UPDATE t1, t2 set t1.fts_field = CONCAT(t1.fts_field, 'xoo'), t2.fts_field = CONCAT(t1.fts_field, 'xoo') where t1.fts_field=CONCAT(t2.fts_field, 'foo');
+
+# Following selects shows whether the correct Doc ID are updated
+
+# This row should present in table t1
+SELECT * FROM t1 WHERE MATCH(fts_field) against("100foofoo");
+
+# Following rows should be dropped
+SELECT * FROM t1 WHERE MATCH(fts_field) against("100foo");
+SELECT * FROM t1 WHERE MATCH(fts_field) against("100");
+
+# This row should present in table t2
+SELECT * FROM t2 WHERE MATCH(fts_field) against("400fooxoo");
+SELECT * FROM t2 WHERE MATCH(fts_field) against("100");
+
+# Follow rows should be marked as dropped
+SELECT * FROM t2 WHERE MATCH(fts_field) against("200");
+SELECT * FROM t2 WHERE MATCH(fts_field) against("400");
+
+
+DROP TABLE t1;
+
+DROP TABLE t2;
+
+
+--echo
+--echo BUG#13701973/64274: MYSQL THREAD WAS SUSPENDED WHEN EXECUTE UPDATE QUERY
+--echo
+# FTS setup did not track which tables it had already looked at to see whether
+# they need initialization. Hilarity ensued when hitting circular dependencies.
+
+SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
+
+CREATE TABLE t1 (
+ t1_id INT(10) UNSIGNED NOT NULL,
+ t2_id INT(10) UNSIGNED DEFAULT NULL,
+ PRIMARY KEY (t1_id),
+ FOREIGN KEY (t2_id) REFERENCES t2 (t2_id)
+ ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB;
+
+CREATE TABLE t2 (
+ t1_id INT(10) UNSIGNED NOT NULL,
+ t2_id INT(10) UNSIGNED NOT NULL,
+ t3_id INT(10) UNSIGNED NOT NULL,
+ t4_id INT(10) UNSIGNED NOT NULL,
+ PRIMARY KEY (t2_id),
+ FOREIGN KEY (t1_id) REFERENCES t1 (t1_id),
+ FOREIGN KEY (t3_id) REFERENCES t3 (t3_id)
+ ON DELETE CASCADE ON UPDATE CASCADE,
+ FOREIGN KEY (t4_id) REFERENCES t4 (t4_id)
+) ENGINE=InnoDB;
+
+CREATE TABLE t3 (
+ t3_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ payload char(3),
+ PRIMARY KEY (t3_id)
+) ENGINE=InnoDB;
+
+INSERT INTO t3 VALUES (1, '100');
+
+CREATE TABLE t4 (
+ t2_id INT(10) UNSIGNED DEFAULT NULL,
+ t4_id INT(10) UNSIGNED NOT NULL,
+ PRIMARY KEY (t4_id),
+ FOREIGN KEY (t2_id) REFERENCES t2 (t2_id)
+ ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB;
+
+SET FOREIGN_KEY_CHECKS=1;
+
+UPDATE t3 SET payload='101' WHERE t3_id=1;
+
+SET FOREIGN_KEY_CHECKS=0;
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE t4;
+
+SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_multiple_index.test b/mysql-test/suite/innodb_fts/t/innodb_fts_multiple_index.test
new file mode 100644
index 00000000000..012881173e0
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_multiple_index.test
@@ -0,0 +1,174 @@
+#------------------------------------------------------------------------------
+# Test With two FTS index on same table + alter/create/drop index + tnx
+#------------------------------------------------------------------------------
+--source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB STATS_PERSISTENT=0;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','DBMS stands for DataBase ...') ,
+ ('How To Use MySQL Well','After you went through a ...'),
+ ('Optimizing MySQL','In this tutorial we will show ...');
+
+# Create the 2 FTS index Using Alter on same table
+ALTER TABLE t1 ADD FULLTEXT INDEX idx_1 (a);
+ALTER TABLE t1 ADD FULLTEXT INDEX idx_2 (b);
+EVAL SHOW CREATE TABLE t1;
+
+# check mutiple index with transaction
+START TRANSACTION;
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
+ ('MySQL vs. YourSQL','In the following database comparison ...'),
+ ('MySQL Security','When configured properly, MySQL ...');
+ROLLBACK;
+
+# Select word "tutorial" in the table
+SELECT * FROM t1 WHERE MATCH (a)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select * from t1 where MATCH(a) AGAINST("+mysql +Tutorial" IN BOOLEAN MODE);
+select * from t1 where MATCH(b) AGAINST("+Tutorial" IN BOOLEAN MODE);
+select * from t1 where MATCH(b) AGAINST("+stands +(DataBase)" IN BOOLEAN MODE);
+select * from t1 where MATCH(b) AGAINST("+DataBase -(comparison)" IN BOOLEAN MODE);
+select *, MATCH(a) AGAINST("Optimizing MySQL" IN BOOLEAN MODE) as x from t1;
+select *, MATCH(b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+select * from t1 where MATCH a AGAINST ("+Optimiz* +Optimiz*" IN BOOLEAN MODE);
+select * from t1 where MATCH b AGAINST ('"DBMS stands"' IN BOOLEAN MODE);
+select * from t1 where MATCH b AGAINST ('"DBMS STANDS"' IN BOOLEAN MODE);
+
+# query expansion
+select * from t1 where MATCH(b) AGAINST ("DataBase" WITH QUERY EXPANSION);
+select * from t1 where MATCH(a) AGAINST ("Security" WITH QUERY EXPANSION);
+
+# Drop index
+ALTER TABLE t1 DROP INDEX idx_1;
+ALTER TABLE t1 DROP INDEX idx_2;
+
+# Create the FTS index again
+ALTER TABLE t1 ADD FULLTEXT INDEX idx_1 (a);
+ALTER TABLE t1 ADD FULLTEXT INDEX idx_2 (b);
+
+# Select word "tutorial" in the table
+SELECT * FROM t1 WHERE MATCH (a)
+ AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
+
+# boolean mode
+select * from t1 where MATCH(a) AGAINST("+mysql +Tutorial" IN BOOLEAN MODE);
+select * from t1 where MATCH(b) AGAINST("+Tutorial" IN BOOLEAN MODE);
+select * from t1 where MATCH(b) AGAINST("+stands +(DataBase)" IN BOOLEAN MODE);
+select * from t1 where MATCH(b) AGAINST("+DataBase -(comparison)" IN BOOLEAN MODE);
+select *, MATCH(a) AGAINST("Optimizing MySQL" IN BOOLEAN MODE) as x from t1;
+select *, MATCH(b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
+select * from t1 where MATCH a AGAINST ("+Optimiz* +Optimiz*" IN BOOLEAN MODE);
+select * from t1 where MATCH b AGAINST ('"DBMS stands"' IN BOOLEAN MODE);
+select * from t1 where MATCH b AGAINST ('"DBMS STANDS"' IN BOOLEAN MODE);
+
+# query expansion
+select * from t1 where MATCH(b) AGAINST ("DataBase" WITH QUERY EXPANSION);
+select * from t1 where MATCH(a) AGAINST ("Security" WITH QUERY EXPANSION);
+
+# insert for proximity search
+INSERT INTO t1 (a,b) VALUES ('test query expansion','for database ...');
+# Insert into table with similar word of different distances
+INSERT INTO t1 (a,b) VALUES
+ ('test proximity search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO t1 (a,b) VALUES
+ ('test proximity fts search, test, proximity and phrase',
+ 'search, with proximity innodb');
+
+INSERT INTO t1 (a,b) VALUES
+ ('test more of proximity for fts search, test, more proximity and phrase',
+ 'search, with proximity innodb');
+
+# This should only return the first document
+SELECT * FROM t1
+ WHERE MATCH (a)
+ AGAINST ('"proximity search"@3' IN BOOLEAN MODE);
+
+# This would return no document
+SELECT * FROM t1
+ WHERE MATCH (a)
+ AGAINST ('"proximity search"@2' IN BOOLEAN MODE);
+
+# This give you all three documents
+SELECT * FROM t1
+ WHERE MATCH (b)
+ AGAINST ('"proximity innodb"@4' IN BOOLEAN MODE);
+
+# Similar boundary testing for the words
+SELECT * FROM t1
+ WHERE MATCH (a)
+ AGAINST ('"test proximity"@3' IN BOOLEAN MODE);
+
+# Test with more word The last document will return, please notice there
+# is no ordering requirement for proximity search.
+SELECT * FROM t1
+ WHERE MATCH (a)
+ AGAINST ('"more test proximity"@3' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a)
+ AGAINST ('"more test proximity"@2' IN BOOLEAN MODE);
+
+# The phrase search will not require exact word ordering
+SELECT * FROM t1
+ WHERE MATCH (a)
+ AGAINST ('"more fts proximity"@02' IN BOOLEAN MODE);
+
+
+# Select word "tutorial" in the table - innodb crash
+SELECT * FROM t1 WHERE CONCAT(t1.a,t1.b) IN (
+SELECT CONCAT(a,b) FROM t1 AS t2 WHERE
+MATCH (t2.a) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+) OR t1.id = 3 ;
+
+
+# Select word "tutorial" in the table - innodb crash
+SELECT * FROM t1 WHERE CONCAT(t1.a,t1.b) IN (
+SELECT CONCAT(a,b) FROM t1 AS t2
+WHERE MATCH (t2.a) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t2.id != 3) ;
+
+# Select word "tutorial" in the table
+SELECT * FROM t1 WHERE id IN (SELECT MIN(id) FROM t1 WHERE
+MATCH (b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) OR id = 3 ;
+
+# Select word except "tutorial" in the table
+SELECT * FROM t1 WHERE id NOT IN (SELECT MIN(id) FROM t1
+WHERE MATCH (b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)) ;
+
+
+# Select word "tutorial" in the table
+SELECT * FROM t1 WHERE EXISTS (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.b) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t1.id = t2.id) ;
+
+
+# Select not word like "tutorial" using subquery
+SELECT * FROM t1 WHERE NOT EXISTS (SELECT t2.id FROM t1 AS t2 WHERE
+MATCH (t2.a) AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE)
+AND t1.id = t2.id) ;
+
+
+SELECT * FROM t1 WHERE t1.id = (SELECT MAX(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.a) AGAINST ('"proximity search"@3' IN BOOLEAN MODE));
+SELECT * FROM t1 WHERE t1.id > (SELECT MIN(t2.id) FROM t1 AS t2 WHERE
+MATCH(t2.b) AGAINST ('"proximity innodb"@3' IN BOOLEAN MODE));
+
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test b/mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test
new file mode 100644
index 00000000000..e800faed0f5
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test
@@ -0,0 +1,45 @@
+--source include/have_simple_parser.inc
+--source include/have_innodb.inc
+
+# Install fts parser plugin
+INSTALL PLUGIN simple_parser SONAME 'mypluglib';
+
+# Create a myisam table and alter it to innodb table
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title) WITH PARSER simple_parser
+ ) ENGINE=MyISAM;
+--error ER_INNODB_NO_FT_USES_PARSER
+ALTER TABLE articles ENGINE=InnoDB;
+
+DROP TABLE articles;
+
+# Create a table having a full text index with parser
+--error ER_INNODB_NO_FT_USES_PARSER
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title) WITH PARSER simple_parser
+ ) ENGINE=InnoDB;
+
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title)
+ ) ENGINE=InnoDB;
+
+# Alter table to add a full text index with parser
+--error ER_INNODB_NO_FT_USES_PARSER
+ALTER TABLE articles ADD FULLTEXT INDEX (body) WITH PARSER simple_parser;
+
+# Create a full text index with parser
+--error ER_INNODB_NO_FT_USES_PARSER
+CREATE FULLTEXT INDEX ft_index ON articles(body) WITH PARSER simple_parser;
+
+DROP TABLE articles;
+# Uninstall plugin
+UNINSTALL PLUGIN simple_parser;
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_proximity.test b/mysql-test/suite/innodb_fts/t/innodb_fts_proximity.test
new file mode 100644
index 00000000000..b2ac81e2840
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_proximity.test
@@ -0,0 +1,267 @@
+# This is the DDL function tests for innodb FTS
+# Functional testing with FTS proximity search using '@'
+# and try search default words
+--source include/have_innodb.inc
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+--disable_query_log
+let $innodb_file_format_orig = `select @@innodb_file_format`;
+let $innodb_file_per_table_orig = `select @@innodb_file_per_table`;
+--enable_query_log
+
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE= InnoDB;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...');
+
+# Try to Search default stopword from innodb, "where", "will", "what"
+# and "when" are all stopwords
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("where will");
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("when");
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("what" WITH QUERY EXPANSION);
+
+# boolean No result expected
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("whe*" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+what +will" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+from" IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+where +(show what)" IN BOOLEAN MODE);
+
+# no result expected. Words are filtered out as stopwords
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"where will"@6' IN BOOLEAN MODE);
+
+# no result expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"where will"@9' IN BOOLEAN MODE);
+
+# insert record with @ character which is used in proximity search
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','request docteam@oraclehelp.com ...') ,
+ ('Trial version','query performace @1255 minute on 2.1Hz Memory 2GB...') ,
+ ('when To Use MySQL Well','for free faq mail@xyz.com ...');
+# proximity search with @ charcter
+
+# We don't need more than one word in proximity search. Single word
+# treated as single word search
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"request"@10' IN BOOLEAN MODE);
+
+# If the distance is 0, it is treated as "phrase search"
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"Trial version"@0' IN BOOLEAN MODE);
+
+# @ is word seperator
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"request docteam@oraclehelp.com"@10' IN BOOLEAN MODE);
+
+# This should not return any document
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"1255 minute"@1' IN BOOLEAN MODE);
+
+# This should return the first document. That is "1255" and "minutes" are
+# in a two-word range (adjacent)
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"1255 minute"@2' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"1255"@10' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('1255' WITH QUERY EXPANSION);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"request docteam"@2' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"1255 minute"' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request docteam@oraclehelp.com');
+
+# Test across fields search
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"MySQL request"@3' IN BOOLEAN MODE);
+
+# Two words are in 10 words range
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"Trial memory"@10' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"Trial memory"@9' IN BOOLEAN MODE);
+
+DROP TABLE t1;
+
+# test on utf8 encoded proximity search
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) CHARACTER SET = UTF8, ENGINE= InnoDB;
+
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...');
+
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','request docteam@oraclehelp.com ...') ,
+ ('Trial version','query performace @1255 minute on 2.1Hz Memory 2GB...'),
+ ('when To Use MySQL Well','for free faq mail@xyz.com ...');
+
+# Should have 2 rows. Note proximity search does require words in order
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"mysql use"@2' IN BOOLEAN MODE);
+
+# Should return 0 row
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"mysql use"@1' IN BOOLEAN MODE);
+
+INSERT INTO t1 (a,b) VALUES ('XYZ, long blob', repeat("a", 9000));
+
+INSERT INTO t1 (a,b) VALUES (repeat("b", 9000), 'XYZ, long blob');
+
+# 2 rows match
+SELECT count(*) FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"xyz blob"@3' IN BOOLEAN MODE);
+
+DROP TABLE t1;
+
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+
+# Test fts with externally stored long column
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a TEXT,
+ b TEXT,
+ c TEXT
+ ) CHARACTER SET = UTF8, ROW_FORMAT=DYNAMIC, ENGINE= InnoDB;
+
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000), 'XYZ, long text', 'very long blob');
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000), 'XYZ, very little long blob very much blob', 'very long blob');
+
+# Note 租车 is count as one word
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000),"very 租车 ä¾› blob","new 供需分æžinformation");
+CREATE FULLTEXT INDEX idx on t1 (a,b,c);
+
+INSERT INTO t1 (a,b,c) VALUES (repeat("x", 19000), 'new, long text', 'very new blob');
+INSERT INTO t1 (a,b,c) VALUES ('interesting, long text', repeat("x", 19000), 'very very good new blob');
+
+# 3 rows should match
+SELECT count(*) FROM t1
+ WHERE MATCH (a,b,c)
+ AGAINST ('"very blob"@3' IN BOOLEAN MODE);
+
+SELECT count(*) FROM t1
+ WHERE MATCH (a,b,c)
+ AGAINST ('"very long blob"@0' IN BOOLEAN MODE);
+
+# 4 rows should match
+SELECT count(*) FROM t1
+ WHERE MATCH (a,b,c)
+ AGAINST ('"very blob"@4' IN BOOLEAN MODE);
+
+# 1 row should match
+SELECT count(*) FROM t1
+ WHERE MATCH (a,b,c)
+ AGAINST ('"interesting blob"@9' IN BOOLEAN MODE);
+
+# should have 3 rows
+SELECT COUNT(*) FROM t1
+ WHERE MATCH (a,b,c)
+ AGAINST ('"interesting blob"@9 "very long blob"@0' IN BOOLEAN MODE);
+
+# should have 3 rows
+SELECT COUNT(*) FROM t1
+ WHERE MATCH (a,b,c)
+ AGAINST ('"very blob"@4 - "interesting blob"@9' IN BOOLEAN MODE);
+
+DROP TABLE t1;
+
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) CHARACTER SET = UTF8, ENGINE= InnoDB;
+
+# Space and special characters are not counted as word
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for + DataBase ...');
+
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+SELECT * FROM t1
+WHERE MATCH (a,b)
+AGAINST ('"stands database"@3' IN BOOLEAN MODE);
+
+DROP TABLE t1;
+
+# Test fts with externally stored long column
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a TEXT,
+ b TEXT,
+ c TEXT
+ ) CHARACTER SET = UTF8, ROW_FORMAT=DYNAMIC, ENGINE= InnoDB;
+
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000), 'XYZ, long text', 'very long blob');
+INSERT INTO t1 (a,b,c) VALUES ('XYZ, 租车 very little long blob very much blob', repeat("b", 19000), 'very long but smaller blob');
+
+CREATE FULLTEXT INDEX idx on t1 (a,b,c);
+
+DELETE FROM t1;
+
+INSERT INTO t1 (a,b,c) VALUES (repeat("b", 19000), 'XYZ, long text', 'very long blob');
+INSERT INTO t1 (a,b,c) VALUES ('XYZ, 租车 very little long blob is a very much longer blob', repeat("b", 19000), 'this is very long but smaller blob');
+
+SELECT count(*) FROM t1
+ WHERE MATCH (a,b,c)
+ AGAINST ('"very blob"@4' IN BOOLEAN MODE);
+
+SELECT count(*) FROM t1
+ WHERE MATCH (a,b,c)
+ AGAINST ('"very blob"@3' IN BOOLEAN MODE);
+
+DROP TABLE t1;
+
+eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
+eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_result_cache_limit.test b/mysql-test/suite/innodb_fts/t/innodb_fts_result_cache_limit.test
new file mode 100644
index 00000000000..669808edbf6
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_result_cache_limit.test
@@ -0,0 +1,52 @@
+# This is a basic test for innodb fts result cache limit.
+
+-- source include/have_innodb.inc
+
+# Must have debug code to use SET SESSION debug
+--source include/have_debug.inc
+
+# Create FTS table
+CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE= InnoDB;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...'),
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...'),
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...');
+
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,fts_instrument_result_cache_limit";
+
+# Simple term search
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b) AGAINST ('mysql' IN BOOLEAN MODE);
+
+# Query expansion
+--error 128
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b) AGAINST ('mysql' WITH QUERY EXPANSION);
+
+# Simple phrase search
+--error 128
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b) AGAINST ('"mysql database"' IN BOOLEAN MODE);
+
+# Simple proximity search
+--error 128
+SELECT COUNT(*) FROM t1 WHERE MATCH (a,b) AGAINST ('"mysql database" @ 5' IN BOOLEAN MODE);
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE t1;
+
+SET GLOBAL innodb_ft_result_cache_limit=default;
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_stopword_charset.test b/mysql-test/suite/innodb_fts/t/innodb_fts_stopword_charset.test
new file mode 100644
index 00000000000..4092c324bf9
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_stopword_charset.test
@@ -0,0 +1,408 @@
+# This is the basic function tests for innodb FTS stopword charset
+
+-- source include/have_innodb.inc
+
+# Embedded server tests do not support restarting
+--source include/not_embedded.inc
+
+SELECT @@innodb_ft_server_stopword_table;
+SELECT @@innodb_ft_enable_stopword;
+SELECT @@innodb_ft_user_stopword_table;
+
+SET NAMES utf8;
+
+-- echo # Test 1 : default latin1_swedish_ci
+# Create FTS table with default charset latin1_swedish_ci
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200)
+ ) ENGINE=InnoDB;
+
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+
+# Build full text index with default stopword
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+--enable_warnings
+
+# We can find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+# Define a user stopword table and set to it
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+
+# Rebuild the full text index with user stopword
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+
+# Now we will not find 'lòve' and check result with 'love'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+DROP TABLE user_stopword;
+
+-- echo # Test 2 : latin1_general_ci
+# Create FTS table with default charset latin1_swedish_ci
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200)
+ ) ENGINE=InnoDB DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
+
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+
+# Build full text index with default stopword
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+--enable_warnings
+
+# We can find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+# Define a user stopword table and set to it
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+ DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+
+# Rebuild the full text index with user stopword
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+
+# Now we will not find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+DROP TABLE user_stopword;
+
+-- echo # Test 3 : latin1_spanish_ci
+# Create FTS table with default charset latin1_swedish_ci
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200)
+ ) ENGINE=InnoDB DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci;
+
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+
+# Build full text index with default stopword
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+--enable_warnings
+
+# We can find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+# Define a user stopword table and set to it
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+ DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+
+# Rebuild the full text index with user stopword
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+
+# Now we will not find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+DROP TABLE user_stopword;
+
+-- echo # Test 4 : utf8_general_ci
+# Create FTS table with default charset utf8_general_ci
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200)
+ ) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
+
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+
+# Build full text index with default stopword
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+--enable_warnings
+
+# We can find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+# Define a user stopword table and set to it
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+ DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+
+# Rebuild the full text index with user stopword
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+
+# Now we will not find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+DROP TABLE user_stopword;
+
+-- echo # Test 5 : utf8_unicode_ci
+# Create FTS table with default charset utf8_swedish_ci
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200)
+ ) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_swedish_ci;
+
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+
+# Build full text index with default stopword
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+--enable_warnings
+
+# We can find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+# Define a user stopword table and set to it
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+ DEFAULT CHARACTER SET utf8 COLLATE utf8_swedish_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+
+# Rebuild the full text index with user stopword
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+
+# Now we will not find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+DROP TABLE user_stopword;
+
+-- echo # Test 6 : utf8_unicode_ci
+# Create FTS table with default charset utf8_unicode_ci
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200)
+ ) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
+
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+
+# Build full text index with default stopword
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+--enable_warnings
+
+# We can find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+# Define a user stopword table and set to it
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+ DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+
+# Rebuild the full text index with user stopword
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+
+# Now we will not find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+DROP TABLE user_stopword;
+
+-- echo # Test 7 : gb2312_chinese_ci
+# Create FTS table with default charset gb2312_chinese_ci
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200)
+ ) ENGINE=InnoDB DEFAULT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
+
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('相亲相爱'),('怜香惜爱'),('充满å¯çˆ±'),('爱æ¨äº¤ç»‡');
+
+# Build full text index with default stopword
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+--enable_warnings
+
+# We can find '相亲相爱'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('相亲相爱' IN NATURAL LANGUAGE MODE);
+
+# Define a user stopword table and set to it
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB
+ DEFAULT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
+INSERT INTO user_stopword VALUES('相亲相爱');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+
+# Rebuild the full text index with user stopword
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+
+# Now we will not find '相亲相爱'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('相亲相爱' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('怜香惜爱' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+DROP TABLE user_stopword;
+
+-- echo # Test 8 : test shutdown to check if stopword still works
+# Create FTS table with default charset latin1_swedish_ci
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200)
+ ) ENGINE=InnoDB;
+
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+
+# Build full text index with default stopword
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+--enable_warnings
+
+# We can find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+# Define a user stopword table and set to it
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+
+# Rebuild the full text index with user stopword
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+
+# Now we will not find 'lòve' and check result with 'love'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+--echo # Shutdown and restart mysqld
+--source include/restart_mysqld.inc
+
+SET NAMES utf8;
+
+# Insert rows to check if it uses user stopword
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+--enable_warnings
+
+# Now we will not find 'lòve' and check result with 'love'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
+DROP TABLE user_stopword;
+
+-- echo # Test 9 : drop user stopwrod table,test shutdown to check if it works
+# Create FTS table with default charset latin1_swedish_ci
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200)
+ ) ENGINE=InnoDB;
+
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+
+# Build full text index with default stopword
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+--enable_warnings
+
+# We can find 'lòve'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+# Define a user stopword table and set to it
+CREATE TABLE user_stopword(value varchar(30)) ENGINE = InnoDB;
+INSERT INTO user_stopword VALUES('lòve');
+SET GLOBAL innodb_ft_server_stopword_table = 'test/user_stopword';
+
+# Rebuild the full text index with user stopword
+DROP INDEX ft_idx ON articles;
+CREATE FULLTEXT INDEX ft_idx ON articles(title);
+
+# Now we will not find 'lòve' and check result with 'love'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+# Drop user stopword table
+DROP TABLE user_stopword;
+
+--echo # Shutdown and restart mysqld
+--source include/restart_mysqld.inc
+
+SET NAMES utf8;
+
+# Insert rows to check if it uses user stopword
+--disable_warnings
+INSERT INTO articles (title) VALUES
+ ('love'),('LOVE'),('lòve'),('LÒVE'),('löve'),('LÖVE'),('løve'),('LØVE'),
+ ('lṓve'),('LṒVE');
+--enable_warnings
+
+# Now we will not find 'lòve' and check result with 'love'
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('lòve' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM articles WHERE MATCH (title)
+ AGAINST ('love' IN NATURAL LANGUAGE MODE);
+
+DROP TABLE articles;
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test b/mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test
new file mode 100644
index 00000000000..3327e0ccd77
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test
@@ -0,0 +1,1041 @@
+# FTS index with transaction
+# Important Note:
+# 1) Uncommitted records are not visible using FTS index - this is by FTS design
+# 2) records will be seen using FTS index ONLY when transaction completes
+# 3) UNCOMMITTED RECORDS CAN BE SEEN WITH QURIES WHICH DO NOT USE FTS INDEX
+# this behavior do not break integratity of tables and "select" which do not use FTS still can view them.
+--source include/have_innodb.inc
+
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+#------------------------------------------------------------------------------
+# FTS with transaction
+#------------------------------------------------------------------------------
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB STATS_PERSISTENT=0;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...');
+
+START TRANSACTION;
+
+# this record is NOT seen with queries using FTS index until commit
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','request docteam for oraclehelp.');
+
+# first and third record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+
+# no records expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request' IN NATURAL LANGUAGE MODE);
+
+# all records with MySQL expected but record with 'request' not
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request MySQL' IN BOOLEAN MODE);
+
+# all records with MySQL expected but record with 'request' not
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('-request +MySQL' IN BOOLEAN MODE);
+
+# only 2nd record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+MySQL -(Tutorial Optimizing)' IN BOOLEAN MODE);
+
+# one record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"stands Database"@11' IN BOOLEAN MODE) ORDER BY 1;
+
+# all records expected except with 'request'
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' WITH QUERY EXPANSION);
+
+# transaction commit ,now we will be able to see records with FTS index
+COMMIT;
+
+# records having tutorial word
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+
+# records having tutorial and MySQL word
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request MySQL' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' WITH QUERY EXPANSION);
+
+START TRANSACTION;
+
+# insert null values
+INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+
+# one record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+
+# update record which is visible with FTS index as transaction completed
+UPDATE t1 SET a = 'Trial version' , b = 'query performace 1255 minute on 2.1Hz Memory 2GB...'
+WHERE MATCH (a,b) AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+
+# no records expected as it is updated with new value
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request');
+
+# no records expected as update tnx is not committed yet.
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('query performace' IN BOOLEAN MODE);
+
+# update will not able to find record as it uses FTS , so record will be updated
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq xyz.com ...'
+WHERE MATCH (a,b) AGAINST ('+query +performace' IN BOOLEAN MODE);
+
+# no records expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('performace');
+# no records expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+mail +MySQL' IN BOOLEAN MODE);
+COMMIT;
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+MySQL' IN BOOLEAN MODE);
+SELECT * FROM t1;
+
+# insert record with @ character which is used in proximity search
+INSERT INTO t1 (a,b) VALUES
+ ('Trial version','query performace 1255 minute on 2.1Hz Memory 2GB...') ,
+ ('when To Use MySQL Well','for free faq mail@xyz.com ...');
+
+SELECT * FROM t1;
+DROP TABLE t1;
+
+
+#------------------------------------------------------------------------------
+# FTS with rollback
+#------------------------------------------------------------------------------
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...');
+
+START TRANSACTION;
+
+# insert record but it won't be visible using FTS index until tnx completes.
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','request docteam for oraclehelp.');
+# two records expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+# no records expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request' IN NATURAL LANGUAGE MODE);
+# only records with MySQL expected as record with 'request' word not committed yet.
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request MySQL' IN BOOLEAN MODE);
+
+# records with MySQL word
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('-request +MySQL' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+MySQL -(Tutorial Optimizing)' IN BOOLEAN MODE);
+
+# query expansion mode
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' WITH QUERY EXPANSION);
+
+# query expansion mode
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' WITH QUERY EXPANSION);
+
+# rollback transaction , record with 'request' word rollbacked.
+ROLLBACK;
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request MySQL' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' WITH QUERY EXPANSION);
+
+START TRANSACTION;
+INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+
+# no update as record with where condition is not present
+UPDATE t1 SET a = 'Trial version' , b = 'query performace 1255 minute on 2.1Hz Memory 2GB...'
+WHERE MATCH (a,b) AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+
+# no records
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request');
+
+# no records
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('query performace' IN BOOLEAN MODE);
+
+# no update as record with where condition is not present
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq xyz.com ...'
+WHERE MATCH (a,b) AGAINST ('+query +performace' IN BOOLEAN MODE);
+
+# no records
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('performace');
+
+# no records
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+mail +MySQL' IN BOOLEAN MODE);
+ROLLBACK;
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+MySQL' IN BOOLEAN MODE);
+SELECT * FROM t1;
+
+# insert record with @ character which is used in proximity search
+INSERT INTO t1 (a,b) VALUES
+ ('Trial version','query performace 1255 minute on 2.1Hz Memory 2GB...') ,
+ ('when To Use MySQL Well','for free faq mail@xyz.com ...');
+
+SELECT * FROM t1;
+DROP TABLE t1;
+
+#------------------------------------------------------------------------------
+# FTS with transaction -
+# Uncommitted records are visible using FTS index so try use normal query to
+# update such records in active transaction
+#------------------------------------------------------------------------------
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) ENGINE = InnoDB;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...');
+
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','request docteam for oraclehelp.');
+
+START TRANSACTION;
+INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+
+# only one record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+
+# update record
+UPDATE t1 SET a = 'Trial version' , b = 'query performace 1255 minute on 2.1Hz Memory 2GB...' WHERE MATCH (a,b) AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+
+# updated record is visible as we do not use FTS index in following query
+SELECT * from t1;
+
+# no records expected as it is updated with new value
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request');
+
+# no record expected as transaction is not committed.
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('query performace' IN BOOLEAN MODE);
+
+# following update will not succeed as it uses FTS index in where clause and the record matching condition is not committe yet.
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq mail xyz.com ...' WHERE MATCH (a,b) AGAINST ('+query +performace' IN BOOLEAN MODE);
+# update will succeed as it uses non FTS condition in where clause. Record in where clause is visible as it is accessed by NON FTS condition.
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq mail xyz.com ...' WHERE b like '%query performace%';
+
+# no record expected as it is updated wih new value
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('performace');
+
+# not visible with FTS as transaction not committed.
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+mail +MySQL' IN BOOLEAN MODE);
+
+SELECT * from t1;
+COMMIT;
+SELECT * from t1;
+
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+MySQL' IN BOOLEAN MODE);
+SELECT * FROM t1;
+
+# insert record with @ character which is used in proximity search
+INSERT INTO t1 (a,b) VALUES
+ ('Trial version','query performace 1255 minute on 2.1Hz Memory 2GB...') ,
+ ('when To Use MySQL Well','for free faq mail@xyz.com ...');
+
+SELECT * FROM t1;
+DROP TABLE t1;
+
+#------------------------------------------------------------------------------
+# FTS with transaction - multiple connections
+#------------------------------------------------------------------------------
+
+#set names utf8;
+SET NAMES UTF8;
+
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) CHARACTER SET = UTF8,ENGINE = InnoDB;
+
+
+--echo "In connection 1"
+--connect (con1,localhost,root,,)
+SET NAMES UTF8;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...'),
+ ('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит'),
+ ('ΜποÏῶ νὰ φάω σπασμένα' ,'γυαλιὰ χωÏὶς νὰ πάθω τίποτα'),
+ ('Sævör grét', 'áðan því úlpan var ónýt');
+
+
+--echo "In connection 2"
+--connect (con2,localhost,root,,)
+SET NAMES UTF8;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+
+--echo "In connection 1"
+--connection con1
+
+# first and third record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' IN NATURAL LANGUAGE MODE);
+
+INSERT INTO t1 (a,b) VALUES
+ ('adding record using session 1','for verifying multiple concurrent transactions'),
+ ('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+
+# one records expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+γυαλιὰ +χωÏὶ*' IN BOOLEAN MODE);
+
+START TRANSACTION;
+
+# this record is NOT seen with queries using FTS index until commit
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL Tutorial','request docteam for oraclehelp.'),
+ ('PříliÅ¡ žluÅ¥ouÄký kůň', 'úpÄ›l Äábelské kódy');
+
+# no records expected as its not committed yet
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request Äábelské' IN BOOLEAN MODE);
+
+# 3 record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' WITH QUERY EXPANSION) ORDER BY 1;
+
+# one record expected proximity
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+
+--echo "In connection 2"
+--connection con2
+
+# one records expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+record +multiple' IN BOOLEAN MODE);
+
+# 3 rcords expected , two for tutor* and one for Sævö*
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutor* Sævö*' IN BOOLEAN MODE) ORDER BY 1;
+
+
+# one record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('usin* multipl*' IN BOOLEAN MODE);
+
+# no record expected as this record is not committed
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"request docteam"@08' IN BOOLEAN MODE);
+
+# no records expected as this record is not committed
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request' IN NATURAL LANGUAGE MODE);
+
+# all records with MySQL expected but record with 'request' is not committed so 'request' string not visible
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request MySQL' IN BOOLEAN MODE);
+
+# all records with MySQL expected but record with 'request' not
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('-request +MySQL' IN BOOLEAN MODE);
+
+# only one record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+MySQL -(Tutorial Optimizing)' IN BOOLEAN MODE);
+
+# one record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('"stands Database"@11' IN BOOLEAN MODE) ORDER BY 1;
+
+# all records expected except with 'request'
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('tutorial' WITH QUERY EXPANSION) ORDER BY 1;
+
+--echo "In connection 1"
+--connection con1
+# transaction commit ,now we will be able to see records with FTS index
+COMMIT;
+# records with MySQL,request string expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('PříliÅ¡ žluÅ¥ouÄký' IN BOOLEAN MODE);
+
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('Příliš');
+
+# insert null values
+INSERT INTO t1 (a,b) VALUES (NULL,NULL);
+SELECT * FROM t1 WHERE a IS NULL AND b IS NULL;
+
+--echo "In connection 2"
+--connection con2
+
+# one record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('usin* multipl*' IN BOOLEAN MODE);
+
+# one record expected , b/c record is committed in connection 1
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE a IS NULL AND b IS NULL;
+
+
+
+ALTER TABLE t1 DROP INDEX idx;
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+
+START TRANSACTION;
+# update record but do not commiit so latest upadted string not visible using FTS index but available with normal select
+UPDATE t1 SET a = 'Trial version PříliÅ¡ žluÅ¥ouÄký' , b = 'query performace 1255 minute on 2.1Hz Memory 2GB...'
+WHERE MATCH (a,b) AGAINST ('+request +MySQL' IN BOOLEAN MODE);
+
+# no records expected as it is updated with new value
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request');
+
+# no records expected as it is not committed
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+query +performace' IN BOOLEAN MODE);
+
+# only one record will be updated as other is not committed hence not seen using FTS
+UPDATE t1 SET a = UPPER(a) WHERE MATCH (a,b) AGAINST ('+PříliÅ¡ +žluÅ¥ouÄký' IN BOOLEAN MODE);
+
+# no records expected as it is not committed
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+PříliÅ¡ +žluÅ¥ouÄký' IN BOOLEAN MODE);
+
+UPDATE t1 SET a = UPPER(a) WHERE a LIKE '%version Příliš%';
+
+# no records expected as it is not committed
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+query +performace' IN BOOLEAN MODE);
+
+SELECT * FROM t1 WHERE b LIKE '%query performace%';
+
+# no records expected as it is updated with new value
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('request');
+
+--echo "In connection 1"
+--connection con1
+
+# no records expected as update tnx is not committed yet.
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('query performace' IN BOOLEAN MODE);
+
+# no records expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('performace');
+# no records expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+mail +MySQL' IN BOOLEAN MODE);
+
+--echo "In connection 2"
+--connection con2
+COMMIT;
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+query +performace' IN BOOLEAN MODE);
+
+
+
+--echo "In connection 1"
+--connection con1
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('+query +performace' IN BOOLEAN MODE);
+# Update
+UPDATE t1 SET a = 'when To Use MySQL Well' , b = 'for free faq xyz.com ...'
+WHERE MATCH (a,b) AGAINST ('+πάθω +τίποτα' IN BOOLEAN MODE);
+# one record expected
+SELECT * FROM t1
+ WHERE MATCH (a,b)
+ AGAINST ('well free') ORDER BY 1;
+
+--disconnect con1
+--disconnect con2
+--source include/wait_until_disconnected.inc
+
+--connection default
+DROP TABLE t1;
+
+
+#------------------------------------------------------------------------------
+# FTS with delete transaction with multiple session
+#------------------------------------------------------------------------------
+
+SET NAMES UTF8;
+
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) CHARACTER SET = UTF8,ENGINE = InnoDB;
+
+
+--echo "In connection 1"
+--connect (con1,localhost,root,,)
+SET NAMES UTF8;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...'),
+ ('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит'),
+ ('ΜποÏῶ νὰ φάω σπασμένα' ,'γυαλιὰ χωÏὶς νὰ πάθω τίποτα'),
+ ('Sævör grét', 'áðan því úlpan var ónýt');
+
+
+--echo "In connection 2"
+--connect (con2,localhost,root,,)
+SET NAMES UTF8;
+select @@session.tx_isolation;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+INSERT INTO t1 (a,b) VALUES
+ ('adding record using session 1','for verifying multiple concurrent transactions'),
+ ('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+
+
+--echo "In connection 1"
+--connection con1
+
+
+SELECT * FROM t1;
+
+START TRANSACTION;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+# Delete rows
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+# No record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+--echo "In connection 2"
+--connection con2
+# records expected due to repeatable read
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+
+SELECT * FROM t1;
+
+--echo "In connection 1"
+--connection con1
+COMMIT;
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+# No record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+--echo "In connection 2"
+--connection con2
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+# No record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+
+--disconnect con1
+--disconnect con2
+--source include/wait_until_disconnected.inc
+
+--connection default
+DROP TABLE t1;
+
+
+
+#------------------------------------------------------------------------------
+# FTS with update transaction with multiple session
+#------------------------------------------------------------------------------
+
+SET NAMES UTF8;
+
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) CHARACTER SET = UTF8,ENGINE = InnoDB;
+
+
+--echo "In connection 1"
+--connect (con1,localhost,root,,)
+SET NAMES UTF8;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...'),
+ ('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит');
+
+
+--echo "In connection 2"
+--connect (con2,localhost,root,,)
+SET NAMES UTF8;
+select @@session.tx_isolation;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+INSERT INTO t1 (a,b) VALUES
+ ('adding record using session 1','for verifying multiple concurrent transactions'),
+ ('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+
+
+--echo "In connection 1"
+--connection con1
+
+
+SELECT * FROM t1;
+
+START TRANSACTION;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+# Update row
+UPDATE t1 SET a = 'ΜποÏῶ νὰ φάω σπασμένα' , b = 'γυαλιὰ χωÏὶς νὰ πάθω τίποτα' WHERE MATCH (a,b) AGAINST ('+могу +Mне' IN BOOLEAN MODE);
+# Insert row
+INSERT INTO t1(a,b) VALUES ('Sævör grét', 'áðan því úlpan var ónýt');
+
+SELECT * FROM t1;
+
+# 1 record expected - records not seen
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 record expected - records not seen
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+--echo "In connection 2"
+--connection con2
+# 2 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# no records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+
+# 2 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+--echo "In connection 1"
+--connection con1
+COMMIT;
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# no record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+--echo "In connection 2"
+--connection con2
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# Innodb:error no record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтекло');
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+
+--disconnect con1
+--disconnect con2
+--source include/wait_until_disconnected.inc
+
+--connection default
+DROP TABLE t1;
+
+
+#------------------------------------------------------------------------------
+# FTS with delete/rollback transaction with multiple session
+#------------------------------------------------------------------------------
+
+SET NAMES UTF8;
+
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) CHARACTER SET = UTF8,ENGINE = InnoDB;
+
+
+--echo "In connection 1"
+--connect (con1,localhost,root,,)
+SET NAMES UTF8;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...'),
+ ('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит'),
+ ('ΜποÏῶ νὰ φάω σπασμένα' ,'γυαλιὰ χωÏὶς νὰ πάθω τίποτα'),
+ ('Sævör grét', 'áðan því úlpan var ónýt');
+
+
+--echo "In connection 2"
+--connect (con2,localhost,root,,)
+SET NAMES UTF8;
+select @@session.tx_isolation;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+INSERT INTO t1 (a,b) VALUES
+ ('adding record using session 1','for verifying multiple concurrent transactions'),
+ ('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+
+
+--echo "In connection 1"
+--connection con1
+
+
+SELECT * FROM t1;
+
+START TRANSACTION;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+# Delete rows
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('+Мога +Mне' IN BOOLEAN MODE);
+DELETE FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# No record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+# No record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+--echo "In connection 2"
+--connection con2
+# records expected due to repeatable read
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+
+SELECT * FROM t1;
+
+--echo "In connection 1"
+--connection con1
+ROLLBACK;
+# 2 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+--echo "In connection 2"
+--connection con2
+# 2 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+
+--disconnect con1
+--disconnect con2
+--source include/wait_until_disconnected.inc
+
+--connection default
+DROP TABLE t1;
+
+
+
+#------------------------------------------------------------------------------
+# FTS with update/rollback transaction with multiple session
+#------------------------------------------------------------------------------
+
+SET NAMES UTF8;
+
+# Create FTS table
+EVAL CREATE TABLE t1 (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ a VARCHAR(200),
+ b TEXT
+ ) CHARACTER SET = UTF8,ENGINE = InnoDB;
+
+
+--echo "In connection 1"
+--connect (con1,localhost,root,,)
+SET NAMES UTF8;
+
+# Insert rows
+INSERT INTO t1 (a,b) VALUES
+ ('MySQL from Tutorial','DBMS stands for DataBase ...') ,
+ ('when To Use MySQL Well','After that you went through a ...'),
+ ('where will Optimizing MySQL','what In this tutorial we will show ...'),
+ ('Я могу еÑÑ‚ÑŒ Ñтекло', 'оно мне Mне вредит');
+
+
+--echo "In connection 2"
+--connect (con2,localhost,root,,)
+SET NAMES UTF8;
+select @@session.tx_isolation;
+
+# Create the FTS index again
+CREATE FULLTEXT INDEX idx on t1 (a,b);
+INSERT INTO t1 (a,b) VALUES
+ ('adding record using session 1','for verifying multiple concurrent transactions'),
+ ('Мога да Ñм Ñтъкло', 'то Mне ми вреди');
+
+
+--echo "In connection 1"
+--connection con1
+
+
+SELECT * FROM t1;
+
+START TRANSACTION;
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+могу +Mне' IN BOOLEAN MODE);
+# Update row
+UPDATE t1 SET a = 'ΜποÏῶ νὰ φάω σπασμένα' , b = 'γυαλιὰ χωÏὶς νὰ πάθω τίποτα' WHERE MATCH (a,b) AGAINST ('+могу +Mне' IN BOOLEAN MODE);
+# Insert row
+INSERT INTO t1(a,b) VALUES ('Sævör grét', 'áðan því úlpan var ónýt');
+
+SELECT * FROM t1;
+
+# 1 record expected - records not seen
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+--echo "In connection 2"
+--connection con2
+# 2 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+
+# 2 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+# 1 records expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"dbms stands"@05' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+--echo "In connection 1"
+--connection con1
+ROLLBACK;
+# 2 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+# no record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+--echo "In connection 2"
+--connection con2
+# 2 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('+Mне' IN BOOLEAN MODE);
+# 1 record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('Ñтъкло');
+# no record expected
+SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"Sævör grét"@18' IN BOOLEAN MODE);
+
+SELECT * FROM t1;
+
+
+--disconnect con1
+--disconnect con2
+--source include/wait_until_disconnected.inc
+
+
+--connection default
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/t/misc_debug.test b/mysql-test/suite/innodb_fts/t/misc_debug.test
new file mode 100644
index 00000000000..4b32afb848c
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/misc_debug.test
@@ -0,0 +1,41 @@
+# Miscellanous FULLTEXT INDEX tests for debug-instrumented servers.
+# Note: These tests used to be part of a larger test, innodb_fts_misc_debug
+# or innodb_fts.misc_debug. A large part of that test can be run on a
+# non-debug server and has been renamed to innodb_fts.crash_recovery.
+
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+# Following test is for Bug 14668777 - ASSERT ON IB_VECTOR_SIZE(
+# TABLE->FTS->INDEXES, ALTER TABLE
+CREATE TABLE articles (
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ title VARCHAR(200),
+ body TEXT,
+ FULLTEXT (title,body)
+ ) ENGINE=InnoDB;
+
+# Abort the operation in dict_create_index_step by setting
+# return status of dict_create_index_tree_step() to DB_OUT_OF_MEMORY
+# 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";
+--error ER_OUT_OF_RESOURCES
+CREATE FULLTEXT INDEX idx ON articles(body);
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# This simply go through ha_innobase::commit_inplace_alter_table
+# and do a fts_check_cached_index()
+ALTER TABLE articles STATS_PERSISTENT=DEFAULT;
+
+DROP TABLE articles;
+
+# This test used to be called innodb_fts.innobase_drop_fts_index_table:
+
+CREATE TABLE t (a INT, b TEXT) engine=innodb;
+SET debug_dbug='+d,alter_table_rollback_new_index';
+-- error ER_UNKNOWN_ERROR
+ALTER TABLE t ADD FULLTEXT INDEX (b(64));
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb_fts/t/sync_ddl.test b/mysql-test/suite/innodb_fts/t/sync_ddl.test
new file mode 100644
index 00000000000..2950297d5bb
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/sync_ddl.test
@@ -0,0 +1,177 @@
+#
+# BUG#27082268 FTS synchronization issues
+#
+
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+#--------------------------------------
+# Check FTS_sync vs TRUNCATE (1)
+#--------------------------------------
+
+CREATE TABLE t1 (
+ id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ value VARCHAR(1024)
+ ) ENGINE=InnoDB;
+
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+
+SET @save_debug = @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_sync_before_syncing,ib_trunc_sleep_before_fts_cache_clear';
+
+INSERT INTO t1 (value) VALUES
+ ('By default or with the IN NATURAL LANGUAGE MODE modifier')
+ ;
+
+TRUNCATE TABLE t1;
+
+DROP TABLE t1;
+
+SET GLOBAL debug_dbug = @save_debug;
+
+#--------------------------------------
+# Check FTS sync vs DROP INDEX (2)
+#--------------------------------------
+
+CREATE TABLE t1 (
+ id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ value VARCHAR(1024)
+ ) ENGINE=InnoDB;
+
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_write_words_before_select_index,ib_trunc_sleep_before_fts_cache_clear';
+
+INSERT INTO t1 (value) VALUES
+ ('By default or with the IN NATURAL LANGUAGE MODE modifier'),
+ ('performs a natural language search for a string'),
+ ('collection is a set of one or more columns included'),
+ ('returns a relevance value; that is, a similarity measure'),
+ ('and the text in that row in the columns named in'),
+ ('By default, the search is performed in case-insensitive'),
+ ('sensitive full-text search, use a binary collation '),
+ ('example, a column that uses the latin1 character'),
+ ('collation of latin1_bin to make it case sensitive')
+ ;
+
+TRUNCATE TABLE t1;
+
+DROP TABLE t1;
+
+SET GLOBAL debug_dbug = @save_debug;
+
+#--------------------------------------
+# Check FTS sync vs DROP INDEX
+#--------------------------------------
+
+CREATE TABLE t1 (
+ value VARCHAR(1024)
+ ) ENGINE=InnoDB;
+
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_msg_sync_sleep';
+
+INSERT INTO t1 (value) VALUES
+ ('By default or with the IN NATURAL LANGUAGE MODE modifier'),
+ ('performs a natural language search for a string'),
+ ('collection is a set of one or more columns included'),
+ ('returns a relevance value; that is, a similarity measure'),
+ ('and the text in that row in the columns named in'),
+ ('By default, the search is performed in case-insensitive'),
+ ('sensitive full-text search, use a binary collation '),
+ ('example, a column that uses the latin1 character'),
+ ('collation of latin1_bin to make it case sensitive')
+ ;
+
+DROP INDEX idx1 ON t1;
+
+DROP TABLE t1;
+
+SET GLOBAL debug_dbug = @save_debug;
+
+#--------------------------------------
+# Check FTS sync vs ALTER TABLE DROP INDEX (INPLACE)
+#--------------------------------------
+
+CREATE TABLE t1 (
+ value VARCHAR(1024)
+ ) ENGINE=InnoDB;
+
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_msg_sync_sleep';
+
+INSERT INTO t1 (value) VALUES
+ ('By default or with the IN NATURAL LANGUAGE MODE modifier'),
+ ('performs a natural language search for a string'),
+ ('collection is a set of one or more columns included'),
+ ('returns a relevance value; that is, a similarity measure'),
+ ('and the text in that row in the columns named in'),
+ ('By default, the search is performed in case-insensitive'),
+ ('sensitive full-text search, use a binary collation '),
+ ('example, a column that uses the latin1 character'),
+ ('collation of latin1_bin to make it case sensitive')
+ ;
+
+ALTER TABLE t1
+ DROP INDEX idx1,
+ ALGORITHM=INPLACE;
+
+DROP TABLE t1;
+
+SET GLOBAL debug_dbug = @save_debug;
+
+#--------------------------------------
+# Check FTS sync vs ALTER TABLE DROP INDEX (COPY)
+#--------------------------------------
+
+CREATE TABLE t1 (
+ value VARCHAR(1024)
+ ) ENGINE=InnoDB;
+
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_msg_sync_sleep';
+
+INSERT INTO t1 (value) VALUES
+ ('example, a column that uses the latin1 character'),
+ ('collation of latin1_bin to make it case sensitive')
+ ;
+
+ALTER TABLE t1
+ DROP INDEX idx1,
+ ALGORITHM=COPY;
+
+DROP TABLE t1;
+
+SET GLOBAL debug_dbug = @save_debug;
+
+#--------------------------------------
+# Check FTS sync vs ALTER TABLE (INPLACE, new cluster)
+#--------------------------------------
+
+CREATE TABLE t1 (
+ id1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ value VARCHAR(1024)
+ ) ENGINE=InnoDB;
+
+CREATE FULLTEXT INDEX idx1 ON t1(value);
+
+SET GLOBAL debug_dbug = '+d,fts_instrument_sync_request,fts_instrument_msg_sync_sleep';
+
+INSERT INTO t1 (value) VALUES
+ ('example, a column that uses the latin1 character'),
+ ('collation of latin1_bin to make it case sensitive')
+ ;
+
+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;
+
+DROP TABLE t1;
+
+SET GLOBAL debug_dbug = @save_debug;
diff --git a/mysql-test/suite/innodb_zip/r/innodb-create-options.result b/mysql-test/suite/innodb_zip/r/innodb-create-options.result
index 94c84fcf60f..e961d0ca7d0 100644
--- a/mysql-test/suite/innodb_zip/r/innodb-create-options.result
+++ b/mysql-test/suite/innodb_zip/r/innodb-create-options.result
@@ -1,4 +1,4 @@
-SET storage_engine=InnoDB;
+SET default_storage_engine=InnoDB;
SET GLOBAL innodb_file_format=`Barracuda`;
SET GLOBAL innodb_file_per_table=ON;
SET SESSION innodb_strict_mode = ON;
@@ -6,15 +6,16 @@ SET SESSION innodb_strict_mode = ON;
# KEY_BLOCK_SIZE=0 means 'no KEY_BLOCK_SIZE is specified'
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
# 'FIXED' is sent to InnoDB since it is used by MyISAM.
# But it is an invalid mode in InnoDB
CREATE TABLE t1 ( i INT ) ROW_FORMAT=FIXED;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=0;
SHOW WARNINGS;
Level Code Message
@@ -46,11 +47,11 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Compact
ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=0;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ROW_TYPE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'ROW_TYPE'
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Compact
@@ -58,81 +59,84 @@ t1 Compact
# KEY_BLOCK_SIZE is incompatible with COMPACT, REDUNDANT, & DYNAMIC
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=1;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
-CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed row_format=COMPRESSED key_block_size=8
+t1 Compressed row_format=COMPRESSED key_block_size=2
ALTER TABLE t1 ADD COLUMN f1 INT;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed row_format=COMPRESSED key_block_size=8
+t1 Compressed row_format=COMPRESSED key_block_size=2
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed key_block_size=16
+t1 Compressed key_block_size=1
ALTER TABLE t1 ADD COLUMN f1 INT;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed key_block_size=16
+t1 Compressed key_block_size=1
# Test 3) StrictMode=ON, ALTER with each ROW_FORMAT & a valid non-zero KEY_BLOCK_SIZE
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT );
ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=1;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ROW_TYPE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'ROW_TYPE'
ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=2;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
-ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=8;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
-ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed key_block_size=16
+t1 Compressed key_block_size=1
ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
Level Code Message
@@ -146,11 +150,11 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Compact row_format=COMPACT
ALTER TABLE t1 KEY_BLOCK_SIZE=2;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
SHOW WARNINGS;
Level Code Message
@@ -158,35 +162,35 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Redundant row_format=REDUNDANT
ALTER TABLE t1 KEY_BLOCK_SIZE=4;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Dynamic row_format=DYNAMIC
-ALTER TABLE t1 KEY_BLOCK_SIZE=8;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Compressed row_format=COMPRESSED
-ALTER TABLE t1 KEY_BLOCK_SIZE=16;
+ALTER TABLE t1 KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed row_format=COMPRESSED key_block_size=16
+t1 Compressed row_format=COMPRESSED key_block_size=1
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
@@ -212,23 +216,23 @@ t1 CREATE TABLE `t1` (
`f1` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=2
ALTER TABLE t1 ROW_FORMAT=COMPACT;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
SHOW WARNINGS;
Level Code Message
@@ -250,36 +254,40 @@ t1 Compact row_format=COMPACT
# Test 6) StrictMode=ON, CREATE with an invalid KEY_BLOCK_SIZE.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=9;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: invalid KEY_BLOCK_SIZE = 9. Valid values are [1, 2, 4, 8, 16]
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
# Test 7) StrictMode=ON, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and
# and a valid non-zero KEY_BLOCK_SIZE are rejected with Antelope
# and that they can be set to default values during strict mode.
SET GLOBAL innodb_file_format=Antelope;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=4;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
+DROP TABLE t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
SHOW WARNINGS;
Level Code Message
@@ -297,35 +305,39 @@ DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
SHOW WARNINGS;
Level Code Message
-ALTER TABLE t1 KEY_BLOCK_SIZE=8;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ROW_FORMAT'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'ROW_FORMAT'
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
SET GLOBAL innodb_file_format=Barracuda;
-DROP TABLE IF EXISTS t1;
+DROP TABLE t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
SET GLOBAL innodb_file_format=Antelope;
ALTER TABLE t1 ADD COLUMN f1 INT;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
-SHOW WARNINGS;
-Level Code Message
+Warnings:
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(11) DEFAULT NULL,
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4
+SHOW WARNINGS;
+Level Code Message
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
SHOW WARNINGS;
Level Code Message
@@ -339,24 +351,27 @@ SET GLOBAL innodb_file_format=Barracuda;
# values during strict mode.
SET GLOBAL innodb_file_per_table=OFF;
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=16;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=1;
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
+DROP TABLE t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
SHOW WARNINGS;
Level Code Message
@@ -375,23 +390,23 @@ CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
SHOW WARNINGS;
Level Code Message
ALTER TABLE t1 KEY_BLOCK_SIZE=1;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'KEY_BLOCK_SIZE'
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ROW_FORMAT'
SHOW WARNINGS;
Level Code Message
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+Error 1478 Table storage engine 'InnoDB' does not support the create option 'ROW_FORMAT'
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
ALTER TABLE t1 ROW_FORMAT=COMPACT;
SHOW WARNINGS;
Level Code Message
@@ -415,12 +430,8 @@ DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
SET GLOBAL innodb_file_per_table=OFF;
ALTER TABLE t1 ADD COLUMN f1 INT;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
SHOW WARNINGS;
Level Code Message
@@ -517,31 +528,31 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Dynamic row_format=DYNAMIC key_block_size=4
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed row_format=COMPRESSED key_block_size=8
+t1 Compressed row_format=COMPRESSED key_block_size=2
ALTER TABLE t1 ADD COLUMN f1 INT;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed row_format=COMPRESSED key_block_size=8
+t1 Compressed row_format=COMPRESSED key_block_size=2
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed key_block_size=16
+t1 Compressed key_block_size=1
ALTER TABLE t1 ADD COLUMN f1 INT;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed key_block_size=16
+t1 Compressed key_block_size=1
# Test 11) StrictMode=OFF, ALTER with each ROW_FORMAT & a valid KEY_BLOCK_SIZE
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT );
@@ -580,23 +591,23 @@ TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Dynamic row_format=DYNAMIC key_block_size=4
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT );
-ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=8;
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
Warnings:
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=8 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=8 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Redundant row_format=REDUNDANT key_block_size=8
+t1 Redundant row_format=REDUNDANT key_block_size=2
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT );
-ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed key_block_size=16
+t1 Compressed key_block_size=1
ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
Level Code Message
@@ -650,23 +661,23 @@ TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Compressed row_format=COMPRESSED key_block_size=4
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
-ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=8;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed key_block_size=8
+t1 Compressed key_block_size=2
# Test 13) StrictMode=OFF, CREATE with a valid KEY_BLOCK_SIZE
# ALTER with each ROW_FORMAT
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=16;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
Level Code Message
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=16
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=1
ALTER TABLE t1 ADD COLUMN f1 INT;
SHOW WARNINGS;
Level Code Message
@@ -675,40 +686,40 @@ Table Create Table
t1 CREATE TABLE `t1` (
`i` int(11) DEFAULT NULL,
`f1` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=16
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=1
ALTER TABLE t1 ROW_FORMAT=COMPACT;
Warnings:
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compact row_format=COMPACT key_block_size=16
+t1 Compact row_format=COMPACT key_block_size=1
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
Warnings:
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Redundant row_format=REDUNDANT key_block_size=16
+t1 Redundant row_format=REDUNDANT key_block_size=1
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
Warnings:
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Dynamic row_format=DYNAMIC key_block_size=16
+t1 Dynamic row_format=DYNAMIC key_block_size=1
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
SHOW WARNINGS;
Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compressed row_format=COMPRESSED key_block_size=16
+t1 Compressed row_format=COMPRESSED key_block_size=1
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
SHOW WARNINGS;
Level Code Message
@@ -721,7 +732,8 @@ Level Code Message
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Compact row_format=COMPACT
-# Test 14) StrictMode=OFF, CREATE with an invalid KEY_BLOCK_SIZE, it defaults to 8
+# Test 14) StrictMode=OFF, CREATE with an invalid KEY_BLOCK_SIZE,
+# it defaults to half of the page size.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=15;
Warnings:
@@ -774,16 +786,11 @@ TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Dynamic row_format=DYNAMIC
SET GLOBAL innodb_file_format=Antelope;
ALTER TABLE t1 ADD COLUMN f1 INT;
-Warnings:
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compact row_format=DYNAMIC
+t1 Dynamic row_format=DYNAMIC
SET GLOBAL innodb_file_format=Barracuda;
ALTER TABLE t1 ADD COLUMN f2 INT;
SHOW WARNINGS;
@@ -803,20 +810,11 @@ TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Compressed row_format=COMPRESSED key_block_size=2
SET GLOBAL innodb_file_per_table=OFF;
ALTER TABLE t1 ADD COLUMN f1 INT;
-Warnings:
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2.
-Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2.
-Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compact row_format=COMPRESSED key_block_size=2
+t1 Compressed row_format=COMPRESSED key_block_size=2
SET GLOBAL innodb_file_per_table=ON;
ALTER TABLE t1 ADD COLUMN f2 INT;
SHOW WARNINGS;
@@ -833,16 +831,11 @@ TABLE_NAME ROW_FORMAT CREATE_OPTIONS
t1 Dynamic row_format=DYNAMIC
SET GLOBAL innodb_file_per_table=OFF;
ALTER TABLE t1 ADD COLUMN f1 INT;
-Warnings:
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
SHOW WARNINGS;
Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-t1 Compact row_format=DYNAMIC
+t1 Dynamic row_format=DYNAMIC
SET GLOBAL innodb_file_per_table=ON;
ALTER TABLE t1 ADD COLUMN f2 INT;
SHOW WARNINGS;
diff --git a/mysql-test/suite/innodb_zip/r/innodb-zip.result b/mysql-test/suite/innodb_zip/r/innodb-zip.result
index db7fd6d812c..2695df64187 100644
--- a/mysql-test/suite/innodb_zip/r/innodb-zip.result
+++ b/mysql-test/suite/innodb_zip/r/innodb-zip.result
@@ -1,6 +1,14 @@
+CREATE DATABASE mysqltest_innodb_zip;
+USE mysqltest_innodb_zip;
+SELECT table_name, row_format, data_length, index_length
+FROM information_schema.tables
+WHERE table_schema='mysqltest_innodb_zip';
+table_name row_format data_length index_length
+SET @save_innodb_stats_on_metadata=@@global.innodb_stats_on_metadata;
set session innodb_strict_mode=0;
set global innodb_file_per_table=off;
set global innodb_file_format=`0`;
+SET @@global.innodb_stats_on_metadata=ON;
create table t0(a int primary key) engine=innodb row_format=compressed;
Warnings:
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
@@ -14,9 +22,6 @@ Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
create table t1(a int primary key) engine=innodb row_format=dynamic;
-Warnings:
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
create table t2(a int primary key) engine=innodb row_format=redundant;
create table t3(a int primary key) engine=innodb row_format=compact;
create table t4(a int primary key) engine=innodb key_block_size=9;
@@ -63,42 +68,38 @@ row_format=compressed;
create table t14(a int primary key) engine=innodb key_block_size=9;
Warnings:
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=9.
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
-test t0 Compact 16384 0
-test t00 Compact 16384 0
-test t1 Compact 16384 0
-test t10 Dynamic 16384 0
-test t11 Compressed 1024 0
-test t12 Compressed 1024 0
-test t13 Compressed 8192 0
-test t14 Compact 16384 0
-test t2 Redundant 16384 0
-test t3 Compact 16384 0
-test t4 Compact 16384 0
-test t5 Redundant 16384 0
-test t6 Redundant 16384 0
-test t7 Redundant 16384 0
-test t8 Compact 16384 0
-test t9 Compact 16384 0
+mysqltest_innodb_zip t0 Compact {valid} 0
+mysqltest_innodb_zip t00 Compact {valid} 0
+mysqltest_innodb_zip t1 Dynamic {valid} 0
+mysqltest_innodb_zip t10 Dynamic {valid} 0
+mysqltest_innodb_zip t11 Compressed 1024 0
+mysqltest_innodb_zip t12 Compressed 1024 0
+mysqltest_innodb_zip t13 Compressed {valid} 0
+mysqltest_innodb_zip t14 Compact {valid} 0
+mysqltest_innodb_zip t2 Redundant {valid} 0
+mysqltest_innodb_zip t3 Compact {valid} 0
+mysqltest_innodb_zip t4 Compact {valid} 0
+mysqltest_innodb_zip t5 Redundant {valid} 0
+mysqltest_innodb_zip t6 Redundant {valid} 0
+mysqltest_innodb_zip t7 Redundant {valid} 0
+mysqltest_innodb_zip t8 Compact {valid} 0
+mysqltest_innodb_zip t9 Compact {valid} 0
drop table t0,t00,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14;
alter table t1 key_block_size=0;
alter table t1 row_format=dynamic;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
-test t1 Dynamic 16384 0
+mysqltest_innodb_zip t1 Dynamic {valid} 0
alter table t1 row_format=compact;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
-test t1 Compact 16384 0
+mysqltest_innodb_zip t1 Compact {valid} 0
alter table t1 row_format=redundant;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
-test t1 Redundant 16384 0
+mysqltest_innodb_zip t1 Redundant {valid} 0
drop table t1;
create table t1(a int not null, b text, index(b(10))) engine=innodb
key_block_size=1;
@@ -115,35 +116,17 @@ rollback;
select a,left(b,40) from t1 natural join t2;
a left(b,40)
1 1abcdefghijklmnopqrstuvwxyzAAAAAAAAAAAAA
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+analyze table t1;
+Table Op Msg_type Msg_text
+mysqltest_innodb_zip.t1 analyze status OK
+analyze table t2;
+Table Op Msg_type Msg_text
+mysqltest_innodb_zip.t2 analyze status OK
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
-test t1 Compressed 2048 1024
-test t2 Compact 16384 0
+mysqltest_innodb_zip t1 Compressed 2048 1024
+mysqltest_innodb_zip t2 Compact {valid} 0
drop table t1,t2;
-SET SESSION innodb_strict_mode = off;
-CREATE TABLE t1(
-c TEXT NOT NULL, d TEXT NOT NULL,
-PRIMARY KEY (c(767),d(767)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
-ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
-CREATE TABLE t1(
-c TEXT NOT NULL, d TEXT NOT NULL,
-PRIMARY KEY (c(767),d(767)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 CHARSET=ASCII;
-ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
-CREATE TABLE t1(
-c TEXT NOT NULL, d TEXT NOT NULL,
-PRIMARY KEY (c(767),d(767)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4 CHARSET=ASCII;
-drop table t1;
-CREATE TABLE t1(c TEXT, PRIMARY KEY (c(440)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
-ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
-CREATE TABLE t1(c TEXT, PRIMARY KEY (c(438)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
-INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
-DROP TABLE t1;
create table t1( c1 int not null, c2 blob, c3 blob, c4 blob,
primary key(c1, c2(22), c3(22)))
engine = innodb row_format = dynamic;
@@ -193,196 +176,174 @@ drop table t1;
set innodb_strict_mode = on;
create table t1 (id int primary key) engine = innodb key_block_size = 0;
create table t2 (id int primary key) engine = innodb key_block_size = 9;
-ERROR HY000: Can't create table 'test.t2' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: invalid KEY_BLOCK_SIZE = 9. Valid values are [1, 2, 4, 8, 16]
-Error 1005 Can't create table 'test.t2' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t3 (id int primary key) engine = innodb key_block_size = 1;
create table t4 (id int primary key) engine = innodb key_block_size = 2;
create table t5 (id int primary key) engine = innodb key_block_size = 4;
-create table t6 (id int primary key) engine = innodb key_block_size = 8;
-create table t7 (id int primary key) engine = innodb key_block_size = 16;
create table t8 (id int primary key) engine = innodb row_format = compressed;
create table t9 (id int primary key) engine = innodb row_format = dynamic;
create table t10(id int primary key) engine = innodb row_format = compact;
create table t11(id int primary key) engine = innodb row_format = redundant;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
-test t1 Compact 16384 0
-test t10 Compact 16384 0
-test t11 Redundant 16384 0
-test t3 Compressed 1024 0
-test t4 Compressed 2048 0
-test t5 Compressed 4096 0
-test t6 Compressed 8192 0
-test t7 Compressed 16384 0
-test t8 Compressed 8192 0
-test t9 Dynamic 16384 0
-drop table t1, t3, t4, t5, t6, t7, t8, t9, t10, t11;
+mysqltest_innodb_zip t1 Compact {valid} 0
+mysqltest_innodb_zip t10 Compact {valid} 0
+mysqltest_innodb_zip t11 Redundant {valid} 0
+mysqltest_innodb_zip t3 Compressed 1024 0
+mysqltest_innodb_zip t4 Compressed {valid} 0
+mysqltest_innodb_zip t5 Compressed {valid} 0
+mysqltest_innodb_zip t8 Compressed {valid} 0
+mysqltest_innodb_zip t9 Dynamic {valid} 0
+drop table t1, t3, t4, t5, t8, t9, t10, t11;
create table t1 (id int primary key) engine = innodb
-key_block_size = 8 row_format = compressed;
+key_block_size = 4 row_format = compressed;
create table t2 (id int primary key) engine = innodb
-key_block_size = 8 row_format = redundant;
-ERROR HY000: Can't create table 'test.t2' (errno: 1478)
+key_block_size = 4 row_format = redundant;
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t2' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t3 (id int primary key) engine = innodb
-key_block_size = 8 row_format = compact;
-ERROR HY000: Can't create table 'test.t3' (errno: 1478)
+key_block_size = 4 row_format = compact;
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t3` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t3' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t3` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t4 (id int primary key) engine = innodb
-key_block_size = 8 row_format = dynamic;
-ERROR HY000: Can't create table 'test.t4' (errno: 1478)
+key_block_size = 4 row_format = dynamic;
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t4` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t4' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t4` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t5 (id int primary key) engine = innodb
-key_block_size = 8 row_format = default;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+key_block_size = 4 row_format = default;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
-test t1 Compressed 8192 0
-test t5 Compressed 8192 0
+mysqltest_innodb_zip t1 Compressed 4096 0
+mysqltest_innodb_zip t5 Compressed 4096 0
drop table t1, t5;
create table t1 (id int primary key) engine = innodb
key_block_size = 9 row_format = redundant;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t1` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: invalid KEY_BLOCK_SIZE = 9. Valid values are [1, 2, 4, 8, 16]
Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t2 (id int primary key) engine = innodb
key_block_size = 9 row_format = compact;
-ERROR HY000: Can't create table 'test.t2' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: invalid KEY_BLOCK_SIZE = 9. Valid values are [1, 2, 4, 8, 16]
Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t2' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t2 (id int primary key) engine = innodb
key_block_size = 9 row_format = dynamic;
-ERROR HY000: Can't create table 'test.t2' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: invalid KEY_BLOCK_SIZE = 9. Valid values are [1, 2, 4, 8, 16]
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t2' (errno: 1478)
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
set global innodb_file_per_table = off;
create table t1 (id int primary key) engine = innodb key_block_size = 1;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t1` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t2 (id int primary key) engine = innodb key_block_size = 2;
-ERROR HY000: Can't create table 'test.t2' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t2' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t3 (id int primary key) engine = innodb key_block_size = 4;
-ERROR HY000: Can't create table 'test.t3' (errno: 1478)
-show warnings;
-Level Code Message
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t3' (errno: 1478)
-create table t4 (id int primary key) engine = innodb key_block_size = 8;
-ERROR HY000: Can't create table 'test.t4' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t3` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t4' (errno: 1478)
-create table t5 (id int primary key) engine = innodb key_block_size = 16;
-ERROR HY000: Can't create table 'test.t5' (errno: 1478)
-show warnings;
-Level Code Message
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t5' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t3` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t6 (id int primary key) engine = innodb row_format = compressed;
-ERROR HY000: Can't create table 'test.t6' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t6` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t6' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t6` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t7 (id int primary key) engine = innodb row_format = dynamic;
-ERROR HY000: Can't create table 'test.t7' (errno: 1478)
show warnings;
Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Error 1005 Can't create table 'test.t7' (errno: 1478)
create table t8 (id int primary key) engine = innodb row_format = compact;
create table t9 (id int primary key) engine = innodb row_format = redundant;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
-test t8 Compact 16384 0
-test t9 Redundant 16384 0
-drop table t8, t9;
+mysqltest_innodb_zip t7 Dynamic {valid} 0
+mysqltest_innodb_zip t8 Compact {valid} 0
+mysqltest_innodb_zip t9 Redundant {valid} 0
+drop table t7, t8, t9;
set global innodb_file_per_table = on;
set global innodb_file_format = `0`;
create table t1 (id int primary key) engine = innodb key_block_size = 1;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t1` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t1' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t2 (id int primary key) engine = innodb key_block_size = 2;
-ERROR HY000: Can't create table 'test.t2' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t2' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t2` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t3 (id int primary key) engine = innodb key_block_size = 4;
-ERROR HY000: Can't create table 'test.t3' (errno: 1478)
-show warnings;
-Level Code Message
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t3' (errno: 1478)
-create table t4 (id int primary key) engine = innodb key_block_size = 8;
-ERROR HY000: Can't create table 'test.t4' (errno: 1478)
-show warnings;
-Level Code Message
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t4' (errno: 1478)
-create table t5 (id int primary key) engine = innodb key_block_size = 16;
-ERROR HY000: Can't create table 'test.t5' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t3` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t5' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t3` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t6 (id int primary key) engine = innodb row_format = compressed;
-ERROR HY000: Can't create table 'test.t6' (errno: 1478)
+ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t6` (errno: 140 "Wrong create options")
show warnings;
Level Code Message
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t6' (errno: 1478)
+Error 1005 Can't create table `mysqltest_innodb_zip`.`t6` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t7 (id int primary key) engine = innodb row_format = dynamic;
-ERROR HY000: Can't create table 'test.t7' (errno: 1478)
show warnings;
Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.t7' (errno: 1478)
create table t8 (id int primary key) engine = innodb row_format = compact;
create table t9 (id int primary key) engine = innodb row_format = redundant;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
table_schema table_name row_format data_length index_length
-test t8 Compact 16384 0
-test t9 Redundant 16384 0
-drop table t8, t9;
-set global innodb_file_per_table=0;
+mysqltest_innodb_zip t7 Dynamic {valid} 0
+mysqltest_innodb_zip t8 Compact {valid} 0
+mysqltest_innodb_zip t9 Redundant {valid} 0
+drop table t7, t8, t9;
+set global innodb_file_per_table=1;
set global innodb_file_format=Antelope;
set global innodb_file_per_table=on;
set global innodb_file_format=`Barracuda`;
@@ -395,7 +356,7 @@ select @@innodb_file_format_max;
Antelope
create table zip_table (
c1 int
-) engine = innodb key_block_size = 8;
+) engine = innodb key_block_size = 4;
select @@innodb_file_format_max;
@@innodb_file_format_max
Barracuda
@@ -408,3 +369,4 @@ select @@innodb_file_format_max;
@@innodb_file_format_max
Barracuda
drop table normal_table, zip_table;
+DROP DATABASE mysqltest_innodb_zip;
diff --git a/mysql-test/suite/innodb_zip/r/innodb_bug52745.result b/mysql-test/suite/innodb_zip/r/innodb_bug52745.result
index 927ba0e0e53..f4393e8fae0 100644
--- a/mysql-test/suite/innodb_zip/r/innodb_bug52745.result
+++ b/mysql-test/suite/innodb_zip/r/innodb_bug52745.result
@@ -127,4 +127,4 @@ Warning 1265 Data truncated for column 'col79' at row 1
Warning 1264 Out of range value for column 'col84' at row 1
DROP TABLE bug52745;
SET GLOBAL innodb_file_format=Antelope;
-SET GLOBAL innodb_file_per_table=0;
+SET GLOBAL innodb_file_per_table=1;
diff --git a/mysql-test/suite/innodb_zip/r/innodb_bug53591.result b/mysql-test/suite/innodb_zip/r/innodb_bug53591.result
index b0196318801..dbebb9d2d33 100644
--- a/mysql-test/suite/innodb_zip/r/innodb_bug53591.result
+++ b/mysql-test/suite/innodb_zip/r/innodb_bug53591.result
@@ -4,11 +4,10 @@ set old_alter_table=0;
CREATE TABLE bug53591(a text charset utf8 not null)
ENGINE=InnoDB KEY_BLOCK_SIZE=1;
ALTER TABLE bug53591 ADD PRIMARY KEY(a(220));
-ERROR HY000: Too big row
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is {checked_valid}. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
SHOW WARNINGS;
Level Code Message
-Error 139 Too big row
-Error 1118 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is {checked_valid}. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
DROP TABLE bug53591;
SET GLOBAL innodb_file_format=Antelope;
-SET GLOBAL innodb_file_per_table=0;
+SET GLOBAL innodb_file_per_table=1;
diff --git a/mysql-test/suite/innodb_zip/r/innodb_index_large_prefix.result b/mysql-test/suite/innodb_zip/r/innodb_index_large_prefix.result
index f966574506a..a02a4acb740 100644
--- a/mysql-test/suite/innodb_zip/r/innodb_index_large_prefix.result
+++ b/mysql-test/suite/innodb_zip/r/innodb_index_large_prefix.result
@@ -1,11 +1,16 @@
+SET default_storage_engine=InnoDB;
set global innodb_file_format="Barracuda";
set global innodb_file_per_table=1;
set global innodb_large_prefix=1;
-create table worklog5743(a TEXT not null, primary key (a(1000)))
-ROW_FORMAT=DYNAMIC, engine = innodb;
+### Test 1 ###
+create table worklog5743(a TEXT not null, primary key (a(1000))) ROW_FORMAT=DYNAMIC;
+show warnings;
+Level Code Message
insert into worklog5743 values(repeat("a", 20000));
update worklog5743 set a = (repeat("b", 16000));
create index idx on worklog5743(a(2000));
+show warnings;
+Level Code Message
begin;
update worklog5743 set a = (repeat("x", 17000));
select @@session.tx_isolation;
@@ -26,9 +31,13 @@ a = repeat("x", 17000)
1
rollback;
drop table worklog5743;
-create table worklog5743(a1 int, a2 TEXT not null)
-ROW_FORMAT=DYNAMIC, engine = innodb;
+### Test 2 ###
+create table worklog5743(a1 int, a2 TEXT not null) ROW_FORMAT=DYNAMIC;
+show warnings;
+Level Code Message
create index idx on worklog5743(a1, a2(2000));
+show warnings;
+Level Code Message
insert into worklog5743 values(9, repeat("a", 10000));
begin;
update worklog5743 set a1 = 1000;
@@ -49,8 +58,8 @@ select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
a1 a2 = repeat("a", 10000)
rollback;
drop table worklog5743;
-create table worklog5743(a1 int, a2 TEXT not null)
-ROW_FORMAT=DYNAMIC, engine = innodb;
+### Test 3 ###
+create table worklog5743(a1 int, a2 TEXT not null) ROW_FORMAT=DYNAMIC;
create index idx on worklog5743(a1, a2(50));
insert into worklog5743 values(9, repeat("a", 10000));
begin;
@@ -72,48 +81,334 @@ select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
a1 a2 = repeat("a", 10000)
rollback;
drop table worklog5743;
-create table worklog5743_2(a1 int, a2 TEXT not null)
-ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
-create table worklog5743_4(a1 int, a2 TEXT not null)
-ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
-create index idx1 on worklog5743_2(a1, a2(942));
-ERROR HY000: Too big row
-create index idx1 on worklog5743_2(a1, a2(940));
-create index idx1 on worklog5743_4(a1, a2(1966));
-ERROR HY000: Too big row
-create index idx1 on worklog5743_4(a1, a2(1964));
+### Test 4 ###
+create table worklog5743_1(a1 int, a2 TEXT not null) KEY_BLOCK_SIZE=1;
+create table worklog5743_2(a1 int, a2 TEXT not null) KEY_BLOCK_SIZE=2;
+create table worklog5743_4(a1 int, a2 TEXT not null) KEY_BLOCK_SIZE=4;
+create table worklog5743_8(a1 int, a2 TEXT, a3 TEXT) KEY_BLOCK_SIZE=8;
+create table worklog5743_16(a1 int, a2 TEXT, a3 TEXT) KEY_BLOCK_SIZE=16;
+set global innodb_large_prefix=0;
+create index idx1 on worklog5743_1(a2(4000));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 767 bytes
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+set global innodb_large_prefix=1;
+create index idx2 on worklog5743_1(a2(4000));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+create index idx3 on worklog5743_1(a2(436));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+create index idx4 on worklog5743_1(a2(434));
+show warnings;
+Level Code Message
+create index idx5 on worklog5743_1(a1, a2(430));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+create index idx6 on worklog5743_1(a1, a2(428));
+show warnings;
+Level Code Message
+set global innodb_large_prefix=0;
+create index idx1 on worklog5743_2(a2(4000));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 767 bytes
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 767 bytes
+set global innodb_large_prefix=1;
+create index idx2 on worklog5743_2(a2(4000));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+create index idx3 on worklog5743_2(a2(948));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+create index idx4 on worklog5743_2(a2(946));
+show warnings;
+Level Code Message
+create index idx5 on worklog5743_2(a1, a2(942));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+create index idx6 on worklog5743_2(a1, a2(940));
+show warnings;
+Level Code Message
+set global innodb_large_prefix=0;
+create index idx1 on worklog5743_4(a2(4000));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 767 bytes
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 767 bytes
+set global innodb_large_prefix=1;
+create index idx2 on worklog5743_4(a2(4000));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+create index idx3 on worklog5743_4(a2(1972));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+create index idx4 on worklog5743_4(a2(1970));
+show warnings;
+Level Code Message
+create index idx5 on worklog5743_4(a1, a2(1966));
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+show warnings;
+Level Code Message
+Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
+create index idx6 on worklog5743_4(a1, a2(1964));
+show warnings;
+Level Code Message
+set global innodb_large_prefix=0;
+create index idx1 on worklog5743_8(a2(1000));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 767 bytes
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 767 bytes
+set global innodb_large_prefix=1;
+create index idx2 on worklog5743_8(a2(3073));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+create index idx3 on worklog5743_8(a2(3072));
+Warnings:
+Note 1831 Duplicate index `idx3`. This is deprecated and will be disallowed in a future release.
+show warnings;
+Level Code Message
+Note 1831 Duplicate index `idx3`. This is deprecated and will be disallowed in a future release.
+create index idx4 on worklog5743_8(a1, a2(3069));
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+show warnings;
+Level Code Message
+Error 1071 Specified key was too long; max key length is 3072 bytes
+create index idx5 on worklog5743_8(a1, a2(3068));
+show warnings;
+Level Code Message
+create index idx6 on worklog5743_8(a1, a2(2000), a3(1069));
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+show warnings;
+Level Code Message
+Error 1071 Specified key was too long; max key length is 3072 bytes
+create index idx7 on worklog5743_8(a1, a2(2000), a3(1068));
+show warnings;
+Level Code Message
+set global innodb_large_prefix=0;
+create index idx1 on worklog5743_16(a2(1000));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 767 bytes
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 767 bytes
+set global innodb_large_prefix=1;
+create index idx2 on worklog5743_16(a2(3073));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+create index idx3 on worklog5743_16(a2(3072));
+Warnings:
+Note 1831 Duplicate index `idx3`. This is deprecated and will be disallowed in a future release.
+show warnings;
+Level Code Message
+Note 1831 Duplicate index `idx3`. This is deprecated and will be disallowed in a future release.
+create index idx4 on worklog5743_16(a1, a2(3069));
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+show warnings;
+Level Code Message
+Error 1071 Specified key was too long; max key length is 3072 bytes
+create index idx5 on worklog5743_16(a1, a2(3068));
+show warnings;
+Level Code Message
+create index idx6 on worklog5743_16(a1, a2(2000), a3(1069));
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+show warnings;
+Level Code Message
+Error 1071 Specified key was too long; max key length is 3072 bytes
+create index idx7 on worklog5743_16(a1, a2(2000), a3(1068));
+show warnings;
+Level Code Message
+insert into worklog5743_1 values(9, repeat("a", 10000));
insert into worklog5743_2 values(9, repeat("a", 10000));
insert into worklog5743_4 values(9, repeat("a", 10000));
+insert into worklog5743_8 values(9, repeat("a", 10000), repeat("a", 10000));
+insert into worklog5743_16 values(9, repeat("a", 10000), repeat("a", 10000));
+set global innodb_large_prefix=0;
+insert into worklog5743_1 values(2, repeat("b", 10000));
+insert into worklog5743_2 values(2, repeat("b", 10000));
+insert into worklog5743_4 values(2, repeat("b", 10000));
+insert into worklog5743_8 values(2, repeat("b", 10000), repeat("b", 10000));
+insert into worklog5743_16 values(2, repeat("b", 10000), repeat("b", 10000));
+set global innodb_large_prefix=1;
+select a1, left(a2, 20) from worklog5743_1;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
+2 bbbbbbbbbbbbbbbbbbbb
+select a1, left(a2, 20) from worklog5743_2;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
+2 bbbbbbbbbbbbbbbbbbbb
+select a1, left(a2, 20) from worklog5743_4;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
+2 bbbbbbbbbbbbbbbbbbbb
+select a1, left(a2, 20) from worklog5743_8;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
+2 bbbbbbbbbbbbbbbbbbbb
+select a1, left(a2, 20) from worklog5743_16;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
+2 bbbbbbbbbbbbbbbbbbbb
begin;
+update worklog5743_1 set a1 = 1000;
update worklog5743_2 set a1 = 1000;
update worklog5743_4 set a1 = 1000;
+update worklog5743_8 set a1 = 1000;
+update worklog5743_16 set a1 = 1000;
+select a1, left(a2, 20) from worklog5743_1;
+a1 left(a2, 20)
+1000 aaaaaaaaaaaaaaaaaaaa
+1000 bbbbbbbbbbbbbbbbbbbb
+select a1, left(a2, 20) from worklog5743_2;
+a1 left(a2, 20)
+1000 aaaaaaaaaaaaaaaaaaaa
+1000 bbbbbbbbbbbbbbbbbbbb
+select a1, left(a2, 20) from worklog5743_4;
+a1 left(a2, 20)
+1000 aaaaaaaaaaaaaaaaaaaa
+1000 bbbbbbbbbbbbbbbbbbbb
+select a1, left(a2, 20) from worklog5743_8;
+a1 left(a2, 20)
+1000 aaaaaaaaaaaaaaaaaaaa
+1000 bbbbbbbbbbbbbbbbbbbb
+select a1, left(a2, 20) from worklog5743_16;
+a1 left(a2, 20)
+1000 aaaaaaaaaaaaaaaaaaaa
+1000 bbbbbbbbbbbbbbbbbbbb
select @@session.tx_isolation;
@@session.tx_isolation
REPEATABLE-READ
-explain select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
+explain select a1, left(a2, 20) from worklog5743_1 where a1 = 9;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE worklog5743_2 ref idx1 idx1 5 const 1
-select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
-a1 a2 = repeat("a", 10000)
-9 1
-select a1, a2 = repeat("a", 10000) from worklog5743_4 where a1 = 9;
-a1 a2 = repeat("a", 10000)
-9 1
+1 SIMPLE worklog5743_1 ref idx6 idx6 5 const 1
+explain select a1, left(a2, 20) from worklog5743_2 where a1 = 9;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE worklog5743_2 ref idx6 idx6 5 const 1
+explain select a1, left(a2, 20) from worklog5743_4 where a1 = 9;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE worklog5743_4 ref idx6 idx6 5 const 1
+explain select a1, left(a2, 20) from worklog5743_8 where a1 = 9;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE worklog5743_8 ref idx5,idx7 idx5 5 const 1
+explain select a1, left(a2, 20) from worklog5743_16 where a1 = 9;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE worklog5743_16 ref idx5,idx7 idx5 5 const 1
+select a1, left(a2, 20) from worklog5743_1 where a1 = 9;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
+select a1, left(a2, 20) from worklog5743_2 where a1 = 9;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
+select a1, left(a2, 20) from worklog5743_4 where a1 = 9;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
+select a1, left(a2, 20) from worklog5743_8 where a1 = 9;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
+select a1, left(a2, 20) from worklog5743_16 where a1 = 9;
+a1 left(a2, 20)
+9 aaaaaaaaaaaaaaaaaaaa
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
select @@session.tx_isolation;
@@session.tx_isolation
READ-UNCOMMITTED
-select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
-a1 a2 = repeat("a", 10000)
-select a1, a2 = repeat("a", 10000) from worklog5743_4 where a1 = 9;
-a1 a2 = repeat("a", 10000)
+select a1, left(a2, 20) from worklog5743_1 where a1 = 9;
+a1 left(a2, 20)
+select a1, left(a2, 20) from worklog5743_2 where a1 = 9;
+a1 left(a2, 20)
+select a1, left(a2, 20) from worklog5743_4 where a1 = 9;
+a1 left(a2, 20)
+select a1, left(a2, 20) from worklog5743_8 where a1 = 9;
+a1 left(a2, 20)
+select a1, left(a2, 20) from worklog5743_16 where a1 = 9;
+a1 left(a2, 20)
rollback;
+drop table worklog5743_1;
drop table worklog5743_2;
drop table worklog5743_4;
-create table worklog5743(a1 int, a2 varchar(3000))
-ROW_FORMAT=DYNAMIC, engine = innodb;
-create index idx on worklog5743(a1, a2);
-insert into worklog5743 values(9, repeat("a", 3000));
+drop table worklog5743_8;
+drop table worklog5743_16;
+### Test 5 ###
+create table worklog5743(a1 int,
+a2 varchar(20000),
+a3 varchar(3073),
+a4 varchar(3072),
+a5 varchar(3069),
+a6 varchar(3068))
+ROW_FORMAT=DYNAMIC;
+create index idx1 on worklog5743(a2);
+Warnings:
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+create index idx2 on worklog5743(a3);
+Warnings:
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+create index idx3 on worklog5743(a4);
+show warnings;
+Level Code Message
+create index idx4 on worklog5743(a1, a2);
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+show warnings;
+Level Code Message
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+Error 1071 Specified key was too long; max key length is 3072 bytes
+create index idx5 on worklog5743(a1, a5);
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+show warnings;
+Level Code Message
+Error 1071 Specified key was too long; max key length is 3072 bytes
+create index idx6 on worklog5743(a1, a6);
+show warnings;
+Level Code Message
+show create table worklog5743;
+Table Create Table
+worklog5743 CREATE TABLE `worklog5743` (
+ `a1` int(11) DEFAULT NULL,
+ `a2` varchar(20000) DEFAULT NULL,
+ `a3` varchar(3073) DEFAULT NULL,
+ `a4` varchar(3072) DEFAULT NULL,
+ `a5` varchar(3069) DEFAULT NULL,
+ `a6` varchar(3068) DEFAULT NULL,
+ KEY `idx1` (`a2`(3072)),
+ KEY `idx2` (`a3`(3072)),
+ KEY `idx3` (`a4`),
+ KEY `idx6` (`a1`,`a6`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+insert into worklog5743 values(9,
+repeat("a", 20000), repeat("a", 3073),
+repeat("a", 3072), repeat("a", 3069),
+repeat("a", 3068));
begin;
update worklog5743 set a1 = 1000;
select @@session.tx_isolation;
@@ -121,7 +416,7 @@ select @@session.tx_isolation;
REPEATABLE-READ
explain select a1 from worklog5743 where a1 = 9;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE worklog5743 ref idx idx 5 const 1 Using index
+1 SIMPLE worklog5743 ref idx6 idx6 5 const 1 Using index
select a1 from worklog5743 where a1 = 9;
a1
9
@@ -133,13 +428,13 @@ select a1 from worklog5743 where a1 = 9;
a1
rollback;
drop table worklog5743;
-create table worklog5743(a TEXT not null, primary key (a(1000)))
-engine = innodb;
+### Test 6 ###
+create table worklog5743(a TEXT not null, primary key (a(1000)));
ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
-create table worklog5743(a TEXT) engine = innodb;
-create index idx on worklog5743(a(1000));
+create table worklog5743(a TEXT);
+create index idx on worklog5743(a(768));
ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
-create index idx on worklog5743(a(725));
+create index idx on worklog5743(a(767));
insert into worklog5743 values(repeat("a", 20000));
begin;
insert into worklog5743 values(repeat("b", 20000));
@@ -160,25 +455,32 @@ a = repeat("x", 25000)
1
rollback;
drop table worklog5743;
-create table worklog5743(a TEXT not null) ROW_FORMAT=DYNAMIC, engine = innodb;
-create index idx on worklog5743(a(3073));
+### Test 7 ###
+create table worklog5743(a TEXT not null) ROW_FORMAT=DYNAMIC;
+create index idx1 on worklog5743(a(3073));
Warnings:
Warning 1071 Specified key was too long; max key length is 3072 bytes
-Warning 1071 Specified key was too long; max key length is 3072 bytes
create index idx2 on worklog5743(a(3072));
+Warnings:
+Note 1831 Duplicate index `idx2`. This is deprecated and will be disallowed in a future release.
show create table worklog5743;
Table Create Table
worklog5743 CREATE TABLE `worklog5743` (
`a` text NOT NULL,
- KEY `idx` (`a`(3072)),
+ KEY `idx1` (`a`(3072)),
KEY `idx2` (`a`(3072))
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
drop table worklog5743;
-create table worklog5743(a TEXT not null) engine = innodb;
+create table worklog5743(a TEXT not null) ROW_FORMAT=REDUNDANT;
+create index idx on worklog5743(a(768));
+ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
+create index idx2 on worklog5743(a(767));
+drop table worklog5743;
+create table worklog5743(a TEXT not null) ROW_FORMAT=COMPACT;
create index idx on worklog5743(a(768));
ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
create index idx2 on worklog5743(a(767));
drop table worklog5743;
SET GLOBAL innodb_file_format=Antelope;
-SET GLOBAL innodb_file_per_table=0;
+SET GLOBAL innodb_file_per_table=1;
SET GLOBAL innodb_large_prefix=0;
diff --git a/mysql-test/suite/innodb_zip/r/innodb_prefix_index_liftedlimit.result b/mysql-test/suite/innodb_zip/r/innodb_prefix_index_liftedlimit.result
index 0c68c8a6975..474d36ea044 100644
--- a/mysql-test/suite/innodb_zip/r/innodb_prefix_index_liftedlimit.result
+++ b/mysql-test/suite/innodb_zip/r/innodb_prefix_index_liftedlimit.result
@@ -31,6 +31,11 @@ SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
col_1_varchar = REPEAT("c", 4000)
0
1
+ALTER TABLE worklog5743 ROW_FORMAT=REDUNDANT;
+ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
+ALTER TABLE worklog5743 ROW_FORMAT=COMPACT;
+ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
+ALTER TABLE worklog5743 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
DROP TABLE worklog5743;
CREATE TABLE worklog5743 (
col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
@@ -539,13 +544,15 @@ col_1_blob = REPEAT("c", 4000)
DROP TABLE worklog5743_key8;
CREATE TABLE worklog5743 (
col_1_varbinary VARBINARY (4000) , col_2_varchar VARCHAR (4000) ,
-col_3_text TEXT (4000), col_4_blob BLOB (4000),col_5_text TEXT (4000),
+col_3_text TEXT (4000), col_4_blob BLOB (4000), col_5_text TEXT (4000),
col_6_varchar VARCHAR (4000), col_7_binary BINARY (255)
) ROW_FORMAT=DYNAMIC, engine = innodb;
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
REPEAT("a", 4000) , REPEAT("a", 255)
);
+CREATE INDEX prefix_idx1 ON worklog5743(col_1_varbinary (3072));
+CREATE INDEX prefix_idx2 ON worklog5743(col_2_varchar (3072));
INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000),
REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
REPEAT("a", 4000) , REPEAT("a", 255)
@@ -570,6 +577,19 @@ SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
col_1_varbinary = REPEAT("c", 4000)
1
0
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+CREATE INDEX prefix_idx3 ON worklog5743(col_3_text (3072));
+CREATE INDEX prefix_idx4 ON worklog5743(col_4_blob (3072));
+CREATE INDEX prefix_idx5 ON worklog5743(col_5_text (3072));
+BEGIN;
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SHOW WARNINGS;
+Level Code Message
+ROLLBACK;
DROP TABLE worklog5743;
CREATE TABLE worklog5743 (
col_1_varbinary VARBINARY (4000) , col_2_varchar VARCHAR (4000) ,
@@ -607,6 +627,13 @@ REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
REPEAT("a", 4000) , REPEAT("a", 255)
);
ROLLBACK;
+BEGIN;
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+SHOW WARNINGS;
+Level Code Message
+ROLLBACK;
SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
WHERE col_1_varbinary = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
col_1_varbinary = REPEAT("c", 4000)
@@ -873,6 +900,7 @@ SELECT COUNT(*) FROM worklog5743;
COUNT(*)
1
COMMIT;
+"Disconnect the connections 1 and 2"
DROP TABLE worklog5743;
CREATE TABLE worklog5743 (
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
@@ -1172,7 +1200,6 @@ DROP INDEX prefix_idx ON worklog5743;
CREATE INDEX prefix_idx ON worklog5743(col_1_varbinary (4000));
Warnings:
Warning 1071 Specified key was too long; max key length is 3072 bytes
-Warning 1071 Specified key was too long; max key length is 3072 bytes
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
SELECT col_1_varbinary = REPEAT("a", 4000) FROM worklog5743;
col_1_varbinary = REPEAT("a", 4000)
@@ -1230,7 +1257,6 @@ DROP INDEX prefix_idx ON worklog5743;
CREATE INDEX prefix_idx ON worklog5743(col_1_text (4000));
Warnings:
Warning 1071 Specified key was too long; max key length is 3072 bytes
-Warning 1071 Specified key was too long; max key length is 3072 bytes
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
col_1_text = REPEAT("a", 4000)
@@ -1288,7 +1314,7 @@ AND col_2_text = REPEAT("o", 4000);
col_1_text = REPEAT("c", 4000)
ALTER TABLE worklog5743 DROP PRIMARY KEY;
ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_text (950));
-ERROR HY000: Too big row
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
col_1_text = REPEAT("a", 4000)
@@ -1343,11 +1369,22 @@ CREATE TABLE worklog5743 (
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
PRIMARY KEY (col_1_varchar(767))
) engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT('a',4000),REPEAT('b',4000));
CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (1000));
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 1
Warnings:
Warning 1071 Specified key was too long; max key length is 767 bytes
-Warning 1071 Specified key was too long; max key length is 767 bytes
+ALTER TABLE worklog5743 ROW_FORMAT=REDUNDANT;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+SHOW CREATE TABLE worklog5743;
+Table Create Table
+worklog5743 CREATE TABLE `worklog5743` (
+ `col_1_varchar` varchar(4000) NOT NULL,
+ `col_2_varchar` varchar(4000) DEFAULT NULL,
+ PRIMARY KEY (`col_1_varchar`(767)),
+ KEY `prefix_idx` (`col_1_varchar`(767))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
DROP TABLE worklog5743;
-SET GLOBAL innodb_file_format=Antelope;
-SET GLOBAL innodb_file_per_table=0;
-SET GLOBAL innodb_large_prefix=0;
+"Disconnect the connection 1"
diff --git a/mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result b/mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result
new file mode 100644
index 00000000000..a751736aba6
--- /dev/null
+++ b/mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result
@@ -0,0 +1,566 @@
+call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
+call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* because the .ibd file is missing. Please refer to .* for how to resolve the issue.");
+call mtr.add_suppression("InnoDB: Page 0 at offset 0 looks corrupted in file .*");
+call mtr.add_suppression("InnoDB: Page for tablespace ");
+call mtr.add_suppression("InnoDB: Invalid FSP_SPACE_FLAGS=0x");
+FLUSH TABLES;
+SET GLOBAL innodb_file_per_table=1;
+SET GLOBAL innodb_file_format=Barracuda;
+SET SESSION innodb_strict_mode=1;
+CREATE DATABASE test_wl5522;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+INSERT INTO test_wl5522.t1 VALUES (1), (2), (3), (4);
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+INSERT INTO test_wl5522.t1 VALUES (1);
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
+SELECT * FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Lost connection to MySQL server during query
+SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Lost connection to MySQL server during query
+unlink: t1.ibd
+unlink: t1.cfg
+# Restart and reconnect to the server
+DROP TABLE test_wl5522.t1;
+SET SESSION innodb_strict_mode=1;
+SET @file_per_table = @@GLOBAL.innodb_file_per_table;
+SET @file_format = @@GLOBAL.innodb_file_format;
+SET GLOBAL innodb_file_per_table=1;
+SET GLOBAL innodb_file_format=Barracuda;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE test_wl5522.t1;
+Table Op Msg_type Msg_text
+test_wl5522.t1 check status OK
+SELECT COUNT(*) FROM test_wl5522.t1;
+COUNT(*)
+4
+INSERT INTO test_wl5522.t1 VALUES(400), (500), (600);
+SELECT * FROM test_wl5522.t1;
+c1
+1
+2
+3
+4
+400
+500
+600
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,ib_import_internal_error";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: While updating the <space, root page number> of index "GEN_CLUST_INDEX" - Generic error
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_reset_space_and_lsn_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Too many concurrent transactions
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug=@saved_debug_dbug;
+SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Got error 44 't1.ibd
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_check_bitmap_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_cluster_root_adjust_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_cluster_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_sec_root_adjust_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_set_max_rowid_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+unlink: t1.ibd
+unlink: t1.cfg
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (
+c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 BIGINT,
+c3 VARCHAR(2048),
+c4 VARCHAR(2048),
+INDEX idx1(c2),
+INDEX idx2(c3(512)),
+INDEX idx3(c4(512))) Engine=InnoDB
+ROW_FORMAT=COMPRESSED;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+SET GLOBAL innodb_disable_background_merge=ON;
+SET GLOBAL innodb_monitor_reset = ibuf_merges;
+SET GLOBAL innodb_monitor_reset = ibuf_merges_insert;
+INSERT INTO test_wl5522.t1(c2, c3, c4) VALUES
+(1, REPEAT('a', 2048), REPEAT('a', 2048)),
+(2, REPEAT('b', 2048), REPEAT('b', 2048)),
+(3, REPEAT('c', 2048), REPEAT('c', 2048)),
+(4, REPEAT('d', 2048), REPEAT('d', 2048));
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+DELETE FROM test_wl5522.t1 WHERE c2 = 1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c3 = REPEAT("c2", 1024);
+UPDATE test_wl5522.t1 SET c4 = REPEAT("c4", 1024);
+SHOW CREATE TABLE test_wl5522.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL AUTO_INCREMENT,
+ `c2` bigint(20) DEFAULT NULL,
+ `c3` varchar(2048) DEFAULT NULL,
+ `c4` varchar(2048) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx1` (`c2`),
+ KEY `idx2` (`c3`(512)),
+ KEY `idx3` (`c4`(512))
+) ENGINE=InnoDB AUTO_INCREMENT=248 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+SELECT c1, c2 FROM test_wl5522.t1;
+c1 c2
+2 32
+3 48
+4 64
+6 92
+7 108
+8 124
+13 197
+14 213
+15 229
+17 257
+18 273
+19 289
+28 422
+29 438
+30 454
+32 482
+33 498
+34 514
+36 542
+37 558
+38 574
+40 602
+41 618
+42 634
+59 887
+60 903
+61 919
+63 947
+64 963
+65 979
+67 1007
+68 1023
+69 1039
+71 1067
+72 1083
+73 1099
+75 1127
+76 1143
+77 1159
+79 1187
+80 1203
+81 1219
+83 1247
+84 1263
+85 1279
+87 1307
+88 1323
+89 1339
+122 1832
+123 1848
+124 1864
+126 1892
+127 1908
+128 1924
+130 1952
+131 1968
+132 1984
+134 2012
+135 2028
+136 2044
+138 2072
+139 2088
+140 2104
+142 2132
+143 2148
+144 2164
+146 2192
+147 2208
+148 2224
+150 2252
+151 2268
+152 2284
+154 2312
+155 2328
+156 2344
+158 2372
+159 2388
+160 2404
+162 2432
+163 2448
+164 2464
+166 2492
+167 2508
+168 2524
+170 2552
+171 2568
+172 2584
+174 2612
+175 2628
+176 2644
+178 2672
+179 2688
+180 2704
+182 2732
+183 2748
+184 2764
+SELECT COUNT(*) FROM test_wl5522.t1;
+COUNT(*)
+96
+SELECT SUM(c2) FROM test_wl5522.t1;
+SUM(c2)
+145278
+SELECT name
+FROM information_schema.innodb_metrics
+WHERE name = 'ibuf_merges_insert' AND count = 0;
+name
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+SELECT name
+FROM information_schema.innodb_metrics
+WHERE name = 'ibuf_merges' AND count > 0;
+name
+ibuf_merges
+SELECT name
+FROM information_schema.innodb_metrics
+WHERE name = 'ibuf_merges_inserts' AND count > 0;
+name
+SET GLOBAL innodb_disable_background_merge=OFF;
+COMMIT;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (
+c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+c2 BIGINT,
+c3 VARCHAR(2048),
+c4 VARCHAR(2048),
+INDEX idx1(c2),
+INDEX idx2(c3(512)),
+INDEX idx3(c4(512))) Engine=InnoDB
+ROW_FORMAT=COMPRESSED;
+SELECT c1, c2 FROM test_wl5522.t1;
+c1 c2
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+restore: t1 .ibd and .cfg files
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE test_wl5522.t1;
+Table Op Msg_type Msg_text
+test_wl5522.t1 check status OK
+SELECT c1,c2 FROM test_wl5522.t1;
+c1 c2
+2 32
+3 48
+4 64
+6 92
+7 108
+8 124
+13 197
+14 213
+15 229
+17 257
+18 273
+19 289
+28 422
+29 438
+30 454
+32 482
+33 498
+34 514
+36 542
+37 558
+38 574
+40 602
+41 618
+42 634
+59 887
+60 903
+61 919
+63 947
+64 963
+65 979
+67 1007
+68 1023
+69 1039
+71 1067
+72 1083
+73 1099
+75 1127
+76 1143
+77 1159
+79 1187
+80 1203
+81 1219
+83 1247
+84 1263
+85 1279
+87 1307
+88 1323
+89 1339
+122 1832
+123 1848
+124 1864
+126 1892
+127 1908
+128 1924
+130 1952
+131 1968
+132 1984
+134 2012
+135 2028
+136 2044
+138 2072
+139 2088
+140 2104
+142 2132
+143 2148
+144 2164
+146 2192
+147 2208
+148 2224
+150 2252
+151 2268
+152 2284
+154 2312
+155 2328
+156 2344
+158 2372
+159 2388
+160 2404
+162 2432
+163 2448
+164 2464
+166 2492
+167 2508
+168 2524
+170 2552
+171 2568
+172 2584
+174 2612
+175 2628
+176 2644
+178 2672
+179 2688
+180 2704
+182 2732
+183 2748
+184 2764
+SELECT COUNT(*) FROM test_wl5522.t1;
+COUNT(*)
+96
+SELECT SUM(c2) FROM test_wl5522.t1;
+SUM(c2)
+145278
+SHOW CREATE TABLE test_wl5522.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL AUTO_INCREMENT,
+ `c2` bigint(20) DEFAULT NULL,
+ `c3` varchar(2048) DEFAULT NULL,
+ `c4` varchar(2048) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `idx1` (`c2`),
+ KEY `idx2` (`c3`(512)),
+ KEY `idx3` (`c4`(512))
+) ENGINE=InnoDB AUTO_INCREMENT=185 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+INSERT IGNORE INTO test_wl5522.t1 VALUES
+(100, REPEAT('Karanbir', 899), REPEAT('Ajeeth', 1200));
+Warnings:
+Warning 1265 Data truncated for column 'c2' at row 1
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+SELECT COUNT(*) FROM test_wl5522.t1;
+COUNT(*)
+256
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+backup: t1
+UNLOCK TABLES;
+DROP TABLE test_wl5522.t1;
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_1";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,buf_page_import_corrupt_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_2";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Index corrupt: Externally stored column(5) has a reference length of 19 in the cluster index "GEN_CLUST_INDEX"
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_3";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Incorrect key file for table 't1'; try to repair it
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug="+d,ib_import_create_index_failure_1";
+ALTER TABLE test_wl5522.t1 ADD INDEX idx(c1);
+Warnings:
+Warning 1814 Tablespace has been discarded for table 't1'
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,fil_space_create_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Got error 11 't1.ibd
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,dict_tf_to_fsp_flags_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Got error 39 't1.ibd
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+SELECT COUNT(*) FROM test_wl5522.t1;
+ERROR HY000: Tablespace has been discarded for table 't1'
+restore: t1 .ibd and .cfg files
+SET SESSION debug_dbug="+d,fsp_flags_is_valid_failure";
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
+SET SESSION debug_dbug=@saved_debug_dbug;
+DROP TABLE test_wl5522.t1;
+unlink: t1.ibd
+unlink: t1.cfg
+DROP DATABASE test_wl5522;
+set global innodb_monitor_disable = all;
+set global innodb_monitor_reset_all = all;
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+SET GLOBAL innodb_file_per_table = @file_per_table;
+SET GLOBAL innodb_file_format = @file_format;
diff --git a/mysql-test/suite/innodb_zip/t/innodb-create-options.test b/mysql-test/suite/innodb_zip/t/innodb-create-options.test
index 3215002a37c..282b588c841 100644
--- a/mysql-test/suite/innodb_zip/t/innodb-create-options.test
+++ b/mysql-test/suite/innodb_zip/t/innodb-create-options.test
@@ -1,4 +1,4 @@
---source include/have_innodb.inc
+--source include/innodb_page_size_small.inc
# Tests for various combinations of ROW_FORMAT and KEY_BLOCK_SIZE
# Related bugs;
# Bug#54679: ALTER TABLE causes compressed row_format to revert to compact
@@ -55,8 +55,12 @@
# ignore all non-zero KEY_BLOCK_SIZEs.
#
# See InnoDB documentation page "SQL Compression Syntax Warnings and Errors"
+# This test case does not try to create tables with KEY_BLOCK_SIZE > 4
+# since they are rejected for InnoDB page sizes of 8k and 16k.
+# See innodb_16k and innodb_8k for those tests.
-SET storage_engine=InnoDB;
+-- source include/have_innodb.inc
+SET default_storage_engine=InnoDB;
--disable_query_log
# These values can change during the test
@@ -76,8 +80,10 @@ SET SESSION innodb_strict_mode = ON;
DROP TABLE IF EXISTS t1;
--echo # 'FIXED' is sent to InnoDB since it is used by MyISAM.
--echo # But it is an invalid mode in InnoDB
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
CREATE TABLE t1 ( i INT ) ROW_FORMAT=FIXED;
+--replace_regex / - .*[0-9]*[)]/)/
SHOW WARNINGS;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=0;
SHOW WARNINGS;
@@ -94,10 +100,8 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=0;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
@@ -106,23 +110,29 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
--echo # Test 2) StrictMode=ON, CREATE with each ROW_FORMAT & a valid non-zero KEY_BLOCK_SIZE
--echo # KEY_BLOCK_SIZE is incompatible with COMPACT, REDUNDANT, & DYNAMIC
DROP TABLE IF EXISTS t1;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=1;
+--replace_regex / - .*[0-9]*[)]/)/
SHOW WARNINGS;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
+--replace_regex / - .*[0-9]*[)]/)/
SHOW WARNINGS;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
+--replace_regex / - .*[0-9]*[)]/)/
SHOW WARNINGS;
-CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
ALTER TABLE t1 ADD COLUMN f1 INT;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
ALTER TABLE t1 ADD COLUMN f1 INT;
@@ -133,27 +143,19 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
--echo # Test 3) StrictMode=ON, ALTER with each ROW_FORMAT & a valid non-zero KEY_BLOCK_SIZE
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT );
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=1;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=2;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=8;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_ILLEGAL_HA_CREATE_OPTION
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
-ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
@@ -165,31 +167,25 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 KEY_BLOCK_SIZE=2;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 KEY_BLOCK_SIZE=4;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-ALTER TABLE t1 KEY_BLOCK_SIZE=8;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_ILLEGAL_HA_CREATE_OPTION
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
-ALTER TABLE t1 KEY_BLOCK_SIZE=16;
+ALTER TABLE t1 KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
DROP TABLE IF EXISTS t1;
@@ -205,20 +201,14 @@ CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=2;
SHOW CREATE TABLE t1;
ALTER TABLE t1 ADD COLUMN f1 INT;
SHOW CREATE TABLE t1;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 ROW_FORMAT=COMPACT;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
SHOW WARNINGS;
@@ -232,8 +222,10 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
--echo # Test 6) StrictMode=ON, CREATE with an invalid KEY_BLOCK_SIZE.
DROP TABLE IF EXISTS t1;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=9;
+--replace_regex / - .*[0-9]*[)]/)/
SHOW WARNINGS;
--echo # Test 7) StrictMode=ON, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and
@@ -241,15 +233,21 @@ SHOW WARNINGS;
--echo # and that they can be set to default values during strict mode.
SET GLOBAL innodb_file_format=Antelope;
DROP TABLE IF EXISTS t1;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=4;
+--replace_regex / - .*[0-9]*[)]/)/
SHOW WARNINGS;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
+--replace_regex / - .*[0-9]*[)]/)/
SHOW WARNINGS;
---error ER_CANT_CREATE_TABLE
+--replace_regex / - .*[0-9]*[)]/)/
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
@@ -260,29 +258,20 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-ALTER TABLE t1 KEY_BLOCK_SIZE=8;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_ILLEGAL_HA_CREATE_OPTION
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
SET GLOBAL innodb_file_format=Barracuda;
-DROP TABLE IF EXISTS t1;
+DROP TABLE t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
SET GLOBAL innodb_file_format=Antelope;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
ALTER TABLE t1 ADD COLUMN f1 INT;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW CREATE TABLE t1;
SHOW WARNINGS;
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
SHOW WARNINGS;
@@ -296,15 +285,20 @@ SET GLOBAL innodb_file_format=Barracuda;
--echo # values during strict mode.
SET GLOBAL innodb_file_per_table=OFF;
DROP TABLE IF EXISTS t1;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
-CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=16;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=1;
+--replace_regex / - .*[0-9]*[)]/)/
SHOW WARNINGS;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
+--replace_regex / - .*[0-9]*[)]/)/
SHOW WARNINGS;
---error ER_CANT_CREATE_TABLE
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
@@ -315,21 +309,15 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 KEY_BLOCK_SIZE=1;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
+--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
ALTER TABLE t1 ROW_FORMAT=COMPACT;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
@@ -343,10 +331,7 @@ SET GLOBAL innodb_file_per_table=ON;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
SET GLOBAL innodb_file_per_table=OFF;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
ALTER TABLE t1 ADD COLUMN f1 INT;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
SHOW WARNINGS;
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
SHOW WARNINGS;
@@ -400,14 +385,14 @@ CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
ALTER TABLE t1 ADD COLUMN f1 INT;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
ALTER TABLE t1 ADD COLUMN f1 INT;
@@ -433,12 +418,12 @@ SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT );
-ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=8;
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT );
-ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
@@ -467,14 +452,14 @@ SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
-ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=8;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=2;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
--echo # Test 13) StrictMode=OFF, CREATE with a valid KEY_BLOCK_SIZE
--echo # ALTER with each ROW_FORMAT
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=16;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=1;
SHOW WARNINGS;
SHOW CREATE TABLE t1;
ALTER TABLE t1 ADD COLUMN f1 INT;
@@ -499,7 +484,8 @@ ALTER TABLE t1 ROW_FORMAT=COMPACT;
SHOW WARNINGS;
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
---echo # Test 14) StrictMode=OFF, CREATE with an invalid KEY_BLOCK_SIZE, it defaults to 8
+--echo # Test 14) StrictMode=OFF, CREATE with an invalid KEY_BLOCK_SIZE,
+--echo # it defaults to half of the page size.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=15;
SHOW WARNINGS;
diff --git a/mysql-test/suite/innodb_zip/t/innodb-zip.test b/mysql-test/suite/innodb_zip/t/innodb-zip.test
index 73601dbe7dc..e9bac78f99e 100644
--- a/mysql-test/suite/innodb_zip/t/innodb-zip.test
+++ b/mysql-test/suite/innodb_zip/t/innodb-zip.test
@@ -1,13 +1,24 @@
--- source include/have_innodb.inc
+--source include/innodb_page_size_small.inc
+CREATE DATABASE mysqltest_innodb_zip;
+USE mysqltest_innodb_zip;
+SELECT table_name, row_format, data_length, index_length
+ FROM information_schema.tables
+ WHERE table_schema='mysqltest_innodb_zip';
let $per_table=`select @@innodb_file_per_table`;
let $format=`select @@innodb_file_format`;
-let $innodb_strict_mode_orig=`select @@session.innodb_strict_mode`;
+let $innodb_file_format_orig=`select @@innodb_file_format`;
+let $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
+SET @save_innodb_stats_on_metadata=@@global.innodb_stats_on_metadata;
+
+
+--let $query_i_s = SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql'
set session innodb_strict_mode=0;
set global innodb_file_per_table=off;
set global innodb_file_format=`0`;
+SET @@global.innodb_stats_on_metadata=ON;
create table t0(a int primary key) engine=innodb row_format=compressed;
create table t00(a int primary key) engine=innodb
@@ -39,20 +50,20 @@ create table t13(a int primary key) engine=innodb
row_format=compressed;
create table t14(a int primary key) engine=innodb key_block_size=9;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+--replace_result 16384 {valid} 8192 {valid} 4096 {valid} 2048 {valid}
+--eval $query_i_s
drop table t0,t00,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14;
alter table t1 key_block_size=0;
alter table t1 row_format=dynamic;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+--replace_result 16384 {valid} 8192 {valid} 4096 {valid}
+--eval $query_i_s
alter table t1 row_format=compact;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+--replace_result 16384 {valid} 8192 {valid} 4096 {valid}
+--eval $query_i_s
alter table t1 row_format=redundant;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+--replace_result 16384 {valid} 8192 {valid} 4096 {valid}
+--eval $query_i_s
drop table t1;
create table t1(a int not null, b text, index(b(10))) engine=innodb
@@ -64,8 +75,8 @@ insert into t2 values(concat('1abcdefghijklmnopqrstuvwxyz', repeat('A',5000)));
insert into t1 select 1, b from t2;
commit;
-connect (a,localhost,root,,);
-connect (b,localhost,root,,);
+connect (a,localhost,root,,mysqltest_innodb_zip);
+connect (b,localhost,root,,mysqltest_innodb_zip);
connection a;
begin;
@@ -84,35 +95,15 @@ connection default;
disconnect a;
disconnect b;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+analyze table t1;
+analyze table t2;
+--replace_result 16384 {valid} 12288 {valid}
+--eval $query_i_s
drop table t1,t2;
-# The following should fail in non-strict mode too.
-# (The fix of Bug #50945 only affects REDUNDANT and COMPACT tables.)
-SET SESSION innodb_strict_mode = off;
---error ER_TOO_BIG_ROWSIZE
-CREATE TABLE t1(
- c TEXT NOT NULL, d TEXT NOT NULL,
- PRIMARY KEY (c(767),d(767)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
---error ER_TOO_BIG_ROWSIZE
-CREATE TABLE t1(
- c TEXT NOT NULL, d TEXT NOT NULL,
- PRIMARY KEY (c(767),d(767)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 CHARSET=ASCII;
-CREATE TABLE t1(
- c TEXT NOT NULL, d TEXT NOT NULL,
- PRIMARY KEY (c(767),d(767)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4 CHARSET=ASCII;
-drop table t1;
---error ER_TOO_BIG_ROWSIZE
-CREATE TABLE t1(c TEXT, PRIMARY KEY (c(440)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
-CREATE TABLE t1(c TEXT, PRIMARY KEY (c(438)))
-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
-INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
-DROP TABLE t1;
+#
+# Bug #50945 moved to innodb_16k.test, innodb_8k.test, & innodb_4k.test
+#
#
# Test blob column inheritance (mantis issue#36)
@@ -178,16 +169,20 @@ set innodb_strict_mode = on;
create table t1 (id int primary key) engine = innodb key_block_size = 0;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t2 (id int primary key) engine = innodb key_block_size = 9;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
create table t3 (id int primary key) engine = innodb key_block_size = 1;
create table t4 (id int primary key) engine = innodb key_block_size = 2;
create table t5 (id int primary key) engine = innodb key_block_size = 4;
-create table t6 (id int primary key) engine = innodb key_block_size = 8;
-create table t7 (id int primary key) engine = innodb key_block_size = 16;
+# These tests are now done in innodb_16k, innodb_8k and innodb_4k
+# where they get different result depending on page size
+# create table t6 (id int primary key) engine = innodb key_block_size = 8;
+# create table t7 (id int primary key) engine = innodb key_block_size = 16;
#check various ROW_FORMAT values.
create table t8 (id int primary key) engine = innodb row_format = compressed;
@@ -195,117 +190,134 @@ create table t9 (id int primary key) engine = innodb row_format = dynamic;
create table t10(id int primary key) engine = innodb row_format = compact;
create table t11(id int primary key) engine = innodb row_format = redundant;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
-drop table t1, t3, t4, t5, t6, t7, t8, t9, t10, t11;
+--replace_result 16384 {valid} 8192 {valid} 4096 {valid} 2048 {valid}
+--eval $query_i_s
+drop table t1, t3, t4, t5, t8, t9, t10, t11;
#test different values of ROW_FORMAT with KEY_BLOCK_SIZE
create table t1 (id int primary key) engine = innodb
-key_block_size = 8 row_format = compressed;
+key_block_size = 4 row_format = compressed;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t2 (id int primary key) engine = innodb
-key_block_size = 8 row_format = redundant;
+key_block_size = 4 row_format = redundant;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t3 (id int primary key) engine = innodb
-key_block_size = 8 row_format = compact;
+key_block_size = 4 row_format = compact;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t4 (id int primary key) engine = innodb
-key_block_size = 8 row_format = dynamic;
+key_block_size = 4 row_format = dynamic;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
create table t5 (id int primary key) engine = innodb
-key_block_size = 8 row_format = default;
+key_block_size = 4 row_format = default;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+--eval $query_i_s
drop table t1, t5;
#test multiple errors
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t1 (id int primary key) engine = innodb
key_block_size = 9 row_format = redundant;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t2 (id int primary key) engine = innodb
key_block_size = 9 row_format = compact;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t2 (id int primary key) engine = innodb
key_block_size = 9 row_format = dynamic;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
+--eval $query_i_s
#test valid values with innodb_file_per_table unset
set global innodb_file_per_table = off;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t1 (id int primary key) engine = innodb key_block_size = 1;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t2 (id int primary key) engine = innodb key_block_size = 2;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t3 (id int primary key) engine = innodb key_block_size = 4;
show warnings;
---error ER_CANT_CREATE_TABLE
-create table t4 (id int primary key) engine = innodb key_block_size = 8;
-show warnings;
---error ER_CANT_CREATE_TABLE
-create table t5 (id int primary key) engine = innodb key_block_size = 16;
-show warnings;
+
+# Tests for key_block_size = 8 and 16 were moved to innodb_16k, innodb_8k
+# and innodb_4k since they get different warnings with smaller page sizes.
+
--error ER_CANT_CREATE_TABLE
create table t6 (id int primary key) engine = innodb row_format = compressed;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
---error ER_CANT_CREATE_TABLE
+--replace_regex / - .*[0-9]*[)]/)/
create table t7 (id int primary key) engine = innodb row_format = dynamic;
show warnings;
create table t8 (id int primary key) engine = innodb row_format = compact;
create table t9 (id int primary key) engine = innodb row_format = redundant;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
-drop table t8, t9;
+--replace_result 16384 {valid} 8192 {valid} 4096 {valid}
+--eval $query_i_s
+drop table t7, t8, t9;
#test valid values with innodb_file_format unset
set global innodb_file_per_table = on;
set global innodb_file_format = `0`;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t1 (id int primary key) engine = innodb key_block_size = 1;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t2 (id int primary key) engine = innodb key_block_size = 2;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
+--replace_regex / - .*[0-9]*[)]/)/
--error ER_CANT_CREATE_TABLE
create table t3 (id int primary key) engine = innodb key_block_size = 4;
show warnings;
---error ER_CANT_CREATE_TABLE
-create table t4 (id int primary key) engine = innodb key_block_size = 8;
-show warnings;
---error ER_CANT_CREATE_TABLE
-create table t5 (id int primary key) engine = innodb key_block_size = 16;
-show warnings;
+
+# Tests for key_block_size = 8 and 16 were moved to innodb_16k, innodb_8k
+# and innodb_4k since they get different warnings with smaller page sizes.
+
--error ER_CANT_CREATE_TABLE
create table t6 (id int primary key) engine = innodb row_format = compressed;
+--replace_regex / - .*[0-9]*[)]/)/
show warnings;
---error ER_CANT_CREATE_TABLE
create table t7 (id int primary key) engine = innodb row_format = dynamic;
show warnings;
create table t8 (id int primary key) engine = innodb row_format = compact;
create table t9 (id int primary key) engine = innodb row_format = redundant;
-SELECT table_schema, table_name, row_format, data_length, index_length
-FROM information_schema.tables WHERE engine='innodb';
-drop table t8, t9;
+--replace_result 16384 {valid} 8192 {valid} 4096 {valid}
+--eval $query_i_s
+drop table t7, t8, t9;
eval set global innodb_file_per_table=$per_table;
eval set global innodb_file_format=$format;
@@ -322,7 +334,7 @@ create table normal_table (
select @@innodb_file_format_max;
create table zip_table (
c1 int
-) engine = innodb key_block_size = 8;
+) engine = innodb key_block_size = 4;
select @@innodb_file_format_max;
set global innodb_file_format_max=`Antelope`;
select @@innodb_file_format_max;
@@ -340,4 +352,9 @@ drop table normal_table, zip_table;
-- disable_query_log
eval set global innodb_file_format=$format;
eval set global innodb_file_per_table=$per_table;
-eval set session innodb_strict_mode=$innodb_strict_mode_orig;
+eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
+eval SET GLOBAL innodb_file_format_max=$innodb_file_format_max_orig;
+SET @@global.innodb_stats_on_metadata=@save_innodb_stats_on_metadata;
+--enable_query_log
+
+DROP DATABASE mysqltest_innodb_zip;
diff --git a/mysql-test/suite/innodb_zip/t/innodb_bug36169.test b/mysql-test/suite/innodb_zip/t/innodb_bug36169.test
index 6426bd683ae..ac1f0a3fe57 100644
--- a/mysql-test/suite/innodb_zip/t/innodb_bug36169.test
+++ b/mysql-test/suite/innodb_zip/t/innodb_bug36169.test
@@ -1,4 +1,4 @@
---source include/have_innodb.inc
+--source include/innodb_page_size_small.inc
#
# Bug#36169 create innodb compressed table with too large row size crashed
# http://bugs.mysql.com/36169
diff --git a/mysql-test/suite/innodb_zip/t/innodb_bug36172.test b/mysql-test/suite/innodb_zip/t/innodb_bug36172.test
index 015f461e532..7b82a7aba33 100644
--- a/mysql-test/suite/innodb_zip/t/innodb_bug36172.test
+++ b/mysql-test/suite/innodb_zip/t/innodb_bug36172.test
@@ -1,4 +1,4 @@
---source include/have_innodb.inc
+--source include/innodb_page_size_small.inc
#
# Test case for bug 36172
#
diff --git a/mysql-test/suite/innodb_zip/t/innodb_bug52745.test b/mysql-test/suite/innodb_zip/t/innodb_bug52745.test
index 58bcc264677..d84feb3b22d 100644
--- a/mysql-test/suite/innodb_zip/t/innodb_bug52745.test
+++ b/mysql-test/suite/innodb_zip/t/innodb_bug52745.test
@@ -1,4 +1,4 @@
---source include/have_innodb.inc
+--source include/innodb_page_size_small.inc
let $file_format=`select @@innodb_file_format`;
let $file_per_table=`select @@innodb_file_per_table`;
diff --git a/mysql-test/suite/innodb_zip/t/innodb_bug53591.test b/mysql-test/suite/innodb_zip/t/innodb_bug53591.test
index 9a1c2afbccb..ea1221dd711 100644
--- a/mysql-test/suite/innodb_zip/t/innodb_bug53591.test
+++ b/mysql-test/suite/innodb_zip/t/innodb_bug53591.test
@@ -1,4 +1,4 @@
---source include/have_innodb.inc
+--source include/innodb_page_size_small.inc
let $file_format=`select @@innodb_file_format`;
let $file_per_table=`select @@innodb_file_per_table`;
@@ -10,8 +10,10 @@ set old_alter_table=0;
CREATE TABLE bug53591(a text charset utf8 not null)
ENGINE=InnoDB KEY_BLOCK_SIZE=1;
--- error 139
+-- replace_result 8126 {checked_valid} 4030 {checked_valid} 1982 {checked_valid}
+-- error ER_TOO_BIG_ROWSIZE
ALTER TABLE bug53591 ADD PRIMARY KEY(a(220));
+-- replace_result 8126 {checked_valid} 4030 {checked_valid} 1982 {checked_valid}
SHOW WARNINGS;
DROP TABLE bug53591;
diff --git a/mysql-test/suite/innodb_zip/t/innodb_bug56680.test b/mysql-test/suite/innodb_zip/t/innodb_bug56680.test
index f592bd16942..700d7e6f0a8 100644
--- a/mysql-test/suite/innodb_zip/t/innodb_bug56680.test
+++ b/mysql-test/suite/innodb_zip/t/innodb_bug56680.test
@@ -1,4 +1,4 @@
---source include/have_innodb.inc
+--source include/innodb_page_size_small.inc
#
# Bug #56680 InnoDB may return wrong results from a case-insensitive index
#
diff --git a/mysql-test/suite/innodb_zip/t/innodb_cmp_drop_table.test b/mysql-test/suite/innodb_zip/t/innodb_cmp_drop_table.test
index 4263e839c85..35e4b2c6bf3 100644
--- a/mysql-test/suite/innodb_zip/t/innodb_cmp_drop_table.test
+++ b/mysql-test/suite/innodb_zip/t/innodb_cmp_drop_table.test
@@ -1,5 +1,9 @@
--source include/have_innodb.inc
+# lazy evition might not be lazy enough when key rotation
+# scans through pages
+-- source include/not_encrypted.inc
+
let $per_table=`select @@innodb_file_per_table`;
let $format=`select @@innodb_file_format`;
diff --git a/mysql-test/suite/innodb_zip/t/innodb_index_large_prefix.test b/mysql-test/suite/innodb_zip/t/innodb_index_large_prefix.test
index 6873c2a404c..17f82f88fef 100644
--- a/mysql-test/suite/innodb_zip/t/innodb_index_large_prefix.test
+++ b/mysql-test/suite/innodb_zip/t/innodb_index_large_prefix.test
@@ -1,6 +1,9 @@
---source include/have_innodb.inc
# Testcase for worklog #5743: Lift the limit of index key prefixes
+--source include/have_innodb.inc
+--source include/have_innodb_16k.inc
+SET default_storage_engine=InnoDB;
+
let $innodb_file_format_orig=`select @@innodb_file_format`;
let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
let $innodb_large_prefix_orig=`select @@innodb_large_prefix`;
@@ -9,10 +12,11 @@ set global innodb_file_format="Barracuda";
set global innodb_file_per_table=1;
set global innodb_large_prefix=1;
+-- echo ### Test 1 ###
# Create a table of DYNAMIC format, with a primary index of 1000 bytes in
# size
-create table worklog5743(a TEXT not null, primary key (a(1000)))
-ROW_FORMAT=DYNAMIC, engine = innodb;
+create table worklog5743(a TEXT not null, primary key (a(1000))) ROW_FORMAT=DYNAMIC;
+show warnings;
# Do some insertion and update to excercise the external cache
# code path
@@ -23,13 +27,14 @@ update worklog5743 set a = (repeat("b", 16000));
# Create a secondary index
create index idx on worklog5743(a(2000));
+show warnings;
# Start a few sessions to do selections on table being updated in default
# session, so it would rebuild the previous version from undo log.
-# 1) Default session: Initiate an update on the externally stored column
-# 2) Session con1: Select from table with repeated read
-# 3) Session con2: Select from table with read uncommitted
-# 4) Default session: rollback updates
+# 1) Default session: Initiate an update on the externally stored column
+# 2) Session con1: Select from table with repeated read
+# 3) Session con2: Select from table with read uncommitted
+# 4) Default session: rollback updates
begin;
update worklog5743 set a = (repeat("x", 17000));
@@ -55,11 +60,12 @@ rollback;
drop table worklog5743;
+-- echo ### Test 2 ###
# Create a table with only a secondary index has large prefix column
-create table worklog5743(a1 int, a2 TEXT not null)
-ROW_FORMAT=DYNAMIC, engine = innodb;
-
+create table worklog5743(a1 int, a2 TEXT not null) ROW_FORMAT=DYNAMIC;
+show warnings;
create index idx on worklog5743(a1, a2(2000));
+show warnings;
insert into worklog5743 values(9, repeat("a", 10000));
@@ -85,9 +91,9 @@ rollback;
drop table worklog5743;
+-- echo ### Test 3 ###
# Create a table with a secondary index has small (50 bytes) prefix column
-create table worklog5743(a1 int, a2 TEXT not null)
-ROW_FORMAT=DYNAMIC, engine = innodb;
+create table worklog5743(a1 int, a2 TEXT not null) ROW_FORMAT=DYNAMIC;
create index idx on worklog5743(a1, a2(50));
@@ -115,72 +121,225 @@ rollback;
drop table worklog5743;
-# Create a table of ROW_FORMAT=COMPRESSED format
-create table worklog5743_2(a1 int, a2 TEXT not null)
-ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
-
-create table worklog5743_4(a1 int, a2 TEXT not null)
-ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
-
-# The maximum overall index record (not prefix) length for this table
-# is page_zip_empty_size() / 2, which is 960. "Too big row" error (
-# HA_ERR_TO_BIG_ROW) will be printed if this limit is exceeded.
-# Considering other fields and their overhead, the maximum length
-# for column a2 is 940 or 941 depending on the zlib version used and
-# compressBound() value used in page_zip_empty_size() (please refer
-# to Bug #47495 for more detail).
--- error 139
-create index idx1 on worklog5743_2(a1, a2(942));
-
-create index idx1 on worklog5743_2(a1, a2(940));
-
-# similarly, the maximum index record length for the table is
-# 1984. Considering other fields and their overhead, the
-# maximum length for column a2 is 1964 or 1965 (please refer
-# to Bug #47495 for more detail).
--- error 139
-create index idx1 on worklog5743_4(a1, a2(1966));
-
-create index idx1 on worklog5743_4(a1, a2(1964));
-
+-- echo ### Test 4 ###
+# Create compressed tables with each KEY_BLOCK_SIZE.
+create table worklog5743_1(a1 int, a2 TEXT not null) KEY_BLOCK_SIZE=1;
+create table worklog5743_2(a1 int, a2 TEXT not null) KEY_BLOCK_SIZE=2;
+create table worklog5743_4(a1 int, a2 TEXT not null) KEY_BLOCK_SIZE=4;
+create table worklog5743_8(a1 int, a2 TEXT, a3 TEXT) KEY_BLOCK_SIZE=8;
+create table worklog5743_16(a1 int, a2 TEXT, a3 TEXT) KEY_BLOCK_SIZE=16;
+
+# The maximum overall index record (not prefix) length of a
+# compressed table is dependent on innodb-page-size (IPS),
+# key_block_size (KBS) and the number of fields (NF).
+# "Too big row" error (HA_ERR_TO_BIG_ROW) will be returned if this
+# limit is exceeded.
+# See page_zip_empty_size() and Bug #47495 for more detail.
+
+# Test edge cases for indexes using key_block_size=1
+set global innodb_large_prefix=0;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx1 on worklog5743_1(a2(4000));
+show warnings;
+set global innodb_large_prefix=1;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx2 on worklog5743_1(a2(4000));
+show warnings;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx3 on worklog5743_1(a2(436));
+show warnings;
+# Bug#13391353 Limit is one byte less on on 32bit-Linux only
+create index idx4 on worklog5743_1(a2(434));
+show warnings;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx5 on worklog5743_1(a1, a2(430));
+show warnings;
+# Bug#13391353 Limit is one byte less on on 32bit-Linux only
+create index idx6 on worklog5743_1(a1, a2(428));
+show warnings;
+
+# Test edge cases for indexes using key_block_size=2
+set global innodb_large_prefix=0;
+create index idx1 on worklog5743_2(a2(4000));
+show warnings;
+set global innodb_large_prefix=1;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx2 on worklog5743_2(a2(4000));
+show warnings;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx3 on worklog5743_2(a2(948));
+show warnings;
+# Bug#13391353 Limit is one byte less on on 32bit-Linux only
+create index idx4 on worklog5743_2(a2(946));
+show warnings;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx5 on worklog5743_2(a1, a2(942));
+show warnings;
+# Bug#13391353 Limit is one byte less on on 32bit-Linux only
+create index idx6 on worklog5743_2(a1, a2(940));
+show warnings;
+
+# Test edge cases for indexes using key_block_size=4
+set global innodb_large_prefix=0;
+create index idx1 on worklog5743_4(a2(4000));
+show warnings;
+set global innodb_large_prefix=1;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx2 on worklog5743_4(a2(4000));
+show warnings;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx3 on worklog5743_4(a2(1972));
+show warnings;
+# Bug#13391353 Limit is one byte less on on 32bit-Linux only
+create index idx4 on worklog5743_4(a2(1970));
+show warnings;
+-- error ER_TOO_BIG_ROWSIZE
+create index idx5 on worklog5743_4(a1, a2(1966));
+show warnings;
+# Bug#13391353 Limit is one byte less on on 32bit-Linux only
+create index idx6 on worklog5743_4(a1, a2(1964));
+show warnings;
+
+# Test edge cases for indexes using key_block_size=8
+set global innodb_large_prefix=0;
+create index idx1 on worklog5743_8(a2(1000));
+show warnings;
+set global innodb_large_prefix=1;
+create index idx2 on worklog5743_8(a2(3073));
+show warnings;
+create index idx3 on worklog5743_8(a2(3072));
+show warnings;
+-- error ER_TOO_LONG_KEY
+create index idx4 on worklog5743_8(a1, a2(3069));
+show warnings;
+create index idx5 on worklog5743_8(a1, a2(3068));
+show warnings;
+-- error ER_TOO_LONG_KEY
+create index idx6 on worklog5743_8(a1, a2(2000), a3(1069));
+show warnings;
+create index idx7 on worklog5743_8(a1, a2(2000), a3(1068));
+show warnings;
+
+# Test edge cases for indexes using key_block_size=16
+set global innodb_large_prefix=0;
+create index idx1 on worklog5743_16(a2(1000));
+show warnings;
+set global innodb_large_prefix=1;
+create index idx2 on worklog5743_16(a2(3073));
+show warnings;
+create index idx3 on worklog5743_16(a2(3072));
+show warnings;
+-- error ER_TOO_LONG_KEY
+create index idx4 on worklog5743_16(a1, a2(3069));
+show warnings;
+create index idx5 on worklog5743_16(a1, a2(3068));
+show warnings;
+-- error ER_TOO_LONG_KEY
+create index idx6 on worklog5743_16(a1, a2(2000), a3(1069));
+show warnings;
+create index idx7 on worklog5743_16(a1, a2(2000), a3(1068));
+show warnings;
+
+# Insert a large record into each of these tables.
+insert into worklog5743_1 values(9, repeat("a", 10000));
insert into worklog5743_2 values(9, repeat("a", 10000));
insert into worklog5743_4 values(9, repeat("a", 10000));
+insert into worklog5743_8 values(9, repeat("a", 10000), repeat("a", 10000));
+insert into worklog5743_16 values(9, repeat("a", 10000), repeat("a", 10000));
+
+# Now if we change the global innodb_large_prefix back to 767,
+# updates to these indexes should still be allowed.
+set global innodb_large_prefix=0;
+insert into worklog5743_1 values(2, repeat("b", 10000));
+insert into worklog5743_2 values(2, repeat("b", 10000));
+insert into worklog5743_4 values(2, repeat("b", 10000));
+insert into worklog5743_8 values(2, repeat("b", 10000), repeat("b", 10000));
+insert into worklog5743_16 values(2, repeat("b", 10000), repeat("b", 10000));
+set global innodb_large_prefix=1;
+
+select a1, left(a2, 20) from worklog5743_1;
+select a1, left(a2, 20) from worklog5743_2;
+select a1, left(a2, 20) from worklog5743_4;
+select a1, left(a2, 20) from worklog5743_8;
+select a1, left(a2, 20) from worklog5743_16;
begin;
+update worklog5743_1 set a1 = 1000;
update worklog5743_2 set a1 = 1000;
update worklog5743_4 set a1 = 1000;
+update worklog5743_8 set a1 = 1000;
+update worklog5743_16 set a1 = 1000;
+select a1, left(a2, 20) from worklog5743_1;
+select a1, left(a2, 20) from worklog5743_2;
+select a1, left(a2, 20) from worklog5743_4;
+select a1, left(a2, 20) from worklog5743_8;
+select a1, left(a2, 20) from worklog5743_16;
+
# Do a select from another connection that would use the secondary index
--connection con1
select @@session.tx_isolation;
-explain select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
-select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
-select a1, a2 = repeat("a", 10000) from worklog5743_4 where a1 = 9;
+explain select a1, left(a2, 20) from worklog5743_1 where a1 = 9;
+explain select a1, left(a2, 20) from worklog5743_2 where a1 = 9;
+explain select a1, left(a2, 20) from worklog5743_4 where a1 = 9;
+explain select a1, left(a2, 20) from worklog5743_8 where a1 = 9;
+explain select a1, left(a2, 20) from worklog5743_16 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_1 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_2 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_4 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_8 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_16 where a1 = 9;
# Do read uncommitted in another session, it would show there is no
# row with a1 = 9
--connection con2
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
select @@session.tx_isolation;
-select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
-select a1, a2 = repeat("a", 10000) from worklog5743_4 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_1 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_2 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_4 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_8 where a1 = 9;
+select a1, left(a2, 20) from worklog5743_16 where a1 = 9;
--connection default
rollback;
+drop table worklog5743_1;
drop table worklog5743_2;
drop table worklog5743_4;
+drop table worklog5743_8;
+drop table worklog5743_16;
+
+-- echo ### Test 5 ###
+# Create a table with large varchar columns and create indexes
+# directly on these large columns to show that prefix limit is
+# automatically applied and to show that limit.
+create table worklog5743(a1 int,
+ a2 varchar(20000),
+ a3 varchar(3073),
+ a4 varchar(3072),
+ a5 varchar(3069),
+ a6 varchar(3068))
+ ROW_FORMAT=DYNAMIC;
+create index idx1 on worklog5743(a2);
+create index idx2 on worklog5743(a3);
+create index idx3 on worklog5743(a4);
+show warnings;
+-- error ER_TOO_LONG_KEY
+create index idx4 on worklog5743(a1, a2);
+show warnings;
+-- error ER_TOO_LONG_KEY
+create index idx5 on worklog5743(a1, a5);
+show warnings;
+create index idx6 on worklog5743(a1, a6);
+show warnings;
+show create table worklog5743;
-# Create a table with varchar column, and create index directly on this
-# large column (without prefix)
-create table worklog5743(a1 int, a2 varchar(3000))
-ROW_FORMAT=DYNAMIC, engine = innodb;
-
-# Create an index with large column without prefix
-create index idx on worklog5743(a1, a2);
-
-insert into worklog5743 values(9, repeat("a", 3000));
+insert into worklog5743 values(9,
+ repeat("a", 20000), repeat("a", 3073),
+ repeat("a", 3072), repeat("a", 3069),
+ repeat("a", 3068));
begin;
@@ -203,19 +362,19 @@ rollback;
drop table worklog5743;
+-- echo ### Test 6 ###
# Create a table with old format, and the limit is 768 bytes.
-- error ER_INDEX_COLUMN_TOO_LONG
-create table worklog5743(a TEXT not null, primary key (a(1000)))
-engine = innodb;
+create table worklog5743(a TEXT not null, primary key (a(1000)));
-create table worklog5743(a TEXT) engine = innodb;
+create table worklog5743(a TEXT);
# Excercise the column length check in ha_innobase::add_index()
-- error ER_INDEX_COLUMN_TOO_LONG
-create index idx on worklog5743(a(1000));
+create index idx on worklog5743(a(768));
# This should be successful
-create index idx on worklog5743(a(725));
+create index idx on worklog5743(a(767));
# Perform some DMLs
insert into worklog5743 values(repeat("a", 20000));
@@ -240,29 +399,40 @@ rollback;
drop table worklog5743;
-# Some border line test on the column length.
+-- echo ### Test 7 ###
+# Some border line tests on the column length.
# We have a limit of 3072 bytes for Barracuda table
-create table worklog5743(a TEXT not null) ROW_FORMAT=DYNAMIC, engine = innodb;
-
-# Length exceeds maximum supported key length, will auto-truncated to 3072
-create index idx on worklog5743(a(3073));
+create table worklog5743(a TEXT not null) ROW_FORMAT=DYNAMIC;
+# Length exceeds maximum supported key length
+# It will be auto-truncated to 3072
+create index idx1 on worklog5743(a(3073));
create index idx2 on worklog5743(a(3072));
-
show create table worklog5743;
-
drop table worklog5743;
-# We have a limit of 767 bytes for Antelope table
-create table worklog5743(a TEXT not null) engine = innodb;
-
+# We have a limit of 767 bytes for Antelope tables
+create table worklog5743(a TEXT not null) ROW_FORMAT=REDUNDANT;
-- error ER_INDEX_COLUMN_TOO_LONG
create index idx on worklog5743(a(768));
-
create index idx2 on worklog5743(a(767));
+drop table worklog5743;
+create table worklog5743(a TEXT not null) ROW_FORMAT=COMPACT;
+-- error ER_INDEX_COLUMN_TOO_LONG
+create index idx on worklog5743(a(768));
+create index idx2 on worklog5743(a(767));
drop table worklog5743;
+
eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
eval SET GLOBAL innodb_large_prefix=$innodb_large_prefix_orig;
+--connection con1
+--disconnect con1
+--source include/wait_until_disconnected.inc
+--connection con2
+--disconnect con2
+--source include/wait_until_disconnected.inc
+--connection default
+
diff --git a/mysql-test/suite/innodb_zip/t/innodb_prefix_index_liftedlimit.test b/mysql-test/suite/innodb_zip/t/innodb_prefix_index_liftedlimit.test
index d7540dff36d..87f2fd3f467 100644
--- a/mysql-test/suite/innodb_zip/t/innodb_prefix_index_liftedlimit.test
+++ b/mysql-test/suite/innodb_zip/t/innodb_prefix_index_liftedlimit.test
@@ -1,4 +1,3 @@
---source include/have_innodb.inc
######## suite/innodb/t/innodb_prefix_index_liftedlimit.test ##########
# #
# Testcase for worklog WL#5743: Lift the limit of index key prefixes #
@@ -14,11 +13,17 @@
# #
######################################################################
+--source include/have_innodb.inc
+--source include/have_innodb_16k.inc
+--source include/big_test.inc
+--source include/not_valgrind.inc
# Save innodb variables
-let $innodb_file_format_orig=`select @@innodb_file_format`;
-let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
-let $innodb_large_prefix_orig=`select @@innodb_large_prefix`;
+--disable_query_log
+let $innodb_file_format_orig = `select @@innodb_file_format`;
+let $innodb_file_per_table_orig = `select @@innodb_file_per_table`;
+let $innodb_large_prefix_orig = `select @@innodb_large_prefix`;
+--enable_query_log
# Set Innodb file format as feature works for Barracuda file format
set global innodb_file_format="Barracuda";
@@ -49,6 +54,11 @@ WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+--error ER_INDEX_COLUMN_TOO_LONG
+ALTER TABLE worklog5743 ROW_FORMAT=REDUNDANT;
+--error ER_INDEX_COLUMN_TOO_LONG
+ALTER TABLE worklog5743 ROW_FORMAT=COMPACT;
+ALTER TABLE worklog5743 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
DROP TABLE worklog5743;
@@ -482,10 +492,10 @@ DROP TABLE worklog5743_key8;
#------------------------------------------------------------------------------
# Create mutiple prefix index. We can not create prefix index length > 16K
# as index is written in undo log page which of 16K size.
-# So we can create max 5 prefix index of length 3072 on table
+# So we can create max 2 prefix index of length 3072 on table
CREATE TABLE worklog5743 (
col_1_varbinary VARBINARY (4000) , col_2_varchar VARCHAR (4000) ,
-col_3_text TEXT (4000), col_4_blob BLOB (4000),col_5_text TEXT (4000),
+col_3_text TEXT (4000), col_4_blob BLOB (4000), col_5_text TEXT (4000),
col_6_varchar VARCHAR (4000), col_7_binary BINARY (255)
) ROW_FORMAT=DYNAMIC, engine = innodb;
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
@@ -493,13 +503,10 @@ REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
REPEAT("a", 4000) , REPEAT("a", 255)
);
-# Update hangs if we create following 5 indexes. Uncomment them once its fix
+# Update reports ER_UNDO_RECORD_TOO_BIG if we create more than 2 indexes.
# Bug#12547647 - UPDATE LOGGING COULD EXCEED LOG PAGE SIZE
-#CREATE INDEX prefix_idx1 ON worklog5743(col_1_varbinary (3072));
-#CREATE INDEX prefix_idx2 ON worklog5743(col_2_varchar (3072));
-#CREATE INDEX prefix_idx3 ON worklog5743(col_3_text (3072));
-#CREATE INDEX prefix_idx4 ON worklog5743(col_4_blob (3072));
-#CREATE INDEX prefix_idx5 ON worklog5743(col_5_text (3072));
+CREATE INDEX prefix_idx1 ON worklog5743(col_1_varbinary (3072));
+CREATE INDEX prefix_idx2 ON worklog5743(col_2_varchar (3072));
INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000),
REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
@@ -511,14 +518,30 @@ UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
WHERE col_1_varbinary = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
WHERE col_1_varbinary = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
REPEAT("a", 4000) , REPEAT("a", 255)
);
DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("b", 4000);
SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
-DROP TABLE worklog5743;
+# Add 3 more indexes.
+# Update used to hang but now ER_UNDO_RECORD_TOO_BIG is reported;
+# Bug#12547647 - UPDATE LOGGING COULD EXCEED UNDO LOG PAGE SIZE
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+CREATE INDEX prefix_idx3 ON worklog5743(col_3_text (3072));
+CREATE INDEX prefix_idx4 ON worklog5743(col_4_blob (3072));
+CREATE INDEX prefix_idx5 ON worklog5743(col_5_text (3072));
+BEGIN;
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SHOW WARNINGS;
+ROLLBACK;
+DROP TABLE worklog5743;
#------------------------------------------------------------------------------
# Create mutiple prefix index. We can not create prefix index length > 16K as
@@ -532,7 +555,8 @@ col_6_varchar VARCHAR (4000), col_7_binary BINARY (255)
) ROW_FORMAT=DYNAMIC, engine = innodb;
-# Update hangs if we create following 5 indexes. Uncomment them once its fix
+# Update used to hang if we create following 5 indexes. Fixed in;
+# Bug#12547647 - UPDATE LOGGING COULD EXCEED UNDO LOG PAGE SIZE
CREATE INDEX prefix_idx1 ON worklog5743(col_1_varbinary (3072));
CREATE INDEX prefix_idx2 ON worklog5743(col_2_varchar (3072));
CREATE INDEX prefix_idx3 ON worklog5743(col_3_text (3072));
@@ -562,11 +586,12 @@ REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
REPEAT("a", 4000) , REPEAT("a", 255)
);
ROLLBACK;
-# Uncomment Update fater Bug#12547647 is fixed - UPDATE LOGGING COULD EXCEED LOG PAGE SIZE
-# Bug#12547647 - UPDATE LOGGING COULD EXCEED LOG PAGE SIZE
-#UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
-#WHERE col_1_varbinary = REPEAT("a", 4000)
-#AND col_2_varchar = REPEAT("o", 4000);
+BEGIN;
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+SHOW WARNINGS;
+ROLLBACK;
SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
WHERE col_1_varbinary = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
@@ -599,14 +624,28 @@ SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743;
DROP TABLE worklog5743;
# Prefix index with utf8 charset + varchar.
-# For varchar we also log the column itself as oppose of TEXT so it error
-# with limit 1024 due to overhead.
+# utf8 charcter takes 3 bytes in mysql so prefix index limit is 3072/3 = 1024
+# This is a case where dict_index_too_big_for_undo() is too conservative.
+# If it did not return error 1118, to commented code would work.
+# See bug#12953735.
--replace_regex /> [0-9]*/> max_row_size/
--- error 1118
+-- error ER_TOO_BIG_ROWSIZE
CREATE TABLE worklog5743 (col_1_varchar VARCHAR (4000) CHARACTER SET 'utf8',
col_2_varchar VARCHAR (4000) CHARACTER SET 'utf8' ,
PRIMARY KEY (col_1_varchar(1024))
) ROW_FORMAT=DYNAMIC, engine = innodb;
+#INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (1024));
+#INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+#SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000) FROM worklog5743;
+#UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+#WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+#SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+#WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+#INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+#DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
+#SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+#DROP TABLE worklog5743;
#------------------------------------------------------------------------------
# prefinx index on utf8 charset with transaction
@@ -734,7 +773,7 @@ COMMIT;
# Wait for commit
let $wait_condition=SELECT COUNT(*)=0 FROM information_schema.processlist
WHERE info='COMMIT';
---source include/wait_condition.inc
+--source include/wait_condition.inc
--echo "In connection 1"
--connection con1
@@ -843,8 +882,12 @@ worklog5743;
SELECT COUNT(*) FROM worklog5743;
COMMIT;
+--echo "Disconnect the connections 1 and 2"
--disconnect con1
+--source include/wait_until_disconnected.inc
+--connection con2
--disconnect con2
+--source include/wait_until_disconnected.inc
--connection default
DROP TABLE worklog5743;
@@ -989,7 +1032,7 @@ AND col_2_varchar = REPEAT("o", 4000);
ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar(3072));
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
---error 1062
+--error ER_DUP_ENTRY
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
@@ -1023,7 +1066,7 @@ ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar(3072));
CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
---error 1062
+--error ER_DUP_ENTRY
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
@@ -1243,8 +1286,8 @@ AND col_2_text = REPEAT("o", 4000);
ALTER TABLE worklog5743 DROP PRIMARY KEY;
# Again add index length > 948. Expect error 'to big row ' due to exceed
-# in key length.
--- error 139
+# in key length.
+-- error ER_TOO_BIG_ROWSIZE
ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_text (950));
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
@@ -1306,7 +1349,7 @@ VALUES(concat(REPEAT("a", 2000),REPEAT("b", 1000),REPEAT("c", 1000)),
REPEAT("o", 4000));
INSERT INTO worklog5743
VALUES(concat(REPEAT("a", 2000),REPEAT("b", 2000)), REPEAT("o", 4000));
---error 1062
+--error ER_DUP_ENTRY
ALTER TABLE worklog5743 ADD PRIMARY KEY `pk_idx` (col_1_varchar(3000));
DROP TABLE worklog5743;
@@ -1328,11 +1371,24 @@ CREATE TABLE worklog5743 (
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
PRIMARY KEY (col_1_varchar(767))
) engine = innodb;
-# Prefix index > 767 is truncated with REDUNDANT and COMPACT
+INSERT INTO worklog5743 VALUES(REPEAT('a',4000),REPEAT('b',4000));
+# Prefix index > 767 is truncated with REDUNDANT and COMPACT
+--enable_info
CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (1000));
+ALTER TABLE worklog5743 ROW_FORMAT=REDUNDANT;
+--disable_info
+SHOW CREATE TABLE worklog5743;
DROP TABLE worklog5743;
#------------------------------------------------------------------------------
-eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
-eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
-eval SET GLOBAL innodb_large_prefix=$innodb_large_prefix_orig;
+--disable_query_log
+eval set global innodb_file_format = $innodb_file_format_orig;
+eval set global innodb_file_per_table = $innodb_file_per_table_orig;
+eval set global innodb_large_prefix = $innodb_large_prefix_orig;
+--echo "Disconnect the connection 1"
+--connection con1
+--disconnect con1
+--source include/wait_until_disconnected.inc
+--enable_query_log
+--connection default
+
diff --git a/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test b/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test
new file mode 100644
index 00000000000..65b030c018f
--- /dev/null
+++ b/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test
@@ -0,0 +1,747 @@
+# mysql-test-run.pl --embedded cannot restart the server.
+--source include/not_embedded.inc
+
+# This test case needs to crash the server. Needs a debug server.
+--source include/have_debug.inc
+
+# Valgrind can hang or return spurious messages on DBUG_SUICIDE
+--source include/not_valgrind.inc
+
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
+
+-- source include/innodb_page_size_small.inc
+
+call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
+call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* because the .ibd file is missing. Please refer to .* for how to resolve the issue.");
+call mtr.add_suppression("InnoDB: Page 0 at offset 0 looks corrupted in file .*");
+call mtr.add_suppression("InnoDB: Page for tablespace ");
+call mtr.add_suppression("InnoDB: Invalid FSP_SPACE_FLAGS=0x");
+FLUSH TABLES;
+
+SET GLOBAL innodb_file_per_table=1;
+SET GLOBAL innodb_file_format=Barracuda;
+
+let MYSQLD_DATADIR =`SELECT @@datadir`;
+let $pathfix=/: '.*test_wl5522.*t1.ibd'/: 'test_wl5522_t1.ibd'/;
+
+SET SESSION innodb_strict_mode=1;
+
+CREATE DATABASE test_wl5522;
+
+# Create the table that we will use for crash recovery (during IMPORT)
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+INSERT INTO test_wl5522.t1 VALUES (1), (2), (3), (4);
+
+--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_backup_tablespaces("test_wl5522", "t1");
+EOF
+UNLOCK TABLES;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+INSERT INTO test_wl5522.t1 VALUES (1);
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_discard_tablespaces("test_wl5522", "t1");
+EOF
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+##### Before commit crash
+SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
+
+--error ER_TABLESPACE_DISCARDED
+SELECT * FROM test_wl5522.t1;
+
+# Write file to make mysql-test-run.pl start up the server again
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+# Execute the statement that causes the crash
+--error 2013
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+--disable_reconnect
+
+#### Before commit crash
+
+# Check that the DD is consistent after recovery
+
+##### Before checkpoint crash
+SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Don't start up the server right away.
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+# Execute the statement that causes the crash
+--error 2013
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+# After the above test the results are non-deterministic,
+# delete the old tablespace files and drop the table,
+# recreate the table and do a proper import.
+-- source include/wait_until_disconnected.inc
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+--echo # Restart and reconnect to the server
+--enable_reconnect
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--source include/wait_until_connected_again.inc
+--disable_reconnect
+
+#### Before checkpoint crash
+
+# After the above test the results are non-deterministic, recreate the table
+# and do a proper import.
+
+DROP TABLE test_wl5522.t1;
+
+SET SESSION innodb_strict_mode=1;
+SET @file_per_table = @@GLOBAL.innodb_file_per_table;
+SET @file_format = @@GLOBAL.innodb_file_format;
+
+SET GLOBAL innodb_file_per_table=1;
+SET GLOBAL innodb_file_format=Barracuda;
+
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE test_wl5522.t1;
+
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+INSERT INTO test_wl5522.t1 VALUES(400), (500), (600);
+
+SELECT * FROM test_wl5522.t1;
+
+DROP TABLE test_wl5522.t1;
+
+# Test handling of internal failure error
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after reset of space id and LSN in the tablespace
+SET @saved_debug_dbug = @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,ib_import_internal_error";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+DROP TABLE test_wl5522.t1;
+
+
+# Test failure after reset of space id and LSN in the tablespace
+CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after reset of space id and LSN in the tablespace
+SET SESSION debug_dbug="+d,ib_import_reset_space_and_lsn_failure";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Test failure after attempting a tablespace open
+SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
+
+--replace_regex /'.*[\/\\]/'/
+--error ER_GET_ERRMSG
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after ibuf check
+SET SESSION debug_dbug="+d,ib_import_check_bitmap_failure";
+
+# Need proper mapping of error codes :-(
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after adjusting the cluster index root page
+SET SESSION debug_dbug="+d,ib_import_cluster_root_adjust_failure";
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after importing the cluster index
+SET SESSION debug_dbug="+d,ib_import_cluster_failure";
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after importing the secondary index(es)
+SET SESSION debug_dbug="+d,ib_import_sec_root_adjust_failure";
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+# Test failure after importing the cluster index
+SET SESSION debug_dbug="+d,ib_import_set_max_rowid_failure";
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+# Left over from the failed IMPORT
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+DROP TABLE test_wl5522.t1;
+
+--disable_query_log
+# Enable metrics for the counters we are going to use
+set global innodb_monitor_enable = purge_stop_count;
+set global innodb_monitor_enable = purge_resume_count;
+set global innodb_monitor_enable = ibuf_merges;
+set global innodb_monitor_enable = ibuf_merges_insert;
+--enable_query_log
+
+#
+# Create a large table with delete marked records, disable purge during
+# the update so that we can test the IMPORT purge code.
+#
+CREATE TABLE test_wl5522.t1 (
+ c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 BIGINT,
+ c3 VARCHAR(2048),
+ c4 VARCHAR(2048),
+ INDEX idx1(c2),
+ INDEX idx2(c3(512)),
+ INDEX idx3(c4(512))) Engine=InnoDB
+ ROW_FORMAT=COMPRESSED;
+
+# Stop purge so that it doesn't remove the delete marked entries.
+connect (purge_control,localhost,root);
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+connection default;
+
+# Disable change buffer merge from the master thread, additionally
+# enable aggressive flushing so that more changes are buffered.
+SET GLOBAL innodb_disable_background_merge=ON;
+SET GLOBAL innodb_monitor_reset = ibuf_merges;
+SET GLOBAL innodb_monitor_reset = ibuf_merges_insert;
+
+INSERT INTO test_wl5522.t1(c2, c3, c4) VALUES
+ (1, REPEAT('a', 2048), REPEAT('a', 2048)),
+ (2, REPEAT('b', 2048), REPEAT('b', 2048)),
+ (3, REPEAT('c', 2048), REPEAT('c', 2048)),
+ (4, REPEAT('d', 2048), REPEAT('d', 2048));
+
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
+
+DELETE FROM test_wl5522.t1 WHERE c2 = 1;
+
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c2 = c2 + c1;
+UPDATE test_wl5522.t1 SET c3 = REPEAT("c2", 1024);
+UPDATE test_wl5522.t1 SET c4 = REPEAT("c4", 1024);
+
+SHOW CREATE TABLE test_wl5522.t1;
+
+SELECT c1, c2 FROM test_wl5522.t1;
+SELECT COUNT(*) FROM test_wl5522.t1;
+SELECT SUM(c2) FROM test_wl5522.t1;
+
+SELECT name
+ FROM information_schema.innodb_metrics
+ WHERE name = 'ibuf_merges_insert' AND count = 0;
+
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_backup_tablespaces("test_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+SELECT name
+ FROM information_schema.innodb_metrics
+ WHERE name = 'ibuf_merges' AND count > 0;
+
+SELECT name
+ FROM information_schema.innodb_metrics
+ WHERE name = 'ibuf_merges_inserts' AND count > 0;
+
+SET GLOBAL innodb_disable_background_merge=OFF;
+
+# Enable normal operation
+connection purge_control;
+COMMIT;
+disconnect purge_control;
+connection default;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (
+ c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ c2 BIGINT,
+ c3 VARCHAR(2048),
+ c4 VARCHAR(2048),
+ INDEX idx1(c2),
+ INDEX idx2(c3(512)),
+ INDEX idx3(c4(512))) Engine=InnoDB
+ ROW_FORMAT=COMPRESSED;
+
+SELECT c1, c2 FROM test_wl5522.t1;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+CHECK TABLE test_wl5522.t1;
+
+SELECT c1,c2 FROM test_wl5522.t1;
+SELECT COUNT(*) FROM test_wl5522.t1;
+SELECT SUM(c2) FROM test_wl5522.t1;
+
+SHOW CREATE TABLE test_wl5522.t1;
+
+DROP TABLE test_wl5522.t1;
+
+####
+# Create a table and save the tablespace and .cfg file, we need to create
+# a Btree that has several levels
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+INSERT IGNORE INTO test_wl5522.t1 VALUES
+ (100, REPEAT('Karanbir', 899), REPEAT('Ajeeth', 1200));
+
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
+SELECT COUNT(*) FROM test_wl5522.t1;
+FLUSH TABLES test_wl5522.t1 FOR EXPORT;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_backup_tablespaces("test_wl5522", "t1");
+EOF
+
+UNLOCK TABLES;
+
+DROP TABLE test_wl5522.t1;
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_1";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+#
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,buf_page_import_corrupt_failure";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+# Following alter is failing
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_2";
+
+--replace_regex $pathfix
+
+--error ER_INNODB_INDEX_CORRUPT
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,ib_import_trigger_corruption_3";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_NOT_KEYFILE
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+SET SESSION debug_dbug="+d,ib_import_create_index_failure_1";
+
+ALTER TABLE test_wl5522.t1 ADD INDEX idx(c1);
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+#
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,fil_space_create_failure";
+
+--replace_regex /'.*[\/\\]/'/
+--error ER_GET_ERRMSG
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+#
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,dict_tf_to_fsp_flags_failure";
+
+--replace_regex /'.*[\/\\]/'/
+--error ER_GET_ERRMSG
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+#
+
+CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+
+ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
+
+--error ER_TABLESPACE_DISCARDED
+SELECT COUNT(*) FROM test_wl5522.t1;
+
+# Restore files
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_restore_tablespaces("test_wl5522", "t1");
+EOF
+
+SET SESSION debug_dbug="+d,fsp_flags_is_valid_failure";
+
+--replace_regex /'.*t1.cfg'/'t1.cfg'/
+
+--error ER_INTERNAL_ERROR
+ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
+
+SET SESSION debug_dbug=@saved_debug_dbug;
+
+DROP TABLE test_wl5522.t1;
+
+perl;
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
+ib_unlink_tablespace("test_wl5522", "t1");
+EOF
+
+
+DROP DATABASE test_wl5522;
+
+set global innodb_monitor_disable = all;
+set global innodb_monitor_reset_all = all;
+
+-- disable_warnings
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+-- enable_warnings
+
+--disable_query_log
+call mtr.add_suppression("'Resource temporarily unavailable'");
+call mtr.add_suppression("Monitor ibuf_merges is already enabled");
+call mtr.add_suppression("Monitor ibuf_merges_insert is already enabled");
+call mtr.add_suppression("Got error -1 when reading table '.*'");
+call mtr.add_suppression("InnoDB: Table '.*' tablespace is set as discarded.");
+call mtr.add_suppression("InnoDB: Tablespace '.*' exists in the cache.*");
+call mtr.add_suppression("InnoDB: Freeing existing tablespace '.*' entry from the cache with id.*");
+call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded");
+call mtr.add_suppression(".*There was an error writing to the meta data file.*");
+call mtr.add_suppression("InnoDB: Trying to import a tablespace, but could not open the tablespace file");
+call mtr.add_suppression("Unsupported tablespace format");
+call mtr.add_suppression("Error in page .* of index \"GEN_CLUST_INDEX\" of table \"test_wl5522\".\"t1\"");
+call mtr.add_suppression("Page is marked as free");
+call mtr.add_suppression("t1.ibd: Page .* at offset .* looks corrupted");
+call mtr.add_suppression("but tablespace with that id or name does not exist");
+call mtr.add_suppression("Failed to find tablespace for table '\"test_wl5522\".\"t1\"' in the cache");
+call mtr.add_suppression("Could not find a valid tablespace file for 'test_wl5522.*t1'");
+call mtr.add_suppression("Index for table 't1' is corrupt; try to repair it");
+--enable_query_log
+
+#cleanup
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.ibd
+
+SET GLOBAL innodb_file_per_table = @file_per_table;
+SET GLOBAL innodb_file_format = @file_format;
diff --git a/mysql-test/suite/jp/disabled.def b/mysql-test/suite/jp/disabled.def
index 888298bbb09..b74382895d2 100644
--- a/mysql-test/suite/jp/disabled.def
+++ b/mysql-test/suite/jp/disabled.def
@@ -9,3 +9,5 @@
# Do not use any TAB characters for whitespace.
#
##############################################################################
+
+binlog_index : codership/mysql-wsrep##71 Regression: Duplicate "file was not purged because it is the active log file" warning
diff --git a/mysql-test/suite/jp/r/jp_alter_sjis.result b/mysql-test/suite/jp/r/jp_alter_sjis.result
index 85d974df78e..20b71952197 100644
--- a/mysql-test/suite/jp/r/jp_alter_sjis.result
+++ b/mysql-test/suite/jp/r/jp_alter_sjis.result
@@ -31,14 +31,14 @@ NULL ³³³³³ NULL NULL
DESC `±±±`;
Field Type Null Key Default Extra
¶¶ char(1) YES MUL NULL
-··· char(6) NO PRI
+··· char(6) NO PRI NULL
¸¸¸ char(1) YES UNI NULL
¹¹¹ char(1) YES NULL
SHOW CREATE TABLE `±±±`;
Table Create Table
±±± CREATE TABLE `±±±` (
`¶¶` char(1) DEFAULT NULL,
- `···` char(6) NOT NULL DEFAULT '',
+ `···` char(6) NOT NULL,
`¸¸¸` char(1) DEFAULT NULL,
`¹¹¹` char(1) DEFAULT NULL,
PRIMARY KEY (`···`),
@@ -58,11 +58,11 @@ SELECT * FROM `±±±`;
³³³³³
DESC `±±±`;
Field Type Null Key Default Extra
-··· char(6) NO
+··· char(6) NO NULL
SHOW CREATE TABLE `±±±`;
Table Create Table
±±± CREATE TABLE `±±±` (
- `···` char(6) NOT NULL DEFAULT ''
+ `···` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=sjis
ALTER TABLE `‚ ‚ ‚ ` ADD `‚©‚©‚©` char(1) FIRST;
ALTER TABLE `‚ ‚ ‚ ` ADD `‚­‚­‚­` char(1) AFTER `‚«‚«‚«`;
@@ -80,14 +80,14 @@ NULL ‚¤‚¤‚¤‚¤‚¤ NULL NULL
DESC `‚ ‚ ‚ `;
Field Type Null Key Default Extra
‚©‚© char(1) YES MUL NULL
-‚«‚«‚« char(6) NO PRI
+‚«‚«‚« char(6) NO PRI NULL
‚­‚­‚­ char(1) YES UNI NULL
‚¯‚¯‚¯ char(1) YES NULL
SHOW CREATE TABLE `‚ ‚ ‚ `;
Table Create Table
‚ ‚ ‚  CREATE TABLE `‚ ‚ ‚ ` (
`‚©‚©` char(1) DEFAULT NULL,
- `‚«‚«‚«` char(6) NOT NULL DEFAULT '',
+ `‚«‚«‚«` char(6) NOT NULL,
`‚­‚­‚­` char(1) DEFAULT NULL,
`‚¯‚¯‚¯` char(1) DEFAULT NULL,
PRIMARY KEY (`‚«‚«‚«`),
@@ -107,11 +107,11 @@ SELECT * FROM `‚ ‚ ‚ `;
‚¤‚¤‚¤‚¤‚¤
DESC `‚ ‚ ‚ `;
Field Type Null Key Default Extra
-‚«‚«‚« char(6) NO
+‚«‚«‚« char(6) NO NULL
SHOW CREATE TABLE `‚ ‚ ‚ `;
Table Create Table
‚ ‚ ‚  CREATE TABLE `‚ ‚ ‚ ` (
- `‚«‚«‚«` char(6) NOT NULL DEFAULT ''
+ `‚«‚«‚«` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=sjis
ALTER TABLE `ƒ\ƒ\ƒ\` ADD `\\\` char(1) FIRST;
ALTER TABLE `ƒ\ƒ\ƒ\` ADD `”\”\”\` char(1) AFTER `•\•\•\`;
@@ -129,14 +129,14 @@ NULL •\•\•\•\•\ NULL NULL
DESC `ƒ\ƒ\ƒ\`;
Field Type Null Key Default Extra
\\ char(1) YES MUL NULL
-•\•\•\ char(6) NO PRI
+•\•\•\ char(6) NO PRI NULL
”\”\”\ char(1) YES UNI NULL
—\—\—\ char(1) YES NULL
SHOW CREATE TABLE `ƒ\ƒ\ƒ\`;
Table Create Table
ƒ\ƒ\ƒ\ CREATE TABLE `ƒ\ƒ\ƒ\` (
`\\` char(1) DEFAULT NULL,
- `•\•\•\` char(6) NOT NULL DEFAULT '',
+ `•\•\•\` char(6) NOT NULL,
`”\”\”\` char(1) DEFAULT NULL,
`—\—\—\` char(1) DEFAULT NULL,
PRIMARY KEY (`•\•\•\`),
@@ -156,11 +156,11 @@ SELECT * FROM `ƒ\ƒ\ƒ\`;
•\•\•\•\•\
DESC `ƒ\ƒ\ƒ\`;
Field Type Null Key Default Extra
-•\•\•\ char(6) NO
+•\•\•\ char(6) NO NULL
SHOW CREATE TABLE `ƒ\ƒ\ƒ\`;
Table Create Table
ƒ\ƒ\ƒ\ CREATE TABLE `ƒ\ƒ\ƒ\` (
- `•\•\•\` char(6) NOT NULL DEFAULT ''
+ `•\•\•\` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=sjis
DROP TABLE `±±±`;
DROP TABLE `²²²`;
@@ -193,14 +193,14 @@ NULL ³³³³³ NULL NULL
DESC `±±±`;
Field Type Null Key Default Extra
¶¶ char(1) YES MUL NULL
-··· char(6) NO PRI
+··· char(6) NO PRI NULL
¸¸¸ char(1) YES UNI NULL
¹¹¹ char(1) YES NULL
SHOW CREATE TABLE `±±±`;
Table Create Table
±±± CREATE TABLE `±±±` (
`¶¶` char(1) DEFAULT NULL,
- `···` char(6) NOT NULL DEFAULT '',
+ `···` char(6) NOT NULL,
`¸¸¸` char(1) DEFAULT NULL,
`¹¹¹` char(1) DEFAULT NULL,
PRIMARY KEY (`···`),
@@ -220,11 +220,11 @@ SELECT * FROM `±±±`;
³³³³³
DESC `±±±`;
Field Type Null Key Default Extra
-··· char(6) NO
+··· char(6) NO NULL
SHOW CREATE TABLE `±±±`;
Table Create Table
±±± CREATE TABLE `±±±` (
- `···` char(6) NOT NULL DEFAULT ''
+ `···` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=sjis
ALTER TABLE `‚ ‚ ‚ ` ADD `‚©‚©‚©` char(1) FIRST;
ALTER TABLE `‚ ‚ ‚ ` ADD `‚­‚­‚­` char(1) AFTER `‚«‚«‚«`;
@@ -242,14 +242,14 @@ NULL ‚¤‚¤‚¤‚¤‚¤ NULL NULL
DESC `‚ ‚ ‚ `;
Field Type Null Key Default Extra
‚©‚© char(1) YES MUL NULL
-‚«‚«‚« char(6) NO PRI
+‚«‚«‚« char(6) NO PRI NULL
‚­‚­‚­ char(1) YES UNI NULL
‚¯‚¯‚¯ char(1) YES NULL
SHOW CREATE TABLE `‚ ‚ ‚ `;
Table Create Table
‚ ‚ ‚  CREATE TABLE `‚ ‚ ‚ ` (
`‚©‚©` char(1) DEFAULT NULL,
- `‚«‚«‚«` char(6) NOT NULL DEFAULT '',
+ `‚«‚«‚«` char(6) NOT NULL,
`‚­‚­‚­` char(1) DEFAULT NULL,
`‚¯‚¯‚¯` char(1) DEFAULT NULL,
PRIMARY KEY (`‚«‚«‚«`),
@@ -269,11 +269,11 @@ SELECT * FROM `‚ ‚ ‚ `;
‚¤‚¤‚¤‚¤‚¤
DESC `‚ ‚ ‚ `;
Field Type Null Key Default Extra
-‚«‚«‚« char(6) NO
+‚«‚«‚« char(6) NO NULL
SHOW CREATE TABLE `‚ ‚ ‚ `;
Table Create Table
‚ ‚ ‚  CREATE TABLE `‚ ‚ ‚ ` (
- `‚«‚«‚«` char(6) NOT NULL DEFAULT ''
+ `‚«‚«‚«` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=sjis
ALTER TABLE `ƒ\ƒ\ƒ\` ADD `\\\` char(1) FIRST;
ALTER TABLE `ƒ\ƒ\ƒ\` ADD `”\”\”\` char(1) AFTER `•\•\•\`;
@@ -291,14 +291,14 @@ NULL ”\”\”\”\”\ NULL NULL
DESC `ƒ\ƒ\ƒ\`;
Field Type Null Key Default Extra
\\ char(1) YES MUL NULL
-•\•\•\ char(6) NO PRI
+•\•\•\ char(6) NO PRI NULL
”\”\”\ char(1) YES UNI NULL
—\—\—\ char(1) YES NULL
SHOW CREATE TABLE `ƒ\ƒ\ƒ\`;
Table Create Table
ƒ\ƒ\ƒ\ CREATE TABLE `ƒ\ƒ\ƒ\` (
`\\` char(1) DEFAULT NULL,
- `•\•\•\` char(6) NOT NULL DEFAULT '',
+ `•\•\•\` char(6) NOT NULL,
`”\”\”\` char(1) DEFAULT NULL,
`—\—\—\` char(1) DEFAULT NULL,
PRIMARY KEY (`•\•\•\`),
@@ -318,11 +318,11 @@ SELECT * FROM `ƒ\ƒ\ƒ\`;
”\”\”\”\”\
DESC `ƒ\ƒ\ƒ\`;
Field Type Null Key Default Extra
-•\•\•\ char(6) NO
+•\•\•\ char(6) NO NULL
SHOW CREATE TABLE `ƒ\ƒ\ƒ\`;
Table Create Table
ƒ\ƒ\ƒ\ CREATE TABLE `ƒ\ƒ\ƒ\` (
- `•\•\•\` char(6) NOT NULL DEFAULT ''
+ `•\•\•\` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=sjis
DROP TABLE `±±±`;
DROP TABLE `²²²`;
@@ -355,14 +355,14 @@ NULL ³³³³³ NULL NULL
DESC `±±±`;
Field Type Null Key Default Extra
¶¶ char(1) YES MUL NULL
-··· char(6) NO PRI
+··· char(6) NO PRI NULL
¸¸¸ char(1) YES UNI NULL
¹¹¹ char(1) YES NULL
SHOW CREATE TABLE `±±±`;
Table Create Table
±±± CREATE TABLE `±±±` (
`¶¶` char(1) DEFAULT NULL,
- `···` char(6) NOT NULL DEFAULT '',
+ `···` char(6) NOT NULL,
`¸¸¸` char(1) DEFAULT NULL,
`¹¹¹` char(1) DEFAULT NULL,
PRIMARY KEY (`···`),
@@ -382,11 +382,11 @@ SELECT * FROM `±±±`;
³³³³³
DESC `±±±`;
Field Type Null Key Default Extra
-··· char(6) NO
+··· char(6) NO NULL
SHOW CREATE TABLE `±±±`;
Table Create Table
±±± CREATE TABLE `±±±` (
- `···` char(6) NOT NULL DEFAULT ''
+ `···` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=sjis
ALTER TABLE `‚ ‚ ‚ ` ADD `‚©‚©‚©` char(1) FIRST;
ALTER TABLE `‚ ‚ ‚ ` ADD `‚­‚­‚­` char(1) AFTER `‚«‚«‚«`;
@@ -404,14 +404,14 @@ NULL ‚¤‚¤‚¤‚¤‚¤ NULL NULL
DESC `‚ ‚ ‚ `;
Field Type Null Key Default Extra
‚©‚© char(1) YES MUL NULL
-‚«‚«‚« char(6) NO PRI
+‚«‚«‚« char(6) NO PRI NULL
‚­‚­‚­ char(1) YES UNI NULL
‚¯‚¯‚¯ char(1) YES NULL
SHOW CREATE TABLE `‚ ‚ ‚ `;
Table Create Table
‚ ‚ ‚  CREATE TABLE `‚ ‚ ‚ ` (
`‚©‚©` char(1) DEFAULT NULL,
- `‚«‚«‚«` char(6) NOT NULL DEFAULT '',
+ `‚«‚«‚«` char(6) NOT NULL,
`‚­‚­‚­` char(1) DEFAULT NULL,
`‚¯‚¯‚¯` char(1) DEFAULT NULL,
PRIMARY KEY (`‚«‚«‚«`),
@@ -431,11 +431,11 @@ SELECT * FROM `‚ ‚ ‚ `;
‚¤‚¤‚¤‚¤‚¤
DESC `‚ ‚ ‚ `;
Field Type Null Key Default Extra
-‚«‚«‚« char(6) NO
+‚«‚«‚« char(6) NO NULL
SHOW CREATE TABLE `‚ ‚ ‚ `;
Table Create Table
‚ ‚ ‚  CREATE TABLE `‚ ‚ ‚ ` (
- `‚«‚«‚«` char(6) NOT NULL DEFAULT ''
+ `‚«‚«‚«` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=sjis
ALTER TABLE `ƒ\ƒ\ƒ\` ADD `\\\` char(1) FIRST;
ALTER TABLE `ƒ\ƒ\ƒ\` ADD `”\”\”\` char(1) AFTER `•\•\•\`;
@@ -453,14 +453,14 @@ NULL ”\”\”\”\”\ NULL NULL
DESC `ƒ\ƒ\ƒ\`;
Field Type Null Key Default Extra
\\ char(1) YES MUL NULL
-•\•\•\ char(6) NO PRI
+•\•\•\ char(6) NO PRI NULL
”\”\”\ char(1) YES UNI NULL
—\—\—\ char(1) YES NULL
SHOW CREATE TABLE `ƒ\ƒ\ƒ\`;
Table Create Table
ƒ\ƒ\ƒ\ CREATE TABLE `ƒ\ƒ\ƒ\` (
`\\` char(1) DEFAULT NULL,
- `•\•\•\` char(6) NOT NULL DEFAULT '',
+ `•\•\•\` char(6) NOT NULL,
`”\”\”\` char(1) DEFAULT NULL,
`—\—\—\` char(1) DEFAULT NULL,
PRIMARY KEY (`•\•\•\`),
@@ -480,11 +480,11 @@ SELECT * FROM `ƒ\ƒ\ƒ\`;
”\”\”\”\”\
DESC `ƒ\ƒ\ƒ\`;
Field Type Null Key Default Extra
-•\•\•\ char(6) NO
+•\•\•\ char(6) NO NULL
SHOW CREATE TABLE `ƒ\ƒ\ƒ\`;
Table Create Table
ƒ\ƒ\ƒ\ CREATE TABLE `ƒ\ƒ\ƒ\` (
- `•\•\•\` char(6) NOT NULL DEFAULT ''
+ `•\•\•\` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=sjis
DROP TABLE `±±±`;
DROP TABLE `²²²`;
diff --git a/mysql-test/suite/jp/r/jp_alter_ucs2.result b/mysql-test/suite/jp/r/jp_alter_ucs2.result
index 7cbd8859ac1..204913250cc 100644
--- a/mysql-test/suite/jp/r/jp_alter_ucs2.result
+++ b/mysql-test/suite/jp/r/jp_alter_ucs2.result
@@ -32,14 +32,14 @@ NULL Ž³Ž³Ž³Ž³Ž³ NULL NULL
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
Ž¶Ž¶ char(1) YES MUL NULL
-Ž·Ž·Ž· char(6) NO PRI
+Ž·Ž·Ž· char(6) NO PRI NULL
Ž¸Ž¸Ž¸ char(1) YES UNI NULL
Ž¹Ž¹Ž¹ char(1) YES NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
`Ž¶Ž¶` char(1) DEFAULT NULL,
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT '',
+ `Ž·Ž·Ž·` char(6) NOT NULL,
`Ž¸Ž¸Ž¸` char(1) DEFAULT NULL,
`Ž¹Ž¹Ž¹` char(1) DEFAULT NULL,
PRIMARY KEY (`Ž·Ž·Ž·`),
@@ -59,11 +59,11 @@ SELECT * FROM `Ž±Ž±Ž±`;
Ž³Ž³Ž³Ž³Ž³
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
-Ž·Ž·Ž· char(6) NO
+Ž·Ž·Ž· char(6) NO NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT ''
+ `Ž·Ž·Ž·` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=ucs2
ALTER TABLE `¤¢¤¢¤¢` ADD `¤«¤«¤«` char(1) FIRST;
ALTER TABLE `¤¢¤¢¤¢` ADD `¤¯¤¯¤¯` char(1) AFTER `¤­¤­¤­`;
@@ -81,14 +81,14 @@ NULL ¤¦¤¦¤¦¤¦¤¦ NULL NULL
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
¤«¤« char(1) YES MUL NULL
-¤­¤­¤­ char(6) NO PRI
+¤­¤­¤­ char(6) NO PRI NULL
¤¯¤¯¤¯ char(1) YES UNI NULL
¤±¤±¤± char(1) YES NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
`¤«¤«` char(1) DEFAULT NULL,
- `¤­¤­¤­` char(6) NOT NULL DEFAULT '',
+ `¤­¤­¤­` char(6) NOT NULL,
`¤¯¤¯¤¯` char(1) DEFAULT NULL,
`¤±¤±¤±` char(1) DEFAULT NULL,
PRIMARY KEY (`¤­¤­¤­`),
@@ -108,11 +108,11 @@ SELECT * FROM `¤¢¤¢¤¢`;
¤¦¤¦¤¦¤¦¤¦
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
-¤­¤­¤­ char(6) NO
+¤­¤­¤­ char(6) NO NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
- `¤­¤­¤­` char(6) NOT NULL DEFAULT ''
+ `¤­¤­¤­` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=ucs2
ALTER TABLE `íÝíÝíÝ` ADD `°¢°¢°¢` char(1) FIRST;
ALTER TABLE `íÝíÝíÝ` ADD `°£°£°£` char(1) AFTER `°¡°¡°¡`;
@@ -130,14 +130,14 @@ NULL °£°£°£°£°£ NULL NULL
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
°¢°¢ char(1) YES MUL NULL
-°¡°¡°¡ char(6) NO PRI
+°¡°¡°¡ char(6) NO PRI NULL
°£°£°£ char(1) YES UNI NULL
°´°´°´ char(1) YES NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
`°¢°¢` char(1) DEFAULT NULL,
- `°¡°¡°¡` char(6) NOT NULL DEFAULT '',
+ `°¡°¡°¡` char(6) NOT NULL,
`°£°£°£` char(1) DEFAULT NULL,
`°´°´°´` char(1) DEFAULT NULL,
PRIMARY KEY (`°¡°¡°¡`),
@@ -157,11 +157,11 @@ SELECT * FROM `íÝíÝíÝ`;
°£°£°£°£°£
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
-°¡°¡°¡ char(6) NO
+°¡°¡°¡ char(6) NO NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
- `°¡°¡°¡` char(6) NOT NULL DEFAULT ''
+ `°¡°¡°¡` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=ucs2
DROP TABLE `Ž±Ž±Ž±`;
DROP TABLE `Ž²Ž²Ž²`;
@@ -194,14 +194,14 @@ NULL Ž³Ž³Ž³Ž³Ž³ NULL NULL
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
Ž¶Ž¶ char(1) YES MUL NULL
-Ž·Ž·Ž· char(6) NO PRI
+Ž·Ž·Ž· char(6) NO PRI NULL
Ž¸Ž¸Ž¸ char(1) YES UNI NULL
Ž¹Ž¹Ž¹ char(1) YES NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
`Ž¶Ž¶` char(1) DEFAULT NULL,
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT '',
+ `Ž·Ž·Ž·` char(6) NOT NULL,
`Ž¸Ž¸Ž¸` char(1) DEFAULT NULL,
`Ž¹Ž¹Ž¹` char(1) DEFAULT NULL,
PRIMARY KEY (`Ž·Ž·Ž·`),
@@ -221,11 +221,11 @@ SELECT * FROM `Ž±Ž±Ž±`;
Ž³Ž³Ž³Ž³Ž³
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
-Ž·Ž·Ž· char(6) NO
+Ž·Ž·Ž· char(6) NO NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT ''
+ `Ž·Ž·Ž·` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=ucs2
ALTER TABLE `¤¢¤¢¤¢` ADD `¤«¤«¤«` char(1) FIRST;
ALTER TABLE `¤¢¤¢¤¢` ADD `¤¯¤¯¤¯` char(1) AFTER `¤­¤­¤­`;
@@ -243,14 +243,14 @@ NULL ¤¦¤¦¤¦¤¦¤¦ NULL NULL
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
¤«¤« char(1) YES MUL NULL
-¤­¤­¤­ char(6) NO PRI
+¤­¤­¤­ char(6) NO PRI NULL
¤¯¤¯¤¯ char(1) YES UNI NULL
¤±¤±¤± char(1) YES NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
`¤«¤«` char(1) DEFAULT NULL,
- `¤­¤­¤­` char(6) NOT NULL DEFAULT '',
+ `¤­¤­¤­` char(6) NOT NULL,
`¤¯¤¯¤¯` char(1) DEFAULT NULL,
`¤±¤±¤±` char(1) DEFAULT NULL,
PRIMARY KEY (`¤­¤­¤­`),
@@ -270,11 +270,11 @@ SELECT * FROM `¤¢¤¢¤¢`;
¤¦¤¦¤¦¤¦¤¦
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
-¤­¤­¤­ char(6) NO
+¤­¤­¤­ char(6) NO NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
- `¤­¤­¤­` char(6) NOT NULL DEFAULT ''
+ `¤­¤­¤­` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=ucs2
ALTER TABLE `íÝíÝíÝ` ADD `°¢°¢°¢` char(1) FIRST;
ALTER TABLE `íÝíÝíÝ` ADD `°£°£°£` char(1) AFTER `°¡°¡°¡`;
@@ -292,14 +292,14 @@ NULL °£°£°£°£°£ NULL NULL
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
°¢°¢ char(1) YES MUL NULL
-°¡°¡°¡ char(6) NO PRI
+°¡°¡°¡ char(6) NO PRI NULL
°£°£°£ char(1) YES UNI NULL
°´°´°´ char(1) YES NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
`°¢°¢` char(1) DEFAULT NULL,
- `°¡°¡°¡` char(6) NOT NULL DEFAULT '',
+ `°¡°¡°¡` char(6) NOT NULL,
`°£°£°£` char(1) DEFAULT NULL,
`°´°´°´` char(1) DEFAULT NULL,
PRIMARY KEY (`°¡°¡°¡`),
@@ -319,11 +319,11 @@ SELECT * FROM `íÝíÝíÝ`;
°£°£°£°£°£
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
-°¡°¡°¡ char(6) NO
+°¡°¡°¡ char(6) NO NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
- `°¡°¡°¡` char(6) NOT NULL DEFAULT ''
+ `°¡°¡°¡` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=ucs2
DROP TABLE `Ž±Ž±Ž±`;
DROP TABLE `Ž²Ž²Ž²`;
@@ -356,14 +356,14 @@ NULL Ž³Ž³Ž³Ž³Ž³ NULL NULL
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
Ž¶Ž¶ char(1) YES MUL NULL
-Ž·Ž·Ž· char(6) NO PRI
+Ž·Ž·Ž· char(6) NO PRI NULL
Ž¸Ž¸Ž¸ char(1) YES UNI NULL
Ž¹Ž¹Ž¹ char(1) YES NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
`Ž¶Ž¶` char(1) DEFAULT NULL,
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT '',
+ `Ž·Ž·Ž·` char(6) NOT NULL,
`Ž¸Ž¸Ž¸` char(1) DEFAULT NULL,
`Ž¹Ž¹Ž¹` char(1) DEFAULT NULL,
PRIMARY KEY (`Ž·Ž·Ž·`),
@@ -383,11 +383,11 @@ SELECT * FROM `Ž±Ž±Ž±`;
Ž³Ž³Ž³Ž³Ž³
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
-Ž·Ž·Ž· char(6) NO
+Ž·Ž·Ž· char(6) NO NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT ''
+ `Ž·Ž·Ž·` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=ucs2
ALTER TABLE `¤¢¤¢¤¢` ADD `¤«¤«¤«` char(1) FIRST;
ALTER TABLE `¤¢¤¢¤¢` ADD `¤¯¤¯¤¯` char(1) AFTER `¤­¤­¤­`;
@@ -405,14 +405,14 @@ NULL ¤¦¤¦¤¦¤¦¤¦ NULL NULL
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
¤«¤« char(1) YES MUL NULL
-¤­¤­¤­ char(6) NO PRI
+¤­¤­¤­ char(6) NO PRI NULL
¤¯¤¯¤¯ char(1) YES UNI NULL
¤±¤±¤± char(1) YES NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
`¤«¤«` char(1) DEFAULT NULL,
- `¤­¤­¤­` char(6) NOT NULL DEFAULT '',
+ `¤­¤­¤­` char(6) NOT NULL,
`¤¯¤¯¤¯` char(1) DEFAULT NULL,
`¤±¤±¤±` char(1) DEFAULT NULL,
PRIMARY KEY (`¤­¤­¤­`),
@@ -432,11 +432,11 @@ SELECT * FROM `¤¢¤¢¤¢`;
¤¦¤¦¤¦¤¦¤¦
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
-¤­¤­¤­ char(6) NO
+¤­¤­¤­ char(6) NO NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
- `¤­¤­¤­` char(6) NOT NULL DEFAULT ''
+ `¤­¤­¤­` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=ucs2
ALTER TABLE `íÝíÝíÝ` ADD `°¢°¢°¢` char(1) FIRST;
ALTER TABLE `íÝíÝíÝ` ADD `°£°£°£` char(1) AFTER `°¡°¡°¡`;
@@ -454,14 +454,14 @@ NULL °£°£°£°£°£ NULL NULL
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
°¢°¢ char(1) YES MUL NULL
-°¡°¡°¡ char(6) NO PRI
+°¡°¡°¡ char(6) NO PRI NULL
°£°£°£ char(1) YES UNI NULL
°´°´°´ char(1) YES NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
`°¢°¢` char(1) DEFAULT NULL,
- `°¡°¡°¡` char(6) NOT NULL DEFAULT '',
+ `°¡°¡°¡` char(6) NOT NULL,
`°£°£°£` char(1) DEFAULT NULL,
`°´°´°´` char(1) DEFAULT NULL,
PRIMARY KEY (`°¡°¡°¡`),
@@ -481,11 +481,11 @@ SELECT * FROM `íÝíÝíÝ`;
°£°£°£°£°£
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
-°¡°¡°¡ char(6) NO
+°¡°¡°¡ char(6) NO NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
- `°¡°¡°¡` char(6) NOT NULL DEFAULT ''
+ `°¡°¡°¡` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=ucs2
DROP TABLE `Ž±Ž±Ž±`;
DROP TABLE `Ž²Ž²Ž²`;
diff --git a/mysql-test/suite/jp/r/jp_alter_ujis.result b/mysql-test/suite/jp/r/jp_alter_ujis.result
index 7e4f19342f6..a46da01e1cd 100644
--- a/mysql-test/suite/jp/r/jp_alter_ujis.result
+++ b/mysql-test/suite/jp/r/jp_alter_ujis.result
@@ -31,14 +31,14 @@ NULL Ž³Ž³Ž³Ž³Ž³ NULL NULL
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
Ž¶Ž¶ char(1) YES MUL NULL
-Ž·Ž·Ž· char(6) NO PRI
+Ž·Ž·Ž· char(6) NO PRI NULL
Ž¸Ž¸Ž¸ char(1) YES UNI NULL
Ž¹Ž¹Ž¹ char(1) YES NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
`Ž¶Ž¶` char(1) DEFAULT NULL,
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT '',
+ `Ž·Ž·Ž·` char(6) NOT NULL,
`Ž¸Ž¸Ž¸` char(1) DEFAULT NULL,
`Ž¹Ž¹Ž¹` char(1) DEFAULT NULL,
PRIMARY KEY (`Ž·Ž·Ž·`),
@@ -58,11 +58,11 @@ SELECT * FROM `Ž±Ž±Ž±`;
Ž³Ž³Ž³Ž³Ž³
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
-Ž·Ž·Ž· char(6) NO
+Ž·Ž·Ž· char(6) NO NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT ''
+ `Ž·Ž·Ž·` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=ujis
ALTER TABLE `¤¢¤¢¤¢` ADD `¤«¤«¤«` char(1) FIRST;
ALTER TABLE `¤¢¤¢¤¢` ADD `¤¯¤¯¤¯` char(1) AFTER `¤­¤­¤­`;
@@ -80,14 +80,14 @@ NULL ¤¦¤¦¤¦¤¦¤¦ NULL NULL
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
¤«¤« char(1) YES MUL NULL
-¤­¤­¤­ char(6) NO PRI
+¤­¤­¤­ char(6) NO PRI NULL
¤¯¤¯¤¯ char(1) YES UNI NULL
¤±¤±¤± char(1) YES NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
`¤«¤«` char(1) DEFAULT NULL,
- `¤­¤­¤­` char(6) NOT NULL DEFAULT '',
+ `¤­¤­¤­` char(6) NOT NULL,
`¤¯¤¯¤¯` char(1) DEFAULT NULL,
`¤±¤±¤±` char(1) DEFAULT NULL,
PRIMARY KEY (`¤­¤­¤­`),
@@ -107,11 +107,11 @@ SELECT * FROM `¤¢¤¢¤¢`;
¤¦¤¦¤¦¤¦¤¦
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
-¤­¤­¤­ char(6) NO
+¤­¤­¤­ char(6) NO NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
- `¤­¤­¤­` char(6) NOT NULL DEFAULT ''
+ `¤­¤­¤­` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=ujis
ALTER TABLE `íÝíÝíÝ` ADD `°¢°¢°¢` char(1) FIRST;
ALTER TABLE `íÝíÝíÝ` ADD `°£°£°£` char(1) AFTER `°¡°¡°¡`;
@@ -129,14 +129,14 @@ NULL °£°£°£°£°£ NULL NULL
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
°¢°¢ char(1) YES MUL NULL
-°¡°¡°¡ char(6) NO PRI
+°¡°¡°¡ char(6) NO PRI NULL
°£°£°£ char(1) YES UNI NULL
°´°´°´ char(1) YES NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
`°¢°¢` char(1) DEFAULT NULL,
- `°¡°¡°¡` char(6) NOT NULL DEFAULT '',
+ `°¡°¡°¡` char(6) NOT NULL,
`°£°£°£` char(1) DEFAULT NULL,
`°´°´°´` char(1) DEFAULT NULL,
PRIMARY KEY (`°¡°¡°¡`),
@@ -156,11 +156,11 @@ SELECT * FROM `íÝíÝíÝ`;
°£°£°£°£°£
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
-°¡°¡°¡ char(6) NO
+°¡°¡°¡ char(6) NO NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
- `°¡°¡°¡` char(6) NOT NULL DEFAULT ''
+ `°¡°¡°¡` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=ujis
DROP TABLE `Ž±Ž±Ž±`;
DROP TABLE `Ž²Ž²Ž²`;
@@ -193,14 +193,14 @@ NULL Ž³Ž³Ž³Ž³Ž³ NULL NULL
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
Ž¶Ž¶ char(1) YES MUL NULL
-Ž·Ž·Ž· char(6) NO PRI
+Ž·Ž·Ž· char(6) NO PRI NULL
Ž¸Ž¸Ž¸ char(1) YES UNI NULL
Ž¹Ž¹Ž¹ char(1) YES NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
`Ž¶Ž¶` char(1) DEFAULT NULL,
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT '',
+ `Ž·Ž·Ž·` char(6) NOT NULL,
`Ž¸Ž¸Ž¸` char(1) DEFAULT NULL,
`Ž¹Ž¹Ž¹` char(1) DEFAULT NULL,
PRIMARY KEY (`Ž·Ž·Ž·`),
@@ -220,11 +220,11 @@ SELECT * FROM `Ž±Ž±Ž±`;
Ž³Ž³Ž³Ž³Ž³
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
-Ž·Ž·Ž· char(6) NO
+Ž·Ž·Ž· char(6) NO NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT ''
+ `Ž·Ž·Ž·` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=ujis
ALTER TABLE `¤¢¤¢¤¢` ADD `¤«¤«¤«` char(1) FIRST;
ALTER TABLE `¤¢¤¢¤¢` ADD `¤¯¤¯¤¯` char(1) AFTER `¤­¤­¤­`;
@@ -242,14 +242,14 @@ NULL ¤¦¤¦¤¦¤¦¤¦ NULL NULL
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
¤«¤« char(1) YES MUL NULL
-¤­¤­¤­ char(6) NO PRI
+¤­¤­¤­ char(6) NO PRI NULL
¤¯¤¯¤¯ char(1) YES UNI NULL
¤±¤±¤± char(1) YES NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
`¤«¤«` char(1) DEFAULT NULL,
- `¤­¤­¤­` char(6) NOT NULL DEFAULT '',
+ `¤­¤­¤­` char(6) NOT NULL,
`¤¯¤¯¤¯` char(1) DEFAULT NULL,
`¤±¤±¤±` char(1) DEFAULT NULL,
PRIMARY KEY (`¤­¤­¤­`),
@@ -269,11 +269,11 @@ SELECT * FROM `¤¢¤¢¤¢`;
¤¦¤¦¤¦¤¦¤¦
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
-¤­¤­¤­ char(6) NO
+¤­¤­¤­ char(6) NO NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
- `¤­¤­¤­` char(6) NOT NULL DEFAULT ''
+ `¤­¤­¤­` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=ujis
ALTER TABLE `íÝíÝíÝ` ADD `°¢°¢°¢` char(1) FIRST;
ALTER TABLE `íÝíÝíÝ` ADD `°£°£°£` char(1) AFTER `°¡°¡°¡`;
@@ -291,14 +291,14 @@ NULL °£°£°£°£°£ NULL NULL
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
°¢°¢ char(1) YES MUL NULL
-°¡°¡°¡ char(6) NO PRI
+°¡°¡°¡ char(6) NO PRI NULL
°£°£°£ char(1) YES UNI NULL
°´°´°´ char(1) YES NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
`°¢°¢` char(1) DEFAULT NULL,
- `°¡°¡°¡` char(6) NOT NULL DEFAULT '',
+ `°¡°¡°¡` char(6) NOT NULL,
`°£°£°£` char(1) DEFAULT NULL,
`°´°´°´` char(1) DEFAULT NULL,
PRIMARY KEY (`°¡°¡°¡`),
@@ -318,11 +318,11 @@ SELECT * FROM `íÝíÝíÝ`;
°£°£°£°£°£
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
-°¡°¡°¡ char(6) NO
+°¡°¡°¡ char(6) NO NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
- `°¡°¡°¡` char(6) NOT NULL DEFAULT ''
+ `°¡°¡°¡` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=ujis
DROP TABLE `Ž±Ž±Ž±`;
DROP TABLE `Ž²Ž²Ž²`;
@@ -355,14 +355,14 @@ NULL Ž³Ž³Ž³Ž³Ž³ NULL NULL
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
Ž¶Ž¶ char(1) YES MUL NULL
-Ž·Ž·Ž· char(6) NO PRI
+Ž·Ž·Ž· char(6) NO PRI NULL
Ž¸Ž¸Ž¸ char(1) YES UNI NULL
Ž¹Ž¹Ž¹ char(1) YES NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
`Ž¶Ž¶` char(1) DEFAULT NULL,
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT '',
+ `Ž·Ž·Ž·` char(6) NOT NULL,
`Ž¸Ž¸Ž¸` char(1) DEFAULT NULL,
`Ž¹Ž¹Ž¹` char(1) DEFAULT NULL,
PRIMARY KEY (`Ž·Ž·Ž·`),
@@ -382,11 +382,11 @@ SELECT * FROM `Ž±Ž±Ž±`;
Ž³Ž³Ž³Ž³Ž³
DESC `Ž±Ž±Ž±`;
Field Type Null Key Default Extra
-Ž·Ž·Ž· char(6) NO
+Ž·Ž·Ž· char(6) NO NULL
SHOW CREATE TABLE `Ž±Ž±Ž±`;
Table Create Table
Ž±Ž±Ž± CREATE TABLE `Ž±Ž±Ž±` (
- `Ž·Ž·Ž·` char(6) NOT NULL DEFAULT ''
+ `Ž·Ž·Ž·` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=ujis
ALTER TABLE `¤¢¤¢¤¢` ADD `¤«¤«¤«` char(1) FIRST;
ALTER TABLE `¤¢¤¢¤¢` ADD `¤¯¤¯¤¯` char(1) AFTER `¤­¤­¤­`;
@@ -404,14 +404,14 @@ NULL ¤¦¤¦¤¦¤¦¤¦ NULL NULL
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
¤«¤« char(1) YES MUL NULL
-¤­¤­¤­ char(6) NO PRI
+¤­¤­¤­ char(6) NO PRI NULL
¤¯¤¯¤¯ char(1) YES UNI NULL
¤±¤±¤± char(1) YES NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
`¤«¤«` char(1) DEFAULT NULL,
- `¤­¤­¤­` char(6) NOT NULL DEFAULT '',
+ `¤­¤­¤­` char(6) NOT NULL,
`¤¯¤¯¤¯` char(1) DEFAULT NULL,
`¤±¤±¤±` char(1) DEFAULT NULL,
PRIMARY KEY (`¤­¤­¤­`),
@@ -431,11 +431,11 @@ SELECT * FROM `¤¢¤¢¤¢`;
¤¦¤¦¤¦¤¦¤¦
DESC `¤¢¤¢¤¢`;
Field Type Null Key Default Extra
-¤­¤­¤­ char(6) NO
+¤­¤­¤­ char(6) NO NULL
SHOW CREATE TABLE `¤¢¤¢¤¢`;
Table Create Table
¤¢¤¢¤¢ CREATE TABLE `¤¢¤¢¤¢` (
- `¤­¤­¤­` char(6) NOT NULL DEFAULT ''
+ `¤­¤­¤­` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=ujis
ALTER TABLE `íÝíÝíÝ` ADD `°¢°¢°¢` char(1) FIRST;
ALTER TABLE `íÝíÝíÝ` ADD `°£°£°£` char(1) AFTER `°¡°¡°¡`;
@@ -453,14 +453,14 @@ NULL °£°£°£°£°£ NULL NULL
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
°¢°¢ char(1) YES MUL NULL
-°¡°¡°¡ char(6) NO PRI
+°¡°¡°¡ char(6) NO PRI NULL
°£°£°£ char(1) YES UNI NULL
°´°´°´ char(1) YES NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
`°¢°¢` char(1) DEFAULT NULL,
- `°¡°¡°¡` char(6) NOT NULL DEFAULT '',
+ `°¡°¡°¡` char(6) NOT NULL,
`°£°£°£` char(1) DEFAULT NULL,
`°´°´°´` char(1) DEFAULT NULL,
PRIMARY KEY (`°¡°¡°¡`),
@@ -480,11 +480,11 @@ SELECT * FROM `íÝíÝíÝ`;
°£°£°£°£°£
DESC `íÝíÝíÝ`;
Field Type Null Key Default Extra
-°¡°¡°¡ char(6) NO
+°¡°¡°¡ char(6) NO NULL
SHOW CREATE TABLE `íÝíÝíÝ`;
Table Create Table
íÝíÝíÝ CREATE TABLE `íÝíÝíÝ` (
- `°¡°¡°¡` char(6) NOT NULL DEFAULT ''
+ `°¡°¡°¡` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=ujis
DROP TABLE `Ž±Ž±Ž±`;
DROP TABLE `Ž²Ž²Ž²`;
diff --git a/mysql-test/suite/jp/r/jp_alter_utf8.result b/mysql-test/suite/jp/r/jp_alter_utf8.result
index b641e9de78d..847a5e628f5 100644
--- a/mysql-test/suite/jp/r/jp_alter_utf8.result
+++ b/mysql-test/suite/jp/r/jp_alter_utf8.result
@@ -31,14 +31,14 @@ NULL ウウウウウ NULL NULL
DESC `アアア`;
Field Type Null Key Default Extra
カカ char(1) YES MUL NULL
-ï½·ï½·ï½· char(6) NO PRI
+ï½·ï½·ï½· char(6) NO PRI NULL
ククク char(1) YES UNI NULL
ケケケ char(1) YES NULL
SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
`カカ` char(1) DEFAULT NULL,
- `ï½·ï½·ï½·` char(6) NOT NULL DEFAULT '',
+ `ï½·ï½·ï½·` char(6) NOT NULL,
`ククク` char(1) DEFAULT NULL,
`ケケケ` char(1) DEFAULT NULL,
PRIMARY KEY (`ï½·ï½·ï½·`),
@@ -58,11 +58,11 @@ SELECT * FROM `アアア`;
ウウウウウ
DESC `アアア`;
Field Type Null Key Default Extra
-ï½·ï½·ï½· char(6) NO
+ï½·ï½·ï½· char(6) NO NULL
SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
- `ï½·ï½·ï½·` char(6) NOT NULL DEFAULT ''
+ `ï½·ï½·ï½·` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
ALTER TABLE `ã‚ã‚ã‚` ADD `ã‹ã‹ã‹` char(1) FIRST;
ALTER TABLE `ã‚ã‚ã‚` ADD `ããã` char(1) AFTER `ããã`;
@@ -80,14 +80,14 @@ NULL ã†ã†ã†ã†ã† NULL NULL
DESC `ã‚ã‚ã‚`;
Field Type Null Key Default Extra
ã‹ã‹ char(1) YES MUL NULL
-ããã char(6) NO PRI
+ããã char(6) NO PRI NULL
ããã char(1) YES UNI NULL
ã‘ã‘ã‘ char(1) YES NULL
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ã‹ã‹` char(1) DEFAULT NULL,
- `ããã` char(6) NOT NULL DEFAULT '',
+ `ããã` char(6) NOT NULL,
`ããã` char(1) DEFAULT NULL,
`ã‘ã‘ã‘` char(1) DEFAULT NULL,
PRIMARY KEY (`ããã`),
@@ -107,11 +107,11 @@ SELECT * FROM `ã‚ã‚ã‚`;
ã†ã†ã†ã†ã†
DESC `ã‚ã‚ã‚`;
Field Type Null Key Default Extra
-ããã char(6) NO
+ããã char(6) NO NULL
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
- `ããã` char(6) NOT NULL DEFAULT ''
+ `ããã` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
ALTER TABLE `龖龖龖` ADD `丄丄丄` char(1) FIRST;
ALTER TABLE `龖龖龖` ADD `丅丅丅` char(1) AFTER `丂丂丂`;
@@ -129,14 +129,14 @@ NULL 丅丅丅丅丅 NULL NULL
DESC `é¾–é¾–é¾–`;
Field Type Null Key Default Extra
丄丄 char(1) YES MUL NULL
-丂丂丂 char(6) NO PRI
+丂丂丂 char(6) NO PRI NULL
丅丅丅 char(1) YES UNI NULL
乚乚乚 char(1) YES NULL
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丄丄` char(1) DEFAULT NULL,
- `丂丂丂` char(6) NOT NULL DEFAULT '',
+ `丂丂丂` char(6) NOT NULL,
`丅丅丅` char(1) DEFAULT NULL,
`乚乚乚` char(1) DEFAULT NULL,
PRIMARY KEY (`丂丂丂`),
@@ -156,11 +156,11 @@ SELECT * FROM `é¾–é¾–é¾–`;
丅丅丅丅丅
DESC `é¾–é¾–é¾–`;
Field Type Null Key Default Extra
-丂丂丂 char(6) NO
+丂丂丂 char(6) NO NULL
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
- `丂丂丂` char(6) NOT NULL DEFAULT ''
+ `丂丂丂` char(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
@@ -193,14 +193,14 @@ NULL ウウウウウ NULL NULL
DESC `アアア`;
Field Type Null Key Default Extra
カカ char(1) YES MUL NULL
-ï½·ï½·ï½· char(6) NO PRI
+ï½·ï½·ï½· char(6) NO PRI NULL
ククク char(1) YES UNI NULL
ケケケ char(1) YES NULL
SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
`カカ` char(1) DEFAULT NULL,
- `ï½·ï½·ï½·` char(6) NOT NULL DEFAULT '',
+ `ï½·ï½·ï½·` char(6) NOT NULL,
`ククク` char(1) DEFAULT NULL,
`ケケケ` char(1) DEFAULT NULL,
PRIMARY KEY (`ï½·ï½·ï½·`),
@@ -220,11 +220,11 @@ SELECT * FROM `アアア`;
ウウウウウ
DESC `アアア`;
Field Type Null Key Default Extra
-ï½·ï½·ï½· char(6) NO
+ï½·ï½·ï½· char(6) NO NULL
SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
- `ï½·ï½·ï½·` char(6) NOT NULL DEFAULT ''
+ `ï½·ï½·ï½·` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
ALTER TABLE `ã‚ã‚ã‚` ADD `ã‹ã‹ã‹` char(1) FIRST;
ALTER TABLE `ã‚ã‚ã‚` ADD `ããã` char(1) AFTER `ããã`;
@@ -242,14 +242,14 @@ NULL ã†ã†ã†ã†ã† NULL NULL
DESC `ã‚ã‚ã‚`;
Field Type Null Key Default Extra
ã‹ã‹ char(1) YES MUL NULL
-ããã char(6) NO PRI
+ããã char(6) NO PRI NULL
ããã char(1) YES UNI NULL
ã‘ã‘ã‘ char(1) YES NULL
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ã‹ã‹` char(1) DEFAULT NULL,
- `ããã` char(6) NOT NULL DEFAULT '',
+ `ããã` char(6) NOT NULL,
`ããã` char(1) DEFAULT NULL,
`ã‘ã‘ã‘` char(1) DEFAULT NULL,
PRIMARY KEY (`ããã`),
@@ -269,11 +269,11 @@ SELECT * FROM `ã‚ã‚ã‚`;
ã†ã†ã†ã†ã†
DESC `ã‚ã‚ã‚`;
Field Type Null Key Default Extra
-ããã char(6) NO
+ããã char(6) NO NULL
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
- `ããã` char(6) NOT NULL DEFAULT ''
+ `ããã` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
ALTER TABLE `龖龖龖` ADD `丄丄丄` char(1) FIRST;
ALTER TABLE `龖龖龖` ADD `丅丅丅` char(1) AFTER `丂丂丂`;
@@ -291,14 +291,14 @@ NULL 丅丅丅丅丅 NULL NULL
DESC `é¾–é¾–é¾–`;
Field Type Null Key Default Extra
丄丄 char(1) YES MUL NULL
-丂丂丂 char(6) NO PRI
+丂丂丂 char(6) NO PRI NULL
丅丅丅 char(1) YES UNI NULL
乚乚乚 char(1) YES NULL
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丄丄` char(1) DEFAULT NULL,
- `丂丂丂` char(6) NOT NULL DEFAULT '',
+ `丂丂丂` char(6) NOT NULL,
`丅丅丅` char(1) DEFAULT NULL,
`乚乚乚` char(1) DEFAULT NULL,
PRIMARY KEY (`丂丂丂`),
@@ -318,11 +318,11 @@ SELECT * FROM `é¾–é¾–é¾–`;
丅丅丅丅丅
DESC `é¾–é¾–é¾–`;
Field Type Null Key Default Extra
-丂丂丂 char(6) NO
+丂丂丂 char(6) NO NULL
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
- `丂丂丂` char(6) NOT NULL DEFAULT ''
+ `丂丂丂` char(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
@@ -355,14 +355,14 @@ NULL ウウウウウ NULL NULL
DESC `アアア`;
Field Type Null Key Default Extra
カカ char(1) YES MUL NULL
-ï½·ï½·ï½· char(6) NO PRI
+ï½·ï½·ï½· char(6) NO PRI NULL
ククク char(1) YES UNI NULL
ケケケ char(1) YES NULL
SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
`カカ` char(1) DEFAULT NULL,
- `ï½·ï½·ï½·` char(6) NOT NULL DEFAULT '',
+ `ï½·ï½·ï½·` char(6) NOT NULL,
`ククク` char(1) DEFAULT NULL,
`ケケケ` char(1) DEFAULT NULL,
PRIMARY KEY (`ï½·ï½·ï½·`),
@@ -382,11 +382,11 @@ SELECT * FROM `アアア`;
ウウウウウ
DESC `アアア`;
Field Type Null Key Default Extra
-ï½·ï½·ï½· char(6) NO
+ï½·ï½·ï½· char(6) NO NULL
SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
- `ï½·ï½·ï½·` char(6) NOT NULL DEFAULT ''
+ `ï½·ï½·ï½·` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8
ALTER TABLE `ã‚ã‚ã‚` ADD `ã‹ã‹ã‹` char(1) FIRST;
ALTER TABLE `ã‚ã‚ã‚` ADD `ããã` char(1) AFTER `ããã`;
@@ -404,14 +404,14 @@ NULL ã†ã†ã†ã†ã† NULL NULL
DESC `ã‚ã‚ã‚`;
Field Type Null Key Default Extra
ã‹ã‹ char(1) YES MUL NULL
-ããã char(6) NO PRI
+ããã char(6) NO PRI NULL
ããã char(1) YES UNI NULL
ã‘ã‘ã‘ char(1) YES NULL
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ã‹ã‹` char(1) DEFAULT NULL,
- `ããã` char(6) NOT NULL DEFAULT '',
+ `ããã` char(6) NOT NULL,
`ããã` char(1) DEFAULT NULL,
`ã‘ã‘ã‘` char(1) DEFAULT NULL,
PRIMARY KEY (`ããã`),
@@ -431,11 +431,11 @@ SELECT * FROM `ã‚ã‚ã‚`;
ã†ã†ã†ã†ã†
DESC `ã‚ã‚ã‚`;
Field Type Null Key Default Extra
-ããã char(6) NO
+ããã char(6) NO NULL
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
- `ããã` char(6) NOT NULL DEFAULT ''
+ `ããã` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8
ALTER TABLE `龖龖龖` ADD `丄丄丄` char(1) FIRST;
ALTER TABLE `龖龖龖` ADD `丅丅丅` char(1) AFTER `丂丂丂`;
@@ -453,14 +453,14 @@ NULL 丅丅丅丅丅 NULL NULL
DESC `é¾–é¾–é¾–`;
Field Type Null Key Default Extra
丄丄 char(1) YES MUL NULL
-丂丂丂 char(6) NO PRI
+丂丂丂 char(6) NO PRI NULL
丅丅丅 char(1) YES UNI NULL
乚乚乚 char(1) YES NULL
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丄丄` char(1) DEFAULT NULL,
- `丂丂丂` char(6) NOT NULL DEFAULT '',
+ `丂丂丂` char(6) NOT NULL,
`丅丅丅` char(1) DEFAULT NULL,
`乚乚乚` char(1) DEFAULT NULL,
PRIMARY KEY (`丂丂丂`),
@@ -480,11 +480,11 @@ SELECT * FROM `é¾–é¾–é¾–`;
丅丅丅丅丅
DESC `é¾–é¾–é¾–`;
Field Type Null Key Default Extra
-丂丂丂 char(6) NO
+丂丂丂 char(6) NO NULL
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
- `丂丂丂` char(6) NOT NULL DEFAULT ''
+ `丂丂丂` char(6) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
diff --git a/mysql-test/suite/jp/r/jp_convert_ucs2.result b/mysql-test/suite/jp/r/jp_convert_ucs2.result
index 5d5b0761ad8..842ddfa2ea7 100644
--- a/mysql-test/suite/jp/r/jp_convert_ucs2.result
+++ b/mysql-test/suite/jp/r/jp_convert_ucs2.result
@@ -160,6 +160,14 @@ SELECT `£Ã£±`, CONVERT(`£Ã£±` using sjis) FROM `£Ô£³`;
°Ü°Ý°Þ°ß°à°á°â°ã°ä°å°æ°ç°è°é°ê°ë°ì°í°î°ï ????????????????????
í´íµí¶í·í¸í¹íºí»í¼í½í¾í¿íÀíÁíÂíÃíÄíÅíÆíÇ ????????????????????
íÈíÉíÊíËíÌíÍíÎíÏíÐíÑíÒíÓíÔíÕíÖí×íØíÙíÚíÛ ????????????????????
+Warnings:
+Warning 1977 Cannot convert 'ucs2' character 0x02DB to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x9EF8 to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x4E5A to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x4EE1 to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x4F19 to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x9F2B to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x9F57 to 'sjis'
SELECT `£Ã£±`, CONVERT(`£Ã£±` using utf8) FROM `£Ô£´`;
£Ã£± CONVERT(`£Ã£±` using utf8)
Ž¡Ž¢Ž£Ž¤Ž¥Ž¦Ž§Ž¨Ž©ŽªŽ«Ž¬Ž­Ž®Ž¯ Ž¡Ž¢Ž£Ž¤Ž¥Ž¦Ž§Ž¨Ž©ŽªŽ«Ž¬Ž­Ž®Ž¯
@@ -235,6 +243,14 @@ SELECT `£Ã£±`, CONVERT(`£Ã£±` using sjis) FROM `£Ô£¶`;
°Ü°Ý°Þ°ß°à°á°â°ã°ä°å°æ°ç°è°é°ê°ë°ì°í°î°ï ????????????????????
í´íµí¶í·í¸í¹íºí»í¼í½í¾í¿íÀíÁíÂíÃíÄíÅíÆíÇ ????????????????????
íÈíÉíÊíËíÌíÍíÎíÏíÐíÑíÒíÓíÔíÕíÖí×íØíÙíÚíÛ ????????????????????
+Warnings:
+Warning 1977 Cannot convert 'ucs2' character 0x02DB to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x9EF8 to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x4E5A to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x4EE1 to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x4F19 to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x9F2B to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x9F57 to 'sjis'
SELECT `£Ã£±`, CONVERT(`£Ã£±` using utf8) FROM `£Ô£·`;
£Ã£± CONVERT(`£Ã£±` using utf8)
PQRSTUVWXYZ[\]^_ PQRSTUVWXYZ[\]^_
@@ -310,6 +326,14 @@ SELECT `£Ã£±`, CONVERT(`£Ã£±` using sjis) FROM `£Ô£¹`;
¡¦í¡í¢í£í¤í¥í¦í§í¨í©íªí«í¬í­í®í¯í°í±í²í³ ¡¦???????????????????
í´íµí¶í·í¸í¹íºí»í¼í½í¾í¿íÀíÁíÂíÃíÄíÅíÆíÇ ????????????????????
íÈíÉíÊíËíÌíÍíÎíÏíÐíÑíÒíÓíÔíÕíÖí×íØíÙíÚíÛ ????????????????????
+Warnings:
+Warning 1977 Cannot convert 'ucs2' character 0x02DB to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x4E5A to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x4EE1 to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x4F19 to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x9EF8 to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x9F2B to 'sjis'
+Warning 1977 Cannot convert 'ucs2' character 0x9F57 to 'sjis'
drop table `£Ô£±`;
drop table `£Ô£²`;
drop table `£Ô£³`;
diff --git a/mysql-test/suite/jp/r/jp_convert_ujis.result b/mysql-test/suite/jp/r/jp_convert_ujis.result
index 314a9e95086..d47f6b4ef25 100644
--- a/mysql-test/suite/jp/r/jp_convert_ujis.result
+++ b/mysql-test/suite/jp/r/jp_convert_ujis.result
@@ -393,6 +393,38 @@ SELECT `£Ã£±`, CONVERT(`£Ã£±` using sjis) FROM `£Ô£³`;
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
+Warnings:
+Warning 1977 Cannot convert 'ujis' character 0x8FA2F0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA7C8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA9C8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAB4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAC8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAADC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAF0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABB4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABC8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABDC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABF0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0B4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0C8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0DC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0F0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDB4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDC8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDDC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA2B5 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA6F1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA9A1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAA1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABA1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0A1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDA1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA7F2 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA6E1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA9C1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA7C2 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA2AF to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA2EB to 'sjis'
SELECT `£Ã£±`, CONVERT(`£Ã£±` using utf8) FROM `£Ô£´`;
£Ã£± CONVERT(`£Ã£±` using utf8)
!"#$%&'()*+,-./ !"#$%&'()*+,-./
@@ -759,6 +791,38 @@ SELECT `£Ã£±`, CONVERT(`£Ã£±` using sjis) FROM `£Ô£¶`;
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
+Warnings:
+Warning 1977 Cannot convert 'ujis' character 0x8FA2F0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA7C8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA9C8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAB4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAC8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAADC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAF0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABB4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABC8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABDC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABF0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0B4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0C8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0DC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0F0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDB4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDC8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDDC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA2B5 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA6F1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA9A1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAA1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABA1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0A1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDA1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA7F2 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA6E1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA9C1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA7C2 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA2AF to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA2EB to 'sjis'
SELECT `£Ã£±`, CONVERT(`£Ã£±` using utf8) FROM `£Ô£·`;
£Ã£± CONVERT(`£Ã£±` using utf8)
!"#$%&'()*+,-./ !"#$%&'()*+,-./
@@ -1125,6 +1189,38 @@ SELECT `£Ã£±`, CONVERT(`£Ã£±` using sjis) FROM `£Ô£¹`;
íÈíÉíÊíËíÌíÍíÎíÏíÐíÑíÒíÓíÔíÕíÖí×íØíÙíÚíÛ ????????????????????
íÜíÝíÞíßíàíáíâí㡦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ????????¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ ¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
+Warnings:
+Warning 1977 Cannot convert 'ujis' character 0x8FA2AF to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA2B5 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA2EB to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA2F0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA6E1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA6F1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA7C2 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA7C8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA7F2 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA9A1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA9C1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FA9C8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAA1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAB4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAC8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAADC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FAAF0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABA1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABB4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABC8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABDC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FABF0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0A1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0B4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0C8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0DC to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FB0F0 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDA1 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDB4 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDC8 to 'sjis'
+Warning 1977 Cannot convert 'ujis' character 0x8FEDDC to 'sjis'
drop table `£Ô£±`;
drop table `£Ô£²`;
drop table `£Ô£³`;
diff --git a/mysql-test/suite/jp/r/jp_convert_utf8.result b/mysql-test/suite/jp/r/jp_convert_utf8.result
index 5a47d5d687a..e33edfb1c3f 100644
--- a/mysql-test/suite/jp/r/jp_convert_utf8.result
+++ b/mysql-test/suite/jp/r/jp_convert_utf8.result
@@ -131,6 +131,8 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T2`;
456789・・・・・・・ABCDEFG 456789・・・・・・・ABCDEFG
HIJKLMNOPQRSTUVWXYZ・ HIJKLMNOPQRSTUVWXYZ・
ï½ï½‘rstuvwxyz・・・・・・・・・ ï½ï½‘rstuvwxyz・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T2`;
C1 CONVERT(`C1` using ucs2)
θικλμνξοπÏστυφχψω・・・ θικλμνξοπÏστυφχψω・・・
@@ -267,6 +269,8 @@ SELECT `C1`, CONVERT(`C1` using sjis) FROM `T2`;
456789・・・・・・・ABCDEFG 456789・・・・・・・ABCDEFG
HIJKLMNOPQRSTUVWXYZ・ HIJKLMNOPQRSTUVWXYZ・
ï½ï½‘rstuvwxyz・・・・・・・・・ ï½ï½‘rstuvwxyz・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T3`;
C1 CONVERT(`C1` using ujis)
êěėēęǵÄğ・ġĥíìïîÇ・īįĩ êěėēęǵÄğ・ġĥíìïîÇ・īįĩ
@@ -309,6 +313,8 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T3`;
鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿é½é½ƒé½„齅齆齇齓齕齖 鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿é½é½ƒé½„齅齆齇齓齕齖
齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’ 齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’
龔龖龗龞龡龢龣龥・・・・・・・・・・・・ 龔龖龗龞龡龢龣龥・・・・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xEFBD9E to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T3`;
C1 CONVERT(`C1` using ucs2)
êěėēęǵÄğ・ġĥíìïîÇ・īįĩ êěėēęǵÄğ・ġĥíìïîÇ・īįĩ
@@ -393,6 +399,38 @@ SELECT `C1`, CONVERT(`C1` using sjis) FROM `T3`;
鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿é½é½ƒé½„齅齆齇齓齕齖 ????????????????????
齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’ ????????????????????
龔龖龗龞龡龢龣龥・・・・・・・・・・・・ ????????・・・・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xC3AA to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC38A to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC4B4 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC4B5 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC59A to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC59B to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC795 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC796 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC2A4 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC582 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xD088 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC381 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC3A1 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC386 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCB9B to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCEAC to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xD192 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCE86 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC3A6 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xD082 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC2BA to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCB98 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4B882 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BBB8 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4B99A to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4BBA1 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4BC99 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4BD9F to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BCAB to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BD97 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BE94 to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T4`;
C1 CONVERT(`C1` using ujis)
!"#$%&'()*+,-./ !"#$%&'()*+,-./
@@ -497,6 +535,8 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T5`;
456789・・・・・・・ABCDEFG 456789・・・・・・・ABCDEFG
HIJKLMNOPQRSTUVWXYZ・ HIJKLMNOPQRSTUVWXYZ・
ï½ï½‘rstuvwxyz・・・・・・・・・ ï½ï½‘rstuvwxyz・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T5`;
C1 CONVERT(`C1` using ucs2)
θικλμνξοπÏστυφχψω・・・ θικλμνξοπÏστυφχψω・・・
@@ -633,6 +673,8 @@ SELECT `C1`, CONVERT(`C1` using sjis) FROM `T5`;
456789・・・・・・・ABCDEFG 456789・・・・・・・ABCDEFG
HIJKLMNOPQRSTUVWXYZ・ HIJKLMNOPQRSTUVWXYZ・
ï½ï½‘rstuvwxyz・・・・・・・・・ ï½ï½‘rstuvwxyz・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T6`;
C1 CONVERT(`C1` using ujis)
êěėēęǵÄğ・ġĥíìïîÇ・īįĩ êěėēęǵÄğ・ġĥíìïîÇ・īįĩ
@@ -675,6 +717,8 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T6`;
鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿é½é½ƒé½„齅齆齇齓齕齖 鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿é½é½ƒé½„齅齆齇齓齕齖
齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’ 齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’
龔龖龗龞龡龢龣龥・・・・・・・・・・・・ 龔龖龗龞龡龢龣龥・・・・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xEFBD9E to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T6`;
C1 CONVERT(`C1` using ucs2)
êěėēęǵÄğ・ġĥíìïîÇ・īįĩ êěėēęǵÄğ・ġĥíìïîÇ・īįĩ
@@ -759,6 +803,38 @@ SELECT `C1`, CONVERT(`C1` using sjis) FROM `T6`;
鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿é½é½ƒé½„齅齆齇齓齕齖 ????????????????????
齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’ ????????????????????
龔龖龗龞龡龢龣龥・・・・・・・・・・・・ ????????・・・・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xC3AA to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC38A to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC4B4 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC4B5 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC59A to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC59B to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC795 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC796 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC2A4 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC582 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xD088 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC381 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC3A1 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC386 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCB9B to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCEAC to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xD192 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCE86 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC3A6 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xD082 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC2BA to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCB98 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4B882 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BBB8 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4B99A to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4BBA1 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4BC99 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4BD9F to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BCAB to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BD97 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BE94 to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T7`;
C1 CONVERT(`C1` using ujis)
!"#$%&'()*+,-./ !"#$%&'()*+,-./
@@ -863,6 +939,8 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T8`;
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T8`;
C1 CONVERT(`C1` using ucs2)
  ã€ã€‚,.・:;?ï¼ã‚›ã‚œÂ´ï½€Â¨ï¼¾ï¿£ï¼¿ãƒ½   ã€ã€‚,.・:;?ï¼ã‚›ã‚œÂ´ï½€Â¨ï¼¾ï¿£ï¼¿ãƒ½
@@ -999,6 +1077,8 @@ SELECT `C1`, CONVERT(`C1` using sjis) FROM `T8`;
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T9`;
C1 CONVERT(`C1` using ujis)
ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»Ë˜Ë‡Â¸Ë™Ë ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»Ë˜Ë‡Â¸Ë™Ë
@@ -1041,6 +1121,8 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T9`;
齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’ 齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’
龔龖龗龞龡龢龣龥・・・・・・・・・・・・ 龔龖龗龞龡龢龣龥・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xEFBD9E to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T9`;
C1 CONVERT(`C1` using ucs2)
ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»Ë˜Ë‡Â¸Ë™Ë ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»Ë˜Ë‡Â¸Ë™Ë
@@ -1125,6 +1207,38 @@ SELECT `C1`, CONVERT(`C1` using sjis) FROM `T9`;
齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’ ????????????????????
龔龖龗龞龡龢龣龥・・・・・・・・・・・・ ????????・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
+Warnings:
+Warning 1977 Cannot convert 'utf8' character 0xCB98 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCB9B to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC2BA to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC2A4 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCE86 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xCEAC to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xD082 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xD088 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xD192 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC386 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC3A6 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC582 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC381 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC38A to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC4B4 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC59A to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC795 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC3A1 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC3AA to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC4B5 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC59B to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xC796 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4B882 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4B99A to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4BBA1 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4BC99 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE4BD9F to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BBB8 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BCAB to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BD97 to 'sjis'
+Warning 1977 Cannot convert 'utf8' character 0xE9BE94 to 'sjis'
drop table `T1`;
drop table `ï¼´ï¼’`;
drop table `T3`;
diff --git a/mysql-test/suite/jp/r/jp_create_db_sjis.result b/mysql-test/suite/jp/r/jp_create_db_sjis.result
index b7c09fbfbe9..93524e1c443 100644
--- a/mysql-test/suite/jp/r/jp_create_db_sjis.result
+++ b/mysql-test/suite/jp/r/jp_create_db_sjis.result
@@ -9,12 +9,12 @@ CREATE DATABASE `ƒ\\•\`;
SELECT schema_name from information_schema.schemata where schema_name <> 'mtr';
schema_name
information_schema
-ƒ\\•\
-“ú–{Œê
-ÆÎݺÞ
mysql
performance_schema
test
+ƒ\\•\
+“ú–{Œê
+ÆÎݺÞ
USE `ÆÎݺÞ`;
USE `“ú–{Œê`;
USE `ƒ\\•\`;
diff --git a/mysql-test/suite/jp/r/jp_create_db_ucs2.result b/mysql-test/suite/jp/r/jp_create_db_ucs2.result
index 3832ff5a0c7..c6a2ff78b4f 100644
--- a/mysql-test/suite/jp/r/jp_create_db_ucs2.result
+++ b/mysql-test/suite/jp/r/jp_create_db_ucs2.result
@@ -10,12 +10,12 @@ CREATE DATABASE `íÜíÝíÞ`;
SELECT schema_name from information_schema.schemata where schema_name <> 'mtr';
schema_name
information_schema
-ÆüËܸì
-íÜíÝíÞ
-ŽÆŽÎŽÝŽºŽÞ
mysql
performance_schema
test
+ÆüËܸì
+íÜíÝíÞ
+ŽÆŽÎŽÝŽºŽÞ
USE `ŽÆŽÎŽÝŽºŽÞ`;
USE `ÆüËܸì`;
USE `íÜíÝíÞ`;
diff --git a/mysql-test/suite/jp/r/jp_create_db_ujis.result b/mysql-test/suite/jp/r/jp_create_db_ujis.result
index d6bf31336fd..e5e0c2f1ad8 100644
--- a/mysql-test/suite/jp/r/jp_create_db_ujis.result
+++ b/mysql-test/suite/jp/r/jp_create_db_ujis.result
@@ -9,12 +9,12 @@ CREATE DATABASE `íÜíÝíÞ`;
SELECT schema_name from information_schema.schemata where schema_name <> 'mtr';
schema_name
information_schema
-ÆüËܸì
-íÜíÝíÞ
-ŽÆŽÎŽÝŽºŽÞ
mysql
performance_schema
test
+ÆüËܸì
+íÜíÝíÞ
+ŽÆŽÎŽÝŽºŽÞ
USE `ŽÆŽÎŽÝŽºŽÞ`;
USE `ÆüËܸì`;
USE `íÜíÝíÞ`;
diff --git a/mysql-test/suite/jp/r/jp_create_db_utf8.result b/mysql-test/suite/jp/r/jp_create_db_utf8.result
index 62202d43df0..f07a36fd7c7 100644
--- a/mysql-test/suite/jp/r/jp_create_db_utf8.result
+++ b/mysql-test/suite/jp/r/jp_create_db_utf8.result
@@ -9,12 +9,12 @@ CREATE DATABASE `龔龖龗`;
SELECT schema_name from information_schema.schemata where schema_name <> 'mtr';
schema_name
information_schema
-日本語
-龔龖龗
-ニホï¾ï½ºï¾ž
mysql
performance_schema
test
+日本語
+龔龖龗
+ニホï¾ï½ºï¾ž
USE `ニホï¾ï½ºï¾ž`;
USE `日本語`;
USE `龔龖龗`;
diff --git a/mysql-test/suite/manual/r/rpl_replication_delay.result b/mysql-test/suite/manual/r/rpl_replication_delay.result
deleted file mode 100644
index 73dd77cc647..00000000000
--- a/mysql-test/suite/manual/r/rpl_replication_delay.result
+++ /dev/null
@@ -1,25 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-# Second_behind reports 0
-Seconds_Behind_Master 0
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-create table t1 (f1 int);
-flush logs /* contaminate rli->last_master_timestamp */;
-lock table t1 write;
-insert into t1 values (1);
-# bug emulated: reports slave threads starting time about 3*3 not 3 secs
-Seconds_Behind_Master 9
-unlock tables;
-flush logs /* this time rli->last_master_timestamp is not affected */;
-lock table t1 write;
-insert into t1 values (2);
-# reports the correct diff with master query time about 3+3 secs
-Seconds_Behind_Master 7
-unlock tables;
-drop table t1;
diff --git a/mysql-test/suite/manual/t/rpl_replication_delay-slave.opt b/mysql-test/suite/manual/t/rpl_replication_delay-slave.opt
deleted file mode 100644
index 24a4c5952fe..00000000000
--- a/mysql-test/suite/manual/t/rpl_replication_delay-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-debug=d,let_first_flush_log_change_timestamp
diff --git a/mysql-test/suite/manual/t/rpl_replication_delay.test b/mysql-test/suite/manual/t/rpl_replication_delay.test
deleted file mode 100644
index f2b2da6f53c..00000000000
--- a/mysql-test/suite/manual/t/rpl_replication_delay.test
+++ /dev/null
@@ -1,63 +0,0 @@
-#
-# Testing replication delay reporting (bug#29309)
-# there is an unavoidable non-determinism in the test
-# please compare the results with the comments
-#
-
-
-source include/master-slave.inc;
-
-connection slave;
-
---echo # Second_behind reports 0
-let $status_items= Seconds_Behind_Master;
-source include/show_slave_status.inc;
-sleep 3;
-
-### bug emulation
-
-connection master;
-drop table if exists t1;
-create table t1 (f1 int);
-sleep 3;
-
-#connection slave;
-sync_slave_with_master;
-flush logs /* contaminate rli->last_master_timestamp */;
-
-connection slave;
-lock table t1 write;
-
-connection master;
-insert into t1 values (1);
-
-sleep 3;
-
-connection slave;
---echo # bug emulated: reports slave threads starting time about 3*3 not 3 secs
-source include/show_slave_status.inc;
-unlock tables;
-
-connection master;
-sync_slave_with_master;
-
-### bugfix
-
-
-connection slave;
-flush logs /* this time rli->last_master_timestamp is not affected */;
-lock table t1 write;
-
-connection master;
-insert into t1 values (2);
-sleep 3;
-
-connection slave;
---echo # reports the correct diff with master query time about 3+3 secs
-source include/show_slave_status.inc;
-unlock tables;
-
-connection master;
-drop table t1;
-
---source include/rpl_end.inc
diff --git a/mysql-test/suite/maria/alter.result b/mysql-test/suite/maria/alter.result
index 65e4cb74819..c63688dddd6 100644
--- a/mysql-test/suite/maria/alter.result
+++ b/mysql-test/suite/maria/alter.result
@@ -1,6 +1,6 @@
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (pk INT, d DATETIME, PRIMARY KEY(pk), KEY(d)) ENGINE=Aria;
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 VALUES (1,'2000-01-01 22:22:22'),(2,'2012-12-21 12:12:12');
@@ -31,3 +31,19 @@ pk i
8 88
9 99
DROP TABLE t1;
+CREATE TABLE t1 (f INT) ENGINE=Aria transactional=1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
+INSERT INTO t1 VALUES (1),(2);
+ALTER TABLE t1 ORDER BY unknown_column;
+ERROR 42S22: Unknown column 'unknown_column' in 'order clause'
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
+CREATE TABLE t2 SELECT * FROM t1;
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/maria/alter.test b/mysql-test/suite/maria/alter.test
index abca4865688..09672cdfa3b 100644
--- a/mysql-test/suite/maria/alter.test
+++ b/mysql-test/suite/maria/alter.test
@@ -25,3 +25,20 @@ INSERT INTO t1 VALUES (2,0),(3,33),(4,0),(5,55),(6,66),(7,0),(8,88),(9,99);
ALTER TABLE t1 ENABLE KEYS;
SELECT * FROM t1 WHERE i = 0 OR pk BETWEEN 6 AND 10;
DROP TABLE t1;
+
+#
+# MDEV-14943
+# Assertion `block->type == PAGECACHE_EMPTY_PAGE || block->type == type ||
+# type == PAGECACHE_LSN_PAGE || type == PAGECACHE_READ_UNKNOWN_PAGE ||
+# block->type == PAGECACHE_READ_UNKNOWN_PAGE' failed in pagecache_read upon
+# CREATE ... SELECT from Aria table
+#
+
+CREATE TABLE t1 (f INT) ENGINE=Aria transactional=1;
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES (1),(2);
+--error ER_BAD_FIELD_ERROR
+ALTER TABLE t1 ORDER BY unknown_column;
+SHOW CREATE TABLE t1;
+CREATE TABLE t2 SELECT * FROM t1;
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/maria/collations.result b/mysql-test/suite/maria/collations.result
new file mode 100644
index 00000000000..86f7117c378
--- /dev/null
+++ b/mysql-test/suite/maria/collations.result
@@ -0,0 +1,25 @@
+DROP TABLE IF EXISTS t1;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_croatian_ci, KEY(a)) ENGINE=ARIA;
+INSERT INTO t1 VALUES ('na'),('nj'),('nz'),('Z');
+explain SELECT a FROM t1 ORDER BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 33 NULL 4 Using index
+SELECT a FROM t1 ORDER BY a;
+a
+na
+nz
+nj
+Z
+ALTER TABLE t1 engine=myisam;
+explain SELECT a FROM t1 ORDER BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 33 NULL 4 Using index
+SELECT a FROM t1 ORDER BY a;
+a
+na
+nz
+nj
+Z
+drop table t1;
diff --git a/mysql-test/suite/maria/collations.test b/mysql-test/suite/maria/collations.test
new file mode 100644
index 00000000000..fe93e1913a7
--- /dev/null
+++ b/mysql-test/suite/maria/collations.test
@@ -0,0 +1,14 @@
+#
+# Test 2-byte collations
+#
+
+DROP TABLE IF EXISTS t1;
+
+CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_croatian_ci, KEY(a)) ENGINE=ARIA;
+INSERT INTO t1 VALUES ('na'),('nj'),('nz'),('Z');
+explain SELECT a FROM t1 ORDER BY a;
+SELECT a FROM t1 ORDER BY a;
+ALTER TABLE t1 engine=myisam;
+explain SELECT a FROM t1 ORDER BY a;
+SELECT a FROM t1 ORDER BY a;
+drop table t1;
diff --git a/mysql-test/suite/maria/concurrent.result b/mysql-test/suite/maria/concurrent.result
new file mode 100644
index 00000000000..5498a6410a2
--- /dev/null
+++ b/mysql-test/suite/maria/concurrent.result
@@ -0,0 +1,28 @@
+CREATE TABLE t1 (a INT, b CHAR(12), c INT, FULLTEXT KEY(b), KEY (c)) ENGINE=Aria;
+CREATE TABLE t2 (a INT, b CHAR(12), c INT) ENGINE=Aria;
+INSERT INTO t2 VALUES (1,'foo',8), (2,'bar',9);
+INSERT INTO t1 SELECT * FROM t2;
+select 1;
+1
+1
+select 1;
+1
+1
+select 1;
+1
+1
+select 1;
+1
+1
+select 1;
+1
+1
+select 1;
+1
+1
+select 1;
+1
+1
+SELECT * FROM t1 WHERE a = ( SELECT 1 FROM non_existing_table2 );
+ERROR 42S02: Table 'test.non_existing_table2' doesn't exist
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/maria/concurrent.test b/mysql-test/suite/maria/concurrent.test
new file mode 100644
index 00000000000..42adb082d40
--- /dev/null
+++ b/mysql-test/suite/maria/concurrent.test
@@ -0,0 +1,28 @@
+#
+# MDEV-15797 Assertion `thd->killed != 0' failed in ha_maria::enable_indexes
+#
+
+CREATE TABLE t1 (a INT, b CHAR(12), c INT, FULLTEXT KEY(b), KEY (c)) ENGINE=Aria;
+CREATE TABLE t2 (a INT, b CHAR(12), c INT) ENGINE=Aria;
+INSERT INTO t2 VALUES (1,'foo',8), (2,'bar',9);
+
+--connect (con1,localhost,root,,test)
+--send
+ INSERT INTO t1 SELECT * FROM t2;
+--connection default
+select 1;
+select 1;
+select 1;
+select 1;
+select 1;
+select 1;
+select 1;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t1 WHERE a = ( SELECT 1 FROM non_existing_table2 );
+--connection con1
+--reap
+
+# Cleanup
+--disconnect con1
+--connection default
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/maria/create.result b/mysql-test/suite/maria/create.result
new file mode 100644
index 00000000000..82c6b8c9871
--- /dev/null
+++ b/mysql-test/suite/maria/create.result
@@ -0,0 +1,33 @@
+CREATE OR REPLACE TABLE t1 (
+f1 DECIMAL(43,0) NOT NULL,
+f2 TIME(4) NULL,
+f3 BINARY(101) NULL,
+f4 TIMESTAMP(4) NULL,
+f5 DATETIME(1) NULL,
+f6 SET('a','b','c') NOT NULL DEFAULT 'a',
+f7 VARBINARY(2332) NOT NULL DEFAULT '',
+f8 DATE NULL,
+f9 BLOB NULL,
+f10 MEDIUMINT(45) NOT NULL DEFAULT 0,
+f11 YEAR NULL,
+f12 BIT(58) NULL,
+v2 TIME(1) AS (f2) VIRTUAL,
+v3 BINARY(115) AS (f3) VIRTUAL,
+v4 TIMESTAMP(3) AS (f4) VIRTUAL,
+v7 VARBINARY(658) AS (f7) PERSISTENT,
+v8 DATE AS (f8) PERSISTENT,
+v9 TINYTEXT AS (f9) PERSISTENT,
+v11 YEAR AS (f11) VIRTUAL
+) ENGINE=Aria;
+INSERT IGNORE INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12) VALUES
+(0.8,'16:01:46',NULL,'2006-03-01 12:44:34','2029-10-10 21:27:53','a','foo','1989-12-24','bar',9,1975,b'1');
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+DROP TABLE t1;
+CREATE OR REPLACE TABLE t1 (a INT(45));
+INSERT IGNORE INTO t1 VALUES (1),(2);
+CREATE OR REPLACE TABLE t2 ENGINE=Aria AS SELECT SUM(a) AS f1, IFNULL( 'qux', ExtractValue( 'foo', 'bar' ) ) AS f2 FROM t1;
+select * from t2;
+f1 f2
+3 qux
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/maria/create.test b/mysql-test/suite/maria/create.test
new file mode 100644
index 00000000000..8f2ffd7492f
--- /dev/null
+++ b/mysql-test/suite/maria/create.test
@@ -0,0 +1,42 @@
+--source include/have_maria.inc
+
+# MDEV-17021
+# Server crash or assertion `length <= column->length' failure in
+# write_block_record
+#
+
+CREATE OR REPLACE TABLE t1 (
+ f1 DECIMAL(43,0) NOT NULL,
+ f2 TIME(4) NULL,
+ f3 BINARY(101) NULL,
+ f4 TIMESTAMP(4) NULL,
+ f5 DATETIME(1) NULL,
+ f6 SET('a','b','c') NOT NULL DEFAULT 'a',
+ f7 VARBINARY(2332) NOT NULL DEFAULT '',
+ f8 DATE NULL,
+ f9 BLOB NULL,
+ f10 MEDIUMINT(45) NOT NULL DEFAULT 0,
+ f11 YEAR NULL,
+ f12 BIT(58) NULL,
+ v2 TIME(1) AS (f2) VIRTUAL,
+ v3 BINARY(115) AS (f3) VIRTUAL,
+ v4 TIMESTAMP(3) AS (f4) VIRTUAL,
+ v7 VARBINARY(658) AS (f7) PERSISTENT,
+ v8 DATE AS (f8) PERSISTENT,
+ v9 TINYTEXT AS (f9) PERSISTENT,
+ v11 YEAR AS (f11) VIRTUAL
+) ENGINE=Aria;
+INSERT IGNORE INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12) VALUES
+ (0.8,'16:01:46',NULL,'2006-03-01 12:44:34','2029-10-10 21:27:53','a','foo','1989-12-24','bar',9,1975,b'1');
+DROP TABLE t1;
+
+#
+# MDEV-17067 Server crash in write_block_record
+#
+
+CREATE OR REPLACE TABLE t1 (a INT(45));
+INSERT IGNORE INTO t1 VALUES (1),(2);
+
+CREATE OR REPLACE TABLE t2 ENGINE=Aria AS SELECT SUM(a) AS f1, IFNULL( 'qux', ExtractValue( 'foo', 'bar' ) ) AS f2 FROM t1;
+select * from t2;
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/maria/encrypt-wrong-key.result b/mysql-test/suite/maria/encrypt-wrong-key.result
new file mode 100644
index 00000000000..bc22481296d
--- /dev/null
+++ b/mysql-test/suite/maria/encrypt-wrong-key.result
@@ -0,0 +1,16 @@
+call mtr.add_suppression("file_key_management");
+call mtr.add_suppression("System key id 1 is missing");
+call mtr.add_suppression("Unknown key id 1");
+call mtr.add_suppression("Failed to decrypt");
+CREATE TABLE t1 (i INT, KEY(i)) ENGINE=Aria;
+INSERT INTO t1 VALUES (1);
+repair table t1;
+Table Op Msg_type Msg_text
+test.t1 repair info Wrong CRC on datapage at 1
+test.t1 repair warning Number of rows changed from 1 to 0
+test.t1 repair status OK
+INSERT INTO t1 VALUES (2);
+select * from t1;
+ERROR HY000: failed to decrypt './test/t1' rc: -1 dstlen: 0 size: 8172
+
+drop table t1;
diff --git a/mysql-test/suite/maria/encrypt-wrong-key.test b/mysql-test/suite/maria/encrypt-wrong-key.test
new file mode 100644
index 00000000000..6f59952c1fa
--- /dev/null
+++ b/mysql-test/suite/maria/encrypt-wrong-key.test
@@ -0,0 +1,54 @@
+--source include/not_embedded.inc
+
+#
+# Test what happens if one removes a decryption key for Aria
+#
+
+call mtr.add_suppression("file_key_management");
+call mtr.add_suppression("System key id 1 is missing");
+call mtr.add_suppression("Unknown key id 1");
+call mtr.add_suppression("Failed to decrypt");
+
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--shutdown_server
+--source include/wait_until_disconnected.inc
+
+--write_file $MYSQLTEST_VARDIR/keys1.txt
+1;770A8A65DA156D24EE2A093277530142
+EOF
+
+--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management.so --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
+--shutdown_server
+--source include/wait_until_disconnected.inc
+
+--write_file $MYSQLTEST_VARDIR/keys2.txt
+2;770A8A65DA156D24EE2A093277530143
+EOF
+
+--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management.so --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
+
+repair table t1;
+
+INSERT INTO t1 VALUES (2);
+
+--exec echo "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.so --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
+
+--replace_result \\ /
+--error 192
+select * from t1;
+drop table t1;
diff --git a/mysql-test/suite/maria/icp.result b/mysql-test/suite/maria/icp.result
index 0ebf7cf1da8..e37877c8527 100644
--- a/mysql-test/suite/maria/icp.result
+++ b/mysql-test/suite/maria/icp.result
@@ -167,7 +167,7 @@ WHERE ts BETWEEN '0000-00-00' AND '2010-00-01 00:00:00'
ORDER BY ts DESC
LIMIT 2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 4 Using where
+1 SIMPLE t1 index PRIMARY PRIMARY 4 NULL 2 Using where
DROP TABLE t1;
#
@@ -416,17 +416,11 @@ DROP TABLE t1;
# Bug#59259 "Incorrect rows returned for a correlated subquery
# when ICP is on"
#
-CREATE TABLE t1 (pk INTEGER PRIMARY KEY, i INTEGER NOT NULL) ENGINE=InnoDB;
-Warnings:
-Warning 1286 Unknown storage engine 'InnoDB'
-Warning 1266 Using storage engine Aria for table 't1'
+CREATE TABLE t1 (pk INTEGER PRIMARY KEY, i INTEGER NOT NULL);
INSERT INTO t1 VALUES (11,0);
INSERT INTO t1 VALUES (12,5);
INSERT INTO t1 VALUES (15,0);
-CREATE TABLE t2 (pk INTEGER PRIMARY KEY, i INTEGER NOT NULL) ENGINE=InnoDB;
-Warnings:
-Warning 1286 Unknown storage engine 'InnoDB'
-Warning 1266 Using storage engine Aria for table 't2'
+CREATE TABLE t2 (pk INTEGER PRIMARY KEY, i INTEGER NOT NULL);
INSERT INTO t2 VALUES (11,1);
INSERT INTO t2 VALUES (12,2);
INSERT INTO t2 VALUES (15,4);
@@ -606,6 +600,16 @@ SELECT t1.d1, t2.pk, t2.i1 FROM t1 STRAIGHT_JOIN t2 ON t2.i1
WHERE t2.pk <> t1.d1 AND t2.pk = 4;
d1 pk i1
1 4 1
+EXPLAIN
+SELECT t1.d1, t2.pk, t2.i1 FROM t1 STRAIGHT_JOIN t2 ON t2.i1
+WHERE t1.d1 <> t2.pk AND t2.pk = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL k1 9 NULL 3 Using index
+1 SIMPLE t2 const PRIMARY PRIMARY 4 const 1 Using where
+SELECT t1.d1, t2.pk, t2.i1 FROM t1 STRAIGHT_JOIN t2 ON t2.i1
+WHERE t1.d1 <> t2.pk AND t2.pk = 4;
+d1 pk i1
+1 4 1
DROP TABLE t1, t2;
#
# BUG#778434 Wrong result with in_to_exists=on in maria-5.3-mwl89
@@ -717,6 +721,9 @@ a INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
b INT, c INT, d DATE NOT NULL, e VARCHAR(1),
KEY (c), KEY (d), KEY k2(b), KEY k3(b), KEY k4(b)
);
+Warnings:
+Note 1831 Duplicate index `k3`. This is deprecated and will be disallowed in a future release.
+Note 1831 Duplicate index `k4`. This is deprecated and will be disallowed in a future release.
INSERT INTO t1 (b,c,d,e) VALUES
(6,5,'2006-05-25','y'),(1,5,'2008-01-23','t'),
(6,5,'2007-06-18','d'),(4,5,'1900-01-01','r'),
diff --git a/mysql-test/suite/maria/insert_select-7314.result b/mysql-test/suite/maria/insert_select-7314.result
new file mode 100644
index 00000000000..2f25cc5855c
--- /dev/null
+++ b/mysql-test/suite/maria/insert_select-7314.result
@@ -0,0 +1,17 @@
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+#
+# MDEV-7314
+# Concurrent "INSERT INTO table SELECT MAX(id)+1 FROM table" are
+# hitting deadlocks on Aria tables using ROW_FORMAT=PAGE
+#
+create table t1 (pk int primary key) engine=Aria;
+insert into t1 values (1);
+insert into t1 select sleep(2)+1 from t1;
+insert into t1 select 2 from t1;
+select * from t1;
+pk
+1
+2
+drop table t1;
diff --git a/mysql-test/suite/maria/insert_select-7314.test b/mysql-test/suite/maria/insert_select-7314.test
new file mode 100644
index 00000000000..f5869edd4ce
--- /dev/null
+++ b/mysql-test/suite/maria/insert_select-7314.test
@@ -0,0 +1,27 @@
+-- source include/have_maria.inc
+--source include/have_binlog_format_statement.inc
+
+drop table if exists t1;
+
+--echo #
+--echo # MDEV-7314
+--echo # Concurrent "INSERT INTO table SELECT MAX(id)+1 FROM table" are
+--echo # hitting deadlocks on Aria tables using ROW_FORMAT=PAGE
+--echo #
+
+create table t1 (pk int primary key) engine=Aria;
+insert into t1 values (1);
+
+send insert into t1 select sleep(2)+1 from t1;
+
+--connect (con1,localhost,root,,)
+
+--error 0,1062
+insert into t1 select 2 from t1;
+
+--connection default
+--error 0,1062
+--reap
+
+select * from t1;
+drop table t1;
diff --git a/mysql-test/suite/maria/lock.result b/mysql-test/suite/maria/lock.result
index c5692ded913..1c9d6b18100 100644
--- a/mysql-test/suite/maria/lock.result
+++ b/mysql-test/suite/maria/lock.result
@@ -1,7 +1,7 @@
drop table if exists t1,t2;
Warnings:
-Note 1051 Unknown table 't1'
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t1'
+Note 1051 Unknown table 'test.t2'
CREATE TABLE t1 (i INT) ENGINE=Aria;
CREATE TABLE t2 (i INT) ENGINE=Aria;
LOCK TABLE t1 WRITE, t2 WRITE;
@@ -99,3 +99,13 @@ f2
3
unlock tables;
DROP TABLE t1,t2,tmp;
+#
+# MDEV-10378 Assertion `trn' failed in virtual int ha_maria::start_stmt
+#
+CREATE TABLE t1 (f1 VARCHAR(3), f2 INT, pk INT, PRIMARY KEY (pk)) ENGINE=Aria;
+INSERT INTO t1 VALUES ('foo',10,1), ('foo',1,2);
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD UNIQUE KEY (f1);
+ERROR 23000: Duplicate entry 'foo' for key 'f1'
+ALTER TABLE t1 ADD KEY (f2);
+DROP TABLE t1;
diff --git a/mysql-test/suite/maria/lock.test b/mysql-test/suite/maria/lock.test
index 57447a18c55..4f3d4e8065e 100644
--- a/mysql-test/suite/maria/lock.test
+++ b/mysql-test/suite/maria/lock.test
@@ -105,3 +105,15 @@ INSERT INTO t2 (f2) SELECT f3 FROM tmp AS tmp_alias;
select * from t2;
unlock tables;
DROP TABLE t1,t2,tmp;
+
+--echo #
+--echo # MDEV-10378 Assertion `trn' failed in virtual int ha_maria::start_stmt
+--echo #
+
+CREATE TABLE t1 (f1 VARCHAR(3), f2 INT, pk INT, PRIMARY KEY (pk)) ENGINE=Aria;
+INSERT INTO t1 VALUES ('foo',10,1), ('foo',1,2);
+LOCK TABLE t1 WRITE;
+--error ER_DUP_ENTRY
+ALTER TABLE t1 ADD UNIQUE KEY (f1);
+ALTER TABLE t1 ADD KEY (f2);
+DROP TABLE t1;
diff --git a/mysql-test/suite/maria/maria-connect.result b/mysql-test/suite/maria/maria-connect.result
index ed626a003f5..b731bb4e1d0 100644
--- a/mysql-test/suite/maria/maria-connect.result
+++ b/mysql-test/suite/maria/maria-connect.result
@@ -16,11 +16,14 @@ a
4
SHOW BINLOG EVENTS FROM <start_pos>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid_list 1 # []
+master-bin.000001 # Binlog_checkpoint 1 # master-bin.000001
+master-bin.000001 # Gtid 1 # GTID 0-1-1
master-bin.000001 # Query 1 # use `test`; CREATE TABLE t1 (a int primary key)
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-2
master-bin.000001 # Query 1 # use `test`; insert t1 values (1),(2),(3)
master-bin.000001 # Query 1 # COMMIT
-master-bin.000001 # Query 1 # BEGIN
+master-bin.000001 # Gtid 1 # BEGIN GTID 0-1-3
master-bin.000001 # Query 1 # use `test`; insert t1 values (4),(2),(5)
master-bin.000001 # Query 1 # COMMIT
drop table t1;
diff --git a/mysql-test/suite/maria/maria-gis-rtree-dynamic.result b/mysql-test/suite/maria/maria-gis-rtree-dynamic.result
index ee7135c4851..f8487258546 100644
--- a/mysql-test/suite/maria/maria-gis-rtree-dynamic.result
+++ b/mysql-test/suite/maria/maria-gis-rtree-dynamic.result
@@ -713,7 +713,7 @@ count(*)
DROP TABLE t2;
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (a geometry NOT NULL, SPATIAL (a)) row_format=dynamic;
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
diff --git a/mysql-test/suite/maria/maria-gis-rtree-trans.result b/mysql-test/suite/maria/maria-gis-rtree-trans.result
index dba56204172..a8ea6f1d112 100644
--- a/mysql-test/suite/maria/maria-gis-rtree-trans.result
+++ b/mysql-test/suite/maria/maria-gis-rtree-trans.result
@@ -713,7 +713,7 @@ count(*)
DROP TABLE t2;
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (a geometry NOT NULL, SPATIAL (a)) transactional=1 row_format=page;
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
diff --git a/mysql-test/suite/maria/maria-gis-rtree.result b/mysql-test/suite/maria/maria-gis-rtree.result
index 1a7b08169dc..c7c65fac003 100644
--- a/mysql-test/suite/maria/maria-gis-rtree.result
+++ b/mysql-test/suite/maria/maria-gis-rtree.result
@@ -713,7 +713,7 @@ count(*)
DROP TABLE t2;
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (a geometry NOT NULL, SPATIAL (a)) transactional=0 row_format=page;
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
diff --git a/mysql-test/suite/maria/maria-page-checksum.result b/mysql-test/suite/maria/maria-page-checksum.result
index c4d1b71e33a..fbb7ba78b25 100644
--- a/mysql-test/suite/maria/maria-page-checksum.result
+++ b/mysql-test/suite/maria/maria-page-checksum.result
@@ -2,7 +2,7 @@ drop table if exists t1;
select @@global.aria_page_checksum;
@@global.aria_page_checksum
1
-# iteration 1
+# iteration 1a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -20,7 +20,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 2
+# iteration 2a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -38,7 +38,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 3
+# iteration 3a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -56,7 +56,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 4
+# iteration 4a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -74,7 +74,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 5
+# iteration 5a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -92,7 +92,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 6
+# iteration 6a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -110,7 +110,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 7
+# iteration 7a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -128,7 +128,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 8
+# iteration 8a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -146,7 +146,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 9
+# iteration 9a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -164,7 +164,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 10
+# iteration 10a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -182,7 +182,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 11
+# iteration 11a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -200,7 +200,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 12
+# iteration 12a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -218,7 +218,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 13
+# iteration 13a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -236,7 +236,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 14
+# iteration 14a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -254,7 +254,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 15
+# iteration 15a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -272,7 +272,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 16
+# iteration 16a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -290,7 +290,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 17
+# iteration 17a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -308,7 +308,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 18
+# iteration 18a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -326,7 +326,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 19
+# iteration 19a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -344,7 +344,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 20
+# iteration 20a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -362,7 +362,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 21
+# iteration 21a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -380,7 +380,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 22
+# iteration 22a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -398,7 +398,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 23
+# iteration 23a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -416,7 +416,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 24
+# iteration 24a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -434,7 +434,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 25
+# iteration 25a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -452,7 +452,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 26
+# iteration 26a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -470,7 +470,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 27
+# iteration 27a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -488,7 +488,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 28
+# iteration 28a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -506,7 +506,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 29
+# iteration 29a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -524,7 +524,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 30
+# iteration 30a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -542,7 +542,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 31
+# iteration 31a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -560,7 +560,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 32
+# iteration 32a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -578,7 +578,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 33
+# iteration 33a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -596,7 +596,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 34
+# iteration 34a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -614,7 +614,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 35
+# iteration 35a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -632,7 +632,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
Page checksums are not used
drop table t1;
-# iteration 36
+# iteration 36a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -650,7 +650,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used
drop table t1;
-# iteration 1
+# iteration 1b
create table t1(a int) engine=aria ;
show create table t1;
Table Create Table
@@ -666,7 +666,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
drop table t1;
-# iteration 2
+# iteration 2b
create table t1(a int) engine=aria ;
show create table t1;
Table Create Table
@@ -682,7 +682,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
-# iteration 3
+# iteration 3b
create table t1(a int) engine=aria ;
show create table t1;
Table Create Table
@@ -698,7 +698,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
-# iteration 4
+# iteration 4b
create table t1(a int) engine=aria ;
show create table t1;
Table Create Table
@@ -714,7 +714,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
drop table t1;
-# iteration 5
+# iteration 5b
create table t1(a int) engine=aria ;
show create table t1;
Table Create Table
@@ -730,7 +730,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
-# iteration 6
+# iteration 6b
create table t1(a int) engine=aria ;
show create table t1;
Table Create Table
@@ -746,7 +746,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
-# iteration 7
+# iteration 7b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
Table Create Table
@@ -762,7 +762,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
-# iteration 8
+# iteration 8b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
Table Create Table
@@ -778,7 +778,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
-# iteration 9
+# iteration 9b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
Table Create Table
@@ -794,7 +794,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
-# iteration 10
+# iteration 10b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
Table Create Table
@@ -810,7 +810,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
-# iteration 11
+# iteration 11b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
Table Create Table
@@ -826,7 +826,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
-# iteration 12
+# iteration 12b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
Table Create Table
@@ -842,7 +842,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
-# iteration 13
+# iteration 13b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
Table Create Table
@@ -858,7 +858,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
-# iteration 14
+# iteration 14b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
Table Create Table
@@ -874,7 +874,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
-# iteration 15
+# iteration 15b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
Table Create Table
@@ -890,7 +890,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
-# iteration 16
+# iteration 16b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
Table Create Table
@@ -906,7 +906,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
-# iteration 17
+# iteration 17b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
Table Create Table
@@ -922,7 +922,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
-# iteration 18
+# iteration 18b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
Table Create Table
diff --git a/mysql-test/suite/maria/maria-page-checksum.test b/mysql-test/suite/maria/maria-page-checksum.test
index 8dd68fce245..d35e29634c6 100644
--- a/mysql-test/suite/maria/maria-page-checksum.test
+++ b/mysql-test/suite/maria/maria-page-checksum.test
@@ -19,7 +19,7 @@ select @@global.aria_page_checksum;
# (first value of aria_page_checksum) x (clauses in CREATE TABLE) x
# (second value of aria_page_checksum) x (clauses in ALTER TABLE).
---echo # iteration 1
+--echo # iteration 1a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -48,7 +48,7 @@ perl;
EOF
drop table t1;
---echo # iteration 2
+--echo # iteration 2a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -77,7 +77,7 @@ perl;
EOF
drop table t1;
---echo # iteration 3
+--echo # iteration 3a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -106,7 +106,7 @@ perl;
EOF
drop table t1;
---echo # iteration 4
+--echo # iteration 4a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -135,7 +135,7 @@ perl;
EOF
drop table t1;
---echo # iteration 5
+--echo # iteration 5a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -164,7 +164,7 @@ perl;
EOF
drop table t1;
---echo # iteration 6
+--echo # iteration 6a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -193,7 +193,7 @@ perl;
EOF
drop table t1;
---echo # iteration 7
+--echo # iteration 7a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -222,7 +222,7 @@ perl;
EOF
drop table t1;
---echo # iteration 8
+--echo # iteration 8a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -251,7 +251,7 @@ perl;
EOF
drop table t1;
---echo # iteration 9
+--echo # iteration 9a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -280,7 +280,7 @@ perl;
EOF
drop table t1;
---echo # iteration 10
+--echo # iteration 10a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -309,7 +309,7 @@ perl;
EOF
drop table t1;
---echo # iteration 11
+--echo # iteration 11a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -338,7 +338,7 @@ perl;
EOF
drop table t1;
---echo # iteration 12
+--echo # iteration 12a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -367,7 +367,7 @@ perl;
EOF
drop table t1;
---echo # iteration 13
+--echo # iteration 13a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -396,7 +396,7 @@ perl;
EOF
drop table t1;
---echo # iteration 14
+--echo # iteration 14a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -425,7 +425,7 @@ perl;
EOF
drop table t1;
---echo # iteration 15
+--echo # iteration 15a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -454,7 +454,7 @@ perl;
EOF
drop table t1;
---echo # iteration 16
+--echo # iteration 16a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -483,7 +483,7 @@ perl;
EOF
drop table t1;
---echo # iteration 17
+--echo # iteration 17a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -512,7 +512,7 @@ perl;
EOF
drop table t1;
---echo # iteration 18
+--echo # iteration 18a
set global aria_page_checksum = 0 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -541,7 +541,7 @@ perl;
EOF
drop table t1;
---echo # iteration 19
+--echo # iteration 19a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -570,7 +570,7 @@ perl;
EOF
drop table t1;
---echo # iteration 20
+--echo # iteration 20a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -599,7 +599,7 @@ perl;
EOF
drop table t1;
---echo # iteration 21
+--echo # iteration 21a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -628,7 +628,7 @@ perl;
EOF
drop table t1;
---echo # iteration 22
+--echo # iteration 22a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -657,7 +657,7 @@ perl;
EOF
drop table t1;
---echo # iteration 23
+--echo # iteration 23a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -686,7 +686,7 @@ perl;
EOF
drop table t1;
---echo # iteration 24
+--echo # iteration 24a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -715,7 +715,7 @@ perl;
EOF
drop table t1;
---echo # iteration 25
+--echo # iteration 25a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -744,7 +744,7 @@ perl;
EOF
drop table t1;
---echo # iteration 26
+--echo # iteration 26a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -773,7 +773,7 @@ perl;
EOF
drop table t1;
---echo # iteration 27
+--echo # iteration 27a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -802,7 +802,7 @@ perl;
EOF
drop table t1;
---echo # iteration 28
+--echo # iteration 28a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -831,7 +831,7 @@ perl;
EOF
drop table t1;
---echo # iteration 29
+--echo # iteration 29a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -860,7 +860,7 @@ perl;
EOF
drop table t1;
---echo # iteration 30
+--echo # iteration 30a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=0 ;
show create table t1 /* expecting PAGE_CHECKSUM=0 */ ;
@@ -889,7 +889,7 @@ perl;
EOF
drop table t1;
---echo # iteration 31
+--echo # iteration 31a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -918,7 +918,7 @@ perl;
EOF
drop table t1;
---echo # iteration 32
+--echo # iteration 32a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -947,7 +947,7 @@ perl;
EOF
drop table t1;
---echo # iteration 33
+--echo # iteration 33a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -976,7 +976,7 @@ perl;
EOF
drop table t1;
---echo # iteration 34
+--echo # iteration 34a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -1005,7 +1005,7 @@ perl;
EOF
drop table t1;
---echo # iteration 35
+--echo # iteration 35a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -1034,7 +1034,7 @@ perl;
EOF
drop table t1;
---echo # iteration 36
+--echo # iteration 36a
set global aria_page_checksum = 1 ;
create table t1(a int) engine=aria PAGE_CHECKSUM=1 ;
show create table t1 /* expecting PAGE_CHECKSUM=1 */ ;
@@ -1071,7 +1071,7 @@ drop table t1;
# we scan through combinations in the cartesian product of
# (clauses in CREATE TABLE) x (clauses in ALTER TABLE).
---echo # iteration 1
+--echo # iteration 1b
create table t1(a int) engine=aria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1098,7 +1098,7 @@ EOF
drop table t1;
---echo # iteration 2
+--echo # iteration 2b
create table t1(a int) engine=aria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1125,7 +1125,7 @@ EOF
drop table t1;
---echo # iteration 3
+--echo # iteration 3b
create table t1(a int) engine=aria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1152,7 +1152,7 @@ EOF
drop table t1;
---echo # iteration 4
+--echo # iteration 4b
create table t1(a int) engine=aria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1179,7 +1179,7 @@ EOF
drop table t1;
---echo # iteration 5
+--echo # iteration 5b
create table t1(a int) engine=aria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1206,7 +1206,7 @@ EOF
drop table t1;
---echo # iteration 6
+--echo # iteration 6b
create table t1(a int) engine=aria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1233,7 +1233,7 @@ EOF
drop table t1;
---echo # iteration 7
+--echo # iteration 7b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1260,7 +1260,7 @@ EOF
drop table t1;
---echo # iteration 8
+--echo # iteration 8b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1287,7 +1287,7 @@ EOF
drop table t1;
---echo # iteration 9
+--echo # iteration 9b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1314,7 +1314,7 @@ EOF
drop table t1;
---echo # iteration 10
+--echo # iteration 10b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1341,7 +1341,7 @@ EOF
drop table t1;
---echo # iteration 11
+--echo # iteration 11b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1368,7 +1368,7 @@ EOF
drop table t1;
---echo # iteration 12
+--echo # iteration 12b
create table t1(a int) engine=aria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1395,7 +1395,7 @@ EOF
drop table t1;
---echo # iteration 13
+--echo # iteration 13b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1422,7 +1422,7 @@ EOF
drop table t1;
---echo # iteration 14
+--echo # iteration 14b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1449,7 +1449,7 @@ EOF
drop table t1;
---echo # iteration 15
+--echo # iteration 15b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1476,7 +1476,7 @@ EOF
drop table t1;
---echo # iteration 16
+--echo # iteration 16b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1503,7 +1503,7 @@ EOF
drop table t1;
---echo # iteration 17
+--echo # iteration 17b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
@@ -1530,7 +1530,7 @@ EOF
drop table t1;
---echo # iteration 18
+--echo # iteration 18b
create table t1(a int) engine=aria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLD_DATADIR/test/t1 >$MYSQLTEST_VARDIR/tmp/ariachk.txt
diff --git a/mysql-test/suite/maria/maria-partitioning.result b/mysql-test/suite/maria/maria-partitioning.result
index bcb88626ff7..ad5de7952c7 100644
--- a/mysql-test/suite/maria/maria-partitioning.result
+++ b/mysql-test/suite/maria/maria-partitioning.result
@@ -2,8 +2,8 @@ set global storage_engine=aria;
set session storage_engine=aria;
DROP TABLE if exists t1,t2;
Warnings:
-Note 1051 Unknown table 't1'
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t1'
+Note 1051 Unknown table 'test.t2'
create table t2(a blob) engine=aria;
create table t1(a int primary key) engine=aria;
insert into t2 values ('foo'),('bar');
diff --git a/mysql-test/suite/maria/maria-preload.result b/mysql-test/suite/maria/maria-preload.result
index a693b6768ac..2c2a529e006 100644
--- a/mysql-test/suite/maria/maria-preload.result
+++ b/mysql-test/suite/maria/maria-preload.result
@@ -58,13 +58,13 @@ count(*)
4181
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 9
+ARIA_PAGECACHE_READS 11
select count(*) from t1 where b = 'test1';
count(*)
4181
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 9
+ARIA_PAGECACHE_READS 11
flush tables;
flush status;
select @@preload_buffer_size;
@@ -75,18 +75,18 @@ Table Op Msg_type Msg_text
test.t1 preload_keys status OK
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 80
+ARIA_PAGECACHE_READS 107
select count(*) from t1 where b = 'test1';
count(*)
4181
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 80
+ARIA_PAGECACHE_READS 107
flush tables;
flush status;
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 80
+ARIA_PAGECACHE_READS 107
set session preload_buffer_size=256*1024;
select @@preload_buffer_size;
@@preload_buffer_size
@@ -96,18 +96,18 @@ Table Op Msg_type Msg_text
test.t1 preload_keys status OK
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 151
+ARIA_PAGECACHE_READS 203
select count(*) from t1 where b = 'test1';
count(*)
4181
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 157
+ARIA_PAGECACHE_READS 211
flush tables;
flush status;
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 157
+ARIA_PAGECACHE_READS 211
set session preload_buffer_size=1*1024;
select @@preload_buffer_size;
@@preload_buffer_size
@@ -118,7 +118,7 @@ test.t1 preload_keys status OK
test.t2 preload_keys status OK
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 271
+ARIA_PAGECACHE_READS 364
select count(*) from t1 where b = 'test1';
count(*)
4181
@@ -127,12 +127,12 @@ count(*)
2584
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 274
+ARIA_PAGECACHE_READS 369
flush tables;
flush status;
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 274
+ARIA_PAGECACHE_READS 369
load index into cache t3, t2 key (primary,b) ;
Table Op Msg_type Msg_text
test.t3 preload_keys Error Table 'test.t3' doesn't exist
@@ -140,12 +140,12 @@ test.t3 preload_keys status Operation failed
test.t2 preload_keys status OK
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 317
+ARIA_PAGECACHE_READS 426
flush tables;
flush status;
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 317
+ARIA_PAGECACHE_READS 426
load index into cache t3 key (b), t2 key (c) ;
Table Op Msg_type Msg_text
test.t3 preload_keys Error Table 'test.t3' doesn't exist
@@ -154,7 +154,7 @@ test.t2 preload_keys Error Key 'c' doesn't exist in table 't2'
test.t2 preload_keys status Operation failed
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
variable_name g.variable_value-i.variable_value
-ARIA_PAGECACHE_READS 317
+ARIA_PAGECACHE_READS 426
drop table t1, t2;
drop temporary table initial;
show status like "key_read%";
diff --git a/mysql-test/suite/maria/maria-recovery2-master.opt b/mysql-test/suite/maria/maria-recovery2-master.opt
index 9b232472a24..ca9560676a5 100644
--- a/mysql-test/suite/maria/maria-recovery2-master.opt
+++ b/mysql-test/suite/maria/maria-recovery2-master.opt
@@ -1 +1 @@
---skip-stack-trace --skip-core-file --loose-aria-log-dir-path=$MYSQLTEST_VARDIR/tmp --myisam-recover=
+--skip-stack-trace --skip-core-file --loose-aria-log-dir-path=$MYSQLTEST_VARDIR/tmp --myisam-recover-options=
diff --git a/mysql-test/suite/maria/maria-recovery2.result b/mysql-test/suite/maria/maria-recovery2.result
index 1dcb476af42..054e86d079c 100644
--- a/mysql-test/suite/maria/maria-recovery2.result
+++ b/mysql-test/suite/maria/maria-recovery2.result
@@ -1,4 +1,4 @@
-call mtr.add_suppression("File '.*aria_log.000.*' not found \\(Errcode: 2\\)");
+call mtr.add_suppression("File '.*aria_log.000.*' not found \\(Errcode: 2 .*\\)");
call mtr.add_suppression("Table '.\/mysqltest\/t_corrupted1' is crashed, skipping it. Please repair it with aria_chk -r");
set global aria_log_file_size=4294959104;
drop database if exists mysqltest;
diff --git a/mysql-test/suite/maria/maria-recovery2.test b/mysql-test/suite/maria/maria-recovery2.test
index 21944026cf6..3551d873ca4 100644
--- a/mysql-test/suite/maria/maria-recovery2.test
+++ b/mysql-test/suite/maria/maria-recovery2.test
@@ -5,7 +5,7 @@
--source include/have_debug.inc
--source include/have_maria.inc
-call mtr.add_suppression("File '.*aria_log.000.*' not found \\(Errcode: 2\\)");
+call mtr.add_suppression("File '.*aria_log.000.*' not found \\(Errcode: 2 .*\\)");
call mtr.add_suppression("Table '.\/mysqltest\/t_corrupted1' is crashed, skipping it. Please repair it with aria_chk -r");
set global aria_log_file_size=4294959104;
diff --git a/mysql-test/suite/maria/maria-recovery3.result b/mysql-test/suite/maria/maria-recovery3.result
index d71a3f6c00a..84fd6fbb91e 100644
--- a/mysql-test/suite/maria/maria-recovery3.result
+++ b/mysql-test/suite/maria/maria-recovery3.result
@@ -78,7 +78,7 @@ ERROR HY000: Lost connection to MySQL server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
-mysqltest.t1 check warning Size of indexfile is: 372 Expected: 8192
+mysqltest.t1 check warning Size of indexfile is: <SIZE> Expected: 8192
mysqltest.t1 check status OK
* testing that checksum after recovery is as expected
Checksum-check
diff --git a/mysql-test/suite/maria/maria-ucs2.result b/mysql-test/suite/maria/maria-ucs2.result
index e7258f21d4f..fab640f703a 100644
--- a/mysql-test/suite/maria/maria-ucs2.result
+++ b/mysql-test/suite/maria/maria-ucs2.result
@@ -17,7 +17,6 @@ test.t1 check status OK
ALTER TABLE t1 MODIFY a VARCHAR(800) CHARSET `ucs2`;
Warnings:
Warning 1071 Specified key was too long; max key length is 1000 bytes
-Warning 1071 Specified key was too long; max key length is 1000 bytes
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
diff --git a/mysql-test/suite/maria/maria.result b/mysql-test/suite/maria/maria.result
index 1cf48b0628d..9c8565d0f03 100644
--- a/mysql-test/suite/maria/maria.result
+++ b/mysql-test/suite/maria/maria.result
@@ -653,7 +653,7 @@ t1 1 a 1 a A 1000 NULL NULL YES BTREE
alter table t1 engine=heap;
alter table t1 disable keys;
Warnings:
-Note 1031 Table storage engine for 't1' doesn't have this option
+Note 1031 Storage engine MEMORY of the table `test`.`t1` doesn't have this option
show keys from t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
t1 1 a 1 a NULL 500 NULL NULL YES HASH
@@ -662,6 +662,13 @@ create table t1 ( a tinytext, b char(1), index idx (a(1),b) );
insert into t1 values (null,''), (null,'');
explain select count(*) from t1 where a is null;
id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref idx idx 4 const 2 Using where
+insert into t1 values(1,'a');
+explain select count(*) from t1 where a is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref idx idx 4 const 2 Using where
+explain select count(*) from t1 where a = 'a';
+id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref idx idx 4 const 1 Using where
select count(*) from t1 where a is null;
count(*)
@@ -1131,6 +1138,8 @@ id select_type table type possible_keys key key_len ref rows Extra
alter table t1 add unique(v);
ERROR 23000: Duplicate entry '{ ' for key 'v_2'
alter table t1 add key(v);
+Warnings:
+Note 1831 Duplicate index `v_2`. This is deprecated and will be disallowed in a future release.
select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a';
qq
*a*a*a*
@@ -2714,7 +2723,7 @@ t1 CREATE TABLE `t1` (
`id` tinyint(4) NOT NULL AUTO_INCREMENT,
`name` char(30) NOT NULL,
PRIMARY KEY (`id`)
-) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
INSERT INTO t1 (name) VALUES ('dog');
UPDATE t1 SET id=-1 WHERE id=1;
INSERT INTO t1 (name) VALUES ('cat');
@@ -2730,3 +2739,76 @@ DROP TABLE t1;
#
# End of 5.5 tests
#
+#
+# BUG#47444 - --myisam_repair_threads > 1 can result in all index
+# cardinalities=1
+#
+SET aria_repair_threads=2;
+SET aria_sort_buffer_size=8192;
+CREATE TABLE t1(a CHAR(255), KEY(a), KEY(a), KEY(a));
+Warnings:
+Note 1831 Duplicate index `a_2`. This is deprecated and will be disallowed in a future release.
+Note 1831 Duplicate index `a_3`. This is deprecated and will be disallowed in a future release.
+INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(0),(1),(2),(3);
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+SELECT CARDINALITY FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
+CARDINALITY
+14
+14
+14
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+SET aria_sort_buffer_size=@@global.aria_sort_buffer_size;
+SET aria_repair_threads=@@global.aria_repair_threads;
+#
+# BUG#47073 - valgrind errs, corruption,failed repair of partition,
+# low myisam_sort_buffer_size
+#
+CREATE TABLE t1(a INT, b CHAR(10), KEY(a), KEY(b));
+INSERT INTO t1 VALUES(1,'0'),(2,'0'),(3,'0'),(4,'0'),(5,'0'),
+(6,'0'),(7,'0');
+INSERT INTO t1 SELECT a+10,b FROM t1;
+INSERT INTO t1 SELECT a+20,b FROM t1;
+INSERT INTO t1 SELECT a+40,b FROM t1;
+INSERT INTO t1 SELECT a+80,b FROM t1;
+INSERT INTO t1 SELECT a+160,b FROM t1;
+INSERT INTO t1 SELECT a+320,b FROM t1;
+INSERT INTO t1 SELECT a+640,b FROM t1;
+INSERT INTO t1 SELECT a+1280,b FROM t1;
+INSERT INTO t1 SELECT a+2560,b FROM t1;
+INSERT INTO t1 SELECT a+5120,b FROM t1;
+SET aria_sort_buffer_size=4096;
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair error aria_sort_buffer_size is too small. X
+test.t1 repair error Create index by sort failed
+test.t1 repair info Retrying repair with keycache
+test.t1 repair status OK
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SET aria_repair_threads=2;
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair error aria_sort_buffer_size is too small. X
+test.t1 repair error Create index by sort failed
+test.t1 repair info Retrying repair with keycache
+test.t1 repair status OK
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SET aria_repair_threads=@@global.aria_repair_threads;
+SET aria_sort_buffer_size=@@global.aria_sort_buffer_size;
+DROP TABLE t1;
+CREATE TABLE t1(a INT, b CHAR(10), KEY(a), KEY(b));
+INSERT INTO t1 VALUES(1,'0'),(2,'0'),(3,'0'),(4,'0'),(5,'0'),
+(6,'0'),(7,'0');
+flush tables test.t1 for export;
+insert into t1 values (8,'0');
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+unlock tables;
+drop table t1;
diff --git a/mysql-test/suite/maria/maria.test b/mysql-test/suite/maria/maria.test
index 954bd15744e..9616933e363 100644
--- a/mysql-test/suite/maria/maria.test
+++ b/mysql-test/suite/maria/maria.test
@@ -632,6 +632,9 @@ drop table t1,t2;
create table t1 ( a tinytext, b char(1), index idx (a(1),b) );
insert into t1 values (null,''), (null,'');
explain select count(*) from t1 where a is null;
+insert into t1 values(1,'a');
+explain select count(*) from t1 where a is null;
+explain select count(*) from t1 where a = 'a';
select count(*) from t1 where a is null;
drop table t1;
@@ -1979,19 +1982,6 @@ ALTER TABLE t1 ENABLE KEYS;
# Cleanup
DROP TABLE t1;
-#
-# End of test
-#
-# Set defaults back
---disable_result_log
---disable_query_log
-eval set global storage_engine=$default_engine,
-aria_page_checksum=$default_checksum,
-aria_log_file_size=$default_log_file_size;
---enable_result_log
---enable_query_log
-
-
--echo #
--echo # Start of 5.5 tests
--echo #
@@ -2025,3 +2015,74 @@ DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #
+
+--echo #
+--echo # BUG#47444 - --myisam_repair_threads > 1 can result in all index
+--echo # cardinalities=1
+--echo #
+SET aria_repair_threads=2;
+SET aria_sort_buffer_size=8192;
+CREATE TABLE t1(a CHAR(255), KEY(a), KEY(a), KEY(a));
+INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(0),(1),(2),(3);
+--replace_regex /Current aria_sort_buffer_size.*/X/
+REPAIR TABLE t1;
+SELECT CARDINALITY FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
+CHECK TABLE t1;
+DROP TABLE t1;
+SET aria_sort_buffer_size=@@global.aria_sort_buffer_size;
+SET aria_repair_threads=@@global.aria_repair_threads;
+
+--echo #
+--echo # BUG#47073 - valgrind errs, corruption,failed repair of partition,
+--echo # low myisam_sort_buffer_size
+--echo #
+CREATE TABLE t1(a INT, b CHAR(10), KEY(a), KEY(b));
+INSERT INTO t1 VALUES(1,'0'),(2,'0'),(3,'0'),(4,'0'),(5,'0'),
+ (6,'0'),(7,'0');
+INSERT INTO t1 SELECT a+10,b FROM t1;
+INSERT INTO t1 SELECT a+20,b FROM t1;
+INSERT INTO t1 SELECT a+40,b FROM t1;
+INSERT INTO t1 SELECT a+80,b FROM t1;
+INSERT INTO t1 SELECT a+160,b FROM t1;
+INSERT INTO t1 SELECT a+320,b FROM t1;
+INSERT INTO t1 SELECT a+640,b FROM t1;
+INSERT INTO t1 SELECT a+1280,b FROM t1;
+INSERT INTO t1 SELECT a+2560,b FROM t1;
+INSERT INTO t1 SELECT a+5120,b FROM t1;
+SET aria_sort_buffer_size=4096;
+--replace_regex /Current aria_sort_buffer_size.*/X/
+REPAIR TABLE t1;
+CHECK TABLE t1;
+SET aria_repair_threads=2;
+# May report different values depending on threads activity.
+--replace_regex /Current aria_sort_buffer_size.*/X/
+REPAIR TABLE t1;
+CHECK TABLE t1;
+SET aria_repair_threads=@@global.aria_repair_threads;
+SET aria_sort_buffer_size=@@global.aria_sort_buffer_size;
+DROP TABLE t1;
+
+#
+# Check FLUSH FOR EXPORT
+#
+
+CREATE TABLE t1(a INT, b CHAR(10), KEY(a), KEY(b));
+INSERT INTO t1 VALUES(1,'0'),(2,'0'),(3,'0'),(4,'0'),(5,'0'),
+ (6,'0'),(7,'0');
+flush tables test.t1 for export;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+insert into t1 values (8,'0');
+unlock tables;
+drop table t1;
+
+#
+# End of test
+#
+# Set defaults back
+--disable_result_log
+--disable_query_log
+eval set global storage_engine=$default_engine,
+aria_page_checksum=$default_checksum,
+aria_log_file_size=$default_log_file_size;
+--enable_result_log
+--enable_query_log
diff --git a/mysql-test/suite/maria/maria2.result b/mysql-test/suite/maria/maria2.result
index a0ec440b662..b4b27512054 100644
--- a/mysql-test/suite/maria/maria2.result
+++ b/mysql-test/suite/maria/maria2.result
@@ -46,12 +46,22 @@ drop table t1;
create table t1 (pk int primary key, apk int unique, data int) engine=aria;
insert into t1 values (1, 1, 1), (4, 4, 4), (6, 6, 6);
load data concurrent infile '../../std_data/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
+Warnings:
+Note 1265 Data truncated for column 'pk' at row 1
+Note 1265 Data truncated for column 'apk' at row 1
+Note 1265 Data truncated for column 'pk' at row 2
+Note 1265 Data truncated for column 'apk' at row 2
select * from t1 order by pk;
pk apk data
1 1 1
3 4 NULL
5 6 NULL
load data infile '../../std_data/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
+Warnings:
+Note 1265 Data truncated for column 'pk' at row 1
+Note 1265 Data truncated for column 'apk' at row 1
+Note 1265 Data truncated for column 'pk' at row 2
+Note 1265 Data truncated for column 'apk' at row 2
select * from t1 order by pk;
pk apk data
1 1 1
diff --git a/mysql-test/suite/maria/maria3.result b/mysql-test/suite/maria/maria3.result
index a691abe63f2..feb5fa82cd4 100644
--- a/mysql-test/suite/maria/maria3.result
+++ b/mysql-test/suite/maria/maria3.result
@@ -305,6 +305,7 @@ Variable_name Value
aria_block_size 8192
aria_checkpoint_interval 30
aria_checkpoint_log_activity 1048576
+aria_encrypt_tables OFF
aria_force_start_after_recovery_failures 0
aria_group_commit none
aria_group_commit_interval 0
@@ -314,10 +315,11 @@ aria_max_sort_file_size 9223372036853727232
aria_pagecache_age_threshold 300
aria_pagecache_buffer_size 8388608
aria_pagecache_division_limit 100
+aria_pagecache_file_hash_size 512
aria_page_checksum OFF
aria_recover NORMAL
aria_repair_threads 1
-aria_sort_buffer_size 134217728
+aria_sort_buffer_size 268434432
aria_stats_method nulls_unequal
aria_sync_log_dir NEWFILE
show status like 'aria%';
@@ -359,7 +361,7 @@ NULL NULL
0 NULL
0 0
alter table t1 add column d char(0) not null, add key (d);
-ERROR 42000: The used storage engine can't index column 'd'
+ERROR 42000: The storage engine Aria can't index column `d`
drop table t1;
CREATE TABLE t1 (a bit(3));
insert into t1 values (NULL),(0),(1),(2),(3),(4),(5),(6),(7);
@@ -460,7 +462,7 @@ id f1
1 test1
2 test2
drop table t1;
-SET SQL_MODE = 'TRADITIONAL';
+SET SQL_MODE = '';
create table t1 (n int not null primary key auto_increment, c char(1), unique(c));
insert into t1 values(100, "a");
insert into t1 values(300, "b");
diff --git a/mysql-test/suite/maria/maria3.test b/mysql-test/suite/maria/maria3.test
index f1d95a15ba5..b4e3e30d63f 100644
--- a/mysql-test/suite/maria/maria3.test
+++ b/mysql-test/suite/maria/maria3.test
@@ -364,7 +364,7 @@ INSERT IGNORE INTO t1 (f1) VALUES ("test1");
INSERT IGNORE INTO t1 (f1) VALUES ("test2");
SELECT * FROM t1;
drop table t1;
-SET SQL_MODE = 'TRADITIONAL';
+SET SQL_MODE = '';
create table t1 (n int not null primary key auto_increment, c char(1), unique(c));
insert into t1 values(100, "a");
diff --git a/mysql-test/suite/maria/max_length.result b/mysql-test/suite/maria/max_length.result
index 6db58622698..049b92eafe5 100644
--- a/mysql-test/suite/maria/max_length.result
+++ b/mysql-test/suite/maria/max_length.result
@@ -1,7 +1,7 @@
drop table if exists t1,t2;
Warnings:
-Note 1051 Unknown table 't1'
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t1'
+Note 1051 Unknown table 'test.t2'
create table t1 (id int(10) unsigned not null auto_increment primary key, v varchar(1000), b blob) row_format=page max_rows=2 engine=aria;
create table t2 (id int(10) unsigned not null auto_increment primary key, v varchar(1000), b blob) row_format=page max_rows=20000000 engine=aria;
lock tables t1 write,t2 write;
diff --git a/mysql-test/suite/maria/ps_maria.result b/mysql-test/suite/maria/ps_maria.result
index e2669b568cf..c5defa8ae54 100644
--- a/mysql-test/suite/maria/ps_maria.result
+++ b/mysql-test/suite/maria/ps_maria.result
@@ -10,7 +10,8 @@ create table t9
c1 tinyint, c2 smallint, c3 mediumint, c4 int,
c5 integer, c6 bigint, c7 float, c8 double,
c9 double precision, c10 real, c11 decimal(7, 4), c12 numeric(8, 4),
-c13 date, c14 datetime, c15 timestamp, c16 time,
+c13 date, c14 datetime, c15 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+ON UPDATE CURRENT_TIMESTAMP, c16 time,
c17 year, c18 tinyint, c19 bool, c20 char,
c21 char(10), c22 varchar(30), c23 tinyblob, c24 tinytext,
c25 blob, c26 text, c27 mediumblob, c28 mediumtext,
@@ -49,7 +50,7 @@ test_sequence
prepare stmt1 from ' select * from t9 order by c1 ' ;
execute stmt1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t9 t9 c1 c1 1 4 1 N 49155 0 63
+def test t9 t9 c1 c1 1 4 1 N 53251 0 63
def test t9 t9 c2 c2 2 6 1 Y 32768 0 63
def test t9 t9 c3 c3 9 9 1 Y 32768 0 63
def test t9 t9 c4 c4 3 11 1 Y 32768 0 63
@@ -1156,9 +1157,9 @@ def id 8 3 1 Y 32928 0 63
def select_type 253 19 6 N 1 31 8
def table 253 64 2 Y 0 31 8
def type 253 10 3 Y 0 31 8
-def possible_keys 253 4096 0 Y 0 31 8
+def possible_keys 253 4_OR_8_K 0 Y 0 31 8
def key 253 64 0 Y 0 31 8
-def key_len 253 4096 0 Y 0 31 8
+def key_len 253 4_OR_8_K 0 Y 0 31 8
def ref 253 2048 0 Y 0 31 8
def rows 8 10 1 Y 32928 0 63
def Extra 253 255 0 N 1 31 8
@@ -1775,21 +1776,21 @@ NULL as const12, @arg12 as param12,
show create table t5 ;
Table Create Table
t5 CREATE TABLE `t5` (
- `const01` int(1) NOT NULL DEFAULT '0',
+ `const01` int(1) NOT NULL,
`param01` bigint(20) DEFAULT NULL,
- `const02` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `const02` decimal(2,1) NOT NULL,
`param02` decimal(65,30) DEFAULT NULL,
- `const03` double NOT NULL DEFAULT '0',
+ `const03` double NOT NULL,
`param03` double DEFAULT NULL,
- `const04` varchar(3) NOT NULL DEFAULT '',
+ `const04` varchar(3) NOT NULL,
`param04` longtext,
- `const05` varbinary(3) NOT NULL DEFAULT '',
+ `const05` varbinary(3) NOT NULL,
`param05` longblob,
- `const06` varchar(10) NOT NULL DEFAULT '',
+ `const06` varchar(10) NOT NULL,
`param06` longtext,
`const07` date DEFAULT NULL,
`param07` longtext,
- `const08` varchar(19) NOT NULL DEFAULT '',
+ `const08` varchar(19) NOT NULL,
`param08` longtext,
`const09` datetime DEFAULT NULL,
`param09` longtext,
@@ -1805,21 +1806,21 @@ t5 CREATE TABLE `t5` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t5 t5 const01 const01 3 1 1 N 32769 0 63
+def test t5 t5 const01 const01 3 1 1 N 36865 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
-def test t5 t5 const02 const02 246 4 3 N 32769 1 63
+def test t5 t5 const02 const02 246 4 3 N 36865 1 63
def test t5 t5 param02 param02 246 67 32 Y 32768 30 63
-def test t5 t5 const03 const03 5 17 1 N 32769 31 63
+def test t5 t5 const03 const03 5 17 1 N 36865 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
-def test t5 t5 const04 const04 253 3 3 N 1 0 8
+def test t5 t5 const04 const04 253 3 3 N 4097 0 8
def test t5 t5 param04 param04 252 4294967295 3 Y 16 0 8
-def test t5 t5 const05 const05 253 3 3 N 129 0 63
+def test t5 t5 const05 const05 253 3 3 N 4225 0 63
def test t5 t5 param05 param05 252 4294967295 3 Y 144 0 63
-def test t5 t5 const06 const06 253 10 10 N 1 0 8
+def test t5 t5 const06 const06 253 10 10 N 4097 0 8
def test t5 t5 param06 param06 252 4294967295 10 Y 16 0 8
def test t5 t5 const07 const07 10 10 10 Y 128 0 63
def test t5 t5 param07 param07 252 4294967295 10 Y 16 0 8
-def test t5 t5 const08 const08 253 19 19 N 1 0 8
+def test t5 t5 const08 const08 253 19 19 N 4097 0 8
def test t5 t5 param08 param08 252 4294967295 19 Y 16 0 8
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
@@ -3256,7 +3257,7 @@ values
( 50, 1.0e+10, 1.0e+10, 1.0e+10, 1.0e+10, 1.0e+10 ) ;
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1265 Data truncated for column 'c16' at row 1
+Note 1265 Data truncated for column 'c16' at row 1
Warning 1264 Out of range value for column 'c17' at row 1
insert into t9
( c1, c13, c14, c15, c16, c17 )
@@ -3264,7 +3265,7 @@ values
( 51, @arg00, @arg00, @arg00, @arg00, @arg00) ;
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1265 Data truncated for column 'c16' at row 1
+Note 1265 Data truncated for column 'c16' at row 1
Warning 1264 Out of range value for column 'c17' at row 1
prepare stmt1 from "insert into t9
( c1, c13, c14, c15, c16, c17 )
@@ -3273,7 +3274,7 @@ values
execute stmt1 ;
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1265 Data truncated for column 'c16' at row 1
+Note 1265 Data truncated for column 'c16' at row 1
Warning 1264 Out of range value for column 'c17' at row 1
prepare stmt2 from "insert into t9
( c1, c13, c14, c15, c16, c17 )
@@ -3282,7 +3283,7 @@ values
execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1265 Data truncated for column 'c16' at row 1
+Note 1265 Data truncated for column 'c16' at row 1
Warning 1264 Out of range value for column 'c17' at row 1
set @arg00= 'abc' ;
set @arg00= NULL ;
diff --git a/mysql-test/suite/maria/repair.result b/mysql-test/suite/maria/repair.result
new file mode 100644
index 00000000000..6bb9e1b5b9e
--- /dev/null
+++ b/mysql-test/suite/maria/repair.result
@@ -0,0 +1,24 @@
+CREATE TABLE t1 (i INT) ENGINE=Aria TRANSACTIONAL=1;
+INSERT t1 VALUES (1);
+LOCK TABLE t1 WRITE;
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+SELECT * FROM INFORMATION_SCHEMA.TABLES;
+SELECT * FROM t1;
+i
+1
+UNLOCK TABLES;
+DROP TABLE t1;
+CREATE TABLE t1 (i INT) ENGINE=Aria TRANSACTIONAL=1;
+INSERT t1 VALUES (1);
+LOCK TABLE t1 WRITE;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+SELECT * FROM INFORMATION_SCHEMA.TABLES;
+SELECT * FROM t1;
+i
+1
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/suite/maria/repair.test b/mysql-test/suite/maria/repair.test
new file mode 100644
index 00000000000..2f713950d3e
--- /dev/null
+++ b/mysql-test/suite/maria/repair.test
@@ -0,0 +1,24 @@
+#
+# MDEV-11539 test_if_reopen: Assertion `strcmp(share->unique_file_name,filename) || share->last_version' failed upon select from I_S
+#
+CREATE TABLE t1 (i INT) ENGINE=Aria TRANSACTIONAL=1;
+INSERT t1 VALUES (1);
+LOCK TABLE t1 WRITE;
+REPAIR TABLE t1;
+--disable_result_log
+SELECT * FROM INFORMATION_SCHEMA.TABLES;
+--enable_result_log
+SELECT * FROM t1;
+UNLOCK TABLES;
+DROP TABLE t1;
+
+CREATE TABLE t1 (i INT) ENGINE=Aria TRANSACTIONAL=1;
+INSERT t1 VALUES (1);
+LOCK TABLE t1 WRITE;
+OPTIMIZE TABLE t1;
+--disable_result_log
+SELECT * FROM INFORMATION_SCHEMA.TABLES;
+--enable_result_log
+SELECT * FROM t1;
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/suite/maria/small_blocksize.result b/mysql-test/suite/maria/small_blocksize.result
index f418a1f92ef..940a718d34e 100644
--- a/mysql-test/suite/maria/small_blocksize.result
+++ b/mysql-test/suite/maria/small_blocksize.result
@@ -1,6 +1,6 @@
DROP TABLE if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (col_longtext_ucs2 longtext, col_longtext_utf8 longtext, col_varchar_255_ucs2_key varchar(255), col_set_utf8 set ('a','b'), col_char_255_ucs2 char(255), col_char_255_ucs2_key char(255), col_enum_ucs2 enum ('a','b'), col_varchar_255_ucs2 varchar(255), col_longtext_ucs2_key longtext, col_longtext_utf8_key longtext, col_enum_utf8 enum ('a','b'), col_varchar_255_utf8_key varchar(1024), col_varchar_255_utf8 varchar(255), col_enum_ucs2_key enum ('a','b'), col_enum_utf8_key enum ('a','b'), col_set_utf8_key set ('a','b'), col_char_255_utf8 char(255), pk integer auto_increment, col_set_ucs2_key set ('a','b'), col_char_255_utf8_key char(255), col_set_ucs2 set ('a','b'), primary key (pk)) ENGINE=aria;
INSERT INTO t1 ( col_char_255_utf8, col_varchar_255_utf8_key, col_longtext_utf8_key ) VALUES ( 'lggnqojgqectqlkvskffihliqcwoakzzzjvhkqlwjybkngdbubskflpmzegdrk', REPEAT( 'a', 627 ), 'mlggnqojgqectqlkvskffihliqcwoakzzzjvhkqlwjybkngdbubskflpmzegdrklnipcmzbtwdqfnyinqfohgtiwmvfpbuslgobjhslxnaybcyebhsrlipnuvalhmvhlwbwujtvjsdrbyapfzprnxfgtrukwhywtkaoupsaogxsjxhqjkidvnpeytjgndtnrrbm' );
UPDATE t1 SET col_varchar_255_utf8 = REPEAT('a', 197 );
diff --git a/mysql-test/suite/mariabackup/absolute_ibdata_paths.opt b/mysql-test/suite/mariabackup/absolute_ibdata_paths.opt
new file mode 100644
index 00000000000..28848b9b086
--- /dev/null
+++ b/mysql-test/suite/mariabackup/absolute_ibdata_paths.opt
@@ -0,0 +1 @@
+--innodb --innodb-data-home-dir= --innodb-data-file-path=$MYSQLTEST_VARDIR/tmp/absolute_path_ibdata1:6M;ibdata_second:1M:autoextend
diff --git a/mysql-test/suite/mariabackup/absolute_ibdata_paths.result b/mysql-test/suite/mariabackup/absolute_ibdata_paths.result
new file mode 100644
index 00000000000..fe211e71f2f
--- /dev/null
+++ b/mysql-test/suite/mariabackup/absolute_ibdata_paths.result
@@ -0,0 +1,10 @@
+CREATE TABLE t(i INT) ENGINE INNODB;
+INSERT INTO t VALUES(1);
+# xtrabackup backup
+# remove datadir
+# xtrabackup copy back
+# restart server
+SELECT * from t;
+i
+1
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/absolute_ibdata_paths.test b/mysql-test/suite/mariabackup/absolute_ibdata_paths.test
new file mode 100644
index 00000000000..fa304f0bc55
--- /dev/null
+++ b/mysql-test/suite/mariabackup/absolute_ibdata_paths.test
@@ -0,0 +1,51 @@
+# This test just backs up and restores empty database
+# Innodb system tablespace is specified with absolute path in the .opt file
+CREATE TABLE t(i INT) ENGINE INNODB;
+INSERT INTO t VALUES(1);
+
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+let MYSQLD_DATADIR= `SELECT @@datadir`;
+--source include/shutdown_mysqld.inc
+perl;
+my $file= "$ENV{MYSQLD_DATADIR}/ibdata_second";
+open(FILE, "+<", $file) or die "Unable to open $file\n";
+binmode FILE;
+my $ps= $ENV{INNODB_PAGE_SIZE};
+my $page;
+my $pos = $ps * 0;
+sysseek(FILE, $pos, 0) || die "Unable to seek $file\n";
+die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
+substr($page,26,8) = pack("NN", 1, 1);
+sysseek(FILE, $pos, 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\n";
+EOF
+
+--source include/start_mysqld.inc
+
+echo # xtrabackup backup;
+
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+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;
+--enable_result_log
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+
+--source include/shutdown_mysqld.inc
+echo # remove datadir;
+rmdir $MYSQLD_DATADIR;
+#remove out-of-datadir ibdata1
+remove_file $MYSQLTEST_VARDIR/tmp/absolute_path_ibdata1;
+echo # xtrabackup copy back;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --copy-back --datadir=$MYSQLD_DATADIR --target-dir=$targetdir "--innodb_data_file_path=$_innodb_data_file_path" --innodb_data_home_dir=$_innodb_data_home_dir;
+echo # restart server;
+--source include/start_mysqld.inc
+--enable_result_log
+
+SELECT * from t;
+DROP TABLE t;
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/mariabackup/apply-log-only-incr.result b/mysql-test/suite/mariabackup/apply-log-only-incr.result
new file mode 100644
index 00000000000..f724d1d1fdc
--- /dev/null
+++ b/mysql-test/suite/mariabackup/apply-log-only-incr.result
@@ -0,0 +1,33 @@
+call mtr.add_suppression("InnoDB: New log files created");
+CREATE TABLE t(a INT UNSIGNED PRIMARY KEY) ENGINE INNODB;
+INSERT INTO t VALUES(0);
+COMMIT;
+start transaction;
+BEGIN;
+DELETE FROM t LIMIT 1;
+SET GLOBAL innodb_flush_log_at_trx_commit = 1;
+ROLLBACK;
+NOT FOUND /Rollback of trx with id/ in current_test
+# expect NOT FOUND
+NOT FOUND /Rollback of trx with id/ in current_test
+# expect NOT FOUND
+commit;
+SELECT count(*) FROM t;
+count(*)
+201
+# Restore and check results
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT COUNT(*) FROM t;
+COUNT(*)
+1
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT COUNT(*) FROM t;
+COUNT(*)
+201
+SELECT * FROM t;
+a
+0
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/apply-log-only-incr.test b/mysql-test/suite/mariabackup/apply-log-only-incr.test
new file mode 100644
index 00000000000..81c91d3c452
--- /dev/null
+++ b/mysql-test/suite/mariabackup/apply-log-only-incr.test
@@ -0,0 +1,70 @@
+--source include/have_innodb.inc
+
+call mtr.add_suppression("InnoDB: New log files created");
+
+let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
+let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1;
+
+CREATE TABLE t(a INT UNSIGNED PRIMARY KEY) ENGINE INNODB;
+INSERT INTO t VALUES(0);
+COMMIT;
+
+start transaction;
+--disable_query_log
+let $n=100;
+while ($n) {
+eval INSERT t VALUES(101-$n);
+dec $n;
+}
+
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+--enable_result_log
+let $n=100;
+while ($n) {
+eval INSERT t VALUES(201-$n);
+dec $n;
+}
+--enable_query_log
+connect (flush_log,localhost,root,,);
+BEGIN;
+DELETE FROM t LIMIT 1;
+SET GLOBAL innodb_flush_log_at_trx_commit = 1;
+ROLLBACK;
+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 --prepare --apply-log-only --target-dir=$basedir ;
+--enable_result_log
+
+let SEARCH_FILE=$MYSQLTEST_VARDIR/log/current_test;
+--let SEARCH_PATTERN= Rollback of trx with id
+--source include/search_pattern_in_file.inc
+--echo # expect NOT FOUND
+
+exec $XTRABACKUP --prepare --apply-log-only --target-dir=$basedir --incremental-dir=$incremental_dir ;
+
+--source include/search_pattern_in_file.inc
+--echo # expect NOT FOUND
+
+commit;
+SELECT count(*) FROM t;
+echo # Restore and check results;
+--let $targetdir=$basedir
+--let $restart_parameters= --innodb-force-recovery=3
+--source include/restart_and_restore.inc
+
+rmdir $basedir;
+rmdir $incremental_dir;
+
+SELECT COUNT(*) FROM t;
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT COUNT(*) FROM t;
+
+--let $restart_parameters=
+--source include/restart_mysqld.inc
+
+SELECT * FROM t;
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/apply-log-only.result b/mysql-test/suite/mariabackup/apply-log-only.result
new file mode 100644
index 00000000000..04b9c0d8ee2
--- /dev/null
+++ b/mysql-test/suite/mariabackup/apply-log-only.result
@@ -0,0 +1,10 @@
+call mtr.add_suppression("InnoDB: New log files created");
+CREATE TABLE t(a varchar(60)) ENGINE INNODB;
+start transaction;
+INSERT INTO t VALUES(1);
+NOT FOUND /Rollback of trx with id/ in current_test
+# expect NOT FOUND
+SELECT count(*) FROM t;
+count(*)
+1
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/apply-log-only.test b/mysql-test/suite/mariabackup/apply-log-only.test
new file mode 100644
index 00000000000..96a251fc03b
--- /dev/null
+++ b/mysql-test/suite/mariabackup/apply-log-only.test
@@ -0,0 +1,25 @@
+--source include/have_innodb.inc
+call mtr.add_suppression("InnoDB: New log files created");
+
+let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
+
+CREATE TABLE t(a varchar(60)) ENGINE INNODB;
+start transaction;
+INSERT INTO t VALUES(1);
+
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+--enable_result_log
+
+exec $XTRABACKUP --prepare --apply-log-only --target-dir=$basedir ;
+
+let SEARCH_FILE=$MYSQLTEST_VARDIR/log/current_test;
+--let SEARCH_PATTERN= Rollback of trx with id
+--source include/search_pattern_in_file.inc
+--echo # expect NOT FOUND
+
+SELECT count(*) FROM t;
+DROP TABLE t;
+
+# Cleanup
+rmdir $basedir;
diff --git a/mysql-test/suite/mariabackup/auth_plugin_win.opt b/mysql-test/suite/mariabackup/auth_plugin_win.opt
new file mode 100644
index 00000000000..e534ae1eae5
--- /dev/null
+++ b/mysql-test/suite/mariabackup/auth_plugin_win.opt
@@ -0,0 +1 @@
+--loose-enable-named-pipe
diff --git a/mysql-test/suite/mariabackup/auth_plugin_win.result b/mysql-test/suite/mariabackup/auth_plugin_win.result
new file mode 100644
index 00000000000..7a623be147f
--- /dev/null
+++ b/mysql-test/suite/mariabackup/auth_plugin_win.result
@@ -0,0 +1,5 @@
+INSTALL SONAME 'auth_named_pipe';
+CREATE USER 'USERNAME' IDENTIFIED WITH named_pipe;
+GRANT ALL PRIVILEGES ON *.* to USERNAME;
+DROP USER 'USERNAME';
+UNINSTALL SONAME 'auth_named_pipe';
diff --git a/mysql-test/suite/mariabackup/auth_plugin_win.test b/mysql-test/suite/mariabackup/auth_plugin_win.test
new file mode 100644
index 00000000000..9c8cd5ad411
--- /dev/null
+++ b/mysql-test/suite/mariabackup/auth_plugin_win.test
@@ -0,0 +1,31 @@
+--source include/windows.inc
+--source include/not_embedded.inc
+
+if (!$AUTH_NAMED_PIPE_SO) {
+ skip No named pipe plugin;
+}
+
+if (!$USERNAME) {
+ skip USERNAME variable is undefined;
+}
+
+if (`SELECT count(*) <> 0 FROM mysql.user WHERE user = '$USERNAME'`) {
+ skip \$USER=$USER which exists in mysql.user;
+}
+
+INSTALL SONAME 'auth_named_pipe';
+
+--replace_result $USERNAME USERNAME
+eval CREATE USER '$USERNAME' IDENTIFIED WITH named_pipe;
+--replace_result $USERNAME USERNAME
+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;
+--enable_result_log
+--replace_result $USERNAME USERNAME
+eval DROP USER '$USERNAME';
+rmdir $targetdir;
+UNINSTALL SONAME 'auth_named_pipe';
+
diff --git a/mysql-test/suite/mariabackup/backup_ssl.result b/mysql-test/suite/mariabackup/backup_ssl.result
new file mode 100644
index 00000000000..6e59da6d43a
--- /dev/null
+++ b/mysql-test/suite/mariabackup/backup_ssl.result
@@ -0,0 +1,9 @@
+GRANT ALL PRIVILEGES on *.* TO backup_user IDENTIFIED by 'x' REQUIRE SSL;
+FLUSH PRIVILEGES;
+# xtrabackup backup
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+DROP USER backup_user;
diff --git a/mysql-test/suite/mariabackup/backup_ssl.test b/mysql-test/suite/mariabackup/backup_ssl.test
new file mode 100644
index 00000000000..e858c834d29
--- /dev/null
+++ b/mysql-test/suite/mariabackup/backup_ssl.test
@@ -0,0 +1,16 @@
+GRANT ALL PRIVILEGES on *.* TO backup_user IDENTIFIED by 'x' REQUIRE SSL;
+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;
+--enable_result_log
+
+echo # xtrabackup prepare;
+--disable_result_log
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+DROP USER backup_user;
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/mariabackup/bug1509812-master.opt b/mysql-test/suite/mariabackup/bug1509812-master.opt
new file mode 100644
index 00000000000..de29ed41f59
--- /dev/null
+++ b/mysql-test/suite/mariabackup/bug1509812-master.opt
@@ -0,0 +1 @@
+--loose-skip-log-bin \ No newline at end of file
diff --git a/mysql-test/suite/mariabackup/compress_qpress.result b/mysql-test/suite/mariabackup/compress_qpress.result
new file mode 100644
index 00000000000..f8dfb46e4db
--- /dev/null
+++ b/mysql-test/suite/mariabackup/compress_qpress.result
@@ -0,0 +1,15 @@
+CREATE TABLE t(i INT) ENGINE INNODB;
+INSERT INTO t VALUES(1);
+# xtrabackup backup
+INSERT INTO t VALUES(2);
+# xtrabackup prepare
+t.frm.qp
+t.ibd.qp
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * FROM t;
+i
+1
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/compress_qpress.test b/mysql-test/suite/mariabackup/compress_qpress.test
new file mode 100644
index 00000000000..f86efe44e5d
--- /dev/null
+++ b/mysql-test/suite/mariabackup/compress_qpress.test
@@ -0,0 +1,24 @@
+CREATE TABLE t(i INT) ENGINE INNODB;
+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 --compress --target-dir=$targetdir;
+--enable_result_log
+
+INSERT INTO t VALUES(2);
+
+
+echo # xtrabackup prepare;
+--disable_result_log
+list_files $targetdir/test *.qp;
+exec $XTRABACKUP --decompress --remove-original --target-dir=$targetdir;
+list_files $targetdir/test *.qp;
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+
+SELECT * FROM t;
+DROP TABLE t;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/data_directory.result b/mysql-test/suite/mariabackup/data_directory.result
new file mode 100644
index 00000000000..e7201918cbd
--- /dev/null
+++ b/mysql-test/suite/mariabackup/data_directory.result
@@ -0,0 +1,13 @@
+CREATE TABLE t(a INT) ENGINE=InnoDB DATA DIRECTORY='table_data_dir';
+INSERT INTO t VALUES(1);
+# xtrabackup backup
+# xtrabackup prepare
+DROP TABLE t;
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * FROM t;
+a
+1
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/data_directory.test b/mysql-test/suite/mariabackup/data_directory.test
new file mode 100644
index 00000000000..50789a34c78
--- /dev/null
+++ b/mysql-test/suite/mariabackup/data_directory.test
@@ -0,0 +1,23 @@
+let $table_data_dir=$MYSQLTEST_VARDIR/ddir;
+mkdir $table_data_dir;
+--replace_result $table_data_dir table_data_dir
+EVAL CREATE TABLE t(a INT) ENGINE=InnoDB DATA DIRECTORY='$table_data_dir';
+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;
+--enable_result_log
+--source include/shutdown_mysqld.inc
+echo # xtrabackup prepare;
+--disable_result_log
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+--source include/start_mysqld.inc
+DROP TABLE t;
+rmdir $table_data_dir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+SELECT * FROM t;
+DROP TABLE t;
+rmdir $targetdir;
+rmdir $table_data_dir;
diff --git a/mysql-test/suite/mariabackup/encrypted_page_compressed.opt b/mysql-test/suite/mariabackup/encrypted_page_compressed.opt
new file mode 100644
index 00000000000..e5a02a1a1c9
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_page_compressed.opt
@@ -0,0 +1,6 @@
+--innodb-encryption-rotate-key-age=2
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
+--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+--loose-file-key-management
+--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/logkey.txt
diff --git a/mysql-test/suite/mariabackup/encrypted_page_compressed.result b/mysql-test/suite/mariabackup/encrypted_page_compressed.result
new file mode 100644
index 00000000000..92ad84fc04a
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_page_compressed.result
@@ -0,0 +1,6 @@
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes encrypted=yes;
+insert into t1(b, c) values("mariadb", "mariabackup");
+# Corrupt the table
+# xtrabackup backup
+FOUND /Database page corruption detected/ in backup.log
+drop table t1;
diff --git a/mysql-test/suite/mariabackup/encrypted_page_compressed.test b/mysql-test/suite/mariabackup/encrypted_page_compressed.test
new file mode 100644
index 00000000000..eaca762d459
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_page_compressed.test
@@ -0,0 +1,47 @@
+source include/have_file_key_management.inc;
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes encrypted=yes;
+insert into t1(b, c) values("mariadb", "mariabackup");
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+
+--source include/shutdown_mysqld.inc
+
+--echo # Corrupt the table
+
+perl;
+use strict;
+use warnings;
+use Fcntl qw(:DEFAULT :seek);
+
+my $ibd_file = $ENV{'t1_IBD'};
+
+my $chunk;
+my $page_size = $ENV{'INNODB_PAGE_SIZE'};
+
+sysopen IBD_FILE, $ibd_file, O_RDWR || die "Unable to open $ibd_file";
+sysseek IBD_FILE, $page_size * 3 + 75, SEEK_CUR;
+$chunk = '\xAA\xAA\xAA\xAA';
+syswrite IBD_FILE, $chunk, 4;
+
+close IBD_FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+echo # xtrabackup backup;
+--disable_result_log
+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 > $backuplog;
+--enable_result_log
+
+--let SEARCH_PATTERN=Database page corruption detected
+--let SEARCH_FILE=$backuplog
+--source include/search_pattern_in_file.inc
+remove_file $backuplog;
+
+drop table t1;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/encrypted_page_corruption.opt b/mysql-test/suite/mariabackup/encrypted_page_corruption.opt
new file mode 100644
index 00000000000..74a6450a1ef
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_page_corruption.opt
@@ -0,0 +1,6 @@
+--innodb-encrypt-log=ON
+--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_page_corruption.result b/mysql-test/suite/mariabackup/encrypted_page_corruption.result
new file mode 100644
index 00000000000..0198cfb3dc0
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_page_corruption.result
@@ -0,0 +1,7 @@
+call mtr.add_suppression("\\[ERROR\\] InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=3\\] in file '.*test.t1\\.ibd' cannot be decrypted.");
+CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB, encrypted=yes;
+insert into t1 select repeat('a',100);
+# Corrupt the table
+# xtrabackup backup
+FOUND /Database page corruption detected/ in backup.log
+drop table t1;
diff --git a/mysql-test/suite/mariabackup/encrypted_page_corruption.test b/mysql-test/suite/mariabackup/encrypted_page_corruption.test
new file mode 100644
index 00000000000..7ee4e8c5d58
--- /dev/null
+++ b/mysql-test/suite/mariabackup/encrypted_page_corruption.test
@@ -0,0 +1,79 @@
+--source include/have_file_key_management.inc
+--source include/innodb_page_size.inc
+
+perl;
+open(OUT, ">$ENV{MYSQLTEST_VARDIR}/log/check.txt") || die;
+print OUT "--skip innodb_checksum_algorithm=crc32 needs little-endian\n"
+unless unpack("L","macs")==unpack("N","scam");
+close(OUT);
+EOF
+
+--source $MYSQLTEST_VARDIR/log/check.txt
+--remove_file $MYSQLTEST_VARDIR/log/check.txt
+
+call mtr.add_suppression("\\[ERROR\\] InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=3\\] in file '.*test.t1\\.ibd' cannot be decrypted.");
+CREATE TABLE t1(c VARCHAR(128)) ENGINE INNODB, encrypted=yes;
+insert into t1 select repeat('a',100);
+
+let MYSQLD_DATADIR=`select @@datadir`;
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+
+--source include/shutdown_mysqld.inc
+
+--echo # Corrupt the table
+
+perl;
+use strict;
+use warnings;
+use Fcntl qw(:DEFAULT :seek);
+do "$ENV{MTR_SUITE_DIR}/../innodb/include/crc32.pl";
+
+my $page_size = $ENV{INNODB_PAGE_SIZE};
+
+sysopen IBD_FILE, "$ENV{MYSQLD_DATADIR}/test/t1.ibd", O_RDWR
+|| die "Cannot open t1.ibd\n";
+sysread(IBD_FILE, $_, 38) || die "Cannot read t1.ibd\n";
+my $space = unpack("x[34]N", $_);
+sysseek(IBD_FILE, $page_size * 3, SEEK_SET) || die "Cannot seek t1.ibd\n";
+
+my $head = pack("Nx[18]", 3); # better to have a valid page number
+my $body = chr(0) x ($page_size - 38 - 8);
+
+# Calculate innodb_checksum_algorithm=crc32 for the unencrypted page.
+# The following bytes are excluded:
+# bytes 0..3 (the checksum is stored there)
+# bytes 26..37 (encryption key version, post-encryption checksum, tablespace id)
+# bytes $page_size-8..$page_size-1 (checksum, LSB of FIL_PAGE_LSN)
+my $polynomial = 0x82f63b78; # CRC-32C
+my $ck = mycrc32($head, 0, $polynomial) ^ mycrc32($body, 0, $polynomial);
+
+my $page= pack("N",$ck).$head.pack("NNN",1,$ck,$space).$body.pack("Nx[4]",$ck);
+die unless syswrite(IBD_FILE, $page, $page_size) == $page_size;
+close IBD_FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+echo # xtrabackup backup;
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log;
+
+--disable_result_log
+--error 1
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --extended-validation --target-dir=$targetdir > $backuplog;
+--enable_result_log
+
+
+--let SEARCH_PATTERN=Database page corruption detected
+--let SEARCH_FILE=$backuplog
+--source include/search_pattern_in_file.inc
+remove_file $backuplog;
+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;
+--enable_result_log
+
+drop table t1;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/filekeys-data.enc b/mysql-test/suite/mariabackup/filekeys-data.enc
new file mode 100644
index 00000000000..a8adb2f939c
--- /dev/null
+++ b/mysql-test/suite/mariabackup/filekeys-data.enc
Binary files differ
diff --git a/mysql-test/suite/mariabackup/filekeys-data.key b/mysql-test/suite/mariabackup/filekeys-data.key
new file mode 100644
index 00000000000..85fcd1fbb81
--- /dev/null
+++ b/mysql-test/suite/mariabackup/filekeys-data.key
@@ -0,0 +1,2 @@
+secret
+
diff --git a/mysql-test/suite/mariabackup/full_backup.result b/mysql-test/suite/mariabackup/full_backup.result
new file mode 100644
index 00000000000..c387f5328a7
--- /dev/null
+++ b/mysql-test/suite/mariabackup/full_backup.result
@@ -0,0 +1,13 @@
+CREATE TABLE t(i INT) ENGINE INNODB;
+INSERT INTO t VALUES(1);
+# xtrabackup backup
+INSERT INTO t VALUES(2);
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * FROM t;
+i
+1
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/full_backup.test b/mysql-test/suite/mariabackup/full_backup.test
new file mode 100644
index 00000000000..f987410cf76
--- /dev/null
+++ b/mysql-test/suite/mariabackup/full_backup.test
@@ -0,0 +1,22 @@
+CREATE TABLE t(i INT) ENGINE INNODB;
+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;
+--enable_result_log
+
+INSERT INTO t VALUES(2);
+
+
+echo # xtrabackup prepare;
+--disable_result_log
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+
+SELECT * FROM t;
+DROP TABLE t;
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/mariabackup/huge_lsn.opt b/mysql-test/suite/mariabackup/huge_lsn.opt
new file mode 100644
index 00000000000..c65b76fb7d2
--- /dev/null
+++ b/mysql-test/suite/mariabackup/huge_lsn.opt
@@ -0,0 +1,10 @@
+--innodb-encrypt-log=ON
+--innodb-tablespaces-encryption
+--innodb-encrypt-tables=ON
+--innodb-encryption-rotate-key-age=1
+--innodb-encryption-threads=4
+--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/huge_lsn.result b/mysql-test/suite/mariabackup/huge_lsn.result
new file mode 100644
index 00000000000..f2202c20968
--- /dev/null
+++ b/mysql-test/suite/mariabackup/huge_lsn.result
@@ -0,0 +1,19 @@
+#
+# MDEV-13416 mariabackup fails with EFAULT "Bad Address"
+#
+call mtr.add_suppression("InnoDB: New log files created");
+FOUND /InnoDB: New log files created, LSN=175964\d{8}/ in mysqld.1.err
+CREATE TABLE t(i INT) ENGINE INNODB;
+INSERT INTO t VALUES(1);
+# xtrabackup backup
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+INSERT INTO t VALUES(2);
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * FROM t;
+i
+1
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/huge_lsn.test b/mysql-test/suite/mariabackup/huge_lsn.test
new file mode 100644
index 00000000000..baf577769c0
--- /dev/null
+++ b/mysql-test/suite/mariabackup/huge_lsn.test
@@ -0,0 +1,54 @@
+--source include/not_embedded.inc
+--source include/have_file_key_management.inc
+
+--echo #
+--echo # MDEV-13416 mariabackup fails with EFAULT "Bad Address"
+--echo #
+
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+let MYSQLD_DATADIR=`select @@datadir`;
+call mtr.add_suppression("InnoDB: New log files created");
+
+--source include/shutdown_mysqld.inc
+
+perl;
+my $file= "$ENV{MYSQLD_DATADIR}/ibdata1";
+open(FILE, "+<", $file) or die "Unable to open $file\n";
+binmode FILE;
+my $ps= $ENV{INNODB_PAGE_SIZE};
+my $page;
+die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
+substr($page,26,8) = pack("NN", 4096, ~1024);
+substr($page,0,4)=pack("N",0xdeadbeef);
+substr($page,$ps-8,4)=pack("N",0xdeadbeef);
+sysseek(FILE, 0, 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\n";
+EOF
+
+--remove_files_wildcard $MYSQLD_DATADIR ib_logfile*
+
+--source include/start_mysqld.inc
+let SEARCH_RANGE= -50000;
+let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
+--let SEARCH_PATTERN= InnoDB: New log files created, LSN=175964\d{8}
+--source include/search_pattern_in_file.inc
+
+CREATE TABLE t(i INT) ENGINE INNODB;
+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;
+--enable_result_log
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+INSERT INTO t VALUES(2);
+echo # xtrabackup prepare;
+--disable_result_log
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+--source include/restart_and_restore.inc
+--enable_result_log
+SELECT * FROM t;
+DROP TABLE t;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/include/have_file_key_management.inc b/mysql-test/suite/mariabackup/include/have_file_key_management.inc
new file mode 100644
index 00000000000..06fbb510d6b
--- /dev/null
+++ b/mysql-test/suite/mariabackup/include/have_file_key_management.inc
@@ -0,0 +1,4 @@
+if (`SELECT COUNT(*)=0 FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'file_key_management' AND PLUGIN_STATUS='ACTIVE'`)
+{
+ --skip Test requires file_key_management plugin
+}
diff --git a/mysql-test/suite/mariabackup/include/restart_and_restore.inc b/mysql-test/suite/mariabackup/include/restart_and_restore.inc
new file mode 100644
index 00000000000..9056867b07f
--- /dev/null
+++ b/mysql-test/suite/mariabackup/include/restart_and_restore.inc
@@ -0,0 +1,9 @@
+let $_datadir= `SELECT @@datadir`;
+echo # shutdown server;
+--source include/shutdown_mysqld.inc
+echo # remove datadir;
+rmdir $_datadir;
+echo # xtrabackup move back;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --copy-back --datadir=$_datadir --target-dir=$targetdir --parallel=2 --throttle=1;
+echo # restart server;
+--source include/start_mysqld.inc
diff --git a/mysql-test/suite/mariabackup/incremental_backup.result b/mysql-test/suite/mariabackup/incremental_backup.result
new file mode 100644
index 00000000000..20d8cefbefb
--- /dev/null
+++ b/mysql-test/suite/mariabackup/incremental_backup.result
@@ -0,0 +1,26 @@
+call mtr.add_suppression("InnoDB: New log files created");
+CREATE TABLE t(i INT PRIMARY KEY) ENGINE INNODB;
+BEGIN;
+INSERT INTO t VALUES(2);
+SET GLOBAL innodb_flush_log_at_trx_commit = 1;
+INSERT INTO t VALUES(1);
+# Create full backup , modify table, then create incremental/differential backup
+BEGIN;
+INSERT INTO t VALUES(0);
+DELETE FROM t WHERE i=0;
+COMMIT;
+SELECT * FROM t;
+i
+1
+2
+# Prepare full backup, apply incremental one
+# Restore and check results
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * FROM t;
+i
+1
+2
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/incremental_backup.test b/mysql-test/suite/mariabackup/incremental_backup.test
new file mode 100644
index 00000000000..93582f047a7
--- /dev/null
+++ b/mysql-test/suite/mariabackup/incremental_backup.test
@@ -0,0 +1,43 @@
+call mtr.add_suppression("InnoDB: New log files created");
+
+
+let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
+let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1;
+
+CREATE TABLE t(i INT PRIMARY KEY) ENGINE INNODB;
+BEGIN;
+INSERT INTO t VALUES(2);
+connect (con1,localhost,root,,);
+SET GLOBAL innodb_flush_log_at_trx_commit = 1;
+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;
+--enable_result_log
+BEGIN;
+INSERT INTO t VALUES(0);
+DELETE FROM t WHERE i=0;
+connection default;
+COMMIT;
+SELECT * FROM t;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir;
+
+--disable_result_log
+echo # Prepare full backup, apply incremental one;
+exec $XTRABACKUP --prepare --apply-log-only --target-dir=$basedir;
+exec $XTRABACKUP --prepare --apply-log-only --target-dir=$basedir --incremental-dir=$incremental_dir ;
+
+disconnect con1;
+echo # Restore and check results;
+let $targetdir=$basedir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+
+SELECT * FROM t;
+DROP TABLE t;
+
+# Cleanup
+rmdir $basedir;
+rmdir $incremental_dir;
+
diff --git a/mysql-test/suite/mariabackup/incremental_encrypted.opt b/mysql-test/suite/mariabackup/incremental_encrypted.opt
new file mode 100644
index 00000000000..ea644cef6ce
--- /dev/null
+++ b/mysql-test/suite/mariabackup/incremental_encrypted.opt
@@ -0,0 +1,3 @@
+--innodb-tablespaces-encryption
+--plugin-load-add=$DEBUG_KEY_MANAGEMENT_SO
+--loose-debug_key_management_version=2
diff --git a/mysql-test/suite/mariabackup/incremental_encrypted.result b/mysql-test/suite/mariabackup/incremental_encrypted.result
new file mode 100644
index 00000000000..e8f81e9fa49
--- /dev/null
+++ b/mysql-test/suite/mariabackup/incremental_encrypted.result
@@ -0,0 +1,20 @@
+call mtr.add_suppression("InnoDB: New log files created");
+CREATE TABLE t(i INT) ENGINE INNODB ENCRYPTED=YES;
+INSERT INTO t VALUES(1);
+# Create full backup , modify table, then create incremental/differential backup
+INSERT INTO t VALUES(2);
+SELECT * FROM t;
+i
+1
+2
+# Prepare full backup, apply incremental one
+# Restore and check results
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * FROM t;
+i
+1
+2
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/incremental_encrypted.test b/mysql-test/suite/mariabackup/incremental_encrypted.test
new file mode 100644
index 00000000000..04f4ba5d18a
--- /dev/null
+++ b/mysql-test/suite/mariabackup/incremental_encrypted.test
@@ -0,0 +1,40 @@
+if (!$EXAMPLE_KEY_MANAGEMENT_SO)
+{
+ --skip needs example_key_management plugin
+}
+call mtr.add_suppression("InnoDB: New log files created");
+
+
+let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
+let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1;
+
+
+CREATE TABLE t(i INT) ENGINE INNODB ENCRYPTED=YES;
+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;
+--enable_result_log
+
+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;
+echo # Prepare full backup, apply incremental one;
+exec $XTRABACKUP --prepare --apply-log-only --target-dir=$basedir;
+exec $XTRABACKUP --prepare --target-dir=$basedir --incremental-dir=$incremental_dir;
+
+echo # Restore and check results;
+let $targetdir=$basedir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+
+SELECT * FROM t;
+DROP TABLE t;
+
+# Cleanup
+rmdir $basedir;
+rmdir $incremental_dir;
diff --git a/mysql-test/suite/mariabackup/mdev-14447.opt b/mysql-test/suite/mariabackup/mdev-14447.opt
new file mode 100644
index 00000000000..5ac67e950c4
--- /dev/null
+++ b/mysql-test/suite/mariabackup/mdev-14447.opt
@@ -0,0 +1 @@
+--sequence --innodb-data-file-path=ibdata_first:3M;ibdata_second:1M:autoextend \ No newline at end of file
diff --git a/mysql-test/suite/mariabackup/mdev-14447.result b/mysql-test/suite/mariabackup/mdev-14447.result
new file mode 100644
index 00000000000..3bca7eb5701
--- /dev/null
+++ b/mysql-test/suite/mariabackup/mdev-14447.result
@@ -0,0 +1,19 @@
+call mtr.add_suppression("InnoDB: New log files created");
+CREATE TABLE t(a varchar(40) PRIMARY KEY, b varchar(40), c varchar(40), d varchar(40), index(b,c,d)) ENGINE INNODB;
+# Create full backup , modify table, then create incremental/differential backup
+BEGIN;
+INSERT INTO t select uuid(), uuid(), uuid(), uuid() from seq_1_to_100000;
+COMMIT;
+SELECT count(*) FROM t;
+count(*)
+100000
+# Prepare full backup, apply incremental one
+# Restore and check results
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT count(*) FROM t;
+count(*)
+100000
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/mdev-14447.test b/mysql-test/suite/mariabackup/mdev-14447.test
new file mode 100644
index 00000000000..48f37646231
--- /dev/null
+++ b/mysql-test/suite/mariabackup/mdev-14447.test
@@ -0,0 +1,46 @@
+call mtr.add_suppression("InnoDB: New log files created");
+
+let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
+let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1;
+
+CREATE TABLE t(a varchar(40) PRIMARY KEY, b varchar(40), c varchar(40), d varchar(40), index(b,c,d)) ENGINE INNODB;
+
+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;
+--enable_result_log
+BEGIN;
+INSERT INTO t select uuid(), uuid(), uuid(), uuid() from seq_1_to_100000;
+COMMIT;
+SELECT count(*) FROM t;
+
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir;
+
+--disable_result_log
+echo # Prepare full backup, apply incremental one;
+exec $XTRABACKUP --prepare --apply-log-only --target-dir=$basedir;
+exec $XTRABACKUP --prepare --apply-log-only --target-dir=$basedir --incremental-dir=$incremental_dir ;
+
+echo # Restore and check results;
+let $targetdir=$basedir;
+#-- source include/restart_and_restore.inc
+
+let $_datadir= `SELECT @@datadir`;
+let $innodb_data_file_path=`SELECT @@innodb_data_file_path`;
+echo # shutdown server;
+--source include/shutdown_mysqld.inc
+echo # remove datadir;
+rmdir $_datadir;
+echo # xtrabackup move back;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --copy-back --datadir=$_datadir "--innodb_data_file_path=$innodb_data_file_path" --target-dir=$targetdir;
+echo # restart server;
+--source include/start_mysqld.inc
+
+
+--enable_result_log
+SELECT count(*) FROM t;
+DROP TABLE t;
+
+# Cleanup
+rmdir $basedir;
+rmdir $incremental_dir;
diff --git a/mysql-test/suite/mariabackup/missing_ibd.result b/mysql-test/suite/mariabackup/missing_ibd.result
new file mode 100644
index 00000000000..53989be7c14
--- /dev/null
+++ b/mysql-test/suite/mariabackup/missing_ibd.result
@@ -0,0 +1,6 @@
+create table t1(c1 int) engine=InnoDB;
+INSERT INTO t1 VALUES(1);
+# xtrabackup backup
+select * from t1;
+ERROR 42S02: Table 'test.t1' doesn't exist in engine
+drop table t1;
diff --git a/mysql-test/suite/mariabackup/missing_ibd.test b/mysql-test/suite/mariabackup/missing_ibd.test
new file mode 100644
index 00000000000..53ce397fd5e
--- /dev/null
+++ b/mysql-test/suite/mariabackup/missing_ibd.test
@@ -0,0 +1,27 @@
+--source include/have_innodb.inc
+
+#
+# MDEV-13499: Backing up table that "doesn't exist in engine" cause crash in mariabackup when using encryption
+#
+create table t1(c1 int) engine=InnoDB;
+INSERT INTO t1 VALUES(1);
+let MYSQLD_DATADIR=`select @@datadir`;
+
+--source include/shutdown_mysqld.inc
+
+--remove_file $MYSQLD_DATADIR/test/t1.ibd
+
+--source include/start_mysqld.inc
+
+echo # xtrabackup backup;
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+--enable_result_log
+
+rmdir $targetdir;
+
+--error ER_NO_SUCH_TABLE_IN_ENGINE
+select * from t1;
+drop table t1;
+
diff --git a/mysql-test/suite/mariabackup/page_compression_level.result b/mysql-test/suite/mariabackup/page_compression_level.result
new file mode 100644
index 00000000000..6273d79f56a
--- /dev/null
+++ b/mysql-test/suite/mariabackup/page_compression_level.result
@@ -0,0 +1,14 @@
+set global innodb_compression_level = 3;
+CREATE TABLE t1(c1 INT, b CHAR(20)) ENGINE=INNODB PAGE_COMPRESSED=1;
+INSERT INTO t1 VALUES(1, 'mariadb');
+# xtrabackup backup
+# xtrabackup prepare
+FOUND /innodb_compression_level=3/ in backup-my.cnf
+DELETE FROM t1;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1 IMPORT TABLESPACE;
+SELECT * FROM t1;
+c1 b
+1 mariadb
+DROP TABLE t1;
+set global innodb_compression_level = default;
diff --git a/mysql-test/suite/mariabackup/page_compression_level.test b/mysql-test/suite/mariabackup/page_compression_level.test
new file mode 100644
index 00000000000..e80c956e621
--- /dev/null
+++ b/mysql-test/suite/mariabackup/page_compression_level.test
@@ -0,0 +1,31 @@
+#--source include/innodb_page_size.inc
+
+set global innodb_compression_level = 3;
+CREATE TABLE t1(c1 INT, b CHAR(20)) ENGINE=INNODB PAGE_COMPRESSED=1;
+INSERT INTO t1 VALUES(1, 'mariadb');
+
+echo # xtrabackup backup;
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --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
+
+--let SEARCH_PATTERN=innodb_compression_level=3
+--let SEARCH_FILE=$targetdir/backup-my.cnf
+--source include/search_pattern_in_file.inc
+
+DELETE FROM t1;
+ALTER TABLE t1 DISCARD TABLESPACE;
+let $MYSQLD_DATADIR= `select @@datadir`;
+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;
+set global innodb_compression_level = default;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/partial.result b/mysql-test/suite/mariabackup/partial.result
new file mode 100644
index 00000000000..98c59be91bb
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partial.result
@@ -0,0 +1,13 @@
+CREATE TABLE t1(i INT) ENGINE INNODB;
+INSERT INTO t1 VALUES(1);
+CREATE TABLE t2(i int) ENGINE INNODB;
+# xtrabackup backup
+t1.ibd
+# xtrabackup prepare
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1 IMPORT TABLESPACE;
+SELECT * FROM t1;
+i
+1
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/suite/mariabackup/partial.test b/mysql-test/suite/mariabackup/partial.test
new file mode 100644
index 00000000000..3b1de8ebc25
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partial.test
@@ -0,0 +1,31 @@
+# Export single table from backup
+# (xtrabackup with --prepare --export)
+
+CREATE TABLE t1(i INT) ENGINE INNODB;
+INSERT INTO t1 VALUES(1);
+CREATE TABLE t2(i int) ENGINE INNODB;
+
+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;
+--enable_result_log
+list_files $targetdir/test *.ibd;
+
+echo # xtrabackup prepare;
+--disable_result_log
+exec $XTRABACKUP --prepare --export --target-dir=$targetdir;
+--enable_result_log
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+let $MYSQLD_DATADIR= `select @@datadir`;
+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;
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/mariabackup/partial_exclude.result b/mysql-test/suite/mariabackup/partial_exclude.result
new file mode 100644
index 00000000000..0da9b547caa
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partial_exclude.result
@@ -0,0 +1,12 @@
+CREATE TABLE t1(i INT) ENGINE INNODB;
+INSERT INTO t1 VALUES(1);
+CREATE TABLE t2(i int) ENGINE INNODB;
+CREATE DATABASE db2;
+USE db2;
+CREATE TABLE t1(i INT) ENGINE INNODB;
+USE test;
+# xtrabackup backup
+t1.ibd
+DROP TABLE t1;
+DROP TABLE t2;
+DROP DATABASE db2;
diff --git a/mysql-test/suite/mariabackup/partial_exclude.test b/mysql-test/suite/mariabackup/partial_exclude.test
new file mode 100644
index 00000000000..631f9d7ee71
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partial_exclude.test
@@ -0,0 +1,30 @@
+# Test --databases-exclude and --tables-exclude feature of xtrabackup 2.3.8
+
+CREATE TABLE t1(i INT) ENGINE INNODB;
+INSERT INTO t1 VALUES(1);
+CREATE TABLE t2(i int) ENGINE INNODB;
+
+CREATE DATABASE db2;
+USE db2;
+CREATE TABLE t1(i INT) ENGINE INNODB;
+
+USE test;
+
+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;
+--enable_result_log
+
+# check that only t1 table is in backup (t2 is excluded)
+list_files $targetdir/test *.ibd;
+# check that db2 database is not in the backup (excluded)
+--error 1
+list_files $targetdir/db2 *.ibd;
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP DATABASE db2;
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/mariabackup/partition_datadir.opt b/mysql-test/suite/mariabackup/partition_datadir.opt
new file mode 100644
index 00000000000..8a3240370eb
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partition_datadir.opt
@@ -0,0 +1 @@
+--partition \ No newline at end of file
diff --git a/mysql-test/suite/mariabackup/partition_datadir.result b/mysql-test/suite/mariabackup/partition_datadir.result
new file mode 100644
index 00000000000..3fc5fe30907
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partition_datadir.result
@@ -0,0 +1,22 @@
+CREATE TABLE t(i int)
+ENGINE=InnoDB
+PARTITION BY RANGE (i)
+(PARTITION p0 VALUES LESS THAN (100),
+PARTITION P1 VALUES LESS THAN (200),
+PARTITION p2 VALUES LESS THAN (300) DATA DIRECTORY = 'MYSQLTEST_VARDIR/partitdata',
+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);
+DROP TABLE t;
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * FROM t;
+i
+1
+101
+201
+301
+401
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/partition_datadir.test b/mysql-test/suite/mariabackup/partition_datadir.test
new file mode 100644
index 00000000000..882b0111267
--- /dev/null
+++ b/mysql-test/suite/mariabackup/partition_datadir.test
@@ -0,0 +1,24 @@
+let $targetdir=$MYSQLTEST_VARDIR/backup;
+mkdir $targetdir;
+mkdir $MYSQLTEST_VARDIR/partitdata;
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t(i int)
+ENGINE=InnoDB
+PARTITION BY RANGE (i)
+(PARTITION p0 VALUES LESS THAN (100),
+ PARTITION P1 VALUES LESS THAN (200),
+ PARTITION p2 VALUES LESS THAN (300) DATA DIRECTORY = '$MYSQLTEST_VARDIR/partitdata',
+ 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 --prepare --target-dir=$targetdir;
+DROP TABLE t;
+rmdir $MYSQLTEST_VARDIR/partitdata;
+--source include/restart_and_restore.inc
+--enable_result_log
+SELECT * FROM t;
+DROP TABLE t;
+rmdir $targetdir;
+rmdir $MYSQLTEST_VARDIR/partitdata;
diff --git a/mysql-test/suite/mariabackup/small_ibd.result b/mysql-test/suite/mariabackup/small_ibd.result
new file mode 100644
index 00000000000..1c840a7a1b6
--- /dev/null
+++ b/mysql-test/suite/mariabackup/small_ibd.result
@@ -0,0 +1 @@
+#backup
diff --git a/mysql-test/suite/mariabackup/small_ibd.test b/mysql-test/suite/mariabackup/small_ibd.test
new file mode 100644
index 00000000000..23d6b08c047
--- /dev/null
+++ b/mysql-test/suite/mariabackup/small_ibd.test
@@ -0,0 +1,18 @@
+# Check if ibd smaller than page size are skipped
+# It is possible, due to race conditions that new file
+# is created by server while xtrabackup is running
+# The first page in this file does not yet exist.
+# xtrabackup should skip such file.
+
+let $_datadir= `SELECT @@datadir`;
+write_file $_datadir/test/small.ibd;
+EOF
+echo #backup;
+
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+--enable_result_log
+remove_file $_datadir/test/small.ibd;
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/mariabackup/suite.opt b/mysql-test/suite/mariabackup/suite.opt
new file mode 100644
index 00000000000..ec00a407620
--- /dev/null
+++ b/mysql-test/suite/mariabackup/suite.opt
@@ -0,0 +1 @@
+--innodb --changed_page_bitmaps --innodb-file-format=Barracuda \ No newline at end of file
diff --git a/mysql-test/suite/mariabackup/suite.pm b/mysql-test/suite/mariabackup/suite.pm
new file mode 100644
index 00000000000..9242bbc051f
--- /dev/null
+++ b/mysql-test/suite/mariabackup/suite.pm
@@ -0,0 +1,37 @@
+package My::Suite::MariaBackup;
+
+@ISA = qw(My::Suite);
+use My::Find;
+use File::Basename;
+use strict;
+
+return "Not run for embedded server" if $::opt_embedded_server;
+
+my $mariabackup_exe=
+::mtr_exe_maybe_exists(
+ "$::bindir/extra/mariabackup$::opt_vs_config/mariabackup",
+ "$::path_client_bindir/mariabackup");
+
+return "No mariabackup" if !$mariabackup_exe;
+
+
+$ENV{XTRABACKUP}= $mariabackup_exe;
+
+$ENV{XBSTREAM}= ::mtr_exe_maybe_exists(
+ "$::bindir/extra/mariabackup/$::opt_vs_config/mbstream",
+ "$::path_client_bindir/mbstream");
+
+$ENV{INNOBACKUPEX}= "$mariabackup_exe --innobackupex";
+
+my $have_qpress = index(`qpress 2>&1`,"Compression") > 0;
+
+
+sub skip_combinations {
+ my %skip;
+ $skip{'include/have_file_key_management.inc'} = 'needs file_key_management plugin' unless $ENV{FILE_KEY_MANAGEMENT_SO};
+ $skip{'compress_qpress.test'}= 'needs qpress executable in PATH' unless $have_qpress;
+ %skip;
+}
+
+bless { };
+
diff --git a/mysql-test/suite/mariabackup/undo_space_id.opt b/mysql-test/suite/mariabackup/undo_space_id.opt
new file mode 100644
index 00000000000..01b1d91e820
--- /dev/null
+++ b/mysql-test/suite/mariabackup/undo_space_id.opt
@@ -0,0 +1,2 @@
+--debug=d,innodb_undo_upgrade
+--innodb_undo_tablespaces=2
diff --git a/mysql-test/suite/mariabackup/undo_space_id.result b/mysql-test/suite/mariabackup/undo_space_id.result
new file mode 100644
index 00000000000..96d3e2a58f4
--- /dev/null
+++ b/mysql-test/suite/mariabackup/undo_space_id.result
@@ -0,0 +1,13 @@
+# Create 2 UNDO TABLESPACE(UNDO003, UNDO004)
+CREATE TABLE t1(a varchar(60)) ENGINE INNODB;
+start transaction;
+INSERT INTO t1 VALUES(1);
+# xtrabackup backup
+# Display undo log files from target directory
+undo003
+undo004
+# xtrabackup prepare
+# Display undo log files from targer directory
+undo003
+undo004
+DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/undo_space_id.test b/mysql-test/suite/mariabackup/undo_space_id.test
new file mode 100644
index 00000000000..8adeb18e5a7
--- /dev/null
+++ b/mysql-test/suite/mariabackup/undo_space_id.test
@@ -0,0 +1,25 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+--echo # Create 2 UNDO TABLESPACE(UNDO003, UNDO004)
+
+let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
+
+CREATE TABLE t1(a varchar(60)) ENGINE INNODB;
+start transaction;
+INSERT INTO t1 VALUES(1);
+
+--echo # xtrabackup backup
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
+--enable_result_log
+--echo # Display undo log files from target directory
+list_files $basedir undo*;
+
+--echo # xtrabackup prepare
+exec $XTRABACKUP --prepare --apply-log-only --target-dir=$basedir;
+--echo # Display undo log files from targer directory
+list_files $basedir undo*;
+
+DROP TABLE t1;
+rmdir $basedir;
diff --git a/mysql-test/suite/mariabackup/unencrypted_page_compressed.result b/mysql-test/suite/mariabackup/unencrypted_page_compressed.result
new file mode 100644
index 00000000000..b4cb27d307b
--- /dev/null
+++ b/mysql-test/suite/mariabackup/unencrypted_page_compressed.result
@@ -0,0 +1,6 @@
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes;
+insert into t1(b, c) values("mariadb", "mariabackup");
+# Corrupt the table
+# xtrabackup backup
+FOUND /Database page corruption detected/ in backup.log
+drop table t1;
diff --git a/mysql-test/suite/mariabackup/unencrypted_page_compressed.test b/mysql-test/suite/mariabackup/unencrypted_page_compressed.test
new file mode 100644
index 00000000000..48df75bc5c2
--- /dev/null
+++ b/mysql-test/suite/mariabackup/unencrypted_page_compressed.test
@@ -0,0 +1,46 @@
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT, c char(200)) ENGINE=InnoDB page_compressed=yes;
+insert into t1(b, c) values("mariadb", "mariabackup");
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd;
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+
+--source include/shutdown_mysqld.inc
+
+--echo # Corrupt the table
+
+perl;
+use strict;
+use warnings;
+use Fcntl qw(:DEFAULT :seek);
+
+my $ibd_file = $ENV{'t1_IBD'};
+
+my $chunk;
+my $page_size = $ENV{'INNODB_PAGE_SIZE'};
+
+sysopen IBD_FILE, $ibd_file, O_RDWR || die "Unable to open $ibd_file";
+sysseek IBD_FILE, 16384 * 3 + 75, SEEK_CUR;
+$chunk = '\xAA\xAA\xAA\xAA';
+syswrite IBD_FILE, $chunk, 4;
+
+close IBD_FILE;
+EOF
+
+--source include/start_mysqld.inc
+
+echo # xtrabackup backup;
+--disable_result_log
+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 > $backuplog;
+--enable_result_log
+
+--let SEARCH_PATTERN=Database page corruption detected
+--let SEARCH_FILE=$backuplog
+--source include/search_pattern_in_file.inc
+remove_file $backuplog;
+
+drop table t1;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/xb_aws_key_management.opt b/mysql-test/suite/mariabackup/xb_aws_key_management.opt
new file mode 100644
index 00000000000..fceff3be28d
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_aws_key_management.opt
@@ -0,0 +1,3 @@
+--plugin-load-add=$AWS_KEY_MANAGEMENT_SO
+--loose-aws-key-management
+--loose-aws-key-management-mock=ON
diff --git a/mysql-test/suite/mariabackup/xb_aws_key_management.result b/mysql-test/suite/mariabackup/xb_aws_key_management.result
new file mode 100644
index 00000000000..6efc76a8be3
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_aws_key_management.result
@@ -0,0 +1,16 @@
+CREATE TABLE t(c VARCHAR(10)) ENGINE INNODB encrypted=yes;
+Warnings:
+Note 1105 AWS KMS plugin: generated encrypted datakey for key id=1, version=1
+Note 1105 AWS KMS plugin: loaded key 1, version 1, key length 128 bit
+INSERT INTO t VALUES('foobar1');
+# xtrabackup backup
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * from t;
+c
+foobar1
+Warnings:
+Note 1105 AWS KMS plugin: loaded key 1, version 1, key length 128 bit
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/xb_aws_key_management.test b/mysql-test/suite/mariabackup/xb_aws_key_management.test
new file mode 100644
index 00000000000..149e422c058
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_aws_key_management.test
@@ -0,0 +1,18 @@
+--source include/have_debug.inc
+if (`SELECT COUNT(*)=0 FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'aws_key_management' AND PLUGIN_STATUS='ACTIVE'`)
+{
+ --skip needs aws_key_management plugin plugin
+}
+
+CREATE TABLE t(c VARCHAR(10)) ENGINE INNODB encrypted=yes;
+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 --prepare --target-dir=$targetdir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+SELECT * from t;
+DROP TABLE t;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/xb_compressed_encrypted.opt b/mysql-test/suite/mariabackup/xb_compressed_encrypted.opt
new file mode 100644
index 00000000000..e6cbe00bb7c
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_compressed_encrypted.opt
@@ -0,0 +1,9 @@
+--innodb-encryption-rotate-key-age=2
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
+--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+--loose-file-key-management
+--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/logkey.txt
+--innodb_strict_mode
+--innodb_file_per_table
+--innodb_file_format=Barracuda
diff --git a/mysql-test/suite/mariabackup/xb_compressed_encrypted.result b/mysql-test/suite/mariabackup/xb_compressed_encrypted.result
new file mode 100644
index 00000000000..c0eb0e70631
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_compressed_encrypted.result
@@ -0,0 +1,25 @@
+CREATE TABLE t1(c1 INT, b VARCHAR(2400), index(b(100),c1)) ENGINE=INNODB ROW_FORMAT=compressed ENCRYPTED=YES;
+CREATE PROCEDURE innodb_insert_proc (REPEAT_COUNT INT)
+BEGIN
+DECLARE CURRENT_NUM INT;
+SET CURRENT_NUM = 0;
+WHILE CURRENT_NUM < REPEAT_COUNT DO
+INSERT INTO t1 VALUES(CURRENT_NUM, concat(uuid(), CURRENT_NUM, repeat('ab', floor(rand()*100) ), uuid()));
+SET CURRENT_NUM = CURRENT_NUM + 1;
+END WHILE;
+END//
+COMMIT;
+SET AUTOCOMMIT=0;
+CALL innodb_insert_proc(50000);
+COMMIT;
+# xtrabackup backup
+drop table t1;
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+select sum(c1) from t1;
+sum(c1)
+1249975000
+DROP TABLE t1;
+drop procedure innodb_insert_proc;
diff --git a/mysql-test/suite/mariabackup/xb_compressed_encrypted.test b/mysql-test/suite/mariabackup/xb_compressed_encrypted.test
new file mode 100644
index 00000000000..9a5be4b19d6
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_compressed_encrypted.test
@@ -0,0 +1,35 @@
+source include/have_file_key_management.inc;
+
+CREATE TABLE t1(c1 INT, b VARCHAR(2400), index(b(100),c1)) ENGINE=INNODB ROW_FORMAT=compressed ENCRYPTED=YES;
+
+DELIMITER //;
+CREATE PROCEDURE innodb_insert_proc (REPEAT_COUNT INT)
+BEGIN
+ DECLARE CURRENT_NUM INT;
+ SET CURRENT_NUM = 0;
+ WHILE CURRENT_NUM < REPEAT_COUNT DO
+ INSERT INTO t1 VALUES(CURRENT_NUM, concat(uuid(), CURRENT_NUM, repeat('ab', floor(rand()*100) ), uuid()));
+ SET CURRENT_NUM = CURRENT_NUM + 1;
+ END WHILE;
+END//
+DELIMITER ;//
+COMMIT;
+
+SET AUTOCOMMIT=0;
+CALL innodb_insert_proc(50000);
+COMMIT;
+
+
+echo # xtrabackup backup;
+--disable_result_log
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+exec $INNOBACKUPEX --defaults-file=$MYSQLTEST_VARDIR/my.cnf --no-timestamp $targetdir;
+drop table t1;
+exec $INNOBACKUPEX --apply-log $targetdir;
+
+-- source include/restart_and_restore.inc
+--enable_result_log
+select sum(c1) from t1;
+DROP TABLE t1;
+drop procedure innodb_insert_proc;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/xb_file_key_management.opt b/mysql-test/suite/mariabackup/xb_file_key_management.opt
new file mode 100644
index 00000000000..74a6450a1ef
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_file_key_management.opt
@@ -0,0 +1,6 @@
+--innodb-encrypt-log=ON
+--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/xb_file_key_management.result b/mysql-test/suite/mariabackup/xb_file_key_management.result
new file mode 100644
index 00000000000..30aa530698b
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_file_key_management.result
@@ -0,0 +1,17 @@
+CREATE TABLE t(c VARCHAR(10)) ENGINE INNODB encrypted=yes;
+INSERT INTO t VALUES('foobar1');
+# xtrabackup backup
+NOT FOUND /foobar1/ in xtrabackup_logfile
+# expect NOT FOUND
+INSERT INTO t VALUES('foobar2');
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+NOT FOUND /foobar1/ in xtrabackup_logfile
+# expect NOT FOUND
+SELECT * FROM t;
+c
+foobar1
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/xb_file_key_management.test b/mysql-test/suite/mariabackup/xb_file_key_management.test
new file mode 100644
index 00000000000..be0b15eb387
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_file_key_management.test
@@ -0,0 +1,39 @@
+source include/have_file_key_management.inc;
+
+CREATE TABLE t(c VARCHAR(10)) ENGINE INNODB encrypted=yes;
+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;
+--enable_result_log
+
+--let SEARCH_RANGE = 10000000
+--let SEARCH_PATTERN=foobar1
+--let SEARCH_FILE=$targetdir/xtrabackup_logfile
+--source include/search_pattern_in_file.inc
+--echo # expect NOT FOUND
+
+INSERT INTO t VALUES('foobar2');
+echo # xtrabackup prepare;
+
+--disable_result_log
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+
+#
+# Recheck that plain text data (
+# in not in the log, after prepare
+# (MDEV-11538)
+
+--let SEARCH_RANGE = 10000000
+--let SEARCH_PATTERN=foobar1
+--let SEARCH_FILE=$targetdir/xtrabackup_logfile
+--source include/search_pattern_in_file.inc
+--echo # expect NOT FOUND
+
+SELECT * FROM t;
+DROP TABLE t;
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/mariabackup/xb_fulltext_encrypted.opt b/mysql-test/suite/mariabackup/xb_fulltext_encrypted.opt
new file mode 100644
index 00000000000..b3ef366361a
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_fulltext_encrypted.opt
@@ -0,0 +1,8 @@
+--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
+--innodb_strict_mode
+--innodb_file_per_table
+--innodb-encryption-rotate-key-age=2
+--innodb-encryption-threads=4
+--innodb-tablespaces-encryption
+--loose-file-key-management
+--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/logkey.txt \ No newline at end of file
diff --git a/mysql-test/suite/mariabackup/xb_fulltext_encrypted.result b/mysql-test/suite/mariabackup/xb_fulltext_encrypted.result
new file mode 100644
index 00000000000..01a99e59200
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_fulltext_encrypted.result
@@ -0,0 +1,14 @@
+CREATE TABLE film_text (
+film_id SMALLINT NOT NULL,
+title VARCHAR(255) NOT NULL,
+description TEXT,
+PRIMARY KEY (film_id),
+FULLTEXT KEY idx_title_description (title,description),
+FULLTEXT KEY (description),
+FULLTEXT KEY (title)
+)ENGINE=InnoDB DEFAULT CHARSET=utf8 ENCRYPTED=YES;
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+drop table film_text;
diff --git a/mysql-test/suite/mariabackup/xb_fulltext_encrypted.test b/mysql-test/suite/mariabackup/xb_fulltext_encrypted.test
new file mode 100644
index 00000000000..a98d7802d76
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_fulltext_encrypted.test
@@ -0,0 +1,23 @@
+source include/have_file_key_management.inc;
+
+CREATE TABLE film_text (
+film_id SMALLINT NOT NULL,
+title VARCHAR(255) NOT NULL,
+description TEXT,
+PRIMARY KEY (film_id),
+FULLTEXT KEY idx_title_description (title,description),
+FULLTEXT KEY (description),
+FULLTEXT KEY (title)
+)ENGINE=InnoDB DEFAULT CHARSET=utf8 ENCRYPTED=YES;
+
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+
+--disable_result_log
+
+exec $INNOBACKUPEX --defaults-file=$MYSQLTEST_VARDIR/my.cnf --no-timestamp $targetdir;
+exec $INNOBACKUPEX --apply-log --rebuild-indexes --rebuild-threads=2 $targetdir;
+--source include/restart_and_restore.inc
+
+--enable_result_log
+
+drop table film_text;
diff --git a/mysql-test/suite/mariabackup/xb_history.result b/mysql-test/suite/mariabackup/xb_history.result
new file mode 100644
index 00000000000..b6a1ac21147
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_history.result
@@ -0,0 +1,5 @@
+SELECT COUNT(*) FROM PERCONA_SCHEMA.xtrabackup_history;
+COUNT(*)
+1
+DROP TABLE PERCONA_SCHEMA.xtrabackup_history;
+DROP DATABASE PERCONA_SCHEMA;
diff --git a/mysql-test/suite/mariabackup/xb_history.test b/mysql-test/suite/mariabackup/xb_history.test
new file mode 100644
index 00000000000..28de50127c6
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_history.test
@@ -0,0 +1,8 @@
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --history=foo --backup --target-dir=$targetdir;
+--enable_result_log
+SELECT COUNT(*) FROM PERCONA_SCHEMA.xtrabackup_history;
+DROP TABLE PERCONA_SCHEMA.xtrabackup_history;
+DROP DATABASE PERCONA_SCHEMA;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/xb_page_compress.result b/mysql-test/suite/mariabackup/xb_page_compress.result
new file mode 100644
index 00000000000..7380856f394
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_page_compress.result
@@ -0,0 +1,28 @@
+CREATE TABLE t1(c1 INT, b CHAR(20)) ENGINE=INNODB PAGE_COMPRESSED=1;
+CREATE PROCEDURE innodb_insert_proc (REPEAT_COUNT INT)
+BEGIN
+DECLARE CURRENT_NUM INT;
+SET CURRENT_NUM = 0;
+WHILE CURRENT_NUM < REPEAT_COUNT DO
+INSERT INTO t1 VALUES(CURRENT_NUM,'TESTING..');
+SET CURRENT_NUM = CURRENT_NUM + 1;
+END WHILE;
+END//
+COMMIT;
+SET AUTOCOMMIT=0;
+CALL innodb_insert_proc(5000);
+COMMIT;
+SELECT (VARIABLE_VALUE >= 0) AS HAVE_COMPRESSED_PAGES
+FROM INFORMATION_SCHEMA.GLOBAL_STATUS
+WHERE VARIABLE_NAME = 'INNODB_NUM_PAGES_PAGE_COMPRESSED';
+HAVE_COMPRESSED_PAGES
+1
+# xtrabackup backup
+# xtrabackup prepare
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1 IMPORT TABLESPACE;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+5000
+DROP PROCEDURE innodb_insert_proc;
+DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/xb_page_compress.test b/mysql-test/suite/mariabackup/xb_page_compress.test
new file mode 100644
index 00000000000..876aa1a2791
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_page_compress.test
@@ -0,0 +1,44 @@
+CREATE TABLE t1(c1 INT, b CHAR(20)) ENGINE=INNODB PAGE_COMPRESSED=1;
+
+DELIMITER //;
+CREATE PROCEDURE innodb_insert_proc (REPEAT_COUNT INT)
+BEGIN
+ DECLARE CURRENT_NUM INT;
+ SET CURRENT_NUM = 0;
+ WHILE CURRENT_NUM < REPEAT_COUNT DO
+ INSERT INTO t1 VALUES(CURRENT_NUM,'TESTING..');
+ SET CURRENT_NUM = CURRENT_NUM + 1;
+ END WHILE;
+END//
+DELIMITER ;//
+COMMIT;
+
+SET AUTOCOMMIT=0;
+CALL innodb_insert_proc(5000);
+COMMIT;
+
+SELECT (VARIABLE_VALUE >= 0) AS HAVE_COMPRESSED_PAGES
+ FROM INFORMATION_SCHEMA.GLOBAL_STATUS
+ WHERE VARIABLE_NAME = 'INNODB_NUM_PAGES_PAGE_COMPRESSED';
+
+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;
+echo # xtrabackup prepare;
+exec $XTRABACKUP --prepare --export --target-dir=$targetdir;
+--enable_result_log
+
+ALTER TABLE t1 DISCARD TABLESPACE;
+let $MYSQLD_DATADIR= `select @@datadir`;
+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 COUNT(*) FROM t1;
+
+DROP PROCEDURE innodb_insert_proc;
+DROP TABLE t1;
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/mariabackup/xb_partition.result b/mysql-test/suite/mariabackup/xb_partition.result
new file mode 100644
index 00000000000..f5b6ae0b24d
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_partition.result
@@ -0,0 +1,64 @@
+CREATE TABLE t1(a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1), (2), (3);
+CREATE TABLE t2(a INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (4), (5), (6);
+CREATE TABLE p (
+a int
+) ENGINE=InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+PARTITION p1 VALUES LESS THAN (200),
+PARTITION p2 VALUES LESS THAN (300),
+PARTITION p3 VALUES LESS THAN (400));
+INSERT INTO p VALUES (1), (101), (201), (301);
+CREATE TABLE isam_t1(a INT) ENGINE=MyISAM;
+INSERT INTO isam_t1 VALUES (1), (2), (3);
+CREATE TABLE isam_t2(a INT) ENGINE=MyISAM;
+INSERT INTO isam_t2 VALUES (4), (5), (6);
+CREATE TABLE isam_p (
+a int
+) ENGINE=MyISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+PARTITION p1 VALUES LESS THAN (200),
+PARTITION p2 VALUES LESS THAN (300),
+PARTITION p3 VALUES LESS THAN (400));
+INSERT INTO isam_p VALUES (1), (101), (201), (301);
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2(a INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (40), (50), (60);
+ALTER TABLE p DROP PARTITION p0;
+ALTER TABLE p DROP PARTITION p1;
+ALTER TABLE p ADD PARTITION (PARTITION p4 VALUES LESS THAN (500));
+ALTER TABLE p ADD PARTITION (PARTITION p5 VALUES LESS THAN (600));
+INSERT INTO p VALUES (401), (501);
+DROP TABLE isam_t1;
+DROP TABLE isam_t2;
+CREATE TABLE isam_t2(a INT) ENGINE=MyISAM;
+INSERT INTO isam_t2 VALUES (40), (50), (60);
+ALTER TABLE isam_p DROP PARTITION p0;
+ALTER TABLE isam_p DROP PARTITION p1;
+ALTER TABLE isam_p ADD PARTITION (PARTITION p4 VALUES LESS THAN (500));
+ALTER TABLE isam_p ADD PARTITION (PARTITION p5 VALUES LESS THAN (600));
+INSERT INTO isam_p VALUES (401), (501);
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * from p;
+a
+201
+301
+401
+501
+SELECT * from isam_p;
+a
+201
+301
+401
+501
+DROP TABLE isam_p;
+DROP TABLE isam_t2;
+DROP TABLE p;
+DROP TABLE t2;
diff --git a/mysql-test/suite/mariabackup/xb_partition.test b/mysql-test/suite/mariabackup/xb_partition.test
new file mode 100644
index 00000000000..f051a52edbc
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xb_partition.test
@@ -0,0 +1,87 @@
+--source include/have_partition.inc
+
+CREATE TABLE t1(a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1), (2), (3);
+
+CREATE TABLE t2(a INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (4), (5), (6);
+
+CREATE TABLE p (
+ a int
+) ENGINE=InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+ PARTITION p1 VALUES LESS THAN (200),
+ PARTITION p2 VALUES LESS THAN (300),
+ PARTITION p3 VALUES LESS THAN (400));
+
+INSERT INTO p VALUES (1), (101), (201), (301);
+
+CREATE TABLE isam_t1(a INT) ENGINE=MyISAM;
+INSERT INTO isam_t1 VALUES (1), (2), (3);
+
+CREATE TABLE isam_t2(a INT) ENGINE=MyISAM;
+INSERT INTO isam_t2 VALUES (4), (5), (6);
+
+CREATE TABLE isam_p (
+ a int
+) ENGINE=MyISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+ PARTITION p1 VALUES LESS THAN (200),
+ PARTITION p2 VALUES LESS THAN (300),
+ PARTITION p3 VALUES LESS THAN (400));
+
+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 --no-timestamp --backup --target-dir=$targetdir/full;
+--enable_result_log
+
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2(a INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (40), (50), (60);
+
+ALTER TABLE p DROP PARTITION p0;
+ALTER TABLE p DROP PARTITION p1;
+ALTER TABLE p ADD PARTITION (PARTITION p4 VALUES LESS THAN (500));
+ALTER TABLE p ADD PARTITION (PARTITION p5 VALUES LESS THAN (600));
+
+INSERT INTO p VALUES (401), (501);
+
+
+DROP TABLE isam_t1;
+DROP TABLE isam_t2;
+CREATE TABLE isam_t2(a INT) ENGINE=MyISAM;
+
+INSERT INTO isam_t2 VALUES (40), (50), (60);
+
+ALTER TABLE isam_p DROP PARTITION p0;
+ALTER TABLE isam_p DROP PARTITION p1;
+ALTER TABLE isam_p ADD PARTITION (PARTITION p4 VALUES LESS THAN (500));
+ALTER TABLE isam_p ADD PARTITION (PARTITION p5 VALUES LESS THAN (600));
+
+INSERT INTO isam_p VALUES (401), (501);
+
+--disable_result_log
+exec $INNOBACKUPEX --defaults-file=$MYSQLTEST_VARDIR/my.cnf --incremental --no-timestamp --incremental-basedir=$targetdir/full $targetdir/inc;
+exec $INNOBACKUPEX --defaults-file=$MYSQLTEST_VARDIR/my.cnf --apply-log --redo-only $targetdir/full;
+exec $INNOBACKUPEX --defaults-file=$MYSQLTEST_VARDIR/my.cnf --apply-log --redo-only --incremental-dir=$targetdir/inc $targetdir/full;
+exec $INNOBACKUPEX --defaults-file=$MYSQLTEST_VARDIR/my.cnf --apply-log $targetdir/full;
+
+let $targetdir=$targetdir/full;
+-- source include/restart_and_restore.inc
+--enable_result_log
+
+SELECT * from p;
+SELECT * from isam_p;
+
+DROP TABLE isam_p;
+DROP TABLE isam_t2;
+DROP TABLE p;
+DROP TABLE t2;
+rmdir $MYSQLTEST_VARDIR/tmp/full;
+rmdir $MYSQLTEST_VARDIR/tmp/inc;
diff --git a/mysql-test/suite/mariabackup/xbstream.result b/mysql-test/suite/mariabackup/xbstream.result
new file mode 100644
index 00000000000..f340fedb861
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xbstream.result
@@ -0,0 +1,13 @@
+CREATE TABLE t(i INT) ENGINE INNODB;
+INSERT INTO t VALUES(1);
+# xtrabackup backup to stream
+# xbstream extract
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart server
+SELECT * FROM t;
+i
+1
+DROP TABLE t;
diff --git a/mysql-test/suite/mariabackup/xbstream.test b/mysql-test/suite/mariabackup/xbstream.test
new file mode 100644
index 00000000000..f2b4704a87e
--- /dev/null
+++ b/mysql-test/suite/mariabackup/xbstream.test
@@ -0,0 +1,22 @@
+CREATE TABLE t(i INT) ENGINE INNODB;
+INSERT INTO t VALUES(1);
+
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+mkdir $targetdir;
+let $streamfile=$MYSQLTEST_VARDIR/tmp/backup.xb;
+
+echo # xtrabackup backup to stream;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --stream=xbstream > $streamfile 2>$targetdir/backup_stream.log;
+echo # xbstream extract;
+--disable_result_log
+exec $XBSTREAM -x -C $targetdir < $streamfile;
+
+echo # xtrabackup prepare;
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+
+-- source include/restart_and_restore.inc
+--enable_result_log
+SELECT * FROM t;
+DROP TABLE t;
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/multi_source/gtid.cnf b/mysql-test/suite/multi_source/gtid.cnf
new file mode 100644
index 00000000000..b47ebb2cf30
--- /dev/null
+++ b/mysql-test/suite/multi_source/gtid.cnf
@@ -0,0 +1,24 @@
+!include my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
+
+[mysqld.3]
+log-bin=server3-bin
+log-slave-updates
+loose-innodb
+
+[mysqld.4]
+server-id=4
+log-bin=server4-bin
+log-slave-updates
+loose-innodb
+
+[ENV]
+SERVER_MYPORT_4= @mysqld.4.port
+SERVER_MYSOCK_4= @mysqld.4.socket
diff --git a/mysql-test/suite/multi_source/gtid.result b/mysql-test/suite/multi_source/gtid.result
new file mode 100644
index 00000000000..28ac1e7429e
--- /dev/null
+++ b/mysql-test/suite/multi_source/gtid.result
@@ -0,0 +1,99 @@
+CHANGE MASTER 'slave1' TO master_port=MYPORT_1, master_host='127.0.0.1', master_user='root';
+CHANGE MASTER 'slave2' TO master_port=MYPORT_2, master_host='127.0.0.1', master_user='root';
+set default_master_connection = 'slave1';
+START SLAVE;
+include/wait_for_slave_to_start.inc
+set default_master_connection = 'slave2';
+START SLAVE;
+include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+CHANGE MASTER TO master_port=MYPORT_3, master_host='127.0.0.1', master_user='root';
+start all slaves;
+Warnings:
+Note 1937 SLAVE '' started
+include/wait_for_slave_to_start.inc
+SET GLOBAL gtid_domain_id= 1;
+SET SESSION gtid_domain_id= 1;
+CREATE TABLE t3 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10));
+INSERT INTO t1 VALUES (1, "initial");
+INSERT INTO t3 VALUES (101, "initial 1");
+SET GLOBAL gtid_domain_id= 2;
+SET SESSION gtid_domain_id= 2;
+CREATE TABLE t2 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1, "initial");
+SET SQL_LOG_BIN=0;
+CREATE TABLE t3 (a INT PRIMARY KEY, b VARCHAR(10));
+SET SQL_LOG_BIN=1;
+INSERT INTO t3 VALUES (201, "initial 2");
+*** Now move slave2 to replicate from both master1 and master2 instead of just slave1 ***
+STOP ALL SLAVES;
+Warnings:
+Note 1938 SLAVE '' stopped
+INSERT INTO t1 VALUES (2, "switch1");
+INSERT INTO t3 VALUES (102, "switch1 a");
+INSERT INTO t2 VALUES (2, "switch1");
+INSERT INTO t3 VALUES (202, "switch1 b");
+CHANGE MASTER 'slave1' TO master_port=MYPORT_1, master_host='127.0.0.1', master_user='root', master_use_gtid=current_pos;
+CHANGE MASTER 'slave2' TO master_port=MYPORT_2, master_host='127.0.0.1', master_user='root', master_use_gtid=current_pos;
+SET default_master_connection = 'slave1';
+START SLAVE;
+include/wait_for_slave_to_start.inc
+SET default_master_connection = 'slave2';
+START SLAVE;
+include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+*** Move slave1 to replicate from slave2 instead of from master1 and master2 ***
+STOP SLAVE 'slave1';
+INSERT INTO t1 VALUES (3, "switch 2");
+INSERT INTO t3 VALUES (103, "switch 2 a");
+INSERT INTO t2 VALUES (3, "switch 2");
+INSERT INTO t3 VALUES (203, "switch 2 b");
+include/save_master_gtid.inc
+STOP SLAVE 'slave2';
+INSERT INTO t2 VALUES (4, "switch 3");
+INSERT INTO t3 VALUES (204, "switch 3 b");
+include/sync_with_master_gtid.inc
+CHANGE MASTER TO master_port=MYPORT_4, master_host='127.0.0.1', master_user='root', master_use_gtid=current_pos;
+START SLAVE;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 initial
+2 switch1
+3 switch 2
+SELECT * FROM t2 ORDER BY a;
+a b
+1 initial
+2 switch1
+3 switch 2
+4 switch 3
+SELECT * FROM t3 ORDER BY a;
+a b
+101 initial 1
+102 switch1 a
+103 switch 2 a
+201 initial 2
+202 switch1 b
+203 switch 2 b
+204 switch 3 b
+DROP TABLE t1;
+SET SQL_LOG_BIN=0;
+DROP TABLE t3;
+SET SQL_LOG_BIN=1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET GLOBAL gtid_domain_id=0;
+STOP ALL SLAVES;
+Warnings:
+Note 1938 SLAVE '' stopped
+include/reset_master_slave.inc
+SET GLOBAL gtid_domain_id=0;
+STOP ALL SLAVES;
+Warnings:
+Note 1938 SLAVE 'slave1' stopped
+Note 1938 SLAVE 'slave2' stopped
+include/reset_master_slave.inc
+SET GLOBAL gtid_domain_id=0;
+include/reset_master_slave.inc
+SET GLOBAL gtid_domain_id=0;
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/gtid.test b/mysql-test/suite/multi_source/gtid.test
new file mode 100644
index 00000000000..c81ca20a254
--- /dev/null
+++ b/mysql-test/suite/multi_source/gtid.test
@@ -0,0 +1,171 @@
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+
+#
+# Test GTID with multi-source
+#
+
+--connect (slave1,127.0.0.1,root,,,$SERVER_MYPORT_3)
+--connect (slave2,127.0.0.1,root,,,$SERVER_MYPORT_4)
+--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+--connect (master2,127.0.0.1,root,,,$SERVER_MYPORT_2)
+
+--connection slave1
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval CHANGE MASTER 'slave1' TO master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root';
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval CHANGE MASTER 'slave2' TO master_port=$SERVER_MYPORT_2, master_host='127.0.0.1', master_user='root';
+set default_master_connection = 'slave1';
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = 'slave2';
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+
+--connection slave2
+--replace_result $SERVER_MYPORT_3 MYPORT_3
+eval CHANGE MASTER TO master_port=$SERVER_MYPORT_3, master_host='127.0.0.1', master_user='root';
+start all slaves;
+--source include/wait_for_slave_to_start.inc
+
+--connection master1
+SET GLOBAL gtid_domain_id= 1;
+SET SESSION gtid_domain_id= 1;
+CREATE TABLE t3 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10));
+INSERT INTO t1 VALUES (1, "initial");
+INSERT INTO t3 VALUES (101, "initial 1");
+
+# Make sure we have CREATE TABLE t3 from master1 before replicating INSERT INTO
+# t3 from master2.
+--connection slave1
+--let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.tables WHERE table_name = "t3" AND table_schema = "test"
+--source include/wait_condition.inc
+
+--connection master2
+SET GLOBAL gtid_domain_id= 2;
+SET SESSION gtid_domain_id= 2;
+CREATE TABLE t2 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1, "initial");
+SET SQL_LOG_BIN=0;
+CREATE TABLE t3 (a INT PRIMARY KEY, b VARCHAR(10));
+SET SQL_LOG_BIN=1;
+INSERT INTO t3 VALUES (201, "initial 2");
+
+--connection slave2
+--let $wait_condition= SELECT COUNT(*)=3 FROM information_schema.tables WHERE table_name IN ("t1", "t2", "t3") AND table_schema = "test"
+--source include/wait_condition.inc
+--let $wait_condition= SELECT (SELECT COUNT(*) FROM t1)=1 AND (SELECT COUNT(*) FROM t2)=1 AND (SELECT COUNT(*) FROM t3)=2
+--source include/wait_condition.inc
+
+--echo *** Now move slave2 to replicate from both master1 and master2 instead of just slave1 ***
+STOP ALL SLAVES;
+
+# Let us have a couple extra transactions on the masters to check that
+# we resume replication at the right place even in the middle of the logs.
+--connection master1
+INSERT INTO t1 VALUES (2, "switch1");
+INSERT INTO t3 VALUES (102, "switch1 a");
+--connection master2
+INSERT INTO t2 VALUES (2, "switch1");
+INSERT INTO t3 VALUES (202, "switch1 b");
+
+--connection slave2
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval CHANGE MASTER 'slave1' TO master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root', master_use_gtid=current_pos;
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval CHANGE MASTER 'slave2' TO master_port=$SERVER_MYPORT_2, master_host='127.0.0.1', master_user='root', master_use_gtid=current_pos;
+SET default_master_connection = 'slave1';
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+SET default_master_connection = 'slave2';
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+--let $wait_condition= SELECT (SELECT COUNT(*) FROM t1)=2 AND (SELECT COUNT(*) FROM t2)=2 AND (SELECT COUNT(*) FROM t3)=4
+--source include/wait_condition.inc
+
+
+--echo *** Move slave1 to replicate from slave2 instead of from master1 and master2 ***
+--connection slave1
+# Set up so that slave1 will have to start from two different positions
+# in the slave2 binlog (one for each domain_id).
+--let $wait_condition= SELECT (SELECT COUNT(*) FROM t1)=2 AND (SELECT COUNT(*) FROM t2)=2 AND (SELECT COUNT(*) FROM t3)=4
+--source include/wait_condition.inc
+STOP SLAVE 'slave1';
+
+--connection master1
+INSERT INTO t1 VALUES (3, "switch 2");
+INSERT INTO t3 VALUES (103, "switch 2 a");
+
+--connection slave2
+--let $wait_condition= SELECT (SELECT COUNT(*) FROM t1)=3 AND (SELECT COUNT(*) FROM t2)=2 AND (SELECT COUNT(*) FROM t3)=5
+--source include/wait_condition.inc
+
+--connection master2
+INSERT INTO t2 VALUES (3, "switch 2");
+INSERT INTO t3 VALUES (203, "switch 2 b");
+--source include/save_master_gtid.inc
+
+--connection slave1
+--let $wait_condition= SELECT (SELECT COUNT(*) FROM t1)=2 AND (SELECT COUNT(*) FROM t2)=3 AND (SELECT COUNT(*) FROM t3)=5
+--source include/wait_condition.inc
+STOP SLAVE 'slave2';
+
+--connection master2
+INSERT INTO t2 VALUES (4, "switch 3");
+INSERT INTO t3 VALUES (204, "switch 3 b");
+
+--connection slave2
+# Make sure that slave2 has replicated far enough before connecting slave1 to
+# it (otherwise we get an error that slave1 requested to start from a GTID
+# which is not in slave2's binlogs).
+--source include/sync_with_master_gtid.inc
+
+--connection slave1
+--replace_result $SERVER_MYPORT_4 MYPORT_4
+eval CHANGE MASTER TO master_port=$SERVER_MYPORT_4, master_host='127.0.0.1', master_user='root', master_use_gtid=current_pos;
+START SLAVE;
+--let $wait_condition= SELECT (SELECT COUNT(*) FROM t1)=3 AND (SELECT COUNT(*) FROM t2)=4 AND (SELECT COUNT(*) FROM t3)=7
+--source include/wait_condition.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+
+# Cleanup.
+--connection master1
+DROP TABLE t1;
+SET SQL_LOG_BIN=0;
+DROP TABLE t3;
+SET SQL_LOG_BIN=1;
+
+--connection master2
+DROP TABLE t2;
+DROP TABLE t3;
+
+--connection slave1
+SET GLOBAL gtid_domain_id=0;
+--let $wait_condition= SELECT COUNT(*)=0 FROM information_schema.tables WHERE table_name IN ("t1", "t2", "t3") AND table_schema = "test"
+--source include/wait_condition.inc
+--sorted_result
+STOP ALL SLAVES;
+--source include/reset_master_slave.inc
+--disconnect slave1
+
+--connection slave2
+SET GLOBAL gtid_domain_id=0;
+--sorted_result
+STOP ALL SLAVES;
+--source include/reset_master_slave.inc
+--disconnect slave2
+
+--connection master1
+SET GLOBAL gtid_domain_id=0;
+--source include/reset_master_slave.inc
+--disconnect master1
+
+--connection master2
+SET GLOBAL gtid_domain_id=0;
+--source include/reset_master_slave.inc
+--disconnect master2
diff --git a/mysql-test/suite/multi_source/gtid_ignore_duplicates.cnf b/mysql-test/suite/multi_source/gtid_ignore_duplicates.cnf
new file mode 100644
index 00000000000..ba1ffee4d9d
--- /dev/null
+++ b/mysql-test/suite/multi_source/gtid_ignore_duplicates.cnf
@@ -0,0 +1,28 @@
+!include my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+binlog-format=mixed
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
+binlog-format=mixed
+
+[mysqld.3]
+log-bin=server3-bin
+log-slave-updates
+loose-innodb
+binlog-format=mixed
+
+[mysqld.4]
+server-id=4
+log-bin=server4-bin
+log-slave-updates
+loose-innodb
+binlog-format=mixed
+
+[ENV]
+SERVER_MYPORT_4= @mysqld.4.port
+SERVER_MYSOCK_4= @mysqld.4.socket
diff --git a/mysql-test/suite/multi_source/gtid_ignore_duplicates.result b/mysql-test/suite/multi_source/gtid_ignore_duplicates.result
new file mode 100644
index 00000000000..2e15f11a7c7
--- /dev/null
+++ b/mysql-test/suite/multi_source/gtid_ignore_duplicates.result
@@ -0,0 +1,451 @@
+*** Test all-to-all replication with --gtid-ignore-duplicates ***
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=5;
+SET @old_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+SET GLOBAL gtid_ignore_duplicates=1;
+SET GLOBAL gtid_domain_id= 1;
+SET SESSION gtid_domain_id= 1;
+CHANGE MASTER 'b2a' TO master_port=MYPORT_2, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+CHANGE MASTER 'c2a' TO master_port=MYPORT_3, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+set default_master_connection = 'b2a';
+START SLAVE;
+include/wait_for_slave_to_start.inc
+set default_master_connection = 'c2a';
+START SLAVE;
+include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=5;
+SET @old_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+SET GLOBAL gtid_ignore_duplicates=1;
+SET GLOBAL gtid_domain_id= 2;
+SET SESSION gtid_domain_id= 2;
+CHANGE MASTER 'a2b' TO master_port=MYPORT_1, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+CHANGE MASTER 'c2b' TO master_port=MYPORT_3, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+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
+set default_master_connection = '';
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=5;
+SET @old_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+SET GLOBAL gtid_ignore_duplicates=1;
+SET GLOBAL gtid_domain_id= 3;
+SET SESSION gtid_domain_id= 3;
+CHANGE MASTER 'a2c' TO master_port=MYPORT_1, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+CHANGE MASTER 'b2c' TO master_port=MYPORT_2, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+set default_master_connection = 'a2c';
+START SLAVE;
+include/wait_for_slave_to_start.inc
+set default_master_connection = 'b2c';
+START SLAVE;
+include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=5;
+SET @old_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+SET GLOBAL gtid_ignore_duplicates=1;
+SET GLOBAL gtid_domain_id= 1;
+SET SESSION gtid_domain_id= 1;
+CHANGE MASTER 'a2d' TO master_port=MYPORT_1, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+set default_master_connection = 'a2d';
+START SLAVE;
+include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+BEGIN;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+COMMIT;
+INSERT INTO t1 VALUES (4), (5);
+INSERT INTO t1 VALUES (6);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+INSERT INTO t1 VALUES (10);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+10
+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
+INSERT INTO t1 VALUES (11);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+10
+11
+SET default_master_connection = "b2a";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+INSERT INTO t1 VALUES (12);
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+10
+12
+include/save_master_gtid.inc
+START SLAVE "b2a";
+SET default_master_connection = "b2a";
+include/wait_for_slave_to_start.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+10
+11
+12
+START SLAVE "c2b";
+SET default_master_connection = "c2b";
+include/wait_for_slave_to_start.inc
+START SLAVE "a2b";
+SET default_master_connection = "a2b";
+include/wait_for_slave_to_start.inc
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+10
+11
+12
+*** Test also with not using parallel replication.
+SET default_master_connection = "b2a";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET default_master_connection = "c2a";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET GLOBAL slave_parallel_threads=0;
+SET default_master_connection = "b2a";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+SET default_master_connection = "c2a";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+SET default_master_connection = "a2b";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET default_master_connection = "c2b";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET GLOBAL slave_parallel_threads=0;
+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
+SET default_master_connection = "a2c";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET default_master_connection = "b2c";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET GLOBAL slave_parallel_threads=0;
+SET default_master_connection = "a2c";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+SET default_master_connection = "b2c";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+SET default_master_connection = "a2d";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET GLOBAL slave_parallel_threads=0;
+SET default_master_connection = "a2d";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+INSERT INTO t1 VALUES (21);
+BEGIN;
+INSERT INTO t1 VALUES (22);
+INSERT INTO t1 VALUES (23);
+COMMIT;
+INSERT INTO t1 VALUES (24), (25);
+INSERT INTO t1 VALUES (26);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+21
+22
+23
+24
+25
+26
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+21
+22
+23
+24
+25
+26
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+21
+22
+23
+24
+25
+26
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+21
+22
+23
+24
+25
+26
+*** MDEV-8354: out-of-order error with --gtid-ignore-duplicates and row-based replication ***
+SET default_master_connection = "b2a";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET default_master_connection = "c2a";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET default_master_connection = "c2b";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET default_master_connection = "b2c";
+STOP SLAVE;
+include/wait_for_slave_to_stop.inc
+SET @old_slave_mode=@@GLOBAL.slave_exec_mode;
+SET GLOBAL slave_exec_mode=IDEMPOTENT;
+SET @old_strict=@@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode=1;
+SET @old_dbug=@@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,inject_sleep_gtid_100_x_x";
+SET @old_domain=@@SESSION.gtid_domain_id;
+SET @old_format=@@SESSION.binlog_format;
+SET SESSION gtid_domain_id=100;
+SET SESSION binlog_format='row';
+INSERT INTO t1 VALUES (30);
+INSERT INTO t1 VALUES (31);
+INSERT INTO t1 VALUES (32);
+INSERT INTO t1 VALUES (33);
+INSERT INTO t1 VALUES (34);
+INSERT INTO t1 VALUES (35);
+INSERT INTO t1 VALUES (36);
+INSERT INTO t1 VALUES (37);
+INSERT INTO t1 VALUES (38);
+INSERT INTO t1 VALUES (39);
+INSERT INTO t1 VALUES (40);
+INSERT INTO t1 VALUES (41);
+INSERT INTO t1 VALUES (42);
+INSERT INTO t1 VALUES (43);
+INSERT INTO t1 VALUES (44);
+INSERT INTO t1 VALUES (45);
+INSERT INTO t1 VALUES (46);
+INSERT INTO t1 VALUES (47);
+INSERT INTO t1 VALUES (48);
+INSERT INTO t1 VALUES (49);
+SET SESSION gtid_domain_id=@old_domain;
+SET SESSION binlog_format=@old_format;
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+INSERT INTO t1 VALUES (50);
+include/save_master_gtid.inc
+SET default_master_connection = "b2c";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+SELECT MASTER_GTID_WAIT("GTID", 30);
+MASTER_GTID_WAIT("GTID", 30)
+0
+SET default_master_connection = "b2a";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+SET default_master_connection = "c2a";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+SET default_master_connection = "c2b";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+include/sync_with_master_gtid.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+SET GLOBAL slave_exec_mode=@old_slave_mode;
+SET GLOBAL gtid_strict_mode=@old_strict;
+*** MDEV-8496: gtid_ignore_duplicates treats gtid_seq_no as 32-bit ***
+SET @old_domain= @@SESSION.gtid_domain_id;
+SET SESSION gtid_domain_id=102;
+SET SESSION gtid_seq_no=4294967294;
+INSERT INTO t1 VALUES (60);
+INSERT INTO t1 VALUES (61);
+INSERT INTO t1 VALUES (62);
+SET SESSION gtid_domain_id= @old_domain;
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
+a
+60
+61
+62
+SET default_master_connection = "c2b";
+include/sync_with_master_gtid.inc
+SET default_master_connection = "a2b";
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
+a
+60
+61
+62
+SET default_master_connection = "b2c";
+include/sync_with_master_gtid.inc
+SET default_master_connection = "a2c";
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
+a
+60
+61
+62
+SET GLOBAL gtid_domain_id=0;
+STOP ALL SLAVES;
+Warnings:
+Note 1938 SLAVE 'b2a' stopped
+Note 1938 SLAVE 'c2a' stopped
+SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
+SET GLOBAL gtid_domain_id=0;
+STOP ALL SLAVES;
+Warnings:
+Note 1938 SLAVE 'a2b' stopped
+Note 1938 SLAVE 'c2b' stopped
+SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
+SET GLOBAL gtid_domain_id=0;
+STOP ALL SLAVES;
+Warnings:
+Note 1938 SLAVE 'a2c' stopped
+Note 1938 SLAVE 'b2c' stopped
+SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
+SET GLOBAL gtid_domain_id=0;
+STOP ALL SLAVES;
+Warnings:
+Note 1938 SLAVE 'a2d' stopped
+SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
+DROP TABLE t1;
+include/reset_master_slave.inc
+DROP TABLE t1;
+include/reset_master_slave.inc
+DROP TABLE t1;
+include/reset_master_slave.inc
+DROP TABLE t1;
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/gtid_ignore_duplicates.test b/mysql-test/suite/multi_source/gtid_ignore_duplicates.test
new file mode 100644
index 00000000000..218d91aa7fb
--- /dev/null
+++ b/mysql-test/suite/multi_source/gtid_ignore_duplicates.test
@@ -0,0 +1,450 @@
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+
+--echo *** Test all-to-all replication with --gtid-ignore-duplicates ***
+
+--connect (server_1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+--connect (server_2,127.0.0.1,root,,,$SERVER_MYPORT_2)
+--connect (server_3,127.0.0.1,root,,,$SERVER_MYPORT_3)
+--connect (server_4,127.0.0.1,root,,,$SERVER_MYPORT_4)
+
+# Setup A <-> B, B <-> C, C <-> A, and A -> D.
+
+--connection server_1
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=5;
+SET @old_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+SET GLOBAL gtid_ignore_duplicates=1;
+SET GLOBAL gtid_domain_id= 1;
+SET SESSION gtid_domain_id= 1;
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval CHANGE MASTER 'b2a' TO master_port=$SERVER_MYPORT_2, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+--replace_result $SERVER_MYPORT_3 MYPORT_3
+eval CHANGE MASTER 'c2a' TO master_port=$SERVER_MYPORT_3, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+set default_master_connection = 'b2a';
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = 'c2a';
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+
+--connection server_2
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=5;
+SET @old_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+SET GLOBAL gtid_ignore_duplicates=1;
+SET GLOBAL gtid_domain_id= 2;
+SET SESSION gtid_domain_id= 2;
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval CHANGE MASTER 'a2b' TO master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+--replace_result $SERVER_MYPORT_3 MYPORT_3
+eval CHANGE MASTER 'c2b' TO master_port=$SERVER_MYPORT_3, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+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
+set default_master_connection = '';
+
+--connection server_3
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=5;
+SET @old_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+SET GLOBAL gtid_ignore_duplicates=1;
+SET GLOBAL gtid_domain_id= 3;
+SET SESSION gtid_domain_id= 3;
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval CHANGE MASTER 'a2c' TO master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval CHANGE MASTER 'b2c' TO master_port=$SERVER_MYPORT_2, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+set default_master_connection = 'a2c';
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = 'b2c';
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+
+--connection server_4
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=5;
+SET @old_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+SET GLOBAL gtid_ignore_duplicates=1;
+SET GLOBAL gtid_domain_id= 1;
+SET SESSION gtid_domain_id= 1;
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval CHANGE MASTER 'a2d' TO master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root', master_use_gtid=slave_pos;
+set default_master_connection = 'a2d';
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+BEGIN;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+COMMIT;
+INSERT INTO t1 VALUES (4), (5);
+INSERT INTO t1 VALUES (6);
+
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_3
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_4
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_1
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+# Test that we can connect at a GTID position that has not yet reached
+# that master server.
+# We stop the connections C->B and A->B, create an event on C, Check that
+# the event has reached A (but not B). Then let A stop and re-connect to
+# B, which will connect at the new event, which is in the future for B.
+
+--connection server_3
+INSERT INTO t1 VALUES (10);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+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_3
+INSERT INTO t1 VALUES (11);
+--source include/save_master_gtid.inc
+
+--connection server_1
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+SET default_master_connection = "b2a";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+
+--connection server_2
+INSERT INTO t1 VALUES (12);
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_1
+START SLAVE "b2a";
+SET default_master_connection = "b2a";
+--source include/wait_for_slave_to_start.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+
+--connection server_2
+START SLAVE "c2b";
+SET default_master_connection = "c2b";
+--source include/wait_for_slave_to_start.inc
+START SLAVE "a2b";
+SET default_master_connection = "a2b";
+--source include/wait_for_slave_to_start.inc
+
+--connection server_1
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+
+
+--echo *** Test also with not using parallel replication.
+
+--connection server_1
+SET default_master_connection = "b2a";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+SET default_master_connection = "c2a";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+SET GLOBAL slave_parallel_threads=0;
+SET default_master_connection = "b2a";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+SET default_master_connection = "c2a";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+
+
+--connection server_2
+SET default_master_connection = "a2b";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+SET default_master_connection = "c2b";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+SET GLOBAL slave_parallel_threads=0;
+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
+
+
+--connection server_3
+SET default_master_connection = "a2c";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+SET default_master_connection = "b2c";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+SET GLOBAL slave_parallel_threads=0;
+SET default_master_connection = "a2c";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+SET default_master_connection = "b2c";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+
+
+--connection server_4
+SET default_master_connection = "a2d";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+SET GLOBAL slave_parallel_threads=0;
+SET default_master_connection = "a2d";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+
+
+--connection server_2
+INSERT INTO t1 VALUES (21);
+BEGIN;
+INSERT INTO t1 VALUES (22);
+INSERT INTO t1 VALUES (23);
+COMMIT;
+INSERT INTO t1 VALUES (24), (25);
+INSERT INTO t1 VALUES (26);
+
+--source include/save_master_gtid.inc
+
+--connection server_1
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+
+--connection server_3
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+
+--connection server_4
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+
+
+--echo *** MDEV-8354: out-of-order error with --gtid-ignore-duplicates and row-based replication ***
+
+# Have only A->C A->B initially.
+--connection server_1
+SET default_master_connection = "b2a";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+SET default_master_connection = "c2a";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+
+--connection server_2
+SET default_master_connection = "c2b";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+
+--connection server_3
+SET default_master_connection = "b2c";
+STOP SLAVE;
+--source include/wait_for_slave_to_stop.inc
+SET @old_slave_mode=@@GLOBAL.slave_exec_mode;
+SET GLOBAL slave_exec_mode=IDEMPOTENT;
+SET @old_strict=@@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode=1;
+
+SET @old_dbug=@@GLOBAL.debug_dbug;
+# This will inject a small sleep that helps trigger the race. I did not manage
+# to create a non-sleeping version with debug_sync for this; the problem is
+# that once the bug is fixed, the race becomes impossible, so even with
+# debug_sync at best we can check that the debug_sync times out. Which is
+# just another way of adding a sleep.
+#
+# The bug was a race at this point where another multi-source connection
+# could incorrectly re-apply the same GTID, in case of row-based replication.
+SET GLOBAL debug_dbug="+d,inject_sleep_gtid_100_x_x";
+
+--connection server_1
+SET @old_domain=@@SESSION.gtid_domain_id;
+SET @old_format=@@SESSION.binlog_format;
+SET SESSION gtid_domain_id=100;
+SET SESSION binlog_format='row';
+INSERT INTO t1 VALUES (30);
+INSERT INTO t1 VALUES (31);
+INSERT INTO t1 VALUES (32);
+INSERT INTO t1 VALUES (33);
+INSERT INTO t1 VALUES (34);
+INSERT INTO t1 VALUES (35);
+INSERT INTO t1 VALUES (36);
+INSERT INTO t1 VALUES (37);
+INSERT INTO t1 VALUES (38);
+INSERT INTO t1 VALUES (39);
+INSERT INTO t1 VALUES (40);
+INSERT INTO t1 VALUES (41);
+INSERT INTO t1 VALUES (42);
+INSERT INTO t1 VALUES (43);
+INSERT INTO t1 VALUES (44);
+INSERT INTO t1 VALUES (45);
+INSERT INTO t1 VALUES (46);
+INSERT INTO t1 VALUES (47);
+INSERT INTO t1 VALUES (48);
+INSERT INTO t1 VALUES (49);
+SET SESSION gtid_domain_id=@old_domain;
+SET SESSION binlog_format=@old_format;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+INSERT INTO t1 VALUES (50);
+--let $gtid=`SELECT @@last_gtid`
+--source include/save_master_gtid.inc
+
+--connection server_3
+SET default_master_connection = "b2c";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+--replace_result $gtid GTID
+eval SELECT MASTER_GTID_WAIT("$gtid", 30);
+# The bug occurred here, the slave would get an out-of-order binlog error
+# due to trying to re-apply the 100-x-x transaction.
+
+# Restart stopped multi-source connections, and sync up.
+--connection server_1
+SET default_master_connection = "b2a";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+SET default_master_connection = "c2a";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+
+--connection server_2
+SET default_master_connection = "c2b";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+
+--connection server_3
+--source include/sync_with_master_gtid.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+SET GLOBAL slave_exec_mode=@old_slave_mode;
+SET GLOBAL gtid_strict_mode=@old_strict;
+
+
+--echo *** MDEV-8496: gtid_ignore_duplicates treats gtid_seq_no as 32-bit ***
+
+--connection server_1
+SET @old_domain= @@SESSION.gtid_domain_id;
+SET SESSION gtid_domain_id=102;
+SET SESSION gtid_seq_no=4294967294;
+INSERT INTO t1 VALUES (60);
+INSERT INTO t1 VALUES (61);
+INSERT INTO t1 VALUES (62);
+# The bug was an overflow, the seq_no value 4294967296 (2**32) was treated
+# as 0, causing the last transaction to be ignored.
+SET SESSION gtid_domain_id= @old_domain;
+--source include/save_master_gtid.inc
+
+--connection server_4
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
+
+--connection server_2
+SET default_master_connection = "c2b";
+--source include/sync_with_master_gtid.inc
+SET default_master_connection = "a2b";
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
+
+--connection server_3
+SET default_master_connection = "b2c";
+--source include/sync_with_master_gtid.inc
+SET default_master_connection = "a2c";
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 60 ORDER BY a;
+
+
+
+# Clean up.
+--connection server_1
+SET GLOBAL gtid_domain_id=0;
+--sorted_result
+STOP ALL SLAVES;
+SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
+
+--connection server_2
+SET GLOBAL gtid_domain_id=0;
+--sorted_result
+STOP ALL SLAVES;
+SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
+
+--connection server_3
+SET GLOBAL gtid_domain_id=0;
+--sorted_result
+STOP ALL SLAVES;
+SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
+
+--connection server_4
+SET GLOBAL gtid_domain_id=0;
+--sorted_result
+STOP ALL SLAVES;
+SET GLOBAL slave_parallel_threads= @old_parallel;
+SET GLOBAL gtid_ignore_duplicates= @old_ignore_duplicates;
+
+--connection server_1
+DROP TABLE t1;
+--source include/reset_master_slave.inc
+--disconnect server_1
+
+--connection server_2
+DROP TABLE t1;
+--source include/reset_master_slave.inc
+--disconnect server_2
+
+--connection server_3
+DROP TABLE t1;
+--source include/reset_master_slave.inc
+--disconnect server_3
+
+--connection server_4
+DROP TABLE t1;
+--source include/reset_master_slave.inc
+--disconnect server_4
diff --git a/mysql-test/suite/multi_source/info_logs-master.opt b/mysql-test/suite/multi_source/info_logs-master.opt
new file mode 100644
index 00000000000..8b83537f7d3
--- /dev/null
+++ b/mysql-test/suite/multi_source/info_logs-master.opt
@@ -0,0 +1 @@
+--relay-log=relay.bin --relay-log-info-file=relay.bin.info
diff --git a/mysql-test/suite/multi_source/info_logs.result b/mysql-test/suite/multi_source/info_logs.result
new file mode 100644
index 00000000000..d644939bd6f
--- /dev/null
+++ b/mysql-test/suite/multi_source/info_logs.result
@@ -0,0 +1,115 @@
+#
+# List of files matching '*info*' pattern before starting any slaves
+multi-master.info
+# End of list
+#
+# Contents of multi-master.info
+# EOF
+#
+change master 'master1' to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+start slave 'master1';
+set default_master_connection = 'master1';
+include/wait_for_slave_to_start.inc
+#
+# List of files matching '*info*' pattern while 'master1' is running
+master-master1.info
+multi-master.info
+relay.bin-master1.info
+# End of list
+#
+# Contents of multi-master.info
+master1
+# EOF
+#
+change master 'MASTER 2.2' to
+master_port=MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+start slave 'MASTER 2.2';
+set default_master_connection = 'MASTER 2.2';
+include/wait_for_slave_to_start.inc
+#
+# List of files matching '*info*' pattern
+# while 'master1' and 'MASTER 2.2' are running
+master-master1.info
+master-master@00202@002e2.info
+multi-master.info
+relay.bin-master1.info
+relay.bin-master@00202@002e2.info
+# End of list
+#
+# Contents of multi-master.info
+master1
+MASTER 2.2
+# EOF
+#
+stop slave 'master1';
+set default_master_connection = 'master1';
+include/wait_for_slave_to_stop.inc
+reset slave 'master1' all;
+#
+# List of files matching '*info*' pattern
+# after 'master1' was completely reset, 'MASTER 2.2' still running
+master-master@00202@002e2.info
+multi-master.info
+relay.bin-master@00202@002e2.info
+# End of list
+#
+# Contents of multi-master.info
+MASTER 2.2
+# EOF
+#
+set default_master_connection = '';
+change master to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+start slave;
+include/wait_for_slave_to_start.inc
+#
+# List of files matching '*info*' pattern
+# while 'MASTER 2.2' and '' are running
+master-master@00202@002e2.info
+master.info
+multi-master.info
+relay.bin-master@00202@002e2.info
+relay.bin.info
+# End of list
+#
+# Contents of multi-master.info
+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_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 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 the slave I/O thread to update it 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 conservative 0 1073741824 7 0 60.000
+MASTER 2.2 Slave has read all relay log; waiting for the slave I/O thread to update it 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 conservative 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_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 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 the slave I/O thread to update it 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 conservative 0 1073741824 6 0 60.000
+MASTER 2.2 Slave has read all relay log; waiting for the slave I/O thread to update it 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 conservative 0 1073741824 6 0 60.000
+#
+# List of files matching '*info*' pattern
+# after slave server restart
+# while 'MASTER 2.2' and '' are running
+master-master@00202@002e2.info
+master.info
+multi-master.info
+relay.bin-master@00202@002e2.info
+relay.bin.info
+# End of list
+#
+# Contents of multi-master.info
+MASTER 2.2
+# EOF
+#
+include/reset_master_slave.inc
+include/reset_master_slave.inc
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/info_logs.test b/mysql-test/suite/multi_source/info_logs.test
new file mode 100644
index 00000000000..372cd66e5cc
--- /dev/null
+++ b/mysql-test/suite/multi_source/info_logs.test
@@ -0,0 +1,200 @@
+#
+# Check log files with multi-source
+#
+
+--source include/not_embedded.inc
+--source include/binlog_start_pos.inc
+--let $rpl_server_count= 0
+
+--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
+
+--let $datadir = `SELECT @@datadir`
+
+#
+# Check creation and updating of multi-source *info* logs
+#
+
+--echo #
+--echo # List of files matching '*info*' pattern before starting any slaves
+--list_files $datadir *info*
+--echo # End of list
+--echo #
+--echo # Contents of multi-master.info
+--cat_file $datadir/multi-master.info
+--echo # EOF
+--echo #
+
+# Start replication from the first master
+
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval change master 'master1' to
+master_port=$SERVER_MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+
+start slave 'master1';
+set default_master_connection = 'master1';
+--source include/wait_for_slave_to_start.inc
+
+# Check the files
+
+--echo #
+--echo # List of files matching '*info*' pattern while 'master1' is running
+--list_files $datadir *info*
+--echo # End of list
+--echo #
+--echo # Contents of multi-master.info
+--cat_file $datadir/multi-master.info
+--echo # EOF
+--echo #
+
+# Start replication from the second master
+
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval change master 'MASTER 2.2' to
+master_port=$SERVER_MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+
+start slave 'MASTER 2.2';
+set default_master_connection = 'MASTER 2.2';
+--source include/wait_for_slave_to_start.inc
+
+--connect (master2,127.0.0.1,root,,,$SERVER_MYPORT_2)
+--save_master_pos
+
+--connection slave
+--sync_with_master 0,'MASTER 2.2'
+
+# Check the files
+
+--echo #
+--echo # List of files matching '*info*' pattern
+--echo # while 'master1' and 'MASTER 2.2' are running
+--list_files $datadir *info*
+--echo # End of list
+--echo #
+--echo # Contents of multi-master.info
+--cat_file $datadir/multi-master.info
+--echo # EOF
+--echo #
+
+# Remove master1 configuration
+
+stop slave 'master1';
+set default_master_connection = 'master1';
+--source include/wait_for_slave_to_stop.inc
+reset slave 'master1' all;
+
+# Check the files
+
+--echo #
+--echo # List of files matching '*info*' pattern
+--echo # after 'master1' was completely reset, 'MASTER 2.2' still running
+--list_files $datadir *info*
+--echo # End of list
+--echo #
+--echo # Contents of multi-master.info
+--cat_file $datadir/multi-master.info
+--echo # EOF
+--echo #
+
+# Start replication from the first master,
+# now with the default empty name
+
+set default_master_connection = '';
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval change master to
+master_port=$SERVER_MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+
+start slave;
+--source include/wait_for_slave_to_start.inc
+
+--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+--save_master_pos
+
+--connection slave
+--sync_with_master
+
+# Check the files
+
+--echo #
+--echo # List of files matching '*info*' pattern
+--echo # while 'MASTER 2.2' and '' are running
+--list_files $datadir *info*
+--echo # End of list
+--echo #
+--echo # Contents of multi-master.info
+--cat_file $datadir/multi-master.info
+--echo # EOF
+--echo #
+
+let $wait_for_all= 1;
+let $show_statement= SHOW ALL SLAVES STATUS;
+let $field= Slave_IO_State;
+let $condition= = 'Waiting for master to send event';
+--source include/wait_show_condition.inc
+
+let read_master_log_pos=`select $binlog_start_pos + 65`;
+let relay_log_pos=`select 2*$binlog_start_pos + 105`;
+let relay_log_space1=`select 3*$binlog_start_pos + 144`;
+let relay_log_space2=`select 3*$binlog_start_pos + 163`;
+--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
+show all slaves status;
+
+# Restart the slave server
+
+--enable_reconnect
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.3.expect
+restart
+EOF
+--shutdown_server 60
+--source include/wait_until_connected_again.inc
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = 'MASTER 2.2';
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+
+let $wait_for_all= 1;
+let $show_statement= SHOW ALL SLAVES STATUS;
+let $field= Slave_IO_State;
+let $condition= = 'Waiting for master to send event';
+--source include/wait_show_condition.inc
+
+
+let relay_log_pos=`select 2*$binlog_start_pos + 40`;
+let relay_log_space1=`select 3*$binlog_start_pos + 79`;
+let relay_log_space2=`select 3*$binlog_start_pos + 98`;
+--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
+show all slaves status;
+
+# Check the files
+
+--echo #
+--echo # List of files matching '*info*' pattern
+--echo # after slave server restart
+--echo # while 'MASTER 2.2' and '' are running
+--list_files $datadir *info*
+--echo # End of list
+--echo #
+--echo # Contents of multi-master.info
+--cat_file $datadir/multi-master.info
+--echo # EOF
+--echo #
+
+
+# Cleanup
+
+--source include/reset_master_slave.inc
+--disconnect slave
+
+--connection master1
+--source include/reset_master_slave.inc
+--disconnect master1
+
+--connection master2
+--source include/reset_master_slave.inc
+--disconnect master2
+
diff --git a/mysql-test/suite/multi_source/load_data.result b/mysql-test/suite/multi_source/load_data.result
new file mode 100644
index 00000000000..3a04156ce6a
--- /dev/null
+++ b/mysql-test/suite/multi_source/load_data.result
@@ -0,0 +1,30 @@
+change master '' to master_port=MYPORT_1, master_host='127.0.0.1', master_user='root';
+change master 'master2' to master_port=MYPORT_2, master_host='127.0.0.1', master_user='root';
+start all slaves;
+Warnings:
+Note 1937 SLAVE 'master2' started
+Note 1937 SLAVE '' started
+set default_master_connection = '';
+include/wait_for_slave_to_start.inc
+set default_master_connection = 'master2';
+include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+create table t1 (a varchar(10) character set utf8);
+load data infile '../../std_data/loaddata6.dat' into table t1;
+create table t2 (a varchar(10) character set utf8);
+load data infile '../../std_data/loaddata6.dat' into table t2;
+select count(*) from t1;
+count(*)
+1
+select count(*) from t2;
+count(*)
+1
+drop table t1;
+drop table t2;
+stop all slaves;
+Warnings:
+Note 1938 SLAVE '' stopped
+Note 1938 SLAVE 'master2' stopped
+include/reset_master_slave.inc
+include/reset_master_slave.inc
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/load_data.test b/mysql-test/suite/multi_source/load_data.test
new file mode 100644
index 00000000000..94b328d56ae
--- /dev/null
+++ b/mysql-test/suite/multi_source/load_data.test
@@ -0,0 +1,71 @@
+#
+# Simple multi-master test
+#
+
+--source include/not_embedded.inc
+--let $rpl_server_count= 0
+
+--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
+--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+--connect (master2,127.0.0.1,root,,,$SERVER_MYPORT_2)
+--connection slave
+
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval change master '' to master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root';
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval change master 'master2' to master_port=$SERVER_MYPORT_2, master_host='127.0.0.1', master_user='root';
+start all slaves;
+
+set default_master_connection = '';
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = 'master2';
+--source include/wait_for_slave_to_start.inc
+
+#
+# Now test doing a load data infile from both connections
+#
+set default_master_connection = '';
+--connection master1
+create table t1 (a varchar(10) character set utf8);
+load data infile '../../std_data/loaddata6.dat' into table t1;
+--save_master_pos
+--connection slave
+--sync_with_master 0,''
+--connection master2
+create table t2 (a varchar(10) character set utf8);
+load data infile '../../std_data/loaddata6.dat' into table t2;
+--save_master_pos
+--connection slave
+--sync_with_master 0,'master2'
+select count(*) from t1;
+select count(*) from t2;
+--connection master1
+drop table t1;
+--connection master2
+drop table t2;
+
+#
+# clean up
+#
+
+--connection master1
+--save_master_pos
+--connection slave
+--sync_with_master 0,''
+--connection master2
+--save_master_pos
+--connection slave
+--sync_with_master 0,'master2'
+
+--connection slave
+--sorted_result
+stop all slaves;
+
+--source include/reset_master_slave.inc
+--disconnect slave
+--connection master1
+--source include/reset_master_slave.inc
+--disconnect master1
+--connection master2
+--source include/reset_master_slave.inc
+--disconnect master2
diff --git a/mysql-test/suite/multi_source/mdev-9544.cnf b/mysql-test/suite/multi_source/mdev-9544.cnf
new file mode 100644
index 00000000000..b43aca5370d
--- /dev/null
+++ b/mysql-test/suite/multi_source/mdev-9544.cnf
@@ -0,0 +1,22 @@
+!include my.cnf
+
+[mysqld.1]
+log-bin
+log-slave-updates
+
+[mysqld.2]
+log-bin
+log-slave-updates
+
+[mysqld.3]
+log-bin
+log-slave-updates
+
+[mysqld.4]
+server-id=4
+log-bin=server4-bin
+log-slave-updates
+
+[ENV]
+SERVER_MYPORT_4= @mysqld.4.port
+SERVER_MYSOCK_4= @mysqld.4.socket
diff --git a/mysql-test/suite/multi_source/mdev-9544.result b/mysql-test/suite/multi_source/mdev-9544.result
new file mode 100644
index 00000000000..e7e4bcda8ff
--- /dev/null
+++ b/mysql-test/suite/multi_source/mdev-9544.result
@@ -0,0 +1,78 @@
+create database a;
+use a;
+create table t1(a int);
+insert into t1 values(1);
+create table t2(a int);
+insert into t2 values(1);
+create database b;
+use b;
+create table t1(a int);
+insert into t1 values(1);
+create table t2(a int);
+insert into t2 values(1);
+create database c;
+use c;
+create table t1(a int);
+insert into t1 values(1);
+create table t2(a int);
+insert into t2 values(1);
+change master 'm1' to master_port=MYPORT_1 , master_host='127.0.0.1', master_user='root';
+change master 'm2' to master_port=MYPORT_2 , master_host='127.0.0.1', master_user='root';
+change master to master_port=MYPORT_3 , master_host='127.0.0.1', master_user='root';
+start all slaves;
+set default_master_connection = 'm1';
+include/wait_for_slave_to_start.inc
+set default_master_connection = 'm2';
+include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+include/wait_for_slave_to_start.inc
+use a;
+show tables;
+Tables_in_a
+t1
+t2
+use b;
+show tables;
+Tables_in_b
+t1
+t2
+use c;
+show tables;
+Tables_in_c
+t1
+t2
+#TEST
+SET default_master_connection = "m1";
+SET default_master_connection = "m2";
+SET default_master_connection = "";
+flush logs;
+SET default_master_connection = "m1";
+#log Rotated
+mysqld-relay-bin.000002
+mysqld-relay-bin.000003
+mysqld-relay-bin.index
+SET default_master_connection = "m2";
+#log Rotated
+mysqld-relay-bin-m1.000002
+mysqld-relay-bin-m1.000003
+mysqld-relay-bin-m1.index
+SET default_master_connection = "";
+#log Rotated
+mysqld-relay-bin-m2.000002
+mysqld-relay-bin-m2.000003
+mysqld-relay-bin-m2.index
+#CleanUp
+drop database a;
+drop database b;
+drop database c;
+stop all slaves;
+Warnings:
+Note 1938 SLAVE 'm2' stopped
+Note 1938 SLAVE '' stopped
+Note 1938 SLAVE 'm1' stopped
+SET default_master_connection = "m1";
+include/wait_for_slave_to_stop.inc
+SET default_master_connection = "m2";
+include/wait_for_slave_to_stop.inc
+SET default_master_connection = "";
+include/wait_for_slave_to_stop.inc
diff --git a/mysql-test/suite/multi_source/mdev-9544.test b/mysql-test/suite/multi_source/mdev-9544.test
new file mode 100644
index 00000000000..f532a63a585
--- /dev/null
+++ b/mysql-test/suite/multi_source/mdev-9544.test
@@ -0,0 +1,116 @@
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+--connect (server_1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+--connect (server_2,127.0.0.1,root,,,$SERVER_MYPORT_2)
+--connect (server_3,127.0.0.1,root,,,$SERVER_MYPORT_3)
+--connect (server_4,127.0.0.1,root,,,$SERVER_MYPORT_4)
+
+--connection server_1
+create database a;
+use a;
+create table t1(a int);
+insert into t1 values(1);
+create table t2(a int);
+insert into t2 values(1);
+--save_master_pos
+
+--connection server_2
+create database b;
+use b;
+create table t1(a int);
+insert into t1 values(1);
+create table t2(a int);
+insert into t2 values(1);
+--save_master_pos
+
+--connection server_3
+create database c;
+use c;
+create table t1(a int);
+insert into t1 values(1);
+create table t2(a int);
+insert into t2 values(1);
+--save_master_pos
+
+--connection server_4
+--disable_warnings
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval change master 'm1' to master_port=$SERVER_MYPORT_1 , master_host='127.0.0.1', master_user='root';
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval change master 'm2' to master_port=$SERVER_MYPORT_2 , master_host='127.0.0.1', master_user='root';
+--replace_result $SERVER_MYPORT_3 MYPORT_3
+eval change master to master_port=$SERVER_MYPORT_3 , master_host='127.0.0.1', master_user='root';
+start all slaves;
+set default_master_connection = 'm1';
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = 'm2';
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+--source include/wait_for_slave_to_start.inc
+
+--enable_warnings
+--sync_with_master 0,'m1'
+--sync_with_master 0,'m2'
+--sync_with_master 0,''
+use a;
+show tables;
+use b;
+show tables;
+use c;
+show tables;
+--echo #TEST
+SET default_master_connection = "m1";
+--let $old_m1 = query_get_value("show relaylog events;", "Log_name",1)
+SET default_master_connection = "m2";
+--let $old_m2 = query_get_value("show relaylog events;", "Log_name",1)
+SET default_master_connection = "";
+--let $old__ = query_get_value("show relaylog events;", "Log_name",1)
+flush logs;
+--sleep 2
+--let $MYSQLD_DATADIR = `select @@datadir`
+SET default_master_connection = "m1";
+--let $new_m1 = query_get_value("show relaylog events;", "Log_name",1)
+--if ($new_m1 != $old_m1) {
+ --echo #log Rotated
+ --exec ls $MYSQLD_DATADIR | grep "mysqld-relay-bin\."
+}
+SET default_master_connection = "m2";
+--let $new_m2 = query_get_value("show relaylog events;", "Log_name",1)
+--if ($new_m2 != $old_m2) {
+ --echo #log Rotated
+ --exec ls $MYSQLD_DATADIR | grep "mysqld-relay-bin-m1"
+}
+SET default_master_connection = "";
+--let $new__ = query_get_value("show relaylog events;", "Log_name",1)
+--if ($new__ != $old__) {
+ --echo #log Rotated
+ --exec ls $MYSQLD_DATADIR | grep "mysqld-relay-bin-m2"
+}
+
+--echo #CleanUp
+--connection server_1
+drop database a;
+--save_master_pos
+
+--connection server_2
+drop database b;
+--save_master_pos
+
+--connection server_3
+drop database c;
+--save_master_pos
+
+--connection server_4
+--sync_with_master 0,'m1'
+--sync_with_master 0,'m2'
+--sync_with_master 0,''
+stop all slaves;
+SET default_master_connection = "m1";
+--source include/wait_for_slave_to_stop.inc
+SET default_master_connection = "m2";
+--source include/wait_for_slave_to_stop.inc
+SET default_master_connection = "";
+--source include/wait_for_slave_to_stop.inc
+
diff --git a/mysql-test/suite/multi_source/multisource.result b/mysql-test/suite/multi_source/multisource.result
new file mode 100644
index 00000000000..227e88f6d71
--- /dev/null
+++ b/mysql-test/suite/multi_source/multisource.result
@@ -0,0 +1,205 @@
+change master 'abc' to relay_log_file='';
+ERROR HY000: Failed initializing relay log position: Could not find target log during relay log initialization
+change master 'abc2' to master_host='';
+ERROR HY000: Incorrect arguments to MASTER_HOST
+change master 'master1' to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+start slave 'master1';
+set default_master_connection = 'master1';
+include/wait_for_slave_to_start.inc
+#
+# Checking SHOW SLAVE 'master1' STATUS
+#
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin-master1.000002'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+#
+# Checking SHOW SLAVE STATUS
+#
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin-master1.000002'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+#
+# Checking SHOW ALL SLAVES STATUS
+#
+Connection_name = 'master1'
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin-master1.000002'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+Slave_heartbeat_period = '60.000'
+#
+drop database if exists db1;
+create database db1;
+use db1;
+create table t1 (i int auto_increment, f1 varchar(16), primary key pk (i,f1)) engine=MyISAM;
+insert into t1 (f1) values ('one'),('two');
+select * from db1.t1;
+i f1
+1 one
+2 two
+# List of relay log files in the datadir
+mysqld-relay-bin-master1.000001
+mysqld-relay-bin-master1.000002
+mysqld-relay-bin-master1.index
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin-master1.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin-master1.000001 # Rotate # # mysqld-relay-bin-master1.000002;pos=4
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin-master1.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin-master1.000002 # Rotate # # master-bin.000001;pos=POS
+mysqld-relay-bin-master1.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin-master1.000002 # Gtid_list # # []
+mysqld-relay-bin-master1.000002 # Binlog_checkpoint # # master-bin.000001
+mysqld-relay-bin-master1.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin-master1.000002 # Query # # drop database if exists db1
+mysqld-relay-bin-master1.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin-master1.000002 # Query # # create database db1
+mysqld-relay-bin-master1.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin-master1.000002 # Query # # use `db1`; create table t1 (i int auto_increment, f1 varchar(16), primary key pk (i,f1)) engine=MyISAM
+mysqld-relay-bin-master1.000002 # Gtid # # BEGIN GTID #-#-#
+mysqld-relay-bin-master1.000002 # Intvar # # INSERT_ID=1
+mysqld-relay-bin-master1.000002 # Query # # use `db1`; insert into t1 (f1) values ('one'),('two')
+mysqld-relay-bin-master1.000002 # Query # # COMMIT
+change master 'master1' to
+master_port=MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+ERROR HY000: This operation cannot be performed as you have a running slave 'master1'; run STOP SLAVE 'master1' first
+change master to
+master_port=MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+ERROR HY000: This operation cannot be performed as you have a running slave 'master1'; run STOP SLAVE 'master1' first
+change master 'master2' to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+ERROR HY000: Connection 'master2' conflicts with existing connection 'master1'
+set default_master_connection = '';
+change master to
+master_port=MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+start slave;
+include/wait_for_slave_to_start.inc
+#
+# Checking SHOW ALL SLAVES STATUS
+#
+Connection_name = ''
+Connection_name = 'master1'
+Master_Port = 'MYPORT_2'
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin.000002'
+Relay_Log_File = 'mysqld-relay-bin-master1.000002'
+Slave_IO_Running = 'Yes'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+Last_SQL_Errno = '0'
+Slave_heartbeat_period = '60.000'
+Slave_heartbeat_period = '60.000'
+#
+insert into t1 (f1) values ('three');
+drop database if exists db2;
+create database db2;
+use db2;
+create table t1 (pk int auto_increment primary key, f1 int) engine=InnoDB;
+begin;
+insert into t1 (f1) values (1),(2);
+select * from db1.t1;
+i f1
+1 one
+2 two
+3 three
+select * from db2.t1;
+pk f1
+commit;
+select * from db2.t1;
+pk f1
+1 1
+2 2
+flush logs;
+purge binary logs to 'master-bin.000002';
+show binary logs;
+Log_name File_size
+master-bin.000002 filesize
+insert into t1 (f1) values ('four');
+create table db1.t3 (f1 int) engine=InnoDB;
+#
+# Checking SHOW ALL SLAVES STATUS
+#
+Connection_name = ''
+Connection_name = 'master1'
+Master_Port = 'MYPORT_2'
+Master_Port = 'MYPORT_1'
+Relay_Log_File = 'mysqld-relay-bin.000002'
+Relay_Log_File = 'mysqld-relay-bin-master1.000004'
+Slave_IO_Running = 'Yes'
+Slave_IO_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Slave_SQL_Running = 'Yes'
+Last_Errno = '0'
+Last_Errno = '0'
+Last_SQL_Errno = '0'
+Last_SQL_Errno = '0'
+Slave_heartbeat_period = '60.000'
+Slave_heartbeat_period = '60.000'
+#
+select * from db1.t1;
+i f1
+1 one
+2 two
+3 three
+4 four
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin.000001 # Rotate # # mysqld-relay-bin.000002;pos=4
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin.000002 # Rotate # # master-bin.000001;pos=POS
+mysqld-relay-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin.000002 # Gtid_list # # []
+mysqld-relay-bin.000002 # Binlog_checkpoint # # master-bin.000001
+mysqld-relay-bin.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin.000002 # Query # # drop database if exists db2
+mysqld-relay-bin.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin.000002 # Query # # create database db2
+mysqld-relay-bin.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin.000002 # Query # # use `db2`; create table t1 (pk int auto_increment primary key, f1 int) engine=InnoDB
+mysqld-relay-bin.000002 # Gtid # # BEGIN GTID #-#-#
+mysqld-relay-bin.000002 # Intvar # # INSERT_ID=1
+mysqld-relay-bin.000002 # Query # # use `db2`; insert into t1 (f1) values (1),(2)
+mysqld-relay-bin.000002 # Xid # # COMMIT /* XID */
+stop slave io_thread;
+show status like 'Slave_running';
+Variable_name Value
+Slave_running OFF
+set default_master_connection = 'master1';
+show status like 'Slave_running';
+Variable_name Value
+Slave_running ON
+drop database db1;
+drop database db2;
+include/reset_master_slave.inc
+drop database db1;
+include/reset_master_slave.inc
+drop database db2;
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/multisource.test b/mysql-test/suite/multi_source/multisource.test
new file mode 100644
index 00000000000..fc58fe81803
--- /dev/null
+++ b/mysql-test/suite/multi_source/multisource.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/multisource.inc
diff --git a/mysql-test/suite/multi_source/my.cnf b/mysql-test/suite/multi_source/my.cnf
new file mode 100644
index 00000000000..d98e6b62e29
--- /dev/null
+++ b/mysql-test/suite/multi_source/my.cnf
@@ -0,0 +1,26 @@
+# cat t/multisource1.cnf
+!include include/default_mysqld.cnf
+!include include/default_client.cnf
+
+[mysqld.1]
+server-id=1
+log-bin=master-bin
+log-warnings=2
+
+[mysqld.2]
+server-id=2
+log-bin=master-bin
+log-warnings=2
+
+[mysqld.3]
+server-id=3
+log-warnings=2
+
+[ENV]
+MASTER_MYPORT= @mysqld.1.port
+SERVER_MYPORT_1= @mysqld.1.port
+SERVER_MYSOCK_1= @mysqld.1.socket
+SERVER_MYPORT_2= @mysqld.2.port
+SERVER_MYSOCK_2= @mysqld.2.socket
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
diff --git a/mysql-test/suite/multi_source/relaylog_events.result b/mysql-test/suite/multi_source/relaylog_events.result
new file mode 100644
index 00000000000..b96d71f4183
--- /dev/null
+++ b/mysql-test/suite/multi_source/relaylog_events.result
@@ -0,0 +1,30 @@
+change master 'master1' to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+start slave 'master1';
+set default_master_connection = 'master1';
+include/wait_for_slave_to_start.inc
+drop table if exists t1;
+create table t1 (i int) engine=MyISAM;
+mysqld-relay-bin-master1.000001
+mysqld-relay-bin-master1.000002
+mysqld-relay-bin-master1.index
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin-master1.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin-master1.000002 # Rotate # # master-bin.000001;pos=POS
+mysqld-relay-bin-master1.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin-master1.000002 # Gtid_list # # []
+mysqld-relay-bin-master1.000002 # Binlog_checkpoint # # master-bin.000001
+mysqld-relay-bin-master1.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin-master1.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+mysqld-relay-bin-master1.000002 # Gtid # # GTID #-#-#
+mysqld-relay-bin-master1.000002 # Query # # use `test`; create table t1 (i int) engine=MyISAM
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+mysqld-relay-bin-master1.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+mysqld-relay-bin-master1.000001 # Rotate # # mysqld-relay-bin-master1.000002;pos=4
+drop table t1;
+include/reset_master_slave.inc
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/relaylog_events.test b/mysql-test/suite/multi_source/relaylog_events.test
new file mode 100644
index 00000000000..7e5257af837
--- /dev/null
+++ b/mysql-test/suite/multi_source/relaylog_events.test
@@ -0,0 +1,53 @@
+#
+# Check that SHOW RELAYLOG EVENTS can be used
+# for a named master connection
+#
+
+--source include/not_embedded.inc
+--let $rpl_server_count= 0
+
+--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
+
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval change master 'master1' to
+master_port=$SERVER_MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+
+start slave 'master1';
+set default_master_connection = 'master1';
+--source include/wait_for_slave_to_start.inc
+
+--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (i int) engine=MyISAM;
+--save_master_pos
+
+--connection slave
+--sync_with_master 0,'master1'
+
+--let $datadir = `SELECT @@datadir`
+--list_files $datadir mysqld-relay-bin-master1.*
+
+let binlog_start=4;
+let binlog_file= mysqld-relay-bin-master1.000002;
+source include/show_relaylog_events.inc;
+let binlog_file=;
+source include/show_relaylog_events.inc;
+
+--connection master1
+drop table t1;
+--save_master_pos
+
+--connection slave
+--sync_with_master 0,'master1'
+
+--source include/reset_master_slave.inc
+--disconnect slave
+
+--connection master1
+--source include/reset_master_slave.inc
+--disconnect master1
+
diff --git a/mysql-test/suite/multi_source/reset_slave.result b/mysql-test/suite/multi_source/reset_slave.result
new file mode 100644
index 00000000000..6a9dbcdc561
--- /dev/null
+++ b/mysql-test/suite/multi_source/reset_slave.result
@@ -0,0 +1,28 @@
+change master 'master1' to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+start slave 'master1';
+set default_master_connection = 'master1';
+include/wait_for_slave_to_start.inc
+drop table if exists t1;
+create table t1 (i int) engine=MyISAM;
+insert into t1 values (1),(2);
+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_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
+ 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 No conservative
+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_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
+ 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 No conservative
+reset slave 'master1' all;
+show slave 'master1' status;
+ERROR HY000: There is no master connection 'master1'
+drop table t1;
+include/reset_master_slave.inc
+drop table t1;
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/reset_slave.test b/mysql-test/suite/multi_source/reset_slave.test
new file mode 100644
index 00000000000..4f4b9617345
--- /dev/null
+++ b/mysql-test/suite/multi_source/reset_slave.test
@@ -0,0 +1,73 @@
+#
+# Check RESET SLAVE [name] [ALL] for multi-source replication
+#
+
+--source include/not_embedded.inc
+--source include/binlog_start_pos.inc
+--let $rpl_server_count= 0
+
+--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
+
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval change master 'master1' to
+master_port=$SERVER_MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+
+start slave 'master1';
+
+set default_master_connection = 'master1';
+--source include/wait_for_slave_to_start.inc
+
+--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+create table t1 (i int) engine=MyISAM;
+insert into t1 values (1),(2);
+
+--save_master_pos
+
+--connection slave
+
+--sync_with_master 0,'master1'
+stop slave 'master1';
+
+--wait_for_slave_to_stop
+
+--let $datadir = `SELECT @@datadir`
+
+let read_master_log_pos=`select $binlog_start_pos + 554`;
+let relay_log_pos=`select 2*$binlog_start_pos + 594`;
+let relay_log_space=`select 3*$binlog_start_pos + 652`;
+--replace_result $SERVER_MYPORT_1 MYPORT_1 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space <relay_log_space>
+show slave 'master1' status;
+--list_files $datadir mysqld*
+
+reset slave 'master1';
+
+--replace_result $SERVER_MYPORT_1 MYPORT_1 $relay_log_pos <relay_log_pos> $relay_log_space <relay_log_space>
+show slave 'master1' status;
+--list_files $datadir mysqld*
+
+reset slave 'master1' all;
+
+--error WARN_NO_MASTER_INFO
+show slave 'master1' status;
+--list_files $datadir mysqld*
+
+# Cleanup
+
+drop table t1;
+--source include/reset_master_slave.inc
+--disconnect slave
+
+--connection master1
+drop table t1;
+--source include/reset_master_slave.inc
+--disconnect master1
+
+
+
diff --git a/mysql-test/suite/multi_source/simple.result b/mysql-test/suite/multi_source/simple.result
new file mode 100644
index 00000000000..3bf25e8d788
--- /dev/null
+++ b/mysql-test/suite/multi_source/simple.result
@@ -0,0 +1,84 @@
+change master 'slave1' to master_port=MYPORT_1, master_host='127.0.0.1', master_user='root';
+change master 'slave2' to master_port=MYPORT_2, master_host='127.0.0.1', master_user='root';
+start slave 'slave1';
+set default_master_connection = 'slave1';
+include/wait_for_slave_to_start.inc
+set default_master_connection = 'slave2';
+start all slaves;
+Warnings:
+Note 1937 SLAVE 'slave2' started
+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_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 Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
+slave1 Slave has read all relay log; waiting for the slave I/O thread to update it Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> mysqld-relay-bin-slave1.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 conservative 0 1073741824 7 0 60.000
+slave2 Slave has read all relay log; waiting for the slave I/O thread to update it Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> mysqld-relay-bin-slave2.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 2 No conservative 0 1073741824 7 0 60.000
+start all slaves;
+stop slave 'slave1';
+show slave 'slave1' status;
+Slave_IO_State
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MYPORT_1
+Connect_Retry 60
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos <read_master_log_pos>
+Relay_Log_File mysqld-relay-bin-slave1.000002
+Relay_Log_Pos <relay_log_pos>
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running No
+Slave_SQL_Running No
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
+Exec_Master_Log_Pos <read_master_log_pos>
+Relay_Log_Space <relay_log_space1>
+Until_Condition None
+Until_Log_File
+Until_Log_Pos 0
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master NULL
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
+Master_SSL_Crl
+Master_SSL_Crlpath
+Using_Gtid No
+Gtid_IO_Pos
+Replicate_Do_Domain_Ids
+Replicate_Ignore_Domain_Ids
+Parallel_Mode conservative
+reset slave 'slave1';
+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_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 Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
+slave1 127.0.0.1 root MYPORT_1 60 4 <relay_log_pos> No No 0 0 0 <relay_log_space1> None 0 No NULL No 0 0 1 No conservative 0 1073741824 7 0 60.000
+slave2 Slave has read all relay log; waiting for the slave I/O thread to update it Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> mysqld-relay-bin-slave2.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 2 No conservative 0 1073741824 7 0 60.000
+reset slave 'slave1' all;
+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_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 Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
+slave2 Slave has read all relay log; waiting for the slave I/O thread to update it Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> mysqld-relay-bin-slave2.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 2 No conservative 0 1073741824 7 0 60.000
+stop all slaves;
+Warnings:
+Note 1938 SLAVE 'slave2' stopped
+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_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 Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
+slave2 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> mysqld-relay-bin-slave2.000002 <relay_log_pos> master-bin.000001 No No 0 0 <read_master_log_pos> <relay_log_space1> None 0 No NULL No 0 0 2 No conservative 0 1073741824 7 0 60.000
+stop all slaves;
+include/reset_master_slave.inc
+include/reset_master_slave.inc
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/simple.test b/mysql-test/suite/multi_source/simple.test
new file mode 100644
index 00000000000..179fb9a4933
--- /dev/null
+++ b/mysql-test/suite/multi_source/simple.test
@@ -0,0 +1,86 @@
+#
+# Simple multi-master test
+#
+
+--source include/not_embedded.inc
+--source include/binlog_start_pos.inc
+--let $rpl_server_count= 0
+
+--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
+--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+--connect (master2,127.0.0.1,root,,,$SERVER_MYPORT_2)
+--connection slave
+
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval change master 'slave1' to master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root';
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval change master 'slave2' to master_port=$SERVER_MYPORT_2, master_host='127.0.0.1', master_user='root';
+start slave 'slave1';
+set default_master_connection = 'slave1';
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = 'slave2';
+start all slaves;
+
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+
+# Ensure that all data is in the relay log
+--connection master1
+--save_master_pos
+--connection slave
+--sync_with_master 0,'slave1'
+--connection master2
+--save_master_pos
+--connection slave
+--sync_with_master 0,'slave2'
+
+# MDEV-7074 (Sporadic test failure due to a race condition)
+let $show_statement = SHOW ALL SLAVES STATUS;
+let $field = Executed_log_entries;
+let $condition = = 7;
+let $wait_for_all = 1;
+--source include/wait_show_condition.inc
+
+let read_master_log_pos=`select $binlog_start_pos + 65`;
+let relay_log_pos=`select 2*$binlog_start_pos + 105`;
+let relay_log_space1=`select 3*$binlog_start_pos + 162`;
+let relay_log_space2=`select 3*$binlog_start_pos + 162`;
+--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
+show all slaves status;
+
+# Ensure that start all slaves doesn't do anything as all slaves are started
+start all slaves;
+
+stop slave 'slave1';
+
+--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
+query_vertical show slave 'slave1' status;
+
+reset slave 'slave1';
+--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
+show all slaves status;
+
+reset slave 'slave1' all;
+--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
+show all slaves status;
+
+stop all slaves;
+--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
+show all slaves status;
+
+# Ensure that start all slaves doesn't do anything as all slaves are stopped
+stop all slaves;
+
+#
+# clean up
+#
+
+--source include/reset_master_slave.inc
+--disconnect slave
+--connection master1
+--source include/reset_master_slave.inc
+--disconnect master1
+--connection master2
+--source include/reset_master_slave.inc
+--disconnect master2
+
diff --git a/mysql-test/suite/multi_source/skip_counter.result b/mysql-test/suite/multi_source/skip_counter.result
new file mode 100644
index 00000000000..10226e2ba4e
--- /dev/null
+++ b/mysql-test/suite/multi_source/skip_counter.result
@@ -0,0 +1,117 @@
+drop database if exists db;
+create database db;
+create table db.this_will_not_be_replicated (i int) engine=MyISAM;
+create table db.t1 (i int) engine=MyISAM;
+create table db.t2 (i int) engine=MyISAM;
+drop database if exists db;
+create database db;
+create table db.t3 (i int) engine=MyISAM;
+change master 'master1' to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+start slave 'master1';
+set default_master_connection = 'master1';
+include/wait_for_slave_to_start.inc
+set default_master_connection = 'master2';
+change master 'master2' to
+master_port=MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+set global sql_slave_skip_counter = 2;
+select @@global.sql_slave_skip_counter;
+@@global.sql_slave_skip_counter
+2
+select @@session.sql_slave_skip_counter;
+@@session.sql_slave_skip_counter
+2
+set session sql_slave_skip_counter = 3;
+select @@global.sql_slave_skip_counter;
+@@global.sql_slave_skip_counter
+3
+select @@session.sql_slave_skip_counter;
+@@session.sql_slave_skip_counter
+3
+set global sql_slave_skip_counter= default;
+select @@global.sql_slave_skip_counter;
+@@global.sql_slave_skip_counter
+0
+select @@session.sql_slave_skip_counter;
+@@session.sql_slave_skip_counter
+0
+set global sql_slave_skip_counter= 4;
+set default_master_connection = 'master1';
+select @@session.sql_slave_skip_counter;
+@@session.sql_slave_skip_counter
+0
+set default_master_connection = 'qqq';
+select @@session.sql_slave_skip_counter;
+@@session.sql_slave_skip_counter
+0
+Warnings:
+Warning 1617 There is no master connection 'qqq'
+set default_master_connection = 'master2';
+select @@session.sql_slave_skip_counter;
+@@session.sql_slave_skip_counter
+4
+select @@global.max_relay_log_size;
+@@global.max_relay_log_size
+1073741824
+set global max_relay_log_size = 1*1024*1024;
+select @@global.max_relay_log_size;
+@@global.max_relay_log_size
+1048576
+select @@session.max_relay_log_size;
+@@session.max_relay_log_size
+1048576
+set session max_relay_log_size = 3*1024*1024;
+select @@global.max_relay_log_size;
+@@global.max_relay_log_size
+3145728
+select @@session.max_relay_log_size;
+@@session.max_relay_log_size
+3145728
+set global max_relay_log_size= default;
+select @@global.max_relay_log_size;
+@@global.max_relay_log_size
+1073741824
+select @@session.max_relay_log_size;
+@@session.max_relay_log_size
+1073741824
+set global max_relay_log_size= 3*1024*1024;
+set default_master_connection = 'master1';
+select @@session.max_relay_log_size;
+@@session.max_relay_log_size
+1073741824
+set default_master_connection = 'qqq';
+select @@session.max_relay_log_size;
+@@session.max_relay_log_size
+0
+Warnings:
+Warning 1617 There is no master connection 'qqq'
+set default_master_connection = 'master2';
+select @@session.max_relay_log_size;
+@@session.max_relay_log_size
+3145728
+set global max_binlog_size= 4*1024*1024;
+select @@global.max_relay_log_size;
+@@global.max_relay_log_size
+3145728
+start slave 'master2';
+include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+show tables in db;
+Tables_in_db
+t1
+t2
+t3
+this_will_not_be_replicated
+drop database db;
+set global sql_slave_skip_counter = 0;
+set global max_relay_log_size = 1073741824;
+set global max_binlog_size = 1073741824;
+include/reset_master_slave.inc
+drop database db;
+include/reset_master_slave.inc
+drop database db;
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/skip_counter.test b/mysql-test/suite/multi_source/skip_counter.test
new file mode 100644
index 00000000000..e53d0276a91
--- /dev/null
+++ b/mysql-test/suite/multi_source/skip_counter.test
@@ -0,0 +1,149 @@
+#
+# Test of sql_slave_skip_counter and rpl_max_size
+#
+
+# Create a schema and a table i
+# on the 1st master
+
+--source include/not_embedded.inc
+--let $rpl_server_count= 0
+
+--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+
+--disable_warnings
+drop database if exists db;
+--enable_warnings
+create database db;
+create table db.this_will_not_be_replicated (i int) engine=MyISAM;
+create table db.t1 (i int) engine=MyISAM;
+create table db.t2 (i int) engine=MyISAM;
+--save_master_pos
+
+# Create the same schema and another table
+# on the 2nd master
+
+--connect (master2,127.0.0.1,root,,,$SERVER_MYPORT_2)
+
+--disable_warnings
+drop database if exists db;
+--enable_warnings
+create database db;
+create table db.t3 (i int) engine=MyISAM;
+
+--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
+
+# Start replication from the first master
+
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval change master 'master1' to
+master_port=$SERVER_MYPORT_1,
+master_host='127.0.0.1',
+master_user='root';
+
+start slave 'master1';
+set default_master_connection = 'master1';
+--source include/wait_for_slave_to_start.inc
+--sync_with_master 0,'master1'
+
+# Start replication from the second master
+
+set default_master_connection = 'master2';
+
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval change master 'master2' to
+master_port=$SERVER_MYPORT_2,
+master_host='127.0.0.1',
+master_user='root';
+
+# the schema creation will be replicated from the 1st master,
+# so we want to skip it in the second replication connection
+# The events we want to skip are:
+#
+# The start format statement event
+# drop database if exists db
+# create database db
+# Create table db.t1
+# - > 4 events in total
+
+--let $skip_counter_saved = `select @@global.sql_slave_skip_counter`
+--let $max_relay_log_size_saved= `select @@global.max_relay_log_size`
+--let $max_binlog_size_saved= `select @@global.max_binlog_size`
+set global sql_slave_skip_counter = 2;
+select @@global.sql_slave_skip_counter;
+select @@session.sql_slave_skip_counter;
+set session sql_slave_skip_counter = 3;
+select @@global.sql_slave_skip_counter;
+select @@session.sql_slave_skip_counter;
+set global sql_slave_skip_counter= default;
+select @@global.sql_slave_skip_counter;
+select @@session.sql_slave_skip_counter;
+set global sql_slave_skip_counter= 4;
+
+set default_master_connection = 'master1';
+select @@session.sql_slave_skip_counter;
+set default_master_connection = 'qqq';
+select @@session.sql_slave_skip_counter;
+set default_master_connection = 'master2';
+select @@session.sql_slave_skip_counter;
+
+# Test of setting max_relay_log_size
+select @@global.max_relay_log_size;
+set global max_relay_log_size = 1*1024*1024;
+select @@global.max_relay_log_size;
+select @@session.max_relay_log_size;
+set session max_relay_log_size = 3*1024*1024;
+select @@global.max_relay_log_size;
+select @@session.max_relay_log_size;
+set global max_relay_log_size= default;
+select @@global.max_relay_log_size;
+select @@session.max_relay_log_size;
+set global max_relay_log_size= 3*1024*1024;
+set default_master_connection = 'master1';
+select @@session.max_relay_log_size;
+set default_master_connection = 'qqq';
+select @@session.max_relay_log_size;
+set default_master_connection = 'master2';
+select @@session.max_relay_log_size;
+set global max_binlog_size= 4*1024*1024;
+select @@global.max_relay_log_size;
+
+start slave 'master2';
+--source include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+
+--connection master2
+--save_master_pos
+
+--connection slave
+
+--sync_with_master 0,'master2'
+
+# If the skip_counter worked as expected, we should
+# get here (replication shouldn't have broken)
+# and should see both tables here
+# (drop database which came from master2 shouldn't have been executed
+# so t1 should still exist)
+
+show tables in db;
+
+# Cleanup
+
+drop database db;
+
+--eval set global sql_slave_skip_counter = $skip_counter_saved
+--eval set global max_relay_log_size = $max_relay_log_size_saved
+--eval set global max_binlog_size = $max_binlog_size_saved
+
+--source include/reset_master_slave.inc
+--disconnect slave
+
+--connection master1
+drop database db;
+--source include/reset_master_slave.inc
+--disconnect master1
+
+--connection master2
+drop database db;
+--source include/reset_master_slave.inc
+--disconnect master2
+
diff --git a/mysql-test/suite/multi_source/status_vars.result b/mysql-test/suite/multi_source/status_vars.result
new file mode 100644
index 00000000000..12917f94140
--- /dev/null
+++ b/mysql-test/suite/multi_source/status_vars.result
@@ -0,0 +1,97 @@
+call mtr.add_suppression("Connection 'master1' already exists");
+change master 'master1' to
+master_port=MYPORT_1,
+master_host='127.0.0.1',
+master_user='root',
+master_heartbeat_period = 25;
+start slave 'master1';
+set default_master_connection = 'master1';
+include/wait_for_slave_to_start.inc
+set default_master_connection = '';
+change master to
+master_port=MYPORT_2,
+master_host='127.0.0.1',
+master_user='root',
+master_heartbeat_period=35;
+start slave;
+include/wait_for_slave_to_start.inc
+#
+# Check how status works for the default connection, anonymous or named
+#
+# Slave_running and Slave_heartbeat_period should be local for a connection
+#
+set default_master_connection = '';
+show status like 'Slave_running';
+Variable_name Value
+Slave_running ON
+show status like 'Slave_heartbeat_period';
+Variable_name Value
+Slave_heartbeat_period 35.000
+stop slave io_thread;
+include/wait_for_slave_io_to_stop.inc
+show status like 'Slave_running';
+Variable_name Value
+Slave_running OFF
+set default_master_connection = 'master1';
+show status like 'Slave_running';
+Variable_name Value
+Slave_running ON
+show status like 'Slave_heartbeat_period';
+Variable_name Value
+Slave_heartbeat_period 25.000
+#
+# Slave_received_heartbeats should also be local
+#
+set default_master_connection = '';
+stop slave sql_thread;
+include/wait_for_slave_sql_to_stop.inc
+change master to master_heartbeat_period=1;
+show status like 'Slave_received_heartbeats';
+Variable_name Value
+Slave_received_heartbeats 0
+start slave;
+include/wait_for_slave_to_start.inc
+show status like 'Slave_received_heartbeats';
+Variable_name Value
+Slave_received_heartbeats 2
+stop slave;
+include/wait_for_slave_to_stop.inc
+set default_master_connection = 'master1';
+show status like 'Slave_received_heartbeats';
+Variable_name Value
+Slave_received_heartbeats 0
+stop slave;
+include/wait_for_slave_to_stop.inc
+change master to master_heartbeat_period=2;
+start slave;
+include/wait_for_slave_to_start.inc
+show status like 'Slave_received_heartbeats';
+Variable_name Value
+Slave_received_heartbeats 1
+#
+# Slave_open_temp_tables should be global
+#
+set default_master_connection = '';
+start slave;
+include/wait_for_slave_to_start.inc
+set binlog_format = statement;
+create temporary table tmp1 (i int) engine=MyISAM;
+show status like 'Slave_open_temp_tables';
+Variable_name Value
+Slave_open_temp_tables 1
+set default_master_connection = 'master1';
+show status like 'Slave_open_temp_tables';
+Variable_name Value
+Slave_open_temp_tables 1
+set binlog_format = statement;
+create temporary table tmp1 (i int) engine=MyISAM;
+show status like 'Slave_open_temp_tables';
+Variable_name Value
+Slave_open_temp_tables 2
+set default_master_connection = '';
+show status like 'Slave_open_temp_tables';
+Variable_name Value
+Slave_open_temp_tables 2
+include/reset_master_slave.inc
+include/reset_master_slave.inc
+include/reset_master_slave.inc
diff --git a/mysql-test/suite/multi_source/status_vars.test b/mysql-test/suite/multi_source/status_vars.test
new file mode 100644
index 00000000000..e76a403db33
--- /dev/null
+++ b/mysql-test/suite/multi_source/status_vars.test
@@ -0,0 +1,139 @@
+#
+# Status variables related to a replication connection
+#
+
+--source include/not_embedded.inc
+--let $rpl_server_count= 0
+
+--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
+
+call mtr.add_suppression("Connection 'master1' already exists");
+
+# Start replication from the first master
+
+--replace_result $SERVER_MYPORT_1 MYPORT_1
+eval change master 'master1' to
+master_port=$SERVER_MYPORT_1,
+master_host='127.0.0.1',
+master_user='root',
+master_heartbeat_period = 25;
+
+start slave 'master1';
+set default_master_connection = 'master1';
+--source include/wait_for_slave_to_start.inc
+
+
+# Set up a proper 'default' connection to master2
+
+set default_master_connection = '';
+
+--replace_result $SERVER_MYPORT_2 MYPORT_2
+eval change master to
+master_port=$SERVER_MYPORT_2,
+master_host='127.0.0.1',
+master_user='root',
+master_heartbeat_period=35;
+
+start slave;
+--source include/wait_for_slave_to_start.inc
+
+--echo #
+--echo # Check how status works for the default connection, anonymous or named
+--echo #
+
+--echo # Slave_running and Slave_heartbeat_period should be local for a connection
+--echo #
+
+set default_master_connection = '';
+show status like 'Slave_running';
+show status like 'Slave_heartbeat_period';
+stop slave io_thread;
+--source include/wait_for_slave_io_to_stop.inc
+show status like 'Slave_running';
+
+set default_master_connection = 'master1';
+show status like 'Slave_running';
+show status like 'Slave_heartbeat_period';
+
+--echo #
+--echo # Slave_received_heartbeats should also be local
+--echo #
+
+set default_master_connection = '';
+stop slave sql_thread;
+--source include/wait_for_slave_sql_to_stop.inc
+change master to master_heartbeat_period=1;
+show status like 'Slave_received_heartbeats';
+start slave;
+--source include/wait_for_slave_to_start.inc
+
+--let $status_var = Slave_received_heartbeats
+--let $status_var_value = 2
+# The units are tens of seconds
+--let $status_timeout = 30
+--source include/wait_for_status_var.inc
+show status like 'Slave_received_heartbeats';
+stop slave;
+--source include/wait_for_slave_to_stop.inc
+
+set default_master_connection = 'master1';
+show status like 'Slave_received_heartbeats';
+
+stop slave;
+--source include/wait_for_slave_to_stop.inc
+change master to master_heartbeat_period=2;
+start slave;
+--source include/wait_for_slave_to_start.inc
+
+--let $status_var = Slave_received_heartbeats
+--let $status_var_value = 1
+--let $status_timeout = 30
+--source include/wait_for_status_var.inc
+show status like 'Slave_received_heartbeats';
+
+
+--echo #
+--echo # Slave_open_temp_tables should be global
+--echo #
+
+set default_master_connection = '';
+start slave;
+--source include/wait_for_slave_to_start.inc
+
+--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
+set binlog_format = statement;
+create temporary table tmp1 (i int) engine=MyISAM;
+--save_master_pos
+
+--connection slave
+--sync_with_master 0,'master1'
+show status like 'Slave_open_temp_tables';
+
+set default_master_connection = 'master1';
+show status like 'Slave_open_temp_tables';
+
+--connect (master2,127.0.0.1,root,,,$SERVER_MYPORT_2)
+set binlog_format = statement;
+create temporary table tmp1 (i int) engine=MyISAM;
+--save_master_pos
+
+--connection slave
+--sync_with_master 0,''
+show status like 'Slave_open_temp_tables';
+
+set default_master_connection = '';
+show status like 'Slave_open_temp_tables';
+
+
+# Cleanup
+
+--source include/reset_master_slave.inc
+--disconnect slave
+--connection master1
+--source include/reset_master_slave.inc
+--disconnect master1
+--connection master2
+--source include/reset_master_slave.inc
+--disconnect master2
+
+
diff --git a/mysql-test/suite/multi_source/syntax.result b/mysql-test/suite/multi_source/syntax.result
new file mode 100644
index 00000000000..55b124bf5a1
--- /dev/null
+++ b/mysql-test/suite/multi_source/syntax.result
@@ -0,0 +1,83 @@
+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_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
+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
+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_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 Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
+#
+# Check error handling
+#
+show slave 'qqq' status;
+ERROR HY000: There is no master connection 'qqq'
+show slave 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' status;
+ERROR HY000: There is no master connection 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'
+show slave 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' status;
+ERROR HY000: Incorrect arguments to MASTER_CONNECTION_NAME
+change master 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' to master_host='dummy';
+ERROR HY000: Incorrect arguments to MASTER_CONNECTION_NAME
+start slave 'qqq';
+ERROR HY000: There is no master connection 'qqq'
+stop slave 'qqq';
+ERROR HY000: There is no master connection 'qqq'
+flush slave 'qqq';
+ERROR HY000: There is no master connection 'qqq'
+reset slave 'qqq';
+ERROR HY000: There is no master connection 'qqq'
+select master_pos_wait('master-bin.999999',0,2,'qqq');
+master_pos_wait('master-bin.999999',0,2,'qqq')
+NULL
+Warnings:
+Warning 1617 There is no master connection 'qqq'
+select master_pos_wait('master-bin.999999',0,2,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc');
+master_pos_wait('master-bin.999999',0,2,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc')
+NULL
+Warnings:
+Warning 1210 Incorrect arguments to MASTER_CONNECTION_NAME
+#
+# checking usage of default_master_connection;
+#
+select @@default_master_connection;
+@@default_master_connection
+
+select @@global.default_master_connection;
+ERROR HY000: Variable 'default_master_connection' is a SESSION variable
+set @@global.default_master_connection='qqq';
+ERROR HY000: Variable 'default_master_connection' is a SESSION variable and can't be used with SET GLOBAL
+set @@default_master_connection='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc';
+ERROR 42000: Variable 'default_master_connection' can't be set to the value of 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'
+select @@default_master_connection;
+@@default_master_connection
+
+set @@default_master_connection='qqq';
+select @@default_master_connection;
+@@default_master_connection
+qqq
+show variables like "default_master_connection";
+Variable_name Value
+default_master_connection qqq
+show slave status;
+ERROR HY000: There is no master connection 'qqq'
+select master_pos_wait('master-bin.999999',0,2);
+master_pos_wait('master-bin.999999',0,2)
+NULL
+Warnings:
+Warning 1617 There is no master connection 'qqq'
+set @@default_master_connection='';
+select master_pos_wait('master-bin.999999',0,2);
+master_pos_wait('master-bin.999999',0,2)
+-1
+set @@default_master_connection='';
+#
+# checking variables
+#
+show status like "Slave_running";
+Variable_name Value
+Slave_running ON
+set @@default_master_connection='qqq';
+show status like "Slave_running";
+Variable_name Value
+Slave_running
+set @@default_master_connection='';
+include/rpl_end.inc
diff --git a/mysql-test/suite/multi_source/syntax.test b/mysql-test/suite/multi_source/syntax.test
new file mode 100644
index 00000000000..12539d32a64
--- /dev/null
+++ b/mysql-test/suite/multi_source/syntax.test
@@ -0,0 +1,75 @@
+# Test multi master syntax
+
+--source include/not_embedded.inc
+--source include/master-slave.inc
+
+# Check syntax of multi source replication
+
+show slave status;
+show slave '' status;
+show all slaves status;
+
+--echo #
+--echo # Check error handling
+--echo #
+
+--error WARN_NO_MASTER_INFO
+show slave 'qqq' status;
+--error WARN_NO_MASTER_INFO
+show slave 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' status;
+--error ER_WRONG_ARGUMENTS
+show slave 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' status;
+--error ER_WRONG_ARGUMENTS
+change master 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' to master_host='dummy';
+
+--error WARN_NO_MASTER_INFO
+start slave 'qqq';
+--error WARN_NO_MASTER_INFO
+stop slave 'qqq';
+--error WARN_NO_MASTER_INFO
+flush slave 'qqq';
+--error WARN_NO_MASTER_INFO
+reset slave 'qqq';
+
+select master_pos_wait('master-bin.999999',0,2,'qqq');
+select master_pos_wait('master-bin.999999',0,2,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc');
+
+save_master_pos;
+connection slave;
+sync_with_master 0,'';
+sync_with_master 0 ,'';
+sync_with_master 0, '';
+
+--echo #
+--echo # checking usage of default_master_connection;
+--echo #
+select @@default_master_connection;
+
+--error 1238
+select @@global.default_master_connection;
+--error 1228
+set @@global.default_master_connection='qqq';
+--error 1231
+set @@default_master_connection='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc';
+select @@default_master_connection;
+set @@default_master_connection='qqq';
+select @@default_master_connection;
+show variables like "default_master_connection";
+
+--error WARN_NO_MASTER_INFO
+show slave status;
+select master_pos_wait('master-bin.999999',0,2);
+set @@default_master_connection='';
+select master_pos_wait('master-bin.999999',0,2);
+
+set @@default_master_connection='';
+
+--echo #
+--echo # checking variables
+--echo #
+show status like "Slave_running";
+set @@default_master_connection='qqq';
+show status like "Slave_running";
+set @@default_master_connection='';
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/ndb/r/ndb_restore_discover.result b/mysql-test/suite/ndb/r/ndb_restore_discover.result
deleted file mode 100644
index de10af87047..00000000000
--- a/mysql-test/suite/ndb/r/ndb_restore_discover.result
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# 18075170 - sql node restart required to avoid deadlock after
-# restore
-#
-CREATE TABLE t1 (id INT) ENGINE=NDBCluster;
-CREATE TABLE t2 (id INT) ENGINE=NDBCluster;
-INSERT INTO t1 VALUES (1);
-INSERT INTO t2 VALUES (1);
-DROP TABLE t1;
-DROP TABLE t2;
-SET autocommit = 0;
-SELECT * FROM t1;
-id
-1
-SELECT * FROM t2;
-id
-1
-ROLLBACK;
-SET autocommit = 1;
-drop table t1;
-drop table t2;
-SET autocommit = 0;
-SELECT * FROM t1;
-id
-1
-SELECT * FROM t2;
-id
-1
-ALTER TABLE t1 ADD val INT;
-ROLLBACK;
-SET autocommit = 1;
-drop table t1;
-drop table t2;
diff --git a/mysql-test/suite/ndb/t/ndb_restore_discover.test b/mysql-test/suite/ndb/t/ndb_restore_discover.test
deleted file mode 100644
index 6631c74d5c8..00000000000
--- a/mysql-test/suite/ndb/t/ndb_restore_discover.test
+++ /dev/null
@@ -1,70 +0,0 @@
--- source include/have_ndb.inc
--- source include/count_sessions.inc
-
---echo #
---echo # 18075170 - sql node restart required to avoid deadlock after
---echo # restore
---echo #
-# Test Auto Discover option within a transaction
-# and make sure the transaction is not broken.
-CREATE TABLE t1 (id INT) ENGINE=NDBCluster;
-CREATE TABLE t2 (id INT) ENGINE=NDBCluster;
-
-INSERT INTO t1 VALUES (1);
-INSERT INTO t2 VALUES (1);
-
--- source include/ndb_backup.inc
-
-DROP TABLE t1;
-DROP TABLE t2;
-
--- source include/ndb_restore_master.inc
-
-SET autocommit = 0;
-SELECT * FROM t1;
-
-# Without fix below select was resulting in DEADLOCK error. With fix select
-# should succeed.
-SELECT * FROM t2;
-ROLLBACK;
-SET autocommit = 1;
-
-drop table t1;
-drop table t2;
-
-#
-# Checking lock preservation in transaction
-#
-# Using existing backup to create the scenario. Tables are deleted as part of
-# above test cleanup. Thus restoring the backup will bring the system to
-# required state.
--- source include/ndb_restore_master.inc
-
-SET autocommit = 0;
-SELECT * FROM t1;
-SELECT * FROM t2;
-
-connect(con2, localhost, root);
---SEND ALTER TABLE t1 ADD val INT
-
-connection default;
-# Alter from con2 will be in waiting state as there is a lock on t1 from
-# default connection due to active transaction. We check for this condition
-# then releasing the lock by rollbacking active transaction.
-let $wait_condition=
- SELECT count(*) = 1 FROM information_schema.processlist WHERE state
- LIKE "Waiting%" AND info = "ALTER TABLE t1 ADD val INT";
---source include/wait_condition.inc
-ROLLBACK;
-SET autocommit = 1;
-
-connection con2;
---REAP
-
-disconnect con2;
-connection default;
-drop table t1;
-drop table t2;
-
-# Wait till all disconnects are completed
--- source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/optimizer_unfixed_bugs/r/bug41029.result b/mysql-test/suite/optimizer_unfixed_bugs/r/bug41029.result
index 6b3025af842..5973c8ade46 100644
--- a/mysql-test/suite/optimizer_unfixed_bugs/r/bug41029.result
+++ b/mysql-test/suite/optimizer_unfixed_bugs/r/bug41029.result
@@ -7,7 +7,7 @@ set autocommit=0;
use test;
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1 (dummy int primary key, a int unique, b int) engine=innodb;
insert into t1 values(1,1,1),(3,3,3),(5,5,5);
commit;
diff --git a/mysql-test/suite/optimizer_unfixed_bugs/r/bug41996.result b/mysql-test/suite/optimizer_unfixed_bugs/r/bug41996.result
index bad32010c8c..31e39d4421d 100644
--- a/mysql-test/suite/optimizer_unfixed_bugs/r/bug41996.result
+++ b/mysql-test/suite/optimizer_unfixed_bugs/r/bug41996.result
@@ -1,7 +1,7 @@
set session debug_dbug="+d,optimizer_innodb_icp";
drop table if exists `t1`;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table `t1` (`c` bigint, key(`c`),`a` int)engine=innodb;
insert into `t1` values(2,2);
delete `t1` from `t1` `a`, `t1` where `a`.`a`=`t1`.`c` ;
diff --git a/mysql-test/suite/optimizer_unfixed_bugs/r/bug42991.result b/mysql-test/suite/optimizer_unfixed_bugs/r/bug42991.result
index 4586fe84d2d..e4fdf0d03a7 100644
--- a/mysql-test/suite/optimizer_unfixed_bugs/r/bug42991.result
+++ b/mysql-test/suite/optimizer_unfixed_bugs/r/bug42991.result
@@ -247,6 +247,8 @@ UNLOCK TABLES;
select * from `table5` where (col2 <= '6566-06-15' AND col24 <> 'd') group by `col83` order by `col83` desc ;
col0 col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 col39 col40 col41 col42 col43 col44 col45 col46 col47 col48 col49 col50 col51 col52 col53 col54 col55 col56 col57 col58 col59 col60 col61 col62 col63 col64 col65 col66 col67 col68 col69 col70 col71 col72 col73 col74 col75 col76 col77 col78 col79 col80 col81 col82 col83 col84 col85 col86 col87 col88 col89 col90 col91 col92 col93 col94 col95 col96 col97 col98 col99 col100 col101 col102 col103 col104 col105 col106 col107 col108 col109 col110 col111 col112 col113 col114 col115 col116 col117 col118 col119 col120 col121 col122 col123 col124 col125 col126 col127 col128 col129 col130 col131 col132 col133 col134 col135 col136 col137 col138 col139 col140 col141 col142 col143 col144 col145 col146 col147 col148 col149 col150 col151 col152 col153 col154 col155 col156 col157 col158 col159 col160 col161 col162 col163 col164 col165 col166 col167 col168 col169 col170 col171 col172 col173 col174 col175
Warnings:
-Warning 1366 Incorrect decimal value: 'd' for column 'col24' at row 1
-Warning 1366 Incorrect decimal value: 'd' for column 'col24' at row 1
+Warning 1292 Truncated incorrect DOUBLE value: 'd'
+Warning 1292 Truncated incorrect DOUBLE value: 'd'
+Warning 1292 Truncated incorrect DOUBLE value: 'd'
+Warning 1292 Truncated incorrect DOUBLE value: 'd'
drop table `table5`;
diff --git a/mysql-test/suite/optimizer_unfixed_bugs/r/bug45221.result b/mysql-test/suite/optimizer_unfixed_bugs/r/bug45221.result
index 45e502ca5a4..92918959cda 100644
--- a/mysql-test/suite/optimizer_unfixed_bugs/r/bug45221.result
+++ b/mysql-test/suite/optimizer_unfixed_bugs/r/bug45221.result
@@ -1,4 +1,4 @@
-CREATE TABLE `CC` (
+CREATE TABLE `t2` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`int_key` int(11) DEFAULT NULL,
`date_nokey` date DEFAULT NULL,
@@ -7,8 +7,10 @@ PRIMARY KEY (`pk`),
KEY `int_key` (`int_key`),
KEY `varchar_key` (`int_key`)
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=latin1;
-INSERT INTO `CC` VALUES (10,8,NULL,'2002-02-26 06:14:37'),(11,9,'2006-06-14','1900-01-01 00:00:00'),(12,9,'2002-09-12','2006-12-03 09:37:26'),(13,186,'2005-02-15','2008-05-26 12:27:10'),(14,NULL,NULL,'2004-12-14 16:37:30'),(15,2,'2008-11-04','2003-02-11 21:19:41'),(16,3,'2004-09-04','2009-10-18 02:27:49'),(17,0,'2006-06-05','2000-09-26 07:45:57'),(18,133,'1900-01-01',NULL),(19,1,'1900-01-01','2005-11-10 12:40:29'),(20,8,'1900-01-01','2009-04-25 00:00:00'),(21,5,'2005-01-13','2002-11-27 00:00:00'),(22,5,'2006-05-21','2004-01-26 20:32:32'),(23,8,'2003-09-08','2007-10-26 11:41:40'),(24,6,'2006-12-23','2005-10-07 00:00:00'),(25,51,'2006-10-15','2000-07-15 05:00:34'),(26,4,'2005-04-06','2000-04-03 16:33:32'),(27,7,'2008-04-07',NULL),(28,6,'2006-10-10','2001-04-25 01:26:12'),(29,4,'1900-01-01','2000-12-27 00:00:00');
-CREATE TABLE `C` (
+Warnings:
+Note 1831 Duplicate index `varchar_key`. This is deprecated and will be disallowed in a future release.
+INSERT INTO `t2` VALUES (10,8,NULL,'2002-02-26 06:14:37'),(11,9,'2006-06-14','1900-01-01 00:00:00'),(12,9,'2002-09-12','2006-12-03 09:37:26'),(13,186,'2005-02-15','2008-05-26 12:27:10'),(14,NULL,NULL,'2004-12-14 16:37:30'),(15,2,'2008-11-04','2003-02-11 21:19:41'),(16,3,'2004-09-04','2009-10-18 02:27:49'),(17,0,'2006-06-05','2000-09-26 07:45:57'),(18,133,'1900-01-01',NULL),(19,1,'1900-01-01','2005-11-10 12:40:29'),(20,8,'1900-01-01','2009-04-25 00:00:00'),(21,5,'2005-01-13','2002-11-27 00:00:00'),(22,5,'2006-05-21','2004-01-26 20:32:32'),(23,8,'2003-09-08','2007-10-26 11:41:40'),(24,6,'2006-12-23','2005-10-07 00:00:00'),(25,51,'2006-10-15','2000-07-15 05:00:34'),(26,4,'2005-04-06','2000-04-03 16:33:32'),(27,7,'2008-04-07',NULL),(28,6,'2006-10-10','2001-04-25 01:26:12'),(29,4,'1900-01-01','2000-12-27 00:00:00');
+CREATE TABLE t1 (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`int_key` int(11) DEFAULT NULL,
`date_nokey` date DEFAULT NULL,
@@ -17,12 +19,14 @@ PRIMARY KEY (`pk`),
KEY `int_key` (`int_key`),
KEY `varchar_key` (`int_key`)
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
-INSERT INTO `C` VALUES (1,2,NULL,'2004-10-11 18:13:16'),(2,9,'2001-09-19',NULL),(3,3,'2004-09-12','1900-01-01 00:00:00'),(4,9,NULL,'2009-07-25 00:00:00'),(5,NULL,'2002-07-19',NULL),(6,9,'2002-12-16','2008-07-27 00:00:00'),(7,3,'2006-02-08','2002-11-13 16:37:31'),(8,8,'2006-08-28','1900-01-01 00:00:00'),(9,8,'2001-04-14','2003-12-10 00:00:00'),(10,53,'2000-01-05','2001-12-21 22:38:22'),(11,0,'2003-12-06','2008-12-13 23:16:44'),(12,5,'1900-01-01','2005-08-15 12:39:41'),(13,166,'2002-11-27',NULL),(14,3,NULL,'2006-09-11 12:06:14'),(15,0,'2003-05-27','2007-12-15 12:39:34'),(16,1,'2005-05-03','2005-08-09 00:00:00'),(17,9,'2001-04-18','2001-09-02 22:50:02'),(18,5,'2005-12-27','2005-12-16 22:58:11'),(19,6,'2004-08-20','2007-04-19 00:19:53'),(20,2,'1900-01-01','1900-01-01 00:00:00');
+Warnings:
+Note 1831 Duplicate index `varchar_key`. This is deprecated and will be disallowed in a future release.
+INSERT INTO t1 VALUES (1,2,NULL,'2004-10-11 18:13:16'),(2,9,'2001-09-19',NULL),(3,3,'2004-09-12','1900-01-01 00:00:00'),(4,9,NULL,'2009-07-25 00:00:00'),(5,NULL,'2002-07-19',NULL),(6,9,'2002-12-16','2008-07-27 00:00:00'),(7,3,'2006-02-08','2002-11-13 16:37:31'),(8,8,'2006-08-28','1900-01-01 00:00:00'),(9,8,'2001-04-14','2003-12-10 00:00:00'),(10,53,'2000-01-05','2001-12-21 22:38:22'),(11,0,'2003-12-06','2008-12-13 23:16:44'),(12,5,'1900-01-01','2005-08-15 12:39:41'),(13,166,'2002-11-27',NULL),(14,3,NULL,'2006-09-11 12:06:14'),(15,0,'2003-05-27','2007-12-15 12:39:34'),(16,1,'2005-05-03','2005-08-09 00:00:00'),(17,9,'2001-04-18','2001-09-02 22:50:02'),(18,5,'2005-12-27','2005-12-16 22:58:11'),(19,6,'2004-08-20','2007-04-19 00:19:53'),(20,2,'1900-01-01','1900-01-01 00:00:00');
SELECT `pk`
-FROM C OUTR
+FROM t1 OUTR
WHERE `pk` IN (
SELECT `int_key`
-FROM CC
+FROM t2
WHERE `date_nokey` < `datetime_nokey` XOR OUTR .`date_nokey` ) ;
pk
9
@@ -30,10 +34,10 @@ pk
5
6
SELECT `pk`
-FROM C
+FROM t1
WHERE `pk` IN (
SELECT `int_key`
-FROM CC
+FROM t2
WHERE `date_nokey` < `datetime_nokey` XOR '2009-11-25' ) ;
pk
2
@@ -58,9 +62,9 @@ Warning 1292 Truncated incorrect INTEGER value: '2009-11-25'
Warning 1292 Truncated incorrect INTEGER value: '2009-11-25'
Warning 1292 Truncated incorrect INTEGER value: '2009-11-25'
Warning 1292 Truncated incorrect INTEGER value: '2009-11-25'
-DROP TABLE CC;
-DROP TABLE C;
-CREATE TABLE `CC` (
+DROP TABLE t2;
+DROP TABLE t1;
+CREATE TABLE `t2` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`int_nokey` int(11) DEFAULT NULL,
`int_key` int(11) DEFAULT NULL,
@@ -72,8 +76,10 @@ KEY `int_key` (`int_key`),
KEY `datetime_key` (`datetime_key`),
KEY `varchar_key` (`int_key`)
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=latin1;
-INSERT INTO `CC` VALUES (10,7,8,NULL,'2002-02-26 06:14:37','2002-02-26 06:14:37'),(11,1,9,'2006-06-14','1900-01-01 00:00:00','1900-01-01 00:00:00'),(12,5,9,'2002-09-12','2006-12-03 09:37:26','2006-12-03 09:37:26'),(13,3,186,'2005-02-15','2008-05-26 12:27:10','2008-05-26 12:27:10'),(14,6,NULL,NULL,'2004-12-14 16:37:30','2004-12-14 16:37:30'),(15,92,2,'2008-11-04','2003-02-11 21:19:41','2003-02-11 21:19:41'),(16,7,3,'2004-09-04','2009-10-18 02:27:49','2009-10-18 02:27:49'),(17,NULL,0,'2006-06-05','2000-09-26 07:45:57','2000-09-26 07:45:57'),(18,3,133,'1900-01-01',NULL,NULL),(19,5,1,'1900-01-01','2005-11-10 12:40:29','2005-11-10 12:40:29'),(20,1,8,'1900-01-01','2009-04-25 00:00:00','2009-04-25 00:00:00'),(21,2,5,'2005-01-13','2002-11-27 00:00:00','2002-11-27 00:00:00'),(22,NULL,5,'2006-05-21','2004-01-26 20:32:32','2004-01-26 20:32:32'),(23,1,8,'2003-09-08','2007-10-26 11:41:40','2007-10-26 11:41:40'),(24,0,6,'2006-12-23','2005-10-07 00:00:00','2005-10-07 00:00:00'),(25,210,51,'2006-10-15','2000-07-15 05:00:34','2000-07-15 05:00:34'),(26,8,4,'2005-04-06','2000-04-03 16:33:32','2000-04-03 16:33:32'),(27,7,7,'2008-04-07',NULL,NULL),(28,5,6,'2006-10-10','2001-04-25 01:26:12','2001-04-25 01:26:12'),(29,NULL,4,'1900-01-01','2000-12-27 00:00:00','2000-12-27 00:00:00');
-CREATE TABLE `C` (
+Warnings:
+Note 1831 Duplicate index `varchar_key`. This is deprecated and will be disallowed in a future release.
+INSERT INTO `t2` VALUES (10,7,8,NULL,'2002-02-26 06:14:37','2002-02-26 06:14:37'),(11,1,9,'2006-06-14','1900-01-01 00:00:00','1900-01-01 00:00:00'),(12,5,9,'2002-09-12','2006-12-03 09:37:26','2006-12-03 09:37:26'),(13,3,186,'2005-02-15','2008-05-26 12:27:10','2008-05-26 12:27:10'),(14,6,NULL,NULL,'2004-12-14 16:37:30','2004-12-14 16:37:30'),(15,92,2,'2008-11-04','2003-02-11 21:19:41','2003-02-11 21:19:41'),(16,7,3,'2004-09-04','2009-10-18 02:27:49','2009-10-18 02:27:49'),(17,NULL,0,'2006-06-05','2000-09-26 07:45:57','2000-09-26 07:45:57'),(18,3,133,'1900-01-01',NULL,NULL),(19,5,1,'1900-01-01','2005-11-10 12:40:29','2005-11-10 12:40:29'),(20,1,8,'1900-01-01','2009-04-25 00:00:00','2009-04-25 00:00:00'),(21,2,5,'2005-01-13','2002-11-27 00:00:00','2002-11-27 00:00:00'),(22,NULL,5,'2006-05-21','2004-01-26 20:32:32','2004-01-26 20:32:32'),(23,1,8,'2003-09-08','2007-10-26 11:41:40','2007-10-26 11:41:40'),(24,0,6,'2006-12-23','2005-10-07 00:00:00','2005-10-07 00:00:00'),(25,210,51,'2006-10-15','2000-07-15 05:00:34','2000-07-15 05:00:34'),(26,8,4,'2005-04-06','2000-04-03 16:33:32','2000-04-03 16:33:32'),(27,7,7,'2008-04-07',NULL,NULL),(28,5,6,'2006-10-10','2001-04-25 01:26:12','2001-04-25 01:26:12'),(29,NULL,4,'1900-01-01','2000-12-27 00:00:00','2000-12-27 00:00:00');
+CREATE TABLE t1 (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`int_nokey` int(11) DEFAULT NULL,
`int_key` int(11) DEFAULT NULL,
@@ -85,16 +91,18 @@ KEY `int_key` (`int_key`),
KEY `datetime_key` (`datetime_key`),
KEY `varchar_key` (`int_key`)
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
-INSERT INTO `C` VALUES (1,NULL,2,NULL,'2004-10-11 18:13:16','2004-10-11 18:13:16'),(2,7,9,'2001-09-19',NULL,NULL),(3,9,3,'2004-09-12','1900-01-01 00:00:00','1900-01-01 00:00:00'),(4,7,9,NULL,'2009-07-25 00:00:00','2009-07-25 00:00:00'),(5,4,NULL,'2002-07-19',NULL,NULL),(6,2,9,'2002-12-16','2008-07-27 00:00:00','2008-07-27 00:00:00'),(7,6,3,'2006-02-08','2002-11-13 16:37:31','2002-11-13 16:37:31'),(8,8,8,'2006-08-28','1900-01-01 00:00:00','1900-01-01 00:00:00'),(9,NULL,8,'2001-04-14','2003-12-10 00:00:00','2003-12-10 00:00:00'),(10,5,53,'2000-01-05','2001-12-21 22:38:22','2001-12-21 22:38:22'),(11,NULL,0,'2003-12-06','2008-12-13 23:16:44','2008-12-13 23:16:44'),(12,6,5,'1900-01-01','2005-08-15 12:39:41','2005-08-15 12:39:41'),(13,188,166,'2002-11-27',NULL,NULL),(14,2,3,NULL,'2006-09-11 12:06:14','2006-09-11 12:06:14'),(15,1,0,'2003-05-27','2007-12-15 12:39:34','2007-12-15 12:39:34'),(16,1,1,'2005-05-03','2005-08-09 00:00:00','2005-08-09 00:00:00'),(17,0,9,'2001-04-18','2001-09-02 22:50:02','2001-09-02 22:50:02'),(18,9,5,'2005-12-27','2005-12-16 22:58:11','2005-12-16 22:58:11'),(19,NULL,6,'2004-08-20','2007-04-19 00:19:53','2007-04-19 00:19:53'),(20,4,2,'1900-01-01','1900-01-01 00:00:00','1900-01-01 00:00:00');
+Warnings:
+Note 1831 Duplicate index `varchar_key`. This is deprecated and will be disallowed in a future release.
+INSERT INTO t1 VALUES (1,NULL,2,NULL,'2004-10-11 18:13:16','2004-10-11 18:13:16'),(2,7,9,'2001-09-19',NULL,NULL),(3,9,3,'2004-09-12','1900-01-01 00:00:00','1900-01-01 00:00:00'),(4,7,9,NULL,'2009-07-25 00:00:00','2009-07-25 00:00:00'),(5,4,NULL,'2002-07-19',NULL,NULL),(6,2,9,'2002-12-16','2008-07-27 00:00:00','2008-07-27 00:00:00'),(7,6,3,'2006-02-08','2002-11-13 16:37:31','2002-11-13 16:37:31'),(8,8,8,'2006-08-28','1900-01-01 00:00:00','1900-01-01 00:00:00'),(9,NULL,8,'2001-04-14','2003-12-10 00:00:00','2003-12-10 00:00:00'),(10,5,53,'2000-01-05','2001-12-21 22:38:22','2001-12-21 22:38:22'),(11,NULL,0,'2003-12-06','2008-12-13 23:16:44','2008-12-13 23:16:44'),(12,6,5,'1900-01-01','2005-08-15 12:39:41','2005-08-15 12:39:41'),(13,188,166,'2002-11-27',NULL,NULL),(14,2,3,NULL,'2006-09-11 12:06:14','2006-09-11 12:06:14'),(15,1,0,'2003-05-27','2007-12-15 12:39:34','2007-12-15 12:39:34'),(16,1,1,'2005-05-03','2005-08-09 00:00:00','2005-08-09 00:00:00'),(17,0,9,'2001-04-18','2001-09-02 22:50:02','2001-09-02 22:50:02'),(18,9,5,'2005-12-27','2005-12-16 22:58:11','2005-12-16 22:58:11'),(19,NULL,6,'2004-08-20','2007-04-19 00:19:53','2007-04-19 00:19:53'),(20,4,2,'1900-01-01','1900-01-01 00:00:00','1900-01-01 00:00:00');
SELECT OUTR . `pk` AS X
-FROM C AS OUTR
+FROM t1 AS OUTR
WHERE OUTR . `pk` IN (
SELECT INNR . `int_key` AS Y
-FROM CC AS INNR
+FROM t2 AS INNR
WHERE INNR . `date_nokey` < INNR . `datetime_nokey` XOR OUTR . `date_nokey` BETWEEN '2004-07-10' AND '2009-11-25'
ORDER BY INNR . `int_nokey` ) AND ( OUTR . `datetime_key` BETWEEN '2000-05-25' AND '2004-08-07' OR OUTR . `datetime_nokey` = '2007-10-24' )
ORDER BY OUTR . `int_key` , OUTR . `pk`;
X
9
-DROP TABLE CC;
-DROP TABLE C;
+DROP TABLE t2;
+DROP TABLE t1;
diff --git a/mysql-test/suite/optimizer_unfixed_bugs/t/bug45221.test b/mysql-test/suite/optimizer_unfixed_bugs/t/bug45221.test
index aab93a72725..f8c6b9104fb 100644
--- a/mysql-test/suite/optimizer_unfixed_bugs/t/bug45221.test
+++ b/mysql-test/suite/optimizer_unfixed_bugs/t/bug45221.test
@@ -1,4 +1,4 @@
-# test for BUG#45221 "Query "SELECT pk FROM C WHERE pk IN (SELECT
+# test for BUG#45221 "Query "SELECT pk FROM t1 WHERE pk IN (SELECT
# int_key)" failing"
--source include/have_debug.inc
@@ -13,7 +13,7 @@
#/* Begin test case for query 0 */
-CREATE TABLE `CC` (
+CREATE TABLE `t2` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`int_key` int(11) DEFAULT NULL,
`date_nokey` date DEFAULT NULL,
@@ -22,8 +22,8 @@ CREATE TABLE `CC` (
KEY `int_key` (`int_key`),
KEY `varchar_key` (`int_key`)
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=latin1;
-INSERT INTO `CC` VALUES (10,8,NULL,'2002-02-26 06:14:37'),(11,9,'2006-06-14','1900-01-01 00:00:00'),(12,9,'2002-09-12','2006-12-03 09:37:26'),(13,186,'2005-02-15','2008-05-26 12:27:10'),(14,NULL,NULL,'2004-12-14 16:37:30'),(15,2,'2008-11-04','2003-02-11 21:19:41'),(16,3,'2004-09-04','2009-10-18 02:27:49'),(17,0,'2006-06-05','2000-09-26 07:45:57'),(18,133,'1900-01-01',NULL),(19,1,'1900-01-01','2005-11-10 12:40:29'),(20,8,'1900-01-01','2009-04-25 00:00:00'),(21,5,'2005-01-13','2002-11-27 00:00:00'),(22,5,'2006-05-21','2004-01-26 20:32:32'),(23,8,'2003-09-08','2007-10-26 11:41:40'),(24,6,'2006-12-23','2005-10-07 00:00:00'),(25,51,'2006-10-15','2000-07-15 05:00:34'),(26,4,'2005-04-06','2000-04-03 16:33:32'),(27,7,'2008-04-07',NULL),(28,6,'2006-10-10','2001-04-25 01:26:12'),(29,4,'1900-01-01','2000-12-27 00:00:00');
-CREATE TABLE `C` (
+INSERT INTO `t2` VALUES (10,8,NULL,'2002-02-26 06:14:37'),(11,9,'2006-06-14','1900-01-01 00:00:00'),(12,9,'2002-09-12','2006-12-03 09:37:26'),(13,186,'2005-02-15','2008-05-26 12:27:10'),(14,NULL,NULL,'2004-12-14 16:37:30'),(15,2,'2008-11-04','2003-02-11 21:19:41'),(16,3,'2004-09-04','2009-10-18 02:27:49'),(17,0,'2006-06-05','2000-09-26 07:45:57'),(18,133,'1900-01-01',NULL),(19,1,'1900-01-01','2005-11-10 12:40:29'),(20,8,'1900-01-01','2009-04-25 00:00:00'),(21,5,'2005-01-13','2002-11-27 00:00:00'),(22,5,'2006-05-21','2004-01-26 20:32:32'),(23,8,'2003-09-08','2007-10-26 11:41:40'),(24,6,'2006-12-23','2005-10-07 00:00:00'),(25,51,'2006-10-15','2000-07-15 05:00:34'),(26,4,'2005-04-06','2000-04-03 16:33:32'),(27,7,'2008-04-07',NULL),(28,6,'2006-10-10','2001-04-25 01:26:12'),(29,4,'1900-01-01','2000-12-27 00:00:00');
+CREATE TABLE t1 (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`int_key` int(11) DEFAULT NULL,
`date_nokey` date DEFAULT NULL,
@@ -32,29 +32,29 @@ CREATE TABLE `C` (
KEY `int_key` (`int_key`),
KEY `varchar_key` (`int_key`)
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
-INSERT INTO `C` VALUES (1,2,NULL,'2004-10-11 18:13:16'),(2,9,'2001-09-19',NULL),(3,3,'2004-09-12','1900-01-01 00:00:00'),(4,9,NULL,'2009-07-25 00:00:00'),(5,NULL,'2002-07-19',NULL),(6,9,'2002-12-16','2008-07-27 00:00:00'),(7,3,'2006-02-08','2002-11-13 16:37:31'),(8,8,'2006-08-28','1900-01-01 00:00:00'),(9,8,'2001-04-14','2003-12-10 00:00:00'),(10,53,'2000-01-05','2001-12-21 22:38:22'),(11,0,'2003-12-06','2008-12-13 23:16:44'),(12,5,'1900-01-01','2005-08-15 12:39:41'),(13,166,'2002-11-27',NULL),(14,3,NULL,'2006-09-11 12:06:14'),(15,0,'2003-05-27','2007-12-15 12:39:34'),(16,1,'2005-05-03','2005-08-09 00:00:00'),(17,9,'2001-04-18','2001-09-02 22:50:02'),(18,5,'2005-12-27','2005-12-16 22:58:11'),(19,6,'2004-08-20','2007-04-19 00:19:53'),(20,2,'1900-01-01','1900-01-01 00:00:00');
+INSERT INTO t1 VALUES (1,2,NULL,'2004-10-11 18:13:16'),(2,9,'2001-09-19',NULL),(3,3,'2004-09-12','1900-01-01 00:00:00'),(4,9,NULL,'2009-07-25 00:00:00'),(5,NULL,'2002-07-19',NULL),(6,9,'2002-12-16','2008-07-27 00:00:00'),(7,3,'2006-02-08','2002-11-13 16:37:31'),(8,8,'2006-08-28','1900-01-01 00:00:00'),(9,8,'2001-04-14','2003-12-10 00:00:00'),(10,53,'2000-01-05','2001-12-21 22:38:22'),(11,0,'2003-12-06','2008-12-13 23:16:44'),(12,5,'1900-01-01','2005-08-15 12:39:41'),(13,166,'2002-11-27',NULL),(14,3,NULL,'2006-09-11 12:06:14'),(15,0,'2003-05-27','2007-12-15 12:39:34'),(16,1,'2005-05-03','2005-08-09 00:00:00'),(17,9,'2001-04-18','2001-09-02 22:50:02'),(18,5,'2005-12-27','2005-12-16 22:58:11'),(19,6,'2004-08-20','2007-04-19 00:19:53'),(20,2,'1900-01-01','1900-01-01 00:00:00');
SELECT `pk`
-FROM C OUTR
+FROM t1 OUTR
WHERE `pk` IN (
SELECT `int_key`
-FROM CC
+FROM t2
WHERE `date_nokey` < `datetime_nokey` XOR OUTR .`date_nokey` ) ;
SELECT `pk`
-FROM C
+FROM t1
WHERE `pk` IN (
SELECT `int_key`
-FROM CC
+FROM t2
WHERE `date_nokey` < `datetime_nokey` XOR '2009-11-25' ) ;
-DROP TABLE CC;
-DROP TABLE C;
+DROP TABLE t2;
+DROP TABLE t1;
#/* End of test case for query 0 */
#/* Begin test case for query 1 */
-CREATE TABLE `CC` (
+CREATE TABLE `t2` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`int_nokey` int(11) DEFAULT NULL,
`int_key` int(11) DEFAULT NULL,
@@ -66,8 +66,8 @@ CREATE TABLE `CC` (
KEY `datetime_key` (`datetime_key`),
KEY `varchar_key` (`int_key`)
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=latin1;
-INSERT INTO `CC` VALUES (10,7,8,NULL,'2002-02-26 06:14:37','2002-02-26 06:14:37'),(11,1,9,'2006-06-14','1900-01-01 00:00:00','1900-01-01 00:00:00'),(12,5,9,'2002-09-12','2006-12-03 09:37:26','2006-12-03 09:37:26'),(13,3,186,'2005-02-15','2008-05-26 12:27:10','2008-05-26 12:27:10'),(14,6,NULL,NULL,'2004-12-14 16:37:30','2004-12-14 16:37:30'),(15,92,2,'2008-11-04','2003-02-11 21:19:41','2003-02-11 21:19:41'),(16,7,3,'2004-09-04','2009-10-18 02:27:49','2009-10-18 02:27:49'),(17,NULL,0,'2006-06-05','2000-09-26 07:45:57','2000-09-26 07:45:57'),(18,3,133,'1900-01-01',NULL,NULL),(19,5,1,'1900-01-01','2005-11-10 12:40:29','2005-11-10 12:40:29'),(20,1,8,'1900-01-01','2009-04-25 00:00:00','2009-04-25 00:00:00'),(21,2,5,'2005-01-13','2002-11-27 00:00:00','2002-11-27 00:00:00'),(22,NULL,5,'2006-05-21','2004-01-26 20:32:32','2004-01-26 20:32:32'),(23,1,8,'2003-09-08','2007-10-26 11:41:40','2007-10-26 11:41:40'),(24,0,6,'2006-12-23','2005-10-07 00:00:00','2005-10-07 00:00:00'),(25,210,51,'2006-10-15','2000-07-15 05:00:34','2000-07-15 05:00:34'),(26,8,4,'2005-04-06','2000-04-03 16:33:32','2000-04-03 16:33:32'),(27,7,7,'2008-04-07',NULL,NULL),(28,5,6,'2006-10-10','2001-04-25 01:26:12','2001-04-25 01:26:12'),(29,NULL,4,'1900-01-01','2000-12-27 00:00:00','2000-12-27 00:00:00');
-CREATE TABLE `C` (
+INSERT INTO `t2` VALUES (10,7,8,NULL,'2002-02-26 06:14:37','2002-02-26 06:14:37'),(11,1,9,'2006-06-14','1900-01-01 00:00:00','1900-01-01 00:00:00'),(12,5,9,'2002-09-12','2006-12-03 09:37:26','2006-12-03 09:37:26'),(13,3,186,'2005-02-15','2008-05-26 12:27:10','2008-05-26 12:27:10'),(14,6,NULL,NULL,'2004-12-14 16:37:30','2004-12-14 16:37:30'),(15,92,2,'2008-11-04','2003-02-11 21:19:41','2003-02-11 21:19:41'),(16,7,3,'2004-09-04','2009-10-18 02:27:49','2009-10-18 02:27:49'),(17,NULL,0,'2006-06-05','2000-09-26 07:45:57','2000-09-26 07:45:57'),(18,3,133,'1900-01-01',NULL,NULL),(19,5,1,'1900-01-01','2005-11-10 12:40:29','2005-11-10 12:40:29'),(20,1,8,'1900-01-01','2009-04-25 00:00:00','2009-04-25 00:00:00'),(21,2,5,'2005-01-13','2002-11-27 00:00:00','2002-11-27 00:00:00'),(22,NULL,5,'2006-05-21','2004-01-26 20:32:32','2004-01-26 20:32:32'),(23,1,8,'2003-09-08','2007-10-26 11:41:40','2007-10-26 11:41:40'),(24,0,6,'2006-12-23','2005-10-07 00:00:00','2005-10-07 00:00:00'),(25,210,51,'2006-10-15','2000-07-15 05:00:34','2000-07-15 05:00:34'),(26,8,4,'2005-04-06','2000-04-03 16:33:32','2000-04-03 16:33:32'),(27,7,7,'2008-04-07',NULL,NULL),(28,5,6,'2006-10-10','2001-04-25 01:26:12','2001-04-25 01:26:12'),(29,NULL,4,'1900-01-01','2000-12-27 00:00:00','2000-12-27 00:00:00');
+CREATE TABLE t1 (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`int_nokey` int(11) DEFAULT NULL,
`int_key` int(11) DEFAULT NULL,
@@ -79,19 +79,19 @@ CREATE TABLE `C` (
KEY `datetime_key` (`datetime_key`),
KEY `varchar_key` (`int_key`)
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
-INSERT INTO `C` VALUES (1,NULL,2,NULL,'2004-10-11 18:13:16','2004-10-11 18:13:16'),(2,7,9,'2001-09-19',NULL,NULL),(3,9,3,'2004-09-12','1900-01-01 00:00:00','1900-01-01 00:00:00'),(4,7,9,NULL,'2009-07-25 00:00:00','2009-07-25 00:00:00'),(5,4,NULL,'2002-07-19',NULL,NULL),(6,2,9,'2002-12-16','2008-07-27 00:00:00','2008-07-27 00:00:00'),(7,6,3,'2006-02-08','2002-11-13 16:37:31','2002-11-13 16:37:31'),(8,8,8,'2006-08-28','1900-01-01 00:00:00','1900-01-01 00:00:00'),(9,NULL,8,'2001-04-14','2003-12-10 00:00:00','2003-12-10 00:00:00'),(10,5,53,'2000-01-05','2001-12-21 22:38:22','2001-12-21 22:38:22'),(11,NULL,0,'2003-12-06','2008-12-13 23:16:44','2008-12-13 23:16:44'),(12,6,5,'1900-01-01','2005-08-15 12:39:41','2005-08-15 12:39:41'),(13,188,166,'2002-11-27',NULL,NULL),(14,2,3,NULL,'2006-09-11 12:06:14','2006-09-11 12:06:14'),(15,1,0,'2003-05-27','2007-12-15 12:39:34','2007-12-15 12:39:34'),(16,1,1,'2005-05-03','2005-08-09 00:00:00','2005-08-09 00:00:00'),(17,0,9,'2001-04-18','2001-09-02 22:50:02','2001-09-02 22:50:02'),(18,9,5,'2005-12-27','2005-12-16 22:58:11','2005-12-16 22:58:11'),(19,NULL,6,'2004-08-20','2007-04-19 00:19:53','2007-04-19 00:19:53'),(20,4,2,'1900-01-01','1900-01-01 00:00:00','1900-01-01 00:00:00');
+INSERT INTO t1 VALUES (1,NULL,2,NULL,'2004-10-11 18:13:16','2004-10-11 18:13:16'),(2,7,9,'2001-09-19',NULL,NULL),(3,9,3,'2004-09-12','1900-01-01 00:00:00','1900-01-01 00:00:00'),(4,7,9,NULL,'2009-07-25 00:00:00','2009-07-25 00:00:00'),(5,4,NULL,'2002-07-19',NULL,NULL),(6,2,9,'2002-12-16','2008-07-27 00:00:00','2008-07-27 00:00:00'),(7,6,3,'2006-02-08','2002-11-13 16:37:31','2002-11-13 16:37:31'),(8,8,8,'2006-08-28','1900-01-01 00:00:00','1900-01-01 00:00:00'),(9,NULL,8,'2001-04-14','2003-12-10 00:00:00','2003-12-10 00:00:00'),(10,5,53,'2000-01-05','2001-12-21 22:38:22','2001-12-21 22:38:22'),(11,NULL,0,'2003-12-06','2008-12-13 23:16:44','2008-12-13 23:16:44'),(12,6,5,'1900-01-01','2005-08-15 12:39:41','2005-08-15 12:39:41'),(13,188,166,'2002-11-27',NULL,NULL),(14,2,3,NULL,'2006-09-11 12:06:14','2006-09-11 12:06:14'),(15,1,0,'2003-05-27','2007-12-15 12:39:34','2007-12-15 12:39:34'),(16,1,1,'2005-05-03','2005-08-09 00:00:00','2005-08-09 00:00:00'),(17,0,9,'2001-04-18','2001-09-02 22:50:02','2001-09-02 22:50:02'),(18,9,5,'2005-12-27','2005-12-16 22:58:11','2005-12-16 22:58:11'),(19,NULL,6,'2004-08-20','2007-04-19 00:19:53','2007-04-19 00:19:53'),(20,4,2,'1900-01-01','1900-01-01 00:00:00','1900-01-01 00:00:00');
SELECT OUTR . `pk` AS X
-FROM C AS OUTR
+FROM t1 AS OUTR
WHERE OUTR . `pk` IN (
SELECT INNR . `int_key` AS Y
-FROM CC AS INNR
+FROM t2 AS INNR
WHERE INNR . `date_nokey` < INNR . `datetime_nokey` XOR OUTR . `date_nokey` BETWEEN '2004-07-10' AND '2009-11-25'
ORDER BY INNR . `int_nokey` ) AND ( OUTR . `datetime_key` BETWEEN '2000-05-25' AND '2004-08-07' OR OUTR . `datetime_nokey` = '2007-10-24' )
ORDER BY OUTR . `int_key` , OUTR . `pk`;
-DROP TABLE CC;
-DROP TABLE C;
+DROP TABLE t2;
+DROP TABLE t1;
#/* End of test case for query 1 */
diff --git a/mysql-test/suite/oqgraph/r/basic.result b/mysql-test/suite/oqgraph/r/basic.result
deleted file mode 100644
index e90659c0986..00000000000
--- a/mysql-test/suite/oqgraph/r/basic.result
+++ /dev/null
@@ -1,63 +0,0 @@
-drop table if exists graph;
-Warnings:
-Note 1051 Unknown table 'graph'
-CREATE TABLE graph (
-latch SMALLINT UNSIGNED NULL,
-origid BIGINT UNSIGNED NULL,
-destid BIGINT UNSIGNED NULL,
-weight DOUBLE NULL,
-seq BIGINT UNSIGNED NULL,
-linkid BIGINT UNSIGNED NULL,
-KEY (latch, origid, destid) USING HASH,
-KEY (latch, destid, origid) USING HASH
-) ENGINE=OQGRAPH;
-delete from graph;
-insert into graph(origid, destid) values (1,2), (2,1);
-insert into graph(origid, destid) values (1,3), (3,1);
-insert into graph(origid, destid) values (3,4), (4,3);
-insert into graph(origid, destid) values (3,5), (5,3);
-insert into graph(origid, destid) values (5,6), (6,5);
-select * from graph where latch = 2 and origid = 1 and weight = 1;
-latch origid destid weight seq linkid
-2 1 NULL 1 3 3
-2 1 NULL 1 2 2
-select * from graph where latch = 2 and origid = 1 and weight = 2;
-latch origid destid weight seq linkid
-2 1 NULL 2 5 5
-2 1 NULL 2 4 4
-select * from graph
-where latch = 2 and origid = 1 and (weight = 1 or weight = 2);
-latch origid destid weight seq linkid
-2 1 NULL 2 5 5
-2 1 NULL 2 4 4
-2 1 NULL 1 3 3
-2 1 NULL 1 2 2
-select * from graph where latch=1 and origid=1 and destid=6;
-latch origid destid weight seq linkid
-1 1 6 NULL 0 1
-1 1 6 1 1 3
-1 1 6 1 2 5
-1 1 6 1 3 6
-select * from graph where latch=1 and origid=1 and destid=4;
-latch origid destid weight seq linkid
-1 1 4 NULL 0 1
-1 1 4 1 1 3
-1 1 4 1 2 4
-select * from graph where latch=1 and origid=4 and destid=1;
-latch origid destid weight seq linkid
-1 4 1 NULL 0 4
-1 4 1 1 1 3
-1 4 1 1 2 1
-insert into graph (origid,destid) values (4,6);
-delete from graph where origid=5;
-delete from graph where origid=3 and destid=5;
-select * from graph where latch=1 and origid=1 and destid=6;
-latch origid destid weight seq linkid
-1 1 6 NULL 0 1
-1 1 6 1 1 3
-1 1 6 1 2 4
-1 1 6 1 3 6
-select * from graph where latch=1 and origid=6 and destid=1;
-latch origid destid weight seq linkid
-truncate table graph;
-drop table graph;
diff --git a/mysql-test/suite/oqgraph/r/binlog.result b/mysql-test/suite/oqgraph/r/binlog.result
deleted file mode 100644
index ee0a8c081f4..00000000000
--- a/mysql-test/suite/oqgraph/r/binlog.result
+++ /dev/null
@@ -1,18 +0,0 @@
-drop table if exists graph;
-CREATE TABLE graph (
-latch SMALLINT UNSIGNED NULL,
-origid BIGINT UNSIGNED NULL,
-destid BIGINT UNSIGNED NULL,
-weight DOUBLE NULL,
-seq BIGINT UNSIGNED NULL,
-linkid BIGINT UNSIGNED NULL,
-KEY (latch, origid, destid) USING HASH,
-KEY (latch, destid, origid) USING HASH
-) ENGINE=OQGRAPH;
-SET binlog_format = row;
-insert into graph(origid, destid) values (1,3), (3,1);
-SET binlog_format = statement;
-insert into graph(origid, destid) values (3,4), (4,3);
-SET binlog_format = mixed;
-insert into graph(origid, destid) values (3,5), (5,3);
-drop table graph;
diff --git a/mysql-test/suite/oqgraph/suite.opt b/mysql-test/suite/oqgraph/suite.opt
deleted file mode 100644
index c41e40b894d..00000000000
--- a/mysql-test/suite/oqgraph/suite.opt
+++ /dev/null
@@ -1 +0,0 @@
---plugin-load=$HA_OQGRAPH_SO --enable-oqgraph
diff --git a/mysql-test/suite/oqgraph/suite.pm b/mysql-test/suite/oqgraph/suite.pm
deleted file mode 100644
index 4e98aa9757c..00000000000
--- a/mysql-test/suite/oqgraph/suite.pm
+++ /dev/null
@@ -1,9 +0,0 @@
-package My::Suite::OQGraph;
-
-@ISA = qw(My::Suite);
-
-return "No OQGraph" unless $ENV{HA_OQGRAPH_SO} or
- $::mysqld_variables{'oqgraph'} eq "ON";
-
-bless { };
-
diff --git a/mysql-test/suite/oqgraph/t/basic.test b/mysql-test/suite/oqgraph/t/basic.test
deleted file mode 100644
index 731f07c0eeb..00000000000
--- a/mysql-test/suite/oqgraph/t/basic.test
+++ /dev/null
@@ -1,43 +0,0 @@
-drop table if exists graph;
-
-CREATE TABLE graph (
- latch SMALLINT UNSIGNED NULL,
- origid BIGINT UNSIGNED NULL,
- destid BIGINT UNSIGNED NULL,
- weight DOUBLE NULL,
- seq BIGINT UNSIGNED NULL,
- linkid BIGINT UNSIGNED NULL,
- KEY (latch, origid, destid) USING HASH,
- KEY (latch, destid, origid) USING HASH
- ) ENGINE=OQGRAPH;
-
-delete from graph;
-
-insert into graph(origid, destid) values (1,2), (2,1);
-insert into graph(origid, destid) values (1,3), (3,1);
-insert into graph(origid, destid) values (3,4), (4,3);
-insert into graph(origid, destid) values (3,5), (5,3);
-insert into graph(origid, destid) values (5,6), (6,5);
-
-select * from graph where latch = 2 and origid = 1 and weight = 1;
-
-select * from graph where latch = 2 and origid = 1 and weight = 2;
-
-select * from graph
-where latch = 2 and origid = 1 and (weight = 1 or weight = 2);
-
-select * from graph where latch=1 and origid=1 and destid=6;
-select * from graph where latch=1 and origid=1 and destid=4;
-select * from graph where latch=1 and origid=4 and destid=1;
-
-insert into graph (origid,destid) values (4,6);
-
-delete from graph where origid=5;
-delete from graph where origid=3 and destid=5;
-
-select * from graph where latch=1 and origid=1 and destid=6;
-select * from graph where latch=1 and origid=6 and destid=1;
-
-truncate table graph;
-
-drop table graph;
diff --git a/mysql-test/suite/oqgraph/t/binlog.test b/mysql-test/suite/oqgraph/t/binlog.test
deleted file mode 100644
index 7b3b6bdb8a9..00000000000
--- a/mysql-test/suite/oqgraph/t/binlog.test
+++ /dev/null
@@ -1,27 +0,0 @@
--- source include/have_log_bin.inc
-
---disable_warnings
-drop table if exists graph;
---enable_warnings
-
-CREATE TABLE graph (
- latch SMALLINT UNSIGNED NULL,
- origid BIGINT UNSIGNED NULL,
- destid BIGINT UNSIGNED NULL,
- weight DOUBLE NULL,
- seq BIGINT UNSIGNED NULL,
- linkid BIGINT UNSIGNED NULL,
- KEY (latch, origid, destid) USING HASH,
- KEY (latch, destid, origid) USING HASH
- ) ENGINE=OQGRAPH;
-
-# MBug#524625: OQGraph error with binary logging enabled
-# Test that OQGraph works with different binlogging modes.
-SET binlog_format = row;
-insert into graph(origid, destid) values (1,3), (3,1);
-SET binlog_format = statement;
-insert into graph(origid, destid) values (3,4), (4,3);
-SET binlog_format = mixed;
-insert into graph(origid, destid) values (3,5), (5,3);
-
-drop table graph;
diff --git a/mysql-test/suite/parts/disabled.def b/mysql-test/suite/parts/disabled.def
index 96592e78911..abbdbf7f044 100644
--- a/mysql-test/suite/parts/disabled.def
+++ b/mysql-test/suite/parts/disabled.def
@@ -11,3 +11,7 @@
##############################################################################
partition_value_myisam : CAST() in partitioning function is currently not supported
partition_value_innodb : CAST() in partitioning function is currently not supported
+parts.partition_mgm_lc1_archive : MDEV-5077 2013-09-27 svoj Cannot exchange partition with archive table
+parts.partition_exchange_archive: MDEV-5077 2013-09-27 svoj Cannot exchange partition with archive table
+parts.partition_mgm_lc0_archive : MDEV-5077 2013-09-27 svoj Cannot exchange partition with archive table
+parts.partition_mgm_lc2_archive : MDEV-5077 2013-09-27 svoj Cannot exchange partition with archive table
diff --git a/mysql-test/suite/parts/inc/part_alter_values.inc b/mysql-test/suite/parts/inc/part_alter_values.inc
index f56d81d8930..ac69169a9ca 100644
--- a/mysql-test/suite/parts/inc/part_alter_values.inc
+++ b/mysql-test/suite/parts/inc/part_alter_values.inc
@@ -1,4 +1,17 @@
--echo #
+--echo # MDEV-14641 Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine
+--echo #
+
+--eval CREATE TABLE t1 (i INT) ENGINE=$engine PARTITION BY LIST(i) (PARTITION p0 VALUES IN (1), PARTITION p1 VALUES IN (2));
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DROP PARTITION p1;
+SELECT * FROM t1;
+
+# Cleanup
+DROP TABLE t1;
+
+
+--echo #
--echo # MDEV-13788 Server crash when issuing bad SQL partition syntax
--echo #
@@ -22,3 +35,13 @@ ALTER TABLE t1 REORGANIZE PARTITION p1 INTO
PARTITION p3 VALUES IN (4,5,6)
);
DROP TABLE t1;
+
+#
+# MDEV-15456 Server crashes upon adding or dropping a partition in ALTER under LOCK TABLE after ER_SAME_NAME_PARTITION
+#
+--eval create table t1 (i int) engine=$engine partition by range(i) (partition p0 values less than (10))
+lock table t1 write;
+--error ER_SAME_NAME_PARTITION
+alter table t1 add partition (partition p0 values less than (20));
+alter table t1 add partition (partition p1 values less than (20)) /* comment */;
+drop table t1;
diff --git a/mysql-test/suite/parts/inc/part_exch_drop_tabs.inc b/mysql-test/suite/parts/inc/part_exch_drop_tabs.inc
new file mode 100644
index 00000000000..7d6441b15ad
--- /dev/null
+++ b/mysql-test/suite/parts/inc/part_exch_drop_tabs.inc
@@ -0,0 +1,12 @@
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/inc/part_exch_qa.inc b/mysql-test/suite/parts/inc/part_exch_qa.inc
new file mode 100644
index 00000000000..1f5329a53ab
--- /dev/null
+++ b/mysql-test/suite/parts/inc/part_exch_qa.inc
@@ -0,0 +1,148 @@
+use test;
+
+--disable_result_log
+--disable_query_log
+--source suite/parts/inc/part_exch_tabs.inc
+--enable_result_log
+--enable_query_log
+
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM t_100;
+--sorted_result
+SELECT * FROM t_1000;
+--sorted_result
+SELECT * FROM tp;
+--sorted_result
+SELECT * FROM tsp;
+--sorted_result
+SELECT * FROM tsp_00;
+--sorted_result
+SELECT * FROM tsp_01;
+--sorted_result
+SELECT * FROM tsp_02;
+--sorted_result
+SELECT * FROM tsp_03;
+--sorted_result
+SELECT * FROM tsp_04;
+
+# 1) Valid exchange with partitions.
+# exchange of values < 10 of tp to t and complete contents of t to p0 and back.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+# Back to the former contents.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+
+# Exchange with empty table.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
+--sorted_result
+SELECT * FROM t_empty;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+# Back to the former contents.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
+--sorted_result
+SELECT * FROM t_empty;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+
+# Exchange with null table.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
+--sorted_result
+SELECT * FROM t_null;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+# Back to the former contents.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
+--sorted_result
+SELECT * FROM t_null;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+
+# exchange of values < 100 of tp to t and complete contents of t to p1 and back.
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+--sorted_result
+SELECT * FROM t_100;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
+# Back to the former contents.
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+--sorted_result
+SELECT * FROM t_100;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
+
+# exchange of values < 1000 of tp to t and complete contents of t to p2 and back.
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
+--sorted_result
+SELECT * FROM t_1000;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
+# Back to the former contents.
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
+--sorted_result
+SELECT * FROM t_1000;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
+
+# 2) Valid exchange of subpartitions.
+# exchange of values < 10 of tsp to t and complete contents of t to p0 and back.
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
+ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
+--sorted_result
+SELECT * FROM tsp_00;
+--sorted_result
+SELECT * FROM tsp_01;
+--sorted_result
+SELECT * FROM tsp_02;
+--sorted_result
+SELECT * FROM tsp_03;
+--sorted_result
+SELECT * FROM tsp_04;
+--sorted_result
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+# Back to the former contents.
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
+ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
+--sorted_result
+SELECT * FROM tsp_00;
+--sorted_result
+SELECT * FROM tsp_01;
+--sorted_result
+SELECT * FROM tsp_02;
+--sorted_result
+SELECT * FROM tsp_03;
+--sorted_result
+SELECT * FROM tsp_04;
+--sorted_result
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+
+# Exchange with null table.
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
+--sorted_result
+SELECT * FROM t_null;
+--sorted_result
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+# Back to the former contents.
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
+--sorted_result
+SELECT * FROM t_null;
+--sorted_result
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+
+--source suite/parts/inc/part_exch_drop_tabs.inc
+
diff --git a/mysql-test/suite/parts/inc/part_exch_qa_1.inc b/mysql-test/suite/parts/inc/part_exch_qa_1.inc
new file mode 100644
index 00000000000..d790f29af6c
--- /dev/null
+++ b/mysql-test/suite/parts/inc/part_exch_qa_1.inc
@@ -0,0 +1,62 @@
+use test;
+
+--disable_result_log
+--disable_query_log
+--source suite/parts/inc/part_exch_tabs.inc
+--enable_result_log
+--enable_query_log
+
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM t_100;
+--sorted_result
+SELECT * FROM t_1000;
+--sorted_result
+SELECT * FROM tp;
+--sorted_result
+SELECT * FROM tsp;
+--sorted_result
+SELECT * FROM tsp_00;
+--sorted_result
+SELECT * FROM tsp_01;
+--sorted_result
+SELECT * FROM tsp_02;
+--sorted_result
+SELECT * FROM tsp_03;
+--sorted_result
+SELECT * FROM tsp_04;
+
+# 13) Exchanges with indexes.
+# IGNORE was removed in bug#57708.
+CREATE INDEX id_t_10_b USING BTREE ON t_10 (b);
+--error ER_TABLES_DIFFERENT_METADATA
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+#--error ER_TABLES_DIFFERENT_METADATA
+#ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10 IGNORE;
+CREATE INDEX id_tp_b USING BTREE ON tp (b);
+--error ER_TABLES_DIFFERENT_METADATA
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+#--error ER_TABLES_DIFFERENT_METADATA
+#ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10 IGNORE;
+DROP INDEX id_t_10_b ON t_10;
+DROP INDEX id_tp_b ON tp;
+ALTER TABLE t_10 ADD UNIQUE INDEX USING BTREE (a);
+--error ER_TABLES_DIFFERENT_METADATA
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+#--error ER_TABLES_DIFFERENT_METADATA
+#ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10 IGNORE;
+ALTER TABLE tp ADD UNIQUE INDEX USING BTREE (a);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+show create table t_10;
+show create table tp ;
+ALTER TABLE tp DROP INDEX a;
+ALTER TABLE t_10 DROP INDEX a;
+ALTER TABLE tp ADD UNIQUE INDEX USING BTREE (a,b);
+ALTER TABLE t_10 ADD UNIQUE INDEX USING BTREE (a,b);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+show create table t_10;
+show create table tp ;
+
+--source suite/parts/inc/part_exch_drop_tabs.inc
+
diff --git a/mysql-test/suite/parts/inc/part_exch_qa_13.inc b/mysql-test/suite/parts/inc/part_exch_qa_13.inc
new file mode 100644
index 00000000000..aba75d22b26
--- /dev/null
+++ b/mysql-test/suite/parts/inc/part_exch_qa_13.inc
@@ -0,0 +1,202 @@
+# Author: Horst Hunger
+# Created: 2010-07-13
+
+use test;
+
+--disable_result_log
+--disable_query_log
+--disable_warnings
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+--enable_warnings
+
+eval CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a))
+CHECKSUM= 1,
+ENGINE = $engine_table;
+
+eval CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a))
+COMMENT= 'comment',
+ENGINE = $engine_table;
+
+eval CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a))
+MIN_ROWS= 1,
+MAX_ROWS= 2000,
+ENGINE = $engine_table;
+
+eval CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a))
+ENGINE = $engine_table;
+
+eval CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a))
+ENGINE = $engine_table;
+
+eval CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a))
+CHECKSUM= 1,
+ENGINE = $engine_part
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN (100),
+ PARTITION p2 VALUES LESS THAN (1000));
+
+eval CREATE TABLE tp1 (a INT, b VARCHAR(55), PRIMARY KEY (a))
+ENGINE = $engine_part
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) MAX_ROWS=2000 MIN_ROWS=1,
+ PARTITION p1 VALUES LESS THAN (100) MAX_ROWS=2000 MIN_ROWS=1,
+ PARTITION p2 VALUES LESS THAN (1000) MAX_ROWS=2000 MIN_ROWS=1
+);
+
+eval CREATE TABLE tsp (a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+COMMENT= 'comment',
+ENGINE = $engine_subpart
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10)
+ (SUBPARTITION sp00 MAX_ROWS=2000 MIN_ROWS=1,
+ SUBPARTITION sp01 MAX_ROWS=2000 MIN_ROWS=1,
+ SUBPARTITION sp02 MAX_ROWS=2000 MIN_ROWS=1,
+ SUBPARTITION sp03 MAX_ROWS=2000 MIN_ROWS=1,
+ SUBPARTITION sp04 MAX_ROWS=2000 MIN_ROWS=1),
+ PARTITION p1 VALUES LESS THAN (100)
+ (SUBPARTITION sp10,
+ SUBPARTITION sp11,
+ SUBPARTITION sp12,
+ SUBPARTITION sp13,
+ SUBPARTITION sp14),
+ PARTITION p2 VALUES LESS THAN (1000)
+ (SUBPARTITION sp20,
+ SUBPARTITION sp21,
+ SUBPARTITION sp22,
+ SUBPARTITION sp23,
+ SUBPARTITION sp24));
+
+# Values t_10 (not partitioned)
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+
+# Values t_100 (not partitioned)
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+
+# Values t_1000 (not partitioned)
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+
+# Values t_null (not partitioned)
+INSERT INTO t_null VALUES (1, "NULL");
+
+# Values tp (partitions)
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+
+# Values tp1 (partitions)
+INSERT INTO tp1 VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp1 VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp1 VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp1 VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp1 VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp1 VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+
+# Values tps (subpartitions)
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+
+eval CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+eval CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+eval CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table,
+ MAX_ROWS=2000, MIN_ROWS=1
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+eval CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+eval CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+
+SHOW CREATE TABLE t_100;
+SHOW CREATE TABLE t_1000;
+SHOW CREATE TABLE tp;
+SHOW CREATE TABLE tsp;
+
+--enable_result_log
+--enable_query_log
+
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM t_100;
+--sorted_result
+SELECT * FROM t_1000;
+--sorted_result
+SELECT * FROM tp;
+--sorted_result
+SELECT * FROM tsp;
+--sorted_result
+SELECT * FROM tsp_00;
+--sorted_result
+SELECT * FROM tsp_01;
+--sorted_result
+SELECT * FROM tsp_02;
+--sorted_result
+SELECT * FROM tsp_03;
+--sorted_result
+SELECT * FROM tsp_04;
+
+# 13) Exchanges with different table options.
+# See bug#55944 to change the IGNORE
+# IGNORE was removed in bug#57708.
+INSERT INTO t_10 VALUES (10, "TEN");
+--error ER_ROW_DOES_NOT_MATCH_PARTITION
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--sorted_result
+SELECT * FROM tp WHERE a < 11;
+--sorted_result
+SELECT * FROM t_10 WHERE a < 11;
+#ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10 IGNORE;
+#--sorted_result
+#SELECT * FROM tp WHERE a < 11;
+#--sorted_result
+#SELECT * FROM t_10 WHERE a < 11;
+INSERT INTO t_1000 VALUES (99, "Ninetynine");
+--error ER_ROW_DOES_NOT_MATCH_PARTITION
+ALTER TABLE tp1 EXCHANGE PARTITION p2 WITH TABLE t_1000;
+--sorted_result
+SELECT * FROM tp1 WHERE a < 1000 AND a > 98;
+--sorted_result
+SELECT * FROM t_1000 WHERE a < 1000 AND a > 98;
+#ALTER TABLE tp1 EXCHANGE PARTITION p2 WITH TABLE t_1000 IGNORE;
+#--sorted_result
+#SELECT * FROM tp1 WHERE a < 1000 AND a > 98;
+#--sorted_result
+#SELECT * FROM t_1000 WHERE a < 1000 AND a > 98;
+INSERT INTO tsp_03 VALUES (20, "Twenty");
+--error ER_ROW_DOES_NOT_MATCH_PARTITION
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+--sorted_result
+SELECT * FROM tsp;
+--sorted_result
+SELECT * FROM tsp_03;
+#ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03 IGNORE;
+#--sorted_result
+#SELECT * FROM tsp;
+#--sorted_result
+#SELECT * FROM tsp_03;
+
+DROP TABLE tp1;
+--source suite/parts/inc/part_exch_drop_tabs.inc
+
diff --git a/mysql-test/suite/parts/inc/part_exch_qa_4.inc b/mysql-test/suite/parts/inc/part_exch_qa_4.inc
new file mode 100644
index 00000000000..d1de0298516
--- /dev/null
+++ b/mysql-test/suite/parts/inc/part_exch_qa_4.inc
@@ -0,0 +1,45 @@
+CREATE DATABASE test_2;
+
+USE test;
+--disable_result_log
+--disable_query_log
+--source suite/parts/inc/part_exch_tabs.inc
+
+USE test_2;
+--source suite/parts/inc/part_exch_tabs.inc
+
+--enable_result_log
+--enable_query_log
+
+USE test;
+# 10) Exchanges with different databases.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE test_2.t_10;
+--sorted_result
+SELECT * FROM test_2.t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+# Back to former values.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE test_2.t_10;
+--sorted_result
+SELECT * FROM test_2.t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE test_2.tsp_00;
+--sorted_result
+SELECT * FROM test_2.tsp_00;
+--sorted_result
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+# Back to former values.
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE test_2.tsp_00;
+--sorted_result
+SELECT * FROM test_2.tsp_00;
+--sorted_result
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+
+--source suite/parts/inc/part_exch_drop_tabs.inc
+USE test_2;
+--source suite/parts/inc/part_exch_drop_tabs.inc
+USE test;
+
+DROP DATABASE test_2;
+
diff --git a/mysql-test/suite/parts/inc/part_exch_qa_5.inc b/mysql-test/suite/parts/inc/part_exch_qa_5.inc
new file mode 100644
index 00000000000..1ad28df5f8c
--- /dev/null
+++ b/mysql-test/suite/parts/inc/part_exch_qa_5.inc
@@ -0,0 +1,89 @@
+--source include/not_embedded.inc
+
+CREATE USER test1@localhost;
+CREATE USER test2@localhost;
+GRANT USAGE ON *.* TO test1@localhost;
+GRANT USAGE ON *.* TO test2@localhost;
+GRANT CREATE, DROP, INSERT, SELECT ON test.* TO test1@localhost;
+GRANT CREATE, DROP, ALTER, UPDATE, INSERT, SELECT ON test.* TO test2@localhost;
+
+--echo connect (test1,localhost,test1,,test,MASTER_MYPORT,MASTER_MYSOCK);
+connect (test1,localhost,test1,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+SELECT current_user();
+SHOW GRANTS FOR CURRENT_USER;
+--disable_result_log
+--disable_query_log
+--source suite/parts/inc/part_exch_tabs.inc
+--enable_result_log
+--enable_query_log
+--error ER_TABLEACCESS_DENIED_ERROR
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--echo disconnect test1;
+disconnect test1;
+
+
+--echo connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+USE test;
+SELECT current_user();
+SHOW GRANTS FOR CURRENT_USER;
+
+# 9) Exchanges with different owner.
+# Privilege for ALTER and SELECT
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+# Back to former values.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+--sorted_result
+SELECT * FROM tsp_00;
+--sorted_result
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+# Back to former values.
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+--sorted_result
+SELECT * FROM tsp_00;
+--sorted_result
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+--echo disconnect test2;
+disconnect test2;
+
+--echo connection default;
+connection default;
+REVOKE ALTER ON test.* FROM test2@localhost;
+
+--echo connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+USE test;
+SELECT current_user();
+SHOW GRANTS FOR CURRENT_USER;
+# Privilege for ALTER and SELECT
+--error ER_TABLEACCESS_DENIED_ERROR
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+# Back to former values.
+--error ER_TABLEACCESS_DENIED_ERROR
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--error ER_TABLEACCESS_DENIED_ERROR
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+# Back to former values.
+--error ER_TABLEACCESS_DENIED_ERROR
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+
+--echo connection default;
+connection default;
+--echo disconnect test2;
+disconnect test2;
+
+--source suite/parts/inc/part_exch_drop_tabs.inc
+
+DROP USER test1@localhost;
+DROP USER test2@localhost;
+
diff --git a/mysql-test/suite/parts/inc/part_exch_qa_7.inc b/mysql-test/suite/parts/inc/part_exch_qa_7.inc
new file mode 100644
index 00000000000..d8809902d51
--- /dev/null
+++ b/mysql-test/suite/parts/inc/part_exch_qa_7.inc
@@ -0,0 +1,63 @@
+CREATE USER test_2@localhost;
+
+--source include/not_embedded.inc
+--disable_result_log
+--disable_query_log
+--source suite/parts/inc/part_exch_tabs.inc
+--enable_result_log
+--enable_query_log
+
+# 8) Exchanges partition and table and back in 2 sessions with an insert.
+# Parallel INSERT and SELECT
+# LOCK behaviour when exchanging different partitons.
+--echo send
+--send
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+
+--echo connect (test_2,localhost,test_2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+connect (test_2,localhost,test_2,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+# Wait until exchange has been done.
+let $wait_condition= SELECT count(a)>0 FROM tp WHERE a=1;
+--source include/wait_condition.inc
+# Expect 1,3,5,9 in tp and 2,4,6,8 in t_10
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+# Exchange back.
+INSERT INTO tp VALUES (7,"Seven");
+# Expect 2,4,6,8 in tp
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+
+--echo connection default;
+connection default;
+--echo reap;
+reap;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+
+--echo connection test_2;
+connection test_2;
+let $wait_condition= SELECT count(a)>0 FROM tp WHERE a=2;
+--source include/wait_condition.inc
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+--echo disconnect test_2;
+disconnect test_2;
+
+--echo connection default;
+connection default;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+--source suite/parts/inc/part_exch_drop_tabs.inc
+
+DROP USER test_2@localhost;
+
diff --git a/mysql-test/suite/parts/inc/part_exch_qa_8.inc b/mysql-test/suite/parts/inc/part_exch_qa_8.inc
new file mode 100644
index 00000000000..af0b5a9c6cd
--- /dev/null
+++ b/mysql-test/suite/parts/inc/part_exch_qa_8.inc
@@ -0,0 +1,71 @@
+CREATE USER test2@localhost;
+
+--source include/not_embedded.inc
+--disable_result_log
+--disable_query_log
+--source suite/parts/inc/part_exch_tabs.inc
+--enable_result_log
+--enable_query_log
+
+CREATE DATABASE testdb;
+USE testdb;
+--disable_result_log
+--disable_query_log
+--source suite/parts/inc/part_exch_tabs.inc
+--enable_result_log
+--enable_query_log
+
+USE test;
+GRANT CREATE, ALTER, DROP, INSERT, SELECT on test.* TO test2@localhost;
+GRANT CREATE, ALTER, DROP, INSERT, SELECT on testdb.* TO test2@localhost;
+
+# 8) Exchanges partition and table and back in 2 sessions with 2 databases.
+--echo connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+# Privileges on both DB's
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE testdb.t_10;
+--sorted_result
+SELECT * FROM testdb.t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+# Exchange back.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE testdb.t_10;
+--sorted_result
+SELECT * FROM testdb.t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+
+ALTER TABLE testdb.tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM testdb.tp WHERE a BETWEEN 0 AND 10;
+# Exchange back.
+ALTER TABLE testdb.tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM testdb.tp WHERE a BETWEEN 0 AND 10;
+--echo disconnect test2;
+disconnect test2;
+
+--echo connection default;
+connection default;
+REVOKE INSERT ON testdb.* FROM test2@localhost;
+
+--echo connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+--error ER_TABLEACCESS_DENIED_ERROR
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE testdb.t_10;
+--error ER_TABLEACCESS_DENIED_ERROR
+ALTER TABLE testdb.tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+--echo disconnect test2;
+disconnect test2;
+
+--echo connection default;
+connection default;
+--source suite/parts/inc/part_exch_drop_tabs.inc
+
+DROP USER test2@localhost;
+DROP DATABASE testdb;
+
diff --git a/mysql-test/suite/parts/inc/part_exch_tabs.inc b/mysql-test/suite/parts/inc/part_exch_tabs.inc
new file mode 100644
index 00000000000..482c9d378e7
--- /dev/null
+++ b/mysql-test/suite/parts/inc/part_exch_tabs.inc
@@ -0,0 +1,86 @@
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) $data_directory $index_directory ENGINE = $engine_table;
+
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) $data_directory $index_directory ENGINE = $engine_table;
+
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) $data_directory $index_directory ENGINE = $engine_table;
+
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) $data_directory $index_directory ENGINE = $engine_table;
+
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) $data_directory $index_directory ENGINE = $engine_table;
+
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) $data_directory $index_directory ENGINE = $engine_part
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) $p_data_directory $p_index_directory,
+ PARTITION p1 VALUES LESS THAN (100) $p_data_directory $p_index_directory,
+ PARTITION p2 VALUES LESS THAN (1000) $p_data_directory $p_index_directory);
+
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) $data_directory $index_directory ENGINE = $engine_subpart
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10) $p_data_directory $p_index_directory
+ (SUBPARTITION sp00,
+ SUBPARTITION sp01,
+ SUBPARTITION sp02,
+ SUBPARTITION sp03,
+ SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+ (SUBPARTITION sp10 $p_data_directory $p_index_directory,
+ SUBPARTITION sp11 $p_data_directory $p_index_directory,
+ SUBPARTITION sp12 $p_data_directory $p_index_directory,
+ SUBPARTITION sp13 $p_data_directory $p_index_directory,
+ SUBPARTITION sp14 $p_data_directory $p_index_directory),
+ PARTITION p2 VALUES LESS THAN (1000) $p_data_directory $p_index_directory
+ (SUBPARTITION sp20,
+ SUBPARTITION sp21,
+ SUBPARTITION sp22,
+ SUBPARTITION sp23,
+ SUBPARTITION sp24));
+
+# Values t_10 (not partitioned)
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+
+# Values t_100 (not partitioned)
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+
+# Values t_1000 (not partitioned)
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+
+# Values t_null (not partitioned)
+INSERT INTO t_null VALUES (1, "NULL");
+
+# Values tp (partitions)
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+
+# Values tps (subpartitions)
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table $data_directory $index_directory AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table $data_directory $index_directory AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table $data_directory $index_directory AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table $data_directory $index_directory AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+eval CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table $data_directory $index_directory AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
diff --git a/mysql-test/suite/parts/inc/partition.pre b/mysql-test/suite/parts/inc/partition.pre
index f9b361c787c..0fae04dddd4 100644
--- a/mysql-test/suite/parts/inc/partition.pre
+++ b/mysql-test/suite/parts/inc/partition.pre
@@ -23,24 +23,7 @@
################################################################################
# Set the session storage engine
-eval SET @@session.storage_engine = $engine;
-
-##### Disabled/affected testcases, because of open bugs #####
-# --echo
-# --echo #------------------------------------------------------------------------
-# --echo # There are several testcases disabled because of the open bugs
-# if (`SELECT @@session.storage_engine IN('ndbcluster')`)
-# {
-# --echo # #18730
-# }
-# --echo #------------------------------------------------------------------------
-# # Attention: Only bugs appearing in all storage engines should be mentioned above.
-# # The top level test wrapper (example: t/partition_basic_ndb.test)
-# # may set the $fixed_bug<nnnnn> variable to 0 after sourcing
-# # this file.
-# # Bug#18730: Partitions: NDB, crash on SELECT MIN(<unique column>)
-# # Attention: NDB testcases set this variable later to 0
-# let $fixed_bug18730= 1;
+eval SET @@session.default_storage_engine = $engine;
--echo
--echo #------------------------------------------------------------------------
@@ -121,24 +104,13 @@ let $insert_all= 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;
# Column list with definition for all tables to be checked
-let $column_list= f_int1 INTEGER,
-f_int2 INTEGER,
+let $column_list= f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000);
-# Currently (April 2006) the default compiled NDB cannot manage
-# no_of_partitions (no subpartitioning) > 8
-# no_of_partitions * no_of_subpartitions > 8
-# This NDB specific limitation will cause
-# 1005: Can't create table 'test.t1' (errno: 1224)
-# in partition_methods[1|2].inc and partition_alter_1[1|3].inc
-# when $sub_part_no is set to >= 3.
let $sub_part_no= 3;
-if (`SELECT @@session.storage_engine = 'ndbcluster'`)
-{
- let $sub_part_no= 2;
-}
# Auxiliary table used for many experiments (INSERT INTO t1 ... SELECT ...)
# on the tables to be checked
@@ -297,16 +269,11 @@ if (0)
# Examples for the main rgression tests:
# InnoDB - The PRIMARY KEY is a clustered index where the data for the
# rows are stored. $do_pk_tests= 1
-# NDB - The PRIMARY KEY is used for implicit partitioning (NDB).
-# $do_pk_tests= 1
# MyISAM - AFAIK there is no effect on the tree containing the rows.
# $do_pk_tests= 0
#
# Assign a big number smaller than the maximum value for partitions
# and smaller than the maximum value of SIGNED INTEGER
-# The NDB handler only supports 32 bit integers in VALUES
-# 2147483647 seems to be too big.
-# $MAX_VALUE= (2147483646);
#
#
# 2. Typical architecture of a test:
@@ -318,7 +285,7 @@ if (0)
# --source inc/have_partition.inc
# b) Engine specific settings and requirements
# $do_pk_tests, $MAX_VALUE, $engine
-# SET SESSION storage_engine
+# SET SESSION default_storage_engine
# $engine_other
# c) Generate the prerequisites ($variables, @variables, tables) needed
# via
diff --git a/mysql-test/suite/parts/inc/partition_alter3.inc b/mysql-test/suite/parts/inc/partition_alter3.inc
index 1fad361b371..395f93f44f6 100644
--- a/mysql-test/suite/parts/inc/partition_alter3.inc
+++ b/mysql-test/suite/parts/inc/partition_alter3.inc
@@ -115,6 +115,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
--source suite/parts/inc/partition_check_read1.inc
#
--echo # 1.2.7 Remove partitioning from not partitioned table --> ????
+--error ER_PARTITION_MGMT_ON_NONPARTITIONED
ALTER TABLE t1 REMOVE PARTITIONING;
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
@@ -193,6 +194,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
--source suite/parts/inc/partition_check_read2.inc
#
--echo # 2.2.7 Remove partitioning from not partitioned table --> ????
+--error ER_PARTITION_MGMT_ON_NONPARTITIONED
ALTER TABLE t1 REMOVE PARTITIONING;
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
diff --git a/mysql-test/suite/parts/inc/partition_auto_increment.inc b/mysql-test/suite/parts/inc/partition_auto_increment.inc
index 034460d49ac..e3a8d681275 100644
--- a/mysql-test/suite/parts/inc/partition_auto_increment.inc
+++ b/mysql-test/suite/parts/inc/partition_auto_increment.inc
@@ -3,6 +3,9 @@
# auto_increment test
# used variables: $engine
#
+--disable_query_log
+set sql_mode="";
+--enable_query_log
-- disable_warnings
DROP TABLE IF EXISTS t1;
@@ -575,7 +578,7 @@ INSERT INTO t1 VALUES (3, NULL), (2, 0), (2, NULL);
INSERT INTO t1 VALUES (2, 2);
if (!$mysql_errno)
{
- echo # ERROR (only OK if Blackhole/NDB) should give ER_DUP_KEY or ER_DUP_ENTRY;
+ echo # ERROR (only OK if Blackhole) should give ER_DUP_KEY or ER_DUP_ENTRY;
echo # mysql_errno: $mysql_errno;
}
INSERT INTO t1 VALUES (2, 22), (2, NULL);
diff --git a/mysql-test/suite/parts/inc/partition_binary.inc b/mysql-test/suite/parts/inc/partition_binary.inc
index 08db71b6483..21e9635c036 100644
--- a/mysql-test/suite/parts/inc/partition_binary.inc
+++ b/mysql-test/suite/parts/inc/partition_binary.inc
@@ -8,11 +8,13 @@ partition pa3 max_rows=30 min_rows=4,
partition pa4 max_rows=40 min_rows=2);
show create table t1;
insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
+--sorted_result
select hex(a) from t1;
select a from t1 where substr(a,1,2)='b\0';
update t1 set a='cc' where substr(a,1,2)= 'b\0';
select a from t1 where substr(a,1,1)='c';
delete from t1 where substr(a,1,2)='cc';
+--sorted_result
select hex(a) from t1;
drop table t1;
@@ -33,6 +35,7 @@ inc $letter;
commit;
--enable_query_log
select count(*) from t2;
+--sorted_result
select hex(a) from t2;
drop table t2;
diff --git a/mysql-test/suite/parts/inc/partition_char.inc b/mysql-test/suite/parts/inc/partition_char.inc
index 0fa28370c83..d28ed3158c5 100644
--- a/mysql-test/suite/parts/inc/partition_char.inc
+++ b/mysql-test/suite/parts/inc/partition_char.inc
@@ -8,10 +8,12 @@ partition pa3 max_rows=30 min_rows=4,
partition pa4 max_rows=40 min_rows=2);
show create table t1;
insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
+--sorted_result
select * from t1;
select * from t1 where a='b';
update t1 set a='bb' where a='b';
delete from t1 where a='bb';
+--sorted_result
select * from t1;
drop table t1;
@@ -32,6 +34,7 @@ inc $letter;
commit;
--enable_query_log
select count(*) from t2;
+--sorted_result
select * from t2;
drop table t2;
diff --git a/mysql-test/suite/parts/inc/partition_check.inc b/mysql-test/suite/parts/inc/partition_check.inc
index 235764a034f..ed323dfa245 100644
--- a/mysql-test/suite/parts/inc/partition_check.inc
+++ b/mysql-test/suite/parts/inc/partition_check.inc
@@ -324,7 +324,6 @@ FROM t1;
# DEBUG SELECT COUNT(*),MIN(f_int1),MAX(f_int1) FROM t1;
#
# 3.4 (mass) Update @max_row_div4 * 2 + 1 records
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
UPDATE t1 SET f_int1 = f_int1 + @max_row
WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
AND @max_row_div2 + @max_row_div4;
@@ -431,7 +430,6 @@ WHERE f_int1 = @cur_value AND f_int2 = @cur_value
# record to another partition/subpartition might appear.
SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
UPDATE t1 SET f_int1 = @cur_value2
WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
# Check of preceding statement via Select
@@ -451,8 +449,6 @@ WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
SET @cur_value1= -1;
SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
# Bug#15968: Partitions: crash when INSERT with f_int1 = -1 into PARTITION BY HASH(f_int1)
-# Bug#16385: Partitions: crash when updating a range partitioned NDB table
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
UPDATE t1 SET f_int1 = @cur_value1
WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
# Check of preceding statement via Select
@@ -538,7 +534,6 @@ eval DELETE FROM t1 WHERE f_charbig = '#$max_int_4##';
# Let's INSERT a record where the result of the partitioning function is
# probably (depends on function currently used) zero and look if there are
# any strange effects during the execution of the next statements.
-# Bug#17891: Partitions: NDB, crash on select .. where col is null or col = value
# Bug#18659: Partitions: wrong result on WHERE <col. used in part. function> IS NULL
DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
# Attention: Zero should be tested
@@ -965,7 +960,6 @@ let $tab_has_trigg= t0_aux;
let $tab_in_trigg= t1;
# Insert three records, which will be updated by the trigger
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
eval INSERT INTO $tab_in_trigg(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
@@ -1136,7 +1130,6 @@ CHECKSUM TABLE t1 EXTENDED;
# ... , it is mapped to ALTER TABLE, which rebuilds the table.
# Rebuilding updates index statistics and frees unused space in the
# clustered index.
-# FIXME What will happen with NDB ?
OPTIMIZE TABLE t1;
--source suite/parts/inc/partition_layout_check2.inc
# 10.2 REPAIR TABLE
diff --git a/mysql-test/suite/parts/inc/partition_crash_exchange.inc b/mysql-test/suite/parts/inc/partition_crash_exchange.inc
new file mode 100644
index 00000000000..399cff8f376
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_crash_exchange.inc
@@ -0,0 +1,29 @@
+# To be used with WL#4445: EXCHANGE PARTITION WITH TABLE.
+SET SESSION debug_dbug="+d,exchange_partition_abort_1";
+--source suite/parts/inc/partition_crash_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_abort_1";
+SET SESSION debug_dbug="+d,exchange_partition_abort_2";
+--source suite/parts/inc/partition_crash_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_abort_2";
+SET SESSION debug_dbug="+d,exchange_partition_abort_3";
+--source suite/parts/inc/partition_crash_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_abort_3";
+SET SESSION debug_dbug="+d,exchange_partition_abort_4";
+--source suite/parts/inc/partition_crash_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_abort_4";
+SET SESSION debug_dbug="+d,exchange_partition_abort_5";
+--source suite/parts/inc/partition_crash_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_abort_5";
+SET SESSION debug_dbug="+d,exchange_partition_abort_6";
+--source suite/parts/inc/partition_crash_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_abort_6";
+SET SESSION debug_dbug="+d,exchange_partition_abort_7";
+--source suite/parts/inc/partition_crash_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_abort_7";
+SET SESSION debug_dbug="+d,exchange_partition_abort_8";
+--source suite/parts/inc/partition_crash_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_abort_8";
+SET SESSION debug_dbug="+d,exchange_partition_abort_9";
+--source suite/parts/inc/partition_crash_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_abort_9";
+
diff --git a/mysql-test/suite/parts/inc/partition_crash_t2.inc b/mysql-test/suite/parts/inc/partition_crash_t2.inc
new file mode 100644
index 00000000000..fd88cc60a8d
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_crash_t2.inc
@@ -0,0 +1,12 @@
+# Include file to extend partition_crash with a second table.
+# To be used with WL#4445: EXCHANGE PARTITION WITH TABLE.
+--eval $create_statement2
+--eval $insert_statement2
+SHOW CREATE TABLE t2;
+--sorted_result
+SELECT * FROM t2;
+--source suite/parts/inc/partition_crash.inc
+SHOW CREATE TABLE t2;
+--sorted_result
+SELECT * FROM t2;
+DROP TABLE t2;
diff --git a/mysql-test/suite/parts/inc/partition_enum.inc b/mysql-test/suite/parts/inc/partition_enum.inc
index a545d7fd8c7..87e88983055 100644
--- a/mysql-test/suite/parts/inc/partition_enum.inc
+++ b/mysql-test/suite/parts/inc/partition_enum.inc
@@ -8,11 +8,13 @@ partition pa3 max_rows=30 min_rows=4,
partition pa4 max_rows=40 min_rows=2);
show create table t1;
insert into t1 values ('A'),('D'),('L'),('G');
+--sorted_result
select * from t1;
select * from t1 where a='A';
update t1 set a='E' where a='L';
select * from t1;
delete from t1 where a='E';
+--sorted_result
select * from t1;
drop table t1;
@@ -37,6 +39,7 @@ commit;
--enable_query_log
insert into t2 values ('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9'),('0');
select count(*) from t2;
+--sorted_result
select * from t2;
drop table t2;
diff --git a/mysql-test/suite/parts/inc/partition_exchange.inc b/mysql-test/suite/parts/inc/partition_exchange.inc
new file mode 100644
index 00000000000..f5ecddd13a4
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_exchange.inc
@@ -0,0 +1,361 @@
+# Include file to test PARTITION EXCHANGE usable with different engines
+# Written by Mattias.Jonsson@Sun.Com
+
+--echo # Test with AUTO_INCREMENT
+eval CREATE TABLE tp
+(a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ b varchar(24))
+ENGINE = $engine
+PARTITION BY HASH (a) PARTITIONS 4;
+CREATE TABLE t LIKE tp;
+ALTER TABLE t REMOVE PARTITIONING;
+SHOW CREATE TABLE tp;
+SHOW CREATE TABLE t;
+INSERT INTO tp (b) VALUES ("One"), ("Two"), ("Three"), ("Four"), ("Five"),
+("Six"), ("Seven"), ("Eight"), ("Nine"), ("Ten"), ("Eleven"), ("Twelwe");
+if ($no_update)
+{
+# Archive handles auto inc by only allowing increasing values,
+# so this must be inserted before a higher value is inserted.
+INSERT INTO tp VALUES (41, "One hundred one");
+}
+INSERT INTO tp VALUES (97, "Ninety seven");
+if (!$no_delete)
+{
+INSERT INTO tp VALUES (111, "One hundred eleven");
+}
+if (!$no_update)
+{
+INSERT INTO tp VALUES (101, "One hundred one");
+}
+SET INSERT_ID = 13;
+INSERT INTO t (b) VALUES ("Thirteen");
+if ($no_update)
+{
+SET INSERT_ID = 17;
+INSERT INTO t (b) VALUES ("Twenty five");
+}
+SET INSERT_ID = 21;
+INSERT INTO t (b) VALUES ("Twenty one");
+if (!$no_update)
+{
+SET INSERT_ID = 25;
+INSERT INTO t (b) VALUES ("Twenty five");
+}
+if (!$no_delete)
+{
+SET INSERT_ID = 55;
+INSERT INTO t (b) VALUES ("Fifty five");
+DELETE FROM tp WHERE a = 111;
+DELETE FROM t WHERE a = 55;
+}
+if (!$no_update)
+{
+UPDATE tp SET a = 41 WHERE a = 101;
+UPDATE t SET a = 17 WHERE a = 25;
+}
+-- disable_query_log
+-- disable_result_log
+ANALYZE TABLE tp;
+-- enable_result_log
+-- enable_query_log
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t;
+-- disable_query_log
+-- disable_result_log
+ANALYZE TABLE tp;
+-- enable_result_log
+-- enable_query_log
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+SELECT * FROM tp ORDER BY a;
+SELECT * FROM t ORDER BY a;
+SHOW CREATE TABLE tp;
+SHOW CREATE TABLE t;
+DROP TABLE tp, t;
+
+# set a DEBUG_SYNC after open table and before verifying is done
+# Test that one can read from the table but not write, test that one can both
+# read and write to the partition
+# Verify that one must close the other instances of the table before the rename
+# takes place (i.e. no need for LOCK_open)
+# Test that it is not possible to drop, create, truncate either the tables or
+# partition
+# Test that it waits for ongoing transactions
+
+if ($no_keys)
+{
+eval CREATE TABLE t
+(a INT,
+ b VARCHAR(55))
+ENGINE = $engine;
+eval CREATE TABLE tp
+(a INT,
+ b VARCHAR(55))
+ENGINE = $engine
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+ PARTITION p1 VALUES LESS THAN MAXVALUE);
+eval CREATE TABLE tsp
+(a INT,
+ b VARCHAR(55))
+ENGINE = $engine
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (100)
+ (SUBPARTITION sp0,
+ SUBPARTITION sp1),
+ PARTITION p1 VALUES LESS THAN MAXVALUE
+ (SUBPARTITION sp2,
+ SUBPARTITION sp3));
+}
+if (!$no_keys)
+{
+eval CREATE TABLE t
+(a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+ENGINE = $engine;
+eval CREATE TABLE tp
+(a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+ENGINE = $engine
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+ PARTITION p1 VALUES LESS THAN MAXVALUE);
+eval CREATE TABLE tsp
+(a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+ENGINE = $engine
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (100)
+ (SUBPARTITION sp0,
+ SUBPARTITION sp1),
+ PARTITION p1 VALUES LESS THAN MAXVALUE
+ (SUBPARTITION sp2,
+ SUBPARTITION sp3));
+}
+
+INSERT INTO t VALUES (1, "First value"), (3, "Three"), (5, "Five"), (99, "End of values");
+INSERT INTO tp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+INSERT INTO tsp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+--sorted_result
+SELECT * FROM t;
+--sorted_result
+SELECT * FROM tp;
+
+--echo # Start by testing read/write locking
+SET AUTOCOMMIT = 1;
+
+connect(con1, localhost, root,,);
+--echo # con1
+SET DEBUG_SYNC= 'swap_partition_after_compare_tables SIGNAL swap_in_progress WAIT_FOR goto_verification';
+SET DEBUG_SYNC= 'swap_partition_first_row_read SIGNAL swap_in_progress WAIT_FOR goto_wait';
+SET DEBUG_SYNC= 'swap_partition_after_wait SIGNAL swap_in_progress WAIT_FOR goto_rename';
+SET DEBUG_SYNC= 'swap_partition_before_rename SIGNAL swap_in_progress WAIT_FOR test_done';
+send ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t;
+
+connection default;
+--echo # con default
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+--echo # select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+SELECT * FROM tp WHERE a = 61;
+--echo # any write (update/delete/insert) into t or tp should fail
+SET SESSION lock_wait_timeout=1;
+if (!$no_update)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+if (!$no_delete)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+DELETE FROM tp WHERE a = 59;
+}
+if (!$no_update)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+if (!$no_delete)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+DELETE FROM t WHERE a = 3;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+eval ALTER TABLE t ENGINE = $engine;
+--error ER_LOCK_WAIT_TIMEOUT
+eval ALTER TABLE tp ENGINE = $engine;
+SHOW CREATE TABLE t;
+SHOW CREATE TABLE tp;
+SET DEBUG_SYNC= 'now SIGNAL goto_verification';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+--echo # select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+SELECT * FROM tp WHERE a = 61;
+if (!$no_update)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE tp SET a = 43, b = concat("Fifty three, was ", b) WHERE a = 63;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+if (!$no_delete)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+DELETE FROM tp WHERE a = 59;
+}
+--echo # any write (update/delete/insert) into t should fail
+if (!$no_update)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+if (!$no_delete)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+DELETE FROM t WHERE a = 3;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+eval ALTER TABLE t ENGINE = $engine;
+--error ER_LOCK_WAIT_TIMEOUT
+eval ALTER TABLE tp ENGINE = $engine;
+SHOW CREATE TABLE t;
+SHOW CREATE TABLE tp;
+SET DEBUG_SYNC= 'now SIGNAL goto_wait';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+--echo # Both tables should now be under exclusive lock, even SHOW should fail
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t WHERE a = 99;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM tp WHERE a = 61;
+if (!$no_update)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+if (!$no_delete)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+DELETE FROM tp WHERE a = 59;
+}
+if (!$no_update)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+if (!$no_delete)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+DELETE FROM t WHERE a = 3;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE TABLE t;
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE TABLE tp;
+--error ER_LOCK_WAIT_TIMEOUT
+eval ALTER TABLE t ENGINE = $engine;
+--error ER_LOCK_WAIT_TIMEOUT
+eval ALTER TABLE tp ENGINE = $engine;
+SET DEBUG_SYNC= 'now SIGNAL goto_rename';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+--echo # Both tables should now be under exclusive lock
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t WHERE a = 99;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM tp WHERE a = 61;
+if (!$no_update)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+if (!$no_delete)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+DELETE FROM tp WHERE a = 59;
+}
+if (!$no_update)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+if (!$no_delete)
+{
+--error ER_LOCK_WAIT_TIMEOUT
+DELETE FROM t WHERE a = 3;
+}
+--error ER_LOCK_WAIT_TIMEOUT
+eval ALTER TABLE t ENGINE = $engine;
+--error ER_LOCK_WAIT_TIMEOUT
+eval ALTER TABLE tp ENGINE = $engine;
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE TABLE t;
+--error ER_LOCK_WAIT_TIMEOUT
+SHOW CREATE TABLE tp;
+
+SET DEBUG_SYNC= 'now SIGNAL test_done';
+
+connection con1;
+--echo # con1
+--reap
+connection default;
+--echo # con default
+--echo # Tables should now be as normal
+SHOW CREATE TABLE t;
+SHOW CREATE TABLE tp;
+SELECT * FROM tp WHERE a = 99;
+SELECT * FROM t WHERE a = 61;
+if (!$no_update)
+{
+UPDATE t SET a = 53, b = "Fifty three, was sixty three" WHERE a = 63;
+}
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+if (!$no_delete)
+{
+DELETE FROM t WHERE a = 59;
+}
+if (!$no_update)
+{
+UPDATE tp SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+}
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+if (!$no_delete)
+{
+DELETE FROM tp WHERE a = 3;
+}
+eval ALTER TABLE t ENGINE = $engine;
+eval ALTER TABLE tp ENGINE = $engine;
+
+disconnect con1;
+connection default;
+--echo # con default
+SET DEBUG_SYNC= 'RESET';
+SHOW CREATE TABLE t;
+SHOW CREATE TABLE tp;
+--sorted_result
+SELECT * FROM t;
+--sorted_result
+SELECT * FROM tp;
+
+DROP TABLE t, tp, tsp;
+
+
diff --git a/mysql-test/suite/parts/inc/partition_fail_exchange.inc b/mysql-test/suite/parts/inc/partition_fail_exchange.inc
new file mode 100644
index 00000000000..cc8d76bedfe
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_fail_exchange.inc
@@ -0,0 +1,27 @@
+SET SESSION debug_dbug="+d,exchange_partition_fail_1";
+--source suite/parts/inc/partition_fail_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_fail_1";
+SET SESSION debug_dbug="+d,exchange_partition_fail_2";
+--source suite/parts/inc/partition_fail_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_fail_2";
+SET SESSION debug_dbug="+d,exchange_partition_fail_3";
+--source suite/parts/inc/partition_fail_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_fail_3";
+SET SESSION debug_dbug="+d,exchange_partition_fail_4";
+--source suite/parts/inc/partition_fail_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_fail_4";
+SET SESSION debug_dbug="+d,exchange_partition_fail_5";
+--source suite/parts/inc/partition_fail_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_fail_5";
+SET SESSION debug_dbug="+d,exchange_partition_fail_6";
+--source suite/parts/inc/partition_fail_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_fail_6";
+SET SESSION debug_dbug="+d,exchange_partition_fail_7";
+--source suite/parts/inc/partition_fail_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_fail_7";
+SET SESSION debug_dbug="+d,exchange_partition_fail_8";
+--source suite/parts/inc/partition_fail_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_fail_8";
+SET SESSION debug_dbug="+d,exchange_partition_fail_9";
+--source suite/parts/inc/partition_fail_t2.inc
+SET SESSION debug_dbug="-d,exchange_partition_fail_9";
diff --git a/mysql-test/suite/parts/inc/partition_fail_t2.inc b/mysql-test/suite/parts/inc/partition_fail_t2.inc
new file mode 100644
index 00000000000..3904ec8662c
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_fail_t2.inc
@@ -0,0 +1,31 @@
+# Include file to to test failure with error injection.
+# To be used with WL#4445: EXCHANGE PARTITION WITH TABLE.
+--eval $create_statement2
+--eval $insert_statement2
+SHOW CREATE TABLE t2;
+--sorted_result
+SELECT * FROM t2;
+--eval $create_statement
+--eval $insert_statement
+--echo # State before failure
+--replace_result #p# #P#
+--list_files $DATADIR/test
+SHOW CREATE TABLE t1;
+--sorted_result
+SELECT * FROM t1;
+# accept all errors
+--disable_abort_on_error
+--replace_regex /#sqlx-[0-9a-f_]*/#sqlx-nnnn_nnnn/i
+--eval $fail_statement
+--enable_abort_on_error
+--echo # State after failure
+--replace_result #p# #P#
+--list_files $DATADIR/test
+SHOW CREATE TABLE t1;
+--sorted_result
+SELECT * FROM t1;
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+--sorted_result
+SELECT * FROM t2;
+DROP TABLE t2;
diff --git a/mysql-test/suite/parts/inc/partition_mgm.inc b/mysql-test/suite/parts/inc/partition_mgm.inc
index 67d1feb8046..5386a929db0 100644
--- a/mysql-test/suite/parts/inc/partition_mgm.inc
+++ b/mysql-test/suite/parts/inc/partition_mgm.inc
@@ -9,10 +9,8 @@
# Uses following variables: #
# engine Use specified storage engine #
# can_only_key Storage engine only able to use HASH/KEY (not range/list) #
-# (E.g. not ndbcluster) #
# part_optA-D Extra partitioning options (E.g. INDEX/DATA DIR) #
# #
-# have_bug33158 NDB case insensitive create, but case sensitive rename #
# no_truncate No support for truncate partition #
#------------------------------------------------------------------------------#
# Original Author: mattiasj #
@@ -57,6 +55,36 @@ ALTER TABLE TableA COALESCE PARTITION 4;
SELECT * FROM TableA;
SHOW CREATE TABLE TableA;
+-- disable_query_log
+-- disable_result_log
+ANALYZE TABLE TableA;
+-- enable_result_log
+-- enable_query_log
+
+--echo # Test of EXCHANGE PARTITION WITH TABLE
+if (!$native_partitioning)
+{
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+--sorted_result
+SELECT * FROM TableA;
+SHOW CREATE TABLE TableA;
+--sorted_result
+SELECT * FROM TableB;
+SHOW CREATE TABLE TableB;
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+--error ER_ROW_DOES_NOT_MATCH_PARTITION
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+DROP TABLE TableB;
+--sorted_result
+SELECT * FROM TableA;
+SHOW CREATE TABLE TableA;
+}
+
--echo # Test of REORGANIZE PARTITIONS
--echo # Should not work on HASH/KEY
--error ER_REORG_HASH_ONLY_ON_SAME_NO
@@ -114,8 +142,6 @@ SHOW CREATE TABLE tablea;
}
if (!$lower_case_table_names)
{
-if (!$have_bug33158)
-{
eval CREATE TABLE tablea (a INT)
ENGINE = $engine
PARTITION BY KEY (a)
@@ -134,7 +160,6 @@ RENAME TABLE tableA to TableA;
SHOW CREATE TABLE tablea;
DROP TABLE tablea;
}
-}
--echo # Test of REMOVE PARTITIONING
ALTER TABLE TableA REMOVE PARTITIONING;
diff --git a/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc b/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc
index 0de6bd7d2f5..867bff4e98e 100644
--- a/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc
+++ b/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc
@@ -10,8 +10,6 @@
# Original Date: 2006-11-22 #
# Change Author: MattiasJ #
# Change Date: 2008-05-15 #
-# Change: Added $max_8_partitions since ndb only capable of 8 partitions #
-# and $no_reorg_partition since ndb does not support that #
################################################################################
--echo -------------------------------------------------------------------------
--echo --- $sqlfunc in partition with coltype $coltype
diff --git a/mysql-test/suite/parts/inc/partition_syntax_2.inc b/mysql-test/suite/parts/inc/partition_syntax_2.inc
index b8e728ee79b..f7e201bbf55 100644
--- a/mysql-test/suite/parts/inc/partition_syntax_2.inc
+++ b/mysql-test/suite/parts/inc/partition_syntax_2.inc
@@ -12,8 +12,6 @@
# Change: #
################################################################################
-if (`SELECT @@session.storage_engine NOT IN('ndbcluster')`)
-{
--error ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
eval CREATE TABLE t1 (
$column_list,
@@ -26,23 +24,3 @@ if (`SELECT @@session.storage_engine NOT IN('ndbcluster')`)
PRIMARY KEY(f_int1,f_int2), $unique_index
)
$partition_scheme;
-}
-if (`SELECT @@session.storage_engine IN('ndbcluster')`)
-{
- eval CREATE TABLE t1 (
- $column_list,
- $unique_index
- )
- $partition_scheme;
- eval $insert_all;
- --source suite/parts/inc/partition_check.inc
- DROP TABLE t1;
- eval CREATE TABLE t1 (
- $column_list,
- PRIMARY KEY(f_int1,f_int2), $unique_index
- )
- $partition_scheme;
- eval $insert_all;
- --source suite/parts/inc/partition_check.inc
- DROP TABLE t1;
-}
diff --git a/mysql-test/suite/parts/inc/partition_timestamp.inc b/mysql-test/suite/parts/inc/partition_timestamp.inc
index 47db67f04a5..fb1bf391999 100644
--- a/mysql-test/suite/parts/inc/partition_timestamp.inc
+++ b/mysql-test/suite/parts/inc/partition_timestamp.inc
@@ -1,4 +1,4 @@
-eval create table t1 (a timestamp not null, primary key(a)) engine=$engine
+eval create table t1 (a timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, primary key(a)) engine=$engine
partition by key (a) (
partition pa1 max_rows=20 min_rows=2,
partition pa2 max_rows=30 min_rows=3,
@@ -12,7 +12,7 @@ delete from t1 where a=19801014030300;
select * from t1;
drop table t1;
-eval create table t2 (a timestamp not null, primary key(a)) engine=$engine
+eval create table t2 (a timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, primary key(a)) engine=$engine
partition by key (a) partitions 12;
show create table t2;
insert into t2 values ('1975-01-01 0:1:1'), ('2020-12-31 10:11:12'), ('1980-10-14 13:14:15'), ('2000-06-15 14:15:16');
diff --git a/mysql-test/suite/parts/inc/partition_trigg3.inc b/mysql-test/suite/parts/inc/partition_trigg3.inc
index b56847ada44..34dbf4e2cd1 100644
--- a/mysql-test/suite/parts/inc/partition_trigg3.inc
+++ b/mysql-test/suite/parts/inc/partition_trigg3.inc
@@ -45,7 +45,7 @@ END|
delimiter ;|
# Additional statements because of Bug(limitation)#17704
SET @counter = 1;
-# Bug#18730 Partitions: NDB, crash on SELECT MIN(<unique column>)
+# Bug#18730 Partitions: crash on SELECT MIN(<unique column>)
SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
# Additional statements end
eval $statement;
diff --git a/mysql-test/suite/parts/inc/partition_value.inc b/mysql-test/suite/parts/inc/partition_value.inc
index 3e25e740de6..79c4d6b8187 100644
--- a/mysql-test/suite/parts/inc/partition_value.inc
+++ b/mysql-test/suite/parts/inc/partition_value.inc
@@ -80,11 +80,6 @@ eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
VALUES(NULL,NULL,NULL,NULL,NULL);
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 IS NULL;
DROP TABLE t1;
-#
-# The NDB handler only supports 32 bit integers in VALUES
-# therefor we have to skip the next test for NDB.
-if (`SELECT @@session.storage_engine NOT IN('ndbcluster')`)
-{
--echo # 3. LIST(<check value>)
eval CREATE TABLE t1 (
$column_list
@@ -111,7 +106,6 @@ eval INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
VALUES(NULL,NULL,NULL,NULL,NULL);
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 IS NULL;
DROP TABLE t1;
-}
#
--echo # 4. Partition by RANGE(...) subpartition by HASH(<check value>)
eval CREATE TABLE t1 (
diff --git a/mysql-test/suite/parts/inc/partition_varbinary.inc b/mysql-test/suite/parts/inc/partition_varbinary.inc
index 04ba66d87ea..292407cd525 100644
--- a/mysql-test/suite/parts/inc/partition_varbinary.inc
+++ b/mysql-test/suite/parts/inc/partition_varbinary.inc
@@ -8,10 +8,12 @@ partition pa3 max_rows=30 min_rows=4,
partition pa4 max_rows=40 min_rows=2);
show create table t1;
insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64));
+--sorted_result
select * from t1;
select * from t1 where a='b';
update t1 set a='bb' where a='b';
delete from t1 where a='bb';
+--sorted_result
select * from t1;
drop table t1;
@@ -32,6 +34,7 @@ inc $letter;
commit;
--enable_query_log
select count(*) from t2;
+--sorted_result
select * from t2;
drop table t2;
diff --git a/mysql-test/suite/parts/inc/partition_varchar.inc b/mysql-test/suite/parts/inc/partition_varchar.inc
index 33c61034a52..257c122ddf2 100644
--- a/mysql-test/suite/parts/inc/partition_varchar.inc
+++ b/mysql-test/suite/parts/inc/partition_varchar.inc
@@ -8,10 +8,12 @@ partition pa3 max_rows=30 min_rows=4,
partition pa4 max_rows=40 min_rows=2);
show create table t1;
insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64));
+--sorted_result
select * from t1;
select * from t1 where a='b';
update t1 set a='bb' where a='b';
delete from t1 where a='bb';
+--sorted_result
select * from t1;
drop table t1;
@@ -32,6 +34,7 @@ inc $letter;
commit;
--enable_query_log
select count(*) from t2;
+--sorted_result
select * from t2;
drop table t2;
diff --git a/mysql-test/suite/parts/r/alter_data_directory_innodb.result b/mysql-test/suite/parts/r/alter_data_directory_innodb.result
new file mode 100644
index 00000000000..ee0a7b80ebb
--- /dev/null
+++ b/mysql-test/suite/parts/r/alter_data_directory_innodb.result
@@ -0,0 +1,65 @@
+#
+# MDEV-15953 Alter InnoDB Partitioned Table Moves Files (which were originally not in the datadir) to the datadir
+#
+CREATE TABLE t (
+a INT NOT NULL
+) ENGINE=INNODB
+PARTITION BY HASH (a) (
+PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here/' ENGINE = INNODB,
+PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here/' ENGINE = INNODB
+);
+INSERT INTO t VALUES (1);
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB,
+ PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB) */
+ALTER TABLE t ADD PRIMARY KEY pk(a), ALGORITHM=INPLACE;
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB,
+ PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB) */
+ALTER TABLE t DROP PRIMARY KEY, ALGORITHM=COPY;
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB,
+ PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB) */
+SET @TMP = @@GLOBAL.INNODB_FILE_PER_TABLE;
+SET GLOBAL INNODB_FILE_PER_TABLE=OFF;
+ALTER TABLE t ADD PRIMARY KEY pk(a), ALGORITHM=INPLACE;
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB,
+ PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB) */
+SET GLOBAL INNODB_FILE_PER_TABLE=@TMP;
+ALTER TABLE t REORGANIZE PARTITION p1,p2 INTO (
+PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_somewhere_else/' ENGINE = INNODB,
+PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_somewhere_else/' ENGINE = INNODB
+);
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB,
+ PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp/partitions_here' ENGINE = InnoDB) */
+DROP TABLE t;
diff --git a/mysql-test/suite/parts/r/longname.result b/mysql-test/suite/parts/r/longname.result
index 40097d60d15..5a223cf65fc 100644
--- a/mysql-test/suite/parts/r/longname.result
+++ b/mysql-test/suite/parts/r/longname.result
@@ -1,5 +1,7 @@
set names utf8;
create database mysqltest1;
+select database_name, table_name, length(table_name) from mysql.innodb_table_stats where database_name = 'mysqltest1';
+database_name table_name length(table_name)
CREATE TABLE mysqltest1.test_jfg_table_name_with_64_chars_123456789012345678901234567890 (
id int(10) unsigned NOT NULL,
id2 int(10) unsigned NOT NULL,
@@ -10,15 +12,8 @@ SUBPARTITION BY HASH ( id2 )
SUBPARTITIONS 2 (
PARTITION test_jfg_partition_name_with_60_chars_1234567890123456789012 VALUES LESS THAN (1000) ENGINE = InnoDB,
PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
-Warnings:
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+select database_name, table_name, length(table_name) from mysql.innodb_table_stats where database_name = 'mysqltest1';
+database_name table_name length(table_name)
CREATE TABLE mysqltest1.éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé (
id int(10) unsigned NOT NULL,
id2 int(10) unsigned NOT NULL,
diff --git a/mysql-test/suite/parts/r/part_ctype_utf32.result b/mysql-test/suite/parts/r/part_ctype_utf32.result
index 5d52a8eace4..4667fe1035f 100644
--- a/mysql-test/suite/parts/r/part_ctype_utf32.result
+++ b/mysql-test/suite/parts/r/part_ctype_utf32.result
@@ -3,7 +3,7 @@
#
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (
a enum('a') CHARACTER SET utf32 COLLATE utf32_spanish2_ci
) ENGINE=MYISAM PARTITION BY KEY(a) PARTITIONS 2;
diff --git a/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result b/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result
index 3ef62f2b050..34fcba6ae87 100644
--- a/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ SET @@session.sql_mode= '';
# 1.2.1 PRIMARY KEY consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -540,8 +540,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1032,8 +1032,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1539,8 +1539,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2040,8 +2040,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2539,8 +2539,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3049,8 +3049,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3561,8 +3561,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4062,8 +4062,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4554,8 +4554,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5046,8 +5046,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5553,8 +5553,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6054,8 +6054,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6553,8 +6553,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7063,8 +7063,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7575,8 +7575,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8077,8 +8077,8 @@ DROP TABLE t1;
# 1.2.2 UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8097,8 +8097,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8585,8 +8585,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8605,8 +8605,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9093,8 +9093,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9121,8 +9121,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9616,8 +9616,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9642,8 +9642,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10133,8 +10133,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10157,8 +10157,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10648,8 +10648,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10676,8 +10676,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11174,8 +11174,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11202,8 +11202,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11702,8 +11702,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11726,8 +11726,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -12219,8 +12219,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12239,8 +12239,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -12727,8 +12727,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12747,8 +12747,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -13235,8 +13235,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13263,8 +13263,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -13758,8 +13758,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13784,8 +13784,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -14275,8 +14275,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14299,8 +14299,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -14790,8 +14790,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14818,8 +14818,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -15316,8 +15316,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15344,8 +15344,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -15844,8 +15844,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15868,8 +15868,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -16362,8 +16362,8 @@ DROP TABLE t1;
# 1.2.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16855,8 +16855,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17348,8 +17348,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17856,8 +17856,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18358,8 +18358,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18858,8 +18858,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19369,8 +19369,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19882,8 +19882,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20384,8 +20384,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20877,8 +20877,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21370,8 +21370,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21878,8 +21878,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22380,8 +22380,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22880,8 +22880,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23391,8 +23391,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23904,8 +23904,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24406,8 +24406,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24899,8 +24899,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -25392,8 +25392,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -25900,8 +25900,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26402,8 +26402,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26902,8 +26902,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27413,8 +27413,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27926,8 +27926,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
diff --git a/mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result b/mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result
index 887ac403cdb..018bc4e9287 100644
--- a/mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ SET @@session.sql_mode= '';
# 1.2.2 UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68,8 +68,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -565,8 +565,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -585,8 +585,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -1088,8 +1088,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1116,8 +1116,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -1632,8 +1632,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1658,8 +1658,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -2166,8 +2166,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2190,8 +2190,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -2702,8 +2702,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2730,8 +2730,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -3249,8 +3249,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3277,8 +3277,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -3798,8 +3798,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3822,8 +3822,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4338,8 +4338,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4358,8 +4358,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4855,8 +4855,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4875,8 +4875,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5378,8 +5378,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5406,8 +5406,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5922,8 +5922,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5948,8 +5948,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6456,8 +6456,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6480,8 +6480,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6992,8 +6992,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7020,8 +7020,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7539,8 +7539,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7567,8 +7567,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8088,8 +8088,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8112,8 +8112,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
diff --git a/mysql-test/suite/parts/r/partition_alter1_1_innodb.result b/mysql-test/suite/parts/r/partition_alter1_1_innodb.result
index 66d84768b5e..c05abfbcaed 100644
--- a/mysql-test/suite/parts/r/partition_alter1_1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter1_1_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -47,8 +47,8 @@ SET @@session.sql_mode= '';
#------------------------------------------------------------------------
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -62,8 +62,8 @@ ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -77,8 +77,8 @@ ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -100,8 +100,8 @@ ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -121,8 +121,8 @@ ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -140,8 +140,8 @@ ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -163,8 +163,8 @@ ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -186,8 +186,8 @@ ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -206,8 +206,8 @@ ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -221,8 +221,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -236,8 +236,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -259,8 +259,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -280,8 +280,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -299,8 +299,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -322,8 +322,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -345,8 +345,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -366,8 +366,8 @@ DROP TABLE t1;
# 1.1.3 PRIMARY KEY consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -858,8 +858,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1350,8 +1350,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1857,8 +1857,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2358,8 +2358,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2859,8 +2859,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3369,8 +3369,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3881,8 +3881,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4382,8 +4382,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4874,8 +4874,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5366,8 +5366,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5873,8 +5873,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6374,8 +6374,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6875,8 +6875,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7385,8 +7385,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7897,8 +7897,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8399,8 +8399,8 @@ DROP TABLE t1;
# 1.1.4 UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8419,8 +8419,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8907,8 +8907,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8927,8 +8927,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9415,8 +9415,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9443,8 +9443,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9938,8 +9938,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9964,8 +9964,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10455,8 +10455,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10479,8 +10479,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10972,8 +10972,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11000,8 +11000,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11498,8 +11498,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11526,8 +11526,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -12026,8 +12026,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12050,8 +12050,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -12543,8 +12543,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12563,8 +12563,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -13051,8 +13051,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13071,8 +13071,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -13559,8 +13559,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13587,8 +13587,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -14082,8 +14082,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14108,8 +14108,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -14599,8 +14599,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14623,8 +14623,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -15116,8 +15116,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15144,8 +15144,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -15642,8 +15642,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15670,8 +15670,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -16170,8 +16170,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16194,8 +16194,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
diff --git a/mysql-test/suite/parts/r/partition_alter1_1_myisam.result b/mysql-test/suite/parts/r/partition_alter1_1_myisam.result
index 9f616d04df3..514afd88a20 100644
--- a/mysql-test/suite/parts/r/partition_alter1_1_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter1_1_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -47,8 +47,8 @@ SET @@session.sql_mode= '';
#------------------------------------------------------------------------
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -62,8 +62,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -77,8 +77,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -100,8 +100,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -121,8 +121,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -140,8 +140,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -163,8 +163,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -186,8 +186,8 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -207,8 +207,8 @@ DROP TABLE t1;
# 1.1.4 UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -227,8 +227,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -724,8 +724,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -744,8 +744,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -1247,8 +1247,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1275,8 +1275,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -1791,8 +1791,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1817,8 +1817,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -2325,8 +2325,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2349,8 +2349,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -2863,8 +2863,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2891,8 +2891,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -3410,8 +3410,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3438,8 +3438,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -3959,8 +3959,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3983,8 +3983,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4499,8 +4499,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4519,8 +4519,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5016,8 +5016,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5036,8 +5036,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5539,8 +5539,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5567,8 +5567,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6083,8 +6083,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6109,8 +6109,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6617,8 +6617,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6641,8 +6641,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7155,8 +7155,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7183,8 +7183,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7702,8 +7702,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7730,8 +7730,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8251,8 +8251,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8275,8 +8275,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
diff --git a/mysql-test/suite/parts/r/partition_alter1_2_innodb.result b/mysql-test/suite/parts/r/partition_alter1_2_innodb.result
index f1a1aeecb66..8ab37aafcbe 100644
--- a/mysql-test/suite/parts/r/partition_alter1_2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter1_2_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -47,8 +47,8 @@ SET @@session.sql_mode= '';
# 2.1.5 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -487,8 +487,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -927,8 +927,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1382,8 +1382,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1831,8 +1831,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2280,8 +2280,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2738,8 +2738,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3198,8 +3198,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3647,8 +3647,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4087,8 +4087,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4527,8 +4527,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4982,8 +4982,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5431,8 +5431,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5880,8 +5880,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6338,8 +6338,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6798,8 +6798,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7247,8 +7247,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7267,8 +7267,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7703,8 +7703,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7723,8 +7723,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8159,8 +8159,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8187,8 +8187,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8630,8 +8630,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8656,8 +8656,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -9095,8 +9095,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9119,8 +9119,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -9560,8 +9560,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9588,8 +9588,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -10034,8 +10034,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10062,8 +10062,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -10510,8 +10510,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10534,8 +10534,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -10979,8 +10979,8 @@ DROP TABLE t1;
# 2.2.1 DROP PRIMARY KEY consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11419,8 +11419,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11859,8 +11859,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12314,8 +12314,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12763,8 +12763,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13210,8 +13210,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13668,8 +13668,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14128,8 +14128,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14577,8 +14577,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15017,8 +15017,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15457,8 +15457,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15912,8 +15912,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16361,8 +16361,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16808,8 +16808,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17266,8 +17266,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17726,8 +17726,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18176,8 +18176,8 @@ DROP TABLE t1;
# 2.2.2 DROP UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18196,8 +18196,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -18632,8 +18632,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18652,8 +18652,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -19088,8 +19088,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19116,8 +19116,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -19559,8 +19559,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19585,8 +19585,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -20024,8 +20024,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20048,8 +20048,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -20487,8 +20487,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20515,8 +20515,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -20961,8 +20961,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20989,8 +20989,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -21437,8 +21437,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21461,8 +21461,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -21902,8 +21902,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21922,8 +21922,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -22358,8 +22358,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22378,8 +22378,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -22814,8 +22814,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22842,8 +22842,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -23285,8 +23285,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23311,8 +23311,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -23750,8 +23750,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23774,8 +23774,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -24213,8 +24213,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24241,8 +24241,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -24687,8 +24687,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24715,8 +24715,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -25163,8 +25163,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -25187,8 +25187,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -25629,8 +25629,8 @@ DROP TABLE t1;
# 2.2.3 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26069,8 +26069,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26509,8 +26509,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26964,8 +26964,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27413,8 +27413,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27860,8 +27860,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -28318,8 +28318,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -28778,8 +28778,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -29227,8 +29227,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -29667,8 +29667,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -30107,8 +30107,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -30562,8 +30562,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -31011,8 +31011,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -31458,8 +31458,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -31916,8 +31916,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -32376,8 +32376,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -32825,8 +32825,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -32845,8 +32845,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -33281,8 +33281,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -33301,8 +33301,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -33737,8 +33737,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -33765,8 +33765,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -34208,8 +34208,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -34234,8 +34234,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -34673,8 +34673,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -34697,8 +34697,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -35136,8 +35136,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -35164,8 +35164,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -35610,8 +35610,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -35638,8 +35638,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -36086,8 +36086,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -36110,8 +36110,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
diff --git a/mysql-test/suite/parts/r/partition_alter1_2_myisam.result b/mysql-test/suite/parts/r/partition_alter1_2_myisam.result
index 087262f5f89..d998e264522 100644
--- a/mysql-test/suite/parts/r/partition_alter1_2_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter1_2_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -46,8 +46,8 @@ SET @@session.sql_mode= '';
#------------------------------------------------------------------------
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66,8 +66,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -511,8 +511,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -531,8 +531,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -982,8 +982,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1010,8 +1010,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1474,8 +1474,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1500,8 +1500,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1956,8 +1956,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1980,8 +1980,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2442,8 +2442,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2470,8 +2470,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2937,8 +2937,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2965,8 +2965,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3434,8 +3434,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3458,8 +3458,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3926,8 +3926,8 @@ DROP TABLE t1;
# 2.2.2 DROP UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3946,8 +3946,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4391,8 +4391,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4411,8 +4411,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4862,8 +4862,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4890,8 +4890,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5354,8 +5354,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5380,8 +5380,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5836,8 +5836,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5860,8 +5860,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6320,8 +6320,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6348,8 +6348,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6815,8 +6815,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6843,8 +6843,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7312,8 +7312,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7336,8 +7336,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7800,8 +7800,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7820,8 +7820,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8265,8 +8265,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8285,8 +8285,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8736,8 +8736,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8764,8 +8764,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -9228,8 +9228,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9254,8 +9254,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -9710,8 +9710,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9734,8 +9734,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -10194,8 +10194,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10222,8 +10222,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -10689,8 +10689,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10717,8 +10717,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -11186,8 +11186,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11210,8 +11210,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -11674,8 +11674,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11694,8 +11694,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -12139,8 +12139,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12159,8 +12159,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -12610,8 +12610,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12638,8 +12638,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -13102,8 +13102,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13128,8 +13128,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -13584,8 +13584,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13608,8 +13608,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -14068,8 +14068,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14096,8 +14096,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -14563,8 +14563,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14591,8 +14591,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -15060,8 +15060,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15084,8 +15084,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
diff --git a/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result b/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result
index 314044044bb..efc81603b5a 100644
--- a/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ SET @@session.sql_mode= '';
# 1.1.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68,7 +68,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -504,8 +504,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -524,7 +524,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -960,8 +960,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -988,7 +988,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1431,8 +1431,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1457,7 +1457,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1896,8 +1896,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1920,7 +1920,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2361,8 +2361,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2389,7 +2389,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2835,8 +2835,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2863,7 +2863,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3311,8 +3311,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3335,7 +3335,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3777,8 +3777,8 @@ DROP TABLE t1;
# 1.1.2 PRIMARY KEY exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3798,7 +3798,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4237,6 +4237,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -4269,8 +4271,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4290,7 +4292,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4729,6 +4731,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -4761,8 +4765,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4790,7 +4794,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5236,6 +5240,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -5268,8 +5274,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5295,7 +5301,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5737,6 +5743,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -5769,8 +5777,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5794,7 +5802,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6238,6 +6246,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -6270,8 +6280,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6299,7 +6309,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6748,6 +6758,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -6780,8 +6792,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6809,7 +6821,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7260,6 +7272,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -7292,8 +7306,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7317,7 +7331,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7760,6 +7774,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -7793,8 +7809,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7814,7 +7830,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8253,6 +8269,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -8285,8 +8303,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8306,7 +8324,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8745,6 +8763,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -8777,8 +8797,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8806,7 +8826,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9252,6 +9272,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -9284,8 +9306,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9311,7 +9333,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9753,6 +9775,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -9785,8 +9809,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9810,7 +9834,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10254,6 +10278,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -10286,8 +10312,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10315,7 +10341,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10764,6 +10790,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -10796,8 +10824,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10825,7 +10853,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11276,6 +11304,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -11308,8 +11338,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11333,7 +11363,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11776,6 +11806,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -11810,8 +11842,8 @@ DROP TABLE t1;
# 1.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11830,7 +11862,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12318,8 +12350,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12338,7 +12370,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12826,8 +12858,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12854,7 +12886,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -13349,8 +13381,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13375,7 +13407,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -13866,8 +13898,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13890,7 +13922,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -14383,8 +14415,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14411,7 +14443,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -14909,8 +14941,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14937,7 +14969,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -15437,8 +15469,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15461,7 +15493,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -15954,8 +15986,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15974,7 +16006,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -16462,8 +16494,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16482,7 +16514,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -16970,8 +17002,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16998,7 +17030,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -17493,8 +17525,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17519,7 +17551,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -18010,8 +18042,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18034,7 +18066,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -18527,8 +18559,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18555,7 +18587,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -19053,8 +19085,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19081,7 +19113,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -19581,8 +19613,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19605,7 +19637,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
diff --git a/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result b/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result
index e824cf45ce9..769abc32dff 100644
--- a/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -44,8 +44,8 @@ SET @@session.sql_mode= '';
# 1.3.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -500,8 +500,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -956,8 +956,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1427,8 +1427,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1892,8 +1892,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2355,8 +2355,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2829,8 +2829,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3305,8 +3305,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3771,8 +3771,8 @@ DROP TABLE t1;
# 1.3.2 PRIMARY KEY exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3791,8 +3791,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4231,6 +4231,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -4263,8 +4266,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4283,8 +4286,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4723,6 +4726,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -4755,8 +4761,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4783,8 +4789,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5230,6 +5236,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -5262,8 +5271,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5288,8 +5297,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5731,6 +5740,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -5763,8 +5775,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5787,8 +5799,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6230,6 +6242,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -6262,8 +6277,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6290,8 +6305,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6740,6 +6755,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -6772,8 +6790,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6800,8 +6818,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7252,6 +7270,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -7284,8 +7305,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7308,8 +7329,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7752,6 +7773,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -7785,8 +7809,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7805,8 +7829,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8245,6 +8269,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -8277,8 +8304,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8297,8 +8324,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8737,6 +8764,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -8769,8 +8799,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8797,8 +8827,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9244,6 +9274,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -9276,8 +9309,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9302,8 +9335,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9745,6 +9778,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -9777,8 +9813,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9801,8 +9837,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10244,6 +10280,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -10276,8 +10315,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10304,8 +10343,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10754,6 +10793,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -10786,8 +10828,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10814,8 +10856,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11266,6 +11308,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -11298,8 +11343,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11322,8 +11367,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` bigint(20) NOT NULL DEFAULT '0',
- `f_int2` bigint(20) NOT NULL DEFAULT '0',
+ `f_int1` bigint(20) NOT NULL,
+ `f_int2` bigint(20) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11766,6 +11811,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -11800,8 +11848,8 @@ DROP TABLE t1;
# 1.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12308,8 +12356,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12816,8 +12864,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13339,8 +13387,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13856,8 +13904,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14371,8 +14419,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14897,8 +14945,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15425,8 +15473,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15942,8 +15990,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16450,8 +16498,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16958,8 +17006,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17481,8 +17529,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17998,8 +18046,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18513,8 +18561,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19039,8 +19087,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19567,8 +19615,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
diff --git a/mysql-test/suite/parts/r/partition_alter2_1_maria.result b/mysql-test/suite/parts/r/partition_alter2_1_maria.result
index 3dc6bae975a..1182794ff05 100644
--- a/mysql-test/suite/parts/r/partition_alter2_1_maria.result
+++ b/mysql-test/suite/parts/r/partition_alter2_1_maria.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'Aria';
+SET @@session.default_storage_engine = 'Aria';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ SET @@session.sql_mode= '';
# 1.1.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68,7 +68,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -513,8 +513,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -533,7 +533,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -984,8 +984,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1012,7 +1012,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1476,8 +1476,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1502,7 +1502,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1958,8 +1958,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1982,7 +1982,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2444,8 +2444,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2472,7 +2472,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2939,8 +2939,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2967,7 +2967,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3436,8 +3436,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3460,7 +3460,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3925,8 +3925,8 @@ DROP TABLE t1;
# 1.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3945,7 +3945,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -4442,8 +4442,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4462,7 +4462,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -4965,8 +4965,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4993,7 +4993,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -5509,8 +5509,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5535,7 +5535,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -6043,8 +6043,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6067,7 +6067,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -6581,8 +6581,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6609,7 +6609,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -7128,8 +7128,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7156,7 +7156,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -7677,8 +7677,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7701,7 +7701,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -8217,8 +8217,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8237,7 +8237,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -8734,8 +8734,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8754,7 +8754,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -9257,8 +9257,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9285,7 +9285,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -9801,8 +9801,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9827,7 +9827,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -10335,8 +10335,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10359,7 +10359,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -10873,8 +10873,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10901,7 +10901,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -11420,8 +11420,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11448,7 +11448,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -11969,8 +11969,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11993,7 +11993,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12514,8 +12514,8 @@ DROP TABLE t1;
# 1.3.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12979,8 +12979,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13450,8 +13450,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13942,8 +13942,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14424,8 +14424,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14908,8 +14908,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15403,8 +15403,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15900,8 +15900,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16389,8 +16389,8 @@ DROP TABLE t1;
# 1.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16906,8 +16906,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17429,8 +17429,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17973,8 +17973,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18507,8 +18507,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19043,8 +19043,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19590,8 +19590,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20139,8 +20139,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20679,8 +20679,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21196,8 +21196,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21719,8 +21719,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22263,8 +22263,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22797,8 +22797,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23333,8 +23333,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23880,8 +23880,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24429,8 +24429,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
diff --git a/mysql-test/suite/parts/r/partition_alter2_1_myisam.result b/mysql-test/suite/parts/r/partition_alter2_1_myisam.result
index f2a13497159..c6f68a5882e 100644
--- a/mysql-test/suite/parts/r/partition_alter2_1_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter2_1_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ SET @@session.sql_mode= '';
# 1.1.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68,7 +68,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -513,8 +513,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -533,7 +533,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -984,8 +984,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1012,7 +1012,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1476,8 +1476,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1502,7 +1502,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1958,8 +1958,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1982,7 +1982,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2444,8 +2444,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2472,7 +2472,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2939,8 +2939,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2967,7 +2967,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3436,8 +3436,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3460,7 +3460,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3925,8 +3925,8 @@ DROP TABLE t1;
# 1.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3945,7 +3945,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -4442,8 +4442,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4462,7 +4462,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -4965,8 +4965,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4993,7 +4993,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -5509,8 +5509,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5535,7 +5535,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -6043,8 +6043,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6067,7 +6067,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -6581,8 +6581,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6609,7 +6609,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -7128,8 +7128,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7156,7 +7156,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -7677,8 +7677,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7701,7 +7701,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -8217,8 +8217,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8237,7 +8237,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -8734,8 +8734,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8754,7 +8754,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -9257,8 +9257,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9285,7 +9285,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -9801,8 +9801,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9827,7 +9827,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -10335,8 +10335,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10359,7 +10359,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -10873,8 +10873,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10901,7 +10901,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -11420,8 +11420,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11448,7 +11448,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -11969,8 +11969,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11993,7 +11993,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` bigint(20) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12514,8 +12514,8 @@ DROP TABLE t1;
# 1.3.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12979,8 +12979,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13450,8 +13450,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13942,8 +13942,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14424,8 +14424,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14908,8 +14908,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15403,8 +15403,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15900,8 +15900,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16389,8 +16389,8 @@ DROP TABLE t1;
# 1.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16906,8 +16906,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17429,8 +17429,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17973,8 +17973,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18507,8 +18507,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19043,8 +19043,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19590,8 +19590,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20139,8 +20139,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20679,8 +20679,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21196,8 +21196,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21719,8 +21719,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22263,8 +22263,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22797,8 +22797,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23333,8 +23333,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23880,8 +23880,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24429,8 +24429,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
diff --git a/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result b/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result
index faba21b41f7..2c8ec37d844 100644
--- a/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ SET @@session.sql_mode= '';
# 2.1.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68,7 +68,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -506,8 +506,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -526,7 +526,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -964,8 +964,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -992,7 +992,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1437,8 +1437,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1463,7 +1463,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1902,8 +1902,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1926,7 +1926,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2369,8 +2369,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2397,7 +2397,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2843,8 +2843,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2871,7 +2871,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3321,8 +3321,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3345,7 +3345,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3788,8 +3788,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3809,7 +3809,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4250,6 +4250,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -4282,8 +4284,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4303,7 +4305,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4744,6 +4746,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -4776,8 +4780,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4805,7 +4809,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5253,6 +5257,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -5285,8 +5291,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5312,7 +5318,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5754,6 +5760,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -5786,8 +5794,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5811,7 +5819,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6257,6 +6265,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -6289,8 +6299,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6318,7 +6328,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6767,6 +6777,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -6799,8 +6811,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6828,7 +6840,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7281,6 +7293,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -7313,8 +7327,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7338,7 +7352,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7783,6 +7797,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -7816,8 +7832,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7837,7 +7853,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8278,6 +8294,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -8310,8 +8328,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8331,7 +8349,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8772,6 +8790,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -8804,8 +8824,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8833,7 +8853,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9281,6 +9301,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -9313,8 +9335,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9340,7 +9362,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9782,6 +9804,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -9814,8 +9838,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9839,7 +9863,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10285,6 +10309,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -10317,8 +10343,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10346,7 +10372,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10795,6 +10821,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -10827,8 +10855,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10856,7 +10884,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11309,6 +11337,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -11341,8 +11371,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11366,7 +11396,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11811,6 +11841,8 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -11845,8 +11877,8 @@ DROP TABLE t1;
# 2.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11865,7 +11897,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12355,8 +12387,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12375,7 +12407,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12865,8 +12897,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12893,7 +12925,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -13390,8 +13422,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13416,7 +13448,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -13907,8 +13939,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13931,7 +13963,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -14426,8 +14458,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14454,7 +14486,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -14952,8 +14984,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14980,7 +15012,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -15482,8 +15514,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15506,7 +15538,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -16001,8 +16033,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16021,7 +16053,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -16511,8 +16543,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16531,7 +16563,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -17021,8 +17053,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17049,7 +17081,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -17546,8 +17578,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17572,7 +17604,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -18063,8 +18095,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18087,7 +18119,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -18582,8 +18614,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18610,7 +18642,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -19108,8 +19140,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19136,7 +19168,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -19638,8 +19670,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19662,7 +19694,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
diff --git a/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result b/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result
index 2557cd5a219..c2e4d73cd0d 100644
--- a/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -43,8 +43,8 @@ SET @@session.sql_mode= '';
# 2.3.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -502,8 +502,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -961,8 +961,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1435,8 +1435,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1905,8 +1905,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2373,8 +2373,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2852,8 +2852,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3331,8 +3331,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3800,8 +3800,8 @@ DROP TABLE t1;
# 2.3.2 PRIMARY KEY exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3820,8 +3820,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4263,6 +4263,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -4295,8 +4298,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4315,8 +4318,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -4758,6 +4761,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -4790,8 +4796,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4818,8 +4824,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5268,6 +5274,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -5300,8 +5309,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5326,8 +5335,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -5774,6 +5783,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -5806,8 +5818,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5830,8 +5842,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6278,6 +6290,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -6310,8 +6325,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6338,8 +6353,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -6793,6 +6808,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -6825,8 +6843,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6853,8 +6871,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7308,6 +7326,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -7340,8 +7361,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7364,8 +7385,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -7811,6 +7832,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -7844,8 +7868,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7864,8 +7888,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8307,6 +8331,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -8339,8 +8366,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8359,8 +8386,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8802,6 +8829,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -8834,8 +8864,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8862,8 +8892,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9312,6 +9342,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -9344,8 +9377,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9370,8 +9403,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9818,6 +9851,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -9850,8 +9886,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9874,8 +9910,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10322,6 +10358,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -10354,8 +10393,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10382,8 +10421,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10837,6 +10876,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -10869,8 +10911,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10897,8 +10939,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11352,6 +11394,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -11384,8 +11429,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11408,8 +11453,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` mediumint(9) NOT NULL DEFAULT '0',
- `f_int2` mediumint(9) NOT NULL DEFAULT '0',
+ `f_int1` mediumint(9) NOT NULL,
+ `f_int2` mediumint(9) NOT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11855,6 +11900,9 @@ SELECT CAST(f_int1 AS CHAR),
CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
ORDER BY f_int1;
+Warnings:
+Warning 1364 Field 'f_int1' doesn't have a default value
+Warning 1364 Field 'f_int2' doesn't have a default value
DROP TRIGGER trg_3;
# check trigger-12 success: 1
@@ -11889,8 +11937,8 @@ DROP TABLE t1;
# 2.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12400,8 +12448,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12911,8 +12959,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13437,8 +13485,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13959,8 +14007,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14479,8 +14527,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15010,8 +15058,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15541,8 +15589,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16061,8 +16109,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16572,8 +16620,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17083,8 +17131,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17609,8 +17657,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18131,8 +18179,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18651,8 +18699,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19182,8 +19230,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19713,8 +19761,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
diff --git a/mysql-test/suite/parts/r/partition_alter2_2_maria.result b/mysql-test/suite/parts/r/partition_alter2_2_maria.result
index b5d45539036..7eaffd200ce 100644
--- a/mysql-test/suite/parts/r/partition_alter2_2_maria.result
+++ b/mysql-test/suite/parts/r/partition_alter2_2_maria.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'Aria';
+SET @@session.default_storage_engine = 'Aria';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ SET @@session.sql_mode= '';
# 2.1.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68,7 +68,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -515,8 +515,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -535,7 +535,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -988,8 +988,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1016,7 +1016,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1482,8 +1482,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1508,7 +1508,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1964,8 +1964,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1988,7 +1988,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2452,8 +2452,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2480,7 +2480,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2947,8 +2947,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2975,7 +2975,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3446,8 +3446,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3470,7 +3470,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3937,8 +3937,8 @@ DROP TABLE t1;
# 2.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3957,7 +3957,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -4456,8 +4456,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4476,7 +4476,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -4981,8 +4981,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5009,7 +5009,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -5527,8 +5527,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5553,7 +5553,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -6061,8 +6061,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6085,7 +6085,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -6601,8 +6601,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6629,7 +6629,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -7148,8 +7148,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7176,7 +7176,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -7699,8 +7699,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7723,7 +7723,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -8241,8 +8241,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8261,7 +8261,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -8760,8 +8760,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8780,7 +8780,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -9285,8 +9285,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9313,7 +9313,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -9831,8 +9831,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9857,7 +9857,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -10365,8 +10365,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10389,7 +10389,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -10905,8 +10905,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10933,7 +10933,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -11452,8 +11452,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11480,7 +11480,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12003,8 +12003,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12027,7 +12027,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12549,8 +12549,8 @@ DROP TABLE t1;
# 2.3.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13017,8 +13017,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13491,8 +13491,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13986,8 +13986,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14473,8 +14473,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14962,8 +14962,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15462,8 +15462,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15962,8 +15962,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16454,8 +16454,8 @@ DROP TABLE t1;
# 2.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16974,8 +16974,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17500,8 +17500,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18047,8 +18047,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18586,8 +18586,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19127,8 +19127,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19679,8 +19679,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20231,8 +20231,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20774,8 +20774,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21294,8 +21294,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21820,8 +21820,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22367,8 +22367,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22906,8 +22906,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23447,8 +23447,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23999,8 +23999,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24551,8 +24551,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
diff --git a/mysql-test/suite/parts/r/partition_alter2_2_myisam.result b/mysql-test/suite/parts/r/partition_alter2_2_myisam.result
index 70e869f48fb..85ace90e88c 100644
--- a/mysql-test/suite/parts/r/partition_alter2_2_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter2_2_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ SET @@session.sql_mode= '';
# 2.1.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68,7 +68,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -515,8 +515,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -535,7 +535,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -988,8 +988,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1016,7 +1016,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1482,8 +1482,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1508,7 +1508,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -1964,8 +1964,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1988,7 +1988,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2452,8 +2452,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2480,7 +2480,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -2947,8 +2947,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2975,7 +2975,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3446,8 +3446,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3470,7 +3470,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -3937,8 +3937,8 @@ DROP TABLE t1;
# 2.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3957,7 +3957,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -4456,8 +4456,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4476,7 +4476,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -4981,8 +4981,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5009,7 +5009,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -5527,8 +5527,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5553,7 +5553,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -6061,8 +6061,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6085,7 +6085,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -6601,8 +6601,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6629,7 +6629,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -7148,8 +7148,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7176,7 +7176,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -7699,8 +7699,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7723,7 +7723,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -8241,8 +8241,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8261,7 +8261,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -8760,8 +8760,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8780,7 +8780,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -9285,8 +9285,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9313,7 +9313,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -9831,8 +9831,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9857,7 +9857,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -10365,8 +10365,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10389,7 +10389,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -10905,8 +10905,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10933,7 +10933,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -11452,8 +11452,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11480,7 +11480,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12003,8 +12003,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12027,7 +12027,7 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
`f_int2` mediumint(9) DEFAULT NULL,
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
@@ -12549,8 +12549,8 @@ DROP TABLE t1;
# 2.3.1 no PRIMARY KEY or UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13017,8 +13017,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13491,8 +13491,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13986,8 +13986,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14473,8 +14473,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14962,8 +14962,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15462,8 +15462,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15962,8 +15962,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16454,8 +16454,8 @@ DROP TABLE t1;
# 2.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16974,8 +16974,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17500,8 +17500,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18047,8 +18047,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18586,8 +18586,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19127,8 +19127,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19679,8 +19679,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20231,8 +20231,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20774,8 +20774,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21294,8 +21294,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21820,8 +21820,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22367,8 +22367,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22906,8 +22906,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23447,8 +23447,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23999,8 +23999,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24551,8 +24551,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
diff --git a/mysql-test/suite/parts/r/partition_alter3_innodb.result b/mysql-test/suite/parts/r/partition_alter3_innodb.result
index ed41ede378d..a1718453c11 100644
--- a/mysql-test/suite/parts/r/partition_alter3_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter3_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -57,6 +57,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm
+t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
@@ -78,6 +79,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (YEAR(f_date)) */
+t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -96,6 +98,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */
+t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -112,6 +115,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (YEAR(f_date)) */
+t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -137,6 +141,9 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -161,6 +168,10 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -186,6 +197,14 @@ t1 CREATE TABLE `t1` (
PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB,
PARTITION p7 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#p4.ibd
+t1#P#p5.ibd
+t1#P#p6.ibd
+t1#P#p7.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -222,6 +241,13 @@ t1 CREATE TABLE `t1` (
PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#p4.ibd
+t1#P#p5.ibd
+t1#P#p6.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -244,6 +270,12 @@ t1 CREATE TABLE `t1` (
PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#p4.ibd
+t1#P#p5.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -265,6 +297,11 @@ t1 CREATE TABLE `t1` (
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#p4.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -285,6 +322,10 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -304,6 +345,9 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -322,6 +366,8 @@ t1 CREATE TABLE `t1` (
/*!50100 PARTITION BY HASH (YEAR(f_date))
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -339,6 +385,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (YEAR(f_date))
(PARTITION p0 ENGINE = InnoDB) */
+t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -359,6 +406,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm
+t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
@@ -367,6 +415,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
# check read row by row success: 1
# 1.2.7 Remove partitioning from not partitioned table --> ????
ALTER TABLE t1 REMOVE PARTITIONING;
+ERROR HY000: Partition management on a not partitioned table is not possible
DROP TABLE t1;
# Attention: There are unused files.
# Either the DROP TABLE or a preceding ALTER TABLE
@@ -380,8 +429,8 @@ unified filelist
#========================================================================
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -391,13 +440,14 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm
+t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
@@ -413,13 +463,14 @@ ALTER TABLE t1 PARTITION BY KEY(f_int1);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (f_int1) */
+t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -438,8 +489,8 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part7);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -448,6 +499,9 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -461,8 +515,8 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part2);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -472,6 +526,10 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -485,8 +543,8 @@ ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -500,6 +558,14 @@ t1 CREATE TABLE `t1` (
PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB,
PARTITION p7 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#p4.ibd
+t1#P#p5.ibd
+t1#P#p6.ibd
+t1#P#p7.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -520,8 +586,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -534,6 +600,13 @@ t1 CREATE TABLE `t1` (
PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#p4.ibd
+t1#P#p5.ibd
+t1#P#p6.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -546,8 +619,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -559,6 +632,12 @@ t1 CREATE TABLE `t1` (
PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#p4.ibd
+t1#P#p5.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -571,8 +650,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -583,6 +662,11 @@ t1 CREATE TABLE `t1` (
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#p4.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -595,8 +679,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -606,6 +690,10 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -618,8 +706,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -628,6 +716,9 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
+t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -640,8 +731,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -649,6 +740,8 @@ t1 CREATE TABLE `t1` (
/*!50100 PARTITION BY KEY (f_int1)
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB) */
+t1#P#p0.ibd
+t1#P#part1.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -661,14 +754,15 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (f_int1)
(PARTITION p0 ENGINE = InnoDB) */
+t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -685,13 +779,14 @@ ALTER TABLE t1 REMOVE PARTITIONING;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm
+t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
@@ -700,6 +795,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
# check read row by row success: 1
# 2.2.7 Remove partitioning from not partitioned table --> ????
ALTER TABLE t1 REMOVE PARTITIONING;
+ERROR HY000: Partition management on a not partitioned table is not possible
DROP TABLE t1;
# Attention: There are unused files.
# Either the DROP TABLE or a preceding ALTER TABLE
diff --git a/mysql-test/suite/parts/r/partition_alter3_myisam.result b/mysql-test/suite/parts/r/partition_alter3_myisam.result
index 297f2bf9210..8bee02a3096 100644
--- a/mysql-test/suite/parts/r/partition_alter3_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter3_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -463,6 +463,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
# check read row by row success: 1
# 1.2.7 Remove partitioning from not partitioned table --> ????
ALTER TABLE t1 REMOVE PARTITIONING;
+ERROR HY000: Partition management on a not partitioned table is not possible
DROP TABLE t1;
#========================================================================
@@ -470,8 +471,8 @@ DROP TABLE t1;
#========================================================================
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -481,8 +482,8 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -505,8 +506,8 @@ ALTER TABLE t1 PARTITION BY KEY(f_int1);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -532,8 +533,8 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part7);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -561,8 +562,8 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part2);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -593,8 +594,8 @@ ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -644,8 +645,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -684,8 +685,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -721,8 +722,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -755,8 +756,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -786,8 +787,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -814,8 +815,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -839,8 +840,8 @@ ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -865,8 +866,8 @@ ALTER TABLE t1 REMOVE PARTITIONING;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -882,6 +883,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
# check read row by row success: 1
# 2.2.7 Remove partitioning from not partitioned table --> ????
ALTER TABLE t1 REMOVE PARTITIONING;
+ERROR HY000: Partition management on a not partitioned table is not possible
DROP TABLE t1;
DROP VIEW IF EXISTS v1;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/parts/r/partition_alter4_innodb.result b/mysql-test/suite/parts/r/partition_alter4_innodb.result
index 46f3ed3c974..f51d6e5cb02 100644
--- a/mysql-test/suite/parts/r/partition_alter4_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter4_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -47,8 +47,8 @@ SET @@session.sql_mode= '';
# 1.1 ALTER ... ANALYZE PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -69,8 +69,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -506,8 +506,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -528,8 +528,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -968,8 +968,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -998,8 +998,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1441,8 +1441,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1469,8 +1469,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1908,8 +1908,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1934,8 +1934,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2375,8 +2375,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2405,8 +2405,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2851,8 +2851,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2881,8 +2881,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3329,8 +3329,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3355,8 +3355,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3797,8 +3797,8 @@ DROP TABLE t1;
# 1.2 ALTER ... ANALYZE PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3819,8 +3819,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4256,8 +4256,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4278,8 +4278,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4718,8 +4718,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4748,8 +4748,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5191,8 +5191,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5219,8 +5219,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5658,8 +5658,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5684,8 +5684,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6125,8 +6125,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6155,8 +6155,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6601,8 +6601,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6631,8 +6631,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7079,8 +7079,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7105,8 +7105,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7547,8 +7547,8 @@ DROP TABLE t1;
# 1.3 ALTER ... ANALYZE PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7569,8 +7569,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8006,8 +8006,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8028,8 +8028,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8468,8 +8468,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8498,8 +8498,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8941,8 +8941,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8969,8 +8969,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -9408,8 +9408,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9434,8 +9434,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -9875,8 +9875,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9905,8 +9905,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -10351,8 +10351,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10381,8 +10381,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -10829,8 +10829,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10855,8 +10855,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -11297,8 +11297,8 @@ DROP TABLE t1;
# 1.4 ALTER ... ANALYZE PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11319,8 +11319,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -11756,8 +11756,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11778,8 +11778,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -12218,8 +12218,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12248,8 +12248,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -12691,8 +12691,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12719,8 +12719,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -13158,8 +13158,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13184,8 +13184,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -13625,8 +13625,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13655,8 +13655,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -14101,8 +14101,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14131,8 +14131,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -14579,8 +14579,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14605,8 +14605,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -15047,8 +15047,8 @@ DROP TABLE t1;
# 1.5 ALTER ... ANALYZE PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15069,8 +15069,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -15506,8 +15506,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15528,8 +15528,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -15968,8 +15968,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15998,8 +15998,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -16441,8 +16441,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16469,8 +16469,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -16908,8 +16908,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16934,8 +16934,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -17375,8 +17375,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17405,8 +17405,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -17851,8 +17851,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17881,8 +17881,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -18329,8 +18329,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18355,8 +18355,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -18800,8 +18800,8 @@ DROP TABLE t1;
# 2.1 ALTER ... CHECK PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18822,8 +18822,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -19259,8 +19259,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19281,8 +19281,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -19721,8 +19721,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19751,8 +19751,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -20194,8 +20194,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20222,8 +20222,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -20661,8 +20661,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20687,8 +20687,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -21128,8 +21128,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21158,8 +21158,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -21604,8 +21604,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21634,8 +21634,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -22082,8 +22082,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22108,8 +22108,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -22550,8 +22550,8 @@ DROP TABLE t1;
# 2.2 ALTER ... CHECK PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22572,8 +22572,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -23009,8 +23009,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23031,8 +23031,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -23471,8 +23471,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23501,8 +23501,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -23944,8 +23944,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23972,8 +23972,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -24411,8 +24411,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24437,8 +24437,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -24878,8 +24878,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24908,8 +24908,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -25354,8 +25354,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -25384,8 +25384,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -25832,8 +25832,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -25858,8 +25858,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -26300,8 +26300,8 @@ DROP TABLE t1;
# 2.3 ALTER ... CHECK PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26322,8 +26322,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -26759,8 +26759,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26781,8 +26781,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -27221,8 +27221,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27251,8 +27251,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -27694,8 +27694,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27722,8 +27722,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -28161,8 +28161,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -28187,8 +28187,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -28628,8 +28628,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -28658,8 +28658,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -29104,8 +29104,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -29134,8 +29134,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -29582,8 +29582,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -29608,8 +29608,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -30050,8 +30050,8 @@ DROP TABLE t1;
# 2.4 ALTER ... CHECK PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -30072,8 +30072,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -30509,8 +30509,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -30531,8 +30531,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -30971,8 +30971,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -31001,8 +31001,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -31444,8 +31444,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -31472,8 +31472,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -31911,8 +31911,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -31937,8 +31937,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -32378,8 +32378,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -32408,8 +32408,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -32854,8 +32854,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -32884,8 +32884,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -33332,8 +33332,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -33358,8 +33358,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -33800,8 +33800,8 @@ DROP TABLE t1;
# 2.5 ALTER ... CHECK PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -33822,8 +33822,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -34259,8 +34259,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -34281,8 +34281,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -34721,8 +34721,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -34751,8 +34751,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -35194,8 +35194,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -35222,8 +35222,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -35661,8 +35661,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -35687,8 +35687,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -36128,8 +36128,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -36158,8 +36158,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -36604,8 +36604,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -36634,8 +36634,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -37082,8 +37082,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -37108,8 +37108,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -37553,8 +37553,8 @@ DROP TABLE t1;
# 3.1 ALTER ... OPTIMIZE PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -37576,8 +37576,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -38013,8 +38013,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -38036,8 +38036,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -38476,8 +38476,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -38507,8 +38507,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -38950,8 +38950,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -38979,8 +38979,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -39418,8 +39418,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -39445,8 +39445,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -39886,8 +39886,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -39917,8 +39917,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -40363,8 +40363,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -40394,8 +40394,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -40842,8 +40842,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -40869,8 +40869,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -41311,8 +41311,8 @@ DROP TABLE t1;
# 3.2 ALTER ... OPTIMIZE PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -41334,8 +41334,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -41771,8 +41771,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -41794,8 +41794,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -42234,8 +42234,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -42265,8 +42265,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -42708,8 +42708,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -42737,8 +42737,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -43176,8 +43176,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -43203,8 +43203,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -43644,8 +43644,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -43675,8 +43675,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -44121,8 +44121,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -44152,8 +44152,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -44600,8 +44600,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -44627,8 +44627,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -45069,8 +45069,8 @@ DROP TABLE t1;
# 3.3 ALTER ... OPTIMIZE PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -45091,8 +45091,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -45528,8 +45528,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -45550,8 +45550,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -45990,8 +45990,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -46020,8 +46020,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -46463,8 +46463,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -46491,8 +46491,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -46930,8 +46930,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -46956,8 +46956,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -47397,8 +47397,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -47427,8 +47427,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -47873,8 +47873,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -47903,8 +47903,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -48351,8 +48351,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -48377,8 +48377,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -48819,8 +48819,8 @@ DROP TABLE t1;
# 3.4 ALTER ... OPTIMIZE PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -48841,8 +48841,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -49278,8 +49278,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -49300,8 +49300,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -49740,8 +49740,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -49770,8 +49770,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -50213,8 +50213,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -50241,8 +50241,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -50680,8 +50680,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -50706,8 +50706,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -51147,8 +51147,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -51177,8 +51177,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -51623,8 +51623,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -51653,8 +51653,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -52101,8 +52101,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -52127,8 +52127,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -52569,8 +52569,8 @@ DROP TABLE t1;
# 3.5 ALTER ... OPTIMIZE PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -52592,8 +52592,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -53029,8 +53029,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -53052,8 +53052,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -53492,8 +53492,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -53523,8 +53523,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -53966,8 +53966,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -53995,8 +53995,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -54434,8 +54434,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -54461,8 +54461,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -54902,8 +54902,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -54933,8 +54933,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -55379,8 +55379,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -55410,8 +55410,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -55858,8 +55858,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -55885,8 +55885,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -56330,8 +56330,8 @@ DROP TABLE t1;
# 4.1 ALTER ... REBUILD PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -56350,8 +56350,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -56787,8 +56787,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -56807,8 +56807,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -57247,8 +57247,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -57275,8 +57275,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -57718,8 +57718,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -57744,8 +57744,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -58183,8 +58183,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -58207,8 +58207,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -58648,8 +58648,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -58676,8 +58676,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -59122,8 +59122,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -59150,8 +59150,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -59598,8 +59598,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -59622,8 +59622,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -60064,8 +60064,8 @@ DROP TABLE t1;
# 4.2 ALTER ... REBUILD PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -60084,8 +60084,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -60521,8 +60521,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -60541,8 +60541,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -60981,8 +60981,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -61009,8 +61009,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -61452,8 +61452,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -61478,8 +61478,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -61917,8 +61917,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -61941,8 +61941,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -62382,8 +62382,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -62410,8 +62410,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -62856,8 +62856,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -62884,8 +62884,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -63332,8 +63332,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63356,8 +63356,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -63798,8 +63798,8 @@ DROP TABLE t1;
# 4.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63813,8 +63813,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63828,8 +63828,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63851,8 +63851,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63872,8 +63872,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63891,8 +63891,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63914,8 +63914,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63937,8 +63937,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63958,8 +63958,8 @@ DROP TABLE t1;
# 4.4 ALTER ... REBUILD PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63973,8 +63973,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63988,8 +63988,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64011,8 +64011,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64032,8 +64032,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64051,8 +64051,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64074,8 +64074,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64097,8 +64097,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64118,8 +64118,8 @@ DROP TABLE t1;
# 4.5 ALTER ... REBUILD PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64138,8 +64138,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -64575,8 +64575,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64595,8 +64595,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -65035,8 +65035,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -65063,8 +65063,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -65506,8 +65506,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -65532,8 +65532,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -65971,8 +65971,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -65995,8 +65995,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -66436,8 +66436,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66464,8 +66464,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -66910,8 +66910,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66938,8 +66938,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -67386,8 +67386,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -67410,8 +67410,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -67855,8 +67855,8 @@ DROP TABLE t1;
# 5.1 ALTER ... REPAIR PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -67877,8 +67877,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -68314,8 +68314,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68336,8 +68336,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -68776,8 +68776,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68806,8 +68806,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -69249,8 +69249,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -69277,8 +69277,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -69716,8 +69716,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -69742,8 +69742,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -70183,8 +70183,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -70213,8 +70213,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -70659,8 +70659,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -70689,8 +70689,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -71137,8 +71137,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -71163,8 +71163,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -71605,8 +71605,8 @@ DROP TABLE t1;
# 5.2 ALTER ... REPAIR PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -71627,8 +71627,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -72064,8 +72064,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -72086,8 +72086,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -72526,8 +72526,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -72556,8 +72556,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -72999,8 +72999,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -73027,8 +73027,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -73466,8 +73466,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -73492,8 +73492,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -73933,8 +73933,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -73963,8 +73963,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -74409,8 +74409,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -74439,8 +74439,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -74887,8 +74887,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -74913,8 +74913,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -75355,8 +75355,8 @@ DROP TABLE t1;
# 5.3 ALTER ... REPAIR PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -75377,8 +75377,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -75814,8 +75814,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -75836,8 +75836,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -76276,8 +76276,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -76306,8 +76306,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -76749,8 +76749,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -76777,8 +76777,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -77216,8 +77216,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -77242,8 +77242,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -77683,8 +77683,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -77713,8 +77713,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -78159,8 +78159,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -78189,8 +78189,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -78637,8 +78637,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -78663,8 +78663,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -79105,8 +79105,8 @@ DROP TABLE t1;
# 5.4 ALTER ... REPAIR PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -79127,8 +79127,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -79564,8 +79564,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -79586,8 +79586,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -80026,8 +80026,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -80056,8 +80056,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -80499,8 +80499,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -80527,8 +80527,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -80966,8 +80966,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -80992,8 +80992,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -81433,8 +81433,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -81463,8 +81463,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -81909,8 +81909,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -81939,8 +81939,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -82387,8 +82387,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -82413,8 +82413,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -82855,8 +82855,8 @@ DROP TABLE t1;
# 5.5 ALTER ... REPAIR PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -82877,8 +82877,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -83314,8 +83314,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -83336,8 +83336,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -83776,8 +83776,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -83806,8 +83806,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -84249,8 +84249,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -84277,8 +84277,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -84716,8 +84716,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -84742,8 +84742,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -85183,8 +85183,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -85213,8 +85213,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -85659,8 +85659,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -85689,8 +85689,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -86137,8 +86137,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -86163,8 +86163,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -86608,8 +86608,8 @@ DROP TABLE t1;
# 6.1 ALTER ... REMOVE PARTITIONING;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -86628,8 +86628,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -87062,8 +87062,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -87082,8 +87082,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -87516,8 +87516,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -87544,8 +87544,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -87978,8 +87978,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -88004,8 +88004,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -88438,8 +88438,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -88462,8 +88462,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -88896,8 +88896,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -88924,8 +88924,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -89358,8 +89358,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -89386,8 +89386,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -89820,8 +89820,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -89844,8 +89844,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
diff --git a/mysql-test/suite/parts/r/partition_alter4_myisam.result b/mysql-test/suite/parts/r/partition_alter4_myisam.result
index c74a105306c..c49b4229519 100644
--- a/mysql-test/suite/parts/r/partition_alter4_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter4_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -47,8 +47,8 @@ SET @@session.sql_mode= '';
# 1.1 ALTER ... ANALYZE PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -69,8 +69,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -515,8 +515,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -537,8 +537,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -992,8 +992,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1022,8 +1022,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1486,8 +1486,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1514,8 +1514,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1970,8 +1970,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1996,8 +1996,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2458,8 +2458,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2488,8 +2488,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2955,8 +2955,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2985,8 +2985,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3454,8 +3454,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3480,8 +3480,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3945,8 +3945,8 @@ DROP TABLE t1;
# 1.2 ALTER ... ANALYZE PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3967,8 +3967,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4413,8 +4413,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4435,8 +4435,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4890,8 +4890,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4920,8 +4920,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5384,8 +5384,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5412,8 +5412,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5868,8 +5868,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5894,8 +5894,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6356,8 +6356,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6386,8 +6386,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6853,8 +6853,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6883,8 +6883,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7352,8 +7352,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7378,8 +7378,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7843,8 +7843,8 @@ DROP TABLE t1;
# 1.3 ALTER ... ANALYZE PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7865,8 +7865,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8311,8 +8311,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8333,8 +8333,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8788,8 +8788,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8818,8 +8818,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -9282,8 +9282,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9310,8 +9310,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -9766,8 +9766,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9792,8 +9792,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -10254,8 +10254,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10284,8 +10284,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -10751,8 +10751,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10781,8 +10781,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -11250,8 +11250,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11276,8 +11276,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -11741,8 +11741,8 @@ DROP TABLE t1;
# 1.4 ALTER ... ANALYZE PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11763,8 +11763,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -12209,8 +12209,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12231,8 +12231,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -12686,8 +12686,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12716,8 +12716,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -13180,8 +13180,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13208,8 +13208,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -13664,8 +13664,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13690,8 +13690,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -14152,8 +14152,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14182,8 +14182,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -14649,8 +14649,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14679,8 +14679,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -15148,8 +15148,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15174,8 +15174,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -15639,8 +15639,8 @@ DROP TABLE t1;
# 1.5 ALTER ... ANALYZE PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15661,8 +15661,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -16107,8 +16107,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16129,8 +16129,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -16584,8 +16584,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16614,8 +16614,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -17078,8 +17078,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17106,8 +17106,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -17562,8 +17562,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17588,8 +17588,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -18050,8 +18050,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18080,8 +18080,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -18547,8 +18547,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18577,8 +18577,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -19046,8 +19046,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19072,8 +19072,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -19540,8 +19540,8 @@ DROP TABLE t1;
# 2.1 ALTER ... CHECK PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19562,8 +19562,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -20008,8 +20008,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20030,8 +20030,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -20485,8 +20485,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20515,8 +20515,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -20979,8 +20979,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21007,8 +21007,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -21463,8 +21463,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21489,8 +21489,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -21951,8 +21951,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21981,8 +21981,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -22448,8 +22448,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22478,8 +22478,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -22947,8 +22947,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22973,8 +22973,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -23438,8 +23438,8 @@ DROP TABLE t1;
# 2.2 ALTER ... CHECK PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23460,8 +23460,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -23906,8 +23906,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23928,8 +23928,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -24383,8 +24383,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24413,8 +24413,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -24877,8 +24877,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24905,8 +24905,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -25361,8 +25361,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -25387,8 +25387,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -25849,8 +25849,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -25879,8 +25879,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -26346,8 +26346,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26376,8 +26376,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -26845,8 +26845,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26871,8 +26871,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -27336,8 +27336,8 @@ DROP TABLE t1;
# 2.3 ALTER ... CHECK PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27358,8 +27358,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -27804,8 +27804,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27826,8 +27826,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -28281,8 +28281,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -28311,8 +28311,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -28775,8 +28775,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -28803,8 +28803,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -29259,8 +29259,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -29285,8 +29285,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -29747,8 +29747,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -29777,8 +29777,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -30244,8 +30244,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -30274,8 +30274,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -30743,8 +30743,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -30769,8 +30769,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -31234,8 +31234,8 @@ DROP TABLE t1;
# 2.4 ALTER ... CHECK PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -31256,8 +31256,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -31702,8 +31702,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -31724,8 +31724,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -32179,8 +32179,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -32209,8 +32209,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -32673,8 +32673,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -32701,8 +32701,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -33157,8 +33157,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -33183,8 +33183,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -33645,8 +33645,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -33675,8 +33675,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -34142,8 +34142,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -34172,8 +34172,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -34641,8 +34641,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -34667,8 +34667,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -35132,8 +35132,8 @@ DROP TABLE t1;
# 2.5 ALTER ... CHECK PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -35154,8 +35154,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -35600,8 +35600,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -35622,8 +35622,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -36077,8 +36077,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -36107,8 +36107,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -36571,8 +36571,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -36599,8 +36599,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -37055,8 +37055,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -37081,8 +37081,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -37543,8 +37543,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -37573,8 +37573,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -38040,8 +38040,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -38070,8 +38070,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -38539,8 +38539,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -38565,8 +38565,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -39033,8 +39033,8 @@ DROP TABLE t1;
# 3.1 ALTER ... OPTIMIZE PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -39055,8 +39055,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -39501,8 +39501,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -39523,8 +39523,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -39978,8 +39978,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -40008,8 +40008,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -40472,8 +40472,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -40500,8 +40500,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -40956,8 +40956,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -40982,8 +40982,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -41444,8 +41444,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -41474,8 +41474,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -41941,8 +41941,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -41971,8 +41971,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -42440,8 +42440,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -42466,8 +42466,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -42931,8 +42931,8 @@ DROP TABLE t1;
# 3.2 ALTER ... OPTIMIZE PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -42953,8 +42953,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -43399,8 +43399,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -43421,8 +43421,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -43876,8 +43876,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -43906,8 +43906,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -44370,8 +44370,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -44398,8 +44398,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -44854,8 +44854,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -44880,8 +44880,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -45342,8 +45342,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -45372,8 +45372,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -45839,8 +45839,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -45869,8 +45869,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -46338,8 +46338,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -46364,8 +46364,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -46829,8 +46829,8 @@ DROP TABLE t1;
# 3.3 ALTER ... OPTIMIZE PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -46851,8 +46851,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -47297,8 +47297,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -47319,8 +47319,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -47774,8 +47774,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -47804,8 +47804,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -48268,8 +48268,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -48296,8 +48296,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -48752,8 +48752,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -48778,8 +48778,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -49240,8 +49240,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -49270,8 +49270,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -49737,8 +49737,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -49767,8 +49767,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -50236,8 +50236,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -50262,8 +50262,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -50727,8 +50727,8 @@ DROP TABLE t1;
# 3.4 ALTER ... OPTIMIZE PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -50749,8 +50749,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -51195,8 +51195,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -51217,8 +51217,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -51672,8 +51672,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -51702,8 +51702,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -52166,8 +52166,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -52194,8 +52194,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -52650,8 +52650,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -52676,8 +52676,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -53138,8 +53138,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -53168,8 +53168,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -53635,8 +53635,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -53665,8 +53665,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -54134,8 +54134,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -54160,8 +54160,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -54625,8 +54625,8 @@ DROP TABLE t1;
# 3.5 ALTER ... OPTIMIZE PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -54647,8 +54647,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -55093,8 +55093,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -55115,8 +55115,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -55570,8 +55570,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -55600,8 +55600,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -56064,8 +56064,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -56092,8 +56092,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -56548,8 +56548,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -56574,8 +56574,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -57036,8 +57036,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -57066,8 +57066,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -57533,8 +57533,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -57563,8 +57563,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -58032,8 +58032,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -58058,8 +58058,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -58526,8 +58526,8 @@ DROP TABLE t1;
# 4.1 ALTER ... REBUILD PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -58546,8 +58546,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -58992,8 +58992,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -59012,8 +59012,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -59467,8 +59467,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -59495,8 +59495,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -59959,8 +59959,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -59985,8 +59985,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -60441,8 +60441,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -60465,8 +60465,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -60927,8 +60927,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -60955,8 +60955,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -61422,8 +61422,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -61450,8 +61450,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -61919,8 +61919,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -61943,8 +61943,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -62408,8 +62408,8 @@ DROP TABLE t1;
# 4.2 ALTER ... REBUILD PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -62428,8 +62428,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -62874,8 +62874,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -62894,8 +62894,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -63349,8 +63349,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63377,8 +63377,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -63841,8 +63841,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -63867,8 +63867,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -64323,8 +64323,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64347,8 +64347,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -64809,8 +64809,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -64837,8 +64837,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -65304,8 +65304,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -65332,8 +65332,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -65801,8 +65801,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -65825,8 +65825,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -66290,8 +66290,8 @@ DROP TABLE t1;
# 4.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66305,8 +66305,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66320,8 +66320,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66343,8 +66343,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66364,8 +66364,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66383,8 +66383,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66406,8 +66406,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66429,8 +66429,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66450,8 +66450,8 @@ DROP TABLE t1;
# 4.4 ALTER ... REBUILD PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66465,8 +66465,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66480,8 +66480,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66503,8 +66503,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66524,8 +66524,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66543,8 +66543,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66566,8 +66566,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66589,8 +66589,8 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
ERROR HY000: Error in list of partitions to REBUILD
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66610,8 +66610,8 @@ DROP TABLE t1;
# 4.5 ALTER ... REBUILD PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -66630,8 +66630,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -67076,8 +67076,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -67096,8 +67096,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -67551,8 +67551,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -67579,8 +67579,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -68043,8 +68043,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68069,8 +68069,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -68525,8 +68525,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -68549,8 +68549,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -69011,8 +69011,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -69039,8 +69039,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -69506,8 +69506,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -69534,8 +69534,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -70003,8 +70003,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -70027,8 +70027,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -70495,8 +70495,8 @@ DROP TABLE t1;
# 5.1 ALTER ... REPAIR PARTITION part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -70517,8 +70517,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -70963,8 +70963,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -70985,8 +70985,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -71440,8 +71440,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -71470,8 +71470,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -71934,8 +71934,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -71962,8 +71962,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -72418,8 +72418,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -72444,8 +72444,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -72906,8 +72906,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -72936,8 +72936,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -73403,8 +73403,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -73433,8 +73433,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -73902,8 +73902,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -73928,8 +73928,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -74393,8 +74393,8 @@ DROP TABLE t1;
# 5.2 ALTER ... REPAIR PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -74415,8 +74415,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -74861,8 +74861,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -74883,8 +74883,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -75338,8 +75338,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -75368,8 +75368,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -75832,8 +75832,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -75860,8 +75860,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -76316,8 +76316,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -76342,8 +76342,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -76804,8 +76804,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -76834,8 +76834,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -77301,8 +77301,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -77331,8 +77331,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -77800,8 +77800,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -77826,8 +77826,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -78291,8 +78291,8 @@ DROP TABLE t1;
# 5.3 ALTER ... REPAIR PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -78313,8 +78313,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -78759,8 +78759,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -78781,8 +78781,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -79236,8 +79236,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -79266,8 +79266,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -79730,8 +79730,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -79758,8 +79758,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -80214,8 +80214,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -80240,8 +80240,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -80702,8 +80702,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -80732,8 +80732,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -81199,8 +81199,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -81229,8 +81229,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -81698,8 +81698,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -81724,8 +81724,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -82189,8 +82189,8 @@ DROP TABLE t1;
# 5.4 ALTER ... REPAIR PARTITION part_1,part_1,part_1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -82211,8 +82211,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -82657,8 +82657,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -82679,8 +82679,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -83134,8 +83134,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -83164,8 +83164,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -83628,8 +83628,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -83656,8 +83656,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -84112,8 +84112,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -84138,8 +84138,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -84600,8 +84600,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -84630,8 +84630,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -85097,8 +85097,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -85127,8 +85127,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -85596,8 +85596,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -85622,8 +85622,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -86087,8 +86087,8 @@ DROP TABLE t1;
# 5.5 ALTER ... REPAIR PARTITION ALL;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -86109,8 +86109,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -86555,8 +86555,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -86577,8 +86577,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -87032,8 +87032,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -87062,8 +87062,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -87526,8 +87526,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -87554,8 +87554,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -88010,8 +88010,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -88036,8 +88036,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -88498,8 +88498,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -88528,8 +88528,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -88995,8 +88995,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -89025,8 +89025,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -89494,8 +89494,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -89520,8 +89520,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -89988,8 +89988,8 @@ DROP TABLE t1;
# 6.1 ALTER ... REMOVE PARTITIONING;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -90008,8 +90008,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -90448,8 +90448,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -90468,8 +90468,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -90908,8 +90908,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -90936,8 +90936,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -91376,8 +91376,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -91402,8 +91402,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -91842,8 +91842,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -91866,8 +91866,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -92306,8 +92306,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -92334,8 +92334,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -92774,8 +92774,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -92802,8 +92802,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -93242,8 +93242,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -93266,8 +93266,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
diff --git a/mysql-test/suite/parts/r/partition_alter_innodb.result b/mysql-test/suite/parts/r/partition_alter_innodb.result
index 4436ba5e737..87c113a2720 100644
--- a/mysql-test/suite/parts/r/partition_alter_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter_innodb.result
@@ -1,4 +1,18 @@
#
+# MDEV-14641 Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine
+#
+CREATE TABLE t1 (i INT) ENGINE=InnoDB PARTITION BY LIST(i) (PARTITION p0 VALUES IN (1), PARTITION p1 VALUES IN (2));;
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+ALTER TABLE t1 DROP PARTITION p1;
+SELECT * FROM t1;
+i
+DROP TABLE t1;
+#
# MDEV-13788 Server crash when issuing bad SQL partition syntax
#
CREATE TABLE t1 (id int, d date) ENGINE=InnoDB PARTITION BY RANGE COLUMNS(d) (PARTITION p1 VALUES LESS THAN (MAXVALUE));
@@ -33,3 +47,9 @@ PARTITION p3 VALUES IN (4,5,6)
);
ERROR HY000: Syntax error: LIST PARTITIONING requires definition of VALUES IN for each partition
DROP TABLE t1;
+create table t1 (i int) engine=InnoDB partition by range(i) (partition p0 values less than (10));
+lock table t1 write;
+alter table t1 add partition (partition p0 values less than (20));
+ERROR HY000: Duplicate partition name p0
+alter table t1 add partition (partition p1 values less than (20)) /* comment */;
+drop table t1;
diff --git a/mysql-test/suite/parts/r/partition_alter_maria.result b/mysql-test/suite/parts/r/partition_alter_maria.result
index d79bc0a41fe..5f1f882d2ea 100644
--- a/mysql-test/suite/parts/r/partition_alter_maria.result
+++ b/mysql-test/suite/parts/r/partition_alter_maria.result
@@ -26,6 +26,15 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
drop table t1;
#
+# MDEV-14641 Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine
+#
+CREATE TABLE t1 (i INT) ENGINE=Aria PARTITION BY LIST(i) (PARTITION p0 VALUES IN (1), PARTITION p1 VALUES IN (2));;
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DROP PARTITION p1;
+SELECT * FROM t1;
+i
+DROP TABLE t1;
+#
# MDEV-13788 Server crash when issuing bad SQL partition syntax
#
CREATE TABLE t1 (id int, d date) ENGINE=Aria PARTITION BY RANGE COLUMNS(d) (PARTITION p1 VALUES LESS THAN (MAXVALUE));
@@ -60,3 +69,9 @@ PARTITION p3 VALUES IN (4,5,6)
);
ERROR HY000: Syntax error: LIST PARTITIONING requires definition of VALUES IN for each partition
DROP TABLE t1;
+create table t1 (i int) engine=Aria partition by range(i) (partition p0 values less than (10));
+lock table t1 write;
+alter table t1 add partition (partition p0 values less than (20));
+ERROR HY000: Duplicate partition name p0
+alter table t1 add partition (partition p1 values less than (20)) /* comment */;
+drop table t1;
diff --git a/mysql-test/suite/parts/r/partition_alter_myisam.result b/mysql-test/suite/parts/r/partition_alter_myisam.result
index 050e1d9a519..4098ebba473 100644
--- a/mysql-test/suite/parts/r/partition_alter_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter_myisam.result
@@ -1,4 +1,13 @@
#
+# MDEV-14641 Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine
+#
+CREATE TABLE t1 (i INT) ENGINE=MyISAM PARTITION BY LIST(i) (PARTITION p0 VALUES IN (1), PARTITION p1 VALUES IN (2));;
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+ALTER TABLE t1 DROP PARTITION p1;
+SELECT * FROM t1;
+i
+DROP TABLE t1;
+#
# MDEV-13788 Server crash when issuing bad SQL partition syntax
#
CREATE TABLE t1 (id int, d date) ENGINE=MyISAM PARTITION BY RANGE COLUMNS(d) (PARTITION p1 VALUES LESS THAN (MAXVALUE));
@@ -33,3 +42,22 @@ PARTITION p3 VALUES IN (4,5,6)
);
ERROR HY000: Syntax error: LIST PARTITIONING requires definition of VALUES IN for each partition
DROP TABLE t1;
+create table t1 (i int) engine=MyISAM partition by range(i) (partition p0 values less than (10));
+lock table t1 write;
+alter table t1 add partition (partition p0 values less than (20));
+ERROR HY000: Duplicate partition name p0
+alter table t1 add partition (partition p1 values less than (20)) /* comment */;
+drop table t1;
+create table t1 ( c1 int, c2 int, c3 varchar(100)) delay_key_write=1
+partition by key(c1) (
+partition p01 data directory = 'MYSQL_TMP_DIR'
+ index directory = 'MYSQL_TMP_DIR',
+partition p02 data directory = 'MYSQL_TMP_DIR'
+ index directory = 'MYSQL_TMP_DIR');
+insert into t1 values (1, 1, repeat('a', 100));
+insert into t1 select rand()*1000, rand()*1000, repeat('b', 100) from t1;
+insert into t1 select rand()*1000, rand()*1000, repeat('b', 100) from t1;
+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;
diff --git a/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result b/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result
index 2344f03ce3f..03e87bc22fb 100644
--- a/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result
+++ b/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result
@@ -510,7 +510,7 @@ INSERT INTO t1 VALUES (2, NULL);
INSERT INTO t1 VALUES (3, NULL);
INSERT INTO t1 VALUES (3, NULL), (2, 0), (2, NULL);
INSERT INTO t1 VALUES (2, 2);
-# ERROR (only OK if Blackhole/NDB) should give ER_DUP_KEY or ER_DUP_ENTRY
+# ERROR (only OK if Blackhole) should give ER_DUP_KEY or ER_DUP_ENTRY
# mysql_errno: 0
INSERT INTO t1 VALUES (2, 22), (2, NULL);
SELECT * FROM t1 ORDER BY c1,c2;
diff --git a/mysql-test/suite/parts/r/partition_auto_increment_max.result b/mysql-test/suite/parts/r/partition_auto_increment_max.result
new file mode 100644
index 00000000000..65a3900e8e6
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_auto_increment_max.result
@@ -0,0 +1,7 @@
+CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY) PARTITION BY KEY (pk) PARTITIONS 2;
+INSERT INTO t1 VALUES (NULL),(NULL);
+UPDATE t1 SET pk = 2147483647;
+ERROR 23000: Duplicate entry '2147483647' for key 'PRIMARY'
+REPLACE INTO t1 VALUES (NULL);
+ERROR 22003: Out of range value for column 'pk' at row 1
+DROP TABLE t1;
diff --git a/mysql-test/suite/parts/r/partition_basic_innodb.result b/mysql-test/suite/parts/r/partition_basic_innodb.result
index ea5a53fc5f4..1a726229403 100644
--- a/mysql-test/suite/parts/r/partition_basic_innodb.result
+++ b/mysql-test/suite/parts/r/partition_basic_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -52,8 +52,8 @@ SET @@session.sql_mode= '';
# 1.1 The partitioning function contains one column.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -67,8 +67,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -77,6 +77,8 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
t1.frm
t1.par
@@ -507,8 +509,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -522,8 +524,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -532,6 +534,11 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
t1.frm
t1.par
@@ -962,8 +969,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -985,8 +992,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1002,6 +1009,14 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
+t1#P#part0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part3.ibd
+t1#P#part_1.ibd
+t1#P#part_2.ibd
+t1#P#part_3.ibd
+t1#P#part_N.ibd
t1.frm
t1.par
@@ -1432,8 +1447,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1453,8 +1468,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1468,6 +1483,12 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta.ibd
+t1#P#partb.ibd
+t1#P#partc.ibd
+t1#P#partd.ibd
+t1#P#parte.ibd
+t1#P#partf.ibd
t1.frm
t1.par
@@ -1896,8 +1917,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1915,8 +1936,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1930,6 +1951,14 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta#SP#partasp0.ibd
+t1#P#parta#SP#partasp1.ibd
+t1#P#partb#SP#partbsp0.ibd
+t1#P#partb#SP#partbsp1.ibd
+t1#P#partc#SP#partcsp0.ibd
+t1#P#partc#SP#partcsp1.ibd
+t1#P#partd#SP#partdsp0.ibd
+t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -2360,8 +2389,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2383,8 +2412,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2405,6 +2434,14 @@ SUBPARTITION BY KEY (f_int1)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#subpart11.ibd
+t1#P#part1#SP#subpart12.ibd
+t1#P#part2#SP#subpart21.ibd
+t1#P#part2#SP#subpart22.ibd
+t1#P#part3#SP#subpart31.ibd
+t1#P#part3#SP#subpart32.ibd
+t1#P#part4#SP#subpart41.ibd
+t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -2833,8 +2870,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2860,8 +2897,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2882,6 +2919,14 @@ SUBPARTITION BY HASH (f_int1 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#sp11.ibd
+t1#P#part1#SP#sp12.ibd
+t1#P#part2#SP#sp21.ibd
+t1#P#part2#SP#sp22.ibd
+t1#P#part3#SP#sp31.ibd
+t1#P#part3#SP#sp32.ibd
+t1#P#part4#SP#sp41.ibd
+t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -3312,8 +3357,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3331,8 +3376,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3345,6 +3390,15 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
+t1#P#part1#SP#part1sp0.ibd
+t1#P#part1#SP#part1sp1.ibd
+t1#P#part1#SP#part1sp2.ibd
+t1#P#part2#SP#part2sp0.ibd
+t1#P#part2#SP#part2sp1.ibd
+t1#P#part2#SP#part2sp2.ibd
+t1#P#part3#SP#part3sp0.ibd
+t1#P#part3#SP#part3sp1.ibd
+t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -3777,8 +3831,8 @@ DROP TABLE t1;
# 1.2 The partitioning function contains two columns.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3792,8 +3846,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3802,6 +3856,8 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
t1.frm
t1.par
@@ -4232,8 +4288,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4247,8 +4303,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4257,6 +4313,11 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
t1.frm
t1.par
@@ -4687,8 +4748,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4710,8 +4771,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4727,6 +4788,14 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
+t1#P#part0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part3.ibd
+t1#P#part_1.ibd
+t1#P#part_2.ibd
+t1#P#part_3.ibd
+t1#P#part_N.ibd
t1.frm
t1.par
@@ -5157,8 +5226,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5178,8 +5247,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5193,6 +5262,12 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta.ibd
+t1#P#partb.ibd
+t1#P#partc.ibd
+t1#P#partd.ibd
+t1#P#parte.ibd
+t1#P#partf.ibd
t1.frm
t1.par
@@ -5621,8 +5696,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5640,8 +5715,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5655,6 +5730,14 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta#SP#partasp0.ibd
+t1#P#parta#SP#partasp1.ibd
+t1#P#partb#SP#partbsp0.ibd
+t1#P#partb#SP#partbsp1.ibd
+t1#P#partc#SP#partcsp0.ibd
+t1#P#partc#SP#partcsp1.ibd
+t1#P#partd#SP#partdsp0.ibd
+t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -6083,8 +6166,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6106,8 +6189,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6128,6 +6211,14 @@ SUBPARTITION BY KEY (f_int2)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#subpart11.ibd
+t1#P#part1#SP#subpart12.ibd
+t1#P#part2#SP#subpart21.ibd
+t1#P#part2#SP#subpart22.ibd
+t1#P#part3#SP#subpart31.ibd
+t1#P#part3#SP#subpart32.ibd
+t1#P#part4#SP#subpart41.ibd
+t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -6556,8 +6647,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6579,8 +6670,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6601,6 +6692,14 @@ SUBPARTITION BY HASH (f_int2 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#sp11.ibd
+t1#P#part1#SP#sp12.ibd
+t1#P#part2#SP#sp21.ibd
+t1#P#part2#SP#sp22.ibd
+t1#P#part3#SP#sp31.ibd
+t1#P#part3#SP#sp32.ibd
+t1#P#part4#SP#sp41.ibd
+t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -7031,8 +7130,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7050,8 +7149,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7064,6 +7163,15 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
+t1#P#part1#SP#part1sp0.ibd
+t1#P#part1#SP#part1sp1.ibd
+t1#P#part1#SP#part1sp2.ibd
+t1#P#part2#SP#part2sp0.ibd
+t1#P#part2#SP#part2sp1.ibd
+t1#P#part2#SP#part2sp2.ibd
+t1#P#part3#SP#part3sp0.ibd
+t1#P#part3#SP#part3sp1.ibd
+t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -7500,8 +7608,8 @@ DROP TABLE t1;
# 2.5 PRIMARY KEY + UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7527,6 +7635,8 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
t1.frm
t1.par
@@ -7992,8 +8102,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8019,6 +8129,11 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
t1.frm
t1.par
@@ -8484,8 +8599,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8526,6 +8641,14 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
+t1#P#part0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part3.ibd
+t1#P#part_1.ibd
+t1#P#part_2.ibd
+t1#P#part_3.ibd
+t1#P#part_N.ibd
t1.frm
t1.par
@@ -8991,8 +9114,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9029,6 +9152,12 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta.ibd
+t1#P#partb.ibd
+t1#P#partc.ibd
+t1#P#partd.ibd
+t1#P#parte.ibd
+t1#P#partf.ibd
t1.frm
t1.par
@@ -9492,8 +9621,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9528,6 +9657,14 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta#SP#partasp0.ibd
+t1#P#parta#SP#partasp1.ibd
+t1#P#partb#SP#partbsp0.ibd
+t1#P#partb#SP#partbsp1.ibd
+t1#P#partc#SP#partcsp0.ibd
+t1#P#partc#SP#partcsp1.ibd
+t1#P#partd#SP#partdsp0.ibd
+t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -9993,8 +10130,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10040,6 +10177,14 @@ SUBPARTITION BY KEY (f_int1)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#subpart11.ibd
+t1#P#part1#SP#subpart12.ibd
+t1#P#part2#SP#subpart21.ibd
+t1#P#part2#SP#subpart22.ibd
+t1#P#part3#SP#subpart31.ibd
+t1#P#part3#SP#subpart32.ibd
+t1#P#part4#SP#subpart41.ibd
+t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -10503,8 +10648,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10554,6 +10699,14 @@ SUBPARTITION BY HASH (f_int1 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#sp11.ibd
+t1#P#part1#SP#sp12.ibd
+t1#P#part2#SP#sp21.ibd
+t1#P#part2#SP#sp22.ibd
+t1#P#part3#SP#sp31.ibd
+t1#P#part3#SP#sp32.ibd
+t1#P#part4#SP#sp41.ibd
+t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -11019,8 +11172,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11054,6 +11207,15 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
+t1#P#part1#SP#part1sp0.ibd
+t1#P#part1#SP#part1sp1.ibd
+t1#P#part1#SP#part1sp2.ibd
+t1#P#part2#SP#part2sp0.ibd
+t1#P#part2#SP#part2sp1.ibd
+t1#P#part2#SP#part2sp2.ibd
+t1#P#part3#SP#part3sp0.ibd
+t1#P#part3#SP#part3sp1.ibd
+t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -11520,8 +11682,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11547,6 +11709,8 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
t1.frm
t1.par
@@ -12012,8 +12176,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12039,6 +12203,11 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
t1.frm
t1.par
@@ -12504,8 +12673,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12546,6 +12715,14 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
+t1#P#part0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part3.ibd
+t1#P#part_1.ibd
+t1#P#part_2.ibd
+t1#P#part_3.ibd
+t1#P#part_N.ibd
t1.frm
t1.par
@@ -13011,8 +13188,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13049,6 +13226,12 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta.ibd
+t1#P#partb.ibd
+t1#P#partc.ibd
+t1#P#partd.ibd
+t1#P#parte.ibd
+t1#P#partf.ibd
t1.frm
t1.par
@@ -13512,8 +13695,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13548,6 +13731,14 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta#SP#partasp0.ibd
+t1#P#parta#SP#partasp1.ibd
+t1#P#partb#SP#partbsp0.ibd
+t1#P#partb#SP#partbsp1.ibd
+t1#P#partc#SP#partcsp0.ibd
+t1#P#partc#SP#partcsp1.ibd
+t1#P#partd#SP#partdsp0.ibd
+t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -14013,8 +14204,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14060,6 +14251,14 @@ SUBPARTITION BY KEY (f_int1)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#subpart11.ibd
+t1#P#part1#SP#subpart12.ibd
+t1#P#part2#SP#subpart21.ibd
+t1#P#part2#SP#subpart22.ibd
+t1#P#part3#SP#subpart31.ibd
+t1#P#part3#SP#subpart32.ibd
+t1#P#part4#SP#subpart41.ibd
+t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -14523,8 +14722,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14574,6 +14773,14 @@ SUBPARTITION BY HASH (f_int1 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#sp11.ibd
+t1#P#part1#SP#sp12.ibd
+t1#P#part2#SP#sp21.ibd
+t1#P#part2#SP#sp22.ibd
+t1#P#part3#SP#sp31.ibd
+t1#P#part3#SP#sp32.ibd
+t1#P#part4#SP#sp41.ibd
+t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -15039,8 +15246,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15074,6 +15281,15 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
+t1#P#part1#SP#part1sp0.ibd
+t1#P#part1#SP#part1sp1.ibd
+t1#P#part1#SP#part1sp2.ibd
+t1#P#part2#SP#part2sp0.ibd
+t1#P#part2#SP#part2sp1.ibd
+t1#P#part2#SP#part2sp2.ibd
+t1#P#part3#SP#part3sp0.ibd
+t1#P#part3#SP#part3sp1.ibd
+t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -15540,8 +15756,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15555,8 +15771,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -15567,6 +15783,8 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
t1.frm
t1.par
@@ -16048,8 +16266,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16063,8 +16281,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -16075,6 +16293,11 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
t1.frm
t1.par
@@ -16556,8 +16779,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16579,8 +16802,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -16598,6 +16821,14 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
+t1#P#part0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part3.ibd
+t1#P#part_1.ibd
+t1#P#part_2.ibd
+t1#P#part_3.ibd
+t1#P#part_N.ibd
t1.frm
t1.par
@@ -17079,8 +17310,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17100,8 +17331,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -17117,6 +17348,12 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta.ibd
+t1#P#partb.ibd
+t1#P#partc.ibd
+t1#P#partd.ibd
+t1#P#parte.ibd
+t1#P#partf.ibd
t1.frm
t1.par
@@ -17596,8 +17833,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17615,8 +17852,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -17632,6 +17869,14 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta#SP#partasp0.ibd
+t1#P#parta#SP#partasp1.ibd
+t1#P#partb#SP#partbsp0.ibd
+t1#P#partb#SP#partbsp1.ibd
+t1#P#partc#SP#partcsp0.ibd
+t1#P#partc#SP#partcsp1.ibd
+t1#P#partd#SP#partdsp0.ibd
+t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -18113,8 +18358,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18136,8 +18381,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -18160,6 +18405,14 @@ SUBPARTITION BY KEY (f_int1)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#subpart11.ibd
+t1#P#part1#SP#subpart12.ibd
+t1#P#part2#SP#subpart21.ibd
+t1#P#part2#SP#subpart22.ibd
+t1#P#part3#SP#subpart31.ibd
+t1#P#part3#SP#subpart32.ibd
+t1#P#part4#SP#subpart41.ibd
+t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -18639,8 +18892,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18666,8 +18919,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -18690,6 +18943,14 @@ SUBPARTITION BY HASH (f_int1 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#sp11.ibd
+t1#P#part1#SP#sp12.ibd
+t1#P#part2#SP#sp21.ibd
+t1#P#part2#SP#sp22.ibd
+t1#P#part3#SP#sp31.ibd
+t1#P#part3#SP#sp32.ibd
+t1#P#part4#SP#sp41.ibd
+t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -19171,8 +19432,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19190,8 +19451,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -19206,6 +19467,15 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
+t1#P#part1#SP#part1sp0.ibd
+t1#P#part1#SP#part1sp1.ibd
+t1#P#part1#SP#part1sp2.ibd
+t1#P#part2#SP#part2sp0.ibd
+t1#P#part2#SP#part2sp1.ibd
+t1#P#part2#SP#part2sp2.ibd
+t1#P#part3#SP#part3sp0.ibd
+t1#P#part3#SP#part3sp1.ibd
+t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -19693,8 +19963,8 @@ DROP TABLE t1;
# 3.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19720,6 +19990,8 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
t1.frm
t1.par
@@ -20185,8 +20457,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20212,6 +20484,11 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
t1.frm
t1.par
@@ -20677,8 +20954,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20719,6 +20996,14 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
+t1#P#part0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part3.ibd
+t1#P#part_1.ibd
+t1#P#part_2.ibd
+t1#P#part_3.ibd
+t1#P#part_N.ibd
t1.frm
t1.par
@@ -21184,8 +21469,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21222,6 +21507,12 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta.ibd
+t1#P#partb.ibd
+t1#P#partc.ibd
+t1#P#partd.ibd
+t1#P#parte.ibd
+t1#P#partf.ibd
t1.frm
t1.par
@@ -21685,8 +21976,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -21721,6 +22012,14 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta#SP#partasp0.ibd
+t1#P#parta#SP#partasp1.ibd
+t1#P#partb#SP#partbsp0.ibd
+t1#P#partb#SP#partbsp1.ibd
+t1#P#partc#SP#partcsp0.ibd
+t1#P#partc#SP#partcsp1.ibd
+t1#P#partd#SP#partdsp0.ibd
+t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -22184,8 +22483,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22231,6 +22530,14 @@ SUBPARTITION BY KEY (f_int2)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#subpart11.ibd
+t1#P#part1#SP#subpart12.ibd
+t1#P#part2#SP#subpart21.ibd
+t1#P#part2#SP#subpart22.ibd
+t1#P#part3#SP#subpart31.ibd
+t1#P#part3#SP#subpart32.ibd
+t1#P#part4#SP#subpart41.ibd
+t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -22694,8 +23001,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -22741,6 +23048,14 @@ SUBPARTITION BY HASH (f_int2 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#sp11.ibd
+t1#P#part1#SP#sp12.ibd
+t1#P#part2#SP#sp21.ibd
+t1#P#part2#SP#sp22.ibd
+t1#P#part3#SP#sp31.ibd
+t1#P#part3#SP#sp32.ibd
+t1#P#part4#SP#sp41.ibd
+t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -23206,8 +23521,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23241,6 +23556,15 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
+t1#P#part1#SP#part1sp0.ibd
+t1#P#part1#SP#part1sp1.ibd
+t1#P#part1#SP#part1sp2.ibd
+t1#P#part2#SP#part2sp0.ibd
+t1#P#part2#SP#part2sp1.ibd
+t1#P#part2#SP#part2sp2.ibd
+t1#P#part3#SP#part3sp0.ibd
+t1#P#part3#SP#part3sp1.ibd
+t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -23707,8 +24031,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -23734,6 +24058,8 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
t1.frm
t1.par
@@ -24199,8 +24525,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24226,6 +24552,11 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
t1.frm
t1.par
@@ -24691,8 +25022,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -24733,6 +25064,14 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
+t1#P#part0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part3.ibd
+t1#P#part_1.ibd
+t1#P#part_2.ibd
+t1#P#part_3.ibd
+t1#P#part_N.ibd
t1.frm
t1.par
@@ -25198,8 +25537,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -25236,6 +25575,12 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta.ibd
+t1#P#partb.ibd
+t1#P#partc.ibd
+t1#P#partd.ibd
+t1#P#parte.ibd
+t1#P#partf.ibd
t1.frm
t1.par
@@ -25699,8 +26044,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -25735,6 +26080,14 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta#SP#partasp0.ibd
+t1#P#parta#SP#partasp1.ibd
+t1#P#partb#SP#partbsp0.ibd
+t1#P#partb#SP#partbsp1.ibd
+t1#P#partc#SP#partcsp0.ibd
+t1#P#partc#SP#partcsp1.ibd
+t1#P#partd#SP#partdsp0.ibd
+t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -26198,8 +26551,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26245,6 +26598,14 @@ SUBPARTITION BY KEY (f_int2)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#subpart11.ibd
+t1#P#part1#SP#subpart12.ibd
+t1#P#part2#SP#subpart21.ibd
+t1#P#part2#SP#subpart22.ibd
+t1#P#part3#SP#subpart31.ibd
+t1#P#part3#SP#subpart32.ibd
+t1#P#part4#SP#subpart41.ibd
+t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -26708,8 +27069,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -26755,6 +27116,14 @@ SUBPARTITION BY HASH (f_int2 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#sp11.ibd
+t1#P#part1#SP#sp12.ibd
+t1#P#part2#SP#sp21.ibd
+t1#P#part2#SP#sp22.ibd
+t1#P#part3#SP#sp31.ibd
+t1#P#part3#SP#sp32.ibd
+t1#P#part4#SP#sp41.ibd
+t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -27220,8 +27589,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27255,6 +27624,15 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
+t1#P#part1#SP#part1sp0.ibd
+t1#P#part1#SP#part1sp1.ibd
+t1#P#part1#SP#part1sp2.ibd
+t1#P#part2#SP#part2sp0.ibd
+t1#P#part2#SP#part2sp1.ibd
+t1#P#part2#SP#part2sp2.ibd
+t1#P#part3#SP#part3sp0.ibd
+t1#P#part3#SP#part3sp1.ibd
+t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -27721,8 +28099,8 @@ TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -27736,8 +28114,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -27748,6 +28126,8 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
t1.frm
t1.par
@@ -28229,8 +28609,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -28244,8 +28624,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -28256,6 +28636,11 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
t1.frm
t1.par
@@ -28737,8 +29122,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -28760,8 +29145,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -28779,6 +29164,14 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
+t1#P#part0.ibd
+t1#P#part1.ibd
+t1#P#part2.ibd
+t1#P#part3.ibd
+t1#P#part_1.ibd
+t1#P#part_2.ibd
+t1#P#part_3.ibd
+t1#P#part_N.ibd
t1.frm
t1.par
@@ -29260,8 +29653,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -29281,8 +29674,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -29298,6 +29691,12 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta.ibd
+t1#P#partb.ibd
+t1#P#partc.ibd
+t1#P#partd.ibd
+t1#P#parte.ibd
+t1#P#partf.ibd
t1.frm
t1.par
@@ -29777,8 +30176,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -29796,8 +30195,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -29813,6 +30212,14 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
+t1#P#parta#SP#partasp0.ibd
+t1#P#parta#SP#partasp1.ibd
+t1#P#partb#SP#partbsp0.ibd
+t1#P#partb#SP#partbsp1.ibd
+t1#P#partc#SP#partcsp0.ibd
+t1#P#partc#SP#partcsp1.ibd
+t1#P#partd#SP#partdsp0.ibd
+t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -30292,8 +30699,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -30315,8 +30722,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -30339,6 +30746,14 @@ SUBPARTITION BY KEY (f_int2)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#subpart11.ibd
+t1#P#part1#SP#subpart12.ibd
+t1#P#part2#SP#subpart21.ibd
+t1#P#part2#SP#subpart22.ibd
+t1#P#part3#SP#subpart31.ibd
+t1#P#part3#SP#subpart32.ibd
+t1#P#part4#SP#subpart41.ibd
+t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -30818,8 +31233,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -30841,8 +31256,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -30865,6 +31280,14 @@ SUBPARTITION BY HASH (f_int2 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
+t1#P#part1#SP#sp11.ibd
+t1#P#part1#SP#sp12.ibd
+t1#P#part2#SP#sp21.ibd
+t1#P#part2#SP#sp22.ibd
+t1#P#part3#SP#sp31.ibd
+t1#P#part3#SP#sp32.ibd
+t1#P#part4#SP#sp41.ibd
+t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -31346,8 +31769,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -31365,8 +31788,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -31381,6 +31804,15 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
+t1#P#part1#SP#part1sp0.ibd
+t1#P#part1#SP#part1sp1.ibd
+t1#P#part1#SP#part1sp2.ibd
+t1#P#part2#SP#part2sp0.ibd
+t1#P#part2#SP#part2sp1.ibd
+t1#P#part2#SP#part2sp2.ibd
+t1#P#part3#SP#part3sp0.ibd
+t1#P#part3#SP#part3sp1.ibd
+t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
diff --git a/mysql-test/suite/parts/r/partition_basic_myisam.result b/mysql-test/suite/parts/r/partition_basic_myisam.result
index f70dae13bb6..bade6841047 100644
--- a/mysql-test/suite/parts/r/partition_basic_myisam.result
+++ b/mysql-test/suite/parts/r/partition_basic_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -52,8 +52,8 @@ SET @@session.sql_mode= '';
# 1.1 The partitioning function contains one column.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -67,8 +67,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -512,8 +512,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -527,8 +527,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -978,8 +978,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1001,8 +1001,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1465,8 +1465,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1486,8 +1486,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1942,8 +1942,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1961,8 +1961,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2423,8 +2423,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2446,8 +2446,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2913,8 +2913,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2940,8 +2940,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3409,8 +3409,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3428,8 +3428,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3893,8 +3893,8 @@ DROP TABLE t1;
# 1.2 The partitioning function contains two columns.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3908,8 +3908,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4353,8 +4353,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4368,8 +4368,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4819,8 +4819,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4842,8 +4842,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5306,8 +5306,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5327,8 +5327,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5783,8 +5783,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5802,8 +5802,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6262,8 +6262,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6285,8 +6285,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6752,8 +6752,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6775,8 +6775,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7244,8 +7244,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7263,8 +7263,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7732,8 +7732,8 @@ DROP TABLE t1;
# 2.5 PRIMARY KEY + UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7747,8 +7747,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8245,8 +8245,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8260,8 +8260,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8764,8 +8764,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8787,8 +8787,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9304,8 +9304,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9325,8 +9325,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9834,8 +9834,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9853,8 +9853,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10368,8 +10368,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10391,8 +10391,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10911,8 +10911,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10938,8 +10938,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11460,8 +11460,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11479,8 +11479,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -12001,8 +12001,8 @@ DROP TABLE t1;
# 3.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12016,8 +12016,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -12514,8 +12514,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12529,8 +12529,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -13033,8 +13033,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13056,8 +13056,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -13573,8 +13573,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13594,8 +13594,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -14103,8 +14103,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14122,8 +14122,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -14635,8 +14635,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14658,8 +14658,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -15178,8 +15178,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15201,8 +15201,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -15723,8 +15723,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15742,8 +15742,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
diff --git a/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result b/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result
index 731cb186b34..405511543bf 100644
--- a/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result
+++ b/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result
@@ -1,10 +1,41 @@
-# Will not run partition_basic_symlink on InnoDB, since it is the same
-# as partition_basic, since InnoDB does not support DATA/INDEX DIR
-# Will only verify that the DATA/INDEX DIR is stored and used if
-# ALTER to MyISAM.
+#
+# Verify that the DATA/INDEX DIR is stored and used if ALTER to MyISAM.
+#
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (c1 INT)
-ENGINE = InnoDB
+SET SESSION innodb_strict_mode = ON;
+#
+# InnoDB only supports DATA DIRECTORY with innodb_file_per_table=ON
+#
+SET GLOBAL innodb_file_per_table = OFF;
+CREATE TABLE t1 (c1 INT) ENGINE = InnoDB
+PARTITION BY HASH (c1) (
+PARTITION p0
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+ INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+ INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+);
+ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: DATA DIRECTORY requires innodb_file_per_table.
+Warning 1478 InnoDB: INDEX DIRECTORY is not supported
+Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
+Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
+Error 6 Error on delete of 'MYSQLD_DATADIR/test/t1.par' (Errcode: 2 "No such file or directory")
+#
+# InnoDB is different from MyISAM in that it uses a text file
+# with an '.isl' extension instead of a symbolic link so that
+# the tablespace can be re-located on any OS. Also, instead of
+# putting the file directly into the DATA DIRECTORY,
+# it adds a folder under it with the name of the database.
+# Since strict mode is off, InnoDB ignores the INDEX DIRECTORY
+# and it is no longer part of the definition.
+#
+SET SESSION innodb_strict_mode = OFF;
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1 (c1 INT) ENGINE = InnoDB
PARTITION BY HASH (c1)
(PARTITION p0
DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
@@ -13,8 +44,26 @@ PARTITION p1
DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
);
-# Verifying .frm and .par files
-# Verifying that there are no MyISAM files
+Warnings:
+Warning 1618 <INDEX DIRECTORY> option ignored
+Warning 1618 <INDEX DIRECTORY> option ignored
+SHOW WARNINGS;
+Level Code Message
+Warning 1618 <INDEX DIRECTORY> option ignored
+Warning 1618 <INDEX DIRECTORY> option ignored
+# Verifying .frm, .par, .isl & .ibd files
+---- MYSQLD_DATADIR/test
+t1#P#p0.isl
+t1#P#p1.isl
+t1.frm
+t1.par
+---- MYSQLTEST_VARDIR/mysql-test-data-dir/test
+t1#P#p0.ibd
+t1#P#p1.ibd
+# The ibd tablespaces should not be directly under the DATA DIRECTORY
+---- MYSQLTEST_VARDIR/mysql-test-data-dir
+test
+---- MYSQLTEST_VARDIR/mysql-test-idx-dir
FLUSH TABLES;
SHOW CREATE TABLE t1;
Table Create Table
@@ -22,17 +71,254 @@ t1 CREATE TABLE `t1` (
`c1` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (c1)
-(PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB,
- PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB) */
-ALTER TABLE t1 ENGINE = MyISAM;
-# Verifying .frm, .par and MyISAM files (.MYD, MYI)
-FLUSH TABLES;
+(PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
+ PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB) */
+#
+# Verify that the DATA/INDEX DIRECTORY is stored and used if we
+# ALTER TABLE to MyISAM.
+#
+ALTER TABLE t1 engine=MyISAM;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c1` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (c1)
-(PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM,
- PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+(PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM,
+ PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM) */
+# Verifying .frm, .par and MyISAM files (.MYD, MYI)
+---- MYSQLD_DATADIR/test
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+---- MYSQLTEST_VARDIR/mysql-test-data-dir
+t1#P#p0.MYD
+t1#P#p1.MYD
+test
+---- MYSQLTEST_VARDIR/mysql-test-idx-dir
+#
+# Now verify that the DATA DIRECTORY is used again if we
+# ALTER TABLE back to InnoDB.
+#
+SET SESSION innodb_strict_mode = ON;
+ALTER TABLE t1 engine=InnoDB;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (c1)
+(PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
+ PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB) */
+# Verifying .frm, .par, .isl and InnoDB .ibd files
+---- MYSQLD_DATADIR/test
+t1#P#p0.isl
+t1#P#p1.isl
+t1.frm
+t1.par
+---- MYSQLTEST_VARDIR/mysql-test-data-dir
+test
+---- MYSQLTEST_VARDIR/mysql-test-idx-dir
+---- MYSQLTEST_VARDIR/mysql-test-data-dir/test
+t1#P#p0.ibd
+t1#P#p1.ibd
DROP TABLE t1;
+#
+# MDEV-14611 ALTER TABLE EXCHANGE PARTITION does not work
+# properly when used with DATA DIRECTORY
+#
+SET GLOBAL innodb_file_per_table = ON;
+CREATE TABLE t1
+(
+myid INT(11) NOT NULL,
+myval VARCHAR(10),
+PRIMARY KEY (myid)
+) ENGINE=INNODB PARTITION BY KEY (myid)
+(
+PARTITION p0001 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
+PARTITION p0002 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
+PARTITION p0003 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
+PARTITION p0004 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB
+);
+CREATE TABLE t2
+(
+myid INT(11) NOT NULL,
+myval VARCHAR(10),
+PRIMARY KEY (myid)
+) ENGINE=INNODB DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir';
+ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `myid` int(11) NOT NULL,
+ `myval` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`myid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (myid)
+(PARTITION p0001 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
+ PARTITION p0002 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
+ PARTITION p0003 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
+ PARTITION p0004 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB) */
+DROP TABLE t1, t2;
+CREATE TABLE t1
+(
+myid INT(11) NOT NULL,
+myval VARCHAR(10),
+PRIMARY KEY (myid)
+) ENGINE=INNODB PARTITION BY RANGE (myid)
+(
+PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
+PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
+PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
+PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB
+);
+CREATE TABLE t2
+(
+myid INT(11) NOT NULL,
+myval VARCHAR(10),
+PRIMARY KEY (myid)
+) ENGINE=INNODB DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir';
+insert into t1 values (1, 'one');
+insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
+select * from t1;
+myid myval
+1 one
+ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `myid` int(11) NOT NULL,
+ `myval` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`myid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (myid)
+(PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB,
+ PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
+ PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
+ PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB) */
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `myid` int(11) NOT NULL,
+ `myval` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`myid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/mysql-test-data-dir/'
+select * from t1;
+myid myval
+2 two
+3 threee
+4 four
+select * from t2;
+myid myval
+1 one
+DROP TABLE t1, t2;
+CREATE TABLE t1
+(
+myid INT(11) NOT NULL,
+myval VARCHAR(10),
+PRIMARY KEY (myid)
+) ENGINE=INNODB PARTITION BY RANGE (myid)
+(
+PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
+PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
+PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
+PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB
+);
+CREATE TABLE t2
+(
+myid INT(11) NOT NULL,
+myval VARCHAR(10),
+PRIMARY KEY (myid)
+) ENGINE=INNODB;
+insert into t1 values (1, 'one');
+insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
+select * from t1;
+myid myval
+1 one
+ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `myid` int(11) NOT NULL,
+ `myval` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`myid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (myid)
+(PARTITION p0001 VALUES LESS THAN (50) ENGINE = InnoDB,
+ PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
+ PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
+ PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB) */
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `myid` int(11) NOT NULL,
+ `myval` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`myid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/mysql-test-data-dir/'
+select * from t1;
+myid myval
+2 two
+3 threee
+4 four
+select * from t2;
+myid myval
+1 one
+DROP TABLE t1, t2;
+CREATE TABLE t1
+(
+myid INT(11) NOT NULL,
+myval VARCHAR(10),
+PRIMARY KEY (myid)
+) ENGINE=INNODB PARTITION BY RANGE (myid)
+(
+PARTITION p0001 VALUES LESS THAN (50) ENGINE = INNODB,
+PARTITION p0002 VALUES LESS THAN (150) ENGINE = INNODB,
+PARTITION p0003 VALUES LESS THAN (1050) ENGINE = INNODB,
+PARTITION p0004 VALUES LESS THAN (10050) ENGINE = INNODB
+);
+CREATE TABLE t2
+(
+myid INT(11) NOT NULL,
+myval VARCHAR(10),
+PRIMARY KEY (myid)
+) ENGINE=INNODB DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir';
+insert into t1 values (1, 'one');
+insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
+select * from t1;
+myid myval
+1 one
+ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `myid` int(11) NOT NULL,
+ `myval` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`myid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (myid)
+(PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB,
+ PARTITION p0002 VALUES LESS THAN (150) ENGINE = InnoDB,
+ PARTITION p0003 VALUES LESS THAN (1050) ENGINE = InnoDB,
+ PARTITION p0004 VALUES LESS THAN (10050) ENGINE = InnoDB) */
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `myid` int(11) NOT NULL,
+ `myval` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`myid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+select * from t1;
+myid myval
+2 two
+3 threee
+4 four
+select * from t2;
+myid myval
+1 one
+DROP TABLE t1, t2;
+#
+# Cleanup
+#
diff --git a/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result b/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
index 146b3d361fb..006820d3f18 100644
--- a/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
+++ b/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -56,8 +56,8 @@ SET @@session.sql_mode= '';
# 1.1 The partitioning function contains one column.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -77,8 +77,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -527,8 +527,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -557,8 +557,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1022,8 +1022,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1053,8 +1053,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1533,8 +1533,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1566,8 +1566,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2034,8 +2034,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2061,8 +2061,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2539,8 +2539,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2566,8 +2566,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3049,8 +3049,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3096,8 +3096,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3581,8 +3581,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3606,8 +3606,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4089,8 +4089,8 @@ DROP TABLE t1;
# 1.2 The partitioning function contains two columns.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4110,8 +4110,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4560,8 +4560,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4590,8 +4590,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5055,8 +5055,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5086,8 +5086,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -5566,8 +5566,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -5599,8 +5599,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6067,8 +6067,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6094,8 +6094,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -6570,8 +6570,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -6597,8 +6597,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7080,8 +7080,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7127,8 +7127,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -7612,8 +7612,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -7637,8 +7637,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -8124,8 +8124,8 @@ DROP TABLE t1;
# 2.5 PRIMARY KEY + UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8145,8 +8145,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -8648,8 +8648,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -8678,8 +8678,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9196,8 +9196,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9227,8 +9227,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -9760,8 +9760,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -9793,8 +9793,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10314,8 +10314,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10341,8 +10341,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -10872,8 +10872,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -10899,8 +10899,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -11435,8 +11435,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -11482,8 +11482,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -12020,8 +12020,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12045,8 +12045,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -12585,8 +12585,8 @@ DROP TABLE t1;
# 3.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -12606,8 +12606,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -13109,8 +13109,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13139,8 +13139,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -13657,8 +13657,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -13688,8 +13688,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -14221,8 +14221,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14254,8 +14254,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -14775,8 +14775,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -14802,8 +14802,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -15331,8 +15331,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15358,8 +15358,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -15894,8 +15894,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -15941,8 +15941,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -16479,8 +16479,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -16504,8 +16504,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -17042,8 +17042,8 @@ DROP TABLE t1;
#========================================================================
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17061,8 +17061,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -17562,8 +17562,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -17587,8 +17587,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -18100,8 +18100,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18131,8 +18131,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -18657,8 +18657,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -18684,8 +18684,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -19199,8 +19199,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19222,8 +19222,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -19745,8 +19745,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -19773,8 +19773,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
@@ -20301,8 +20301,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -20316,8 +20316,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL,
diff --git a/mysql-test/suite/parts/r/partition_bit_innodb.result b/mysql-test/suite/parts/r/partition_bit_innodb.result
index 2e802d85b1f..558b5b3aae4 100644
--- a/mysql-test/suite/parts/r/partition_bit_innodb.result
+++ b/mysql-test/suite/parts/r/partition_bit_innodb.result
@@ -6,7 +6,7 @@ create table t1 (a bit(0), primary key (a)) engine='INNODB' partition by key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(1) NOT NULL DEFAULT b'0',
+ `a` bit(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a) */
@@ -18,7 +18,7 @@ partition pa2);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(1) NOT NULL DEFAULT b'0',
+ `a` bit(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -30,7 +30,7 @@ partition by key (a) partitions 2;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(64) NOT NULL DEFAULT b'0',
+ `a` bit(64) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -58,7 +58,7 @@ partition pa4 max_rows=40 min_rows=2);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(64) NOT NULL DEFAULT b'0',
+ `a` bit(64) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -88,7 +88,7 @@ partition by key (a) partitions 4;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` bit(1) NOT NULL DEFAULT b'0',
+ `a` bit(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -102,7 +102,7 @@ alter table t2 drop primary key;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` bit(1) NOT NULL DEFAULT b'0'
+ `a` bit(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
PARTITIONS 4 */
@@ -114,7 +114,7 @@ alter table t2 add primary key (a);
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` bit(1) NOT NULL DEFAULT b'0',
+ `a` bit(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -133,7 +133,7 @@ partition pa4 values less than (256));
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
- `a` bit(8) NOT NULL DEFAULT b'0',
+ `a` bit(8) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (a)
@@ -416,7 +416,7 @@ partition pa3 values in (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32));
show create table t4;
Table Create Table
t4 CREATE TABLE `t4` (
- `a` bit(8) NOT NULL DEFAULT b'0',
+ `a` bit(8) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
diff --git a/mysql-test/suite/parts/r/partition_bit_myisam.result b/mysql-test/suite/parts/r/partition_bit_myisam.result
index c396cf66521..c101f44475d 100644
--- a/mysql-test/suite/parts/r/partition_bit_myisam.result
+++ b/mysql-test/suite/parts/r/partition_bit_myisam.result
@@ -6,7 +6,7 @@ create table t1 (a bit(0), primary key (a)) engine='MyISAM' partition by key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(1) NOT NULL DEFAULT b'0',
+ `a` bit(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a) */
@@ -18,7 +18,7 @@ partition pa2);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(1) NOT NULL DEFAULT b'0',
+ `a` bit(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -30,7 +30,7 @@ partition by key (a) partitions 2;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(64) NOT NULL DEFAULT b'0',
+ `a` bit(64) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -58,7 +58,7 @@ partition pa4 max_rows=40 min_rows=2);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(64) NOT NULL DEFAULT b'0',
+ `a` bit(64) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -88,7 +88,7 @@ partition by key (a) partitions 4;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` bit(1) NOT NULL DEFAULT b'0',
+ `a` bit(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -102,7 +102,7 @@ alter table t2 drop primary key;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` bit(1) NOT NULL DEFAULT b'0'
+ `a` bit(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
PARTITIONS 4 */
@@ -114,7 +114,7 @@ alter table t2 add primary key (a);
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` bit(1) NOT NULL DEFAULT b'0',
+ `a` bit(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
@@ -133,7 +133,7 @@ partition pa4 values less than (256));
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
- `a` bit(8) NOT NULL DEFAULT b'0',
+ `a` bit(8) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (a)
@@ -416,7 +416,7 @@ partition pa3 values in (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32));
show create table t4;
Table Create Table
t4 CREATE TABLE `t4` (
- `a` bit(8) NOT NULL DEFAULT b'0',
+ `a` bit(8) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
diff --git a/mysql-test/suite/parts/r/partition_char_innodb.result b/mysql-test/suite/parts/r/partition_char_innodb.result
index 6f4a107f840..bb99e89b022 100644
--- a/mysql-test/suite/parts/r/partition_char_innodb.result
+++ b/mysql-test/suite/parts/r/partition_char_innodb.result
Binary files differ
diff --git a/mysql-test/suite/parts/r/partition_char_myisam.result b/mysql-test/suite/parts/r/partition_char_myisam.result
index 913a874b646..9936f3ec0f4 100644
--- a/mysql-test/suite/parts/r/partition_char_myisam.result
+++ b/mysql-test/suite/parts/r/partition_char_myisam.result
Binary files differ
diff --git a/mysql-test/suite/parts/r/partition_datetime_innodb.result b/mysql-test/suite/parts/r/partition_datetime_innodb.result
index 195263b8564..0a5e9775c36 100644
--- a/mysql-test/suite/parts/r/partition_datetime_innodb.result
+++ b/mysql-test/suite/parts/r/partition_datetime_innodb.result
@@ -1,4 +1,4 @@
-create table t1 (a timestamp not null, primary key(a)) engine='InnoDB'
+create table t1 (a timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, primary key(a)) engine='InnoDB'
partition by key (a) (
partition pa1 max_rows=20 min_rows=2,
partition pa2 max_rows=30 min_rows=3,
@@ -32,7 +32,7 @@ a
2000-06-15 23:59:00
2020-12-31 12:10:30
drop table t1;
-create table t2 (a timestamp not null, primary key(a)) engine='InnoDB'
+create table t2 (a timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, primary key(a)) engine='InnoDB'
partition by key (a) partitions 12;
show create table t2;
Table Create Table
diff --git a/mysql-test/suite/parts/r/partition_datetime_myisam.result b/mysql-test/suite/parts/r/partition_datetime_myisam.result
index c715e0890bb..217fe9ace1d 100644
--- a/mysql-test/suite/parts/r/partition_datetime_myisam.result
+++ b/mysql-test/suite/parts/r/partition_datetime_myisam.result
@@ -1,4 +1,4 @@
-create table t1 (a timestamp not null, primary key(a)) engine='MyISAM'
+create table t1 (a timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, primary key(a)) engine='MyISAM'
partition by key (a) (
partition pa1 max_rows=20 min_rows=2,
partition pa2 max_rows=30 min_rows=3,
@@ -32,7 +32,7 @@ a
2000-06-15 23:59:00
2020-12-31 12:10:30
drop table t1;
-create table t2 (a timestamp not null, primary key(a)) engine='MyISAM'
+create table t2 (a timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, primary key(a)) engine='MyISAM'
partition by key (a) partitions 12;
show create table t2;
Table Create Table
diff --git a/mysql-test/suite/parts/r/partition_debug.result b/mysql-test/suite/parts/r/partition_debug.result
new file mode 100644
index 00000000000..109072be49c
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_debug.result
@@ -0,0 +1,1948 @@
+DROP TABLE IF EXISTS t1;
+#
+# Bug#13737949: CRASH IN HA_PARTITION::INDEX_INIT
+# Bug#18694052: SERVER CRASH IN HA_PARTITION::INIT_RECORD_PRIORITY_QUEUE
+#
+CREATE TABLE t1 (a INT, b VARCHAR(64), KEY(b,a))
+PARTITION BY HASH (a) PARTITIONS 3;
+INSERT INTO t1 VALUES (1, "1"), (2, "2"), (3, "3"), (4, "Four"), (5, "Five"),
+(6, "Six"), (7, "Seven"), (8, "Eight"), (9, "Nine");
+SET SESSION debug_dbug="+d,ha_partition_fail_index_init";
+SELECT * FROM t1 WHERE b = "Seven";
+ERROR HY000: Table has no partition for value 0
+SET SESSION debug_dbug="-d,ha_partition_fail_index_init";
+SELECT * FROM t1 WHERE b = "Seven";
+a b
+7 Seven
+DROP TABLE t1;
+#
+# WL#4445: EXCHANGE PARTITION WITH TABLE
+# Verify ddl_log in case of crashing.
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression('InnoDB: The log sequence numbers [0-9]+ and [0-9]+ in ibdata files do not match the log sequence number [0-9]+ in the ib_logfiles!');
+SET SESSION debug_dbug="+d,exchange_partition_abort_1";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# State after crash recovery
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_1";
+SET SESSION debug_dbug="+d,exchange_partition_abort_2";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# State after crash recovery
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_2";
+SET SESSION debug_dbug="+d,exchange_partition_abort_3";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# State after crash recovery
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_3";
+SET SESSION debug_dbug="+d,exchange_partition_abort_4";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+#sqlx-nnnn_nnnn.MYD
+#sqlx-nnnn_nnnn.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.frm
+# State after crash recovery
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_4";
+SET SESSION debug_dbug="+d,exchange_partition_abort_5";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+#sqlx-nnnn_nnnn.MYD
+#sqlx-nnnn_nnnn.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.frm
+# State after crash recovery
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_5";
+SET SESSION debug_dbug="+d,exchange_partition_abort_6";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+#sqlx-nnnn_nnnn.MYD
+#sqlx-nnnn_nnnn.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# State after crash recovery
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_6";
+SET SESSION debug_dbug="+d,exchange_partition_abort_7";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+#sqlx-nnnn_nnnn.MYD
+#sqlx-nnnn_nnnn.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# State after crash recovery
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_7";
+SET SESSION debug_dbug="+d,exchange_partition_abort_8";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# State after crash recovery
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_8";
+SET SESSION debug_dbug="+d,exchange_partition_abort_9";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# State after crash recovery
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_9";
+SET SESSION debug_dbug="+d,exchange_partition_fail_1";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_1";
+SET SESSION debug_dbug="+d,exchange_partition_fail_2";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_2";
+SET SESSION debug_dbug="+d,exchange_partition_fail_3";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t2' to './test/#sqlx-nnnn_nnnn' (errno: 0 "Internal error/check (Not system error)")
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_3";
+SET SESSION debug_dbug="+d,exchange_partition_fail_4";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_4";
+SET SESSION debug_dbug="+d,exchange_partition_fail_5";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_5";
+SET SESSION debug_dbug="+d,exchange_partition_fail_6";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_6";
+SET SESSION debug_dbug="+d,exchange_partition_fail_7";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/#sqlx-nnnn_nnnn' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_7";
+SET SESSION debug_dbug="+d,exchange_partition_fail_8";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_8";
+SET SESSION debug_dbug="+d,exchange_partition_fail_9";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_9";
diff --git a/mysql-test/suite/parts/r/partition_debug_innodb.result b/mysql-test/suite/parts/r/partition_debug_innodb.result
index 891091efd58..7ecd746077e 100644
--- a/mysql-test/suite/parts/r/partition_debug_innodb.result
+++ b/mysql-test/suite/parts/r/partition_debug_innodb.result
@@ -1,75 +1,4 @@
DROP TABLE IF EXISTS t1;
-#
-# Bug#12696518/Bug#11766879/60106:DIFF BETWEEN # OF INDEXES IN MYSQL
-# VS INNODB, PARTITONING, ON INDEX CREATE
-#
-CREATE TABLE t1
-(a INT PRIMARY KEY,
-b VARCHAR(64))
-ENGINE = InnoDB
-PARTITION BY HASH (a) PARTITIONS 3;
-INSERT INTO t1 VALUES (0, 'first row'), (1, 'second row'), (2, 'Third row');
-INSERT INTO t1 VALUES (3, 'row id 3'), (4, '4 row'), (5, 'row5');
-INSERT INTO t1 VALUES (6, 'X 6 row'), (7, 'Seventh row'), (8, 'Last row');
-ALTER TABLE t1 ADD INDEX new_b_index (b);
-ALTER TABLE t1 DROP INDEX new_b_index;
-SET SESSION debug_dbug = "+d,ha_partition_fail_final_add_index";
-ALTER TABLE t1 ADD INDEX (b);
-ERROR HY000: Table has no partition for value 0
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL,
- `b` varchar(64) DEFAULT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (a)
-PARTITIONS 3 */
-SELECT * FROM t1;
-a b
-0 first row
-1 second row
-2 Third row
-3 row id 3
-4 4 row
-5 row5
-6 X 6 row
-7 Seventh row
-8 Last row
-FLUSH TABLES;
-CREATE INDEX new_index ON t1 (b);
-ERROR HY000: Table has no partition for value 0
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL,
- `b` varchar(64) DEFAULT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (a)
-PARTITIONS 3 */
-SELECT * FROM t1;
-a b
-0 first row
-1 second row
-2 Third row
-3 row id 3
-4 4 row
-5 row5
-6 X 6 row
-7 Seventh row
-8 Last row
-SET SESSION debug_dbug = "-d,ha_partition_fail_final_add_index";
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL,
- `b` varchar(64) DEFAULT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (a)
-PARTITIONS 3 */
-DROP TABLE t1;
call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was");
call mtr.add_suppression("InnoDB: Error: table .* does not exist in the InnoDB internal");
call mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop table ");
@@ -3922,7 +3851,6 @@ t1.par
# State after crash recovery
t1#P#p0.ibd
t1#P#p10.ibd
-t1#P#p20.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3933,8 +3861,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -4055,6 +3982,8 @@ ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
ERROR HY000: Lost connection to MySQL server during query
# State after crash (before recovery)
+#sql-t1.frm
+#sql-t1.par
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
@@ -5022,7 +4951,6 @@ ERROR HY000: Unknown error
# State after failure
t1#P#p0.ibd
t1#P#p10.ibd
-t1#P#p20.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -5033,8 +4961,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -5085,7 +5012,6 @@ ERROR HY000: Unknown error
# State after failure
t1#P#p0.ibd
t1#P#p10.ibd
-t1#P#p20.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -5096,8 +5022,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -5873,3 +5798,1836 @@ a b
UNLOCK TABLES;
DROP TABLE t1;
SET SESSION debug_dbug="-d,fail_change_partition_12";
+#
+# WL#4445: EXCHANGE PARTITION WITH TABLE
+# Verify ddl_log and InnoDB in case of crashing.
+call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was ");
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("table .* does not exist in the InnoDB internal");
+SET SESSION debug_dbug="+d,exchange_partition_abort_1";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# State after crash recovery
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_1";
+SET SESSION debug_dbug="+d,exchange_partition_abort_2";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# State after crash recovery
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_2";
+SET SESSION debug_dbug="+d,exchange_partition_abort_3";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# State after crash recovery
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_3";
+SET SESSION debug_dbug="+d,exchange_partition_abort_4";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+#sqlx-nnnn_nnnn.ibd
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+# State after crash recovery
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_4";
+SET SESSION debug_dbug="+d,exchange_partition_abort_5";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+#sqlx-nnnn_nnnn.ibd
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+# State after crash recovery
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_5";
+SET SESSION debug_dbug="+d,exchange_partition_abort_6";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+#sqlx-nnnn_nnnn.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# State after crash recovery
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_6";
+SET SESSION debug_dbug="+d,exchange_partition_abort_7";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+#sqlx-nnnn_nnnn.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# State after crash recovery
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_7";
+SET SESSION debug_dbug="+d,exchange_partition_abort_8";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# State after crash recovery
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_8";
+SET SESSION debug_dbug="+d,exchange_partition_abort_9";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before crash
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Lost connection to MySQL server during query
+# State after crash (before recovery)
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# State after crash recovery
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_abort_9";
+SET SESSION debug_dbug="+d,exchange_partition_fail_1";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_1";
+SET SESSION debug_dbug="+d,exchange_partition_fail_2";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_2";
+SET SESSION debug_dbug="+d,exchange_partition_fail_3";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t2' to './test/#sqlx-nnnn_nnnn' (errno: 0 "Internal error/check (Not system error)")
+# State after failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_3";
+SET SESSION debug_dbug="+d,exchange_partition_fail_4";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_4";
+SET SESSION debug_dbug="+d,exchange_partition_fail_5";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+# State after failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_5";
+SET SESSION debug_dbug="+d,exchange_partition_fail_6";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_6";
+SET SESSION debug_dbug="+d,exchange_partition_fail_7";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/#sqlx-nnnn_nnnn' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# State after failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_7";
+SET SESSION debug_dbug="+d,exchange_partition_fail_8";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_8";
+SET SESSION debug_dbug="+d,exchange_partition_fail_9";
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# State after failure
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+DROP TABLE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t2;
+SET SESSION debug_dbug="-d,exchange_partition_fail_9";
diff --git a/mysql-test/suite/parts/r/partition_debug_myisam.result b/mysql-test/suite/parts/r/partition_debug_myisam.result
index 2411d58169e..8408f166e79 100644
--- a/mysql-test/suite/parts/r/partition_debug_myisam.result
+++ b/mysql-test/suite/parts/r/partition_debug_myisam.result
@@ -4151,8 +4151,6 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20.MYD
-t1#P#p20.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -4163,8 +4161,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -4296,6 +4293,8 @@ ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
ERROR HY000: Lost connection to MySQL server during query
# State after crash (before recovery)
+#sql-t1.frm
+#sql-t1.par
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10#TMP#.MYD
@@ -5348,8 +5347,6 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20.MYD
-t1#P#p20.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -5360,8 +5357,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -5416,8 +5412,6 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20.MYD
-t1#P#p20.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -5428,8 +5422,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
SELECT * FROM t1;
a b
1 Original from partition p0
diff --git a/mysql-test/suite/parts/r/partition_engine_innodb.result b/mysql-test/suite/parts/r/partition_engine_innodb.result
index 5335983b560..c3cb7cff083 100644
--- a/mysql-test/suite/parts/r/partition_engine_innodb.result
+++ b/mysql-test/suite/parts/r/partition_engine_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ DROP TABLE IF EXISTS t1;
# 1 Assignment of storage engine just after column list only
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -62,8 +62,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -502,8 +502,8 @@ DROP TABLE t1;
# name only
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -519,8 +519,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -956,8 +956,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -978,8 +978,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1422,8 +1422,8 @@ DROP TABLE t1;
# engine assigned
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1434,8 +1434,8 @@ PARTITION part2
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1446,8 +1446,8 @@ PARTITION part2 STORAGE ENGINE = 'InnoDB'
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1463,8 +1463,8 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1480,8 +1480,8 @@ SUBPARTITION subpart22 )
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1503,8 +1503,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1947,8 +1947,8 @@ DROP TABLE t1;
# subpartitions belonging to another partition
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1964,8 +1964,8 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1982,8 +1982,8 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
);
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2004,8 +2004,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2444,8 +2444,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2466,8 +2466,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2911,8 +2911,8 @@ DROP TABLE t1;
# 5.1 Storage engine assignment after column list + after partition
# or subpartition name
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2928,8 +2928,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3365,8 +3365,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3387,8 +3387,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3830,8 +3830,8 @@ DROP TABLE t1;
# subpartition name
# in partition part + in sub partition part
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3852,8 +3852,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4296,8 +4296,8 @@ DROP TABLE t1;
#------------------------------------------------------------------------
SET SESSION storage_engine='MEMORY';
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4310,8 +4310,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4746,8 +4746,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4764,8 +4764,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
diff --git a/mysql-test/suite/parts/r/partition_engine_myisam.result b/mysql-test/suite/parts/r/partition_engine_myisam.result
index cfba8731b2f..02f8649692d 100644
--- a/mysql-test/suite/parts/r/partition_engine_myisam.result
+++ b/mysql-test/suite/parts/r/partition_engine_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ DROP TABLE IF EXISTS t1;
# 1 Assignment of storage engine just after column list only
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -62,8 +62,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -511,8 +511,8 @@ DROP TABLE t1;
# name only
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -528,8 +528,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -974,8 +974,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -996,8 +996,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1453,8 +1453,8 @@ DROP TABLE t1;
# engine assigned
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1465,8 +1465,8 @@ PARTITION part2
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1477,8 +1477,8 @@ PARTITION part2 STORAGE ENGINE = 'MyISAM'
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1494,8 +1494,8 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1511,8 +1511,8 @@ SUBPARTITION subpart22 )
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1534,8 +1534,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1991,8 +1991,8 @@ DROP TABLE t1;
# subpartitions belonging to another partition
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2008,8 +2008,8 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
);
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2026,8 +2026,8 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
);
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2048,8 +2048,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2501,8 +2501,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2523,8 +2523,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -2981,8 +2981,8 @@ DROP TABLE t1;
# 5.1 Storage engine assignment after column list + after partition
# or subpartition name
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -2998,8 +2998,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3444,8 +3444,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3466,8 +3466,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -3922,8 +3922,8 @@ DROP TABLE t1;
# subpartition name
# in partition part + in sub partition part
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -3944,8 +3944,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4401,8 +4401,8 @@ DROP TABLE t1;
#------------------------------------------------------------------------
SET SESSION storage_engine='MEMORY';
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4415,8 +4415,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -4858,8 +4858,8 @@ TRUNCATE t1;
# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -4876,8 +4876,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
diff --git a/mysql-test/suite/parts/r/partition_exch_innodb.result b/mysql-test/suite/parts/r/partition_exch_innodb.result
new file mode 100644
index 00000000000..d444e2e3558
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_innodb.result
@@ -0,0 +1,355 @@
+use test;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
+SELECT * FROM t_empty;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
+SELECT * FROM t_empty;
+a b
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 NULL
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+1 NULL
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+SELECT * FROM t_100;
+a b
+12 twelve
+14 Fourteen
+16 Sixteen
+18 Eightteen
+SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
+a b
+12 twelve
+14 Fourteen
+16 Sixteen
+18 Eightteen
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
+SELECT * FROM t_1000;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
+ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
+SELECT * FROM tsp_00;
+a b
+SELECT * FROM tsp_01;
+a b
+6 Six
+SELECT * FROM tsp_02;
+a b
+2 Two
+SELECT * FROM tsp_03;
+a b
+8 Eight
+SELECT * FROM tsp_04;
+a b
+4 Four
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
+ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+6 Six
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+1 NULL
+2 Two
+4 Four
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+1 NULL
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_myisam.result b/mysql-test/suite/parts/r/partition_exch_myisam.result
new file mode 100644
index 00000000000..d444e2e3558
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_myisam.result
@@ -0,0 +1,355 @@
+use test;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
+SELECT * FROM t_empty;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
+SELECT * FROM t_empty;
+a b
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 NULL
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+1 NULL
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+SELECT * FROM t_100;
+a b
+12 twelve
+14 Fourteen
+16 Sixteen
+18 Eightteen
+SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
+a b
+12 twelve
+14 Fourteen
+16 Sixteen
+18 Eightteen
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
+SELECT * FROM t_1000;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
+ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
+SELECT * FROM tsp_00;
+a b
+SELECT * FROM tsp_01;
+a b
+6 Six
+SELECT * FROM tsp_02;
+a b
+2 Two
+SELECT * FROM tsp_03;
+a b
+8 Eight
+SELECT * FROM tsp_04;
+a b
+4 Four
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
+ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+6 Six
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+1 NULL
+2 Two
+4 Four
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+1 NULL
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_myisam_innodb.result b/mysql-test/suite/parts/r/partition_exch_myisam_innodb.result
new file mode 100644
index 00000000000..a2a58c22c42
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_myisam_innodb.result
@@ -0,0 +1,69 @@
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ,
+PARTITION p1 VALUES LESS THAN (100) ,
+PARTITION p2 VALUES LESS THAN (1000) );
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10)
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 ,
+SUBPARTITION sp11 ,
+SUBPARTITION sp12 ,
+SUBPARTITION sp13 ,
+SUBPARTITION sp14 ),
+PARTITION p2 VALUES LESS THAN (1000)
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa.result b/mysql-test/suite/parts/r/partition_exch_qa.result
new file mode 100644
index 00000000000..d444e2e3558
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa.result
@@ -0,0 +1,355 @@
+use test;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
+SELECT * FROM t_empty;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
+SELECT * FROM t_empty;
+a b
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 NULL
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+1 NULL
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+SELECT * FROM t_100;
+a b
+12 twelve
+14 Fourteen
+16 Sixteen
+18 Eightteen
+SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
+a b
+12 twelve
+14 Fourteen
+16 Sixteen
+18 Eightteen
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
+SELECT * FROM t_1000;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
+ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
+SELECT * FROM tsp_00;
+a b
+SELECT * FROM tsp_01;
+a b
+6 Six
+SELECT * FROM tsp_02;
+a b
+2 Two
+SELECT * FROM tsp_03;
+a b
+8 Eight
+SELECT * FROM tsp_04;
+a b
+4 Four
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
+ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+6 Six
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+1 NULL
+2 Two
+4 Four
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
+SELECT * FROM t_null;
+a b
+1 NULL
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_10.result b/mysql-test/suite/parts/r/partition_exch_qa_10.result
new file mode 100644
index 00000000000..7193a6c99a1
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_10.result
@@ -0,0 +1,70 @@
+use test;
+CREATE PROCEDURE test_p1 ()
+BEGIN
+ALTER TABLE t_10 ADD UNIQUE INDEX USING BTREE (a);
+ALTER TABLE tp ADD UNIQUE INDEX USING BTREE (a);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ALTER TABLE tp DROP INDEX a;
+ALTER TABLE t_10 DROP INDEX a;
+END|
+CALL test_p1;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 9;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+DROP PROCEDURE test_p1;
+SET @save_autocommit= @@autocommit;
+SET @@autocommit= OFF;
+SHOW VARIABLES LIKE 'autocommit%';
+Variable_name Value
+autocommit OFF
+CREATE TRIGGER test_trg_1 BEFORE UPDATE ON tp FOR EACH ROW
+BEGIN
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+END|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+CREATE FUNCTION test_f_1() RETURNS int
+BEGIN
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+END|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+SET @@autocommit= @save_autocommit;
+SET @save_event_scheduler= @@global.event_scheduler;
+SET @@global.event_scheduler= ON;
+CREATE EVENT test_ev_1
+ON SCHEDULE AT CURRENT_TIMESTAMP
+DO
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 9;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SET @@global.event_scheduler= @save_event_scheduler;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_11.result b/mysql-test/suite/parts/r/partition_exch_qa_11.result
new file mode 100644
index 00000000000..2fe6c05e29c
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_11.result
@@ -0,0 +1,56 @@
+use test;
+SET @part= 'p0';
+SET @part_tab= 'tp';
+SET @table= 't_10';
+SET @s= CONCAT('ALTER TABLE ',@part_tab,' EXCHANGE PARTITION ',@part,' WITH TABLE ',@table);
+PREPARE test_stmt1 FROM @s;
+EXECUTE test_stmt1;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp;
+a b
+1 One
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+3 Three
+5 Five
+9 Nine
+DEALLOCATE PREPARE test_stmt1;
+SET @part_tab= 'tp';
+SET @s= CONCAT('ALTER TABLE ',@part_tab,' EXCHANGE PARTITION ? WITH TABLE ?');
+PREPARE test_stmt2 FROM @s;
+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 '? WITH TABLE ?' at line 1
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_12.result b/mysql-test/suite/parts/r/partition_exch_qa_12.result
new file mode 100644
index 00000000000..32e0721e48f
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_12.result
@@ -0,0 +1,123 @@
+use test;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+SELECT TABLE_NAME, ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test'
+AND TABLE_NAME IN ('tp', 't_100');
+TABLE_NAME ROW_FORMAT
+t_100 Dynamic
+tp Dynamic
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_1000;
+ERROR HY000: Non matching attribute 'MAX_ROWS' between partition and table
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_13.result b/mysql-test/suite/parts/r/partition_exch_qa_13.result
new file mode 100644
index 00000000000..476f33c0d47
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_13.result
@@ -0,0 +1,203 @@
+use test;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+INSERT INTO t_10 VALUES (10, "TEN");
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Found a row that does not match the partition
+SELECT * FROM tp WHERE a < 11;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM t_10 WHERE a < 11;
+a b
+1 One
+10 TEN
+3 Three
+5 Five
+9 Nine
+INSERT INTO t_1000 VALUES (99, "Ninetynine");
+ALTER TABLE tp1 EXCHANGE PARTITION p2 WITH TABLE t_1000;
+ERROR HY000: Found a row that does not match the partition
+SELECT * FROM tp1 WHERE a < 1000 AND a > 98;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+SELECT * FROM t_1000 WHERE a < 1000 AND a > 98;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+99 Ninetynine
+INSERT INTO tsp_03 VALUES (20, "Twenty");
+ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
+ERROR HY000: Found a row that does not match the partition
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_03;
+a b
+20 Twenty
+3 Three
+DROP TABLE tp1;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_14.result b/mysql-test/suite/parts/r/partition_exch_qa_14.result
new file mode 100644
index 00000000000..1420982436a
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_14.result
@@ -0,0 +1,349 @@
+# === Data/Index directories are identical
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p1 VALUES LESS THAN (100) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2 VALUES LESS THAN (1000) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp13 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp14 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION p2 VALUES LESS THAN (1000) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+# === partition has directories, the table does not
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p1 VALUES LESS THAN (100) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2 VALUES LESS THAN (1000) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp13 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp14 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION p2 VALUES LESS THAN (1000) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+# === the table has directories, partition does not
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ,
+PARTITION p1 VALUES LESS THAN (100) ,
+PARTITION p2 VALUES LESS THAN (1000) );
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10)
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 ,
+SUBPARTITION sp11 ,
+SUBPARTITION sp12 ,
+SUBPARTITION sp13 ,
+SUBPARTITION sp14 ),
+PARTITION p2 VALUES LESS THAN (1000)
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+# === data directory differs
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p1 VALUES LESS THAN (100) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2 VALUES LESS THAN (1000) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp13 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp14 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION p2 VALUES LESS THAN (1000) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+# === index directory differs
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+PARTITION p1 VALUES LESS THAN (100) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+PARTITION p2 VALUES LESS THAN (1000) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir');
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MYISAM
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+SUBPARTITION sp13 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+SUBPARTITION sp14 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'),
+PARTITION p2 VALUES LESS THAN (1000) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_15.result b/mysql-test/suite/parts/r/partition_exch_qa_15.result
new file mode 100644
index 00000000000..355cf43d886
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_15.result
@@ -0,0 +1,74 @@
+use test;
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ,
+PARTITION p1 VALUES LESS THAN (100) ,
+PARTITION p2 VALUES LESS THAN (1000) );
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10)
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 ,
+SUBPARTITION sp11 ,
+SUBPARTITION sp12 ,
+SUBPARTITION sp13 ,
+SUBPARTITION sp14 ),
+PARTITION p2 VALUES LESS THAN (1000)
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = InnoDB AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = InnoDB AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = InnoDB AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = InnoDB AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = InnoDB AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+CREATE TABLE t_11 (a INT, b VARCHAR(55),
+FOREIGN KEY (a) REFERENCES t_10 (a) ON DELETE CASCADE)
+ENGINE= InnoDB;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+ERROR HY000: Table to exchange with partition has foreign key references: 't_11'
+DROP TABLE t_11;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_1_innodb.result b/mysql-test/suite/parts/r/partition_exch_qa_1_innodb.result
new file mode 100644
index 00000000000..5fe5b7cbfcd
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_1_innodb.result
@@ -0,0 +1,171 @@
+use test;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+CREATE INDEX id_t_10_b USING BTREE ON t_10 (b);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+CREATE INDEX id_tp_b USING BTREE ON tp (b);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+DROP INDEX id_t_10_b ON t_10;
+DROP INDEX id_tp_b ON tp;
+ALTER TABLE t_10 ADD UNIQUE INDEX USING BTREE (a);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+ALTER TABLE tp ADD UNIQUE INDEX USING BTREE (a);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+show create table t_10;
+Table Create Table
+t_10 CREATE TABLE `t_10` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `a` (`a`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+show create table tp ;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `a` (`a`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN (100) ENGINE = InnoDB,
+ PARTITION p2 VALUES LESS THAN (1000) ENGINE = InnoDB) */
+ALTER TABLE tp DROP INDEX a;
+ALTER TABLE t_10 DROP INDEX a;
+ALTER TABLE tp ADD UNIQUE INDEX USING BTREE (a,b);
+ALTER TABLE t_10 ADD UNIQUE INDEX USING BTREE (a,b);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+show create table t_10;
+Table Create Table
+t_10 CREATE TABLE `t_10` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `a` (`a`,`b`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+show create table tp ;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `a` (`a`,`b`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN (100) ENGINE = InnoDB,
+ PARTITION p2 VALUES LESS THAN (1000) ENGINE = InnoDB) */
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_1_myisam.result b/mysql-test/suite/parts/r/partition_exch_qa_1_myisam.result
new file mode 100644
index 00000000000..8a9ffd0479a
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_1_myisam.result
@@ -0,0 +1,171 @@
+use test;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+CREATE INDEX id_t_10_b USING BTREE ON t_10 (b);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+CREATE INDEX id_tp_b USING BTREE ON tp (b);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+DROP INDEX id_t_10_b ON t_10;
+DROP INDEX id_tp_b ON tp;
+ALTER TABLE t_10 ADD UNIQUE INDEX USING BTREE (a);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Tables have different definitions
+ALTER TABLE tp ADD UNIQUE INDEX USING BTREE (a);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+show create table t_10;
+Table Create Table
+t_10 CREATE TABLE `t_10` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `a` (`a`) USING BTREE
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+show create table tp ;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `a` (`a`) USING BTREE
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN (100) ENGINE = MyISAM,
+ PARTITION p2 VALUES LESS THAN (1000) ENGINE = MyISAM) */
+ALTER TABLE tp DROP INDEX a;
+ALTER TABLE t_10 DROP INDEX a;
+ALTER TABLE tp ADD UNIQUE INDEX USING BTREE (a,b);
+ALTER TABLE t_10 ADD UNIQUE INDEX USING BTREE (a,b);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+show create table t_10;
+Table Create Table
+t_10 CREATE TABLE `t_10` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `a` (`a`,`b`) USING BTREE
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+show create table tp ;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `a` (`a`,`b`) USING BTREE
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN (100) ENGINE = MyISAM,
+ PARTITION p2 VALUES LESS THAN (1000) ENGINE = MyISAM) */
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_2.result b/mysql-test/suite/parts/r/partition_exch_qa_2.result
new file mode 100644
index 00000000000..956cb0af695
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_2.result
@@ -0,0 +1,193 @@
+use test;
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ,
+PARTITION p1 VALUES LESS THAN (100) ,
+PARTITION p2 VALUES LESS THAN (1000) );
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10)
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 ,
+SUBPARTITION sp11 ,
+SUBPARTITION sp12 ,
+SUBPARTITION sp13 ,
+SUBPARTITION sp14 ),
+PARTITION p2 VALUES LESS THAN (1000)
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+CREATE TABLE t_11(a INT,b VARCHAR(55)) SELECT * FROM t_10;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+ERROR HY000: Tables have different definitions
+DROP TABLE t_11;
+CREATE TABLE t_11(a INT,b CHAR(55),PRIMARY KEY(a)) ENGINE= MYISAM SELECT * FROM t_10;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+ERROR HY000: Tables have different definitions
+DROP TABLE t_11;
+CREATE TABLE t_11(a INT,b VARCHAR(55),PRIMARY KEY(a)) ENGINE= MEMORY SELECT * FROM t_10;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
+DROP TABLE t_11;
+CREATE TABLE t_11(a INT,b CHAR(55),PRIMARY KEY(a)) ENGINE= MYISAM
+PARTITION BY KEY() AS SELECT * FROM t_10;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+ERROR HY000: Table to exchange with partition is partitioned: 't_11'
+DROP TABLE t_11;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE tsp;
+ERROR HY000: Table to exchange with partition is partitioned: 'tsp'
+ALTER TABLE tsp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: Subpartitioned table, use subpartition instead of partition
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_100;
+ERROR HY000: Found a row that does not match the partition
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_10;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_3.result b/mysql-test/suite/parts/r/partition_exch_qa_3.result
new file mode 100644
index 00000000000..791757c95f2
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_3.result
@@ -0,0 +1,172 @@
+use test;
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ,
+PARTITION p1 VALUES LESS THAN (100) ,
+PARTITION p2 VALUES LESS THAN (1000) );
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = InnoDB
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10)
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 ,
+SUBPARTITION sp11 ,
+SUBPARTITION sp12 ,
+SUBPARTITION sp13 ,
+SUBPARTITION sp14 ),
+PARTITION p2 VALUES LESS THAN (1000)
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM t_100;
+a b
+11 Eleven
+13 Thirdteen
+15 Fifeteen
+19 Nineteen
+91 Ninety-one
+93 Ninety-three
+95 Ninety-five
+99 Ninety-nine
+SELECT * FROM t_1000;
+a b
+111 Hundred elven
+113 Hundred thirdteen
+115 Hundred fiveteen
+119 Hundred nineteen
+131 Hundred thirty-one
+133 Hundred thirty-three
+135 Hundred thirty-five
+139 Hundred thirty-nine
+151 Hundred fifty-one
+153 Hundred fifty-three
+155 Hundred fity-five
+159 Hundred fifty-nine
+191 Hundred ninety-one
+193 Hundred ninety-three
+195 Hundred ninety-five
+199 Hundred ninety-nine
+SELECT * FROM tp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eighty-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp;
+a b
+112 Hundred twelve
+114 Hundred fourteen
+116 Hundred sixteen
+118 Hundred eightteen
+12 twelve
+122 Hundred twenty-two
+124 Hundred twenty-four
+126 Hundred twenty-six
+128 Hundred twenty-eight
+14 Fourteen
+16 Sixteen
+162 Hundred sixty-two
+164 Hundred sixty-four
+166 Hundred sixty-six
+168 Hundred sixty-eight
+18 Eightteen
+182 Hundred eight-two
+184 Hundred eighty-four
+186 Hundred eighty-six
+188 Hundred eighty-eight
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp_01;
+a b
+1 One
+SELECT * FROM tsp_02;
+a b
+SELECT * FROM tsp_03;
+a b
+3 Three
+SELECT * FROM tsp_04;
+a b
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MariaDB
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_4_innodb.result b/mysql-test/suite/parts/r/partition_exch_qa_4_innodb.result
new file mode 100644
index 00000000000..35f3499fce7
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_4_innodb.result
@@ -0,0 +1,76 @@
+CREATE DATABASE test_2;
+USE test;
+USE test;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE test_2.t_10;
+SELECT * FROM test_2.t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE test_2.t_10;
+SELECT * FROM test_2.t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE test_2.tsp_00;
+SELECT * FROM test_2.tsp_00;
+a b
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+5 Five
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE test_2.tsp_00;
+SELECT * FROM test_2.tsp_00;
+a b
+5 Five
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+USE test_2;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+USE test;
+DROP DATABASE test_2;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_4_myisam.result b/mysql-test/suite/parts/r/partition_exch_qa_4_myisam.result
new file mode 100644
index 00000000000..35f3499fce7
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_4_myisam.result
@@ -0,0 +1,76 @@
+CREATE DATABASE test_2;
+USE test;
+USE test;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE test_2.t_10;
+SELECT * FROM test_2.t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE test_2.t_10;
+SELECT * FROM test_2.t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE test_2.tsp_00;
+SELECT * FROM test_2.tsp_00;
+a b
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+5 Five
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE test_2.tsp_00;
+SELECT * FROM test_2.tsp_00;
+a b
+5 Five
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+USE test_2;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+USE test;
+DROP DATABASE test_2;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_5_innodb.result b/mysql-test/suite/parts/r/partition_exch_qa_5_innodb.result
new file mode 100644
index 00000000000..e539c37a0b4
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_5_innodb.result
@@ -0,0 +1,114 @@
+CREATE USER test1@localhost;
+CREATE USER test2@localhost;
+GRANT USAGE ON *.* TO test1@localhost;
+GRANT USAGE ON *.* TO test2@localhost;
+GRANT CREATE, DROP, INSERT, SELECT ON test.* TO test1@localhost;
+GRANT CREATE, DROP, ALTER, UPDATE, INSERT, SELECT ON test.* TO test2@localhost;
+connect (test1,localhost,test1,,test,MASTER_MYPORT,MASTER_MYSOCK);
+SELECT current_user();
+current_user()
+test1@localhost
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test1@localhost
+GRANT USAGE ON *.* TO 'test1'@'localhost'
+GRANT SELECT, INSERT, CREATE, DROP ON `test`.* TO 'test1'@'localhost'
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: ALTER command denied to user 'test1'@'localhost' for table 'tp'
+disconnect test1;
+connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+USE test;
+SELECT current_user();
+current_user()
+test2@localhost
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test2@localhost
+GRANT USAGE ON *.* TO 'test2'@'localhost'
+GRANT SELECT, INSERT, UPDATE, CREATE, DROP, ALTER ON `test`.* TO 'test2'@'localhost'
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+SELECT * FROM tsp_00;
+a b
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+5 Five
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+disconnect test2;
+connection default;
+REVOKE ALTER ON test.* FROM test2@localhost;
+connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+USE test;
+SELECT current_user();
+current_user()
+test2@localhost
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test2@localhost
+GRANT USAGE ON *.* TO 'test2'@'localhost'
+GRANT SELECT, INSERT, UPDATE, CREATE, DROP ON `test`.* TO 'test2'@'localhost'
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: ALTER command denied to user 'test2'@'localhost' for table 'tp'
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: ALTER command denied to user 'test2'@'localhost' for table 'tp'
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ERROR 42000: ALTER command denied to user 'test2'@'localhost' for table 'tsp'
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ERROR 42000: ALTER command denied to user 'test2'@'localhost' for table 'tsp'
+connection default;
+disconnect test2;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+DROP USER test1@localhost;
+DROP USER test2@localhost;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_5_myisam.result b/mysql-test/suite/parts/r/partition_exch_qa_5_myisam.result
new file mode 100644
index 00000000000..e539c37a0b4
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_5_myisam.result
@@ -0,0 +1,114 @@
+CREATE USER test1@localhost;
+CREATE USER test2@localhost;
+GRANT USAGE ON *.* TO test1@localhost;
+GRANT USAGE ON *.* TO test2@localhost;
+GRANT CREATE, DROP, INSERT, SELECT ON test.* TO test1@localhost;
+GRANT CREATE, DROP, ALTER, UPDATE, INSERT, SELECT ON test.* TO test2@localhost;
+connect (test1,localhost,test1,,test,MASTER_MYPORT,MASTER_MYSOCK);
+SELECT current_user();
+current_user()
+test1@localhost
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test1@localhost
+GRANT USAGE ON *.* TO 'test1'@'localhost'
+GRANT SELECT, INSERT, CREATE, DROP ON `test`.* TO 'test1'@'localhost'
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: ALTER command denied to user 'test1'@'localhost' for table 'tp'
+disconnect test1;
+connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+USE test;
+SELECT current_user();
+current_user()
+test2@localhost
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test2@localhost
+GRANT USAGE ON *.* TO 'test2'@'localhost'
+GRANT SELECT, INSERT, UPDATE, CREATE, DROP, ALTER ON `test`.* TO 'test2'@'localhost'
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+SELECT * FROM tsp_00;
+a b
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+5 Five
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+disconnect test2;
+connection default;
+REVOKE ALTER ON test.* FROM test2@localhost;
+connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+USE test;
+SELECT current_user();
+current_user()
+test2@localhost
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test2@localhost
+GRANT USAGE ON *.* TO 'test2'@'localhost'
+GRANT SELECT, INSERT, UPDATE, CREATE, DROP ON `test`.* TO 'test2'@'localhost'
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: ALTER command denied to user 'test2'@'localhost' for table 'tp'
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: ALTER command denied to user 'test2'@'localhost' for table 'tp'
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ERROR 42000: ALTER command denied to user 'test2'@'localhost' for table 'tsp'
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ERROR 42000: ALTER command denied to user 'test2'@'localhost' for table 'tsp'
+connection default;
+disconnect test2;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+DROP USER test1@localhost;
+DROP USER test2@localhost;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_6.result b/mysql-test/suite/parts/r/partition_exch_qa_6.result
new file mode 100644
index 00000000000..1d285a19390
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_6.result
@@ -0,0 +1,146 @@
+CREATE USER test2@localhost;
+CREATE TABLE t_10 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_100 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_1000 (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_empty (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE t_null (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM;
+CREATE TABLE tp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10) ,
+PARTITION p1 VALUES LESS THAN (100) ,
+PARTITION p2 VALUES LESS THAN (1000) );
+CREATE TABLE tsp (a INT, b VARCHAR(55), PRIMARY KEY (a)) ENGINE = MYISAM
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10)
+(SUBPARTITION sp00,
+SUBPARTITION sp01,
+SUBPARTITION sp02,
+SUBPARTITION sp03,
+SUBPARTITION sp04), PARTITION p1 VALUES LESS THAN (100)
+(SUBPARTITION sp10 ,
+SUBPARTITION sp11 ,
+SUBPARTITION sp12 ,
+SUBPARTITION sp13 ,
+SUBPARTITION sp14 ),
+PARTITION p2 VALUES LESS THAN (1000)
+(SUBPARTITION sp20,
+SUBPARTITION sp21,
+SUBPARTITION sp22,
+SUBPARTITION sp23,
+SUBPARTITION sp24));
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+INSERT INTO t_null VALUES (1, "NULL");
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = MYISAM AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+GRANT USAGE ON *.* TO test2@localhost;
+GRANT CREATE, DROP, ALTER, UPDATE, INSERT, SELECT ON test.* TO test2@localhost;
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test2@localhost
+GRANT USAGE ON *.* TO 'test2'@'localhost'
+GRANT SELECT, INSERT, UPDATE, CREATE, DROP, ALTER ON `test`.* TO 'test2'@'localhost'
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+SELECT * FROM tsp_00;
+a b
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+5 Five
+6 Six
+8 Eight
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+SELECT * FROM tsp_00;
+a b
+5 Five
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+REVOKE INSERT ON test.* FROM test2@localhost;
+USE test;
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test2@localhost
+GRANT USAGE ON *.* TO 'test2'@'localhost'
+GRANT SELECT, UPDATE, CREATE, DROP, ALTER ON `test`.* TO 'test2'@'localhost'
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: INSERT command denied to user 'test2'@'localhost' for table 'tp'
+GRANT INSERT ON test.* TO test2@localhost;
+REVOKE CREATE ON test.* FROM test2@localhost;
+USE test;
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test2@localhost
+GRANT USAGE ON *.* TO 'test2'@'localhost'
+GRANT SELECT, INSERT, UPDATE, DROP, ALTER ON `test`.* TO 'test2'@'localhost'
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+ERROR 42000: CREATE command denied to user 'test2'@'localhost' for table 'tsp'
+GRANT CREATE ON test.* TO test2@localhost;
+REVOKE DROP ON test.* FROM test2@localhost;
+SHOW GRANTS FOR CURRENT_USER;
+Grants for test2@localhost
+GRANT USAGE ON *.* TO 'test2'@'localhost'
+GRANT SELECT, INSERT, UPDATE, CREATE, ALTER ON `test`.* TO 'test2'@'localhost'
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: DROP command denied to user 'test2'@'localhost' for table 'tp'
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+DROP USER test2@localhost;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_7_innodb.result b/mysql-test/suite/parts/r/partition_exch_qa_7_innodb.result
new file mode 100644
index 00000000000..8ae4bfd3d3a
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_7_innodb.result
@@ -0,0 +1,82 @@
+CREATE USER test_2@localhost;
+send
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+connect (test_2,localhost,test_2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+INSERT INTO tp VALUES (7,"Seven");
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+7 Seven
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+connection default;
+reap;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+7 Seven
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+connection test_2;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+7 Seven
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+disconnect test_2;
+connection default;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+7 Seven
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+DROP USER test_2@localhost;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_7_myisam.result b/mysql-test/suite/parts/r/partition_exch_qa_7_myisam.result
new file mode 100644
index 00000000000..8ae4bfd3d3a
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_7_myisam.result
@@ -0,0 +1,82 @@
+CREATE USER test_2@localhost;
+send
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+connect (test_2,localhost,test_2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+INSERT INTO tp VALUES (7,"Seven");
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+7 Seven
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+connection default;
+reap;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+7 Seven
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+connection test_2;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+7 Seven
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+disconnect test_2;
+connection default;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+7 Seven
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+DROP USER test_2@localhost;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_8_innodb.result b/mysql-test/suite/parts/r/partition_exch_qa_8_innodb.result
new file mode 100644
index 00000000000..b252fc616b1
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_8_innodb.result
@@ -0,0 +1,83 @@
+CREATE USER test2@localhost;
+CREATE DATABASE testdb;
+USE testdb;
+USE test;
+GRANT CREATE, ALTER, DROP, INSERT, SELECT on test.* TO test2@localhost;
+GRANT CREATE, ALTER, DROP, INSERT, SELECT on testdb.* TO test2@localhost;
+connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE testdb.t_10;
+SELECT * FROM testdb.t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE testdb.t_10;
+SELECT * FROM testdb.t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE testdb.tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM testdb.tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE testdb.tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM testdb.tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+disconnect test2;
+connection default;
+REVOKE INSERT ON testdb.* FROM test2@localhost;
+connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE testdb.t_10;
+ERROR 42000: INSERT command denied to user 'test2'@'localhost' for table 't_10'
+ALTER TABLE testdb.tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: INSERT command denied to user 'test2'@'localhost' for table 'tp'
+disconnect test2;
+connection default;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+DROP USER test2@localhost;
+DROP DATABASE testdb;
diff --git a/mysql-test/suite/parts/r/partition_exch_qa_8_myisam.result b/mysql-test/suite/parts/r/partition_exch_qa_8_myisam.result
new file mode 100644
index 00000000000..b252fc616b1
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exch_qa_8_myisam.result
@@ -0,0 +1,83 @@
+CREATE USER test2@localhost;
+CREATE DATABASE testdb;
+USE testdb;
+USE test;
+GRANT CREATE, ALTER, DROP, INSERT, SELECT on test.* TO test2@localhost;
+GRANT CREATE, ALTER, DROP, INSERT, SELECT on testdb.* TO test2@localhost;
+connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE testdb.t_10;
+SELECT * FROM testdb.t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE testdb.t_10;
+SELECT * FROM testdb.t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+ALTER TABLE testdb.tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+SELECT * FROM testdb.tp WHERE a BETWEEN 0 AND 10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+ALTER TABLE testdb.tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+SELECT * FROM t_10;
+a b
+1 One
+3 Three
+5 Five
+9 Nine
+SELECT * FROM testdb.tp WHERE a BETWEEN 0 AND 10;
+a b
+2 Two
+4 Four
+6 Six
+8 Eight
+disconnect test2;
+connection default;
+REVOKE INSERT ON testdb.* FROM test2@localhost;
+connect (test2,localhost,test2,,test,MASTER_MYPORT,MASTER_MYSOCK);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE testdb.t_10;
+ERROR 42000: INSERT command denied to user 'test2'@'localhost' for table 't_10'
+ALTER TABLE testdb.tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ERROR 42000: INSERT command denied to user 'test2'@'localhost' for table 'tp'
+disconnect test2;
+connection default;
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS tsp_00;
+DROP TABLE IF EXISTS tsp_01;
+DROP TABLE IF EXISTS tsp_02;
+DROP TABLE IF EXISTS tsp_03;
+DROP TABLE IF EXISTS tsp_04;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+DROP USER test2@localhost;
+DROP DATABASE testdb;
diff --git a/mysql-test/suite/parts/r/partition_exchange_archive.result b/mysql-test/suite/parts/r/partition_exchange_archive.result
new file mode 100644
index 00000000000..2918c2eed31
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exchange_archive.result
@@ -0,0 +1,322 @@
+# Archive does not support keys, update or delete
+# Test with AUTO_INCREMENT
+CREATE TABLE tp
+(a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+b varchar(24))
+ENGINE = 'Archive'
+PARTITION BY HASH (a) PARTITIONS 4;
+CREATE TABLE t LIKE tp;
+ALTER TABLE t REMOVE PARTITIONING;
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+PARTITIONS 4 */
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+INSERT INTO tp (b) VALUES ("One"), ("Two"), ("Three"), ("Four"), ("Five"),
+("Six"), ("Seven"), ("Eight"), ("Nine"), ("Ten"), ("Eleven"), ("Twelwe");
+INSERT INTO tp VALUES (41, "One hundred one");
+INSERT INTO tp VALUES (97, "Ninety seven");
+SET INSERT_ID = 13;
+INSERT INTO t (b) VALUES ("Thirteen");
+SET INSERT_ID = 17;
+INSERT INTO t (b) VALUES ("Twenty five");
+SET INSERT_ID = 21;
+INSERT INTO t (b) VALUES ("Twenty one");
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+PARTITION_NAME HAVE_ROWS
+p0 YES
+p1 YES
+p2 YES
+p3 YES
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+HAVE_ROWS
+YES
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t;
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+PARTITION_NAME HAVE_ROWS
+p0 YES
+p1 YES
+p2 YES
+p3 YES
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+HAVE_ROWS
+YES
+SELECT * FROM tp ORDER BY a;
+a b
+2 Two
+3 Three
+4 Four
+6 Six
+7 Seven
+8 Eight
+10 Ten
+11 Eleven
+12 Twelwe
+13 Thirteen
+17 Twenty five
+21 Twenty one
+SELECT * FROM t ORDER BY a;
+a b
+1 One
+5 Five
+9 Nine
+41 One hundred one
+97 Ninety seven
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=22 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+PARTITIONS 4 */
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=98 DEFAULT CHARSET=latin1
+DROP TABLE tp, t;
+CREATE TABLE t
+(a INT,
+b VARCHAR(55))
+ENGINE = 'Archive';
+CREATE TABLE tp
+(a INT,
+b VARCHAR(55))
+ENGINE = 'Archive'
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+CREATE TABLE tsp
+(a INT,
+b VARCHAR(55))
+ENGINE = 'Archive'
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (100)
+(SUBPARTITION sp0,
+SUBPARTITION sp1),
+PARTITION p1 VALUES LESS THAN MAXVALUE
+(SUBPARTITION sp2,
+SUBPARTITION sp3));
+INSERT INTO t VALUES (1, "First value"), (3, "Three"), (5, "Five"), (99, "End of values");
+INSERT INTO tp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+INSERT INTO tsp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+SELECT * FROM t;
+a b
+1 First value
+3 Three
+5 Five
+99 End of values
+SELECT * FROM tp;
+a b
+10 Ten
+161 161
+162 162
+163 163
+164 164
+2 First value
+200 Two hundred, end of values
+50 Fifty
+61 Sixty one
+62 Sixty two
+63 Sixty three
+64 Sixty four
+# Start by testing read/write locking
+SET AUTOCOMMIT = 1;
+# con1
+SET DEBUG_SYNC= 'swap_partition_after_compare_tables SIGNAL swap_in_progress WAIT_FOR goto_verification';
+SET DEBUG_SYNC= 'swap_partition_first_row_read SIGNAL swap_in_progress WAIT_FOR goto_wait';
+SET DEBUG_SYNC= 'swap_partition_after_wait SIGNAL swap_in_progress WAIT_FOR goto_rename';
+SET DEBUG_SYNC= 'swap_partition_before_rename SIGNAL swap_in_progress WAIT_FOR test_done';
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t;
+# con default
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM tp WHERE a = 61;
+a b
+61 Sixty one
+# any write (update/delete/insert) into t or tp should fail
+SET SESSION lock_wait_timeout=1;
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'Archive';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'Archive';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(55) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(55) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = ARCHIVE,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */
+SET DEBUG_SYNC= 'now SIGNAL goto_verification';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM tp WHERE a = 61;
+a b
+61 Sixty one
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+# any write (update/delete/insert) into t should fail
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'Archive';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'Archive';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(55) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(55) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = ARCHIVE,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */
+SET DEBUG_SYNC= 'now SIGNAL goto_wait';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# Both tables should now be under exclusive lock, even SHOW should fail
+SELECT * FROM t WHERE a = 99;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM tp WHERE a = 61;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE tp;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'Archive';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'Archive';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC= 'now SIGNAL goto_rename';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# Both tables should now be under exclusive lock
+SELECT * FROM t WHERE a = 99;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM tp WHERE a = 61;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'Archive';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'Archive';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE tp;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC= 'now SIGNAL test_done';
+# con1
+# con default
+# Tables should now be as normal
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(55) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(55) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = ARCHIVE,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */
+SELECT * FROM tp WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM t WHERE a = 61;
+a b
+61 Sixty one
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ALTER TABLE t ENGINE = 'Archive';
+ALTER TABLE tp ENGINE = 'Archive';
+# con default
+SET DEBUG_SYNC= 'RESET';
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(55) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(55) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = ARCHIVE,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */
+SELECT * FROM t;
+a b
+10 Ten
+2 First value
+50 Fifty
+59 To be deleted
+61 Sixty one
+62 Sixty two
+63 Sixty three
+63 Sixty three, new
+64 Sixty four
+SELECT * FROM tp;
+a b
+1 First value
+161 161
+162 162
+163 163
+164 164
+200 Two hundred, end of values
+3 Three
+5 Five
+59 To be deleted
+63 Sixty three, new
+99 End of values
+DROP TABLE t, tp, tsp;
diff --git a/mysql-test/suite/parts/r/partition_exchange_blackhole.result b/mysql-test/suite/parts/r/partition_exchange_blackhole.result
new file mode 100644
index 00000000000..f293bd8f960
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exchange_blackhole.result
@@ -0,0 +1,10 @@
+# Blackhole has not implemented check_if_incompatible_data,
+# so it cannot support EXCHANGE PARTITION
+CREATE TABLE t (a int, b varchar(55)) ENGINE = 'Blackhole';
+CREATE TABLE tp (a int, b varchar(55)) ENGINE = 'Blackhole'
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t;
+ERROR HY000: Tables have different definitions
+DROP TABLE t, tp;
diff --git a/mysql-test/suite/parts/r/partition_exchange_innodb.result b/mysql-test/suite/parts/r/partition_exchange_innodb.result
new file mode 100644
index 00000000000..f0e4923d39a
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exchange_innodb.result
@@ -0,0 +1,374 @@
+# Test with AUTO_INCREMENT
+CREATE TABLE tp
+(a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+b varchar(24))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 4;
+CREATE TABLE t LIKE tp;
+ALTER TABLE t REMOVE PARTITIONING;
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+PARTITIONS 4 */
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO tp (b) VALUES ("One"), ("Two"), ("Three"), ("Four"), ("Five"),
+("Six"), ("Seven"), ("Eight"), ("Nine"), ("Ten"), ("Eleven"), ("Twelwe");
+INSERT INTO tp VALUES (97, "Ninety seven");
+INSERT INTO tp VALUES (111, "One hundred eleven");
+INSERT INTO tp VALUES (101, "One hundred one");
+SET INSERT_ID = 13;
+INSERT INTO t (b) VALUES ("Thirteen");
+SET INSERT_ID = 21;
+INSERT INTO t (b) VALUES ("Twenty one");
+SET INSERT_ID = 25;
+INSERT INTO t (b) VALUES ("Twenty five");
+SET INSERT_ID = 55;
+INSERT INTO t (b) VALUES ("Fifty five");
+DELETE FROM tp WHERE a = 111;
+DELETE FROM t WHERE a = 55;
+UPDATE tp SET a = 41 WHERE a = 101;
+UPDATE t SET a = 17 WHERE a = 25;
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+PARTITION_NAME HAVE_ROWS
+p0 YES
+p1 YES
+p2 YES
+p3 YES
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+HAVE_ROWS
+YES
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t;
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+PARTITION_NAME HAVE_ROWS
+p0 YES
+p1 YES
+p2 YES
+p3 YES
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+HAVE_ROWS
+YES
+SELECT * FROM tp ORDER BY a;
+a b
+2 Two
+3 Three
+4 Four
+6 Six
+7 Seven
+8 Eight
+10 Ten
+11 Eleven
+12 Twelwe
+13 Thirteen
+17 Twenty five
+21 Twenty one
+SELECT * FROM t ORDER BY a;
+a b
+1 One
+5 Five
+9 Nine
+41 One hundred one
+97 Ninety seven
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=112 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+PARTITIONS 4 */
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
+DROP TABLE tp, t;
+CREATE TABLE t
+(a INT,
+b VARCHAR(55),
+PRIMARY KEY (a))
+ENGINE = 'InnoDB';
+CREATE TABLE tp
+(a INT,
+b VARCHAR(55),
+PRIMARY KEY (a))
+ENGINE = 'InnoDB'
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+CREATE TABLE tsp
+(a INT,
+b VARCHAR(55),
+PRIMARY KEY (a))
+ENGINE = 'InnoDB'
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (100)
+(SUBPARTITION sp0,
+SUBPARTITION sp1),
+PARTITION p1 VALUES LESS THAN MAXVALUE
+(SUBPARTITION sp2,
+SUBPARTITION sp3));
+INSERT INTO t VALUES (1, "First value"), (3, "Three"), (5, "Five"), (99, "End of values");
+INSERT INTO tp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+INSERT INTO tsp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+SELECT * FROM t;
+a b
+1 First value
+3 Three
+5 Five
+99 End of values
+SELECT * FROM tp;
+a b
+10 Ten
+161 161
+162 162
+163 163
+164 164
+2 First value
+200 Two hundred, end of values
+50 Fifty
+61 Sixty one
+62 Sixty two
+63 Sixty three
+64 Sixty four
+# Start by testing read/write locking
+SET AUTOCOMMIT = 1;
+# con1
+SET DEBUG_SYNC= 'swap_partition_after_compare_tables SIGNAL swap_in_progress WAIT_FOR goto_verification';
+SET DEBUG_SYNC= 'swap_partition_first_row_read SIGNAL swap_in_progress WAIT_FOR goto_wait';
+SET DEBUG_SYNC= 'swap_partition_after_wait SIGNAL swap_in_progress WAIT_FOR goto_rename';
+SET DEBUG_SYNC= 'swap_partition_before_rename SIGNAL swap_in_progress WAIT_FOR test_done';
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t;
+# con default
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM tp WHERE a = 61;
+a b
+61 Sixty one
+# any write (update/delete/insert) into t or tp should fail
+SET SESSION lock_wait_timeout=1;
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'InnoDB';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'InnoDB';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SET DEBUG_SYNC= 'now SIGNAL goto_verification';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM tp WHERE a = 61;
+a b
+61 Sixty one
+UPDATE tp SET a = 43, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+# any write (update/delete/insert) into t should fail
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'InnoDB';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'InnoDB';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SET DEBUG_SYNC= 'now SIGNAL goto_wait';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# Both tables should now be under exclusive lock, even SHOW should fail
+SELECT * FROM t WHERE a = 99;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM tp WHERE a = 61;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE tp;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'InnoDB';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'InnoDB';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC= 'now SIGNAL goto_rename';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# Both tables should now be under exclusive lock
+SELECT * FROM t WHERE a = 99;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM tp WHERE a = 61;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'InnoDB';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'InnoDB';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE tp;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC= 'now SIGNAL test_done';
+# con1
+# con default
+# Tables should now be as normal
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM tp WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM t WHERE a = 61;
+a b
+61 Sixty one
+UPDATE t SET a = 53, b = "Fifty three, was sixty three" WHERE a = 63;
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+DELETE FROM t WHERE a = 59;
+UPDATE tp SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+DELETE FROM tp WHERE a = 3;
+ALTER TABLE t ENGINE = 'InnoDB';
+ALTER TABLE tp ENGINE = 'InnoDB';
+# con default
+SET DEBUG_SYNC= 'RESET';
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = InnoDB,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+SELECT * FROM t;
+a b
+10 Ten
+2 First value
+50 Fifty
+53 Fifty three, was sixty three
+61 Sixty one
+62 Sixty two
+63 Sixty three, new
+64 Sixty four
+SELECT * FROM tp;
+a b
+1 First value
+161 161
+162 162
+163 163
+164 164
+200 Two hundred, end of values
+5 Five
+53 Fifty three, was three
+59 To be deleted
+63 Sixty three, new
+99 End of values
+DROP TABLE t, tp, tsp;
diff --git a/mysql-test/suite/parts/r/partition_exchange_memory.result b/mysql-test/suite/parts/r/partition_exchange_memory.result
new file mode 100644
index 00000000000..9cc42791905
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exchange_memory.result
@@ -0,0 +1,374 @@
+# Test with AUTO_INCREMENT
+CREATE TABLE tp
+(a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+b varchar(24))
+ENGINE = 'Memory'
+PARTITION BY HASH (a) PARTITIONS 4;
+CREATE TABLE t LIKE tp;
+ALTER TABLE t REMOVE PARTITIONING;
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+PARTITIONS 4 */
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+INSERT INTO tp (b) VALUES ("One"), ("Two"), ("Three"), ("Four"), ("Five"),
+("Six"), ("Seven"), ("Eight"), ("Nine"), ("Ten"), ("Eleven"), ("Twelwe");
+INSERT INTO tp VALUES (97, "Ninety seven");
+INSERT INTO tp VALUES (111, "One hundred eleven");
+INSERT INTO tp VALUES (101, "One hundred one");
+SET INSERT_ID = 13;
+INSERT INTO t (b) VALUES ("Thirteen");
+SET INSERT_ID = 21;
+INSERT INTO t (b) VALUES ("Twenty one");
+SET INSERT_ID = 25;
+INSERT INTO t (b) VALUES ("Twenty five");
+SET INSERT_ID = 55;
+INSERT INTO t (b) VALUES ("Fifty five");
+DELETE FROM tp WHERE a = 111;
+DELETE FROM t WHERE a = 55;
+UPDATE tp SET a = 41 WHERE a = 101;
+UPDATE t SET a = 17 WHERE a = 25;
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+PARTITION_NAME HAVE_ROWS
+p0 YES
+p1 YES
+p2 YES
+p3 YES
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+HAVE_ROWS
+YES
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t;
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+PARTITION_NAME HAVE_ROWS
+p0 YES
+p1 YES
+p2 YES
+p3 YES
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+HAVE_ROWS
+YES
+SELECT * FROM tp ORDER BY a;
+a b
+2 Two
+3 Three
+4 Four
+6 Six
+7 Seven
+8 Eight
+10 Ten
+11 Eleven
+12 Twelwe
+13 Thirteen
+17 Twenty five
+21 Twenty one
+SELECT * FROM t ORDER BY a;
+a b
+1 One
+5 Five
+9 Nine
+41 One hundred one
+97 Ninety seven
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY AUTO_INCREMENT=112 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+PARTITIONS 4 */
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
+DROP TABLE tp, t;
+CREATE TABLE t
+(a INT,
+b VARCHAR(55),
+PRIMARY KEY (a))
+ENGINE = 'Memory';
+CREATE TABLE tp
+(a INT,
+b VARCHAR(55),
+PRIMARY KEY (a))
+ENGINE = 'Memory'
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+CREATE TABLE tsp
+(a INT,
+b VARCHAR(55),
+PRIMARY KEY (a))
+ENGINE = 'Memory'
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (100)
+(SUBPARTITION sp0,
+SUBPARTITION sp1),
+PARTITION p1 VALUES LESS THAN MAXVALUE
+(SUBPARTITION sp2,
+SUBPARTITION sp3));
+INSERT INTO t VALUES (1, "First value"), (3, "Three"), (5, "Five"), (99, "End of values");
+INSERT INTO tp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+INSERT INTO tsp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+SELECT * FROM t;
+a b
+1 First value
+3 Three
+5 Five
+99 End of values
+SELECT * FROM tp;
+a b
+10 Ten
+161 161
+162 162
+163 163
+164 164
+2 First value
+200 Two hundred, end of values
+50 Fifty
+61 Sixty one
+62 Sixty two
+63 Sixty three
+64 Sixty four
+# Start by testing read/write locking
+SET AUTOCOMMIT = 1;
+# con1
+SET DEBUG_SYNC= 'swap_partition_after_compare_tables SIGNAL swap_in_progress WAIT_FOR goto_verification';
+SET DEBUG_SYNC= 'swap_partition_first_row_read SIGNAL swap_in_progress WAIT_FOR goto_wait';
+SET DEBUG_SYNC= 'swap_partition_after_wait SIGNAL swap_in_progress WAIT_FOR goto_rename';
+SET DEBUG_SYNC= 'swap_partition_before_rename SIGNAL swap_in_progress WAIT_FOR test_done';
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t;
+# con default
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM tp WHERE a = 61;
+a b
+61 Sixty one
+# any write (update/delete/insert) into t or tp should fail
+SET SESSION lock_wait_timeout=1;
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'Memory';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'Memory';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = MEMORY,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */
+SET DEBUG_SYNC= 'now SIGNAL goto_verification';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM tp WHERE a = 61;
+a b
+61 Sixty one
+UPDATE tp SET a = 43, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+# any write (update/delete/insert) into t should fail
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'Memory';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'Memory';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = MEMORY,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */
+SET DEBUG_SYNC= 'now SIGNAL goto_wait';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# Both tables should now be under exclusive lock, even SHOW should fail
+SELECT * FROM t WHERE a = 99;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM tp WHERE a = 61;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE tp;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'Memory';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'Memory';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC= 'now SIGNAL goto_rename';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# Both tables should now be under exclusive lock
+SELECT * FROM t WHERE a = 99;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM tp WHERE a = 61;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'Memory';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'Memory';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE tp;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC= 'now SIGNAL test_done';
+# con1
+# con default
+# Tables should now be as normal
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = MEMORY,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */
+SELECT * FROM tp WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM t WHERE a = 61;
+a b
+61 Sixty one
+UPDATE t SET a = 53, b = "Fifty three, was sixty three" WHERE a = 63;
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+DELETE FROM t WHERE a = 59;
+UPDATE tp SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+DELETE FROM tp WHERE a = 3;
+ALTER TABLE t ENGINE = 'Memory';
+ALTER TABLE tp ENGINE = 'Memory';
+# con default
+SET DEBUG_SYNC= 'RESET';
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = MEMORY,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */
+SELECT * FROM t;
+a b
+10 Ten
+2 First value
+50 Fifty
+53 Fifty three, was sixty three
+61 Sixty one
+62 Sixty two
+63 Sixty three, new
+64 Sixty four
+SELECT * FROM tp;
+a b
+1 First value
+161 161
+162 162
+163 163
+164 164
+200 Two hundred, end of values
+5 Five
+53 Fifty three, was three
+59 To be deleted
+63 Sixty three, new
+99 End of values
+DROP TABLE t, tp, tsp;
diff --git a/mysql-test/suite/parts/r/partition_exchange_myisam.result b/mysql-test/suite/parts/r/partition_exchange_myisam.result
new file mode 100644
index 00000000000..c31e2a6ee89
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_exchange_myisam.result
@@ -0,0 +1,374 @@
+# Test with AUTO_INCREMENT
+CREATE TABLE tp
+(a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+b varchar(24))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 4;
+CREATE TABLE t LIKE tp;
+ALTER TABLE t REMOVE PARTITIONING;
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+PARTITIONS 4 */
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+INSERT INTO tp (b) VALUES ("One"), ("Two"), ("Three"), ("Four"), ("Five"),
+("Six"), ("Seven"), ("Eight"), ("Nine"), ("Ten"), ("Eleven"), ("Twelwe");
+INSERT INTO tp VALUES (97, "Ninety seven");
+INSERT INTO tp VALUES (111, "One hundred eleven");
+INSERT INTO tp VALUES (101, "One hundred one");
+SET INSERT_ID = 13;
+INSERT INTO t (b) VALUES ("Thirteen");
+SET INSERT_ID = 21;
+INSERT INTO t (b) VALUES ("Twenty one");
+SET INSERT_ID = 25;
+INSERT INTO t (b) VALUES ("Twenty five");
+SET INSERT_ID = 55;
+INSERT INTO t (b) VALUES ("Fifty five");
+DELETE FROM tp WHERE a = 111;
+DELETE FROM t WHERE a = 55;
+UPDATE tp SET a = 41 WHERE a = 101;
+UPDATE t SET a = 17 WHERE a = 25;
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+PARTITION_NAME HAVE_ROWS
+p0 YES
+p1 YES
+p2 YES
+p3 YES
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+HAVE_ROWS
+YES
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t;
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 'tp';
+PARTITION_NAME HAVE_ROWS
+p0 YES
+p1 YES
+p2 YES
+p3 YES
+SELECT IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='test' AND TABLE_NAME = 't';
+HAVE_ROWS
+YES
+SELECT * FROM tp ORDER BY a;
+a b
+2 Two
+3 Three
+4 Four
+6 Six
+7 Seven
+8 Eight
+10 Ten
+11 Eleven
+12 Twelwe
+13 Thirteen
+17 Twenty five
+21 Twenty one
+SELECT * FROM t ORDER BY a;
+a b
+1 One
+5 Five
+9 Nine
+41 One hundred one
+97 Ninety seven
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM AUTO_INCREMENT=112 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (a)
+PARTITIONS 4 */
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` varchar(24) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
+DROP TABLE tp, t;
+CREATE TABLE t
+(a INT,
+b VARCHAR(55),
+PRIMARY KEY (a))
+ENGINE = 'MyISAM';
+CREATE TABLE tp
+(a INT,
+b VARCHAR(55),
+PRIMARY KEY (a))
+ENGINE = 'MyISAM'
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+CREATE TABLE tsp
+(a INT,
+b VARCHAR(55),
+PRIMARY KEY (a))
+ENGINE = 'MyISAM'
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (100)
+(SUBPARTITION sp0,
+SUBPARTITION sp1),
+PARTITION p1 VALUES LESS THAN MAXVALUE
+(SUBPARTITION sp2,
+SUBPARTITION sp3));
+INSERT INTO t VALUES (1, "First value"), (3, "Three"), (5, "Five"), (99, "End of values");
+INSERT INTO tp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+INSERT INTO tsp VALUES (2, "First value"), (10, "Ten"), (50, "Fifty"), (200, "Two hundred, end of values"), (61, "Sixty one"), (62, "Sixty two"), (63, "Sixty three"), (64, "Sixty four"), (161, "161"), (162, "162"), (163, "163"), (164, "164");
+SELECT * FROM t;
+a b
+1 First value
+3 Three
+5 Five
+99 End of values
+SELECT * FROM tp;
+a b
+10 Ten
+161 161
+162 162
+163 163
+164 164
+2 First value
+200 Two hundred, end of values
+50 Fifty
+61 Sixty one
+62 Sixty two
+63 Sixty three
+64 Sixty four
+# Start by testing read/write locking
+SET AUTOCOMMIT = 1;
+# con1
+SET DEBUG_SYNC= 'swap_partition_after_compare_tables SIGNAL swap_in_progress WAIT_FOR goto_verification';
+SET DEBUG_SYNC= 'swap_partition_first_row_read SIGNAL swap_in_progress WAIT_FOR goto_wait';
+SET DEBUG_SYNC= 'swap_partition_after_wait SIGNAL swap_in_progress WAIT_FOR goto_rename';
+SET DEBUG_SYNC= 'swap_partition_before_rename SIGNAL swap_in_progress WAIT_FOR test_done';
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t;
+# con default
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM tp WHERE a = 61;
+a b
+61 Sixty one
+# any write (update/delete/insert) into t or tp should fail
+SET SESSION lock_wait_timeout=1;
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'MyISAM';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'MyISAM';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SET DEBUG_SYNC= 'now SIGNAL goto_verification';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# select from t and select/update/delete/insert from tp should work
+SELECT * FROM t WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM tp WHERE a = 61;
+a b
+61 Sixty one
+UPDATE tp SET a = 43, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+# any write (update/delete/insert) into t should fail
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'MyISAM';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'MyISAM';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SET DEBUG_SYNC= 'now SIGNAL goto_wait';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# Both tables should now be under exclusive lock, even SHOW should fail
+SELECT * FROM t WHERE a = 99;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM tp WHERE a = 61;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE tp;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'MyISAM';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'MyISAM';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC= 'now SIGNAL goto_rename';
+SET DEBUG_SYNC= 'now WAIT_FOR swap_in_progress';
+# Both tables should now be under exclusive lock
+SELECT * FROM t WHERE a = 99;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM tp WHERE a = 61;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE tp SET a = 53, b = concat("Fifty three, was ", b) WHERE a = 63;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO tp VALUES (63, "Sixty three, new 2"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM tp WHERE a = 59;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+UPDATE t SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DELETE FROM t WHERE a = 3;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t ENGINE = 'MyISAM';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE tp ENGINE = 'MyISAM';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE t;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SHOW CREATE TABLE tp;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC= 'now SIGNAL test_done';
+# con1
+# con default
+# Tables should now be as normal
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM tp WHERE a = 99;
+a b
+99 End of values
+SELECT * FROM t WHERE a = 61;
+a b
+61 Sixty one
+UPDATE t SET a = 53, b = "Fifty three, was sixty three" WHERE a = 63;
+INSERT INTO t VALUES (63, "Sixty three, new"), (59, "To be deleted");
+DELETE FROM t WHERE a = 59;
+UPDATE tp SET a = 53, b = "Fifty three, was three" WHERE a = 3;
+INSERT INTO tp VALUES (63, "Sixty three, new"), (59, "To be deleted");
+DELETE FROM tp WHERE a = 3;
+ALTER TABLE t ENGINE = 'MyISAM';
+ALTER TABLE tp ENGINE = 'MyISAM';
+# con default
+SET DEBUG_SYNC= 'RESET';
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE tp;
+Table Create Table
+tp CREATE TABLE `tp` (
+ `a` int(11) NOT NULL,
+ `b` varchar(55) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100) ENGINE = MyISAM,
+ PARTITION p1 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+SELECT * FROM t;
+a b
+10 Ten
+2 First value
+50 Fifty
+53 Fifty three, was sixty three
+61 Sixty one
+62 Sixty two
+63 Sixty three, new
+64 Sixty four
+SELECT * FROM tp;
+a b
+1 First value
+161 161
+162 162
+163 163
+164 164
+200 Two hundred, end of values
+5 Five
+53 Fifty three, was three
+59 To be deleted
+63 Sixty three, new
+99 End of values
+DROP TABLE t, tp, tsp;
diff --git a/mysql-test/suite/parts/r/partition_mdev6067.result b/mysql-test/suite/parts/r/partition_mdev6067.result
index 7b123d7c17c..4737d3679f3 100644
--- a/mysql-test/suite/parts/r/partition_mdev6067.result
+++ b/mysql-test/suite/parts/r/partition_mdev6067.result
@@ -3,15 +3,15 @@ PARTITION BY KEY (a) PARTITIONS 2;
INSERT INTO t1 VALUES (1,1);
INSERT INTO t1 VALUES (2,2), (3,8);
INSERT INTO t1 VALUES (4,16);
-show binlog events in 'master-bin.000001' from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2,2), (3,8)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4,16)
master-bin.000001 # Xid # # COMMIT /* XID */
DROP TABLE t1;
@@ -21,18 +21,18 @@ PARTITION BY KEY (a) PARTITIONS 2;
INSERT INTO t1 VALUES (1,1);
INSERT INTO t1 VALUES (2,2), (3,8);
INSERT INTO t1 VALUES (4,16);
-show binlog events in 'master-bin.000001' from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
DROP TABLE t1;
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result b/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result
index f4d76874b4c..330258094ef 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `TableA` (
(PARTITION parta ENGINE = ARCHIVE,
PARTITION partB ENGINE = ARCHIVE,
PARTITION Partc ENGINE = ARCHIVE) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = ARCHIVE,
+ PARTITION partB ENGINE = ARCHIVE,
+ PARTITION Partc ENGINE = ARCHIVE) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `TableB` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = ARCHIVE,
+ PARTITION partB ENGINE = ARCHIVE,
+ PARTITION Partc ENGINE = ARCHIVE) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -237,7 +309,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'Archive'
@@ -268,7 +340,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -493,7 +565,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -724,7 +796,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
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 19f16780d13..5b54e9c571f 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `TableA` (
(PARTITION parta ENGINE = InnoDB,
PARTITION partB ENGINE = InnoDB,
PARTITION Partc ENGINE = InnoDB) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = InnoDB,
+ PARTITION partB ENGINE = InnoDB,
+ PARTITION Partc ENGINE = InnoDB) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `TableB` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = InnoDB,
+ PARTITION partB ENGINE = InnoDB,
+ PARTITION Partc ENGINE = InnoDB) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -237,7 +309,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'InnoDB'
@@ -268,7 +340,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -493,7 +565,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -724,7 +796,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
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 69a43b64d87..dd4bed89ea8 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `TableA` (
(PARTITION parta ENGINE = MEMORY,
PARTITION partB ENGINE = MEMORY,
PARTITION Partc ENGINE = MEMORY) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MEMORY,
+ PARTITION partB ENGINE = MEMORY,
+ PARTITION Partc ENGINE = MEMORY) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `TableB` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MEMORY,
+ PARTITION partB ENGINE = MEMORY,
+ PARTITION Partc ENGINE = MEMORY) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -237,7 +309,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'Memory'
@@ -268,7 +340,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -493,7 +565,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -724,7 +796,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
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 9b4e85be9d0..b01279017fe 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `TableA` (
(PARTITION parta ENGINE = MyISAM,
PARTITION partB ENGINE = MyISAM,
PARTITION Partc ENGINE = MyISAM) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MyISAM,
+ PARTITION partB ENGINE = MyISAM,
+ PARTITION Partc ENGINE = MyISAM) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `TableB` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MyISAM,
+ PARTITION partB ENGINE = MyISAM,
+ PARTITION Partc ENGINE = MyISAM) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -237,7 +309,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'MyISAM'
@@ -268,7 +340,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -493,7 +565,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -724,7 +796,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_archive.result b/mysql-test/suite/parts/r/partition_mgm_lc1_archive.result
index 1113e7dcb0c..66ba08cfbe0 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc1_archive.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc1_archive.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `tablea` (
(PARTITION parta ENGINE = ARCHIVE,
PARTITION partB ENGINE = ARCHIVE,
PARTITION Partc ENGINE = ARCHIVE) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `tablea` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = ARCHIVE,
+ PARTITION partB ENGINE = ARCHIVE,
+ PARTITION Partc ENGINE = ARCHIVE) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `tableb` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `tablea` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = ARCHIVE,
+ PARTITION partB ENGINE = ARCHIVE,
+ PARTITION Partc ENGINE = ARCHIVE) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -228,7 +300,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'Archive'
@@ -259,7 +331,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -475,7 +547,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -698,7 +770,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
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 952f4136cb6..e1c2d0a74bb 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `tablea` (
(PARTITION parta ENGINE = InnoDB,
PARTITION partB ENGINE = InnoDB,
PARTITION Partc ENGINE = InnoDB) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `tablea` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = InnoDB,
+ PARTITION partB ENGINE = InnoDB,
+ PARTITION Partc ENGINE = InnoDB) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `tableb` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `tablea` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = InnoDB,
+ PARTITION partB ENGINE = InnoDB,
+ PARTITION Partc ENGINE = InnoDB) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -228,7 +300,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'InnoDB'
@@ -259,7 +331,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -475,7 +547,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -698,7 +770,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
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 435a0d8313e..ecd89689435 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `tablea` (
(PARTITION parta ENGINE = MEMORY,
PARTITION partB ENGINE = MEMORY,
PARTITION Partc ENGINE = MEMORY) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `tablea` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MEMORY,
+ PARTITION partB ENGINE = MEMORY,
+ PARTITION Partc ENGINE = MEMORY) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `tableb` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `tablea` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MEMORY,
+ PARTITION partB ENGINE = MEMORY,
+ PARTITION Partc ENGINE = MEMORY) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -228,7 +300,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'Memory'
@@ -259,7 +331,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -475,7 +547,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -698,7 +770,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
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 3a90ce4d73c..deecf320d7d 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `tablea` (
(PARTITION parta ENGINE = MyISAM,
PARTITION partB ENGINE = MyISAM,
PARTITION Partc ENGINE = MyISAM) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `tablea` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MyISAM,
+ PARTITION partB ENGINE = MyISAM,
+ PARTITION Partc ENGINE = MyISAM) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `tableb` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `tablea` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MyISAM,
+ PARTITION partB ENGINE = MyISAM,
+ PARTITION Partc ENGINE = MyISAM) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -228,7 +300,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'MyISAM'
@@ -259,7 +331,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -475,7 +547,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -698,7 +770,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_archive.result b/mysql-test/suite/parts/r/partition_mgm_lc2_archive.result
index e71803fcac9..f3503889699 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc2_archive.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc2_archive.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `TableA` (
(PARTITION parta ENGINE = ARCHIVE,
PARTITION partB ENGINE = ARCHIVE,
PARTITION Partc ENGINE = ARCHIVE) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = ARCHIVE,
+ PARTITION partB ENGINE = ARCHIVE,
+ PARTITION Partc ENGINE = ARCHIVE) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `TableB` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = ARCHIVE,
+ PARTITION partB ENGINE = ARCHIVE,
+ PARTITION Partc ENGINE = ARCHIVE) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -228,7 +300,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'Archive'
@@ -259,7 +331,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -475,7 +547,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -698,7 +770,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result b/mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result
index 8e42bc9eb62..50579e84d96 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `TableA` (
(PARTITION parta ENGINE = InnoDB,
PARTITION partB ENGINE = InnoDB,
PARTITION Partc ENGINE = InnoDB) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = InnoDB,
+ PARTITION partB ENGINE = InnoDB,
+ PARTITION Partc ENGINE = InnoDB) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `TableB` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = InnoDB,
+ PARTITION partB ENGINE = InnoDB,
+ PARTITION Partc ENGINE = InnoDB) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -167,7 +239,7 @@ PARTITION Partc ,
PARTITION PartD );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
@@ -228,7 +300,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'InnoDB'
@@ -259,7 +331,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -394,7 +466,7 @@ PARTITION Partc ,
PARTITION PartD );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
@@ -475,7 +547,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -616,7 +688,7 @@ PARTITION Partc VALUES LESS THAN (10) ,
PARTITION PartD VALUES LESS THAN (13) );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
@@ -698,7 +770,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
@@ -834,7 +906,7 @@ PARTITION Partc VALUES IN (3,4,7) ,
PARTITION PartD VALUES IN (5,6,12) );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_memory.result b/mysql-test/suite/parts/r/partition_mgm_lc2_memory.result
index 24047912ab1..e92aac28e79 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc2_memory.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc2_memory.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `TableA` (
(PARTITION parta ENGINE = MEMORY,
PARTITION partB ENGINE = MEMORY,
PARTITION Partc ENGINE = MEMORY) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MEMORY,
+ PARTITION partB ENGINE = MEMORY,
+ PARTITION Partc ENGINE = MEMORY) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `TableB` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MEMORY,
+ PARTITION partB ENGINE = MEMORY,
+ PARTITION Partc ENGINE = MEMORY) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -167,7 +239,7 @@ PARTITION Partc ,
PARTITION PartD );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
@@ -228,7 +300,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'Memory'
@@ -259,7 +331,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -394,7 +466,7 @@ PARTITION Partc ,
PARTITION PartD );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
@@ -475,7 +547,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -616,7 +688,7 @@ PARTITION Partc VALUES LESS THAN (10) ,
PARTITION PartD VALUES LESS THAN (13) );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
@@ -698,7 +770,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
@@ -834,7 +906,7 @@ PARTITION Partc VALUES IN (3,4,7) ,
PARTITION PartD VALUES IN (5,6,12) );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result b/mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result
index 7a61a811ea3..35c663caae3 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result
@@ -32,7 +32,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -88,6 +88,78 @@ TableA CREATE TABLE `TableA` (
(PARTITION parta ENGINE = MyISAM,
PARTITION partB ENGINE = MyISAM,
PARTITION Partc ENGINE = MyISAM) */
+# Test of EXCHANGE PARTITION WITH TABLE
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME TABLE_ROWS
+parta 4
+partB 4
+Partc 4
+CREATE TABLE TableB LIKE TableA;
+ALTER TABLE TableB REMOVE PARTITIONING;
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+12
+2
+3
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MyISAM,
+ PARTITION partB ENGINE = MyISAM,
+ PARTITION Partc ENGINE = MyISAM) */
+SELECT * FROM TableB;
+a
+10
+11
+4
+5
+SHOW CREATE TABLE TableB;
+Table Create Table
+TableB CREATE TABLE `TableB` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
+PARTITION_NAME HAVE_TABLE_ROWS
+parta NO
+partB YES
+Partc YES
+ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
+INSERT INTO TableB VALUES (11);
+ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
+ERROR HY000: Found a row that does not match the partition
+DROP TABLE TableB;
+SELECT * FROM TableA;
+a
+1
+10
+11
+12
+2
+3
+4
+5
+6
+7
+8
+9
+SHOW CREATE TABLE TableA;
+Table Create Table
+TableA CREATE TABLE `TableA` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = MyISAM,
+ PARTITION partB ENGINE = MyISAM,
+ PARTITION Partc ENGINE = MyISAM) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
@@ -167,7 +239,7 @@ PARTITION Partc ,
PARTITION PartD );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
@@ -228,7 +300,7 @@ PARTITION BY HASH (a)
PARTITION partA ,
PARTITION Parta ,
PARTITION PartA );
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
# Creating Hash partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'MyISAM'
@@ -259,7 +331,7 @@ ALTER TABLE TableA ADD PARTITION
(PARTITION partA,
PARTITION Parta,
PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE,
PARTITION Partf,
@@ -394,7 +466,7 @@ PARTITION Partc ,
PARTITION PartD );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
@@ -475,7 +547,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES LESS THAN (MAXVALUE));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES LESS THAN (16),
PARTITION Partf VALUES LESS THAN (19),
@@ -616,7 +688,7 @@ PARTITION Partc VALUES LESS THAN (10) ,
PARTITION PartD VALUES LESS THAN (13) );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
@@ -698,7 +770,7 @@ a
# expecting duplicate partition name
ALTER TABLE TableA ADD PARTITION
(PARTITION partA VALUES IN (0));
-ERROR HY000: Duplicate partition name parta
+ERROR HY000: Duplicate partition name partA
ALTER TABLE TableA ADD PARTITION
(PARTITION partE VALUES IN (16),
PARTITION Partf VALUES IN (19),
@@ -834,7 +906,7 @@ PARTITION Partc VALUES IN (3,4,7) ,
PARTITION PartD VALUES IN (5,6,12) );
ERROR 42S01: Table 'tablea' already exists
SHOW TABLES;
-Tables_in_mysql_test_db
+Tables_in_MySQL_Test_DB
TableA
RENAME TABLE TableA to tablea;
ERROR 42S01: Table 'tablea' already exists
diff --git a/mysql-test/suite/parts/r/partition_repair_myisam.result b/mysql-test/suite/parts/r/partition_repair_myisam.result
index a9d7ce8aeb4..3652698f634 100644
--- a/mysql-test/suite/parts/r/partition_repair_myisam.result
+++ b/mysql-test/suite/parts/r/partition_repair_myisam.result
@@ -1,4 +1,65 @@
# REPAIR USE_FRM is not implemented for partitioned tables.
+# Test what happens if we exchange a crashed partition with a table
+SHOW VARIABLES LIKE 'myisam_recover_options';
+Variable_name Value
+myisam_recover_options OFF
+CREATE TABLE t (a INT, KEY (a)) ENGINE=MyISAM;
+CREATE TABLE tp (a INT, KEY (a)) ENGINE=MyISAM
+PARTITION BY RANGE (a)
+(PARTITION pCrashed VALUES LESS THAN (15),
+PARTITION pMAX VALUES LESS THAN MAXVALUE);
+INSERT INTO t VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
+INSERT INTO tp VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
+FLUSH TABLES;
+# replacing tp#P#pCrashed.MYI with a corrupt + unclosed one created by doing:
+# 'create table t1 (a int key(a))' head -c1024 t1.MYI > corrupt_t1.MYI
+CHECK TABLE tp;
+Table Op Msg_type Msg_text
+test.tp check warning 1 client is using or hasn't closed the table properly
+test.tp check error Size of indexfile is: 1024 Should be: 2048
+test.tp check warning Size of datafile is: 77 Should be: 7
+test.tp check error Partition pCrashed returned error
+test.tp check error Corrupt
+ALTER TABLE tp EXCHANGE PARTITION pCrashed WITH TABLE t;
+ERROR HY000: Table './test/tp#P#pCrashed' is marked as crashed and should be repaired
+REPAIR TABLE tp;
+Table Op Msg_type Msg_text
+test.tp repair warning Number of rows changed from 1 to 11
+test.tp repair status OK
+CHECK TABLE tp;
+Table Op Msg_type Msg_text
+test.tp check status OK
+ALTER TABLE tp EXCHANGE PARTITION pCrashed WITH TABLE t;
+CHECK TABLE t;
+Table Op Msg_type Msg_text
+test.t check status OK
+CHECK TABLE tp;
+Table Op Msg_type Msg_text
+test.tp check status OK
+FLUSH TABLES;
+CHECK TABLE t;
+Table Op Msg_type Msg_text
+test.t check warning 1 client is using or hasn't closed the table properly
+test.t check error Size of indexfile is: 1024 Should be: 2048
+test.t check warning Size of datafile is: 77 Should be: 7
+test.t check error Corrupt
+ALTER TABLE tp EXCHANGE PARTITION pCrashed WITH TABLE t;
+ERROR HY000: Table './test/t' is marked as crashed and should be repaired
+REPAIR TABLE t;
+Table Op Msg_type Msg_text
+test.t repair warning Number of rows changed from 1 to 11
+test.t repair status OK
+CHECK TABLE t;
+Table Op Msg_type Msg_text
+test.t check status OK
+ALTER TABLE tp EXCHANGE PARTITION pCrashed WITH TABLE t;
+CHECK TABLE tp;
+Table Op Msg_type Msg_text
+test.tp check status OK
+CHECK TABLE t;
+Table Op Msg_type Msg_text
+test.t check status OK
+DROP TABLE t, tp;
# test of non partitioned myisam for reference
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);
@@ -209,7 +270,7 @@ PARTITIONS 7;
SELECT COUNT(*) FROM t1_will_crash;
COUNT(*)
33
-SELECT (b % 7) AS partition, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
+SELECT (b % 7) AS `partition`, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
partition rows
0 2
1 5
@@ -218,7 +279,7 @@ partition rows
4 4
5 4
6 8
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash ORDER BY partition, b, a;
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash ORDER BY `partition`, b, a;
partition b a length(c)
0 0 lost 64
0 7 z lost 64
@@ -282,7 +343,7 @@ test.t1_will_crash repair status OK
SELECT COUNT(*) FROM t1_will_crash;
COUNT(*)
29
-SELECT (b % 7) AS partition, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
+SELECT (b % 7) AS `partition`, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
partition rows
1 4
2 5
@@ -290,7 +351,7 @@ partition rows
4 4
5 4
6 7
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash ORDER BY partition, b, a;
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash ORDER BY `partition`, b, a;
partition b a length(c)
1 1 abc 64
1 8 tuw 64
@@ -366,9 +427,9 @@ Table Op Msg_type Msg_text
test.t1_will_crash repair info Delete link points outside datafile at 340
test.t1_will_crash repair info Delete link points outside datafile at 340
test.t1_will_crash repair status OK
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash
WHERE (b % 7) = 6
-ORDER BY partition, b, a;
+ORDER BY `partition`, b, a;
partition b a length(c)
6 6 jkl 64
6 13 ooo 64
@@ -385,9 +446,9 @@ FLUSH TABLES;
# table, depending if one reads via index or direct on datafile.
# Since crash when reuse of deleted row space, CHECK MEDIUM or EXTENDED
# is required (MEDIUM is default) to verify correct behavior!
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash
WHERE (b % 7) = 6
-ORDER BY partition, b, a;
+ORDER BY `partition`, b, a;
partition b a length(c)
6 6 jkl 64
6 13 ooo 64
@@ -396,9 +457,9 @@ partition b a length(c)
6 97 zzzzzZzzzzz 64
SET @save_optimizer_switch= @@optimizer_switch;
SET @@optimizer_switch='derived_merge=off';
-SELECT (b % 7) AS partition, b, a FROM (SELECT b,a FROM t1_will_crash) q
+SELECT (b % 7) AS `partition`, b, a FROM (SELECT b,a FROM t1_will_crash) q
WHERE (b % 7) = 6
-ORDER BY partition, b, a;
+ORDER BY `partition`, b, a;
partition b a
6 6 jkl
6 13 ooo
@@ -422,7 +483,7 @@ test.t1_will_crash repair status OK
SELECT COUNT(*) FROM t1_will_crash;
COUNT(*)
29
-SELECT (b % 7) AS partition, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
+SELECT (b % 7) AS `partition`, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
partition rows
1 4
2 4
@@ -430,7 +491,7 @@ partition rows
4 4
5 4
6 8
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash ORDER BY partition, b, a;
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash ORDER BY `partition`, b, a;
partition b a length(c)
1 1 abc 64
1 8 tuw 64
diff --git a/mysql-test/suite/parts/r/partition_special_innodb.result b/mysql-test/suite/parts/r/partition_special_innodb.result
index 37bc3e49ab7..1a513aa3d5f 100644
--- a/mysql-test/suite/parts/r/partition_special_innodb.result
+++ b/mysql-test/suite/parts/r/partition_special_innodb.result
@@ -10,7 +10,7 @@ t1 CREATE TABLE `t1` (
`a` date NOT NULL,
`b` varchar(50) NOT NULL,
`c` varchar(50) NOT NULL,
- `d` enum('m','w') NOT NULL DEFAULT 'm',
+ `d` enum('m','w') NOT NULL,
PRIMARY KEY (`a`,`b`,`c`,`d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a,b,c,d)
diff --git a/mysql-test/suite/parts/r/partition_special_myisam.result b/mysql-test/suite/parts/r/partition_special_myisam.result
index 31868ea03ed..d300d6d2d44 100644
--- a/mysql-test/suite/parts/r/partition_special_myisam.result
+++ b/mysql-test/suite/parts/r/partition_special_myisam.result
@@ -10,7 +10,7 @@ t1 CREATE TABLE `t1` (
`a` date NOT NULL,
`b` varchar(50) NOT NULL,
`c` varchar(50) NOT NULL,
- `d` enum('m','w') NOT NULL DEFAULT 'm',
+ `d` enum('m','w') NOT NULL,
PRIMARY KEY (`a`,`b`,`c`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a,b,c,d)
diff --git a/mysql-test/suite/parts/r/partition_syntax_innodb.result b/mysql-test/suite/parts/r/partition_syntax_innodb.result
index f704d902429..3dba2873235 100644
--- a/mysql-test/suite/parts/r/partition_syntax_innodb.result
+++ b/mysql-test/suite/parts/r/partition_syntax_innodb.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'InnoDB';
+SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ DROP TABLE IF EXISTS t1;
# PARTITION BY HASH/KEY/LIST/RANGE
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -58,8 +58,8 @@ PRIMARY KEY (f_int2)
PARTITION BY HASH(f_int1) PARTITIONS 2;
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -68,8 +68,8 @@ PRIMARY KEY (f_int2)
PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -78,8 +78,8 @@ PRIMARY KEY (f_int2)
PARTITION BY KEY(f_int1) PARTITIONS 2;
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -88,8 +88,8 @@ PRIMARY KEY (f_int2)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -99,8 +99,8 @@ PARTITION BY LIST(f_int1)
(PARTITION part1 VALUES IN (1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -110,8 +110,8 @@ PARTITION BY LIST(f_int1 + f_int2)
(PARTITION part1 VALUES IN (1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -121,8 +121,8 @@ PARTITION BY RANGE(f_int1)
(PARTITION part1 VALUES LESS THAN (1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -140,8 +140,8 @@ ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning
# Variant 2) two columns in partitioning function
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -150,8 +150,8 @@ UNIQUE INDEX (f_int2)
PARTITION BY HASH(f_int1) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -160,8 +160,8 @@ PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
PARTITION BY HASH(f_int1) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -170,8 +170,8 @@ UNIQUE INDEX (f_int2)
PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -180,8 +180,8 @@ PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -190,8 +190,8 @@ UNIQUE INDEX (f_int2)
PARTITION BY KEY(f_int1) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -200,8 +200,8 @@ PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
PARTITION BY KEY(f_int1) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -210,8 +210,8 @@ UNIQUE INDEX (f_int2)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -220,8 +220,8 @@ PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -234,8 +234,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -248,8 +248,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -262,8 +262,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -276,8 +276,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -288,8 +288,8 @@ PARTITION BY RANGE(f_int1)
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -300,8 +300,8 @@ PARTITION BY RANGE(f_int1)
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -312,8 +312,8 @@ PARTITION BY RANGE(f_int1 + f_int2)
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -328,8 +328,8 @@ ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning
# PARTITION BY RANGE/LIST -- SUBPARTITION BY HASH/KEY
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -340,8 +340,8 @@ PARTITION BY RANGE(f_int2) SUBPARTITION BY HASH(f_int1)
(SUBPARTITION subpart1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -352,8 +352,8 @@ PARTITION BY RANGE(f_int2) SUBPARTITION BY KEY(f_int1)
(SUBPARTITION subpart1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -364,8 +364,8 @@ PARTITION BY LIST(f_int2) SUBPARTITION BY HASH(f_int1)
(SUBPARTITION subpart1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -382,8 +382,8 @@ ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning
# Variant b) With correct additional PRIMARY KEY
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -395,8 +395,8 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 3
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -408,8 +408,8 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 3
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -421,8 +421,8 @@ SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -434,8 +434,8 @@ SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -449,8 +449,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -464,8 +464,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -479,8 +479,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -502,8 +502,8 @@ ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning
#------------------------------------------------------------------------
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -517,8 +517,8 @@ ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY pa
# later releases.
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -539,8 +539,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
# 3.1 The constants in VALUES IN clauses must differ
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -569,8 +569,8 @@ ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partiti
# 3.3 LIST partitions must be defined with VALUES IN
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -584,8 +584,8 @@ ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition defin
# 3.4 RANGE partitions must be defined with VALUES LESS THAN
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -601,8 +601,8 @@ ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
# 3.5.1 NULL in RANGE partitioning clause
# 3.5.1.1 VALUE LESS THAN (NULL) is not allowed
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -613,8 +613,8 @@ PARTITION part2 VALUES LESS THAN (1000));
ERROR HY000: Not allowed to use NULL value in VALUES LESS THAN
# 3.5.1.2 VALUE LESS THAN (NULL) is not allowed
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -626,8 +626,8 @@ ERROR HY000: Not allowed to use NULL value in VALUES LESS THAN
# 3.5.2 NULL in LIST partitioning clause
# 3.5.2.1 VALUE IN (NULL)
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -639,8 +639,8 @@ PARTITION part3 VALUES IN (1));
DROP TABLE t1;
# 3.5.2.2 VALUE IN (NULL)
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -652,8 +652,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -665,8 +665,8 @@ t1 CREATE TABLE `t1` (
DROP TABLE t1;
# 3.5.3 Reveal that IN (...NULL) is not mapped to IN(0)
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -679,8 +679,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -702,8 +702,8 @@ DROP TABLE IF EXISTS t1;
#------------------------------------------------------------------------
# 4.1.1 no partition number, no named partitions
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -713,8 +713,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -724,8 +724,8 @@ t1 CREATE TABLE `t1` (
DROP TABLE t1;
# 4.1.2 no partition number, named partitions
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -735,8 +735,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -748,31 +748,31 @@ t1 CREATE TABLE `t1` (
DROP TABLE t1;
# 4.1.3 variations on no partition/subpartition number, named partitions,
# different subpartitions are/are not named
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)) ;
DROP TABLE t1;
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart31 , SUBPARTITION subpart32 ))' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20)
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS T' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -780,16 +780,16 @@ PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS T' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10)
(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ' PARTITION part3 VALUES LESS THAN (2147483646))' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -798,8 +798,8 @@ PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ' PARTITION part3 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart31 , SUBPART' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -807,8 +807,8 @@ PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES
(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20)
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')' at line 8
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -820,8 +820,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -845,8 +845,8 @@ DROP TABLE t1;
DROP TABLE IF EXISTS t1;
# 4.2.1 partition/subpartition numbers INTEGER notation
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -856,8 +856,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -867,8 +867,8 @@ PARTITIONS 2 */
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -881,8 +881,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -895,8 +895,8 @@ SUBPARTITIONS 2
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -906,8 +906,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -917,8 +917,8 @@ PARTITIONS 1 */
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -931,8 +931,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -945,8 +945,8 @@ SUBPARTITIONS 1
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -954,8 +954,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0;
ERROR HY000: Number of partitions = 0 is not an allowed value
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -966,8 +966,8 @@ SUBPARTITIONS 0
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: Number of subpartitions = 0 is not an allowed value
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -975,8 +975,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS -1;
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 '-1' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -989,8 +989,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (214' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -998,8 +998,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1000000;
ERROR HY000: Too many partitions (including subpartitions) were defined
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1011,8 +1011,8 @@ PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: Too many partitions (including subpartitions) were defined
# 4.2.2 partition/subpartition numbers DECIMAL notation
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1020,8 +1020,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 2.0;
ERROR 42000: Only integers allowed as number here near '2.0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1034,8 +1034,8 @@ ERROR 42000: Only integers allowed as number here near '2.0
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1043,8 +1043,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS -2.0;
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 '-2.0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1057,8 +1057,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1066,8 +1066,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.0;
ERROR 42000: Only integers allowed as number here near '0.0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1080,8 +1080,8 @@ ERROR 42000: Only integers allowed as number here near '0.0
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1089,8 +1089,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1.6;
ERROR 42000: Only integers allowed as number here near '1.6' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1103,8 +1103,8 @@ ERROR 42000: Only integers allowed as number here near '1.6
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1112,8 +1112,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 999999999999999999999999999999.999999999999999999999999999999;
ERROR 42000: Only integers allowed as number here near '999999999999999999999999999999.999999999999999999999999999999' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1125,8 +1125,8 @@ PARTITION part2 VALUES LESS THAN (2147483646));
ERROR 42000: Only integers allowed as number here near '999999999999999999999999999999.999999999999999999999999999999
(PARTITION part1 V' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1134,8 +1134,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.000000000000000000000000000001;
ERROR 42000: Only integers allowed as number here near '0.000000000000000000000000000001' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1149,8 +1149,8 @@ ERROR 42000: Only integers allowed as number here near '0.0000000000000000000000
PARTITI' at line 9
# 4.2.3 partition/subpartition numbers FLOAT notation
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1158,8 +1158,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 2.0E+0;
ERROR 42000: Only integers allowed as number here near '2.0E+0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1172,8 +1172,8 @@ ERROR 42000: Only integers allowed as number here near '2.0E+0
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN ' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1181,8 +1181,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.2E+1;
ERROR 42000: Only integers allowed as number here near '0.2E+1' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1195,8 +1195,8 @@ ERROR 42000: Only integers allowed as number here near '0.2E+1
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN ' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1204,8 +1204,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS -2.0E+0;
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 '-2.0E+0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1218,8 +1218,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1227,8 +1227,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.16E+1;
ERROR 42000: Only integers allowed as number here near '0.16E+1' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1241,8 +1241,8 @@ ERROR 42000: Only integers allowed as number here near '0.16E+1
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1250,8 +1250,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.0E+300;
ERROR 42000: Only integers allowed as number here near '0.0E+300' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1264,8 +1264,8 @@ ERROR 42000: Only integers allowed as number here near '0.0E+300
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THA' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1273,8 +1273,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1E+300;
ERROR 42000: Only integers allowed as number here near '1E+300' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1287,8 +1287,8 @@ ERROR 42000: Only integers allowed as number here near '1E+300
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN ' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1296,8 +1296,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1E-300;
ERROR 42000: Only integers allowed as number here near '1E-300' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1311,8 +1311,8 @@ ERROR 42000: Only integers allowed as number here near '1E-300
PARTITION part2 VALUES LESS THAN ' at line 9
# 4.2.4 partition/subpartition numbers STRING notation
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1320,8 +1320,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '2';
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 ''2'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1334,8 +1334,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1343,8 +1343,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '2.0';
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 ''2.0'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1357,8 +1357,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1366,8 +1366,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '0.2E+1';
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 ''0.2E+1'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1380,8 +1380,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THA' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1389,8 +1389,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '2A';
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 ''2A'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1403,8 +1403,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1412,8 +1412,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 'A2';
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 ''A2'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1426,8 +1426,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1435,8 +1435,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '';
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 '''' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1449,8 +1449,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (214' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1458,8 +1458,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 'GARBAGE';
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 ''GARBAGE'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1473,8 +1473,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
PARTITION part2 VALUES LESS TH' at line 9
# 4.2.5 partition/subpartition numbers other notations
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1482,8 +1482,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 2A;
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 '2A' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1496,8 +1496,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (214' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1505,8 +1505,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS A2;
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 'A2' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1519,8 +1519,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (214' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1528,8 +1528,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS GARBAGE;
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 'GARBAGE' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1542,8 +1542,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1551,8 +1551,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS "2";
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 '"2"' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1565,8 +1565,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1574,8 +1574,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS "2A";
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 '"2A"' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1588,8 +1588,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1597,8 +1597,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS "A2";
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 '"A2"' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1611,8 +1611,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1620,8 +1620,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS "GARBAGE";
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 '"GARBAGE"' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1636,8 +1636,8 @@ PARTITION part2 VALUES LESS TH' at line 9
# 4.2.6 (negative) partition/subpartition numbers per @variables
SET @aux = 5;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1645,8 +1645,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS @aux;
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 '@aux' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1664,8 +1664,8 @@ PARTITION part2 VALUES LESS THA' at line 9
# 4.3.1 (positive) number of partition/subpartition
# = number of named partition/subpartition
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1675,8 +1675,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1687,8 +1687,8 @@ t1 CREATE TABLE `t1` (
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1704,8 +1704,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1726,8 +1726,8 @@ DROP TABLE t1;
# 4.3.3 (negative) number of partitions/subpartitions
# > number of named partitions/subpartitions
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1735,8 +1735,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 2 ( PARTITION part1 ) ;
ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1752,8 +1752,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
PARTITION part2 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart21, SUBPAR' at line 11
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1771,8 +1771,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
PARTITION part3 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart31, SUBPAR' at line 13
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1788,8 +1788,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
)' at line 13
# 4.3.4 (negative) number of partitions < number of named partitions
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1797,8 +1797,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1 ( PARTITION part1, PARTITION part2 ) ;
ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1814,8 +1814,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
PARTITION part2 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart21, SUBPAR' at line 11
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1833,8 +1833,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
PARTITION part2 VALUES LESS THAN (2000)
(SUBPARTITION subpart21 ' at line 11
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1860,8 +1860,8 @@ DROP TABLE IF EXISTS t1;
#------------------------------------------------------------------------
# 5.1.1 duplicate partition name
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1870,8 +1870,8 @@ PARTITION BY HASH(f_int1) (PARTITION part1, PARTITION part1);
ERROR HY000: Duplicate partition name part1
# 5.1.2 duplicate subpartition name
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
diff --git a/mysql-test/suite/parts/r/partition_syntax_myisam.result b/mysql-test/suite/parts/r/partition_syntax_myisam.result
index 556abf7ad39..7da964a1f8c 100644
--- a/mysql-test/suite/parts/r/partition_syntax_myisam.result
+++ b/mysql-test/suite/parts/r/partition_syntax_myisam.result
@@ -1,5 +1,5 @@
SET @max_row = 20;
-SET @@session.storage_engine = 'MyISAM';
+SET @@session.default_storage_engine = 'MyISAM';
#------------------------------------------------------------------------
# 0. Setting of auxiliary variables + Creation of an auxiliary tables
@@ -11,8 +11,8 @@ SELECT @max_row DIV 4 INTO @max_row_div4;
SET @max_int_4 = 2147483647;
DROP TABLE IF EXISTS t0_template;
CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) ,
@@ -27,8 +27,8 @@ file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t0_aux ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -48,8 +48,8 @@ DROP TABLE IF EXISTS t1;
# PARTITION BY HASH/KEY/LIST/RANGE
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -58,8 +58,8 @@ PRIMARY KEY (f_int2)
PARTITION BY HASH(f_int1) PARTITIONS 2;
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -68,8 +68,8 @@ PRIMARY KEY (f_int2)
PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -78,8 +78,8 @@ PRIMARY KEY (f_int2)
PARTITION BY KEY(f_int1) PARTITIONS 2;
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -88,8 +88,8 @@ PRIMARY KEY (f_int2)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -99,8 +99,8 @@ PARTITION BY LIST(f_int1)
(PARTITION part1 VALUES IN (1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -110,8 +110,8 @@ PARTITION BY LIST(f_int1 + f_int2)
(PARTITION part1 VALUES IN (1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -121,8 +121,8 @@ PARTITION BY RANGE(f_int1)
(PARTITION part1 VALUES LESS THAN (1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -140,8 +140,8 @@ ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning
# Variant 2) two columns in partitioning function
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -150,8 +150,8 @@ UNIQUE INDEX (f_int2)
PARTITION BY HASH(f_int1) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -160,8 +160,8 @@ PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
PARTITION BY HASH(f_int1) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -170,8 +170,8 @@ UNIQUE INDEX (f_int2)
PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -180,8 +180,8 @@ PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -190,8 +190,8 @@ UNIQUE INDEX (f_int2)
PARTITION BY KEY(f_int1) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -200,8 +200,8 @@ PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
PARTITION BY KEY(f_int1) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -210,8 +210,8 @@ UNIQUE INDEX (f_int2)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -220,8 +220,8 @@ PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -234,8 +234,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -248,8 +248,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -262,8 +262,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -276,8 +276,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -288,8 +288,8 @@ PARTITION BY RANGE(f_int1)
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -300,8 +300,8 @@ PARTITION BY RANGE(f_int1)
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -312,8 +312,8 @@ PARTITION BY RANGE(f_int1 + f_int2)
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -328,8 +328,8 @@ ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning
# PARTITION BY RANGE/LIST -- SUBPARTITION BY HASH/KEY
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -340,8 +340,8 @@ PARTITION BY RANGE(f_int2) SUBPARTITION BY HASH(f_int1)
(SUBPARTITION subpart1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -352,8 +352,8 @@ PARTITION BY RANGE(f_int2) SUBPARTITION BY KEY(f_int1)
(SUBPARTITION subpart1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -364,8 +364,8 @@ PARTITION BY LIST(f_int2) SUBPARTITION BY HASH(f_int1)
(SUBPARTITION subpart1));
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -382,8 +382,8 @@ ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning
# Variant b) With correct additional PRIMARY KEY
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -395,8 +395,8 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 3
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -408,8 +408,8 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 3
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -421,8 +421,8 @@ SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -434,8 +434,8 @@ SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -449,8 +449,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -464,8 +464,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -479,8 +479,8 @@ PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -502,8 +502,8 @@ ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning
#------------------------------------------------------------------------
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -517,8 +517,8 @@ ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY pa
# later releases.
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000),
@@ -539,8 +539,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
# 3.1 The constants in VALUES IN clauses must differ
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -569,8 +569,8 @@ ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partiti
# 3.3 LIST partitions must be defined with VALUES IN
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -584,8 +584,8 @@ ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition defin
# 3.4 RANGE partitions must be defined with VALUES LESS THAN
#------------------------------------------------------------------------
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -601,8 +601,8 @@ ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
# 3.5.1 NULL in RANGE partitioning clause
# 3.5.1.1 VALUE LESS THAN (NULL) is not allowed
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -613,8 +613,8 @@ PARTITION part2 VALUES LESS THAN (1000));
ERROR HY000: Not allowed to use NULL value in VALUES LESS THAN
# 3.5.1.2 VALUE LESS THAN (NULL) is not allowed
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -626,8 +626,8 @@ ERROR HY000: Not allowed to use NULL value in VALUES LESS THAN
# 3.5.2 NULL in LIST partitioning clause
# 3.5.2.1 VALUE IN (NULL)
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -639,8 +639,8 @@ PARTITION part3 VALUES IN (1));
DROP TABLE t1;
# 3.5.2.2 VALUE IN (NULL)
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -652,8 +652,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -673,8 +673,8 @@ t1.par
DROP TABLE t1;
# 3.5.3 Reveal that IN (...NULL) is not mapped to IN(0)
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -687,8 +687,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -720,8 +720,8 @@ DROP TABLE IF EXISTS t1;
#------------------------------------------------------------------------
# 4.1.1 no partition number, no named partitions
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -731,8 +731,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -748,8 +748,8 @@ t1.par
DROP TABLE t1;
# 4.1.2 no partition number, named partitions
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -759,8 +759,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -780,31 +780,31 @@ t1.par
DROP TABLE t1;
# 4.1.3 variations on no partition/subpartition number, named partitions,
# different subpartitions are/are not named
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)) ;
DROP TABLE t1;
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart31 , SUBPARTITION subpart32 ))' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20)
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS T' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -812,16 +812,16 @@ PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS T' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10)
(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ' PARTITION part3 VALUES LESS THAN (2147483646))' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -830,8 +830,8 @@ PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ' PARTITION part3 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart31 , SUBPART' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -839,8 +839,8 @@ PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES
(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20)
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)) ;
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')' at line 8
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
+CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000) )
@@ -852,8 +852,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -893,8 +893,8 @@ DROP TABLE t1;
DROP TABLE IF EXISTS t1;
# 4.2.1 partition/subpartition numbers INTEGER notation
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -904,8 +904,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -923,8 +923,8 @@ t1.par
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -937,8 +937,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -963,8 +963,8 @@ t1.par
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -974,8 +974,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -991,8 +991,8 @@ t1.par
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1005,8 +1005,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1027,8 +1027,8 @@ t1.par
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1036,8 +1036,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0;
ERROR HY000: Number of partitions = 0 is not an allowed value
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1048,8 +1048,8 @@ SUBPARTITIONS 0
PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: Number of subpartitions = 0 is not an allowed value
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1057,8 +1057,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS -1;
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 '-1' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1071,8 +1071,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (214' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1080,8 +1080,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1000000;
ERROR HY000: Too many partitions (including subpartitions) were defined
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1093,8 +1093,8 @@ PARTITION part2 VALUES LESS THAN (2147483646));
ERROR HY000: Too many partitions (including subpartitions) were defined
# 4.2.2 partition/subpartition numbers DECIMAL notation
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1102,8 +1102,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 2.0;
ERROR 42000: Only integers allowed as number here near '2.0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1116,8 +1116,8 @@ ERROR 42000: Only integers allowed as number here near '2.0
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1125,8 +1125,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS -2.0;
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 '-2.0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1139,8 +1139,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1148,8 +1148,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.0;
ERROR 42000: Only integers allowed as number here near '0.0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1162,8 +1162,8 @@ ERROR 42000: Only integers allowed as number here near '0.0
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1171,8 +1171,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1.6;
ERROR 42000: Only integers allowed as number here near '1.6' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1185,8 +1185,8 @@ ERROR 42000: Only integers allowed as number here near '1.6
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1194,8 +1194,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 999999999999999999999999999999.999999999999999999999999999999;
ERROR 42000: Only integers allowed as number here near '999999999999999999999999999999.999999999999999999999999999999' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1207,8 +1207,8 @@ PARTITION part2 VALUES LESS THAN (2147483646));
ERROR 42000: Only integers allowed as number here near '999999999999999999999999999999.999999999999999999999999999999
(PARTITION part1 V' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1216,8 +1216,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.000000000000000000000000000001;
ERROR 42000: Only integers allowed as number here near '0.000000000000000000000000000001' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1231,8 +1231,8 @@ ERROR 42000: Only integers allowed as number here near '0.0000000000000000000000
PARTITI' at line 9
# 4.2.3 partition/subpartition numbers FLOAT notation
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1240,8 +1240,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 2.0E+0;
ERROR 42000: Only integers allowed as number here near '2.0E+0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1254,8 +1254,8 @@ ERROR 42000: Only integers allowed as number here near '2.0E+0
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN ' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1263,8 +1263,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.2E+1;
ERROR 42000: Only integers allowed as number here near '0.2E+1' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1277,8 +1277,8 @@ ERROR 42000: Only integers allowed as number here near '0.2E+1
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN ' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1286,8 +1286,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS -2.0E+0;
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 '-2.0E+0' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1300,8 +1300,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1309,8 +1309,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.16E+1;
ERROR 42000: Only integers allowed as number here near '0.16E+1' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1323,8 +1323,8 @@ ERROR 42000: Only integers allowed as number here near '0.16E+1
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1332,8 +1332,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 0.0E+300;
ERROR 42000: Only integers allowed as number here near '0.0E+300' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1346,8 +1346,8 @@ ERROR 42000: Only integers allowed as number here near '0.0E+300
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THA' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1355,8 +1355,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1E+300;
ERROR 42000: Only integers allowed as number here near '1E+300' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1369,8 +1369,8 @@ ERROR 42000: Only integers allowed as number here near '1E+300
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN ' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1378,8 +1378,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1E-300;
ERROR 42000: Only integers allowed as number here near '1E-300' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1393,8 +1393,8 @@ ERROR 42000: Only integers allowed as number here near '1E-300
PARTITION part2 VALUES LESS THAN ' at line 9
# 4.2.4 partition/subpartition numbers STRING notation
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1402,8 +1402,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '2';
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 ''2'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1416,8 +1416,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1425,8 +1425,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '2.0';
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 ''2.0'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1439,8 +1439,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1448,8 +1448,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '0.2E+1';
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 ''0.2E+1'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1462,8 +1462,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THA' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1471,8 +1471,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '2A';
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 ''2A'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1485,8 +1485,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1494,8 +1494,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 'A2';
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 ''A2'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1508,8 +1508,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1517,8 +1517,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS '';
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 '''' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1531,8 +1531,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (214' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1540,8 +1540,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 'GARBAGE';
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 ''GARBAGE'' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1555,8 +1555,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
PARTITION part2 VALUES LESS TH' at line 9
# 4.2.5 partition/subpartition numbers other notations
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1564,8 +1564,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 2A;
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 '2A' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1578,8 +1578,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (214' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1587,8 +1587,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS A2;
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 'A2' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1601,8 +1601,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (214' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1610,8 +1610,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS GARBAGE;
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 'GARBAGE' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1624,8 +1624,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1633,8 +1633,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS "2";
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 '"2"' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1647,8 +1647,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (21' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1656,8 +1656,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS "2A";
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 '"2A"' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1670,8 +1670,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1679,8 +1679,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS "A2";
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 '"A2"' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1693,8 +1693,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(PARTITION part1 VALUES LESS THAN (10),
PARTITION part2 VALUES LESS THAN (2' at line 9
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1702,8 +1702,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS "GARBAGE";
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 '"GARBAGE"' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1718,8 +1718,8 @@ PARTITION part2 VALUES LESS TH' at line 9
# 4.2.6 (negative) partition/subpartition numbers per @variables
SET @aux = 5;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1727,8 +1727,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS @aux;
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 '@aux' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1746,8 +1746,8 @@ PARTITION part2 VALUES LESS THA' at line 9
# 4.3.1 (positive) number of partition/subpartition
# = number of named partition/subpartition
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1757,8 +1757,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1777,8 +1777,8 @@ t1.par
DROP TABLE t1;
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1794,8 +1794,8 @@ create_command
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
+ `f_int1` int(11) DEFAULT '0',
+ `f_int2` int(11) DEFAULT '0',
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
@@ -1828,8 +1828,8 @@ DROP TABLE t1;
# 4.3.3 (negative) number of partitions/subpartitions
# > number of named partitions/subpartitions
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1837,8 +1837,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 2 ( PARTITION part1 ) ;
ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1854,8 +1854,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
PARTITION part2 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart21, SUBPAR' at line 11
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1873,8 +1873,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
PARTITION part3 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart31, SUBPAR' at line 13
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1890,8 +1890,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
)' at line 13
# 4.3.4 (negative) number of partitions < number of named partitions
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1899,8 +1899,8 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) PARTITIONS 1 ( PARTITION part1, PARTITION part2 ) ;
ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 8
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1916,8 +1916,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
PARTITION part2 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart21, SUBPAR' at line 11
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1935,8 +1935,8 @@ ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setti
PARTITION part2 VALUES LESS THAN (2000)
(SUBPARTITION subpart21 ' at line 11
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1962,8 +1962,8 @@ DROP TABLE IF EXISTS t1;
#------------------------------------------------------------------------
# 5.1.1 duplicate partition name
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
@@ -1972,8 +1972,8 @@ PARTITION BY HASH(f_int1) (PARTITION part1, PARTITION part1);
ERROR HY000: Duplicate partition name part1
# 5.1.2 duplicate subpartition name
CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
+f_int1 INTEGER DEFAULT 0,
+f_int2 INTEGER DEFAULT 0,
f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
diff --git a/mysql-test/suite/parts/r/truncate_locked.result b/mysql-test/suite/parts/r/truncate_locked.result
new file mode 100644
index 00000000000..54a3722938e
--- /dev/null
+++ b/mysql-test/suite/parts/r/truncate_locked.result
@@ -0,0 +1,7 @@
+create table t1 (i int) engine=myisam partition by hash(i) partitions 2 ;
+lock table t1 write;
+truncate table t1;
+desc t1;
+Field Type Null Key Default Extra
+i int(11) YES NULL
+drop table t1;
diff --git a/mysql-test/suite/parts/t/alter_data_directory_innodb.test b/mysql-test/suite/parts/t/alter_data_directory_innodb.test
new file mode 100644
index 00000000000..ac15e9bec6c
--- /dev/null
+++ b/mysql-test/suite/parts/t/alter_data_directory_innodb.test
@@ -0,0 +1,46 @@
+--source include/have_innodb.inc
+--source include/have_partition.inc
+
+--echo #
+--echo # MDEV-15953 Alter InnoDB Partitioned Table Moves Files (which were originally not in the datadir) to the datadir
+--echo #
+
+mkdir $MYSQLTEST_VARDIR/tmp/partitions_here;
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t (
+ a INT NOT NULL
+) ENGINE=INNODB
+PARTITION BY HASH (a) (
+ PARTITION p1 DATA DIRECTORY = '$MYSQLTEST_VARDIR/tmp/partitions_here/' ENGINE = INNODB,
+ PARTITION p2 DATA DIRECTORY = '$MYSQLTEST_VARDIR/tmp/partitions_here/' ENGINE = INNODB
+);
+INSERT INTO t VALUES (1);
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t;
+ALTER TABLE t ADD PRIMARY KEY pk(a), ALGORITHM=INPLACE;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t;
+ALTER TABLE t DROP PRIMARY KEY, ALGORITHM=COPY;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t;
+SET @TMP = @@GLOBAL.INNODB_FILE_PER_TABLE;
+SET GLOBAL INNODB_FILE_PER_TABLE=OFF;
+ALTER TABLE t ADD PRIMARY KEY pk(a), ALGORITHM=INPLACE;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t;
+SET GLOBAL INNODB_FILE_PER_TABLE=@TMP;
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval ALTER TABLE t REORGANIZE PARTITION p1,p2 INTO (
+ PARTITION p1 DATA DIRECTORY = '$MYSQLTEST_VARDIR/tmp/partitions_somewhere_else/' ENGINE = INNODB,
+ PARTITION p2 DATA DIRECTORY = '$MYSQLTEST_VARDIR/tmp/partitions_somewhere_else/' ENGINE = INNODB
+);
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t;
+
+DROP TABLE t;
+
+rmdir $MYSQLTEST_VARDIR/tmp/partitions_here/test;
+rmdir $MYSQLTEST_VARDIR/tmp/partitions_here;
diff --git a/mysql-test/suite/parts/t/longname.test b/mysql-test/suite/parts/t/longname.test
index feea5a790f2..0f7378ef8e3 100644
--- a/mysql-test/suite/parts/t/longname.test
+++ b/mysql-test/suite/parts/t/longname.test
@@ -3,6 +3,7 @@ source include/have_partition.inc;
set names utf8;
create database mysqltest1;
+select database_name, table_name, length(table_name) from mysql.innodb_table_stats where database_name = 'mysqltest1';
CREATE TABLE mysqltest1.test_jfg_table_name_with_64_chars_123456789012345678901234567890 (
id int(10) unsigned NOT NULL,
id2 int(10) unsigned NOT NULL,
@@ -14,6 +15,8 @@ PARTITION BY RANGE ( id )
PARTITION test_jfg_partition_name_with_60_chars_1234567890123456789012 VALUES LESS THAN (1000) ENGINE = InnoDB,
PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
+select database_name, table_name, length(table_name) from mysql.innodb_table_stats where database_name = 'mysqltest1';
+
--error ER_PATH_LENGTH
CREATE TABLE mysqltest1.éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé (
id int(10) unsigned NOT NULL,
diff --git a/mysql-test/suite/parts/t/partition_alter1_1_innodb.test b/mysql-test/suite/parts/t/partition_alter1_1_innodb.test
index e50a0cd7ed6..7f768e578de 100644
--- a/mysql-test/suite/parts/t/partition_alter1_1_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter1_1_innodb.test
@@ -1,3 +1,5 @@
+# This test takes long time, so only run it with the --big-test mtr-flag.
+--source include/big_test.inc
################################################################################
# t/partition_alter1_1_innodb.test #
# #
diff --git a/mysql-test/suite/parts/t/partition_alter_myisam.test b/mysql-test/suite/parts/t/partition_alter_myisam.test
index a53fa333abd..7e984921c1c 100644
--- a/mysql-test/suite/parts/t/partition_alter_myisam.test
+++ b/mysql-test/suite/parts/t/partition_alter_myisam.test
@@ -1,3 +1,23 @@
--source include/have_partition.inc
+--source include/have_symlink.inc
--let $engine=MyISAM
--source inc/part_alter_values.inc
+
+#
+# MDEV-14026 ALTER TABLE ... DELAY_KEY_WRITE=1 creates table copy for partitioned MyISAM table with DATA DIRECTORY/INDEX DIRECTORY options
+#
+
+replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR;
+eval create table t1 ( c1 int, c2 int, c3 varchar(100)) delay_key_write=1
+ partition by key(c1) (
+ partition p01 data directory = '$MYSQL_TMP_DIR'
+ index directory = '$MYSQL_TMP_DIR',
+ partition p02 data directory = '$MYSQL_TMP_DIR'
+ index directory = '$MYSQL_TMP_DIR');
+insert into t1 values (1, 1, repeat('a', 100));
+insert into t1 select rand()*1000, rand()*1000, repeat('b', 100) from t1;
+insert into t1 select rand()*1000, rand()*1000, repeat('b', 100) from t1;
+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;
diff --git a/mysql-test/suite/parts/t/partition_auto_increment_max.test b/mysql-test/suite/parts/t/partition_auto_increment_max.test
new file mode 100644
index 00000000000..74e6139131d
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_auto_increment_max.test
@@ -0,0 +1,12 @@
+--source include/have_partition.inc
+--source include/have_log_bin.inc
+
+CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY) PARTITION BY KEY (pk) PARTITIONS 2;
+INSERT INTO t1 VALUES (NULL),(NULL);
+
+--error ER_DUP_ENTRY
+UPDATE t1 SET pk = 2147483647;
+--error HA_ERR_AUTOINC_ERANGE
+REPLACE INTO t1 VALUES (NULL);
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/parts/t/partition_basic_innodb.test b/mysql-test/suite/parts/t/partition_basic_innodb.test
index 398f62dab28..032db63693c 100644
--- a/mysql-test/suite/parts/t/partition_basic_innodb.test
+++ b/mysql-test/suite/parts/t/partition_basic_innodb.test
@@ -1,3 +1,7 @@
+#Considering the time taken for this test on slow solaris platforms making it a big test
+--source include/big_test.inc
+# Skiping this test from Valgrind execution as per Bug-14627884
+--source include/not_valgrind.inc
################################################################################
# t/partition_basic_innodb.test #
# #
@@ -22,8 +26,6 @@
# any of the variables.
#
---source include/big_test.inc
-
#------------------------------------------------------------------------------#
# General not engine specific settings and requirements
@@ -42,12 +44,12 @@ SET @max_row = 20;
let $more_trigger_tests= 0;
let $more_pk_ui_tests= 0;
-# This test relies on connecting externally from mysqltest, doesn't
-# work with embedded.
---source include/not_embedded.inc
# The server must support partitioning.
--source include/have_partition.inc
+# Does not work with --embedded
+--source include/not_embedded.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
diff --git a/mysql-test/suite/parts/t/partition_basic_symlink_innodb.test b/mysql-test/suite/parts/t/partition_basic_symlink_innodb.test
index 17c6a845b25..31448c7a9fe 100644
--- a/mysql-test/suite/parts/t/partition_basic_symlink_innodb.test
+++ b/mysql-test/suite/parts/t/partition_basic_symlink_innodb.test
@@ -14,16 +14,20 @@
# Change Author: mattiasj #
# Change Date: 2008-03-16 #
# Change: Replaced all test with alter -> myisam, since innodb does not support#
-# DATA/INDEX DIRECTORY #
+# Change Author: Kevin lewis #
+# Change Date: 2012-03-02 #
+# Change: WL5980 activates DATA DIRECTORY for InnoDB #
################################################################################
-# NOTE: Until InnoDB supports DATA/INDEX DIR, test that a partitioned table
-# remembers the DATA/INDEX DIR and it is used if altered to MyISAM
+# NOTE: As of WL5980, InnoDB supports DATA DIRECTORY, but not INDEX DIRECTORY.
+# See innodb.innodb-tablespace for tests using partition engine, innodb
+# and DATADIRECTORY. The purpose of this test is to show that a
+# partitioned table remembers the DATA/INDEX DIR and it is used if
+# altered to MyISAM
#
---echo # Will not run partition_basic_symlink on InnoDB, since it is the same
---echo # as partition_basic, since InnoDB does not support DATA/INDEX DIR
---echo # Will only verify that the DATA/INDEX DIR is stored and used if
---echo # ALTER to MyISAM.
+--echo #
+--echo # Verify that the DATA/INDEX DIR is stored and used if ALTER to MyISAM.
+--echo #
--source include/have_innodb.inc
# The server must support partitioning.
--source include/have_partition.inc
@@ -32,17 +36,57 @@
# windows does not support symlink for DATA/INDEX DIRECTORY.
--source include/not_windows.inc
+# Does not work with --embedded
+--source include/not_embedded.inc
+
+--disable_query_log
+let $MYSQLD_DATADIR= `select @@datadir`;
+
+# These values can change during the test
+LET $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
+LET $innodb_strict_mode_orig=`select @@session.innodb_strict_mode`;
+--enable_query_log
+
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
-let $MYSQLD_DATADIR= `select @@datadir`;
-
--mkdir $MYSQLTEST_VARDIR/mysql-test-data-dir
--mkdir $MYSQLTEST_VARDIR/mysql-test-idx-dir
+
+SET SESSION innodb_strict_mode = ON;
+
+--echo #
+--echo # InnoDB only supports DATA DIRECTORY with innodb_file_per_table=ON
+--echo #
+SET GLOBAL innodb_file_per_table = OFF;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-eval CREATE TABLE t1 (c1 INT)
-ENGINE = InnoDB
+--error ER_CANT_CREATE_TABLE
+eval CREATE TABLE t1 (c1 INT) ENGINE = InnoDB
+PARTITION BY HASH (c1) (
+ PARTITION p0
+ DATA DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-data-dir'
+ INDEX DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-idx-dir',
+ PARTITION p1
+ DATA DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-data-dir'
+ INDEX DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-idx-dir'
+);
+--replace_result ./ MYSQLD_DATADIR/ $MYSQLD_DATADIR MYSQLD_DATADIR
+SHOW WARNINGS;
+
+--echo #
+--echo # InnoDB is different from MyISAM in that it uses a text file
+--echo # with an '.isl' extension instead of a symbolic link so that
+--echo # the tablespace can be re-located on any OS. Also, instead of
+--echo # putting the file directly into the DATA DIRECTORY,
+--echo # it adds a folder under it with the name of the database.
+--echo # Since strict mode is off, InnoDB ignores the INDEX DIRECTORY
+--echo # and it is no longer part of the definition.
+--echo #
+SET SESSION innodb_strict_mode = OFF;
+SET GLOBAL innodb_file_per_table = ON;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t1 (c1 INT) ENGINE = InnoDB
PARTITION BY HASH (c1)
(PARTITION p0
DATA DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-data-dir'
@@ -51,116 +95,209 @@ PARTITION BY HASH (c1)
DATA DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-data-dir'
INDEX DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-idx-dir'
);
---echo # Verifying .frm and .par files
---file_exists $MYSQLD_DATADIR/test/t1.frm
---file_exists $MYSQLD_DATADIR/test/t1.par
---echo # Verifying that there are no MyISAM files
---error 1
---file_exists $MYSQLD_DATADIR/test/t1#P#p0.MYD
---error 1
---file_exists $MYSQLD_DATADIR/test/t1#P#p0.MYI
---error 1
---file_exists $MYSQLD_DATADIR/test/t1#P#p1.MYD
---error 1
---file_exists $MYSQLD_DATADIR/test/t1#P#p1.MYI
---error 1
---file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p0.MYD
---error 1
---file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p0.MYI
---error 1
---file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
---error 1
---file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+SHOW WARNINGS;
+
+--echo # Verifying .frm, .par, .isl & .ibd files
+--echo ---- MYSQLD_DATADIR/test
+--list_files $MYSQLD_DATADIR/test
+--echo ---- MYSQLTEST_VARDIR/mysql-test-data-dir/test
+--list_files $MYSQLTEST_VARDIR/mysql-test-data-dir/test
+--echo # The ibd tablespaces should not be directly under the DATA DIRECTORY
+--echo ---- MYSQLTEST_VARDIR/mysql-test-data-dir
+--list_files $MYSQLTEST_VARDIR/mysql-test-data-dir
+--echo ---- MYSQLTEST_VARDIR/mysql-test-idx-dir
+--list_files $MYSQLTEST_VARDIR/mysql-test-idx-dir
+
FLUSH TABLES;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
SHOW CREATE TABLE t1;
-ALTER TABLE t1 ENGINE = MyISAM;
+
+--echo #
+--echo # Verify that the DATA/INDEX DIRECTORY is stored and used if we
+--echo # ALTER TABLE to MyISAM.
+--echo #
+ALTER TABLE t1 engine=MyISAM;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t1;
--echo # Verifying .frm, .par and MyISAM files (.MYD, MYI)
---file_exists $MYSQLD_DATADIR/test/t1.frm
---file_exists $MYSQLD_DATADIR/test/t1.par
---file_exists $MYSQLD_DATADIR/test/t1#P#p0.MYD
---file_exists $MYSQLD_DATADIR/test/t1#P#p0.MYI
---file_exists $MYSQLD_DATADIR/test/t1#P#p1.MYD
---file_exists $MYSQLD_DATADIR/test/t1#P#p1.MYI
---file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p0.MYD
---file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p0.MYI
---file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
---file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
-FLUSH TABLES;
+--echo ---- MYSQLD_DATADIR/test
+--list_files $MYSQLD_DATADIR/test
+--echo ---- MYSQLTEST_VARDIR/mysql-test-data-dir
+--list_files $MYSQLTEST_VARDIR/mysql-test-data-dir
+--echo ---- MYSQLTEST_VARDIR/mysql-test-idx-dir
+--list_files $MYSQLTEST_VARDIR/mysql-test-idx-dir
+
+--echo #
+--echo # Now verify that the DATA DIRECTORY is used again if we
+--echo # ALTER TABLE back to InnoDB.
+--echo #
+SET SESSION innodb_strict_mode = ON;
+ALTER TABLE t1 engine=InnoDB;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
SHOW CREATE TABLE t1;
+--echo # Verifying .frm, .par, .isl and InnoDB .ibd files
+--echo ---- MYSQLD_DATADIR/test
+--list_files $MYSQLD_DATADIR/test
+--echo ---- MYSQLTEST_VARDIR/mysql-test-data-dir
+--list_files $MYSQLTEST_VARDIR/mysql-test-data-dir
+--echo ---- MYSQLTEST_VARDIR/mysql-test-idx-dir
+--list_files $MYSQLTEST_VARDIR/mysql-test-idx-dir
+--echo ---- MYSQLTEST_VARDIR/mysql-test-data-dir/test
+--list_files $MYSQLTEST_VARDIR/mysql-test-data-dir/test
+
DROP TABLE t1;
---rmdir $MYSQLTEST_VARDIR/mysql-test-data-dir
---rmdir $MYSQLTEST_VARDIR/mysql-test-idx-dir
---exit
-# here is the old test, which is tested by partition_basic_innodb
-#
-# NOTE: PLEASE DO NOT ADD NOT INNODB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
+--echo #
+--echo # MDEV-14611 ALTER TABLE EXCHANGE PARTITION does not work
+--echo # properly when used with DATA DIRECTORY
+--echo #
+let $data_dir_path= $MYSQLTEST_VARDIR/mysql-test-data-dir;
+let $alt_data_dir_path= $MYSQLTEST_VARDIR/mysql-test-idx-dir;
+SET GLOBAL innodb_file_per_table = ON;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t1
+(
+ myid INT(11) NOT NULL,
+ myval VARCHAR(10),
+ PRIMARY KEY (myid)
+) ENGINE=INNODB PARTITION BY KEY (myid)
+ (
+ PARTITION p0001 DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
+ PARTITION p0002 DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
+ PARTITION p0003 DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
+ PARTITION p0004 DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB
+ );
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t2
+(
+ myid INT(11) NOT NULL,
+ myval VARCHAR(10),
+ PRIMARY KEY (myid)
+) ENGINE=INNODB DATA DIRECTORY = '$data_dir_path';
+
+ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
-##### Options, for debugging support #####
-let $debug= 0;
-let $with_partitioning= 1;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t1;
+DROP TABLE t1, t2;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t1
+(
+ myid INT(11) NOT NULL,
+ myval VARCHAR(10),
+ PRIMARY KEY (myid)
+) ENGINE=INNODB PARTITION BY RANGE (myid)
+ (
+ PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
+ PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
+ PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
+ PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB
+ );
-##### Option, for displaying files #####
-let $ls= 1;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t2
+(
+ myid INT(11) NOT NULL,
+ myval VARCHAR(10),
+ PRIMARY KEY (myid)
+) ENGINE=INNODB DATA DIRECTORY = '$alt_data_dir_path';
-##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
-# on partioned tables
-SET @max_row = 20;
+insert into t1 values (1, 'one');
+insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
+
+select * from t1;
+ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
-##### Execute more tests #####
-let $more_trigger_tests= 0;
-let $more_pk_ui_tests= 0;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t1;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t2;
+select * from t1;
+select * from t2;
+DROP TABLE t1, t2;
-# The server must support partitioning.
---source include/have_partition.inc
-# The server must support symlink for DATA/INDEX DIRECTORY.
---source include/have_symlink.inc
-# windows does not support symlink for DATA/INDEX DIRECTORY.
---source include/not_windows.inc
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t1
+(
+ myid INT(11) NOT NULL,
+ myval VARCHAR(10),
+ PRIMARY KEY (myid)
+) ENGINE=INNODB PARTITION BY RANGE (myid)
+ (
+ PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
+ PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
+ PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
+ PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB
+ );
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t2
+(
+ myid INT(11) NOT NULL,
+ myval VARCHAR(10),
+ PRIMARY KEY (myid)
+) ENGINE=INNODB;
-##### Storage engine to be tested
---source include/have_innodb.inc
-let $engine= 'InnoDB';
+insert into t1 values (1, 'one');
+insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
+
+select * from t1;
+ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
-##### Execute the test of "table" files
-# InnoDB has no files per PK, UI, ...
-let $do_file_tests= 0;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t1;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t2;
+select * from t1;
+select * from t2;
+DROP TABLE t1, t2;
-##### Execute PRIMARY KEY tests #####
-# AFAIK InnoDB clusters the table around PRIMARY KEYs.
-let $do_pk_tests= 1;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t1
+(
+ myid INT(11) NOT NULL,
+ myval VARCHAR(10),
+ PRIMARY KEY (myid)
+) ENGINE=INNODB PARTITION BY RANGE (myid)
+ (
+ PARTITION p0001 VALUES LESS THAN (50) ENGINE = INNODB,
+ PARTITION p0002 VALUES LESS THAN (150) ENGINE = INNODB,
+ PARTITION p0003 VALUES LESS THAN (1050) ENGINE = INNODB,
+ PARTITION p0004 VALUES LESS THAN (10050) ENGINE = INNODB
+ );
-##### Assign a big number smaller than the maximum value for partitions #####
-# and smaller than the maximum value of SIGNED INTEGER
-let $MAX_VALUE= (2147483646);
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t2
+(
+ myid INT(11) NOT NULL,
+ myval VARCHAR(10),
+ PRIMARY KEY (myid)
+) ENGINE=INNODB DATA DIRECTORY = '$alt_data_dir_path';
-# Generate the prerequisites ($variables, @variables, tables) needed
---source suite/parts/inc/partition.pre
+insert into t1 values (1, 'one');
+insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
+
+select * from t1;
+ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
-##### Workarounds for known open engine specific bugs
-# none
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t1;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t2;
+select * from t1;
+select * from t2;
+DROP TABLE t1, t2;
+--echo #
+--echo # Cleanup
+--echo #
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_basic_symlink.inc
+--rmdir $MYSQLTEST_VARDIR/mysql-test-data-dir/test
+--rmdir $MYSQLTEST_VARDIR/mysql-test-data-dir
+--rmdir $MYSQLTEST_VARDIR/mysql-test-idx-dir
-#------------------------------------------------------------------------------#
-# Execute storage engine specific tests
+--disable_query_log
+EVAL SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
+EVAL SET SESSION innodb_strict_mode=$innodb_strict_mode_orig;
+--enable_query_log
-#------------------------------------------------------------------------------#
-# Cleanup
---source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_debug.test b/mysql-test/suite/parts/t/partition_debug.test
new file mode 100644
index 00000000000..11b66e4afd8
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_debug.test
@@ -0,0 +1,51 @@
+# Partitioning test that require debug features
+# including crashing tests.
+
+--source include/have_debug.inc
+--source include/have_partition.inc
+# Don't test this under valgrind, memory leaks will occur
+--source include/not_valgrind.inc
+# Crash tests don't work with embedded
+--source include/not_embedded.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+# Partitioning test that require debug features
+
+--echo #
+--echo # Bug#13737949: CRASH IN HA_PARTITION::INDEX_INIT
+--echo # Bug#18694052: SERVER CRASH IN HA_PARTITION::INIT_RECORD_PRIORITY_QUEUE
+--echo #
+CREATE TABLE t1 (a INT, b VARCHAR(64), KEY(b,a))
+ PARTITION BY HASH (a) PARTITIONS 3;
+ INSERT INTO t1 VALUES (1, "1"), (2, "2"), (3, "3"), (4, "Four"), (5, "Five"),
+ (6, "Six"), (7, "Seven"), (8, "Eight"), (9, "Nine");
+SET SESSION debug_dbug="+d,ha_partition_fail_index_init";
+--error ER_NO_PARTITION_FOR_GIVEN_VALUE
+SELECT * FROM t1 WHERE b = "Seven";
+SET SESSION debug_dbug="-d,ha_partition_fail_index_init";
+SELECT * FROM t1 WHERE b = "Seven";
+DROP TABLE t1;
+
+
+--let $DATADIR= `SELECT @@datadir;`
+
+--echo #
+--echo # WL#4445: EXCHANGE PARTITION WITH TABLE
+--echo # Verify ddl_log in case of crashing.
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression('InnoDB: The log sequence numbers [0-9]+ and [0-9]+ in ibdata files do not match the log sequence number [0-9]+ in the ib_logfiles!');
+
+let $create_statement= CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN MAXVALUE);
+let $insert_statement= INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+
+let $create_statement2= CREATE TABLE t2 (a INT, b VARCHAR(64));
+let $insert_statement2= INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+let $crash_statement= ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+--source suite/parts/inc/partition_crash_exchange.inc
+let $fail_statement= $crash_statement;
+--source suite/parts/inc/partition_fail_exchange.inc
diff --git a/mysql-test/suite/parts/t/partition_debug_innodb-master.opt b/mysql-test/suite/parts/t/partition_debug_innodb-master.opt
index 6daff4c7c6b..5253df4563a 100644
--- a/mysql-test/suite/parts/t/partition_debug_innodb-master.opt
+++ b/mysql-test/suite/parts/t/partition_debug_innodb-master.opt
@@ -1 +1 @@
---loose-innodb-file-format-check --loose-innodb-file-per-table=1 --skip-stack-trace --skip-core-file
+--loose-innodb-file-format-check --loose-innodb-file-per-table=1 --skip-stack-trace --skip-core-file --loose-innodb-buffer-pool-size=32M
diff --git a/mysql-test/suite/parts/t/partition_debug_innodb.test b/mysql-test/suite/parts/t/partition_debug_innodb.test
index 33cbd8e3b7b..d4cac35c0b6 100644
--- a/mysql-test/suite/parts/t/partition_debug_innodb.test
+++ b/mysql-test/suite/parts/t/partition_debug_innodb.test
@@ -1,10 +1,12 @@
-# Partitioning test that require debug features
+# Partitioning test that require debug features and InnoDB
# including crashing tests.
--source include/have_debug.inc
--source include/have_innodb.inc
--source include/have_partition.inc
+# Don't test this under valgrind, memory leaks will occur
--source include/not_valgrind.inc
+# Crash tests don't work with embedded
--source include/not_embedded.inc
--disable_warnings
@@ -13,6 +15,9 @@ DROP TABLE IF EXISTS t1;
--let $DATADIR= `SELECT @@datadir;`
+# Waiting for wl#6723
+if (0)
+{
--echo #
--echo # Bug#12696518/Bug#11766879/60106:DIFF BETWEEN # OF INDEXES IN MYSQL
--echo # VS INNODB, PARTITONING, ON INDEX CREATE
@@ -47,6 +52,7 @@ SELECT * FROM t1;
SET SESSION debug_dbug = "-d,ha_partition_fail_final_add_index";
SHOW CREATE TABLE t1;
DROP TABLE t1;
+}
# Checking with #innodb what this is...
call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was");
@@ -60,3 +66,26 @@ let $engine= 'InnoDB';
--echo # Test crash and failure recovery in fast_alter_partition_table.
--source suite/parts/inc/partition_mgm_crash.inc
+
+--echo #
+--echo # WL#4445: EXCHANGE PARTITION WITH TABLE
+--echo # Verify ddl_log and InnoDB in case of crashing.
+# Investigating if this warning is OK when crash testing.
+call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was ");
+#
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("table .* does not exist in the InnoDB internal");
+
+let $create_statement= CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN MAXVALUE);
+let $insert_statement= INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+
+let $create_statement2= CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+let $insert_statement2= INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+let $crash_statement= ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+--source suite/parts/inc/partition_crash_exchange.inc
+let $fail_statement= $crash_statement;
+--source suite/parts/inc/partition_fail_exchange.inc
diff --git a/mysql-test/suite/parts/t/partition_debug_myisam-master.opt b/mysql-test/suite/parts/t/partition_debug_myisam-master.opt
index 24264558cf0..eadc9396657 100644
--- a/mysql-test/suite/parts/t/partition_debug_myisam-master.opt
+++ b/mysql-test/suite/parts/t/partition_debug_myisam-master.opt
@@ -1 +1 @@
---skip-stack-trace --skip-core-file --myisam-recover-option=off
+--skip-stack-trace --skip-core-file --myisam-recover-options=off
diff --git a/mysql-test/suite/parts/t/partition_exch_innodb.test b/mysql-test/suite/parts/t/partition_exch_innodb.test
new file mode 100644
index 00000000000..cb666a426bd
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_innodb.test
@@ -0,0 +1,12 @@
+# Author: Horst Hunger
+# Created: 2010-07-05
+
+--source include/have_innodb.inc
+--source include/have_partition.inc
+
+let $engine_table= InnoDB;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+--source suite/parts/inc/part_exch_qa.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_myisam.test b/mysql-test/suite/parts/t/partition_exch_myisam.test
new file mode 100644
index 00000000000..c768040959f
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_myisam.test
@@ -0,0 +1,11 @@
+# Author: Horst Hunger
+# Created: 2010-07-05
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+--source suite/parts/inc/part_exch_qa.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_myisam_innodb.test b/mysql-test/suite/parts/t/partition_exch_myisam_innodb.test
new file mode 100644
index 00000000000..c625ad93775
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_myisam_innodb.test
@@ -0,0 +1,17 @@
+# Author: Horst Hunger
+# Created: 2010-07-05
+
+source include/have_innodb.inc;
+source include/have_partition.inc;
+
+let $engine_table= MYISAM;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+source suite/parts/inc/part_exch_tabs.inc;
+
+error ER_MIX_HANDLER_ERROR;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+
+source suite/parts/inc/part_exch_drop_tabs.inc;
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa.test b/mysql-test/suite/parts/t/partition_exch_qa.test
new file mode 100644
index 00000000000..c768040959f
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa.test
@@ -0,0 +1,11 @@
+# Author: Horst Hunger
+# Created: 2010-07-05
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+--source suite/parts/inc/part_exch_qa.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_10.test b/mysql-test/suite/parts/t/partition_exch_qa_10.test
new file mode 100644
index 00000000000..a87d658cfb6
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_10.test
@@ -0,0 +1,69 @@
+# Author: Horst Hunger
+# Created: 2010-07-13
+
+--source include/not_embedded.inc
+--source include/have_partition.inc
+--source include/have_innodb.inc
+
+let $engine_table= InnoDB;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+use test;
+
+--disable_result_log
+--disable_query_log
+--source suite/parts/inc/part_exch_tabs.inc
+--enable_result_log
+--enable_query_log
+
+# 17) Exchanges in Procedure, triggers and events.
+DELIMITER |;
+CREATE PROCEDURE test_p1 ()
+BEGIN
+ALTER TABLE t_10 ADD UNIQUE INDEX USING BTREE (a);
+ALTER TABLE tp ADD UNIQUE INDEX USING BTREE (a);
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ALTER TABLE tp DROP INDEX a;
+ALTER TABLE t_10 DROP INDEX a;
+END|
+DELIMITER ;|
+CALL test_p1;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 9;
+DROP PROCEDURE test_p1;
+
+SET @save_autocommit= @@autocommit;
+SET @@autocommit= OFF;
+SHOW VARIABLES LIKE 'autocommit%';
+DELIMITER |;
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE TRIGGER test_trg_1 BEFORE UPDATE ON tp FOR EACH ROW
+BEGIN
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+END|
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE FUNCTION test_f_1() RETURNS int
+BEGIN
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+END|
+DELIMITER ;|
+SET @@autocommit= @save_autocommit;
+
+SET @save_event_scheduler= @@global.event_scheduler;
+SET @@global.event_scheduler= ON;
+CREATE EVENT test_ev_1
+ ON SCHEDULE AT CURRENT_TIMESTAMP
+ DO
+ ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+sleep 1;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp WHERE a BETWEEN 0 AND 9;
+SET @@global.event_scheduler= @save_event_scheduler;
+
+--source suite/parts/inc/part_exch_drop_tabs.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_11.test b/mysql-test/suite/parts/t/partition_exch_qa_11.test
new file mode 100644
index 00000000000..3283c65966b
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_11.test
@@ -0,0 +1,37 @@
+# Author: Horst Hunger
+# Created: 2010-07-13
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+use test;
+
+--disable_result_log
+--disable_query_log
+--source suite/parts/inc/part_exch_tabs.inc
+--enable_result_log
+--enable_query_log
+
+# 13) Exchange with dynamic variables.
+SET @part= 'p0';
+SET @part_tab= 'tp';
+SET @table= 't_10';
+SET @s= CONCAT('ALTER TABLE ',@part_tab,' EXCHANGE PARTITION ',@part,' WITH TABLE ',@table);
+PREPARE test_stmt1 FROM @s;
+EXECUTE test_stmt1;
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM tp;
+DEALLOCATE PREPARE test_stmt1;
+
+SET @part_tab= 'tp';
+SET @s= CONCAT('ALTER TABLE ',@part_tab,' EXCHANGE PARTITION ? WITH TABLE ?');
+--error ER_PARSE_ERROR
+PREPARE test_stmt2 FROM @s;
+
+--source suite/parts/inc/part_exch_drop_tabs.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_12.test b/mysql-test/suite/parts/t/partition_exch_qa_12.test
new file mode 100644
index 00000000000..7e048f79017
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_12.test
@@ -0,0 +1,178 @@
+# Author: Horst Hunger
+# Created: 2010-07-13
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+use test;
+
+--disable_result_log
+--disable_query_log
+--disable_warnings
+DROP TABLE IF EXISTS t_10;
+DROP TABLE IF EXISTS t_100;
+DROP TABLE IF EXISTS t_1000;
+DROP TABLE IF EXISTS tp;
+DROP TABLE IF EXISTS tsp;
+DROP TABLE IF EXISTS t_empty;
+DROP TABLE IF EXISTS t_null;
+--enable_warnings
+
+eval CREATE TABLE t_10 (a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+CHECKSUM= 1,
+ENGINE = $engine_table;
+
+eval CREATE TABLE t_100 (a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+COMMENT= 'comment',
+ROW_FORMAT= COMPRESSED,
+ENGINE = $engine_table;
+
+eval CREATE TABLE t_1000 (a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+MIN_ROWS= 1,
+MAX_ROWS= 200,
+ENGINE = $engine_table;
+
+eval CREATE TABLE t_empty (a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+ENGINE = $engine_table;
+
+eval CREATE TABLE t_null (a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+ENGINE = $engine_table;
+
+eval CREATE TABLE tp (a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+ENGINE = $engine_part
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN (100),
+ PARTITION p2 VALUES LESS THAN (1000));
+
+eval CREATE TABLE tsp (a INT,
+ b VARCHAR(55),
+ PRIMARY KEY (a))
+ENGINE = $engine_subpart
+PARTITION BY RANGE (a)
+SUBPARTITION BY HASH(a)
+(PARTITION p0 VALUES LESS THAN (10)
+ (SUBPARTITION sp00,
+ SUBPARTITION sp01,
+ SUBPARTITION sp02,
+ SUBPARTITION sp03,
+ SUBPARTITION sp04),
+ PARTITION p1 VALUES LESS THAN (100)
+ (SUBPARTITION sp10,
+ SUBPARTITION sp11,
+ SUBPARTITION sp12,
+ SUBPARTITION sp13,
+ SUBPARTITION sp14),
+ PARTITION p2 VALUES LESS THAN (1000)
+ (SUBPARTITION sp20,
+ SUBPARTITION sp21,
+ SUBPARTITION sp22,
+ SUBPARTITION sp23,
+ SUBPARTITION sp24));
+
+# Values t_10 (not partitioned)
+INSERT INTO t_10 VALUES (1, "One"), (3, "Three"), (5, "Five"), (9, "Nine");
+
+# Values t_100 (not partitioned)
+INSERT INTO t_100 VALUES (11, "Eleven"), (13, "Thirdteen"), (15, "Fifeteen"), (19, "Nineteen");
+INSERT INTO t_100 VALUES (91, "Ninety-one"), (93, "Ninety-three"), (95, "Ninety-five"), (99, "Ninety-nine");
+
+# Values t_1000 (not partitioned)
+INSERT INTO t_1000 VALUES (111, "Hundred elven"), (113, "Hundred thirdteen"), (115, "Hundred fiveteen"), (119, "Hundred nineteen");
+INSERT INTO t_1000 VALUES (131, "Hundred thirty-one"), (133, "Hundred thirty-three"), (135, "Hundred thirty-five"), (139, "Hundred thirty-nine");
+INSERT INTO t_1000 VALUES (151, "Hundred fifty-one"), (153, "Hundred fifty-three"), (155, "Hundred fity-five"), (159, "Hundred fifty-nine");
+INSERT INTO t_1000 VALUES (191, "Hundred ninety-one"), (193, "Hundred ninety-three"), (195, "Hundred ninety-five"), (199, "Hundred ninety-nine");
+
+# Values t_null (not partitioned)
+INSERT INTO t_null VALUES (1, "NULL");
+
+# Values tp (partitions)
+INSERT INTO tp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tp VALUES (182, "Hundred eighty-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+
+# Values tps (subpartitions)
+INSERT INTO tsp VALUES (2, "Two"), (4, "Four"), (6, "Six"), (8, "Eight");
+INSERT INTO tsp VALUES (12, "twelve"), (14, "Fourteen"), (16, "Sixteen"), (18, "Eightteen");
+INSERT INTO tsp VALUES (112, "Hundred twelve"), (114, "Hundred fourteen"), (116, "Hundred sixteen"), (118, "Hundred eightteen");
+INSERT INTO tsp VALUES (122, "Hundred twenty-two"), (124, "Hundred twenty-four"), (126, "Hundred twenty-six"), (128, "Hundred twenty-eight");
+INSERT INTO tsp VALUES (162, "Hundred sixty-two"), (164, "Hundred sixty-four"), (166, "Hundred sixty-six"), (168, "Hundred sixty-eight");
+INSERT INTO tsp VALUES (182, "Hundred eight-two"), (184, "Hundred eighty-four"), (186, "Hundred eighty-six"), (188, "Hundred eighty-eight");
+
+eval CREATE TABLE tsp_01(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 1;
+eval CREATE TABLE tsp_02(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 2;
+eval CREATE TABLE tsp_03(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 3;
+eval CREATE TABLE tsp_04(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 4;
+eval CREATE TABLE tsp_00(a INT,b VARCHAR(55),PRIMARY KEY (a)) ENGINE = $engine_table
+ AS SELECT a, b FROM t_10 WHERE MOD(a,5)= 0;
+
+SHOW CREATE TABLE t_10;
+SHOW CREATE TABLE t_100;
+SHOW CREATE TABLE t_1000;
+SHOW CREATE TABLE tp;
+SHOW CREATE TABLE tsp;
+
+--enable_result_log
+--enable_query_log
+
+--sorted_result
+SELECT * FROM t_10;
+--sorted_result
+SELECT * FROM t_100;
+--sorted_result
+SELECT * FROM t_1000;
+--sorted_result
+SELECT * FROM tp;
+--sorted_result
+SELECT * FROM tsp;
+--sorted_result
+SELECT * FROM tsp_00;
+--sorted_result
+SELECT * FROM tsp_01;
+--sorted_result
+SELECT * FROM tsp_02;
+--sorted_result
+SELECT * FROM tsp_03;
+--sorted_result
+SELECT * FROM tsp_04;
+
+# 13) Exchanges with different table options.
+# IGNORE was removed in bug#57708.
+--error ER_TABLES_DIFFERENT_METADATA
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+#--error ER_TABLES_DIFFERENT_METADATA
+#ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10 IGNORE;
+SELECT TABLE_NAME, ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test'
+AND TABLE_NAME IN ('tp', 't_100');
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
+#--error ER_TABLES_DIFFERENT_METADATA
+#ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100 IGNORE;
+--error ER_PARTITION_EXCHANGE_DIFFERENT_OPTION
+ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_1000;
+#--error ER_PARTITION_EXCHANGE_DIFFERENT_OPTION
+#ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_1000 IGNORE;
+
+--source suite/parts/inc/part_exch_drop_tabs.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_13.test b/mysql-test/suite/parts/t/partition_exch_qa_13.test
new file mode 100644
index 00000000000..c830ee61dad
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_13.test
@@ -0,0 +1,11 @@
+# Author: Horst Hunger
+# Created: 2010-07-13
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+--source suite/parts/inc/part_exch_qa_13.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_14.test b/mysql-test/suite/parts/t/partition_exch_qa_14.test
new file mode 100644
index 00000000000..8d9f201f1db
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_14.test
@@ -0,0 +1,66 @@
+# Author: Horst Hunger
+# Created: 2010-07-13
+
+source include/not_windows.inc;
+source include/have_partition.inc;
+source include/have_symlink.inc;
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+let $data_dir_path= $MYSQLTEST_VARDIR/mysql-test-data-dir;
+let $idx_dir_path= $MYSQLTEST_VARDIR/mysql-test-idx-dir;
+mkdir $data_dir_path;
+mkdir $idx_dir_path;
+
+echo # === Data/Index directories are identical;
+ let $p_data_directory= DATA DIRECTORY = '$data_dir_path';
+ let $data_directory= DATA DIRECTORY = '$data_dir_path';
+ let $p_index_directory= INDEX DIRECTORY = '$idx_dir_path';
+ let $index_directory= INDEX DIRECTORY = '$idx_dir_path';
+ source suite/parts/inc/part_exch_tabs.inc;
+ ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ source suite/parts/inc/part_exch_drop_tabs.inc;
+
+echo # === partition has directories, the table does not;
+ let $p_data_directory= DATA DIRECTORY = '$data_dir_path';
+ let $data_directory= ;
+ let $p_index_directory= INDEX DIRECTORY = '$idx_dir_path';
+ let $index_directory= ;
+ source suite/parts/inc/part_exch_tabs.inc;
+ error ER_TABLES_DIFFERENT_METADATA;
+ ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ source suite/parts/inc/part_exch_drop_tabs.inc;
+
+echo # === the table has directories, partition does not;
+ let $p_data_directory= ;
+ let $data_directory= DATA DIRECTORY = '$data_dir_path';
+ let $p_index_directory= ;
+ let $index_directory= INDEX DIRECTORY = '$idx_dir_path';
+ source suite/parts/inc/part_exch_tabs.inc;
+ error ER_TABLES_DIFFERENT_METADATA;
+ ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ source suite/parts/inc/part_exch_drop_tabs.inc;
+
+echo # === data directory differs;
+ let $p_data_directory= DATA DIRECTORY = '$data_dir_path';
+ let $data_directory= DATA DIRECTORY = '$idx_dir_path';
+ let $p_index_directory= INDEX DIRECTORY = '$idx_dir_path';
+ let $index_directory= INDEX DIRECTORY = '$idx_dir_path';
+ source suite/parts/inc/part_exch_tabs.inc;
+ error ER_TABLES_DIFFERENT_METADATA;
+ ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ source suite/parts/inc/part_exch_drop_tabs.inc;
+
+echo # === index directory differs;
+ let $p_data_directory= DATA DIRECTORY = '$data_dir_path';
+ let $data_directory= DATA DIRECTORY = '$data_dir_path';
+ let $p_index_directory= DATA DIRECTORY = '$data_dir_path';
+ let $index_directory= DATA DIRECTORY = '$idx_dir_path';
+ source suite/parts/inc/part_exch_tabs.inc;
+ error ER_TABLES_DIFFERENT_METADATA;
+ ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+ source suite/parts/inc/part_exch_drop_tabs.inc;
+
+rmdir $idx_dir_path;
+rmdir $data_dir_path;
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_15.test b/mysql-test/suite/parts/t/partition_exch_qa_15.test
new file mode 100644
index 00000000000..8ea641c8178
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_15.test
@@ -0,0 +1,25 @@
+# Author: Horst Hunger
+# Created: 2010-07-15
+
+source include/have_innodb.inc;
+source include/have_partition.inc;
+
+let $engine_table= InnoDB;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+use test;
+
+source suite/parts/inc/part_exch_tabs.inc;
+
+# 21) Foreign Key.
+# Exchange of partition with table differing in structure.
+CREATE TABLE t_11 (a INT, b VARCHAR(55),
+ FOREIGN KEY (a) REFERENCES t_10 (a) ON DELETE CASCADE)
+ ENGINE= InnoDB;
+#--error ER_TABLES_DIFFERENT_METADATA
+error ER_PARTITION_EXCHANGE_FOREIGN_KEY;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+DROP TABLE t_11;
+source suite/parts/inc/part_exch_drop_tabs.inc;
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_1_innodb.test b/mysql-test/suite/parts/t/partition_exch_qa_1_innodb.test
new file mode 100644
index 00000000000..210791515dc
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_1_innodb.test
@@ -0,0 +1,12 @@
+# Author: Horst Hunger
+# Created: 2010-07-13
+
+--source include/have_partition.inc
+--source include/have_innodb.inc
+
+let $engine_table= InnoDB;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+--source suite/parts/inc/part_exch_qa_1.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_1_myisam.test b/mysql-test/suite/parts/t/partition_exch_qa_1_myisam.test
new file mode 100644
index 00000000000..db3a428b01b
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_1_myisam.test
@@ -0,0 +1,11 @@
+# Author: Horst Hunger
+# Created: 2010-07-13
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+--source suite/parts/inc/part_exch_qa_1.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_2.test b/mysql-test/suite/parts/t/partition_exch_qa_2.test
new file mode 100644
index 00000000000..1858131ce10
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_2.test
@@ -0,0 +1,69 @@
+# Author: Horst Hunger
+# Created: 2010-07-05
+
+source include/have_partition.inc;
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+use test;
+
+source suite/parts/inc/part_exch_tabs.inc;
+
+sorted_result;
+SELECT * FROM t_10;
+sorted_result;
+SELECT * FROM t_100;
+sorted_result;
+SELECT * FROM t_1000;
+sorted_result;
+SELECT * FROM tp;
+sorted_result;
+SELECT * FROM tsp;
+sorted_result;
+SELECT * FROM tsp_00;
+sorted_result;
+SELECT * FROM tsp_01;
+sorted_result;
+SELECT * FROM tsp_02;
+sorted_result;
+SELECT * FROM tsp_03;
+sorted_result;
+SELECT * FROM tsp_04;
+
+# 3) Invalid exchanges.
+# Exchange of partition with table differing in structure.
+CREATE TABLE t_11(a INT,b VARCHAR(55)) SELECT * FROM t_10;
+error ER_TABLES_DIFFERENT_METADATA;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+DROP TABLE t_11;
+eval CREATE TABLE t_11(a INT,b CHAR(55),PRIMARY KEY(a)) ENGINE= $engine_table SELECT * FROM t_10;
+error ER_TABLES_DIFFERENT_METADATA;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+DROP TABLE t_11;
+CREATE TABLE t_11(a INT,b VARCHAR(55),PRIMARY KEY(a)) ENGINE= MEMORY SELECT * FROM t_10;
+error ER_MIX_HANDLER_ERROR;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+DROP TABLE t_11;
+# Exchange of partition with partitioned table.
+eval CREATE TABLE t_11(a INT,b CHAR(55),PRIMARY KEY(a)) ENGINE= $engine_table
+ PARTITION BY KEY() AS SELECT * FROM t_10;
+error ER_PARTITION_EXCHANGE_PART_TABLE;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
+DROP TABLE t_11;
+# Exchange of subpartition with partitioned table.
+error ER_PARTITION_EXCHANGE_PART_TABLE;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE tsp;
+# Exchange of subpartitioned partition with table.
+error ER_PARTITION_INSTEAD_OF_SUBPARTITION;
+ALTER TABLE tsp EXCHANGE PARTITION p0 WITH TABLE t_10;
+# Exchange of values in partition not fitting the hash.
+error ER_ROW_DOES_NOT_MATCH_PARTITION;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_100;
+# Exchange of values in subpartition not fitting the hash.
+error ER_ROW_DOES_NOT_MATCH_PARTITION;
+ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_10;
+
+source suite/parts/inc/part_exch_drop_tabs.inc;
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_3.test b/mysql-test/suite/parts/t/partition_exch_qa_3.test
new file mode 100644
index 00000000000..fc49eb1da90
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_3.test
@@ -0,0 +1,43 @@
+# Author: Horst Hunger
+# Created: 2010-07-05
+
+source include/have_partition.inc;
+source include/have_innodb.inc;
+
+let $engine_table= MYISAM;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+use test;
+
+source suite/parts/inc/part_exch_tabs.inc;
+
+sorted_result;
+SELECT * FROM t_10;
+sorted_result;
+SELECT * FROM t_100;
+sorted_result;
+SELECT * FROM t_1000;
+sorted_result;
+SELECT * FROM tp;
+sorted_result;
+SELECT * FROM tsp;
+sorted_result;
+SELECT * FROM tsp_00;
+sorted_result;
+SELECT * FROM tsp_01;
+sorted_result;
+SELECT * FROM tsp_02;
+sorted_result;
+SELECT * FROM tsp_03;
+sorted_result;
+SELECT * FROM tsp_04;
+
+# 5) Exchanges with different engines.
+error ER_MIX_HANDLER_ERROR;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+error ER_MIX_HANDLER_ERROR;
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+
+source suite/parts/inc/part_exch_drop_tabs.inc;
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_4_innodb.test b/mysql-test/suite/parts/t/partition_exch_qa_4_innodb.test
new file mode 100644
index 00000000000..ea38337f3aa
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_4_innodb.test
@@ -0,0 +1,12 @@
+# Author: Horst Hunger
+# Created: 2010-07-06
+
+--source include/have_partition.inc
+--source include/have_innodb.inc
+
+let $engine_table= InnoDB;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+--source suite/parts/inc/part_exch_qa_4.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_4_myisam.test b/mysql-test/suite/parts/t/partition_exch_qa_4_myisam.test
new file mode 100644
index 00000000000..f668164630b
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_4_myisam.test
@@ -0,0 +1,11 @@
+# Author: Horst Hunger
+# Created: 2010-07-06
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+--source suite/parts/inc/part_exch_qa_4.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_5_innodb.test b/mysql-test/suite/parts/t/partition_exch_qa_5_innodb.test
new file mode 100644
index 00000000000..b1daa070412
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_5_innodb.test
@@ -0,0 +1,12 @@
+# Author: Horst Hunger
+# Created: 2010-07-06
+
+--source include/have_partition.inc
+--source include/have_innodb.inc
+
+let $engine_table= InnoDB;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+--source suite/parts/inc/part_exch_qa_5.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_5_myisam.test b/mysql-test/suite/parts/t/partition_exch_qa_5_myisam.test
new file mode 100644
index 00000000000..8fcf43b8148
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_5_myisam.test
@@ -0,0 +1,11 @@
+# Author: Horst Hunger
+# Created: 2010-07-06
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+--source suite/parts/inc/part_exch_qa_5.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_6.test b/mysql-test/suite/parts/t/partition_exch_qa_6.test
new file mode 100644
index 00000000000..7b6b42480b0
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_6.test
@@ -0,0 +1,84 @@
+# Author: Horst Hunger
+# Created: 2010-07-06
+
+source include/not_embedded.inc;
+source include/have_partition.inc;
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+CREATE USER test2@localhost;
+
+source suite/parts/inc/part_exch_tabs.inc;
+
+GRANT USAGE ON *.* TO test2@localhost;
+GRANT CREATE, DROP, ALTER, UPDATE, INSERT, SELECT ON test.* TO test2@localhost;
+
+connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+SHOW GRANTS FOR CURRENT_USER;
+# 9) Exchanges with different owner.
+# Privilege for ALTER and SELECT
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+sorted_result;
+SELECT * FROM t_10;
+sorted_result;
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+# Back to former values.
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+sorted_result;
+SELECT * FROM t_10;
+sorted_result;
+SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+sorted_result;
+SELECT * FROM tsp_00;
+sorted_result;
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+# Back to former values.
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+sorted_result;
+SELECT * FROM tsp_00;
+sorted_result;
+SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
+disconnect test2;
+
+connection default;
+REVOKE INSERT ON test.* FROM test2@localhost;
+
+connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+USE test;
+SHOW GRANTS FOR CURRENT_USER;
+# Privilege for ALTER and SELECT
+error ER_TABLEACCESS_DENIED_ERROR;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+disconnect test2;
+
+connection default;
+GRANT INSERT ON test.* TO test2@localhost;
+REVOKE CREATE ON test.* FROM test2@localhost;
+
+connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+USE test;
+SHOW GRANTS FOR CURRENT_USER;
+error ER_TABLEACCESS_DENIED_ERROR;
+ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
+disconnect test2;
+
+connection default;
+GRANT CREATE ON test.* TO test2@localhost;
+REVOKE DROP ON test.* FROM test2@localhost;
+
+connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+SHOW GRANTS FOR CURRENT_USER;
+# Privilege for ALTER and SELECT
+error ER_TABLEACCESS_DENIED_ERROR;
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
+disconnect test2;
+
+connection default;
+
+source suite/parts/inc/part_exch_drop_tabs.inc;
+
+DROP USER test2@localhost;
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_7_innodb.test b/mysql-test/suite/parts/t/partition_exch_qa_7_innodb.test
new file mode 100644
index 00000000000..e23790672ab
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_7_innodb.test
@@ -0,0 +1,12 @@
+# Author: Horst Hunger
+# Created: 2010-07-06
+
+--source include/have_partition.inc
+--source include/have_innodb.inc
+
+let $engine_table= InnoDB;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+--source suite/parts/inc/part_exch_qa_7.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_7_myisam.test b/mysql-test/suite/parts/t/partition_exch_qa_7_myisam.test
new file mode 100644
index 00000000000..e1bbd2b5815
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_7_myisam.test
@@ -0,0 +1,11 @@
+# Author: Horst Hunger
+# Created: 2010-07-06
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+--source suite/parts/inc/part_exch_qa_7.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_8_innodb.test b/mysql-test/suite/parts/t/partition_exch_qa_8_innodb.test
new file mode 100644
index 00000000000..58fecdbc66d
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_8_innodb.test
@@ -0,0 +1,12 @@
+# Author: Horst Hunger
+# Created: 2010-07-07
+
+--source include/have_partition.inc
+--source include/have_innodb.inc
+
+let $engine_table= InnoDB;
+let $engine_part= InnoDB;
+let $engine_subpart= InnoDB;
+
+--source suite/parts/inc/part_exch_qa_8.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exch_qa_8_myisam.test b/mysql-test/suite/parts/t/partition_exch_qa_8_myisam.test
new file mode 100644
index 00000000000..b8573a6aabf
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exch_qa_8_myisam.test
@@ -0,0 +1,11 @@
+# Author: Horst Hunger
+# Created: 2010-07-07
+
+--source include/have_partition.inc
+
+let $engine_table= MYISAM;
+let $engine_part= MYISAM;
+let $engine_subpart= MYISAM;
+
+--source suite/parts/inc/part_exch_qa_8.inc
+
diff --git a/mysql-test/suite/parts/t/partition_exchange_archive.test b/mysql-test/suite/parts/t/partition_exchange_archive.test
new file mode 100644
index 00000000000..3376e2ff884
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exchange_archive.test
@@ -0,0 +1,11 @@
+--source include/have_archive.inc
+--source include/have_partition.inc
+--source include/have_debug_sync.inc
+
+
+--echo # Archive does not support keys, update or delete
+let $engine= 'Archive';
+let $no_keys= 1;
+let $no_update= 1;
+let $no_delete= 1;
+--source suite/parts/inc/partition_exchange.inc
diff --git a/mysql-test/suite/parts/t/partition_exchange_blackhole.test b/mysql-test/suite/parts/t/partition_exchange_blackhole.test
new file mode 100644
index 00000000000..e58bccfb1a8
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exchange_blackhole.test
@@ -0,0 +1,18 @@
+--source include/have_blackhole.inc
+--source include/have_partition.inc
+--source include/have_debug_sync.inc
+
+let $engine= 'Blackhole';
+--echo # Blackhole has not implemented check_if_incompatible_data,
+--echo # so it cannot support EXCHANGE PARTITION
+CREATE TABLE t (a int, b varchar(55)) ENGINE = 'Blackhole';
+CREATE TABLE tp (a int, b varchar(55)) ENGINE = 'Blackhole'
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (100),
+ PARTITION p1 VALUES LESS THAN MAXVALUE);
+--error ER_TABLES_DIFFERENT_METADATA
+ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t;
+DROP TABLE t, tp;
+
+# to use when check_if_incompatible_data is implemented in ha_blackhole
+#--source suite/parts/inc/partition_exchange.inc
diff --git a/mysql-test/suite/parts/t/partition_exchange_innodb.test b/mysql-test/suite/parts/t/partition_exchange_innodb.test
new file mode 100644
index 00000000000..31ea61bbb7b
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exchange_innodb.test
@@ -0,0 +1,6 @@
+--source include/have_innodb.inc
+--source include/have_partition.inc
+--source include/have_debug_sync.inc
+
+let $engine= 'InnoDB';
+--source suite/parts/inc/partition_exchange.inc
diff --git a/mysql-test/suite/parts/t/partition_exchange_memory.test b/mysql-test/suite/parts/t/partition_exchange_memory.test
new file mode 100644
index 00000000000..7384a49f829
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exchange_memory.test
@@ -0,0 +1,5 @@
+--source include/have_partition.inc
+--source include/have_debug_sync.inc
+
+let $engine= 'Memory';
+--source suite/parts/inc/partition_exchange.inc
diff --git a/mysql-test/suite/parts/t/partition_exchange_myisam.test b/mysql-test/suite/parts/t/partition_exchange_myisam.test
new file mode 100644
index 00000000000..68e55090a9c
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_exchange_myisam.test
@@ -0,0 +1,5 @@
+--source include/have_partition.inc
+--source include/have_debug_sync.inc
+
+let $engine= 'MyISAM';
+--source suite/parts/inc/partition_exchange.inc
diff --git a/mysql-test/suite/parts/t/partition_recover_myisam-master.opt b/mysql-test/suite/parts/t/partition_recover_myisam-master.opt
index 787371a854a..ddbd7a0a8c5 100644
--- a/mysql-test/suite/parts/t/partition_recover_myisam-master.opt
+++ b/mysql-test/suite/parts/t/partition_recover_myisam-master.opt
@@ -1 +1 @@
---myisam-recover
+--myisam-recover-options
diff --git a/mysql-test/suite/parts/t/partition_repair_myisam-master.opt b/mysql-test/suite/parts/t/partition_repair_myisam-master.opt
index 44fc50f599c..c5f16ccfd5b 100644
--- a/mysql-test/suite/parts/t/partition_repair_myisam-master.opt
+++ b/mysql-test/suite/parts/t/partition_repair_myisam-master.opt
@@ -1 +1 @@
---myisam-recover=off
+--myisam-recover-options=off
diff --git a/mysql-test/suite/parts/t/partition_repair_myisam.test b/mysql-test/suite/parts/t/partition_repair_myisam.test
index 96d68fd7fc9..f7c503a8544 100644
--- a/mysql-test/suite/parts/t/partition_repair_myisam.test
+++ b/mysql-test/suite/parts/t/partition_repair_myisam.test
@@ -5,6 +5,8 @@
drop table if exists t1_will_crash;
call mtr.add_suppression("Got an error from thread_id=.*ha_myisam.cc:");
call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*root Checking table");
+call mtr.add_suppression("is marked as crashed and should be repaired");
+
--enable_query_log
--enable_warnings
@@ -12,6 +14,43 @@ call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*root Checki
let $MYSQLD_DATADIR= `select @@datadir`;
+--echo # Test what happens if we exchange a crashed partition with a table
+SHOW VARIABLES LIKE 'myisam_recover_options';
+CREATE TABLE t (a INT, KEY (a)) ENGINE=MyISAM;
+CREATE TABLE tp (a INT, KEY (a)) ENGINE=MyISAM
+PARTITION BY RANGE (a)
+(PARTITION pCrashed VALUES LESS THAN (15),
+ PARTITION pMAX VALUES LESS THAN MAXVALUE);
+INSERT INTO t VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
+INSERT INTO tp VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
+FLUSH TABLES;
+--echo # replacing tp#P#pCrashed.MYI with a corrupt + unclosed one created by doing:
+--echo # 'create table t1 (a int key(a))' head -c1024 t1.MYI > corrupt_t1.MYI
+--remove_file $MYSQLD_DATADIR/test/tp#P#pCrashed.MYI
+--copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/tp#P#pCrashed.MYI
+CHECK TABLE tp;
+--replace_regex /[^']*test[^']*t/.\/test\/t/
+--error 145
+ALTER TABLE tp EXCHANGE PARTITION pCrashed WITH TABLE t;
+REPAIR TABLE tp;
+CHECK TABLE tp;
+ALTER TABLE tp EXCHANGE PARTITION pCrashed WITH TABLE t;
+CHECK TABLE t;
+CHECK TABLE tp;
+FLUSH TABLES;
+--remove_file $MYSQLD_DATADIR/test/t.MYI
+--copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/t.MYI
+CHECK TABLE t;
+--replace_regex /[^']*test[^']*t/.\/test\/t/
+--error 145
+ALTER TABLE tp EXCHANGE PARTITION pCrashed WITH TABLE t;
+REPAIR TABLE t;
+CHECK TABLE t;
+ALTER TABLE tp EXCHANGE PARTITION pCrashed WITH TABLE t;
+CHECK TABLE tp;
+CHECK TABLE t;
+DROP TABLE t, tp;
+
--echo # test of non partitioned myisam for reference
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);
@@ -151,8 +190,8 @@ eval INSERT INTO t1_will_crash VALUES
('6 row 7 (crash before completely written to datafile)', 27, '$lt$lt');
--enable_query_log
SELECT COUNT(*) FROM t1_will_crash;
-SELECT (b % 7) AS partition, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash ORDER BY partition, b, a;
+SELECT (b % 7) AS `partition`, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash ORDER BY `partition`, b, a;
FLUSH TABLES;
# testing p0, p1, p3, p6(1)
--echo # truncating p0 to simulate an empty datafile (not recovered!)
@@ -177,8 +216,8 @@ OPTIMIZE TABLE t1_will_crash;
CHECK TABLE t1_will_crash;
REPAIR TABLE t1_will_crash;
SELECT COUNT(*) FROM t1_will_crash;
-SELECT (b % 7) AS partition, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash ORDER BY partition, b, a;
+SELECT (b % 7) AS `partition`, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash ORDER BY `partition`, b, a;
FLUSH TABLES;
# testing p2, p4, p6(2, 3)
@@ -215,9 +254,9 @@ FLUSH TABLES;
#ALTER TABLE t1_will_crash OPTIMIZE PARTITION p6;
ALTER TABLE t1_will_crash CHECK PARTITION p6;
ALTER TABLE t1_will_crash REPAIR PARTITION p6;
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash
WHERE (b % 7) = 6
-ORDER BY partition, b, a;
+ORDER BY `partition`, b, a;
FLUSH TABLES;
--echo #
@@ -229,21 +268,21 @@ FLUSH TABLES;
--echo # table, depending if one reads via index or direct on datafile.
--echo # Since crash when reuse of deleted row space, CHECK MEDIUM or EXTENDED
--echo # is required (MEDIUM is default) to verify correct behavior!
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash
WHERE (b % 7) = 6
-ORDER BY partition, b, a;
+ORDER BY `partition`, b, a;
SET @save_optimizer_switch= @@optimizer_switch;
SET @@optimizer_switch='derived_merge=off';
-SELECT (b % 7) AS partition, b, a FROM (SELECT b,a FROM t1_will_crash) q
+SELECT (b % 7) AS `partition`, b, a FROM (SELECT b,a FROM t1_will_crash) q
WHERE (b % 7) = 6
-ORDER BY partition, b, a;
+ORDER BY `partition`, b, a;
SET @@optimizer_switch=@save_optimizer_switch;
# NOTE: REBUILD PARTITION without CHECK before, 2 + (1) records will be lost!
#ALTER TABLE t1_will_crash REBUILD PARTITION p6;
ALTER TABLE t1_will_crash CHECK PARTITION p6;
ALTER TABLE t1_will_crash REPAIR PARTITION p6;
SELECT COUNT(*) FROM t1_will_crash;
-SELECT (b % 7) AS partition, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
-SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash ORDER BY partition, b, a;
+SELECT (b % 7) AS `partition`, COUNT(*) AS rows FROM t1_will_crash GROUP BY (b % 7);
+SELECT (b % 7) AS `partition`, b, a, length(c) FROM t1_will_crash ORDER BY `partition`, b, a;
ALTER TABLE t1_will_crash CHECK PARTITION all EXTENDED;
DROP TABLE t1_will_crash;
diff --git a/mysql-test/suite/parts/t/rpl_partition.test b/mysql-test/suite/parts/t/rpl_partition.test
index e278b236f7b..cb6f84bbc71 100644
--- a/mysql-test/suite/parts/t/rpl_partition.test
+++ b/mysql-test/suite/parts/t/rpl_partition.test
@@ -1,7 +1,7 @@
--source include/have_partition.inc
--source include/have_innodb.inc
---source include/master-slave.inc
--source include/big_test.inc
+--source include/master-slave.inc
--vertical_results
diff --git a/mysql-test/suite/parts/t/truncate_locked.test b/mysql-test/suite/parts/t/truncate_locked.test
new file mode 100644
index 00000000000..4ff1016fb05
--- /dev/null
+++ b/mysql-test/suite/parts/t/truncate_locked.test
@@ -0,0 +1,10 @@
+#
+# MDEV-15551 Server hangs or assertion `strcmp(share->unique_file_name,filename) || share->last_version' fails in test_if_reopen or unexpected ER_LOCK_DEADLOCK
+#
+--source include/have_partition.inc
+create table t1 (i int) engine=myisam partition by hash(i) partitions 2 ;
+lock table t1 write;
+truncate table t1;
+desc t1;
+drop table t1;
+
diff --git a/mysql-test/suite/percona/innodb_fix_misc_bug51325.result b/mysql-test/suite/percona/innodb_fix_misc_bug51325.result
deleted file mode 100644
index c63a33accdd..00000000000
--- a/mysql-test/suite/percona/innodb_fix_misc_bug51325.result
+++ /dev/null
@@ -1,13 +0,0 @@
-DROP TABLE IF EXISTS t1;
-SET GLOBAL innodb_file_per_table=ON;
-SHOW VARIABLES LIKE 'innodb_lazy_drop_table';
-Variable_name Value
-innodb_lazy_drop_table 0
-SET GLOBAL innodb_lazy_drop_table=1;
-SHOW VARIABLES LIKE 'innodb_lazy_drop_table';
-Variable_name Value
-innodb_lazy_drop_table 1
-CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-DROP TABLE t1;
-SET GLOBAL innodb_lazy_drop_table=default;
-SET GLOBAL innodb_file_per_table=default;
diff --git a/mysql-test/suite/percona/innodb_fix_misc_bug51325.test b/mysql-test/suite/percona/innodb_fix_misc_bug51325.test
deleted file mode 100644
index 54fa3a80179..00000000000
--- a/mysql-test/suite/percona/innodb_fix_misc_bug51325.test
+++ /dev/null
@@ -1,13 +0,0 @@
-# Test for 'innodb_lazy_drop_table' variable
---source include/have_xtradb.inc
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-SET GLOBAL innodb_file_per_table=ON;
-SHOW VARIABLES LIKE 'innodb_lazy_drop_table';
-SET GLOBAL innodb_lazy_drop_table=1;
-SHOW VARIABLES LIKE 'innodb_lazy_drop_table';
-CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-DROP TABLE t1;
-SET GLOBAL innodb_lazy_drop_table=default;
-SET GLOBAL innodb_file_per_table=default;
diff --git a/mysql-test/suite/percona/innodb_sys_index.result b/mysql-test/suite/percona/innodb_sys_index.result
index 1f1bd814886..2bf2d576086 100644
--- a/mysql-test/suite/percona/innodb_sys_index.result
+++ b/mysql-test/suite/percona/innodb_sys_index.result
@@ -1,6 +1,3 @@
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
SELECT COUNT(*) FROM `information_schema`.`INNODB_SYS_INDEXES` ;
CREATE TABLE test.t1 ( `a` SERIAL NOT NULL , `b` VARCHAR( 255 ) NOT NULL , INDEX ( `b` ) ) ENGINE = InnoDB ;
SHOW TABLE STATUS FROM `information_schema` LIKE 'INNODB\_SYS\_INDEXES%' ;
diff --git a/mysql-test/suite/percona/innodb_sys_index.test b/mysql-test/suite/percona/innodb_sys_index.test
index d8c22e7f5f9..8e242bda98e 100644
--- a/mysql-test/suite/percona/innodb_sys_index.test
+++ b/mysql-test/suite/percona/innodb_sys_index.test
@@ -1,7 +1,6 @@
--source include/big_test.inc
--source include/have_xtradb.inc
-drop table if exists t1;
#
# test for bug LP#875797 "Using 'innodb_sys_indexes' causes core dump"
#
diff --git a/mysql-test/suite/percona/percona_flush_contiguous_neighbors-master.opt b/mysql-test/suite/percona/percona_flush_contiguous_neighbors-master.opt
index 075af88054f..f61926581b7 100644
--- a/mysql-test/suite/percona/percona_flush_contiguous_neighbors-master.opt
+++ b/mysql-test/suite/percona/percona_flush_contiguous_neighbors-master.opt
@@ -1 +1 @@
---innodb_flush_neighbor_pages=cont
+--loose-innodb_flush_neighbor_pages=cont
diff --git a/mysql-test/suite/percona/percona_innodb_doublewrite_file-master.opt b/mysql-test/suite/percona/percona_innodb_doublewrite_file-master.opt
deleted file mode 100644
index 54f9f550277..00000000000
--- a/mysql-test/suite/percona/percona_innodb_doublewrite_file-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb_doublewrite_file=ib_doublewrite
diff --git a/mysql-test/suite/percona/percona_innodb_doublewrite_file.result b/mysql-test/suite/percona/percona_innodb_doublewrite_file.result
deleted file mode 100644
index 4d086cc4498..00000000000
--- a/mysql-test/suite/percona/percona_innodb_doublewrite_file.result
+++ /dev/null
@@ -1,4 +0,0 @@
-show variables like 'innodb_doublewrite%';
-Variable_name Value
-innodb_doublewrite ON
-innodb_doublewrite_file ib_doublewrite
diff --git a/mysql-test/suite/percona/percona_innodb_doublewrite_file.test b/mysql-test/suite/percona/percona_innodb_doublewrite_file.test
deleted file mode 100644
index d9e94db8463..00000000000
--- a/mysql-test/suite/percona/percona_innodb_doublewrite_file.test
+++ /dev/null
@@ -1,2 +0,0 @@
---source include/have_xtradb.inc
-show variables like 'innodb_doublewrite%';
diff --git a/mysql-test/suite/percona/percona_innodb_fake_changes.result b/mysql-test/suite/percona/percona_innodb_fake_changes.result
index 7f00c687c54..1b870fdbb92 100644
--- a/mysql-test/suite/percona/percona_innodb_fake_changes.result
+++ b/mysql-test/suite/percona/percona_innodb_fake_changes.result
@@ -34,7 +34,7 @@ SELECT * FROM t1;
a
1
COMMIT;
-ERROR HY000: Got error 131 during COMMIT
+ERROR HY000: Got error 131 "Command not supported by database" during COMMIT
SET innodb_fake_changes=default;
DROP TABLE t1;
# DDL must result in error
@@ -43,13 +43,13 @@ SET autocommit=0;
SET innodb_fake_changes=1;
BEGIN;
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-ERROR HY000: Can't create table 'test.t2' (errno: 131)
+ERROR HY000: Can't create table `test`.`t2` (errno: 131 "Command not supported by database")
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+ERROR HY000: Storage engine InnoDB of the table `test`.`t1` doesn't have this option
TRUNCATE TABLE t1;
-ERROR HY000: Got error 131 during COMMIT
+ERROR HY000: Got error 131 "Command not supported by database" during COMMIT
ALTER TABLE t1 ENGINE=MyISAM;
-ERROR HY000: Got error 131 during COMMIT
+ERROR HY000: Got error 131 "Command not supported by database" during COMMIT
ROLLBACK;
SET innodb_fake_changes=default;
DROP TABLE t1;
diff --git a/mysql-test/suite/percona/percona_innodb_fake_changes.test b/mysql-test/suite/percona/percona_innodb_fake_changes.test
index 5fa3ecc7b63..67f5450ba45 100644
--- a/mysql-test/suite/percona/percona_innodb_fake_changes.test
+++ b/mysql-test/suite/percona/percona_innodb_fake_changes.test
@@ -38,7 +38,7 @@ SET innodb_fake_changes=1;
BEGIN;
--error 1005
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
---error 1051
+--error 1031
DROP TABLE t1;
--error 1180
TRUNCATE TABLE t1;
diff --git a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table-master.opt b/mysql-test/suite/percona/percona_innodb_use_sys_stats_table-master.opt
deleted file mode 100644
index 7479e2036aa..00000000000
--- a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb_use_sys_stats_table
diff --git a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.result b/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.result
deleted file mode 100644
index cb64de41901..00000000000
--- a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.result
+++ /dev/null
@@ -1,3 +0,0 @@
-show variables like 'innodb_use_sys_stats%';
-Variable_name Value
-innodb_use_sys_stats_table ON
diff --git a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.test b/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.test
deleted file mode 100644
index 534b26a3b45..00000000000
--- a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.test
+++ /dev/null
@@ -1,2 +0,0 @@
---source include/have_xtradb.inc
-show variables like 'innodb_use_sys_stats%';
diff --git a/mysql-test/suite/percona/percona_xtradb_admin_command.result b/mysql-test/suite/percona/percona_xtradb_admin_command.result
deleted file mode 100644
index 26ba14f2f3b..00000000000
--- a/mysql-test/suite/percona/percona_xtradb_admin_command.result
+++ /dev/null
@@ -1,6 +0,0 @@
-select * from information_schema.XTRADB_ADMIN_COMMAND;
-result_message
-No XTRA_* command in the SQL statement. Please add /*!XTRA_xxxx*/ to the SQL.
-select * from information_schema.XTRADB_ADMIN_COMMAND /*!XTRA_HELLO*/;
-result_message
-Hello!
diff --git a/mysql-test/suite/percona/percona_xtradb_admin_command.test b/mysql-test/suite/percona/percona_xtradb_admin_command.test
deleted file mode 100644
index b675c2afa21..00000000000
--- a/mysql-test/suite/percona/percona_xtradb_admin_command.test
+++ /dev/null
@@ -1,3 +0,0 @@
---source include/have_xtradb.inc
-select * from information_schema.XTRADB_ADMIN_COMMAND;
-select * from information_schema.XTRADB_ADMIN_COMMAND /*!XTRA_HELLO*/;
diff --git a/mysql-test/suite/perfschema/disabled.def b/mysql-test/suite/perfschema/disabled.def
index 888298bbb09..d9e9e5bf34e 100644
--- a/mysql-test/suite/perfschema/disabled.def
+++ b/mysql-test/suite/perfschema/disabled.def
@@ -9,3 +9,16 @@
# Do not use any TAB characters for whitespace.
#
##############################################################################
+sizing_off: not updated for 10.0 yet
+sizing_med: not updated for 10.0 yet
+sizing_low: not updated for 10.0 yet
+sizing_high: not updated for 10.0 yet
+sizing_growth: not updated for 10.0 yet
+sizing_default: not updated for 10.0 yet
+
+binlog_edge_mix: needs slave_relay_log_info
+binlog_edge_row: needs slave_relay_log_info
+binlog_edge_stmt: needs slave_relay_log_info
+binlog_ok_mix: needs slave_relay_log_info
+binlog_ok_row: needs slave_relay_log_info
+binlog_ok_stmt: needs slave_relay_log_info
diff --git a/mysql-test/suite/perfschema/include/binlog_edge_common.inc b/mysql-test/suite/perfschema/include/binlog_edge_common.inc
new file mode 100644
index 00000000000..8092c9a5427
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/binlog_edge_common.inc
@@ -0,0 +1,188 @@
+# Test replication, when using special non-replicated tables.
+#
+# This test involve special statements that use non-replicated tables.
+# Changes affecting non replicated tables are never written to the binlog.
+# Executing these statements may or may not work, as the statements involved
+# are edge cases.
+# In MIXED or ROW binlog format, execution should succeed,
+# and only partial data (the rows affecting replicated tables only)
+# should be written to the binlog.
+# In STATEMENT binlog format, execution should
+# raise a warning (ER_BINLOG_UNSAFE_STATEMENT) if a non replicated table is
+# only read from, or fail with an error (ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES)
+# if a non replicated table is written to.
+#
+# SHOW ERRORS will print in the
+# test .result file the exact outcome.
+
+RESET MASTER;
+
+--disable_warnings
+drop database if exists my_replicated_db;
+--enable_warnings
+
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+
+create database my_replicated_db;
+
+create table my_replicated_db.my_tx_table(a bigint) engine = innodb;
+create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam;
+create table my_replicated_db.my_bh_table(a bigint) engine = blackhole;
+
+use test;
+drop table if exists marker_start;
+
+use my_replicated_db;
+
+insert into my_tx_table(a)
+ values (1000), (2000), (3000);
+
+insert into my_non_tx_table(a)
+ values (1000), (2000), (3000);
+
+insert into my_bh_table(a)
+ values (1000), (2000), (3000);
+
+use test;
+drop table if exists marker_insert_select;
+
+use my_replicated_db;
+
+# Note:
+# The queries used here do not make any sense (no semantic).
+# What this test is interrested in, is check the behavior
+# when replicating queries that mix both:
+# - non replicated tables
+# - replicated tables
+
+insert into my_tx_table(a)
+ select thread_id from performance_schema.threads;
+
+insert into my_non_tx_table(a)
+ select thread_id from performance_schema.threads;
+
+insert into my_bh_table(a)
+ select thread_id from performance_schema.threads;
+
+# For the information_schema,
+# no error is enforced yet.
+# Documenting the current behavior
+
+insert into my_tx_table(a)
+ select id from information_schema.processlist;
+
+insert into my_non_tx_table(a)
+ select id from information_schema.processlist;
+
+insert into my_bh_table(a)
+ select id from information_schema.processlist;
+
+insert into my_tx_table(a)
+ select thread_id from mysql.general_log;
+
+insert into my_non_tx_table(a)
+ select thread_id from mysql.general_log;
+
+insert into my_bh_table(a)
+ select thread_id from mysql.general_log;
+
+insert into my_tx_table(a)
+ select thread_id from mysql.slow_log;
+
+insert into my_non_tx_table(a)
+ select thread_id from mysql.slow_log;
+
+insert into my_bh_table(a)
+ select thread_id from mysql.slow_log;
+
+insert into my_tx_table(a)
+ select Relay_log_pos from mysql.slave_relay_log_info;
+
+insert into my_non_tx_table(a)
+ select Relay_log_pos from mysql.slave_relay_log_info;
+
+insert into my_bh_table(a)
+ select Relay_log_pos from mysql.slave_relay_log_info;
+
+insert into my_tx_table(a)
+ select Master_log_pos from mysql.slave_master_info;
+
+insert into my_non_tx_table(a)
+ select Master_log_pos from mysql.slave_master_info;
+
+insert into my_bh_table(a)
+ select Master_log_pos from mysql.slave_master_info;
+
+insert into my_tx_table(a)
+ select Relay_log_pos from mysql.slave_worker_info;
+
+insert into my_non_tx_table(a)
+ select Relay_log_pos from mysql.slave_worker_info;
+
+insert into my_bh_table(a)
+ select Relay_log_pos from mysql.slave_worker_info;
+
+use test;
+drop table if exists marker_multi_update;
+
+use my_replicated_db;
+
+--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
+update my_tx_table, performance_schema.setup_instruments
+ set my_tx_table.a = my_tx_table.a + 1,
+ performance_schema.setup_instruments.timed= 'NO';
+
+--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
+update my_non_tx_table, performance_schema.setup_instruments
+ set my_non_tx_table.a = my_non_tx_table.a + 1,
+ performance_schema.setup_instruments.timed= 'NO';
+
+--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
+update my_bh_table, performance_schema.setup_instruments
+ set my_bh_table.a = my_bh_table.a + 1,
+ performance_schema.setup_instruments.timed= 'NO';
+
+use test;
+drop table if exists marker_multi_delete;
+
+use my_replicated_db;
+
+insert into performance_schema.setup_actors
+ values ('FOO', 'FOO', 'FOO');
+
+--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
+delete my_tx_table.*, performance_schema.setup_actors.*
+ from my_tx_table, performance_schema.setup_actors
+ where my_tx_table.a != 1000
+ or performance_schema.setup_actors.role='FOO';
+
+insert into performance_schema.setup_actors
+ values ('BAR', 'BAR', 'BAR');
+
+--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
+delete my_non_tx_table.*, performance_schema.setup_actors.*
+ from my_non_tx_table, performance_schema.setup_actors
+ where my_non_tx_table.a != 1000
+ or performance_schema.setup_actors.role='BAR';
+
+insert into performance_schema.setup_actors
+ values ('BAZ', 'BAZ', 'BAZ');
+
+--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
+delete my_bh_table.*, performance_schema.setup_actors.*
+ from my_bh_table, performance_schema.setup_actors
+ where my_bh_table.a != 1000
+ or performance_schema.setup_actors.role='BAZ';
+
+use test;
+drop table if exists marker_end;
+
+drop database my_replicated_db;
+
+--source include/show_binlog_events.inc
+
+# Restore performance_schema.setup_actors, damaged by this script
+
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors values ('%', '%', '%');
+
diff --git a/mysql-test/suite/perfschema/include/binlog_ok_common.inc b/mysql-test/suite/perfschema/include/binlog_ok_common.inc
new file mode 100644
index 00000000000..d537c6cf36a
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/binlog_ok_common.inc
@@ -0,0 +1,146 @@
+# Test replication, when using special non-replicated tables.
+#
+# This test involve special statements that use non-replicated tables.
+# Changes affecting non replicated tables are never written to the binlog.
+# Executing these statements should work nicely with replication in all cases:
+# - STATEMENT binlog format
+# - MIXED binlog format
+# - ROW binlog format.
+
+RESET MASTER;
+
+--disable_warnings
+drop database if exists my_local_db;
+--enable_warnings
+
+create database my_local_db;
+
+create table my_local_db.my_tx_table(a bigint) engine = innodb;
+create table my_local_db.my_non_tx_table(a bigint) engine = myisam;
+
+use test;
+drop table if exists marker_start;
+
+# --binlog-ignore-db only works with the current database.
+use my_local_db;
+
+insert into my_tx_table(a)
+ values (1000), (2000), (3000);
+
+insert into my_non_tx_table(a)
+ values (1000), (2000), (3000);
+
+use test;
+drop table if exists marker_truncate;
+
+use performance_schema;
+truncate table events_waits_history;
+truncate table events_waits_history_long;
+
+use test;
+truncate table performance_schema.events_statements_history_long;
+truncate table performance_schema.host_cache;
+
+use test;
+drop table if exists marker_update;
+
+use performance_schema;
+update setup_instruments set enabled='NO';
+update setup_instruments set timed='NO';
+use test;
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+update performance_schema.threads set instrumented='YES';
+
+use test;
+drop table if exists marker_insert;
+
+insert into performance_schema.setup_actors(`user`, `host`, `role`)
+ values ('XXX', 'XXX', 'XXX'),
+ ('YYY', 'YYY', 'YYY'),
+ ('ZZZ', 'ZZZ', 'ZZZ');
+
+select * from performance_schema.setup_actors
+ where user in ('XXX', 'YYY', 'ZZZ') order by user;
+
+insert into performance_schema.setup_objects
+ (object_type, object_schema, object_name, enabled, timed)
+ values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'),
+ ('TABLE', 'DB1', 'BBB', 'NO', 'NO'),
+ ('TABLE', 'DB2', 'CCC', 'YES', 'NO'),
+ ('TABLE', 'DB2', 'DDD', 'NO', 'YES');
+
+select * from performance_schema.setup_objects
+ where object_schema like 'DB%' order by object_name;
+
+use test;
+drop table if exists marker_insert_select;
+
+# Note:
+# The queries used here do not make any sense (no semantic).
+# What this test is interrested in, is check the behavior
+# when replicating queries that mix both:
+# - non replicated tables
+# - replicated tables
+
+use my_local_db;
+insert into my_tx_table(a)
+ select thread_id from performance_schema.threads;
+
+insert into my_non_tx_table(a)
+ select thread_id from performance_schema.threads;
+
+insert into my_tx_table(a)
+ select id from information_schema.processlist;
+
+insert into my_non_tx_table(a)
+ select id from information_schema.processlist;
+
+insert into my_tx_table(a)
+ select thread_id from mysql.general_log;
+
+insert into my_non_tx_table(a)
+ select thread_id from mysql.general_log;
+
+insert into my_tx_table(a)
+ select thread_id from mysql.slow_log;
+
+insert into my_non_tx_table(a)
+ select thread_id from mysql.slow_log;
+
+insert into my_tx_table(a)
+ select Relay_log_pos from mysql.slave_relay_log_info;
+
+insert into my_non_tx_table(a)
+ select Relay_log_pos from mysql.slave_relay_log_info;
+
+insert into my_tx_table(a)
+ select Master_log_pos from mysql.slave_master_info;
+
+insert into my_non_tx_table(a)
+ select Master_log_pos from mysql.slave_master_info;
+
+insert into my_tx_table(a)
+ select Relay_log_pos from mysql.slave_worker_info;
+
+insert into my_non_tx_table(a)
+ select Relay_log_pos from mysql.slave_worker_info;
+
+use test;
+drop table if exists marker_delete;
+
+delete from performance_schema.setup_actors
+ where user in ('XXX', 'YYY', 'ZZZ');
+
+delete from performance_schema.setup_objects
+ where object_schema like 'DB%';
+
+use test;
+drop table if exists marker_end;
+
+drop database my_local_db;
+
+# The content of the binlog dumped in the result file
+# should not contain any references to non-replicated tables.
+
+--source include/show_binlog_events.inc
+
diff --git a/mysql-test/suite/perfschema/include/connection_cleanup.inc b/mysql-test/suite/perfschema/include/connection_cleanup.inc
new file mode 100644
index 00000000000..761540b4fc4
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/connection_cleanup.inc
@@ -0,0 +1,27 @@
+# Tests for the performance schema
+
+# =====================================
+# HELPER include/connection_cleanup.inc
+# =====================================
+
+--disable_query_log
+revoke all privileges, grant option from user1@localhost;
+revoke all privileges, grant option from user2@localhost;
+revoke all privileges, grant option from user3@localhost;
+revoke all privileges, grant option from user4@localhost;
+revoke all privileges, grant option from user5@localhost;
+drop user user1@localhost;
+drop user user2@localhost;
+drop user user3@localhost;
+drop user user4@localhost;
+drop user user5@localhost;
+flush privileges;
+
+drop procedure dump_all;
+
+truncate table performance_schema.accounts;
+truncate table performance_schema.users;
+truncate table performance_schema.hosts;
+
+--enable_query_log
+
diff --git a/mysql-test/suite/perfschema/include/connection_load.inc b/mysql-test/suite/perfschema/include/connection_load.inc
new file mode 100644
index 00000000000..02c8e2adbe1
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/connection_load.inc
@@ -0,0 +1,245 @@
+# Tests for the performance schema
+
+# =======================================
+# HELPER include/connection_load.inc
+# =======================================
+
+call dump_all();
+
+connect (con1a, localhost, user1, , );
+select "user1 in con1a" as status;
+call dump_all();
+
+connect (con1b, localhost, user1, , );
+select "user1 in con1b" as status;
+call dump_all();
+
+connect (con1c, localhost, user1, , );
+select "user1 in con1c" as status;
+call dump_all();
+
+connect (con2a, localhost, user2, , );
+select "user2 in con2a" as status;
+call dump_all();
+
+connect (con2b, localhost, user2, , );
+select "user2 in con2b" as status;
+call dump_all();
+
+connect (con2c, localhost, user2, , );
+select "user2 in con2c" as status;
+call dump_all();
+
+connect (con3a, localhost, user3, , );
+select "user3 in con3a" as status;
+call dump_all();
+
+connect (con3b, localhost, user3, , );
+select "user3 in con3b" as status;
+call dump_all();
+
+connect (con3c, localhost, user3, , );
+select "user3 in con3c" as status;
+call dump_all();
+
+--connection default
+
+--disconnect con1a
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 8 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con1a disconnected" as status;
+call dump_all();
+
+--disconnect con2a
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 7 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con2a disconnected" as status;
+call dump_all();
+
+--disconnect con3a
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 6 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con3a disconnected" as status;
+call dump_all();
+
+truncate table performance_schema.accounts;
+call dump_all();
+truncate table performance_schema.users;
+call dump_all();
+truncate table performance_schema.hosts;
+call dump_all();
+
+connect (con4a, localhost, user4, , );
+select "user4 in con4a" as status;
+call dump_all();
+
+connect (con4b, localhost, user4, , );
+select "user4 in con4b" as status;
+call dump_all();
+
+connect (con4c, localhost, user4, , );
+select "user4 in con4c" as status;
+call dump_all();
+
+--connection default
+
+--disconnect con1b
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 8 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con1b disconnected" as status;
+call dump_all();
+
+--disconnect con2b
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 7 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con2b disconnected" as status;
+call dump_all();
+
+--disconnect con3b
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 6 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con3b disconnected" as status;
+call dump_all();
+
+--disconnect con1c
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 5 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con1c disconnected" as status;
+call dump_all();
+
+--disconnect con2c
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 4 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con2c disconnected" as status;
+call dump_all();
+
+--disconnect con3c
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 3 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con3c disconnected" as status;
+call dump_all();
+
+truncate table performance_schema.accounts;
+call dump_all();
+truncate table performance_schema.users;
+call dump_all();
+truncate table performance_schema.hosts;
+call dump_all();
+
+connect (con5a, localhost, user5, , );
+select "user5 in con5a" as status;
+call dump_all();
+
+connect (con5b, localhost, user5, , );
+select "user5 in con5b" as status;
+call dump_all();
+
+connect (con5c, localhost, user5, , );
+select "user5 in con5c" as status;
+call dump_all();
+
+--connection default
+
+--disconnect con4a
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 5 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+--disconnect con4b
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 4 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+--disconnect con4c
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 3 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+--disconnect con5a
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 2 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+--disconnect con5b
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+--disconnect con5c
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+select "con 5a, 5b, 5c, 6a, 6b, 6c disconnected" as status;
+call dump_all();
+
+truncate table performance_schema.hosts;
+call dump_all();
+truncate table performance_schema.users;
+call dump_all();
+truncate table performance_schema.accounts;
+call dump_all();
+
diff --git a/mysql-test/suite/perfschema/include/connection_setup.inc b/mysql-test/suite/perfschema/include/connection_setup.inc
new file mode 100644
index 00000000000..93b8e959ee3
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/connection_setup.inc
@@ -0,0 +1,114 @@
+# Tests for the performance schema
+
+# =============
+# DOCUMENTATION
+# =============
+
+# Verify how connections are counted into various tables:
+# - accounts
+# - users
+# - hosts
+#
+# The tests are written with the following helpers:
+# - include/connection_setup.inc
+# - include/connection_load.inc
+# - include/connection_cleanup.inc
+#
+# Helpers are intended to be used as follows.
+#
+# A Typical test t/connection_xxx.test will consist of:
+# --source ../include/connection_setup.inc
+# --source ../include/connection_load.inc
+# --source ../include/connection_cleanup.inc
+# and a t/connection_xxx-master.opt file
+#
+# Naming conventions for t/connection_xxx.test are as follows:
+# t/connection_<account><user><host>
+#
+# <account> corresponds to different sizing settings for
+# the variable performance-schema-accounts-size
+# - (blank): accounts-size sufficient to represent all records
+# - 3a: accounts-size set to 3
+# - no_a: accounts-size set to 0
+#
+# <user> corresponds to different sizing settings for
+# the variable performance-schema-users-size
+# - (blank): users-size sufficient to represent all records
+# - 3u: users-size set to 3
+# - no_u: users-size set to 0
+#
+# <host> corresponds to different sizing settings for
+# the variable performance-schema-hosts-size
+# - (blank): hosts-size sufficient to represent all records
+# - no_h: hosts-size set to 0
+
+# ========================================
+# HELPER include/event_aggregate_setup.inc
+# ========================================
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+--source ../include/wait_for_pfs_thread_count.inc
+
+--disable_query_log
+
+create user user1@localhost;
+grant ALL on *.* to user1@localhost;
+create user user2@localhost;
+grant ALL on *.* to user2@localhost;
+create user user3@localhost;
+grant ALL on *.* to user3@localhost;
+create user user4@localhost;
+grant ALL on *.* to user4@localhost;
+create user user5@localhost;
+grant ALL on *.* to user5@localhost;
+
+flush privileges;
+
+# Purge old users, hosts, user/host from previous tests
+truncate table performance_schema.accounts;
+truncate table performance_schema.users;
+truncate table performance_schema.hosts;
+
+# Save the setup
+
+# Start from a known clean state, to avoid noise from previous tests
+flush tables;
+flush status;
+
+--disable_warnings
+drop procedure if exists dump_all;
+--enable_warnings
+
+delimiter $$;
+
+create procedure dump_all()
+begin
+ select processlist_user, processlist_host
+ from performance_schema.threads
+ where (processlist_user is not null) and (processlist_host is not null)
+ order by processlist_user;
+
+ select * from performance_schema.accounts
+ where (user is not null) and (host is not null)
+ order by user, host;
+
+ select * from performance_schema.users
+ where user is not null
+ order by user;
+
+ select * from performance_schema.hosts
+ where host is not null
+ order by host;
+
+ select variable_name, variable_value from information_schema.global_status
+ where variable_name in ('PERFORMANCE_SCHEMA_ACCOUNTS_LOST',
+ 'PERFORMANCE_SCHEMA_USERS_LOST',
+ 'PERFORMANCE_SCHEMA_HOSTS_LOST');
+end
+$$
+
+delimiter ;$$
+
+--enable_query_log
diff --git a/mysql-test/suite/perfschema/include/digest_cleanup.inc b/mysql-test/suite/perfschema/include/digest_cleanup.inc
new file mode 100644
index 00000000000..47dd7618b43
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/digest_cleanup.inc
@@ -0,0 +1,14 @@
+--echo ####################################
+--echo # CLEANUP
+--echo ####################################
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+DROP TABLE IF EXISTS t4;
+DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
+DROP TABLE IF EXISTS t11;
+DROP TABLE IF EXISTS t12;
+DROP DATABASE IF EXISTS statements_digest;
+--enable_warnings
diff --git a/mysql-test/suite/perfschema/include/digest_execution.inc b/mysql-test/suite/perfschema/include/digest_execution.inc
new file mode 100644
index 00000000000..5483cca61d7
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/digest_execution.inc
@@ -0,0 +1,130 @@
+--echo ####################################
+--echo # EXECUTION
+--echo ####################################
+
+# -----------------------------------
+# SQL Queries to test normalizations.
+# -----------------------------------
+SELECT 1 FROM t1;
+SELECT 1 FROM `t1`;
+SELECT 1,2 FROM t1;
+SELECT 1, 2, 3, 4 FROM t1;
+SELECT 1 FROM t2;
+SELECT 1,2 FROM t2;
+SELECT 1, 2, 3, 4 FROM t2;
+
+# (NUM) => (#)
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+# (NUM,NUM) => (#,#)
+INSERT INTO t3 VALUES (1, 2);
+INSERT INTO t4 VALUES (1, 2);
+# (NUM,NUM,NUM) => (#,#)
+INSERT INTO t5 VALUES (1, 2, 3);
+
+# (NUM),(NUM) => (#),(#)
+INSERT INTO t1 VALUES (1), (2), (3);
+# (NUM),(NUM),(NUM) => (#),(#)
+INSERT INTO t1 VALUES (1), (2), (3), (4);
+
+# (NUM,NUM),(NUM,NUM) => (#,#),(#,#)
+INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
+# (NUM,NUM,NUM),(NUM,NUM,NUM),(NUM,NUM,NUM) => (#,#),(#,#)
+INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+
+# -----------------------------------------------------------------------
+# Test case to handle NULL. If alone, not normalized otherwise normalized.
+# -----------------------------------------------------------------------
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
+
+# -----------------------------------------------------------------------
+# Test case for handling spaces in statement.
+# -----------------------------------------------------------------------
+
+SELECT 1 + 1;
+
+# -----------------------------------------------------------------------
+# Test case for handling comments.
+# -----------------------------------------------------------------------
+
+# comment starting with "--"
+# TODO : SELECT 1; -- This comment continues to the end of line
+# comment starting from "#"
+SELECT 1; # This comment continues to the end of line
+
+# Inline comment
+SELECT 1 /* This is an inline comment */ + 1;
+
+# Multiple line comments
+ SELECT 1+
+ /*
+ this is a
+ multiple-line comment
+ */
+ 1;
+
+# -----------------------------------------------------------------------
+# Tests to show how the digest behaves with tokens that can have multiple
+# names (such as DATABASE = "DATABASE" or "SCHEMA", SUBSTRING, STD_SYM,
+# VARIANCE_SYM ... )
+# -----------------------------------------------------------------------
+
+--disable_warnings
+CREATE SCHEMA statements_digest_temp;
+DROP SCHEMA statements_digest_temp;
+CREATE DATABASE statements_digest_temp;
+DROP DATABASE statements_digest_temp;
+# TODO : add more
+--enable_warnings
+
+# -----------------------------------------------------------------------
+# Test case to show stats for statements giving ERRORS/WARNINGS, are also
+# captured.
+# -----------------------------------------------------------------------
+--ERROR ER_NO_SUCH_TABLE
+SELECT 1 FROM no_such_table;
+CREATE TABLE dup_table (c char(4));
+--ERROR ER_TABLE_EXISTS_ERROR
+CREATE TABLE dup_table (c char(4));
+DROP TABLE dup_table;
+INSERT INTO t11 VALUES("MySQL");
+
+# -----------------------------------------------------------------------
+# Tests to show sub-statements for following statements are not
+# instrumented.
+# - Prepared Statements
+# - Stored Procedures/Functions.
+# - Table Triggers
+# -----------------------------------------------------------------------
+PREPARE stmt FROM "SELECT * FROM t12";
+EXECUTE stmt;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+DELIMITER //;
+CREATE PROCEDURE p1() BEGIN SELECT * FROM t12; END//
+DELIMITER ;//
+CALL p1();
+CALL p1();
+DROP PROCEDURE p1;
+
+DELIMITER //;
+CREATE FUNCTION `func`(a INT, b INT) RETURNS int(11) RETURN a+b //
+DELIMITER ;//
+select func(3,4);
+select func(13,42);
+DROP FUNCTION func;
+
+CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @a:=1;
+INSERT INTO t12 VALUES ("abc");
+INSERT INTO t12 VALUES ("def");
+DROP TRIGGER trg;
diff --git a/mysql-test/suite/perfschema/include/digest_setup.inc b/mysql-test/suite/perfschema/include/digest_setup.inc
new file mode 100644
index 00000000000..6efab880d32
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/digest_setup.inc
@@ -0,0 +1,24 @@
+# Making sure not to run when ps-protocol is set.
+--source include/no_protocol.inc
+
+--echo ####################################
+--echo # SETUP
+--echo ####################################
+# Database setup
+--disable_warnings
+CREATE DATABASE statements_digest;
+--enable_warnings
+USE statements_digest;
+
+# Table set up for queries
+--disable_warnings
+CREATE TABLE t1(a int);
+CREATE TABLE t2(a int);
+CREATE TABLE t3(a int, b int);
+CREATE TABLE t4(a int, b int);
+CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
+CREATE TABLE t11 (c CHAR(4));
+CREATE TABLE t12 (c CHAR(4));
+--enable_warnings
+
diff --git a/mysql-test/suite/perfschema/include/disable_instruments.inc b/mysql-test/suite/perfschema/include/disable_instruments.inc
new file mode 100644
index 00000000000..b0a4ddec450
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/disable_instruments.inc
@@ -0,0 +1,23 @@
+# Tests for the performance schema
+
+# ==========================================
+# HELPER include/disable_instruments
+# ==========================================
+#
+# ==== Usage ====
+#
+# 1. Define the instrument to be disabled/enabled:
+#
+# let $pfs_instrument=<instrument>
+#
+# Where <instrument> is the instrument name with or without wildcards, e.g.
+#
+# let $pfs_instrument='%statement/sql%'
+#
+--disable_query_log ONCE
+
+eval update performance_schema.setup_instruments
+ set enabled='no', timed='no'
+ where name like $pfs_instrument;
+
+
diff --git a/mysql-test/suite/perfschema/include/enable_instruments.inc b/mysql-test/suite/perfschema/include/enable_instruments.inc
new file mode 100644
index 00000000000..94d63aee941
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/enable_instruments.inc
@@ -0,0 +1,23 @@
+# Tests for the performance schema
+
+# ==========================================
+# HELPER include/enable_instruments
+# ==========================================
+#
+# ==== Usage ====
+#
+# 1. Define the instrument to be enabled/disabled:
+#
+# let $pfs_instrument=<instrument>
+#
+# Where <instrument> is the instrument name with or without wildcards, e.g.
+#
+# let $pfs_instrument='%statement/sql%'
+#
+--disable_query_log ONCE
+
+eval update performance_schema.setup_instruments
+ set enabled='yes', timed='yes'
+ where name like $pfs_instrument;
+
+
diff --git a/mysql-test/suite/perfschema/include/event_aggregate_cleanup.inc b/mysql-test/suite/perfschema/include/event_aggregate_cleanup.inc
new file mode 100644
index 00000000000..c50394f748b
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/event_aggregate_cleanup.inc
@@ -0,0 +1,57 @@
+# Tests for the performance schema
+
+# ==========================================
+# HELPER include/event_aggregate_cleanup.inc
+# ==========================================
+
+--disable_query_log
+revoke all privileges, grant option from user1@localhost;
+revoke all privileges, grant option from user2@localhost;
+revoke all privileges, grant option from user3@localhost;
+revoke all privileges, grant option from user4@localhost;
+drop user user1@localhost;
+drop user user2@localhost;
+drop user user3@localhost;
+drop user user4@localhost;
+flush privileges;
+
+drop procedure dump_thread;
+drop procedure dump_one_thread;
+
+drop prepare dump_waits_account;
+drop prepare dump_waits_user;
+drop prepare dump_waits_host;
+drop prepare dump_waits_history;
+drop prepare dump_waits_global;
+
+drop prepare dump_stages_account;
+drop prepare dump_stages_user;
+drop prepare dump_stages_host;
+drop prepare dump_stages_history;
+drop prepare dump_stages_global;
+
+drop prepare dump_statements_account;
+drop prepare dump_statements_user;
+drop prepare dump_statements_host;
+drop prepare dump_statements_history;
+drop prepare dump_statements_global;
+
+drop prepare dump_users;
+drop prepare dump_hosts;
+drop prepare dump_accounts;
+
+truncate table performance_schema.accounts;
+truncate table performance_schema.users;
+truncate table performance_schema.hosts;
+
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+ select * from test.setup_actors;
+drop table test.setup_actors;
+drop table test.t1;
+
+update performance_schema.threads set instrumented='YES';
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+
+--enable_query_log
+
diff --git a/mysql-test/suite/perfschema/include/event_aggregate_load.inc b/mysql-test/suite/perfschema/include/event_aggregate_load.inc
new file mode 100644
index 00000000000..4a1b3f02c03
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/event_aggregate_load.inc
@@ -0,0 +1,907 @@
+# Tests for the performance schema
+
+# =======================================
+# HELPER include/event_aggregate_load.inc
+# =======================================
+
+echo "================== Step 1 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+# Notes about this test
+#
+# Each connect causes 2 wait/synch/mutex/sql/LOCK_connection_count events:
+# - 1 in mysqld.cc, create_new_thread(), for the main thread
+# - 1 in sql_connect.cc, check_user(), for the connected thread
+# The main thread does not count for BY_ACCOUNT / BY_HOST.
+# The user thread does count for BY_ACCOUNT, BY_HOST
+#
+# Each get_lock() causes 1 wait/synch/mutex/sql/LOCK_user_locks
+#
+# To avoid noise from main, the background threads are disabled.
+
+connect (con1, localhost, user1, , );
+
+echo "================== con1 connected ==================";
+
+--connection default
+
+# Wait for the connect to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1';
+--source include/wait_condition.inc
+
+echo "================== Step 2 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection con1
+
+select get_lock("marker", 10);
+select release_lock("marker");
+insert into test.t1 values ("marker");
+
+echo "================== con1 marker ==================";
+
+--connection default
+
+# Wait for the payload to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.events_waits_current
+ where EVENT_NAME= 'idle';
+--source include/wait_condition.inc
+
+echo "================== Step 3 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+# Debugging helpers
+# select * from performance_schema.events_waits_history_long;
+# select PROCESSLIST_USER, PROCESSLIST_HOST, INSTRUMENTED from performance_schema.threads;
+
+connect (con2, localhost, user2, , );
+
+echo "================== con2 connected ==================";
+
+--connection default
+
+# Wait for the connect to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user2';
+--source include/wait_condition.inc
+
+echo "================== Step 4 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection con2
+
+select get_lock("marker", 10);
+select release_lock("marker");
+insert into test.t1 values ("marker");
+
+echo "================== con2 marker ==================";
+
+--connection default
+
+# Wait for the payload to complete
+let $wait_condition=
+ select count(*) = 2 from performance_schema.events_waits_current
+ where EVENT_NAME= 'idle';
+--source include/wait_condition.inc
+
+echo "================== Step 5 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+connect (con3, localhost, user3, , );
+
+echo "================== con3 connected ==================";
+
+--connection default
+
+# Wait for the connect to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user3';
+--source include/wait_condition.inc
+
+echo "================== Step 6 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection con3
+
+select get_lock("marker", 10);
+select release_lock("marker");
+insert into test.t1 values ("marker");
+
+echo "================== con3 marker ==================";
+
+--connection default
+
+# Wait for the payload to complete
+let $wait_condition=
+ select count(*) = 3 from performance_schema.events_waits_current
+ where EVENT_NAME= 'idle';
+--source include/wait_condition.inc
+
+echo "================== Step 7 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+connect (con4, localhost, user4, , );
+
+echo "================== con4 connected ==================";
+
+--connection default
+
+# Wait for the connect to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4';
+--source include/wait_condition.inc
+
+echo "================== Step 8 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection con4
+
+select get_lock("marker", 10);
+select release_lock("marker");
+insert into test.t1 values ("marker");
+
+echo "================== con4 marker ==================";
+
+--connection default
+
+# Wait for the payload to complete
+let $wait_condition=
+ select count(*) = 4 from performance_schema.events_waits_current
+ where EVENT_NAME= 'idle';
+--source include/wait_condition.inc
+
+echo "================== Step 9 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--disconnect con1
+
+--connection default
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1';
+--source include/wait_condition.inc
+
+echo "================== con1 disconnected ==================";
+
+echo "================== Step 10 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--disconnect con2
+
+--connection default
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user2';
+--source include/wait_condition.inc
+
+echo "================== con2 disconnected ==================";
+
+echo "================== Step 11 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--disconnect con3
+
+--connection default
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user3';
+--source include/wait_condition.inc
+
+echo "================== con3 disconnected ==================";
+
+echo "================== Step 12 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--disconnect con4
+
+--connection default
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4';
+--source include/wait_condition.inc
+
+echo "================== con4 disconnected ==================";
+
+echo "================== Step 13 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection default
+
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+
+echo "================== WAITS_BY_THREAD truncated ==================";
+
+echo "================== Step 14 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+
+echo "================== WAITS_BY_ACCOUNT truncated ==================";
+
+echo "================== Step 15 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+
+echo "================== WAITS_BY_USER truncated ==================";
+
+echo "================== Step 16 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+
+echo "================== WAITS_BY_HOST truncated ==================";
+
+echo "================== Step 17 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_waits_summary_global_by_event_name;
+
+echo "================== WAITS_GLOBAL truncated ==================";
+
+echo "================== Step 18 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+
+echo "================== STAGES_BY_THREAD truncated ==================";
+
+echo "================== Step 19 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+
+echo "================== STAGES_BY_ACCOUNT truncated ==================";
+
+echo "================== Step 20 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+
+echo "================== STAGES_BY_USER truncated ==================";
+
+echo "================== Step 21 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+
+echo "================== STAGES_BY_HOST truncated ==================";
+
+echo "================== Step 22 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_stages_summary_global_by_event_name;
+
+echo "================== STAGES_GLOBAL truncated ==================";
+
+echo "================== Step 23 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+
+echo "================== STATEMENTS_BY_THREAD truncated ==================";
+
+echo "================== Step 24 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+
+echo "================== STATEMENTS_BY_ACCOUNT truncated ==================";
+
+echo "================== Step 25 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+
+echo "================== STATEMENTS_BY_USER truncated ==================";
+
+echo "================== Step 26 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+
+echo "================== STATEMENTS_BY_HOST truncated ==================";
+
+echo "================== Step 27 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.events_statements_summary_global_by_event_name;
+
+echo "================== STATEMENTS_GLOBAL truncated ==================";
+
+echo "================== Step 28 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.accounts;
+
+echo "================== ACCOUNTS truncated ==================";
+
+echo "================== Step 29 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.users;
+
+echo "================== USERS truncated ==================";
+
+echo "================== Step 30 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.hosts;
+
+echo "================== HOSTS truncated ==================";
+
+echo "================== Step 31 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_stages_account;
+execute dump_stages_user;
+execute dump_stages_host;
+execute dump_stages_global;
+execute dump_stages_history;
+execute dump_statements_account;
+execute dump_statements_user;
+execute dump_statements_host;
+execute dump_statements_global;
+execute dump_statements_history;
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
diff --git a/mysql-test/suite/perfschema/include/event_aggregate_setup.inc b/mysql-test/suite/perfschema/include/event_aggregate_setup.inc
new file mode 100644
index 00000000000..7dfefd25235
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/event_aggregate_setup.inc
@@ -0,0 +1,351 @@
+# Tests for the performance schema
+
+# =============
+# DOCUMENTATION
+# =============
+
+# Verify how events are aggregated into various tables
+#
+# In the thread dimension:
+# - events_waits_summary_by_thread_by_event_name
+# - events_waits_summary_by_account_by_event_name
+# - events_waits_summary_by_user_by_event_name
+# - events_waits_summary_by_host_by_event_name
+# - events_stages_summary_by_thread_by_event_name
+# - events_stages_summary_by_account_by_event_name
+# - events_stages_summary_by_user_by_event_name
+# - events_stages_summary_by_host_by_event_name
+# - events_statements_summary_by_thread_by_event_name
+# - events_statements_summary_by_account_by_event_name
+# - events_statements_summary_by_user_by_event_name
+# - events_statements_summary_by_host_by_event_name
+#
+# Globally:
+# - events_waits_summary_global_by_event_name
+# - events_stages_summary_global_by_event_name
+# - events_statements_summary_global_by_event_name
+#
+# The tests are written with the following helpers:
+# - include/event_aggregate_setup.inc
+# - include/event_aggregate_load.inc
+# - include/event_aggregate_cleanup.inc
+#
+# Helpers are intended to be used as follows.
+#
+# A Typical test t/event_aggregate_xxx.test will consist of:
+# --source ../include/event_aggregate_setup.inc
+# --source ../include/event_aggregate_load.inc
+# --source ../include/event_aggregate_cleanup.inc
+# and a t/event_aggregate_xxx-master.opt file
+#
+# Naming conventions for t/event_aggregate_xxx.test are as follows:
+# t/event_aggregate_<account><user><host>
+#
+# <account> corresponds to different sizing settings for
+# the variable performance-schema-accounts-size
+# - (blank): accounts-size sufficient to represent all records
+# - no_a: accounts-size set to 0
+#
+# <user> corresponds to different sizing settings for
+# the variable performance-schema-users-size
+# - (blank): users-size sufficient to represent all records
+# - no_u: users-size set to 0
+#
+# <host> corresponds to different sizing settings for
+# the variable performance-schema-hosts-size
+# - (blank): hosts-size sufficient to represent all records
+# - no_h: hosts-size set to 0
+
+# ========================================
+# HELPER include/event_aggregate_setup.inc
+# ========================================
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+--source ../include/wait_for_pfs_thread_count.inc
+
+--disable_query_log
+create user user1@localhost;
+grant ALL on *.* to user1@localhost;
+create user user2@localhost;
+grant ALL on *.* to user2@localhost;
+create user user3@localhost;
+grant ALL on *.* to user3@localhost;
+create user user4@localhost;
+grant ALL on *.* to user4@localhost;
+
+flush privileges;
+
+# Purge old users, hosts, user/host from previous tests
+truncate table performance_schema.accounts;
+truncate table performance_schema.users;
+truncate table performance_schema.hosts;
+
+# Save the setup
+
+--disable_warnings
+drop table if exists test.setup_actors;
+drop table if exists test.t1;
+--enable_warnings
+
+create table test.t1(a varchar(64));
+
+create table test.setup_actors as
+ select * from performance_schema.setup_actors;
+
+# Only instrument the user connections
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user1', role= '%';
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user2', role= '%';
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user3', role= '%';
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user4', role= '%';
+
+update performance_schema.threads set instrumented='NO';
+
+# Only instrument a few events of each kind
+update performance_schema.setup_instruments set enabled='NO', timed='NO';
+
+update performance_schema.setup_instruments set enabled='YES', timed='YES'
+ where name in ('wait/synch/mutex/sql/LOCK_connection_count',
+ 'wait/synch/mutex/sql/LOCK_user_locks',
+ 'wait/synch/rwlock/sql/LOCK_grant',
+ 'wait/io/file/sql/query_log',
+ 'idle');
+
+update performance_schema.setup_instruments set enabled='YES', timed='YES'
+ where name in ('stage/sql/init',
+ 'stage/sql/checking permissions',
+ 'stage/sql/Opening tables',
+ 'stage/sql/closing tables');
+
+update performance_schema.setup_instruments set enabled='YES', timed='YES'
+ where name in ('statement/sql/select',
+ 'statement/sql/insert',
+ 'statement/abstract/new_packet',
+ 'statement/abstract/Query',
+ 'statement/com/Quit',
+ 'statement/com/error');
+
+# Start from a known clean state, to avoid noise from previous tests
+flush tables;
+flush status;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+truncate performance_schema.events_stages_summary_global_by_event_name;
+truncate performance_schema.events_stages_history_long;
+
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+truncate performance_schema.events_statements_summary_global_by_event_name;
+truncate performance_schema.events_statements_history_long;
+
+--disable_warnings
+drop procedure if exists dump_thread;
+drop procedure if exists dump_one_thread;
+--enable_warnings
+
+delimiter $$;
+
+create procedure dump_thread()
+begin
+ call dump_one_thread('user1');
+ call dump_one_thread('user2');
+ call dump_one_thread('user3');
+ call dump_one_thread('user4');
+end
+$$
+
+create procedure dump_one_thread(in username varchar(64))
+begin
+ declare my_thread_id int;
+
+ set my_thread_id = (select thread_id from performance_schema.threads
+ where processlist_user=username);
+
+ if (my_thread_id is not null) then
+ select username, event_name, count_star
+ from performance_schema.events_waits_summary_by_thread_by_event_name
+ where event_name in ('wait/synch/mutex/sql/LOCK_connection_count',
+ 'wait/synch/mutex/sql/LOCK_user_locks',
+ 'wait/synch/rwlock/sql/LOCK_grant',
+ 'wait/io/file/sql/query_log')
+ and thread_id = my_thread_id
+ order by event_name;
+ else
+ select username, "not found" as status;
+ end if;
+end
+$$
+
+delimiter ;$$
+
+prepare dump_waits_account from
+ "select user, host, event_name, count_star
+ from performance_schema.events_waits_summary_by_account_by_event_name
+ where user like \'user%\'
+ and event_name in ('wait/synch/mutex/sql/LOCK_connection_count',
+ 'wait/synch/mutex/sql/LOCK_user_locks',
+ 'wait/synch/rwlock/sql/LOCK_grant',
+ 'wait/io/file/sql/query_log')
+ order by user, host, event_name;";
+
+prepare dump_waits_user from
+ "select user, event_name, count_star
+ from performance_schema.events_waits_summary_by_user_by_event_name
+ where user like \'user%\'
+ and event_name in ('wait/synch/mutex/sql/LOCK_connection_count',
+ 'wait/synch/mutex/sql/LOCK_user_locks',
+ 'wait/synch/rwlock/sql/LOCK_grant',
+ 'wait/io/file/sql/query_log')
+ order by user, event_name;";
+
+prepare dump_waits_host from
+ "select host, event_name, count_star
+ from performance_schema.events_waits_summary_by_host_by_event_name
+ where host=\'localhost\'
+ and event_name in ('wait/synch/mutex/sql/LOCK_connection_count',
+ 'wait/synch/mutex/sql/LOCK_user_locks',
+ 'wait/synch/rwlock/sql/LOCK_grant',
+ 'wait/io/file/sql/query_log')
+ order by host, event_name;";
+
+prepare dump_waits_global from
+ "select event_name, count_star
+ from performance_schema.events_waits_summary_global_by_event_name
+ where event_name in ('wait/synch/mutex/sql/LOCK_connection_count',
+ 'wait/synch/mutex/sql/LOCK_user_locks',
+ 'wait/synch/rwlock/sql/LOCK_grant',
+ 'wait/io/file/sql/query_log')
+ order by event_name;";
+
+prepare dump_waits_history from
+ "select event_name, count(event_name)
+ from performance_schema.events_waits_history_long
+ where event_name in ('wait/synch/mutex/sql/LOCK_connection_count',
+ 'wait/synch/mutex/sql/LOCK_user_locks',
+ 'wait/synch/rwlock/sql/LOCK_grant',
+ 'wait/io/file/sql/query_log')
+ group by event_name order by event_name;";
+
+prepare dump_stages_account from
+ "select user, host, event_name, count_star
+ from performance_schema.events_stages_summary_by_account_by_event_name
+ where user like \'user%\'
+ and event_name in ('stage/sql/init',
+ 'stage/sql/checking permissions',
+ 'stage/sql/Opening tables',
+ 'stage/sql/closing tables')
+ order by user, host, event_name;";
+
+prepare dump_stages_user from
+ "select user, event_name, count_star
+ from performance_schema.events_stages_summary_by_user_by_event_name
+ where user like \'user%\'
+ and event_name in ('stage/sql/init',
+ 'stage/sql/checking permissions',
+ 'stage/sql/Opening tables',
+ 'stage/sql/closing tables')
+ order by user, event_name;";
+
+prepare dump_stages_host from
+ "select host, event_name, count_star
+ from performance_schema.events_stages_summary_by_host_by_event_name
+ where host=\'localhost\'
+ and event_name in ('stage/sql/init',
+ 'stage/sql/checking permissions',
+ 'stage/sql/Opening tables',
+ 'stage/sql/closing tables')
+ order by host, event_name;";
+
+prepare dump_stages_global from
+ "select event_name, count_star
+ from performance_schema.events_stages_summary_global_by_event_name
+ where event_name in ('stage/sql/init',
+ 'stage/sql/checking permissions',
+ 'stage/sql/Opening tables',
+ 'stage/sql/closing tables')
+ order by event_name;";
+
+prepare dump_stages_history from
+ "select event_name, count(event_name)
+ from performance_schema.events_stages_history_long
+ where event_name in ('stage/sql/init',
+ 'stage/sql/checking permissions',
+ 'stage/sql/Opening tables',
+ 'stage/sql/closing tables')
+ group by event_name order by event_name;";
+
+prepare dump_statements_account from
+ "select user, host, event_name, count_star
+ from performance_schema.events_statements_summary_by_account_by_event_name
+ where user like \'user%\'
+ and event_name in ('statement/sql/select',
+ 'statement/sql/insert',
+ 'statement/com/Quit',
+ 'statement/com/error')
+ order by user, host, event_name;";
+
+prepare dump_statements_user from
+ "select user, event_name, count_star
+ from performance_schema.events_statements_summary_by_user_by_event_name
+ where user like \'user%\'
+ and event_name in ('statement/sql/select',
+ 'statement/sql/insert',
+ 'statement/com/Quit',
+ 'statement/com/error')
+ order by user, event_name;";
+
+prepare dump_statements_host from
+ "select host, event_name, count_star
+ from performance_schema.events_statements_summary_by_host_by_event_name
+ where host=\'localhost\'
+ and event_name in ('statement/sql/select',
+ 'statement/sql/insert',
+ 'statement/com/Quit',
+ 'statement/com/error')
+ order by host, event_name;";
+
+prepare dump_statements_global from
+ "select event_name, count_star
+ from performance_schema.events_statements_summary_global_by_event_name
+ where event_name in ('statement/sql/select',
+ 'statement/sql/insert',
+ 'statement/com/Quit',
+ 'statement/com/error')
+ order by event_name;";
+
+prepare dump_statements_history from
+ "select event_name, count(event_name)
+ from performance_schema.events_statements_history_long
+ where event_name in ('statement/sql/select',
+ 'statement/sql/insert',
+ 'statement/com/Quit',
+ 'statement/com/error')
+ group by event_name order by event_name;";
+
+prepare dump_users from
+ "select * from performance_schema.users where user is not null order by user;";
+
+prepare dump_hosts from
+ "select * from performance_schema.hosts where host is not null order by host;";
+
+prepare dump_accounts from
+ "select * from performance_schema.accounts where (user is not null) and (host is not null) order by user, host;";
+
+--enable_query_log
diff --git a/mysql-test/suite/perfschema/include/have_aligned_memory.inc b/mysql-test/suite/perfschema/include/have_aligned_memory.inc
new file mode 100644
index 00000000000..9638cbe1da4
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/have_aligned_memory.inc
@@ -0,0 +1,13 @@
+# The performance schema internal structures are compiled with PFS_ALIGN,
+# and the sizeof() structures is platform dependent.
+#
+# For tests sensitive to the internal sizes (show engine performance_schema
+# status), make sure we use a platform with aligned memory.
+
+--disable_query_log
+let $aligned = `SELECT count(*) from performance_schema.session_connect_attrs where PROCESSLIST_ID = connection_id() and ATTR_NAME = '_os' and ATTR_VALUE in ('Linux', 'Windows')`;
+if (!$aligned)
+{
+ skip Need a platform with aligned memory;
+}
+--enable_query_log
diff --git a/mysql-test/suite/perfschema/include/hostcache_dump.inc b/mysql-test/suite/perfschema/include/hostcache_dump.inc
new file mode 100644
index 00000000000..7f456a0c499
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/hostcache_dump.inc
@@ -0,0 +1,39 @@
+# Helper for hostcache_*.test
+
+--echo "Dumping performance_schema.host_cache"
+
+--disable_query_log
+--vertical_results
+select
+ IP, HOST, HOST_VALIDATED, SUM_CONNECT_ERRORS,
+ COUNT_HOST_BLOCKED_ERRORS,
+ COUNT_NAMEINFO_TRANSIENT_ERRORS,
+ COUNT_NAMEINFO_PERMANENT_ERRORS,
+ COUNT_FORMAT_ERRORS,
+ COUNT_ADDRINFO_TRANSIENT_ERRORS,
+ COUNT_ADDRINFO_PERMANENT_ERRORS,
+ COUNT_FCRDNS_ERRORS,
+ COUNT_HOST_ACL_ERRORS,
+ COUNT_NO_AUTH_PLUGIN_ERRORS,
+ COUNT_AUTH_PLUGIN_ERRORS,
+ COUNT_HANDSHAKE_ERRORS,
+ COUNT_PROXY_USER_ERRORS,
+ COUNT_PROXY_USER_ACL_ERRORS,
+ COUNT_AUTHENTICATION_ERRORS,
+ COUNT_SSL_ERRORS,
+ COUNT_MAX_USER_CONNECTIONS_ERRORS,
+ COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS,
+ COUNT_DEFAULT_DATABASE_ERRORS,
+ COUNT_INIT_CONNECT_ERRORS,
+ COUNT_LOCAL_ERRORS,
+ COUNT_UNKNOWN_ERRORS,
+ if (FIRST_ERROR_SEEN is not null,
+ if (FIRST_ERROR_SEEN > date("2012-01-01"), "set", "wrong epoch"),
+ "null") as FIRST_ERROR_SEEN,
+ if (LAST_ERROR_SEEN is not null,
+ if (FIRST_ERROR_SEEN > date("2012-01-01"), "set", "wrong epoch"),
+ "null") as LAST_ERROR_SEEN
+ from performance_schema.host_cache;
+--horizontal_results
+--enable_query_log
+
diff --git a/mysql-test/suite/perfschema/include/hostcache_set_state.inc b/mysql-test/suite/perfschema/include/hostcache_set_state.inc
new file mode 100644
index 00000000000..25dd56a4e0d
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/hostcache_set_state.inc
@@ -0,0 +1,23 @@
+# Helper for hostcache_*.test
+
+# Set a known initial state for the test
+
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+
+# Print critical setup
+
+select @@global.debug;
+select @@global.max_connect_errors;
+select @@global.max_user_connections;
+select @@global.max_connections;
+
+# Make sure there are no remaining records that can change the test outcome
+
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+
diff --git a/mysql-test/suite/perfschema/include/pfs_no_running_event_scheduler.inc b/mysql-test/suite/perfschema/include/pfs_no_running_event_scheduler.inc
new file mode 100644
index 00000000000..eff3d7df854
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/pfs_no_running_event_scheduler.inc
@@ -0,0 +1,10 @@
+# threads are removed from:
+# - information_schema.processlist
+# - performance_schema.threads
+# at different times, so we may have to wait a little more
+# for the event_scheduler to shutdown
+#
+let $wait_condition=
+ SELECT COUNT(*) = 0 FROM performance_schema.threads
+ WHERE name like 'thread/sql/event%';
+--source include/wait_condition.inc
diff --git a/mysql-test/suite/perfschema/include/pfs_running_event_scheduler.inc b/mysql-test/suite/perfschema/include/pfs_running_event_scheduler.inc
new file mode 100644
index 00000000000..219a41051fb
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/pfs_running_event_scheduler.inc
@@ -0,0 +1,10 @@
+# threads are removed from:
+# - information_schema.processlist
+# - performance_schema.threads
+# at different times, so we may have to wait a little more
+# for the event_scheduler to shutdown
+#
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM performance_schema.threads
+ WHERE name like 'thread/sql/event%';
+--source include/wait_condition.inc
diff --git a/mysql-test/suite/perfschema/include/pfs_upgrade.inc b/mysql-test/suite/perfschema/include/pfs_upgrade.inc
new file mode 100644
index 00000000000..0d4a864940c
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/pfs_upgrade.inc
@@ -0,0 +1,112 @@
+# Tests for PERFORMANCE_SCHEMA
+# Make sure mysql_upgrade does not destroy data in a 'performance_schema'
+# database.
+#
+
+# Some initial settings + Preemptive cleanup
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+let $err_file= $MYSQLTEST_VARDIR/tmp/pfs_upgrade.err;
+let $out_file= $MYSQLTEST_VARDIR/tmp/pfs_upgrade.out;
+--error 0,1
+--remove_file $out_file
+--error 0,1
+--remove_file $err_file
+
+--disable_warnings
+drop table if exists test.user_table;
+drop procedure if exists test.user_proc;
+drop function if exists test.user_func;
+drop event if exists test.user_event;
+--enable_warnings
+
+
+--echo "Testing mysql_upgrade with TABLE performance_schema.user_table"
+
+create table test.user_table(a int);
+
+--error 0,1
+--remove_file $MYSQLD_DATADIR/performance_schema/user_table.frm
+--copy_file $MYSQLD_DATADIR/test/user_table.frm $MYSQLD_DATADIR/performance_schema/user_table.frm
+
+# Make sure the table is visible
+use performance_schema;
+show tables like "user_table";
+
+--source suite/perfschema/include/upgrade_check.inc
+
+# Make sure the table is still visible
+show tables like "user_table";
+
+use test;
+
+--remove_file $MYSQLD_DATADIR/performance_schema/user_table.frm
+drop table test.user_table;
+
+
+--echo "Testing mysql_upgrade with VIEW performance_schema.user_view"
+
+create view test.user_view as select "Not supposed to be here";
+
+--error 0,1
+--remove_file $MYSQLD_DATADIR/performance_schema/user_view.frm
+--copy_file $MYSQLD_DATADIR/test/user_view.frm $MYSQLD_DATADIR/performance_schema/user_view.frm
+
+# Make sure the view is visible
+use performance_schema;
+show tables like "user_view";
+
+--source suite/perfschema/include/upgrade_check.inc
+
+# Make sure the view is still visible
+show tables like "user_view";
+
+use test;
+
+--remove_file $MYSQLD_DATADIR/performance_schema/user_view.frm
+drop view test.user_view;
+
+
+--echo "Testing mysql_upgrade with PROCEDURE performance_schema.user_proc"
+
+create procedure test.user_proc()
+ select "Not supposed to be here";
+
+update mysql.proc set db='performance_schema' where name='user_proc';
+
+--source suite/perfschema/include/upgrade_check.inc
+
+select name from mysql.proc where db='performance_schema';
+
+update mysql.proc set db='test' where name='user_proc';
+drop procedure test.user_proc;
+
+
+--echo "Testing mysql_upgrade with FUNCTION performance_schema.user_func"
+
+create function test.user_func() returns integer
+ return 0;
+
+update mysql.proc set db='performance_schema' where name='user_func';
+
+--source suite/perfschema/include/upgrade_check.inc
+
+select name from mysql.proc where db='performance_schema';
+
+update mysql.proc set db='test' where name='user_func';
+drop function test.user_func;
+
+
+--echo "Testing mysql_upgrade with EVENT performance_schema.user_event"
+
+create event test.user_event on schedule every 1 day do
+ select "not supposed to be here";
+
+update mysql.event set db='performance_schema' where name='user_event';
+
+--source suite/perfschema/include/upgrade_check.inc
+
+select name from mysql.event where db='performance_schema';
+
+update mysql.event set db='test' where name='user_event';
+drop event test.user_event;
+
diff --git a/mysql-test/suite/perfschema/include/rpl_statements_truncate.inc b/mysql-test/suite/perfschema/include/rpl_statements_truncate.inc
new file mode 100644
index 00000000000..afd1d31a157
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/rpl_statements_truncate.inc
@@ -0,0 +1,15 @@
+# Tests for the performance schema
+
+# ==========================================
+# HELPER include/rpl_truncate_statements.inc
+# ==========================================
+
+--disable_query_log
+update performance_schema.setup_instruments set enabled='no', timed='no' where name like '%statement/%';
+truncate table performance_schema.events_waits_history_long;
+truncate table performance_schema.events_statements_summary_by_digest;
+truncate table performance_schema.events_statements_history;
+truncate table performance_schema.events_statements_history_long;
+update performance_schema.setup_instruments set enabled='yes', timed='yes' where name like '%statement/%';
+--enable_query_log
+
diff --git a/mysql-test/suite/perfschema/include/schema.inc b/mysql-test/suite/perfschema/include/schema.inc
new file mode 100644
index 00000000000..f5f23893d37
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/schema.inc
@@ -0,0 +1,61 @@
+# Tests for PERFORMANCE_SCHEMA
+# Show existing objects and information about their structure
+
+show databases like 'performance_schema';
+show create database performance_schema;
+
+use performance_schema;
+
+show tables;
+
+show create table accounts;
+show create table cond_instances;
+show create table events_stages_current;
+show create table events_stages_history;
+show create table events_stages_history_long;
+show create table events_stages_summary_by_host_by_event_name;
+show create table events_stages_summary_by_thread_by_event_name;
+show create table events_stages_summary_by_user_by_event_name;
+show create table events_stages_summary_by_account_by_event_name;
+show create table events_stages_summary_global_by_event_name;
+show create table events_statements_current;
+show create table events_statements_history;
+show create table events_statements_history_long;
+show create table events_statements_summary_by_digest;
+show create table events_statements_summary_by_host_by_event_name;
+show create table events_statements_summary_by_thread_by_event_name;
+show create table events_statements_summary_by_user_by_event_name;
+show create table events_statements_summary_by_account_by_event_name;
+show create table events_statements_summary_global_by_event_name;
+show create table events_waits_current;
+show create table events_waits_history;
+show create table events_waits_history_long;
+show create table events_waits_summary_by_host_by_event_name;
+show create table events_waits_summary_by_instance;
+show create table events_waits_summary_by_thread_by_event_name;
+show create table events_waits_summary_by_user_by_event_name;
+show create table events_waits_summary_by_account_by_event_name;
+show create table events_waits_summary_global_by_event_name;
+show create table file_instances;
+show create table file_summary_by_event_name;
+show create table file_summary_by_instance;
+show create table host_cache;
+show create table hosts;
+show create table mutex_instances;
+show create table objects_summary_global_by_type;
+show create table performance_timers;
+show create table rwlock_instances;
+show create table setup_actors;
+show create table setup_consumers;
+show create table setup_instruments;
+show create table setup_objects;
+show create table setup_timers;
+show create table socket_instances;
+show create table socket_summary_by_instance;
+show create table socket_summary_by_event_name;
+show create table table_io_waits_summary_by_index_usage;
+show create table table_io_waits_summary_by_table;
+show create table table_lock_waits_summary_by_table;
+show create table threads;
+show create table users;
+
diff --git a/mysql-test/suite/perfschema/include/sizing_auto.inc b/mysql-test/suite/perfschema/include/sizing_auto.inc
new file mode 100644
index 00000000000..3bb4db2276f
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/sizing_auto.inc
@@ -0,0 +1,24 @@
+
+show variables like "table_definition_cache";
+show variables like "table_open_cache";
+show variables like "max_connections";
+# open_files_limit depends on OS configuration (ulimit -n)
+#show variables like "open_files_limit";
+show variables where
+ `Variable_name` != "performance_schema_max_statement_classes" and
+ `Variable_name` like "performance_schema%";
+show status like "%performance_schema%";
+
+# Each test script should provide a different test.cnf file,
+# with different settings.
+# This output will show the sizes computed automatically.
+# Note that this output is very dependent on the platform.
+# The output of SHOW ENGINE PERFORMANCE_SCHEMA STATUS
+# is very dependent on the platform,
+# so it is not printed here to ensure stability of the .results files.
+# To troubleshoot the performance schema memory consumption at different
+# configuration settings, comment the following line.
+# Debug only:
+
+# show engine performance_schema status;
+
diff --git a/mysql-test/suite/perfschema/include/socket_check1.inc b/mysql-test/suite/perfschema/include/socket_check1.inc
new file mode 100644
index 00000000000..29b00fc6abb
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/socket_check1.inc
@@ -0,0 +1,129 @@
+# Example how to use this auxiliary script
+#-----------------------------------------
+#
+### The table/tables used in $part must have the right content.
+### $title_prefix is used for the generation of titles
+#
+# let $title_prefix= 4.3;
+### $check_num is used for the generation of titles and gets incremented after
+### every call of the current script.
+# let $check_num= 1;
+### $diff_column_list is used for the generation of error information and valid for
+### every sub test.
+# let $diff_column_list=
+# t2.COUNT_READ - t1.COUNT_READ AS D_COUNT_READ,
+# t2.COUNT_READ AS S2_COUNT_READ,
+# t1.COUNT_READ AS S1_COUNT_READ,
+# t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ AS D_SUM_NUMBER_OF_BYTES_READ,
+# t2.SUM_NUMBER_OF_BYTES_READ AS S2_SUM_NUMBER_OF_BYTES_READ,
+# t1.SUM_NUMBER_OF_BYTES_READ AS S1_SUM_NUMBER_OF_BYTES_READ,
+# t2.COUNT_WRITE - t1.COUNT_WRITE AS D_COUNT_WRITE,
+# t2.COUNT_WRITE AS S2_COUNT_WRITE,
+# t1.COUNT_WRITE AS S1_COUNT_WRITE,
+# t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE AS D_UM_NUMBER_OF_BYTES_WRITE,
+# t2.SUM_NUMBER_OF_BYTES_WRITE AS S2_SUM_NUMBER_OF_BYTES_WRITE,
+# t1.SUM_NUMBER_OF_BYTES_WRITE AS S1_SUM_NUMBER_OF_BYTES_WRITE,
+# t2.COUNT_MISC - t1.COUNT_MISC AS D_COUNT_MISC,
+# t2.COUNT_MISC AS S2_COUNT_MISC,
+# t1.COUNT_MISC AS S1_COUNT_MISC;
+### $part is used for the generation of "check" statements + error information
+### and valid for every sub test.
+# let $part=
+# FROM mysqltest.socket_summary_by_instance_detail t1
+# JOIN mysqltest.socket_summary_by_instance_detail t2
+# USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run)
+# WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+# AND EVENT_NAME LIKE ('%client_connection')
+# AND run = 1;
+#
+# --echo # $title_prefix Check the differences caused by SQL statement
+#
+# let stmt1= SELECT col2 FROM does_not_exist;
+# let stmt2= SELECT col2 FROM does_not_exist WHERE col1 = 0;
+### $msg is used to generate some explanation of what we compare.
+# let $msg=
+# # One statement is longer than the other.
+# # Both statements fail with the same error message (table does not exist);
+# let $my_rules=
+# t2.COUNT_READ - t1.COUNT_READ = 0 AND
+# t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+# t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+# t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE = 0 AND
+# t2.COUNT_MISC - t1.COUNT_MISC = 0;
+# --source ../include/socket_check1.inc
+#
+# let stmt1= ....
+# let stmt2= ....
+# let $my_rules= ...
+# --source ../include/socket_check1.inc
+#
+# ...
+#
+
+--echo # $title_prefix.$check_num Compare impact of statements
+--echo # $stmt2
+--echo # $stmt1
+--echo $msg
+
+# Enable this when extending the checks for SQL statements.
+if(0)
+{
+ if (`SELECT CONCAT("$stmt1","$stmt2","$my_rules") LIKE '%_not_set%'`)
+ {
+ --echo # INTERNAL ERROR:
+ --echo # At least one of the variables has no value (is like '%_not_set')
+ --echo # stmt1 : $stmt1
+ --echo # stmt2 : $stmt2
+ --echo # my_rules : $my_rules
+ --echo # Sorry, have to abort
+ exit;
+ }
+}
+
+if(`SELECT NOT ( $my_rules )
+ $part
+ AND t2.statement = '$stmt2' AND t1.statement = '$stmt1'`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The compared statistics looks suspicious
+ --echo # We expect
+ --echo $my_rules
+ --echo
+ --horizontal_results
+ eval
+ SELECT $my_rules AS Expect_1
+ $part
+ AND t2.statement = '$stmt2' AND t1.statement = '$stmt1';
+ --echo
+ --vertical_results
+ eval
+ SELECT $diff_column_list
+ $part
+ AND t1.statement = '$stmt1' AND t2.statement = '$stmt2';
+ --echo
+ --horizontal_results
+
+ eval
+ SELECT
+ LPAD(COUNT_READ, 8, ' ') AS CNT_READ,
+ LPAD(SUM_NUMBER_OF_BYTES_READ, 10,' ') AS BYTES_READ,
+ LPAD(COUNT_WRITE,9, ' ') AS CNT_WRITE,
+ LPAD(SUM_NUMBER_OF_BYTES_WRITE, 11,' ') AS BYTES_WRITE,
+ LPAD(COUNT_MISC, 8, ' ') AS CNT_MISC, statement
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND run = 1
+ AND statement IN('$stmt2','$stmt1');
+ let $print_details= 1;
+}
+# Initialize all variables which depend on the statements to be checked.
+# This prevents that we run with wrong data.
+let $stmt1= stmt1_not_set;
+let $stmt2= stmt2_not_set;
+let $my_rules= my_rules_not_set;
+let $msg= msg_not_set;
+inc $check_num;
+
+
diff --git a/mysql-test/suite/perfschema/include/socket_event.inc b/mysql-test/suite/perfschema/include/socket_event.inc
new file mode 100644
index 00000000000..96c61045986
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/socket_event.inc
@@ -0,0 +1,236 @@
+# include/socket_event.inc
+#
+# Auxiliary routine running
+# - some statement in connection con1
+# or
+# - connect/disconnect
+# $loop_rounds times and checking if the changes to values caused by the action
+# are reasonable.
+#
+# Requirements:
+# 1. Have socket_summary_by_instance_func running
+# 2a. Have a connection con1
+# @con1_object_instance_begin needs to be the OBJECT_INSTANCE_BEGIN
+# value of the "client_connction" entry belonging to con1 within
+# socket_summary_by_instance.
+# $statement needs to contain the statement to be executed by con1.
+# or
+# 2b. Have assigned values to the following variables
+# $connect_host $connect_db $connect_user
+#
+
+let $my_errno= 0;
+
+let $loop_round= 1;
+while($loop_round <= $loop_rounds)
+{
+
+--disable_query_log
+
+# Collect the current state
+#==========================
+eval $truncate;
+eval $insert_before;
+
+# Run the operation
+#==================
+if($is_connect)
+{
+ let $statement= Connect (con*,$connect_host,$connect_user,,$connect_db,,);
+ # Some statements fail with ER_ACCESS_DENIED_ERROR
+ --disable_abort_on_error
+ --connect (con$loop_round,$connect_host,$connect_user,,$connect_db,,)
+ --enable_abort_on_error
+ let $my_errno= $mysql_errno;
+ if(!$my_errno)
+ {
+ # Note(mleich):
+ # We are aware that this additional statement is overhead.
+ # But it ensures that SUM_NUMBER_OF_BYTES_READ and
+ # SUM_NUMBER_OF_BYTES_WRITE are updated.
+ # And this avoids the instabilities found when running
+ # the connect without this additional statement.
+ DO 1;
+ }
+ --connection default
+}
+if(!$is_connect)
+{
+ --connection con1
+ # Print the statement outcome once.
+ if($loop_round == 1)
+ {
+ --enable_query_log
+ --enable_result_log
+ --horizontal_results
+ }
+ # One of the statements to be checked is expected to fail with ER_NO_SUCH_TABLE.
+ --disable_abort_on_error
+ eval $statement;
+ --connection default
+ --enable_abort_on_error
+ --disable_query_log
+ --disable_result_log
+}
+
+# Wait till the operation is really finished. We expect that there will be no
+# changes to the statistics of the additional connection after this point of time.
+#=================================================================================
+--connection default
+# Variants:
+#----------
+# 1. Connect failed ($my_errno <> 0)
+# no entry in performance_schema.threads -> wait_till_sleep.inc cannot be used
+# short life entry in socket_summary_by_instance -> wait till it doesn't exist
+# 2. Connect with success ($my_errno = 0)
+# entry in performance_schema.threads -> wait_till_sleep.inc can be used
+# entry in socket_summary_by_instance -> wait till it does exist
+# 3. SQL command failed ($my_errno <> 0)
+# entry in performance_schema.threads -> wait_till_sleep.inc can be used
+if($is_connect)
+{
+ let $part=
+ FROM performance_schema.socket_summary_by_instance
+ WHERE EVENT_NAME LIKE '%client_connection'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
+
+ if(!$my_errno)
+ {
+ # Wait till the new connection is visible in performance_schema.threads
+ # and processlist_command is 'Sleep'.
+ --source ../include/wait_till_sleep.inc
+
+ # A successful connect causes that a new second row in
+ # performance_schema.socket_summary_by_instance shows up.
+ # Wait till this row is there.
+ let $wait_timeout= 10;
+ let $wait_condition=
+ SELECT COUNT(*) = 1
+ $part;
+ --source include/wait_condition.inc
+ if (!$success)
+ {
+ --echo # Error: We did not reach the expected state where a new
+ --echo # row in socket_summary_by_instance is visible
+ eval
+ SELECT *
+ $part;
+ --echo # abort
+ exit;
+ }
+ }
+ if($my_errno)
+ {
+ # Experiments with high parallel load showed that there is a very
+ # period of time where a "client_connection" entry for a failing
+ # Connect is visible.
+ # We hope that sleep 1 is long enough so that PERFORMANCE_SCHEMA
+ # can remove this row before we collect the after action state.
+ let $wait_timeout= 5;
+ let $wait_condition=
+ SELECT COUNT(*) = 0
+ $part;
+ --source include/wait_condition.inc
+ if(!$success)
+ {
+ --echo # Error: We did not reach the expected state.
+ --echo # A failing connect causes a "client_connection" entry
+ --echo # within socket_summary_by_instance having an extreme
+ --echo # short lifetime.
+ --echo # This entry must have now disappeared.
+ eval
+ SELECT *
+ $part;
+ --echo # abort
+ exit;
+ }
+ }
+ # --sleep 3
+}
+if(!$is_connect)
+{
+ --source ../include/wait_till_sleep.inc
+}
+
+# Various checks
+#===============
+# 1. Check statistics in general
+#-------------------------------
+# ../include/socket_summary_check.inc also inserts the 'After' state into
+# mysqltest.my_socket_summary_by_instance.
+--source ../include/socket_summary_check.inc
+--disable_query_log
+--disable_result_log
+
+if($is_connect)
+{
+ eval $get_object_instance_begin;
+ eval $insert_pseudo_before;
+}
+
+eval $insert_delta;
+# Correct the values of the columns statement and run
+eval
+UPDATE mysqltest.socket_summary_by_instance_detail
+SET statement = '$statement'
+WHERE statement IS NULL;
+eval
+UPDATE mysqltest.socket_summary_by_instance_detail
+SET run = $loop_round
+WHERE run IS NULL;
+
+if($is_connect)
+{
+ # Only in case the connect was successful ($my_errno = 0) than we have to disconnect.
+ if(!$my_errno)
+ {
+ --disconnect con$loop_round
+ # Wait till the connection using the DB = 'mysqltest' or
+ # 'mysqlsupertest' has disappeared from performance_schema.threads
+ let $part=
+ FROM performance_schema.threads
+ WHERE processlist_db IN ('mysqltest','mysqlsupertest');
+ let $wait_timeout= 10;
+ let $wait_condition=
+ SELECT COUNT(*) = 0
+ $part;
+ --source include/wait_condition.inc
+ if (!$success)
+ {
+ --echo # Error: The disconnect of the connection with processlist_db
+ --echo # IN ('mysqltest','mysqlsupertest') failed
+ SELECT *
+ $part;
+ --echo # abort
+ exit;
+ }
+ # Wait in addition till the corresponding 'client_connection' entry of
+ # the connection using the DB = 'mysqltest' or 'mysqlsupertest' has disappeared.
+ let $part=
+ FROM performance_schema.socket_summary_by_instance
+ WHERE EVENT_NAME LIKE '%client_connection'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
+ let $wait_timeout= 10;
+ let $wait_condition=
+ SELECT COUNT(*) = 0
+ $part;
+ --source include/wait_condition.inc
+ if (!$success)
+ {
+ --echo # Error: The entry of the disconnectd connection with processlist_db
+ --echo # IN ('mysqltest','mysqlsupertest') did not disappear
+ SELECT *
+ $part;
+ --echo # abort
+ exit;
+ }
+ }
+ # --sleep 3
+}
+inc $loop_round;
+
+}
+
+--enable_query_log
+--enable_result_log
+
diff --git a/mysql-test/suite/perfschema/include/socket_event_dbg.inc b/mysql-test/suite/perfschema/include/socket_event_dbg.inc
new file mode 100644
index 00000000000..75c4d4808cb
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/socket_event_dbg.inc
@@ -0,0 +1,130 @@
+# include/socket_event.inc
+#
+# Auxiliary routine
+# - running some statement in connection con1
+# and checking the changes for the client_connction" entry belonging to con1
+# within socket_summary_by_instance and
+# - checking if the changes to values caused by the statement execution are
+# reasonable and stable
+#
+# Requirements:
+# 1. Have socket_summary_by_instance_func running
+# 2. Have a connection con1
+# @con1_object_instance_begin needs to be the OBJECT_INSTANCE_BEGIN
+# value of the "client_connction" entry belonging to con1 within
+# socket_summary_by_instance.
+# 3. $statement needs to contain the statement to be executed by con1.
+#
+
+let $my_errno= 0;
+
+let $loop_round= 1;
+while($loop_round <= $loop_rounds)
+{
+
+if (!$my_socket_debug)
+{
+ --disable_query_log
+}
+
+# Collect the current state
+#==========================
+eval $truncate;
+eval $insert_before;
+
+# Run the operation
+#==================
+if($is_connect)
+{
+ let $statement= Connect (con1,$connect_host,$connect_user,,$connect_db,,);
+ # Some statements fail with ER_ACCESS_DENIED_ERROR
+ --disable_abort_on_error
+ --connect (con1,$connect_host,$connect_user,,$connect_db,,)
+ --enable_abort_on_error
+ let $my_errno= $mysql_errno;
+}
+if(!$is_connect)
+{
+ --connection con1
+ # Print the statement outcome once.
+ if($loop_round == 1)
+ {
+ --enable_query_log
+ --enable_result_log
+ --horizontal_results
+ }
+ # One of the statements to be checked is expected to fail with ER_NO_SUCH_TABLE.
+ --disable_abort_on_error
+ eval $statement;
+ --enable_abort_on_error
+
+ if (!$my_socket_debug)
+ {
+ --disable_query_log
+ --disable_result_log
+ }
+}
+
+# Wait till the operation is really finished. We expect that there will be no
+# changes to the statistics of the additional connection after this point of time.
+#=================================================================================
+
+--connection default
+if($my_errno)
+{
+ # Wait a bit and hope that the counter maintenence is finished.
+ --sleep 3
+}
+if(!$my_errno)
+{
+ --source ../include/wait_till_sleep.inc
+}
+
+# Various checks
+#===============
+# 1. Check statistics in general
+#-------------------------------
+# ../include/socket_summary_check.inc also inserts the 'After' state into
+# mysqltest.my_socket_summary_by_instance.
+--source ../include/socket_summary_check_dbg.inc
+
+if (!$my_socket_debug)
+{
+ --disable_query_log
+ --disable_result_log
+}
+
+if($is_connect)
+{
+ eval $get_object_instance_begin;
+ eval $insert_pseudo_before;
+}
+
+eval $insert_delta;
+# Correct the values of the columns statement and run
+eval
+UPDATE mysqltest.socket_summary_by_instance_detail
+SET statement = '$statement'
+WHERE statement IS NULL;
+eval
+UPDATE mysqltest.socket_summary_by_instance_detail
+SET run = $loop_round
+WHERE run IS NULL;
+
+if($is_connect)
+{
+ if(!$my_errno)
+ {
+ --connection con1
+ --disconnect con1
+ --source include/wait_until_disconnected.inc
+ --connection default
+ }
+}
+inc $loop_round;
+
+}
+
+--enable_query_log
+--enable_result_log
+
diff --git a/mysql-test/suite/perfschema/include/socket_ipv6.inc b/mysql-test/suite/perfschema/include/socket_ipv6.inc
new file mode 100644
index 00000000000..dd077a12c7a
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/socket_ipv6.inc
@@ -0,0 +1,113 @@
+#==============================================================================
+# Set IP address defaults with respect to IPV6 support
+#
+# This file determines the level of support for IPV4, IPV4 mapped or IPV6, then
+# sets the appropriate localhost IP format to use for 'connect()' commands.
+#
+# Input: $my_socket_debug - Print results of IP version check (optional)
+# Output: $my_localhost - Default localhost IP
+#==============================================================================
+
+let $check_ipv6_just_check= 1;
+#--source include/check_ipv6.inc
+
+#==============================================================================
+# Determine if IPV6 supported
+#
+# Parameters:
+# $check_ipv6_just_check - Don't skip the test if IPv6 is unsupported,
+# just set the variable $check_ipv6_supported
+#==============================================================================
+--disable_query_log
+--disable_result_log
+--disable_abort_on_error
+
+let $check_ipv6_supported= 1;
+
+connect (checkcon123456789,::1,root,,test);
+
+if($mysql_errno)
+{
+ let $check_ipv6_supported=0;
+ if(!$check_ipv6_just_check)
+ {
+ skip No IPv6 support;
+ }
+}
+
+if(!$mysql_errno)
+{
+ disconnect checkcon123456789;
+ --source include/wait_until_disconnected.inc
+}
+
+connection default;
+
+--enable_abort_on_error
+--enable_result_log
+--enable_query_log
+
+#==============================================================================
+#
+# Determine if IPV4 mapped to IPV6 supported
+#
+let $check_ipv4_mapped_just_check= 1;
+#--source include/check_ipv4_mapped.inc
+#==============================================================================
+# Check if ipv4 mapped to ipv6 is available.
+#
+# Parameters:
+# $check_ipv4_mapped_just_check - Don't skip the test if IPv4 mapped is unsupported,
+# just set the variable $check_ipv4_mapped_supported
+#==============================================================================
+--disable_query_log
+--disable_result_log
+--disable_abort_on_error
+
+let $check_ipv4_mapped_supported= 1;
+
+connect (checkcon123456789a,::FFFF:127.0.0.1,root,,test);
+
+if($mysql_errno)
+{
+ let $check_ipv4_mapped_supported=0;
+ if(!$check_ipv4_mapped_just_check)
+ {
+ skip No mapped IPv4 support;
+ }
+}
+
+if(!$mysql_errno)
+{
+ disconnect checkcon123456789a;
+ --source include/wait_until_disconnected.inc
+}
+
+connection default;
+
+--enable_abort_on_error
+--enable_result_log
+--enable_query_log
+
+#==============================================================================
+# Set the localhost IP default to use when establishing connections
+#
+#==============================================================================
+let $my_localhost=127.0.0.1;
+
+if($check_ipv6_supported)
+{
+ let $my_localhost=::1;
+}
+
+if($check_ipv4_mapped_supported)
+{
+ let $my_localhost=::ffff:127.0.0.1;
+}
+
+if($my_socket_debug)
+{
+ --echo IPV6=$check_ipv6_supported, IPV4_MAPPED=$check_ipv4_mapped_supported, LOCALHOST=$my_localhost
+}
+#==============================================================================
+
diff --git a/mysql-test/suite/perfschema/include/socket_summary_check.inc b/mysql-test/suite/perfschema/include/socket_summary_check.inc
new file mode 100644
index 00000000000..10258cadb1b
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/socket_summary_check.inc
@@ -0,0 +1,227 @@
+# include/socket_summary_check.inc
+#
+# Auxiliary routine to be sourced by socket_summary_by_instance_func.test
+# or other routines sourced within this script.
+#
+# Purpose
+# Various checks for the content of the table socket_summary_by_instance.
+#
+# It is intentional that we do not try to cram as much checks as possible into
+# one single SQL statement.
+# Reasons:
+# - We check performance_schema here and NOT something like optimizer.
+# - This test should work even if some other feature has become buggy.
+# - In case some check gives unexpected results than we print the
+# relevant content of the table and the values which we expect.
+# In case of all checks in one statement such a printout would be too huge.
+#
+# IMPORTANT:
+# The maximum number of rows which the table socket_summary_by_instance
+# can keep is limited via the system variables max_socket_classes and
+# max_socket_instances. We are running with the default values here.
+# They are sufficient high so that these limits cannot harm the current test.
+# FIXME: Check at the beginning of the test that the limits are sufficient
+# for the current test.
+#
+
+--disable_query_log
+# Insert the current state into mysqltest.my_socket_summary_by_instance.
+eval $insert_after;
+--enable_query_log
+--enable_result_log
+
+
+# 1. The content of socket_summary_by_instance must be consistent to the
+# content of socket_instances
+#=======================================================================
+let $part1=
+FROM performance_schema.socket_summary_by_instance
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN)
+ NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN
+FROM performance_schema.socket_instances);
+if(`SELECT COUNT(*) $part1`)
+{
+ --echo # There is an inconsistency between the content of the tables
+ --echo # socket_instances and socket_summary_by_instance
+ --echo #
+ eval
+ SELECT 'not in socket_instances' AS state, EVENT_NAME, OBJECT_INSTANCE_BEGIN
+ $part1;
+}
+
+--vertical_results
+
+
+# 2. The computation of statistics must be roughly correct.
+#
+# If we run this check sufficient frequent than AVG_TIMER_* can be removed from other checks.
+#===============================================================================================
+let $my_lo= 0.98;
+let $my_hi= 1.02;
+
+let $my_rules=
+COUNT_STAR * AVG_TIMER_WAIT BETWEEN SUM_TIMER_WAIT * $my_lo AND SUM_TIMER_WAIT * $my_hi AND
+COUNT_READ * AVG_TIMER_READ BETWEEN SUM_TIMER_READ * $my_lo AND SUM_TIMER_READ * $my_hi AND
+COUNT_WRITE * AVG_TIMER_WRITE BETWEEN SUM_TIMER_WRITE * $my_lo AND SUM_TIMER_WRITE * $my_hi AND
+COUNT_MISC * AVG_TIMER_MISC BETWEEN SUM_TIMER_MISC * $my_lo AND SUM_TIMER_MISC * $my_hi;
+
+let $part=
+SUM_TIMER_WAIT * $my_lo, COUNT_STAR * AVG_TIMER_WAIT, SUM_TIMER_WAIT * $my_hi,
+ COUNT_STAR, SUM_TIMER_WAIT, AVG_TIMER_WAIT,
+SUM_TIMER_READ * $my_lo, COUNT_READ * AVG_TIMER_READ, SUM_TIMER_READ * $my_hi,
+ COUNT_READ, SUM_TIMER_READ, AVG_TIMER_READ,
+SUM_TIMER_WRITE * $my_lo, COUNT_WRITE * AVG_TIMER_WRITE, SUM_TIMER_WRITE * $my_hi,
+ COUNT_WRITE, SUM_TIMER_WRITE, AVG_TIMER_WRITE,
+SUM_TIMER_MISC * $my_lo, COUNT_MISC * AVG_TIMER_MISC, SUM_TIMER_MISC * $my_hi,
+ COUNT_MISC, SUM_TIMER_MISC, AVG_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After' AND NOT ($my_rules)
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ let $print_details= 1;
+}
+
+
+# 3. Check the relation between AVG_*, MIN_TIMER_* and MAX_TIMER_*
+#
+# If we run this check sufficient frequent than only the following
+# additional checks are required:
+# a) If (SUM_TIMER_*(new) - SUM_TIMER_*(old) < MIN_TIMER_*(old))
+# than MIN_TIMER_*(new) = SUM_TIMER_*(new) - SUM_TIMER_*(old).
+# b) If (SUM_TIMER_*(new) - SUM_TIMER_*(old) > MAX_TIMER_*(old))
+# than MAX_TIMER_*(new) = SUM_TIMER_*(new) - SUM_TIMER_*(old).
+# in order to remove MIN_TIMER_* and MAX_TIMER_* from other checks
+# Between the states "new" and "old" must be exact one statement.
+#-----------------------------------------------------------------------------------------------
+let $my_rules=
+AVG_TIMER_WAIT >= MIN_TIMER_WAIT AND MAX_TIMER_WAIT >= AVG_TIMER_WAIT AND
+AVG_TIMER_READ >= MIN_TIMER_READ AND MAX_TIMER_READ >= AVG_TIMER_READ AND
+AVG_TIMER_WRITE >= MIN_TIMER_WRITE AND MAX_TIMER_WRITE >= AVG_TIMER_WRITE AND
+AVG_TIMER_MISC >= MIN_TIMER_MISC AND MAX_TIMER_MISC >= AVG_TIMER_MISC;
+
+let $part=
+MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT,
+MIN_TIMER_READ, AVG_TIMER_READ, MAX_TIMER_READ,
+MIN_TIMER_WRITE, AVG_TIMER_WRITE, MAX_TIMER_WRITE,
+MIN_TIMER_MISC, AVG_TIMER_MISC, MAX_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After' AND NOT ($my_rules)
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ let $print_details= 1;
+}
+
+
+# 4. Check the aggregate columns COUNT_STAR and SUM_TIMER_WAIT
+#
+# The specification says:
+# The columns COUNT_STAR, SUM/MIN/AVG/MAX TIMER_WAIT aggregates all operations.
+#
+# If we run this check sufficient frequent than COUNT_STAR and SUM_TIMER_WAIT
+# can be removed from other checks.
+#---------------------------------------------------------------------------------
+let $my_rules=
+COUNT_STAR = COUNT_READ + COUNT_WRITE + COUNT_MISC AND
+SUM_TIMER_WAIT = SUM_TIMER_READ + SUM_TIMER_WRITE + SUM_TIMER_MISC;
+
+let $part=
+COUNT_STAR, COUNT_READ + COUNT_WRITE + COUNT_MISC, COUNT_READ, COUNT_WRITE, COUNT_MISC,
+SUM_TIMER_WAIT, SUM_TIMER_READ + SUM_TIMER_WRITE + SUM_TIMER_MISC, SUM_TIMER_READ,
+SUM_TIMER_WRITE, SUM_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ let $print_details= 1;
+}
+
+
+# 5. Check the aggregate column MIN_TIMER_WAIT
+#
+# If we run this check sufficient frequent than MIN_TIMER_WAIT
+# can be removed from other checks.
+#---------------------------------------------------------------------------------
+let $my_rules=
+MIN_TIMER_WAIT >= mysqltest.min_of_triple(MIN_TIMER_READ,MIN_TIMER_WRITE,MIN_TIMER_MISC);
+
+let $part=
+MIN_TIMER_WAIT,
+mysqltest.min_of_triple(MIN_TIMER_READ, MIN_TIMER_WRITE, MIN_TIMER_MISC) AS "Min_of_Triple",
+MIN_TIMER_READ, MIN_TIMER_WRITE, MIN_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ let $print_details= 1;
+}
+
+
+# 6. Check the aggregate column MAX_TIMER_WAIT
+#
+# If we run this check sufficient frequent than MAX_TIMER_WAIT
+# can be removed from other checks.
+#---------------------------------------------------------------------------------
+let $my_rules=
+MAX_TIMER_WAIT >= mysqltest.max_of_triple(MAX_TIMER_READ,MAX_TIMER_WRITE,MAX_TIMER_MISC);
+
+let $part=
+MAX_TIMER_WAIT,
+mysqltest.max_of_triple(MAX_TIMER_READ, MAX_TIMER_WRITE, MAX_TIMER_MISC) AS "Max_of_Triple",
+MAX_TIMER_READ, MAX_TIMER_WRITE, MAX_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ let $print_details= 1;
+}
+
+--horizontal_results
+
diff --git a/mysql-test/suite/perfschema/include/socket_summary_check_dbg.inc b/mysql-test/suite/perfschema/include/socket_summary_check_dbg.inc
new file mode 100644
index 00000000000..64ee19c3d9b
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/socket_summary_check_dbg.inc
@@ -0,0 +1,236 @@
+# include/socket_summary_check.inc
+#
+# Auxiliary routine to be sourced by socket_summary_by_instance_func.test
+# or other routines sourced within this script.
+#
+# Purpose
+# Various checks for the content of the table socket_summary_by_instance.
+#
+# It is intentional that we do not try to cram as much checks as possible into
+# one single SQL statement.
+# Reasons:
+# - We check performance_schema here and NOT something like optimizer.
+# - This test should work even if some other feature has become buggy.
+# - In case some check gives unexpected results than we print the
+# relevant content of the table and the values which we expect.
+# In case of all checks in one statement such a printout would be too huge.
+#
+# IMPORTANT:
+# The maximum number of rows which the table socket_summary_by_instance
+# can keep is limited via the system variables max_socket_classes and
+# max_socket_instances. We are running with the default values here.
+# They are sufficient high so that these limits cannot harm the current test.
+# FIXME: Check at the beginning of the test that the limits are sufficient
+# for the current test.
+#
+
+--disable_query_log
+# Insert the current state into mysqltest.my_socket_summary_by_instance.
+eval $insert_after;
+--enable_query_log
+
+
+# 1. The content of socket_summary_by_instance must be consistent to the
+# content of socket_instances
+#-----------------------------------------------------------------------
+let $part1=
+FROM performance_schema.socket_summary_by_instance
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN)
+ NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN
+FROM performance_schema.socket_instances);
+if(`SELECT COUNT(*) $part1`)
+{
+ --echo # There is an inconsistency between the content of the tables
+ --echo # socket_instances and socket_summary_by_instance
+ --echo #
+ eval
+ SELECT 'not in socket_instances' AS state, EVENT_NAME, OBJECT_INSTANCE_BEGIN
+ $part1;
+ --echo # abort 1
+ # exit;
+}
+
+--vertical_results
+
+
+# 2. The computation of statistics must be roughly correct.
+#
+# If we run this check sufficient frequent than AVG_TIMER_* can be removed from other checks.
+#-----------------------------------------------------------------------------------------------
+let $my_lo= 0.99;
+let $my_hi= 1.01;
+
+let $my_rules=
+COUNT_STAR * AVG_TIMER_WAIT BETWEEN SUM_TIMER_WAIT * $my_lo AND SUM_TIMER_WAIT * $my_hi AND
+COUNT_READ * AVG_TIMER_READ BETWEEN SUM_TIMER_READ * $my_lo AND SUM_TIMER_READ * $my_hi AND
+COUNT_WRITE * AVG_TIMER_WRITE BETWEEN SUM_TIMER_WRITE * $my_lo AND SUM_TIMER_WRITE * $my_hi AND
+COUNT_MISC * AVG_TIMER_MISC BETWEEN SUM_TIMER_MISC * $my_lo AND SUM_TIMER_MISC * $my_hi;
+
+let $part=
+SUM_TIMER_WAIT * $my_lo, COUNT_STAR * AVG_TIMER_WAIT, SUM_TIMER_WAIT * $my_hi, COUNT_STAR, SUM_TIMER_WAIT, AVG_TIMER_WAIT,
+SUM_TIMER_READ * $my_lo, COUNT_READ * AVG_TIMER_READ, SUM_TIMER_READ * $my_hi, COUNT_READ, SUM_TIMER_READ, AVG_TIMER_READ,
+SUM_TIMER_WRITE * $my_lo, COUNT_WRITE * AVG_TIMER_WRITE, SUM_TIMER_WRITE * $my_hi, COUNT_WRITE, SUM_TIMER_WRITE, AVG_TIMER_WRITE,
+SUM_TIMER_MISC * $my_lo, COUNT_MISC * AVG_TIMER_MISC, SUM_TIMER_MISC * $my_hi, COUNT_MISC, SUM_TIMER_MISC, AVG_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+
+ -- echo # Debug 2a: Dump socket_summary_by_instance
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM performance_schema.socket_summary_by_instance
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ --echo # abort 2
+# exit;
+}
+
+
+# 3. Check the relation between AVG_*, MIN_TIMER_* and MAX_TIMER_*
+#
+# If we run this check sufficient frequent than only the following
+# additional checks are required:
+# a) If (SUM_TIMER_*(new) - SUM_TIMER_*(old) < MIN_TIMER_*(old))
+# than MIN_TIMER_*(new) = SUM_TIMER_*(new) - SUM_TIMER_*(old).
+# b) If (SUM_TIMER_*(new) - SUM_TIMER_*(old) > MAX_TIMER_*(old))
+# than MAX_TIMER_*(new) = SUM_TIMER_*(new) - SUM_TIMER_*(old).
+# in order to remove MIN_TIMER_* and MAX_TIMER_* from other checks
+# Between the states "new" and "old" must be exact one statement.
+#-----------------------------------------------------------------------------------------------
+let $my_rules=
+AVG_TIMER_WAIT >= MIN_TIMER_WAIT AND MAX_TIMER_WAIT >= AVG_TIMER_WAIT AND
+AVG_TIMER_READ >= MIN_TIMER_READ AND MAX_TIMER_READ >= AVG_TIMER_READ AND
+AVG_TIMER_WRITE >= MIN_TIMER_WRITE AND MAX_TIMER_WRITE >= AVG_TIMER_WRITE AND
+AVG_TIMER_MISC >= MIN_TIMER_MISC AND MAX_TIMER_MISC >= AVG_TIMER_MISC;
+
+let $part=
+MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT,
+MIN_TIMER_READ, AVG_TIMER_READ, MAX_TIMER_READ,
+MIN_TIMER_WRITE, AVG_TIMER_WRITE, MAX_TIMER_WRITE,
+MIN_TIMER_MISC, AVG_TIMER_MISC, MAX_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ --echo # abort 3
+# exit;
+}
+
+
+# 4. Check the aggregate columns COUNT_STAR and SUM_TIMER_WAIT
+#
+# The specification says:
+# The columns COUNT_STAR, SUM/MIN/AVG/MAX TIMER_WAIT aggregates all operations.
+#
+# If we run this check sufficient frequent than COUNT_STAR and SUM_TIMER_WAIT
+# can be removed from other checks.
+#---------------------------------------------------------------------------------
+let $my_rules=
+COUNT_STAR = COUNT_READ + COUNT_WRITE + COUNT_MISC AND
+SUM_TIMER_WAIT = SUM_TIMER_READ + SUM_TIMER_WRITE + SUM_TIMER_MISC;
+
+let $part=
+COUNT_STAR, COUNT_READ + COUNT_WRITE + COUNT_MISC, COUNT_READ, COUNT_WRITE, COUNT_MISC,
+SUM_TIMER_WAIT, SUM_TIMER_READ + SUM_TIMER_WRITE + SUM_TIMER_MISC, SUM_TIMER_READ,
+SUM_TIMER_WRITE, SUM_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ --echo # abort 4
+# exit;
+}
+
+
+# 5. Check the aggregate column MIN_TIMER_WAIT
+#
+# If we run this check sufficient frequent than MIN_TIMER_WAIT
+# can be removed from other checks.
+#---------------------------------------------------------------------------------
+let $my_rules=
+MIN_TIMER_WAIT >= mysqltest.min_of_triple(MIN_TIMER_READ,MIN_TIMER_WRITE,MIN_TIMER_MISC);
+
+let $part=
+MIN_TIMER_WAIT,
+mysqltest.min_of_triple(MIN_TIMER_READ, MIN_TIMER_WRITE, MIN_TIMER_MISC) AS "Min_of_Triple",
+MIN_TIMER_READ, MIN_TIMER_WRITE, MIN_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ --echo # abort 5
+# exit;
+}
+
+
+# 6. Check the aggregate column MAX_TIMER_WAIT
+#
+# If we run this check sufficient frequent than MAX_TIMER_WAIT
+# can be removed from other checks.
+#---------------------------------------------------------------------------------
+let $my_rules=
+MAX_TIMER_WAIT >= mysqltest.max_of_triple(MAX_TIMER_READ,MAX_TIMER_WRITE,MAX_TIMER_MISC);
+
+let $part=
+MAX_TIMER_WAIT,
+mysqltest.max_of_triple(MAX_TIMER_READ, MAX_TIMER_WRITE, MAX_TIMER_MISC) AS "Max_of_Triple",
+MAX_TIMER_READ, MAX_TIMER_WRITE, MAX_TIMER_MISC;
+
+if(`SELECT SUM($my_rules) <> COUNT(*) FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'`)
+{
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ $part
+ FROM mysqltest.my_socket_summary_by_instance
+ WHERE pk = 'After'
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN;
+ --echo # abort 6
+# exit;
+}
+
+--horizontal_results
+
diff --git a/mysql-test/suite/perfschema/include/stage_cleanup.inc b/mysql-test/suite/perfschema/include/stage_cleanup.inc
new file mode 100644
index 00000000000..c3c9d911dbd
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/stage_cleanup.inc
@@ -0,0 +1,31 @@
+# Tests for the performance schema
+
+# ================================
+# HELPER include/stage_cleanup.inc
+# ================================
+
+--disable_query_log
+revoke all privileges, grant option from user1@localhost;
+revoke all privileges, grant option from user2@localhost;
+revoke all privileges, grant option from user3@localhost;
+revoke all privileges, grant option from user4@localhost;
+drop user user1@localhost;
+drop user user2@localhost;
+drop user user3@localhost;
+drop user user4@localhost;
+flush privileges;
+
+drop procedure dump_thread;
+drop procedure dump_one_thread;
+
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+ select * from test.setup_actors;
+drop table test.setup_actors;
+drop table test.t1;
+
+update performance_schema.threads set instrumented='YES';
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+
+--enable_query_log
+
diff --git a/mysql-test/suite/perfschema/include/stage_setup.inc b/mysql-test/suite/perfschema/include/stage_setup.inc
new file mode 100644
index 00000000000..85ade046939
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/stage_setup.inc
@@ -0,0 +1,138 @@
+# Tests for the performance schema
+
+# =============
+# DOCUMENTATION
+# =============
+
+# Verify critical stages of a statement
+#
+# The tests are written with the following helpers:
+# - include/stage_setup.inc
+# - include/stage_cleanup.inc
+#
+# Helpers are intended to be used as follows.
+#
+# A Typical test t/stage_xxx.test will consist of:
+# --source ../include/stage_setup.inc
+# ... test specific payload ...
+# --source ../include/stage_cleanup.inc
+# and a t/stage_xxx-master.opt file
+#
+# ==============================
+# HELPER include/stage_setup.inc
+# ==============================
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+
+--disable_query_log
+
+create user user1@localhost;
+grant ALL on *.* to user1@localhost;
+create user user2@localhost;
+grant ALL on *.* to user2@localhost;
+create user user3@localhost;
+grant ALL on *.* to user3@localhost;
+create user user4@localhost;
+grant ALL on *.* to user4@localhost;
+
+flush privileges;
+
+# Save the setup
+
+--disable_warnings
+drop table if exists test.setup_actors;
+drop table if exists test.t1;
+--enable_warnings
+
+create table test.t1(a varchar(64));
+
+create table test.setup_actors as
+ select * from performance_schema.setup_actors;
+
+# Only instrument the user connections
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user1', role= '%';
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user2', role= '%';
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user3', role= '%';
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user4', role= '%';
+
+update performance_schema.threads set instrumented='NO';
+
+# Only instrument a few events of each kind
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+
+# Start from a known clean state, to avoid noise from previous tests
+flush tables;
+flush status;
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+truncate performance_schema.events_stages_summary_global_by_event_name;
+truncate performance_schema.events_stages_history;
+truncate performance_schema.events_stages_history_long;
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+truncate performance_schema.events_statements_summary_global_by_event_name;
+truncate performance_schema.events_statements_history;
+truncate performance_schema.events_statements_history_long;
+
+--disable_warnings
+drop procedure if exists dump_thread;
+drop procedure if exists dump_one_thread;
+--enable_warnings
+
+delimiter $$;
+
+create procedure dump_thread()
+begin
+ call dump_one_thread('user1');
+ call dump_one_thread('user2');
+ call dump_one_thread('user3');
+ call dump_one_thread('user4');
+end
+$$
+
+create procedure dump_one_thread(in username varchar(64))
+begin
+ declare my_thread_id int;
+ declare my_statement_id int;
+
+ set my_thread_id = (select thread_id from performance_schema.threads
+ where processlist_user=username);
+
+ if (my_thread_id is not null) then
+ begin
+ # Dump the current statement for this thread
+ select username, event_name, sql_text
+ from performance_schema.events_statements_current
+ where thread_id = my_thread_id;
+
+ # Get the current statement
+ set my_statement_id = (select event_id from
+ performance_schema.events_statements_current
+ where thread_id = my_thread_id);
+
+ # Dump the stages for this statement
+ select username, event_name, nesting_event_type
+ from performance_schema.events_stages_current
+ where thread_id = my_thread_id
+ and nesting_event_id = my_statement_id
+ order by event_id asc;
+ 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
+ order by event_id asc;
+ end;
+ else
+ select username, "not found" as status;
+ end if;
+end
+$$
+
+delimiter ;$$
+
+--enable_query_log
diff --git a/mysql-test/suite/perfschema/include/start_server_common.inc b/mysql-test/suite/perfschema/include/start_server_common.inc
index 88f98f0c063..41dcfd8ecb5 100644
--- a/mysql-test/suite/perfschema/include/start_server_common.inc
+++ b/mysql-test/suite/perfschema/include/start_server_common.inc
@@ -4,33 +4,73 @@ show databases;
select count(*) from performance_schema.performance_timers;
select count(*) from performance_schema.setup_consumers;
-select count(*) > 0 from performance_schema.setup_instruments;
+# wait/io/table/sql/handler is a native instrument
+# wait/lock/table/sql/handler is a native instrument
+# idle/io/socket is a native instrument
+select count(*) > 3 from performance_schema.setup_instruments;
select count(*) from performance_schema.setup_timers;
# Make sure we don't crash, no matter what the starting parameters are
--disable_result_log
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
+select * from performance_schema.users;
--enable_result_log
# This has a stable output, printing the result:
-show variables like "performance_schema%";
+show variables where
+ `Variable_name` != "performance_schema_max_statement_classes" and
+ `Variable_name` like "performance_schema%";
# This has an unrepeatable output, it does depends too much on
# - the platform hardware (sizeof structures, padding)
diff --git a/mysql-test/suite/perfschema/include/table_aggregate_cleanup.inc b/mysql-test/suite/perfschema/include/table_aggregate_cleanup.inc
new file mode 100644
index 00000000000..11b354d8b3e
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/table_aggregate_cleanup.inc
@@ -0,0 +1,53 @@
+# Tests for the performance schema
+#
+
+# See comments in include/table_aggregate_setup.inc
+
+--disable_query_log
+
+revoke all privileges, grant option from user1@localhost;
+revoke all privileges, grant option from user2@localhost;
+revoke all privileges, grant option from user3@localhost;
+revoke all privileges, grant option from user4@localhost;
+drop user user1@localhost;
+drop user user2@localhost;
+drop user user3@localhost;
+drop user user4@localhost;
+flush privileges;
+
+drop procedure dump_thread;
+drop procedure dump_one_thread;
+drop prepare dump_waits_account;
+drop prepare dump_waits_user;
+drop prepare dump_waits_host;
+drop prepare dump_waits_global;
+drop prepare dump_waits_history;
+drop prepare dump_waits_index_io;
+drop prepare dump_waits_table_io;
+drop prepare dump_waits_table_lock;
+drop prepare dump_objects_summary;
+
+truncate table performance_schema.accounts;
+truncate table performance_schema.users;
+truncate table performance_schema.hosts;
+
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+ select * from test.setup_actors;
+drop table test.setup_actors;
+
+truncate table performance_schema.setup_objects;
+insert into performance_schema.setup_objects
+ select * from test.setup_objects;
+drop table test.setup_objects;
+
+drop table test.t1;
+drop table test.t2;
+drop table test.t3;
+
+update performance_schema.threads set instrumented='YES';
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+update performance_schema.setup_consumers set enabled='YES';
+
+--enable_query_log
+
diff --git a/mysql-test/suite/perfschema/include/table_aggregate_load.inc b/mysql-test/suite/perfschema/include/table_aggregate_load.inc
new file mode 100644
index 00000000000..f42ebe1fc76
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/table_aggregate_load.inc
@@ -0,0 +1,514 @@
+# Tests for the performance schema
+#
+
+# See comments in include/table_aggregate_setup.inc
+
+# Display the current setup used
+
+select * from performance_schema.setup_actors
+ order by USER, HOST, ROLE;
+
+select * from performance_schema.setup_objects
+ order by object_type, object_schema, object_name;
+
+select * from performance_schema.setup_consumers;
+
+# General cleanup
+
+flush tables;
+
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+
+# Check the configuration is ok
+show variables where
+ `Variable_name` != "performance_schema_max_statement_classes" and
+ `Variable_name` like "performance_schema%";
+show status like "performance_schema%";
+
+echo "================== Step 1 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+# Notes about this test
+#
+
+connect (con1, localhost, user1, , );
+select concat(current_user(), " is connected") as status;
+
+--connection default
+
+echo "================== Step 2 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--connection con1
+
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+select * from test.t2;
+select * from test.t3;
+# Full table scan
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+# Update with PK
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+# select with index
+select * from test.t1 where b=5;
+select * from test.t2 where b=5;
+select * from test.t3 where b=5;
+
+echo "================== con1 marker ==================";
+
+--connection default
+
+echo "================== Step 3 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+# Debugging helpers
+# select * from performance_schema.events_waits_history_long;
+# select PROCESSLIST_USER, PROCESSLIST_HOST, INSTRUMENTED from performance_schema.threads;
+
+connect (con2, localhost, user2, , );
+select concat(current_user(), " is connected") as status;
+
+--connection default
+
+echo "================== Step 4 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--connection con2
+
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+select * from test.t2;
+select * from test.t3;
+# Full table scan
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+# Update with PK
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+# select with index
+select * from test.t1 where b=5;
+select * from test.t2 where b=5;
+select * from test.t3 where b=5;
+
+echo "================== con2 marker ==================";
+
+--connection default
+
+echo "================== Step 5 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+connect (con3, localhost, user3, , );
+select concat(current_user(), " is connected") as status;
+
+--connection default
+
+echo "================== Step 6 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--connection con3
+
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+select * from test.t2;
+select * from test.t3;
+# Full table scan
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+# Update with PK
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+# select with index
+select * from test.t1 where b=5;
+select * from test.t2 where b=5;
+select * from test.t3 where b=5;
+
+echo "================== con3 marker ==================";
+
+--connection default
+
+echo "================== Step 7 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+connect (con4, localhost, user4, , );
+select concat(current_user(), " is connected") as status;
+
+--connection default
+
+echo "================== Step 8 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--connection con4
+
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+select * from test.t2;
+select * from test.t3;
+# Full table scan
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+# Update with PK
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+# select with index
+select * from test.t1 where b=5;
+select * from test.t2 where b=5;
+select * from test.t3 where b=5;
+
+echo "================== con4 marker ==================";
+
+--connection default
+
+echo "================== Step 9 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--connection con1
+
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+
+echo "================== con1 marker ==================";
+
+--connection default
+
+echo "================== Step 10 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--connection default
+
+flush tables;
+
+echo "================== flush marker ==================";
+
+echo "================== Step 11 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+set global read_only=1;
+set global read_only=0;
+
+echo "================== global read_only marker ==================";
+
+echo "================== Step 12 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--disconnect con1
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1';
+--source include/wait_condition.inc
+
+echo "================== con1 disconnected ==================";
+
+echo "================== Step 13 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--disconnect con2
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user2';
+--source include/wait_condition.inc
+
+echo "================== con2 disconnected ==================";
+
+echo "================== Step 14 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--disconnect con3
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user3';
+--source include/wait_condition.inc
+
+echo "================== con3 disconnected ==================";
+
+echo "================== Step 15 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--disconnect con4
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4';
+--source include/wait_condition.inc
+
+echo "================== con4 disconnected ==================";
+
+echo "================== Step 16 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+--connection default
+
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+
+echo "================== BY_THREAD truncated ==================";
+
+echo "================== Step 17 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+
+echo "================== BY_ACCOUNT truncated ==================";
+
+echo "================== Step 18 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+
+echo "================== BY_USER truncated ==================";
+
+echo "================== Step 19 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+
+echo "================== BY_HOST truncated ==================";
+
+echo "================== Step 21 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+truncate performance_schema.events_waits_summary_global_by_event_name;
+
+echo "================== GLOBAL truncated ==================";
+
+echo "================== Step 21 ==================";
+call dump_thread();
+execute dump_waits_account;
+execute dump_waits_user;
+execute dump_waits_host;
+execute dump_waits_global;
+execute dump_waits_history;
+execute dump_waits_index_io;
+execute dump_waits_table_io;
+execute dump_waits_table_lock;
+execute dump_objects_summary;
+
+# On test failures, may help to track the root cause
+show status like "performance_schema%";
+
diff --git a/mysql-test/suite/perfschema/include/table_aggregate_setup.inc b/mysql-test/suite/perfschema/include/table_aggregate_setup.inc
new file mode 100644
index 00000000000..79aa5482838
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/table_aggregate_setup.inc
@@ -0,0 +1,271 @@
+# Tests for the performance schema
+
+# =============
+# DOCUMENTATION
+# =============
+
+# Verify how table io is aggregated into various tables
+#
+# In the instance dimension:
+# - table_io_waits_summary_by_index_usage
+# - table_io_waits_summary_by_table
+# - table_lock_waits_summary_by_table
+# - objects_summary_global_by_type
+#
+# In the thread dimension:
+# - events_waits_summary_by_thread_by_event_name
+# - events_waits_summary_by_account_by_event_name
+# - events_waits_summary_by_user_by_event_name
+# - events_waits_summary_by_host_by_event_name
+#
+# Globally:
+# - events_waits_summary_global_by_event_name
+#
+# The tests are written with the following helpers:
+# - include/table_aggregate_setup.inc
+# - include/table_aggregate_load.inc
+# - include/table_aggregate_cleanup.inc
+#
+# Helpers are intended to be used as follows.
+#
+# A Typical test t/table_aggregate_xxx.test will consist of:
+# --source ../include/table_aggregate_setup.inc
+#
+# ... statements to modify the default configuration ...
+#
+# --source ../include/table_aggregate_load.inc
+# --source ../include/table_aggregate_cleanup.inc
+#
+# Naming conventions for t/table_aggregate_xxx.test are as follows:
+# t/<instrument>aggregate_<mode><actors><objects>
+#
+# <instrument> corresponds to different instruments settings
+# - table: both table io and table lock are instrumented
+# - table_io: only table io is instrumented
+# - table_lock: only table lock is instrumented
+#
+# <mode> corresponds to different consumers settings
+# - off: global_instrumentation OFF
+# - global: global_instrumentation ON, thread_instrumentation OFF
+# - thread: global_instrumentation ON, thread_instrumentation ON,
+# events_* consumers OFF
+# - history: global_instrumentation ON, thread_instrumentation ON,
+# events_* consumers ON
+#
+# <actors> corresponds to different setup_actors settings
+# - 4u: every test user (user1, user2, user3, user4) is ON
+# - 2u: (user1, user3) are ON, (user2, user4) are OFF
+#
+# <objects> corresponds to different setup_objects settings
+# - 3t: tables t1, t2 and t3 are ON
+# - 2t: tables t1 and t3 are ON, table t2 is OFF
+#
+
+# ========================================
+# HELPER include/table_aggregate_setup.inc
+# ========================================
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+--source ../include/wait_for_pfs_thread_count.inc
+
+--disable_query_log
+create user user1@localhost;
+grant ALL on *.* to user1@localhost;
+create user user2@localhost;
+grant ALL on *.* to user2@localhost;
+create user user3@localhost;
+grant ALL on *.* to user3@localhost;
+create user user4@localhost;
+grant ALL on *.* to user4@localhost;
+
+flush privileges;
+
+# Purge old users, hosts, user/host from previous tests
+truncate table performance_schema.accounts;
+truncate table performance_schema.users;
+truncate table performance_schema.hosts;
+
+# Save the setup
+
+--disable_warnings
+drop table if exists test.setup_actors;
+drop table if exists test.setup_objects;
+--enable_warnings
+
+create table test.setup_actors as
+ select * from performance_schema.setup_actors;
+
+create table test.setup_objects as
+ select * from performance_schema.setup_objects;
+
+# Only instrument the user connections (by default)
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user1', role= '%';
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user2', role= '%';
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user3', role= '%';
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user4', role= '%';
+
+# Only instrument test.t% tables (by default)
+truncate table performance_schema.setup_objects;
+insert into performance_schema.setup_objects
+ set object_type='TABLE', object_schema='test', object_name='t1', timed='YES';
+insert into performance_schema.setup_objects
+ set object_type='TABLE', object_schema='test', object_name='t2', timed='NO';
+insert into performance_schema.setup_objects
+ set object_type='TABLE', object_schema='test', object_name='t3', timed='NO';
+
+update performance_schema.threads set instrumented='NO';
+
+# Only instrument table io and lock (by default)
+update performance_schema.setup_instruments set enabled='NO', timed='NO';
+update performance_schema.setup_instruments set enabled='YES', timed='YES'
+ where name in ('wait/io/table/sql/handler',
+ 'wait/lock/table/sql/handler');
+
+# Enable all consumers (by default)
+update performance_schema.setup_consumers set enabled='YES';
+
+# Start from a known clean state, to avoid noise from previous tests
+flush tables;
+flush status;
+
+create table test.t1(a int, b int, c int, d int default 0,
+ primary key(a),
+ index index_b(b),
+ index index_cb(c, b));
+create table test.t2 like test.t1;
+create table test.t3 like test.t1;
+
+#
+# Note:
+# For test robustness and to avoid picking up noise from other tests scripts,
+# it is better to use:
+# in ('t1', 't2', 't3)
+# explicitly instead of:
+# like 't%'
+
+--disable_warnings
+drop procedure if exists dump_thread;
+drop procedure if exists dump_one_thread;
+--enable_warnings
+
+delimiter $$;
+
+create procedure dump_thread()
+begin
+ call dump_one_thread('user1');
+ call dump_one_thread('user2');
+ call dump_one_thread('user3');
+ call dump_one_thread('user4');
+end
+$$
+
+create procedure dump_one_thread(in username varchar(64))
+begin
+ declare my_thread_id int;
+
+ set my_thread_id = (select thread_id from performance_schema.threads
+ where processlist_user=username);
+
+ if (my_thread_id is not null) then
+ select username, event_name, count_star
+ from performance_schema.events_waits_summary_by_thread_by_event_name
+ where event_name in
+ ('wait/io/table/sql/handler',
+ 'wait/lock/table/sql/handler')
+ and thread_id = my_thread_id
+ order by event_name;
+ else
+ select username, "not found" as status;
+ end if;
+end
+$$
+
+delimiter ;$$
+
+prepare dump_waits_user from
+ "select user, event_name, count_star
+ from performance_schema.events_waits_summary_by_user_by_event_name
+ where user like \'user%\' and event_name in
+ (\'wait/io/table/sql/handler\',
+ \'wait/lock/table/sql/handler\')
+ order by user, event_name;";
+
+prepare dump_waits_account from
+ "select user, host, event_name, count_star
+ from performance_schema.events_waits_summary_by_account_by_event_name
+ where user like \'user%\' and event_name in
+ (\'wait/io/table/sql/handler\',
+ \'wait/lock/table/sql/handler\')
+ order by user, host, event_name;";
+
+prepare dump_waits_host from
+ "select host, event_name, count_star
+ from performance_schema.events_waits_summary_by_host_by_event_name
+ where host=\'localhost\' and event_name in
+ (\'wait/io/table/sql/handler\',
+ \'wait/lock/table/sql/handler\')
+ order by host, event_name;";
+
+prepare dump_waits_global from
+ "select event_name, count_star
+ from performance_schema.events_waits_summary_global_by_event_name
+ where event_name in
+ (\'wait/io/table/sql/handler\',
+ \'wait/lock/table/sql/handler\')
+ order by event_name;";
+
+prepare dump_waits_history from
+ "select event_name, count(event_name), object_type, object_schema, object_name
+ from performance_schema.events_waits_history_long
+ where event_name in
+ (\'wait/io/table/sql/handler\',
+ \'wait/lock/table/sql/handler\')
+ group by object_type, object_schema, object_name, event_name
+ order by object_type, object_schema, object_name, event_name;";
+
+prepare dump_waits_index_io from
+ "select object_type, object_schema, object_name, index_name,
+ count_star, count_read, count_write,
+ count_fetch, count_insert, count_update, count_delete
+ from performance_schema.table_io_waits_summary_by_index_usage
+ where object_type='TABLE' and object_schema='test'
+ and object_name in ('t1', 't2', 't3')
+ order by object_type, object_schema, object_name, index_name;";
+
+prepare dump_waits_table_io from
+ "select object_type, object_schema, object_name,
+ count_star, count_read, count_write,
+ count_fetch, count_insert, count_update, count_delete
+ from performance_schema.table_io_waits_summary_by_table
+ where object_type='TABLE' and object_schema='test'
+ and object_name in ('t1', 't2', 't3')
+ order by object_type, object_schema, object_name";
+
+prepare dump_waits_table_lock from
+ "select object_type, object_schema, object_name,
+ count_star, count_read, count_write,
+ count_read_normal, count_read_with_shared_locks,
+ count_read_high_priority, count_read_no_insert,
+ count_read_external,
+ count_write_delayed, count_write_low_priority,
+ count_write_external
+ from performance_schema.table_lock_waits_summary_by_table
+ where object_type='TABLE' and object_schema='test'
+ and object_name in ('t1', 't2', 't3')
+ order by object_type, object_schema, object_name";
+
+prepare dump_objects_summary from
+ "select object_type, object_schema, object_name, count_star
+ from performance_schema.objects_summary_global_by_type
+ where object_type='TABLE' and object_schema='test'
+ and object_name in ('t1', 't2', 't3')
+ order by object_type, object_schema, object_name";
+
+--enable_query_log
diff --git a/mysql-test/suite/perfschema/include/table_io_basic_dml.inc b/mysql-test/suite/perfschema/include/table_io_basic_dml.inc
new file mode 100644
index 00000000000..4fe2fd9dfb3
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/table_io_basic_dml.inc
@@ -0,0 +1,36 @@
+# Tests for PERFORMANCE_SCHEMA table io
+#
+# Payload fragment to test table io for basic DML.
+#
+# $table_item = <schema>.<tablename> must be set before sourcing this script.
+#
+
+insert into marker set a = 1;
+eval insert into $table_item set a = 'foo', b = 1;
+insert into marker set a = 1;
+eval insert into $table_item set a = 'foo', b = 2;
+insert into marker set a = 1;
+eval insert into $table_item set a = 'foo', b = 3;
+insert into marker set a = 1;
+eval select * from $table_item;
+insert into marker set a = 1;
+eval update $table_item set a = 'bar';
+insert into marker set a = 1;
+eval select * from $table_item limit 2;
+insert into marker set a = 1;
+eval delete from $table_item where b = 3;
+insert into marker set a = 1;
+# This may record a fetch for "deleted" records
+eval select * from $table_item;
+insert into marker set a = 1;
+eval optimize table $table_item;
+insert into marker set a = 1;
+# Same data after optimize
+eval select * from $table_item;
+insert into marker set a = 1;
+# truncate will fail for views
+--disable_abort_on_error
+eval truncate table $table_item;
+--enable_abort_on_error
+insert into marker set a = 1;
+
diff --git a/mysql-test/suite/perfschema/include/table_io_cleanup_helper.inc b/mysql-test/suite/perfschema/include/table_io_cleanup_helper.inc
new file mode 100644
index 00000000000..02957903762
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/table_io_cleanup_helper.inc
@@ -0,0 +1,10 @@
+# See related script table_io_setup_helper.inc
+
+# Cleanup
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
+
diff --git a/mysql-test/suite/perfschema/include/table_io_result_helper.inc b/mysql-test/suite/perfschema/include/table_io_result_helper.inc
new file mode 100644
index 00000000000..4732806488e
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/table_io_result_helper.inc
@@ -0,0 +1,23 @@
+# See related script table_io_setup_helper.inc
+
+# Stop table io recording
+update performance_schema.setup_consumers set enabled='NO';
+eval select event_name,
+ left(source, locate(":", source)) as short_source,
+ object_type, object_schema,
+ if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+ as pretty_name,
+ operation, number_of_bytes
+ from performance_schema.events_waits_history_long
+ where event_name like 'wait/io/table/%'
+ and object_schema in ($schema_to_dump)
+ order by thread_id, event_id;
+
+# In case of failures, this will tell if table io are lost.
+show status where Variable_name like 'performance_schema_%' and
+ Variable_name not like 'performance_schema_%_classes_lost';
+
+# Cleanup
+truncate performance_schema.events_waits_history_long;
+flush status;
+
diff --git a/mysql-test/suite/perfschema/include/table_io_setup_helper.inc b/mysql-test/suite/perfschema/include/table_io_setup_helper.inc
new file mode 100644
index 00000000000..b4c4b5fab69
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/table_io_setup_helper.inc
@@ -0,0 +1,58 @@
+# Performance schema test template
+
+# How to use this script in a test case
+# =====================================
+#
+# The general table io test template is as follows
+#
+# --source include/not_embedded.inc
+# --source include/have_perfschema.inc
+# --source ../include/table_io_setup_helper.inc
+# ... more setup scripts as needed ...
+# update performance_schema.setup_consumers set enabled='YES';
+# ... test payload here ...
+# ... optionally, add this insert between statements
+# ... to make the final output more readable
+# insert into test.marker set a=1;
+# ... more test payload here ...
+# ... optionaly, add the following line (by default, only "test" is dumped) ...
+# let $schema_to_dump="db1", "db2", "db3";
+# --source ../include/table_io_result_helper.inc
+# Optional: Repeat several times
+# update performance_schema.setup_consumers set enabled='YES';
+# ... test payload here ...
+# --source ../include/table_io_result_helper.inc
+# ... cleanup
+# --source ../include/table_io_cleanup_helper.inc
+#
+# (end of template)
+
+# Setup
+
+--disable_warnings
+drop table if exists test.marker;
+--enable_warnings
+
+# To be used in the test payload,
+# insert into marker makes the test output easier to read,
+# to separate table io events between statements.
+create table test.marker(a int);
+
+update performance_schema.setup_consumers set enabled='NO';
+
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+
+truncate table performance_schema.events_waits_history_long;
+
+# Reset lost counters to a known state
+flush status;
+
+# Make sure there is room to instrument tables from this test.
+flush tables;
+
+# By default, dump table io only for test.
+# A test can overide this
+let $schema_to_dump="test";
+
diff --git a/mysql-test/suite/perfschema/include/upgrade_check.inc b/mysql-test/suite/perfschema/include/upgrade_check.inc
index 52d4cfd1e63..79a81311b05 100644
--- a/mysql-test/suite/perfschema/include/upgrade_check.inc
+++ b/mysql-test/suite/perfschema/include/upgrade_check.inc
@@ -3,16 +3,14 @@
#
--source include/count_sessions.inc
---error 1
---exec $MYSQL_UPGRADE --skip-verbose --force > $out_file 2> $err_file
+--exec $MYSQL_UPGRADE --skip-verbose --force > $MYSQLTEST_VARDIR/tmp/out_file 2> $MYSQLTEST_VARDIR/tmp/err_file
--source include/wait_until_count_sessions.inc
-# Verify that mysql_upgrade complained about the performance_schema
+# Verify that mysql_upgrade does not complain about the performance_schema
--replace_regex /at line [0-9]+/at line ###/
---cat_file $err_file
---error 0,1
---remove_file $out_file
---error 0,1
---remove_file $err_file
+--cat_file $MYSQLTEST_VARDIR/tmp/err_file
+--remove_file $MYSQLTEST_VARDIR/tmp/out_file
+--remove_file $MYSQLTEST_VARDIR/tmp/err_file
+--remove_file $MYSQLD_DATADIR/mysql_upgrade_info
diff --git a/mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc b/mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc
new file mode 100644
index 00000000000..a2ed41d9d1b
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc
@@ -0,0 +1,20 @@
+# Tests for the performance schema
+# This helper can be used to enforce that no threads from previous
+# tests are still running, which can impact some test scripts.
+
+# Wait until there is only one session left, this one.
+
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist;
+--source include/wait_condition.inc
+
+# Threads are removed from information_schema.processlist
+# very soon, but continue to execute in the server,
+# before finally be removed from performance_schema.threads.
+# Because instrumentation is optional, we use "<=" here.
+
+let $wait_condition=
+ select count(*) <= 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND';
+--source include/wait_condition.inc
+
diff --git a/mysql-test/suite/perfschema/include/wait_till_sleep.inc b/mysql-test/suite/perfschema/include/wait_till_sleep.inc
new file mode 100644
index 00000000000..5f0f85948c7
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/wait_till_sleep.inc
@@ -0,0 +1,19 @@
+# Wait till the action of the connection using the DB = 'mysqltest' or
+# 'mysqlsupertest' is finished ( Command = 'Sleep').
+
+let $wait_timeout= 10;
+let $wait_condition=
+SELECT COUNT(*) = 1
+FROM performance_schema.threads
+WHERE processlist_db IN ('mysqltest','mysqlsupertest')
+ AND processlist_command = 'Sleep';
+--source include/wait_condition.inc
+if (!$success)
+{
+ --echo # Error: We did not reach the expected state where processlist_command = 'Sleep'
+ SELECT * FROM performance_schema.threads
+ WHERE processlist_db IN ('mysqltest','mysqlsupertest');
+ --echo # abort
+ exit;
+}
+
diff --git a/mysql-test/suite/perfschema/r/all_instances.result b/mysql-test/suite/perfschema/r/all_instances.result
deleted file mode 100644
index 6e4206b2b51..00000000000
--- a/mysql-test/suite/perfschema/r/all_instances.result
+++ /dev/null
@@ -1,162 +0,0 @@
-use performance_schema;
-select name from mutex_instances
-where name not rlike '/(DEBUG_SYNC::mutex)$'
- and name != 'wait/synch/mutex/mysys/BITMAP::mutex'
- group by name;
-name
-wait/synch/mutex/archive/archive_mutex
-wait/synch/mutex/aria/LOCK_trn_list
-wait/synch/mutex/aria/PAGECACHE::cache_lock
-wait/synch/mutex/aria/SERVICE_THREAD_CONTROL::LOCK_control
-wait/synch/mutex/aria/THR_LOCK_maria
-wait/synch/mutex/aria/TRANSLOG_BUFFER::mutex
-wait/synch/mutex/aria/TRANSLOG_DESCRIPTOR::dirty_buffer_mask_lock
-wait/synch/mutex/aria/TRANSLOG_DESCRIPTOR::file_header_lock
-wait/synch/mutex/aria/TRANSLOG_DESCRIPTOR::log_flush_lock
-wait/synch/mutex/aria/TRANSLOG_DESCRIPTOR::purger_lock
-wait/synch/mutex/aria/TRANSLOG_DESCRIPTOR::unfinished_files_lock
-wait/synch/mutex/blackhole/blackhole
-wait/synch/mutex/csv/tina
-wait/synch/mutex/memory/HP_SHARE::intern_lock
-wait/synch/mutex/myisam/MYISAM_SHARE::intern_lock
-wait/synch/mutex/mysys/KEY_CACHE::cache_lock
-wait/synch/mutex/mysys/LOCK_alarm
-wait/synch/mutex/mysys/LOCK_uuid_generator
-wait/synch/mutex/mysys/my_thread_var::mutex
-wait/synch/mutex/mysys/THR_LOCK::mutex
-wait/synch/mutex/mysys/THR_LOCK_charset
-wait/synch/mutex/mysys/THR_LOCK_heap
-wait/synch/mutex/mysys/THR_LOCK_isam
-wait/synch/mutex/mysys/THR_LOCK_lock
-wait/synch/mutex/mysys/THR_LOCK_malloc
-wait/synch/mutex/mysys/THR_LOCK_myisam
-wait/synch/mutex/mysys/THR_LOCK_myisam_mmap
-wait/synch/mutex/mysys/THR_LOCK_net
-wait/synch/mutex/mysys/THR_LOCK_open
-wait/synch/mutex/mysys/THR_LOCK_threads
-wait/synch/mutex/mysys/TMPDIR_mutex
-wait/synch/mutex/sql/Cversion_lock
-wait/synch/mutex/sql/Event_scheduler::LOCK_scheduler_state
-wait/synch/mutex/sql/hash_filo::lock
-wait/synch/mutex/sql/LOCK_active_mi
-wait/synch/mutex/sql/LOCK_audit_mask
-wait/synch/mutex/sql/LOCK_commit_ordered
-wait/synch/mutex/sql/LOCK_connection_count
-wait/synch/mutex/sql/LOCK_crypt
-wait/synch/mutex/sql/LOCK_delayed_create
-wait/synch/mutex/sql/LOCK_delayed_insert
-wait/synch/mutex/sql/LOCK_delayed_status
-wait/synch/mutex/sql/LOCK_des_key_file
-wait/synch/mutex/sql/LOCK_error_log
-wait/synch/mutex/sql/LOCK_error_messages
-wait/synch/mutex/sql/LOCK_event_queue
-wait/synch/mutex/sql/LOCK_gdl
-wait/synch/mutex/sql/LOCK_global_index_stats
-wait/synch/mutex/sql/LOCK_global_system_variables
-wait/synch/mutex/sql/LOCK_global_table_stats
-wait/synch/mutex/sql/LOCK_global_user_client_stats
-wait/synch/mutex/sql/LOCK_open
-wait/synch/mutex/sql/LOCK_plugin
-wait/synch/mutex/sql/LOCK_prepared_stmt_count
-wait/synch/mutex/sql/LOCK_prepare_ordered
-wait/synch/mutex/sql/LOCK_rpl_status
-wait/synch/mutex/sql/LOCK_server_started
-wait/synch/mutex/sql/LOCK_slave_list
-wait/synch/mutex/sql/LOCK_stats
-wait/synch/mutex/sql/LOCK_status
-wait/synch/mutex/sql/LOCK_thread_count
-wait/synch/mutex/sql/LOCK_user_conn
-wait/synch/mutex/sql/LOCK_user_locks
-wait/synch/mutex/sql/LOCK_uuid_short_generator
-wait/synch/mutex/sql/LOCK_xid_cache
-wait/synch/mutex/sql/LOG::LOCK_log
-wait/synch/mutex/sql/LOG_INFO::lock
-wait/synch/mutex/sql/Master_info::data_lock
-wait/synch/mutex/sql/Master_info::run_lock
-wait/synch/mutex/sql/Master_info::sleep_lock
-wait/synch/mutex/sql/MDL_map::mutex
-wait/synch/mutex/sql/MDL_wait::LOCK_wait_status
-wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index
-wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index
-wait/synch/mutex/sql/Query_cache::structure_guard_mutex
-wait/synch/mutex/sql/Relay_log_info::data_lock
-wait/synch/mutex/sql/Relay_log_info::log_space_lock
-wait/synch/mutex/sql/Relay_log_info::run_lock
-wait/synch/mutex/sql/Relay_log_info::sleep_lock
-wait/synch/mutex/sql/Slave_reporting_capability::err_lock
-wait/synch/mutex/sql/TABLE_SHARE::LOCK_ha_data
-wait/synch/mutex/sql/THD::LOCK_thd_data
-wait/synch/mutex/sql/THD::LOCK_wakeup_ready
-wait/synch/mutex/sql/tz_LOCK
-select name from rwlock_instances
-where name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock")
-group by name;
-name
-wait/synch/rwlock/aria/TRANSLOG_DESCRIPTOR::open_files_lock
-wait/synch/rwlock/myisam/MYISAM_SHARE::key_root_lock
-wait/synch/rwlock/myisam/MYISAM_SHARE::mmap_lock
-wait/synch/rwlock/mysys/SAFE_HASH::mutex
-wait/synch/rwlock/sql/LOCK_dboptions
-wait/synch/rwlock/sql/LOCK_grant
-wait/synch/rwlock/sql/LOCK_system_variables_hash
-wait/synch/rwlock/sql/LOCK_sys_init_connect
-wait/synch/rwlock/sql/LOCK_sys_init_slave
-wait/synch/rwlock/sql/LOGGER::LOCK_logger
-wait/synch/rwlock/sql/MDL_context::LOCK_waiting_for
-wait/synch/rwlock/sql/MDL_lock::rwlock
-wait/synch/rwlock/sql/THR_LOCK_servers
-wait/synch/rwlock/sql/THR_LOCK_udf
-select name from cond_instances where name not rlike '/(DEBUG_SYNC::cond)$' group by name;
-name
-wait/synch/cond/aria/SERVICE_THREAD_CONTROL::COND_control
-wait/synch/cond/aria/TRANSLOG_BUFFER::prev_sent_to_disk_cond
-wait/synch/cond/aria/TRANSLOG_BUFFER::waiting_filling_buffer
-wait/synch/cond/aria/TRANSLOG_DESCRIPTOR::log_flush_cond
-wait/synch/cond/aria/TRANSLOG_DESCRIPTOR::new_goal_cond
-wait/synch/cond/mysys/COND_alarm
-wait/synch/cond/mysys/my_thread_var::suspend
-wait/synch/cond/mysys/THR_COND_threads
-wait/synch/cond/sql/COND_flush_thread_cache
-wait/synch/cond/sql/COND_queue_state
-wait/synch/cond/sql/COND_rpl_status
-wait/synch/cond/sql/COND_server_started
-wait/synch/cond/sql/COND_thread_cache
-wait/synch/cond/sql/COND_thread_count
-wait/synch/cond/sql/Event_scheduler::COND_state
-wait/synch/cond/sql/Master_info::data_cond
-wait/synch/cond/sql/Master_info::sleep_cond
-wait/synch/cond/sql/Master_info::start_cond
-wait/synch/cond/sql/Master_info::stop_cond
-wait/synch/cond/sql/MDL_context::COND_wait_status
-wait/synch/cond/sql/MYSQL_BIN_LOG::COND_queue_busy
-wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond
-wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_queue_busy
-wait/synch/cond/sql/MYSQL_RELAY_LOG::update_cond
-wait/synch/cond/sql/Query_cache::COND_cache_status_changed
-wait/synch/cond/sql/Relay_log_info::data_cond
-wait/synch/cond/sql/Relay_log_info::log_space_cond
-wait/synch/cond/sql/Relay_log_info::sleep_cond
-wait/synch/cond/sql/Relay_log_info::start_cond
-wait/synch/cond/sql/Relay_log_info::stop_cond
-wait/synch/cond/sql/THD::COND_wakeup_ready
-select event_name from file_instances group by event_name;
-event_name
-wait/io/file/aria/control
-wait/io/file/aria/translog
-wait/io/file/myisam/dfile
-wait/io/file/myisam/kfile
-wait/io/file/mysys/charset
-wait/io/file/sql/casetest
-wait/io/file/sql/dbopt
-wait/io/file/sql/ERRMSG
-wait/io/file/sql/file_parser
-wait/io/file/sql/FRM
-wait/io/file/sql/pid
-wait/io/file/sql/query_log
-wait/io/file/sql/slow_log
-select name from threads group by name;
-name
-thread/aria/checkpoint_background
-thread/sql/main
-thread/sql/one_connection
-thread/sql/signal_handler
diff --git a/mysql-test/suite/perfschema/r/all_tests.result b/mysql-test/suite/perfschema/r/all_tests.result
new file mode 100644
index 00000000000..3f413ca9a1e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/all_tests.result
@@ -0,0 +1,21 @@
+drop table if exists t1;
+drop table if exists t2;
+create table t1 (test_name text);
+create table t2 (test_name text);
+load data infile "<MYSQLTEST_VARDIR>/tmp/perfschema-all_tests.txt" into table t1;
+insert into t2 select concat('ddl_', table_name, '.test') from information_schema.tables
+where table_schema='performance_schema';
+insert into t2 select concat('dml_', table_name, '.test') from information_schema.tables
+where table_schema='performance_schema';
+update t2 set test_name= replace(test_name, "events_waits_summary_", "ews_");
+update t2 set test_name= replace(test_name, "events_stages_summary_", "esgs_");
+update t2 set test_name= replace(test_name, "events_statements_summary_", "esms_");
+update t2 set test_name= replace(test_name, "file_summary_", "fs_");
+update t2 set test_name= replace(test_name, "objects_summary_", "os_");
+update t2 set test_name= replace(test_name, "table_io_waits_summary_", "tiws_");
+update t2 set test_name= replace(test_name, "table_lock_waits_summary_", "tlws_");
+delete from t2 where t2.test_name in (select t1.test_name from t1);
+select test_name as `MISSING DDL/DML TESTS` from t2;
+MISSING DDL/DML TESTS
+drop table t1;
+drop table t2;
diff --git a/mysql-test/suite/perfschema/r/bad_option_2.result b/mysql-test/suite/perfschema/r/bad_option_2.result
index d8fda2af3b6..b8fd2ff9a3c 100644
--- a/mysql-test/suite/perfschema/r/bad_option_2.result
+++ b/mysql-test/suite/perfschema/r/bad_option_2.result
@@ -1 +1 @@
-Found: ambiguous option '--performance-schema-max_=12'
+FOUND /ambiguous option '--performance-schema-max_=12'/ in bad_option_2.txt
diff --git a/mysql-test/suite/perfschema/r/binlog_edge_mix.result b/mysql-test/suite/perfschema/r/binlog_edge_mix.result
new file mode 100644
index 00000000000..b9673e74855
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/binlog_edge_mix.result
@@ -0,0 +1,178 @@
+set binlog_format=mixed;
+RESET MASTER;
+drop database if exists my_replicated_db;
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+create database my_replicated_db;
+create table my_replicated_db.my_tx_table(a bigint) engine = innodb;
+create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam;
+create table my_replicated_db.my_bh_table(a bigint) engine = blackhole;
+use test;
+drop table if exists marker_start;
+Warnings:
+Note 1051 Unknown table 'test.marker_start'
+use my_replicated_db;
+insert into my_tx_table(a)
+values (1000), (2000), (3000);
+insert into my_non_tx_table(a)
+values (1000), (2000), (3000);
+insert into my_bh_table(a)
+values (1000), (2000), (3000);
+use test;
+drop table if exists marker_insert_select;
+Warnings:
+Note 1051 Unknown table 'test.marker_insert_select'
+use my_replicated_db;
+insert into my_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_non_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_bh_table(a)
+select thread_id from performance_schema.threads;
+insert into my_tx_table(a)
+select id from information_schema.processlist;
+insert into my_non_tx_table(a)
+select id from information_schema.processlist;
+insert into my_bh_table(a)
+select id from information_schema.processlist;
+insert into my_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_bh_table(a)
+select thread_id from mysql.general_log;
+insert into my_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_bh_table(a)
+select thread_id from mysql.slow_log;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_bh_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_non_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_bh_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+insert into my_bh_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+use test;
+drop table if exists marker_multi_update;
+Warnings:
+Note 1051 Unknown table 'test.marker_multi_update'
+use my_replicated_db;
+update my_tx_table, performance_schema.setup_instruments
+set my_tx_table.a = my_tx_table.a + 1,
+performance_schema.setup_instruments.timed= 'NO';
+update my_non_tx_table, performance_schema.setup_instruments
+set my_non_tx_table.a = my_non_tx_table.a + 1,
+performance_schema.setup_instruments.timed= 'NO';
+update my_bh_table, performance_schema.setup_instruments
+set my_bh_table.a = my_bh_table.a + 1,
+performance_schema.setup_instruments.timed= 'NO';
+use test;
+drop table if exists marker_multi_delete;
+Warnings:
+Note 1051 Unknown table 'test.marker_multi_delete'
+use my_replicated_db;
+insert into performance_schema.setup_actors
+values ('FOO', 'FOO', 'FOO');
+delete my_tx_table.*, performance_schema.setup_actors.*
+from my_tx_table, performance_schema.setup_actors
+where my_tx_table.a != 1000
+or performance_schema.setup_actors.role='FOO';
+insert into performance_schema.setup_actors
+values ('BAR', 'BAR', 'BAR');
+delete my_non_tx_table.*, performance_schema.setup_actors.*
+from my_non_tx_table, performance_schema.setup_actors
+where my_non_tx_table.a != 1000
+or performance_schema.setup_actors.role='BAR';
+insert into performance_schema.setup_actors
+values ('BAZ', 'BAZ', 'BAZ');
+delete my_bh_table.*, performance_schema.setup_actors.*
+from my_bh_table, performance_schema.setup_actors
+where my_bh_table.a != 1000
+or performance_schema.setup_actors.role='BAZ';
+use test;
+drop table if exists marker_end;
+Warnings:
+Note 1051 Unknown table 'test.marker_end'
+drop database my_replicated_db;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # drop database if exists my_replicated_db
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT' COLLATE 'latin1_swedish_ci'))
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # create database my_replicated_db
+master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_tx_table(a bigint) engine = innodb
+master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam
+master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_bh_table(a bigint) engine = blackhole
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+values (1000), (2000), (3000)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+values (1000), (2000), (3000)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+values (1000), (2000), (3000)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_bh_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+select id from information_schema.processlist
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+select id from information_schema.processlist
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+select id from information_schema.processlist
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_update` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
+master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
+master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_delete` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
+master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
+master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
+master-bin.000001 # Query # # drop database my_replicated_db
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors values ('%', '%', '%');
diff --git a/mysql-test/suite/perfschema/r/binlog_edge_row.result b/mysql-test/suite/perfschema/r/binlog_edge_row.result
new file mode 100644
index 00000000000..40595a804f7
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/binlog_edge_row.result
@@ -0,0 +1,183 @@
+set binlog_format=row;
+RESET MASTER;
+drop database if exists my_replicated_db;
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+create database my_replicated_db;
+create table my_replicated_db.my_tx_table(a bigint) engine = innodb;
+create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam;
+create table my_replicated_db.my_bh_table(a bigint) engine = blackhole;
+use test;
+drop table if exists marker_start;
+Warnings:
+Note 1051 Unknown table 'test.marker_start'
+use my_replicated_db;
+insert into my_tx_table(a)
+values (1000), (2000), (3000);
+insert into my_non_tx_table(a)
+values (1000), (2000), (3000);
+insert into my_bh_table(a)
+values (1000), (2000), (3000);
+use test;
+drop table if exists marker_insert_select;
+Warnings:
+Note 1051 Unknown table 'test.marker_insert_select'
+use my_replicated_db;
+insert into my_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_non_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_bh_table(a)
+select thread_id from performance_schema.threads;
+insert into my_tx_table(a)
+select id from information_schema.processlist;
+insert into my_non_tx_table(a)
+select id from information_schema.processlist;
+insert into my_bh_table(a)
+select id from information_schema.processlist;
+insert into my_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_bh_table(a)
+select thread_id from mysql.general_log;
+insert into my_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_bh_table(a)
+select thread_id from mysql.slow_log;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_bh_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_non_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_bh_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+insert into my_bh_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+use test;
+drop table if exists marker_multi_update;
+Warnings:
+Note 1051 Unknown table 'test.marker_multi_update'
+use my_replicated_db;
+update my_tx_table, performance_schema.setup_instruments
+set my_tx_table.a = my_tx_table.a + 1,
+performance_schema.setup_instruments.timed= 'NO';
+update my_non_tx_table, performance_schema.setup_instruments
+set my_non_tx_table.a = my_non_tx_table.a + 1,
+performance_schema.setup_instruments.timed= 'NO';
+update my_bh_table, performance_schema.setup_instruments
+set my_bh_table.a = my_bh_table.a + 1,
+performance_schema.setup_instruments.timed= 'NO';
+Warnings:
+Warning 1870 Row events are not logged for UPDATE statements that modify BLACKHOLE tables in row format. Table(s): 'my_bh_table.'
+use test;
+drop table if exists marker_multi_delete;
+Warnings:
+Note 1051 Unknown table 'test.marker_multi_delete'
+use my_replicated_db;
+insert into performance_schema.setup_actors
+values ('FOO', 'FOO', 'FOO');
+delete my_tx_table.*, performance_schema.setup_actors.*
+from my_tx_table, performance_schema.setup_actors
+where my_tx_table.a != 1000
+or performance_schema.setup_actors.role='FOO';
+insert into performance_schema.setup_actors
+values ('BAR', 'BAR', 'BAR');
+delete my_non_tx_table.*, performance_schema.setup_actors.*
+from my_non_tx_table, performance_schema.setup_actors
+where my_non_tx_table.a != 1000
+or performance_schema.setup_actors.role='BAR';
+insert into performance_schema.setup_actors
+values ('BAZ', 'BAZ', 'BAZ');
+delete my_bh_table.*, performance_schema.setup_actors.*
+from my_bh_table, performance_schema.setup_actors
+where my_bh_table.a != 1000
+or performance_schema.setup_actors.role='BAZ';
+Warnings:
+Warning 1870 Row events are not logged for DELETE statements that modify BLACKHOLE tables in row format. Table(s): 'my_bh_table.'
+use test;
+drop table if exists marker_end;
+Warnings:
+Note 1051 Unknown table 'test.marker_end'
+drop database my_replicated_db;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # drop database if exists my_replicated_db
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (mtr.test_suppressions)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # create database my_replicated_db
+master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_tx_table(a bigint) engine = innodb
+master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam
+master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_bh_table(a bigint) engine = blackhole
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_bh_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_bh_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_bh_table)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_update` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
+master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
+master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_delete` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_tx_table)
+master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (my_replicated_db.my_non_tx_table)
+master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
+master-bin.000001 # Query # # drop database my_replicated_db
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors values ('%', '%', '%');
diff --git a/mysql-test/suite/perfschema/r/binlog_edge_stmt.result b/mysql-test/suite/perfschema/r/binlog_edge_stmt.result
new file mode 100644
index 00000000000..58501951400
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/binlog_edge_stmt.result
@@ -0,0 +1,258 @@
+set binlog_format=statement;
+RESET MASTER;
+drop database if exists my_replicated_db;
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+create database my_replicated_db;
+create table my_replicated_db.my_tx_table(a bigint) engine = innodb;
+create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam;
+create table my_replicated_db.my_bh_table(a bigint) engine = blackhole;
+use test;
+drop table if exists marker_start;
+Warnings:
+Note 1051 Unknown table 'test.marker_start'
+use my_replicated_db;
+insert into my_tx_table(a)
+values (1000), (2000), (3000);
+insert into my_non_tx_table(a)
+values (1000), (2000), (3000);
+insert into my_bh_table(a)
+values (1000), (2000), (3000);
+use test;
+drop table if exists marker_insert_select;
+Warnings:
+Note 1051 Unknown table 'test.marker_insert_select'
+use my_replicated_db;
+insert into my_tx_table(a)
+select thread_id from performance_schema.threads;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_non_tx_table(a)
+select thread_id from performance_schema.threads;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_bh_table(a)
+select thread_id from performance_schema.threads;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_tx_table(a)
+select id from information_schema.processlist;
+insert into my_non_tx_table(a)
+select id from information_schema.processlist;
+insert into my_bh_table(a)
+select id from information_schema.processlist;
+insert into my_tx_table(a)
+select thread_id from mysql.general_log;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_non_tx_table(a)
+select thread_id from mysql.general_log;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_bh_table(a)
+select thread_id from mysql.general_log;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_tx_table(a)
+select thread_id from mysql.slow_log;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_non_tx_table(a)
+select thread_id from mysql.slow_log;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_bh_table(a)
+select thread_id from mysql.slow_log;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_bh_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_non_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_bh_table(a)
+select Master_log_pos from mysql.slave_master_info;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+insert into my_bh_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
+use test;
+drop table if exists marker_multi_update;
+Warnings:
+Note 1051 Unknown table 'test.marker_multi_update'
+use my_replicated_db;
+update my_tx_table, performance_schema.setup_instruments
+set my_tx_table.a = my_tx_table.a + 1,
+performance_schema.setup_instruments.timed= 'NO';
+update my_non_tx_table, performance_schema.setup_instruments
+set my_non_tx_table.a = my_non_tx_table.a + 1,
+performance_schema.setup_instruments.timed= 'NO';
+update my_bh_table, performance_schema.setup_instruments
+set my_bh_table.a = my_bh_table.a + 1,
+performance_schema.setup_instruments.timed= 'NO';
+use test;
+drop table if exists marker_multi_delete;
+Warnings:
+Note 1051 Unknown table 'test.marker_multi_delete'
+use my_replicated_db;
+insert into performance_schema.setup_actors
+values ('FOO', 'FOO', 'FOO');
+delete my_tx_table.*, performance_schema.setup_actors.*
+from my_tx_table, performance_schema.setup_actors
+where my_tx_table.a != 1000
+or performance_schema.setup_actors.role='FOO';
+insert into performance_schema.setup_actors
+values ('BAR', 'BAR', 'BAR');
+delete my_non_tx_table.*, performance_schema.setup_actors.*
+from my_non_tx_table, performance_schema.setup_actors
+where my_non_tx_table.a != 1000
+or performance_schema.setup_actors.role='BAR';
+insert into performance_schema.setup_actors
+values ('BAZ', 'BAZ', 'BAZ');
+delete my_bh_table.*, performance_schema.setup_actors.*
+from my_bh_table, performance_schema.setup_actors
+where my_bh_table.a != 1000
+or performance_schema.setup_actors.role='BAZ';
+use test;
+drop table if exists marker_end;
+Warnings:
+Note 1051 Unknown table 'test.marker_end'
+drop database my_replicated_db;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # drop database if exists my_replicated_db
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT' COLLATE 'latin1_swedish_ci'))
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # create database my_replicated_db
+master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_tx_table(a bigint) engine = innodb
+master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_non_tx_table(a bigint) engine = myisam
+master-bin.000001 # Query # # use `test`; create table my_replicated_db.my_bh_table(a bigint) engine = blackhole
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+values (1000), (2000), (3000)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+values (1000), (2000), (3000)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+values (1000), (2000), (3000)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+select thread_id from performance_schema.threads
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+select thread_id from performance_schema.threads
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+select thread_id from performance_schema.threads
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+select id from information_schema.processlist
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+select id from information_schema.processlist
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+select id from information_schema.processlist
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+select thread_id from mysql.general_log
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+select thread_id from mysql.general_log
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+select thread_id from mysql.general_log
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+select thread_id from mysql.slow_log
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+select thread_id from mysql.slow_log
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+select thread_id from mysql.slow_log
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+select Master_log_pos from mysql.slave_master_info
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+select Master_log_pos from mysql.slave_master_info
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+select Master_log_pos from mysql.slave_master_info
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `my_replicated_db`; insert into my_bh_table(a)
+select Relay_log_pos from mysql.slave_worker_info
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_update` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_delete` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
+master-bin.000001 # Query # # drop database my_replicated_db
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors values ('%', '%', '%');
diff --git a/mysql-test/suite/perfschema/r/binlog_mix.result b/mysql-test/suite/perfschema/r/binlog_mix.result
index 97f76619619..f5964db4c28 100644
--- a/mysql-test/suite/perfschema/r/binlog_mix.result
+++ b/mysql-test/suite/perfschema/r/binlog_mix.result
@@ -24,19 +24,25 @@ drop table test.t2;
update performance_schema.setup_instruments set enabled='YES'
where name like "wait/synch/rwlock/sql/%"
and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table test.t1 (thread_id integer)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table test.t2 (name varchar(128))
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
diff --git a/mysql-test/suite/perfschema/r/binlog_ok_mix.result b/mysql-test/suite/perfschema/r/binlog_ok_mix.result
new file mode 100644
index 00000000000..3e6237e1256
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/binlog_ok_mix.result
@@ -0,0 +1,119 @@
+set binlog_format=mixed;
+RESET MASTER;
+drop database if exists my_local_db;
+create database my_local_db;
+create table my_local_db.my_tx_table(a bigint) engine = innodb;
+create table my_local_db.my_non_tx_table(a bigint) engine = myisam;
+use test;
+drop table if exists marker_start;
+Warnings:
+Note 1051 Unknown table 'test.marker_start'
+use my_local_db;
+insert into my_tx_table(a)
+values (1000), (2000), (3000);
+insert into my_non_tx_table(a)
+values (1000), (2000), (3000);
+use test;
+drop table if exists marker_truncate;
+Warnings:
+Note 1051 Unknown table 'test.marker_truncate'
+use performance_schema;
+truncate table events_waits_history;
+truncate table events_waits_history_long;
+use test;
+truncate table performance_schema.events_statements_history_long;
+truncate table performance_schema.host_cache;
+use test;
+drop table if exists marker_update;
+Warnings:
+Note 1051 Unknown table 'test.marker_update'
+use performance_schema;
+update setup_instruments set enabled='NO';
+update setup_instruments set timed='NO';
+use test;
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+update performance_schema.threads set instrumented='YES';
+use test;
+drop table if exists marker_insert;
+Warnings:
+Note 1051 Unknown table 'test.marker_insert'
+insert into performance_schema.setup_actors(`user`, `host`, `role`)
+values ('XXX', 'XXX', 'XXX'),
+('YYY', 'YYY', 'YYY'),
+('ZZZ', 'ZZZ', 'ZZZ');
+select * from performance_schema.setup_actors
+where user in ('XXX', 'YYY', 'ZZZ') order by user;
+HOST USER ROLE
+XXX XXX XXX
+YYY YYY YYY
+ZZZ ZZZ ZZZ
+insert into performance_schema.setup_objects
+(object_type, object_schema, object_name, enabled, timed)
+values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'),
+('TABLE', 'DB1', 'BBB', 'NO', 'NO'),
+('TABLE', 'DB2', 'CCC', 'YES', 'NO'),
+('TABLE', 'DB2', 'DDD', 'NO', 'YES');
+select * from performance_schema.setup_objects
+where object_schema like 'DB%' order by object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE DB1 AAA YES YES
+TABLE DB1 BBB NO NO
+TABLE DB2 CCC YES NO
+TABLE DB2 DDD NO YES
+use test;
+drop table if exists marker_insert_select;
+Warnings:
+Note 1051 Unknown table 'test.marker_insert_select'
+use my_local_db;
+insert into my_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_non_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_tx_table(a)
+select id from information_schema.processlist;
+insert into my_non_tx_table(a)
+select id from information_schema.processlist;
+insert into my_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_non_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+use test;
+drop table if exists marker_delete;
+Warnings:
+Note 1051 Unknown table 'test.marker_delete'
+delete from performance_schema.setup_actors
+where user in ('XXX', 'YYY', 'ZZZ');
+delete from performance_schema.setup_objects
+where object_schema like 'DB%';
+use test;
+drop table if exists marker_end;
+Warnings:
+Note 1051 Unknown table 'test.marker_end'
+drop database my_local_db;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; create table my_local_db.my_tx_table(a bigint) engine = innodb
+master-bin.000001 # Query # # use `test`; create table my_local_db.my_non_tx_table(a bigint) engine = myisam
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_truncate` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_update` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_delete` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
diff --git a/mysql-test/suite/perfschema/r/binlog_ok_row.result b/mysql-test/suite/perfschema/r/binlog_ok_row.result
new file mode 100644
index 00000000000..5cf9062138c
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/binlog_ok_row.result
@@ -0,0 +1,119 @@
+set binlog_format=row;
+RESET MASTER;
+drop database if exists my_local_db;
+create database my_local_db;
+create table my_local_db.my_tx_table(a bigint) engine = innodb;
+create table my_local_db.my_non_tx_table(a bigint) engine = myisam;
+use test;
+drop table if exists marker_start;
+Warnings:
+Note 1051 Unknown table 'test.marker_start'
+use my_local_db;
+insert into my_tx_table(a)
+values (1000), (2000), (3000);
+insert into my_non_tx_table(a)
+values (1000), (2000), (3000);
+use test;
+drop table if exists marker_truncate;
+Warnings:
+Note 1051 Unknown table 'test.marker_truncate'
+use performance_schema;
+truncate table events_waits_history;
+truncate table events_waits_history_long;
+use test;
+truncate table performance_schema.events_statements_history_long;
+truncate table performance_schema.host_cache;
+use test;
+drop table if exists marker_update;
+Warnings:
+Note 1051 Unknown table 'test.marker_update'
+use performance_schema;
+update setup_instruments set enabled='NO';
+update setup_instruments set timed='NO';
+use test;
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+update performance_schema.threads set instrumented='YES';
+use test;
+drop table if exists marker_insert;
+Warnings:
+Note 1051 Unknown table 'test.marker_insert'
+insert into performance_schema.setup_actors(`user`, `host`, `role`)
+values ('XXX', 'XXX', 'XXX'),
+('YYY', 'YYY', 'YYY'),
+('ZZZ', 'ZZZ', 'ZZZ');
+select * from performance_schema.setup_actors
+where user in ('XXX', 'YYY', 'ZZZ') order by user;
+HOST USER ROLE
+XXX XXX XXX
+YYY YYY YYY
+ZZZ ZZZ ZZZ
+insert into performance_schema.setup_objects
+(object_type, object_schema, object_name, enabled, timed)
+values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'),
+('TABLE', 'DB1', 'BBB', 'NO', 'NO'),
+('TABLE', 'DB2', 'CCC', 'YES', 'NO'),
+('TABLE', 'DB2', 'DDD', 'NO', 'YES');
+select * from performance_schema.setup_objects
+where object_schema like 'DB%' order by object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE DB1 AAA YES YES
+TABLE DB1 BBB NO NO
+TABLE DB2 CCC YES NO
+TABLE DB2 DDD NO YES
+use test;
+drop table if exists marker_insert_select;
+Warnings:
+Note 1051 Unknown table 'test.marker_insert_select'
+use my_local_db;
+insert into my_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_non_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_tx_table(a)
+select id from information_schema.processlist;
+insert into my_non_tx_table(a)
+select id from information_schema.processlist;
+insert into my_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_non_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+use test;
+drop table if exists marker_delete;
+Warnings:
+Note 1051 Unknown table 'test.marker_delete'
+delete from performance_schema.setup_actors
+where user in ('XXX', 'YYY', 'ZZZ');
+delete from performance_schema.setup_objects
+where object_schema like 'DB%';
+use test;
+drop table if exists marker_end;
+Warnings:
+Note 1051 Unknown table 'test.marker_end'
+drop database my_local_db;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; create table my_local_db.my_tx_table(a bigint) engine = innodb
+master-bin.000001 # Query # # use `test`; create table my_local_db.my_non_tx_table(a bigint) engine = myisam
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_truncate` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_update` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_delete` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
diff --git a/mysql-test/suite/perfschema/r/binlog_ok_stmt.result b/mysql-test/suite/perfschema/r/binlog_ok_stmt.result
new file mode 100644
index 00000000000..fe71c3024d1
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/binlog_ok_stmt.result
@@ -0,0 +1,119 @@
+set binlog_format=statement;
+RESET MASTER;
+drop database if exists my_local_db;
+create database my_local_db;
+create table my_local_db.my_tx_table(a bigint) engine = innodb;
+create table my_local_db.my_non_tx_table(a bigint) engine = myisam;
+use test;
+drop table if exists marker_start;
+Warnings:
+Note 1051 Unknown table 'test.marker_start'
+use my_local_db;
+insert into my_tx_table(a)
+values (1000), (2000), (3000);
+insert into my_non_tx_table(a)
+values (1000), (2000), (3000);
+use test;
+drop table if exists marker_truncate;
+Warnings:
+Note 1051 Unknown table 'test.marker_truncate'
+use performance_schema;
+truncate table events_waits_history;
+truncate table events_waits_history_long;
+use test;
+truncate table performance_schema.events_statements_history_long;
+truncate table performance_schema.host_cache;
+use test;
+drop table if exists marker_update;
+Warnings:
+Note 1051 Unknown table 'test.marker_update'
+use performance_schema;
+update setup_instruments set enabled='NO';
+update setup_instruments set timed='NO';
+use test;
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+update performance_schema.threads set instrumented='YES';
+use test;
+drop table if exists marker_insert;
+Warnings:
+Note 1051 Unknown table 'test.marker_insert'
+insert into performance_schema.setup_actors(`user`, `host`, `role`)
+values ('XXX', 'XXX', 'XXX'),
+('YYY', 'YYY', 'YYY'),
+('ZZZ', 'ZZZ', 'ZZZ');
+select * from performance_schema.setup_actors
+where user in ('XXX', 'YYY', 'ZZZ') order by user;
+HOST USER ROLE
+XXX XXX XXX
+YYY YYY YYY
+ZZZ ZZZ ZZZ
+insert into performance_schema.setup_objects
+(object_type, object_schema, object_name, enabled, timed)
+values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'),
+('TABLE', 'DB1', 'BBB', 'NO', 'NO'),
+('TABLE', 'DB2', 'CCC', 'YES', 'NO'),
+('TABLE', 'DB2', 'DDD', 'NO', 'YES');
+select * from performance_schema.setup_objects
+where object_schema like 'DB%' order by object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE DB1 AAA YES YES
+TABLE DB1 BBB NO NO
+TABLE DB2 CCC YES NO
+TABLE DB2 DDD NO YES
+use test;
+drop table if exists marker_insert_select;
+Warnings:
+Note 1051 Unknown table 'test.marker_insert_select'
+use my_local_db;
+insert into my_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_non_tx_table(a)
+select thread_id from performance_schema.threads;
+insert into my_tx_table(a)
+select id from information_schema.processlist;
+insert into my_non_tx_table(a)
+select id from information_schema.processlist;
+insert into my_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.general_log;
+insert into my_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_non_tx_table(a)
+select thread_id from mysql.slow_log;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_relay_log_info;
+insert into my_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_non_tx_table(a)
+select Master_log_pos from mysql.slave_master_info;
+insert into my_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+insert into my_non_tx_table(a)
+select Relay_log_pos from mysql.slave_worker_info;
+use test;
+drop table if exists marker_delete;
+Warnings:
+Note 1051 Unknown table 'test.marker_delete'
+delete from performance_schema.setup_actors
+where user in ('XXX', 'YYY', 'ZZZ');
+delete from performance_schema.setup_objects
+where object_schema like 'DB%';
+use test;
+drop table if exists marker_end;
+Warnings:
+Note 1051 Unknown table 'test.marker_end'
+drop database my_local_db;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; create table my_local_db.my_tx_table(a bigint) engine = innodb
+master-bin.000001 # Query # # use `test`; create table my_local_db.my_non_tx_table(a bigint) engine = myisam
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_start` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_truncate` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_update` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_insert_select` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_delete` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */
diff --git a/mysql-test/suite/perfschema/r/binlog_row.result b/mysql-test/suite/perfschema/r/binlog_row.result
index 1bcdb4a6c58..629421abd83 100644
--- a/mysql-test/suite/perfschema/r/binlog_row.result
+++ b/mysql-test/suite/perfschema/r/binlog_row.result
@@ -24,19 +24,25 @@ drop table test.t2;
update performance_schema.setup_instruments set enabled='YES'
where name like "wait/synch/rwlock/sql/%"
and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table test.t1 (thread_id integer)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table test.t2 (name varchar(128))
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
diff --git a/mysql-test/suite/perfschema/r/binlog_stmt.result b/mysql-test/suite/perfschema/r/binlog_stmt.result
index 1d18bd984b8..b2993e454da 100644
--- a/mysql-test/suite/perfschema/r/binlog_stmt.result
+++ b/mysql-test/suite/perfschema/r/binlog_stmt.result
@@ -7,8 +7,6 @@ count(*) > 0
update performance_schema.setup_instruments set enabled='NO'
where name like "wait/synch/rwlock/sql/%"
and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
-Warnings:
-Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
select count(*) > 0 from performance_schema.events_waits_current;
count(*) > 0
1
@@ -20,46 +18,38 @@ insert into test.t1
select thread_id from performance_schema.events_waits_current;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
-Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Mixing self-logging and non-self-logging engines in a statement is unsafe.
insert into test.t2
select name from performance_schema.setup_instruments
where name like "wait/synch/rwlock/sql/%"
and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
-Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Mixing self-logging and non-self-logging engines in a statement is unsafe.
drop table test.t1;
drop table test.t2;
update performance_schema.setup_instruments set enabled='YES'
where name like "wait/synch/rwlock/sql/%"
and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
-Warnings:
-Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; update performance_schema.setup_instruments set enabled='NO'
- where name like "wait/synch/rwlock/sql/%"
- and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock")
-master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table test.t1 (thread_id integer)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table test.t2 (name varchar(128))
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into test.t1
select thread_id from performance_schema.events_waits_current
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into test.t2
select name from performance_schema.setup_instruments
where name like "wait/synch/rwlock/sql/%"
and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock")
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; update performance_schema.setup_instruments set enabled='YES'
- where name like "wait/synch/rwlock/sql/%"
- and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock")
-master-bin.000001 # Query # # COMMIT
diff --git a/mysql-test/suite/perfschema/r/checksum.result b/mysql-test/suite/perfschema/r/checksum.result
index 587dead845a..f2a0f5a7713 100644
--- a/mysql-test/suite/perfschema/r/checksum.result
+++ b/mysql-test/suite/perfschema/r/checksum.result
@@ -1,34 +1,90 @@
+checksum table performance_schema.accounts;
checksum table performance_schema.cond_instances;
+checksum table performance_schema.events_stages_current;
+checksum table performance_schema.events_stages_history;
+checksum table performance_schema.events_stages_history_long;
+checksum table performance_schema.events_stages_summary_by_account_by_event_name;
+checksum table performance_schema.events_stages_summary_by_host_by_event_name;
+checksum table performance_schema.events_stages_summary_by_thread_by_event_name;
+checksum table performance_schema.events_stages_summary_by_user_by_event_name;
+checksum table performance_schema.events_stages_summary_global_by_event_name;
+checksum table performance_schema.events_statements_current;
+checksum table performance_schema.events_statements_history;
+checksum table performance_schema.events_statements_history_long;
+checksum table performance_schema.events_statements_summary_by_account_by_event_name;
+checksum table performance_schema.events_statements_summary_by_host_by_event_name;
+checksum table performance_schema.events_statements_summary_by_thread_by_event_name;
+checksum table performance_schema.events_statements_summary_by_user_by_event_name;
+checksum table performance_schema.events_statements_summary_global_by_event_name;
checksum table performance_schema.events_waits_current;
checksum table performance_schema.events_waits_history;
checksum table performance_schema.events_waits_history_long;
+checksum table performance_schema.events_waits_summary_by_account_by_event_name;
+checksum table performance_schema.events_waits_summary_by_host_by_event_name;
checksum table performance_schema.events_waits_summary_by_instance;
checksum table performance_schema.events_waits_summary_by_thread_by_event_name;
+checksum table performance_schema.events_waits_summary_by_user_by_event_name;
checksum table performance_schema.events_waits_summary_global_by_event_name;
checksum table performance_schema.file_instances;
checksum table performance_schema.file_summary_by_event_name;
checksum table performance_schema.file_summary_by_instance;
+checksum table performance_schema.hosts;
checksum table performance_schema.mutex_instances;
+checksum table performance_schema.objects_summary_global_by_type;
checksum table performance_schema.performance_timers;
checksum table performance_schema.rwlock_instances;
+checksum table performance_schema.setup_actors;
checksum table performance_schema.setup_consumers;
checksum table performance_schema.setup_instruments;
+checksum table performance_schema.setup_objects;
checksum table performance_schema.setup_timers;
+checksum table performance_schema.table_io_waits_summary_by_index_usage;
+checksum table performance_schema.table_io_waits_summary_by_table;
+checksum table performance_schema.table_lock_waits_summary_by_table;
checksum table performance_schema.threads;
+checksum table performance_schema.users;
+checksum table performance_schema.accounts extended;
checksum table performance_schema.cond_instances extended;
+checksum table performance_schema.events_stages_current extended;
+checksum table performance_schema.events_stages_history extended;
+checksum table performance_schema.events_stages_history_long extended;
+checksum table performance_schema.events_stages_summary_by_account_by_event_name extended;
+checksum table performance_schema.events_stages_summary_by_host_by_event_name extended;
+checksum table performance_schema.events_stages_summary_by_thread_by_event_name extended;
+checksum table performance_schema.events_stages_summary_by_user_by_event_name extended;
+checksum table performance_schema.events_stages_summary_global_by_event_name extended;
+checksum table performance_schema.events_statements_current extended;
+checksum table performance_schema.events_statements_history extended;
+checksum table performance_schema.events_statements_history_long extended;
+checksum table performance_schema.events_statements_summary_by_account_by_event_name extended;
+checksum table performance_schema.events_statements_summary_by_host_by_event_name extended;
+checksum table performance_schema.events_statements_summary_by_thread_by_event_name extended;
+checksum table performance_schema.events_statements_summary_by_user_by_event_name extended;
+checksum table performance_schema.events_statements_summary_global_by_event_name extended;
checksum table performance_schema.events_waits_current extended;
checksum table performance_schema.events_waits_history extended;
checksum table performance_schema.events_waits_history_long extended;
+checksum table performance_schema.events_waits_summary_by_account_by_event_name extended;
+checksum table performance_schema.events_waits_summary_by_host_by_event_name extended;
checksum table performance_schema.events_waits_summary_by_instance extended;
checksum table performance_schema.events_waits_summary_by_thread_by_event_name extended;
+checksum table performance_schema.events_waits_summary_by_user_by_event_name extended;
checksum table performance_schema.events_waits_summary_global_by_event_name extended;
checksum table performance_schema.file_instances extended;
checksum table performance_schema.file_summary_by_event_name extended;
checksum table performance_schema.file_summary_by_instance extended;
+checksum table performance_schema.hosts extended;
checksum table performance_schema.mutex_instances extended;
+checksum table performance_schema.objects_summary_global_by_type extended;
checksum table performance_schema.performance_timers extended;
checksum table performance_schema.rwlock_instances extended;
+checksum table performance_schema.setup_actors extended;
checksum table performance_schema.setup_consumers extended;
checksum table performance_schema.setup_instruments extended;
+checksum table performance_schema.setup_objects extended;
checksum table performance_schema.setup_timers extended;
+checksum table performance_schema.table_io_waits_summary_by_index_usage extended;
+checksum table performance_schema.table_io_waits_summary_by_table extended;
+checksum table performance_schema.table_lock_waits_summary_by_table extended;
checksum table performance_schema.threads extended;
+checksum table performance_schema.users extended;
diff --git a/mysql-test/suite/perfschema/r/column_privilege.result b/mysql-test/suite/perfschema/r/column_privilege.result
index aff5f3e6eee..ea901484d7e 100644
--- a/mysql-test/suite/perfschema/r/column_privilege.result
+++ b/mysql-test/suite/perfschema/r/column_privilege.result
@@ -1,7 +1,8 @@
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+create user 'pfs_user_5'@localhost;
grant usage on *.* to 'pfs_user_5'@localhost with GRANT OPTION;
grant SELECT(thread_id, event_id) on performance_schema.events_waits_current
to 'pfs_user_5'@localhost;
@@ -24,5 +25,3 @@ REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'pfs_user_5'@localhost;
DROP USER 'pfs_user_5'@localhost;
flush privileges;
UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
-UPDATE performance_schema.setup_consumers SET enabled = 'YES';
-UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE';
diff --git a/mysql-test/suite/perfschema/r/connect_attrs.result b/mysql-test/suite/perfschema/r/connect_attrs.result
new file mode 100644
index 00000000000..0fb0ad34ab2
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/connect_attrs.result
@@ -0,0 +1,52 @@
+# must return 0, 6
+SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*)
+FROM performance_schema.session_connect_attrs
+WHERE ATTR_NAME IN ('_os', '_client_name', '_pid',
+'_client_version', '_platform', 'program_name')
+AND PROCESSLIST_ID = CONNECTION_ID();
+SUM(ISNULL(ATTR_VALUE)) COUNT(*)
+0 6
+# must return 1
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+FROM performance_schema.session_connect_attrs;
+COUNT(DISTINCT PROCESSLIST_ID)
+1
+# must return 0, 6
+SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*)
+FROM performance_schema.session_account_connect_attrs
+WHERE ATTR_NAME IN ('_os', '_client_name', '_pid',
+'_client_version', '_platform', 'program_name')
+AND PROCESSLIST_ID = CONNECTION_ID();
+SUM(ISNULL(ATTR_VALUE)) COUNT(*)
+0 6
+# must return 1
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+FROM performance_schema.session_account_connect_attrs;
+COUNT(DISTINCT PROCESSLIST_ID)
+1
+CREATE USER wl5924@localhost;
+# must return 1
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+FROM performance_schema.session_account_connect_attrs;
+COUNT(DISTINCT PROCESSLIST_ID)
+1
+# must return 2
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+FROM performance_schema.session_connect_attrs;
+COUNT(DISTINCT PROCESSLIST_ID)
+2
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+FROM performance_schema.session_account_connect_attrs;
+ERROR 42000: SELECT command denied to user 'wl5924'@'localhost' for table 'session_account_connect_attrs'
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+FROM performance_schema.session_connect_attrs;
+ERROR 42000: SELECT command denied to user 'wl5924'@'localhost' for table 'session_connect_attrs'
+grant select on performance_schema.* to wl5924@localhost;
+SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*)
+FROM performance_schema.session_account_connect_attrs
+WHERE ATTR_NAME IN ('_os', '_client_name', '_pid',
+'_client_version', '_platform', 'program_name')
+AND PROCESSLIST_ID = CONNECTION_ID();
+SUM(ISNULL(ATTR_VALUE)) COUNT(*)
+0 6
+DROP USER wl5924@localhost;
diff --git a/mysql-test/suite/perfschema/r/connection.result b/mysql-test/suite/perfschema/r/connection.result
new file mode 100644
index 00000000000..fe312f6fa04
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/connection.result
@@ -0,0 +1,875 @@
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1a" as status;
+status
+user1 in con1a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1b" as status;
+status
+user1 in con1b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1c" as status;
+status
+user1 in con1c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user2 in con2a" as status;
+status
+user2 in con2a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user2 in con2b" as status;
+status
+user2 in con2b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 6
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user2 in con2c" as status;
+status
+user2 in con2c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user3 in con3a" as status;
+status
+user3 in con3a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 3 3
+user3 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 3 3
+user3 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 8
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user3 in con3b" as status;
+status
+user3 in con3b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 3 3
+user3 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 3 3
+user3 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 9
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user3 in con3c" as status;
+status
+user3 in con3c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 3 3
+user3 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 3 3
+user3 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 10 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con1a disconnected" as status;
+status
+con1a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+user2 localhost 3 3
+user3 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+user2 3 3
+user3 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con2a disconnected" as status;
+status
+con2a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+user2 localhost 2 3
+user3 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+user2 2 3
+user3 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con3a disconnected" as status;
+status
+con3a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+user2 localhost 2 3
+user3 localhost 2 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+user2 2 3
+user3 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+user2 2 3
+user3 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user4 in con4a" as status;
+status
+user4 in con4a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+user4 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+user4 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 8
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user4 in con4b" as status;
+status
+user4 in con4b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+user4 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+user4 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 9
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user4 in con4c" as status;
+status
+user4 in con4c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 10 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con1b disconnected" as status;
+status
+con1b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+user2 localhost 2 2
+user3 localhost 2 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+user2 2 2
+user3 2 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con2b disconnected" as status;
+status
+con2b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+user2 localhost 1 2
+user3 localhost 2 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+user2 1 2
+user3 2 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con3b disconnected" as status;
+status
+con3b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+user2 localhost 1 2
+user3 localhost 1 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+user2 1 2
+user3 1 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con1c disconnected" as status;
+status
+con1c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user2 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+user2 localhost 1 2
+user3 localhost 1 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+user2 1 2
+user3 1 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con2c disconnected" as status;
+status
+con2c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+user2 localhost 0 2
+user3 localhost 1 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+user2 0 2
+user3 1 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con3c disconnected" as status;
+status
+con3c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+user2 localhost 0 2
+user3 localhost 0 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+user2 0 2
+user3 0 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+user2 0 2
+user3 0 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user5 in con5a" as status;
+status
+user5 in con5a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+user5 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+user5 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user5 in con5b" as status;
+status
+user5 in con5b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+user5 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+user5 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 6
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user5 in con5c" as status;
+status
+user5 in con5c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+user5 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+user5 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+user5 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con 5a, 5b, 5c, 6a, 6b, 6c disconnected" as status;
+status
+con 5a, 5b, 5c, 6a, 6b, 6c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 0 3
+user5 localhost 0 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 0 3
+user5 0 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 0 3
+user5 0 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
diff --git a/mysql-test/suite/perfschema/r/connection_3a.result b/mysql-test/suite/perfschema/r/connection_3a.result
new file mode 100644
index 00000000000..1f92d67137d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/connection_3a.result
@@ -0,0 +1,820 @@
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1a" as status;
+status
+user1 in con1a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1b" as status;
+status
+user1 in con1b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1c" as status;
+status
+user1 in con1c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user2 in con2a" as status;
+status
+user2 in con2a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 1
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user2 in con2b" as status;
+status
+user2 in con2b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 6
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 2
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user2 in con2c" as status;
+status
+user2 in con2c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 3
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user3 in con3a" as status;
+status
+user3 in con3a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 3 3
+user3 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 8
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 4
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user3 in con3b" as status;
+status
+user3 in con3b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 3 3
+user3 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 9
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 5
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user3 in con3c" as status;
+status
+user3 in con3c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+user2 3 3
+user3 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 10 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con1a disconnected" as status;
+status
+con1a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+user2 3 3
+user3 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con2a disconnected" as status;
+status
+con2a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+user2 2 3
+user3 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con3a disconnected" as status;
+status
+con3a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+user2 2 3
+user3 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+user2 2 3
+user3 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user4 in con4a" as status;
+status
+user4 in con4a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+user4 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 8
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 7
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user4 in con4b" as status;
+status
+user4 in con4b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+user4 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 9
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 8
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user4 in con4c" as status;
+status
+user4 in con4c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+user2 2 2
+user3 2 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 10 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con1b disconnected" as status;
+status
+con1b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+user2 2 2
+user3 2 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con2b disconnected" as status;
+status
+con2b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+user2 1 2
+user3 2 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con3b disconnected" as status;
+status
+con3b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+user2 1 2
+user3 1 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con1c disconnected" as status;
+status
+con1c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user2 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+user2 1 2
+user3 1 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con2c disconnected" as status;
+status
+con2c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+user2 0 2
+user3 1 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con3c disconnected" as status;
+status
+con3c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+user2 0 2
+user3 0 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+user2 0 2
+user3 0 2
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user5 in con5a" as status;
+status
+user5 in con5a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user5 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+user5 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user5 in con5b" as status;
+status
+user5 in con5b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user5 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+user5 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 6
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user5 in con5c" as status;
+status
+user5 in con5c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+user5 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user5 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 3 3
+user5 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "con 5a, 5b, 5c, 6a, 6b, 6c disconnected" as status;
+status
+con 5a, 5b, 5c, 6a, 6b, 6c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user5 localhost 0 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 0 3
+user5 0 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user4 0 3
+user5 0 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
diff --git a/mysql-test/suite/perfschema/r/connection_3a_3u.result b/mysql-test/suite/perfschema/r/connection_3a_3u.result
new file mode 100644
index 00000000000..0a6229d9f93
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/connection_3a_3u.result
@@ -0,0 +1,762 @@
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1a" as status;
+status
+user1 in con1a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1b" as status;
+status
+user1 in con1b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1c" as status;
+status
+user1 in con1c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user2 in con2a" as status;
+status
+user2 in con2a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 1
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 1
+select "user2 in con2b" as status;
+status
+user2 in con2b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 6
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 2
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+select "user2 in con2c" as status;
+status
+user2 in con2c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 3
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "user3 in con3a" as status;
+status
+user3 in con3a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 8
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 4
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 4
+select "user3 in con3b" as status;
+status
+user3 in con3b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 9
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 5
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 5
+select "user3 in con3c" as status;
+status
+user3 in con3c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 10 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 6
+select "con1a disconnected" as status;
+status
+con1a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 6
+select "con2a disconnected" as status;
+status
+con2a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 6
+select "con3a disconnected" as status;
+status
+con3a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 6
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 6
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 6
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 6
+select "user4 in con4a" as status;
+status
+user4 in con4a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 8
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 7
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 7
+select "user4 in con4b" as status;
+status
+user4 in con4b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 9
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 8
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 8
+select "user4 in con4c" as status;
+status
+user4 in con4c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 10 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "con1b disconnected" as status;
+status
+con1b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "con2b disconnected" as status;
+status
+con2b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "con3b disconnected" as status;
+status
+con3b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "con1c disconnected" as status;
+status
+con1c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user2 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "con2c disconnected" as status;
+status
+con2c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "con3c disconnected" as status;
+status
+con3c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "user5 in con5a" as status;
+status
+user5 in con5a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user5 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "user5 in con5b" as status;
+status
+user5 in con5b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user5 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 6
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "user5 in con5c" as status;
+status
+user5 in con5c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+user5 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user5 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+select "con 5a, 5b, 5c, 6a, 6b, 6c disconnected" as status;
+status
+con 5a, 5b, 5c, 6a, 6b, 6c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user5 localhost 0 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 0 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 0 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 9
diff --git a/mysql-test/suite/perfschema/r/connection_3u.result b/mysql-test/suite/perfschema/r/connection_3u.result
new file mode 100644
index 00000000000..f0606301532
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/connection_3u.result
@@ -0,0 +1,817 @@
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1a" as status;
+status
+user1 in con1a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1b" as status;
+status
+user1 in con1b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user1 in con1c" as status;
+status
+user1 in con1c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 0
+select "user2 in con2a" as status;
+status
+user2 in con2a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 1
+select "user2 in con2b" as status;
+status
+user2 in con2b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 6
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 1
+select "user2 in con2c" as status;
+status
+user2 in con2c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 1
+select "user3 in con3a" as status;
+status
+user3 in con3a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 3 3
+user3 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 8
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+select "user3 in con3b" as status;
+status
+user3 in con3b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 3 3
+user3 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 9
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+select "user3 in con3c" as status;
+status
+user3 in con3c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 3 3
+user2 localhost 3 3
+user3 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 10 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+select "con1a disconnected" as status;
+status
+con1a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+user2 localhost 3 3
+user3 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+select "con2a disconnected" as status;
+status
+con2a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+user2 localhost 2 3
+user3 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+select "con3a disconnected" as status;
+status
+con3a disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 3
+user2 localhost 2 3
+user3 localhost 2 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 2
+select "user4 in con4a" as status;
+status
+user4 in con4a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+user4 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 8
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "user4 in con4b" as status;
+status
+user4 in con4b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+user4 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 9
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "user4 in con4c" as status;
+status
+user4 in con4c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 2 2
+user2 localhost 2 2
+user3 localhost 2 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 10 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "con1b disconnected" as status;
+status
+con1b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+user2 localhost 2 2
+user3 localhost 2 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 9 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "con2b disconnected" as status;
+status
+con2b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user3 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+user2 localhost 1 2
+user3 localhost 2 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 8 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "con3b disconnected" as status;
+status
+con3b disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user1 localhost
+user2 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 2
+user2 localhost 1 2
+user3 localhost 1 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "con1c disconnected" as status;
+status
+con1c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user2 localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+user2 localhost 1 2
+user3 localhost 1 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "con2c disconnected" as status;
+status
+con2c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user3 localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+user2 localhost 0 2
+user3 localhost 1 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "con3c disconnected" as status;
+status
+con3c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 2
+user2 localhost 0 2
+user3 localhost 0 2
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 10
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "user5 in con5a" as status;
+status
+user5 in con5a
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+user5 localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "user5 in con5b" as status;
+status
+user5 in con5b
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+user5 localhost 2 2
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 2 2
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 6 6
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "user5 in con5c" as status;
+status
+user5 in con5c
+call dump_all();
+processlist_user processlist_host
+root localhost
+user4 localhost
+user4 localhost
+user4 localhost
+user5 localhost
+user5 localhost
+user5 localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 3 3
+user5 localhost 3 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 3 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 7 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+select "con 5a, 5b, 5c, 6a, 6b, 6c disconnected" as status;
+status
+con 5a, 5b, 5c, 6a, 6b, 6c disconnected
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user4 localhost 0 3
+user5 localhost 0 3
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 0 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 7
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+truncate table performance_schema.hosts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user5 0 3
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+truncate table performance_schema.users;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
+truncate table performance_schema.accounts;
+call dump_all();
+processlist_user processlist_host
+root localhost
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+variable_name variable_value
+PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0
+PERFORMANCE_SCHEMA_HOSTS_LOST 0
+PERFORMANCE_SCHEMA_USERS_LOST 3
diff --git a/mysql-test/suite/perfschema/r/csv_table_io.result b/mysql-test/suite/perfschema/r/csv_table_io.result
new file mode 100644
index 00000000000..84b39119dd8
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/csv_table_io.result
@@ -0,0 +1,139 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+drop table if exists test.no_index_tab;
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+create table test.no_index_tab
+( a varchar(255) not null, b int not null) engine = CSV;
+insert into marker set a = 1;
+show create table test.no_index_tab;
+Table Create Table
+no_index_tab CREATE TABLE `no_index_tab` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=CSV DEFAULT CHARSET=latin1
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 1;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 2;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+foo 1
+foo 2
+foo 3
+insert into marker set a = 1;
+update test.no_index_tab set a = 'bar';
+insert into marker set a = 1;
+select * from test.no_index_tab limit 2;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+delete from test.no_index_tab where b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+optimize table test.no_index_tab;
+Table Op Msg_type Msg_text
+test.no_index_tab optimize note The storage engine for the table doesn't support optimize
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+truncate table test.no_index_tab;
+insert into marker set a = 1;
+drop table test.no_index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/ddl_accounts.result b/mysql-test/suite/perfschema/r/ddl_accounts.result
new file mode 100644
index 00000000000..4884f053df1
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_accounts.result
@@ -0,0 +1,8 @@
+alter table performance_schema.accounts
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.accounts;
+ALTER TABLE performance_schema.accounts ADD INDEX test_index(CURRENT_CONNECTIONS);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.accounts(CURRENT_CONNECTIONS);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esgs_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esgs_by_account_by_event_name.result
new file mode 100644
index 00000000000..449a19e5310
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esgs_by_account_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_stages_summary_by_account_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_stages_summary_by_account_by_event_name;
+ALTER TABLE performance_schema.events_stages_summary_by_account_by_event_name
+ADD INDEX test_index(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_stages_summary_by_account_by_event_name(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esgs_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esgs_by_host_by_event_name.result
new file mode 100644
index 00000000000..4760dbda8d3
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esgs_by_host_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_stages_summary_by_host_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_stages_summary_by_host_by_event_name;
+ALTER TABLE performance_schema.events_stages_summary_by_host_by_event_name
+ADD INDEX test_index(HOSTNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_stages_summary_by_host_by_event_name(HOSTNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esgs_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esgs_by_thread_by_event_name.result
new file mode 100644
index 00000000000..0e070125daa
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esgs_by_thread_by_event_name.result
@@ -0,0 +1,9 @@
+alter table performance_schema.events_stages_summary_by_thread_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_stages_summary_by_thread_by_event_name;
+ALTER TABLE performance_schema.events_stages_summary_by_thread_by_event_name ADD INDEX test_index(THREAD_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_stages_summary_by_thread_by_event_name(THREAD_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esgs_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esgs_by_user_by_event_name.result
new file mode 100644
index 00000000000..1d797234bcb
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esgs_by_user_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_stages_summary_by_user_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_stages_summary_by_user_by_event_name;
+ALTER TABLE performance_schema.events_stages_summary_by_user_by_event_name
+ADD INDEX test_index(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_stages_summary_by_user_by_event_name(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esgs_global_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esgs_global_by_event_name.result
new file mode 100644
index 00000000000..0959af39d77
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esgs_global_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_stages_summary_global_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_stages_summary_global_by_event_name;
+ALTER TABLE performance_schema.events_stages_summary_global_by_event_name
+ADD INDEX test_index(EVENT_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_stages_summary_global_by_event_name(EVENT_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esms_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esms_by_account_by_event_name.result
new file mode 100644
index 00000000000..732f52d3fb7
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esms_by_account_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_statements_summary_by_account_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_statements_summary_by_account_by_event_name;
+ALTER TABLE performance_schema.events_statements_summary_by_account_by_event_name
+ADD INDEX test_index(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_statements_summary_by_account_by_event_name(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esms_by_digest.result b/mysql-test/suite/perfschema/r/ddl_esms_by_digest.result
new file mode 100644
index 00000000000..2a2d0b12285
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esms_by_digest.result
@@ -0,0 +1,9 @@
+alter table performance_schema.events_statements_summary_by_digest
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_statements_summary_by_digest;
+ALTER TABLE performance_schema.events_statements_summary_by_digest ADD INDEX test_index(DIGEST);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_statements_summary_by_digest(DIGEST);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esms_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esms_by_host_by_event_name.result
new file mode 100644
index 00000000000..efedfe2e1e0
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esms_by_host_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_statements_summary_by_host_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_statements_summary_by_host_by_event_name;
+ALTER TABLE performance_schema.events_statements_summary_by_host_by_event_name
+ADD INDEX test_index(HOSTNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_statements_summary_by_host_by_event_name(HOSTNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esms_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esms_by_thread_by_event_name.result
new file mode 100644
index 00000000000..edd03d38c67
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esms_by_thread_by_event_name.result
@@ -0,0 +1,9 @@
+alter table performance_schema.events_statements_summary_by_thread_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_statements_summary_by_thread_by_event_name;
+ALTER TABLE performance_schema.events_statements_summary_by_thread_by_event_name ADD INDEX test_index(THREAD_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_statements_summary_by_thread_by_event_name(THREAD_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esms_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esms_by_user_by_event_name.result
new file mode 100644
index 00000000000..0334e578019
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esms_by_user_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_statements_summary_by_user_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_statements_summary_by_user_by_event_name;
+ALTER TABLE performance_schema.events_statements_summary_by_user_by_event_name
+ADD INDEX test_index(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_statements_summary_by_user_by_event_name(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_esms_global_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_esms_global_by_event_name.result
new file mode 100644
index 00000000000..d2491c67783
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_esms_global_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_statements_summary_global_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_statements_summary_global_by_event_name;
+ALTER TABLE performance_schema.events_statements_summary_global_by_event_name
+ADD INDEX test_index(EVENT_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_statements_summary_global_by_event_name(EVENT_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_events_stages_current.result b/mysql-test/suite/perfschema/r/ddl_events_stages_current.result
new file mode 100644
index 00000000000..d9094ffb366
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_events_stages_current.result
@@ -0,0 +1,7 @@
+alter table performance_schema.events_stages_current add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_stages_current;
+ALTER TABLE performance_schema.events_stages_current ADD INDEX test_index(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_current(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_events_stages_history.result b/mysql-test/suite/perfschema/r/ddl_events_stages_history.result
new file mode 100644
index 00000000000..0b6d6df06d2
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_events_stages_history.result
@@ -0,0 +1,7 @@
+alter table performance_schema.events_stages_history add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_stages_history;
+ALTER TABLE performance_schema.events_stages_history ADD INDEX test_index(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_events_stages_history_long.result b/mysql-test/suite/perfschema/r/ddl_events_stages_history_long.result
new file mode 100644
index 00000000000..7843f61aa0d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_events_stages_history_long.result
@@ -0,0 +1,7 @@
+alter table performance_schema.events_stages_history_long add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_stages_history_long;
+ALTER TABLE performance_schema.events_stages_history_long ADD INDEX test_index(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history_long(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_events_statements_current.result b/mysql-test/suite/perfschema/r/ddl_events_statements_current.result
new file mode 100644
index 00000000000..bf458ab5fca
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_events_statements_current.result
@@ -0,0 +1,7 @@
+alter table performance_schema.events_statements_current add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_statements_current;
+ALTER TABLE performance_schema.events_statements_current ADD INDEX test_index(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.events_statements_current(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_events_statements_history.result b/mysql-test/suite/perfschema/r/ddl_events_statements_history.result
new file mode 100644
index 00000000000..1ef7f6c8463
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_events_statements_history.result
@@ -0,0 +1,7 @@
+alter table performance_schema.events_statements_history add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_statements_history;
+ALTER TABLE performance_schema.events_statements_history ADD INDEX test_index(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.events_statements_history(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_events_statements_history_long.result b/mysql-test/suite/perfschema/r/ddl_events_statements_history_long.result
new file mode 100644
index 00000000000..e3f75681c62
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_events_statements_history_long.result
@@ -0,0 +1,7 @@
+alter table performance_schema.events_statements_history_long add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_statements_history_long;
+ALTER TABLE performance_schema.events_statements_history_long ADD INDEX test_index(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.events_statements_history_long(EVENT_ID);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_ews_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ews_by_account_by_event_name.result
new file mode 100644
index 00000000000..2b50cd10868
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_ews_by_account_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_waits_summary_by_account_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_waits_summary_by_account_by_event_name;
+ALTER TABLE performance_schema.events_waits_summary_by_account_by_event_name
+ADD INDEX test_index(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_waits_summary_by_account_by_event_name(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_ews_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ews_by_host_by_event_name.result
new file mode 100644
index 00000000000..5f1886b5bb8
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_ews_by_host_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_waits_summary_by_host_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_waits_summary_by_host_by_event_name;
+ALTER TABLE performance_schema.events_waits_summary_by_host_by_event_name
+ADD INDEX test_index(HOSTNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_waits_summary_by_host_by_event_name(HOSTNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_ews_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ews_by_user_by_event_name.result
new file mode 100644
index 00000000000..1ed4a8ef36d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_ews_by_user_by_event_name.result
@@ -0,0 +1,10 @@
+alter table performance_schema.events_waits_summary_by_user_by_event_name
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.events_waits_summary_by_user_by_event_name;
+ALTER TABLE performance_schema.events_waits_summary_by_user_by_event_name
+ADD INDEX test_index(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.events_waits_summary_by_user_by_event_name(USERNAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_host_cache.result b/mysql-test/suite/perfschema/r/ddl_host_cache.result
new file mode 100644
index 00000000000..0f938b5fc88
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_host_cache.result
@@ -0,0 +1,7 @@
+alter table performance_schema.host_cache add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.host_cache;
+ALTER TABLE performance_schema.host_cache ADD INDEX test_index(IP);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.host_cache(IP);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_hosts.result b/mysql-test/suite/perfschema/r/ddl_hosts.result
new file mode 100644
index 00000000000..3a84c9d0fd2
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_hosts.result
@@ -0,0 +1,8 @@
+alter table performance_schema.hosts
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.hosts;
+ALTER TABLE performance_schema.hosts ADD INDEX test_index(CURRENT_CONNECTIONS);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.hosts(CURRENT_CONNECTIONS);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_os_global_by_type.result b/mysql-test/suite/perfschema/r/ddl_os_global_by_type.result
new file mode 100644
index 00000000000..66e3379191d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_os_global_by_type.result
@@ -0,0 +1,10 @@
+alter table performance_schema.objects_summary_global_by_type
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.objects_summary_global_by_type;
+ALTER TABLE performance_schema.objects_summary_global_by_type
+ADD INDEX test_index(OBJECT_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index
+ON performance_schema.objects_summary_global_by_type(OBJECT_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_session_account_connect_attrs.result b/mysql-test/suite/perfschema/r/ddl_session_account_connect_attrs.result
new file mode 100644
index 00000000000..9d8c7212f43
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_session_account_connect_attrs.result
@@ -0,0 +1,9 @@
+ALTER TABLE performance_schema.session_account_connect_attrs
+ADD COLUMN foo INTEGER;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+TRUNCATE TABLE performance_schema.session_account_connect_attrs;
+ERROR HY000: Invalid performance_schema usage.
+ALTER TABLE performance_schema.session_account_connect_attrs ADD INDEX test_index(ATTR_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.session_account_connect_attrs(ATTR_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_session_connect_attrs.result b/mysql-test/suite/perfschema/r/ddl_session_connect_attrs.result
new file mode 100644
index 00000000000..3177d493963
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_session_connect_attrs.result
@@ -0,0 +1,9 @@
+ALTER TABLE performance_schema.session_connect_attrs
+ADD COLUMN foo INTEGER;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+TRUNCATE TABLE performance_schema.session_connect_attrs;
+ERROR HY000: Invalid performance_schema usage.
+ALTER TABLE performance_schema.session_connect_attrs ADD INDEX test_index(ATTR_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.session_connect_attrs(ATTR_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_setup_actors.result b/mysql-test/suite/perfschema/r/ddl_setup_actors.result
new file mode 100644
index 00000000000..753632eb62d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_setup_actors.result
@@ -0,0 +1,16 @@
+alter table performance_schema.setup_actors add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+drop table if exists test.setup_actors;
+create table test.setup_actors as
+select * from performance_schema.setup_actors;
+truncate table performance_schema.setup_actors;
+select count(*) from performance_schema.setup_actors;
+count(*)
+0
+insert into performance_schema.setup_actors
+select * from test.setup_actors;
+drop table test.setup_actors;
+ALTER TABLE performance_schema.setup_actors ADD INDEX test_index(HOST);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_actors(HOST);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_setup_objects.result b/mysql-test/suite/perfschema/r/ddl_setup_objects.result
new file mode 100644
index 00000000000..60eeecdeccf
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_setup_objects.result
@@ -0,0 +1,16 @@
+alter table performance_schema.setup_objects add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+drop table if exists test.setup_objects;
+create table test.setup_objects as
+select * from performance_schema.setup_objects;
+truncate table performance_schema.setup_objects;
+select count(*) from performance_schema.setup_objects;
+count(*)
+0
+insert into performance_schema.setup_objects
+select * from test.setup_objects;
+drop table test.setup_objects;
+ALTER TABLE performance_schema.setup_objects ADD INDEX test_index(OBJECT_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_objects(OBJECT_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_socket_instances.result b/mysql-test/suite/perfschema/r/ddl_socket_instances.result
new file mode 100644
index 00000000000..b9dfd63bad1
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_socket_instances.result
@@ -0,0 +1,8 @@
+alter table performance_schema.socket_instances add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.socket_instances;
+ERROR HY000: Invalid performance_schema usage.
+ALTER TABLE performance_schema.socket_instances ADD INDEX test_index(FILE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.socket_instances(FILE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_socket_summary_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_socket_summary_by_event_name.result
new file mode 100644
index 00000000000..64e1f280675
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_socket_summary_by_event_name.result
@@ -0,0 +1,7 @@
+alter table performance_schema.socket_summary_by_instance add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.socket_summary_by_instance;
+ALTER TABLE performance_schema.socket_summary_by_instance ADD INDEX test_index(FILE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.socket_summary_by_instance(FILE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_socket_summary_by_instance.result b/mysql-test/suite/perfschema/r/ddl_socket_summary_by_instance.result
new file mode 100644
index 00000000000..64e1f280675
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_socket_summary_by_instance.result
@@ -0,0 +1,7 @@
+alter table performance_schema.socket_summary_by_instance add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.socket_summary_by_instance;
+ALTER TABLE performance_schema.socket_summary_by_instance ADD INDEX test_index(FILE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.socket_summary_by_instance(FILE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_threads.result b/mysql-test/suite/perfschema/r/ddl_threads.result
index 9d949e0920f..0856dedbaee 100644
--- a/mysql-test/suite/perfschema/r/ddl_threads.result
+++ b/mysql-test/suite/perfschema/r/ddl_threads.result
@@ -2,7 +2,7 @@ alter table performance_schema.threads add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
truncate table performance_schema.threads;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.threads ADD INDEX test_index(ID);
+ALTER TABLE performance_schema.threads ADD INDEX test_index(PROCESSLIST_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.threads(ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.threads(PROCESSLIST_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_tiws_by_index_usage.result b/mysql-test/suite/perfschema/r/ddl_tiws_by_index_usage.result
new file mode 100644
index 00000000000..bc002515f42
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_tiws_by_index_usage.result
@@ -0,0 +1,8 @@
+alter table performance_schema.table_io_waits_summary_by_index_usage
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.table_io_waits_summary_by_index_usage;
+ALTER TABLE performance_schema.table_io_waits_summary_by_index_usage ADD INDEX test_index(TABLE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.table_io_waits_summary_by_index_usage(TABLE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_tiws_by_table.result b/mysql-test/suite/perfschema/r/ddl_tiws_by_table.result
new file mode 100644
index 00000000000..6f2d3329a96
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_tiws_by_table.result
@@ -0,0 +1,8 @@
+alter table performance_schema.table_io_waits_summary_by_table
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.table_io_waits_summary_by_table;
+ALTER TABLE performance_schema.table_io_waits_summary_by_table ADD INDEX test_index(TABLE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.table_io_waits_summary_by_table(TABLE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_tlws_by_table.result b/mysql-test/suite/perfschema/r/ddl_tlws_by_table.result
new file mode 100644
index 00000000000..b7312191c86
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_tlws_by_table.result
@@ -0,0 +1,8 @@
+alter table performance_schema.table_lock_waits_summary_by_table
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.table_lock_waits_summary_by_table;
+ALTER TABLE performance_schema.table_lock_waits_summary_by_table ADD INDEX test_index(TABLE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.table_lock_waits_summary_by_table(TABLE_NAME);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_users.result b/mysql-test/suite/perfschema/r/ddl_users.result
new file mode 100644
index 00000000000..907710bb3b2
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ddl_users.result
@@ -0,0 +1,8 @@
+alter table performance_schema.users
+add column foo integer;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+truncate table performance_schema.users;
+ALTER TABLE performance_schema.users ADD INDEX test_index(CURRENT_CONNECTIONS);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+CREATE UNIQUE INDEX test_index ON performance_schema.users(CURRENT_CONNECTIONS);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/digest_null_literal.result b/mysql-test/suite/perfschema/r/digest_null_literal.result
new file mode 100644
index 00000000000..a595c3f541b
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/digest_null_literal.result
@@ -0,0 +1,27 @@
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+NULL
+NULL
+NULL
+NULL
+NULL NULL
+NULL NULL
+NULL NULL NULL 1 2 3 NULL NULL
+NULL NULL NULL 1 2 3 NULL NULL
+1 IS NULL
+0
+2 IS NOT NULL
+1
+1 IS NULL 2 IS NULL 3 IS NOT NULL 4 IS NOT NULL
+0 0 1 1
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR
+FROM performance_schema.events_statements_summary_by_digest;
+SCHEMA_NAME DIGEST_TEXT COUNT_STAR
+test TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
+test SELECT ? 1
+test SELECT ? FROM DUAL 1
+test SELECT ?, ... 2
+test SELECT ? IS NULL 1
+test SELECT ? IS NOT NULL 1
+test SELECT ? IS NULL , ? IS NULL , ? IS NOT NULL , ? IS NOT NULL 1
+test CREATE TABLE `foo` ( `a` INTEGER DEFAULT ? , `b` INTEGER NOT NULL DEFAULT ? , `c` INTEGER NOT NULL ) 1
+test DROP TABLE `foo` 1
diff --git a/mysql-test/suite/perfschema/r/digest_table_full.result b/mysql-test/suite/perfschema/r/digest_table_full.result
new file mode 100644
index 00000000000..f52b78c9f7d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/digest_table_full.result
@@ -0,0 +1,134 @@
+####################################
+# SETUP
+####################################
+CREATE DATABASE statements_digest;
+USE statements_digest;
+CREATE TABLE t1(a int);
+CREATE TABLE t2(a int);
+CREATE TABLE t3(a int, b int);
+CREATE TABLE t4(a int, b int);
+CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
+CREATE TABLE t11 (c CHAR(4));
+CREATE TABLE t12 (c CHAR(4));
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+####################################
+# EXECUTION
+####################################
+SELECT 1 FROM t1;
+1
+SELECT 1 FROM `t1`;
+1
+SELECT 1,2 FROM t1;
+1 2
+SELECT 1, 2, 3, 4 FROM t1;
+1 2 3 4
+SELECT 1 FROM t2;
+1
+SELECT 1,2 FROM t2;
+1 2
+SELECT 1, 2, 3, 4 FROM t2;
+1 2 3 4
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t3 VALUES (1, 2);
+INSERT INTO t4 VALUES (1, 2);
+INSERT INTO t5 VALUES (1, 2, 3);
+INSERT INTO t1 VALUES (1), (2), (3);
+INSERT INTO t1 VALUES (1), (2), (3), (4);
+INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
+INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
+SELECT 1 + 1;
+1 + 1
+2
+SELECT 1;
+1
+1
+SELECT 1 /* This is an inline comment */ + 1;
+1 /* This is an inline comment */ + 1
+2
+SELECT 1+
+/*
+this is a
+multiple-line comment
+*/
+1;
+1+
+/*
+this is a
+multiple-line comment
+*/
+1
+2
+CREATE SCHEMA statements_digest_temp;
+DROP SCHEMA statements_digest_temp;
+CREATE DATABASE statements_digest_temp;
+DROP DATABASE statements_digest_temp;
+SELECT 1 FROM no_such_table;
+ERROR 42S02: Table 'statements_digest.no_such_table' doesn't exist
+CREATE TABLE dup_table (c char(4));
+CREATE TABLE dup_table (c char(4));
+ERROR 42S01: Table 'dup_table' already exists
+DROP TABLE dup_table;
+INSERT INTO t11 VALUES("MySQL");
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+PREPARE stmt FROM "SELECT * FROM t12";
+EXECUTE stmt;
+c
+EXECUTE stmt;
+c
+DEALLOCATE PREPARE stmt;
+CREATE PROCEDURE p1() BEGIN SELECT * FROM t12; END//
+CALL p1();
+c
+CALL p1();
+c
+DROP PROCEDURE p1;
+CREATE FUNCTION `func`(a INT, b INT) RETURNS int(11) RETURN a+b //
+select func(3,4);
+func(3,4)
+7
+select func(13,42);
+func(13,42)
+55
+DROP FUNCTION func;
+CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @a:=1;
+INSERT INTO t12 VALUES ("abc");
+INSERT INTO t12 VALUES ("def");
+DROP TRIGGER trg;
+####################################
+# QUERYING PS STATEMENT DIGEST
+####################################
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
+SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
+SCHEMA_NAME DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
+NULL NULL 55 32 1 2
+statements_digest TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0
+SHOW VARIABLES LIKE "performance_schema_digests_size";
+Variable_name Value
+performance_schema_digests_size 2
+SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest;
+COUNT(*)
+2
+####################################
+# CLEANUP
+####################################
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+DROP TABLE IF EXISTS t4;
+DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
+DROP TABLE IF EXISTS t11;
+DROP TABLE IF EXISTS t12;
+DROP DATABASE IF EXISTS statements_digest;
diff --git a/mysql-test/suite/perfschema/r/discovery.result b/mysql-test/suite/perfschema/r/discovery.result
new file mode 100644
index 00000000000..2f939cae154
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/discovery.result
@@ -0,0 +1,12 @@
+#
+# MDEV-7922 - ERROR 1939 (HY000): Engine PERFORMANCE_SCHEMA failed to
+# discover table
+#
+FLUSH TABLES;
+CREATE DATABASE test_drop;
+USE test_drop;
+DROP DATABASE test_drop;
+SELECT TABLE_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='performance_schema';
+SELECT @@warning_count;
+@@warning_count
+0
diff --git a/mysql-test/suite/perfschema/r/dml_accounts.result b/mysql-test/suite/perfschema/r/dml_accounts.result
new file mode 100644
index 00000000000..cbf9491f806
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_accounts.result
@@ -0,0 +1,25 @@
+select * from performance_schema.accounts
+limit 1;
+select * from performance_schema.accounts
+where user='FOO' or host='BAR';
+insert into performance_schema.accounts
+set user='FOO', host='BAR',
+current_connections=1, total_connections=2;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'accounts'
+update performance_schema.accounts
+set current_connections=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'accounts'
+update performance_schema.accounts
+set current_connections=12 where host like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'accounts'
+delete from performance_schema.accounts
+where total_connections=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'accounts'
+delete from performance_schema.accounts;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'accounts'
+LOCK TABLES performance_schema.accounts READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.accounts WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_cond_instances.result b/mysql-test/suite/perfschema/r/dml_cond_instances.result
index 285c32090af..0b7d4e7188e 100644
--- a/mysql-test/suite/perfschema/r/dml_cond_instances.result
+++ b/mysql-test/suite/perfschema/r/dml_cond_instances.result
@@ -13,8 +13,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'cond_in
delete from performance_schema.cond_instances;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'cond_instances'
LOCK TABLES performance_schema.cond_instances READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'cond_instances'
UNLOCK TABLES;
LOCK TABLES performance_schema.cond_instances WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'cond_instances'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esgs_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esgs_by_account_by_event_name.result
new file mode 100644
index 00000000000..7157e18bdfd
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esgs_by_account_by_event_name.result
@@ -0,0 +1,26 @@
+select * from performance_schema.events_stages_summary_by_account_by_event_name
+where event_name like 'stage/%' limit 1;
+select * from performance_schema.events_stages_summary_by_account_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_stages_summary_by_account_by_event_name
+set event_name='FOO', user='BAR', host='BAZ',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_stages_summary_by_account_by_event_name'
+update performance_schema.events_stages_summary_by_account_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_account_by_event_name'
+update performance_schema.events_stages_summary_by_account_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_account_by_event_name'
+delete from performance_schema.events_stages_summary_by_account_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_account_by_event_name'
+delete from performance_schema.events_stages_summary_by_account_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_account_by_event_name'
+LOCK TABLES performance_schema.events_stages_summary_by_account_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_account_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_stages_summary_by_account_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_account_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esgs_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esgs_by_host_by_event_name.result
new file mode 100644
index 00000000000..7a157ead3c9
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esgs_by_host_by_event_name.result
@@ -0,0 +1,26 @@
+select * from performance_schema.events_stages_summary_by_host_by_event_name
+where event_name like 'stage/%' limit 1;
+select * from performance_schema.events_stages_summary_by_host_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_stages_summary_by_host_by_event_name
+set event_name='FOO', thread_id=1,
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_stages_summary_by_host_by_event_name'
+update performance_schema.events_stages_summary_by_host_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_host_by_event_name'
+update performance_schema.events_stages_summary_by_host_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_host_by_event_name'
+delete from performance_schema.events_stages_summary_by_host_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_host_by_event_name'
+delete from performance_schema.events_stages_summary_by_host_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_host_by_event_name'
+LOCK TABLES performance_schema.events_stages_summary_by_host_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_host_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_stages_summary_by_host_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_host_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esgs_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esgs_by_thread_by_event_name.result
new file mode 100644
index 00000000000..18b6214213a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esgs_by_thread_by_event_name.result
@@ -0,0 +1,26 @@
+select * from performance_schema.events_stages_summary_by_thread_by_event_name
+where event_name like 'stage/%' limit 1;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_stages_summary_by_thread_by_event_name
+set event_name='FOO', thread_id=1,
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_stages_summary_by_thread_by_event_name'
+update performance_schema.events_stages_summary_by_thread_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_thread_by_event_name'
+update performance_schema.events_stages_summary_by_thread_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_thread_by_event_name'
+delete from performance_schema.events_stages_summary_by_thread_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_thread_by_event_name'
+delete from performance_schema.events_stages_summary_by_thread_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_thread_by_event_name'
+LOCK TABLES performance_schema.events_stages_summary_by_thread_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_thread_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_stages_summary_by_thread_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_thread_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esgs_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esgs_by_user_by_event_name.result
new file mode 100644
index 00000000000..0ff678ca5a4
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esgs_by_user_by_event_name.result
@@ -0,0 +1,26 @@
+select * from performance_schema.events_stages_summary_by_user_by_event_name
+where event_name like 'stage/%' limit 1;
+select * from performance_schema.events_stages_summary_by_user_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_stages_summary_by_user_by_event_name
+set event_name='FOO', user='BAR',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_stages_summary_by_user_by_event_name'
+update performance_schema.events_stages_summary_by_user_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_user_by_event_name'
+update performance_schema.events_stages_summary_by_user_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_user_by_event_name'
+delete from performance_schema.events_stages_summary_by_user_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_user_by_event_name'
+delete from performance_schema.events_stages_summary_by_user_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_by_user_by_event_name'
+LOCK TABLES performance_schema.events_stages_summary_by_user_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_user_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_stages_summary_by_user_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_user_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esgs_global_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esgs_global_by_event_name.result
new file mode 100644
index 00000000000..07e127679b9
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esgs_global_by_event_name.result
@@ -0,0 +1,25 @@
+select * from performance_schema.events_stages_summary_global_by_event_name
+where event_name like 'stage/%' limit 1;
+select * from performance_schema.events_stages_summary_global_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_stages_summary_global_by_event_name
+set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_stages_summary_global_by_event_name'
+update performance_schema.events_stages_summary_global_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_global_by_event_name'
+update performance_schema.events_stages_summary_global_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_summary_global_by_event_name'
+delete from performance_schema.events_stages_summary_global_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_global_by_event_name'
+delete from performance_schema.events_stages_summary_global_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_summary_global_by_event_name'
+LOCK TABLES performance_schema.events_stages_summary_global_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_global_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_stages_summary_global_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_global_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esms_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esms_by_account_by_event_name.result
new file mode 100644
index 00000000000..57a9cd695dd
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esms_by_account_by_event_name.result
@@ -0,0 +1,26 @@
+select * from performance_schema.events_statements_summary_by_account_by_event_name
+where event_name like 'statement/%' limit 1;
+select * from performance_schema.events_statements_summary_by_account_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_statements_summary_by_account_by_event_name
+set event_name='FOO', user='BAR', host='BAZ',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_summary_by_account_by_event_name'
+update performance_schema.events_statements_summary_by_account_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_account_by_event_name'
+update performance_schema.events_statements_summary_by_account_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_account_by_event_name'
+delete from performance_schema.events_statements_summary_by_account_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_account_by_event_name'
+delete from performance_schema.events_statements_summary_by_account_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_account_by_event_name'
+LOCK TABLES performance_schema.events_statements_summary_by_account_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_account_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_statements_summary_by_account_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_account_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esms_by_digest.result b/mysql-test/suite/perfschema/r/dml_esms_by_digest.result
new file mode 100644
index 00000000000..f831b4c2e86
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esms_by_digest.result
@@ -0,0 +1,27 @@
+select * from performance_schema.events_statements_summary_by_digest
+where digest like 'XXYYZZ%' limit 1;
+SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED FIRST_SEEN LAST_SEEN
+select * from performance_schema.events_statements_summary_by_digest
+where digest='XXYYZZ';
+SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED FIRST_SEEN LAST_SEEN
+insert into performance_schema.events_statements_summary_by_digest
+set digest='XXYYZZ', count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_summary_by_digest'
+update performance_schema.events_statements_summary_by_digest
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_digest'
+update performance_schema.events_statements_summary_by_digest
+set count_star=12 where digest like "XXYYZZ";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_digest'
+delete from performance_schema.events_statements_summary_by_digest
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_digest'
+delete from performance_schema.events_statements_summary_by_digest;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_digest'
+LOCK TABLES performance_schema.events_statements_summary_by_digest READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_digest'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_statements_summary_by_digest WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_digest'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esms_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esms_by_host_by_event_name.result
new file mode 100644
index 00000000000..d98f6a7e0d6
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esms_by_host_by_event_name.result
@@ -0,0 +1,26 @@
+select * from performance_schema.events_statements_summary_by_host_by_event_name
+where event_name like 'statement/%' limit 1;
+select * from performance_schema.events_statements_summary_by_host_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_statements_summary_by_host_by_event_name
+set event_name='FOO', thread_id=1,
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_summary_by_host_by_event_name'
+update performance_schema.events_statements_summary_by_host_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_host_by_event_name'
+update performance_schema.events_statements_summary_by_host_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_host_by_event_name'
+delete from performance_schema.events_statements_summary_by_host_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_host_by_event_name'
+delete from performance_schema.events_statements_summary_by_host_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_host_by_event_name'
+LOCK TABLES performance_schema.events_statements_summary_by_host_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_host_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_statements_summary_by_host_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_host_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esms_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esms_by_thread_by_event_name.result
new file mode 100644
index 00000000000..9573798349c
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esms_by_thread_by_event_name.result
@@ -0,0 +1,26 @@
+select * from performance_schema.events_statements_summary_by_thread_by_event_name
+where event_name like 'statement/%' limit 1;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_statements_summary_by_thread_by_event_name
+set event_name='FOO', thread_id=1,
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_summary_by_thread_by_event_name'
+update performance_schema.events_statements_summary_by_thread_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_thread_by_event_name'
+update performance_schema.events_statements_summary_by_thread_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_thread_by_event_name'
+delete from performance_schema.events_statements_summary_by_thread_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_thread_by_event_name'
+delete from performance_schema.events_statements_summary_by_thread_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_thread_by_event_name'
+LOCK TABLES performance_schema.events_statements_summary_by_thread_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_thread_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_statements_summary_by_thread_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_thread_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esms_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esms_by_user_by_event_name.result
new file mode 100644
index 00000000000..950af5ca8b7
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esms_by_user_by_event_name.result
@@ -0,0 +1,26 @@
+select * from performance_schema.events_statements_summary_by_user_by_event_name
+where event_name like 'statement/%' limit 1;
+select * from performance_schema.events_statements_summary_by_user_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_statements_summary_by_user_by_event_name
+set event_name='FOO', user='BAR',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_summary_by_user_by_event_name'
+update performance_schema.events_statements_summary_by_user_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_user_by_event_name'
+update performance_schema.events_statements_summary_by_user_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_user_by_event_name'
+delete from performance_schema.events_statements_summary_by_user_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_user_by_event_name'
+delete from performance_schema.events_statements_summary_by_user_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_user_by_event_name'
+LOCK TABLES performance_schema.events_statements_summary_by_user_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_user_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_statements_summary_by_user_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_user_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_esms_global_by_event_name.result b/mysql-test/suite/perfschema/r/dml_esms_global_by_event_name.result
new file mode 100644
index 00000000000..e5623ed131d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_esms_global_by_event_name.result
@@ -0,0 +1,25 @@
+select * from performance_schema.events_statements_summary_global_by_event_name
+where event_name like 'statement/%' limit 1;
+select * from performance_schema.events_statements_summary_global_by_event_name
+where event_name='FOO';
+insert into performance_schema.events_statements_summary_global_by_event_name
+set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_summary_global_by_event_name'
+update performance_schema.events_statements_summary_global_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_global_by_event_name'
+update performance_schema.events_statements_summary_global_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_global_by_event_name'
+delete from performance_schema.events_statements_summary_global_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_global_by_event_name'
+delete from performance_schema.events_statements_summary_global_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_global_by_event_name'
+LOCK TABLES performance_schema.events_statements_summary_global_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_global_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_statements_summary_global_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_global_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_stages_current.result b/mysql-test/suite/perfschema/r/dml_events_stages_current.result
new file mode 100644
index 00000000000..7d0c3bed19c
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_events_stages_current.result
@@ -0,0 +1,25 @@
+select * from performance_schema.events_stages_current
+where event_name like 'stage/%' limit 1;
+select * from performance_schema.events_stages_current
+where event_name='FOO';
+insert into performance_schema.events_stages_current
+set thread_id='1', event_id=1,
+event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_stages_current'
+update performance_schema.events_stages_current
+set timer_start=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_current'
+update performance_schema.events_stages_current
+set timer_start=12 where thread_id=0;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_current'
+delete from performance_schema.events_stages_current
+where thread_id=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_current'
+delete from performance_schema.events_stages_current;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_current'
+LOCK TABLES performance_schema.events_stages_current READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_current'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_stages_current WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_current'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_stages_history.result b/mysql-test/suite/perfschema/r/dml_events_stages_history.result
new file mode 100644
index 00000000000..66047e9615b
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_events_stages_history.result
@@ -0,0 +1,29 @@
+select * from performance_schema.events_stages_history
+where event_name like 'stage/%' limit 1;
+select * from performance_schema.events_stages_history
+where event_name='FOO';
+select * from performance_schema.events_stages_history
+where event_name like 'stage/%' order by timer_wait limit 1;
+select * from performance_schema.events_stages_history
+where event_name like 'stage/%' order by timer_wait desc limit 1;
+insert into performance_schema.events_stages_history
+set thread_id='1', event_id=1,
+event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_stages_history'
+update performance_schema.events_stages_history
+set timer_start=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_history'
+update performance_schema.events_stages_history
+set timer_start=12 where thread_id=0;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_history'
+delete from performance_schema.events_stages_history
+where thread_id=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_history'
+delete from performance_schema.events_stages_history;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_history'
+LOCK TABLES performance_schema.events_stages_history READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_history'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_stages_history WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_history'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_stages_history_long.result b/mysql-test/suite/perfschema/r/dml_events_stages_history_long.result
new file mode 100644
index 00000000000..da1fae71aa5
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_events_stages_history_long.result
@@ -0,0 +1,29 @@
+select * from performance_schema.events_stages_history_long
+where event_name like 'stage/%' limit 1;
+select * from performance_schema.events_stages_history_long
+where event_name='FOO';
+select * from performance_schema.events_stages_history_long
+where event_name like 'stage/%' order by timer_wait limit 1;
+select * from performance_schema.events_stages_history_long
+where event_name like 'stage/%' order by timer_wait desc limit 1;
+insert into performance_schema.events_stages_history_long
+set thread_id='1', event_id=1,
+event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_stages_history_long'
+update performance_schema.events_stages_history_long
+set timer_start=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_history_long'
+update performance_schema.events_stages_history_long
+set timer_start=12 where thread_id=0;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_stages_history_long'
+delete from performance_schema.events_stages_history_long
+where thread_id=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_history_long'
+delete from performance_schema.events_stages_history_long;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_stages_history_long'
+LOCK TABLES performance_schema.events_stages_history_long READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_history_long'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_stages_history_long WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_history_long'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_statements_current.result b/mysql-test/suite/perfschema/r/dml_events_statements_current.result
new file mode 100644
index 00000000000..af18f0bba79
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_events_statements_current.result
@@ -0,0 +1,25 @@
+select * from performance_schema.events_statements_current
+where event_name like 'statement/%' limit 1;
+select * from performance_schema.events_statements_current
+where event_name='FOO';
+insert into performance_schema.events_statements_current
+set thread_id='1', event_id=1,
+event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_current'
+update performance_schema.events_statements_current
+set timer_start=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_current'
+update performance_schema.events_statements_current
+set timer_start=12 where thread_id=0;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_current'
+delete from performance_schema.events_statements_current
+where thread_id=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_current'
+delete from performance_schema.events_statements_current;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_current'
+LOCK TABLES performance_schema.events_statements_current READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_current'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_statements_current WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_current'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_statements_history.result b/mysql-test/suite/perfschema/r/dml_events_statements_history.result
new file mode 100644
index 00000000000..3f24f94196e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_events_statements_history.result
@@ -0,0 +1,29 @@
+select * from performance_schema.events_statements_history
+where event_name like 'statement/%' limit 1;
+select * from performance_schema.events_statements_history
+where event_name='FOO';
+select * from performance_schema.events_statements_history
+where event_name like 'statement/%' order by timer_wait limit 1;
+select * from performance_schema.events_statements_history
+where event_name like 'statement/%' order by timer_wait desc limit 1;
+insert into performance_schema.events_statements_history
+set thread_id='1', event_id=1,
+event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_history'
+update performance_schema.events_statements_history
+set timer_start=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_history'
+update performance_schema.events_statements_history
+set timer_start=12 where thread_id=0;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_history'
+delete from performance_schema.events_statements_history
+where thread_id=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_history'
+delete from performance_schema.events_statements_history;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_history'
+LOCK TABLES performance_schema.events_statements_history READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_history'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_statements_history WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_history'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_statements_history_long.result b/mysql-test/suite/perfschema/r/dml_events_statements_history_long.result
new file mode 100644
index 00000000000..88634e93bb5
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_events_statements_history_long.result
@@ -0,0 +1,29 @@
+select * from performance_schema.events_statements_history_long
+where event_name like 'statement/%' limit 1;
+select * from performance_schema.events_statements_history_long
+where event_name='FOO';
+select * from performance_schema.events_statements_history_long
+where event_name like 'statement/%' order by timer_wait limit 1;
+select * from performance_schema.events_statements_history_long
+where event_name like 'statement/%' order by timer_wait desc limit 1;
+insert into performance_schema.events_statements_history_long
+set thread_id='1', event_id=1,
+event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_history_long'
+update performance_schema.events_statements_history_long
+set timer_start=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_history_long'
+update performance_schema.events_statements_history_long
+set timer_start=12 where thread_id=0;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_history_long'
+delete from performance_schema.events_statements_history_long
+where thread_id=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_history_long'
+delete from performance_schema.events_statements_history_long;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_history_long'
+LOCK TABLES performance_schema.events_statements_history_long READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_history_long'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_statements_history_long WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_history_long'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_waits_current.result b/mysql-test/suite/perfschema/r/dml_events_waits_current.result
index 122cfcce4a1..53e2bc02bbb 100644
--- a/mysql-test/suite/perfschema/r/dml_events_waits_current.result
+++ b/mysql-test/suite/perfschema/r/dml_events_waits_current.result
@@ -18,8 +18,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
delete from performance_schema.events_waits_current;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_current'
LOCK TABLES performance_schema.events_waits_current READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current'
UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_current WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_waits_history.result b/mysql-test/suite/perfschema/r/dml_events_waits_history.result
index 199ccc1cfa5..4beb51aeaf5 100644
--- a/mysql-test/suite/perfschema/r/dml_events_waits_history.result
+++ b/mysql-test/suite/perfschema/r/dml_events_waits_history.result
@@ -22,8 +22,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
delete from performance_schema.events_waits_history;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_history'
LOCK TABLES performance_schema.events_waits_history READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history'
UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_history WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_waits_history_long.result b/mysql-test/suite/perfschema/r/dml_events_waits_history_long.result
index 773dcd3b1dc..13571fbf513 100644
--- a/mysql-test/suite/perfschema/r/dml_events_waits_history_long.result
+++ b/mysql-test/suite/perfschema/r/dml_events_waits_history_long.result
@@ -22,8 +22,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
delete from performance_schema.events_waits_history_long;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_history_long'
LOCK TABLES performance_schema.events_waits_history_long READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history_long'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history_long'
UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_history_long WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history_long'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history_long'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_ews_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ews_by_account_by_event_name.result
new file mode 100644
index 00000000000..a4808251228
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_ews_by_account_by_event_name.result
@@ -0,0 +1,29 @@
+select * from performance_schema.events_waits_summary_by_account_by_event_name
+where event_name like 'Wait/Synch/%' limit 1;
+USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+# # # # # # # #
+select * from performance_schema.events_waits_summary_by_account_by_event_name
+where event_name='FOO';
+USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+insert into performance_schema.events_waits_summary_by_account_by_event_name
+set event_name='FOO', user='BAR', host='BAZ',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_summary_by_account_by_event_name'
+update performance_schema.events_waits_summary_by_account_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_account_by_event_name'
+update performance_schema.events_waits_summary_by_account_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_account_by_event_name'
+delete from performance_schema.events_waits_summary_by_account_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_account_by_event_name'
+delete from performance_schema.events_waits_summary_by_account_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_account_by_event_name'
+LOCK TABLES performance_schema.events_waits_summary_by_account_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_account_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_waits_summary_by_account_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_account_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_ews_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ews_by_host_by_event_name.result
new file mode 100644
index 00000000000..2a250eee5a5
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_ews_by_host_by_event_name.result
@@ -0,0 +1,29 @@
+select * from performance_schema.events_waits_summary_by_host_by_event_name
+where event_name like 'Wait/Synch/%' limit 1;
+HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+# # # # # # #
+select * from performance_schema.events_waits_summary_by_host_by_event_name
+where event_name='FOO';
+HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+insert into performance_schema.events_waits_summary_by_host_by_event_name
+set event_name='FOO', thread_id=1,
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_summary_by_host_by_event_name'
+update performance_schema.events_waits_summary_by_host_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_host_by_event_name'
+update performance_schema.events_waits_summary_by_host_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_host_by_event_name'
+delete from performance_schema.events_waits_summary_by_host_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_host_by_event_name'
+delete from performance_schema.events_waits_summary_by_host_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_host_by_event_name'
+LOCK TABLES performance_schema.events_waits_summary_by_host_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_host_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_waits_summary_by_host_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_host_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_ews_by_instance.result b/mysql-test/suite/perfschema/r/dml_ews_by_instance.result
index 6ba37025d3b..17619918b01 100644
--- a/mysql-test/suite/perfschema/r/dml_ews_by_instance.result
+++ b/mysql-test/suite/perfschema/r/dml_ews_by_instance.result
@@ -27,8 +27,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
delete from performance_schema.events_waits_summary_by_instance;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
LOCK TABLES performance_schema.events_waits_summary_by_instance READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_summary_by_instance WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result
index a98acb5f536..879abf90f4b 100644
--- a/mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result
+++ b/mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result
@@ -19,8 +19,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
delete from performance_schema.events_waits_summary_by_thread_by_event_name;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_ews_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ews_by_user_by_event_name.result
new file mode 100644
index 00000000000..3fa3deedaef
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_ews_by_user_by_event_name.result
@@ -0,0 +1,29 @@
+select * from performance_schema.events_waits_summary_by_user_by_event_name
+where event_name like 'Wait/Synch/%' limit 1;
+USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+# # # # # # #
+select * from performance_schema.events_waits_summary_by_user_by_event_name
+where event_name='FOO';
+USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+insert into performance_schema.events_waits_summary_by_user_by_event_name
+set event_name='FOO', user='BAR',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_summary_by_user_by_event_name'
+update performance_schema.events_waits_summary_by_user_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_user_by_event_name'
+update performance_schema.events_waits_summary_by_user_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_user_by_event_name'
+delete from performance_schema.events_waits_summary_by_user_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_user_by_event_name'
+delete from performance_schema.events_waits_summary_by_user_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_user_by_event_name'
+LOCK TABLES performance_schema.events_waits_summary_by_user_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_user_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.events_waits_summary_by_user_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_user_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result
index 159adbd8022..ccf88c282b8 100644
--- a/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result
+++ b/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result
@@ -18,8 +18,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
delete from performance_schema.events_waits_summary_global_by_event_name;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
LOCK TABLES performance_schema.events_waits_summary_global_by_event_name READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_summary_global_by_event_name WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_file_instances.result b/mysql-test/suite/perfschema/r/dml_file_instances.result
index 4a8a7ac4d47..d2564cb58dd 100644
--- a/mysql-test/suite/perfschema/r/dml_file_instances.result
+++ b/mysql-test/suite/perfschema/r/dml_file_instances.result
@@ -13,8 +13,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_in
delete from performance_schema.file_instances;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_instances'
LOCK TABLES performance_schema.file_instances READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances'
UNLOCK TABLES;
LOCK TABLES performance_schema.file_instances WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result b/mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result
deleted file mode 100644
index a8a9fe852bb..00000000000
--- a/mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result
+++ /dev/null
@@ -1,25 +0,0 @@
-select * from performance_schema.file_summary_by_event_name
-where event_name like 'Wait/io/%' limit 1;
-select * from performance_schema.file_summary_by_event_name
-where event_name='FOO';
-insert into performance_schema.file_summary_by_event_name
-set event_name='FOO', count_read=1, count_write=2,
-sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
-update performance_schema.file_summary_by_event_name
-set count_read=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
-update performance_schema.file_summary_by_event_name
-set count_write=12 where event_name like "FOO";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
-delete from performance_schema.file_summary_by_event_name
-where count_read=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
-delete from performance_schema.file_summary_by_event_name;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
-LOCK TABLES performance_schema.file_summary_by_event_name READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
-UNLOCK TABLES;
-LOCK TABLES performance_schema.file_summary_by_event_name WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
-UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result b/mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result
deleted file mode 100644
index 456d6e31173..00000000000
--- a/mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result
+++ /dev/null
@@ -1,25 +0,0 @@
-select * from performance_schema.file_summary_by_instance
-where event_name like 'Wait/io/%' limit 1;
-select * from performance_schema.file_summary_by_instance
-where event_name='FOO';
-insert into performance_schema.file_summary_by_instance
-set event_name='FOO', count_read=1, count_write=2,
-sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
-update performance_schema.file_summary_by_instance
-set count_read=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
-update performance_schema.file_summary_by_instance
-set count_write=12 where event_name like "FOO";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
-delete from performance_schema.file_summary_by_instance
-where count_read=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
-delete from performance_schema.file_summary_by_instance;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
-LOCK TABLES performance_schema.file_summary_by_instance READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
-UNLOCK TABLES;
-LOCK TABLES performance_schema.file_summary_by_instance WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
-UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_fs_by_event_name.result b/mysql-test/suite/perfschema/r/dml_fs_by_event_name.result
new file mode 100644
index 00000000000..ffd63232631
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_fs_by_event_name.result
@@ -0,0 +1,25 @@
+select * from performance_schema.file_summary_by_event_name
+where event_name like 'Wait/io/%' limit 1;
+select * from performance_schema.file_summary_by_event_name
+where event_name='FOO';
+insert into performance_schema.file_summary_by_event_name
+set event_name='FOO', count_read=1, count_write=2,
+sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+update performance_schema.file_summary_by_event_name
+set count_read=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+update performance_schema.file_summary_by_event_name
+set count_write=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+delete from performance_schema.file_summary_by_event_name
+where count_read=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+delete from performance_schema.file_summary_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+LOCK TABLES performance_schema.file_summary_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.file_summary_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_fs_by_instance.result b/mysql-test/suite/perfschema/r/dml_fs_by_instance.result
new file mode 100644
index 00000000000..cde57dd19ce
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_fs_by_instance.result
@@ -0,0 +1,25 @@
+select * from performance_schema.file_summary_by_instance
+where event_name like 'Wait/io/%' limit 1;
+select * from performance_schema.file_summary_by_instance
+where event_name='FOO';
+insert into performance_schema.file_summary_by_instance
+set event_name='FOO', count_read=1, count_write=2,
+sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+update performance_schema.file_summary_by_instance
+set count_read=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+update performance_schema.file_summary_by_instance
+set count_write=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+delete from performance_schema.file_summary_by_instance
+where count_read=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+delete from performance_schema.file_summary_by_instance;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+LOCK TABLES performance_schema.file_summary_by_instance READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.file_summary_by_instance WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_handler.result b/mysql-test/suite/perfschema/r/dml_handler.result
new file mode 100644
index 00000000000..2a1cc7035af
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_handler.result
@@ -0,0 +1,168 @@
+
+# Create a temporary table of performance schema table names
+
+CREATE TEMPORARY TABLE table_list (id INT AUTO_INCREMENT, PRIMARY KEY (id)) AS
+SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_SCHEMA='performance_schema';
+SELECT COUNT(*) FROM table_list INTO @table_count;
+
+# For each table in the performance schema, attempt HANDLER...OPEN,
+# which should fail with an error 1031, ER_ILLEGAL_HA.
+
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=52;
+HANDLER performance_schema.users OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`users` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=51;
+HANDLER performance_schema.threads OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`threads` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=50;
+HANDLER performance_schema.table_lock_waits_summary_by_table OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`table_lock_waits_summary_by_table` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=49;
+HANDLER performance_schema.table_io_waits_summary_by_table OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`table_io_waits_summary_by_table` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=48;
+HANDLER performance_schema.table_io_waits_summary_by_index_usage OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`table_io_waits_summary_by_index_usage` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=47;
+HANDLER performance_schema.socket_summary_by_instance OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`socket_summary_by_instance` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=46;
+HANDLER performance_schema.socket_summary_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`socket_summary_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=45;
+HANDLER performance_schema.socket_instances OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`socket_instances` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=44;
+HANDLER performance_schema.setup_timers OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`setup_timers` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=43;
+HANDLER performance_schema.setup_objects OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`setup_objects` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=42;
+HANDLER performance_schema.setup_instruments OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`setup_instruments` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=41;
+HANDLER performance_schema.setup_consumers OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`setup_consumers` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=40;
+HANDLER performance_schema.setup_actors OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`setup_actors` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=39;
+HANDLER performance_schema.session_connect_attrs OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`session_connect_attrs` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=38;
+HANDLER performance_schema.session_account_connect_attrs OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`session_account_connect_attrs` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=37;
+HANDLER performance_schema.rwlock_instances OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`rwlock_instances` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=36;
+HANDLER performance_schema.performance_timers OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`performance_timers` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=35;
+HANDLER performance_schema.objects_summary_global_by_type OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`objects_summary_global_by_type` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=34;
+HANDLER performance_schema.mutex_instances OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`mutex_instances` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=33;
+HANDLER performance_schema.hosts OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`hosts` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=32;
+HANDLER performance_schema.host_cache OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`host_cache` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=31;
+HANDLER performance_schema.file_summary_by_instance OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`file_summary_by_instance` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=30;
+HANDLER performance_schema.file_summary_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`file_summary_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=29;
+HANDLER performance_schema.file_instances OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`file_instances` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=28;
+HANDLER performance_schema.events_waits_summary_global_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_waits_summary_global_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=27;
+HANDLER performance_schema.events_waits_summary_by_user_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_waits_summary_by_user_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=26;
+HANDLER performance_schema.events_waits_summary_by_thread_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_waits_summary_by_thread_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=25;
+HANDLER performance_schema.events_waits_summary_by_instance OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_waits_summary_by_instance` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=24;
+HANDLER performance_schema.events_waits_summary_by_host_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_waits_summary_by_host_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=23;
+HANDLER performance_schema.events_waits_summary_by_account_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_waits_summary_by_account_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=22;
+HANDLER performance_schema.events_waits_history_long OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_waits_history_long` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=21;
+HANDLER performance_schema.events_waits_history OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_waits_history` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=20;
+HANDLER performance_schema.events_waits_current OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_waits_current` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=19;
+HANDLER performance_schema.events_statements_summary_global_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_statements_summary_global_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=18;
+HANDLER performance_schema.events_statements_summary_by_user_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_statements_summary_by_user_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=17;
+HANDLER performance_schema.events_statements_summary_by_thread_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_statements_summary_by_thread_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=16;
+HANDLER performance_schema.events_statements_summary_by_host_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_statements_summary_by_host_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=15;
+HANDLER performance_schema.events_statements_summary_by_digest OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_statements_summary_by_digest` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=14;
+HANDLER performance_schema.events_statements_summary_by_account_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_statements_summary_by_account_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=13;
+HANDLER performance_schema.events_statements_history_long OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_statements_history_long` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=12;
+HANDLER performance_schema.events_statements_history OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_statements_history` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=11;
+HANDLER performance_schema.events_statements_current OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_statements_current` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=10;
+HANDLER performance_schema.events_stages_summary_global_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_stages_summary_global_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=9;
+HANDLER performance_schema.events_stages_summary_by_user_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_stages_summary_by_user_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=8;
+HANDLER performance_schema.events_stages_summary_by_thread_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_stages_summary_by_thread_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=7;
+HANDLER performance_schema.events_stages_summary_by_host_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_stages_summary_by_host_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=6;
+HANDLER performance_schema.events_stages_summary_by_account_by_event_name OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_stages_summary_by_account_by_event_name` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=5;
+HANDLER performance_schema.events_stages_history_long OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_stages_history_long` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=4;
+HANDLER performance_schema.events_stages_history OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_stages_history` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=3;
+HANDLER performance_schema.events_stages_current OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`events_stages_current` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=2;
+HANDLER performance_schema.cond_instances OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`cond_instances` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=1;
+HANDLER performance_schema.accounts OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`accounts` doesn't have this option
+DROP TEMPORARY TABLE table_list;
diff --git a/mysql-test/suite/perfschema/r/dml_host_cache.result b/mysql-test/suite/perfschema/r/dml_host_cache.result
new file mode 100644
index 00000000000..a0ed1a3f3b1
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_host_cache.result
@@ -0,0 +1,27 @@
+select * from performance_schema.host_cache
+where IP like '%' limit 1;
+select * from performance_schema.host_cache
+where IP='localhost';
+insert into performance_schema.host_cache
+set IP='FOO', SUM_BLOCKING_ERRORS=1, COUNT_FCRDNS_ERRORS=2;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'host_cache'
+update performance_schema.host_cache
+set COUNT_UNKNOWN_ERRORS=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'host_cache'
+update performance_schema.host_cache
+set SUM_BLOCKING_ERRORS=12 where IP='127.0.0.1';
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'host_cache'
+select HOST from performance_schema.host_cache
+where IP='::1';
+HOST
+delete from performance_schema.host_cache
+where IP='::1';
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'host_cache'
+delete from performance_schema.host_cache;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'host_cache'
+LOCK TABLES performance_schema.host_cache READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'host_cache'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.host_cache WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'host_cache'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_hosts.result b/mysql-test/suite/perfschema/r/dml_hosts.result
new file mode 100644
index 00000000000..8ae4e3b0984
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_hosts.result
@@ -0,0 +1,25 @@
+select * from performance_schema.hosts
+limit 1;
+select * from performance_schema.hosts
+where host='FOO';
+insert into performance_schema.hosts
+set host='FOO',
+current_connections=1, total_connections=2;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'hosts'
+update performance_schema.hosts
+set current_connections=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'hosts'
+update performance_schema.hosts
+set current_connections=12 where host like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'hosts'
+delete from performance_schema.hosts
+where total_connections=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'hosts'
+delete from performance_schema.hosts;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'hosts'
+LOCK TABLES performance_schema.hosts READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'hosts'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.hosts WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'hosts'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_mutex_instances.result b/mysql-test/suite/perfschema/r/dml_mutex_instances.result
index 665517c7227..03d2cfb1260 100644
--- a/mysql-test/suite/perfschema/r/dml_mutex_instances.result
+++ b/mysql-test/suite/perfschema/r/dml_mutex_instances.result
@@ -13,8 +13,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'mutex_i
delete from performance_schema.mutex_instances;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'mutex_instances'
LOCK TABLES performance_schema.mutex_instances READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'mutex_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'mutex_instances'
UNLOCK TABLES;
LOCK TABLES performance_schema.mutex_instances WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'mutex_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'mutex_instances'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_os_global_by_type.result b/mysql-test/suite/perfschema/r/dml_os_global_by_type.result
new file mode 100644
index 00000000000..681ec364973
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_os_global_by_type.result
@@ -0,0 +1,45 @@
+select * from performance_schema.objects_summary_global_by_type
+where object_schema = 'performance_schema' limit 1;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+# # # # # # # #
+select * from performance_schema.objects_summary_global_by_type
+where object_schema='FOO';
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.objects_summary_global_by_type
+order by count_star limit 1;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+# # # # # # # #
+select * from performance_schema.objects_summary_global_by_type
+order by count_star desc limit 1;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+# # # # # # # #
+select * from performance_schema.objects_summary_global_by_type
+where object_type = 'TABLE' order by object_schema, object_name limit 1;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+# # # # # # # #
+select * from performance_schema.objects_summary_global_by_type
+where object_type = 'TABLE' order by object_schema desc, object_name desc limit 1;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+# # # # # # # #
+insert into performance_schema.objects_summary_global_by_type
+set object_type='TABLE', schema_name='FOO', object_name='BAR',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'objects_summary_global_by_type'
+update performance_schema.objects_summary_global_by_type
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'objects_summary_global_by_type'
+update performance_schema.objects_summary_global_by_type
+set count_star=12 where object_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'objects_summary_global_by_type'
+delete from performance_schema.objects_summary_global_by_type
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'objects_summary_global_by_type'
+delete from performance_schema.objects_summary_global_by_type;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'objects_summary_global_by_type'
+LOCK TABLES performance_schema.objects_summary_global_by_type READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'objects_summary_global_by_type'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.objects_summary_global_by_type WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'objects_summary_global_by_type'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_performance_timers.result b/mysql-test/suite/perfschema/r/dml_performance_timers.result
index f345cce921e..7e1d3005fb0 100644
--- a/mysql-test/suite/perfschema/r/dml_performance_timers.result
+++ b/mysql-test/suite/perfschema/r/dml_performance_timers.result
@@ -22,8 +22,8 @@ delete from performance_schema.performance_timers
where timer_name='CYCLE';
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'performance_timers'
LOCK TABLES performance_schema.performance_timers READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'performance_timers'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'performance_timers'
UNLOCK TABLES;
LOCK TABLES performance_schema.performance_timers WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'performance_timers'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'performance_timers'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_rwlock_instances.result b/mysql-test/suite/perfschema/r/dml_rwlock_instances.result
index b072eea3955..e127ace2dfe 100644
--- a/mysql-test/suite/perfschema/r/dml_rwlock_instances.result
+++ b/mysql-test/suite/perfschema/r/dml_rwlock_instances.result
@@ -13,8 +13,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'rwlock_
delete from performance_schema.rwlock_instances;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'rwlock_instances'
LOCK TABLES performance_schema.rwlock_instances READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'rwlock_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'rwlock_instances'
UNLOCK TABLES;
LOCK TABLES performance_schema.rwlock_instances WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'rwlock_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'rwlock_instances'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_session_account_connect_attrs.result b/mysql-test/suite/perfschema/r/dml_session_account_connect_attrs.result
new file mode 100644
index 00000000000..61b1cddd513
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_session_account_connect_attrs.result
@@ -0,0 +1,25 @@
+SELECT * FROM performance_schema.session_account_connect_attrs
+LIMIT 1;
+SELECT * FROM performance_schema.session_account_connect_attrs
+where ATTR_NAME='FOO' OR ATTR_VALUE='BAR';
+INSERT INTO performance_schema.session_account_connect_attrs
+SET ATTR_NAME='FOO', ATTR_VALUE='BAR',
+ORDINAL_POSITION=100, PROCESS_ID=102;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'session_account_connect_attrs'
+UPDATE performance_schema.session_account_connect_attrs
+SET ATTR_NAME='FOO';
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'session_account_connect_attrs'
+UPDATE performance_schema.session_account_connect_attrs
+SET ATTR_NAME='FOO' WHERE ATTR_VALUE='BAR';
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'session_account_connect_attrs'
+DELETE FROM performance_schema.session_account_connect_attrs
+WHERE ATTR_VALUE='BAR';
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'session_account_connect_attrs'
+DELETE FROM performance_schema.session_account_connect_attrs;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'session_account_connect_attrs'
+LOCK TABLES performance_schema.session_account_connect_attrs READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_account_connect_attrs'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.session_account_connect_attrs WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_account_connect_attrs'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_session_connect_attrs.result b/mysql-test/suite/perfschema/r/dml_session_connect_attrs.result
new file mode 100644
index 00000000000..d1dea1472d4
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_session_connect_attrs.result
@@ -0,0 +1,25 @@
+SELECT * FROM performance_schema.session_connect_attrs
+LIMIT 1;
+SELECT * FROM performance_schema.session_connect_attrs
+where ATTR_NAME='FOO' OR ATTR_VALUE='BAR';
+INSERT INTO performance_schema.session_connect_attrs
+SET ATTR_NAME='FOO', ATTR_VALUE='BAR',
+ORDINAL_POSITION=100, PROCESS_ID=102;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'session_connect_attrs'
+UPDATE performance_schema.session_connect_attrs
+SET ATTR_NAME='FOO';
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'session_connect_attrs'
+UPDATE performance_schema.session_connect_attrs
+SET ATTR_NAME='FOO' WHERE ATTR_VALUE='BAR';
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'session_connect_attrs'
+DELETE FROM performance_schema.session_connect_attrs
+WHERE ATTR_VALUE='BAR';
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'session_connect_attrs'
+DELETE FROM performance_schema.session_connect_attrs;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'session_connect_attrs'
+LOCK TABLES performance_schema.session_connect_attrs READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_connect_attrs'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.session_connect_attrs WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_connect_attrs'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_setup_actors.result b/mysql-test/suite/perfschema/r/dml_setup_actors.result
new file mode 100644
index 00000000000..9ff49d8b7e2
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_setup_actors.result
@@ -0,0 +1,60 @@
+drop table if exists test.setup_actors;
+create table test.setup_actors as
+select * from performance_schema.setup_actors;
+truncate table performance_schema.setup_actors;
+select * from performance_schema.setup_actors;
+HOST USER ROLE
+select * from performance_schema.setup_actors
+where user = '%';
+HOST USER ROLE
+insert into performance_schema.setup_actors
+set user='Joe', host='localhost';
+insert into performance_schema.setup_actors
+set user='Joe', host='%';
+insert into performance_schema.setup_actors
+set user='%', host='server1';
+insert into performance_schema.setup_actors
+set user='%', host='%';
+select * from performance_schema.setup_actors
+order by USER, HOST;
+HOST USER ROLE
+% % %
+server1 % %
+% Joe %
+localhost Joe %
+update performance_schema.setup_actors
+set user='ILLEGAL';
+ERROR HY000: Invalid performance_schema usage.
+update performance_schema.setup_actors
+set host='ILLEGAL';
+ERROR HY000: Invalid performance_schema usage.
+update performance_schema.setup_actors
+set role='ILLEGAL';
+ERROR HY000: Invalid performance_schema usage.
+select * from performance_schema.setup_actors
+order by USER, HOST;
+HOST USER ROLE
+% % %
+server1 % %
+% Joe %
+localhost Joe %
+delete from performance_schema.setup_actors
+where user = 'Joe' and host = 'localhost';
+select * from performance_schema.setup_actors
+order by USER, HOST;
+HOST USER ROLE
+% % %
+server1 % %
+% Joe %
+delete from performance_schema.setup_actors;
+select * from performance_schema.setup_actors
+order by USER, HOST;
+HOST USER ROLE
+LOCK TABLES performance_schema.setup_actors READ;
+UNLOCK TABLES;
+LOCK TABLES performance_schema.setup_actors WRITE;
+UNLOCK TABLES;
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+select * from test.setup_actors;
+drop table test.setup_actors;
diff --git a/mysql-test/suite/perfschema/r/dml_setup_consumers.result b/mysql-test/suite/perfschema/r/dml_setup_consumers.result
index db0a6820de9..81fa27a3fdf 100644
--- a/mysql-test/suite/perfschema/r/dml_setup_consumers.result
+++ b/mysql-test/suite/perfschema/r/dml_setup_consumers.result
@@ -1,13 +1,17 @@
select * from performance_schema.setup_consumers;
NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
events_waits_current YES
events_waits_history YES
events_waits_history_long YES
-events_waits_summary_by_thread_by_event_name YES
-events_waits_summary_by_event_name YES
-events_waits_summary_by_instance YES
-file_summary_by_event_name YES
-file_summary_by_instance YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
select * from performance_schema.setup_consumers
where name='events_waits_current';
NAME ENABLED
@@ -15,14 +19,18 @@ events_waits_current YES
select * from performance_schema.setup_consumers
where enabled='YES';
NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
events_waits_current YES
events_waits_history YES
events_waits_history_long YES
-events_waits_summary_by_thread_by_event_name YES
-events_waits_summary_by_event_name YES
-events_waits_summary_by_instance YES
-file_summary_by_event_name YES
-file_summary_by_instance YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
select * from performance_schema.setup_consumers
where enabled='NO';
NAME ENABLED
diff --git a/mysql-test/suite/perfschema/r/dml_setup_instruments.result b/mysql-test/suite/perfschema/r/dml_setup_instruments.result
index 9f48a085eca..14ed8eb2def 100644
--- a/mysql-test/suite/perfschema/r/dml_setup_instruments.result
+++ b/mysql-test/suite/perfschema/r/dml_setup_instruments.result
@@ -7,16 +7,18 @@ NAME ENABLED TIMED
wait/synch/mutex/sql/Cversion_lock YES YES
wait/synch/mutex/sql/Delayed_insert::mutex YES YES
wait/synch/mutex/sql/Event_scheduler::LOCK_scheduler_state YES YES
+wait/synch/mutex/sql/gtid_waiting::LOCK_gtid_waiting YES YES
wait/synch/mutex/sql/hash_filo::lock YES YES
wait/synch/mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc YES YES
wait/synch/mutex/sql/LOCK_active_mi YES YES
+wait/synch/mutex/sql/LOCK_after_binlog_sync YES YES
wait/synch/mutex/sql/LOCK_audit_mask YES YES
-wait/synch/mutex/sql/LOCK_commit_ordered YES YES
-wait/synch/mutex/sql/LOCK_connection_count YES YES
-wait/synch/mutex/sql/LOCK_crypt YES YES
+wait/synch/mutex/sql/LOCK_binlog_state YES YES
select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Rwlock/sql/%'
- and name not in ('wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock')
+ and name not in (
+'wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock',
+'wait/synch/rwlock/sql/LOCK_named_pipe_full_access_group')
order by name limit 10;
NAME ENABLED TIMED
wait/synch/rwlock/sql/LOCK_dboptions YES YES
@@ -37,15 +39,15 @@ where name like 'Wait/Synch/Cond/sql/%'
order by name limit 10;
NAME ENABLED TIMED
wait/synch/cond/sql/COND_flush_thread_cache YES YES
+wait/synch/cond/sql/COND_group_commit_orderer YES YES
+wait/synch/cond/sql/COND_gtid_ignore_duplicates YES YES
wait/synch/cond/sql/COND_manager YES YES
+wait/synch/cond/sql/COND_parallel_entry YES YES
+wait/synch/cond/sql/COND_prepare_ordered YES YES
wait/synch/cond/sql/COND_queue_state YES YES
-wait/synch/cond/sql/COND_rpl_status YES YES
-wait/synch/cond/sql/COND_server_started YES YES
-wait/synch/cond/sql/COND_thread_cache YES YES
-wait/synch/cond/sql/COND_thread_count YES YES
-wait/synch/cond/sql/Delayed_insert::cond YES YES
-wait/synch/cond/sql/Delayed_insert::cond_client YES YES
-wait/synch/cond/sql/Event_scheduler::COND_state YES YES
+wait/synch/cond/sql/COND_rpl_thread YES YES
+wait/synch/cond/sql/COND_rpl_thread_pool YES YES
+wait/synch/cond/sql/COND_rpl_thread_queue YES YES
select * from performance_schema.setup_instruments
where name='Wait';
select * from performance_schema.setup_instruments
@@ -72,3 +74,9 @@ LOCK TABLES performance_schema.setup_instruments READ;
UNLOCK TABLES;
LOCK TABLES performance_schema.setup_instruments WRITE;
UNLOCK TABLES;
+
+# Bug#13813193 ASSERTION `TABLE->READ_SET ==
+# &TABLE->DEF_READ_SET' FAILED / MYSQL_UPDATE
+
+UPDATE performance_schema.setup_instruments SET timed='NO'
+ORDER BY RAND();
diff --git a/mysql-test/suite/perfschema/r/dml_setup_objects.result b/mysql-test/suite/perfschema/r/dml_setup_objects.result
new file mode 100644
index 00000000000..603c9ba6cc9
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_setup_objects.result
@@ -0,0 +1,67 @@
+drop table if exists test.setup_objects;
+create table test.setup_objects as
+select * from performance_schema.setup_objects;
+truncate table performance_schema.setup_objects;
+select * from performance_schema.setup_objects;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+select * from performance_schema.setup_objects
+where object_type = 'TABLE'
+ order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+insert into performance_schema.setup_objects
+set object_type='ILLEGAL', object_schema='FOO', object_name='BAR',
+enabled='YES', timed='YES';
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails
+insert into performance_schema.setup_objects
+set object_type='TABLE', object_schema='FOO', object_name='BAR',
+enabled='YES', timed='YES';
+insert into performance_schema.setup_objects
+set object_type='TABLE', object_schema='FOO', object_name='BAR',
+enabled='YES', timed='NO';
+ERROR 23000: Can't write; duplicate key in table 'setup_objects'
+delete from performance_schema.setup_objects
+where object_type='TABLE' and object_schema='FOO';
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+insert into performance_schema.setup_objects
+set object_type='TABLE', object_schema='FOO', object_name='BAR',
+enabled='NO', timed='YES';
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE FOO BAR NO YES
+update performance_schema.setup_objects
+set object_type='ILLEGAL';
+ERROR HY000: Invalid performance_schema usage.
+update performance_schema.setup_objects
+set object_schema='ILLEGAL';
+ERROR HY000: Invalid performance_schema usage.
+update performance_schema.setup_objects
+set object_name='ILLEGAL';
+ERROR HY000: Invalid performance_schema usage.
+update performance_schema.setup_objects
+set enabled='NO', timed='NO';
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE FOO BAR NO NO
+update performance_schema.setup_objects
+set enabled='YES', timed='YES';
+delete from performance_schema.setup_objects
+where object_type = 'TABLE';
+delete from performance_schema.setup_objects;
+LOCK TABLES performance_schema.setup_objects READ;
+UNLOCK TABLES;
+LOCK TABLES performance_schema.setup_objects WRITE;
+UNLOCK TABLES;
+truncate table performance_schema.setup_objects;
+insert into performance_schema.setup_objects
+select * from test.setup_objects;
+drop table test.setup_objects;
diff --git a/mysql-test/suite/perfschema/r/dml_setup_timers.result b/mysql-test/suite/perfschema/r/dml_setup_timers.result
index ad1f6df3e81..1667e58f7ed 100644
--- a/mysql-test/suite/perfschema/r/dml_setup_timers.result
+++ b/mysql-test/suite/perfschema/r/dml_setup_timers.result
@@ -1,6 +1,17 @@
+update performance_schema.setup_timers
+set timer_name='CYCLE' where name="wait";
+update performance_schema.setup_timers
+set timer_name='NANOSECOND' where name="stage";
+update performance_schema.setup_timers
+set timer_name='NANOSECOND' where name="statement";
+update performance_schema.setup_timers
+set timer_name='MICROSECOND' where name="idle";
select * from performance_schema.setup_timers;
NAME TIMER_NAME
+idle MICROSECOND
wait CYCLE
+stage NANOSECOND
+statement NANOSECOND
select * from performance_schema.setup_timers
where name='Wait';
NAME TIMER_NAME
@@ -19,7 +30,10 @@ update performance_schema.setup_timers
set timer_name='MILLISECOND';
select * from performance_schema.setup_timers;
NAME TIMER_NAME
+idle MILLISECOND
wait MILLISECOND
+stage MILLISECOND
+statement MILLISECOND
update performance_schema.setup_timers
set timer_name='CYCLE';
delete from performance_schema.setup_timers;
@@ -31,3 +45,17 @@ LOCK TABLES performance_schema.setup_timers READ;
UNLOCK TABLES;
LOCK TABLES performance_schema.setup_timers WRITE;
UNLOCK TABLES;
+update performance_schema.setup_timers
+set timer_name='CYCLE' where name="wait";
+update performance_schema.setup_timers
+set timer_name='NANOSECOND' where name="stage";
+update performance_schema.setup_timers
+set timer_name='NANOSECOND' where name="statement";
+update performance_schema.setup_timers
+set timer_name='MICROSECOND' where name="idle";
+select * from performance_schema.setup_timers;
+NAME TIMER_NAME
+idle MICROSECOND
+wait CYCLE
+stage NANOSECOND
+statement NANOSECOND
diff --git a/mysql-test/suite/perfschema/r/dml_socket_instances.result b/mysql-test/suite/perfschema/r/dml_socket_instances.result
new file mode 100644
index 00000000000..957f9bf9080
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_socket_instances.result
@@ -0,0 +1,20 @@
+select * from performance_schema.socket_instances limit 1;
+select * from performance_schema.socket_instances
+where ip='FOO';
+insert into performance_schema.socket_instances
+set ip='FOO', event_name='BAR', port=12;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'socket_instances'
+update performance_schema.socket_instances
+set ip='FOO';
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'socket_instances'
+delete from performance_schema.socket_instances
+where event_name like "wait/%";
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'socket_instances'
+delete from performance_schema.socket_instances;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'socket_instances'
+LOCK TABLES performance_schema.socket_instances READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_instances'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.socket_instances WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_instances'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_socket_summary_by_event_name.result b/mysql-test/suite/perfschema/r/dml_socket_summary_by_event_name.result
new file mode 100644
index 00000000000..39d14f413db
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_socket_summary_by_event_name.result
@@ -0,0 +1,26 @@
+select * from performance_schema.socket_summary_by_event_name
+limit 1;
+select * from performance_schema.socket_summary_by_event_name
+where event_name='FOO';
+insert into performance_schema.socket_summary_by_event_name
+set event_name='FOO',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'socket_summary_by_event_name'
+update performance_schema.socket_summary_by_event_name
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'socket_summary_by_event_name'
+update performance_schema.socket_summary_by_event_name
+set count_star=12 where event_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'socket_summary_by_event_name'
+delete from performance_schema.socket_summary_by_event_name
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'socket_summary_by_event_name'
+delete from performance_schema.socket_summary_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'socket_summary_by_event_name'
+LOCK TABLES performance_schema.socket_summary_by_event_name READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_summary_by_event_name'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.socket_summary_by_event_name WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_summary_by_event_name'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_socket_summary_by_instance.result b/mysql-test/suite/perfschema/r/dml_socket_summary_by_instance.result
new file mode 100644
index 00000000000..35ad763d9a7
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_socket_summary_by_instance.result
@@ -0,0 +1,26 @@
+select * from performance_schema.socket_summary_by_instance
+limit 1;
+select * from performance_schema.socket_summary_by_instance
+where object_instance_begin='FOO';
+insert into performance_schema.socket_summary_by_instance
+set object_instance_begin=1,
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'socket_summary_by_instance'
+update performance_schema.socket_summary_by_instance
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'socket_summary_by_instance'
+update performance_schema.socket_summary_by_instance
+set count_star=12 where object_instance_begin like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'socket_summary_by_instance'
+delete from performance_schema.socket_summary_by_instance
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'socket_summary_by_instance'
+delete from performance_schema.socket_summary_by_instance;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'socket_summary_by_instance'
+LOCK TABLES performance_schema.socket_summary_by_instance READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_summary_by_instance'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.socket_summary_by_instance WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_summary_by_instance'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_threads.result b/mysql-test/suite/perfschema/r/dml_threads.result
index b78d1934d1f..96fb1541df0 100644
--- a/mysql-test/suite/perfschema/r/dml_threads.result
+++ b/mysql-test/suite/perfschema/r/dml_threads.result
@@ -7,18 +7,28 @@ set name='FOO', thread_id=1, processlist_id=2;
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'threads'
update performance_schema.threads
set thread_id=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'threads'
+ERROR HY000: Invalid performance_schema usage.
update performance_schema.threads
-set thread_id=12 where name like "FOO";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'threads'
+set thread_id=12 where PROCESSLIST_ID=connection_id();
+ERROR HY000: Invalid performance_schema usage.
+update performance_schema.threads
+set instrumented= 'NO' where PROCESSLIST_ID=connection_id();
+select instrumented from performance_schema.threads
+where PROCESSLIST_ID=connection_id();
+instrumented
+NO
+update performance_schema.threads
+set instrumented= 'YES' where PROCESSLIST_ID=connection_id();
+select instrumented from performance_schema.threads
+where PROCESSLIST_ID=connection_id();
+instrumented
+YES
delete from performance_schema.threads
where id=1;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'threads'
delete from performance_schema.threads;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'threads'
LOCK TABLES performance_schema.threads READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'threads'
UNLOCK TABLES;
LOCK TABLES performance_schema.threads WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'threads'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_tiws_by_index_usage.result b/mysql-test/suite/perfschema/r/dml_tiws_by_index_usage.result
new file mode 100644
index 00000000000..cf1ed766731
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_tiws_by_index_usage.result
@@ -0,0 +1,26 @@
+select * from performance_schema.table_io_waits_summary_by_index_usage
+limit 1;
+select * from performance_schema.table_io_waits_summary_by_index_usage
+where object_name='FOO';
+insert into performance_schema.table_io_waits_summary_by_index_usage
+set object_type='TABLE', object_name='FOO', object_schema='BAR',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_index_usage'
+update performance_schema.table_io_waits_summary_by_index_usage
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_index_usage'
+update performance_schema.table_io_waits_summary_by_index_usage
+set count_star=12 where object_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_index_usage'
+delete from performance_schema.table_io_waits_summary_by_index_usage
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_index_usage'
+delete from performance_schema.table_io_waits_summary_by_index_usage;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_index_usage'
+LOCK TABLES performance_schema.table_io_waits_summary_by_index_usage READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_index_usage'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.table_io_waits_summary_by_index_usage WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_index_usage'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_tiws_by_table.result b/mysql-test/suite/perfschema/r/dml_tiws_by_table.result
new file mode 100644
index 00000000000..1ec1940194a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_tiws_by_table.result
@@ -0,0 +1,26 @@
+select * from performance_schema.table_io_waits_summary_by_table
+limit 1;
+select * from performance_schema.table_io_waits_summary_by_table
+where object_name='FOO';
+insert into performance_schema.table_io_waits_summary_by_table
+set object_type='TABLE', object_name='FOO', object_schema='BAR',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_table'
+update performance_schema.table_io_waits_summary_by_table
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_table'
+update performance_schema.table_io_waits_summary_by_table
+set count_star=12 where object_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_table'
+delete from performance_schema.table_io_waits_summary_by_table
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_table'
+delete from performance_schema.table_io_waits_summary_by_table;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_table'
+LOCK TABLES performance_schema.table_io_waits_summary_by_table READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_table'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.table_io_waits_summary_by_table WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_table'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_tlws_by_table.result b/mysql-test/suite/perfschema/r/dml_tlws_by_table.result
new file mode 100644
index 00000000000..1d39794d6c8
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_tlws_by_table.result
@@ -0,0 +1,26 @@
+select * from performance_schema.table_lock_waits_summary_by_table
+limit 1;
+select * from performance_schema.table_lock_waits_summary_by_table
+where object_name='FOO';
+insert into performance_schema.table_lock_waits_summary_by_table
+set object_type='TABLE', object_name='FOO', object_schema='BAR',
+count_star=1, sum_timer_wait=2, min_timer_wait=3,
+avg_timer_wait=4, max_timer_wait=5;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'table_lock_waits_summary_by_table'
+update performance_schema.table_lock_waits_summary_by_table
+set count_star=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'table_lock_waits_summary_by_table'
+update performance_schema.table_lock_waits_summary_by_table
+set count_star=12 where object_name like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'table_lock_waits_summary_by_table'
+delete from performance_schema.table_lock_waits_summary_by_table
+where count_star=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'table_lock_waits_summary_by_table'
+delete from performance_schema.table_lock_waits_summary_by_table;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'table_lock_waits_summary_by_table'
+LOCK TABLES performance_schema.table_lock_waits_summary_by_table READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_lock_waits_summary_by_table'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.table_lock_waits_summary_by_table WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_lock_waits_summary_by_table'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_users.result b/mysql-test/suite/perfschema/r/dml_users.result
new file mode 100644
index 00000000000..fa2d29731da
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/dml_users.result
@@ -0,0 +1,25 @@
+select * from performance_schema.users
+limit 1;
+select * from performance_schema.users
+where user='FOO';
+insert into performance_schema.users
+set user='FOO',
+current_connections=1, total_connections=2;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'users'
+update performance_schema.users
+set current_connections=12;
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'users'
+update performance_schema.users
+set current_connections=12 where user like "FOO";
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'users'
+delete from performance_schema.users
+where total_connections=1;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'users'
+delete from performance_schema.users;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'users'
+LOCK TABLES performance_schema.users READ;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'users'
+UNLOCK TABLES;
+LOCK TABLES performance_schema.users WRITE;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'users'
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/event_aggregate.result b/mysql-test/suite/perfschema/r/event_aggregate.result
new file mode 100644
index 00000000000..a5cfe97f98e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/event_aggregate.result
@@ -0,0 +1,5242 @@
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+"================== con1 connected =================="
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 1
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 1
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 1
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 4
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 4
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 4
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 3
+localhost stage/sql/closing tables 3
+localhost stage/sql/init 6
+localhost stage/sql/Opening tables 3
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 1
+localhost statement/sql/select 2
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+"================== con2 connected =================="
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 1
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 5
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 5
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 5
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 3
+localhost stage/sql/closing tables 3
+localhost stage/sql/init 6
+localhost stage/sql/Opening tables 3
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 1
+localhost statement/sql/select 2
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 8
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 8
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 8
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 6
+localhost stage/sql/closing tables 6
+localhost stage/sql/init 12
+localhost stage/sql/Opening tables 6
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 2
+localhost statement/sql/select 4
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+"================== con3 connected =================="
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 1
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 9
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 9
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 9
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 6
+localhost stage/sql/closing tables 6
+localhost stage/sql/init 12
+localhost stage/sql/Opening tables 6
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 2
+localhost statement/sql/select 4
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 12
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 12
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 12
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 9
+localhost stage/sql/closing tables 9
+localhost stage/sql/init 18
+localhost stage/sql/Opening tables 9
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 3
+localhost statement/sql/select 6
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+"================== con4 connected =================="
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 1
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 13
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 13
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 13
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 9
+localhost stage/sql/closing tables 9
+localhost stage/sql/init 18
+localhost stage/sql/Opening tables 9
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 3
+localhost statement/sql/select 6
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 16
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 16
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 16
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 24
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+"================== con1 disconnected =================="
+"================== Step 10 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 17
+localhost wait/synch/mutex/sql/LOCK_connection_count 1
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 25
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 1
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 5
+"================== con2 disconnected =================="
+"================== Step 11 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 18
+localhost wait/synch/mutex/sql/LOCK_connection_count 2
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 26
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 2
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 5
+"================== con3 disconnected =================="
+"================== Step 12 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 19
+localhost wait/synch/mutex/sql/LOCK_connection_count 3
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 27
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 3
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 5
+"================== con4 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 5
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== WAITS_BY_THREAD truncated =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 5
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== WAITS_BY_ACCOUNT truncated =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== WAITS_BY_USER truncated =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== WAITS_BY_HOST truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== WAITS_GLOBAL truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+"================== STAGES_BY_THREAD truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+"================== STAGES_BY_ACCOUNT truncated =================="
+"================== Step 20 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+"================== STAGES_BY_USER truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+"================== STAGES_BY_HOST truncated =================="
+"================== Step 22 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_global_by_event_name;
+"================== STAGES_GLOBAL truncated =================="
+"================== Step 23 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+"================== STATEMENTS_BY_THREAD truncated =================="
+"================== Step 24 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+"================== STATEMENTS_BY_ACCOUNT truncated =================="
+"================== Step 25 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+"================== STATEMENTS_BY_USER truncated =================="
+"================== Step 26 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+"================== STATEMENTS_BY_HOST truncated =================="
+"================== Step 27 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_global_by_event_name;
+"================== STATEMENTS_GLOBAL truncated =================="
+"================== Step 28 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.accounts;
+"================== ACCOUNTS truncated =================="
+"================== Step 29 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.users;
+"================== USERS truncated =================="
+"================== Step 30 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.hosts;
+"================== HOSTS truncated =================="
+"================== Step 31 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_a.result b/mysql-test/suite/perfschema/r/event_aggregate_no_a.result
new file mode 100644
index 00000000000..42945079ef4
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a.result
@@ -0,0 +1,3963 @@
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+"================== con1 connected =================="
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 1
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 1
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 4
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 4
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 4
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 3
+localhost stage/sql/closing tables 3
+localhost stage/sql/init 6
+localhost stage/sql/Opening tables 3
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 1
+localhost statement/sql/select 2
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+"================== con2 connected =================="
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 5
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 5
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 5
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 3
+localhost stage/sql/closing tables 3
+localhost stage/sql/init 6
+localhost stage/sql/Opening tables 3
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 1
+localhost statement/sql/select 2
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 8
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 8
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 8
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 6
+localhost stage/sql/closing tables 6
+localhost stage/sql/init 12
+localhost stage/sql/Opening tables 6
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 2
+localhost statement/sql/select 4
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+"================== con3 connected =================="
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 9
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 9
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 9
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 6
+localhost stage/sql/closing tables 6
+localhost stage/sql/init 12
+localhost stage/sql/Opening tables 6
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 2
+localhost statement/sql/select 4
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 12
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 12
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 12
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 9
+localhost stage/sql/closing tables 9
+localhost stage/sql/init 18
+localhost stage/sql/Opening tables 9
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 3
+localhost statement/sql/select 6
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+"================== con4 connected =================="
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 13
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 13
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 13
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 9
+localhost stage/sql/closing tables 9
+localhost stage/sql/init 18
+localhost stage/sql/Opening tables 9
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 3
+localhost statement/sql/select 6
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 16
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 16
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 16
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 24
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+"================== con1 disconnected =================="
+"================== Step 10 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 17
+localhost wait/synch/mutex/sql/LOCK_connection_count 1
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 25
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 1
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 5
+"================== con2 disconnected =================="
+"================== Step 11 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 18
+localhost wait/synch/mutex/sql/LOCK_connection_count 2
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 26
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 2
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 5
+"================== con3 disconnected =================="
+"================== Step 12 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 19
+localhost wait/synch/mutex/sql/LOCK_connection_count 3
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 27
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 3
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 5
+"================== con4 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== WAITS_BY_THREAD truncated =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== WAITS_BY_ACCOUNT truncated =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== WAITS_BY_USER truncated =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== WAITS_BY_HOST truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== WAITS_GLOBAL truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+"================== STAGES_BY_THREAD truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+"================== STAGES_BY_ACCOUNT truncated =================="
+"================== Step 20 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+"================== STAGES_BY_USER truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+"================== STAGES_BY_HOST truncated =================="
+"================== Step 22 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_global_by_event_name;
+"================== STAGES_GLOBAL truncated =================="
+"================== Step 23 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+"================== STATEMENTS_BY_THREAD truncated =================="
+"================== Step 24 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+"================== STATEMENTS_BY_ACCOUNT truncated =================="
+"================== Step 25 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+"================== STATEMENTS_BY_USER truncated =================="
+"================== Step 26 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+"================== STATEMENTS_BY_HOST truncated =================="
+"================== Step 27 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_global_by_event_name;
+"================== STATEMENTS_GLOBAL truncated =================="
+"================== Step 28 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.accounts;
+"================== ACCOUNTS truncated =================="
+"================== Step 29 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.users;
+"================== USERS truncated =================="
+"================== Step 30 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.hosts;
+"================== HOSTS truncated =================="
+"================== Step 31 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
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
new file mode 100644
index 00000000000..12893a8cc2b
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result
@@ -0,0 +1,3560 @@
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con1 connected =================="
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 1
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 4
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 4
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con2 connected =================="
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 5
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 5
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 8
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 8
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con3 connected =================="
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 9
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 9
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 12
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 12
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con4 connected =================="
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 13
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 13
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 16
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 16
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con1 disconnected =================="
+"================== Step 10 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con2 disconnected =================="
+"================== Step 11 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con3 disconnected =================="
+"================== Step 12 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con4 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== WAITS_BY_THREAD truncated =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== WAITS_BY_ACCOUNT truncated =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== WAITS_BY_USER truncated =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== WAITS_BY_HOST truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== WAITS_GLOBAL truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+"================== STAGES_BY_THREAD truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+"================== STAGES_BY_ACCOUNT truncated =================="
+"================== Step 20 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+"================== STAGES_BY_USER truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+"================== STAGES_BY_HOST truncated =================="
+"================== Step 22 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_global_by_event_name;
+"================== STAGES_GLOBAL truncated =================="
+"================== Step 23 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+"================== STATEMENTS_BY_THREAD truncated =================="
+"================== Step 24 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+"================== STATEMENTS_BY_ACCOUNT truncated =================="
+"================== Step 25 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+"================== STATEMENTS_BY_USER truncated =================="
+"================== Step 26 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+"================== STATEMENTS_BY_HOST truncated =================="
+"================== Step 27 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_global_by_event_name;
+"================== STATEMENTS_GLOBAL truncated =================="
+"================== Step 28 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.accounts;
+"================== ACCOUNTS truncated =================="
+"================== Step 29 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.users;
+"================== USERS truncated =================="
+"================== Step 30 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.hosts;
+"================== HOSTS truncated =================="
+"================== Step 31 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
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
new file mode 100644
index 00000000000..bd9a52361a1
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result
@@ -0,0 +1,2632 @@
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+"================== con1 connected =================="
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 1
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 1
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 4
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 4
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 4
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 3
+localhost stage/sql/closing tables 3
+localhost stage/sql/init 6
+localhost stage/sql/Opening tables 3
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 1
+localhost statement/sql/select 2
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+"================== con2 connected =================="
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 5
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 5
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 5
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 3
+localhost stage/sql/closing tables 3
+localhost stage/sql/init 6
+localhost stage/sql/Opening tables 3
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 1
+localhost statement/sql/select 2
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 8
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 8
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 8
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 6
+localhost stage/sql/closing tables 6
+localhost stage/sql/init 12
+localhost stage/sql/Opening tables 6
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 2
+localhost statement/sql/select 4
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+"================== con3 connected =================="
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 9
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 9
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 9
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 6
+localhost stage/sql/closing tables 6
+localhost stage/sql/init 12
+localhost stage/sql/Opening tables 6
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 2
+localhost statement/sql/select 4
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 12
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 12
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 12
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 9
+localhost stage/sql/closing tables 9
+localhost stage/sql/init 18
+localhost stage/sql/Opening tables 9
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 3
+localhost statement/sql/select 6
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+"================== con4 connected =================="
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 13
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 13
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 13
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 9
+localhost stage/sql/closing tables 9
+localhost stage/sql/init 18
+localhost stage/sql/Opening tables 9
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 3
+localhost statement/sql/select 6
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 16
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 16
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 16
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 24
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+"================== con1 disconnected =================="
+"================== Step 10 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 17
+localhost wait/synch/mutex/sql/LOCK_connection_count 1
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 25
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 1
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 5
+"================== con2 disconnected =================="
+"================== Step 11 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 18
+localhost wait/synch/mutex/sql/LOCK_connection_count 2
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 26
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 2
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 5
+"================== con3 disconnected =================="
+"================== Step 12 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 19
+localhost wait/synch/mutex/sql/LOCK_connection_count 3
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 27
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 3
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 5
+"================== con4 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== WAITS_BY_THREAD truncated =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== WAITS_BY_ACCOUNT truncated =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== WAITS_BY_USER truncated =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== WAITS_BY_HOST truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== WAITS_GLOBAL truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+"================== STAGES_BY_THREAD truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+"================== STAGES_BY_ACCOUNT truncated =================="
+"================== Step 20 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+"================== STAGES_BY_USER truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+"================== STAGES_BY_HOST truncated =================="
+"================== Step 22 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_global_by_event_name;
+"================== STAGES_GLOBAL truncated =================="
+"================== Step 23 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+"================== STATEMENTS_BY_THREAD truncated =================="
+"================== Step 24 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+"================== STATEMENTS_BY_ACCOUNT truncated =================="
+"================== Step 25 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+"================== STATEMENTS_BY_USER truncated =================="
+"================== Step 26 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+"================== STATEMENTS_BY_HOST truncated =================="
+"================== Step 27 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_global_by_event_name;
+"================== STATEMENTS_GLOBAL truncated =================="
+"================== Step 28 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.accounts;
+"================== ACCOUNTS truncated =================="
+"================== Step 29 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.users;
+"================== USERS truncated =================="
+"================== Step 30 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.hosts;
+"================== HOSTS truncated =================="
+"================== Step 31 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
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
new file mode 100644
index 00000000000..bb14b14e291
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result
@@ -0,0 +1,2229 @@
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con1 connected =================="
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 1
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 4
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 4
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con2 connected =================="
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 5
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 5
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 8
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 8
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con3 connected =================="
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 9
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 9
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 12
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 12
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con4 connected =================="
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 13
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 13
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 16
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 16
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con1 disconnected =================="
+"================== Step 10 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con2 disconnected =================="
+"================== Step 11 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con3 disconnected =================="
+"================== Step 12 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con4 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== WAITS_BY_THREAD truncated =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== WAITS_BY_ACCOUNT truncated =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== WAITS_BY_USER truncated =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== WAITS_BY_HOST truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== WAITS_GLOBAL truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+"================== STAGES_BY_THREAD truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+"================== STAGES_BY_ACCOUNT truncated =================="
+"================== Step 20 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+"================== STAGES_BY_USER truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+"================== STAGES_BY_HOST truncated =================="
+"================== Step 22 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_global_by_event_name;
+"================== STAGES_GLOBAL truncated =================="
+"================== Step 23 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+"================== STATEMENTS_BY_THREAD truncated =================="
+"================== Step 24 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+"================== STATEMENTS_BY_ACCOUNT truncated =================="
+"================== Step 25 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+"================== STATEMENTS_BY_USER truncated =================="
+"================== Step 26 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+"================== STATEMENTS_BY_HOST truncated =================="
+"================== Step 27 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_global_by_event_name;
+"================== STATEMENTS_GLOBAL truncated =================="
+"================== Step 28 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.accounts;
+"================== ACCOUNTS truncated =================="
+"================== Step 29 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.users;
+"================== USERS truncated =================="
+"================== Step 30 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.hosts;
+"================== HOSTS truncated =================="
+"================== Step 31 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_h.result b/mysql-test/suite/perfschema/r/event_aggregate_no_h.result
new file mode 100644
index 00000000000..0595c50e531
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_h.result
@@ -0,0 +1,4839 @@
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con1 connected =================="
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 1
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 1
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 4
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 4
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con2 connected =================="
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 1
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 5
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 5
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 8
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 8
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con3 connected =================="
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 1
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 9
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 9
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 12
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 12
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con4 connected =================="
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 1
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 13
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 13
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 16
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 16
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 6
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 1 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con1 disconnected =================="
+"================== Step 10 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 6
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 1 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con2 disconnected =================="
+"================== Step 11 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 6
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 1 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con3 disconnected =================="
+"================== Step 12 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 6
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con4 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 5
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== WAITS_BY_THREAD truncated =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 5
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== WAITS_BY_ACCOUNT truncated =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 5
+user1 wait/synch/mutex/sql/LOCK_connection_count 1
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+user2 wait/io/file/sql/query_log 5
+user2 wait/synch/mutex/sql/LOCK_connection_count 1
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+user3 wait/io/file/sql/query_log 5
+user3 wait/synch/mutex/sql/LOCK_connection_count 1
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+user4 wait/io/file/sql/query_log 5
+user4 wait/synch/mutex/sql/LOCK_connection_count 1
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== WAITS_BY_USER truncated =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== WAITS_BY_HOST truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== WAITS_GLOBAL truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+"================== STAGES_BY_THREAD truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+"================== STAGES_BY_ACCOUNT truncated =================="
+"================== Step 20 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 3
+user1 stage/sql/closing tables 3
+user1 stage/sql/init 7
+user1 stage/sql/Opening tables 3
+user2 stage/sql/checking permissions 3
+user2 stage/sql/closing tables 3
+user2 stage/sql/init 7
+user2 stage/sql/Opening tables 3
+user3 stage/sql/checking permissions 3
+user3 stage/sql/closing tables 3
+user3 stage/sql/init 7
+user3 stage/sql/Opening tables 3
+user4 stage/sql/checking permissions 3
+user4 stage/sql/closing tables 3
+user4 stage/sql/init 7
+user4 stage/sql/Opening tables 3
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+"================== STAGES_BY_USER truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+"================== STAGES_BY_HOST truncated =================="
+"================== Step 22 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_global_by_event_name;
+"================== STAGES_GLOBAL truncated =================="
+"================== Step 23 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+"================== STATEMENTS_BY_THREAD truncated =================="
+"================== Step 24 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+"================== STATEMENTS_BY_ACCOUNT truncated =================="
+"================== Step 25 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 1
+user1 statement/sql/insert 1
+user1 statement/sql/select 2
+user2 statement/com/Error 0
+user2 statement/com/Quit 1
+user2 statement/sql/insert 1
+user2 statement/sql/select 2
+user3 statement/com/Error 0
+user3 statement/com/Quit 1
+user3 statement/sql/insert 1
+user3 statement/sql/select 2
+user4 statement/com/Error 0
+user4 statement/com/Quit 1
+user4 statement/sql/insert 1
+user4 statement/sql/select 2
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+"================== STATEMENTS_BY_USER truncated =================="
+"================== Step 26 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+"================== STATEMENTS_BY_HOST truncated =================="
+"================== Step 27 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_global_by_event_name;
+"================== STATEMENTS_GLOBAL truncated =================="
+"================== Step 28 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.accounts;
+"================== ACCOUNTS truncated =================="
+"================== Step 29 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/file/sql/query_log 0
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+user2 wait/io/file/sql/query_log 0
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+user3 wait/io/file/sql/query_log 0
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+user4 wait/io/file/sql/query_log 0
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+user1 stage/sql/checking permissions 0
+user1 stage/sql/closing tables 0
+user1 stage/sql/init 0
+user1 stage/sql/Opening tables 0
+user2 stage/sql/checking permissions 0
+user2 stage/sql/closing tables 0
+user2 stage/sql/init 0
+user2 stage/sql/Opening tables 0
+user3 stage/sql/checking permissions 0
+user3 stage/sql/closing tables 0
+user3 stage/sql/init 0
+user3 stage/sql/Opening tables 0
+user4 stage/sql/checking permissions 0
+user4 stage/sql/closing tables 0
+user4 stage/sql/init 0
+user4 stage/sql/Opening tables 0
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+user1 statement/com/Error 0
+user1 statement/com/Quit 0
+user1 statement/sql/insert 0
+user1 statement/sql/select 0
+user2 statement/com/Error 0
+user2 statement/com/Quit 0
+user2 statement/sql/insert 0
+user2 statement/sql/select 0
+user3 statement/com/Error 0
+user3 statement/com/Quit 0
+user3 statement/sql/insert 0
+user3 statement/sql/select 0
+user4 statement/com/Error 0
+user4 statement/com/Quit 0
+user4 statement/sql/insert 0
+user4 statement/sql/select 0
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+user1 0 1
+user2 0 1
+user3 0 1
+user4 0 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.users;
+"================== USERS truncated =================="
+"================== Step 30 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.hosts;
+"================== HOSTS truncated =================="
+"================== Step 31 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root 1 1
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_u.result b/mysql-test/suite/perfschema/r/event_aggregate_no_u.result
new file mode 100644
index 00000000000..532fd209e18
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_u.result
@@ -0,0 +1,3911 @@
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
+"================== con1 connected =================="
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 1
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 1
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 1
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 4
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 4
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 4
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 3
+localhost stage/sql/closing tables 3
+localhost stage/sql/init 6
+localhost stage/sql/Opening tables 3
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 1
+localhost statement/sql/select 2
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 2
+"================== con2 connected =================="
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 1
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 5
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 5
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 5
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 3
+localhost stage/sql/closing tables 3
+localhost stage/sql/init 6
+localhost stage/sql/Opening tables 3
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 1
+localhost statement/sql/select 2
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 8
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 8
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 8
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 6
+localhost stage/sql/closing tables 6
+localhost stage/sql/init 12
+localhost stage/sql/Opening tables 6
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 2
+localhost statement/sql/select 4
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 3
+"================== con3 connected =================="
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 1
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 9
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 9
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 9
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 6
+localhost stage/sql/closing tables 6
+localhost stage/sql/init 12
+localhost stage/sql/Opening tables 6
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 2
+localhost statement/sql/select 4
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 12
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 12
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 12
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 9
+localhost stage/sql/closing tables 9
+localhost stage/sql/init 18
+localhost stage/sql/Opening tables 9
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 3
+localhost statement/sql/select 6
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 4
+"================== con4 connected =================="
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 1
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 13
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 13
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 13
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 9
+localhost stage/sql/closing tables 9
+localhost stage/sql/init 18
+localhost stage/sql/Opening tables 9
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 3
+localhost statement/sql/select 6
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 16
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 16
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 16
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 24
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 5 5
+"================== con1 disconnected =================="
+"================== Step 10 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 17
+localhost wait/synch/mutex/sql/LOCK_connection_count 1
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 25
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 1
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 4 5
+"================== con2 disconnected =================="
+"================== Step 11 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 18
+localhost wait/synch/mutex/sql/LOCK_connection_count 2
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 26
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 2
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 3 5
+"================== con3 disconnected =================="
+"================== Step 12 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 19
+localhost wait/synch/mutex/sql/LOCK_connection_count 3
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 27
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 3
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 2 5
+"================== con4 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 5
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== WAITS_BY_THREAD truncated =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 5
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== WAITS_BY_ACCOUNT truncated =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== WAITS_BY_USER truncated =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 20
+localhost wait/synch/mutex/sql/LOCK_connection_count 4
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== WAITS_BY_HOST truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== WAITS_GLOBAL truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+"================== STAGES_BY_THREAD truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+"================== STAGES_BY_ACCOUNT truncated =================="
+"================== Step 20 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+"================== STAGES_BY_USER truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 12
+localhost stage/sql/closing tables 12
+localhost stage/sql/init 28
+localhost stage/sql/Opening tables 12
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+"================== STAGES_BY_HOST truncated =================="
+"================== Step 22 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_stages_summary_global_by_event_name;
+"================== STAGES_GLOBAL truncated =================="
+"================== Step 23 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+"================== STATEMENTS_BY_THREAD truncated =================="
+"================== Step 24 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+"================== STATEMENTS_BY_ACCOUNT truncated =================="
+"================== Step 25 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+"================== STATEMENTS_BY_USER truncated =================="
+"================== Step 26 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 4
+localhost statement/sql/insert 4
+localhost statement/sql/select 8
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+"================== STATEMENTS_BY_HOST truncated =================="
+"================== Step 27 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.events_statements_summary_global_by_event_name;
+"================== STATEMENTS_GLOBAL truncated =================="
+"================== Step 28 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.accounts;
+"================== ACCOUNTS truncated =================="
+"================== Step 29 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.users;
+"================== USERS truncated =================="
+"================== Step 30 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 5
+truncate performance_schema.hosts;
+"================== HOSTS truncated =================="
+"================== Step 31 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/file/sql/query_log 0
+localhost wait/synch/mutex/sql/LOCK_connection_count 0
+localhost wait/synch/mutex/sql/LOCK_user_locks 0
+localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+localhost stage/sql/checking permissions 0
+localhost stage/sql/closing tables 0
+localhost stage/sql/init 0
+localhost stage/sql/Opening tables 0
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+localhost statement/com/Error 0
+localhost statement/com/Quit 0
+localhost statement/sql/insert 0
+localhost statement/sql/select 0
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+localhost 1 1
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
new file mode 100644
index 00000000000..76c7311f99c
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result
@@ -0,0 +1,3508 @@
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con1 connected =================="
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 1
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 1
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 1
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 4
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 4
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con2 connected =================="
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 1
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 1
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 5
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 5
+wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 3
+stage/sql/closing tables 3
+stage/sql/init 6
+stage/sql/Opening tables 3
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 1
+statement/sql/select 2
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 8
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 8
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con3 connected =================="
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 1
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 1
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 9
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 9
+wait/synch/rwlock/sql/LOCK_grant 2
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 6
+stage/sql/closing tables 6
+stage/sql/init 12
+stage/sql/Opening tables 6
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 2
+statement/sql/select 4
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 12
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 12
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con4 connected =================="
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 1
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 1
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 13
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 13
+wait/synch/rwlock/sql/LOCK_grant 3
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 9
+stage/sql/closing tables 9
+stage/sql/init 18
+stage/sql/Opening tables 9
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 3
+statement/sql/select 6
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+select get_lock("marker", 10);
+get_lock("marker", 10)
+1
+select release_lock("marker");
+release_lock("marker")
+1
+insert into test.t1 values ("marker");
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/file/sql/query_log 4
+user1 wait/synch/mutex/sql/LOCK_connection_count 0
+user1 wait/synch/mutex/sql/LOCK_user_locks 0
+user1 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 4
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 16
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 16
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 6
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 24
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 1 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con1 disconnected =================="
+"================== Step 10 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/file/sql/query_log 4
+user2 wait/synch/mutex/sql/LOCK_connection_count 0
+user2 wait/synch/mutex/sql/LOCK_user_locks 0
+user2 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 4
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 17
+wait/synch/mutex/sql/LOCK_connection_count 1
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 6
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 25
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 1
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 1 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con2 disconnected =================="
+"================== Step 11 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/file/sql/query_log 4
+user3 wait/synch/mutex/sql/LOCK_connection_count 0
+user3 wait/synch/mutex/sql/LOCK_user_locks 0
+user3 wait/synch/rwlock/sql/LOCK_grant 1
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 4
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 18
+wait/synch/mutex/sql/LOCK_connection_count 2
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 6
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 26
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 2
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 1 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con3 disconnected =================="
+"================== Step 12 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/file/sql/query_log 4
+user4 wait/synch/mutex/sql/LOCK_connection_count 0
+user4 wait/synch/mutex/sql/LOCK_user_locks 0
+user4 wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 4
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 19
+wait/synch/mutex/sql/LOCK_connection_count 3
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 6
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 27
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 3
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+"================== con4 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 5
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== WAITS_BY_THREAD truncated =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 5
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user2 localhost wait/io/file/sql/query_log 5
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user3 localhost wait/io/file/sql/query_log 5
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 1
+user4 localhost wait/io/file/sql/query_log 5
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 1
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== WAITS_BY_ACCOUNT truncated =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== WAITS_BY_USER truncated =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== WAITS_BY_HOST truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== WAITS_GLOBAL truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_thread_by_event_name;
+"================== STAGES_BY_THREAD truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 3
+user1 localhost stage/sql/closing tables 3
+user1 localhost stage/sql/init 7
+user1 localhost stage/sql/Opening tables 3
+user2 localhost stage/sql/checking permissions 3
+user2 localhost stage/sql/closing tables 3
+user2 localhost stage/sql/init 7
+user2 localhost stage/sql/Opening tables 3
+user3 localhost stage/sql/checking permissions 3
+user3 localhost stage/sql/closing tables 3
+user3 localhost stage/sql/init 7
+user3 localhost stage/sql/Opening tables 3
+user4 localhost stage/sql/checking permissions 3
+user4 localhost stage/sql/closing tables 3
+user4 localhost stage/sql/init 7
+user4 localhost stage/sql/Opening tables 3
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_account_by_event_name;
+"================== STAGES_BY_ACCOUNT truncated =================="
+"================== Step 20 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_user_by_event_name;
+"================== STAGES_BY_USER truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_by_host_by_event_name;
+"================== STAGES_BY_HOST truncated =================="
+"================== Step 22 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_stages_summary_global_by_event_name;
+"================== STAGES_GLOBAL truncated =================="
+"================== Step 23 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_thread_by_event_name;
+"================== STATEMENTS_BY_THREAD truncated =================="
+"================== Step 24 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 1
+user1 localhost statement/sql/insert 1
+user1 localhost statement/sql/select 2
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 1
+user2 localhost statement/sql/insert 1
+user2 localhost statement/sql/select 2
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 1
+user3 localhost statement/sql/insert 1
+user3 localhost statement/sql/select 2
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 1
+user4 localhost statement/sql/insert 1
+user4 localhost statement/sql/select 2
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_account_by_event_name;
+"================== STATEMENTS_BY_ACCOUNT truncated =================="
+"================== Step 25 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_user_by_event_name;
+"================== STATEMENTS_BY_USER truncated =================="
+"================== Step 26 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_by_host_by_event_name;
+"================== STATEMENTS_BY_HOST truncated =================="
+"================== Step 27 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.events_statements_summary_global_by_event_name;
+"================== STATEMENTS_GLOBAL truncated =================="
+"================== Step 28 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/file/sql/query_log 0
+user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user1 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user2 localhost wait/io/file/sql/query_log 0
+user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user2 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user3 localhost wait/io/file/sql/query_log 0
+user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user3 localhost wait/synch/rwlock/sql/LOCK_grant 0
+user4 localhost wait/io/file/sql/query_log 0
+user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0
+user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0
+user4 localhost wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+user1 localhost stage/sql/checking permissions 0
+user1 localhost stage/sql/closing tables 0
+user1 localhost stage/sql/init 0
+user1 localhost stage/sql/Opening tables 0
+user2 localhost stage/sql/checking permissions 0
+user2 localhost stage/sql/closing tables 0
+user2 localhost stage/sql/init 0
+user2 localhost stage/sql/Opening tables 0
+user3 localhost stage/sql/checking permissions 0
+user3 localhost stage/sql/closing tables 0
+user3 localhost stage/sql/init 0
+user3 localhost stage/sql/Opening tables 0
+user4 localhost stage/sql/checking permissions 0
+user4 localhost stage/sql/closing tables 0
+user4 localhost stage/sql/init 0
+user4 localhost stage/sql/Opening tables 0
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+user1 localhost statement/com/Error 0
+user1 localhost statement/com/Quit 0
+user1 localhost statement/sql/insert 0
+user1 localhost statement/sql/select 0
+user2 localhost statement/com/Error 0
+user2 localhost statement/com/Quit 0
+user2 localhost statement/sql/insert 0
+user2 localhost statement/sql/select 0
+user3 localhost statement/com/Error 0
+user3 localhost statement/com/Quit 0
+user3 localhost statement/sql/insert 0
+user3 localhost statement/sql/select 0
+user4 localhost statement/com/Error 0
+user4 localhost statement/com/Quit 0
+user4 localhost statement/sql/insert 0
+user4 localhost statement/sql/select 0
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+user1 localhost 0 1
+user2 localhost 0 1
+user3 localhost 0 1
+user4 localhost 0 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.accounts;
+"================== ACCOUNTS truncated =================="
+"================== Step 29 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.users;
+"================== USERS truncated =================="
+"================== Step 30 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+truncate performance_schema.hosts;
+"================== HOSTS truncated =================="
+"================== Step 31 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+execute dump_waits_global;
+event_name count_star
+wait/io/file/sql/query_log 0
+wait/synch/mutex/sql/LOCK_connection_count 0
+wait/synch/mutex/sql/LOCK_user_locks 0
+wait/synch/rwlock/sql/LOCK_grant 0
+execute dump_waits_history;
+event_name count(event_name)
+wait/io/file/sql/query_log 20
+wait/synch/mutex/sql/LOCK_connection_count 4
+wait/synch/rwlock/sql/LOCK_grant 4
+execute dump_stages_account;
+user host event_name count_star
+execute dump_stages_user;
+user event_name count_star
+execute dump_stages_host;
+host event_name count_star
+execute dump_stages_global;
+event_name count_star
+stage/sql/checking permissions 0
+stage/sql/closing tables 0
+stage/sql/init 0
+stage/sql/Opening tables 0
+execute dump_stages_history;
+event_name count(event_name)
+stage/sql/checking permissions 12
+stage/sql/closing tables 12
+stage/sql/init 28
+stage/sql/Opening tables 12
+execute dump_statements_account;
+user host event_name count_star
+execute dump_statements_user;
+user event_name count_star
+execute dump_statements_host;
+host event_name count_star
+execute dump_statements_global;
+event_name count_star
+statement/com/Error 0
+statement/com/Quit 0
+statement/sql/insert 0
+statement/sql/select 0
+execute dump_statements_history;
+event_name count(event_name)
+statement/com/Quit 4
+statement/sql/insert 4
+statement/sql/select 8
+execute dump_accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+root localhost 1 1
+execute dump_users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
+execute dump_hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
diff --git a/mysql-test/suite/perfschema/r/func_file_io.result b/mysql-test/suite/perfschema/r/func_file_io.result
index 7849b97f0ed..d710774a1f4 100644
--- a/mysql-test/suite/perfschema/r/func_file_io.result
+++ b/mysql-test/suite/perfschema/r/func_file_io.result
@@ -1,6 +1,9 @@
UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/io/file/%';
+update performance_schema.threads SET instrumented = 'YES'
+ WHERE PROCESSLIST_ID=connection_id();
+truncate table performance_schema.events_statements_summary_by_digest;
flush status;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
@@ -78,17 +81,17 @@ SELECT * FROM performance_schema.events_waits_history_long
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME INDEX_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID NESTING_EVENT_TYPE OPERATION NUMBER_OF_BYTES FLAGS
SELECT * FROM performance_schema.events_waits_history
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME INDEX_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID NESTING_EVENT_TYPE OPERATION NUMBER_OF_BYTES FLAGS
SELECT * FROM performance_schema.events_waits_current
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME INDEX_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID NESTING_EVENT_TYPE OPERATION NUMBER_OF_BYTES FLAGS
UPDATE performance_schema.setup_instruments SET timed = 'YES';
SELECT * FROM t1 WHERE id < 4;
id b
@@ -107,26 +110,48 @@ FROM performance_schema.events_waits_summary_global_by_event_name
WHERE COUNT_STAR > 0
ORDER BY SUM_TIMER_WAIT DESC
LIMIT 10;
+SELECT p.processlist_user, SUM(TIMER_WAIT) SUM_WAIT
+# ((TIME_TO_SEC(TIMEDIFF(NOW(), i.startup_time)) * 1000) / SUM(TIMER_WAIT)) * 100 WAIT_PERCENTAGE
+FROM performance_schema.events_waits_history_long h
+INNER JOIN performance_schema.threads p USING (THREAD_ID)
+GROUP BY p.processlist_user
+ORDER BY SUM_WAIT DESC
+LIMIT 20;
SELECT h.EVENT_NAME, SUM(h.TIMER_WAIT) TOTAL_WAIT
FROM performance_schema.events_waits_history_long h
INNER JOIN performance_schema.threads p USING (THREAD_ID)
WHERE p.PROCESSLIST_ID = 1
GROUP BY h.EVENT_NAME
HAVING TOTAL_WAIT > 0;
-UPDATE performance_schema.setup_instruments SET enabled = 'YES';
+SELECT p.processlist_user, h.operation, SUM(NUMBER_OF_BYTES) bytes
+FROM performance_schema.events_waits_history_long h
+INNER JOIN performance_schema.threads p USING (THREAD_ID)
+GROUP BY p.processlist_user, h.operation
+HAVING BYTES > 0
+ORDER BY p.processlist_user, h.operation;
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
show status like "performance_schema%";
Variable_name Value
+Performance_schema_accounts_lost 0
Performance_schema_cond_classes_lost 0
Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
Performance_schema_file_classes_lost 0
Performance_schema_file_handles_lost 0
Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
Performance_schema_locker_lost 0
Performance_schema_mutex_classes_lost 0
Performance_schema_mutex_instances_lost 0
Performance_schema_rwlock_classes_lost 0
Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
Performance_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/func_mutex.result b/mysql-test/suite/perfschema/r/func_mutex.result
index 2cb1d3da80d..1bd70b16811 100644
--- a/mysql-test/suite/perfschema/r/func_mutex.result
+++ b/mysql-test/suite/perfschema/r/func_mutex.result
@@ -2,11 +2,12 @@ UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/synch/mutex/%'
OR name LIKE 'wait/synch/rwlock/%';
+truncate table performance_schema.events_statements_summary_by_digest;
flush status;
select NAME from performance_schema.mutex_instances
-where NAME = 'wait/synch/mutex/sql/LOCK_open';
+where NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex' GROUP BY NAME;
NAME
-wait/synch/mutex/sql/LOCK_open
+wait/synch/mutex/mysys/THR_LOCK::mutex
select NAME from performance_schema.rwlock_instances
where NAME = 'wait/synch/rwlock/sql/LOCK_grant';
NAME
@@ -23,7 +24,7 @@ id b
1 initial value
SET @before_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
-WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
+WHERE (EVENT_NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex'));
SELECT * FROM t1;
id b
1 initial value
@@ -36,12 +37,12 @@ id b
8 initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
-WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
+WHERE (EVENT_NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex'));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_fm1_timed;
test_fm1_timed
Success
UPDATE performance_schema.setup_instruments SET enabled = 'NO'
-WHERE NAME = 'wait/synch/mutex/sql/LOCK_open';
+WHERE NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex';
TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
TRUNCATE TABLE performance_schema.events_waits_current;
@@ -50,7 +51,7 @@ id b
1 initial value
SET @before_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
-WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
+WHERE (EVENT_NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex'));
SELECT * FROM t1;
id b
1 initial value
@@ -63,77 +64,69 @@ id b
8 initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
-WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
+WHERE (EVENT_NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex'));
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_timed;
test_fm2_timed
Success
TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
TRUNCATE TABLE performance_schema.events_waits_current;
-SELECT * FROM t1 WHERE id = 1;
-id b
-1 initial value
+show variables like "%not_found%";
+Variable_name Value
SET @before_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
-WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
-SELECT * FROM t1;
-id b
-1 initial value
-2 initial value
-3 initial value
-4 initial value
-5 initial value
-6 initial value
-7 initial value
-8 initial value
+WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_system_variables_hash'));
+show variables like "%not_found%";
+Variable_name Value
SET @after_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
-WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
+WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_system_variables_hash'));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_fm1_rw_timed;
test_fm1_rw_timed
Success
UPDATE performance_schema.setup_instruments SET enabled = 'NO'
-WHERE NAME = 'wait/synch/rwlock/sql/LOCK_grant';
+WHERE NAME = 'wait/synch/rwlock/sql/LOCK_system_variables_hash';
TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
TRUNCATE TABLE performance_schema.events_waits_current;
-SELECT * FROM t1 WHERE id = 1;
-id b
-1 initial value
+show variables like "%not_found%";
+Variable_name Value
SET @before_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
-WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
-SELECT * FROM t1;
-id b
-1 initial value
-2 initial value
-3 initial value
-4 initial value
-5 initial value
-6 initial value
-7 initial value
-8 initial value
+WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_system_variables_hash'));
+show variables like "%not_found%";
+Variable_name Value
SET @after_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
-WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
+WHERE (EVENT_NAME = 'LOCK_system_variables_hash'));
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_rw_timed;
test_fm2_rw_timed
Success
UPDATE performance_schema.setup_instruments SET enabled = 'YES';
DROP TABLE t1;
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
show status like "performance_schema%";
Variable_name Value
+Performance_schema_accounts_lost 0
Performance_schema_cond_classes_lost 0
Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
Performance_schema_file_classes_lost 0
Performance_schema_file_handles_lost 0
Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
Performance_schema_locker_lost 0
Performance_schema_mutex_classes_lost 0
Performance_schema_mutex_instances_lost 0
Performance_schema_rwlock_classes_lost 0
Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
Performance_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/global_read_lock.result b/mysql-test/suite/perfschema/r/global_read_lock.result
index d71bcf81ea7..dab22c79100 100644
--- a/mysql-test/suite/perfschema/r/global_read_lock.result
+++ b/mysql-test/suite/perfschema/r/global_read_lock.result
@@ -1,5 +1,6 @@
use performance_schema;
update performance_schema.setup_instruments set enabled='YES';
+create user pfsuser@localhost;
grant SELECT, UPDATE, LOCK TABLES on performance_schema.* to pfsuser@localhost;
flush privileges;
connect (con1, localhost, pfsuser, , test);
@@ -20,11 +21,13 @@ lock tables performance_schema.setup_instruments write;
connection default;
select event_name,
left(source, locate(":", source)) as short_source,
-timer_end, timer_wait, operation
+if(timer_end IS NULL, NULL, "SET") as timer_end,
+if(timer_wait IS NULL, NULL, "SET") as timer_wait,
+operation
from performance_schema.events_waits_current
where event_name like "wait/synch/cond/sql/MDL_context::COND_wait_status";
event_name short_source timer_end timer_wait operation
-wait/synch/cond/sql/MDL_context::COND_wait_status mdl.cc: NULL NULL timed_wait
+wait/synch/cond/sql/MDL_context::COND_wait_status mdl.cc: SET SET timed_wait
unlock tables;
update performance_schema.setup_instruments set enabled='NO';
update performance_schema.setup_instruments set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_allow.result
new file mode 100644
index 00000000000..d146f5324d0
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_allow.result
@@ -0,0 +1,105 @@
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_error_again";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 1
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 2
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'192.0.2.4';
+drop user 'root'@'192.0.2.4';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_deny.result
new file mode 100644
index 00000000000..08f280f30a9
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_deny.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_error_again";
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 1
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 2
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_allow.result
new file mode 100644
index 00000000000..6c1bce7c9a0
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_allow.result
@@ -0,0 +1,105 @@
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_bad_ipv4";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 1
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 1
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'192.0.2.4';
+drop user 'root'@'192.0.2.4';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_deny.result
new file mode 100644
index 00000000000..924b66cf726
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_deny.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_bad_ipv4";
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 1
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 1
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_allow.result
new file mode 100644
index 00000000000..d04a565508f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_allow.result
@@ -0,0 +1,105 @@
+call mtr.add_suppression("192.0.2.4");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
+drop user 'root'@'santa.claus.ipv4.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_deny.result
new file mode 100644
index 00000000000..1846dbe0719
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_deny.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("192.0.2.4");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+ERROR HY000: Host 'santa.claus.ipv4.example.com' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host 'santa.claus.ipv4.example.com' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_allow.result
new file mode 100644
index 00000000000..ea5e91307c8
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_allow.result
@@ -0,0 +1,109 @@
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_error_noname";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 1
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 1
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
+revoke select on test.* from 'root'@'192.0.2.4';
+drop user 'root'@'santa.claus.ipv4.example.com';
+drop user 'root'@'192.0.2.4';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_deny.result
new file mode 100644
index 00000000000..618bcea553d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_deny.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_error_noname";
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 1
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 1
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_auth_plugin.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_auth_plugin.result
new file mode 100644
index 00000000000..6cc93cd4a7f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_auth_plugin.result
@@ -0,0 +1,200 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+CREATE USER 'plug'@'santa.claus.ipv4.example.com'
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER 'plug_dest'@'santa.claus.ipv4.example.com'
+ IDENTIFIED BY 'plug_test_passwd';
+GRANT SELECT ON test.* TO 'plug_dest'@'santa.claus.ipv4.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+uninstall plugin test_plugin_server;
+ERROR HY000: Plugin 'test_plugin_server' is not loaded
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 1
+COUNT_AUTH_PLUGIN_ERRORS 1
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Plugin 'test_plugin_server' is not loaded
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 2
+COUNT_AUTH_PLUGIN_ERRORS 2
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+install plugin test_plugin_server soname 'PLUGIN_AUTH';
+ERROR 28000: Access denied for user 'plug'@'santa.claus.ipv4.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 2
+COUNT_AUTH_PLUGIN_ERRORS 2
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 1
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'plug'@'santa.claus.ipv4.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 2
+COUNT_AUTH_PLUGIN_ERRORS 2
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 2
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+GRANT PROXY ON 'plug_dest'@'santa.claus.ipv4.example.com'
+ TO 'plug'@'santa.claus.ipv4.example.com';
+select "Con4 is alive";
+Con4 is alive
+Con4 is alive
+select user();
+user()
+plug@santa.claus.ipv4.example.com
+select current_user();
+current_user()
+plug_dest@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 2
+COUNT_AUTH_PLUGIN_ERRORS 2
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 2
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+REVOKE ALL PRIVILEGES ON *.* FROM 'plug_dest'@'santa.claus.ipv4.example.com';
+REVOKE PROXY ON 'plug_dest'@'santa.claus.ipv4.example.com'
+ FROM 'plug'@'santa.claus.ipv4.example.com';
+DROP USER 'plug'@'santa.claus.ipv4.example.com';
+DROP USER 'plug_dest'@'santa.claus.ipv4.example.com';
+set global debug_dbug= default;
+delete from mysql.plugin where name='test_plugin_server';
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result
new file mode 100644
index 00000000000..4eae65c4618
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result
@@ -0,0 +1,424 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select @@global.max_connect_errors into @saved_max_connect_errors;
+set global max_connect_errors = 3;
+create user 'root'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
+create user 'quota'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'quota'@'santa.claus.ipv4.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4,native_password_bad_reply";
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 1
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 1
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 2
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 2
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 3
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 1
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 3
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 2
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 3
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+flush hosts;
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 1
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 1
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 2
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 2
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= "-d,native_password_bad_reply";
+message
+Valid connection should reset SUM_CONNECT_ERROR counter
+set global debug_dbug= "+d,native_password_bad_reply";
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 2
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 1
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 3
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 2
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 4
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 5
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 1
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 5
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 2
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 5
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
+drop user 'root'@'santa.claus.ipv4.example.com';
+revoke select on test.* from 'quota'@'santa.claus.ipv4.example.com';
+drop user 'quota'@'santa.claus.ipv4.example.com';
+set global max_connect_errors = @saved_max_connect_errors;
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_format.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_format.result
new file mode 100644
index 00000000000..baf9eae9f5c
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_format.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("192.0.2.4");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_format_ipv4";
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 1
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 2
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_max_con.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_max_con.result
new file mode 100644
index 00000000000..69e1ddb29f5
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_max_con.result
@@ -0,0 +1,659 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+1024
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select @@global.max_connections into @saved_max_connections;
+select @@global.max_user_connections into @saved_max_user_connections;
+create user 'quota'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'quota'@'santa.claus.ipv4.example.com';
+grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com'
+ with max_connections_per_hour 3;
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+select "Con2a is alive";
+Con2a is alive
+Con2a is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+select "Con2b is alive";
+Con2b is alive
+Con2b is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+select "Con2c is alive";
+Con2c is alive
+Con2c is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+ERROR 42000: User 'quota' has exceeded the 'max_connections_per_hour' resource (current value: 3)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 1
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User 'quota' has exceeded the 'max_connections_per_hour' resource (current value: 3)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com'
+ with max_connections_per_hour 0;
+grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com'
+ with max_user_connections 3;
+flush user_resources;
+select "Con7 is alive";
+Con7 is alive
+Con7 is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3b is alive";
+Con3b is alive
+Con3b is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3c is alive";
+Con3c is alive
+Con3c is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User 'quota' has exceeded the 'max_user_connections' resource (current value: 3)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 1
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User 'quota' has exceeded the 'max_user_connections' resource (current value: 3)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com'
+ with max_user_connections 0;
+flush user_resources;
+set global max_user_connections = 3;
+select "Con4a is alive";
+Con4a is alive
+Con4a is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con4b is alive";
+Con4b is alive
+Con4b is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con4c is alive";
+Con4c is alive
+Con4c is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User quota already has more than 'max_user_connections' active connections
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 3
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User quota already has more than 'max_user_connections' active connections
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global max_user_connections = 0;
+set global max_connections = 10;
+flush user_resources;
+select "Con4a is alive";
+Con4a is alive
+Con4a is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con5b is alive";
+Con5b is alive
+Con5b is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv4.example.com
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+Got one of the listed errors
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+Got one of the listed errors
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global max_connections = @saved_max_connections;
+set global max_user_connections = @saved_max_user_connections;
+drop user 'quota'@'santa.claus.ipv4.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_allow.result
new file mode 100644
index 00000000000..1c893320340
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_allow.result
@@ -0,0 +1,178 @@
+call mtr.add_suppression("192.0.2.4");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+create user 'root'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_error_again";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 1
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+select "Con4 is alive";
+Con4 is alive
+Con4 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con5 is alive";
+Con5 is alive
+Con5 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'192.0.2.4';
+revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
+drop user 'root'@'192.0.2.4';
+drop user 'root'@'santa.claus.ipv4.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_deny.result
new file mode 100644
index 00000000000..2976f8c9e16
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_deny.result
@@ -0,0 +1,150 @@
+call mtr.add_suppression("192.0.2.4");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_error_again";
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 1
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+ERROR HY000: Host 'santa.claus.ipv4.example.com' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 3
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host 'santa.claus.ipv4.example.com' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 4
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_allow.result
new file mode 100644
index 00000000000..68855bbc0ce
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_allow.result
@@ -0,0 +1,105 @@
+call mtr.add_suppression("192.0.2.4");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_error_noname";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 1
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@192.0.2.4
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 1
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'192.0.2.4';
+drop user 'root'@'192.0.2.4';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_deny.result
new file mode 100644
index 00000000000..f27bda9ada1
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_deny.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("192.0.2.4");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_error_noname";
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 1
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '192.0.2.4' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 1
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_passwd.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_passwd.result
new file mode 100644
index 00000000000..69f68de8d90
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_passwd.result
@@ -0,0 +1,213 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'user_without'@'santa.claus.ipv4.example.com';
+create user 'user_with'@'santa.claus.ipv4.example.com'
+ identified by 'good_password';
+grant select on test.* to 'user_without'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'user_with'@'santa.claus.ipv4.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+ERROR 28000: Access denied for user 'user_without'@'santa.claus.ipv4.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 1
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_without'@'santa.claus.ipv4.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 2
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_with'@'santa.claus.ipv4.example.com' (using password: NO)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 3
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_with'@'santa.claus.ipv4.example.com' (using password: NO)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 4
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_with'@'santa.claus.ipv4.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 5
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_with'@'santa.claus.ipv4.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 6
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+drop user 'user_with'@'santa.claus.ipv4.example.com';
+drop user 'user_without'@'santa.claus.ipv4.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_ssl.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_ssl.result
new file mode 100644
index 00000000000..a3d2b1d273f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_ssl.result
@@ -0,0 +1,159 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'user_ssl'@'santa.claus.ipv4.example.com';
+create user 'user_ssl_x509'@'santa.claus.ipv4.example.com'
+ identified by 'good_password';
+grant select on test.* to 'user_ssl'@'santa.claus.ipv4.example.com'
+ REQUIRE SSL;
+grant select on test.* to 'user_ssl_x509'@'santa.claus.ipv4.example.com'
+ REQUIRE SUBJECT '/C=??/ST=??/L=??/
+ O=No such thing/
+ CN=Santa Claus/emailAddress=santa.claus@example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+ERROR 28000: Access denied for user 'user_ssl'@'santa.claus.ipv4.example.com' (using password: NO)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 1
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_ssl'@'santa.claus.ipv4.example.com' (using password: NO)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_ssl_x509'@'santa.claus.ipv4.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 3
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_ssl_x509'@'santa.claus.ipv4.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 192.0.2.4
+HOST santa.claus.ipv4.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+drop user 'user_ssl'@'santa.claus.ipv4.example.com';
+drop user 'user_ssl_x509'@'santa.claus.ipv4.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_allow.result
new file mode 100644
index 00000000000..36d7692f824
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_allow.result
@@ -0,0 +1,105 @@
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_error_again";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 1
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 2
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'2001:db8::6:6';
+drop user 'root'@'2001:db8::6:6';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_deny.result
new file mode 100644
index 00000000000..d241bede905
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_deny.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_error_again";
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 1
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 2
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_allow.result
new file mode 100644
index 00000000000..37470bdc0bb
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_allow.result
@@ -0,0 +1,105 @@
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_bad_ipv6";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 1
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 1
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'2001:db8::6:6';
+drop user 'root'@'2001:db8::6:6';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_deny.result
new file mode 100644
index 00000000000..b14fb2f955e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_deny.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_bad_ipv6";
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 1
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 1
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_allow.result
new file mode 100644
index 00000000000..410f116f4d0
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_allow.result
@@ -0,0 +1,105 @@
+call mtr.add_suppression("192.0.2.4");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv6.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+revoke select on test.* from 'root'@'santa.claus.ipv6.example.com';
+drop user 'root'@'santa.claus.ipv6.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_deny.result
new file mode 100644
index 00000000000..b88bb94343f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_deny.result
@@ -0,0 +1,90 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+ERROR HY000: Host 'santa.claus.ipv6.example.com' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host 'santa.claus.ipv6.example.com' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_allow.result
new file mode 100644
index 00000000000..6ccb3b66f22
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_allow.result
@@ -0,0 +1,109 @@
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv6.example.com';
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_error_noname";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 1
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 1
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'santa.claus.ipv6.example.com';
+revoke select on test.* from 'root'@'2001:db8::6:6';
+drop user 'root'@'santa.claus.ipv6.example.com';
+drop user 'root'@'2001:db8::6:6';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_deny.result
new file mode 100644
index 00000000000..73741cf42ed
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_deny.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_error_noname";
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 1
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 1
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_auth_plugin.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_auth_plugin.result
new file mode 100644
index 00000000000..8042071c68f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_auth_plugin.result
@@ -0,0 +1,200 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+CREATE USER 'plug'@'santa.claus.ipv6.example.com'
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER 'plug_dest'@'santa.claus.ipv6.example.com'
+ IDENTIFIED BY 'plug_test_passwd';
+GRANT SELECT ON test.* TO 'plug_dest'@'santa.claus.ipv6.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+uninstall plugin test_plugin_server;
+ERROR HY000: Plugin 'test_plugin_server' is not loaded
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 1
+COUNT_AUTH_PLUGIN_ERRORS 1
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Plugin 'test_plugin_server' is not loaded
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 2
+COUNT_AUTH_PLUGIN_ERRORS 2
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+install plugin test_plugin_server soname 'PLUGIN_AUTH';
+ERROR 28000: Access denied for user 'plug'@'santa.claus.ipv6.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 2
+COUNT_AUTH_PLUGIN_ERRORS 2
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 1
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'plug'@'santa.claus.ipv6.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 2
+COUNT_AUTH_PLUGIN_ERRORS 2
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 2
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+GRANT PROXY ON 'plug_dest'@'santa.claus.ipv6.example.com'
+ TO 'plug'@'santa.claus.ipv6.example.com';
+select "Con4 is alive";
+Con4 is alive
+Con4 is alive
+select user();
+user()
+plug@santa.claus.ipv6.example.com
+select current_user();
+current_user()
+plug_dest@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 2
+COUNT_AUTH_PLUGIN_ERRORS 2
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 2
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+REVOKE ALL PRIVILEGES ON *.* FROM 'plug_dest'@'santa.claus.ipv6.example.com';
+REVOKE PROXY ON 'plug_dest'@'santa.claus.ipv6.example.com'
+ FROM 'plug'@'santa.claus.ipv6.example.com';
+DROP USER 'plug'@'santa.claus.ipv6.example.com';
+DROP USER 'plug_dest'@'santa.claus.ipv6.example.com';
+set global debug_dbug= default;
+delete from mysql.plugin where name='test_plugin_server';
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result
new file mode 100644
index 00000000000..a0c2d8bdfa6
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result
@@ -0,0 +1,424 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select @@global.max_connect_errors into @saved_max_connect_errors;
+set global max_connect_errors = 3;
+create user 'root'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv6.example.com';
+create user 'quota'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'quota'@'santa.claus.ipv6.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6,native_password_bad_reply";
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 1
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 1
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 2
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 2
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 3
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '2001:db8::6:6' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 1
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 3
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '2001:db8::6:6' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 2
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 3
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+flush hosts;
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 1
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 1
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 2
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 2
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= "-d,native_password_bad_reply";
+message
+Valid connection should reset SUM_CONNECT_ERROR counter
+set global debug_dbug= "+d,native_password_bad_reply";
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 2
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 1
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 3
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 2
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 4
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 08S01: Bad handshake
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 5
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '2001:db8::6:6' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 1
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 5
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '2001:db8::6:6' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 3
+COUNT_HOST_BLOCKED_ERRORS 2
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 5
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'santa.claus.ipv6.example.com';
+drop user 'root'@'santa.claus.ipv6.example.com';
+revoke select on test.* from 'quota'@'santa.claus.ipv6.example.com';
+drop user 'quota'@'santa.claus.ipv6.example.com';
+set global max_connect_errors = @saved_max_connect_errors;
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_max_con.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_max_con.result
new file mode 100644
index 00000000000..56eb6fe6ac6
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_max_con.result
@@ -0,0 +1,659 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+1024
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select @@global.max_connections into @saved_max_connections;
+select @@global.max_user_connections into @saved_max_user_connections;
+create user 'quota'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'quota'@'santa.claus.ipv6.example.com';
+grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com'
+ with max_connections_per_hour 3;
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+select "Con2a is alive";
+Con2a is alive
+Con2a is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+select "Con2b is alive";
+Con2b is alive
+Con2b is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+select "Con2c is alive";
+Con2c is alive
+Con2c is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN null
+LAST_ERROR_SEEN null
+ERROR 42000: User 'quota' has exceeded the 'max_connections_per_hour' resource (current value: 3)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 1
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User 'quota' has exceeded the 'max_connections_per_hour' resource (current value: 3)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com'
+ with max_connections_per_hour 0;
+grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com'
+ with max_user_connections 3;
+flush user_resources;
+select "Con7 is alive";
+Con7 is alive
+Con7 is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3b is alive";
+Con3b is alive
+Con3b is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3c is alive";
+Con3c is alive
+Con3c is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User 'quota' has exceeded the 'max_user_connections' resource (current value: 3)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 1
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User 'quota' has exceeded the 'max_user_connections' resource (current value: 3)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com'
+ with max_user_connections 0;
+flush user_resources;
+set global max_user_connections = 3;
+select "Con4a is alive";
+Con4a is alive
+Con4a is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con4b is alive";
+Con4b is alive
+Con4b is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con4c is alive";
+Con4c is alive
+Con4c is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User quota already has more than 'max_user_connections' active connections
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 3
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 42000: User quota already has more than 'max_user_connections' active connections
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global max_user_connections = 0;
+set global max_connections = 10;
+flush user_resources;
+select "Con4a is alive";
+Con4a is alive
+Con4a is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con5b is alive";
+Con5b is alive
+Con5b is alive
+select current_user();
+current_user()
+quota@santa.claus.ipv6.example.com
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+Got one of the listed errors
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+Got one of the listed errors
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 2
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global max_connections = @saved_max_connections;
+set global max_user_connections = @saved_max_user_connections;
+drop user 'quota'@'santa.claus.ipv6.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_allow.result
new file mode 100644
index 00000000000..a2b9a32c764
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_allow.result
@@ -0,0 +1,178 @@
+call mtr.add_suppression("2001:db8::6:6");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+create user 'root'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv6.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_error_again";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 1
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+select "Con4 is alive";
+Con4 is alive
+Con4 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con5 is alive";
+Con5 is alive
+Con5 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'2001:db8::6:6';
+revoke select on test.* from 'root'@'santa.claus.ipv6.example.com';
+drop user 'root'@'2001:db8::6:6';
+drop user 'root'@'santa.claus.ipv6.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_deny.result
new file mode 100644
index 00000000000..373ed10677a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_deny.result
@@ -0,0 +1,150 @@
+call mtr.add_suppression("2001:db8::6:6");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_error_again";
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 1
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED NO
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+ERROR HY000: Host 'santa.claus.ipv6.example.com' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 3
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host 'santa.claus.ipv6.example.com' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 2
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 4
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_allow.result
new file mode 100644
index 00000000000..99b47be724f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_allow.result
@@ -0,0 +1,105 @@
+call mtr.add_suppression("2001:db8::6:6");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_error_noname";
+select "Con2 is alive";
+Con2 is alive
+Con2 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 1
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+select "Con3 is alive";
+Con3 is alive
+Con3 is alive
+select current_user();
+current_user()
+root@2001:db8::6:6
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 1
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+revoke select on test.* from 'root'@'2001:db8::6:6';
+drop user 'root'@'2001:db8::6:6';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_deny.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_deny.result
new file mode 100644
index 00000000000..32a06e8105f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_deny.result
@@ -0,0 +1,91 @@
+call mtr.add_suppression("2001:db8::6:6");
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_error_noname";
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 1
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 1
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR HY000: Host '2001:db8::6:6' is not allowed to connect to this MariaDB server
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST NULL
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 1
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 2
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_passwd.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_passwd.result
new file mode 100644
index 00000000000..5c3b363c5cd
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_passwd.result
@@ -0,0 +1,213 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'user_without'@'santa.claus.ipv6.example.com';
+create user 'user_with'@'santa.claus.ipv6.example.com'
+ identified by 'good_password';
+grant select on test.* to 'user_without'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'user_with'@'santa.claus.ipv6.example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+ERROR 28000: Access denied for user 'user_without'@'santa.claus.ipv6.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 1
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_without'@'santa.claus.ipv6.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 2
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_with'@'santa.claus.ipv6.example.com' (using password: NO)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 3
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_with'@'santa.claus.ipv6.example.com' (using password: NO)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 4
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_with'@'santa.claus.ipv6.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 5
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_with'@'santa.claus.ipv6.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 6
+COUNT_SSL_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+drop user 'user_with'@'santa.claus.ipv6.example.com';
+drop user 'user_without'@'santa.claus.ipv6.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_ssl.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_ssl.result
new file mode 100644
index 00000000000..422db77b5ae
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_ssl.result
@@ -0,0 +1,159 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+create user 'user_ssl'@'santa.claus.ipv6.example.com';
+create user 'user_ssl_x509'@'santa.claus.ipv6.example.com'
+ identified by 'good_password';
+grant select on test.* to 'user_ssl'@'santa.claus.ipv6.example.com'
+ REQUIRE SSL;
+grant select on test.* to 'user_ssl_x509'@'santa.claus.ipv6.example.com'
+ REQUIRE SUBJECT '/C=??/ST=??/L=??/
+ O=No such thing/
+ CN=Santa Claus/emailAddress=santa.claus@example.com';
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+ERROR 28000: Access denied for user 'user_ssl'@'santa.claus.ipv6.example.com' (using password: NO)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 1
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_ssl'@'santa.claus.ipv6.example.com' (using password: NO)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 2
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_ssl_x509'@'santa.claus.ipv6.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 3
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+ERROR 28000: Access denied for user 'user_ssl_x509'@'santa.claus.ipv6.example.com' (using password: YES)
+"Dumping performance_schema.host_cache"
+IP 2001:db8::6:6
+HOST santa.claus.ipv6.example.com
+HOST_VALIDATED YES
+SUM_CONNECT_ERRORS 0
+COUNT_HOST_BLOCKED_ERRORS 0
+COUNT_NAMEINFO_TRANSIENT_ERRORS 0
+COUNT_NAMEINFO_PERMANENT_ERRORS 0
+COUNT_FORMAT_ERRORS 0
+COUNT_ADDRINFO_TRANSIENT_ERRORS 0
+COUNT_ADDRINFO_PERMANENT_ERRORS 0
+COUNT_FCRDNS_ERRORS 0
+COUNT_HOST_ACL_ERRORS 0
+COUNT_NO_AUTH_PLUGIN_ERRORS 0
+COUNT_AUTH_PLUGIN_ERRORS 0
+COUNT_HANDSHAKE_ERRORS 0
+COUNT_PROXY_USER_ERRORS 0
+COUNT_PROXY_USER_ACL_ERRORS 0
+COUNT_AUTHENTICATION_ERRORS 0
+COUNT_SSL_ERRORS 4
+COUNT_MAX_USER_CONNECTIONS_ERRORS 0
+COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 0
+COUNT_DEFAULT_DATABASE_ERRORS 0
+COUNT_INIT_CONNECT_ERRORS 0
+COUNT_LOCAL_ERRORS 0
+COUNT_UNKNOWN_ERRORS 0
+FIRST_ERROR_SEEN set
+LAST_ERROR_SEEN set
+drop user 'user_ssl'@'santa.claus.ipv6.example.com';
+drop user 'user_ssl_x509'@'santa.claus.ipv6.example.com';
+set global debug_dbug= default;
diff --git a/mysql-test/suite/perfschema/r/hostcache_peer_addr.result b/mysql-test/suite/perfschema/r/hostcache_peer_addr.result
new file mode 100644
index 00000000000..70618be6145
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/hostcache_peer_addr.result
@@ -0,0 +1,69 @@
+flush status;
+flush hosts;
+flush user_resources;
+flush privileges;
+select @@global.debug;
+@@global.debug
+
+select @@global.max_connect_errors;
+@@global.max_connect_errors
+100
+select @@global.max_user_connections;
+@@global.max_user_connections
+0
+select @@global.max_connections;
+@@global.max_connections
+151
+select `User`, `Host` from mysql.`user` where `host` like '%\\%%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '192.%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like '2001:%';
+User Host
+select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%';
+User Host
+show global status like "connection_errors_%";
+Variable_name Value
+Connection_errors_accept 0
+Connection_errors_internal 0
+Connection_errors_max_connections 0
+Connection_errors_peer_address 0
+Connection_errors_select 0
+Connection_errors_tcpwrap 0
+select "Con1 is alive";
+Con1 is alive
+Con1 is alive
+select current_user();
+current_user()
+root@localhost
+set global debug_dbug= "+d,vio_peer_addr_error";
+ERROR HY000: Can't get hostname for your address
+show global status like "connection_errors_%";
+Variable_name Value
+Connection_errors_accept 0
+Connection_errors_internal 0
+Connection_errors_max_connections 0
+Connection_errors_peer_address 1
+Connection_errors_select 0
+Connection_errors_tcpwrap 0
+"Dumping performance_schema.host_cache"
+ERROR HY000: Can't get hostname for your address
+show global status like "connection_errors_%";
+Variable_name Value
+Connection_errors_accept 0
+Connection_errors_internal 0
+Connection_errors_max_connections 0
+Connection_errors_peer_address 2
+Connection_errors_select 0
+Connection_errors_tcpwrap 0
+"Dumping performance_schema.host_cache"
+set global debug_dbug= default;
+flush status;
+show global status like "connection_errors_%";
+Variable_name Value
+Connection_errors_accept 0
+Connection_errors_internal 0
+Connection_errors_max_connections 0
+Connection_errors_peer_address 0
+Connection_errors_select 0
+Connection_errors_tcpwrap 0
diff --git a/mysql-test/suite/perfschema/r/indexed_table_io.result b/mysql-test/suite/perfschema/r/indexed_table_io.result
new file mode 100644
index 00000000000..57518673491
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/indexed_table_io.result
@@ -0,0 +1,159 @@
+drop table if exists test.no_index_tab;
+drop table if exists test.index_tab;
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+create table test.no_index_tab
+( a int, b char(30) default 'Default') engine = MyISAM;
+create table test.index_tab
+( a int, b char(30) default 'Default', unique key uidx(a)) engine = MyISAM;
+show create table test.no_index_tab;
+Table Create Table
+no_index_tab CREATE TABLE `no_index_tab` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(30) DEFAULT 'Default'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+show create table test.index_tab;
+Table Create Table
+index_tab CREATE TABLE `index_tab` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(30) DEFAULT 'Default',
+ UNIQUE KEY `uidx` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+# Printing of 100 inserts per table is suppressed
+update performance_schema.setup_consumers set enabled='NO';
+select COUNT(*)
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+and object_schema = 'test'
+and object_name = 'no_index_tab';
+COUNT(*)
+100
+select COUNT(*)
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+and object_schema = 'test'
+and object_name = 'index_tab';
+COUNT(*)
+100
+select count(*) from test.no_index_tab;
+count(*)
+100
+select count(*) from test.index_tab;
+count(*)
+100
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+select avg(a) from test.no_index_tab;
+avg(a)
+50.5000
+update performance_schema.setup_consumers set enabled='NO';
+select COUNT(*)
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+and object_schema = 'test'
+and object_name = 'no_index_tab';
+COUNT(*)
+101
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+select avg(a) from test.index_tab;
+avg(a)
+50.5000
+update performance_schema.setup_consumers set enabled='NO';
+select COUNT(*)
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+and object_schema = 'test'
+and object_name = 'index_tab';
+COUNT(*)
+101
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+select 1 as my_column from test.no_index_tab where a = 50;
+my_column
+1
+update performance_schema.setup_consumers set enabled='NO';
+select COUNT(*)
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+and object_schema = 'test'
+and object_name = 'no_index_tab';
+COUNT(*)
+101
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+select 1 as my_column from test.index_tab where a = 50;
+my_column
+1
+update performance_schema.setup_consumers set enabled='NO';
+select COUNT(*)
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+and object_schema = 'test'
+and object_name = 'index_tab';
+COUNT(*)
+1
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+delete from test.no_index_tab where a = 51;
+update performance_schema.setup_consumers set enabled='NO';
+select COUNT(*)
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+and object_schema = 'test'
+and object_name = 'no_index_tab';
+COUNT(*)
+102
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+delete from test.index_tab where a = 51;
+update performance_schema.setup_consumers set enabled='NO';
+select COUNT(*)
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+and object_schema = 'test'
+and object_name = 'index_tab';
+COUNT(*)
+2
+show status like 'performance_schema_%';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+drop table test.no_index_tab;
+drop table test.index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/information_schema.result b/mysql-test/suite/perfschema/r/information_schema.result
index ab464cce687..5e5ce57fb2e 100644
--- a/mysql-test/suite/perfschema/r/information_schema.result
+++ b/mysql-test/suite/perfschema/r/information_schema.result
@@ -2,188 +2,503 @@ select TABLE_SCHEMA, lower(TABLE_NAME), TABLE_CATALOG
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
TABLE_SCHEMA lower(TABLE_NAME) TABLE_CATALOG
+performance_schema accounts def
performance_schema cond_instances def
+performance_schema events_stages_current def
+performance_schema events_stages_history def
+performance_schema events_stages_history_long def
+performance_schema events_stages_summary_by_account_by_event_name def
+performance_schema events_stages_summary_by_host_by_event_name def
+performance_schema events_stages_summary_by_thread_by_event_name def
+performance_schema events_stages_summary_by_user_by_event_name def
+performance_schema events_stages_summary_global_by_event_name def
+performance_schema events_statements_current def
+performance_schema events_statements_history def
+performance_schema events_statements_history_long def
+performance_schema events_statements_summary_by_account_by_event_name def
+performance_schema events_statements_summary_by_digest def
+performance_schema events_statements_summary_by_host_by_event_name def
+performance_schema events_statements_summary_by_thread_by_event_name def
+performance_schema events_statements_summary_by_user_by_event_name def
+performance_schema events_statements_summary_global_by_event_name def
performance_schema events_waits_current def
performance_schema events_waits_history def
performance_schema events_waits_history_long def
+performance_schema events_waits_summary_by_account_by_event_name def
+performance_schema events_waits_summary_by_host_by_event_name def
performance_schema events_waits_summary_by_instance def
performance_schema events_waits_summary_by_thread_by_event_name def
+performance_schema events_waits_summary_by_user_by_event_name def
performance_schema events_waits_summary_global_by_event_name def
performance_schema file_instances def
performance_schema file_summary_by_event_name def
performance_schema file_summary_by_instance def
+performance_schema host_cache def
+performance_schema hosts def
performance_schema mutex_instances def
+performance_schema objects_summary_global_by_type def
performance_schema performance_timers def
performance_schema rwlock_instances def
+performance_schema session_account_connect_attrs def
+performance_schema session_connect_attrs def
+performance_schema setup_actors def
performance_schema setup_consumers def
performance_schema setup_instruments def
+performance_schema setup_objects def
performance_schema setup_timers def
+performance_schema socket_instances def
+performance_schema socket_summary_by_event_name def
+performance_schema socket_summary_by_instance def
+performance_schema table_io_waits_summary_by_index_usage def
+performance_schema table_io_waits_summary_by_table def
+performance_schema table_lock_waits_summary_by_table def
performance_schema threads def
+performance_schema users def
select lower(TABLE_NAME), TABLE_TYPE, ENGINE
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
lower(TABLE_NAME) TABLE_TYPE ENGINE
+accounts BASE TABLE PERFORMANCE_SCHEMA
cond_instances BASE TABLE PERFORMANCE_SCHEMA
+events_stages_current BASE TABLE PERFORMANCE_SCHEMA
+events_stages_history BASE TABLE PERFORMANCE_SCHEMA
+events_stages_history_long BASE TABLE PERFORMANCE_SCHEMA
+events_stages_summary_by_account_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_stages_summary_by_host_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_stages_summary_by_thread_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_stages_summary_by_user_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_stages_summary_global_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_statements_current BASE TABLE PERFORMANCE_SCHEMA
+events_statements_history BASE TABLE PERFORMANCE_SCHEMA
+events_statements_history_long BASE TABLE PERFORMANCE_SCHEMA
+events_statements_summary_by_account_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_statements_summary_by_digest BASE TABLE PERFORMANCE_SCHEMA
+events_statements_summary_by_host_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_statements_summary_by_thread_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_statements_summary_by_user_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_statements_summary_global_by_event_name BASE TABLE PERFORMANCE_SCHEMA
events_waits_current BASE TABLE PERFORMANCE_SCHEMA
events_waits_history BASE TABLE PERFORMANCE_SCHEMA
events_waits_history_long BASE TABLE PERFORMANCE_SCHEMA
+events_waits_summary_by_account_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_waits_summary_by_host_by_event_name BASE TABLE PERFORMANCE_SCHEMA
events_waits_summary_by_instance BASE TABLE PERFORMANCE_SCHEMA
events_waits_summary_by_thread_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_waits_summary_by_user_by_event_name BASE TABLE PERFORMANCE_SCHEMA
events_waits_summary_global_by_event_name BASE TABLE PERFORMANCE_SCHEMA
file_instances BASE TABLE PERFORMANCE_SCHEMA
file_summary_by_event_name BASE TABLE PERFORMANCE_SCHEMA
file_summary_by_instance BASE TABLE PERFORMANCE_SCHEMA
+host_cache BASE TABLE PERFORMANCE_SCHEMA
+hosts BASE TABLE PERFORMANCE_SCHEMA
mutex_instances BASE TABLE PERFORMANCE_SCHEMA
+objects_summary_global_by_type BASE TABLE PERFORMANCE_SCHEMA
performance_timers BASE TABLE PERFORMANCE_SCHEMA
rwlock_instances BASE TABLE PERFORMANCE_SCHEMA
+session_account_connect_attrs BASE TABLE PERFORMANCE_SCHEMA
+session_connect_attrs BASE TABLE PERFORMANCE_SCHEMA
+setup_actors BASE TABLE PERFORMANCE_SCHEMA
setup_consumers BASE TABLE PERFORMANCE_SCHEMA
setup_instruments BASE TABLE PERFORMANCE_SCHEMA
+setup_objects BASE TABLE PERFORMANCE_SCHEMA
setup_timers BASE TABLE PERFORMANCE_SCHEMA
+socket_instances BASE TABLE PERFORMANCE_SCHEMA
+socket_summary_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+socket_summary_by_instance BASE TABLE PERFORMANCE_SCHEMA
+table_io_waits_summary_by_index_usage BASE TABLE PERFORMANCE_SCHEMA
+table_io_waits_summary_by_table BASE TABLE PERFORMANCE_SCHEMA
+table_lock_waits_summary_by_table BASE TABLE PERFORMANCE_SCHEMA
threads BASE TABLE PERFORMANCE_SCHEMA
+users BASE TABLE PERFORMANCE_SCHEMA
select lower(TABLE_NAME), VERSION, ROW_FORMAT
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
lower(TABLE_NAME) VERSION ROW_FORMAT
+accounts 10 Fixed
cond_instances 10 Dynamic
+events_stages_current 10 Dynamic
+events_stages_history 10 Dynamic
+events_stages_history_long 10 Dynamic
+events_stages_summary_by_account_by_event_name 10 Dynamic
+events_stages_summary_by_host_by_event_name 10 Dynamic
+events_stages_summary_by_thread_by_event_name 10 Dynamic
+events_stages_summary_by_user_by_event_name 10 Dynamic
+events_stages_summary_global_by_event_name 10 Dynamic
+events_statements_current 10 Dynamic
+events_statements_history 10 Dynamic
+events_statements_history_long 10 Dynamic
+events_statements_summary_by_account_by_event_name 10 Dynamic
+events_statements_summary_by_digest 10 Dynamic
+events_statements_summary_by_host_by_event_name 10 Dynamic
+events_statements_summary_by_thread_by_event_name 10 Dynamic
+events_statements_summary_by_user_by_event_name 10 Dynamic
+events_statements_summary_global_by_event_name 10 Dynamic
events_waits_current 10 Dynamic
events_waits_history 10 Dynamic
events_waits_history_long 10 Dynamic
+events_waits_summary_by_account_by_event_name 10 Dynamic
+events_waits_summary_by_host_by_event_name 10 Dynamic
events_waits_summary_by_instance 10 Dynamic
events_waits_summary_by_thread_by_event_name 10 Dynamic
+events_waits_summary_by_user_by_event_name 10 Dynamic
events_waits_summary_global_by_event_name 10 Dynamic
file_instances 10 Dynamic
file_summary_by_event_name 10 Dynamic
file_summary_by_instance 10 Dynamic
+host_cache 10 Dynamic
+hosts 10 Fixed
mutex_instances 10 Dynamic
+objects_summary_global_by_type 10 Dynamic
performance_timers 10 Fixed
rwlock_instances 10 Dynamic
+session_account_connect_attrs 10 Dynamic
+session_connect_attrs 10 Dynamic
+setup_actors 10 Fixed
setup_consumers 10 Dynamic
setup_instruments 10 Dynamic
+setup_objects 10 Dynamic
setup_timers 10 Dynamic
+socket_instances 10 Dynamic
+socket_summary_by_event_name 10 Dynamic
+socket_summary_by_instance 10 Dynamic
+table_io_waits_summary_by_index_usage 10 Dynamic
+table_io_waits_summary_by_table 10 Dynamic
+table_lock_waits_summary_by_table 10 Dynamic
threads 10 Dynamic
+users 10 Fixed
select lower(TABLE_NAME), TABLE_ROWS, AVG_ROW_LENGTH
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
lower(TABLE_NAME) TABLE_ROWS AVG_ROW_LENGTH
+accounts 1000 0
cond_instances 1000 0
+events_stages_current 1000 0
+events_stages_history 1000 0
+events_stages_history_long 10000 0
+events_stages_summary_by_account_by_event_name 1000 0
+events_stages_summary_by_host_by_event_name 1000 0
+events_stages_summary_by_thread_by_event_name 1000 0
+events_stages_summary_by_user_by_event_name 1000 0
+events_stages_summary_global_by_event_name 1000 0
+events_statements_current 1000 0
+events_statements_history 1000 0
+events_statements_history_long 10000 0
+events_statements_summary_by_account_by_event_name 1000 0
+events_statements_summary_by_digest 1000 0
+events_statements_summary_by_host_by_event_name 1000 0
+events_statements_summary_by_thread_by_event_name 1000 0
+events_statements_summary_by_user_by_event_name 1000 0
+events_statements_summary_global_by_event_name 1000 0
events_waits_current 1000 0
events_waits_history 1000 0
events_waits_history_long 10000 0
+events_waits_summary_by_account_by_event_name 1000 0
+events_waits_summary_by_host_by_event_name 1000 0
events_waits_summary_by_instance 1000 0
events_waits_summary_by_thread_by_event_name 1000 0
+events_waits_summary_by_user_by_event_name 1000 0
events_waits_summary_global_by_event_name 1000 0
file_instances 1000 0
file_summary_by_event_name 1000 0
file_summary_by_instance 1000 0
+host_cache 1000 0
+hosts 1000 0
mutex_instances 1000 0
+objects_summary_global_by_type 1000 0
performance_timers 5 0
rwlock_instances 1000 0
-setup_consumers 8 0
+session_account_connect_attrs 1000 0
+session_connect_attrs 1000 0
+setup_actors 1 0
+setup_consumers 12 0
setup_instruments 1000 0
-setup_timers 1 0
+setup_objects 4 0
+setup_timers 4 0
+socket_instances 1000 0
+socket_summary_by_event_name 1000 0
+socket_summary_by_instance 1000 0
+table_io_waits_summary_by_index_usage 1000 0
+table_io_waits_summary_by_table 1000 0
+table_lock_waits_summary_by_table 1000 0
threads 1000 0
+users 1000 0
select lower(TABLE_NAME), DATA_LENGTH, MAX_DATA_LENGTH
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
lower(TABLE_NAME) DATA_LENGTH MAX_DATA_LENGTH
+accounts 0 0
cond_instances 0 0
+events_stages_current 0 0
+events_stages_history 0 0
+events_stages_history_long 0 0
+events_stages_summary_by_account_by_event_name 0 0
+events_stages_summary_by_host_by_event_name 0 0
+events_stages_summary_by_thread_by_event_name 0 0
+events_stages_summary_by_user_by_event_name 0 0
+events_stages_summary_global_by_event_name 0 0
+events_statements_current 0 0
+events_statements_history 0 0
+events_statements_history_long 0 0
+events_statements_summary_by_account_by_event_name 0 0
+events_statements_summary_by_digest 0 0
+events_statements_summary_by_host_by_event_name 0 0
+events_statements_summary_by_thread_by_event_name 0 0
+events_statements_summary_by_user_by_event_name 0 0
+events_statements_summary_global_by_event_name 0 0
events_waits_current 0 0
events_waits_history 0 0
events_waits_history_long 0 0
+events_waits_summary_by_account_by_event_name 0 0
+events_waits_summary_by_host_by_event_name 0 0
events_waits_summary_by_instance 0 0
events_waits_summary_by_thread_by_event_name 0 0
+events_waits_summary_by_user_by_event_name 0 0
events_waits_summary_global_by_event_name 0 0
file_instances 0 0
file_summary_by_event_name 0 0
file_summary_by_instance 0 0
+host_cache 0 0
+hosts 0 0
mutex_instances 0 0
+objects_summary_global_by_type 0 0
performance_timers 0 0
rwlock_instances 0 0
+session_account_connect_attrs 0 0
+session_connect_attrs 0 0
+setup_actors 0 0
setup_consumers 0 0
setup_instruments 0 0
+setup_objects 0 0
setup_timers 0 0
+socket_instances 0 0
+socket_summary_by_event_name 0 0
+socket_summary_by_instance 0 0
+table_io_waits_summary_by_index_usage 0 0
+table_io_waits_summary_by_table 0 0
+table_lock_waits_summary_by_table 0 0
threads 0 0
+users 0 0
select lower(TABLE_NAME), INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
lower(TABLE_NAME) INDEX_LENGTH DATA_FREE AUTO_INCREMENT
+accounts 0 0 NULL
cond_instances 0 0 NULL
+events_stages_current 0 0 NULL
+events_stages_history 0 0 NULL
+events_stages_history_long 0 0 NULL
+events_stages_summary_by_account_by_event_name 0 0 NULL
+events_stages_summary_by_host_by_event_name 0 0 NULL
+events_stages_summary_by_thread_by_event_name 0 0 NULL
+events_stages_summary_by_user_by_event_name 0 0 NULL
+events_stages_summary_global_by_event_name 0 0 NULL
+events_statements_current 0 0 NULL
+events_statements_history 0 0 NULL
+events_statements_history_long 0 0 NULL
+events_statements_summary_by_account_by_event_name 0 0 NULL
+events_statements_summary_by_digest 0 0 NULL
+events_statements_summary_by_host_by_event_name 0 0 NULL
+events_statements_summary_by_thread_by_event_name 0 0 NULL
+events_statements_summary_by_user_by_event_name 0 0 NULL
+events_statements_summary_global_by_event_name 0 0 NULL
events_waits_current 0 0 NULL
events_waits_history 0 0 NULL
events_waits_history_long 0 0 NULL
+events_waits_summary_by_account_by_event_name 0 0 NULL
+events_waits_summary_by_host_by_event_name 0 0 NULL
events_waits_summary_by_instance 0 0 NULL
events_waits_summary_by_thread_by_event_name 0 0 NULL
+events_waits_summary_by_user_by_event_name 0 0 NULL
events_waits_summary_global_by_event_name 0 0 NULL
file_instances 0 0 NULL
file_summary_by_event_name 0 0 NULL
file_summary_by_instance 0 0 NULL
+host_cache 0 0 NULL
+hosts 0 0 NULL
mutex_instances 0 0 NULL
+objects_summary_global_by_type 0 0 NULL
performance_timers 0 0 NULL
rwlock_instances 0 0 NULL
+session_account_connect_attrs 0 0 NULL
+session_connect_attrs 0 0 NULL
+setup_actors 0 0 NULL
setup_consumers 0 0 NULL
setup_instruments 0 0 NULL
+setup_objects 0 0 NULL
setup_timers 0 0 NULL
+socket_instances 0 0 NULL
+socket_summary_by_event_name 0 0 NULL
+socket_summary_by_instance 0 0 NULL
+table_io_waits_summary_by_index_usage 0 0 NULL
+table_io_waits_summary_by_table 0 0 NULL
+table_lock_waits_summary_by_table 0 0 NULL
threads 0 0 NULL
+users 0 0 NULL
select lower(TABLE_NAME), CREATE_TIME, UPDATE_TIME, CHECK_TIME
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
lower(TABLE_NAME) CREATE_TIME UPDATE_TIME CHECK_TIME
+accounts NULL NULL NULL
cond_instances NULL NULL NULL
+events_stages_current NULL NULL NULL
+events_stages_history NULL NULL NULL
+events_stages_history_long NULL NULL NULL
+events_stages_summary_by_account_by_event_name NULL NULL NULL
+events_stages_summary_by_host_by_event_name NULL NULL NULL
+events_stages_summary_by_thread_by_event_name NULL NULL NULL
+events_stages_summary_by_user_by_event_name NULL NULL NULL
+events_stages_summary_global_by_event_name NULL NULL NULL
+events_statements_current NULL NULL NULL
+events_statements_history NULL NULL NULL
+events_statements_history_long NULL NULL NULL
+events_statements_summary_by_account_by_event_name NULL NULL NULL
+events_statements_summary_by_digest NULL NULL NULL
+events_statements_summary_by_host_by_event_name NULL NULL NULL
+events_statements_summary_by_thread_by_event_name NULL NULL NULL
+events_statements_summary_by_user_by_event_name NULL NULL NULL
+events_statements_summary_global_by_event_name NULL NULL NULL
events_waits_current NULL NULL NULL
events_waits_history NULL NULL NULL
events_waits_history_long NULL NULL NULL
+events_waits_summary_by_account_by_event_name NULL NULL NULL
+events_waits_summary_by_host_by_event_name NULL NULL NULL
events_waits_summary_by_instance NULL NULL NULL
events_waits_summary_by_thread_by_event_name NULL NULL NULL
+events_waits_summary_by_user_by_event_name NULL NULL NULL
events_waits_summary_global_by_event_name NULL NULL NULL
file_instances NULL NULL NULL
file_summary_by_event_name NULL NULL NULL
file_summary_by_instance NULL NULL NULL
+host_cache NULL NULL NULL
+hosts NULL NULL NULL
mutex_instances NULL NULL NULL
+objects_summary_global_by_type NULL NULL NULL
performance_timers NULL NULL NULL
rwlock_instances NULL NULL NULL
+session_account_connect_attrs NULL NULL NULL
+session_connect_attrs NULL NULL NULL
+setup_actors NULL NULL NULL
setup_consumers NULL NULL NULL
setup_instruments NULL NULL NULL
+setup_objects NULL NULL NULL
setup_timers NULL NULL NULL
+socket_instances NULL NULL NULL
+socket_summary_by_event_name NULL NULL NULL
+socket_summary_by_instance NULL NULL NULL
+table_io_waits_summary_by_index_usage NULL NULL NULL
+table_io_waits_summary_by_table NULL NULL NULL
+table_lock_waits_summary_by_table NULL NULL NULL
threads NULL NULL NULL
+users NULL NULL NULL
select lower(TABLE_NAME), TABLE_COLLATION, CHECKSUM
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
lower(TABLE_NAME) TABLE_COLLATION CHECKSUM
+accounts utf8_general_ci NULL
cond_instances utf8_general_ci NULL
+events_stages_current utf8_general_ci NULL
+events_stages_history utf8_general_ci NULL
+events_stages_history_long utf8_general_ci NULL
+events_stages_summary_by_account_by_event_name utf8_general_ci NULL
+events_stages_summary_by_host_by_event_name utf8_general_ci NULL
+events_stages_summary_by_thread_by_event_name utf8_general_ci NULL
+events_stages_summary_by_user_by_event_name utf8_general_ci NULL
+events_stages_summary_global_by_event_name utf8_general_ci NULL
+events_statements_current utf8_general_ci NULL
+events_statements_history utf8_general_ci NULL
+events_statements_history_long utf8_general_ci NULL
+events_statements_summary_by_account_by_event_name utf8_general_ci NULL
+events_statements_summary_by_digest utf8_general_ci NULL
+events_statements_summary_by_host_by_event_name utf8_general_ci NULL
+events_statements_summary_by_thread_by_event_name utf8_general_ci NULL
+events_statements_summary_by_user_by_event_name utf8_general_ci NULL
+events_statements_summary_global_by_event_name utf8_general_ci NULL
events_waits_current utf8_general_ci NULL
events_waits_history utf8_general_ci NULL
events_waits_history_long utf8_general_ci NULL
+events_waits_summary_by_account_by_event_name utf8_general_ci NULL
+events_waits_summary_by_host_by_event_name utf8_general_ci NULL
events_waits_summary_by_instance utf8_general_ci NULL
events_waits_summary_by_thread_by_event_name utf8_general_ci NULL
+events_waits_summary_by_user_by_event_name utf8_general_ci NULL
events_waits_summary_global_by_event_name utf8_general_ci NULL
file_instances utf8_general_ci NULL
file_summary_by_event_name utf8_general_ci NULL
file_summary_by_instance utf8_general_ci NULL
+host_cache utf8_general_ci NULL
+hosts utf8_general_ci NULL
mutex_instances utf8_general_ci NULL
+objects_summary_global_by_type utf8_general_ci NULL
performance_timers utf8_general_ci NULL
rwlock_instances utf8_general_ci NULL
+session_account_connect_attrs utf8_bin NULL
+session_connect_attrs utf8_bin NULL
+setup_actors utf8_general_ci NULL
setup_consumers utf8_general_ci NULL
setup_instruments utf8_general_ci NULL
+setup_objects utf8_general_ci NULL
setup_timers utf8_general_ci NULL
+socket_instances utf8_general_ci NULL
+socket_summary_by_event_name utf8_general_ci NULL
+socket_summary_by_instance utf8_general_ci NULL
+table_io_waits_summary_by_index_usage utf8_general_ci NULL
+table_io_waits_summary_by_table utf8_general_ci NULL
+table_lock_waits_summary_by_table utf8_general_ci NULL
threads utf8_general_ci NULL
+users utf8_general_ci NULL
select lower(TABLE_NAME), TABLE_COMMENT
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
lower(TABLE_NAME) TABLE_COMMENT
+accounts
cond_instances
+events_stages_current
+events_stages_history
+events_stages_history_long
+events_stages_summary_by_account_by_event_name
+events_stages_summary_by_host_by_event_name
+events_stages_summary_by_thread_by_event_name
+events_stages_summary_by_user_by_event_name
+events_stages_summary_global_by_event_name
+events_statements_current
+events_statements_history
+events_statements_history_long
+events_statements_summary_by_account_by_event_name
+events_statements_summary_by_digest
+events_statements_summary_by_host_by_event_name
+events_statements_summary_by_thread_by_event_name
+events_statements_summary_by_user_by_event_name
+events_statements_summary_global_by_event_name
events_waits_current
events_waits_history
events_waits_history_long
+events_waits_summary_by_account_by_event_name
+events_waits_summary_by_host_by_event_name
events_waits_summary_by_instance
events_waits_summary_by_thread_by_event_name
+events_waits_summary_by_user_by_event_name
events_waits_summary_global_by_event_name
file_instances
file_summary_by_event_name
file_summary_by_instance
+host_cache
+hosts
mutex_instances
+objects_summary_global_by_type
performance_timers
rwlock_instances
+session_account_connect_attrs
+session_connect_attrs
+setup_actors
setup_consumers
setup_instruments
+setup_objects
setup_timers
+socket_instances
+socket_summary_by_event_name
+socket_summary_by_instance
+table_io_waits_summary_by_index_usage
+table_io_waits_summary_by_table
+table_lock_waits_summary_by_table
threads
+users
diff --git a/mysql-test/suite/perfschema/r/innodb_table_io.result b/mysql-test/suite/perfschema/r/innodb_table_io.result
new file mode 100644
index 00000000000..c37c1035e5a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/innodb_table_io.result
@@ -0,0 +1,140 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+drop table if exists test.no_index_tab;
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+create table test.no_index_tab
+( a varchar(255) not null, b int not null) engine = InnoDB;
+insert into marker set a = 1;
+show create table test.no_index_tab;
+Table Create Table
+no_index_tab CREATE TABLE `no_index_tab` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 1;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 2;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+foo 1
+foo 2
+foo 3
+insert into marker set a = 1;
+update test.no_index_tab set a = 'bar';
+insert into marker set a = 1;
+select * from test.no_index_tab limit 2;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+delete from test.no_index_tab where b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+optimize table test.no_index_tab;
+Table Op Msg_type Msg_text
+test.no_index_tab optimize note Table does not support optimize, doing recreate + analyze instead
+test.no_index_tab optimize status OK
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+truncate table test.no_index_tab;
+insert into marker set a = 1;
+drop table test.no_index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/memory_table_io.result b/mysql-test/suite/perfschema/r/memory_table_io.result
new file mode 100644
index 00000000000..7942015f618
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/memory_table_io.result
@@ -0,0 +1,141 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+drop table if exists test.no_index_tab;
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+create table test.no_index_tab
+( a varchar(255) not null, b int not null) engine = MEMORY;
+insert into marker set a = 1;
+show create table test.no_index_tab;
+Table Create Table
+no_index_tab CREATE TABLE `no_index_tab` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 1;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 2;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+foo 1
+foo 2
+foo 3
+insert into marker set a = 1;
+update test.no_index_tab set a = 'bar';
+insert into marker set a = 1;
+select * from test.no_index_tab limit 2;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+delete from test.no_index_tab where b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+optimize table test.no_index_tab;
+Table Op Msg_type Msg_text
+test.no_index_tab optimize note The storage engine for the table doesn't support optimize
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+truncate table test.no_index_tab;
+insert into marker set a = 1;
+drop table test.no_index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/merge_table_io.result b/mysql-test/suite/perfschema/r/merge_table_io.result
new file mode 100644
index 00000000000..d390ba67b5f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/merge_table_io.result
@@ -0,0 +1,171 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+drop table if exists test.no_index_tab;
+drop table if exists test.no_index_tab_1;
+drop table if exists test.no_index_tab_2;
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+create table test.no_index_tab_1
+( a varchar(255) not null, b int not null) engine = MyISAM;
+insert into marker set a = 1;
+create table test.no_index_tab_2 like test.no_index_tab_1;
+insert into marker set a = 1;
+create table test.no_index_tab
+( a varchar(255) not null, b int not null) engine = merge
+union = (test.no_index_tab_1,test.no_index_tab_2) insert_method = first;
+insert into marker set a = 1;
+show create table test.no_index_tab_1;
+Table Create Table
+no_index_tab_1 CREATE TABLE `no_index_tab_1` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+insert into marker set a = 1;
+show create table test.no_index_tab_2;
+Table Create Table
+no_index_tab_2 CREATE TABLE `no_index_tab_2` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+insert into marker set a = 1;
+show create table test.no_index_tab;
+Table Create Table
+no_index_tab CREATE TABLE `no_index_tab` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=FIRST UNION=(`no_index_tab_1`,`no_index_tab_2`)
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 1;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 2;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+foo 1
+foo 2
+foo 3
+insert into marker set a = 1;
+update test.no_index_tab set a = 'bar';
+insert into marker set a = 1;
+select * from test.no_index_tab limit 2;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+delete from test.no_index_tab where b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+optimize table test.no_index_tab;
+Table Op Msg_type Msg_text
+test.no_index_tab optimize note The storage engine for the table doesn't support optimize
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+truncate table test.no_index_tab;
+insert into marker set a = 1;
+drop table test.no_index_tab_1;
+insert into marker set a = 1;
+drop table test.no_index_tab_2;
+insert into marker set a = 1;
+drop table test.no_index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/misc.result b/mysql-test/suite/perfschema/r/misc.result
index 2f66f80ed75..7a097a27576 100644
--- a/mysql-test/suite/perfschema/r/misc.result
+++ b/mysql-test/suite/perfschema/r/misc.result
@@ -1,3 +1,39 @@
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema='test';
+object_schema object_name
+CREATE TABLE test.t_before(a INT);
+INSERT INTO test.t_before VALUES (1);
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema='test';
+object_schema object_name
+test t_before
+RENAME TABLE test.t_before TO test.t_after;
+SELECT COUNT(*) FROM test.t_after;
+COUNT(*)
+1
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema='test';
+object_schema object_name
+test t_after
+DROP TABLE test.t_after;
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema='test';
+object_schema object_name
+CREATE TABLE test.t1(a INT);
+INSERT INTO test.t1 VALUES (1);
+CREATE VIEW test.v1 AS SELECT * FROM test.t1;
+SELECT COUNT(*) FROM test.v1;
+COUNT(*)
+1
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema='test';
+object_schema object_name
+test t1
+DROP VIEW test.v1;
+DROP TABLE test.t1;
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema='test';
+object_schema object_name
SELECT EVENT_ID FROM performance_schema.events_waits_current
WHERE THREAD_ID IN
(SELECT THREAD_ID FROM performance_schema.threads)
@@ -6,11 +42,20 @@ AND EVENT_NAME IN
WHERE NAME LIKE "wait/synch/%")
LIMIT 1;
create table test.t1(a int) engine=performance_schema;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema='test';
+object_schema object_name
create table test.t1 like performance_schema.events_waits_current;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema='test';
+object_schema object_name
create table performance_schema.t1(a int);
ERROR 42000: CREATE command denied to user 'root'@'localhost' for table 't1'
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema='test';
+object_schema object_name
drop table if exists test.ghost;
create table test.ghost (a int, b int);
alter table test.ghost add index index_a(a);
@@ -27,3 +72,65 @@ where file_name like "%ghost%";
FILE_NAME EVENT_NAME OPEN_COUNT
select * from performance_schema.no_such_table;
ERROR 42S02: Table 'performance_schema.no_such_table' doesn't exist
+DROP TABLE IF EXISTS t_60905;
+CREATE TABLE t_60905 (i INT, j INT, KEY(i)) ENGINE = InnoDB;
+INSERT INTO t_60905 VALUES
+(1,2), (3,4), (5,6), (7,8), (9,10);
+DELETE FROM t_60905 WHERE i = 1;
+DELETE FROM t_60905 WHERE j = 8;
+SELECT object_schema,
+object_name,
+index_name,
+count_fetch,
+count_insert,
+count_update,
+count_delete
+FROM performance_schema.table_io_waits_summary_by_index_usage
+WHERE object_schema = 'test'
+ AND object_name = 't_60905';
+object_schema object_name index_name count_fetch count_insert count_update count_delete
+test t_60905 i 2 0 0 1
+test t_60905 NULL 5 5 0 1
+DROP TABLE t_60905;
+use test;
+truncate performance_schema.events_statements_history;
+truncate performance_schema.events_statements_history_long;
+select * from t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+
+select mysql_errno, returned_sqlstate, message_text, errors, warnings
+from performance_schema.events_statements_history where errors > 0;
+mysql_errno returned_sqlstate message_text errors warnings
+1146 42S02 Table 'test.t1' doesn't exist 1 0
+
+select mysql_errno, returned_sqlstate, message_text, errors, warnings from
+performance_schema.events_statements_history_long where errors > 0;
+mysql_errno returned_sqlstate message_text errors warnings
+1146 42S02 Table 'test.t1' doesn't exist 1 0
+use performance_schema;
+truncate performance_schema.events_statements_history;
+select 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' AS A;
+A
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+select _utf8mb4 'òðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑ' as B;
+B
+ваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑваÑÑ
+select count(*) from events_statements_history where sql_text like "%...";
+count(*)
+2
+use test;
+create table t1 (id int);
+insert into t1 values (1), (2), (3);
+truncate performance_schema.events_statements_history;
+select * from t1;
+id
+1
+2
+3
+insert into t1 select RAND()*10000 from t1;
+select sql_text, rows_examined from performance_schema.events_statements_history;
+sql_text rows_examined
+truncate performance_schema.events_statements_history 0
+select * from t1 3
+insert into t1 select RAND()*10000 from t1 6
+drop table t1;
diff --git a/mysql-test/suite/perfschema/r/mks_timer-6258.result b/mysql-test/suite/perfschema/r/mks_timer-6258.result
new file mode 100644
index 00000000000..d0e95a1a8fb
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/mks_timer-6258.result
@@ -0,0 +1,3 @@
+select distinct first_seen < DATE'2000-01-01', last_seen < DATE'2000-01-01' from performance_schema.events_statements_summary_by_digest;
+first_seen < DATE'2000-01-01' last_seen < DATE'2000-01-01'
+0 0
diff --git a/mysql-test/suite/perfschema/r/multi_table_io.result b/mysql-test/suite/perfschema/r/multi_table_io.result
new file mode 100644
index 00000000000..929e1791c61
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/multi_table_io.result
@@ -0,0 +1,102 @@
+drop schema if exists test1;
+drop table if exists test.t1;
+create schema test1;
+create table test.t1 (col1 bigint, col2 varchar(30)) engine = myisam;
+insert into test.t1 values(1,'One');
+create table test1.t2 like test.t1;
+show create table test.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` bigint(20) DEFAULT NULL,
+ `col2` varchar(30) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+show create table test1.t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col1` bigint(20) DEFAULT NULL,
+ `col2` varchar(30) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+update performance_schema.setup_consumers set enabled = 'YES';
+insert into test1.t2 select * from test.t1;
+insert into marker set a = 1;
+select * from test.t1 natural join test1.t2;
+col1 col2
+1 One
+insert into marker set a = 1;
+select * from test.t1 where col2 = (select col2 from test1.t2 where test.t1.col1 = test1.t2.col1);
+col1 col2
+1 One
+insert into marker set a = 1;
+update test.t1 AS a natural join test1.t2 AS b SET a.col2 = 'updated' , b.col2 = 'updated';
+insert into marker set a = 1;
+delete from test.t1, test1.t2 using test.t1 inner join test1.t2
+where test.t1.col1 = test1.t2.col1;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ('test','test1')
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test1 t2 insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test1 t2 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test1 t2 delete NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+drop table test.t1;
+drop schema test1;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/myisam_file_io.result b/mysql-test/suite/perfschema/r/myisam_file_io.result
index 5cdcf6ac789..ea1e0bd52b8 100644
--- a/mysql-test/suite/perfschema/r/myisam_file_io.result
+++ b/mysql-test/suite/perfschema/r/myisam_file_io.result
@@ -4,6 +4,7 @@ update performance_schema.setup_instruments set enabled='YES'
update performance_schema.setup_consumers
set enabled='YES';
truncate table performance_schema.events_waits_history_long;
+truncate table performance_schema.events_statements_summary_by_digest;
flush status;
drop table if exists test.no_index_tab;
create table test.no_index_tab ( a varchar(255), b int ) engine=myisam;
@@ -17,6 +18,7 @@ substring(object_name, locate("no_index_tab", object_name)) as short_name
from performance_schema.events_waits_history_long
where operation not like "tell"
and event_name like "wait/io/file/myisam/%"
+ having short_name <> ""
order by thread_id, event_id;
event_name short_source operation number_of_bytes short_name
wait/io/file/myisam/kfile mi_create.c: create NULL no_index_tab.MYI
@@ -43,19 +45,28 @@ wait/io/file/myisam/dfile mi_dynrec.c: write 20 no_index_tab.MYD
wait/io/file/myisam/kfile mi_open.c: write 124 no_index_tab.MYI
show status like 'performance_schema_%';
Variable_name Value
+Performance_schema_accounts_lost 0
Performance_schema_cond_classes_lost 0
Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
Performance_schema_file_classes_lost 0
Performance_schema_file_handles_lost 0
Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
Performance_schema_locker_lost 0
Performance_schema_mutex_classes_lost 0
Performance_schema_mutex_instances_lost 0
Performance_schema_rwlock_classes_lost 0
Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
Performance_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
update performance_schema.setup_instruments set enabled='YES';
drop table test.no_index_tab;
diff --git a/mysql-test/suite/perfschema/r/myisam_table_io.result b/mysql-test/suite/perfschema/r/myisam_table_io.result
new file mode 100644
index 00000000000..97a099581d4
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/myisam_table_io.result
@@ -0,0 +1,139 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+drop table if exists test.no_index_tab;
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+create table test.no_index_tab
+( a varchar(255) not null, b int not null) engine = MyISAM;
+insert into marker set a = 1;
+show create table test.no_index_tab;
+Table Create Table
+no_index_tab CREATE TABLE `no_index_tab` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 1;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 2;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+foo 1
+foo 2
+foo 3
+insert into marker set a = 1;
+update test.no_index_tab set a = 'bar';
+insert into marker set a = 1;
+select * from test.no_index_tab limit 2;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+delete from test.no_index_tab where b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+optimize table test.no_index_tab;
+Table Op Msg_type Msg_text
+test.no_index_tab optimize status OK
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+truncate table test.no_index_tab;
+insert into marker set a = 1;
+drop table test.no_index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/nesting.result b/mysql-test/suite/perfschema/r/nesting.result
new file mode 100644
index 00000000000..e17b3009758
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/nesting.result
@@ -0,0 +1,243 @@
+"================== con1 connected =================="
+select "MARKER_BEGIN" as marker;
+marker
+MARKER_BEGIN
+select "This is simple statement one" as payload;
+payload
+This is simple statement one
+select "This is simple statement two" as payload;
+payload
+This is simple statement two
+select "This is the first part of a multi query" as payload;
+select "And this is the second part of a multi query" as payload;
+select "With a third part to make things complete" as payload;
+$$
+payload
+This is the first part of a multi query
+payload
+And this is the second part of a multi query
+payload
+With a third part to make things complete
+select "MARKER_END" as marker;
+marker
+MARKER_END
+select "Con1 is done with payload" as status;
+status
+Con1 is done with payload
+"================== con1 done =================="
+set @con1_tid = (select thread_id from performance_schema.threads
+where processlist_user = 'user1');
+select (@con1_tid is not null) as expected;
+expected
+1
+set @marker_begin = (select event_id from performance_schema.events_statements_history_long
+where sql_text like "%MARKER_BEGIN%" and thread_id = @con1_tid);
+select (@marker_begin is not null) as expected;
+expected
+1
+set @marker_end = (select end_event_id from performance_schema.events_statements_history_long
+where sql_text like "%MARKER_END%" and thread_id = @con1_tid);
+select (@marker_end is not null) as expected;
+expected
+1
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+select * from (
+(
+select (event_id - @marker_begin) as relative_event_id,
+(end_event_id - @marker_begin) as relative_end_event_id,
+event_name,
+sql_text as comment,
+nesting_event_type,
+(nesting_event_id - @marker_begin) as relative_nesting_event_id
+from performance_schema.events_statements_history_long
+where (thread_id = @con1_tid)
+and (@marker_begin <= event_id)
+and (end_event_id <= @marker_end)
+)
+union
+(
+select (event_id - @marker_begin) as relative_event_id,
+(end_event_id - @marker_begin) as relative_end_event_id,
+event_name,
+"(stage)" as comment,
+nesting_event_type,
+(nesting_event_id - @marker_begin) as relative_nesting_event_id
+from performance_schema.events_stages_history_long
+where (thread_id = @con1_tid)
+and (@marker_begin <= event_id)
+and (end_event_id <= @marker_end)
+)
+union
+(
+select (event_id - @marker_begin) as relative_event_id,
+(end_event_id - @marker_begin) as relative_end_event_id,
+event_name,
+operation as comment,
+nesting_event_type,
+(nesting_event_id - @marker_begin) as relative_nesting_event_id
+from performance_schema.events_waits_history_long
+where (thread_id = @con1_tid)
+and (@marker_begin <= event_id)
+and (end_event_id <= @marker_end)
+)
+) all_events
+order by relative_event_id asc;
+relative_event_id relative_end_event_id event_name comment nesting_event_type relative_nesting_event_id
+0 18 statement/sql/select select "MARKER_BEGIN" as marker NULL NULL
+1 4 stage/sql/init (stage) STATEMENT 0
+2 2 wait/io/socket/sql/client_connection recv STAGE 1
+3 3 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 1
+4 4 wait/io/file/sql/query_log write STAGE 1
+5 5 stage/sql/checking permissions (stage) STATEMENT 0
+6 6 stage/sql/Opening tables (stage) STATEMENT 0
+7 7 stage/sql/After opening tables (stage) STATEMENT 0
+8 8 stage/sql/init (stage) STATEMENT 0
+9 9 stage/sql/optimizing (stage) STATEMENT 0
+10 10 stage/sql/executing (stage) STATEMENT 0
+11 11 stage/sql/end (stage) STATEMENT 0
+12 12 stage/sql/query end (stage) STATEMENT 0
+13 13 stage/sql/closing tables (stage) STATEMENT 0
+14 14 stage/sql/freeing items (stage) STATEMENT 0
+15 15 wait/io/socket/sql/client_connection send STATEMENT 0
+16 16 wait/synch/mutex/sql/THD::LOCK_thd_data lock STATEMENT 0
+17 18 stage/sql/cleaning up (stage) STATEMENT 0
+18 18 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 17
+19 19 idle idle NULL NULL
+20 38 statement/sql/select select "This is simple statement one" as payload NULL NULL
+21 24 stage/sql/init (stage) STATEMENT 20
+22 22 wait/io/socket/sql/client_connection recv STAGE 21
+23 23 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 21
+24 24 wait/io/file/sql/query_log write STAGE 21
+25 25 stage/sql/checking permissions (stage) STATEMENT 20
+26 26 stage/sql/Opening tables (stage) STATEMENT 20
+27 27 stage/sql/After opening tables (stage) STATEMENT 20
+28 28 stage/sql/init (stage) STATEMENT 20
+29 29 stage/sql/optimizing (stage) STATEMENT 20
+30 30 stage/sql/executing (stage) STATEMENT 20
+31 31 stage/sql/end (stage) STATEMENT 20
+32 32 stage/sql/query end (stage) STATEMENT 20
+33 33 stage/sql/closing tables (stage) STATEMENT 20
+34 34 stage/sql/freeing items (stage) STATEMENT 20
+35 35 wait/io/socket/sql/client_connection send STATEMENT 20
+36 36 wait/synch/mutex/sql/THD::LOCK_thd_data lock STATEMENT 20
+37 38 stage/sql/cleaning up (stage) STATEMENT 20
+38 38 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 37
+39 39 idle idle NULL NULL
+40 58 statement/sql/select select "This is simple statement two" as payload NULL NULL
+41 44 stage/sql/init (stage) STATEMENT 40
+42 42 wait/io/socket/sql/client_connection recv STAGE 41
+43 43 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 41
+44 44 wait/io/file/sql/query_log write STAGE 41
+45 45 stage/sql/checking permissions (stage) STATEMENT 40
+46 46 stage/sql/Opening tables (stage) STATEMENT 40
+47 47 stage/sql/After opening tables (stage) STATEMENT 40
+48 48 stage/sql/init (stage) STATEMENT 40
+49 49 stage/sql/optimizing (stage) STATEMENT 40
+50 50 stage/sql/executing (stage) STATEMENT 40
+51 51 stage/sql/end (stage) STATEMENT 40
+52 52 stage/sql/query end (stage) STATEMENT 40
+53 53 stage/sql/closing tables (stage) STATEMENT 40
+54 54 stage/sql/freeing items (stage) STATEMENT 40
+55 55 wait/io/socket/sql/client_connection send STATEMENT 40
+56 56 wait/synch/mutex/sql/THD::LOCK_thd_data lock STATEMENT 40
+57 58 stage/sql/cleaning up (stage) STATEMENT 40
+58 58 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 57
+59 59 idle idle NULL NULL
+60 77 statement/sql/select select "This is the first part of a multi query" as payload;
+select "And this is the second part of a multi query" as payload;
+select "With a third part to make things complete" as payload NULL NULL
+61 65 stage/sql/init (stage) STATEMENT 60
+62 62 wait/io/socket/sql/client_connection recv STAGE 61
+63 63 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 61
+64 64 wait/io/file/sql/query_log write STAGE 61
+65 65 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 61
+66 66 stage/sql/checking permissions (stage) STATEMENT 60
+67 67 stage/sql/Opening tables (stage) STATEMENT 60
+68 68 stage/sql/After opening tables (stage) STATEMENT 60
+69 69 stage/sql/init (stage) STATEMENT 60
+70 70 stage/sql/optimizing (stage) STATEMENT 60
+71 71 stage/sql/executing (stage) STATEMENT 60
+72 72 stage/sql/end (stage) STATEMENT 60
+73 73 stage/sql/query end (stage) STATEMENT 60
+74 74 stage/sql/closing tables (stage) STATEMENT 60
+75 77 stage/sql/freeing items (stage) STATEMENT 60
+76 76 wait/io/socket/sql/client_connection send STAGE 75
+77 77 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 75
+78 93 statement/sql/select select "And this is the second part of a multi query" as payload;
+select "With a third part to make things complete" as payload NULL NULL
+79 81 stage/sql/init (stage) STATEMENT 78
+80 80 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 79
+81 81 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 79
+82 82 stage/sql/checking permissions (stage) STATEMENT 78
+83 83 stage/sql/Opening tables (stage) STATEMENT 78
+84 84 stage/sql/After opening tables (stage) STATEMENT 78
+85 85 stage/sql/init (stage) STATEMENT 78
+86 86 stage/sql/optimizing (stage) STATEMENT 78
+87 87 stage/sql/executing (stage) STATEMENT 78
+88 88 stage/sql/end (stage) STATEMENT 78
+89 89 stage/sql/query end (stage) STATEMENT 78
+90 90 stage/sql/closing tables (stage) STATEMENT 78
+91 93 stage/sql/freeing items (stage) STATEMENT 78
+92 92 wait/io/socket/sql/client_connection send STAGE 91
+93 93 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 91
+94 110 statement/sql/select select "With a third part to make things complete" as payload NULL NULL
+95 96 stage/sql/init (stage) STATEMENT 94
+96 96 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 95
+97 97 stage/sql/checking permissions (stage) STATEMENT 94
+98 98 stage/sql/Opening tables (stage) STATEMENT 94
+99 99 stage/sql/After opening tables (stage) STATEMENT 94
+100 100 stage/sql/init (stage) STATEMENT 94
+101 101 stage/sql/optimizing (stage) STATEMENT 94
+102 102 stage/sql/executing (stage) STATEMENT 94
+103 103 stage/sql/end (stage) STATEMENT 94
+104 104 stage/sql/query end (stage) STATEMENT 94
+105 105 stage/sql/closing tables (stage) STATEMENT 94
+106 106 stage/sql/freeing items (stage) STATEMENT 94
+107 107 wait/io/socket/sql/client_connection send STATEMENT 94
+108 108 wait/synch/mutex/sql/THD::LOCK_thd_data lock STATEMENT 94
+109 110 stage/sql/cleaning up (stage) STATEMENT 94
+110 110 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 109
+111 111 idle idle NULL NULL
+112 130 statement/sql/select select "MARKER_END" as marker NULL NULL
+113 116 stage/sql/init (stage) STATEMENT 112
+114 114 wait/io/socket/sql/client_connection recv STAGE 113
+115 115 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 113
+116 116 wait/io/file/sql/query_log write STAGE 113
+117 117 stage/sql/checking permissions (stage) STATEMENT 112
+118 118 stage/sql/Opening tables (stage) STATEMENT 112
+119 119 stage/sql/After opening tables (stage) STATEMENT 112
+120 120 stage/sql/init (stage) STATEMENT 112
+121 121 stage/sql/optimizing (stage) STATEMENT 112
+122 122 stage/sql/executing (stage) STATEMENT 112
+123 123 stage/sql/end (stage) STATEMENT 112
+124 124 stage/sql/query end (stage) STATEMENT 112
+125 125 stage/sql/closing tables (stage) STATEMENT 112
+126 126 stage/sql/freeing items (stage) STATEMENT 112
+127 127 wait/io/socket/sql/client_connection send STATEMENT 112
+128 128 wait/synch/mutex/sql/THD::LOCK_thd_data lock STATEMENT 112
+129 130 stage/sql/cleaning up (stage) STATEMENT 112
+130 130 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 129
diff --git a/mysql-test/suite/perfschema/r/no_threads.result b/mysql-test/suite/perfschema/r/no_threads.result
index 89ae72c8df1..f78667f4f01 100644
--- a/mysql-test/suite/perfschema/r/no_threads.result
+++ b/mysql-test/suite/perfschema/r/no_threads.result
@@ -40,4 +40,5 @@ left(source, locate(":", source)) as short_source
from performance_schema.events_waits_history_long;
event_name operation short_source
wait/synch/mutex/mysys/THR_LOCK_myisam lock mi_create.c:
+update performance_schema.setup_instruments set enabled='YES';
drop table test.t1;
diff --git a/mysql-test/suite/perfschema/r/ortho_iter.result b/mysql-test/suite/perfschema/r/ortho_iter.result
new file mode 100644
index 00000000000..bb572237483
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/ortho_iter.result
@@ -0,0 +1,762 @@
+drop procedure if exists check_instrument;
+truncate table performance_schema.events_statements_summary_by_digest;
+flush status;
+create procedure check_instrument(in instr_name varchar(128))
+begin
+declare count_expected integer;
+declare count_actual integer;
+declare is_wait integer;
+declare is_stage integer;
+declare is_statement integer;
+declare is_wait_table integer;
+declare is_stage_table integer;
+declare is_statement_table integer;
+declare pfs_table_name varchar(64);
+declare msg varchar(512);
+declare msg_detail varchar(512);
+declare cmd_1 varchar(512);
+declare cmd_2 varchar(512);
+declare done integer default 0;
+declare debug integer default 0;
+declare pfs_cursor CURSOR FOR
+select table_name from information_schema.tables
+where table_schema= 'performance_schema'
+ and table_name like "events_%_by_event_name%";
+declare continue handler for sqlstate '02000'
+ set done = 1;
+select (instr_name like "wait/%") or (instr_name like "idle/%") into is_wait;
+select (instr_name like "stage/%") into is_stage;
+select (instr_name like "statement/%") into is_statement;
+select instr_name, is_wait, is_stage, is_statement;
+select count(name)
+from performance_schema.setup_instruments
+where (name like (concat(instr_name, "%")))
+and (not name like "%/abstract/%")
+into count_expected;
+set cmd_1= "select count(*) from (select distinct event_name from performance_schema.";
+set cmd_2= concat(" where event_name like \"",
+ instr_name,
+ "%\") t into @count_actual");
+open pfs_cursor;
+repeat
+fetch pfs_cursor into pfs_table_name;
+if not done then
+select (pfs_table_name like "%waits%") into is_wait_table;
+select (pfs_table_name like "%stages%") into is_stage_table;
+select (pfs_table_name like "%statements%") into is_statement_table;
+select concat("Checking table ", pfs_table_name, " ...") as status;
+select concat(cmd_1, pfs_table_name, cmd_2) into @cmd;
+if debug = 1
+then
+select @cmd;
+end if;
+prepare stmt from @cmd;
+execute stmt;
+drop prepare stmt;
+set msg_detail= concat("table ", pfs_table_name,
+", instruments ", count_expected,
+", found ", @count_actual);
+if is_wait = 1 and is_wait_table = 1 and @count_actual <> count_expected
+then
+set msg= concat("Missing wait events: ", msg_detail);
+signal sqlstate '05000' set message_text= msg;
+end if;
+if is_wait = 1 and is_wait_table = 0 and @count_actual <> 0
+then
+set msg= concat("Unexpected wait events: ", msg_detail);
+signal sqlstate '05000' set message_text= msg;
+end if;
+if is_stage = 1 and is_stage_table = 1 and @count_actual <> count_expected
+then
+set msg= concat("Missing stage events: ", msg_detail);
+signal sqlstate '05000' set message_text= msg;
+end if;
+if is_stage = 1 and is_stage_table = 0 and @count_actual <> 0
+then
+set msg= concat("Unexpected stage events: ", msg_detail);
+signal sqlstate '05000' set message_text= msg;
+end if;
+if is_statement = 1 and is_statement_table = 1 and @count_actual <> count_expected
+then
+set msg= concat("Missing statement events: ", msg_detail);
+signal sqlstate '05000' set message_text= msg;
+end if;
+if is_statement = 1 and is_statement_table = 0 and @count_actual <> 0
+then
+set msg= concat("Unexpected statement events: ", msg_detail);
+signal sqlstate '05000' set message_text= msg;
+end if;
+end if;
+until done
+end repeat;
+close pfs_cursor;
+-- Dont want to return a 02000 NOT FOUND, there should be a better way
+signal sqlstate '01000' set message_text='Done', mysql_errno=12000;
+end
+$
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+call check_instrument("wait/synch/mutex/");
+instr_name is_wait is_stage is_statement
+wait/synch/mutex/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/synch/rwlock/");
+instr_name is_wait is_stage is_statement
+wait/synch/rwlock/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/synch/cond/");
+instr_name is_wait is_stage is_statement
+wait/synch/cond/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/synch/");
+instr_name is_wait is_stage is_statement
+wait/synch/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/io/file/");
+instr_name is_wait is_stage is_statement
+wait/io/file/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/io/net/");
+instr_name is_wait is_stage is_statement
+wait/io/net/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/io/table/");
+instr_name is_wait is_stage is_statement
+wait/io/table/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/io/");
+instr_name is_wait is_stage is_statement
+wait/io/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/lock/table/");
+instr_name is_wait is_stage is_statement
+wait/lock/table/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/lock/");
+instr_name is_wait is_stage is_statement
+wait/lock/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("wait/");
+instr_name is_wait is_stage is_statement
+wait/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("stage/");
+instr_name is_wait is_stage is_statement
+stage/ 0 1 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("statement/com/");
+instr_name is_wait is_stage is_statement
+statement/com/ 0 0 1
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("statement/sql/");
+instr_name is_wait is_stage is_statement
+statement/sql/ 0 0 1
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("statement/abstract/");
+instr_name is_wait is_stage is_statement
+statement/abstract/ 0 0 1
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("statement/");
+instr_name is_wait is_stage is_statement
+statement/ 0 0 1
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("idle/io/socket");
+instr_name is_wait is_stage is_statement
+idle/io/socket 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+call check_instrument("idle/");
+instr_name is_wait is_stage is_statement
+idle/ 1 0 0
+status
+Checking table events_stages_summary_by_account_by_event_name ...
+status
+Checking table events_stages_summary_by_host_by_event_name ...
+status
+Checking table events_stages_summary_by_thread_by_event_name ...
+status
+Checking table events_stages_summary_by_user_by_event_name ...
+status
+Checking table events_stages_summary_global_by_event_name ...
+status
+Checking table events_statements_summary_by_account_by_event_name ...
+status
+Checking table events_statements_summary_by_host_by_event_name ...
+status
+Checking table events_statements_summary_by_thread_by_event_name ...
+status
+Checking table events_statements_summary_by_user_by_event_name ...
+status
+Checking table events_statements_summary_global_by_event_name ...
+status
+Checking table events_waits_summary_by_account_by_event_name ...
+status
+Checking table events_waits_summary_by_host_by_event_name ...
+status
+Checking table events_waits_summary_by_thread_by_event_name ...
+status
+Checking table events_waits_summary_by_user_by_event_name ...
+status
+Checking table events_waits_summary_global_by_event_name ...
+Warnings:
+Warning 12000 Done
+drop procedure check_instrument;
diff --git a/mysql-test/suite/perfschema/r/part_table_io.result b/mysql-test/suite/perfschema/r/part_table_io.result
new file mode 100644
index 00000000000..c71767bc24f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/part_table_io.result
@@ -0,0 +1,141 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+drop table if exists test.no_index_tab;
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+create table test.no_index_tab
+( a varchar(255) not null, b int not null) engine = MyISAM
+PARTITION BY KEY (b) PARTITIONS 2;
+insert into marker set a = 1;
+show create table test.no_index_tab;
+Table Create Table
+no_index_tab CREATE TABLE `no_index_tab` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (b)
+PARTITIONS 2 */
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 1;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 2;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+foo 1
+foo 3
+foo 2
+insert into marker set a = 1;
+update test.no_index_tab set a = 'bar';
+insert into marker set a = 1;
+select * from test.no_index_tab limit 2;
+a b
+bar 1
+bar 3
+insert into marker set a = 1;
+delete from test.no_index_tab where b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+optimize table test.no_index_tab;
+Table Op Msg_type Msg_text
+test.no_index_tab optimize status OK
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+truncate table test.no_index_tab;
+insert into marker set a = 1;
+drop table test.no_index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/partition.result b/mysql-test/suite/perfschema/r/partition.result
new file mode 100644
index 00000000000..9bc624268bb
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/partition.result
@@ -0,0 +1,10 @@
+#
+# MDEV-10679
+# Server crashes in in mysql_create_frm_image upon query from
+# performance schema in ps-protocol mode
+#
+CREATE TABLE t1 (i INT);
+ALTER TABLE t1 ADD PARTITION (PARTITION p VALUES LESS THAN (1));
+ERROR HY000: Partition management on a not partitioned table is not possible
+SELECT * FROM performance_schema.events_stages_summary_by_user_by_event_name;
+DROP TABLE t1;
diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade.result b/mysql-test/suite/perfschema/r/pfs_upgrade.result
deleted file mode 100644
index 97c67e45ad3..00000000000
--- a/mysql-test/suite/perfschema/r/pfs_upgrade.result
+++ /dev/null
@@ -1,148 +0,0 @@
-drop table if exists test.user_table;
-drop procedure if exists test.user_proc;
-drop function if exists test.user_func;
-drop event if exists test.user_event;
-"Testing mysql_upgrade with TABLE performance_schema.user_table"
-create table test.user_table(a int);
-use performance_schema;
-show tables like "user_table";
-Tables_in_performance_schema (user_table)
-user_table
-ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'threads' already exists
-ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
-FATAL ERROR: Upgrade failed
-show tables like "user_table";
-Tables_in_performance_schema (user_table)
-user_table
-use test;
-drop table test.user_table;
-"Testing mysql_upgrade with VIEW performance_schema.user_view"
-create view test.user_view as select "Not supposed to be here";
-use performance_schema;
-show tables like "user_view";
-Tables_in_performance_schema (user_view)
-user_view
-ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'threads' already exists
-ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
-FATAL ERROR: Upgrade failed
-show tables like "user_view";
-Tables_in_performance_schema (user_view)
-user_view
-use test;
-drop view test.user_view;
-"Testing mysql_upgrade with PROCEDURE performance_schema.user_proc"
-create procedure test.user_proc()
-select "Not supposed to be here";
-update mysql.proc set db='performance_schema' where name='user_proc';
-ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'threads' already exists
-ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
-FATAL ERROR: Upgrade failed
-select name from mysql.proc where db='performance_schema';
-name
-user_proc
-update mysql.proc set db='test' where name='user_proc';
-drop procedure test.user_proc;
-"Testing mysql_upgrade with FUNCTION performance_schema.user_func"
-create function test.user_func() returns integer
-return 0;
-update mysql.proc set db='performance_schema' where name='user_func';
-ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'threads' already exists
-ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
-FATAL ERROR: Upgrade failed
-select name from mysql.proc where db='performance_schema';
-name
-user_func
-update mysql.proc set db='test' where name='user_func';
-drop function test.user_func;
-"Testing mysql_upgrade with EVENT performance_schema.user_event"
-create event test.user_event on schedule every 1 day do
-select "not supposed to be here";
-update mysql.event set db='performance_schema' where name='user_event';
-ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line ###: Table 'threads' already exists
-ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
-FATAL ERROR: Upgrade failed
-select name from mysql.event where db='performance_schema';
-name
-user_event
-update mysql.event set db='test' where name='user_event';
-drop event test.user_event;
diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_event.result b/mysql-test/suite/perfschema/r/pfs_upgrade_event.result
new file mode 100644
index 00000000000..cbaeec201e0
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/pfs_upgrade_event.result
@@ -0,0 +1,11 @@
+"Testing mysql_upgrade with EVENT performance_schema.user_event"
+create event test.user_event on schedule every 1 day do
+select "not supposed to be here";
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
+update mysql.event set db='performance_schema' where name='user_event';
+select name from mysql.event where db='performance_schema';
+name
+user_event
+update mysql.event set db='test' where name='user_event';
+drop event test.user_event;
diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_func.result b/mysql-test/suite/perfschema/r/pfs_upgrade_func.result
new file mode 100644
index 00000000000..b91cb5d14a8
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/pfs_upgrade_func.result
@@ -0,0 +1,9 @@
+"Testing mysql_upgrade with FUNCTION performance_schema.user_func"
+create function test.user_func() returns integer
+return 0;
+update mysql.proc set db='performance_schema' where name='user_func';
+select name from mysql.proc where db='performance_schema';
+name
+user_func
+update mysql.proc set db='test' where name='user_func';
+drop function test.user_func;
diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_proc.result b/mysql-test/suite/perfschema/r/pfs_upgrade_proc.result
new file mode 100644
index 00000000000..651bc506eee
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/pfs_upgrade_proc.result
@@ -0,0 +1,9 @@
+"Testing mysql_upgrade with PROCEDURE performance_schema.user_proc"
+create procedure test.user_proc()
+select "Not supposed to be here";
+update mysql.proc set db='performance_schema' where name='user_proc';
+select name from mysql.proc where db='performance_schema';
+name
+user_proc
+update mysql.proc set db='test' where name='user_proc';
+drop procedure test.user_proc;
diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_table.result b/mysql-test/suite/perfschema/r/pfs_upgrade_table.result
new file mode 100644
index 00000000000..5ff608a825f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/pfs_upgrade_table.result
@@ -0,0 +1,11 @@
+"Testing mysql_upgrade with TABLE performance_schema.user_table"
+create table test.user_table(a int);
+use performance_schema;
+show tables like "user_table";
+Tables_in_performance_schema (user_table)
+user_table
+show tables like "user_table";
+Tables_in_performance_schema (user_table)
+user_table
+use test;
+drop table test.user_table;
diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_view.result b/mysql-test/suite/perfschema/r/pfs_upgrade_view.result
new file mode 100644
index 00000000000..14a1d8deae4
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/pfs_upgrade_view.result
@@ -0,0 +1,11 @@
+"Testing mysql_upgrade with VIEW performance_schema.user_view"
+create view test.user_view as select "Not supposed to be here";
+use performance_schema;
+show tables like "user_view";
+Tables_in_performance_schema (user_view)
+user_view
+show tables like "user_view";
+Tables_in_performance_schema (user_view)
+user_view
+use test;
+drop view test.user_view;
diff --git a/mysql-test/suite/perfschema/r/privilege.result b/mysql-test/suite/perfschema/r/privilege.result
index 61eade13bbf..1f806d94991 100644
--- a/mysql-test/suite/perfschema/r/privilege.result
+++ b/mysql-test/suite/perfschema/r/privilege.result
@@ -1,7 +1,10 @@
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+create user 'pfs_user_1'@localhost;
+create user 'pfs_user_2'@localhost;
+create user 'pfs_user_3'@localhost;
grant ALL on *.* to 'pfs_user_1'@localhost with GRANT OPTION;
grant ALL on performance_schema.* to 'pfs_user_2'@localhost
with GRANT OPTION;
@@ -53,9 +56,9 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_
grant TRIGGER on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
grant INSERT on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
-ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'setup_instruments'
+ERROR 42000: INSERT, GRANT command denied to user 'root'@'localhost' for table 'setup_instruments'
grant DELETE on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
-ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'setup_instruments'
+ERROR 42000: DELETE, GRANT command denied to user 'root'@'localhost' for table 'setup_instruments'
grant SELECT on performance_schema.setup_instruments to 'pfs_user_3'@localhost
with GRANT OPTION;
grant UPDATE on performance_schema.setup_instruments to 'pfs_user_3'@localhost
@@ -78,11 +81,11 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_
grant TRIGGER on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
grant INSERT on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
-ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'events_waits_current'
+ERROR 42000: INSERT, GRANT command denied to user 'root'@'localhost' for table 'events_waits_current'
grant UPDATE on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
-ERROR 42000: UPDATE,GRANT command denied to user 'root'@'localhost' for table 'events_waits_current'
+ERROR 42000: UPDATE, GRANT command denied to user 'root'@'localhost' for table 'events_waits_current'
grant DELETE on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
-ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'events_waits_current'
+ERROR 42000: DELETE, GRANT command denied to user 'root'@'localhost' for table 'events_waits_current'
grant SELECT on performance_schema.events_waits_current to 'pfs_user_3'@localhost
with GRANT OPTION;
grant ALL on performance_schema.file_instances to 'pfs_user_3'@localhost
@@ -103,11 +106,11 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_
grant TRIGGER on performance_schema.file_instances to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
grant INSERT on performance_schema.file_instances to 'pfs_user_3'@localhost;
-ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'file_instances'
+ERROR 42000: INSERT, GRANT command denied to user 'root'@'localhost' for table 'file_instances'
grant UPDATE on performance_schema.file_instances to 'pfs_user_3'@localhost;
-ERROR 42000: UPDATE,GRANT command denied to user 'root'@'localhost' for table 'file_instances'
+ERROR 42000: UPDATE, GRANT command denied to user 'root'@'localhost' for table 'file_instances'
grant DELETE on performance_schema.file_instances to 'pfs_user_3'@localhost;
-ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'file_instances'
+ERROR 42000: DELETE, GRANT command denied to user 'root'@'localhost' for table 'file_instances'
grant SELECT on performance_schema.file_instances to 'pfs_user_3'@localhost
with GRANT OPTION;
grant LOCK TABLES on performance_schema.* to 'pfs_user_3'@localhost
@@ -152,13 +155,13 @@ before insert on performance_schema.file_instances
for each row begin end;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.setup_instruments;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.events_waits_current;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.file_instances;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
insert into performance_schema.setup_instruments
set name="foo";
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'setup_instruments'
@@ -179,16 +182,16 @@ unlock tables;
lock table performance_schema.setup_instruments write;
unlock tables;
lock table performance_schema.events_waits_current read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current'
unlock tables;
lock table performance_schema.events_waits_current write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current'
unlock tables;
lock table performance_schema.file_instances read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances'
unlock tables;
lock table performance_schema.file_instances write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances'
unlock tables;
#
# WL#4818, NFS2: Can use grants to give normal user access
@@ -250,13 +253,13 @@ before insert on performance_schema.file_instances
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.setup_instruments;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.events_waits_current;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.file_instances;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
insert into performance_schema.setup_instruments
set name="foo";
ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'setup_instruments'
@@ -277,16 +280,16 @@ unlock tables;
lock table performance_schema.setup_instruments write;
unlock tables;
lock table performance_schema.events_waits_current read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
unlock tables;
lock table performance_schema.events_waits_current write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
unlock tables;
lock table performance_schema.file_instances read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
unlock tables;
lock table performance_schema.file_instances write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
unlock tables;
#
# WL#4818, NFS2: Can use grants to give normal user access
@@ -348,13 +351,13 @@ before insert on performance_schema.file_instances
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.setup_instruments;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.events_waits_current;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.file_instances;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
insert into performance_schema.setup_instruments
set name="foo";
ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'setup_instruments'
@@ -375,16 +378,16 @@ unlock tables;
lock table performance_schema.setup_instruments write;
unlock tables;
lock table performance_schema.events_waits_current read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
unlock tables;
lock table performance_schema.events_waits_current write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
unlock tables;
lock table performance_schema.file_instances read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
unlock tables;
lock table performance_schema.file_instances write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
unlock tables;
#
# WL#4818, NFS2: Can use grants to give normal user access
@@ -446,13 +449,13 @@ before insert on performance_schema.file_instances
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.setup_instruments;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.events_waits_current;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
create table test.t1 like performance_schema.file_instances;
-ERROR HY000: Can't create table 'test.t1' (errno: 131)
+ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by database")
insert into performance_schema.setup_instruments
set name="foo";
ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'setup_instruments'
@@ -473,16 +476,16 @@ unlock tables;
lock table performance_schema.setup_instruments write;
unlock tables;
lock table performance_schema.events_waits_current read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
unlock tables;
lock table performance_schema.events_waits_current write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
unlock tables;
lock table performance_schema.file_instances read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
unlock tables;
lock table performance_schema.file_instances write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
unlock tables;
#
# WL#4818, NFS2: Can use grants to give normal user access
diff --git a/mysql-test/suite/perfschema/r/privilege_table_io.result b/mysql-test/suite/perfschema/r/privilege_table_io.result
new file mode 100644
index 00000000000..8b82518159d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/privilege_table_io.result
@@ -0,0 +1,144 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+# We are forced to suppress here the server response.
+optimize table mysql.host;
+optimize table mysql.user;
+optimize table mysql.db;
+optimize table mysql.proxies_priv;
+optimize table mysql.roles_mapping;
+optimize table mysql.tables_priv;
+optimize table mysql.procs_priv;
+optimize table mysql.servers;
+update performance_schema.setup_consumers set enabled='YES';
+update performance_schema.setup_objects set enabled='YES'
+ where object_type='TABLE' and object_schema= 'mysql';
+flush privileges;
+insert into test.marker set a = 1;
+insert into test.marker set a = 1;
+insert into test.marker set a = 1;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test", "mysql")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE mysql host fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql roles_mapping fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql tables_priv fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql procs_priv fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE mysql servers fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
+update performance_schema.setup_objects set enabled='NO'
+ where object_type='TABLE' and object_schema= 'mysql';
diff --git a/mysql-test/suite/perfschema/r/read_only.result b/mysql-test/suite/perfschema/r/read_only.result
index 19108326f1b..b2502808821 100644
--- a/mysql-test/suite/perfschema/r/read_only.result
+++ b/mysql-test/suite/perfschema/r/read_only.result
@@ -1,5 +1,6 @@
use performance_schema;
set @start_read_only= @@global.read_only;
+create user pfsuser@localhost;
grant SELECT, UPDATE on performance_schema.* to pfsuser@localhost;
flush privileges;
connect (con1, localhost, pfsuser, , test);
diff --git a/mysql-test/suite/perfschema/r/relaylog.result b/mysql-test/suite/perfschema/r/relaylog.result
index 8acaf023b34..284b36e722f 100644
--- a/mysql-test/suite/perfschema/r/relaylog.result
+++ b/mysql-test/suite/perfschema/r/relaylog.result
@@ -4,9 +4,11 @@ drop table if exists test.t1;
reset master;
create table test.t1(a int);
drop table test.t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table test.t1(a int)
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
"============ Performance schema on master ============"
select
@@ -23,7 +25,7 @@ master-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
master-bin.index wait/io/file/sql/binlog_index MANY MANY MANY MANY
select * from performance_schema.file_summary_by_instance
where file_name like "%slave-%" order by file_name;
-FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+FILE_NAME EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC
"Expect a master binlog + binlog_index"
select
substring(file_name, locate("master-", file_name)) as FILE_NAME,
@@ -48,27 +50,31 @@ where event_name like "%binlog%" order by event_name;
EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
wait/io/file/sql/binlog MANY MANY MANY MANY
wait/io/file/sql/binlog_index MANY MANY MANY MANY
+wait/io/file/sql/binlog_state NONE NONE NONE NONE
select
EVENT_NAME,
if (count_star > 0, "MANY", "NONE") as COUNT_STAR
from performance_schema.events_waits_summary_global_by_event_name
where event_name like "%MYSQL_BIN_LOG%"
and event_name not like "%MYSQL_BIN_LOG::update_cond"
+ and event_name not like "%MYSQL_BIN_LOG::COND_binlog_background_thread%"
+ and event_name not like "%MYSQL_BIN_LOG::COND_xid_list"
order by event_name;
EVENT_NAME COUNT_STAR
-wait/synch/cond/sql/MYSQL_BIN_LOG::COND_prep_xids NONE
wait/synch/cond/sql/MYSQL_BIN_LOG::COND_queue_busy NONE
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_background_thread MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_end_pos MANY
wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index MANY
-wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_prep_xids NONE
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_xid_list MANY
"Expect no slave relay log"
select * from performance_schema.file_summary_by_instance
where event_name like "%relaylog%" order by file_name;
-FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+FILE_NAME EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC
select * from performance_schema.file_summary_by_event_name
where event_name like "%relaylog%" order by event_name;
-EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
-wait/io/file/sql/relaylog 0 0 0 0
-wait/io/file/sql/relaylog_index 0 0 0 0
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC
+wait/io/file/sql/relaylog 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+wait/io/file/sql/relaylog_index 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
select * from performance_schema.events_waits_summary_global_by_event_name
where event_name like "%MYSQL_RELAY_LOG%"
and event_name not like "%MYSQL_RELAY_LOG::update_cond"
@@ -79,7 +85,7 @@ wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index 0 0 0 0 0
"============ Performance schema on slave ============"
select * from performance_schema.file_summary_by_instance
where file_name like "%master-%" order by file_name;
-FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+FILE_NAME EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC
select
substring(file_name, locate("slave-", file_name)) as FILE_NAME,
EVENT_NAME,
@@ -123,18 +129,22 @@ where event_name like "%binlog%" order by event_name;
EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
wait/io/file/sql/binlog MANY MANY MANY MANY
wait/io/file/sql/binlog_index MANY MANY MANY MANY
+wait/io/file/sql/binlog_state NONE NONE NONE NONE
select
EVENT_NAME,
if (count_star > 0, "MANY", "NONE") as COUNT_STAR
from performance_schema.events_waits_summary_global_by_event_name
where event_name like "%MYSQL_BIN_LOG%"
and event_name not like "%MYSQL_BIN_LOG::update_cond"
+ and event_name not like "%MYSQL_BIN_LOG::COND_binlog_background_thread%"
+ and event_name not like "%MYSQL_BIN_LOG::COND_xid_list"
order by event_name;
EVENT_NAME COUNT_STAR
-wait/synch/cond/sql/MYSQL_BIN_LOG::COND_prep_xids NONE
wait/synch/cond/sql/MYSQL_BIN_LOG::COND_queue_busy NONE
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_background_thread MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_end_pos MANY
wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index MANY
-wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_prep_xids NONE
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_xid_list MANY
"Expect a slave relay log"
select
substring(file_name, locate("slave-", file_name)) as FILE_NAME,
diff --git a/mysql-test/suite/perfschema/r/rollback_table_io.result b/mysql-test/suite/perfschema/r/rollback_table_io.result
new file mode 100644
index 00000000000..a9cc5b1da39
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/rollback_table_io.result
@@ -0,0 +1,83 @@
+drop table if exists test.t1;
+create table test.t1 (col1 bigint, col2 varchar(30)) engine = InnoDB;
+show create table test.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` bigint(20) DEFAULT NULL,
+ `col2` varchar(30) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+insert into test.t1 values(1,'One');
+set default_storage_engine=InnoDB;
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+update performance_schema.setup_consumers set enabled = 'YES';
+set autocommit = off;
+delete from test.t1 where col1 = 1;
+insert into marker set a = 1;
+rollback;
+insert into marker set a = 1;
+update test.t1 set col2 = 'Updated' where col1 = 1;
+insert into marker set a = 1;
+rollback;
+insert into marker set a = 1;
+insert into test.t1 values(2,'Two');
+insert into marker set a = 1;
+rollback;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ('test')
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+drop table test.t1;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/rpl_gtid_func.result b/mysql-test/suite/perfschema/r/rpl_gtid_func.result
new file mode 100644
index 00000000000..d5f764013df
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/rpl_gtid_func.result
@@ -0,0 +1,80 @@
+include/master-slave.inc
+[connection master]
+**** On Master ****
+drop table if exists test.marker;
+create table test.marker(a int) engine=innodb;
+insert into test.marker values (1);
+select * from test.marker;
+a
+1
+truncate table performance_schema.events_waits_history_long;
+truncate table performance_schema.events_statements_summary_by_digest;
+update performance_schema.setup_instruments
+set enabled='YES', timed='YES';
+**** On Slave ****
+truncate table performance_schema.events_waits_history_long;
+truncate table performance_schema.events_statements_summary_by_digest;
+update performance_schema.setup_instruments
+set enabled='YES', timed='NO';
+**** On Master ****
+select * from performance_schema.setup_instruments
+where timed='NO';
+NAME ENABLED TIMED
+select "This better be in the master" as in_master_digest;
+in_master_digest
+This better be in the master
+insert into performance_schema.setup_objects
+values ('TABLE', 'master', 'foo', 'YES', 'YES');
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE % % YES YES
+TABLE information_schema % NO NO
+TABLE master foo YES YES
+TABLE mysql % NO NO
+TABLE performance_schema % NO NO
+select digest_text, count_star
+from performance_schema.events_statements_summary_by_digest
+where digest_text like "%in_%_digest%";
+digest_text count_star
+SELECT ? AS `in_master_digest` 1
+insert into test.marker values (2);
+**** On Slave ****
+select * from test.marker;
+a
+1
+2
+select * from performance_schema.setup_instruments
+where timed='YES';
+NAME ENABLED TIMED
+select "This better be in the slave" as in_slave_digest;
+in_slave_digest
+This better be in the slave
+insert into performance_schema.setup_objects
+values ('TABLE', 'slave', 'foo', 'YES', 'YES');
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE % % YES YES
+TABLE information_schema % NO NO
+TABLE mysql % NO NO
+TABLE performance_schema % NO NO
+TABLE slave foo YES YES
+select digest_text, count_star
+from performance_schema.events_statements_summary_by_digest
+where digest_text like "%in_%_digest%";
+digest_text count_star
+SELECT ? AS `in_slave_digest` 1
+**** On Master ****
+delete from performance_schema.setup_objects
+where object_schema='master';
+**** On Slave ****
+delete from performance_schema.setup_objects
+where object_schema='slave';
+select * from performance_schema.setup_objects;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE mysql % NO NO
+TABLE performance_schema % NO NO
+TABLE information_schema % NO NO
+TABLE % % YES YES
+include/rpl_end.inc
diff --git a/mysql-test/suite/perfschema/r/rpl_statements.result b/mysql-test/suite/perfschema/r/rpl_statements.result
new file mode 100644
index 00000000000..081710f1d54
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/rpl_statements.result
@@ -0,0 +1,240 @@
+include/master-slave.inc
+[connection master]
+
+#
+# STEP 1 - CREATE AND REPLICATE TEST TABLES
+#
+
+**************
+*** MASTER ***
+**************
+
+*** Create test tables
+
+show variables like 'binlog_format%';
+Variable_name Value
+binlog_format MIXED
+drop table if exists test.marker;
+select thread_id into @my_thread_id
+from performance_schema.threads
+where processlist_id = connection_id();
+create table test.marker(s1 int) engine=innodb;
+**************
+*** SLAVE ***
+**************
+
+*** Clear statement events
+
+#
+# STEP 2 - REPLICATE ONE ROW ON MASTER TO GET REPLICATION THREAD ID ON SLAVE
+#
+**************
+*** MASTER ***
+**************
+
+insert into test.marker values (0);
+
+**************
+*** SLAVE ***
+**************
+
+*** Verify row, get replication thread id, clear statement events
+
+select thread_id into @slave_thread_id from performance_schema.events_statements_history
+where sql_text like '%marker%';
+*** Verify row inserted on master was replicated
+select count(*) = 1 as 'Expect 1' from test.marker;
+Expect 1
+1
+*** Clear statement events
+
+#
+# STEP 3 - PERFORM DML STATEMENTS ON MASTER
+#
+**************
+*** MASTER ***
+**************
+
+show variables like 'binlog_format%';
+Variable_name Value
+binlog_format MIXED
+*** Clear statement events
+
+*** Create/drop table, create/drop database
+
+create database marker1_db;
+create database marker2_db;
+create table marker1_db.table1 (s1 int) engine=innodb;
+create table marker2_db.table1 (s1 int) engine=innodb;
+create table marker2_db.table2 (s1 int) engine=innodb;
+
+*** Transaction
+start transaction;
+insert into marker1_db.table1 values (1), (2), (3);
+insert into marker2_db.table1 values (1), (2), (3);
+commit;
+
+*** Alter
+alter table marker1_db.table1 add column (s2 varchar(32));
+
+*** Insert, Update
+start transaction;
+insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six');
+update marker1_db.table1 set s1 = s1 + 1;
+commit;
+
+*** Rollback
+start transaction;
+insert into marker1_db.table1 values (7, 'seven'), (8, 'eight'), (9, 'nine');
+rollback;
+
+*** Autocommit, Delete, Drop
+delete from marker1_db.table1 where s1 > 4;
+drop table marker2_db.table1;
+drop database marker2_db;
+
+*** Examine statements events that will be compared on the slave
+
+select thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text from performance_schema.events_statements_history_long
+where sql_text like '%marker%' order by event_id;
+thread_id event_id event_name current_schema digest_text sql_text
+[THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA `marker1_db` create database marker1_db
+[THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA `marker2_db` create database marker2_db
+[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker1_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker1_db.table1 (s1 int) engine=innodb
+[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table1 (s1 int) engine=innodb
+[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table2` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table2 (s1 int) engine=innodb
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (?) /* , ... */ insert into marker1_db.table1 values (1), (2), (3)
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker2_db` . `table1` VALUES (?) /* , ... */ insert into marker2_db.table1 values (1), (2), (3)
+[THREAD_ID] [EVENT_ID] statement/sql/alter_table test ALTER TABLE `marker1_db` . `table1` ADD COLUMN ( `s2` VARCHARACTER (?) ) alter table marker1_db.table1 add column (s2 varchar(32))
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six')
+[THREAD_ID] [EVENT_ID] statement/sql/update test UPDATE `marker1_db` . `table1` SET `s1` = `s1` + ? update marker1_db.table1 set s1 = s1 + 1
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (7, 'seven'), (8, 'eight'), (9, 'nine')
+[THREAD_ID] [EVENT_ID] statement/sql/delete test DELETE FROM `marker1_db` . `table1` WHERE `s1` > ? delete from marker1_db.table1 where s1 > 4
+[THREAD_ID] [EVENT_ID] statement/sql/drop_table test DROP TABLE `marker2_db` . `table1` drop table marker2_db.table1
+[THREAD_ID] [EVENT_ID] statement/sql/drop_db test DROP SCHEMA `marker2_db` drop database marker2_db
+
+#
+# STEP 4 - REPLICATE STATEMENT EVENTS ON MASTER TO SLAVE
+#
+
+*** Store statement events in holding table, then replicate
+
+#
+# Create table to hold statement events for later comparison on the slave
+#
+create table test.master_events_statements_history_long as
+(select thread_id, event_id, event_name, sql_text, digest, digest_text, current_schema, rows_affected
+from performance_schema.events_statements_history_long
+where (thread_id=@my_thread_id and digest_text like '%marker%'));
+
+#
+# STEP 5 - VERIFY DML AND DDL STATEMENT EVENTS ON SLAVE
+#
+**************
+*** SLAVE ***
+**************
+
+*** List statement events from master
+
+select thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text from master_events_statements_history_long order by event_id;
+thread_id event_id event_name current_schema digest_text sql_text
+[THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA `marker1_db` create database marker1_db
+[THREAD_ID] [EVENT_ID] statement/sql/create_db test CREATE SCHEMA `marker2_db` create database marker2_db
+[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker1_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker1_db.table1 (s1 int) engine=innodb
+[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table1 (s1 int) engine=innodb
+[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table2` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table2 (s1 int) engine=innodb
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (?) /* , ... */ insert into marker1_db.table1 values (1), (2), (3)
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker2_db` . `table1` VALUES (?) /* , ... */ insert into marker2_db.table1 values (1), (2), (3)
+[THREAD_ID] [EVENT_ID] statement/sql/alter_table test ALTER TABLE `marker1_db` . `table1` ADD COLUMN ( `s2` VARCHARACTER (?) ) alter table marker1_db.table1 add column (s2 varchar(32))
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six')
+[THREAD_ID] [EVENT_ID] statement/sql/update test UPDATE `marker1_db` . `table1` SET `s1` = `s1` + ? update marker1_db.table1 set s1 = s1 + 1
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (7, 'seven'), (8, 'eight'), (9, 'nine')
+[THREAD_ID] [EVENT_ID] statement/sql/delete test DELETE FROM `marker1_db` . `table1` WHERE `s1` > ? delete from marker1_db.table1 where s1 > 4
+[THREAD_ID] [EVENT_ID] statement/sql/drop_table test DROP TABLE `marker2_db` . `table1` drop table marker2_db.table1
+[THREAD_ID] [EVENT_ID] statement/sql/drop_db test DROP SCHEMA `marker2_db` drop database marker2_db
+
+*** List statement events on slave
+
+select thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text from performance_schema.events_statements_history_long
+where thread_id = @slave_thread_id and sql_text like '%marker%' order by event_id;
+thread_id event_id event_name current_schema digest_text sql_text
+[THREAD_ID] [EVENT_ID] statement/sql/create_db marker1_db CREATE SCHEMA `marker1_db` create database marker1_db
+[THREAD_ID] [EVENT_ID] statement/sql/create_db marker2_db CREATE SCHEMA `marker2_db` create database marker2_db
+[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker1_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker1_db.table1 (s1 int) engine=innodb
+[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table1` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table1 (s1 int) engine=innodb
+[THREAD_ID] [EVENT_ID] statement/sql/create_table test CREATE TABLE `marker2_db` . `table2` ( `s1` INTEGER ) ENGINE = `innodb` create table marker2_db.table2 (s1 int) engine=innodb
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (?) /* , ... */ insert into marker1_db.table1 values (1), (2), (3)
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker2_db` . `table1` VALUES (?) /* , ... */ insert into marker2_db.table1 values (1), (2), (3)
+[THREAD_ID] [EVENT_ID] statement/sql/alter_table test ALTER TABLE `marker1_db` . `table1` ADD COLUMN ( `s2` VARCHARACTER (?) ) alter table marker1_db.table1 add column (s2 varchar(32))
+[THREAD_ID] [EVENT_ID] statement/sql/insert test INSERT INTO `marker1_db` . `table1` VALUES (...) /* , ... */ insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six')
+[THREAD_ID] [EVENT_ID] statement/sql/update test UPDATE `marker1_db` . `table1` SET `s1` = `s1` + ? update marker1_db.table1 set s1 = s1 + 1
+[THREAD_ID] [EVENT_ID] statement/sql/delete test DELETE FROM `marker1_db` . `table1` WHERE `s1` > ? delete from marker1_db.table1 where s1 > 4
+[THREAD_ID] [EVENT_ID] statement/sql/drop_table test DROP TABLE `marker2_db` . `table1` DROP TABLE `marker2_db`.`table1` /* generated by server */
+[THREAD_ID] [EVENT_ID] statement/sql/drop_db marker2_db DROP SCHEMA `marker2_db` drop database marker2_db
+
+*** Compare master and slave events
+
+
+*** Event name comparison - expect 0 mismatches
+
+select thread_id, event_id, event_name, digest_text, sql_text from performance_schema.events_statements_history_long t1
+where t1.thread_id = @slave_thread_id and
+sql_text like '%marker%' and
+not exists (select * from master_events_statements_history_long t2 where t2.event_name = t1.event_name);
+thread_id event_id event_name digest_text sql_text
+
+*** Statement digest comparison - expect 1 mismatch for DROP TABLE
+
+select thread_id, event_id, event_name, digest, digest_text, sql_text from performance_schema.events_statements_history_long t1
+where t1.thread_id = @slave_thread_id and
+sql_text like '%marker%' and
+not exists (select * from master_events_statements_history_long t2 where t2.digest = t1.digest);
+thread_id event_id event_name digest digest_text sql_text
+
+#
+# STEP 6 - DISABLE REPLICATED STATEMENT EVENTS ON SLAVE
+#
+update performance_schema.setup_instruments set enabled='no', timed='no'
+ where name like '%statement/abstract/relay_log%';
+select * from performance_schema.setup_instruments where name like '%statement/abstract/relay_log%';
+NAME ENABLED TIMED
+statement/abstract/relay_log NO NO
+
+#
+# STEP 7 - UPDATE TABLES ON MASTER, REPLICATE
+#
+**************
+*** MASTER ***
+**************
+
+*** Clear statement events
+*** Update some tables, then replicate
+
+insert into marker1_db.table1 values (999, '999'), (998, '998'), (997, '997');
+
+#
+# STEP 8 - VERIFY TABLE UPDATES FROM MASTER, EXPECT NO STATEMENT EVENTS ON SLAVE
+#
+**************
+*** SLAVE ***
+**************
+
+*** Confirm rows were replicated
+
+select * from marker1_db.table1 where s1 > 900 order by s1;
+s1 s2
+997 997
+998 998
+999 999
+
+*** Confirm that are no statements events from the replication thread
+
+select * from performance_schema.events_statements_history_long
+where thread_id = @slave_thread_id;
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE
+
+#
+# STEP 9 - CLEAN UP
+#
+
+include/rpl_end.inc
diff --git a/mysql-test/suite/perfschema/r/schema.result b/mysql-test/suite/perfschema/r/schema.result
index 5bafa137af5..050c4461105 100644
--- a/mysql-test/suite/perfschema/r/schema.result
+++ b/mysql-test/suite/perfschema/r/schema.result
@@ -1,41 +1,496 @@
-show databases;
-Database
-information_schema
-mtr
-mysql
+show databases like 'performance_schema';
+Database (performance_schema)
performance_schema
-test
+show create database performance_schema;
+Database Create Database
+performance_schema CREATE DATABASE `performance_schema` /*!40100 DEFAULT CHARACTER SET utf8 */
use performance_schema;
show tables;
Tables_in_performance_schema
+accounts
cond_instances
+events_stages_current
+events_stages_history
+events_stages_history_long
+events_stages_summary_by_account_by_event_name
+events_stages_summary_by_host_by_event_name
+events_stages_summary_by_thread_by_event_name
+events_stages_summary_by_user_by_event_name
+events_stages_summary_global_by_event_name
+events_statements_current
+events_statements_history
+events_statements_history_long
+events_statements_summary_by_account_by_event_name
+events_statements_summary_by_digest
+events_statements_summary_by_host_by_event_name
+events_statements_summary_by_thread_by_event_name
+events_statements_summary_by_user_by_event_name
+events_statements_summary_global_by_event_name
events_waits_current
events_waits_history
events_waits_history_long
+events_waits_summary_by_account_by_event_name
+events_waits_summary_by_host_by_event_name
events_waits_summary_by_instance
events_waits_summary_by_thread_by_event_name
+events_waits_summary_by_user_by_event_name
events_waits_summary_global_by_event_name
file_instances
file_summary_by_event_name
file_summary_by_instance
+host_cache
+hosts
mutex_instances
+objects_summary_global_by_type
performance_timers
rwlock_instances
+session_account_connect_attrs
+session_connect_attrs
+setup_actors
setup_consumers
setup_instruments
+setup_objects
setup_timers
+socket_instances
+socket_summary_by_event_name
+socket_summary_by_instance
+table_io_waits_summary_by_index_usage
+table_io_waits_summary_by_table
+table_lock_waits_summary_by_table
threads
+users
+show create table accounts;
+Table Create Table
+accounts CREATE TABLE `accounts` (
+ `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `CURRENT_CONNECTIONS` bigint(20) NOT NULL,
+ `TOTAL_CONNECTIONS` bigint(20) NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table cond_instances;
Table Create Table
cond_instances CREATE TABLE `cond_instances` (
`NAME` varchar(128) NOT NULL,
- `OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_stages_current;
+Table Create Table
+events_stages_current CREATE TABLE `events_stages_current` (
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `EVENT_ID` bigint(20) unsigned NOT NULL,
+ `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `SOURCE` varchar(64) DEFAULT NULL,
+ `TIMER_START` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_END` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_stages_history;
+Table Create Table
+events_stages_history CREATE TABLE `events_stages_history` (
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `EVENT_ID` bigint(20) unsigned NOT NULL,
+ `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `SOURCE` varchar(64) DEFAULT NULL,
+ `TIMER_START` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_END` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_stages_history_long;
+Table Create Table
+events_stages_history_long CREATE TABLE `events_stages_history_long` (
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `EVENT_ID` bigint(20) unsigned NOT NULL,
+ `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `SOURCE` varchar(64) DEFAULT NULL,
+ `TIMER_START` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_END` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_stages_summary_by_host_by_event_name;
+Table Create Table
+events_stages_summary_by_host_by_event_name CREATE TABLE `events_stages_summary_by_host_by_event_name` (
+ `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_stages_summary_by_thread_by_event_name;
+Table Create Table
+events_stages_summary_by_thread_by_event_name CREATE TABLE `events_stages_summary_by_thread_by_event_name` (
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_stages_summary_by_user_by_event_name;
+Table Create Table
+events_stages_summary_by_user_by_event_name CREATE TABLE `events_stages_summary_by_user_by_event_name` (
+ `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_stages_summary_by_account_by_event_name;
+Table Create Table
+events_stages_summary_by_account_by_event_name CREATE TABLE `events_stages_summary_by_account_by_event_name` (
+ `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_stages_summary_global_by_event_name;
+Table Create Table
+events_stages_summary_global_by_event_name CREATE TABLE `events_stages_summary_global_by_event_name` (
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_statements_current;
+Table Create Table
+events_statements_current CREATE TABLE `events_statements_current` (
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `EVENT_ID` bigint(20) unsigned NOT NULL,
+ `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `SOURCE` varchar(64) DEFAULT NULL,
+ `TIMER_START` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_END` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL,
+ `LOCK_TIME` bigint(20) unsigned NOT NULL,
+ `SQL_TEXT` longtext,
+ `DIGEST` varchar(32) DEFAULT NULL,
+ `DIGEST_TEXT` longtext,
+ `CURRENT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_TYPE` varchar(64) DEFAULT NULL,
+ `OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_NAME` varchar(64) DEFAULT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned DEFAULT NULL,
+ `MYSQL_ERRNO` int(11) DEFAULT NULL,
+ `RETURNED_SQLSTATE` varchar(5) DEFAULT NULL,
+ `MESSAGE_TEXT` varchar(128) DEFAULT NULL,
+ `ERRORS` bigint(20) unsigned NOT NULL,
+ `WARNINGS` bigint(20) unsigned NOT NULL,
+ `ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
+ `ROWS_SENT` bigint(20) unsigned NOT NULL,
+ `ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
+ `CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
+ `CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
+ `SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
+ `SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
+ `SELECT_RANGE` bigint(20) unsigned NOT NULL,
+ `SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
+ `SELECT_SCAN` bigint(20) unsigned NOT NULL,
+ `SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
+ `SORT_RANGE` bigint(20) unsigned NOT NULL,
+ `SORT_ROWS` bigint(20) unsigned NOT NULL,
+ `SORT_SCAN` bigint(20) unsigned NOT NULL,
+ `NO_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_statements_history;
+Table Create Table
+events_statements_history CREATE TABLE `events_statements_history` (
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `EVENT_ID` bigint(20) unsigned NOT NULL,
+ `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `SOURCE` varchar(64) DEFAULT NULL,
+ `TIMER_START` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_END` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL,
+ `LOCK_TIME` bigint(20) unsigned NOT NULL,
+ `SQL_TEXT` longtext,
+ `DIGEST` varchar(32) DEFAULT NULL,
+ `DIGEST_TEXT` longtext,
+ `CURRENT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_TYPE` varchar(64) DEFAULT NULL,
+ `OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_NAME` varchar(64) DEFAULT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned DEFAULT NULL,
+ `MYSQL_ERRNO` int(11) DEFAULT NULL,
+ `RETURNED_SQLSTATE` varchar(5) DEFAULT NULL,
+ `MESSAGE_TEXT` varchar(128) DEFAULT NULL,
+ `ERRORS` bigint(20) unsigned NOT NULL,
+ `WARNINGS` bigint(20) unsigned NOT NULL,
+ `ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
+ `ROWS_SENT` bigint(20) unsigned NOT NULL,
+ `ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
+ `CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
+ `CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
+ `SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
+ `SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
+ `SELECT_RANGE` bigint(20) unsigned NOT NULL,
+ `SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
+ `SELECT_SCAN` bigint(20) unsigned NOT NULL,
+ `SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
+ `SORT_RANGE` bigint(20) unsigned NOT NULL,
+ `SORT_ROWS` bigint(20) unsigned NOT NULL,
+ `SORT_SCAN` bigint(20) unsigned NOT NULL,
+ `NO_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_statements_history_long;
+Table Create Table
+events_statements_history_long CREATE TABLE `events_statements_history_long` (
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `EVENT_ID` bigint(20) unsigned NOT NULL,
+ `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `SOURCE` varchar(64) DEFAULT NULL,
+ `TIMER_START` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_END` bigint(20) unsigned DEFAULT NULL,
+ `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL,
+ `LOCK_TIME` bigint(20) unsigned NOT NULL,
+ `SQL_TEXT` longtext,
+ `DIGEST` varchar(32) DEFAULT NULL,
+ `DIGEST_TEXT` longtext,
+ `CURRENT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_TYPE` varchar(64) DEFAULT NULL,
+ `OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_NAME` varchar(64) DEFAULT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned DEFAULT NULL,
+ `MYSQL_ERRNO` int(11) DEFAULT NULL,
+ `RETURNED_SQLSTATE` varchar(5) DEFAULT NULL,
+ `MESSAGE_TEXT` varchar(128) DEFAULT NULL,
+ `ERRORS` bigint(20) unsigned NOT NULL,
+ `WARNINGS` bigint(20) unsigned NOT NULL,
+ `ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
+ `ROWS_SENT` bigint(20) unsigned NOT NULL,
+ `ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
+ `CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
+ `CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
+ `SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
+ `SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
+ `SELECT_RANGE` bigint(20) unsigned NOT NULL,
+ `SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
+ `SELECT_SCAN` bigint(20) unsigned NOT NULL,
+ `SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
+ `SORT_RANGE` bigint(20) unsigned NOT NULL,
+ `SORT_ROWS` bigint(20) unsigned NOT NULL,
+ `SORT_SCAN` bigint(20) unsigned NOT NULL,
+ `NO_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_statements_summary_by_digest;
+Table Create Table
+events_statements_summary_by_digest CREATE TABLE `events_statements_summary_by_digest` (
+ `SCHEMA_NAME` varchar(64) DEFAULT NULL,
+ `DIGEST` varchar(32) DEFAULT NULL,
+ `DIGEST_TEXT` longtext,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `SUM_LOCK_TIME` bigint(20) unsigned NOT NULL,
+ `SUM_ERRORS` bigint(20) unsigned NOT NULL,
+ `SUM_WARNINGS` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_SENT` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_ROWS` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `FIRST_SEEN` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `LAST_SEEN` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_statements_summary_by_host_by_event_name;
+Table Create Table
+events_statements_summary_by_host_by_event_name CREATE TABLE `events_statements_summary_by_host_by_event_name` (
+ `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `SUM_LOCK_TIME` bigint(20) unsigned NOT NULL,
+ `SUM_ERRORS` bigint(20) unsigned NOT NULL,
+ `SUM_WARNINGS` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_SENT` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_ROWS` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_statements_summary_by_thread_by_event_name;
+Table Create Table
+events_statements_summary_by_thread_by_event_name CREATE TABLE `events_statements_summary_by_thread_by_event_name` (
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `SUM_LOCK_TIME` bigint(20) unsigned NOT NULL,
+ `SUM_ERRORS` bigint(20) unsigned NOT NULL,
+ `SUM_WARNINGS` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_SENT` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_ROWS` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_statements_summary_by_user_by_event_name;
+Table Create Table
+events_statements_summary_by_user_by_event_name CREATE TABLE `events_statements_summary_by_user_by_event_name` (
+ `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `SUM_LOCK_TIME` bigint(20) unsigned NOT NULL,
+ `SUM_ERRORS` bigint(20) unsigned NOT NULL,
+ `SUM_WARNINGS` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_SENT` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_ROWS` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_statements_summary_by_account_by_event_name;
+Table Create Table
+events_statements_summary_by_account_by_event_name CREATE TABLE `events_statements_summary_by_account_by_event_name` (
+ `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `SUM_LOCK_TIME` bigint(20) unsigned NOT NULL,
+ `SUM_ERRORS` bigint(20) unsigned NOT NULL,
+ `SUM_WARNINGS` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_SENT` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_ROWS` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_statements_summary_global_by_event_name;
+Table Create Table
+events_statements_summary_global_by_event_name CREATE TABLE `events_statements_summary_global_by_event_name` (
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `SUM_LOCK_TIME` bigint(20) unsigned NOT NULL,
+ `SUM_ERRORS` bigint(20) unsigned NOT NULL,
+ `SUM_WARNINGS` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_SENT` bigint(20) unsigned NOT NULL,
+ `SUM_ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
+ `SUM_SELECT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_RANGE` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_ROWS` bigint(20) unsigned NOT NULL,
+ `SUM_SORT_SCAN` bigint(20) unsigned NOT NULL,
+ `SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL,
+ `SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table events_waits_current;
Table Create Table
events_waits_current CREATE TABLE `events_waits_current` (
- `THREAD_ID` int(11) NOT NULL,
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
`EVENT_ID` bigint(20) unsigned NOT NULL,
+ `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
`SOURCE` varchar(64) DEFAULT NULL,
`TIMER_START` bigint(20) unsigned DEFAULT NULL,
@@ -44,18 +499,21 @@ events_waits_current CREATE TABLE `events_waits_current` (
`SPINS` int(10) unsigned DEFAULT NULL,
`OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
`OBJECT_NAME` varchar(512) DEFAULT NULL,
+ `INDEX_NAME` varchar(64) DEFAULT NULL,
`OBJECT_TYPE` varchar(64) DEFAULT NULL,
- `OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL,
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
- `OPERATION` varchar(16) NOT NULL,
- `NUMBER_OF_BYTES` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL,
+ `OPERATION` varchar(32) NOT NULL,
+ `NUMBER_OF_BYTES` bigint(20) DEFAULT NULL,
`FLAGS` int(10) unsigned DEFAULT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table events_waits_history;
Table Create Table
events_waits_history CREATE TABLE `events_waits_history` (
- `THREAD_ID` int(11) NOT NULL,
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
`EVENT_ID` bigint(20) unsigned NOT NULL,
+ `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
`SOURCE` varchar(64) DEFAULT NULL,
`TIMER_START` bigint(20) unsigned DEFAULT NULL,
@@ -64,18 +522,21 @@ events_waits_history CREATE TABLE `events_waits_history` (
`SPINS` int(10) unsigned DEFAULT NULL,
`OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
`OBJECT_NAME` varchar(512) DEFAULT NULL,
+ `INDEX_NAME` varchar(64) DEFAULT NULL,
`OBJECT_TYPE` varchar(64) DEFAULT NULL,
- `OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL,
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
- `OPERATION` varchar(16) NOT NULL,
- `NUMBER_OF_BYTES` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL,
+ `OPERATION` varchar(32) NOT NULL,
+ `NUMBER_OF_BYTES` bigint(20) DEFAULT NULL,
`FLAGS` int(10) unsigned DEFAULT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table events_waits_history_long;
Table Create Table
events_waits_history_long CREATE TABLE `events_waits_history_long` (
- `THREAD_ID` int(11) NOT NULL,
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
`EVENT_ID` bigint(20) unsigned NOT NULL,
+ `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
`SOURCE` varchar(64) DEFAULT NULL,
`TIMER_START` bigint(20) unsigned DEFAULT NULL,
@@ -84,18 +545,31 @@ events_waits_history_long CREATE TABLE `events_waits_history_long` (
`SPINS` int(10) unsigned DEFAULT NULL,
`OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
`OBJECT_NAME` varchar(512) DEFAULT NULL,
+ `INDEX_NAME` varchar(64) DEFAULT NULL,
`OBJECT_TYPE` varchar(64) DEFAULT NULL,
- `OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL,
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL,
- `OPERATION` varchar(16) NOT NULL,
- `NUMBER_OF_BYTES` bigint(20) unsigned DEFAULT NULL,
+ `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL,
+ `OPERATION` varchar(32) NOT NULL,
+ `NUMBER_OF_BYTES` bigint(20) DEFAULT NULL,
`FLAGS` int(10) unsigned DEFAULT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_waits_summary_by_host_by_event_name;
+Table Create Table
+events_waits_summary_by_host_by_event_name CREATE TABLE `events_waits_summary_by_host_by_event_name` (
+ `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table events_waits_summary_by_instance;
Table Create Table
events_waits_summary_by_instance CREATE TABLE `events_waits_summary_by_instance` (
`EVENT_NAME` varchar(128) NOT NULL,
- `OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
@@ -105,7 +579,30 @@ events_waits_summary_by_instance CREATE TABLE `events_waits_summary_by_instance`
show create table events_waits_summary_by_thread_by_event_name;
Table Create Table
events_waits_summary_by_thread_by_event_name CREATE TABLE `events_waits_summary_by_thread_by_event_name` (
- `THREAD_ID` int(11) NOT NULL,
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_waits_summary_by_user_by_event_name;
+Table Create Table
+events_waits_summary_by_user_by_event_name CREATE TABLE `events_waits_summary_by_user_by_event_name` (
+ `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table events_waits_summary_by_account_by_event_name;
+Table Create Table
+events_waits_summary_by_account_by_event_name CREATE TABLE `events_waits_summary_by_account_by_event_name` (
+ `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
@@ -134,27 +631,116 @@ show create table file_summary_by_event_name;
Table Create Table
file_summary_by_event_name CREATE TABLE `file_summary_by_event_name` (
`EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`COUNT_READ` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `SUM_NUMBER_OF_BYTES_READ` bigint(20) NOT NULL,
`COUNT_WRITE` bigint(20) unsigned NOT NULL,
- `SUM_NUMBER_OF_BYTES_READ` bigint(20) unsigned NOT NULL,
- `SUM_NUMBER_OF_BYTES_WRITE` bigint(20) unsigned NOT NULL
+ `SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_NUMBER_OF_BYTES_WRITE` bigint(20) NOT NULL,
+ `COUNT_MISC` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_MISC` bigint(20) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table file_summary_by_instance;
Table Create Table
file_summary_by_instance CREATE TABLE `file_summary_by_instance` (
`FILE_NAME` varchar(512) NOT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`COUNT_READ` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `SUM_NUMBER_OF_BYTES_READ` bigint(20) NOT NULL,
`COUNT_WRITE` bigint(20) unsigned NOT NULL,
- `SUM_NUMBER_OF_BYTES_READ` bigint(20) unsigned NOT NULL,
- `SUM_NUMBER_OF_BYTES_WRITE` bigint(20) unsigned NOT NULL
+ `SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_NUMBER_OF_BYTES_WRITE` bigint(20) NOT NULL,
+ `COUNT_MISC` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_MISC` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table host_cache;
+Table Create Table
+host_cache CREATE TABLE `host_cache` (
+ `IP` varchar(64) NOT NULL,
+ `HOST` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `HOST_VALIDATED` enum('YES','NO') NOT NULL,
+ `SUM_CONNECT_ERRORS` bigint(20) NOT NULL,
+ `COUNT_HOST_BLOCKED_ERRORS` bigint(20) NOT NULL,
+ `COUNT_NAMEINFO_TRANSIENT_ERRORS` bigint(20) NOT NULL,
+ `COUNT_NAMEINFO_PERMANENT_ERRORS` bigint(20) NOT NULL,
+ `COUNT_FORMAT_ERRORS` bigint(20) NOT NULL,
+ `COUNT_ADDRINFO_TRANSIENT_ERRORS` bigint(20) NOT NULL,
+ `COUNT_ADDRINFO_PERMANENT_ERRORS` bigint(20) NOT NULL,
+ `COUNT_FCRDNS_ERRORS` bigint(20) NOT NULL,
+ `COUNT_HOST_ACL_ERRORS` bigint(20) NOT NULL,
+ `COUNT_NO_AUTH_PLUGIN_ERRORS` bigint(20) NOT NULL,
+ `COUNT_AUTH_PLUGIN_ERRORS` bigint(20) NOT NULL,
+ `COUNT_HANDSHAKE_ERRORS` bigint(20) NOT NULL,
+ `COUNT_PROXY_USER_ERRORS` bigint(20) NOT NULL,
+ `COUNT_PROXY_USER_ACL_ERRORS` bigint(20) NOT NULL,
+ `COUNT_AUTHENTICATION_ERRORS` bigint(20) NOT NULL,
+ `COUNT_SSL_ERRORS` bigint(20) NOT NULL,
+ `COUNT_MAX_USER_CONNECTIONS_ERRORS` bigint(20) NOT NULL,
+ `COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS` bigint(20) NOT NULL,
+ `COUNT_DEFAULT_DATABASE_ERRORS` bigint(20) NOT NULL,
+ `COUNT_INIT_CONNECT_ERRORS` bigint(20) NOT NULL,
+ `COUNT_LOCAL_ERRORS` bigint(20) NOT NULL,
+ `COUNT_UNKNOWN_ERRORS` bigint(20) NOT NULL,
+ `FIRST_SEEN` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `LAST_SEEN` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `FIRST_ERROR_SEEN` timestamp NULL DEFAULT '0000-00-00 00:00:00',
+ `LAST_ERROR_SEEN` timestamp NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table hosts;
+Table Create Table
+hosts CREATE TABLE `hosts` (
+ `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `CURRENT_CONNECTIONS` bigint(20) NOT NULL,
+ `TOTAL_CONNECTIONS` bigint(20) NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table mutex_instances;
Table Create Table
mutex_instances CREATE TABLE `mutex_instances` (
`NAME` varchar(128) NOT NULL,
- `OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL,
- `LOCKED_BY_THREAD_ID` int(11) DEFAULT NULL
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL,
+ `LOCKED_BY_THREAD_ID` bigint(20) unsigned DEFAULT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table objects_summary_global_by_type;
+Table Create Table
+objects_summary_global_by_type CREATE TABLE `objects_summary_global_by_type` (
+ `OBJECT_TYPE` varchar(64) DEFAULT NULL,
+ `OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_NAME` varchar(64) DEFAULT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table performance_timers;
Table Create Table
@@ -168,10 +754,17 @@ show create table rwlock_instances;
Table Create Table
rwlock_instances CREATE TABLE `rwlock_instances` (
`NAME` varchar(128) NOT NULL,
- `OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL,
- `WRITE_LOCKED_BY_THREAD_ID` int(11) DEFAULT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL,
+ `WRITE_LOCKED_BY_THREAD_ID` bigint(20) unsigned DEFAULT NULL,
`READ_LOCKED_BY_COUNT` int(10) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table setup_actors;
+Table Create Table
+setup_actors CREATE TABLE `setup_actors` (
+ `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%',
+ `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%',
+ `ROLE` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%'
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table setup_consumers;
Table Create Table
setup_consumers CREATE TABLE `setup_consumers` (
@@ -185,16 +778,271 @@ setup_instruments CREATE TABLE `setup_instruments` (
`ENABLED` enum('YES','NO') NOT NULL,
`TIMED` enum('YES','NO') NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table setup_objects;
+Table Create Table
+setup_objects CREATE TABLE `setup_objects` (
+ `OBJECT_TYPE` enum('TABLE') NOT NULL DEFAULT 'TABLE',
+ `OBJECT_SCHEMA` varchar(64) DEFAULT '%',
+ `OBJECT_NAME` varchar(64) NOT NULL DEFAULT '%',
+ `ENABLED` enum('YES','NO') NOT NULL DEFAULT 'YES',
+ `TIMED` enum('YES','NO') NOT NULL DEFAULT 'YES'
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table setup_timers;
Table Create Table
setup_timers CREATE TABLE `setup_timers` (
`NAME` varchar(64) NOT NULL,
`TIMER_NAME` enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table socket_instances;
+Table Create Table
+socket_instances CREATE TABLE `socket_instances` (
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL,
+ `THREAD_ID` bigint(20) unsigned DEFAULT NULL,
+ `SOCKET_ID` int(11) NOT NULL,
+ `IP` varchar(64) NOT NULL,
+ `PORT` int(11) NOT NULL,
+ `STATE` enum('IDLE','ACTIVE') NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table socket_summary_by_instance;
+Table Create Table
+socket_summary_by_instance CREATE TABLE `socket_summary_by_instance` (
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `COUNT_READ` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `SUM_NUMBER_OF_BYTES_READ` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_NUMBER_OF_BYTES_WRITE` bigint(20) unsigned NOT NULL,
+ `COUNT_MISC` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_MISC` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table socket_summary_by_event_name;
+Table Create Table
+socket_summary_by_event_name CREATE TABLE `socket_summary_by_event_name` (
+ `EVENT_NAME` varchar(128) NOT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `COUNT_READ` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `SUM_NUMBER_OF_BYTES_READ` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_NUMBER_OF_BYTES_WRITE` bigint(20) unsigned NOT NULL,
+ `COUNT_MISC` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_MISC` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_MISC` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table table_io_waits_summary_by_index_usage;
+Table Create Table
+table_io_waits_summary_by_index_usage CREATE TABLE `table_io_waits_summary_by_index_usage` (
+ `OBJECT_TYPE` varchar(64) DEFAULT NULL,
+ `OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_NAME` varchar(64) DEFAULT NULL,
+ `INDEX_NAME` varchar(64) DEFAULT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `COUNT_READ` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `COUNT_FETCH` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_FETCH` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_FETCH` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_FETCH` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_FETCH` bigint(20) unsigned NOT NULL,
+ `COUNT_INSERT` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_INSERT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_INSERT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_INSERT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_INSERT` bigint(20) unsigned NOT NULL,
+ `COUNT_UPDATE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_UPDATE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_UPDATE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_UPDATE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_UPDATE` bigint(20) unsigned NOT NULL,
+ `COUNT_DELETE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_DELETE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_DELETE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_DELETE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_DELETE` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table table_io_waits_summary_by_table;
+Table Create Table
+table_io_waits_summary_by_table CREATE TABLE `table_io_waits_summary_by_table` (
+ `OBJECT_TYPE` varchar(64) DEFAULT NULL,
+ `OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_NAME` varchar(64) DEFAULT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `COUNT_READ` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `COUNT_FETCH` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_FETCH` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_FETCH` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_FETCH` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_FETCH` bigint(20) unsigned NOT NULL,
+ `COUNT_INSERT` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_INSERT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_INSERT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_INSERT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_INSERT` bigint(20) unsigned NOT NULL,
+ `COUNT_UPDATE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_UPDATE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_UPDATE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_UPDATE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_UPDATE` bigint(20) unsigned NOT NULL,
+ `COUNT_DELETE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_DELETE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_DELETE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_DELETE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_DELETE` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table table_lock_waits_summary_by_table;
+Table Create Table
+table_lock_waits_summary_by_table CREATE TABLE `table_lock_waits_summary_by_table` (
+ `OBJECT_TYPE` varchar(64) DEFAULT NULL,
+ `OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
+ `OBJECT_NAME` varchar(64) DEFAULT NULL,
+ `COUNT_STAR` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
+ `COUNT_READ` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
+ `COUNT_READ_NORMAL` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ_NORMAL` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ_NORMAL` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ_NORMAL` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ_NORMAL` bigint(20) unsigned NOT NULL,
+ `COUNT_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL,
+ `COUNT_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL,
+ `COUNT_READ_NO_INSERT` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ_NO_INSERT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ_NO_INSERT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ_NO_INSERT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ_NO_INSERT` bigint(20) unsigned NOT NULL,
+ `COUNT_READ_EXTERNAL` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_READ_EXTERNAL` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_READ_EXTERNAL` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_READ_EXTERNAL` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_READ_EXTERNAL` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE_DELAYED` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE_NORMAL` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE_NORMAL` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE_NORMAL` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE_NORMAL` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE_NORMAL` bigint(20) unsigned NOT NULL,
+ `COUNT_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL,
+ `SUM_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL,
+ `MIN_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL,
+ `AVG_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL,
+ `MAX_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
show create table threads;
Table Create Table
threads CREATE TABLE `threads` (
- `THREAD_ID` int(11) NOT NULL,
- `PROCESSLIST_ID` int(11) DEFAULT NULL,
- `NAME` varchar(128) NOT NULL
+ `THREAD_ID` bigint(20) unsigned NOT NULL,
+ `NAME` varchar(128) NOT NULL,
+ `TYPE` varchar(10) NOT NULL,
+ `PROCESSLIST_ID` bigint(20) unsigned DEFAULT NULL,
+ `PROCESSLIST_USER` varchar(16) DEFAULT NULL,
+ `PROCESSLIST_HOST` varchar(60) DEFAULT NULL,
+ `PROCESSLIST_DB` varchar(64) DEFAULT NULL,
+ `PROCESSLIST_COMMAND` varchar(16) DEFAULT NULL,
+ `PROCESSLIST_TIME` bigint(20) DEFAULT NULL,
+ `PROCESSLIST_STATE` varchar(64) DEFAULT NULL,
+ `PROCESSLIST_INFO` longtext,
+ `PARENT_THREAD_ID` bigint(20) unsigned DEFAULT NULL,
+ `ROLE` varchar(64) DEFAULT NULL,
+ `INSTRUMENTED` enum('YES','NO') NOT NULL
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+show create table users;
+Table Create Table
+users CREATE TABLE `users` (
+ `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `CURRENT_CONNECTIONS` bigint(20) NOT NULL,
+ `TOTAL_CONNECTIONS` bigint(20) NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
diff --git a/mysql-test/suite/perfschema/r/selects.result b/mysql-test/suite/perfschema/r/selects.result
index 4c59cc3338e..c14d152856f 100644
--- a/mysql-test/suite/perfschema/r/selects.result
+++ b/mysql-test/suite/perfschema/r/selects.result
@@ -1,4 +1,6 @@
UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'NO'
+ where NAME='wait/io/table/sql/handler';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
ENGINE=MyISAM;
@@ -110,3 +112,4 @@ DROP FUNCTION t_ps_func;
DROP EVENT t_ps_event;
DROP TABLE t1;
DROP TABLE t_event;
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
diff --git a/mysql-test/suite/perfschema/r/server_init.result b/mysql-test/suite/perfschema/r/server_init.result
index 5497267080e..1bdb9884606 100644
--- a/mysql-test/suite/perfschema/r/server_init.result
+++ b/mysql-test/suite/perfschema/r/server_init.result
@@ -12,10 +12,6 @@ where name like "wait/synch/mutex/mysys/THR_LOCK_open";
count(name)
1
select count(name) from mutex_instances
-where name like "wait/synch/mutex/mysys/THR_LOCK_isam";
-count(name)
-1
-select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_myisam";
count(name)
1
@@ -36,13 +32,13 @@ where name like "wait/synch/cond/mysys/THR_COND_threads";
count(name)
1
select count(name) from mutex_instances
-where name like "wait/synch/mutex/sql/LOCK_open";
+where name like "wait/synch/mutex/sql/LOCK_thread_count";
count(name)
1
select count(name) from mutex_instances
-where name like "wait/synch/mutex/sql/LOCK_thread_count";
+where name like "wait/synch/mutex/sql/LOCK_log_throttle_qni";
count(name)
-1
+0
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_status";
count(name)
@@ -56,9 +52,9 @@ where name like "wait/synch/mutex/sql/LOCK_delayed_insert";
count(name)
1
select count(name) from mutex_instances
-where name like "wait/synch/mutex/sql/LOCK_uuid_short_generator";
+where name like "wait/synch/mutex/sql/LOCK_uuid_generator";
count(name)
-1
+0
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_delayed_status";
count(name)
@@ -104,10 +100,6 @@ where name like "wait/synch/mutex/sql/LOCK_server_started";
count(name)
1
select count(name) from mutex_instances
-where name like "wait/synch/mutex/sql/LOCK_rpl_status";
-count(name)
-1
-select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/Query_cache::structure_guard_mutex";
count(name)
1
@@ -128,10 +120,6 @@ where name like "wait/synch/mutex/sql/LOCK_audit_mask";
count(name)
1
select count(name) from mutex_instances
-where name like "wait/synch/mutex/sql/LOCK_xid_cache";
-count(name)
-1
-select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_plugin";
count(name)
1
@@ -180,10 +168,6 @@ where name like "wait/synch/cond/sql/COND_flush_thread_cache";
count(name)
1
select count(name) from cond_instances
-where name like "wait/synch/cond/sql/COND_rpl_status";
-count(name)
-1
-select count(name) from cond_instances
where name like "wait/synch/cond/sql/Query_cache::COND_cache_status_changed";
count(name)
1
diff --git a/mysql-test/suite/perfschema/r/setup_actors.result b/mysql-test/suite/perfschema/r/setup_actors.result
new file mode 100644
index 00000000000..187b558e827
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/setup_actors.result
@@ -0,0 +1,140 @@
+select * from performance_schema.setup_actors;
+HOST USER ROLE
+% % %
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+values ('hosta', 'user1', '%');
+insert into performance_schema.setup_actors
+values ('%', 'user2', '%');
+insert into performance_schema.setup_actors
+values ('localhost', 'user3', '%');
+insert into performance_schema.setup_actors
+values ('hostb', '%', '%');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+hostb % %
+hosta user1 %
+% user2 %
+localhost user3 %
+create user user1@localhost;
+grant ALL on *.* to user1@localhost;
+create user user2@localhost;
+grant ALL on *.* to user2@localhost;
+create user user3@localhost;
+grant ALL on *.* to user3@localhost;
+create user user4@localhost;
+grant ALL on *.* to user4@localhost;
+create user user5@localhost;
+grant select on test.* to user5@localhost;
+flush privileges;
+# Switch to (con1, localhost, user1, , )
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST
+thread/sql/one_connection FOREGROUND NO user1 localhost
+# Switch to connection default
+insert into performance_schema.setup_actors
+values ('%', 'user1', '%');
+# Switch to connection con1
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST
+thread/sql/one_connection FOREGROUND NO user1 localhost
+# Disconnect con1
+# Switch to (con2, localhost, user2, , )
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID=connection_id();
+NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST
+thread/sql/one_connection FOREGROUND YES user2 localhost
+# Disconnect con2
+# Switch to connection default
+drop table if exists test.t1;
+create table test.t1 (col1 bigint);
+lock table test.t1 write;
+# Switch to (con3, localhost, user3, , )
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST
+thread/sql/one_connection FOREGROUND YES user3 localhost
+# Send a statement to the server, but do not wait till the result
+# comes back. We will pull this later.
+insert into test.t1 set col1 = 1;
+# Switch to (con4, localhost, user4, , )
+# Poll till INFO is no more NULL and State = 'Waiting for table metadata lock'.
+select count(*) = 1
+from performance_schema.threads T inner join information_schema.PROCESSLIST P
+on T.PROCESSLIST_ID = P.ID and T.PROCESSLIST_USER = P.USER and
+T.PROCESSLIST_HOST = P.HOST and T.PROCESSLIST_DB = P.DB and
+T.PROCESSLIST_COMMAND = P.COMMAND and T.PROCESSLIST_INFO = P.INFO
+where T.PROCESSLIST_USER = 'user3' and T.NAME = 'thread/sql/one_connection';
+count(*) = 1
+1
+# Switch to connection default
+unlock tables;
+# Switch to connection con3 and reap the result of the no more blocked insert
+# Switch to connection default
+drop table test.t1;
+# Disconnect con3
+# Switch to connection con4
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST
+thread/sql/one_connection FOREGROUND NO user4 localhost
+# Disconnect con4
+# Switch to connection default
+insert into performance_schema.setup_actors
+values ('localhost', '%', '%');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+hostb % %
+localhost % %
+% user1 %
+hosta user1 %
+% user2 %
+localhost user3 %
+# Switch to (con4b, localhost, user4, , )
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST
+thread/sql/one_connection FOREGROUND YES user4 localhost
+# Disconnect con4b
+# Switch to connection default
+insert into performance_schema.setup_actors
+values ('%', 'user5', '%');
+create sql security definer view test.v1 as select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+# Switch to (con5, localhost, user5, , )
+select * from performance_schema.threads;
+ERROR 42000: SELECT command denied to user 'user5'@'localhost' for table 'threads'
+select * from test.v1;
+NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST
+thread/sql/one_connection FOREGROUND YES user5 localhost
+# Disconnect con5
+# Switch to connection default and cleanup
+drop view test.v1;
+revoke all privileges, grant option from user1@localhost;
+revoke all privileges, grant option from user2@localhost;
+revoke all privileges, grant option from user3@localhost;
+revoke all privileges, grant option from user4@localhost;
+revoke all privileges, grant option from user5@localhost;
+drop user user1@localhost;
+drop user user2@localhost;
+drop user user3@localhost;
+drop user user4@localhost;
+drop user user5@localhost;
+flush privileges;
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+values ('%', '%', '%');
+select * from performance_schema.setup_actors;
+HOST USER ROLE
+% % %
diff --git a/mysql-test/suite/perfschema/r/setup_consumers_defaults.result b/mysql-test/suite/perfschema/r/setup_consumers_defaults.result
new file mode 100644
index 00000000000..c6e03513d75
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/setup_consumers_defaults.result
@@ -0,0 +1,20 @@
+SELECT * FROM performance_schema.setup_consumers ORDER BY name;
+NAME ENABLED
+events_stages_current NO
+events_stages_history YES
+events_stages_history_long NO
+events_statements_current YES
+events_statements_history NO
+events_statements_history_long YES
+events_waits_current NO
+events_waits_history YES
+events_waits_history_long NO
+global_instrumentation YES
+statements_digest YES
+thread_instrumentation YES
+SELECT @@performance_schema_consumer_events_stages_current;
+ERROR HY000: Unknown system variable 'performance_schema_consumer_events_stages_current'
+SET @@performance_schema_consumer_events_stages_current=0;
+ERROR HY000: Unknown system variable 'performance_schema_consumer_events_stages_current'
+SHOW VARIABLES LIKE "performance_schema_consumer%";
+Variable_name Value
diff --git a/mysql-test/suite/perfschema/r/setup_instruments_defaults.result b/mysql-test/suite/perfschema/r/setup_instruments_defaults.result
new file mode 100644
index 00000000000..b0570d70602
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/setup_instruments_defaults.result
@@ -0,0 +1,63 @@
+#
+# Verify that the configuration file defaults were processed correctly
+#
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+'wait/synch/mutex/sql/LOCK_user_conn',
+'wait/synch/mutex/sql/LOCK_uuid_generator',
+'wait/synch/mutex/sql/LOCK_plugin',
+'stage/sql/creating table')
+AND enabled = 'yes' AND timed = 'no'
+ORDER BY name;
+NAME ENABLED TIMED
+stage/sql/creating table YES NO
+wait/synch/mutex/sql/LOCK_plugin YES NO
+wait/synch/mutex/sql/LOCK_user_conn YES NO
+SELECT * FROM performance_schema.setup_instruments
+WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count'
+AND enabled = 'no' AND timed = 'no';
+NAME ENABLED TIMED
+wait/synch/mutex/sql/LOCK_thread_count NO NO
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+'wait/synch/mutex/sql/LOG_INFO::lock',
+'wait/synch/mutex/sql/THD::LOCK_thd_data')
+AND enabled = 'yes' AND timed = 'yes'
+ORDER BY name;
+NAME ENABLED TIMED
+wait/synch/mutex/sql/LOG_INFO::lock YES YES
+wait/synch/mutex/sql/THD::LOCK_thd_data YES YES
+SELECT * FROM performance_schema.setup_instruments
+WHERE name = 'wait/synch/mutex/sql/hash_filo::lock'
+AND enabled = 'no' AND timed = 'no'
+ORDER BY name;
+NAME ENABLED TIMED
+wait/synch/mutex/sql/hash_filo::lock NO NO
+#
+# Verify that the instrument startup settings are not not visible.
+#
+SHOW VARIABLES LIKE "%/wait/synch/mutex%";
+Variable_name Value
+#
+# Verify command line options are processed correctly
+#
+#
+# Verify that wait/io/table/sql/handler is enabled and timed
+#
+SELECT * FROM performance_schema.setup_instruments
+WHERE name like "%wait/io/table/sql/handler%";
+NAME ENABLED TIMED
+wait/io/table/sql/handler YES YES
+#
+# Stop server
+# Restart server with wait/io/table/sql/handler disabled
+# Enable reconnect
+# Wait until connected again
+# Disable reconnect
+#
+# Verify that wait/io/table is disabled
+#
+SELECT * FROM performance_schema.setup_instruments
+WHERE name like "%wait/io/table/sql/handler%";
+NAME ENABLED TIMED
+wait/io/table/sql/handler NO NO
diff --git a/mysql-test/suite/perfschema/r/setup_objects.result b/mysql-test/suite/perfschema/r/setup_objects.result
new file mode 100644
index 00000000000..01744df940a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/setup_objects.result
@@ -0,0 +1,207 @@
+drop table if exists test.setup_objects;
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES', timed='YES'
+ where name in ('wait/io/table/sql/handler', 'wait/lock/table/sql/handler');
+truncate table performance_schema.events_waits_history_long;
+create table test.setup_objects as select * from performance_schema.setup_objects;
+truncate table performance_schema.setup_objects;
+insert into performance_schema.setup_objects
+values ('TABLE', 'db1', 't1', 'YES', 'YES');
+insert into performance_schema.setup_objects
+values ('TABLE', 'db1', 't2', 'YES', 'NO');
+insert into performance_schema.setup_objects
+values ('TABLE', 'db1', '%', 'YES', 'YES');
+insert into performance_schema.setup_objects
+values ('TABLE', 'db2', 't1', 'YES', 'YES');
+insert into performance_schema.setup_objects
+values ('TABLE', 'db2', 't2', 'YES', 'NO');
+insert into performance_schema.setup_objects
+values ('TABLE', 'db3', 't1', 'YES', 'YES');
+insert into performance_schema.setup_objects
+values ('TABLE', 'db3', 't2', 'NO', 'NO');
+insert into performance_schema.setup_objects
+values ('TABLE', 'db3', '%', 'NO', 'YES');
+insert into performance_schema.setup_objects
+values ('TABLE', 'db4', 't1', 'NO', 'YES');
+insert into performance_schema.setup_objects
+values ('TABLE', 'db4', '%', 'YES', 'NO');
+insert into performance_schema.setup_objects
+values ('SOMETHING', 'bad1', 'bad1', 'YES', 'NO');
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails
+show warnings;
+Level Code Message
+Warning 1265 Data truncated for column 'OBJECT_TYPE' at row 1
+Error 1452 Cannot add or update a child row: a foreign key constraint fails
+insert into performance_schema.setup_objects
+values ('TABLE', 'bad2', 'bad2', 'MAYBE', 'NO');
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails
+show warnings;
+Level Code Message
+Warning 1265 Data truncated for column 'ENABLED' at row 1
+Error 1452 Cannot add or update a child row: a foreign key constraint fails
+insert into performance_schema.setup_objects
+values ('TABLE', 'bad3', 'bad3', 'YES', 'MAYBE NOT');
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails
+show warnings;
+Level Code Message
+Warning 1265 Data truncated for column 'TIMED' at row 1
+Error 1452 Cannot add or update a child row: a foreign key constraint fails
+select * from performance_schema.setup_objects
+order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE db1 % YES YES
+TABLE db1 t1 YES YES
+TABLE db1 t2 YES NO
+TABLE db2 t1 YES YES
+TABLE db2 t2 YES NO
+TABLE db3 % NO YES
+TABLE db3 t1 YES YES
+TABLE db3 t2 NO NO
+TABLE db4 % YES NO
+TABLE db4 t1 NO YES
+update performance_schema.setup_objects
+set OBJECT_TYPE='SOMETHING' where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1';
+ERROR HY000: Invalid performance_schema usage.
+update performance_schema.setup_objects
+set ENABLED='MAYBE' where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1';
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails
+update performance_schema.setup_objects
+set TIMED='MAYBE NOT' where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1';
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails
+select * from performance_schema.setup_objects
+order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE db1 % YES YES
+TABLE db1 t1 YES YES
+TABLE db1 t2 YES NO
+TABLE db2 t1 YES YES
+TABLE db2 t2 YES NO
+TABLE db3 % NO YES
+TABLE db3 t1 YES YES
+TABLE db3 t2 NO NO
+TABLE db4 % YES NO
+TABLE db4 t1 NO YES
+drop database if exists db1;
+drop database if exists db2;
+drop database if exists db3;
+drop database if exists db4;
+drop database if exists db5;
+create database db1;
+create database db2;
+create database db3;
+create database db4;
+create database db5;
+create table db1.t1(a int);
+create table db1.t2(a int);
+create table db1.t3(a int);
+create table db1.t4(a int);
+create table db1.t5(a int);
+create table db2.t1(a int);
+create table db2.t2(a int);
+create table db2.t3(a int);
+create table db2.t4(a int);
+create table db2.t5(a int);
+create table db3.t1(a int);
+create table db3.t2(a int);
+create table db3.t3(a int);
+create table db3.t4(a int);
+create table db3.t5(a int);
+create table db4.t1(a int);
+create table db4.t2(a int);
+create table db4.t3(a int);
+create table db4.t4(a int);
+create table db4.t5(a int);
+create table db5.t1(a int);
+select * from db1.t1;
+a
+select * from db1.t2;
+a
+select * from db1.t3;
+a
+select * from db1.t4;
+a
+select * from db1.t5;
+a
+select * from db2.t1;
+a
+select * from db2.t2;
+a
+select * from db2.t3;
+a
+select * from db2.t4;
+a
+select * from db2.t5;
+a
+select * from db3.t1;
+a
+select * from db3.t2;
+a
+select * from db3.t3;
+a
+select * from db3.t4;
+a
+select * from db3.t5;
+a
+select * from db4.t1;
+a
+select * from db4.t2;
+a
+select * from db4.t3;
+a
+select * from db4.t4;
+a
+select * from db4.t5;
+a
+select * from db5.t1;
+a
+create table db5.t2(a int);
+select * from db3.t2;
+a
+select distinct OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA
+from performance_schema.events_waits_history_long
+where OBJECT_SCHEMA like "db%"
+ group by OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA
+order by OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA;
+OBJECT_TYPE OBJECT_NAME OBJECT_SCHEMA
+TABLE t1 db1
+TABLE t1 db2
+TABLE t1 db3
+TABLE t2 db1
+TABLE t2 db2
+TABLE t2 db4
+TABLE t3 db1
+TABLE t3 db4
+TABLE t4 db1
+TABLE t4 db4
+TABLE t5 db1
+TABLE t5 db4
+select distinct OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA
+from performance_schema.events_waits_history_long
+where OBJECT_SCHEMA like "db%" and TIMER_END is not NULL
+group by OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA
+order by OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA;
+OBJECT_TYPE OBJECT_NAME OBJECT_SCHEMA
+TABLE t1 db1
+TABLE t1 db2
+TABLE t1 db3
+TABLE t3 db1
+TABLE t4 db1
+TABLE t5 db1
+update performance_schema.setup_objects
+set timed='YES' where OBJECT_SCHEMA = '%';
+create table db5.t3(a int);
+select * from db3.t3;
+a
+truncate table performance_schema.setup_objects;
+select count(*) from performance_schema.setup_objects;
+count(*)
+0
+drop database db1;
+drop database db2;
+drop database db3;
+drop database db4;
+drop database db5;
+truncate table performance_schema.setup_objects;
+insert into performance_schema.setup_objects select * from test.setup_objects;
+drop table test.setup_objects;
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
diff --git a/mysql-test/suite/perfschema/r/short_option_1.result b/mysql-test/suite/perfschema/r/short_option_1.result
index d97ece1f67a..45f7d989d8e 100644
--- a/mysql-test/suite/perfschema/r/short_option_1.result
+++ b/mysql-test/suite/perfschema/r/short_option_1.result
@@ -13,9 +13,6 @@ utf8
show variables like 'character_set_system';
Variable_name Value
character_set_system utf8
-show variables like 'log';
-Variable_name Value
-log ON
show variables like 'general_log';
Variable_name Value
general_log ON
diff --git a/mysql-test/suite/perfschema/r/sizing_default.result b/mysql-test/suite/perfschema/r/sizing_default.result
new file mode 100644
index 00000000000..1ca202e821f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/sizing_default.result
@@ -0,0 +1,69 @@
+show variables like "table_definition_cache";
+Variable_name Value
+table_definition_cache 1400
+show variables like "table_open_cache";
+Variable_name Value
+table_open_cache 2000
+show variables like "max_connections";
+Variable_name Value
+max_connections 151
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 10000
+performance_schema_events_stages_history_long_size 10000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 10000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 3504
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 7693
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 15906
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 9102
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 322
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 4000
+performance_schema_max_table_instances 12500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 402
+performance_schema_session_connect_attrs_size 512
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "%performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/sizing_growth.result b/mysql-test/suite/perfschema/r/sizing_growth.result
new file mode 100644
index 00000000000..2190e904fd4
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/sizing_growth.result
@@ -0,0 +1,255 @@
+flush status;
+flush tables;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.cond_instances;
+select * from performance_schema.file_instances;
+select count(*) from performance_schema.mutex_instances
+into @v0_mutex_instances;
+select count(*) from performance_schema.rwlock_instances
+into @v0_rwlock_instances;
+select count(*) from performance_schema.cond_instances
+into @v0_cond_instances;
+select count(*) from performance_schema.file_instances
+into @v0_file_instances;
+select count(*) from performance_schema.mutex_instances
+into @v1_mutex_instances;
+select count(*) from performance_schema.rwlock_instances
+into @v1_rwlock_instances;
+select count(*) from performance_schema.cond_instances
+into @v1_cond_instances;
+select count(*) from performance_schema.file_instances
+into @v1_file_instances;
+select count(name), name from performance_schema.mutex_instances
+group by name;
+select count(name), name from performance_schema.rwlock_instances
+group by name;
+select count(name), name from performance_schema.cond_instances
+group by name;
+select count(event_name), event_name from performance_schema.file_instances
+group by event_name;
+begin;
+create table test.t1(a int) engine = innodb;
+create table test.t2(a int) engine = innodb;
+create table test.t3(a int) engine = innodb;
+create table test.t4(a int) engine = innodb;
+create table test.t5(a int) engine = innodb;
+create table test.t6(a int) engine = innodb;
+create table test.t7(a int) engine = innodb;
+create table test.t8(a int) engine = innodb;
+create table test.t9(a int) engine = innodb;
+create table test.t10(a int) engine = innodb;
+select * from test.t1;
+select * from test.t2;
+select * from test.t3;
+select * from test.t4;
+select * from test.t5;
+select * from test.t6;
+select * from test.t7;
+select * from test.t8;
+select * from test.t9;
+select * from test.t10;
+commit;
+select count(*) from performance_schema.mutex_instances
+into @v2_mutex_instances;
+select count(*) from performance_schema.rwlock_instances
+into @v2_rwlock_instances;
+select count(*) from performance_schema.cond_instances
+into @v2_cond_instances;
+select count(*) from performance_schema.file_instances
+into @v2_file_instances;
+select count(name), name from performance_schema.mutex_instances
+group by name;
+select count(name), name from performance_schema.rwlock_instances
+group by name;
+select count(name), name from performance_schema.cond_instances
+group by name;
+select count(event_name), event_name from performance_schema.file_instances
+group by event_name;
+select @v2_mutex_instances, @v1_mutex_instances, @v0_mutex_instances;
+select @v2_rwlock_instances, @v1_rwlock_instances, @v0_rwlock_instances;
+select @v2_cond_instances, @v1_cond_instances, @v0_cond_instances;
+select @v2_file_instances, @v1_file_instances, @v0_file_instances;
+select round((@v2_mutex_instances - @v1_mutex_instances) / 10)
+into @mutex_per_share;
+select round((@v2_rwlock_instances - @v1_rwlock_instances) / 10)
+into @rwlock_per_share;
+select round((@v2_cond_instances - @v1_cond_instances) / 10)
+into @cond_per_share;
+select round((@v2_file_instances - @v1_file_instances) / 10)
+into @file_per_share;
+select "con1 connected";
+select "con2 connected";
+select "con3 connected";
+select "con4 connected";
+select "con5 connected";
+select "con6 connected";
+select "con7 connected";
+select "con8 connected";
+select "con9 connected";
+select "con10 connected";
+select count(*) from performance_schema.mutex_instances
+into @v3_mutex_instances;
+select count(*) from performance_schema.rwlock_instances
+into @v3_rwlock_instances;
+select count(*) from performance_schema.cond_instances
+into @v3_cond_instances;
+select count(*) from performance_schema.file_instances
+into @v3_file_instances;
+select count(name), name from performance_schema.mutex_instances
+group by name;
+select count(name), name from performance_schema.rwlock_instances
+group by name;
+select count(name), name from performance_schema.cond_instances
+group by name;
+select count(event_name), event_name from performance_schema.file_instances
+group by event_name;
+select @v3_mutex_instances, @v2_mutex_instances;
+select @v3_rwlock_instances, @v2_rwlock_instances;
+select @v3_cond_instances, @v2_cond_instances;
+select @v3_file_instances, @v2_file_instances;
+select round((@v3_mutex_instances - @v2_mutex_instances) / 10)
+into @mutex_per_con;
+select round((@v3_rwlock_instances - @v2_rwlock_instances) / 10)
+into @rwlock_per_con;
+select round((@v3_cond_instances - @v2_cond_instances) / 10)
+into @cond_per_con;
+select round((@v3_file_instances - @v2_file_instances) / 10)
+into @file_per_con;
+lock table test.t1 write, test.t2 write, test.t3 write, test.t4 write,
+test.t5 write, test.t6 write, test.t7 write, test.t8 write, test.t9 write,
+test.t10 write;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+select count(*) from performance_schema.mutex_instances
+into @v4_mutex_instances;
+select count(*) from performance_schema.rwlock_instances
+into @v4_rwlock_instances;
+select count(*) from performance_schema.cond_instances
+into @v4_cond_instances;
+select count(*) from performance_schema.file_instances
+into @v4_file_instances;
+select count(name), name from performance_schema.mutex_instances
+group by name;
+select count(name), name from performance_schema.rwlock_instances
+group by name;
+select count(name), name from performance_schema.cond_instances
+group by name;
+select count(event_name), event_name from performance_schema.file_instances
+group by event_name;
+select @v4_mutex_instances, @v3_mutex_instances;
+select @v4_rwlock_instances, @v3_rwlock_instances;
+select @v4_cond_instances, @v3_cond_instances;
+select @v4_file_instances, @v3_file_instances;
+select round((@v4_mutex_instances - @v3_mutex_instances) / 10)
+into @mutex_per_handle;
+select round((@v4_rwlock_instances - @v3_rwlock_instances) / 10)
+into @rwlock_per_handle;
+select round((@v4_cond_instances - @v3_cond_instances) / 10)
+into @cond_per_handle;
+select round((@v4_file_instances - @v3_file_instances) / 10)
+into @file_per_handle;
+unlock tables;
+drop table test.t1;
+drop table test.t2;
+drop table test.t3;
+drop table test.t4;
+drop table test.t5;
+drop table test.t6;
+drop table test.t7;
+drop table test.t8;
+drop table test.t9;
+drop table test.t10;
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+select @rwlock_per_share <= 3;
+@rwlock_per_share <= 3
+1
+select @cond_per_share;
+@cond_per_share
+0
+select @file_per_share <= 3;
+@file_per_share <= 3
+1
+select @mutex_per_con;
+@mutex_per_con
+3
+select @rwlock_per_con;
+@rwlock_per_con
+1
+select @cond_per_con;
+@cond_per_con
+2
+select @file_per_con;
+@file_per_con
+0
+select @mutex_per_handle;
+@mutex_per_handle
+0
+select @rwlock_per_handle;
+@rwlock_per_handle
+0
+select @cond_per_handle;
+@cond_per_handle
+0
+select @file_per_handle;
+@file_per_handle
+0
+select if(
+(@rwlock_per_share <= 3)
+AND (@cond_per_share = 0)
+AND (@file_per_share <= 3)
+AND (@mutex_per_con = 3)
+AND (@rwlock_per_con = 1)
+AND (@cond_per_con = 2)
+AND (@file_per_con = 0)
+AND (@mutex_per_handle = 0)
+AND (@rwlock_per_handle = 0)
+AND (@cond_per_handle = 0)
+AND (@file_per_handle = 0),
+"OK: heuristics are up to date",
+"FAILED: heuristics need to be updated")
+as status;
+status
+OK: heuristics are up to date
diff --git a/mysql-test/suite/perfschema/r/sizing_high.result b/mysql-test/suite/perfschema/r/sizing_high.result
new file mode 100644
index 00000000000..b633d5fce8d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/sizing_high.result
@@ -0,0 +1,69 @@
+show variables like "table_definition_cache";
+Variable_name Value
+table_definition_cache 5000
+show variables like "table_open_cache";
+Variable_name Value
+table_open_cache 400
+show variables like "max_connections";
+Variable_name Value
+max_connections 200
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 10000
+performance_schema_events_stages_history_long_size 10000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 10000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 10900
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 23385
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 52200
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 30800
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 420
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 800
+performance_schema_max_table_instances 12500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 500
+performance_schema_session_connect_attrs_size 512
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "%performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/sizing_low.result b/mysql-test/suite/perfschema/r/sizing_low.result
new file mode 100644
index 00000000000..a698f55aa07
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/sizing_low.result
@@ -0,0 +1,70 @@
+show variables like "table_definition_cache";
+Variable_name Value
+table_definition_cache 400
+show variables like "table_open_cache";
+Variable_name Value
+table_open_cache 100
+show variables like "max_connections";
+Variable_name Value
+max_connections 50
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 10
+performance_schema_digests_size 1000
+performance_schema_events_stages_history_long_size 100
+performance_schema_events_stages_history_size 5
+performance_schema_events_statements_history_long_size 100
+performance_schema_events_statements_history_size 5
+performance_schema_events_waits_history_long_size 100
+performance_schema_events_waits_history_size 5
+performance_schema_hosts_size 20
+performance_schema_max_cond_classes 80
+performance_schema_max_cond_instances 612
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 1556
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 2945
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 1612
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 67
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 112
+performance_schema_max_table_instances 445
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 112
+performance_schema_session_connect_attrs_size 512
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 5
+show status like "%performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+CALL mtr.add_suppression("innodb_open_files should not be greater than the open_files_limit.");
diff --git a/mysql-test/suite/perfschema/r/sizing_med.result b/mysql-test/suite/perfschema/r/sizing_med.result
new file mode 100644
index 00000000000..2eda017467a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/sizing_med.result
@@ -0,0 +1,69 @@
+show variables like "table_definition_cache";
+Variable_name Value
+table_definition_cache 401
+show variables like "table_open_cache";
+Variable_name Value
+table_open_cache 401
+show variables like "max_connections";
+Variable_name Value
+max_connections 152
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 5000
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+performance_schema_events_waits_history_long_size 1000
+performance_schema_events_waits_history_size 10
+performance_schema_hosts_size 100
+performance_schema_max_cond_classes 80
+performance_schema_max_cond_instances 1079
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 1754
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 4230
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 2222
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 232
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 573
+performance_schema_max_table_instances 556
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 289
+performance_schema_session_connect_attrs_size 512
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "%performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/sizing_off.result b/mysql-test/suite/perfschema/r/sizing_off.result
new file mode 100644
index 00000000000..b4ca7b1b9be
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/sizing_off.result
@@ -0,0 +1,60 @@
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema OFF
+performance_schema_accounts_size -1
+performance_schema_digests_size -1
+performance_schema_events_stages_history_long_size -1
+performance_schema_events_stages_history_size -1
+performance_schema_events_statements_history_long_size -1
+performance_schema_events_statements_history_size -1
+performance_schema_events_waits_history_long_size -1
+performance_schema_events_waits_history_size -1
+performance_schema_hosts_size -1
+performance_schema_max_cond_classes 80
+performance_schema_max_cond_instances -1
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances -1
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances -1
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances -1
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances -1
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles -1
+performance_schema_max_table_instances -1
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances -1
+performance_schema_session_connect_attrs_size -1
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size -1
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/socket_connect.result b/mysql-test/suite/perfschema/r/socket_connect.result
new file mode 100644
index 00000000000..4b77b3e0a82
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/socket_connect.result
@@ -0,0 +1,164 @@
+#==============================================================================
+# Establish the level of IPV6 support
+#==============================================================================
+#==============================================================================
+# Get hostname, port number
+#==============================================================================
+SELECT @@hostname INTO @MY_HOSTNAME;
+SELECT @@port INTO @MY_MASTER_PORT;
+#==============================================================================
+# 1.0 Get the default connection object_instance_begin, thread id and verify
+# the expected number of client connections.
+#==============================================================================
+
+# 1.1 Confirm only one client connection
+
+SELECT COUNT(*) INTO @my_client_connections
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE "%client_connection%";
+
+# 1.2 Get the default THREAD_ID;
+
+SELECT THREAD_ID INTO @my_thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+# 1.3 Get the default OBJECT_INSTANCE_BEGIN
+
+SELECT OBJECT_INSTANCE_BEGIN INTO @my_object_instance_begin
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @my_thread_id;
+#==============================================================================
+# 2.0 ESTABLISH TCP/IP CONNECTION 1
+# Connect with IP = localhost (127.0.0.1 or ::1)
+#==============================================================================
+
+# 2.1 Get the connection thread id
+
+SELECT THREAD_ID INTO @my_thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+# 2.2 Get the connection object instance begin
+
+SELECT OBJECT_INSTANCE_BEGIN INTO @my_object_instance_begin
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @my_thread_id;
+
+# 2.3 Get the connection port
+
+SELECT PORT INTO @my_port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @my_thread_id;
+
+# 2.4 Verify that the connection is 127.0.0.1 or ::1
+
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND (IP LIKE '%127.0.0.1' OR IP LIKE '%::1')
+AND PORT= @con1_port
+AND OBJECT_INSTANCE_BEGIN= @con1_object_id;
+Expect 1
+1
+
+# 2.5 Verify that the same connection is in the summary instance table
+
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN= @con1_object_id;
+Expect 1
+1
+
+# Switch to connection default
+
+#==============================================================================
+# 3.0 ESTABLISH TCP/IP CONNECTION 2
+# Connect with IP = localhost (127.0.0.1 or ::1)
+#==============================================================================
+
+# 3.1 Get the connection thread id
+
+SELECT THREAD_ID INTO @my_thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+# 3.2 Get the connection object instance begin
+
+SELECT OBJECT_INSTANCE_BEGIN INTO @my_object_instance_begin
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @my_thread_id;
+
+# 3.3 Get the connection port
+
+SELECT PORT INTO @my_port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @my_thread_id;
+
+# 3.4 Verify that the connection is 127.0.0.1 or ::1
+
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND (IP LIKE '%127.0.0.1' OR IP LIKE '%::1')
+AND PORT= @con2_port
+AND OBJECT_INSTANCE_BEGIN= @con2_object_id;
+Expect 1
+1
+
+# 3.5 Verify that the same connection is in the summary instance table
+
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN= @con2_object_id;
+Expect 1
+1
+
+# 3.6 Verify that the connection is 127.0.0.1 or ::1
+
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND (IP LIKE '%127.0.0.1' OR IP LIKE '%::1')
+AND PORT= @con2_port
+AND OBJECT_INSTANCE_BEGIN= @con2_object_id;
+Expect 1
+1
+#==============================================================================
+# 4.0 Verify both connections exist in the instance tables
+#==============================================================================
+
+# 4.1 Verify that there are two TCP/IP connections in the socket instance table
+
+SELECT COUNT(*) = 2 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+AND (IP LIKE '%127.0.0.1' OR IP LIKE '%::1');
+Expect 1
+1
+
+# 4.2 Verify that there are two TCP/IP connections in the summary instance table
+
+SELECT COUNT(*) = 2 AS 'Expect 1'
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
+Expect 1
+1
+#==============================================================================
+# 5.0 Drop the client connections
+#==============================================================================
+# 5.1 Disconnect con1
+# 5.2 Disconnect con2
+#==============================================================================
+# 6.0 Verify sockets were removed from the instance tables
+#==============================================================================
+
+# 6.1 Verify that there are no TCP/IP connections in the socket instance table
+
+
+# 6.2 Verify that there are no TCP/IP connections in the summary instance table
+
diff --git a/mysql-test/suite/perfschema/r/socket_instances_func.result b/mysql-test/suite/perfschema/r/socket_instances_func.result
new file mode 100644
index 00000000000..ee1eac73879
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/socket_instances_func.result
@@ -0,0 +1,208 @@
+# Take a snapshot of SOCKET_INSTANCES
+CREATE TEMPORARY TABLE my_socket_instances AS
+SELECT * FROM performance_schema.socket_instances;
+# Get thread id of the default connection
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+# Establish local TCP/IP connection (con1,localhost,root,,test,,)
+# Store the thread id of connection 1 (tcp/ip)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+# Store the port of connection 1 (tcp/ip)
+SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+# Switch to connection default
+# Establish second local TCP/IP connection (con1,localhost,root,,test,,)
+# Store the thread_id of connection 2 (tcp/ip)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+# Store the port of connection 2 (tcp/ip)
+SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+# Switch to connection default
+# Establish local unix domain connection (con3,localhost,root,,test,,)
+# Store the thread id of connection 3 (unix domain)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+# Store the port of connection 3 (unix domain)
+SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+# Switch to connection default
+# EVENT_NAME is the "wait/io/socket/*" instrument identifier.
+SELECT COUNT(*) = 0 AS "Expect 1"
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME NOT LIKE 'wait/io/socket/%';
+Expect 1
+1
+# OBJECT_INSTANCE_BEGIN is an arbitrary identifier, guaranteed to be unique.
+SELECT COUNT(*) = COUNT(DISTINCT OBJECT_INSTANCE_BEGIN) AS "Expect 1"
+FROM performance_schema.socket_instances;
+Expect 1
+1
+# SOCKET_ID is the internal file handle assigned to the socket.
+SELECT COUNT(*) = COUNT(DISTINCT SOCKET_ID) AS "Expect 1"
+FROM performance_schema.socket_instances;
+Expect 1
+1
+# Characteristics per our thread
+# There must be only one entry with our thread_id
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# TCP/IP connections should have a unique port number
+# Connection 1 (tcp/ip)
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE PORT = @port;
+Expect 1
+1
+# Connection 2 (tcp/ip)
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE PORT = @port;
+Expect 1
+1
+# Check the content for the default connection (unix domain)
+SELECT COUNT(*) = 1 as 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/client_connection'
+AND PORT = 0 AND THREAD_ID = @thread_id;
+Expect 1
+1
+# Characteristics of 'server_tcpip_socket' entry
+# Server listening socket, TCP/IP
+# There is only one entry with 'wait/io/socket/sql/server_tcpip_socket'.
+# It shares the same thread id as 'wait/io/socket/sql/server_unix_socket'.
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+Expect 1
+1
+# Get the 'server_tcpip_socket' thread id
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+# Check the content.
+SELECT THREAD_ID = @thread_id
+AND (IP = '0.0.0.0' OR IP = '::')
+AND PORT = @port
+AND STATE = 'ACTIVE' AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+Expect 1
+1
+# Characteristics of 'server_unix_socket' entry
+# Server listening socket, unix domain (socket file)
+# There is only one entry with 'wait/io/socket/sql/server_unix_socket'.
+# It shares the same thread id as 'wait/io/socket/sql/server_tcpip_socket'.
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_unix_socket';
+Expect 1
+1
+# Get the 'server_unix_socket' thread id
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_unix_socket';
+# Check the content.
+SELECT THREAD_ID = @thread_id
+AND IP = ''
+ AND PORT = 0
+AND STATE = 'ACTIVE' AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_unix_socket';
+Expect 1
+1
+# Server listening sockets (TCP and Unix) are handled on the same thread
+SELECT COUNT(*) = 2 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+SELECT COUNT(*) = 2 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+#Compare server listener socket thread ids
+select @match_thread_id;
+@match_thread_id
+1
+# Check content for client connection 1 (tcpip)
+SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1')
+AND PORT = @port
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Characteristics of entries with THREAD_ID of con1
+# There is only one entry with this id.
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Check content for client connection 2 (tcpip)
+SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1')
+AND PORT = @port
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Characteristics of entries with THREAD_ID of con2
+# There is only one entry with this id.
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Check the content for client connection 3 (unix domain).
+SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND IP = ''
+ AND PORT = 0
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Characteristics of entries with THREAD_ID of con3
+# There is only one entry with this id.
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Show differences to socket_instances before con1, con2 and con3 connecting
+SELECT EVENT_NAME, IP
+FROM performance_schema.socket_instances
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE)
+NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE
+FROM my_socket_instances)
+ORDER BY THREAD_ID;
+EVENT_NAME IP
+wait/io/socket/sql/client_connection <LOCALHOST>
+wait/io/socket/sql/client_connection <LOCALHOST>
+wait/io/socket/sql/client_connection
+# Disconnect con1, con2 and con3
+# After waiting a bit we should have no differences to socket_instances
+# before con1, con2, con3 connecting.
+SELECT *
+FROM performance_schema.socket_instances
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE)
+NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE
+FROM my_socket_instances)
+ORDER BY THREAD_ID;
+EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
diff --git a/mysql-test/suite/perfschema/r/socket_instances_func_win.result b/mysql-test/suite/perfschema/r/socket_instances_func_win.result
new file mode 100644
index 00000000000..bb0f43abee3
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/socket_instances_func_win.result
@@ -0,0 +1,144 @@
+# Take a snapshot of SOCKET_INSTANCES
+CREATE TEMPORARY TABLE my_socket_instances AS
+SELECT * FROM performance_schema.socket_instances;
+# Get thread id of the default connection
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+# Establish local TCP/IP connection (con1,localhost,root,,test,,)
+# Store the thread id of connection 1 (tcp/ip)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+# Store the port of connection 1 (tcp/ip)
+SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+# Switch to connection default
+# Establish second local TCP/IP connection (con1,localhost,root,,test,,)
+# Store the thread_id of connection 2 (tcp/ip)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+# Store the port of connection 2 (tcp/ip)
+SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+# Switch to connection default
+# EVENT_NAME is the "wait/io/socket/*" instrument identifier.
+SELECT COUNT(*) = 0 AS "Expect 1"
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME NOT LIKE 'wait/io/socket/%';
+Expect 1
+1
+# OBJECT_INSTANCE_BEGIN is an arbitrary identifier, guaranteed to be unique.
+SELECT COUNT(*) = COUNT(DISTINCT OBJECT_INSTANCE_BEGIN) AS "Expect 1"
+FROM performance_schema.socket_instances;
+Expect 1
+1
+# SOCKET_ID is the internal file handle assigned to the socket.
+SELECT COUNT(*) = COUNT(DISTINCT SOCKET_ID) AS "Expect 1"
+FROM performance_schema.socket_instances;
+Expect 1
+1
+# Characteristics per our thread
+# There must be only one entry with our thread_id
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# TCP/IP connections should have a unique port number
+# Connection 1 (tcp/ip)
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE PORT = @port;
+Expect 1
+1
+# Connection 2 (tcp/ip)
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE PORT = @port;
+Expect 1
+1
+# Check the content for the default connection (tcpip)
+SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1') AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Characteristics of 'server_tcpip_socket' entry
+# Server listening socket, TCP/IP
+# There is only one entry with 'wait/io/socket/sql/server_tcpip_socket'.
+# It shares the same thread id as 'wait/io/socket/sql/server_unix_socket'.
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+Expect 1
+1
+# Get the 'server_tcpip_socket' thread id
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+# Check the content.
+SELECT THREAD_ID = @thread_id
+AND (IP = '0.0.0.0' OR IP = '::')
+AND PORT = @port
+AND STATE = 'ACTIVE' AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+Expect 1
+1
+# Check content for client connection 1 (tcpip)
+SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1')
+AND PORT = @port
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Characteristics of entries with THREAD_ID of con1
+# There is only one entry with this id.
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Check content for client connection 2 (tcpip)
+SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1')
+AND PORT = @port
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Characteristics of entries with THREAD_ID of con2
+# There is only one entry with this id.
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+Expect 1
+1
+# Show differences to socket_instances before con1, con2 and con3 connecting
+SELECT EVENT_NAME, IP
+FROM performance_schema.socket_instances
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE)
+NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE
+FROM my_socket_instances)
+ORDER BY THREAD_ID;
+EVENT_NAME IP
+wait/io/socket/sql/client_connection <LOCALHOST>
+wait/io/socket/sql/client_connection <LOCALHOST>
+# Disconnect con1 and con2
+# After waiting a bit we should have no differences to socket_instances
+# before con1, con2 connecting.
+SELECT *
+FROM performance_schema.socket_instances
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE)
+NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE
+FROM my_socket_instances)
+ORDER BY THREAD_ID;
+EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
diff --git a/mysql-test/suite/perfschema/r/socket_summary_by_event_name_func.result b/mysql-test/suite/perfschema/r/socket_summary_by_event_name_func.result
new file mode 100644
index 00000000000..9cd668c8e7a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/socket_summary_by_event_name_func.result
@@ -0,0 +1,121 @@
+#==============================================================================
+# Establish the level of IPV6 support
+#==============================================================================
+#==============================================================================
+# Get hostname, port number
+#==============================================================================
+SELECT @@hostname INTO @MY_HOSTNAME;
+SELECT @@port INTO @MY_MASTER_PORT;
+#==============================================================================
+# 1.0 TEST INITIALIZATION
+#==============================================================================
+
+# 1.1 Disable instrumentation of the default (this) connection
+
+UPDATE performance_schema.threads
+SET INSTRUMENTED='NO' WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+# 1.2 Get the default THREAD_ID;
+
+SELECT THREAD_ID INTO @my_thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+# 1.3 Get the default OBJECT_INSTANCE_BEGIN
+
+SELECT OBJECT_INSTANCE_BEGIN INTO @my_object_instance_begin
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @my_thread_id;
+
+# 1.4 Create a test database
+
+CREATE SCHEMA mysqltest;
+
+# 1.5 Create a table to store summary values from socket_summary_by_instance
+and socket_summary_by_event_name
+
+CREATE TABLE mysqltest.my_socket_summary AS
+SELECT * FROM performance_schema.socket_summary_by_instance
+WHERE 1 = 0;
+
+# 1.6 Drop object_instance_begin from my_socket_summary
+
+ALTER TABLE mysqltest.my_socket_summary
+DROP COLUMN OBJECT_INSTANCE_BEGIN;
+
+# 1.7 Add an auto_inc column to my_socket_summary
+
+ALTER TABLE mysqltest.my_socket_summary
+ADD COLUMN (n INT AUTO_INCREMENT, PRIMARY KEY(n));
+
+# 1.8 Create test tables
+
+CREATE TABLE mysqltest.t1 (n INT AUTO_INCREMENT, s1 VARCHAR(1024), PRIMARY KEY(n));
+CREATE TABLE mysqltest.t2 (n INT AUTO_INCREMENT, s1 VARCHAR(1024), PRIMARY KEY(n));
+#==============================================================================
+# 2.0 ESTABLISH CLIENT CONNECTIONS
+#==============================================================================
+
+# 2.1 Connection 1 (tcp/ip, 127.0.0.1 or ::1)
+
+
+# 2.2 Connection 2 (localhost or unix domain socket)
+
+#==============================================================================
+# 3.0 RUN THE TESTS
+#==============================================================================
+
+# 3.1 Clear performance schema tables
+
+TRUNCATE performance_schema.socket_summary_by_instance;
+TRUNCATE performance_schema.socket_summary_by_event_name;
+
+# 3.2 Get the 'before' sum of bytes written from socket_summary_by_instance
+for later comparison to the 'after' byte count as a simple confirmation
+that the table was updated.
+
+SELECT sum(SUM_NUMBER_OF_BYTES_WRITE) INTO @my_write_count
+FROM performance_schema.socket_summary_by_instance;
+
+# 3.3 From connection 1, insert one a 1K row of data into t1
+
+USE mysqltest;
+INSERT INTO t1 (s1) VALUES (REPEAT('a', 1024));
+INSERT INTO t1 (s1) SELECT s1 FROM t1;
+
+# 3.4 From connection 2, insert one a 1K row of data into t2
+
+USE mysqltest;
+INSERT INTO t2 (s1) VALUES (REPEAT('a', 1024));
+INSERT INTO t2 (s1) SELECT s1 FROM t2;
+
+# 3.5 Get the 'after' sum of bytes written from socket_summary_by_instance
+
+SELECT sum(SUM_NUMBER_OF_BYTES_WRITE) INTO @my_write_count
+FROM performance_schema.socket_summary_by_instance;
+
+# 3.6 Verify that SUM_NUMBER_OF_BYTES_WRITE increased
+
+
+# socket_summary_by_instance was updated
+
+#==============================================================================
+# 4.0 VERIFY RESULTS
+#==============================================================================
+
+# 4.1 Verify that the totals in socket_summary_by_event_name are
+consistent with totals in socket_summary_by_instance
+
+#==============================================================================
+# 5.0 Clean up
+#==============================================================================
+
+# 5.1 Disconnect con1
+
+
+# 5.2 Disconnect con2
+
+
+# 5.3 Drop mysqltest
+
+DROP DATABASE mysqltest;
diff --git a/mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result b/mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result
new file mode 100644
index 00000000000..21b99360e64
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result
@@ -0,0 +1,207 @@
+# The logging of commands and result sets is mostly disabled.
+# There are some messages which help to observe the progress of the test.
+# In case some check fails
+# - a message about this will be printed
+# - some SQL commands which show the unexpected state will be executed
+# (logging enabled)
+# - the test might abort
+#
+# 0. Check, build or set prequisites
+UPDATE performance_schema.threads
+SET INSTRUMENTED='NO' WHERE PROCESSLIST_ID = CONNECTION_ID();
+# 1. Basic checks
+# 1.1 Check that the entry of the disconnected old default session really
+# disappeared from performance_schema.socket_summary_by_instance.
+TRUNCATE TABLE performance_schema.socket_summary_by_instance;
+# 1.2 Check the base line
+TRUNCATE TABLE mysqltest.my_socket_summary_by_instance;
+# 2. Variations on Connect
+# 2.1 Connect fails because the user is unknown
+# length of user name = 4 character
+# length of default db = 9 character
+ERROR 28000: Access denied for user 'boot'@'localhost' (using password: NO)
+# 2.2 Connect fails because the user is unknown
+# length of user name = 14 character (10 more than in 2.1)
+# length of default db = 9 character
+ERROR 28000: Access denied for user 'boot0123456789'@'localhost' (using password: NO)
+# 2.3 Connect should pass, host = localhost
+# length of user name = 4 character
+# length of default db = 9 character
+# 2.4 Connect should pass, host = localhost
+# length of user name = 4 character
+# length of default db = 14 character (5 more than 2.3)
+# 2.5 Connect should pass, host = localhost
+# length of user name = 10 character
+# length of default db = 9 character
+CREATE USER 'root012345'@'localhost';
+GRANT ALL PRIVILEGES ON *.* TO 'root012345'@'localhost';
+DROP USER 'root012345'@'localhost';
+# 2.6 Connect should pass, host = localhost
+# length of user name = 14 character
+# length of default db = 9 character
+CREATE USER 'root0123456789'@'localhost';
+GRANT ALL PRIVILEGES ON *.* to 'root0123456789'@'localhost';
+DROP USER 'root0123456789'@'localhost';
+# 2.7 Connect should pass, host = my_localhost
+# length of user name = 4 character
+# length of default db = 9 character
+# connection runs through server_tcpip_socket !
+DO 1;
+# 3 Variations on SELECT
+# 3.1 Check a SELECT ending with server sending an error message.
+# Error message is short (unknown table).
+SELECT col2 FROM does_not_exist;
+ERROR 42S02: Table 'mysqltest.does_not_exist' doesn't exist
+# 3.2 SELECT ending with server sending an error message.
+# Now the statement is a bit longer but the error message
+# length does again not depend on statement.
+SELECT col2 FROM does_not_exist WHERE col1 = 0;
+ERROR 42S02: Table 'mysqltest.does_not_exist' doesn't exist
+# 3.3 SELECT ending with server sending an error message.
+# The statement has the same length like in 3.2 but the error
+# message is now different and much longer.
+SELECT col2 FROM does_not_exist WHERE col1 A 0;
+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 'A 0' at line 1
+# 3.4 SELECT ending with server sending an error message.
+# Statement and error message are a bit longer than in 3.1
+# because the table name is longer.
+SELECT col2 FROM does_not_exist0123;
+ERROR 42S02: Table 'mysqltest.does_not_exist0123' doesn't exist
+# 3.5 SELECT earning an empty result set.
+SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1;
+col2
+# 3.6 SELECT earning an empty result set.
+# Short column name is replaced by longer alias.
+SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1;
+my_super_col
+# 3.7 SELECT earning one row with an empty string.
+SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+col2
+
+# 3.8 SELECT earning one row with one string one char long.
+SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2;
+col2
+a
+# 3.9 SELECT earning one row with one string 1024 char long.
+SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3;
+col2
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+# 3.10 SELECT earning two rows with an empty string
+SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2;
+col2
+
+
+# 3.11 Check that the preceding Connects/SQL command runs have not
+# caused some unexpected state.
+# 4. Check delta (value_after_action - value_before_action) details
+# 4.1 Check that
+# - no change in COUNT_* leads to no change in
+# SUM_TIMER_* and no change in SUM_NUMBER_OF_BYTES_*
+# - increased COUNT_READ leads to increased
+# SUM_NUMBER_OF_BYTES_READ
+# - increased COUNT_WRITE leads to increased
+# SUM_NUMBER_OF_BYTES_WRITE
+# Attention:
+# The time required for some action might be below timer resolution.
+# Therefore some increased COUNT_* does not need to lead to an
+# increased SUM_TIMER_*.
+# 4.2 Results must be stable
+# 4.3 Counters must be 0 in client_connection for the default session
+# Instrumenting is disabled since a long time and the counter were
+# reset via TRUNCATE just after the disabling.
+# 4.4 Check the differences caused by SQL statements
+# 4.4.1 There must be no changes in counters of instances
+# NOT LIKE '%client_connection' because everything gets charged
+# into client_connection of the acting connection.
+# 4.4.2 In case of SELECT and our scenarios even COUNT_READ and COUNT_MISC
+# are stable.
+# 4.4.3 In our testing scenarios we get for the client_connection entry
+# of the acting connection
+# -> OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+# COUNT_MISC = 0 AND SUM_TIMER_MISC = 0
+# Check the differences between changes caused by SQL statements
+# These differences must correspond to parameters like
+# - statement, table name or column name length
+# - number of rows in result set, size of rows in result set etc.
+# 4.4.4 Compare impact of statements
+# SELECT col2 FROM does_not_exist WHERE col1 = 0
+# SELECT col2 FROM does_not_exist
+# One statement is longer than the other.
+# Both statements fail with the same error message (table does not exist)
+# 4.4.5 Compare impact of statements
+# SELECT col2 FROM does_not_exist WHERE col1 A 0
+# SELECT col2 FROM does_not_exist WHERE col1 = 0
+# Both statements have the same length and fail.
+# The length of the error messages differs.
+# 4.4.6 Compare impact of statements
+# SELECT col2 FROM does_not_exist0123
+# SELECT col2 FROM does_not_exist
+# Both statements fail (table does not exist).
+# The length of the statement and the length of the error messages differs.
+# Reason for both differences is the length of the table name.
+# 4.4.7 Compare impact of statements
+# SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1
+# Both statements get an empty result set.
+# The length of the statements and the length of the result sets differs.
+# Reason for both differences is the length of the some column name.
+# 4.4.8 Compare impact of statements
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1
+# Both statements differ in the statement length.
+# One statement earns an empty result set.
+# The other statement earns one row containing an empty string.
+# 4.4.9 Compare impact of statements
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns one row containing a string 1 byte long.
+# 4.4.10 Compare impact of statements
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns one row containing a string 1024 byte long.
+# 4.4.11 Compare impact of statements
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns two rows containing an empty string.
+# 4.5 Check the differences caused by Connects
+# Attention: Succesful Connects run an additional "DO 1".
+# 4.5.1 Connects do not charge anything into READ or WRITE counters
+# of the instance with EVENT_NAME NOT LIKE ('%client_connection%').
+# This mean all these counters must be 0.
+# 4.5.2 Connects using for host the value 'localhost'
+# 4.5.2.1 For the instance with EVENT_NAME LIKE '%server_tcpip_socket'
+# COUNT_MISC = 0 AND SUM_TIMER_MISC = 0 must be valid
+# because we run through server_unix_socket.
+# 4.5.2.2 For the instance with EVENT_NAME LIKE '%server_unix_socket'
+# COUNT_MISC > 0 must be valid.
+# 4.5.3 Connects using for host a value <> 'localhost'
+# 4.5.3.1 For the instance with EVENT_NAME LIKE '%server_unix_socket'
+# COUNT_MISC = 0 AND SUM_TIMER_MISC = 0 must be valid
+# because we run through server_tcpip_socket.
+# 4.5.3.2 For the instance with EVENT_NAME LIKE '%server_tcpip_socket'
+# COUNT_MISC > 0 must be valid.
+# 4.5.4 Failing Connects do not cause any row with EVENT_NAME
+# LIKE '%client_connection'
+# 4.5.5 Successful Connects cause a new instance with EVENT_NAME
+# LIKE '%client_connection'
+# 4.6 Check the differences caused by Connects
+# - INSTANCES with an EVENT_NAME like server_tcpip_socket or
+# server_unix_socket are already checked
+# - the stability of results is already checked
+# So we con go with the results of the first run.
+# 4.6.1 The SUM_OF_BYTES_WRITE value is the same for all Connects.
+# 4.6.2 The SUM_OF_BYTES_WRITE value hast to be > 100.
+# 4.6.3 COUNT_READ, COUNT_WRITE and COUNT_MISC have to be to be > 0
+# 4.6.4 Checks based on comparison of results for connects
+# 4.6.4 The user name length affects the SUM_OF_BYTES_READ value
+# 4.6.5 The database name length affects the SUM_OF_BYTES_READ value
+# 5. Check the impact of TRUNCATE on socket_summary_by_instance.
+# It must reset all counters.
+TRUNCATE TABLE performance_schema.socket_summary_by_instance;
+# 6. Cleanup
diff --git a/mysql-test/suite/perfschema/r/socket_summary_by_instance_func_win.result b/mysql-test/suite/perfschema/r/socket_summary_by_instance_func_win.result
new file mode 100644
index 00000000000..2c5a9e9284f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/socket_summary_by_instance_func_win.result
@@ -0,0 +1,208 @@
+# The logging of commands and result sets is mostly disabled.
+# There are some messages which help to observe the progress of the test.
+# In case some check fails
+# - a message about this will be printed
+# - some SQL commands which show the unexpected state will be executed
+# (logging enabled)
+# - the test might abort
+#
+# 0. Check, build or set prequisites
+UPDATE performance_schema.threads
+SET INSTRUMENTED='NO' WHERE PROCESSLIST_ID = CONNECTION_ID();
+# 1. Basic checks
+# 1.1 Check that the entry of the disconnected old default session really
+# disappeared from performance_schema.socket_summary_by_instance.
+TRUNCATE TABLE performance_schema.socket_summary_by_instance;
+# 1.2 Check the base line
+TRUNCATE TABLE mysqltest.my_socket_summary_by_instance;
+# 2. Variations on Connect
+# 2.1 Connect fails because the user is unknown
+# length of user name = 4 character
+# length of default db = 9 character
+ERROR 28000: Access denied for user 'boot'@'localhost' (using password: NO)
+# 2.2 Connect fails because the user is unknown
+# length of user name = 14 character (10 more than in 2.1)
+# length of default db = 9 character
+ERROR 28000: Access denied for user 'boot0123456789'@'localhost' (using password: NO)
+# 2.3 Connect should pass, host = localhost
+# length of user name = 4 character
+# length of default db = 9 character
+# 2.4 Connect should pass, host = localhost
+# length of user name = 4 character
+# length of default db = 14 character (5 more than 2.3)
+# 2.5 Connect should pass, host = localhost
+# length of user name = 10 character
+# length of default db = 9 character
+GRANT ALL PRIVILEGES ON *.* TO 'root012345'@'localhost';
+DROP USER 'root012345'@'localhost';
+# 2.6 Connect should pass, host = localhost
+# length of user name = 14 character
+# length of default db = 9 character
+GRANT ALL PRIVILEGES ON *.* to 'root0123456789'@'localhost';
+DROP USER 'root0123456789'@'localhost';
+# 2.7 Connect should pass, host = my_localhost
+# length of user name = 4 character
+# length of default db = 9 character
+# connection runs through server_tcpip_socket !
+DO 1;
+# 3 Variations on SELECT
+# 3.1 Check a SELECT ending with server sending an error message.
+# Error message is short (unknown table).
+SELECT col2 FROM does_not_exist;
+ERROR 42S02: Table 'mysqltest.does_not_exist' doesn't exist
+# 3.2 SELECT ending with server sending an error message.
+# Now the statement is a bit longer but the error message
+# length does again not depend on statement.
+SELECT col2 FROM does_not_exist WHERE col1 = 0;
+ERROR 42S02: Table 'mysqltest.does_not_exist' doesn't exist
+# 3.3 SELECT ending with server sending an error message.
+# The statement has the same length like in 3.2 but the error
+# message is now different and much longer.
+SELECT col2 FROM does_not_exist WHERE col1 A 0;
+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 'A 0' at line 1
+# 3.4 SELECT ending with server sending an error message.
+# Statement and error message are a bit longer than in 3.1
+# because the table name is longer.
+SELECT col2 FROM does_not_exist0123;
+ERROR 42S02: Table 'mysqltest.does_not_exist0123' doesn't exist
+# 3.5 SELECT earning an empty result set.
+SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1;
+col2
+# 3.6 SELECT earning an empty result set.
+# Short column name is replaced by longer alias.
+SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1;
+my_super_col
+# 3.7 SELECT earning one row with an empty string.
+SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+col2
+
+# 3.8 SELECT earning one row with one string one char long.
+SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2;
+col2
+a
+# 3.9 SELECT earning one row with one string 1024 char long.
+SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3;
+col2
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+# 3.10 SELECT earning two rows with an empty string
+SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2;
+col2
+
+
+# 3.11 Check that the preceding Connects/SQL command runs have not
+# caused some unexpected state.
+# 4. Check delta (value_after_action - value_before_action) details
+# 4.1 Check that
+# - no change in COUNT_* leads to no change in
+# SUM_TIMER_* and no change in SUM_NUMBER_OF_BYTES_*
+# - increased COUNT_READ leads to increased
+# SUM_NUMBER_OF_BYTES_READ
+# - increased COUNT_WRITE leads to increased
+# SUM_NUMBER_OF_BYTES_WRITE
+# Attention:
+# The time required for some action might be below timer resolution.
+# Therefore some increased COUNT_* does not need to lead to an
+# increased SUM_TIMER_*.
+# 4.2 Results must be stable
+# 4.3 Counters must be 0 in client_connection for the default session
+# Instrumenting is disabled since a long time and the counter were
+# reset via TRUNCATE just after the disabling.
+# 4.4 Check the differences caused by SQL statements
+# 4.4.1 There must be no changes in counters of instances
+# NOT LIKE '%client_connection' because everything gets charged
+# into client_connection of the acting connection.
+# 4.4.2 In case of SELECT and our scenarios even COUNT_READ and COUNT_MISC
+# are stable.
+# 4.4.3 In our testing scenarios we get for the client_connection entry
+# of the acting connection
+# -> OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+# COUNT_MISC = 0 AND SUM_TIMER_MISC = 0
+# SKIPPED FOR WINDOWS
+# Check the differences between changes caused by SQL statements
+# These differences must correspond to parameters like
+# - statement, table name or column name length
+# - number of rows in result set, size of rows in result set etc.
+# 4.4.4 Compare impact of statements
+# SELECT col2 FROM does_not_exist WHERE col1 = 0
+# SELECT col2 FROM does_not_exist
+# One statement is longer than the other.
+# Both statements fail with the same error message (table does not exist)
+# 4.4.5 Compare impact of statements
+# SELECT col2 FROM does_not_exist WHERE col1 A 0
+# SELECT col2 FROM does_not_exist WHERE col1 = 0
+# Both statements have the same length and fail.
+# The length of the error messages differs.
+# 4.4.6 Compare impact of statements
+# SELECT col2 FROM does_not_exist0123
+# SELECT col2 FROM does_not_exist
+# Both statements fail (table does not exist).
+# The length of the statement and the length of the error messages differs.
+# Reason for both differences is the length of the table name.
+# 4.4.7 Compare impact of statements
+# SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1
+# Both statements get an empty result set.
+# The length of the statements and the length of the result sets differs.
+# Reason for both differences is the length of the some column name.
+# 4.4.8 Compare impact of statements
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1
+# Both statements differ in the statement length.
+# One statement earns an empty result set.
+# The other statement earns one row containing an empty string.
+# 4.4.9 Compare impact of statements
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns one row containing a string 1 byte long.
+# 4.4.10 Compare impact of statements
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns one row containing a string 1024 byte long.
+# 4.4.11 Compare impact of statements
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2
+# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns two rows containing an empty string.
+# 4.5 Check the differences caused by Connects
+# Attention: Succesful Connects run an additional "DO 1".
+# 4.5.1 Connects do not charge anything into READ or WRITE counters
+# of the instance with EVENT_NAME NOT LIKE ('%client_connection%').
+# This mean all these counters must be 0.
+# 4.5.2 Connects using for host the value 'localhost'
+# 4.5.2.1 For the instance with EVENT_NAME LIKE '%server_tcpip_socket'
+# COUNT_MISC = 0 AND SUM_TIMER_MISC = 0 must be valid
+# because we run through server_unix_socket.
+# 4.5.2.2 For the instance with EVENT_NAME LIKE '%server_unix_socket'
+# COUNT_MISC > 0 must be valid.
+# SKIPPED FOR WINDOWS
+# 4.5.3 Connects using for host a value <> 'localhost'
+# 4.5.3.1 For the instance with EVENT_NAME LIKE '%server_unix_socket'
+# COUNT_MISC = 0 AND SUM_TIMER_MISC = 0 must be valid
+# because we run through server_tcpip_socket.
+# SKIPPED FOR WINDOWS
+# 4.5.3.2 For the instance with EVENT_NAME LIKE '%server_tcpip_socket'
+# COUNT_MISC > 0 must be valid.
+# 4.5.4 Failing Connects do not cause any row with EVENT_NAME
+# LIKE '%client_connection'
+# 4.5.5 Successful Connects cause a new instance with EVENT_NAME
+# LIKE '%client_connection'
+# 4.6 Check the differences caused by Connects
+# - INSTANCES with an EVENT_NAME like server_tcpip_socket or
+# server_unix_socket are already checked
+# - the stability of results is already checked
+# So we con go with the results of the first run.
+# 4.6.1 The SUM_OF_BYTES_WRITE value is the same for all Connects.
+# 4.6.2 The SUM_OF_BYTES_WRITE value hast to be > 100.
+# 4.6.3 COUNT_READ, COUNT_WRITE and COUNT_MISC have to be to be > 0
+# 4.6.4 Checks based on comparison of results for connects
+# 4.6.4 The user name length affects the SUM_OF_BYTES_READ value
+# 4.6.5 The database name length affects the SUM_OF_BYTES_READ value
+# 5. Check the impact of TRUNCATE on socket_summary_by_instance.
+# It must reset all counters.
+TRUNCATE TABLE performance_schema.socket_summary_by_instance;
+# 6. Cleanup
diff --git a/mysql-test/suite/perfschema/r/stage_mdl_function.result b/mysql-test/suite/perfschema/r/stage_mdl_function.result
new file mode 100644
index 00000000000..098ff4f2132
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/stage_mdl_function.result
@@ -0,0 +1,34 @@
+drop function if exists test.f1;
+create function test.f1() returns int
+return 1;
+begin;
+select test.f1();
+test.f1()
+1
+drop function test.f1;
+call dump_one_thread('user1');
+username event_name sql_text
+user1 statement/sql/select select test.f1()
+username event_name nesting_event_type
+username event_name nesting_event_type
+user1 stage/sql/executing STATEMENT
+user1 stage/sql/Opening tables STATEMENT
+user1 stage/sql/After opening tables STATEMENT
+user1 stage/sql/closing tables STATEMENT
+user1 stage/sql/end STATEMENT
+user1 stage/sql/query end STATEMENT
+user1 stage/sql/closing tables STATEMENT
+user1 stage/sql/Unlocking tables STATEMENT
+user1 stage/sql/freeing items STATEMENT
+user1 stage/sql/cleaning up STATEMENT
+call dump_one_thread('user2');
+username event_name sql_text
+user2 statement/sql/drop_function drop function test.f1
+username event_name nesting_event_type
+user2 stage/sql/Waiting for stored function metadata lock STATEMENT
+username event_name nesting_event_type
+user2 stage/sql/init STATEMENT
+select f1();
+f1()
+1
+commit;
diff --git a/mysql-test/suite/perfschema/r/stage_mdl_global.result b/mysql-test/suite/perfschema/r/stage_mdl_global.result
new file mode 100644
index 00000000000..b476689338e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/stage_mdl_global.result
@@ -0,0 +1,25 @@
+flush tables with read lock;
+insert into test.t1 values (1), (2), (3);
+call dump_one_thread('user1');
+username event_name sql_text
+user1 statement/sql/flush flush tables with read lock
+username event_name nesting_event_type
+username event_name nesting_event_type
+user1 stage/sql/init STATEMENT
+user1 stage/sql/init STATEMENT
+user1 stage/sql/Waiting for query cache lock STATEMENT
+user1 stage/sql/init STATEMENT
+user1 stage/sql/query end STATEMENT
+user1 stage/sql/closing tables STATEMENT
+user1 stage/sql/freeing items STATEMENT
+user1 stage/sql/cleaning up STATEMENT
+call dump_one_thread('user2');
+username event_name sql_text
+user2 statement/sql/insert insert into test.t1 values (1), (2), (3)
+username event_name nesting_event_type
+user2 stage/sql/Waiting for global read lock STATEMENT
+username event_name nesting_event_type
+user2 stage/sql/init STATEMENT
+user2 stage/sql/checking permissions STATEMENT
+user2 stage/sql/Opening tables STATEMENT
+unlock tables;
diff --git a/mysql-test/suite/perfschema/r/stage_mdl_procedure.result b/mysql-test/suite/perfschema/r/stage_mdl_procedure.result
new file mode 100644
index 00000000000..1eeae4fc4fa
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/stage_mdl_procedure.result
@@ -0,0 +1,42 @@
+drop function if exists test.f1;
+drop procedure if exists test.p1;
+create function test.f1() returns int
+begin
+call test.p1();
+return 1;
+end
+$$
+create procedure test.p1()
+begin end;
+begin;
+select test.f1();
+test.f1()
+1
+drop procedure test.p1;
+call dump_one_thread('user1');
+username event_name sql_text
+user1 statement/sql/select select test.f1()
+username event_name nesting_event_type
+username event_name nesting_event_type
+user1 stage/sql/closing tables STATEMENT
+user1 stage/sql/Opening tables STATEMENT
+user1 stage/sql/After opening tables STATEMENT
+user1 stage/sql/closing tables STATEMENT
+user1 stage/sql/end STATEMENT
+user1 stage/sql/query end STATEMENT
+user1 stage/sql/closing tables STATEMENT
+user1 stage/sql/Unlocking tables STATEMENT
+user1 stage/sql/freeing items STATEMENT
+user1 stage/sql/cleaning up STATEMENT
+call dump_one_thread('user2');
+username event_name sql_text
+user2 statement/sql/drop_procedure drop procedure test.p1
+username event_name nesting_event_type
+user2 stage/sql/Waiting for stored procedure metadata lock STATEMENT
+username event_name nesting_event_type
+user2 stage/sql/init STATEMENT
+select test.f1();
+test.f1()
+1
+commit;
+drop function test.f1;
diff --git a/mysql-test/suite/perfschema/r/stage_mdl_table.result b/mysql-test/suite/perfschema/r/stage_mdl_table.result
new file mode 100644
index 00000000000..0699c28ac47
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/stage_mdl_table.result
@@ -0,0 +1,41 @@
+begin;
+insert into test.t1 values (1), (2), (3);
+commit;
+begin;
+select * from test.t1 for update;
+a
+1
+2
+3
+alter table test.t1 add column (b int);
+call dump_one_thread('user1');
+username event_name sql_text
+user1 statement/sql/select select * from test.t1 for update
+username event_name nesting_event_type
+username event_name nesting_event_type
+user1 stage/sql/statistics STATEMENT
+user1 stage/sql/preparing STATEMENT
+user1 stage/sql/executing STATEMENT
+user1 stage/sql/Sending data STATEMENT
+user1 stage/sql/end STATEMENT
+user1 stage/sql/query end STATEMENT
+user1 stage/sql/closing tables STATEMENT
+user1 stage/sql/Unlocking tables STATEMENT
+user1 stage/sql/freeing items STATEMENT
+user1 stage/sql/cleaning up STATEMENT
+call dump_one_thread('user2');
+username event_name sql_text
+user2 statement/sql/alter_table alter table test.t1 add column (b int)
+username event_name nesting_event_type
+user2 stage/sql/Waiting for table metadata lock STATEMENT
+username event_name nesting_event_type
+user2 stage/sql/init STATEMENT
+user2 stage/sql/checking permissions STATEMENT
+user2 stage/sql/checking permissions STATEMENT
+user2 stage/sql/init STATEMENT
+user2 stage/sql/Opening tables STATEMENT
+user2 stage/sql/After opening tables STATEMENT
+user2 stage/sql/setup STATEMENT
+user2 stage/sql/creating table STATEMENT
+user2 stage/sql/After create STATEMENT
+commit;
diff --git a/mysql-test/suite/perfschema/r/start_server_1_digest.result b/mysql-test/suite/perfschema/r/start_server_1_digest.result
new file mode 100644
index 00000000000..cf07022d344
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_1_digest.result
@@ -0,0 +1,7 @@
+SELECT "Digest table has a size 1 and is full already." as use_case;
+use_case
+Digest table has a size 1 and is full already.
+select SCHEMA_NAME, DIGEST, DIGEST_TEXT
+from performance_schema.events_statements_summary_by_digest;
+SCHEMA_NAME DIGEST DIGEST_TEXT
+NULL NULL NULL
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_idle.result b/mysql-test/suite/perfschema/r/start_server_disable_idle.result
new file mode 100644
index 00000000000..382824458a0
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_disable_idle.result
@@ -0,0 +1,126 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+select * from performance_schema.setup_instruments
+where name like "idle" and enabled='YES';
+NAME ENABLED TIMED
+select * from performance_schema.events_waits_summary_global_by_event_name
+where event_name like "idle" and count_star > 0;
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_thread_by_event_name
+where event_name like "idle" and count_star > 0;
+THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_user_by_event_name
+where event_name like "idle" and count_star > 0;
+USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_host_by_event_name
+where event_name like "idle" and count_star > 0;
+HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_account_by_event_name
+where event_name like "idle" and count_star > 0;
+USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_stages.result b/mysql-test/suite/perfschema/r/start_server_disable_stages.result
new file mode 100644
index 00000000000..6fae8be810f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_disable_stages.result
@@ -0,0 +1,126 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+select * from performance_schema.setup_instruments
+where name like "stage/%" and enabled='YES';
+NAME ENABLED TIMED
+select * from performance_schema.events_stages_summary_global_by_event_name
+where count_star > 0;
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_stages_summary_by_thread_by_event_name
+where count_star > 0;
+THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_stages_summary_by_user_by_event_name
+where count_star > 0;
+USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_stages_summary_by_host_by_event_name
+where count_star > 0;
+HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_stages_summary_by_account_by_event_name
+where count_star > 0;
+USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_statements.result b/mysql-test/suite/perfschema/r/start_server_disable_statements.result
new file mode 100644
index 00000000000..ff9c6f93268
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_disable_statements.result
@@ -0,0 +1,126 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+select * from performance_schema.setup_instruments
+where name like "statement/%" and enabled='YES';
+NAME ENABLED TIMED
+select * from performance_schema.events_statements_summary_global_by_event_name
+where count_star > 0;
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
+select * from performance_schema.events_statements_summary_by_thread_by_event_name
+where count_star > 0;
+THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
+select * from performance_schema.events_statements_summary_by_user_by_event_name
+where count_star > 0;
+USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
+select * from performance_schema.events_statements_summary_by_host_by_event_name
+where count_star > 0;
+HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
+select * from performance_schema.events_statements_summary_by_account_by_event_name
+where count_star > 0;
+USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_waits.result b/mysql-test/suite/perfschema/r/start_server_disable_waits.result
new file mode 100644
index 00000000000..38e1f59cd39
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_disable_waits.result
@@ -0,0 +1,126 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+select * from performance_schema.setup_instruments
+where name like "wait/%" and enabled='YES';
+NAME ENABLED TIMED
+select * from performance_schema.events_waits_summary_global_by_event_name
+where event_name like "wait/%" and count_star > 0;
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_thread_by_event_name
+where event_name like "wait/%" and count_star > 0;
+THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_user_by_event_name
+where event_name like "wait/%" and count_star > 0;
+USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_host_by_event_name
+where event_name like "wait/%" and count_star > 0;
+HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_account_by_event_name
+where event_name like "wait/%" and count_star > 0;
+USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
diff --git a/mysql-test/suite/perfschema/r/start_server_innodb.result b/mysql-test/suite/perfschema/r/start_server_innodb.result
new file mode 100644
index 00000000000..a270b4a6320
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_innodb.result
@@ -0,0 +1,133 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/start_server_low_digest.result b/mysql-test/suite/perfschema/r/start_server_low_digest.result
new file mode 100644
index 00000000000..6fc41fbb715
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_low_digest.result
@@ -0,0 +1,12 @@
+USE performance_schema;
+truncate table events_statements_history_long;
+SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1;
+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
+74
+####################################
+# QUERYING PS STATEMENT DIGEST
+####################################
+SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long;
+event_name digest digest_text sql_text
+statement/sql/truncate 6206ac02a54d832f55015e480e6f2213 TRUNCATE TABLE truncate table events_statements_history_long
+statement/sql/select 4cc1c447d79877c4e8df0423fd0cde9a SELECT ? + ? + SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
diff --git a/mysql-test/suite/perfschema/r/start_server_no_account.result b/mysql-test/suite/perfschema/r/start_server_no_account.result
new file mode 100644
index 00000000000..05d67d88a8b
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_account.result
@@ -0,0 +1,118 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 0
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_accounts_size";
+Variable_name Value
+performance_schema_accounts_size 0
+select count(*) from performance_schema.accounts;
+count(*)
+0
+select variable_value > 0 from information_schema.global_status
+where variable_name like 'PERFORMANCE_SCHEMA_ACCOUNTS_LOST';
+variable_value > 0
+1
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 f32ffe327a2..574c8d4173b 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_cond_classes";
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 ef853ccc710..ea5c7a69125 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 0
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_cond_classes";
diff --git a/mysql-test/suite/perfschema/r/start_server_no_digests.result b/mysql-test/suite/perfschema/r/start_server_no_digests.result
new file mode 100644
index 00000000000..e4b389716a9
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_digests.result
@@ -0,0 +1,132 @@
+####################################
+# SETUP
+####################################
+CREATE DATABASE statements_digest;
+USE statements_digest;
+CREATE TABLE t1(a int);
+CREATE TABLE t2(a int);
+CREATE TABLE t3(a int, b int);
+CREATE TABLE t4(a int, b int);
+CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
+CREATE TABLE t11 (c CHAR(4));
+CREATE TABLE t12 (c CHAR(4));
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+####################################
+# EXECUTION
+####################################
+SELECT 1 FROM t1;
+1
+SELECT 1 FROM `t1`;
+1
+SELECT 1,2 FROM t1;
+1 2
+SELECT 1, 2, 3, 4 FROM t1;
+1 2 3 4
+SELECT 1 FROM t2;
+1
+SELECT 1,2 FROM t2;
+1 2
+SELECT 1, 2, 3, 4 FROM t2;
+1 2 3 4
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t3 VALUES (1, 2);
+INSERT INTO t4 VALUES (1, 2);
+INSERT INTO t5 VALUES (1, 2, 3);
+INSERT INTO t1 VALUES (1), (2), (3);
+INSERT INTO t1 VALUES (1), (2), (3), (4);
+INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
+INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
+SELECT 1 + 1;
+1 + 1
+2
+SELECT 1;
+1
+1
+SELECT 1 /* This is an inline comment */ + 1;
+1 /* This is an inline comment */ + 1
+2
+SELECT 1+
+/*
+this is a
+multiple-line comment
+*/
+1;
+1+
+/*
+this is a
+multiple-line comment
+*/
+1
+2
+CREATE SCHEMA statements_digest_temp;
+DROP SCHEMA statements_digest_temp;
+CREATE DATABASE statements_digest_temp;
+DROP DATABASE statements_digest_temp;
+SELECT 1 FROM no_such_table;
+ERROR 42S02: Table 'statements_digest.no_such_table' doesn't exist
+CREATE TABLE dup_table (c char(4));
+CREATE TABLE dup_table (c char(4));
+ERROR 42S01: Table 'dup_table' already exists
+DROP TABLE dup_table;
+INSERT INTO t11 VALUES("MySQL");
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+PREPARE stmt FROM "SELECT * FROM t12";
+EXECUTE stmt;
+c
+EXECUTE stmt;
+c
+DEALLOCATE PREPARE stmt;
+CREATE PROCEDURE p1() BEGIN SELECT * FROM t12; END//
+CALL p1();
+c
+CALL p1();
+c
+DROP PROCEDURE p1;
+CREATE FUNCTION `func`(a INT, b INT) RETURNS int(11) RETURN a+b //
+select func(3,4);
+func(3,4)
+7
+select func(13,42);
+func(13,42)
+55
+DROP FUNCTION func;
+CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @a:=1;
+INSERT INTO t12 VALUES ("abc");
+INSERT INTO t12 VALUES ("def");
+DROP TRIGGER trg;
+####################################
+# QUERYING PS STATEMENT DIGEST
+####################################
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
+SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
+SCHEMA_NAME DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
+SHOW VARIABLES LIKE "performance_schema_digests_size";
+Variable_name Value
+performance_schema_digests_size 0
+SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest;
+COUNT(*)
+0
+####################################
+# CLEANUP
+####################################
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+DROP TABLE IF EXISTS t4;
+DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
+DROP TABLE IF EXISTS t11;
+DROP TABLE IF EXISTS t12;
+DROP DATABASE IF EXISTS statements_digest;
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 bafb4cac270..0f93054bfd4 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_file_classes";
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 2e557e5510a..71004d68f5e 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 0
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_file_classes";
diff --git a/mysql-test/suite/perfschema/r/start_server_no_host.result b/mysql-test/suite/perfschema/r/start_server_no_host.result
new file mode 100644
index 00000000000..329f74a4fff
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_host.result
@@ -0,0 +1,118 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_hosts_size";
+Variable_name Value
+performance_schema_hosts_size 0
+select count(*) from performance_schema.hosts;
+count(*)
+0
+select variable_value > 0 from information_schema.global_status
+where variable_name like 'PERFORMANCE_SCHEMA_HOSTS_LOST';
+variable_value > 0
+1
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 b6d359ae5d2..cda2719cc37 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 0
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_mutex_classes";
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 190d58378ac..0ea5fe44521 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
performance_schema_max_mutex_instances 0
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_mutex_classes";
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 b27159828f6..29a17e6a3ac 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
+performance_schema_max_mutex_instances 5000
performance_schema_max_rwlock_classes 0
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_rwlock_classes";
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 7466235c42f..8b214077f37 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
@@ -10,53 +10,105 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
performance_schema_max_rwlock_instances 0
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_rwlock_classes";
Variable_name Value
-performance_schema_max_rwlock_classes 30
+performance_schema_max_rwlock_classes 40
select count(*) > 0 from performance_schema.setup_instruments
where name like "wait/synch/rwlock/%";
count(*) > 0
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
new file mode 100644
index 00000000000..3a0588d616d
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
@@ -0,0 +1,114 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 0
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_setup_actors_size";
+Variable_name Value
+performance_schema_setup_actors_size 0
+select count(*) from performance_schema.setup_actors;
+count(*)
+0
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
new file mode 100644
index 00000000000..89763379b99
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
@@ -0,0 +1,114 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 0
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_setup_objects_size";
+Variable_name Value
+performance_schema_setup_objects_size 0
+select count(*) from performance_schema.setup_objects;
+count(*)
+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
new file mode 100644
index 00000000000..0b14c6caf15
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_socket_class.result
@@ -0,0 +1,125 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 0
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_max_socket_classes";
+Variable_name Value
+performance_schema_max_socket_classes 0
+select count(*) from performance_schema.setup_instruments
+where name like "wait/io/socket/%";
+count(*)
+0
+select variable_value > 0 from information_schema.global_status
+where variable_name like 'PERFORMANCE_SCHEMA_SOCKET_CLASSES_LOST';
+variable_value > 0
+1
+select count(*) from performance_schema.socket_instances;
+count(*)
+0
+show status like "performance_schema_socket_instances_lost";
+Variable_name Value
+Performance_schema_socket_instances_lost 0
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
new file mode 100644
index 00000000000..599e09f6c99
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
@@ -0,0 +1,128 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 0
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_max_socket_classes";
+Variable_name Value
+performance_schema_max_socket_classes 10
+select count(*) > 0 from performance_schema.setup_instruments
+where name like "wait/io/socket/%";
+count(*) > 0
+1
+show status like "performance_schema_socket_classes_lost";
+Variable_name Value
+Performance_schema_socket_classes_lost 0
+show variables like "performance_schema_max_socket_instances";
+Variable_name Value
+performance_schema_max_socket_instances 0
+select count(*) from performance_schema.socket_instances;
+count(*)
+0
+select variable_value > 0 from information_schema.global_status
+where variable_name like 'PERFORMANCE_SCHEMA_SOCKET_INSTANCES_LOST';
+variable_value > 0
+1
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
new file mode 100644
index 00000000000..1d53efc500c
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_stage_class.result
@@ -0,0 +1,134 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 0
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_max_stage_classes";
+Variable_name Value
+performance_schema_max_stage_classes 0
+select count(*) from performance_schema.setup_instruments
+where name like "stage/%";
+count(*)
+0
+select variable_value > 0 from information_schema.global_status
+where variable_name like 'PERFORMANCE_SCHEMA_STAGE_CLASSES_LOST';
+variable_value > 0
+1
+select count(*) from performance_schema.events_stages_current;
+count(*)
+0
+select count(*) from performance_schema.events_stages_history;
+count(*)
+0
+select count(*) from performance_schema.events_stages_history_long;
+count(*)
+0
+select count(*) from performance_schema.events_stages_summary_by_thread_by_event_name;
+count(*)
+0
+select count(*) from performance_schema.events_stages_summary_global_by_event_name;
+count(*)
+0
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
new file mode 100644
index 00000000000..370ec61ff67
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_stages_history.result
@@ -0,0 +1,115 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 0
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_events_stages_history_size";
+Variable_name Value
+performance_schema_events_stages_history_size 0
+select count(*) from performance_schema.events_stages_history;
+count(*)
+0
+truncate table performance_schema.events_stages_history;
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
new file mode 100644
index 00000000000..d8018e0ba44
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
@@ -0,0 +1,115 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 0
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_events_stages_history_long_size";
+Variable_name Value
+performance_schema_events_stages_history_long_size 0
+select count(*) from performance_schema.events_stages_history_long;
+count(*)
+0
+truncate table performance_schema.events_stages_history_long;
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
new file mode 100644
index 00000000000..a617e7edb0a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_statement_class.result
@@ -0,0 +1,134 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_max_statement_classes";
+Variable_name Value
+performance_schema_max_statement_classes 0
+select count(*) from performance_schema.setup_instruments
+where name like "statement/%";
+count(*)
+0
+select variable_value > 0 from information_schema.global_status
+where variable_name like 'PERFORMANCE_SCHEMA_STATEMENT_CLASSES_LOST';
+variable_value > 0
+1
+select count(*) from performance_schema.events_statements_current;
+count(*)
+0
+select count(*) from performance_schema.events_statements_history;
+count(*)
+0
+select count(*) from performance_schema.events_statements_history_long;
+count(*)
+0
+select count(*) from performance_schema.events_statements_summary_by_thread_by_event_name;
+count(*)
+0
+select count(*) from performance_schema.events_statements_summary_global_by_event_name;
+count(*)
+0
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
new file mode 100644
index 00000000000..8d196aa9a4a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_statements_history.result
@@ -0,0 +1,115 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 0
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_events_statements_history_size";
+Variable_name Value
+performance_schema_events_statements_history_size 0
+select count(*) from performance_schema.events_statements_history;
+count(*)
+0
+truncate table performance_schema.events_statements_history;
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
new file mode 100644
index 00000000000..360e8db910b
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
@@ -0,0 +1,115 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 0
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_events_statements_history_long_size";
+Variable_name Value
+performance_schema_events_statements_history_long_size 0
+select count(*) from performance_schema.events_statements_history_long;
+count(*)
+0
+truncate table performance_schema.events_statements_history_long;
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
new file mode 100644
index 00000000000..01b7233582e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
@@ -0,0 +1,130 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 0
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_max_table_instances";
+Variable_name Value
+performance_schema_max_table_instances 500
+show variables like "performance_schema_max_table_handles";
+Variable_name Value
+performance_schema_max_table_handles 0
+drop table if exists test.instrument_me;
+create table test.instrument_me(a int);
+insert into test.instrument_me values (1), (2), (3);
+select * from test.instrument_me;
+a
+1
+2
+3
+drop table test.instrument_me;
+show variables like "performance_schema_max_table_instances";
+Variable_name Value
+performance_schema_max_table_instances 500
+select variable_value > 0 from information_schema.global_status
+where variable_name like 'PERFORMANCE_SCHEMA_TABLE_HANDLES_LOST';
+variable_value > 0
+1
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
new file mode 100644
index 00000000000..5608c324321
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_table_inst.result
@@ -0,0 +1,130 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 0
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_max_table_instances";
+Variable_name Value
+performance_schema_max_table_instances 0
+show variables like "performance_schema_max_table_handles";
+Variable_name Value
+performance_schema_max_table_handles 1000
+drop table if exists test.instrument_me;
+create table test.instrument_me(a int);
+insert into test.instrument_me values (1), (2), (3);
+select * from test.instrument_me;
+a
+1
+2
+3
+drop table test.instrument_me;
+select variable_value > 0 from information_schema.global_status
+where variable_name like 'PERFORMANCE_SCHEMA_TABLE_INSTANCES_LOST';
+variable_value > 0
+1
+show status like "performance_schema_table_handles_lost";
+Variable_name Value
+Performance_schema_table_handles_lost 0
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 075c22bc405..b1a7758a9d8 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 0
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_thread_classes";
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 763b5b69ca1..ad0353589ad 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
performance_schema_max_thread_instances 0
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_max_thread_classes";
diff --git a/mysql-test/suite/perfschema/r/start_server_no_user.result b/mysql-test/suite/perfschema/r/start_server_no_user.result
new file mode 100644
index 00000000000..2e1c097e28b
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/start_server_no_user.result
@@ -0,0 +1,118 @@
+show databases;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+select count(*) from performance_schema.performance_timers;
+count(*)
+5
+select count(*) from performance_schema.setup_consumers;
+count(*)
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
+1
+select count(*) from performance_schema.setup_timers;
+count(*)
+4
+select * from performance_schema.accounts;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
+select * from performance_schema.threads;
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 0
+show engine PERFORMANCE_SCHEMA status;
+show status like "performance_schema%";
+show variables like "performance_schema_users_size";
+Variable_name Value
+performance_schema_users_size 0
+select count(*) from performance_schema.users;
+count(*)
+0
+select variable_value > 0 from information_schema.global_status
+where variable_name like 'PERFORMANCE_SCHEMA_USERS_LOST';
+variable_value > 0
+1
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 e89b15e524a..a3a9cbeee11 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_events_waits_history_size";
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 98172539625..e5465aa6bbb 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
@@ -10,48 +10,100 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema_events_waits_history_long_size";
diff --git a/mysql-test/suite/perfschema/r/start_server_nothing.result b/mysql-test/suite/perfschema/r/start_server_nothing.result
index 0933b18306b..d28eed31e7d 100644
--- a/mysql-test/suite/perfschema/r/start_server_nothing.result
+++ b/mysql-test/suite/perfschema/r/start_server_nothing.result
@@ -10,37 +10,82 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
0
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 0
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 0
+performance_schema_events_stages_history_size 0
+performance_schema_events_statements_history_long_size 0
+performance_schema_events_statements_history_size 0
performance_schema_events_waits_history_long_size 0
performance_schema_events_waits_history_size 0
+performance_schema_hosts_size 0
performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 0
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0
performance_schema_max_file_handles 0
performance_schema_max_file_instances 0
@@ -48,19 +93,34 @@ performance_schema_max_mutex_classes 0
performance_schema_max_mutex_instances 0
performance_schema_max_rwlock_classes 0
performance_schema_max_rwlock_instances 0
-performance_schema_max_table_handles 1000
-performance_schema_max_table_instances 500
+performance_schema_max_socket_classes 0
+performance_schema_max_socket_instances 0
+performance_schema_max_stage_classes 0
+performance_schema_max_table_handles 0
+performance_schema_max_table_instances 0
performance_schema_max_thread_classes 0
performance_schema_max_thread_instances 0
+performance_schema_session_connect_attrs_size 0
+performance_schema_setup_actors_size 0
+performance_schema_setup_objects_size 0
+performance_schema_users_size 0
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 0
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 0
+performance_schema_events_stages_history_size 0
+performance_schema_events_statements_history_long_size 0
+performance_schema_events_statements_history_size 0
performance_schema_events_waits_history_long_size 0
performance_schema_events_waits_history_size 0
+performance_schema_hosts_size 0
performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 0
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0
performance_schema_max_file_handles 0
performance_schema_max_file_instances 0
@@ -68,12 +128,23 @@ performance_schema_max_mutex_classes 0
performance_schema_max_mutex_instances 0
performance_schema_max_rwlock_classes 0
performance_schema_max_rwlock_instances 0
-performance_schema_max_table_handles 1000
-performance_schema_max_table_instances 500
+performance_schema_max_socket_classes 0
+performance_schema_max_socket_instances 0
+performance_schema_max_stage_classes 0
+performance_schema_max_statement_classes 0
+performance_schema_max_table_handles 0
+performance_schema_max_table_instances 0
performance_schema_max_thread_classes 0
performance_schema_max_thread_instances 0
+performance_schema_session_connect_attrs_size 0
+performance_schema_setup_actors_size 0
+performance_schema_setup_objects_size 0
+performance_schema_users_size 0
select * from performance_schema.setup_instruments;
NAME ENABLED TIMED
+wait/io/table/sql/handler YES YES
+wait/lock/table/sql/handler YES YES
+idle YES YES
select TIMER_NAME from performance_schema.performance_timers;
TIMER_NAME
CYCLE
@@ -83,40 +154,110 @@ MILLISECOND
TICK
select * from performance_schema.setup_consumers;
NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
events_waits_current YES
events_waits_history YES
events_waits_history_long YES
-events_waits_summary_by_thread_by_event_name YES
-events_waits_summary_by_event_name YES
-events_waits_summary_by_instance YES
-file_summary_by_event_name YES
-file_summary_by_instance YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
select NAME from performance_schema.setup_timers;
NAME
+idle
wait
+stage
+statement
+select * from performance_schema.accounts;
+USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
select * from performance_schema.cond_instances;
NAME OBJECT_INSTANCE_BEGIN
+select * from performance_schema.events_stages_current;
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT NESTING_EVENT_ID NESTING_EVENT_TYPE
+select * from performance_schema.events_stages_history;
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT NESTING_EVENT_ID NESTING_EVENT_TYPE
+select * from performance_schema.events_stages_history_long;
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT NESTING_EVENT_ID NESTING_EVENT_TYPE
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_stages_summary_global_by_event_name;
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_statements_current;
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE
+select * from performance_schema.events_statements_history;
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE
+select * from performance_schema.events_statements_history_long;
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
+select * from performance_schema.events_statements_summary_global_by_event_name;
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED
select * from performance_schema.events_waits_current;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME INDEX_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID NESTING_EVENT_TYPE OPERATION NUMBER_OF_BYTES FLAGS
select * from performance_schema.events_waits_history;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME INDEX_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID NESTING_EVENT_TYPE OPERATION NUMBER_OF_BYTES FLAGS
select * from performance_schema.events_waits_history_long;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
+THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME INDEX_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID NESTING_EVENT_TYPE OPERATION NUMBER_OF_BYTES FLAGS
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
+HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
select * from performance_schema.events_waits_summary_by_instance;
EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
+USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
select * from performance_schema.events_waits_summary_global_by_event_name;
EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+wait/io/table/sql/handler 0 0 0 0 0
+wait/lock/table/sql/handler 0 0 0 0 0
+idle 0 0 0 0 0
select * from performance_schema.file_instances;
FILE_NAME EVENT_NAME OPEN_COUNT
select * from performance_schema.file_summary_by_event_name;
-EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC
select * from performance_schema.file_summary_by_instance;
-FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+FILE_NAME EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC
+select * from performance_schema.session_account_connect_attrs;
+PROCESSLIST_ID ATTR_NAME ATTR_VALUE ORDINAL_POSITION
+select * from performance_schema.session_connect_attrs;
+PROCESSLIST_ID ATTR_NAME ATTR_VALUE ORDINAL_POSITION
+select * from performance_schema.socket_instances;
+EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
+select * from performance_schema.socket_summary_by_instance;
+EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC
+select * from performance_schema.socket_summary_by_event_name;
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC
+select * from performance_schema.hosts;
+HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS
select * from performance_schema.mutex_instances;
NAME OBJECT_INSTANCE_BEGIN LOCKED_BY_THREAD_ID
+select * from performance_schema.objects_summary_global_by_type;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
select * from performance_schema.rwlock_instances;
NAME OBJECT_INSTANCE_BEGIN WRITE_LOCKED_BY_THREAD_ID READ_LOCKED_BY_COUNT
+select * from performance_schema.setup_actors;
+HOST USER ROLE
+select * from performance_schema.setup_objects;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
select * from performance_schema.threads;
-THREAD_ID PROCESSLIST_ID NAME
+THREAD_ID NAME TYPE PROCESSLIST_ID PROCESSLIST_USER PROCESSLIST_HOST PROCESSLIST_DB PROCESSLIST_COMMAND PROCESSLIST_TIME PROCESSLIST_STATE PROCESSLIST_INFO PARENT_THREAD_ID ROLE INSTRUMENTED
+select * from performance_schema.users;
+USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
diff --git a/mysql-test/suite/perfschema/r/start_server_off.result b/mysql-test/suite/perfschema/r/start_server_off.result
index 4cdfad654ae..a5f552b4bbf 100644
--- a/mysql-test/suite/perfschema/r/start_server_off.result
+++ b/mysql-test/suite/perfschema/r/start_server_off.result
@@ -7,66 +7,154 @@ performance_schema
test
select count(*) from performance_schema.performance_timers;
count(*)
-5
+0
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+0
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
0
select count(*) from performance_schema.setup_timers;
count(*)
-1
+0
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema OFF
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show status like "performance_schema%";
Variable_name Value
+Performance_schema_accounts_lost 0
Performance_schema_cond_classes_lost 0
Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
Performance_schema_file_classes_lost 0
Performance_schema_file_handles_lost 0
Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
Performance_schema_locker_lost 0
Performance_schema_mutex_classes_lost 0
Performance_schema_mutex_instances_lost 0
Performance_schema_rwlock_classes_lost 0
Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
Performance_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+select * from performance_schema.setup_instruments;
+NAME ENABLED TIMED
+select * from performance_schema.setup_actors;
+HOST USER ROLE
+select * from performance_schema.setup_objects;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+select * from performance_schema.setup_timers;
+NAME TIMER_NAME
+insert into performance_schema.setup_objects values ('TABLE', 'myschema', 'myobject', 'YES', 'YES');
+ERROR HY000: Invalid performance_schema usage.
+insert into performance_schema.setup_actors values ('myhost', 'mysuser', 'myrole');
+ERROR HY000: Invalid performance_schema usage.
+select * from performance_schema.setup_objects;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+update performance_schema.setup_objects set OBJECT_NAME = 'myobject';
+delete from performance_schema.setup_objects;
+select * from performance_schema.setup_actors;
+HOST USER ROLE
+update performance_schema.setup_actors set HOST = 'myhost';
+delete from performance_schema.setup_actors;
+truncate performance_schema.events_stages_history_long;
+truncate performance_schema.events_statements_history_long;
+truncate performance_schema.events_waits_history_long;
+truncate performance_schema.setup_objects;
+truncate performance_schema.setup_actors;
diff --git a/mysql-test/suite/perfschema/r/start_server_on.result b/mysql-test/suite/perfschema/r/start_server_on.result
index a17f78b27db..a270b4a6320 100644
--- a/mysql-test/suite/perfschema/r/start_server_on.result
+++ b/mysql-test/suite/perfschema/r/start_server_on.result
@@ -10,63 +10,124 @@ count(*)
5
select count(*) from performance_schema.setup_consumers;
count(*)
-8
-select count(*) > 0 from performance_schema.setup_instruments;
-count(*) > 0
+12
+select count(*) > 3 from performance_schema.setup_instruments;
+count(*) > 3
1
select count(*) from performance_schema.setup_timers;
count(*)
-1
+4
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_digest;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.host_cache;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.table_io_waits_summary_by_index_usage;
+select * from performance_schema.table_io_waits_summary_by_table;
+select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
-show variables like "performance_schema%";
+select * from performance_schema.users;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
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 80
performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
performance_schema_max_mutex_classes 200
-performance_schema_max_mutex_instances 10000
-performance_schema_max_rwlock_classes 30
-performance_schema_max_rwlock_instances 10000
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
-performance_schema_max_thread_instances 1000
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show status like "performance_schema%";
show status like "performance_schema%";
Variable_name Value
+Performance_schema_accounts_lost 0
Performance_schema_cond_classes_lost 0
Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
Performance_schema_file_classes_lost 0
Performance_schema_file_handles_lost 0
Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
Performance_schema_locker_lost 0
Performance_schema_mutex_classes_lost 0
Performance_schema_mutex_instances_lost 0
Performance_schema_rwlock_classes_lost 0
Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
Performance_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/statement_digest.result b/mysql-test/suite/perfschema/r/statement_digest.result
new file mode 100644
index 00000000000..6abe865f1aa
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/statement_digest.result
@@ -0,0 +1,161 @@
+####################################
+# SETUP
+####################################
+CREATE DATABASE statements_digest;
+USE statements_digest;
+CREATE TABLE t1(a int);
+CREATE TABLE t2(a int);
+CREATE TABLE t3(a int, b int);
+CREATE TABLE t4(a int, b int);
+CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
+CREATE TABLE t11 (c CHAR(4));
+CREATE TABLE t12 (c CHAR(4));
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+####################################
+# EXECUTION
+####################################
+SELECT 1 FROM t1;
+1
+SELECT 1 FROM `t1`;
+1
+SELECT 1,2 FROM t1;
+1 2
+SELECT 1, 2, 3, 4 FROM t1;
+1 2 3 4
+SELECT 1 FROM t2;
+1
+SELECT 1,2 FROM t2;
+1 2
+SELECT 1, 2, 3, 4 FROM t2;
+1 2 3 4
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t3 VALUES (1, 2);
+INSERT INTO t4 VALUES (1, 2);
+INSERT INTO t5 VALUES (1, 2, 3);
+INSERT INTO t1 VALUES (1), (2), (3);
+INSERT INTO t1 VALUES (1), (2), (3), (4);
+INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
+INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
+SELECT 1 + 1;
+1 + 1
+2
+SELECT 1;
+1
+1
+SELECT 1 /* This is an inline comment */ + 1;
+1 /* This is an inline comment */ + 1
+2
+SELECT 1+
+/*
+this is a
+multiple-line comment
+*/
+1;
+1+
+/*
+this is a
+multiple-line comment
+*/
+1
+2
+CREATE SCHEMA statements_digest_temp;
+DROP SCHEMA statements_digest_temp;
+CREATE DATABASE statements_digest_temp;
+DROP DATABASE statements_digest_temp;
+SELECT 1 FROM no_such_table;
+ERROR 42S02: Table 'statements_digest.no_such_table' doesn't exist
+CREATE TABLE dup_table (c char(4));
+CREATE TABLE dup_table (c char(4));
+ERROR 42S01: Table 'dup_table' already exists
+DROP TABLE dup_table;
+INSERT INTO t11 VALUES("MySQL");
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+PREPARE stmt FROM "SELECT * FROM t12";
+EXECUTE stmt;
+c
+EXECUTE stmt;
+c
+DEALLOCATE PREPARE stmt;
+CREATE PROCEDURE p1() BEGIN SELECT * FROM t12; END//
+CALL p1();
+c
+CALL p1();
+c
+DROP PROCEDURE p1;
+CREATE FUNCTION `func`(a INT, b INT) RETURNS int(11) RETURN a+b //
+select func(3,4);
+func(3,4)
+7
+select func(13,42);
+func(13,42)
+55
+DROP FUNCTION func;
+CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @a:=1;
+INSERT INTO t12 VALUES ("abc");
+INSERT INTO t12 VALUES ("def");
+DROP TRIGGER trg;
+####################################
+# QUERYING PS STATEMENT DIGEST
+####################################
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
+SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
+SCHEMA_NAME DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
+statements_digest TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0
+statements_digest SELECT ? FROM `t1` 2 0 0 0
+statements_digest SELECT ?, ... FROM `t1` 2 0 0 0
+statements_digest SELECT ? FROM `t2` 1 0 0 0
+statements_digest SELECT ?, ... FROM `t2` 2 0 0 0
+statements_digest INSERT INTO `t1` VALUES (?) 2 2 0 0
+statements_digest INSERT INTO `t2` VALUES (?) 1 1 0 0
+statements_digest INSERT INTO `t3` VALUES (...) 4 4 0 0
+statements_digest INSERT INTO `t4` VALUES (...) 1 1 0 0
+statements_digest INSERT INTO `t5` VALUES (...) 1 1 0 0
+statements_digest INSERT INTO `t1` VALUES (?) /* , ... */ 2 7 0 0
+statements_digest INSERT INTO `t3` VALUES (...) /* , ... */ 1 3 0 0
+statements_digest INSERT INTO `t5` VALUES (...) /* , ... */ 1 3 0 0
+statements_digest INSERT INTO `t6` VALUES (...) 5 5 0 0
+statements_digest SELECT ? + ? 3 0 0 0
+statements_digest SELECT ? 1 0 0 0
+statements_digest CREATE SCHEMA `statements_digest_temp` 2 2 0 0
+statements_digest DROP SCHEMA `statements_digest_temp` 2 0 0 0
+statements_digest SELECT ? FROM `no_such_table` 1 0 0 1
+statements_digest CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2 0 0 1
+statements_digest DROP TABLE `dup_table` 1 0 0 0
+statements_digest INSERT INTO `t11` VALUES (?) 1 1 1 0
+statements_digest SHOW WARNINGS 1 0 0 0
+statements_digest PREPARE `stmt` FROM ? 1 0 0 0
+statements_digest EXECUTE `stmt` 2 0 0 0
+statements_digest DEALLOCATE PREPARE `stmt` 1 0 0 0
+statements_digest CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1 0 0 0
+statements_digest CALL `p1` ( ) 2 0 0 0
+statements_digest DROP PROCEDURE `p1` 1 0 0 0
+statements_digest CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1 0 0 0
+statements_digest SELECT `func` (...) 2 0 0 0
+statements_digest DROP FUNCTION `func` 1 0 0 0
+statements_digest CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1 0 0 0
+statements_digest INSERT INTO `t12` VALUES (?) 2 2 0 0
+statements_digest DROP TRIGGER `trg` 1 0 0 0
+####################################
+# CLEANUP
+####################################
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+DROP TABLE IF EXISTS t4;
+DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
+DROP TABLE IF EXISTS t11;
+DROP TABLE IF EXISTS t12;
+DROP DATABASE IF EXISTS statements_digest;
diff --git a/mysql-test/suite/perfschema/r/statement_digest_charset.result b/mysql-test/suite/perfschema/r/statement_digest_charset.result
new file mode 100644
index 00000000000..67e7f3a0eb6
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/statement_digest_charset.result
@@ -0,0 +1,14 @@
+DROP DATABASE IF EXISTS pfs_charset_test;
+CREATE DATABASE pfs_charset_test;
+USE pfs_charset_test;
+SET NAMES cp1251;
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+CREATE TABLE äîëåí_ðåãèñòúð_1251a (s1 INT);
+CREATE TABLE ÄîËåÍ_ðåãèñòúð_1251b (s1 INT, s2 INT);
+SET NAMES utf8;
+CREATE TABLE ДОЛЕÐ_региÑÑ‚ÑŠÑ€_утф8 (s1 INT);
+SET NAMES latin1;
+SELECT * FROM performance_schema.events_statements_summary_by_digest
+WHERE digest_text LIKE 'XXXYYY%' LIMIT 1;
+SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED FIRST_SEEN LAST_SEEN
+DROP DATABASE pfs_charset_test;
diff --git a/mysql-test/suite/perfschema/r/statement_digest_consumers.result b/mysql-test/suite/perfschema/r/statement_digest_consumers.result
new file mode 100644
index 00000000000..db60362dd92
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/statement_digest_consumers.result
@@ -0,0 +1,176 @@
+####################################
+# SETUP
+####################################
+CREATE DATABASE statements_digest;
+USE statements_digest;
+CREATE TABLE t1(a int);
+CREATE TABLE t2(a int);
+CREATE TABLE t3(a int, b int);
+CREATE TABLE t4(a int, b int);
+CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
+CREATE TABLE t11 (c CHAR(4));
+CREATE TABLE t12 (c CHAR(4));
+SELECT * FROM performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current NO
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+####################################
+# EXECUTION
+####################################
+SELECT 1 FROM t1;
+1
+SELECT 1 FROM `t1`;
+1
+SELECT 1,2 FROM t1;
+1 2
+SELECT 1, 2, 3, 4 FROM t1;
+1 2 3 4
+SELECT 1 FROM t2;
+1
+SELECT 1,2 FROM t2;
+1 2
+SELECT 1, 2, 3, 4 FROM t2;
+1 2 3 4
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t3 VALUES (1, 2);
+INSERT INTO t4 VALUES (1, 2);
+INSERT INTO t5 VALUES (1, 2, 3);
+INSERT INTO t1 VALUES (1), (2), (3);
+INSERT INTO t1 VALUES (1), (2), (3), (4);
+INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
+INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
+SELECT 1 + 1;
+1 + 1
+2
+SELECT 1;
+1
+1
+SELECT 1 /* This is an inline comment */ + 1;
+1 /* This is an inline comment */ + 1
+2
+SELECT 1+
+/*
+this is a
+multiple-line comment
+*/
+1;
+1+
+/*
+this is a
+multiple-line comment
+*/
+1
+2
+CREATE SCHEMA statements_digest_temp;
+DROP SCHEMA statements_digest_temp;
+CREATE DATABASE statements_digest_temp;
+DROP DATABASE statements_digest_temp;
+SELECT 1 FROM no_such_table;
+ERROR 42S02: Table 'statements_digest.no_such_table' doesn't exist
+CREATE TABLE dup_table (c char(4));
+CREATE TABLE dup_table (c char(4));
+ERROR 42S01: Table 'dup_table' already exists
+DROP TABLE dup_table;
+INSERT INTO t11 VALUES("MySQL");
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+PREPARE stmt FROM "SELECT * FROM t12";
+EXECUTE stmt;
+c
+EXECUTE stmt;
+c
+DEALLOCATE PREPARE stmt;
+CREATE PROCEDURE p1() BEGIN SELECT * FROM t12; END//
+CALL p1();
+c
+CALL p1();
+c
+DROP PROCEDURE p1;
+CREATE FUNCTION `func`(a INT, b INT) RETURNS int(11) RETURN a+b //
+select func(3,4);
+func(3,4)
+7
+select func(13,42);
+func(13,42)
+55
+DROP FUNCTION func;
+CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @a:=1;
+INSERT INTO t12 VALUES ("abc");
+INSERT INTO t12 VALUES ("def");
+DROP TRIGGER trg;
+####################################
+# QUERYING PS STATEMENT DIGEST
+####################################
+SELECT schema_name,digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
+schema_name digest_text count_star
+statements_digest TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
+statements_digest SELECT ? FROM `t1` 2
+statements_digest SELECT ?, ... FROM `t1` 2
+statements_digest SELECT ? FROM `t2` 1
+statements_digest SELECT ?, ... FROM `t2` 2
+statements_digest INSERT INTO `t1` VALUES (?) 2
+statements_digest INSERT INTO `t2` VALUES (?) 1
+statements_digest INSERT INTO `t3` VALUES (...) 4
+statements_digest INSERT INTO `t4` VALUES (...) 1
+statements_digest INSERT INTO `t5` VALUES (...) 1
+statements_digest INSERT INTO `t1` VALUES (?) /* , ... */ 2
+statements_digest INSERT INTO `t3` VALUES (...) /* , ... */ 1
+statements_digest INSERT INTO `t5` VALUES (...) /* , ... */ 1
+statements_digest INSERT INTO `t6` VALUES (...) 5
+statements_digest SELECT ? + ? 3
+statements_digest SELECT ? 1
+statements_digest CREATE SCHEMA `statements_digest_temp` 2
+statements_digest DROP SCHEMA `statements_digest_temp` 2
+statements_digest SELECT ? FROM `no_such_table` 1
+statements_digest CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2
+statements_digest DROP TABLE `dup_table` 1
+statements_digest INSERT INTO `t11` VALUES (?) 1
+statements_digest SHOW WARNINGS 1
+statements_digest PREPARE `stmt` FROM ? 1
+statements_digest EXECUTE `stmt` 2
+statements_digest DEALLOCATE PREPARE `stmt` 1
+statements_digest CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1
+statements_digest CALL `p1` ( ) 2
+statements_digest DROP PROCEDURE `p1` 1
+statements_digest CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1
+statements_digest SELECT `func` (...) 2
+statements_digest DROP FUNCTION `func` 1
+statements_digest CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1
+statements_digest INSERT INTO `t12` VALUES (?) 2
+statements_digest DROP TRIGGER `trg` 1
+SELECT digest_text FROM performance_schema.events_statements_current;
+digest_text
+####################################
+# CLEANUP
+####################################
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+DROP TABLE IF EXISTS t4;
+DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
+DROP TABLE IF EXISTS t11;
+DROP TABLE IF EXISTS t12;
+DROP DATABASE IF EXISTS statements_digest;
diff --git a/mysql-test/suite/perfschema/r/statement_digest_consumers2.result b/mysql-test/suite/perfschema/r/statement_digest_consumers2.result
new file mode 100644
index 00000000000..434914c65e7
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/statement_digest_consumers2.result
@@ -0,0 +1,142 @@
+####################################
+# SETUP
+####################################
+CREATE DATABASE statements_digest;
+USE statements_digest;
+CREATE TABLE t1(a int);
+CREATE TABLE t2(a int);
+CREATE TABLE t3(a int, b int);
+CREATE TABLE t4(a int, b int);
+CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
+CREATE TABLE t11 (c CHAR(4));
+CREATE TABLE t12 (c CHAR(4));
+SELECT * FROM performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest NO
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+####################################
+# EXECUTION
+####################################
+SELECT 1 FROM t1;
+1
+SELECT 1 FROM `t1`;
+1
+SELECT 1,2 FROM t1;
+1 2
+SELECT 1, 2, 3, 4 FROM t1;
+1 2 3 4
+SELECT 1 FROM t2;
+1
+SELECT 1,2 FROM t2;
+1 2
+SELECT 1, 2, 3, 4 FROM t2;
+1 2 3 4
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t3 VALUES (1, 2);
+INSERT INTO t4 VALUES (1, 2);
+INSERT INTO t5 VALUES (1, 2, 3);
+INSERT INTO t1 VALUES (1), (2), (3);
+INSERT INTO t1 VALUES (1), (2), (3), (4);
+INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
+INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
+SELECT 1 + 1;
+1 + 1
+2
+SELECT 1;
+1
+1
+SELECT 1 /* This is an inline comment */ + 1;
+1 /* This is an inline comment */ + 1
+2
+SELECT 1+
+/*
+this is a
+multiple-line comment
+*/
+1;
+1+
+/*
+this is a
+multiple-line comment
+*/
+1
+2
+CREATE SCHEMA statements_digest_temp;
+DROP SCHEMA statements_digest_temp;
+CREATE DATABASE statements_digest_temp;
+DROP DATABASE statements_digest_temp;
+SELECT 1 FROM no_such_table;
+ERROR 42S02: Table 'statements_digest.no_such_table' doesn't exist
+CREATE TABLE dup_table (c char(4));
+CREATE TABLE dup_table (c char(4));
+ERROR 42S01: Table 'dup_table' already exists
+DROP TABLE dup_table;
+INSERT INTO t11 VALUES("MySQL");
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+PREPARE stmt FROM "SELECT * FROM t12";
+EXECUTE stmt;
+c
+EXECUTE stmt;
+c
+DEALLOCATE PREPARE stmt;
+CREATE PROCEDURE p1() BEGIN SELECT * FROM t12; END//
+CALL p1();
+c
+CALL p1();
+c
+DROP PROCEDURE p1;
+CREATE FUNCTION `func`(a INT, b INT) RETURNS int(11) RETURN a+b //
+select func(3,4);
+func(3,4)
+7
+select func(13,42);
+func(13,42)
+55
+DROP FUNCTION func;
+CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @a:=1;
+INSERT INTO t12 VALUES ("abc");
+INSERT INTO t12 VALUES ("def");
+DROP TRIGGER trg;
+####################################
+# QUERYING PS STATEMENT DIGEST
+####################################
+SELECT schema_name, digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
+schema_name digest digest_text count_star
+SELECT digest, digest_text FROM performance_schema.events_statements_current;
+digest digest_text
+NULL NULL
+####################################
+# CLEANUP
+####################################
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+DROP TABLE IF EXISTS t4;
+DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
+DROP TABLE IF EXISTS t11;
+DROP TABLE IF EXISTS t12;
+DROP DATABASE IF EXISTS statements_digest;
diff --git a/mysql-test/suite/perfschema/r/statement_digest_long_query.result b/mysql-test/suite/perfschema/r/statement_digest_long_query.result
new file mode 100644
index 00000000000..1c581085eef
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/statement_digest_long_query.result
@@ -0,0 +1,12 @@
+USE performance_schema;
+truncate table events_statements_summary_by_digest;
+SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1;
+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
+511
+####################################
+# QUERYING PS STATEMENT DIGEST
+####################################
+SELECT schema_name, digest_text, count_star FROM events_statements_summary_by_digest;
+schema_name digest_text count_star
+performance_schema TRUNCATE TABLE `events_statements_summary_by_digest` 1
+performance_schema SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? 1
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result
new file mode 100644
index 00000000000..189a3200a91
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result
@@ -0,0 +1,1755 @@
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 72
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 72
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 0
+TABLE test t3 123
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 0
+TABLE test t3 123
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 96
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 93
+TABLE test t2 0
+TABLE test t3 184
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result
new file mode 100644
index 00000000000..b4fbf37265a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result
@@ -0,0 +1,1754 @@
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 54
+TABLE test t3 72
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 54
+TABLE test t3 72
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 90
+TABLE test t3 123
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 90
+TABLE test t3 123
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 144
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 48 16 32 8 0 0 0 8 0 0 16
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 93
+TABLE test t2 132
+TABLE test t3 184
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result
new file mode 100644
index 00000000000..d20378236f5
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result
@@ -0,0 +1,1755 @@
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 72
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 72
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 0
+TABLE test t3 123
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 0
+TABLE test t3 123
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 96
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 93
+TABLE test t2 0
+TABLE test t3 184
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result
new file mode 100644
index 00000000000..087ed9e63ab
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result
@@ -0,0 +1,1754 @@
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 54
+TABLE test t3 72
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 54
+TABLE test t3 72
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 90
+TABLE test t3 123
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 90
+TABLE test t3 123
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 144
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 48 16 32 8 0 0 0 8 0 0 16
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 93
+TABLE test t2 132
+TABLE test t3 184
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result
new file mode 100644
index 00000000000..860059fe0eb
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result
@@ -0,0 +1,1829 @@
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 0
+TABLE test t3 82
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 0
+TABLE test t3 82
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 0
+TABLE test t3 82
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result
new file mode 100644
index 00000000000..50bc51b8da6
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result
@@ -0,0 +1,1866 @@
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 60
+TABLE test t3 82
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 60
+TABLE test t3 82
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 60
+TABLE test t3 82
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result
new file mode 100644
index 00000000000..9340014985e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result
@@ -0,0 +1,1829 @@
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 64
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 44 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 72
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 64
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 44 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 72
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 116
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 35 TABLE test t1
+wait/lock/table/sql/handler 30 TABLE test t1
+wait/io/table/sql/handler 81 TABLE test t3
+wait/lock/table/sql/handler 42 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 0
+TABLE test t3 123
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 116
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 35 TABLE test t1
+wait/lock/table/sql/handler 30 TABLE test t1
+wait/io/table/sql/handler 81 TABLE test t3
+wait/lock/table/sql/handler 42 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 0
+TABLE test t3 123
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 96
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 96
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 40 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 56 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 93
+TABLE test t2 0
+TABLE test t3 184
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result
new file mode 100644
index 00000000000..53ec7343676
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result
@@ -0,0 +1,1866 @@
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 94
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 30 TABLE test t2
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/io/table/sql/handler 44 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 54
+TABLE test t3 72
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 94
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 30 TABLE test t2
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/io/table/sql/handler 44 TABLE test t3
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 54
+TABLE test t3 72
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 170
+localhost wait/lock/table/sql/handler 108
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 35 TABLE test t1
+wait/lock/table/sql/handler 30 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t2
+wait/lock/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 81 TABLE test t3
+wait/lock/table/sql/handler 42 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 90
+TABLE test t3 123
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 170
+localhost wait/lock/table/sql/handler 108
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 35 TABLE test t1
+wait/lock/table/sql/handler 30 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t2
+wait/lock/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 81 TABLE test t3
+wait/lock/table/sql/handler 42 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 90
+TABLE test t3 123
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 144
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 144
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 40 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 48 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 56 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 48 16 32 8 0 0 0 8 0 0 16
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 93
+TABLE test t2 132
+TABLE test t3 184
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_off.result b/mysql-test/suite/perfschema/r/table_aggregate_off.result
new file mode 100644
index 00000000000..029a5d53861
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_off.result
@@ -0,0 +1,1754 @@
+update performance_schema.setup_consumers
+set enabled='NO' where name='global_instrumentation';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation NO
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result
new file mode 100644
index 00000000000..d5c58d478bb
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result
@@ -0,0 +1,1755 @@
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 0
+TABLE test t3 82
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 0
+TABLE test t3 82
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 0
+TABLE test t3 82
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 0
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result
new file mode 100644
index 00000000000..ae08a9749ef
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result
@@ -0,0 +1,1754 @@
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 60
+TABLE test t3 82
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 60
+TABLE test t3 82
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 43
+TABLE test t2 60
+TABLE test t3 82
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 47
+TABLE test t2 64
+TABLE test t3 86
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result
new file mode 100644
index 00000000000..c3849107bd4
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result
@@ -0,0 +1,1755 @@
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 0
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 64
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 72
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 64
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 72
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 116
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 0
+TABLE test t3 123
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 116
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 0
+TABLE test t3 123
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 96
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 96
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 93
+TABLE test t2 0
+TABLE test t3 184
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 0
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result
new file mode 100644
index 00000000000..f8f17d400ae
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result
@@ -0,0 +1,1754 @@
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 18
+TABLE test t2 24
+TABLE test t3 31
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 94
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 54
+TABLE test t3 72
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 94
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 54
+TABLE test t3 72
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 170
+localhost wait/lock/table/sql/handler 108
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 90
+TABLE test t3 123
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 170
+localhost wait/lock/table/sql/handler 108
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 65
+TABLE test t2 90
+TABLE test t3 123
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 144
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 144
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 48 16 32 8 0 0 0 8 0 0 16
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 93
+TABLE test t2 132
+TABLE test t3 184
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 97
+TABLE test t2 136
+TABLE test t3 188
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result
new file mode 100644
index 00000000000..2aeeffdedcc
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result
@@ -0,0 +1,1757 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 44
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 44
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 0
+TABLE test t3 81
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 0
+TABLE test t3 81
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result
new file mode 100644
index 00000000000..43088cd3cfd
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result
@@ -0,0 +1,1756 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 30
+TABLE test t3 44
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 30
+TABLE test t3 44
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 54
+TABLE test t3 81
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 54
+TABLE test t3 81
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result
new file mode 100644
index 00000000000..f65e0494ebd
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result
@@ -0,0 +1,1757 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 44
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 44
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 0
+TABLE test t3 81
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 0
+TABLE test t3 81
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result
new file mode 100644
index 00000000000..2ab94084bb7
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result
@@ -0,0 +1,1756 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 30
+TABLE test t3 44
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 30
+TABLE test t3 44
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 54
+TABLE test t3 81
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 54
+TABLE test t3 81
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result
new file mode 100644
index 00000000000..7aec1bba281
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result
@@ -0,0 +1,1793 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result
new file mode 100644
index 00000000000..ddfc5e373dd
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result
@@ -0,0 +1,1811 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 23 TABLE test t1
+wait/io/table/sql/handler 36 TABLE test t2
+wait/io/table/sql/handler 54 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result
new file mode 100644
index 00000000000..01b1d61877f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result
@@ -0,0 +1,1793 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 64
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 44 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 44
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 64
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 44 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 44
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 116
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 35 TABLE test t1
+wait/io/table/sql/handler 81 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 0
+TABLE test t3 81
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 116
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 35 TABLE test t1
+wait/io/table/sql/handler 81 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 0
+TABLE test t3 81
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result
new file mode 100644
index 00000000000..7b2554a4b64
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result
@@ -0,0 +1,1811 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 8 TABLE test t1
+wait/io/table/sql/handler 12 TABLE test t2
+wait/io/table/sql/handler 17 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 94
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 30 TABLE test t2
+wait/io/table/sql/handler 44 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 30
+TABLE test t3 44
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 94
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 20 TABLE test t1
+wait/io/table/sql/handler 30 TABLE test t2
+wait/io/table/sql/handler 44 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 30
+TABLE test t3 44
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 170
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 35 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t2
+wait/io/table/sql/handler 81 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 54
+TABLE test t3 81
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 170
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 35 TABLE test t1
+wait/io/table/sql/handler 54 TABLE test t2
+wait/io/table/sql/handler 81 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 54
+TABLE test t3 81
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/io/table/sql/handler 53 TABLE test t1
+wait/io/table/sql/handler 84 TABLE test t2
+wait/io/table/sql/handler 128 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result
new file mode 100644
index 00000000000..7a950643800
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result
@@ -0,0 +1,1757 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 77
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 77
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 0
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result
new file mode 100644
index 00000000000..8f9e6278ba8
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result
@@ -0,0 +1,1756 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 113
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 113
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 18 12 6 12 2 4 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 32 20 12 20 4 8 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 46 28 18 28 6 12 0
+TABLE test t3 index_b 6 6 0 6 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 23 15 8 15 2 6 0
+TABLE test t2 36 24 12 24 4 8 0
+TABLE test t3 54 36 18 36 6 12 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 23
+TABLE test t2 36
+TABLE test t3 54
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result
new file mode 100644
index 00000000000..eb83349f11e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result
@@ -0,0 +1,1757 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 25
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 25
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 0
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 64
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 44
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 64
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 64
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 44
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 116
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 0
+TABLE test t3 81
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 116
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 116
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 0
+TABLE test t3 81
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 25
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 39
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 52
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 65
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 25
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 39
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 52
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 65
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 181
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 181
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 0
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result
new file mode 100644
index 00000000000..8c3b6a0549f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result
@@ -0,0 +1,1756 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/lock/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 37
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 37
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 6 4 2 4 1 1 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 2 1 1 1 0 1 0
+TABLE test t2 NULL 10 6 4 6 2 2 0
+TABLE test t2 index_b 1 1 0 1 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 1 1 0 1 0 0 0
+TABLE test t3 NULL 14 8 6 8 3 3 0
+TABLE test t3 index_b 2 2 0 2 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 1 1 0 1 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 8 5 3 5 1 2 0
+TABLE test t2 12 8 4 8 2 2 0
+TABLE test t3 17 11 6 11 3 3 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 8
+TABLE test t2 12
+TABLE test t3 17
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 94
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 30
+TABLE test t3 44
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 94
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 94
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 15 10 5 10 2 3 0
+TABLE test t1 index_b 1 1 0 1 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 4 2 2 2 0 2 0
+TABLE test t2 NULL 26 16 10 16 4 6 0
+TABLE test t2 index_b 2 2 0 2 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 2 2 0 2 0 0 0
+TABLE test t3 NULL 37 22 15 22 6 9 0
+TABLE test t3 index_b 5 5 0 5 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 2 2 0 2 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 20 13 7 13 2 5 0
+TABLE test t2 30 20 10 20 4 6 0
+TABLE test t3 44 29 15 29 6 9 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 30
+TABLE test t3 44
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 170
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 54
+TABLE test t3 81
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 170
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 170
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 27 18 9 18 3 6 0
+TABLE test t1 index_b 2 2 0 2 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 6 3 3 3 0 3 0
+TABLE test t2 NULL 48 30 18 30 6 12 0
+TABLE test t2 index_b 3 3 0 3 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 3 3 0 3 0 0 0
+TABLE test t3 NULL 69 42 27 42 9 18 0
+TABLE test t3 index_b 9 9 0 9 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 3 3 0 3 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 35 23 12 23 3 9 0
+TABLE test t2 54 36 18 36 6 12 0
+TABLE test t3 81 54 27 54 9 18 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 35
+TABLE test t2 54
+TABLE test t3 81
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 37
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 57
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 76
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 95
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 37
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 57
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 76
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 95
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 265
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 265
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 42 28 14 28 4 10 0
+TABLE test t1 index_b 3 3 0 3 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 8 4 4 4 0 4 0
+TABLE test t2 NULL 76 48 28 48 8 20 0
+TABLE test t2 index_b 4 4 0 4 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 4 4 0 4 0 0 0
+TABLE test t3 NULL 110 68 42 68 12 30 0
+TABLE test t3 index_b 14 14 0 14 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 4 4 0 4 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 53 35 18 35 4 14 0
+TABLE test t2 84 56 28 56 8 20 0
+TABLE test t3 128 86 42 86 12 30 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 53
+TABLE test t2 84
+TABLE test t3 128
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result
new file mode 100644
index 00000000000..f2c79374583
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result
@@ -0,0 +1,1757 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 0
+TABLE test t3 42
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 0
+TABLE test t3 42
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 96
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 56
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result
new file mode 100644
index 00000000000..66a917412a9
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result
@@ -0,0 +1,1756 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 36
+TABLE test t3 42
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 36
+TABLE test t3 42
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 144
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 48 16 32 8 0 0 0 8 0 0 16
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 48
+TABLE test t3 56
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result
new file mode 100644
index 00000000000..3b6326fd2df
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result
@@ -0,0 +1,1757 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 0
+TABLE test t3 42
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 0
+TABLE test t3 42
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 96
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 56
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result
new file mode 100644
index 00000000000..85e1bbeb332
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result
@@ -0,0 +1,1756 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name='thread_instrumentation';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation NO
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 36
+TABLE test t3 42
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 36
+TABLE test t3 42
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 144
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 48 16 32 8 0 0 0 8 0 0 16
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 48
+TABLE test t3 56
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result
new file mode 100644
index 00000000000..725770f2b3c
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result
@@ -0,0 +1,1793 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result
new file mode 100644
index 00000000000..d92ec0a1997
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result
@@ -0,0 +1,1811 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 24 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t2
+wait/lock/table/sql/handler 32 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result
new file mode 100644
index 00000000000..b03a26f4694
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result
@@ -0,0 +1,1793 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 30 TABLE test t1
+wait/lock/table/sql/handler 42 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 0
+TABLE test t3 42
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 30 TABLE test t1
+wait/lock/table/sql/handler 42 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 0
+TABLE test t3 42
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 96
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 96
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 40 TABLE test t1
+wait/lock/table/sql/handler 56 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 56
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result
new file mode 100644
index 00000000000..ca62861bedb
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result
@@ -0,0 +1,1811 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current YES
+events_stages_history YES
+events_stages_history_long YES
+events_statements_current YES
+events_statements_history YES
+events_statements_history_long YES
+events_waits_current YES
+events_waits_history YES
+events_waits_history_long YES
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 10 TABLE test t1
+wait/lock/table/sql/handler 12 TABLE test t2
+wait/lock/table/sql/handler 14 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 20 TABLE test t1
+wait/lock/table/sql/handler 24 TABLE test t2
+wait/lock/table/sql/handler 28 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 108
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 30 TABLE test t1
+wait/lock/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 42 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 36
+TABLE test t3 42
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 108
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 30 TABLE test t1
+wait/lock/table/sql/handler 36 TABLE test t2
+wait/lock/table/sql/handler 42 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 36
+TABLE test t3 42
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 144
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 144
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 40 TABLE test t1
+wait/lock/table/sql/handler 48 TABLE test t2
+wait/lock/table/sql/handler 56 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 48 16 32 8 0 0 0 8 0 0 16
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 48
+TABLE test t3 56
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+wait/lock/table/sql/handler 44 TABLE test t1
+wait/lock/table/sql/handler 52 TABLE test t2
+wait/lock/table/sql/handler 60 TABLE test t3
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result
new file mode 100644
index 00000000000..7c1bbd2ddb0
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result
@@ -0,0 +1,1757 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 56
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 56
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 0
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result
new file mode 100644
index 00000000000..302563786d2
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result
@@ -0,0 +1,1756 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+delete from performance_schema.setup_actors
+where user in ('user2', 'user4');
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user3 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 84
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 84
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 24 10 14 4 0 0 1 5 0 0 7
+TABLE test t2 28 10 18 4 0 0 1 5 0 0 9
+TABLE test t3 32 10 22 4 0 0 1 5 0 0 11
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 24
+TABLE test t2 28
+TABLE test t3 32
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result
new file mode 100644
index 00000000000..390a3523421
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result
@@ -0,0 +1,1757 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+delete from performance_schema.setup_objects
+where object_name='t2';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 24
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 24
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 0
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 48
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 48
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 0
+TABLE test t3 28
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 0
+TABLE test t3 42
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 0
+TABLE test t3 42
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 24
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 24
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 96
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 96
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 0
+TABLE test t3 56
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 32
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 24
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 24
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 24
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 32
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 24
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 24
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 24
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 104
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 104
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 0
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result
new file mode 100644
index 00000000000..123075896aa
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result
@@ -0,0 +1,1756 @@
+update performance_schema.setup_instruments
+set enabled='NO' where name='wait/io/table/sql/handler';
+update performance_schema.setup_consumers
+set enabled='NO' where name like 'event%';
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+HOST USER ROLE
+localhost user1 %
+localhost user2 %
+localhost user3 %
+localhost user4 %
+select * from performance_schema.setup_objects
+order by object_type, object_schema, object_name;
+OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED
+TABLE test t1 YES YES
+TABLE test t2 YES NO
+TABLE test t3 YES NO
+select * from performance_schema.setup_consumers;
+NAME ENABLED
+events_stages_current NO
+events_stages_history NO
+events_stages_history_long NO
+events_statements_current NO
+events_statements_history NO
+events_statements_history_long NO
+events_waits_current NO
+events_waits_history NO
+events_waits_history_long NO
+global_instrumentation YES
+thread_instrumentation YES
+statements_digest YES
+flush tables;
+truncate performance_schema.objects_summary_global_by_type;
+truncate performance_schema.table_io_waits_summary_by_index_usage;
+truncate performance_schema.table_io_waits_summary_by_table;
+truncate performance_schema.table_lock_waits_summary_by_table;
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+truncate performance_schema.events_waits_summary_global_by_event_name;
+truncate performance_schema.events_waits_history_long;
+show variables where
+`Variable_name` != "performance_schema_max_statement_classes" and
+`Variable_name` like "performance_schema%";
+Variable_name Value
+performance_schema ON
+performance_schema_accounts_size 100
+performance_schema_digests_size 200
+performance_schema_events_stages_history_long_size 1000
+performance_schema_events_stages_history_size 10
+performance_schema_events_statements_history_long_size 1000
+performance_schema_events_statements_history_size 10
+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 80
+performance_schema_max_cond_instances 1000
+performance_schema_max_digest_length 1024
+performance_schema_max_file_classes 50
+performance_schema_max_file_handles 32768
+performance_schema_max_file_instances 10000
+performance_schema_max_mutex_classes 200
+performance_schema_max_mutex_instances 5000
+performance_schema_max_rwlock_classes 40
+performance_schema_max_rwlock_instances 5000
+performance_schema_max_socket_classes 10
+performance_schema_max_socket_instances 1000
+performance_schema_max_stage_classes 150
+performance_schema_max_table_handles 1000
+performance_schema_max_table_instances 500
+performance_schema_max_thread_classes 50
+performance_schema_max_thread_instances 200
+performance_schema_session_connect_attrs_size 2048
+performance_schema_setup_actors_size 100
+performance_schema_setup_objects_size 100
+performance_schema_users_size 100
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+"================== Step 1 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+execute dump_waits_user;
+user event_name count_star
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+select concat(current_user(), " is connected") as status;
+status
+user1@localhost is connected
+"================== Step 2 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+insert into test.t1 set a=101, b=1, c=1;
+insert into test.t2 set a=102, b=2, c=2;
+insert into test.t2 set a=103, b=3, c=3;
+insert into test.t3 set a=104, b=4, c=4;
+insert into test.t3 set a=105, b=5, c=5;
+insert into test.t3 set a=106, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 0
+103 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 0
+105 5 5 0
+106 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=101;
+update test.t2 set d=d+1 where a=101;
+update test.t3 set d=d+1 where a=101;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 1
+"================== con1 marker =================="
+"================== Step 3 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+select concat(current_user(), " is connected") as status;
+status
+user2@localhost is connected
+"================== Step 4 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 36
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 36
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 10 4 6 2 0 0 0 2 0 0 3
+TABLE test t2 12 4 8 2 0 0 0 2 0 0 4
+TABLE test t3 14 4 10 2 0 0 0 2 0 0 5
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 10
+TABLE test t2 12
+TABLE test t3 14
+insert into test.t1 set a=201, b=1, c=1;
+insert into test.t2 set a=202, b=2, c=2;
+insert into test.t2 set a=203, b=3, c=3;
+insert into test.t3 set a=204, b=4, c=4;
+insert into test.t3 set a=205, b=5, c=5;
+insert into test.t3 set a=206, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 2
+201 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 1
+103 3 3 1
+202 2 2 0
+203 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 1
+105 5 5 1
+106 6 6 1
+204 4 4 0
+205 5 5 0
+206 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=201;
+update test.t2 set d=d+1 where a=201;
+update test.t3 set d=d+1 where a=201;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 2
+205 5 5 1
+"================== con2 marker =================="
+"================== Step 5 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+select concat(current_user(), " is connected") as status;
+status
+user3@localhost is connected
+"================== Step 6 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 72
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 72
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 20 8 12 4 0 0 0 4 0 0 6
+TABLE test t2 24 8 16 4 0 0 0 4 0 0 8
+TABLE test t3 28 8 20 4 0 0 0 4 0 0 10
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 20
+TABLE test t2 24
+TABLE test t3 28
+insert into test.t1 set a=301, b=1, c=1;
+insert into test.t2 set a=302, b=2, c=2;
+insert into test.t2 set a=303, b=3, c=3;
+insert into test.t3 set a=304, b=4, c=4;
+insert into test.t3 set a=305, b=5, c=5;
+insert into test.t3 set a=306, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 3
+201 1 1 2
+301 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 2
+103 3 3 2
+202 2 2 1
+203 3 3 1
+302 2 2 0
+303 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 2
+105 5 5 2
+106 6 6 2
+204 4 4 1
+205 5 5 1
+206 6 6 1
+304 4 4 0
+305 5 5 0
+306 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=301;
+update test.t2 set d=d+1 where a=301;
+update test.t3 set d=d+1 where a=301;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 3
+205 5 5 2
+305 5 5 1
+"================== con3 marker =================="
+"================== Step 7 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 108
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 36
+TABLE test t3 42
+select concat(current_user(), " is connected") as status;
+status
+user4@localhost is connected
+"================== Step 8 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 108
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 108
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 30 12 18 6 0 0 0 6 0 0 9
+TABLE test t2 36 12 24 6 0 0 0 6 0 0 12
+TABLE test t3 42 12 30 6 0 0 0 6 0 0 15
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 30
+TABLE test t2 36
+TABLE test t3 42
+insert into test.t1 set a=401, b=1, c=1;
+insert into test.t2 set a=402, b=2, c=2;
+insert into test.t2 set a=403, b=3, c=3;
+insert into test.t3 set a=404, b=4, c=4;
+insert into test.t3 set a=405, b=5, c=5;
+insert into test.t3 set a=406, b=6, c=6;
+select * from test.t1;
+a b c d
+101 1 1 4
+201 1 1 3
+301 1 1 2
+401 1 1 0
+select * from test.t2;
+a b c d
+102 2 2 3
+103 3 3 3
+202 2 2 2
+203 3 3 2
+302 2 2 1
+303 3 3 1
+402 2 2 0
+403 3 3 0
+select * from test.t3;
+a b c d
+104 4 4 3
+105 5 5 3
+106 6 6 3
+204 4 4 2
+205 5 5 2
+206 6 6 2
+304 4 4 1
+305 5 5 1
+306 6 6 1
+404 4 4 0
+405 5 5 0
+406 6 6 0
+update test.t1 set d=d+1;
+update test.t2 set d=d+1;
+update test.t3 set d=d+1;
+update test.t1 set d=d+1 where a=401;
+update test.t2 set d=d+1 where a=401;
+update test.t3 set d=d+1 where a=401;
+select * from test.t1 where b=5;
+a b c d
+select * from test.t2 where b=5;
+a b c d
+select * from test.t3 where b=5;
+a b c d
+105 5 5 4
+205 5 5 3
+305 5 5 2
+405 5 5 1
+"================== con4 marker =================="
+"================== Step 9 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 36
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 36
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 144
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 144
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 40 16 24 8 0 0 0 8 0 0 12
+TABLE test t2 48 16 32 8 0 0 0 8 0 0 16
+TABLE test t3 56 16 40 8 0 0 0 8 0 0 20
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 40
+TABLE test t2 48
+TABLE test t3 56
+lock tables test.t1 read, test.t2 read, test.t3 read;
+unlock tables;
+lock tables test.t1 write, test.t2 write, test.t3 write;
+unlock tables;
+"================== con1 marker =================="
+"================== Step 10 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+flush tables;
+"================== flush marker =================="
+"================== Step 11 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+set global read_only=1;
+set global read_only=0;
+"================== global read_only marker =================="
+"================== Step 12 =================="
+call dump_thread();
+username event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con1 disconnected =================="
+"================== Step 13 =================="
+call dump_thread();
+username status
+user1 not found
+username event_name count_star
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con2 disconnected =================="
+"================== Step 14 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username event_name count_star
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con3 disconnected =================="
+"================== Step 15 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username event_name count_star
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+"================== con4 disconnected =================="
+"================== Step 16 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_thread_by_event_name;
+"================== BY_THREAD truncated =================="
+"================== Step 17 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 48
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 36
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 36
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 36
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_account_by_event_name;
+"================== BY_ACCOUNT truncated =================="
+"================== Step 18 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 48
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 36
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 36
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 36
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_user_by_event_name;
+"================== BY_USER truncated =================="
+"================== Step 19 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 156
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_by_host_by_event_name;
+"================== BY_HOST truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 156
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 44 18 26 8 0 0 1 9 0 0 13
+TABLE test t2 52 18 34 8 0 0 1 9 0 0 17
+TABLE test t3 60 18 42 8 0 0 1 9 0 0 21
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 44
+TABLE test t2 52
+TABLE test t3 60
+truncate performance_schema.events_waits_summary_global_by_event_name;
+"================== GLOBAL truncated =================="
+"================== Step 21 =================="
+call dump_thread();
+username status
+user1 not found
+username status
+user2 not found
+username status
+user3 not found
+username status
+user4 not found
+execute dump_waits_account;
+user host event_name count_star
+user1 localhost wait/io/table/sql/handler 0
+user1 localhost wait/lock/table/sql/handler 0
+user2 localhost wait/io/table/sql/handler 0
+user2 localhost wait/lock/table/sql/handler 0
+user3 localhost wait/io/table/sql/handler 0
+user3 localhost wait/lock/table/sql/handler 0
+user4 localhost wait/io/table/sql/handler 0
+user4 localhost wait/lock/table/sql/handler 0
+execute dump_waits_user;
+user event_name count_star
+user1 wait/io/table/sql/handler 0
+user1 wait/lock/table/sql/handler 0
+user2 wait/io/table/sql/handler 0
+user2 wait/lock/table/sql/handler 0
+user3 wait/io/table/sql/handler 0
+user3 wait/lock/table/sql/handler 0
+user4 wait/io/table/sql/handler 0
+user4 wait/lock/table/sql/handler 0
+execute dump_waits_host;
+host event_name count_star
+localhost wait/io/table/sql/handler 0
+localhost wait/lock/table/sql/handler 0
+execute dump_waits_global;
+event_name count_star
+wait/io/table/sql/handler 0
+wait/lock/table/sql/handler 0
+execute dump_waits_history;
+event_name count(event_name) object_type object_schema object_name
+execute dump_waits_index_io;
+object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 NULL 0 0 0 0 0 0 0
+TABLE test t1 index_b 0 0 0 0 0 0 0
+TABLE test t1 index_cb 0 0 0 0 0 0 0
+TABLE test t1 PRIMARY 0 0 0 0 0 0 0
+TABLE test t2 NULL 0 0 0 0 0 0 0
+TABLE test t2 index_b 0 0 0 0 0 0 0
+TABLE test t2 index_cb 0 0 0 0 0 0 0
+TABLE test t2 PRIMARY 0 0 0 0 0 0 0
+TABLE test t3 NULL 0 0 0 0 0 0 0
+TABLE test t3 index_b 0 0 0 0 0 0 0
+TABLE test t3 index_cb 0 0 0 0 0 0 0
+TABLE test t3 PRIMARY 0 0 0 0 0 0 0
+execute dump_waits_table_io;
+object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete
+TABLE test t1 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0
+execute dump_waits_table_lock;
+object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external
+TABLE test t1 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t2 0 0 0 0 0 0 0 0 0 0 0
+TABLE test t3 0 0 0 0 0 0 0 0 0 0 0
+execute dump_objects_summary;
+object_type object_schema object_name count_star
+TABLE test t1 0
+TABLE test t2 0
+TABLE test t3 0
+show status like "performance_schema%";
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_classes_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_classes_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_classes_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_classes_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_classes_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_stage_classes_lost 0
+Performance_schema_statement_classes_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
diff --git a/mysql-test/suite/perfschema/r/table_name.result b/mysql-test/suite/perfschema/r/table_name.result
new file mode 100644
index 00000000000..d6369ffc79e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_name.result
@@ -0,0 +1,156 @@
+
+#
+# TEST 1: Normal tables prefixed with "#sql" and "sql".
+#
+USE test;
+CREATE TABLE `#sql_1` (a int, b text);
+INSERT INTO `#sql_1` VALUES(1,'one');
+
+CREATE TABLE `sql_1` (a int, b text);
+INSERT INTO `sql_1` VALUES(1,'one');
+
+# Verify that the tables are treated as normal tables .
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+TABLE test #sql_1
+TABLE test sql_1
+
+# Drop the tables, verify that the table objects are removed.
+
+DROP TABLE `#sql_1`;
+DROP TABLE `sql_1`;
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+
+#
+# TEST 2: Temporary tables, no special prefix.
+#
+CREATE TEMPORARY TABLE sql_temp2_myisam (a int, b text) ENGINE=MYISAM;
+INSERT INTO sql_temp2_myisam VALUES(1,'one');
+
+CREATE TEMPORARY TABLE sql_temp2_innodb (a int, b text) ENGINE=INNODB;
+INSERT INTO sql_temp2_innodb VALUES(1,'one');
+
+# Confirm that the temporary tables are ignored.
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+
+# Drop the tables, verify that the table objects are not created.
+
+DROP TABLE sql_temp2_myisam;
+DROP TABLE sql_temp2_innodb;
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+
+#
+# TEST 3: Temporary tables with the "#sql" prefix.
+#
+CREATE TEMPORARY TABLE `#sql_temp3_myisam` (a int, b text) ENGINE=MYISAM;
+CHECK TABLE `#sql_temp3_myisam`;
+Table Op Msg_type Msg_text
+test.#sql_temp3_myisam check status OK
+INSERT INTO `#sql_temp3_myisam` VALUES(1,'one');
+
+CREATE TEMPORARY TABLE `#sql_temp3_innodb` (a int, b text) ENGINE=INNODB;
+CHECK TABLE `#sql_temp3_innodb`;
+Table Op Msg_type Msg_text
+test.#sql_temp3_innodb check status OK
+INSERT INTO `#sql_temp3_innodb` VALUES(1,'one');
+
+# Confirm that the temporary tables are ignored.
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+
+# Drop the temporary tables.
+
+DROP TABLE `#sql_temp3_myisam`;
+DROP TABLE `#sql_temp3_innodb`;
+
+# Confirm that the temporary tables are still ignored.
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+
+#
+# TEST 4: Special case: MyISAM temporary tables are recreated as non-temporary
+# when they are truncated.
+#
+CREATE TEMPORARY TABLE `sql_temp4_myisam` (a int, b text) ENGINE=MYISAM;
+INSERT INTO `sql_temp4_myisam` VALUES(1,'one');
+
+CREATE TEMPORARY TABLE `#sql_temp4_myisam` (a int, b text) ENGINE=MYISAM;
+INSERT INTO `#sql_temp4_myisam` VALUES(1,'one');
+
+# Confirm that the MyISAM temporary tables are ignored.
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+
+# Truncate the MyISAM temporary tables, forcing them to be recreated as non-temporary.
+
+TRUNCATE TABLE `sql_temp4_myisam`;
+TRUNCATE TABLE `#sql_temp4_myisam`;
+
+# Confirm that the recreated MyISAM tables are still regarded as temporary and ignored.
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+
+# Drop the recreated MyISAM tables;
+
+DROP TABLE `sql_temp4_myisam`;
+DROP TABLE `#sql_temp4_myisam`;
+
+# Confirm that the recreated temporary tables are still ignored.
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+
+#
+# TEST 5: Generate temporary tables with ALTER MyISAM table.
+#
+USE test;
+CREATE TABLE t1 (a int) ENGINE=MYISAM;
+INSERT INTO t1 VALUES (1), (2), (3);
+ALTER TABLE t1 ADD COLUMN (b int);
+
+# Confirm that the recreated temporary tables are still ignored.
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
+
+# Drop the MyISAM table
+
+DROP TABLE t1;
+
+# Confirm that no tables remain;
+
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+object_type object_schema object_name
diff --git a/mysql-test/suite/perfschema/r/table_schema.result b/mysql-test/suite/perfschema/r/table_schema.result
new file mode 100644
index 00000000000..faf0a384503
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/table_schema.result
@@ -0,0 +1,824 @@
+select * from information_schema.columns where table_schema="performance_schema"
+ order by table_name, ordinal_position;
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
+def performance_schema accounts USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema accounts HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references
+def performance_schema accounts CURRENT_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema accounts TOTAL_CONNECTIONS 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema cond_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema cond_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_stages_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_stages_current TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_current TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_current TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_current NESTING_EVENT_ID 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_current NESTING_EVENT_TYPE 10 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references
+def performance_schema events_stages_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_stages_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_stages_history TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history NESTING_EVENT_ID 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history NESTING_EVENT_TYPE 10 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references
+def performance_schema events_stages_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_stages_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_stages_history_long TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history_long TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history_long TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history_long NESTING_EVENT_ID 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_history_long NESTING_EVENT_TYPE 10 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references
+def performance_schema events_stages_summary_by_account_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema events_stages_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references
+def performance_schema events_stages_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_stages_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references
+def performance_schema events_stages_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_stages_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_stages_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_user_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema events_stages_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_stages_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_stages_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_stages_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_current TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references
+def performance_schema events_statements_current DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references
+def performance_schema events_statements_current DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references
+def performance_schema events_statements_current CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_current OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_current OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_current OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_current OBJECT_INSTANCE_BEGIN 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current MYSQL_ERRNO 18 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def performance_schema events_statements_current RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select,insert,update,references
+def performance_schema events_statements_current MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_current ERRORS 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current WARNINGS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current ROWS_AFFECTED 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current ROWS_SENT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current ROWS_EXAMINED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current CREATED_TMP_DISK_TABLES 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current CREATED_TMP_TABLES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SELECT_FULL_JOIN 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SELECT_FULL_RANGE_JOIN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SELECT_RANGE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SELECT_RANGE_CHECK 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SELECT_SCAN 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SORT_MERGE_PASSES 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SORT_RANGE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SORT_ROWS 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current SORT_SCAN 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current NO_INDEX_USED 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current NO_GOOD_INDEX_USED 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current NESTING_EVENT_ID 39 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_current NESTING_EVENT_TYPE 40 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references
+def performance_schema events_statements_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references
+def performance_schema events_statements_history DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references
+def performance_schema events_statements_history DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references
+def performance_schema events_statements_history CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history OBJECT_INSTANCE_BEGIN 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history MYSQL_ERRNO 18 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def performance_schema events_statements_history RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select,insert,update,references
+def performance_schema events_statements_history MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_history ERRORS 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history WARNINGS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history ROWS_AFFECTED 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history ROWS_SENT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history ROWS_EXAMINED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history CREATED_TMP_DISK_TABLES 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history CREATED_TMP_TABLES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SELECT_FULL_JOIN 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SELECT_FULL_RANGE_JOIN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SELECT_RANGE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SELECT_RANGE_CHECK 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SELECT_SCAN 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SORT_MERGE_PASSES 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SORT_RANGE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SORT_ROWS 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history SORT_SCAN 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history NO_INDEX_USED 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history NO_GOOD_INDEX_USED 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history NESTING_EVENT_ID 39 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history NESTING_EVENT_TYPE 40 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references
+def performance_schema events_statements_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history_long TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references
+def performance_schema events_statements_history_long DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references
+def performance_schema events_statements_history_long DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references
+def performance_schema events_statements_history_long CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history_long OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history_long OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history_long OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_history_long OBJECT_INSTANCE_BEGIN 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long MYSQL_ERRNO 18 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def performance_schema events_statements_history_long RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select,insert,update,references
+def performance_schema events_statements_history_long MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_history_long ERRORS 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long WARNINGS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long ROWS_AFFECTED 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long ROWS_SENT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long ROWS_EXAMINED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long CREATED_TMP_DISK_TABLES 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long CREATED_TMP_TABLES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SELECT_FULL_JOIN 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SELECT_FULL_RANGE_JOIN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SELECT_RANGE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SELECT_RANGE_CHECK 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SELECT_SCAN 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SORT_MERGE_PASSES 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SORT_RANGE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SORT_ROWS 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long SORT_SCAN 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long NO_INDEX_USED 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long NO_GOOD_INDEX_USED 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long NESTING_EVENT_ID 39 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_history_long NESTING_EVENT_TYPE 40 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_ERRORS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_WARNINGS 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_ROWS_AFFECTED 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_ROWS_SENT 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_ROWS_EXAMINED 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_CREATED_TMP_DISK_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_CREATED_TMP_TABLES 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_FULL_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_FULL_RANGE_JOIN 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_RANGE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_RANGE_CHECK 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_SCAN 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_MERGE_PASSES 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_RANGE 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_ROWS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_SCAN 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_NO_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_account_by_event_name SUM_NO_GOOD_INDEX_USED 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SCHEMA_NAME 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_statements_summary_by_digest DIGEST 2 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references
+def performance_schema events_statements_summary_by_digest DIGEST_TEXT 3 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references
+def performance_schema events_statements_summary_by_digest COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_ERRORS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_WARNINGS 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_ROWS_AFFECTED 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_ROWS_SENT 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_ROWS_EXAMINED 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_CREATED_TMP_DISK_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_CREATED_TMP_TABLES 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_SELECT_FULL_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_SELECT_FULL_RANGE_JOIN 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_SELECT_RANGE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_SELECT_RANGE_CHECK 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_SELECT_SCAN 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_SORT_MERGE_PASSES 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_SORT_RANGE 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_SORT_ROWS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_SORT_SCAN 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_NO_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest SUM_NO_GOOD_INDEX_USED 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_digest FIRST_SEEN 28 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references
+def performance_schema events_statements_summary_by_digest LAST_SEEN 29 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_LOCK_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_ERRORS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_WARNINGS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_ROWS_AFFECTED 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_ROWS_SENT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_ROWS_EXAMINED 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_CREATED_TMP_DISK_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_CREATED_TMP_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_FULL_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_FULL_RANGE_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_RANGE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_RANGE_CHECK 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_SCAN 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_MERGE_PASSES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_RANGE 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_ROWS 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_SCAN 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_NO_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_host_by_event_name SUM_NO_GOOD_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_LOCK_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_ERRORS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_WARNINGS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_ROWS_AFFECTED 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_ROWS_SENT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_ROWS_EXAMINED 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_CREATED_TMP_DISK_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_CREATED_TMP_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_FULL_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_FULL_RANGE_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_RANGE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_RANGE_CHECK 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_SCAN 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_MERGE_PASSES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_RANGE 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_ROWS 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_SCAN 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_NO_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_thread_by_event_name SUM_NO_GOOD_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_LOCK_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_ERRORS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_WARNINGS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_ROWS_AFFECTED 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_ROWS_SENT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_ROWS_EXAMINED 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_CREATED_TMP_DISK_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_CREATED_TMP_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_FULL_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_FULL_RANGE_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_RANGE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_RANGE_CHECK 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_SCAN 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_MERGE_PASSES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_RANGE 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_ROWS 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_SCAN 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_NO_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_by_user_by_event_name SUM_NO_GOOD_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_LOCK_TIME 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_ERRORS 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_WARNINGS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_ROWS_AFFECTED 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_ROWS_SENT 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_ROWS_EXAMINED 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_CREATED_TMP_DISK_TABLES 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_CREATED_TMP_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_FULL_JOIN 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_FULL_RANGE_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_RANGE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_RANGE_CHECK 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_SCAN 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_SORT_MERGE_PASSES 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_SORT_RANGE 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_SORT_ROWS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_SORT_SCAN 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_NO_INDEX_USED 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_statements_summary_global_by_event_name SUM_NO_GOOD_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_waits_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_current TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_current TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_current TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_current SPINS 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
+def performance_schema events_waits_current OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_current OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references
+def performance_schema events_waits_current INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_current OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_current OBJECT_INSTANCE_BEGIN 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_current NESTING_EVENT_ID 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_current NESTING_EVENT_TYPE 16 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references
+def performance_schema events_waits_current OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references
+def performance_schema events_waits_current NUMBER_OF_BYTES 18 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema events_waits_current FLAGS 19 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
+def performance_schema events_waits_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_waits_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_history TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history SPINS 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
+def performance_schema events_waits_history OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_history OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references
+def performance_schema events_waits_history INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_history OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_history OBJECT_INSTANCE_BEGIN 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history NESTING_EVENT_ID 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history NESTING_EVENT_TYPE 16 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references
+def performance_schema events_waits_history OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references
+def performance_schema events_waits_history NUMBER_OF_BYTES 18 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema events_waits_history FLAGS 19 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
+def performance_schema events_waits_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_waits_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_history_long TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history_long TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history_long TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history_long SPINS 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
+def performance_schema events_waits_history_long OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_history_long OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references
+def performance_schema events_waits_history_long INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_history_long OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema events_waits_history_long OBJECT_INSTANCE_BEGIN 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history_long NESTING_EVENT_ID 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_history_long NESTING_EVENT_TYPE 16 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references
+def performance_schema events_waits_history_long OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references
+def performance_schema events_waits_history_long NUMBER_OF_BYTES 18 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema events_waits_history_long FLAGS 19 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_account_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema events_waits_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references
+def performance_schema events_waits_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_waits_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references
+def performance_schema events_waits_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_waits_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_instance EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_waits_summary_by_instance OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_instance COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_instance SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_instance MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_instance AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_instance MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_waits_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_user_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema events_waits_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_waits_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema events_waits_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema events_waits_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_instances FILE_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references
+def performance_schema file_instances EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema file_instances OPEN_COUNT 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema file_summary_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name COUNT_READ 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name SUM_TIMER_READ 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name MIN_TIMER_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name AVG_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name MAX_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name SUM_NUMBER_OF_BYTES_READ 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema file_summary_by_event_name COUNT_WRITE 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name SUM_TIMER_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name MIN_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name AVG_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name MAX_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name SUM_NUMBER_OF_BYTES_WRITE 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema file_summary_by_event_name COUNT_MISC 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name SUM_TIMER_MISC 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name MIN_TIMER_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name AVG_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_event_name MAX_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance FILE_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references
+def performance_schema file_summary_by_instance EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema file_summary_by_instance OBJECT_INSTANCE_BEGIN 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance COUNT_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance SUM_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance MIN_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance AVG_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance MAX_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance SUM_NUMBER_OF_BYTES_READ 14 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema file_summary_by_instance COUNT_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance SUM_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance MIN_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance AVG_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance MAX_TIMER_WRITE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance SUM_NUMBER_OF_BYTES_WRITE 20 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema file_summary_by_instance COUNT_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance SUM_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance MIN_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance AVG_TIMER_MISC 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema file_summary_by_instance MAX_TIMER_MISC 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema hosts HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references
+def performance_schema hosts CURRENT_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema hosts TOTAL_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache IP 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema host_cache HOST 2 NULL YES varchar 255 765 NULL NULL NULL utf8 utf8_bin varchar(255) select,insert,update,references
+def performance_schema host_cache HOST_VALIDATED 3 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
+def performance_schema host_cache SUM_CONNECT_ERRORS 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_HOST_BLOCKED_ERRORS 5 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_NAMEINFO_TRANSIENT_ERRORS 6 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_NAMEINFO_PERMANENT_ERRORS 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_FORMAT_ERRORS 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_ADDRINFO_TRANSIENT_ERRORS 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_ADDRINFO_PERMANENT_ERRORS 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_FCRDNS_ERRORS 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_HOST_ACL_ERRORS 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_NO_AUTH_PLUGIN_ERRORS 13 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_AUTH_PLUGIN_ERRORS 14 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_HANDSHAKE_ERRORS 15 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_PROXY_USER_ERRORS 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_PROXY_USER_ACL_ERRORS 17 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_AUTHENTICATION_ERRORS 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_SSL_ERRORS 19 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_MAX_USER_CONNECTIONS_ERRORS 20 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 21 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_DEFAULT_DATABASE_ERRORS 22 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_INIT_CONNECT_ERRORS 23 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_LOCAL_ERRORS 24 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache COUNT_UNKNOWN_ERRORS 25 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema host_cache FIRST_SEEN 26 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references
+def performance_schema host_cache LAST_SEEN 27 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references
+def performance_schema host_cache FIRST_ERROR_SEEN 28 0000-00-00 00:00:00 YES timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references
+def performance_schema host_cache LAST_ERROR_SEEN 29 0000-00-00 00:00:00 YES timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references
+def performance_schema mutex_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema mutex_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema mutex_instances LOCKED_BY_THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema objects_summary_global_by_type OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema objects_summary_global_by_type OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema objects_summary_global_by_type OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema objects_summary_global_by_type COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema objects_summary_global_by_type SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema objects_summary_global_by_type MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema objects_summary_global_by_type AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema objects_summary_global_by_type MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema performance_timers TIMER_NAME 1 NULL NO enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') select,insert,update,references
+def performance_schema performance_timers TIMER_FREQUENCY 2 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema performance_timers TIMER_RESOLUTION 3 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema performance_timers TIMER_OVERHEAD 4 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema rwlock_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema rwlock_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema rwlock_instances WRITE_LOCKED_BY_THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema rwlock_instances READ_LOCKED_BY_COUNT 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references
+def performance_schema session_account_connect_attrs PROCESSLIST_ID 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def performance_schema session_account_connect_attrs ATTR_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_bin varchar(32) select,insert,update,references
+def performance_schema session_account_connect_attrs ATTR_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_bin varchar(1024) select,insert,update,references
+def performance_schema session_account_connect_attrs ORDINAL_POSITION 4 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def performance_schema session_connect_attrs PROCESSLIST_ID 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def performance_schema session_connect_attrs ATTR_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_bin varchar(32) select,insert,update,references
+def performance_schema session_connect_attrs ATTR_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_bin varchar(1024) select,insert,update,references
+def performance_schema session_connect_attrs ORDINAL_POSITION 4 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def performance_schema setup_actors HOST 1 % NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references
+def performance_schema setup_actors USER 2 % NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema setup_actors ROLE 3 % NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema setup_consumers NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema setup_consumers ENABLED 2 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
+def performance_schema setup_instruments NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema setup_instruments ENABLED 2 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
+def performance_schema setup_instruments TIMED 3 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
+def performance_schema setup_objects OBJECT_TYPE 1 TABLE NO enum 5 15 NULL NULL NULL utf8 utf8_general_ci enum('TABLE') select,insert,update,references
+def performance_schema setup_objects OBJECT_SCHEMA 2 % YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema setup_objects OBJECT_NAME 3 % NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema setup_objects ENABLED 4 YES NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
+def performance_schema setup_objects TIMED 5 YES NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
+def performance_schema setup_timers NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema setup_timers TIMER_NAME 2 NULL NO enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') select,insert,update,references
+def performance_schema socket_instances EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema socket_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_instances THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_instances SOCKET_ID 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def performance_schema socket_instances IP 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema socket_instances PORT 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references
+def performance_schema socket_instances STATE 7 NULL NO enum 6 18 NULL NULL NULL utf8 utf8_general_ci enum('IDLE','ACTIVE') select,insert,update,references
+def performance_schema socket_summary_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema socket_summary_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name COUNT_READ 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name SUM_TIMER_READ 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name MIN_TIMER_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name AVG_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name MAX_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name SUM_NUMBER_OF_BYTES_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name COUNT_WRITE 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name SUM_TIMER_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name MIN_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name AVG_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name MAX_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name SUM_NUMBER_OF_BYTES_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name COUNT_MISC 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name SUM_TIMER_MISC 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name MIN_TIMER_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name AVG_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_event_name MAX_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema socket_summary_by_instance OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance COUNT_READ 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance SUM_TIMER_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance MIN_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance AVG_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance MAX_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance SUM_NUMBER_OF_BYTES_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance COUNT_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance SUM_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance MIN_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance AVG_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance MAX_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance SUM_NUMBER_OF_BYTES_WRITE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance COUNT_MISC 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance SUM_TIMER_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance MIN_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance AVG_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema socket_summary_by_instance MAX_TIMER_MISC 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage INDEX_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage COUNT_STAR 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_WAIT 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage COUNT_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_READ 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage COUNT_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_WRITE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage COUNT_FETCH 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_FETCH 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_FETCH 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_FETCH 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_FETCH 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage COUNT_INSERT 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_INSERT 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_INSERT 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_INSERT 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_INSERT 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage COUNT_UPDATE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_UPDATE 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_UPDATE 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_UPDATE 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_UPDATE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage COUNT_DELETE 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_DELETE 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_DELETE 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_DELETE 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_DELETE 39 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_io_waits_summary_by_table OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_io_waits_summary_by_table OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_io_waits_summary_by_table COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table COUNT_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table SUM_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MIN_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table AVG_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MAX_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table COUNT_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table SUM_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MIN_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table AVG_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MAX_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table COUNT_FETCH 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table SUM_TIMER_FETCH 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MIN_TIMER_FETCH 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table AVG_TIMER_FETCH 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MAX_TIMER_FETCH 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table COUNT_INSERT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table SUM_TIMER_INSERT 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MIN_TIMER_INSERT 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table AVG_TIMER_INSERT 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MAX_TIMER_INSERT 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table COUNT_UPDATE 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table SUM_TIMER_UPDATE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MIN_TIMER_UPDATE 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table AVG_TIMER_UPDATE 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MAX_TIMER_UPDATE 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table COUNT_DELETE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table SUM_TIMER_DELETE 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MIN_TIMER_DELETE 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table AVG_TIMER_DELETE 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_io_waits_summary_by_table MAX_TIMER_DELETE 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_READ_NORMAL 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_NORMAL 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_NORMAL 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_NORMAL 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_NORMAL 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_READ_WITH_SHARED_LOCKS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_WITH_SHARED_LOCKS 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_WITH_SHARED_LOCKS 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_WITH_SHARED_LOCKS 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_WITH_SHARED_LOCKS 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_READ_HIGH_PRIORITY 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_HIGH_PRIORITY 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_HIGH_PRIORITY 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_HIGH_PRIORITY 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_HIGH_PRIORITY 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_READ_NO_INSERT 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_NO_INSERT 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_NO_INSERT 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_NO_INSERT 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_NO_INSERT 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_READ_EXTERNAL 39 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_EXTERNAL 40 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_EXTERNAL 41 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_EXTERNAL 42 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_EXTERNAL 43 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_ALLOW_WRITE 44 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_ALLOW_WRITE 45 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_ALLOW_WRITE 46 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_ALLOW_WRITE 47 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_ALLOW_WRITE 48 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_CONCURRENT_INSERT 49 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_CONCURRENT_INSERT 50 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_CONCURRENT_INSERT 51 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_CONCURRENT_INSERT 52 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_CONCURRENT_INSERT 53 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_DELAYED 54 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_DELAYED 55 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_DELAYED 56 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_DELAYED 57 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_DELAYED 58 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_LOW_PRIORITY 59 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_LOW_PRIORITY 60 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_LOW_PRIORITY 61 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_LOW_PRIORITY 62 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_LOW_PRIORITY 63 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_NORMAL 64 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_NORMAL 65 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_NORMAL 66 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_NORMAL 67 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_NORMAL 68 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_EXTERNAL 69 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_EXTERNAL 70 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_EXTERNAL 71 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_EXTERNAL 72 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_EXTERNAL 73 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema threads THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema threads NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
+def performance_schema threads TYPE 3 NULL NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references
+def performance_schema threads PROCESSLIST_ID 4 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema threads PROCESSLIST_USER 5 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select,insert,update,references
+def performance_schema threads PROCESSLIST_HOST 6 NULL YES varchar 60 180 NULL NULL NULL utf8 utf8_general_ci varchar(60) select,insert,update,references
+def performance_schema threads PROCESSLIST_DB 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema threads PROCESSLIST_COMMAND 8 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select,insert,update,references
+def performance_schema threads PROCESSLIST_TIME 9 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema threads PROCESSLIST_STATE 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema threads PROCESSLIST_INFO 11 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references
+def performance_schema threads PARENT_THREAD_ID 12 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
+def performance_schema threads ROLE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+def performance_schema threads INSTRUMENTED 14 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
+def performance_schema users USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references
+def performance_schema users CURRENT_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+def performance_schema users TOTAL_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references
+select count(*) from information_schema.columns
+where table_schema="performance_schema" and data_type = "bigint"
+ and column_name like "%number_of_bytes" into @count_byte_columns;
+select @count_byte_columns > 0;
+@count_byte_columns > 0
+1
+select count(*) from information_schema.columns
+where table_schema="performance_schema" and data_type="bigint"
+ and column_name like "%number_of_bytes"
+ and column_type not like "%unsigned" into @count_byte_signed;
+select (@count_byte_columns - @count_byte_signed) = 0;
+(@count_byte_columns - @count_byte_signed) = 0
+1
+select count(*) from information_schema.columns
+where table_schema="performance_schema" and data_type = "bigint"
+ and column_name like "%object_instance_begin" into @count_object_columns;
+select @count_object_columns > 0;
+@count_object_columns > 0
+1
+select count(*) from information_schema.columns
+where table_schema="performance_schema" and data_type="bigint"
+ and column_name like "%object_instance_begin"
+ and column_type like "%unsigned" into @count_object_unsigned;
+select (@count_object_columns - @count_object_unsigned) = 0;
+(@count_object_columns - @count_object_unsigned) = 0
+1
diff --git a/mysql-test/suite/perfschema/r/tampered_perfschema_table1.result b/mysql-test/suite/perfschema/r/tampered_perfschema_table1.result
deleted file mode 100644
index 86252d4ca01..00000000000
--- a/mysql-test/suite/perfschema/r/tampered_perfschema_table1.result
+++ /dev/null
@@ -1,6 +0,0 @@
-call mtr.add_suppression(
-"Column count of mysql.setup_instruments is wrong. "
-"Expected 4, found 3. The table is probably corrupted");
-select * from performance_schema.setup_instruments limit 1;
-ERROR HY000: Native table 'performance_schema'.'setup_instruments' has the wrong structure
-select * from performance_schema.setup_consumers limit 1;
diff --git a/mysql-test/suite/perfschema/r/temp_table_io.result b/mysql-test/suite/perfschema/r/temp_table_io.result
new file mode 100644
index 00000000000..0e1bf01ef9a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/temp_table_io.result
@@ -0,0 +1,112 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+drop temporary table if exists test.no_index_tab;
+update performance_schema.setup_consumers set enabled = 'YES';
+insert into marker set a = 1;
+create temporary table test.no_index_tab
+( a varchar(255) not null, b int not null) engine = MyISAM;
+insert into marker set a = 1;
+show create table test.no_index_tab;
+Table Create Table
+no_index_tab CREATE TEMPORARY TABLE `no_index_tab` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 1;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 2;
+insert into marker set a = 1;
+insert into test.no_index_tab set a = 'foo', b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+foo 1
+foo 2
+foo 3
+insert into marker set a = 1;
+update test.no_index_tab set a = 'bar';
+insert into marker set a = 1;
+select * from test.no_index_tab limit 2;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+delete from test.no_index_tab where b = 3;
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+optimize table test.no_index_tab;
+Table Op Msg_type Msg_text
+test.no_index_tab optimize status OK
+insert into marker set a = 1;
+select * from test.no_index_tab;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+truncate table test.no_index_tab;
+insert into marker set a = 1;
+drop temporary table test.no_index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff b/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff
new file mode 100644
index 00000000000..bfa17407049
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff
@@ -0,0 +1,10 @@
+--- suite/perfschema/r/threads_innodb.result 2013-12-20 20:19:06.000000000 +0100
++++ suite/perfschema/r/threads_innodb.reject 2014-05-06 13:08:05.000000000 +0200
+@@ -6,6 +6,7 @@
+ GROUP BY name;
+ name type processlist_user processlist_host processlist_db processlist_command processlist_time processlist_state processlist_info parent_thread_id role instrumented
+ thread/innodb/io_handler_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
++thread/innodb/lru_manager_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+ thread/innodb/page_cleaner_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+ thread/innodb/srv_error_monitor_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+ thread/innodb/srv_lock_timeout_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
diff --git a/mysql-test/suite/perfschema/r/threads_innodb.result b/mysql-test/suite/perfschema/r/threads_innodb.result
new file mode 100644
index 00000000000..fdbd7469c7e
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/threads_innodb.result
@@ -0,0 +1,14 @@
+SELECT name, type, processlist_user, processlist_host, processlist_db,
+processlist_command, processlist_time, processlist_state, processlist_info,
+parent_thread_id, role, instrumented
+FROM performance_schema.threads
+WHERE name LIKE 'thread/innodb/%'
+GROUP BY name;
+name type processlist_user processlist_host processlist_db processlist_command processlist_time processlist_state processlist_info parent_thread_id role instrumented
+thread/innodb/io_handler_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+thread/innodb/page_cleaner_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+thread/innodb/srv_error_monitor_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+thread/innodb/srv_lock_timeout_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+thread/innodb/srv_master_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+thread/innodb/srv_monitor_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+thread/innodb/srv_purge_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
diff --git a/mysql-test/suite/perfschema/r/threads_insert_delayed.result b/mysql-test/suite/perfschema/r/threads_insert_delayed.result
new file mode 100644
index 00000000000..b3bcdc49f58
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/threads_insert_delayed.result
@@ -0,0 +1,19 @@
+DROP TABLE IF EXISTS t1;
+DROP TEMPORARY TABLE IF EXISTS t2;
+CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM;
+CREATE TEMPORARY TABLE t2 AS
+SELECT thread_id FROM performance_schema.threads WHERE 1 = 2;
+SELECT COUNT(*) = 0 AS expect_1 FROM performance_schema.threads
+WHERE name = 'thread/sql/delayed_insert';
+expect_1
+1
+INSERT INTO t2 SELECT thread_id
+FROM performance_schema.threads;
+INSERT DELAYED INTO t1 SET f1 = SLEEP(3);
+SELECT name, type, instrumented, processlist_user, processlist_host
+FROM performance_schema.threads
+WHERE thread_id NOT IN (SELECT thread_id FROM t2);
+name type instrumented processlist_user processlist_host
+thread/sql/delayed_insert FOREGROUND YES root localhost
+DROP TABLE t1;
+DROP TEMPORARY TABLE t2;
diff --git a/mysql-test/suite/perfschema/r/threads_mysql.result b/mysql-test/suite/perfschema/r/threads_mysql.result
new file mode 100644
index 00000000000..9f9c46fe6a6
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/threads_mysql.result
@@ -0,0 +1,119 @@
+SET GLOBAL event_scheduler = OFF;
+SELECT name, type, processlist_user, processlist_host, processlist_db,
+processlist_command, processlist_info,
+IF(parent_thread_id IS NULL, parent_thread_id, 'unified parent_thread_id')
+AS unified_parent_thread_id,
+role, instrumented
+FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%'
+ORDER BY name;
+name thread/sql/main
+type BACKGROUND
+processlist_user NULL
+processlist_host NULL
+processlist_db NULL
+processlist_command NULL
+processlist_info NULL
+unified_parent_thread_id NULL
+role NULL
+instrumented YES
+name thread/sql/one_connection
+type FOREGROUND
+processlist_user root
+processlist_host localhost
+processlist_db test
+processlist_command Query
+processlist_info SELECT name, type, processlist_user, processlist_host, processlist_db,
+processlist_command, processlist_info,
+IF(parent_thread_id IS NULL, parent_thread_id, 'unified parent_thread_id')
+AS unified_parent_thread_id,
+role, instrumented
+FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%'
+ORDER BY name
+unified_parent_thread_id unified parent_thread_id
+role NULL
+instrumented YES
+name thread/sql/signal_handler
+type BACKGROUND
+processlist_user NULL
+processlist_host NULL
+processlist_db NULL
+processlist_command NULL
+processlist_info NULL
+unified_parent_thread_id unified parent_thread_id
+role NULL
+instrumented YES
+name thread/sql/slave_background
+type BACKGROUND
+processlist_user NULL
+processlist_host NULL
+processlist_db NULL
+processlist_command NULL
+processlist_info NULL
+unified_parent_thread_id unified parent_thread_id
+role NULL
+instrumented YES
+CREATE TEMPORARY TABLE t1 AS
+SELECT thread_id FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%';
+SET GLOBAL event_scheduler = ON;
+SELECT name, type, processlist_user, processlist_host, processlist_db,
+processlist_command, processlist_info,
+IF(parent_thread_id IS NULL, parent_thread_id, 'unified parent_thread_id')
+AS unified_parent_thread_id,
+role, instrumented
+FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%'
+ AND thread_id NOT IN (SELECT thread_id FROM t1)
+ORDER BY name;
+name thread/sql/event_scheduler
+type FOREGROUND
+processlist_user root
+processlist_host localhost
+processlist_db NULL
+processlist_command Sleep
+processlist_info NULL
+unified_parent_thread_id unified parent_thread_id
+role NULL
+instrumented YES
+TRUNCATE t1;
+INSERT INTO t1
+SELECT thread_id FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%';
+SELECT COUNT(*) INTO @aux FROM t1;
+DROP EVENT IF EXISTS t_ps_event;
+CREATE EVENT t_ps_event
+ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND
+DO SELECT SLEEP(3);
+SELECT name, type, processlist_user, processlist_host, processlist_db,
+processlist_command, processlist_info,
+IF(parent_thread_id IS NULL, parent_thread_id, 'unified parent_thread_id')
+AS unified_parent_thread_id,
+role, instrumented
+FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%'
+ AND thread_id NOT IN (SELECT thread_id FROM t1)
+ORDER BY name;
+name thread/sql/event_worker
+type FOREGROUND
+processlist_user root
+processlist_host localhost
+processlist_db NULL
+processlist_command Sleep
+processlist_info SELECT SLEEP(3)
+unified_parent_thread_id unified parent_thread_id
+role NULL
+instrumented YES
+SELECT t2.name AS parent_thread_name, t1.name AS child_thread_name
+FROM performance_schema.threads t1 INNER JOIN performance_schema.threads t2
+ON t1.parent_thread_id = t2.thread_id
+WHERE t1.name LIKE 'thread/sql%'
+ AND t1.parent_thread_id IS NOT NULL
+ORDER BY parent_thread_name, child_thread_name;
+parent_thread_name child_thread_name
+thread/sql/event_scheduler thread/sql/event_worker
+thread/sql/main thread/sql/one_connection
+thread/sql/main thread/sql/signal_handler
+thread/sql/main thread/sql/slave_background
+thread/sql/one_connection thread/sql/event_scheduler
diff --git a/mysql-test/suite/perfschema/r/trigger_table_io.result b/mysql-test/suite/perfschema/r/trigger_table_io.result
new file mode 100644
index 00000000000..9fc63e69675
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/trigger_table_io.result
@@ -0,0 +1,199 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+drop table if exists test.t1;
+drop table if exists test.t2;
+create table test.t1 (a int, v int) engine = MyISAM;
+create table test.t2 (b int, v int) engine = MyISAM;
+create trigger t1_bi before insert on t1
+for each row insert into test.t2 set b = new.a, v = 0;
+create trigger t1_ai after insert on t1
+for each row update test.t2 set v = 1 where b = new.a;
+create trigger t1_bu before update on t1
+for each row update test.t2 set v = 3 where b = old.a;
+create trigger t1_au after update on t1
+for each row update test.t2 set v = 4 where b = new.a;
+create trigger t1_bd before delete on t1
+for each row delete from test.t2 where b = old.a;
+create trigger t1_ad after delete on t1
+for each row insert into test.t2 set b = old.a, v = 99;
+update performance_schema.setup_consumers set enabled = 'YES';
+insert into marker set a = 1;
+insert into t1 set a = 1, v = 10;
+insert into marker set a = 1;
+insert into t1 set a = 2, v = 20;
+insert into marker set a = 1;
+select * from t1;
+a v
+1 10
+2 20
+insert into marker set a = 1;
+select * from t2;
+b v
+1 1
+2 1
+insert into marker set a = 1;
+update t1 set v = v + 100;
+insert into marker set a = 1;
+select * from t1;
+a v
+1 110
+2 120
+insert into marker set a = 1;
+select * from t2;
+b v
+1 4
+2 4
+insert into marker set a = 1;
+delete from t1 where a = 1;
+insert into marker set a = 1;
+select * from t1;
+a v
+2 120
+insert into marker set a = 1;
+select * from t2;
+b v
+1 99
+2 4
+insert into marker set a = 1;
+delete from t1 where a = 2;
+insert into marker set a = 1;
+select * from t1;
+a v
+insert into marker set a = 1;
+select * from t2;
+b v
+1 99
+2 99
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+drop table test.t1;
+drop table test.t2;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/unary_digest.result b/mysql-test/suite/perfschema/r/unary_digest.result
new file mode 100644
index 00000000000..44347886a96
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/unary_digest.result
@@ -0,0 +1,47 @@
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+ERROR 42S02: Table 'test.expect_unary' doesn't exist
+ERROR 42S02: Table 'test.expect_unary' doesn't exist
+ERROR 42S02: Table 'test.expect_unary' doesn't exist
+ERROR 42S02: Table 'test.expect_unary' doesn't exist
+ERROR 42S02: Table 'test.expect_unary' doesn't exist
+ERROR 42S02: Table 'test.expect_binary' doesn't exist
+ERROR 42S02: Table 'test.expect_binary' doesn't exist
+ERROR 42S02: Table 'test.expect_binary' doesn't exist
+ERROR 42S02: Table 'test.expect_binary' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_full_reduce' doesn't exist
+ERROR 42S02: Table 'test.expect_unchanged' doesn't exist
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR
+FROM performance_schema.events_statements_summary_by_digest;
+SCHEMA_NAME DIGEST_TEXT COUNT_STAR
+test TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
+test SELECT ? FROM `expect_unary` 5
+test SELECT ? + ? FROM `expect_binary` 2
+test SELECT ? - ? FROM `expect_binary` 2
+test INSERT INTO `expect_full_reduce` VALUES (...) 27
+test SELECT `a` - `b` , `a` + `b` , - `a` , - `b` , + `a` , + `b` FROM `expect_unchanged` 1
diff --git a/mysql-test/suite/perfschema/r/update_order-3837.result b/mysql-test/suite/perfschema/r/update_order-3837.result
new file mode 100644
index 00000000000..5d19d640a2f
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/update_order-3837.result
@@ -0,0 +1 @@
+UPDATE performance_schema.setup_instruments SET timed = 'YES' ORDER BY name;
diff --git a/mysql-test/suite/perfschema/r/view_table_io.result b/mysql-test/suite/perfschema/r/view_table_io.result
new file mode 100644
index 00000000000..5d8ad26ae77
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/view_table_io.result
@@ -0,0 +1,148 @@
+drop table if exists test.marker;
+create table test.marker(a int);
+update performance_schema.setup_consumers set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/io/table/%";
+truncate table performance_schema.events_waits_history_long;
+flush status;
+flush tables;
+drop view if exists test.v1;
+drop table if exists test.no_index_tab;
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+create table test.no_index_tab
+( a varchar(255) not null, b int not null) engine = MyISAM;
+insert into marker set a = 1;
+show create table test.no_index_tab;
+Table Create Table
+no_index_tab CREATE TABLE `no_index_tab` (
+ `a` varchar(255) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+insert into marker set a = 1;
+create view test.v1 as select * from test.no_index_tab;
+insert into marker set a = 1;
+insert into test.v1 set a = 'foo', b = 1;
+insert into marker set a = 1;
+insert into test.v1 set a = 'foo', b = 2;
+insert into marker set a = 1;
+insert into test.v1 set a = 'foo', b = 3;
+insert into marker set a = 1;
+select * from test.v1;
+a b
+foo 1
+foo 2
+foo 3
+insert into marker set a = 1;
+update test.v1 set a = 'bar';
+insert into marker set a = 1;
+select * from test.v1 limit 2;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+delete from test.v1 where b = 3;
+insert into marker set a = 1;
+select * from test.v1;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+optimize table test.v1;
+Table Op Msg_type Msg_text
+test.v1 optimize Error 'test.v1' is not BASE TABLE
+test.v1 optimize status Operation failed
+insert into marker set a = 1;
+select * from test.v1;
+a b
+bar 1
+bar 2
+insert into marker set a = 1;
+truncate table test.v1;
+ERROR 42S02: Table 'test.v1' doesn't exist
+insert into marker set a = 1;
+drop view test.v1;
+insert into marker set a = 1;
+drop table test.no_index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+select event_name,
+left(source, locate(":", source)) as short_source,
+object_type, object_schema,
+if (locate("#sql-", object_name), "#sql-XXXX", object_name)
+as pretty_name,
+operation, number_of_bytes
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+ and object_schema in ("test")
+order by thread_id, event_id;
+event_name short_source object_type object_schema pretty_name operation number_of_bytes
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
+show status where Variable_name like 'performance_schema_%' and
+Variable_name not like 'performance_schema_%_classes_lost';
+Variable_name Value
+Performance_schema_accounts_lost 0
+Performance_schema_cond_instances_lost 0
+Performance_schema_digest_lost 0
+Performance_schema_file_handles_lost 0
+Performance_schema_file_instances_lost 0
+Performance_schema_hosts_lost 0
+Performance_schema_locker_lost 0
+Performance_schema_mutex_instances_lost 0
+Performance_schema_rwlock_instances_lost 0
+Performance_schema_session_connect_attrs_lost 0
+Performance_schema_socket_instances_lost 0
+Performance_schema_table_handles_lost 0
+Performance_schema_table_instances_lost 0
+Performance_schema_thread_instances_lost 0
+Performance_schema_users_lost 0
+truncate performance_schema.events_waits_history_long;
+flush status;
+update performance_schema.setup_consumers set enabled='NO';
+truncate performance_schema.events_waits_history_long;
+drop table test.marker;
+flush status;
+update performance_schema.setup_instruments set enabled='YES';
+update performance_schema.setup_consumers set enabled='YES';
diff --git a/mysql-test/suite/perfschema/t/all_instances.test b/mysql-test/suite/perfschema/t/all_instances.test
deleted file mode 100644
index 53d542b6650..00000000000
--- a/mysql-test/suite/perfschema/t/all_instances.test
+++ /dev/null
@@ -1,31 +0,0 @@
---source include/not_embedded.inc
---source include/have_perfschema.inc
---source include/have_maria.inc
---source include/have_archive.inc
---source include/have_blackhole.inc
---source include/have_ssl.inc
---source include/not_windows.inc
---source include/one_thread_per_connection.inc
-
-use performance_schema;
-
-#
-# list all instances of everything.
-#
-
-#
-# "group by" sorts and removes duplicates.
-# "where" filters out instances that can be conditionally compiled out
-#
-
-select name from mutex_instances
- where name not rlike '/(DEBUG_SYNC::mutex)$'
- and name != 'wait/synch/mutex/mysys/BITMAP::mutex'
- group by name;
-# CRYPTO_dynlock_value::lock exists only when building with OpenSSL (not YaSSL).
-select name from rwlock_instances
- where name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock")
- group by name;
-select name from cond_instances where name not rlike '/(DEBUG_SYNC::cond)$' group by name;
-select event_name from file_instances group by event_name;
-select name from threads group by name;
diff --git a/mysql-test/suite/perfschema/t/all_tests.test b/mysql-test/suite/perfschema/t/all_tests.test
new file mode 100644
index 00000000000..e0db6d459de
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/all_tests.test
@@ -0,0 +1,64 @@
+--source include/not_embedded.inc
+
+#
+# Test based on mysql-test/suite/sys_vars/t/all_vars.test
+# and adapted for the performance schema tables.
+#
+# This test verifies that *all* performance schema tables are tested
+# by the perfschema test suite.
+# In particular, every table there must be covered by:
+# - a ddl_<table_name>.test file.
+# - a dml_<table_name>.test file.
+#
+
+#
+# we can diff in perl or in sql, as it's my_SQL_test suite, do it in sql
+#
+
+perl;
+ use File::Basename;
+ my $dirname=dirname($ENV{MYSQLTEST_FILE});
+ my @all_tests=<$dirname/*.test>;
+ open(F, '>', "$ENV{MYSQLTEST_VARDIR}/tmp/perfschema-all_tests.txt") or die;
+ binmode F;
+ print F join "\n", sort map { basename $_ } @all_tests;
+EOF
+
+--disable_warnings
+drop table if exists t1;
+drop table if exists t2;
+--enable_warnings
+
+create table t1 (test_name text);
+create table t2 (test_name text);
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval load data infile "$MYSQLTEST_VARDIR/tmp/perfschema-all_tests.txt" into table t1;
+
+insert into t2 select concat('ddl_', table_name, '.test') from information_schema.tables
+ where table_schema='performance_schema';
+insert into t2 select concat('dml_', table_name, '.test') from information_schema.tables
+ where table_schema='performance_schema';
+
+# Abbreviations used for naming test files:
+update t2 set test_name= replace(test_name, "events_waits_summary_", "ews_");
+update t2 set test_name= replace(test_name, "events_stages_summary_", "esgs_");
+update t2 set test_name= replace(test_name, "events_statements_summary_", "esms_");
+update t2 set test_name= replace(test_name, "file_summary_", "fs_");
+update t2 set test_name= replace(test_name, "objects_summary_", "os_");
+update t2 set test_name= replace(test_name, "table_io_waits_summary_", "tiws_");
+update t2 set test_name= replace(test_name, "table_lock_waits_summary_", "tlws_");
+
+# Debug
+# select test_name as 'FOUND' from t1;
+# select test_name as 'EXPECTED' from t2;
+
+delete from t2 where t2.test_name in (select t1.test_name from t1);
+
+# If this fails, the test listed in the output is missing from the test suite.
+# The way to fix the failure is to implement the missing test, not silence this select.
+select test_name as `MISSING DDL/DML TESTS` from t2;
+
+drop table t1;
+drop table t2;
+
+--remove_file $MYSQLTEST_VARDIR/tmp/perfschema-all_tests.txt
diff --git a/mysql-test/suite/perfschema/t/bad_option_2.test b/mysql-test/suite/perfschema/t/bad_option_2.test
index 175767bb9f2..ce3e5c3243b 100644
--- a/mysql-test/suite/perfschema/t/bad_option_2.test
+++ b/mysql-test/suite/perfschema/t/bad_option_2.test
@@ -8,26 +8,9 @@ let $outfile= $MYSQLTEST_VARDIR/tmp/bad_option_2.txt;
--error 0,1
--remove_file $outfile
--error 3
---exec $MYSQLD_BOOTSTRAP_CMD --loose-console --performance-schema-max_=12 > $outfile 2>&1
-
-perl;
- use strict;
- use warnings;
- my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/bad_option_2.txt";
- open(FILE, "<", $fname) or die;
- my @lines= <FILE>;
- # those must be in the file for the test to pass
- my @patterns=
- ("ambiguous option '--performance-schema-max_=12'");
- foreach my $one_line (@lines)
- {
- foreach my $one_pattern (@patterns)
- {
- # print pattern, not line, to get a stable output
- print "Found: $one_pattern\n" if ($one_line =~ /$one_pattern/);
- }
- }
- close FILE;
-EOF
+--exec $MYSQLD_BOOTSTRAP_CMD --loose-console --enable-getopt-prefix-matching --performance-schema-max_=12 > $outfile 2>&1
+--let SEARCH_PATTERN=ambiguous option '--performance-schema-max_=12'
+--let SEARCH_FILE=$outfile
+--source include/search_pattern_in_file.inc
--remove_file $outfile
diff --git a/mysql-test/suite/perfschema/t/binlog_edge_mix-master.opt b/mysql-test/suite/perfschema/t/binlog_edge_mix-master.opt
new file mode 100644
index 00000000000..824b8885343
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_edge_mix-master.opt
@@ -0,0 +1,2 @@
+--log-bin
+--binlog-ignore-db=my_local_db
diff --git a/mysql-test/suite/perfschema/t/binlog_edge_mix.test b/mysql-test/suite/perfschema/t/binlog_edge_mix.test
new file mode 100644
index 00000000000..da6a6290295
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_edge_mix.test
@@ -0,0 +1,10 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/have_log_bin.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+set binlog_format=mixed;
+
+--source ../include/binlog_edge_common.inc
+
diff --git a/mysql-test/suite/perfschema/t/binlog_edge_row-master.opt b/mysql-test/suite/perfschema/t/binlog_edge_row-master.opt
new file mode 100644
index 00000000000..824b8885343
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_edge_row-master.opt
@@ -0,0 +1,2 @@
+--log-bin
+--binlog-ignore-db=my_local_db
diff --git a/mysql-test/suite/perfschema/t/binlog_edge_row.test b/mysql-test/suite/perfschema/t/binlog_edge_row.test
new file mode 100644
index 00000000000..2931aa83113
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_edge_row.test
@@ -0,0 +1,10 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/have_log_bin.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+set binlog_format=row;
+
+--source ../include/binlog_edge_common.inc
+
diff --git a/mysql-test/suite/perfschema/t/binlog_edge_stmt-master.opt b/mysql-test/suite/perfschema/t/binlog_edge_stmt-master.opt
new file mode 100644
index 00000000000..824b8885343
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_edge_stmt-master.opt
@@ -0,0 +1,2 @@
+--log-bin
+--binlog-ignore-db=my_local_db
diff --git a/mysql-test/suite/perfschema/t/binlog_edge_stmt.test b/mysql-test/suite/perfschema/t/binlog_edge_stmt.test
new file mode 100644
index 00000000000..33bf2447998
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_edge_stmt.test
@@ -0,0 +1,10 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/have_log_bin.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+set binlog_format=statement;
+
+--source ../include/binlog_edge_common.inc
+
diff --git a/mysql-test/suite/perfschema/t/binlog_ok_mix-master.opt b/mysql-test/suite/perfschema/t/binlog_ok_mix-master.opt
new file mode 100644
index 00000000000..824b8885343
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_ok_mix-master.opt
@@ -0,0 +1,2 @@
+--log-bin
+--binlog-ignore-db=my_local_db
diff --git a/mysql-test/suite/perfschema/t/binlog_ok_mix.test b/mysql-test/suite/perfschema/t/binlog_ok_mix.test
new file mode 100644
index 00000000000..8020814a59c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_ok_mix.test
@@ -0,0 +1,10 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/have_log_bin.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+set binlog_format=mixed;
+
+--source ../include/binlog_ok_common.inc
+
diff --git a/mysql-test/suite/perfschema/t/binlog_ok_row-master.opt b/mysql-test/suite/perfschema/t/binlog_ok_row-master.opt
new file mode 100644
index 00000000000..824b8885343
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_ok_row-master.opt
@@ -0,0 +1,2 @@
+--log-bin
+--binlog-ignore-db=my_local_db
diff --git a/mysql-test/suite/perfschema/t/binlog_ok_row.test b/mysql-test/suite/perfschema/t/binlog_ok_row.test
new file mode 100644
index 00000000000..ad95cc8fad8
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_ok_row.test
@@ -0,0 +1,10 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/have_log_bin.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+set binlog_format=row;
+
+--source ../include/binlog_ok_common.inc
+
diff --git a/mysql-test/suite/perfschema/t/binlog_ok_stmt-master.opt b/mysql-test/suite/perfschema/t/binlog_ok_stmt-master.opt
new file mode 100644
index 00000000000..824b8885343
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_ok_stmt-master.opt
@@ -0,0 +1,2 @@
+--log-bin
+--binlog-ignore-db=my_local_db
diff --git a/mysql-test/suite/perfschema/t/binlog_ok_stmt.test b/mysql-test/suite/perfschema/t/binlog_ok_stmt.test
new file mode 100644
index 00000000000..d6f4d452ffb
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/binlog_ok_stmt.test
@@ -0,0 +1,10 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/have_log_bin.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+set binlog_format=statement;
+
+--source ../include/binlog_ok_common.inc
+
diff --git a/mysql-test/suite/perfschema/t/checksum.test b/mysql-test/suite/perfschema/t/checksum.test
index c0f8692d6f6..125573242cc 100644
--- a/mysql-test/suite/perfschema/t/checksum.test
+++ b/mysql-test/suite/perfschema/t/checksum.test
@@ -9,41 +9,97 @@
#
--disable_result_log
+checksum table performance_schema.accounts;
checksum table performance_schema.cond_instances;
+checksum table performance_schema.events_stages_current;
+checksum table performance_schema.events_stages_history;
+checksum table performance_schema.events_stages_history_long;
+checksum table performance_schema.events_stages_summary_by_account_by_event_name;
+checksum table performance_schema.events_stages_summary_by_host_by_event_name;
+checksum table performance_schema.events_stages_summary_by_thread_by_event_name;
+checksum table performance_schema.events_stages_summary_by_user_by_event_name;
+checksum table performance_schema.events_stages_summary_global_by_event_name;
+checksum table performance_schema.events_statements_current;
+checksum table performance_schema.events_statements_history;
+checksum table performance_schema.events_statements_history_long;
+checksum table performance_schema.events_statements_summary_by_account_by_event_name;
+checksum table performance_schema.events_statements_summary_by_host_by_event_name;
+checksum table performance_schema.events_statements_summary_by_thread_by_event_name;
+checksum table performance_schema.events_statements_summary_by_user_by_event_name;
+checksum table performance_schema.events_statements_summary_global_by_event_name;
checksum table performance_schema.events_waits_current;
checksum table performance_schema.events_waits_history;
checksum table performance_schema.events_waits_history_long;
+checksum table performance_schema.events_waits_summary_by_account_by_event_name;
+checksum table performance_schema.events_waits_summary_by_host_by_event_name;
checksum table performance_schema.events_waits_summary_by_instance;
checksum table performance_schema.events_waits_summary_by_thread_by_event_name;
+checksum table performance_schema.events_waits_summary_by_user_by_event_name;
checksum table performance_schema.events_waits_summary_global_by_event_name;
checksum table performance_schema.file_instances;
checksum table performance_schema.file_summary_by_event_name;
checksum table performance_schema.file_summary_by_instance;
+checksum table performance_schema.hosts;
checksum table performance_schema.mutex_instances;
+checksum table performance_schema.objects_summary_global_by_type;
checksum table performance_schema.performance_timers;
checksum table performance_schema.rwlock_instances;
+checksum table performance_schema.setup_actors;
checksum table performance_schema.setup_consumers;
checksum table performance_schema.setup_instruments;
+checksum table performance_schema.setup_objects;
checksum table performance_schema.setup_timers;
+checksum table performance_schema.table_io_waits_summary_by_index_usage;
+checksum table performance_schema.table_io_waits_summary_by_table;
+checksum table performance_schema.table_lock_waits_summary_by_table;
checksum table performance_schema.threads;
+checksum table performance_schema.users;
+checksum table performance_schema.accounts extended;
checksum table performance_schema.cond_instances extended;
+checksum table performance_schema.events_stages_current extended;
+checksum table performance_schema.events_stages_history extended;
+checksum table performance_schema.events_stages_history_long extended;
+checksum table performance_schema.events_stages_summary_by_account_by_event_name extended;
+checksum table performance_schema.events_stages_summary_by_host_by_event_name extended;
+checksum table performance_schema.events_stages_summary_by_thread_by_event_name extended;
+checksum table performance_schema.events_stages_summary_by_user_by_event_name extended;
+checksum table performance_schema.events_stages_summary_global_by_event_name extended;
+checksum table performance_schema.events_statements_current extended;
+checksum table performance_schema.events_statements_history extended;
+checksum table performance_schema.events_statements_history_long extended;
+checksum table performance_schema.events_statements_summary_by_account_by_event_name extended;
+checksum table performance_schema.events_statements_summary_by_host_by_event_name extended;
+checksum table performance_schema.events_statements_summary_by_thread_by_event_name extended;
+checksum table performance_schema.events_statements_summary_by_user_by_event_name extended;
+checksum table performance_schema.events_statements_summary_global_by_event_name extended;
checksum table performance_schema.events_waits_current extended;
checksum table performance_schema.events_waits_history extended;
checksum table performance_schema.events_waits_history_long extended;
+checksum table performance_schema.events_waits_summary_by_account_by_event_name extended;
+checksum table performance_schema.events_waits_summary_by_host_by_event_name extended;
checksum table performance_schema.events_waits_summary_by_instance extended;
checksum table performance_schema.events_waits_summary_by_thread_by_event_name extended;
+checksum table performance_schema.events_waits_summary_by_user_by_event_name extended;
checksum table performance_schema.events_waits_summary_global_by_event_name extended;
checksum table performance_schema.file_instances extended;
checksum table performance_schema.file_summary_by_event_name extended;
checksum table performance_schema.file_summary_by_instance extended;
+checksum table performance_schema.hosts extended;
checksum table performance_schema.mutex_instances extended;
+checksum table performance_schema.objects_summary_global_by_type extended;
checksum table performance_schema.performance_timers extended;
checksum table performance_schema.rwlock_instances extended;
+checksum table performance_schema.setup_actors extended;
checksum table performance_schema.setup_consumers extended;
checksum table performance_schema.setup_instruments extended;
+checksum table performance_schema.setup_objects extended;
checksum table performance_schema.setup_timers extended;
+checksum table performance_schema.table_io_waits_summary_by_index_usage extended;
+checksum table performance_schema.table_io_waits_summary_by_table extended;
+checksum table performance_schema.table_lock_waits_summary_by_table extended;
checksum table performance_schema.threads extended;
+checksum table performance_schema.users extended;
--enable_result_log
diff --git a/mysql-test/suite/perfschema/t/column_privilege.test b/mysql-test/suite/perfschema/t/column_privilege.test
index 649e7b0aa05..004492c6145 100644
--- a/mysql-test/suite/perfschema/t/column_privilege.test
+++ b/mysql-test/suite/perfschema/t/column_privilege.test
@@ -7,6 +7,7 @@
show grants;
+create user 'pfs_user_5'@localhost;
grant usage on *.* to 'pfs_user_5'@localhost with GRANT OPTION;
# Test per column privileges on performance_schema
@@ -58,6 +59,4 @@ REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'pfs_user_5'@localhost;
DROP USER 'pfs_user_5'@localhost;
flush privileges;
UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
-UPDATE performance_schema.setup_consumers SET enabled = 'YES';
-UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE';
diff --git a/mysql-test/suite/perfschema/t/connect_attrs.test b/mysql-test/suite/perfschema/t/connect_attrs.test
new file mode 100644
index 00000000000..850d9ddd248
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/connect_attrs.test
@@ -0,0 +1,83 @@
+# Session connect attributes test
+--source include/have_perfschema.inc
+
+# although the connection attributes transfer code works
+# with embedded P_S is not active, so the test won't run.
+# TODO: remove this when P_S works with embedded.
+--source include/not_embedded.inc
+
+# make sure we're alone
+let $count_sessions= 1;
+--source include/wait_until_count_sessions.inc
+
+# basic performance_schema.session_connect_attrs tests
+
+# check the presense of the pre-defined attributes
+--echo # must return 0, 6
+SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*)
+ FROM performance_schema.session_connect_attrs
+ WHERE ATTR_NAME IN ('_os', '_client_name', '_pid',
+ '_client_version', '_platform', 'program_name')
+ AND PROCESSLIST_ID = CONNECTION_ID();
+
+# check the presense of the pre-defined attributes
+--echo # must return 1
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+ FROM performance_schema.session_connect_attrs;
+
+
+# basic performance_schema.session_account_connect_attrs tests
+
+# check the presense of the pre-defined attributes
+--echo # must return 0, 6
+SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*)
+ FROM performance_schema.session_account_connect_attrs
+ WHERE ATTR_NAME IN ('_os', '_client_name', '_pid',
+ '_client_version', '_platform', 'program_name')
+ AND PROCESSLIST_ID = CONNECTION_ID();
+
+# check the presense of the pre-defined attributes
+--echo # must return 1
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+ FROM performance_schema.session_account_connect_attrs;
+
+
+
+CREATE USER wl5924@localhost;
+
+connect(non_privileged_user,localhost,wl5924,,test);
+connection default;
+
+--echo # must return 1
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+ FROM performance_schema.session_account_connect_attrs;
+
+--echo # must return 2
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+ FROM performance_schema.session_connect_attrs;
+
+connection non_privileged_user;
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+ FROM performance_schema.session_account_connect_attrs;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT COUNT(DISTINCT PROCESSLIST_ID)
+ FROM performance_schema.session_connect_attrs;
+
+connection default;
+disconnect non_privileged_user;
+
+grant select on performance_schema.* to wl5924@localhost;
+change_user wl5924;
+SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*)
+ FROM performance_schema.session_account_connect_attrs
+ WHERE ATTR_NAME IN ('_os', '_client_name', '_pid',
+ '_client_version', '_platform', 'program_name')
+ AND PROCESSLIST_ID = CONNECTION_ID();
+change_user root,,test;
+
+DROP USER wl5924@localhost;
+
+# Wait till all disconnects are completed
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/perfschema/t/connection.test b/mysql-test/suite/perfschema/t/connection.test
new file mode 100644
index 00000000000..1ca0ce2f67b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/connection.test
@@ -0,0 +1,7 @@
+# Tests for the performance schema
+#
+
+--source ../include/connection_setup.inc
+--source ../include/connection_load.inc
+--source ../include/connection_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/connection_3a-master.opt b/mysql-test/suite/perfschema/t/connection_3a-master.opt
new file mode 100644
index 00000000000..315f0f27334
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/connection_3a-master.opt
@@ -0,0 +1 @@
+--loose-performance_schema_accounts_size=3
diff --git a/mysql-test/suite/perfschema/t/connection_3a.test b/mysql-test/suite/perfschema/t/connection_3a.test
new file mode 100644
index 00000000000..1ca0ce2f67b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/connection_3a.test
@@ -0,0 +1,7 @@
+# Tests for the performance schema
+#
+
+--source ../include/connection_setup.inc
+--source ../include/connection_load.inc
+--source ../include/connection_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/connection_3a_3u-master.opt b/mysql-test/suite/perfschema/t/connection_3a_3u-master.opt
new file mode 100644
index 00000000000..945dc5a0117
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/connection_3a_3u-master.opt
@@ -0,0 +1,2 @@
+--loose-performance_schema_accounts_size=3
+--loose-performance_schema_users_size=3
diff --git a/mysql-test/suite/perfschema/t/connection_3a_3u.test b/mysql-test/suite/perfschema/t/connection_3a_3u.test
new file mode 100644
index 00000000000..1ca0ce2f67b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/connection_3a_3u.test
@@ -0,0 +1,7 @@
+# Tests for the performance schema
+#
+
+--source ../include/connection_setup.inc
+--source ../include/connection_load.inc
+--source ../include/connection_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/connection_3u-master.opt b/mysql-test/suite/perfschema/t/connection_3u-master.opt
new file mode 100644
index 00000000000..ac3ef727f8a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/connection_3u-master.opt
@@ -0,0 +1 @@
+--loose-performance_schema_users_size=3
diff --git a/mysql-test/suite/perfschema/t/connection_3u.test b/mysql-test/suite/perfschema/t/connection_3u.test
new file mode 100644
index 00000000000..1ca0ce2f67b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/connection_3u.test
@@ -0,0 +1,7 @@
+# Tests for the performance schema
+#
+
+--source ../include/connection_setup.inc
+--source ../include/connection_load.inc
+--source ../include/connection_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/csv_table_io.test b/mysql-test/suite/perfschema/t/csv_table_io.test
new file mode 100644
index 00000000000..862b488caee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/csv_table_io.test
@@ -0,0 +1,28 @@
+# Tests for PERFORMANCE_SCHEMA table io
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/table_io_setup_helper.inc
+
+let $engine_type= CSV;
+let $table_item= test.no_index_tab;
+--disable_warnings
+eval drop table if exists $table_item;
+--enable_warnings
+
+# Start recording events
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+eval create table $table_item
+( a varchar(255) not null, b int not null) engine = $engine_type;
+insert into marker set a = 1;
+eval show create table $table_item;
+--source ../include/table_io_basic_dml.inc
+eval drop table $table_item;
+
+# Stop recording events + pull result
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/ddl_accounts.test b/mysql-test/suite/perfschema/t/ddl_accounts.test
new file mode 100644
index 00000000000..c29553b22fc
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_accounts.test
@@ -0,0 +1,17 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.accounts
+ add column foo integer;
+
+truncate table performance_schema.accounts;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.accounts ADD INDEX test_index(CURRENT_CONNECTIONS);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.accounts(CURRENT_CONNECTIONS);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esgs_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esgs_by_account_by_event_name.test
new file mode 100644
index 00000000000..da15335d068
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esgs_by_account_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_stages_summary_by_account_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_stages_summary_by_account_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_stages_summary_by_account_by_event_name
+ ADD INDEX test_index(USERNAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_stages_summary_by_account_by_event_name(USERNAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esgs_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esgs_by_host_by_event_name.test
new file mode 100644
index 00000000000..b6c90ab42e7
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esgs_by_host_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_stages_summary_by_host_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_stages_summary_by_host_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_stages_summary_by_host_by_event_name
+ ADD INDEX test_index(HOSTNAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_stages_summary_by_host_by_event_name(HOSTNAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esgs_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esgs_by_thread_by_event_name.test
new file mode 100644
index 00000000000..87d90d5e58c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esgs_by_thread_by_event_name.test
@@ -0,0 +1,18 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_stages_summary_by_thread_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_stages_summary_by_thread_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_stages_summary_by_thread_by_event_name ADD INDEX test_index(THREAD_ID);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_stages_summary_by_thread_by_event_name(THREAD_ID);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esgs_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esgs_by_user_by_event_name.test
new file mode 100644
index 00000000000..81503c5a4f1
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esgs_by_user_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_stages_summary_by_user_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_stages_summary_by_user_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_stages_summary_by_user_by_event_name
+ ADD INDEX test_index(USERNAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_stages_summary_by_user_by_event_name(USERNAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esgs_global_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esgs_global_by_event_name.test
new file mode 100644
index 00000000000..60a74064c87
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esgs_global_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_stages_summary_global_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_stages_summary_global_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_stages_summary_global_by_event_name
+ ADD INDEX test_index(EVENT_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_stages_summary_global_by_event_name(EVENT_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esms_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esms_by_account_by_event_name.test
new file mode 100644
index 00000000000..02c508e919b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esms_by_account_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_statements_summary_by_account_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_statements_summary_by_account_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_statements_summary_by_account_by_event_name
+ ADD INDEX test_index(USERNAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_statements_summary_by_account_by_event_name(USERNAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test b/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test
new file mode 100644
index 00000000000..cea7ea27299
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test
@@ -0,0 +1,33 @@
+# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
+
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_statements_summary_by_digest
+ add column foo integer;
+
+truncate table performance_schema.events_statements_summary_by_digest;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_statements_summary_by_digest ADD INDEX test_index(DIGEST);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_statements_summary_by_digest(DIGEST);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esms_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esms_by_host_by_event_name.test
new file mode 100644
index 00000000000..9ff8401894b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esms_by_host_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_statements_summary_by_host_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_statements_summary_by_host_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_statements_summary_by_host_by_event_name
+ ADD INDEX test_index(HOSTNAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_statements_summary_by_host_by_event_name(HOSTNAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esms_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esms_by_thread_by_event_name.test
new file mode 100644
index 00000000000..53775a88779
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esms_by_thread_by_event_name.test
@@ -0,0 +1,18 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_statements_summary_by_thread_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_statements_summary_by_thread_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_statements_summary_by_thread_by_event_name ADD INDEX test_index(THREAD_ID);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_statements_summary_by_thread_by_event_name(THREAD_ID);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esms_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esms_by_user_by_event_name.test
new file mode 100644
index 00000000000..4af935374a8
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esms_by_user_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_statements_summary_by_user_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_statements_summary_by_user_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_statements_summary_by_user_by_event_name
+ ADD INDEX test_index(USERNAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_statements_summary_by_user_by_event_name(USERNAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_esms_global_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_esms_global_by_event_name.test
new file mode 100644
index 00000000000..7f8e5484cef
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_esms_global_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_statements_summary_global_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_statements_summary_global_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_statements_summary_global_by_event_name
+ ADD INDEX test_index(EVENT_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_statements_summary_global_by_event_name(EVENT_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_events_stages_current.test b/mysql-test/suite/perfschema/t/ddl_events_stages_current.test
new file mode 100644
index 00000000000..6085e41a7fd
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_events_stages_current.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_stages_current add column foo integer;
+
+truncate table performance_schema.events_stages_current;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_stages_current ADD INDEX test_index(EVENT_ID);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_current(EVENT_ID);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_events_stages_history.test b/mysql-test/suite/perfschema/t/ddl_events_stages_history.test
new file mode 100644
index 00000000000..1dd186571b2
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_events_stages_history.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_stages_history add column foo integer;
+
+truncate table performance_schema.events_stages_history;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_stages_history ADD INDEX test_index(EVENT_ID);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history(EVENT_ID);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_events_stages_history_long.test b/mysql-test/suite/perfschema/t/ddl_events_stages_history_long.test
new file mode 100644
index 00000000000..8298500cf6d
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_events_stages_history_long.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_stages_history_long add column foo integer;
+
+truncate table performance_schema.events_stages_history_long;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_stages_history_long ADD INDEX test_index(EVENT_ID);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history_long(EVENT_ID);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_events_statements_current.test b/mysql-test/suite/perfschema/t/ddl_events_statements_current.test
new file mode 100644
index 00000000000..1bff625805f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_events_statements_current.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_statements_current add column foo integer;
+
+truncate table performance_schema.events_statements_current;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_statements_current ADD INDEX test_index(EVENT_ID);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.events_statements_current(EVENT_ID);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_events_statements_history.test b/mysql-test/suite/perfschema/t/ddl_events_statements_history.test
new file mode 100644
index 00000000000..2113fc7f05f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_events_statements_history.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_statements_history add column foo integer;
+
+truncate table performance_schema.events_statements_history;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_statements_history ADD INDEX test_index(EVENT_ID);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.events_statements_history(EVENT_ID);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_events_statements_history_long.test b/mysql-test/suite/perfschema/t/ddl_events_statements_history_long.test
new file mode 100644
index 00000000000..6a42c957c21
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_events_statements_history_long.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_statements_history_long add column foo integer;
+
+truncate table performance_schema.events_statements_history_long;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_statements_history_long ADD INDEX test_index(EVENT_ID);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.events_statements_history_long(EVENT_ID);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_ews_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ews_by_account_by_event_name.test
new file mode 100644
index 00000000000..cbca37ffd44
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_ews_by_account_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_waits_summary_by_account_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_waits_summary_by_account_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_waits_summary_by_account_by_event_name
+ ADD INDEX test_index(USERNAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_waits_summary_by_account_by_event_name(USERNAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_ews_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ews_by_host_by_event_name.test
new file mode 100644
index 00000000000..5957d193f7d
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_ews_by_host_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_waits_summary_by_host_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_waits_summary_by_host_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_waits_summary_by_host_by_event_name
+ ADD INDEX test_index(HOSTNAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_waits_summary_by_host_by_event_name(HOSTNAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_ews_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ews_by_user_by_event_name.test
new file mode 100644
index 00000000000..47f09752aa6
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_ews_by_user_by_event_name.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.events_waits_summary_by_user_by_event_name
+ add column foo integer;
+
+truncate table performance_schema.events_waits_summary_by_user_by_event_name;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.events_waits_summary_by_user_by_event_name
+ ADD INDEX test_index(USERNAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.events_waits_summary_by_user_by_event_name(USERNAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_host_cache.test b/mysql-test/suite/perfschema/t/ddl_host_cache.test
new file mode 100644
index 00000000000..0e8d153d33f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_host_cache.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.host_cache add column foo integer;
+
+truncate table performance_schema.host_cache;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.host_cache ADD INDEX test_index(IP);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.host_cache(IP);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_hosts.test b/mysql-test/suite/perfschema/t/ddl_hosts.test
new file mode 100644
index 00000000000..9651196c856
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_hosts.test
@@ -0,0 +1,17 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.hosts
+ add column foo integer;
+
+truncate table performance_schema.hosts;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.hosts ADD INDEX test_index(CURRENT_CONNECTIONS);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.hosts(CURRENT_CONNECTIONS);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_os_global_by_type.test b/mysql-test/suite/perfschema/t/ddl_os_global_by_type.test
new file mode 100644
index 00000000000..43c9017ac16
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_os_global_by_type.test
@@ -0,0 +1,19 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.objects_summary_global_by_type
+ add column foo integer;
+
+truncate table performance_schema.objects_summary_global_by_type;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.objects_summary_global_by_type
+ ADD INDEX test_index(OBJECT_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index
+ ON performance_schema.objects_summary_global_by_type(OBJECT_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_session_account_connect_attrs.test b/mysql-test/suite/perfschema/t/ddl_session_account_connect_attrs.test
new file mode 100644
index 00000000000..5d472d383ae
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_session_account_connect_attrs.test
@@ -0,0 +1,15 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.session_account_connect_attrs
+ ADD COLUMN foo INTEGER;
+
+-- error ER_WRONG_PERFSCHEMA_USAGE
+TRUNCATE TABLE performance_schema.session_account_connect_attrs;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.session_account_connect_attrs ADD INDEX test_index(ATTR_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.session_account_connect_attrs(ATTR_NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_session_connect_attrs.test b/mysql-test/suite/perfschema/t/ddl_session_connect_attrs.test
new file mode 100644
index 00000000000..8f3e10ca2a8
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_session_connect_attrs.test
@@ -0,0 +1,15 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.session_connect_attrs
+ ADD COLUMN foo INTEGER;
+
+-- error ER_WRONG_PERFSCHEMA_USAGE
+TRUNCATE TABLE performance_schema.session_connect_attrs;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.session_connect_attrs ADD INDEX test_index(ATTR_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.session_connect_attrs(ATTR_NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_setup_actors.test b/mysql-test/suite/perfschema/t/ddl_setup_actors.test
new file mode 100644
index 00000000000..836fe559d77
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_setup_actors.test
@@ -0,0 +1,29 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.setup_actors add column foo integer;
+
+--disable_warnings
+drop table if exists test.setup_actors;
+--enable_warnings
+
+create table test.setup_actors as
+ select * from performance_schema.setup_actors;
+
+truncate table performance_schema.setup_actors;
+
+select count(*) from performance_schema.setup_actors;
+
+insert into performance_schema.setup_actors
+ select * from test.setup_actors;
+drop table test.setup_actors;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.setup_actors ADD INDEX test_index(HOST);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_actors(HOST);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_setup_objects.test b/mysql-test/suite/perfschema/t/ddl_setup_objects.test
new file mode 100644
index 00000000000..adf09ae1ccf
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_setup_objects.test
@@ -0,0 +1,29 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.setup_objects add column foo integer;
+
+--disable_warnings
+drop table if exists test.setup_objects;
+--enable_warnings
+
+create table test.setup_objects as
+ select * from performance_schema.setup_objects;
+
+truncate table performance_schema.setup_objects;
+
+select count(*) from performance_schema.setup_objects;
+
+insert into performance_schema.setup_objects
+ select * from test.setup_objects;
+drop table test.setup_objects;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.setup_objects ADD INDEX test_index(OBJECT_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_objects(OBJECT_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_socket_instances.test b/mysql-test/suite/perfschema/t/ddl_socket_instances.test
new file mode 100644
index 00000000000..c84a04b02b4
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_socket_instances.test
@@ -0,0 +1,17 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.socket_instances add column foo integer;
+
+-- error ER_WRONG_PERFSCHEMA_USAGE
+truncate table performance_schema.socket_instances;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.socket_instances ADD INDEX test_index(FILE_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.socket_instances(FILE_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_socket_summary_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_socket_summary_by_event_name.test
new file mode 100644
index 00000000000..01895a78da3
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_socket_summary_by_event_name.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.socket_summary_by_instance add column foo integer;
+
+truncate table performance_schema.socket_summary_by_instance;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.socket_summary_by_instance ADD INDEX test_index(FILE_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.socket_summary_by_instance(FILE_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_socket_summary_by_instance.test b/mysql-test/suite/perfschema/t/ddl_socket_summary_by_instance.test
new file mode 100644
index 00000000000..01895a78da3
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_socket_summary_by_instance.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.socket_summary_by_instance add column foo integer;
+
+truncate table performance_schema.socket_summary_by_instance;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.socket_summary_by_instance ADD INDEX test_index(FILE_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.socket_summary_by_instance(FILE_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_threads.test b/mysql-test/suite/perfschema/t/ddl_threads.test
index 05c4a193399..3709d5c7fd3 100644
--- a/mysql-test/suite/perfschema/t/ddl_threads.test
+++ b/mysql-test/suite/perfschema/t/ddl_threads.test
@@ -10,8 +10,8 @@ alter table performance_schema.threads add column foo integer;
truncate table performance_schema.threads;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.threads ADD INDEX test_index(ID);
+ALTER TABLE performance_schema.threads ADD INDEX test_index(PROCESSLIST_ID);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.threads(ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.threads(PROCESSLIST_ID);
diff --git a/mysql-test/suite/perfschema/t/ddl_tiws_by_index_usage.test b/mysql-test/suite/perfschema/t/ddl_tiws_by_index_usage.test
new file mode 100644
index 00000000000..34f4475d986
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_tiws_by_index_usage.test
@@ -0,0 +1,17 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.table_io_waits_summary_by_index_usage
+ add column foo integer;
+
+truncate table performance_schema.table_io_waits_summary_by_index_usage;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.table_io_waits_summary_by_index_usage ADD INDEX test_index(TABLE_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.table_io_waits_summary_by_index_usage(TABLE_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_tiws_by_table.test b/mysql-test/suite/perfschema/t/ddl_tiws_by_table.test
new file mode 100644
index 00000000000..422949512e5
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_tiws_by_table.test
@@ -0,0 +1,17 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.table_io_waits_summary_by_table
+ add column foo integer;
+
+truncate table performance_schema.table_io_waits_summary_by_table;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.table_io_waits_summary_by_table ADD INDEX test_index(TABLE_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.table_io_waits_summary_by_table(TABLE_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_tlws_by_table.test b/mysql-test/suite/perfschema/t/ddl_tlws_by_table.test
new file mode 100644
index 00000000000..d796e3d4dd9
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_tlws_by_table.test
@@ -0,0 +1,17 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.table_lock_waits_summary_by_table
+ add column foo integer;
+
+truncate table performance_schema.table_lock_waits_summary_by_table;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.table_lock_waits_summary_by_table ADD INDEX test_index(TABLE_NAME);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.table_lock_waits_summary_by_table(TABLE_NAME);
+
diff --git a/mysql-test/suite/perfschema/t/ddl_users.test b/mysql-test/suite/perfschema/t/ddl_users.test
new file mode 100644
index 00000000000..84aba78aed2
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ddl_users.test
@@ -0,0 +1,17 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+-- error ER_DBACCESS_DENIED_ERROR
+alter table performance_schema.users
+ add column foo integer;
+
+truncate table performance_schema.users;
+
+-- error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE performance_schema.users ADD INDEX test_index(CURRENT_CONNECTIONS);
+
+-- error ER_DBACCESS_DENIED_ERROR
+CREATE UNIQUE INDEX test_index ON performance_schema.users(CURRENT_CONNECTIONS);
+
diff --git a/mysql-test/suite/perfschema/t/digest_null_literal.test b/mysql-test/suite/perfschema/t/digest_null_literal.test
new file mode 100644
index 00000000000..91f1eec1f95
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/digest_null_literal.test
@@ -0,0 +1,32 @@
+# ----------------------------------------------------
+# Tests for the performance schema statement Digests.
+# ----------------------------------------------------
+
+# Test case to show behavior of statements digest when
+# parsing a NULL literal
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+
+--disable_query_log
+
+select NULL;
+select NULL FROM DUAL;
+select NULL, NULL;
+select NULL, NULL, NULL, 1, 2, 3, NULL, NULL;
+
+select 1 IS NULL;
+select 2 IS NOT NULL;
+select 1 IS NULL, 2 IS NULL, 3 IS NOT NULL, 4 IS NOT NULL;
+
+create table foo (a int DEFAULT NULL, b int NOT NULL DEFAULT 1, c int NOT NULL);
+drop table foo;
+
+--enable_query_log
+
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR
+ FROM performance_schema.events_statements_summary_by_digest;
+
diff --git a/mysql-test/suite/perfschema/t/digest_table_full-master.opt b/mysql-test/suite/perfschema/t/digest_table_full-master.opt
new file mode 100644
index 00000000000..62798dfdc71
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/digest_table_full-master.opt
@@ -0,0 +1 @@
+--loose-performance-schema-digests-size=2
diff --git a/mysql-test/suite/perfschema/t/digest_table_full.test b/mysql-test/suite/perfschema/t/digest_table_full.test
new file mode 100644
index 00000000000..dbbce662256
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/digest_table_full.test
@@ -0,0 +1,32 @@
+# ----------------------------------------------------
+# Tests for the performance schema statement Digests.
+# ----------------------------------------------------
+
+# Test case to show behavior of statements digest when
+# statement-digest-size is 0
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+# Initial Setup for Digest
+--source ../include/digest_setup.inc
+
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+
+# Executing queries
+--source ../include/digest_execution.inc
+
+--echo ####################################
+--echo # QUERYING PS STATEMENT DIGEST
+--echo ####################################
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
+ SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
+
+
+# Expect no digest
+SHOW VARIABLES LIKE "performance_schema_digests_size";
+SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest;
+
+# Cleanup for Digest
+--source ../include/digest_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/disabled.def b/mysql-test/suite/perfschema/t/disabled.def
new file mode 100644
index 00000000000..888298bbb09
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/disabled.def
@@ -0,0 +1,11 @@
+##############################################################################
+#
+# List the test cases that are to be disabled temporarily.
+#
+# Separate the test case name and the comment with ':'.
+#
+# <testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment>
+#
+# Do not use any TAB characters for whitespace.
+#
+##############################################################################
diff --git a/mysql-test/suite/perfschema/t/discovery.test b/mysql-test/suite/perfschema/t/discovery.test
new file mode 100644
index 00000000000..811e99da705
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/discovery.test
@@ -0,0 +1,15 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--echo #
+--echo # MDEV-7922 - ERROR 1939 (HY000): Engine PERFORMANCE_SCHEMA failed to
+--echo # discover table
+--echo #
+FLUSH TABLES;
+CREATE DATABASE test_drop;
+USE test_drop;
+DROP DATABASE test_drop;
+--disable_result_log
+SELECT TABLE_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='performance_schema';
+--enable_result_log
+SELECT @@warning_count;
diff --git a/mysql-test/suite/perfschema/t/dml_accounts.test b/mysql-test/suite/perfschema/t/dml_accounts.test
new file mode 100644
index 00000000000..e462847279c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_accounts.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.accounts
+ limit 1;
+
+select * from performance_schema.accounts
+ where user='FOO' or host='BAR';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.accounts
+ set user='FOO', host='BAR',
+ current_connections=1, total_connections=2;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.accounts
+ set current_connections=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.accounts
+ set current_connections=12 where host like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.accounts
+ where total_connections=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.accounts;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.accounts READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.accounts WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esgs_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esgs_by_account_by_event_name.test
new file mode 100644
index 00000000000..b9633ec8ea7
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esgs_by_account_by_event_name.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_stages_summary_by_account_by_event_name
+ where event_name like 'stage/%' limit 1;
+
+select * from performance_schema.events_stages_summary_by_account_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_stages_summary_by_account_by_event_name
+ set event_name='FOO', user='BAR', host='BAZ',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_by_account_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_by_account_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_by_account_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_by_account_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_by_account_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_by_account_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esgs_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esgs_by_host_by_event_name.test
new file mode 100644
index 00000000000..bb973cd31ed
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esgs_by_host_by_event_name.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_stages_summary_by_host_by_event_name
+ where event_name like 'stage/%' limit 1;
+
+select * from performance_schema.events_stages_summary_by_host_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_stages_summary_by_host_by_event_name
+ set event_name='FOO', thread_id=1,
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_by_host_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_by_host_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_by_host_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_by_host_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_by_host_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_by_host_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esgs_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esgs_by_thread_by_event_name.test
new file mode 100644
index 00000000000..50fc1fff848
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esgs_by_thread_by_event_name.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_stages_summary_by_thread_by_event_name
+ where event_name like 'stage/%' limit 1;
+
+select * from performance_schema.events_stages_summary_by_thread_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_stages_summary_by_thread_by_event_name
+ set event_name='FOO', thread_id=1,
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_by_thread_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_by_thread_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_by_thread_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_by_thread_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_by_thread_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_by_thread_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esgs_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esgs_by_user_by_event_name.test
new file mode 100644
index 00000000000..a3f0bdfd5c9
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esgs_by_user_by_event_name.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_stages_summary_by_user_by_event_name
+ where event_name like 'stage/%' limit 1;
+
+select * from performance_schema.events_stages_summary_by_user_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_stages_summary_by_user_by_event_name
+ set event_name='FOO', user='BAR',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_by_user_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_by_user_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_by_user_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_by_user_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_by_user_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_by_user_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esgs_global_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esgs_global_by_event_name.test
new file mode 100644
index 00000000000..8f466517a90
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esgs_global_by_event_name.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_stages_summary_global_by_event_name
+ where event_name like 'stage/%' limit 1;
+
+select * from performance_schema.events_stages_summary_global_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_stages_summary_global_by_event_name
+ set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_global_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_summary_global_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_global_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_summary_global_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_global_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_summary_global_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esms_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esms_by_account_by_event_name.test
new file mode 100644
index 00000000000..92e58c83a56
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esms_by_account_by_event_name.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_statements_summary_by_account_by_event_name
+ where event_name like 'statement/%' limit 1;
+
+select * from performance_schema.events_statements_summary_by_account_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_statements_summary_by_account_by_event_name
+ set event_name='FOO', user='BAR', host='BAZ',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_account_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_account_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_account_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_account_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_account_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_account_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esms_by_digest.test b/mysql-test/suite/perfschema/t/dml_esms_by_digest.test
new file mode 100644
index 00000000000..88729e6a7a8
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esms_by_digest.test
@@ -0,0 +1,56 @@
+# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
+
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#--disable_result_log
+select * from performance_schema.events_statements_summary_by_digest
+ where digest like 'XXYYZZ%' limit 1;
+
+select * from performance_schema.events_statements_summary_by_digest
+ where digest='XXYYZZ';
+#--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_statements_summary_by_digest
+ set digest='XXYYZZ', count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_digest
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_digest
+ set count_star=12 where digest like "XXYYZZ";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_digest
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_digest;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_digest READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_digest WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esms_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esms_by_host_by_event_name.test
new file mode 100644
index 00000000000..7a8c0498a97
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esms_by_host_by_event_name.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_statements_summary_by_host_by_event_name
+ where event_name like 'statement/%' limit 1;
+
+select * from performance_schema.events_statements_summary_by_host_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_statements_summary_by_host_by_event_name
+ set event_name='FOO', thread_id=1,
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_host_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_host_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_host_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_host_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_host_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_host_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esms_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esms_by_thread_by_event_name.test
new file mode 100644
index 00000000000..5c079ade643
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esms_by_thread_by_event_name.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_statements_summary_by_thread_by_event_name
+ where event_name like 'statement/%' limit 1;
+
+select * from performance_schema.events_statements_summary_by_thread_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_statements_summary_by_thread_by_event_name
+ set event_name='FOO', thread_id=1,
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_thread_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_thread_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_thread_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_thread_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_thread_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_thread_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esms_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esms_by_user_by_event_name.test
new file mode 100644
index 00000000000..21b65e182d3
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esms_by_user_by_event_name.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_statements_summary_by_user_by_event_name
+ where event_name like 'statement/%' limit 1;
+
+select * from performance_schema.events_statements_summary_by_user_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_statements_summary_by_user_by_event_name
+ set event_name='FOO', user='BAR',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_user_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_by_user_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_user_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_by_user_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_user_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_by_user_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_esms_global_by_event_name.test b/mysql-test/suite/perfschema/t/dml_esms_global_by_event_name.test
new file mode 100644
index 00000000000..5ef477aea6f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_esms_global_by_event_name.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_statements_summary_global_by_event_name
+ where event_name like 'statement/%' limit 1;
+
+select * from performance_schema.events_statements_summary_global_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_statements_summary_global_by_event_name
+ set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_global_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_summary_global_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_global_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_summary_global_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_global_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_summary_global_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_events_stages_current.test b/mysql-test/suite/perfschema/t/dml_events_stages_current.test
new file mode 100644
index 00000000000..8db105fe01e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_events_stages_current.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_stages_current
+ where event_name like 'stage/%' limit 1;
+
+select * from performance_schema.events_stages_current
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_stages_current
+ set thread_id='1', event_id=1,
+ event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_current
+ set timer_start=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_current
+ set timer_start=12 where thread_id=0;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_current
+ where thread_id=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_current;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_current READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_current WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_events_stages_history.test b/mysql-test/suite/perfschema/t/dml_events_stages_history.test
new file mode 100644
index 00000000000..54bebc8a328
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_events_stages_history.test
@@ -0,0 +1,47 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_stages_history
+ where event_name like 'stage/%' limit 1;
+
+select * from performance_schema.events_stages_history
+ where event_name='FOO';
+
+select * from performance_schema.events_stages_history
+ where event_name like 'stage/%' order by timer_wait limit 1;
+
+select * from performance_schema.events_stages_history
+ where event_name like 'stage/%' order by timer_wait desc limit 1;
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_stages_history
+ set thread_id='1', event_id=1,
+ event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_history
+ set timer_start=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_history
+ set timer_start=12 where thread_id=0;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_history
+ where thread_id=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_history;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_history READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_history WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_events_stages_history_long.test b/mysql-test/suite/perfschema/t/dml_events_stages_history_long.test
new file mode 100644
index 00000000000..b52f539871d
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_events_stages_history_long.test
@@ -0,0 +1,47 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_stages_history_long
+ where event_name like 'stage/%' limit 1;
+
+select * from performance_schema.events_stages_history_long
+ where event_name='FOO';
+
+select * from performance_schema.events_stages_history_long
+ where event_name like 'stage/%' order by timer_wait limit 1;
+
+select * from performance_schema.events_stages_history_long
+ where event_name like 'stage/%' order by timer_wait desc limit 1;
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_stages_history_long
+ set thread_id='1', event_id=1,
+ event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_history_long
+ set timer_start=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_stages_history_long
+ set timer_start=12 where thread_id=0;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_history_long
+ where thread_id=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_stages_history_long;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_history_long READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_stages_history_long WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_events_statements_current.test b/mysql-test/suite/perfschema/t/dml_events_statements_current.test
new file mode 100644
index 00000000000..152d9b74d42
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_events_statements_current.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_statements_current
+ where event_name like 'statement/%' limit 1;
+
+select * from performance_schema.events_statements_current
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_statements_current
+ set thread_id='1', event_id=1,
+ event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_current
+ set timer_start=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_current
+ set timer_start=12 where thread_id=0;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_current
+ where thread_id=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_current;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_current READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_current WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_events_statements_history.test b/mysql-test/suite/perfschema/t/dml_events_statements_history.test
new file mode 100644
index 00000000000..4b84e6e7200
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_events_statements_history.test
@@ -0,0 +1,47 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_statements_history
+ where event_name like 'statement/%' limit 1;
+
+select * from performance_schema.events_statements_history
+ where event_name='FOO';
+
+select * from performance_schema.events_statements_history
+ where event_name like 'statement/%' order by timer_wait limit 1;
+
+select * from performance_schema.events_statements_history
+ where event_name like 'statement/%' order by timer_wait desc limit 1;
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_statements_history
+ set thread_id='1', event_id=1,
+ event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_history
+ set timer_start=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_history
+ set timer_start=12 where thread_id=0;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_history
+ where thread_id=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_history;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_history READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_history WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_events_statements_history_long.test b/mysql-test/suite/perfschema/t/dml_events_statements_history_long.test
new file mode 100644
index 00000000000..79580fcf13e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_events_statements_history_long.test
@@ -0,0 +1,47 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.events_statements_history_long
+ where event_name like 'statement/%' limit 1;
+
+select * from performance_schema.events_statements_history_long
+ where event_name='FOO';
+
+select * from performance_schema.events_statements_history_long
+ where event_name like 'statement/%' order by timer_wait limit 1;
+
+select * from performance_schema.events_statements_history_long
+ where event_name like 'statement/%' order by timer_wait desc limit 1;
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_statements_history_long
+ set thread_id='1', event_id=1,
+ event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_history_long
+ set timer_start=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_statements_history_long
+ set timer_start=12 where thread_id=0;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_history_long
+ where thread_id=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_statements_history_long;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_history_long READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_statements_history_long WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_ews_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ews_by_account_by_event_name.test
new file mode 100644
index 00000000000..e9eda8ece2a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_ews_by_account_by_event_name.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 #
+select * from performance_schema.events_waits_summary_by_account_by_event_name
+ where event_name like 'Wait/Synch/%' limit 1;
+
+select * from performance_schema.events_waits_summary_by_account_by_event_name
+ where event_name='FOO';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_waits_summary_by_account_by_event_name
+ set event_name='FOO', user='BAR', host='BAZ',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_waits_summary_by_account_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_waits_summary_by_account_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_waits_summary_by_account_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_waits_summary_by_account_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_waits_summary_by_account_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_waits_summary_by_account_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_ews_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ews_by_host_by_event_name.test
new file mode 100644
index 00000000000..add375bf6c1
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_ews_by_host_by_event_name.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
+select * from performance_schema.events_waits_summary_by_host_by_event_name
+ where event_name like 'Wait/Synch/%' limit 1;
+
+select * from performance_schema.events_waits_summary_by_host_by_event_name
+ where event_name='FOO';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_waits_summary_by_host_by_event_name
+ set event_name='FOO', thread_id=1,
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_waits_summary_by_host_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_waits_summary_by_host_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_waits_summary_by_host_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_waits_summary_by_host_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_waits_summary_by_host_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_waits_summary_by_host_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_ews_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ews_by_user_by_event_name.test
new file mode 100644
index 00000000000..1b927dd12a6
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_ews_by_user_by_event_name.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
+select * from performance_schema.events_waits_summary_by_user_by_event_name
+ where event_name like 'Wait/Synch/%' limit 1;
+
+select * from performance_schema.events_waits_summary_by_user_by_event_name
+ where event_name='FOO';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.events_waits_summary_by_user_by_event_name
+ set event_name='FOO', user='BAR',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_waits_summary_by_user_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.events_waits_summary_by_user_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_waits_summary_by_user_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.events_waits_summary_by_user_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_waits_summary_by_user_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.events_waits_summary_by_user_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_file_summary_by_event_name.test b/mysql-test/suite/perfschema/t/dml_fs_by_event_name.test
index dbf31d1963d..dbf31d1963d 100644
--- a/mysql-test/suite/perfschema/t/dml_file_summary_by_event_name.test
+++ b/mysql-test/suite/perfschema/t/dml_fs_by_event_name.test
diff --git a/mysql-test/suite/perfschema/t/dml_file_summary_by_instance.test b/mysql-test/suite/perfschema/t/dml_fs_by_instance.test
index 5f69c2d0dc7..5f69c2d0dc7 100644
--- a/mysql-test/suite/perfschema/t/dml_file_summary_by_instance.test
+++ b/mysql-test/suite/perfschema/t/dml_fs_by_instance.test
diff --git a/mysql-test/suite/perfschema/t/dml_handler.test b/mysql-test/suite/perfschema/t/dml_handler.test
new file mode 100644
index 00000000000..db74c85350a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_handler.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#==============================================================================
+# This test verifies that the peformance schema storage engine does not support
+# HANDLER operations.
+#
+# Get the list of tables from information_schema.tables, store the table names
+# in a temporary table. For each table in the list, attempt a HANDLER ... OPEN,
+# which should return error 1031, "Table storage engine for '<table name>'
+# doesn't have this option."
+#
+--echo
+--echo # Create a temporary table of performance schema table names
+--echo
+
+CREATE TEMPORARY TABLE table_list (id INT AUTO_INCREMENT, PRIMARY KEY (id)) AS
+ SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
+ WHERE TABLE_SCHEMA='performance_schema';
+
+SELECT COUNT(*) FROM table_list INTO @table_count;
+
+let $count=`SELECT @table_count`;
+
+--echo
+--echo # For each table in the performance schema, attempt HANDLER...OPEN,
+--echo # which should fail with an error 1031, ER_ILLEGAL_HA.
+--echo
+
+while ($count > 0)
+{
+ eval SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=$count;
+ let $table_name = `SELECT @table_name`;
+ --error ER_ILLEGAL_HA
+ eval HANDLER performance_schema.$table_name OPEN;
+ dec $count;
+}
+
+DROP TEMPORARY TABLE table_list;
+
diff --git a/mysql-test/suite/perfschema/t/dml_host_cache.test b/mysql-test/suite/perfschema/t/dml_host_cache.test
new file mode 100644
index 00000000000..c56099ab748
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_host_cache.test
@@ -0,0 +1,43 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.host_cache
+ where IP like '%' limit 1;
+
+select * from performance_schema.host_cache
+ where IP='localhost';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.host_cache
+ set IP='FOO', SUM_BLOCKING_ERRORS=1, COUNT_FCRDNS_ERRORS=2;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.host_cache
+ set COUNT_UNKNOWN_ERRORS=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.host_cache
+ set SUM_BLOCKING_ERRORS=12 where IP='127.0.0.1';
+
+select HOST from performance_schema.host_cache
+ where IP='::1';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.host_cache
+ where IP='::1';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.host_cache;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.host_cache READ;
+UNLOCK TABLES;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.host_cache WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_hosts.test b/mysql-test/suite/perfschema/t/dml_hosts.test
new file mode 100644
index 00000000000..d23f6f69339
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_hosts.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.hosts
+ limit 1;
+
+select * from performance_schema.hosts
+ where host='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.hosts
+ set host='FOO',
+ current_connections=1, total_connections=2;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.hosts
+ set current_connections=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.hosts
+ set current_connections=12 where host like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.hosts
+ where total_connections=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.hosts;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.hosts READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.hosts WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_os_global_by_type.test b/mysql-test/suite/perfschema/t/dml_os_global_by_type.test
new file mode 100644
index 00000000000..1ea8381bc56
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_os_global_by_type.test
@@ -0,0 +1,57 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 #
+select * from performance_schema.objects_summary_global_by_type
+ where object_schema = 'performance_schema' limit 1;
+
+select * from performance_schema.objects_summary_global_by_type
+ where object_schema='FOO';
+
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 #
+select * from performance_schema.objects_summary_global_by_type
+ order by count_star limit 1;
+
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 #
+select * from performance_schema.objects_summary_global_by_type
+ order by count_star desc limit 1;
+
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 #
+select * from performance_schema.objects_summary_global_by_type
+ where object_type = 'TABLE' order by object_schema, object_name limit 1;
+
+--replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 #
+select * from performance_schema.objects_summary_global_by_type
+ where object_type = 'TABLE' order by object_schema desc, object_name desc limit 1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.objects_summary_global_by_type
+ set object_type='TABLE', schema_name='FOO', object_name='BAR',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.objects_summary_global_by_type
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.objects_summary_global_by_type
+ set count_star=12 where object_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.objects_summary_global_by_type
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.objects_summary_global_by_type;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.objects_summary_global_by_type READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.objects_summary_global_by_type WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_session_account_connect_attrs.test b/mysql-test/suite/perfschema/t/dml_session_account_connect_attrs.test
new file mode 100644
index 00000000000..82768cb0d6b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_session_account_connect_attrs.test
@@ -0,0 +1,38 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+SELECT * FROM performance_schema.session_account_connect_attrs
+ LIMIT 1;
+
+SELECT * FROM performance_schema.session_account_connect_attrs
+ where ATTR_NAME='FOO' OR ATTR_VALUE='BAR';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+INSERT INTO performance_schema.session_account_connect_attrs
+ SET ATTR_NAME='FOO', ATTR_VALUE='BAR',
+ ORDINAL_POSITION=100, PROCESS_ID=102;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+UPDATE performance_schema.session_account_connect_attrs
+ SET ATTR_NAME='FOO';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+UPDATE performance_schema.session_account_connect_attrs
+ SET ATTR_NAME='FOO' WHERE ATTR_VALUE='BAR';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+DELETE FROM performance_schema.session_account_connect_attrs
+ WHERE ATTR_VALUE='BAR';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+DELETE FROM performance_schema.session_account_connect_attrs;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.session_account_connect_attrs READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.session_account_connect_attrs WRITE;
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_session_connect_attrs.test b/mysql-test/suite/perfschema/t/dml_session_connect_attrs.test
new file mode 100644
index 00000000000..db2bcb7afd6
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_session_connect_attrs.test
@@ -0,0 +1,38 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+SELECT * FROM performance_schema.session_connect_attrs
+ LIMIT 1;
+
+SELECT * FROM performance_schema.session_connect_attrs
+ where ATTR_NAME='FOO' OR ATTR_VALUE='BAR';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+INSERT INTO performance_schema.session_connect_attrs
+ SET ATTR_NAME='FOO', ATTR_VALUE='BAR',
+ ORDINAL_POSITION=100, PROCESS_ID=102;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+UPDATE performance_schema.session_connect_attrs
+ SET ATTR_NAME='FOO';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+UPDATE performance_schema.session_connect_attrs
+ SET ATTR_NAME='FOO' WHERE ATTR_VALUE='BAR';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+DELETE FROM performance_schema.session_connect_attrs
+ WHERE ATTR_VALUE='BAR';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+DELETE FROM performance_schema.session_connect_attrs;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.session_connect_attrs READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.session_connect_attrs WRITE;
+UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_setup_actors.test b/mysql-test/suite/perfschema/t/dml_setup_actors.test
new file mode 100644
index 00000000000..d5424cad7e3
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_setup_actors.test
@@ -0,0 +1,72 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_warnings
+drop table if exists test.setup_actors;
+--enable_warnings
+
+# Save the setup
+create table test.setup_actors as
+ select * from performance_schema.setup_actors;
+truncate table performance_schema.setup_actors;
+
+select * from performance_schema.setup_actors;
+
+select * from performance_schema.setup_actors
+ where user = '%';
+
+insert into performance_schema.setup_actors
+ set user='Joe', host='localhost';
+
+insert into performance_schema.setup_actors
+ set user='Joe', host='%';
+
+insert into performance_schema.setup_actors
+ set user='%', host='server1';
+
+insert into performance_schema.setup_actors
+ set user='%', host='%';
+
+select * from performance_schema.setup_actors
+ order by USER, HOST;
+
+--error ER_WRONG_PERFSCHEMA_USAGE
+update performance_schema.setup_actors
+ set user='ILLEGAL';
+
+--error ER_WRONG_PERFSCHEMA_USAGE
+update performance_schema.setup_actors
+ set host='ILLEGAL';
+
+--error ER_WRONG_PERFSCHEMA_USAGE
+update performance_schema.setup_actors
+ set role='ILLEGAL';
+
+select * from performance_schema.setup_actors
+ order by USER, HOST;
+
+delete from performance_schema.setup_actors
+ where user = 'Joe' and host = 'localhost';
+
+select * from performance_schema.setup_actors
+ order by USER, HOST;
+
+delete from performance_schema.setup_actors;
+
+select * from performance_schema.setup_actors
+ order by USER, HOST;
+
+LOCK TABLES performance_schema.setup_actors READ;
+UNLOCK TABLES;
+
+LOCK TABLES performance_schema.setup_actors WRITE;
+UNLOCK TABLES;
+
+# Restore the setup
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+ select * from test.setup_actors;
+drop table test.setup_actors;
+
diff --git a/mysql-test/suite/perfschema/t/dml_setup_instruments.test b/mysql-test/suite/perfschema/t/dml_setup_instruments.test
index 5582d559664..098d6bd031d 100644
--- a/mysql-test/suite/perfschema/t/dml_setup_instruments.test
+++ b/mysql-test/suite/perfschema/t/dml_setup_instruments.test
@@ -22,10 +22,13 @@ select * from performance_schema.setup_instruments
order by name limit 10;
# CRYPTO_dynlock_value::lock is dependent on the build (SSL)
+# LOCK_named_pipe_full_access_group is dependent on the build (Windows)
select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Rwlock/sql/%'
- and name not in ('wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock')
+ and name not in (
+ 'wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock',
+ 'wait/synch/rwlock/sql/LOCK_named_pipe_full_access_group')
order by name limit 10;
# COND_handler_count is dependent on the build (Windows only)
@@ -82,3 +85,16 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.setup_instruments WRITE;
UNLOCK TABLES;
+--echo
+--echo # Bug#13813193 ASSERTION `TABLE->READ_SET ==
+--echo # &TABLE->DEF_READ_SET' FAILED / MYSQL_UPDATE
+--echo
+UPDATE performance_schema.setup_instruments SET timed='NO'
+ORDER BY RAND();
+
+# MTR is configured to start with everything set to ON,
+# so we need to restore it after the previous update
+--disable_query_log
+update performance_schema.setup_instruments set timed='YES';
+--enable_query_log
+
diff --git a/mysql-test/suite/perfschema/t/dml_setup_objects.test b/mysql-test/suite/perfschema/t/dml_setup_objects.test
new file mode 100644
index 00000000000..29594bf32f9
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_setup_objects.test
@@ -0,0 +1,93 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_warnings
+drop table if exists test.setup_objects;
+--enable_warnings
+
+# Save the setup
+create table test.setup_objects as
+ select * from performance_schema.setup_objects;
+truncate table performance_schema.setup_objects;
+
+# Test
+
+select * from performance_schema.setup_objects;
+
+select * from performance_schema.setup_objects
+ order by object_type, object_schema, object_name;
+
+select * from performance_schema.setup_objects
+ where object_type = 'TABLE'
+ order by object_type, object_schema, object_name;
+
+select * from performance_schema.setup_objects
+ order by object_type, object_schema, object_name;
+
+--error ER_NO_REFERENCED_ROW_2
+insert into performance_schema.setup_objects
+ set object_type='ILLEGAL', object_schema='FOO', object_name='BAR',
+ enabled='YES', timed='YES';
+
+insert into performance_schema.setup_objects
+ set object_type='TABLE', object_schema='FOO', object_name='BAR',
+ enabled='YES', timed='YES';
+
+--error ER_DUP_KEY
+insert into performance_schema.setup_objects
+ set object_type='TABLE', object_schema='FOO', object_name='BAR',
+ enabled='YES', timed='NO';
+
+delete from performance_schema.setup_objects
+ where object_type='TABLE' and object_schema='FOO';
+
+select * from performance_schema.setup_objects
+ order by object_type, object_schema, object_name;
+
+insert into performance_schema.setup_objects
+ set object_type='TABLE', object_schema='FOO', object_name='BAR',
+ enabled='NO', timed='YES';
+
+select * from performance_schema.setup_objects
+ order by object_type, object_schema, object_name;
+
+--error ER_WRONG_PERFSCHEMA_USAGE
+update performance_schema.setup_objects
+ set object_type='ILLEGAL';
+
+--error ER_WRONG_PERFSCHEMA_USAGE
+update performance_schema.setup_objects
+ set object_schema='ILLEGAL';
+
+--error ER_WRONG_PERFSCHEMA_USAGE
+update performance_schema.setup_objects
+ set object_name='ILLEGAL';
+
+update performance_schema.setup_objects
+ set enabled='NO', timed='NO';
+
+select * from performance_schema.setup_objects
+ order by object_type, object_schema, object_name;
+
+update performance_schema.setup_objects
+ set enabled='YES', timed='YES';
+
+delete from performance_schema.setup_objects
+ where object_type = 'TABLE';
+
+delete from performance_schema.setup_objects;
+
+LOCK TABLES performance_schema.setup_objects READ;
+UNLOCK TABLES;
+
+LOCK TABLES performance_schema.setup_objects WRITE;
+UNLOCK TABLES;
+
+# Restore the setup
+truncate table performance_schema.setup_objects;
+insert into performance_schema.setup_objects
+ select * from test.setup_objects;
+drop table test.setup_objects;
+
diff --git a/mysql-test/suite/perfschema/t/dml_setup_timers.test b/mysql-test/suite/perfschema/t/dml_setup_timers.test
index 6a6b813ab07..bd8822d2b19 100644
--- a/mysql-test/suite/perfschema/t/dml_setup_timers.test
+++ b/mysql-test/suite/perfschema/t/dml_setup_timers.test
@@ -4,6 +4,16 @@
--source include/have_perfschema.inc
--source include/have_timer_cycle.inc
+# Set to a known state
+update performance_schema.setup_timers
+ set timer_name='CYCLE' where name="wait";
+update performance_schema.setup_timers
+ set timer_name='NANOSECOND' where name="stage";
+update performance_schema.setup_timers
+ set timer_name='NANOSECOND' where name="statement";
+update performance_schema.setup_timers
+ set timer_name='MICROSECOND' where name="idle";
+
select * from performance_schema.setup_timers;
select * from performance_schema.setup_timers
@@ -41,3 +51,16 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.setup_timers WRITE;
UNLOCK TABLES;
+# Cleanup, restore the default values
+
+update performance_schema.setup_timers
+ set timer_name='CYCLE' where name="wait";
+update performance_schema.setup_timers
+ set timer_name='NANOSECOND' where name="stage";
+update performance_schema.setup_timers
+ set timer_name='NANOSECOND' where name="statement";
+update performance_schema.setup_timers
+ set timer_name='MICROSECOND' where name="idle";
+
+select * from performance_schema.setup_timers;
+
diff --git a/mysql-test/suite/perfschema/t/dml_socket_instances.test b/mysql-test/suite/perfschema/t/dml_socket_instances.test
new file mode 100644
index 00000000000..929853d574e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_socket_instances.test
@@ -0,0 +1,35 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.socket_instances limit 1;
+
+select * from performance_schema.socket_instances
+ where ip='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.socket_instances
+ set ip='FOO', event_name='BAR', port=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.socket_instances
+ set ip='FOO';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.socket_instances
+ where event_name like "wait/%";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.socket_instances;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.socket_instances READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.socket_instances WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_socket_summary_by_event_name.test b/mysql-test/suite/perfschema/t/dml_socket_summary_by_event_name.test
new file mode 100644
index 00000000000..2c06fca77e4
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_socket_summary_by_event_name.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.socket_summary_by_event_name
+ limit 1;
+
+select * from performance_schema.socket_summary_by_event_name
+ where event_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.socket_summary_by_event_name
+ set event_name='FOO',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.socket_summary_by_event_name
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.socket_summary_by_event_name
+ set count_star=12 where event_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.socket_summary_by_event_name
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.socket_summary_by_event_name;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.socket_summary_by_event_name READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.socket_summary_by_event_name WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_socket_summary_by_instance.test b/mysql-test/suite/perfschema/t/dml_socket_summary_by_instance.test
new file mode 100644
index 00000000000..5a5d829308c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_socket_summary_by_instance.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.socket_summary_by_instance
+ limit 1;
+
+select * from performance_schema.socket_summary_by_instance
+ where object_instance_begin='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.socket_summary_by_instance
+ set object_instance_begin=1,
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.socket_summary_by_instance
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.socket_summary_by_instance
+ set count_star=12 where object_instance_begin like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.socket_summary_by_instance
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.socket_summary_by_instance;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.socket_summary_by_instance READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.socket_summary_by_instance WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_threads.test b/mysql-test/suite/perfschema/t/dml_threads.test
index 324e6107834..328f6a6d989 100644
--- a/mysql-test/suite/perfschema/t/dml_threads.test
+++ b/mysql-test/suite/perfschema/t/dml_threads.test
@@ -15,13 +15,25 @@ select * from performance_schema.threads
insert into performance_schema.threads
set name='FOO', thread_id=1, processlist_id=2;
---error ER_TABLEACCESS_DENIED_ERROR
+--error ER_WRONG_PERFSCHEMA_USAGE
update performance_schema.threads
set thread_id=12;
---error ER_TABLEACCESS_DENIED_ERROR
+--error ER_WRONG_PERFSCHEMA_USAGE
+update performance_schema.threads
+ set thread_id=12 where PROCESSLIST_ID=connection_id();
+
update performance_schema.threads
- set thread_id=12 where name like "FOO";
+ set instrumented= 'NO' where PROCESSLIST_ID=connection_id();
+
+select instrumented from performance_schema.threads
+ where PROCESSLIST_ID=connection_id();
+
+update performance_schema.threads
+ set instrumented= 'YES' where PROCESSLIST_ID=connection_id();
+
+select instrumented from performance_schema.threads
+ where PROCESSLIST_ID=connection_id();
--error ER_TABLEACCESS_DENIED_ERROR
delete from performance_schema.threads
@@ -30,11 +42,9 @@ delete from performance_schema.threads
--error ER_TABLEACCESS_DENIED_ERROR
delete from performance_schema.threads;
--- error ER_TABLEACCESS_DENIED_ERROR
LOCK TABLES performance_schema.threads READ;
UNLOCK TABLES;
--- error ER_TABLEACCESS_DENIED_ERROR
LOCK TABLES performance_schema.threads WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_tiws_by_index_usage.test b/mysql-test/suite/perfschema/t/dml_tiws_by_index_usage.test
new file mode 100644
index 00000000000..ecd83987291
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_tiws_by_index_usage.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.table_io_waits_summary_by_index_usage
+ limit 1;
+
+select * from performance_schema.table_io_waits_summary_by_index_usage
+ where object_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.table_io_waits_summary_by_index_usage
+ set object_type='TABLE', object_name='FOO', object_schema='BAR',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.table_io_waits_summary_by_index_usage
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.table_io_waits_summary_by_index_usage
+ set count_star=12 where object_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.table_io_waits_summary_by_index_usage
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.table_io_waits_summary_by_index_usage;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.table_io_waits_summary_by_index_usage READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.table_io_waits_summary_by_index_usage WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_tiws_by_table.test b/mysql-test/suite/perfschema/t/dml_tiws_by_table.test
new file mode 100644
index 00000000000..4d2f9b7fba5
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_tiws_by_table.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.table_io_waits_summary_by_table
+ limit 1;
+
+select * from performance_schema.table_io_waits_summary_by_table
+ where object_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.table_io_waits_summary_by_table
+ set object_type='TABLE', object_name='FOO', object_schema='BAR',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.table_io_waits_summary_by_table
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.table_io_waits_summary_by_table
+ set count_star=12 where object_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.table_io_waits_summary_by_table
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.table_io_waits_summary_by_table;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.table_io_waits_summary_by_table READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.table_io_waits_summary_by_table WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_tlws_by_table.test b/mysql-test/suite/perfschema/t/dml_tlws_by_table.test
new file mode 100644
index 00000000000..b88ca1a66aa
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_tlws_by_table.test
@@ -0,0 +1,42 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.table_lock_waits_summary_by_table
+ limit 1;
+
+select * from performance_schema.table_lock_waits_summary_by_table
+ where object_name='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.table_lock_waits_summary_by_table
+ set object_type='TABLE', object_name='FOO', object_schema='BAR',
+ count_star=1, sum_timer_wait=2, min_timer_wait=3,
+ avg_timer_wait=4, max_timer_wait=5;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.table_lock_waits_summary_by_table
+ set count_star=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.table_lock_waits_summary_by_table
+ set count_star=12 where object_name like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.table_lock_waits_summary_by_table
+ where count_star=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.table_lock_waits_summary_by_table;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.table_lock_waits_summary_by_table READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.table_lock_waits_summary_by_table WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/dml_users.test b/mysql-test/suite/perfschema/t/dml_users.test
new file mode 100644
index 00000000000..290a6d7f253
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_users.test
@@ -0,0 +1,41 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_result_log
+select * from performance_schema.users
+ limit 1;
+
+select * from performance_schema.users
+ where user='FOO';
+--enable_result_log
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into performance_schema.users
+ set user='FOO',
+ current_connections=1, total_connections=2;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.users
+ set current_connections=12;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+update performance_schema.users
+ set current_connections=12 where user like "FOO";
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.users
+ where total_connections=1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from performance_schema.users;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.users READ;
+UNLOCK TABLES;
+
+-- error ER_TABLEACCESS_DENIED_ERROR
+LOCK TABLES performance_schema.users WRITE;
+UNLOCK TABLES;
+
diff --git a/mysql-test/suite/perfschema/t/event_aggregate-master.opt b/mysql-test/suite/perfschema/t/event_aggregate-master.opt
new file mode 100644
index 00000000000..596f6bafe5a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate-master.opt
@@ -0,0 +1,2 @@
+--general_log
+--log-output=FILE
diff --git a/mysql-test/suite/perfschema/t/event_aggregate.test b/mysql-test/suite/perfschema/t/event_aggregate.test
new file mode 100644
index 00000000000..372cda050ee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate.test
@@ -0,0 +1,6 @@
+# Tests for the performance schema
+#
+
+--source ../include/event_aggregate_setup.inc
+--source ../include/event_aggregate_load.inc
+--source ../include/event_aggregate_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a-master.opt b/mysql-test/suite/perfschema/t/event_aggregate_no_a-master.opt
new file mode 100644
index 00000000000..276c2eb7201
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a-master.opt
@@ -0,0 +1,3 @@
+--general_log
+--log-output=FILE
+--loose-performance_schema_accounts_size=0
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a.test b/mysql-test/suite/perfschema/t/event_aggregate_no_a.test
new file mode 100644
index 00000000000..372cda050ee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a.test
@@ -0,0 +1,6 @@
+# Tests for the performance schema
+#
+
+--source ../include/event_aggregate_setup.inc
+--source ../include/event_aggregate_load.inc
+--source ../include/event_aggregate_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h-master.opt b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h-master.opt
new file mode 100644
index 00000000000..dd39eca94a2
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h-master.opt
@@ -0,0 +1,4 @@
+--general_log
+--log-output=FILE
+--loose-performance_schema_accounts_size=0
+--loose-performance_schema_hosts_size=0
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h.test b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h.test
new file mode 100644
index 00000000000..372cda050ee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h.test
@@ -0,0 +1,6 @@
+# Tests for the performance schema
+#
+
+--source ../include/event_aggregate_setup.inc
+--source ../include/event_aggregate_load.inc
+--source ../include/event_aggregate_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u-master.opt b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u-master.opt
new file mode 100644
index 00000000000..0559a16c781
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u-master.opt
@@ -0,0 +1,4 @@
+--general_log
+--log-output=FILE
+--loose-performance_schema_accounts_size=0
+--loose-performance_schema_users_size=0
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u.test b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u.test
new file mode 100644
index 00000000000..372cda050ee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u.test
@@ -0,0 +1,6 @@
+# Tests for the performance schema
+#
+
+--source ../include/event_aggregate_setup.inc
+--source ../include/event_aggregate_load.inc
+--source ../include/event_aggregate_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h-master.opt b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h-master.opt
new file mode 100644
index 00000000000..795fa0139fd
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h-master.opt
@@ -0,0 +1,5 @@
+--general_log
+--log-output=FILE
+--loose-performance_schema_accounts_size=0
+--loose-performance_schema_users_size=0
+--loose-performance_schema_hosts_size=0
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h.test b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h.test
new file mode 100644
index 00000000000..372cda050ee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h.test
@@ -0,0 +1,6 @@
+# Tests for the performance schema
+#
+
+--source ../include/event_aggregate_setup.inc
+--source ../include/event_aggregate_load.inc
+--source ../include/event_aggregate_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_h-master.opt b/mysql-test/suite/perfschema/t/event_aggregate_no_h-master.opt
new file mode 100644
index 00000000000..89ecbaa6409
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_h-master.opt
@@ -0,0 +1,3 @@
+--general_log
+--log-output=FILE
+--loose-performance_schema_hosts_size=0
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_h.test b/mysql-test/suite/perfschema/t/event_aggregate_no_h.test
new file mode 100644
index 00000000000..372cda050ee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_h.test
@@ -0,0 +1,6 @@
+# Tests for the performance schema
+#
+
+--source ../include/event_aggregate_setup.inc
+--source ../include/event_aggregate_load.inc
+--source ../include/event_aggregate_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_u-master.opt b/mysql-test/suite/perfschema/t/event_aggregate_no_u-master.opt
new file mode 100644
index 00000000000..d6ee950e037
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_u-master.opt
@@ -0,0 +1,3 @@
+--general_log
+--log-output=FILE
+--loose-performance_schema_users_size=0
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_u.test b/mysql-test/suite/perfschema/t/event_aggregate_no_u.test
new file mode 100644
index 00000000000..372cda050ee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_u.test
@@ -0,0 +1,6 @@
+# Tests for the performance schema
+#
+
+--source ../include/event_aggregate_setup.inc
+--source ../include/event_aggregate_load.inc
+--source ../include/event_aggregate_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h-master.opt b/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h-master.opt
new file mode 100644
index 00000000000..7ac607061ae
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h-master.opt
@@ -0,0 +1,4 @@
+--general_log
+--log-output=FILE
+--loose-performance_schema_users_size=0
+--loose-performance_schema_hosts_size=0
diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h.test b/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h.test
new file mode 100644
index 00000000000..372cda050ee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h.test
@@ -0,0 +1,6 @@
+# Tests for the performance schema
+#
+
+--source ../include/event_aggregate_setup.inc
+--source ../include/event_aggregate_load.inc
+--source ../include/event_aggregate_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/func_file_io.test b/mysql-test/suite/perfschema/t/func_file_io.test
index 3de26cfcb8e..2055fa9a008 100644
--- a/mysql-test/suite/perfschema/t/func_file_io.test
+++ b/mysql-test/suite/perfschema/t/func_file_io.test
@@ -12,7 +12,11 @@ UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/io/file/%';
+update performance_schema.threads SET instrumented = 'YES'
+ WHERE PROCESSLIST_ID=connection_id();
+
# reset lost counters
+truncate table performance_schema.events_statements_summary_by_digest;
flush status;
--disable_warnings
@@ -146,16 +150,15 @@ LIMIT 10;
# Total and average wait time for different users
#
-## --disable_result_log
-## SELECT i.user, SUM(TIMER_WAIT) SUM_WAIT
-## # ((TIME_TO_SEC(TIMEDIFF(NOW(), i.startup_time)) * 1000) / SUM(TIMER_WAIT)) * 100 WAIT_PERCENTAGE
-## FROM performance_schema.events_waits_history_long h
-## INNER JOIN performance_schema.threads p USING (THREAD_ID)
-## LEFT JOIN information_schema.PROCESSLIST i USING (ID)
-## GROUP BY i.user
-## ORDER BY SUM_WAIT DESC
-## LIMIT 20;
-## --enable_result_log
+--disable_result_log
+SELECT p.processlist_user, SUM(TIMER_WAIT) SUM_WAIT
+# ((TIME_TO_SEC(TIMEDIFF(NOW(), i.startup_time)) * 1000) / SUM(TIMER_WAIT)) * 100 WAIT_PERCENTAGE
+FROM performance_schema.events_waits_history_long h
+INNER JOIN performance_schema.threads p USING (THREAD_ID)
+GROUP BY p.processlist_user
+ORDER BY SUM_WAIT DESC
+LIMIT 20;
+--enable_result_log
#
# Total and average wait times for different events for a session
@@ -173,18 +176,17 @@ HAVING TOTAL_WAIT > 0;
# Which user reads and writes data
#
-## --disable_result_log
-## SELECT i.user, h.operation, SUM(NUMBER_OF_BYTES) bytes
-## FROM performance_schema.events_waits_history_long h
-## INNER JOIN performance_schema.threads p USING (THREAD_ID)
-## LEFT JOIN information_schema.PROCESSLIST i USING (ID)
-## GROUP BY i.user, h.operation
-## HAVING BYTES > 0
-## ORDER BY i.user, h.operation;
-## --enable_result_log
+--disable_result_log
+SELECT p.processlist_user, h.operation, SUM(NUMBER_OF_BYTES) bytes
+FROM performance_schema.events_waits_history_long h
+INNER JOIN performance_schema.threads p USING (THREAD_ID)
+GROUP BY p.processlist_user, h.operation
+HAVING BYTES > 0
+ORDER BY p.processlist_user, h.operation;
+--enable_result_log
# Clean-up.
-UPDATE performance_schema.setup_instruments SET enabled = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
# In case of failure, will indicate the root cause
show status like "performance_schema%";
diff --git a/mysql-test/suite/perfschema/t/func_mutex.test b/mysql-test/suite/perfschema/t/func_mutex.test
index a96b497ffec..66bcb68accb 100644
--- a/mysql-test/suite/perfschema/t/func_mutex.test
+++ b/mysql-test/suite/perfschema/t/func_mutex.test
@@ -14,11 +14,12 @@ WHERE name LIKE 'wait/synch/mutex/%'
OR name LIKE 'wait/synch/rwlock/%';
# reset lost counters
+truncate table performance_schema.events_statements_summary_by_digest;
flush status;
# Make sure objects are instrumented
select NAME from performance_schema.mutex_instances
- where NAME = 'wait/synch/mutex/sql/LOCK_open';
+ where NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex' GROUP BY NAME;
select NAME from performance_schema.rwlock_instances
where NAME = 'wait/synch/rwlock/sql/LOCK_grant';
@@ -48,18 +49,18 @@ SELECT * FROM t1 WHERE id = 1;
SET @before_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
- WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
+ WHERE (EVENT_NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex'));
SELECT * FROM t1;
SET @after_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
- WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
+ WHERE (EVENT_NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex'));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_fm1_timed;
UPDATE performance_schema.setup_instruments SET enabled = 'NO'
-WHERE NAME = 'wait/synch/mutex/sql/LOCK_open';
+WHERE NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex';
TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
@@ -69,13 +70,13 @@ SELECT * FROM t1 WHERE id = 1;
SET @before_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
- WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
+ WHERE (EVENT_NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex'));
SELECT * FROM t1;
SET @after_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
- WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
+ WHERE (EVENT_NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex'));
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_timed;
@@ -87,38 +88,38 @@ TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
TRUNCATE TABLE performance_schema.events_waits_current;
-SELECT * FROM t1 WHERE id = 1;
+show variables like "%not_found%";
SET @before_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
- WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
+ WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_system_variables_hash'));
-SELECT * FROM t1;
+show variables like "%not_found%";
SET @after_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
- WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
+ WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_system_variables_hash'));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_fm1_rw_timed;
UPDATE performance_schema.setup_instruments SET enabled = 'NO'
-WHERE NAME = 'wait/synch/rwlock/sql/LOCK_grant';
+WHERE NAME = 'wait/synch/rwlock/sql/LOCK_system_variables_hash';
TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
TRUNCATE TABLE performance_schema.events_waits_current;
-SELECT * FROM t1 WHERE id = 1;
+show variables like "%not_found%";
SET @before_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
- WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
+ WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_system_variables_hash'));
-SELECT * FROM t1;
+show variables like "%not_found%";
SET @after_count = (SELECT SUM(TIMER_WAIT)
FROM performance_schema.events_waits_history_long
- WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
+ WHERE (EVENT_NAME = 'LOCK_system_variables_hash'));
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_rw_timed;
@@ -126,6 +127,8 @@ SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success
UPDATE performance_schema.setup_instruments SET enabled = 'YES';
DROP TABLE t1;
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+
# In case of failure, will indicate the root cause
show status like "performance_schema%";
diff --git a/mysql-test/suite/perfschema/t/global_read_lock.test b/mysql-test/suite/perfschema/t/global_read_lock.test
index f73b8785cb2..0883ed1ed42 100644
--- a/mysql-test/suite/perfschema/t/global_read_lock.test
+++ b/mysql-test/suite/perfschema/t/global_read_lock.test
@@ -11,6 +11,7 @@ use performance_schema;
# Ensure that instrumentation is turned on when we create new connection.
update performance_schema.setup_instruments set enabled='YES';
+create user pfsuser@localhost;
grant SELECT, UPDATE, LOCK TABLES on performance_schema.* to pfsuser@localhost;
flush privileges;
@@ -56,7 +57,9 @@ let $wait_condition= select 1 from performance_schema.events_waits_current where
# Observe the blocked thread in the performance schema :)
select event_name,
left(source, locate(":", source)) as short_source,
- timer_end, timer_wait, operation
+ if(timer_end IS NULL, NULL, "SET") as timer_end,
+ if(timer_wait IS NULL, NULL, "SET") as timer_wait,
+ operation
from performance_schema.events_waits_current
where event_name like "wait/synch/cond/sql/MDL_context::COND_wait_status";
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_allow.test
new file mode 100644
index 00000000000..df82a5c047d
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_allow.test
@@ -0,0 +1,52 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getaddrinfo() fails with AGAIN
+# - reported in COUNT_ADDRINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] Host name 'santa.claus.ipv4.example.com' could not be resolved:
+# Temporary failure in name resolution
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_error_again";
+
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'192.0.2.4';
+drop user 'root'@'192.0.2.4';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_deny.test
new file mode 100644
index 00000000000..f99cbc80577
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_deny.test
@@ -0,0 +1,46 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getaddrinfo() fails with AGAIN
+# - reported in COUNT_ADDRINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] Host name 'santa.claus.ipv4.example.com' could not be resolved:
+# Temporary failure in name resolution
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_error_again";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test
new file mode 100644
index 00000000000..08cbe8d15af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test
@@ -0,0 +1,54 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS full round trip (FCRDNS):
+# - IP --> HOST --> IP returns no match
+# - reported in COUNT_FCRDNS_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] Hostname 'santa.claus.ipv4.example.com' does not resolve to '192.0.2.4'.
+# [Note] Hostname 'santa.claus.ipv4.example.com' has the following IP addresses:
+# [Note] - 192.0.2.126
+# [Note] - 192.0.2.127
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_bad_ipv4";
+
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'192.0.2.4';
+drop user 'root'@'192.0.2.4';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_deny.test
new file mode 100644
index 00000000000..2f5f12fe0ab
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_deny.test
@@ -0,0 +1,48 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS full round trip (FCRDNS):
+# - IP --> HOST --> IP returns no match
+# - reported in COUNT_FCRDNS_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] Hostname 'santa.claus.ipv4.example.com' does not resolve to '192.0.2.4'.
+# [Note] Hostname 'santa.claus.ipv4.example.com' has the following IP addresses:
+# [Note] - 192.0.2.126
+# [Note] - 192.0.2.127
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_bad_ipv4";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_allow.test
new file mode 100644
index 00000000000..808a1b927d7
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_allow.test
@@ -0,0 +1,52 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate success from DNS full round trip (FCRDNS):
+# - IP --> HOST --> IP returns the client IP
+# - completes host validation in HOST_VALIDATED
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '192.0.2.4' could not be resolved:
+# no reverse address mapping.
+call mtr.add_suppression("192.0.2.4");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
+drop user 'root'@'santa.claus.ipv4.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_deny.test
new file mode 100644
index 00000000000..b46661c6852
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_deny.test
@@ -0,0 +1,46 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate success from DNS full round trip (FCRDNS):
+# - IP --> HOST --> IP returns the client IP
+# - completes host validation in HOST_VALIDATED
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '192.0.2.4' could not be resolved:
+# no reverse address mapping.
+call mtr.add_suppression("192.0.2.4");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_allow.test
new file mode 100644
index 00000000000..6f763d8c666
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_allow.test
@@ -0,0 +1,56 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getaddrinfo() fails with AGAIN
+# - reported in COUNT_ADDRINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] Host name 'santa.claus.ipv4.example.com' could not be resolved:
+# Name or service not known
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_error_noname";
+
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
+revoke select on test.* from 'root'@'192.0.2.4';
+drop user 'root'@'santa.claus.ipv4.example.com';
+drop user 'root'@'192.0.2.4';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_deny.test
new file mode 100644
index 00000000000..eb69c2a5365
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_deny.test
@@ -0,0 +1,46 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getaddrinfo() fails with NONAME
+# - reported in COUNT_ADDRINFO_PERMANENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] Host name 'santa.claus.ipv4.example.com' could not be resolved:
+# Name or service not known
+call mtr.add_suppression("santa.claus.ipv4.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_error_noname";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_auth_plugin.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_auth_plugin.test
new file mode 100644
index 00000000000..da2a2bbc725
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_auth_plugin.test
@@ -0,0 +1,90 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Test authorization with auth plugins.
+# error reporting in:
+# - column COUNT_AUTH_PLUGIN_ERRORS
+# - column COUNT_PROXY_USER_ERRORS
+# - column COUNT_PROXY_USER_ACL_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+--source include/have_plugin_auth.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+CREATE USER 'plug'@'santa.claus.ipv4.example.com'
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER 'plug_dest'@'santa.claus.ipv4.example.com'
+ IDENTIFIED BY 'plug_test_passwd';
+GRANT SELECT ON test.* TO 'plug_dest'@'santa.claus.ipv4.example.com';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+uninstall plugin test_plugin_server;
+
+--disable_query_log
+--error ER_PLUGIN_IS_NOT_LOADED
+connect (con2,"127.0.0.1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_PLUGIN_IS_NOT_LOADED
+connect (con3,"127.0.0.1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--replace_result $AUTH_TEST_PLUGIN_SO PLUGIN_AUTH
+eval install plugin test_plugin_server soname '$AUTH_TEST_PLUGIN_SO';
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2,"127.0.0.1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con3,"127.0.0.1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+GRANT PROXY ON 'plug_dest'@'santa.claus.ipv4.example.com'
+ TO 'plug'@'santa.claus.ipv4.example.com';
+
+connect (con4,"127.0.0.1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+select "Con4 is alive";
+select user();
+select current_user();
+disconnect con4;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+REVOKE ALL PRIVILEGES ON *.* FROM 'plug_dest'@'santa.claus.ipv4.example.com';
+REVOKE PROXY ON 'plug_dest'@'santa.claus.ipv4.example.com'
+ FROM 'plug'@'santa.claus.ipv4.example.com';
+DROP USER 'plug'@'santa.claus.ipv4.example.com';
+DROP USER 'plug_dest'@'santa.claus.ipv4.example.com';
+
+set global debug_dbug= default;
+delete from mysql.plugin where name='test_plugin_server';
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test
new file mode 100644
index 00000000000..b18dcd5f494
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test
@@ -0,0 +1,159 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from client / server protocol:
+# - reported in COUNT_HANDSHAKE_ERRORS
+# aud further causes blocking errors:
+# - reported in SUM_CONNECT_ERRORS
+# - reported in COUNT_HOST_BLOCKED_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+select @@global.max_connect_errors into @saved_max_connect_errors;
+
+set global max_connect_errors = 3;
+
+create user 'root'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
+
+create user 'quota'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'quota'@'santa.claus.ipv4.example.com';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4,native_password_bad_reply";
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con2a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con2b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con2c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_IS_BLOCKED
+connect (con2d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_IS_BLOCKED
+connect (con2e,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+# Now that the host is blocked, check that flush works
+flush hosts;
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con3a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con3b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--connection default
+set global debug_dbug= "-d,native_password_bad_reply";
+
+--disable_query_log
+connect (con4,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Valid connection should reset SUM_CONNECT_ERROR counter" as message;
+--disconnect con4
+--enable_query_log
+
+--connection default
+set global debug_dbug= "+d,native_password_bad_reply";
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con5a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con5b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con5c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_IS_BLOCKED
+connect (con5d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_IS_BLOCKED
+connect (con5e,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
+drop user 'root'@'santa.claus.ipv4.example.com';
+
+revoke select on test.* from 'quota'@'santa.claus.ipv4.example.com';
+drop user 'quota'@'santa.claus.ipv4.example.com';
+
+set global max_connect_errors = @saved_max_connect_errors;
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_format.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_format.test
new file mode 100644
index 00000000000..4766dbef778
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_format.test
@@ -0,0 +1,45 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from host names formats:
+# - reported in COUNT_FORMAT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '192.0.2.4' could not be resolved:
+# Name or service not known
+call mtr.add_suppression("192.0.2.4");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_format_ipv4";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_max_con-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv4_max_con-master.opt
new file mode 100644
index 00000000000..87ad0bc3f2d
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_max_con-master.opt
@@ -0,0 +1 @@
+--max-user-connections=1024
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_max_con.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_max_con.test
new file mode 100644
index 00000000000..a76e04ea35e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_max_con.test
@@ -0,0 +1,262 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from per user quotas:
+# - reported in COUNT_MAX_USER_CONNECTION_ERRORS
+# - reported in COUNT_MAX_USER_CONNECTION_PER_HOUR_ERRORS
+# Simulate failures from server quotas:
+# - reported in COUNT_MAX_CONNECTION_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+select @@global.max_connections into @saved_max_connections;
+select @@global.max_user_connections into @saved_max_user_connections;
+
+create user 'quota'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'quota'@'santa.claus.ipv4.example.com';
+grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com'
+ with max_connections_per_hour 3;
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+
+connect (con2a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con2a is alive";
+select current_user();
+disconnect con2a;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con2b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con2b is alive";
+select current_user();
+disconnect con2b;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con2c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con2c is alive";
+select current_user();
+disconnect con2c;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_USER_LIMIT_REACHED
+connect (con2d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_USER_LIMIT_REACHED
+connect (con2e,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+# Wait for all disconnects
+--source ../include/wait_for_pfs_thread_count.inc
+
+grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com'
+ with max_connections_per_hour 0;
+grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com'
+ with max_user_connections 3;
+flush user_resources;
+
+connect (con3a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con7 is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con3b is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con3c is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_USER_LIMIT_REACHED
+connect (con3d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_USER_LIMIT_REACHED
+connect (con3e,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+disconnect con3a;
+disconnect con3b;
+disconnect con3c;
+
+# Wait for all disconnects
+--source ../include/wait_for_pfs_thread_count.inc
+
+grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com'
+ with max_user_connections 0;
+flush user_resources;
+
+set global max_user_connections = 3;
+
+connect (con4a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con4a is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con4b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con4b is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con4c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con4c is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_TOO_MANY_USER_CONNECTIONS
+connect (con4d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_TOO_MANY_USER_CONNECTIONS
+connect (con4e,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+disconnect con4a;
+disconnect con4b;
+disconnect con4c;
+
+# Wait for all disconnects
+--source ../include/wait_for_pfs_thread_count.inc
+
+set global max_user_connections = 0;
+set global max_connections = 10;
+flush user_resources;
+
+connect (tmp_con1,localhost,root,,);
+connect (tmp_con2,localhost,root,,);
+connect (tmp_con3,localhost,root,,);
+connect (tmp_con4,localhost,root,,);
+connect (tmp_con5,localhost,root,,);
+connect (tmp_con6,localhost,root,,);
+connect (tmp_con7,localhost,root,,);
+
+connect (con5a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con4a is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con5b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+select "Con5b is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+# About error ER_CON_COUNT_ERROR:
+# - this error is associated with SQLSTATE 08004,
+# and returned from 2 places in the server code.
+# - which path returns the error is not predictable,
+# as it depends on the server load and thread scheduling
+# - one path returns a SQLSTATE of 08004
+# - another path returns no SQLSTATE at all,
+# and then the client sets a default value of HY000 for SQLSTATE
+#
+# Testing for error ER_CON_COUNT_ERROR alone causes this to
+# be printed in the result file:
+# - ERROR 08004: Too many connections
+# which in turn causes spurious test failures.
+#
+# To work around this, this scripts expect to see either
+# the error number ER_CON_COUNT_ERROR (it always does)
+# or the error number 9999 (it never does, this error does not exist).
+# The exact error number and SQLSTATE is not printed in the result file,
+# makig this test robust for both cases:
+# - ERROR 08004: Too many connections
+# - ERROR HY000: Too many connections
+
+--disable_query_log
+--error ER_CON_COUNT_ERROR, 9999
+connect (con5c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_CON_COUNT_ERROR, 9999
+connect (con5d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+disconnect con5a;
+disconnect con5b;
+--disconnect tmp_con1
+--disconnect tmp_con2
+--disconnect tmp_con3
+--disconnect tmp_con4
+--disconnect tmp_con5
+--disconnect tmp_con6
+--disconnect tmp_con7
+
+# Wait for all disconnects
+--source ../include/wait_for_pfs_thread_count.inc
+
+set global max_connections = @saved_max_connections;
+set global max_user_connections = @saved_max_user_connections;
+
+# revoke all privileges on test.* from 'quota'@'santa.claus.ipv4.example.com';
+drop user 'quota'@'santa.claus.ipv4.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_allow.test
new file mode 100644
index 00000000000..ab72e0f4340
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_allow.test
@@ -0,0 +1,74 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getnameinfo() fails with AGAIN
+# - reported in COUNT_NAMEINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '192.0.2.4' could not be resolved:
+# Temporary failure in name resolution
+call mtr.add_suppression("192.0.2.4");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+create user 'root'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_error_again";
+
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+
+connect (con4,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con4 is alive";
+select current_user();
+disconnect con4;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con5,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con5 is alive";
+select current_user();
+disconnect con5;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'192.0.2.4';
+revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
+drop user 'root'@'192.0.2.4';
+drop user 'root'@'santa.claus.ipv4.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_deny.test
new file mode 100644
index 00000000000..6152399503b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_deny.test
@@ -0,0 +1,64 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getnameinfo() fails with AGAIN
+# - reported in COUNT_NAMEINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '192.0.2.4' could not be resolved:
+# Temporary failure in name resolution
+call mtr.add_suppression("192.0.2.4");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_error_again";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con4,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con5,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_allow.test
new file mode 100644
index 00000000000..06776de6b27
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_allow.test
@@ -0,0 +1,52 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getnameinfo() fails with NONAME
+# - reported in COUNT_NAMEINFO_PERMANENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '192.0.2.4' could not be resolved:
+# no reverse address mapping.
+call mtr.add_suppression("192.0.2.4");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'192.0.2.4';
+grant select on test.* to 'root'@'192.0.2.4';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_error_noname";
+
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'192.0.2.4';
+drop user 'root'@'192.0.2.4';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_deny.test
new file mode 100644
index 00000000000..72bb7fac6af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_deny.test
@@ -0,0 +1,46 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getnameinfo() fails with NONAME
+# - reported in COUNT_NAMEINFO_PERMANENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '192.0.2.4' could not be resolved:
+# no reverse address mapping.
+call mtr.add_suppression("192.0.2.4");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_error_noname";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_passwd.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_passwd.test
new file mode 100644
index 00000000000..b39f3478146
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_passwd.test
@@ -0,0 +1,85 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from user authentication:
+# - reported in COUNT_AUTHENTICATION_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'user_without'@'santa.claus.ipv4.example.com';
+create user 'user_with'@'santa.claus.ipv4.example.com'
+ identified by 'good_password';
+grant select on test.* to 'user_without'@'santa.claus.ipv4.example.com';
+grant select on test.* to 'user_with'@'santa.claus.ipv4.example.com';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2a,"127.0.0.1",user_without,extra_password,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2b,"127.0.0.1",user_without,extra_password,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2c,"127.0.0.1",user_with,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2d,"127.0.0.1",user_with,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2e,"127.0.0.1",user_with,wrong_password,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2f,"127.0.0.1",user_with,wrong_password,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+drop user 'user_with'@'santa.claus.ipv4.example.com';
+drop user 'user_without'@'santa.claus.ipv4.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_ssl.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_ssl.test
new file mode 100644
index 00000000000..de58219d490
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_ssl.test
@@ -0,0 +1,70 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from SSL:
+# - reported in COUNT_SSL_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'user_ssl'@'santa.claus.ipv4.example.com';
+create user 'user_ssl_x509'@'santa.claus.ipv4.example.com'
+ identified by 'good_password';
+grant select on test.* to 'user_ssl'@'santa.claus.ipv4.example.com'
+ REQUIRE SSL;
+grant select on test.* to 'user_ssl_x509'@'santa.claus.ipv4.example.com'
+ REQUIRE SUBJECT '/C=??/ST=??/L=??/
+ O=No such thing/
+ CN=Santa Claus/emailAddress=santa.claus@example.com';
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4";
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2a,"127.0.0.1",user_ssl,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2b,"127.0.0.1",user_ssl,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2c,"127.0.0.1",user_ssl_x509,good_password,test,$MASTER_MYPORT,,SSL);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2d,"127.0.0.1",user_ssl_x509,good_password,test,$MASTER_MYPORT,,SSL);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+drop user 'user_ssl'@'santa.claus.ipv4.example.com';
+drop user 'user_ssl_x509'@'santa.claus.ipv4.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow.test
new file mode 100644
index 00000000000..f276e759f75
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow.test
@@ -0,0 +1,53 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getaddrinfo() fails with AGAIN
+# - reported in COUNT_ADDRINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] Host name 'santa.claus.ipv6.example.com' could not be resolved:
+# Temporary failure in name resolution
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_error_again";
+
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'2001:db8::6:6';
+drop user 'root'@'2001:db8::6:6';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny.test
new file mode 100644
index 00000000000..a5ac18a8818
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny.test
@@ -0,0 +1,47 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getaddrinfo() fails with AGAIN
+# - reported in COUNT_ADDRINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] Host name 'santa.claus.ipv6.example.com' could not be resolved:
+# Temporary failure in name resolution
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_error_again";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow.test
new file mode 100644
index 00000000000..9f951273e98
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow.test
@@ -0,0 +1,55 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS full round trip (FCRDNS):
+# - IP --> HOST --> IP returns no match
+# - reported in COUNT_FCRDNS_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] Hostname 'santa.claus.ipv6.example.com' does not resolve to '2001:db8::6:6'.
+# [Note] Hostname 'santa.claus.ipv6.example.com' has the following IP addresses:
+# [Note] - 2001:db8::6:7e
+# [Note] - 2001:db8::6:7f
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_bad_ipv6";
+
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'2001:db8::6:6';
+drop user 'root'@'2001:db8::6:6';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny.test
new file mode 100644
index 00000000000..361a3ce6bd1
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny.test
@@ -0,0 +1,49 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS full round trip (FCRDNS):
+# - IP --> HOST --> IP returns no match
+# - reported in COUNT_FCRDNS_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] Hostname 'santa.claus.ipv6.example.com' does not resolve to '2001:db8::6:6'.
+# [Note] Hostname 'santa.claus.ipv6.example.com' has the following IP addresses:
+# [Note] - 2001:db8::6:7e
+# [Note] - 2001:db8::6:7f
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_bad_ipv6";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow.test
new file mode 100644
index 00000000000..81427e86c5e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow.test
@@ -0,0 +1,53 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate success from DNS full round trip (FCRDNS):
+# - IP --> HOST --> IP returns the client IP
+# - completes host validation in HOST_VALIDATED
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '192.0.2.4' could not be resolved:
+# no reverse address mapping.
+call mtr.add_suppression("192.0.2.4");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv6.example.com';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'santa.claus.ipv6.example.com';
+drop user 'root'@'santa.claus.ipv6.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny.test
new file mode 100644
index 00000000000..4836dfc2d36
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny.test
@@ -0,0 +1,43 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate success from DNS full round trip (FCRDNS):
+# - IP --> HOST --> IP returns the client IP
+# - completes host validation in HOST_VALIDATED
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow.test
new file mode 100644
index 00000000000..7ce12639b7f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow.test
@@ -0,0 +1,57 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getaddrinfo() fails with AGAIN
+# - reported in COUNT_ADDRINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] Host name 'santa.claus.ipv6.example.com' could not be resolved:
+# Name or service not known
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv6.example.com';
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_error_noname";
+
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'santa.claus.ipv6.example.com';
+revoke select on test.* from 'root'@'2001:db8::6:6';
+drop user 'root'@'santa.claus.ipv6.example.com';
+drop user 'root'@'2001:db8::6:6';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny.test
new file mode 100644
index 00000000000..9ce4fb926e6
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny.test
@@ -0,0 +1,47 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getaddrinfo() fails with NONAME
+# - reported in COUNT_ADDRINFO_PERMANENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] Host name 'santa.claus.ipv6.example.com' could not be resolved:
+# Name or service not known
+call mtr.add_suppression("santa.claus.ipv6.example.com");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_error_noname";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin.test
new file mode 100644
index 00000000000..9c8168e573a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin.test
@@ -0,0 +1,91 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Test authorization with auth plugins.
+# error reporting in:
+# - column COUNT_AUTH_PLUGIN_ERRORS
+# - column COUNT_PROXY_USER_ERRORS
+# - column COUNT_PROXY_USER_ACL_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+--source include/have_plugin_auth.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+CREATE USER 'plug'@'santa.claus.ipv6.example.com'
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER 'plug_dest'@'santa.claus.ipv6.example.com'
+ IDENTIFIED BY 'plug_test_passwd';
+GRANT SELECT ON test.* TO 'plug_dest'@'santa.claus.ipv6.example.com';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+uninstall plugin test_plugin_server;
+
+--disable_query_log
+--error ER_PLUGIN_IS_NOT_LOADED
+connect (con2,"::1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_PLUGIN_IS_NOT_LOADED
+connect (con3,"::1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--replace_result $AUTH_TEST_PLUGIN_SO PLUGIN_AUTH
+eval install plugin test_plugin_server soname '$AUTH_TEST_PLUGIN_SO';
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2,"::1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con3,"::1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+GRANT PROXY ON 'plug_dest'@'santa.claus.ipv6.example.com'
+ TO 'plug'@'santa.claus.ipv6.example.com';
+
+connect (con4,"::1",plug,plug_dest,test,$MASTER_MYPORT,,,auth_test_plugin);
+select "Con4 is alive";
+select user();
+select current_user();
+disconnect con4;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+REVOKE ALL PRIVILEGES ON *.* FROM 'plug_dest'@'santa.claus.ipv6.example.com';
+REVOKE PROXY ON 'plug_dest'@'santa.claus.ipv6.example.com'
+ FROM 'plug'@'santa.claus.ipv6.example.com';
+DROP USER 'plug'@'santa.claus.ipv6.example.com';
+DROP USER 'plug_dest'@'santa.claus.ipv6.example.com';
+
+set global debug_dbug= default;
+delete from mysql.plugin where name='test_plugin_server';
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test
new file mode 100644
index 00000000000..0a04ec306cf
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test
@@ -0,0 +1,160 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from client / server protocol:
+# - reported in COUNT_HANDSHAKE_ERRORS
+# aud further causes blocking errors:
+# - reported in SUM_CONNECT_ERRORS
+# - reported in COUNT_HOST_BLOCKED_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+select @@global.max_connect_errors into @saved_max_connect_errors;
+
+set global max_connect_errors = 3;
+
+create user 'root'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv6.example.com';
+
+create user 'quota'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'quota'@'santa.claus.ipv6.example.com';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6,native_password_bad_reply";
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con2a,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con2b,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con2c,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_IS_BLOCKED
+connect (con2d,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_IS_BLOCKED
+connect (con2e,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+# Now that the host is blocked, check that flush works
+flush hosts;
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con3a,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con3b,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--connection default
+set global debug_dbug= "-d,native_password_bad_reply";
+
+--disable_query_log
+connect (con4,"::1",quota,,test,$MASTER_MYPORT,);
+select "Valid connection should reset SUM_CONNECT_ERROR counter" as message;
+--disconnect con4
+--enable_query_log
+
+--connection default
+set global debug_dbug= "+d,native_password_bad_reply";
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con5a,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con5b,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HANDSHAKE_ERROR
+connect (con5c,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_IS_BLOCKED
+connect (con5d,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_IS_BLOCKED
+connect (con5e,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'santa.claus.ipv6.example.com';
+drop user 'root'@'santa.claus.ipv6.example.com';
+
+revoke select on test.* from 'quota'@'santa.claus.ipv6.example.com';
+drop user 'quota'@'santa.claus.ipv6.example.com';
+
+set global max_connect_errors = @saved_max_connect_errors;
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con-master.opt
new file mode 100644
index 00000000000..4b2088ce37f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con-master.opt
@@ -0,0 +1,2 @@
+--bind-address=::
+--max-user-connections=1024
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con.test
new file mode 100644
index 00000000000..96a5d10d6e1
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con.test
@@ -0,0 +1,244 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from per user quotas:
+# - reported in COUNT_MAX_USER_CONNECTION_ERRORS
+# - reported in COUNT_MAX_USER_CONNECTION_PER_HOUR_ERRORS
+# Simulate failures from server quotas:
+# - reported in COUNT_MAX_CONNECTION_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+select @@global.max_connections into @saved_max_connections;
+select @@global.max_user_connections into @saved_max_user_connections;
+
+create user 'quota'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'quota'@'santa.claus.ipv6.example.com';
+grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com'
+ with max_connections_per_hour 3;
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+
+connect (con2a,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con2a is alive";
+select current_user();
+disconnect con2a;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con2b,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con2b is alive";
+select current_user();
+disconnect con2b;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con2c,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con2c is alive";
+select current_user();
+disconnect con2c;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_USER_LIMIT_REACHED
+connect (con2d,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_USER_LIMIT_REACHED
+connect (con2e,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+# Wait for all disconnects
+--source ../include/wait_for_pfs_thread_count.inc
+
+grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com'
+ with max_connections_per_hour 0;
+grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com'
+ with max_user_connections 3;
+flush user_resources;
+
+connect (con3a,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con7 is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3b,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con3b is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3c,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con3c is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_USER_LIMIT_REACHED
+connect (con3d,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_USER_LIMIT_REACHED
+connect (con3e,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+disconnect con3a;
+disconnect con3b;
+disconnect con3c;
+
+# Wait for all disconnects
+--source ../include/wait_for_pfs_thread_count.inc
+
+grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com'
+ with max_user_connections 0;
+flush user_resources;
+
+set global max_user_connections = 3;
+
+connect (con4a,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con4a is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con4b,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con4b is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con4c,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con4c is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_TOO_MANY_USER_CONNECTIONS
+connect (con4d,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_TOO_MANY_USER_CONNECTIONS
+connect (con4e,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+disconnect con4a;
+disconnect con4b;
+disconnect con4c;
+
+# Wait for all disconnects
+--source ../include/wait_for_pfs_thread_count.inc
+
+set global max_user_connections = 0;
+set global max_connections = 10;
+flush user_resources;
+
+connect (tmp_con1,localhost,root,,);
+connect (tmp_con2,localhost,root,,);
+connect (tmp_con3,localhost,root,,);
+connect (tmp_con4,localhost,root,,);
+connect (tmp_con5,localhost,root,,);
+connect (tmp_con6,localhost,root,,);
+connect (tmp_con7,localhost,root,,);
+
+connect (con5a,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con4a is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con5b,"::1",quota,,test,$MASTER_MYPORT,);
+select "Con5b is alive";
+select current_user();
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+# About ER_CON_COUNT_ERROR,
+# See comments in hostcache_ipv4_max_con.test
+
+--disable_query_log
+--error ER_CON_COUNT_ERROR, 9999
+connect (con5c,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_CON_COUNT_ERROR, 9999
+connect (con5d,"::1",quota,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+disconnect con5a;
+disconnect con5b;
+--disconnect tmp_con1
+--disconnect tmp_con2
+--disconnect tmp_con3
+--disconnect tmp_con4
+--disconnect tmp_con5
+--disconnect tmp_con6
+--disconnect tmp_con7
+
+# Wait for all disconnects
+--source ../include/wait_for_pfs_thread_count.inc
+
+set global max_connections = @saved_max_connections;
+set global max_user_connections = @saved_max_user_connections;
+
+# revoke all privileges on test.* from 'quota'@'santa.claus.ipv6.example.com';
+drop user 'quota'@'santa.claus.ipv6.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow.test
new file mode 100644
index 00000000000..7e49ed62b93
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow.test
@@ -0,0 +1,75 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getnameinfo() fails with AGAIN
+# - reported in COUNT_NAMEINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '2001:db8::6:6' could not be resolved:
+# Temporary failure in name resolution
+call mtr.add_suppression("2001:db8::6:6");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+create user 'root'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'root'@'santa.claus.ipv6.example.com';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_error_again";
+
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+
+connect (con4,"::1",root,,test,$MASTER_MYPORT,);
+select "Con4 is alive";
+select current_user();
+disconnect con4;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con5,"::1",root,,test,$MASTER_MYPORT,);
+select "Con5 is alive";
+select current_user();
+disconnect con5;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'2001:db8::6:6';
+revoke select on test.* from 'root'@'santa.claus.ipv6.example.com';
+drop user 'root'@'2001:db8::6:6';
+drop user 'root'@'santa.claus.ipv6.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny.test
new file mode 100644
index 00000000000..3cdd87e4cf9
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny.test
@@ -0,0 +1,65 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getnameinfo() fails with AGAIN
+# - reported in COUNT_NAMEINFO_TRANSIENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '2001:db8::6:6' could not be resolved:
+# Temporary failure in name resolution
+call mtr.add_suppression("2001:db8::6:6");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_error_again";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con4,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con5,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow.test
new file mode 100644
index 00000000000..62876e859cb
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow.test
@@ -0,0 +1,53 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getnameinfo() fails with NONAME
+# - reported in COUNT_NAMEINFO_PERMANENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '2001:db8::6:6' could not be resolved:
+# Name or service not known
+call mtr.add_suppression("2001:db8::6:6");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'root'@'2001:db8::6:6';
+grant select on test.* to 'root'@'2001:db8::6:6';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_error_noname";
+
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+select "Con2 is alive";
+select current_user();
+disconnect con2;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+select "Con3 is alive";
+select current_user();
+disconnect con3;
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+revoke select on test.* from 'root'@'2001:db8::6:6';
+drop user 'root'@'2001:db8::6:6';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny.test
new file mode 100644
index 00000000000..054940e4a02
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny.test
@@ -0,0 +1,47 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from DNS:
+# - getnameinfo() fails with NONAME
+# - reported in COUNT_NAMEINFO_PERMANENT_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# [Warning] IP address '2001:db8::6:6' could not be resolved:
+# Name or service not known
+call mtr.add_suppression("2001:db8::6:6");
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_error_noname";
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con2,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_HOST_NOT_PRIVILEGED
+connect (con3,"::1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd.test
new file mode 100644
index 00000000000..811c5c51c26
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd.test
@@ -0,0 +1,83 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from user authentication:
+# - reported in COUNT_AUTHENTICATION_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'user_without'@'santa.claus.ipv6.example.com';
+create user 'user_with'@'santa.claus.ipv6.example.com'
+ identified by 'good_password';
+grant select on test.* to 'user_without'@'santa.claus.ipv6.example.com';
+grant select on test.* to 'user_with'@'santa.claus.ipv6.example.com';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2a,"::1",user_without,extra_password,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2b,"::1",user_without,extra_password,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2c,"::1",user_with,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2d,"::1",user_with,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2e,"::1",user_with,wrong_password,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2f,"::1",user_with,wrong_password,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+drop user 'user_with'@'santa.claus.ipv6.example.com';
+drop user 'user_without'@'santa.claus.ipv6.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl-master.opt
new file mode 100644
index 00000000000..c2bb4d156af
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl-master.opt
@@ -0,0 +1 @@
+--bind-address=::
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl.test
new file mode 100644
index 00000000000..c11922624c6
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl.test
@@ -0,0 +1,71 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from SSL:
+# - reported in COUNT_SSL_ERRORS
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/check_ipv6.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+create user 'user_ssl'@'santa.claus.ipv6.example.com';
+create user 'user_ssl_x509'@'santa.claus.ipv6.example.com'
+ identified by 'good_password';
+grant select on test.* to 'user_ssl'@'santa.claus.ipv6.example.com'
+ REQUIRE SSL;
+grant select on test.* to 'user_ssl_x509'@'santa.claus.ipv6.example.com'
+ REQUIRE SUBJECT '/C=??/ST=??/L=??/
+ O=No such thing/
+ CN=Santa Claus/emailAddress=santa.claus@example.com';
+
+connect (con1,"::1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv6,getnameinfo_fake_ipv6,getaddrinfo_fake_good_ipv6";
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2a,"::1",user_ssl,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2b,"::1",user_ssl,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2c,"::1",user_ssl_x509,good_password,test,$MASTER_MYPORT,,SSL);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect (con2d,"::1",user_ssl_x509,good_password,test,$MASTER_MYPORT,,SSL);
+--enable_query_log
+
+--connection default
+--source ../include/hostcache_dump.inc
+
+drop user 'user_ssl'@'santa.claus.ipv6.example.com';
+drop user 'user_ssl_x509'@'santa.claus.ipv6.example.com';
+
+set global debug_dbug= default;
+
diff --git a/mysql-test/suite/perfschema/t/hostcache_peer_addr.test b/mysql-test/suite/perfschema/t/hostcache_peer_addr.test
new file mode 100644
index 00000000000..9e5c88b8bd5
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/hostcache_peer_addr.test
@@ -0,0 +1,48 @@
+
+#
+# Tests for the performance_schema host_cache.
+#
+# Simulate failures from vio_peer_addr, reported in:
+# status variable Peer_address_errors
+
+--source include/not_embedded.inc
+--source include/have_debug.inc
+--source include/have_perfschema.inc
+
+# Enforce a clean state
+--source ../include/wait_for_pfs_thread_count.inc
+--source ../include/hostcache_set_state.inc
+
+show global status like "connection_errors_%";
+
+connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+select "Con1 is alive";
+select current_user();
+disconnect con1;
+
+--connection default
+set global debug_dbug= "+d,vio_peer_addr_error";
+
+--disable_query_log
+--error ER_BAD_HOST_ERROR
+connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+show global status like "connection_errors_%";
+--source ../include/hostcache_dump.inc
+
+--disable_query_log
+--error ER_BAD_HOST_ERROR
+connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,);
+--enable_query_log
+
+--connection default
+show global status like "connection_errors_%";
+--source ../include/hostcache_dump.inc
+
+set global debug_dbug= default;
+
+flush status;
+show global status like "connection_errors_%";
+
diff --git a/mysql-test/suite/perfschema/t/indexed_table_io.test b/mysql-test/suite/perfschema/t/indexed_table_io.test
new file mode 100644
index 00000000000..1a7597113d2
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/indexed_table_io.test
@@ -0,0 +1,112 @@
+# Tests for PERFORMANCE_SCHEMA table io
+# Show the impact of an index
+
+# Setup
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+let $engine_type= MyISAM;
+
+--disable_warnings
+drop table if exists test.no_index_tab;
+drop table if exists test.index_tab;
+--enable_warnings
+
+let $table_io_select= select COUNT(*)
+from performance_schema.events_waits_history_long
+where event_name like 'wait/io/table/%'
+and object_schema = 'test'
+and object_name = ;
+
+--source ../include/table_io_setup_helper.inc
+
+# Code to test
+
+eval create table test.no_index_tab
+ ( a int, b char(30) default 'Default') engine = $engine_type;
+eval create table test.index_tab
+ ( a int, b char(30) default 'Default', unique key uidx(a)) engine = $engine_type;
+# Make sure the proper engine is used
+show create table test.no_index_tab;
+show create table test.index_tab;
+
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+--echo # Printing of 100 inserts per table is suppressed
+--disable_query_log
+let $run= 100;
+while ($run)
+{
+ eval insert into test.no_index_tab set a = $run;
+ eval insert into test.index_tab set a = $run;
+ dec $run;
+}
+--enable_query_log
+update performance_schema.setup_consumers set enabled='NO';
+eval $table_io_select 'no_index_tab';
+# Attention: There is no visible impact of index maintenance on table io
+# because the maintenance is handled by the storage engine themself.
+eval $table_io_select 'index_tab';
+
+select count(*) from test.no_index_tab;
+select count(*) from test.index_tab;
+
+# Testing Code
+
+# For getting avg(a) inspection of
+# - all rows (test.no_index_tab)
+# - all unique index values (test.index_tab, assuming the optimizer decides to
+# process only the unique index)
+# --> No difference between numvber of accesses for no_index_tab and index_tab
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+select avg(a) from test.no_index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+eval $table_io_select 'no_index_tab';
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+select avg(a) from test.index_tab;
+update performance_schema.setup_consumers set enabled='NO';
+eval $table_io_select 'index_tab';
+
+# With where a = 50 inspection of
+# - all rows (test.no_index_tab)
+# - 1 up to maybe a few unique index values (test.index_tab, assuming that the
+# optimizer decides to exploit the unique index)
+# --> index_tab requires much less accesses than no_index_tab
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+select 1 as my_column from test.no_index_tab where a = 50;
+update performance_schema.setup_consumers set enabled='NO';
+eval $table_io_select 'no_index_tab';
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+select 1 as my_column from test.index_tab where a = 50;
+update performance_schema.setup_consumers set enabled='NO';
+eval $table_io_select 'index_tab';
+
+# With where a = 50 inspection of
+# - all rows (test.no_index_tab)
+# - 1 up to maybe a few unique index values (test.index_tab, assuming that the
+# optimizer decides to exploit the unique index)
+# and remove one row for both cases
+# --> index_tab requires much less accesses than no_index_tab
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+delete from test.no_index_tab where a = 51;
+update performance_schema.setup_consumers set enabled='NO';
+eval $table_io_select 'no_index_tab';
+truncate table performance_schema.events_waits_history_long;
+update performance_schema.setup_consumers set enabled='YES';
+delete from test.index_tab where a = 51;
+update performance_schema.setup_consumers set enabled='NO';
+eval $table_io_select 'index_tab';
+
+# In case of failures, this will tell if table io are lost.
+show status like 'performance_schema_%';
+
+# Cleanup
+drop table test.no_index_tab;
+drop table test.index_tab;
+--source ../include/table_io_cleanup_helper.inc
diff --git a/mysql-test/suite/perfschema/t/innodb_table_io.test b/mysql-test/suite/perfschema/t/innodb_table_io.test
new file mode 100644
index 00000000000..3f187c01b6e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/innodb_table_io.test
@@ -0,0 +1,29 @@
+# Tests for PERFORMANCE_SCHEMA table io
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_innodb.inc
+--source ../include/table_io_setup_helper.inc
+
+let $engine_type= InnoDB;
+let $table_item= test.no_index_tab;
+--disable_warnings
+eval drop table if exists $table_item;
+--enable_warnings
+
+# Start recording events
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+eval create table $table_item
+( a varchar(255) not null, b int not null) engine = $engine_type;
+insert into marker set a = 1;
+eval show create table $table_item;
+--source ../include/table_io_basic_dml.inc
+eval drop table $table_item;
+
+# Stop recording events + pull result
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/memory_table_io.test b/mysql-test/suite/perfschema/t/memory_table_io.test
new file mode 100644
index 00000000000..f1e5f7027f7
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/memory_table_io.test
@@ -0,0 +1,28 @@
+# Tests for PERFORMANCE_SCHEMA table io
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/table_io_setup_helper.inc
+
+let $engine_type= MEMORY;
+let $table_item= test.no_index_tab;
+--disable_warnings
+eval drop table if exists $table_item;
+--enable_warnings
+
+# Start recording events
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+eval create table $table_item
+( a varchar(255) not null, b int not null) engine = $engine_type;
+insert into marker set a = 1;
+eval show create table $table_item;
+--source ../include/table_io_basic_dml.inc
+eval drop table $table_item;
+
+# Stop recording events + pull result
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/merge_table_io.test b/mysql-test/suite/perfschema/t/merge_table_io.test
new file mode 100644
index 00000000000..d4727525e70
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/merge_table_io.test
@@ -0,0 +1,46 @@
+# Tests for PERFORMANCE_SCHEMA table io
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/table_io_setup_helper.inc
+
+let $engine_type= MyISAM;
+let $table_item= test.no_index_tab;
+
+--disable_warnings
+eval drop table if exists $table_item;
+drop table if exists test.no_index_tab_1;
+drop table if exists test.no_index_tab_2;
+--enable_warnings
+
+# Start recording events
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+eval create table test.no_index_tab_1
+( a varchar(255) not null, b int not null) engine = $engine_type;
+insert into marker set a = 1;
+create table test.no_index_tab_2 like test.no_index_tab_1;
+insert into marker set a = 1;
+eval create table $table_item
+ ( a varchar(255) not null, b int not null) engine = merge
+ union = (test.no_index_tab_1,test.no_index_tab_2) insert_method = first;
+insert into marker set a = 1;
+# Make sure the proper engine is used
+show create table test.no_index_tab_1;
+insert into marker set a = 1;
+show create table test.no_index_tab_2;
+insert into marker set a = 1;
+eval show create table $table_item;
+--source ../include/table_io_basic_dml.inc
+drop table test.no_index_tab_1;
+insert into marker set a = 1;
+drop table test.no_index_tab_2;
+insert into marker set a = 1;
+eval drop table $table_item;
+
+# Stop recording events + pull result
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/misc.test b/mysql-test/suite/perfschema/t/misc.test
index 5cff586c5f0..c9f7dc6bfc0 100644
--- a/mysql-test/suite/perfschema/t/misc.test
+++ b/mysql-test/suite/perfschema/t/misc.test
@@ -3,6 +3,62 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
+--source include/have_innodb.inc
+--source include/no_protocol.inc
+
+#
+# Bug#12790483 OBJECTS_SUMMARY_GLOBAL_BY_TYPE AND RENAME TABLE
+#
+# Rename table leaves old tables names behind in
+# performance_schema.objects_summary_global_by_type
+#
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+ WHERE object_schema='test';
+
+CREATE TABLE test.t_before(a INT);
+INSERT INTO test.t_before VALUES (1);
+
+# The new table should appear in OBJECTS_SUMMARY_GLOBAL_BY_TYPE.
+
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+ WHERE object_schema='test';
+
+RENAME TABLE test.t_before TO test.t_after;
+
+# The renamed table should appear in OBJECTS_SUMMARY_GLOBAL_BY_TYPE, but only
+# after it is accessed.
+
+SELECT COUNT(*) FROM test.t_after;
+
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+ WHERE object_schema='test';
+
+DROP TABLE test.t_after;
+
+# The renamed table should not appear in OBJECTS_SUMMARY_GLOBAL_BY_TYPE.
+
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+ WHERE object_schema='test';
+
+#
+# Verify table views are ignored by the table io instrumentation.
+#
+
+CREATE TABLE test.t1(a INT);
+INSERT INTO test.t1 VALUES (1);
+CREATE VIEW test.v1 AS SELECT * FROM test.t1;
+SELECT COUNT(*) FROM test.v1;
+
+# Verify that a PFS table share was not created for the view.
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+ WHERE object_schema='test';
+
+DROP VIEW test.v1;
+DROP TABLE test.t1;
+
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+ WHERE object_schema='test';
+
#
# Bug#45496 Performance schema: assertion fails in
@@ -26,6 +82,11 @@ LIMIT 1;
--error ER_CANT_CREATE_TABLE
create table test.t1(a int) engine=performance_schema;
+# The table should not appear in OBJECTS_SUMMARY_GLOBAL_BY_TYPE
+
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+ WHERE object_schema='test';
+
#
# Bug#44897 Performance Schema: can create a ghost table in another database
#
@@ -33,6 +94,11 @@ create table test.t1(a int) engine=performance_schema;
--error ER_CANT_CREATE_TABLE
create table test.t1 like performance_schema.events_waits_current;
+# The table should not appear in OBJECTS_SUMMARY_GLOBAL_BY_TYPE
+
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+ WHERE object_schema='test';
+
#
# Bug#44898 PerformanceSchema: can create a table in db performance_schema, cannot insert
#
@@ -40,6 +106,11 @@ create table test.t1 like performance_schema.events_waits_current;
--error ER_TABLEACCESS_DENIED_ERROR
create table performance_schema.t1(a int);
+# The table should not appear in OBJECTS_SUMMARY_GLOBAL_BY_TYPE
+
+SELECT object_schema, object_name FROM performance_schema.objects_summary_global_by_type
+ WHERE object_schema='test';
+
#
# Bug#51447 performance schema evil twin files
#
@@ -68,3 +139,86 @@ select * from performance_schema.file_instances
--error ER_NO_SUCH_TABLE
select * from performance_schema.no_such_table;
+#
+# Bug#12370950 - 60905: TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE AGGREGATES NON-INSERT DML WRONGLY
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS t_60905;
+--enable_warnings
+CREATE TABLE t_60905 (i INT, j INT, KEY(i)) ENGINE = InnoDB;
+INSERT INTO t_60905 VALUES
+(1,2), (3,4), (5,6), (7,8), (9,10);
+
+# should delete with a "single" PRIMARY lookup (2 PRIMARY fetch, 1 PRIMARY delete)
+DELETE FROM t_60905 WHERE i = 1;
+
+# should delete with a full scan (5 NULL fetch, 1 NULL delete)
+DELETE FROM t_60905 WHERE j = 8;
+
+# show the instrument data
+SELECT object_schema,
+ object_name,
+ index_name,
+ count_fetch,
+ count_insert,
+ count_update,
+ count_delete
+ FROM performance_schema.table_io_waits_summary_by_index_usage
+ WHERE object_schema = 'test'
+ AND object_name = 't_60905';
+
+DROP TABLE t_60905;
+
+
+#
+# Bug#11929832 - EVENTS_STATEMENTS_HISTORY HAS ERRORS=0 WHEN THERE ARE ERRORS
+#
+# Verify that SQL errors are properly counted.
+
+use test;
+truncate performance_schema.events_statements_history;
+truncate performance_schema.events_statements_history_long;
+
+--error ER_NO_SUCH_TABLE
+select * from t1;
+
+--echo
+select mysql_errno, returned_sqlstate, message_text, errors, warnings
+ from performance_schema.events_statements_history where errors > 0;
+
+--echo
+select mysql_errno, returned_sqlstate, message_text, errors, warnings from
+ performance_schema.events_statements_history_long where errors > 0;
+
+#
+# Bug#20519832 - TRUNCATED SQL_TEXT values are not suffixed with '...'
+#
+# Verify that truncated SQL statements are suffixed with '...'
+
+use performance_schema;
+truncate performance_schema.events_statements_history;
+
+# Should truncate at 1024 bytes (1024 characters)
+select 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' AS A;
+
+# Should truncate at 1024 bytes (487 characters)
+
+select _utf8mb4 'òðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑòðÑÂÑ' as B;
+
+select count(*) from events_statements_history where sql_text like "%...";
+
+
+#
+# MDEV-10486 MariaDB 10.x does not update rows_examined in performance_schema tables
+# Verify that the rows_examined counter is set properly.
+
+use test;
+create table t1 (id int);
+insert into t1 values (1), (2), (3);
+truncate performance_schema.events_statements_history;
+select * from t1;
+insert into t1 select RAND()*10000 from t1;
+select sql_text, rows_examined from performance_schema.events_statements_history;
+drop table t1;
+
diff --git a/mysql-test/suite/perfschema/t/mks_timer-6258.test b/mysql-test/suite/perfschema/t/mks_timer-6258.test
new file mode 100644
index 00000000000..2bc14abf2f1
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/mks_timer-6258.test
@@ -0,0 +1,6 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+#
+# MDEV-6258 MariaDB 10.0 performance schema timestamps relative to epoch
+#
+select distinct first_seen < DATE'2000-01-01', last_seen < DATE'2000-01-01' from performance_schema.events_statements_summary_by_digest;
diff --git a/mysql-test/suite/perfschema/t/multi_table_io.test b/mysql-test/suite/perfschema/t/multi_table_io.test
new file mode 100644
index 00000000000..d835f36be4b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/multi_table_io.test
@@ -0,0 +1,53 @@
+# Tests for PERFORMANCE_SCHEMA table io
+# Reveal that in case of statements using more than one base table
+# both show up in a correct way.
+
+# Setup
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_warnings
+drop schema if exists test1;
+drop table if exists test.t1;
+--enable_warnings
+
+create schema test1;
+let $engine_type= myisam;
+eval create table test.t1 (col1 bigint, col2 varchar(30)) engine = $engine_type;
+insert into test.t1 values(1,'One');
+create table test1.t2 like test.t1;
+# Make sure the proper engine is used
+show create table test.t1;
+show create table test1.t2;
+
+--source ../include/table_io_setup_helper.inc
+let $schema_to_dump= 'test','test1';
+
+# Start event recording
+update performance_schema.setup_consumers set enabled = 'YES';
+
+# INSERT ... SELECT ...
+insert into test1.t2 select * from test.t1;
+insert into marker set a = 1;
+# JOIN
+select * from test.t1 natural join test1.t2;
+insert into marker set a = 1;
+# CORRELATED SUBQUERY
+select * from test.t1 where col2 = (select col2 from test1.t2 where test.t1.col1 = test1.t2.col1);
+insert into marker set a = 1;
+# UPDATE
+update test.t1 AS a natural join test1.t2 AS b SET a.col2 = 'updated' , b.col2 = 'updated';
+insert into marker set a = 1;
+# DELETE
+delete from test.t1, test1.t2 using test.t1 inner join test1.t2
+where test.t1.col1 = test1.t2.col1;
+
+# Stop event recording + pull results
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+drop table test.t1;
+drop schema test1;
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/myisam_file_io.test b/mysql-test/suite/perfschema/t/myisam_file_io.test
index 5888c29fe22..3b6a1369ab5 100644
--- a/mysql-test/suite/perfschema/t/myisam_file_io.test
+++ b/mysql-test/suite/perfschema/t/myisam_file_io.test
@@ -15,6 +15,7 @@ update performance_schema.setup_consumers
truncate table performance_schema.events_waits_history_long;
# Reset lost counters to a known state
+truncate table performance_schema.events_statements_summary_by_digest;
flush status;
# Code to test
@@ -46,6 +47,7 @@ select event_name,
from performance_schema.events_waits_history_long
where operation not like "tell"
and event_name like "wait/io/file/myisam/%"
+ having short_name <> ""
order by thread_id, event_id;
# In case of failures, this will tell if file io are lost.
diff --git a/mysql-test/suite/perfschema/t/myisam_table_io.test b/mysql-test/suite/perfschema/t/myisam_table_io.test
new file mode 100644
index 00000000000..9d0b2560419
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/myisam_table_io.test
@@ -0,0 +1,28 @@
+# Tests for PERFORMANCE_SCHEMA table io
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/table_io_setup_helper.inc
+
+let $engine_type= MyISAM;
+let $table_item= test.no_index_tab;
+--disable_warnings
+eval drop table if exists $table_item;
+--enable_warnings
+
+# Start recording events
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+eval create table $table_item
+( a varchar(255) not null, b int not null) engine = $engine_type;
+insert into marker set a = 1;
+eval show create table $table_item;
+--source ../include/table_io_basic_dml.inc
+eval drop table $table_item;
+
+# Stop recording events + pull result
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/nesting.test b/mysql-test/suite/perfschema/t/nesting.test
new file mode 100644
index 00000000000..7f1c0b570ad
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/nesting.test
@@ -0,0 +1,190 @@
+# Test to check the proper nesting of events
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+# On windows, the socket instrumentation collects an extra "opt"
+# event, which changes the test output.
+--source include/not_windows.inc
+--source include/no_protocol.inc
+--source ../include/wait_for_pfs_thread_count.inc
+
+--disable_query_log
+
+create user user1@localhost;
+grant ALL on *.* to user1@localhost;
+
+flush privileges;
+
+--disable_warnings
+drop table if exists test.setup_actors;
+--enable_warnings
+
+create table test.setup_actors as
+ select * from performance_schema.setup_actors;
+
+# Only instrument the user connections
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+ set host= 'localhost', user= 'user1', role= '%';
+
+update performance_schema.threads set instrumented='NO';
+
+# Only instrument a few events of each kind
+update performance_schema.setup_instruments set enabled='NO', timed='NO';
+
+update performance_schema.setup_instruments set enabled='YES', timed='YES'
+ where name in ('idle',
+ 'wait/io/table/sql/handler',
+ 'wait/lock/table/sql/handler',
+ 'wait/io/socket/sql/client_connection',
+ 'wait/synch/rwlock/sql/LOCK_grant',
+ 'wait/synch/mutex/sql/THD::LOCK_thd_data',
+ 'wait/io/file/sql/query_log');
+
+update performance_schema.setup_instruments set enabled='YES', timed='YES'
+ where name like ('stage/sql/%');
+
+update performance_schema.setup_instruments set enabled='YES', timed='YES'
+ where name in ('statement/sql/select',
+ 'statement/abstract/new_packet',
+ 'statement/abstract/Query',
+ 'statement/com/error');
+
+# Start from a known clean state, to avoid noise from previous tests
+truncate table performance_schema.events_statements_summary_by_digest;
+flush tables;
+flush status;
+
+truncate performance_schema.events_waits_current;
+truncate performance_schema.events_waits_history;
+truncate performance_schema.events_waits_history_long;
+truncate performance_schema.events_stages_current;
+truncate performance_schema.events_stages_history;
+truncate performance_schema.events_stages_history_long;
+truncate performance_schema.events_statements_current;
+truncate performance_schema.events_statements_history;
+truncate performance_schema.events_statements_history_long;
+
+--enable_query_log
+
+connect (con1, localhost, user1, , );
+
+echo "================== con1 connected ==================";
+
+select "MARKER_BEGIN" as marker;
+
+select "This is simple statement one" as payload;
+
+select "This is simple statement two" as payload;
+
+delimiter $$;
+select "This is the first part of a multi query" as payload;
+select "And this is the second part of a multi query" as payload;
+select "With a third part to make things complete" as payload;
+$$
+delimiter ;$$
+
+select "MARKER_END" as marker;
+
+select "Con1 is done with payload" as status;
+
+echo "================== con1 done ==================";
+
+--connection default
+
+set @con1_tid = (select thread_id from performance_schema.threads
+ where processlist_user = 'user1');
+
+select (@con1_tid is not null) as expected;
+
+set @marker_begin = (select event_id from performance_schema.events_statements_history_long
+ where sql_text like "%MARKER_BEGIN%" and thread_id = @con1_tid);
+
+select (@marker_begin is not null) as expected;
+
+set @marker_end = (select end_event_id from performance_schema.events_statements_history_long
+ where sql_text like "%MARKER_END%" and thread_id = @con1_tid);
+
+select (@marker_end is not null) as expected;
+
+# Will point to what happened on spurious test failures
+show status like "performance_schema%";
+
+#
+# This is the test itself:
+# the full trace of every recorded event between MARKER_BEGIN
+# end MARKER_END is dumped.
+# The value of EVENT_ID, END_EVENT_ID, NESTING_EVENT_TYPE, NESTING_EVENT_ID
+# should reflect the relations between each events,
+# and this structure should stay the same between runs.
+#
+# Things to observe in the output:
+# - there are IDLE events between top level queries,
+# - there are no IDLE events between multi queries
+# - STATEMENT starts right after the IDLE event
+# - STAGE init starts right after
+# - SOCKET events, when receiving the command,
+# are childrens of the STATEMENT select / STAGE init
+
+select * from (
+(
+select (event_id - @marker_begin) as relative_event_id,
+ (end_event_id - @marker_begin) as relative_end_event_id,
+ event_name,
+ sql_text as comment,
+ nesting_event_type,
+ (nesting_event_id - @marker_begin) as relative_nesting_event_id
+ from performance_schema.events_statements_history_long
+ where (thread_id = @con1_tid)
+ and (@marker_begin <= event_id)
+ and (end_event_id <= @marker_end)
+)
+union
+(
+select (event_id - @marker_begin) as relative_event_id,
+ (end_event_id - @marker_begin) as relative_end_event_id,
+ event_name,
+ "(stage)" as comment,
+ nesting_event_type,
+ (nesting_event_id - @marker_begin) as relative_nesting_event_id
+ from performance_schema.events_stages_history_long
+ where (thread_id = @con1_tid)
+ and (@marker_begin <= event_id)
+ and (end_event_id <= @marker_end)
+)
+union
+(
+select (event_id - @marker_begin) as relative_event_id,
+ (end_event_id - @marker_begin) as relative_end_event_id,
+ event_name,
+ operation as comment,
+ nesting_event_type,
+ (nesting_event_id - @marker_begin) as relative_nesting_event_id
+ from performance_schema.events_waits_history_long
+ where (thread_id = @con1_tid)
+ and (@marker_begin <= event_id)
+ and (end_event_id <= @marker_end)
+)
+) all_events
+order by relative_event_id asc;
+
+# test cleanup
+
+--disconnect con1
+
+--disable_query_log
+revoke all privileges, grant option from user1@localhost;
+drop user user1@localhost;
+flush privileges;
+
+truncate table performance_schema.setup_actors;
+insert into performance_schema.setup_actors
+ select * from test.setup_actors;
+drop table test.setup_actors;
+
+update performance_schema.threads set instrumented='YES';
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+
+--enable_query_log
+
+
diff --git a/mysql-test/suite/perfschema/t/no_threads-master.opt b/mysql-test/suite/perfschema/t/no_threads-master.opt
index 63784bf7c66..64275d009d4 100644
--- a/mysql-test/suite/perfschema/t/no_threads-master.opt
+++ b/mysql-test/suite/perfschema/t/no_threads-master.opt
@@ -1 +1 @@
---one-thread --thread-handling=no-threads --loose-performance-schema-max-thread_instances=10 --default-storage-engine=MyISAM
+--thread-handling=no-threads --loose-performance-schema-max-thread_instances=10 --default-storage-engine=MyISAM --skip-innodb
diff --git a/mysql-test/suite/perfschema/t/no_threads.test b/mysql-test/suite/perfschema/t/no_threads.test
index 6192843f641..ee745bd87b0 100644
--- a/mysql-test/suite/perfschema/t/no_threads.test
+++ b/mysql-test/suite/perfschema/t/no_threads.test
@@ -51,5 +51,7 @@ select event_name, operation,
# Cleanup
+update performance_schema.setup_instruments set enabled='YES';
+
drop table test.t1;
diff --git a/mysql-test/suite/perfschema/t/ortho_iter.test b/mysql-test/suite/perfschema/t/ortho_iter.test
new file mode 100644
index 00000000000..0a90831ae70
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/ortho_iter.test
@@ -0,0 +1,153 @@
+# Tests for PERFORMANCE_SCHEMA
+# Verify the orthogonality of iterators (table*::rnd_next()),
+# for every table and instruments.
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_warnings
+drop procedure if exists check_instrument;
+--enable_warnings
+
+# reset counters
+truncate table performance_schema.events_statements_summary_by_digest;
+flush status;
+
+delimiter $;
+create procedure check_instrument(in instr_name varchar(128))
+begin
+ declare count_expected integer;
+ declare count_actual integer;
+ declare is_wait integer;
+ declare is_stage integer;
+ declare is_statement integer;
+ declare is_wait_table integer;
+ declare is_stage_table integer;
+ declare is_statement_table integer;
+ declare pfs_table_name varchar(64);
+ declare msg varchar(512);
+ declare msg_detail varchar(512);
+ declare cmd_1 varchar(512);
+ declare cmd_2 varchar(512);
+ declare done integer default 0;
+ declare debug integer default 0;
+
+ declare pfs_cursor CURSOR FOR
+ select table_name from information_schema.tables
+ where table_schema= 'performance_schema'
+ and table_name like "events_%_by_event_name%";
+
+ declare continue handler for sqlstate '02000'
+ set done = 1;
+
+ select (instr_name like "wait/%") or (instr_name like "idle/%") into is_wait;
+ select (instr_name like "stage/%") into is_stage;
+ select (instr_name like "statement/%") into is_statement;
+
+ select instr_name, is_wait, is_stage, is_statement;
+
+ select count(name)
+ from performance_schema.setup_instruments
+ where (name like (concat(instr_name, "%")))
+ and (not name like "%/abstract/%")
+ into count_expected;
+
+ set cmd_1= "select count(*) from (select distinct event_name from performance_schema.";
+ set cmd_2= concat(" where event_name like \"",
+ instr_name,
+ "%\") t into @count_actual");
+
+ open pfs_cursor;
+ repeat
+ fetch pfs_cursor into pfs_table_name;
+ if not done then
+ select (pfs_table_name like "%waits%") into is_wait_table;
+ select (pfs_table_name like "%stages%") into is_stage_table;
+ select (pfs_table_name like "%statements%") into is_statement_table;
+
+ select concat("Checking table ", pfs_table_name, " ...") as status;
+ select concat(cmd_1, pfs_table_name, cmd_2) into @cmd;
+ if debug = 1
+ then
+ select @cmd;
+ end if;
+ prepare stmt from @cmd;
+ execute stmt;
+ drop prepare stmt;
+ set msg_detail= concat("table ", pfs_table_name,
+ ", instruments ", count_expected,
+ ", found ", @count_actual);
+
+ if is_wait = 1 and is_wait_table = 1 and @count_actual <> count_expected
+ then
+ set msg= concat("Missing wait events: ", msg_detail);
+ signal sqlstate '05000' set message_text= msg;
+ end if;
+
+ if is_wait = 1 and is_wait_table = 0 and @count_actual <> 0
+ then
+ set msg= concat("Unexpected wait events: ", msg_detail);
+ signal sqlstate '05000' set message_text= msg;
+ end if;
+
+ if is_stage = 1 and is_stage_table = 1 and @count_actual <> count_expected
+ then
+ set msg= concat("Missing stage events: ", msg_detail);
+ signal sqlstate '05000' set message_text= msg;
+ end if;
+
+ if is_stage = 1 and is_stage_table = 0 and @count_actual <> 0
+ then
+ set msg= concat("Unexpected stage events: ", msg_detail);
+ signal sqlstate '05000' set message_text= msg;
+ end if;
+
+ if is_statement = 1 and is_statement_table = 1 and @count_actual <> count_expected
+ then
+ set msg= concat("Missing statement events: ", msg_detail);
+ signal sqlstate '05000' set message_text= msg;
+ end if;
+
+ if is_statement = 1 and is_statement_table = 0 and @count_actual <> 0
+ then
+ set msg= concat("Unexpected statement events: ", msg_detail);
+ signal sqlstate '05000' set message_text= msg;
+ end if;
+
+ end if;
+ until done
+ end repeat;
+ close pfs_cursor;
+
+ -- Dont want to return a 02000 NOT FOUND, there should be a better way
+ signal sqlstate '01000' set message_text='Done', mysql_errno=12000;
+end
+$
+delimiter ;$
+
+# Check the configuration is ok
+show variables where
+ `Variable_name` != "performance_schema_max_statement_classes" and
+ `Variable_name` like "performance_schema%";
+
+call check_instrument("wait/synch/mutex/");
+call check_instrument("wait/synch/rwlock/");
+call check_instrument("wait/synch/cond/");
+call check_instrument("wait/synch/");
+call check_instrument("wait/io/file/");
+call check_instrument("wait/io/net/");
+call check_instrument("wait/io/table/");
+call check_instrument("wait/io/");
+call check_instrument("wait/lock/table/");
+call check_instrument("wait/lock/");
+call check_instrument("wait/");
+call check_instrument("stage/");
+call check_instrument("statement/com/");
+call check_instrument("statement/sql/");
+call check_instrument("statement/abstract/");
+call check_instrument("statement/");
+call check_instrument("idle/io/socket");
+call check_instrument("idle/");
+
+drop procedure check_instrument;
+
diff --git a/mysql-test/suite/perfschema/t/part_table_io.test b/mysql-test/suite/perfschema/t/part_table_io.test
new file mode 100644
index 00000000000..0b94d7ca886
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/part_table_io.test
@@ -0,0 +1,30 @@
+# Tests for PERFORMANCE_SCHEMA table io
+
+--source include/have_partition.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/table_io_setup_helper.inc
+
+let $engine_type= MyISAM;
+let $table_item= test.no_index_tab;
+--disable_warnings
+eval drop table if exists $table_item;
+--enable_warnings
+
+# Start recording events
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+eval create table $table_item
+( a varchar(255) not null, b int not null) engine = $engine_type
+PARTITION BY KEY (b) PARTITIONS 2;
+insert into marker set a = 1;
+eval show create table $table_item;
+--source ../include/table_io_basic_dml.inc
+eval drop table $table_item;
+
+# Stop recording events + pull result
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/partition.test b/mysql-test/suite/perfschema/t/partition.test
new file mode 100644
index 00000000000..073a41e9252
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/partition.test
@@ -0,0 +1,15 @@
+--source include/have_perfschema.inc
+
+--echo #
+--echo # MDEV-10679
+--echo # Server crashes in in mysql_create_frm_image upon query from
+--echo # performance schema in ps-protocol mode
+--echo #
+
+CREATE TABLE t1 (i INT);
+--error ER_PARTITION_MGMT_ON_NONPARTITIONED
+ALTER TABLE t1 ADD PARTITION (PARTITION p VALUES LESS THAN (1));
+--disable_result_log
+SELECT * FROM performance_schema.events_stages_summary_by_user_by_event_name;
+--enable_result_log
+DROP TABLE t1;
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade.test b/mysql-test/suite/perfschema/t/pfs_upgrade.test
deleted file mode 100644
index ad5356a4b93..00000000000
--- a/mysql-test/suite/perfschema/t/pfs_upgrade.test
+++ /dev/null
@@ -1,116 +0,0 @@
-# Tests for PERFORMANCE_SCHEMA
-# Make sure mysql_upgrade does not destroy data in a 'performance_schema'
-# database.
-#
-
---source include/not_embedded.inc
---source include/have_perfschema.inc
---source include/have_lowercase0.inc
-
-# Some initial settings + Preemptive cleanup
-let $MYSQLD_DATADIR= `SELECT @@datadir`;
-let $err_file= $MYSQLTEST_VARDIR/tmp/pfs_upgrade.err;
-let $out_file= $MYSQLTEST_VARDIR/tmp/pfs_upgrade.out;
---error 0,1
---remove_file $out_file
---error 0,1
---remove_file $err_file
-
---disable_warnings
-drop table if exists test.user_table;
-drop procedure if exists test.user_proc;
-drop function if exists test.user_func;
-drop event if exists test.user_event;
---enable_warnings
-
-
---echo "Testing mysql_upgrade with TABLE performance_schema.user_table"
-
-create table test.user_table(a int);
-
---error 0,1
---remove_file $MYSQLD_DATADIR/performance_schema/user_table.frm
---copy_file $MYSQLD_DATADIR/test/user_table.frm $MYSQLD_DATADIR/performance_schema/user_table.frm
-
-# Make sure the table is visible
-use performance_schema;
-show tables like "user_table";
-
---source suite/perfschema/include/upgrade_check.inc
-
-# Make sure the table is still visible
-show tables like "user_table";
-
-use test;
-
---remove_file $MYSQLD_DATADIR/performance_schema/user_table.frm
-drop table test.user_table;
-
-
---echo "Testing mysql_upgrade with VIEW performance_schema.user_view"
-
-create view test.user_view as select "Not supposed to be here";
-
---error 0,1
---remove_file $MYSQLD_DATADIR/performance_schema/user_view.frm
---copy_file $MYSQLD_DATADIR/test/user_view.frm $MYSQLD_DATADIR/performance_schema/user_view.frm
-
-# Make sure the view is visible
-use performance_schema;
-show tables like "user_view";
-
---source suite/perfschema/include/upgrade_check.inc
-
-# Make sure the view is still visible
-show tables like "user_view";
-
-use test;
-
---remove_file $MYSQLD_DATADIR/performance_schema/user_view.frm
-drop view test.user_view;
-
-
---echo "Testing mysql_upgrade with PROCEDURE performance_schema.user_proc"
-
-create procedure test.user_proc()
- select "Not supposed to be here";
-
-update mysql.proc set db='performance_schema' where name='user_proc';
-
---source suite/perfschema/include/upgrade_check.inc
-
-select name from mysql.proc where db='performance_schema';
-
-update mysql.proc set db='test' where name='user_proc';
-drop procedure test.user_proc;
-
-
---echo "Testing mysql_upgrade with FUNCTION performance_schema.user_func"
-
-create function test.user_func() returns integer
- return 0;
-
-update mysql.proc set db='performance_schema' where name='user_func';
-
---source suite/perfschema/include/upgrade_check.inc
-
-select name from mysql.proc where db='performance_schema';
-
-update mysql.proc set db='test' where name='user_func';
-drop function test.user_func;
-
-
---echo "Testing mysql_upgrade with EVENT performance_schema.user_event"
-
-create event test.user_event on schedule every 1 day do
- select "not supposed to be here";
-
-update mysql.event set db='performance_schema' where name='user_event';
-
---source suite/perfschema/include/upgrade_check.inc
-
-select name from mysql.event where db='performance_schema';
-
-update mysql.event set db='test' where name='user_event';
-drop event test.user_event;
-
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_event.test b/mysql-test/suite/perfschema/t/pfs_upgrade_event.test
new file mode 100644
index 00000000000..f16a073f212
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/pfs_upgrade_event.test
@@ -0,0 +1,24 @@
+# Tests for PERFORMANCE_SCHEMA
+# Make sure mysql_upgrade does not destroy data in a 'performance_schema'
+# database.
+#
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_innodb.inc
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+--echo "Testing mysql_upgrade with EVENT performance_schema.user_event"
+
+create event test.user_event on schedule every 1 day do
+ select "not supposed to be here";
+
+update mysql.event set db='performance_schema' where name='user_event';
+
+--source suite/perfschema/include/upgrade_check.inc
+
+select name from mysql.event where db='performance_schema';
+
+update mysql.event set db='test' where name='user_event';
+drop event test.user_event;
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_func.test b/mysql-test/suite/perfschema/t/pfs_upgrade_func.test
new file mode 100644
index 00000000000..da2bc371308
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/pfs_upgrade_func.test
@@ -0,0 +1,24 @@
+# Tests for PERFORMANCE_SCHEMA
+# Make sure mysql_upgrade does not destroy data in a 'performance_schema'
+# database.
+#
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_innodb.inc
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+--echo "Testing mysql_upgrade with FUNCTION performance_schema.user_func"
+
+create function test.user_func() returns integer
+ return 0;
+
+update mysql.proc set db='performance_schema' where name='user_func';
+
+--source suite/perfschema/include/upgrade_check.inc
+
+select name from mysql.proc where db='performance_schema';
+
+update mysql.proc set db='test' where name='user_func';
+drop function test.user_func;
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_proc.test b/mysql-test/suite/perfschema/t/pfs_upgrade_proc.test
new file mode 100644
index 00000000000..99e0816ccbd
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/pfs_upgrade_proc.test
@@ -0,0 +1,24 @@
+# Tests for PERFORMANCE_SCHEMA
+# Make sure mysql_upgrade does not destroy data in a 'performance_schema'
+# database.
+#
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_innodb.inc
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+--echo "Testing mysql_upgrade with PROCEDURE performance_schema.user_proc"
+
+create procedure test.user_proc()
+ select "Not supposed to be here";
+
+update mysql.proc set db='performance_schema' where name='user_proc';
+
+--source suite/perfschema/include/upgrade_check.inc
+
+select name from mysql.proc where db='performance_schema';
+
+update mysql.proc set db='test' where name='user_proc';
+drop procedure test.user_proc;
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_table.test b/mysql-test/suite/perfschema/t/pfs_upgrade_table.test
new file mode 100644
index 00000000000..897ec23c552
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/pfs_upgrade_table.test
@@ -0,0 +1,30 @@
+# Tests for PERFORMANCE_SCHEMA
+# Make sure mysql_upgrade does not destroy data in a 'performance_schema'
+# database.
+#
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_innodb.inc
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+--echo "Testing mysql_upgrade with TABLE performance_schema.user_table"
+
+create table test.user_table(a int);
+
+--copy_file $MYSQLD_DATADIR/test/user_table.frm $MYSQLD_DATADIR/performance_schema/user_table.frm
+
+# Make sure the table is visible
+use performance_schema;
+show tables like "user_table";
+
+--source suite/perfschema/include/upgrade_check.inc
+
+# Make sure the table is still visible
+show tables like "user_table";
+
+use test;
+
+--remove_file $MYSQLD_DATADIR/performance_schema/user_table.frm
+drop table test.user_table;
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_view.test b/mysql-test/suite/perfschema/t/pfs_upgrade_view.test
new file mode 100644
index 00000000000..0c9af73a1d4
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/pfs_upgrade_view.test
@@ -0,0 +1,30 @@
+# Tests for PERFORMANCE_SCHEMA
+# Make sure mysql_upgrade does not destroy data in a 'performance_schema'
+# database.
+#
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_innodb.inc
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+--echo "Testing mysql_upgrade with VIEW performance_schema.user_view"
+
+create view test.user_view as select "Not supposed to be here";
+
+--copy_file $MYSQLD_DATADIR/test/user_view.frm $MYSQLD_DATADIR/performance_schema/user_view.frm
+
+# Make sure the view is visible
+use performance_schema;
+show tables like "user_view";
+
+--source suite/perfschema/include/upgrade_check.inc
+
+# Make sure the view is still visible
+show tables like "user_view";
+
+use test;
+
+--remove_file $MYSQLD_DATADIR/performance_schema/user_view.frm
+drop view test.user_view;
diff --git a/mysql-test/suite/perfschema/t/privilege.test b/mysql-test/suite/perfschema/t/privilege.test
index 47a68602fa4..0e51d161934 100644
--- a/mysql-test/suite/perfschema/t/privilege.test
+++ b/mysql-test/suite/perfschema/t/privilege.test
@@ -5,6 +5,9 @@
show grants;
+create user 'pfs_user_1'@localhost;
+create user 'pfs_user_2'@localhost;
+create user 'pfs_user_3'@localhost;
grant ALL on *.* to 'pfs_user_1'@localhost with GRANT OPTION;
# Test denied privileges on performance_schema.*
diff --git a/mysql-test/suite/perfschema/t/privilege_table_io.test b/mysql-test/suite/perfschema/t/privilege_table_io.test
new file mode 100644
index 00000000000..c7928b7345b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/privilege_table_io.test
@@ -0,0 +1,52 @@
+# Tests for PERFORMANCE_SCHEMA table io
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/table_io_setup_helper.inc
+
+# Remove "deleted" records from mysql.db that may come from previous tests,
+# to avoid displaying spurious fetch.
+# There are two possible server reactions which are both ok.
+# Table Op Msg_type Msg_text
+# mysql.db optimize status OK
+# or
+# mysql.db optimize status Table is already up to date
+# Therefore we suppress the query_log here.
+--echo # We are forced to suppress here the server response.
+--disable_result_log
+optimize table mysql.host;
+optimize table mysql.user;
+optimize table mysql.db;
+optimize table mysql.proxies_priv;
+optimize table mysql.roles_mapping;
+optimize table mysql.tables_priv;
+optimize table mysql.procs_priv;
+optimize table mysql.servers;
+--enable_result_log
+
+# Start recording events
+update performance_schema.setup_consumers set enabled='YES';
+update performance_schema.setup_objects set enabled='YES'
+ where object_type='TABLE' and object_schema= 'mysql';
+
+# Code to test
+
+flush privileges;
+# This will cause table io in mysql system security tables
+insert into test.marker set a = 1;
+# This will not, the ACL cache is already loaded
+insert into test.marker set a = 1;
+insert into test.marker set a = 1;
+show variables where
+ `Variable_name` != "performance_schema_max_statement_classes" and
+ `Variable_name` like "performance_schema%";
+show status like "performance_schema%";
+# Stop recording events + pull results
+let $schema_to_dump= "test", "mysql";
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+--source ../include/table_io_cleanup_helper.inc
+
+update performance_schema.setup_objects set enabled='NO'
+ where object_type='TABLE' and object_schema= 'mysql';
diff --git a/mysql-test/suite/perfschema/t/query_cache-master.opt b/mysql-test/suite/perfschema/t/query_cache-master.opt
new file mode 100644
index 00000000000..a00258bc48c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/query_cache-master.opt
@@ -0,0 +1 @@
+--query_cache_type=1
diff --git a/mysql-test/suite/perfschema/t/read_only.test b/mysql-test/suite/perfschema/t/read_only.test
index 3050cee9e72..7b0284a7a48 100644
--- a/mysql-test/suite/perfschema/t/read_only.test
+++ b/mysql-test/suite/perfschema/t/read_only.test
@@ -11,6 +11,7 @@ use performance_schema;
set @start_read_only= @@global.read_only;
+create user pfsuser@localhost;
grant SELECT, UPDATE on performance_schema.* to pfsuser@localhost;
flush privileges;
diff --git a/mysql-test/suite/perfschema/t/relaylog.test b/mysql-test/suite/perfschema/t/relaylog.test
index 25974f18384..1455d1297e2 100644
--- a/mysql-test/suite/perfschema/t/relaylog.test
+++ b/mysql-test/suite/perfschema/t/relaylog.test
@@ -28,6 +28,9 @@ drop table test.t1;
# - statistics are normalized to "NONE" or "MANY"
# - statistics on ::update_cond conditions are not collected,
# since this is too much dependent on execution.
+# - statistics on COND_binlog_background_thread and COND_xid_list are not
+# collected, as they depend on exact timing for background binlog
+# checkpointing operations.
#
connection master;
@@ -73,6 +76,8 @@ select
from performance_schema.events_waits_summary_global_by_event_name
where event_name like "%MYSQL_BIN_LOG%"
and event_name not like "%MYSQL_BIN_LOG::update_cond"
+ and event_name not like "%MYSQL_BIN_LOG::COND_binlog_background_thread%"
+ and event_name not like "%MYSQL_BIN_LOG::COND_xid_list"
order by event_name;
-- echo "Expect no slave relay log"
@@ -135,6 +140,8 @@ select
from performance_schema.events_waits_summary_global_by_event_name
where event_name like "%MYSQL_BIN_LOG%"
and event_name not like "%MYSQL_BIN_LOG::update_cond"
+ and event_name not like "%MYSQL_BIN_LOG::COND_binlog_background_thread%"
+ and event_name not like "%MYSQL_BIN_LOG::COND_xid_list"
order by event_name;
-- echo "Expect a slave relay log"
diff --git a/mysql-test/suite/perfschema/t/rollback_table_io.test b/mysql-test/suite/perfschema/t/rollback_table_io.test
new file mode 100644
index 00000000000..67d7e4ca160
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/rollback_table_io.test
@@ -0,0 +1,48 @@
+# Tests for PERFORMANCE_SCHEMA table io
+# Show the impact of a rollback in case of the transactional engine InnoDB
+
+# Setup
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists test.t1;
+--enable_warnings
+
+let $engine_type= InnoDB;
+eval create table test.t1 (col1 bigint, col2 varchar(30)) engine = $engine_type;
+show create table test.t1;
+insert into test.t1 values(1,'One');
+eval set default_storage_engine=$engine_type;
+
+--source ../include/table_io_setup_helper.inc
+let $schema_to_dump= 'test';
+
+# Start recording of events
+update performance_schema.setup_consumers set enabled = 'YES';
+
+set autocommit = off;
+
+# Code to test
+
+delete from test.t1 where col1 = 1;
+insert into marker set a = 1;
+rollback;
+insert into marker set a = 1;
+update test.t1 set col2 = 'Updated' where col1 = 1;
+insert into marker set a = 1;
+rollback;
+insert into marker set a = 1;
+insert into test.t1 values(2,'Two');
+insert into marker set a = 1;
+rollback;
+
+# Stop recording of events + pull results
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+drop table test.t1;
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/rpl_gtid_func.test b/mysql-test/suite/perfschema/t/rpl_gtid_func.test
new file mode 100644
index 00000000000..6373d4284dc
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/rpl_gtid_func.test
@@ -0,0 +1,92 @@
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+
+-- source include/master-slave.inc
+
+connection master;
+--echo **** On Master ****
+
+--disable_warnings
+drop table if exists test.marker;
+--enable_warnings
+
+create table test.marker(a int) engine=innodb;
+insert into test.marker values (1);
+select * from test.marker;
+
+truncate table performance_schema.events_waits_history_long;
+truncate table performance_schema.events_statements_summary_by_digest;
+
+update performance_schema.setup_instruments
+ set enabled='YES', timed='YES';
+
+sync_slave_with_master;
+--echo **** On Slave ****
+
+truncate table performance_schema.events_waits_history_long;
+truncate table performance_schema.events_statements_summary_by_digest;
+
+update performance_schema.setup_instruments
+ set enabled='YES', timed='NO';
+
+connection master;
+--echo **** On Master ****
+
+select * from performance_schema.setup_instruments
+ where timed='NO';
+
+select "This better be in the master" as in_master_digest;
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'master', 'foo', 'YES', 'YES');
+
+select * from performance_schema.setup_objects
+ order by object_type, object_schema, object_name;
+
+select digest_text, count_star
+ from performance_schema.events_statements_summary_by_digest
+ where digest_text like "%in_%_digest%";
+
+insert into test.marker values (2);
+
+sync_slave_with_master;
+--echo **** On Slave ****
+
+select * from test.marker;
+
+select * from performance_schema.setup_instruments
+ where timed='YES';
+
+select "This better be in the slave" as in_slave_digest;
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'slave', 'foo', 'YES', 'YES');
+
+select * from performance_schema.setup_objects
+ order by object_type, object_schema, object_name;
+
+select digest_text, count_star
+ from performance_schema.events_statements_summary_by_digest
+ where digest_text like "%in_%_digest%";
+
+connection master;
+--echo **** On Master ****
+delete from performance_schema.setup_objects
+ where object_schema='master';
+sync_slave_with_master;
+--echo **** On Slave ****
+
+delete from performance_schema.setup_objects
+ where object_schema='slave';
+select * from performance_schema.setup_objects;
+
+--disable_query_log
+--disable_warnings
+connection master;
+drop table test.marker;
+sync_slave_with_master;
+--enable_warnings
+--enable_query_log
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/perfschema/t/rpl_statements.test b/mysql-test/suite/perfschema/t/rpl_statements.test
new file mode 100644
index 00000000000..4f65cdcbd7b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/rpl_statements.test
@@ -0,0 +1,339 @@
+#
+# Check statement instrumentation of replicated statements
+#
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
+
+#==============================================================
+# Execute a variety of dml and ddl statements on the master.
+# Verify that the corresponding statement events are generated
+# on the slave.
+#
+# 1. Setup test files on master
+# 2. Replicate test files to slave
+# 3. Perform dml and ddl statements on master
+# 4. Copy statement events on master into a temporary table
+# 4. Replicate to slave
+# 5. Compare statement events on slave to those from the master
+# 6. Disable statement/abstract/relay_log on slave
+# 7. Update some tables on the master then replicate
+# 8. Verify that the updates were replicated but no statement
+# events were recorded
+#==============================================================
+
+#
+# UTILITY QUERIES
+#
+let $get_thread_id=
+ select thread_id into @my_thread_id
+ from performance_schema.threads
+ where processlist_id = connection_id();
+
+let $disable_instruments=
+ update performance_schema.setup_instruments
+ set enabled='no', timed='no'
+ where name like '%statement/%';
+
+let $enable_instruments= ../include
+ update performance_schema.setup_instruments
+ set enabled='yes', timed='yes'
+ where name like '%statement/%';
+
+let $column_list=
+ thread_id, event_id, rpad(event_name, 28, ' ') event_name, rpad(current_schema, 10, ' ') current_schema, rpad(digest_text, 72, ' ') digest_text, sql_text;
+
+# Define instrument name for enable/disable instruments
+let $pfs_instrument='%statement/%';
+
+--echo
+--echo #
+--echo # STEP 1 - CREATE AND REPLICATE TEST TABLES
+--echo #
+
+connection master;
+
+--echo
+--echo **************
+--echo *** MASTER ***
+--echo **************
+--echo
+--echo *** Create test tables
+--echo
+
+show variables like 'binlog_format%';
+
+--disable_warnings
+drop table if exists test.marker;
+--enable_warnings
+
+eval $get_thread_id;
+
+create table test.marker(s1 int) engine=innodb;
+
+sync_slave_with_master;
+
+--echo **************
+--echo *** SLAVE ***
+--echo **************
+--echo
+--echo *** Clear statement events
+--source ../include/rpl_statements_truncate.inc
+
+--echo
+--echo #
+--echo # STEP 2 - REPLICATE ONE ROW ON MASTER TO GET REPLICATION THREAD ID ON SLAVE
+--echo #
+
+connection master;
+
+--echo **************
+--echo *** MASTER ***
+--echo **************
+--echo
+insert into test.marker values (0);
+--echo
+
+sync_slave_with_master;
+
+--echo **************
+--echo *** SLAVE ***
+--echo **************
+--echo
+--echo *** Verify row, get replication thread id, clear statement events
+--echo
+
+# TODO: Get slave thread id from threads using thread/sql/slave_sql event name
+
+select thread_id into @slave_thread_id from performance_schema.events_statements_history
+ where sql_text like '%marker%';
+let $slave_thread_id= `select @slave_thread_id`;
+
+--echo *** Verify row inserted on master was replicated
+select count(*) = 1 as 'Expect 1' from test.marker;
+
+--echo *** Clear statement events
+--source ../include/rpl_statements_truncate.inc
+
+--echo
+--echo #
+--echo # STEP 3 - PERFORM DML STATEMENTS ON MASTER
+--echo #
+
+connection master;
+
+--echo **************
+--echo *** MASTER ***
+--echo **************
+--echo
+show variables like 'binlog_format%';
+
+--echo *** Clear statement events
+--source ../include/rpl_statements_truncate.inc
+
+--echo
+--echo *** Create/drop table, create/drop database
+--echo
+create database marker1_db;
+create database marker2_db;
+create table marker1_db.table1 (s1 int) engine=innodb;
+create table marker2_db.table1 (s1 int) engine=innodb;
+create table marker2_db.table2 (s1 int) engine=innodb;
+
+--echo
+--echo *** Transaction
+start transaction;
+insert into marker1_db.table1 values (1), (2), (3);
+insert into marker2_db.table1 values (1), (2), (3);
+commit;
+
+--echo
+--echo *** Alter
+alter table marker1_db.table1 add column (s2 varchar(32));
+
+--echo
+--echo *** Insert, Update
+start transaction;
+insert into marker1_db.table1 values (4, 'four'), (5, 'five'), (6, 'six');
+update marker1_db.table1 set s1 = s1 + 1;
+commit;
+
+--echo
+--echo *** Rollback
+start transaction;
+insert into marker1_db.table1 values (7, 'seven'), (8, 'eight'), (9, 'nine');
+rollback;
+
+--echo
+--echo *** Autocommit, Delete, Drop
+delete from marker1_db.table1 where s1 > 4;
+drop table marker2_db.table1;
+drop database marker2_db;
+
+--source ../include/disable_instruments.inc
+
+--echo
+--echo *** Examine statements events that will be compared on the slave
+--echo
+
+--replace_column 1 [THREAD_ID] 2 [EVENT_ID]
+
+eval select $column_list from performance_schema.events_statements_history_long
+ where sql_text like '%marker%' order by event_id;
+
+--echo
+--echo #
+--echo # STEP 4 - REPLICATE STATEMENT EVENTS ON MASTER TO SLAVE
+--echo #
+--echo
+--echo *** Store statement events in holding table, then replicate
+--echo
+
+--source ../include/disable_instruments.inc
+
+--echo #
+--echo # Create table to hold statement events for later comparison on the slave
+--echo #
+
+create table test.master_events_statements_history_long as
+ (select thread_id, event_id, event_name, sql_text, digest, digest_text, current_schema, rows_affected
+ from performance_schema.events_statements_history_long
+ where (thread_id=@my_thread_id and digest_text like '%marker%'));
+
+--source ../include/enable_instruments.inc
+
+--echo
+--echo #
+--echo # STEP 5 - VERIFY DML AND DDL STATEMENT EVENTS ON SLAVE
+--echo #
+
+sync_slave_with_master;
+
+--echo **************
+--echo *** SLAVE ***
+--echo **************
+
+--source ../include/disable_instruments.inc
+
+--echo
+--echo *** List statement events from master
+--echo
+--replace_column 1 [THREAD_ID] 2 [EVENT_ID]
+eval select $column_list from master_events_statements_history_long order by event_id;
+
+--echo
+--echo *** List statement events on slave
+--echo
+
+--replace_column 1 [THREAD_ID] 2 [EVENT_ID]
+
+eval select $column_list from performance_schema.events_statements_history_long
+ where thread_id = @slave_thread_id and sql_text like '%marker%' order by event_id;
+
+--echo
+--echo *** Compare master and slave events
+--echo
+
+# Note: The statement digest provides a more robust comparison than the
+# event name. However, in some cases, e.g. DROP TABLE, the server generates
+# its own version of the statement which includes additional quotes and a
+# comment. A digest comparison is therefore impractical for server-generated
+# statements, so we use both methods to ensure coverage.
+
+--echo
+--echo *** Event name comparison - expect 0 mismatches
+--echo
+
+select thread_id, event_id, event_name, digest_text, sql_text from performance_schema.events_statements_history_long t1
+ where t1.thread_id = @slave_thread_id and
+ sql_text like '%marker%' and
+ not exists (select * from master_events_statements_history_long t2 where t2.event_name = t1.event_name);
+
+--echo
+--echo *** Statement digest comparison - expect 1 mismatch for DROP TABLE
+--echo
+
+--replace_column 1 [THREAD_ID] 2 [EVENT_ID] 4 [DIGEST]
+
+select thread_id, event_id, event_name, digest, digest_text, sql_text from performance_schema.events_statements_history_long t1
+ where t1.thread_id = @slave_thread_id and
+ sql_text like '%marker%' and
+ not exists (select * from master_events_statements_history_long t2 where t2.digest = t1.digest);
+
+--echo
+--echo #
+--echo # STEP 6 - DISABLE REPLICATED STATEMENT EVENTS ON SLAVE
+--echo #
+--source ../include/rpl_statements_truncate.inc
+--source ../include/enable_instruments.inc
+
+update performance_schema.setup_instruments set enabled='no', timed='no'
+ where name like '%statement/abstract/relay_log%';
+
+select * from performance_schema.setup_instruments where name like '%statement/abstract/relay_log%';
+
+--echo
+--echo #
+--echo # STEP 7 - UPDATE TABLES ON MASTER, REPLICATE
+--echo #
+
+connection master;
+
+--echo **************
+--echo *** MASTER ***
+--echo **************
+--echo
+--echo *** Clear statement events
+--source ../include/rpl_statements_truncate.inc
+
+--echo *** Update some tables, then replicate
+--echo
+
+insert into marker1_db.table1 values (999, '999'), (998, '998'), (997, '997');
+
+--echo
+--echo #
+--echo # STEP 8 - VERIFY TABLE UPDATES FROM MASTER, EXPECT NO STATEMENT EVENTS ON SLAVE
+--echo #
+
+sync_slave_with_master;
+
+--echo **************
+--echo *** SLAVE ***
+--echo **************
+--echo
+--echo *** Confirm rows were replicated
+--echo
+
+select * from marker1_db.table1 where s1 > 900 order by s1;
+
+--echo
+--echo *** Confirm that are no statements events from the replication thread
+--echo
+
+select * from performance_schema.events_statements_history_long
+ where thread_id = @slave_thread_id;
+
+--source ../include/enable_instruments.inc
+
+--echo
+--echo #
+--echo # STEP 9 - CLEAN UP
+--echo #
+--echo
+--disable_query_log
+--disable_warnings
+
+connection master;
+drop table test.marker;
+drop table test.master_events_statements_history_long;
+drop database marker1_db;
+
+sync_slave_with_master;
+
+--enable_warnings
+--enable_query_log
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/perfschema/t/schema.test b/mysql-test/suite/perfschema/t/schema.test
index df6a100ee0d..d12ba2e2b36 100644
--- a/mysql-test/suite/perfschema/t/schema.test
+++ b/mysql-test/suite/perfschema/t/schema.test
@@ -1,30 +1,7 @@
# Tests for PERFORMANCE_SCHEMA
+# Show existing objects and information about their structure
--source include/not_embedded.inc
--source include/have_perfschema.inc
---source include/have_lowercase0.inc
-
-show databases;
-
-use performance_schema;
-
-show tables;
-
-show create table cond_instances;
-show create table events_waits_current;
-show create table events_waits_history;
-show create table events_waits_history_long;
-show create table events_waits_summary_by_instance;
-show create table events_waits_summary_by_thread_by_event_name;
-show create table events_waits_summary_global_by_event_name;
-show create table file_instances;
-show create table file_summary_by_event_name;
-show create table file_summary_by_instance;
-show create table mutex_instances;
-show create table performance_timers;
-show create table rwlock_instances;
-show create table setup_consumers;
-show create table setup_instruments;
-show create table setup_timers;
-show create table threads;
+--source ../include/schema.inc
diff --git a/mysql-test/suite/perfschema/t/selects.test b/mysql-test/suite/perfschema/t/selects.test
index eb8d8f7ed31..d2d447bd77e 100644
--- a/mysql-test/suite/perfschema/t/selects.test
+++ b/mysql-test/suite/perfschema/t/selects.test
@@ -9,6 +9,12 @@
UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+# Disable ALL table IO, to avoid generating events from the selects
+# To be revised after WL#5342 PERFORMANCE SCHEMA SETUP OBJECTS
+
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'NO'
+ where NAME='wait/io/table/sql/handler';
+
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
@@ -168,3 +174,6 @@ DROP FUNCTION t_ps_func;
DROP EVENT t_ps_event;
DROP TABLE t1;
DROP TABLE t_event;
+
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+
diff --git a/mysql-test/suite/perfschema/t/server_init.test b/mysql-test/suite/perfschema/t/server_init.test
index cffcc0edee2..c6d25f18426 100644
--- a/mysql-test/suite/perfschema/t/server_init.test
+++ b/mysql-test/suite/perfschema/t/server_init.test
@@ -23,9 +23,6 @@ select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_open";
select count(name) from mutex_instances
- where name like "wait/synch/mutex/mysys/THR_LOCK_isam";
-
-select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_myisam";
select count(name) from mutex_instances
@@ -47,10 +44,10 @@ select count(name) from cond_instances
# Verify that these global mutexes have been properly initilized in sql
select count(name) from mutex_instances
- where name like "wait/synch/mutex/sql/LOCK_open";
+ where name like "wait/synch/mutex/sql/LOCK_thread_count";
select count(name) from mutex_instances
- where name like "wait/synch/mutex/sql/LOCK_thread_count";
+ where name like "wait/synch/mutex/sql/LOCK_log_throttle_qni";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_status";
@@ -62,7 +59,7 @@ select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_delayed_insert";
select count(name) from mutex_instances
- where name like "wait/synch/mutex/sql/LOCK_uuid_short_generator";
+ where name like "wait/synch/mutex/sql/LOCK_uuid_generator";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_delayed_status";
@@ -97,9 +94,6 @@ select count(name) from mutex_instances
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_server_started";
-select count(name) from mutex_instances
- where name like "wait/synch/mutex/sql/LOCK_rpl_status";
-
# LOG_INFO object are created on demand, and are not global.
# select count(name) from mutex_instances
# where name like "wait/synch/mutex/sql/LOG_INFO::lock";
@@ -124,9 +118,6 @@ select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_audit_mask";
select count(name) from mutex_instances
- where name like "wait/synch/mutex/sql/LOCK_xid_cache";
-
-select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_plugin";
# Not a global variable, may be destroyed already.
@@ -171,9 +162,6 @@ select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_flush_thread_cache";
select count(name) from cond_instances
- where name like "wait/synch/cond/sql/COND_rpl_status";
-
-select count(name) from cond_instances
where name like "wait/synch/cond/sql/Query_cache::COND_cache_status_changed";
# The event scheduler may be disabled
diff --git a/mysql-test/suite/perfschema/t/setup_actors.test b/mysql-test/suite/perfschema/t/setup_actors.test
new file mode 100644
index 00000000000..39d60b0ab03
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/setup_actors.test
@@ -0,0 +1,251 @@
+# Check the impact of different entries in performance_schema.setup_actors
+# on when and how activity of users is recordeed in performance_schema.threads.
+# The checks for indirect activity caused by users, system threads etc.
+# are within setup_actors1.test.
+
+--source include/not_windows.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+# The initial number of rows is 1. The initial row always looks like this:
+# mysql> select * from performance_schema.setup_actors;
+# +------+------+------+
+# | Host | User | ROLE |
+# +------+------+------+
+# | % | % | % |
+# +------+------+------+
+select * from performance_schema.setup_actors;
+
+truncate table performance_schema.setup_actors;
+
+insert into performance_schema.setup_actors
+values ('hosta', 'user1', '%');
+
+insert into performance_schema.setup_actors
+values ('%', 'user2', '%');
+
+insert into performance_schema.setup_actors
+values ('localhost', 'user3', '%');
+
+insert into performance_schema.setup_actors
+values ('hostb', '%', '%');
+
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+
+create user user1@localhost;
+grant ALL on *.* to user1@localhost;
+create user user2@localhost;
+grant ALL on *.* to user2@localhost;
+create user user3@localhost;
+grant ALL on *.* to user3@localhost;
+create user user4@localhost;
+grant ALL on *.* to user4@localhost;
+create user user5@localhost;
+grant select on test.* to user5@localhost;
+
+flush privileges;
+
+--echo # Switch to (con1, localhost, user1, , )
+connect (con1, localhost, user1, , );
+
+# INSTRUMENTED must be NO because there is no match in performance_schema.setup_actors
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+let $con1_thread_id= `select THREAD_ID from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
+
+--echo # Switch to connection default
+--connection default
+insert into performance_schema.setup_actors
+values ('%', 'user1', '%');
+
+--echo # Switch to connection con1
+--connection con1
+# INSTRUMENTED must be NO because there was no match in performance_schema.setup_actors
+# when our current session made its connect. Later changes in setup_actors have no
+# impact.
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+
+--echo # Disconnect con1
+--disconnect con1
+
+--echo # Switch to (con2, localhost, user2, , )
+connect (con2, localhost, user2, , );
+
+# INSTRUMENTED must be YES because there is a match via
+# (HOST,USER,ROLE) = ('%', 'user2', '%') in performance_schema.setup_actors.
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID=connection_id();
+let $con2_thread_id= `select THREAD_ID from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
+
+--echo # Disconnect con2
+--disconnect con2
+
+--echo # Switch to connection default
+--connection default
+# If a thread dies, we don't expect its THREAD_ID value will be re-used.
+if ($con2_thread_id <= $con1_thread_id)
+{
+ --echo ERROR: THREAD_ID of con2 is not bigger than THREAD_ID of con1
+ eval SELECT $con2_thread_id as THREAD_ID_con2, $con1_thread_id THREAD_ID_con1;
+}
+
+--disable_warnings
+drop table if exists test.t1;
+--enable_warnings
+create table test.t1 (col1 bigint);
+lock table test.t1 write;
+
+--echo # Switch to (con3, localhost, user3, , )
+connect (con3, localhost, user3, , );
+
+# INSTRUMENTED must be YES because there is a match via
+# (HOST,USER,ROLE) = ('localhost', 'user3', '%') in performance_schema.setup_actors.
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+
+# PROCESSLIST_ columns are:
+# (if name like '%OneConnection') all the same as what you'd get if you
+# run a select on INFORMATION_SCHEMA.PROCESSLIST for the corresponding thread.
+# Check at least once that this is fulfilled.
+# Note(mleich):
+# A join between INFORMATION_SCHEMA.PROCESSLIST and performance_schema.threads
+# Example:
+# select count(*) = 1
+# from performance_schema.threads T inner join information_schema.PROCESSLIST P
+# on T.PROCESSLIST_ID = P.ID and T.PROCESSLIST_USER = P.USER and
+# T.PROCESSLIST_HOST = P.HOST and T.PROCESSLIST_DB = P.DB and
+# T.PROCESSLIST_COMMAND = P.COMMAND and T.PROCESSLIST_INFO = P.INFO
+# where T.PROCESSLIST_ID = connection_id() and T.NAME = 'thread/sql/one_connection'
+# executed by the current connection looks like some of the most elegant solutions
+# for revealing this. But such a join suffers from sporadic differences like
+# column | observation
+# -------|-------------
+# state | "Sending data" vs. "executing"
+# time | 0 vs. 1 (high load on the testing box)
+# info | <full statement> vs. NULL (use of "--ps-protocol")
+# IMHO the differences are harmless.
+# Therefore we use here a different solution.
+#
+--echo # Send a statement to the server, but do not wait till the result
+--echo # comes back. We will pull this later.
+send
+insert into test.t1 set col1 = 1;
+--echo # Switch to (con4, localhost, user4, , )
+connect (con4, localhost, user4, , );
+--echo # Poll till INFO is no more NULL and State = 'Waiting for table metadata lock'.
+let $wait_condition= select count(*) from information_schema.processlist
+ where user = 'user3' and info is not null
+ and state = 'Waiting for table metadata lock';
+--source include/wait_condition.inc
+# Expect to get 1 now
+select count(*) = 1
+from performance_schema.threads T inner join information_schema.PROCESSLIST P
+ on T.PROCESSLIST_ID = P.ID and T.PROCESSLIST_USER = P.USER and
+ T.PROCESSLIST_HOST = P.HOST and T.PROCESSLIST_DB = P.DB and
+ T.PROCESSLIST_COMMAND = P.COMMAND and T.PROCESSLIST_INFO = P.INFO
+where T.PROCESSLIST_USER = 'user3' and T.NAME = 'thread/sql/one_connection';
+
+# Resolve the situation + some cleanup
+--echo # Switch to connection default
+--connection default
+unlock tables;
+--echo # Switch to connection con3 and reap the result of the no more blocked insert
+--connection con3
+--reap
+--echo # Switch to connection default
+--connection default
+drop table test.t1;
+--echo # Disconnect con3
+--disconnect con3
+
+--echo # Switch to connection con4
+--connection con4
+# INSTRUMENTED must be NO because there is no match in performance_schema.setup_actors
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+
+--echo # Disconnect con4
+--disconnect con4
+
+--echo # Switch to connection default
+--connection default
+
+insert into performance_schema.setup_actors
+values ('localhost', '%', '%');
+
+select * from performance_schema.setup_actors
+order by USER, HOST, ROLE;
+
+--echo # Switch to (con4b, localhost, user4, , )
+connect (con4b, localhost, user4, , );
+
+# INSTRUMENTED must be YES because there is a match via
+# (HOST,USER,ROLE) = ('localhost', '%', '%') in performance_schema.setup_actors.
+select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+
+--echo # Disconnect con4b
+--disconnect con4b
+
+--echo # Switch to connection default
+--connection default
+insert into performance_schema.setup_actors
+values ('%', 'user5', '%');
+
+create sql security definer view test.v1 as select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST
+from performance_schema.threads
+where PROCESSLIST_ID = connection_id();
+
+--echo # Switch to (con5, localhost, user5, , )
+connect (con5, localhost, user5, , );
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from performance_schema.threads;
+# 1. INSTRUMENTED must be YES because there are two matches
+# (HOST,USER,ROLE) = ('localhost', '%', '%')
+# (HOST,USER,ROLE) = ('%', 'user5', '%')
+# in performance_schema.setup_actors.
+# But the instrument will only count once which means we must get only one row.
+# 2. PROCESSLIST_USER refers to USER(), the user who connected,
+# not the user we might be temporarily acting as (with definer's rights).
+# Therefore PROCESSLIST_USER must be 'user5' though we run with right's of definer 'root'
+select * from test.v1;
+
+--echo # Disconnect con5
+--disconnect con5
+--source include/wait_until_disconnected.inc
+
+
+--echo # Switch to connection default and cleanup
+--connection default
+
+drop view test.v1;
+revoke all privileges, grant option from user1@localhost;
+revoke all privileges, grant option from user2@localhost;
+revoke all privileges, grant option from user3@localhost;
+revoke all privileges, grant option from user4@localhost;
+revoke all privileges, grant option from user5@localhost;
+drop user user1@localhost;
+drop user user2@localhost;
+drop user user3@localhost;
+drop user user4@localhost;
+drop user user5@localhost;
+flush privileges;
+
+truncate table performance_schema.setup_actors;
+
+insert into performance_schema.setup_actors
+values ('%', '%', '%');
+
+select * from performance_schema.setup_actors;
+
diff --git a/mysql-test/suite/perfschema/t/setup_consumers_defaults-master.opt b/mysql-test/suite/perfschema/t/setup_consumers_defaults-master.opt
new file mode 100644
index 00000000000..bc05fa8d5bc
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/setup_consumers_defaults-master.opt
@@ -0,0 +1,11 @@
+--loose-performance-schema-consumer-events-stages-current=OFF
+--loose-performance-schema-consumer-events-stages-history=ON
+--loose-performance-schema-consumer-events-stages-history-long=OFF
+--loose-performance-schema-consumer-events-statements-current=ON
+--loose-performance-schema-consumer-events-statements-history=OFF
+--loose-performance-schema-consumer-events-statements-history-long=ON
+--loose-performance-schema-consumer-events-waits-current=OFF
+--loose-performance-schema-consumer-events-waits-history=ON
+--loose-performance-schema-consumer-events-waits-history-long=OFF
+--loose-performance-schema-consumer-global-instrumentation=ON
+--loose-performance-schema-consumer-thread-instrumentation=ON
diff --git a/mysql-test/suite/perfschema/t/setup_consumers_defaults.test b/mysql-test/suite/perfschema/t/setup_consumers_defaults.test
new file mode 100644
index 00000000000..e845e577fb7
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/setup_consumers_defaults.test
@@ -0,0 +1,18 @@
+
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+SELECT * FROM performance_schema.setup_consumers ORDER BY name;
+
+#
+# Verify that the consumer option settings cannot be changed or seen
+#
+--error ER_UNKNOWN_SYSTEM_VARIABLE
+SELECT @@performance_schema_consumer_events_stages_current;
+
+--error ER_UNKNOWN_SYSTEM_VARIABLE
+SET @@performance_schema_consumer_events_stages_current=0;
+
+SHOW VARIABLES LIKE "performance_schema_consumer%";
diff --git a/mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt b/mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt
new file mode 100644
index 00000000000..ed6702ed5ef
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt
@@ -0,0 +1,29 @@
+--log-error=0
+--loose-performance-schema-instrument='%=ON'
+--loose-performance-schema-instrument=''
+--loose-performance-schema-instrument=' wait/synch/mutex/sql/% = OFF ''
+--loose-performance-schema-instrument='//wait/synch/mutex/sql/% = 'OFF ''
+--loose-performance-schema-instrument=' wait/synch/mutex/sql/% = OFF '
+--loose-performance-schema-instrument='''''
+--loose-performance-schema-instrument=' / '
+--loose-performance-schema-instrument=' wait/synch/mutex/sql/% = OFF '
+--loose-performance-schema-instrument='wait/synch/mutex/sql/% = OFF '
+--loose-performance-schema-instrument='wait/synch/mutex/sql/LOCK% = ON'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/LOCK_thread_count=OFF'
+--loose-performance-schema-instrument=' wait/synch/mutex/sql/LOCK_user_conn = COUNTED'
+--loose-performance-schema-instrument='wait%/synch/mutex/sql/LOCK_uu%_genera%/= COUNTED'
+--loose-performance-schema-instrument='%%wait/synch/mutex/sql/LOCK_plugin=COUNTED'
+--loose-performance-schema-instrument='%=FOO'
+--loose-performance-schema-instrument='%=%'
+--loose-performance-schema-instrument='%'
+--loose-performance-schema-instrument=' unknown%instrument/event/name with blanks = YES'
+--loose-performance-schema-instrument='unknown/instrument/event/name = TRUE'
+--loose-performance-schema-instrument='stage/sql/creating table = COUNTED'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/LOG_INFO::lock = 1'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/THD::LOCK_thd_data= TRUE'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/hash_filo::lock =FALSE'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/TABLE_SHARE::LOCK_ha_data= NO'
+
+
+
+
diff --git a/mysql-test/suite/perfschema/t/setup_instruments_defaults.test b/mysql-test/suite/perfschema/t/setup_instruments_defaults.test
new file mode 100644
index 00000000000..5e0a3a5067a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/setup_instruments_defaults.test
@@ -0,0 +1,85 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+# Verify that the configuration options were applied correctly to the
+# performance_schema.setup_instruments table. These instruments that are known to persist across
+# platforms and the various compile options.
+
+--echo #
+--echo # Verify that the configuration file defaults were processed correctly
+--echo #
+
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+ 'wait/synch/mutex/sql/LOCK_user_conn',
+ 'wait/synch/mutex/sql/LOCK_uuid_generator',
+ 'wait/synch/mutex/sql/LOCK_plugin',
+ 'stage/sql/creating table')
+AND enabled = 'yes' AND timed = 'no'
+ORDER BY name;
+
+SELECT * FROM performance_schema.setup_instruments
+WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count'
+AND enabled = 'no' AND timed = 'no';
+
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+ 'wait/synch/mutex/sql/LOG_INFO::lock',
+ 'wait/synch/mutex/sql/THD::LOCK_thd_data')
+AND enabled = 'yes' AND timed = 'yes'
+ORDER BY name;
+
+SELECT * FROM performance_schema.setup_instruments
+WHERE name = 'wait/synch/mutex/sql/hash_filo::lock'
+AND enabled = 'no' AND timed = 'no'
+ORDER BY name;
+
+--echo #
+--echo # Verify that the instrument startup settings are not not visible.
+--echo #
+SHOW VARIABLES LIKE "%/wait/synch/mutex%";
+
+--echo #
+--echo # Verify command line options are processed correctly
+--echo #
+
+# The instrument wait/io/table/sql/handler should be enabled and timed. We will
+# restart the server with the instrument disabled from the command line.
+--echo #
+--echo # Verify that wait/io/table/sql/handler is enabled and timed
+--echo #
+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
+
+# Restart the server
+--echo #
+--echo # Stop server
+--send_shutdown
+--source include/wait_until_disconnected.inc
+
+--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
+
+# Turn on reconnect
+--echo # Enable reconnect
+--enable_reconnect
+
+# Wait for server to be back online again
+--echo # Wait until connected again
+--source include/wait_until_connected_again.inc
+
+# Turn off reconnect again
+--echo # Disable reconnect
+--disable_reconnect
+
+--echo #
+--echo # Verify that wait/io/table is disabled
+--echo #
+SELECT * FROM performance_schema.setup_instruments
+WHERE name like "%wait/io/table/sql/handler%";
diff --git a/mysql-test/suite/perfschema/t/setup_objects.test b/mysql-test/suite/perfschema/t/setup_objects.test
new file mode 100644
index 00000000000..cd1b4ce80e0
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/setup_objects.test
@@ -0,0 +1,197 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_warnings
+drop table if exists test.setup_objects;
+--enable_warnings
+
+# Make sure only table io / table lock is instrumented and timed
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES', timed='YES'
+ where name in ('wait/io/table/sql/handler', 'wait/lock/table/sql/handler');
+
+# Remove noise from previous tests
+truncate table performance_schema.events_waits_history_long;
+
+# Save the setup
+create table test.setup_objects as select * from performance_schema.setup_objects;
+truncate table performance_schema.setup_objects;
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db1', 't1', 'YES', 'YES');
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db1', 't2', 'YES', 'NO');
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db1', '%', 'YES', 'YES');
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db2', 't1', 'YES', 'YES');
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db2', 't2', 'YES', 'NO');
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db3', 't1', 'YES', 'YES');
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db3', 't2', 'NO', 'NO');
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db3', '%', 'NO', 'YES');
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db4', 't1', 'NO', 'YES');
+
+insert into performance_schema.setup_objects
+ values ('TABLE', 'db4', '%', 'YES', 'NO');
+
+# Also test insert of invalid enum values
+
+--error ER_NO_REFERENCED_ROW_2
+insert into performance_schema.setup_objects
+ values ('SOMETHING', 'bad1', 'bad1', 'YES', 'NO');
+show warnings;
+
+--error ER_NO_REFERENCED_ROW_2
+insert into performance_schema.setup_objects
+ values ('TABLE', 'bad2', 'bad2', 'MAYBE', 'NO');
+show warnings;
+
+--error ER_NO_REFERENCED_ROW_2
+insert into performance_schema.setup_objects
+ values ('TABLE', 'bad3', 'bad3', 'YES', 'MAYBE NOT');
+show warnings;
+
+select * from performance_schema.setup_objects
+ order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME;
+
+# Also test update of invalid enum values
+# Note: do not use SHOW WARNINGS in the test,
+# because error messages such as:
+# "Data truncated for column 'OBJECT_TYPE' at row <N>"
+# do not always use the same row number <N>.
+
+# ER_WRONG_PERFSCHEMA_USAGE because of privileges, expected.
+--error ER_WRONG_PERFSCHEMA_USAGE
+update performance_schema.setup_objects
+ set OBJECT_TYPE='SOMETHING' where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1';
+
+--error ER_NO_REFERENCED_ROW_2
+update performance_schema.setup_objects
+ set ENABLED='MAYBE' where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1';
+
+--error ER_NO_REFERENCED_ROW_2
+update performance_schema.setup_objects
+ set TIMED='MAYBE NOT' where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1';
+
+select * from performance_schema.setup_objects
+ order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME;
+
+--disable_warnings
+drop database if exists db1;
+drop database if exists db2;
+drop database if exists db3;
+drop database if exists db4;
+drop database if exists db5;
+--enable_warnings
+
+create database db1;
+create database db2;
+create database db3;
+create database db4;
+create database db5;
+
+create table db1.t1(a int);
+create table db1.t2(a int);
+create table db1.t3(a int);
+create table db1.t4(a int);
+create table db1.t5(a int);
+
+create table db2.t1(a int);
+create table db2.t2(a int);
+create table db2.t3(a int);
+create table db2.t4(a int);
+create table db2.t5(a int);
+
+create table db3.t1(a int);
+create table db3.t2(a int);
+create table db3.t3(a int);
+create table db3.t4(a int);
+create table db3.t5(a int);
+
+create table db4.t1(a int);
+create table db4.t2(a int);
+create table db4.t3(a int);
+create table db4.t4(a int);
+create table db4.t5(a int);
+
+create table db5.t1(a int);
+
+select * from db1.t1;
+select * from db1.t2;
+select * from db1.t3;
+select * from db1.t4;
+select * from db1.t5;
+
+select * from db2.t1;
+select * from db2.t2;
+select * from db2.t3;
+select * from db2.t4;
+select * from db2.t5;
+
+select * from db3.t1;
+select * from db3.t2;
+select * from db3.t3;
+select * from db3.t4;
+select * from db3.t5;
+
+select * from db4.t1;
+select * from db4.t2;
+select * from db4.t3;
+select * from db4.t4;
+select * from db4.t5;
+
+select * from db5.t1;
+
+create table db5.t2(a int);
+select * from db3.t2;
+
+# Verify what is instrumented
+select distinct OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA
+ from performance_schema.events_waits_history_long
+ where OBJECT_SCHEMA like "db%"
+ group by OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA
+ order by OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA;
+
+# Verify what is instrumented and timed
+select distinct OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA
+ from performance_schema.events_waits_history_long
+ where OBJECT_SCHEMA like "db%" and TIMER_END is not NULL
+ group by OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA
+ order by OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA;
+
+update performance_schema.setup_objects
+ set timed='YES' where OBJECT_SCHEMA = '%';
+
+create table db5.t3(a int);
+select * from db3.t3;
+
+truncate table performance_schema.setup_objects;
+
+select count(*) from performance_schema.setup_objects;
+
+drop database db1;
+drop database db2;
+drop database db3;
+drop database db4;
+drop database db5;
+
+# Restore the setup
+truncate table performance_schema.setup_objects;
+insert into performance_schema.setup_objects select * from test.setup_objects;
+drop table test.setup_objects;
+
+update performance_schema.setup_instruments set enabled='YES', timed='YES';
+
diff --git a/mysql-test/suite/perfschema/t/short_option_1-master.opt b/mysql-test/suite/perfschema/t/short_option_1-master.opt
index de5a297e9be..d3ad08d3d54 100644
--- a/mysql-test/suite/perfschema/t/short_option_1-master.opt
+++ b/mysql-test/suite/perfschema/t/short_option_1-master.opt
@@ -1 +1 @@
--a -Cutf8 --collation=utf8_bin -l -T12 -W3
+-a -Cutf8 --collation-server=utf8_bin -T12 -W3
diff --git a/mysql-test/suite/perfschema/t/short_option_1.test b/mysql-test/suite/perfschema/t/short_option_1.test
index 2b616844e58..ff62a392cfa 100644
--- a/mysql-test/suite/perfschema/t/short_option_1.test
+++ b/mysql-test/suite/perfschema/t/short_option_1.test
@@ -11,10 +11,8 @@ show variables like 'sql_mode';
select @@character_set_server;
show variables like 'character_set_system';
-show variables like 'log';
show variables like 'general_log';
show variables like 'new';
show variables like 'log_warnings';
-
diff --git a/mysql-test/suite/perfschema/t/sizing_default.cnf b/mysql-test/suite/perfschema/t/sizing_default.cnf
new file mode 100644
index 00000000000..6a929998329
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_default.cnf
@@ -0,0 +1,37 @@
+
+!include include/default_mysqld_autosize.cnf
+
+[mysqld.1]
+
+# Default values used in the server, out of the box
+# open_files_limit can be scaled down based on the os configuration (ulimit -n),
+# so to get a stable test output, make sure ulimit -n is big enough
+#
+# What is supposed to happen here by default:
+# table_open_cache = 2000
+# table_definition_cache = 400 + 2000/2 = 1400
+# max_connections = 151
+
+# Automated sizing for everything
+
+loose-performance-schema-accounts-size=-1
+loose-performance-schema-digests-size=-1
+loose-performance-schema-hosts-size=-1
+loose-performance-schema-users-size=-1
+
+loose-performance-schema-events-waits-history-size=-1
+loose-performance-schema-events-waits-history-long-size=-1
+loose-performance-schema-events-stages-history-size=-1
+loose-performance-schema-events-stages-history-long-size=-1
+loose-performance-schema-events-statements-history-size=-1
+loose-performance-schema-events-statements-history-long-size=-1
+
+loose-performance-schema-max-mutex-instances=-1
+loose-performance-schema-max-rwlock-instances=-1
+loose-performance-schema-max-cond-instances=-1
+loose-performance-schema-max-file-instances=-1
+loose-performance-schema-max-socket-instances=-1
+loose-performance-schema-max-thread-instances=-1
+loose-performance-schema-max-table-instances=-1
+loose-performance-schema-max-table-handles=-1
+
diff --git a/mysql-test/suite/perfschema/t/sizing_default.test b/mysql-test/suite/perfschema/t/sizing_default.test
new file mode 100644
index 00000000000..d5fb8be9f77
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_default.test
@@ -0,0 +1,31 @@
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_64bit.inc
+--source include/not_valgrind.inc
+--source ../include/have_aligned_memory.inc
+
+# Skip test if not defaults is used.
+let $max_open_files_limit= `SELECT @@open_files_limit < 5000`;
+if ($max_open_files_limit)
+{
+ skip Need open_files_limit to be at least 5000;
+}
+let $max_table_open_cache= `SELECT @@table_open_cache != 2000`;
+if ($max_table_open_cache)
+{
+ skip Need table_open_cache to be exactly 2000;
+}
+let $max_table_definition_cache= `SELECT @@table_definition_cache != 1400`;
+if ($max_table_definition_cache)
+{
+ skip Need table_definition_cache to be exactly 1400;
+}
+let $max_connections= `SELECT @@max_connections != 151`;
+if ($max_connections)
+{
+ skip Need max_connections to be exactly 151;
+}
+
+--source ../include/sizing_auto.inc
+
diff --git a/mysql-test/suite/perfschema/t/sizing_growth-master.opt b/mysql-test/suite/perfschema/t/sizing_growth-master.opt
new file mode 100644
index 00000000000..69f0f157f70
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_growth-master.opt
@@ -0,0 +1,3 @@
+--force-restart
+--innodb_file_per_table=1
+
diff --git a/mysql-test/suite/perfschema/t/sizing_growth.test b/mysql-test/suite/perfschema/t/sizing_growth.test
new file mode 100644
index 00000000000..d6944d2aee0
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_growth.test
@@ -0,0 +1,478 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Important note:
+# this test is extremely sensitive to how threads are running inside the server,
+# so it has it's own -master.opt file, to enforce it runs alone in mysqld
+#
+
+# Setup
+
+flush status;
+flush tables;
+
+# Remove to debug
+--disable_result_log
+
+# Make sure the internal server caches are all full
+select * from performance_schema.mutex_instances;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.cond_instances;
+select * from performance_schema.file_instances;
+
+select count(*) from performance_schema.mutex_instances
+ into @v0_mutex_instances;
+
+select count(*) from performance_schema.rwlock_instances
+ into @v0_rwlock_instances;
+
+select count(*) from performance_schema.cond_instances
+ into @v0_cond_instances;
+
+select count(*) from performance_schema.file_instances
+ into @v0_file_instances;
+
+select count(*) from performance_schema.mutex_instances
+ into @v1_mutex_instances;
+
+select count(*) from performance_schema.rwlock_instances
+ into @v1_rwlock_instances;
+
+select count(*) from performance_schema.cond_instances
+ into @v1_cond_instances;
+
+select count(*) from performance_schema.file_instances
+ into @v1_file_instances;
+
+select count(name), name from performance_schema.mutex_instances
+ group by name;
+
+select count(name), name from performance_schema.rwlock_instances
+ group by name;
+
+select count(name), name from performance_schema.cond_instances
+ group by name;
+
+select count(event_name), event_name from performance_schema.file_instances
+ group by event_name;
+
+begin;
+create table test.t1(a int) engine = innodb;
+create table test.t2(a int) engine = innodb;
+create table test.t3(a int) engine = innodb;
+create table test.t4(a int) engine = innodb;
+create table test.t5(a int) engine = innodb;
+create table test.t6(a int) engine = innodb;
+create table test.t7(a int) engine = innodb;
+create table test.t8(a int) engine = innodb;
+create table test.t9(a int) engine = innodb;
+create table test.t10(a int) engine = innodb;
+
+# Make sure there is at least 1 table handle,
+# to fully initialize the storage engine share if needed.
+select * from test.t1;
+select * from test.t2;
+select * from test.t3;
+select * from test.t4;
+select * from test.t5;
+select * from test.t6;
+select * from test.t7;
+select * from test.t8;
+select * from test.t9;
+select * from test.t10;
+commit;
+
+select count(*) from performance_schema.mutex_instances
+ into @v2_mutex_instances;
+
+select count(*) from performance_schema.rwlock_instances
+ into @v2_rwlock_instances;
+
+select count(*) from performance_schema.cond_instances
+ into @v2_cond_instances;
+
+select count(*) from performance_schema.file_instances
+ into @v2_file_instances;
+
+select count(name), name from performance_schema.mutex_instances
+ group by name;
+
+select count(name), name from performance_schema.rwlock_instances
+ group by name;
+
+select count(name), name from performance_schema.cond_instances
+ group by name;
+
+select count(event_name), event_name from performance_schema.file_instances
+ group by event_name;
+
+select @v2_mutex_instances, @v1_mutex_instances, @v0_mutex_instances;
+select @v2_rwlock_instances, @v1_rwlock_instances, @v0_rwlock_instances;
+select @v2_cond_instances, @v1_cond_instances, @v0_cond_instances;
+select @v2_file_instances, @v1_file_instances, @v0_file_instances;
+
+select round((@v2_mutex_instances - @v1_mutex_instances) / 10)
+ into @mutex_per_share;
+select round((@v2_rwlock_instances - @v1_rwlock_instances) / 10)
+ into @rwlock_per_share;
+select round((@v2_cond_instances - @v1_cond_instances) / 10)
+ into @cond_per_share;
+select round((@v2_file_instances - @v1_file_instances) / 10)
+ into @file_per_share;
+
+connect (con1, localhost, root,,);
+select "con1 connected";
+
+connect (con2, localhost, root,,);
+select "con2 connected";
+
+connect (con3, localhost, root,,);
+select "con3 connected";
+
+connect (con4, localhost, root,,);
+select "con4 connected";
+
+connect (con5, localhost, root,,);
+select "con5 connected";
+
+connect (con6, localhost, root,,);
+select "con6 connected";
+
+connect (con7, localhost, root,,);
+select "con7 connected";
+
+connect (con8, localhost, root,,);
+select "con8 connected";
+
+connect (con9, localhost, root,,);
+select "con9 connected";
+
+connect (con10, localhost, root,,);
+select "con10 connected";
+
+connection default;
+
+select count(*) from performance_schema.mutex_instances
+ into @v3_mutex_instances;
+
+select count(*) from performance_schema.rwlock_instances
+ into @v3_rwlock_instances;
+
+select count(*) from performance_schema.cond_instances
+ into @v3_cond_instances;
+
+select count(*) from performance_schema.file_instances
+ into @v3_file_instances;
+
+select count(name), name from performance_schema.mutex_instances
+ group by name;
+
+select count(name), name from performance_schema.rwlock_instances
+ group by name;
+
+select count(name), name from performance_schema.cond_instances
+ group by name;
+
+select count(event_name), event_name from performance_schema.file_instances
+ group by event_name;
+
+select @v3_mutex_instances, @v2_mutex_instances;
+select @v3_rwlock_instances, @v2_rwlock_instances;
+select @v3_cond_instances, @v2_cond_instances;
+select @v3_file_instances, @v2_file_instances;
+
+select round((@v3_mutex_instances - @v2_mutex_instances) / 10)
+ into @mutex_per_con;
+select round((@v3_rwlock_instances - @v2_rwlock_instances) / 10)
+ into @rwlock_per_con;
+select round((@v3_cond_instances - @v2_cond_instances) / 10)
+ into @cond_per_con;
+select round((@v3_file_instances - @v2_file_instances) / 10)
+ into @file_per_con;
+
+--connection con1
+
+lock table test.t1 write, test.t2 write, test.t3 write, test.t4 write,
+test.t5 write, test.t6 write, test.t7 write, test.t8 write, test.t9 write,
+test.t10 write;
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+--connection con2
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+--connection con3
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+--connection con4
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+--connection con5
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+--connection con6
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+--connection con7
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+--connection con8
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+--connection con9
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+--connection con10
+
+--send
+select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
+ from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
+
+connection default;
+
+select count(*) from performance_schema.mutex_instances
+ into @v4_mutex_instances;
+
+select count(*) from performance_schema.rwlock_instances
+ into @v4_rwlock_instances;
+
+select count(*) from performance_schema.cond_instances
+ into @v4_cond_instances;
+
+select count(*) from performance_schema.file_instances
+ into @v4_file_instances;
+
+select count(name), name from performance_schema.mutex_instances
+ group by name;
+
+select count(name), name from performance_schema.rwlock_instances
+ group by name;
+
+select count(name), name from performance_schema.cond_instances
+ group by name;
+
+select count(event_name), event_name from performance_schema.file_instances
+ group by event_name;
+
+select @v4_mutex_instances, @v3_mutex_instances;
+select @v4_rwlock_instances, @v3_rwlock_instances;
+select @v4_cond_instances, @v3_cond_instances;
+select @v4_file_instances, @v3_file_instances;
+
+select round((@v4_mutex_instances - @v3_mutex_instances) / 10)
+ into @mutex_per_handle;
+select round((@v4_rwlock_instances - @v3_rwlock_instances) / 10)
+ into @rwlock_per_handle;
+select round((@v4_cond_instances - @v3_cond_instances) / 10)
+ into @cond_per_handle;
+select round((@v4_file_instances - @v3_file_instances) / 10)
+ into @file_per_handle;
+
+--connection con1
+--reap
+
+unlock tables;
+
+--connection con2
+--reap
+
+--connection con3
+--reap
+
+--connection con4
+--reap
+
+--connection con5
+--reap
+
+--connection con6
+--reap
+
+--connection con7
+--reap
+
+--connection con8
+--reap
+
+--connection con9
+--reap
+
+--connection con10
+--reap
+
+--disconnect con1
+--disconnect con2
+--disconnect con3
+--disconnect con4
+--disconnect con5
+--disconnect con6
+--disconnect con7
+--disconnect con8
+--disconnect con9
+--disconnect con10
+
+--connection default
+
+drop table test.t1;
+drop table test.t2;
+drop table test.t3;
+drop table test.t4;
+drop table test.t5;
+drop table test.t6;
+drop table test.t7;
+drop table test.t8;
+drop table test.t9;
+drop table test.t10;
+
+--enable_result_log
+
+#
+# This test must have *_lost = 0,
+# otherwise the measurement is just wrong.
+#
+
+show status like "performance_schema%";
+
+#
+# Expecting 2:
+# - wait/synch/mutex/sql/MDL_wait::LOCK_wait_status
+# - wait/synch/mutex/sql/TABLE_SHARE::LOCK_ha_data
+# plus mutexes used inside the storage engine
+# This is very storage engine dependent
+# For innodb:
+# - wait/synch/mutex/innodb/autoinc_mutex
+# - wait/synch/mutex/innodb/os_mutex
+# Note that depending on the platform,
+# and the version of the compiler used,
+# code in the server may use either native platform atomics
+# or a mutex.
+# Note also that in DEBUG builds, code uses more mutexes.
+# Because of all these parameters,
+# this test is disabled, as predicting an exact number is difficult.
+#
+# commented: select @mutex_per_share <= 5;
+
+#
+# Expecting 1:
+# - wait/synch/rwlock/sql/MDL_lock::rwlock
+# plus rwlocks used inside the storage engine
+# This is very storage engine dependent
+#
+select @rwlock_per_share <= 3;
+
+#
+# Expecting 0:
+#
+select @cond_per_share;
+
+#
+# Expecting 1:
+# - wait/io/file/sql/FRM
+# plus files used inside the storage engine
+# This is very storage engine dependent
+#
+select @file_per_share <= 3;
+
+#
+# Expecting 3:
+# - wait/synch/mutex/mysys/my_thread_var::mutex
+# - wait/synch/mutex/mysys/THR_LOCK::mutex
+# - wait/synch/mutex/sql/THD::LOCK_thd_data
+#
+select @mutex_per_con;
+
+#
+# Expecting 1:
+# - wait/synch/rwlock/sql/MDL_context::LOCK_waiting_for
+#
+select @rwlock_per_con;
+
+#
+# Expecting 2:
+# - wait/synch/cond/mysys/my_thread_var::suspend
+# - wait/synch/cond/sql/MDL_context::COND_wait_status
+#
+select @cond_per_con;
+
+#
+# Expecting 0:
+#
+select @file_per_con;
+
+#
+# Expecting 0:
+#
+select @mutex_per_handle;
+
+#
+# Expecting 0:
+#
+select @rwlock_per_handle;
+
+#
+# Expecting 0:
+#
+select @cond_per_handle;
+
+#
+# Expecting 0:
+#
+select @file_per_handle;
+
+#
+# IMPORTANT NOTE:
+# when any measurement here changes, the heuristics
+# in storage/perfschema/pfs_autosize.cc need to be updated.
+# Note that this in turns will lead to different estimations for automated
+# sizing, and imply to update the results for sizing_*.
+#
+
+# commented: (@mutex_per_share <= 5)
+# Mutexes are not instrumented by default,
+# not enforcing mutex estimates
+
+select if(
+ (@rwlock_per_share <= 3)
+ AND (@cond_per_share = 0)
+ AND (@file_per_share <= 3)
+ AND (@mutex_per_con = 3)
+ AND (@rwlock_per_con = 1)
+ AND (@cond_per_con = 2)
+ AND (@file_per_con = 0)
+ AND (@mutex_per_handle = 0)
+ AND (@rwlock_per_handle = 0)
+ AND (@cond_per_handle = 0)
+ AND (@file_per_handle = 0),
+ "OK: heuristics are up to date",
+ "FAILED: heuristics need to be updated")
+ as status;
+
diff --git a/mysql-test/suite/perfschema/t/sizing_high.cnf b/mysql-test/suite/perfschema/t/sizing_high.cnf
new file mode 100644
index 00000000000..8445ff60928
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_high.cnf
@@ -0,0 +1,56 @@
+
+!include include/default_mysqld_autosize.cnf
+
+[mysqld.1]
+
+# WARNING about open_files_limit and ulimit -n
+#
+# mysqld checks how many files can be opened on the machine,
+# and this is by definition very:
+# - os dependent, see OS_FILE_LIMIT, HAVE_GETRLIMIT
+# - configuration dependent, for each machine (ulimit -n), see
+# my_set_max_open_files() in mysys/my_file.c,
+# see getrlimit(RLIMIT_NOFILE)
+#
+# Based on the this, the server tunes _down_ max_connections and
+# table_cache_size to match the open_files_limit found,
+# which significantly interfere with this test.
+#
+# Solution: use a big table definition cache,
+# but small values for max_connection and table_open_cache,
+# to stay within open_files_limit of 1024.
+#
+# This is the best test we can do that has a chance to pass on all
+# platforms, while still providing code coverage.
+
+table_definition_cache=5000
+table_open_cache=400
+max_connections=200
+open_files_limit=1024
+
+# 10+max_connections+table_cache_size*2 = 10 + 200 + 400*2 = 1010
+# max_connections*5 = 200*5 = 1000
+
+# Automated sizing for everything
+
+loose-performance-schema-accounts-size=-1
+loose-performance-schema-digests-size=-1
+loose-performance-schema-hosts-size=-1
+loose-performance-schema-users-size=-1
+
+loose-performance-schema-events-waits-history-size=-1
+loose-performance-schema-events-waits-history-long-size=-1
+loose-performance-schema-events-stages-history-size=-1
+loose-performance-schema-events-stages-history-long-size=-1
+loose-performance-schema-events-statements-history-size=-1
+loose-performance-schema-events-statements-history-long-size=-1
+
+loose-performance-schema-max-mutex-instances=-1
+loose-performance-schema-max-rwlock-instances=-1
+loose-performance-schema-max-cond-instances=-1
+loose-performance-schema-max-file-instances=-1
+loose-performance-schema-max-socket-instances=-1
+loose-performance-schema-max-thread-instances=-1
+loose-performance-schema-max-table-instances=-1
+loose-performance-schema-max-table-handles=-1
+
diff --git a/mysql-test/suite/perfschema/t/sizing_high.test b/mysql-test/suite/perfschema/t/sizing_high.test
new file mode 100644
index 00000000000..4d02d41aecd
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_high.test
@@ -0,0 +1,9 @@
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_64bit.inc
+--source include/not_valgrind.inc
+--source ../include/have_aligned_memory.inc
+
+--source ../include/sizing_auto.inc
+
diff --git a/mysql-test/suite/perfschema/t/sizing_low.cnf b/mysql-test/suite/perfschema/t/sizing_low.cnf
new file mode 100644
index 00000000000..54c881830cf
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_low.cnf
@@ -0,0 +1,33 @@
+
+!include include/default_mysqld_autosize.cnf
+
+[mysqld.1]
+
+table_definition_cache=400
+table_open_cache=100
+max_connections=50
+open_files_limit=1024
+
+# Automated sizing for everything
+
+loose-performance-schema-accounts-size=-1
+loose-performance-schema-digests-size=-1
+loose-performance-schema-hosts-size=-1
+loose-performance-schema-users-size=-1
+
+loose-performance-schema-events-waits-history-size=-1
+loose-performance-schema-events-waits-history-long-size=-1
+loose-performance-schema-events-stages-history-size=-1
+loose-performance-schema-events-stages-history-long-size=-1
+loose-performance-schema-events-statements-history-size=-1
+loose-performance-schema-events-statements-history-long-size=-1
+
+loose-performance-schema-max-mutex-instances=-1
+loose-performance-schema-max-rwlock-instances=-1
+loose-performance-schema-max-cond-instances=-1
+loose-performance-schema-max-file-instances=-1
+loose-performance-schema-max-socket-instances=-1
+loose-performance-schema-max-thread-instances=-1
+loose-performance-schema-max-table-instances=-1
+loose-performance-schema-max-table-handles=-1
+
diff --git a/mysql-test/suite/perfschema/t/sizing_low.test b/mysql-test/suite/perfschema/t/sizing_low.test
new file mode 100644
index 00000000000..56446fd6973
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_low.test
@@ -0,0 +1,10 @@
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_64bit.inc
+--source include/not_valgrind.inc
+--source ../include/have_aligned_memory.inc
+
+--source ../include/sizing_auto.inc
+
+CALL mtr.add_suppression("innodb_open_files should not be greater than the open_files_limit.");
diff --git a/mysql-test/suite/perfschema/t/sizing_med.cnf b/mysql-test/suite/perfschema/t/sizing_med.cnf
new file mode 100644
index 00000000000..8aff531ea69
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_med.cnf
@@ -0,0 +1,33 @@
+
+!include include/default_mysqld_autosize.cnf
+
+[mysqld.1]
+
+table_definition_cache=401
+table_open_cache=401
+max_connections=152
+open_files_limit=1024
+
+# Automated sizing for everything
+
+loose-performance-schema-accounts-size=-1
+loose-performance-schema-digests-size=-1
+loose-performance-schema-hosts-size=-1
+loose-performance-schema-users-size=-1
+
+loose-performance-schema-events-waits-history-size=-1
+loose-performance-schema-events-waits-history-long-size=-1
+loose-performance-schema-events-stages-history-size=-1
+loose-performance-schema-events-stages-history-long-size=-1
+loose-performance-schema-events-statements-history-size=-1
+loose-performance-schema-events-statements-history-long-size=-1
+
+loose-performance-schema-max-mutex-instances=-1
+loose-performance-schema-max-rwlock-instances=-1
+loose-performance-schema-max-cond-instances=-1
+loose-performance-schema-max-file-instances=-1
+loose-performance-schema-max-socket-instances=-1
+loose-performance-schema-max-thread-instances=-1
+loose-performance-schema-max-table-instances=-1
+loose-performance-schema-max-table-handles=-1
+
diff --git a/mysql-test/suite/perfschema/t/sizing_med.test b/mysql-test/suite/perfschema/t/sizing_med.test
new file mode 100644
index 00000000000..4d02d41aecd
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_med.test
@@ -0,0 +1,9 @@
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_64bit.inc
+--source include/not_valgrind.inc
+--source ../include/have_aligned_memory.inc
+
+--source ../include/sizing_auto.inc
+
diff --git a/mysql-test/suite/perfschema/t/sizing_off.cnf b/mysql-test/suite/perfschema/t/sizing_off.cnf
new file mode 100644
index 00000000000..24ca58bbb0b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_off.cnf
@@ -0,0 +1,38 @@
+
+!include include/default_mysqld_autosize.cnf
+
+[mysqld.1]
+
+# Default values used in the server, out of the box
+table_definition_cache=400
+table_open_cache=400
+max_connections=151
+open_files_limit=1024
+
+# Disable the performacne schema.
+# Sizing does not occur then
+loose-skip-performance-schema
+
+# Automated sizing for everything
+
+loose-performance-schema-accounts-size=-1
+loose-performance-schema-digests-size=-1
+loose-performance-schema-hosts-size=-1
+loose-performance-schema-users-size=-1
+
+loose-performance-schema-events-waits-history-size=-1
+loose-performance-schema-events-waits-history-long-size=-1
+loose-performance-schema-events-stages-history-size=-1
+loose-performance-schema-events-stages-history-long-size=-1
+loose-performance-schema-events-statements-history-size=-1
+loose-performance-schema-events-statements-history-long-size=-1
+
+loose-performance-schema-max-mutex-instances=-1
+loose-performance-schema-max-rwlock-instances=-1
+loose-performance-schema-max-cond-instances=-1
+loose-performance-schema-max-file-instances=-1
+loose-performance-schema-max-socket-instances=-1
+loose-performance-schema-max-thread-instances=-1
+loose-performance-schema-max-table-instances=-1
+loose-performance-schema-max-table-handles=-1
+
diff --git a/mysql-test/suite/perfschema/t/sizing_off.test b/mysql-test/suite/perfschema/t/sizing_off.test
new file mode 100644
index 00000000000..32729918bd1
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/sizing_off.test
@@ -0,0 +1,8 @@
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+show variables where
+ `Variable_name` != "performance_schema_max_statement_classes" and
+ `Variable_name` like "performance_schema%";
+show status like "performance_schema%";
diff --git a/mysql-test/suite/perfschema/t/socket_connect.test b/mysql-test/suite/perfschema/t/socket_connect.test
new file mode 100644
index 00000000000..b4579605eb5
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/socket_connect.test
@@ -0,0 +1,293 @@
+#
+# Check the handling of TCP/IP connections in the performance_schema socket
+# instance tables
+#
+#==============================================================================
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/wait_for_pfs_thread_count.inc
+
+# Set this to enable debugging output
+let $my_socket_debug_dbug=0;
+
+--echo #==============================================================================
+--echo # Establish the level of IPV6 support
+--echo #==============================================================================
+--source ../include/socket_ipv6.inc
+
+--echo #==============================================================================
+--echo # Get hostname, port number
+--echo #==============================================================================
+SELECT @@hostname INTO @MY_HOSTNAME;
+SELECT @@port INTO @MY_MASTER_PORT;
+
+if ($my_socket_debug)
+{
+ SELECT @MY_HOSTNAME AS 'Hostname';
+ SELECT @MY_MASTER_PORT AS 'Master Port';
+}
+#==============================================================================
+# Utility queries
+#==============================================================================
+let $count_client_connections=
+ SELECT COUNT(*) INTO @my_client_connections
+ FROM performance_schema.socket_instances
+ WHERE EVENT_NAME LIKE "%client_connection%";
+
+let $get_thread_id=
+ SELECT THREAD_ID INTO @my_thread_id
+ FROM performance_schema.threads
+ WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+let $get_object_instance_begin=
+ SELECT OBJECT_INSTANCE_BEGIN INTO @my_object_instance_begin
+ FROM performance_schema.socket_instances
+ WHERE THREAD_ID = @my_thread_id;
+
+let $get_port=
+ SELECT PORT INTO @my_port
+ FROM performance_schema.socket_instances
+ WHERE THREAD_ID = @my_thread_id;
+
+let $ip_localhost=
+ (IP LIKE '%127.0.0.1' OR IP LIKE '%::1');
+
+--echo #==============================================================================
+--echo # 1.0 Get the default connection object_instance_begin, thread id and verify
+--echo # the expected number of client connections.
+--echo #==============================================================================
+--echo
+--echo # 1.1 Confirm only one client connection
+--echo
+eval $count_client_connections;
+
+if (`SELECT @my_client_connections != 1`)
+{
+ --echo # There should be one client connection
+ SELECT * FROM performance_schema.socket_instances;
+ --echo # abort
+ exit;
+}
+
+--echo
+--echo # 1.2 Get the default THREAD_ID;
+--echo
+eval $get_thread_id;
+let $default_thread_id= `SELECT @my_thread_id`;
+
+--echo
+--echo # 1.3 Get the default OBJECT_INSTANCE_BEGIN
+--echo
+eval $get_object_instance_begin;
+let $default_object_instance_begin= `SELECT @my_object_instance_begin`;
+--disable_query_log
+SELECT @my_object_instance_begin INTO @default_object_instance_begin;
+--enable_query_log
+
+if ($my_socket_debug)
+{
+ --echo # Default object instance begin = $default_object_instance_begin
+ --echo # Default thread id = $default_thread_id
+}
+
+--echo #==============================================================================
+--echo # 2.0 ESTABLISH TCP/IP CONNECTION 1
+--echo # Connect with IP = localhost (127.0.0.1 or ::1)
+--echo #==============================================================================
+--disable_query_log
+--connect (con1,$my_localhost,root,,test,,$MASTER_MYPORT)
+--enable_query_log
+
+--echo
+--echo # 2.1 Get the connection thread id
+--echo
+eval $get_thread_id;
+
+--echo
+--echo # 2.2 Get the connection object instance begin
+--echo
+eval $get_object_instance_begin;
+
+--echo
+--echo # 2.3 Get the connection port
+--echo
+eval $get_port;
+
+--disable_query_log
+SELECT @my_thread_id INTO @con1_thread_id;
+SELECT @my_port INTO @con1_port;
+SELECT @my_object_instance_begin INTO @con1_object_id;
+let $con1_thread_id= `SELECT @con1_thread_id`;
+let $con1_port= `SELECT @con1_port`;
+let $con1_object_id= `SELECT @con1_object_id`;
+let $con1_name1= "127.0.0.1:$con1_port";
+let $con1_name2= "::1:$con1_port";
+--enable_query_log
+
+if ($my_socket_debug)
+{
+ --echo # Con1 thread id = $con1_thread_id
+ --echo # Con1 object_id = $con1_object_id
+ --echo # Con1 port = $con1_port
+ --echo # Con1 name1 = $con1_name1
+ --echo # Con1 name2 = $con1_name2
+}
+
+--echo
+--echo # 2.4 Verify that the connection is 127.0.0.1 or ::1
+--echo
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND $ip_localhost
+ AND PORT= @con1_port
+ AND OBJECT_INSTANCE_BEGIN= @con1_object_id;
+
+--echo
+--echo # 2.5 Verify that the same connection is in the summary instance table
+--echo
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN= @con1_object_id;
+
+--echo
+--echo # Switch to connection default
+--echo
+--connection default
+
+--echo #==============================================================================
+--echo # 3.0 ESTABLISH TCP/IP CONNECTION 2
+--echo # Connect with IP = localhost (127.0.0.1 or ::1)
+--echo #==============================================================================
+--disable_query_log
+--connect (con2,$my_localhost,root,,test,,$MASTER_MYPORT)
+--enable_query_log
+
+--echo
+--echo # 3.1 Get the connection thread id
+--echo
+eval $get_thread_id;
+
+--echo
+--echo # 3.2 Get the connection object instance begin
+--echo
+eval $get_object_instance_begin;
+
+--echo
+--echo # 3.3 Get the connection port
+--echo
+eval $get_port;
+
+--disable_query_log
+SELECT @my_thread_id INTO @con2_thread_id;
+SELECT @my_port INTO @con2_port;
+SELECT @my_object_instance_begin INTO @con2_object_id;
+let $con2_thread_id= `SELECT @con2_thread_id`;
+let $con2_port= `SELECT @con2_port`;
+let $con2_object_id= `SELECT @con2_object_id`;
+let $con2_name1= "127.0.0.1:$con2_port";
+let $con2_name2= "::1:$con2_port";
+--enable_query_log
+
+if ($my_socket_debug)
+{
+ --echo # con2 thread id = $con2_thread_id
+ --echo # con2 object_id = $con2_object_id
+ --echo # con2 port = $con2_port
+ --echo # con2 name1 = $con2_name1
+ --echo # con2 name2 = $con2_name2
+}
+
+--echo
+--echo # 3.4 Verify that the connection is 127.0.0.1 or ::1
+--echo
+
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND $ip_localhost
+ AND PORT= @con2_port
+ AND OBJECT_INSTANCE_BEGIN= @con2_object_id;
+
+--echo
+--echo # 3.5 Verify that the same connection is in the summary instance table
+--echo
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN= @con2_object_id;
+
+--echo
+--echo # 3.6 Verify that the connection is 127.0.0.1 or ::1
+--echo
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND $ip_localhost
+ AND PORT= @con2_port
+ AND OBJECT_INSTANCE_BEGIN= @con2_object_id;
+
+--echo #==============================================================================
+--echo # 4.0 Verify both connections exist in the instance tables
+--echo #==============================================================================
+--connection default
+
+--echo
+--echo # 4.1 Verify that there are two TCP/IP connections in the socket instance table
+--echo
+eval SELECT COUNT(*) = 2 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND $ip_localhost;
+
+--echo
+--echo # 4.2 Verify that there are two TCP/IP connections in the summary instance table
+--echo
+eval SELECT COUNT(*) = 2 AS 'Expect 1'
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
+
+--echo #==============================================================================
+--echo # 5.0 Drop the client connections
+--echo #==============================================================================
+
+--echo # 5.1 Disconnect con1
+--connection con1
+--disconnect con1
+--source include/wait_until_disconnected.inc
+
+--echo # 5.2 Disconnect con2
+--connection con2
+--disconnect con2
+--source include/wait_until_disconnected.inc
+--connection default
+
+--echo #==============================================================================
+--echo # 6.0 Verify sockets were removed from the instance tables
+--echo #==============================================================================
+
+--echo
+--echo # 6.1 Verify that there are no TCP/IP connections in the socket instance table
+--echo
+let $wait_condition=
+SELECT COUNT(*) = 0 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND $ip_localhost;
+--source include/wait_condition.inc
+
+--echo
+--echo # 6.2 Verify that there are no TCP/IP connections in the summary instance table
+--echo
+let $wait_condition=
+SELECT COUNT(*) = 0 AS 'Expect 1'
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
+--source include/wait_condition.inc
+exit;
diff --git a/mysql-test/suite/perfschema/t/socket_instances_func-master.opt b/mysql-test/suite/perfschema/t/socket_instances_func-master.opt
new file mode 100644
index 00000000000..b12a8b3b70e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/socket_instances_func-master.opt
@@ -0,0 +1 @@
+--skip-name-resolve --bind-address=*
diff --git a/mysql-test/suite/perfschema/t/socket_instances_func.test b/mysql-test/suite/perfschema/t/socket_instances_func.test
new file mode 100644
index 00000000000..12411103579
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/socket_instances_func.test
@@ -0,0 +1,447 @@
+#
+# Some functional checks for the content of performance_schema.socket_instances.
+#
+
+--source include/not_embedded.inc
+--source include/not_windows.inc
+--source include/have_perfschema.inc
+
+# Set this to enable debugging output
+let $my_socket_debug_dbug= 0;
+
+#
+# Set IP address defaults with respect to IPV6 support
+#
+
+# Determine if IPV6 supported
+let $check_ipv6_just_check= 1;
+--source include/check_ipv6.inc
+
+# Determine if IPV4 mapped to IPV6 supported
+let $check_ipv4_mapped_just_check= 1;
+--source include/have_ipv4_mapped.inc
+
+let $my_localhost= 127.0.0.1;
+
+if($check_ipv6_supported)
+{
+ let $my_localhost= ::1;
+}
+
+if($check_ipv4_mapped_supported)
+{
+ let $my_localhost= ::ffff:127.0.0.1;
+}
+
+if($my_socket_debug)
+{
+ --echo IPV6=$check_ipv6_supported, IPV4_MAPPED=$check_ipv4_mapped_supported, LOCALHOST=$my_localhost
+}
+
+#
+# Preserve the current state of SOCKET_INSTANCES
+#
+
+--echo # Take a snapshot of SOCKET_INSTANCES
+CREATE TEMPORARY TABLE my_socket_instances AS
+SELECT * FROM performance_schema.socket_instances;
+
+--echo # Get thread id of the default connection
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+let $con0_thread_id= `SELECT @thread_id`;
+
+#
+# ESTABLISH TCP/IP CONNECTION 1
+#
+# Start connection with IP = localhost (127.0.0.1 or ::1)
+
+--echo # Establish local TCP/IP connection (con1,localhost,root,,test,,)
+--disable_query_log ONCE
+--connect (con1,$my_localhost,root,,test,,$MASTER_MYPORT)
+
+if($my_socket_debug)
+{
+# --replace_result '::ffff:127.0.0.1' <LOCALHOST> '127.0.0.1' <LOCALHOST> '::1' <LOCALHOST> '::' <BINDADDR> '0.0.0.0' <BINDADDR>
+ SELECT * FROM performance_schema.socket_instances;
+}
+
+--echo # Store the thread id of connection 1 (tcp/ip)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+--echo # Store the port of connection 1 (tcp/ip)
+eval SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+let $con1_thread_id= `SELECT @thread_id`;
+let $con1_port= `SELECT @port`;
+
+--echo # Switch to connection default
+--connection default
+
+#
+# ESTABLISH TCP/IP CONNECTION 2
+#
+# Start a second connection with IP = localhost (127.0.0.1 or ::1)
+
+--echo # Establish second local TCP/IP connection (con1,localhost,root,,test,,)
+--disable_query_log ONCE
+--connect (con2,$my_localhost,root,,test,,$MASTER_MYPORT)
+
+if($my_socket_debug)
+{
+# --replace_result '::ffff:127.0.0.1' <LOCALHOST> '127.0.0.1' <LOCALHOST> '::1' <LOCALHOST> '::' <BINDADDR> '0.0.0.0' <BINDADDR>
+ SELECT * FROM performance_schema.socket_instances;
+}
+
+--echo # Store the thread_id of connection 2 (tcp/ip)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+--echo # Store the port of connection 2 (tcp/ip)
+eval SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+let $con2_thread_id= `SELECT @thread_id`;
+let $con2_port= `SELECT @port`;
+
+--echo # Switch to connection default
+--connection default
+
+#
+# ESTABLISH LOCAL UNIX DOMAIN CONNECTION
+#
+# Connect via mysql sock file
+
+--echo # Establish local unix domain connection (con3,localhost,root,,test,,)
+--connect(con3,localhost,root,,test,,)
+
+if($my_socket_debug)
+{
+# --replace_result '::ffff:127.0.0.1' <LOCALHOST> '127.0.0.1' <LOCALHOST> '::1' <LOCALHOST> '::' <BINDADDR> '0.0.0.0' <BINDADDR>
+ SELECT * FROM performance_schema.socket_instances;
+}
+
+--echo # Store the thread id of connection 3 (unix domain)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+--echo # Store the port of connection 3 (unix domain)
+eval SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+let $con3_port= `SELECT @port`;
+let $con3_thread_id= `SELECT @thread_id`;
+
+--echo # Switch to connection default
+--connection default
+
+#
+# VERIFY EVENT NAMES
+#
+
+--echo # EVENT_NAME is the "wait/io/socket/*" instrument identifier.
+
+SELECT COUNT(*) = 0 AS "Expect 1"
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME NOT LIKE 'wait/io/socket/%';
+
+#
+# VERIFY UNIQUE EVENT IDs
+#
+
+--echo # OBJECT_INSTANCE_BEGIN is an arbitrary identifier, guaranteed to be unique.
+
+SELECT COUNT(*) = COUNT(DISTINCT OBJECT_INSTANCE_BEGIN) AS "Expect 1"
+FROM performance_schema.socket_instances;
+
+#
+# VERIFY UNIQUE SOCKET ID
+#
+
+--echo # SOCKET_ID is the internal file handle assigned to the socket.
+
+SELECT COUNT(*) = COUNT(DISTINCT SOCKET_ID) AS "Expect 1"
+FROM performance_schema.socket_instances;
+
+#
+# VERIFY UNIQUE THREAD IDs
+#
+
+--echo # Characteristics per our thread
+--echo # There must be only one entry with our thread_id
+
+--disable_query_log ONCE
+eval SET @thread_id= $con0_thread_id;
+
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+#
+# VERIFY UNIQUE PORT NUMBERS FOR TCP/IP CLIENTS
+#
+
+--echo # TCP/IP connections should have a unique port number
+--disable_query_log ONCE
+eval SET @port= $con1_port;
+
+--echo # Connection 1 (tcp/ip)
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE PORT = @port;
+
+--disable_query_log ONCE
+eval SET @port= $con2_port;
+
+--echo # Connection 2 (tcp/ip)
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE PORT = @port;
+
+#
+# VERIFY CONNECTION DETAILS FOR THE DEFAULT CONNECTION
+#
+
+--echo # Check the content for the default connection (unix domain)
+# EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
+# wait/io/socket/sql/client_connection 139799531958280 16 37 0 ACTIVE
+
+--disable_query_log ONCE
+eval SET @thread_id = $con0_thread_id;
+
+SELECT COUNT(*) = 1 as 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/client_connection'
+AND PORT = 0 AND THREAD_ID = @thread_id;
+
+#
+# VERIFY SERVER LISTENING SOCKET, TCP/IP
+#
+
+--echo # Characteristics of 'server_tcpip_socket' entry
+--echo # Server listening socket, TCP/IP
+--echo # There is only one entry with 'wait/io/socket/sql/server_tcpip_socket'.
+--echo # It shares the same thread id as 'wait/io/socket/sql/server_unix_socket'.
+
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+
+# Store the thread id of server_tcpip_socket
+--echo # Get the 'server_tcpip_socket' thread id
+
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+
+let $server_tcpip_thread_id= `SELECT @thread_id`;
+
+--echo # Check the content.
+--disable_query_log ONCE
+eval SET @port = $MASTER_MYPORT;
+
+eval SELECT THREAD_ID = @thread_id
+ AND (IP = '0.0.0.0' OR IP = '::')
+ AND PORT = @port
+ AND STATE = 'ACTIVE' AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+
+#
+# VERIFY SERVER LISTENING SOCKET, UNIX DOMAIN
+#
+
+--echo # Characteristics of 'server_unix_socket' entry
+--echo # Server listening socket, unix domain (socket file)
+--echo # There is only one entry with 'wait/io/socket/sql/server_unix_socket'.
+--echo # It shares the same thread id as 'wait/io/socket/sql/server_tcpip_socket'.
+
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_unix_socket';
+
+# Store the thread id of 'server_unix_socket'
+--echo # Get the 'server_unix_socket' thread id
+
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_unix_socket';
+
+let $server_unix_thread_id= `SELECT @thread_id`;
+
+--echo # Check the content.
+eval SELECT THREAD_ID = @thread_id
+ AND IP = ''
+ AND PORT = 0
+ AND STATE = 'ACTIVE' AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_unix_socket';
+
+#
+# VERIFY SERVER LISTENING SOCKET THREAD IDs
+#
+
+--echo # Server listening sockets (TCP and Unix) are handled on the same thread
+
+--disable_query_log ONCE
+eval SET @thread_id = $server_tcpip_thread_id;
+
+eval SELECT COUNT(*) = 2 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+--disable_query_log ONCE
+eval SET @thread_id = $server_unix_thread_id;
+
+eval SELECT COUNT(*) = 2 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+--echo #Compare server listener socket thread ids
+--disable_query_log ONCE
+eval SELECT ($server_tcpip_thread_id = $server_unix_thread_id) into @match_thread_id;
+
+select @match_thread_id;
+
+#
+# VERIFY TCP/IP CLIENT CONNECTION 1
+#
+
+# EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
+# wait/io/socket/sql/client_connection 140707865187120 18 59 127.0.0.1 59298 IDLE or ACTIVE
+
+--echo # Check content for client connection 1 (tcpip)
+
+--disable_query_log
+eval SET @port = $con1_port;
+eval SET @thread_id = $con1_thread_id;
+eval SET @addr = '$my_localhost';
+--enable_query_log
+
+eval SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1')
+ AND PORT = @port
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+--echo # Characteristics of entries with THREAD_ID of con1
+--echo # There is only one entry with this id.
+
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+#
+# VERIFY TCP/IP CLIENT CONNECTION 2
+#
+
+# EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
+# wait/io/socket/sql/client_connection 140707865187120 18 59 127.0.0.1 59298 IDLE or ACTIVE
+
+--echo # Check content for client connection 2 (tcpip)
+
+--disable_query_log
+eval SET @port = $con2_port;
+eval SET @thread_id = $con2_thread_id;
+eval SET @addr = '$my_localhost';
+--enable_query_log
+
+eval SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1')
+ AND PORT = @port
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+--echo # Characteristics of entries with THREAD_ID of con2
+--echo # There is only one entry with this id.
+
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+#
+# VERIFY LOCAL CONNECTION, UNIX DOMAIN
+#
+
+# EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
+# wait/io/socket/sql/client_connection 139799531958280 16 37 0 IDLE or ACTIVE
+
+--echo # Check the content for client connection 3 (unix domain).
+
+--disable_query_log ONCE
+eval SET @thread_id = $con3_thread_id;
+
+eval SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND IP = ''
+ AND PORT = 0
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+--echo # Characteristics of entries with THREAD_ID of con3
+--echo # There is only one entry with this id.
+
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+#
+# LIST CLIENT CONNECTIONS
+#
+
+--echo # Show differences to socket_instances before con1, con2 and con3 connecting
+let $part=
+FROM performance_schema.socket_instances
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE)
+NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE
+ FROM my_socket_instances)
+ORDER BY THREAD_ID;
+--replace_result '::ffff:127.0.0.1' <LOCALHOST> '127.0.0.1' <LOCALHOST> '::1' <LOCALHOST> '::' <BINDADDR> '0.0.0.0' <BINDADDR>
+eval
+SELECT EVENT_NAME, IP
+$part;
+
+--connection default
+
+#
+# DROP CLIENT CONNECTIONS
+#
+
+--echo # Disconnect con1, con2 and con3
+--connection con1
+--disconnect con1
+--source include/wait_until_disconnected.inc
+--connection con2
+--disconnect con2
+--source include/wait_until_disconnected.inc
+--connection con3
+--disconnect con3
+--source include/wait_until_disconnected.inc
+--connection default
+
+#
+# VERIFY CONNECTIONS DROPPED
+#
+
+--echo # After waiting a bit we should have no differences to socket_instances
+--echo # before con1, con2, con3 connecting.
+let $wait_timeout= 10;
+let $wait_condition= SELECT COUNT(*) = 0 $part;
+--source include/wait_condition.inc
+#
+eval
+SELECT *
+$part;
+
diff --git a/mysql-test/suite/perfschema/t/socket_instances_func_win-master.opt b/mysql-test/suite/perfschema/t/socket_instances_func_win-master.opt
new file mode 100644
index 00000000000..ab6ca1731f5
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/socket_instances_func_win-master.opt
@@ -0,0 +1 @@
+--skip-name-resolve
diff --git a/mysql-test/suite/perfschema/t/socket_instances_func_win.test b/mysql-test/suite/perfschema/t/socket_instances_func_win.test
new file mode 100644
index 00000000000..5faf0d24ec4
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/socket_instances_func_win.test
@@ -0,0 +1,339 @@
+#
+# Some functional checks for the content of performance_schema.socket_instances.
+#
+
+--source include/not_embedded.inc
+--source include/windows.inc
+--source include/have_perfschema.inc
+
+# Set this to enable debugging output
+let $my_socket_debug_dbug= 0;
+
+#
+# Set IP address defaults with respect to IPV6 support
+#
+
+# Determine if IPV6 supported
+let $check_ipv6_just_check= 1;
+--source include/check_ipv6.inc
+
+# Determine if IPV4 mapped to IPV6 supported
+let $check_ipv4_mapped_just_check= 1;
+--source include/have_ipv4_mapped.inc
+
+let $my_localhost= 127.0.0.1;
+
+if($check_ipv6_supported)
+{
+ let $my_localhost= ::1;
+}
+
+if($check_ipv4_mapped_supported)
+{
+ let $my_localhost= ::ffff:127.0.0.1;
+}
+
+if($my_socket_debug)
+{
+ --echo IPV6=$check_ipv6_supported, IPV4_MAPPED=$check_ipv4_mapped_supported, LOCALHOST=$my_localhost
+}
+
+#
+# Preserve the current state of SOCKET_INSTANCES
+#
+
+--echo # Take a snapshot of SOCKET_INSTANCES
+CREATE TEMPORARY TABLE my_socket_instances AS
+SELECT * FROM performance_schema.socket_instances;
+
+--echo # Get thread id of the default connection
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+let $con0_thread_id= `SELECT @thread_id`;
+
+#
+# ESTABLISH TCP/IP CONNECTION 1
+#
+# Start connection with IP = localhost (127.0.0.1 or ::1)
+
+--echo # Establish local TCP/IP connection (con1,localhost,root,,test,,)
+--disable_query_log
+--connect (con1,$my_localhost,root,,test,,$MASTER_MYPORT)
+--enable_query_log
+
+if($my_socket_debug)
+{
+# --replace_result '::ffff:127.0.0.1' <LOCALHOST> '127.0.0.1' <LOCALHOST> '::1' <LOCALHOST> '::' <BINDADDR> '0.0.0.0' <BINDADDR>
+ SELECT * FROM performance_schema.socket_instances;
+}
+
+--echo # Store the thread id of connection 1 (tcp/ip)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+--echo # Store the port of connection 1 (tcp/ip)
+eval SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+let $con1_thread_id= `SELECT @thread_id`;
+let $con1_port= `SELECT @port`;
+
+--echo # Switch to connection default
+--connection default
+
+#
+# ESTABLISH TCP/IP CONNECTION 2
+#
+# Start a second connection with IP = localhost (127.0.0.1 or ::1)
+
+--echo # Establish second local TCP/IP connection (con1,localhost,root,,test,,)
+--disable_query_log
+--connect (con2,$my_localhost,root,,test,,$MASTER_MYPORT)
+--enable_query_log
+
+if($my_socket_debug)
+{
+# --replace_result '::ffff:127.0.0.1' <LOCALHOST> '127.0.0.1' <LOCALHOST> '::1' <LOCALHOST> '::' <BINDADDR> '0.0.0.0' <BINDADDR>
+ SELECT * FROM performance_schema.socket_instances;
+}
+
+--echo # Store the thread_id of connection 2 (tcp/ip)
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.threads
+WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+--echo # Store the port of connection 2 (tcp/ip)
+eval SELECT PORT INTO @port
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+let $con2_thread_id= `SELECT @thread_id`;
+let $con2_port = `SELECT @port`;
+
+--echo # Switch to connection default
+--connection default
+
+#
+# VERIFY EVENT NAMES
+#
+
+--echo # EVENT_NAME is the "wait/io/socket/*" instrument identifier.
+
+SELECT COUNT(*) = 0 AS "Expect 1"
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME NOT LIKE 'wait/io/socket/%';
+
+#
+# VERIFY UNIQUE EVENT IDs
+#
+
+--echo # OBJECT_INSTANCE_BEGIN is an arbitrary identifier, guaranteed to be unique.
+
+SELECT COUNT(*) = COUNT(DISTINCT OBJECT_INSTANCE_BEGIN) AS "Expect 1"
+FROM performance_schema.socket_instances;
+
+#
+# VERIFY UNIQUE SOCKET ID
+#
+
+--echo # SOCKET_ID is the internal file handle assigned to the socket.
+
+SELECT COUNT(*) = COUNT(DISTINCT SOCKET_ID) AS "Expect 1"
+FROM performance_schema.socket_instances;
+
+#
+# VERIFY UNIQUE THREAD IDs
+#
+
+--echo # Characteristics per our thread
+--echo # There must be only one entry with our thread_id
+
+--disable_query_log
+eval SET @thread_id= $con0_thread_id;
+--enable_query_log
+
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+#
+# VERIFY UNIQUE PORT NUMBERS FOR TCP/IP CLIENTS
+#
+
+--echo # TCP/IP connections should have a unique port number
+--disable_query_log
+eval SET @port= $con1_port;
+--enable_query_log
+
+--echo # Connection 1 (tcp/ip)
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE PORT = @port;
+
+--disable_query_log
+eval SET @port= $con2_port;
+--enable_query_log
+
+--echo # Connection 2 (tcp/ip)
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE PORT = @port;
+
+#
+# VERIFY CONNECTION DETAILS FOR THE DEFAULT CONNECTION
+#
+
+--echo # Check the content for the default connection (tcpip)
+# EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
+# wait/io/socket/sql/client_connection 26139912 16 907296 127.0.0.1 2631 ACTIVE
+
+--disable_query_log
+eval SET @thread_id = $con0_thread_id;
+--enable_query_log
+
+SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1') AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+#
+# VERIFY SERVER LISTENING SOCKET, TCP/IP
+#
+
+--echo # Characteristics of 'server_tcpip_socket' entry
+--echo # Server listening socket, TCP/IP
+--echo # There is only one entry with 'wait/io/socket/sql/server_tcpip_socket'.
+--echo # It shares the same thread id as 'wait/io/socket/sql/server_unix_socket'.
+
+SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+
+# Store the thread id of server_tcpip_socket
+--echo # Get the 'server_tcpip_socket' thread id
+
+SELECT THREAD_ID INTO @thread_id
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+
+let $server_tcpip_thread_id= `SELECT @thread_id`;
+
+--echo # Check the content.
+--disable_query_log
+eval SET @port = $MASTER_MYPORT;
+--enable_query_log
+
+eval SELECT THREAD_ID = @thread_id
+ AND (IP = '0.0.0.0' OR IP = '::')
+ AND PORT = @port
+ AND STATE = 'ACTIVE' AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
+
+#
+# VERIFY TCP/IP CLIENT CONNECTION 1
+#
+
+# EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
+# wait/io/socket/sql/client_connection 140707865187120 18 59 127.0.0.1 59298 IDLE or ACTIVE
+
+--echo # Check content for client connection 1 (tcpip)
+
+--disable_query_log
+eval SET @port = $con1_port;
+eval SET @thread_id = $con1_thread_id;
+eval SET @addr = '$my_localhost';
+--enable_query_log
+
+eval SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1')
+ AND PORT = @port
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+--echo # Characteristics of entries with THREAD_ID of con1
+--echo # There is only one entry with this id.
+
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+#
+# VERIFY TCP/IP CLIENT CONNECTION 2
+#
+
+# EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE
+# wait/io/socket/sql/client_connection 140707865187120 18 59 127.0.0.1 59298 IDLE or ACTIVE
+
+--echo # Check content for client connection 2 (tcpip)
+
+--disable_query_log
+eval SET @port = $con2_port;
+eval SET @thread_id = $con2_thread_id;
+eval SET @addr = '$my_localhost';
+--enable_query_log
+
+eval SELECT EVENT_NAME = 'wait/io/socket/sql/client_connection'
+ AND (IP LIKE '%127.0.0.1' OR IP = '::1')
+ AND PORT = @port
+AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+--echo # Characteristics of entries with THREAD_ID of con2
+--echo # There is only one entry with this id.
+
+eval SELECT COUNT(*) = 1 AS 'Expect 1'
+FROM performance_schema.socket_instances
+WHERE THREAD_ID = @thread_id;
+
+#
+# LIST CLIENT CONNECTIONS
+#
+
+--echo # Show differences to socket_instances before con1, con2 and con3 connecting
+let $part=
+FROM performance_schema.socket_instances
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE)
+NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN,THREAD_ID,SOCKET_ID,IP,PORT,STATE
+ FROM my_socket_instances)
+ORDER BY THREAD_ID;
+--replace_result '::ffff:127.0.0.1' <LOCALHOST> '127.0.0.1' <LOCALHOST> '::1' <LOCALHOST> '::' <BINDADDR> '0.0.0.0' <BINDADDR>
+eval
+SELECT EVENT_NAME, IP
+$part;
+
+--connection default
+
+#
+# DROP CLIENT CONNECTIONS
+#
+
+--echo # Disconnect con1 and con2
+--connection con1
+--disconnect con1
+--source include/wait_until_disconnected.inc
+--connection con2
+--disconnect con2
+--source include/wait_until_disconnected.inc
+--connection default
+
+#
+# VERIFY CONNECTIONS DROPPED
+#
+
+--echo # After waiting a bit we should have no differences to socket_instances
+--echo # before con1, con2 connecting.
+let $wait_timeout= 10;
+let $wait_condition= SELECT COUNT(*) = 0 $part;
+--source include/wait_condition.inc
+#
+eval
+SELECT *
+$part;
+
diff --git a/mysql-test/suite/perfschema/t/socket_summary_by_event_name_func.test b/mysql-test/suite/perfschema/t/socket_summary_by_event_name_func.test
new file mode 100644
index 00000000000..c6860eb3213
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/socket_summary_by_event_name_func.test
@@ -0,0 +1,333 @@
+#
+# Some functional checks for the content of the performance_schema table
+# socket_summary_by_event_name.
+#
+# Created: cpowers 2011-08-18
+#==============================================================================
+#
+# Performance schema table socket_summary_by_event_name holds statistics
+# aggreagated by event name. Table socket_summary_by_instances maintains statistics
+# per socket instance.
+#
+# This test verifies that the statistics in socket_summary_by_event_name
+# are consistent with those in socket_summary_by_instance.
+#
+#==============================================================================
+# Embedded server does not support the performance_schema.
+--source include/not_embedded.inc
+
+# Not much can happen without the performance schema
+--source include/have_perfschema.inc
+
+# Wait for any clients from previous tests to disconnect
+--source ../include/wait_for_pfs_thread_count.inc
+
+# The values in the performance_schema tables depend on how much communication
+# happens per SQL statement within our MTR tests. And there is a significant
+# difference between standard statement execution and execution via
+# prepared statement.
+--source include/no_protocol.inc
+
+# Set this to enable debugging output
+let $my_socket_debug_dbug= 0;
+
+--echo #==============================================================================
+--echo # Establish the level of IPV6 support
+--echo #==============================================================================
+--source ../include/socket_ipv6.inc
+
+--echo #==============================================================================
+--echo # Get hostname, port number
+--echo #==============================================================================
+SELECT @@hostname INTO @MY_HOSTNAME;
+SELECT @@port INTO @MY_MASTER_PORT;
+
+if ($my_socket_debug)
+{
+ SELECT @MY_HOSTNAME AS 'Hostname';
+ SELECT @MY_MASTER_PORT AS 'Master Port';
+ --echo MASTER_MYPORT=$MASTER_MYPORT
+}
+#==============================================================================
+# Utility queries
+#==============================================================================
+let $count_client_connections=
+ SELECT COUNT(*) INTO @my_client_connections
+ FROM performance_schema.socket_instances
+ WHERE EVENT_NAME LIKE "%client_connection%";
+
+let $get_thread_id=
+ SELECT THREAD_ID INTO @my_thread_id
+ FROM performance_schema.threads
+ WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+let $get_object_instance_begin=
+ SELECT OBJECT_INSTANCE_BEGIN INTO @my_object_instance_begin
+ FROM performance_schema.socket_instances
+ WHERE THREAD_ID = @my_thread_id;
+
+let $get_port=
+ SELECT PORT INTO @my_port
+ FROM performance_schema.socket_instances
+ WHERE THREAD_ID = @my_thread_id;
+
+let $get_write_count=
+SELECT sum(SUM_NUMBER_OF_BYTES_WRITE) INTO @my_write_count
+ FROM performance_schema.socket_summary_by_instance;
+#==============================================================================
+# Testcase queries
+#==============================================================================
+let $insert_totals=
+ INSERT INTO mysqltest.my_socket_summary SELECT EVENT_NAME,
+ SUM(t1.COUNT_STAR), SUM(t1.SUM_TIMER_WAIT), SUM(t1.MIN_TIMER_WAIT), SUM(t1.AVG_TIMER_WAIT), SUM(t1.MAX_TIMER_WAIT),
+ SUM(t1.COUNT_READ), SUM(t1.SUM_TIMER_READ), SUM(t1.MIN_TIMER_READ), SUM(t1.AVG_TIMER_READ), SUM(t1.MAX_TIMER_READ), SUM(t1.SUM_NUMBER_OF_BYTES_READ),
+ SUM(t1.COUNT_WRITE), SUM(t1.SUM_TIMER_WRITE), SUM(t1.MIN_TIMER_WRITE), SUM(t1.AVG_TIMER_WRITE), SUM(t1.MAX_TIMER_WRITE), SUM(t1.SUM_NUMBER_OF_BYTES_WRITE),
+ SUM(t1.COUNT_MISC), SUM(t1.SUM_TIMER_MISC), SUM(t1.MIN_TIMER_MISC), SUM(t1.AVG_TIMER_MISC), SUM(t1.MAX_TIMER_MISC), NULL
+ FROM performance_schema.socket_summary_by_instance AS t1
+ WHERE EVENT_NAME LIKE '%client_connection%' GROUP BY EVENT_NAME;
+
+let $compare_tables_and_print=
+SELECT EVENT_NAME,
+ (SUM(t_inst.COUNT_STAR) = t_name.COUNT_STAR) AS CNT_STAR,
+ (SUM(t_inst.SUM_TIMER_WAIT) = t_name.SUM_TIMER_WAIT) AS SUM_WAIT,
+ (MAX(t_inst.MAX_TIMER_WAIT) = t_name.MAX_TIMER_WAIT) AS MAX_WAIT,
+# (MIN(t_inst.MIN_TIMER_WAIT) = t_name.MIN_TIMER_WAIT) AS MIN_WAIT,
+ (SUM(t_inst.COUNT_READ) = t_name.COUNT_READ) AS CNT_READ,
+ (SUM(t_inst.SUM_TIMER_READ) = t_name.SUM_TIMER_READ) AS SUM_READ,
+ (MAX(t_inst.MAX_TIMER_READ) = t_name.MAX_TIMER_READ) AS MAX_READ,
+# (MIN(t_inst.MIN_TIMER_READ) = t_name.MIN_TIMER_READ) AS MIN_READ,
+ (SUM(t_inst.SUM_NUMBER_OF_BYTES_READ) = t_name.SUM_NUMBER_OF_BYTES_READ) AS BYTES_READ,
+ (SUM(t_inst.COUNT_WRITE) = t_name.COUNT_WRITE) AS CNT_WRITE,
+ (SUM(t_inst.SUM_TIMER_WRITE) = t_name.SUM_TIMER_WRITE) AS SUM_WRITE,
+ (MAX(t_inst.MAX_TIMER_WRITE) = t_name.MAX_TIMER_WRITE) AS MAX_WRITE,
+# (MIN(t_inst.MIN_TIMER_WRITE) = t_name.MIN_TIMER_WRITE) AS MIN_WRITE,
+ (SUM(t_inst.SUM_NUMBER_OF_BYTES_WRITE) = t_name.SUM_NUMBER_OF_BYTES_WRITE) AS BYTES_WRITE,
+ (SUM(t_inst.COUNT_MISC) = t_name.COUNT_MISC) AS CNT_MISC,
+ (SUM(t_inst.SUM_TIMER_MISC) = t_name.SUM_TIMER_MISC) AS SUM_MISC
+FROM performance_schema.socket_summary_by_instance t_inst
+JOIN performance_schema.socket_summary_by_event_name t_name
+USING (EVENT_NAME)
+WHERE t_inst.event_name LIKE '%client%'
+ AND t_inst.object_instance_begin <> @default_object_instance_begin;
+
+let $compare_tables_and_verify=
+SELECT (
+ (SUM(t_inst.COUNT_STAR) = t_name.COUNT_STAR) AND
+ (SUM(t_inst.SUM_TIMER_WAIT) = t_name.SUM_TIMER_WAIT) AND
+ (MAX(t_inst.MAX_TIMER_WAIT) = t_name.MAX_TIMER_WAIT) AND
+# (MIN(t_inst.MIN_TIMER_WAIT) = t_name.MIN_TIMER_WAIT) AND
+ (SUM(t_inst.COUNT_READ) = t_name.COUNT_READ) AND
+ (SUM(t_inst.SUM_TIMER_READ) = t_name.SUM_TIMER_READ) AND
+ (MAX(t_inst.MAX_TIMER_READ) = t_name.MAX_TIMER_READ) AND
+# (MIN(t_inst.MIN_TIMER_READ) = t_name.MIN_TIMER_READ) AND
+ (SUM(t_inst.SUM_NUMBER_OF_BYTES_READ) = t_name.SUM_NUMBER_OF_BYTES_READ) AND
+ (SUM(t_inst.COUNT_WRITE) = t_name.COUNT_WRITE) AND
+ (SUM(t_inst.SUM_TIMER_WRITE) = t_name.SUM_TIMER_WRITE) AND
+ (MAX(t_inst.MAX_TIMER_WRITE) = t_name.MAX_TIMER_WRITE) AND
+# (MIN(t_inst.MIN_TIMER_WRITE) = t_name.MIN_TIMER_WRITE) AND
+ (SUM(t_inst.SUM_NUMBER_OF_BYTES_WRITE) = t_name.SUM_NUMBER_OF_BYTES_WRITE) AND
+ (SUM(t_inst.COUNT_MISC) = t_name.COUNT_MISC) AND
+ (SUM(t_inst.SUM_TIMER_MISC) = t_name.SUM_TIMER_MISC) ) = 1 INTO @tables_match
+FROM performance_schema.socket_summary_by_instance t_inst
+JOIN performance_schema.socket_summary_by_event_name t_name
+USING (EVENT_NAME)
+WHERE t_inst.event_name LIKE '%client%'
+ AND t_inst.object_instance_begin <> @default_object_instance_begin;
+
+--echo #==============================================================================
+--echo # 1.0 TEST INITIALIZATION
+--echo #==============================================================================
+--echo
+--echo # 1.1 Disable instrumentation of the default (this) connection
+--echo
+--connection default
+UPDATE performance_schema.threads
+ SET INSTRUMENTED='NO' WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+--echo
+--echo # 1.2 Get the default THREAD_ID;
+--echo
+eval $get_thread_id;
+let $default_thread_id= `SELECT @my_thread_id`;
+
+--echo
+--echo # 1.3 Get the default OBJECT_INSTANCE_BEGIN
+--echo
+eval $get_object_instance_begin;
+let $default_object_instance_begin= `SELECT @my_object_instance_begin`;
+
+--disable_query_log
+SELECT @my_object_instance_begin INTO @default_object_instance_begin;
+--enable_query_log
+
+if ($my_socket_debug)
+{
+ --echo # Default object instance begin = $default_object_instance_begin
+ --echo # Default thread id = $default_thread_id
+}
+
+--echo
+--echo # 1.4 Create a test database
+--echo
+CREATE SCHEMA mysqltest;
+
+--echo
+--echo # 1.5 Create a table to store summary values from socket_summary_by_instance
+--echo and socket_summary_by_event_name
+--echo
+CREATE TABLE mysqltest.my_socket_summary AS
+ SELECT * FROM performance_schema.socket_summary_by_instance
+ WHERE 1 = 0;
+
+--echo
+--echo # 1.6 Drop object_instance_begin from my_socket_summary
+--echo
+ALTER TABLE mysqltest.my_socket_summary
+ DROP COLUMN OBJECT_INSTANCE_BEGIN;
+
+--echo
+--echo # 1.7 Add an auto_inc column to my_socket_summary
+--echo
+ALTER TABLE mysqltest.my_socket_summary
+ ADD COLUMN (n INT AUTO_INCREMENT, PRIMARY KEY(n));
+
+--echo
+--echo # 1.8 Create test tables
+--echo
+CREATE TABLE mysqltest.t1 (n INT AUTO_INCREMENT, s1 VARCHAR(1024), PRIMARY KEY(n));
+CREATE TABLE mysqltest.t2 (n INT AUTO_INCREMENT, s1 VARCHAR(1024), PRIMARY KEY(n));
+
+--echo #==============================================================================
+--echo # 2.0 ESTABLISH CLIENT CONNECTIONS
+--echo #==============================================================================
+--echo
+--echo # 2.1 Connection 1 (tcp/ip, 127.0.0.1 or ::1)
+--echo
+--disable_query_log
+--connect (con1,$my_localhost,root,,,,$MASTER_MYPORT)
+--enable_query_log
+
+--echo
+--echo # 2.2 Connection 2 (localhost or unix domain socket)
+--echo
+--disable_query_log
+--connect (con2,localhost,root,,,,)
+--enable_query_log
+
+--echo #==============================================================================
+--echo # 3.0 RUN THE TESTS
+--echo #==============================================================================
+--echo
+--echo # 3.1 Clear performance schema tables
+--echo
+TRUNCATE performance_schema.socket_summary_by_instance;
+TRUNCATE performance_schema.socket_summary_by_event_name;
+
+--echo
+--echo # 3.2 Get the 'before' sum of bytes written from socket_summary_by_instance
+--echo for later comparison to the 'after' byte count as a simple confirmation
+--echo that the table was updated.
+--echo
+--connection default
+eval $get_write_count;
+let $my_count_before= `SELECT @my_write_count`;
+
+--echo
+--echo # 3.3 From connection 1, insert one a 1K row of data into t1
+--echo
+--connection con1
+USE mysqltest;
+INSERT INTO t1 (s1) VALUES (REPEAT('a', 1024));
+INSERT INTO t1 (s1) SELECT s1 FROM t1;
+
+--echo
+--echo # 3.4 From connection 2, insert one a 1K row of data into t2
+--echo
+--connection con2
+USE mysqltest;
+INSERT INTO t2 (s1) VALUES (REPEAT('a', 1024));
+INSERT INTO t2 (s1) SELECT s1 FROM t2;
+
+--echo
+--echo # 3.5 Get the 'after' sum of bytes written from socket_summary_by_instance
+--echo
+--connection default
+eval $get_write_count;
+let $my_count_after= `SELECT @my_write_count`;
+
+--echo
+--echo # 3.6 Verify that SUM_NUMBER_OF_BYTES_WRITE increased
+--echo
+
+if ($my_count_before >= $my_count_after)
+{
+ --echo
+ --echo # ERROR: Write count did not increaase
+ --echo # Before = $my_count_before
+ --echo # After = $my_count_after
+ --echo
+ SELECT * FROM performance_schema.socket_summary_by_instance ORDER BY EVENT_NAME;
+ --echo
+ --echo # Abort
+ exit;
+}
+
+--echo
+--echo # socket_summary_by_instance was updated
+--echo
+
+--echo #==============================================================================
+--echo # 4.0 VERIFY RESULTS
+--echo #==============================================================================
+--echo
+--echo # 4.1 Verify that the totals in socket_summary_by_event_name are
+--echo consistent with totals in socket_summary_by_instance
+--echo
+
+--disable_query_log
+eval $compare_tables_and_verify;
+
+if (`SELECT @tables_match = 0`)
+{
+ --echo
+ --echo # ERROR: Socket summary tables do not match
+ --echo # Column comparison results:
+ --echo
+ eval $compare_tables_and_print;
+ --enable_query_log
+ --echo
+ SELECT * FROM performance_schema.socket_summary_by_instance ORDER BY EVENT_NAME;
+ --echo
+ SELECT * FROM performance_schema.socket_summary_by_event_name ORDER BY EVENT_NAME;
+ --echo
+ --echo # Abort
+ exit;
+}
+--enable_query_log
+
+--echo #==============================================================================
+--echo # 5.0 Clean up
+--echo #==============================================================================
+
+--echo
+--echo # 5.1 Disconnect con1
+--echo
+--connection con1
+--disconnect con1
+--source include/wait_until_disconnected.inc
+
+--echo
+--echo # 5.2 Disconnect con2
+--echo
+--connection con2
+--disconnect con2
+--source include/wait_until_disconnected.inc
+
+--echo
+--echo # 5.3 Drop mysqltest
+--echo
+--connection default
+DROP DATABASE mysqltest;
+
+exit;
+
diff --git a/mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test b/mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test
new file mode 100644
index 00000000000..99f89bd3225
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test
@@ -0,0 +1,1712 @@
+# Some functional checks for the content of the performance_schema table
+# socket_summary_by_instance.
+#
+# Created: mleich 2011-07-01
+#
+# Rough description of "What is when tested"
+# 1. Impact of successful connect
+# A new row with EVENT_NAME "client_connection" shows up
+# is tested in 0 and 4.5.
+# 2. Impact of disconnect
+# A row with EVENT_NAME "client_connection" disappears
+# is tested in 0. and 2.
+# 3. Disabling the instrumentation for some thread causes that the
+# counter for this thread become static is tested in 4.3.
+# Nearby the beginning of this test and somewhere in the middle.
+# 4. TRUNCATE table resets the counters is tested in 5.
+# 5. Consistency within a row like MIN_* <= AVG_* <= MAX_*
+# -> include/socket_summary_check.inc which is called at
+# various places
+# 6. Consistency of the instances mentioned in socket_summary_by_event
+# and socket_summary_by_instance is checked per call of
+# include/socket_summary_check.inc
+# 7. Check if changes in counters of instances caused by actions
+# are reasonable is tested for
+# - Connects+SQL statements in 4.1 and 4.2
+# - SQL statements in 4.4
+# - Connects in 4.5
+#
+
+# Embedded server does not supprt the performance_schema.
+--source include/not_embedded.inc
+--source include/not_windows.inc
+--source include/have_perfschema.inc
+
+# The values in the performance_schema tables depend on how much communication
+# happens per SQL statement within our MTR tests. And there is a significant
+# difference between standard statement execution and execution via
+# prepared statement.
+--source include/no_protocol.inc
+
+
+#===================================
+# Set IP address defaults with respect to IPV6 support
+#
+# Set this to enable debugging output
+let $my_socket_debug_dbug= 0;
+#
+# Determine if IPV6 supported
+#
+let $check_ipv6_just_check= 1;
+--source include/have_ipv4_mapped.inc
+#
+# Determine if IPV4 mapped to IPV6 supported
+#
+let $check_ipv4_mapped_just_check= 1;
+--source include/have_ipv4_mapped.inc
+#
+# Set the localhost IP default to use when establishing connections
+let $my_localhost=127.0.0.1;
+if($check_ipv6_supported)
+{
+ let $my_localhost=::1;
+}
+if($check_ipv4_mapped_supported)
+{
+ let $my_localhost=::ffff:127.0.0.1;
+}
+#
+let $my_socket_debug_dbug= 0;
+if($my_socket_debug)
+{
+ --echo IPV6=$check_ipv6_supported, IPV4_MAPPED = $check_ipv4_mapped_supported, LOCALHOST = $my_localhost
+}
+#===================================
+
+--echo # The logging of commands and result sets is mostly disabled.
+--echo # There are some messages which help to observe the progress of the test.
+--echo # In case some check fails
+--echo # - a message about this will be printed
+--echo # - some SQL commands which show the unexpected state will be executed
+--echo # (logging enabled)
+--echo # - the test might abort
+--echo #
+
+--disable_query_log
+
+--echo # 0. Check, build or set prequisites
+#==========================================
+# Set $print_details to 1 in case you want that the exact diffs caused
+# by the execution of a statement get printed.
+# Disadvantage of printing details:
+# Even minor legimitate changes of the client - server communication can
+# cause that the test needs maintenance.
+# Advantage:
+# More thorough checks.
+# If any of the checks detects some suspicious/unexpected state than
+# $print_details will be automatically switched to 1.
+#
+let $print_details= 0;
+
+#
+# Number of attempts within the test checking the stability of counter changes.
+#
+let $loop_rounds= 10;
+
+# This test of PERFORMANCE_SCHEMA functionality is very vulnerable.
+# Ensure that we have in the moment exact one
+# - connection
+# - instance with EVENT_NAME LIKE '%client_connection'
+# - instance with EVENT_NAME LIKE '%server_tcpip_socket'
+# - instance with EVENT_NAME LIKE '%server_unix_socket'
+#=======================================================
+let $my_rules= COUNT(*) = 1;
+let $part=
+FROM performance_schema.threads
+WHERE NAME LIKE '%one_connection';
+let $wait_condition=
+SELECT $my_rules $part;
+let $wait_timeout= 5;
+--source include/wait_condition.inc
+--enable_query_log
+if(!$success)
+{
+ --echo # ERROR: There must be only one user connection
+ eval
+ SELECT * $part;
+ --echo # abort
+ exit;
+}
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection';
+let $wait_condition=
+SELECT $my_rules $part;
+let $wait_timeout= 5;
+--source include/wait_condition.inc
+if(!$success)
+{
+ --echo # ERROR: There must be only one instance with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ exit;
+}
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%server_unix_socket';
+let $wait_condition=
+SELECT $my_rules $part;
+let $wait_timeout= 5;
+--source include/wait_condition.inc
+if(!$success)
+{
+ --echo # ERROR: There must be only one instance with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ exit;
+}
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%server_tcpip_socket';
+let $wait_condition=
+SELECT $my_rules $part;
+let $wait_timeout= 5;
+--source include/wait_condition.inc
+if(!$success)
+{
+ --echo # ERROR: There must be only one instance with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ exit;
+}
+
+--disable_query_log
+
+#
+# Lower the resolution of the wait timer from the default 'CYCLE'
+# to 'NANOSECOND'.
+# Hint: The timer columns contains values in picoseconds independent
+# of the timer resolution.
+# The timer resolution has an impact on the precision of the value.
+# This should prevent the failures seen on some suspicious PB boxes where
+# - calculations exceeded the BIGINT UNSIGNED (data type of the counter columns)
+# value range.
+# - we have reached from whatever reason 20 digit values
+# The consequence for the current test is the following:
+# The common sense rule
+# In case COUNT_<A> increases than SUM_TIMER_<A> must also increase
+# is no more valid because some action might need less time than the
+# timer resolution.
+#
+let $wait_timer= `SELECT TIMER_NAME FROM performance_schema.setup_timers
+ WHERE NAME = 'wait'`;
+UPDATE performance_schema.setup_timers
+SET TIMER_NAME = 'NANOSECOND'
+WHERE NAME = 'wait';
+
+#
+# Additional SCHEMA used for
+# - detection of our "worker" session within the PROCESSLIST.
+# No other connection should use this schema as default schema.
+# - easy cleanup because auxiliary objects are stored there
+#
+CREATE SCHEMA mysqltest;
+CREATE SCHEMA mysqlsupertest;
+
+#
+# Clear summary tables of previous entries
+#
+TRUNCATE performance_schema.socket_summary_by_instance;
+TRUNCATE performance_schema.socket_summary_by_event_name;
+# Disable instrumenting of the current default session.
+# Required for check 1.1
+UPDATE performance_schema.threads
+SET INSTRUMENTED='NO' WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+#
+# Auxiliary tables for storing current values at certain points of time.
+# We store states of performance_schema.socket_summary_by_instance here
+# in order
+# - to have initial values from before some action
+# - to minimize the impact of statements used for the checks on results.
+# CREATE TEMPORARY TABLE my_socket_summary_by_instance AS
+# would be nice but some statements are not supported for temporary tables.
+#
+# DECIMAL(60,0) is used instead of BIGINT UNSIGNED. The goal is to prevent
+# errors during calculations
+# Example:
+# - A and B UNSIGNED BIGINT
+# - A < B
+# - A - B ---> Error
+# though the columns in all queries are orderd to avoid this too.
+#
+CREATE TABLE mysqltest.my_socket_summary_by_instance (
+ EVENT_NAME varchar(128) NOT NULL,
+ OBJECT_INSTANCE_BEGIN bigint(20) unsigned NOT NULL,
+ COUNT_STAR DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_WAIT DECIMAL(60,0) NOT NULL,
+ MIN_TIMER_WAIT DECIMAL(60,0) NOT NULL,
+ AVG_TIMER_WAIT DECIMAL(60,0) NOT NULL,
+ MAX_TIMER_WAIT DECIMAL(60,0) NOT NULL,
+ COUNT_READ DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_READ DECIMAL(60,0) NOT NULL,
+ MIN_TIMER_READ DECIMAL(60,0) NOT NULL,
+ AVG_TIMER_READ DECIMAL(60,0) NOT NULL,
+ MAX_TIMER_READ DECIMAL(60,0) NOT NULL,
+ SUM_NUMBER_OF_BYTES_READ DECIMAL(60,0) NOT NULL,
+ COUNT_WRITE DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ MIN_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ AVG_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ MAX_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ SUM_NUMBER_OF_BYTES_WRITE DECIMAL(60,0) NOT NULL,
+ COUNT_MISC DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ MIN_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ AVG_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ MAX_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ pk VARCHAR(20),
+ PRIMARY KEY(pk, EVENT_NAME, OBJECT_INSTANCE_BEGIN)
+) DEFAULT CHARSET=utf8;
+
+
+# The CAST(... AS DECIMAL(60,0)) prevents errors which might show up in case
+# we run with the original data type UNSIGNED BIGINT.
+CREATE TABLE mysqltest.socket_summary_by_instance_detail (
+ EVENT_NAME varchar(128) NOT NULL,
+ OBJECT_INSTANCE_BEGIN bigint(20) unsigned NOT NULL,
+ COUNT_READ DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_READ DECIMAL(60,0) NOT NULL,
+ SUM_NUMBER_OF_BYTES_READ DECIMAL(60,0) NOT NULL,
+ COUNT_WRITE DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ SUM_NUMBER_OF_BYTES_WRITE DECIMAL(60,0) NOT NULL,
+ COUNT_MISC DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ statement VARCHAR(500),
+ run INTEGER
+) DEFAULT CHARSET=utf8;
+
+#
+# Auxiliary SQL functions used to shorten some commands.
+#
+CREATE FUNCTION mysqltest.min_of_triple
+ (f1 DECIMAL(60,0), f2 DECIMAL(60,0), f3 DECIMAL(60,0))
+ RETURNS DECIMAL(60,0)
+ RETURN IF(IF(f1 < f2,f1,f2) < f3,IF(f1 < f2,f1,f2), f3);
+CREATE FUNCTION mysqltest.max_of_triple
+ (f1 DECIMAL(60,0), f2 DECIMAL(60,0), f3 DECIMAL(60,0))
+ RETURNS DECIMAL(60,0)
+ RETURN IF(IF(f1 > f2,f1,f2) > f3,IF(f1 > f2,f1,f2), f3);
+
+#
+# Auxiliary table for experiments with SELECTs earning different result sets.
+#
+CREATE TABLE mysqltest.my_aux (col1 INTEGER, col2 VARCHAR(1024), PRIMARY KEY(col1));
+INSERT INTO mysqltest.my_aux SET col1 = 0, col2 = REPEAT('a',0);
+INSERT INTO mysqltest.my_aux SET col1 = 1, col2 = REPEAT('a',0);
+INSERT INTO mysqltest.my_aux SET col1 = 2, col2 = REPEAT('a',1);
+INSERT INTO mysqltest.my_aux SET col1 = 3, col2 = REPEAT('a',1024);
+
+#
+# Auxiliary mysqltest variables used to shorten commands and to ensure
+# that we run all time the right operation.
+#
+let $truncate=
+TRUNCATE TABLE mysqltest.my_socket_summary_by_instance;
+#
+let $insert_before=
+INSERT INTO mysqltest.my_socket_summary_by_instance
+SELECT *,'Before' FROM performance_schema.socket_summary_by_instance;
+#
+let $insert_after=
+INSERT INTO mysqltest.my_socket_summary_by_instance
+SELECT *,'After' FROM performance_schema.socket_summary_by_instance;
+#
+let $insert_pseudo_before=
+INSERT INTO mysqltest.my_socket_summary_by_instance
+(EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT,
+COUNT_READ, SUM_TIMER_READ, MIN_TIMER_READ, AVG_TIMER_READ, MAX_TIMER_READ,
+SUM_NUMBER_OF_BYTES_READ,
+COUNT_WRITE, SUM_TIMER_WRITE, MIN_TIMER_WRITE, AVG_TIMER_WRITE, MAX_TIMER_WRITE,
+SUM_NUMBER_OF_BYTES_WRITE,
+COUNT_MISC, SUM_TIMER_MISC, MIN_TIMER_MISC, AVG_TIMER_MISC, MAX_TIMER_MISC,
+pk)
+SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+0, 0, 0, 0, 0,
+0, 0, 0, 0, 0,
+0,
+0, 0, 0, 0, 0,
+0,
+0, 0, 0, 0, 0,
+'Pseudo_Before'
+FROM mysqltest.my_socket_summary_by_instance t1
+WHERE OBJECT_INSTANCE_BEGIN NOT IN
+ (SELECT OBJECT_INSTANCE_BEGIN
+ FROM mysqltest.my_socket_summary_by_instance t2
+ WHERE pk = 'Before');
+#
+let $insert_delta=
+INSERT INTO mysqltest.socket_summary_by_instance_detail
+ (EVENT_NAME,OBJECT_INSTANCE_BEGIN,
+ COUNT_READ, SUM_TIMER_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE,SUM_TIMER_WRITE,SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, SUM_TIMER_MISC, statement,run)
+SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN,
+ t1.COUNT_READ - t2.COUNT_READ,
+ t1.SUM_TIMER_READ - t2.SUM_TIMER_READ,
+ t1.SUM_NUMBER_OF_BYTES_READ - t2.SUM_NUMBER_OF_BYTES_READ,
+ t1.COUNT_WRITE - t2.COUNT_WRITE,
+ t1.SUM_TIMER_WRITE - t2.SUM_TIMER_WRITE,
+ t1.SUM_NUMBER_OF_BYTES_WRITE - t2.SUM_NUMBER_OF_BYTES_WRITE,
+ t1.COUNT_MISC - t2.COUNT_MISC,
+ t1.SUM_TIMER_MISC - t2.SUM_TIMER_MISC,
+ NULL,NULL
+FROM mysqltest.my_socket_summary_by_instance t1
+JOIN mysqltest.my_socket_summary_by_instance t2
+USING (EVENT_NAME,OBJECT_INSTANCE_BEGIN)
+WHERE t1.pk = 'After' AND t2.pk LIKE '%Before';
+#
+let $get_object_instance_begin=
+SELECT OBJECT_INSTANCE_BEGIN INTO @con1_object_instance_begin
+FROM performance_schema.socket_summary_by_instance AS t1
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN)
+ NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN
+ FROM mysqltest.my_socket_summary_by_instance AS t2
+ WHERE pk = 'Before');
+
+# Use this whenever you print data.
+let $column_list=
+RPAD(EVENT_NAME, 38, ' ') AS EVENT_NAME,
+LPAD(OBJECT_INSTANCE_BEGIN, 20, ' ') AS OBJECT_INSTANCE,
+LPAD(COUNT_READ, 7, ' ') AS CREAD,
+LPAD(SUM_TIMER_READ, 12, ' ') AS TREAD,
+LPAD(SUM_NUMBER_OF_BYTES_READ, 7, ' ') AS BREAD,
+LPAD(COUNT_WRITE, 7, ' ') AS CWRITE,
+LPAD(SUM_TIMER_WRITE, 12, ' ') AS TWRITE,
+LPAD(SUM_NUMBER_OF_BYTES_WRITE, 7, ' ') AS BWRITE,
+LPAD(COUNT_MISC, 7, ' ') AS CMISC,
+LPAD(SUM_TIMER_MISC, 13, ' ') AS TMISC,
+RPAD(STATEMENT, 50, ' ') AS STATEMENT,
+LPAD(RUN, 5, ' ') AS RUN;
+
+# Determine OBJECT_INSTANCE_BEGIN of the connection default
+# which acts as the observer
+eval $truncate;
+eval $insert_before;
+--disconnect default
+--connect (default,localhost,root,,,,)
+# --echo ########### Disconnect/Connect
+# --enable_query_log
+eval $insert_after;
+eval $get_object_instance_begin;
+SET @default_object_instance_begin = @con1_object_instance_begin;
+
+# Wait till the old default connection has disappeared
+let $wait_timeout= 5;
+let $wait_condition=
+SELECT COUNT(*) = 1
+FROM performance_schema.threads
+WHERE processlist_user = 'root';
+--source include/wait_condition.inc
+--enable_query_log
+if (!$success)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # Error: The disconnect of the old default connection
+ --echo # (user = 'root') failed. We expect to have only one connection
+ --echo # with user = 'root'. And this is our current connection.
+ SELECT * FROM performance_schema.threads
+ WHERE processlist_user = 'root';
+ --echo # abort
+ exit;
+}
+
+# Disable instrumenting of the current default session.
+# Required for check 1.2
+UPDATE performance_schema.threads
+SET INSTRUMENTED='NO' WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+--echo # 1. Basic checks
+--echo # 1.1 Check that the entry of the disconnected old default session really
+--echo # disappeared from performance_schema.socket_summary_by_instance.
+#===============================================================================
+# This failed at some point in history when the instrumenting for the
+# session to be disconnected was disabled.
+if(`SELECT COUNT(*) FROM performance_schema.socket_summary_by_instance
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE '%client_connection'`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # Error: The disconnected old default session did not disappear from
+ --echo # socket_summary_by_instance.
+ SELECT * FROM performance_schema.socket_summary_by_instance
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE '%client_connection';
+}
+
+TRUNCATE TABLE performance_schema.socket_summary_by_instance;
+
+--echo # 1.2 Check the base line
+#===============================
+eval $truncate;
+--source ../include/socket_summary_check.inc
+
+# --disable_query_log
+# --disable_query_log
+
+--echo # 2. Variations on Connect
+let $is_connect= 1;
+--echo # 2.1 Connect fails because the user is unknown
+--echo # length of user name = 4 character
+--echo # length of default db = 9 character
+#========================================================================
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= boot;
+--source ../include/socket_event.inc
+
+--echo # 2.2 Connect fails because the user is unknown
+--echo # length of user name = 14 character (10 more than in 2.1)
+--echo # length of default db = 9 character
+#========================================================================
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= boot0123456789;
+--source ../include/socket_event.inc
+
+--echo # 2.3 Connect should pass, host = localhost
+--echo # length of user name = 4 character
+--echo # length of default db = 9 character
+#========================================================================
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= root;
+--source ../include/socket_event.inc
+
+--echo # 2.4 Connect should pass, host = localhost
+--echo # length of user name = 4 character
+--echo # length of default db = 14 character (5 more than 2.3)
+#========================================================================
+let $connect_host= localhost;
+let $connect_db= mysqlsupertest;
+let $connect_user= root;
+--source ../include/socket_event.inc
+
+--echo # 2.5 Connect should pass, host = localhost
+--echo # length of user name = 10 character
+--echo # length of default db = 9 character
+#========================================================================
+CREATE USER 'root012345'@'localhost';
+GRANT ALL PRIVILEGES ON *.* TO 'root012345'@'localhost';
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= root012345;
+--source ../include/socket_event.inc
+DROP USER 'root012345'@'localhost';
+
+--echo # 2.6 Connect should pass, host = localhost
+--echo # length of user name = 14 character
+--echo # length of default db = 9 character
+#========================================================================
+CREATE USER 'root0123456789'@'localhost';
+GRANT ALL PRIVILEGES ON *.* to 'root0123456789'@'localhost';
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= root0123456789;
+--source ../include/socket_event.inc
+DROP USER 'root0123456789'@'localhost';
+
+--echo # 2.7 Connect should pass, host = my_localhost
+--echo # length of user name = 4 character
+--echo # length of default db = 9 character
+--echo # connection runs through server_tcpip_socket !
+#========================================================================
+let $connect_host= $my_localhost;
+let $connect_db= mysqltest;
+let $connect_user= root;
+--source ../include/socket_event.inc
+
+#========================================================================
+--connect (con1,localhost,root,,mysqltest,,)
+# Experiments showed some unexpected result in the counter difference
+# which got con1 for the next statement (see 3.1).
+# The measured diff was too high and was probably caused by some
+# too much delayed counter maintenance for the connect.
+# We run here just some SQL statement because counter maintenance
+# for SQL statements is more fast and reliable than far Connect.
+DO 1;
+--connection default
+--source ../include/wait_till_sleep.inc
+--disable_query_log
+
+--echo # 3 Variations on SELECT
+# Attention: Don't use
+# - any double quotes within the statements because sourced scripts
+# already "decorate" $variables with double quotes
+# - UNION because this leads to result set related byte write
+# counters which cannot good compared to select without union
+let $is_connect= 0;
+eval $get_object_instance_begin;
+--echo # 3.1 Check a SELECT ending with server sending an error message.
+--echo # Error message is short (unknown table).
+#========================================================================
+let $statement= SELECT col2 FROM does_not_exist;
+--source ../include/socket_event.inc
+
+--echo # 3.2 SELECT ending with server sending an error message.
+--echo # Now the statement is a bit longer but the error message
+--echo # length does again not depend on statement.
+#=======================================================================
+let $statement= SELECT col2 FROM does_not_exist WHERE col1 = 0;
+--source ../include/socket_event.inc
+
+--echo # 3.3 SELECT ending with server sending an error message.
+--echo # The statement has the same length like in 3.2 but the error
+--echo # message is now different and much longer.
+#=======================================================================
+let $statement= SELECT col2 FROM does_not_exist WHERE col1 A 0;
+--source ../include/socket_event.inc
+
+--echo # 3.4 SELECT ending with server sending an error message.
+--echo # Statement and error message are a bit longer than in 3.1
+--echo # because the table name is longer.
+#=======================================================================
+let $statement= SELECT col2 FROM does_not_exist0123;
+--source ../include/socket_event.inc
+
+--echo # 3.5 SELECT earning an empty result set.
+#=======================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1;
+--source ../include/socket_event.inc
+
+--echo # 3.6 SELECT earning an empty result set.
+--echo # Short column name is replaced by longer alias.
+#==========================================================
+let $statement= SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1;
+--source ../include/socket_event.inc
+
+--echo # 3.7 SELECT earning one row with an empty string.
+#================================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+--source ../include/socket_event.inc
+
+--echo # 3.8 SELECT earning one row with one string one char long.
+#=========================================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2;
+--source ../include/socket_event.inc
+
+--echo # 3.9 SELECT earning one row with one string 1024 char long.
+#==========================================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3;
+--source ../include/socket_event.inc
+
+--echo # 3.10 SELECT earning two rows with an empty string
+#==========================================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2;
+--source ../include/socket_event.inc
+
+--echo # 3.11 Check that the preceding Connects/SQL command runs have not
+--echo # caused some unexpected state.
+#==========================================================================
+let $my_rules= COUNT(*) = 2;
+let $part=
+FROM performance_schema.threads
+WHERE NAME LIKE '%one_connection';
+if(`SELECT NOT ( $my_rules ) $part `)
+{
+ --echo # ERROR: There must be only two user connections
+ eval
+ SELECT * $part;
+ --echo # abort
+ exit;
+}
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection';
+if(`SELECT NOT ( $my_rules ) $part `)
+{
+ --echo # ERROR: There must be only two instances with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ exit;
+}
+let $my_rules= COUNT(*) = 1;
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%server_unix_socket';
+if(`SELECT NOT ( $my_rules ) $part `)
+{
+ --echo # ERROR: There must be only one instance with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ exit;
+}
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%server_tcpip_socket';
+if(`SELECT NOT ( $my_rules ) $part `)
+{
+ --echo # ERROR: There must be only one instance with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ exit;
+}
+
+--echo # 4. Check delta (value_after_action - value_before_action) details
+# 4.0 . Negative deltas cannot have happened because the counter columns within
+# socket_summary_by_instance_detail are defined as UNSIGNED BIGINT.
+# = The INSERT which computes the diff would have been failed.
+--echo # 4.1 Check that
+--echo # - no change in COUNT_* leads to no change in
+--echo # SUM_TIMER_* and no change in SUM_NUMBER_OF_BYTES_*
+--echo # - increased COUNT_READ leads to increased
+--echo # SUM_NUMBER_OF_BYTES_READ
+--echo # - increased COUNT_WRITE leads to increased
+--echo # SUM_NUMBER_OF_BYTES_WRITE
+--echo # Attention:
+--echo # The time required for some action might be below timer resolution.
+--echo # Therefore some increased COUNT_* does not need to lead to an
+--echo # increased SUM_TIMER_*.
+#==========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET SUM_TIMER_MISC = 13, COUNT_MISC = 0
+ WHERE statement LIKE '%WHERE col1 = 3'
+ AND EVENT_NAME LIKE '%client_connection'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+((COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0)
+ OR
+ (COUNT_READ > 0 AND SUM_NUMBER_OF_BYTES_READ > 0))
+AND
+((COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0)
+ OR
+ (COUNT_WRITE > 0 AND SUM_NUMBER_OF_BYTES_WRITE > 0))
+AND
+((COUNT_MISC = 0 AND SUM_TIMER_MISC = 0)
+ OR
+(COUNT_MISC > 0));
+if(`SELECT COUNT(*) FROM mysqltest.socket_summary_by_instance_detail
+ WHERE NOT ( $my_rules ) `)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE NOT ( $my_rules )
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE, STATEMENT, RUN;
+ let $print_details= 1;
+}
+
+--echo # 4.2 Results must be stable
+#==========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_WRITE = 13
+ WHERE statement LIKE '%WHERE col1 = 3'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE '%client_connection'
+ LIMIT 1;
+ --disable_info
+}
+
+# eval
+# SELECT
+# $column_list
+# FROM mysqltest.socket_summary_by_instance_detail
+# WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+# ORDER BY EVENT_NAME, statement,run;
+
+# In case we are able to wait all time till perfschema has finished the
+# maintenance of counters than the following must be valid.
+let $my_rules=
+COUNT(DISTINCT SUM_NUMBER_OF_BYTES_READ) = 1 AND
+COUNT(DISTINCT COUNT_WRITE) = 1 AND
+COUNT(DISTINCT SUM_NUMBER_OF_BYTES_WRITE) = 1;
+
+# In case we do not get the results somehow deterministic than we
+# we should go with the less strict check based on CV.
+#
+# Compute coefficient of variation (CV) to detect 'notable' variances in the
+# byte count and operation counts. The acceptable range for the CV is purely
+# subjective, however, the CV is a dimensionless quantity therefore valid
+# across platforms.
+# let $my_rules=
+# STD(COUNT_READ)/AVG(COUNT_READ) <= 0.2 AND
+# STD(SUM_NUMBER_OF_BYTES_READ)/AVG(SUM_NUMBER_OF_BYTES_READ) <= 0.2 AND
+# STD(COUNT_WRITE)/AVG(COUNT_WRITE) <= 0.2 AND
+# STD(SUM_NUMBER_OF_BYTES_WRITE)/AVG(SUM_NUMBER_OF_BYTES_WRITE) <= 0.2 AND
+# STD(COUNT_MISC)/AVG(COUNT_MISC) <= 0.4;
+
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+GROUP BY EVENT_NAME, statement
+HAVING NOT ($my_rules) ;
+if(`SELECT COUNT(statement) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for GROUP BY EVENT_NAME, statement
+ eval
+ SELECT $column_list
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND (EVENT_NAME, statement)
+ IN (SELECT EVENT_NAME, statement
+ $part)
+ ORDER BY EVENT_NAME, statement, run, OBJECT_INSTANCE_BEGIN;
+ let $print_details= 1;
+}
+
+--echo # 4.3 Counters must be 0 in client_connection for the default session
+--echo # Instrumenting is disabled since a long time and the counter were
+--echo # reset via TRUNCATE just after the disabling.
+#==========================================================================
+let $my_rules=
+COUNT_STAR = 0 AND SUM_TIMER_WAIT = 0
+AND
+COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0
+AND
+COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0
+AND
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+if(`SELECT COUNT(*) FROM performance_schema.socket_summary_by_instance
+ WHERE NOT ( $my_rules )
+ AND OBJECT_INSTANCE_BEGIN = @default_object_instance_begin`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ # Attention: We use here performance_schema.socket_summary_by_instance
+ # and not mysqltest.socket_summary_by_instance_detail.
+ # Therefore the convenient $column_list cannot be used.
+ eval
+ SELECT
+ COUNT_STAR, SUM_TIMER_WAIT,
+ COUNT_READ,SUM_TIMER_READ,SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE,SUM_TIMER_WRITE,SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC,SUM_TIMER_MISC
+ FROM performance_schema.socket_summary_by_instance
+ WHERE OBJECT_INSTANCE_BEGIN = @default_object_instance_begin;
+ let $print_details= 1;
+}
+
+#---------------------------------------------------------------------------
+
+--echo # 4.4 Check the differences caused by SQL statements
+--echo # 4.4.1 There must be no changes in counters of instances
+--echo # NOT LIKE '%client_connection' because everything gets charged
+--echo # into client_connection of the acting connection.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_WRITE = 13
+ WHERE statement LIKE '%WHERE col1 = 3'
+ AND EVENT_NAME NOT LIKE '%client_connection'
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0
+AND
+COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0
+AND
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+ WHERE NOT ( $my_rules )
+ AND EVENT_NAME NOT LIKE '%client_connection'
+ AND statement NOT LIKE 'Connect%';
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN, statement, run;
+ let $print_details= 1;
+}
+
+--echo # 4.4.2 In case of SELECT and our scenarios even COUNT_READ and COUNT_MISC
+--echo # are stable.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_READ = 13
+ WHERE statement LIKE '%WHERE col1 = 3'
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT(DISTINCT COUNT_READ) = 1 AND
+COUNT(DISTINCT COUNT_MISC) = 1;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement NOT LIKE '%Connect%'
+GROUP BY EVENT_NAME, statement
+HAVING NOT ($my_rules) ;
+if(`SELECT COUNT(statement) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for GROUP BY EVENT_NAME, statement
+ eval
+ SELECT $column_list
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND (EVENT_NAME, statement)
+ IN (SELECT EVENT_NAME, statement
+ $part)
+ ORDER BY EVENT_NAME, statement, run, OBJECT_INSTANCE_BEGIN;
+ let $print_details= 1;
+}
+
+--echo # 4.4.3 In our testing scenarios we get for the client_connection entry
+--echo # of the acting connection
+--echo # -> OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+--echo # COUNT_MISC = 0 AND SUM_TIMER_MISC = 0
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 13
+ WHERE statement LIKE '%WHERE col1 = 3'
+ AND EVENT_NAME LIKE '%client_connection'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE NOT ( $my_rules )
+ AND EVENT_NAME LIKE '%client_connection'
+ AND statement NOT LIKE 'Connect%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN, statement, run;
+ let $print_details= 1;
+}
+
+# Initialize variables
+let $my_rules= my_rules_not_set;
+let $stmt1= stmt1_not_set;
+let $stmt2= stmt2_not_set;
+# $title_prefix is used for the generation of titles
+let $title_prefix= 4.4;
+# $check_num is used for the generation of titles and gets incremented after
+# every call of the current script.
+let $check_num= 4;
+# $column_list is used for the generation of error information and valid for
+# every sub test.
+let $diff_column_list=
+t2.COUNT_READ - t1.COUNT_READ AS D_COUNT_READ,
+t2.COUNT_READ AS S2_COUNT_READ,
+t1.COUNT_READ AS S1_COUNT_READ,
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ AS D_SUM_NUMBER_OF_BYTES_READ,
+t2.SUM_NUMBER_OF_BYTES_READ AS S2_SUM_NUMBER_OF_BYTES_READ,
+t1.SUM_NUMBER_OF_BYTES_READ AS S1_SUM_NUMBER_OF_BYTES_READ,
+t2.COUNT_WRITE - t1.COUNT_WRITE AS D_COUNT_WRITE,
+t2.COUNT_WRITE AS S2_COUNT_WRITE,
+t1.COUNT_WRITE AS S1_COUNT_WRITE,
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE AS D_SUM_NUMBER_OF_BYTES_WRITE,
+t2.SUM_NUMBER_OF_BYTES_WRITE AS S2_SUM_NUMBER_OF_BYTES_WRITE,
+t1.SUM_NUMBER_OF_BYTES_WRITE AS S1_SUM_NUMBER_OF_BYTES_WRITE,
+t2.COUNT_MISC - t1.COUNT_MISC AS D_COUNT_MISC,
+t2.COUNT_MISC AS S2_COUNT_MISC,
+t1.COUNT_MISC AS S1_COUNT_MISC;
+# $part is used for the generation of "check" statements + error information
+# and valid for every sub test.
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail t1
+JOIN mysqltest.socket_summary_by_instance_detail t2
+USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run)
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND run = 1;
+
+--echo # Check the differences between changes caused by SQL statements
+--echo # These differences must correspond to parameters like
+--echo # - statement, table name or column name length
+--echo # - number of rows in result set, size of rows in result set etc.
+# --> Statement NOT LIKE '%Connect%'
+
+let stmt1= SELECT col2 FROM does_not_exist;
+let stmt2= SELECT col2 FROM does_not_exist WHERE col1 = 0;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 36 1 59 1 SELECT col2 FROM does_not_exist
+# 3 51 1 59 1 SELECT col2 FROM does_not_exist WHERE col1 = 0
+# The string of the statement gets charged into SUM_NUMBER_OF_BYTES_READ.
+# The server error message gets charged into SUM_NUMBER_OF_BYTES_WRITE.
+let $msg=
+# One statement is longer than the other.
+# Both statements fail with the same error message (table does not exist);
+#
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE = 0 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt1= SELECT col2 FROM does_not_exist WHERE col1 = 0;
+let $stmt2= SELECT col2 FROM does_not_exist WHERE col1 A 0;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 51 1 59 1 SELECT col2 FROM does_not_exist WHERE col1 = 0
+# 3 51 1 162 1 SELECT col2 FROM does_not_exist WHERE col1 A 0
+let $msg=
+# Both statements have the same length and fail.
+# The length of the error messages differs.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE > 0 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt1= SELECT col2 FROM does_not_exist;
+let $stmt2= SELECT col2 FROM does_not_exist0123;
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 36 1 59 1 SELECT col2 FROM does_not_exist
+# 3 40 1 63 1 SELECT col2 FROM does_not_exist0123
+let $msg=
+# Both statements fail (table does not exist).
+# The length of the statement and the length of the error messages differs.
+# Reason for both differences is the length of the table name.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+# Assuming that some new check should be added.
+# How to enforce that a lot info is printed so that it becomes easy to derive
+# the right value for $my_rules?
+#----------------------------------------------------------------------------
+# let $my_rules= 0;
+# This will cause that suite/perfschema/include/socket_check1.inc concludes that
+# the check via $my_rules failed and it will print debug information.
+# let $stmt1= SELECT col2 FROM does_not_exist WHERE col1 = 0;
+# let $stmt2= SELECT col2 FROM does_not_exist WHERE col1 A 0;
+# let $my_rules= 0;
+# --source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 54 1 78 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1
+# 3 70 1 86 1 SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1
+let $msg=
+# Both statements get an empty result set.
+# The length of the statements and the length of the result sets differs.
+# Reason for both differences is the length of the some column name.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE = LENGTH('my_super_col') - LENGTH('col2') AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# t1 3 54 1 78 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1
+# t2 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+let $msg=
+# Both statements differ in the statement length.
+# One statement earns an empty result set.
+# The other statement earns one row containing an empty string.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t1.SUM_NUMBER_OF_BYTES_READ - t2.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt1') - LENGTH('$stmt2') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE > 0 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# 3 53 1 84 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2
+let $msg=
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns one row containing a string 1 byte long.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE = 1 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# 3 53 1 1109 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3
+let $msg=
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns one row containing a string 1024 byte long.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE >= 1024 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# t1 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# t2 3 53 1 88 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2
+let $msg=
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns two rows containing an empty string.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE > 0 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+--echo # 4.5 Check the differences caused by Connects
+--echo # Attention: Succesful Connects run an additional "DO 1".
+--echo # 4.5.1 Connects do not charge anything into READ or WRITE counters
+--echo # of the instance with EVENT_NAME NOT LIKE ('%client_connection%').
+--echo # This mean all these counters must be 0.
+let $my_rules=
+COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0 AND
+COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%')
+ AND EVENT_NAME NOT LIKE ('%client_connection%')
+ AND NOT ( $my_rules );
+if(`SELECT COUNT(*) $part `)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.2 Connects using for host the value 'localhost'
+--echo # 4.5.2.1 For the instance with EVENT_NAME LIKE '%server_tcpip_socket'
+--echo # COUNT_MISC = 0 AND SUM_TIMER_MISC = 0 must be valid
+--echo # because we run through server_unix_socket.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 13
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%localhost%')
+ AND EVENT_NAME LIKE ('%server_tcpip_socket%')
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%localhost%')
+ AND EVENT_NAME LIKE ('%server_tcpip_socket%')
+ AND NOT ( $my_rules );
+if(`SELECT COUNT(*) $part `)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.2.2 For the instance with EVENT_NAME LIKE '%server_unix_socket'
+--echo # COUNT_MISC > 0 must be valid.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 0
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%localhost%')
+ AND EVENT_NAME LIKE ('%server_unix_socket%')
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC > 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%localhost%')
+ AND EVENT_NAME LIKE ('%server_unix_socket%')
+ AND NOT ( $my_rules );
+if(`SELECT COUNT(*) $part `)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.3 Connects using for host a value <> 'localhost'
+--echo # 4.5.3.1 For the instance with EVENT_NAME LIKE '%server_unix_socket'
+--echo # COUNT_MISC = 0 AND SUM_TIMER_MISC = 0 must be valid
+--echo # because we run through server_tcpip_socket.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ eval
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 13
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%server_unix_socket%')
+ AND statement LIKE ('%Connect%$my_localhost%')
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%$my_localhost%')
+ AND EVENT_NAME LIKE ('%server_unix_socket%')
+ AND NOT ( $my_rules );
+if(`SELECT COUNT(*) $part `)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.3.2 For the instance with EVENT_NAME LIKE '%server_tcpip_socket'
+--echo # COUNT_MISC > 0 must be valid.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ eval
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 0
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%$my_localhost%')
+ AND EVENT_NAME LIKE ('%server_tcpip_socket%')
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC > 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%$my_localhost%')
+ AND EVENT_NAME LIKE ('%server_tcpip_socket%')
+ AND NOT ( $my_rules );
+if(`SELECT COUNT(*) $part `)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.4 Failing Connects do not cause any row with EVENT_NAME
+--echo # LIKE '%client_connection'
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ eval
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET statement = 'Connect boot '
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('Connect%root%')
+ AND EVENT_NAME LIKE ('%client_connection')
+ LIMIT 1;
+ --disable_info
+}
+
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('Connect%boot%')
+ AND EVENT_NAME LIKE ('%client_connection');
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect that there are no rows because
+ --echo # - failing connects do not cause a row with "client_connection"
+ --echo # - all failing connects contain a user name LIKE '%boot%'
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.5 Successful Connects cause a new instance with EVENT_NAME
+--echo # LIKE '%client_connection'
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ DELETE
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE ('%client_connection')
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('Connect%root%')
+ LIMIT 1;
+ --disable_info
+}
+
+# - connects which should be successful have statement LIKE ('Connect%root%').
+# - We try every type of Connect $loop_rounds times.
+# Therefore we should find $loop_rounds rows with
+# - EVENT_NAME LIKE ('%client_connection')
+# AND
+# - OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+# We do not want to count the entry of belonging to the default connection.
+# AND
+# - statement LIKE ('Connect%root%')
+# The connects which should be successful.
+#
+let $my_rules=
+COUNT(*) = $loop_rounds;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE EVENT_NAME LIKE ('%client_connection')
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('Connect%root%')
+GROUP BY statement
+HAVING NOT ( $my_rules );
+
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for GROUP BY statement
+ --echo #
+ eval
+ SELECT
+ $column_list
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE ('%client_connection')
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement IN
+ (SELECT statement
+ $part);
+ let $print_details= 1;
+}
+
+--echo # 4.6 Check the differences caused by Connects
+--echo # - INSTANCES with an EVENT_NAME like server_tcpip_socket or
+--echo # server_unix_socket are already checked
+--echo # - the stability of results is already checked
+--echo # So we con go with the results of the first run.
+
+# Typical content of mysqltest.socket_summary_by_instance_detail
+#
+# eval
+# SELECT $column_list
+# FROM mysqltest.socket_summary_by_instance_detail
+# WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+# AND EVENT_NAME LIKE ('%client_connection')
+# AND statement LIKE ('Connect%')
+# AND run = 1
+# ORDER BY event_name,statement, run;
+# CREAD TREAD BREAD CWRITE TWRITE BWRITE CMISC TMISC STATEMENT
+# 4 6149616 79 3 34008480 117 3 38914128 Connect (con*,::ffff:127.0.0.1,root,,mysqltest,,)
+# 4 7012368 84 3 10112256 117 2 43067376 Connect (con*,localhost,root,,mysqlsupertest,,)
+# 4 7172880 79 3 10247688 117 2 40128000 Connect (con*,localhost,root,,mysqltest,,)
+# 4 6706392 85 3 15509472 117 2 34851168 Connect (con*,localhost,root012345,,mysqltest,,)
+# 4 10543632 89 3 10578744 117 2 39460872 Connect (con*,localhost,root0123456789,,mysqltest,,)
+
+--echo # 4.6.1 The SUM_OF_BYTES_WRITE value is the same for all Connects.
+#========================================================================
+let $my_rules= COUNT(DISTINCT SUM_NUMBER_OF_BYTES_WRITE) = 1;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND statement LIKE ('Connect%')
+ AND run = 1;
+if(`SELECT NOT ( $my_rules) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for all Connects
+ --echo #
+ eval
+ SELECT
+ statement, SUM_NUMBER_OF_BYTES_WRITE
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.6.2 The SUM_OF_BYTES_WRITE value hast to be > 100.
+#============================================================
+let $my_rules= SUM_NUMBER_OF_BYTES_WRITE > 100;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND statement LIKE ('Connect%')
+ AND NOT ( $my_rules )
+ AND run = 1;
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for all Connects
+ --echo #
+ eval
+ SELECT
+ statement, SUM_NUMBER_OF_BYTES_WRITE
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.6.3 COUNT_READ, COUNT_WRITE and COUNT_MISC have to be to be > 0
+#=========================================================================
+let $my_rules=
+COUNT_READ > 0 AND COUNT_WRITE > 0 AND COUNT_MISC > 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND statement LIKE ('Connect%')
+ AND NOT ( $my_rules )
+ AND run = 1;
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for all Connects
+ --echo #
+ eval
+ SELECT
+ statement, COUNT_READ, COUNT_WRITE, COUNT_MISC
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.6.4 Checks based on comparison of results for connects
+let $part0=
+FROM mysqltest.socket_summary_by_instance_detail t1
+JOIN mysqltest.socket_summary_by_instance_detail t2
+USING (EVENT_NAME, run)
+WHERE EVENT_NAME LIKE ('%client_connection')
+ AND run = 1
+ AND t2.OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND t1.OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
+let $part1=
+SELECT RPAD(statement,55,' ') AS STATEMENT,
+ LENGTH(statement), SUM_NUMBER_OF_BYTES_READ
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND run = 1;
+
+
+--echo # 4.6.4 The user name length affects the SUM_OF_BYTES_READ value
+#======================================================================
+# CREAD TREAD BREAD CWRITE TWRITE BWRITE CMISC TMISC STATEMENT
+# 4 6706392 85 3 15509472 117 2 34851168 Connect (con*,localhost,root012345,,mysqltest,,)
+# 4 10543632 89 3 10578744 117 2 39460872 Connect (con*,localhost,root0123456789,,mysqltest,,)
+let $stmt2= Connect (con*,localhost,root0123456789,,mysqltest,,);
+let $stmt1= Connect (con*,localhost,root012345,,mysqltest,,);
+let $my_rules=
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1');
+if(`SELECT NOT ($my_rules)
+ $part0
+ AND t2.statement = '$stmt2'
+ AND t1.statement = '$stmt1'`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ $part1
+ AND statement IN('$stmt2','$stmt1');
+ let $print_details= 1;
+}
+
+--echo # 4.6.5 The database name length affects the SUM_OF_BYTES_READ value
+#==========================================================================
+# CREAD TREAD BREAD CWRITE TWRITE BWRITE CMISC TMISC STATEMENT
+# 4 7012368 84 3 10112256 117 2 43067376 Connect (con*,localhost,root,,mysqlsupertest,,)
+# 4 7172880 79 3 10247688 117 2 40128000 Connect (con*,localhost,root,,mysqltest,,)
+let $stmt2= Connect (con*,localhost,root,,mysqlsupertest,,);
+let $stmt1= Connect (con*,localhost,root,,mysqltest,,);
+let $my_rules=
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1');
+if(`SELECT NOT ($my_rules)
+ $part0
+ AND t2.statement = '$stmt2'
+ AND t1.statement = '$stmt1'`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ $part1
+ AND statement IN('$stmt2','$stmt1');
+ let $print_details= 1;
+}
+
+--echo # 5. Check the impact of TRUNCATE on socket_summary_by_instance.
+--echo # It must reset all counters.
+#=======================================================================
+# We do not need to check if the majority of counters is <> 0 because if
+# we ever hit such a bad state than a lot of the preceding checks would
+# have already failed and reported this.
+TRUNCATE TABLE performance_schema.socket_summary_by_instance;
+let $my_rules=
+COUNT_STAR = 0 AND SUM_TIMER_WAIT = 0
+AND
+COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0
+AND
+COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0
+AND
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+if(`SELECT COUNT(*) FROM performance_schema.socket_summary_by_instance
+ WHERE NOT ( $my_rules )
+ AND OBJECT_INSTANCE_BEGIN = @default_object_instance_begin`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ COUNT_STAR, SUM_TIMER_WAIT,
+ COUNT_READ,SUM_TIMER_READ,SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE,SUM_TIMER_WRITE,SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC,SUM_TIMER_MISC
+ FROM performance_schema.socket_summary_by_instance
+ WHERE OBJECT_INSTANCE_BEGIN = @default_object_instance_begin;
+}
+
+
+if($print_details)
+{
+ --enable_query_log
+ --enable_result_log
+ --horizontal_results
+ --echo # Dump detailed differences after - before statement execution
+ --echo # 1. The statement executing connection and hopefully no one else
+ SELECT @default_object_instance_begin;
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ COUNT_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE, SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, statement
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ ORDER BY statement, run;
+ --echo # 2. The connection default
+ SELECT EVENT_NAME,
+ COUNT_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE, SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, statement
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE OBJECT_INSTANCE_BEGIN = @default_object_instance_begin
+ ORDER BY statement,run;
+ --echo # 3. The "server_unix_socket"
+ # WHERE OBJECT_INSTANCE_BEGIN = @default_object_instance_begin
+ SELECT EVENT_NAME,
+ COUNT_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE, SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, statement
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE '%server_unix_socket%'
+ ORDER BY statement,run;
+ --echo # 4. The "server_tcpip_socket"
+ SELECT EVENT_NAME,
+ COUNT_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE, SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, statement
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE '%server_tcpip_socket%'
+ ORDER BY statement,run;
+ --echo # 5. mysqltest.my_socket_summary_by_instance
+ --vertical_results
+ SELECT * FROM mysqltest.my_socket_summary_by_instance;
+ --horizontal_results
+}
+
+--echo # 6. Cleanup
+#==================
+# Cleanup
+--disable_query_log
+eval
+UPDATE performance_schema.setup_timers
+SET TIMER_NAME = '$wait_timer'
+WHERE NAME = 'wait';
+DROP SCHEMA mysqltest;
+DROP SCHEMA mysqlsupertest;
+--connection con1
+--disconnect con1
+--source include/wait_until_disconnected.inc
+--connection default
+--enable_query_log
+
diff --git a/mysql-test/suite/perfschema/t/socket_summary_by_instance_func_win.test b/mysql-test/suite/perfschema/t/socket_summary_by_instance_func_win.test
new file mode 100644
index 00000000000..0ecb51af203
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/socket_summary_by_instance_func_win.test
@@ -0,0 +1,1722 @@
+# Some functional checks for the content of the performance_schema table
+# socket_summary_by_instance.
+#
+# Created: mleich 2011-07-01
+#
+# Rough description of "What is when tested"
+# 1. Impact of successful connect
+# A new row with EVENT_NAME "client_connection" shows up
+# is tested in 0 and 4.5.
+# 2. Impact of disconnect
+# A row with EVENT_NAME "client_connection" disappears
+# is tested in 0. and 2.
+# 3. Disabling the instrumentation for some thread causes that the
+# counter for this thread become static is tested in 4.3.
+# Nearby the beginning of this test and somewhere in the middle.
+# 4. TRUNCATE table resets the counters is tested in 5.
+# 5. Consistency within a row like MIN_* <= AVG_* <= MAX_*
+# -> include/socket_summary_check.inc which is called at
+# various places
+# 6. Consistency of the instances mentioned in socket_summary_by_event
+# and socket_summary_by_instance is checked per call of
+# include/socket_summary_check.inc
+# 7. Check if changes in counters of instances caused by actions
+# are reasonable is tested for
+# - Connects+SQL statements in 4.1 and 4.2
+# - SQL statements in 4.4
+# - Connects in 4.5
+#
+
+# Embedded server does not support the performance_schema.
+--source include/not_embedded.inc
+
+# Windows platforms only
+--source include/windows.inc
+--source include/have_perfschema.inc
+
+# The values in the performance_schema tables depend on how much communication
+# happens per SQL statement within our MTR tests. And there is a significant
+# difference between standard statement execution and execution via
+# prepared statement.
+--source include/no_protocol.inc
+
+
+#===================================
+# Set IP address defaults with respect to IPV6 support
+#
+# Set this to enable debugging output
+let $my_socket_debug_dbug= 0;
+#
+# Determine if IPV6 supported
+#
+let $check_ipv6_just_check= 1;
+--source include/check_ipv6.inc
+#
+# Determine if IPV4 mapped to IPV6 supported
+#
+let $check_ipv4_mapped_just_check= 1;
+--source include/have_ipv4_mapped.inc
+#
+# Set the localhost IP default to use when establishing connections
+let $my_localhost=127.0.0.1;
+if($check_ipv6_supported)
+{
+ let $my_localhost=::1;
+}
+if($check_ipv4_mapped_supported)
+{
+ let $my_localhost=::ffff:127.0.0.1;
+}
+#
+let $my_socket_debug_dbug= 0;
+if($my_socket_debug)
+{
+ --echo IPV6=$check_ipv6_supported, IPV4_MAPPED = $check_ipv4_mapped_supported, LOCALHOST = $my_localhost
+}
+#===================================
+
+--echo # The logging of commands and result sets is mostly disabled.
+--echo # There are some messages which help to observe the progress of the test.
+--echo # In case some check fails
+--echo # - a message about this will be printed
+--echo # - some SQL commands which show the unexpected state will be executed
+--echo # (logging enabled)
+--echo # - the test might abort
+--echo #
+
+--disable_query_log
+
+--echo # 0. Check, build or set prequisites
+#==========================================
+# Set $print_details to 1 in case you want that the exact diffs caused
+# by the execution of a statement get printed.
+# Disadvantage of printing details:
+# Even minor legimitate changes of the client - server communication can
+# cause that the test needs maintenance.
+# Advantage:
+# More thorough checks.
+# If any of the checks detects some suspicious/unexpected state than
+# $print_details will be automatically switched to 1.
+#
+let $print_details= 0;
+
+#
+# Number of attempts within the test checking the stability of counter changes.
+#
+let $loop_rounds= 10;
+
+# This test of PERFORMANCE_SCHEMA functionality is very vulnerable.
+# Ensure that we have in the moment exact one
+# - connection
+# - instance with EVENT_NAME LIKE '%client_connection'
+# - instance with EVENT_NAME LIKE '%server_tcpip_socket'
+# - instance with EVENT_NAME LIKE '%server_unix_socket'
+#=======================================================
+let $my_rules= COUNT(*) = 1;
+let $part=
+FROM performance_schema.threads
+WHERE NAME LIKE '%one_connection';
+let $wait_condition=
+SELECT $my_rules $part;
+let $wait_timeout= 5;
+--source include/wait_condition.inc
+if(!$success)
+{
+ --echo # ERROR: There must be only one user connection
+ eval
+ SELECT * $part;
+ --echo # abort
+ die;
+}
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection';
+let $wait_condition=
+SELECT $my_rules $part;
+let $wait_timeout= 5;
+--source include/wait_condition.inc
+if(!$success)
+{
+ --echo # ERROR: There must be only one instance with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ die;
+}
+# DISABLED FOR WINDOWS
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%server_unix_socket';
+let $wait_condition=
+SELECT $my_rules $part;
+let $wait_timeout= 5;
+#--source include/wait_condition.inc
+#if(!$success)
+#{
+# --echo # ERROR: There must be only one instance with this EVENT_NAME.
+# eval
+# SELECT * $part;
+# --echo # abort
+# die;
+#}
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%server_tcpip_socket';
+let $wait_condition=
+SELECT $my_rules $part;
+let $wait_timeout= 5;
+--source include/wait_condition.inc
+if(!$success)
+{
+ --echo # ERROR: There must be only one instance with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ die;
+}
+
+--disable_query_log
+
+#
+# Lower the resolution of the wait timer from the default 'CYCLE'
+# to 'NANOSECOND'.
+# Hint: The timer columns contains values in picoseconds independent
+# of the timer resolution.
+# The timer resolution has an impact on the precision of the value.
+# This should prevent the failures seen on some suspicious PB boxes where
+# - calculations exceeded the BIGINT UNSIGNED (data type of the counter columns)
+# value range.
+# - we have reached from whatever reason 20 digit values
+# The consequence for the current test is the following:
+# The common sense rule
+# In case COUNT_<A> increases than SUM_TIMER_<A> must also increase
+# is no more valid because some action might need less time than the
+# timer resolution.
+#
+let $wait_timer= `SELECT TIMER_NAME FROM performance_schema.setup_timers
+ WHERE NAME = 'wait'`;
+UPDATE performance_schema.setup_timers
+SET TIMER_NAME = 'NANOSECOND'
+WHERE NAME = 'wait';
+
+#
+# Additional SCHEMA used for
+# - detection of our "worker" session within the PROCESSLIST.
+# No other connection should use this schema as default schema.
+# - easy cleanup because auxiliary objects are stored there
+#
+CREATE SCHEMA mysqltest;
+CREATE SCHEMA mysqlsupertest;
+
+#
+# Clear summary tables of previous entries
+#
+TRUNCATE performance_schema.socket_summary_by_instance;
+TRUNCATE performance_schema.socket_summary_by_event_name;
+# Disable instrumenting of the current default session.
+# Required for check 1.1
+UPDATE performance_schema.threads
+SET INSTRUMENTED='NO' WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+#
+# Auxiliary tables for storing current values at certain points of time.
+# We store states of performance_schema.socket_summary_by_instance here
+# in order
+# - to have initial values from before some action
+# - to minimize the impact of statements used for the checks on results.
+# CREATE TEMPORARY TABLE my_socket_summary_by_instance AS
+# would be nice but some statements are not supported for temporary tables.
+#
+# DECIMAL(60,0) is used instead of BIGINT UNSIGNED. The goal is to prevent
+# errors during calculations
+# Example:
+# - A and B UNSIGNED BIGINT
+# - A < B
+# - A - B ---> Error
+# though the columns in all queries are orderd to avoid this too.
+#
+CREATE TABLE mysqltest.my_socket_summary_by_instance (
+ EVENT_NAME varchar(128) NOT NULL,
+ OBJECT_INSTANCE_BEGIN bigint(20) unsigned NOT NULL,
+ COUNT_STAR DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_WAIT DECIMAL(60,0) NOT NULL,
+ MIN_TIMER_WAIT DECIMAL(60,0) NOT NULL,
+ AVG_TIMER_WAIT DECIMAL(60,0) NOT NULL,
+ MAX_TIMER_WAIT DECIMAL(60,0) NOT NULL,
+ COUNT_READ DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_READ DECIMAL(60,0) NOT NULL,
+ MIN_TIMER_READ DECIMAL(60,0) NOT NULL,
+ AVG_TIMER_READ DECIMAL(60,0) NOT NULL,
+ MAX_TIMER_READ DECIMAL(60,0) NOT NULL,
+ SUM_NUMBER_OF_BYTES_READ DECIMAL(60,0) NOT NULL,
+ COUNT_WRITE DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ MIN_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ AVG_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ MAX_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ SUM_NUMBER_OF_BYTES_WRITE DECIMAL(60,0) NOT NULL,
+ COUNT_MISC DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ MIN_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ AVG_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ MAX_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ pk VARCHAR(20),
+ PRIMARY KEY(pk, EVENT_NAME, OBJECT_INSTANCE_BEGIN)
+) DEFAULT CHARSET=utf8;
+
+
+# The CAST(... AS DECIMAL(60,0)) prevents errors which might show up in case
+# we run with the original data type UNSIGNED BIGINT.
+CREATE TABLE mysqltest.socket_summary_by_instance_detail (
+ EVENT_NAME varchar(128) NOT NULL,
+ OBJECT_INSTANCE_BEGIN bigint(20) unsigned NOT NULL,
+ COUNT_READ DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_READ DECIMAL(60,0) NOT NULL,
+ SUM_NUMBER_OF_BYTES_READ DECIMAL(60,0) NOT NULL,
+ COUNT_WRITE DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_WRITE DECIMAL(60,0) NOT NULL,
+ SUM_NUMBER_OF_BYTES_WRITE DECIMAL(60,0) NOT NULL,
+ COUNT_MISC DECIMAL(60,0) NOT NULL,
+ SUM_TIMER_MISC DECIMAL(60,0) NOT NULL,
+ statement VARCHAR(500),
+ run INTEGER
+) DEFAULT CHARSET=utf8;
+
+#
+# Auxiliary SQL functions used to shorten some commands.
+#
+CREATE FUNCTION mysqltest.min_of_triple
+ (f1 DECIMAL(60,0), f2 DECIMAL(60,0), f3 DECIMAL(60,0))
+ RETURNS DECIMAL(60,0)
+ RETURN IF(IF(f1 < f2,f1,f2) < f3,IF(f1 < f2,f1,f2), f3);
+CREATE FUNCTION mysqltest.max_of_triple
+ (f1 DECIMAL(60,0), f2 DECIMAL(60,0), f3 DECIMAL(60,0))
+ RETURNS DECIMAL(60,0)
+ RETURN IF(IF(f1 > f2,f1,f2) > f3,IF(f1 > f2,f1,f2), f3);
+
+#
+# Auxiliary table for experiments with SELECTs earning different result sets.
+#
+CREATE TABLE mysqltest.my_aux (col1 INTEGER, col2 VARCHAR(1024), PRIMARY KEY(col1));
+INSERT INTO mysqltest.my_aux SET col1 = 0, col2 = REPEAT('a',0);
+INSERT INTO mysqltest.my_aux SET col1 = 1, col2 = REPEAT('a',0);
+INSERT INTO mysqltest.my_aux SET col1 = 2, col2 = REPEAT('a',1);
+INSERT INTO mysqltest.my_aux SET col1 = 3, col2 = REPEAT('a',1024);
+
+#
+# Auxiliary mysqltest variables used to shorten commands and to ensure
+# that we run all time the right operation.
+#
+let $truncate=
+TRUNCATE TABLE mysqltest.my_socket_summary_by_instance;
+#
+let $insert_before=
+INSERT INTO mysqltest.my_socket_summary_by_instance
+SELECT *,'Before' FROM performance_schema.socket_summary_by_instance;
+#
+let $insert_after=
+INSERT INTO mysqltest.my_socket_summary_by_instance
+SELECT *,'After' FROM performance_schema.socket_summary_by_instance;
+#
+let $insert_pseudo_before=
+INSERT INTO mysqltest.my_socket_summary_by_instance
+(EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT,
+COUNT_READ, SUM_TIMER_READ, MIN_TIMER_READ, AVG_TIMER_READ, MAX_TIMER_READ,
+SUM_NUMBER_OF_BYTES_READ,
+COUNT_WRITE, SUM_TIMER_WRITE, MIN_TIMER_WRITE, AVG_TIMER_WRITE, MAX_TIMER_WRITE,
+SUM_NUMBER_OF_BYTES_WRITE,
+COUNT_MISC, SUM_TIMER_MISC, MIN_TIMER_MISC, AVG_TIMER_MISC, MAX_TIMER_MISC,
+pk)
+SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+0, 0, 0, 0, 0,
+0, 0, 0, 0, 0,
+0,
+0, 0, 0, 0, 0,
+0,
+0, 0, 0, 0, 0,
+'Pseudo_Before'
+FROM mysqltest.my_socket_summary_by_instance t1
+WHERE OBJECT_INSTANCE_BEGIN NOT IN
+ (SELECT OBJECT_INSTANCE_BEGIN
+ FROM mysqltest.my_socket_summary_by_instance t2
+ WHERE pk = 'Before');
+#
+let $insert_delta=
+INSERT INTO mysqltest.socket_summary_by_instance_detail
+ (EVENT_NAME,OBJECT_INSTANCE_BEGIN,
+ COUNT_READ, SUM_TIMER_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE,SUM_TIMER_WRITE,SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, SUM_TIMER_MISC, statement,run)
+SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN,
+ t1.COUNT_READ - t2.COUNT_READ,
+ t1.SUM_TIMER_READ - t2.SUM_TIMER_READ,
+ t1.SUM_NUMBER_OF_BYTES_READ - t2.SUM_NUMBER_OF_BYTES_READ,
+ t1.COUNT_WRITE - t2.COUNT_WRITE,
+ t1.SUM_TIMER_WRITE - t2.SUM_TIMER_WRITE,
+ t1.SUM_NUMBER_OF_BYTES_WRITE - t2.SUM_NUMBER_OF_BYTES_WRITE,
+ t1.COUNT_MISC - t2.COUNT_MISC,
+ t1.SUM_TIMER_MISC - t2.SUM_TIMER_MISC,
+ NULL,NULL
+FROM mysqltest.my_socket_summary_by_instance t1
+JOIN mysqltest.my_socket_summary_by_instance t2
+USING (EVENT_NAME,OBJECT_INSTANCE_BEGIN)
+WHERE t1.pk = 'After' AND t2.pk LIKE '%Before';
+#
+let $get_object_instance_begin=
+SELECT OBJECT_INSTANCE_BEGIN INTO @con1_object_instance_begin
+FROM performance_schema.socket_summary_by_instance AS t1
+WHERE (EVENT_NAME,OBJECT_INSTANCE_BEGIN)
+ NOT IN (SELECT EVENT_NAME,OBJECT_INSTANCE_BEGIN
+ FROM mysqltest.my_socket_summary_by_instance AS t2
+ WHERE pk = 'Before');
+
+# Use this whenever you print data.
+let $column_list=
+RPAD(EVENT_NAME, 38, ' ') AS EVENT_NAME,
+LPAD(OBJECT_INSTANCE_BEGIN, 20, ' ') AS OBJECT_INSTANCE,
+LPAD(COUNT_READ, 7, ' ') AS CREAD,
+LPAD(SUM_TIMER_READ, 12, ' ') AS TREAD,
+LPAD(SUM_NUMBER_OF_BYTES_READ, 7, ' ') AS BREAD,
+LPAD(COUNT_WRITE, 7, ' ') AS CWRITE,
+LPAD(SUM_TIMER_WRITE, 12, ' ') AS TWRITE,
+LPAD(SUM_NUMBER_OF_BYTES_WRITE, 7, ' ') AS BWRITE,
+LPAD(COUNT_MISC, 7, ' ') AS CMISC,
+LPAD(SUM_TIMER_MISC, 13, ' ') AS TMISC,
+RPAD(STATEMENT, 50, ' ') AS STATEMENT,
+LPAD(RUN, 5, ' ') AS RUN;
+
+# Determine OBJECT_INSTANCE_BEGIN of the connection default
+# which acts as the observer
+eval $truncate;
+eval $insert_before;
+--disconnect default
+--connect (default,localhost,root,,,,)
+# --echo ########### Disconnect/Connect
+# --enable_query_log
+eval $insert_after;
+eval $get_object_instance_begin;
+SET @default_object_instance_begin = @con1_object_instance_begin;
+
+# Wait till the old default connection has disappeared
+let $wait_timeout= 5;
+let $wait_condition=
+SELECT COUNT(*) = 1
+FROM performance_schema.threads
+WHERE processlist_user = 'root';
+--source include/wait_condition.inc
+--enable_query_log
+if (!$success)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # Error: The disconnect of the old default connection
+ --echo # (user = 'root') failed. We expect to have only one connection
+ --echo # with user = 'root'. And this is our current connection.
+ SELECT * FROM performance_schema.threads
+ WHERE processlist_user = 'root';
+ --echo # abort
+ die;
+}
+
+# Disable instrumenting of the current default session.
+# Required for check 1.2
+UPDATE performance_schema.threads
+SET INSTRUMENTED='NO' WHERE PROCESSLIST_ID = CONNECTION_ID();
+
+--echo # 1. Basic checks
+--echo # 1.1 Check that the entry of the disconnected old default session really
+--echo # disappeared from performance_schema.socket_summary_by_instance.
+#===============================================================================
+# This failed at some point in history when the instrumenting for the
+# session to be disconnected was disabled.
+if(`SELECT COUNT(*) FROM performance_schema.socket_summary_by_instance
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE '%client_connection'`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # Error: The disconnected old default session did not disappear from
+ --echo # socket_summary_by_instance.
+ SELECT * FROM performance_schema.socket_summary_by_instance
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE '%client_connection';
+}
+
+TRUNCATE TABLE performance_schema.socket_summary_by_instance;
+
+--echo # 1.2 Check the base line
+#===============================
+eval $truncate;
+--source ../include/socket_summary_check.inc
+
+# --disable_query_log
+# --disable_query_log
+
+--echo # 2. Variations on Connect
+let $is_connect= 1;
+--echo # 2.1 Connect fails because the user is unknown
+--echo # length of user name = 4 character
+--echo # length of default db = 9 character
+#========================================================================
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= boot;
+--source ../include/socket_event.inc
+
+--echo # 2.2 Connect fails because the user is unknown
+--echo # length of user name = 14 character (10 more than in 2.1)
+--echo # length of default db = 9 character
+#========================================================================
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= boot0123456789;
+--source ../include/socket_event.inc
+
+--echo # 2.3 Connect should pass, host = localhost
+--echo # length of user name = 4 character
+--echo # length of default db = 9 character
+#========================================================================
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= root;
+--source ../include/socket_event.inc
+
+--echo # 2.4 Connect should pass, host = localhost
+--echo # length of user name = 4 character
+--echo # length of default db = 14 character (5 more than 2.3)
+#========================================================================
+let $connect_host= localhost;
+let $connect_db= mysqlsupertest;
+let $connect_user= root;
+--source ../include/socket_event.inc
+
+--echo # 2.5 Connect should pass, host = localhost
+--echo # length of user name = 10 character
+--echo # length of default db = 9 character
+#========================================================================
+GRANT ALL PRIVILEGES ON *.* TO 'root012345'@'localhost';
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= root012345;
+--source ../include/socket_event.inc
+DROP USER 'root012345'@'localhost';
+
+--echo # 2.6 Connect should pass, host = localhost
+--echo # length of user name = 14 character
+--echo # length of default db = 9 character
+#========================================================================
+GRANT ALL PRIVILEGES ON *.* to 'root0123456789'@'localhost';
+let $connect_host= localhost;
+let $connect_db= mysqltest;
+let $connect_user= root0123456789;
+--source ../include/socket_event.inc
+DROP USER 'root0123456789'@'localhost';
+
+--echo # 2.7 Connect should pass, host = my_localhost
+--echo # length of user name = 4 character
+--echo # length of default db = 9 character
+--echo # connection runs through server_tcpip_socket !
+#========================================================================
+let $connect_host= $my_localhost;
+let $connect_db= mysqltest;
+let $connect_user= root;
+--source ../include/socket_event.inc
+
+#========================================================================
+--connect (con1,localhost,root,,mysqltest,,)
+# Experiments showed some unexpected result in the counter difference
+# which got con1 for the next statement (see 3.1).
+# The measured diff was too high and was probably caused by some
+# too much delayed counter maintenance for the connect.
+# We run here just some SQL statement because counter maintenance
+# for SQL statements is more fast and reliable than far Connect.
+DO 1;
+--connection default
+--source ../include/wait_till_sleep.inc
+--disable_query_log
+
+--echo # 3 Variations on SELECT
+# Attention: Don't use
+# - any double quotes within the statements because sourced scripts
+# already "decorate" $variables with double quotes
+# - UNION because this leads to result set related byte write
+# counters which cannot good compared to select without union
+let $is_connect= 0;
+eval $get_object_instance_begin;
+--echo # 3.1 Check a SELECT ending with server sending an error message.
+--echo # Error message is short (unknown table).
+#========================================================================
+let $statement= SELECT col2 FROM does_not_exist;
+--source ../include/socket_event.inc
+
+--echo # 3.2 SELECT ending with server sending an error message.
+--echo # Now the statement is a bit longer but the error message
+--echo # length does again not depend on statement.
+#=======================================================================
+let $statement= SELECT col2 FROM does_not_exist WHERE col1 = 0;
+--source ../include/socket_event.inc
+
+--echo # 3.3 SELECT ending with server sending an error message.
+--echo # The statement has the same length like in 3.2 but the error
+--echo # message is now different and much longer.
+#=======================================================================
+let $statement= SELECT col2 FROM does_not_exist WHERE col1 A 0;
+--source ../include/socket_event.inc
+
+--echo # 3.4 SELECT ending with server sending an error message.
+--echo # Statement and error message are a bit longer than in 3.1
+--echo # because the table name is longer.
+#=======================================================================
+let $statement= SELECT col2 FROM does_not_exist0123;
+--source ../include/socket_event.inc
+
+--echo # 3.5 SELECT earning an empty result set.
+#=======================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1;
+--source ../include/socket_event.inc
+
+--echo # 3.6 SELECT earning an empty result set.
+--echo # Short column name is replaced by longer alias.
+#==========================================================
+let $statement= SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1;
+--source ../include/socket_event.inc
+
+--echo # 3.7 SELECT earning one row with an empty string.
+#================================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+--source ../include/socket_event.inc
+
+--echo # 3.8 SELECT earning one row with one string one char long.
+#=========================================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2;
+--source ../include/socket_event.inc
+
+--echo # 3.9 SELECT earning one row with one string 1024 char long.
+#==========================================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3;
+--source ../include/socket_event.inc
+
+--echo # 3.10 SELECT earning two rows with an empty string
+#==========================================================================
+let $statement= SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2;
+--source ../include/socket_event.inc
+
+--echo # 3.11 Check that the preceding Connects/SQL command runs have not
+--echo # caused some unexpected state.
+#==========================================================================
+let $my_rules= COUNT(*) = 2;
+let $part=
+FROM performance_schema.threads
+WHERE NAME LIKE '%one_connection';
+if(`SELECT NOT ( $my_rules ) $part `)
+{
+ --echo # ERROR: There must be only two user connections
+ eval
+ SELECT * $part;
+ --echo # abort
+ die;
+}
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%client_connection';
+if(`SELECT NOT ( $my_rules ) $part `)
+{
+ --echo # ERROR: There must be only two instances with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ die;
+}
+let $my_rules= COUNT(*) = 1;
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%server_unix_socket';
+#DISABLED FOR WINDOWS
+#if(`SELECT NOT ( $my_rules ) $part `)
+if (0)
+{
+ --echo # ERROR: There must be only one instance with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ die;
+}
+let $part=
+FROM performance_schema.socket_summary_by_instance
+WHERE EVENT_NAME LIKE '%server_tcpip_socket';
+if(`SELECT NOT ( $my_rules ) $part `)
+{
+ --echo # ERROR: There must be only one instance with this EVENT_NAME.
+ eval
+ SELECT * $part;
+ --echo # abort
+ die;
+}
+
+--echo # 4. Check delta (value_after_action - value_before_action) details
+# 4.0 . Negative deltas cannot have happened because the counter columns within
+# socket_summary_by_instance_detail are defined as UNSIGNED BIGINT.
+# = The INSERT which computes the diff would have been failed.
+--echo # 4.1 Check that
+--echo # - no change in COUNT_* leads to no change in
+--echo # SUM_TIMER_* and no change in SUM_NUMBER_OF_BYTES_*
+--echo # - increased COUNT_READ leads to increased
+--echo # SUM_NUMBER_OF_BYTES_READ
+--echo # - increased COUNT_WRITE leads to increased
+--echo # SUM_NUMBER_OF_BYTES_WRITE
+--echo # Attention:
+--echo # The time required for some action might be below timer resolution.
+--echo # Therefore some increased COUNT_* does not need to lead to an
+--echo # increased SUM_TIMER_*.
+#==========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET SUM_TIMER_MISC = 13, COUNT_MISC = 0
+ WHERE statement LIKE '%WHERE col1 = 3'
+ AND EVENT_NAME LIKE '%client_connection'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+((COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0)
+ OR
+ (COUNT_READ > 0 AND SUM_NUMBER_OF_BYTES_READ > 0))
+AND
+((COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0)
+ OR
+ (COUNT_WRITE > 0 AND SUM_NUMBER_OF_BYTES_WRITE > 0))
+AND
+((COUNT_MISC = 0 AND SUM_TIMER_MISC = 0)
+ OR
+(COUNT_MISC > 0));
+if(`SELECT COUNT(*) FROM mysqltest.socket_summary_by_instance_detail
+ WHERE NOT ( $my_rules ) `)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE NOT ( $my_rules )
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE, STATEMENT, RUN;
+ let $print_details= 1;
+}
+
+--echo # 4.2 Results must be stable
+#==========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_WRITE = 13
+ WHERE statement LIKE '%WHERE col1 = 3'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE '%client_connection'
+ LIMIT 1;
+ --disable_info
+}
+
+# eval
+# SELECT
+# $column_list
+# FROM mysqltest.socket_summary_by_instance_detail
+# WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+# ORDER BY EVENT_NAME, statement,run;
+
+# In case we are able to wait all time till perfschema has finished the
+# maintenance of counters than the following must be valid.
+let $my_rules=
+COUNT(DISTINCT SUM_NUMBER_OF_BYTES_READ) = 1 AND
+COUNT(DISTINCT COUNT_WRITE) = 1 AND
+COUNT(DISTINCT SUM_NUMBER_OF_BYTES_WRITE) = 1;
+
+# In case we do not get the results somehow deterministic than we
+# we should go with the less strict check based on CV.
+#
+# Compute coefficient of variation (CV) to detect 'notable' variances in the
+# byte count and operation counts. The acceptable range for the CV is purely
+# subjective, however, the CV is a dimensionless quantity therefore valid
+# across platforms.
+# let $my_rules=
+# STD(COUNT_READ)/AVG(COUNT_READ) <= 0.2 AND
+# STD(SUM_NUMBER_OF_BYTES_READ)/AVG(SUM_NUMBER_OF_BYTES_READ) <= 0.2 AND
+# STD(COUNT_WRITE)/AVG(COUNT_WRITE) <= 0.2 AND
+# STD(SUM_NUMBER_OF_BYTES_WRITE)/AVG(SUM_NUMBER_OF_BYTES_WRITE) <= 0.2 AND
+# STD(COUNT_MISC)/AVG(COUNT_MISC) <= 0.4;
+
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+GROUP BY EVENT_NAME, statement
+HAVING NOT ($my_rules) ;
+if(`SELECT COUNT(statement) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for GROUP BY EVENT_NAME, statement
+ eval
+ SELECT $column_list
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND (EVENT_NAME, statement)
+ IN (SELECT EVENT_NAME, statement
+ $part)
+ ORDER BY EVENT_NAME, statement, run, OBJECT_INSTANCE_BEGIN;
+ let $print_details= 1;
+}
+
+--echo # 4.3 Counters must be 0 in client_connection for the default session
+--echo # Instrumenting is disabled since a long time and the counter were
+--echo # reset via TRUNCATE just after the disabling.
+#==========================================================================
+let $my_rules=
+COUNT_STAR = 0 AND SUM_TIMER_WAIT = 0
+AND
+COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0
+AND
+COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0
+AND
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+if(`SELECT COUNT(*) FROM performance_schema.socket_summary_by_instance
+ WHERE NOT ( $my_rules )
+ AND OBJECT_INSTANCE_BEGIN = @default_object_instance_begin`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ # Attention: We use here performance_schema.socket_summary_by_instance
+ # and not mysqltest.socket_summary_by_instance_detail.
+ # Therefore the convenient $column_list cannot be used.
+ eval
+ SELECT
+ COUNT_STAR, SUM_TIMER_WAIT,
+ COUNT_READ,SUM_TIMER_READ,SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE,SUM_TIMER_WRITE,SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC,SUM_TIMER_MISC
+ FROM performance_schema.socket_summary_by_instance
+ WHERE OBJECT_INSTANCE_BEGIN = @default_object_instance_begin;
+ let $print_details= 1;
+}
+
+#---------------------------------------------------------------------------
+
+--echo # 4.4 Check the differences caused by SQL statements
+--echo # 4.4.1 There must be no changes in counters of instances
+--echo # NOT LIKE '%client_connection' because everything gets charged
+--echo # into client_connection of the acting connection.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_WRITE = 13
+ WHERE statement LIKE '%WHERE col1 = 3'
+ AND EVENT_NAME NOT LIKE '%client_connection'
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0
+AND
+COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0
+AND
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+ WHERE NOT ( $my_rules )
+ AND EVENT_NAME NOT LIKE '%client_connection'
+ AND statement NOT LIKE 'Connect%';
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN, statement, run;
+ let $print_details= 1;
+}
+
+--echo # 4.4.2 In case of SELECT and our scenarios even COUNT_READ and COUNT_MISC
+--echo # are stable.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_READ = 13
+ WHERE statement LIKE '%WHERE col1 = 3'
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT(DISTINCT COUNT_READ) = 1 AND
+COUNT(DISTINCT COUNT_MISC) = 1;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement NOT LIKE '%Connect%'
+GROUP BY EVENT_NAME, statement
+HAVING NOT ($my_rules) ;
+if(`SELECT COUNT(statement) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for GROUP BY EVENT_NAME, statement
+ eval
+ SELECT $column_list
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND (EVENT_NAME, statement)
+ IN (SELECT EVENT_NAME, statement
+ $part)
+ ORDER BY EVENT_NAME, statement, run, OBJECT_INSTANCE_BEGIN;
+ let $print_details= 1;
+}
+
+--echo # 4.4.3 In our testing scenarios we get for the client_connection entry
+--echo # of the acting connection
+--echo # -> OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+--echo # COUNT_MISC = 0 AND SUM_TIMER_MISC = 0
+--echo # SKIPPED FOR WINDOWS
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 13
+ WHERE statement LIKE '%WHERE col1 = 3'
+ AND EVENT_NAME LIKE '%client_connection'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE NOT ( $my_rules )
+ AND EVENT_NAME LIKE '%client_connection'
+ AND statement NOT LIKE 'Connect%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
+#if(`SELECT COUNT(*) $part`)
+if (0)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part
+ ORDER BY EVENT_NAME, OBJECT_INSTANCE_BEGIN, statement, run;
+ let $print_details= 1;
+}
+
+# Initialize variables
+let $my_rules= my_rules_not_set;
+let $stmt1= stmt1_not_set;
+let $stmt2= stmt2_not_set;
+# $title_prefix is used for the generation of titles
+let $title_prefix= 4.4;
+# $check_num is used for the generation of titles and gets incremented after
+# every call of the current script.
+let $check_num= 4;
+# $column_list is used for the generation of error information and valid for
+# every sub test.
+let $diff_column_list=
+t2.COUNT_READ - t1.COUNT_READ AS D_COUNT_READ,
+t2.COUNT_READ AS S2_COUNT_READ,
+t1.COUNT_READ AS S1_COUNT_READ,
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ AS D_SUM_NUMBER_OF_BYTES_READ,
+t2.SUM_NUMBER_OF_BYTES_READ AS S2_SUM_NUMBER_OF_BYTES_READ,
+t1.SUM_NUMBER_OF_BYTES_READ AS S1_SUM_NUMBER_OF_BYTES_READ,
+t2.COUNT_WRITE - t1.COUNT_WRITE AS D_COUNT_WRITE,
+t2.COUNT_WRITE AS S2_COUNT_WRITE,
+t1.COUNT_WRITE AS S1_COUNT_WRITE,
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE AS D_SUM_NUMBER_OF_BYTES_WRITE,
+t2.SUM_NUMBER_OF_BYTES_WRITE AS S2_SUM_NUMBER_OF_BYTES_WRITE,
+t1.SUM_NUMBER_OF_BYTES_WRITE AS S1_SUM_NUMBER_OF_BYTES_WRITE,
+t2.COUNT_MISC - t1.COUNT_MISC AS D_COUNT_MISC,
+t2.COUNT_MISC AS S2_COUNT_MISC,
+t1.COUNT_MISC AS S1_COUNT_MISC;
+# $part is used for the generation of "check" statements + error information
+# and valid for every sub test.
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail t1
+JOIN mysqltest.socket_summary_by_instance_detail t2
+USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run)
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND run = 1;
+
+--echo # Check the differences between changes caused by SQL statements
+--echo # These differences must correspond to parameters like
+--echo # - statement, table name or column name length
+--echo # - number of rows in result set, size of rows in result set etc.
+# --> Statement NOT LIKE '%Connect%'
+
+let stmt1= SELECT col2 FROM does_not_exist;
+let stmt2= SELECT col2 FROM does_not_exist WHERE col1 = 0;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 36 1 59 1 SELECT col2 FROM does_not_exist
+# 3 51 1 59 1 SELECT col2 FROM does_not_exist WHERE col1 = 0
+# The string of the statement gets charged into SUM_NUMBER_OF_BYTES_READ.
+# The server error message gets charged into SUM_NUMBER_OF_BYTES_WRITE.
+let $msg=
+# One statement is longer than the other.
+# Both statements fail with the same error message (table does not exist);
+#
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE = 0 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt1= SELECT col2 FROM does_not_exist WHERE col1 = 0;
+let $stmt2= SELECT col2 FROM does_not_exist WHERE col1 A 0;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 51 1 59 1 SELECT col2 FROM does_not_exist WHERE col1 = 0
+# 3 51 1 162 1 SELECT col2 FROM does_not_exist WHERE col1 A 0
+let $msg=
+# Both statements have the same length and fail.
+# The length of the error messages differs.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE > 0 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt1= SELECT col2 FROM does_not_exist;
+let $stmt2= SELECT col2 FROM does_not_exist0123;
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 36 1 59 1 SELECT col2 FROM does_not_exist
+# 3 40 1 63 1 SELECT col2 FROM does_not_exist0123
+let $msg=
+# Both statements fail (table does not exist).
+# The length of the statement and the length of the error messages differs.
+# Reason for both differences is the length of the table name.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+# Assuming that some new check should be added.
+# How to enforce that a lot info is printed so that it becomes easy to derive
+# the right value for $my_rules?
+#----------------------------------------------------------------------------
+# let $my_rules= 0;
+# This will cause that suite/perfschema/include/socket_check1.inc concludes that
+# the check via $my_rules failed and it will print debug information.
+# let $stmt1= SELECT col2 FROM does_not_exist WHERE col1 = 0;
+# let $stmt2= SELECT col2 FROM does_not_exist WHERE col1 A 0;
+# let $my_rules= 0;
+# --source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 54 1 78 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1
+# 3 70 1 86 1 SELECT col2 AS my_super_col FROM mysqltest.my_aux WHERE col1 = -1
+let $msg=
+# Both statements get an empty result set.
+# The length of the statements and the length of the result sets differs.
+# Reason for both differences is the length of the some column name.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE = LENGTH('my_super_col') - LENGTH('col2') AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# t1 3 54 1 78 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = -1
+# t2 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+let $msg=
+# Both statements differ in the statement length.
+# One statement earns an empty result set.
+# The other statement earns one row containing an empty string.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t1.SUM_NUMBER_OF_BYTES_READ - t2.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt1') - LENGTH('$stmt2') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE > 0 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# 3 53 1 84 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 2
+let $msg=
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns one row containing a string 1 byte long.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE = 1 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# 3 53 1 1109 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3
+let $msg=
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns one row containing a string 1024 byte long.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE >= 1024 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2;
+let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1;
+#
+# CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement
+# t1 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1
+# t2 3 53 1 88 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 < 2
+let $msg=
+# Both statements have the same length.
+# One statement earns an one row containing an empty string.
+# The other statement earns two rows containing an empty string.;
+let $my_rules=
+t2.COUNT_READ - t1.COUNT_READ = 0 AND
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1') AND
+t2.COUNT_WRITE - t1.COUNT_WRITE = 0 AND
+t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE > 0 AND
+t2.COUNT_MISC - t1.COUNT_MISC = 0;
+--source ../include/socket_check1.inc
+
+--echo # 4.5 Check the differences caused by Connects
+--echo # Attention: Succesful Connects run an additional "DO 1".
+--echo # 4.5.1 Connects do not charge anything into READ or WRITE counters
+--echo # of the instance with EVENT_NAME NOT LIKE ('%client_connection%').
+--echo # This mean all these counters must be 0.
+let $my_rules=
+COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0 AND
+COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%')
+ AND EVENT_NAME NOT LIKE ('%client_connection%')
+ AND NOT ( $my_rules );
+if(`SELECT COUNT(*) $part `)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.2 Connects using for host the value 'localhost'
+--echo # 4.5.2.1 For the instance with EVENT_NAME LIKE '%server_tcpip_socket'
+--echo # COUNT_MISC = 0 AND SUM_TIMER_MISC = 0 must be valid
+--echo # because we run through server_unix_socket.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 13
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%localhost%')
+ AND EVENT_NAME LIKE ('%server_tcpip_socket%')
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%localhost%')
+ AND EVENT_NAME LIKE ('%server_tcpip_socket%')
+ AND NOT ( $my_rules );
+#if(`SELECT COUNT(*) $part `)
+# DISABLED FOR WINDOWS
+if (0)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.2.2 For the instance with EVENT_NAME LIKE '%server_unix_socket'
+--echo # COUNT_MISC > 0 must be valid.
+--echo # SKIPPED FOR WINDOWS
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 0
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%localhost%')
+ AND EVENT_NAME LIKE ('%server_unix_socket%')
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC > 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%localhost%')
+ AND EVENT_NAME LIKE ('%server_unix_socket%')
+ AND NOT ( $my_rules );
+#if(`SELECT COUNT(*) $part `)
+if (0)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.3 Connects using for host a value <> 'localhost'
+--echo # 4.5.3.1 For the instance with EVENT_NAME LIKE '%server_unix_socket'
+--echo # COUNT_MISC = 0 AND SUM_TIMER_MISC = 0 must be valid
+--echo # because we run through server_tcpip_socket.
+--echo # SKIPPED FOR WINDOWS
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ eval
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 13
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%server_unix_socket%')
+ AND statement LIKE ('%Connect%$my_localhost%')
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%$my_localhost%')
+ AND EVENT_NAME LIKE ('%server_unix_socket%')
+ AND NOT ( $my_rules );
+#if(`SELECT COUNT(*) $part `)
+if (0)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.3.2 For the instance with EVENT_NAME LIKE '%server_tcpip_socket'
+--echo # COUNT_MISC > 0 must be valid.
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ eval
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET COUNT_MISC = 0
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%$my_localhost%')
+ AND EVENT_NAME LIKE ('%server_tcpip_socket%')
+ LIMIT 1;
+ --disable_info
+}
+
+let $my_rules=
+COUNT_MISC > 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('%Connect%$my_localhost%')
+ AND EVENT_NAME LIKE ('%server_tcpip_socket%')
+ AND NOT ( $my_rules );
+if(`SELECT COUNT(*) $part `)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.4 Failing Connects do not cause any row with EVENT_NAME
+--echo # LIKE '%client_connection'
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ eval
+ UPDATE mysqltest.socket_summary_by_instance_detail
+ SET statement = 'Connect boot '
+ WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('Connect%root%')
+ AND EVENT_NAME LIKE ('%client_connection')
+ LIMIT 1;
+ --disable_info
+}
+
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('Connect%boot%')
+ AND EVENT_NAME LIKE ('%client_connection');
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect that there are no rows because
+ --echo # - failing connects do not cause a row with "client_connection"
+ --echo # - all failing connects contain a user name LIKE '%boot%'
+ eval
+ SELECT
+ $column_list
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.5.5 Successful Connects cause a new instance with EVENT_NAME
+--echo # LIKE '%client_connection'
+#===========================================================================
+# Enable the following lines for debugging the check.
+# Attention: socket_summary_by_instance_detail is after that rotten.
+if(0)
+{
+ --enable_info
+ DELETE
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE ('%client_connection')
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('Connect%root%')
+ LIMIT 1;
+ --disable_info
+}
+
+# - connects which should be successful have statement LIKE ('Connect%root%').
+# - We try every type of Connect $loop_rounds times.
+# Therefore we should find $loop_rounds rows with
+# - EVENT_NAME LIKE ('%client_connection')
+# AND
+# - OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+# We do not want to count the entry of belonging to the default connection.
+# AND
+# - statement LIKE ('Connect%root%')
+# The connects which should be successful.
+#
+let $my_rules=
+COUNT(*) = $loop_rounds;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE EVENT_NAME LIKE ('%client_connection')
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement LIKE ('Connect%root%')
+GROUP BY statement
+HAVING NOT ( $my_rules );
+
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for GROUP BY statement
+ --echo #
+ eval
+ SELECT
+ $column_list
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE ('%client_connection')
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND statement IN
+ (SELECT statement
+ $part);
+ let $print_details= 1;
+}
+
+--echo # 4.6 Check the differences caused by Connects
+--echo # - INSTANCES with an EVENT_NAME like server_tcpip_socket or
+--echo # server_unix_socket are already checked
+--echo # - the stability of results is already checked
+--echo # So we con go with the results of the first run.
+
+# Typical content of mysqltest.socket_summary_by_instance_detail
+#
+# eval
+# SELECT $column_list
+# FROM mysqltest.socket_summary_by_instance_detail
+# WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+# AND EVENT_NAME LIKE ('%client_connection')
+# AND statement LIKE ('Connect%')
+# AND run = 1
+# ORDER BY event_name,statement, run;
+# CREAD TREAD BREAD CWRITE TWRITE BWRITE CMISC TMISC STATEMENT
+# 4 6149616 79 3 34008480 117 3 38914128 Connect (con*,::ffff:127.0.0.1,root,,mysqltest,,)
+# 4 7012368 84 3 10112256 117 2 43067376 Connect (con*,localhost,root,,mysqlsupertest,,)
+# 4 7172880 79 3 10247688 117 2 40128000 Connect (con*,localhost,root,,mysqltest,,)
+# 4 6706392 85 3 15509472 117 2 34851168 Connect (con*,localhost,root012345,,mysqltest,,)
+# 4 10543632 89 3 10578744 117 2 39460872 Connect (con*,localhost,root0123456789,,mysqltest,,)
+
+--echo # 4.6.1 The SUM_OF_BYTES_WRITE value is the same for all Connects.
+#========================================================================
+let $my_rules= COUNT(DISTINCT SUM_NUMBER_OF_BYTES_WRITE) = 1;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND statement LIKE ('Connect%')
+ AND run = 1;
+if(`SELECT NOT ( $my_rules) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for all Connects
+ --echo #
+ eval
+ SELECT
+ statement, SUM_NUMBER_OF_BYTES_WRITE
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.6.2 The SUM_OF_BYTES_WRITE value hast to be > 100.
+#============================================================
+let $my_rules= SUM_NUMBER_OF_BYTES_WRITE > 100;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND statement LIKE ('Connect%')
+ AND NOT ( $my_rules )
+ AND run = 1;
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for all Connects
+ --echo #
+ eval
+ SELECT
+ statement, SUM_NUMBER_OF_BYTES_WRITE
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.6.3 COUNT_READ, COUNT_WRITE and COUNT_MISC have to be to be > 0
+#=========================================================================
+let $my_rules=
+COUNT_READ > 0 AND COUNT_WRITE > 0 AND COUNT_MISC > 0;
+let $part=
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND statement LIKE ('Connect%')
+ AND NOT ( $my_rules )
+ AND run = 1;
+if(`SELECT COUNT(*) $part`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo # for all Connects
+ --echo #
+ eval
+ SELECT
+ statement, COUNT_READ, COUNT_WRITE, COUNT_MISC
+ $part;
+ let $print_details= 1;
+}
+
+--echo # 4.6.4 Checks based on comparison of results for connects
+let $part0=
+FROM mysqltest.socket_summary_by_instance_detail t1
+JOIN mysqltest.socket_summary_by_instance_detail t2
+USING (EVENT_NAME, run)
+WHERE EVENT_NAME LIKE ('%client_connection')
+ AND run = 1
+ AND t2.OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND t1.OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
+let $part1=
+SELECT RPAD(statement,55,' ') AS STATEMENT,
+ LENGTH(statement), SUM_NUMBER_OF_BYTES_READ
+FROM mysqltest.socket_summary_by_instance_detail
+WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ AND EVENT_NAME LIKE ('%client_connection')
+ AND run = 1;
+
+
+--echo # 4.6.4 The user name length affects the SUM_OF_BYTES_READ value
+#======================================================================
+# CREAD TREAD BREAD CWRITE TWRITE BWRITE CMISC TMISC STATEMENT
+# 4 6706392 85 3 15509472 117 2 34851168 Connect (con*,localhost,root012345,,mysqltest,,)
+# 4 10543632 89 3 10578744 117 2 39460872 Connect (con*,localhost,root0123456789,,mysqltest,,)
+let $stmt2= Connect (con*,localhost,root0123456789,,mysqltest,,);
+let $stmt1= Connect (con*,localhost,root012345,,mysqltest,,);
+let $my_rules=
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1');
+if(`SELECT NOT ($my_rules)
+ $part0
+ AND t2.statement = '$stmt2'
+ AND t1.statement = '$stmt1'`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ $part1
+ AND statement IN('$stmt2','$stmt1');
+ let $print_details= 1;
+}
+
+--echo # 4.6.5 The database name length affects the SUM_OF_BYTES_READ value
+#==========================================================================
+# CREAD TREAD BREAD CWRITE TWRITE BWRITE CMISC TMISC STATEMENT
+# 4 7012368 84 3 10112256 117 2 43067376 Connect (con*,localhost,root,,mysqlsupertest,,)
+# 4 7172880 79 3 10247688 117 2 40128000 Connect (con*,localhost,root,,mysqltest,,)
+let $stmt2= Connect (con*,localhost,root,,mysqlsupertest,,);
+let $stmt1= Connect (con*,localhost,root,,mysqltest,,);
+let $my_rules=
+t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ = LENGTH('$stmt2') - LENGTH('$stmt1');
+if(`SELECT NOT ($my_rules)
+ $part0
+ AND t2.statement = '$stmt2'
+ AND t1.statement = '$stmt1'`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ $part1
+ AND statement IN('$stmt2','$stmt1');
+ let $print_details= 1;
+}
+
+--echo # 5. Check the impact of TRUNCATE on socket_summary_by_instance.
+--echo # It must reset all counters.
+#=======================================================================
+# We do not need to check if the majority of counters is <> 0 because if
+# we ever hit such a bad state than a lot of the preceding checks would
+# have already failed and reported this.
+TRUNCATE TABLE performance_schema.socket_summary_by_instance;
+let $my_rules=
+COUNT_STAR = 0 AND SUM_TIMER_WAIT = 0
+AND
+COUNT_READ = 0 AND SUM_TIMER_READ = 0 AND SUM_NUMBER_OF_BYTES_READ = 0
+AND
+COUNT_WRITE = 0 AND SUM_TIMER_WRITE = 0 AND SUM_NUMBER_OF_BYTES_WRITE = 0
+AND
+COUNT_MISC = 0 AND SUM_TIMER_MISC = 0;
+if(`SELECT COUNT(*) FROM performance_schema.socket_summary_by_instance
+ WHERE NOT ( $my_rules )
+ AND OBJECT_INSTANCE_BEGIN = @default_object_instance_begin`)
+{
+ --enable_query_log
+ --enable_result_log
+ --echo # The statistics looks suspicious.
+ --echo # We expect
+ --echo # $my_rules
+ --echo #
+ eval
+ SELECT
+ COUNT_STAR, SUM_TIMER_WAIT,
+ COUNT_READ,SUM_TIMER_READ,SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE,SUM_TIMER_WRITE,SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC,SUM_TIMER_MISC
+ FROM performance_schema.socket_summary_by_instance
+ WHERE OBJECT_INSTANCE_BEGIN = @default_object_instance_begin;
+}
+
+
+if($print_details)
+{
+ --enable_query_log
+ --enable_result_log
+ --horizontal_results
+ --echo # Dump detailed differences after - before statement execution
+ --echo # 1. The statement executing connection and hopefully no one else
+ SELECT @default_object_instance_begin;
+ SELECT EVENT_NAME, OBJECT_INSTANCE_BEGIN,
+ COUNT_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE, SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, statement
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE '%client_connection%'
+ AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
+ ORDER BY statement, run;
+ --echo # 2. The connection default
+ SELECT EVENT_NAME,
+ COUNT_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE, SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, statement
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE OBJECT_INSTANCE_BEGIN = @default_object_instance_begin
+ ORDER BY statement,run;
+ --echo # 3. The "server_unix_socket"
+ # WHERE OBJECT_INSTANCE_BEGIN = @default_object_instance_begin
+ SELECT EVENT_NAME,
+ COUNT_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE, SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, statement
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE '%server_unix_socket%'
+ ORDER BY statement,run;
+ --echo # 4. The "server_tcpip_socket"
+ SELECT EVENT_NAME,
+ COUNT_READ, SUM_NUMBER_OF_BYTES_READ,
+ COUNT_WRITE, SUM_NUMBER_OF_BYTES_WRITE,
+ COUNT_MISC, statement
+ FROM mysqltest.socket_summary_by_instance_detail
+ WHERE EVENT_NAME LIKE '%server_tcpip_socket%'
+ ORDER BY statement,run;
+ --echo # 5. mysqltest.my_socket_summary_by_instance
+ --vertical_results
+ SELECT * FROM mysqltest.my_socket_summary_by_instance;
+ --horizontal_results
+}
+
+--echo # 6. Cleanup
+#==================
+# Cleanup
+--disable_query_log
+eval
+UPDATE performance_schema.setup_timers
+SET TIMER_NAME = '$wait_timer'
+WHERE NAME = 'wait';
+DROP SCHEMA mysqltest;
+DROP SCHEMA mysqlsupertest;
+--connection con1
+--disconnect con1
+--source include/wait_until_disconnected.inc
+--connection default
+--enable_query_log
+
diff --git a/mysql-test/suite/perfschema/t/stage_mdl_function.test b/mysql-test/suite/perfschema/t/stage_mdl_function.test
new file mode 100644
index 00000000000..3cd0c62fc08
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/stage_mdl_function.test
@@ -0,0 +1,63 @@
+# Tests for the performance schema
+#
+
+--source ../include/stage_setup.inc
+
+connect (con1, localhost, user1, , );
+
+--disable_warnings
+drop function if exists test.f1;
+--enable_warnings
+
+create function test.f1() returns int
+ return 1;
+
+begin;
+select test.f1();
+
+connect (con2, localhost, user2, , );
+
+# Will wait on con1, "Waiting for stored function metadata lock"
+--send
+drop function test.f1;
+
+--connection default
+
+# user1: Wait for the statement to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user1'
+ and PROCESSLIST_COMMAND = 'Sleep';
+--source include/wait_condition.inc
+
+# user2: Wait for the drop function to block
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user2'
+ and PROCESSLIST_STATE = 'Waiting for stored function metadata lock';
+--source include/wait_condition.inc
+
+call dump_one_thread('user1');
+call dump_one_thread('user2');
+
+--connection con1
+select f1();
+commit;
+
+--disconnect con1
+
+--connection con2
+--reap
+
+--disconnect con2
+
+--connection default
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+--source ../include/stage_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/stage_mdl_global-master.opt b/mysql-test/suite/perfschema/t/stage_mdl_global-master.opt
new file mode 100644
index 00000000000..a00258bc48c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/stage_mdl_global-master.opt
@@ -0,0 +1 @@
+--query_cache_type=1
diff --git a/mysql-test/suite/perfschema/t/stage_mdl_global.test b/mysql-test/suite/perfschema/t/stage_mdl_global.test
new file mode 100644
index 00000000000..8863d2da903
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/stage_mdl_global.test
@@ -0,0 +1,54 @@
+# Tests for the performance schema
+#
+
+--source ../include/stage_setup.inc
+
+connect (con1, localhost, user1, , );
+
+flush tables with read lock;
+
+connect (con2, localhost, user2, , );
+
+# Will wait on con1, "Waiting for global read lock"
+--send
+insert into test.t1 values (1), (2), (3);
+
+--connection default
+
+# user1: Wait for the statement to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user1'
+ and PROCESSLIST_COMMAND = 'Sleep';
+--source include/wait_condition.inc
+
+# user2: Wait for the insert to block
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user2'
+ and PROCESSLIST_STATE = 'Waiting for global read lock';
+--source include/wait_condition.inc
+
+call dump_one_thread('user1');
+call dump_one_thread('user2');
+
+--connection con1
+unlock tables;
+
+--disconnect con1
+
+--connection con2
+--reap
+
+--disconnect con2
+
+--connection default
+
+# Wait for the disconnects to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+--source ../include/stage_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/stage_mdl_procedure.test b/mysql-test/suite/perfschema/t/stage_mdl_procedure.test
new file mode 100644
index 00000000000..7d9dc6d80eb
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/stage_mdl_procedure.test
@@ -0,0 +1,79 @@
+# Tests for the performance schema
+#
+
+--source ../include/stage_setup.inc
+
+connect (con1, localhost, user1, , );
+
+--disable_warnings
+drop function if exists test.f1;
+drop procedure if exists test.p1;
+--enable_warnings
+
+delimiter $$;
+
+create function test.f1() returns int
+begin
+ call test.p1();
+ return 1;
+end
+$$
+
+delimiter ;$$
+
+create procedure test.p1()
+begin end;
+
+begin;
+# The procedure is in a sub statement,
+# so that the current transaction keeps a reference to it.
+select test.f1();
+
+connect (con2, localhost, user2, , );
+
+# Will wait on con1, "Waiting for stored procedure metadata lock"
+--send
+drop procedure test.p1;
+
+--connection default
+
+# user1: Wait for the statement to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user1'
+ and PROCESSLIST_COMMAND = 'Sleep';
+--source include/wait_condition.inc
+
+# user2: Wait for the drop procedure to block
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user2'
+ and PROCESSLIST_STATE = 'Waiting for stored procedure metadata lock';
+--source include/wait_condition.inc
+
+call dump_one_thread('user1');
+call dump_one_thread('user2');
+
+--connection con1
+select test.f1();
+commit;
+
+--disconnect con1
+
+--connection con2
+--reap
+
+--disconnect con2
+
+--connection default
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+drop function test.f1;
+
+--source ../include/stage_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/stage_mdl_table.test b/mysql-test/suite/perfschema/t/stage_mdl_table.test
new file mode 100644
index 00000000000..b522f51a68e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/stage_mdl_table.test
@@ -0,0 +1,59 @@
+# Tests for the performance schema
+#
+
+--source ../include/stage_setup.inc
+
+connect (con1, localhost, user1, , );
+
+begin;
+insert into test.t1 values (1), (2), (3);
+commit;
+
+begin;
+select * from test.t1 for update;
+
+connect (con2, localhost, user2, , );
+
+# Will wait on con1, "Waiting for table metadata lock"
+--send
+alter table test.t1 add column (b int);
+
+--connection default
+
+# user1: Wait for the statement to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user1'
+ and PROCESSLIST_COMMAND = 'Sleep';
+--source include/wait_condition.inc
+
+# user2: Wait for the alter to block
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user2'
+ and PROCESSLIST_STATE = 'Waiting for table metadata lock';
+--source include/wait_condition.inc
+
+call dump_one_thread('user1');
+call dump_one_thread('user2');
+
+--connection con1
+commit;
+
+--disconnect con1
+
+--connection con2
+--reap
+
+--disconnect con2
+
+--connection default
+
+# Wait for the disconnects to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER like 'user%';
+--source include/wait_condition.inc
+
+--source ../include/stage_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/start_server_1_digest-master.opt b/mysql-test/suite/perfschema/t/start_server_1_digest-master.opt
new file mode 100644
index 00000000000..c3a6012fbac
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_1_digest-master.opt
@@ -0,0 +1 @@
+--loose-performance-schema-digests-size=1
diff --git a/mysql-test/suite/perfschema/t/start_server_1_digest.test b/mysql-test/suite/perfschema/t/start_server_1_digest.test
new file mode 100644
index 00000000000..998d9a5eebe
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_1_digest.test
@@ -0,0 +1,15 @@
+# -----------------------------------------------------------------------
+# Tests for the performance schema statement Digests.
+# -----------------------------------------------------------------------
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+
+SELECT "Digest table has a size 1 and is full already." as use_case;
+
+select SCHEMA_NAME, DIGEST, DIGEST_TEXT
+ from performance_schema.events_statements_summary_by_digest;
+
+
+
diff --git a/mysql-test/suite/perfschema/t/start_server_disable_idle-master.opt b/mysql-test/suite/perfschema/t/start_server_disable_idle-master.opt
new file mode 100644
index 00000000000..3f1ee203961
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_disable_idle-master.opt
@@ -0,0 +1 @@
+--loose-performance-schema-instrument='idle=OFF'
diff --git a/mysql-test/suite/perfschema/t/start_server_disable_idle.test b/mysql-test/suite/perfschema/t/start_server_disable_idle.test
new file mode 100644
index 00000000000..6cf8d4a522c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_disable_idle.test
@@ -0,0 +1,28 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no enabled idle instruments
+select * from performance_schema.setup_instruments
+ where name like "idle" and enabled='YES';
+
+# Expect no idle statistics collected
+
+select * from performance_schema.events_waits_summary_global_by_event_name
+ where event_name like "idle" and count_star > 0;
+
+select * from performance_schema.events_waits_summary_by_thread_by_event_name
+ where event_name like "idle" and count_star > 0;
+
+select * from performance_schema.events_waits_summary_by_user_by_event_name
+ where event_name like "idle" and count_star > 0;
+
+select * from performance_schema.events_waits_summary_by_host_by_event_name
+ where event_name like "idle" and count_star > 0;
+
+select * from performance_schema.events_waits_summary_by_account_by_event_name
+ where event_name like "idle" and count_star > 0;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_disable_stages-master.opt b/mysql-test/suite/perfschema/t/start_server_disable_stages-master.opt
new file mode 100644
index 00000000000..fb8292c1f81
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_disable_stages-master.opt
@@ -0,0 +1 @@
+--loose-performance-schema-instrument='stage/%=OFF'
diff --git a/mysql-test/suite/perfschema/t/start_server_disable_stages.test b/mysql-test/suite/perfschema/t/start_server_disable_stages.test
new file mode 100644
index 00000000000..83ee6838910
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_disable_stages.test
@@ -0,0 +1,28 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no enabled stages instruments
+select * from performance_schema.setup_instruments
+ where name like "stage/%" and enabled='YES';
+
+# Expect no stage statistics collected
+
+select * from performance_schema.events_stages_summary_global_by_event_name
+ where count_star > 0;
+
+select * from performance_schema.events_stages_summary_by_thread_by_event_name
+ where count_star > 0;
+
+select * from performance_schema.events_stages_summary_by_user_by_event_name
+ where count_star > 0;
+
+select * from performance_schema.events_stages_summary_by_host_by_event_name
+ where count_star > 0;
+
+select * from performance_schema.events_stages_summary_by_account_by_event_name
+ where count_star > 0;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_disable_statements-master.opt b/mysql-test/suite/perfschema/t/start_server_disable_statements-master.opt
new file mode 100644
index 00000000000..51d222d1fbe
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_disable_statements-master.opt
@@ -0,0 +1 @@
+--loose-performance-schema-instrument='statement/%=OFF'
diff --git a/mysql-test/suite/perfschema/t/start_server_disable_statements.test b/mysql-test/suite/perfschema/t/start_server_disable_statements.test
new file mode 100644
index 00000000000..a337fb2ad85
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_disable_statements.test
@@ -0,0 +1,28 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no enabled statements instruments
+select * from performance_schema.setup_instruments
+ where name like "statement/%" and enabled='YES';
+
+# Expect no statement statistics collected
+
+select * from performance_schema.events_statements_summary_global_by_event_name
+ where count_star > 0;
+
+select * from performance_schema.events_statements_summary_by_thread_by_event_name
+ where count_star > 0;
+
+select * from performance_schema.events_statements_summary_by_user_by_event_name
+ where count_star > 0;
+
+select * from performance_schema.events_statements_summary_by_host_by_event_name
+ where count_star > 0;
+
+select * from performance_schema.events_statements_summary_by_account_by_event_name
+ where count_star > 0;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_disable_waits-master.opt b/mysql-test/suite/perfschema/t/start_server_disable_waits-master.opt
new file mode 100644
index 00000000000..c3a8876c8ee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_disable_waits-master.opt
@@ -0,0 +1 @@
+--loose-performance-schema-instrument='wait/%=OFF'
diff --git a/mysql-test/suite/perfschema/t/start_server_disable_waits.test b/mysql-test/suite/perfschema/t/start_server_disable_waits.test
new file mode 100644
index 00000000000..5da7f533875
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_disable_waits.test
@@ -0,0 +1,28 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no enabled waits instruments
+select * from performance_schema.setup_instruments
+ where name like "wait/%" and enabled='YES';
+
+# Expect no wait statistics collected
+
+select * from performance_schema.events_waits_summary_global_by_event_name
+ where event_name like "wait/%" and count_star > 0;
+
+select * from performance_schema.events_waits_summary_by_thread_by_event_name
+ where event_name like "wait/%" and count_star > 0;
+
+select * from performance_schema.events_waits_summary_by_user_by_event_name
+ where event_name like "wait/%" and count_star > 0;
+
+select * from performance_schema.events_waits_summary_by_host_by_event_name
+ where event_name like "wait/%" and count_star > 0;
+
+select * from performance_schema.events_waits_summary_by_account_by_event_name
+ where event_name like "wait/%" and count_star > 0;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_innodb-master.opt b/mysql-test/suite/perfschema/t/start_server_innodb-master.opt
new file mode 100644
index 00000000000..542720c44d7
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_innodb-master.opt
@@ -0,0 +1 @@
+--loose-enable-performance-schema
diff --git a/mysql-test/suite/perfschema/t/start_server_innodb.test b/mysql-test/suite/perfschema/t/start_server_innodb.test
new file mode 100644
index 00000000000..68a164a0bc1
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_innodb.test
@@ -0,0 +1,11 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/have_innodb.inc
+
+--source ../include/start_server_common.inc
+
+# Expecting nothing lost with default parameters
+
+show status like "performance_schema%";
diff --git a/mysql-test/suite/perfschema/t/start_server_low_digest-master.opt b/mysql-test/suite/perfschema/t/start_server_low_digest-master.opt
new file mode 100644
index 00000000000..fc5065f9ae9
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_low_digest-master.opt
@@ -0,0 +1 @@
+--max_digest_length=10
diff --git a/mysql-test/suite/perfschema/t/start_server_low_digest.test b/mysql-test/suite/perfschema/t/start_server_low_digest.test
new file mode 100644
index 00000000000..6f06def169b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_low_digest.test
@@ -0,0 +1,21 @@
+# -----------------------------------------------------------------------
+# Tests for the performance schema statement Digests.
+# -----------------------------------------------------------------------
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+
+USE performance_schema;
+truncate table events_statements_history_long;
+
+# -----------------------------------------------------------------------
+# Test to show how the digest behaves with low value of
+# - performance_schema_max_digest_length
+# -----------------------------------------------------------------------
+SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1;
+
+--echo ####################################
+--echo # QUERYING PS STATEMENT DIGEST
+--echo ####################################
+SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long;
diff --git a/mysql-test/suite/perfschema/t/start_server_no_account-master.opt b/mysql-test/suite/perfschema/t/start_server_no_account-master.opt
new file mode 100644
index 00000000000..cfe98cec802
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_account-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_accounts_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_account.test b/mysql-test/suite/perfschema/t/start_server_no_account.test
new file mode 100644
index 00000000000..b9b0c858dfb
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_account.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no records
+show variables like "performance_schema_accounts_size";
+
+select count(*) from performance_schema.accounts;
+
+# We lost all the data
+select variable_value > 0 from information_schema.global_status
+ where variable_name like 'PERFORMANCE_SCHEMA_ACCOUNTS_LOST';
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_cond_class-master.opt b/mysql-test/suite/perfschema/t/start_server_no_cond_class-master.opt
index 714888a6de1..6b15f14cbf0 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_cond_class-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_cond_class-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_cond_classes=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_cond_classes=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_cond_inst-master.opt b/mysql-test/suite/perfschema/t/start_server_no_cond_inst-master.opt
index 4b33152f89a..12a79eb08e7 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_cond_inst-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_cond_inst-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_cond_instances=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_cond_instances=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_digests-master.opt b/mysql-test/suite/perfschema/t/start_server_no_digests-master.opt
new file mode 100644
index 00000000000..397fdefc31a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_digests-master.opt
@@ -0,0 +1 @@
+--loose-performance-schema-digests-size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_digests.test b/mysql-test/suite/perfschema/t/start_server_no_digests.test
new file mode 100644
index 00000000000..dbbce662256
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_digests.test
@@ -0,0 +1,32 @@
+# ----------------------------------------------------
+# Tests for the performance schema statement Digests.
+# ----------------------------------------------------
+
+# Test case to show behavior of statements digest when
+# statement-digest-size is 0
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+# Initial Setup for Digest
+--source ../include/digest_setup.inc
+
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+
+# Executing queries
+--source ../include/digest_execution.inc
+
+--echo ####################################
+--echo # QUERYING PS STATEMENT DIGEST
+--echo ####################################
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
+ SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
+
+
+# Expect no digest
+SHOW VARIABLES LIKE "performance_schema_digests_size";
+SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest;
+
+# Cleanup for Digest
+--source ../include/digest_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_file_class-master.opt b/mysql-test/suite/perfschema/t/start_server_no_file_class-master.opt
index f4b6d1ec893..657de947526 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_file_class-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_file_class-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_file_classes=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_file_classes=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_file_inst-master.opt b/mysql-test/suite/perfschema/t/start_server_no_file_inst-master.opt
index 7f0d246f97a..e0a0c6a0e46 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_file_inst-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_file_inst-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_file_instances=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_file_instances=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_host-master.opt b/mysql-test/suite/perfschema/t/start_server_no_host-master.opt
new file mode 100644
index 00000000000..1cf7956d257
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_host-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_hosts_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_host.test b/mysql-test/suite/perfschema/t/start_server_no_host.test
new file mode 100644
index 00000000000..e0d3d4b1f0f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_host.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no records
+show variables like "performance_schema_hosts_size";
+
+select count(*) from performance_schema.hosts;
+
+# We lost all the data
+select variable_value > 0 from information_schema.global_status
+ where variable_name like 'PERFORMANCE_SCHEMA_HOSTS_LOST';
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_mutex_class-master.opt b/mysql-test/suite/perfschema/t/start_server_no_mutex_class-master.opt
index 173851434eb..27d055d3f89 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_mutex_class-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_mutex_class-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_mutex_classes=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_mutex_classes=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_mutex_inst-master.opt b/mysql-test/suite/perfschema/t/start_server_no_mutex_inst-master.opt
index 5bdd7d39b4a..b8ed7ea744b 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_mutex_inst-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_mutex_inst-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_mutex_instances=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_mutex_instances=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_rwlock_class-master.opt b/mysql-test/suite/perfschema/t/start_server_no_rwlock_class-master.opt
index f0d15c86ddc..1c136591c6d 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_rwlock_class-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_rwlock_class-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_rwlock_classes=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_rwlock_classes=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst-master.opt b/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst-master.opt
index fc1f5f89902..e9495b03f76 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_rwlock_instances=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_rwlock_instances=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_setup_actors-master.opt b/mysql-test/suite/perfschema/t/start_server_no_setup_actors-master.opt
new file mode 100644
index 00000000000..624ef23b60b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_setup_actors-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_setup_actors_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_setup_actors.test b/mysql-test/suite/perfschema/t/start_server_no_setup_actors.test
new file mode 100644
index 00000000000..d1433053df8
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_setup_actors.test
@@ -0,0 +1,13 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no setup_actors
+show variables like "performance_schema_setup_actors_size";
+
+# Expect no setup_actors
+select count(*) from performance_schema.setup_actors;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_setup_objects-master.opt b/mysql-test/suite/perfschema/t/start_server_no_setup_objects-master.opt
new file mode 100644
index 00000000000..76f060669f4
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_setup_objects-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_setup_objects_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_setup_objects.test b/mysql-test/suite/perfschema/t/start_server_no_setup_objects.test
new file mode 100644
index 00000000000..d46805e5b25
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_setup_objects.test
@@ -0,0 +1,13 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no setup_objects
+show variables like "performance_schema_setup_objects_size";
+
+# Expect no setup_objects
+select count(*) from performance_schema.setup_objects;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_socket_class-master.opt b/mysql-test/suite/perfschema/t/start_server_no_socket_class-master.opt
new file mode 100644
index 00000000000..372cfe821cf
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_socket_class-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_max_socket_classes=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_socket_class.test b/mysql-test/suite/perfschema/t/start_server_no_socket_class.test
new file mode 100644
index 00000000000..ec1a2495413
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_socket_class.test
@@ -0,0 +1,23 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no classes
+show variables like "performance_schema_max_socket_classes";
+
+select count(*) from performance_schema.setup_instruments
+ where name like "wait/io/socket/%";
+
+# We lost all the classes
+select variable_value > 0 from information_schema.global_status
+ where variable_name like 'PERFORMANCE_SCHEMA_SOCKET_CLASSES_LOST';
+
+# Expect no instances
+select count(*) from performance_schema.socket_instances;
+
+# Expect no instances lost
+show status like "performance_schema_socket_instances_lost";
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_socket_inst-master.opt b/mysql-test/suite/perfschema/t/start_server_no_socket_inst-master.opt
new file mode 100644
index 00000000000..f269db53f44
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_socket_inst-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_max_socket_instances=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_socket_inst.test b/mysql-test/suite/perfschema/t/start_server_no_socket_inst.test
new file mode 100644
index 00000000000..752a1666550
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_socket_inst.test
@@ -0,0 +1,26 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect classes
+show variables like "performance_schema_max_socket_classes";
+
+select count(*) > 0 from performance_schema.setup_instruments
+ where name like "wait/io/socket/%";
+
+# Expect no class lost
+show status like "performance_schema_socket_classes_lost";
+
+# Expect no instances
+show variables like "performance_schema_max_socket_instances";
+
+select count(*) from performance_schema.socket_instances;
+
+# Expect instances lost
+select variable_value > 0 from information_schema.global_status
+ where variable_name like 'PERFORMANCE_SCHEMA_SOCKET_INSTANCES_LOST';
+
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_stage_class-master.opt b/mysql-test/suite/perfschema/t/start_server_no_stage_class-master.opt
new file mode 100644
index 00000000000..31cf7bdf78a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_stage_class-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_max_stage_classes=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_stage_class.test b/mysql-test/suite/perfschema/t/start_server_no_stage_class.test
new file mode 100644
index 00000000000..23d22ac5431
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_stage_class.test
@@ -0,0 +1,26 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no classes
+show variables like "performance_schema_max_stage_classes";
+
+select count(*) from performance_schema.setup_instruments
+ where name like "stage/%";
+
+# We lost all the classes
+select variable_value > 0 from information_schema.global_status
+ where variable_name like 'PERFORMANCE_SCHEMA_STAGE_CLASSES_LOST';
+
+# Expect no stages
+select count(*) from performance_schema.events_stages_current;
+select count(*) from performance_schema.events_stages_history;
+select count(*) from performance_schema.events_stages_history_long;
+
+# Expect no stages classes
+select count(*) from performance_schema.events_stages_summary_by_thread_by_event_name;
+select count(*) from performance_schema.events_stages_summary_global_by_event_name;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_stages_history-master.opt b/mysql-test/suite/perfschema/t/start_server_no_stages_history-master.opt
new file mode 100644
index 00000000000..c3b7cfd64ac
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_stages_history-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_events_stages_history_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_stages_history.test b/mysql-test/suite/perfschema/t/start_server_no_stages_history.test
new file mode 100644
index 00000000000..1f5df187646
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_stages_history.test
@@ -0,0 +1,14 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no history
+show variables like "performance_schema_events_stages_history_size";
+select count(*) from performance_schema.events_stages_history;
+
+# Valid operation, edge case
+truncate table performance_schema.events_stages_history;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_stages_history_long-master.opt b/mysql-test/suite/perfschema/t/start_server_no_stages_history_long-master.opt
new file mode 100644
index 00000000000..731c1469c1a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_stages_history_long-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_events_stages_history_long_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_stages_history_long.test b/mysql-test/suite/perfschema/t/start_server_no_stages_history_long.test
new file mode 100644
index 00000000000..84c227790c9
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_stages_history_long.test
@@ -0,0 +1,14 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no history long
+show variables like "performance_schema_events_stages_history_long_size";
+select count(*) from performance_schema.events_stages_history_long;
+
+# Valid operation, edge case
+truncate table performance_schema.events_stages_history_long;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_statement_class-master.opt b/mysql-test/suite/perfschema/t/start_server_no_statement_class-master.opt
new file mode 100644
index 00000000000..6cf6fbdc0ba
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_statement_class-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_max_statement_classes=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_statement_class.test b/mysql-test/suite/perfschema/t/start_server_no_statement_class.test
new file mode 100644
index 00000000000..71deb85680a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_statement_class.test
@@ -0,0 +1,26 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no classes
+show variables like "performance_schema_max_statement_classes";
+
+select count(*) from performance_schema.setup_instruments
+ where name like "statement/%";
+
+# We lost all the classes
+select variable_value > 0 from information_schema.global_status
+ where variable_name like 'PERFORMANCE_SCHEMA_STATEMENT_CLASSES_LOST';
+
+# Expect no statements
+select count(*) from performance_schema.events_statements_current;
+select count(*) from performance_schema.events_statements_history;
+select count(*) from performance_schema.events_statements_history_long;
+
+# Expect no statements classes
+select count(*) from performance_schema.events_statements_summary_by_thread_by_event_name;
+select count(*) from performance_schema.events_statements_summary_global_by_event_name;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_statements_history-master.opt b/mysql-test/suite/perfschema/t/start_server_no_statements_history-master.opt
new file mode 100644
index 00000000000..3389a3c434b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_statements_history-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_events_statements_history_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_statements_history.test b/mysql-test/suite/perfschema/t/start_server_no_statements_history.test
new file mode 100644
index 00000000000..625e0bb3cd3
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_statements_history.test
@@ -0,0 +1,14 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no history
+show variables like "performance_schema_events_statements_history_size";
+select count(*) from performance_schema.events_statements_history;
+
+# Valid operation, edge case
+truncate table performance_schema.events_statements_history;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_statements_history_long-master.opt b/mysql-test/suite/perfschema/t/start_server_no_statements_history_long-master.opt
new file mode 100644
index 00000000000..b7728d6e6b4
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_statements_history_long-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_events_statements_history_long_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_statements_history_long.test b/mysql-test/suite/perfschema/t/start_server_no_statements_history_long.test
new file mode 100644
index 00000000000..a8d551cbed0
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_statements_history_long.test
@@ -0,0 +1,14 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no history long
+show variables like "performance_schema_events_statements_history_long_size";
+select count(*) from performance_schema.events_statements_history_long;
+
+# Valid operation, edge case
+truncate table performance_schema.events_statements_history_long;
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_table_hdl-master.opt b/mysql-test/suite/perfschema/t/start_server_no_table_hdl-master.opt
new file mode 100644
index 00000000000..c6b6db94939
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_table_hdl-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_max_table_handles=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_table_hdl.test b/mysql-test/suite/perfschema/t/start_server_no_table_hdl.test
new file mode 100644
index 00000000000..80553f11866
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_table_hdl.test
@@ -0,0 +1,30 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect instances
+show variables like "performance_schema_max_table_instances";
+
+# Expect no handles
+show variables like "performance_schema_max_table_handles";
+
+# Create an instrumented table
+--disable_warnings
+drop table if exists test.instrument_me;
+--enable_warnings
+
+create table test.instrument_me(a int);
+insert into test.instrument_me values (1), (2), (3);
+select * from test.instrument_me;
+drop table test.instrument_me;
+
+# Expect no instances lost
+show variables like "performance_schema_max_table_instances";
+
+# We lost all the handles
+select variable_value > 0 from information_schema.global_status
+ where variable_name like 'PERFORMANCE_SCHEMA_TABLE_HANDLES_LOST';
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt b/mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt
new file mode 100644
index 00000000000..50abd1264f5
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_max_table_instances=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_table_inst.test b/mysql-test/suite/perfschema/t/start_server_no_table_inst.test
new file mode 100644
index 00000000000..bd6ad54325e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_table_inst.test
@@ -0,0 +1,30 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no instances
+show variables like "performance_schema_max_table_instances";
+
+# Expect handles
+show variables like "performance_schema_max_table_handles";
+
+# Create an instrumented table
+--disable_warnings
+drop table if exists test.instrument_me;
+--enable_warnings
+
+create table test.instrument_me(a int);
+insert into test.instrument_me values (1), (2), (3);
+select * from test.instrument_me;
+drop table test.instrument_me;
+
+# We lost all the instances
+select variable_value > 0 from information_schema.global_status
+ where variable_name like 'PERFORMANCE_SCHEMA_TABLE_INSTANCES_LOST';
+
+# Expect no handle lost
+show status like "performance_schema_table_handles_lost";
+
diff --git a/mysql-test/suite/perfschema/t/start_server_no_thread_class-master.opt b/mysql-test/suite/perfschema/t/start_server_no_thread_class-master.opt
index 91286cef859..f3facc9516c 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_thread_class-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_thread_class-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_thread_classes=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_thread_classes=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_thread_inst-master.opt b/mysql-test/suite/perfschema/t/start_server_no_thread_inst-master.opt
index 6e9d13c2b4c..ba1e47500fc 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_thread_inst-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_no_thread_inst-master.opt
@@ -1 +1,2 @@
---loose-enable-performance-schema --loose-performance_schema_max_thread_instances=0
+--loose-enable-performance-schema
+--loose-performance_schema_max_thread_instances=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_user-master.opt b/mysql-test/suite/perfschema/t/start_server_no_user-master.opt
new file mode 100644
index 00000000000..50571a72bea
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_user-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance_schema_users_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_no_user.test b/mysql-test/suite/perfschema/t/start_server_no_user.test
new file mode 100644
index 00000000000..549b90a5851
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/start_server_no_user.test
@@ -0,0 +1,16 @@
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--source ../include/start_server_common.inc
+
+# Expect no records
+show variables like "performance_schema_users_size";
+
+select count(*) from performance_schema.users;
+
+# We lost all the data
+select variable_value > 0 from information_schema.global_status
+ where variable_name like 'PERFORMANCE_SCHEMA_USERS_LOST';
+
diff --git a/mysql-test/suite/perfschema/t/start_server_nothing-master.opt b/mysql-test/suite/perfschema/t/start_server_nothing-master.opt
index 529d3a1703b..afd804c1bd0 100644
--- a/mysql-test/suite/perfschema/t/start_server_nothing-master.opt
+++ b/mysql-test/suite/perfschema/t/start_server_nothing-master.opt
@@ -8,12 +8,32 @@
--loose-performance_schema_max_cond_classes=0
--loose-performance_schema_max_file_classes=0
--loose-performance_schema_max_thread_classes=0
+--loose-performance_schema_max_socket_classes=0
--loose-performance_schema_max_mutex_instances=0
--loose-performance_schema_max_rwlock_instances=0
--loose-performance_schema_max_cond_instances=0
--loose-performance_schema_max_file_instances=0
--loose-performance_schema_max_thread_instances=0
+--loose-performance_schema_max_socket_instances=0
+--loose-performance_schema_max_table_instances=0
--loose-performance_schema_max_file_handles=0
+--loose-performance_schema_max_table_handles=0
+
+--loose-performance_schema_setup_actors_size=0
+--loose-performance_schema_setup_objects_size=0
+--loose-performance_schema_accounts_size=0
+--loose-performance_schema_hosts_size=0
+--loose-performance_schema_users_size=0
+
+--loose-performance_schema_max_stage_classes=0
+--loose-performance_schema_events_stages_history_long_size=0
+--loose-performance_schema_events_stages_history_size=0
+
+--loose-performance_schema_max_statement_classes=0
+--loose-performance_schema_events_statements_history_long_size=0
+--loose-performance_schema_events_statements_history_size=0
+
+--loose-performance_schema_session_connect_attrs_size=0
diff --git a/mysql-test/suite/perfschema/t/start_server_nothing.test b/mysql-test/suite/perfschema/t/start_server_nothing.test
index b2deae35ba6..c337ef604f6 100644
--- a/mysql-test/suite/perfschema/t/start_server_nothing.test
+++ b/mysql-test/suite/perfschema/t/start_server_nothing.test
@@ -14,17 +14,47 @@ select * from performance_schema.setup_consumers;
select NAME from performance_schema.setup_timers;
# All empty
+select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
+select * from performance_schema.events_stages_current;
+select * from performance_schema.events_stages_history;
+select * from performance_schema.events_stages_history_long;
+select * from performance_schema.events_stages_summary_by_account_by_event_name;
+select * from performance_schema.events_stages_summary_by_host_by_event_name;
+select * from performance_schema.events_stages_summary_by_thread_by_event_name;
+select * from performance_schema.events_stages_summary_by_user_by_event_name;
+select * from performance_schema.events_stages_summary_global_by_event_name;
+select * from performance_schema.events_statements_current;
+select * from performance_schema.events_statements_history;
+select * from performance_schema.events_statements_history_long;
+select * from performance_schema.events_statements_summary_by_account_by_event_name;
+select * from performance_schema.events_statements_summary_by_host_by_event_name;
+select * from performance_schema.events_statements_summary_by_thread_by_event_name;
+select * from performance_schema.events_statements_summary_by_user_by_event_name;
+select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_account_by_event_name;
+select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.session_account_connect_attrs;
+select * from performance_schema.session_connect_attrs;
+select * from performance_schema.socket_instances;
+select * from performance_schema.socket_summary_by_instance;
+select * from performance_schema.socket_summary_by_event_name;
+select * from performance_schema.hosts;
select * from performance_schema.mutex_instances;
+select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_objects;
select * from performance_schema.threads;
+select * from performance_schema.users;
diff --git a/mysql-test/suite/perfschema/t/start_server_off.test b/mysql-test/suite/perfschema/t/start_server_off.test
index 4b24b2263cb..8b58f8c0814 100644
--- a/mysql-test/suite/perfschema/t/start_server_off.test
+++ b/mysql-test/suite/perfschema/t/start_server_off.test
@@ -8,3 +8,41 @@
# Expecting all off / zero
show status like "performance_schema%";
+# Expect all consumers disabled
+
+select * from performance_schema.setup_consumers;
+
+# Expect no instruments
+
+select * from performance_schema.setup_instruments;
+
+select * from performance_schema.setup_actors;
+select * from performance_schema.setup_objects;
+select * from performance_schema.setup_timers;
+
+# Expect INSERT to fail with an error
+
+--error ER_WRONG_PERFSCHEMA_USAGE
+insert into performance_schema.setup_objects values ('TABLE', 'myschema', 'myobject', 'YES', 'YES');
+
+--error ER_WRONG_PERFSCHEMA_USAGE
+insert into performance_schema.setup_actors values ('myhost', 'mysuser', 'myrole');
+
+# Expect SELECT, UPDATE, DELETE and TRUNCATE to affect 0 rows, but with
+# no error because the target row(s) will not be found
+
+select * from performance_schema.setup_objects;
+update performance_schema.setup_objects set OBJECT_NAME = 'myobject';
+delete from performance_schema.setup_objects;
+
+select * from performance_schema.setup_actors;
+update performance_schema.setup_actors set HOST = 'myhost';
+delete from performance_schema.setup_actors;
+
+truncate performance_schema.events_stages_history_long;
+truncate performance_schema.events_statements_history_long;
+truncate performance_schema.events_waits_history_long;
+truncate performance_schema.setup_objects;
+truncate performance_schema.setup_actors;
+
+
diff --git a/mysql-test/suite/perfschema/t/statement_digest.test b/mysql-test/suite/perfschema/t/statement_digest.test
new file mode 100644
index 00000000000..59486ad61d8
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/statement_digest.test
@@ -0,0 +1,23 @@
+# -----------------------------------------------------------------------
+# Tests for the performance schema statement Digests.
+# -----------------------------------------------------------------------
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+# Initial Setup for Digest
+--source ../include/digest_setup.inc
+
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+
+# Executing queries
+--source ../include/digest_execution.inc
+
+--echo ####################################
+--echo # QUERYING PS STATEMENT DIGEST
+--echo ####################################
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
+ SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
+
+# Cleanup for Digest
+--source ../include/digest_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/statement_digest_charset.test b/mysql-test/suite/perfschema/t/statement_digest_charset.test
new file mode 100644
index 00000000000..2ac9797edee
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/statement_digest_charset.test
@@ -0,0 +1,36 @@
+# Test for PERFORMANCE_SCHEMA statement digests
+#
+# Test statements using different character sets.
+# See Bug#13809293 - PERFSCHEMA.DML_ESMS_BY_DIGEST FAILS ON DAILY-TRUNK SPORADICALLY
+#
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_warnings
+DROP DATABASE IF EXISTS pfs_charset_test;
+--enable_warnings
+CREATE DATABASE pfs_charset_test;
+USE pfs_charset_test;
+
+#
+# CP1251 - 8 bits, max multibyte length = 1
+#
+SET NAMES cp1251;
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+CREATE TABLE äîëåí_ðåãèñòúð_1251a (s1 INT);
+CREATE TABLE ÄîËåÍ_ðåãèñòúð_1251b (s1 INT, s2 INT);
+
+#
+# UTF8 - 8 bits, max multibyte length = 4
+#
+SET NAMES utf8;
+CREATE TABLE ДОЛЕÐ_региÑÑ‚ÑŠÑ€_утф8 (s1 INT);
+
+#
+# Incorrectly converted statement identifiers will result in a warning.
+#
+SET NAMES latin1;
+SELECT * FROM performance_schema.events_statements_summary_by_digest
+ WHERE digest_text LIKE 'XXXYYY%' LIMIT 1;
+
+DROP DATABASE pfs_charset_test;
diff --git a/mysql-test/suite/perfschema/t/statement_digest_consumers-master.opt b/mysql-test/suite/perfschema/t/statement_digest_consumers-master.opt
new file mode 100644
index 00000000000..a13a5a2ca4a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/statement_digest_consumers-master.opt
@@ -0,0 +1,2 @@
+--loose-performance_schema_consumer_statements_digest=1
+--loose-performance_schema_consumer_events_statements_current=0
diff --git a/mysql-test/suite/perfschema/t/statement_digest_consumers.test b/mysql-test/suite/perfschema/t/statement_digest_consumers.test
new file mode 100644
index 00000000000..16fa300b975
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/statement_digest_consumers.test
@@ -0,0 +1,35 @@
+# ----------------------------------------------------
+# Tests for the performance schema statement Digests.
+# ----------------------------------------------------
+
+# Test case to show behavior of statements digest in combination of different
+# consumers enabled/disabled
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+# Initial Setup for Digest
+--source ../include/digest_setup.inc
+
+# -----------------------------------------
+# Consumer State |
+# -----------------------------------------
+# statements_digest Disabled |
+# events_statement_current Enabled |
+# -----------------------------------------
+
+SELECT * FROM performance_schema.setup_consumers;
+
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+
+# Executing queries
+--source ../include/digest_execution.inc
+
+--echo ####################################
+--echo # QUERYING PS STATEMENT DIGEST
+--echo ####################################
+SELECT schema_name,digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
+SELECT digest_text FROM performance_schema.events_statements_current;
+
+# Cleanup for Digest
+--source ../include/digest_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/statement_digest_consumers2-master.opt b/mysql-test/suite/perfschema/t/statement_digest_consumers2-master.opt
new file mode 100644
index 00000000000..60ce703cad9
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/statement_digest_consumers2-master.opt
@@ -0,0 +1,2 @@
+--loose-performance_schema_consumer_statements_digest=0
+--loose-performance_schema_consumer_events_statements_current=1
diff --git a/mysql-test/suite/perfschema/t/statement_digest_consumers2.test b/mysql-test/suite/perfschema/t/statement_digest_consumers2.test
new file mode 100644
index 00000000000..98442349927
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/statement_digest_consumers2.test
@@ -0,0 +1,37 @@
+# ----------------------------------------------------
+# Tests for the performance schema statement Digests.
+# ----------------------------------------------------
+
+# Test case to show behavior of statements digest in combination of different
+# consumers enabled/disabled
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+# Initial Setup for Digest
+--source ../include/digest_setup.inc
+
+# -----------------------------------------
+# Consumer State |
+# -----------------------------------------
+# statements_digest Enabled |
+# events_statement_current Disabled |
+# global_implementation Disabled ? |
+# thread_implementation Disabled ? |
+# -----------------------------------------
+
+SELECT * FROM performance_schema.setup_consumers;
+
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+
+# Executing queries
+--source ../include/digest_execution.inc
+
+--echo ####################################
+--echo # QUERYING PS STATEMENT DIGEST
+--echo ####################################
+SELECT schema_name, digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
+SELECT digest, digest_text FROM performance_schema.events_statements_current;
+
+# Cleanup for Digest
+--source ../include/digest_cleanup.inc
diff --git a/mysql-test/suite/perfschema/t/statement_digest_long_query-master.opt b/mysql-test/suite/perfschema/t/statement_digest_long_query-master.opt
new file mode 100644
index 00000000000..3f9d7900961
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/statement_digest_long_query-master.opt
@@ -0,0 +1 @@
+--thread_stack=655360
diff --git a/mysql-test/suite/perfschema/t/statement_digest_long_query.test b/mysql-test/suite/perfschema/t/statement_digest_long_query.test
new file mode 100644
index 00000000000..7a080f7a29f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/statement_digest_long_query.test
@@ -0,0 +1,23 @@
+# -----------------------------------------------------------------------
+# Tests for the performance schema statement Digests.
+# -----------------------------------------------------------------------
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+
+USE performance_schema;
+truncate table events_statements_summary_by_digest;
+
+# -----------------------------------------------------------------------
+# Test to show how the digest behaves with long queries, when the token
+# stream is truncated (digest text should end with "...")
+# NOTE: For this test case to run, we need to start mysql server
+# with bigger stack using "--thread_stack=#" option.
+# -----------------------------------------------------------------------
+SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1;
+
+--echo ####################################
+--echo # QUERYING PS STATEMENT DIGEST
+--echo ####################################
+SELECT schema_name, digest_text, count_star FROM events_statements_summary_by_digest;
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_global_2u_2t.test b/mysql-test/suite/perfschema/t/table_aggregate_global_2u_2t.test
new file mode 100644
index 00000000000..240be494428
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_global_2u_2t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_global_2u_3t.test b/mysql-test/suite/perfschema/t/table_aggregate_global_2u_3t.test
new file mode 100644
index 00000000000..cfee45056bd
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_global_2u_3t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_global_4u_2t.test b/mysql-test/suite/perfschema/t/table_aggregate_global_4u_2t.test
new file mode 100644
index 00000000000..a523ee6cce9
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_global_4u_2t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 4users by default
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_global_4u_3t.test b/mysql-test/suite/perfschema/t/table_aggregate_global_4u_3t.test
new file mode 100644
index 00000000000..01cae774f5d
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_global_4u_3t.test
@@ -0,0 +1,17 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 4users by default
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_hist_2u_2t.test b/mysql-test/suite/perfschema/t/table_aggregate_hist_2u_2t.test
new file mode 100644
index 00000000000..518ca74f549
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_hist_2u_2t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# hist by default
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_hist_2u_3t.test b/mysql-test/suite/perfschema/t/table_aggregate_hist_2u_3t.test
new file mode 100644
index 00000000000..6ebaf2f441d
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_hist_2u_3t.test
@@ -0,0 +1,17 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# hist by default
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_hist_4u_2t.test b/mysql-test/suite/perfschema/t/table_aggregate_hist_4u_2t.test
new file mode 100644
index 00000000000..ac8f6f83f4b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_hist_4u_2t.test
@@ -0,0 +1,17 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# hist by default
+
+# 4users by default
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_hist_4u_3t.test b/mysql-test/suite/perfschema/t/table_aggregate_hist_4u_3t.test
new file mode 100644
index 00000000000..4201db1a3aa
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_hist_4u_3t.test
@@ -0,0 +1,15 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# hist by default
+
+# 4users by default
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_off.test b/mysql-test/suite/perfschema/t/table_aggregate_off.test
new file mode 100644
index 00000000000..a56d6a9b905
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_off.test
@@ -0,0 +1,13 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# off
+update performance_schema.setup_consumers
+ set enabled='NO' where name='global_instrumentation';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_thread_2u_2t.test b/mysql-test/suite/perfschema/t/table_aggregate_thread_2u_2t.test
new file mode 100644
index 00000000000..ff1bd616d61
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_thread_2u_2t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_thread_2u_3t.test b/mysql-test/suite/perfschema/t/table_aggregate_thread_2u_3t.test
new file mode 100644
index 00000000000..6f33fd63070
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_thread_2u_3t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_thread_4u_2t.test b/mysql-test/suite/perfschema/t/table_aggregate_thread_4u_2t.test
new file mode 100644
index 00000000000..e01edbc64e9
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_thread_4u_2t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 4users by default
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_aggregate_thread_4u_3t.test b/mysql-test/suite/perfschema/t/table_aggregate_thread_4u_3t.test
new file mode 100644
index 00000000000..1e67fbdde45
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_aggregate_thread_4u_3t.test
@@ -0,0 +1,17 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io and table lock by default
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 4users by default
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_2t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_2t.test
new file mode 100644
index 00000000000..025bb8af67b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_2t.test
@@ -0,0 +1,23 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_3t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_3t.test
new file mode 100644
index 00000000000..da566c99b21
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_3t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_2t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_2t.test
new file mode 100644
index 00000000000..9d03b1b192f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_2t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 4users by default
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_3t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_3t.test
new file mode 100644
index 00000000000..90a5994018b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_3t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 4users by default
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_2t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_2t.test
new file mode 100644
index 00000000000..7c01bd0196c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_2t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# hist by default
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_3t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_3t.test
new file mode 100644
index 00000000000..b817059c9c2
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_3t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# hist by default
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_2t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_2t.test
new file mode 100644
index 00000000000..6b6c3906e33
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_2t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# hist by default
+
+# 4users by default
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_3t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_3t.test
new file mode 100644
index 00000000000..ff4c74f87be
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_3t.test
@@ -0,0 +1,17 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# hist by default
+
+# 4users by default
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_2t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_2t.test
new file mode 100644
index 00000000000..6e70be45fab
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_2t.test
@@ -0,0 +1,23 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_3t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_3t.test
new file mode 100644
index 00000000000..3dca2916079
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_3t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_2t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_2t.test
new file mode 100644
index 00000000000..e14ccf38fb3
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_2t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 4users by default
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_3t.test b/mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_3t.test
new file mode 100644
index 00000000000..eaf55d6afff
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_3t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table io
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/lock/table/sql/handler';
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 4users by default
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t.test
new file mode 100644
index 00000000000..c64838b206b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t.test
@@ -0,0 +1,23 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t.test
new file mode 100644
index 00000000000..7a0676c6006
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t.test
new file mode 100644
index 00000000000..fb9f896eeca
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 4users by default
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t.test
new file mode 100644
index 00000000000..eb9b7b4faa8
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# global
+update performance_schema.setup_consumers
+ set enabled='NO' where name='thread_instrumentation';
+
+# 4users by default
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t.test
new file mode 100644
index 00000000000..5d1f36228e8
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# hist by default
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t.test
new file mode 100644
index 00000000000..b1e4043f12f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# hist by default
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t.test
new file mode 100644
index 00000000000..53992612fc2
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# hist by default
+
+# 4users by default
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t.test
new file mode 100644
index 00000000000..05306d74d8b
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t.test
@@ -0,0 +1,17 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# hist by default
+
+# 4users by default
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t.test
new file mode 100644
index 00000000000..4376b49eb3c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t.test
@@ -0,0 +1,23 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test
new file mode 100644
index 00000000000..d1412b148da
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 2users
+delete from performance_schema.setup_actors
+ where user in ('user2', 'user4');
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test
new file mode 100644
index 00000000000..46ab5ce3b01
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test
@@ -0,0 +1,21 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 4users by default
+
+# 2tables
+delete from performance_schema.setup_objects
+ where object_name='t2';
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test
new file mode 100644
index 00000000000..9ee66735961
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test
@@ -0,0 +1,19 @@
+# Tests for the performance schema
+
+--source ../include/table_aggregate_setup.inc
+
+# table lock
+update performance_schema.setup_instruments
+ set enabled='NO' where name='wait/io/table/sql/handler';
+
+# thread
+update performance_schema.setup_consumers
+ set enabled='NO' where name like 'event%';
+
+# 4users by default
+
+# 3tables by default
+
+--source ../include/table_aggregate_load.inc
+--source ../include/table_aggregate_cleanup.inc
+
diff --git a/mysql-test/suite/perfschema/t/table_name.test b/mysql-test/suite/perfschema/t/table_name.test
new file mode 100644
index 00000000000..5fb8ccd0f7f
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_name.test
@@ -0,0 +1,166 @@
+#
+# Performance Schema
+#
+# Verify that the Performance Schema correctly identifies normal and temporary
+# tables with non-standard names.
+
+# The server uses the table name prefix "#sql" for temporary and intermediate
+# tables, however user-defined tables having the "#sql" prefix are also permitted.
+# Independent of the table name, temporary or intermediate tables always have the
+# "#sql" prefix in the filename. (For non-temporary tables starting with "#",
+# the "#" is encoded to @0023 in the filename.)
+#
+# Given the ambiguity with temporary table names, the Performance Schema identifies
+# temporary tables tables either by the table category or by the filename.
+#
+--source include/have_perfschema.inc
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+--echo
+--echo #
+--echo # TEST 1: Normal tables prefixed with "#sql" and "sql".
+--echo #
+USE test;
+CREATE TABLE `#sql_1` (a int, b text);
+# INSERT forces path through get_table_share()
+INSERT INTO `#sql_1` VALUES(1,'one');
+--echo
+CREATE TABLE `sql_1` (a int, b text);
+INSERT INTO `sql_1` VALUES(1,'one');
+--echo
+--echo # Verify that the tables are treated as normal tables .
+--echo
+--sorted_result
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+--echo
+--echo # Drop the tables, verify that the table objects are removed.
+--echo
+DROP TABLE `#sql_1`;
+DROP TABLE `sql_1`;
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+
+--echo
+--echo #
+--echo # TEST 2: Temporary tables, no special prefix.
+--echo #
+CREATE TEMPORARY TABLE sql_temp2_myisam (a int, b text) ENGINE=MYISAM;
+INSERT INTO sql_temp2_myisam VALUES(1,'one');
+--echo
+CREATE TEMPORARY TABLE sql_temp2_innodb (a int, b text) ENGINE=INNODB;
+INSERT INTO sql_temp2_innodb VALUES(1,'one');
+--echo
+--echo # Confirm that the temporary tables are ignored.
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+--echo
+--echo # Drop the tables, verify that the table objects are not created.
+--echo
+DROP TABLE sql_temp2_myisam;
+DROP TABLE sql_temp2_innodb;
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+
+--echo
+--echo #
+--echo # TEST 3: Temporary tables with the "#sql" prefix.
+--echo #
+CREATE TEMPORARY TABLE `#sql_temp3_myisam` (a int, b text) ENGINE=MYISAM;
+CHECK TABLE `#sql_temp3_myisam`;
+INSERT INTO `#sql_temp3_myisam` VALUES(1,'one');
+--echo
+CREATE TEMPORARY TABLE `#sql_temp3_innodb` (a int, b text) ENGINE=INNODB;
+CHECK TABLE `#sql_temp3_innodb`;
+INSERT INTO `#sql_temp3_innodb` VALUES(1,'one');
+--echo
+--echo # Confirm that the temporary tables are ignored.
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+--echo
+--echo # Drop the temporary tables.
+--echo
+DROP TABLE `#sql_temp3_myisam`;
+DROP TABLE `#sql_temp3_innodb`;
+--echo
+--echo # Confirm that the temporary tables are still ignored.
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+
+--echo
+--echo #
+--echo # TEST 4: Special case: MyISAM temporary tables are recreated as non-temporary
+--echo # when they are truncated.
+--echo #
+CREATE TEMPORARY TABLE `sql_temp4_myisam` (a int, b text) ENGINE=MYISAM;
+INSERT INTO `sql_temp4_myisam` VALUES(1,'one');
+--echo
+CREATE TEMPORARY TABLE `#sql_temp4_myisam` (a int, b text) ENGINE=MYISAM;
+INSERT INTO `#sql_temp4_myisam` VALUES(1,'one');
+--echo
+--echo # Confirm that the MyISAM temporary tables are ignored.
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+--echo
+--echo # Truncate the MyISAM temporary tables, forcing them to be recreated as non-temporary.
+--echo
+TRUNCATE TABLE `sql_temp4_myisam`;
+TRUNCATE TABLE `#sql_temp4_myisam`;
+--echo
+--echo # Confirm that the recreated MyISAM tables are still regarded as temporary and ignored.
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+--echo
+--echo # Drop the recreated MyISAM tables;
+--echo
+DROP TABLE `sql_temp4_myisam`;
+DROP TABLE `#sql_temp4_myisam`;
+--echo
+--echo # Confirm that the recreated temporary tables are still ignored.
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+
+--echo
+--echo #
+--echo # TEST 5: Generate temporary tables with ALTER MyISAM table.
+--echo #
+USE test;
+CREATE TABLE t1 (a int) ENGINE=MYISAM;
+INSERT INTO t1 VALUES (1), (2), (3);
+# Force a path throug mysql_alter_table() and ha_create_table().
+ALTER TABLE t1 ADD COLUMN (b int);
+--echo
+--echo # Confirm that the recreated temporary tables are still ignored.
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
+--echo
+--echo # Drop the MyISAM table
+--echo
+DROP TABLE t1;
+
+--echo
+--echo # Confirm that no tables remain;
+--echo
+SELECT object_type, object_schema, object_name
+FROM performance_schema.objects_summary_global_by_type
+WHERE object_schema="test";
diff --git a/mysql-test/suite/perfschema/t/table_schema.test b/mysql-test/suite/perfschema/t/table_schema.test
new file mode 100644
index 00000000000..f903419bd78
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/table_schema.test
@@ -0,0 +1,57 @@
+# Test to detect changest to the PERFORMANCE_SCHEMA table schemas
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+# Use the INFORMATION_SCHEMA to examine the tables in the PERFORMANCE_SCHEMA
+# and detect any tables that have changed.
+
+select * from information_schema.columns where table_schema="performance_schema"
+ order by table_name, ordinal_position;
+
+# Bug#11766504 "59631: BIGINT UNSIGNED BYTE RELATED COLUMNS IN PERFORMANCE_SCHEMA"
+
+# Goal: Confirm that all byte related columns are BIGINT signed. This test will
+# not have to be changed to accommodate new or deleted columns.
+
+# Count the number of NUMBER_OF_BYTES columns.
+
+select count(*) from information_schema.columns
+ where table_schema="performance_schema" and data_type = "bigint"
+ and column_name like "%number_of_bytes" into @count_byte_columns;
+
+# Confirm that at least one column was found.
+
+select @count_byte_columns > 0;
+
+# Confirm that all NUMBER_OF_BYTES columns are BIGINT signed.
+
+select count(*) from information_schema.columns
+ where table_schema="performance_schema" and data_type="bigint"
+ and column_name like "%number_of_bytes"
+ and column_type not like "%unsigned" into @count_byte_signed;
+
+select (@count_byte_columns - @count_byte_signed) = 0;
+
+# Similar test for OBJECT_INSTANCE_BEGIN values, which are typically derived
+# from a memory address and must therefore be unsigned.
+#
+# Count the number of OBJECT_INSTANCE_BEGIN columns.
+
+select count(*) from information_schema.columns
+ where table_schema="performance_schema" and data_type = "bigint"
+ and column_name like "%object_instance_begin" into @count_object_columns;
+
+# Confirm that at least one column was found.
+
+select @count_object_columns > 0;
+
+# Confirm that all OBJECT_INSTANCE_BEGIN columns are BIGINT unsigned.
+
+select count(*) from information_schema.columns
+ where table_schema="performance_schema" and data_type="bigint"
+ and column_name like "%object_instance_begin"
+ and column_type like "%unsigned" into @count_object_unsigned;
+
+select (@count_object_columns - @count_object_unsigned) = 0;
+
diff --git a/mysql-test/suite/perfschema/t/tampered_perfschema_table1-master.opt b/mysql-test/suite/perfschema/t/tampered_perfschema_table1-master.opt
deleted file mode 100644
index 5f094e68be7..00000000000
--- a/mysql-test/suite/perfschema/t/tampered_perfschema_table1-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-debug=+d,tampered_perfschema_table1
diff --git a/mysql-test/suite/perfschema/t/tampered_perfschema_table1.test b/mysql-test/suite/perfschema/t/tampered_perfschema_table1.test
deleted file mode 100644
index e06a8fae892..00000000000
--- a/mysql-test/suite/perfschema/t/tampered_perfschema_table1.test
+++ /dev/null
@@ -1,29 +0,0 @@
-# Tests for PERFORMANCE_SCHEMA
-
-# This test uses error injection,
-# see PFS_engine_table_share::check_all_tables()
-
-# Verify that the server starts even when a performance schema table
-# is corrupted, with an incompatible change.
-# Verify that using that table nicely fails.
-# Verify that other tables are not affected.
-
---source include/have_debug.inc
---source include/not_embedded.inc
---source include/have_perfschema.inc
-
-# The message prints 'mysql.setup_instruments'
-# instead of 'performance_schema.setup_instruments',
-# due to Bug#46792
-
-call mtr.add_suppression(
-"Column count of mysql.setup_instruments is wrong. "
-"Expected 4, found 3. The table is probably corrupted");
-
---error ER_WRONG_NATIVE_TABLE_STRUCTURE
-select * from performance_schema.setup_instruments limit 1;
-
---disable_result_log
-select * from performance_schema.setup_consumers limit 1;
---enable_result_log
-
diff --git a/mysql-test/suite/perfschema/t/temp_table_io.test b/mysql-test/suite/perfschema/t/temp_table_io.test
new file mode 100644
index 00000000000..7a4d69997ab
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/temp_table_io.test
@@ -0,0 +1,28 @@
+# Tests for PERFORMANCE_SCHEMA table io
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/table_io_setup_helper.inc
+
+let $engine_type= MyISAM;
+let $table_item= test.no_index_tab;
+--disable_warnings
+eval drop temporary table if exists $table_item;
+--enable_warnings
+
+# Start recording events
+update performance_schema.setup_consumers set enabled = 'YES';
+insert into marker set a = 1;
+eval create temporary table $table_item
+( a varchar(255) not null, b int not null) engine = $engine_type;
+insert into marker set a = 1;
+eval show create table $table_item;
+--source ../include/table_io_basic_dml.inc
+eval drop temporary table $table_item;
+
+# Stop recording events + pull result
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/thread_cache-master.opt b/mysql-test/suite/perfschema/t/thread_cache-master.opt
new file mode 100644
index 00000000000..52d8d233ea2
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/thread_cache-master.opt
@@ -0,0 +1 @@
+--loose-performance_schema_max_thread_class=200
diff --git a/mysql-test/suite/perfschema/t/thread_cache.test b/mysql-test/suite/perfschema/t/thread_cache.test
index cef0c2553f5..4ebadfde9fb 100644
--- a/mysql-test/suite/perfschema/t/thread_cache.test
+++ b/mysql-test/suite/perfschema/t/thread_cache.test
@@ -3,6 +3,12 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
+#
+# Important note:
+# this test is extremely sensitive to how threads are running inside the server,
+# so it has it's own -master.opt file, to enforce it runs alone in mysqld
+#
+
# Setup
flush status;
@@ -43,6 +49,10 @@ select @thread_id_increment;
--connection default
+# Debug
+# select * from performance_schema.threads
+# where name like "thread/sql/one_connection";
+
# Wait for the disconnect con2 to complete
let $wait_condition=
select count(*) = 2 from performance_schema.threads
@@ -61,6 +71,10 @@ let $con3_THREAD_ID=`select thread_id from performance_schema.threads
--connection default
+# Debug
+# select * from performance_schema.threads
+# where name like "thread/sql/one_connection";
+
# Wait for the disconnect con1 and con3 to complete
let $wait_condition=
select count(*) = 1 from performance_schema.threads
@@ -107,6 +121,10 @@ select @thread_id_increment;
--connection default
+# Debug
+# select * from performance_schema.threads
+# where name like "thread/sql/one_connection";
+
# Wait for the disconnect con2 to complete
let $wait_condition=
select count(*) = 2 from performance_schema.threads
@@ -125,6 +143,10 @@ let $con3_THREAD_ID=`select thread_id from performance_schema.threads
--connection default
+# Debug
+# select * from performance_schema.threads
+# where name like "thread/sql/one_connection";
+
# Wait for the disconnect con1 and con3 to complete
let $wait_condition=
select count(*) = 1 from performance_schema.threads
diff --git a/mysql-test/suite/perfschema/t/threads_innodb.test b/mysql-test/suite/perfschema/t/threads_innodb.test
new file mode 100644
index 00000000000..66bceab724a
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/threads_innodb.test
@@ -0,0 +1,20 @@
+
+# Tests for special content of performance_schema.threads
+#
+# Show InnoDB related content in performance_schema.threads
+
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+--source include/have_perfschema.inc
+
+# There are several InnoDB io_handler_threads servicing for read IO, write IO etc.
+# The number of these threads is at least for some types configurable.
+# We suppress here duplicates rows with the goal to avoid that the test fails
+# in case some defaults are changed.
+SELECT name, type, processlist_user, processlist_host, processlist_db,
+ processlist_command, processlist_time, processlist_state, processlist_info,
+ parent_thread_id, role, instrumented
+FROM performance_schema.threads
+WHERE name LIKE 'thread/innodb/%'
+GROUP BY name;
+
diff --git a/mysql-test/suite/perfschema/t/threads_insert_delayed.test b/mysql-test/suite/perfschema/t/threads_insert_delayed.test
new file mode 100644
index 00000000000..a9f3edc6cfe
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/threads_insert_delayed.test
@@ -0,0 +1,40 @@
+
+# Tests for special content of performance_schema.threads
+#
+# The feature INSERT DELAYED (supported by MyISAM,MEMORY,ARCHIVE,BLACKHOLE)
+# causes that a "delayed_insert" thread shows up as soon as the first
+# INSERT DELAYED was issued.
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TEMPORARY TABLE IF EXISTS t2;
+--enable_warnings
+CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM;
+CREATE TEMPORARY TABLE t2 AS
+SELECT thread_id FROM performance_schema.threads WHERE 1 = 2;
+
+# Reveal that the delayed_insert thread does not exist.
+# Note(mleich): This expectation is probably not all time true.
+SELECT COUNT(*) = 0 AS expect_1 FROM performance_schema.threads
+WHERE name = 'thread/sql/delayed_insert';
+
+INSERT INTO t2 SELECT thread_id
+FROM performance_schema.threads;
+
+let $wait_condition= SELECT COUNT(*) = 1 AS expect_0 FROM performance_schema.threads
+WHERE name = 'thread/sql/delayed_insert';
+INSERT DELAYED INTO t1 SET f1 = SLEEP(3);
+--source include/wait_condition.inc
+
+# Expect to get
+# thread/sql/delayed_insert FOREGROUND YES root localhost
+SELECT name, type, instrumented, processlist_user, processlist_host
+FROM performance_schema.threads
+WHERE thread_id NOT IN (SELECT thread_id FROM t2);
+
+DROP TABLE t1;
+DROP TEMPORARY TABLE t2;
+
diff --git a/mysql-test/suite/perfschema/t/threads_mysql-master.opt b/mysql-test/suite/perfschema/t/threads_mysql-master.opt
new file mode 100644
index 00000000000..f93413a61e5
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/threads_mysql-master.opt
@@ -0,0 +1 @@
+--event-scheduler
diff --git a/mysql-test/suite/perfschema/t/threads_mysql.test b/mysql-test/suite/perfschema/t/threads_mysql.test
new file mode 100644
index 00000000000..c33f421863e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/threads_mysql.test
@@ -0,0 +1,116 @@
+
+# Tests for special content of performance_schema.threads
+#
+# Show MySQL server related content in performance_schema.threads
+
+--source include/not_windows.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+# Ensure that the event scheduler (started via threads_mysql-master.opt)
+# is really running.
+--source include/pfs_running_event_scheduler.inc
+
+SET GLOBAL event_scheduler = OFF;
+--source include/pfs_no_running_event_scheduler.inc
+
+--vertical_results
+
+# Show all "system" threads except the event scheduler
+# ---------------------------------------------------
+# 0. The values within the columns "thread_id" and "processlist_id" depend
+# on server history. Therefore they are unstable and need to be omitted.
+# 1. The columns "time" and "state" are omitted because it is thinkable that
+# they contain slightly unstable though correct values.
+# 2. The unification of the column "parent_thread_id" is in the moment most
+# probably not required because I observed all time that the parent is
+# "thread/sql/main" with the thread_id = 1.
+# But there might be more kinds of parents with most probably unstable
+# "thread_id" values in future.
+# 3. In case the test is started with the option "--ps-protocol" we will
+# find a correcet row for our current thread but the content will differ.
+# Therefore we have to disable this protocol for the next statement.
+--disable_ps_protocol
+SELECT name, type, processlist_user, processlist_host, processlist_db,
+ processlist_command, processlist_info,
+ IF(parent_thread_id IS NULL, parent_thread_id, 'unified parent_thread_id')
+ AS unified_parent_thread_id,
+ role, instrumented
+FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%'
+ORDER BY name;
+--enable_ps_protocol
+
+CREATE TEMPORARY TABLE t1 AS
+SELECT thread_id FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%';
+
+
+SET GLOBAL event_scheduler = ON;
+--source include/pfs_running_event_scheduler.inc
+
+# Show entries belonging to the just started event scheduler
+SELECT name, type, processlist_user, processlist_host, processlist_db,
+ processlist_command, processlist_info,
+ IF(parent_thread_id IS NULL, parent_thread_id, 'unified parent_thread_id')
+ AS unified_parent_thread_id,
+ role, instrumented
+FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%'
+ AND thread_id NOT IN (SELECT thread_id FROM t1)
+ORDER BY name;
+
+TRUNCATE t1;
+INSERT INTO t1
+SELECT thread_id FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%';
+SELECT COUNT(*) INTO @aux FROM t1;
+
+# Attention:
+# Just waiting for some new thread showing up is not sufficient because
+# because the successing SELECT showing the thread might catch this thread
+# in a very early and short phase.
+# process_info si quite often
+# CREATE PROCEDURE `t_ps_event`() SQL SECURITY INVOKER SELECT SLEEP(3)
+#
+let $wait_condition=
+SELECT COUNT(*) = 1 FROM information_schema.processlist
+WHERE info = 'SELECT SLEEP(3)';
+
+--disable_warnings
+DROP EVENT IF EXISTS t_ps_event;
+--enable_warnings
+CREATE EVENT t_ps_event
+ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND
+DO SELECT SLEEP(3);
+
+# Wait till one more thread comes up.
+# This must be the event worker thread.
+let $wait_timeout= 20;
+--source include/wait_condition.inc
+
+# Show entries belonging to the just started event worker
+SELECT name, type, processlist_user, processlist_host, processlist_db,
+ processlist_command, processlist_info,
+ IF(parent_thread_id IS NULL, parent_thread_id, 'unified parent_thread_id')
+ AS unified_parent_thread_id,
+ role, instrumented
+FROM performance_schema.threads
+WHERE name LIKE 'thread/sql%'
+ AND thread_id NOT IN (SELECT thread_id FROM t1)
+ORDER BY name;
+
+# Show parent - child relations between "system" threads
+# ------------------------------------------------------
+--horizontal_results
+SELECT t2.name AS parent_thread_name, t1.name AS child_thread_name
+FROM performance_schema.threads t1 INNER JOIN performance_schema.threads t2
+ON t1.parent_thread_id = t2.thread_id
+WHERE t1.name LIKE 'thread/sql%'
+ AND t1.parent_thread_id IS NOT NULL
+ORDER BY parent_thread_name, child_thread_name;
+
+# Cleanup
+# Wait till the event worker disappeared
+--source include/no_running_events.inc
+
diff --git a/mysql-test/suite/perfschema/t/trigger_table_io.test b/mysql-test/suite/perfschema/t/trigger_table_io.test
new file mode 100644
index 00000000000..090d64e330e
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/trigger_table_io.test
@@ -0,0 +1,74 @@
+# Tests for PERFORMANCE_SCHEMA table io
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/table_io_setup_helper.inc
+
+let $engine_type= MyISAM;
+
+--disable_warnings
+drop table if exists test.t1;
+drop table if exists test.t2;
+--enable_warnings
+
+eval create table test.t1 (a int, v int) engine = $engine_type;
+eval create table test.t2 (b int, v int) engine = $engine_type;
+
+create trigger t1_bi before insert on t1
+for each row insert into test.t2 set b = new.a, v = 0;
+
+create trigger t1_ai after insert on t1
+for each row update test.t2 set v = 1 where b = new.a;
+
+create trigger t1_bu before update on t1
+for each row update test.t2 set v = 3 where b = old.a;
+
+create trigger t1_au after update on t1
+for each row update test.t2 set v = 4 where b = new.a;
+
+create trigger t1_bd before delete on t1
+for each row delete from test.t2 where b = old.a;
+
+create trigger t1_ad after delete on t1
+for each row insert into test.t2 set b = old.a, v = 99;
+
+# Start recording events
+update performance_schema.setup_consumers set enabled = 'YES';
+
+# Code to test
+
+insert into marker set a = 1;
+insert into t1 set a = 1, v = 10;
+insert into marker set a = 1;
+insert into t1 set a = 2, v = 20;
+insert into marker set a = 1;
+select * from t1;
+insert into marker set a = 1;
+select * from t2;
+insert into marker set a = 1;
+update t1 set v = v + 100;
+insert into marker set a = 1;
+select * from t1;
+insert into marker set a = 1;
+select * from t2;
+insert into marker set a = 1;
+delete from t1 where a = 1;
+insert into marker set a = 1;
+select * from t1;
+insert into marker set a = 1;
+select * from t2;
+insert into marker set a = 1;
+delete from t1 where a = 2;
+insert into marker set a = 1;
+select * from t1;
+insert into marker set a = 1;
+select * from t2;
+
+# Stop recording events + pull results
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+drop table test.t1;
+drop table test.t2;
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/perfschema/t/unary_digest.test b/mysql-test/suite/perfschema/t/unary_digest.test
new file mode 100644
index 00000000000..d8daea70d38
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/unary_digest.test
@@ -0,0 +1,98 @@
+# ----------------------------------------------------
+# Tests for the performance schema statement Digests.
+# ----------------------------------------------------
+
+# Test case to show behavior of statements digest when
+# statement-digest-size is 0
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/no_protocol.inc
+
+TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
+
+--disable_query_log
+
+--error ER_NO_SUCH_TABLE
+select 1 from expect_unary;
+--error ER_NO_SUCH_TABLE
+select +1 from expect_unary;
+--error ER_NO_SUCH_TABLE
+select -1 from expect_unary;
+--error ER_NO_SUCH_TABLE
+select ++++++++++++++++++++++++++++++++++++++++++++++++1 from expect_unary;
+--error ER_NO_SUCH_TABLE
+select ------------------------------------------------1 from expect_unary;
+
+--error ER_NO_SUCH_TABLE
+select 0+1 from expect_binary;
+--error ER_NO_SUCH_TABLE
+select 0-1 from expect_binary;
+--error ER_NO_SUCH_TABLE
+select 0 ++++++++++++++++++++++++++++++++++++++++++++++++1 from expect_binary;
+--error ER_NO_SUCH_TABLE
+select 0 ------------------------------------------------1 from expect_binary;
+
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (0, 0, 0);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (0, 0, -1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (0, 0, +1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (0, -1, 0);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (0, -1, -1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (0, -1, +1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (0, +1, 0);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (0, +1, -1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (0, +1, +1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (-1, 0, 0);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (-1, 0, -1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (-1, 0, +1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (-1, -1, 0);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (-1, -1, -1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (-1, -1, +1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (-1, +1, 0);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (-1, +1, -1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (-1, +1, +1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (+1, 0, 0);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (+1, 0, -1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (+1, 0, +1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (+1, -1, 0);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (+1, -1, -1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (+1, -1, +1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (+1, +1, 0);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (+1, +1, -1);
+--error ER_NO_SUCH_TABLE
+insert into expect_full_reduce values (+1, +1, +1);
+
+--error ER_NO_SUCH_TABLE
+select a-b, a+b, -a, -b, +a, +b from expect_unchanged;
+
+--enable_query_log
+
+SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR
+ FROM performance_schema.events_statements_summary_by_digest;
+
diff --git a/mysql-test/suite/perfschema/t/update_order-3837.test b/mysql-test/suite/perfschema/t/update_order-3837.test
new file mode 100644
index 00000000000..72e3941fcde
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/update_order-3837.test
@@ -0,0 +1,8 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# MDEV-3837 Assertion `table->read_set == &table->def_read_set' failed on updating a performance_schema table
+#
+UPDATE performance_schema.setup_instruments SET timed = 'YES' ORDER BY name;
+
diff --git a/mysql-test/suite/perfschema/t/view_table_io.test b/mysql-test/suite/perfschema/t/view_table_io.test
new file mode 100644
index 00000000000..703f5414ba4
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/view_table_io.test
@@ -0,0 +1,39 @@
+# Tests for PERFORMANCE_SCHEMA table io
+# Reveal that in case of DML on an updatable view the
+# base table used within the view shows up whereas
+# the view itself never shows up.
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source ../include/table_io_setup_helper.inc
+
+let $engine_type= MyISAM;
+let $table_item= test.v1;
+
+--disable_warnings
+eval drop view if exists $table_item;
+drop table if exists test.no_index_tab;
+--enable_warnings
+
+
+# Start recording events
+update performance_schema.setup_consumers set enabled='YES';
+insert into marker set a = 1;
+eval create table test.no_index_tab
+( a varchar(255) not null, b int not null) engine = $engine_type;
+insert into marker set a = 1;
+# Make sure the proper engine is used
+show create table test.no_index_tab;
+insert into marker set a = 1;
+eval create view $table_item as select * from test.no_index_tab;
+--source ../include/table_io_basic_dml.inc
+eval drop view $table_item;
+insert into marker set a = 1;
+drop table test.no_index_tab;
+
+# Stop recording events + pull result
+--source ../include/table_io_result_helper.inc
+
+# Cleanup
+--source ../include/table_io_cleanup_helper.inc
+
diff --git a/mysql-test/suite/plugins/r/audit_null.result b/mysql-test/suite/plugins/r/audit_null.result
index 79de1f7df80..75eb5a9f682 100644
--- a/mysql-test/suite/plugins/r/audit_null.result
+++ b/mysql-test/suite/plugins/r/audit_null.result
@@ -1,5 +1,6 @@
set @old_global_general_log=@@global.general_log;
set global general_log=OFF;
+create user testuser@localhost;
grant select on *.* to testuser@localhost;
install plugin audit_null soname 'adt_null';
select 1;
@@ -19,7 +20,7 @@ concat("test1", x)
test1-12
show status like 'audit_null%';
Variable_name Value
-Audit_null_called 21
+Audit_null_called 22
Audit_null_general_error 1
Audit_null_general_log 7
Audit_null_general_result 5
@@ -77,9 +78,12 @@ root[root] @ localhost [] >> select * from t1
root[root] @ localhost [] test.t1 : read
root[root] @ localhost [] >> rename table t1 to t2
root[root] @ localhost [] test.t1 : rename to test.t2
+root[root] @ localhost [] mysql.table_stats : write
+root[root] @ localhost [] mysql.column_stats : write
+root[root] @ localhost [] mysql.index_stats : write
root[root] @ localhost [] >> alter table t2 add column b int
-root[root] @ localhost [] test.t2 : read
root[root] @ localhost [] test.t2 : alter
+root[root] @ localhost [] test.t2 : read
root[root] @ localhost [] >> create definer=testuser@localhost view v1 as select t2.a+1, t2_copy.a+2 from t2, t2 as t2_copy
root[root] @ localhost [] test.t2 : read
root[root] @ localhost [] test.t2 : read
@@ -97,6 +101,9 @@ root[root] @ localhost [] test.t2 : read
root[root] @ localhost [] >> select distinct * from t2
root[root] @ localhost [] test.t2 : read
root[root] @ localhost [] >> drop table t2
+root[root] @ localhost [] mysql.table_stats : write
+root[root] @ localhost [] mysql.column_stats : write
+root[root] @ localhost [] mysql.index_stats : write
root[root] @ localhost [] test.t2 : drop
root[root] @ localhost [] >> uninstall plugin audit_null
root[root] @ localhost [] mysql.plugin : write
diff --git a/mysql-test/suite/plugins/r/audit_null_debug.result b/mysql-test/suite/plugins/r/audit_null_debug.result
index 86a22135852..e88f5465e47 100644
--- a/mysql-test/suite/plugins/r/audit_null_debug.result
+++ b/mysql-test/suite/plugins/r/audit_null_debug.result
@@ -1,12 +1,14 @@
+set @old_dbug=@@debug_dbug;
call mtr.add_suppression("Incorrect key file for table.*mysql.plugin.MYI");
SET debug_dbug='+d,myisam_pretend_crashed_table_on_usage';
install plugin audit_null soname 'adt_null';
ERROR HY000: Incorrect key file for table './mysql/plugin.MYI'; try to repair it
-SET debug_dbug='-d,myisam_pretend_crashed_table_on_usage';
+SET debug_dbug=@old_dbug;
install plugin audit_null soname 'adt_null';
SET debug_dbug='+d,myisam_pretend_crashed_table_on_usage';
uninstall plugin audit_null;
ERROR HY000: Incorrect key file for table './mysql/plugin.MYI'; try to repair it
-SET debug_dbug='-d,myisam_pretend_crashed_table_on_usage';
+SET debug_dbug=@old_dbug;
uninstall plugin audit_null;
ERROR 42000: PLUGIN audit_null does not exist
+delete from mysql.plugin where name='audit_null';
diff --git a/mysql-test/suite/plugins/r/auth_ed25519.result b/mysql-test/suite/plugins/r/auth_ed25519.result
new file mode 100644
index 00000000000..240e226f594
--- /dev/null
+++ b/mysql-test/suite/plugins/r/auth_ed25519.result
@@ -0,0 +1,50 @@
+create function ed25519_password returns string soname "auth_ed25519.so";
+select ed25519_password();
+ERROR HY000: Can't initialize function 'ed25519_password'; Wrong arguments to ed25519_password()
+select ed25519_password(1);
+ERROR HY000: Can't initialize function 'ed25519_password'; Wrong arguments to ed25519_password()
+select ed25519_password("foo", "bar");
+ERROR HY000: Can't initialize function 'ed25519_password'; Wrong arguments to ed25519_password()
+select ed25519_password("foo");
+ERROR HY000: Can't initialize function 'ed25519_password'; Authentication plugin ed25519 is not loaded
+install soname 'auth_ed25519';
+select ed25519_password("foo");
+ed25519_password("foo")
+vubFBzIrapbfHct1/J72dnUryz5VS7lA6XHH8sIx4TI
+select ed25519_password("foobar");
+ed25519_password("foobar")
+qv2mG6HWCuy32Slb5xhV4THStewNz2VINVPbgk+XAJ8
+select ed25519_password("foo bar");
+ed25519_password("foo bar")
+Y5fV74JAVRMOK2cdnUsYS+WW9sXaaL/o+6WGKOgqnzc
+select ed25519_password(NULL);
+ed25519_password(NULL)
+NULL
+select * from information_schema.plugins where plugin_name='ed25519';
+PLUGIN_NAME ed25519
+PLUGIN_VERSION 1.0
+PLUGIN_STATUS ACTIVE
+PLUGIN_TYPE AUTHENTICATION
+PLUGIN_TYPE_VERSION 2.1
+PLUGIN_LIBRARY auth_ed25519.so
+PLUGIN_LIBRARY_VERSION 1.13
+PLUGIN_AUTHOR Sergei Golubchik
+PLUGIN_DESCRIPTION Elliptic curve ED25519 based authentication
+PLUGIN_LICENSE GPL
+LOAD_OPTION ON
+PLUGIN_MATURITY Stable
+PLUGIN_AUTH_VERSION 1.0
+create user test1@localhost identified via ed25519 using 'ZIgUREUg5PVgQ6LskhXmO+eZLS0nC8be6HPjYWR4YJY';
+show grants for test1@localhost;
+Grants for test1@localhost
+GRANT USAGE ON *.* TO 'test1'@'localhost' IDENTIFIED VIA ed25519 USING 'ZIgUREUg5PVgQ6LskhXmO+eZLS0nC8be6HPjYWR4YJY'
+connect(localhost,test1,public,test,PORT,SOCKET);
+ERROR 28000: Access denied for user 'test1'@'localhost' (using password: YES)
+select current_user();
+current_user()
+test1@localhost
+drop user test1@localhost;
+uninstall plugin ed25519;
+select ed25519_password("foo");
+ERROR HY000: Can't initialize function 'ed25519_password'; Authentication plugin ed25519 is not loaded
+drop function ed25519_password;
diff --git a/mysql-test/suite/plugins/r/auth_v0100.result b/mysql-test/suite/plugins/r/auth_v0100.result
index 53affc94947..325d3dd882c 100644
--- a/mysql-test/suite/plugins/r/auth_v0100.result
+++ b/mysql-test/suite/plugins/r/auth_v0100.result
@@ -1,10 +1,10 @@
install soname 'auth_0x0100';
-select plugin_name, plugin_type_version from information_schema.plugins where plugin_type='authentication' order by plugin_name;
+select plugin_name, plugin_type_version from information_schema.plugins where
+plugin_type='authentication' and plugin_library is not null order by plugin_name;
plugin_name plugin_type_version
auth_0x0100 1.0
-mysql_native_password 2.0
-mysql_old_password 2.0
create user tt identified via auth_0x0100;
+create user zzzzzzzzzzzzzzzz;
grant select on test.* to zzzzzzzzzzzzzzzz;
connect(localhost,tt,,test,MASTER_MYPORT,MASTER_MYSOCK);
ERROR 28000: Access denied for user 'tt'@'localhost' (using password: YES)
diff --git a/mysql-test/suite/plugins/r/binlog-simple_plugin_check.result b/mysql-test/suite/plugins/r/binlog-simple_plugin_check.result
new file mode 100644
index 00000000000..6c960ee325c
--- /dev/null
+++ b/mysql-test/suite/plugins/r/binlog-simple_plugin_check.result
@@ -0,0 +1,19 @@
+INSTALL SONAME "simple_password_check";
+SELECT PLUGIN_NAME FROM INFORMATION_SCHEMA.PLUGINS
+WHERE PLUGIN_NAME='simple_password_check';
+PLUGIN_NAME
+simple_password_check
+#
+# MDEV-14031 Password policy causes replication failure
+#
+CREATE USER user1@localhost IDENTIFIED BY 'BsG9#9.cem#!85';
+CREATE USER user2@localhost IDENTIFIED BY 'bsg9#d.cem#!85';
+ERROR HY000: Your password does not satisfy the current policy requirements
+DROP USER user1@localhost;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE USER user1@localhost IDENTIFIED BY 'BsG9#9.cem#!85'
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP USER user1@localhost
+UNINSTALL PLUGIN simple_password_check;
diff --git a/mysql-test/suite/plugins/r/cassandra.result b/mysql-test/suite/plugins/r/cassandra.result
new file mode 100644
index 00000000000..67ae2cab708
--- /dev/null
+++ b/mysql-test/suite/plugins/r/cassandra.result
@@ -0,0 +1,636 @@
+drop table if exists t0, t1;
+#
+# Check variables and status counters
+#
+show status like 'cassandra%';
+Variable_name Value
+Cassandra_row_inserts 0
+Cassandra_row_insert_batches 0
+Cassandra_multiget_keys_scanned 0
+Cassandra_multiget_reads 0
+Cassandra_multiget_rows_read 0
+Cassandra_network_exceptions 0
+Cassandra_timeout_exceptions 0
+Cassandra_unavailable_exceptions 0
+show variables like 'cassandra%';
+Variable_name Value
+cassandra_default_thrift_host
+cassandra_failure_retries 3
+cassandra_insert_batch_size 100
+cassandra_multiget_batch_size 100
+cassandra_read_consistency ONE
+cassandra_rnd_batch_size 10000
+cassandra_write_consistency ONE
+#
+# Test various errors on table creation.
+#
+create table t1 (a int) engine=cassandra
+thrift_host='localhost' keyspace='foo' column_family='colfam';
+ERROR 42000: This table type requires a primary key
+create table t1 (a int primary key, b int) engine=cassandra
+thrift_host='localhost' keyspace='foo' column_family='colfam';
+ERROR HY000: Unable to connect to foreign data source: Default TException. [Keyspace foo does not exist]
+create table t1 (rowkey char(10) primary key, column1 char(10)) engine=cassandra
+thrift_host='127.0.0.2' keyspace='foo' column_family='colfam';
+ERROR HY000: Unable to connect to foreign data source: connect() failed: Connection refused [1]
+create table t1 (rowkey char(10) primary key, column1 char(10)) engine=cassandra
+thrift_host='localhost' keyspace='no_such_keyspace' column_family='colfam';
+ERROR HY000: Unable to connect to foreign data source: Default TException. [Keyspace no_such_keyspace does not exist]
+create table t1 (rowkey char(10) primary key, column1 char(10)) engine=cassandra
+thrift_host='localhost' keyspace='no_such_keyspace';
+ERROR HY000: Unable to connect to foreign data source: keyspace and column_family table options must be specified
+# Now, create a table for real and insert data
+create table t1 (pk varchar(36) primary key, data1 varchar(60), data2 bigint) engine=cassandra
+thrift_host='localhost' keyspace='mariadbtest2' column_family='cf1';
+# Just in case there were left-overs from previous:
+delete from t1;
+select * from t1;
+pk data1 data2
+insert into t1 values ('rowkey10', 'data1-value', 123456);
+insert into t1 values ('rowkey11', 'data1-value2', 34543);
+insert into t1 values ('rowkey12', 'data1-value3', 454);
+select * from t1;
+pk data1 data2
+rowkey12 data1-value3 454
+rowkey10 data1-value 123456
+rowkey11 data1-value2 34543
+explain
+select * from t1 where pk='rowkey11';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 const PRIMARY PRIMARY 38 const 1
+select * from t1 where pk='rowkey11';
+pk data1 data2
+rowkey11 data1-value2 34543
+delete from t1 where pk='rowkey11';
+select * from t1;
+pk data1 data2
+rowkey12 data1-value3 454
+rowkey10 data1-value 123456
+delete from t1;
+select * from t1;
+pk data1 data2
+#
+# A query with filesort (check that table_flags() & HA_REC_NOT_IN_SEQ,
+# also check ::rnd_pos()
+#
+insert into t1 values ('rowkey10', 'data1-value', 123456);
+insert into t1 values ('rowkey11', 'data1-value2', 34543);
+insert into t1 values ('rowkey12', 'data1-value3', 454);
+select * from t1 order by data2;
+pk data1 data2
+rowkey12 data1-value3 454
+rowkey11 data1-value2 34543
+rowkey10 data1-value 123456
+delete from t1;
+drop table t1;
+#
+# MDEV-476: Cassandra: Server crashes in calculate_key_len on DELETE with ORDER BY
+#
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+INSERT INTO t1 VALUES (1,1),(2,2);
+DELETE FROM t1 ORDER BY a LIMIT 1;
+DROP TABLE t1;
+#
+# Batched INSERT
+#
+show variables like 'cassandra_insert_batch_size';
+Variable_name Value
+cassandra_insert_batch_size 100
+show status like 'cassandra_row_insert%';
+Variable_name Value
+Cassandra_row_inserts 8
+Cassandra_row_insert_batches 7
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+delete from t1;
+INSERT INTO t1 VALUES (1,1),(2,2);
+DELETE FROM t1 ORDER BY a LIMIT 1;
+DROP TABLE t1;
+show status like 'cassandra_row_insert%';
+Variable_name Value
+Cassandra_row_inserts 10
+Cassandra_row_insert_batches 8
+# FLUSH STATUS doesn't work for our variables, just like with InnoDB.
+flush status;
+show status like 'cassandra_row_insert%';
+Variable_name Value
+Cassandra_row_inserts 10
+Cassandra_row_insert_batches 8
+#
+# Batched Key Access
+#
+# Control variable (we are not yet able to make use of MRR's buffer)
+show variables like 'cassandra_multi%';
+Variable_name Value
+cassandra_multiget_batch_size 100
+# MRR-related status variables:
+show status like 'cassandra_multi%';
+Variable_name Value
+Cassandra_multiget_keys_scanned 0
+Cassandra_multiget_reads 0
+Cassandra_multiget_rows_read 0
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+delete from t1;
+INSERT INTO t1 VALUES (0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
+set @tmp_jcl=@@join_cache_level;
+set join_cache_level=8;
+explain select * from t1 A, t1 B where B.rowkey=A.a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE A ALL NULL NULL NULL NULL 1000 Using where
+1 SIMPLE B eq_ref PRIMARY PRIMARY 8 test.A.a 1 Using join buffer (flat, BKAH join); multiget_slice
+select * from t1 A, t1 B where B.rowkey=A.a;
+rowkey a rowkey a
+0 0 0 0
+1 1 1 1
+2 2 2 2
+3 3 3 3
+4 4 4 4
+5 5 5 5
+6 6 6 6
+7 7 7 7
+8 8 8 8
+9 9 9 9
+show status like 'cassandra_multi%';
+Variable_name Value
+Cassandra_multiget_keys_scanned 10
+Cassandra_multiget_reads 1
+Cassandra_multiget_rows_read 10
+insert into t1 values(1, 8);
+insert into t1 values(3, 8);
+insert into t1 values(5, 8);
+insert into t1 values(7, 8);
+select * from t1 A, t1 B where B.rowkey=A.a;
+rowkey a rowkey a
+0 0 0 0
+2 2 2 2
+4 4 4 4
+6 6 6 6
+1 8 8 8
+7 8 8 8
+8 8 8 8
+5 8 8 8
+3 8 8 8
+9 9 9 9
+show status like 'cassandra_multi%';
+Variable_name Value
+Cassandra_multiget_keys_scanned 16
+Cassandra_multiget_reads 2
+Cassandra_multiget_rows_read 16
+delete from t1;
+drop table t1;
+#
+# MDEV-480: TRUNCATE TABLE on a Cassandra table does not remove rows
+#
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+INSERT INTO t1 VALUES (0,0),(1,1),(2,2);
+truncate table t1;
+select * from t1;
+rowkey a
+drop table t1;
+#
+# MDEV-494, part #1: phantom row for big full-scan selects
+#
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+insert into t1 select A.a + 10 * B.a + 100*C.a, 12345 from t0 A, t0 B, t0 C;
+select count(*) from t1;
+count(*)
+1000
+select count(*) from t1 where a=12345;
+count(*)
+1000
+delete from t1;
+drop table t1;
+drop table t0;
+# 32-bit INT type support
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, intcol INT) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf3';
+insert into t1 values (10,10);
+insert into t1 values (12,12);
+delete from t1;
+drop table t1;
+#
+# Try accessing column family w/o explicitly defined columns
+#
+CREATE TABLE t1 (my_primary_key varchar(10) PRIMARY KEY) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf10';
+ERROR HY000: Internal error: target column family has no key_alias defined, PRIMARY KEY column must be named 'rowkey'
+CREATE TABLE t1 (rowkey varchar(10) PRIMARY KEY) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf10';
+DROP TABLE t1;
+#
+# Timestamp datatype support
+#
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, datecol timestamp) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf4';
+delete from t2;
+insert into t2 values (1, '2012-08-29 01:23:45');
+select * from t2;
+rowkey datecol
+1 2012-08-29 01:23:45
+delete from t2;
+# MDEV-498: Cassandra: Inserting a timestamp does not work on a 32-bit system
+INSERT INTO t2 VALUES (10,'2012-12-12 12:12:12');
+SELECT * FROM t2;
+rowkey datecol
+10 2012-12-12 12:12:12
+delete from t2;
+#
+# (no MDEV#) Check that insert counters work correctly
+#
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+set cassandra_insert_batch_size=10;
+insert into t2 select A.a+10*B.a, now() from t0 A, t0 B;
+inserts insert_batches
+100 10
+set cassandra_insert_batch_size=1;
+insert into t2 select A.a+10*B.a+100, now() from t0 A, t0 B;
+inserts insert_batches
+100 100
+delete from t2;
+drop table t2;
+drop table t0;
+#
+# UUID datatype support
+#
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol char(36)) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+delete from t2;
+insert into t2 values(1,'9b5658dc-f32f-11e1-94cd-f46d046e9f09');
+insert into t2 values(2,'not-an-uuid');
+ERROR 22003: Out of range value for column 'uuidcol' at row 1
+insert into t2 values(3,'9b5658dc-f32f-11e1=94cd-f46d046e9f09');
+ERROR 22003: Out of range value for column 'uuidcol' at row 1
+insert into t2 values(4,'9b5658dc-fzzf-11e1-94cd-f46d046e9f09');
+ERROR 22003: Out of range value for column 'uuidcol' at row 1
+insert into t2 values
+(5,'9b5658dc-f11f-11e1-94cd-f46d046e9f09'),
+(6,'9b5658dc-f11f011e1-94cd-f46d046e9f09');
+ERROR 22003: Out of range value for column 'uuidcol' at row 2
+select * from t2;
+rowkey uuidcol
+1 9b5658dc-f32f-11e1-94cd-f46d046e9f09
+5 9b5658dc-f11f-11e1-94cd-f46d046e9f09
+delete from t2;
+drop table t2;
+CREATE TABLE t2 (rowkey char(36) PRIMARY KEY, col1 int) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf6';
+delete from t2;
+insert into t2 values('9b5658dc-f32f-11e1-94cd-f46d046e9f09', 1234);
+insert into t2 values('not-an-uuid', 563);
+ERROR 22003: Out of range value for column 'rowkey' at row 1
+select * from t2;
+rowkey col1
+9b5658dc-f32f-11e1-94cd-f46d046e9f09 1234
+delete from t2;
+drop table t2;
+#
+# boolean datatype support
+#
+CREATE TABLE t2 (rowkey int PRIMARY KEY, boolcol bool) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf7';
+insert into t2 values (0, 0);
+insert into t2 values (1, 1);
+select * from t2;
+rowkey boolcol
+0 0
+1 1
+delete from t2;
+drop table t2;
+#
+# Counter datatype support (read-only)
+#
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, countercol bigint) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf8';
+select * from t2;
+rowkey countercol
+cnt1 1
+cnt2 100
+drop table t2;
+#
+# Check that @@cassandra_default_thrift_host works
+#
+show variables like 'cassandra_default_thrift_host';
+Variable_name Value
+cassandra_default_thrift_host
+set @tmp=@@cassandra_default_thrift_host;
+set cassandra_default_thrift_host='localhost';
+ERROR HY000: Variable 'cassandra_default_thrift_host' is a GLOBAL variable and should be set with SET GLOBAL
+set global cassandra_default_thrift_host='localhost';
+# Try creating a table without specifying thrift_host:
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, countercol bigint) ENGINE=CASSANDRA
+keyspace='mariadbtest2' column_family = 'cf8';
+select * from t2;
+rowkey countercol
+cnt1 1
+cnt2 100
+drop table t2;
+set global cassandra_default_thrift_host=@tmp;
+#
+# Consistency settings
+#
+show variables like 'cassandra_%consistency';
+Variable_name Value
+cassandra_read_consistency ONE
+cassandra_write_consistency ONE
+set @tmp=@@cassandra_write_consistency;
+# Unfortunately, there is no easy way to check if setting have the effect..
+set cassandra_write_consistency='ONE';
+set cassandra_write_consistency='QUORUM';
+set cassandra_write_consistency='LOCAL_QUORUM';
+set cassandra_write_consistency='EACH_QUORUM';
+set cassandra_write_consistency='ALL';
+set cassandra_write_consistency='ANY';
+set cassandra_write_consistency='TWO';
+set cassandra_write_consistency='THREE';
+set cassandra_write_consistency=@tmp;
+#
+# varint datatype support
+#
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, varint_col varbinary(32)) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf9';
+select rowkey, hex(varint_col) from t2;
+rowkey hex(varint_col)
+val-01 01
+val-0x123456 123456
+val-0x12345678 12345678
+drop table t2;
+# now, let's check what happens when MariaDB's column is not wide enough:
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, varint_col varbinary(2)) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf9';
+select rowkey, hex(varint_col) from t2;
+ERROR HY000: Internal error: Unable to convert value for field `varint_col` from Cassandra's data format. Source data is 4 bytes, 0x12345678
+drop table t2;
+#
+# Decimal datatype support
+#
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, decimal_col varbinary(32)) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf11';
+select rowkey, hex(decimal_col) from t2;
+rowkey hex(decimal_col)
+val_1.5 000000010F
+val_0.5 0000000105
+val_1234 0000000004D2
+drop table t2;
+#
+# Mapping TIMESTAMP -> int64
+#
+set @save_tz= @@time_zone;
+set time_zone='UTC';
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, datecol timestamp) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf4';
+insert into t2 values (1, '2012-08-29 01:23:45');
+INSERT INTO t2 VALUES (10,'2012-08-29 01:23:46');
+drop table t2;
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, datecol bigint) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf4';
+select * from t2;
+rowkey datecol
+1 1346203425000
+10 1346203426000
+delete from t2;
+drop table t2;
+set time_zone=@save_tz;
+#
+# Check whether changing parameters with ALTER TABLE works.
+#
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, decimal_col varbinary(32)) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf11';
+drop table t2;
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, decimal_col varbinary(32)) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf11';
+alter table t2 column_family='cf12';
+Writes made during ALTER TABLE
+0
+drop table t2;
+#
+# UPDATE command support
+#
+create table t1 (pk varchar(36) primary key, data1 varchar(60), data2 bigint) engine=cassandra
+thrift_host='localhost' keyspace='mariadbtest2' column_family='cf1';
+insert into t1 values ('rowkey10', 'data1-value', 123456);
+insert into t1 values ('rowkey11', 'data1-value2', 34543);
+insert into t1 values ('rowkey12', 'data1-value3', 454);
+select * from t1;
+pk data1 data2
+rowkey12 data1-value3 454
+rowkey10 data1-value 123456
+rowkey11 data1-value2 34543
+update t1 set data1='updated-1' where pk='rowkey11';
+select * from t1;
+pk data1 data2
+rowkey12 data1-value3 454
+rowkey10 data1-value 123456
+rowkey11 updated-1 34543
+update t1 set pk='new-rowkey12' where pk='rowkey12';
+select * from t1;
+pk data1 data2
+rowkey10 data1-value 123456
+new-rowkey12 data1-value3 454
+rowkey11 updated-1 34543
+delete from t1;
+drop table t1;
+#
+# Dynamic columns support
+#
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol blob DYNAMIC_COLUMN_STORAGE=1) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+drop table t2;
+#error: dynamic column is not a blob
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol char(36) DYNAMIC_COLUMN_STORAGE=1) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+ERROR 42000: Incorrect column specifier for column 'uuidcol'
+#error: double dynamic column
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol blob DYNAMIC_COLUMN_STORAGE=1, textcol blob DYNAMIC_COLUMN_STORAGE=1) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+ERROR 42000: Incorrect column specifier for column 'textcol'
+#
+# Dynamic column read
+#
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol char(36)) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+delete from t2;
+insert into t2 values(1,'9b5658dc-f32f-11e1-94cd-f46d046e9f09');
+insert into t2 values(2,'9b5658dc-f32f-11e1-94cd-f46d046e9f0a');
+drop table t2;
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+select rowkey, column_list(dyn), column_get(dyn, 'uuidcol' as char) from t2;
+rowkey column_list(dyn) column_get(dyn, 'uuidcol' as char)
+1 `uuidcol` 9b5658dc-f32f-11e1-94cd-f46d046e9f09
+2 `uuidcol` 9b5658dc-f32f-11e1-94cd-f46d046e9f0a
+drop table t2;
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol char(36)) ENGINE=CASSANDRA
+thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+delete from t2;
+drop table t2;
+#
+# Dynamic column insert
+#
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+insert into t2 values (1, column_create("dyn1", 1, "dyn2", "two"));
+select rowkey, column_json(dyn) from t2;
+rowkey column_json(dyn)
+1 {"dyn1":"1","dyn2":"two"}
+delete from t2;
+drop table t2;
+# bigint
+CREATE TABLE t1 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+insert into t1 values (1, column_create("dyn1", 1, "dyn2", "two", 'a', 254324));
+insert into t1 values (2, column_create("dyn1", 1, "dyn2", "two", 'a', 2543));
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"a":254324,"dyn1":"1","dyn2":"two"}
+2 {"a":2543,"dyn1":"1","dyn2":"two"}
+delete from t1;
+drop table t1;
+# int
+CREATE TABLE t1 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf3';
+insert into t1 values (1, column_create("dyn1", 1, "dyn2", "two", 'intcol', 254324));
+insert into t1 values (2, column_create("dyn1", 1, "dyn2", "two", 'intcol', 2543));
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"dyn1":"1","dyn2":"two","intcol":254324}
+2 {"dyn1":"1","dyn2":"two","intcol":2543}
+delete from t1;
+drop table t1;
+# timestamp
+CREATE TABLE t1 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf4';
+insert into t1 values (1, column_create("dyn1", 1, "dyn2", "two", 'datecol', 254324));
+insert into t1 values (2, column_create("dyn1", 1, "dyn2", "two", 'datecol', 2543));
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"dyn1":"1","dyn2":"two","datecol":254324}
+2 {"dyn1":"1","dyn2":"two","datecol":2543}
+delete from t1;
+drop table t1;
+# boolean
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf7';
+insert into t1 values (1, column_create("dyn1", 1, "dyn2", "two", 'boolcol', 254324));
+insert into t1 values (2, column_create("dyn1", 1, "dyn2", "two", 'boolcol', 0));
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"dyn1":"1","dyn2":"two","boolcol":1}
+2 {"dyn1":"1","dyn2":"two","boolcol":0}
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"dyn1":"1","dyn2":"two","boolcol":1}
+2 {"dyn1":"1","dyn2":"two","boolcol":0}
+update t1 set dyn=column_add(dyn, "dyn2", null, "dyn3", "3");
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"dyn1":"1","dyn3":"3","boolcol":1}
+2 {"dyn1":"1","dyn3":"3","boolcol":0}
+update t1 set dyn=column_add(dyn, "dyn1", null) where rowkey= 1;
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"dyn3":"3","boolcol":1}
+2 {"dyn1":"1","dyn3":"3","boolcol":0}
+update t1 set dyn=column_add(dyn, "dyn3", null, "a", "ddd");
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"a":"ddd","boolcol":1}
+2 {"a":"ddd","dyn1":"1","boolcol":0}
+update t1 set dyn=column_add(dyn, "12345678901234", "ddd");
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"a":"ddd","boolcol":1,"12345678901234":"ddd"}
+2 {"a":"ddd","dyn1":"1","boolcol":0,"12345678901234":"ddd"}
+update t1 set dyn=column_add(dyn, "12345678901234", null);
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"a":"ddd","boolcol":1}
+2 {"a":"ddd","dyn1":"1","boolcol":0}
+update t1 set dyn=column_add(dyn, 'boolcol', null) where rowkey= 2;
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"a":"ddd","boolcol":1}
+2 {"a":"ddd","dyn1":"1"}
+update t1 set rowkey= 3, dyn=column_add(dyn, "dyn1", null, 'boolcol', 0) where rowkey= 2;
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+1 {"a":"ddd","boolcol":1}
+3 {"a":"ddd","boolcol":0}
+delete from t1;
+drop table t1;
+CREATE TABLE t1 (rowkey varchar(10) PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd1';
+select * from t1;
+ERROR HY000: Internal error: Unable to convert value for field `dyn` from Cassandra's data format. Name length exceed limit of 16383: 'very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_v
+drop table t1;
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes)
+ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd2';
+DELETE FROM t1;
+insert into t1 values (1, column_create("dyn", 1));
+select rowkey, column_list(dyn) from t1;
+rowkey column_list(dyn)
+1 `dyn`
+delete from t1;
+DROP TABLE t1;
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes)
+ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd2';
+insert into t1 values (1,'9b5658dc-f32f-11e1-94cd-f46d046e9f0a');
+ERROR HY000: Encountered illegal format of dynamic column string
+delete from t1;
+DROP TABLE t1;
+#
+# MDEV-565: Server crashes in ha_cassandra::write_row on
+# inserting NULL into a dynamic column
+#
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes)
+ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd2';
+insert into t1 values (1, NULL);
+delete from t1;
+DROP TABLE t1;
+#
+# strange side effect of Cassandra - remiving all columns of primary
+# key removes all row.
+#
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes)
+ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd2';
+INSERT INTO t1 VALUES(2,column_create("ab","ab"));
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+2 {"ab":"ab"}
+UPDATE t1 set dyn=NULL;
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+INSERT INTO t1 VALUES(2,column_create("ab","ab"));
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+2 {"ab":"ab"}
+UPDATE t1 set dyn="";
+select rowkey, column_json(dyn) from t1;
+rowkey column_json(dyn)
+delete from t1;
+DROP TABLE t1;
+#
+# MDEV-4005 #Server crashes on creating a Cassandra table
+# with a mix of static and dynamic columns
+#
+DROP TABLE IF EXISTS t1, t2;
+CREATE TABLE t1 (
+pk int primary key,
+col_int int,
+dyncol blob DYNAMIC_COLUMN_STORAGE=yes
+) ENGINE=cassandra keyspace='bug' thrift_host = '127.0.0.1' column_family='cf1';
+drop table t1;
+#
+# MDEV-4000: Mapping between Cassandra blob (BytesType) and MySQL BLOB does not work
+#
+create table t1 (rowkey int primary key, b blob ) ENGINE=CASSANDRA thrift_host = '127.0.0.1' `keyspace`='mariadbtest2' `column_family`='cf13';
+insert into t1 values (1, 'fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo-bar');
+insert into t1 values (2, 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq-baz');
+select * from t1;
+rowkey b
+1 fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo-bar
+2 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq-baz
+drop table t1;
+#
+# MDEV-4001: Cassandra: server crashes in ha_cassandra::end_bulk_insert on INSERT .. SELECT with a non-existing column
+#
+create table t1 (rowkey int primary key, a int) ENGINE=cassandra thrift_host='127.0.0.1' keyspace='mariadbtest2' column_family='cf14';
+insert into t1 (a) select b from t1;
+ERROR 42S22: Unknown column 'b' in 'field list'
+drop table t1;
diff --git a/mysql-test/suite/plugins/r/cassandra_qcache.result b/mysql-test/suite/plugins/r/cassandra_qcache.result
new file mode 100644
index 00000000000..32e9db8b817
--- /dev/null
+++ b/mysql-test/suite/plugins/r/cassandra_qcache.result
@@ -0,0 +1,16 @@
+drop table if exists t1, t2;
+create table t1 (rowkey int primary key, a int) engine=cassandra
+thrift_host='localhost' keyspace='mariadbtest2' column_family='cf1';
+create table t2 like t1;
+set global query_cache_size=1024*1024;
+select * from t1;
+rowkey a
+insert into t2 values (1,1);
+select * from t1;
+rowkey a
+1 1
+select sql_no_cache * from t1;
+rowkey a
+1 1
+drop table t1,t2;
+set global QUERY_CACHE_SIZE=0;
diff --git a/mysql-test/suite/plugins/r/cassandra_reinstall.result b/mysql-test/suite/plugins/r/cassandra_reinstall.result
new file mode 100644
index 00000000000..f4874894f70
--- /dev/null
+++ b/mysql-test/suite/plugins/r/cassandra_reinstall.result
@@ -0,0 +1,14 @@
+install soname 'ha_cassandra';
+select plugin_name,plugin_status,plugin_library from information_schema.plugins where plugin_name = 'cassandra';
+plugin_name plugin_status plugin_library
+CASSANDRA ACTIVE ha_cassandra.so
+uninstall plugin cassandra;
+select plugin_name,plugin_status,plugin_library from information_schema.plugins where plugin_name = 'cassandra';
+plugin_name plugin_status plugin_library
+install soname 'ha_cassandra';
+select plugin_name,plugin_status,plugin_library from information_schema.plugins where plugin_name = 'cassandra';
+plugin_name plugin_status plugin_library
+CASSANDRA ACTIVE ha_cassandra.so
+uninstall plugin cassandra;
+select plugin_name,plugin_status,plugin_library from information_schema.plugins where plugin_name = 'cassandra';
+plugin_name plugin_status plugin_library
diff --git a/mysql-test/suite/plugins/r/cracklib_password_check.result b/mysql-test/suite/plugins/r/cracklib_password_check.result
new file mode 100644
index 00000000000..6b4e30b3d81
--- /dev/null
+++ b/mysql-test/suite/plugins/r/cracklib_password_check.result
@@ -0,0 +1,50 @@
+install soname "cracklib_password_check";
+select * from information_schema.plugins where plugin_name='cracklib_password_check';
+PLUGIN_NAME cracklib_password_check
+PLUGIN_VERSION 1.0
+PLUGIN_STATUS ACTIVE
+PLUGIN_TYPE PASSWORD VALIDATION
+PLUGIN_TYPE_VERSION 1.0
+PLUGIN_LIBRARY cracklib_password_check.so
+PLUGIN_LIBRARY_VERSION 1.13
+PLUGIN_AUTHOR Sergei Golubchik
+PLUGIN_DESCRIPTION Password validation via CrackLib
+PLUGIN_LICENSE GPL
+LOAD_OPTION ON
+PLUGIN_MATURITY Stable
+PLUGIN_AUTH_VERSION 1.0
+grant select on *.* to foocar identified by 'foocar';
+ERROR HY000: Your password does not satisfy the current policy requirements
+show warnings;
+Level Code Message
+Warning 1819 cracklib: it is based on your username
+Error 1819 Your password does not satisfy the current policy requirements
+grant select on *.* to foocar identified by 'racoof';
+ERROR HY000: Your password does not satisfy the current policy requirements
+show warnings;
+Level Code Message
+Warning 1819 cracklib: it is based on your username
+Error 1819 Your password does not satisfy the current policy requirements
+grant select on *.* to foo@barbar identified by 'barbar';
+ERROR HY000: Your password does not satisfy the current policy requirements
+show warnings;
+Level Code Message
+Warning 1819 cracklib: it does not contain enough DIFFERENT characters
+Error 1819 Your password does not satisfy the current policy requirements
+grant select on *.* to foobar identified by 'qwerty';
+ERROR HY000: Your password does not satisfy the current policy requirements
+show warnings;
+Level Code Message
+Warning 1819 cracklib: it is based on a dictionary word
+Error 1819 Your password does not satisfy the current policy requirements
+grant select on *.* to foobar identified by 'q$%^&*rty';
+drop user foobar;
+#
+# MDEV-9851: CREATE USER w/o IDENTIFIED BY clause causes crash
+# when using cracklib plugin
+#
+create user 'newuser'@'localhost';
+ERROR HY000: Your password does not satisfy the current policy requirements
+uninstall plugin cracklib_password_check;
+create user foo1 identified by 'pwd';
+drop user foo1;
diff --git a/mysql-test/suite/plugins/r/false_dupes-6543.result b/mysql-test/suite/plugins/r/false_dupes-6543.result
new file mode 100644
index 00000000000..22accaaae8a
--- /dev/null
+++ b/mysql-test/suite/plugins/r/false_dupes-6543.result
@@ -0,0 +1,5 @@
+install soname 'ha_federated';
+install soname 'ha_federated';
+install soname 'ha_federatedx';
+ERROR HY000: Function 'FEDERATED' already exists
+uninstall soname 'ha_federated';
diff --git a/mysql-test/suite/plugins/r/feedback_plugin_load.result b/mysql-test/suite/plugins/r/feedback_plugin_load.result
index ee433feb666..8770ce19f49 100644
--- a/mysql-test/suite/plugins/r/feedback_plugin_load.result
+++ b/mysql-test/suite/plugins/r/feedback_plugin_load.result
@@ -15,3 +15,12 @@ FEEDBACK_SEND_RETRY_WAIT 60
FEEDBACK_SEND_TIMEOUT 60
FEEDBACK_URL http://mariadb.org/feedback_plugin/post
FEEDBACK_USER_INFO mysql-test
+SELECT VARIABLE_VALUE>0, VARIABLE_NAME FROM INFORMATION_SCHEMA.FEEDBACK
+WHERE VARIABLE_NAME LIKE 'Collation used %'
+ORDER BY VARIABLE_NAME;
+VARIABLE_VALUE>0 VARIABLE_NAME
+1 Collation used binary
+1 Collation used latin1_bin
+1 Collation used latin1_swedish_ci
+1 Collation used utf8_bin
+1 Collation used utf8_general_ci
diff --git a/mysql-test/suite/plugins/r/feedback_plugin_send.result b/mysql-test/suite/plugins/r/feedback_plugin_send.result
index 881a5aa5040..935ea11d67b 100644
--- a/mysql-test/suite/plugins/r/feedback_plugin_send.result
+++ b/mysql-test/suite/plugins/r/feedback_plugin_send.result
@@ -15,6 +15,15 @@ FEEDBACK_SEND_RETRY_WAIT 60
FEEDBACK_SEND_TIMEOUT 60
FEEDBACK_URL http://mariadb.org/feedback_plugin/post
FEEDBACK_USER_INFO mysql-test
+SELECT VARIABLE_VALUE>0, VARIABLE_NAME FROM INFORMATION_SCHEMA.FEEDBACK
+WHERE VARIABLE_NAME LIKE 'Collation used %'
+ORDER BY VARIABLE_NAME;
+VARIABLE_VALUE>0 VARIABLE_NAME
+1 Collation used binary
+1 Collation used latin1_bin
+1 Collation used latin1_swedish_ci
+1 Collation used utf8_bin
+1 Collation used utf8_general_ci
set global sql_mode=ONLY_FULL_GROUP_BY;
6: feedback plugin: report to 'http://mariadb.org/feedback_plugin/post' was sent
6: feedback plugin: server replied 'ok'
diff --git a/mysql-test/suite/plugins/r/locales.result b/mysql-test/suite/plugins/r/locales.result
new file mode 100644
index 00000000000..881f91e0ac5
--- /dev/null
+++ b/mysql-test/suite/plugins/r/locales.result
@@ -0,0 +1,252 @@
+select * from information_schema.locales;
+ID NAME DESCRIPTION MAX_MONTH_NAME_LENGTH MAX_DAY_NAME_LENGTH DECIMAL_POINT THOUSAND_SEP ERROR_MESSAGE_LANGUAGE
+0 en_US English - United States 9 9 . , english
+1 en_GB English - United Kingdom 9 9 . , english
+2 ja_JP Japanese - Japan 3 3 . , japanese
+3 sv_SE Swedish - Sweden 9 7 , swedish
+4 de_DE German - Germany 9 10 , . german
+5 fr_FR French - France 9 8 , french
+6 ar_AE Arabic - United Arab Emirates 6 8 . , english
+7 ar_BH Arabic - Bahrain 6 8 . , english
+8 ar_JO Arabic - Jordan 12 8 . , english
+9 ar_SA Arabic - Saudi Arabia 12 8 . english
+10 ar_SY Arabic - Syria 12 8 . , english
+11 be_BY Belarusian - Belarus 10 10 , . english
+12 bg_BG Bulgarian - Bulgaria 9 10 , english
+13 ca_ES Catalan - Catalan 8 9 , english
+14 cs_CZ Czech - Czech Republic 8 7 , czech
+15 da_DK Danish - Denmark 9 7 , . danish
+16 de_AT German - Austria 9 10 , german
+17 es_ES Spanish - Spain 10 9 , spanish
+18 et_EE Estonian - Estonia 9 9 , estonian
+19 eu_ES Basque - Basque 9 10 , english
+20 fi_FI Finnish - Finland 9 11 , english
+21 fo_FO Faroese - Faroe Islands 9 12 , . english
+22 gl_ES Galician - Galician 8 8 , english
+23 gu_IN Gujarati - India 10 8 . , english
+24 he_IL Hebrew - Israel 7 5 . , english
+25 hi_IN Hindi - India 7 9 . , english
+26 hr_HR Croatian - Croatia 8 11 , english
+27 hu_HU Hungarian - Hungary 10 9 , . hungarian
+28 id_ID Indonesian - Indonesia 9 6 , . english
+29 is_IS Icelandic - Iceland 9 12 , . english
+30 it_CH Italian - Switzerland 9 9 , ' italian
+31 ko_KR Korean - Korea 3 3 . , korean
+32 lt_LT Lithuanian - Lithuania 9 14 , . english
+33 lv_LV Latvian - Latvia 10 11 , english
+34 mk_MK Macedonian - FYROM 9 10 , english
+35 mn_MN Mongolia - Mongolian 18 6 , . english
+36 ms_MY Malay - Malaysia 9 6 . , english
+37 nb_NO Norwegian(Bokml) - Norway 9 7 , . norwegian
+38 nl_NL Dutch - The Netherlands 9 9 , dutch
+39 pl_PL Polish - Poland 11 12 , polish
+40 pt_BR Portuguese - Brazil 9 7 , portuguese
+41 pt_PT Portuguese - Portugal 9 7 , portuguese
+42 ro_RO Romanian - Romania 10 8 , . romanian
+43 ru_RU Russian - Russia 8 11 , russian
+44 ru_UA Russian - Ukraine 8 11 , . russian
+45 sk_SK Slovak - Slovakia 9 8 , slovak
+46 sl_SI Slovenian - Slovenia 9 10 , english
+47 sq_AL Albanian - Albania 7 10 , . english
+48 sr_RS Serbian - Serbia 9 10 . serbian
+49 ta_IN Tamil - India 10 8 . , english
+50 te_IN Telugu - India 10 9 . , english
+51 th_TH Thai - Thailand 10 8 . , english
+52 tr_TR Turkish - Turkey 7 9 , . english
+53 uk_UA Ukrainian - Ukraine 8 9 , . ukrainian
+54 ur_PK Urdu - Pakistan 6 6 . , english
+55 vi_VN Vietnamese - Vietnam 16 11 , . english
+56 zh_CN Chinese - Peoples Republic of China 3 3 . , english
+57 zh_TW Chinese - Taiwan 3 2 . , english
+58 ar_DZ Arabic - Algeria 6 8 . , english
+59 ar_EG Arabic - Egypt 6 8 . , english
+60 ar_IN Arabic - Iran 6 8 . , english
+61 ar_IQ Arabic - Iraq 6 8 . , english
+62 ar_KW Arabic - Kuwait 6 8 . , english
+63 ar_LB Arabic - Lebanon 12 8 . , english
+64 ar_LY Arabic - Libya 6 8 . , english
+65 ar_MA Arabic - Morocco 6 8 . , english
+66 ar_OM Arabic - Oman 6 8 . , english
+67 ar_QA Arabic - Qatar 6 8 . , english
+68 ar_SD Arabic - Sudan 6 8 . , english
+69 ar_TN Arabic - Tunisia 6 8 . , english
+70 ar_YE Arabic - Yemen 6 8 . , english
+71 de_BE German - Belgium 9 10 , . german
+72 de_CH German - Switzerland 9 10 . ' german
+73 de_LU German - Luxembourg 9 10 , . german
+74 en_AU English - Australia 9 9 . , english
+75 en_CA English - Canada 9 9 . , english
+76 en_IN English - India 9 9 . , english
+77 en_NZ English - New Zealand 9 9 . , english
+78 en_PH English - Philippines 9 9 . , english
+79 en_ZA English - South Africa 9 9 . , english
+80 en_ZW English - Zimbabwe 9 9 . , english
+81 es_AR Spanish - Argentina 10 9 , . spanish
+82 es_BO Spanish - Bolivia 10 9 , spanish
+83 es_CL Spanish - Chile 10 9 , spanish
+84 es_CO Spanish - Columbia 10 9 , spanish
+85 es_CR Spanish - Costa Rica 10 9 . spanish
+86 es_DO Spanish - Dominican Republic 10 9 . spanish
+87 es_EC Spanish - Ecuador 10 9 , spanish
+88 es_GT Spanish - Guatemala 10 9 . spanish
+89 es_HN Spanish - Honduras 10 9 . spanish
+90 es_MX Spanish - Mexico 10 9 . spanish
+91 es_NI Spanish - Nicaragua 10 9 . spanish
+92 es_PA Spanish - Panama 10 9 . spanish
+93 es_PE Spanish - Peru 10 9 . spanish
+94 es_PR Spanish - Puerto Rico 10 9 . spanish
+95 es_PY Spanish - Paraguay 10 9 , spanish
+96 es_SV Spanish - El Salvador 10 9 . spanish
+97 es_US Spanish - United States 10 9 . , spanish
+98 es_UY Spanish - Uruguay 10 9 , spanish
+99 es_VE Spanish - Venezuela 10 9 , spanish
+100 fr_BE French - Belgium 9 8 , . french
+101 fr_CA French - Canada 9 8 , french
+102 fr_CH French - Switzerland 9 8 , french
+103 fr_LU French - Luxembourg 9 8 , french
+104 it_IT Italian - Italy 9 9 , italian
+105 nl_BE Dutch - Belgium 9 9 , . dutch
+106 no_NO Norwegian - Norway 9 7 , . norwegian
+107 sv_FI Swedish - Finland 9 7 , swedish
+108 zh_HK Chinese - Hong Kong SAR 3 3 . , english
+109 el_GR Greek - Greece 11 9 , . greek
+110 rm_CH Romansh - Switzerland 9 9 , ' english
+show locales;
+Id Name Description Error_Message_Language
+0 en_US English - United States english
+1 en_GB English - United Kingdom english
+2 ja_JP Japanese - Japan japanese
+3 sv_SE Swedish - Sweden swedish
+4 de_DE German - Germany german
+5 fr_FR French - France french
+6 ar_AE Arabic - United Arab Emirates english
+7 ar_BH Arabic - Bahrain english
+8 ar_JO Arabic - Jordan english
+9 ar_SA Arabic - Saudi Arabia english
+10 ar_SY Arabic - Syria english
+11 be_BY Belarusian - Belarus english
+12 bg_BG Bulgarian - Bulgaria english
+13 ca_ES Catalan - Catalan english
+14 cs_CZ Czech - Czech Republic czech
+15 da_DK Danish - Denmark danish
+16 de_AT German - Austria german
+17 es_ES Spanish - Spain spanish
+18 et_EE Estonian - Estonia estonian
+19 eu_ES Basque - Basque english
+20 fi_FI Finnish - Finland english
+21 fo_FO Faroese - Faroe Islands english
+22 gl_ES Galician - Galician english
+23 gu_IN Gujarati - India english
+24 he_IL Hebrew - Israel english
+25 hi_IN Hindi - India english
+26 hr_HR Croatian - Croatia english
+27 hu_HU Hungarian - Hungary hungarian
+28 id_ID Indonesian - Indonesia english
+29 is_IS Icelandic - Iceland english
+30 it_CH Italian - Switzerland italian
+31 ko_KR Korean - Korea korean
+32 lt_LT Lithuanian - Lithuania english
+33 lv_LV Latvian - Latvia english
+34 mk_MK Macedonian - FYROM english
+35 mn_MN Mongolia - Mongolian english
+36 ms_MY Malay - Malaysia english
+37 nb_NO Norwegian(Bokml) - Norway norwegian
+38 nl_NL Dutch - The Netherlands dutch
+39 pl_PL Polish - Poland polish
+40 pt_BR Portuguese - Brazil portuguese
+41 pt_PT Portuguese - Portugal portuguese
+42 ro_RO Romanian - Romania romanian
+43 ru_RU Russian - Russia russian
+44 ru_UA Russian - Ukraine russian
+45 sk_SK Slovak - Slovakia slovak
+46 sl_SI Slovenian - Slovenia english
+47 sq_AL Albanian - Albania english
+48 sr_RS Serbian - Serbia serbian
+49 ta_IN Tamil - India english
+50 te_IN Telugu - India english
+51 th_TH Thai - Thailand english
+52 tr_TR Turkish - Turkey english
+53 uk_UA Ukrainian - Ukraine ukrainian
+54 ur_PK Urdu - Pakistan english
+55 vi_VN Vietnamese - Vietnam english
+56 zh_CN Chinese - Peoples Republic of China english
+57 zh_TW Chinese - Taiwan english
+58 ar_DZ Arabic - Algeria english
+59 ar_EG Arabic - Egypt english
+60 ar_IN Arabic - Iran english
+61 ar_IQ Arabic - Iraq english
+62 ar_KW Arabic - Kuwait english
+63 ar_LB Arabic - Lebanon english
+64 ar_LY Arabic - Libya english
+65 ar_MA Arabic - Morocco english
+66 ar_OM Arabic - Oman english
+67 ar_QA Arabic - Qatar english
+68 ar_SD Arabic - Sudan english
+69 ar_TN Arabic - Tunisia english
+70 ar_YE Arabic - Yemen english
+71 de_BE German - Belgium german
+72 de_CH German - Switzerland german
+73 de_LU German - Luxembourg german
+74 en_AU English - Australia english
+75 en_CA English - Canada english
+76 en_IN English - India english
+77 en_NZ English - New Zealand english
+78 en_PH English - Philippines english
+79 en_ZA English - South Africa english
+80 en_ZW English - Zimbabwe english
+81 es_AR Spanish - Argentina spanish
+82 es_BO Spanish - Bolivia spanish
+83 es_CL Spanish - Chile spanish
+84 es_CO Spanish - Columbia spanish
+85 es_CR Spanish - Costa Rica spanish
+86 es_DO Spanish - Dominican Republic spanish
+87 es_EC Spanish - Ecuador spanish
+88 es_GT Spanish - Guatemala spanish
+89 es_HN Spanish - Honduras spanish
+90 es_MX Spanish - Mexico spanish
+91 es_NI Spanish - Nicaragua spanish
+92 es_PA Spanish - Panama spanish
+93 es_PE Spanish - Peru spanish
+94 es_PR Spanish - Puerto Rico spanish
+95 es_PY Spanish - Paraguay spanish
+96 es_SV Spanish - El Salvador spanish
+97 es_US Spanish - United States spanish
+98 es_UY Spanish - Uruguay spanish
+99 es_VE Spanish - Venezuela spanish
+100 fr_BE French - Belgium french
+101 fr_CA French - Canada french
+102 fr_CH French - Switzerland french
+103 fr_LU French - Luxembourg french
+104 it_IT Italian - Italy italian
+105 nl_BE Dutch - Belgium dutch
+106 no_NO Norwegian - Norway norwegian
+107 sv_FI Swedish - Finland swedish
+108 zh_HK Chinese - Hong Kong SAR english
+109 el_GR Greek - Greece greek
+110 rm_CH Romansh - Switzerland english
+show locales like '%spanish%';
+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 'like '%spanish%'' at line 1
+show locales where description like '%spanish%';
+Id Name Description Error_Message_Language
+17 es_ES Spanish - Spain spanish
+81 es_AR Spanish - Argentina spanish
+82 es_BO Spanish - Bolivia spanish
+83 es_CL Spanish - Chile spanish
+84 es_CO Spanish - Columbia spanish
+85 es_CR Spanish - Costa Rica spanish
+86 es_DO Spanish - Dominican Republic spanish
+87 es_EC Spanish - Ecuador spanish
+88 es_GT Spanish - Guatemala spanish
+89 es_HN Spanish - Honduras spanish
+90 es_MX Spanish - Mexico spanish
+91 es_NI Spanish - Nicaragua spanish
+92 es_PA Spanish - Panama spanish
+93 es_PE Spanish - Peru spanish
+94 es_PR Spanish - Puerto Rico spanish
+95 es_PY Spanish - Paraguay spanish
+96 es_SV Spanish - El Salvador spanish
+97 es_US Spanish - United States spanish
+98 es_UY Spanish - Uruguay spanish
+99 es_VE Spanish - Venezuela spanish
+flush locales;
+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 'locales' at line 1
diff --git a/mysql-test/suite/plugins/r/pam.result b/mysql-test/suite/plugins/r/pam.result
index 86303206b3b..46f1223d7b3 100644
--- a/mysql-test/suite/plugins/r/pam.result
+++ b/mysql-test/suite/plugins/r/pam.result
@@ -22,4 +22,24 @@ Now, the magic number!
PIN: ****
drop user test_pam;
drop user pam_test;
+create user PAM_TEST identified via pam using 'mariadb_mtr';
+#
+# athentication is unsuccessful
+#
+Challenge input first.
+Enter: not very secret challenge
+Now, the magic number!
+PIN: ****
+set global pam_winbind_workaround=1;
+#
+# athentication is successful
+#
+Challenge input first.
+Enter: not very secret challenge
+Now, the magic number!
+PIN: ****
+select user(), current_user(), database();
+user() current_user() database()
+PAM_TEST@localhost PAM_TEST@% test
+drop user PAM_TEST;
uninstall plugin pam;
diff --git a/mysql-test/suite/plugins/r/pam_cleartext.result b/mysql-test/suite/plugins/r/pam_cleartext.result
index b9eee74ec3e..824e8329cc3 100644
--- a/mysql-test/suite/plugins/r/pam_cleartext.result
+++ b/mysql-test/suite/plugins/r/pam_cleartext.result
@@ -2,7 +2,7 @@ install plugin pam soname 'auth_pam.so';
create user test_pam identified via pam using 'mariadb_mtr';
create user pam_test;
grant proxy on pam_test to test_pam;
-show variables like 'pam%';
+show variables like 'pam_use_%';
Variable_name Value
pam_use_cleartext_plugin ON
#
diff --git a/mysql-test/suite/plugins/r/processlist.result b/mysql-test/suite/plugins/r/processlist.result
new file mode 100644
index 00000000000..9200c865533
--- /dev/null
+++ b/mysql-test/suite/plugins/r/processlist.result
@@ -0,0 +1,6 @@
+create table t1 (a int) engine=innodb;
+start transaction;
+insert t1 values (1);
+state from show engine innodb status, must be empty
+
+drop table t1;
diff --git a/mysql-test/suite/plugins/r/qc_info.result b/mysql-test/suite/plugins/r/qc_info.result
index ab646d74511..3115a372930 100644
--- a/mysql-test/suite/plugins/r/qc_info.result
+++ b/mysql-test/suite/plugins/r/qc_info.result
@@ -1,3 +1,5 @@
+set global query_cache_type=ON;
+set local query_cache_type=ON;
set global query_cache_size=1355776;
create table t1 (a int not null);
insert into t1 values (1),(2),(3);
@@ -9,10 +11,33 @@ a
select statement_schema, statement_text, result_blocks_count, result_blocks_size from information_schema.query_cache_info;
statement_schema statement_text result_blocks_count result_blocks_size
test select * from t1 1 512
+select @@time_zone into @time_zone;
+select @@default_week_format into @default_week_format;
+select @@character_set_client into @character_set_client;
+select @@character_set_results into @character_set_results;
+select @@sql_mode into @sql_mode;
+select @@div_precision_increment into @div_precision_increment;
+select @@lc_time_names into @lc_time_names;
+select @@max_sort_length into @max_sort_length;
+select @@autocommit into @autocommit;
+select @@group_concat_max_len into @group_concat_max_len;
+select Name into @new_time_zone from mysql.time_zone_name limit 1;
+set time_zone=@new_time_zone,default_week_format=4,character_set_client='binary',character_set_results='utf32',collation_connection='utf32_bin',sql_mode='STRICT_ALL_TABLES',div_precision_increment=7,lc_time_names='ar_SD',autocommit=0, group_concat_max_len=513, max_sort_length=1011;
+select * from t1;
+set time_zone= @time_zone, default_week_format= @default_week_format, character_set_client= @character_set_client,character_set_results= @character_set_results, sql_mode= @sql_mode, div_precision_increment= @div_precision_increment, lc_time_names= @lc_time_names, autocommit= @autocommit, group_concat_max_len= @group_concat_max_len, max_sort_length= @max_sort_length;
+select * from information_schema.query_cache_info;
+STATEMENT_SCHEMA STATEMENT_TEXT RESULT_BLOCKS_COUNT RESULT_BLOCKS_SIZE RESULT_BLOCKS_SIZE_USED LIMIT MAX_SORT_LENGTH GROUP_CONCAT_MAX_LENGTH CHARACTER_SET_CLIENT CHARACTER_SET_RESULT COLLATION TIMEZONE DEFAULT_WEEK_FORMAT DIV_PRECISION_INCREMENT SQL_MODE LC_TIME_NAMES CLIENT_LONG_FLAG CLIENT_PROTOCOL_41 PROTOCOL_TYPE MORE_RESULTS_EXISTS IN_TRANS AUTOCOMMIT PACKET_NUMBER
+test select * from t1 1 512 # -1 1011 513 binary utf32 utf32_bin Europe/Moscow 4 7 STRICT_ALL_TABLES ar_SD 1 1 # 0 0 0 #
+test select * from t1 1 512 # -1 1024 1024 latin1 latin1 latin1_swedish_ci SYSTEM 0 4 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION en_US 1 1 # 0 0 1 #
drop table t1;
select statement_schema, statement_text, result_blocks_count, result_blocks_size from information_schema.query_cache_info;
statement_schema statement_text result_blocks_count result_blocks_size
set global query_cache_size = 0;
select * from information_schema.query_cache_info;
-STATEMENT_SCHEMA STATEMENT_TEXT RESULT_BLOCKS_COUNT RESULT_BLOCKS_SIZE RESULT_BLOCKS_SIZE_USED
+STATEMENT_SCHEMA STATEMENT_TEXT RESULT_BLOCKS_COUNT RESULT_BLOCKS_SIZE RESULT_BLOCKS_SIZE_USED LIMIT MAX_SORT_LENGTH GROUP_CONCAT_MAX_LENGTH CHARACTER_SET_CLIENT CHARACTER_SET_RESULT COLLATION TIMEZONE DEFAULT_WEEK_FORMAT DIV_PRECISION_INCREMENT SQL_MODE LC_TIME_NAMES CLIENT_LONG_FLAG CLIENT_PROTOCOL_41 PROTOCOL_TYPE MORE_RESULTS_EXISTS IN_TRANS AUTOCOMMIT PACKET_NUMBER
set global query_cache_size= default;
+set global query_cache_type=default;
+show query_cache_info;
+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 'query_cache_info' at line 1
+flush query_cache_info;
+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 'query_cache_info' at line 1
diff --git a/mysql-test/suite/plugins/r/qc_info_priv.result b/mysql-test/suite/plugins/r/qc_info_priv.result
index c723eca1ec0..9ac01ac31ad 100644
--- a/mysql-test/suite/plugins/r/qc_info_priv.result
+++ b/mysql-test/suite/plugins/r/qc_info_priv.result
@@ -1,3 +1,5 @@
+set global query_cache_type=ON;
+set local query_cache_type=ON;
set global query_cache_size=1355776;
create table t1 (a int not null);
insert into t1 values (1),(2),(3);
@@ -9,6 +11,24 @@ a
select statement_schema, statement_text, result_blocks_count, result_blocks_size from information_schema.query_cache_info;
statement_schema statement_text result_blocks_count result_blocks_size
test select * from t1 1 512
+select @@time_zone into @time_zone;
+select @@default_week_format into @default_week_format;
+select @@character_set_client into @character_set_client;
+select @@character_set_results into @character_set_results;
+select @@sql_mode into @sql_mode;
+select @@div_precision_increment into @div_precision_increment;
+select @@lc_time_names into @lc_time_names;
+select @@max_sort_length into @max_sort_length;
+select @@autocommit into @autocommit;
+select @@group_concat_max_len into @group_concat_max_len;
+select Name into @new_time_zone from mysql.time_zone_name limit 1;
+set time_zone=@new_time_zone,default_week_format=4,character_set_client='binary',character_set_results='utf32',collation_connection='utf32_bin',sql_mode='STRICT_ALL_TABLES',div_precision_increment=7,lc_time_names='ar_SD',autocommit=0, group_concat_max_len=513, max_sort_length=1011;
+select * from t1;
+set time_zone= @time_zone, default_week_format= @default_week_format, character_set_client= @character_set_client,character_set_results= @character_set_results, sql_mode= @sql_mode, div_precision_increment= @div_precision_increment, lc_time_names= @lc_time_names, autocommit= @autocommit, group_concat_max_len= @group_concat_max_len, max_sort_length= @max_sort_length;
+select * from information_schema.query_cache_info;
+STATEMENT_SCHEMA STATEMENT_TEXT RESULT_BLOCKS_COUNT RESULT_BLOCKS_SIZE RESULT_BLOCKS_SIZE_USED LIMIT MAX_SORT_LENGTH GROUP_CONCAT_MAX_LENGTH CHARACTER_SET_CLIENT CHARACTER_SET_RESULT COLLATION TIMEZONE DEFAULT_WEEK_FORMAT DIV_PRECISION_INCREMENT SQL_MODE LC_TIME_NAMES CLIENT_LONG_FLAG CLIENT_PROTOCOL_41 PROTOCOL_TYPE MORE_RESULTS_EXISTS IN_TRANS AUTOCOMMIT PACKET_NUMBER
+test select * from t1 1 512 # -1 1011 513 binary utf32 utf32_bin Europe/Moscow 4 7 STRICT_ALL_TABLES ar_SD 1 1 # 0 0 0 #
+test select * from t1 1 512 # -1 1024 1024 latin1 latin1 latin1_swedish_ci SYSTEM 0 4 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION en_US 1 1 # 0 0 1 #
create user mysqltest;
select a from t1;
a
@@ -21,3 +41,4 @@ count(*)
drop user mysqltest;
drop table t1;
set global query_cache_size= default;
+set global query_cache_type=default;
diff --git a/mysql-test/suite/plugins/r/server_audit.result b/mysql-test/suite/plugins/r/server_audit.result
index 2e18a489dc7..5c355b34ba1 100644
--- a/mysql-test/suite/plugins/r/server_audit.result
+++ b/mysql-test/suite/plugins/r/server_audit.result
@@ -206,21 +206,21 @@ drop database sa_db;
set global server_audit_file_path='.';
show status like 'server_audit_current_log';
Variable_name Value
-server_audit_current_log HOME_DIR/server_audit.log
+Server_audit_current_log HOME_DIR/server_audit.log
set global server_audit_file_path='';
show status like 'server_audit_current_log';
Variable_name Value
-server_audit_current_log server_audit.log
+Server_audit_current_log server_audit.log
set global server_audit_file_path=' ';
show status like 'server_audit_current_log';
Variable_name Value
-server_audit_current_log server_audit.log
+Server_audit_current_log server_audit.log
set global server_audit_file_path='nonexisting_dir/';
Warnings:
Warning 1 SERVER AUDIT plugin can't create file 'nonexisting_dir/'.
show status like 'server_audit_current_log';
Variable_name Value
-server_audit_current_log server_audit.log
+Server_audit_current_log server_audit.log
show variables like 'server_audit%';
Variable_name Value
server_audit_events
@@ -243,9 +243,9 @@ Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'set global server_audit_logging=on',0
TIME,HOSTNAME,root,localhost,ID,0,CONNECT,mysql,,0
-TIME,HOSTNAME,,,ID,0,DISCONNECT,,,0
+TIME,HOSTNAME,root,localhost,ID,0,DISCONNECT,mysql,,0
TIME,HOSTNAME,no_such_user,localhost,ID,0,FAILED_CONNECT,,,ID
-TIME,HOSTNAME,,,ID,0,DISCONNECT,,,0
+TIME,HOSTNAME,no_such_user,localhost,ID,0,DISCONNECT,,,0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'set global server_audit_incl_users=\'odin, root, dva, tri\'',0
TIME,HOSTNAME,root,localhost,ID,ID,CREATE,test,t2,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'create table t2 (id int)',0
@@ -260,8 +260,10 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,test,t2,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'insert into t2 values (1), (2)',0
TIME,HOSTNAME,root,localhost,ID,ID,READ,test,t2,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'select * from t2',0
-TIME,HOSTNAME,root,localhost,ID,ID,READ,test,t1,
TIME,HOSTNAME,root,localhost,ID,ID,ALTER,test,t1,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,table_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,column_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,index_stats,
TIME,HOSTNAME,root,localhost,ID,ID,RENAME,test,t1|test.renamed_t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'alter table t1 rename renamed_t1',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'set global server_audit_events=\'connect,query\'',0
@@ -282,6 +284,9 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,test,t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'insert into t1 values (1), (2)',0
TIME,HOSTNAME,root,localhost,ID,ID,READ,test,t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'select * from t1',0
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,table_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,column_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,index_stats,
TIME,HOSTNAME,root,localhost,ID,ID,DROP,test,t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'drop table t1',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'use sa_db',0
@@ -289,13 +294,16 @@ TIME,HOSTNAME,root,localhost,ID,ID,CREATE,sa_db,sa_t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'create table sa_t1(id int)',0
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,sa_db,sa_t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'insert into sa_t1 values (1), (2)',0
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,table_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,column_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,index_stats,
TIME,HOSTNAME,root,localhost,ID,ID,DROP,sa_db,sa_t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'drop table sa_t1',0
TIME,HOSTNAME,root,localhost,ID,ID,READ,mysql,proc,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,proc,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,event,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'drop database sa_db',0
-TIME,HOSTNAME,,,ID,0,DISCONNECT,,,0
+TIME,HOSTNAME,root,localhost,ID,0,DISCONNECT,,,0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'create database sa_db',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'use sa_db',0
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,user,
@@ -304,6 +312,7 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,tables_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,columns_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,procs_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,proxies_priv,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,roles_mapping,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'CREATE USER u1 IDENTIFIED BY *****',0
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,user,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,tables_priv,
@@ -316,6 +325,7 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,tables_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,columns_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,procs_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,proxies_priv,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,roles_mapping,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'CREATE USER u3 IDENTIFIED BY *****',0
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,user,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,db,
@@ -323,6 +333,7 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,tables_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,columns_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,procs_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,proxies_priv,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,roles_mapping,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'drop user u1, u2, u3',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'create table t1(id int)',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'drop table t1',0
diff --git a/mysql-test/suite/plugins/r/show_all_plugins.result b/mysql-test/suite/plugins/r/show_all_plugins.result
new file mode 100644
index 00000000000..dd6cbfce4c4
--- /dev/null
+++ b/mysql-test/suite/plugins/r/show_all_plugins.result
@@ -0,0 +1,36 @@
+flush status;
+show status like '%libraries%';
+Variable_name Value
+Opened_plugin_libraries 0
+select * from information_schema.all_plugins where plugin_library='ha_example.so';
+PLUGIN_NAME PLUGIN_VERSION PLUGIN_STATUS PLUGIN_TYPE PLUGIN_TYPE_VERSION PLUGIN_LIBRARY PLUGIN_LIBRARY_VERSION PLUGIN_AUTHOR PLUGIN_DESCRIPTION PLUGIN_LICENSE LOAD_OPTION PLUGIN_MATURITY PLUGIN_AUTH_VERSION
+EXAMPLE 0.1 NOT INSTALLED STORAGE ENGINE MYSQL_VERSION_ID ha_example.so 1.13 Brian Aker, MySQL AB Example storage engine GPL OFF Experimental 0.1
+UNUSABLE 3.14 NOT INSTALLED DAEMON MYSQL_VERSION_ID ha_example.so 1.13 Sergei Golubchik Unusable Daemon GPL OFF Experimental 3.14.15.926
+show status like '%libraries%';
+Variable_name Value
+Opened_plugin_libraries 1
+show plugins soname 'ha_example.so';
+Name Status Type Library License
+EXAMPLE NOT INSTALLED STORAGE ENGINE ha_example.so GPL
+UNUSABLE NOT INSTALLED DAEMON ha_example.so GPL
+show status like '%libraries%';
+Variable_name Value
+Opened_plugin_libraries 2
+show plugins soname like '%example%';
+Name Status Type Library License
+EXAMPLE NOT INSTALLED STORAGE ENGINE ha_example.so GPL
+UNUSABLE NOT INSTALLED DAEMON ha_example.so GPL
+daemon_example NOT INSTALLED DAEMON libdaemon_example.so GPL
+example_key_management NOT INSTALLED ENCRYPTION example_key_management.so GPL
+three_attempts NOT INSTALLED AUTHENTICATION dialog_examples.so GPL
+two_questions NOT INSTALLED AUTHENTICATION dialog_examples.so GPL
+show status like '%libraries%';
+Variable_name Value
+Opened_plugin_libraries 7
+show plugins soname where library = 'ha_example.so';
+Name Status Type Library License
+EXAMPLE NOT INSTALLED STORAGE ENGINE ha_example.so GPL
+UNUSABLE NOT INSTALLED DAEMON ha_example.so GPL
+select variable_value > 10 from information_schema.global_status where variable_name like '%libraries%';
+variable_value > 10
+1
diff --git a/mysql-test/suite/plugins/r/simple_password_check.result b/mysql-test/suite/plugins/r/simple_password_check.result
new file mode 100644
index 00000000000..672d0107492
--- /dev/null
+++ b/mysql-test/suite/plugins/r/simple_password_check.result
@@ -0,0 +1,160 @@
+install soname "simple_password_check";
+select * from information_schema.plugins where plugin_name='simple_password_check';
+PLUGIN_NAME simple_password_check
+PLUGIN_VERSION 1.0
+PLUGIN_STATUS ACTIVE
+PLUGIN_TYPE PASSWORD VALIDATION
+PLUGIN_TYPE_VERSION 1.0
+PLUGIN_LIBRARY simple_password_check.so
+PLUGIN_LIBRARY_VERSION 1.13
+PLUGIN_AUTHOR Sergei Golubchik
+PLUGIN_DESCRIPTION Simple password strength checks
+PLUGIN_LICENSE GPL
+LOAD_OPTION ON
+PLUGIN_MATURITY Stable
+PLUGIN_AUTH_VERSION 1.0
+select * from information_schema.system_variables where variable_name like 'simple_password_check%' order by 1;
+VARIABLE_NAME SIMPLE_PASSWORD_CHECK_DIGITS
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Minimal required number of digits
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SIMPLE_PASSWORD_CHECK_LETTERS_SAME_CASE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Minimal required number of letters of the same letter case.This limit is applied separately to upper-case and lower-case letters
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SIMPLE_PASSWORD_CHECK_MINIMAL_LENGTH
+SESSION_VALUE NULL
+GLOBAL_VALUE 8
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Minimal required password length
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SIMPLE_PASSWORD_CHECK_OTHER_CHARACTERS
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Minimal required number of other (not letters or digits) characters
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+create user foo1 identified by 'pwd';
+ERROR HY000: Your password does not satisfy the current policy requirements
+create user foo1;
+ERROR HY000: Your password does not satisfy the current policy requirements
+grant select on *.* to foo1 identified by 'pwd';
+ERROR HY000: Your password does not satisfy the current policy requirements
+grant select on *.* to `FooBar1!` identified by 'FooBar1!';
+ERROR HY000: Your password does not satisfy the current policy requirements
+grant select on *.* to `BarFoo1!` identified by 'FooBar1!';
+drop user `BarFoo1!`;
+create user foo1 identified by 'aA.12345';
+grant select on *.* to foo1;
+drop user foo1;
+set global simple_password_check_digits=3;
+set global simple_password_check_letters_same_case=3;
+Warnings:
+Warning 1292 Adjusted the value of simple_password_check_minimal_length from 8 to 10
+set global simple_password_check_other_characters=3;
+Warnings:
+Warning 1292 Adjusted the value of simple_password_check_minimal_length from 10 to 12
+show variables like 'simple_password_check_%';
+Variable_name Value
+simple_password_check_digits 3
+simple_password_check_letters_same_case 3
+simple_password_check_minimal_length 12
+simple_password_check_other_characters 3
+create user foo1 identified by '123:qwe:ASD!';
+drop user foo1;
+create user foo1 identified by '-23:qwe:ASD!';
+ERROR HY000: Your password does not satisfy the current policy requirements
+create user foo1 identified by '123:4we:ASD!';
+ERROR HY000: Your password does not satisfy the current policy requirements
+create user foo1 identified by '123:qwe:4SD!';
+ERROR HY000: Your password does not satisfy the current policy requirements
+create user foo1 identified by '123:qwe:ASD4';
+ERROR HY000: Your password does not satisfy the current policy requirements
+create user foo1 identified by '123:qwe:ASD!';
+set password for foo1 = password('qwe:-23:ASD!');
+ERROR HY000: Your password does not satisfy the current policy requirements
+set password for foo1 = old_password('4we:123:ASD!');
+ERROR HY000: Your password does not satisfy the current policy requirements
+set password for foo1 = password('qwe:123:4SD!');
+ERROR HY000: Your password does not satisfy the current policy requirements
+set password for foo1 = old_password('qwe:123:ASD4');
+ERROR HY000: Your password does not satisfy the current policy requirements
+set password for foo1 = password('qwe:123:ASD!');
+select @@strict_password_validation;
+@@strict_password_validation
+1
+set password for foo1 = '';
+ERROR HY000: Your password does not satisfy the current policy requirements
+set password for foo1 = '2222222222222222';
+ERROR HY000: The MariaDB server is running with the --strict-password-validation option so it cannot execute this statement
+set password for foo1 = '11111111111111111111111111111111111111111';
+ERROR HY000: The MariaDB server is running with the --strict-password-validation option so it cannot execute this statement
+create user foo2 identified by password '11111111111111111111111111111111111111111';
+ERROR HY000: The MariaDB server is running with the --strict-password-validation option so it cannot execute this statement
+grant select on *.* to foo2 identified by password '2222222222222222';
+ERROR HY000: The MariaDB server is running with the --strict-password-validation option so it cannot execute this statement
+create user foo2 identified with mysql_native_password using '11111111111111111111111111111111111111111';
+ERROR HY000: The MariaDB server is running with the --strict-password-validation option so it cannot execute this statement
+grant select on *.* to foo2 identified with mysql_old_password using '2222222222222222';
+ERROR HY000: The MariaDB server is running with the --strict-password-validation option so it cannot execute this statement
+create user foo2 identified with mysql_native_password using '';
+ERROR HY000: Your password does not satisfy the current policy requirements
+grant select on *.* to foo2 identified with mysql_old_password;
+ERROR 28000: Can't find any matching row in the user table
+update mysql.user set password='xxx' where user='foo1';
+set global strict_password_validation=0;
+set password for foo1 = '';
+ERROR HY000: Your password does not satisfy the current policy requirements
+set password for foo1 = '2222222222222222';
+set password for foo1 = '11111111111111111111111111111111111111111';
+create user foo2 identified by password '11111111111111111111111111111111111111111';
+drop user foo2;
+grant select on *.* to foo2 identified by password '2222222222222222';
+drop user foo2;
+create user foo2 identified with mysql_native_password using '11111111111111111111111111111111111111111';
+drop user foo2;
+grant select on *.* to foo2 identified with mysql_old_password using '2222222222222222';
+drop user foo2;
+set global strict_password_validation=1;
+drop user foo1;
+create role r1;
+drop role r1;
+uninstall plugin simple_password_check;
+create user foo1 identified by 'pwd';
+drop user foo1;
diff --git a/mysql-test/suite/plugins/r/sql_error_log.result b/mysql-test/suite/plugins/r/sql_error_log.result
index 3086b1f2d1f..a583cf91a83 100644
--- a/mysql-test/suite/plugins/r/sql_error_log.result
+++ b/mysql-test/suite/plugins/r/sql_error_log.result
@@ -35,6 +35,15 @@ SET SQL_MODE = '';
drop table t1;
SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'not_exists' AND TABLE_NAME = 'not_exists';
TABLE_NAME
+CREATE procedure e1()
+BEGIN
+START TRANSACTION;
+INSERT INTO test.non_exists VALUES (0,0,0) /* e1 */;
+COMMIT;
+END|
+CALL e1();
+ERROR 42S02: Table 'test.non_exists' doesn't exist
+DROP PROCEDURE e1;
uninstall plugin SQL_ERROR_LOG;
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
@@ -45,3 +54,4 @@ TIME HOSTNAME ERROR 1000: new message : RESIGNAL SQLSTATE '40000' SET
MYSQL_ERRNO = 1000,
MESSAGE_TEXT = 'new message'
TIME HOSTNAME ERROR 1366: Incorrect integer value: 'aa' for column 'id' at row 1 : insert into t1 values ('aa')
+TIME HOSTNAME ERROR 1146: Table 'test.non_exists' doesn't exist : INSERT INTO test.non_exists VALUES (0,0,0) /* e1 */
diff --git a/mysql-test/suite/plugins/r/thread_pool_server_audit.result b/mysql-test/suite/plugins/r/thread_pool_server_audit.result
index 3de63eca8c4..912cef2761a 100644
--- a/mysql-test/suite/plugins/r/thread_pool_server_audit.result
+++ b/mysql-test/suite/plugins/r/thread_pool_server_audit.result
@@ -195,21 +195,21 @@ drop database sa_db;
set global server_audit_file_path='.';
show status like 'server_audit_current_log';
Variable_name Value
-server_audit_current_log HOME_DIR/server_audit.log
+Server_audit_current_log HOME_DIR/server_audit.log
set global server_audit_file_path='';
show status like 'server_audit_current_log';
Variable_name Value
-server_audit_current_log server_audit.log
+Server_audit_current_log server_audit.log
set global server_audit_file_path=' ';
show status like 'server_audit_current_log';
Variable_name Value
-server_audit_current_log server_audit.log
+Server_audit_current_log server_audit.log
set global server_audit_file_path='nonexisting_dir/';
Warnings:
Warning 1 SERVER AUDIT plugin can't create file 'nonexisting_dir/'.
show status like 'server_audit_current_log';
Variable_name Value
-server_audit_current_log server_audit.log
+Server_audit_current_log server_audit.log
show variables like 'server_audit%';
Variable_name Value
server_audit_events
@@ -232,9 +232,9 @@ Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'set global server_audit_logging=on',0
TIME,HOSTNAME,root,localhost,ID,0,CONNECT,mysql,,0
-TIME,HOSTNAME,,,ID,0,DISCONNECT,,,0
+TIME,HOSTNAME,root,localhost,ID,0,DISCONNECT,mysql,,0
TIME,HOSTNAME,no_such_user,localhost,ID,0,FAILED_CONNECT,,,ID
-TIME,HOSTNAME,,,ID,0,DISCONNECT,,,0
+TIME,HOSTNAME,no_such_user,localhost,ID,0,DISCONNECT,,,0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'set global server_audit_incl_users=\'odin, root, dva, tri\'',0
TIME,HOSTNAME,root,localhost,ID,ID,CREATE,test,t2,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'create table t2 (id int)',0
@@ -249,8 +249,10 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,test,t2,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'insert into t2 values (1), (2)',0
TIME,HOSTNAME,root,localhost,ID,ID,READ,test,t2,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'select * from t2',0
-TIME,HOSTNAME,root,localhost,ID,ID,READ,test,t1,
TIME,HOSTNAME,root,localhost,ID,ID,ALTER,test,t1,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,table_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,column_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,index_stats,
TIME,HOSTNAME,root,localhost,ID,ID,RENAME,test,t1|test.renamed_t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'alter table t1 rename renamed_t1',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'set global server_audit_events=\'connect,query\'',0
@@ -271,6 +273,9 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,test,t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'insert into t1 values (1), (2)',0
TIME,HOSTNAME,root,localhost,ID,ID,READ,test,t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'select * from t1',0
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,table_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,column_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,index_stats,
TIME,HOSTNAME,root,localhost,ID,ID,DROP,test,t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'drop table t1',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'use sa_db',0
@@ -278,13 +283,16 @@ TIME,HOSTNAME,root,localhost,ID,ID,CREATE,sa_db,sa_t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'create table sa_t1(id int)',0
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,sa_db,sa_t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'insert into sa_t1 values (1), (2)',0
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,table_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,column_stats,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,index_stats,
TIME,HOSTNAME,root,localhost,ID,ID,DROP,sa_db,sa_t1,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'drop table sa_t1',0
TIME,HOSTNAME,root,localhost,ID,ID,READ,mysql,proc,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,proc,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,event,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'drop database sa_db',0
-TIME,HOSTNAME,,,ID,0,DISCONNECT,,,0
+TIME,HOSTNAME,root,localhost,ID,0,DISCONNECT,,,0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,test,'create database sa_db',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'use sa_db',0
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,user,
@@ -293,6 +301,7 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,tables_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,columns_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,procs_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,proxies_priv,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,roles_mapping,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'CREATE USER u1 IDENTIFIED BY *****',0
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,user,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,tables_priv,
@@ -305,6 +314,7 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,tables_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,columns_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,procs_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,proxies_priv,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,roles_mapping,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'CREATE USER u3 IDENTIFIED BY *****',0
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,user,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,db,
@@ -312,6 +322,7 @@ TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,tables_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,columns_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,procs_priv,
TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,proxies_priv,
+TIME,HOSTNAME,root,localhost,ID,ID,WRITE,mysql,roles_mapping,
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'drop user u1, u2, u3',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'create table t1(id int)',0
TIME,HOSTNAME,root,localhost,ID,ID,QUERY,sa_db,'drop table t1',0
diff --git a/mysql-test/suite/plugins/r/two_password_validations.result b/mysql-test/suite/plugins/r/two_password_validations.result
new file mode 100644
index 00000000000..dc6bab3c2d5
--- /dev/null
+++ b/mysql-test/suite/plugins/r/two_password_validations.result
@@ -0,0 +1,21 @@
+install soname "simple_password_check";
+grant select on *.* to Fff_fff1 identified by '1fff_ffF';
+drop user Fff_fff1;
+install soname "cracklib_password_check";
+grant select on *.* to foobar identified by 'q$%^&*R1234ty';
+drop user foobar;
+grant select on *.* to Fff_fff1 identified by '1fff_ffF';
+ERROR HY000: Your password does not satisfy the current policy requirements
+show warnings;
+Level Code Message
+Warning 1819 cracklib: it does not contain enough DIFFERENT characters
+Error 1819 Your password does not satisfy the current policy requirements
+grant select on *.* to foobar identified by 'q-%^&*rty';
+ERROR HY000: Your password does not satisfy the current policy requirements
+show warnings;
+Level Code Message
+Error 1819 Your password does not satisfy the current policy requirements
+uninstall plugin simple_password_check;
+grant select on *.* to foobar identified by 'q-%^&*rty';
+drop user foobar;
+uninstall plugin cracklib_password_check;
diff --git a/mysql-test/suite/plugins/r/unix_socket.result b/mysql-test/suite/plugins/r/unix_socket.result
index 45bf608cc93..0e08794fbe6 100644
--- a/mysql-test/suite/plugins/r/unix_socket.result
+++ b/mysql-test/suite/plugins/r/unix_socket.result
@@ -27,4 +27,5 @@ USER@localhost @% test
# name does not match = failure
#
delete from mysql.user where user='';
+FLUSH PRIVILEGES;
uninstall plugin unix_socket;
diff --git a/mysql-test/suite/plugins/suite.pm b/mysql-test/suite/plugins/suite.pm
index 9ada541e44b..a2ac3957af0 100644
--- a/mysql-test/suite/plugins/suite.pm
+++ b/mysql-test/suite/plugins/suite.pm
@@ -1,11 +1,22 @@
package My::Suite::Plugins;
+use My::Platform;
+
@ISA = qw(My::Suite);
+sub cassandra_running() {
+ return 0 if IS_WINDOWS;
+ system 'echo show version | cqlsh -3 2>/dev/null >/dev/null';
+ return $? == 0;
+}
+
sub skip_combinations {
my %skip;
$skip{'t/pam.test'} = 'No pam setup for mtr'
unless -e '/etc/pam.d/mariadb_mtr';
+ $skip{'t/cassandra.test'} = 'Cassandra is not running'
+ unless cassandra_running();
+ $skip{'t/cassandra_qcache.test'} = $skip{'t/cassandra.test'};
%skip;
}
diff --git a/mysql-test/suite/plugins/t/audit_null.test b/mysql-test/suite/plugins/t/audit_null.test
index 3e32154ec3d..199e4ba154e 100644
--- a/mysql-test/suite/plugins/t/audit_null.test
+++ b/mysql-test/suite/plugins/t/audit_null.test
@@ -8,6 +8,7 @@ if (!$ADT_NULL_SO) {
set @old_global_general_log=@@global.general_log;
set global general_log=OFF;
+create user testuser@localhost;
grant select on *.* to testuser@localhost;
--disable_ps_protocol
diff --git a/mysql-test/suite/plugins/t/audit_null_debug.test b/mysql-test/suite/plugins/t/audit_null_debug.test
index bd0495843db..8d77b02938b 100644
--- a/mysql-test/suite/plugins/t/audit_null_debug.test
+++ b/mysql-test/suite/plugins/t/audit_null_debug.test
@@ -5,6 +5,7 @@ if (!$ADT_NULL_SO) {
skip No NULL_AUDIT plugin;
}
+set @old_dbug=@@debug_dbug;
call mtr.add_suppression("Incorrect key file for table.*mysql.plugin.MYI");
#
@@ -15,15 +16,17 @@ SET debug_dbug='+d,myisam_pretend_crashed_table_on_usage';
--replace_result \\ /
--error 126
install plugin audit_null soname 'adt_null';
-SET debug_dbug='-d,myisam_pretend_crashed_table_on_usage';
+SET debug_dbug=@old_dbug;
install plugin audit_null soname 'adt_null';
SET debug_dbug='+d,myisam_pretend_crashed_table_on_usage';
--replace_result \\ /
--error 126
uninstall plugin audit_null;
-SET debug_dbug='-d,myisam_pretend_crashed_table_on_usage';
+SET debug_dbug=@old_dbug;
--error 1305
uninstall plugin audit_null;
+delete from mysql.plugin where name='audit_null';
+
diff --git a/mysql-test/suite/plugins/t/auth_ed25519.test b/mysql-test/suite/plugins/t/auth_ed25519.test
new file mode 100644
index 00000000000..3e02bdf97d2
--- /dev/null
+++ b/mysql-test/suite/plugins/t/auth_ed25519.test
@@ -0,0 +1,44 @@
+#
+# MDEV-12160 Modern alternative to the SHA1 authentication plugin
+#
+source include/not_embedded.inc;
+if (!$AUTH_ED25519_SO) {
+ skip No auth_ed25519 plugin;
+}
+
+replace_result dll so;
+eval create function ed25519_password returns string soname "$AUTH_ED25519_SO";
+error ER_CANT_INITIALIZE_UDF;
+select ed25519_password();
+error ER_CANT_INITIALIZE_UDF;
+select ed25519_password(1);
+error ER_CANT_INITIALIZE_UDF;
+select ed25519_password("foo", "bar");
+error ER_CANT_INITIALIZE_UDF;
+select ed25519_password("foo");
+
+install soname 'auth_ed25519';
+select ed25519_password("foo");
+select ed25519_password("foobar");
+select ed25519_password("foo bar");
+select ed25519_password(NULL);
+
+replace_result dll so;
+query_vertical select * from information_schema.plugins where plugin_name='ed25519';
+let $pwd=`select ed25519_password("secret")`;
+eval create user test1@localhost identified via ed25519 using '$pwd';
+show grants for test1@localhost;
+
+replace_result $MASTER_MYPORT PORT $MASTER_MYSOCK SOCKET;
+error ER_ACCESS_DENIED_ERROR;
+connect con1, localhost, test1, public;
+connect con1, localhost, test1, secret;
+select current_user();
+disconnect con1;
+connection default;
+
+drop user test1@localhost;
+uninstall plugin ed25519;
+error ER_CANT_INITIALIZE_UDF;
+select ed25519_password("foo");
+drop function ed25519_password;
diff --git a/mysql-test/suite/plugins/t/auth_v0100.test b/mysql-test/suite/plugins/t/auth_v0100.test
index 3cf93ba67f2..5d0f6f40be9 100644
--- a/mysql-test/suite/plugins/t/auth_v0100.test
+++ b/mysql-test/suite/plugins/t/auth_v0100.test
@@ -6,9 +6,11 @@ if (!$AUTH_0X0100_SO) {
install soname 'auth_0x0100';
-select plugin_name, plugin_type_version from information_schema.plugins where plugin_type='authentication' order by plugin_name;
+select plugin_name, plugin_type_version from information_schema.plugins where
+plugin_type='authentication' and plugin_library is not null order by plugin_name;
create user tt identified via auth_0x0100;
+create user zzzzzzzzzzzzzzzz;
grant select on test.* to zzzzzzzzzzzzzzzz;
--replace_result $MASTER_MYSOCK MASTER_MYSOCK $MASTER_MYPORT MASTER_MYPORT
diff --git a/mysql-test/suite/plugins/t/binlog-simple_plugin_check.test b/mysql-test/suite/plugins/t/binlog-simple_plugin_check.test
new file mode 100644
index 00000000000..773dafe8a81
--- /dev/null
+++ b/mysql-test/suite/plugins/t/binlog-simple_plugin_check.test
@@ -0,0 +1,31 @@
+--source include/not_embedded.inc
+--source include/have_binlog_format_statement.inc
+
+if (!$SIMPLE_PASSWORD_CHECK_SO) {
+ skip No SIMPLE_PASSWORD_CHECK plugin;
+}
+
+INSTALL SONAME "simple_password_check";
+SELECT PLUGIN_NAME FROM INFORMATION_SCHEMA.PLUGINS
+WHERE PLUGIN_NAME='simple_password_check';
+
+
+--echo #
+--echo # MDEV-14031 Password policy causes replication failure
+--echo #
+
+--disable_query_log
+RESET MASTER; # get rid of previous tests binlog
+--enable_query_log
+
+CREATE USER user1@localhost IDENTIFIED BY 'BsG9#9.cem#!85';
+
+--error ER_NOT_VALID_PASSWORD
+CREATE USER user2@localhost IDENTIFIED BY 'bsg9#d.cem#!85';
+
+DROP USER user1@localhost;
+
+--let $binlog_file = LAST
+source include/show_binlog_events.inc;
+
+UNINSTALL PLUGIN simple_password_check;
diff --git a/mysql-test/suite/plugins/t/cassandra.opt b/mysql-test/suite/plugins/t/cassandra.opt
new file mode 100644
index 00000000000..76639e7d3e2
--- /dev/null
+++ b/mysql-test/suite/plugins/t/cassandra.opt
@@ -0,0 +1 @@
+--plugin-load-add=$HA_CASSANDRA_SO --loose-cassandra=on
diff --git a/mysql-test/suite/plugins/t/cassandra.test b/mysql-test/suite/plugins/t/cassandra.test
new file mode 100644
index 00000000000..b12de78e326
--- /dev/null
+++ b/mysql-test/suite/plugins/t/cassandra.test
@@ -0,0 +1,758 @@
+#
+# Tests for cassandra storage engine
+#
+if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'cassandra' AND support IN ('YES', 'DEFAULT', 'ENABLED')`)
+{
+ --skip Test requires Cassandra.
+}
+
+--disable_warnings
+drop table if exists t0, t1;
+--enable_warnings
+
+--echo #
+--echo # Check variables and status counters
+--echo #
+show status like 'cassandra%';
+show variables like 'cassandra%';
+
+--echo #
+--echo # Test various errors on table creation.
+--echo #
+--error ER_REQUIRES_PRIMARY_KEY
+create table t1 (a int) engine=cassandra
+ thrift_host='localhost' keyspace='foo' column_family='colfam';
+
+--error ER_CONNECT_TO_FOREIGN_DATA_SOURCE
+create table t1 (a int primary key, b int) engine=cassandra
+ thrift_host='localhost' keyspace='foo' column_family='colfam';
+
+--error ER_CONNECT_TO_FOREIGN_DATA_SOURCE
+create table t1 (rowkey char(10) primary key, column1 char(10)) engine=cassandra
+ thrift_host='127.0.0.2' keyspace='foo' column_family='colfam';
+
+--error ER_CONNECT_TO_FOREIGN_DATA_SOURCE
+create table t1 (rowkey char(10) primary key, column1 char(10)) engine=cassandra
+ thrift_host='localhost' keyspace='no_such_keyspace' column_family='colfam';
+
+# No column family specified
+--error ER_CONNECT_TO_FOREIGN_DATA_SOURCE
+create table t1 (rowkey char(10) primary key, column1 char(10)) engine=cassandra
+ thrift_host='localhost' keyspace='no_such_keyspace';
+
+############################################################################
+## Cassandra initialization
+############################################################################
+
+# Step 1: remove the keyspace that could be left over from the previous test
+--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_cleanup.cql
+--write_file $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
+drop keyspace mariadbtest2;
+EOF
+--error 0,1,2
+--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
+
+# Step 2: create new keyspace and test column families
+--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_init.cql
+--write_file $MYSQLTEST_VARDIR/cassandra_test_init.cql
+
+CREATE KEYSPACE mariadbtest2
+ WITH strategy_class = 'org.apache.cassandra.locator.SimpleStrategy'
+ AND strategy_options:replication_factor='1';
+
+USE mariadbtest2;
+create columnfamily cf1 ( pk varchar primary key, data1 varchar, data2 bigint);
+
+create columnfamily cf2 (rowkey bigint primary key, a bigint);
+
+create columnfamily cf3 (rowkey bigint primary key, intcol int);
+
+create columnfamily cf4 (rowkey bigint primary key, datecol timestamp);
+
+create columnfamily cf5 (rowkey bigint primary key, uuidcol uuid);
+
+create columnfamily cf6 (rowkey uuid primary key, col1 int);
+
+create columnfamily cf7 (rowkey int primary key, boolcol boolean);
+
+create columnfamily cf8 (rowkey varchar primary key, countercol counter);
+update cf8 set countercol=countercol+1 where rowkey='cnt1';
+update cf8 set countercol=countercol+100 where rowkey='cnt2';
+
+create columnfamily cf9 (rowkey varchar primary key, varint_col varint);
+insert into cf9 (rowkey, varint_col) values ('val-01', 1);
+insert into cf9 (rowkey, varint_col) values ('val-0x123456', 1193046);
+insert into cf9 (rowkey, varint_col) values ('val-0x12345678', 305419896);
+
+create columnfamily cf11 (rowkey varchar primary key, decimal_col decimal);
+insert into cf11 (rowkey, decimal_col) values ('val_0.5', 0.5);
+insert into cf11 (rowkey, decimal_col) values ('val_1.5', 1.5);
+insert into cf11 (rowkey, decimal_col) values ('val_1234', 1234);
+
+create columnfamily cf12 (rowkey varchar primary key, decimal_col decimal);
+
+create columnfamily cf13 (rowkey int primary key, b blob);
+
+create columnfamily cf14 ( rowkey int primary key, a int );
+
+EOF
+--error 0,1,2
+--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_init.cql
+
+
+# Step 3: Cassandra's CQL doesn't allow certain kinds of queries. Run them in
+# CLI
+--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_init.cli
+--write_file $MYSQLTEST_VARDIR/cassandra_test_init.cli
+use mariadbtest2;
+CREATE COLUMN FAMILY cf10
+ WITH comparator = UTF8Type
+ AND key_validation_class=UTF8Type
+ AND default_validation_class = UTF8Type;
+
+CREATE COLUMN FAMILY cfd1
+ WITH comparator = UTF8Type
+ AND key_validation_class=UTF8Type
+ AND default_validation_class = UTF8Type;
+SET cfd1['1']['very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_long_name']='1';
+
+CREATE COLUMN FAMILY cfd2
+ WITH comparator = UTF8Type
+ AND key_validation_class=Int32Type
+ AND default_validation_class = UTF8Type;
+
+EOF
+
+--error 0,1,2
+--system cassandra-cli -f $MYSQLTEST_VARDIR/cassandra_test_init.cli
+
+############################################################################
+## Cassandra initialization ends
+############################################################################
+
+--echo # Now, create a table for real and insert data
+create table t1 (pk varchar(36) primary key, data1 varchar(60), data2 bigint) engine=cassandra
+ thrift_host='localhost' keyspace='mariadbtest2' column_family='cf1';
+
+--echo # Just in case there were left-overs from previous:
+delete from t1;
+select * from t1;
+
+insert into t1 values ('rowkey10', 'data1-value', 123456);
+insert into t1 values ('rowkey11', 'data1-value2', 34543);
+insert into t1 values ('rowkey12', 'data1-value3', 454);
+select * from t1;
+
+explain
+select * from t1 where pk='rowkey11';
+select * from t1 where pk='rowkey11';
+
+# Deletion functions weirdly: it sets all columns to NULL
+# but when If I do this in cassandra-cli:
+#
+# del cf1[ascii('rowkey10')]
+#
+# Subsequent 'list cf1' command also gives
+#
+# RowKey: rowkey10
+#
+# without any columns.
+#
+# CQL seems to simply ignore all "incomplete" records.
+
+delete from t1 where pk='rowkey11';
+select * from t1;
+
+delete from t1;
+select * from t1;
+
+--echo #
+--echo # A query with filesort (check that table_flags() & HA_REC_NOT_IN_SEQ,
+--echo # also check ::rnd_pos()
+--echo #
+insert into t1 values ('rowkey10', 'data1-value', 123456);
+insert into t1 values ('rowkey11', 'data1-value2', 34543);
+insert into t1 values ('rowkey12', 'data1-value3', 454);
+select * from t1 order by data2;
+
+delete from t1;
+drop table t1;
+
+--echo #
+--echo # MDEV-476: Cassandra: Server crashes in calculate_key_len on DELETE with ORDER BY
+--echo #
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+
+INSERT INTO t1 VALUES (1,1),(2,2);
+DELETE FROM t1 ORDER BY a LIMIT 1;
+
+DROP TABLE t1;
+
+--echo #
+--echo # Batched INSERT
+--echo #
+show variables like 'cassandra_insert_batch_size';
+show status like 'cassandra_row_insert%';
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+
+delete from t1;
+INSERT INTO t1 VALUES (1,1),(2,2);
+DELETE FROM t1 ORDER BY a LIMIT 1;
+
+DROP TABLE t1;
+show status like 'cassandra_row_insert%';
+
+--echo # FLUSH STATUS doesn't work for our variables, just like with InnoDB.
+flush status;
+show status like 'cassandra_row_insert%';
+
+--echo #
+--echo # Batched Key Access
+--echo #
+
+--echo # Control variable (we are not yet able to make use of MRR's buffer)
+show variables like 'cassandra_multi%';
+
+--echo # MRR-related status variables:
+show status like 'cassandra_multi%';
+
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+delete from t1;
+INSERT INTO t1 VALUES (0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
+
+set @tmp_jcl=@@join_cache_level;
+set join_cache_level=8;
+explain select * from t1 A, t1 B where B.rowkey=A.a;
+
+select * from t1 A, t1 B where B.rowkey=A.a;
+show status like 'cassandra_multi%';
+
+# The following INSERTs are really UPDATEs
+insert into t1 values(1, 8);
+insert into t1 values(3, 8);
+insert into t1 values(5, 8);
+insert into t1 values(7, 8);
+
+select * from t1 A, t1 B where B.rowkey=A.a;
+show status like 'cassandra_multi%';
+
+delete from t1;
+drop table t1;
+
+--echo #
+--echo # MDEV-480: TRUNCATE TABLE on a Cassandra table does not remove rows
+--echo #
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+INSERT INTO t1 VALUES (0,0),(1,1),(2,2);
+truncate table t1;
+select * from t1;
+drop table t1;
+
+--echo #
+--echo # MDEV-494, part #1: phantom row for big full-scan selects
+--echo #
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, a BIGINT) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+
+insert into t1 select A.a + 10 * B.a + 100*C.a, 12345 from t0 A, t0 B, t0 C;
+
+select count(*) from t1;
+select count(*) from t1 where a=12345;
+
+delete from t1;
+drop table t1;
+drop table t0;
+
+--echo # 32-bit INT type support
+CREATE TABLE t1 (rowkey BIGINT PRIMARY KEY, intcol INT) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf3';
+insert into t1 values (10,10);
+insert into t1 values (12,12);
+delete from t1;
+drop table t1;
+
+--echo #
+--echo # Try accessing column family w/o explicitly defined columns
+--echo #
+--error ER_INTERNAL_ERROR
+CREATE TABLE t1 (my_primary_key varchar(10) PRIMARY KEY) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf10';
+
+CREATE TABLE t1 (rowkey varchar(10) PRIMARY KEY) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf10';
+
+DROP TABLE t1;
+
+--echo #
+--echo # Timestamp datatype support
+--echo #
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, datecol timestamp) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf4';
+
+delete from t2;
+insert into t2 values (1, '2012-08-29 01:23:45');
+select * from t2;
+delete from t2;
+
+--echo # MDEV-498: Cassandra: Inserting a timestamp does not work on a 32-bit system
+INSERT INTO t2 VALUES (10,'2012-12-12 12:12:12');
+SELECT * FROM t2;
+delete from t2;
+
+--echo #
+--echo # (no MDEV#) Check that insert counters work correctly
+--echo #
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+let $start_inserts=`select variable_value from information_schema.SESSION_STATUS
+ where variable_name ='Cassandra_row_inserts'`;
+let $start_insert_batches=`select variable_value from information_schema.SESSION_STATUS
+ where variable_name ='Cassandra_row_insert_batches'`;
+
+set cassandra_insert_batch_size=10;
+insert into t2 select A.a+10*B.a, now() from t0 A, t0 B;
+
+--disable_query_log
+eval select
+ (select variable_value - $start_inserts from information_schema.SESSION_STATUS
+ where variable_name ='Cassandra_row_inserts')
+ AS 'inserts',
+ (select variable_value - $start_insert_batches from information_schema.SESSION_STATUS
+ where variable_name ='Cassandra_row_insert_batches')
+ AS 'insert_batches';
+--enable_query_log
+
+let $start_inserts=`select variable_value from information_schema.SESSION_STATUS
+ where variable_name ='Cassandra_row_inserts'`;
+let $start_insert_batches=`select variable_value from information_schema.SESSION_STATUS
+ where variable_name ='Cassandra_row_insert_batches'`;
+
+set cassandra_insert_batch_size=1;
+insert into t2 select A.a+10*B.a+100, now() from t0 A, t0 B;
+
+--disable_query_log
+eval select
+ (select variable_value - $start_inserts from information_schema.SESSION_STATUS
+ where variable_name ='Cassandra_row_inserts')
+ AS 'inserts',
+ (select variable_value - $start_insert_batches from information_schema.SESSION_STATUS
+ where variable_name ='Cassandra_row_insert_batches')
+ AS 'insert_batches';
+--enable_query_log
+
+delete from t2;
+drop table t2;
+drop table t0;
+
+--echo #
+--echo # UUID datatype support
+--echo #
+#create columnfamily cf5 (rowkey bigint primary key, uuidcol uuid);
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol char(36)) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+delete from t2;
+
+insert into t2 values(1,'9b5658dc-f32f-11e1-94cd-f46d046e9f09');
+
+--error ER_WARN_DATA_OUT_OF_RANGE
+insert into t2 values(2,'not-an-uuid');
+
+--error ER_WARN_DATA_OUT_OF_RANGE
+insert into t2 values(3,'9b5658dc-f32f-11e1=94cd-f46d046e9f09');
+
+--error ER_WARN_DATA_OUT_OF_RANGE
+insert into t2 values(4,'9b5658dc-fzzf-11e1-94cd-f46d046e9f09');
+
+--error ER_WARN_DATA_OUT_OF_RANGE
+insert into t2 values
+ (5,'9b5658dc-f11f-11e1-94cd-f46d046e9f09'),
+ (6,'9b5658dc-f11f011e1-94cd-f46d046e9f09');
+
+select * from t2;
+
+delete from t2;
+drop table t2;
+
+# create columnfamily cf6 (rowkey uuid primary key, col1 int);
+CREATE TABLE t2 (rowkey char(36) PRIMARY KEY, col1 int) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf6';
+delete from t2;
+
+insert into t2 values('9b5658dc-f32f-11e1-94cd-f46d046e9f09', 1234);
+
+--error ER_WARN_DATA_OUT_OF_RANGE
+insert into t2 values('not-an-uuid', 563);
+
+select * from t2;
+delete from t2;
+drop table t2;
+
+
+--echo #
+--echo # boolean datatype support
+--echo #
+# create columnfamily cf7 (rowkey int primary key, boolcol boolean);
+CREATE TABLE t2 (rowkey int PRIMARY KEY, boolcol bool) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf7';
+insert into t2 values (0, 0);
+insert into t2 values (1, 1);
+select * from t2;
+delete from t2;
+drop table t2;
+
+
+--echo #
+--echo # Counter datatype support (read-only)
+--echo #
+# create columnfamily cf8 (rowkey int primary key, countercol counter);
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, countercol bigint) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf8';
+select * from t2;
+drop table t2;
+
+--echo #
+--echo # Check that @@cassandra_default_thrift_host works
+--echo #
+show variables like 'cassandra_default_thrift_host';
+set @tmp=@@cassandra_default_thrift_host;
+--error ER_GLOBAL_VARIABLE
+set cassandra_default_thrift_host='localhost';
+set global cassandra_default_thrift_host='localhost';
+
+--echo # Try creating a table without specifying thrift_host:
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, countercol bigint) ENGINE=CASSANDRA
+ keyspace='mariadbtest2' column_family = 'cf8';
+select * from t2;
+drop table t2;
+
+set global cassandra_default_thrift_host=@tmp;
+
+--echo #
+--echo # Consistency settings
+--echo #
+show variables like 'cassandra_%consistency';
+set @tmp=@@cassandra_write_consistency;
+
+--echo # Unfortunately, there is no easy way to check if setting have the effect..
+set cassandra_write_consistency='ONE';
+set cassandra_write_consistency='QUORUM';
+set cassandra_write_consistency='LOCAL_QUORUM';
+set cassandra_write_consistency='EACH_QUORUM';
+set cassandra_write_consistency='ALL';
+set cassandra_write_consistency='ANY';
+set cassandra_write_consistency='TWO';
+set cassandra_write_consistency='THREE';
+
+set cassandra_write_consistency=@tmp;
+
+--echo #
+--echo # varint datatype support
+--echo #
+# create columnfamily cf9 (rowkey varchar primary key, varint_col varint);
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, varint_col varbinary(32)) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf9';
+--sorted_result
+select rowkey, hex(varint_col) from t2;
+drop table t2;
+
+--echo # now, let's check what happens when MariaDB's column is not wide enough:
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, varint_col varbinary(2)) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf9';
+--sorted_result
+--error ER_INTERNAL_ERROR
+select rowkey, hex(varint_col) from t2;
+drop table t2;
+
+--echo #
+--echo # Decimal datatype support
+--echo #
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, decimal_col varbinary(32)) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf11';
+select rowkey, hex(decimal_col) from t2;
+drop table t2;
+
+--echo #
+--echo # Mapping TIMESTAMP -> int64
+--echo #
+set @save_tz= @@time_zone;
+set time_zone='UTC';
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, datecol timestamp) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf4';
+insert into t2 values (1, '2012-08-29 01:23:45');
+INSERT INTO t2 VALUES (10,'2012-08-29 01:23:46');
+drop table t2;
+
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, datecol bigint) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf4';
+select * from t2;
+delete from t2;
+drop table t2;
+set time_zone=@save_tz;
+
+--echo #
+--echo # Check whether changing parameters with ALTER TABLE works.
+--echo #
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, decimal_col varbinary(32)) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf11';
+
+#--error ER_INTERNAL_ERROR
+#alter table t2 column_family='cf9';
+
+drop table t2;
+
+CREATE TABLE t2 (rowkey varchar(32) PRIMARY KEY, decimal_col varbinary(32)) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf11';
+
+let $c1= `select variable_value from information_schema.global_status
+ where variable_name like 'cassandra_row_inserts'`;
+alter table t2 column_family='cf12';
+let $c2= `select variable_value from information_schema.global_status
+ where variable_name like 'cassandra_row_inserts'`;
+
+--disable_query_log
+eval select ($c2 - $c1) as 'Writes made during ALTER TABLE';
+--enable_query_log
+
+drop table t2;
+
+--echo #
+--echo # UPDATE command support
+--echo #
+create table t1 (pk varchar(36) primary key, data1 varchar(60), data2 bigint) engine=cassandra
+ thrift_host='localhost' keyspace='mariadbtest2' column_family='cf1';
+
+insert into t1 values ('rowkey10', 'data1-value', 123456);
+insert into t1 values ('rowkey11', 'data1-value2', 34543);
+insert into t1 values ('rowkey12', 'data1-value3', 454);
+select * from t1;
+
+update t1 set data1='updated-1' where pk='rowkey11';
+select * from t1;
+update t1 set pk='new-rowkey12' where pk='rowkey12';
+select * from t1;
+
+delete from t1;
+drop table t1;
+
+--echo #
+--echo # Dynamic columns support
+--echo #
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol blob DYNAMIC_COLUMN_STORAGE=1) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+drop table t2;
+
+--echo #error: dynamic column is not a blob
+--error ER_WRONG_FIELD_SPEC
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol char(36) DYNAMIC_COLUMN_STORAGE=1) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+
+--echo #error: double dynamic column
+--error ER_WRONG_FIELD_SPEC
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol blob DYNAMIC_COLUMN_STORAGE=1, textcol blob DYNAMIC_COLUMN_STORAGE=1) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+
+--echo #
+--echo # Dynamic column read
+--echo #
+#prepare data
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol char(36)) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+delete from t2;
+insert into t2 values(1,'9b5658dc-f32f-11e1-94cd-f46d046e9f09');
+insert into t2 values(2,'9b5658dc-f32f-11e1-94cd-f46d046e9f0a');
+drop table t2;
+
+#test dynamic column read
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+select rowkey, column_list(dyn), column_get(dyn, 'uuidcol' as char) from t2;
+drop table t2;
+
+#cleanup data
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, uuidcol char(36)) ENGINE=CASSANDRA
+ thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+delete from t2;
+drop table t2;
+
+--echo #
+--echo # Dynamic column insert
+--echo #
+CREATE TABLE t2 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf5';
+insert into t2 values (1, column_create("dyn1", 1, "dyn2", "two"));
+select rowkey, column_json(dyn) from t2;
+delete from t2;
+drop table t2;
+--echo # bigint
+CREATE TABLE t1 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf2';
+insert into t1 values (1, column_create("dyn1", 1, "dyn2", "two", 'a', 254324));
+insert into t1 values (2, column_create("dyn1", 1, "dyn2", "two", 'a', 2543));
+select rowkey, column_json(dyn) from t1;
+delete from t1;
+drop table t1;
+--echo # int
+CREATE TABLE t1 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf3';
+insert into t1 values (1, column_create("dyn1", 1, "dyn2", "two", 'intcol', 254324));
+insert into t1 values (2, column_create("dyn1", 1, "dyn2", "two", 'intcol', 2543));
+select rowkey, column_json(dyn) from t1;
+delete from t1;
+drop table t1;
+--echo # timestamp
+CREATE TABLE t1 (rowkey bigint PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf4';
+insert into t1 values (1, column_create("dyn1", 1, "dyn2", "two", 'datecol', 254324));
+insert into t1 values (2, column_create("dyn1", 1, "dyn2", "two", 'datecol', 2543));
+select rowkey, column_json(dyn) from t1;
+delete from t1;
+drop table t1;
+--echo # boolean
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cf7';
+insert into t1 values (1, column_create("dyn1", 1, "dyn2", "two", 'boolcol', 254324));
+insert into t1 values (2, column_create("dyn1", 1, "dyn2", "two", 'boolcol', 0));
+select rowkey, column_json(dyn) from t1;
+select rowkey, column_json(dyn) from t1;
+update t1 set dyn=column_add(dyn, "dyn2", null, "dyn3", "3");
+select rowkey, column_json(dyn) from t1;
+update t1 set dyn=column_add(dyn, "dyn1", null) where rowkey= 1;
+select rowkey, column_json(dyn) from t1;
+update t1 set dyn=column_add(dyn, "dyn3", null, "a", "ddd");
+select rowkey, column_json(dyn) from t1;
+update t1 set dyn=column_add(dyn, "12345678901234", "ddd");
+select rowkey, column_json(dyn) from t1;
+update t1 set dyn=column_add(dyn, "12345678901234", null);
+select rowkey, column_json(dyn) from t1;
+update t1 set dyn=column_add(dyn, 'boolcol', null) where rowkey= 2;
+select rowkey, column_json(dyn) from t1;
+update t1 set rowkey= 3, dyn=column_add(dyn, "dyn1", null, 'boolcol', 0) where rowkey= 2;
+select rowkey, column_json(dyn) from t1;
+delete from t1;
+drop table t1;
+
+CREATE TABLE t1 (rowkey varchar(10) PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes) ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd1';
+--error ER_INTERNAL_ERROR
+select * from t1;
+drop table t1;
+
+# MDEV-560
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes)
+ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd2';
+DELETE FROM t1;
+insert into t1 values (1, column_create("dyn", 1));
+select rowkey, column_list(dyn) from t1;
+# Cleanup
+delete from t1;
+DROP TABLE t1;
+
+# MDEV-561 (incorrect format data to dynamic column)
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes)
+ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd2';
+--error ER_DYN_COL_WRONG_FORMAT
+insert into t1 values (1,'9b5658dc-f32f-11e1-94cd-f46d046e9f0a');
+delete from t1;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-565: Server crashes in ha_cassandra::write_row on
+--echo # inserting NULL into a dynamic column
+--echo #
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes)
+ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd2';
+insert into t1 values (1, NULL);
+delete from t1;
+DROP TABLE t1;
+
+--echo #
+--echo # strange side effect of Cassandra - remiving all columns of primary
+--echo # key removes all row.
+--echo #
+CREATE TABLE t1 (rowkey int PRIMARY KEY, dyn blob DYNAMIC_COLUMN_STORAGE=yes)
+ENGINE=CASSANDRA thrift_host='localhost' keyspace='mariadbtest2' column_family = 'cfd2';
+INSERT INTO t1 VALUES(2,column_create("ab","ab"));
+select rowkey, column_json(dyn) from t1;
+UPDATE t1 set dyn=NULL;
+select rowkey, column_json(dyn) from t1;
+INSERT INTO t1 VALUES(2,column_create("ab","ab"));
+select rowkey, column_json(dyn) from t1;
+UPDATE t1 set dyn="";
+select rowkey, column_json(dyn) from t1;
+delete from t1;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-4005 #Server crashes on creating a Cassandra table
+--echo # with a mix of static and dynamic columns
+--echo #
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
+--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_cleanup.cql
+--write_file $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
+drop keyspace bug;
+EOF
+--error 0,1,2
+--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
+
+--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_init.cql
+--write_file $MYSQLTEST_VARDIR/cassandra_test_init.cql
+
+CREATE KEYSPACE bug
+ WITH strategy_class = 'org.apache.cassandra.locator.SimpleStrategy'
+ AND strategy_options:replication_factor='1';
+
+USE bug;
+create columnfamily cf1 ( pk int primary key, col_int int, a bigint );
+EOF
+
+--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_init.cql
+
+
+CREATE TABLE t1 (
+ pk int primary key,
+ col_int int,
+ dyncol blob DYNAMIC_COLUMN_STORAGE=yes
+) ENGINE=cassandra keyspace='bug' thrift_host = '127.0.0.1' column_family='cf1';
+
+drop table t1;
+
+
+--echo #
+--echo # MDEV-4000: Mapping between Cassandra blob (BytesType) and MySQL BLOB does not work
+--echo #
+
+create table t1 (rowkey int primary key, b blob ) ENGINE=CASSANDRA thrift_host = '127.0.0.1' `keyspace`='mariadbtest2' `column_family`='cf13';
+
+insert into t1 values (1, 'fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo-bar');
+insert into t1 values (2, 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq-baz');
+
+select * from t1;
+drop table t1;
+
+--echo #
+--echo # MDEV-4001: Cassandra: server crashes in ha_cassandra::end_bulk_insert on INSERT .. SELECT with a non-existing column
+--echo #
+create table t1 (rowkey int primary key, a int) ENGINE=cassandra thrift_host='127.0.0.1' keyspace='mariadbtest2' column_family='cf14';
+--error ER_BAD_FIELD_ERROR
+insert into t1 (a) select b from t1;
+drop table t1;
+
+############################################################################
+## Cassandra cleanup
+############################################################################
+--disable_parsing
+drop columnfamily cf1;
+drop columnfamily cf2;
+drop columnfamily cf3;
+drop columnfamily cf4;
+drop columnfamily cf5;
+drop columnfamily cf6;
+drop columnfamily cf7;
+
+drop columnfamily cf13;
+drop columnfamily cf14;
+--enable_parsing
+############################################################################
+## Cassandra cleanup ends
+############################################################################
+
diff --git a/mysql-test/suite/plugins/t/cassandra_qcache.opt b/mysql-test/suite/plugins/t/cassandra_qcache.opt
new file mode 100644
index 00000000000..76639e7d3e2
--- /dev/null
+++ b/mysql-test/suite/plugins/t/cassandra_qcache.opt
@@ -0,0 +1 @@
+--plugin-load-add=$HA_CASSANDRA_SO --loose-cassandra=on
diff --git a/mysql-test/suite/plugins/t/cassandra_qcache.test b/mysql-test/suite/plugins/t/cassandra_qcache.test
new file mode 100644
index 00000000000..5ccce461a2f
--- /dev/null
+++ b/mysql-test/suite/plugins/t/cassandra_qcache.test
@@ -0,0 +1,59 @@
+#
+# Tests for cassandra storage engine
+#
+-- source include/have_query_cache.inc
+
+if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'cassandra' AND support IN ('YES', 'DEFAULT', 'ENABLED')`)
+{
+ --skip Test requires Cassandra.
+}
+
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+
+############################################################################
+## Cassandra initialization
+############################################################################
+
+# Step 1: remove the keyspace that could be left over from the previous test
+--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_cleanup.cql
+--write_file $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
+drop keyspace mariadbtest2;
+EOF
+--error 0,1,2
+--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
+
+# Step 2: create new keyspace and test column families
+--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_init.cql
+--write_file $MYSQLTEST_VARDIR/cassandra_test_init.cql
+
+CREATE KEYSPACE mariadbtest2
+ WITH strategy_class = 'org.apache.cassandra.locator.SimpleStrategy'
+ AND strategy_options:replication_factor='1';
+
+USE mariadbtest2;
+create columnfamily cf1 ( rowkey int primary key, a int );
+EOF
+
+--error 0,1,2
+--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_init.cql
+
+############################################################################
+## The test itsef:
+############################################################################
+
+create table t1 (rowkey int primary key, a int) engine=cassandra
+ thrift_host='localhost' keyspace='mariadbtest2' column_family='cf1';
+create table t2 like t1;
+
+set global query_cache_size=1024*1024;
+
+select * from t1;
+insert into t2 values (1,1);
+
+select * from t1;
+select sql_no_cache * from t1;
+
+drop table t1,t2;
+set global QUERY_CACHE_SIZE=0;
diff --git a/mysql-test/suite/plugins/t/cassandra_reinstall.test b/mysql-test/suite/plugins/t/cassandra_reinstall.test
new file mode 100644
index 00000000000..95e4f7b63b6
--- /dev/null
+++ b/mysql-test/suite/plugins/t/cassandra_reinstall.test
@@ -0,0 +1,16 @@
+#
+# MDEV-4403 Attempting to use cassandra storage engine causes "service 'my_snprintf_service' interface version mismatch"
+#
+if (!$HA_CASSANDRA_SO) {
+ skip No Cassandra engine;
+}
+
+install soname 'ha_cassandra';
+select plugin_name,plugin_status,plugin_library from information_schema.plugins where plugin_name = 'cassandra';
+uninstall plugin cassandra;
+select plugin_name,plugin_status,plugin_library from information_schema.plugins where plugin_name = 'cassandra';
+install soname 'ha_cassandra';
+select plugin_name,plugin_status,plugin_library from information_schema.plugins where plugin_name = 'cassandra';
+uninstall plugin cassandra;
+select plugin_name,plugin_status,plugin_library from information_schema.plugins where plugin_name = 'cassandra';
+
diff --git a/mysql-test/suite/plugins/t/cracklib_password_check.test b/mysql-test/suite/plugins/t/cracklib_password_check.test
new file mode 100644
index 00000000000..89b53b656d6
--- /dev/null
+++ b/mysql-test/suite/plugins/t/cracklib_password_check.test
@@ -0,0 +1,45 @@
+--source include/not_embedded.inc
+
+if (!$CRACKLIB_PASSWORD_CHECK_SO) {
+ skip No CRACKLIB_PASSWORD_CHECK plugin;
+}
+
+install soname "cracklib_password_check";
+
+--vertical_results
+--replace_result .dll .so
+select * from information_schema.plugins where plugin_name='cracklib_password_check';
+--horizontal_results
+
+--error ER_NOT_VALID_PASSWORD
+grant select on *.* to foocar identified by 'foocar';
+show warnings;
+
+--error ER_NOT_VALID_PASSWORD
+grant select on *.* to foocar identified by 'racoof';
+show warnings;
+
+--error ER_NOT_VALID_PASSWORD
+grant select on *.* to foo@barbar identified by 'barbar';
+show warnings;
+
+--error ER_NOT_VALID_PASSWORD
+grant select on *.* to foobar identified by 'qwerty';
+show warnings;
+
+grant select on *.* to foobar identified by 'q$%^&*rty';
+drop user foobar;
+
+--echo #
+--echo # MDEV-9851: CREATE USER w/o IDENTIFIED BY clause causes crash
+--echo # when using cracklib plugin
+--echo #
+
+--error ER_NOT_VALID_PASSWORD
+create user 'newuser'@'localhost';
+
+uninstall plugin cracklib_password_check;
+
+create user foo1 identified by 'pwd';
+drop user foo1;
+
diff --git a/mysql-test/suite/plugins/t/false_dupes-6543.test b/mysql-test/suite/plugins/t/false_dupes-6543.test
new file mode 100644
index 00000000000..ebdbe00e47c
--- /dev/null
+++ b/mysql-test/suite/plugins/t/false_dupes-6543.test
@@ -0,0 +1,18 @@
+#
+# MDEV-6543 Crash if enable 'federatedx' when 'federated' plugin already enabled, and vice-versa
+#
+if(!$HA_FEDERATED_SO) {
+ skip Needs ha_federated.so;
+}
+if(!$HA_FEDERATEDX_SO) {
+ skip Needs ha_federatedx.so;
+}
+
+install soname 'ha_federated';
+# note: no error below! install soname ignores already loaded plugins
+install soname 'ha_federated';
+# note: an error here, even though plugin name is the same!
+--error ER_UDF_EXISTS
+install soname 'ha_federatedx';
+uninstall soname 'ha_federated';
+
diff --git a/mysql-test/suite/plugins/t/feedback_plugin_load.opt b/mysql-test/suite/plugins/t/feedback_plugin_load.opt
index 5fbb2f83954..6bf7594ce09 100644
--- a/mysql-test/suite/plugins/t/feedback_plugin_load.opt
+++ b/mysql-test/suite/plugins/t/feedback_plugin_load.opt
@@ -1,2 +1,2 @@
--loose-feedback
---plugin-load=$FEEDBACK_SO
+--plugin-load-add=$FEEDBACK_SO
diff --git a/mysql-test/suite/plugins/t/feedback_plugin_load.test b/mysql-test/suite/plugins/t/feedback_plugin_load.test
index f626f1b0125..8b4aee28362 100644
--- a/mysql-test/suite/plugins/t/feedback_plugin_load.test
+++ b/mysql-test/suite/plugins/t/feedback_plugin_load.test
@@ -26,3 +26,15 @@ SELECT variable_value = @feedback_used + 1 FROM information_schema.feedback wher
select * from information_schema.feedback where variable_name like 'feed%'
and variable_name not like '%_uid' and variable_name not like 'FEEDBACK used'
and variable_name not like '%debug%';
+
+# Embedded server does not use the table mysqld.user and thus
+# does not automatically use latin1_bin on startup. Use it manually.
+--disable_query_log
+if (`SELECT VERSION() LIKE '%embedded%'`)
+{
+ DO _latin1'test' COLLATE latin1_bin;
+}
+--enable_query_log
+SELECT VARIABLE_VALUE>0, VARIABLE_NAME FROM INFORMATION_SCHEMA.FEEDBACK
+WHERE VARIABLE_NAME LIKE 'Collation used %'
+ORDER BY VARIABLE_NAME;
diff --git a/mysql-test/suite/plugins/t/locales.opt b/mysql-test/suite/plugins/t/locales.opt
new file mode 100644
index 00000000000..21f53ca3f0b
--- /dev/null
+++ b/mysql-test/suite/plugins/t/locales.opt
@@ -0,0 +1,3 @@
+--loose-locale
+--plugin-load-add=$LOCALES_SO
+
diff --git a/mysql-test/suite/plugins/t/locales.test b/mysql-test/suite/plugins/t/locales.test
new file mode 100644
index 00000000000..a3afe75046f
--- /dev/null
+++ b/mysql-test/suite/plugins/t/locales.test
@@ -0,0 +1,13 @@
+if (`select count(*) = 0 from information_schema.plugins where plugin_name = 'locales' and plugin_status='active'`)
+{
+ --skip LOCALES plugin is not active
+}
+
+select * from information_schema.locales;
+show locales;
+--error ER_PARSE_ERROR
+show locales like '%spanish%';
+show locales where description like '%spanish%';
+--error ER_PARSE_ERROR
+flush locales;
+
diff --git a/mysql-test/suite/plugins/t/pam.test b/mysql-test/suite/plugins/t/pam.test
index 8a95d6baed2..8441b83c5c3 100644
--- a/mysql-test/suite/plugins/t/pam.test
+++ b/mysql-test/suite/plugins/t/pam.test
@@ -17,18 +17,34 @@ EOF
--echo # athentication is successful, challenge/pin are ok
--echo # note that current_user() differs from user()
--echo #
---exec $MYSQL_TEST -u test_pam --plugin-dir=$plugindir < $MYSQLTEST_VARDIR/tmp/pam_good.txt
+--exec $MYSQL_TEST -u test_pam < $MYSQLTEST_VARDIR/tmp/pam_good.txt
--echo #
--echo # athentication is unsuccessful
--echo #
--error 1
---exec $MYSQL_TEST -u test_pam --plugin-dir=$plugindir < $MYSQLTEST_VARDIR/tmp/pam_bad.txt
+--exec $MYSQL_TEST -u test_pam < $MYSQLTEST_VARDIR/tmp/pam_bad.txt
---remove_file $MYSQLTEST_VARDIR/tmp/pam_good.txt
---remove_file $MYSQLTEST_VARDIR/tmp/pam_bad.txt
drop user test_pam;
drop user pam_test;
+create user PAM_TEST identified via pam using 'mariadb_mtr';
+
+--echo #
+--echo # athentication is unsuccessful
+--echo #
+--error 1
+--exec $MYSQL_TEST -u PAM_TEST < $MYSQLTEST_VARDIR/tmp/pam_good.txt
+
+set global pam_winbind_workaround=1;
+--echo #
+--echo # athentication is successful
+--echo #
+--exec $MYSQL_TEST -u PAM_TEST < $MYSQLTEST_VARDIR/tmp/pam_good.txt
+
+--remove_file $MYSQLTEST_VARDIR/tmp/pam_good.txt
+--remove_file $MYSQLTEST_VARDIR/tmp/pam_bad.txt
+drop user PAM_TEST;
+
let $count_sessions= 1;
--source include/wait_until_count_sessions.inc
uninstall plugin pam;
diff --git a/mysql-test/suite/plugins/t/pam_cleartext.test b/mysql-test/suite/plugins/t/pam_cleartext.test
index 8476c39fd89..29ed7430649 100644
--- a/mysql-test/suite/plugins/t/pam_cleartext.test
+++ b/mysql-test/suite/plugins/t/pam_cleartext.test
@@ -1,7 +1,7 @@
--source pam_init.inc
-show variables like 'pam%';
+show variables like 'pam_use_%';
--write_file $MYSQLTEST_VARDIR/tmp/pam_good.txt
not very secret challenge
diff --git a/mysql-test/suite/plugins/t/processlist.test b/mysql-test/suite/plugins/t/processlist.test
new file mode 100644
index 00000000000..39b715b867b
--- /dev/null
+++ b/mysql-test/suite/plugins/t/processlist.test
@@ -0,0 +1,20 @@
+#
+# MDEV-15359 Thread stay in "cleaning up" status after finishing
+#
+source include/have_innodb.inc;
+
+create table t1 (a int) engine=innodb;
+start transaction;
+insert t1 values (1);
+let id=`select connection_id()`;
+connect con2,localhost,root;
+let $wait_condition=select state='' from information_schema.processlist where id = $id;
+--source include/wait_condition.inc
+replace_regex /\"/-/; #"
+let s=`show engine innodb status`;
+disable_query_log;
+eval select regexp_replace("$s", '(?s)^.*MySQL thread id $id,.*root([^\n]*)\n.*', '\\\\1') as `state from show engine innodb status, must be empty`;
+enable_query_log;
+disconnect con2;
+connection default;
+drop table t1;
diff --git a/mysql-test/suite/plugins/t/qc_info.test b/mysql-test/suite/plugins/t/qc_info.test
index a081617c524..ef759ce8eb4 100644
--- a/mysql-test/suite/plugins/t/qc_info.test
+++ b/mysql-test/suite/plugins/t/qc_info.test
@@ -8,4 +8,10 @@ set global query_cache_size = 0;
select * from information_schema.query_cache_info;
set global query_cache_size= default;
+set global query_cache_type=default;
+
+--error ER_PARSE_ERROR
+show query_cache_info;
+--error ER_PARSE_ERROR
+flush query_cache_info;
diff --git a/mysql-test/suite/plugins/t/qc_info_init.inc b/mysql-test/suite/plugins/t/qc_info_init.inc
index 9422bd7f141..4f125432876 100644
--- a/mysql-test/suite/plugins/t/qc_info_init.inc
+++ b/mysql-test/suite/plugins/t/qc_info_init.inc
@@ -3,6 +3,8 @@ if (`select count(*) = 0 from information_schema.plugins where plugin_name = 'qu
--skip QUERY_CACHE_INFO plugin is not active
}
+set global query_cache_type=ON;
+set local query_cache_type=ON;
set global query_cache_size=1355776;
create table t1 (a int not null);
@@ -10,3 +12,24 @@ insert into t1 values (1),(2),(3);
select * from t1;
select statement_schema, statement_text, result_blocks_count, result_blocks_size from information_schema.query_cache_info;
+select @@time_zone into @time_zone;
+select @@default_week_format into @default_week_format;
+select @@character_set_client into @character_set_client;
+select @@character_set_results into @character_set_results;
+select @@sql_mode into @sql_mode;
+select @@div_precision_increment into @div_precision_increment;
+select @@lc_time_names into @lc_time_names;
+select @@max_sort_length into @max_sort_length;
+select @@autocommit into @autocommit;
+select @@group_concat_max_len into @group_concat_max_len;
+select Name into @new_time_zone from mysql.time_zone_name limit 1;
+set time_zone=@new_time_zone,default_week_format=4,character_set_client='binary',character_set_results='utf32',collation_connection='utf32_bin',sql_mode='STRICT_ALL_TABLES',div_precision_increment=7,lc_time_names='ar_SD',autocommit=0, group_concat_max_len=513, max_sort_length=1011;
+--disable_result_log
+select * from t1;
+--enable_result_log
+set time_zone= @time_zone, default_week_format= @default_week_format, character_set_client= @character_set_client,character_set_results= @character_set_results, sql_mode= @sql_mode, div_precision_increment= @div_precision_increment, lc_time_names= @lc_time_names, autocommit= @autocommit, group_concat_max_len= @group_concat_max_len, max_sort_length= @max_sort_length;
+
+--sorted_result
+--replace_column 5 # 19 # 23 #
+select * from information_schema.query_cache_info;
+
diff --git a/mysql-test/suite/plugins/t/qc_info_init.opt b/mysql-test/suite/plugins/t/qc_info_init.opt
index 663de4da7d7..53b4ff314df 100644
--- a/mysql-test/suite/plugins/t/qc_info_init.opt
+++ b/mysql-test/suite/plugins/t/qc_info_init.opt
@@ -1,2 +1,2 @@
--loose-query_cache_info
---plugin-load=$QUERY_CACHE_INFO_SO
+--plugin-load-add=$QUERY_CACHE_INFO_SO
diff --git a/mysql-test/suite/plugins/t/qc_info_priv.test b/mysql-test/suite/plugins/t/qc_info_priv.test
index 31c394107c1..adcf882be9f 100644
--- a/mysql-test/suite/plugins/t/qc_info_priv.test
+++ b/mysql-test/suite/plugins/t/qc_info_priv.test
@@ -12,4 +12,4 @@ drop user mysqltest;
drop table t1;
set global query_cache_size= default;
-
+set global query_cache_type=default;
diff --git a/mysql-test/suite/plugins/t/show_all_plugins.test b/mysql-test/suite/plugins/t/show_all_plugins.test
new file mode 100644
index 00000000000..74f9a99aef3
--- /dev/null
+++ b/mysql-test/suite/plugins/t/show_all_plugins.test
@@ -0,0 +1,29 @@
+if (!$DIALOG_EXAMPLES_SO) { skip requires dialog_examples.so; }
+if (!$HA_EXAMPLE_SO) { skip requires ha_examples.so; }
+if (!$LIBDAEMON_EXAMPLE_SO) { skip requires libdaemon_examples.so; }
+if (!$UDF_EXAMPLE_SO) { skip requires udf_example.so; }
+if (!$EXAMPLE_KEY_MANAGEMENT_SO) { skip requires example_key_management.so; }
+if (`SELECT VERSION() LIKE '%embedded%'`) { skip Disabled for embedded until MDEV-8664 is resolved; }
+
+flush status;
+show status like '%libraries%';
+#--sorted_result
+#select * from information_schema.all_plugins;
+#show status like '%libraries%';
+--replace_result .dll .so
+--replace_column 5 MYSQL_VERSION_ID
+eval select * from information_schema.all_plugins where plugin_library='$HA_EXAMPLE_SO';
+show status like '%libraries%';
+--sorted_result
+--replace_result .dll .so
+eval show plugins soname '$HA_EXAMPLE_SO';
+show status like '%libraries%';
+--sorted_result
+--replace_result .dll .so
+show plugins soname like '%example%';
+show status like '%libraries%';
+--sorted_result
+--replace_result .dll .so
+eval show plugins soname where library = '$HA_EXAMPLE_SO';
+select variable_value > 10 from information_schema.global_status where variable_name like '%libraries%';
+
diff --git a/mysql-test/suite/plugins/t/simple_password_check.test b/mysql-test/suite/plugins/t/simple_password_check.test
new file mode 100644
index 00000000000..4965ee492d2
--- /dev/null
+++ b/mysql-test/suite/plugins/t/simple_password_check.test
@@ -0,0 +1,120 @@
+--source include/not_embedded.inc
+
+if (!$SIMPLE_PASSWORD_CHECK_SO) {
+ skip No SIMPLE_PASSWORD_CHECK plugin;
+}
+
+install soname "simple_password_check";
+
+--vertical_results
+--replace_result .dll .so
+select * from information_schema.plugins where plugin_name='simple_password_check';
+
+select * from information_schema.system_variables where variable_name like 'simple_password_check%' order by 1;
+--horizontal_results
+
+--error ER_NOT_VALID_PASSWORD
+create user foo1 identified by 'pwd';
+
+# Create user with no password.
+--error ER_NOT_VALID_PASSWORD
+create user foo1;
+
+--error ER_NOT_VALID_PASSWORD
+grant select on *.* to foo1 identified by 'pwd';
+
+--error ER_NOT_VALID_PASSWORD
+grant select on *.* to `FooBar1!` identified by 'FooBar1!';
+
+grant select on *.* to `BarFoo1!` identified by 'FooBar1!';
+drop user `BarFoo1!`;
+
+create user foo1 identified by 'aA.12345';
+grant select on *.* to foo1;
+drop user foo1;
+
+set global simple_password_check_digits=3;
+set global simple_password_check_letters_same_case=3;
+set global simple_password_check_other_characters=3;
+show variables like 'simple_password_check_%';
+
+create user foo1 identified by '123:qwe:ASD!';
+drop user foo1;
+
+--error ER_NOT_VALID_PASSWORD
+create user foo1 identified by '-23:qwe:ASD!';
+
+--error ER_NOT_VALID_PASSWORD
+create user foo1 identified by '123:4we:ASD!';
+
+--error ER_NOT_VALID_PASSWORD
+create user foo1 identified by '123:qwe:4SD!';
+
+--error ER_NOT_VALID_PASSWORD
+create user foo1 identified by '123:qwe:ASD4';
+
+create user foo1 identified by '123:qwe:ASD!';
+--error ER_NOT_VALID_PASSWORD
+set password for foo1 = password('qwe:-23:ASD!');
+--error ER_NOT_VALID_PASSWORD
+set password for foo1 = old_password('4we:123:ASD!');
+--error ER_NOT_VALID_PASSWORD
+set password for foo1 = password('qwe:123:4SD!');
+--error ER_NOT_VALID_PASSWORD
+set password for foo1 = old_password('qwe:123:ASD4');
+set password for foo1 = password('qwe:123:ASD!');
+
+# now, strict_password_validation
+select @@strict_password_validation;
+
+--error ER_NOT_VALID_PASSWORD
+set password for foo1 = '';
+--error ER_OPTION_PREVENTS_STATEMENT
+set password for foo1 = '2222222222222222';
+--error ER_OPTION_PREVENTS_STATEMENT
+set password for foo1 = '11111111111111111111111111111111111111111';
+--error ER_OPTION_PREVENTS_STATEMENT
+create user foo2 identified by password '11111111111111111111111111111111111111111';
+--error ER_OPTION_PREVENTS_STATEMENT
+grant select on *.* to foo2 identified by password '2222222222222222';
+--error ER_OPTION_PREVENTS_STATEMENT
+create user foo2 identified with mysql_native_password using '11111111111111111111111111111111111111111';
+--error ER_OPTION_PREVENTS_STATEMENT
+grant select on *.* to foo2 identified with mysql_old_password using '2222222222222222';
+--error ER_NOT_VALID_PASSWORD
+create user foo2 identified with mysql_native_password using '';
+--error ER_PASSWORD_NO_MATCH
+grant select on *.* to foo2 identified with mysql_old_password;
+
+# direct updates are not protected
+update mysql.user set password='xxx' where user='foo1';
+
+set global strict_password_validation=0;
+
+--error ER_NOT_VALID_PASSWORD
+set password for foo1 = '';
+set password for foo1 = '2222222222222222';
+set password for foo1 = '11111111111111111111111111111111111111111';
+create user foo2 identified by password '11111111111111111111111111111111111111111';
+drop user foo2;
+grant select on *.* to foo2 identified by password '2222222222222222';
+drop user foo2;
+create user foo2 identified with mysql_native_password using '11111111111111111111111111111111111111111';
+drop user foo2;
+grant select on *.* to foo2 identified with mysql_old_password using '2222222222222222';
+drop user foo2;
+
+set global strict_password_validation=1;
+drop user foo1;
+
+#
+# MDEV-9940 CREATE ROLE blocked by password validation plugin
+#
+create role r1;
+drop role r1;
+
+uninstall plugin simple_password_check;
+
+create user foo1 identified by 'pwd';
+drop user foo1;
+
diff --git a/mysql-test/suite/plugins/t/sql_error_log.test b/mysql-test/suite/plugins/t/sql_error_log.test
index a28e2d2e259..6c83e9655ce 100644
--- a/mysql-test/suite/plugins/t/sql_error_log.test
+++ b/mysql-test/suite/plugins/t/sql_error_log.test
@@ -48,6 +48,24 @@ drop table t1;
SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'not_exists' AND TABLE_NAME = 'not_exists';
+#
+# MDEV-6421 SQL_ERROR_LOG doesn't log comments in Events
+# actually testing SP call is enough for that.
+
+DELIMITER |;
+
+CREATE procedure e1()
+BEGIN
+ START TRANSACTION;
+ INSERT INTO test.non_exists VALUES (0,0,0) /* e1 */;
+ COMMIT;
+END|
+
+DELIMITER ;|
+--error ER_NO_SUCH_TABLE
+CALL e1();
+DROP PROCEDURE e1;
+
uninstall plugin SQL_ERROR_LOG;
let $MYSQLD_DATADIR= `SELECT @@datadir`;
diff --git a/mysql-test/suite/plugins/t/two_password_validations.test b/mysql-test/suite/plugins/t/two_password_validations.test
new file mode 100644
index 00000000000..89a5c7ae900
--- /dev/null
+++ b/mysql-test/suite/plugins/t/two_password_validations.test
@@ -0,0 +1,38 @@
+--source include/not_embedded.inc
+
+if (!$CRACKLIB_PASSWORD_CHECK_SO) {
+ skip No CRACKLIB_PASSWORD_CHECK plugin;
+}
+
+if (!$SIMPLE_PASSWORD_CHECK_SO) {
+ skip No SIMPLE_PASSWORD_CHECK plugin;
+}
+
+let $only_simple=grant select on *.* to Fff_fff1 identified by '1fff_ffF';
+let $only_crack=grant select on *.* to foobar identified by 'q-%^&*rty';
+
+install soname "simple_password_check";
+
+eval $only_simple;
+drop user Fff_fff1;
+
+install soname "cracklib_password_check";
+
+grant select on *.* to foobar identified by 'q$%^&*R1234ty';
+drop user foobar;
+
+--error ER_NOT_VALID_PASSWORD
+eval $only_simple;
+show warnings;
+
+--error ER_NOT_VALID_PASSWORD
+eval $only_crack;
+show warnings;
+
+uninstall plugin simple_password_check;
+
+eval $only_crack;
+drop user foobar;
+
+uninstall plugin cracklib_password_check;
+
diff --git a/mysql-test/suite/plugins/t/unix_socket.test b/mysql-test/suite/plugins/t/unix_socket.test
index 1522c9b7cbe..bd0323c0274 100644
--- a/mysql-test/suite/plugins/t/unix_socket.test
+++ b/mysql-test/suite/plugins/t/unix_socket.test
@@ -55,6 +55,6 @@ grant SELECT ON test.* TO '' identified via unix_socket;
# restoring mysql.user to the original state.
delete from mysql.user where user='';
+FLUSH PRIVILEGES;
uninstall plugin unix_socket;
--remove_file $MYSQLTEST_VARDIR/tmp/peercred_test.txt
-
diff --git a/mysql-test/suite/roles/acl_load_mutex-5170.result b/mysql-test/suite/roles/acl_load_mutex-5170.result
new file mode 100644
index 00000000000..6f6688f446e
--- /dev/null
+++ b/mysql-test/suite/roles/acl_load_mutex-5170.result
@@ -0,0 +1,8 @@
+create user user1@localhost;
+create role r1 with admin user1@localhost;
+grant all on test.* to r1;
+select 1;
+1
+1
+drop role r1;
+drop user user1@localhost;
diff --git a/mysql-test/suite/roles/acl_load_mutex-5170.test b/mysql-test/suite/roles/acl_load_mutex-5170.test
new file mode 100644
index 00000000000..e77d191ea16
--- /dev/null
+++ b/mysql-test/suite/roles/acl_load_mutex-5170.test
@@ -0,0 +1,24 @@
+--source include/not_embedded.inc
+#
+# MDEV-5170 Assertion `(&(&acl_cache->lock)->m_mutex)->count > 0 && pthread_equal(pthread_self(), (&(&acl_cache->lock)->m_mutex)->thread)' fails after restarting server with a pre-created role grants
+#
+create user user1@localhost;
+create role r1 with admin user1@localhost;
+grant all on test.* to r1;
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+--shutdown_server 60
+--source include/wait_until_disconnected.inc
+--enable_reconnect
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+--source include/wait_until_connected_again.inc
+
+select 1;
+
+drop role r1;
+drop user user1@localhost;
+
diff --git a/mysql-test/suite/roles/acl_statistics.result b/mysql-test/suite/roles/acl_statistics.result
new file mode 100644
index 00000000000..bf74cbf2e85
--- /dev/null
+++ b/mysql-test/suite/roles/acl_statistics.result
@@ -0,0 +1,106 @@
+SHOW STATUS LIKE 'Acl%';
+Variable_name Value
+Acl_column_grants 0
+Acl_database_grants 2
+Acl_function_grants 0
+Acl_procedure_grants 0
+Acl_proxy_users 2
+Acl_role_grants 0
+Acl_roles 0
+Acl_table_grants 0
+Acl_users 4
+SELECT count(*) COLUMN_GRANTS from mysql.columns_priv;
+COLUMN_GRANTS
+0
+SELECT count(*) DATABASE_GRANTS from mysql.db;
+DATABASE_GRANTS
+2
+SELECT count(*) FUNCTION_GRANTS from mysql.procs_priv where routine_type='FUNCTION';
+FUNCTION_GRANTS
+0
+SELECT count(*) PROCEDURE_GRANTS from mysql.procs_priv where routine_type='PROCEDURE';
+PROCEDURE_GRANTS
+0
+SELECT count(*) PROXY_USERS from mysql.proxies_priv;
+PROXY_USERS
+2
+SELECT count(*) ROLE_GRANTS from mysql.roles_mapping;
+ROLE_GRANTS
+0
+SELECT count(*) ROLES from mysql.user where is_role='Y';
+ROLES
+0
+SELECT count(*) TABLE_GRANTS from mysql.tables_priv;
+TABLE_GRANTS
+0
+SELECT count(*) USERS from mysql.user where is_role='N';
+USERS
+4
+CREATE USER u1;
+CREATE ROLE r1;
+CREATE ROLE r2;
+GRANT PROXY ON root TO u1;
+GRANT SELECT ON *.* to u1;
+GRANT SELECT ON *.* to r1;
+GRANT DELETE ON mysql.* to u1;
+GRANT DELETE ON mysql.* to r1;
+GRANT INSERT ON mysql.user to u1;
+GRANT INSERT ON mysql.user to r1;
+GRANT UPDATE (host) ON mysql.user to u1;
+GRANT UPDATE (host) ON mysql.user to r1;
+GRANT r1 to u1;
+GRANT r2 to r1;
+create procedure mysql.test_proc (OUT param1 INT)
+begin
+select COUNT(*) into param1 from mysql.roles_mapping;
+end|
+GRANT EXECUTE ON PROCEDURE mysql.test_proc TO r1;
+GRANT EXECUTE ON PROCEDURE mysql.test_proc TO u1;
+CREATE FUNCTION mysql.test_func (param INT) RETURNS INT
+RETURN (SELECT COUNT(*) FROM mysql.user);
+GRANT EXECUTE ON FUNCTION mysql.test_func TO r1;
+GRANT EXECUTE ON FUNCTION mysql.test_func TO u1;
+GRANT EXECUTE ON FUNCTION mysql.test_func TO r2;
+SHOW STATUS LIKE 'Acl%';
+Variable_name Value
+Acl_column_grants 2
+Acl_database_grants 4
+Acl_function_grants 3
+Acl_procedure_grants 2
+Acl_proxy_users 3
+Acl_role_grants 4
+Acl_roles 2
+Acl_table_grants 2
+Acl_users 5
+SELECT count(*) COLUMN_GRANTS from mysql.columns_priv;
+COLUMN_GRANTS
+2
+SELECT count(*) DATABASE_GRANTS from mysql.db;
+DATABASE_GRANTS
+4
+SELECT count(*) FUNCTION_GRANTS from mysql.procs_priv where routine_type='FUNCTION';
+FUNCTION_GRANTS
+3
+SELECT count(*) PROCEDURE_GRANTS from mysql.procs_priv where routine_type='PROCEDURE';
+PROCEDURE_GRANTS
+2
+SELECT count(*) PROXY_USERS from mysql.proxies_priv;
+PROXY_USERS
+3
+SELECT count(*) ROLE_GRANTS from mysql.roles_mapping;
+ROLE_GRANTS
+4
+SELECT count(*) ROLES from mysql.user where is_role='Y';
+ROLES
+2
+SELECT count(*) TABLE_GRANTS from mysql.tables_priv;
+TABLE_GRANTS
+2
+SELECT count(*) USERS from mysql.user where is_role='N';
+USERS
+5
+DROP PROCEDURE mysql.test_proc;
+DROP FUNCTION mysql.test_func;
+DROP ROLE r2;
+DROP ROLE r1;
+DROP USER u1;
diff --git a/mysql-test/suite/roles/acl_statistics.test b/mysql-test/suite/roles/acl_statistics.test
new file mode 100644
index 00000000000..c76d3760959
--- /dev/null
+++ b/mysql-test/suite/roles/acl_statistics.test
@@ -0,0 +1,66 @@
+# Test case for validating acl statistics for the feedback plugin.
+--source include/not_embedded.inc
+
+# First get a baseline of the initial statistics.
+SHOW STATUS LIKE 'Acl%';
+SELECT count(*) COLUMN_GRANTS from mysql.columns_priv;
+SELECT count(*) DATABASE_GRANTS from mysql.db;
+SELECT count(*) FUNCTION_GRANTS from mysql.procs_priv where routine_type='FUNCTION';
+SELECT count(*) PROCEDURE_GRANTS from mysql.procs_priv where routine_type='PROCEDURE';
+SELECT count(*) PROXY_USERS from mysql.proxies_priv;
+SELECT count(*) ROLE_GRANTS from mysql.roles_mapping;
+SELECT count(*) ROLES from mysql.user where is_role='Y';
+SELECT count(*) TABLE_GRANTS from mysql.tables_priv;
+SELECT count(*) USERS from mysql.user where is_role='N';
+
+# Next add some users, roles and privileges to them.
+CREATE USER u1;
+CREATE ROLE r1;
+CREATE ROLE r2;
+GRANT PROXY ON root TO u1;
+GRANT SELECT ON *.* to u1;
+GRANT SELECT ON *.* to r1;
+GRANT DELETE ON mysql.* to u1;
+GRANT DELETE ON mysql.* to r1;
+GRANT INSERT ON mysql.user to u1;
+GRANT INSERT ON mysql.user to r1;
+GRANT UPDATE (host) ON mysql.user to u1;
+GRANT UPDATE (host) ON mysql.user to r1;
+
+GRANT r1 to u1;
+GRANT r2 to r1;
+
+delimiter |;
+create procedure mysql.test_proc (OUT param1 INT)
+begin
+ select COUNT(*) into param1 from mysql.roles_mapping;
+end|
+delimiter ;|
+GRANT EXECUTE ON PROCEDURE mysql.test_proc TO r1;
+GRANT EXECUTE ON PROCEDURE mysql.test_proc TO u1;
+
+CREATE FUNCTION mysql.test_func (param INT) RETURNS INT
+ RETURN (SELECT COUNT(*) FROM mysql.user);
+GRANT EXECUTE ON FUNCTION mysql.test_func TO r1;
+GRANT EXECUTE ON FUNCTION mysql.test_func TO u1;
+# Extra grant to differentiate procedure from function grants.
+GRANT EXECUTE ON FUNCTION mysql.test_func TO r2;
+
+# Recheck how statistics are updated. Make sure that both the information
+# schema and the actualy physical rows are the same.
+SHOW STATUS LIKE 'Acl%';
+SELECT count(*) COLUMN_GRANTS from mysql.columns_priv;
+SELECT count(*) DATABASE_GRANTS from mysql.db;
+SELECT count(*) FUNCTION_GRANTS from mysql.procs_priv where routine_type='FUNCTION';
+SELECT count(*) PROCEDURE_GRANTS from mysql.procs_priv where routine_type='PROCEDURE';
+SELECT count(*) PROXY_USERS from mysql.proxies_priv;
+SELECT count(*) ROLE_GRANTS from mysql.roles_mapping;
+SELECT count(*) ROLES from mysql.user where is_role='Y';
+SELECT count(*) TABLE_GRANTS from mysql.tables_priv;
+SELECT count(*) USERS from mysql.user where is_role='N';
+
+DROP PROCEDURE mysql.test_proc;
+DROP FUNCTION mysql.test_func;
+DROP ROLE r2;
+DROP ROLE r1;
+DROP USER u1;
diff --git a/mysql-test/suite/roles/admin.result b/mysql-test/suite/roles/admin.result
new file mode 100644
index 00000000000..838f2ea165d
--- /dev/null
+++ b/mysql-test/suite/roles/admin.result
@@ -0,0 +1,153 @@
+create user foo@localhost;
+grant create user on *.* to foo@localhost;
+create role role1;
+create role role2 with admin current_user;
+create role role3 with admin current_role;
+ERROR 0L000: Invalid definer
+create role role3 with admin role1;
+create role role4 with admin root@localhost;
+create role role5 with admin root@localhost;
+ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
+create role role5 with admin role3;
+ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
+create role role5 with admin foo@localhost;
+call mtr.add_suppression("Invalid roles_mapping table entry user:'foo@bar', rolename:'role6'");
+create role role6 with admin foo@bar;
+Warnings:
+Note 1449 The user specified as a definer ('foo'@'bar') does not exist
+create user bar with admin current_user;
+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 'admin current_user' at line 1
+grant role1 to foo@localhost with admin option;
+grant role2 to foo@localhost;
+grant role2 to role1;
+grant role4 to role3 with admin option;
+grant select on *.* to foo@localhost with admin option;
+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 'admin option' at line 1
+show grants for foo@localhost;
+Grants for foo@localhost
+GRANT CREATE USER ON *.* TO 'foo'@'localhost'
+GRANT role1 TO 'foo'@'localhost' WITH ADMIN OPTION
+GRANT role2 TO 'foo'@'localhost'
+GRANT role5 TO 'foo'@'localhost' WITH ADMIN OPTION
+show grants for role1;
+Grants for role1
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT role2 TO 'role1'
+GRANT role3 TO 'role1' WITH ADMIN OPTION
+GRANT role4 TO 'role3' WITH ADMIN OPTION
+show grants for role4;
+Grants for role4
+GRANT USAGE ON *.* TO 'role4'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ role1 role2 N
+ role1 role3 Y
+ role3 role4 Y
+bar foo role6 Y
+localhost foo role1 Y
+localhost foo role2 N
+localhost foo role5 Y
+localhost root role1 Y
+localhost root role2 Y
+localhost root role4 Y
+flush privileges;
+show grants for foo@localhost;
+Grants for foo@localhost
+GRANT CREATE USER ON *.* TO 'foo'@'localhost'
+GRANT role1 TO 'foo'@'localhost' WITH ADMIN OPTION
+GRANT role2 TO 'foo'@'localhost'
+GRANT role5 TO 'foo'@'localhost' WITH ADMIN OPTION
+show grants for role1;
+Grants for role1
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT role2 TO 'role1'
+GRANT role3 TO 'role1' WITH ADMIN OPTION
+GRANT role4 TO 'role3' WITH ADMIN OPTION
+show grants for role4;
+Grants for role4
+GRANT USAGE ON *.* TO 'role4'
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role2 NO NULL
+role1 role3 YES NULL
+role3 role4 YES NULL
+root@localhost role1 YES NO
+root@localhost role2 YES NO
+root@localhost role4 YES NO
+grant role2 to role1 with admin option;
+revoke role1 from foo@localhost;
+revoke admin option for role4 from role3;
+revoke admin option for role2 from foo@localhost;
+revoke admin option for role1 from root@localhost;
+show grants for foo@localhost;
+Grants for foo@localhost
+GRANT CREATE USER ON *.* TO 'foo'@'localhost'
+GRANT role2 TO 'foo'@'localhost'
+GRANT role5 TO 'foo'@'localhost' WITH ADMIN OPTION
+show grants for role1;
+Grants for role1
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT role2 TO 'role1' WITH ADMIN OPTION
+GRANT role3 TO 'role1' WITH ADMIN OPTION
+GRANT role4 TO 'role3'
+show grants for role4;
+Grants for role4
+GRANT USAGE ON *.* TO 'role4'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ role1 role2 Y
+ role1 role3 Y
+ role3 role4 N
+bar foo role6 Y
+localhost foo role2 N
+localhost foo role5 Y
+localhost root role1 N
+localhost root role2 Y
+localhost root role4 Y
+flush privileges;
+show grants for foo@localhost;
+Grants for foo@localhost
+GRANT CREATE USER ON *.* TO 'foo'@'localhost'
+GRANT role2 TO 'foo'@'localhost'
+GRANT role5 TO 'foo'@'localhost' WITH ADMIN OPTION
+show grants for role1;
+Grants for role1
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT role2 TO 'role1' WITH ADMIN OPTION
+GRANT role3 TO 'role1' WITH ADMIN OPTION
+GRANT role4 TO 'role3'
+show grants for role4;
+Grants for role4
+GRANT USAGE ON *.* TO 'role4'
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role2 YES NULL
+role1 role3 YES NULL
+role3 role4 NO NULL
+root@localhost role1 NO NO
+root@localhost role2 YES NO
+root@localhost role4 YES NO
+grant role1 to role4;
+ERROR 28000: Access denied for user 'root'@'localhost'
+grant role1 to role4 with admin option;
+ERROR 28000: Access denied for user 'root'@'localhost'
+grant role3 to role2;
+revoke role3 from role2;
+grant role4 to role2 with admin option;
+revoke role2 from current_user;
+revoke role4 from current_user;
+grant role4 to current_user;
+drop role role1, role2, role3, role4, role5, role6;
+drop user foo@localhost;
diff --git a/mysql-test/suite/roles/admin.test b/mysql-test/suite/roles/admin.test
new file mode 100644
index 00000000000..242518eb13d
--- /dev/null
+++ b/mysql-test/suite/roles/admin.test
@@ -0,0 +1,102 @@
+source include/not_embedded.inc;
+
+create user foo@localhost;
+grant create user on *.* to foo@localhost;
+
+########################################
+# syntax tests
+########################################
+
+create role role1;
+create role role2 with admin current_user;
+--error ER_MALFORMED_DEFINER
+create role role3 with admin current_role;
+create role role3 with admin role1;
+create role role4 with admin root@localhost;
+
+# privilege checks, one needs SUPER to specify an arbitrary admin
+connect (c1, localhost, foo,,);
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+create role role5 with admin root@localhost;
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+create role role5 with admin role3;
+create role role5 with admin foo@localhost;
+
+connection default;
+# non-existing admin. works. warning. error in the log on acl_load.
+call mtr.add_suppression("Invalid roles_mapping table entry user:'foo@bar', rolename:'role6'");
+create role role6 with admin foo@bar;
+
+--error ER_PARSE_ERROR
+create user bar with admin current_user;
+
+grant role1 to foo@localhost with admin option;
+grant role2 to foo@localhost;
+grant role2 to role1;
+grant role4 to role3 with admin option;
+--error ER_PARSE_ERROR
+grant select on *.* to foo@localhost with admin option;
+
+--sorted_result
+show grants for foo@localhost;
+--sorted_result
+show grants for role1;
+--sorted_result
+show grants for role4;
+--sorted_result
+select * from mysql.roles_mapping;
+flush privileges;
+--sorted_result
+show grants for foo@localhost;
+--sorted_result
+show grants for role1;
+--sorted_result
+show grants for role4;
+--sorted_result
+select * from information_schema.applicable_roles;
+
+grant role2 to role1 with admin option;
+revoke role1 from foo@localhost;
+revoke admin option for role4 from role3;
+revoke admin option for role2 from foo@localhost;
+revoke admin option for role1 from root@localhost;
+
+--sorted_result
+show grants for foo@localhost;
+--sorted_result
+show grants for role1;
+--sorted_result
+show grants for role4;
+--sorted_result
+select * from mysql.roles_mapping;
+flush privileges;
+--sorted_result
+show grants for foo@localhost;
+--sorted_result
+show grants for role1;
+--sorted_result
+show grants for role4;
+--sorted_result
+select * from information_schema.applicable_roles;
+
+# Now, root@localhost don't have admin option for role1:
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant role1 to role4;
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant role1 to role4 with admin option;
+# but role3 is grantable
+grant role3 to role2;
+revoke role3 from role2;
+
+# now, a diamond
+grant role4 to role2 with admin option;
+revoke role2 from current_user;
+revoke role4 from current_user;
+grant role4 to current_user;
+
+
+########################################
+# cleanup
+########################################
+drop role role1, role2, role3, role4, role5, role6;
+drop user foo@localhost;
diff --git a/mysql-test/suite/roles/create_and_drop_current.result b/mysql-test/suite/roles/create_and_drop_current.result
new file mode 100644
index 00000000000..7e847677364
--- /dev/null
+++ b/mysql-test/suite/roles/create_and_drop_current.result
@@ -0,0 +1,34 @@
+create user foo@localhost;
+grant create user on *.* to foo@localhost;
+create user current_user;
+ERROR HY000: Operation CREATE USER failed for CURRENT_USER
+create user current_role;
+ERROR HY000: Operation CREATE USER failed for CURRENT_ROLE
+create role current_user;
+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 'current_user' at line 1
+create role current_role;
+ERROR HY000: Operation CREATE ROLE failed for CURRENT_ROLE
+drop user current_user;
+drop user current_role;
+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 'current_role' at line 1
+drop role current_user;
+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 'current_user' at line 1
+drop role current_role;
+ERROR HY000: Operation DROP ROLE failed for CURRENT_ROLE
+show warnings;
+Level Code Message
+Error 1446 Invalid definer
+Error 1396 Operation DROP ROLE failed for CURRENT_ROLE
+create role r1;
+grant r1 to current_user;
+set role r1;
+select current_role();
+current_role()
+r1
+create user current_role;
+ERROR HY000: Operation CREATE USER failed for CURRENT_ROLE
+create role current_role;
+ERROR HY000: Operation CREATE ROLE failed for CURRENT_ROLE
+drop user current_role;
+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 'current_role' at line 1
+drop role current_role;
diff --git a/mysql-test/suite/roles/create_and_drop_current.test b/mysql-test/suite/roles/create_and_drop_current.test
new file mode 100644
index 00000000000..7ca8161a30c
--- /dev/null
+++ b/mysql-test/suite/roles/create_and_drop_current.test
@@ -0,0 +1,51 @@
+#
+# MDEV-5225 Server crashes on CREATE USER|ROLE CURRENT_ROLE or DROP ROLE CURRENT_ROLE
+#
+
+# Where CURRENT_USER/CURRENT_ROLE is explicitly allowed by the grammar
+# the error (if any) should be ER_CANNOT_USER
+#
+# Where it's not explicitly allowed, the error is ER_PARSE_ERROR,
+# because CURRENT_USER/CURRENT_ROLE are reserved words and cannot be
+# accepted as an identifier.
+#
+
+--source include/not_embedded.inc
+
+create user foo@localhost;
+grant create user on *.* to foo@localhost;
+--change_user foo
+
+--error ER_CANNOT_USER
+create user current_user;
+--error ER_CANNOT_USER
+create user current_role;
+--error ER_PARSE_ERROR
+create role current_user;
+--error ER_CANNOT_USER
+create role current_role;
+# this works
+drop user current_user;
+--error ER_PARSE_ERROR
+drop user current_role;
+--error ER_PARSE_ERROR
+drop role current_user;
+--error ER_CANNOT_USER
+drop role current_role;
+show warnings;
+
+--change_user root
+
+create role r1;
+grant r1 to current_user;
+set role r1;
+select current_role();
+
+--error ER_CANNOT_USER
+create user current_role;
+--error ER_CANNOT_USER
+create role current_role;
+--error ER_PARSE_ERROR
+drop user current_role;
+drop role current_role;
+
diff --git a/mysql-test/suite/roles/create_and_drop_role.result b/mysql-test/suite/roles/create_and_drop_role.result
new file mode 100644
index 00000000000..13631f935bf
--- /dev/null
+++ b/mysql-test/suite/roles/create_and_drop_role.result
@@ -0,0 +1,86 @@
+use mysql;
+create role test_role1@host1;
+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 '@host1' at line 1
+create role test_role2@host2, test_role1@host1;
+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 '@host2, test_role1@host1' at line 1
+create role test_role1;
+create role test_role2, test_role3;
+select user, host, is_role from user where user like 'test%';
+user host is_role
+test_role1 Y
+test_role2 Y
+test_role3 Y
+drop role test_role1;
+drop role test_role2, test_role3;
+create role test_role1;
+create role test_role1;
+ERROR HY000: Operation CREATE ROLE failed for 'test_role1'
+create role test_role1, test_role2;
+ERROR HY000: Operation CREATE ROLE failed for 'test_role1'
+select user, host, is_role from user where user like 'test%';
+user host is_role
+test_role1 Y
+test_role2 Y
+drop role test_role1;
+drop role test_role1;
+ERROR HY000: Operation DROP ROLE failed for 'test_role1'
+drop role test_role1, test_role2;
+ERROR HY000: Operation DROP ROLE failed for 'test_role1'
+drop role root;
+ERROR HY000: Operation DROP ROLE failed for 'root'
+create user dummy@'';
+drop role dummy;
+ERROR HY000: Operation DROP ROLE failed for 'dummy'
+drop user dummy@'';
+select user, host, is_role from user where user like 'test%';
+user host is_role
+create role '';
+ERROR OP000: Invalid role specification ``.
+create role ' ';
+ERROR OP000: Invalid role specification ``.
+create role 'foo ';
+drop role foo;
+create role r1;
+drop user r1;
+ERROR HY000: Operation DROP USER failed for 'r1'@'%'
+drop role r1;
+create role r1 with admin u1;
+Warnings:
+Note 1449 The user specified as a definer ('u1'@'%') does not exist
+create user foo@bar;
+drop user foo@bar;
+drop role r1;
+CREATE USER u1;
+CREATE ROLE r1;
+CREATE USER r1@localhost;
+CREATE ROLE r2;
+GRANT r2 to r1;
+GRANT r2 to r1@localhost;
+DROP ROLE r1;
+SELECT * FROM mysql.roles_mapping;
+Host User Role Admin_option
+localhost r1 r2 N
+localhost root r2 Y
+SHOW GRANTS FOR r1@localhost;
+Grants for r1@localhost
+GRANT r2 TO 'r1'@'localhost'
+GRANT USAGE ON *.* TO 'r1'@'localhost'
+DROP USER u1;
+DROP ROLE r2;
+DROP USER r1@localhost;
+create role 'foo ';
+select concat(user, '__'), is_role from mysql.user where user like 'foo%';
+concat(user, '__') is_role
+foo__ Y
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost root foo Y
+drop role foo;
+select concat(user, '__'), is_role from mysql.user where user like 'foo%';
+concat(user, '__') is_role
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+show grants;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
diff --git a/mysql-test/suite/roles/create_and_drop_role.test b/mysql-test/suite/roles/create_and_drop_role.test
new file mode 100644
index 00000000000..b6e5bd2b297
--- /dev/null
+++ b/mysql-test/suite/roles/create_and_drop_role.test
@@ -0,0 +1,109 @@
+source include/not_embedded.inc;
+
+connect (mysql, localhost, root,,);
+use mysql;
+
+#test valid syntax
+--error ER_PARSE_ERROR
+create role test_role1@host1;
+--error ER_PARSE_ERROR
+create role test_role2@host2, test_role1@host1;
+
+create role test_role1;
+create role test_role2, test_role3;
+
+--sorted_result
+select user, host, is_role from user where user like 'test%';
+
+drop role test_role1;
+drop role test_role2, test_role3;
+
+create role test_role1;
+--error ER_CANNOT_USER
+create role test_role1;
+--error ER_CANNOT_USER
+create role test_role1, test_role2;
+
+--sorted_result
+select user, host, is_role from user where user like 'test%';
+
+drop role test_role1;
+--error ER_CANNOT_USER
+drop role test_role1;
+--error ER_CANNOT_USER
+drop role test_role1, test_role2;
+
+#test that we can not drop users when calling drop role
+--error ER_CANNOT_USER
+drop role root;
+create user dummy@'';
+--error ER_CANNOT_USER
+drop role dummy;
+drop user dummy@'';
+
+--sorted_result
+select user, host, is_role from user where user like 'test%';
+disconnect mysql;
+connection default;
+
+#
+# MDEV-5520 Connection lost on wrong CREATE ROLE
+#
+--error ER_INVALID_ROLE
+create role '';
+
+#
+# MDEV-8609 Server crashes in is_invalid_role_name on reloading ACL with a blank role name
+#
+--error ER_INVALID_ROLE
+create role ' ';
+create role 'foo ';
+drop role foo;
+
+#
+# MDEV-5523 Server crashes on DROP USER <rolename>
+#
+create role r1;
+--error ER_CANNOT_USER
+drop user r1;
+drop role r1;
+
+#
+# MDEV-5525 Assertion `status == 0' fails on creating user after granting it role admin option
+#
+create role r1 with admin u1;
+create user foo@bar;
+drop user foo@bar;
+drop role r1;
+
+#
+# MDEV-7774 Assertion `status == 0' fails when dropping in this order:
+#
+CREATE USER u1;
+CREATE ROLE r1;
+CREATE USER r1@localhost;
+CREATE ROLE r2;
+GRANT r2 to r1;
+GRANT r2 to r1@localhost;
+# MDEV-7774: Dropping in this order caused the crash.
+DROP ROLE r1;
+--sorted_result
+SELECT * FROM mysql.roles_mapping;
+SHOW GRANTS FOR r1@localhost; # Related to MDEV-7774, also caused a crash, by
+ # not updating the internal acl_roles_mapping
+ # data structure correctly;
+DROP USER u1;
+DROP ROLE r2;
+DROP USER r1@localhost;
+
+#
+# MDEV-11533: Roles with trailing white spaces are not cleared correctly
+#
+create role 'foo ';
+select concat(user, '__'), is_role from mysql.user where user like 'foo%';
+select * from mysql.roles_mapping;
+drop role foo;
+select concat(user, '__'), is_role from mysql.user where user like 'foo%';
+select * from mysql.roles_mapping;
+--sorted_result
+show grants;
diff --git a/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.result b/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.result
new file mode 100644
index 00000000000..27149c4bf17
--- /dev/null
+++ b/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.result
@@ -0,0 +1,28 @@
+use mysql;
+alter table user drop column is_role;
+alter table user drop column default_role;
+alter table user drop column max_statement_time;
+flush privileges;
+create role test_role;
+ERROR HY000: Column count of mysql.user is wrong. Expected 44, found 43. Created with MariaDB MYSQL_VERSION_ID, now running MYSQL_VERSION_ID. Please use mysql_upgrade to fix this error.
+drop role test_role;
+ERROR HY000: Operation DROP ROLE failed for 'test_role'
+alter table user add column is_role enum('N', 'Y') default 'N' not null
+COLLATE utf8_general_ci
+after password_expired;
+create role test_role;
+create user test_user@localhost;
+grant test_role to test_user@localhost;
+set default role test_role for root@localhost;
+ERROR HY000: Column count of mysql.user is wrong. Expected 45, found 44. Created with MariaDB MYSQL_VERSION_ID, now running MYSQL_VERSION_ID. Please use mysql_upgrade to fix this error.
+drop role test_role;
+drop user test_user@localhost;
+alter table user add column default_role char(80) binary default '' not null
+COLLATE utf8_general_ci
+after is_role;
+alter table user add max_statement_time decimal(12,6) default 0 not null
+after default_role;
+update user set is_role='N';
+flush privileges;
+create role test_role;
+drop role test_role;
diff --git a/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test b/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test
new file mode 100644
index 00000000000..ebd75c34ca1
--- /dev/null
+++ b/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test
@@ -0,0 +1,48 @@
+#
+# Test that SET DEFAULT ROLE doesn't work on old privilege tables
+# that don't have 'default_role' column
+#
+source include/not_embedded.inc;
+
+connect (mysql, localhost, root,,);
+use mysql;
+
+#
+# downgrade the table to pre-default-role structure
+#
+alter table user drop column is_role;
+alter table user drop column default_role;
+alter table user drop column max_statement_time;
+
+flush privileges;
+
+--replace_regex /10\d\d\d\d/MYSQL_VERSION_ID/
+--error ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE
+create role test_role;
+--error ER_CANNOT_USER
+drop role test_role;
+alter table user add column is_role enum('N', 'Y') default 'N' not null
+ COLLATE utf8_general_ci
+after password_expired;
+
+# Test default role column
+create role test_role;
+create user test_user@localhost;
+grant test_role to test_user@localhost;
+--replace_regex /10\d\d\d\d/MYSQL_VERSION_ID/
+--error ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE
+set default role test_role for root@localhost;
+drop role test_role;
+drop user test_user@localhost;
+
+alter table user add column default_role char(80) binary default '' not null
+ COLLATE utf8_general_ci
+after is_role;
+alter table user add max_statement_time decimal(12,6) default 0 not null
+after default_role;
+
+update user set is_role='N';
+
+flush privileges;
+create role test_role;
+drop role test_role;
diff --git a/mysql-test/suite/roles/create_and_grant_role.result b/mysql-test/suite/roles/create_and_grant_role.result
new file mode 100644
index 00000000000..883ae44397d
--- /dev/null
+++ b/mysql-test/suite/roles/create_and_grant_role.result
@@ -0,0 +1,26 @@
+create role r1;
+grant r1 to root@localhost;
+create user u1;
+set role r1;
+grant r1 to u1;
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+% u1 r1 N
+localhost root r1 Y
+drop user u1;
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost root r1 Y
+show grants;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT USAGE ON *.* TO 'r1'
+GRANT r1 TO 'root'@'localhost' WITH ADMIN OPTION
+drop role r1;
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+show grants;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
diff --git a/mysql-test/suite/roles/create_and_grant_role.test b/mysql-test/suite/roles/create_and_grant_role.test
new file mode 100644
index 00000000000..5b32150389e
--- /dev/null
+++ b/mysql-test/suite/roles/create_and_grant_role.test
@@ -0,0 +1,21 @@
+source include/not_embedded.inc;
+
+create role r1;
+grant r1 to root@localhost;
+create user u1;
+set role r1;
+
+grant r1 to u1;
+--sorted_result
+select * from mysql.roles_mapping;
+
+drop user u1;
+--sorted_result
+select * from mysql.roles_mapping;
+--sorted_result
+show grants;
+drop role r1;
+--sorted_result
+select * from mysql.roles_mapping;
+--sorted_result
+show grants;
diff --git a/mysql-test/suite/roles/current_role_view-12666.result b/mysql-test/suite/roles/current_role_view-12666.result
new file mode 100644
index 00000000000..1d14593be4b
--- /dev/null
+++ b/mysql-test/suite/roles/current_role_view-12666.result
@@ -0,0 +1,103 @@
+CREATE USER has_role@'localhost';
+GRANT ALL PRIVILEGES ON *.* TO has_role@'localhost';
+CREATE ROLE test_role;
+GRANT test_role TO has_role@'localhost';
+CREATE USER no_role@'localhost';
+GRANT ALL PRIVILEGES ON *.* TO no_role@'localhost';
+CREATE TABLE view_role_test (
+id int primary key,
+role_name varchar(50)
+);
+INSERT INTO view_role_test VALUES (1, 'test_role');
+#
+# Use the same logic for stored procedures.
+#
+PREPARE prepared_no_current_role FROM "SELECT * from view_role_test WHERE role_name = CURRENT_ROLE()";
+#
+# Creating a view with no CURRENT_ROLE() set and one with CURRENT_ROLE()
+# set. Both should produce the same SHOW CREATE VIEW output.
+#
+CREATE
+DEFINER = no_role@localhost
+SQL SECURITY INVOKER
+VIEW v_view_role_test_no_current_role
+AS
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+SHOW CREATE VIEW v_view_role_test_no_current_role;
+View Create View character_set_client collation_connection
+v_view_role_test_no_current_role CREATE ALGORITHM=UNDEFINED DEFINER=`no_role`@`localhost` SQL SECURITY INVOKER VIEW `v_view_role_test_no_current_role` AS select `view_role_test`.`id` AS `id`,`view_role_test`.`role_name` AS `role_name` from `view_role_test` where (`view_role_test`.`role_name` = current_role()) latin1 latin1_swedish_ci
+#
+# No values should be returned
+#
+EXECUTE prepared_no_current_role;
+id role_name
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+id role_name
+SELECT * FROM v_view_role_test_no_current_role;
+id role_name
+#
+# Now let's set the role. Create identical views as before. See if
+# their behaviour is different. It should not be.
+#
+SET ROLE test_role;
+SELECT CURRENT_USER();
+CURRENT_USER()
+root@localhost
+SELECT CURRENT_ROLE();
+CURRENT_ROLE()
+test_role
+#
+# Create the VIEW and prepared Statement with a CURRENT_ROLE() set.
+#
+CREATE
+DEFINER = no_role@localhost
+SQL SECURITY INVOKER
+VIEW v_view_role_test_with_current_role
+AS
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+PREPARE prepared_with_current_role FROM "SELECT * from view_role_test WHERE role_name = CURRENT_ROLE()";
+SHOW CREATE VIEW v_view_role_test_with_current_role;
+View Create View character_set_client collation_connection
+v_view_role_test_with_current_role CREATE ALGORITHM=UNDEFINED DEFINER=`no_role`@`localhost` SQL SECURITY INVOKER VIEW `v_view_role_test_with_current_role` AS select `view_role_test`.`id` AS `id`,`view_role_test`.`role_name` AS `role_name` from `view_role_test` where (`view_role_test`.`role_name` = current_role()) latin1 latin1_swedish_ci
+#
+# Values should be returned for all select statements as we do have
+# a CURRENT_ROLE() active;
+#
+EXECUTE prepared_no_current_role;
+id role_name
+1 test_role
+EXECUTE prepared_with_current_role;
+id role_name
+1 test_role
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+id role_name
+1 test_role
+SELECT * FROM v_view_role_test_no_current_role;
+id role_name
+1 test_role
+SELECT * FROM v_view_role_test_with_current_role;
+id role_name
+1 test_role
+SET ROLE NONE;
+#
+# No values should be returned for all select statements as we do not have
+# a CURRENT_ROLE() active;
+#
+EXECUTE prepared_no_current_role;
+id role_name
+EXECUTE prepared_with_current_role;
+id role_name
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+id role_name
+SELECT * FROM v_view_role_test_no_current_role;
+id role_name
+SELECT * FROM v_view_role_test_with_current_role;
+id role_name
+DROP USER has_role@'localhost';
+DROP USER no_role@'localhost';
+DROP ROLE test_role;
+DROP table view_role_test;
+DROP VIEW v_view_role_test_no_current_role;
+DROP VIEW v_view_role_test_with_current_role;
+DROP PREPARE prepared_no_current_role;
+DROP PREPARE prepared_with_current_role;
diff --git a/mysql-test/suite/roles/current_role_view-12666.test b/mysql-test/suite/roles/current_role_view-12666.test
new file mode 100644
index 00000000000..32039ffef07
--- /dev/null
+++ b/mysql-test/suite/roles/current_role_view-12666.test
@@ -0,0 +1,102 @@
+#
+# MDEV-12666 CURRENT_ROLE() does not work in a view
+#
+--source include/not_embedded.inc
+
+CREATE USER has_role@'localhost';
+GRANT ALL PRIVILEGES ON *.* TO has_role@'localhost';
+
+CREATE ROLE test_role;
+GRANT test_role TO has_role@'localhost';
+
+CREATE USER no_role@'localhost';
+GRANT ALL PRIVILEGES ON *.* TO no_role@'localhost';
+
+CREATE TABLE view_role_test (
+ id int primary key,
+ role_name varchar(50)
+ );
+
+INSERT INTO view_role_test VALUES (1, 'test_role');
+
+--echo #
+--echo # Use the same logic for stored procedures.
+--echo #
+PREPARE prepared_no_current_role FROM "SELECT * from view_role_test WHERE role_name = CURRENT_ROLE()";
+
+--echo #
+--echo # Creating a view with no CURRENT_ROLE() set and one with CURRENT_ROLE()
+--echo # set. Both should produce the same SHOW CREATE VIEW output.
+--echo #
+CREATE
+DEFINER = no_role@localhost
+SQL SECURITY INVOKER
+VIEW v_view_role_test_no_current_role
+AS
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+
+SHOW CREATE VIEW v_view_role_test_no_current_role;
+
+
+--echo #
+--echo # No values should be returned
+--echo #
+EXECUTE prepared_no_current_role;
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+SELECT * FROM v_view_role_test_no_current_role;
+
+--echo #
+--echo # Now let's set the role. Create identical views as before. See if
+--echo # their behaviour is different. It should not be.
+--echo #
+SET ROLE test_role;
+
+SELECT CURRENT_USER();
+SELECT CURRENT_ROLE();
+
+--echo #
+--echo # Create the VIEW and prepared Statement with a CURRENT_ROLE() set.
+--echo #
+CREATE
+DEFINER = no_role@localhost
+SQL SECURITY INVOKER
+VIEW v_view_role_test_with_current_role
+AS
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+
+PREPARE prepared_with_current_role FROM "SELECT * from view_role_test WHERE role_name = CURRENT_ROLE()";
+
+SHOW CREATE VIEW v_view_role_test_with_current_role;
+
+
+--echo #
+--echo # Values should be returned for all select statements as we do have
+--echo # a CURRENT_ROLE() active;
+--echo #
+EXECUTE prepared_no_current_role;
+EXECUTE prepared_with_current_role;
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+SELECT * FROM v_view_role_test_no_current_role;
+SELECT * FROM v_view_role_test_with_current_role;
+
+SET ROLE NONE;
+--echo #
+--echo # No values should be returned for all select statements as we do not have
+--echo # a CURRENT_ROLE() active;
+--echo #
+EXECUTE prepared_no_current_role;
+EXECUTE prepared_with_current_role;
+SELECT * FROM view_role_test WHERE role_name = CURRENT_ROLE();
+SELECT * FROM v_view_role_test_no_current_role;
+SELECT * FROM v_view_role_test_with_current_role;
+
+
+DROP USER has_role@'localhost';
+DROP USER no_role@'localhost';
+DROP ROLE test_role;
+
+DROP table view_role_test;
+DROP VIEW v_view_role_test_no_current_role;
+DROP VIEW v_view_role_test_with_current_role;
+DROP PREPARE prepared_no_current_role;
+DROP PREPARE prepared_with_current_role;
diff --git a/mysql-test/suite/roles/default_create_user_not_role.result b/mysql-test/suite/roles/default_create_user_not_role.result
new file mode 100644
index 00000000000..1ddb054c092
--- /dev/null
+++ b/mysql-test/suite/roles/default_create_user_not_role.result
@@ -0,0 +1,6 @@
+use mysql;
+create user 'test'@'localhost';
+select user, host, is_role from user where user='test' and host='localhost';
+user host is_role
+test localhost N
+drop user 'test'@'localhost';
diff --git a/mysql-test/suite/roles/default_create_user_not_role.test b/mysql-test/suite/roles/default_create_user_not_role.test
new file mode 100644
index 00000000000..d3a432892db
--- /dev/null
+++ b/mysql-test/suite/roles/default_create_user_not_role.test
@@ -0,0 +1,11 @@
+source include/not_embedded.inc;
+
+connect (mysql, localhost, root,,);
+use mysql;
+create user 'test'@'localhost';
+
+#check to see if a created user is not a role by default
+select user, host, is_role from user where user='test' and host='localhost';
+
+drop user 'test'@'localhost';
+disconnect mysql;
diff --git a/mysql-test/suite/roles/definer.result b/mysql-test/suite/roles/definer.result
new file mode 100644
index 00000000000..f2fca91f0ea
--- /dev/null
+++ b/mysql-test/suite/roles/definer.result
@@ -0,0 +1,742 @@
+create database mysqltest1;
+use mysqltest1;
+create table t1 (a int, b int, c int);
+insert t1 values (1,10,100),(2,20,200);
+create role role1;
+grant select (a) on mysqltest1.t1 to role1;
+grant event,execute,trigger on mysqltest1.* to role1;
+grant role1 to current_user;
+create role role2;
+grant insert,select on mysqltest1.t1 to role2;
+grant event,execute,trigger on mysqltest1.* to role2;
+create user foo@localhost;
+grant create view on mysqltest1.* to foo@localhost;
+create role role4;
+grant select on mysqltest1.t1 to role4;
+grant role4 to foo@localhost;
+create definer=current_role view test.v1 as select a+b,c from t1;
+ERROR 0L000: Invalid definer
+set role role1;
+create definer=current_role view test.v1 as select a+b,c from t1;
+show create view test.v1;
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`role1` SQL SECURITY DEFINER VIEW `test`.`v1` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` latin1 latin1_swedish_ci
+set role none;
+create definer=role2 view test.v2 as select a+b,c from t1;
+show create view test.v2;
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`role2` SQL SECURITY DEFINER VIEW `test`.`v2` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` latin1 latin1_swedish_ci
+create definer=role3 view test.v3 as select a+b,c from t1;
+Warnings:
+Note 1449 The user specified as a definer ('role3'@'%') does not exist
+show create view test.v3;
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`role3`@`%` SQL SECURITY DEFINER VIEW `test`.`v3` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` latin1 latin1_swedish_ci
+Warnings:
+Note 1449 The user specified as a definer ('role3'@'%') does not exist
+show grants;
+Grants for foo@localhost
+GRANT role4 TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT CREATE VIEW ON `mysqltest1`.* TO 'foo'@'localhost'
+select * from test.v1;
+ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+select * from test.v2;
+a+b c
+11 100
+22 200
+select * from test.v3;
+ERROR 28000: Access denied for user 'foo'@'localhost' (using password: NO)
+create definer=role4 view test.v4 as select a+b,c from t1;
+ERROR 42000: ANY command denied to user 'foo'@'localhost' for table 't1'
+select * from t1;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't1'
+set role role4;
+select * from t1;
+a b c
+1 10 100
+2 20 200
+create view test.v4 as select a+b,c from t1;
+create definer=role4 view test.v5 as select a+b,c from t1;
+select * from test.v4;
+ERROR HY000: View 'test.v4' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+select * from test.v5;
+a+b c
+11 100
+22 200
+set role none;
+select * from test.v4;
+ERROR HY000: View 'test.v4' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+select * from test.v5;
+a+b c
+11 100
+22 200
+drop role role4;
+show create view test.v5;
+View Create View character_set_client collation_connection
+v5 CREATE ALGORITHM=UNDEFINED DEFINER=`role4` SQL SECURITY DEFINER VIEW `test`.`v5` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` latin1 latin1_swedish_ci
+Warnings:
+Note 1449 The user specified as a definer ('role4'@'') does not exist
+select * from test.v5;
+ERROR HY000: The user specified as a definer ('role4'@'') does not exist
+create user role4;
+grant select on mysqltest1.t1 to role4;
+show create view test.v5;
+View Create View character_set_client collation_connection
+v5 CREATE ALGORITHM=UNDEFINED DEFINER=`role4` SQL SECURITY DEFINER VIEW `test`.`v5` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` latin1 latin1_swedish_ci
+Warnings:
+Note 1449 The user specified as a definer ('role4'@'') does not exist
+select * from test.v5;
+ERROR HY000: The user specified as a definer ('role4'@'') does not exist
+flush tables;
+show create view test.v5;
+View Create View character_set_client collation_connection
+v5 CREATE ALGORITHM=UNDEFINED DEFINER=`role4`@`%` SQL SECURITY DEFINER VIEW `test`.`v5` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` latin1 latin1_swedish_ci
+select * from test.v5;
+a+b c
+11 100
+22 200
+drop user role4;
+create table t2 select * from t1;
+create definer=current_role trigger tr1 before insert on t2 for each row
+insert t1 values (111, 222, 333);
+ERROR 0L000: Invalid definer
+set role role1;
+create definer=current_role trigger tr1 before insert on t2 for each row
+insert t1 values (111, 222, 333);
+show create trigger tr1;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+tr1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role1` trigger tr1 before insert on t2 for each row
+insert t1 values (111, 222, 333) latin1 latin1_swedish_ci latin1_swedish_ci
+set role none;
+insert t2 values (11,22,33);
+ERROR 42000: INSERT command denied to user 'role1'@'' for table 't1'
+select * from t1;
+a b c
+1 10 100
+2 20 200
+select * from t2;
+a b c
+1 10 100
+2 20 200
+create definer=role2 trigger tr2 before delete on t2 for each row
+insert t1 values (111, 222, 333);
+show create trigger tr2;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+tr2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role2` trigger tr2 before delete on t2 for each row
+insert t1 values (111, 222, 333) latin1 latin1_swedish_ci latin1_swedish_ci
+delete from t2 where a=1;
+select * from t1;
+a b c
+1 10 100
+2 20 200
+111 222 333
+select * from t2;
+a b c
+2 20 200
+delete from t1 where a=111;
+create definer=role3 trigger tr3 before update on t2 for each row
+insert t1 values (111, 222, 333);
+Warnings:
+Note 1449 The user specified as a definer ('role3'@'%') does not exist
+show create trigger tr3;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+tr3 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role3`@`%` trigger tr3 before update on t2 for each row
+insert t1 values (111, 222, 333) latin1 latin1_swedish_ci latin1_swedish_ci
+update t2 set b=2 where a=2;
+ERROR HY000: The user specified as a definer ('role3'@'%') does not exist
+select * from t1;
+a b c
+1 10 100
+2 20 200
+select * from t2;
+a b c
+2 20 200
+flush tables;
+show create trigger tr2;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+tr2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role2`@`` trigger tr2 before delete on t2 for each row
+insert t1 values (111, 222, 333) latin1 latin1_swedish_ci latin1_swedish_ci
+delete from t2 where a=2;
+ERROR HY000: The user specified as a definer ('role2'@'%') does not exist
+select * from t1;
+a b c
+1 10 100
+2 20 200
+select * from t2;
+a b c
+2 20 200
+create definer=current_role procedure pr1() insert t1 values (111, 222, 333);
+ERROR 0L000: Invalid definer
+set role role1;
+create definer=current_role procedure pr1() insert t1 values (111, 222, 333);
+show create procedure pr1;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pr1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role1` PROCEDURE `pr1`()
+insert t1 values (111, 222, 333) latin1 latin1_swedish_ci latin1_swedish_ci
+set role none;
+call pr1();
+ERROR 42000: INSERT command denied to user 'role1'@'' for table 't1'
+select * from t1;
+a b c
+1 10 100
+2 20 200
+create definer=role2 procedure pr2() insert t1 values (111, 222, 333);
+show create procedure pr2;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pr2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role2` PROCEDURE `pr2`()
+insert t1 values (111, 222, 333) latin1 latin1_swedish_ci latin1_swedish_ci
+call pr2();
+select * from t1;
+a b c
+1 10 100
+2 20 200
+111 222 333
+delete from t1 where a=111;
+create definer=role3 procedure pr3() insert t1 values (111, 222, 333);
+Warnings:
+Note 1449 The user specified as a definer ('role3'@'%') does not exist
+show create procedure pr3;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pr3 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role3`@`%` PROCEDURE `pr3`()
+insert t1 values (111, 222, 333) latin1 latin1_swedish_ci latin1_swedish_ci
+call pr3();
+ERROR HY000: The user specified as a definer ('role3'@'%') does not exist
+select * from t1;
+a b c
+1 10 100
+2 20 200
+update mysql.proc set definer='role2@' where definer='role2';
+call pr2();
+ERROR HY000: The user specified as a definer ('role2'@'%') does not exist
+create definer=current_role function fn1() returns int return (select sum(a+b) from t1);
+ERROR 0L000: Invalid definer
+set role role1;
+create definer=current_role function fn1() returns int return (select sum(a+b) from t1);
+show create function fn1;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role1` FUNCTION `fn1`() RETURNS int(11)
+return (select sum(a+b) from t1) latin1 latin1_swedish_ci latin1_swedish_ci
+set role none;
+select fn1();
+ERROR 42000: SELECT command denied to user 'role1'@'' for column 'b' in table 't1'
+select * from t1;
+a b c
+1 10 100
+2 20 200
+create definer=role2 function fn2() returns int return (select sum(a+b) from t1);
+show create function fn2;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role2` FUNCTION `fn2`() RETURNS int(11)
+return (select sum(a+b) from t1) latin1 latin1_swedish_ci latin1_swedish_ci
+select fn2();
+fn2()
+33
+create definer=role3 function fn3() returns int return (select sum(a+b) from t1);
+Warnings:
+Note 1449 The user specified as a definer ('role3'@'%') does not exist
+show create function fn3;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn3 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role3`@`%` FUNCTION `fn3`() RETURNS int(11)
+return (select sum(a+b) from t1) latin1 latin1_swedish_ci latin1_swedish_ci
+select fn3();
+ERROR HY000: The user specified as a definer ('role3'@'%') does not exist
+set global event_scheduler=on;
+create definer=current_role event e1 on schedule every 1 second starts '2000-01-01' do
+insert t1 values (111, 1, 0);
+ERROR 0L000: Invalid definer
+set role role1;
+create definer=current_role event e1 on schedule every 1 second starts '2000-01-01' do
+insert t1 values (111, 2, 0);
+show create event e1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION SYSTEM CREATE DEFINER=`role1` EVENT `e1` ON SCHEDULE EVERY 1 SECOND STARTS '2000-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO insert t1 values (111, 2, 0) latin1 latin1_swedish_ci latin1_swedish_ci
+set role none;
+create definer=role3 event e3 on schedule every 1 second starts '2000-01-01' do
+insert t1 values (111, 3, 0);
+Warnings:
+Note 1449 The user specified as a definer ('role3'@'%') does not exist
+show create event e3;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e3 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION SYSTEM CREATE DEFINER=`role3`@`%` EVENT `e3` ON SCHEDULE EVERY 1 SECOND STARTS '2000-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO insert t1 values (111, 3, 0) latin1 latin1_swedish_ci latin1_swedish_ci
+create definer=role2 event e2 on schedule every 1 second starts '2000-01-01' do
+insert t1 values (111, 4, 0);
+show create event e2;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION SYSTEM CREATE DEFINER=`role2` EVENT `e2` ON SCHEDULE EVERY 1 SECOND STARTS '2000-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO insert t1 values (111, 4, 0) latin1 latin1_swedish_ci latin1_swedish_ci
+set global event_scheduler=off;
+select distinct * from t1;
+a b c
+1 10 100
+111 4 0
+2 20 200
+delete from t1 where a=111;
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `test`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+/*!50001 CREATE TABLE `v1` (
+ `a+b` tinyint NOT NULL,
+ `c` tinyint NOT NULL
+) ENGINE=MyISAM */;
+SET character_set_client = @saved_cs_client;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+/*!50001 CREATE TABLE `v2` (
+ `a+b` tinyint NOT NULL,
+ `c` tinyint NOT NULL
+) ENGINE=MyISAM */;
+SET character_set_client = @saved_cs_client;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+/*!50001 CREATE TABLE `v3` (
+ `a+b` tinyint NOT NULL,
+ `c` tinyint NOT NULL
+) ENGINE=MyISAM */;
+SET character_set_client = @saved_cs_client;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+/*!50001 CREATE TABLE `v4` (
+ `a+b` tinyint NOT NULL,
+ `c` tinyint NOT NULL
+) ENGINE=MyISAM */;
+SET character_set_client = @saved_cs_client;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+/*!50001 CREATE TABLE `v5` (
+ `a+b` tinyint NOT NULL,
+ `c` tinyint NOT NULL
+) ENGINE=MyISAM */;
+SET character_set_client = @saved_cs_client;
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `mysqltest1`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+INSERT INTO `t1` VALUES (1,10,100),(2,20,200);
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+INSERT INTO `t2` VALUES (2,20,200);
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`role1`*/ /*!50003 trigger tr1 before insert on t2 for each row
+insert t1 values (111, 222, 333) */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`role3`@`%`*/ /*!50003 trigger tr3 before update on t2 for each row
+insert t1 values (111, 222, 333) */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`role2`@``*/ /*!50003 trigger tr2 before delete on t2 for each row
+insert t1 values (111, 222, 333) */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
+DELIMITER ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = latin1 */ ;;
+/*!50003 SET character_set_results = latin1 */ ;;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE*/ /*!50117 DEFINER=`role1`*/ /*!50106 EVENT `e1` ON SCHEDULE EVERY 1 SECOND STARTS '2000-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO insert t1 values (111, 2, 0) */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+DELIMITER ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = latin1 */ ;;
+/*!50003 SET character_set_results = latin1 */ ;;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE*/ /*!50117 DEFINER=`role2`*/ /*!50106 EVENT `e2` ON SCHEDULE EVERY 1 SECOND STARTS '2000-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO insert t1 values (111, 4, 0) */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+DELIMITER ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = latin1 */ ;;
+/*!50003 SET character_set_results = latin1 */ ;;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE*/ /*!50117 DEFINER=`role3`@`%`*/ /*!50106 EVENT `e3` ON SCHEDULE EVERY 1 SECOND STARTS '2000-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO insert t1 values (111, 3, 0) */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+DELIMITER ;
+/*!50106 SET TIME_ZONE= @save_time_zone */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
+DELIMITER ;;
+CREATE DEFINER=`role1` FUNCTION `fn1`() RETURNS int(11)
+return (select sum(a+b) from t1) ;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
+DELIMITER ;;
+CREATE DEFINER=`role2` FUNCTION `fn2`() RETURNS int(11)
+return (select sum(a+b) from t1) ;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
+DELIMITER ;;
+CREATE DEFINER=`role3`@`%` FUNCTION `fn3`() RETURNS int(11)
+return (select sum(a+b) from t1) ;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
+DELIMITER ;;
+CREATE DEFINER=`role1` PROCEDURE `pr1`()
+insert t1 values (111, 222, 333) ;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
+DELIMITER ;;
+CREATE DEFINER=`role2`@`%` PROCEDURE `pr2`()
+insert t1 values (111, 222, 333) ;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
+DELIMITER ;;
+CREATE DEFINER=`role3`@`%` PROCEDURE `pr3`()
+insert t1 values (111, 222, 333) ;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+
+USE `test`;
+/*!50001 DROP TABLE IF EXISTS `v1`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
+/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`role1` SQL SECURITY DEFINER VIEW `v1` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
+/*!50001 DROP TABLE IF EXISTS `v2`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
+/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`role2` SQL SECURITY DEFINER VIEW `v2` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
+/*!50001 DROP TABLE IF EXISTS `v3`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
+/*!50001 CREATE ALGORITHM=UNDEFINED */
+/*!50013 DEFINER=`role3`@`%` SQL SECURITY DEFINER */
+/*!50001 VIEW `v3` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
+/*!50001 DROP TABLE IF EXISTS `v4`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
+/*!50001 CREATE ALGORITHM=UNDEFINED */
+/*!50013 DEFINER=`foo`@`localhost` SQL SECURITY DEFINER */
+/*!50001 VIEW `v4` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
+/*!50001 DROP TABLE IF EXISTS `v5`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
+/*!50001 CREATE ALGORITHM=UNDEFINED */
+/*!50013 DEFINER=`role4`@`%` SQL SECURITY DEFINER */
+/*!50001 VIEW `v5` AS select (`mysqltest1`.`t1`.`a` + `mysqltest1`.`t1`.`b`) AS `a+b`,`mysqltest1`.`t1`.`c` AS `c` from `mysqltest1`.`t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
+
+USE `mysqltest1`;
+drop trigger tr1;
+drop trigger tr2;
+drop trigger tr3;
+drop procedure pr1;
+drop procedure pr2;
+drop procedure pr3;
+drop function fn1;
+drop function fn2;
+drop function fn3;
+drop event e1;
+drop event e2;
+drop event e3;
+drop view test.v1, test.v2, test.v3, test.v4, test.v5;
+drop table t1, t2;
+drop role role1, role2;
+drop user foo@localhost;
+drop database mysqltest1;
+use test;
+create user utest;
+prepare stmt1 from 'grant select on *.* to utest';
+execute stmt1;
+show grants for utest;
+Grants for utest@%
+GRANT SELECT ON *.* TO 'utest'@'%'
+drop user utest;
+create role utest;
+execute stmt1;
+show grants for utest;
+Grants for utest
+GRANT SELECT ON *.* TO 'utest'
+drop role utest;
+#
+# MDEV-13676: Field "create Procedure" is NULL, even if the the user
+# has role which is the definer. (SHOW CREATE PROCEDURE)
+#
+create database rtest;
+create role r1;
+create role r2;
+create role r3;
+grant all privileges on rtest.* to r1;
+create user user1;
+grant r1 to user1;
+grant r1 to r2;
+grant r2 to user1;
+grant r3 to user1;
+set role r2;
+use rtest;
+CREATE DEFINER=current_role() PROCEDURE user1_proc() SQL SECURITY INVOKER
+BEGIN
+SELECT NOW(), VERSION();
+END;//
+set role r2;
+show create procedure user1_proc;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+user1_proc NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`r2` PROCEDURE `user1_proc`()
+ SQL SECURITY INVOKER
+BEGIN
+SELECT NOW(), VERSION();
+END latin1 latin1_swedish_ci latin1_swedish_ci
+#
+# Currently one can not use as definer any role except CURRENT_ROLE
+#
+CREATE DEFINER='r1' PROCEDURE user1_proc2() SQL SECURITY INVOKER
+BEGIN
+SELECT NOW(), VERSION();
+END;//
+ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
+set role r1;
+CREATE DEFINER='r1' PROCEDURE user1_proc2() SQL SECURITY INVOKER
+BEGIN
+SELECT NOW(), VERSION();
+END;//
+show create procedure user1_proc2;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+user1_proc2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`r1` PROCEDURE `user1_proc2`()
+ SQL SECURITY INVOKER
+BEGIN
+SELECT NOW(), VERSION();
+END latin1 latin1_swedish_ci latin1_swedish_ci
+#
+# Test to see if the user can still see the procedure code if the
+# role that owns it is granted to him indirectly.
+#
+set role r2;
+show create procedure user1_proc2;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+user1_proc2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`r1` PROCEDURE `user1_proc2`()
+ SQL SECURITY INVOKER
+BEGIN
+SELECT NOW(), VERSION();
+END latin1 latin1_swedish_ci latin1_swedish_ci
+#
+# One should not be able to see the procedure code if the role that owns
+# the procedure is not set by the user or is not in the subgraph of the
+# currently active role.
+#
+set role r3;
+show create procedure user1_proc2;
+ERROR 42000: PROCEDURE user1_proc2 does not exist
+use rtest;
+#
+# Try a few edge cases, with usernames identical to role name;
+#
+create user user_like_role;
+create user foo;
+create role user_like_role;
+grant select on rtest.* to user_like_role;
+grant select on rtest.* to foo;
+grant select on rtest.* to user_like_role@'%';
+grant user_like_role to foo;
+#
+# Here we have a procedure that is owned by user_like_role USER
+# We don't want user_like_role ROLE to have access to its code.
+#
+CREATE DEFINER=`user_like_role`@`%` PROCEDURE sensitive_proc() SQL SECURITY INVOKER
+BEGIN
+SELECT NOW(), VERSION();
+END;//
+use rtest;
+show create procedure sensitive_proc;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sensitive_proc NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user_like_role`@`%` PROCEDURE `sensitive_proc`()
+ SQL SECURITY INVOKER
+BEGIN
+SELECT NOW(), VERSION();
+END latin1 latin1_swedish_ci latin1_swedish_ci
+set role user_like_role;
+use rtest;
+#
+# Foo has the set rolename identical to the procedure's definer's username.
+# Foo should not have access to this procedure.
+#
+show create procedure sensitive_proc;
+ERROR 42000: PROCEDURE sensitive_proc does not exist
+drop role r1;
+drop role r2;
+drop role r3;
+drop role user_like_role;
+drop user user1;
+drop user foo;
+drop user user_like_role;
+drop procedure user1_proc;
+drop procedure user1_proc2;
+drop procedure sensitive_proc;
+drop database rtest;
diff --git a/mysql-test/suite/roles/definer.test b/mysql-test/suite/roles/definer.test
new file mode 100644
index 00000000000..89a1c90ee24
--- /dev/null
+++ b/mysql-test/suite/roles/definer.test
@@ -0,0 +1,456 @@
+# create view
+# create trigger
+# create procedure
+# create event
+# mysqldump dumping the definer
+
+source include/not_embedded.inc;
+let MYSQLD_DATADIR=`select @@datadir`;
+
+create database mysqltest1;
+use mysqltest1;
+
+create table t1 (a int, b int, c int);
+insert t1 values (1,10,100),(2,20,200);
+
+# non-priv role granted
+create role role1;
+grant select (a) on mysqltest1.t1 to role1;
+grant event,execute,trigger on mysqltest1.* to role1;
+
+grant role1 to current_user;
+
+# priv role
+create role role2;
+grant insert,select on mysqltest1.t1 to role2;
+grant event,execute,trigger on mysqltest1.* to role2;
+
+# create a non-priv user and a priv role granted to him
+create user foo@localhost;
+grant create view on mysqltest1.* to foo@localhost;
+create role role4;
+grant select on mysqltest1.t1 to role4;
+grant role4 to foo@localhost;
+
+##################################################
+# views
+##################################################
+
+# no curent role = error
+--error ER_MALFORMED_DEFINER
+create definer=current_role view test.v1 as select a+b,c from t1;
+
+# definer=current_role, but it has doesn't have enough privileges
+set role role1;
+create definer=current_role view test.v1 as select a+b,c from t1;
+show create view test.v1;
+set role none;
+
+# definer=role_name, privileges ok
+create definer=role2 view test.v2 as select a+b,c from t1;
+show create view test.v2;
+
+# definer=non_existent_role
+create definer=role3 view test.v3 as select a+b,c from t1;
+show create view test.v3;
+
+connect (c1, localhost, foo,,mysqltest1);
+connection c1;
+show grants;
+
+# role1 doesn't have enough privileges for v1 to work
+--error ER_VIEW_INVALID
+select * from test.v1;
+
+# role2 is ok, v2 is ok
+select * from test.v2;
+
+# role3 is treated as a user name role3@%, doesn't exist, v3 fails
+--error ER_ACCESS_DENIED_ERROR
+select * from test.v3;
+
+# fails, no SUPER - cannot specify a definer arbitrarily
+--error ER_TABLEACCESS_DENIED_ERROR
+create definer=role4 view test.v4 as select a+b,c from t1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from t1;
+set role role4;
+select * from t1;
+
+# can select from t1, but the view won't work, by default definer=current_user
+create view test.v4 as select a+b,c from t1;
+
+# now role4 is the current_role, can be specified as a definer
+create definer=role4 view test.v5 as select a+b,c from t1;
+
+--error ER_VIEW_INVALID
+select * from test.v4;
+select * from test.v5;
+set role none;
+--error ER_VIEW_INVALID
+select * from test.v4;
+select * from test.v5;
+
+connection default;
+
+drop role role4;
+
+show create view test.v5;
+--error ER_NO_SUCH_USER
+select * from test.v5;
+
+create user role4;
+grant select on mysqltest1.t1 to role4;
+show create view test.v5;
+--error ER_NO_SUCH_USER
+select * from test.v5;
+
+# pretend it's an old view from before 10.0.5
+perl;
+local $/;
+my $f= "$ENV{MYSQLD_DATADIR}/test/v5.frm";
+open(F, '<', $f) or die "open(<$f): $!";
+$_=<F>;
+s/create-version=2/create-version=1/;
+open(F, '>', $f) or die "open(>$f): $!";
+syswrite F, $_ or die "syswrite($f): $!"
+EOF
+
+flush tables;
+show create view test.v5;
+select * from test.v5;
+drop user role4;
+
+
+##################################################
+# trigger
+##################################################
+
+create table t2 select * from t1;
+
+# no curent role = error
+--error ER_MALFORMED_DEFINER
+create definer=current_role trigger tr1 before insert on t2 for each row
+ insert t1 values (111, 222, 333);
+
+# definer=current_role, but it has doesn't have enough privileges
+set role role1;
+create definer=current_role trigger tr1 before insert on t2 for each row
+ insert t1 values (111, 222, 333);
+show create trigger tr1;
+set role none;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+insert t2 values (11,22,33);
+select * from t1;
+select * from t2;
+
+# definer=role_name, privileges ok
+create definer=role2 trigger tr2 before delete on t2 for each row
+ insert t1 values (111, 222, 333);
+show create trigger tr2;
+delete from t2 where a=1;
+select * from t1;
+select * from t2;
+delete from t1 where a=111;
+
+# definer=non_existent_role
+create definer=role3 trigger tr3 before update on t2 for each row
+ insert t1 values (111, 222, 333);
+show create trigger tr3;
+--error ER_NO_SUCH_USER
+update t2 set b=2 where a=2;
+select * from t1;
+select * from t2;
+
+flush tables;
+
+# change triggers to use pre-10.0.5 definer with an empty hostname
+perl;
+local $/;
+my $f= "$ENV{MYSQLD_DATADIR}/mysqltest1/t2.TRG";
+open(F, '<', $f) or die "open(<$f): $!";
+$_=<F>;
+s/'role2'/'role2\@'/;
+s/`role2`/$&\@``/;
+open(F, '>', $f) or die "open(>$f): $!";
+syswrite F, $_ or die "syswrite($f): $!"
+EOF
+
+show create trigger tr2;
+--error ER_NO_SUCH_USER
+delete from t2 where a=2;
+select * from t1;
+select * from t2;
+
+##################################################
+# stored procedures
+##################################################
+
+# no curent role = error
+--error ER_MALFORMED_DEFINER
+create definer=current_role procedure pr1() insert t1 values (111, 222, 333);
+
+# definer=current_role, but it has doesn't have enough privileges
+set role role1;
+create definer=current_role procedure pr1() insert t1 values (111, 222, 333);
+show create procedure pr1;
+set role none;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+call pr1();
+select * from t1;
+
+# definer=role_name, privileges ok
+create definer=role2 procedure pr2() insert t1 values (111, 222, 333);
+show create procedure pr2;
+call pr2();
+select * from t1;
+delete from t1 where a=111;
+
+# definer=non_existent_role
+create definer=role3 procedure pr3() insert t1 values (111, 222, 333);
+show create procedure pr3;
+--error ER_NO_SUCH_USER
+call pr3();
+select * from t1;
+
+# change a procedure to use pre-10.0.5 definer with an empty hostname
+update mysql.proc set definer='role2@' where definer='role2';
+--error ER_NO_SUCH_USER
+call pr2();
+
+##################################################
+# stored functions
+##################################################
+
+# no curent role = error
+--error ER_MALFORMED_DEFINER
+create definer=current_role function fn1() returns int return (select sum(a+b) from t1);
+
+# definer=current_role, but it has doesn't have enough privileges
+set role role1;
+create definer=current_role function fn1() returns int return (select sum(a+b) from t1);
+show create function fn1;
+set role none;
+
+--error ER_COLUMNACCESS_DENIED_ERROR
+select fn1();
+select * from t1;
+
+# definer=role_name, privileges ok
+create definer=role2 function fn2() returns int return (select sum(a+b) from t1);
+show create function fn2;
+select fn2();
+
+# definer=non_existent_role
+create definer=role3 function fn3() returns int return (select sum(a+b) from t1);
+show create function fn3;
+--error ER_NO_SUCH_USER
+select fn3();
+
+##################################################
+# events
+##################################################
+
+set global event_scheduler=on;
+
+# no curent role = error
+--error ER_MALFORMED_DEFINER
+create definer=current_role event e1 on schedule every 1 second starts '2000-01-01' do
+ insert t1 values (111, 1, 0);
+
+# definer=current_role, but it has doesn't have enough privileges
+set role role1;
+create definer=current_role event e1 on schedule every 1 second starts '2000-01-01' do
+ insert t1 values (111, 2, 0);
+show create event e1;
+set role none;
+
+# definer=non_existent_role
+create definer=role3 event e3 on schedule every 1 second starts '2000-01-01' do
+ insert t1 values (111, 3, 0);
+show create event e3;
+
+# definer=role_name, privileges ok
+create definer=role2 event e2 on schedule every 1 second starts '2000-01-01' do
+ insert t1 values (111, 4, 0);
+show create event e2;
+
+let $wait_condition=select count(*) >= 4 from t1;
+--source include/wait_condition.inc
+
+set global event_scheduler=off;
+
+--sorted_result
+select distinct * from t1;
+delete from t1 where a=111;
+
+##################################################
+# mysqldump
+##################################################
+
+# note that LOCK TABLES won't work because v3 has invalid definer
+
+--exec $MYSQL_DUMP --compact --events --routines --skip-lock-tables --databases test mysqltest1
+
+##################################################
+# cleanup
+##################################################
+
+drop trigger tr1;
+drop trigger tr2;
+drop trigger tr3;
+drop procedure pr1;
+drop procedure pr2;
+drop procedure pr3;
+drop function fn1;
+drop function fn2;
+drop function fn3;
+drop event e1;
+drop event e2;
+drop event e3;
+drop view test.v1, test.v2, test.v3, test.v4, test.v5;
+drop table t1, t2;
+drop role role1, role2;
+drop user foo@localhost;
+drop database mysqltest1;
+use test;
+
+##################################################
+# reexecution
+##################################################
+
+create user utest;
+prepare stmt1 from 'grant select on *.* to utest';
+execute stmt1;
+show grants for utest;
+drop user utest;
+create role utest;
+execute stmt1;
+show grants for utest;
+drop role utest;
+
+--echo #
+--echo # MDEV-13676: Field "create Procedure" is NULL, even if the the user
+--echo # has role which is the definer. (SHOW CREATE PROCEDURE)
+--echo #
+
+create database rtest;
+create role r1;
+create role r2;
+create role r3;
+grant all privileges on rtest.* to r1;
+
+create user user1;
+grant r1 to user1;
+grant r1 to r2;
+grant r2 to user1;
+grant r3 to user1;
+
+connect (user1, localhost,user1,,,,,);
+set role r2;
+use rtest;
+
+DELIMITER //;
+CREATE DEFINER=current_role() PROCEDURE user1_proc() SQL SECURITY INVOKER
+ BEGIN
+ SELECT NOW(), VERSION();
+ END;//
+DELIMITER ;//
+
+set role r2;
+show create procedure user1_proc;
+
+--echo #
+--echo # Currently one can not use as definer any role except CURRENT_ROLE
+--echo #
+DELIMITER //;
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+CREATE DEFINER='r1' PROCEDURE user1_proc2() SQL SECURITY INVOKER
+ BEGIN
+ SELECT NOW(), VERSION();
+ END;//
+DELIMITER ;//
+
+set role r1;
+DELIMITER //;
+CREATE DEFINER='r1' PROCEDURE user1_proc2() SQL SECURITY INVOKER
+ BEGIN
+ SELECT NOW(), VERSION();
+ END;//
+DELIMITER ;//
+
+show create procedure user1_proc2;
+--echo #
+--echo # Test to see if the user can still see the procedure code if the
+--echo # role that owns it is granted to him indirectly.
+--echo #
+set role r2;
+show create procedure user1_proc2;
+
+--echo #
+--echo # One should not be able to see the procedure code if the role that owns
+--echo # the procedure is not set by the user or is not in the subgraph of the
+--echo # currently active role.
+--echo #
+set role r3;
+--error ER_SP_DOES_NOT_EXIST
+show create procedure user1_proc2;
+
+connection default;
+
+use rtest;
+
+--echo #
+--echo # Try a few edge cases, with usernames identical to role name;
+--echo #
+
+create user user_like_role;
+create user foo;
+create role user_like_role;
+grant select on rtest.* to user_like_role;
+grant select on rtest.* to foo;
+grant select on rtest.* to user_like_role@'%';
+
+grant user_like_role to foo;
+
+--echo #
+--echo # Here we have a procedure that is owned by user_like_role USER
+--echo # We don't want user_like_role ROLE to have access to its code.
+--echo #
+DELIMITER //;
+CREATE DEFINER=`user_like_role`@`%` PROCEDURE sensitive_proc() SQL SECURITY INVOKER
+ BEGIN
+ SELECT NOW(), VERSION();
+ END;//
+DELIMITER ;//
+
+connect (user_like_role, localhost, user_like_role,,,,,);
+use rtest;
+show create procedure sensitive_proc;
+
+connect (foo, localhost, foo,,,,,);
+set role user_like_role;
+use rtest;
+
+--echo #
+--echo # Foo has the set rolename identical to the procedure's definer's username.
+--echo # Foo should not have access to this procedure.
+--echo #
+--error ER_SP_DOES_NOT_EXIST
+show create procedure sensitive_proc;
+
+connection default;
+drop role r1;
+drop role r2;
+drop role r3;
+drop role user_like_role;
+drop user user1;
+drop user foo;
+drop user user_like_role;
+drop procedure user1_proc;
+drop procedure user1_proc2;
+drop procedure sensitive_proc;
+drop database rtest;
diff --git a/mysql-test/suite/roles/drop_current_user-5176.result b/mysql-test/suite/roles/drop_current_user-5176.result
new file mode 100644
index 00000000000..ea9f4fa4f92
--- /dev/null
+++ b/mysql-test/suite/roles/drop_current_user-5176.result
@@ -0,0 +1,10 @@
+create user foo@localhost;
+grant create user on *.* to foo@localhost;
+drop user foo@localhost;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+show grants;
+ERROR 42000: There is no such grant defined for user 'foo' on host 'localhost'
+select current_user();
+current_user()
+foo@localhost
diff --git a/mysql-test/suite/roles/drop_current_user-5176.test b/mysql-test/suite/roles/drop_current_user-5176.test
new file mode 100644
index 00000000000..27051345e8b
--- /dev/null
+++ b/mysql-test/suite/roles/drop_current_user-5176.test
@@ -0,0 +1,14 @@
+#
+# MDEV-5176 Server crashes in fill_schema_applicable_roles on select from APPLICABLE_ROLES after a suicide
+#
+--source include/not_embedded.inc
+
+create user foo@localhost;
+grant create user on *.* to foo@localhost;
+--connect (foo,localhost,foo,,)
+drop user foo@localhost;
+select * from information_schema.applicable_roles;
+--error ER_NONEXISTING_GRANT
+show grants;
+select current_user();
+
diff --git a/mysql-test/suite/roles/drop_routines.result b/mysql-test/suite/roles/drop_routines.result
new file mode 100644
index 00000000000..ad2a82c37c5
--- /dev/null
+++ b/mysql-test/suite/roles/drop_routines.result
@@ -0,0 +1,79 @@
+create role r1;
+create role r2;
+create role r3;
+create user u1;
+grant r2 to r1;
+grant r3 to r2;
+grant r1 to u1;
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+GRANT r1 TO 'u1'@'%'
+show grants for r1;
+Grants for r1
+GRANT USAGE ON *.* TO 'r1'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT r2 TO 'r1'
+GRANT r3 TO 'r2'
+grant SELECT on *.* to u1;
+grant INSERT on mysql.* to r1;
+grant DELETE on mysql.roles_mapping to r2;
+grant UPDATE on mysql.user to r3;
+create function mysql.test_func (s CHAR(20))
+returns CHAR(50) DETERMINISTIC
+return concat('Test string: ',s);
+create procedure mysql.test_proc (OUT param1 INT)
+begin
+select COUNT(*) into param1 from mysql.roles_mapping;
+end|
+grant execute on function mysql.test_func to r2;
+grant execute on procedure mysql.test_proc to r3;
+revoke execute on procedure mysql.test_proc from r2;
+ERROR 42000: There is no such grant defined for user 'r2' on host '' on routine 'test_proc'
+show grants for r1;
+Grants for r1
+GRANT DELETE ON `mysql`.`roles_mapping` TO 'r2'
+GRANT EXECUTE ON FUNCTION `mysql`.`test_func` TO 'r2'
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'r3'
+GRANT INSERT ON `mysql`.* TO 'r1'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r1'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT r2 TO 'r1'
+GRANT r3 TO 'r2'
+show grants for r2;
+Grants for r2
+GRANT DELETE ON `mysql`.`roles_mapping` TO 'r2'
+GRANT EXECUTE ON FUNCTION `mysql`.`test_func` TO 'r2'
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'r3'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT r3 TO 'r2'
+show grants for r3;
+Grants for r3
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'r3'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r3'
+drop function mysql.test_func;
+drop procedure mysql.test_proc;
+create function mysql.test_func (s CHAR(20))
+returns CHAR(50) DETERMINISTIC
+return concat('Test string: ',s);
+show grants for r2;
+Grants for r2
+GRANT DELETE ON `mysql`.`roles_mapping` TO 'r2'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT r3 TO 'r2'
+select mysql.test_func("none");
+ERROR 42000: execute command denied to user 'u1'@'%' for routine 'mysql.test_func'
+set role r1;
+select mysql.test_func("r1");
+ERROR 42000: execute command denied to user 'u1'@'%' for routine 'mysql.test_func'
+drop function mysql.test_func;
+drop role r1, r2, r3;
+drop user u1;
diff --git a/mysql-test/suite/roles/drop_routines.test b/mysql-test/suite/roles/drop_routines.test
new file mode 100644
index 00000000000..b5972d8d9f9
--- /dev/null
+++ b/mysql-test/suite/roles/drop_routines.test
@@ -0,0 +1,69 @@
+source include/not_embedded.inc;
+
+create role r1;
+create role r2;
+create role r3;
+create user u1;
+
+#CREATE A CHAIN OF ROLES
+grant r2 to r1;
+grant r3 to r2;
+grant r1 to u1;
+
+--sorted_result
+show grants for u1;
+--sorted_result
+show grants for r1;
+
+grant SELECT on *.* to u1;
+grant INSERT on mysql.* to r1;
+grant DELETE on mysql.roles_mapping to r2;
+grant UPDATE on mysql.user to r3;
+
+create function mysql.test_func (s CHAR(20))
+returns CHAR(50) DETERMINISTIC
+return concat('Test string: ',s);
+
+delimiter |;
+create procedure mysql.test_proc (OUT param1 INT)
+begin
+ select COUNT(*) into param1 from mysql.roles_mapping;
+end|
+delimiter ;|
+
+grant execute on function mysql.test_func to r2;
+grant execute on procedure mysql.test_proc to r3;
+
+--error ER_NONEXISTING_PROC_GRANT
+revoke execute on procedure mysql.test_proc from r2;
+
+--sorted_result
+show grants for r1;
+--sorted_result
+show grants for r2;
+--sorted_result
+show grants for r3;
+
+drop function mysql.test_func;
+drop procedure mysql.test_proc;
+
+create function mysql.test_func (s CHAR(20))
+returns CHAR(50) DETERMINISTIC
+return concat('Test string: ',s);
+
+--sorted_result
+show grants for r2;
+
+--connect (u1,localhost,u1,,)
+
+--error ER_PROCACCESS_DENIED_ERROR
+select mysql.test_func("none");
+set role r1;
+--error ER_PROCACCESS_DENIED_ERROR
+select mysql.test_func("r1");
+
+connection default;
+
+drop function mysql.test_func;
+drop role r1, r2, r3;
+drop user u1;
diff --git a/mysql-test/suite/roles/flush_roles-12366.result b/mysql-test/suite/roles/flush_roles-12366.result
new file mode 100644
index 00000000000..5897e480cd4
--- /dev/null
+++ b/mysql-test/suite/roles/flush_roles-12366.result
@@ -0,0 +1,539 @@
+#
+# MDEV-12366: FLUSH PRIVILEGES can break hierarchy of roles
+#
+# This testcase contains a user, who is granted a master role
+# operations_cluster. operations_cluster is granted 8 different roles
+# who in turn each have 4 different roles granted to them.
+#
+# Only the leaf roles contain privileges to access databases.
+# Make sure the user has access to all databases if the master role
+# is granted to him.
+#
+CREATE USER u;
+CREATE ROLE operations_cluster;
+GRANT operations_cluster TO u;
+CREATE DATABASE bob_live_sg;
+CREATE TABLE bob_live_sg.a (i INT(10));
+CREATE TABLE bob_live_sg.b (i INT(10));
+CREATE TABLE bob_live_sg.c (i INT(10));
+CREATE TABLE bob_live_sg.d (i INT(10));
+CREATE DATABASE oms_live_sg;
+CREATE TABLE oms_live_sg.a (i INT(10));
+CREATE TABLE oms_live_sg.b (i INT(10));
+CREATE TABLE oms_live_sg.c (i INT(10));
+CREATE TABLE oms_live_sg.d (i INT(10));
+CREATE DATABASE bob_live_ph;
+CREATE TABLE bob_live_ph.a (i INT(10));
+CREATE TABLE bob_live_ph.b (i INT(10));
+CREATE TABLE bob_live_ph.c (i INT(10));
+CREATE TABLE bob_live_ph.d (i INT(10));
+CREATE DATABASE oms_live_ph;
+CREATE TABLE oms_live_ph.a (i INT(10));
+CREATE TABLE oms_live_ph.b (i INT(10));
+CREATE TABLE oms_live_ph.c (i INT(10));
+CREATE TABLE oms_live_ph.d (i INT(10));
+CREATE DATABASE bob_live_id;
+CREATE TABLE bob_live_id.a (i INT(10));
+CREATE TABLE bob_live_id.b (i INT(10));
+CREATE TABLE bob_live_id.c (i INT(10));
+CREATE TABLE bob_live_id.d (i INT(10));
+CREATE DATABASE oms_live_id;
+CREATE TABLE oms_live_id.a (i INT(10));
+CREATE TABLE oms_live_id.b (i INT(10));
+CREATE TABLE oms_live_id.c (i INT(10));
+CREATE TABLE oms_live_id.d (i INT(10));
+CREATE DATABASE bob_live_hk;
+CREATE TABLE bob_live_hk.a (i INT(10));
+CREATE TABLE bob_live_hk.b (i INT(10));
+CREATE TABLE bob_live_hk.c (i INT(10));
+CREATE TABLE bob_live_hk.d (i INT(10));
+CREATE DATABASE oms_live_hk;
+CREATE TABLE oms_live_hk.a (i INT(10));
+CREATE TABLE oms_live_hk.b (i INT(10));
+CREATE TABLE oms_live_hk.c (i INT(10));
+CREATE TABLE oms_live_hk.d (i INT(10));
+CREATE DATABASE bob_live_vn;
+CREATE TABLE bob_live_vn.a (i INT(10));
+CREATE TABLE bob_live_vn.b (i INT(10));
+CREATE TABLE bob_live_vn.c (i INT(10));
+CREATE TABLE bob_live_vn.d (i INT(10));
+CREATE DATABASE oms_live_vn;
+CREATE TABLE oms_live_vn.a (i INT(10));
+CREATE TABLE oms_live_vn.b (i INT(10));
+CREATE TABLE oms_live_vn.c (i INT(10));
+CREATE TABLE oms_live_vn.d (i INT(10));
+CREATE DATABASE bob_live_tw;
+CREATE TABLE bob_live_tw.a (i INT(10));
+CREATE TABLE bob_live_tw.b (i INT(10));
+CREATE TABLE bob_live_tw.c (i INT(10));
+CREATE TABLE bob_live_tw.d (i INT(10));
+CREATE DATABASE oms_live_tw;
+CREATE TABLE oms_live_tw.a (i INT(10));
+CREATE TABLE oms_live_tw.b (i INT(10));
+CREATE TABLE oms_live_tw.c (i INT(10));
+CREATE TABLE oms_live_tw.d (i INT(10));
+CREATE DATABASE bob_live_my;
+CREATE TABLE bob_live_my.a (i INT(10));
+CREATE TABLE bob_live_my.b (i INT(10));
+CREATE TABLE bob_live_my.c (i INT(10));
+CREATE TABLE bob_live_my.d (i INT(10));
+CREATE DATABASE oms_live_my;
+CREATE TABLE oms_live_my.a (i INT(10));
+CREATE TABLE oms_live_my.b (i INT(10));
+CREATE TABLE oms_live_my.c (i INT(10));
+CREATE TABLE oms_live_my.d (i INT(10));
+CREATE DATABASE bob_live_th;
+CREATE TABLE bob_live_th.a (i INT(10));
+CREATE TABLE bob_live_th.b (i INT(10));
+CREATE TABLE bob_live_th.c (i INT(10));
+CREATE TABLE bob_live_th.d (i INT(10));
+CREATE DATABASE oms_live_th;
+CREATE TABLE oms_live_th.a (i INT(10));
+CREATE TABLE oms_live_th.b (i INT(10));
+CREATE TABLE oms_live_th.c (i INT(10));
+CREATE TABLE oms_live_th.d (i INT(10));
+CREATE ROLE a_sg;
+CREATE ROLE b_sg;
+CREATE ROLE c_sg;
+CREATE ROLE d_sg;
+CREATE ROLE operations_sg;
+GRANT a_sg TO operations_sg;
+GRANT b_sg TO operations_sg;
+GRANT c_sg TO operations_sg;
+GRANT d_sg TO operations_sg;
+GRANT SELECT ON bob_live_sg.a TO a_sg;
+GRANT SELECT ON bob_live_sg.b TO b_sg;
+GRANT SELECT ON bob_live_sg.c TO c_sg;
+GRANT SELECT ON bob_live_sg.d TO d_sg;
+GRANT SELECT ON oms_live_sg.a TO a_sg;
+GRANT SELECT ON oms_live_sg.b TO b_sg;
+GRANT SELECT ON oms_live_sg.c TO c_sg;
+GRANT SELECT ON oms_live_sg.d TO d_sg;
+CREATE ROLE a_ph;
+CREATE ROLE b_ph;
+CREATE ROLE c_ph;
+CREATE ROLE d_ph;
+CREATE ROLE operations_ph;
+GRANT a_ph TO operations_ph;
+GRANT b_ph TO operations_ph;
+GRANT c_ph TO operations_ph;
+GRANT d_ph TO operations_ph;
+GRANT SELECT ON bob_live_ph.a TO a_ph;
+GRANT SELECT ON bob_live_ph.b TO b_ph;
+GRANT SELECT ON bob_live_ph.c TO c_ph;
+GRANT SELECT ON bob_live_ph.d TO d_ph;
+GRANT SELECT ON oms_live_ph.a TO a_ph;
+GRANT SELECT ON oms_live_ph.b TO b_ph;
+GRANT SELECT ON oms_live_ph.c TO c_ph;
+GRANT SELECT ON oms_live_ph.d TO d_ph;
+CREATE ROLE a_id;
+CREATE ROLE b_id;
+CREATE ROLE c_id;
+CREATE ROLE d_id;
+CREATE ROLE operations_id;
+GRANT a_id TO operations_id;
+GRANT b_id TO operations_id;
+GRANT c_id TO operations_id;
+GRANT d_id TO operations_id;
+GRANT SELECT ON bob_live_id.a TO a_id;
+GRANT SELECT ON bob_live_id.b TO b_id;
+GRANT SELECT ON bob_live_id.c TO c_id;
+GRANT SELECT ON bob_live_id.d TO d_id;
+GRANT SELECT ON oms_live_id.a TO a_id;
+GRANT SELECT ON oms_live_id.b TO b_id;
+GRANT SELECT ON oms_live_id.c TO c_id;
+GRANT SELECT ON oms_live_id.d TO d_id;
+CREATE ROLE a_hk;
+CREATE ROLE b_hk;
+CREATE ROLE c_hk;
+CREATE ROLE d_hk;
+CREATE ROLE operations_hk;
+GRANT a_hk TO operations_hk;
+GRANT b_hk TO operations_hk;
+GRANT c_hk TO operations_hk;
+GRANT d_hk TO operations_hk;
+GRANT SELECT ON bob_live_hk.a TO a_hk;
+GRANT SELECT ON bob_live_hk.b TO b_hk;
+GRANT SELECT ON bob_live_hk.c TO c_hk;
+GRANT SELECT ON bob_live_hk.d TO d_hk;
+GRANT SELECT ON oms_live_hk.a TO a_hk;
+GRANT SELECT ON oms_live_hk.b TO b_hk;
+GRANT SELECT ON oms_live_hk.c TO c_hk;
+GRANT SELECT ON oms_live_hk.d TO d_hk;
+CREATE ROLE a_vn;
+CREATE ROLE b_vn;
+CREATE ROLE c_vn;
+CREATE ROLE d_vn;
+CREATE ROLE operations_vn;
+GRANT a_vn TO operations_vn;
+GRANT b_vn TO operations_vn;
+GRANT c_vn TO operations_vn;
+GRANT d_vn TO operations_vn;
+GRANT SELECT ON bob_live_vn.a TO a_vn;
+GRANT SELECT ON bob_live_vn.b TO b_vn;
+GRANT SELECT ON bob_live_vn.c TO c_vn;
+GRANT SELECT ON bob_live_vn.d TO d_vn;
+GRANT SELECT ON oms_live_vn.a TO a_vn;
+GRANT SELECT ON oms_live_vn.b TO b_vn;
+GRANT SELECT ON oms_live_vn.c TO c_vn;
+GRANT SELECT ON oms_live_vn.d TO d_vn;
+CREATE ROLE a_tw;
+CREATE ROLE b_tw;
+CREATE ROLE c_tw;
+CREATE ROLE d_tw;
+CREATE ROLE operations_tw;
+GRANT a_tw TO operations_tw;
+GRANT b_tw TO operations_tw;
+GRANT c_tw TO operations_tw;
+GRANT d_tw TO operations_tw;
+GRANT SELECT ON bob_live_tw.a TO a_tw;
+GRANT SELECT ON bob_live_tw.b TO b_tw;
+GRANT SELECT ON bob_live_tw.c TO c_tw;
+GRANT SELECT ON bob_live_tw.d TO d_tw;
+GRANT SELECT ON oms_live_tw.a TO a_tw;
+GRANT SELECT ON oms_live_tw.b TO b_tw;
+GRANT SELECT ON oms_live_tw.c TO c_tw;
+GRANT SELECT ON oms_live_tw.d TO d_tw;
+CREATE ROLE a_my;
+CREATE ROLE b_my;
+CREATE ROLE c_my;
+CREATE ROLE d_my;
+CREATE ROLE operations_my;
+GRANT a_my TO operations_my;
+GRANT b_my TO operations_my;
+GRANT c_my TO operations_my;
+GRANT d_my TO operations_my;
+GRANT SELECT ON bob_live_my.a TO a_my;
+GRANT SELECT ON bob_live_my.b TO b_my;
+GRANT SELECT ON bob_live_my.c TO c_my;
+GRANT SELECT ON bob_live_my.d TO d_my;
+GRANT SELECT ON oms_live_my.a TO a_my;
+GRANT SELECT ON oms_live_my.b TO b_my;
+GRANT SELECT ON oms_live_my.c TO c_my;
+GRANT SELECT ON oms_live_my.d TO d_my;
+CREATE ROLE a_th;
+CREATE ROLE b_th;
+CREATE ROLE c_th;
+CREATE ROLE d_th;
+CREATE ROLE operations_th;
+GRANT a_th TO operations_th;
+GRANT b_th TO operations_th;
+GRANT c_th TO operations_th;
+GRANT d_th TO operations_th;
+GRANT SELECT ON bob_live_th.a TO a_th;
+GRANT SELECT ON bob_live_th.b TO b_th;
+GRANT SELECT ON bob_live_th.c TO c_th;
+GRANT SELECT ON bob_live_th.d TO d_th;
+GRANT SELECT ON oms_live_th.a TO a_th;
+GRANT SELECT ON oms_live_th.b TO b_th;
+GRANT SELECT ON oms_live_th.c TO c_th;
+GRANT SELECT ON oms_live_th.d TO d_th;
+GRANT operations_sg TO operations_cluster;
+GRANT operations_ph TO operations_cluster;
+GRANT operations_id TO operations_cluster;
+GRANT operations_hk TO operations_cluster;
+GRANT operations_vn TO operations_cluster;
+GRANT operations_tw TO operations_cluster;
+GRANT operations_my TO operations_cluster;
+GRANT operations_th TO operations_cluster;
+SHOW DATABASES;
+Database
+information_schema
+test
+SET ROLE operations_cluster;
+SHOW DATABASES;
+Database
+bob_live_hk
+bob_live_id
+bob_live_my
+bob_live_ph
+bob_live_sg
+bob_live_th
+bob_live_tw
+bob_live_vn
+information_schema
+oms_live_hk
+oms_live_id
+oms_live_my
+oms_live_ph
+oms_live_sg
+oms_live_th
+oms_live_tw
+oms_live_vn
+test
+SELECT COUNT(1) FROM oms_live_sg.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_sg.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_sg.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_sg.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_ph.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_ph.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_ph.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_ph.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_id.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_id.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_id.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_id.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_hk.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_hk.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_hk.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_hk.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_vn.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_vn.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_vn.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_vn.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_tw.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_tw.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_tw.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_tw.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_my.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_my.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_my.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_my.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_th.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_th.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_th.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_th.d;
+COUNT(1)
+0
+FLUSH PRIVILEGES;
+SHOW DATABASES;
+Database
+information_schema
+test
+SET ROLE operations_cluster;
+SHOW DATABASES;
+Database
+bob_live_hk
+bob_live_id
+bob_live_my
+bob_live_ph
+bob_live_sg
+bob_live_th
+bob_live_tw
+bob_live_vn
+information_schema
+oms_live_hk
+oms_live_id
+oms_live_my
+oms_live_ph
+oms_live_sg
+oms_live_th
+oms_live_tw
+oms_live_vn
+test
+SELECT COUNT(1) FROM oms_live_sg.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_sg.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_sg.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_sg.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_ph.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_ph.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_ph.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_ph.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_id.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_id.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_id.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_id.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_hk.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_hk.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_hk.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_hk.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_vn.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_vn.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_vn.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_vn.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_tw.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_tw.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_tw.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_tw.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_my.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_my.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_my.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_my.d;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_th.a;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_th.b;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_th.c;
+COUNT(1)
+0
+SELECT COUNT(1) FROM oms_live_th.d;
+COUNT(1)
+0
+DROP DATABASE bob_live_sg;
+DROP DATABASE oms_live_sg;
+DROP DATABASE bob_live_ph;
+DROP DATABASE oms_live_ph;
+DROP DATABASE bob_live_id;
+DROP DATABASE oms_live_id;
+DROP DATABASE bob_live_hk;
+DROP DATABASE oms_live_hk;
+DROP DATABASE bob_live_vn;
+DROP DATABASE oms_live_vn;
+DROP DATABASE bob_live_tw;
+DROP DATABASE oms_live_tw;
+DROP DATABASE bob_live_my;
+DROP DATABASE oms_live_my;
+DROP DATABASE bob_live_th;
+DROP DATABASE oms_live_th;
+DROP ROLE operations_sg;
+DROP ROLE a_sg;
+DROP ROLE b_sg;
+DROP ROLE c_sg;
+DROP ROLE d_sg;
+DROP ROLE operations_ph;
+DROP ROLE a_ph;
+DROP ROLE b_ph;
+DROP ROLE c_ph;
+DROP ROLE d_ph;
+DROP ROLE operations_id;
+DROP ROLE a_id;
+DROP ROLE b_id;
+DROP ROLE c_id;
+DROP ROLE d_id;
+DROP ROLE operations_hk;
+DROP ROLE a_hk;
+DROP ROLE b_hk;
+DROP ROLE c_hk;
+DROP ROLE d_hk;
+DROP ROLE operations_vn;
+DROP ROLE a_vn;
+DROP ROLE b_vn;
+DROP ROLE c_vn;
+DROP ROLE d_vn;
+DROP ROLE operations_tw;
+DROP ROLE a_tw;
+DROP ROLE b_tw;
+DROP ROLE c_tw;
+DROP ROLE d_tw;
+DROP ROLE operations_my;
+DROP ROLE a_my;
+DROP ROLE b_my;
+DROP ROLE c_my;
+DROP ROLE d_my;
+DROP ROLE operations_th;
+DROP ROLE a_th;
+DROP ROLE b_th;
+DROP ROLE c_th;
+DROP ROLE d_th;
+DROP USER u;
+DROP ROLE operations_cluster;
diff --git a/mysql-test/suite/roles/flush_roles-12366.test b/mysql-test/suite/roles/flush_roles-12366.test
new file mode 100644
index 00000000000..343ac4abf72
--- /dev/null
+++ b/mysql-test/suite/roles/flush_roles-12366.test
@@ -0,0 +1,379 @@
+--source include/not_embedded.inc
+--echo #
+--echo # MDEV-12366: FLUSH PRIVILEGES can break hierarchy of roles
+--echo #
+--echo # This testcase contains a user, who is granted a master role
+--echo # operations_cluster. operations_cluster is granted 8 different roles
+--echo # who in turn each have 4 different roles granted to them.
+--echo #
+--echo # Only the leaf roles contain privileges to access databases.
+--echo # Make sure the user has access to all databases if the master role
+--echo # is granted to him.
+--echo #
+CREATE USER u;
+CREATE ROLE operations_cluster;
+GRANT operations_cluster TO u;
+CREATE DATABASE bob_live_sg;
+CREATE TABLE bob_live_sg.a (i INT(10));
+CREATE TABLE bob_live_sg.b (i INT(10));
+CREATE TABLE bob_live_sg.c (i INT(10));
+CREATE TABLE bob_live_sg.d (i INT(10));
+CREATE DATABASE oms_live_sg;
+CREATE TABLE oms_live_sg.a (i INT(10));
+CREATE TABLE oms_live_sg.b (i INT(10));
+CREATE TABLE oms_live_sg.c (i INT(10));
+CREATE TABLE oms_live_sg.d (i INT(10));
+CREATE DATABASE bob_live_ph;
+CREATE TABLE bob_live_ph.a (i INT(10));
+CREATE TABLE bob_live_ph.b (i INT(10));
+CREATE TABLE bob_live_ph.c (i INT(10));
+CREATE TABLE bob_live_ph.d (i INT(10));
+CREATE DATABASE oms_live_ph;
+CREATE TABLE oms_live_ph.a (i INT(10));
+CREATE TABLE oms_live_ph.b (i INT(10));
+CREATE TABLE oms_live_ph.c (i INT(10));
+CREATE TABLE oms_live_ph.d (i INT(10));
+CREATE DATABASE bob_live_id;
+CREATE TABLE bob_live_id.a (i INT(10));
+CREATE TABLE bob_live_id.b (i INT(10));
+CREATE TABLE bob_live_id.c (i INT(10));
+CREATE TABLE bob_live_id.d (i INT(10));
+CREATE DATABASE oms_live_id;
+CREATE TABLE oms_live_id.a (i INT(10));
+CREATE TABLE oms_live_id.b (i INT(10));
+CREATE TABLE oms_live_id.c (i INT(10));
+CREATE TABLE oms_live_id.d (i INT(10));
+CREATE DATABASE bob_live_hk;
+CREATE TABLE bob_live_hk.a (i INT(10));
+CREATE TABLE bob_live_hk.b (i INT(10));
+CREATE TABLE bob_live_hk.c (i INT(10));
+CREATE TABLE bob_live_hk.d (i INT(10));
+CREATE DATABASE oms_live_hk;
+CREATE TABLE oms_live_hk.a (i INT(10));
+CREATE TABLE oms_live_hk.b (i INT(10));
+CREATE TABLE oms_live_hk.c (i INT(10));
+CREATE TABLE oms_live_hk.d (i INT(10));
+CREATE DATABASE bob_live_vn;
+CREATE TABLE bob_live_vn.a (i INT(10));
+CREATE TABLE bob_live_vn.b (i INT(10));
+CREATE TABLE bob_live_vn.c (i INT(10));
+CREATE TABLE bob_live_vn.d (i INT(10));
+CREATE DATABASE oms_live_vn;
+CREATE TABLE oms_live_vn.a (i INT(10));
+CREATE TABLE oms_live_vn.b (i INT(10));
+CREATE TABLE oms_live_vn.c (i INT(10));
+CREATE TABLE oms_live_vn.d (i INT(10));
+CREATE DATABASE bob_live_tw;
+CREATE TABLE bob_live_tw.a (i INT(10));
+CREATE TABLE bob_live_tw.b (i INT(10));
+CREATE TABLE bob_live_tw.c (i INT(10));
+CREATE TABLE bob_live_tw.d (i INT(10));
+CREATE DATABASE oms_live_tw;
+CREATE TABLE oms_live_tw.a (i INT(10));
+CREATE TABLE oms_live_tw.b (i INT(10));
+CREATE TABLE oms_live_tw.c (i INT(10));
+CREATE TABLE oms_live_tw.d (i INT(10));
+CREATE DATABASE bob_live_my;
+CREATE TABLE bob_live_my.a (i INT(10));
+CREATE TABLE bob_live_my.b (i INT(10));
+CREATE TABLE bob_live_my.c (i INT(10));
+CREATE TABLE bob_live_my.d (i INT(10));
+CREATE DATABASE oms_live_my;
+CREATE TABLE oms_live_my.a (i INT(10));
+CREATE TABLE oms_live_my.b (i INT(10));
+CREATE TABLE oms_live_my.c (i INT(10));
+CREATE TABLE oms_live_my.d (i INT(10));
+CREATE DATABASE bob_live_th;
+CREATE TABLE bob_live_th.a (i INT(10));
+CREATE TABLE bob_live_th.b (i INT(10));
+CREATE TABLE bob_live_th.c (i INT(10));
+CREATE TABLE bob_live_th.d (i INT(10));
+CREATE DATABASE oms_live_th;
+CREATE TABLE oms_live_th.a (i INT(10));
+CREATE TABLE oms_live_th.b (i INT(10));
+CREATE TABLE oms_live_th.c (i INT(10));
+CREATE TABLE oms_live_th.d (i INT(10));
+CREATE ROLE a_sg;
+CREATE ROLE b_sg;
+CREATE ROLE c_sg;
+CREATE ROLE d_sg;
+CREATE ROLE operations_sg;
+GRANT a_sg TO operations_sg;
+GRANT b_sg TO operations_sg;
+GRANT c_sg TO operations_sg;
+GRANT d_sg TO operations_sg;
+GRANT SELECT ON bob_live_sg.a TO a_sg;
+GRANT SELECT ON bob_live_sg.b TO b_sg;
+GRANT SELECT ON bob_live_sg.c TO c_sg;
+GRANT SELECT ON bob_live_sg.d TO d_sg;
+GRANT SELECT ON oms_live_sg.a TO a_sg;
+GRANT SELECT ON oms_live_sg.b TO b_sg;
+GRANT SELECT ON oms_live_sg.c TO c_sg;
+GRANT SELECT ON oms_live_sg.d TO d_sg;
+CREATE ROLE a_ph;
+CREATE ROLE b_ph;
+CREATE ROLE c_ph;
+CREATE ROLE d_ph;
+CREATE ROLE operations_ph;
+GRANT a_ph TO operations_ph;
+GRANT b_ph TO operations_ph;
+GRANT c_ph TO operations_ph;
+GRANT d_ph TO operations_ph;
+GRANT SELECT ON bob_live_ph.a TO a_ph;
+GRANT SELECT ON bob_live_ph.b TO b_ph;
+GRANT SELECT ON bob_live_ph.c TO c_ph;
+GRANT SELECT ON bob_live_ph.d TO d_ph;
+GRANT SELECT ON oms_live_ph.a TO a_ph;
+GRANT SELECT ON oms_live_ph.b TO b_ph;
+GRANT SELECT ON oms_live_ph.c TO c_ph;
+GRANT SELECT ON oms_live_ph.d TO d_ph;
+CREATE ROLE a_id;
+CREATE ROLE b_id;
+CREATE ROLE c_id;
+CREATE ROLE d_id;
+CREATE ROLE operations_id;
+GRANT a_id TO operations_id;
+GRANT b_id TO operations_id;
+GRANT c_id TO operations_id;
+GRANT d_id TO operations_id;
+GRANT SELECT ON bob_live_id.a TO a_id;
+GRANT SELECT ON bob_live_id.b TO b_id;
+GRANT SELECT ON bob_live_id.c TO c_id;
+GRANT SELECT ON bob_live_id.d TO d_id;
+GRANT SELECT ON oms_live_id.a TO a_id;
+GRANT SELECT ON oms_live_id.b TO b_id;
+GRANT SELECT ON oms_live_id.c TO c_id;
+GRANT SELECT ON oms_live_id.d TO d_id;
+CREATE ROLE a_hk;
+CREATE ROLE b_hk;
+CREATE ROLE c_hk;
+CREATE ROLE d_hk;
+CREATE ROLE operations_hk;
+GRANT a_hk TO operations_hk;
+GRANT b_hk TO operations_hk;
+GRANT c_hk TO operations_hk;
+GRANT d_hk TO operations_hk;
+GRANT SELECT ON bob_live_hk.a TO a_hk;
+GRANT SELECT ON bob_live_hk.b TO b_hk;
+GRANT SELECT ON bob_live_hk.c TO c_hk;
+GRANT SELECT ON bob_live_hk.d TO d_hk;
+GRANT SELECT ON oms_live_hk.a TO a_hk;
+GRANT SELECT ON oms_live_hk.b TO b_hk;
+GRANT SELECT ON oms_live_hk.c TO c_hk;
+GRANT SELECT ON oms_live_hk.d TO d_hk;
+CREATE ROLE a_vn;
+CREATE ROLE b_vn;
+CREATE ROLE c_vn;
+CREATE ROLE d_vn;
+CREATE ROLE operations_vn;
+GRANT a_vn TO operations_vn;
+GRANT b_vn TO operations_vn;
+GRANT c_vn TO operations_vn;
+GRANT d_vn TO operations_vn;
+GRANT SELECT ON bob_live_vn.a TO a_vn;
+GRANT SELECT ON bob_live_vn.b TO b_vn;
+GRANT SELECT ON bob_live_vn.c TO c_vn;
+GRANT SELECT ON bob_live_vn.d TO d_vn;
+GRANT SELECT ON oms_live_vn.a TO a_vn;
+GRANT SELECT ON oms_live_vn.b TO b_vn;
+GRANT SELECT ON oms_live_vn.c TO c_vn;
+GRANT SELECT ON oms_live_vn.d TO d_vn;
+CREATE ROLE a_tw;
+CREATE ROLE b_tw;
+CREATE ROLE c_tw;
+CREATE ROLE d_tw;
+CREATE ROLE operations_tw;
+GRANT a_tw TO operations_tw;
+GRANT b_tw TO operations_tw;
+GRANT c_tw TO operations_tw;
+GRANT d_tw TO operations_tw;
+GRANT SELECT ON bob_live_tw.a TO a_tw;
+GRANT SELECT ON bob_live_tw.b TO b_tw;
+GRANT SELECT ON bob_live_tw.c TO c_tw;
+GRANT SELECT ON bob_live_tw.d TO d_tw;
+GRANT SELECT ON oms_live_tw.a TO a_tw;
+GRANT SELECT ON oms_live_tw.b TO b_tw;
+GRANT SELECT ON oms_live_tw.c TO c_tw;
+GRANT SELECT ON oms_live_tw.d TO d_tw;
+CREATE ROLE a_my;
+CREATE ROLE b_my;
+CREATE ROLE c_my;
+CREATE ROLE d_my;
+CREATE ROLE operations_my;
+GRANT a_my TO operations_my;
+GRANT b_my TO operations_my;
+GRANT c_my TO operations_my;
+GRANT d_my TO operations_my;
+GRANT SELECT ON bob_live_my.a TO a_my;
+GRANT SELECT ON bob_live_my.b TO b_my;
+GRANT SELECT ON bob_live_my.c TO c_my;
+GRANT SELECT ON bob_live_my.d TO d_my;
+GRANT SELECT ON oms_live_my.a TO a_my;
+GRANT SELECT ON oms_live_my.b TO b_my;
+GRANT SELECT ON oms_live_my.c TO c_my;
+GRANT SELECT ON oms_live_my.d TO d_my;
+CREATE ROLE a_th;
+CREATE ROLE b_th;
+CREATE ROLE c_th;
+CREATE ROLE d_th;
+CREATE ROLE operations_th;
+GRANT a_th TO operations_th;
+GRANT b_th TO operations_th;
+GRANT c_th TO operations_th;
+GRANT d_th TO operations_th;
+GRANT SELECT ON bob_live_th.a TO a_th;
+GRANT SELECT ON bob_live_th.b TO b_th;
+GRANT SELECT ON bob_live_th.c TO c_th;
+GRANT SELECT ON bob_live_th.d TO d_th;
+GRANT SELECT ON oms_live_th.a TO a_th;
+GRANT SELECT ON oms_live_th.b TO b_th;
+GRANT SELECT ON oms_live_th.c TO c_th;
+GRANT SELECT ON oms_live_th.d TO d_th;
+GRANT operations_sg TO operations_cluster;
+GRANT operations_ph TO operations_cluster;
+GRANT operations_id TO operations_cluster;
+GRANT operations_hk TO operations_cluster;
+GRANT operations_vn TO operations_cluster;
+GRANT operations_tw TO operations_cluster;
+GRANT operations_my TO operations_cluster;
+GRANT operations_th TO operations_cluster;
+
+connect(con1,localhost,u,,);
+SHOW DATABASES;
+SET ROLE operations_cluster;
+SHOW DATABASES;
+SELECT COUNT(1) FROM oms_live_sg.a;
+SELECT COUNT(1) FROM oms_live_sg.b;
+SELECT COUNT(1) FROM oms_live_sg.c;
+SELECT COUNT(1) FROM oms_live_sg.d;
+SELECT COUNT(1) FROM oms_live_ph.a;
+SELECT COUNT(1) FROM oms_live_ph.b;
+SELECT COUNT(1) FROM oms_live_ph.c;
+SELECT COUNT(1) FROM oms_live_ph.d;
+SELECT COUNT(1) FROM oms_live_id.a;
+SELECT COUNT(1) FROM oms_live_id.b;
+SELECT COUNT(1) FROM oms_live_id.c;
+SELECT COUNT(1) FROM oms_live_id.d;
+SELECT COUNT(1) FROM oms_live_hk.a;
+SELECT COUNT(1) FROM oms_live_hk.b;
+SELECT COUNT(1) FROM oms_live_hk.c;
+SELECT COUNT(1) FROM oms_live_hk.d;
+SELECT COUNT(1) FROM oms_live_vn.a;
+SELECT COUNT(1) FROM oms_live_vn.b;
+SELECT COUNT(1) FROM oms_live_vn.c;
+SELECT COUNT(1) FROM oms_live_vn.d;
+SELECT COUNT(1) FROM oms_live_tw.a;
+SELECT COUNT(1) FROM oms_live_tw.b;
+SELECT COUNT(1) FROM oms_live_tw.c;
+SELECT COUNT(1) FROM oms_live_tw.d;
+SELECT COUNT(1) FROM oms_live_my.a;
+SELECT COUNT(1) FROM oms_live_my.b;
+SELECT COUNT(1) FROM oms_live_my.c;
+SELECT COUNT(1) FROM oms_live_my.d;
+SELECT COUNT(1) FROM oms_live_th.a;
+SELECT COUNT(1) FROM oms_live_th.b;
+SELECT COUNT(1) FROM oms_live_th.c;
+SELECT COUNT(1) FROM oms_live_th.d;
+
+
+connect(con2,localhost,root,,);
+FLUSH PRIVILEGES;
+
+connect(con3,localhost,u,,);
+SHOW DATABASES;
+SET ROLE operations_cluster;
+SHOW DATABASES;
+SELECT COUNT(1) FROM oms_live_sg.a;
+SELECT COUNT(1) FROM oms_live_sg.b;
+SELECT COUNT(1) FROM oms_live_sg.c;
+SELECT COUNT(1) FROM oms_live_sg.d;
+SELECT COUNT(1) FROM oms_live_ph.a;
+SELECT COUNT(1) FROM oms_live_ph.b;
+SELECT COUNT(1) FROM oms_live_ph.c;
+SELECT COUNT(1) FROM oms_live_ph.d;
+SELECT COUNT(1) FROM oms_live_id.a;
+SELECT COUNT(1) FROM oms_live_id.b;
+SELECT COUNT(1) FROM oms_live_id.c;
+SELECT COUNT(1) FROM oms_live_id.d;
+SELECT COUNT(1) FROM oms_live_hk.a;
+SELECT COUNT(1) FROM oms_live_hk.b;
+SELECT COUNT(1) FROM oms_live_hk.c;
+SELECT COUNT(1) FROM oms_live_hk.d;
+SELECT COUNT(1) FROM oms_live_vn.a;
+SELECT COUNT(1) FROM oms_live_vn.b;
+SELECT COUNT(1) FROM oms_live_vn.c;
+SELECT COUNT(1) FROM oms_live_vn.d;
+SELECT COUNT(1) FROM oms_live_tw.a;
+SELECT COUNT(1) FROM oms_live_tw.b;
+SELECT COUNT(1) FROM oms_live_tw.c;
+SELECT COUNT(1) FROM oms_live_tw.d;
+SELECT COUNT(1) FROM oms_live_my.a;
+SELECT COUNT(1) FROM oms_live_my.b;
+SELECT COUNT(1) FROM oms_live_my.c;
+SELECT COUNT(1) FROM oms_live_my.d;
+SELECT COUNT(1) FROM oms_live_th.a;
+SELECT COUNT(1) FROM oms_live_th.b;
+SELECT COUNT(1) FROM oms_live_th.c;
+SELECT COUNT(1) FROM oms_live_th.d;
+
+
+connect(con4,localhost,root,,);
+
+DROP DATABASE bob_live_sg;
+DROP DATABASE oms_live_sg;
+DROP DATABASE bob_live_ph;
+DROP DATABASE oms_live_ph;
+DROP DATABASE bob_live_id;
+DROP DATABASE oms_live_id;
+DROP DATABASE bob_live_hk;
+DROP DATABASE oms_live_hk;
+DROP DATABASE bob_live_vn;
+DROP DATABASE oms_live_vn;
+DROP DATABASE bob_live_tw;
+DROP DATABASE oms_live_tw;
+DROP DATABASE bob_live_my;
+DROP DATABASE oms_live_my;
+DROP DATABASE bob_live_th;
+DROP DATABASE oms_live_th;
+DROP ROLE operations_sg;
+DROP ROLE a_sg;
+DROP ROLE b_sg;
+DROP ROLE c_sg;
+DROP ROLE d_sg;
+DROP ROLE operations_ph;
+DROP ROLE a_ph;
+DROP ROLE b_ph;
+DROP ROLE c_ph;
+DROP ROLE d_ph;
+DROP ROLE operations_id;
+DROP ROLE a_id;
+DROP ROLE b_id;
+DROP ROLE c_id;
+DROP ROLE d_id;
+DROP ROLE operations_hk;
+DROP ROLE a_hk;
+DROP ROLE b_hk;
+DROP ROLE c_hk;
+DROP ROLE d_hk;
+DROP ROLE operations_vn;
+DROP ROLE a_vn;
+DROP ROLE b_vn;
+DROP ROLE c_vn;
+DROP ROLE d_vn;
+DROP ROLE operations_tw;
+DROP ROLE a_tw;
+DROP ROLE b_tw;
+DROP ROLE c_tw;
+DROP ROLE d_tw;
+DROP ROLE operations_my;
+DROP ROLE a_my;
+DROP ROLE b_my;
+DROP ROLE c_my;
+DROP ROLE d_my;
+DROP ROLE operations_th;
+DROP ROLE a_th;
+DROP ROLE b_th;
+DROP ROLE c_th;
+DROP ROLE d_th;
+DROP USER u;
+DROP ROLE operations_cluster;
diff --git a/mysql-test/suite/roles/flush_roles-17898.result b/mysql-test/suite/roles/flush_roles-17898.result
new file mode 100644
index 00000000000..71ae28dd4ff
--- /dev/null
+++ b/mysql-test/suite/roles/flush_roles-17898.result
@@ -0,0 +1,40 @@
+use mysql;
+insert db (db,user,select_priv) values ('foo','dwr_foo','Y'), ('bar','dwr_bar','Y');
+insert roles_mapping (user,role) values ('dwr_qux_dev','dwr_foo'),('dwr_qux_dev','dwr_bar');
+insert user (user,show_db_priv,is_role) values ('dwr_foo','N','Y'), ('dwr_bar','N','Y'), ('dwr_qux_dev','Y','Y');
+Warnings:
+Warning 1364 Field 'ssl_cipher' doesn't have a default value
+Warning 1364 Field 'x509_issuer' doesn't have a default value
+Warning 1364 Field 'x509_subject' doesn't have a default value
+Warning 1364 Field 'authentication_string' doesn't have a default value
+flush privileges;
+drop role dwr_foo;
+drop role dwr_bar;
+drop role dwr_qux_dev;
+use test;
+create table db_copy as select * from mysql.db;
+delete from mysql.db;
+flush privileges;
+create user u1@localhost;
+create role r1;
+create role r2;
+grant r1 to u1@localhost;
+grant select on test.* to r2;
+grant select on m_.* to r2;
+grant r2 to r1;
+show grants for u1@localhost;
+Grants for u1@localhost
+GRANT r1 TO 'u1'@'localhost'
+GRANT USAGE ON *.* TO 'u1'@'localhost'
+show grants for r1;
+Grants for r1
+GRANT r2 TO 'r1'
+GRANT USAGE ON *.* TO 'r1'
+GRANT USAGE ON *.* TO 'r2'
+GRANT SELECT ON `test`.* TO 'r2'
+GRANT SELECT ON `m_`.* TO 'r2'
+drop user u1@localhost;
+drop role r1, r2;
+insert mysql.db select * from db_copy;
+flush privileges;
+drop table db_copy;
diff --git a/mysql-test/suite/roles/flush_roles-17898.test b/mysql-test/suite/roles/flush_roles-17898.test
new file mode 100644
index 00000000000..6800efd5b3f
--- /dev/null
+++ b/mysql-test/suite/roles/flush_roles-17898.test
@@ -0,0 +1,36 @@
+source include/not_embedded.inc;
+#
+# MDEV-17898 FLUSH PRIVILEGES crashes server with segfault
+#
+use mysql;
+insert db (db,user,select_priv) values ('foo','dwr_foo','Y'), ('bar','dwr_bar','Y');
+insert roles_mapping (user,role) values ('dwr_qux_dev','dwr_foo'),('dwr_qux_dev','dwr_bar');
+insert user (user,show_db_priv,is_role) values ('dwr_foo','N','Y'), ('dwr_bar','N','Y'), ('dwr_qux_dev','Y','Y');
+flush privileges;
+drop role dwr_foo;
+drop role dwr_bar;
+drop role dwr_qux_dev;
+use test;
+
+#
+# MDEV-18298 Crashes server with segfault during role grants
+#
+create table db_copy as select * from mysql.db;
+delete from mysql.db;
+flush privileges;
+
+create user u1@localhost;
+create role r1;
+create role r2;
+grant r1 to u1@localhost;
+grant select on test.* to r2;
+grant select on m_.* to r2;
+grant r2 to r1;
+show grants for u1@localhost;
+show grants for r1;
+drop user u1@localhost;
+drop role r1, r2;
+
+insert mysql.db select * from db_copy;
+flush privileges;
+drop table db_copy;
diff --git a/mysql-test/suite/roles/grant-5771.result b/mysql-test/suite/roles/grant-5771.result
new file mode 100644
index 00000000000..5d79820e7a0
--- /dev/null
+++ b/mysql-test/suite/roles/grant-5771.result
@@ -0,0 +1,34 @@
+create database mysqltest1;
+create database mysqltest2;
+create user foo@localhost;
+create role r1, r2;
+grant all on mysqltest1.* to r1;
+grant all on mysqltest2.* to r2;
+grant r1 to r2;
+grant r2 to foo@localhost;
+select current_user;
+current_user
+foo@localhost
+show tables in mysqltest1;
+ERROR 42000: Access denied for user 'foo'@'localhost' to database 'mysqltest1'
+show tables in mysqltest2;
+ERROR 42000: Access denied for user 'foo'@'localhost' to database 'mysqltest2'
+set role r2;
+show tables in mysqltest1;
+Tables_in_mysqltest1
+show tables in mysqltest2;
+Tables_in_mysqltest2
+show grants;
+Grants for foo@localhost
+GRANT r2 TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT r1 TO 'r2'
+GRANT USAGE ON *.* TO 'r2'
+GRANT ALL PRIVILEGES ON `mysqltest2`.* TO 'r2'
+GRANT USAGE ON *.* TO 'r1'
+GRANT ALL PRIVILEGES ON `mysqltest1`.* TO 'r1'
+drop user foo@localhost;
+drop role r1;
+drop role r2;
+drop database mysqltest1;
+drop database mysqltest2;
diff --git a/mysql-test/suite/roles/grant-5771.test b/mysql-test/suite/roles/grant-5771.test
new file mode 100644
index 00000000000..3c8f5d2f7c0
--- /dev/null
+++ b/mysql-test/suite/roles/grant-5771.test
@@ -0,0 +1,32 @@
+#
+# MDEV-5771 Privileges acquired via roles depend on the order of granting
+#
+--source include/not_embedded.inc
+
+create database mysqltest1;
+create database mysqltest2;
+
+create user foo@localhost;
+create role r1, r2;
+grant all on mysqltest1.* to r1;
+grant all on mysqltest2.* to r2;
+grant r1 to r2;
+grant r2 to foo@localhost;
+
+--connect (foo,localhost,foo,,)
+select current_user;
+--error ER_DBACCESS_DENIED_ERROR
+show tables in mysqltest1;
+--error ER_DBACCESS_DENIED_ERROR
+show tables in mysqltest2;
+set role r2;
+show tables in mysqltest1;
+show tables in mysqltest2;
+show grants;
+
+connection default;
+drop user foo@localhost;
+drop role r1;
+drop role r2;
+drop database mysqltest1;
+drop database mysqltest2;
diff --git a/mysql-test/suite/roles/grant_empty.result b/mysql-test/suite/roles/grant_empty.result
new file mode 100644
index 00000000000..dfc0f513396
--- /dev/null
+++ b/mysql-test/suite/roles/grant_empty.result
@@ -0,0 +1,14 @@
+grant '' to foo@localhost;
+ERROR OP000: Invalid role specification ``.
+create user ''@localhost;
+create role r1;
+grant r1 to ''@localhost;
+select current_user;
+current_user
+@localhost
+show grants;
+Grants for @localhost
+GRANT r1 TO ''@'localhost'
+GRANT USAGE ON *.* TO ''@'localhost'
+drop role r1;
+drop user ''@localhost;
diff --git a/mysql-test/suite/roles/grant_empty.test b/mysql-test/suite/roles/grant_empty.test
new file mode 100644
index 00000000000..e419fffa2ba
--- /dev/null
+++ b/mysql-test/suite/roles/grant_empty.test
@@ -0,0 +1,23 @@
+#
+# MDEV-5668 Assertion `granted_role->is_role()' fails on granting role with empty name
+#
+--error ER_INVALID_ROLE
+grant '' to foo@localhost;
+
+#
+# MDEV-5238 Server crashes in find_role_grant_pair on SHOW GRANTS for an anonymous user
+#
+--source include/not_embedded.inc
+
+create user ''@localhost;
+create role r1;
+grant r1 to ''@localhost;
+
+--connect (con1,localhost,nonexisting_user,,)
+select current_user;
+show grants;
+
+connection default;
+drop role r1;
+drop user ''@localhost;
+
diff --git a/mysql-test/suite/roles/grant_proxy-5526.result b/mysql-test/suite/roles/grant_proxy-5526.result
new file mode 100644
index 00000000000..7921969299a
--- /dev/null
+++ b/mysql-test/suite/roles/grant_proxy-5526.result
@@ -0,0 +1,9 @@
+create role r1;
+create user user;
+grant proxy on r1 to user;
+show grants for user;
+Grants for user@%
+GRANT USAGE ON *.* TO 'user'@'%'
+GRANT PROXY ON 'r1'@'%' TO 'user'@'%'
+drop user user;
+drop role r1;
diff --git a/mysql-test/suite/roles/grant_proxy-5526.test b/mysql-test/suite/roles/grant_proxy-5526.test
new file mode 100644
index 00000000000..eadc763b966
--- /dev/null
+++ b/mysql-test/suite/roles/grant_proxy-5526.test
@@ -0,0 +1,11 @@
+--source include/not_embedded.inc
+#
+# MDEV-5526 Assertion `proxied_user->host.length' fails on GRANT PROXY ON <role>
+#
+create role r1;
+create user user;
+grant proxy on r1 to user;
+show grants for user;
+drop user user;
+drop role r1;
+
diff --git a/mysql-test/suite/roles/grant_revoke_current.result b/mysql-test/suite/roles/grant_revoke_current.result
new file mode 100644
index 00000000000..d9798463965
--- /dev/null
+++ b/mysql-test/suite/roles/grant_revoke_current.result
@@ -0,0 +1,42 @@
+grant select on *.* to current_role;
+ERROR 0L000: Invalid definer
+revoke select on *.* from current_role;
+ERROR 0L000: Invalid definer
+revoke all, grant option from current_role;
+ERROR 0L000: Invalid definer
+create role r1;
+grant insert on test.* to r1;
+grant r1 to current_user;
+set role r1;
+select current_role();
+current_role()
+r1
+grant select on *.* to current_role;
+show grants for current_role;
+Grants for r1
+GRANT SELECT ON *.* TO 'r1'
+GRANT INSERT ON `test`.* TO 'r1'
+revoke insert on test.* from current_role;
+show grants for current_role;
+Grants for r1
+GRANT SELECT ON *.* TO 'r1'
+revoke all, grant option from current_role;
+show grants for current_role;
+Grants for r1
+GRANT USAGE ON *.* TO 'r1'
+set password=password('foobar');
+show grants;
+Grants for root@localhost
+GRANT r1 TO 'root'@'localhost' WITH ADMIN OPTION
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*9B500343BC52E2911172EB52AE5CF4847604C6E5' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT USAGE ON *.* TO 'r1'
+grant r1 to current_user() identified by 'barfoo';
+show grants;
+Grants for root@localhost
+GRANT r1 TO 'root'@'localhost' WITH ADMIN OPTION
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*343915A8181B5728EADBDC73E1F7E6B0C3998483' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT USAGE ON *.* TO 'r1'
+set password='';
+drop role r1;
diff --git a/mysql-test/suite/roles/grant_revoke_current.test b/mysql-test/suite/roles/grant_revoke_current.test
new file mode 100644
index 00000000000..0ebe0170782
--- /dev/null
+++ b/mysql-test/suite/roles/grant_revoke_current.test
@@ -0,0 +1,29 @@
+--source include/not_embedded.inc
+
+--error ER_MALFORMED_DEFINER
+grant select on *.* to current_role;
+--error ER_MALFORMED_DEFINER
+revoke select on *.* from current_role;
+--error ER_MALFORMED_DEFINER
+revoke all, grant option from current_role;
+
+create role r1;
+grant insert on test.* to r1;
+grant r1 to current_user;
+set role r1;
+select current_role();
+
+grant select on *.* to current_role;
+show grants for current_role;
+revoke insert on test.* from current_role;
+show grants for current_role;
+revoke all, grant option from current_role;
+show grants for current_role;
+
+set password=password('foobar');
+show grants;
+grant r1 to current_user() identified by 'barfoo';
+show grants;
+set password='';
+
+drop role r1;
diff --git a/mysql-test/suite/roles/grant_role_auto_create_user.result b/mysql-test/suite/roles/grant_role_auto_create_user.result
new file mode 100644
index 00000000000..dee07aa6b3c
--- /dev/null
+++ b/mysql-test/suite/roles/grant_role_auto_create_user.result
@@ -0,0 +1,67 @@
+create database db;
+create role auto_create;
+create user auto_create;
+grant all on db.* to auto_create;
+create user foo@localhost;
+grant auto_create to foo@localhost;
+create user bar@localhost identified by 'baz';
+grant auto_create to bar@localhost;
+set role 'auto_create';
+use db;
+create table t1 (i int);
+set role auto_create;
+use db;
+insert into t1 values (1);
+drop user foo@localhost, bar@localhost;
+set sql_mode = 'no_auto_create_user';
+grant auto_create to foo@localhost;
+ERROR 28000: Can't find any matching row in the user table
+grant auto_create to bar@localhost identified by 'baz';
+select user, host from mysql.user where user = 'bar';
+user host
+bar localhost
+set sql_mode = '';
+set role auto_create;
+use db;
+drop table t1;
+create user foo@localhost;
+set sql_mode = '';
+grant auto_create to bar2@localhost;
+ERROR 28000: Access denied for user 'foo'@'localhost'
+grant auto_create to foo2@localhost;
+ERROR 28000: Access denied for user 'foo'@'localhost'
+set sql_mode = 'no_auto_create_user';
+grant auto_create to bar2@localhost;
+ERROR 28000: Access denied for user 'foo'@'localhost'
+grant auto_create to foo2@localhost identified by 'pass';
+ERROR 28000: Access denied for user 'foo'@'localhost'
+grant auto_create to foo@localhost;
+set sql_mode = '';
+grant auto_create to bar@localhost;
+ERROR 28000: Access denied for user 'foo'@'localhost'
+grant auto_create to bar2@localhost;
+ERROR 28000: Access denied for user 'foo'@'localhost'
+grant auto_create to foo2@localhost identified by 'pass';
+ERROR 28000: Access denied for user 'foo'@'localhost'
+set sql_mode = 'no_auto_create_user';
+grant auto_create to bar2@localhost;
+ERROR 28000: Access denied for user 'foo'@'localhost'
+grant auto_create to foo2@localhost identified by 'pass';
+ERROR 28000: Access denied for user 'foo'@'localhost'
+grant auto_create to foo@localhost with admin option;
+set sql_mode = '';
+grant auto_create to bar@localhost;
+grant auto_create to bar2@localhost;
+ERROR 42000: You are not allowed to create a user with GRANT
+grant auto_create to foo2@localhost identified by 'pass';
+ERROR 42000: You are not allowed to create a user with GRANT
+set sql_mode = 'no_auto_create_user';
+grant auto_create to bar2@localhost;
+ERROR 28000: Can't find any matching row in the user table
+grant auto_create to foo2@localhost identified by 'pass';
+ERROR 42000: You are not allowed to create a user with GRANT
+drop user foo@localhost;
+drop user bar@localhost;
+drop role auto_create;
+drop user auto_create;
+drop database db;
diff --git a/mysql-test/suite/roles/grant_role_auto_create_user.test b/mysql-test/suite/roles/grant_role_auto_create_user.test
new file mode 100644
index 00000000000..e673934775e
--- /dev/null
+++ b/mysql-test/suite/roles/grant_role_auto_create_user.test
@@ -0,0 +1,123 @@
+#
+# MDEV-5221 User auto-creation does not work upon GRANT <role>
+#
+--source include/not_embedded.inc
+
+create database db;
+create role auto_create;
+create user auto_create;
+grant all on db.* to auto_create;
+create user foo@localhost;
+grant auto_create to foo@localhost;
+create user bar@localhost identified by 'baz';
+grant auto_create to bar@localhost;
+
+# Test if the users have been created and the role has been granted to them
+--connect (con1,localhost,foo,,)
+set role 'auto_create';
+use db;
+create table t1 (i int);
+--disconnect con1
+
+--connect (con1,localhost,bar,baz,)
+set role auto_create;
+use db;
+insert into t1 values (1);
+--disconnect con1
+
+--connection default
+drop user foo@localhost, bar@localhost;
+
+set sql_mode = 'no_auto_create_user';
+--error ER_PASSWORD_NO_MATCH
+grant auto_create to foo@localhost;
+grant auto_create to bar@localhost identified by 'baz';
+select user, host from mysql.user where user = 'bar';
+set sql_mode = '';
+
+--connect (con1,localhost,bar,baz,)
+set role auto_create;
+use db;
+drop table t1;
+--disconnect con1
+
+--connection default
+
+create user foo@localhost;
+
+# test all possible cases with a user who has no rights to grant the role
+--connect (con1, localhost, foo,,)
+
+set sql_mode = '';
+#try and grant roles, no rights however
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant auto_create to bar2@localhost;
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant auto_create to foo2@localhost;
+
+set sql_mode = 'no_auto_create_user';
+#try and grant roles, no rights however
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant auto_create to bar2@localhost;
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant auto_create to foo2@localhost identified by 'pass';
+--disconnect con1
+--connection default
+grant auto_create to foo@localhost;
+
+--connect (con1, localhost, foo,,)
+
+#we now have the role granted to us, but we don't have insert privileges,
+#we should not be able to create a new user
+
+set sql_mode = '';
+#also test that we can not grant a role without admin option
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant auto_create to bar@localhost;
+
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant auto_create to bar2@localhost;
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant auto_create to foo2@localhost identified by 'pass';
+
+set sql_mode = 'no_auto_create_user';
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant auto_create to bar2@localhost;
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+grant auto_create to foo2@localhost identified by 'pass';
+
+#test that we can grant a role with admin option to an existing user, but not
+#create one
+
+--connection default
+grant auto_create to foo@localhost with admin option;
+
+--disconnect con1
+--connect (con1, localhost, foo,,)
+
+#we now have the role granted to us, but we don't have insert privileges,
+#we should not be able to create a new user
+
+set sql_mode = '';
+#also test that we can grant a role with admin option
+grant auto_create to bar@localhost;
+
+#test that we don't create users if we don't have insert privileges
+--error ER_CANT_CREATE_USER_WITH_GRANT
+grant auto_create to bar2@localhost;
+--error ER_CANT_CREATE_USER_WITH_GRANT
+grant auto_create to foo2@localhost identified by 'pass';
+
+set sql_mode = 'no_auto_create_user';
+--error ER_PASSWORD_NO_MATCH
+grant auto_create to bar2@localhost;
+--error ER_CANT_CREATE_USER_WITH_GRANT
+grant auto_create to foo2@localhost identified by 'pass';
+
+
+--connection default
+drop user foo@localhost;
+drop user bar@localhost;
+drop role auto_create;
+drop user auto_create;
+drop database db;
diff --git a/mysql-test/suite/roles/i_s_applicable_roles_is_default.result b/mysql-test/suite/roles/i_s_applicable_roles_is_default.result
new file mode 100644
index 00000000000..63127f8b176
--- /dev/null
+++ b/mysql-test/suite/roles/i_s_applicable_roles_is_default.result
@@ -0,0 +1,80 @@
+create user foo;
+create role role1;
+create role role2;
+create role role3;
+grant role1 to foo;
+grant role2 to role1;
+grant role3 to foo;
+connect foo, localhost, foo;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+foo@% role1 NO NO
+foo@% role3 NO NO
+role1 role2 NO NULL
+set default role role3;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+foo@% role1 NO NO
+foo@% role3 NO YES
+role1 role2 NO NULL
+set default role role1;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+foo@% role1 NO YES
+foo@% role3 NO NO
+role1 role2 NO NULL
+disconnect foo;
+connection default;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role2 NO NULL
+root@localhost role1 YES NO
+root@localhost role2 YES NO
+root@localhost role3 YES NO
+set default role none for foo;
+connect foo, localhost, foo;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+foo@% role1 NO NO
+foo@% role3 NO NO
+role1 role2 NO NULL
+disconnect foo;
+connection default;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role2 NO NULL
+root@localhost role1 YES NO
+root@localhost role2 YES NO
+root@localhost role3 YES NO
+set default role role1;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role2 NO NULL
+root@localhost role1 YES YES
+root@localhost role2 YES NO
+root@localhost role3 YES NO
+set default role role2;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role2 NO NULL
+root@localhost role1 YES NO
+root@localhost role2 YES YES
+root@localhost role3 YES NO
+set default role role3;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role2 NO NULL
+root@localhost role1 YES NO
+root@localhost role2 YES NO
+root@localhost role3 YES YES
+set default role none;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+role1 role2 NO NULL
+root@localhost role1 YES NO
+root@localhost role2 YES NO
+root@localhost role3 YES NO
+drop role role3;
+drop role role2;
+drop role role1;
+drop user foo;
diff --git a/mysql-test/suite/roles/i_s_applicable_roles_is_default.test b/mysql-test/suite/roles/i_s_applicable_roles_is_default.test
new file mode 100644
index 00000000000..4a844e39b87
--- /dev/null
+++ b/mysql-test/suite/roles/i_s_applicable_roles_is_default.test
@@ -0,0 +1,63 @@
+--source include/not_embedded.inc
+--enable_connect_log
+create user foo;
+create role role1;
+create role role2;
+create role role3;
+
+grant role1 to foo;
+grant role2 to role1;
+grant role3 to foo;
+
+
+connect (foo, localhost, foo);
+--sorted_result
+select * from information_schema.applicable_roles;
+
+set default role role3;
+--sorted_result
+select * from information_schema.applicable_roles;
+
+set default role role1;
+--sorted_result
+select * from information_schema.applicable_roles;
+
+
+disconnect foo;
+connection default;
+
+--sorted_result
+select * from information_schema.applicable_roles;
+
+set default role none for foo;
+connect (foo, localhost, foo);
+--sorted_result
+select * from information_schema.applicable_roles;
+
+disconnect foo;
+connection default;
+
+--sorted_result
+select * from information_schema.applicable_roles;
+
+set default role role1;
+--sorted_result
+select * from information_schema.applicable_roles;
+
+set default role role2;
+--sorted_result
+select * from information_schema.applicable_roles;
+
+set default role role3;
+--sorted_result
+select * from information_schema.applicable_roles;
+
+
+set default role none;
+--sorted_result
+select * from information_schema.applicable_roles;
+
+drop role role3;
+drop role role2;
+drop role role1;
+drop user foo;
diff --git a/mysql-test/suite/roles/ip-6401.result b/mysql-test/suite/roles/ip-6401.result
new file mode 100644
index 00000000000..a9876eb8273
--- /dev/null
+++ b/mysql-test/suite/roles/ip-6401.result
@@ -0,0 +1,13 @@
+create role r1;
+create user foo@'127.0.0.1';
+grant r1 to foo@'127.0.0.1';
+show grants;
+Grants for foo@127.0.0.1
+GRANT r1 TO 'foo'@'127.0.0.1'
+GRANT USAGE ON *.* TO 'foo'@'127.0.0.1'
+set role r1;
+select * from information_schema.enabled_roles;
+ROLE_NAME
+r1
+drop user foo@'127.0.0.1';
+drop role r1;
diff --git a/mysql-test/suite/roles/ip-6401.test b/mysql-test/suite/roles/ip-6401.test
new file mode 100644
index 00000000000..b7d4b168b75
--- /dev/null
+++ b/mysql-test/suite/roles/ip-6401.test
@@ -0,0 +1,16 @@
+#
+# MDEV-6401 SET ROLE returning ERROR 1959 Invalid role specification for valid role
+#
+--source include/not_embedded.inc
+create role r1;
+create user foo@'127.0.0.1';
+grant r1 to foo@'127.0.0.1';
+
+--connect (con1,127.0.0.1,foo,,)
+show grants;
+set role r1;
+select * from information_schema.enabled_roles;
+
+connection default;
+drop user foo@'127.0.0.1';
+drop role r1;
diff --git a/mysql-test/suite/roles/none_public.result b/mysql-test/suite/roles/none_public.result
new file mode 100644
index 00000000000..8b92e5bfcfc
--- /dev/null
+++ b/mysql-test/suite/roles/none_public.result
@@ -0,0 +1,56 @@
+create role role1;
+create role none;
+ERROR OP000: Invalid role specification `none`.
+create role public;
+ERROR OP000: Invalid role specification `public`.
+drop role none;
+ERROR HY000: Operation DROP ROLE failed for 'none'
+grant none to role1;
+ERROR OP000: Invalid role specification `none`.
+grant role1 to none;
+ERROR OP000: Invalid role specification `none`.
+grant select on *.* to none;
+ERROR OP000: Invalid role specification `none`.
+grant public to role1;
+ERROR OP000: Invalid role specification `public`.
+grant role1 to public;
+ERROR OP000: Invalid role specification `public`.
+grant select on *.* to public;
+ERROR OP000: Invalid role specification `public`.
+grant role1 to current_role;
+ERROR OP000: Invalid role specification `NONE`.
+revoke none from role1;
+ERROR OP000: Invalid role specification `none`.
+revoke role1 from none;
+ERROR OP000: Invalid role specification `none`.
+revoke select on *.* from none;
+ERROR OP000: Invalid role specification `none`.
+revoke public from role1;
+ERROR OP000: Invalid role specification `public`.
+revoke role1 from public;
+ERROR OP000: Invalid role specification `public`.
+revoke select on *.* from public;
+ERROR OP000: Invalid role specification `public`.
+show grants for none;
+ERROR OP000: Invalid role specification `none`.
+show grants for public;
+ERROR OP000: Invalid role specification `public`.
+create definer=none view test.v1 as select 1;
+ERROR OP000: Invalid role specification `none`.
+create definer=public view test.v1 as select 1;
+ERROR OP000: Invalid role specification `public`.
+drop role role1;
+optimize table mysql.user;
+Table Op Msg_type Msg_text
+mysql.user optimize status OK
+insert mysql.user (user, is_role) values ('none', 'Y'), ('public', 'Y');
+Warnings:
+Warning 1364 Field 'ssl_cipher' doesn't have a default value
+Warning 1364 Field 'x509_issuer' doesn't have a default value
+Warning 1364 Field 'x509_subject' doesn't have a default value
+Warning 1364 Field 'authentication_string' doesn't have a default value
+flush privileges;
+Warnings:
+Error 1959 Invalid role specification `none`.
+Error 1959 Invalid role specification `public`.
+delete from mysql.user where is_role='Y';
diff --git a/mysql-test/suite/roles/none_public.test b/mysql-test/suite/roles/none_public.test
new file mode 100644
index 00000000000..8e370d80007
--- /dev/null
+++ b/mysql-test/suite/roles/none_public.test
@@ -0,0 +1,57 @@
+source include/not_embedded.inc;
+
+create role role1;
+
+--error ER_INVALID_ROLE
+create role none;
+--error ER_INVALID_ROLE
+create role public;
+--error ER_CANNOT_USER
+drop role none;
+
+--error ER_INVALID_ROLE
+grant none to role1;
+--error ER_INVALID_ROLE
+grant role1 to none;
+--error ER_INVALID_ROLE
+grant select on *.* to none;
+--error ER_INVALID_ROLE
+grant public to role1;
+--error ER_INVALID_ROLE
+grant role1 to public;
+--error ER_INVALID_ROLE
+grant select on *.* to public;
+
+--error ER_INVALID_ROLE
+grant role1 to current_role;
+
+--error ER_INVALID_ROLE
+revoke none from role1;
+--error ER_INVALID_ROLE
+revoke role1 from none;
+--error ER_INVALID_ROLE
+revoke select on *.* from none;
+--error ER_INVALID_ROLE
+revoke public from role1;
+--error ER_INVALID_ROLE
+revoke role1 from public;
+--error ER_INVALID_ROLE
+revoke select on *.* from public;
+
+--error ER_INVALID_ROLE
+show grants for none;
+--error ER_INVALID_ROLE
+show grants for public;
+
+--error ER_INVALID_ROLE
+create definer=none view test.v1 as select 1;
+--error ER_INVALID_ROLE
+create definer=public view test.v1 as select 1;
+
+drop role role1;
+
+optimize table mysql.user; # to remove deleted rows and have stable row order
+insert mysql.user (user, is_role) values ('none', 'Y'), ('public', 'Y');
+flush privileges;
+delete from mysql.user where is_role='Y';
+
diff --git a/mysql-test/suite/roles/password.result b/mysql-test/suite/roles/password.result
new file mode 100644
index 00000000000..2d54db2ca64
--- /dev/null
+++ b/mysql-test/suite/roles/password.result
@@ -0,0 +1,35 @@
+set sql_mode='';
+create role r1;
+grant select on *.* to r1 identified by 'foobar';
+drop user r1;
+grant select on *.* to r1 identified by '';
+drop user r1;
+grant select on mysql.user to r1 identified by password '00000000000000000000000000000000000000000';
+drop user r1;
+grant select on *.* to r1 identified via plugin;
+ERROR HY000: Plugin 'plugin' is not loaded
+grant select on mysql.user to r1 identified via plugin using 'param';
+ERROR HY000: Plugin 'plugin' is not loaded
+grant select on *.* to r1 require subject 'foobar';
+drop user r1;
+grant select on mysql.user to r1 require issuer 'foobar';
+drop user r1;
+grant select on *.* to r1 require cipher 'foobar';
+drop user r1;
+grant select on mysql.user to r1 require ssl;
+drop user r1;
+grant select on *.* to r1 require x509;
+drop user r1;
+grant select on mysql.user to r1 require none;
+drop user r1;
+grant select on *.* to r1 with max_queries_per_hour 10;
+drop user r1;
+grant select on mysql.user to r1 with max_updates_per_hour 10;
+drop user r1;
+grant select on *.* to r1 with max_connections_per_hour 10;
+drop user r1;
+grant select on mysql.user to r1 with max_user_connections 10;
+drop user r1;
+set password for r1 = '00000000000000000000000000000000000000000';
+ERROR 28000: Can't find any matching row in the user table
+drop role r1;
diff --git a/mysql-test/suite/roles/password.test b/mysql-test/suite/roles/password.test
new file mode 100644
index 00000000000..e5fff01ddbc
--- /dev/null
+++ b/mysql-test/suite/roles/password.test
@@ -0,0 +1,53 @@
+#
+# setting authentication for roles
+#
+
+--source include/not_embedded.inc
+
+#identified by [password]...
+#identified with ... [using ...]
+#require [subject][issuer][cipher][ssl][x509]
+# max_queries_per_hour | max_updates_per_hour | max_connections_per_hour | max_user_connections
+#set password for ... = ...
+
+set sql_mode='';
+create role r1;
+
+# IDENTIFIED does not apply to roles, using it forces username context
+grant select on *.* to r1 identified by 'foobar';
+drop user r1;
+grant select on *.* to r1 identified by '';
+drop user r1;
+grant select on mysql.user to r1 identified by password '00000000000000000000000000000000000000000';
+drop user r1;
+--error ER_PLUGIN_IS_NOT_LOADED
+grant select on *.* to r1 identified via plugin;
+--error ER_PLUGIN_IS_NOT_LOADED
+grant select on mysql.user to r1 identified via plugin using 'param';
+
+# same for REQUIRE and mqh
+grant select on *.* to r1 require subject 'foobar';
+drop user r1;
+grant select on mysql.user to r1 require issuer 'foobar';
+drop user r1;
+grant select on *.* to r1 require cipher 'foobar';
+drop user r1;
+grant select on mysql.user to r1 require ssl;
+drop user r1;
+grant select on *.* to r1 require x509;
+drop user r1;
+grant select on mysql.user to r1 require none;
+drop user r1;
+grant select on *.* to r1 with max_queries_per_hour 10;
+drop user r1;
+grant select on mysql.user to r1 with max_updates_per_hour 10;
+drop user r1;
+grant select on *.* to r1 with max_connections_per_hour 10;
+drop user r1;
+grant select on mysql.user to r1 with max_user_connections 10;
+drop user r1;
+
+--error ER_PASSWORD_NO_MATCH
+set password for r1 = '00000000000000000000000000000000000000000';
+
+drop role r1;
diff --git a/mysql-test/suite/roles/prepare_stmt_with_role.result b/mysql-test/suite/roles/prepare_stmt_with_role.result
new file mode 100644
index 00000000000..e859b2e304b
--- /dev/null
+++ b/mysql-test/suite/roles/prepare_stmt_with_role.result
@@ -0,0 +1,107 @@
+#
+# Test user to check if we can grant the created role to it.
+#
+create user test_user;
+#
+# First create the role.
+#
+SET @createRole = 'CREATE ROLE developers';
+PREPARE stmtCreateRole FROM @createRole;
+EXECUTE stmtCreateRole;
+#
+# Test to see if the role is created.
+#
+SELECT user, host,is_role FROM mysql.user
+WHERE user = 'developers';
+user host is_role
+developers Y
+SHOW GRANTS;
+Grants for root@localhost
+GRANT developers TO 'root'@'localhost' WITH ADMIN OPTION
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+# Test reexecution.
+EXECUTE stmtCreateRole;
+ERROR HY000: Operation CREATE ROLE failed for 'developers'
+#
+# Now grant the role to the test user.
+#
+SET @grantRole = 'GRANT developers to test_user';
+PREPARE stmtGrantRole FROM @grantRole;
+EXECUTE stmtGrantRole;
+# Test reexecution.
+EXECUTE stmtGrantRole;
+#
+# We should see 2 entries in the roles_mapping table.
+#
+SELECT * FROM mysql.roles_mapping;
+Host User Role Admin_option
+% test_user developers N
+localhost root developers Y
+SHOW GRANTS FOR test_user;
+Grants for test_user@%
+GRANT developers TO 'test_user'@'%'
+GRANT USAGE ON *.* TO 'test_user'@'%'
+#
+# Test revoking a role.
+#
+SET @revokeRole = 'REVOKE developers FROM test_user';
+PREPARE stmtRevokeRole FROM @revokeRole;
+EXECUTE stmtRevokeRole;
+EXECUTE stmtRevokeRole;
+ERROR HY000: Cannot revoke role 'developers' from: 'test_user'@'%'.
+SHOW GRANTS FOR test_user;
+Grants for test_user@%
+GRANT USAGE ON *.* TO 'test_user'@'%'
+EXECUTE stmtGrantRole;
+SHOW GRANTS FOR test_user;
+Grants for test_user@%
+GRANT developers TO 'test_user'@'%'
+GRANT USAGE ON *.* TO 'test_user'@'%'
+EXECUTE stmtRevokeRole;
+SHOW GRANTS FOR test_user;
+Grants for test_user@%
+GRANT USAGE ON *.* TO 'test_user'@'%'
+#
+# Now drop the role.
+#
+SET @dropRole = 'DROP ROLE developers';
+PREPARE stmtDropRole FROM @dropRole;
+EXECUTE stmtDropRole;
+#
+# Check both user and roles_mapping table for traces of our role.
+#
+SELECT user, host,is_role FROM mysql.user
+WHERE user = 'developers';
+user host is_role
+SELECT * FROM mysql.roles_mapping;
+Host User Role Admin_option
+SHOW GRANTS;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+SHOW GRANTS FOR test_user;
+Grants for test_user@%
+GRANT USAGE ON *.* TO 'test_user'@'%'
+#
+# Test reexecution.
+#
+EXECUTE stmtCreateRole;
+SELECT user, host,is_role FROM mysql.user
+WHERE user = 'developers';
+user host is_role
+developers Y
+SELECT * FROM mysql.roles_mapping;
+Host User Role Admin_option
+localhost root developers Y
+SHOW GRANTS;
+Grants for root@localhost
+GRANT developers TO 'root'@'localhost' WITH ADMIN OPTION
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+SHOW GRANTS FOR test_user;
+Grants for test_user@%
+GRANT USAGE ON *.* TO 'test_user'@'%'
+EXECUTE stmtDropRole;
+# Cleanup.
+DROP USER test_user;
diff --git a/mysql-test/suite/roles/prepare_stmt_with_role.test b/mysql-test/suite/roles/prepare_stmt_with_role.test
new file mode 100644
index 00000000000..516e9ddab34
--- /dev/null
+++ b/mysql-test/suite/roles/prepare_stmt_with_role.test
@@ -0,0 +1,85 @@
+--source include/not_embedded.inc
+
+
+--echo #
+--echo # Test user to check if we can grant the created role to it.
+--echo #
+create user test_user;
+--echo #
+--echo # First create the role.
+--echo #
+SET @createRole = 'CREATE ROLE developers';
+PREPARE stmtCreateRole FROM @createRole;
+EXECUTE stmtCreateRole;
+--echo #
+--echo # Test to see if the role is created.
+--echo #
+SELECT user, host,is_role FROM mysql.user
+WHERE user = 'developers';
+SHOW GRANTS;
+
+--echo # Test reexecution.
+--error ER_CANNOT_USER
+EXECUTE stmtCreateRole;
+
+--echo #
+--echo # Now grant the role to the test user.
+--echo #
+SET @grantRole = 'GRANT developers to test_user';
+PREPARE stmtGrantRole FROM @grantRole;
+EXECUTE stmtGrantRole;
+--echo # Test reexecution.
+EXECUTE stmtGrantRole;
+
+--echo #
+--echo # We should see 2 entries in the roles_mapping table.
+--echo #
+--sorted_result
+SELECT * FROM mysql.roles_mapping;
+SHOW GRANTS FOR test_user;
+
+--echo #
+--echo # Test revoking a role.
+--echo #
+SET @revokeRole = 'REVOKE developers FROM test_user';
+PREPARE stmtRevokeRole FROM @revokeRole;
+EXECUTE stmtRevokeRole;
+--error ER_CANNOT_REVOKE_ROLE
+EXECUTE stmtRevokeRole;
+SHOW GRANTS FOR test_user;
+
+EXECUTE stmtGrantRole;
+SHOW GRANTS FOR test_user;
+EXECUTE stmtRevokeRole;
+SHOW GRANTS FOR test_user;
+
+--echo #
+--echo # Now drop the role.
+--echo #
+SET @dropRole = 'DROP ROLE developers';
+PREPARE stmtDropRole FROM @dropRole;
+EXECUTE stmtDropRole;
+
+--echo #
+--echo # Check both user and roles_mapping table for traces of our role.
+--echo #
+SELECT user, host,is_role FROM mysql.user
+WHERE user = 'developers';
+SELECT * FROM mysql.roles_mapping;
+SHOW GRANTS;
+SHOW GRANTS FOR test_user;
+
+--echo #
+--echo # Test reexecution.
+--echo #
+EXECUTE stmtCreateRole;
+SELECT user, host,is_role FROM mysql.user
+WHERE user = 'developers';
+SELECT * FROM mysql.roles_mapping;
+
+SHOW GRANTS;
+SHOW GRANTS FOR test_user;
+EXECUTE stmtDropRole;
+
+--echo # Cleanup.
+DROP USER test_user;
diff --git a/mysql-test/suite/roles/ps.result b/mysql-test/suite/roles/ps.result
new file mode 100644
index 00000000000..694dcb9446c
--- /dev/null
+++ b/mysql-test/suite/roles/ps.result
@@ -0,0 +1 @@
+PREPARE stmt FROM 'SET ROLE NONE';
diff --git a/mysql-test/suite/roles/ps.test b/mysql-test/suite/roles/ps.test
new file mode 100644
index 00000000000..f9bb6aaffac
--- /dev/null
+++ b/mysql-test/suite/roles/ps.test
@@ -0,0 +1,4 @@
+#
+# MDEV-5521 SET ROLE as prepared statement crashes the server
+#
+PREPARE stmt FROM 'SET ROLE NONE';
diff --git a/mysql-test/suite/roles/rebuild_role_grants.result b/mysql-test/suite/roles/rebuild_role_grants.result
new file mode 100644
index 00000000000..bc68d8ddc9f
--- /dev/null
+++ b/mysql-test/suite/roles/rebuild_role_grants.result
@@ -0,0 +1,64 @@
+create role r1;
+create user u1;
+grant r1 to u1;
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+GRANT r1 TO 'u1'@'%'
+create user u2;
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+GRANT r1 TO 'u1'@'%'
+show grants for u2;
+Grants for u2@%
+GRANT USAGE ON *.* TO 'u2'@'%'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+% u1 r1 N
+localhost root r1 Y
+revoke r1 from u1;
+revoke r1 from u1;
+ERROR HY000: Cannot revoke role 'r1' from: 'u1'@'%'.
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost root r1 Y
+grant r1 to u1;
+grant r1 to u1;
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+GRANT r1 TO 'u1'@'%'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+% u1 r1 N
+localhost root r1 Y
+drop role r1;
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+create role r1;
+grant r1 to u1;
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+% u1 r1 N
+localhost root r1 Y
+drop user u1;
+show grants for u1;
+ERROR 42000: There is no such grant defined for user 'u1' on host '%'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost root r1 Y
+drop role r1;
+drop user u2;
+create user foo@localhost;
+grant create user on *.* to foo@localhost;
+create role look, isp, xxx, ppp;
+rename user current_user to nnnn@'%';
+drop role look, isp, xxx, ppp;
+drop user nnnn@'%';
diff --git a/mysql-test/suite/roles/rebuild_role_grants.test b/mysql-test/suite/roles/rebuild_role_grants.test
new file mode 100644
index 00000000000..84dbdf78fb8
--- /dev/null
+++ b/mysql-test/suite/roles/rebuild_role_grants.test
@@ -0,0 +1,69 @@
+source include/not_embedded.inc;
+
+create role r1;
+create user u1;
+grant r1 to u1;
+
+#CHECK IF GRANTS ARE UPDATED ON GRANT
+--sorted_result
+show grants for u1;
+
+create user u2;
+
+#CHECK THAT GRANTS ARE UPDATED ON ACL_USERS CHANGE
+--sorted_result
+show grants for u1;
+--sorted_result
+show grants for u2;
+--sorted_result
+select * from mysql.roles_mapping;
+
+revoke r1 from u1;
+#TEST ERROR MESSAGE
+--error ER_CANNOT_REVOKE_ROLE
+revoke r1 from u1;
+--sorted_result
+show grants for u1;
+--sorted_result
+select * from mysql.roles_mapping;
+
+# granting twice is ok
+grant r1 to u1;
+grant r1 to u1;
+--sorted_result
+show grants for u1;
+--sorted_result
+select * from mysql.roles_mapping;
+
+drop role r1;
+--sorted_result
+show grants for u1;
+--sorted_result
+select * from mysql.roles_mapping;
+
+create role r1;
+grant r1 to u1;
+--sorted_result
+select * from mysql.roles_mapping;
+
+drop user u1;
+--error ER_NONEXISTING_GRANT
+show grants for u1;
+--sorted_result
+select * from mysql.roles_mapping;
+
+drop role r1;
+drop user u2;
+
+#
+# MDEV-8614 Assertion `status == 0' failed in add_role_user_mapping_action on RENAME USER
+#
+create user foo@localhost;
+grant create user on *.* to foo@localhost;
+--connect (con1, localhost, foo,,)
+create role look, isp, xxx, ppp;
+rename user current_user to nnnn@'%';
+drop role look, isp, xxx, ppp;
+connection default;
+disconnect con1;
+drop user nnnn@'%';
diff --git a/mysql-test/suite/roles/recursive.inc b/mysql-test/suite/roles/recursive.inc
new file mode 100644
index 00000000000..940a3c9e0db
--- /dev/null
+++ b/mysql-test/suite/roles/recursive.inc
@@ -0,0 +1,258 @@
+#
+# This file tests how privilege are propagated through a complex role graph.
+# Here's a graph
+#
+# role1 ->- role2 -->- role4 -->- role6 ->- role8
+# \ / \
+# \->- role5 ->-/ \->- role9 ->- role10 ->- foo@localhost
+# / \ /
+# role3 ->-/ \->- role7 ->-/
+#
+# privilege checks verify that grants/revokes are propagated correctly
+# from the role1 to role10. additionally debug status variables verify
+# that propagation doesn't do unnecessary work (only touches the
+# smallest possible number of nodes and doesn't merge privileges that
+# didn't change)
+#
+source include/not_embedded.inc;
+
+create user foo@localhost;
+create role role1;
+create role role2;
+create role role3;
+create role role4;
+create role role5;
+create role role6;
+create role role7;
+create role role8;
+create role role9;
+create role role10;
+
+grant role1 to role2;
+grant role2 to role4;
+grant role2 to role5;
+grant role3 to role5;
+grant role4 to role6;
+grant role5 to role6;
+grant role5 to role7;
+grant role6 to role8;
+grant role6 to role9;
+grant role7 to role9;
+grant role9 to role10;
+grant role10 to foo@localhost;
+
+# try to create a cycle
+--error ER_CANNOT_GRANT_ROLE
+grant role10 to role2;
+
+connect (foo, localhost, foo);
+--sorted_result
+show grants;
+--sorted_result
+select * from information_schema.applicable_roles;
+
+show status like 'debug%';
+
+#
+# global privileges
+#
+connection default;
+grant select on *.* to role1;
+show status like 'debug%';
+connection foo;
+--error ER_TABLEACCESS_DENIED_ERROR
+select count(*) from mysql.roles_mapping;
+set role role10;
+select count(*) from mysql.roles_mapping;
+--sorted_result
+show grants;
+--sorted_result
+select * from information_schema.enabled_roles;
+
+connection default;
+revoke select on *.* from role1;
+show status like 'debug%';
+connection foo;
+# global privileges are cached in the THD, changes don't take effect immediately
+select count(*) from mysql.roles_mapping;
+set role none;
+set role role10;
+--error ER_TABLEACCESS_DENIED_ERROR
+select count(*) from mysql.roles_mapping;
+set role none;
+
+#
+# database privileges
+#
+connection default;
+grant select on mysql.* to role1;
+show status like 'debug%';
+connection foo;
+--error ER_TABLEACCESS_DENIED_ERROR
+select count(*) from mysql.roles_mapping;
+set role role10;
+select count(*) from mysql.roles_mapping;
+--sorted_result
+show grants;
+
+connection default;
+revoke select on mysql.* from role1;
+show status like 'debug%';
+connection foo;
+--error ER_TABLEACCESS_DENIED_ERROR
+select count(*) from mysql.roles_mapping;
+set role none;
+
+#
+# table privileges
+#
+
+connection default;
+grant select on mysql.roles_mapping to role1;
+show status like 'debug%';
+connection foo;
+--error ER_TABLEACCESS_DENIED_ERROR
+select count(*) from mysql.roles_mapping;
+set role role10;
+select count(*) from mysql.roles_mapping;
+--sorted_result
+show grants;
+
+connection default;
+revoke select on mysql.roles_mapping from role1;
+show status like 'debug%';
+connection foo;
+--error ER_TABLEACCESS_DENIED_ERROR
+select count(*) from mysql.roles_mapping;
+set role none;
+
+#
+# column privileges
+#
+
+connection default;
+grant select(User) on mysql.roles_mapping to role1;
+show status like 'debug%';
+connection foo;
+--error ER_TABLEACCESS_DENIED_ERROR
+select count(*) from mysql.roles_mapping;
+set role role10;
+--error ER_COLUMNACCESS_DENIED_ERROR
+select count(concat(User,Host,Role)) from mysql.roles_mapping;
+select count(concat(User)) from mysql.roles_mapping;
+--sorted_result
+show grants;
+
+connection default;
+grant select(Host) on mysql.roles_mapping to role3;
+show status like 'debug%';
+connection foo;
+--error ER_COLUMNACCESS_DENIED_ERROR
+select count(concat(User,Host,Role)) from mysql.roles_mapping;
+select count(concat(User,Host)) from mysql.roles_mapping;
+--sorted_result
+show grants;
+
+connection default;
+revoke select(User) on mysql.roles_mapping from role1;
+show status like 'debug%';
+connection foo;
+--error ER_COLUMNACCESS_DENIED_ERROR
+select count(concat(User,Host)) from mysql.roles_mapping;
+select count(concat(Host)) from mysql.roles_mapping;
+
+connection default;
+revoke select(Host) on mysql.roles_mapping from role3;
+show status like 'debug%';
+connection foo;
+--error ER_TABLEACCESS_DENIED_ERROR
+select count(concat(Host)) from mysql.roles_mapping;
+set role none;
+
+#
+# routine privileges
+#
+
+connection default;
+create procedure pr1() select "pr1";
+create function fn1() returns char(10) return "fn1";
+grant execute on procedure test.pr1 to role1;
+show status like 'debug%';
+connection foo;
+--error ER_PROCACCESS_DENIED_ERROR
+call pr1();
+set role role10;
+call pr1();
+--error ER_PROCACCESS_DENIED_ERROR
+select fn1();
+
+connection default;
+grant execute on function test.fn1 to role5;
+show status like 'debug%';
+connection foo;
+select fn1();
+
+connection default;
+revoke execute on procedure test.pr1 from role1;
+show status like 'debug%';
+connection foo;
+--error ER_PROCACCESS_DENIED_ERROR
+call pr1();
+select fn1();
+
+connection default;
+revoke execute on function test.fn1 from role5;
+show status like 'debug%';
+connection foo;
+--error ER_PROCACCESS_DENIED_ERROR
+select fn1();
+set role none;
+
+connection default;
+drop procedure pr1;
+drop function fn1;
+
+#
+# test shortcuts
+#
+
+grant select on mysql.roles_mapping to role3;
+show status like 'debug%';
+# this grant only propagates to roles role2 and role4,
+# and tries to propagate to role5, discovering that it already has it
+grant select on mysql.roles_mapping to role1;
+show status like 'debug%';
+# this only tries to propagate to role5 and exits early
+revoke select on mysql.roles_mapping from role3;
+show status like 'debug%';
+# propagates to all 8 roles, normally
+revoke select on mysql.roles_mapping from role1;
+show status like 'debug%';
+
+grant select on mysql.* to role1;
+show status like 'debug%';
+# only entries for `test` are merged, not for `mysql`
+grant select on test.* to role1;
+show status like 'debug%';
+revoke select on mysql.* from role1;
+show status like 'debug%';
+revoke select on test.* from role1;
+show status like 'debug%';
+
+#
+# cleanup
+#
+
+connection default;
+drop user foo@localhost;
+drop role role1;
+drop role role2;
+drop role role3;
+drop role role4;
+drop role role5;
+drop role role6;
+drop role role7;
+drop role role8;
+drop role role9;
+drop role role10;
+
diff --git a/mysql-test/suite/roles/recursive.result b/mysql-test/suite/roles/recursive.result
new file mode 100644
index 00000000000..7abbd01240e
--- /dev/null
+++ b/mysql-test/suite/roles/recursive.result
@@ -0,0 +1,328 @@
+create user foo@localhost;
+create role role1;
+create role role2;
+create role role3;
+create role role4;
+create role role5;
+create role role6;
+create role role7;
+create role role8;
+create role role9;
+create role role10;
+grant role1 to role2;
+grant role2 to role4;
+grant role2 to role5;
+grant role3 to role5;
+grant role4 to role6;
+grant role5 to role6;
+grant role5 to role7;
+grant role6 to role8;
+grant role6 to role9;
+grant role7 to role9;
+grant role9 to role10;
+grant role10 to foo@localhost;
+grant role10 to role2;
+ERROR HY000: Cannot grant role 'role10' to: 'role2'.
+show grants;
+Grants for foo@localhost
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT role10 TO 'foo'@'localhost'
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+foo@localhost role10 NO NO
+role10 role9 NO NULL
+role2 role1 NO NULL
+role4 role2 NO NULL
+role5 role2 NO NULL
+role5 role3 NO NULL
+role6 role4 NO NULL
+role6 role5 NO NULL
+role7 role5 NO NULL
+role9 role6 NO NULL
+role9 role7 NO NULL
+show status like 'debug%';
+Variable_name Value
+grant select on *.* to role1;
+show status like 'debug%';
+Variable_name Value
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role role10;
+select count(*) from mysql.roles_mapping;
+count(*)
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+select * from information_schema.enabled_roles;
+ROLE_NAME
+role1
+role10
+role2
+role3
+role4
+role5
+role6
+role7
+role9
+revoke select on *.* from role1;
+show status like 'debug%';
+Variable_name Value
+select count(*) from mysql.roles_mapping;
+count(*)
+22
+set role none;
+set role role10;
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role none;
+grant select on mysql.* to role1;
+show status like 'debug%';
+Variable_name Value
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role role10;
+select count(*) from mysql.roles_mapping;
+count(*)
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT ON `mysql`.* TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+revoke select on mysql.* from role1;
+show status like 'debug%';
+Variable_name Value
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role none;
+grant select on mysql.roles_mapping to role1;
+show status like 'debug%';
+Variable_name Value
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role role10;
+select count(*) from mysql.roles_mapping;
+count(*)
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT ON `mysql`.`roles_mapping` TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+revoke select on mysql.roles_mapping from role1;
+show status like 'debug%';
+Variable_name Value
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role none;
+grant select(User) on mysql.roles_mapping to role1;
+show status like 'debug%';
+Variable_name Value
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role role10;
+select count(concat(User,Host,Role)) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for column 'Host' in table 'roles_mapping'
+select count(concat(User)) from mysql.roles_mapping;
+count(concat(User))
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT (User) ON `mysql`.`roles_mapping` TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+grant select(Host) on mysql.roles_mapping to role3;
+show status like 'debug%';
+Variable_name Value
+select count(concat(User,Host,Role)) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for column 'Role' in table 'roles_mapping'
+select count(concat(User,Host)) from mysql.roles_mapping;
+count(concat(User,Host))
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT (Host) ON `mysql`.`roles_mapping` TO 'role3'
+GRANT SELECT (User) ON `mysql`.`roles_mapping` TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+revoke select(User) on mysql.roles_mapping from role1;
+show status like 'debug%';
+Variable_name Value
+select count(concat(User,Host)) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for column 'User' in table 'roles_mapping'
+select count(concat(Host)) from mysql.roles_mapping;
+count(concat(Host))
+22
+revoke select(Host) on mysql.roles_mapping from role3;
+show status like 'debug%';
+Variable_name Value
+select count(concat(Host)) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role none;
+create procedure pr1() select "pr1";
+create function fn1() returns char(10) return "fn1";
+grant execute on procedure test.pr1 to role1;
+show status like 'debug%';
+Variable_name Value
+call pr1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test.pr1'
+set role role10;
+call pr1();
+pr1
+pr1
+select fn1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test.fn1'
+grant execute on function test.fn1 to role5;
+show status like 'debug%';
+Variable_name Value
+select fn1();
+fn1()
+fn1
+revoke execute on procedure test.pr1 from role1;
+show status like 'debug%';
+Variable_name Value
+call pr1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test.pr1'
+select fn1();
+fn1()
+fn1
+revoke execute on function test.fn1 from role5;
+show status like 'debug%';
+Variable_name Value
+select fn1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test.fn1'
+set role none;
+drop procedure pr1;
+drop function fn1;
+grant select on mysql.roles_mapping to role3;
+show status like 'debug%';
+Variable_name Value
+grant select on mysql.roles_mapping to role1;
+show status like 'debug%';
+Variable_name Value
+revoke select on mysql.roles_mapping from role3;
+show status like 'debug%';
+Variable_name Value
+revoke select on mysql.roles_mapping from role1;
+show status like 'debug%';
+Variable_name Value
+grant select on mysql.* to role1;
+show status like 'debug%';
+Variable_name Value
+grant select on test.* to role1;
+show status like 'debug%';
+Variable_name Value
+revoke select on mysql.* from role1;
+show status like 'debug%';
+Variable_name Value
+revoke select on test.* from role1;
+show status like 'debug%';
+Variable_name Value
+drop user foo@localhost;
+drop role role1;
+drop role role2;
+drop role role3;
+drop role role4;
+drop role role5;
+drop role role6;
+drop role role7;
+drop role role8;
+drop role role9;
+drop role role10;
diff --git a/mysql-test/suite/roles/recursive.test b/mysql-test/suite/roles/recursive.test
new file mode 100644
index 00000000000..0858f868d42
--- /dev/null
+++ b/mysql-test/suite/roles/recursive.test
@@ -0,0 +1,4 @@
+
+source include/not_debug.inc;
+source recursive.inc;
+
diff --git a/mysql-test/suite/roles/recursive_dbug.result b/mysql-test/suite/roles/recursive_dbug.result
new file mode 100644
index 00000000000..ea65a842eb0
--- /dev/null
+++ b/mysql-test/suite/roles/recursive_dbug.result
@@ -0,0 +1,448 @@
+show status like 'debug%';
+Variable_name Value
+set @old_dbug=@@global.debug_dbug;
+set global debug_dbug="+d,role_merge_stats";
+create user foo@localhost;
+create role role1;
+create role role2;
+create role role3;
+create role role4;
+create role role5;
+create role role6;
+create role role7;
+create role role8;
+create role role9;
+create role role10;
+grant role1 to role2;
+grant role2 to role4;
+grant role2 to role5;
+grant role3 to role5;
+grant role4 to role6;
+grant role5 to role6;
+grant role5 to role7;
+grant role6 to role8;
+grant role6 to role9;
+grant role7 to role9;
+grant role9 to role10;
+grant role10 to foo@localhost;
+grant role10 to role2;
+ERROR HY000: Cannot grant role 'role10' to: 'role2'.
+show grants;
+Grants for foo@localhost
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT role10 TO 'foo'@'localhost'
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+foo@localhost role10 NO NO
+role10 role9 NO NULL
+role2 role1 NO NULL
+role4 role2 NO NULL
+role5 role2 NO NULL
+role5 role3 NO NULL
+role6 role4 NO NULL
+role6 role5 NO NULL
+role7 role5 NO NULL
+role9 role6 NO NULL
+role9 role7 NO NULL
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 11
+Debug_role_merges_db 0
+Debug_role_merges_table 0
+Debug_role_merges_column 0
+Debug_role_merges_routine 0
+grant select on *.* to role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 19
+Debug_role_merges_db 0
+Debug_role_merges_table 0
+Debug_role_merges_column 0
+Debug_role_merges_routine 0
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role role10;
+select count(*) from mysql.roles_mapping;
+count(*)
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+select * from information_schema.enabled_roles;
+ROLE_NAME
+role1
+role10
+role2
+role3
+role4
+role5
+role6
+role7
+role9
+revoke select on *.* from role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 0
+Debug_role_merges_table 0
+Debug_role_merges_column 0
+Debug_role_merges_routine 0
+select count(*) from mysql.roles_mapping;
+count(*)
+22
+set role none;
+set role role10;
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role none;
+grant select on mysql.* to role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 8
+Debug_role_merges_table 0
+Debug_role_merges_column 0
+Debug_role_merges_routine 0
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role role10;
+select count(*) from mysql.roles_mapping;
+count(*)
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT ON `mysql`.* TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+revoke select on mysql.* from role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 0
+Debug_role_merges_column 0
+Debug_role_merges_routine 0
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role none;
+grant select on mysql.roles_mapping to role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 8
+Debug_role_merges_column 0
+Debug_role_merges_routine 0
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role role10;
+select count(*) from mysql.roles_mapping;
+count(*)
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT ON `mysql`.`roles_mapping` TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+revoke select on mysql.roles_mapping from role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 16
+Debug_role_merges_column 0
+Debug_role_merges_routine 0
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role none;
+grant select(User) on mysql.roles_mapping to role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 24
+Debug_role_merges_column 8
+Debug_role_merges_routine 0
+select count(*) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role role10;
+select count(concat(User,Host,Role)) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for column 'Host' in table 'roles_mapping'
+select count(concat(User)) from mysql.roles_mapping;
+count(concat(User))
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT (User) ON `mysql`.`roles_mapping` TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+grant select(Host) on mysql.roles_mapping to role3;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 30
+Debug_role_merges_column 14
+Debug_role_merges_routine 0
+select count(concat(User,Host,Role)) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for column 'Role' in table 'roles_mapping'
+select count(concat(User,Host)) from mysql.roles_mapping;
+count(concat(User,Host))
+22
+show grants;
+Grants for foo@localhost
+GRANT SELECT (Host) ON `mysql`.`roles_mapping` TO 'role3'
+GRANT SELECT (User) ON `mysql`.`roles_mapping` TO 'role1'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role10'
+GRANT USAGE ON *.* TO 'role2'
+GRANT USAGE ON *.* TO 'role3'
+GRANT USAGE ON *.* TO 'role4'
+GRANT USAGE ON *.* TO 'role5'
+GRANT USAGE ON *.* TO 'role6'
+GRANT USAGE ON *.* TO 'role7'
+GRANT USAGE ON *.* TO 'role9'
+GRANT role1 TO 'role2'
+GRANT role10 TO 'foo'@'localhost'
+GRANT role2 TO 'role4'
+GRANT role2 TO 'role5'
+GRANT role3 TO 'role5'
+GRANT role4 TO 'role6'
+GRANT role5 TO 'role6'
+GRANT role5 TO 'role7'
+GRANT role6 TO 'role9'
+GRANT role7 TO 'role9'
+GRANT role9 TO 'role10'
+revoke select(User) on mysql.roles_mapping from role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 38
+Debug_role_merges_column 22
+Debug_role_merges_routine 0
+select count(concat(User,Host)) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for column 'User' in table 'roles_mapping'
+select count(concat(Host)) from mysql.roles_mapping;
+count(concat(Host))
+22
+revoke select(Host) on mysql.roles_mapping from role3;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 44
+Debug_role_merges_column 28
+Debug_role_merges_routine 0
+select count(concat(Host)) from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+set role none;
+create procedure pr1() select "pr1";
+create function fn1() returns char(10) return "fn1";
+grant execute on procedure test.pr1 to role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 44
+Debug_role_merges_column 28
+Debug_role_merges_routine 8
+call pr1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test.pr1'
+set role role10;
+call pr1();
+pr1
+pr1
+select fn1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test.fn1'
+grant execute on function test.fn1 to role5;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 44
+Debug_role_merges_column 28
+Debug_role_merges_routine 13
+select fn1();
+fn1()
+fn1
+revoke execute on procedure test.pr1 from role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 44
+Debug_role_merges_column 28
+Debug_role_merges_routine 21
+call pr1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test.pr1'
+select fn1();
+fn1()
+fn1
+revoke execute on function test.fn1 from role5;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 44
+Debug_role_merges_column 28
+Debug_role_merges_routine 26
+select fn1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'test.fn1'
+set role none;
+drop procedure pr1;
+drop function fn1;
+grant select on mysql.roles_mapping to role3;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 50
+Debug_role_merges_column 28
+Debug_role_merges_routine 26
+grant select on mysql.roles_mapping to role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 53
+Debug_role_merges_column 28
+Debug_role_merges_routine 26
+revoke select on mysql.roles_mapping from role3;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 54
+Debug_role_merges_column 28
+Debug_role_merges_routine 26
+revoke select on mysql.roles_mapping from role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 16
+Debug_role_merges_table 62
+Debug_role_merges_column 28
+Debug_role_merges_routine 26
+grant select on mysql.* to role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 24
+Debug_role_merges_table 62
+Debug_role_merges_column 28
+Debug_role_merges_routine 26
+grant select on test.* to role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 32
+Debug_role_merges_table 62
+Debug_role_merges_column 28
+Debug_role_merges_routine 26
+revoke select on mysql.* from role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 40
+Debug_role_merges_table 62
+Debug_role_merges_column 28
+Debug_role_merges_routine 26
+revoke select on test.* from role1;
+show status like 'debug%';
+Variable_name Value
+Debug_role_merges_global 27
+Debug_role_merges_db 48
+Debug_role_merges_table 62
+Debug_role_merges_column 28
+Debug_role_merges_routine 26
+drop user foo@localhost;
+drop role role1;
+drop role role2;
+drop role role3;
+drop role role4;
+drop role role5;
+drop role role6;
+drop role role7;
+drop role role8;
+drop role role9;
+drop role role10;
+set global debug_dbug=@old_dbug;
diff --git a/mysql-test/suite/roles/recursive_dbug.test b/mysql-test/suite/roles/recursive_dbug.test
new file mode 100644
index 00000000000..811695994e0
--- /dev/null
+++ b/mysql-test/suite/roles/recursive_dbug.test
@@ -0,0 +1,14 @@
+#
+# run acl_roles_recursive and count the number of merges
+#
+source include/have_debug.inc;
+
+show status like 'debug%';
+
+set @old_dbug=@@global.debug_dbug;
+set global debug_dbug="+d,role_merge_stats";
+
+source recursive.inc;
+
+set global debug_dbug=@old_dbug;
+
diff --git a/mysql-test/suite/roles/rename_user.result b/mysql-test/suite/roles/rename_user.result
new file mode 100644
index 00000000000..987d90a5820
--- /dev/null
+++ b/mysql-test/suite/roles/rename_user.result
@@ -0,0 +1,27 @@
+create user test_user@localhost;
+create role test_role1;
+grant test_role1 to test_user@localhost;
+create role test_role2;
+grant test_role2 to test_role1;
+use mysql;
+select * from roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+localhost test_user test_role1 N
+rename user 'test_user'@'localhost' to 'test_user_rm'@'newhost';
+select user, host from user where user like 'test%';
+user host
+test_role1
+test_role2
+test_user_rm newhost
+select * from roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+newhost test_user_rm test_role1 N
+delete from mysql.roles_mapping;
+delete from mysql.user where user like 'test%';
+flush privileges;
diff --git a/mysql-test/suite/roles/rename_user.test b/mysql-test/suite/roles/rename_user.test
new file mode 100644
index 00000000000..45429b76666
--- /dev/null
+++ b/mysql-test/suite/roles/rename_user.test
@@ -0,0 +1,38 @@
+source include/not_embedded.inc;
+
+#create a user with no privileges
+create user test_user@localhost;
+create role test_role1;
+grant test_role1 to test_user@localhost;
+create role test_role2;
+grant test_role2 to test_role1;
+
+use mysql;
+--sorted_result
+select * from roles_mapping;
+
+#regular user rename
+rename user 'test_user'@'localhost' to 'test_user_rm'@'newhost';
+--sorted_result
+select user, host from user where user like 'test%';
+--sorted_result
+select * from roles_mapping;
+
+######### role rename does not work yet
+#rename user 'test_role2'@'' to 'test_role2_rm'@'';
+#--sorted_result
+#select user, host from user where user like 'test%';
+#--sorted_result
+#select * from roles_mapping;
+#
+##role rename
+#rename user 'test_role1'@'' to 'test_role1_rm'@'';
+#--sorted_result
+#select user, host from user where user like 'test%';
+#--sorted_result
+#select * from roles_mapping;
+
+delete from mysql.roles_mapping;
+delete from mysql.user where user like 'test%';
+flush privileges;
+
diff --git a/mysql-test/suite/roles/revoke_all.result b/mysql-test/suite/roles/revoke_all.result
new file mode 100644
index 00000000000..7e72b5bc766
--- /dev/null
+++ b/mysql-test/suite/roles/revoke_all.result
@@ -0,0 +1,183 @@
+create role r1;
+create role r2;
+create role r3;
+create role r4;
+create user u1;
+grant r2 to r1;
+grant r3 to r2;
+grant r4 to r3;
+grant r1 to u1;
+grant r4 to r1;
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+GRANT r1 TO 'u1'@'%'
+show grants for r1;
+Grants for r1
+GRANT USAGE ON *.* TO 'r1'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT USAGE ON *.* TO 'r4'
+GRANT r2 TO 'r1'
+GRANT r3 TO 'r2'
+GRANT r4 TO 'r1'
+GRANT r4 TO 'r3'
+grant SELECT on *.* to u1;
+grant INSERT on mysql.* to r1;
+grant DELETE on mysql.roles_mapping to r2;
+grant UPDATE on mysql.user to r3;
+create function mysql.test_func (s CHAR(20))
+returns CHAR(50) DETERMINISTIC
+return concat('Test string: ',s);
+create procedure mysql.test_proc (OUT param1 INT)
+begin
+select COUNT(*) into param1 from mysql.roles_mapping;
+end|
+grant execute on function mysql.test_func to r2;
+grant execute on procedure mysql.test_proc to r3;
+grant execute on mysql.* to r4;
+show grants for r1;
+Grants for r1
+GRANT DELETE ON `mysql`.`roles_mapping` TO 'r2'
+GRANT EXECUTE ON FUNCTION `mysql`.`test_func` TO 'r2'
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'r3'
+GRANT EXECUTE ON `mysql`.* TO 'r4'
+GRANT INSERT ON `mysql`.* TO 'r1'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r1'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT USAGE ON *.* TO 'r4'
+GRANT r2 TO 'r1'
+GRANT r3 TO 'r2'
+GRANT r4 TO 'r1'
+GRANT r4 TO 'r3'
+show grants for r2;
+Grants for r2
+GRANT DELETE ON `mysql`.`roles_mapping` TO 'r2'
+GRANT EXECUTE ON FUNCTION `mysql`.`test_func` TO 'r2'
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'r3'
+GRANT EXECUTE ON `mysql`.* TO 'r4'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT USAGE ON *.* TO 'r4'
+GRANT r3 TO 'r2'
+GRANT r4 TO 'r3'
+show grants for r3;
+Grants for r3
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'r3'
+GRANT EXECUTE ON `mysql`.* TO 'r4'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r3'
+GRANT USAGE ON *.* TO 'r4'
+GRANT r4 TO 'r3'
+show grants for r4;
+Grants for r4
+GRANT EXECUTE ON `mysql`.* TO 'r4'
+GRANT USAGE ON *.* TO 'r4'
+revoke all privileges, grant option from r4;
+show grants for r1;
+Grants for r1
+GRANT DELETE ON `mysql`.`roles_mapping` TO 'r2'
+GRANT EXECUTE ON FUNCTION `mysql`.`test_func` TO 'r2'
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'r3'
+GRANT INSERT ON `mysql`.* TO 'r1'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r1'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT USAGE ON *.* TO 'r4'
+GRANT r2 TO 'r1'
+GRANT r3 TO 'r2'
+GRANT r4 TO 'r1'
+GRANT r4 TO 'r3'
+show grants for r2;
+Grants for r2
+GRANT DELETE ON `mysql`.`roles_mapping` TO 'r2'
+GRANT EXECUTE ON FUNCTION `mysql`.`test_func` TO 'r2'
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'r3'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT USAGE ON *.* TO 'r4'
+GRANT r3 TO 'r2'
+GRANT r4 TO 'r3'
+show grants for r3;
+Grants for r3
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'r3'
+GRANT UPDATE ON `mysql`.`user` TO 'r3'
+GRANT USAGE ON *.* TO 'r3'
+GRANT USAGE ON *.* TO 'r4'
+GRANT r4 TO 'r3'
+show grants for r4;
+Grants for r4
+GRANT USAGE ON *.* TO 'r4'
+revoke all privileges, grant option from r3;
+show grants for r1;
+Grants for r1
+GRANT DELETE ON `mysql`.`roles_mapping` TO 'r2'
+GRANT EXECUTE ON FUNCTION `mysql`.`test_func` TO 'r2'
+GRANT INSERT ON `mysql`.* TO 'r1'
+GRANT USAGE ON *.* TO 'r1'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT USAGE ON *.* TO 'r4'
+GRANT r2 TO 'r1'
+GRANT r3 TO 'r2'
+GRANT r4 TO 'r1'
+show grants for r2;
+Grants for r2
+GRANT DELETE ON `mysql`.`roles_mapping` TO 'r2'
+GRANT EXECUTE ON FUNCTION `mysql`.`test_func` TO 'r2'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r3'
+GRANT r3 TO 'r2'
+show grants for r3;
+Grants for r3
+GRANT USAGE ON *.* TO 'r3'
+show grants for r4;
+Grants for r4
+GRANT USAGE ON *.* TO 'r4'
+revoke all privileges, grant option from r2;
+show grants for r1;
+Grants for r1
+GRANT INSERT ON `mysql`.* TO 'r1'
+GRANT USAGE ON *.* TO 'r1'
+GRANT USAGE ON *.* TO 'r2'
+GRANT USAGE ON *.* TO 'r4'
+GRANT r2 TO 'r1'
+GRANT r4 TO 'r1'
+show grants for r2;
+Grants for r2
+GRANT USAGE ON *.* TO 'r2'
+show grants for r3;
+Grants for r3
+GRANT USAGE ON *.* TO 'r3'
+show grants for r4;
+Grants for r4
+GRANT USAGE ON *.* TO 'r4'
+revoke all privileges, grant option from r1;
+show grants for r1;
+Grants for r1
+GRANT USAGE ON *.* TO 'r1'
+show grants for r2;
+Grants for r2
+GRANT USAGE ON *.* TO 'r2'
+show grants for r3;
+Grants for r3
+GRANT USAGE ON *.* TO 'r3'
+show grants for r4;
+Grants for r4
+GRANT USAGE ON *.* TO 'r4'
+revoke all privileges, grant option from u1;
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+drop function mysql.test_func;
+drop procedure mysql.test_proc;
+show grants for r1;
+Grants for r1
+GRANT USAGE ON *.* TO 'r1'
+drop role r1, r2, r3, r4;
+drop user u1;
diff --git a/mysql-test/suite/roles/revoke_all.test b/mysql-test/suite/roles/revoke_all.test
new file mode 100644
index 00000000000..a3dee981c40
--- /dev/null
+++ b/mysql-test/suite/roles/revoke_all.test
@@ -0,0 +1,103 @@
+source include/not_embedded.inc;
+
+create role r1;
+create role r2;
+create role r3;
+create role r4;
+create user u1;
+
+#CREATE A CHAIN OF ROLES
+grant r2 to r1;
+grant r3 to r2;
+grant r4 to r3;
+grant r1 to u1;
+grant r4 to r1;
+
+--sorted_result
+show grants for u1;
+--sorted_result
+show grants for r1;
+
+grant SELECT on *.* to u1;
+grant INSERT on mysql.* to r1;
+grant DELETE on mysql.roles_mapping to r2;
+grant UPDATE on mysql.user to r3;
+
+create function mysql.test_func (s CHAR(20))
+returns CHAR(50) DETERMINISTIC
+return concat('Test string: ',s);
+
+
+delimiter |;
+create procedure mysql.test_proc (OUT param1 INT)
+begin
+ select COUNT(*) into param1 from mysql.roles_mapping;
+end|
+delimiter ;|
+
+grant execute on function mysql.test_func to r2;
+grant execute on procedure mysql.test_proc to r3;
+grant execute on mysql.* to r4;
+
+--sorted_result
+show grants for r1;
+--sorted_result
+show grants for r2;
+--sorted_result
+show grants for r3;
+--sorted_result
+show grants for r4;
+
+revoke all privileges, grant option from r4;
+
+--sorted_result
+show grants for r1;
+--sorted_result
+show grants for r2;
+--sorted_result
+show grants for r3;
+--sorted_result
+show grants for r4;
+
+revoke all privileges, grant option from r3;
+--sorted_result
+show grants for r1;
+--sorted_result
+show grants for r2;
+--sorted_result
+show grants for r3;
+--sorted_result
+show grants for r4;
+
+revoke all privileges, grant option from r2;
+--sorted_result
+show grants for r1;
+--sorted_result
+show grants for r2;
+--sorted_result
+show grants for r3;
+--sorted_result
+show grants for r4;
+
+revoke all privileges, grant option from r1;
+--sorted_result
+show grants for r1;
+--sorted_result
+show grants for r2;
+--sorted_result
+show grants for r3;
+--sorted_result
+show grants for r4;
+
+revoke all privileges, grant option from u1;
+
+show grants for u1;
+
+drop function mysql.test_func;
+drop procedure mysql.test_proc;
+
+--sorted_result
+show grants for r1;
+
+drop role r1, r2, r3, r4;
+drop user u1;
diff --git a/mysql-test/suite/roles/role_case_sensitive-10744.result b/mysql-test/suite/roles/role_case_sensitive-10744.result
new file mode 100644
index 00000000000..e9b498eff26
--- /dev/null
+++ b/mysql-test/suite/roles/role_case_sensitive-10744.result
@@ -0,0 +1,58 @@
+#
+# MDEV-10744 Roles are not fully case-sensitive
+#
+#
+# Test creating two case-different roles.
+#
+create user test_user@'%';
+create role test_ROLE;
+create role test_role;
+#
+# Test if mysql.user has the roles created.
+#
+select user, host from mysql.user where is_role='y' and user like 'test%';
+user host
+test_ROLE
+test_role
+create database secret_db;
+create table secret_db.t1 (secret varchar(100));
+insert into secret_db.t1 values ("Some Secret P4ssw0rd");
+grant select on secret_db.* to test_role;
+grant test_role to test_user;
+show grants for test_user;
+Grants for test_user@%
+GRANT test_role TO 'test_user'@'%'
+GRANT USAGE ON *.* TO 'test_user'@'%'
+#
+# Now test the UPPER case role.
+#
+grant test_ROLE to test_user;
+grant insert on secret_db.t1 to test_ROLE;
+show grants for test_user;
+Grants for test_user@%
+GRANT test_role TO 'test_user'@'%'
+GRANT test_ROLE TO 'test_user'@'%'
+GRANT USAGE ON *.* TO 'test_user'@'%'
+#
+# Test users privileges when interacting with those roles;
+#
+show tables from secret_db;
+ERROR 42000: Access denied for user 'test_user'@'%' to database 'secret_db'
+set role test_ROLE;
+show tables from secret_db;
+Tables_in_secret_db
+t1
+select * from secret_db.t1;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 't1'
+insert into secret_db.t1 values ("|-|4><");
+set role test_role;
+select * from secret_db.t1 order by secret;
+secret
+Some Secret P4ssw0rd
+|-|4><
+insert into secret_db.t1 values ("|_33T|-|4><");
+ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 't1'
+drop role test_ROLE;
+drop role test_role;
+drop user test_user;
+drop database secret_db;
diff --git a/mysql-test/suite/roles/role_case_sensitive-10744.test b/mysql-test/suite/roles/role_case_sensitive-10744.test
new file mode 100644
index 00000000000..281d61bce00
--- /dev/null
+++ b/mysql-test/suite/roles/role_case_sensitive-10744.test
@@ -0,0 +1,54 @@
+--source include/not_embedded.inc
+--echo #
+--echo # MDEV-10744 Roles are not fully case-sensitive
+--echo #
+
+--echo #
+--echo # Test creating two case-different roles.
+--echo #
+create user test_user@'%';
+create role test_ROLE;
+create role test_role;
+--echo #
+--echo # Test if mysql.user has the roles created.
+--echo #
+--sorted_result
+select user, host from mysql.user where is_role='y' and user like 'test%';
+
+create database secret_db;
+create table secret_db.t1 (secret varchar(100));
+insert into secret_db.t1 values ("Some Secret P4ssw0rd");
+
+grant select on secret_db.* to test_role;
+grant test_role to test_user;
+show grants for test_user;
+--echo #
+--echo # Now test the UPPER case role.
+--echo #
+grant test_ROLE to test_user;
+grant insert on secret_db.t1 to test_ROLE;
+show grants for test_user;
+connect (test_user,localhost,test_user);
+
+--echo #
+--echo # Test users privileges when interacting with those roles;
+--echo #
+--error ER_DBACCESS_DENIED_ERROR
+show tables from secret_db;
+set role test_ROLE;
+show tables from secret_db;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from secret_db.t1;
+insert into secret_db.t1 values ("|-|4><");
+set role test_role;
+select * from secret_db.t1 order by secret;
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into secret_db.t1 values ("|_33T|-|4><");
+
+connection default;
+
+
+drop role test_ROLE;
+drop role test_role;
+drop user test_user;
+drop database secret_db;
diff --git a/mysql-test/suite/roles/rpl_definer.result b/mysql-test/suite/roles/rpl_definer.result
new file mode 100644
index 00000000000..c9e4f66a267
--- /dev/null
+++ b/mysql-test/suite/roles/rpl_definer.result
@@ -0,0 +1,72 @@
+include/master-slave.inc
+[connection master]
+create role role1;
+create role role2;
+grant execute on test.* to role2;
+grant role2 to role1;
+set role role1;
+show grants;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT EXECUTE ON `test`.* TO 'role2'
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role2'
+GRANT role1 TO 'root'@'localhost' WITH ADMIN OPTION
+GRANT role2 TO 'role1'
+GRANT role2 TO 'root'@'localhost' WITH ADMIN OPTION
+create definer=current_user procedure pcu() select current_user;
+create definer=root@localhost procedure pu() select "root@localhost";
+create definer=current_role procedure pcr() select current_role;
+create definer=role1 procedure pr() select "role1";
+show create procedure pcu;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pcu NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `pcu`()
+select current_user latin1 latin1_swedish_ci latin1_swedish_ci
+show create procedure pu;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pu NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `pu`()
+select "root@localhost" latin1 latin1_swedish_ci latin1_swedish_ci
+show create procedure pcr;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pcr NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role1` PROCEDURE `pcr`()
+select current_role latin1 latin1_swedish_ci latin1_swedish_ci
+show create procedure pr;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pr NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role1` PROCEDURE `pr`()
+select "role1" latin1 latin1_swedish_ci latin1_swedish_ci
+[connection slave]
+set role role1;
+show grants;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT EXECUTE ON `test`.* TO 'role2'
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT USAGE ON *.* TO 'role1'
+GRANT USAGE ON *.* TO 'role2'
+GRANT role1 TO 'root'@'localhost' WITH ADMIN OPTION
+GRANT role2 TO 'role1'
+GRANT role2 TO 'root'@'localhost' WITH ADMIN OPTION
+show create procedure pcu;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pcu NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `pcu`()
+select current_user latin1 latin1_swedish_ci latin1_swedish_ci
+show create procedure pu;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pu NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `pu`()
+select "root@localhost" latin1 latin1_swedish_ci latin1_swedish_ci
+show create procedure pcr;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pcr NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role1` PROCEDURE `pcr`()
+select current_role latin1 latin1_swedish_ci latin1_swedish_ci
+show create procedure pr;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+pr NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`role1` PROCEDURE `pr`()
+select "role1" latin1 latin1_swedish_ci latin1_swedish_ci
+drop procedure pcu;
+drop procedure pu;
+drop procedure pcr;
+drop procedure pr;
+drop role role1;
+drop role role2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/roles/rpl_definer.test b/mysql-test/suite/roles/rpl_definer.test
new file mode 100644
index 00000000000..86d69de86aa
--- /dev/null
+++ b/mysql-test/suite/roles/rpl_definer.test
@@ -0,0 +1,48 @@
+#
+# replication of the DEFINER=current_role
+#
+
+--source include/master-slave.inc
+
+create role role1;
+create role role2;
+grant execute on test.* to role2;
+grant role2 to role1;
+set role role1;
+--sorted_result
+show grants;
+
+create definer=current_user procedure pcu() select current_user;
+create definer=root@localhost procedure pu() select "root@localhost";
+create definer=current_role procedure pcr() select current_role;
+create definer=role1 procedure pr() select "role1";
+
+show create procedure pcu;
+show create procedure pu;
+show create procedure pcr;
+show create procedure pr;
+
+sync_slave_with_master;
+connection slave;
+echo [connection slave];
+
+set role role1;
+--sorted_result
+show grants;
+
+show create procedure pcu;
+show create procedure pu;
+show create procedure pcr;
+show create procedure pr;
+
+connection master;
+
+drop procedure pcu;
+drop procedure pu;
+drop procedure pcr;
+drop procedure pr;
+drop role role1;
+drop role role2;
+
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/roles/rpl_grant_revoke_current_role-8638.result b/mysql-test/suite/roles/rpl_grant_revoke_current_role-8638.result
new file mode 100644
index 00000000000..67af4a068d6
--- /dev/null
+++ b/mysql-test/suite/roles/rpl_grant_revoke_current_role-8638.result
@@ -0,0 +1,21 @@
+include/master-slave.inc
+[connection master]
+create role r1;
+set role r1;
+grant select on db.* to current_role;
+revoke all privileges, grant option from current_role;
+drop role r1;
+include/rpl_end.inc
+connection server_2;
+connection server_2;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_1;
+connection server_1;
+connection server_2;
+connection server_1;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_1;
diff --git a/mysql-test/suite/roles/rpl_grant_revoke_current_role-8638.test b/mysql-test/suite/roles/rpl_grant_revoke_current_role-8638.test
new file mode 100644
index 00000000000..10e5e938884
--- /dev/null
+++ b/mysql-test/suite/roles/rpl_grant_revoke_current_role-8638.test
@@ -0,0 +1,12 @@
+--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
+
+--enable_connect_log
+
+create role r1;
+set role r1;
+grant select on db.* to current_role;
+revoke all privileges, grant option from current_role;
+drop role r1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/roles/set_and_drop.result b/mysql-test/suite/roles/set_and_drop.result
new file mode 100644
index 00000000000..1814c19cc97
--- /dev/null
+++ b/mysql-test/suite/roles/set_and_drop.result
@@ -0,0 +1,117 @@
+create database mysqltest1;
+create table mysqltest1.t1 (a int, b int);
+create table mysqltest1.t2 (a int, b int);
+insert mysqltest1.t1 values (1,2),(3,4);
+insert mysqltest1.t2 values (5,6),(7,8);
+create procedure mysqltest1.pr1() select "pr1";
+create user foo@localhost;
+create role role1;
+create role role2;
+grant role2 to role1;
+grant role1 to foo@localhost;
+grant reload on *.* to role2;
+grant select on mysql.* to role2;
+grant execute on procedure mysqltest1.pr1 to role2;
+grant select on mysqltest1.t1 to role2;
+grant select (a) on mysqltest1.t2 to role2;
+flush tables;
+ERROR 42000: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+show tables from mysqltest1;
+ERROR 42000: Access denied for user 'foo'@'localhost' to database 'mysqltest1'
+set role role1;
+flush tables;
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ role1 role2 N
+localhost foo role1 N
+localhost root role1 Y
+localhost root role2 Y
+show tables from mysqltest1;
+Tables_in_mysqltest1
+t1
+t2
+select * from mysqltest1.t1;
+a b
+1 2
+3 4
+select * from mysqltest1.t2;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't2'
+select a from mysqltest1.t2;
+a
+5
+7
+call mysqltest1.pr1();
+pr1
+pr1
+revoke execute on procedure mysqltest1.pr1 from role2;
+call mysqltest1.pr1();
+ERROR 42000: execute command denied to user 'foo'@'localhost' for routine 'mysqltest1.pr1'
+drop role role2;
+show grants;
+Grants for foo@localhost
+GRANT role1 TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+GRANT USAGE ON *.* TO 'role1'
+select * from information_schema.enabled_roles;
+ROLE_NAME
+role1
+flush tables;
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+select * from mysqltest1.t1;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't1'
+select a from mysqltest1.t2;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't2'
+set role none;
+grant reload on *.* to role1;
+grant select on mysql.* to role1;
+grant execute on procedure mysqltest1.pr1 to role1;
+grant select on mysqltest1.t1 to role1;
+grant select (a) on mysqltest1.t2 to role1;
+set role role1;
+flush tables;
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost foo role1 N
+localhost root role1 Y
+show tables from mysqltest1;
+Tables_in_mysqltest1
+t1
+t2
+select * from mysqltest1.t1;
+a b
+1 2
+3 4
+select * from mysqltest1.t2;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't2'
+select a from mysqltest1.t2;
+a
+5
+7
+call mysqltest1.pr1();
+pr1
+pr1
+drop role role1;
+flush tables;
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'roles_mapping'
+select * from mysqltest1.t1;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't1'
+select a from mysqltest1.t2;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 't2'
+show grants;
+Grants for foo@localhost
+GRANT USAGE ON *.* TO 'foo'@'localhost'
+select * from information_schema.enabled_roles;
+ROLE_NAME
+NULL
+select * from information_schema.enabled_roles;
+ROLE_NAME
+NULL
+select current_role();
+current_role()
+role1
+drop user foo@localhost;
+drop database mysqltest1;
diff --git a/mysql-test/suite/roles/set_and_drop.test b/mysql-test/suite/roles/set_and_drop.test
new file mode 100644
index 00000000000..852e79fd109
--- /dev/null
+++ b/mysql-test/suite/roles/set_and_drop.test
@@ -0,0 +1,113 @@
+--source include/not_embedded.inc
+#
+# test setting and dropping a role
+#
+
+create database mysqltest1;
+create table mysqltest1.t1 (a int, b int);
+create table mysqltest1.t2 (a int, b int);
+insert mysqltest1.t1 values (1,2),(3,4);
+insert mysqltest1.t2 values (5,6),(7,8);
+
+create procedure mysqltest1.pr1() select "pr1";
+
+create user foo@localhost;
+create role role1;
+create role role2;
+
+grant role2 to role1;
+grant role1 to foo@localhost;
+grant reload on *.* to role2;
+grant select on mysql.* to role2;
+grant execute on procedure mysqltest1.pr1 to role2;
+grant select on mysqltest1.t1 to role2;
+grant select (a) on mysqltest1.t2 to role2;
+
+connect (foo,localhost,foo);
+
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+flush tables;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+--error ER_DBACCESS_DENIED_ERROR
+show tables from mysqltest1;
+
+set role role1;
+
+flush tables;
+--sorted_result
+select * from mysql.roles_mapping;
+show tables from mysqltest1;
+select * from mysqltest1.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysqltest1.t2;
+select a from mysqltest1.t2;
+call mysqltest1.pr1();
+
+connection default;
+revoke execute on procedure mysqltest1.pr1 from role2;
+connection foo;
+
+--error ER_PROCACCESS_DENIED_ERROR
+call mysqltest1.pr1();
+
+connection default;
+drop role role2;
+connection foo;
+
+show grants;
+select * from information_schema.enabled_roles;
+
+flush tables;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysqltest1.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select a from mysqltest1.t2;
+
+set role none;
+
+connection default;
+
+grant reload on *.* to role1;
+grant select on mysql.* to role1;
+grant execute on procedure mysqltest1.pr1 to role1;
+grant select on mysqltest1.t1 to role1;
+grant select (a) on mysqltest1.t2 to role1;
+
+connection foo;
+set role role1;
+
+flush tables;
+--sorted_result
+select * from mysql.roles_mapping;
+show tables from mysqltest1;
+select * from mysqltest1.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysqltest1.t2;
+select a from mysqltest1.t2;
+call mysqltest1.pr1();
+
+connection default;
+drop role role1;
+connection foo;
+
+flush tables;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysqltest1.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select a from mysqltest1.t2;
+
+show grants;
+select * from information_schema.enabled_roles;
+select * from information_schema.enabled_roles; # yes, repeat it twice
+select current_role();
+
+disconnect foo;
+connection default;
+
+drop user foo@localhost;
+drop database mysqltest1;
diff --git a/mysql-test/suite/roles/set_default_role_clear.result b/mysql-test/suite/roles/set_default_role_clear.result
new file mode 100644
index 00000000000..382d3d27c70
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_clear.result
@@ -0,0 +1,35 @@
+create user test_user@localhost;
+create role test_role;
+grant select on *.* to test_role;
+grant test_role to test_user@localhost;
+show grants;
+Grants for test_user@localhost
+GRANT test_role TO 'test_user'@'localhost'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+set default role test_role;
+select user, host, default_role from mysql.user;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
+select user, host, default_role from mysql.user where user='test_user';
+user host default_role
+test_user localhost test_role
+show grants;
+Grants for test_user@localhost
+GRANT test_role TO 'test_user'@'localhost'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT SELECT ON *.* TO 'test_role'
+select user, host, default_role from mysql.user where user='test_user';
+user host default_role
+test_user localhost test_role
+set default role NONE;
+select user, host, default_role from mysql.user where user='test_user';
+user host default_role
+test_user localhost
+set default role invalid_role;
+ERROR OP000: Invalid role specification `invalid_role`.
+select user, host, default_role from mysql.user where user='test_user';
+user host default_role
+test_user localhost
+select user, host, default_role from mysql.user;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
+drop role test_role;
+drop user test_user@localhost;
diff --git a/mysql-test/suite/roles/set_default_role_clear.test b/mysql-test/suite/roles/set_default_role_clear.test
new file mode 100644
index 00000000000..32c9661c573
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_clear.test
@@ -0,0 +1,52 @@
+source include/not_embedded.inc;
+
+# This test checks clearing a default role from a user.
+
+# Create a user with no privileges
+create user test_user@localhost;
+
+create role test_role;
+
+grant select on *.* to test_role;
+grant test_role to test_user@localhost;
+
+change_user 'test_user';
+show grants;
+set default role test_role;
+
+# Even though a user has the default role set, without reconnecting, we should
+# not already have the roles privileges.
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user;
+
+change_user 'root';
+select user, host, default_role from mysql.user where user='test_user';
+
+change_user 'test_user';
+# This should show that the new test_user has the role's grants enabled.
+show grants;
+select user, host, default_role from mysql.user where user='test_user';
+
+set default role NONE;
+
+# We should still have the role set right now.
+select user, host, default_role from mysql.user where user='test_user';
+
+# Make sure we do not somehow get privileges to set an invalid role
+--error ER_INVALID_ROLE
+set default role invalid_role;
+
+change_user 'root';
+select user, host, default_role from mysql.user where user='test_user';
+
+change_user 'test_user';
+# The user does not have a default role set anymore. Make sure we don't still
+# get the privileges.
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user;
+
+change_user 'root';
+
+# Cleanup
+drop role test_role;
+drop user test_user@localhost;
diff --git a/mysql-test/suite/roles/set_default_role_for.result b/mysql-test/suite/roles/set_default_role_for.result
new file mode 100644
index 00000000000..7289319a428
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_for.result
@@ -0,0 +1,65 @@
+create user user_a@localhost;
+create user user_b@localhost;
+create role role_a;
+create role role_b;
+grant role_a to user_a@localhost;
+grant role_b to user_b@localhost;
+grant role_a to user_a@localhost;
+grant select on *.* to role_a;
+grant role_b to user_b@localhost;
+grant insert, update on *.* to role_b;
+set default role role_a for user_b@localhost;
+ERROR 42000: Access denied for user 'user_a'@'localhost' to database 'mysql'
+set default role role_a for user_a@localhost;
+set default role invalid_role for user_a@localhost;
+ERROR OP000: Invalid role specification `invalid_role`.
+set default role role_b for user_a@localhost;
+ERROR OP000: Invalid role specification `role_b`.
+set default role role_b for user_b@localhost;
+show grants;
+Grants for user_a@localhost
+GRANT role_a TO 'user_a'@'localhost'
+GRANT USAGE ON *.* TO 'user_a'@'localhost'
+GRANT SELECT ON *.* TO 'role_a'
+select user, host, default_role from mysql.user where user like 'user_%';
+user host default_role
+user_a localhost role_a
+user_b localhost role_b
+set default role NONE for current_user;
+select user, host, default_role from mysql.user where user like 'user_%';
+user host default_role
+user_a localhost
+user_b localhost role_b
+set default role current_role for current_user;
+select user, host, default_role from mysql.user where user like 'user_%';
+user host default_role
+user_a localhost role_a
+user_b localhost role_b
+set default role role_b for current_user;
+ERROR OP000: Invalid role specification `role_b`.
+show grants;
+Grants for user_b@localhost
+GRANT role_b TO 'user_b'@'localhost'
+GRANT USAGE ON *.* TO 'user_b'@'localhost'
+GRANT INSERT, UPDATE ON *.* TO 'role_b'
+select user, host, default_role from mysql.user where user like 'user_%';
+ERROR 42000: SELECT command denied to user 'user_b'@'localhost' for table 'user'
+insert into mysql.user (user, host) values ('someuser', 'somehost');
+Warnings:
+Warning 1364 Field 'ssl_cipher' doesn't have a default value
+Warning 1364 Field 'x509_issuer' doesn't have a default value
+Warning 1364 Field 'x509_subject' doesn't have a default value
+Warning 1364 Field 'authentication_string' doesn't have a default value
+set default role NONE for user_a@localhost;
+show grants;
+Grants for user_a@localhost
+GRANT role_a TO 'user_a'@'localhost'
+GRANT USAGE ON *.* TO 'user_a'@'localhost'
+GRANT INSERT, UPDATE ON *.* TO 'role_b'
+select user, host, default_role from mysql.user where user like 'user_%';
+ERROR 42000: SELECT command denied to user 'user_a'@'localhost' for table 'user'
+drop role role_a;
+drop role role_b;
+delete from mysql.user where user = 'someuser' && host = 'somehost';
+drop user user_a@localhost;
+drop user user_b@localhost;
diff --git a/mysql-test/suite/roles/set_default_role_for.test b/mysql-test/suite/roles/set_default_role_for.test
new file mode 100644
index 00000000000..de35b529ce6
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_for.test
@@ -0,0 +1,87 @@
+source include/not_embedded.inc;
+
+# This test checks setting a default role to a different user;
+
+
+create user user_a@localhost;
+create user user_b@localhost;
+
+create role role_a;
+create role role_b;
+
+grant role_a to user_a@localhost;
+grant role_b to user_b@localhost;
+
+grant role_a to user_a@localhost;
+grant select on *.* to role_a;
+
+grant role_b to user_b@localhost;
+grant insert, update on *.* to role_b;
+
+change_user 'user_a';
+
+# A user should not be a able to set a default role for someone else,
+# if he hasn't got write access to the database.
+--error ER_DBACCESS_DENIED_ERROR
+set default role role_a for user_b@localhost;
+
+# Should have the same effect as set default role role_a.
+set default role role_a for user_a@localhost;
+
+change_user 'root';
+
+# Not even a 'root' user should be able to set an invalid role for a user.
+--error ER_INVALID_ROLE
+set default role invalid_role for user_a@localhost;
+
+--error ER_INVALID_ROLE
+set default role role_b for user_a@localhost;
+
+# Make sure we can set a default role for a different user than the one that
+# is actually running the command.
+set default role role_b for user_b@localhost;
+
+change_user 'user_a';
+
+show grants;
+--sorted_result
+select user, host, default_role from mysql.user where user like 'user_%';
+
+set default role NONE for current_user;
+--sorted_result
+select user, host, default_role from mysql.user where user like 'user_%';
+
+set default role current_role for current_user;
+--sorted_result
+select user, host, default_role from mysql.user where user like 'user_%';
+
+# Make sure we can't set a default role not granted to us, using current_user
+--error ER_INVALID_ROLE
+set default role role_b for current_user;
+
+change_user 'user_b';
+
+show grants;
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user where user like 'user_%';
+
+# Make sure the default role setting worked from root.
+insert into mysql.user (user, host) values ('someuser', 'somehost');
+# Since we have update privileges on the mysql.user table, we should
+# be able to set a default role for a different user.
+set default role NONE for user_a@localhost;
+
+change_user 'user_a';
+
+# There is no default role set any more.
+show grants;
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user where user like 'user_%';
+
+change_user 'root';
+
+drop role role_a;
+drop role role_b;
+delete from mysql.user where user = 'someuser' && host = 'somehost';
+drop user user_a@localhost;
+drop user user_b@localhost;
diff --git a/mysql-test/suite/roles/set_default_role_invalid.result b/mysql-test/suite/roles/set_default_role_invalid.result
new file mode 100644
index 00000000000..3916bacfd4c
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_invalid.result
@@ -0,0 +1,40 @@
+create user test_user@localhost;
+create role test_role;
+create role not_granted_role;
+grant select on *.* to test_role;
+grant test_role to test_user@localhost;
+show grants;
+Grants for test_user@localhost
+GRANT test_role TO 'test_user'@'localhost'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+select user, host, default_role from mysql.user;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
+set default role invalid_role;
+ERROR OP000: Invalid role specification `invalid_role`.
+set default role not_granted_role;
+ERROR OP000: Invalid role specification `not_granted_role`.
+set default role test_role;
+select user, host, default_role from mysql.user;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
+select user, host, default_role from mysql.user where user='test_user';
+user host default_role
+test_user localhost test_role
+show grants;
+Grants for test_user@localhost
+GRANT test_role TO 'test_user'@'localhost'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT SELECT ON *.* TO 'test_role'
+select user, host, default_role from mysql.user where user='test_user';
+user host default_role
+test_user localhost test_role
+set default role invalid_role;
+ERROR OP000: Invalid role specification `invalid_role`.
+select user, host, default_role from mysql.user where user='test_user';
+user host default_role
+test_user localhost test_role
+revoke test_role from test_user@localhost;
+select user, host, default_role from mysql.user where user='test_user';
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
+drop role test_role;
+drop role not_granted_role;
+drop user test_user@localhost;
diff --git a/mysql-test/suite/roles/set_default_role_invalid.test b/mysql-test/suite/roles/set_default_role_invalid.test
new file mode 100644
index 00000000000..8e72e316d4b
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_invalid.test
@@ -0,0 +1,62 @@
+source include/not_embedded.inc;
+
+# This test checks the error paths possible during set default role.
+
+# Create a user with no privileges
+create user test_user@localhost;
+
+create role test_role;
+create role not_granted_role;
+
+grant select on *.* to test_role;
+grant test_role to test_user@localhost;
+
+change_user 'test_user';
+show grants;
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user;
+
+# A user can not set a default role that does not exist in the database.
+--error ER_INVALID_ROLE
+set default role invalid_role;
+
+# A user can not set a default role if he can not call set role <role>.
+--error ER_INVALID_ROLE
+set default role not_granted_role;
+
+set default role test_role;
+
+# Even though a user has the default role set, without reconnecting, we should
+# not already have the roles privileges.
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user;
+
+change_user 'root';
+select user, host, default_role from mysql.user where user='test_user';
+
+change_user 'test_user';
+# This should show that the new test_user has the role's grants enabled.
+show grants;
+select user, host, default_role from mysql.user where user='test_user';
+
+# If we have a failed set default role attempt, don't change the already set
+# default role.
+--error ER_INVALID_ROLE
+set default role invalid_role;
+select user, host, default_role from mysql.user where user='test_user';
+
+change_user 'root';
+# Now, even though a default role is still set for test_user, make sure the
+# user does not get the rights, if he can not set the role.
+revoke test_role from test_user@localhost;
+
+change_user 'test_user';
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user where user='test_user';
+
+change_user 'root';
+
+# Cleanup
+drop role test_role;
+drop role not_granted_role;
+drop user test_user@localhost;
diff --git a/mysql-test/suite/roles/set_default_role_new_connection.result b/mysql-test/suite/roles/set_default_role_new_connection.result
new file mode 100644
index 00000000000..d88ead70038
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_new_connection.result
@@ -0,0 +1,48 @@
+create user test_user@localhost;
+create role test_role;
+grant select on *.* to test_role;
+grant test_role to test_user@localhost;
+show grants;
+Grants for test_user@localhost
+GRANT test_role TO 'test_user'@'localhost'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+select user, host, default_role from mysql.user where user = 'test_user';
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
+set default role test_role;
+select user, host, default_role from mysql.user where user = 'test_user';
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
+select user, host, default_role from mysql.user where user = 'test_user';
+user host default_role
+test_user localhost test_role
+show grants;
+Grants for test_user@localhost
+GRANT test_role TO 'test_user'@'localhost'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT SELECT ON *.* TO 'test_role'
+select user, host, default_role from mysql.user where user = 'test_user';
+user host default_role
+test_user localhost test_role
+set default role NONE;
+select user, host, default_role from mysql.user where user = 'test_user';
+user host default_role
+test_user localhost
+show grants;
+Grants for test_user@localhost
+GRANT test_role TO 'test_user'@'localhost'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+select user, host, default_role from mysql.user where user = 'test_user';
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
+select user, host, default_role from mysql.user where user = 'test_user';
+user host default_role
+test_user localhost
+set default role test_role for test_user@localhost;
+show grants;
+Grants for test_user@localhost
+GRANT test_role TO 'test_user'@'localhost'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT SELECT ON *.* TO 'test_role'
+select user, host, default_role from mysql.user where user = 'test_user';
+user host default_role
+test_user localhost test_role
+drop role test_role;
+drop user test_user@localhost;
diff --git a/mysql-test/suite/roles/set_default_role_new_connection.test b/mysql-test/suite/roles/set_default_role_new_connection.test
new file mode 100644
index 00000000000..81f7f2ffb58
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_new_connection.test
@@ -0,0 +1,47 @@
+source include/not_embedded.inc;
+
+create user test_user@localhost;
+create role test_role;
+grant select on *.* to test_role;
+grant test_role to test_user@localhost;
+
+--connect (c1, localhost, test_user,,)
+show grants;
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user where user = 'test_user';
+set default role test_role;
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user where user = 'test_user';
+disconnect c1;
+
+connection default;
+select user, host, default_role from mysql.user where user = 'test_user';
+
+
+--connect (c1, localhost, test_user,,)
+show grants;
+select user, host, default_role from mysql.user where user = 'test_user';
+set default role NONE;
+disconnect c1;
+
+connection default;
+select user, host, default_role from mysql.user where user = 'test_user';
+
+--connect (c1, localhost, test_user,,)
+show grants;
+--error ER_TABLEACCESS_DENIED_ERROR
+select user, host, default_role from mysql.user where user = 'test_user';
+disconnect c1;
+
+connection default;
+select user, host, default_role from mysql.user where user = 'test_user';
+set default role test_role for test_user@localhost;
+
+--connect (c1, localhost, test_user,,)
+show grants;
+select user, host, default_role from mysql.user where user = 'test_user';
+disconnect c1;
+
+connection default;
+drop role test_role;
+drop user test_user@localhost;
diff --git a/mysql-test/suite/roles/set_default_role_ps-6960.result b/mysql-test/suite/roles/set_default_role_ps-6960.result
new file mode 100644
index 00000000000..60210d7f92c
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_ps-6960.result
@@ -0,0 +1,8 @@
+create role r1;
+prepare stmt from "set password = '11111111111111111111111111111111111111111'";
+execute stmt;
+prepare stmt from "set default role r1";
+execute stmt;
+set password = '';
+set default role NONE;
+drop role r1;
diff --git a/mysql-test/suite/roles/set_default_role_ps-6960.test b/mysql-test/suite/roles/set_default_role_ps-6960.test
new file mode 100644
index 00000000000..8ac520e1776
--- /dev/null
+++ b/mysql-test/suite/roles/set_default_role_ps-6960.test
@@ -0,0 +1,15 @@
+#
+# MDEV-6960 Server crashes in check_alter_user on setting a default role via PS
+#
+
+--source include/not_embedded.inc
+
+create role r1;
+prepare stmt from "set password = '11111111111111111111111111111111111111111'";
+execute stmt;
+prepare stmt from "set default role r1";
+execute stmt;
+
+set password = '';
+set default role NONE;
+drop role r1;
diff --git a/mysql-test/suite/roles/set_role-13655.result b/mysql-test/suite/roles/set_role-13655.result
new file mode 100644
index 00000000000..1c4841c8afd
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-13655.result
@@ -0,0 +1,50 @@
+#
+# MDEV-13655: SET ROLE does not properly grant privileges.
+#
+# We must test that if aditional db privileges get granted to a role
+# which previously inherited privileges from another granted role
+# keep the internal memory structures intact.
+#
+create role simple;
+#
+# First we create an entry with privileges for databases for the simple role.
+#
+grant select, insert, update, delete, lock tables, execute on t.* to simple;
+create role admin;
+#
+# Now we grant the simple role to admin. This means that db privileges
+# should propagate to admin.
+#
+grant simple to admin;
+show grants for admin;
+Grants for admin
+GRANT simple TO 'admin'
+GRANT USAGE ON *.* TO 'admin'
+GRANT USAGE ON *.* TO 'simple'
+GRANT SELECT, INSERT, UPDATE, DELETE, LOCK TABLES, EXECUTE ON `t`.* TO 'simple'
+#
+# Finally, we give the admin all the available privileges for the db.
+#
+grant all on t.* to admin;
+#
+# Create a user to test out the new roles;
+#
+create user foo;
+grant admin to foo;
+create database t;
+ERROR 42000: Access denied for user 'foo'@'%' to database 't'
+set role admin;
+show grants;
+Grants for foo@%
+GRANT admin TO 'foo'@'%'
+GRANT USAGE ON *.* TO 'foo'@'%'
+GRANT simple TO 'admin'
+GRANT USAGE ON *.* TO 'admin'
+GRANT ALL PRIVILEGES ON `t`.* TO 'admin'
+GRANT USAGE ON *.* TO 'simple'
+GRANT SELECT, INSERT, UPDATE, DELETE, LOCK TABLES, EXECUTE ON `t`.* TO 'simple'
+create database t;
+drop database t;
+drop role simple;
+drop role admin;
+drop user foo;
diff --git a/mysql-test/suite/roles/set_role-13655.test b/mysql-test/suite/roles/set_role-13655.test
new file mode 100644
index 00000000000..97a82109276
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-13655.test
@@ -0,0 +1,49 @@
+source include/not_embedded.inc;
+
+--echo #
+--echo # MDEV-13655: SET ROLE does not properly grant privileges.
+--echo #
+--echo # We must test that if aditional db privileges get granted to a role
+--echo # which previously inherited privileges from another granted role
+--echo # keep the internal memory structures intact.
+--echo #
+
+create role simple;
+
+--echo #
+--echo # First we create an entry with privileges for databases for the simple role.
+--echo #
+grant select, insert, update, delete, lock tables, execute on t.* to simple;
+create role admin;
+
+--echo #
+--echo # Now we grant the simple role to admin. This means that db privileges
+--echo # should propagate to admin.
+--echo #
+grant simple to admin;
+show grants for admin;
+
+--echo #
+--echo # Finally, we give the admin all the available privileges for the db.
+--echo #
+grant all on t.* to admin;
+
+--echo #
+--echo # Create a user to test out the new roles;
+--echo #
+create user foo;
+grant admin to foo;
+
+connect (foo,localhost,foo,,,,,);
+--error ER_DBACCESS_DENIED_ERROR
+create database t;
+set role admin;
+show grants;
+create database t;
+drop database t;
+
+connection default;
+
+drop role simple;
+drop role admin;
+drop user foo;
diff --git a/mysql-test/suite/roles/set_role-5232.result b/mysql-test/suite/roles/set_role-5232.result
new file mode 100644
index 00000000000..888a5f10c3d
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-5232.result
@@ -0,0 +1,15 @@
+create user ''@localhost;
+create user c;
+grant select on mysql.* to c;
+create role r1;
+grant r1 to c;
+select user(), current_user();
+user() current_user()
+c@localhost @localhost
+select user from mysql.user group by user;
+ERROR 42000: SELECT command denied to user ''@'localhost' for table 'user'
+set role r1;
+ERROR OP000: Invalid role specification `r1`.
+drop role r1;
+drop user c;
+drop user ''@localhost;
diff --git a/mysql-test/suite/roles/set_role-5232.test b/mysql-test/suite/roles/set_role-5232.test
new file mode 100644
index 00000000000..c6cb3d925a4
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-5232.test
@@ -0,0 +1,20 @@
+#
+# MDEV-5232 SET ROLE checks privileges differently from check_access()
+#
+--source include/not_embedded.inc
+create user ''@localhost;
+create user c;
+grant select on mysql.* to c;
+create role r1;
+grant r1 to c;
+connect (c,localhost,c,,,,,);
+select user(), current_user();
+--error ER_TABLEACCESS_DENIED_ERROR
+select user from mysql.user group by user;
+--error ER_INVALID_ROLE
+set role r1;
+disconnect c;
+connection default;
+drop role r1;
+drop user c;
+drop user ''@localhost;
diff --git a/mysql-test/suite/roles/set_role-9614.result b/mysql-test/suite/roles/set_role-9614.result
new file mode 100644
index 00000000000..37f6db070c0
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-9614.result
@@ -0,0 +1,99 @@
+#
+# MDEV-9614 Roles and Users Longer than 6 characters
+#
+# This test case checks the edge case presented in the MDEV. The
+# real issue is actually apparent when the username is longer than the
+# rolename.
+#
+# We need a separate database not including test or test_% names. Due to
+# default privileges given on these databases.
+#
+DROP DATABASE IF EXISTS `bug_db`;
+Warnings:
+Note 1008 Can't drop database 'bug_db'; database doesn't exist
+#
+# The first user did not show the bug as john's length is smaller
+# than client. The bug is apparent most of the time for usertestjohn.
+#
+CREATE USER `john`@`%`;
+CREATE USER `usertestjohn`@`%`;
+CREATE ROLE `client`;
+#
+# Setup the required tables.
+#
+CREATE DATABASE `bug_db`;
+CREATE TABLE `bug_db`.`t0`(`c0` INT);
+#
+# Setup select privileges only on the role. Setting the role should give
+# select access to bug_db.t0.
+#
+GRANT SELECT ON `bug_db`.`t0` TO `client`;
+GRANT `client` TO `john`@`%`;
+GRANT `client` TO `usertestjohn`@`%`;
+#
+# Check to see grants are set.
+#
+SHOW GRANTS FOR `john`@`%`;
+Grants for john@%
+GRANT client TO 'john'@'%'
+GRANT USAGE ON *.* TO 'john'@'%'
+SHOW GRANTS FOR `usertestjohn`@`%`;
+Grants for usertestjohn@%
+GRANT client TO 'usertestjohn'@'%'
+GRANT USAGE ON *.* TO 'usertestjohn'@'%'
+SHOW GRANTS FOR `client`;
+Grants for client
+GRANT USAGE ON *.* TO 'client'
+GRANT SELECT ON `bug_db`.`t0` TO 'client'
+show databases;
+Database
+bug_db
+information_schema
+mtr
+mysql
+performance_schema
+test
+#
+# Try using the database as john.
+#
+connect john, localhost, john,,information_schema;
+show databases;
+Database
+information_schema
+test
+set role client;
+show databases;
+Database
+bug_db
+information_schema
+test
+use bug_db;
+#
+# Try using the database as usertestjohn.
+#
+connect usertestjohn, localhost, usertestjohn,,information_schema;
+show databases;
+Database
+information_schema
+test
+set role client;
+show databases;
+Database
+bug_db
+information_schema
+test
+show grants;
+Grants for usertestjohn@%
+GRANT client TO 'usertestjohn'@'%'
+GRANT USAGE ON *.* TO 'usertestjohn'@'%'
+GRANT USAGE ON *.* TO 'client'
+GRANT SELECT ON `bug_db`.`t0` TO 'client'
+use bug_db;
+#
+# Cleanup
+#
+connection default;
+drop user john;
+drop user usertestjohn;
+drop role client;
+drop database bug_db;
diff --git a/mysql-test/suite/roles/set_role-9614.test b/mysql-test/suite/roles/set_role-9614.test
new file mode 100644
index 00000000000..5e9f7dacf19
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-9614.test
@@ -0,0 +1,79 @@
+--source include/not_embedded.inc
+
+--echo #
+--echo # MDEV-9614 Roles and Users Longer than 6 characters
+--echo #
+--echo # This test case checks the edge case presented in the MDEV. The
+--echo # real issue is actually apparent when the username is longer than the
+--echo # rolename.
+
+--enable_connect_log
+--echo #
+--echo # We need a separate database not including test or test_% names. Due to
+--echo # default privileges given on these databases.
+--echo #
+DROP DATABASE IF EXISTS `bug_db`;
+
+--echo #
+--echo # The first user did not show the bug as john's length is smaller
+--echo # than client. The bug is apparent most of the time for usertestjohn.
+--echo #
+CREATE USER `john`@`%`;
+CREATE USER `usertestjohn`@`%`;
+CREATE ROLE `client`;
+
+--echo #
+--echo # Setup the required tables.
+--echo #
+CREATE DATABASE `bug_db`;
+CREATE TABLE `bug_db`.`t0`(`c0` INT);
+
+--echo #
+--echo # Setup select privileges only on the role. Setting the role should give
+--echo # select access to bug_db.t0.
+--echo #
+GRANT SELECT ON `bug_db`.`t0` TO `client`;
+GRANT `client` TO `john`@`%`;
+GRANT `client` TO `usertestjohn`@`%`;
+
+--echo #
+--echo # Check to see grants are set.
+--echo #
+SHOW GRANTS FOR `john`@`%`;
+SHOW GRANTS FOR `usertestjohn`@`%`;
+SHOW GRANTS FOR `client`;
+
+show databases;
+
+--echo #
+--echo # Try using the database as john.
+--echo #
+connect (john, localhost, john,,information_schema);
+
+show databases;
+set role client;
+show databases;
+use bug_db;
+
+--echo #
+--echo # Try using the database as usertestjohn.
+--echo #
+connect (usertestjohn, localhost, usertestjohn,,information_schema);
+
+show databases;
+set role client;
+show databases;
+
+show grants;
+use bug_db;
+
+
+--echo #
+--echo # Cleanup
+--echo #
+connection default;
+drop user john;
+drop user usertestjohn;
+drop role client;
+drop database bug_db;
+--disable_connect_log
diff --git a/mysql-test/suite/roles/set_role-database-recursive.result b/mysql-test/suite/roles/set_role-database-recursive.result
new file mode 100644
index 00000000000..479e553c3d1
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-database-recursive.result
@@ -0,0 +1,83 @@
+create user test_user@localhost;
+create role test_role1;
+create role test_role2;
+grant test_role1 to test_user@localhost;
+grant test_role2 to test_user@localhost;
+grant test_role2 to test_role1;
+select user, host from mysql.user where user not like 'root';
+user host
+test_role1
+test_role2
+test_user localhost
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+localhost test_user test_role1 N
+localhost test_user test_role2 N
+select user, host from mysql.db;
+user host
+ %
+ %
+grant select on mysql.* to test_role2;
+flush privileges;
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+set role test_role1;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role1
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+localhost test_user test_role1 N
+localhost test_user test_role2 N
+set role none;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+set role test_role2;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role2
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+localhost test_user test_role1 N
+localhost test_user test_role2 N
+create role test_role3;
+grant test_role3 to test_role2;
+create role test_role4;
+grant test_role4 to test_role3;
+set role test_role1;
+delete from mysql.user where user='no such user';
+ERROR 42000: DELETE command denied to user 'test_user'@'localhost' for table 'user'
+grant delete on mysql.* to test_role4;
+set role test_role1;
+delete from mysql.user where user='no such user';
+show grants;
+Grants for test_user@localhost
+GRANT DELETE ON `mysql`.* TO 'test_role4'
+GRANT SELECT ON `mysql`.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role3'
+GRANT USAGE ON *.* TO 'test_role4'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+GRANT test_role2 TO 'test_user'@'localhost'
+GRANT test_role3 TO 'test_role2'
+GRANT test_role4 TO 'test_role3'
+drop user test_user@localhost;
+drop role test_role1, test_role2, test_role3, test_role4;
diff --git a/mysql-test/suite/roles/set_role-database-recursive.test b/mysql-test/suite/roles/set_role-database-recursive.test
new file mode 100644
index 00000000000..17c93d4571f
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-database-recursive.test
@@ -0,0 +1,64 @@
+source include/not_embedded.inc;
+
+#create a user with no privileges
+create user test_user@localhost;
+create role test_role1;
+create role test_role2;
+
+grant test_role1 to test_user@localhost;
+grant test_role2 to test_user@localhost;
+grant test_role2 to test_role1;
+--sorted_result
+select user, host from mysql.user where user not like 'root';
+--sorted_result
+select * from mysql.roles_mapping;
+
+--sorted_result
+select user, host from mysql.db;
+
+grant select on mysql.* to test_role2;
+flush privileges;
+
+change_user 'test_user';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+select current_user(), current_role();
+set role test_role1;
+select current_user(), current_role();
+--sorted_result
+select * from mysql.roles_mapping;
+set role none;
+select current_user(), current_role();
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+set role test_role2;
+select current_user(), current_role();
+--sorted_result
+select * from mysql.roles_mapping;
+
+change_user 'root';
+
+create role test_role3;
+grant test_role3 to test_role2;
+create role test_role4;
+grant test_role4 to test_role3;
+
+change_user 'test_user';
+set role test_role1;
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from mysql.user where user='no such user';
+
+change_user 'root';
+grant delete on mysql.* to test_role4;
+
+change_user 'test_user';
+set role test_role1;
+delete from mysql.user where user='no such user';
+--sorted_result
+show grants;
+
+change_user 'root';
+drop user test_user@localhost;
+drop role test_role1, test_role2, test_role3, test_role4;
diff --git a/mysql-test/suite/roles/set_role-database-simple.result b/mysql-test/suite/roles/set_role-database-simple.result
new file mode 100644
index 00000000000..e21a55edf2e
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-database-simple.result
@@ -0,0 +1,52 @@
+create user 'test_user'@'localhost';
+create role test_role1;
+grant test_role1 to test_user@localhost;
+select user, host from mysql.user where user not like 'root';
+user host
+test_role1
+test_user localhost
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost root test_role1 Y
+localhost test_user test_role1 N
+grant select on mysql.* to test_role1;
+grant insert, delete on mysql.roles_mapping to test_role1;
+grant reload on *.* to test_role1;
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+set role test_role1;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role1
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost root test_role1 Y
+localhost test_user test_role1 N
+insert into mysql.user (user, host) values ('Dummy', 'Dummy');
+ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 'user'
+insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2', 'N');
+delete from mysql.roles_mapping where Role='test_role2';
+use mysql;
+set role none;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+use mysql;
+ERROR 42000: Access denied for user 'test_user'@'localhost' to database 'mysql'
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+insert into mysql.user (user, host) values ('Dummy', 'Dummy');
+ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 'user'
+insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2', 'N');
+ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+delete from mysql.roles_mapping where Role='test_role2';
+ERROR 42000: DELETE command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+drop user 'test_user'@'localhost';
+revoke select on mysql.* from test_role1;
+revoke insert, delete on mysql.roles_mapping from test_role1;
+drop role test_role1;
+delete from mysql.roles_mapping where Role='test_role1';
+flush privileges;
diff --git a/mysql-test/suite/roles/set_role-database-simple.test b/mysql-test/suite/roles/set_role-database-simple.test
new file mode 100644
index 00000000000..daac13a095d
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-database-simple.test
@@ -0,0 +1,56 @@
+source include/not_embedded.inc;
+
+#create a user with no privileges
+create user 'test_user'@'localhost';
+create role test_role1;
+
+grant test_role1 to test_user@localhost;
+--sorted_result
+select user, host from mysql.user where user not like 'root';
+--sorted_result
+select * from mysql.roles_mapping;
+
+grant select on mysql.* to test_role1;
+grant insert, delete on mysql.roles_mapping to test_role1;
+
+grant reload on *.* to test_role1;
+
+change_user 'test_user';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+select current_user(), current_role();
+set role test_role1;
+select current_user(), current_role();
+--sorted_result
+select * from mysql.roles_mapping;
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into mysql.user (user, host) values ('Dummy', 'Dummy');
+insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2', 'N');
+delete from mysql.roles_mapping where Role='test_role2';
+
+use mysql;
+
+set role none;
+select current_user(), current_role();
+
+--error ER_DBACCESS_DENIED_ERROR
+use mysql;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into mysql.user (user, host) values ('Dummy', 'Dummy');
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2', 'N');
+--error ER_TABLEACCESS_DENIED_ERROR
+delete from mysql.roles_mapping where Role='test_role2';
+
+change_user 'root';
+drop user 'test_user'@'localhost';
+revoke select on mysql.* from test_role1;
+revoke insert, delete on mysql.roles_mapping from test_role1;
+drop role test_role1;
+delete from mysql.roles_mapping where Role='test_role1';
+flush privileges;
+
diff --git a/mysql-test/suite/roles/set_role-multiple-role.result b/mysql-test/suite/roles/set_role-multiple-role.result
new file mode 100644
index 00000000000..fca53b4d645
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-multiple-role.result
@@ -0,0 +1,147 @@
+create user 'test_user'@'localhost';
+create role r_sel;
+create role r_ins;
+create role r_upd;
+create role r_del;
+create role r_crt;
+create role r_drp;
+create role r_rld;
+grant select on *.* to r_sel;
+grant insert on *.* to r_ins;
+grant update on *.* to r_upd;
+grant delete on *.* to r_del;
+grant create on *.* to r_crt;
+grant drop on *.* to r_drp;
+grant reload on *.* to r_rld;
+grant r_sel to test_user@localhost;
+grant r_ins to test_user@localhost;
+grant r_upd to test_user@localhost;
+grant r_del to test_user@localhost;
+grant r_crt to test_user@localhost;
+grant r_drp to test_user@localhost;
+grant r_rld to test_user@localhost;
+flush privileges;
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT r_crt TO 'test_user'@'localhost'
+GRANT r_del TO 'test_user'@'localhost'
+GRANT r_drp TO 'test_user'@'localhost'
+GRANT r_ins TO 'test_user'@'localhost'
+GRANT r_rld TO 'test_user'@'localhost'
+GRANT r_sel TO 'test_user'@'localhost'
+GRANT r_upd TO 'test_user'@'localhost'
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+set role r_sel;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost r_sel
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON *.* TO 'r_sel'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT r_crt TO 'test_user'@'localhost'
+GRANT r_del TO 'test_user'@'localhost'
+GRANT r_drp TO 'test_user'@'localhost'
+GRANT r_ins TO 'test_user'@'localhost'
+GRANT r_rld TO 'test_user'@'localhost'
+GRANT r_sel TO 'test_user'@'localhost'
+GRANT r_upd TO 'test_user'@'localhost'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost root r_crt Y
+localhost root r_del Y
+localhost root r_drp Y
+localhost root r_ins Y
+localhost root r_rld Y
+localhost root r_sel Y
+localhost root r_upd Y
+localhost test_user r_crt N
+localhost test_user r_del N
+localhost test_user r_drp N
+localhost test_user r_ins N
+localhost test_user r_rld N
+localhost test_user r_sel N
+localhost test_user r_upd N
+set role r_ins;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost r_ins
+show grants;
+Grants for test_user@localhost
+GRANT INSERT ON *.* TO 'r_ins'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT r_crt TO 'test_user'@'localhost'
+GRANT r_del TO 'test_user'@'localhost'
+GRANT r_drp TO 'test_user'@'localhost'
+GRANT r_ins TO 'test_user'@'localhost'
+GRANT r_rld TO 'test_user'@'localhost'
+GRANT r_sel TO 'test_user'@'localhost'
+GRANT r_upd TO 'test_user'@'localhost'
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_rld', 'N');
+flush privileges;
+ERROR 42000: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
+set role r_rld;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost r_rld
+flush privileges;
+set role r_sel;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost r_sel
+flush privileges;
+set role none;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+flush privileges;
+ERROR 42000: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
+set role r_ins;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost r_ins
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_upd', 'N');
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_del', 'N');
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_crt', 'N');
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_drp', 'N');
+insert into mysql.roles_mapping values ('', 'r_del', 'r_ins', 'N');
+set role r_rld;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost r_rld
+flush privileges;
+set role r_sel;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost r_sel
+update mysql.roles_mapping set Role='r_ins' where Role='r_ins_wrong';
+flush privileges;
+set role r_sel;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost r_sel
+create table mysql.random_test_table (id INT);
+insert into mysql.random_test_table values (1);
+select * from mysql.random_test_table;
+id
+1
+delete from mysql.roles_mapping where Role='r_ins';
+flush privileges;
+set role r_sel;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost r_sel
+insert into mysql.random_test_table values (1);
+ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 'random_test_table'
+drop table mysql.random_test_table;
+delete from mysql.user where user like 'r\_%';
+delete from mysql.roles_mapping where Role like 'r\_%';
+flush privileges;
+drop user 'test_user'@'localhost';
diff --git a/mysql-test/suite/roles/set_role-multiple-role.test b/mysql-test/suite/roles/set_role-multiple-role.test
new file mode 100644
index 00000000000..ecfe8869c12
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-multiple-role.test
@@ -0,0 +1,102 @@
+source include/not_embedded.inc;
+
+#create a user with no privileges
+create user 'test_user'@'localhost';
+
+create role r_sel;
+create role r_ins;
+create role r_upd;
+create role r_del;
+create role r_crt;
+create role r_drp;
+create role r_rld;
+
+grant select on *.* to r_sel;
+grant insert on *.* to r_ins;
+grant update on *.* to r_upd;
+grant delete on *.* to r_del;
+grant create on *.* to r_crt;
+grant drop on *.* to r_drp;
+grant reload on *.* to r_rld;
+
+#####################################
+#set up roles mapping
+#####################################
+grant r_sel to test_user@localhost;
+grant r_ins to test_user@localhost;
+grant r_upd to test_user@localhost;
+grant r_del to test_user@localhost;
+grant r_crt to test_user@localhost;
+grant r_drp to test_user@localhost;
+grant r_rld to test_user@localhost;
+flush privileges;
+
+change_user 'test_user';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+--sorted_result
+show grants;
+select current_user(), current_role();
+set role r_sel;
+select current_user(), current_role();
+--sorted_result
+show grants;
+--sorted_result
+select * from mysql.roles_mapping;
+
+set role r_ins;
+select current_user(), current_role();
+--sorted_result
+show grants;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_rld', 'N');
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+flush privileges;
+set role r_rld;
+select current_user(), current_role();
+flush privileges;
+set role r_sel;
+select current_user(), current_role();
+flush privileges;
+set role none;
+select current_user(), current_role();
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+flush privileges;
+
+set role r_ins;
+select current_user(), current_role();
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_upd', 'N');
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_del', 'N');
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_crt', 'N');
+insert into mysql.roles_mapping values ('', 'r_sel', 'r_drp', 'N');
+insert into mysql.roles_mapping values ('', 'r_del', 'r_ins', 'N');
+set role r_rld;
+select current_user(), current_role();
+flush privileges;
+set role r_sel;
+select current_user(), current_role();
+update mysql.roles_mapping set Role='r_ins' where Role='r_ins_wrong';
+flush privileges;
+set role r_sel;
+select current_user(), current_role();
+
+create table mysql.random_test_table (id INT);
+insert into mysql.random_test_table values (1);
+--sorted_result
+select * from mysql.random_test_table;
+delete from mysql.roles_mapping where Role='r_ins';
+flush privileges;
+set role r_sel;
+select current_user(), current_role();
+--error ER_TABLEACCESS_DENIED_ERROR
+insert into mysql.random_test_table values (1);
+drop table mysql.random_test_table;
+
+change_user 'root';
+delete from mysql.user where user like 'r\_%';
+delete from mysql.roles_mapping where Role like 'r\_%';
+flush privileges;
+drop user 'test_user'@'localhost';
diff --git a/mysql-test/suite/roles/set_role-recursive.result b/mysql-test/suite/roles/set_role-recursive.result
new file mode 100644
index 00000000000..9e62558fc14
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-recursive.result
@@ -0,0 +1,118 @@
+create user test_user@localhost;
+create role test_role1;
+grant test_role1 to test_user@localhost;
+create role test_role2;
+grant test_role2 to test_role1;
+select user, host from mysql.user where user not like 'root';
+user host
+test_role1
+test_role2
+test_user localhost
+select * from mysql.roles_mapping where User like 'test_user';
+Host User Role Admin_option
+localhost test_user test_role1 N
+select * from mysql.roles_mapping where User like 'test_role1';
+Host User Role Admin_option
+ test_role1 test_role2 N
+grant select on *.* to test_role2;
+select * from mysql.user where user like 'test_role1';
+Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin authentication_string password_expired is_role default_role max_statement_time
+ test_role1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 N Y 0.000000
+select * from mysql.user where user like 'test_role2';
+Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin authentication_string password_expired is_role default_role max_statement_time
+ test_role2 Y N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 N Y 0.000000
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+set role test_role1;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role1
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+select * from mysql.roles_mapping where Host='';
+Host User Role Admin_option
+ test_role1 test_role2 N
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+set role none;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+set role test_role2;
+ERROR OP000: Invalid role specification `test_role2`.
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+set role test_role1;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role1
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+select * from mysql.roles_mapping where Host='';
+Host User Role Admin_option
+ test_role1 test_role2 N
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+set role none;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+delete from mysql.user where user='test_role1';
+delete from mysql.user where user='test_role2';
+delete from mysql.roles_mapping;
+flush privileges;
+drop user 'test_user'@'localhost';
diff --git a/mysql-test/suite/roles/set_role-recursive.test b/mysql-test/suite/roles/set_role-recursive.test
new file mode 100644
index 00000000000..23d623e1966
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-recursive.test
@@ -0,0 +1,79 @@
+source include/not_embedded.inc;
+
+#create a user with no privileges
+create user test_user@localhost;
+create role test_role1;
+grant test_role1 to test_user@localhost;
+create role test_role2;
+grant test_role2 to test_role1;
+
+--sorted_result
+select user, host from mysql.user where user not like 'root';
+--sorted_result
+select * from mysql.roles_mapping where User like 'test_user';
+--sorted_result
+select * from mysql.roles_mapping where User like 'test_role1';
+grant select on *.* to test_role2;
+--sorted_result
+select * from mysql.user where user like 'test_role1';
+--sorted_result
+select * from mysql.user where user like 'test_role2';
+
+change_user 'test_user';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+--sorted_result
+show grants;
+select current_user(), current_role();
+set role test_role1;
+select current_user(), current_role();
+--sorted_result
+show grants;
+select * from mysql.roles_mapping where Host='';
+
+--sorted_result
+show grants;
+set role none;
+select current_user(), current_role();
+--sorted_result
+show grants;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+--sorted_result
+show grants;
+--error ER_INVALID_ROLE
+set role test_role2;
+select current_user(), current_role();
+--sorted_result
+show grants;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+#Make sure that this still works after an ER_INVALID_ROLE error
+--sorted_result
+show grants;
+set role test_role1;
+select current_user(), current_role();
+--sorted_result
+show grants;
+--sorted_result
+select * from mysql.roles_mapping where Host='';
+
+--sorted_result
+show grants;
+set role none;
+select current_user(), current_role();
+--sorted_result
+show grants;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+change_user 'root';
+delete from mysql.user where user='test_role1';
+delete from mysql.user where user='test_role2';
+delete from mysql.roles_mapping;
+flush privileges;
+drop user 'test_user'@'localhost';
diff --git a/mysql-test/suite/roles/set_role-routine-simple.result b/mysql-test/suite/roles/set_role-routine-simple.result
new file mode 100644
index 00000000000..3e17a78ad77
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-routine-simple.result
@@ -0,0 +1,103 @@
+create user 'test_user'@'localhost';
+create role test_role1;
+create role test_role2;
+create role test_role3;
+grant test_role1 to test_user@localhost;
+grant test_role3 to test_user@localhost;
+grant test_role2 to test_role1;
+select user, host from mysql.user where user not like 'root';
+user host
+test_role1
+test_role2
+test_role3
+test_user localhost
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+localhost root test_role3 Y
+localhost test_user test_role1 N
+localhost test_user test_role3 N
+create function mysql.test_func (s CHAR(20))
+returns CHAR(50) DETERMINISTIC
+return concat('Test string: ',s);
+create procedure mysql.test_proc (OUT param1 INT)
+begin
+select COUNT(*) into param1 from mysql.roles_mapping;
+end|
+grant execute on function mysql.test_func to test_role2;
+grant execute on procedure mysql.test_proc to test_role2;
+grant execute on mysql.* to test_role3;
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role3 TO 'test_user'@'localhost'
+use mysql;
+ERROR 42000: Access denied for user 'test_user'@'localhost' to database 'mysql'
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+set role test_role1;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role1
+use mysql;
+call test_proc(@a);
+SELECT @a;
+@a
+6
+SELECT test_func('AABBCCDD');
+test_func('AABBCCDD')
+Test string: AABBCCDD
+show grants;
+Grants for test_user@localhost
+GRANT EXECUTE ON FUNCTION `mysql`.`test_func` TO 'test_role2'
+GRANT EXECUTE ON PROCEDURE `mysql`.`test_proc` TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+GRANT test_role3 TO 'test_user'@'localhost'
+set role none;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role3 TO 'test_user'@'localhost'
+call test_proc(@a);
+ERROR 42000: execute command denied to user 'test_user'@'localhost' for routine 'mysql.test_proc'
+SELECT test_func('AABBCCDD');
+ERROR 42000: execute command denied to user 'test_user'@'localhost' for routine 'mysql.test_func'
+set role test_role3;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role3
+show grants;
+Grants for test_user@localhost
+GRANT EXECUTE ON `mysql`.* TO 'test_role3'
+GRANT USAGE ON *.* TO 'test_role3'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role3 TO 'test_user'@'localhost'
+call test_proc(@a);
+SELECT @a;
+@a
+6
+SELECT test_func('AABBCCDD');
+test_func('AABBCCDD')
+Test string: AABBCCDD
+drop user 'test_user'@'localhost';
+revoke execute on function mysql.test_func from test_role2;
+revoke execute on procedure mysql.test_proc from test_role2;
+revoke execute on mysql.* from test_role3;
+delete from mysql.user where user like'test_%';
+delete from mysql.roles_mapping where Role like 'test%';
+drop function mysql.test_func;
+drop procedure mysql.test_proc;
+flush privileges;
diff --git a/mysql-test/suite/roles/set_role-routine-simple.test b/mysql-test/suite/roles/set_role-routine-simple.test
new file mode 100644
index 00000000000..0e808d190d6
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-routine-simple.test
@@ -0,0 +1,81 @@
+source include/not_embedded.inc;
+
+create user 'test_user'@'localhost';
+create role test_role1;
+create role test_role2;
+create role test_role3;
+
+grant test_role1 to test_user@localhost;
+grant test_role3 to test_user@localhost;
+grant test_role2 to test_role1;
+
+--sorted_result
+select user, host from mysql.user where user not like 'root';
+--sorted_result
+select * from mysql.roles_mapping;
+
+create function mysql.test_func (s CHAR(20))
+returns CHAR(50) DETERMINISTIC
+return concat('Test string: ',s);
+
+
+delimiter |;
+create procedure mysql.test_proc (OUT param1 INT)
+begin
+ select COUNT(*) into param1 from mysql.roles_mapping;
+end|
+delimiter ;|
+
+grant execute on function mysql.test_func to test_role2;
+grant execute on procedure mysql.test_proc to test_role2;
+
+grant execute on mysql.* to test_role3;
+
+change_user 'test_user';
+--sorted_result
+show grants;
+
+--error ER_DBACCESS_DENIED_ERROR
+use mysql;
+select current_user(), current_role();
+set role test_role1;
+select current_user(), current_role();
+use mysql;
+
+call test_proc(@a);
+SELECT @a;
+
+SELECT test_func('AABBCCDD');
+
+--sorted_result
+show grants;
+set role none;
+select current_user(), current_role();
+--sorted_result
+show grants;
+
+--error ER_PROCACCESS_DENIED_ERROR
+call test_proc(@a);
+
+--error ER_PROCACCESS_DENIED_ERROR
+SELECT test_func('AABBCCDD');
+
+set role test_role3;
+select current_user(), current_role();
+--sorted_result
+show grants;
+call test_proc(@a);
+SELECT @a;
+
+SELECT test_func('AABBCCDD');
+
+change_user 'root';
+drop user 'test_user'@'localhost';
+revoke execute on function mysql.test_func from test_role2;
+revoke execute on procedure mysql.test_proc from test_role2;
+revoke execute on mysql.* from test_role3;
+delete from mysql.user where user like'test_%';
+delete from mysql.roles_mapping where Role like 'test%';
+drop function mysql.test_func;
+drop procedure mysql.test_proc;
+flush privileges;
diff --git a/mysql-test/suite/roles/set_role-simple.result b/mysql-test/suite/roles/set_role-simple.result
new file mode 100644
index 00000000000..4fb705368b7
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-simple.result
@@ -0,0 +1,56 @@
+create user test_user@localhost;
+create role test_role1;
+grant test_role1 to test_user@localhost;
+select user, host from mysql.user where user not like 'root';
+user host
+test_role1
+test_user localhost
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost root test_role1 Y
+localhost test_user test_role1 N
+grant select on *.* to test_role1;
+select * from mysql.user where user='test_role1';
+Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin authentication_string password_expired is_role default_role max_statement_time
+ test_role1 Y N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 N Y 0.000000
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+set role test_role1;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role1
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+localhost root test_role1 Y
+localhost test_user test_role1 N
+set role none;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+delete from mysql.user where user='test_role1';
+delete from mysql.roles_mapping where Role='test_role1';
+flush privileges;
+drop user 'test_user'@'localhost';
+create user user1;
+select current_user;
+current_user
+user1@%
+show grants;
+Grants for user1@%
+GRANT USAGE ON *.* TO 'user1'@'%'
+set role none;
+drop user user1;
diff --git a/mysql-test/suite/roles/set_role-simple.test b/mysql-test/suite/roles/set_role-simple.test
new file mode 100644
index 00000000000..ed884fa2407
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-simple.test
@@ -0,0 +1,54 @@
+source include/not_embedded.inc;
+
+#create a user with no privileges
+create user test_user@localhost;
+create role test_role1;
+grant test_role1 to test_user@localhost;
+--sorted_result
+select user, host from mysql.user where user not like 'root';
+--sorted_result
+select * from mysql.roles_mapping;
+grant select on *.* to test_role1;
+--sorted_result
+select * from mysql.user where user='test_role1';
+
+change_user 'test_user';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+--sorted_result
+show grants;
+select current_user(), current_role();
+set role test_role1;
+select current_user(), current_role();
+--sorted_result
+show grants;
+--sorted_result
+select * from mysql.roles_mapping;
+
+set role none;
+select current_user(), current_role();
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+change_user 'root';
+delete from mysql.user where user='test_role1';
+delete from mysql.roles_mapping where Role='test_role1';
+flush privileges;
+drop user 'test_user'@'localhost';
+
+#
+# MDEV-9898 SET ROLE NONE can crash mysqld.
+#
+
+create user user1;
+
+--connect (con1,localhost,user1,,)
+select current_user;
+show grants;
+set role none;
+
+connection default;
+drop user user1;
+
diff --git a/mysql-test/suite/roles/set_role-table-column-priv.result b/mysql-test/suite/roles/set_role-table-column-priv.result
new file mode 100644
index 00000000000..721bd3039a3
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-table-column-priv.result
@@ -0,0 +1,69 @@
+create user test_user@localhost;
+create role test_role1;
+create role test_role2;
+grant test_role1 to test_user@localhost;
+grant test_role2 to test_role1;
+select user, host from mysql.user where user not like 'root';
+user host
+test_role1
+test_role2
+test_user localhost
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+localhost test_user test_role1 N
+grant select (Role) on mysql.roles_mapping to test_role2;
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+set role test_role1;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role1
+show grants;
+Grants for test_user@localhost
+GRANT SELECT (Role) ON `mysql`.`roles_mapping` TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for column 'Host' in table 'roles_mapping'
+select Role from mysql.roles_mapping;
+Role
+test_role1
+test_role1
+test_role2
+test_role2
+show grants;
+Grants for test_user@localhost
+GRANT SELECT (Role) ON `mysql`.`roles_mapping` TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+use mysql;
+set role none;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+select Role from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+drop user 'test_user'@'localhost';
+select * from mysql.tables_priv;
+Host Db User Table_name Grantor Timestamp Table_priv Column_priv
+ mysql test_role2 roles_mapping root@localhost 0000-00-00 00:00:00 Select
+revoke select on mysql.roles_mapping from test_role2;
+delete from mysql.user where user like'test_%';
+delete from mysql.roles_mapping where Role like 'test%';
+flush privileges;
diff --git a/mysql-test/suite/roles/set_role-table-column-priv.test b/mysql-test/suite/roles/set_role-table-column-priv.test
new file mode 100644
index 00000000000..e154b259b04
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-table-column-priv.test
@@ -0,0 +1,56 @@
+source include/not_embedded.inc;
+
+create user test_user@localhost;
+create role test_role1;
+create role test_role2;
+
+grant test_role1 to test_user@localhost;
+grant test_role2 to test_role1;
+--sorted_result
+select user, host from mysql.user where user not like 'root';
+--sorted_result
+select * from mysql.roles_mapping;
+
+grant select (Role) on mysql.roles_mapping to test_role2;
+
+change_user 'test_user';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+--sorted_result
+show grants;
+
+select current_user(), current_role();
+set role test_role1;
+select current_user(), current_role();
+
+--sorted_result
+show grants;
+
+--error ER_COLUMNACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+--sorted_result
+select Role from mysql.roles_mapping;
+
+--sorted_result
+show grants;
+
+use mysql;
+
+set role none;
+select current_user(), current_role();
+
+--sorted_result
+--error ER_TABLEACCESS_DENIED_ERROR
+select Role from mysql.roles_mapping;
+
+change_user 'root';
+drop user 'test_user'@'localhost';
+select * from mysql.tables_priv;
+revoke select on mysql.roles_mapping from test_role2;
+delete from mysql.user where user like'test_%';
+delete from mysql.roles_mapping where Role like 'test%';
+
+flush privileges;
diff --git a/mysql-test/suite/roles/set_role-table-simple.result b/mysql-test/suite/roles/set_role-table-simple.result
new file mode 100644
index 00000000000..f5688dbe62e
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-table-simple.result
@@ -0,0 +1,67 @@
+create user test_user@localhost;
+create role test_role1;
+create role test_role2;
+grant test_role1 to test_user@localhost;
+grant test_role2 to test_role1;
+select user, host from mysql.user where user not like 'root';
+user host
+test_role1
+test_role2
+test_user localhost
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+localhost test_user test_role1 N
+grant select on mysql.roles_mapping to test_role2;
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+set role test_role1;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role1
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON `mysql`.`roles_mapping` TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+localhost test_user test_role1 N
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON `mysql`.`roles_mapping` TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+use mysql;
+set role none;
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+select * from mysql.roles_mapping;
+ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
+drop user 'test_user'@'localhost';
+select * from mysql.tables_priv;
+Host Db User Table_name Grantor Timestamp Table_priv Column_priv
+ mysql test_role2 roles_mapping root@localhost 0000-00-00 00:00:00 Select
+revoke select on mysql.roles_mapping from test_role2;
+delete from mysql.user where user like'test_%';
+delete from mysql.roles_mapping where Role like 'test%';
+flush privileges;
diff --git a/mysql-test/suite/roles/set_role-table-simple.test b/mysql-test/suite/roles/set_role-table-simple.test
new file mode 100644
index 00000000000..8de7781927a
--- /dev/null
+++ b/mysql-test/suite/roles/set_role-table-simple.test
@@ -0,0 +1,53 @@
+source include/not_embedded.inc;
+
+create user test_user@localhost;
+create role test_role1;
+create role test_role2;
+
+grant test_role1 to test_user@localhost;
+grant test_role2 to test_role1;
+--sorted_result
+select user, host from mysql.user where user not like 'root';
+--sorted_result
+select * from mysql.roles_mapping;
+
+grant select on mysql.roles_mapping to test_role2;
+
+change_user 'test_user';
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+--sorted_result
+show grants;
+
+select current_user(), current_role();
+set role test_role1;
+select current_user(), current_role();
+
+--sorted_result
+show grants;
+
+--sorted_result
+select * from mysql.roles_mapping;
+
+--sorted_result
+show grants;
+
+use mysql;
+
+set role none;
+select current_user(), current_role();
+
+--sorted_result
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysql.roles_mapping;
+
+change_user 'root';
+drop user 'test_user'@'localhost';
+select * from mysql.tables_priv;
+revoke select on mysql.roles_mapping from test_role2;
+delete from mysql.user where user like'test_%';
+delete from mysql.roles_mapping where Role like 'test%';
+
+flush privileges;
diff --git a/mysql-test/suite/roles/show_create_database-10463.result b/mysql-test/suite/roles/show_create_database-10463.result
new file mode 100644
index 00000000000..1bf14933966
--- /dev/null
+++ b/mysql-test/suite/roles/show_create_database-10463.result
@@ -0,0 +1,65 @@
+drop database if exists db;
+Warnings:
+Note 1008 Can't drop database 'db'; database doesn't exist
+create role r1;
+create user beep@'%';
+create database db;
+create table db.t1 (i int);
+create table db.t2 (b int);
+grant select on db.* to r1;
+grant r1 to beep@'%';
+show databases;
+Database
+information_schema
+test
+show create database db;
+ERROR 42000: Access denied for user 'beep'@'localhost' to database 'db'
+select table_schema, table_name from information_schema.tables
+where table_schema = 'db';
+table_schema table_name
+set role r1;
+show databases;
+Database
+db
+information_schema
+test
+show create database db;
+Database Create Database
+db CREATE DATABASE `db` /*!40100 DEFAULT CHARACTER SET latin1 */
+select table_schema, table_name from information_schema.tables
+where table_schema = 'db';
+table_schema table_name
+db t1
+db t2
+create role r2;
+create user beep2@'%';
+grant update on db.* to r2;
+grant r2 to beep2;
+show databases;
+Database
+information_schema
+test
+show create database db;
+ERROR 42000: Access denied for user 'beep2'@'localhost' to database 'db'
+select table_schema, table_name from information_schema.tables
+where table_schema = 'db';
+table_schema table_name
+set role r2;
+show databases;
+Database
+db
+information_schema
+test
+show create database db;
+Database Create Database
+db CREATE DATABASE `db` /*!40100 DEFAULT CHARACTER SET latin1 */
+select table_schema, table_name from information_schema.tables
+where table_schema = 'db';
+table_schema table_name
+db t1
+db t2
+drop database db;
+drop role r1;
+drop user beep;
+drop role r2;
+drop user beep2;
diff --git a/mysql-test/suite/roles/show_create_database-10463.test b/mysql-test/suite/roles/show_create_database-10463.test
new file mode 100644
index 00000000000..2d921629c10
--- /dev/null
+++ b/mysql-test/suite/roles/show_create_database-10463.test
@@ -0,0 +1,55 @@
+source include/not_embedded.inc;
+
+drop database if exists db;
+
+create role r1;
+create user beep@'%';
+
+create database db;
+create table db.t1 (i int);
+create table db.t2 (b int);
+grant select on db.* to r1;
+grant r1 to beep@'%';
+
+--connect (con1,localhost,beep,,)
+show databases;
+--error ER_DBACCESS_DENIED_ERROR
+show create database db;
+select table_schema, table_name from information_schema.tables
+where table_schema = 'db';
+
+set role r1;
+show databases;
+show create database db;
+select table_schema, table_name from information_schema.tables
+where table_schema = 'db';
+
+
+connection default;
+create role r2;
+create user beep2@'%';
+
+grant update on db.* to r2;
+grant r2 to beep2;
+--connect (con2,localhost,beep2,,)
+show databases;
+--error ER_DBACCESS_DENIED_ERROR
+show create database db;
+select table_schema, table_name from information_schema.tables
+where table_schema = 'db';
+
+set role r2;
+show databases;
+
+show create database db;
+select table_schema, table_name from information_schema.tables
+where table_schema = 'db';
+
+
+connection default;
+
+drop database db;
+drop role r1;
+drop user beep;
+drop role r2;
+drop user beep2;
diff --git a/mysql-test/suite/roles/show_grants.result b/mysql-test/suite/roles/show_grants.result
new file mode 100644
index 00000000000..5d46b038cf8
--- /dev/null
+++ b/mysql-test/suite/roles/show_grants.result
@@ -0,0 +1,148 @@
+create user test_user@localhost;
+create role test_role1;
+create role test_role2;
+grant test_role1 to test_user@localhost;
+grant test_role2 to test_user@localhost;
+grant test_role2 to test_role1;
+select user, host from mysql.user where user not like 'root';
+user host
+test_role1
+test_role2
+test_user localhost
+select * from mysql.roles_mapping;
+Host User Role Admin_option
+ test_role1 test_role2 N
+localhost root test_role1 Y
+localhost root test_role2 Y
+localhost test_user test_role1 N
+localhost test_user test_role2 N
+select user, host from mysql.db;
+user host
+ %
+ %
+grant select on mysql.* to test_role2;
+flush privileges;
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+root@localhost test_role1 YES NO
+root@localhost test_role2 YES NO
+test_role1 test_role2 NO NULL
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+test_role1 test_role2 NO NULL
+test_user@localhost test_role1 NO NO
+test_user@localhost test_role2 NO NO
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_user'@'localhost'
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+set role test_role1;
+select * from information_schema.enabled_roles;
+ROLE_NAME
+test_role1
+test_role2
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role1
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON `mysql`.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_role1'
+GRANT test_role2 TO 'test_user'@'localhost'
+set role none;
+select * from information_schema.enabled_roles;
+ROLE_NAME
+NULL
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost NULL
+show grants;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_user'@'localhost'
+show grants for test_user@localhost;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_user'@'localhost'
+show grants for test_role1;
+ERROR 42000: Access denied for user 'test_user'@'localhost' to database 'mysql'
+show grants for test_role2;
+ERROR 42000: Access denied for user 'test_user'@'localhost' to database 'mysql'
+show grants for CURRENT_USER;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_user'@'localhost'
+show grants for CURRENT_USER();
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_user'@'localhost'
+show grants for CURRENT_ROLE;
+ERROR 42000: There is no such grant defined for user 'test_user' on host 'localhost'
+show grants for CURRENT_ROLE();
+ERROR 42000: There is no such grant defined for user 'test_user' on host 'localhost'
+set role test_role2;
+select * from information_schema.enabled_roles;
+ROLE_NAME
+test_role2
+select current_user(), current_role();
+current_user() current_role()
+test_user@localhost test_role2
+show grants;
+Grants for test_user@localhost
+GRANT SELECT ON `mysql`.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_user'@'localhost'
+show grants for test_user@localhost;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_user'@'localhost'
+show grants for test_role1;
+Grants for test_role1
+GRANT SELECT ON `mysql`.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role1'
+GRANT USAGE ON *.* TO 'test_role2'
+GRANT test_role2 TO 'test_role1'
+show grants for test_role2;
+Grants for test_role2
+GRANT SELECT ON `mysql`.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role2'
+show grants for CURRENT_USER;
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_user'@'localhost'
+show grants for CURRENT_USER();
+Grants for test_user@localhost
+GRANT USAGE ON *.* TO 'test_user'@'localhost'
+GRANT test_role1 TO 'test_user'@'localhost'
+GRANT test_role2 TO 'test_user'@'localhost'
+show grants for CURRENT_ROLE;
+Grants for test_role2
+GRANT SELECT ON `mysql`.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role2'
+show grants for CURRENT_ROLE();
+Grants for test_role2
+GRANT SELECT ON `mysql`.* TO 'test_role2'
+GRANT USAGE ON *.* TO 'test_role2'
+drop user 'test_user'@'localhost';
+revoke select on mysql.* from test_role2;
+drop role test_role1;
+drop role test_role2;
+delete from mysql.roles_mapping where Role='test_role1';
+delete from mysql.roles_mapping where Role='test_role2';
+flush privileges;
diff --git a/mysql-test/suite/roles/show_grants.test b/mysql-test/suite/roles/show_grants.test
new file mode 100644
index 00000000000..9c15d8b8b2b
--- /dev/null
+++ b/mysql-test/suite/roles/show_grants.test
@@ -0,0 +1,90 @@
+source include/not_embedded.inc;
+
+#create a user with no privileges
+create user test_user@localhost;
+create role test_role1;
+create role test_role2;
+
+grant test_role1 to test_user@localhost;
+grant test_role2 to test_user@localhost;
+grant test_role2 to test_role1;
+--sorted_result
+select user, host from mysql.user where user not like 'root';
+--sorted_result
+select * from mysql.roles_mapping;
+
+--sorted_result
+select user, host from mysql.db;
+
+grant select on mysql.* to test_role2;
+flush privileges;
+
+--sorted_result
+select * from information_schema.applicable_roles;
+
+change_user 'test_user';
+
+--sorted_result
+select * from information_schema.applicable_roles;
+
+--sorted_result
+show grants;
+select current_user(), current_role();
+set role test_role1;
+--sorted_result
+select * from information_schema.enabled_roles;
+select current_user(), current_role();
+--sorted_result
+show grants;
+set role none;
+--sorted_result
+select * from information_schema.enabled_roles;
+select current_user(), current_role();
+--sorted_result
+show grants;
+
+--sorted_result
+show grants for test_user@localhost;
+--error ER_DBACCESS_DENIED_ERROR
+show grants for test_role1;
+--error ER_DBACCESS_DENIED_ERROR
+show grants for test_role2;
+--sorted_result
+show grants for CURRENT_USER;
+--sorted_result
+show grants for CURRENT_USER();
+--error ER_NONEXISTING_GRANT
+show grants for CURRENT_ROLE;
+--error ER_NONEXISTING_GRANT
+show grants for CURRENT_ROLE();
+
+set role test_role2;
+--sorted_result
+select * from information_schema.enabled_roles;
+select current_user(), current_role();
+--sorted_result
+show grants;
+--sorted_result
+show grants for test_user@localhost;
+--sorted_result
+show grants for test_role1;
+--sorted_result
+show grants for test_role2;
+--sorted_result
+show grants for CURRENT_USER;
+--sorted_result
+show grants for CURRENT_USER();
+--sorted_result
+show grants for CURRENT_ROLE;
+--sorted_result
+show grants for CURRENT_ROLE();
+
+
+change_user 'root';
+drop user 'test_user'@'localhost';
+revoke select on mysql.* from test_role2;
+drop role test_role1;
+drop role test_role2;
+delete from mysql.roles_mapping where Role='test_role1';
+delete from mysql.roles_mapping where Role='test_role2';
+flush privileges;
diff --git a/mysql-test/suite/roles/show_grants_replicated.result b/mysql-test/suite/roles/show_grants_replicated.result
new file mode 100644
index 00000000000..0b2e38d3630
--- /dev/null
+++ b/mysql-test/suite/roles/show_grants_replicated.result
@@ -0,0 +1,57 @@
+include/master-slave.inc
+[connection master]
+create user u1;
+create role r1;
+#
+# On master SHOW GRANTS work both for the user and the role:
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+show grants for r1;
+Grants for r1
+GRANT USAGE ON *.* TO 'r1'
+#
+connection slave;
+#
+# The role has been replicated,
+# it's visible in mysql.user and I_S:
+#
+select user, host, is_role from mysql.user where user in ('u1', 'r1');
+user host is_role
+r1 Y
+u1 % N
+select * from information_schema.applicable_roles;
+GRANTEE ROLE_NAME IS_GRANTABLE IS_DEFAULT
+root@localhost r1 YES NO
+#
+# Check show grants for the new user.
+show grants for u1;
+Grants for u1@%
+GRANT USAGE ON *.* TO 'u1'@'%'
+#
+# Check show grants for the new role.
+show grants for r1;
+Grants for r1
+GRANT USAGE ON *.* TO 'r1'
+#
+# Check if flushing privileges preserves the state.
+flush privileges;
+show grants for r1;
+Grants for r1
+GRANT USAGE ON *.* TO 'r1'
+#
+# Check SHOW GRANTS after setting the role.
+set role r1;
+show grants;
+Grants for root@localhost
+GRANT r1 TO 'root'@'localhost' WITH ADMIN OPTION
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT USAGE ON *.* TO 'r1'
+show grants for r1;
+Grants for r1
+GRANT USAGE ON *.* TO 'r1'
+connection master;
+drop role r1;
+drop user u1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/roles/show_grants_replicated.test b/mysql-test/suite/roles/show_grants_replicated.test
new file mode 100644
index 00000000000..1d4572bb297
--- /dev/null
+++ b/mysql-test/suite/roles/show_grants_replicated.test
@@ -0,0 +1,41 @@
+--source include/master-slave.inc
+
+--enable_connect_log
+
+create user u1;
+create role r1;
+--echo #
+--echo # On master SHOW GRANTS work both for the user and the role:
+show grants for u1;
+show grants for r1;
+--echo #
+--sync_slave_with_master
+--echo #
+--echo # The role has been replicated,
+--echo # it's visible in mysql.user and I_S:
+--echo #
+--sorted_result
+select user, host, is_role from mysql.user where user in ('u1', 'r1');
+select * from information_schema.applicable_roles;
+--echo #
+--echo # Check show grants for the new user.
+show grants for u1;
+--echo #
+--echo # Check show grants for the new role.
+show grants for r1;
+--echo #
+--echo # Check if flushing privileges preserves the state.
+flush privileges;
+show grants for r1;
+--echo #
+--echo # Check SHOW GRANTS after setting the role.
+set role r1;
+show grants;
+show grants for r1;
+
+connection master;
+drop role r1;
+drop user u1;
+--disable_connect_log
+--sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/disabled.def b/mysql-test/suite/rpl/disabled.def
index f9af9c30f5c..de3091a56e5 100644
--- a/mysql-test/suite/rpl/disabled.def
+++ b/mysql-test/suite/rpl/disabled.def
@@ -10,6 +10,6 @@
#
##############################################################################
-rpl_row_create_table : Bug#11759274 2010-02-27 andrei failed different way than earlier with bug#45576
rpl_spec_variables : BUG#11755836 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
rpl_get_master_version_and_clock : Bug#11766137 Jan 05 2011 joro Valgrind warnings rpl_get_master_version_and_clock
+rpl_partition_archive : MDEV-5077 2013-09-27 svoj Cannot exchange partition with archive table
diff --git a/mysql-test/suite/rpl/include/hrtime.inc b/mysql-test/suite/rpl/include/hrtime.inc
index b49bf0c7792..84af425c909 100644
--- a/mysql-test/suite/rpl/include/hrtime.inc
+++ b/mysql-test/suite/rpl/include/hrtime.inc
@@ -3,7 +3,7 @@
set time_zone='+03:00';
set timestamp=unix_timestamp('2011-01-01 01:01:01') + 0.123456;
-create table t1 (a timestamp(4), b varchar(100), c datetime(2));
+create table t1 (a timestamp(4) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b varchar(100), c datetime(2));
insert t1 (b,c) values (now(6), now(6));
diff --git a/mysql-test/suite/rpl/include/rpl_innodb_rows_counters.inc b/mysql-test/suite/rpl/include/rpl_innodb_rows_counters.inc
new file mode 100644
index 00000000000..b624853cd37
--- /dev/null
+++ b/mysql-test/suite/rpl/include/rpl_innodb_rows_counters.inc
@@ -0,0 +1,50 @@
+#########################################
+# Author: Benjamin Renard benj@fb.com
+# Date: 11/15/2013
+# Purpose: Showing the difference between current innodb rows stats and the ones recorded at the beginning of the test
+# Requirements: Having @[master|slave]_[system_]rows_[read|inserted|deleted|updated] counters already created
+#########################################
+
+--connection master
+--echo ==========MASTER==========
+
+select variable_value into @rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select @rows_read - @master_rows_read;
+select variable_value into @rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select @rows_updated - @master_rows_updated;
+select variable_value into @rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select @rows_deleted - @master_rows_deleted;
+select variable_value into @rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select @rows_inserted - @master_rows_inserted;
+
+select variable_value into @system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select @system_rows_read - @master_system_rows_read;
+select variable_value into @system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select @system_rows_updated - @master_system_rows_updated;
+select variable_value into @system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select @system_rows_deleted - @master_system_rows_deleted;
+select variable_value into @system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+select @system_rows_inserted - @master_system_rows_inserted;
+
+--sync_slave_with_master
+--echo ==========SLAVE===========
+
+select variable_value into @rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select @rows_read - @slave_rows_read;
+select variable_value into @rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select @rows_updated - @slave_rows_updated;
+select variable_value into @rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select @rows_deleted - @slave_rows_deleted;
+select variable_value into @rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select @rows_inserted - @slave_rows_inserted;
+
+select variable_value into @system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select @system_rows_read - @slave_system_rows_read;
+select variable_value into @system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select @system_rows_updated - @slave_system_rows_updated;
+select variable_value into @system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select @system_rows_deleted - @slave_system_rows_deleted;
+select variable_value into @system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+select @system_rows_inserted - @slave_system_rows_inserted;
+
+--connection master
diff --git a/mysql-test/suite/rpl/include/rpl_partition.inc b/mysql-test/suite/rpl/include/rpl_partition.inc
new file mode 100644
index 00000000000..9f16f769f54
--- /dev/null
+++ b/mysql-test/suite/rpl/include/rpl_partition.inc
@@ -0,0 +1,104 @@
+######## Create Table Section #########
+use test;
+
+#dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+eval CREATE TABLE test.regular_tbl(id INT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+ CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+ fkid INT, filler VARCHAR(255),
+ PRIMARY KEY(id))
+ ENGINE=$engine_type;
+
+eval CREATE TABLE test.byrange_tbl(id INT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+ CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+ fkid INT, filler VARCHAR(255),
+ PRIMARY KEY(id))
+ ENGINE=$engine_type
+ PARTITION BY RANGE(id)
+ (PARTITION pa100 values less than (100),
+ PARTITION paMax values less than MAXVALUE);
+
+######## Create SPs, Functions, Views and Triggers Section ##############
+
+delimiter |;
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+ DECLARE ins_count INT DEFAULT 99;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+
+ SET cur_user= "current_user@localhost";
+ SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+
+ WHILE ins_count > 0 DO
+ # Must use local variables for statment based replication
+ INSERT INTO test.regular_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ ins_count,'Non partitioned table! Going to test replication for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+END|
+
+CREATE PROCEDURE test.proc_byrange()
+BEGIN
+ DECLARE ins_count INT DEFAULT 200;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+
+ SET cur_user= "current_user@localhost";
+ SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.byrange_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ ins_count + 100,'Partitioned table! Going to test replication for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+END|
+
+delimiter ;|
+
+############ Finish Setup Section ###################
+
+
+############ Test Section ###################
+
+CALL test.proc_norm();
+SELECT count(*) as "Master regular" FROM test.regular_tbl;
+CALL test.proc_byrange();
+SELECT count(*) as "Master byrange" FROM test.byrange_tbl;
+show create table test.byrange_tbl;
+show create table test.regular_tbl;
+ALTER TABLE test.byrange_tbl EXCHANGE PARTITION pa100 WITH TABLE test.regular_tbl;
+--replace_column 2 date-time 3 USER 4 UUID
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+--replace_column 2 date-time 3 USER 4 UUID
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+--replace_column 2 date-time 3 USER 4 UUID
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+--replace_column 2 date-time 3 USER 4 UUID
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+
+--sync_slave_with_master
+connection slave;
+show create table test.byrange_tbl;
+show create table test.regular_tbl;
+SELECT count(*) "Slave norm" FROM test.regular_tbl;
+SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
+--replace_column 2 date-time 3 USER 4 UUID
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+--replace_column 2 date-time 3 USER 4 UUID
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+--replace_column 2 date-time 3 USER 4 UUID
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+--replace_column 2 date-time 3 USER 4 UUID
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+
+###### CLEAN UP SECTION ##############
+
+connection master;
+DROP PROCEDURE test.proc_norm;
+DROP PROCEDURE test.proc_byrange;
+DROP TABLE test.regular_tbl;
+DROP TABLE test.byrange_tbl;
diff --git a/mysql-test/suite/rpl/include/rpl_set_statement.inc b/mysql-test/suite/rpl/include/rpl_set_statement.inc
new file mode 100644
index 00000000000..6ab2d4e66c6
--- /dev/null
+++ b/mysql-test/suite/rpl/include/rpl_set_statement.inc
@@ -0,0 +1,31 @@
+#Check if the variable is replicated correctly with "SET STATEMENT"
+# Usage:
+# $rpl_ssvt_var_name - the name of tested variable;
+# $rpl_ssvt_var_value - the value to set;
+# $rpl_ssvt_table - the table name to insert values.
+
+--connection master
+--echo [connection master]
+eval SELECT @@$rpl_ssvt_var_name;
+
+--connection slave
+--echo [connection slave]
+eval SELECT @@$rpl_ssvt_var_name;
+
+--connection master
+--echo [connection master]
+--disable_result_log
+eval SET STATEMENT $rpl_ssvt_var_name=$rpl_ssvt_var_value FOR
+ INSERT INTO $rpl_ssvt_table VALUES(@@$rpl_ssvt_var_name);
+--enable_result_log
+eval SELECT @@$rpl_ssvt_var_name;
+
+--sync_slave_with_master
+--echo [connection slave]
+eval SELECT * FROM $rpl_ssvt_table;
+eval SELECT @@$rpl_ssvt_var_name;
+
+--connection master
+--echo [connection master]
+eval DELETE FROM $rpl_ssvt_table;
+
diff --git a/mysql-test/suite/rpl/r/circular_serverid0.result b/mysql-test/suite/rpl/r/circular_serverid0.result
new file mode 100644
index 00000000000..899b4bd343b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/circular_serverid0.result
@@ -0,0 +1,30 @@
+include/rpl_init.inc [topology=1->2->1]
+include/rpl_connect.inc [creating M4]
+include/rpl_connect.inc [creating M2]
+SET @old_debug= @@global.debug;
+STOP SLAVE;
+SET GLOBAL debug_dbug= "+d,dbug.rows_events_to_delay_relay_logging";
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_to_start.inc
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b VARCHAR(30000)) ENGINE=innodb;
+INSERT INTO `t1` VALUES (null, repeat('a', 1024)), (null, repeat('b', 1024));
+SET debug_sync='now WAIT_FOR start_sql_thread';
+START SLAVE SQL_THREAD;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b VARCHAR(30000)) ENGINE=innodb
+SET debug_sync='now SIGNAL go_on_relay_logging';
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b VARCHAR(30000)) ENGINE=innodb
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Table_map # # table_id: # (test.t1)
+slave-bin.000001 # Write_rows_v1 # # table_id: #
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Xid # # COMMIT /* XID */
+drop table t1;
+SET GLOBAL debug_dbug= @old_debug;
+SET debug_sync='RESET';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/create_or_replace2.result b/mysql-test/suite/rpl/r/create_or_replace2.result
new file mode 100644
index 00000000000..b96a0f8ae13
--- /dev/null
+++ b/mysql-test/suite/rpl/r/create_or_replace2.result
@@ -0,0 +1,31 @@
+include/master-slave.inc
+[connection master]
+#
+# MDEV-6525 ; Problems with CREATE OR REPLACE under lock
+#
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+CREATE FUNCTION f1() RETURNS INT RETURN ( SELECT MAX(a) FROM t1 );
+connect con1,localhost,root,,test;
+CREATE TEMPORARY TABLE tmp (b INT) ENGINE=InnoDB;
+LOCK TABLE t1 WRITE;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+CREATE OR REPLACE TABLE t1 LIKE tmp;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `b` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+connection default;
+set session lock_wait_timeout=1;
+SELECT f1();
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+set session lock_wait_timeout=@@global.lock_wait_timeout;
+SELECT f1();
+connection con1;
+unlock tables;
+connection default;
+ERROR 42S22: Unknown column 'a' in 'field list'
+disconnect con1;
+drop function f1;
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/create_or_replace_mix.result b/mysql-test/suite/rpl/r/create_or_replace_mix.result
new file mode 100644
index 00000000000..c6cce358799
--- /dev/null
+++ b/mysql-test/suite/rpl/r/create_or_replace_mix.result
@@ -0,0 +1,252 @@
+include/rpl_init.inc [topology=1->2]
+create table t2 (a int) engine=myisam;
+insert into t2 values (0),(1),(2),(2);
+create temporary table t3 (a_in_temporary int) engine=myisam;
+#
+# Check how create table and create or replace table are logged
+#
+create table t1 (to_be_deleted int);
+CREATE TABLE t1 AS SELECT 1 AS f1;
+CREATE OR REPLACE TABLE t1 AS SELECT 2 AS f1;
+CREATE OR REPLACE table t1 like t2;
+CREATE OR REPLACE table t1 like t3;
+drop table t1;
+binlog from server 1
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t2 (a int) engine=myisam
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; insert into t2 values (0),(1),(2),(2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create temporary table t3 (a_in_temporary int) engine=myisam
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 AS SELECT 1 AS f1
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t1 AS SELECT 2 AS f1
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t2
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t3
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t2 (a int) engine=myisam
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; insert into t2 values (0),(1),(2),(2)
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create temporary table t3 (a_in_temporary int) engine=myisam
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (to_be_deleted int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 AS SELECT 1 AS f1
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t1 AS SELECT 2 AS f1
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t2
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t3
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+#
+# Ensure that also failed create_or_replace are logged
+#
+create table t1 (a int);
+create or replace table t1;
+ERROR 42000: A table must have at least 1 column
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+create or replace table t1 (a int primary key) select a from t2;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+create table t1 (a int);
+create or replace table t1 (a int primary key) select a from t2;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+create temporary table t9 (a int);
+create or replace temporary table t9 (a int primary key) select a from t2;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+binlog from server 1
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create or replace table t1
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (a int)
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `test`.`t1`/* Generated to handle failed CREATE OR REPLACE */
+master-bin.000001 # Query # # ROLLBACK
+show tables;
+Tables_in_test
+t2
+create table t1 (a int);
+create or replace table t1 (a int, a int) select * from t2;
+ERROR 42S21: Duplicate column name 'a'
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (a int)
+drop table if exists t1,t2;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+drop temporary table if exists t9;
+Warnings:
+Note 1051 Unknown table 'test.t9'
+#
+# Ensure that CREATE are run as CREATE OR REPLACE on slave
+#
+create table t1 (server_2_to_be_delete int);
+create table t1 (new_table int);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `new_table` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+#
+# Check how CREATE is logged on slave in case of conflicts
+#
+create table t1 (server_2_to_be_delete int);
+create table t2 (server_2_to_be_delete int);
+create table t4 (server_2_to_be_delete int);
+set @org_binlog_format=@@binlog_format;
+set @@global.binlog_format="ROW";
+stop slave;
+include/wait_for_slave_to_stop.inc
+start slave;
+include/wait_for_slave_to_start.inc
+create temporary table t9 (a int);
+insert into t9 values(1);
+create table t1 (new_table int);
+create table t2 select * from t9;
+create table t4 like t9;
+create table t5 select * from t9;
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (server_2_to_be_delete int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t2 (server_2_to_be_delete int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t4 (server_2_to_be_delete int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (new_table int)
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+)
+slave-bin.000001 # Table_map # # table_id: # (test.t2)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t4` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t5` (
+ `a` int(11) DEFAULT NULL
+)
+slave-bin.000001 # Table_map # # table_id: # (test.t5)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+set @@global.binlog_format=@org_binlog_format;
+stop slave;
+include/wait_for_slave_to_stop.inc
+start slave;
+include/wait_for_slave_to_start.inc
+drop table t1,t2,t4,t5,t9;
+#
+# Ensure that DROP TABLE is run as DROP IF NOT EXISTS
+#
+create table t1 (server_1_ver_1 int);
+create table t4 (server_1_ver_2 int);
+drop table t1;
+drop table t1,t4;
+create table t1 (server_2_ver_2 int);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `server_2_ver_2` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t4` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (server_2_ver_2 int)
+drop table t1;
+#
+# Ensure that CREATE ... SELECT is recorded as one GTID on the slave
+#
+create table t1 (a int);
+insert into t1 values (0),(1),(2);
+create table t2 engine=myisam select * from t1;
+create or replace table t2 engine=innodb select * from t1;
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (a int)
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Table_map # # table_id: # (test.t1)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM
+slave-bin.000001 # Table_map # # table_id: # (test.t2)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB
+slave-bin.000001 # Table_map # # table_id: # (test.t2)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Xid # # COMMIT /* XID */
+drop table t1;
+#
+# Check logging of drop temporary table
+#
+drop temporary table t3;
+set @org_binlog_format=@@binlog_format;
+set binlog_format="STATEMENT";
+create temporary table t5 (a int);
+drop temporary table t5;
+set binlog_format="ROW";
+create temporary table t6 (a int);
+drop temporary table t6;
+set binlog_format="STATEMENT";
+create temporary table t7 (a int);
+set binlog_format="ROW";
+drop temporary table t7;
+create temporary table t8 (a int);
+set binlog_format="STATEMENT";
+ERROR HY000: Cannot switch out of the row-based binary log format when the session has open temporary tables
+drop temporary table t8;
+set @@binlog_format=@org_binlog_format;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create temporary table t5 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `t5` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create temporary table t7 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t7` /* generated by server */
+drop table t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/create_or_replace_row.result b/mysql-test/suite/rpl/r/create_or_replace_row.result
new file mode 100644
index 00000000000..8f032107db9
--- /dev/null
+++ b/mysql-test/suite/rpl/r/create_or_replace_row.result
@@ -0,0 +1,274 @@
+include/rpl_init.inc [topology=1->2]
+create table t2 (a int) engine=myisam;
+insert into t2 values (0),(1),(2),(2);
+create temporary table t3 (a_in_temporary int) engine=myisam;
+#
+# Check how create table and create or replace table are logged
+#
+create table t1 (to_be_deleted int);
+CREATE TABLE t1 AS SELECT 1 AS f1;
+CREATE OR REPLACE TABLE t1 AS SELECT 2 AS f1;
+CREATE OR REPLACE table t1 like t2;
+CREATE OR REPLACE table t1 like t3;
+drop table t1;
+binlog from server 1
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t2 (a int) engine=myisam
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE `t1` (
+ `f1` int(1) NOT NULL
+)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t1` (
+ `f1` int(1) NOT NULL
+)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t2
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t1` (
+ `a_in_temporary` int(11) DEFAULT NULL
+) ENGINE=MyISAM
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t2 (a int) engine=myisam
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Table_map # # table_id: # (test.t2)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (to_be_deleted int)
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t1` (
+ `f1` int(1) NOT NULL
+)
+slave-bin.000001 # Table_map # # table_id: # (test.t1)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t1` (
+ `f1` int(1) NOT NULL
+)
+slave-bin.000001 # Table_map # # table_id: # (test.t1)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t2
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t1` (
+ `a_in_temporary` int(11) DEFAULT NULL
+) ENGINE=MyISAM
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+#
+# Ensure that also failed create_or_replace are logged
+#
+create table t1 (a int);
+create or replace table t1;
+ERROR 42000: A table must have at least 1 column
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+create or replace table t1 (a int primary key) select a from t2;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+create table t1 (a int);
+create or replace table t1 (a int primary key) select a from t2;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+create temporary table t9 (a int);
+create or replace temporary table t9 (a int primary key) select a from t2;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+binlog from server 1
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create or replace table t1
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (a int)
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `test`.`t1`/* Generated to handle failed CREATE OR REPLACE */
+master-bin.000001 # Query # # ROLLBACK
+show tables;
+Tables_in_test
+t2
+create table t1 (a int);
+create or replace table t1 (a int, a int) select * from t2;
+ERROR 42S21: Duplicate column name 'a'
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (a int)
+drop table if exists t1,t2;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+drop temporary table if exists t9;
+Warnings:
+Note 1051 Unknown table 'test.t9'
+#
+# Ensure that CREATE are run as CREATE OR REPLACE on slave
+#
+create table t1 (server_2_to_be_delete int);
+create table t1 (new_table int);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `new_table` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+#
+# Check how CREATE is logged on slave in case of conflicts
+#
+create table t1 (server_2_to_be_delete int);
+create table t2 (server_2_to_be_delete int);
+create table t4 (server_2_to_be_delete int);
+set @org_binlog_format=@@binlog_format;
+set @@global.binlog_format="ROW";
+stop slave;
+include/wait_for_slave_to_stop.inc
+start slave;
+include/wait_for_slave_to_start.inc
+create temporary table t9 (a int);
+insert into t9 values(1);
+create table t1 (new_table int);
+create table t2 select * from t9;
+create table t4 like t9;
+create table t5 select * from t9;
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (server_2_to_be_delete int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t2 (server_2_to_be_delete int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t4 (server_2_to_be_delete int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (new_table int)
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+)
+slave-bin.000001 # Table_map # # table_id: # (test.t2)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t4` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t5` (
+ `a` int(11) DEFAULT NULL
+)
+slave-bin.000001 # Table_map # # table_id: # (test.t5)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+set @@global.binlog_format=@org_binlog_format;
+stop slave;
+include/wait_for_slave_to_stop.inc
+start slave;
+include/wait_for_slave_to_start.inc
+drop table t1,t2,t4,t5,t9;
+#
+# Ensure that DROP TABLE is run as DROP IF NOT EXISTS
+#
+create table t1 (server_1_ver_1 int);
+create table t4 (server_1_ver_2 int);
+drop table t1;
+drop table t1,t4;
+create table t1 (server_2_ver_2 int);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `server_2_ver_2` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t4` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (server_2_ver_2 int)
+drop table t1;
+#
+# Ensure that CREATE ... SELECT is recorded as one GTID on the slave
+#
+create table t1 (a int);
+insert into t1 values (0),(1),(2);
+create table t2 engine=myisam select * from t1;
+create or replace table t2 engine=innodb select * from t1;
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (a int)
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Table_map # # table_id: # (test.t1)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM
+slave-bin.000001 # Table_map # # table_id: # (test.t2)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB
+slave-bin.000001 # Table_map # # table_id: # (test.t2)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Xid # # COMMIT /* XID */
+drop table t1;
+#
+# Check logging of drop temporary table
+#
+drop temporary table t3;
+set @org_binlog_format=@@binlog_format;
+set binlog_format="STATEMENT";
+create temporary table t5 (a int);
+drop temporary table t5;
+set binlog_format="ROW";
+create temporary table t6 (a int);
+drop temporary table t6;
+set binlog_format="STATEMENT";
+create temporary table t7 (a int);
+set binlog_format="ROW";
+drop temporary table t7;
+create temporary table t8 (a int);
+set binlog_format="STATEMENT";
+ERROR HY000: Cannot switch out of the row-based binary log format when the session has open temporary tables
+drop temporary table t8;
+set @@binlog_format=@org_binlog_format;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create temporary table t5 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `t5` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create temporary table t7 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t7` /* generated by server */
+drop table t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/create_or_replace_statement.result b/mysql-test/suite/rpl/r/create_or_replace_statement.result
new file mode 100644
index 00000000000..7bdbc64e9f2
--- /dev/null
+++ b/mysql-test/suite/rpl/r/create_or_replace_statement.result
@@ -0,0 +1,244 @@
+include/rpl_init.inc [topology=1->2]
+create table t2 (a int) engine=myisam;
+insert into t2 values (0),(1),(2),(2);
+create temporary table t3 (a_in_temporary int) engine=myisam;
+#
+# Check how create table and create or replace table are logged
+#
+create table t1 (to_be_deleted int);
+CREATE TABLE t1 AS SELECT 1 AS f1;
+CREATE OR REPLACE TABLE t1 AS SELECT 2 AS f1;
+CREATE OR REPLACE table t1 like t2;
+CREATE OR REPLACE table t1 like t3;
+drop table t1;
+binlog from server 1
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t2 (a int) engine=myisam
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; insert into t2 values (0),(1),(2),(2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create temporary table t3 (a_in_temporary int) engine=myisam
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 AS SELECT 1 AS f1
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t1 AS SELECT 2 AS f1
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t2
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t3
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t2 (a int) engine=myisam
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; insert into t2 values (0),(1),(2),(2)
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create temporary table t3 (a_in_temporary int) engine=myisam
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (to_be_deleted int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 AS SELECT 1 AS f1
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t1 AS SELECT 2 AS f1
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t2
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE table t1 like t3
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+#
+# Ensure that also failed create_or_replace are logged
+#
+create table t1 (a int);
+create or replace table t1;
+ERROR 42000: A table must have at least 1 column
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+create or replace table t1 (a int primary key) select a from t2;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+create table t1 (a int);
+create or replace table t1 (a int primary key) select a from t2;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+create temporary table t9 (a int);
+create or replace temporary table t9 (a int primary key) select a from t2;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+binlog from server 1
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create or replace table t1
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `test`.`t1`/* Generated to handle failed CREATE OR REPLACE */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create temporary table t9 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t9`/* Generated to handle failed CREATE OR REPLACE */
+show tables;
+Tables_in_test
+t2
+create table t1 (a int);
+create or replace table t1 (a int, a int) select * from t2;
+ERROR 42S21: Duplicate column name 'a'
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (a int)
+drop table if exists t1,t2;
+Warnings:
+Note 1051 Unknown table 'test.t1'
+drop temporary table if exists t9;
+Warnings:
+Note 1051 Unknown table 'test.t9'
+#
+# Ensure that CREATE are run as CREATE OR REPLACE on slave
+#
+create table t1 (server_2_to_be_delete int);
+create table t1 (new_table int);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `new_table` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+#
+# Check how CREATE is logged on slave in case of conflicts
+#
+create table t1 (server_2_to_be_delete int);
+create table t2 (server_2_to_be_delete int);
+create table t4 (server_2_to_be_delete int);
+set @org_binlog_format=@@binlog_format;
+set @@global.binlog_format="ROW";
+stop slave;
+include/wait_for_slave_to_stop.inc
+start slave;
+include/wait_for_slave_to_start.inc
+create temporary table t9 (a int);
+insert into t9 values(1);
+create table t1 (new_table int);
+create table t2 select * from t9;
+create table t4 like t9;
+create table t5 select * from t9;
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (server_2_to_be_delete int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t2 (server_2_to_be_delete int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t4 (server_2_to_be_delete int)
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (new_table int)
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+)
+slave-bin.000001 # Table_map # # table_id: # (test.t2)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t4` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t5` (
+ `a` int(11) DEFAULT NULL
+)
+slave-bin.000001 # Table_map # # table_id: # (test.t5)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+set @@global.binlog_format=@org_binlog_format;
+stop slave;
+include/wait_for_slave_to_stop.inc
+start slave;
+include/wait_for_slave_to_start.inc
+drop table t1,t2,t4,t5,t9;
+#
+# Ensure that DROP TABLE is run as DROP IF NOT EXISTS
+#
+create table t1 (server_1_ver_1 int);
+create table t4 (server_1_ver_2 int);
+drop table t1;
+drop table t1,t4;
+create table t1 (server_2_ver_2 int);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `server_2_ver_2` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t4` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (server_2_ver_2 int)
+drop table t1;
+#
+# Ensure that CREATE ... SELECT is recorded as one GTID on the slave
+#
+create table t1 (a int);
+insert into t1 values (0),(1),(2);
+create table t2 engine=myisam select * from t1;
+create or replace table t2 engine=innodb select * from t1;
+binlog from server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (a int)
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; insert into t1 values (0),(1),(2)
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t2 engine=myisam select * from t1
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create or replace table t2 engine=innodb select * from t1
+drop table t1;
+#
+# Check logging of drop temporary table
+#
+drop temporary table t3;
+set @org_binlog_format=@@binlog_format;
+set binlog_format="STATEMENT";
+create temporary table t5 (a int);
+drop temporary table t5;
+set binlog_format="ROW";
+create temporary table t6 (a int);
+drop temporary table t6;
+set binlog_format="STATEMENT";
+create temporary table t7 (a int);
+set binlog_format="ROW";
+drop temporary table t7;
+create temporary table t8 (a int);
+set binlog_format="STATEMENT";
+ERROR HY000: Cannot switch out of the row-based binary log format when the session has open temporary tables
+drop temporary table t8;
+set @@binlog_format=@org_binlog_format;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create temporary table t5 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `t5` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create temporary table t7 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t7` /* generated by server */
+drop table t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/create_select.result b/mysql-test/suite/rpl/r/create_select.result
new file mode 100644
index 00000000000..ac222824e34
--- /dev/null
+++ b/mysql-test/suite/rpl/r/create_select.result
@@ -0,0 +1,30 @@
+include/rpl_init.inc [topology=1->2->3]
+# On server_1
+CREATE DATABASE test_8428;
+USE test_8428;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1), (2), (3), (4), (5);
+CREATE TABLE t2 AS SELECT * FROM t1;
+CREATE TABLE t3 ENGINE=MyISAM AS SELECT * FROM t1;
+# On server_2
+SHOW TABLES IN test_8428;
+Tables_in_test_8428
+t1
+t2
+t3
+# On server_3
+SHOW TABLES IN test_8428;
+Tables_in_test_8428
+t1
+t2
+t3
+SELECT * from test_8428.t1;
+i
+1
+2
+3
+4
+5
+DROP DATABASE test_8428;
+include/rpl_end.inc
+# End of test
diff --git a/mysql-test/suite/rpl/r/ignore_table_autoinc-9737.result b/mysql-test/suite/rpl/r/ignore_table_autoinc-9737.result
new file mode 100644
index 00000000000..b036bde349a
--- /dev/null
+++ b/mysql-test/suite/rpl/r/ignore_table_autoinc-9737.result
@@ -0,0 +1,19 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+create table t1(id int auto_increment primary key);
+create table t2(id int auto_increment primary key);
+create table slave_only(id int auto_increment primary key);
+insert into slave_only values(NULL);
+create trigger t1i after insert on t1 for each row insert into slave_only values(NULL);
+stop slave;
+set global replicate_ignore_table="test.t2";
+start slave;
+insert into t2 values(NULL);
+insert into t1 values(NULL);
+drop table t1, t2, slave_only;
+stop slave;
+set global replicate_ignore_table="";
+start slave;
+drop table t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/myisam_external_lock.result b/mysql-test/suite/rpl/r/myisam_external_lock.result
index db23e2cd2d9..ef24f8b4e3c 100644
--- a/mysql-test/suite/rpl/r/myisam_external_lock.result
+++ b/mysql-test/suite/rpl/r/myisam_external_lock.result
@@ -2,7 +2,7 @@ include/master-slave.inc
[connection master]
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE `t1` (`col1` int(11) NOT NULL,`col2` int(11) NOT NULL,
PRIMARY KEY (`col1`,`col2`),
KEY `col2` (`col2`)
diff --git a/mysql-test/suite/rpl/r/mysql-wsrep#110-2.result b/mysql-test/suite/rpl/r/mysql-wsrep#110-2.result
new file mode 100644
index 00000000000..fd07dfce188
--- /dev/null
+++ b/mysql-test/suite/rpl/r/mysql-wsrep#110-2.result
@@ -0,0 +1,24 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t3 (f1 INTEGER PRIMARY KEY);
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW CALL p1(NEW.f1);
+CREATE PROCEDURE p1 (IN x INT)
+BEGIN
+DECLARE EXIT HANDLER FOR SQLEXCEPTION
+BEGIN
+ROLLBACK TO event_logging;
+INSERT t3 VALUES (x);
+END;
+SAVEPOINT event_logging;
+INSERT INTO t2 VALUES (x);
+RELEASE SAVEPOINT event_logging;
+END|
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+DROP TABLE t3;
+DROP TABLE t2;
+DROP TABLE t1;
+DROP PROCEDURE p1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rename.result b/mysql-test/suite/rpl/r/rename.result
new file mode 100644
index 00000000000..5cedea51c86
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rename.result
@@ -0,0 +1,34 @@
+include/master-slave.inc
+[connection master]
+#
+# MDEV-16229 Replication aborts with ER_VIEW_SELECT_TMPTABLE after
+# half-failed RENAME
+#
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t1 (b INT);
+RENAME TABLE t1 TO tmp, tmp TO t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TEMPORARY TABLE `t1` (
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+CREATE VIEW v AS SELECT * FROM t1;
+ERROR HY000: View's SELECT refers to a temporary table 't1'
+RENAME TABLE t1 TO tmp, t1 TO t2;
+SHOW CREATE TABLE tmp;
+Table Create Table
+tmp CREATE TEMPORARY TABLE `tmp` (
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+CREATE VIEW v AS SELECT * FROM tmp;
+ERROR HY000: View's SELECT refers to a temporary table 'tmp'
+CREATE VIEW v AS SELECT * FROM t2;
+DROP VIEW v;
+DROP TABLE tmp;
+DROP TABLE t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/replace.result b/mysql-test/suite/rpl/r/replace.result
index 855c54ef8fa..f6f73e8885e 100644
--- a/mysql-test/suite/rpl/r/replace.result
+++ b/mysql-test/suite/rpl/r/replace.result
@@ -2,7 +2,7 @@ include/master-slave.inc
[connection master]
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (pr_id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, pr_page int(11) NOT NULL, pr_type varbinary(60) NOT NULL, test int, UNIQUE KEY pr_pagetype (pr_page,pr_type)) ENGINE=myisam AUTO_INCREMENT=136;
insert into t1 (pr_page, pr_type, test) values(1,"one",0),(2,"two",0);
select * from t1;
diff --git a/mysql-test/suite/rpl/r/rpl_000013.result b/mysql-test/suite/rpl/r/rpl_000013.result
index e94a469e970..a45f11c4b5e 100644
--- a/mysql-test/suite/rpl/r/rpl_000013.result
+++ b/mysql-test/suite/rpl/r/rpl_000013.result
@@ -21,5 +21,5 @@ Variable_name Value
Slave_open_temp_tables 0
drop table if exists t1,t2;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_EE_err.result b/mysql-test/suite/rpl/r/rpl_EE_err.result
index 8220f4e0c8d..1f605935005 100644
--- a/mysql-test/suite/rpl/r/rpl_EE_err.result
+++ b/mysql-test/suite/rpl/r/rpl_EE_err.result
@@ -4,5 +4,5 @@ create table t1 (a int) engine=myisam;
flush tables;
drop table if exists t1;
Warnings:
-Warning 2 Can't find file: 't1' (errno: 2)
+Warning 1017 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_alter.result b/mysql-test/suite/rpl/r/rpl_alter.result
index 7be3bc576f3..608526ea79f 100644
--- a/mysql-test/suite/rpl/r/rpl_alter.result
+++ b/mysql-test/suite/rpl/r/rpl_alter.result
@@ -35,7 +35,7 @@ alter table t1 modify a bigint;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bigint(20) NOT NULL DEFAULT '0',
+ `a` bigint(20) NOT NULL,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -47,7 +47,7 @@ alter table t1 modify a int unsigned;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(10) unsigned NOT NULL DEFAULT '0',
+ `a` int(10) unsigned NOT NULL,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -59,7 +59,7 @@ alter table t1 modify a bigint unsigned;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `a` bigint(20) unsigned NOT NULL,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -75,7 +75,7 @@ a b
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `a` bigint(20) unsigned NOT NULL,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -91,7 +91,7 @@ alter table t2 modify a bigint;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` bigint(20) NOT NULL DEFAULT '0',
+ `a` bigint(20) NOT NULL,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
diff --git a/mysql-test/suite/rpl/r/rpl_alter_extra_persistent.result b/mysql-test/suite/rpl/r/rpl_alter_extra_persistent.result
new file mode 100644
index 00000000000..84915073d87
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_alter_extra_persistent.result
@@ -0,0 +1,220 @@
+include/master-slave.inc
+[connection master]
+connection master;
+create table t1(a int primary key);
+insert into t1 values(1);
+insert into t1 values(2);
+insert into t1 values(3);
+insert into t1 values(4);
+connection slave;
+select * from t1 order by a;
+a
+1
+2
+3
+4
+alter table t1 add column z1 int as(a+1) virtual, add column z2 int as (a+2) persistent;
+select * from t1 order by a;
+a z1 z2
+1 2 3
+2 3 4
+3 4 5
+4 5 6
+connection master;
+insert into t1 values(5);
+insert into t1 values(6);
+connection slave;
+select * from t1 order by a;
+a z1 z2
+1 2 3
+2 3 4
+3 4 5
+4 5 6
+5 6 7
+6 7 8
+#UPDATE query
+connection master;
+update t1 set a = a+10;
+select * from t1 order by a;
+a
+11
+12
+13
+14
+15
+16
+connection slave;
+select * from t1 order by a;
+a z1 z2
+11 12 13
+12 13 14
+13 14 15
+14 15 16
+15 16 17
+16 17 18
+connection master;
+update t1 set a = a-10;
+select * from t1 order by a;
+a
+1
+2
+3
+4
+5
+6
+connection slave;
+select * from t1 order by a;
+a z1 z2
+1 2 3
+2 3 4
+3 4 5
+4 5 6
+5 6 7
+6 7 8
+#DELETE quert
+connection master;
+delete from t1 where a > 2 and a < 4;
+select * from t1 order by a;
+a
+1
+2
+4
+5
+6
+connection slave;
+select * from t1 order by a;
+a z1 z2
+1 2 3
+2 3 4
+4 5 6
+5 6 7
+6 7 8
+#REPLACE query
+connection master;
+replace into t1 values(1);
+replace into t1 values(3);
+replace into t1 values(1);
+connection slave;
+select * from t1 order by a;
+a z1 z2
+1 2 3
+2 3 4
+3 4 5
+4 5 6
+5 6 7
+6 7 8
+#SELECT query
+connection master;
+select * from t1 where a > 2 and a < 4;
+a
+3
+connection slave;
+select * from t1 where a > 2 and a < 4;
+a z1 z2
+3 4 5
+#UPDATE with SELECT query
+connection master;
+update t1 set a = a + 10 where a > 2 and a < 4;
+select * from t1 order by a;
+a
+1
+2
+4
+5
+6
+13
+connection slave;
+select * from t1 order by a;
+a z1 z2
+1 2 3
+2 3 4
+4 5 6
+5 6 7
+6 7 8
+13 14 15
+connection master;
+update t1 set a = a - 10 where a = 13;
+select * from t1 order by a;
+a
+1
+2
+3
+4
+5
+6
+connection slave;
+select * from t1 order by a;
+a z1 z2
+1 2 3
+2 3 4
+3 4 5
+4 5 6
+5 6 7
+6 7 8
+#Break Unique Constraint
+alter table t1 add column z4 int as (a % 6) persistent unique;
+connection master;
+#entering duplicate value for slave persistent column
+insert into t1 values(7);
+select * from t1 order by a;
+a
+1
+2
+3
+4
+5
+6
+7
+connection slave;
+include/wait_for_slave_sql_error.inc [errno=1062]
+connection slave;
+connection slave;
+select * from t1 order by a;
+a z1 z2 z4
+1 2 3 1
+2 3 4 2
+3 4 5 3
+4 5 6 4
+5 6 7 5
+6 7 8 0
+alter table t1 drop column z4;
+start slave;
+include/wait_for_slave_sql_to_start.inc
+connection slave;
+connection slave;
+connection master;
+connection slave;
+select * from t1 order by a;
+a z1 z2
+1 2 3
+2 3 4
+3 4 5
+4 5 6
+5 6 7
+6 7 8
+7 8 9
+connection master;
+select * from t1 order by a;
+a
+1
+2
+3
+4
+5
+6
+7
+drop table t1;
+include/rpl_end.inc
+connection server_2;
+connection server_2;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_1;
+connection server_1;
+connection server_2;
+connection server_1;
+connection server_2;
+connection server_2;
+connection server_1;
+connection server_1;
diff --git a/mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result b/mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result
index af84978dc80..6cc95fc0743 100644
--- a/mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result
+++ b/mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result
@@ -35,72 +35,72 @@ update t3 set a = a + 5 where b = 2;
delete from t1 where b = 2;
delete from t3 where b = 2;
# To verify if insert/update in an autoinc column causes statement to be logged in row format
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; insert into t2(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert into t4(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; update t1 set a = a + 5 where b = 1
master-bin.000001 # Query # # use `test`; update t3 set a = a + 5 where b = 1
master-bin.000001 # Query # # use `test`; delete from t1 where b = 1
master-bin.000001 # Query # # use `test`; delete from t3 where b = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; update t1 set a = a + 5 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; update t3 set a = a + 5 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t1 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t3 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
commit;
@@ -151,72 +151,72 @@ update t3 set a = a + 5 where b = 2;
delete from t1 where b = 2;
delete from t3 where b = 2;
# To verify if insert/update in an autoinc column causes statement to be logged in row format
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; insert into t2(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert into t4(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; update t1 set a = a + 5 where b = 1
master-bin.000001 # Query # # use `test`; update t3 set a = a + 5 where b = 1
master-bin.000001 # Query # # use `test`; delete from t1 where b = 1
master-bin.000001 # Query # # use `test`; delete from t3 where b = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; update t1 set a = a + 5 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; update t3 set a = a + 5 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t1 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t3 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
commit;
@@ -267,72 +267,72 @@ update t3 set a = a + 5 where b = 2;
delete from t1 where b = 2;
delete from t3 where b = 2;
# To verify if insert/update in an autoinc column causes statement to be logged in row format
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; insert into t2(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert into t4(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1(a,b) values(1,1),(2,1)
master-bin.000001 # Query # # use `test`; insert into t3(a,b) values(1,1),(2,1)
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; delete from t1 where b = 1
master-bin.000001 # Query # # use `test`; delete from t3 where b = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1(a,b) values(4,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t3(a,b) values(4,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t1 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t3 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
commit;
@@ -383,72 +383,72 @@ update t3 set a = a + 5 where b = 2;
delete from t1 where b = 2;
delete from t3 where b = 2;
# To verify if insert/update in an autoinc column causes statement to be logged in row format
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; insert into t2(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert into t4(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1(a,b) values(1,1),(2,1)
master-bin.000001 # Query # # use `test`; insert into t3(a,b) values(1,1),(2,1)
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; delete from t1 where b = 1
master-bin.000001 # Query # # use `test`; delete from t3 where b = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1(a,b) values(4,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t3(a,b) values(4,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t1 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; delete from t3 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
commit;
@@ -499,73 +499,73 @@ update t3 set a = a + 5 where b = 2;
delete from t1 where b = 2;
delete from t3 where b = 2;
# To verify if insert/update in an autoinc column causes statement to be logged in row format
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; insert into t2(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert into t4(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1(a,b) values(1,1),(2,1)
master-bin.000001 # Query # # use `test`; insert into t3(a,b) values(1,1),(2,1)
master-bin.000001 # Query # # use `test`; update t1 set a = a + 5 where b = 1
master-bin.000001 # Query # # use `test`; update t3 set a = a + 5 where b = 1
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Delete_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Delete_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Delete_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Delete_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Delete_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Delete_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Delete_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Delete_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1(a,b) values(4,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t3(a,b) values(4,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; update t1 set a = a + 5 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; update t3 set a = a + 5 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Delete_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Delete_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Delete_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Delete_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
@@ -615,73 +615,73 @@ update t3 set a = a + 5 where b = 2;
delete from t1 where b = 2;
delete from t3 where b = 2;
# To verify if insert/update in an autoinc column causes statement to be logged in row format
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; insert into t2(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert into t4(a) values(3)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1(a,b) values(1,1),(2,1)
master-bin.000001 # Query # # use `test`; insert into t3(a,b) values(1,1),(2,1)
master-bin.000001 # Query # # use `test`; update t1 set a = a + 5 where b = 1
master-bin.000001 # Query # # use `test`; update t3 set a = a + 5 where b = 1
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Delete_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Delete_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Delete_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Delete_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1(a,b) values(4,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t3(a,b) values(4,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; update t1 set a = a + 5 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; update t3 set a = a + 5 where b = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t3)
master-bin.000001 # Table_map # # table_id: # (test.t5)
master-bin.000001 # Table_map # # table_id: # (test.t4)
master-bin.000001 # Table_map # # table_id: # (test.t6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
@@ -716,43 +716,43 @@ insert into t2(a) values(4),(5);
commit;
insert into t1(a) values(f1_two_inserts_trigger());
# To verify if insert/update in an autoinc column causes statement to be logged in row format
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
@@ -783,43 +783,43 @@ insert into t2(a) values(4),(5);
commit;
insert into t1(a) values(f1_two_inserts_trigger());
# To verify if insert/update in an autoinc column causes statement to be logged in row format
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (test.t3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
@@ -961,9 +961,9 @@ insert into t1(a,b) values(3,3);
insert into t2(a,b) values(3,3);
commit;
# To verify if it works fine when these statements are not be marked as unsafe
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t1(a,b) values(1,1),(2,2)
master-bin.000001 # Intvar # # INSERT_ID=1
@@ -995,36 +995,37 @@ INSERT INTO v15(c1) VALUES (23), (24);
INSERT INTO v15(c2) VALUES (25), (26);
commit;
# To verify if it works fine when these statements are not be marked as unsafe
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; INSERT INTO t1(c1) VALUES (11), (12)
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; INSERT INTO t2(c2) VALUES (13), (14)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v15` AS SELECT c1, c2 FROM t1, t2
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; INSERT INTO v15(c1) VALUES (15),(16)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; INSERT INTO v15(c2) VALUES (17),(18)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; INSERT INTO v15(c1) VALUES (19),(20)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; INSERT INTO v15(c2) VALUES (21),(22)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=7
master-bin.000001 # Query # # use `test`; INSERT INTO v15(c1) VALUES (23), (24)
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=7
master-bin.000001 # Query # # use `test`; INSERT INTO v15(c2) VALUES (25), (26)
master-bin.000001 # Xid # # COMMIT /* XID */
diff --git a/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result b/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result
index 4cddb7d2cc7..d305be4d4e7 100644
--- a/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result
+++ b/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result
@@ -145,9 +145,9 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
INSERT INTO db1.t1 VALUES(50);
USE db2;
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO db1.t1 VALUES(20)
master-bin.000001 # Query # # SAVEPOINT `has_comment`
master-bin.000001 # Query # # use `db1`; INSERT INTO db1.t1 VALUES(30)
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_errors.result b/mysql-test/suite/rpl/r/rpl_binlog_errors.result
index a71dcdfb1be..72844fb9de6 100644
--- a/mysql-test/suite/rpl/r/rpl_binlog_errors.result
+++ b/mysql-test/suite/rpl/r/rpl_binlog_errors.result
@@ -28,7 +28,7 @@ ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
show binary logs;
Log_name File_size
master-bin.000001 #
-SET GLOBAL debug_dbug="";
+SET GLOBAL debug_dbug=@old_debug;
RESET MASTER;
###################### TEST #3
CREATE TABLE t1 (a INT);
@@ -42,7 +42,7 @@ show binary logs;
Log_name File_size
master-bin.000001 #
master-bin.000002 #
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
+SET GLOBAL debug_dbug=@old_debug;
DELETE FROM t2;
RESET MASTER;
###################### TEST #4
@@ -54,7 +54,7 @@ ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
SELECT count(*) FROM t2;
count(*)
1
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
+SET GLOBAL debug_dbug=@old_debug;
DELETE FROM t2;
RESET MASTER;
###################### TEST #5
@@ -64,7 +64,7 @@ LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166-2.data' INTO TABLE t2;
SELECT count(*) FROM t2;
count(*)
1
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
+SET GLOBAL debug_dbug=@old_debug;
DELETE FROM t2;
RESET MASTER;
###################### TEST #6
@@ -81,7 +81,7 @@ SELECT count(*) FROM t2;
count(*)
3
SET AUTOCOMMIT= 1;
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
+SET GLOBAL debug_dbug=@old_debug;
DELETE FROM t2;
RESET MASTER;
###################### TEST #7
@@ -97,8 +97,8 @@ SELECT count(*) FROM t4;
count(*)
1
### check that the incident event is written to the current log
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
-show binlog events from <binlog_start> limit 4,1;
+SET GLOBAL debug_dbug=@old_debug;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Incident # # #1 (LOST_EVENTS)
DELETE FROM t4;
@@ -144,7 +144,7 @@ count(*)
SELECT count(*) FROM t2;
count(*)
0
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
+SET GLOBAL debug_dbug=@old_debug;
###################### TEST #9
SET GLOBAL debug_dbug="+d,error_unique_log_filename";
SET SQL_LOG_BIN=0;
@@ -167,7 +167,7 @@ SELECT count(*) FROM t4;
count(*)
0
SET SQL_LOG_BIN=1;
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
+SET GLOBAL debug_dbug=@old_debug;
###################### TEST #10
call mtr.add_suppression("MYSQL_BIN_LOG::open failed to sync the index file.");
call mtr.add_suppression("Could not open .*");
@@ -176,7 +176,7 @@ SHOW WARNINGS;
Level Code Message
SET GLOBAL debug_dbug="+d,fault_injection_registering_index";
FLUSH LOGS;
-ERROR HY000: Can't open file: 'master-bin.000002' (errno: 1)
+ERROR HY000: Can't open file: 'master-bin.000002' (errno: 1 "Operation not permitted")
SET GLOBAL debug_dbug="-d,fault_injection_registering_index";
SHOW BINARY LOGS;
ERROR HY000: You are not using binary logging
@@ -190,7 +190,7 @@ DROP TABLE t5;
include/rpl_restart_server.inc [server_number=1]
SET GLOBAL debug_dbug="+d,fault_injection_openning_index";
FLUSH LOGS;
-ERROR HY000: Can't open file: 'master-bin.index' (errno: 1)
+ERROR HY000: Can't open file: 'master-bin.index' (errno: 1 "Operation not permitted")
SET GLOBAL debug_dbug="-d,fault_injection_openning_index";
RESET MASTER;
ERROR HY000: Binlog closed, cannot RESET MASTER
@@ -204,7 +204,7 @@ include/rpl_restart_server.inc [server_number=1]
###################### TEST #12
SET GLOBAL debug_dbug="+d,fault_injection_new_file_rotate_event";
FLUSH LOGS;
-ERROR HY000: Can't open file: 'master-bin' (errno: 2)
+ERROR HY000: Can't open file: 'master-bin' (errno: 2 "No such file or directory")
SET GLOBAL debug_dbug="-d,fault_injection_new_file_rotate_event";
RESET MASTER;
ERROR HY000: Binlog closed, cannot RESET MASTER
@@ -215,7 +215,6 @@ DELETE FROM t4;
DELETE FROM t2;
DROP TABLE t5;
include/rpl_restart_server.inc [server_number=1]
-SET GLOBAL debug_dbug= @old_debug;
DROP TABLE t1, t2, t4;
RESET MASTER;
include/start_slave.inc
@@ -271,7 +270,6 @@ include/rpl_restart_server.inc [server_number=2]
include/stop_slave_sql.inc
Warnings:
Note 1255 Slave already has been stopped
-SET GLOBAL debug_dbug=@old_debug;
RESET SLAVE;
RESET MASTER;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_grant.result b/mysql-test/suite/rpl/r/rpl_binlog_grant.result
index ccc7116a949..0c780122e38 100644
--- a/mysql-test/suite/rpl/r/rpl_binlog_grant.result
+++ b/mysql-test/suite/rpl/r/rpl_binlog_grant.result
@@ -6,6 +6,7 @@ create table t (s1 int) engine=innodb;
set @@autocommit=0;
start transaction;
insert into t values (1);
+create user x@y;
grant select on t to x@y;
rollback;
show grants for x@y;
diff --git a/mysql-test/suite/rpl/r/rpl_charset.result b/mysql-test/suite/rpl/r/rpl_charset.result
index 5b025445050..221eb16176d 100644
--- a/mysql-test/suite/rpl/r/rpl_charset.result
+++ b/mysql-test/suite/rpl/r/rpl_charset.result
@@ -95,22 +95,6 @@ set global character_set_server=latin2;
set global character_set_server=latin1;
set global character_set_server=latin2;
set global character_set_server=latin1;
-set one_shot @@character_set_server=latin5;
-set @@max_join_size=1000;
-select @@character_set_server;
-@@character_set_server
-latin5
-select @@character_set_server;
-@@character_set_server
-latin1
-set @@character_set_server=latin5;
-select @@character_set_server;
-@@character_set_server
-latin5
-select @@character_set_server;
-@@character_set_server
-latin5
-set one_shot max_join_size=1000000;
set character_set_client=9999999;
ERROR 42000: Unknown character set: '9999999'
set collation_server=9999998;
diff --git a/mysql-test/suite/rpl/r/rpl_checksum.result b/mysql-test/suite/rpl/r/rpl_checksum.result
index ba5cb1b1b2b..bd5b23c2228 100644
--- a/mysql-test/suite/rpl/r/rpl_checksum.result
+++ b/mysql-test/suite/rpl/r/rpl_checksum.result
@@ -71,7 +71,7 @@ insert into t1 values (1) /* will not be applied on slave due to simulation */;
set @@global.debug_dbug='d,simulate_slave_unaware_checksum';
start slave;
include/wait_for_slave_io_error.inc [errno=1236]
-Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'Slave can not handle replication events with the checksum that master is configured to log; the first event 'master-bin.000009' at 245, the last event read from 'master-bin.000010' at 245, the last byte read from 'master-bin.000010' at 245.''
+Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'Slave can not handle replication events with the checksum that master is configured to log; the first event 'master-bin.000009' at 368, the last event read from 'master-bin.000010' at 4, the last byte read from 'master-bin.000010' at 249.''
select count(*) as zero from t1;
zero
0
@@ -128,7 +128,34 @@ insert into t3 value (1, @@global.binlog_checksum);
drop table t1, t2, t3;
set @@global.binlog_checksum = @master_save_binlog_checksum;
set @@global.master_verify_checksum = @save_master_verify_checksum;
+*** Bug#59123 / MDEV-5799: INCIDENT_EVENT checksum written to error log as garbage characters ***
+CREATE TABLE t4 (a INT PRIMARY KEY);
+INSERT INTO t4 VALUES (1);
+SET sql_log_bin=0;
+CALL mtr.add_suppression("\\[ERROR\\] Can't generate a unique log-filename");
+SET sql_log_bin=1;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET debug_dbug= '+d,binlog_inject_new_name_error';
+FLUSH LOGS;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+SET debug_dbug= @old_dbug;
+INSERT INTO t4 VALUES (2);
+include/wait_for_slave_sql_error.inc [errno=1590]
+Last_SQL_Error = 'The incident LOST_EVENTS occurred on the master. Message: error writing to the binary log'
+FOUND /Slave SQL: The incident LOST_EVENTS occurred on the master\. Message: error writing to the binary log, Internal MariaDB error code: 1590/ in mysqld.2.err
+SELECT * FROM t4 ORDER BY a;
+a
+1
+STOP SLAVE IO_THREAD;
+SET sql_slave_skip_counter= 1;
+include/start_slave.inc
+SELECT * FROM t4 ORDER BY a;
+a
+1
+2
set @@global.binlog_checksum = @slave_save_binlog_checksum;
set @@global.slave_sql_verify_checksum = @save_slave_sql_verify_checksum;
End of tests
+DROP TABLE t4;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result b/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
index af2d4de0489..c4878fa3f4b 100644
--- a/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
+++ b/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
@@ -59,7 +59,7 @@ SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
include/start_slave.inc
INSERT INTO t1 VALUES(6,'C',2);
INSERT INTO t1(b,c) VALUES('B',2);
-call mtr.add_suppression("Slave SQL.*Duplicate entry .6. for key .PRIMARY.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Duplicate entry .6. for key .PRIMARY.* error.* 1062");
include/wait_for_slave_sql_error.inc [errno=1062]
INSERT INTO t1(b,c) VALUES('A',2);
INSERT INTO t1(b,c) VALUES('D',2);
diff --git a/mysql-test/suite/rpl/r/rpl_concurrency_error.result b/mysql-test/suite/rpl/r/rpl_concurrency_error.result
index b6ed9db6c66..a94626685e5 100644
--- a/mysql-test/suite/rpl/r/rpl_concurrency_error.result
+++ b/mysql-test/suite/rpl/r/rpl_concurrency_error.result
@@ -29,15 +29,15 @@ COMMIT;
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO n VALUES (now(),"brown")
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'yellow 2' WHERE i = 3
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'magenta 2' WHERE f = 'red'
master-bin.000001 # Query # # use `test`; INSERT INTO t VALUES (5 + (2 * 10),"brown")
master-bin.000001 # Query # # ROLLBACK
@@ -54,15 +54,15 @@ INSERT INTO t VALUES (6 + (2 * 10),"brown");
INSERT INTO n VALUES (now(),"brown");
COMMIT;
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO n VALUES (now(),"brown")
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'gray 2' WHERE i = 3
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'dark blue 2' WHERE f = 'red'
master-bin.000001 # Query # # use `test`; INSERT INTO t VALUES (6 + (2 * 10),"brown")
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -79,15 +79,15 @@ COMMIT;
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO n VALUES (now(),"brown")
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'yellow 1' WHERE i = 3
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'magenta 1' WHERE f = 'red'
master-bin.000001 # Query # # use `test`; INSERT INTO t VALUES (5 + (1 * 10),"brown")
master-bin.000001 # Query # # ROLLBACK
@@ -102,15 +102,15 @@ INSERT INTO t VALUES (6 + (1 * 10),"brown");
INSERT INTO n VALUES (now(),"brown");
COMMIT;
COMMIT;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO n VALUES (now(),"brown")
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'gray 1' WHERE i = 3
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'dark blue 1' WHERE f = 'red'
master-bin.000001 # Query # # use `test`; INSERT INTO t VALUES (6 + (1 * 10),"brown")
master-bin.000001 # Xid # # COMMIT /* XID */
diff --git a/mysql-test/suite/rpl/r/rpl_conditional_comments.result b/mysql-test/suite/rpl/r/rpl_conditional_comments.result
index 5471f788561..5668322d4aa 100644
--- a/mysql-test/suite/rpl/r/rpl_conditional_comments.result
+++ b/mysql-test/suite/rpl/r/rpl_conditional_comments.result
@@ -1,19 +1,20 @@
include/master-slave.inc
[connection master]
CREATE TABLE t1(c1 INT);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(c1 INT)
# Case 1:
# ------------------------------------------------------------------
# In a statement, some CCs are applied while others are not. The CCs
# which are not applied on master will be binlogged as common comments.
-/*!99999 --- */INSERT /*!INTO*/ /*!10000 t1 */ VALUES(10) /*!99999 ,(11)*/;
-show binlog events from <binlog_start>;
+/*!999999 --- */INSERT /*!INTO*/ /*!10000 t1 */ VALUES(10) /*!999999 ,(11)*/;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; /* 99999 --- */INSERT /*!INTO*/ /*!10000 t1 */ VALUES(10) /* 99999 ,(11)*/
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; /* 999999 --- */INSERT /*!INTO*/ /*!10000 t1 */ VALUES(10) /* 999999 ,(11)*/
master-bin.000001 # Query # # COMMIT
include/diff_tables.inc [master:t1,slave:t1]
@@ -21,7 +22,7 @@ include/diff_tables.inc [master:t1,slave:t1]
# -----------------------------------------------------------------
# Verify whether it can be binlogged correctly when executing prepared
# statement.
-PREPARE stmt FROM 'INSERT INTO /*!99999 blabla*/ t1 VALUES(60) /*!99999 ,(61)*/';
+PREPARE stmt FROM 'INSERT INTO /*!999999 blabla*/ t1 VALUES(60) /*!999999 ,(61)*/';
EXECUTE stmt;
DROP TABLE t1;
CREATE TABLE t1(c1 INT);
@@ -29,28 +30,32 @@ EXECUTE stmt;
include/diff_tables.inc [master:t1,slave:t1]
SET @value=62;
-PREPARE stmt FROM 'INSERT INTO /*!99999 blabla */ t1 VALUES(?) /*!99999 ,(63)*/';
+PREPARE stmt FROM 'INSERT INTO /*!999999 blabla */ t1 VALUES(?) /*!999999 ,(63)*/';
EXECUTE stmt USING @value;
DROP TABLE t1;
CREATE TABLE t1(c1 INT);
EXECUTE stmt USING @value;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO /* 99999 blabla*/ t1 VALUES(60) /* 99999 ,(61)*/
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO /* 999999 blabla*/ t1 VALUES(60) /* 999999 ,(61)*/
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(c1 INT)
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO /* 99999 blabla*/ t1 VALUES(60) /* 99999 ,(61)*/
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO /* 999999 blabla*/ t1 VALUES(60) /* 999999 ,(61)*/
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO /* 99999 blabla */ t1 VALUES(62) /* 99999 ,(63)*/
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO /* 999999 blabla */ t1 VALUES(62) /* 999999 ,(63)*/
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(c1 INT)
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO /* 99999 blabla */ t1 VALUES(62) /* 99999 ,(63)*/
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO /* 999999 blabla */ t1 VALUES(62) /* 999999 ,(63)*/
master-bin.000001 # Query # # COMMIT
include/diff_tables.inc [master:t1,slave:t1]
@@ -58,7 +63,7 @@ include/diff_tables.inc [master:t1,slave:t1]
# -----------------------------------------------------------------
# Verify it can restore the '!', if the it is an uncomplete conditional
# comments
-SELECT c1 FROM /*!99999 t1 WHEREN;
-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 '/*!99999 t1 WHEREN' at line 1
+SELECT c1 FROM /*!999999 t1 WHEREN;
+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 '/*!999999 t1 WHEREN' at line 1
DROP TABLE t1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_corruption.result b/mysql-test/suite/rpl/r/rpl_corruption.result
index 62f56e70993..51c2c6261b8 100644
--- a/mysql-test/suite/rpl/r/rpl_corruption.result
+++ b/mysql-test/suite/rpl/r/rpl_corruption.result
@@ -5,7 +5,7 @@ call mtr.add_suppression('Slave I/O: Relay log write failure: could not queue ev
call mtr.add_suppression('event read from binlog did not pass crc check');
call mtr.add_suppression('Replication event checksum verification failed');
call mtr.add_suppression('Event crc check failed! Most likely there is event corruption');
-call mtr.add_suppression('Slave SQL: Error initializing relay log position: I/O error reading event at position .*, Error_code: 1593');
+call mtr.add_suppression('Slave SQL: Error initializing relay log position: I/O error reading event at position .*, error.* 1593');
SET @old_master_verify_checksum = @@master_verify_checksum;
# 1. Creating test table/data and set corruption position for testing
* insert/update/delete rows in table t1 *
@@ -17,16 +17,16 @@ SHOW BINLOG EVENTS;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error
SET GLOBAL debug_dbug="-d,corrupt_read_log_event_char";
# 3. Master read a corrupted event from binlog and send the error to slave
-SET GLOBAL debug_dbug="+d,corrupt_read_log_event2";
+SET GLOBAL debug_dbug="+d,corrupt_read_log_event2_set";
START SLAVE IO_THREAD;
include/wait_for_slave_io_error.inc [errno=1236]
-SET GLOBAL debug_dbug="-d,corrupt_read_log_event2";
+SET GLOBAL debug_dbug="-d,corrupt_read_log_event2_set";
# 4. Master read a corrupted event from binlog and send it to slave
SET GLOBAL master_verify_checksum=0;
-SET GLOBAL debug_dbug="+d,corrupt_read_log_event2";
+SET GLOBAL debug_dbug="+d,corrupt_read_log_event2_set";
START SLAVE IO_THREAD;
include/wait_for_slave_io_error.inc [errno=1595,1913]
-SET GLOBAL debug_dbug="-d,corrupt_read_log_event2";
+SET GLOBAL debug_dbug="-d,corrupt_read_log_event2_set";
SET GLOBAL debug_dbug= "";
SET GLOBAL master_verify_checksum=1;
# 5. Slave. Corruption in network
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_db.result b/mysql-test/suite/rpl/r/rpl_create_drop_db.result
new file mode 100644
index 00000000000..b6fb6f127c8
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_db.result
@@ -0,0 +1,28 @@
+include/master-slave.inc
+[connection master]
+CREATE DATABASE db1;
+CREATE DATABASE IF NOT EXISTS db1;
+Warnings:
+Note 1007 Can't create database 'db1'; database exists
+CREATE OR REPLACE DATABASE db2;
+CREATE OR REPLACE DATABASE db1;
+SHOW DATABASES LIKE 'db%';
+Database (db%)
+db1
+db2
+CREATE DATABASE db1;
+ERROR HY000: Can't create database 'db1'; database exists
+DROP DATABASE db3;
+ERROR HY000: Can't drop database 'db3'; database doesn't exist
+CREATE DATABASE IF NOT EXISTS db3;
+SHOW DATABASES LIKE 'db%';
+Database (db%)
+db1
+db2
+db3
+DROP DATABASE db1;
+DROP DATABASE db2;
+DROP DATABASE IF EXISTS db3;
+SHOW DATABASES LIKE 'db%';
+Database (db%)
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_event.result b/mysql-test/suite/rpl/r/rpl_create_drop_event.result
new file mode 100644
index 00000000000..2b09732902d
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_event.result
@@ -0,0 +1,28 @@
+include/master-slave.inc
+[connection master]
+SET GLOBAL event_scheduler=off;
+CREATE TABLE t1 (a INT);
+CREATE EVENT ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (10);
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
+CREATE EVENT ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (11);
+ERROR HY000: Event 'ev1' already exists
+CREATE OR REPLACE EVENT ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (11);
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
+SELECT EVENT_NAME,STATUS,EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
+EVENT_NAME STATUS EVENT_DEFINITION
+ev1 ENABLED INSERT INTO t1 VALUES (11)
+SET GLOBAL event_scheduler=on;
+SET GLOBAL event_scheduler=off;
+SELECT DISTINCT a FROM t1;
+a
+11
+DELETE FROM t1;
+# Syncing slave with master
+SELECT EVENT_NAME,STATUS,EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
+EVENT_NAME STATUS EVENT_DEFINITION
+ev1 SLAVESIDE_DISABLED INSERT INTO t1 VALUES (11)
+DROP TABLE t1;
+DROP EVENT ev1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_function.result b/mysql-test/suite/rpl/r/rpl_create_drop_function.result
new file mode 100644
index 00000000000..fc10d1f7c25
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_function.result
@@ -0,0 +1,50 @@
+include/master-slave.inc
+[connection master]
+CREATE FUNCTION hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+CREATE FUNCTION hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+ERROR 42000: FUNCTION hello already exists
+SHOW CREATE FUNCTION hello;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+hello NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `hello`(str CHAR(20)) RETURNS char(50) CHARSET latin1
+ DETERMINISTIC
+RETURN
+CONCAT('Hello, ', str, '!') latin1 latin1_swedish_ci latin1_swedish_ci
+CREATE OR REPLACE FUNCTION IF NOT EXISTS hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
+CREATE OR REPLACE FUNCTION hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+SELECT hello('master');
+hello('master')
+Hello, master!
+SELECT hello('slave');
+hello('slave')
+Hello, slave!
+CREATE FUNCTION IF NOT EXISTS hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+Warnings:
+Note 1304 FUNCTION hello already exists
+CREATE OR REPLACE FUNCTION bye (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Bye, ', str, '!');
+SELECT hello('master');
+hello('master')
+Hello, master!
+SELECT bye('master');
+bye('master')
+Bye, master!
+SELECT hello('slave');
+hello('slave')
+Hello, slave!
+SELECT bye('slave');
+bye('slave')
+Bye, slave!
+DROP FUNCTION hello;
+DROP FUNCTION IF EXISTS bye;
+DROP FUNCTION hello;
+ERROR 42000: FUNCTION test.hello does not exist
+DROP FUNCTION IF EXISTS bye;
+Warnings:
+Note 1305 FUNCTION test.bye does not exist
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_index.result b/mysql-test/suite/rpl/r/rpl_create_drop_index.result
new file mode 100644
index 00000000000..1126c7eb701
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_index.result
@@ -0,0 +1,23 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1 (a INT, b INT);
+CREATE INDEX i1 ON t1 (a);
+CREATE OR REPLACE INDEX i1 ON t1 (a, b);
+# On slave:
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `i1` (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+# On master:
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `i1` (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_procedure.result b/mysql-test/suite/rpl/r/rpl_create_drop_procedure.result
new file mode 100644
index 00000000000..5fc7d582cb0
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_procedure.result
@@ -0,0 +1,64 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1 (id INT);
+CREATE PROCEDURE proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+CALL proc1(@cnt);
+SELECT @cnt;
+@cnt
+0
+INSERT INTO t1 VALUES (1), (2), (3);
+CALL proc1(@cnt);
+SELECT @cnt;
+@cnt
+3
+# Syncing with slave
+CALL proc1(@cnt);
+SELECT @cnt;
+@cnt
+3
+CREATE PROCEDURE proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+ERROR 42000: PROCEDURE proc1 already exists
+CREATE PROCEDURE IF NOT EXISTS proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+Warnings:
+Note 1304 PROCEDURE proc1 already exists
+CREATE OR REPLACE PROCEDURE IF NOT EXISTS proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
+CREATE OR REPLACE PROCEDURE proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+# Syncing with slave
+CALL proc1(@cnt);
+SELECT @cnt;
+@cnt
+3
+DROP PROCEDURE proc1;
+CREATE PROCEDURE IF NOT EXISTS proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+INSERT INTO t1 VALUES (1), (2), (3);
+CALL proc1(@cnt);
+SELECT @cnt;
+@cnt
+6
+# Syncing with slave
+CALL proc1(@cnt);
+SELECT @cnt;
+@cnt
+6
+DROP PROCEDURE proc1;
+CREATE OR REPLACE PROCEDURE proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+INSERT INTO t1 VALUES (1), (2), (3);
+CALL proc1(@cnt);
+SELECT @cnt;
+@cnt
+9
+# Syncing with slave
+CALL proc1(@cnt);
+SELECT @cnt;
+@cnt
+9
+DROP TABLE IF EXISTS t1;
+DROP PROCEDURE proc1;
+DROP PROCEDURE IF EXISTS proc2;
+Warnings:
+Note 1305 PROCEDURE test.proc2 does not exist
+# Syncing with slave
+DROP PROCEDURE proc1;
+ERROR 42000: PROCEDURE test.proc1 does not exist
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_role.result b/mysql-test/suite/rpl/r/rpl_create_drop_role.result
new file mode 100644
index 00000000000..84c9b9a7110
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_role.result
@@ -0,0 +1,41 @@
+include/master-slave.inc
+[connection master]
+CREATE ROLE role_1;
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+User
+role_1
+CREATE ROLE IF NOT EXISTS role_1;
+Warnings:
+Note 1975 Can't create role 'role_1'; it already exists
+CREATE ROLE IF NOT EXISTS role_2;
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+User
+role_1
+role_2
+CREATE OR REPLACE ROLE IF NOT EXISTS role_3;
+ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
+CREATE OR REPLACE ROLE role_3;
+CREATE OR REPLACE ROLE role_2;
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+User
+role_1
+role_2
+role_3
+CREATE ROLE role_2;
+ERROR HY000: Operation CREATE ROLE failed for 'role_2'
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+User
+role_1
+role_2
+role_3
+DROP ROLE role_1;
+DROP ROLE IF EXISTS role_2;
+DROP ROLE IF EXISTS role_3;
+DROP ROLE IF EXISTS role_4;
+Warnings:
+Note 1976 Can't drop role 'role_4'; it doesn't exist
+DROP ROLE role_4;
+ERROR HY000: Operation DROP ROLE failed for 'role_4'
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+User
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_trigger.result b/mysql-test/suite/rpl/r/rpl_create_drop_trigger.result
new file mode 100644
index 00000000000..8cb80613af8
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_trigger.result
@@ -0,0 +1,48 @@
+include/master-slave.inc
+[connection master]
+# Part 1 - initial creation
+CREATE DATABASE db1;
+USE db1;
+CREATE TABLE t1 (val INT);
+CREATE TRIGGER val_sum BEFORE INSERT ON t1 FOR EACH ROW SET @sum = @sum + NEW.val + 1;
+SET @sum=0;
+INSERT INTO t1 VALUES (10), (20), (30);
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Master FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+ACTION_STATEMENT_Master
+SET @sum = @sum + NEW.val + 1
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Slave FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+ACTION_STATEMENT_Slave
+SET @sum = @sum + NEW.val + 1
+# Part 2 - CREATE IF NOT EXISTS (on a existing trigger)
+CREATE TRIGGER IF NOT EXISTS val_sum AFTER INSERT ON t1 FOR EACH ROW SET @sum = @sum + NEW.val + 2;
+Warnings:
+Note 1359 Trigger already exists
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Master FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+ACTION_STATEMENT_Master
+SET @sum = @sum + NEW.val + 1
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Slave FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+ACTION_STATEMENT_Slave
+SET @sum = @sum + NEW.val + 1
+# Part 3 - CREATE OR REPLACE (on a existing trigger)
+CREATE OR REPLACE TRIGGER val_sum BEFORE INSERT ON t1 FOR EACH ROW SET @sum = @sum + NEW.val + 3;
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Master FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+ACTION_STATEMENT_Master
+SET @sum = @sum + NEW.val + 3
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Slave FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+ACTION_STATEMENT_Slave
+SET @sum = @sum + NEW.val + 3
+# Clearing up
+DROP TRIGGER val_sum;
+DROP TABLE t1;
+DROP TRIGGER IF EXISTS val_sum;
+Warnings:
+Note 1360 Trigger does not exist
+DROP TRIGGER random_trigger;
+ERROR HY000: Trigger does not exist
+DROP DATABASE db1;
+DROP TRIGGER IF EXISTS val_sum;
+ERROR 3D000: No database selected
+# Syncing slave with master
+DROP TRIGGER val_sum;
+ERROR HY000: Trigger does not exist
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_udf.result b/mysql-test/suite/rpl/r/rpl_create_drop_udf.result
new file mode 100644
index 00000000000..c7089c0ec5b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_udf.result
@@ -0,0 +1,42 @@
+include/master-slave.inc
+[connection master]
+CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
+SELECT metaphon('master');
+metaphon('master')
+MSTR
+CREATE FUNCTION metaphon RETURNS INT SONAME "UDF_EXAMPLE_LIB";
+ERROR HY000: Function 'metaphon' already exists
+SELECT metaphon('slave');
+metaphon('slave')
+SLF
+CREATE FUNCTION IF NOT EXISTS metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
+Warnings:
+Note 1125 Function 'metaphon' already exists
+DROP FUNCTION IF EXISTS random_function_name;
+Warnings:
+Note 1305 FUNCTION test.random_function_name does not exist
+CREATE FUNCTION IF NOT EXISTS metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
+Warnings:
+Note 1125 Function 'metaphon' already exists
+CREATE OR REPLACE FUNCTION IF NOT EXISTS metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
+ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
+SELECT metaphon('slave');
+metaphon('slave')
+SLF
+DROP FUNCTION metaphon;
+CREATE OR REPLACE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
+CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
+ERROR HY000: Function 'metaphon' already exists
+SELECT metaphon('slave');
+metaphon('slave')
+SLF
+DROP FUNCTION metaphon;
+DROP FUNCTION IF EXISTS metaphon;
+Warnings:
+Note 1305 FUNCTION test.metaphon does not exist
+DROP FUNCTION metaphon;
+ERROR 42000: FUNCTION test.metaphon does not exist
+DROP FUNCTION IF EXISTS metaphon;
+Warnings:
+Note 1305 FUNCTION test.metaphon does not exist
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_user.result b/mysql-test/suite/rpl/r/rpl_create_drop_user.result
new file mode 100644
index 00000000000..c55c522852c
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_user.result
@@ -0,0 +1,46 @@
+include/master-slave.inc
+[connection master]
+CREATE USER u1@localhost IDENTIFIED BY 'abcdefghijk';
+SELECT CURRENT_USER;
+CURRENT_USER
+u1@localhost
+CREATE USER IF NOT EXISTS u2@localhost;
+SELECT CURRENT_USER;
+CURRENT_USER
+u2@localhost
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+user password
+u1 *D9553C4CE316A9845CE49E30A2D7E3857AF966C4
+u2
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+user password
+u1 *D9553C4CE316A9845CE49E30A2D7E3857AF966C4
+u2
+CREATE OR REPLACE USER u1@localhost IDENTIFIED BY 'abcdefghijk2';
+SELECT CURRENT_USER;
+CURRENT_USER
+u1@localhost
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+user password
+u1 *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
+u2
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+user password
+u1 *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
+u2
+CREATE USER u1@localhost;
+ERROR HY000: Operation CREATE USER failed for 'u1'@'localhost'
+DROP USER u3@localhost;
+ERROR HY000: Operation DROP USER failed for 'u3'@'localhost'
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+user password
+u1 *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
+u2
+DROP USER IF EXISTS u1@localhost;
+DROP USER u2@localhost;
+DROP USER IF EXISTS u3@localhost;
+Warnings:
+Note 1974 Can't drop user 'u3'@'localhost'; it doesn't exist
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+user password
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_view.result b/mysql-test/suite/rpl/r/rpl_create_drop_view.result
new file mode 100644
index 00000000000..85731210ae8
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_view.result
@@ -0,0 +1,99 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1(id INT);
+CREATE VIEW v1 AS SELECT * FROM t1 WHERE id>10;
+INSERT INTO t1 VALUES (5), (8), (10), (20), (30);
+SELECT * FROM t1;
+id
+5
+8
+10
+20
+30
+SELECT * FROM v1;
+id
+20
+30
+# Syncing slave with master
+SELECT * FROM t1;
+id
+5
+8
+10
+20
+30
+SELECT * FROM v1;
+id
+20
+30
+CREATE VIEW v1 AS SELECT * FROM t1 WHERE id>10;
+ERROR 42S01: Table 'v1' already exists
+CREATE VIEW IF NOT EXISTS v1 AS SELECT * FROM t1 WHERE id>10;
+Warnings:
+Note 1050 Table 'v1' already exists
+CREATE OR REPLACE VIEW IF NOT EXISTS v1 AS SELECT * FROM t1 WHERE id>10;
+ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
+# Syncing slave with master
+SELECT * FROM t1;
+id
+5
+8
+10
+20
+30
+SELECT * FROM v1;
+id
+20
+30
+CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1 WHERE id>10;
+INSERT INTO t1 VALUES (50), (80), (3), (2), (40);
+SELECT * FROM t1;
+id
+5
+8
+10
+20
+30
+50
+80
+3
+2
+40
+SELECT * FROM v1;
+id
+20
+30
+50
+80
+40
+# Syncing slave with master
+SELECT * FROM t1;
+id
+5
+8
+10
+20
+30
+50
+80
+3
+2
+40
+SELECT * FROM v1;
+id
+20
+30
+50
+80
+40
+DROP VIEW v1;
+DROP TABLE t1;
+DROP VIEW v1;
+ERROR 42S02: Unknown table 'test.v1'
+DROP VIEW IF EXISTS v2;
+Warnings:
+Note 1051 Unknown table 'test.v2'
+# Syncing slave with master
+SELECT * FROM v1;
+ERROR 42S02: Table 'test.v1' doesn't exist
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_if_not_exists.result b/mysql-test/suite/rpl/r/rpl_create_if_not_exists.result
index 2490f692375..14f81fcb9b1 100644
--- a/mysql-test/suite/rpl/r/rpl_create_if_not_exists.result
+++ b/mysql-test/suite/rpl/r/rpl_create_if_not_exists.result
@@ -77,8 +77,7 @@ CREATE VIEW v1 AS SELECT id FROM t2;
CREATE TABLE IF NOT EXISTS v1(a int, b int) SELECT id, id as di FROM t1;
Warnings:
Note 1050 Table 'v1' already exists
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SHOW CREATE TABLE v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t2`.`id` AS `id` from `t2` latin1 latin1_swedish_ci
@@ -95,8 +94,7 @@ CREATE TEMPORARY TABLE tt1 AS SELECT id FROM t2;
CREATE TEMPORARY TABLE IF NOT EXISTS tt1(a int, b int) SELECT id, id FROM t1;
Warnings:
Note 1050 Table 'tt1' already exists
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SELECT * FROM t2;
id
2
@@ -113,8 +111,21 @@ CREATE VIEW v1 AS SELECT 1 as a;
CREATE TABLE IF NOT EXISTS v1 SELECT 2 as a;
Warnings:
Note 1050 Table 'v1' already exists
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
DROP VIEW v1;
DROP TABLE t1, t2;
+#
+# Test case which has failed on assertion after refactoring which was
+# made as part of fix for bug #27480 "Extend CREATE TEMPORARY TABLES
+# privilege to allow temp table operations".
+#
+CREATE TEMPORARY TABLE t1 (id int);
+CREATE TABLE IF NOT EXISTS t2 LIKE t1;
+# The below statement should succeed with warning and
+# should not crash due to failing assertion.
+CREATE TABLE IF NOT EXISTS t2 LIKE t1;
+Warnings:
+Note 1050 Table 't2' already exists
+# Clean-up.
+DROP TABLE t1, t2;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result b/mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result
index 40a38ee8592..257c16845dd 100644
--- a/mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result
+++ b/mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result
@@ -7,13 +7,19 @@ CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS mysqltest
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp
DROP TEMPORARY TABLE tmp;
DROP TEMPORARY TABLE tmp1;
diff --git a/mysql-test/suite/rpl/r/rpl_current_user.result b/mysql-test/suite/rpl/r/rpl_current_user.result
index ecf8fc851d8..3e8d6883c0b 100644
--- a/mysql-test/suite/rpl/r/rpl_current_user.result
+++ b/mysql-test/suite/rpl/r/rpl_current_user.result
@@ -8,13 +8,14 @@ CREATE VIEW test.v_procs_priv AS SELECT * FROM mysql.procs_priv WHERE User LIKE
CREATE VIEW test.v_event AS SELECT definer FROM mysql.event WHERE name = 'e1';
CREATE PROCEDURE p1() SELECT 1;
# bug48321_1-01234 has the max length(16) of user.
+CREATE USER 'bug48321_1-01234'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'bug48321_1-01234'@'localhost' WITH GRANT OPTION;
-# Make sure the max lengths of user and host
-# the user name is too lengh
-GRANT CREATE USER ON *.* TO '01234567890123456'@'fakehost';
-ERROR HY000: String '01234567890123456' is too long for user name (should be no longer than 16)
-# the host name is too lengh
+# Test the max lengths of user and host names
+# the user name is too long
+GRANT CREATE USER ON *.* TO '012345678901234567890123456789012345678901234567890123456789012345678901234567890'@'fakehost';
+ERROR HY000: String '0123456789012345678901234567890123456789012345678901234567890123456789' is too long for user name (should be no longer than 80)
+# the host name is too long
GRANT CREATE USER ON *.* TO 'fakename'@'0123456789012345678901234567890123456789012345678901234567890';
ERROR HY000: String '0123456789012345678901234567890123456789012345678901234567890' is too long for host name (should be no longer than 60)
@@ -82,6 +83,8 @@ include/diff_tables.inc [server_1:v_user, server_2:v_user, server_3:v_user]
# Verify 'ALTER EVENT...' statement
CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT * FROM t1;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
# Explicitly assign CURRENT_USER() to definer
ALTER DEFINER=CURRENT_USER() EVENT e1 ENABLE;
include/rpl_sync.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ddl.result b/mysql-test/suite/rpl/r/rpl_ddl.result
index 0173bf1e28d..df246cc547f 100644
--- a/mysql-test/suite/rpl/r/rpl_ddl.result
+++ b/mysql-test/suite/rpl/r/rpl_ddl.result
@@ -1,5 +1,7 @@
include/master-slave.inc
[connection master]
+set global sql_mode='';
+set local sql_mode='';
-------- switch to master -------
SET AUTOCOMMIT = 1;
@@ -1620,4 +1622,5 @@ use test;
DROP TEMPORARY TABLE mysqltest1.t22;
DROP DATABASE mysqltest1;
DROP DATABASE mysqltest3;
+set global sql_mode=default;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result b/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
index 37d209bbcf6..f2128f8d855 100644
--- a/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
@@ -76,6 +76,8 @@ include/check_slave_is_running.inc
*** Test lock wait timeout and purged relay logs ***
SET @my_max_relay_log_size= @@global.max_relay_log_size;
SET global max_relay_log_size=0;
+Warnings:
+Warning 1292 Truncated incorrect max_relay_log_size value: '0'
include/stop_slave.inc
DELETE FROM t2;
CHANGE MASTER TO MASTER_LOG_POS=<master_pos_begin>;
diff --git a/mysql-test/suite/rpl/r/rpl_do_grant.result b/mysql-test/suite/rpl/r/rpl_do_grant.result
index 671af1dce58..a9f1d92cb42 100644
--- a/mysql-test/suite/rpl/r/rpl_do_grant.result
+++ b/mysql-test/suite/rpl/r/rpl_do_grant.result
@@ -6,6 +6,7 @@ flush privileges;
delete from mysql.user where user=_binary'rpl_ignore_grant';
delete from mysql.db where user=_binary'rpl_ignore_grant';
flush privileges;
+create user rpl_do_grant@localhost;
grant select on *.* to rpl_do_grant@localhost;
grant drop on test.* to rpl_do_grant@localhost;
show grants for rpl_do_grant@localhost;
@@ -85,7 +86,7 @@ show grants for rpl_do_grant2@localhost;
ERROR 42000: There is no such grant defined for user 'rpl_do_grant2' on host 'localhost'
show grants for rpl_do_grant2@localhost;
ERROR 42000: There is no such grant defined for user 'rpl_do_grant2' on host 'localhost'
-call mtr.add_suppression("Slave: Operation DROP USER failed for 'create_rout_db'@'localhost' Error_code: 1396");
+call mtr.add_suppression("Slave: Operation DROP USER failed for 'create_rout_db'@'localhost' error.* 1396");
DROP DATABASE IF EXISTS bug42217_db;
CREATE DATABASE bug42217_db;
GRANT CREATE ROUTINE ON bug42217_db.* TO 'create_rout_db'@'localhost'
@@ -113,7 +114,7 @@ GRANT EXECUTE, ALTER ROUTINE ON FUNCTION `bug42217_db`.`upgrade_del_func` TO 'cr
USE bug42217_db;
SHOW CREATE FUNCTION upgrade_del_func;
Function sql_mode Create Function character_set_client collation_connection Database Collation
-upgrade_del_func CREATE DEFINER=`create_rout_db`@`localhost` FUNCTION `upgrade_del_func`() RETURNS char(30) CHARSET latin1
+upgrade_del_func NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`create_rout_db`@`localhost` FUNCTION `upgrade_del_func`() RETURNS char(30) CHARSET latin1
BEGIN
RETURN "INSIDE upgrade_del_func()";
END latin1 latin1_swedish_ci latin1_swedish_ci
@@ -124,7 +125,7 @@ INSIDE upgrade_del_func()
USE bug42217_db;
SHOW CREATE FUNCTION upgrade_del_func;
Function sql_mode Create Function character_set_client collation_connection Database Collation
-upgrade_del_func CREATE DEFINER=`create_rout_db`@`localhost` FUNCTION `upgrade_del_func`() RETURNS char(30) CHARSET latin1
+upgrade_del_func NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`create_rout_db`@`localhost` FUNCTION `upgrade_del_func`() RETURNS char(30) CHARSET latin1
BEGIN
RETURN "INSIDE upgrade_del_func()";
END latin1 latin1_swedish_ci latin1_swedish_ci
@@ -149,7 +150,7 @@ upgrade_alter_func()
INSIDE upgrade_alter_func()
SHOW CREATE FUNCTION upgrade_alter_func;
Function sql_mode Create Function character_set_client collation_connection Database Collation
-upgrade_alter_func CREATE DEFINER=`create_rout_db`@`localhost` FUNCTION `upgrade_alter_func`() RETURNS char(30) CHARSET latin1
+upgrade_alter_func NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`create_rout_db`@`localhost` FUNCTION `upgrade_alter_func`() RETURNS char(30) CHARSET latin1
BEGIN
RETURN "INSIDE upgrade_alter_func()";
END latin1 latin1_swedish_ci latin1_swedish_ci
@@ -190,7 +191,7 @@ GRANT EXECUTE ON PROCEDURE `test`.`p1` TO 'user49119'@'localhost'
SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
##############################################################
##############################################################
### Showing grants for both users: root and user49119 (master)
@@ -201,7 +202,7 @@ GRANT EXECUTE ON PROCEDURE `test`.`p1` TO 'user49119'@'localhost'
SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
##############################################################
## This statement will make the revoke fail because root has no
## execute grant. However, it will still revoke the grant for
@@ -217,7 +218,7 @@ GRANT USAGE ON *.* TO 'user49119'@'localhost'
SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
##############################################################
#############################################################
### Showing grants for both users: root and user49119 (slave)
@@ -228,7 +229,7 @@ GRANT USAGE ON *.* TO 'user49119'@'localhost'
SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
##############################################################
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -237,9 +238,11 @@ include/rpl_reset.inc
grant all on *.* to foo@"1.2.3.4";
revoke all privileges, grant option from "foo";
ERROR HY000: Can't revoke all privileges for one or more of the requested users
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; grant all on *.* to foo@"1.2.3.4"
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; revoke all privileges, grant option from "foo"
include/check_slave_no_error.inc
DROP USER foo@"1.2.3.4";
diff --git a/mysql-test/suite/rpl/r/rpl_domain_id_filter.result b/mysql-test/suite/rpl/r/rpl_domain_id_filter.result
new file mode 100644
index 00000000000..fb315c4b020
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter.result
@@ -0,0 +1,286 @@
+include/master-slave.inc
+[connection master]
+# On slave
+call mtr.add_suppression("Both DO_DOMAIN_IDS & IGNORE_DOMAIN_IDS lists can't be non-empty at the same time");
+call mtr.add_suppression("DO_DOMAIN_IDS or IGNORE_DOMAIN_IDS lists can't be non-empty in non-GTID mode.*");
+# On master
+SET @@session.gtid_domain_id= 1;
+SELECT @@session.gtid_domain_id;
+@@session.gtid_domain_id
+1
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+i
+1
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+i
+1
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) : 1
+IGNORE_DOMAIN_IDS (AFTER) :
+# On master
+SET @@session.gtid_domain_id= 2;
+INSERT INTO t1 VALUES(2);
+SET @@session.gtid_domain_id= 1;
+INSERT INTO t1 VALUES(3);
+SELECT * FROM t1;
+i
+1
+2
+3
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+i
+1
+3
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) : 1
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+# On master
+SELECT @@session.gtid_domain_id;
+@@session.gtid_domain_id
+1
+INSERT INTO t1 VALUES(4);
+SET @@session.gtid_domain_id= 2;
+INSERT INTO t1 VALUES(5);
+SELECT * FROM t1;
+i
+1
+2
+3
+4
+5
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+i
+1
+3
+5
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) : 1
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), IGNORE_DOMAIN_IDS=(2), MASTER_USE_GTID=slave_pos;
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+include/stop_slave.inc
+Warnings:
+Note 1255 Slave already has been stopped
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) : 1
+CHANGE MASTER TO DO_DOMAIN_IDS=(4,4,5,1,7,7,7,1,1,2,6,8,1,4,5,5,9,3), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) : 1, 2, 3, 4, 5, 6, 7, 8, 9
+IGNORE_DOMAIN_IDS (AFTER) :
+# On master
+SELECT @@session.gtid_domain_id;
+@@session.gtid_domain_id
+2
+INSERT INTO t1 VALUES(8);
+SET @@session.gtid_domain_id= 7;
+INSERT INTO t1 VALUES(9);
+SET @@session.gtid_domain_id= 10;
+INSERT INTO t1 VALUES(10);
+INSERT INTO t1 VALUES(11);
+START TRANSACTION;
+INSERT INTO t1 VALUES(12);
+INSERT INTO t1 VALUES(13);
+COMMIT;
+INSERT INTO t1 VALUES(14);
+INSERT INTO t1 VALUES(15);
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+i
+1
+3
+5
+8
+9
+# On slave
+# Seconds_Behind_Master should be zero here because the slave is fully caught up and idle.
+Seconds_Behind_Master = '0'
+# On slave
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) : 1, 2, 3, 4, 5, 6, 7, 8, 9
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+# On master
+SET @@session.gtid_domain_id=2;
+CREATE TABLE t2(i int) ENGINE=MYISAM;
+CREATE TABLE t3(i int) ENGINE=INNODB;
+SET @@session.gtid_domain_id=1;
+BEGIN;
+INSERT INTO t2 VALUES(1);
+INSERT INTO t3 VALUES(1);
+# On slave
+include/stop_slave.inc
+include/wait_for_slave_to_stop.inc
+# On master
+INSERT INTO t2 VALUES(2);
+INSERT INTO t3 VALUES(2);
+COMMIT;
+include/save_master_gtid.inc
+# On slave
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2;
+i
+SELECT * FROM t3;
+i
+# On master
+SET @@session.gtid_domain_id=1;
+BEGIN;
+INSERT INTO t2 VALUES(3);
+INSERT INTO t3 VALUES(3);
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) : 1
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) :
+# On master
+INSERT INTO t2 VALUES(4);
+INSERT INTO t3 VALUES(4);
+COMMIT;
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+SELECT * FROM t2;
+i
+4
+SELECT * FROM t3;
+i
+3
+4
+# On master
+SET @@session.gtid_domain_id=1;
+BEGIN;
+INSERT INTO t2 VALUES(5);
+INSERT INTO t3 VALUES(5);
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+# On master
+INSERT INTO t2 VALUES(6);
+INSERT INTO t3 VALUES(6);
+COMMIT;
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+SELECT * FROM t2;
+i
+4
+5
+SELECT * FROM t3;
+i
+3
+4
+# On slave
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) : 1
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(2), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 2
+# On master
+SET @@session.gtid_domain_id=2;
+BEGIN;
+INSERT INTO t2 VALUES(7);
+INSERT INTO t3 VALUES(7);
+COMMIT;
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) : 2
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) :
+# On master
+SET @@session.gtid_domain_id=2;
+BEGIN;
+INSERT INTO t2 VALUES(8);
+INSERT INTO t3 VALUES(8);
+COMMIT;
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+SELECT * FROM t2;
+i
+4
+5
+8
+SELECT * FROM t3;
+i
+3
+4
+8
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) : 1
+CHANGE MASTER TO MASTER_USE_GTID=NO;
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=NO;
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=NO;
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=NO;
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) :
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), DO_DOMAIN_IDS=(), MASTER_USE_GTID=SLAVE_POS;
+include/start_slave.inc
+# On master
+SET @@session.gtid_domain_id=2;
+DROP TABLE t1, t2, t3;
+include/save_master_gtid.inc
+# On slave
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=();
+include/start_slave.inc
+include/rpl_end.inc
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
new file mode 100644
index 00000000000..0c4fe90ba9a
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result
@@ -0,0 +1,415 @@
+include/master-slave.inc
+[connection master]
+# On master
+SET @@session.gtid_domain_id= 1;
+SELECT @@session.gtid_domain_id;
+@@session.gtid_domain_id
+1
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+i
+1
+# On 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
+# replication with IGNORE_DOMAIN_IDS=() after IO thread is
+# killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_before_commit").
+SELECT * FROM t1;
+i
+1
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) :
+SET @@global.debug_dbug="+d,kill_slave_io_before_commit";
+# On master
+START TRANSACTION;
+INSERT INTO t1 VALUES(2);
+INSERT INTO t1 VALUES(3);
+COMMIT;
+SELECT * FROM t1;
+i
+1
+2
+3
+# On slave
+include/wait_for_slave_io_error.inc [errno=1595]
+SELECT * FROM t1;
+i
+1
+SET @@global.debug_dbug="-d";
+START SLAVE io_thread;
+include/wait_for_slave_io_to_start.inc
+SELECT * FROM t1;
+i
+1
+2
+3
+# Case 1 : Start slave with IGNORE_DOMAIN_IDS=(1), then restart
+# replication with IGNORE_DOMAIN_IDS=(1) after IO thread is
+# killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_before_commit").
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+SET @@global.debug_dbug="+d,kill_slave_io_before_commit";
+# On master
+START TRANSACTION;
+INSERT INTO t1 VALUES(4);
+INSERT INTO t1 VALUES(5);
+COMMIT;
+SELECT * FROM t1;
+i
+1
+2
+3
+4
+5
+# On slave
+include/wait_for_slave_io_error.inc [errno=1595]
+SELECT * FROM t1;
+i
+1
+2
+3
+SET @@global.debug_dbug="-d";
+START SLAVE io_thread;
+include/wait_for_slave_io_to_start.inc
+SELECT * FROM t1;
+i
+1
+2
+3
+# Case 2 : Start slave with IGNORE_DOMAIN_IDS=(), then restart
+# replication with IGNORE_DOMAIN_IDS=(1) after IO thread is
+# killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_before_commit").
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) : 1
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) :
+SET @@global.debug_dbug="+d,kill_slave_io_before_commit";
+# On master
+START TRANSACTION;
+INSERT INTO t1 VALUES(6);
+INSERT INTO t1 VALUES(7);
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES(8);
+INSERT INTO t1 VALUES(9);
+COMMIT;
+SET @@session.gtid_domain_id= 2;
+START TRANSACTION;
+INSERT INTO t1 VALUES(10);
+INSERT INTO t1 VALUES(11);
+COMMIT;
+SELECT * FROM t1;
+i
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+# On slave
+include/wait_for_slave_io_error.inc [errno=1595]
+SELECT * FROM t1;
+i
+1
+2
+3
+SET @@global.debug_dbug="-d";
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+SELECT * FROM t1;
+i
+1
+2
+3
+10
+11
+# Case 3 : Start slave with IGNORE_DOMAIN_IDS=(1), then restart
+# replication with IGNORE_DOMAIN_IDS=() after IO thread is
+# killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_before_commit").
+include/stop_slave.inc
+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
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+SET @@global.debug_dbug="+d,kill_slave_io_before_commit";
+# On master
+SET @@session.gtid_domain_id= 1;
+START TRANSACTION;
+INSERT INTO t1 VALUES(12);
+INSERT INTO t1 VALUES(13);
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES(14);
+INSERT INTO t1 VALUES(15);
+COMMIT;
+SET @@session.gtid_domain_id= 2;
+START TRANSACTION;
+INSERT INTO t1 VALUES(16);
+INSERT INTO t1 VALUES(17);
+COMMIT;
+SELECT * FROM t1;
+i
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+# On slave
+include/wait_for_slave_io_error.inc [errno=1595]
+SELECT * FROM t1;
+i
+1
+2
+3
+10
+11
+SET @@global.debug_dbug="-d";
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) : 1
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) :
+SELECT * FROM t1;
+i
+1
+2
+3
+10
+11
+14
+15
+16
+17
+# Case 4 : Start slave with IGNORE_DOMAIN_IDS=(1), then restart
+# replication with IGNORE_DOMAIN_IDS=() after IO thread is
+# killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_after_2_events").
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+SET @@global.debug_dbug="+d,kill_slave_io_after_2_events";
+# On master
+SET @@session.gtid_domain_id= 1;
+START TRANSACTION;
+INSERT INTO t1 VALUES(18);
+INSERT INTO t1 VALUES(19);
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES(20);
+INSERT INTO t1 VALUES(21);
+COMMIT;
+SET @@session.gtid_domain_id= 2;
+START TRANSACTION;
+INSERT INTO t1 VALUES(22);
+INSERT INTO t1 VALUES(23);
+COMMIT;
+SELECT * FROM t1;
+i
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+# On slave
+include/wait_for_slave_io_error.inc [errno=1595]
+SELECT * FROM t1;
+i
+1
+2
+3
+10
+11
+14
+15
+16
+17
+SET @@global.debug_dbug="-d";
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) : 1
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) :
+SELECT * FROM t1;
+i
+1
+2
+3
+10
+11
+14
+15
+16
+17
+20
+21
+22
+23
+# Case 5 : Start slave with IGNORE_DOMAIN_IDS=(), then restart
+# replication with IGNORE_DOMAIN_IDS=(1) after IO thread is
+# killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_after_2_events").
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) :
+SET @@global.debug_dbug="+d,kill_slave_io_after_2_events";
+# On master
+SET @@session.gtid_domain_id= 1;
+START TRANSACTION;
+INSERT INTO t1 VALUES(24);
+INSERT INTO t1 VALUES(25);
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 VALUES(26);
+INSERT INTO t1 VALUES(27);
+COMMIT;
+SET @@session.gtid_domain_id= 2;
+START TRANSACTION;
+INSERT INTO t1 VALUES(28);
+INSERT INTO t1 VALUES(29);
+COMMIT;
+SELECT * FROM t1;
+i
+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
+# On slave
+include/wait_for_slave_io_error.inc [errno=1595]
+SELECT * FROM t1;
+i
+1
+2
+3
+10
+11
+14
+15
+16
+17
+20
+21
+22
+23
+SET @@global.debug_dbug="-d";
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+SELECT * FROM t1;
+i
+1
+2
+3
+10
+11
+14
+15
+16
+17
+20
+21
+22
+23
+28
+29
+# On master
+DROP TABLE t1;
+# On slave
+include/stop_slave.inc
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=();
+include/start_slave.inc
+include/rpl_end.inc
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
new file mode 100644
index 00000000000..f26619a0871
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result
@@ -0,0 +1,59 @@
+include/master-slave.inc
+[connection master]
+# On master
+call mtr.add_suppression("mysqld: Table './mysql/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;
+insert into ti set a=null;
+insert into tm set a=null;
+# On slave
+include/stop_slave.inc
+select * from ti;
+a
+1
+select * from tm;
+a
+1
+# On master
+SET @@session.gtid_domain_id= 1;
+begin;
+insert into ti set a=null;
+insert into tm set a=null;
+commit;
+SET @@session.gtid_domain_id= 0;
+insert into ti set a=null;
+insert into tm set a=null;
+set @@global.debug_dbug="+d,crash_before_send_xid";
+# On slave
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+# On master
+include/rpl_start_server.inc [server_number=1]
+# Master has restarted successfully
+set @@global.debug_dbug="-d";
+# On slave
+include/stop_slave.inc
+include/start_slave.inc
+select * from ti;
+a
+1
+3
+select * from tm;
+a
+1
+3
+# On master
+drop table ti;
+drop table tm;
+# On slave
+include/stop_slave.inc
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=NO;
+include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_domain_id_filter_parallel.result b/mysql-test/suite/rpl/r/rpl_domain_id_filter_parallel.result
new file mode 100644
index 00000000000..d3e17a991b6
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter_parallel.result
@@ -0,0 +1,177 @@
+include/rpl_init.inc [topology=1->2]
+# On slave
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+# On slave
+CHANGE MASTER TO master_use_gtid=slave_pos, DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=();
+include/start_slave.inc
+# On master
+SELECT @@session.gtid_domain_id;
+@@session.gtid_domain_id
+0
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY) ENGINE=MyISAM;
+CREATE TABLE t2 (a int PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+# On slave
+# New connection 'con_temp1'
+LOCK TABLE t1 WRITE;
+# On master
+SET @@session.gtid_domain_id=1;
+INSERT INTO t1 VALUES (2);
+SET @@session.gtid_domain_id=0;
+INSERT INTO t2 VALUES (2);
+INSERT INTO t2 VALUES (3);
+BEGIN;
+INSERT INTO t2 VALUES (4);
+INSERT INTO t2 VALUES (5);
+COMMIT;
+INSERT INTO t2 VALUES (6);
+# On slave
+SELECT * FROM t2 ORDER by a;
+a
+1
+2
+3
+4
+5
+6
+# On con_temp1
+SELECT * FROM t1;
+a
+1
+UNLOCK TABLES;
+# On slave
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+# On slave
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) : 1
+IGNORE_DOMAIN_IDS (AFTER) :
+# On slave
+# On con_temp1
+LOCK TABLE t1 WRITE;
+# On master
+SET @@session.gtid_domain_id=0;
+INSERT INTO t1 VALUES (3);
+SET @@session.gtid_domain_id=1;
+INSERT INTO t2 VALUES (7);
+INSERT INTO t2 VALUES (8);
+BEGIN;
+INSERT INTO t2 VALUES (9);
+INSERT INTO t2 VALUES (10);
+COMMIT;
+INSERT INTO t2 VALUES (11);
+# On slave
+SELECT * FROM t2 ORDER by a;
+a
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+# On con_temp1
+SELECT * FROM t1;
+a
+1
+2
+UNLOCK TABLES;
+# On slave
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+# On slave
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) : 1
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+# On slave
+# On con_temp1
+LOCK TABLE t1 WRITE;
+# On master
+SET @@session.gtid_domain_id=1;
+INSERT INTO t1 VALUES (4);
+SET @@session.gtid_domain_id=0;
+INSERT INTO t2 VALUES (12);
+INSERT INTO t2 VALUES (13);
+BEGIN;
+INSERT INTO t2 VALUES (14);
+INSERT INTO t2 VALUES (15);
+COMMIT;
+INSERT INTO t2 VALUES (16);
+# On slave
+SELECT * FROM t2 ORDER by a;
+a
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+# On con_temp1
+SELECT * FROM t1;
+a
+1
+2
+UNLOCK TABLES;
+# On slave
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+SELECT * FROM t2;
+a
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+# Restore original settings.
+# On master
+SET @@session.gtid_domain_id=0;
+DROP TABLE t1, t2;
+# On slave
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads= @old_parallel_threads;
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=();
+include/start_slave.inc
+include/rpl_end.inc
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
new file mode 100644
index 00000000000..b4706ea5f11
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter_restart.result
@@ -0,0 +1,46 @@
+include/master-slave.inc
+[connection master]
+# On slave
+include/stop_slave.inc
+DO_DOMAIN_IDS (BEFORE) :
+IGNORE_DOMAIN_IDS (BEFORE) :
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) : 1
+# On master
+SET @@session.gtid_domain_id= 0;
+CREATE TABLE t1(i INT);
+CREATE TABLE t2(i INT);
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+i
+1
+SET @@session.gtid_domain_id= 1;
+INSERT INTO t2 VALUES(1);
+SELECT * FROM t2;
+i
+1
+# On slave
+SELECT * FROM t1;
+i
+1
+SELECT * FROM t2;
+i
+include/rpl_restart_server.inc [server_number=2]
+# On slave
+DO_DOMAIN_IDS (AFTER RESTART) :
+IGNORE_DOMAIN_IDS (AFTER RESTART) : 1
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=();
+include/start_slave.inc
+DO_DOMAIN_IDS (AFTER) :
+IGNORE_DOMAIN_IDS (AFTER) :
+SELECT * FROM t1;
+i
+1
+SELECT * FROM t2;
+i
+# On master
+SET @@session.gtid_domain_id= 0;
+DROP TABLE t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_drop.result b/mysql-test/suite/rpl/r/rpl_drop.result
index bdba42e1d34..b91400b2296 100644
--- a/mysql-test/suite/rpl/r/rpl_drop.result
+++ b/mysql-test/suite/rpl/r/rpl_drop.result
@@ -2,5 +2,5 @@ include/master-slave.inc
[connection master]
create table t1 (a int);
drop table t1, t2;
-ERROR 42S02: Unknown table 't2'
+ERROR 42S02: Unknown table 'test.t2'
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_drop_db.result b/mysql-test/suite/rpl/r/rpl_drop_db.result
index 8a88f01a444..800a70c8c9b 100644
--- a/mysql-test/suite/rpl/r/rpl_drop_db.result
+++ b/mysql-test/suite/rpl/r/rpl_drop_db.result
@@ -8,12 +8,12 @@ select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt';
create table mysqltest1.t2 (n int);
create table mysqltest1.t3 (n int);
drop database mysqltest1;
-ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17)
+ERROR HY000: Error dropping database (can't rmdir './mysqltest1', errno: 39 "Directory not empty")
use mysqltest1;
show tables;
Tables_in_mysqltest1
drop database mysqltest1;
-ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17)
+ERROR HY000: Error dropping database (can't rmdir './mysqltest1', errno: 39 "Directory not empty")
use mysqltest1;
show tables;
Tables_in_mysqltest1
diff --git a/mysql-test/suite/rpl/r/rpl_drop_temp.result b/mysql-test/suite/rpl/r/rpl_drop_temp.result
index ffabd514b0f..44b5f44b4a2 100644
--- a/mysql-test/suite/rpl/r/rpl_drop_temp.result
+++ b/mysql-test/suite/rpl/r/rpl_drop_temp.result
@@ -10,12 +10,12 @@ Slave_open_temp_tables 0
drop database mysqltest;
DROP TEMPORARY TABLE IF EXISTS tmp1;
Warnings:
-Note 1051 Unknown table 'tmp1'
+Note 1051 Unknown table 'test.tmp1'
CREATE TEMPORARY TABLE t1 ( a int );
DROP TEMPORARY TABLE t1, t2;
-ERROR 42S02: Unknown table 't2'
+ERROR 42S02: Unknown table 'test.t2'
DROP TEMPORARY TABLE tmp2;
-ERROR 42S02: Unknown table 'tmp2'
+ERROR 42S02: Unknown table 'test.tmp2'
stop slave;
**** On Master ****
CREATE TEMPORARY TABLE tmp3 (a int);
@@ -32,10 +32,13 @@ SET SESSION binlog_format=ROW;
SHOW STATUS LIKE 'Slave_open_temp_tables';
Variable_name Value
Slave_open_temp_tables 0
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 ( i INT )
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE ttmp1 ( i INT )
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `ttmp1`
DROP TABLE t1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_drop_view.result b/mysql-test/suite/rpl/r/rpl_drop_view.result
index 0688ce42bc2..70a87816e4b 100644
--- a/mysql-test/suite/rpl/r/rpl_drop_view.result
+++ b/mysql-test/suite/rpl/r/rpl_drop_view.result
@@ -9,9 +9,9 @@ create view v1 as select * from t1;
create view v2 as select * from t2;
create view v3 as select * from t3;
drop view not_exist_view;
-ERROR 42S02: Unknown table 'not_exist_view'
+ERROR 42S02: Unknown table 'test.not_exist_view'
drop view v1, not_exist_view;
-ERROR 42S02: Unknown table 'not_exist_view'
+ERROR 42S02: Unknown table 'test.not_exist_view'
select * from v1;
ERROR 42S02: Table 'test.v1' doesn't exist
drop view v2, v3;
diff --git a/mysql-test/suite/rpl/r/rpl_events.result b/mysql-test/suite/rpl/r/rpl_events.result
index 23dcfab57f0..502fb832bae 100644
--- a/mysql-test/suite/rpl/r/rpl_events.result
+++ b/mysql-test/suite/rpl/r/rpl_events.result
@@ -32,6 +32,8 @@ test justonce SLAVESIDE_DISABLED 1
DROP EVENT IF EXISTS test.slave_once;
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
INSERT IGNORE INTO t1(id, c) VALUES (3, 'from slave_once');
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
"Checking event status on the slave for originator value = slave's server_id"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_once';
db name status originator
@@ -73,6 +75,8 @@ db name status originator
"Creating event test.slave_terminate on the slave"
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
INSERT IGNORE INTO t1(id, c) VALUES (6, 'from slave_terminate');
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
"Checking event status on the slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
db name status originator
@@ -82,6 +86,8 @@ DROP EVENT test.slave_terminate;
"Creating event test.slave_terminate with DISABLE ON SLAVE on the slave"
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND DISABLE ON SLAVE DO
INSERT IGNORE INTO t1(c) VALUES (7, 'from slave_terminate');
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
"Checking event status on the slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
db name status originator
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 e5e690bdf52..1e0ac5ab940 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
@@ -96,13 +96,11 @@ f5 DOUBLE DEFAULT '2.00',
f6 ENUM('a', 'b', 'c') default 'a',
f7 DECIMAL(17,9) default '1000.00',
f8 MEDIUMBLOB,
-f9 NUMERIC(6,4) default '2000.00',
+f9 NUMERIC(6,2) default '2000.00',
f10 VARCHAR(1024),
f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
f12 SET('a', 'b', 'c') default 'b')
ENGINE='InnoDB';
-Warnings:
-Warning 1264 Out of range value for column 'f9' at row 1
CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
/* extra */
@@ -119,13 +117,11 @@ CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
f5 DOUBLE DEFAULT '2.00',
f6 DECIMAL(17,9) default '1000.00',
f7 MEDIUMBLOB,
-f8 NUMERIC(6,4) default '2000.00',
+f8 NUMERIC(6,2) default '2000.00',
f9 VARCHAR(1024),
f10 BINARY(20) not null default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
f11 CHAR(255))
ENGINE='InnoDB';
-Warnings:
-Warning 1264 Out of range value for column 'f8' at row 1
CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
/* extra */
@@ -184,9 +180,6 @@ INSERT into t2 values (2, 2, 2, 'second',
(3, 3, 3, 'third',
3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
'01234567', 'c');
-Warnings:
-Warning 1264 Out of range value for column 'f9' at row 1
-Warning 1264 Out of range value for column 'f9' at row 2
INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
binary data';
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 9247ceb1030..38ef9dbff80 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
@@ -96,13 +96,11 @@ f5 DOUBLE DEFAULT '2.00',
f6 ENUM('a', 'b', 'c') default 'a',
f7 DECIMAL(17,9) default '1000.00',
f8 MEDIUMBLOB,
-f9 NUMERIC(6,4) default '2000.00',
+f9 NUMERIC(6,2) default '2000.00',
f10 VARCHAR(1024),
f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
f12 SET('a', 'b', 'c') default 'b')
ENGINE='MyISAM';
-Warnings:
-Warning 1264 Out of range value for column 'f9' at row 1
CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
/* extra */
@@ -119,13 +117,11 @@ CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
f5 DOUBLE DEFAULT '2.00',
f6 DECIMAL(17,9) default '1000.00',
f7 MEDIUMBLOB,
-f8 NUMERIC(6,4) default '2000.00',
+f8 NUMERIC(6,2) default '2000.00',
f9 VARCHAR(1024),
f10 BINARY(20) not null default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
f11 CHAR(255))
ENGINE='MyISAM';
-Warnings:
-Warning 1264 Out of range value for column 'f8' at row 1
CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
/* extra */
@@ -184,9 +180,6 @@ INSERT into t2 values (2, 2, 2, 'second',
(3, 3, 3, 'third',
3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
'01234567', 'c');
-Warnings:
-Warning 1264 Out of range value for column 'f9' at row 1
-Warning 1264 Out of range value for column 'f9' at row 2
INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
binary data';
diff --git a/mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result b/mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result
index c63ba401085..c24020eef87 100644
--- a/mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result
@@ -1,7 +1,7 @@
include/master-slave.inc
[connection master]
-call mtr.add_suppression("Slave: Unknown table 't6' Error_code: 1051");
-call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]*. cannot be converted from type.* Error_code: 1677");
+call mtr.add_suppression("Slave: Unknown table 't6' error.* 1051");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]*. cannot be converted from type.* error.* 1677");
**** Diff Table Def Start ****
*** On Slave ***
STOP SLAVE;
@@ -210,7 +210,8 @@ DROP TABLE t8;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
-d TIMESTAMP,
+d TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
+ON UPDATE CURRENT_TIMESTAMP,
e INT NOT NULL,
f text not null,
g text,
@@ -462,9 +463,9 @@ c4 BLOB, c5 CHAR(5)) ENGINE='InnoDB';
RESET MASTER;
*** Start Slave ***
START SLAVE;
-call mtr.add_suppression("Error .Unknown table .t6.. on query.* Error_code: 1051");
-call mtr.add_suppression("Error .Duplicate column name .c6.. on query.* Error_code: 1060");
-call mtr.add_suppression("Table definition on master and slave does not match: Column . ...e mismatch.* Error_code: 1535");
+call mtr.add_suppression("Error .Unknown table .t6.. on query.* error.* 1051");
+call mtr.add_suppression("Error .Duplicate column name .c6.. on query.* error.* 1060");
+call mtr.add_suppression("Table definition on master and slave does not match: Column . ...e mismatch.* error.* 1535");
*** Master Data Insert ***
set @b1 = 'b1b1b1b1';
set @b1 = concat(@b1,@b1);
diff --git a/mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result b/mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result
index 4e483da72e4..a8710f0de5b 100644
--- a/mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result
@@ -1,7 +1,7 @@
include/master-slave.inc
[connection master]
-call mtr.add_suppression("Slave: Unknown table 't6' Error_code: 1051");
-call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]*. cannot be converted from type.* Error_code: 1677");
+call mtr.add_suppression("Slave: Unknown table 't6' error.* 1051");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]*. cannot be converted from type.* error.* 1677");
**** Diff Table Def Start ****
*** On Slave ***
STOP SLAVE;
@@ -210,7 +210,8 @@ DROP TABLE t8;
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
-d TIMESTAMP,
+d TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
+ON UPDATE CURRENT_TIMESTAMP,
e INT NOT NULL,
f text not null,
g text,
@@ -462,9 +463,9 @@ c4 BLOB, c5 CHAR(5)) ENGINE='MyISAM';
RESET MASTER;
*** Start Slave ***
START SLAVE;
-call mtr.add_suppression("Error .Unknown table .t6.. on query.* Error_code: 1051");
-call mtr.add_suppression("Error .Duplicate column name .c6.. on query.* Error_code: 1060");
-call mtr.add_suppression("Table definition on master and slave does not match: Column . ...e mismatch.* Error_code: 1535");
+call mtr.add_suppression("Error .Unknown table .t6.. on query.* error.* 1051");
+call mtr.add_suppression("Error .Duplicate column name .c6.. on query.* error.* 1060");
+call mtr.add_suppression("Table definition on master and slave does not match: Column . ...e mismatch.* error.* 1535");
*** Master Data Insert ***
set @b1 = 'b1b1b1b1';
set @b1 = concat(@b1,@b1);
diff --git a/mysql-test/suite/rpl/r/rpl_filter_dbs_dynamic.result b/mysql-test/suite/rpl/r/rpl_filter_dbs_dynamic.result
index 321b8d912e6..eaa2ed9a61d 100644
--- a/mysql-test/suite/rpl/r/rpl_filter_dbs_dynamic.result
+++ b/mysql-test/suite/rpl/r/rpl_filter_dbs_dynamic.result
@@ -1,9 +1,9 @@
include/master-slave.inc
[connection master]
SET @@GLOBAL.replicate_do_db="db1";
-ERROR HY000: This operation cannot be performed with a running slave; run STOP SLAVE first
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
SET @@GLOBAL.replicate_ignore_db="db2";
-ERROR HY000: This operation cannot be performed with a running slave; run STOP SLAVE first
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
include/stop_slave.inc
SET @@GLOBAL.replicate_do_db="db1";
SET @@GLOBAL.replicate_ignore_db="db2";
diff --git a/mysql-test/suite/rpl/r/rpl_filter_tables_dynamic.result b/mysql-test/suite/rpl/r/rpl_filter_tables_dynamic.result
index 9eb803d17ea..5a746c88458 100644
--- a/mysql-test/suite/rpl/r/rpl_filter_tables_dynamic.result
+++ b/mysql-test/suite/rpl/r/rpl_filter_tables_dynamic.result
@@ -1,9 +1,9 @@
include/master-slave.inc
[connection master]
SET @@GLOBAL.replicate_do_table="test.t1,test.t2,test.t3";
-ERROR HY000: This operation cannot be performed with a running slave; run STOP SLAVE first
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
SET @@GLOBAL.replicate_ignore_table="test.t4,test.t5,test.t6";
-ERROR HY000: This operation cannot be performed with a running slave; run STOP SLAVE first
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
include/stop_slave.inc
SET @@GLOBAL.replicate_do_table="test.t1,test.t2,test.t3";
SET @@GLOBAL.replicate_ignore_table="test.t4,test.t5,test.t6";
@@ -50,7 +50,7 @@ UPDATE t4 LEFT JOIN (t1, t2, t5) ON (t1.id=t4.id and t2.id=t4.id and t5.id=t4.id
UPDATE t4 LEFT JOIN (t1, t6, t7) ON (t4.id=t1.id and t4.id=t6.id and t4.id=t7.id) SET a=0, d=0, f=0, g=0 where t4.id=1;
UPDATE t7 LEFT JOIN (t4, t1, t2) ON (t7.id=t4.id and t7.id=t1.id and t7.id=t2.id) SET a=0, b=0, d=0, g=0 where t7.id=1;
UPDATE t7 LEFT JOIN (t8, t4, t1) ON (t7.id=t8.id and t7.id=t4.id and t7.id=t1.id) SET a=0, d=0, g=0, h=0 where t7.id=1;
-call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* Error_code: 1146");
+call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* error.* 1146");
UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0 where t1.id=1;
include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0 where t1.id=1''
diff --git a/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result b/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result
index baf0cf81cec..932a44e7f04 100644
--- a/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result
+++ b/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result
@@ -42,7 +42,7 @@ UPDATE t4 LEFT JOIN (t1, t2, t5) ON (t1.id=t4.id and t2.id=t4.id and t5.id=t4.id
UPDATE t4 LEFT JOIN (t1, t6, t7) ON (t4.id=t1.id and t4.id=t6.id and t4.id=t7.id) SET a=0, d=0, f=0, g=0 where t4.id=1;
UPDATE t7 LEFT JOIN (t4, t1, t2) ON (t7.id=t4.id and t7.id=t1.id and t7.id=t2.id) SET a=0, b=0, d=0, g=0 where t7.id=1;
UPDATE t7 LEFT JOIN (t8, t4, t1) ON (t7.id=t8.id and t7.id=t4.id and t7.id=t1.id) SET a=0, d=0, g=0, h=0 where t7.id=1;
-call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* Error_code: 1146");
+call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* error.* 1146");
UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0 where t1.id=1;
include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0 where t1.id=1''
diff --git a/mysql-test/suite/rpl/r/rpl_filter_wild_tables_dynamic.result b/mysql-test/suite/rpl/r/rpl_filter_wild_tables_dynamic.result
index 6858181234e..19d8e513e6f 100644
--- a/mysql-test/suite/rpl/r/rpl_filter_wild_tables_dynamic.result
+++ b/mysql-test/suite/rpl/r/rpl_filter_wild_tables_dynamic.result
@@ -1,9 +1,9 @@
include/master-slave.inc
[connection master]
SET @@GLOBAL.replicate_wild_do_table="test.a%";
-ERROR HY000: This operation cannot be performed with a running slave; run STOP SLAVE first
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
SET @@GLOBAL.replicate_wild_ignore_table="test.b%";
-ERROR HY000: This operation cannot be performed with a running slave; run STOP SLAVE first
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
include/stop_slave.inc
SET @@GLOBAL.replicate_wild_do_table="test.a%";
SET @@GLOBAL.replicate_wild_ignore_table="test.b%";
diff --git a/mysql-test/suite/rpl/r/rpl_flush_logs.result b/mysql-test/suite/rpl/r/rpl_flush_logs.result
index 4fce91a7234..1f543cd9f43 100644
--- a/mysql-test/suite/rpl/r/rpl_flush_logs.result
+++ b/mysql-test/suite/rpl/r/rpl_flush_logs.result
@@ -8,7 +8,7 @@ flush error logs;
# after execute 'flush error logs' statement.
# Test if support 'flush relay logs' statement.
flush relay logs;
-# Check the 'slave-relay-bin.000003' file is created
+# Check the 'slave-relay-bin.000003' file is not created
# after executed 'flush relay logs' statement.
# Make sure binary logs was not be flushed
# after execute 'flush relay logs' statement.
@@ -30,21 +30,21 @@ flush engine logs;
flush binary logs;
# Check the 'master-bin.000002' file is created
# after executed 'flush binary logs' statement.
-# Make sure the 'slave-relay-bin.000006' file does not exist
+# Make sure the 'slave-relay-bin.000005' file does not exist
# exist before execute 'flush error logs, relay logs' statement.
# Test if support to combine all kinds of logs into one statement.
flush error logs, relay logs;
# Make sure binary logs was not be flushed
# after execute 'flush error logs, relay logs' statement.
-# Check the 'slave-relay-bin.000006' file is created after
+# Check the 'slave-relay-bin.000004' file is created after
# execute 'flush error logs, relay logs' statement.
-# Make sure the 'slave-relay-bin.000007' and 'slave-relay-bin.000008'
+# Make sure the 'slave-relay-bin.000005' and 'slave-relay-bin.000006'
# files do not exist before execute 'flush error logs, relay logs'
# statement.
# Test if 'flush logs' statement works fine and flush all the logs.
flush logs;
# Check 'master-bin.000003' is created
# after execute 'flush logs' statement.
-# Check the 'slave-relay-bin.000007' and 'slave-relay-bin.000008'
+# Check the 'slave-relay-bin.000005' and 'slave-relay-bin.000006'
# files are created after execute 'flush logs' statement.
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_flushlog_loop.result b/mysql-test/suite/rpl/r/rpl_flushlog_loop.result
index 7b93a221953..a5bf73cdbfa 100644
--- a/mysql-test/suite/rpl/r/rpl_flushlog_loop.result
+++ b/mysql-test/suite/rpl/r/rpl_flushlog_loop.result
@@ -2,7 +2,8 @@ include/rpl_init.inc [topology=1->2->1]
show variables like 'relay_log%';
Variable_name Value
relay_log master-relay-bin
-relay_log_index master-relay-bin.index
+relay_log_basename MYSQLD_DATADIR/master-relay-bin
+relay_log_index MYSQLD_DATADIR/master-relay-bin.index
relay_log_info_file relay-log.info
relay_log_purge ON
relay_log_recovery OFF
diff --git a/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result b/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result
index f778e76adc0..efe8155ec08 100644
--- a/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result
@@ -32,13 +32,12 @@ SET TIMESTAMP=1000000000;
CREATE TABLE t3 ( a INT UNIQUE );
SET FOREIGN_KEY_CHECKS=0;
INSERT INTO t3 VALUES (1),(1);
-Got one of the listed errors
+ERROR 23000: Duplicate entry '1' for key 'a'
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS t1,t2,t3;
SET FOREIGN_KEY_CHECKS=1;
create table t1 (b int primary key) engine = INNODB;
-create table t2 (a int primary key, b int, foreign key (b) references t1(b))
-engine = INNODB;
+create table t2 (a int primary key, b int, foreign key (b) references t1(b)) engine = INNODB;
insert into t1 set b=1;
insert into t2 set a=1, b=1;
set foreign_key_checks=0;
diff --git a/mysql-test/suite/rpl/r/rpl_function_defaults.result b/mysql-test/suite/rpl/r/rpl_function_defaults.result
new file mode 100644
index 00000000000..264bb3c9c6d
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_function_defaults.result
@@ -0,0 +1,132 @@
+#
+# Test of function defaults on replicated tables.
+#
+include/master-slave.inc
+[connection master]
+connection master
+SET TIME_ZONE="+10:30";
+SET TIMESTAMP=123456.789123;
+SELECT CURRENT_TIMESTAMP;
+CURRENT_TIMESTAMP
+1970-01-02 20:47:36
+connection slave
+SET TIME_ZONE="+00:00";
+SET TIMESTAMP=987654321.123456;
+SELECT CURRENT_TIMESTAMP;
+CURRENT_TIMESTAMP
+2001-04-19 04:25:21
+connection master
+CREATE TABLE t1 (
+a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+b TIMESTAMP(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1),
+c TIMESTAMP(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2),
+d TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+e TIMESTAMP(4) NOT NULL DEFAULT CURRENT_TIMESTAMP(4),
+f TIMESTAMP(5) NOT NULL DEFAULT CURRENT_TIMESTAMP(5),
+g TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
+h DATETIME DEFAULT CURRENT_TIMESTAMP,
+i DATETIME(1) DEFAULT CURRENT_TIMESTAMP(1),
+j DATETIME(2) DEFAULT CURRENT_TIMESTAMP(2),
+k DATETIME(3) DEFAULT CURRENT_TIMESTAMP(3),
+l DATETIME(4) DEFAULT CURRENT_TIMESTAMP(4),
+m DATETIME(5) DEFAULT CURRENT_TIMESTAMP(5),
+n DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6),
+o INT
+);
+INSERT INTO t1 ( o ) VALUES ( 1 );
+CREATE TABLE t2 (
+a TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
+b TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(1),
+c TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(2),
+d TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(3),
+e TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(4),
+f TIMESTAMP(5) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(5),
+g TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(6),
+h DATETIME ON UPDATE CURRENT_TIMESTAMP,
+i DATETIME(1) ON UPDATE CURRENT_TIMESTAMP(1),
+j DATETIME(2) ON UPDATE CURRENT_TIMESTAMP(2),
+k DATETIME(3) ON UPDATE CURRENT_TIMESTAMP(3),
+l DATETIME(4) ON UPDATE CURRENT_TIMESTAMP(4),
+m DATETIME(5) ON UPDATE CURRENT_TIMESTAMP(5),
+n DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(6),
+o INT
+);
+INSERT INTO t2 ( o ) VALUES ( 1 );
+sync_slave_with_master
+connection slave
+SELECT * FROM t1;
+a 1970-01-02 10:17:36
+b 1970-01-02 10:17:36.7
+c 1970-01-02 10:17:36.78
+d 1970-01-02 10:17:36.789
+e 1970-01-02 10:17:36.7891
+f 1970-01-02 10:17:36.78912
+g 1970-01-02 10:17:36.789123
+h 1970-01-02 20:47:36
+i 1970-01-02 20:47:36.7
+j 1970-01-02 20:47:36.78
+k 1970-01-02 20:47:36.789
+l 1970-01-02 20:47:36.7891
+m 1970-01-02 20:47:36.78912
+n 1970-01-02 20:47:36.789123
+o 1
+SELECT * FROM t2;
+a 0000-00-00 00:00:00
+b 0000-00-00 00:00:00.0
+c 0000-00-00 00:00:00.00
+d 0000-00-00 00:00:00.000
+e 0000-00-00 00:00:00.0000
+f 0000-00-00 00:00:00.00000
+g 0000-00-00 00:00:00.000000
+h NULL
+i NULL
+j NULL
+k NULL
+l NULL
+m NULL
+n NULL
+o 1
+connection master
+SET TIMESTAMP=1234567890.123456;
+SELECT CURRENT_TIMESTAMP;
+CURRENT_TIMESTAMP
+2009-02-14 10:01:30
+UPDATE t1 SET o = 2;
+UPDATE t2 SET o = 2;
+sync_slave_with_master
+connection slave
+SELECT * FROM t1;
+a 1970-01-02 10:17:36
+b 1970-01-02 10:17:36.7
+c 1970-01-02 10:17:36.78
+d 1970-01-02 10:17:36.789
+e 1970-01-02 10:17:36.7891
+f 1970-01-02 10:17:36.78912
+g 1970-01-02 10:17:36.789123
+h 1970-01-02 20:47:36
+i 1970-01-02 20:47:36.7
+j 1970-01-02 20:47:36.78
+k 1970-01-02 20:47:36.789
+l 1970-01-02 20:47:36.7891
+m 1970-01-02 20:47:36.78912
+n 1970-01-02 20:47:36.789123
+o 2
+SELECT * FROM t2;
+a 2009-02-13 23:31:30
+b 2009-02-13 23:31:30.1
+c 2009-02-13 23:31:30.12
+d 2009-02-13 23:31:30.123
+e 2009-02-13 23:31:30.1234
+f 2009-02-13 23:31:30.12345
+g 2009-02-13 23:31:30.123456
+h 2009-02-14 10:01:30
+i 2009-02-14 10:01:30.1
+j 2009-02-14 10:01:30.12
+k 2009-02-14 10:01:30.123
+l 2009-02-14 10:01:30.1234
+m 2009-02-14 10:01:30.12345
+n 2009-02-14 10:01:30.123456
+o 2
+connection master
+DROP TABLE t1, t2;
+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
new file mode 100644
index 00000000000..22f284d6716
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_basic.result
@@ -0,0 +1,480 @@
+include/rpl_init.inc [topology=1->2->3->4]
+*** GTID position should be empty here ***
+SELECT BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>);
+BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>)
+
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=MyISAM;
+CREATE TABLE t2 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, "m1");
+INSERT INTO t1 VALUES (2, "m2"), (3, "m3"), (4, "m4");
+INSERT INTO t2 VALUES (1, "i1");
+BEGIN;
+INSERT INTO t2 VALUES (2, "i2"), (3, "i3");
+INSERT INTO t2 VALUES (4, "i4");
+COMMIT;
+*** GTID position should be non-empty here ***
+SELECT BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>);
+BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>)
+<GTID_POS_SERVER_1>
+*** GTID position should be the same as on server_1 ***
+SELECT BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>);
+BINLOG_GTID_POS('<BINLOG_FILE>',<BINLOG_POS>)
+<GTID_POS_SERVER_1>
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+*** Now take out D, let it fall behind a bit, and then test re-attaching it to A ***
+include/stop_slave.inc
+INSERT INTO t1 VALUES (5, "m1a");
+INSERT INTO t2 VALUES (5, "i1a");
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+5 m1a
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+5 i1a
+*** Now move B to D (C is still replicating from B) ***
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_4,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+UPDATE t2 SET b="j1a" WHERE a=5;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+5 m1a
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+5 j1a
+*** Now move C to D, after letting it fall a little behind ***
+include/stop_slave.inc
+INSERT INTO t2 VALUES (6, "i6b");
+INSERT INTO t2 VALUES (7, "i7b");
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_4,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 ORDER BY a;
+a b
+1 i1
+2 i2
+3 i3
+4 i4
+5 j1a
+6 i6b
+7 i7b
+*** Now change everything back to what it was, to make rpl_end.inc happy
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_MYPORT;
+include/start_slave.inc
+include/wait_for_slave_to_start.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SLAVE_MYPORT;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_3;
+include/start_slave.inc
+DROP TABLE t1,t2;
+include/save_master_gtid.inc
+*** A few more checks for BINLOG_GTID_POS function ***
+SELECT BINLOG_GTID_POS();
+ERROR 42000: Incorrect parameter count in the call to native function 'BINLOG_GTID_POS'
+SELECT BINLOG_GTID_POS('a');
+ERROR 42000: Incorrect parameter count in the call to native function 'BINLOG_GTID_POS'
+SELECT BINLOG_GTID_POS('a',1,NULL);
+ERROR 42000: Incorrect parameter count in the call to native function 'BINLOG_GTID_POS'
+SELECT BINLOG_GTID_POS(1,'a');
+BINLOG_GTID_POS(1,'a')
+NULL
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'a'
+SELECT BINLOG_GTID_POS(NULL,NULL);
+BINLOG_GTID_POS(NULL,NULL)
+NULL
+SELECT BINLOG_GTID_POS('',1);
+BINLOG_GTID_POS('',1)
+
+SELECT BINLOG_GTID_POS('a',1);
+BINLOG_GTID_POS('a',1)
+NULL
+SELECT BINLOG_GTID_POS('master-bin.000001',-1);
+BINLOG_GTID_POS('master-bin.000001',-1)
+NULL
+SELECT BINLOG_GTID_POS('master-bin.000001',0);
+BINLOG_GTID_POS('master-bin.000001',0)
+
+SELECT BINLOG_GTID_POS('master-bin.000001',18446744073709551615);
+BINLOG_GTID_POS('master-bin.000001',18446744073709551615)
+NULL
+SELECT BINLOG_GTID_POS('master-bin.000001',18446744073709551616);
+BINLOG_GTID_POS('master-bin.000001',18446744073709551616)
+NULL
+Warnings:
+Warning 1916 Got overflow when converting '18446744073709551616' to INT. Value truncated.
+*** Some tests of @@GLOBAL.gtid_binlog_state ***
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET @old_state= @@GLOBAL.gtid_binlog_state;
+SET GLOBAL gtid_binlog_state = '';
+ERROR HY000: This operation is not allowed if any GTID has been logged to the binary log. Run RESET MASTER first to erase the log
+RESET MASTER;
+SET GLOBAL gtid_binlog_state = '';
+FLUSH LOGS;
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+SET GLOBAL gtid_binlog_state = '0-1-10,1-2-20,0-3-30';
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+master-bin.000001 # Gtid_list # # [#-#-#]
+master-bin.000001 # Binlog_checkpoint # # master-bin.000001
+SET GLOBAL gtid_binlog_state = @old_state;
+ERROR HY000: This operation is not allowed if any GTID has been logged to the binary log. Run RESET MASTER first to erase the log
+RESET MASTER;
+SET GLOBAL gtid_binlog_state = @old_state;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+SET gtid_seq_no=100;
+INSERT INTO t1 VALUES (1);
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+a
+1
+Gtid_IO_Pos = '0-1-100'
+*** Test @@LAST_GTID and MASTER_GTID_WAIT() ***
+DROP TABLE t1;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+include/stop_slave.inc
+SELECT @@last_gtid;
+@@last_gtid
+
+SET gtid_seq_no=110;
+SELECT @@last_gtid;
+@@last_gtid
+
+BEGIN;
+SELECT @@last_gtid;
+@@last_gtid
+
+INSERT INTO t1 VALUES (2);
+SELECT @@last_gtid;
+@@last_gtid
+
+COMMIT;
+SELECT @@last_gtid;
+@@last_gtid
+0-1-110
+SET @pos= '0-1-110';
+SELECT master_gtid_wait(NULL);
+master_gtid_wait(NULL)
+NULL
+SELECT master_gtid_wait('', NULL);
+master_gtid_wait('', NULL)
+0
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 1
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 0
+SHOW STATUS LIKE 'Master_gtid_wait_time';
+Variable_name Value
+Master_gtid_wait_time 0
+SELECT master_gtid_wait(@pos, 0.5);
+master_gtid_wait(@pos, 0.5)
+-1
+SELECT * FROM t1 ORDER BY a;
+a
+SELECT master_gtid_wait(@pos);
+include/start_slave.inc
+master_gtid_wait(@pos)
+0
+SELECT * FROM t1 ORDER BY a;
+a
+2
+include/stop_slave.inc
+SET gtid_domain_id= 1;
+INSERT INTO t1 VALUES (3);
+SET @pos= 'POS';
+SELECT master_gtid_wait(@pos, 0);
+master_gtid_wait(@pos, 0)
+-1
+SELECT * FROM t1 WHERE a >= 3;
+a
+SELECT master_gtid_wait(@pos, -1);
+include/start_slave.inc
+master_gtid_wait(@pos, -1)
+0
+SELECT * FROM t1 WHERE a >= 3;
+a
+3
+SELECT master_gtid_wait('1-1-1', 0);
+master_gtid_wait('1-1-1', 0)
+0
+SELECT master_gtid_wait('2-1-1,1-1-4,0-1-110');
+SELECT master_gtid_wait('0-1-1000', 0.5);
+SELECT master_gtid_wait('0-1-2000');
+SELECT master_gtid_wait('2-1-10');
+SELECT master_gtid_wait('2-1-6', 1);
+SELECT master_gtid_wait('2-1-5');
+SELECT master_gtid_wait('2-1-10');
+SELECT master_gtid_wait('2-1-5,1-1-4,0-1-110');
+SELECT master_gtid_wait('2-1-2');
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 0
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 3
+SELECT master_gtid_wait('1-1-1');
+master_gtid_wait('1-1-1')
+0
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 0
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 4
+SET @a= MASTER_GTID_WAIT_TIME;
+SELECT IF(@a <= 100*1000*1000, "OK", CONCAT("Error: wait time ", @a, " is larger than expected"))
+AS Master_gtid_wait_time_as_expected;
+Master_gtid_wait_time_as_expected
+OK
+SELECT master_gtid_wait('0-1-109');
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 0
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 4
+SELECT master_gtid_wait('2-1-2', 0.5);
+master_gtid_wait('2-1-2', 0.5)
+-1
+SHOW STATUS LIKE 'Master_gtid_wait_timeouts';
+Variable_name Value
+Master_gtid_wait_timeouts 1
+SHOW STATUS LIKE 'Master_gtid_wait_count';
+Variable_name Value
+Master_gtid_wait_count 5
+SET @a= MASTER_GTID_WAIT_TIME;
+SELECT IF(@a BETWEEN 0.4*1000*1000 AND 100*1000*1000, "OK", CONCAT("Error: wait time ", @a, " not as expected")) AS Master_gtid_wait_time_as_expected;
+Master_gtid_wait_time_as_expected
+OK
+KILL QUERY KILL_ID;
+ERROR 70100: Query execution was interrupted
+SET gtid_domain_id=2;
+SET gtid_seq_no=2;
+INSERT INTO t1 VALUES (4);
+master_gtid_wait('2-1-2')
+0
+KILL CONNECTION KILL_ID;
+Got one of the listed errors
+SET gtid_domain_id=1;
+SET gtid_seq_no=4;
+INSERT INTO t1 VALUES (5);
+SET gtid_domain_id=2;
+SET gtid_seq_no=5;
+INSERT INTO t1 VALUES (6);
+master_gtid_wait('2-1-5,1-1-4,0-1-110')
+0
+master_gtid_wait('2-1-1,1-1-4,0-1-110')
+0
+master_gtid_wait('0-1-1000', 0.5)
+-1
+master_gtid_wait('2-1-6', 1)
+-1
+master_gtid_wait('0-1-109')
+0
+SET gtid_domain_id=2;
+SET gtid_seq_no=10;
+INSERT INTO t1 VALUES (7);
+master_gtid_wait('2-1-10')
+0
+master_gtid_wait('2-1-10')
+0
+*** Test gtid_slave_pos when used with GTID ***
+include/stop_slave.inc
+SET gtid_domain_id=2;
+SET gtid_seq_no=1000;
+INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (11);
+SET sql_slave_skip_counter= 1;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+11
+SELECT IF(LOCATE("2-1-1001", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1001 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+include/stop_slave.inc
+SET gtid_domain_id=2;
+SET gtid_seq_no=1010;
+INSERT INTO t1 VALUES (12);
+INSERT INTO t1 VALUES (13);
+SET sql_slave_skip_counter= 2;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+11
+13
+SELECT IF(LOCATE("2-1-1011", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1011 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+include/stop_slave.inc
+SET gtid_domain_id=2;
+SET gtid_seq_no=1020;
+INSERT INTO t1 VALUES (14);
+INSERT INTO t1 VALUES (15);
+INSERT INTO t1 VALUES (16);
+SET sql_slave_skip_counter= 3;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+11
+13
+15
+16
+SELECT IF(LOCATE("2-1-1022", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1022 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+include/stop_slave.inc
+SET gtid_domain_id=2;
+SET gtid_seq_no=1030;
+INSERT INTO t1 VALUES (17);
+INSERT INTO t1 VALUES (18);
+INSERT INTO t1 VALUES (19);
+SET sql_slave_skip_counter= 5;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a
+11
+13
+15
+16
+19
+SELECT IF(LOCATE("2-1-1032", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1032 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+include/stop_slave.inc
+SET gtid_domain_id=3;
+SET gtid_seq_no=100;
+CREATE TABLE t2 (a INT PRIMARY KEY);
+DROP TABLE t2;
+SET gtid_domain_id=2;
+SET gtid_seq_no=1040;
+INSERT INTO t1 VALUES (20);
+SET @saved_mode= @@GLOBAL.slave_ddl_exec_mode;
+SET GLOBAL slave_ddl_exec_mode=STRICT;
+SET sql_slave_skip_counter=1;
+START SLAVE UNTIL master_gtid_pos="3-1-100";
+include/sync_with_master_gtid.inc
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t2;
+ERROR 42S02: Table 'test.t2' doesn't exist
+SELECT IF(LOCATE("3-1-100", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 3-1-100 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Slave: Unknown table 'test\\.t2' Error_code: 1051");
+SET sql_log_bin=1;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1051]
+SELECT IF(LOCATE("3-1-100", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 3-1-100 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+STOP SLAVE IO_THREAD;
+SET sql_slave_skip_counter=2;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+20
+SELECT IF(LOCATE("3-1-101", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 3-1-101 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+SELECT IF(LOCATE("2-1-1040", @@GLOBAL.gtid_slave_pos)>0, "Ok", CONCAT("ERROR! expected GTID 2-1-1040 not found in gtid_slave_pos: ", @@GLOBAL.gtid_slave_pos)) AS status;
+status
+Ok
+SET GLOBAL slave_ddl_exec_mode= @saved_mode;
+*** Test GTID-connecting to a master with out-of-order sequence numbers in the binlog. ***
+SET gtid_domain_id= @@GLOBAL.gtid_domain_id;
+INSERT INTO t1 VALUES (31);
+SET gtid_domain_id= @@GLOBAL.gtid_domain_id;
+INSERT INTO t1 VALUES (32);
+INSERT INTO t1 VALUES (33);
+include/stop_slave.inc
+INSERT INTO t1 VALUES (34);
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+33
+34
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+33
+34
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_crash.result b/mysql-test/suite/rpl/r/rpl_gtid_crash.result
new file mode 100644
index 00000000000..5f67901b7f5
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_crash.result
@@ -0,0 +1,320 @@
+include/rpl_init.inc [topology=1->2]
+*** Test crashing master, causing slave IO thread to reconnect while SQL thread is running ***
+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");
+flush tables;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, 0);
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
+MASTER_USE_GTID=CURRENT_POS;
+INSERT INTO t1 VALUES (2,1);
+INSERT INTO t1 VALUES (3,1);
+include/start_slave.inc
+include/save_master_gtid.inc
+SET SESSION debug_dbug="+d,crash_dispatch_command_before";
+SELECT 1;
+Got one of the listed errors
+include/sync_with_master_gtid.inc
+INSERT INTO t1 VALUES (1000, 3);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+DROP TABLE t1;
+*** Test crashing the master mysqld and check that binlog state is recovered. ***
+include/stop_slave.inc
+RESET MASTER;
+SET GLOBAL gtid_slave_pos='';
+RESET MASTER;
+SHOW BINLOG EVENTS IN 'master-bin.000001' LIMIT 1,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid_list # # []
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+include/start_slave.inc
+SET gtid_domain_id= 1;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+FLUSH LOGS;
+SET gtid_domain_id= 2;
+INSERT INTO t1 VALUES (3);
+FLUSH LOGS;
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+SHOW BINLOG EVENTS IN 'master-bin.000003' LIMIT 1,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Gtid_list # # #
+SET SESSION debug_dbug="+d,crash_dispatch_command_before";
+SELECT 1;
+Got one of the listed errors
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+SHOW BINLOG EVENTS IN 'master-bin.000004' LIMIT 1,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Gtid_list # # #
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+*** Test crashing slave at various points and check that it recovers crash-safe. ***
+include/stop_slave.inc
+SET GLOBAL debug_dbug="+d,inject_crash_before_write_rpl_slave_state";
+START SLAVE;
+INSERT INTO t1 VALUES (4);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET GLOBAL debug_dbug="+d,crash_commit_before";
+START SLAVE;
+INSERT INTO t1 VALUES (5);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET GLOBAL debug_dbug="+d,crash_commit_after";
+START SLAVE;
+INSERT INTO t1 VALUES (6);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET GLOBAL debug_dbug="+d,inject_crash_before_flush_rli";
+START SLAVE;
+INSERT INTO t1 VALUES (7);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET GLOBAL debug_dbug="+d,inject_crash_after_flush_rli";
+START SLAVE;
+INSERT INTO t1 VALUES (8);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+8
+*** MDEV-4725: Incorrect recovery when crash in the middle of writing an event group ***
+SET GLOBAL debug_dbug="+d,crash_before_writing_xid";
+INSERT INTO t1 VALUES (9), (10);
+SHOW VARIABLES like 'gtid_strict_mode';
+Variable_name Value
+gtid_strict_mode ON
+include/start_slave.inc
+*** MDEV-6462: Incorrect recovery on a slave reconnecting to crashed master ***
+set sql_log_bin= 0;
+call mtr.add_suppression("Error writing file 'master-bin'");
+set sql_log_bin= 1;
+set sql_log_bin= 0;
+call mtr.add_suppression("The server_id of master server changed in the middle of GTID");
+call mtr.add_suppression("Unexpected change of master binlog file name in the middle of GTID");
+set sql_log_bin= 1;
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (11);
+COMMIT;
+ERROR HY000: Error writing file 'master-bin' (errno: 28 "No space left on device")
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+COMMIT;
+Got one of the listed errors
+SELECT @@GLOBAL.server_id;
+@@GLOBAL.server_id
+3
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+gtid_check
+Binlog pos ok
+# Wait 30 seconds for SQL thread to catch up with IO thread
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+gtid_check
+Binlog pos ok
+gtid_check
+Slave pos ok
+gtid_check
+Current pos ok
+# Repeat this with additional transactions on the master
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (12);
+COMMIT;
+ERROR HY000: Error writing file 'master-bin' (errno: 28 "No space left on device")
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+COMMIT;
+Got one of the listed errors
+SELECT @@GLOBAL.server_id;
+@@GLOBAL.server_id
+1
+INSERT INTO t1 VALUES (13);
+INSERT INTO t1 VALUES (14);
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+13
+14
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+13
+14
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (21);
+COMMIT;
+ERROR HY000: Error writing file 'master-bin' (errno: 28 "No space left on device")
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+COMMIT;
+Got one of the listed errors
+SELECT @@GLOBAL.server_id;
+@@GLOBAL.server_id
+1
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+13
+14
+gtid_check
+Binlog pos ok
+gtid_check
+Current pos ok
+# Wait 30 seconds for SQL thread to catch up with IO thread
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+13
+14
+gtid_check
+Binlog pos ok
+gtid_check
+Slave pos ok
+gtid_check
+Current pos ok
+# Repeat this with additional transactions on the master
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (22);
+COMMIT;
+ERROR HY000: Error writing file 'master-bin' (errno: 28 "No space left on device")
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+COMMIT;
+Got one of the listed errors
+INSERT INTO t1 VALUES (23);
+INSERT INTO t1 VALUES (24);
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+13
+14
+23
+24
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+13
+14
+23
+24
+# Repeat this with slave restart
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (25);
+COMMIT;
+ERROR HY000: Error writing file 'master-bin' (errno: 28 "No space left on device")
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+COMMIT;
+Got one of the listed errors
+# Wait 30 seconds for IO thread to connect and SQL thread to catch up
+# with IO thread.
+include/stop_slave.inc
+gtid_check
+Binlog pos ok
+gtid_check
+Current pos ok
+INSERT INTO t1 VALUES (26);
+INSERT INTO t1 VALUES (27);
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+13
+14
+23
+24
+26
+27
+include/save_master_gtid.inc
+gtid_check
+Binlog pos ok
+gtid_check
+Slave pos ok
+gtid_check
+Current pos ok
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+a
+13
+14
+23
+24
+26
+27
+*** MDEV-6391: GTID binlog state not recovered if mariadb-bin.state is removed ***
+include/stop_slave.inc
+INSERT INTO t1 VALUES (30);
+SET @old_server_id= @@server_id;
+SET @old_domain_id= @@gtid_domain_id;
+SET SESSION server_id= 10;
+INSERT INTO t1 VALUES (31);
+INSERT INTO t1 VALUES (32);
+SET SESSION gtid_domain_id= 1;
+SET SESSION server_id=11;
+INSERT INTO t1 VALUES (33);
+SET SESSION gtid_domain_id= 2;
+INSERT INTO t1 VALUES (34);
+SET SESSION server_id= 10;
+INSERT INTO t1 VALUES (35);
+INSERT INTO t1 VALUES (36);
+SET SESSION gtid_domain_id= 0;
+SET SESSION server_id= 12;
+INSERT INTO t1 VALUES (37);
+SET SESSION gtid_domain_id= @old_domain_id;
+SET SESSION server_id= @old_server_id;
+INSERT INTO t1 VALUES (38);
+INSERT INTO t1 VALUES (39);
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_crash_myisam.result b/mysql-test/suite/rpl/r/rpl_gtid_crash_myisam.result
new file mode 100644
index 00000000000..55465d7e81b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_crash_myisam.result
@@ -0,0 +1,24 @@
+include/rpl_init.inc [topology=1->2]
+*** Test crashing master with InnoDB disabled, the binlog gtid state should still be correctly recovered. ***
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=MyISAM;
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+FLUSH TABLES;
+SET SESSION debug_dbug="+d,crash_dispatch_command_before";
+SELECT 1;
+Got one of the listed errors
+INSERT INTO t1 VALUES (3);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_delete_domain.result b/mysql-test/suite/rpl/r/rpl_gtid_delete_domain.result
new file mode 100644
index 00000000000..3558a6764d1
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_delete_domain.result
@@ -0,0 +1,30 @@
+include/master-slave.inc
+[connection master]
+SET @@SESSION.gtid_domain_id=0;
+CREATE TABLE t (a INT);
+call mtr.add_suppression("connecting slave requested to start from.*which is not in the master's binlog");
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @@SESSION.gtid_domain_id=11;
+SET @@SESSION.server_id=111;
+SET @@SESSION.gtid_seq_no=1;
+INSERT INTO t SET a=1;
+SET @save.gtid_slave_pos=@@global.gtid_slave_pos;
+SET @@global.gtid_slave_pos=concat(@@global.gtid_slave_pos, ",", 11, "-", 111, "-", 1 + 1);
+Warnings:
+Warning 1947 Specified GTID 0-1-1 conflicts with the binary log which contains a more recent GTID 0-2-2. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos.
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_error.inc [errno=1236]
+FLUSH BINARY LOGS;
+PURGE BINARY LOGS TO 'master-bin.000002';;
+FLUSH BINARY LOGS DELETE_DOMAIN_ID=(11);
+include/start_slave.inc
+INSERT INTO t SET a=1;
+include/wait_for_slave_io_error.inc [errno=1236]
+FLUSH BINARY LOGS;
+PURGE BINARY LOGS TO 'master-bin.000004';;
+FLUSH BINARY LOGS DELETE_DOMAIN_ID=(11);
+include/start_slave.inc
+SET @@SESSION.gtid_domain_id=0;
+DROP TABLE t;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result b/mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result
new file mode 100644
index 00000000000..a2bf8b567e8
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result
@@ -0,0 +1,211 @@
+include/master-slave.inc
+[connection master]
+*** Test that we check against incorrect table definition for mysql.gtid_slave_pos ***
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos CHANGE seq_no seq_no VARCHAR(20);
+START SLAVE;
+INSERT INTO t1 VALUES (1);
+CALL mtr.add_suppression("Slave: Failed to open mysql.gtid_slave_pos");
+include/wait_for_slave_sql_error.inc [errno=1942]
+include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos CHANGE seq_no seq_no BIGINT UNSIGNED NOT NULL;
+ALTER TABLE mysql.gtid_slave_pos DROP PRIMARY KEY;
+ALTER TABLE mysql.gtid_slave_pos ADD PRIMARY KEY (sub_id, domain_id);
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1942]
+include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos DROP PRIMARY KEY;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1942]
+include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos ADD PRIMARY KEY (sub_id);
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1942]
+include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos DROP PRIMARY KEY;
+ALTER TABLE mysql.gtid_slave_pos ADD PRIMARY KEY (domain_id, sub_id);
+include/start_slave.inc
+SELECT * FROM t1;
+a
+1
+*** Test that setting @@gtid_domain_id or @@gtid_seq_no is not allowed inside a transaction. ***
+BEGIN;
+INSERT INTO t1 VALUES (100);
+SET SESSION gtid_domain_id= 100;
+ERROR HY000: Cannot modify @@session.gtid_domain_id or @@session.gtid_seq_no inside a transaction
+SET SESSION gtid_seq_no= 100;
+ERROR HY000: Cannot modify @@session.gtid_domain_id or @@session.gtid_seq_no inside a transaction
+SET @old_domain= @@GLOBAL.gtid_domain_id;
+SET GLOBAL gtid_domain_id= 100;
+SELECT @@SESSION.gtid_domain_id;
+@@SESSION.gtid_domain_id
+0
+SET GLOBAL gtid_domain_id= @old_domain;
+INSERT INTO t1 VALUES (101);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+100
+101
+ROLLBACK;
+SELECT * FROM t1 ORDER BY a;
+a
+1
+*** Test requesting an explicit GTID position that conflicts with newer GTIDs of our own in the binlog. ***
+include/stop_slave.inc
+RESET MASTER;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (4);
+include/save_master_gtid.inc
+SET sql_log_bin = 0;
+INSERT INTO t1 VALUES (2);
+SET sql_log_bin = 1;
+INSERT INTO t1 VALUES (3);
+CHANGE MASTER TO master_use_gtid=current_pos;
+BEGIN;
+SET GLOBAL gtid_slave_pos = "100-100-100";
+ERROR 25000: You are not allowed to execute this command in a transaction
+INSERT INTO t1 VALUES (100);
+SET GLOBAL gtid_slave_pos = "100-100-100";
+ERROR 25000: You are not allowed to execute this command in a transaction
+ROLLBACK;
+SET GLOBAL gtid_strict_mode= 1;
+SET GLOBAL gtid_slave_pos = "0-1-1";
+ERROR HY000: Specified GTID 0-1-1 conflicts with the binary log which contains a more recent GTID 0-2-11. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos.
+SET GLOBAL gtid_slave_pos = "";
+ERROR HY000: Specified value for @@gtid_slave_pos contains no value for replication domain 0. This conflicts with the binary log which contains GTID 0-2-11. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos.
+SET GLOBAL gtid_strict_mode= 0;
+SET GLOBAL gtid_slave_pos = "0-1-1";
+Warnings:
+Warning 1947 Specified GTID 0-1-1 conflicts with the binary log which contains a more recent GTID 0-2-11. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos.
+SET GLOBAL gtid_slave_pos = "";
+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-11. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos.
+RESET MASTER;
+SET GLOBAL gtid_slave_pos = "0-1-1";
+START SLAVE;
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+*** MDEV-4688: Empty value of @@GLOBAL.gtid_slave_pos ***
+include/stop_slave.inc
+INSERT INTO t1 VALUES (5);
+include/save_master_gtid.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,gtid_fail_after_record_gtid";
+SET sql_log_bin=0;
+CALL mtr.add_suppression('Got error 131 "Command not supported by database" during COMMIT');
+SET sql_log_bin=1;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1180]
+SELECT @@GLOBAL.gtid_slave_pos;
+@@GLOBAL.gtid_slave_pos
+0-1-2
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+SET GLOBAL debug_dbug= @old_dbug;
+START SLAVE SQL_THREAD;
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+*** Test slave requesting a GTID that is not present in the master's binlog ***
+include/stop_slave.inc
+SET GLOBAL gtid_slave_pos = "0-1-4";
+START SLAVE;
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Got fatal error .* from master when reading data from binary log: 'Error: connecting slave requested to start from GTID .*, which is not in the master's binlog'");
+SET sql_log_bin=1;
+include/wait_for_slave_io_error.inc [errno=1236]
+Slave_IO_State = ''
+Last_IO_Errno = '1236'
+Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'Error: connecting slave requested to start from GTID 0-1-4, which is not in the master's binlog''
+Using_Gtid = 'Current_Pos'
+include/stop_slave.inc
+SET GLOBAL gtid_slave_pos = "0-1-3";
+START SLAVE;
+include/wait_for_slave_to_start.inc
+INSERT INTO t1 VALUES (6);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+*** MDEV-4278: Slave does not detect that master is not GTID-aware ***
+include/stop_slave.inc
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,simulate_non_gtid_aware_master";
+START SLAVE;
+include/wait_for_slave_io_error.inc [errno=1233]
+SET GLOBAL debug_dbug= @old_dbug;
+INSERT INTO t1 VALUES (7);
+START SLAVE;
+SET sql_log_bin=0;
+CALL mtr.add_suppression("The slave I/O thread stops because master does not support MariaDB global transaction id");
+SET sql_log_bin=1;
+*** Test error during record_gtid() (non-xid cases) ***
+include/stop_slave.inc
+CREATE TABLE t2 (a INT) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1);
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,gtid_inject_record_gtid";
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1942]
+SET GLOBAL debug_dbug= @old_dbug;
+START SLAVE SQL_THREAD;
+SELECT * FROM t2;
+a
+1
+1
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Slave: Could not update replication slave gtid state");
+SET sql_log_bin=1;
+*** MDEV-4906: When event apply fails, next SQL thread start erroneously commits the failing GTID to gtid_slave_pos ***
+include/stop_slave.inc
+SET sql_log_bin=0;
+DELETE FROM t2;
+SET sql_log_bin=1;
+SET @old_format=@@binlog_format;
+SET GLOBAL binlog_format='row';
+include/start_slave.inc
+SET @old_format=@@binlog_format;
+SET binlog_format='row';
+DELETE FROM t2;
+SET binlog_format=@old_format;
+include/wait_for_slave_sql_error.inc [errno=1032]
+result
+OK
+STOP SLAVE IO_THREAD;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1032]
+result
+OK
+STOP SLAVE IO_THREAD;
+SET sql_log_bin=0;
+INSERT INTO t2 VALUES (1);
+CALL mtr.add_suppression("Slave: Can't find record in 't2' Error_code: 1032");
+SET sql_log_bin=1;
+include/start_slave.inc
+SET GLOBAL binlog_format=@old_format;
+DROP TABLE t1;
+DROP TABLE t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_errorlog.result b/mysql-test/suite/rpl/r/rpl_gtid_errorlog.result
new file mode 100644
index 00000000000..e247ea9c2a7
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_errorlog.result
@@ -0,0 +1,44 @@
+include/master-slave.inc
+[connection master]
+*** Test MDEV-6120, output of current GTID when a replication error is logged to the errorlog ***
+CREATE TABLE t1(a INT PRIMARY KEY);
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+INSERT INTO t1 VALUES (1);
+SET gtid_seq_no=100;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+SET sql_log_bin=0;
+INSERT INTO t1 VALUES (2);
+SET sql_log_bin=1;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1062]
+include/stop_slave.inc
+SET GLOBAL gtid_slave_pos= "0-1-100";
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+SET @dbug_save= @@debug_dbug;
+SET debug_dbug= '+d,incident_database_resync_on_replace';
+REPLACE INTO t1 VALUES (5);
+SET debug_dbug= @dbug_save;
+include/wait_for_slave_sql_error.inc [errno=1590]
+include/stop_slave.inc
+SET sql_slave_skip_counter=1;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+FOUND /Slave SQL: Error 'Duplicate entry .* on query\. .*Query: '.*', Gtid 0-1-100, Internal MariaDB error code:|Slave SQL: Could not execute Write_rows.*table test.t1; Duplicate entry.*, Gtid 0-1-100, Internal MariaDB error/ in mysqld.2.err
+FOUND /Slave SQL: The incident LOST_EVENTS occurred on the master\. Message: <none>, Internal MariaDB error code: 1590/ in mysqld.2.err
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_ignored.result b/mysql-test/suite/rpl/r/rpl_gtid_ignored.result
new file mode 100644
index 00000000000..80df3af9232
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_ignored.result
@@ -0,0 +1,72 @@
+include/rpl_init.inc [topology=1->2]
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+SET @old_gtid_strict_mode= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+include/stop_slave.inc
+SET @old_gtid_strict_mode= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode=1;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+**** MDEV-4488: GTID position should be updated for events that are ignored due to server id ***
+include/stop_slave.inc
+CHANGE MASTER TO ignore_server_ids=(1);
+include/start_slave.inc
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+RESULT
+OK
+SELECT * FROM t1 ORDER BY a;
+a
+1
+include/stop_slave.inc
+CHANGE MASTER TO ignore_server_ids=();
+include/start_slave.inc
+RESULT
+OK
+SELECT * FROM t1 ORDER BY a;
+a
+1
+INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (5);
+RESULT
+OK
+a
+1
+4
+5
+*** Test the same thing when IO thread exits before SQL thread reaches end of log. ***
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= "+d,inject_slave_sql_before_apply_event";
+CHANGE MASTER TO ignore_server_ids=(1);
+include/start_slave.inc
+INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (7);
+include/wait_for_slave_param.inc [Read_Master_Log_Pos]
+STOP SLAVE IO_THREAD;
+SET debug_sync = "now SIGNAL continue";
+RESULT
+OK
+RESULT
+OK
+include/stop_slave.inc
+CHANGE MASTER TO ignore_server_ids=();
+SET GLOBAL debug_dbug= @old_dbug;
+include/start_slave.inc
+INSERT INTO t1 VALUES (8);
+INSERT INTO t1 VALUES (9);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+4
+5
+8
+9
+DROP TABLE t1;
+SET GLOBAL gtid_strict_mode= @old_gtid_strict_mode;
+SET debug_sync = "reset";
+SET GLOBAL gtid_strict_mode= @old_gtid_strict_mode;
+SET debug_sync = "reset";
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_master_promote.result b/mysql-test/suite/rpl/r/rpl_gtid_master_promote.result
new file mode 100644
index 00000000000..599c35164dd
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_master_promote.result
@@ -0,0 +1,367 @@
+include/rpl_init.inc [topology=1->2, 1->3, 1->4, 1->5]
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t4 (a INT, b INT, PRIMARY KEY (a,b)) Engine=InnoDB;
+CREATE FUNCTION extract_gtid(d VARCHAR(100), s VARCHAR(100))
+RETURNS VARCHAR(100) DETERMINISTIC
+BEGIN
+SET s= CONCAT(",", s, ",");
+SET s= SUBSTR(s FROM LOCATE(CONCAT(",", d, "-"), s) + 1);
+SET s= SUBSTR(s FROM 1 FOR LOCATE(",", s) - 1);
+RETURN s;
+END|
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=current_pos;
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=current_pos;
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=current_pos;
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=current_pos;
+SET gtid_domain_id= 1;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+INSERT INTO t4 VALUES (1, 1);
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+INSERT INTO t4 VALUES (1, 3);
+SET gtid_domain_id= 2;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1);
+INSERT INTO t2 VALUES (2);
+INSERT INTO t4 VALUES (2, 1);
+INSERT INTO t2 VALUES (3);
+INSERT INTO t2 VALUES (4);
+INSERT INTO t4 VALUES (2, 3);
+SET gtid_domain_id= 3;
+CREATE TABLE t3 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t3 VALUES (1);
+INSERT INTO t3 VALUES (2);
+INSERT INTO t4 VALUES (3, 1);
+INSERT INTO t3 VALUES (3);
+INSERT INTO t3 VALUES (4);
+INSERT INTO t4 VALUES (3, 3);
+START SLAVE UNTIL master_gtid_pos= "1-1-4,2-1-4,3-1-4";
+START SLAVE UNTIL master_gtid_pos= "1-1-1,2-1-4,3-1-7";
+START SLAVE UNTIL master_gtid_pos= "2-1-1,3-1-4,1-1-7";
+START SLAVE UNTIL master_gtid_pos= "3-1-1,1-1-4,2-1-7";
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+2 1
+3 1
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM t4 ORDER BY a,b;
+a b
+2 1
+3 1
+3 3
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM t2 ORDER BY a;
+a
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+1 3
+3 1
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM t3 ORDER BY a;
+a
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+2 1
+2 3
+*** Now replicate all extra changes from 3,4,5 to 2, in preparation for making 2 the new master. ***
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_3;
+START SLAVE UNTIL master_gtid_pos = "SERVER3_POS";
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+2 1
+3 1
+3 3
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_4;
+START SLAVE UNTIL master_gtid_pos = "SERVER4_POS";
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+1 3
+2 1
+3 1
+3 3
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_5;
+START SLAVE UNTIL master_gtid_pos = "SERVER5_POS";
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+1 3
+2 1
+2 3
+3 1
+3 3
+*** Now make 2 master and point 3,4,5 to the new master 2
+SET gtid_domain_id= 1;
+INSERT INTO t1 values (5);
+INSERT INTO t4 values (1,5);
+SET gtid_domain_id= 2;
+INSERT INTO t2 values (5);
+INSERT INTO t4 values (2,5);
+SET gtid_domain_id= 3;
+INSERT INTO t3 values (5);
+INSERT INTO t4 values (3,5);
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_2;
+include/start_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_2;
+include/start_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_2;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+1 3
+1 5
+2 1
+2 3
+2 5
+3 1
+3 3
+3 5
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+1 3
+1 5
+2 1
+2 3
+2 5
+3 1
+3 3
+3 5
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+1 3
+1 5
+2 1
+2 3
+2 5
+3 1
+3 3
+3 5
+*** Now let the old master join up as slave. ***
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_2,
+master_user = "root", master_use_gtid = current_pos;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t3 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t4 ORDER BY a,b;
+a b
+1 1
+1 3
+1 5
+2 1
+2 3
+2 5
+3 1
+3 3
+3 5
+*** Finally move things back and clean up. ***
+include/stop_slave.inc
+RESET SLAVE ALL;
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_1;
+include/start_slave.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_1;
+include/start_slave.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_1;
+include/start_slave.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_1;
+include/start_slave.inc
+SET gtid_domain_id = 0;
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE t4;
+DROP FUNCTION extract_gtid;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_mdev4473.result b/mysql-test/suite/rpl/r/rpl_gtid_mdev4473.result
new file mode 100644
index 00000000000..f983262d3a9
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_mdev4473.result
@@ -0,0 +1,57 @@
+include/rpl_init.inc [topology=1->2,1->3]
+create table t1 (n int);
+insert into t1 values (1);
+insert into t1 values (2);
+include/stop_slave.inc
+include/wait_for_slave_to_stop.inc
+include/stop_slave.inc
+include/wait_for_slave_to_stop.inc
+reset slave all;
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_2,
+master_user='root', MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+include/wait_for_slave_to_start.inc
+flush logs;
+insert into t1 values (3);
+insert into t1 values (4);
+flush logs;
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_2,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+select * from t1 order by n;
+n
+1
+2
+3
+4
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; create table t1 (n int)
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; insert into t1 values (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; insert into t1 values (2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; insert into t1 values (3)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; insert into t1 values (4)
+master-bin.000001 # Query # # COMMIT
+include/stop_slave.inc
+include/wait_for_slave_to_stop.inc
+reset slave all;
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_1,
+master_user = 'root', MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_1,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_mdev4474.result b/mysql-test/suite/rpl/r/rpl_gtid_mdev4474.result
new file mode 100644
index 00000000000..e7500a57a13
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_mdev4474.result
@@ -0,0 +1,63 @@
+include/rpl_init.inc [topology=1->2->1]
+#
+# For now we'll only have 1->2 running
+#
+# Server 1
+# Stop replication 2->1
+include/stop_slave.inc
+#
+# Server 2
+# Use GTID for replication 1->2
+include/stop_slave.inc
+change master to master_use_gtid=slave_pos;
+include/start_slave.inc
+#
+# Create some 0-1-* and 0-2-* events in binlog of server 2
+connection server_1;
+create table t1 (i int) engine=InnoDB;
+insert into t1 values (1);
+connection server_2;
+create table t2 (i int) engine=InnoDB;
+connection server_1;
+insert into t1 values (2);
+connection server_2;
+insert into t2 values (1);
+#
+# All events are present in the binlog of server 2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (i int) engine=InnoDB
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; insert into t1 values (1)
+slave-bin.000001 # Xid # # COMMIT /* XID */
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t2 (i int) engine=InnoDB
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; insert into t1 values (2)
+slave-bin.000001 # Xid # # COMMIT /* XID */
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; insert into t2 values (1)
+slave-bin.000001 # Xid # # COMMIT /* XID */
+#
+# Server 1
+# Start replication 2->1 using GTID,
+change master to master_use_gtid=slave_pos;
+include/start_slave.inc
+select * from t1 order by i;
+i
+1
+2
+select * from t2 order by i;
+i
+1
+select * from t1 order by i;
+i
+1
+2
+select * from t2 order by i;
+i
+1
+drop table t1;
+drop table t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_mdev4484.result b/mysql-test/suite/rpl/r/rpl_gtid_mdev4484.result
new file mode 100644
index 00000000000..4d223452151
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_mdev4484.result
@@ -0,0 +1,35 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1 (i int) ENGINE=InnoDB;
+*** MDEV-4484, incorrect error handling when entries in gtid_slave_pos not found. ***
+TRUNCATE TABLE mysql.gtid_slave_pos;
+INSERT INTO t1 VALUES (1);
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,gtid_slave_pos_simulate_failed_delete";
+SET sql_log_bin= 0;
+CALL mtr.add_suppression("Can't find file");
+ALTER TABLE mysql.gtid_slave_pos ENGINE=MyISAM;
+SET sql_log_bin= 1;
+include/start_slave.inc
+INSERT INTO t1 VALUES (2);
+include/wait_for_slave_sql_error.inc [errno=1942]
+STOP SLAVE IO_THREAD;
+SELECT domain_id, server_id, seq_no FROM mysql.gtid_slave_pos
+ORDER BY domain_id, sub_id DESC LIMIT 1;
+domain_id server_id seq_no
+0 1 3
+SET GLOBAL debug_dbug= @old_dbug;
+include/start_slave.inc
+INSERT INTO t1 VALUES (3);
+SELECT domain_id, server_id, seq_no FROM mysql.gtid_slave_pos
+ORDER BY domain_id, sub_id DESC LIMIT 1;
+domain_id server_id seq_no
+0 1 4
+SELECT * FROM t1 ORDER BY i;
+i
+1
+2
+3
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_mdev4485.result b/mysql-test/suite/rpl/r/rpl_gtid_mdev4485.result
new file mode 100644
index 00000000000..34efd43f81b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_mdev4485.result
@@ -0,0 +1,15 @@
+include/rpl_init.inc [topology=1->3]
+*** MDEV-4485. Master did not allow slave to connect from the very start (empty GTID pos) if GTIDs from other multi_source master was present ***
+create table t1 (i int);
+create table t2 (i int);
+set default_master_connection = 'm2';
+change master to master_host='127.0.0.1', master_port=SERVER_MYPORT_2, master_user='root', master_use_gtid=slave_pos;
+include/start_slave.inc
+insert into t2 values (1);
+drop table t1;
+drop table t2;
+set default_master_connection = 'm2';
+include/stop_slave.inc
+RESET SLAVE ALL;
+set default_master_connection = '';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_mdev4820.result b/mysql-test/suite/rpl/r/rpl_gtid_mdev4820.result
new file mode 100644
index 00000000000..be420cb021b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_mdev4820.result
@@ -0,0 +1,85 @@
+include/rpl_init.inc [topology=1->2]
+include/stop_slave.inc
+SET @slave_old_strict= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+SET @master_old_strict= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+include/stop_slave.inc
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= 'OLD_GTID_POS';
+include/start_slave.inc
+INSERT INTO t1 VALUES (4);
+include/save_master_gtid.inc
+SET sql_log_bin= 0;
+CALL mtr.add_suppression("The binlog on the master is missing the GTID");
+SET sql_log_bin= 1;
+include/wait_for_slave_io_error.inc [errno=1236]
+STOP SLAVE SQL_THREAD;
+SET GLOBAL gtid_slave_pos= 'OLD_GTID_POS';
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+4
+include/stop_slave.inc
+RESET SLAVE ALL;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= '0-2-10';
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_2,
+master_user= 'root', master_use_gtid=CURRENT_POS;
+START SLAVE;
+INSERT INTO t1 VALUES (11);
+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");
+SET sql_log_bin= 1;
+include/wait_for_slave_io_error.inc [errno=1236]
+STOP SLAVE SQL_THREAD;
+SET GLOBAL gtid_slave_pos= '0-2-10';
+SET GLOBAL gtid_strict_mode= 0;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+11
+include/stop_slave.inc
+RESET SLAVE ALL;
+INSERT INTO t1 VALUES (12);
+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;
+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");
+SET sql_log_bin= 1;
+include/wait_for_slave_io_error.inc [errno=1236]
+STOP SLAVE SQL_THREAD;
+SET GLOBAL gtid_strict_mode= 0;
+CHANGE MASTER TO master_use_gtid=SLAVE_POS;
+SET GLOBAL gtid_slave_pos= 'OLD_GTID_POS';
+Warnings:
+Warning 1947 Specified GTID OLD_GTID_POS conflicts with the binary log which contains a more recent GTID 0-2-12. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos.
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+4
+11
+12
+22
+SET GLOBAL gtid_strict_mode= @slave_old_strict;
+DROP TABLE t1;
+SET GLOBAL gtid_strict_mode= @master_old_strict;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_mdev9033.result b/mysql-test/suite/rpl/r/rpl_gtid_mdev9033.result
new file mode 100644
index 00000000000..f6a4f3e4f7e
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_mdev9033.result
@@ -0,0 +1,55 @@
+include/rpl_init.inc [topology=1->2->3]
+include/stop_slave.inc
+CHANGE MASTER TO
+MASTER_USE_GTID = SLAVE_POS, IGNORE_DOMAIN_IDS = (2,3);
+START SLAVE;
+include/stop_slave.inc
+CHANGE MASTER TO
+MASTER_USE_GTID = SLAVE_POS, IGNORE_DOMAIN_IDS = (2,3);
+START SLAVE;
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, "m1");
+INSERT INTO t1 VALUES (2, "m2"), (3, "m3"), (4, "m4");
+SET @@session.gtid_domain_id=2;
+# The following should get filetered on slave.
+CREATE TABLE t2 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1, "m1");
+INSERT INTO t2 VALUES (2, "m2"), (3, "m3"), (4, "m4");
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+# Only 't1' should have replicated to slaves.
+SHOW TABLES;
+Tables_in_test
+t1
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 m1
+2 m2
+3 m3
+4 m4
+# Only 't1' should have replicated to slaves.
+SHOW TABLES;
+Tables_in_test
+t1
+# Cleanup
+SET @@session.gtid_domain_id=1;
+DROP TABLE t1;
+SET @@session.gtid_domain_id=2;
+DROP TABLE t2;
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+STOP SLAVE;
+CHANGE MASTER TO MASTER_USE_GTID = NO, IGNORE_DOMAIN_IDS = ();
+STOP SLAVE;
+CHANGE MASTER TO MASTER_USE_GTID = NO, IGNORE_DOMAIN_IDS = ();
+# End of test.
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_misc.result b/mysql-test/suite/rpl/r/rpl_gtid_misc.result
new file mode 100644
index 00000000000..cdaac1b1d34
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_misc.result
@@ -0,0 +1,25 @@
+include/master-slave.inc
+[connection master]
+*** MDEV-6403: Temporary tables lost at STOP SLAVE in GTID mode if master has not rotated binlog since restart ***
+CREATE TABLE t1 (a INT PRIMARY KEY);
+include/stop_slave.inc
+SET sql_log_bin= 0;
+INSERT INTO t1 VALUES (1);
+SET sql_log_bin= 1;
+CHANGE MASTER TO master_use_gtid= current_pos;
+CREATE TEMPORARY TABLE t2 LIKE t1;
+INSERT INTO t2 VALUE (1);
+INSERT INTO t1 SELECT * FROM t2;
+DROP TEMPORARY TABLE t2;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1062]
+STOP SLAVE IO_THREAD;
+SET sql_log_bin= 0;
+DELETE FROM t1 WHERE a=1;
+SET sql_log_bin= 1;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_nobinlog.result b/mysql-test/suite/rpl/r/rpl_gtid_nobinlog.result
new file mode 100644
index 00000000000..9aee74d0b46
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_nobinlog.result
@@ -0,0 +1,62 @@
+include/rpl_init.inc [topology=1->2]
+SET @old_strict= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+select @@global.log_slave_updates;
+@@global.log_slave_updates
+0
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
+INSERT INTO t1 VALUES (1, 1);
+INSERT INTO t1 VALUES (2, 1);
+SET @old_strict= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+select @@global.log_slave_updates;
+@@global.log_slave_updates
+0
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 1
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SLAVE_PORT,
+master_user = 'root', master_use_gtid = current_pos;
+START SLAVE;
+include/wait_for_slave_to_start.inc
+INSERT INTO t1 VALUES (3, 2);
+INSERT INTO t1 VALUES (4, 2);
+include/save_master_gtid.inc
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3, 2)
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4, 2)
+slave-bin.000001 # Query # # COMMIT
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 1
+3 2
+4 2
+include/stop_slave.inc
+RESET SLAVE;
+INSERT INTO t1 VALUES (5, 1);
+INSERT INTO t1 VALUES (6, 1);
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
+master_use_gtid = current_pos;
+START SLAVE;
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 1
+3 2
+4 2
+5 1
+6 1
+SET GLOBAL gtid_strict_mode= @old_strict;
+SET GLOBAL gtid_strict_mode= @old_strict;
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_reconnect.result b/mysql-test/suite/rpl/r/rpl_gtid_reconnect.result
new file mode 100644
index 00000000000..001362825f9
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_reconnect.result
@@ -0,0 +1,173 @@
+include/rpl_init.inc [topology=1->2]
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid= current_pos;
+include/start_slave.inc
+CREATE TABLE t1 (a INT);
+FLUSH LOGS;
+SET gtid_domain_id=10;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+SET gtid_seq_no=100;
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (5);
+include/stop_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+include/kill_binlog_dump_threads.inc
+INSERT INTO t1 VALUES (10);
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100";
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+10
+include/stop_slave.inc
+TRUNCATE t1;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= "";
+SET GLOBAL debug_dbug= @old_debug;
+TRUNCATE t1;
+RESET MASTER;
+SET gtid_domain_id=10;
+SET gtid_seq_no=50;
+INSERT INTO t1 VALUES (1);
+SET gtid_domain_id=11;
+INSERT INTO t1 VALUES (11);
+SET gtid_domain_id=10;
+SET gtid_seq_no=100;
+INSERT INTO t1 VALUES (2);
+SET gtid_domain_id=11;
+INSERT INTO t1 VALUES (12);
+SET gtid_domain_id=10;
+INSERT INTO t1 VALUES (3);
+SET gtid_domain_id=11;
+SET gtid_seq_no=200;
+INSERT INTO t1 VALUES (13);
+START SLAVE UNTIL master_gtid_pos="10-1-50,11-1-200";
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+11
+12
+13
+include/kill_binlog_dump_threads.inc
+INSERT INTO t1 VALUES (20);
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100";
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+11
+12
+13
+20
+include/stop_slave.inc
+TRUNCATE t1;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= "";
+SET GLOBAL debug_dbug= @old_debug;
+TRUNCATE t1;
+RESET MASTER;
+include/kill_binlog_dump_threads.inc
+SET gtid_domain_id= 9;
+SET gtid_seq_no= 50;
+INSERT INTO t1 VALUES (1);
+SET gtid_domain_id= 10;
+INSERT INTO t1 VALUES (11);
+SET gtid_domain_id= 9;
+INSERT INTO t1 VALUES (2);
+SET gtid_domain_id= 10;
+SET gtid_seq_no= 100;
+INSERT INTO t1 VALUES (12);
+SET gtid_domain_id= 9;
+INSERT INTO t1 VALUES (3);
+SET gtid_domain_id= 10;
+SET gtid_seq_no= 200;
+INSERT INTO t1 VALUES (13);
+SET gtid_domain_id= 10;
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100";
+START SLAVE UNTIL master_gtid_pos="9-1-50,10-1-200";
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+11
+12
+13
+SET GLOBAL debug_dbug= @old_debug;
+INSERT INTO t1 VALUES (20);
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+11
+12
+13
+20
+*** Test when slave IO thread needs to reconnect in the middle of an event group. ***
+include/stop_slave.inc
+TRUNCATE t1;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= "";
+SET GLOBAL debug_dbug= @old_debug;
+TRUNCATE t1;
+RESET MASTER;
+include/kill_binlog_dump_threads.inc
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,binlog_force_reconnect_after_22_events";
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1);
+BEGIN;
+INSERT INTO t2 VALUES (10);
+INSERT INTO t2 VALUES (11);
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (20);
+INSERT INTO t2 VALUES (21);
+INSERT INTO t2 VALUES (22);
+INSERT INTO t2 VALUES (23);
+INSERT INTO t2 VALUES (24);
+INSERT INTO t2 VALUES (25);
+INSERT INTO t2 VALUES (26);
+INSERT INTO t2 VALUES (27);
+INSERT INTO t2 VALUES (28);
+INSERT INTO t2 VALUES (29);
+COMMIT;
+include/start_slave.inc
+SELECT * FROM t2 ORDER BY a;
+a
+1
+10
+11
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+SET GLOBAL debug_dbug= @old_debug;
+DROP TABLE t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_sort.result b/mysql-test/suite/rpl/r/rpl_gtid_sort.result
new file mode 100644
index 00000000000..add24522b90
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_sort.result
@@ -0,0 +1,99 @@
+include/rpl_init.inc [topology=1->2]
+*** Test connecting with empty GTID state to start from very beginning of binlog ***
+include/stop_slave.inc
+RESET MASTER;
+RESET SLAVE;
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos
+SHOW VARIABLES LIKE 'gtid_current_pos';
+Variable_name Value
+gtid_current_pos
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+Variable_name Value
+gtid_binlog_state
+RESET MASTER;
+FLUSH LOGS;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET @@SESSION.gtid_domain_id=1;
+INSERT INTO t1 VALUES(1);
+SET @@SESSION.gtid_domain_id=99999;
+INSERT INTO t1 VALUES(3);
+SET @@SESSION.gtid_domain_id=10;
+INSERT INTO t1 VALUES(4);
+SET @@SESSION.gtid_domain_id=100;
+INSERT INTO t1 VALUES(5);
+SET @@SESSION.gtid_domain_id=2147483648;
+INSERT INTO t1 VALUES(6);
+SET @@SESSION.gtid_domain_id=4294967295;
+INSERT INTO t1 VALUES(7);
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-1-1,1-1-1,10-1-1,100-1-1,99999-1-1,2147483648-1-1,4294967295-1-1
+SHOW VARIABLES LIKE 'gtid_current_pos';
+Variable_name Value
+gtid_current_pos 0-1-1,1-1-1,10-1-1,100-1-1,99999-1-1,2147483648-1-1,4294967295-1-1
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+Variable_name Value
+gtid_binlog_state 0-1-1,1-1-1,10-1-1,100-1-1,99999-1-1,2147483648-1-1,4294967295-1-1
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos
+SHOW VARIABLES LIKE 'gtid_current_pos';
+Variable_name Value
+gtid_current_pos
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+Variable_name Value
+gtid_binlog_state
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-1-1,1-1-1,10-1-1,100-1-1,99999-1-1,2147483648-1-1,4294967295-1-1
+SHOW VARIABLES LIKE 'gtid_current_pos';
+Variable_name Value
+gtid_current_pos 0-1-1,1-1-1,10-1-1,100-1-1,99999-1-1,2147483648-1-1,4294967295-1-1
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-1-1,1-1-1,10-1-1,100-1-1,99999-1-1,2147483648-1-1,4294967295-1-1
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+Variable_name Value
+gtid_binlog_state 0-1-1,1-1-1,10-1-1,100-1-1,99999-1-1,2147483648-1-1,4294967295-1-1
+SELECT * FROM t1;
+a
+1
+3
+4
+5
+6
+7
+SET @@SESSION.gtid_domain_id=1000;
+INSERT INTO t1 VALUES(8);
+SET @@SESSION.gtid_domain_id=89;
+INSERT INTO t1 VALUES(9);
+SET @@SESSION.gtid_domain_id=10100000;
+INSERT INTO t1 VALUES(10);
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-1-1,1-1-1,10-1-1,89-2-1,100-1-1,1000-2-1,99999-1-1,10100000-2-1,2147483648-1-1,4294967295-1-1
+SHOW VARIABLES LIKE 'gtid_current_pos';
+Variable_name Value
+gtid_current_pos 0-1-1,1-1-1,10-1-1,89-2-1,100-1-1,1000-2-1,99999-1-1,10100000-2-1,2147483648-1-1,4294967295-1-1
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-1-1,1-1-1,10-1-1,100-1-1,99999-1-1,2147483648-1-1,4294967295-1-1
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+Variable_name Value
+gtid_binlog_state 0-1-1,1-1-1,10-1-1,89-2-1,100-1-1,1000-2-1,99999-1-1,10100000-2-1,2147483648-1-1,4294967295-1-1
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_startpos.result b/mysql-test/suite/rpl/r/rpl_gtid_startpos.result
new file mode 100644
index 00000000000..9ff51ff6b8a
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_startpos.result
@@ -0,0 +1,243 @@
+include/rpl_init.inc [topology=1->2]
+*** Test connecting with empty GTID state to start from very beginning of binlog ***
+include/stop_slave.inc
+RESET MASTER;
+RESET SLAVE;
+RESET MASTER;
+FLUSH LOGS;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET GLOBAL gtid_slave_pos="";
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+SELECT * FROM t1;
+a
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t1;
+a
+1
+include/stop_slave.inc
+*** Test that master gives error when slave asks for empty gtid pos and binlog files have been purged. ***
+FLUSH LOGS;
+INSERT INTO t1 VALUES (2);
+include/wait_for_purge.inc "master-bin.000003"
+show binary logs;
+Log_name File_size
+master-bin.000003 #
+SET GLOBAL gtid_slave_pos="";
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
+MASTER_USE_GTID=CURRENT_POS;
+START SLAVE;
+include/wait_for_slave_io_error.inc [errno=1236]
+include/stop_slave.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
+MASTER_LOG_FILE="master-bin.000003", MASTER_LOG_POS=4;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+SET sql_log_bin=0;
+call mtr.add_suppression('Could not find GTID state requested by slave in any binlog files');
+SET sql_log_bin=1;
+*** Test that we give warning when explict @@gtid_slave_pos=xxx that conflicts with what is in our binary log ***
+include/stop_slave.inc
+INSERT INTO t1 VALUES(3);
+include/save_master_gtid.inc
+SET GLOBAL gtid_slave_pos='0-1-3';
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
+MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER by a;
+a
+1
+2
+3
+include/stop_slave.inc
+INSERT INTO t1 VALUES (4);
+include/save_master_gtid.inc
+INSERT INTO t1 VALUES (10);
+DELETE FROM t1 WHERE a=10;
+SET GLOBAL gtid_slave_pos='0-1-4';
+Warnings:
+Warning 1947 Specified GTID 0-1-4 conflicts with the binary log which contains a more recent GTID 0-2-6. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos.
+RESET MASTER;
+SET GLOBAL gtid_slave_pos='0-1-4';
+START SLAVE;
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER by a;
+a
+1
+2
+3
+4
+DROP TABLE t1;
+*** MDEV-4275: I/O thread restart duplicates events in relay log ***
+include/stop_slave.inc
+RESET SLAVE ALL;
+RESET MASTER;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos='';
+CHANGE MASTER TO master_host='127.0.0.1', master_port=MASTER_PORT, master_user='root', master_use_gtid=current_pos;
+include/start_slave.inc
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t1;
+a
+1
+include/stop_slave_io.inc
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_to_start.inc
+INSERT INTO t1 VALUES (2);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+*** MDEV-4329: GTID_SLAVE_POS='' is not checked for conflicts with binlog ***
+include/stop_slave.inc
+DROP TABLE t1;
+RESET SLAVE;
+SET GLOBAL gtid_slave_pos="";
+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-4. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos.
+RESET MASTER;
+SET GLOBAL gtid_slave_pos="";
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+include/stop_slave.inc
+SET SQL_LOG_BIN=0;
+DROP TABLE t1;
+SET SQL_LOG_BIN=1;
+RESET SLAVE;
+SET GLOBAL gtid_slave_pos="";
+SET @save_slave_ddl_exec_mode=@@global.slave_ddl_exec_mode;
+SET GLOBAL slave_ddl_exec_mode=STRICT;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+*** Test that RESET SLAVE clears the Using_Gtid flag. ***
+include/stop_slave.inc
+RESET SLAVE;
+Using_Gtid = 'No'
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1050]
+STOP SLAVE IO_THREAD;
+CHANGE MASTER TO MASTER_USE_GTID=CURRENT_POS;
+include/start_slave.inc
+INSERT INTO t1 VALUES(3);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+SET SQL_LOG_BIN=0;
+call mtr.add_suppression("Slave: Table 't1' already exists error.* 1050");
+SET SQL_LOG_BIN=1;
+*** Test reconnecting slave with GTID after purge logs on master. ***
+FLUSH LOGS;
+INSERT INTO t1 VALUES (4);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+FLUSH LOGS;
+FLUSH LOGS;
+include/wait_for_purge.inc "master-bin.000004"
+show binary logs;
+Log_name File_size
+master-bin.000004 #
+INSERT INTO t1 VALUES (5);
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+*** Test modifying binlog on slave and the effect on GTID state. ***
+include/stop_slave.inc
+RESET MASTER;
+SET GLOBAL gtid_slave_pos="";
+RESET MASTER;
+TRUNCATE TABLE t1;
+INSERT INTO t1 VALUES (10);
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+a
+10
+SELECT 'Current_Pos' AS Using_Gtid;
+Using_Gtid
+Current_Pos
+SELECT '0-1-2' AS Gtid_Slave_Pos;
+Gtid_Slave_Pos
+0-1-2
+UPDATE t1 SET a=9 WHERE a=10;
+UPDATE t1 SET a=10 WHERE a=9;
+SELECT '0-2-4' AS Gtid_Slave_Pos;
+Gtid_Slave_Pos
+0-2-4
+include/stop_slave.inc
+SET GLOBAL gtid_slave_pos='0-1-2';
+Warnings:
+Warning 1947 Specified GTID 0-1-2 conflicts with the binary log which contains a more recent GTID 0-2-4. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos.
+RESET MASTER;
+SELECT '0-1-2' AS Gtid_Slave_Pos;
+Gtid_Slave_Pos
+0-1-2
+SET GLOBAL gtid_slave_pos='0-1-2';
+include/start_slave.inc
+SELECT '0-1-2' AS Gtid_Slave_Pos;
+Gtid_Slave_Pos
+0-1-2
+*** MDEV-4483: Slave loses traditional master coordinates immediately on CHANGE MASTER TO MASTER_USE_GTID = 1 ***
+include/stop_slave.inc
+DROP TABLE t1;
+RESET SLAVE ALL;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= "";
+CHANGE MASTER TO master_host='127.0.0.1', master_port=MASTER_PORT, master_user='root', master_use_gtid=no, master_log_file="", master_log_pos= 4;
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+include/start_slave.inc
+include/stop_slave.inc
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+START SLAVE UNTIL master_log_file='LOG_FILE1', master_log_pos=LOG_POS1;
+include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t1;
+a
+1
+include/wait_for_slave_param.inc [Read_Master_Log_Pos]
+include/stop_slave_io.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET GLOBAL gtid_slave_pos="0-42-42";
+SET sql_log_bin=0;
+call mtr.add_suppression("Error: connecting slave requested to start from GTID");
+SET sql_log_bin=1;
+START SLAVE;
+include/wait_for_slave_io_error.inc [errno=1236]
+STOP SLAVE SQL_THREAD;
+include/wait_for_slave_sql_to_stop.inc
+CHANGE MASTER TO master_use_gtid=no;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+DROP TABLE t1;
+set @@global.slave_ddl_exec_mode=@save_slave_ddl_exec_mode;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_stop_start.result b/mysql-test/suite/rpl/r/rpl_gtid_stop_start.result
new file mode 100644
index 00000000000..60c8e4666b9
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_stop_start.result
@@ -0,0 +1,189 @@
+include/rpl_init.inc [topology=1->2]
+*** Test normal shutdown/restart of slave server configured as a GTID slave. ***
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+include/stop_slave.inc
+Master_Log_File = 'master-bin.000001'
+Using_Gtid = 'No'
+CHANGE MASTER TO master_use_gtid=current_pos;
+FLUSH LOGS;
+include/wait_for_purge.inc "master-bin.000002"
+show binary logs;
+Log_name File_size
+master-bin.000002 #
+INSERT INTO t1 VALUES (2);
+FLUSH LOGS;
+INSERT INTO t1 VALUES (3);
+include/save_master_gtid.inc
+show binary logs;
+Log_name File_size
+master-bin.000002 #
+master-bin.000003 #
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+*** Test normal shutdown/restart of master server, check binlog state is preserved. ***
+SET SESSION gtid_domain_id= 1;
+INSERT INTO t1 VALUES (4);
+SHOW BINLOG EVENTS IN 'master-bin.000003' LIMIT 1,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Gtid_list # # [0-1-3]
+FLUSH LOGS;
+SHOW BINLOG EVENTS IN 'master-bin.000004' LIMIT 1,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Gtid_list # # #
+SHOW BINLOG EVENTS IN 'master-bin.000005' LIMIT 1,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000005 # Gtid_list # # #
+show binary logs;
+Log_name File_size
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+master-bin.000005 #
+INSERT INTO t1 VALUES(5);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+*** Test that @@gtid_slave_pos and @@gtid_current_pos are correctly loaded even if slave threads have not started. ***
+SET @slave_pos2= @@GLOBAL.gtid_slave_pos;
+SET @current_pos2= @@GLOBAL.gtid_current_pos;
+SELECT IF(@slave_pos1=@slave_pos2, "OK", CONCAT(@slave_pos1, " != ", @slave_pos2));
+IF(@slave_pos1=@slave_pos2, "OK", CONCAT(@slave_pos1, " != ", @slave_pos2))
+OK
+SELECT IF(@current_pos1=@current_pos2, "OK", CONCAT(@current_pos1, " != ", @current_pos2));
+IF(@current_pos1=@current_pos2, "OK", CONCAT(@current_pos1, " != ", @current_pos2))
+OK
+INSERT INTO t1 VALUES (6);
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+*** MDEV-4490: Old-style master position points at the last GTID event after slave restart ***
+INSERT INTO t1 VALUES (7);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+include/wait_for_slave_to_start.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+*** MDEV-4486: Allow to start old-style replication even if mysql.gtid_slave_pos is unavailable
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid= no;
+include/start_slave.inc
+INSERT INTO t1 VALUES (8);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+8
+include/stop_slave.inc
+SET sql_log_bin= 0;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+SET sql_log_bin= 1;
+SELECT * FROM mysql.gtid_slave_pos;
+ERROR 42000: Unknown storage engine 'InnoDB'
+SET sql_log_bin=0;
+call mtr.add_suppression("Failed to load slave replication state from table");
+call mtr.add_suppression("Unable to load replication GTID slave state");
+SET sql_log_bin=1;
+include/start_slave.inc
+Warnings:
+Error 1286 Unknown storage engine 'InnoDB'
+INSERT INTO t1 VALUES (9);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+8
+9
+SET sql_log_bin= 0;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=MyISAM;
+SET sql_log_bin= 1;
+include/start_slave.inc
+INSERT INTO t1 VALUES (10);
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid= slave_pos;
+include/start_slave.inc
+*** MDEV-4692: mysql.gtid_slave_pos accumulates values for a domain ***
+SELECT domain_id, COUNT(*) FROM mysql.gtid_slave_pos GROUP BY domain_id;
+domain_id COUNT(*)
+0 2
+1 2
+INSERT INTO t1 VALUES (11);
+SELECT domain_id, COUNT(*) FROM mysql.gtid_slave_pos GROUP BY domain_id;
+domain_id COUNT(*)
+0 2
+1 2
+include/start_slave.inc
+INSERT INTO t1 VALUES (12);
+INSERT INTO t1 VALUES (13);
+SELECT domain_id, COUNT(*) FROM mysql.gtid_slave_pos GROUP BY domain_id;
+domain_id COUNT(*)
+0 2
+1 2
+*** MDEV-4650: show variables; ERROR 1946 (HY000): Failed to load replication slave GTID position ***
+SET sql_log_bin=0;
+RENAME TABLE mysql.gtid_slave_pos TO mysql.gtid_slave_pos_old;
+SET sql_log_bin=1;
+SHOW VARIABLES;
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos
+SET GLOBAL gtid_slave_pos = '0-1-2';
+Got one of the listed errors
+SHOW WARNINGS;
+Level Code Message
+Error 1146 Table 'mysql.gtid_slave_pos' doesn't exist
+Error 1946 Failed to load replication slave GTID position from table mysql.gtid_slave_pos
+SET sql_log_bin=0;
+RENAME TABLE mysql.gtid_slave_pos_old TO mysql.gtid_slave_pos;
+CALL mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
+SET sql_log_bin=1;
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos
+SET GLOBAL gtid_slave_pos = '0-1-2';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-1-2
+include/start_slave.inc
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_strict.result b/mysql-test/suite/rpl/r/rpl_gtid_strict.result
new file mode 100644
index 00000000000..150ea000ff2
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_strict.result
@@ -0,0 +1,182 @@
+include/rpl_init.inc [topology=1->2]
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+SET sql_log_bin= 0;
+call mtr.add_suppression("Error writing file .*errno: 1950");
+SET sql_log_bin= 1;
+SET @old_gtid_strict_mode= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+include/stop_slave.inc
+SET @old_gtid_strict_mode= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode=1;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+SET server_id= 3;
+SET gtid_seq_no= 3;
+ERROR HY000: An attempt was made to binlog GTID 0-3-3 which would create an out-of-order sequence number with existing GTID 0-1-3, and gtid strict mode is enabled.
+SET SESSION debug_dbug="+d,ignore_set_gtid_seq_no_check";
+SET gtid_seq_no= 3;
+SET SESSION debug_dbug="-d,ignore_set_gtid_seq_no_check";
+INSERT INTO t1 VALUES (2);
+ERROR HY000: An attempt was made to binlog GTID 0-3-3 which would create an out-of-order sequence number with existing GTID 0-1-3, and gtid strict mode is enabled.
+SET gtid_seq_no= 2;
+ERROR HY000: An attempt was made to binlog GTID 0-3-2 which would create an out-of-order sequence number with existing GTID 0-1-3, and gtid strict mode is enabled.
+SET SESSION debug_dbug="+d,ignore_set_gtid_seq_no_check";
+SET gtid_seq_no= 2;
+SET SESSION debug_dbug="-d,ignore_set_gtid_seq_no_check";
+INSERT INTO t1 VALUES (3);
+ERROR HY000: An attempt was made to binlog GTID 0-3-2 which would create an out-of-order sequence number with existing GTID 0-1-3, and gtid strict mode is enabled.
+SET server_id= 1;
+SET gtid_seq_no= 4;
+INSERT INTO t1 VALUES (4);
+SELECT * FROM t1 ORDER BY 1;
+a
+1
+4
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+*** Test non-transactional GTID error (cannot be rolled back). ***
+SET server_id= 3;
+SET gtid_seq_no= 1;
+ERROR HY000: An attempt was made to binlog GTID 0-3-1 which would create an out-of-order sequence number with existing GTID 0-1-4, and gtid strict mode is enabled.
+SET SESSION debug_dbug="+d,ignore_set_gtid_seq_no_check";
+SET gtid_seq_no= 1;
+SET SESSION debug_dbug="-d,ignore_set_gtid_seq_no_check";
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=MyISAM;
+ERROR HY000: An attempt was made to binlog GTID 0-3-1 which would create an out-of-order sequence number with existing GTID 0-1-4, and gtid strict mode is enabled.
+SET sql_log_bin= 0;
+DROP TABLE t2;
+SET sql_log_bin= 1;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=MyISAM;
+SET gtid_seq_no= 1;
+ERROR HY000: An attempt was made to binlog GTID 0-3-1 which would create an out-of-order sequence number with existing GTID 0-3-5, and gtid strict mode is enabled.
+SET SESSION debug_dbug="+d,ignore_set_gtid_seq_no_check";
+SET gtid_seq_no= 1;
+SET SESSION debug_dbug="-d,ignore_set_gtid_seq_no_check";
+INSERT INTO t2 VALUES (1);
+ERROR HY000: An attempt was made to binlog GTID 0-3-1 which would create an out-of-order sequence number with existing GTID 0-3-5, and gtid strict mode is enabled.
+SET server_id= 1;
+SET gtid_seq_no= 6;
+INSERT INTO t2 VALUES (2);
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=MyISAM
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (2)
+master-bin.000001 # Query # # COMMIT
+*** Test that slave stops if it tries to apply a GTID that would create out-of-order binlog GTID sequence numbers. ***
+SELECT * FROM t1 ORDER BY a;
+a
+1
+4
+SELECT * FROM t2 ORDER BY a;
+a
+2
+SET sql_log_bin= 0;
+call mtr.add_suppression("An attempt was made to binlog GTID .* which would create an out-of-order sequence number with existing GTID .*, and gtid strict mode is enabled");
+call mtr.add_suppression("The binlog on the master is missing the GTID [-0-9]+ requested by the slave");
+SET sql_log_bin= 1;
+INSERT INTO t1 VALUES (5);
+INSERT INTO t1 VALUES (6);
+include/wait_for_slave_sql_error.inc [errno=1950]
+STOP SLAVE IO_THREAD;
+SET GLOBAL gtid_strict_mode=0;
+include/start_slave.inc
+SET GLOBAL gtid_strict_mode=1;
+SELECT * FROM t1 ORDER BY a;
+a
+1
+4
+5
+6
+INSERT INTO t1 VALUES (7);
+CREATE TABLE t3 (a INT PRIMARY KEY);
+include/wait_for_slave_sql_error.inc [errno=1950]
+SHOW CREATE TABLE t3;
+ERROR 42S02: Table 'test.t3' doesn't exist
+STOP SLAVE IO_THREAD;
+SET GLOBAL gtid_strict_mode=0;
+include/start_slave.inc
+SET GLOBAL gtid_strict_mode=1;
+SHOW CREATE TABLE t3;
+Table t3
+Create Table CREATE TABLE `t3` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES (8);
+INSERT INTO t2 VALUES (3);
+include/wait_for_slave_sql_error.inc [errno=1950]
+SELECT * FROM t2 ORDER BY a;
+a
+2
+STOP SLAVE IO_THREAD;
+SET GLOBAL gtid_strict_mode=0;
+include/start_slave.inc
+SET GLOBAL gtid_strict_mode=1;
+SELECT * FROM t2 ORDER BY a;
+a
+2
+3
+*** Check slave requests starting from a hole on the master. ***
+include/stop_slave.inc
+INSERT INTO t1 VALUES (10);
+SET gtid_seq_no= 100;
+INSERT INTO t1 VALUES (11);
+INSERT INTO t1 VALUES (12);
+SET GLOBAL gtid_slave_pos= "0-1-50";
+START SLAVE;
+include/wait_for_slave_io_error.inc [errno=1236]
+STOP SLAVE SQL_THREAD;
+SET GLOBAL gtid_strict_mode= 0;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+4
+5
+6
+7
+8
+11
+12
+SET GLOBAL gtid_strict_mode= 1;
+DROP TABLE t1, t2, t3;
+SET GLOBAL gtid_strict_mode= @old_gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= @old_gtid_strict_mode;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_gtid_until.result b/mysql-test/suite/rpl/r/rpl_gtid_until.result
new file mode 100644
index 00000000000..c23faecc674
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_gtid_until.result
@@ -0,0 +1,225 @@
+include/rpl_init.inc [topology=1->2]
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE FUNCTION extract_gtid(d VARCHAR(100), s VARCHAR(100))
+RETURNS VARCHAR(100) DETERMINISTIC
+BEGIN
+SET s= CONCAT(",", s, ",");
+SET s= SUBSTR(s FROM LOCATE(CONCAT(",", d, "-"), s) + 1);
+SET s= SUBSTR(s FROM 1 FOR LOCATE(",", s) - 1);
+RETURN s;
+END|
+START SLAVE UNTIL master_gtid_pos = "";
+ERROR HY000: Slave is already running
+include/stop_slave_io.inc
+START SLAVE UNTIL master_gtid_pos = "";
+ERROR HY000: Slave is already running
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_to_start.inc
+include/stop_slave_sql.inc
+START SLAVE UNTIL master_gtid_pos = "";
+ERROR HY000: Slave is already running
+include/stop_slave_io.inc
+START SLAVE UNTIL master_gtid_pos = "";
+ERROR HY000: START SLAVE UNTIL master_gtid_pos requires that slave is using GTID
+CHANGE MASTER TO master_use_gtid=current_pos;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t1 VALUES(2);
+START SLAVE UNTIL master_gtid_pos = "0-1-100,1-1-100,2-2-200,1-3-100,4-4-400";
+ERROR HY000: GTID 1-3-100 and 1-1-100 conflict (duplicate domain id 1)
+START SLAVE UNTIL master_log_file = "master-bin.000001", master_log_pos = 4, master_gtid_pos = "";
+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 'master_gtid_pos = ""' at line 1
+START SLAVE IO_THREAD UNTIL master_gtid_pos = "";
+ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
+START SLAVE SQL_THREAD UNTIL master_gtid_pos = "";
+ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
+START SLAVE UNTIL master_gtid_pos = '0-1-4';
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1;
+a
+1
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+include/stop_slave.inc
+START SLAVE UNTIL master_gtid_pos = "1-10-100,2-20-200,0-1-300";
+include/wait_for_slave_to_start.inc
+Using_Gtid = 'Current_Pos'
+Until_Condition = 'Gtid'
+INSERT INTO t1 VALUES (3);
+DELETE FROM t1 WHERE a=3;
+include/stop_slave.inc
+*** Test UNTIL condition in an earlier binlog than the start GTID. ***
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (3);
+SET gtid_domain_id = 2;
+CREATE TABLE t2 (a INT);
+INSERT INTO t2 VALUES (3);
+FLUSH LOGS;
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (4);
+SET gtid_domain_id = 2;
+INSERT INTO t2 VALUES (4);
+FLUSH LOGS;
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (5);
+SET gtid_domain_id = 2;
+INSERT INTO t2 VALUES (5);
+FLUSH LOGS;
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (6);
+SET gtid_domain_id = 2;
+INSERT INTO t2 VALUES (6);
+SET gtid_domain_id = 0;
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+START SLAVE UNTIL master_gtid_pos='1-1-3,2-1-4';
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+SELECT * FROM t2 ORDER BY a;
+a
+3
+4
+5
+START SLAVE UNTIL master_gtid_pos='1-1-4,2-1-2';
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+SELECT * FROM t2 ORDER BY a;
+a
+3
+4
+5
+START SLAVE UNTIL master_gtid_pos='1-1-3';
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+SELECT * FROM t2 ORDER BY a;
+a
+3
+4
+5
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+SELECT * FROM t2 ORDER BY a;
+a
+3
+4
+5
+6
+*** Test when the UNTIL position is right at the end of the binlog file prior to the starting position ***
+include/stop_slave.inc
+FLUSH LOGS;
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (7);
+SET gtid_domain_id = 0;
+START SLAVE UNTIL master_gtid_pos='1-1-4';
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+*** Test when UNTIL condition is after a stand-alone event (not a transaction). ***
+include/stop_slave.inc
+CREATE TABLE t3 (a INT);
+DROP TABLE t3;
+START SLAVE UNTIL master_gtid_pos='UNTIL_CONDITION';
+include/wait_for_slave_to_stop.inc
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+include/start_slave.inc
+*** Test UNTIL condition that has not yet been logged. ***
+include/stop_slave.inc
+RESET SLAVE ALL;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos='';
+RESET MASTER;
+INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (11);
+INSERT INTO t1 VALUES (12);
+DELETE FROM t1 WHERE a >= 10;
+RESET MASTER;
+INSERT INTO t1 VALUES (10);
+CHANGE MASTER TO master_host = '127.0.0.1', master_port = SERVER_MYPORT_1,
+master_user = "root", master_use_gtid = current_pos;
+START SLAVE UNTIL master_gtid_pos = '0-1-2';
+include/wait_for_slave_to_start.inc
+INSERT INTO t1 VALUES (11);
+INSERT INTO t1 VALUES (12);
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+10
+11
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+10
+11
+12
+DROP TABLE t1;
+DROP TABLE t2;
+DROP FUNCTION extract_gtid;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_heartbeat.result b/mysql-test/suite/rpl/r/rpl_heartbeat.result
index d4bdb77ef0b..b0f36558d10 100644
--- a/mysql-test/suite/rpl/r/rpl_heartbeat.result
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat.result
@@ -41,8 +41,6 @@ show status like 'Slave_heartbeat_period';;
Variable_name Slave_heartbeat_period
Value 4.000
set @@global.slave_net_timeout= 3 /* must be a warning */;
-Warnings:
-Warning 1704 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' seconds. A sensible value for the period should be less than the timeout.
reset slave;
drop table if exists t1;
set @@global.slave_net_timeout= 10;
diff --git a/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result b/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
index f880b33a045..d7638942f85 100644
--- a/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
@@ -32,8 +32,6 @@ RESET SLAVE;
*** Warning if updated slave_net_timeout < slave_heartbeat_timeout ***
SET @@global.slave_net_timeout=FLOOR(SLAVE_HEARTBEAT_TIMEOUT)-1;
-Warnings:
-Warning 1704 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' seconds. A sensible value for the period should be less than the timeout.
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
RESET SLAVE;
@@ -205,7 +203,7 @@ Heartbeat event received
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10), c LONGTEXT);
INSERT INTO t1 VALUES (1, 'on slave', NULL);
INSERT INTO t1 VALUES (1, 'on master', NULL);
-call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* error.* 1062");
call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
Heartbeat events are received while sql thread stopped (1 means 'yes'): 1
include/stop_slave.inc
@@ -218,6 +216,8 @@ DO
BEGIN
UPDATE test.t1 SET a = a + 1 WHERE a < 10;
END|
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
RESET SLAVE;
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=5;
include/start_slave.inc
diff --git a/mysql-test/suite/rpl/r/rpl_hrtime.result b/mysql-test/suite/rpl/r/rpl_hrtime.result
index e03257b8901..697cc7aa7fd 100644
--- a/mysql-test/suite/rpl/r/rpl_hrtime.result
+++ b/mysql-test/suite/rpl/r/rpl_hrtime.result
@@ -2,7 +2,7 @@ include/master-slave.inc
[connection master]
set time_zone='+03:00';
set timestamp=unix_timestamp('2011-01-01 01:01:01') + 0.123456;
-create table t1 (a timestamp(4), b varchar(100), c datetime(2));
+create table t1 (a timestamp(4) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b varchar(100), c datetime(2));
insert t1 (b,c) values (now(6), now(6));
insert t1 values ('2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010');
set timestamp=unix_timestamp('2022-02-02 02:02:02') + 0.654321;
@@ -35,25 +35,23 @@ use `test`/*!*/;
SET TIMESTAMP=1293832861/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-create table t1 (a timestamp(4), b varchar(100), c datetime(2))
+create table t1 (a timestamp(4) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b varchar(100), c datetime(2))
/*!*/;
-SET TIMESTAMP=1293832861.123456/*!*/;
-SET @@session.time_zone='+03:00'/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=1293832861.123456/*!*/;
+SET @@session.time_zone='+03:00'/*!*/;
insert t1 (b,c) values (now(6), now(6))
/*!*/;
SET TIMESTAMP=1293832861.123456/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1293832861/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=1293832861/*!*/;
@@ -62,7 +60,6 @@ insert t1 values ('2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010','201
SET TIMESTAMP=1293832861/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1643756522.654321/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=1643756522.654321/*!*/;
@@ -71,7 +68,6 @@ insert t1 (b,c) values (now(), now())
SET TIMESTAMP=1643756522.654321/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1643756522.654321/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=1643756522.654321/*!*/;
@@ -80,7 +76,6 @@ insert t1 (b,c) values (0,0)
SET TIMESTAMP=1643756522.654321/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1643756522.654321/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=1643756522.654321/*!*/;
diff --git a/mysql-test/suite/rpl/r/rpl_hrtime_row.result b/mysql-test/suite/rpl/r/rpl_hrtime_row.result
index aaf8b1c2466..458002b0b79 100644
--- a/mysql-test/suite/rpl/r/rpl_hrtime_row.result
+++ b/mysql-test/suite/rpl/r/rpl_hrtime_row.result
@@ -2,7 +2,7 @@ include/master-slave.inc
[connection master]
set time_zone='+03:00';
set timestamp=unix_timestamp('2011-01-01 01:01:01') + 0.123456;
-create table t1 (a timestamp(4), b varchar(100), c datetime(2));
+create table t1 (a timestamp(4) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b varchar(100), c datetime(2));
insert t1 (b,c) values (now(6), now(6));
insert t1 values ('2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010');
set timestamp=unix_timestamp('2022-02-02 02:02:02') + 0.654321;
diff --git a/mysql-test/suite/rpl/r/rpl_idempotency.result b/mysql-test/suite/rpl/r/rpl_idempotency.result
index 07c6db416b4..03482e6fefb 100644
--- a/mysql-test/suite/rpl/r/rpl_idempotency.result
+++ b/mysql-test/suite/rpl/r/rpl_idempotency.result
@@ -1,9 +1,9 @@
include/master-slave.inc
[connection master]
-call mtr.add_suppression("Slave SQL.*Can.t find record in .t[12].* Error_code: 1032");
-call mtr.add_suppression("Slave SQL.*Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
-call mtr.add_suppression("Slave SQL.*Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
-call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.* Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Can.t find record in .t[12].* error.* 1032");
+call mtr.add_suppression("Slave SQL.*Cannot delete or update a parent row: a foreign key constraint fails .* error.* 1451");
+call mtr.add_suppression("Slave SQL.*Cannot add or update a child row: a foreign key constraint fails .* error.* 1452");
+call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.* Duplicate entry .1. for key .PRIMARY.* error.* 1062");
CREATE TABLE t1 (a INT PRIMARY KEY);
CREATE TABLE t2 (a INT);
INSERT INTO t1 VALUES (-1),(-2),(-3);
@@ -67,6 +67,18 @@ a
-3
1
include/check_slave_no_error.inc
+drop table t1, t2;
DROP TABLE t1, t2;
+include/check_slave_no_error.inc
+create database d;
+create database e;
+create database d;
+create database if not exists e;
+include/check_slave_no_error.inc
+drop database d;
+drop database e;
+drop database d;
+drop database if exists e;
+include/check_slave_no_error.inc
SET @@global.slave_exec_mode= @old_slave_exec_mode;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ignore_grant.result b/mysql-test/suite/rpl/r/rpl_ignore_grant.result
index ae6d6ddfc8d..40baaa60b01 100644
--- a/mysql-test/suite/rpl/r/rpl_ignore_grant.result
+++ b/mysql-test/suite/rpl/r/rpl_ignore_grant.result
@@ -1,8 +1,12 @@
include/master-slave.inc
[connection master]
+set global sql_mode="";
+set local sql_mode="";
delete from mysql.user where user=_binary'rpl_ignore_grant';
delete from mysql.db where user=_binary'rpl_ignore_grant';
flush privileges;
+set global sql_mode="";
+set local sql_mode="";
delete from mysql.user where user=_binary'rpl_ignore_grant';
delete from mysql.db where user=_binary'rpl_ignore_grant';
flush privileges;
@@ -31,4 +35,6 @@ flush privileges;
delete from mysql.user where user=_binary'rpl_ignore_grant';
delete from mysql.db where user=_binary'rpl_ignore_grant';
flush privileges;
+set global sql_mode=default;
+set global sql_mode=default;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ignore_table.result b/mysql-test/suite/rpl/r/rpl_ignore_table.result
index 7bd30766d32..75445bec823 100644
--- a/mysql-test/suite/rpl/r/rpl_ignore_table.result
+++ b/mysql-test/suite/rpl/r/rpl_ignore_table.result
@@ -17,6 +17,7 @@ DROP TABLE t4;
**** Adding GRANTS on master ****
create table test.t1(a int);
create table test.t4(a int);
+set sql_mode="";
GRANT SELECT ON test.t1 TO mysqltest1@localhost;
GRANT INSERT ON test.t4 TO mysqltest2@localhost;
GRANT select, update, insert, references on t1
@@ -65,6 +66,7 @@ flush privileges;
show grants for mysqltest5@somehost;
Grants for mysqltest5@somehost
GRANT USAGE ON *.* TO 'mysqltest5'@'somehost'
+set sql_mode="";
**** Checking grants on slave ****
show grants for mysqltest2@localhost;
Grants for mysqltest2@localhost
@@ -116,7 +118,7 @@ show grants for mysqltest4@localhost;
Grants for mysqltest4@localhost
GRANT USAGE ON *.* TO 'mysqltest4'@'localhost' IDENTIFIED BY PASSWORD '*196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7'
set global slave_exec_mode='IDEMPOTENT';
-call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table mysql.* Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table mysql.* error.* 1032");
drop table t1, mysqltest2.t2;
drop table t4;
drop database mysqltest2;
@@ -142,4 +144,5 @@ HEX(word)
SELECT * FROM tmptbl504451f4258$1;
ERROR 42S02: Table 'test.tmptbl504451f4258$1' doesn't exist
DROP TABLE t5;
+flush privileges;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_incident.result b/mysql-test/suite/rpl/r/rpl_incident.result
index d528fb3297a..7cb8168c6a9 100644
--- a/mysql-test/suite/rpl/r/rpl_incident.result
+++ b/mysql-test/suite/rpl/r/rpl_incident.result
@@ -8,6 +8,7 @@ a
1
2
3
+SET GLOBAL debug_dbug= '+d,incident_database_resync_on_replace,*';
REPLACE INTO t1 VALUES (4);
SELECT * FROM t1;
a
@@ -15,9 +16,9 @@ a
2
3
4
-call mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master.* 1590");
+call mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occurred on the master.* 1590");
include/wait_for_slave_sql_error.inc [errno=1590]
-Last_SQL_Error = 'The incident LOST_EVENTS occured on the master. Message: <none>'
+Last_SQL_Error = 'The incident LOST_EVENTS occurred on the master. Message: <none>'
**** On Slave ****
SELECT * FROM t1;
a
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result b/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result
index b02164ac61b..6f685c35901 100644
--- a/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result
+++ b/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result
@@ -2,16 +2,19 @@ include/master-slave.inc
[connection master]
use test;
CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
-dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON
+UPDATE CURRENT_TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
fkid MEDIUMINT, filler VARCHAR(255),
PRIMARY KEY(id)) ENGINE='innodb';
CREATE TABLE test.bykey_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
-dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
fkid MEDIUMINT, filler VARCHAR(255),
PRIMARY KEY(id)) ENGINE='innodb'
PARTITION BY KEY(id) partitions 5;
CREATE TABLE test.byrange_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
-dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
fkid MEDIUMINT, filler VARCHAR(255),
PRIMARY KEY(id)) ENGINE='innodb'
PARTITION BY RANGE(id)
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_bug68220.result b/mysql-test/suite/rpl/r/rpl_innodb_bug68220.result
new file mode 100644
index 00000000000..b8e9262c771
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_innodb_bug68220.result
@@ -0,0 +1,225 @@
+include/master-slave.inc
+[connection master]
+select variable_value into @master_rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select variable_value into @master_rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select variable_value into @master_rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select variable_value into @master_rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select variable_value into @master_system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select variable_value into @master_system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select variable_value into @master_system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select variable_value into @master_system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+select variable_value into @slave_rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select variable_value into @slave_rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select variable_value into @slave_rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select variable_value into @slave_rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select variable_value into @slave_system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select variable_value into @slave_system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select variable_value into @slave_system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select variable_value into @slave_system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+CREATE DATABASE testdb;
+USE testdb;
+CREATE TABLE testdb.t1 (i int NOT NULL PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO testdb.t1 VALUES (1);
+==========MASTER==========
+select variable_value into @rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select @rows_read - @master_rows_read;
+@rows_read - @master_rows_read
+0
+select variable_value into @rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select @rows_updated - @master_rows_updated;
+@rows_updated - @master_rows_updated
+0
+select variable_value into @rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select @rows_deleted - @master_rows_deleted;
+@rows_deleted - @master_rows_deleted
+0
+select variable_value into @rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select @rows_inserted - @master_rows_inserted;
+@rows_inserted - @master_rows_inserted
+1
+select variable_value into @system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select @system_rows_read - @master_system_rows_read;
+@system_rows_read - @master_system_rows_read
+0
+select variable_value into @system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select @system_rows_updated - @master_system_rows_updated;
+@system_rows_updated - @master_system_rows_updated
+0
+select variable_value into @system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select @system_rows_deleted - @master_system_rows_deleted;
+@system_rows_deleted - @master_system_rows_deleted
+0
+select variable_value into @system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+select @system_rows_inserted - @master_system_rows_inserted;
+@system_rows_inserted - @master_system_rows_inserted
+0
+==========SLAVE===========
+select variable_value into @rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select @rows_read - @slave_rows_read;
+@rows_read - @slave_rows_read
+0
+select variable_value into @rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select @rows_updated - @slave_rows_updated;
+@rows_updated - @slave_rows_updated
+0
+select variable_value into @rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select @rows_deleted - @slave_rows_deleted;
+@rows_deleted - @slave_rows_deleted
+0
+select variable_value into @rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select @rows_inserted - @slave_rows_inserted;
+@rows_inserted - @slave_rows_inserted
+1
+select variable_value into @system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select @system_rows_read - @slave_system_rows_read;
+@system_rows_read - @slave_system_rows_read
+0
+select variable_value into @system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select @system_rows_updated - @slave_system_rows_updated;
+@system_rows_updated - @slave_system_rows_updated
+0
+select variable_value into @system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select @system_rows_deleted - @slave_system_rows_deleted;
+@system_rows_deleted - @slave_system_rows_deleted
+0
+select variable_value into @system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+select @system_rows_inserted - @slave_system_rows_inserted;
+@system_rows_inserted - @slave_system_rows_inserted
+0
+UPDATE t1 SET i=2 WHERE i=1;
+==========MASTER==========
+select variable_value into @rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select @rows_read - @master_rows_read;
+@rows_read - @master_rows_read
+1
+select variable_value into @rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select @rows_updated - @master_rows_updated;
+@rows_updated - @master_rows_updated
+1
+select variable_value into @rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select @rows_deleted - @master_rows_deleted;
+@rows_deleted - @master_rows_deleted
+0
+select variable_value into @rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select @rows_inserted - @master_rows_inserted;
+@rows_inserted - @master_rows_inserted
+1
+select variable_value into @system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select @system_rows_read - @master_system_rows_read;
+@system_rows_read - @master_system_rows_read
+0
+select variable_value into @system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select @system_rows_updated - @master_system_rows_updated;
+@system_rows_updated - @master_system_rows_updated
+0
+select variable_value into @system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select @system_rows_deleted - @master_system_rows_deleted;
+@system_rows_deleted - @master_system_rows_deleted
+0
+select variable_value into @system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+select @system_rows_inserted - @master_system_rows_inserted;
+@system_rows_inserted - @master_system_rows_inserted
+0
+==========SLAVE===========
+select variable_value into @rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select @rows_read - @slave_rows_read;
+@rows_read - @slave_rows_read
+1
+select variable_value into @rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select @rows_updated - @slave_rows_updated;
+@rows_updated - @slave_rows_updated
+1
+select variable_value into @rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select @rows_deleted - @slave_rows_deleted;
+@rows_deleted - @slave_rows_deleted
+0
+select variable_value into @rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select @rows_inserted - @slave_rows_inserted;
+@rows_inserted - @slave_rows_inserted
+1
+select variable_value into @system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select @system_rows_read - @slave_system_rows_read;
+@system_rows_read - @slave_system_rows_read
+0
+select variable_value into @system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select @system_rows_updated - @slave_system_rows_updated;
+@system_rows_updated - @slave_system_rows_updated
+0
+select variable_value into @system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select @system_rows_deleted - @slave_system_rows_deleted;
+@system_rows_deleted - @slave_system_rows_deleted
+0
+select variable_value into @system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+select @system_rows_inserted - @slave_system_rows_inserted;
+@system_rows_inserted - @slave_system_rows_inserted
+0
+DELETE FROM t1 WHERE i=2;
+==========MASTER==========
+select variable_value into @rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select @rows_read - @master_rows_read;
+@rows_read - @master_rows_read
+2
+select variable_value into @rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select @rows_updated - @master_rows_updated;
+@rows_updated - @master_rows_updated
+1
+select variable_value into @rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select @rows_deleted - @master_rows_deleted;
+@rows_deleted - @master_rows_deleted
+1
+select variable_value into @rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select @rows_inserted - @master_rows_inserted;
+@rows_inserted - @master_rows_inserted
+1
+select variable_value into @system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select @system_rows_read - @master_system_rows_read;
+@system_rows_read - @master_system_rows_read
+0
+select variable_value into @system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select @system_rows_updated - @master_system_rows_updated;
+@system_rows_updated - @master_system_rows_updated
+0
+select variable_value into @system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select @system_rows_deleted - @master_system_rows_deleted;
+@system_rows_deleted - @master_system_rows_deleted
+0
+select variable_value into @system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+select @system_rows_inserted - @master_system_rows_inserted;
+@system_rows_inserted - @master_system_rows_inserted
+0
+==========SLAVE===========
+select variable_value into @rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select @rows_read - @slave_rows_read;
+@rows_read - @slave_rows_read
+2
+select variable_value into @rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select @rows_updated - @slave_rows_updated;
+@rows_updated - @slave_rows_updated
+1
+select variable_value into @rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select @rows_deleted - @slave_rows_deleted;
+@rows_deleted - @slave_rows_deleted
+1
+select variable_value into @rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select @rows_inserted - @slave_rows_inserted;
+@rows_inserted - @slave_rows_inserted
+1
+select variable_value into @system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select @system_rows_read - @slave_system_rows_read;
+@system_rows_read - @slave_system_rows_read
+0
+select variable_value into @system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select @system_rows_updated - @slave_system_rows_updated;
+@system_rows_updated - @slave_system_rows_updated
+0
+select variable_value into @system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select @system_rows_deleted - @slave_system_rows_deleted;
+@system_rows_deleted - @slave_system_rows_deleted
+0
+select variable_value into @system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+select @system_rows_inserted - @slave_system_rows_inserted;
+@system_rows_inserted - @slave_system_rows_inserted
+0
+DROP TABLE t1;
+DROP DATABASE testdb;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result b/mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result
index 36294a4333b..46305bfedc7 100644
--- a/mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result
+++ b/mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result
@@ -132,25 +132,43 @@ ALTER TABLE t2 DROP COLUMN d;
******************** SHOW BINLOG EVENTS ********************
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS test_rpl
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS test_rpl_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE test_rpl_1 CHARACTER SET utf8 COLLATE utf8_general_ci
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # ALTER DATABASE test_rpl_1 CHARACTER SET latin1 COLLATE latin1_general_ci
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE test_rpl_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE test_rpl CHARACTER SET utf8 COLLATE utf8_general_ci
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # ALTER DATABASE test_rpl CHARACTER SET latin1 COLLATE latin1_swedish_ci
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE TABLE t0 (a int auto_increment not null, c int not null, PRIMARY KEY(a), KEY index2 (c)) ENGINE=innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ALTER TABLE t0 DROP INDEX index2
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ALTER TABLE t0 ADD COLUMN b char(254)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ALTER TABLE t0 ADD INDEX index1 (b)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ALTER TABLE t0 DROP COLUMN c
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; RENAME TABLE t0 TO t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE TABLE t2 LIKE t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ALTER TABLE t2 ADD COLUMN d datetime
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE INDEX index2 on t2 (d)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE INDEX index3 on t2 (a, d)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ALTER TABLE t2 DROP COLUMN d
drop database test_rpl;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result b/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
index 193172912be..3726760f498 100644
--- a/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
+++ b/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
@@ -678,6 +678,8 @@ DROP TRIGGER tr1;
GRANT EVENT ON *.* TO 'root'@'localhost';
INSERT INTO t1 VALUES(1, 'test1');
CREATE EVENT e1 ON SCHEDULE EVERY '1' SECOND COMMENT 'e_second_comment' DO DELETE FROM t1;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
==========MASTER==========
SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -826,276 +828,306 @@ DELETE FROM t2;
******************** SHOW BINLOG EVENTS ********************
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE test_rpl
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE TABLE t1 (a int auto_increment not null, b char(254), PRIMARY KEY(a)) ENGINE=innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE TABLE t2 (a int auto_increment not null, b char(254), PRIMARY KEY(a)) ENGINE=innodb
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(2, 't1, text 2')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t2 VALUES(1, 't2, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1 WHERE a = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test_rpl.t2)
-master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test_rpl.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test_rpl.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t2 VALUES (1, 't1, text 1') ON DUPLICATE KEY UPDATE b = 't2, text 1'
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1 WHERE a = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2 WHERE a = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test_rpl.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(2, 't1, text 2')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(3, 't1, text 3')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; REPLACE INTO t1 VALUES(1, 't1, text 11')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test_rpl.t1)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; REPLACE INTO t1 SET a=3, b='t1, text 33'
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1 WHERE a = 2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 'CCC')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(2, 'DDD')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t2 VALUES(1, 'DDD')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t2 VALUES(2, 'CCC')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t2 VALUES(1, 't2, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; TRUNCATE t1
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t2 VALUES(1, 't2, text 1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; UPDATE t1 SET b = 't1, text 1 updated' WHERE a = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; UPDATE t1, t2 SET t1.b = 'test', t2.b = 'test'
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES (1, 'start')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES (3, 'before savepoint s1')
+master-bin.000001 # Query # # SAVEPOINT `s1`
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES (5, 'before savepoint s2')
master-bin.000001 # Query # # SAVEPOINT `s2`
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES (6, 'after savepoint s2')
master-bin.000001 # Table_map # # table_id: # (test_rpl.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1 WHERE a = 7
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE USER 'user_test_rpl'@'localhost' IDENTIFIED BY PASSWORD '*1111111111111111111111111111111111111111'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; GRANT SELECT ON *.* TO 'user_test_rpl'@'localhost'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; REVOKE SELECT ON *.* FROM 'user_test_rpl'@'localhost'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; SET PASSWORD FOR 'user_test_rpl'@'localhost'='*0000000000000000000000000000000000000000'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; RENAME USER 'user_test_rpl'@'localhost' TO 'user_test_rpl_2'@'localhost'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DROP USER 'user_test_rpl_2'@'localhost'
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(100, 'test')
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ANALYZE TABLE t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; OPTIMIZE TABLE t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; REPAIR TABLE t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
BEGIN
UPDATE t1 SET b = 'test' WHERE a = 201;
END
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`()
BEGIN
UPDATE t1 SET b = UUID() WHERE a = 202;
END
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(201, 'test 201')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; UPDATE t1 SET b = 'test' WHERE a = 201
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(202, 'test 202')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test_rpl.t1)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1 WHERE a = 202
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ALTER PROCEDURE p1 COMMENT 'p1'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DROP PROCEDURE p1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DROP PROCEDURE p2
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE DEFINER=`root`@`localhost` TRIGGER tr1 BEFORE INSERT ON t1
FOR EACH ROW BEGIN
INSERT INTO t2 SET a = NEW.a, b = NEW.b;
END
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test_rpl.t1)
master-bin.000001 # Table_map # # table_id: # (test_rpl.t2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DROP TRIGGER tr1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; GRANT EVENT ON *.* TO 'root'@'localhost'
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 'test1')
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE DEFINER=`root`@`localhost` EVENT e1 ON SCHEDULE EVERY '1' SECOND COMMENT 'e_second_comment' DO DELETE FROM t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ALTER EVENT e1 RENAME TO e2
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DROP EVENT e2
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(1, 'test1')
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; INSERT INTO t1 VALUES(2, 'test2')
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS SELECT * FROM t1 WHERE a = 1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS SELECT * FROM t1 WHERE b <> UUID()
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS SELECT * FROM t1 WHERE a = 2
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DROP VIEW v1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DROP VIEW v2
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
drop database test_rpl;
diff --git a/mysql-test/suite/rpl/r/rpl_insert_delayed,stmt.rdiff b/mysql-test/suite/rpl/r/rpl_insert_delayed,stmt.rdiff
index ddb10d604c6..56c994cfd76 100644
--- a/mysql-test/suite/rpl/r/rpl_insert_delayed,stmt.rdiff
+++ b/mysql-test/suite/rpl/r/rpl_insert_delayed,stmt.rdiff
@@ -36,12 +36,12 @@
a
1
On slave
-+show binlog events in 'slave-bin.000002' from <binlog_start> limit 1,6;
++include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
-+slave-bin.000002 # Query # # BEGIN
++slave-bin.000002 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000002 # Query # # use `test`; INSERT IGNORE INTO t1 VALUES(1)
+slave-bin.000002 # Query # # COMMIT
-+slave-bin.000002 # Query # # BEGIN
++slave-bin.000002 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000002 # Query # # use `test`; INSERT IGNORE INTO t1 VALUES(1)
+slave-bin.000002 # Query # # COMMIT
select * from t1;
diff --git a/mysql-test/suite/rpl/r/rpl_invoked_features.result b/mysql-test/suite/rpl/r/rpl_invoked_features.result
index 514483e7995..146a0583559 100644
--- a/mysql-test/suite/rpl/r/rpl_invoked_features.result
+++ b/mysql-test/suite/rpl/r/rpl_invoked_features.result
@@ -50,11 +50,15 @@ BEGIN
ALTER EVENT e1 DISABLE;
CALL p1(10, '');
END|
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
CREATE EVENT e11 ON SCHEDULE EVERY 1 SECOND DISABLE DO
BEGIN
ALTER EVENT e11 DISABLE;
CALL p11(10, '');
END|
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
CREATE FUNCTION f1 (x INT) RETURNS VARCHAR(64)
BEGIN
IF x > 5 THEN
diff --git a/mysql-test/suite/rpl/r/rpl_killed_ddl.result b/mysql-test/suite/rpl/r/rpl_killed_ddl.result
index ed8745ca2c1..a0520783168 100644
--- a/mysql-test/suite/rpl/r/rpl_killed_ddl.result
+++ b/mysql-test/suite/rpl/r/rpl_killed_ddl.result
@@ -32,6 +32,8 @@ CREATE DATABASE d1;
CREATE EVENT e1
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
DO INSERT INTO test.t1 VALUES (1);
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
CREATE FUNCTION f1 () RETURNS INT DETERMINISTIC
RETURN 1;
CREATE PROCEDURE p1 (OUT rows INT)
diff --git a/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result b/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result
index 26c6d96e786..ea738b710fd 100644
--- a/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result
+++ b/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result
@@ -5,8 +5,6 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT,
UNIQUE(b));
INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10;
-Warnings:
-Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is unsafe
SELECT * FROM t1;
a b
1 10
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata.result b/mysql-test/suite/rpl/r/rpl_loaddata.result
index 621f3a1ddf5..eaf3fb6a947 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata.result
@@ -4,12 +4,12 @@ select last_insert_id();
last_insert_id()
0
create table t1(a int not null auto_increment, b int, primary key(a) );
-load data infile '../../std_data/rpl_loaddata.dat' into table t1;
+load data infile '../../std_data/rpl_loaddata.dat' into table t1;
select last_insert_id();
last_insert_id()
1
create temporary table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60));
-load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines;
+load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines;
create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60));
insert into t3 select * from t2;
select * from t1;
@@ -26,15 +26,15 @@ drop table t2;
drop table t3;
create table t1(a int, b int, unique(b));
insert into t1 values(1,10);
-load data infile '../../std_data/rpl_loaddata.dat' into table t1;
-call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062");
-call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0");
+load data infile '../../std_data/rpl_loaddata.dat' into table t1;
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* error.* 1062");
+call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*error.* 0");
include/wait_for_slave_sql_error_and_skip.inc [errno=1062]
include/check_slave_no_error.inc
set sql_log_bin=0;
delete from t1;
set sql_log_bin=1;
-load data infile '../../std_data/rpl_loaddata.dat' into table t1;
+load data infile '../../std_data/rpl_loaddata.dat' into table t1;
include/wait_for_slave_sql_error.inc [errno=1062]
include/stop_slave_io.inc
change master to master_user='test';
@@ -45,7 +45,7 @@ start slave;
set sql_log_bin=0;
delete from t1;
set sql_log_bin=1;
-load data infile '../../std_data/rpl_loaddata.dat' into table t1;
+load data infile '../../std_data/rpl_loaddata.dat' into table t1;
include/wait_for_slave_sql_error.inc [errno=1062]
stop slave;
reset slave;
@@ -53,7 +53,7 @@ include/check_slave_no_error.inc
reset master;
create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60),
unique(day)) engine=MyISAM;
-load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields
+load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines;
ERROR 23000: Duplicate entry '2003-03-22' for key 'day'
@@ -68,7 +68,7 @@ day id category name
2003-03-22 2161 c asdf
alter table t2 drop key day;
delete from t2;
-load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields
+load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines;
ERROR 23000: Duplicate entry '2003-03-22' for key 'day'
@@ -76,7 +76,7 @@ include/wait_for_slave_sql_error.inc [errno=0]
drop table t1, t2;
drop table t1, t2;
CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
-LOAD DATA INFILE "../../std_data/words.dat" INTO TABLE t1;
+LOAD DATA INFILE "../../std_data/words.dat" INTO TABLE t1;
ERROR 23000: Duplicate entry 'Aarhus' for key 'PRIMARY'
DROP TABLE t1;
include/rpl_reset.inc
@@ -88,16 +88,16 @@ use b48297_db1;
CREATE TABLE t1 (c1 VARCHAR(256)) engine=MyISAM;;
use b42897_db2;
### assertion: works with cross-referenced database
-LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1;
+LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1;
use b48297_db1;
### assertion: works with fully qualified name on current database
-LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1;
+LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1;
### assertion: works without fully qualified name on current database
-LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE t1;
+LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE t1;
### create connection without default database
### connect (conn2,localhost,root,,*NO-ONE*);
### assertion: works without stating the default database
-LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1;
+LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1;
### disconnect and switch back to master connection
use b48297_db1;
include/diff_tables.inc [master:b48297_db1.t1, slave:b48297_db1.t1]
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result b/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
index b13e2ced183..8ce630f7bc2 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
@@ -3,7 +3,7 @@ include/master-slave.inc
CREATE TABLE t1 (a INT, b INT);
INSERT INTO t1 VALUES (1,10);
LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE t1;
-call mtr.add_suppression("Slave SQL.*Fatal error: Not enough memory, Error_code: 1593");
+call mtr.add_suppression("Slave SQL.*Fatal error: Not enough memory, error.* 1593");
include/wait_for_slave_sql_error_and_skip.inc [errno=1593]
Last_SQL_Error = 'Fatal error: Not enough memory'
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_map.result b/mysql-test/suite/rpl/r/rpl_loaddata_map.result
index 38e553e0117..50e5e351590 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_map.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_map.result
@@ -10,10 +10,11 @@ load data infile 'MYSQLTEST_VARDIR/tmp/bug30435_5k.txt' into table t2;
select count(*) from t2 /* 5 000 */;
count(*)
5000
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 (id int not null primary key auto_increment)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Append_block # # ;file_id=#;block_len=#
master-bin.000001 # Append_block # # ;file_id=#;block_len=#
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_s.result b/mysql-test/suite/rpl/r/rpl_loaddata_s.result
index 351c5b584c5..377c3bff558 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_s.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_s.result
@@ -6,7 +6,6 @@ load data infile '../../std_data/rpl_loaddata.dat' into table test.t1;
select count(*) from test.t1;
count(*)
2
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
drop table test.t1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddatalocal.result b/mysql-test/suite/rpl/r/rpl_loaddatalocal.result
index ae91e000c37..16fd3f19c4a 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddatalocal.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddatalocal.result
@@ -72,7 +72,7 @@ LOAD DATA /*!10000 LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO TABLE */ t1;
LOAD DATA/*!10000 LOCAL */INFILE 'MYSQLD_DATADIR/bug43746.sql'/*!10000 INTO*/TABLE t1;
LOAD DATA/*!10000 LOCAL */INFILE 'MYSQLD_DATADIR/bug43746.sql'/* empty */INTO TABLE t1;
LOAD DATA/*!10000 LOCAL */INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO/* empty */TABLE t1;
-LOAD/*!99999 special comments that do not expand */DATA/*!99999 code from the future */LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql'/*!99999 have flux capacitor */INTO/*!99999 will travel */TABLE t1;
+LOAD/*!999999 special comments that do not expand */DATA/*!999999 code from the future */LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql'/*!999999 have flux capacitor */INTO/*!999999 will travel */TABLE t1;
SET sql_mode='PIPES_AS_CONCAT,ANSI_QUOTES,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER';
LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
[slave]
diff --git a/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result b/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result
new file mode 100644
index 00000000000..9c19062255c
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result
@@ -0,0 +1,125 @@
+include/master-slave.inc
+[connection master]
+set @old_master_binlog_checksum= @@global.binlog_checksum;
+set @old_slave_dbug= @@global.debug_dbug;
+include/stop_slave.inc
+# Test slave with no capability gets dummy event, which is ignored.
+SET @@global.debug_dbug='+d,simulate_slave_capability_none';
+include/start_slave.inc
+FLUSH LOGS;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (0);
+ALTER TABLE t1 ORDER BY a;
+SET SESSION binlog_annotate_row_events = ON;
+DELETE FROM t1;
+INSERT INTO t1 /* A comment just to make the annotate event sufficiently long that the dummy event will need to get padded with spaces so that we can test that this works */ VALUES(1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Annotate_rows # # DELETE FROM t1
+master-bin.000002 # Table_map # # table_id: # (test.t1)
+master-bin.000002 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Annotate_rows # # INSERT INTO t1 /* A comment just to make the annotate event sufficiently long that the dummy event will need to get padded with spaces so that we can test that this works */ VALUES(1)
+master-bin.000002 # Table_map # # table_id: # (test.t1)
+master-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000002 # Query # # COMMIT
+SELECT * FROM t1;
+a
+1
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000005 # Query # # BEGIN
+slave-relay-bin.000005 # User var # # @`!dummyvar`=NULL
+slave-relay-bin.000005 # Table_map # # table_id: # (test.t1)
+slave-relay-bin.000005 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
+slave-relay-bin.000005 # Query # # COMMIT
+slave-relay-bin.000005 # Query # # BEGIN
+slave-relay-bin.000005 # Query # # # Dummy event replacing event type 160 that slave cannot handle.
+slave-relay-bin.000005 # Table_map # # table_id: # (test.t1)
+slave-relay-bin.000005 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-relay-bin.000005 # Query # # COMMIT
+set @@global.debug_dbug= @old_slave_dbug;
+# Test dummy event is checksummed correctly.
+set @@global.binlog_checksum = CRC32;
+TRUNCATE t1;
+INSERT INTO t1 VALUES(2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Annotate_rows # # INSERT INTO t1 VALUES(2)
+master-bin.000003 # Table_map # # table_id: # (test.t1)
+master-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000003 # Query # # COMMIT
+SELECT * FROM t1;
+a
+2
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000007 # Query # # BEGIN
+slave-relay-bin.000007 # Query # # # Dummy ev
+slave-relay-bin.000007 # Table_map # # table_id: # (test.t1)
+slave-relay-bin.000007 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-relay-bin.000007 # Query # # COMMIT
+*** MDEV-5754: MySQL 5.5 slaves cannot replicate from MariaDB 10.0 ***
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+INSERT INTO t2 VALUES (1);
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+INSERT INTO t2 VALUES (2);
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+SET debug_sync='RESET';
+SET debug_sync='RESET';
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
+master-bin.000003 # Table_map # # table_id: # (test.t2)
+master-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000003 # Xid # # COMMIT /* XID */
+master-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
+master-bin.000003 # Table_map # # table_id: # (test.t2)
+master-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000003 # Xid # # COMMIT /* XID */
+SELECT * FROM t2 ORDER BY a;
+a
+1
+2
+# Test that slave which cannot tolerate holes in binlog stream but
+# knows the event does not get dummy event
+include/stop_slave.inc
+SET @@global.debug_dbug='+d,simulate_slave_capability_old_53';
+include/start_slave.inc
+ALTER TABLE t1 ORDER BY a;
+UPDATE t1 SET a = 3;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Annotate_rows # # UPDATE t1 SET a = 3
+master-bin.000003 # Table_map # # table_id: # (test.t1)
+master-bin.000003 # Update_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000003 # Query # # COMMIT
+SELECT * FROM t1;
+a
+3
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000008 # Query # # BEGIN
+slave-relay-bin.000008 # Annotate_rows # # UPDATE t1 SET a = 3
+slave-relay-bin.000008 # Table_map # # table_id: # (test.t1)
+slave-relay-bin.000008 # Update_rows_v1 # # table_id: # flags: STMT_END_F
+slave-relay-bin.000008 # Query # # COMMIT
+select @@global.log_slave_updates;
+@@global.log_slave_updates
+1
+select @@global.replicate_annotate_row_events;
+@@global.replicate_annotate_row_events
+0
+set @@global.debug_dbug= @old_slave_dbug;
+Clean up.
+set @@global.binlog_checksum = @old_master_binlog_checksum;
+DROP TABLE t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_master_pos_wait.result b/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
index bf4347757f7..78bda5a1c6f 100644
--- a/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
+++ b/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
@@ -18,4 +18,26 @@ show slave status;
select master_pos_wait('foo', 98);
master_pos_wait('foo', 98)
NULL
+*** MDEV-7130: MASTER_POS_WAIT(log_name,log_pos,timeout,"connection_name") hangs, does not respect the timeout ***
+include/stop_slave.inc
+reset slave all;
+change master 'my_slave' to master_port=MASTER_MYPORT, master_host='127.0.0.1', master_user='root';
+set default_master_connection = 'my_slave';
+include/start_slave.inc
+# Call without connection name -- works (expected -1)
+select master_pos_wait('master-bin.000001',1000000,1);
+master_pos_wait('master-bin.000001',1000000,1)
+-1
+set default_master_connection = '';
+# Call for non-existing anonymous connection -- works (expected NULL)
+select master_pos_wait('master-bin.000001',1000000,1);
+master_pos_wait('master-bin.000001',1000000,1)
+NULL
+# Call with a valid connection name -- hangs before MDEV-7130 fix (expected -1)
+select master_pos_wait('master-bin.000001',1000000,1,"my_slave");
+master_pos_wait('master-bin.000001',1000000,1,"my_slave")
+-1
+STOP SLAVE 'my_slave';
+RESET SLAVE 'my_slave' ALL;
+change master to master_port=MASTER_MYPORT, master_host='127.0.0.1', master_user='root';
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mdev10863.result b/mysql-test/suite/rpl/r/rpl_mdev10863.result
new file mode 100644
index 00000000000..475057d4c29
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_mdev10863.result
@@ -0,0 +1,39 @@
+include/rpl_init.inc [topology=1->2]
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+SET @old_max_relay= @@GLOBAL.max_relay_log_size;
+SET GLOBAL max_relay_log_size = 4096;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b VARCHAR(100)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, "a");
+*** Create a long transaction that will span a relay log file. ***
+SET @old_domain= @@gtid_domain_id;
+SET gtid_domain_id=10;
+INSERT INTO t1 VALUES (10000, "domain 10");
+SET gtid_domain_id=20;
+INSERT INTO t1 VALUES (20000, "domain 20");
+SET gtid_domain_id=@old_domain;
+BEGIN;
+[lots of inserts omitted]
+COMMIT;
+BEGIN;
+[lots of inserts omitted]
+COMMIT;
+include/stop_slave_sql.inc
+START SLAVE SQL_THREAD;
+include/wait_for_slave_to_start.inc
+INSERT INTO t1 VALUES (100000, "More stuffs.");
+INSERT INTO t1 VALUES (100001, "And even more");
+SELECT * FROM t1 WHERE a >= 100000 ORDER BY a;
+a b
+100000 More stuffs.
+100001 And even more
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+SET GLOBAL max_relay_log_size= @old_max_relay;
+include/start_slave.inc
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mdev359.result b/mysql-test/suite/rpl/r/rpl_mdev359.result
index f0709a8158f..337a35a7a92 100644
--- a/mysql-test/suite/rpl/r/rpl_mdev359.result
+++ b/mysql-test/suite/rpl/r/rpl_mdev359.result
@@ -1,7 +1,6 @@
include/master-slave.inc
[connection master]
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
-INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master';
SET GLOBAL rpl_semi_sync_master_enabled = ON;
SET DEBUG_SYNC = "rpl_semisync_master_commit_trx_before_lock SIGNAL m1_ready WAIT_FOR m1_cont";
INSERT INTO t1 SELECT * FROM t1;
@@ -10,5 +9,4 @@ SET GLOBAL rpl_semi_sync_master_enabled = OFF;
SET DEBUG_SYNC= "now SIGNAL m1_cont";
DROP TABLE t1;
SET DEBUG_SYNC= "RESET";
-UNINSTALL PLUGIN rpl_semi_sync_master;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mdev382.result b/mysql-test/suite/rpl/r/rpl_mdev382.result
index 831e23e69e7..2e3faaba7b6 100644
--- a/mysql-test/suite/rpl/r/rpl_mdev382.result
+++ b/mysql-test/suite/rpl/r/rpl_mdev382.result
@@ -14,20 +14,24 @@ Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
insert into t1 values (3);
commit;
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; create table t1 (a int primary key) engine=innodb
-master-bin.000001 # Query # # use `test`; create table t2 (a int primary key) engine=myisam
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; insert into t2 values (1)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; insert into t1 values (1)
-master-bin.000001 # Query # # SAVEPOINT "a`; create database couldbebadthingshere; savepoint `dummy"
-master-bin.000001 # Query # # use `test`; insert into t1 values (2)
-master-bin.000001 # Query # # ROLLBACK TO `a``; create database couldbebadthingshere; savepoint ``dummy`
-master-bin.000001 # Query # # use `test`; insert into t1 values (3)
-master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid_list 1 # []
+master-bin.000001 # Binlog_checkpoint 1 # master-bin.000001
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # use `test`; create table t1 (a int primary key) engine=innodb
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # use `test`; create table t2 (a int primary key) engine=myisam
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use `test`; insert into t1 values (1)
+master-bin.000001 # Query 1 # SAVEPOINT "a`; create database couldbebadthingshere; savepoint `dummy"
+master-bin.000001 # Query 1 # use `test`; insert into t1 values (2)
+master-bin.000001 # Query 1 # ROLLBACK TO `a``; create database couldbebadthingshere; savepoint ``dummy`
+master-bin.000001 # Query 1 # use `test`; insert into t1 values (3)
+master-bin.000001 # Xid 1 # COMMIT /* XID */
BEGIN;
insert into t1 values(10);
set sql_mode = 'ANSI_QUOTES';
@@ -54,27 +58,27 @@ savepoint `d``d`;
insert into t1 values(18);
COMMIT;
set sql_quote_show_create = 1;
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; insert into t1 values(10)
-master-bin.000001 # Query # # SAVEPOINT "a"
-master-bin.000001 # Query # # use `test`; insert into t1 values(11)
-master-bin.000001 # Query # # SAVEPOINT "a""a"
-master-bin.000001 # Query # # use `test`; insert into t1 values(12)
-master-bin.000001 # Query # # SAVEPOINT b
-master-bin.000001 # Query # # use `test`; insert into t1 values(13)
-master-bin.000001 # Query # # SAVEPOINT "b""b"
-master-bin.000001 # Query # # use `test`; insert into t1 values(14)
-master-bin.000001 # Query # # SAVEPOINT `c`
-master-bin.000001 # Query # # use `test`; insert into t1 values(15)
-master-bin.000001 # Query # # SAVEPOINT `c``c`
-master-bin.000001 # Query # # use `test`; insert into t1 values(16)
-master-bin.000001 # Query # # SAVEPOINT d
-master-bin.000001 # Query # # use `test`; insert into t1 values(17)
-master-bin.000001 # Query # # SAVEPOINT `d``d`
-master-bin.000001 # Query # # use `test`; insert into t1 values(18)
-master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use `test`; insert into t1 values(10)
+master-bin.000001 # Query 1 # SAVEPOINT "a"
+master-bin.000001 # Query 1 # use `test`; insert into t1 values(11)
+master-bin.000001 # Query 1 # SAVEPOINT "a""a"
+master-bin.000001 # Query 1 # use `test`; insert into t1 values(12)
+master-bin.000001 # Query 1 # SAVEPOINT b
+master-bin.000001 # Query 1 # use `test`; insert into t1 values(13)
+master-bin.000001 # Query 1 # SAVEPOINT "b""b"
+master-bin.000001 # Query 1 # use `test`; insert into t1 values(14)
+master-bin.000001 # Query 1 # SAVEPOINT `c`
+master-bin.000001 # Query 1 # use `test`; insert into t1 values(15)
+master-bin.000001 # Query 1 # SAVEPOINT `c``c`
+master-bin.000001 # Query 1 # use `test`; insert into t1 values(16)
+master-bin.000001 # Query 1 # SAVEPOINT d
+master-bin.000001 # Query 1 # use `test`; insert into t1 values(17)
+master-bin.000001 # Query 1 # SAVEPOINT `d``d`
+master-bin.000001 # Query 1 # use `test`; insert into t1 values(18)
+master-bin.000001 # Xid 1 # COMMIT /* XID */
*** Test correct USE statement in SHOW BINLOG EVENTS ***
set sql_mode = 'ANSI_QUOTES';
CREATE DATABASE "db1`; select 'oops!'";
@@ -83,40 +87,46 @@ CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM;
INSERT INTO t1 VALUES (1);
set sql_mode = '';
INSERT INTO t1 VALUES (2);
-set sql_mode = 'ANSI_QUOTES';
-show binlog events from <binlog_start>;
+set sql_mode = 'ANSI_QUOTES';
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # CREATE DATABASE "db1`; select 'oops!'"
-master-bin.000001 # Query # # use "db1`; select 'oops!'"; CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use "db1`; select 'oops!'"; INSERT INTO t1 VALUES (1)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use "db1`; select 'oops!'"; INSERT INTO t1 VALUES (2)
-master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # CREATE DATABASE "db1`; select 'oops!'"
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # use "db1`; select 'oops!'"; CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use "db1`; select 'oops!'"; INSERT INTO t1 VALUES (1)
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use "db1`; select 'oops!'"; INSERT INTO t1 VALUES (2)
+master-bin.000001 # Query 1 # COMMIT
set sql_mode = '';
set sql_quote_show_create = 0;
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # CREATE DATABASE "db1`; select 'oops!'"
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (1)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (2)
-master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # CREATE DATABASE "db1`; select 'oops!'"
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (1)
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (2)
+master-bin.000001 # Query 1 # COMMIT
set sql_quote_show_create = 1;
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # CREATE DATABASE "db1`; select 'oops!'"
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (1)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (2)
-master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # CREATE DATABASE "db1`; select 'oops!'"
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (1)
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (2)
+master-bin.000001 # Query 1 # COMMIT
DROP TABLE t1;
use test;
***Test LOAD DATA INFILE with various identifiers that need correct quoting ***
@@ -141,19 +151,21 @@ LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f''le.txt'
SELECT * FROM `db1``; select 'oops!'`.`t``1`;
a`1 b`2 c`3
fo\o bar |b"a'z!
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; CREATE TABLE `t``1` (`a``1` VARCHAR(4) PRIMARY KEY, `b``2` VARCHAR(3),
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; CREATE TABLE `t``1` (`a``1` VARCHAR(4) PRIMARY KEY, `b``2` VARCHAR(3),
`c``3` VARCHAR(7))
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
-master-bin.000001 # Execute_load_query # # use `db1``; select 'oops!'`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f\'le.txt' INTO TABLE `t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, @`b```) SET `b``2`= @`b```, `c``3`= concat('|', "b""a'z", "!") ;file_id=#
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; truncate `t``1`
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
-master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f\'le.txt' INTO TABLE `db1``; select 'oops!'`.`t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, `b``2`) SET `c``3`= concat('|', "b""a'z", "!") ;file_id=#
-master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Begin_load_query 1 # ;file_id=#;block_len=14
+master-bin.000001 # Execute_load_query 1 # use `db1``; select 'oops!'`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f\'le.txt' INTO TABLE `t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, @`b```) SET `b``2`= @`b```, `c``3`= concat('|', "b""a'z", "!") ;file_id=#
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; truncate `t``1`
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Begin_load_query 1 # ;file_id=#;block_len=14
+master-bin.000001 # Execute_load_query 1 # use `test`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f\'le.txt' INTO TABLE `db1``; select 'oops!'`.`t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, `b``2`) SET `c``3`= concat('|', "b""a'z", "!") ;file_id=#
+master-bin.000001 # Query 1 # COMMIT
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
@@ -172,7 +184,6 @@ SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE `t``1` (`a``1` VARCHAR(4) PRIMARY KEY, `b``2` VARCHAR(3),
`c``3` VARCHAR(7))
/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -184,7 +195,6 @@ COMMIT
SET TIMESTAMP=1000000000/*!*/;
truncate `t``1`
/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
BEGIN
/*!*/;
use `test`/*!*/;
@@ -213,12 +223,12 @@ SELECT * FROM t1 ORDER BY a;
a b
1 X| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|X
2 A| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|A
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
-master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/file.txt' INTO TABLE `t1` FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @`b`) SET `b`= CONCAT(@b, '| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|', @b) ;file_id=#
-master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Begin_load_query 1 # ;file_id=#;block_len=8
+master-bin.000001 # Execute_load_query 1 # use `test`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/file.txt' INTO TABLE `t1` FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @`b`) SET `b`= CONCAT(@b, '| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|', @b) ;file_id=#
+master-bin.000001 # Query 1 # COMMIT
SELECT * FROM t1 ORDER BY a;
a b
1 X| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|X
@@ -232,22 +242,23 @@ SELECT @`a``1`:=a1, @`a``2`:=a2, @`a``3`:=a3, @`a``4`:=a4, @`b```:=b, @```c`:=c,
@`a``1`:=a1 @`a``2`:=a2 @`a``3`:=a3 @`a``4`:=a4 @`b```:=b @```c`:=c @```d```:=d
-9223372036854775808 42 9223372036854775807 18446744073709551615 -1.234560123456789e125 -1234501234567890123456789012345678901234567890123456789.0123456789 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
INSERT INTO t1 VALUES (@`a``1`+1, @`a``2`*100, @`a``3`-1, @`a``4`-1, @`b```/2, @```c`, substr(@```d```, 2, 98));
-show binlog events from <binlog_start>;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; CREATE TABLE t1 (a1 BIGINT PRIMARY KEY, a2 BIGINT, a3 BIGINT, a4 BIGINT UNSIGNED, b DOUBLE, c DECIMAL(65,10), d VARCHAR(100))
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (-9223372036854775808,42,9223372036854775807,18446744073709551615,-1234560123456789e110, -1234501234567890123456789012345678901234567890123456789.0123456789, REPEAT("x", 100))
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # User var # # @`a``1`=-9223372036854775808
-master-bin.000001 # User var # # @`a``2`=42
-master-bin.000001 # User var # # @`a``3`=9223372036854775807
-master-bin.000001 # User var # # @`a``4`=18446744073709551615
-master-bin.000001 # User var # # @`b```=-1.234560123456789e125
-master-bin.000001 # User var # # @```c`=-1234501234567890123456789012345678901234567890123456789.0123456789
-master-bin.000001 # User var # # @```d```=_latin1 X'78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878' COLLATE latin1_swedish_ci
-master-bin.000001 # Query # # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (@`a``1`+1, @`a``2`*100, @`a``3`-1, @`a``4`-1, @`b```/2, @```c`, substr(@```d```, 2, 98))
-master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid 1 # GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; CREATE TABLE t1 (a1 BIGINT PRIMARY KEY, a2 BIGINT, a3 BIGINT, a4 BIGINT UNSIGNED, b DOUBLE, c DECIMAL(65,10), d VARCHAR(100))
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (-9223372036854775808,42,9223372036854775807,18446744073709551615,-1234560123456789e110, -1234501234567890123456789012345678901234567890123456789.0123456789, REPEAT("x", 100))
+master-bin.000001 # Query 1 # COMMIT
+master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000001 # User var 1 # @`a``1`=-9223372036854775808
+master-bin.000001 # User var 1 # @`a``2`=42
+master-bin.000001 # User var 1 # @`a``3`=9223372036854775807
+master-bin.000001 # User var 1 # @`a``4`=18446744073709551615
+master-bin.000001 # User var 1 # @`b```=-1.234560123456789e125
+master-bin.000001 # User var 1 # @```c`=-1234501234567890123456789012345678901234567890123456789.0123456789
+master-bin.000001 # User var 1 # @```d```=_latin1 X'78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878' COLLATE latin1_swedish_ci
+master-bin.000001 # Query 1 # use `db1``; select 'oops!'`; INSERT INTO t1 VALUES (@`a``1`+1, @`a``2`*100, @`a``3`-1, @`a``4`-1, @`b```/2, @```c`, substr(@```d```, 2, 98))
+master-bin.000001 # Query 1 # COMMIT
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
@@ -265,7 +276,6 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (a1 BIGINT PRIMARY KEY, a2 BIGINT, a3 BIGINT, a4 BIGINT UNSIGNED, b DOUBLE, c DECIMAL(65,10), d VARCHAR(100))
/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@@ -274,7 +284,6 @@ INSERT INTO t1 VALUES (-9223372036854775808,42,9223372036854775807,1844674407370
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
BEGIN
/*!*/;
SET @`a``1`:=-9223372036854775808/*!*/;
@@ -306,7 +315,7 @@ CREATE TABLE `t``1` ( `a``` INT PRIMARY KEY) ENGINE=innodb;
CREATE TABLE `t``2` ( `b``` INT PRIMARY KEY, `c``` INT NOT NULL,
FOREIGN KEY fk (`c```) REFERENCES `t``1`(`a```)) ENGINE=innodb;
TRUNCATE `t``1`;
-ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`db1``; select 'oops!'`.`t``2`, CONSTRAINT `t``2_ibfk_1` FOREIGN KEY (`c```) REFERENCES `db1``; select 'oops!'`.`t``1` (`a```))
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`db1``; select 'oops!'`.`t``2`, CONSTRAINT `fk` FOREIGN KEY (`c```) REFERENCES `db1``; select 'oops!'`.`t``1` (`a```))
DROP TABLE `t``2`;
DROP TABLE `t``1`;
*** Test correct quoting of DELETE FROM statement binlogged for HEAP table that is emptied due to server restart
@@ -325,7 +334,8 @@ a`
# The DELETE statement should be correctly quoted
show binlog events in 'master-bin.000002' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000002 # Query # # DELETE FROM `db1``; select 'oops!'`.`t``1`
+master-bin.000002 # Gtid 1 # GTID #-#-#
+master-bin.000002 # Query 1 # DELETE FROM `db1``; select 'oops!'`.`t``1`
include/start_slave.inc
# The table should be empty on the slave also.
SELECT * FROM `db1``; select 'oops!'`.`t``1`;
@@ -338,27 +348,26 @@ CREATE TABLE t1 (a INT PRIMARY KEY);
INSERT INTO t1 VALUES(1);
show binlog events in 'master-bin.000002' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000002 # Query # # BEGIN
-master-bin.000002 # Query # # use `test`; INSERT INTO t1 VALUES(1)
-master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000002 # Query 1 # use `test`; INSERT INTO t1 VALUES(1)
+master-bin.000002 # Query 1 # COMMIT
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
+BEGIN
+/*!*/;
+use `ts``et`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-use `ts``et`/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
INSERT INTO t1 VALUES(1)
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
diff --git a/mysql-test/suite/rpl/r/rpl_mdev6020.result b/mysql-test/suite/rpl/r/rpl_mdev6020.result
new file mode 100644
index 00000000000..0855f578cfc
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_mdev6020.result
@@ -0,0 +1,49 @@
+include/master-slave.inc
+[connection master]
+include/stop_slave.inc
+include/rpl_stop_server.inc [server_number=1]
+include/rpl_start_server.inc [server_number=1]
+SET SQL_LOG_BIN=0;
+ALTER TABLE mysql.gtid_slave_pos ENGINE = InnoDB;
+SET SQL_LOG_BIN=1;
+SET @old_engine= @@GLOBAL.default_storage_engine;
+SET GLOBAL default_storage_engine=InnoDB;
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=12;
+CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
+include/start_slave.inc
+SET SQL_LOG_BIN=0;
+ALTER TABLE mysql.gtid_slave_pos ENGINE = InnoDB;
+SET SQL_LOG_BIN=1;
+SELECT @@gtid_slave_pos;
+@@gtid_slave_pos
+0-1-1381
+CHECKSUM TABLE table0_int_autoinc, table0_key_pk_parts_2_int_autoinc, table100_int_autoinc, table100_key_pk_parts_2_int_autoinc, table10_int_autoinc, table10_key_pk_parts_2_int_autoinc, table1_int_autoinc, table1_key_pk_parts_2_int_autoinc, table2_int_autoinc, table2_key_pk_parts_2_int_autoinc;
+Table Checksum
+test.table0_int_autoinc 3623174395
+test.table0_key_pk_parts_2_int_autoinc 2888328157
+test.table100_int_autoinc 3624823809
+test.table100_key_pk_parts_2_int_autoinc 3316583308
+test.table10_int_autoinc 1615053718
+test.table10_key_pk_parts_2_int_autoinc 4147461080
+test.table1_int_autoinc 478809705
+test.table1_key_pk_parts_2_int_autoinc 3032208641
+test.table2_int_autoinc 854763867
+test.table2_key_pk_parts_2_int_autoinc 4231615291
+include/stop_slave.inc
+SET GLOBAL default_storage_engine= @old_engine;
+SET GLOBAL slave_parallel_threads=@old_parallel;
+SET sql_log_bin=0;
+DROP TABLE table0_int_autoinc;
+DROP TABLE table0_key_pk_parts_2_int_autoinc;
+DROP TABLE table100_int_autoinc;
+DROP TABLE table100_key_pk_parts_2_int_autoinc;
+DROP TABLE table10_int_autoinc;
+DROP TABLE table10_key_pk_parts_2_int_autoinc;
+DROP TABLE table1_int_autoinc;
+DROP TABLE table1_key_pk_parts_2_int_autoinc;
+DROP TABLE table2_int_autoinc;
+DROP TABLE table2_key_pk_parts_2_int_autoinc;
+SET sql_log_bin=1;
+include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mdev6386.result b/mysql-test/suite/rpl/r/rpl_mdev6386.result
new file mode 100644
index 00000000000..c8bd6f51822
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_mdev6386.result
@@ -0,0 +1,60 @@
+include/master-slave.inc
+[connection master]
+ALTER TABLE mysql.gtid_slave_pos ENGINE = InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) Engine=InnoDB;
+include/stop_slave.inc
+SET sql_log_bin= 0;
+INSERT INTO t1 VALUES (1, 2);
+SET sql_log_bin= 1;
+CHANGE MASTER TO master_use_gtid= current_pos;
+Contents on slave before:
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=8;
+CREATE TEMPORARY TABLE t2 LIKE t1;
+INSERT INTO t2 VALUE (1, 1);
+INSERT INTO t2 VALUE (2, 1);
+INSERT INTO t2 VALUE (3, 1);
+INSERT INTO t2 VALUE (4, 1);
+INSERT INTO t2 VALUE (5, 1);
+INSERT INTO t1 SELECT * FROM t2;
+DROP TEMPORARY TABLE t2;
+INSERT INTO t1 VALUE (6, 3);
+include/save_master_gtid.inc
+Contents on master:
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 1
+3 1
+4 1
+5 1
+6 3
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1062]
+STOP SLAVE IO_THREAD;
+Contents on slave on slave error:
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+SET sql_log_bin= 0;
+DELETE FROM t1 WHERE a=1;
+SET sql_log_bin= 1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+Contents on slave after:
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 1
+3 1
+4 1
+5 1
+6 3
+DROP TABLE t1;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads= @old_parallel;
+include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mdev8193.result b/mysql-test/suite/rpl/r/rpl_mdev8193.result
new file mode 100644
index 00000000000..ad92d32e7d4
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_mdev8193.result
@@ -0,0 +1,24 @@
+include/master-slave.inc
+[connection master]
+include/stop_slave_sql.inc
+CALL mtr.add_suppression("Statement is unsafe because it uses a system function that may return a different value on the slave");
+create table t1 (i int);
+insert into t1 values (1),(2);
+insert into t1 values (3),(4);
+insert into t1 select i+20+0*sleep(1) from t1 where i=1;
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+flush logs;
+insert into t1 values (5),(6);
+insert into t1 values (7),(8);
+insert into t1 values (9),(10);
+insert into t1 values (11),(12);
+insert into t1 values (13),(14);
+insert into t1 values (15),(16);
+set global slave_parallel_threads = 1;
+start slave until master_log_file='MASTER_FILE', master_log_pos=MASTER_POS;
+drop table t1;
+include/stop_slave_io.inc
+set global slave_parallel_threads = DEFAULT;
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result b/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
index 143475d7bae..80f76169472 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
@@ -151,7 +151,7 @@ include/start_slave.inc
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
-CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master. Message: error writing to the binary log");
+CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occurred on the master. Message: error writing to the binary log");
TRUNCATE t1;
SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
@@ -164,8 +164,7 @@ include/wait_for_slave_sql_error.inc [errno=1197]
SELECT count(*) FROM t1;
count(*)
0
-show binlog events in 'slave-bin.000001' from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result b/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result
index 57c947c9333..da807748cee 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result
@@ -7,39 +7,48 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
SET @commands= 'configure';
CREATE TABLE tt_xx_1 ( id INT ) ENGINE = Innodb;
CREATE TABLE nt_xx_1 ( id INT ) ENGINE = MyIsam;
+CREATE TABLE tt_error_1 ( id INT, PRIMARY KEY (id) ) ENGINE = Innodb;
+CREATE TABLE nt_error_1 ( id INT, PRIMARY KEY (id) ) ENGINE = MyIsam;
+CREATE TABLE tt_error_2 ( id INT, PRIMARY KEY (id) ) ENGINE = Innodb;
+CREATE TABLE nt_error_2 ( id INT, PRIMARY KEY (id) ) ENGINE = MyIsam;
+CREATE TRIGGER tr_i_nt_2_to_tt_2 AFTER INSERT ON nt_error_2 FOR EACH ROW
+BEGIN
+DECLARE in_stmt_id INTEGER;
+INSERT INTO tt_error_2(id) VALUES (NEW.id);
+END|
CREATE TEMPORARY TABLE nt_tmp_xx_1 ( id INT ) ENGINE = MyIsam;
CREATE TEMPORARY TABLE tt_tmp_xx_1 ( id INT ) ENGINE = Innodb;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2;
Warnings:
-Note 1051 Unknown table 'nt_tmp_2'
+Note 1051 Unknown table 'test.nt_tmp_2'
CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) ENGINE = MyIsam;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1;
Warnings:
-Note 1051 Unknown table 'nt_tmp_1'
+Note 1051 Unknown table 'test.nt_tmp_1'
CREATE TEMPORARY TABLE nt_tmp_1 ( id INT ) ENGINE = MyIsam;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2;
Warnings:
-Note 1051 Unknown table 'tt_tmp_2'
+Note 1051 Unknown table 'test.tt_tmp_2'
CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) ENGINE = Innodb;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1;
Warnings:
-Note 1051 Unknown table 'tt_tmp_1'
+Note 1051 Unknown table 'test.tt_tmp_1'
CREATE TEMPORARY TABLE tt_tmp_1 ( id INT ) ENGINE = Innodb;
DROP TABLE IF EXISTS nt_2;
Warnings:
-Note 1051 Unknown table 'nt_2'
+Note 1051 Unknown table 'test.nt_2'
CREATE TABLE nt_2 ( id INT ) ENGINE = MyIsam;
DROP TABLE IF EXISTS nt_1;
Warnings:
-Note 1051 Unknown table 'nt_1'
+Note 1051 Unknown table 'test.nt_1'
CREATE TABLE nt_1 ( id INT ) ENGINE = MyIsam;
DROP TABLE IF EXISTS tt_2;
Warnings:
-Note 1051 Unknown table 'tt_2'
+Note 1051 Unknown table 'test.tt_2'
CREATE TABLE tt_2 ( id INT ) ENGINE = Innodb;
DROP TABLE IF EXISTS tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
CREATE TABLE tt_1 ( id INT ) ENGINE = Innodb;
SET @commands= '';
#########################################################################
@@ -52,87 +61,109 @@ SET @commands= '';
SET @commands= 'Drop-Temp-T-Temp';
DROP TEMPORARY TABLE tt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-N-Temp';
DROP TEMPORARY TABLE nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-N-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-N-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-Xe-Temp';
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-Xe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-Xe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-If-Xe-Temp';
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-Xe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-Xe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-TXe-Temp';
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-TXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-TXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-If-TXe-Temp';
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-TXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-TXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-NXe-Temp';
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-NXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-NXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-If-NXe-Temp';
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-NXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-NXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-TN-Temp';
DROP TEMPORARY TABLE tt_tmp_2, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-TT-Temp';
DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-TT-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-TT-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-NN-Temp';
DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-NN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-NN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -146,8 +177,9 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -161,11 +193,12 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp N Drop-Temp-T-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -178,11 +211,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -195,17 +229,18 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -214,11 +249,12 @@ SET @commands= 'B T Drop-Temp-Xe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -227,17 +263,18 @@ SET @commands= 'B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -247,11 +284,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -262,18 +300,19 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
@@ -284,11 +323,12 @@ SET @commands= 'B T Drop-Temp-TXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -298,17 +338,18 @@ SET @commands= 'B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -320,11 +361,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -335,18 +377,19 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */
@@ -357,14 +400,15 @@ SET @commands= 'B T Drop-Temp-NXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -373,23 +417,24 @@ SET @commands= 'B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -399,14 +444,15 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -417,24 +463,25 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
@@ -447,11 +494,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -465,17 +513,18 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, nt_tmp_1;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp N Drop-Temp-TN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -488,8 +537,9 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -502,11 +552,12 @@ DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp N Drop-Temp-TT-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -518,11 +569,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -534,18 +586,91 @@ DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne C';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (1), (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (1), (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te C';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (1), (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig C';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (2), (2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (2), (2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+
#
#3) Generates in the binlog what follows:
@@ -556,8 +681,9 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -571,13 +697,14 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1;
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp N Drop-Temp-T-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -590,11 +717,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -607,19 +735,20 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1;
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -628,11 +757,12 @@ SET @commands= 'B T Drop-Temp-Xe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -641,19 +771,20 @@ SET @commands= 'B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -663,11 +794,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -678,20 +810,21 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
@@ -702,11 +835,12 @@ SET @commands= 'B T Drop-Temp-TXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -716,19 +850,20 @@ SET @commands= 'B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -740,11 +875,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -755,20 +891,21 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */
@@ -779,14 +916,15 @@ SET @commands= 'B T Drop-Temp-NXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -795,25 +933,26 @@ SET @commands= 'B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -823,14 +962,15 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -841,26 +981,27 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
@@ -873,11 +1014,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -891,19 +1033,20 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, nt_tmp_1;
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp N Drop-Temp-TN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -916,8 +1059,9 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -930,13 +1074,14 @@ DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp N Drop-Temp-TT-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -948,11 +1093,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -964,20 +1110,99 @@ DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne R';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (3), (3);
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (3), (3)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te R';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (2), (2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig R';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (4), (4);
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (4), (4)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+
#########################################################################
# 2 - Tables dropped by "DROP TABLE"
#########################################################################
@@ -988,102 +1213,129 @@ master-bin.000001 # Query # # ROLLBACK
SET @commands= 'Drop-T';
DROP TABLE tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-T << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-N';
DROP TABLE nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-N << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Xe';
DROP TABLE xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Xe << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Xe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-If-Xe';
DROP TABLE IF EXISTS xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-If-Xe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-If-Xe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TXe';
DROP TABLE tt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-If-TXe';
DROP TABLE IF EXISTS tt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-If-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-If-TXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-NXe';
DROP TABLE nt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-NXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-If-NXe';
DROP TABLE IF EXISTS nt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-If-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-If-NXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TN';
DROP TABLE tt_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TN << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TT';
DROP TABLE tt_1, tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_1`,`tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TT << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-NN';
DROP TABLE nt_1, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-NN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_1`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-NN << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-N-TN-Temp';
DROP TABLE tt_tmp_2, nt_tmp_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-N-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-N-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TN-Temp';
DROP TABLE tt_tmp_2, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1096,10 +1348,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-T << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1108,10 +1362,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1119,10 +1375,11 @@ SET @commands= 'B T Drop-Xe';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Xe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Xe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1132,12 +1389,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE IF EXISTS xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-If-Xe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-If-Xe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1145,12 +1404,14 @@ SET @commands= 'B T Drop-TXe';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1159,12 +1420,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE IF EXISTS tt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-If-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-If-TXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1172,12 +1435,14 @@ SET @commands= 'B T Drop-NXe';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE nt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-NXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1186,12 +1451,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE IF EXISTS nt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-If-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-If-NXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1200,10 +1467,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TN << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1212,10 +1481,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_1, tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_1`,`tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TT << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1224,10 +1495,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE nt_1, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-NN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_1`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-NN << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1236,12 +1509,16 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_tmp_2, nt_tmp_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-N-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-N-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1250,11 +1527,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_tmp_2, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1271,10 +1551,15 @@ CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) engine= MyIsam;
DROP TEMPORARY TABLE nt_tmp_1;
DROP TEMPORARY TABLE nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) engine= MyIsam
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1284,10 +1569,15 @@ CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
DROP TEMPORARY TABLE tt_tmp_1;
DROP TEMPORARY TABLE tt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1304,20 +1594,21 @@ DROP TEMPORARY TABLE nt_tmp_1;
DROP TEMPORARY TABLE nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) engine= MyIsam
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1330,8 +1621,9 @@ DROP TEMPORARY TABLE tt_tmp_1;
DROP TEMPORARY TABLE tt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -1339,6 +1631,72 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* gen
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne C';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (5), (5);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (5), (5)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te C';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO tt_error_1() VALUES (3), (3);
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig C';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (6), (6);
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (6), (6)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+
#
#3) Generates in the binlog what follows:
@@ -1352,20 +1710,21 @@ DROP TEMPORARY TABLE nt_tmp_1;
DROP TEMPORARY TABLE nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) engine= MyIsam
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1378,8 +1737,9 @@ DROP TEMPORARY TABLE tt_tmp_1;
DROP TEMPORARY TABLE tt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -1387,6 +1747,76 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* gen
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne R';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (7), (7);
+ERROR 23000: Duplicate entry '7' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (7), (7)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te R';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO tt_error_1() VALUES (4), (4);
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
+ROLLBACK;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig R';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (8), (8);
+ERROR 23000: Duplicate entry '8' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (8), (8)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+
#########################################################################
# 4 - CHANGING TEMPORARY TABLES
#########################################################################
@@ -1402,17 +1832,18 @@ INSERT INTO nt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-N-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1 SELECT * FROM nt_tmp_xx_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-N-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1425,16 +1856,17 @@ INSERT INTO tt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-N-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-N-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1446,10 +1878,11 @@ INSERT INTO nt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-T-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-T-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1461,13 +1894,76 @@ INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Ne C';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (9), (9);
+ERROR 23000: Duplicate entry '9' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Te C';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (5), (5);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Te C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig C';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (10), (10);
+ERROR 23000: Duplicate entry '10' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+
#
@@ -1481,16 +1977,17 @@ INSERT INTO nt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-N-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-N-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1502,12 +1999,13 @@ INSERT INTO tt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-N-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-N-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1519,12 +2017,13 @@ INSERT INTO nt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-T-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-T-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1536,15 +2035,84 @@ INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Ne R';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (11), (11);
+ERROR 23000: Duplicate entry '11' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Te R';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (6), (6);
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Te R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Te R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig R';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (12), (12);
+ERROR 23000: Duplicate entry '12' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+
###################################################################################
# CHECK CONSISTENCY
###################################################################################
@@ -1554,6 +2122,10 @@ master-bin.000001 # Query # # COMMIT
SET @commands= 'clean';
DROP TABLE IF EXISTS tt_xx_1;
DROP TABLE IF EXISTS nt_xx_1;
+DROP TABLE IF EXISTS tt_error_1;
+DROP TABLE IF EXISTS nt_error_1;
+DROP TABLE IF EXISTS tt_error_2;
+DROP TABLE IF EXISTS nt_error_2;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_xx_1;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_xx_1;
DROP TABLE IF EXISTS nt_2;
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result b/mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result
index 56d8c8caabc..bb668a4e6cb 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result
@@ -13,511 +13,321 @@ INSERT INTO tt_2(ddl_case) VALUES(0);
# CHECK IMPLICT COMMIT
#########################################################################
SET AUTOCOMMIT= 0;
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
+INSERT INTO tt_1(ddl_case) VALUES (43);
+CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
+INSERT INTO tt_1(ddl_case) VALUES (42);
+DROP FUNCTION myfunc_int;
INSERT INTO tt_1(ddl_case) VALUES (41);
LOAD INDEX INTO CACHE nt_1 IGNORE LEAVES;
Table Op Msg_type Msg_text
test.nt_1 preload_keys status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (41)
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (40);
LOAD INDEX INTO CACHE tt_1, tt_2 IGNORE LEAVES;
Table Op Msg_type Msg_text
test.tt_1 preload_keys note The storage engine for the table doesn't support preload_keys
test.tt_2 preload_keys note The storage engine for the table doesn't support preload_keys
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (40)
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (39);
ANALYZE TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 analyze status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (39)
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # use `test`; ANALYZE TABLE nt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (38);
CHECK TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 check status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (38)
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (37);
OPTIMIZE TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 optimize status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (37)
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # use `test`; OPTIMIZE TABLE nt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (36);
REPAIR TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 repair status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+INSERT INTO tt_1(ddl_case) VALUES (35);
+LOCK TABLES tt_1 WRITE;
+INSERT INTO tt_1(ddl_case) VALUES (34);
+UNLOCK TABLES;
+INSERT INTO tt_1(ddl_case) VALUES (33);
+CREATE USER 'user'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (32);
+GRANT ALL ON *.* TO 'user'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (31);
+SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpass');
+INSERT INTO tt_1(ddl_case) VALUES (30);
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (29);
+RENAME USER 'user'@'localhost' TO 'user_new'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (28);
+DROP USER 'user_new'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (27);
+CREATE EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
+INSERT INTO tt_1(ddl_case) VALUES (26);
+ALTER EVENT evt COMMENT 'evt';
+INSERT INTO tt_1(ddl_case) VALUES (25);
+DROP EVENT evt;
+INSERT INTO tt_1(ddl_case) VALUES (24);
+CREATE TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
+INSERT INTO tt_1(ddl_case) VALUES (23);
+DROP TRIGGER tr;
+INSERT INTO tt_1(ddl_case) VALUES (22);
+CREATE FUNCTION fc () RETURNS VARCHAR(64) RETURN "fc";
+INSERT INTO tt_1(ddl_case) VALUES (21);
+ALTER FUNCTION fc COMMENT 'fc';
+INSERT INTO tt_1(ddl_case) VALUES (20);
+DROP FUNCTION fc;
+INSERT INTO tt_1(ddl_case) VALUES (19);
+CREATE PROCEDURE pc () UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
+INSERT INTO tt_1(ddl_case) VALUES (18);
+ALTER PROCEDURE pc COMMENT 'pc';
+INSERT INTO tt_1(ddl_case) VALUES (17);
+DROP PROCEDURE pc;
+INSERT INTO tt_1(ddl_case) VALUES (16);
+CREATE VIEW v AS SELECT * FROM tt_1;
+INSERT INTO tt_1(ddl_case) VALUES (15);
+ALTER VIEW v AS SELECT * FROM tt_1;
+INSERT INTO tt_1(ddl_case) VALUES (14);
+DROP VIEW v;
+INSERT INTO tt_1(ddl_case) VALUES (13);
+CREATE INDEX ix ON tt_1(ddl_case);
+INSERT INTO tt_1(ddl_case) VALUES (12);
+DROP INDEX ix ON tt_1;
+INSERT INTO tt_1(ddl_case) VALUES (11);
+CREATE TEMPORARY TABLE tt_xx (a int);
+INSERT INTO tt_1(ddl_case) VALUES (10);
+ALTER TABLE tt_xx ADD COLUMN (b int);
+INSERT INTO tt_1(ddl_case) VALUES (9);
+ALTER TABLE tt_xx RENAME new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (8);
+DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (7);
+CREATE TABLE tt_xx (a int);
+INSERT INTO tt_1(ddl_case) VALUES (6);
+ALTER TABLE tt_xx ADD COLUMN (b int);
+INSERT INTO tt_1(ddl_case) VALUES (5);
+RENAME TABLE tt_xx TO new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (4);
+TRUNCATE TABLE new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (3);
+DROP TABLE IF EXISTS tt_xx, new_tt_xx;
+Warnings:
+Note 1051 Unknown table 'test.tt_xx'
+INSERT INTO tt_1(ddl_case) VALUES (2);
+CREATE DATABASE db;
+INSERT INTO tt_1(ddl_case) VALUES (1);
+DROP DATABASE IF EXISTS db;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE tt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = Innodb
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE tt_2 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = Innodb
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE nt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = MyIsam
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES(0)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_2(ddl_case) VALUES(0)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (43)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "LIB"
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (42)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP FUNCTION myfunc_int
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (41)
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (40)
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (39)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; ANALYZE TABLE nt_1
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (38)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (37)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; OPTIMIZE TABLE nt_1
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (36)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; REPAIR TABLE nt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (35);
-LOCK TABLES tt_1 WRITE;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (35)
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (34);
-UNLOCK TABLES;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (34)
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (33);
-CREATE USER 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (33)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE USER 'user'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (32);
-GRANT ALL ON *.* TO 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (32)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; GRANT ALL ON *.* TO 'user'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (31);
-SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpass');
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (31)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; SET PASSWORD FOR 'user'@'localhost'='*D8DECEC305209EEFEC43008E1D420E1AA06B19E0'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (30);
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (30)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (29);
-RENAME USER 'user'@'localhost' TO 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (29)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; RENAME USER 'user'@'localhost' TO 'user_new'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (28);
-DROP USER 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (28)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP USER 'user_new'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (27);
-CREATE EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (27)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (26);
-ALTER EVENT evt COMMENT 'evt';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (26)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER EVENT evt COMMENT 'evt'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (25);
-DROP EVENT evt;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (25)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT evt
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (24);
-CREATE TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (24)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (23);
-DROP TRIGGER tr;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (23)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER tr
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (22);
-CREATE FUNCTION fc () RETURNS VARCHAR(64) RETURN "fc";
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (22)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `fc`() RETURNS varchar(64) CHARSET latin1
RETURN "fc"
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (21);
-ALTER FUNCTION fc COMMENT 'fc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (21)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER FUNCTION fc COMMENT 'fc'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (20);
-DROP FUNCTION fc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (20)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION fc
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (19);
-CREATE PROCEDURE pc () UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (19)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `pc`()
UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (18);
-ALTER PROCEDURE pc COMMENT 'pc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (18)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER PROCEDURE pc COMMENT 'pc'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (17);
-DROP PROCEDURE pc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (17)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE pc
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (16);
-CREATE VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (16)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (15);
-ALTER VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (15)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (14);
-DROP VIEW v;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (14)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW v
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (13);
-CREATE INDEX ix ON tt_1(ddl_case);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (13)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE INDEX ix ON tt_1(ddl_case)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (12);
-DROP INDEX ix ON tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (12)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP INDEX ix ON tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (11);
-CREATE TEMPORARY TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (11)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx (a int)
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (10)
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (10);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (9);
-ALTER TABLE tt_xx RENAME new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; ALTER TABLE tt_xx ADD COLUMN (b int)
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (9)
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (8);
-DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; ALTER TABLE tt_xx RENAME new_tt_xx
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (8)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`new_tt_xx` /* generated by server */
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (7);
-CREATE TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (7)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx (a int)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (6);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (6)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE tt_xx ADD COLUMN (b int)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (5);
-RENAME TABLE tt_xx TO new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (5)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; RENAME TABLE tt_xx TO new_tt_xx
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (4);
-TRUNCATE TABLE new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (4)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE new_tt_xx
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (3);
-DROP TABLE IF EXISTS tt_xx, new_tt_xx;
-Warnings:
-Note 1051 Unknown table 'tt_xx'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx`,`new_tt_xx` /* generated by server */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (2);
-CREATE DATABASE db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (2)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (1);
-DROP DATABASE IF EXISTS db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
+SET AUTOCOMMIT= 1;
###################################################################################
# CHECK CONSISTENCY
###################################################################################
@@ -525,4 +335,7 @@ include/diff_tables.inc [master:tt_1,slave:tt_1]
###################################################################################
# CLEAN
###################################################################################
+DROP TABLE tt_1;
+DROP TABLE tt_2;
+DROP TABLE nt_1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result
index ca60b52c5f7..63a5493f045 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result
@@ -4,8 +4,7 @@ include/master-slave.inc
# CONFIGURATION
#########################################################################
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-SET @commands= 'configure';
-SET SQL_LOG_BIN=0;
+rpl_mixing_engines.inc [commands=configure]
CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
@@ -18,21 +17,6 @@ CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(tran
CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
-SET SQL_LOG_BIN=0;
-CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE tt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
INSERT INTO nt_1(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_2(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_3(trans_id, stmt_id) VALUES(1,1);
@@ -79,6 +63,17 @@ INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
RETURN "fc_i_nt_5_suc";
END|
+CREATE FUNCTION fc_i_nt_3_tt_3_suc (p_trans_id INTEGER, p_stmt_id INTEGER) RETURNS VARCHAR(64)
+BEGIN
+DECLARE in_stmt_id INTEGER;
+SELECT max(stmt_id) INTO in_stmt_id FROM nt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO nt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+SELECT max(stmt_id) INTO in_stmt_id FROM tt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO tt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+RETURN "fc_i_nt_3_tt_3_suc";
+END|
CREATE TRIGGER tr_i_tt_3_to_nt_3 AFTER INSERT ON tt_3 FOR EACH ROW
BEGIN
DECLARE in_stmt_id INTEGER;
@@ -111,7 +106,6 @@ SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id), 1) INTO in_stmt_id;
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
END|
-SET @commands= '';
#########################################################################
# 1 - MIXING TRANSACTIONAL and NON-TRANSACTIONAL TABLES
#########################################################################
@@ -125,67 +119,78 @@ SET @commands= '';
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
-SET @commands= 'T';
+rpl_mixing_engines.inc [commands=T]
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-func]
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (9, 1);
fc_i_tt_5_suc (9, 1)
fc_i_tt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(9,1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(9,1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (10, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -200,40 +205,44 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=eT]
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te]
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (12, 1), (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (13, 1), (10, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (14, 1, ''), (7, 1, fc_i_tt_5_suc (14, 1));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -246,66 +255,78 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=N]
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-func]
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (17, 1);
fc_i_nt_5_suc (17, 1)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(17,1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(17,1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (18, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -320,56 +341,66 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=eN]
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -385,114 +416,138 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N T B T C" entries, format R.
# --> MIXED "B N T B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=tN]
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nT]
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT]
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN]
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -507,86 +562,102 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> STMT "B M R" entries, format S.
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
+rpl_mixing_engines.inc [commands=tNe]
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nTe]
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 32, 1, COUNT(*) FROM nt_1 UNION SELECT 24, 1, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -601,470 +672,517 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B T T C" entries, format R.
# --> MIXED "B T T C" entries, format S
#
+rpl_mixing_engines.inc [commands=B T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (39, 4);
fc_i_tt_5_suc (39, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(39,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(39,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (40, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (43, 4);
fc_i_tt_5_suc (43, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(43,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(43,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (44, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (45, 2);
fc_i_tt_5_suc (45, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(45,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(45,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (46, 2);
fc_i_tt_5_suc (46, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(46,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(46,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 2);
fc_i_tt_5_suc (47, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 4);
fc_i_tt_5_suc (47, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (48, 2);
fc_i_tt_5_suc (48, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (48, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(48,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(48,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (49, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (50, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (51, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (51, 4);
fc_i_tt_5_suc (51, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(51,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(51,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',4))
@@ -1072,8 +1190,9 @@ master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VA
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',4))
@@ -1091,218 +1210,242 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B T eT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 4), (54, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (55, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (56, 4, ''), (56, 2, fc_i_tt_5_suc (56, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 2), (57, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (59, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (60, 2, ''), (59, 4, fc_i_tt_5_suc (60, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1317,340 +1460,356 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (62, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (62, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (63, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (63, 4);
fc_i_tt_5_suc (63, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (64, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (64, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (65, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (65, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (67, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (67, 4);
fc_i_tt_5_suc (67, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (68, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (68, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (69, 2);
fc_i_tt_5_suc (69, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (69, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (70, 2);
fc_i_tt_5_suc (70, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (70, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 2);
fc_i_tt_5_suc (71, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 4);
fc_i_tt_5_suc (71, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (72, 2);
fc_i_tt_5_suc (72, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (72, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (73, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (73, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (74, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (74, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (75, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (75, 4);
fc_i_tt_5_suc (75, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1663,172 +1822,180 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T eT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 4), (78, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (79, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (79, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (80, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (80, 4, ''), (80, 2, fc_i_tt_5_suc (80, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (81, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 2), (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (83, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (83, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (84, 2, ''), (60, 4, fc_i_tt_5_suc (84, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (84, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1841,78 +2008,88 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1920,135 +2097,151 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (87, 4);
fc_i_nt_5_suc (87, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(87,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(87,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (88, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2056,141 +2249,157 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (91, 4);
fc_i_nt_5_suc (91, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(91,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(91,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (92, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (93, 2);
fc_i_nt_5_suc (93, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(93,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(93,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (94, 2);
fc_i_nt_5_suc (94, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(94,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(94,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (95, 2);
fc_i_nt_5_suc (95, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2198,152 +2407,168 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (95, 4);
fc_i_nt_5_suc (95, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (96, 2);
fc_i_nt_5_suc (96, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(96,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (96, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(96,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (97, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (98, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (99, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2351,68 +2576,74 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (99, 4);
fc_i_nt_5_suc (99, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(99,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(99,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2427,254 +2658,284 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2689,82 +2950,92 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2772,143 +3043,159 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (111, 4);
fc_i_nt_5_suc (111, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(111,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(111,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (112, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2916,149 +3203,165 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (115, 4);
fc_i_nt_5_suc (115, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(115,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(115,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (116, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (117, 2);
fc_i_nt_5_suc (117, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(117,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(117,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (118, 2);
fc_i_nt_5_suc (118, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(118,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(118,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (119, 2);
fc_i_nt_5_suc (119, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3066,160 +3369,176 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (119, 4);
fc_i_nt_5_suc (119, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (120, 2);
fc_i_nt_5_suc (120, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(120,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (120, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(120,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (121, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (122, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (123, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3227,72 +3546,78 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (123, 4);
fc_i_nt_5_suc (123, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(123,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(123,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3307,270 +3632,300 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3585,561 +3940,625 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B T N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (135, 4);
fc_i_nt_5_suc (135, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(135,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(135,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (136, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (139, 4);
fc_i_nt_5_suc (139, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(139,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(139,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (140, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (141, 2);
fc_i_tt_5_suc (141, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(141,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(141,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (142, 2);
fc_i_tt_5_suc (142, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(142,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(142,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (143, 2);
fc_i_tt_5_suc (143, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (143, 4);
fc_i_nt_5_suc (143, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(143,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(143,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(143,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(143,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (144, 2);
fc_i_tt_5_suc (144, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (144, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(144,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(144,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (145, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (146, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (147, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (147, 4);
fc_i_nt_5_suc (147, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(147,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(147,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (148, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (148, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -4159,116 +4578,129 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B eT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (150, 2), (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4283,490 +4715,538 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (155, 4);
fc_i_nt_5_suc (155, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(155,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(155,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (156, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (159, 4);
fc_i_nt_5_suc (159, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(159,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(159,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (160, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (161, 2);
fc_i_tt_5_suc (161, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (162, 2);
fc_i_tt_5_suc (162, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (163, 2);
fc_i_tt_5_suc (163, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (163, 4);
fc_i_nt_5_suc (163, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(163,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(163,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (164, 2);
fc_i_tt_5_suc (164, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (164, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (165, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (166, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (167, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (167, 4);
fc_i_nt_5_suc (167, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(167,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(167,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (168, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (168, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4785,110 +5265,120 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B eT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (170, 2), (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (171, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4903,78 +5393,88 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4982,131 +5482,147 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (175, 4);
fc_i_tt_5_suc (175, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(175,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(175,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (176, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5114,137 +5630,153 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (179, 4);
fc_i_tt_5_suc (179, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(179,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(179,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (180, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (181, 2);
fc_i_nt_5_suc (181, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(181,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(181,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (182, 2);
fc_i_nt_5_suc (182, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(182,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(182,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (183, 2);
fc_i_nt_5_suc (183, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(183,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5252,148 +5784,164 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (183, 4);
fc_i_tt_5_suc (183, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(183,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(183,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(183,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (184, 2);
fc_i_nt_5_suc (184, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(184,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (184, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(184,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (185, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (186, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (187, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5401,63 +5949,69 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (187, 4);
fc_i_tt_5_suc (187, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(187,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(187,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (188, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (188, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -5473,98 +6027,109 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entries, format R.
# --> MIXED "B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (190, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5572,85 +6137,94 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (192, 4);
fc_i_tt_5_suc (192, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5658,119 +6232,131 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (195, 4);
fc_i_tt_5_suc (195, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (196, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (197, 2);
fc_i_nt_5_suc (197, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(197,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(197,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (198, 2);
fc_i_nt_5_suc (198, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(198,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(198,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (199, 2);
fc_i_nt_5_suc (199, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(199,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5778,164 +6364,179 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (199, 4);
fc_i_tt_5_suc (199, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(199,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (200, 2);
fc_i_nt_5_suc (200, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(200,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (200, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(200,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (201, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (202, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (202, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (203, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (204, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5943,20 +6544,21 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (204, 4);
fc_i_tt_5_suc (204, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5972,316 +6574,347 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6297,214 +6930,237 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tNe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 214, 2, COUNT(*) FROM nt_1 UNION SELECT 213, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6520,243 +7176,265 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 220, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (220, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6771,189 +7449,205 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tNe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 228, 2, COUNT(*) FROM nt_1 UNION SELECT 218, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (228, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6967,319 +7661,350 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B T tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7293,216 +8018,239 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entry, format R.
# --> MIXED "B N C B T C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 242, 4, COUNT(*) FROM nt_1 UNION SELECT 242, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7517,245 +8265,267 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (248, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 248, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7769,191 +8539,207 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (256, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 256, 4, COUNT(*) FROM nt_1 UNION SELECT 256, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7969,345 +8755,383 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8323,214 +9147,237 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 270, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8547,292 +9394,323 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8849,226 +9727,249 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 284, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9084,345 +9985,383 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C B T C" entries, format R.
# --> MIXED "B N C B N C B T C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9437,215 +10376,238 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 298, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9660,293 +10622,324 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9961,1600 +10954,2246 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 312, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 2 - SAVEPOINT
###################################################################################
+rpl_mixing_engines.inc [commands=B T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2)
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2)
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B N T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B N T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B N T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B N T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T N S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T N Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T N S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T N Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn N T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 N T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn N T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 N T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn N T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 3 - CREATE TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CSe-T->T CS-T->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_1, nt_xx_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T CS-T->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T CS-T->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->N CS-N->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_2, nt_xx_2;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N CS-N->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N CS-N->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-T->N CS-T->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_3, nt_xx_3;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N CS-T->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N CS-T->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_4, nt_xx_4;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_5, nt_xx_5;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_6, nt_xx_6;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 4 - INSERT TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3)
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3)
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_7, nt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3)
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3)
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_8, nt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_9, nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_10, nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 5 - ROLLBACK TEMPORARY TABLE
###################################################################################
+rpl_mixing_engines.inc [commands=B T CT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_11;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn T CT Rn R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T CT R1 R << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T CT Rn R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T CT R1 R << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T CT Rn R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_12;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_13;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B tN CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tN CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_14;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_15;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_16;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
+# 5 - SET WITH ROW CHANGES
+###################################################################################
+rpl_mixing_engines.inc [commands=set-T]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(363, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(363,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(363,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-N]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(364, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(364,1)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(364,1)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-NT]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(365, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(365,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(365,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(366, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(366,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(366, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(366,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(366,2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(366,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(367, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(367, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(367,4)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(367,2)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(367,4)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(367,2)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(368, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(368,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(368, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(368,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(369, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(369, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(369,4)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(369,4)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(370, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(370, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(370,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(370,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(371, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(371, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(371,2)
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(371,2)
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(372, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(372, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(373, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(373, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT R << -e-e-e-e-e-e-e-e-e-e-e-
+
+###################################################################################
# CHECK CONSISTENCY
###################################################################################
###################################################################################
# CLEAN
###################################################################################
+rpl_mixing_engines.inc [commands=clean]
+DROP TABLE tt_1;
+DROP TABLE tt_2;
+DROP TABLE tt_3;
+DROP TABLE tt_4;
+DROP TABLE tt_5;
+DROP TABLE tt_6;
+DROP TABLE nt_1;
+DROP TABLE nt_2;
+DROP TABLE nt_3;
+DROP TABLE nt_4;
+DROP TABLE nt_5;
+DROP TABLE nt_6;
+DROP PROCEDURE pc_i_tt_5_suc;
+DROP PROCEDURE pc_i_nt_5_suc;
+DROP FUNCTION fc_i_tt_5_suc;
+DROP FUNCTION fc_i_nt_5_suc;
+DROP FUNCTION fc_i_nt_3_tt_3_suc;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_multi_engine.result b/mysql-test/suite/rpl/r/rpl_multi_engine.result
index 7815fa88c93..34b3789df5f 100644
--- a/mysql-test/suite/rpl/r/rpl_multi_engine.result
+++ b/mysql-test/suite/rpl/r/rpl_multi_engine.result
@@ -3,7 +3,8 @@ include/master-slave.inc
drop table if exists t1;
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc
VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT
-0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
+0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
+ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY(id));
alter table t1 engine=myisam;
show create table t1;
Table Create Table
diff --git a/mysql-test/suite/rpl/r/rpl_multi_update3.result b/mysql-test/suite/rpl/r/rpl_multi_update3.result
index bf9946f219f..273352fe5ed 100644
--- a/mysql-test/suite/rpl/r/rpl_multi_update3.result
+++ b/mysql-test/suite/rpl/r/rpl_multi_update3.result
@@ -121,10 +121,10 @@ i j x y z
DROP TABLE t1, t2, t3;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
DROP TABLE IF EXISTS t2;
Warnings:
-Note 1051 Unknown table 't2'
+Note 1051 Unknown table 'test.t2'
CREATE TABLE t1 (
idp int(11) NOT NULL default '0',
idpro int(11) default NULL,
diff --git a/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result b/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result
index 632529ce2b9..9e360beba2c 100644
--- a/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result
+++ b/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result
@@ -1,6 +1,7 @@
include/master-slave.inc
[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("table or database name 'mysqltest-1'");
DROP DATABASE IF EXISTS `#mysql50#mysqltest-1`;
CREATE DATABASE `#mysql50#mysqltest-1`;
Master position is not changed
diff --git a/mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result
index 0c5ac766ed4..5811617e71e 100644
--- a/mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result
@@ -4,8 +4,7 @@ include/master-slave.inc
# CONFIGURATION
#########################################################################
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-SET @commands= 'configure';
-SET SQL_LOG_BIN=0;
+rpl_mixing_engines.inc [commands=configure]
CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
@@ -18,21 +17,6 @@ CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(tran
CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
-SET SQL_LOG_BIN=0;
-CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE tt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
INSERT INTO nt_1(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_2(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_3(trans_id, stmt_id) VALUES(1,1);
@@ -79,6 +63,17 @@ INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
RETURN "fc_i_nt_5_suc";
END|
+CREATE FUNCTION fc_i_nt_3_tt_3_suc (p_trans_id INTEGER, p_stmt_id INTEGER) RETURNS VARCHAR(64)
+BEGIN
+DECLARE in_stmt_id INTEGER;
+SELECT max(stmt_id) INTO in_stmt_id FROM nt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO nt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+SELECT max(stmt_id) INTO in_stmt_id FROM tt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO tt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+RETURN "fc_i_nt_3_tt_3_suc";
+END|
CREATE TRIGGER tr_i_tt_3_to_nt_3 AFTER INSERT ON tt_3 FOR EACH ROW
BEGIN
DECLARE in_stmt_id INTEGER;
@@ -111,7 +106,6 @@ SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id), 1) INTO in_stmt_id;
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
END|
-SET @commands= '';
#########################################################################
# 1 - MIXING TRANSACTIONAL and NON-TRANSACTIONAL TABLES
#########################################################################
@@ -125,67 +119,78 @@ SET @commands= '';
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
-SET @commands= 'T';
+rpl_mixing_engines.inc [commands=T]
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-func]
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (9, 1);
fc_i_tt_5_suc (9, 1)
fc_i_tt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(9,1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(9,1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (10, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -200,40 +205,44 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=eT]
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te]
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (12, 1), (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (13, 1), (10, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (14, 1, ''), (7, 1, fc_i_tt_5_suc (14, 1));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -246,66 +255,78 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=N]
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-func]
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (17, 1);
fc_i_nt_5_suc (17, 1)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(17,1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(17,1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (18, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -320,56 +341,66 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=eN]
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -385,114 +416,138 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N T B T C" entries, format R.
# --> MIXED "B N T B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=tN]
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nT]
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT]
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN]
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -507,86 +562,102 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> STMT "B M R" entries, format S.
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
+rpl_mixing_engines.inc [commands=tNe]
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nTe]
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 32, 1, COUNT(*) FROM nt_1 UNION SELECT 24, 1, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -601,470 +672,517 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B T T C" entries, format R.
# --> MIXED "B T T C" entries, format S
#
+rpl_mixing_engines.inc [commands=B T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (39, 4);
fc_i_tt_5_suc (39, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(39,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(39,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (40, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (43, 4);
fc_i_tt_5_suc (43, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(43,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(43,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (44, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (45, 2);
fc_i_tt_5_suc (45, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(45,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(45,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (46, 2);
fc_i_tt_5_suc (46, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(46,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(46,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 2);
fc_i_tt_5_suc (47, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 4);
fc_i_tt_5_suc (47, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (48, 2);
fc_i_tt_5_suc (48, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (48, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(48,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(48,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (49, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (50, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (51, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (51, 4);
fc_i_tt_5_suc (51, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(51,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(51,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',4))
@@ -1072,8 +1190,9 @@ master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VA
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',4))
@@ -1091,218 +1210,242 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B T eT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 4), (54, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (55, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (56, 4, ''), (56, 2, fc_i_tt_5_suc (56, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 2), (57, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (59, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (60, 2, ''), (59, 4, fc_i_tt_5_suc (60, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1317,340 +1460,356 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (62, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (62, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (63, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (63, 4);
fc_i_tt_5_suc (63, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (64, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (64, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (65, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (65, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (67, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (67, 4);
fc_i_tt_5_suc (67, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (68, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (68, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (69, 2);
fc_i_tt_5_suc (69, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (69, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (70, 2);
fc_i_tt_5_suc (70, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (70, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 2);
fc_i_tt_5_suc (71, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 4);
fc_i_tt_5_suc (71, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (72, 2);
fc_i_tt_5_suc (72, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (72, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (73, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (73, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (74, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (74, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (75, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (75, 4);
fc_i_tt_5_suc (75, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1663,172 +1822,180 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T eT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 4), (78, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (79, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (79, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (80, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (80, 4, ''), (80, 2, fc_i_tt_5_suc (80, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (81, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 2), (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (83, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (83, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (84, 2, ''), (60, 4, fc_i_tt_5_suc (84, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (84, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1841,78 +2008,88 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1920,135 +2097,151 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (87, 4);
fc_i_nt_5_suc (87, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(87,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(87,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (88, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2056,141 +2249,157 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (91, 4);
fc_i_nt_5_suc (91, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(91,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(91,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (92, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (93, 2);
fc_i_nt_5_suc (93, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(93,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(93,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (94, 2);
fc_i_nt_5_suc (94, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(94,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(94,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (95, 2);
fc_i_nt_5_suc (95, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2198,152 +2407,168 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (95, 4);
fc_i_nt_5_suc (95, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (96, 2);
fc_i_nt_5_suc (96, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(96,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (96, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(96,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (97, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (98, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (99, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2351,68 +2576,74 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (99, 4);
fc_i_nt_5_suc (99, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(99,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(99,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2427,254 +2658,284 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2689,82 +2950,92 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2772,143 +3043,159 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (111, 4);
fc_i_nt_5_suc (111, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(111,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(111,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (112, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2916,149 +3203,165 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (115, 4);
fc_i_nt_5_suc (115, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(115,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(115,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (116, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (117, 2);
fc_i_nt_5_suc (117, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(117,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(117,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (118, 2);
fc_i_nt_5_suc (118, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(118,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(118,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (119, 2);
fc_i_nt_5_suc (119, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3066,160 +3369,176 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (119, 4);
fc_i_nt_5_suc (119, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (120, 2);
fc_i_nt_5_suc (120, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(120,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (120, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(120,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (121, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (122, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (123, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3227,72 +3546,78 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (123, 4);
fc_i_nt_5_suc (123, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(123,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(123,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3307,270 +3632,300 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3585,681 +3940,745 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B T N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (135, 4);
fc_i_nt_5_suc (135, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (136, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (139, 4);
fc_i_nt_5_suc (139, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (140, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (141, 2);
fc_i_tt_5_suc (141, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(141,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(141,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (142, 2);
fc_i_tt_5_suc (142, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(142,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(142,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (143, 2);
fc_i_tt_5_suc (143, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (143, 4);
fc_i_nt_5_suc (143, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(143,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(143,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (144, 2);
fc_i_tt_5_suc (144, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (144, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(144,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(144,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (145, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (146, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (147, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (147, 4);
fc_i_nt_5_suc (147, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (148, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (148, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -4279,118 +4698,131 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B eT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (150, 2), (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4405,611 +4837,659 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (155, 4);
fc_i_nt_5_suc (155, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (156, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (159, 4);
fc_i_nt_5_suc (159, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (160, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (161, 2);
fc_i_tt_5_suc (161, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (162, 2);
fc_i_tt_5_suc (162, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (163, 2);
fc_i_tt_5_suc (163, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (163, 4);
fc_i_nt_5_suc (163, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (164, 2);
fc_i_tt_5_suc (164, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (164, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (165, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (166, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (167, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (167, 4);
fc_i_nt_5_suc (167, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (168, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (168, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5027,113 +5507,123 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B eT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (170, 2), (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (171, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5147,78 +5637,88 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5226,131 +5726,147 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (175, 4);
fc_i_tt_5_suc (175, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(175,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(175,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (176, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5358,137 +5874,153 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (179, 4);
fc_i_tt_5_suc (179, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(179,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(179,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (180, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (181, 2);
fc_i_nt_5_suc (181, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(181,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(181,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (182, 2);
fc_i_nt_5_suc (182, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(182,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(182,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (183, 2);
fc_i_nt_5_suc (183, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(183,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5496,260 +6028,282 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (183, 4);
fc_i_tt_5_suc (183, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(183,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(183,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(183,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (184, 2);
fc_i_nt_5_suc (184, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(184,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (184, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(184,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (185, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (186, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (187, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (187, 4);
fc_i_tt_5_suc (187, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(187,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(187,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (188, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (188, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -5765,98 +6319,109 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entries, format R.
# --> MIXED "B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (190, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5864,85 +6429,94 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (192, 4);
fc_i_tt_5_suc (192, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5950,119 +6524,131 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (195, 4);
fc_i_tt_5_suc (195, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (196, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (197, 2);
fc_i_nt_5_suc (197, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(197,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(197,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (198, 2);
fc_i_nt_5_suc (198, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(198,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(198,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (199, 2);
fc_i_nt_5_suc (199, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(199,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6070,234 +6656,250 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (199, 4);
fc_i_tt_5_suc (199, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(199,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (200, 2);
fc_i_nt_5_suc (200, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(200,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (200, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(200,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (201, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (202, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (202, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (203, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (204, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (204, 4);
fc_i_tt_5_suc (204, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6312,316 +6914,347 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6637,214 +7270,237 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tNe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 214, 2, COUNT(*) FROM nt_1 UNION SELECT 213, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6860,243 +7516,265 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 220, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (220, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7111,189 +7789,205 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tNe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 228, 2, COUNT(*) FROM nt_1 UNION SELECT 218, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (228, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7307,319 +8001,350 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B T tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2)
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7633,216 +8358,239 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entry, format R.
# --> MIXED "B N C B T C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 242, 4, COUNT(*) FROM nt_1 UNION SELECT 242, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7857,245 +8605,267 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (248, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 248, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8109,191 +8879,207 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (256, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 256, 4, COUNT(*) FROM nt_1 UNION SELECT 256, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8309,359 +9095,397 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8677,214 +9501,237 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 270, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8901,307 +9748,338 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9217,226 +10095,249 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 284, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9452,345 +10353,383 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C B T C" entries, format R.
# --> MIXED "B N C B N C B T C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9805,215 +10744,238 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 298, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10028,293 +10990,324 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10329,1604 +11322,2270 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 312, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 2 - SAVEPOINT
###################################################################################
+rpl_mixing_engines.inc [commands=B T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2)
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2)
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B N T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B N T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B N T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B N T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T N S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T N Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T N S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T N Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn N T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 N T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn N T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 N T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn N T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 3 - CREATE TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CSe-T->T CS-T->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_1, nt_xx_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T CS-T->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T CS-T->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->N CS-N->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_2, nt_xx_2;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N CS-N->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N CS-N->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-T->N CS-T->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_3, nt_xx_3;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N CS-T->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N CS-T->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_4, nt_xx_4;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_5, nt_xx_5;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_6, nt_xx_6;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 4 - INSERT TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3)
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3)
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_7, nt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3)
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3)
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_8, nt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_9, nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_10, nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 5 - ROLLBACK TEMPORARY TABLE
###################################################################################
+rpl_mixing_engines.inc [commands=B T CT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_11;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn T CT Rn R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T CT R1 R << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T CT Rn R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T CT R1 R << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T CT Rn R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_12;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_13;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B tN CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tN CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_14;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_15;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_16;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
+# 5 - SET WITH ROW CHANGES
+###################################################################################
+rpl_mixing_engines.inc [commands=set-T]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(363, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(363,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(363,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-N]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(364, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(364,1)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(364,1)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-NT]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(365, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(365,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(365,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(366, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(366,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(366, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(366,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(366,2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(366,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(367, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(367, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(367,2)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(367,2)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(368, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(368,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(368, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(368,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(369, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(369, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(370, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(370, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(370,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(370,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(371, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(371, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(371,2)
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(371,2)
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(372, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(372, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(373, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(373, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT R << -e-e-e-e-e-e-e-e-e-e-e-
+
+###################################################################################
# CHECK CONSISTENCY
###################################################################################
###################################################################################
# CLEAN
###################################################################################
+rpl_mixing_engines.inc [commands=clean]
+DROP TABLE tt_1;
+DROP TABLE tt_2;
+DROP TABLE tt_3;
+DROP TABLE tt_4;
+DROP TABLE tt_5;
+DROP TABLE tt_6;
+DROP TABLE nt_1;
+DROP TABLE nt_2;
+DROP TABLE nt_3;
+DROP TABLE nt_4;
+DROP TABLE nt_5;
+DROP TABLE nt_6;
+DROP PROCEDURE pc_i_tt_5_suc;
+DROP PROCEDURE pc_i_nt_5_suc;
+DROP FUNCTION fc_i_tt_5_suc;
+DROP FUNCTION fc_i_nt_5_suc;
+DROP FUNCTION fc_i_nt_3_tt_3_suc;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result
index d7ba7b18218..7831919c8b6 100644
--- a/mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result
@@ -4,8 +4,7 @@ include/master-slave.inc
# CONFIGURATION
#########################################################################
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-SET @commands= 'configure';
-SET SQL_LOG_BIN=0;
+rpl_mixing_engines.inc [commands=configure]
CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
@@ -18,21 +17,6 @@ CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(tran
CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
-SET SQL_LOG_BIN=0;
-CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE tt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
INSERT INTO nt_1(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_2(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_3(trans_id, stmt_id) VALUES(1,1);
@@ -79,6 +63,17 @@ INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
RETURN "fc_i_nt_5_suc";
END|
+CREATE FUNCTION fc_i_nt_3_tt_3_suc (p_trans_id INTEGER, p_stmt_id INTEGER) RETURNS VARCHAR(64)
+BEGIN
+DECLARE in_stmt_id INTEGER;
+SELECT max(stmt_id) INTO in_stmt_id FROM nt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO nt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+SELECT max(stmt_id) INTO in_stmt_id FROM tt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO tt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+RETURN "fc_i_nt_3_tt_3_suc";
+END|
CREATE TRIGGER tr_i_tt_3_to_nt_3 AFTER INSERT ON tt_3 FOR EACH ROW
BEGIN
DECLARE in_stmt_id INTEGER;
@@ -111,7 +106,6 @@ SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id), 1) INTO in_stmt_id;
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
END|
-SET @commands= '';
#########################################################################
# 1 - MIXING TRANSACTIONAL and NON-TRANSACTIONAL TABLES
#########################################################################
@@ -125,98 +119,109 @@ SET @commands= '';
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
-SET @commands= 'T';
+rpl_mixing_engines.inc [commands=T]
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-func]
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (9, 1);
fc_i_tt_5_suc (9, 1)
fc_i_tt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (10, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -230,40 +235,44 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=eT]
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te]
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (12, 1), (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (13, 1), (10, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (14, 1, ''), (7, 1, fc_i_tt_5_suc (14, 1));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -276,97 +285,109 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=N]
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-func]
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (17, 1);
fc_i_nt_5_suc (17, 1)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (18, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -380,79 +401,89 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=eN]
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -467,179 +498,203 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N T B T C" entries, format R.
# --> MIXED "B N T B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=tN]
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nT]
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT]
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN]
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -653,109 +708,125 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> STMT "B M R" entries, format S.
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
+rpl_mixing_engines.inc [commands=tNe]
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nTe]
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 32, 1, COUNT(*) FROM nt_1 UNION SELECT 24, 1, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -769,723 +840,771 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B T T C" entries, format R.
# --> MIXED "B T T C" entries, format S
#
+rpl_mixing_engines.inc [commands=B T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (39, 4);
fc_i_tt_5_suc (39, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (40, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (43, 4);
fc_i_tt_5_suc (43, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (44, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (45, 2);
fc_i_tt_5_suc (45, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (46, 2);
fc_i_tt_5_suc (46, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 2);
fc_i_tt_5_suc (47, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 4);
fc_i_tt_5_suc (47, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (48, 2);
fc_i_tt_5_suc (48, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (48, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (49, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (50, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (51, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (51, 4);
fc_i_tt_5_suc (51, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1499,235 +1618,259 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B T eT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 4), (54, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (55, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (56, 4, ''), (56, 2, fc_i_tt_5_suc (56, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 2), (57, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (59, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (60, 2, ''), (59, 4, fc_i_tt_5_suc (60, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1741,340 +1884,356 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (62, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (62, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (63, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (63, 4);
fc_i_tt_5_suc (63, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (64, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (64, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (65, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (65, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (67, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (67, 4);
fc_i_tt_5_suc (67, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (68, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (68, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (69, 2);
fc_i_tt_5_suc (69, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (69, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (70, 2);
fc_i_tt_5_suc (70, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (70, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 2);
fc_i_tt_5_suc (71, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 4);
fc_i_tt_5_suc (71, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (72, 2);
fc_i_tt_5_suc (72, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (72, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (73, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (73, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (74, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (74, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (75, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (75, 4);
fc_i_tt_5_suc (75, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2087,172 +2246,180 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T eT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 4), (78, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (79, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (79, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (80, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (80, 4, ''), (80, 2, fc_i_tt_5_suc (80, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (81, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 2), (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (83, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (83, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (84, 2, ''), (60, 4, fc_i_tt_5_suc (84, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (84, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2265,819 +2432,883 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (87, 4);
fc_i_nt_5_suc (87, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (88, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (91, 4);
fc_i_nt_5_suc (91, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (92, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (93, 2);
fc_i_nt_5_suc (93, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (94, 2);
fc_i_nt_5_suc (94, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (95, 2);
fc_i_nt_5_suc (95, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (95, 4);
fc_i_nt_5_suc (95, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (96, 2);
fc_i_nt_5_suc (96, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (96, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (97, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (98, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (99, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (99, 4);
fc_i_nt_5_suc (99, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3091,315 +3322,345 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3413,851 +3674,915 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (111, 4);
fc_i_nt_5_suc (111, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (112, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (115, 4);
fc_i_nt_5_suc (115, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (116, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (117, 2);
fc_i_nt_5_suc (117, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (118, 2);
fc_i_nt_5_suc (118, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (119, 2);
fc_i_nt_5_suc (119, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (119, 4);
fc_i_nt_5_suc (119, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (120, 2);
fc_i_nt_5_suc (120, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (120, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (121, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (122, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (123, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (123, 4);
fc_i_nt_5_suc (123, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4271,331 +4596,361 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4609,803 +4964,867 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B T N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (135, 4);
fc_i_nt_5_suc (135, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (136, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (139, 4);
fc_i_nt_5_suc (139, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (140, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (141, 2);
fc_i_tt_5_suc (141, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (142, 2);
fc_i_tt_5_suc (142, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (143, 2);
fc_i_tt_5_suc (143, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (143, 4);
fc_i_nt_5_suc (143, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (144, 2);
fc_i_tt_5_suc (144, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (144, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (145, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (146, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (147, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (147, 4);
fc_i_nt_5_suc (147, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (148, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (148, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5423,127 +5842,140 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B eT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (150, 2), (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5557,611 +5989,659 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (155, 4);
fc_i_nt_5_suc (155, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (156, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (159, 4);
fc_i_nt_5_suc (159, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (160, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (161, 2);
fc_i_tt_5_suc (161, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (162, 2);
fc_i_tt_5_suc (162, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (163, 2);
fc_i_tt_5_suc (163, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (163, 4);
fc_i_nt_5_suc (163, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (164, 2);
fc_i_tt_5_suc (164, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (164, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (165, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (166, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (167, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (167, 4);
fc_i_nt_5_suc (167, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (168, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (168, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6179,117 +6659,127 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B eT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (170, 2), (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (171, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6303,803 +6793,867 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (175, 4);
fc_i_tt_5_suc (175, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (176, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (179, 4);
fc_i_tt_5_suc (179, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (180, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (181, 2);
fc_i_nt_5_suc (181, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (182, 2);
fc_i_nt_5_suc (182, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (183, 2);
fc_i_nt_5_suc (183, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (183, 4);
fc_i_tt_5_suc (183, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (184, 2);
fc_i_nt_5_suc (184, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (184, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (185, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (186, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (187, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (187, 4);
fc_i_tt_5_suc (187, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (188, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (188, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7113,611 +7667,659 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entries, format R.
# --> MIXED "B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (190, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (192, 4);
fc_i_tt_5_suc (192, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (195, 4);
fc_i_tt_5_suc (195, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (196, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (197, 2);
fc_i_nt_5_suc (197, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (198, 2);
fc_i_nt_5_suc (198, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (199, 2);
fc_i_nt_5_suc (199, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (199, 4);
fc_i_tt_5_suc (199, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (200, 2);
fc_i_nt_5_suc (200, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (200, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (201, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (202, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (202, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (203, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (204, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (204, 4);
fc_i_tt_5_suc (204, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7732,335 +8334,366 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8075,229 +8708,252 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tNe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 214, 2, COUNT(*) FROM nt_1 UNION SELECT 213, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8312,245 +8968,267 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 220, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (220, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8565,191 +9243,207 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tNe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 228, 2, COUNT(*) FROM nt_1 UNION SELECT 218, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (228, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8763,335 +9457,366 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B T tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9105,229 +9830,252 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entry, format R.
# --> MIXED "B N C B T C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 242, 4, COUNT(*) FROM nt_1 UNION SELECT 242, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9341,245 +10089,267 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (248, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 248, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9593,191 +10363,207 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (256, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 256, 4, COUNT(*) FROM nt_1 UNION SELECT 256, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9793,363 +10579,401 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10165,229 +10989,252 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 270, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10403,311 +11250,342 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10723,241 +11601,264 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 284, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10972,363 +11873,401 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C B T C" entries, format R.
# --> MIXED "B N C B N C B T C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -11343,229 +12282,252 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 298, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -11580,311 +12542,342 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -11899,1878 +12892,2576 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 312, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 2 - SAVEPOINT
###################################################################################
+rpl_mixing_engines.inc [commands=B T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B N T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B N T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B N T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B N T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T N S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T N Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T N S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T N Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn N T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 N T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn N T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 N T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn N T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 3 - CREATE TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CSe-T->T CS-T->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_1` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_1, nt_xx_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T CS-T->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_1` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T CS-T->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->N CS-N->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_2` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_2, nt_xx_2;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N CS-N->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_2` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N CS-N->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-T->N CS-T->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_3` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_3, nt_xx_3;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N CS-T->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_3` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N CS-T->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_4` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_4, nt_xx_4;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_4` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_5` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_5)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_5, nt_xx_5;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_5` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_5)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_6` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_6)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_6, nt_xx_6;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_6` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_6)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 4 - INSERT TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_7` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_7` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_7, nt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_8` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_8` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_8, nt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_9` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_9` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_9, nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_10` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_10` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_10, nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 5 - ROLLBACK TEMPORARY TABLE
###################################################################################
+rpl_mixing_engines.inc [commands=B T CT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_11;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn T CT Rn R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T CT R1 R << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T CT Rn R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T CT R1 R << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T CT Rn R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_12;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_13;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B tN CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tN CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_14;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_15;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_16;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
+# 5 - SET WITH ROW CHANGES
+###################################################################################
+rpl_mixing_engines.inc [commands=set-T]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(363, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-N]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(364, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-NT]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(365, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(366, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(366, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(367, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(367, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(368, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(368, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(369, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(369, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(370, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(370, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(371, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(371, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(372, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(372, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(373, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(373, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT R << -e-e-e-e-e-e-e-e-e-e-e-
+
+###################################################################################
# CHECK CONSISTENCY
###################################################################################
###################################################################################
# CLEAN
###################################################################################
+rpl_mixing_engines.inc [commands=clean]
+DROP TABLE tt_1;
+DROP TABLE tt_2;
+DROP TABLE tt_3;
+DROP TABLE tt_4;
+DROP TABLE tt_5;
+DROP TABLE tt_6;
+DROP TABLE nt_1;
+DROP TABLE nt_2;
+DROP TABLE nt_3;
+DROP TABLE nt_4;
+DROP TABLE nt_5;
+DROP TABLE nt_6;
+DROP PROCEDURE pc_i_tt_5_suc;
+DROP PROCEDURE pc_i_nt_5_suc;
+DROP FUNCTION fc_i_tt_5_suc;
+DROP FUNCTION fc_i_nt_5_suc;
+DROP FUNCTION fc_i_nt_3_tt_3_suc;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result
index 9637b46b9fd..8a110048d80 100644
--- a/mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result
@@ -4,8 +4,7 @@ include/master-slave.inc
# CONFIGURATION
#########################################################################
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-SET @commands= 'configure';
-SET SQL_LOG_BIN=0;
+rpl_mixing_engines.inc [commands=configure]
CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
@@ -18,21 +17,6 @@ CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(tran
CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
-SET SQL_LOG_BIN=0;
-CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE tt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
INSERT INTO nt_1(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_2(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_3(trans_id, stmt_id) VALUES(1,1);
@@ -79,6 +63,17 @@ INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
RETURN "fc_i_nt_5_suc";
END|
+CREATE FUNCTION fc_i_nt_3_tt_3_suc (p_trans_id INTEGER, p_stmt_id INTEGER) RETURNS VARCHAR(64)
+BEGIN
+DECLARE in_stmt_id INTEGER;
+SELECT max(stmt_id) INTO in_stmt_id FROM nt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO nt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+SELECT max(stmt_id) INTO in_stmt_id FROM tt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO tt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+RETURN "fc_i_nt_3_tt_3_suc";
+END|
CREATE TRIGGER tr_i_tt_3_to_nt_3 AFTER INSERT ON tt_3 FOR EACH ROW
BEGIN
DECLARE in_stmt_id INTEGER;
@@ -111,7 +106,6 @@ SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id), 1) INTO in_stmt_id;
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
END|
-SET @commands= '';
#########################################################################
# 1 - MIXING TRANSACTIONAL and NON-TRANSACTIONAL TABLES
#########################################################################
@@ -125,67 +119,78 @@ SET @commands= '';
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
-SET @commands= 'T';
+rpl_mixing_engines.inc [commands=T]
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-func]
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (9, 1);
fc_i_tt_5_suc (9, 1)
fc_i_tt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(9,1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(9,1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (10, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -200,40 +205,44 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=eT]
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te]
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (12, 1), (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (13, 1), (10, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (14, 1, ''), (7, 1, fc_i_tt_5_suc (14, 1));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -246,66 +255,78 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=N]
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-func]
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (17, 1);
fc_i_nt_5_suc (17, 1)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(17,1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(17,1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (18, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -320,56 +341,66 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=eN]
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -385,114 +416,138 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N T B T C" entries, format R.
# --> MIXED "B N T B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=tN]
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nT]
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT]
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN]
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -507,86 +562,102 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> STMT "B M R" entries, format S.
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
+rpl_mixing_engines.inc [commands=tNe]
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nTe]
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 32, 1, COUNT(*) FROM nt_1 UNION SELECT 24, 1, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -601,470 +672,517 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B T T C" entries, format R.
# --> MIXED "B T T C" entries, format S
#
+rpl_mixing_engines.inc [commands=B T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (39, 4);
fc_i_tt_5_suc (39, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(39,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(39,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (40, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (43, 4);
fc_i_tt_5_suc (43, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(43,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(43,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (44, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (45, 2);
fc_i_tt_5_suc (45, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(45,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(45,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (46, 2);
fc_i_tt_5_suc (46, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(46,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(46,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 2);
fc_i_tt_5_suc (47, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 4);
fc_i_tt_5_suc (47, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (48, 2);
fc_i_tt_5_suc (48, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (48, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(48,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(48,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (49, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (50, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (51, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (51, 4);
fc_i_tt_5_suc (51, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(51,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(51,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',4))
@@ -1072,8 +1190,9 @@ master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VA
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',4))
@@ -1091,218 +1210,242 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B T eT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 4), (54, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (55, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (56, 4, ''), (56, 2, fc_i_tt_5_suc (56, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 2), (57, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (59, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (60, 2, ''), (59, 4, fc_i_tt_5_suc (60, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1317,340 +1460,356 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (62, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (62, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (63, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (63, 4);
fc_i_tt_5_suc (63, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (64, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (64, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (65, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (65, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (67, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (67, 4);
fc_i_tt_5_suc (67, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (68, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (68, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (69, 2);
fc_i_tt_5_suc (69, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (69, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (70, 2);
fc_i_tt_5_suc (70, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (70, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 2);
fc_i_tt_5_suc (71, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 4);
fc_i_tt_5_suc (71, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (72, 2);
fc_i_tt_5_suc (72, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (72, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (73, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (73, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (74, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (74, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (75, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (75, 4);
fc_i_tt_5_suc (75, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1663,172 +1822,180 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T eT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 4), (78, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (79, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (79, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (80, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (80, 4, ''), (80, 2, fc_i_tt_5_suc (80, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (81, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 2), (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (83, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (83, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (84, 2, ''), (60, 4, fc_i_tt_5_suc (84, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (84, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1841,78 +2008,88 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1920,135 +2097,151 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (87, 4);
fc_i_nt_5_suc (87, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(87,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(87,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (88, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2056,141 +2249,157 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (91, 4);
fc_i_nt_5_suc (91, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(91,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(91,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (92, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (93, 2);
fc_i_nt_5_suc (93, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(93,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(93,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (94, 2);
fc_i_nt_5_suc (94, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(94,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(94,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (95, 2);
fc_i_nt_5_suc (95, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2198,152 +2407,168 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (95, 4);
fc_i_nt_5_suc (95, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (96, 2);
fc_i_nt_5_suc (96, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(96,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (96, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(96,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (97, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (98, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (99, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2351,68 +2576,74 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (99, 4);
fc_i_nt_5_suc (99, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(99,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(99,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2427,254 +2658,284 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2689,82 +2950,92 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2772,143 +3043,159 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (111, 4);
fc_i_nt_5_suc (111, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(111,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(111,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (112, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2916,149 +3203,165 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (115, 4);
fc_i_nt_5_suc (115, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(115,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(115,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (116, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (117, 2);
fc_i_nt_5_suc (117, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(117,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(117,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (118, 2);
fc_i_nt_5_suc (118, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(118,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(118,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (119, 2);
fc_i_nt_5_suc (119, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3066,160 +3369,176 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (119, 4);
fc_i_nt_5_suc (119, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (120, 2);
fc_i_nt_5_suc (120, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(120,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (120, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(120,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (121, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (122, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (123, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3227,72 +3546,78 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (123, 4);
fc_i_nt_5_suc (123, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(123,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(123,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3307,270 +3632,300 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3585,73 +3940,80 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B T N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (135, 4);
@@ -3659,123 +4021,135 @@ fc_i_nt_5_suc (135, 4)
fc_i_nt_5_suc
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(135,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(135,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (136, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (139, 4);
@@ -3783,129 +4157,141 @@ fc_i_nt_5_suc (139, 4)
fc_i_nt_5_suc
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(139,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(139,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (140, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (141, 2);
fc_i_tt_5_suc (141, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(141,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(141,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (142, 2);
fc_i_tt_5_suc (142, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(142,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(142,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (143, 2);
fc_i_tt_5_suc (143, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (143, 4);
@@ -3913,129 +4299,141 @@ fc_i_nt_5_suc (143, 4)
fc_i_nt_5_suc
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(143,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(143,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(143,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(143,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (144, 2);
fc_i_tt_5_suc (144, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (144, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(144,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(144,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (145, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (146, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (147, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (147, 4);
@@ -4043,44 +4441,48 @@ fc_i_nt_5_suc (147, 4)
fc_i_nt_5_suc
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(147,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(147,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (148, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (148, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
@@ -4088,8 +4490,9 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VA
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
@@ -4111,111 +4514,123 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B eT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (150, 2), (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -4231,77 +4646,84 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (155, 4);
@@ -4309,131 +4731,143 @@ fc_i_nt_5_suc (155, 4)
fc_i_nt_5_suc
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(155,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(155,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (156, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (159, 4);
@@ -4441,137 +4875,149 @@ fc_i_nt_5_suc (159, 4)
fc_i_nt_5_suc
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(159,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(159,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (160, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (161, 2);
fc_i_tt_5_suc (161, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(161,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(161,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (162, 2);
fc_i_tt_5_suc (162, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(162,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(162,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (163, 2);
fc_i_tt_5_suc (163, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (163, 4);
@@ -4579,137 +5025,149 @@ fc_i_nt_5_suc (163, 4)
fc_i_nt_5_suc
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(163,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(163,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(163,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(163,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (164, 2);
fc_i_tt_5_suc (164, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (164, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(164,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(164,2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (165, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',165), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',165), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',165), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',165), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (166, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',166), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',166), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',166), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',166), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (167, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (167, 4);
@@ -4717,48 +5175,52 @@ fc_i_nt_5_suc (167, 4)
fc_i_nt_5_suc
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',167), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',167), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(167,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',167), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',167), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(167,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (168, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (168, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
@@ -4766,8 +5228,9 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VA
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
@@ -4789,111 +5252,121 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B eT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (170, 2), (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (171, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4)
master-bin.000001 # Query # # ROLLBACK
@@ -4909,78 +5382,88 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4988,131 +5471,147 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (175, 4);
fc_i_tt_5_suc (175, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(175,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(175,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (176, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5120,137 +5619,153 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (179, 4);
fc_i_tt_5_suc (179, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(179,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(179,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (180, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (181, 2);
fc_i_nt_5_suc (181, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(181,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(181,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (182, 2);
fc_i_nt_5_suc (182, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(182,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(182,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (183, 2);
fc_i_nt_5_suc (183, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(183,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5258,154 +5773,170 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (183, 4);
fc_i_tt_5_suc (183, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(183,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(183,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(183,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (184, 2);
fc_i_nt_5_suc (184, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(184,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (184, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(184,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (185, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (186, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (187, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5413,65 +5944,71 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (187, 4);
fc_i_tt_5_suc (187, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(187,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(187,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (188, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (188, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -5487,118 +6024,132 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entries, format R.
# --> MIXED "B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (190, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',190), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',190), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',190), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',190), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5606,103 +6157,115 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (192, 4);
fc_i_tt_5_suc (192, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(192,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(192,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5710,145 +6273,161 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (195, 4);
fc_i_tt_5_suc (195, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(195,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(195,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (196, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',196), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',196), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',196), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',196), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (197, 2);
fc_i_nt_5_suc (197, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(197,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(197,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (198, 2);
fc_i_nt_5_suc (198, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(198,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(198,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (199, 2);
fc_i_nt_5_suc (199, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(199,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5856,206 +6435,226 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (199, 4);
fc_i_tt_5_suc (199, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(199,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(199,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(199,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (200, 2);
fc_i_nt_5_suc (200, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(200,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (200, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',200), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',200), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(200,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',200), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',200), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (201, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (202, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (202, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (203, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (204, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6063,26 +6662,28 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (204, 4);
fc_i_tt_5_suc (204, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(204,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(204,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6098,243 +6699,268 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -6351,177 +6977,196 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tNe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 214, 2, COUNT(*) FROM nt_1 UNION SELECT 213, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -6538,249 +7183,272 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 220, 2, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (220, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4)
master-bin.000001 # Query # # ROLLBACK
@@ -6797,181 +7465,198 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tNe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 228, 2, COUNT(*) FROM nt_1 UNION SELECT 218, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (228, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4)
master-bin.000001 # Query # # ROLLBACK
@@ -6987,241 +7672,265 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B T tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2)
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2)
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2)
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2)
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -7237,173 +7946,191 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entry, format R.
# --> MIXED "B N C B T C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 242, 4, COUNT(*) FROM nt_1 UNION SELECT 242, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -7419,247 +8146,269 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (248, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 248, 4, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2)
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2)
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2)
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2)
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4))
master-bin.000001 # Query # # ROLLBACK
@@ -7675,177 +8424,193 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (256, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 256, 4, COUNT(*) FROM nt_1 UNION SELECT 256, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4))
master-bin.000001 # Query # # ROLLBACK
@@ -7863,257 +8628,282 @@ master-bin.000001 # Query # # ROLLBACK
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -8131,185 +8921,204 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 270, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4)
master-bin.000001 # Query # # COMMIT
@@ -8327,273 +9136,298 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4)
master-bin.000001 # Query # # ROLLBACK
@@ -8611,197 +9445,216 @@ master-bin.000001 # Query # # ROLLBACK
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 284, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4)
master-bin.000001 # Query # # ROLLBACK
@@ -8818,46 +9671,52 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B N C B T C" entries, format R.
# --> MIXED "B N C B N C B T C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8865,33 +9724,37 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8899,33 +9762,37 @@ master-bin.000001 # Query # # COMMIT
UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8933,33 +9800,37 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8967,33 +9838,37 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9001,33 +9876,37 @@ master-bin.000001 # Query # # COMMIT
UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9035,33 +9914,37 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9069,21 +9952,23 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9099,194 +9984,217 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 298, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9302,48 +10210,54 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9351,35 +10265,39 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9387,35 +10305,39 @@ master-bin.000001 # Query # # COMMIT
UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9423,35 +10345,39 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9459,35 +10385,39 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9495,35 +10425,39 @@ master-bin.000001 # Query # # COMMIT
UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9531,35 +10465,39 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9567,23 +10505,25 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9599,206 +10539,229 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 312, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9806,1317 +10769,1920 @@ master-bin.000001 # Query # # ROLLBACK
###################################################################################
# 2 - SAVEPOINT
###################################################################################
+rpl_mixing_engines.inc [commands=B T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2)
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2)
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B N T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B N T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B N T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B N T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T N S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T N Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T N S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T N Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn N T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 N T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn N T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 N T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn N T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 3 - CREATE TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CSe-T->T CS-T->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_1, nt_xx_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T CS-T->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T CS-T->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->N CS-N->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_2, nt_xx_2;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N CS-N->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N CS-N->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-T->N CS-T->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_3, nt_xx_3;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N CS-T->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N CS-T->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_4, nt_xx_4;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_5, nt_xx_5;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_6, nt_xx_6;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 4 - INSERT TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_7, nt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_8, nt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_9, nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_10, nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 5 - ROLLBACK TEMPORARY TABLE
###################################################################################
+rpl_mixing_engines.inc [commands=B T CT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_11;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn T CT Rn R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T CT R1 R << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T CT Rn R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T CT R1 R << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T CT Rn R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_12;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_13;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B tN CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tN CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_14;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_15;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_16;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
+# 5 - SET WITH ROW CHANGES
+###################################################################################
+rpl_mixing_engines.inc [commands=set-T]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(363, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(363,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(363,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-N]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(364, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(364,1)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(364,1)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-NT]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(365, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(365,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(365,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(366, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(366,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(366, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(366,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(366,2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(366,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(367, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(367, 4);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(367,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(367,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(367,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(367,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(368, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(368,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(368, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(368,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(368,2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(368,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(369, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(369, 4);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(369,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(369,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(369,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(369,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(370, 2);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(370, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(370,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(370,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(370,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(370,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(371, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(371, 4);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(371,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(371,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(371,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(371,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(372, 2);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(372, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(372,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(372,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(372,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(372,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(373, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(373, 4);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(373,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(373,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(373,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(373,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT R << -e-e-e-e-e-e-e-e-e-e-e-
+
+###################################################################################
# CHECK CONSISTENCY
###################################################################################
###################################################################################
# CLEAN
###################################################################################
+rpl_mixing_engines.inc [commands=clean]
+DROP TABLE tt_1;
+DROP TABLE tt_2;
+DROP TABLE tt_3;
+DROP TABLE tt_4;
+DROP TABLE tt_5;
+DROP TABLE tt_6;
+DROP TABLE nt_1;
+DROP TABLE nt_2;
+DROP TABLE nt_3;
+DROP TABLE nt_4;
+DROP TABLE nt_5;
+DROP TABLE nt_6;
+DROP PROCEDURE pc_i_tt_5_suc;
+DROP PROCEDURE pc_i_nt_5_suc;
+DROP FUNCTION fc_i_tt_5_suc;
+DROP FUNCTION fc_i_nt_5_suc;
+DROP FUNCTION fc_i_nt_3_tt_3_suc;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_old_master.result b/mysql-test/suite/rpl/r/rpl_old_master.result
new file mode 100644
index 00000000000..df5bbe34256
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_old_master.result
@@ -0,0 +1,27 @@
+include/master-slave.inc
+[connection master]
+include/stop_slave.inc
+include/rpl_stop_server.inc [server_number=1]
+include/rpl_start_server.inc [server_number=1]
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
+include/start_slave.inc
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1);
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 2
+3 4
+4 8
+5 16
+SELECT * FROM t2;
+a
+1
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel;
+DROP TABLE t1;
+include/start_slave.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 65fd2800e7d..07558053287 100644
--- a/mysql-test/suite/rpl/r/rpl_packet.result
+++ b/mysql-test/suite/rpl/r/rpl_packet.result
@@ -1,6 +1,6 @@
include/master-slave.inc
[connection master]
-call mtr.add_suppression("Slave I/O: Got a packet bigger than 'slave_max_allowed_packet' bytes, Error_code: 1153");
+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");
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_____________________;
diff --git a/mysql-test/suite/rpl/r/rpl_parallel.result b/mysql-test/suite/rpl/r/rpl_parallel.result
new file mode 100644
index 00000000000..631b071136b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel.result
@@ -0,0 +1,1773 @@
+include/master-slave.inc
+[connection master]
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=10;
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+SELECT IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*)))
+OK
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+SELECT IF(COUNT(*) >= 10, "OK", CONCAT("Found too few system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) >= 10, "OK", CONCAT("Found too few system user processes: ", COUNT(*)))
+OK
+include/stop_slave.inc
+SELECT IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*)))
+OK
+include/start_slave.inc
+SELECT IF(COUNT(*) >= 10, "OK", CONCAT("Found too few system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) >= 10, "OK", CONCAT("Found too few system user processes: ", COUNT(*)))
+OK
+*** Test long-running query in domain 1 can run in parallel with short queries in domain 0 ***
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY) ENGINE=MyISAM;
+CREATE TABLE t2 (a int PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+LOCK TABLE t1 WRITE;
+SET gtid_domain_id=1;
+INSERT INTO t1 VALUES (2);
+SET gtid_domain_id=0;
+INSERT INTO t2 VALUES (2);
+INSERT INTO t2 VALUES (3);
+BEGIN;
+INSERT INTO t2 VALUES (4);
+INSERT INTO t2 VALUES (5);
+COMMIT;
+INSERT INTO t2 VALUES (6);
+SELECT * FROM t2 ORDER by a;
+a
+1
+2
+3
+4
+5
+6
+SELECT * FROM t1;
+a
+1
+UNLOCK TABLES;
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+*** Test two transactions in different domains committed in opposite order on slave but in a single group commit. ***
+include/stop_slave.inc
+SET sql_log_bin=0;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+SET gtid_domain_id=1;
+INSERT INTO t2 VALUES (foo(10,
+'commit_before_enqueue SIGNAL ready1 WAIT_FOR cont1',
+'commit_after_release_LOCK_prepare_ordered SIGNAL ready2'));
+FLUSH LOGS;
+SET sql_log_bin=0;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+SET @old_format=@@GLOBAL.binlog_format;
+SET GLOBAL binlog_format=statement;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+SET debug_sync='now WAIT_FOR ready1';
+SET gtid_domain_id=2;
+INSERT INTO t2 VALUES (foo(11,
+'commit_before_enqueue SIGNAL ready3 WAIT_FOR cont3',
+'commit_after_release_LOCK_prepare_ordered SIGNAL ready4 WAIT_FOR cont4'));
+SET gtid_domain_id=0;
+SELECT * FROM t2 WHERE a >= 10 ORDER BY a;
+a
+10
+11
+SET debug_sync='now WAIT_FOR ready3';
+SET debug_sync='now SIGNAL cont3';
+SET debug_sync='now WAIT_FOR ready4';
+SET debug_sync='now SIGNAL cont1';
+SET debug_sync='now WAIT_FOR ready2';
+SET debug_sync='now SIGNAL cont4';
+SELECT * FROM t2 WHERE a >= 10 ORDER BY a;
+a
+10
+11
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000002 # Binlog_checkpoint # # slave-bin.000002
+slave-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000002 # Query # # use `test`; INSERT INTO t2 VALUES (foo(11,
+'commit_before_enqueue SIGNAL ready3 WAIT_FOR cont3',
+'commit_after_release_LOCK_prepare_ordered SIGNAL ready4 WAIT_FOR cont4'))
+slave-bin.000002 # Xid # # COMMIT /* XID */
+slave-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000002 # Query # # use `test`; INSERT INTO t2 VALUES (foo(10,
+'commit_before_enqueue SIGNAL ready1 WAIT_FOR cont1',
+'commit_after_release_LOCK_prepare_ordered SIGNAL ready2'))
+slave-bin.000002 # Xid # # COMMIT /* XID */
+FLUSH LOGS;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET debug_sync='RESET';
+include/start_slave.inc
+*** Test that group-committed transactions on the master can replicate in parallel on the slave. ***
+SET debug_sync='RESET';
+FLUSH LOGS;
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t3 VALUES (1,1), (3,3), (5,5), (7,7);
+BEGIN;
+INSERT INTO t3 VALUES (2,102);
+BEGIN;
+INSERT INTO t3 VALUES (4,104);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (2, foo(12,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued1 WAIT_FOR slave_cont1',
+''));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (4, foo(14,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued2',
+''));
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (6, foo(16,
+'group_commit_waiting_for_prior SIGNAL slave_queued3',
+''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+SELECT * FROM t3 ORDER BY a;
+a b
+1 1
+2 12
+3 3
+4 14
+5 5
+6 16
+7 7
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Binlog_checkpoint # # master-bin.000002
+master-bin.000002 # Gtid # # GTID #-#-#
+master-bin.000002 # Query # # use `test`; CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; INSERT INTO t3 VALUES (1,1), (3,3), (5,5), (7,7)
+master-bin.000002 # Xid # # COMMIT /* XID */
+master-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+master-bin.000002 # Query # # use `test`; INSERT INTO t3 VALUES (2, foo(12,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued1 WAIT_FOR slave_cont1',
+''))
+master-bin.000002 # Xid # # COMMIT /* XID */
+master-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+master-bin.000002 # Query # # use `test`; INSERT INTO t3 VALUES (4, foo(14,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued2',
+''))
+master-bin.000002 # Xid # # COMMIT /* XID */
+master-bin.000002 # Gtid # # BEGIN GTID #-#-# cid=#
+master-bin.000002 # Query # # use `test`; INSERT INTO t3 VALUES (6, foo(16,
+'group_commit_waiting_for_prior SIGNAL slave_queued3',
+''))
+master-bin.000002 # Xid # # COMMIT /* XID */
+SET debug_sync='now WAIT_FOR slave_queued3';
+ROLLBACK;
+SET debug_sync='now WAIT_FOR slave_queued1';
+ROLLBACK;
+SET debug_sync='now WAIT_FOR slave_queued2';
+SET debug_sync='now SIGNAL slave_cont1';
+SELECT * FROM t3 ORDER BY a;
+a b
+1 1
+2 12
+3 3
+4 14
+5 5
+6 16
+7 7
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000003 # Binlog_checkpoint # # slave-bin.000003
+slave-bin.000003 # Gtid # # GTID #-#-#
+slave-bin.000003 # Query # # use `test`; CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
+slave-bin.000003 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000003 # Query # # use `test`; INSERT INTO t3 VALUES (1,1), (3,3), (5,5), (7,7)
+slave-bin.000003 # Xid # # COMMIT /* XID */
+slave-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000003 # Query # # use `test`; INSERT INTO t3 VALUES (2, foo(12,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued1 WAIT_FOR slave_cont1',
+''))
+slave-bin.000003 # Xid # # COMMIT /* XID */
+slave-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000003 # Query # # use `test`; INSERT INTO t3 VALUES (4, foo(14,
+'commit_after_release_LOCK_prepare_ordered SIGNAL slave_queued2',
+''))
+slave-bin.000003 # Xid # # COMMIT /* XID */
+slave-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
+slave-bin.000003 # Query # # use `test`; INSERT INTO t3 VALUES (6, foo(16,
+'group_commit_waiting_for_prior SIGNAL slave_queued3',
+''))
+slave-bin.000003 # Xid # # COMMIT /* XID */
+*** Test STOP SLAVE in parallel mode ***
+include/stop_slave.inc
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET binlog_direct_non_transactional_updates=0;
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction");
+SET sql_log_bin=1;
+BEGIN;
+INSERT INTO t2 VALUES (20);
+INSERT INTO t1 VALUES (20);
+INSERT INTO t2 VALUES (21);
+INSERT INTO t3 VALUES (20, 20);
+COMMIT;
+INSERT INTO t3 VALUES(21, 21);
+INSERT INTO t3 VALUES(22, 22);
+SET binlog_format=@old_format;
+BEGIN;
+INSERT INTO t2 VALUES (21);
+START SLAVE;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_wait_for_done_trigger";
+STOP SLAVE;
+SET debug_sync='now WAIT_FOR wait_for_done_waiting';
+ROLLBACK;
+SET GLOBAL debug_dbug=@old_dbug;
+SET debug_sync='RESET';
+include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+20
+SELECT * FROM t2 WHERE a >= 20 ORDER BY a;
+a
+20
+21
+SELECT * FROM t3 WHERE a >= 20 ORDER BY a;
+a b
+20 20
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
+a
+20
+SELECT * FROM t2 WHERE a >= 20 ORDER BY a;
+a
+20
+21
+SELECT * FROM t3 WHERE a >= 20 ORDER BY a;
+a b
+20 20
+21 21
+22 22
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** Test killing slave threads at various wait points ***
+*** 1. Test killing transaction waiting in commit for previous transaction to commit ***
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (31, foo(31,
+'commit_before_prepare_ordered WAIT_FOR t2_waiting',
+'commit_after_prepare_ordered SIGNAL t1_ready WAIT_FOR t1_cont'));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+BEGIN;
+INSERT INTO t3 VALUES (32, foo(32,
+'ha_write_row_end SIGNAL t2_query WAIT_FOR t2_cont',
+''));
+INSERT INTO t3 VALUES (33, foo(33,
+'group_commit_waiting_for_prior SIGNAL t2_waiting',
+'group_commit_waiting_for_prior_killed SIGNAL t2_killed'));
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (34, foo(34,
+'',
+''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+a b
+31 31
+32 32
+33 33
+34 34
+SET debug_sync='RESET';
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Query execution was interrupted");
+CALL mtr.add_suppression("Commit failed due to failure of an earlier commit on which this one depends");
+CALL mtr.add_suppression("Slave: Connection was killed");
+SET sql_log_bin=1;
+SET debug_sync='now WAIT_FOR t2_query';
+SET debug_sync='now SIGNAL t2_cont';
+SET debug_sync='now WAIT_FOR t1_ready';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR t2_killed';
+SET debug_sync='now SIGNAL t1_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+STOP SLAVE IO_THREAD;
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+a b
+31 31
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+INSERT INTO t3 VALUES (39,0);
+include/start_slave.inc
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+a b
+31 31
+32 32
+33 33
+34 34
+39 0
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** 2. Same as (1), but without restarting IO thread after kill of SQL threads ***
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (41, foo(41,
+'commit_before_prepare_ordered WAIT_FOR t2_waiting',
+'commit_after_prepare_ordered SIGNAL t1_ready WAIT_FOR t1_cont'));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+BEGIN;
+INSERT INTO t3 VALUES (42, foo(42,
+'ha_write_row_end SIGNAL t2_query WAIT_FOR t2_cont',
+''));
+INSERT INTO t3 VALUES (43, foo(43,
+'group_commit_waiting_for_prior SIGNAL t2_waiting',
+'group_commit_waiting_for_prior_killed SIGNAL t2_killed'));
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (44, foo(44,
+'',
+''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SELECT * FROM t3 WHERE a >= 40 ORDER BY a;
+a b
+41 41
+42 42
+43 43
+44 44
+SET debug_sync='RESET';
+SET debug_sync='now WAIT_FOR t2_query';
+SET debug_sync='now SIGNAL t2_cont';
+SET debug_sync='now WAIT_FOR t1_ready';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR t2_killed';
+SET debug_sync='now SIGNAL t1_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+INSERT INTO t3 VALUES (49,0);
+START SLAVE SQL_THREAD;
+SELECT * FROM t3 WHERE a >= 40 ORDER BY a;
+a b
+41 41
+42 42
+43 43
+44 44
+49 0
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+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 ***
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=no;
+include/start_slave.inc
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (51, foo(51,
+'commit_before_prepare_ordered WAIT_FOR t2_waiting',
+'commit_after_prepare_ordered SIGNAL t1_ready WAIT_FOR t1_cont'));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+BEGIN;
+INSERT INTO t3 VALUES (52, foo(52,
+'ha_write_row_end SIGNAL t2_query WAIT_FOR t2_cont',
+''));
+INSERT INTO t3 VALUES (53, foo(53,
+'group_commit_waiting_for_prior SIGNAL t2_waiting',
+'group_commit_waiting_for_prior_killed SIGNAL t2_killed'));
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (54, foo(54,
+'',
+''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SELECT * FROM t3 WHERE a >= 50 ORDER BY a;
+a b
+51 51
+52 52
+53 53
+54 54
+SET debug_sync='RESET';
+SET debug_sync='now WAIT_FOR t2_query';
+SET debug_sync='now SIGNAL t2_cont';
+SET debug_sync='now WAIT_FOR t1_ready';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR t2_killed';
+SET debug_sync='now SIGNAL t1_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+SELECT * FROM t3 WHERE a >= 50 ORDER BY a;
+a b
+51 51
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+INSERT INTO t3 VALUES (59,0);
+START SLAVE SQL_THREAD;
+SELECT * FROM t3 WHERE a >= 50 ORDER BY a;
+a b
+51 51
+52 52
+53 53
+54 54
+59 0
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=4;
+include/start_slave.inc
+*** 4. Test killing thread that is waiting to start transaction until previous transaction commits ***
+SET binlog_format=statement;
+SET gtid_domain_id=2;
+BEGIN;
+INSERT INTO t3 VALUES (70, foo(70,
+'rpl_parallel_start_waiting_for_prior SIGNAL t4_waiting', ''));
+INSERT INTO t3 VALUES (60, foo(60,
+'ha_write_row_end SIGNAL d2_query WAIT_FOR d2_cont2',
+'rpl_parallel_end_of_group SIGNAL d2_done WAIT_FOR d2_cont'));
+COMMIT;
+SET gtid_domain_id=0;
+SET debug_sync='now WAIT_FOR d2_query';
+SET gtid_domain_id=1;
+BEGIN;
+INSERT INTO t3 VALUES (61, foo(61,
+'rpl_parallel_start_waiting_for_prior SIGNAL t3_waiting',
+'rpl_parallel_start_waiting_for_prior_killed SIGNAL t3_killed'));
+INSERT INTO t3 VALUES (62, foo(62,
+'ha_write_row_end SIGNAL d1_query WAIT_FOR d1_cont2',
+'rpl_parallel_end_of_group SIGNAL d1_done WAIT_FOR d1_cont'));
+COMMIT;
+SET gtid_domain_id=0;
+SET debug_sync='now WAIT_FOR d1_query';
+SET gtid_domain_id=0;
+INSERT INTO t3 VALUES (63, foo(63,
+'ha_write_row_end SIGNAL d0_query WAIT_FOR d0_cont2',
+'rpl_parallel_end_of_group SIGNAL d0_done WAIT_FOR d0_cont'));
+SET debug_sync='now WAIT_FOR d0_query';
+SET gtid_domain_id=3;
+BEGIN;
+INSERT INTO t3 VALUES (68, foo(68,
+'rpl_parallel_start_waiting_for_prior SIGNAL t2_waiting', ''));
+INSERT INTO t3 VALUES (69, foo(69,
+'ha_write_row_end SIGNAL d3_query WAIT_FOR d3_cont2',
+'rpl_parallel_end_of_group SIGNAL d3_done WAIT_FOR d3_cont'));
+COMMIT;
+SET gtid_domain_id=0;
+SET debug_sync='now WAIT_FOR d3_query';
+SET debug_sync='now SIGNAL d2_cont2';
+SET debug_sync='now WAIT_FOR d2_done';
+SET debug_sync='now SIGNAL d1_cont2';
+SET debug_sync='now WAIT_FOR d1_done';
+SET debug_sync='now SIGNAL d0_cont2';
+SET debug_sync='now WAIT_FOR d0_done';
+SET debug_sync='now SIGNAL d3_cont2';
+SET debug_sync='now WAIT_FOR d3_done';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (64, foo(64,
+'rpl_parallel_before_mark_start_commit SIGNAL t1_waiting WAIT_FOR t1_cont', ''));
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2 WAIT_FOR master_cont2';
+INSERT INTO t3 VALUES (65, foo(65, '', ''));
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+INSERT INTO t3 VALUES (66, foo(66, '', ''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued4';
+INSERT INTO t3 VALUES (67, foo(67, '', ''));
+SET debug_sync='now WAIT_FOR master_queued4';
+SET debug_sync='now SIGNAL master_cont2';
+SELECT * FROM t3 WHERE a >= 60 ORDER BY a;
+a b
+60 60
+61 61
+62 62
+63 63
+64 64
+65 65
+66 66
+67 67
+68 68
+69 69
+70 70
+SET debug_sync='RESET';
+SET debug_sync='now SIGNAL d0_cont';
+SET debug_sync='now WAIT_FOR t1_waiting';
+SET debug_sync='now SIGNAL d3_cont';
+SET debug_sync='now WAIT_FOR t2_waiting';
+SET debug_sync='now SIGNAL d1_cont';
+SET debug_sync='now WAIT_FOR t3_waiting';
+SET debug_sync='now SIGNAL d2_cont';
+SET debug_sync='now WAIT_FOR t4_waiting';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR t3_killed';
+SET debug_sync='now SIGNAL t1_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+STOP SLAVE IO_THREAD;
+SELECT * FROM t3 WHERE a >= 60 AND a != 65 ORDER BY a;
+a b
+60 60
+61 61
+62 62
+63 63
+64 64
+68 68
+69 69
+70 70
+SET debug_sync='RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+UPDATE t3 SET b=b+1 WHERE a=60;
+include/start_slave.inc
+SELECT * FROM t3 WHERE a >= 60 ORDER BY a;
+a b
+60 61
+61 61
+62 62
+63 63
+64 64
+65 65
+66 66
+67 67
+68 68
+69 69
+70 70
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** 5. Test killing thread that is waiting for queue of max length to shorten ***
+SET @old_max_queued= @@GLOBAL.slave_parallel_max_queued;
+SET GLOBAL slave_parallel_max_queued=9000;
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (80, foo(0,
+'ha_write_row_end SIGNAL query_waiting WAIT_FOR query_cont', ''));
+SET debug_sync='now WAIT_FOR query_waiting';
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_wait_queue_max";
+SELECT * FROM t3 WHERE a >= 80 ORDER BY a;
+a b
+80 0
+81 10000
+SET debug_sync='now WAIT_FOR wait_queue_ready';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR wait_queue_killed';
+SET debug_sync='now SIGNAL query_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
+STOP SLAVE IO_THREAD;
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_max_queued= @old_max_queued;
+INSERT INTO t3 VALUES (82,0);
+SET binlog_format=@old_format;
+SET debug_sync='RESET';
+include/start_slave.inc
+SELECT * FROM t3 WHERE a >= 80 ORDER BY a;
+a b
+80 0
+81 10000
+82 0
+include/stop_slave.inc
+SET GLOBAL binlog_format=@old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-5788 Incorrect free of rgi->deferred_events in parallel replication ***
+include/stop_slave.inc
+SET GLOBAL replicate_ignore_table="test.t3";
+SET GLOBAL slave_parallel_threads=2;
+include/start_slave.inc
+INSERT INTO t3 VALUES (100, rand());
+INSERT INTO t3 VALUES (101, rand());
+INSERT INTO t3 VALUES (102, rand());
+INSERT INTO t3 VALUES (103, rand());
+INSERT INTO t3 VALUES (104, rand());
+INSERT INTO t3 VALUES (105, rand());
+include/stop_slave.inc
+SET GLOBAL replicate_ignore_table="";
+include/start_slave.inc
+INSERT INTO t3 VALUES (106, rand());
+INSERT INTO t3 VALUES (107, rand());
+SELECT * FROM t3 WHERE a >= 100 ORDER BY a;
+a b
+106 #
+107 #
+*** MDEV-5921: In parallel replication, an error is not correctly signalled to the next transaction ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+INSERT INTO t3 VALUES (110, 1);
+SELECT * FROM t3 WHERE a >= 110 ORDER BY a;
+a b
+110 1
+SET sql_log_bin=0;
+INSERT INTO t3 VALUES (111, 666);
+SET sql_log_bin=1;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+INSERT INTO t3 VALUES (111, 2);
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+INSERT INTO t3 VALUES (112, 3);
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+include/wait_for_slave_sql_error.inc [errno=1062]
+include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t3 WHERE a >= 110 ORDER BY a;
+a b
+110 1
+111 666
+SET sql_log_bin=0;
+DELETE FROM t3 WHERE a=111 AND b=666;
+SET sql_log_bin=1;
+START SLAVE SQL_THREAD;
+SELECT * FROM t3 WHERE a >= 110 ORDER BY a;
+a b
+110 1
+111 2
+112 3
+***MDEV-5914: Parallel replication deadlock due to InnoDB lock conflicts ***
+include/stop_slave.inc
+CREATE TABLE t4 (a INT PRIMARY KEY, b INT, KEY b_idx(b)) ENGINE=InnoDB;
+INSERT INTO t4 VALUES (1,NULL), (2,2), (3,NULL), (4,4), (5, NULL), (6, 6);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+UPDATE t4 SET b=NULL WHERE a=6;
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+DELETE FROM t4 WHERE b <= 3;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+include/start_slave.inc
+include/stop_slave.inc
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 NULL
+DELETE FROM t4;
+INSERT INTO t4 VALUES (1,NULL), (2,2), (3,NULL), (4,4), (5, NULL), (6, 6);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+INSERT INTO t4 VALUES (7, NULL);
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+DELETE FROM t4 WHERE b <= 3;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+include/start_slave.inc
+include/stop_slave.inc
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 6
+7 NULL
+DELETE FROM t4;
+INSERT INTO t4 VALUES (1,NULL), (2,2), (3,NULL), (4,4), (5, NULL), (6, 6);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+UPDATE t4 SET b=NULL WHERE a=6;
+SET debug_sync='now WAIT_FOR master_queued1';
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+DELETE FROM t4 WHERE b <= 1;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET @old_format=@@GLOBAL.binlog_format;
+SET debug_sync='RESET';
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,disable_thd_need_ordering_with";
+include/start_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+2 2
+3 NULL
+4 4
+5 NULL
+6 NULL
+SET @last_gtid= 'GTID';
+SELECT IF(@@gtid_slave_pos LIKE CONCAT('%',@last_gtid,'%'), "GTID found ok",
+CONCAT("GTID ", @last_gtid, " not found in gtid_slave_pos=", @@gtid_slave_pos))
+AS result;
+result
+GTID found ok
+SELECT "ROW FOUND" AS `Is the row found?`
+ FROM mysql.gtid_slave_pos
+WHERE CONCAT(domain_id, "-", server_id, "-", seq_no) = @last_gtid;
+Is the row found?
+ROW FOUND
+*** MDEV-5938: Exec_master_log_pos not updated at log rotate in parallel replication ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=1;
+SET DEBUG_SYNC= 'RESET';
+include/start_slave.inc
+CREATE TABLE t5 (a INT PRIMARY KEY, b INT);
+INSERT INTO t5 VALUES (1,1);
+INSERT INTO t5 VALUES (2,2), (3,8);
+INSERT INTO t5 VALUES (4,16);
+test_check
+OK
+test_check
+OK
+FLUSH LOGS;
+test_check
+OK
+test_check
+OK
+*** MDEV_6435: Incorrect error handling when query binlogged partially on master with "killed" error ***
+CREATE TABLE t6 (a INT) ENGINE=MyISAM;
+CREATE TRIGGER tr AFTER INSERT ON t6 FOR EACH ROW SET @a = 1;
+SET @old_format= @@binlog_format;
+SET binlog_format= statement;
+SET debug_sync='sp_head_execute_before_loop SIGNAL ready WAIT_FOR cont';
+INSERT INTO t6 VALUES (1), (2), (3);
+SET debug_sync='now WAIT_FOR ready';
+KILL QUERY CONID;
+SET debug_sync='now SIGNAL cont';
+ERROR 70100: Query execution was interrupted
+SET binlog_format= @old_format;
+SET debug_sync='RESET';
+SET debug_sync='RESET';
+include/wait_for_slave_sql_error.inc [errno=1317]
+STOP SLAVE IO_THREAD;
+SET GLOBAL gtid_slave_pos= 'AFTER_ERROR_GTID_POS';
+include/start_slave.inc
+INSERT INTO t6 VALUES (4);
+SELECT * FROM t6 ORDER BY a;
+a
+1
+4
+SELECT * FROM t6 ORDER BY a;
+a
+4
+*** MDEV-6551: Some replication errors are ignored if slave_parallel_threads > 0 ***
+INSERT INTO t2 VALUES (31);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads= 0;
+include/start_slave.inc
+SET sql_log_bin= 0;
+INSERT INTO t2 VALUES (32);
+SET sql_log_bin= 1;
+INSERT INTO t2 VALUES (32);
+FLUSH LOGS;
+INSERT INTO t2 VALUES (33);
+INSERT INTO t2 VALUES (34);
+SELECT * FROM t2 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+33
+34
+include/save_master_gtid.inc
+include/wait_for_slave_sql_error.inc [errno=1062]
+include/stop_slave_io.inc
+SET GLOBAL slave_parallel_threads=10;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1062]
+START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_error.inc [errno=1062]
+SELECT * FROM t2 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+SET sql_slave_skip_counter= 1;
+ERROR HY000: When using parallel replication and GTID with multiple replication domains, @@sql_slave_skip_counter can not be used. Instead, setting @@gtid_slave_pos explicitly can be used to skip to after a given GTID position.
+include/stop_slave_io.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 30 ORDER BY a;
+a
+31
+32
+33
+34
+*** MDEV-6775: Wrong binlog order in parallel replication ***
+DELETE FROM t4;
+INSERT INTO t4 VALUES (1,NULL), (3,NULL), (4,4), (5, NULL), (6, 6);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,inject_binlog_commit_before_get_LOCK_log";
+SET @old_format=@@GLOBAL.binlog_format;
+SET GLOBAL binlog_format=ROW;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET @old_format= @@binlog_format;
+SET binlog_format= statement;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+UPDATE t4 SET b=NULL WHERE a=6;
+SET debug_sync='now WAIT_FOR master_queued1';
+SET @old_format= @@binlog_format;
+SET binlog_format= statement;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+DELETE FROM t4 WHERE b <= 3;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET binlog_format= @old_format;
+SET binlog_format= @old_format;
+SET debug_sync='RESET';
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 NULL
+include/start_slave.inc
+SET debug_sync= 'now WAIT_FOR waiting';
+SELECT * FROM t4 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 NULL
+SET debug_sync= 'now SIGNAL cont';
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL binlog_format= @old_format;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-7237: Parallel replication: incorrect relaylog position after stop/start the slave ***
+INSERT INTO t2 VALUES (40);
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=no;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_scheduled_gtid_0_x_100";
+SET GLOBAL debug_dbug="+d,rpl_parallel_wait_for_done_trigger";
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+INSERT INTO t2 VALUES (41);
+INSERT INTO t2 VALUES (42);
+SET @old_format= @@binlog_format;
+SET binlog_format= statement;
+DELETE FROM t2 WHERE a=40;
+SET binlog_format= @old_format;
+INSERT INTO t2 VALUES (43);
+INSERT INTO t2 VALUES (44);
+FLUSH LOGS;
+INSERT INTO t2 VALUES (45);
+SET gtid_seq_no=100;
+INSERT INTO t2 VALUES (46);
+BEGIN;
+SELECT * FROM t2 WHERE a=40 FOR UPDATE;
+a
+40
+include/start_slave.inc
+SET debug_sync= 'now WAIT_FOR scheduled_gtid_0_x_100';
+STOP SLAVE;
+SET debug_sync= 'now WAIT_FOR wait_for_done_waiting';
+ROLLBACK;
+include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t2 WHERE a >= 40 ORDER BY a;
+a
+41
+42
+include/start_slave.inc
+SELECT * FROM t2 WHERE a >= 40 ORDER BY a;
+a
+41
+42
+43
+44
+45
+46
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET DEBUG_SYNC= 'RESET';
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+*** MDEV-7326 Server deadlock in connection with parallel replication ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=3;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_xid";
+include/start_slave.inc
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format= STATEMENT;
+INSERT INTO t1 VALUES (foo(50,
+"rpl_parallel_start_waiting_for_prior SIGNAL t3_ready",
+"rpl_parallel_end_of_group SIGNAL prep_ready WAIT_FOR prep_cont"));
+SET DEBUG_SYNC= "now WAIT_FOR prep_ready";
+INSERT INTO t2 VALUES (foo(50,
+"rpl_parallel_simulate_temp_err_xid SIGNAL t1_ready1 WAIT_FOR t1_cont1",
+"rpl_parallel_retry_after_unmark SIGNAL t1_ready2 WAIT_FOR t1_cont2"));
+SET DEBUG_SYNC= "now WAIT_FOR t1_ready1";
+INSERT INTO t1 VALUES (foo(51,
+"rpl_parallel_before_mark_start_commit SIGNAL t2_ready1 WAIT_FOR t2_cont1",
+"rpl_parallel_after_mark_start_commit SIGNAL t2_ready2"));
+SET DEBUG_SYNC= "now WAIT_FOR t2_ready1";
+SET DEBUG_SYNC= "now SIGNAL t1_cont1";
+SET DEBUG_SYNC= "now WAIT_FOR t1_ready2";
+INSERT INTO t1 VALUES (52);
+SET BINLOG_FORMAT= @old_format;
+SELECT * FROM t2 WHERE a>=50 ORDER BY a;
+a
+50
+SELECT * FROM t1 WHERE a>=50 ORDER BY a;
+a
+50
+51
+52
+SET DEBUG_SYNC= "now SIGNAL prep_cont";
+SET DEBUG_SYNC= "now WAIT_FOR t3_ready";
+SET DEBUG_SYNC= "now SIGNAL t2_cont1";
+SET DEBUG_SYNC= "now WAIT_FOR t2_ready2";
+SET DEBUG_SYNC= "now SIGNAL t1_cont2";
+SELECT * FROM t2 WHERE a>=50 ORDER BY a;
+a
+50
+SELECT * FROM t1 WHERE a>=50 ORDER BY a;
+a
+50
+51
+52
+SET DEBUG_SYNC="reset";
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-7326 Server deadlock in connection with parallel replication ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=3;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_xid";
+include/start_slave.inc
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format= STATEMENT;
+INSERT INTO t1 VALUES (foo(60,
+"rpl_parallel_start_waiting_for_prior SIGNAL t3_ready",
+"rpl_parallel_end_of_group SIGNAL prep_ready WAIT_FOR prep_cont"));
+SET DEBUG_SYNC= "now WAIT_FOR prep_ready";
+INSERT INTO t2 VALUES (foo(60,
+"rpl_parallel_simulate_temp_err_xid SIGNAL t1_ready1 WAIT_FOR t1_cont1",
+"rpl_parallel_retry_after_unmark SIGNAL t1_ready2 WAIT_FOR t1_cont2"));
+SET DEBUG_SYNC= "now WAIT_FOR t1_ready1";
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t1 VALUES (foo(61,
+"rpl_parallel_before_mark_start_commit SIGNAL t2_ready1 WAIT_FOR t2_cont1",
+"rpl_parallel_after_mark_start_commit SIGNAL t2_ready2"));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+INSERT INTO t6 VALUES (62);
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+SET debug_sync='RESET';
+SET BINLOG_FORMAT= @old_format;
+SELECT * FROM t2 WHERE a>=60 ORDER BY a;
+a
+60
+SELECT * FROM t1 WHERE a>=60 ORDER BY a;
+a
+60
+61
+SELECT * FROM t6 WHERE a>=60 ORDER BY a;
+a
+62
+SET DEBUG_SYNC= "now WAIT_FOR t2_ready1";
+SET DEBUG_SYNC= "now SIGNAL t1_cont1";
+SET DEBUG_SYNC= "now WAIT_FOR t1_ready2";
+SET DEBUG_SYNC= "now SIGNAL prep_cont";
+SET DEBUG_SYNC= "now WAIT_FOR t3_ready";
+SET DEBUG_SYNC= "now SIGNAL t2_cont1";
+SET DEBUG_SYNC= "now WAIT_FOR t2_ready2";
+SET DEBUG_SYNC= "now SIGNAL t1_cont2";
+SELECT * FROM t2 WHERE a>=60 ORDER BY a;
+a
+60
+SELECT * FROM t1 WHERE a>=60 ORDER BY a;
+a
+60
+61
+SELECT * FROM t6 WHERE a>=60 ORDER BY a;
+a
+62
+SET DEBUG_SYNC="reset";
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-7335: Potential parallel slave deadlock with specific binlog corruption ***
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=1;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,slave_discard_xid_for_gtid_0_x_1000";
+INSERT INTO t2 VALUES (101);
+INSERT INTO t2 VALUES (102);
+INSERT INTO t2 VALUES (103);
+INSERT INTO t2 VALUES (104);
+INSERT INTO t2 VALUES (105);
+SET gtid_seq_no=1000;
+INSERT INTO t2 VALUES (106);
+INSERT INTO t2 VALUES (107);
+INSERT INTO t2 VALUES (108);
+INSERT INTO t2 VALUES (109);
+INSERT INTO t2 VALUES (110);
+INSERT INTO t2 VALUES (111);
+INSERT INTO t2 VALUES (112);
+INSERT INTO t2 VALUES (113);
+INSERT INTO t2 VALUES (114);
+INSERT INTO t2 VALUES (115);
+INSERT INTO t2 VALUES (116);
+INSERT INTO t2 VALUES (117);
+INSERT INTO t2 VALUES (118);
+INSERT INTO t2 VALUES (119);
+INSERT INTO t2 VALUES (120);
+INSERT INTO t2 VALUES (121);
+INSERT INTO t2 VALUES (122);
+INSERT INTO t2 VALUES (123);
+INSERT INTO t2 VALUES (124);
+INSERT INTO t2 VALUES (125);
+INSERT INTO t2 VALUES (126);
+INSERT INTO t2 VALUES (127);
+INSERT INTO t2 VALUES (128);
+INSERT INTO t2 VALUES (129);
+INSERT INTO t2 VALUES (130);
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 100 ORDER BY a;
+a
+101
+102
+103
+104
+105
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-6676 - test syntax of @@slave_parallel_mode ***
+Parallel_Mode = 'conservative'
+include/stop_slave.inc
+SET GLOBAL slave_parallel_mode='aggressive';
+Parallel_Mode = 'aggressive'
+SET GLOBAL slave_parallel_mode='conservative';
+Parallel_Mode = 'conservative'
+*** MDEV-6676 - test that empty parallel_mode does not replicate in parallel ***
+INSERT INTO t2 VALUES (1040);
+include/save_master_gtid.inc
+SET GLOBAL slave_parallel_mode='none';
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,slave_crash_if_parallel_apply";
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 1040 ORDER BY a;
+a
+1040
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+*** MDEV-6676 - test disabling domain-based parallel replication ***
+SET gtid_domain_id = 1;
+INSERT INTO t2 VALUES (1041);
+INSERT INTO t2 VALUES (1042);
+INSERT INTO t2 VALUES (1043);
+INSERT INTO t2 VALUES (1044);
+INSERT INTO t2 VALUES (1045);
+INSERT INTO t2 VALUES (1046);
+DELETE FROM t2 WHERE a >= 1041;
+SET gtid_domain_id = 2;
+INSERT INTO t2 VALUES (1041);
+INSERT INTO t2 VALUES (1042);
+INSERT INTO t2 VALUES (1043);
+INSERT INTO t2 VALUES (1044);
+INSERT INTO t2 VALUES (1045);
+INSERT INTO t2 VALUES (1046);
+SET gtid_domain_id = 0;
+include/save_master_gtid.inc
+SET GLOBAL slave_parallel_mode=minimal;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 1040 ORDER BY a;
+a
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+include/stop_slave.inc
+SET GLOBAL slave_parallel_mode='conservative';
+include/start_slave.inc
+*** MDEV-7847: "Slave worker thread retried transaction 10 time(s) in vain, giving up", followed by replication hanging ***
+*** MDEV-7882: Excessive transaction retry in parallel replication ***
+CREATE TABLE t7 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t8 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=40;
+SELECT @old_retries:=@@GLOBAL.slave_transaction_retries;
+@old_retries:=@@GLOBAL.slave_transaction_retries
+10
+SET GLOBAL slave_transaction_retries= 5;
+INSERT INTO t7 VALUES (1,1), (2,2), (3,3), (4,4), (5,5);
+SET @old_dbug= @@SESSION.debug_dbug;
+SET @commit_id= 42;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+INSERT INTO t8 VALUES (1,1);
+INSERT INTO t8 VALUES (2,2);
+INSERT INTO t8 VALUES (3,3);
+INSERT INTO t8 VALUES (4,4);
+INSERT INTO t8 VALUES (5,5);
+INSERT INTO t8 VALUES (6,6);
+INSERT INTO t8 VALUES (7,7);
+INSERT INTO t8 VALUES (8,8);
+UPDATE t7 SET b=9 WHERE a=3;
+UPDATE t7 SET b=10 WHERE a=3;
+UPDATE t7 SET b=11 WHERE a=3;
+INSERT INTO t8 VALUES (12,12);
+INSERT INTO t8 VALUES (13,13);
+UPDATE t7 SET b=14 WHERE a=3;
+UPDATE t7 SET b=15 WHERE a=3;
+INSERT INTO t8 VALUES (16,16);
+UPDATE t7 SET b=17 WHERE a=3;
+INSERT INTO t8 VALUES (18,18);
+INSERT INTO t8 VALUES (19,19);
+UPDATE t7 SET b=20 WHERE a=3;
+INSERT INTO t8 VALUES (21,21);
+UPDATE t7 SET b=22 WHERE a=3;
+INSERT INTO t8 VALUES (23,24);
+INSERT INTO t8 VALUES (24,24);
+UPDATE t7 SET b=25 WHERE a=3;
+INSERT INTO t8 VALUES (26,26);
+UPDATE t7 SET b=27 WHERE a=3;
+BEGIN;
+INSERT INTO t8 VALUES (28,28);
+INSERT INTO t8 VALUES (29,28), (30,28);
+INSERT INTO t8 VALUES (31,28);
+INSERT INTO t8 VALUES (32,28);
+INSERT INTO t8 VALUES (33,28);
+INSERT INTO t8 VALUES (34,28);
+INSERT INTO t8 VALUES (35,28);
+INSERT INTO t8 VALUES (36,28);
+INSERT INTO t8 VALUES (37,28);
+INSERT INTO t8 VALUES (38,28);
+INSERT INTO t8 VALUES (39,28);
+INSERT INTO t8 VALUES (40,28);
+INSERT INTO t8 VALUES (41,28);
+INSERT INTO t8 VALUES (42,28);
+COMMIT;
+SET @commit_id=43;
+INSERT INTO t8 VALUES (43,43);
+INSERT INTO t8 VALUES (44,44);
+UPDATE t7 SET b=45 WHERE a=3;
+INSERT INTO t8 VALUES (46,46);
+INSERT INTO t8 VALUES (47,47);
+UPDATE t7 SET b=48 WHERE a=3;
+INSERT INTO t8 VALUES (49,49);
+INSERT INTO t8 VALUES (50,50);
+SET @commit_id=44;
+INSERT INTO t8 VALUES (51,51);
+INSERT INTO t8 VALUES (52,52);
+UPDATE t7 SET b=53 WHERE a=3;
+INSERT INTO t8 VALUES (54,54);
+INSERT INTO t8 VALUES (55,55);
+UPDATE t7 SET b=56 WHERE a=3;
+INSERT INTO t8 VALUES (57,57);
+UPDATE t7 SET b=58 WHERE a=3;
+INSERT INTO t8 VALUES (58,58);
+INSERT INTO t8 VALUES (59,59);
+INSERT INTO t8 VALUES (60,60);
+INSERT INTO t8 VALUES (61,61);
+UPDATE t7 SET b=62 WHERE a=3;
+INSERT INTO t8 VALUES (63,63);
+INSERT INTO t8 VALUES (64,64);
+INSERT INTO t8 VALUES (65,65);
+INSERT INTO t8 VALUES (66,66);
+UPDATE t7 SET b=67 WHERE a=3;
+INSERT INTO t8 VALUES (68,68);
+UPDATE t7 SET b=69 WHERE a=3;
+UPDATE t7 SET b=70 WHERE a=3;
+UPDATE t7 SET b=71 WHERE a=3;
+INSERT INTO t8 VALUES (72,72);
+UPDATE t7 SET b=73 WHERE a=3;
+UPDATE t7 SET b=74 WHERE a=3;
+UPDATE t7 SET b=75 WHERE a=3;
+UPDATE t7 SET b=76 WHERE a=3;
+INSERT INTO t8 VALUES (77,77);
+UPDATE t7 SET b=78 WHERE a=3;
+INSERT INTO t8 VALUES (79,79);
+UPDATE t7 SET b=80 WHERE a=3;
+INSERT INTO t8 VALUES (81,81);
+UPDATE t7 SET b=82 WHERE a=3;
+INSERT INTO t8 VALUES (83,83);
+UPDATE t7 SET b=84 WHERE a=3;
+SET @commit_id=45;
+INSERT INTO t8 VALUES (85,85);
+UPDATE t7 SET b=86 WHERE a=3;
+INSERT INTO t8 VALUES (87,87);
+SET @commit_id=46;
+INSERT INTO t8 VALUES (88,88);
+INSERT INTO t8 VALUES (89,89);
+INSERT INTO t8 VALUES (90,90);
+SET SESSION debug_dbug=@old_dbug;
+INSERT INTO t8 VALUES (91,91);
+INSERT INTO t8 VALUES (92,92);
+INSERT INTO t8 VALUES (93,93);
+INSERT INTO t8 VALUES (94,94);
+INSERT INTO t8 VALUES (95,95);
+INSERT INTO t8 VALUES (96,96);
+INSERT INTO t8 VALUES (97,97);
+INSERT INTO t8 VALUES (98,98);
+INSERT INTO t8 VALUES (99,99);
+SELECT * FROM t7 ORDER BY a;
+a b
+1 1
+2 2
+3 86
+4 4
+5 5
+SELECT * FROM t8 ORDER BY a;
+a b
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+12 12
+13 13
+16 16
+18 18
+19 19
+21 21
+23 24
+24 24
+26 26
+28 28
+29 28
+30 28
+31 28
+32 28
+33 28
+34 28
+35 28
+36 28
+37 28
+38 28
+39 28
+40 28
+41 28
+42 28
+43 43
+44 44
+46 46
+47 47
+49 49
+50 50
+51 51
+52 52
+54 54
+55 55
+57 57
+58 58
+59 59
+60 60
+61 61
+63 63
+64 64
+65 65
+66 66
+68 68
+72 72
+77 77
+79 79
+81 81
+83 83
+85 85
+87 87
+88 88
+89 89
+90 90
+91 91
+92 92
+93 93
+94 94
+95 95
+96 96
+97 97
+98 98
+99 99
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t7 ORDER BY a;
+a b
+1 1
+2 2
+3 86
+4 4
+5 5
+SELECT * FROM t8 ORDER BY a;
+a b
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+12 12
+13 13
+16 16
+18 18
+19 19
+21 21
+23 24
+24 24
+26 26
+28 28
+29 28
+30 28
+31 28
+32 28
+33 28
+34 28
+35 28
+36 28
+37 28
+38 28
+39 28
+40 28
+41 28
+42 28
+43 43
+44 44
+46 46
+47 47
+49 49
+50 50
+51 51
+52 52
+54 54
+55 55
+57 57
+58 58
+59 59
+60 60
+61 61
+63 63
+64 64
+65 65
+66 66
+68 68
+72 72
+77 77
+79 79
+81 81
+83 83
+85 85
+87 87
+88 88
+89 89
+90 90
+91 91
+92 92
+93 93
+94 94
+95 95
+96 96
+97 97
+98 98
+99 99
+include/stop_slave.inc
+SET GLOBAL slave_transaction_retries= @old_retries;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+*** MDEV-7888: ANALYZE TABLE does wakeup_subsequent_commits(), causing wrong binlog order and parallel replication hang ***
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_analyze_table_sleep';
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @commit_id= 10000;
+ANALYZE TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 analyze status OK
+INSERT INTO t3 VALUES (120, 0);
+SET @commit_id= 10001;
+INSERT INTO t3 VALUES (121, 0);
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t3 WHERE a >= 120 ORDER BY a;
+a b
+120 0
+121 0
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t3 WHERE a >= 120 ORDER BY a;
+a b
+120 0
+121 0
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_dbug;
+include/start_slave.inc
+*** MDEV-7929: record_gtid() for non-transactional event group calls wakeup_subsequent_commits() too early, causing slave hang. ***
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_record_gtid_serverid_100_sleep';
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @old_server_id= @@SESSION.server_id;
+SET SESSION server_id= 100;
+SET @commit_id= 10010;
+ALTER TABLE t1 COMMENT "Hulubulu!";
+SET SESSION server_id= @old_server_id;
+INSERT INTO t3 VALUES (130, 0);
+SET @commit_id= 10011;
+INSERT INTO t3 VALUES (131, 0);
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t3 WHERE a >= 130 ORDER BY a;
+a b
+130 0
+131 0
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t3 WHERE a >= 130 ORDER BY a;
+a b
+130 0
+131 0
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_dbug;
+include/start_slave.inc
+*** MDEV-8031: Parallel replication stops on "connection killed" error (probably incorrectly handled deadlock kill) ***
+INSERT INTO t3 VALUES (201,0), (202,0);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_mdev8031';
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @commit_id= 10200;
+INSERT INTO t3 VALUES (203, 1);
+INSERT INTO t3 VALUES (204, 1);
+INSERT INTO t3 VALUES (205, 1);
+UPDATE t3 SET b=b+1 WHERE a=201;
+UPDATE t3 SET b=b+1 WHERE a=201;
+UPDATE t3 SET b=b+1 WHERE a=201;
+UPDATE t3 SET b=b+1 WHERE a=202;
+UPDATE t3 SET b=b+1 WHERE a=202;
+UPDATE t3 SET b=b+1 WHERE a=202;
+UPDATE t3 SET b=b+1 WHERE a=202;
+UPDATE t3 SET b=b+1 WHERE a=203;
+UPDATE t3 SET b=b+1 WHERE a=203;
+UPDATE t3 SET b=b+1 WHERE a=204;
+UPDATE t3 SET b=b+1 WHERE a=204;
+UPDATE t3 SET b=b+1 WHERE a=204;
+UPDATE t3 SET b=b+1 WHERE a=203;
+UPDATE t3 SET b=b+1 WHERE a=205;
+UPDATE t3 SET b=b+1 WHERE a=205;
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t3 WHERE a>=200 ORDER BY a;
+a b
+201 3
+202 4
+203 4
+204 4
+205 3
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t3 WHERE a>=200 ORDER BY a;
+a b
+201 3
+202 4
+203 4
+204 4
+205 3
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_dbug;
+include/start_slave.inc
+*** Check getting deadlock killed inside open_binlog() during retry. ***
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_retry_event_group_open_binlog_kill';
+SET @old_max= @@GLOBAL.max_relay_log_size;
+SET GLOBAL max_relay_log_size= 4096;
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @commit_id= 10210;
+Omit long queries that cause relaylog rotations and transaction retries...
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t3 WHERE a>=200 ORDER BY a;
+a b
+201 6
+202 8
+203 7
+204 7
+205 5
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t3 WHERE a>=200 ORDER BY a;
+a b
+201 6
+202 8
+203 7
+204 7
+205 5
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_debg;
+SET GLOBAL max_relay_log_size= @old_max;
+include/start_slave.inc
+*** MDEV-8302: Duplicate key with parallel replication ***
+include/stop_slave.inc
+/* Inject a small sleep which makes the race easier to hit. */
+SET @old_dbug=@@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,inject_mdev8302";
+INSERT INTO t7 VALUES (100,1), (101,2), (102,3), (103,4), (104,5);
+SET @old_dbug= @@SESSION.debug_dbug;
+SET @commit_id= 20000;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET SESSION debug_dbug=@old_dbug;
+SELECT * FROM t7 ORDER BY a;
+a b
+1 1
+2 2
+3 86
+4 4
+5 5
+100 5
+101 1
+102 2
+103 3
+104 4
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t7 ORDER BY a;
+a b
+1 1
+2 2
+3 86
+4 4
+5 5
+100 5
+101 1
+102 2
+103 3
+104 4
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+include/start_slave.inc
+*** MDEV-8725: Assertion on ROLLBACK statement in the binary log ***
+BEGIN;
+INSERT INTO t2 VALUES (2000);
+INSERT INTO t1 VALUES (2000);
+INSERT INTO t2 VALUES (2001);
+ROLLBACK;
+SELECT * FROM t1 WHERE a>=2000 ORDER BY a;
+a
+2000
+SELECT * FROM t2 WHERE a>=2000 ORDER BY a;
+a
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a>=2000 ORDER BY a;
+a
+2000
+SELECT * FROM t2 WHERE a>=2000 ORDER BY a;
+a
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+SET DEBUG_SYNC= 'RESET';
+DROP function foo;
+DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8;
+SET DEBUG_SYNC= 'RESET';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel2.result b/mysql-test/suite/rpl/r/rpl_parallel2.result
new file mode 100644
index 00000000000..f79661ee6fb
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel2.result
@@ -0,0 +1,132 @@
+include/rpl_init.inc [topology=1->2]
+*** MDEV-5509: Incorrect value for Seconds_Behind_Master if parallel replication ***
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+include/start_slave.inc
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
+CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave");
+INSERT INTO t1 VALUES (1,sleep(2));
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+include/wait_for_slave_param.inc [Seconds_Behind_Master]
+Seconds_Behind_Master should be zero here because the slave is fully caught up and idle.
+Seconds_Behind_Master = '0'
+*** MDEV-8294: Inconsistent behavior of slave parallel threads at runtime ***
+INSERT INTO t1 VALUES (10,0);
+SET sql_log_bin= 0;
+DELETE FROM t1 WHERE a=10;
+SET sql_log_bin= 1;
+INSERT INTO t1 VALUES (10,0);
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a b
+10 0
+include/wait_for_slave_sql_error.inc [errno=1062]
+SET GLOBAL slave_parallel_threads=8;
+STOP SLAVE;
+SET GLOBAL sql_slave_skip_counter= 1;
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a b
+10 0
+*** MDEV-7818: Deadlock occurring with parallel replication and FTWRL ***
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1,0), (2,0), (3,0);
+include/stop_slave.inc
+SET @old_dbug= @@SESSION.debug_dbug;
+SET @commit_id= 4242;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+BEGIN;
+UPDATE t2 SET b=b+1 WHERE a=2;
+COMMIT;
+BEGIN;
+INSERT INTO t2 VALUES (4,10);
+COMMIT;
+SET SESSION debug_dbug= @old_dbug;
+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);
+INSERT INTO t2 VALUES (10,0);
+INSERT INTO t2 VALUES (11,0);
+INSERT INTO t2 VALUES (12,0);
+INSERT INTO t2 VALUES (13,0);
+INSERT INTO t2 VALUES (14,0);
+INSERT INTO t2 VALUES (15,0);
+INSERT INTO t2 VALUES (16,0);
+INSERT INTO t2 VALUES (17,0);
+INSERT INTO t2 VALUES (18,0);
+INSERT INTO t2 VALUES (19,0);
+BEGIN;
+SELECT * FROM t2 WHERE a=2 FOR UPDATE;
+a b
+2 0
+include/start_slave.inc
+FLUSH TABLES WITH READ LOCK;
+COMMIT;
+STOP SLAVE;
+SELECT * FROM t2 ORDER BY a;
+a b
+1 0
+2 1
+3 0
+4 10
+5 0
+6 0
+7 0
+8 0
+9 0
+10 0
+11 0
+12 0
+13 0
+14 0
+15 0
+16 0
+17 0
+18 0
+19 0
+UNLOCK TABLES;
+SELECT "after UNLOCK TABLES" as state;
+state
+after UNLOCK TABLES
+SELECT "after reap of STOP SLAVE" as state;
+state
+after reap of STOP SLAVE
+include/wait_for_slave_to_stop.inc
+include/start_slave.inc
+SELECT * FROM t2 ORDER BY a;
+a b
+1 0
+2 1
+3 0
+4 10
+5 0
+6 0
+7 0
+8 0
+9 0
+10 0
+11 0
+12 0
+13 0
+14 0
+15 0
+16 0
+17 0
+18 0
+19 0
+*** MDEV-8318: Assertion `!pool->busy' failed in pool_mark_busy(rpl_parallel_thread_pool*) on concurrent FTWRL ***
+LOCK TABLE t2 WRITE;
+FLUSH TABLES WITH READ LOCK;
+FLUSH TABLES WITH READ LOCK;
+KILL QUERY CID;
+ERROR 70100: Query execution was interrupted
+UNLOCK TABLES;
+UNLOCK TABLES;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+DROP TABLE t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_charset.result b/mysql-test/suite/rpl/r/rpl_parallel_charset.result
new file mode 100644
index 00000000000..8929c209934
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_charset.result
@@ -0,0 +1,87 @@
+include/rpl_init.inc [topology=1->2]
+*** MDEV-6156: Parallel replication incorrectly caches charset between worker threads ***
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+include/start_slave.inc
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(100) CHARACTER SET utf8);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SET character_set_client=latin1;
+INSERT INTO t1 VALUES (1, 'Rødgrød med fløde 1');
+INSERT INTO t1 VALUES (2, 'Rødgrød med fløde 2');
+INSERT INTO t1 VALUES (3, 'Rødgrød med fløde 3');
+INSERT INTO t1 VALUES (4, 'Rødgrød med fløde 4');
+INSERT INTO t1 VALUES (5, 'Rødgrød med fløde 5');
+INSERT INTO t1 VALUES (6, 'Rødgrød med fløde 6');
+INSERT INTO t1 VALUES (7, 'Rødgrød med fløde 7');
+INSERT INTO t1 VALUES (8, 'Rødgrød med fløde 8');
+INSERT INTO t1 VALUES (9, 'Rødgrød med fløde 9');
+INSERT INTO t1 VALUES (10, 'Rødgrød med fløde 10');
+SET character_set_client=utf8;
+INSERT INTO t1 VALUES (11, 'Rødgrød med fløde 1');
+INSERT INTO t1 VALUES (12, 'Rødgrød med fløde 2');
+INSERT INTO t1 VALUES (13, 'Rødgrød med fløde 3');
+INSERT INTO t1 VALUES (14, 'Rødgrød med fløde 4');
+INSERT INTO t1 VALUES (15, 'Rødgrød med fløde 5');
+INSERT INTO t1 VALUES (16, 'Rødgrød med fløde 6');
+INSERT INTO t1 VALUES (17, 'Rødgrød med fløde 7');
+INSERT INTO t1 VALUES (18, 'Rødgrød med fløde 8');
+INSERT INTO t1 VALUES (19, 'Rødgrød med fløde 9');
+INSERT INTO t1 VALUES (20, 'Rødgrød med fløde 10');
+SET character_set_results=utf8;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 Rødgrød med fløde 1
+2 Rødgrød med fløde 2
+3 Rødgrød med fløde 3
+4 Rødgrød med fløde 4
+5 Rødgrød med fløde 5
+6 Rødgrød med fløde 6
+7 Rødgrød med fløde 7
+8 Rødgrød med fløde 8
+9 Rødgrød med fløde 9
+10 Rødgrød med fløde 10
+11 Rødgrød med fløde 1
+12 Rødgrød med fløde 2
+13 Rødgrød med fløde 3
+14 Rødgrød med fløde 4
+15 Rødgrød med fløde 5
+16 Rødgrød med fløde 6
+17 Rødgrød med fløde 7
+18 Rødgrød med fløde 8
+19 Rødgrød med fløde 9
+20 Rødgrød med fløde 10
+SET character_set_results=utf8;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 Rødgrød med fløde 1
+2 Rødgrød med fløde 2
+3 Rødgrød med fløde 3
+4 Rødgrød med fløde 4
+5 Rødgrød med fløde 5
+6 Rødgrød med fløde 6
+7 Rødgrød med fløde 7
+8 Rødgrød med fløde 8
+9 Rødgrød med fløde 9
+10 Rødgrød med fløde 10
+11 Rødgrød med fløde 1
+12 Rødgrød med fløde 2
+13 Rødgrød med fløde 3
+14 Rødgrød med fløde 4
+15 Rødgrød med fløde 5
+16 Rødgrød med fløde 6
+17 Rødgrød med fløde 7
+18 Rødgrød med fløde 8
+19 Rødgrød med fløde 9
+20 Rødgrød med fløde 10
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_mdev6589.result b/mysql-test/suite/rpl/r/rpl_parallel_mdev6589.result
new file mode 100644
index 00000000000..d681fd7546d
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_mdev6589.result
@@ -0,0 +1,147 @@
+include/master-slave.inc
+[connection master]
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=current_pos;
+include/start_slave.inc
+*** MDEV-6589: Incorrect relay log start position when restarting SQL thread after error in parallel replication ***
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY) ENGINE=MyISAM;
+CREATE TABLE t2 (a int PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+SELECT * FROM t1;
+a
+1
+SELECT * FROM t2;
+a
+1
+SET sql_log_bin=0;
+BEGIN;
+INSERT INTO t2 VALUES (5);
+SET gtid_domain_id=0;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t2 VALUES (3);
+FLUSH LOGS;
+INSERT INTO t1 VALUES (4);
+SET gtid_domain_id=1;
+INSERT INTO t2 VALUES (5);
+SET gtid_domain_id=0;
+INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (7);
+SET gtid_domain_id=2;
+INSERT INTO t2 VALUES (8);
+INSERT INTO t1 VALUES (9);
+FLUSH LOGS;
+SET gtid_domain_id=3;
+INSERT INTO t2 VALUES (10);
+INSERT INTO t1 VALUES (11);
+SET gtid_domain_id=1;
+INSERT INTO t1 VALUES (12);
+INSERT INTO t2 VALUES (13);
+SET gtid_domain_id=0;
+INSERT INTO t2 VALUES (14);
+FLUSH LOGS;
+SET gtid_domain_id=3;
+INSERT INTO t2 VALUES (15);
+SET gtid_domain_id=2;
+INSERT INTO t2 VALUES (16);
+SET gtid_domain_id=0;
+INSERT INTO t1 VALUES (17);
+SET @gtid0 = @@last_gtid;
+SET gtid_domain_id=2;
+INSERT INTO t1 VALUES (18);
+SET @gtid2 = @@last_gtid;
+SET gtid_domain_id=3;
+INSERT INTO t1 VALUES (19);
+SET @gtid3 = @@last_gtid;
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+4
+6
+7
+9
+11
+12
+17
+18
+19
+SELECT * FROM t2 ORDER BY a;
+a
+1
+3
+5
+8
+10
+13
+14
+15
+16
+include/save_master_gtid.inc
+SELECT MASTER_GTID_WAIT('WAIT_POS');
+MASTER_GTID_WAIT('WAIT_POS')
+0
+COMMIT;
+SET sql_log_bin=1;
+include/wait_for_slave_sql_error.inc [errno=1062]
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+4
+6
+7
+9
+11
+17
+18
+19
+SELECT * FROM t2 ORDER BY a;
+a
+1
+3
+5
+8
+10
+14
+15
+16
+SET sql_log_bin=0;
+DELETE FROM t2 WHERE a=5;
+SET sql_log_bin=1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+4
+6
+7
+9
+11
+12
+17
+18
+19
+SELECT * FROM t2 ORDER BY a;
+a
+1
+3
+5
+8
+10
+13
+14
+15
+16
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+SET DEBUG_SYNC= 'RESET';
+DROP TABLE t1,t2;
+SET DEBUG_SYNC= 'RESET';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_multilevel.result b/mysql-test/suite/rpl/r/rpl_parallel_multilevel.result
new file mode 100644
index 00000000000..ae9389c6266
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_multilevel.result
@@ -0,0 +1,164 @@
+include/rpl_init.inc [topology=1->2->3->4]
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='optimistic';
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='optimistic';
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='optimistic';
+*** MDEV-6676: Test that @@skip_parallel_replication is preserved in slave binlog ***
+INSERT INTO t1 VALUES(1,1);
+BEGIN;
+INSERT INTO t1 VALUES(2,1);
+INSERT INTO t1 VALUES(3,1);
+COMMIT;
+SET SESSION skip_parallel_replication=1;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET SESSION skip_parallel_replication=0;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 11
+3 1
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 11
+3 1
+status
+Ok, no retry
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 11
+3 1
+status
+Ok, no retry
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 11
+3 1
+status
+Ok, no retry
+*** MDEV-6676: Test that the FL_WAITED flag in GTID is preserved in slave binlog ***
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET GLOBAL slave_parallel_mode='optimistic';
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET GLOBAL slave_parallel_mode='optimistic';
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET GLOBAL slave_parallel_mode='optimistic';
+BEGIN;
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET debug_sync="thd_report_wait_for SIGNAL waiting1";
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET debug_sync="now WAIT_FOR waiting1";
+SET debug_sync="thd_report_wait_for SIGNAL waiting2";
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET debug_sync="now WAIT_FOR waiting2";
+SET debug_sync="thd_report_wait_for SIGNAL waiting3";
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET debug_sync="now WAIT_FOR waiting3";
+SET debug_sync="thd_report_wait_for SIGNAL waiting4";
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET debug_sync="now WAIT_FOR waiting4";
+SET debug_sync="thd_report_wait_for SIGNAL waiting5";
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET debug_sync="now WAIT_FOR waiting5";
+SET debug_sync="thd_report_wait_for SIGNAL waiting6";
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET debug_sync="now WAIT_FOR waiting6";
+SET debug_sync="thd_report_wait_for SIGNAL waiting7";
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET debug_sync="now WAIT_FOR waiting7";
+SET debug_sync="thd_report_wait_for SIGNAL waiting8";
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET debug_sync="now WAIT_FOR waiting8";
+COMMIT;
+SET debug_sync="RESET";
+COMMIT;
+COMMIT;
+COMMIT;
+COMMIT;
+COMMIT;
+COMMIT;
+COMMIT;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 20
+3 1
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 20
+3 1
+status
+Ok, no retry
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 20
+3 1
+status
+Ok, no retry
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1
+2 20
+3 1
+status
+Ok, no retry
+include/stop_slave.inc
+SET GLOBAL slave_parallel_mode=@old_parallel_mode;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+include/stop_slave.inc
+SET GLOBAL slave_parallel_mode=@old_parallel_mode;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+include/stop_slave.inc
+SET GLOBAL slave_parallel_mode=@old_parallel_mode;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_multilevel2.result b/mysql-test/suite/rpl/r/rpl_parallel_multilevel2.result
new file mode 100644
index 00000000000..47bf2ff887f
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_multilevel2.result
@@ -0,0 +1,52 @@
+include/rpl_init.inc [topology=1->2->3]
+*** MDEV-7668: Intermediate master groups CREATE with INSERT, causing parallel replication failure ***
+SET @old_updates= @@GLOBAL.binlog_direct_non_transactional_updates;
+SET GLOBAL binlog_direct_non_transactional_updates=OFF;
+SET SESSION binlog_direct_non_transactional_updates=OFF;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+include/stop_slave.inc
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=10;
+SET @old_commit_count=@@GLOBAL.binlog_commit_wait_count;
+SET GLOBAL binlog_commit_wait_count=2;
+SET @old_commit_usec=@@GLOBAL.binlog_commit_wait_usec;
+SET GLOBAL binlog_commit_wait_usec=2000000;
+SET @old_updates= @@GLOBAL.binlog_direct_non_transactional_updates;
+SET GLOBAL binlog_direct_non_transactional_updates=OFF;
+SET SESSION binlog_direct_non_transactional_updates=OFF;
+CHANGE MASTER TO master_use_gtid=current_pos;
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=current_pos;
+BEGIN;
+CREATE TEMPORARY TABLE t2 (a INT PRIMARY KEY) ENGINE=MEMORY;
+COMMIT;
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 SELECT a, a*10 FROM t2;
+DROP TABLE t2;
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 10
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 10
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+SET GLOBAL binlog_commit_wait_count=@old_commit_count;
+SET GLOBAL binlog_commit_wait_usec=@old_commit_usec;
+SET GLOBAL binlog_direct_non_transactional_updates= @old_updates;
+include/start_slave.inc
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+SET GLOBAL binlog_direct_non_transactional_updates= @old_updates;
+CALL mtr.add_suppression("Statement accesses nontransactional table as well as transactional or temporary table");
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_no_log_slave_updates.result b/mysql-test/suite/rpl/r/rpl_parallel_no_log_slave_updates.result
new file mode 100644
index 00000000000..0f0b6c9f02a
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_no_log_slave_updates.result
@@ -0,0 +1,124 @@
+include/rpl_init.inc [topology=1->2]
+*** Test killing transaction waiting in commit for previous transaction to commit, when not using 2-phase commit ***
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+include/start_slave.inc
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+SET sql_log_bin=0;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+SET sql_log_bin=0;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (31, foo(31,
+'ha_commit_one_phase WAIT_FOR t2_waiting',
+'commit_one_phase_2 SIGNAL t1_ready WAIT_FOR t1_cont'));
+SET debug_sync='now WAIT_FOR master_queued1';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+BEGIN;
+INSERT INTO t3 VALUES (32, foo(32,
+'ha_write_row_end SIGNAL t2_query WAIT_FOR t2_cont',
+''));
+INSERT INTO t3 VALUES (33, foo(33,
+'wait_for_prior_commit_waiting SIGNAL t2_waiting',
+'wait_for_prior_commit_killed SIGNAL t2_killed'));
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+INSERT INTO t3 VALUES (34, foo(34,
+'',
+''));
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+a b
+31 31
+32 32
+33 33
+34 34
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Query execution was interrupted");
+CALL mtr.add_suppression("Commit failed due to failure of an earlier commit on which this one depends");
+CALL mtr.add_suppression("Slave: Connection was killed");
+SET sql_log_bin=1;
+SET debug_sync='now WAIT_FOR t2_query';
+SET debug_sync='now SIGNAL t2_cont';
+SET debug_sync='now WAIT_FOR t1_ready';
+KILL THD_ID;
+SET debug_sync='now WAIT_FOR t2_killed';
+SET debug_sync='now SIGNAL t1_cont';
+include/wait_for_slave_sql_error.inc [errno=1317,1927,1963]
+STOP SLAVE IO_THREAD;
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+a b
+31 31
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+INSERT INTO t3 VALUES (39,0);
+include/start_slave.inc
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+a b
+31 31
+32 32
+33 33
+34 34
+39 0
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+include/start_slave.inc
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+SET debug_sync = 'reset';
+include/start_slave.inc
+DROP function foo;
+DROP TABLE t3;
+SET debug_sync = 'reset';
+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
new file mode 100644
index 00000000000..99bd8562ffe
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_optimistic.result
@@ -0,0 +1,580 @@
+include/rpl_init.inc [topology=1->2]
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='optimistic';
+INSERT INTO t1 VALUES(1,1);
+BEGIN;
+INSERT INTO t1 VALUES(2,1);
+INSERT INTO t1 VALUES(3,1);
+COMMIT;
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,2);
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,3);
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,4);
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,5);
+DELETE FROM t1 WHERE a=3;
+INSERT INTO t1 VALUES(3,2);
+DELETE FROM t1 WHERE a=1;
+INSERT INTO t1 VALUES(1,2);
+DELETE FROM t1 WHERE a=3;
+INSERT INTO t1 VALUES(3,3);
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,6);
+include/save_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 6
+3 3
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 6
+3 3
+*** Test a bunch of non-transactional/DDL event groups. ***
+include/stop_slave.inc
+INSERT INTO t1 VALUES (4,4);
+INSERT INTO t1 VALUES (5,5);
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1);
+CREATE TABLE t3 (a INT PRIMARY KEY) ENGINE=MyISAM;
+ALTER TABLE t2 ADD b INT;
+INSERT INTO t2 VALUES (2,2);
+ALTER TABLE t2 DROP b;
+INSERT INTO t2 VALUES (3);
+ALTER TABLE t2 ADD c INT;
+INSERT INTO t2 VALUES (4,5);
+INSERT INTO t2 VALUES (5,5);
+INSERT INTO t3 VALUES (1);
+UPDATE t2 SET c=NULL WHERE a=4;
+ALTER TABLE t2 ADD UNIQUE (c);
+INSERT INTO t2 VALUES (6,6);
+UPDATE t2 SET c=c+100 WHERE a=2;
+INSERT INTO t3(a) VALUES (2);
+DELETE FROM t3 WHERE a=2;
+INSERT INTO t3(a) VALUES (2);
+DELETE FROM t3 WHERE a=2;
+ALTER TABLE t3 CHANGE a c INT NOT NULL;
+INSERT INTO t3(c) VALUES (2);
+DELETE FROM t3 WHERE c=2;
+INSERT INTO t3 SELECT a+200 FROM t2;
+DELETE FROM t3 WHERE c >= 200;
+INSERT INTO t3 SELECT a+200 FROM t2;
+include/save_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 6
+3 3
+4 4
+5 5
+SELECT * FROM t2 ORDER BY a;
+a c
+1 NULL
+2 NULL
+3 NULL
+4 NULL
+5 5
+6 6
+SELECT * FROM t3 ORDER BY c;
+c
+1
+201
+202
+203
+204
+205
+206
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 6
+3 3
+4 4
+5 5
+SELECT * FROM t2 ORDER BY a;
+a c
+1 NULL
+2 NULL
+3 NULL
+4 NULL
+5 5
+6 6
+SELECT * FROM t3 ORDER BY c;
+c
+1
+201
+202
+203
+204
+205
+206
+*** Test @@skip_parallel_replication. ***
+include/stop_slave.inc
+UPDATE t1 SET b=10 WHERE a=3;
+SET SESSION skip_parallel_replication=1;
+UPDATE t1 SET b=20 WHERE a=3;
+UPDATE t1 SET b=30 WHERE a=3;
+UPDATE t1 SET b=50 WHERE a=3;
+UPDATE t1 SET b=80 WHERE a=3;
+UPDATE t1 SET b=130 WHERE a=3;
+UPDATE t1 SET b=210 WHERE a=3;
+UPDATE t1 SET b=340 WHERE a=3;
+UPDATE t1 SET b=550 WHERE a=3;
+UPDATE t1 SET b=890 WHERE a=3;
+SET SESSION skip_parallel_replication=0;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 6
+3 890
+4 4
+5 5
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 6
+3 890
+4 4
+5 5
+status
+Ok, no retry
+*** Test that we do not replicate in parallel transactions that had row lock waits on the master ***
+include/stop_slave.inc
+BEGIN;
+UPDATE t1 SET b=b+1 WHERE a=3;
+SET debug_sync='thd_report_wait_for SIGNAL waiting1';
+UPDATE t1 SET b=1001 WHERE a=3;
+SET debug_sync='now WAIT_FOR waiting1';
+BEGIN;
+UPDATE t1 SET b=1002 WHERE a=5;
+SET debug_sync='thd_report_wait_for SIGNAL waiting2';
+UPDATE t1 SET b=102 WHERE a=3;
+SET debug_sync='now WAIT_FOR waiting2';
+UPDATE t1 SET b=1000 WHERE a=1;
+SET debug_sync='thd_report_wait_for SIGNAL waiting3';
+UPDATE t1 SET b=1003 WHERE a=5;
+SET debug_sync='now WAIT_FOR waiting3';
+SET debug_sync='thd_report_wait_for SIGNAL waiting4';
+UPDATE t1 SET b=1004 WHERE a=3;
+SET debug_sync='now WAIT_FOR waiting4';
+SET debug_sync='thd_report_wait_for SIGNAL waiting5';
+UPDATE t1 SET b=1005 WHERE a=5;
+SET debug_sync='now WAIT_FOR waiting5';
+SET debug_sync='thd_report_wait_for SIGNAL waiting6';
+UPDATE t1 SET b=1006 WHERE a=1;
+SET debug_sync='now WAIT_FOR waiting6';
+SET debug_sync='thd_report_wait_for SIGNAL waiting7';
+UPDATE t1 SET b=1007 WHERE a=5;
+SET debug_sync='now WAIT_FOR waiting7';
+SET debug_sync='thd_report_wait_for SIGNAL waiting8';
+UPDATE t1 SET b=1008 WHERE a=3;
+SET debug_sync='now WAIT_FOR waiting8';
+COMMIT;
+COMMIT;
+SET debug_sync='RESET';
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1006
+2 6
+3 1008
+4 4
+5 1007
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 1006
+2 6
+3 1008
+4 4
+5 1007
+status
+Ok, no retry
+*** Test that we replicate correctly when using READ COMMITTED and binlog_format=MIXED on the slave ***
+include/stop_slave.inc
+SET @old_format= @@GLOBAL.binlog_format;
+SET GLOBAL binlog_format= MIXED;
+SET @old_isolation= @@GLOBAL.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+DROP TABLE t1, t2;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t2 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,0), (2,0), (3,0);
+INSERT INTO t2 VALUES (1,0), (2,0);
+INSERT INTO t1 SELECT 4, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 4, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 5, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 5, COUNT(*) FROM t1;
+INSERT INTO t2 SELECT 6, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 6, COUNT(*) FROM t2;
+INSERT INTO t1 SELECT 7, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 7, COUNT(*) FROM t1;
+INSERT INTO t2 SELECT 8, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 8, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 9, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 9, COUNT(*) FROM t2;
+INSERT INTO t1 SELECT 10, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 10, COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 0
+2 0
+3 0
+4 2
+5 3
+6 5
+7 5
+8 7
+9 8
+10 8
+SELECT * FROM t2 ORDER BY a;
+a b
+1 0
+2 0
+4 4
+5 5
+6 5
+7 7
+8 7
+9 8
+10 10
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 0
+2 0
+3 0
+4 2
+5 3
+6 5
+7 5
+8 7
+9 8
+10 8
+SELECT * FROM t2 ORDER BY a;
+a b
+1 0
+2 0
+4 4
+5 5
+6 5
+7 7
+8 7
+9 8
+10 10
+include/stop_slave.inc
+SET GLOBAL binlog_format= @old_format;
+SET GLOBAL tx_isolation= @old_isolation;
+include/start_slave.inc
+*** MDEV-7888: ANALYZE TABLE does wakeup_subsequent_commits(), causing wrong binlog order and parallel replication hang ***
+DROP TABLE t1, t2, t3;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,1), (2,1), (3,1), (4,1), (5,1);
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_analyze_table_sleep';
+ALTER TABLE t2 COMMENT "123abc";
+ANALYZE TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 analyze status OK
+INSERT INTO t1 VALUES (1,2);
+INSERT INTO t1 VALUES (2,2);
+INSERT INTO t1 VALUES (3,2);
+INSERT INTO t1 VALUES (4,2);
+INSERT INTO t3 VALUES (1,3);
+ALTER TABLE t2 COMMENT "hello, world";
+BEGIN;
+INSERT INTO t1 VALUES (5,4);
+INSERT INTO t1 VALUES (6,4);
+INSERT INTO t1 VALUES (7,4);
+INSERT INTO t1 VALUES (8,4);
+INSERT INTO t1 VALUES (9,4);
+INSERT INTO t1 VALUES (10,4);
+INSERT INTO t1 VALUES (11,4);
+INSERT INTO t1 VALUES (12,4);
+INSERT INTO t1 VALUES (13,4);
+INSERT INTO t1 VALUES (14,4);
+INSERT INTO t1 VALUES (15,4);
+INSERT INTO t1 VALUES (16,4);
+INSERT INTO t1 VALUES (17,4);
+INSERT INTO t1 VALUES (18,4);
+INSERT INTO t1 VALUES (19,4);
+INSERT INTO t1 VALUES (20,4);
+COMMIT;
+INSERT INTO t1 VALUES (21,5);
+INSERT INTO t1 VALUES (22,5);
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 2
+3 2
+4 2
+5 4
+6 4
+7 4
+8 4
+9 4
+10 4
+11 4
+12 4
+13 4
+14 4
+15 4
+16 4
+17 4
+18 4
+19 4
+20 4
+21 5
+22 5
+SELECT * FROM t2 ORDER BY a;
+a b
+1 1
+2 1
+3 1
+4 1
+5 1
+SELECT * FROM t3 ORDER BY a;
+a b
+1 3
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 2
+3 2
+4 2
+5 4
+6 4
+7 4
+8 4
+9 4
+10 4
+11 4
+12 4
+13 4
+14 4
+15 4
+16 4
+17 4
+18 4
+19 4
+20 4
+21 5
+22 5
+SELECT * FROM t2 ORDER BY a;
+a b
+1 1
+2 1
+3 1
+4 1
+5 1
+SELECT * FROM t3 ORDER BY a;
+a b
+1 3
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_debug;
+include/start_slave.inc
+*** MDEV-7929: record_gtid() for non-transactional event group calls wakeup_subsequent_commits() too early, causing slave hang. ***
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_record_gtid_serverid_100_sleep';
+ALTER TABLE t3 COMMENT "DDL statement 1";
+INSERT INTO t1 VALUES (30,0);
+INSERT INTO t1 VALUES (31,0);
+INSERT INTO t1 VALUES (32,0);
+INSERT INTO t1 VALUES (33,0);
+INSERT INTO t1 VALUES (34,0);
+INSERT INTO t1 VALUES (35,0);
+INSERT INTO t1 VALUES (36,0);
+SET @old_server_id= @@SESSION.server_id;
+SET SESSION server_id= 100;
+ANALYZE TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 analyze status OK
+SET SESSION server_id= @old_server_id;
+INSERT INTO t1 VALUES (37,0);
+ALTER TABLE t3 COMMENT "DDL statement 2";
+INSERT INTO t1 VALUES (38,0);
+INSERT INTO t1 VALUES (39,0);
+ALTER TABLE t3 COMMENT "DDL statement 3";
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a b
+30 0
+31 0
+32 0
+33 0
+34 0
+35 0
+36 0
+37 0
+38 0
+39 0
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a b
+30 0
+31 0
+32 0
+33 0
+34 0
+35 0
+36 0
+37 0
+38 0
+39 0
+include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_debug;
+include/start_slave.inc
+*** MDEV-8113: ALTER TABLE causes slave hang in optimistic parallel replication ***
+include/stop_slave.inc
+ALTER TABLE t2 ADD c INT;
+INSERT INTO t2 (a,b) VALUES (50, 0);
+INSERT INTO t2 (a,b) VALUES (51, 1);
+INSERT INTO t2 (a,b) VALUES (52, 2);
+INSERT INTO t2 (a,b) VALUES (53, 3);
+INSERT INTO t2 (a,b) VALUES (54, 4);
+INSERT INTO t2 (a,b) VALUES (55, 5);
+INSERT INTO t2 (a,b) VALUES (56, 6);
+INSERT INTO t2 (a,b) VALUES (57, 7);
+INSERT INTO t2 (a,b) VALUES (58, 8);
+INSERT INTO t2 (a,b) VALUES (59, 9);
+ALTER TABLE t2 DROP COLUMN c;
+SELECT * FROM t2 WHERE a >= 50 ORDER BY a;
+a b
+50 0
+51 1
+52 2
+53 3
+54 4
+55 5
+56 6
+57 7
+58 8
+59 9
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 50 ORDER BY a;
+a b
+50 0
+51 1
+52 2
+53 3
+54 4
+55 5
+56 6
+57 7
+58 8
+59 9
+*** MDEV-8075: DROP TEMPORARY TABLE not marked as ddl, causing optimistic parallel replication to fail ***
+include/stop_slave.inc
+INSERT INTO t1 VALUES (40, 10);
+CREATE TEMPORARY TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (41);
+BEGIN;
+INSERT INTO t2 SELECT a, 20 FROM t1;
+DROP TEMPORARY TABLE t1;
+COMMIT;
+INSERT INTO t1 VALUES (42, 10);
+include/save_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 40 ORDER BY a;
+a b
+40 10
+42 10
+SELECT * FROM t2 WHERE a >= 40 ORDER BY a;
+a b
+41 20
+50 0
+51 1
+52 2
+53 3
+54 4
+55 5
+56 6
+57 7
+58 8
+59 9
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 40 ORDER BY a;
+a b
+40 10
+42 10
+SELECT * FROM t2 WHERE a >= 40 ORDER BY a;
+a b
+41 20
+50 0
+51 1
+52 2
+53 3
+54 4
+55 5
+56 6
+57 7
+58 8
+59 9
+DELETE FROM t1;
+DELETE FROM t2;
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+set global log_warnings=2;
+BEGIN;
+INSERT INTO t1 SET a=1;
+SET @save.binlog_format=@@session.binlog_format;
+SET @@SESSION.binlog_format=row;
+BEGIN;
+INSERT INTO t1 SET a=1;
+INSERT INTO t2 SET a=1;
+COMMIT;
+BEGIN;
+DELETE FROM t2;
+COMMIT;
+ROLLBACK;
+SET @@SESSION.binlog_format= @save.binlog_format;
+DELETE FROM t1;
+DELETE FROM t2;
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+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
+DROP TABLE t1, t2, t3;
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+Check that no more than the expected last two GTIDs are in mysql.gtid_slave_pos
+select count(*) from mysql.gtid_slave_pos order by domain_id, sub_id;
+count(*)
+2
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_optimistic_nobinlog.result b/mysql-test/suite/rpl/r/rpl_parallel_optimistic_nobinlog.result
new file mode 100644
index 00000000000..91970f3eeb5
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_optimistic_nobinlog.result
@@ -0,0 +1,85 @@
+include/rpl_init.inc [topology=1->2]
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t2 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,0), (2,0), (3,0);
+INSERT INTO t2 VALUES (1,0), (2,0);
+SET @old_isolation= @@GLOBAL.tx_isolation;
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='aggressive';
+*** Test that we replicate correctly when using READ COMMITTED and --log-slave-updates=0 on the slave ***
+INSERT INTO t1 SELECT 4, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 4, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 5, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 5, COUNT(*) FROM t1;
+INSERT INTO t2 SELECT 6, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 6, COUNT(*) FROM t2;
+INSERT INTO t1 SELECT 7, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 7, COUNT(*) FROM t1;
+INSERT INTO t2 SELECT 8, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 8, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 9, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 9, COUNT(*) FROM t2;
+INSERT INTO t1 SELECT 10, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 10, COUNT(*) FROM t1;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 0
+2 0
+3 0
+4 2
+5 3
+6 5
+7 5
+8 7
+9 8
+10 8
+SELECT * FROM t2 ORDER BY a;
+a b
+1 0
+2 0
+4 4
+5 5
+6 5
+7 7
+8 7
+9 8
+10 10
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 0
+2 0
+3 0
+4 2
+5 3
+6 5
+7 5
+8 7
+9 8
+10 8
+SELECT * FROM t2 ORDER BY a;
+a b
+1 0
+2 0
+4 4
+5 5
+6 5
+7 7
+8 7
+9 8
+10 10
+include/stop_slave.inc
+SET GLOBAL tx_isolation= @old_isolation;
+SET GLOBAL slave_parallel_mode=@old_parallel_mode;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+DROP TABLE t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_partition.result b/mysql-test/suite/rpl/r/rpl_parallel_partition.result
new file mode 100644
index 00000000000..e0cfe9882d2
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_partition.result
@@ -0,0 +1,42 @@
+include/master-slave.inc
+[connection master]
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,inject_wakeup_subsequent_commits_sleep";
+SET GLOBAL slave_parallel_threads=8;
+*** MDEV-8147: Assertion `m_lock_type == 2' failed in handler::ha_close() during parallel replication ***
+CREATE TABLE E (
+pk INTEGER AUTO_INCREMENT,
+col_int_nokey INTEGER /*! NULL */,
+col_int_key INTEGER /*! NULL */,
+col_date_key DATE /*! NULL */,
+col_date_nokey DATE /*! NULL */,
+col_time_key TIME /*! NULL */,
+col_time_nokey TIME /*! NULL */,
+col_datetime_key DATETIME /*! NULL */,
+col_datetime_nokey DATETIME /*! NULL */,
+col_varchar_key VARCHAR(1) /*! NULL */,
+col_varchar_nokey VARCHAR(1) /*! NULL */,
+PRIMARY KEY (pk),
+KEY (col_int_key),
+KEY (col_date_key),
+KEY (col_time_key),
+KEY (col_datetime_key),
+KEY (col_varchar_key, col_int_key)
+) ENGINE=InnoDB;
+ALTER TABLE `E` PARTITION BY KEY() PARTITIONS 5;
+ALTER TABLE `E` REMOVE PARTITIONING;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+include/start_slave.inc
+include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=8;
+include/start_slave.inc
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+DROP TABLE `E`;
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_retry.result b/mysql-test/suite/rpl/r/rpl_parallel_retry.result
new file mode 100644
index 00000000000..0129814e6a8
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_retry.result
@@ -0,0 +1,307 @@
+include/rpl_init.inc [topology=1->2]
+*** Test retry of transactions that fail to replicate due to deadlock or similar temporary error. ***
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,1);
+SET sql_log_bin=0;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+include/start_slave.inc
+SET sql_log_bin=0;
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+RETURNS INT DETERMINISTIC
+BEGIN
+IF d1 != '' THEN
+SET debug_sync = d1;
+END IF;
+IF d2 != '' THEN
+SET debug_sync = d2;
+END IF;
+RETURN x;
+END
+||
+SET sql_log_bin=1;
+include/stop_slave.inc
+SET gtid_seq_no = 100;
+BEGIN;
+INSERT INTO t1 VALUES (2,1);
+UPDATE t1 SET b=b+1 WHERE a=1;
+INSERT INTO t1 VALUES (3,1);
+COMMIT;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 1
+3 1
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_gtid_0_x_100";
+include/start_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+retries
+1
+SELECT * FROM t1 ORDER BY a;
+a b
+1 2
+2 1
+3 1
+*** Test that double retry works when the first retry also fails with temp error ***
+include/stop_slave.inc
+SET gtid_seq_no = 100;
+SET @old_server_id = @@server_id;
+SET server_id = 10;
+BEGIN;
+INSERT INTO t1 VALUES (4,1);
+UPDATE t1 SET b=b+1 WHERE a=1;
+INSERT INTO t1 VALUES (5,1);
+INSERT INTO t1 VALUES (6,1);
+COMMIT;
+SET server_id = @old_server_id;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 3
+2 1
+3 1
+4 1
+5 1
+6 1
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_gtid_0_x_100,rpl_parallel_simulate_double_temp_err_gtid_0_x_100";
+include/start_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+retries
+2
+SELECT * FROM t1 ORDER BY a;
+a b
+1 3
+2 1
+3 1
+4 1
+5 1
+6 1
+*** Test too many retries, eventually causing failure. ***
+include/stop_slave.inc
+SET gtid_seq_no = 100;
+SET @old_server_id = @@server_id;
+SET server_id = 11;
+BEGIN;
+INSERT INTO t1 VALUES (7,1);
+UPDATE t1 SET b=b+1 WHERE a=1;
+INSERT INTO t1 VALUES (8,1);
+INSERT INTO t1 VALUES (9,1);
+COMMIT;
+SET server_id = @old_server_id;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 4
+2 1
+3 1
+4 1
+5 1
+6 1
+7 1
+8 1
+9 1
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Slave worker thread retried transaction 10 time\\(s\\) in vain, giving up");
+CALL mtr.add_suppression("Slave: Deadlock found when trying to get lock; try restarting transaction");
+SET sql_log_bin=1;
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_gtid_0_x_100,rpl_parallel_simulate_infinite_temp_err_gtid_0_x_100";
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1213]
+SET GLOBAL debug_dbug=@old_dbug;
+retries
+10
+SELECT * FROM t1 ORDER BY a;
+a b
+1 3
+2 1
+3 1
+4 1
+5 1
+6 1
+STOP SLAVE IO_THREAD;
+include/start_slave.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+1 4
+2 1
+3 1
+4 1
+5 1
+6 1
+7 1
+8 1
+9 1
+*** Test retry of event group that spans multiple relay log files. ***
+CREATE TABLE t2 (a int PRIMARY KEY, b BLOB) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1,"Hulubullu");
+include/stop_slave.inc
+SET @old_max= @@GLOBAL.max_relay_log_size;
+SET GLOBAL max_relay_log_size=4096;
+SET gtid_seq_no = 100;
+SET @old_server_id = @@server_id;
+SET server_id = 12;
+BEGIN;
+INSERT INTO t1 VALUES (10, 4);
+COMMIT;
+SET server_id = @old_server_id;
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a b
+10 4
+SELECT a, LENGTH(b) FROM t2 ORDER BY a;
+a LENGTH(b)
+1 9
+2 5006
+3 5012
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_gtid_0_x_100";
+include/start_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+retries
+1
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a b
+10 4
+SELECT a, LENGTH(b) FROM t2 ORDER BY a;
+a LENGTH(b)
+1 9
+2 5006
+3 5012
+INSERT INTO t1 VALUES (11,11);
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+a b
+10 4
+11 11
+SELECT a, LENGTH(b) FROM t2 ORDER BY a;
+a LENGTH(b)
+1 9
+2 5006
+3 5012
+4 5000
+SET GLOBAL max_relay_log_size=@old_max;
+*** MDEV-7065: Incorrect relay log position in parallel replication after retry of transaction ***
+include/stop_slave.inc
+BEGIN;
+INSERT INTO t1 VALUES (100, 0);
+INSERT INTO t1 VALUES (101, 0);
+INSERT INTO t1 VALUES (102, 0);
+INSERT INTO t1 VALUES (103, 0);
+COMMIT;
+SELECT * FROM t1 WHERE a >= 100 ORDER BY a;
+a b
+100 0
+101 0
+102 0
+103 0
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_xid";
+include/start_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+retries
+1
+SELECT * FROM t1 WHERE a >= 100 ORDER BY a;
+a b
+100 0
+101 0
+102 0
+103 0
+include/stop_slave_sql.inc
+INSERT INTO t1 VALUES (104, 1);
+INSERT INTO t1 VALUES (105, 1);
+INSERT INTO t1 VALUES (106, 1);
+INSERT INTO t1 VALUES (107, 1);
+INSERT INTO t1 VALUES (108, 1);
+INSERT INTO t1 VALUES (109, 1);
+include/start_slave.inc
+SELECT * FROM t1 WHERE a >= 100 ORDER BY a;
+a b
+100 0
+101 0
+102 0
+103 0
+104 1
+105 1
+106 1
+107 1
+108 1
+109 1
+*** MDEV-6917: Parallel replication: "Commit failed due to failure of an earlier commit on which this one depends", but no prior failure seen **
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT, KEY b_idx(b)) ENGINE=InnoDB;
+INSERT INTO t3 VALUES (1,NULL), (2,2), (3,NULL), (4,4), (5, NULL), (6, 6);
+CREATE TABLE t4 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=no;
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+BEGIN;
+INSERT INTO t4 VALUES (10, foo(1, 'before_execute_sql_command WAIT_FOR t1_start', ''));
+UPDATE t3 SET b=NULL WHERE a=6;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued1';
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+BEGIN;
+INSERT INTO t4 VALUES (20, foo(2, 'group_commit_waiting_for_prior SIGNAL t2_waiting', ''));
+DELETE FROM t3 WHERE b <= 3;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued2';
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+BEGIN;
+INSERT INTO t4 VALUES (30, foo(3, 'before_execute_sql_command WAIT_FOR t3_start', 'group_commit_waiting_for_prior SIGNAL t3_waiting'));
+INSERT INTO t3 VALUES (7,7);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+COMMIT;
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+SET binlog_format=@old_format;
+SET binlog_format=@old_format;
+SET debug_sync='RESET';
+SET binlog_format=@old_format;
+SELECT * FROM t3 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 NULL
+7 7
+SET @old_dbug=@@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,thd_need_ordering_with_force";
+include/start_slave.inc
+SET debug_sync='now WAIT_FOR t2_waiting';
+SET debug_sync='now SIGNAL t3_start';
+SET debug_sync='now WAIT_FOR t3_waiting';
+SET debug_sync='now SIGNAL t1_start';
+SET GLOBAL debug_dbug=@old_dbug;
+SET debug_sync='RESET';
+retries
+1
+SELECT * FROM t3 ORDER BY a;
+a b
+1 NULL
+3 NULL
+4 4
+5 NULL
+6 NULL
+7 7
+SET binlog_format=@old_format;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+DROP TABLE t1, t2, t3, t4;
+DROP function foo;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_temptable.result b/mysql-test/suite/rpl/r/rpl_parallel_temptable.result
new file mode 100644
index 00000000000..1ccc87ada60
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_parallel_temptable.result
@@ -0,0 +1,169 @@
+include/rpl_init.inc [topology=1->2]
+*** MDEV-6321: close_temporary_tables() in format description event not serialised correctly ***
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+CHANGE MASTER TO master_use_gtid= current_pos;
+include/start_slave.inc
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(100) CHARACTER SET utf8);
+include/stop_slave.inc
+SET gtid_domain_id= 1;
+INSERT INTO t1 VALUES (1, 0);
+CREATE TEMPORARY TABLE t2 (a int);
+SET gtid_domain_id= 2;
+CREATE TEMPORARY TABLE t3 (a INT PRIMARY KEY);
+CREATE TEMPORARY TABLE t4 (a int);
+INSERT INTO t3 VALUES (100);
+INSERT INTO t4 SELECT a+1 FROM t3;
+INSERT INTO t2 VALUES (2), (4), (6), (8), (10), (12), (14), (16), (18), (20);
+INSERT INTO t2 VALUES (3), (6), (9), (12), (15), (18);
+INSERT INTO t2 VALUES (4), (8), (12), (16), (20);
+INSERT INTO t3 SELECT a+2 FROM t4;
+INSERT INTO t4 SELECT a+4 FROM t3;
+INSERT INTO t2 VALUES (5), (10), (15), (20);
+INSERT INTO t2 VALUES (6), (12), (18);
+INSERT INTO t2 VALUES (7), (14);
+INSERT INTO t2 VALUES (8), (16);
+INSERT INTO t2 VALUES (9), (18);
+INSERT INTO t2 VALUES (10), (20);
+INSERT INTO t3 SELECT a+8 FROM t4;
+INSERT INTO t4 SELECT a+16 FROM t3;
+INSERT INTO t2 VALUES (11);
+INSERT INTO t2 VALUES (12);
+INSERT INTO t2 VALUES (13);
+INSERT INTO t3 SELECT a+32 FROM t4;
+INSERT INTO t2 VALUES (14);
+INSERT INTO t2 VALUES (15);
+INSERT INTO t2 VALUES (16);
+INSERT INTO t4 SELECT a+64 FROM t3;
+INSERT INTO t2 VALUES (17);
+INSERT INTO t2 VALUES (18);
+INSERT INTO t2 VALUES (19);
+INSERT INTO t3 SELECT a+128 FROM t4;
+INSERT INTO t2 VALUES (20);
+INSERT INTO t1 SELECT a, a MOD 7 FROM t3;
+INSERT INTO t1 SELECT a, a MOD 7 FROM t4;
+INSERT INTO t1 SELECT a, COUNT(*) FROM t2 GROUP BY a;
+FLUSH TABLES;
+SET SESSION debug_dbug="+d,crash_dispatch_command_before";
+SELECT 1;
+Got one of the listed errors
+INSERT INTO t1 VALUES (0, 1);
+include/start_slave.inc
+SELECT * FROM t1 WHERE a <= 20 ORDER BY a;
+a b
+0 1
+1 0
+2 1
+3 1
+4 2
+5 1
+6 3
+7 1
+8 3
+9 2
+10 3
+11 1
+12 5
+13 1
+14 3
+15 3
+16 4
+17 1
+18 5
+19 1
+20 5
+SELECT COUNT(*) FROM t1 WHERE a BETWEEN 100+0 AND 100+256;
+COUNT(*)
+55
+SHOW STATUS LIKE 'Slave_open_temp_tables';
+Variable_name Value
+Slave_open_temp_tables 0
+*** Test that if master logged partial event group before crash, we finish that group correctly before executing format description event ***
+include/stop_slave.inc
+CALL mtr.add_suppression("Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them");
+SET gtid_domain_id= 1;
+DELETE FROM t1;
+ALTER TABLE t1 ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t2 (a INT PRIMARY KEY);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t2 VALUES (2);
+SET gtid_domain_id= 2;
+CREATE TEMPORARY TABLE t3 (a INT PRIMARY KEY);
+INSERT INTO t3 VALUES (10);
+INSERT INTO t3 VALUES (20);
+INSERT INTO t1 SELECT a, 'server_1' FROM t2;
+INSERT INTO t1 SELECT a, 'default' FROM t3;
+INSERT INTO t1 SELECT a+2, '+server_1' FROM t2;
+FLUSH TABLES;
+SET SESSION debug_dbug="+d,crash_before_writing_xid";
+INSERT INTO t1 SELECT a+4, '++server_1' FROM t2;
+Got one of the listed errors
+INSERT INTO t1 VALUES (0, 1);
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a b
+0 1
+1 server_1
+2 server_1
+3 +server_1
+4 +server_1
+10 default
+20 default
+SHOW STATUS LIKE 'Slave_open_temp_tables';
+Variable_name Value
+Slave_open_temp_tables 0
+FLUSH LOGS;
+*** MDEV-7936: Assertion `!table || table->in_use == _current_thd()' failed on parallel replication in optimistic mode ***
+CREATE TEMPORARY TABLE t4 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @commit_id= 10000;
+INSERT INTO t4 VALUES (30);
+INSERT INTO t4 VALUES (31);
+SET SESSION debug_dbug= @old_dbug;
+INSERT INTO t1 SELECT a, "conservative" FROM t4;
+DROP TEMPORARY TABLE t4;
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a b
+30 conservative
+31 conservative
+include/save_master_gtid.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a b
+30 conservative
+31 conservative
+include/stop_slave.inc
+SET @old_mode= @@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode=optimistic;
+CREATE TEMPORARY TABLE t4 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t4 VALUES (32);
+INSERT INTO t4 VALUES (33);
+INSERT INTO t1 SELECT a, "optimistic" FROM t4;
+DROP TEMPORARY TABLE t4;
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a b
+30 conservative
+31 conservative
+32 optimistic
+33 optimistic
+include/save_master_gtid.inc
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+a b
+30 conservative
+31 conservative
+32 optimistic
+33 optimistic
+include/stop_slave.inc
+SET GLOBAL slave_parallel_mode=@old_mode;
+include/start_slave.inc
+include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+include/start_slave.inc
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_partition_archive.result b/mysql-test/suite/rpl/r/rpl_partition_archive.result
new file mode 100644
index 00000000000..b2640d724e4
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_partition_archive.result
@@ -0,0 +1,147 @@
+include/master-slave.inc
+[connection master]
+use test;
+CREATE TABLE test.regular_tbl(id INT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+fkid INT, filler VARCHAR(255),
+PRIMARY KEY(id))
+ENGINE='Archive';
+CREATE TABLE test.byrange_tbl(id INT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+fkid INT, filler VARCHAR(255),
+PRIMARY KEY(id))
+ENGINE='Archive'
+PARTITION BY RANGE(id)
+(PARTITION pa100 values less than (100),
+PARTITION paMax values less than MAXVALUE);
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+DECLARE ins_count INT DEFAULT 99;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+SET cur_user= "current_user@localhost";
+SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+WHILE ins_count > 0 DO
+# Must use local variables for statment based replication
+INSERT INTO test.regular_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ins_count,'Non partitioned table! Going to test replication for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+END|
+CREATE PROCEDURE test.proc_byrange()
+BEGIN
+DECLARE ins_count INT DEFAULT 200;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+SET cur_user= "current_user@localhost";
+SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+WHILE ins_count > 0 DO
+INSERT INTO test.byrange_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ins_count + 100,'Partitioned table! Going to test replication for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+END|
+CALL test.proc_norm();
+SELECT count(*) as "Master regular" FROM test.regular_tbl;
+Master regular
+99
+CALL test.proc_byrange();
+SELECT count(*) as "Master byrange" FROM test.byrange_tbl;
+Master byrange
+200
+show create table test.byrange_tbl;
+Table Create Table
+byrange_tbl CREATE TABLE `byrange_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=201 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (id)
+(PARTITION pa100 VALUES LESS THAN (100) ENGINE = ARCHIVE,
+ PARTITION paMax VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */
+show create table test.regular_tbl;
+Table Create Table
+regular_tbl CREATE TABLE `regular_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=100 DEFAULT CHARSET=latin1
+ALTER TABLE test.byrange_tbl EXCHANGE PARTITION pa100 WITH TABLE test.regular_tbl;
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 1 Non partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 2 Non partitioned table! Going to test replication for MySQL
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+100 date-time USER UUID 201 Partitioned table! Going to test replication for MySQL
+101 date-time USER UUID 200 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 202 Partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 203 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+1 date-time USER UUID 300 Partitioned table! Going to test replication for MySQL
+2 date-time USER UUID 299 Partitioned table! Going to test replication for MySQL
+show create table test.byrange_tbl;
+Table Create Table
+byrange_tbl CREATE TABLE `byrange_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=201 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (id)
+(PARTITION pa100 VALUES LESS THAN (100) ENGINE = ARCHIVE,
+ PARTITION paMax VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */
+show create table test.regular_tbl;
+Table Create Table
+regular_tbl CREATE TABLE `regular_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=100 DEFAULT CHARSET=latin1
+SELECT count(*) "Slave norm" FROM test.regular_tbl;
+Slave norm
+99
+SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
+Slave byrange
+200
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 1 Non partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 2 Non partitioned table! Going to test replication for MySQL
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+100 date-time USER UUID 201 Partitioned table! Going to test replication for MySQL
+101 date-time USER UUID 200 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 202 Partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 203 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+1 date-time USER UUID 300 Partitioned table! Going to test replication for MySQL
+2 date-time USER UUID 299 Partitioned table! Going to test replication for MySQL
+DROP PROCEDURE test.proc_norm;
+DROP PROCEDURE test.proc_byrange;
+DROP TABLE test.regular_tbl;
+DROP TABLE test.byrange_tbl;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_partition_innodb.result b/mysql-test/suite/rpl/r/rpl_partition_innodb.result
new file mode 100644
index 00000000000..558d4d37831
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_partition_innodb.result
@@ -0,0 +1,147 @@
+include/master-slave.inc
+[connection master]
+use test;
+CREATE TABLE test.regular_tbl(id INT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+fkid INT, filler VARCHAR(255),
+PRIMARY KEY(id))
+ENGINE='InnoDB';
+CREATE TABLE test.byrange_tbl(id INT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+fkid INT, filler VARCHAR(255),
+PRIMARY KEY(id))
+ENGINE='InnoDB'
+PARTITION BY RANGE(id)
+(PARTITION pa100 values less than (100),
+PARTITION paMax values less than MAXVALUE);
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+DECLARE ins_count INT DEFAULT 99;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+SET cur_user= "current_user@localhost";
+SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+WHILE ins_count > 0 DO
+# Must use local variables for statment based replication
+INSERT INTO test.regular_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ins_count,'Non partitioned table! Going to test replication for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+END|
+CREATE PROCEDURE test.proc_byrange()
+BEGIN
+DECLARE ins_count INT DEFAULT 200;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+SET cur_user= "current_user@localhost";
+SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+WHILE ins_count > 0 DO
+INSERT INTO test.byrange_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ins_count + 100,'Partitioned table! Going to test replication for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+END|
+CALL test.proc_norm();
+SELECT count(*) as "Master regular" FROM test.regular_tbl;
+Master regular
+99
+CALL test.proc_byrange();
+SELECT count(*) as "Master byrange" FROM test.byrange_tbl;
+Master byrange
+200
+show create table test.byrange_tbl;
+Table Create Table
+byrange_tbl CREATE TABLE `byrange_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (id)
+(PARTITION pa100 VALUES LESS THAN (100) ENGINE = InnoDB,
+ PARTITION paMax VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+show create table test.regular_tbl;
+Table Create Table
+regular_tbl CREATE TABLE `regular_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=latin1
+ALTER TABLE test.byrange_tbl EXCHANGE PARTITION pa100 WITH TABLE test.regular_tbl;
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 1 Non partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 2 Non partitioned table! Going to test replication for MySQL
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+100 date-time USER UUID 201 Partitioned table! Going to test replication for MySQL
+101 date-time USER UUID 200 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 202 Partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 203 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+1 date-time USER UUID 300 Partitioned table! Going to test replication for MySQL
+2 date-time USER UUID 299 Partitioned table! Going to test replication for MySQL
+show create table test.byrange_tbl;
+Table Create Table
+byrange_tbl CREATE TABLE `byrange_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (id)
+(PARTITION pa100 VALUES LESS THAN (100) ENGINE = InnoDB,
+ PARTITION paMax VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+show create table test.regular_tbl;
+Table Create Table
+regular_tbl CREATE TABLE `regular_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=latin1
+SELECT count(*) "Slave norm" FROM test.regular_tbl;
+Slave norm
+99
+SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
+Slave byrange
+200
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 1 Non partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 2 Non partitioned table! Going to test replication for MySQL
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+100 date-time USER UUID 201 Partitioned table! Going to test replication for MySQL
+101 date-time USER UUID 200 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 202 Partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 203 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+1 date-time USER UUID 300 Partitioned table! Going to test replication for MySQL
+2 date-time USER UUID 299 Partitioned table! Going to test replication for MySQL
+DROP PROCEDURE test.proc_norm;
+DROP PROCEDURE test.proc_byrange;
+DROP TABLE test.regular_tbl;
+DROP TABLE test.byrange_tbl;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_partition_memory.result b/mysql-test/suite/rpl/r/rpl_partition_memory.result
new file mode 100644
index 00000000000..4b67eea5f6c
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_partition_memory.result
@@ -0,0 +1,147 @@
+include/master-slave.inc
+[connection master]
+use test;
+CREATE TABLE test.regular_tbl(id INT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+fkid INT, filler VARCHAR(255),
+PRIMARY KEY(id))
+ENGINE='Memory';
+CREATE TABLE test.byrange_tbl(id INT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+fkid INT, filler VARCHAR(255),
+PRIMARY KEY(id))
+ENGINE='Memory'
+PARTITION BY RANGE(id)
+(PARTITION pa100 values less than (100),
+PARTITION paMax values less than MAXVALUE);
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+DECLARE ins_count INT DEFAULT 99;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+SET cur_user= "current_user@localhost";
+SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+WHILE ins_count > 0 DO
+# Must use local variables for statment based replication
+INSERT INTO test.regular_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ins_count,'Non partitioned table! Going to test replication for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+END|
+CREATE PROCEDURE test.proc_byrange()
+BEGIN
+DECLARE ins_count INT DEFAULT 200;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+SET cur_user= "current_user@localhost";
+SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+WHILE ins_count > 0 DO
+INSERT INTO test.byrange_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ins_count + 100,'Partitioned table! Going to test replication for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+END|
+CALL test.proc_norm();
+SELECT count(*) as "Master regular" FROM test.regular_tbl;
+Master regular
+99
+CALL test.proc_byrange();
+SELECT count(*) as "Master byrange" FROM test.byrange_tbl;
+Master byrange
+200
+show create table test.byrange_tbl;
+Table Create Table
+byrange_tbl CREATE TABLE `byrange_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MEMORY AUTO_INCREMENT=201 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (id)
+(PARTITION pa100 VALUES LESS THAN (100) ENGINE = MEMORY,
+ PARTITION paMax VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */
+show create table test.regular_tbl;
+Table Create Table
+regular_tbl CREATE TABLE `regular_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MEMORY AUTO_INCREMENT=100 DEFAULT CHARSET=latin1
+ALTER TABLE test.byrange_tbl EXCHANGE PARTITION pa100 WITH TABLE test.regular_tbl;
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 1 Non partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 2 Non partitioned table! Going to test replication for MySQL
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+100 date-time USER UUID 201 Partitioned table! Going to test replication for MySQL
+101 date-time USER UUID 200 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 202 Partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 203 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+1 date-time USER UUID 300 Partitioned table! Going to test replication for MySQL
+2 date-time USER UUID 299 Partitioned table! Going to test replication for MySQL
+show create table test.byrange_tbl;
+Table Create Table
+byrange_tbl CREATE TABLE `byrange_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MEMORY AUTO_INCREMENT=201 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (id)
+(PARTITION pa100 VALUES LESS THAN (100) ENGINE = MEMORY,
+ PARTITION paMax VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */
+show create table test.regular_tbl;
+Table Create Table
+regular_tbl CREATE TABLE `regular_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MEMORY AUTO_INCREMENT=100 DEFAULT CHARSET=latin1
+SELECT count(*) "Slave norm" FROM test.regular_tbl;
+Slave norm
+99
+SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
+Slave byrange
+200
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 1 Non partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 2 Non partitioned table! Going to test replication for MySQL
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+100 date-time USER UUID 201 Partitioned table! Going to test replication for MySQL
+101 date-time USER UUID 200 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 202 Partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 203 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+1 date-time USER UUID 300 Partitioned table! Going to test replication for MySQL
+2 date-time USER UUID 299 Partitioned table! Going to test replication for MySQL
+DROP PROCEDURE test.proc_norm;
+DROP PROCEDURE test.proc_byrange;
+DROP TABLE test.regular_tbl;
+DROP TABLE test.byrange_tbl;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_partition_myisam.result b/mysql-test/suite/rpl/r/rpl_partition_myisam.result
new file mode 100644
index 00000000000..7e39421c327
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_partition_myisam.result
@@ -0,0 +1,147 @@
+include/master-slave.inc
+[connection master]
+use test;
+CREATE TABLE test.regular_tbl(id INT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+fkid INT, filler VARCHAR(255),
+PRIMARY KEY(id))
+ENGINE='MyISAM';
+CREATE TABLE test.byrange_tbl(id INT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255),
+fkid INT, filler VARCHAR(255),
+PRIMARY KEY(id))
+ENGINE='MyISAM'
+PARTITION BY RANGE(id)
+(PARTITION pa100 values less than (100),
+PARTITION paMax values less than MAXVALUE);
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+DECLARE ins_count INT DEFAULT 99;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+SET cur_user= "current_user@localhost";
+SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+WHILE ins_count > 0 DO
+# Must use local variables for statment based replication
+INSERT INTO test.regular_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ins_count,'Non partitioned table! Going to test replication for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+END|
+CREATE PROCEDURE test.proc_byrange()
+BEGIN
+DECLARE ins_count INT DEFAULT 200;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+SET cur_user= "current_user@localhost";
+SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c";
+WHILE ins_count > 0 DO
+INSERT INTO test.byrange_tbl VALUES (NULL, NOW(), cur_user, local_uuid,
+ins_count + 100,'Partitioned table! Going to test replication for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+END|
+CALL test.proc_norm();
+SELECT count(*) as "Master regular" FROM test.regular_tbl;
+Master regular
+99
+CALL test.proc_byrange();
+SELECT count(*) as "Master byrange" FROM test.byrange_tbl;
+Master byrange
+200
+show create table test.byrange_tbl;
+Table Create Table
+byrange_tbl CREATE TABLE `byrange_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=201 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (id)
+(PARTITION pa100 VALUES LESS THAN (100) ENGINE = MyISAM,
+ PARTITION paMax VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+show create table test.regular_tbl;
+Table Create Table
+regular_tbl CREATE TABLE `regular_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=latin1
+ALTER TABLE test.byrange_tbl EXCHANGE PARTITION pa100 WITH TABLE test.regular_tbl;
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 1 Non partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 2 Non partitioned table! Going to test replication for MySQL
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+100 date-time USER UUID 201 Partitioned table! Going to test replication for MySQL
+101 date-time USER UUID 200 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 202 Partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 203 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+1 date-time USER UUID 300 Partitioned table! Going to test replication for MySQL
+2 date-time USER UUID 299 Partitioned table! Going to test replication for MySQL
+show create table test.byrange_tbl;
+Table Create Table
+byrange_tbl CREATE TABLE `byrange_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=201 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (id)
+(PARTITION pa100 VALUES LESS THAN (100) ENGINE = MyISAM,
+ PARTITION paMax VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+show create table test.regular_tbl;
+Table Create Table
+regular_tbl CREATE TABLE `regular_tbl` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` varbinary(255) DEFAULT NULL,
+ `fkid` int(11) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=latin1
+SELECT count(*) "Slave norm" FROM test.regular_tbl;
+Slave norm
+99
+SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
+Slave byrange
+200
+SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 1 Non partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 2 Non partitioned table! Going to test replication for MySQL
+SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+100 date-time USER UUID 201 Partitioned table! Going to test replication for MySQL
+101 date-time USER UUID 200 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2;
+id dt user uuidf fkid filler
+99 date-time USER UUID 202 Partitioned table! Going to test replication for MySQL
+98 date-time USER UUID 203 Partitioned table! Going to test replication for MySQL
+SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2;
+id dt user uuidf fkid filler
+1 date-time USER UUID 300 Partitioned table! Going to test replication for MySQL
+2 date-time USER UUID 299 Partitioned table! Going to test replication for MySQL
+DROP PROCEDURE test.proc_norm;
+DROP PROCEDURE test.proc_byrange;
+DROP TABLE test.regular_tbl;
+DROP TABLE test.byrange_tbl;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_password_boundaries.result b/mysql-test/suite/rpl/r/rpl_password_boundaries.result
index a0ccc0ce33c..462ab154a55 100644
--- a/mysql-test/suite/rpl/r/rpl_password_boundaries.result
+++ b/mysql-test/suite/rpl/r/rpl_password_boundaries.result
@@ -12,7 +12,7 @@ include/start_slave.inc
[ on master ]
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1 (i int);
insert into t1 values (1);
[ on slave: synchronized ]
diff --git a/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result b/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
index e41c16110dc..e662dcc4feb 100644
--- a/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
+++ b/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
@@ -4,26 +4,28 @@ include/master-slave.inc
CREATE TABLE t1 (a INT, b LONG);
INSERT INTO t1 VALUES (1,1), (2,2);
INSERT INTO t1 VALUES (3,UUID()), (4,UUID());
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
**** On Slave ****
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG)
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
DROP TABLE IF EXISTS t1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_read_new_relay_log_info.result b/mysql-test/suite/rpl/r/rpl_read_new_relay_log_info.result
new file mode 100644
index 00000000000..e659c3ee283
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_read_new_relay_log_info.result
@@ -0,0 +1,14 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
+==== Check that we can understand the new format of relay-log.info ====
+include/stop_slave.inc
+RESET SLAVE;
+# Read relay-log.info
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_to_start.inc
+# Check that relay log coordinates are equal to those saved in new-format_relay-log.info
+= , 0, slave-relay-bin.000001, 4
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_read_old_relay_log_info.result b/mysql-test/suite/rpl/r/rpl_read_old_relay_log_info.result
new file mode 100644
index 00000000000..7a9d3b795d8
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_read_old_relay_log_info.result
@@ -0,0 +1,14 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
+==== Check that we still understand the old format of relay-log.info ====
+include/stop_slave.inc
+RESET SLAVE;
+# Read relay-log.info
+START SLAVE IO_THREAD;
+include/wait_for_slave_io_to_start.inc
+# Check that relay log coordinates are equal to those we saved in old-format_relay-log.info
+= , 0, slave-relay-bin.000001, 4
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_relay_space_innodb.result b/mysql-test/suite/rpl/r/rpl_relay_space_innodb.result
index 4f10ac50f9a..ebce070190d 100644
--- a/mysql-test/suite/rpl/r/rpl_relay_space_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_relay_space_innodb.result
@@ -7,7 +7,8 @@ CREATE TABLE t1 (name varchar(64), age smallint(3))ENGINE=InnoDB;
INSERT INTO t1 SET name='Andy', age=31;
INSERT INTO t1 SET name='Jacob', age=2;
INSERT INTO t1 SET name='Caleb', age=1;
-ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY;
+ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY,
+ALGORITHM=COPY;
SELECT * FROM t1 ORDER BY id;
name age id
Andy 31 00000001
diff --git a/mysql-test/suite/rpl/r/rpl_relay_space_myisam.result b/mysql-test/suite/rpl/r/rpl_relay_space_myisam.result
index 4c1a50b2f33..b2fc0f715ea 100644
--- a/mysql-test/suite/rpl/r/rpl_relay_space_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_relay_space_myisam.result
@@ -7,7 +7,8 @@ CREATE TABLE t1 (name varchar(64), age smallint(3))ENGINE=MyISAM;
INSERT INTO t1 SET name='Andy', age=31;
INSERT INTO t1 SET name='Jacob', age=2;
INSERT INTO t1 SET name='Caleb', age=1;
-ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY;
+ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY,
+ALGORITHM=COPY;
SELECT * FROM t1 ORDER BY id;
name age id
Andy 31 00000001
diff --git a/mysql-test/suite/rpl/r/rpl_replicate_do.result b/mysql-test/suite/rpl/r/rpl_replicate_do.result
index 6f85fc15b1e..c1e3ee60e10 100644
--- a/mysql-test/suite/rpl/r/rpl_replicate_do.result
+++ b/mysql-test/suite/rpl/r/rpl_replicate_do.result
@@ -23,18 +23,6 @@ select * from t11;
ERROR 42S02: Table 'test.t11' doesn't exist
drop table if exists t1,t2,t11;
Replicate_Do_Table = 'test.t1'
-create table t1 (ts timestamp);
-set one_shot time_zone='met';
-insert into t1 values('2005-08-12 00:00:00');
-set one_shot time_zone='met';
-select * from t1;
-ts
-2005-08-12 00:00:00
-set one_shot time_zone='met';
-select * from t1;
-ts
-2005-08-12 00:00:00
-drop table t1;
*** master ***
create table t1 (a int, b int);
create trigger trg1 before insert on t1 for each row set new.b=2;
@@ -46,15 +34,15 @@ t1
t2
show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-trg1 INSERT t1 set new.b=2 BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-trg2 INSERT t2 set new.b=2 BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+trg1 INSERT t1 set new.b=2 BEFORE NULL NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+trg2 INSERT t2 set new.b=2 BEFORE NULL NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
*** slave ***
show tables;
Tables_in_test
t1
show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-trg1 INSERT t1 set new.b=2 BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+trg1 INSERT t1 set new.b=2 BEFORE NULL NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
*** master ***
drop trigger trg1;
drop trigger trg2;
diff --git a/mysql-test/suite/rpl/r/rpl_reset_slave_fail.result b/mysql-test/suite/rpl/r/rpl_reset_slave_fail.result
index fdfec62058f..205e8fe428b 100644
--- a/mysql-test/suite/rpl/r/rpl_reset_slave_fail.result
+++ b/mysql-test/suite/rpl/r/rpl_reset_slave_fail.result
@@ -15,9 +15,9 @@ include/rpl_stop_server.inc [server_number=2]
# Removing file(s)
include/rpl_start_server.inc [server_number=2]
START SLAVE;
-ERROR HY000: Could not initialize master info structure; more error messages can be found in the MariaDB error log
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
START SLAVE;
-ERROR HY000: Could not initialize master info structure; more error messages can be found in the MariaDB error log
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
RESET SLAVE;
DROP TABLE t1;
START SLAVE UNTIL MASTER_LOG_FILE= 'MASTER_LOG_FILE', MASTER_LOG_POS= MASTER_LOG_POS;;
diff --git a/mysql-test/suite/rpl/r/rpl_rewrt_db.result b/mysql-test/suite/rpl/r/rpl_rewrt_db.result
index 0c80887d169..21e214f4439 100644
--- a/mysql-test/suite/rpl/r/rpl_rewrt_db.result
+++ b/mysql-test/suite/rpl/r/rpl_rewrt_db.result
@@ -42,8 +42,8 @@ Warnings:
Warning 1265 Data truncated for column 'a' at row 1
Warning 1265 Data truncated for column 'c' at row 1
Warning 1265 Data truncated for column 'd' at row 1
-Warning 1264 Out of range value for column 'a' at row 2
-Warning 1264 Out of range value for column 'b' at row 2
+Warning 1265 Data truncated for column 'a' at row 2
+Warning 1265 Data truncated for column 'b' at row 2
Warning 1265 Data truncated for column 'd' at row 2
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
select * from rewrite.t1;
@@ -57,7 +57,7 @@ load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated
Warnings:
Warning 1265 Data truncated for column 'c' at row 1
Warning 1265 Data truncated for column 'd' at row 1
-Warning 1264 Out of range value for column 'b' at row 2
+Warning 1265 Data truncated for column 'b' at row 2
Warning 1265 Data truncated for column 'd' at row 2
select * from rewrite.t1;
a b c d
@@ -80,8 +80,11 @@ drop table t1;
create table t1 (a int, b char(10));
load data infile '../../std_data/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
Warnings:
+Note 1265 Data truncated for column 'a' at row 1
+Note 1265 Data truncated for column 'a' at row 2
Warning 1366 Incorrect integer value: 'error ' for column 'a' at row 3
Warning 1262 Row 3 was truncated; it contained more data than there were input columns
+Note 1265 Data truncated for column 'a' at row 4
Warning 1366 Incorrect integer value: 'wrong end ' for column 'a' at row 5
Warning 1262 Row 5 was truncated; it contained more data than there were input columns
select * from rewrite.t1;
@@ -94,6 +97,9 @@ a b
truncate table t1;
load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
Warnings:
+Note 1265 Data truncated for column 'a' at row 1
+Note 1265 Data truncated for column 'a' at row 2
+Note 1265 Data truncated for column 'a' at row 3
Warning 1366 Incorrect integer value: '
' for column 'a' at row 4
Warning 1261 Row 4 doesn't contain data for all columns
@@ -211,13 +217,19 @@ get_lock("con_03",10)
show status like 'Slave_open_temp_tables';
Variable_name Value
Slave_open_temp_tables 0
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `database_master_temp_01`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_01_01_temp`
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `database_master_temp_02`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_02_02_temp`,`t_02_01_temp`
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `database_master_temp_01`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_01_01_temp`
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `database_master_temp_03`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_03_03_temp`,`t_03_02_temp`,`t_03_01_temp`
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `database_master_temp_02`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_02_02_temp`,`t_02_01_temp`
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `database_master_temp_01`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_01_01_temp`
****
**** Cleaning up the test case
diff --git a/mysql-test/suite/rpl/r/rpl_rotate_logs.result b/mysql-test/suite/rpl/r/rpl_rotate_logs.result
index 166ef3c8726..f2dbfa3cba4 100644
--- a/mysql-test/suite/rpl/r/rpl_rotate_logs.result
+++ b/mysql-test/suite/rpl/r/rpl_rotate_logs.result
@@ -2,9 +2,9 @@ CALL mtr.add_suppression("Unsafe statement written to the binary log using state
start slave;
Got one of the listed errors
start slave;
-ERROR HY000: Could not initialize master info structure; more error messages can be found in the MariaDB error log
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
-ERROR HY000: Could not initialize master info structure; more error messages can be found in the MariaDB error log
+ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
reset slave;
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
reset master;
@@ -38,7 +38,7 @@ drop table temp_table, t3;
insert into t2 values(1234);
set insert_id=1234;
insert into t2 values(NULL);
-call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .1234. for key .PRIMARY.. on query.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .1234. for key .PRIMARY.. on query.* error.* 1062");
include/wait_for_slave_sql_error_and_skip.inc [errno=1062]
purge master logs to 'master-bin.000002';
show master logs;
@@ -72,7 +72,7 @@ insert into temp_table values ("testing temporary tables part 2");
create table t3 (n int);
select count(*) from t3 where n >= 4;
count(*)
-91
+103
create table t4 select * from temp_table;
show binary logs;
Log_name File_size
@@ -95,7 +95,7 @@ include/check_slave_is_running.inc
lock tables t3 read;
select count(*) from t3 where n >= 4;
count(*)
-91
+103
unlock tables;
drop table if exists t1,t2,t3,t4;
drop temporary table temp_table;
diff --git a/mysql-test/suite/rpl/r/rpl_row_USER.result b/mysql-test/suite/rpl/r/rpl_row_USER.result
index 5298395da20..47b94074ecf 100644
--- a/mysql-test/suite/rpl/r/rpl_row_USER.result
+++ b/mysql-test/suite/rpl/r/rpl_row_USER.result
@@ -1,5 +1,7 @@
include/master-slave.inc
[connection master]
+set global sql_mode="";
+set local sql_mode="";
DROP DATABASE IF EXISTS mysqltest1;
CREATE DATABASE mysqltest1;
CREATE USER tester IDENTIFIED BY 'test';
@@ -33,3 +35,5 @@ REVOKE ALL ON mysqltest1.* FROM ''@'localhost%';
DROP USER tester@'%';
DROP USER ''@'localhost%';
include/rpl_end.inc
+set global sql_mode=default;
+set local sql_mode=default;
diff --git a/mysql-test/suite/rpl/r/rpl_row_UUID.result b/mysql-test/suite/rpl/r/rpl_row_UUID.result
index b7d3f8914e0..e9ddc1c4d12 100644
--- a/mysql-test/suite/rpl/r/rpl_row_UUID.result
+++ b/mysql-test/suite/rpl/r/rpl_row_UUID.result
@@ -25,7 +25,7 @@ insert into t2 values(fn1(2));
SHOW CREATE TABLE test.t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL DEFAULT '0',
+ `a` int(11) NOT NULL,
`blob_column` longblob,
`vchar_column` varchar(100) DEFAULT NULL,
PRIMARY KEY (`a`)
diff --git a/mysql-test/suite/rpl/r/rpl_row_annotate_do.result b/mysql-test/suite/rpl/r/rpl_row_annotate_do.result
index a7dc2a569a1..9aeef98d091 100644
--- a/mysql-test/suite/rpl/r/rpl_row_annotate_do.result
+++ b/mysql-test/suite/rpl/r/rpl_row_annotate_do.result
@@ -52,76 +52,123 @@ a b
# - DELETE xt1, t2 FROM <...>
# - INSERT INTO t5(b) VALUES <...> (3 instances)
########################################################################
+# Ensure that a replication failure doesn't segfault - MDEV-7864
+########################################################################
+DELETE FROM t3 WHERE a=2;
+INSERT INTO t5 (a) SELECT a.a*10000+b.a*1000+c.a*100+d.a*10 FROM t5 a, t5 b, t5 c, t5 d;
+INSERT INTO t3 (a) SELECT a FROM t5 WHERE a > 10;
+DELETE t3 FROM t3 INNER JOIN t5 ON t3.a=t5.a;
+---- Wait until slave stops with an error ----
+include/wait_for_slave_sql_error.inc [errno=1032]
+Last_SQL_Error (expected "Delete_rows_v1 event on table test1.t3; Can't find record in 't3'" error)
+Could not execute Delete_rows_v1 event on table test1.t3; Can't find record in 't3', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log master-bin.000002, end_log_pos END_LOG_POS
+call mtr.add_suppression("Slave: Can't find record in 't3' Error_code: 1032");
+SET GLOBAL sql_slave_skip_counter=1;
+START SLAVE;
+########################################################################
FLUSH LOGS;
show binlog events in 'slave-bin.000001' from <start_pos>;
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid_list 2 # []
+slave-bin.000001 # Binlog_checkpoint 2 # slave-bin.000001
+slave-bin.000001 # Gtid 1 # GTID 0-1-1
slave-bin.000001 # Query 1 # DROP DATABASE IF EXISTS test1
+slave-bin.000001 # Gtid 1 # GTID 0-1-2
slave-bin.000001 # Query 1 # CREATE DATABASE test1
+slave-bin.000001 # Gtid 1 # GTID 0-1-3
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t1(a int primary key, b int)
+slave-bin.000001 # Gtid 1 # GTID 0-1-4
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t2(a int, b int)
+slave-bin.000001 # Gtid 1 # GTID 0-1-5
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t3(a int, b int)
+slave-bin.000001 # Gtid 1 # GTID 0-1-6
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t4(a int, b int)
+slave-bin.000001 # Gtid 1 # GTID 0-1-9
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t5 (
a INT PRIMARY KEY AUTO_INCREMENT,
b VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_bin
)
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-10
slave-bin.000001 # Table_map 1 # table_id: # (test1.t1)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-11
slave-bin.000001 # Annotate_rows 1 # UPDATE t1 SET b = b + 1
slave-bin.000001 # Table_map 1 # table_id: # (test1.t1)
-slave-bin.000001 # Update_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Update_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-12
slave-bin.000001 # Annotate_rows 1 # REPLACE t1 VALUES (1,1), (2,2), (3,3)
slave-bin.000001 # Table_map 1 # table_id: # (test1.t1)
-slave-bin.000001 # Update_rows 1 # table_id: #
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Update_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-13
slave-bin.000001 # Annotate_rows 1 # INSERT INTO t2 VALUES (1,1), (2,2), (3,3)
slave-bin.000001 # Table_map 1 # table_id: # (test1.t2)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-14
slave-bin.000001 # Annotate_rows 1 # INSERT INTO t3 VALUES (1,1), (2,2), (3,3)
slave-bin.000001 # Table_map 1 # table_id: # (test1.t3)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-15
slave-bin.000001 # Annotate_rows 1 # DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.a=t2.a AND t2.a=t3.a
slave-bin.000001 # Table_map 1 # table_id: # (test1.t2)
slave-bin.000001 # Table_map 1 # table_id: # (test1.t1)
-slave-bin.000001 # Delete_rows 1 # table_id: #
-slave-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Delete_rows_v1 1 # table_id: #
+slave-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-17
slave-bin.000001 # Annotate_rows 1 # INSERT INTO t2 VALUES (1,1), (2,2), (3,3)
slave-bin.000001 # Table_map 1 # table_id: # (test1.t2)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-18
slave-bin.000001 # Annotate_rows 1 # DELETE xt1, t2 FROM xt1 INNER JOIN t2 INNER JOIN t3 WHERE xt1.a=t2.a AND t2.a=t3.a
slave-bin.000001 # Table_map 1 # table_id: # (test1.t2)
-slave-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-22
slave-bin.000001 # Annotate_rows 1 # INSERT INTO t5(b) VALUES ('foo'), ('bar'), ('baz')
slave-bin.000001 # Table_map 1 # table_id: # (test1.t5)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-23
slave-bin.000001 # Annotate_rows 1 # INSERT INTO t5(b) VALUES ('gås')
slave-bin.000001 # Table_map 1 # table_id: # (test1.t5)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-24
slave-bin.000001 # Annotate_rows 1 # INSERT INTO t5(b) VALUES ('gås')
slave-bin.000001 # Table_map 1 # table_id: # (test1.t5)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query 1 # COMMIT
+slave-bin.000001 # Gtid 2 # BEGIN GTID 0-2-25
+slave-bin.000001 # Table_map 2 # table_id: # (test1.t3)
+slave-bin.000001 # Delete_rows_v1 2 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query 2 # COMMIT
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-25
+slave-bin.000001 # Annotate_rows 1 # INSERT INTO t5 (a) SELECT a.a*10000+b.a*1000+c.a*100+d.a*10 FROM t5 a, t5 b, t5 c, t5 d
+slave-bin.000001 # Table_map 1 # table_id: # (test1.t5)
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query 1 # COMMIT
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-26
+slave-bin.000001 # Annotate_rows 1 # INSERT INTO t3 (a) SELECT a FROM t5 WHERE a > 10
+slave-bin.000001 # Table_map 1 # table_id: # (test1.t3)
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
+slave-bin.000001 # Gtid 2 # BEGIN GTID 0-2-27
+slave-bin.000001 # Table_map 2 # table_id: # (mtr.test_suppressions)
+slave-bin.000001 # Write_rows_v1 2 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query 2 # COMMIT
slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
#
########################################################################
diff --git a/mysql-test/suite/rpl/r/rpl_row_annotate_dont.result b/mysql-test/suite/rpl/r/rpl_row_annotate_dont.result
index 2a3b5b1870e..ceaf8c878c8 100644
--- a/mysql-test/suite/rpl/r/rpl_row_annotate_dont.result
+++ b/mysql-test/suite/rpl/r/rpl_row_annotate_dont.result
@@ -44,66 +44,111 @@ a b
# EVENTS ON SLAVE
# No Annotate_rows events should appear below
########################################################################
+# Ensure that a replication failure doesn't segfault - MDEV-7864
+########################################################################
+DELETE FROM t3 WHERE a=2;
+INSERT INTO t5 (a) SELECT a.a*10000+b.a*1000+c.a*100+d.a*10 FROM t5 a, t5 b, t5 c, t5 d;
+INSERT INTO t3 (a) SELECT a FROM t5 WHERE a > 10;
+DELETE t3 FROM t3 INNER JOIN t5 ON t3.a=t5.a;
+---- Wait until slave stops with an error ----
+include/wait_for_slave_sql_error.inc [errno=1032]
+Last_SQL_Error (expected "Delete_rows_v1 event on table test1.t3; Can't find record in 't3'" error)
+Could not execute Delete_rows_v1 event on table test1.t3; Can't find record in 't3', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log master-bin.000002, end_log_pos END_LOG_POS
+call mtr.add_suppression("Slave: Can't find record in 't3' Error_code: 1032");
+SET GLOBAL sql_slave_skip_counter=1;
+START SLAVE;
+########################################################################
FLUSH LOGS;
show binlog events in 'slave-bin.000001' from <start_pos>;
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid_list 2 # []
+slave-bin.000001 # Binlog_checkpoint 2 # slave-bin.000001
+slave-bin.000001 # Gtid 1 # GTID 0-1-1
slave-bin.000001 # Query 1 # DROP DATABASE IF EXISTS test1
+slave-bin.000001 # Gtid 1 # GTID 0-1-2
slave-bin.000001 # Query 1 # CREATE DATABASE test1
+slave-bin.000001 # Gtid 1 # GTID 0-1-3
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t1(a int primary key, b int)
+slave-bin.000001 # Gtid 1 # GTID 0-1-4
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t2(a int, b int)
+slave-bin.000001 # Gtid 1 # GTID 0-1-5
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t3(a int, b int)
+slave-bin.000001 # Gtid 1 # GTID 0-1-6
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t4(a int, b int)
+slave-bin.000001 # Gtid 1 # GTID 0-1-9
slave-bin.000001 # Query 1 # use `test1`; CREATE TABLE t5 (
a INT PRIMARY KEY AUTO_INCREMENT,
b VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_bin
)
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-10
slave-bin.000001 # Table_map 1 # table_id: # (test1.t1)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-11
slave-bin.000001 # Table_map 1 # table_id: # (test1.t1)
-slave-bin.000001 # Update_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Update_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-12
slave-bin.000001 # Table_map 1 # table_id: # (test1.t1)
-slave-bin.000001 # Update_rows 1 # table_id: #
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Update_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-13
slave-bin.000001 # Table_map 1 # table_id: # (test1.t2)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-14
slave-bin.000001 # Table_map 1 # table_id: # (test1.t3)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-15
slave-bin.000001 # Table_map 1 # table_id: # (test1.t2)
slave-bin.000001 # Table_map 1 # table_id: # (test1.t1)
-slave-bin.000001 # Delete_rows 1 # table_id: #
-slave-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Delete_rows_v1 1 # table_id: #
+slave-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-17
slave-bin.000001 # Table_map 1 # table_id: # (test1.t2)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-18
slave-bin.000001 # Table_map 1 # table_id: # (test1.t2)
-slave-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query 1 # COMMIT
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-22
+slave-bin.000001 # Table_map 1 # table_id: # (test1.t5)
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-23
slave-bin.000001 # Table_map 1 # table_id: # (test1.t5)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-24
slave-bin.000001 # Table_map 1 # table_id: # (test1.t5)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
-slave-bin.000001 # Query 1 # BEGIN
+slave-bin.000001 # Gtid 2 # BEGIN GTID 0-2-25
+slave-bin.000001 # Table_map 2 # table_id: # (test1.t3)
+slave-bin.000001 # Delete_rows_v1 2 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query 2 # COMMIT
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-25
slave-bin.000001 # Table_map 1 # table_id: # (test1.t5)
-slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query 1 # COMMIT
+slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-26
+slave-bin.000001 # Table_map 1 # table_id: # (test1.t3)
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: #
+slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 1 # COMMIT
+slave-bin.000001 # Gtid 2 # BEGIN GTID 0-2-27
+slave-bin.000001 # Table_map 2 # table_id: # (mtr.test_suppressions)
+slave-bin.000001 # Write_rows_v1 2 # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query 2 # COMMIT
slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
#
########################################################################
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result b/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
index 1d04271129c..71747e825b9 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
@@ -23,16 +23,17 @@ SHOW TABLES;
Tables_in_test_ignore
t2
INSERT INTO t2 VALUES (3,3), (4,4);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (mtr.test_suppressions)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
**** On Slave ****
SHOW DATABASES;
@@ -58,19 +59,20 @@ DELETE FROM t1;
INSERT INTO t1 VALUES (1),(2);
DELETE FROM t1 WHERE a = 0;
UPDATE t1 SET a=99 WHERE a = 0;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
DROP TABLE t1;
================ Test for BUG#17620 ================
include/rpl_reset.inc
**** On Slave ****
SET GLOBAL QUERY_CACHE_SIZE=0;
-call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1.* Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1.* error.* 1032");
**** On Master ****
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2),(3);
@@ -101,7 +103,7 @@ a
7
8
9
-SET GLOBAL QUERY_CACHE_SIZE=0;
+SET GLOBAL QUERY_CACHE_SIZE=default;
DROP TABLE t1;
================ Test for BUG#22550 ================
include/rpl_reset.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
index 6e2415ebcd8..1035df2456c 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
@@ -482,9 +482,9 @@ INSERT INTO t2 VALUES (1, "", 1);
INSERT INTO t2 VALUES (2, repeat(_utf8'a', 16), 2);
include/diff_tables.inc [master:t2, slave:t2]
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
-call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535");
-call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table test.t1.* Error_code: 1032");
-call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t.. cannot be converted from type.*, Error_code: 1677");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* error.* 1535");
+call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table test.t1.* error.* 1032");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t.. cannot be converted from type.*, error.* 1677");
include/rpl_reset.inc
[expecting slave to replicate correctly]
INSERT INTO t4 VALUES (1, "", 1);
@@ -493,13 +493,13 @@ include/diff_tables.inc [master:t4, slave:t4]
[expecting slave to stop]
INSERT INTO t5 VALUES (1, "", 1);
INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
-include/wait_for_slave_sql_error.inc [errno=1677 ]
+include/wait_for_slave_sql_error.inc [errno=1677]
Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'char(255)' to type 'char(16)''
include/rpl_reset.inc
[expecting slave to stop]
INSERT INTO t6 VALUES (1, "", 1);
INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
-include/wait_for_slave_sql_error.inc [errno=1677 ]
+include/wait_for_slave_sql_error.inc [errno=1677]
Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'char(255)' to type 'char(128)''
include/rpl_reset.inc
[expecting slave to replicate correctly]
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
index cba1b905d98..0c12eb544a5 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
@@ -485,9 +485,9 @@ INSERT INTO t2 VALUES (1, "", 1);
INSERT INTO t2 VALUES (2, repeat(_utf8'a', 16), 2);
include/diff_tables.inc [master:t2, slave:t2]
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
-call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535");
-call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table test.t1.* Error_code: 1032");
-call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t.. cannot be converted from type.*, Error_code: 1677");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* error.* 1535");
+call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table test.t1.* error.* 1032");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t.. cannot be converted from type.*, error.* 1677");
include/rpl_reset.inc
[expecting slave to replicate correctly]
INSERT INTO t4 VALUES (1, "", 1);
@@ -496,13 +496,13 @@ include/diff_tables.inc [master:t4, slave:t4]
[expecting slave to stop]
INSERT INTO t5 VALUES (1, "", 1);
INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
-include/wait_for_slave_sql_error.inc [errno=1677 ]
+include/wait_for_slave_sql_error.inc [errno=1677]
Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'char(255)' to type 'char(16)''
include/rpl_reset.inc
[expecting slave to stop]
INSERT INTO t6 VALUES (1, "", 1);
INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
-include/wait_for_slave_sql_error.inc [errno=1677 ]
+include/wait_for_slave_sql_error.inc [errno=1677]
Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'char(255)' to type 'char(128)''
include/rpl_reset.inc
[expecting slave to replicate correctly]
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result b/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result
index c7241c52353..91b1007aa59 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result
@@ -2,9 +2,6 @@ include/master-slave.inc
[connection master]
DROP TABLE IF EXISTS t1;
SET @@BINLOG_FORMAT = ROW;
-SELECT @@BINLOG_FORMAT;
-@@BINLOG_FORMAT
-ROW
**** Partition RANGE testing ****
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
@@ -577,7 +574,7 @@ t1 CREATE TABLE `t1` (
`bc` char(255) DEFAULT NULL,
`d` decimal(10,4) DEFAULT '0.0000',
`f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `total` bigint(20) unsigned NOT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
@@ -594,7 +591,7 @@ t1 CREATE TABLE `t1` (
`bc` char(255) DEFAULT NULL,
`d` decimal(10,4) DEFAULT '0.0000',
`f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `total` bigint(20) unsigned NOT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
@@ -650,7 +647,7 @@ t1 CREATE TABLE `t1` (
`bc` char(255) DEFAULT NULL,
`d` decimal(10,4) DEFAULT '0.0000',
`f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `total` bigint(20) unsigned NOT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
@@ -667,7 +664,7 @@ t1 CREATE TABLE `t1` (
`bc` char(255) DEFAULT NULL,
`d` decimal(10,4) DEFAULT '0.0000',
`f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `total` bigint(20) unsigned NOT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
diff --git a/mysql-test/suite/rpl/r/rpl_row_big_table_id,32bit.rdiff b/mysql-test/suite/rpl/r/rpl_row_big_table_id,32bit.rdiff
new file mode 100644
index 00000000000..1dbbfa9252f
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_big_table_id,32bit.rdiff
@@ -0,0 +1,29 @@
+--- r/rpl_row_big_table_id.result 2019-01-23 19:58:07.204914873 +0200
++++ r/rpl_row_big_table_id_32bit.result 2019-01-23 19:43:54.590640934 +0200
+@@ -19,20 +19,20 @@
+ master-bin.000002 # Gtid 1 # GTID #-#-#
+ master-bin.000002 # Query 1 # use `test`; ALTER TABLE t comment ''
+ master-bin.000002 # Gtid 1 # BEGIN GTID #-#-#
+-master-bin.000002 # Table_map 1 # table_id: 4294967295 (test.t)
+-master-bin.000002 # Write_rows_v1 1 # table_id: 4294967295 flags: STMT_END_F
++master-bin.000002 # Table_map 1 # table_id: 1 (test.t)
++master-bin.000002 # Write_rows_v1 1 # table_id: 1 flags: STMT_END_F
+ master-bin.000002 # Query 1 # COMMIT
+ master-bin.000002 # Gtid 1 # GTID #-#-#
+ master-bin.000002 # Query 1 # use `test`; ALTER TABLE t comment ''
+ master-bin.000002 # Gtid 1 # BEGIN GTID #-#-#
+-master-bin.000002 # Table_map 1 # table_id: 4294967296 (test.t)
+-master-bin.000002 # Write_rows_v1 1 # table_id: 4294967296 flags: STMT_END_F
++master-bin.000002 # Table_map 1 # table_id: 2 (test.t)
++master-bin.000002 # Write_rows_v1 1 # table_id: 2 flags: STMT_END_F
+ master-bin.000002 # Query 1 # COMMIT
+ master-bin.000002 # Gtid 1 # GTID #-#-#
+ master-bin.000002 # Query 1 # use `test`; ALTER TABLE t comment ''
+ master-bin.000002 # Gtid 1 # BEGIN GTID #-#-#
+-master-bin.000002 # Table_map 1 # table_id: 4294967297 (test.t)
+-master-bin.000002 # Write_rows_v1 1 # table_id: 4294967297 flags: STMT_END_F
++master-bin.000002 # Table_map 1 # table_id: 3 (test.t)
++master-bin.000002 # Write_rows_v1 1 # table_id: 3 flags: STMT_END_F
+ master-bin.000002 # Query 1 # COMMIT
+ DROP TABLE t;
+ include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_big_table_id.result b/mysql-test/suite/rpl/r/rpl_row_big_table_id.result
new file mode 100644
index 00000000000..d8ecadc61d1
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_big_table_id.result
@@ -0,0 +1,38 @@
+include/master-slave.inc
+[connection master]
+include/rpl_restart_server.inc [server_number=1]
+SET @@debug_dbug="d,simulate_big_table_id";
+CREATE TABLE t (a int);
+INSERT INTO t SET a= 0;
+ALTER TABLE t comment '';
+INSERT INTO t SET a= 1;
+ALTER TABLE t comment '';
+INSERT INTO t SET a= 2;
+ALTER TABLE t comment '';
+INSERT INTO t SET a= 3;
+show binlog events in <file> from <pos>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000002 # Table_map 1 # table_id: 4294967294 (test.t)
+master-bin.000002 # Write_rows_v1 1 # table_id: 4294967294 flags: STMT_END_F
+master-bin.000002 # Query 1 # COMMIT
+master-bin.000002 # Gtid 1 # GTID #-#-#
+master-bin.000002 # Query 1 # use `test`; ALTER TABLE t comment ''
+master-bin.000002 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000002 # Table_map 1 # table_id: 4294967295 (test.t)
+master-bin.000002 # Write_rows_v1 1 # table_id: 4294967295 flags: STMT_END_F
+master-bin.000002 # Query 1 # COMMIT
+master-bin.000002 # Gtid 1 # GTID #-#-#
+master-bin.000002 # Query 1 # use `test`; ALTER TABLE t comment ''
+master-bin.000002 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000002 # Table_map 1 # table_id: 4294967296 (test.t)
+master-bin.000002 # Write_rows_v1 1 # table_id: 4294967296 flags: STMT_END_F
+master-bin.000002 # Query 1 # COMMIT
+master-bin.000002 # Gtid 1 # GTID #-#-#
+master-bin.000002 # Query 1 # use `test`; ALTER TABLE t comment ''
+master-bin.000002 # Gtid 1 # BEGIN GTID #-#-#
+master-bin.000002 # Table_map 1 # table_id: 4294967297 (test.t)
+master-bin.000002 # Write_rows_v1 1 # table_id: 4294967297 flags: STMT_END_F
+master-bin.000002 # Query 1 # COMMIT
+DROP TABLE t;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result b/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result
index 95cb30f71f6..71edcd749e5 100644
--- a/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result
+++ b/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result
@@ -152,7 +152,7 @@ include/start_slave.inc
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
-CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master. Message: error writing to the binary log");
+CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occurred on the master. Message: error writing to the binary log");
TRUNCATE t1;
SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
@@ -165,8 +165,7 @@ include/wait_for_slave_sql_error.inc [errno=1534]
SELECT count(*) FROM t1;
count(*)
0
-show binlog events in 'slave-bin.000001' from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
diff --git a/mysql-test/suite/rpl/r/rpl_row_colSize.result b/mysql-test/suite/rpl/r/rpl_row_colSize.result
index 487cddc2051..d147f416c69 100644
--- a/mysql-test/suite/rpl/r/rpl_row_colSize.result
+++ b/mysql-test/suite/rpl/r/rpl_row_colSize.result
@@ -6,7 +6,7 @@ DROP TABLE IF EXISTS t1;
Checking MYSQL_TYPE_NEWDECIMAL fields
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
STOP SLAVE;
RESET SLAVE;
CREATE TABLE t1 (a DECIMAL(5,2));
@@ -265,8 +265,8 @@ STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
-call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 0 ...e mismatch.* Error_code: 1535");
-call mtr.add_suppression("Slave SQL.*Column 0 of table .test.t1. cannot be converted from type.* Error_code: 1677");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 0 ...e mismatch.* error.* 1535");
+call mtr.add_suppression("Slave SQL.*Column 0 of table .test.t1. cannot be converted from type.* error.* 1677");
*** Cleanup ***
DROP TABLE IF EXISTS t1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_conflicts.result b/mysql-test/suite/rpl/r/rpl_row_conflicts.result
index b9a570fea33..ee4cc8c1e46 100644
--- a/mysql-test/suite/rpl/r/rpl_row_conflicts.result
+++ b/mysql-test/suite/rpl/r/rpl_row_conflicts.result
@@ -1,6 +1,6 @@
include/master-slave.inc
[connection master]
-call mtr.add_suppression("Slave: Can\'t find record in \'t1\' Error_code: .*");
+call mtr.add_suppression("Slave: Can\'t find record in \'t1\' error.* .*");
call mtr.add_suppression("Can't find record in 't.'");
[on slave]
SET @old_slave_exec_mode= @@global.slave_exec_mode;
@@ -23,8 +23,8 @@ a
---- Wait until slave stops with an error ----
include/wait_for_slave_sql_error.inc [errno=1062]
Last_SQL_Error (expected "duplicate key" error)
-Could not execute Write_rows event on table test.t1; Duplicate entry '1' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log master-bin.000001, end_log_pos END_LOG_POS
-call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
+Could not execute Write_rows_v1 event on table test.t1; Duplicate entry '1' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log master-bin.000001, end_log_pos END_LOG_POS
+call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.* error.* 1062");
SELECT * FROM t1;
a
1
@@ -51,10 +51,10 @@ SELECT * FROM t1;
a
[on slave]
---- Wait until slave stops with an error ----
-call mtr.add_suppression("Slave SQL.*Can.t find record in .t1., Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Can.t find record in .t1., error.* 1032");
include/wait_for_slave_sql_error.inc [errno=1032]
Last_SQL_Error (expected "duplicate key" error)
-Could not execute Delete_rows event on table test.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000001, end_log_pos END_LOG_POS
+Could not execute Delete_rows_v1 event on table test.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000001, end_log_pos END_LOG_POS
SELECT * FROM t1;
a
---- Resolve the conflict on the slave and restart SQL thread ----
diff --git a/mysql-test/suite/rpl/r/rpl_row_create_select.result b/mysql-test/suite/rpl/r/rpl_row_create_select.result
index ac95d50df9d..81bbd3bc2fd 100644
--- a/mysql-test/suite/rpl/r/rpl_row_create_select.result
+++ b/mysql-test/suite/rpl/r/rpl_row_create_select.result
@@ -8,7 +8,7 @@ include/master-slave.inc
#value of 21.
CREATE TABLE t1 AS SELECT REPEAT('A', 1000) DIV 1 AS a;
Warnings:
-Warning 1918 Encountered illegal value '' when converting to DECIMAL
+Warning 1292 Truncated incorrect DECIMAL value: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -16,7 +16,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE t2 AS SELECT CONVERT(REPEAT('A', 255) USING UCS2) DIV 1 AS a;
Warnings:
-Warning 1918 Encountered illegal value '' when converting to DECIMAL
+Warning 1292 Truncated incorrect DECIMAL value: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
diff --git a/mysql-test/suite/rpl/r/rpl_row_create_table.result b/mysql-test/suite/rpl/r/rpl_row_create_table.result
index 393e2fdb851..31c4a823f70 100644
--- a/mysql-test/suite/rpl/r/rpl_row_create_table.result
+++ b/mysql-test/suite/rpl/r/rpl_row_create_table.result
@@ -1,23 +1,24 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
-CREATE TABLE t1 (a INT, b INT);
+include/master-slave.inc
+[connection master]
+include/wait_for_slave_to_stop.inc
+include/wait_for_slave_to_start.inc
+include/rpl_reset.inc
+CREATE TABLE t1 (a INT);
+CREATE OR REPLACE TABLE t1 (a INT, b INT);
CREATE TABLE t2 (a INT, b INT) ENGINE=Merge;
CREATE TABLE t3 (a INT, b INT) CHARSET=utf8;
CREATE TABLE t4 (a INT, b INT) ENGINE=Merge CHARSET=utf8;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t1 (a INT, b INT)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a INT, b INT) ENGINE=Merge
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t3 (a INT, b INT) CHARSET=utf8
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t4 (a INT, b INT) ENGINE=Merge CHARSET=utf8
**** On Master ****
SHOW CREATE TABLE t1;
@@ -111,15 +112,10 @@ NULL 3 6
NULL 4 2
NULL 5 10
NULL 6 12
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
CREATE TABLE t7 (UNIQUE(b)) SELECT a,b FROM tt3;
ERROR 23000: Duplicate entry '2' for key 'b'
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
CREATE TABLE t7 (a INT, b INT UNIQUE);
INSERT INTO t7 SELECT a,b FROM tt3;
ERROR 23000: Duplicate entry '2' for key 'b'
@@ -128,23 +124,20 @@ a b
1 2
2 4
3 6
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t7 (a INT, b INT UNIQUE)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t7)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
SELECT * FROM t7 ORDER BY a,b;
a b
1 2
2 4
3 6
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
CREATE TEMPORARY TABLE tt4 (a INT, b INT);
INSERT INTO tt4 VALUES (4,8), (5,10), (6,12);
BEGIN;
@@ -152,11 +145,11 @@ INSERT INTO t7 SELECT a,b FROM tt4;
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t7)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
SELECT * FROM t7 ORDER BY a,b;
a b
@@ -174,11 +167,7 @@ a b
4 8
5 10
6 12
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
CREATE TABLE t8 LIKE t4;
CREATE TABLE t9 LIKE tt4;
CREATE TEMPORARY TABLE tt5 LIKE t4;
@@ -197,13 +186,15 @@ Create Table CREATE TABLE `t9` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t8 LIKE t4
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `t9` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-)
+) ENGINE=MyISAM
**** On Slave ****
SHOW CREATE TABLE t8;
Table t8
@@ -216,18 +207,15 @@ Table t9
Create Table CREATE TABLE `t9` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=latin1
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
STOP SLAVE;
+include/wait_for_slave_to_stop.inc
SET GLOBAL storage_engine=@storage_engine;
START SLAVE;
+include/wait_for_slave_to_start.inc
================ BUG#22864 ================
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
SET AUTOCOMMIT=0;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2),(3);
@@ -270,37 +258,38 @@ a
1
2
3
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `t2` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `t3` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.t3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `t4` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.t4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
SHOW TABLES;
Tables_in_test
@@ -333,10 +322,7 @@ a
3
DROP TABLE IF EXISTS t1,t2,t3,t4;
SET AUTOCOMMIT=1;
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
+include/rpl_reset.inc
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2),(3);
CREATE TABLE t2 (a INT) ENGINE=INNODB;
@@ -355,19 +341,21 @@ a
4
6
9
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a INT) ENGINE=INNODB
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
SELECT * FROM t2 ORDER BY a;
a
@@ -377,11 +365,7 @@ a
6
9
TRUNCATE TABLE t2;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
BEGIN;
INSERT INTO t2 SELECT a*a FROM t1;
CREATE TEMPORARY TABLE tt2
@@ -394,8 +378,14 @@ Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
SELECT * FROM t2 ORDER BY a;
a
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK
SELECT * FROM t2 ORDER BY a;
a
DROP TABLE t1,t2;
@@ -412,35 +402,28 @@ a
1
2
DROP TABLE t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
DROP DATABASE IF EXISTS mysqltest1;
CREATE DATABASE mysqltest1;
CREATE TABLE mysqltest1.without_select (f1 BIGINT);
CREATE TABLE mysqltest1.with_select AS SELECT 1 AS f1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS mysqltest1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE mysqltest1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE mysqltest1.without_select (f1 BIGINT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `mysqltest1`.`with_select` (
- `f1` int(1) NOT NULL DEFAULT '0'
+ `f1` int(1) NOT NULL
)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.with_select)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
DROP DATABASE mysqltest1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TEMPORARY TABLE t7(c1 INT);
CREATE TABLE t5(c1 INT);
CREATE TABLE t4(c1 INT);
@@ -456,9 +439,9 @@ CREATE TABLE IF NOT EXISTS bug48506_t3 LIKE t7;
CREATE TABLE IF NOT EXISTS bug48506_t4 LIKE t7;
SHOW TABLES LIKE 'bug48506%';
Tables_in_test (bug48506%)
-bug48506_t4
DROP VIEW IF EXISTS bug48506_t1, bug48506_t2, bug48506_t3;
DROP TEMPORARY TABLES t7;
DROP TABLES t4, t5;
DROP TABLES IF EXISTS bug48506_t4;
+include/rpl_end.inc
end of the tests
diff --git a/mysql-test/suite/rpl/r/rpl_row_drop.result b/mysql-test/suite/rpl/r/rpl_row_drop.result
index cce5f732c50..20dcaecabd3 100644
--- a/mysql-test/suite/rpl/r/rpl_row_drop.result
+++ b/mysql-test/suite/rpl/r/rpl_row_drop.result
@@ -37,12 +37,13 @@ t1
t2
**** On Master ****
DROP TABLE t1,t2;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int)
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
SHOW TABLES;
Tables_in_test
diff --git a/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result b/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result
index a55c8e2a2bc..05b2c04e7ba 100644
--- a/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result
+++ b/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result
@@ -7,39 +7,48 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
SET @commands= 'configure';
CREATE TABLE tt_xx_1 ( id INT ) ENGINE = Innodb;
CREATE TABLE nt_xx_1 ( id INT ) ENGINE = MyIsam;
+CREATE TABLE tt_error_1 ( id INT, PRIMARY KEY (id) ) ENGINE = Innodb;
+CREATE TABLE nt_error_1 ( id INT, PRIMARY KEY (id) ) ENGINE = MyIsam;
+CREATE TABLE tt_error_2 ( id INT, PRIMARY KEY (id) ) ENGINE = Innodb;
+CREATE TABLE nt_error_2 ( id INT, PRIMARY KEY (id) ) ENGINE = MyIsam;
+CREATE TRIGGER tr_i_nt_2_to_tt_2 AFTER INSERT ON nt_error_2 FOR EACH ROW
+BEGIN
+DECLARE in_stmt_id INTEGER;
+INSERT INTO tt_error_2(id) VALUES (NEW.id);
+END|
CREATE TEMPORARY TABLE nt_tmp_xx_1 ( id INT ) ENGINE = MyIsam;
CREATE TEMPORARY TABLE tt_tmp_xx_1 ( id INT ) ENGINE = Innodb;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2;
Warnings:
-Note 1051 Unknown table 'nt_tmp_2'
+Note 1051 Unknown table 'test.nt_tmp_2'
CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) ENGINE = MyIsam;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1;
Warnings:
-Note 1051 Unknown table 'nt_tmp_1'
+Note 1051 Unknown table 'test.nt_tmp_1'
CREATE TEMPORARY TABLE nt_tmp_1 ( id INT ) ENGINE = MyIsam;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2;
Warnings:
-Note 1051 Unknown table 'tt_tmp_2'
+Note 1051 Unknown table 'test.tt_tmp_2'
CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) ENGINE = Innodb;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1;
Warnings:
-Note 1051 Unknown table 'tt_tmp_1'
+Note 1051 Unknown table 'test.tt_tmp_1'
CREATE TEMPORARY TABLE tt_tmp_1 ( id INT ) ENGINE = Innodb;
DROP TABLE IF EXISTS nt_2;
Warnings:
-Note 1051 Unknown table 'nt_2'
+Note 1051 Unknown table 'test.nt_2'
CREATE TABLE nt_2 ( id INT ) ENGINE = MyIsam;
DROP TABLE IF EXISTS nt_1;
Warnings:
-Note 1051 Unknown table 'nt_1'
+Note 1051 Unknown table 'test.nt_1'
CREATE TABLE nt_1 ( id INT ) ENGINE = MyIsam;
DROP TABLE IF EXISTS tt_2;
Warnings:
-Note 1051 Unknown table 'tt_2'
+Note 1051 Unknown table 'test.tt_2'
CREATE TABLE tt_2 ( id INT ) ENGINE = Innodb;
DROP TABLE IF EXISTS tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
CREATE TABLE tt_1 ( id INT ) ENGINE = Innodb;
SET @commands= '';
#########################################################################
@@ -52,88 +61,85 @@ SET @commands= '';
SET @commands= 'Drop-Temp-T-Temp';
DROP TEMPORARY TABLE tt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-N-Temp';
DROP TEMPORARY TABLE nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-N-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-N-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-Xe-Temp';
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-Xe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-Xe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-If-Xe-Temp';
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-Xe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-Xe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-TXe-Temp';
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-TXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-TXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-If-TXe-Temp';
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-TXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-TXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-NXe-Temp';
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-NXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-NXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-If-NXe-Temp';
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-NXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-NXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-TN-Temp';
DROP TEMPORARY TABLE tt_tmp_2, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-TT-Temp';
DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-TT-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-TT-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-NN-Temp';
DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-NN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1`,`test`.`nt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-NN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -146,11 +152,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-T-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -162,16 +168,15 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp N Drop-Temp-T-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-T-Temp N Drop-Temp-T-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -181,13 +186,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -199,20 +202,15 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -220,13 +218,14 @@ SET @commands= 'B T Drop-Temp-Xe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -234,20 +233,21 @@ SET @commands= 'B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -256,13 +256,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -272,21 +273,22 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -296,14 +298,14 @@ SET @commands= 'B T Drop-Temp-TXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -311,22 +313,21 @@ SET @commands= 'B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -335,14 +336,15 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -351,23 +353,24 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -375,16 +378,14 @@ SET @commands= 'B T Drop-Temp-NXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -392,26 +393,21 @@ SET @commands= 'B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -420,16 +416,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -439,27 +433,22 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -471,14 +460,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TN-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -490,22 +476,15 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, nt_tmp_1;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp N Drop-Temp-TN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TN-Temp N Drop-Temp-TN-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -515,11 +494,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TT-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -530,15 +509,15 @@ DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp N Drop-Temp-TT-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TT-Temp N Drop-Temp-TT-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -548,13 +527,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1`,`test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -565,20 +542,91 @@ DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1`,`test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne C';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (1), (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te C';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (1), (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig C';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (2), (2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+
#
#3) Generates in the binlog what follows:
@@ -589,11 +637,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-T-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -605,18 +653,17 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1;
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp N Drop-Temp-T-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-T-Temp N Drop-Temp-T-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -626,13 +673,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -644,22 +689,17 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1;
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -667,13 +707,14 @@ SET @commands= 'B T Drop-Temp-Xe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -681,22 +722,23 @@ SET @commands= 'B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -705,13 +747,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -721,23 +764,24 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -747,14 +791,14 @@ SET @commands= 'B T Drop-Temp-TXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -762,24 +806,23 @@ SET @commands= 'B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -788,14 +831,15 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -804,25 +848,26 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
+master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -830,16 +875,14 @@ SET @commands= 'B T Drop-Temp-NXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -847,28 +890,23 @@ SET @commands= 'B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -877,16 +915,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -896,29 +932,24 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -930,14 +961,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TN-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -949,24 +977,17 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, nt_tmp_1;
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp N Drop-Temp-TN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TN-Temp N Drop-Temp-TN-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -976,11 +997,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TT-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -991,17 +1012,17 @@ DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp N Drop-Temp-TT-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-TT-Temp N Drop-Temp-TT-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1011,13 +1032,11 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1`,`test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1028,22 +1047,99 @@ DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1`,`test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne R';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (3), (3);
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te R';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (2), (2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig R';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (4), (4);
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+
#########################################################################
# 2 - Tables dropped by "DROP TABLE"
#########################################################################
@@ -1054,103 +1150,121 @@ master-bin.000001 # Query # # ROLLBACK
SET @commands= 'Drop-T';
DROP TABLE tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-T << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-N';
DROP TABLE nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-N << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Xe';
DROP TABLE xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Xe << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Xe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-If-Xe';
DROP TABLE IF EXISTS xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-If-Xe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-If-Xe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TXe';
DROP TABLE tt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-If-TXe';
DROP TABLE IF EXISTS tt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-If-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-If-TXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-NXe';
DROP TABLE nt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-NXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-If-NXe';
DROP TABLE IF EXISTS nt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-If-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-If-NXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TN';
DROP TABLE tt_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TN << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TT';
DROP TABLE tt_1, tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_1`,`tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TT << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-NN';
DROP TABLE nt_1, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-NN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_1`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-NN << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-N-TN-Temp';
DROP TABLE tt_tmp_2, nt_tmp_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-N-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-N-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TN-Temp';
DROP TABLE tt_tmp_2, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1162,11 +1276,13 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-T << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1175,11 +1291,13 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1187,12 +1305,13 @@ SET @commands= 'B T Drop-Xe';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Xe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Xe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1201,13 +1320,15 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE IF EXISTS xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-If-Xe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-If-Xe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1215,13 +1336,15 @@ SET @commands= 'B T Drop-TXe';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1230,13 +1353,15 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE IF EXISTS tt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-If-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-If-TXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1244,13 +1369,15 @@ SET @commands= 'B T Drop-NXe';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE nt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-NXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1259,13 +1386,15 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE IF EXISTS nt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-If-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-If-NXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1274,11 +1403,13 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TN << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1287,11 +1418,13 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_1, tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_1`,`tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TT << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1300,11 +1433,13 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE nt_1, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-NN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_1`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-NN << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1313,13 +1448,13 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_tmp_2, nt_tmp_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-N-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-N-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1328,13 +1463,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_tmp_2, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
#########################################################################
@@ -1350,10 +1484,7 @@ CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) engine= MyIsam;
DROP TEMPORARY TABLE nt_tmp_1;
DROP TEMPORARY TABLE nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp';
@@ -1362,10 +1493,7 @@ CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
DROP TEMPORARY TABLE tt_tmp_1;
DROP TEMPORARY TABLE tt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1381,19 +1509,11 @@ DROP TEMPORARY TABLE nt_tmp_1;
DROP TEMPORARY TABLE nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1405,13 +1525,62 @@ DROP TEMPORARY TABLE tt_tmp_1;
DROP TEMPORARY TABLE tt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne C';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (5), (5);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te C';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO tt_error_1() VALUES (3), (3);
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig C';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (6), (6);
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
#
@@ -1426,19 +1595,11 @@ DROP TEMPORARY TABLE nt_tmp_1;
DROP TEMPORARY TABLE nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1450,13 +1611,66 @@ DROP TEMPORARY TABLE tt_tmp_1;
DROP TEMPORARY TABLE tt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne R';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (7), (7);
+ERROR 23000: Duplicate entry '7' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te R';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO tt_error_1() VALUES (4), (4);
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
+ROLLBACK;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
--e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig R';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (8), (8);
+ERROR 23000: Duplicate entry '8' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
#########################################################################
# 4 - CHANGING TEMPORARY TABLES
@@ -1473,14 +1687,15 @@ INSERT INTO nt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-N-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-N-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1492,14 +1707,15 @@ INSERT INTO tt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-N-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-N-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1511,10 +1727,11 @@ INSERT INTO nt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-T-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-T-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1526,13 +1743,76 @@ INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Ne C';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (9), (9);
+ERROR 23000: Duplicate entry '9' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Te C';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (5), (5);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Te C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig C';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (10), (10);
+ERROR 23000: Duplicate entry '10' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+
#
@@ -1546,16 +1826,17 @@ INSERT INTO nt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-N-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-N-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1567,12 +1848,13 @@ INSERT INTO tt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-N-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-N-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1584,12 +1866,13 @@ INSERT INTO nt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-T-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-T-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1601,15 +1884,84 @@ INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Ne R';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (11), (11);
+ERROR 23000: Duplicate entry '11' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Te R';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (6), (6);
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Te R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Te R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig R';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (12), (12);
+ERROR 23000: Duplicate entry '12' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_xx_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_error_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+
###################################################################################
# CHECK CONSISTENCY
###################################################################################
@@ -1619,6 +1971,10 @@ master-bin.000001 # Query # # COMMIT
SET @commands= 'clean';
DROP TABLE IF EXISTS tt_xx_1;
DROP TABLE IF EXISTS nt_xx_1;
+DROP TABLE IF EXISTS tt_error_1;
+DROP TABLE IF EXISTS nt_error_1;
+DROP TABLE IF EXISTS tt_error_2;
+DROP TABLE IF EXISTS nt_error_2;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_xx_1;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_xx_1;
DROP TABLE IF EXISTS nt_2;
diff --git a/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result b/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result
index 96d2a337e7c..27b23739831 100644
--- a/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result
+++ b/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result
@@ -8,8 +8,9 @@ create table t4 (a int);
insert into t4 select * from t3;
rename table t1 to t5, t2 to t1;
flush no_write_to_binlog tables;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; rename table t1 to t5, t2 to t1
select * from t3;
a
@@ -21,7 +22,8 @@ include/wait_for_slave_to_stop.inc
drop table t1;
flush tables with read lock;
start slave;
-include/wait_for_slave_to_start.inc
+include/wait_for_slave_param.inc [Slave_IO_Running]
+include/wait_for_slave_sql_to_start.inc
stop slave;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
diff --git a/mysql-test/suite/rpl/r/rpl_row_idempotency.result b/mysql-test/suite/rpl/r/rpl_row_idempotency.result
index 20afcd0a393..2e94d35644b 100644
--- a/mysql-test/suite/rpl/r/rpl_row_idempotency.result
+++ b/mysql-test/suite/rpl/r/rpl_row_idempotency.result
@@ -1,9 +1,9 @@
include/master-slave.inc
[connection master]
-call mtr.add_suppression("Can.t find record in .t[12].* Error_code: 1032");
-call mtr.add_suppression("Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
-call mtr.add_suppression("Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
-call mtr.add_suppression("Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
+call mtr.add_suppression("Can.t find record in .t[12].* error.* 1032");
+call mtr.add_suppression("Cannot delete or update a parent row: a foreign key constraint fails .* error.* 1451");
+call mtr.add_suppression("Cannot add or update a child row: a foreign key constraint fails .* error.* 1452");
+call mtr.add_suppression("Duplicate entry .1. for key .PRIMARY.* error.* 1062");
set @old_slave_exec_mode= @@global.slave_exec_mode;
set @@global.slave_exec_mode= IDEMPOTENT;
create table ti1 (b int primary key) engine = innodb;
diff --git a/mysql-test/suite/rpl/r/rpl_row_img_blobs.result b/mysql-test/suite/rpl/r/rpl_row_img_blobs.result
new file mode 100644
index 00000000000..e69358a5d29
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_img_blobs.result
@@ -0,0 +1,4733 @@
+include/rpl_init.inc [topology=1->2->3]
+CON: 'server_1', IMG: 'NOBLOB', RESTART SLAVE: 'N'
+SET SESSION binlog_row_image= 'NOBLOB';
+SET GLOBAL binlog_row_image= 'NOBLOB';
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image NOBLOB
+CON: 'server_2', IMG: 'NOBLOB', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'NOBLOB';
+SET GLOBAL binlog_row_image= 'NOBLOB';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image NOBLOB
+CON: 'server_3', IMG: 'NOBLOB', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'NOBLOB';
+SET GLOBAL binlog_row_image= 'NOBLOB';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image NOBLOB
+### engines: MyISAM, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+CON: 'server_1', IMG: 'MINIMAL', RESTART SLAVE: 'N'
+SET SESSION binlog_row_image= 'MINIMAL';
+SET GLOBAL binlog_row_image= 'MINIMAL';
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image MINIMAL
+CON: 'server_2', IMG: 'MINIMAL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'MINIMAL';
+SET GLOBAL binlog_row_image= 'MINIMAL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image MINIMAL
+CON: 'server_3', IMG: 'MINIMAL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'MINIMAL';
+SET GLOBAL binlog_row_image= 'MINIMAL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image MINIMAL
+### engines: MyISAM, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+CON: 'server_1', IMG: 'FULL', RESTART SLAVE: 'N'
+SET SESSION binlog_row_image= 'FULL';
+SET GLOBAL binlog_row_image= 'FULL';
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image FULL
+CON: 'server_2', IMG: 'FULL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'FULL';
+SET GLOBAL binlog_row_image= 'FULL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image FULL
+CON: 'server_3', IMG: 'FULL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'FULL';
+SET GLOBAL binlog_row_image= 'FULL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image FULL
+### engines: MyISAM, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check when there is no key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the AI (they are not updated)
+### will not break replication (check even if there is a key in the table)
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (UK NOT NULL exists in the table)
+### will not break replication
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 blob NOT NULL, c3 int, unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that updates without blobs in the BI (PK exists int the table)
+### will not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob in a key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a unique (not null) key does not break replication
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob NOT NULL, c3 int, unique key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+### Asserts that declaring a blob as part of a primary key does not break replication
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 blob, c3 int, primary key(c2(512))) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, "a", 10);
+INSERT INTO t VALUES (2, "b", 20);
+INSERT INTO t VALUES (3, "c", 30);
+include/rpl_sync.inc
+UPDATE t SET c1=10 WHERE c2="a";
+UPDATE t SET c1=20 WHERE c1=2;
+UPDATE t SET c1=30 WHERE c3=30;
+UPDATE t SET c3=40 WHERE c1=30;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c2="a";
+DELETE FROM t WHERE c1=20;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_img_eng_min.result b/mysql-test/suite/rpl/r/rpl_row_img_eng_min.result
new file mode 100644
index 00000000000..ba01221d3b6
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_img_eng_min.result
@@ -0,0 +1,3516 @@
+include/rpl_init.inc [topology=1->2->3]
+CON: 'server_1', IMG: 'MINIMAL', RESTART SLAVE: 'N'
+SET SESSION binlog_row_image= 'MINIMAL';
+SET GLOBAL binlog_row_image= 'MINIMAL';
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image MINIMAL
+CON: 'server_2', IMG: 'MINIMAL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'MINIMAL';
+SET GLOBAL binlog_row_image= 'MINIMAL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image MINIMAL
+CON: 'server_3', IMG: 'MINIMAL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'MINIMAL';
+SET GLOBAL binlog_row_image= 'MINIMAL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image MINIMAL
+### engines: MyISAM, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+CON: 'server_1', IMG: 'FULL', RESTART SLAVE: 'N'
+SET SESSION binlog_row_image= 'FULL';
+SET GLOBAL binlog_row_image= 'FULL';
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image FULL
+CON: 'server_2', IMG: 'FULL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'FULL';
+SET GLOBAL binlog_row_image= 'FULL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image FULL
+CON: 'server_3', IMG: 'FULL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'FULL';
+SET GLOBAL binlog_row_image= 'FULL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image FULL
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_img_eng_noblob.result b/mysql-test/suite/rpl/r/rpl_row_img_eng_noblob.result
new file mode 100644
index 00000000000..16152f28c27
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_img_eng_noblob.result
@@ -0,0 +1,3516 @@
+include/rpl_init.inc [topology=1->2->3]
+CON: 'server_1', IMG: 'NOBLOB', RESTART SLAVE: 'N'
+SET SESSION binlog_row_image= 'NOBLOB';
+SET GLOBAL binlog_row_image= 'NOBLOB';
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image NOBLOB
+CON: 'server_2', IMG: 'NOBLOB', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'NOBLOB';
+SET GLOBAL binlog_row_image= 'NOBLOB';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image NOBLOB
+CON: 'server_3', IMG: 'NOBLOB', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'NOBLOB';
+SET GLOBAL binlog_row_image= 'NOBLOB';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image NOBLOB
+### engines: MyISAM, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: MyISAM, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, MyISAM, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, MyISAM
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= MyISAM;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+### engines: InnoDB, InnoDB, InnoDB
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes in master, but NULLABLE on first slave
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite NOT NULL Unique key with holes
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int NOT NULL, c2 char(1), c3 char(1) NOT NULL, c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key with holes
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c3)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Primary Key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Primary key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), primary key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Unique key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), unique key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+****** TEST: One Composite key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1,c2)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: One key
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1), key(c1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+SET SQL_LOG_BIN=0;
+******* TEST: No keys
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+CREATE TABLE t (c1 int, c2 char(1), c3 char(1), c4 char(1)) engine= InnoDB;;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+SET SQL_LOG_BIN=1;
+INSERT INTO t VALUES (1, '1', '1', '1' );
+INSERT INTO t VALUES (4, '4', '4', '4' );
+INSERT INTO t VALUES (7, '7', '7', '7' );
+INSERT INTO t VALUES (9, '9', '9', NULL );
+INSERT INTO t VALUES (2, '1', '2', '2' );
+INSERT INTO t VALUES (3, '1', '3', '2' );
+include/rpl_sync.inc
+UPDATE t SET c4 = '7';
+UPDATE t SET c4 = '5' WHERE c1 = 1;
+UPDATE t SET c2 = '5' WHERE c1 = 1;
+UPDATE t SET c1 = '5' WHERE c1 = 1;
+UPDATE t SET c4 = '8' WHERE c2 = '4';
+UPDATE t SET c1 = '8' WHERE c2 = '4';
+UPDATE t SET c2 = '8' WHERE c2 = '4';
+UPDATE t SET c3 = '0' WHERE c4 = NULL;
+UPDATE t SET c2 = '0' WHERE c4 = '0';
+UPDATE t SET c2 = '2' WHERE c4 = '2';
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DELETE FROM t WHERE c1 = 7;
+DELETE FROM t WHERE c1 = 8;
+DELETE FROM t;
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:test.t, server_2:test.t, server_3:test.t]
+DROP TABLE t;
+include/rpl_sync.inc
+CON: 'server_1', IMG: 'FULL', RESTART SLAVE: 'N'
+SET SESSION binlog_row_image= 'FULL';
+SET GLOBAL binlog_row_image= 'FULL';
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image FULL
+CON: 'server_2', IMG: 'FULL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'FULL';
+SET GLOBAL binlog_row_image= 'FULL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image FULL
+CON: 'server_3', IMG: 'FULL', RESTART SLAVE: 'Y'
+SET SESSION binlog_row_image= 'FULL';
+SET GLOBAL binlog_row_image= 'FULL';
+include/stop_slave.inc
+include/start_slave.inc
+FLUSH TABLES;
+SHOW VARIABLES LIKE 'binlog_row_image';
+Variable_name Value
+binlog_row_image FULL
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result b/mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result
index 5afdaaf4781..b5b8b8955ff 100644
--- a/mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result
+++ b/mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result
@@ -13,549 +13,361 @@ INSERT INTO tt_2(ddl_case) VALUES(0);
# CHECK IMPLICT COMMIT
#########################################################################
SET AUTOCOMMIT= 0;
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
+INSERT INTO tt_1(ddl_case) VALUES (43);
+CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
+INSERT INTO tt_1(ddl_case) VALUES (42);
+DROP FUNCTION myfunc_int;
INSERT INTO tt_1(ddl_case) VALUES (41);
LOAD INDEX INTO CACHE nt_1 IGNORE LEAVES;
Table Op Msg_type Msg_text
test.nt_1 preload_keys status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (40);
LOAD INDEX INTO CACHE tt_1, tt_2 IGNORE LEAVES;
Table Op Msg_type Msg_text
test.tt_1 preload_keys note The storage engine for the table doesn't support preload_keys
test.tt_2 preload_keys note The storage engine for the table doesn't support preload_keys
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (39);
ANALYZE TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 analyze status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # use `test`; ANALYZE TABLE nt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (38);
CHECK TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 check status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (37);
OPTIMIZE TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 optimize status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # use `test`; OPTIMIZE TABLE nt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (36);
REPAIR TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 repair status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
+INSERT INTO tt_1(ddl_case) VALUES (35);
+LOCK TABLES tt_1 WRITE;
+INSERT INTO tt_1(ddl_case) VALUES (34);
+UNLOCK TABLES;
+INSERT INTO tt_1(ddl_case) VALUES (33);
+CREATE USER 'user'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (32);
+GRANT ALL ON *.* TO 'user'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (31);
+SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpass');
+INSERT INTO tt_1(ddl_case) VALUES (30);
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (29);
+RENAME USER 'user'@'localhost' TO 'user_new'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (28);
+DROP USER 'user_new'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (27);
+CREATE EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
+INSERT INTO tt_1(ddl_case) VALUES (26);
+ALTER EVENT evt COMMENT 'evt';
+INSERT INTO tt_1(ddl_case) VALUES (25);
+DROP EVENT evt;
+INSERT INTO tt_1(ddl_case) VALUES (24);
+CREATE TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
+INSERT INTO tt_1(ddl_case) VALUES (23);
+DROP TRIGGER tr;
+INSERT INTO tt_1(ddl_case) VALUES (22);
+CREATE FUNCTION fc () RETURNS VARCHAR(64) RETURN "fc";
+INSERT INTO tt_1(ddl_case) VALUES (21);
+ALTER FUNCTION fc COMMENT 'fc';
+INSERT INTO tt_1(ddl_case) VALUES (20);
+DROP FUNCTION fc;
+INSERT INTO tt_1(ddl_case) VALUES (19);
+CREATE PROCEDURE pc () UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
+INSERT INTO tt_1(ddl_case) VALUES (18);
+ALTER PROCEDURE pc COMMENT 'pc';
+INSERT INTO tt_1(ddl_case) VALUES (17);
+DROP PROCEDURE pc;
+INSERT INTO tt_1(ddl_case) VALUES (16);
+CREATE VIEW v AS SELECT * FROM tt_1;
+INSERT INTO tt_1(ddl_case) VALUES (15);
+ALTER VIEW v AS SELECT * FROM tt_1;
+INSERT INTO tt_1(ddl_case) VALUES (14);
+DROP VIEW v;
+INSERT INTO tt_1(ddl_case) VALUES (13);
+CREATE INDEX ix ON tt_1(ddl_case);
+INSERT INTO tt_1(ddl_case) VALUES (12);
+DROP INDEX ix ON tt_1;
+INSERT INTO tt_1(ddl_case) VALUES (11);
+CREATE TEMPORARY TABLE tt_xx (a int);
+INSERT INTO tt_1(ddl_case) VALUES (10);
+ALTER TABLE tt_xx ADD COLUMN (b int);
+INSERT INTO tt_1(ddl_case) VALUES (9);
+ALTER TABLE tt_xx RENAME new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (8);
+DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (7);
+CREATE TABLE tt_xx (a int);
+INSERT INTO tt_1(ddl_case) VALUES (6);
+ALTER TABLE tt_xx ADD COLUMN (b int);
+INSERT INTO tt_1(ddl_case) VALUES (5);
+RENAME TABLE tt_xx TO new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (4);
+TRUNCATE TABLE new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (3);
+DROP TABLE IF EXISTS tt_xx, new_tt_xx;
+Warnings:
+Note 1051 Unknown table 'test.tt_xx'
+INSERT INTO tt_1(ddl_case) VALUES (2);
+CREATE DATABASE db;
+INSERT INTO tt_1(ddl_case) VALUES (1);
+DROP DATABASE IF EXISTS db;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE tt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = Innodb
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE tt_2 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = Innodb
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE nt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = MyIsam
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "LIB"
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP FUNCTION myfunc_int
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; ANALYZE TABLE nt_1
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; OPTIMIZE TABLE nt_1
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; REPAIR TABLE nt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (35);
-LOCK TABLES tt_1 WRITE;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (34);
-UNLOCK TABLES;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (33);
-CREATE USER 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE USER 'user'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (32);
-GRANT ALL ON *.* TO 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; GRANT ALL ON *.* TO 'user'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (31);
-SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpass');
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; SET PASSWORD FOR 'user'@'localhost'='*D8DECEC305209EEFEC43008E1D420E1AA06B19E0'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (30);
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (29);
-RENAME USER 'user'@'localhost' TO 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; RENAME USER 'user'@'localhost' TO 'user_new'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (28);
-DROP USER 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP USER 'user_new'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (27);
-CREATE EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (26);
-ALTER EVENT evt COMMENT 'evt';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER EVENT evt COMMENT 'evt'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (25);
-DROP EVENT evt;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT evt
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (24);
-CREATE TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (23);
-DROP TRIGGER tr;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
master-bin.000001 # Table_map # # table_id: # (test.tt_2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER tr
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (22);
-CREATE FUNCTION fc () RETURNS VARCHAR(64) RETURN "fc";
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `fc`() RETURNS varchar(64) CHARSET latin1
RETURN "fc"
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (21);
-ALTER FUNCTION fc COMMENT 'fc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER FUNCTION fc COMMENT 'fc'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (20);
-DROP FUNCTION fc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION fc
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (19);
-CREATE PROCEDURE pc () UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `pc`()
UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (18);
-ALTER PROCEDURE pc COMMENT 'pc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER PROCEDURE pc COMMENT 'pc'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (17);
-DROP PROCEDURE pc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE pc
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (16);
-CREATE VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (15);
-ALTER VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (14);
-DROP VIEW v;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW v
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (13);
-CREATE INDEX ix ON tt_1(ddl_case);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE INDEX ix ON tt_1(ddl_case)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (12);
-DROP INDEX ix ON tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP INDEX ix ON tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (11);
-CREATE TEMPORARY TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (10);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (9);
-ALTER TABLE tt_xx RENAME new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (8);
-DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`new_tt_xx` /* generated by server */
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (7);
-CREATE TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx (a int)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (6);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE tt_xx ADD COLUMN (b int)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (5);
-RENAME TABLE tt_xx TO new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; RENAME TABLE tt_xx TO new_tt_xx
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (4);
-TRUNCATE TABLE new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE new_tt_xx
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (3);
-DROP TABLE IF EXISTS tt_xx, new_tt_xx;
-Warnings:
-Note 1051 Unknown table 'tt_xx'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx`,`new_tt_xx` /* generated by server */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (2);
-CREATE DATABASE db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (1);
-DROP DATABASE IF EXISTS db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
+SET AUTOCOMMIT= 1;
###################################################################################
# CHECK CONSISTENCY
###################################################################################
@@ -563,4 +375,7 @@ include/diff_tables.inc [master:tt_1,slave:tt_1]
###################################################################################
# CLEAN
###################################################################################
+DROP TABLE tt_1;
+DROP TABLE tt_2;
+DROP TABLE nt_1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result b/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result
index fa565c4061c..354b7555034 100644
--- a/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result
+++ b/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result
@@ -10,7 +10,7 @@ DROP TABLE t1;
INSERT INTO t1 VALUES (1);
==== Verify error on slave ====
[on slave]
-call mtr.add_suppression("Slave SQL.*Error executing row event: .Table .test.t1. doesn.t exist., Error_code: 1146");
+call mtr.add_suppression("Slave SQL.*Error executing row event: .Table .test.t1. doesn.t exist., error.* 1146");
include/wait_for_slave_sql_error.inc [errno=1146]
==== Clean up ====
include/stop_slave_io.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result b/mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result
index b73d15ab8bf..d6d4b5ad8fc 100644
--- a/mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result
+++ b/mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result
@@ -1,16 +1,17 @@
CREATE TABLE t1 (c1 char(50)) engine=myisam;
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1;
LOAD DATA CONCURRENT INFILE '../../std_data/words.dat' INTO TABLE t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (c1 char(50)) engine=myisam
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
DROP TABLE t1;
include/master-slave.inc
@@ -42,8 +43,8 @@ drop table t3;
create table t1(a int, b int, unique(b));
insert into t1 values(1,10);
load data CONCURRENT infile '../../std_data/rpl_loaddata.dat' into table t1;
-call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062");
-call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0");
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* error.* 1062");
+call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*error.* 0");
include/wait_for_slave_sql_error_and_skip.inc [errno=1062]
include/check_slave_no_error.inc
set sql_log_bin=0;
diff --git a/mysql-test/suite/rpl/r/rpl_row_log.result b/mysql-test/suite/rpl/r/rpl_row_log.result
index b9be2cd0144..4ff3d45e2bb 100644
--- a/mysql-test/suite/rpl/r/rpl_row_log.result
+++ b/mysql-test/suite/rpl/r/rpl_row_log.result
@@ -6,6 +6,8 @@ reset master;
reset slave;
start slave;
include/wait_for_slave_to_start.inc
+set @save_slave_ddl_exec_mode=@@global.slave_ddl_exec_mode;
+set @@global.slave_ddl_exec_mode=STRICT;
create table t1(n int not null auto_increment primary key)ENGINE=MyISAM;
insert into t1 values (NULL);
drop table t1;
@@ -14,31 +16,36 @@ load data infile 'LOAD_FILE' into table t1 ignore 1 lines;
select count(*) from t1;
count(*)
69
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-show binlog events from <binlog_start> limit 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-show binlog events from <binlog_start> limit 2;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
-show binlog events from <binlog_start> limit 1,4;
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
flush logs;
create table t3 (a int)ENGINE=MyISAM;
@@ -189,27 +196,32 @@ include/stop_slave.inc
include/start_slave.inc
create table t2 (n int)ENGINE=MyISAM;
insert into t2 values (1);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
-show binlog events in 'master-bin.000002' from <binlog_start>;
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; create table t3 (a int)ENGINE=MyISAM
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=MyISAM
-master-bin.000002 # Query # # BEGIN
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
master-bin.000002 # Table_map # # table_id: # (test.t2)
-master-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000002 # Query # # COMMIT
show binary logs;
Log_name File_size
@@ -219,27 +231,32 @@ show binary logs;
Log_name File_size
slave-bin.000001 #
slave-bin.000002 #
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t3 (a int)ENGINE=MyISAM
-slave-bin.000001 # Rotate # # slave-bin.000002;pos=4
-show binlog events in 'slave-bin.000002' from <binlog_start>;
+slave-bin.000001 # Rotate # # slave-bin.000002;pos=POS
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000002 # Gtid # # GTID #-#-#
slave-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=MyISAM
-slave-bin.000002 # Query # # BEGIN
+slave-bin.000002 # Gtid # # BEGIN GTID #-#-#
slave-bin.000002 # Table_map # # table_id: # (test.t2)
-slave-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000002 # Query # # COMMIT
include/check_slave_is_running.inc
show binlog events in 'slave-bin.000005' from 4;
@@ -252,16 +269,17 @@ create table t1(a int auto_increment primary key, b int);
insert into t1 values (NULL, 1);
set insert_id=5;
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(a int auto_increment primary key, b int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select * from t1;
a b
@@ -269,4 +287,5 @@ a b
5 1
6 1
drop table t1;
+set @@global.slave_ddl_exec_mode=@save_slave_ddl_exec_mode;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_log_innodb.result b/mysql-test/suite/rpl/r/rpl_row_log_innodb.result
index 15aa8f23b55..c78e0e4816e 100644
--- a/mysql-test/suite/rpl/r/rpl_row_log_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_log_innodb.result
@@ -6,6 +6,8 @@ reset master;
reset slave;
start slave;
include/wait_for_slave_to_start.inc
+set @save_slave_ddl_exec_mode=@@global.slave_ddl_exec_mode;
+set @@global.slave_ddl_exec_mode=STRICT;
create table t1(n int not null auto_increment primary key)ENGINE=InnoDB;
insert into t1 values (NULL);
drop table t1;
@@ -14,31 +16,36 @@ load data infile 'LOAD_FILE' into table t1 ignore 1 lines;
select count(*) from t1;
count(*)
69
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=InnoDB
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-show binlog events from <binlog_start> limit 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
-show binlog events from <binlog_start> limit 2;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
-master-bin.000001 # Query # # BEGIN
-show binlog events from <binlog_start> limit 1,4;
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
flush logs;
create table t3 (a int)ENGINE=InnoDB;
@@ -189,27 +196,32 @@ include/stop_slave.inc
include/start_slave.inc
create table t2 (n int)ENGINE=InnoDB;
insert into t2 values (1);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=InnoDB
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
-show binlog events in 'master-bin.000002' from <binlog_start>;
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; create table t3 (a int)ENGINE=InnoDB
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=InnoDB
-master-bin.000002 # Query # # BEGIN
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
master-bin.000002 # Table_map # # table_id: # (test.t2)
-master-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000002 # Xid # # COMMIT /* XID */
show binary logs;
Log_name File_size
@@ -219,27 +231,32 @@ show binary logs;
Log_name File_size
slave-bin.000001 #
slave-bin.000002 #
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Xid # # COMMIT /* XID */
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=InnoDB
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Xid # # COMMIT /* XID */
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t3 (a int)ENGINE=InnoDB
-slave-bin.000001 # Rotate # # slave-bin.000002;pos=4
-show binlog events in 'slave-bin.000002' from <binlog_start>;
+slave-bin.000001 # Rotate # # slave-bin.000002;pos=POS
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000002 # Gtid # # GTID #-#-#
slave-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=InnoDB
-slave-bin.000002 # Query # # BEGIN
+slave-bin.000002 # Gtid # # BEGIN GTID #-#-#
slave-bin.000002 # Table_map # # table_id: # (test.t2)
-slave-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000002 # Xid # # COMMIT /* XID */
include/check_slave_is_running.inc
show binlog events in 'slave-bin.000005' from 4;
@@ -252,16 +269,17 @@ create table t1(a int auto_increment primary key, b int);
insert into t1 values (NULL, 1);
set insert_id=5;
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(a int auto_increment primary key, b int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
select * from t1;
a b
@@ -269,4 +287,5 @@ a b
5 1
6 1
drop table t1;
+set @@global.slave_ddl_exec_mode=@save_slave_ddl_exec_mode;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result b/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result
index 379cea4d3fc..88d68bb50ee 100644
--- a/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result
+++ b/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result
@@ -10,7 +10,7 @@ reset slave;
#
# Test 1
#
-set @my_max_binlog_size= @@global.max_binlog_size;
+set @my_max_binlog_size= @@global.max_binlog_size, @my_max_relay_log_size=@@global.max_relay_log_size;
set global max_binlog_size=8192;
set global max_relay_log_size=8192-1;
Warnings:
@@ -36,8 +36,10 @@ include/check_slave_is_running.inc
stop slave;
reset slave;
set global max_relay_log_size=0;
+Warnings:
+Warning 1292 Truncated incorrect max_relay_log_size value: '0'
select @@global.max_relay_log_size;
-@@global.max_relay_log_size 0
+@@global.max_relay_log_size 4096
start slave;
include/check_slave_is_running.inc
#
@@ -65,6 +67,7 @@ show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000002 # <Binlog_Do_DB> <Binlog_Ignore_DB>
set global max_binlog_size= @my_max_binlog_size;
+set global max_relay_log_size= @my_max_relay_log_size;
#
# End of 4.1 tests
#
diff --git a/mysql-test/suite/rpl/r/rpl_row_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_row_mixing_engines.result
index d7ba7b18218..7831919c8b6 100644
--- a/mysql-test/suite/rpl/r/rpl_row_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_row_mixing_engines.result
@@ -4,8 +4,7 @@ include/master-slave.inc
# CONFIGURATION
#########################################################################
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-SET @commands= 'configure';
-SET SQL_LOG_BIN=0;
+rpl_mixing_engines.inc [commands=configure]
CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
@@ -18,21 +17,6 @@ CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(tran
CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
-SET SQL_LOG_BIN=0;
-CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE tt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
INSERT INTO nt_1(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_2(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_3(trans_id, stmt_id) VALUES(1,1);
@@ -79,6 +63,17 @@ INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
RETURN "fc_i_nt_5_suc";
END|
+CREATE FUNCTION fc_i_nt_3_tt_3_suc (p_trans_id INTEGER, p_stmt_id INTEGER) RETURNS VARCHAR(64)
+BEGIN
+DECLARE in_stmt_id INTEGER;
+SELECT max(stmt_id) INTO in_stmt_id FROM nt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO nt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+SELECT max(stmt_id) INTO in_stmt_id FROM tt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO tt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+RETURN "fc_i_nt_3_tt_3_suc";
+END|
CREATE TRIGGER tr_i_tt_3_to_nt_3 AFTER INSERT ON tt_3 FOR EACH ROW
BEGIN
DECLARE in_stmt_id INTEGER;
@@ -111,7 +106,6 @@ SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id), 1) INTO in_stmt_id;
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
END|
-SET @commands= '';
#########################################################################
# 1 - MIXING TRANSACTIONAL and NON-TRANSACTIONAL TABLES
#########################################################################
@@ -125,98 +119,109 @@ SET @commands= '';
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
-SET @commands= 'T';
+rpl_mixing_engines.inc [commands=T]
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-func]
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (9, 1);
fc_i_tt_5_suc (9, 1)
fc_i_tt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (10, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -230,40 +235,44 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=eT]
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te]
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (12, 1), (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (13, 1), (10, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (14, 1, ''), (7, 1, fc_i_tt_5_suc (14, 1));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -276,97 +285,109 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=N]
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-func]
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (17, 1);
fc_i_nt_5_suc (17, 1)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (18, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -380,79 +401,89 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=eN]
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -467,179 +498,203 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N T B T C" entries, format R.
# --> MIXED "B N T B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=tN]
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nT]
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT]
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN]
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -653,109 +708,125 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> STMT "B M R" entries, format S.
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
+rpl_mixing_engines.inc [commands=tNe]
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nTe]
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 32, 1, COUNT(*) FROM nt_1 UNION SELECT 24, 1, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -769,723 +840,771 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B T T C" entries, format R.
# --> MIXED "B T T C" entries, format S
#
+rpl_mixing_engines.inc [commands=B T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (39, 4);
fc_i_tt_5_suc (39, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (40, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (43, 4);
fc_i_tt_5_suc (43, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (44, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (45, 2);
fc_i_tt_5_suc (45, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (46, 2);
fc_i_tt_5_suc (46, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 2);
fc_i_tt_5_suc (47, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 4);
fc_i_tt_5_suc (47, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (48, 2);
fc_i_tt_5_suc (48, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (48, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (49, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (50, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (51, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (51, 4);
fc_i_tt_5_suc (51, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1499,235 +1618,259 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B T eT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 4), (54, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (55, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (56, 4, ''), (56, 2, fc_i_tt_5_suc (56, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 2), (57, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (59, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (60, 2, ''), (59, 4, fc_i_tt_5_suc (60, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1741,340 +1884,356 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (62, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (62, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (63, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (63, 4);
fc_i_tt_5_suc (63, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (64, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (64, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (65, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (65, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (67, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (67, 4);
fc_i_tt_5_suc (67, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (68, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (68, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (69, 2);
fc_i_tt_5_suc (69, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (69, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (70, 2);
fc_i_tt_5_suc (70, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (70, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 2);
fc_i_tt_5_suc (71, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 4);
fc_i_tt_5_suc (71, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (72, 2);
fc_i_tt_5_suc (72, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (72, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (73, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (73, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (74, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (74, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (75, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (75, 4);
fc_i_tt_5_suc (75, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2087,172 +2246,180 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T eT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 4), (78, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (79, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (79, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (80, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (80, 4, ''), (80, 2, fc_i_tt_5_suc (80, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (81, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 2), (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (83, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (83, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (84, 2, ''), (60, 4, fc_i_tt_5_suc (84, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (84, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2265,819 +2432,883 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (87, 4);
fc_i_nt_5_suc (87, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (88, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (91, 4);
fc_i_nt_5_suc (91, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (92, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (93, 2);
fc_i_nt_5_suc (93, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (94, 2);
fc_i_nt_5_suc (94, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (95, 2);
fc_i_nt_5_suc (95, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (95, 4);
fc_i_nt_5_suc (95, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (96, 2);
fc_i_nt_5_suc (96, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (96, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (97, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (98, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (99, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (99, 4);
fc_i_nt_5_suc (99, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3091,315 +3322,345 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3413,851 +3674,915 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (111, 4);
fc_i_nt_5_suc (111, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (112, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (115, 4);
fc_i_nt_5_suc (115, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (116, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (117, 2);
fc_i_nt_5_suc (117, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (118, 2);
fc_i_nt_5_suc (118, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (119, 2);
fc_i_nt_5_suc (119, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (119, 4);
fc_i_nt_5_suc (119, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (120, 2);
fc_i_nt_5_suc (120, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (120, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (121, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (122, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (123, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (123, 4);
fc_i_nt_5_suc (123, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4271,331 +4596,361 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4609,803 +4964,867 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B T N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (135, 4);
fc_i_nt_5_suc (135, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (136, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (139, 4);
fc_i_nt_5_suc (139, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (140, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (141, 2);
fc_i_tt_5_suc (141, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (142, 2);
fc_i_tt_5_suc (142, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (143, 2);
fc_i_tt_5_suc (143, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (143, 4);
fc_i_nt_5_suc (143, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (144, 2);
fc_i_tt_5_suc (144, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (144, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (145, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (146, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (147, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (147, 4);
fc_i_nt_5_suc (147, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (148, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (148, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5423,127 +5842,140 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B eT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (150, 2), (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5557,611 +5989,659 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (155, 4);
fc_i_nt_5_suc (155, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (156, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (159, 4);
fc_i_nt_5_suc (159, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (160, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (161, 2);
fc_i_tt_5_suc (161, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (162, 2);
fc_i_tt_5_suc (162, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (163, 2);
fc_i_tt_5_suc (163, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (163, 4);
fc_i_nt_5_suc (163, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (164, 2);
fc_i_tt_5_suc (164, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (164, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (165, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (166, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (167, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (167, 4);
fc_i_nt_5_suc (167, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (168, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (168, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6179,117 +6659,127 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B eT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (170, 2), (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (171, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6303,803 +6793,867 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (175, 4);
fc_i_tt_5_suc (175, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (176, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (179, 4);
fc_i_tt_5_suc (179, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (180, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (181, 2);
fc_i_nt_5_suc (181, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (182, 2);
fc_i_nt_5_suc (182, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (183, 2);
fc_i_nt_5_suc (183, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (183, 4);
fc_i_tt_5_suc (183, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (184, 2);
fc_i_nt_5_suc (184, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (184, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (185, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (186, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (187, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (187, 4);
fc_i_tt_5_suc (187, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (188, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (188, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7113,611 +7667,659 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entries, format R.
# --> MIXED "B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (190, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (192, 4);
fc_i_tt_5_suc (192, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (195, 4);
fc_i_tt_5_suc (195, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (196, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (197, 2);
fc_i_nt_5_suc (197, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (198, 2);
fc_i_nt_5_suc (198, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (199, 2);
fc_i_nt_5_suc (199, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (199, 4);
fc_i_tt_5_suc (199, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (200, 2);
fc_i_nt_5_suc (200, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (200, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (201, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (202, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (202, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (203, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (204, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (204, 4);
fc_i_tt_5_suc (204, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -7732,335 +8334,366 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8075,229 +8708,252 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tNe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 214, 2, COUNT(*) FROM nt_1 UNION SELECT 213, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8312,245 +8968,267 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 220, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (220, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8565,191 +9243,207 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tNe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 228, 2, COUNT(*) FROM nt_1 UNION SELECT 218, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (228, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8763,335 +9457,366 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B T tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9105,229 +9830,252 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entry, format R.
# --> MIXED "B N C B T C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 242, 4, COUNT(*) FROM nt_1 UNION SELECT 242, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9341,245 +10089,267 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (248, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 248, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9593,191 +10363,207 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (256, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 256, 4, COUNT(*) FROM nt_1 UNION SELECT 256, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9793,363 +10579,401 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10165,229 +10989,252 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 270, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10403,311 +11250,342 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10723,241 +11601,264 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 284, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -10972,363 +11873,401 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C B T C" entries, format R.
# --> MIXED "B N C B N C B T C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_5)
master-bin.000001 # Table_map # # table_id: # (test.tt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -11343,229 +12282,252 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 298, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -11580,311 +12542,342 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -11899,1878 +12892,2576 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 312, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_3)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_5)
master-bin.000001 # Table_map # # table_id: # (test.nt_6)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 2 - SAVEPOINT
###################################################################################
+rpl_mixing_engines.inc [commands=B T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B N T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B N T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B N T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B N T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T N S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T N Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T N S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T N Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn N T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 N T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn N T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 N T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn N T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 3 - CREATE TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CSe-T->T CS-T->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_1` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_1, nt_xx_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T CS-T->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_1` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T CS-T->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->N CS-N->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_2` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_2, nt_xx_2;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N CS-N->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_2` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_2)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N CS-N->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-T->N CS-T->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_3` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_3, nt_xx_3;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N CS-T->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_3` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_3)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N CS-T->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_4` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_4, nt_xx_4;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_4` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_4)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_5` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_5)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_5, nt_xx_5;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_5` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_5)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_6` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_6)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_6, nt_xx_6;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_6` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_6)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 4 - INSERT TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_7` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_7` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_7)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_7, nt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_8` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `tt_xx_8` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=InnoDB
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_xx_8)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_8, nt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_9` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_9` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_9)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_9, nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_10` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `nt_xx_10` (
- `trans_id` int(11) NOT NULL DEFAULT '0',
- `stmt_id` int(11) NOT NULL DEFAULT '0',
+ `trans_id` int(11) NOT NULL,
+ `stmt_id` int(11) NOT NULL,
`info` varchar(64) DEFAULT NULL,
PRIMARY KEY (`trans_id`,`stmt_id`)
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_xx_10)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_10, nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 5 - ROLLBACK TEMPORARY TABLE
###################################################################################
+rpl_mixing_engines.inc [commands=B T CT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_11;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn T CT Rn R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T CT R1 R << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T CT Rn R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T CT R1 R << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T CT Rn R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_12;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_13;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B tN CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tN CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_14;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_15;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.nt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_16;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
+# 5 - SET WITH ROW CHANGES
+###################################################################################
+rpl_mixing_engines.inc [commands=set-T]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(363, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-N]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(364, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-NT]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(365, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(366, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(366, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(367, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(367, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(368, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(368, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(369, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(369, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_5)
+master-bin.000001 # Table_map # # table_id: # (test.nt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(370, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(370, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(371, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(371, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.tt_5)
+master-bin.000001 # Table_map # # table_id: # (test.tt_6)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.tt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(372, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(372, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(373, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(373, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Table_map # # table_id: # (test.nt_3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT R << -e-e-e-e-e-e-e-e-e-e-e-
+
+###################################################################################
# CHECK CONSISTENCY
###################################################################################
###################################################################################
# CLEAN
###################################################################################
+rpl_mixing_engines.inc [commands=clean]
+DROP TABLE tt_1;
+DROP TABLE tt_2;
+DROP TABLE tt_3;
+DROP TABLE tt_4;
+DROP TABLE tt_5;
+DROP TABLE tt_6;
+DROP TABLE nt_1;
+DROP TABLE nt_2;
+DROP TABLE nt_3;
+DROP TABLE nt_4;
+DROP TABLE nt_5;
+DROP TABLE nt_6;
+DROP PROCEDURE pc_i_tt_5_suc;
+DROP PROCEDURE pc_i_nt_5_suc;
+DROP FUNCTION fc_i_tt_5_suc;
+DROP FUNCTION fc_i_nt_5_suc;
+DROP FUNCTION fc_i_nt_3_tt_3_suc;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result b/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
index 19611ac52b5..7c7c6997b07 100644
--- a/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
+++ b/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
@@ -161,7 +161,7 @@ use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
@@ -184,7 +184,7 @@ use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
@@ -293,7 +293,7 @@ use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
@@ -322,7 +322,7 @@ use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
+SET @@session.sql_mode=1342177280/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
diff --git a/mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result b/mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result
index 523564a222e..d9ebb52493b 100644
--- a/mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result
@@ -25,10 +25,4 @@ INSERT INTO t1(c1) VALUES (NULL);
UPDATE t1 SET c1= 0;
include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
-include/rpl_reset.inc
-CREATE TABLE t1 (c1 int(11) NOT NULL, c2 int(11) NOT NULL, c3 int(11) DEFAULT '-1') ENGINE=InnoDB DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES (1,2,NULL);
-UPDATE t1 SET c1=1, c2=2, c3=-1 WHERE c1=1 AND c2=2 AND ISNULL(c3);
-include/diff_tables.inc [master:test.t1, slave:test.t1]
-DROP TABLE t1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result b/mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
index 4dc7c0bc7a3..1ec98a81a8b 100644
--- a/mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
@@ -34,10 +34,4 @@ INSERT INTO t1(c1) VALUES (NULL);
UPDATE t1 SET c1= 0;
include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
-include/rpl_reset.inc
-CREATE TABLE t1 (c1 int(11) NOT NULL, c2 int(11) NOT NULL, c3 int(11) DEFAULT '-1') ENGINE=MyISAM DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES (1,2,NULL);
-UPDATE t1 SET c1=1, c2=2, c3=-1 WHERE c1=1 AND c2=2 AND ISNULL(c3);
-include/diff_tables.inc [master:test.t1, slave:test.t1]
-DROP TABLE t1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_reset_slave.result b/mysql-test/suite/rpl/r/rpl_row_reset_slave.result
index 1cf70ba7e67..33284ce58c6 100644
--- a/mysql-test/suite/rpl/r/rpl_row_reset_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_row_reset_slave.result
@@ -47,7 +47,7 @@ include/start_slave.inc
include/stop_slave.inc
reset slave all;
start slave;
-ERROR HY000: The server is not configured as slave; fix in config file or with CHANGE MASTER TO
+ERROR HY000: Misconfigured slave: MASTER_HOST was not set; Fix in config file or with CHANGE MASTER TO
CHANGE MASTER TO MASTER_HOST= 'MASTER_HOST', MASTER_USER= 'MASTER_USER', MASTER_PORT= MASTER_PORT;
include/start_slave.inc
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_rollback_to_savepoint.result b/mysql-test/suite/rpl/r/rpl_row_rollback_to_savepoint.result
new file mode 100644
index 00000000000..bf7ced0dd89
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_rollback_to_savepoint.result
@@ -0,0 +1,502 @@
+include/master-slave.inc
+[connection master]
+#Test case 1:
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE t3 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB;
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE EXIT HANDLER FOR SQLEXCEPTION
+BEGIN
+ROLLBACK TO event_logging_1;
+INSERT t3 VALUES (1);
+END;
+SAVEPOINT event_logging_1;
+INSERT INTO t2 VALUES (1);
+RELEASE SAVEPOINT event_logging_1;
+END|
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t3 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE EXIT HANDLER FOR SQLEXCEPTION
+BEGIN
+ROLLBACK TO event_logging_1;
+INSERT t3 VALUES (1);
+END;
+SAVEPOINT event_logging_1;
+INSERT INTO t2 VALUES (1);
+RELEASE SAVEPOINT event_logging_1;
+END
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `event_logging_1`
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+[connection master]
+DROP TRIGGER tr1;
+DELETE FROM t1;
+DELETE FROM t2;
+DELETE FROM t3;
+# Test case 2:
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE EXIT HANDLER FOR SQLEXCEPTION
+BEGIN
+ROLLBACK TO event_logging_2;
+INSERT t3 VALUES (3);
+END;
+SAVEPOINT event_logging_2;
+INSERT INTO t2 VALUES (1);
+RELEASE SAVEPOINT event_logging_2;
+END|
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW CALL p1()|
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t3 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE EXIT HANDLER FOR SQLEXCEPTION
+BEGIN
+ROLLBACK TO event_logging_1;
+INSERT t3 VALUES (1);
+END;
+SAVEPOINT event_logging_1;
+INSERT INTO t2 VALUES (1);
+RELEASE SAVEPOINT event_logging_1;
+END
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `event_logging_1`
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TRIGGER tr1
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t3)
+master-bin.000001 # Delete_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
+BEGIN
+DECLARE EXIT HANDLER FOR SQLEXCEPTION
+BEGIN
+ROLLBACK TO event_logging_2;
+INSERT t3 VALUES (3);
+END;
+SAVEPOINT event_logging_2;
+INSERT INTO t2 VALUES (1);
+RELEASE SAVEPOINT event_logging_2;
+END
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW CALL p1()
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `event_logging_2`
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t3)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+[connection master]
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP PROCEDURE p1;
+# Test case 3:
+include/rpl_reset.inc
+[connection master]
+CREATE TABLE t (f1 int(10) unsigned NOT NULL, PRIMARY KEY (f1)) ENGINE=InnoDB;
+CREATE TRIGGER t_insert_trig AFTER INSERT ON t FOR EACH ROW
+BEGIN
+SAVEPOINT savepoint_1;
+ROLLBACK TO savepoint_1;
+END |
+INSERT INTO t VALUES (2);
+INSERT INTO t VALUES (3);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t (f1 int(10) unsigned NOT NULL, PRIMARY KEY (f1)) ENGINE=InnoDB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t_insert_trig AFTER INSERT ON t FOR EACH ROW
+BEGIN
+SAVEPOINT savepoint_1;
+ROLLBACK TO savepoint_1;
+END
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `savepoint_1`
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `savepoint_1`
+master-bin.000001 # Xid # # COMMIT /* XID */
+SELECT * FROM t;
+f1
+2
+3
+include/sync_slave_sql_with_master.inc
+SELECT * FROM t;
+f1
+2
+3
+[connection master]
+DROP TABLE t;
+# Test case 4:
+include/rpl_reset.inc
+[connection master]
+CREATE TABLE t (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB;
+CREATE TABLE t1 (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB;
+CREATE TRIGGER t_insert_trig BEFORE INSERT ON t FOR EACH ROW
+BEGIN
+SAVEPOINT savepoint_1;
+INSERT INTO t1 VALUES (5);
+END |
+INSERT INTO t VALUES (2), (3);
+INSERT INTO t1 VALUES (30);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t_insert_trig BEFORE INSERT ON t FOR EACH ROW
+BEGIN
+SAVEPOINT savepoint_1;
+INSERT INTO t1 VALUES (5);
+END
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `savepoint_1`
+master-bin.000001 # Table_map # # table_id: # (test.t)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+SELECT * FROM t;
+f1
+2
+3
+SELECT * FROM t1;
+f1
+5
+5
+30
+include/sync_slave_sql_with_master.inc
+SELECT * FROM t;
+f1
+2
+3
+SELECT * FROM t1;
+f1
+5
+5
+30
+[connection master]
+DROP TABLE t;
+DROP TABLE t1;
+# Test case 5:
+include/rpl_reset.inc
+[connection master]
+CREATE TABLE t (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB;
+CREATE TABLE t1 (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB;
+CREATE TRIGGER t_insert_trig BEFORE INSERT ON t
+FOR EACH ROW
+BEGIN
+SAVEPOINT savepoint_1;
+END |
+INSERT INTO t VALUES (2), (3);
+INSERT INTO t1 VALUES (30);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t_insert_trig BEFORE INSERT ON t
+FOR EACH ROW
+BEGIN
+SAVEPOINT savepoint_1;
+END
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `savepoint_1`
+master-bin.000001 # Table_map # # table_id: # (test.t)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+SELECT * FROM t;
+f1
+2
+3
+SELECT * FROM t1;
+f1
+30
+include/sync_slave_sql_with_master.inc
+SELECT * FROM t;
+f1
+2
+3
+SELECT * FROM t1;
+f1
+30
+[connection master]
+DROP TABLE t;
+DROP TABLE t1;
+# Test case 6:
+include/rpl_reset.inc
+[connection master]
+CREATE TABLE t1 (f1 INTEGER ) ENGINE=INNODB;
+CREATE TABLE t2 (f1 INTEGER ) ENGINE=INNODB;
+CREATE FUNCTION f1() RETURNS INT
+BEGIN
+SAVEPOINT event_logging_2;
+INSERT INTO t1 VALUES (1);
+ROLLBACK TO event_logging_2;
+RETURN 0;
+END|
+BEGIN;
+INSERT INTO t2 VALUES (1), (f1()), (2), (4);
+COMMIT;
+INSERT INTO t2 VALUES (10);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (f1 INTEGER ) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (f1 INTEGER ) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
+BEGIN
+SAVEPOINT event_logging_2;
+INSERT INTO t1 VALUES (1);
+ROLLBACK TO event_logging_2;
+RETURN 0;
+END
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `event_logging_2`
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+[connection master]
+SELECT * FROM t2;
+f1
+1
+0
+2
+4
+10
+SELECT * FROM t1;
+f1
+include/sync_slave_sql_with_master.inc
+SELECT * FROM t2;
+f1
+1
+0
+2
+4
+10
+SELECT * FROM t1;
+f1
+[connection master]
+DROP TABLE t1;
+DROP TABLE t2;
+DROP FUNCTION f1;
+# Test case 7:
+include/rpl_reset.inc
+[connection master]
+CREATE TABLE t1 (f1 INTEGER ) ENGINE=INNODB;
+CREATE TABLE t2 (f1 INTEGER ) ENGINE=INNODB;
+CREATE FUNCTION f1() RETURNS INT
+BEGIN
+SAVEPOINT event_logging_2;
+INSERT INTO t1 VALUES (1);
+RETURN 0;
+END|
+BEGIN;
+INSERT INTO t2 VALUES (1), (f1()), (2), (4);
+COMMIT;
+INSERT INTO t2 VALUES (10);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (f1 INTEGER ) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (f1 INTEGER ) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
+BEGIN
+SAVEPOINT event_logging_2;
+INSERT INTO t1 VALUES (1);
+RETURN 0;
+END
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `event_logging_2`
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: #
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+[connection master]
+SELECT * FROM t2;
+f1
+1
+0
+2
+4
+10
+SELECT * FROM t1;
+f1
+1
+include/sync_slave_sql_with_master.inc
+SELECT * FROM t2;
+f1
+1
+0
+2
+4
+10
+SELECT * FROM t1;
+f1
+1
+[connection master]
+DROP TABLE t1;
+DROP TABLE t2;
+DROP FUNCTION f1;
+# Test case 8:
+include/rpl_reset.inc
+[connection master]
+CREATE TABLE t1 (f1 INTEGER ) ENGINE=INNODB;
+CREATE FUNCTION f1() RETURNS INT
+BEGIN
+SAVEPOINT event_logging_2;
+RETURN 0;
+END|
+BEGIN;
+INSERT INTO t1 VALUES (1), (f1()), (2), (4);
+COMMIT;
+INSERT INTO t1 VALUES (10);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (f1 INTEGER ) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
+BEGIN
+SAVEPOINT event_logging_2;
+RETURN 0;
+END
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `event_logging_2`
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Xid # # COMMIT /* XID */
+[connection master]
+SELECT * FROM t1;
+f1
+1
+0
+2
+4
+10
+include/sync_slave_sql_with_master.inc
+SELECT * FROM t1;
+f1
+1
+0
+2
+4
+10
+[connection master]
+DROP TABLE t1;
+DROP FUNCTION f1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result b/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result
index 7c55e44ed59..a132b50a471 100644
--- a/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result
+++ b/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result
@@ -6,198 +6,224 @@ INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
******** [master] SHOW BINLOG EVENTS IN <FILE> ********
-show binlog events in 'master-bin.000001' from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
-show binlog events in 'master-bin.000001' from <binlog_start> limit 1;
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show binlog events in 'master-bin.000001' from <binlog_start> limit 1,3;
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
******** [master] SHOW BINLOG EVENTS ********
-show binlog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
******** [slave] SHOW BINLOG EVENTS IN <FILE> ********
-show binlog events in 'slave-bin.000001' from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
-show binlog events in 'slave-bin.000001' from <binlog_start> limit 1;
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show binlog events in 'slave-bin.000001' from <binlog_start> limit 1,3;
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
******** [slave] SHOW BINLOG EVENTS ********
-show binlog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
******** [slave] SHOW RELAYLOG EVENTS IN <FILE> ********
-show relaylog events in 'slave-relay-bin.000003' from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000003 # Rotate # # master-bin.000001;pos=4
-slave-relay-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000003 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Table_map # # table_id: # (test.t1)
-slave-relay-bin.000003 # Write_rows # # table_id: # flags: STMT_END_F
-slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Table_map # # table_id: # (test.t1)
-slave-relay-bin.000003 # Write_rows # # table_id: # flags: STMT_END_F
-slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Table_map # # table_id: # (test.t1)
-slave-relay-bin.000003 # Write_rows # # table_id: # flags: STMT_END_F
-slave-relay-bin.000003 # Query # # COMMIT
-******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1 ********
-show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000003 # Rotate # # master-bin.000001;pos=4
-******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 1,3;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000003 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-relay-bin.000003 # Query # # BEGIN
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000002 # Rotate # # master-bin.000001;pos=POS
+slave-relay-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+slave-relay-bin.000002 # Gtid_list # # []
+slave-relay-bin.000002 # Binlog_checkpoint # # master-bin.000001
+slave-relay-bin.000002 # Gtid # # GTID #-#-#
+slave-relay-bin.000002 # Query # # use `test`; CREATE TABLE t1 (a INT)
+slave-relay-bin.000002 # Gtid # # BEGIN GTID #-#-#
+slave-relay-bin.000002 # Table_map # # table_id: # (test.t1)
+slave-relay-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-relay-bin.000002 # Query # # COMMIT
+slave-relay-bin.000002 # Gtid # # BEGIN GTID #-#-#
+slave-relay-bin.000002 # Table_map # # table_id: # (test.t1)
+slave-relay-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-relay-bin.000002 # Query # # COMMIT
+slave-relay-bin.000002 # Gtid # # BEGIN GTID #-#-#
+slave-relay-bin.000002 # Table_map # # table_id: # (test.t1)
+slave-relay-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-relay-bin.000002 # Query # # COMMIT
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000002 # Rotate # # master-bin.000001;pos=POS
+slave-relay-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000002 # Gtid_list # # []
+slave-relay-bin.000002 # Binlog_checkpoint # # master-bin.000001
+slave-relay-bin.000002 # Gtid # # GTID #-#-#
******** [slave] SHOW RELAYLOG EVENTS ********
-show relaylog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000002 # Rotate # # slave-relay-bin.000003;pos=4
+slave-relay-bin.000001 # Rotate # # slave-relay-bin.000002;pos=POS
FLUSH LOGS;
FLUSH LOGS;
DROP TABLE t1;
******** [master] SHOW BINLOG EVENTS IN <FILE> ********
-show binlog events in 'master-bin.000002' from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Binlog_checkpoint # # master-bin.000002
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
-show binlog events in 'master-bin.000002' from <binlog_start> limit 1;
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show binlog events in 'master-bin.000002' from <binlog_start> limit 1,3;
+master-bin.000002 # Binlog_checkpoint # # master-bin.000002
+master-bin.000002 # Gtid # # GTID #-#-#
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
******** [master] SHOW BINLOG EVENTS ********
-show binlog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
******** [slave] SHOW BINLOG EVENTS IN <FILE> ********
-show binlog events in 'slave-bin.000002' from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
-show binlog events in 'slave-bin.000002' from <binlog_start> limit 1;
+slave-bin.000002 # Binlog_checkpoint # # slave-bin.000002
+slave-bin.000002 # Gtid # # GTID #-#-#
+slave-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show binlog events in 'slave-bin.000002' from <binlog_start> limit 1,3;
+slave-bin.000002 # Binlog_checkpoint # # slave-bin.000002
+slave-bin.000002 # Gtid # # GTID #-#-#
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
******** [slave] SHOW BINLOG EVENTS ********
-show binlog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Rotate # # slave-bin.000002;pos=4
+slave-bin.000001 # Rotate # # slave-bin.000002;pos=POS
******** [slave] SHOW RELAYLOG EVENTS IN <FILE> ********
-show relaylog events in 'slave-relay-bin.000006' from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000006 # Rotate # # master-bin.000002;pos=4
-slave-relay-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000006 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1 ********
-show relaylog events in 'slave-relay-bin.000006' from <binlog_start> limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000006 # Rotate # # master-bin.000002;pos=4
-******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show relaylog events in 'slave-relay-bin.000006' from <binlog_start> limit 1,3;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000006 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=POS
+slave-relay-bin.000005 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+slave-relay-bin.000005 # Gtid_list # # [#-#-#]
+slave-relay-bin.000005 # Binlog_checkpoint # # master-bin.000001
+slave-relay-bin.000005 # Binlog_checkpoint # # master-bin.000002
+slave-relay-bin.000005 # Gtid # # GTID #-#-#
+slave-relay-bin.000005 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=POS
+slave-relay-bin.000005 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000005 # Gtid_list # # [#-#-#]
+slave-relay-bin.000005 # Binlog_checkpoint # # master-bin.000001
+slave-relay-bin.000005 # Binlog_checkpoint # # master-bin.000002
******** [slave] SHOW RELAYLOG EVENTS ********
-show relaylog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=4
-slave-relay-bin.000005 # Rotate # # slave-relay-bin.000006;pos=4
+slave-relay-bin.000004 # Rotate # # master-bin.000002;pos=POS
+slave-relay-bin.000004 # Rotate # # slave-relay-bin.000005;pos=POS
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp005.result b/mysql-test/suite/rpl/r/rpl_row_sp005.result
index 0496fd6fe46..df877233e94 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp005.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp005.result
@@ -73,8 +73,6 @@ id2
< ---- Master selects-- >
-------------------------
CALL test.p1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM test.t3 ORDER BY id3;
id3 c
1 MySQL
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result b/mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result
index 2b3348270f1..da196bb3615 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result
@@ -34,8 +34,6 @@ INSERT INTO t1 VALUES ('MySQL','1993-02-04'),('ROCKS', '1990-08-27'),('Texas', '
END|
CALL p2();
CALL p1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
DROP TABLE t1;
DROP TABLE t2;
DROP PROCEDURE p1;
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp012.result b/mysql-test/suite/rpl/r/rpl_row_sp012.result
index 57d92386638..e084d43f90a 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp012.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp012.result
@@ -3,6 +3,7 @@ include/master-slave.inc
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP PROCEDURE IF EXISTS test.p3;
+create user user1@localhost;
grant usage on *.* to user1@localhost;
flush privileges;
SELECT CURRENT_USER();
@@ -17,6 +18,7 @@ CREATE PROCEDURE test.p3 () SQL SECURITY INVOKER CALL test.p1();
GRANT EXECUTE ON PROCEDURE p1 TO user1@localhost;
GRANT EXECUTE ON PROCEDURE p2 TO user1@localhost;
GRANT EXECUTE ON PROCEDURE p3 TO user1@localhost;
+set sql_mode=default;
<******** Master user1 p3 & p2 calls *******>
----------------------------------------------
diff --git a/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result b/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result
index 49dccfc5d73..2aca0e8dc30 100644
--- a/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result
@@ -117,8 +117,8 @@ a
include/check_slave_is_running.inc
INSERT INTO t9 VALUES (4);
INSERT INTO t4 VALUES (4);
-call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column [012] type mismatch.* Error_code: 1535");
-call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]. cannot be converted from type.* Error_code: 1677");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column [012] type mismatch.* error.* 1535");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]. cannot be converted from type.* error.* 1677");
include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
Last_SQL_Error = 'Column 0 of table 'test.t4' cannot be converted from type 'int' to type 'float''
INSERT INTO t9 VALUES (5);
diff --git a/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result b/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result
index 9c1e2740c03..544bfa50034 100644
--- a/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result
@@ -117,8 +117,8 @@ a
include/check_slave_is_running.inc
INSERT INTO t9 VALUES (4);
INSERT INTO t4 VALUES (4);
-call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column [012] type mismatch.* Error_code: 1535");
-call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]. cannot be converted from type.* Error_code: 1677");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column [012] type mismatch.* error.* 1535");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]. cannot be converted from type.* error.* 1677");
include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
Last_SQL_Error = 'Column 0 of table 'test.t4' cannot be converted from type 'int' to type 'float''
INSERT INTO t9 VALUES (5);
diff --git a/mysql-test/suite/rpl/r/rpl_row_to_stmt.result b/mysql-test/suite/rpl/r/rpl_row_to_stmt.result
new file mode 100644
index 00000000000..2dfa82b0305
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_to_stmt.result
@@ -0,0 +1,28 @@
+include/master-slave.inc
+[connection master]
+use test;
+create table t1 (a int primary key);
+insert into t1 values (1),(2),(3),(4),(5);
+update t1 set a=a*10;
+use test;
+select * from t1;
+a
+10
+20
+30
+40
+50
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; create table t1 (a int primary key)
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Table_map # # table_id: # (test.t1)
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
+slave-bin.000001 # Table_map # # table_id: # (test.t1)
+slave-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # COMMIT
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_trig004.result b/mysql-test/suite/rpl/r/rpl_row_trig004.result
index 50317b55e2e..075616b58cf 100644
--- a/mysql-test/suite/rpl/r/rpl_row_trig004.result
+++ b/mysql-test/suite/rpl/r/rpl_row_trig004.result
@@ -8,7 +8,7 @@ CREATE TABLE test.t2 (n MEDIUMINT NOT NULL, f FLOAT, PRIMARY KEY(n))ENGINE=INNOD
CREATE TRIGGER test.t1_bi_t2 BEFORE INSERT ON test.t2 FOR EACH ROW INSERT INTO test.t1 VALUES (NULL, 1.234)//
INSERT INTO test.t2 VALUES (1, 0.0);
INSERT INTO test.t2 VALUES (1, 0.0);
-Got one of the listed errors
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
select * from test.t1;
n d
1 1.234
diff --git a/mysql-test/suite/rpl/r/rpl_row_triggers.result b/mysql-test/suite/rpl/r/rpl_row_triggers.result
new file mode 100644
index 00000000000..b4ae9861633
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_triggers.result
@@ -0,0 +1,286 @@
+include/master-slave.inc
+[connection master]
+# Test of row replication with triggers on the slave side
+CREATE TABLE t1 (C1 CHAR(1) primary key, C2 CHAR(1)) engine=innodb;
+SELECT * FROM t1;
+C1 C2
+SET @old_slave_exec_mode= @@global.slave_exec_mode;
+SET @old_slave_run_triggers_for_rbr= @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_exec_mode= IDEMPOTENT;
+SET @@global.slave_run_triggers_for_rbr= YES;
+SELECT * FROM t1;
+C1 C2
+create table t2 (id char(2) primary key, cnt int, o char(1), n char(1));
+insert into t2 values
+('u0', 0, ' ', ' '),('u1', 0, ' ', ' '),
+('d0', 0, ' ', ' '),('d1', 0, ' ', ' '),
+('i0', 0, ' ', ' '),('i1', 0, ' ', ' ');
+create trigger t1_cnt_b before update on t1 for each row
+update t2 set cnt=cnt+1, o=old.C1, n=new.C1 where id = 'u0';
+create trigger t1_cnt_db before delete on t1 for each row
+update t2 set cnt=cnt+1, o=old.C1, n=' ' where id = 'd0';
+create trigger t1_cnt_ib before insert on t1 for each row
+update t2 set cnt=cnt+1, n=new.C1, o=' ' where id = 'i0';
+create trigger t1_cnt_a after update on t1 for each row
+update t2 set cnt=cnt+1, o=old.C1, n=new.C1 where id = 'u1';
+create trigger t1_cnt_da after delete on t1 for each row
+update t2 set cnt=cnt+1, o=old.C1, n=' ' where id = 'd1';
+create trigger t1_cnt_ia after insert on t1 for each row
+update t2 set cnt=cnt+1, n=new.C1, o=' ' where id = 'i1';
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 0
+i1 0
+u0 0
+u1 0
+# INSERT triggers test
+insert into t1 values ('a','b');
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 1 a
+i1 1 a
+u0 0
+u1 0
+# UPDATE triggers test
+update t1 set C1= 'd';
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 1 a
+i1 1 a
+u0 1 a d
+u1 1 a d
+# DELETE triggers test
+delete from t1 where C1='d';
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 1 d
+d1 1 d
+i0 1 a
+i1 1 a
+u0 1 a d
+u1 1 a d
+# INSERT triggers causing DELETE + INSERT (on unique key conflict)
+insert into t1 values ('0','1');
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 1 d
+d1 1 d
+i0 2 0
+i1 2 0
+u0 1 a d
+u1 1 a d
+insert into t1 values ('0','1');
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 2 0
+d1 2 0
+i0 3 0
+i1 3 0
+u0 1 a d
+u1 1 a d
+# INSERT triggers which cause also DELETE test
+# (insert duplicate row in table referenced by foreign key)
+insert into t1 values ('1','1');
+CREATE TABLE t3 (C1 CHAR(1) primary key, FOREIGN KEY (C1) REFERENCES t1(C1) ) engine=innodb;
+insert into t1 values ('1','1');
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 3 1
+d1 3 1
+i0 5 1
+i1 5 1
+u0 1 a d
+u1 1 a d
+drop table t3,t1;
+SET @@global.slave_exec_mode= @old_slave_exec_mode;
+SET @@global.slave_run_triggers_for_rbr= @old_slave_run_triggers_for_rbr;
+drop table t2;
+CREATE TABLE t1 (i INT) ENGINE=InnoDB;
+CREATE TABLE t2 (i INT) ENGINE=InnoDB;
+SET @old_slave_run_triggers_for_rbr= @@global.slave_run_triggers_for_rbr;
+SET GLOBAL slave_run_triggers_for_rbr=YES;
+CREATE TRIGGER tr AFTER INSERT ON t1 FOR EACH ROW
+INSERT INTO t2 VALUES (new.i);
+BEGIN;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+COMMIT;
+select * from t2;
+i
+1
+2
+SET @@global.slave_run_triggers_for_rbr= @old_slave_run_triggers_for_rbr;
+drop tables t2,t1;
+# Triggers on slave do not work if master has some
+CREATE TABLE t1 (C1 CHAR(1) primary key, C2 CHAR(1)) engine=innodb;
+SELECT * FROM t1;
+C1 C2
+create trigger t1_dummy before delete on t1 for each row
+set @dummy= 1;
+SET @old_slave_exec_mode= @@global.slave_exec_mode;
+SET @old_slave_run_triggers_for_rbr= @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_exec_mode= IDEMPOTENT;
+SET @@global.slave_run_triggers_for_rbr= YES;
+SELECT * FROM t1;
+C1 C2
+create table t2 (id char(2) primary key, cnt int, o char(1), n char(1));
+insert into t2 values
+('u0', 0, ' ', ' '),('u1', 0, ' ', ' '),
+('d0', 0, ' ', ' '),('d1', 0, ' ', ' '),
+('i0', 0, ' ', ' '),('i1', 0, ' ', ' ');
+create trigger t1_cnt_b before update on t1 for each row
+update t2 set cnt=cnt+1, o=old.C1, n=new.C1 where id = 'u0';
+create trigger t1_cnt_ib before insert on t1 for each row
+update t2 set cnt=cnt+1, n=new.C1, o=' ' where id = 'i0';
+create trigger t1_cnt_a after update on t1 for each row
+update t2 set cnt=cnt+1, o=old.C1, n=new.C1 where id = 'u1';
+create trigger t1_cnt_da after delete on t1 for each row
+update t2 set cnt=cnt+1, o=old.C1, n=' ' where id = 'd1';
+create trigger t1_cnt_ia after insert on t1 for each row
+update t2 set cnt=cnt+1, n=new.C1, o=' ' where id = 'i1';
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 0
+i1 0
+u0 0
+u1 0
+# INSERT triggers test
+insert into t1 values ('a','b');
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 0
+i1 0
+u0 0
+u1 0
+# UPDATE triggers test
+update t1 set C1= 'd';
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 0
+i1 0
+u0 0
+u1 0
+# DELETE triggers test
+delete from t1 where C1='d';
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 0
+i1 0
+u0 0
+u1 0
+# INSERT triggers which cause also UPDATE test (insert duplicate row)
+insert into t1 values ('0','1');
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 1 0
+i1 1 0
+u0 0
+u1 0
+insert into t1 values ('0','1');
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 1 0
+i1 1 0
+u0 0
+u1 0
+# INSERT triggers which cause also DELETE test
+# (insert duplicate row in table referenced by foreign key)
+insert into t1 values ('1','1');
+CREATE TABLE t3 (C1 CHAR(1) primary key, FOREIGN KEY (C1) REFERENCES t1(C1) ) engine=innodb;
+insert into t1 values ('1','1');
+SELECT * FROM t2 order by id;
+id cnt o n
+d0 0
+d1 0
+i0 2 1
+i1 2 1
+u0 0
+u1 0
+drop table t3,t1;
+SET @@global.slave_exec_mode= @old_slave_exec_mode;
+SET @@global.slave_run_triggers_for_rbr= @old_slave_run_triggers_for_rbr;
+drop table t2;
+#
+# MDEV-5513: Trigger is applied to the rows after first one
+#
+create table t1 (a int, b int);
+create table tlog (a int);
+set sql_log_bin=0;
+create trigger tr1 after insert on t1 for each row insert into tlog values (1);
+set sql_log_bin=1;
+set @slave_run_triggers_for_rbr.saved = @@slave_run_triggers_for_rbr;
+set global slave_run_triggers_for_rbr=1;
+create trigger tr2 before insert on t1 for each row set new.b = new.a;
+insert into t1 values (1,10),(2,20),(3,30);
+select * from t1;
+a b
+1 10
+2 20
+3 30
+set global slave_run_triggers_for_rbr = @slave_run_triggers_for_rbr.saved;
+drop table t1, tlog;
+#
+# MDEV-8411 Assertion `is_stat_field || !table || (!table->write_set ||
+# bitmap_is_set(table->write_set, field_index) ||
+# bitmap_is_set(table->vcol_set, field_index))'
+# failed in Field_timestamp::store_TIME_with_warning
+#
+#
+# Create table on master, replicate it on slave.
+#
+connection master;
+set @binlog_row_image.saved = @@binlog_row_image;
+set binlog_row_image = MINIMAL;
+create table t1 (pk int primary key, f int);
+connection slave;
+#
+# Create a trigger on the slave.
+#
+create trigger tr before update on t1 for each row set new.f = 1000;
+set @old_slave_run_triggers_for_rbr = @@global.slave_run_triggers_for_rbr;
+set global slave_run_triggers_for_rbr = YES;
+connection master;
+#
+# Update the table to have the trigger fire on the slave.,
+#
+insert into t1 values (1,1),(2,2);
+update t1 set pk=pk+10;
+select * from t1;
+pk f
+11 1
+12 2
+connection slave;
+#
+# Check to see if slave has the table updated.
+#
+select * from t1;
+pk f
+11 1000
+12 1000
+#
+# Cleanup
+#
+set global slave_run_triggers_for_rbr = @old_slave_run_triggers_for_rbr;
+connection master;
+set binlog_row_image = @binlog_row_image.saved;
+drop table t1;
+connection slave;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_until.result b/mysql-test/suite/rpl/r/rpl_row_until.result
index a09d44227a3..656dc45ea47 100644
--- a/mysql-test/suite/rpl/r/rpl_row_until.result
+++ b/mysql-test/suite/rpl/r/rpl_row_until.result
@@ -9,7 +9,8 @@ INSERT INTO t2 VALUES (3),(4);
DROP TABLE t2;
include/stop_slave.inc
RESET SLAVE;
-START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=master_pos_drop_t1
+CHANGE MASTER TO MASTER_USER='root', MASTER_CONNECT_RETRY=1, MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_MYPORT;
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=master_pos_drop_t1;
include/wait_for_slave_sql_to_stop.inc
SELECT * FROM t1;
n
@@ -18,7 +19,7 @@ n
3
4
include/check_slave_param.inc [Exec_Master_Log_Pos]
-START SLAVE UNTIL MASTER_LOG_FILE='master-no-such-bin.000001', MASTER_LOG_POS=MASTER_LOG_POS;
+START SLAVE UNTIL MASTER_LOG_FILE='master-no-such-bin.000001', MASTER_LOG_POS=291;
include/wait_for_slave_sql_to_stop.inc
SELECT * FROM t1;
n
@@ -30,7 +31,7 @@ include/check_slave_param.inc [Exec_Master_Log_Pos]
START SLAVE;
include/wait_for_slave_to_start.inc
include/stop_slave.inc
-START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=master_pos_create_t2
+START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=master_pos_create_t2;
include/wait_for_slave_param.inc [Until_Log_Pos]
include/wait_for_slave_sql_to_stop.inc
include/check_slave_param.inc [Exec_Master_Log_Pos]
@@ -55,6 +56,7 @@ include/stop_slave_sql.inc
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
include/sync_slave_io_with_master.inc
+start slave until relay_log_file='slave-relay-bin.000002', relay_log_pos=relay_log_pos;
include/wait_for_slave_sql_to_stop.inc
include/assert.inc [table t1 should have two rows.]
include/start_slave.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_view01.result b/mysql-test/suite/rpl/r/rpl_row_view01.result
index 471de20ea6d..08369f60233 100644
--- a/mysql-test/suite/rpl/r/rpl_row_view01.result
+++ b/mysql-test/suite/rpl/r/rpl_row_view01.result
@@ -9,7 +9,6 @@ DROP TABLE IF EXISTS mysqltest1.t3;
DROP TABLE IF EXISTS mysqltest1.t1;
DROP TABLE IF EXISTS mysqltest1.t2;
DROP TABLE IF EXISTS mysqltest1.t4;
-DROP TABLE IF EXISTS mysqltest1.t10;
CREATE TABLE mysqltest1.t1 (a INT, c CHAR(6),PRIMARY KEY(a));
CREATE TABLE mysqltest1.t2 (a INT, c CHAR(6),PRIMARY KEY(a));
CREATE TABLE mysqltest1.t3 (a INT, c CHAR(6), c2 CHAR(6), PRIMARY KEY(a));
@@ -32,7 +31,6 @@ a c c2
1 Thank GOD
2 it is
3 Friday TGIF
-CREATE TABLE mysqltest1.t10 (a INT, PRIMARY KEY(a));
SELECT * FROM mysqltest1.v2;
qty price value
3 50 150
@@ -96,6 +94,5 @@ DROP TABLE IF EXISTS mysqltest1.t3;
DROP TABLE IF EXISTS mysqltest1.t1;
DROP TABLE IF EXISTS mysqltest1.t2;
DROP TABLE IF EXISTS mysqltest1.t4;
-DROP TABLE IF EXISTS mysqltest1.t10;
DROP DATABASE mysqltest1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync.result b/mysql-test/suite/rpl/r/rpl_semi_sync.result
index 196844255f6..06eb56a40c5 100644
--- a/mysql-test/suite/rpl/r/rpl_semi_sync.result
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync.result
@@ -1,13 +1,26 @@
include/master-slave.inc
[connection master]
+call mtr.add_suppression("Timeout waiting for reply of binlog");
+call mtr.add_suppression("Read semi-sync reply");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.");
+call mtr.add_suppression("Master server does not support semi-sync");
+call mtr.add_suppression("Semi-sync slave .* reply");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
#
# Uninstall semi-sync plugins on master and slave
#
include/stop_slave.inc
+reset slave;
+set global rpl_semi_sync_master_enabled= 0;
+set global rpl_semi_sync_slave_enabled= 0;
+reset master;
+set global rpl_semi_sync_master_enabled= 0;
+set global rpl_semi_sync_slave_enabled= 0;
#
# Main test of semi-sync replication start here
#
[ on master ]
+set global rpl_semi_sync_master_timeout= 60000;
[ default state of semi-sync on master should be OFF ]
show variables like 'rpl_semi_sync_master_enabled';
Variable_name Value
@@ -41,9 +54,7 @@ Rpl_semi_sync_master_status OFF
show status like 'Rpl_semi_sync_master_yes_tx';
Variable_name Value
Rpl_semi_sync_master_yes_tx 0
-#
-# INSTALL PLUGIN semi-sync on slave
-#
+reset master;
[ on slave ]
[ default state of semi-sync on slave should be OFF ]
show variables like 'rpl_semi_sync_slave_enabled';
@@ -84,6 +95,16 @@ select CONNECTIONS_NORMAL_SLAVE - CONNECTIONS_NORMAL_SLAVE as 'Should be 0';
Should be 0
0
[ insert records to table ]
+insert t1 values (10);
+insert t1 values (9);
+insert t1 values (8);
+insert t1 values (7);
+insert t1 values (6);
+insert t1 values (5);
+insert t1 values (4);
+insert t1 values (3);
+insert t1 values (2);
+insert t1 values (1);
[ master status after inserts ]
show status like 'Rpl_semi_sync_master_status';
Variable_name Value
@@ -159,6 +180,16 @@ Rpl_semi_sync_master_no_tx 1
show status like 'Rpl_semi_sync_master_yes_tx';
Variable_name Value
Rpl_semi_sync_master_yes_tx 14
+delete from t1 where a=10;
+delete from t1 where a=9;
+delete from t1 where a=8;
+delete from t1 where a=7;
+delete from t1 where a=6;
+delete from t1 where a=5;
+delete from t1 where a=4;
+delete from t1 where a=3;
+delete from t1 where a=2;
+delete from t1 where a=1;
insert into t1 values (100);
[ master status should be OFF ]
show status like 'Rpl_semi_sync_master_status';
@@ -278,6 +309,7 @@ Rpl_semi_sync_master_yes_tx 0
[ on slave ]
include/stop_slave.inc
reset slave;
+kill query _tid;
include/start_slave.inc
[ on master ]
create table t1 (a int) engine = ENGINE_TYPE;
@@ -307,6 +339,7 @@ include/stop_slave.inc
reset slave;
[ on master ]
reset master;
+kill query _tid;
set sql_log_bin=0;
grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
flush privileges;
@@ -357,6 +390,7 @@ SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
Variable_name Value
Rpl_semi_sync_slave_status OFF
[ on master ]
+kill query _tid;
[ Semi-sync status on master should be ON ]
show status like 'Rpl_semi_sync_master_clients';
Variable_name Value
@@ -385,12 +419,7 @@ Variable_name Value
Rpl_semi_sync_slave_status ON
include/stop_slave.inc
[ on master ]
-set sql_log_bin=0;
-include/stop_dump_threads.inc
-UNINSTALL PLUGIN rpl_semi_sync_master;
-set sql_log_bin=1;
-SHOW VARIABLES LIKE 'rpl_semi_sync_master_enabled';
-Variable_name Value
+set global rpl_semi_sync_master_enabled= 0;
[ on slave ]
SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
Variable_name Value
@@ -398,18 +427,10 @@ rpl_semi_sync_slave_enabled ON
include/start_slave.inc
[ on master ]
insert into t1 values (10);
-[ on slave ]
-SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
-Variable_name Value
-Rpl_semi_sync_slave_status OFF
#
# Test non-semi-sync slave connect to semi-sync master
#
-set sql_log_bin=0;
-INSTALL PLUGIN rpl_semi_sync_master SONAME 'SEMISYNC_MASTER_SO';
set global rpl_semi_sync_master_timeout= 5000;
-/* 5s */
-set sql_log_bin=1;
set global rpl_semi_sync_master_enabled= 1;
[ on slave ]
include/stop_slave.inc
@@ -417,16 +438,8 @@ SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
Variable_name Value
Rpl_semi_sync_slave_status OFF
[ uninstall semi-sync slave plugin ]
-UNINSTALL PLUGIN rpl_semi_sync_slave;
-SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
-Variable_name Value
-include/start_slave.inc
-SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
-Variable_name Value
-include/stop_slave.inc
-[ reinstall semi-sync slave plugin and disable semi-sync ]
-INSTALL PLUGIN rpl_semi_sync_slave SONAME 'SEMISYNC_SLAVE_SO';
set global rpl_semi_sync_slave_enabled= 0;
+[ reinstall semi-sync slave plugin and disable semi-sync ]
SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
Variable_name Value
rpl_semi_sync_slave_enabled OFF
@@ -440,11 +453,13 @@ Rpl_semi_sync_slave_status OFF
#
# Clean up
#
-include/uninstall_semisync.inc
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled= 0;
+set global rpl_semi_sync_master_enabled= 0;
change master to master_user='root',master_password='';
include/start_slave.inc
drop table t1;
drop user rpl@127.0.0.1;
flush privileges;
+set global rpl_semi_sync_master_timeout= default;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_after_sync.result b/mysql-test/suite/rpl/r/rpl_semi_sync_after_sync.result
new file mode 100644
index 00000000000..708c3ef0313
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_after_sync.result
@@ -0,0 +1,467 @@
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Timeout waiting for reply of binlog");
+call mtr.add_suppression("Read semi-sync reply");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.");
+call mtr.add_suppression("Master server does not support semi-sync");
+call mtr.add_suppression("Semi-sync slave .* reply");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+#
+# Uninstall semi-sync plugins on master and slave
+#
+include/stop_slave.inc
+reset slave;
+set global rpl_semi_sync_master_enabled= 0;
+set global rpl_semi_sync_slave_enabled= 0;
+reset master;
+set global rpl_semi_sync_master_enabled= 0;
+set global rpl_semi_sync_slave_enabled= 0;
+#
+# Main test of semi-sync replication start here
+#
+[ on master ]
+set global rpl_semi_sync_master_timeout= 60000;
+[ default state of semi-sync on master should be OFF ]
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled OFF
+[ enable semi-sync on master ]
+set global rpl_semi_sync_master_enabled = 1;
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled ON
+[ status of semi-sync on master should be ON even without any semi-sync slaves ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 0
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+#
+# BUG#45672 Semisync repl: ActiveTranx:insert_tranx_node: transaction node allocation failed
+# BUG#45673 Semisynch reports correct operation even if no slave is connected
+#
+[ status of semi-sync on master should be OFF ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 0
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+reset master;
+[ on slave ]
+[ default state of semi-sync on slave should be OFF ]
+show variables like 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled OFF
+[ enable semi-sync on slave ]
+set global rpl_semi_sync_slave_enabled = 1;
+show variables like 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled ON
+include/start_slave.inc
+[ on master ]
+[ initial master state after the semi-sync slave connected ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+create table t1(a int) engine = ENGINE_TYPE;
+[ master state after CREATE TABLE statement ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 1
+select CONNECTIONS_NORMAL_SLAVE - CONNECTIONS_NORMAL_SLAVE as 'Should be 0';
+Should be 0
+0
+[ insert records to table ]
+insert t1 values (10);
+insert t1 values (9);
+insert t1 values (8);
+insert t1 values (7);
+insert t1 values (6);
+insert t1 values (5);
+insert t1 values (4);
+insert t1 values (3);
+insert t1 values (2);
+insert t1 values (1);
+[ master status after inserts ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 11
+[ on slave ]
+[ slave status after replicated inserts ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+select count(distinct a) from t1;
+count(distinct a)
+10
+select min(a) from t1;
+min(a)
+1
+select max(a) from t1;
+max(a)
+10
+
+# BUG#50157
+# semi-sync replication crashes when replicating a transaction which
+# include 'CREATE TEMPORARY TABLE `MyISAM_t` SELECT * FROM `Innodb_t` ;
+[ on master ]
+SET SESSION AUTOCOMMIT= 0;
+CREATE TABLE t2(c1 INT) ENGINE=innodb;
+BEGIN;
+
+# Even though it is in a transaction, this statement is binlogged into binlog
+# file immediately.
+CREATE TEMPORARY TABLE t3 SELECT c1 FROM t2 where 1=1;
+
+# These statements will not be binlogged until the transaction is committed
+INSERT INTO t2 VALUES(11);
+INSERT INTO t2 VALUES(22);
+COMMIT;
+DROP TABLE t2, t3;
+SET SESSION AUTOCOMMIT= 1;
+#
+# Test semi-sync master will switch OFF after one transaction
+# timeout waiting for slave reply.
+#
+include/stop_slave.inc
+[ on master ]
+set global rpl_semi_sync_master_timeout= 5000;
+[ master status should be ON ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 16
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+[ semi-sync replication of these transactions will fail ]
+insert into t1 values (500);
+[ master status should be OFF ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 1
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 16
+delete from t1 where a=10;
+delete from t1 where a=9;
+delete from t1 where a=8;
+delete from t1 where a=7;
+delete from t1 where a=6;
+delete from t1 where a=5;
+delete from t1 where a=4;
+delete from t1 where a=3;
+delete from t1 where a=2;
+delete from t1 where a=1;
+insert into t1 values (100);
+[ master status should be OFF ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 12
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 16
+#
+# Test semi-sync status on master will be ON again when slave catches up
+#
+[ on slave ]
+[ slave status should be OFF ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+include/start_slave.inc
+[ slave status should be ON ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+select count(distinct a) from t1;
+count(distinct a)
+2
+select min(a) from t1;
+min(a)
+100
+select max(a) from t1;
+max(a)
+500
+[ on master ]
+[ master status should be ON again after slave catches up ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 12
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 16
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+#
+# Test disable/enable master semi-sync on the fly.
+#
+drop table t1;
+[ on slave ]
+include/stop_slave.inc
+#
+# Flush status
+#
+[ Semi-sync master status variables before FLUSH STATUS ]
+SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 12
+SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 17
+FLUSH NO_WRITE_TO_BINLOG STATUS;
+[ Semi-sync master status variables after FLUSH STATUS ]
+SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+[ on master ]
+show master logs;
+Log_name master-bin.000001
+File_size #
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled ON
+[ disable semi-sync on the fly ]
+set global rpl_semi_sync_master_enabled=0;
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled OFF
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+[ enable semi-sync on the fly ]
+set global rpl_semi_sync_master_enabled=1;
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled ON
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+#
+# Test RESET MASTER/SLAVE
+#
+[ on slave ]
+include/start_slave.inc
+[ on master ]
+create table t1 (a int) engine = ENGINE_TYPE;
+drop table t1;
+show status like 'Rpl_relay%';
+Variable_name Value
+[ test reset master ]
+[ on master]
+reset master;
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+[ on slave ]
+include/stop_slave.inc
+reset slave;
+kill query _tid;
+include/start_slave.inc
+[ on master ]
+create table t1 (a int) engine = ENGINE_TYPE;
+insert into t1 values (1);
+insert into t1 values (2), (3);
+[ on slave ]
+select * from t1;
+a
+1
+2
+3
+[ on master ]
+[ master semi-sync status should be ON ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 3
+#
+# Start semi-sync replication without SUPER privilege
+#
+include/stop_slave.inc
+reset slave;
+[ on master ]
+reset master;
+kill query _tid;
+set sql_log_bin=0;
+grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
+flush privileges;
+set sql_log_bin=1;
+[ on slave ]
+grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
+flush privileges;
+change master to master_user='rpl',master_password='rpl_password';
+include/start_slave.inc
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+[ on master ]
+[ master semi-sync should be ON ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+insert into t1 values (4);
+insert into t1 values (5);
+[ master semi-sync should be ON ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 2
+#
+# Test semi-sync slave connect to non-semi-sync master
+#
+[ on slave ]
+include/stop_slave.inc
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+[ on master ]
+kill query _tid;
+[ Semi-sync status on master should be ON ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 0
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+set global rpl_semi_sync_master_enabled= 0;
+[ on slave ]
+SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled ON
+include/start_slave.inc
+[ on master ]
+insert into t1 values (8);
+[ master semi-sync clients should be 1, status should be OFF ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+[ on slave ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+include/stop_slave.inc
+[ on master ]
+set global rpl_semi_sync_master_enabled= 0;
+[ on slave ]
+SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled ON
+include/start_slave.inc
+[ on master ]
+insert into t1 values (10);
+#
+# Test non-semi-sync slave connect to semi-sync master
+#
+set global rpl_semi_sync_master_timeout= 5000;
+set global rpl_semi_sync_master_enabled= 1;
+[ on slave ]
+include/stop_slave.inc
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+[ uninstall semi-sync slave plugin ]
+set global rpl_semi_sync_slave_enabled= 0;
+[ reinstall semi-sync slave plugin and disable semi-sync ]
+SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled OFF
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+include/start_slave.inc
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+#
+# Clean up
+#
+include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled= 0;
+set global rpl_semi_sync_master_enabled= 0;
+change master to master_user='root',master_password='';
+include/start_slave.inc
+drop table t1;
+drop user rpl@127.0.0.1;
+flush privileges;
+set global rpl_semi_sync_master_timeout= default;
+include/rpl_end.inc
+set global rpl_semi_sync_master_wait_point=default;
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_after_sync_row.result b/mysql-test/suite/rpl/r/rpl_semi_sync_after_sync_row.result
new file mode 100644
index 00000000000..06573145e86
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_after_sync_row.result
@@ -0,0 +1,467 @@
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Timeout waiting for reply of binlog");
+call mtr.add_suppression("Read semi-sync reply");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.");
+call mtr.add_suppression("Master server does not support semi-sync");
+call mtr.add_suppression("Semi-sync slave .* reply");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+#
+# Uninstall semi-sync plugins on master and slave
+#
+include/stop_slave.inc
+reset slave;
+set global rpl_semi_sync_master_enabled= 0;
+set global rpl_semi_sync_slave_enabled= 0;
+reset master;
+set global rpl_semi_sync_master_enabled= 0;
+set global rpl_semi_sync_slave_enabled= 0;
+#
+# Main test of semi-sync replication start here
+#
+[ on master ]
+set global rpl_semi_sync_master_timeout= 60000;
+[ default state of semi-sync on master should be OFF ]
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled OFF
+[ enable semi-sync on master ]
+set global rpl_semi_sync_master_enabled = 1;
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled ON
+[ status of semi-sync on master should be ON even without any semi-sync slaves ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 0
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+#
+# BUG#45672 Semisync repl: ActiveTranx:insert_tranx_node: transaction node allocation failed
+# BUG#45673 Semisynch reports correct operation even if no slave is connected
+#
+[ status of semi-sync on master should be OFF ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 0
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+reset master;
+[ on slave ]
+[ default state of semi-sync on slave should be OFF ]
+show variables like 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled OFF
+[ enable semi-sync on slave ]
+set global rpl_semi_sync_slave_enabled = 1;
+show variables like 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled ON
+include/start_slave.inc
+[ on master ]
+[ initial master state after the semi-sync slave connected ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+create table t1(a int) engine = ENGINE_TYPE;
+[ master state after CREATE TABLE statement ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 1
+select CONNECTIONS_NORMAL_SLAVE - CONNECTIONS_NORMAL_SLAVE as 'Should be 0';
+Should be 0
+0
+[ insert records to table ]
+insert t1 values (10);
+insert t1 values (9);
+insert t1 values (8);
+insert t1 values (7);
+insert t1 values (6);
+insert t1 values (5);
+insert t1 values (4);
+insert t1 values (3);
+insert t1 values (2);
+insert t1 values (1);
+[ master status after inserts ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 11
+[ on slave ]
+[ slave status after replicated inserts ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+select count(distinct a) from t1;
+count(distinct a)
+10
+select min(a) from t1;
+min(a)
+1
+select max(a) from t1;
+max(a)
+10
+
+# BUG#50157
+# semi-sync replication crashes when replicating a transaction which
+# include 'CREATE TEMPORARY TABLE `MyISAM_t` SELECT * FROM `Innodb_t` ;
+[ on master ]
+SET SESSION AUTOCOMMIT= 0;
+CREATE TABLE t2(c1 INT) ENGINE=innodb;
+BEGIN;
+
+# Even though it is in a transaction, this statement is binlogged into binlog
+# file immediately.
+CREATE TEMPORARY TABLE t3 SELECT c1 FROM t2 where 1=1;
+
+# These statements will not be binlogged until the transaction is committed
+INSERT INTO t2 VALUES(11);
+INSERT INTO t2 VALUES(22);
+COMMIT;
+DROP TABLE t2, t3;
+SET SESSION AUTOCOMMIT= 1;
+#
+# Test semi-sync master will switch OFF after one transaction
+# timeout waiting for slave reply.
+#
+include/stop_slave.inc
+[ on master ]
+set global rpl_semi_sync_master_timeout= 5000;
+[ master status should be ON ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 14
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+[ semi-sync replication of these transactions will fail ]
+insert into t1 values (500);
+[ master status should be OFF ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 1
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 14
+delete from t1 where a=10;
+delete from t1 where a=9;
+delete from t1 where a=8;
+delete from t1 where a=7;
+delete from t1 where a=6;
+delete from t1 where a=5;
+delete from t1 where a=4;
+delete from t1 where a=3;
+delete from t1 where a=2;
+delete from t1 where a=1;
+insert into t1 values (100);
+[ master status should be OFF ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 12
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 14
+#
+# Test semi-sync status on master will be ON again when slave catches up
+#
+[ on slave ]
+[ slave status should be OFF ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+include/start_slave.inc
+[ slave status should be ON ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+select count(distinct a) from t1;
+count(distinct a)
+2
+select min(a) from t1;
+min(a)
+100
+select max(a) from t1;
+max(a)
+500
+[ on master ]
+[ master status should be ON again after slave catches up ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 12
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 14
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+#
+# Test disable/enable master semi-sync on the fly.
+#
+drop table t1;
+[ on slave ]
+include/stop_slave.inc
+#
+# Flush status
+#
+[ Semi-sync master status variables before FLUSH STATUS ]
+SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 12
+SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 15
+FLUSH NO_WRITE_TO_BINLOG STATUS;
+[ Semi-sync master status variables after FLUSH STATUS ]
+SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+[ on master ]
+show master logs;
+Log_name master-bin.000001
+File_size #
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled ON
+[ disable semi-sync on the fly ]
+set global rpl_semi_sync_master_enabled=0;
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled OFF
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+[ enable semi-sync on the fly ]
+set global rpl_semi_sync_master_enabled=1;
+show variables like 'rpl_semi_sync_master_enabled';
+Variable_name Value
+rpl_semi_sync_master_enabled ON
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+#
+# Test RESET MASTER/SLAVE
+#
+[ on slave ]
+include/start_slave.inc
+[ on master ]
+create table t1 (a int) engine = ENGINE_TYPE;
+drop table t1;
+show status like 'Rpl_relay%';
+Variable_name Value
+[ test reset master ]
+[ on master]
+reset master;
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+[ on slave ]
+include/stop_slave.inc
+reset slave;
+kill query _tid;
+include/start_slave.inc
+[ on master ]
+create table t1 (a int) engine = ENGINE_TYPE;
+insert into t1 values (1);
+insert into t1 values (2), (3);
+[ on slave ]
+select * from t1;
+a
+1
+2
+3
+[ on master ]
+[ master semi-sync status should be ON ]
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 3
+#
+# Start semi-sync replication without SUPER privilege
+#
+include/stop_slave.inc
+reset slave;
+[ on master ]
+reset master;
+kill query _tid;
+set sql_log_bin=0;
+grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
+flush privileges;
+set sql_log_bin=1;
+[ on slave ]
+grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
+flush privileges;
+change master to master_user='rpl',master_password='rpl_password';
+include/start_slave.inc
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+[ on master ]
+[ master semi-sync should be ON ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 0
+insert into t1 values (4);
+insert into t1 values (5);
+[ master semi-sync should be ON ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+show status like 'Rpl_semi_sync_master_no_tx';
+Variable_name Value
+Rpl_semi_sync_master_no_tx 0
+show status like 'Rpl_semi_sync_master_yes_tx';
+Variable_name Value
+Rpl_semi_sync_master_yes_tx 2
+#
+# Test semi-sync slave connect to non-semi-sync master
+#
+[ on slave ]
+include/stop_slave.inc
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+[ on master ]
+kill query _tid;
+[ Semi-sync status on master should be ON ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 0
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status ON
+set global rpl_semi_sync_master_enabled= 0;
+[ on slave ]
+SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled ON
+include/start_slave.inc
+[ on master ]
+insert into t1 values (8);
+[ master semi-sync clients should be 1, status should be OFF ]
+show status like 'Rpl_semi_sync_master_clients';
+Variable_name Value
+Rpl_semi_sync_master_clients 1
+show status like 'Rpl_semi_sync_master_status';
+Variable_name Value
+Rpl_semi_sync_master_status OFF
+[ on slave ]
+show status like 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status ON
+include/stop_slave.inc
+[ on master ]
+set global rpl_semi_sync_master_enabled= 0;
+[ on slave ]
+SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled ON
+include/start_slave.inc
+[ on master ]
+insert into t1 values (10);
+#
+# Test non-semi-sync slave connect to semi-sync master
+#
+set global rpl_semi_sync_master_timeout= 5000;
+set global rpl_semi_sync_master_enabled= 1;
+[ on slave ]
+include/stop_slave.inc
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+[ uninstall semi-sync slave plugin ]
+set global rpl_semi_sync_slave_enabled= 0;
+[ reinstall semi-sync slave plugin and disable semi-sync ]
+SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
+Variable_name Value
+rpl_semi_sync_slave_enabled OFF
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+include/start_slave.inc
+SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
+Variable_name Value
+Rpl_semi_sync_slave_status OFF
+#
+# Clean up
+#
+include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled= 0;
+set global rpl_semi_sync_master_enabled= 0;
+change master to master_user='root',master_password='';
+include/start_slave.inc
+drop table t1;
+drop user rpl@127.0.0.1;
+flush privileges;
+set global rpl_semi_sync_master_timeout= default;
+include/rpl_end.inc
+set global rpl_semi_sync_master_wait_point=default;
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_event.result b/mysql-test/suite/rpl/r/rpl_semi_sync_event.result
index 1c6d73fe681..456c0c4475a 100644
--- a/mysql-test/suite/rpl/r/rpl_semi_sync_event.result
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_event.result
@@ -1,6 +1,15 @@
include/master-slave.inc
[connection master]
+call mtr.add_suppression("Timeout waiting for reply of binlog");
+call mtr.add_suppression("Semi-sync master .* waiting for slave reply");
+call mtr.add_suppression("Read semi-sync reply");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.");
+call mtr.add_suppression("Master server does not support semi-sync");
+call mtr.add_suppression("Semi-sync slave .* reply");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+set global rpl_semi_sync_master_enabled = 1;
include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
SET GLOBAL event_scheduler = ON;
CREATE TABLE t1 (i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f varchar(8)) ENGINE=ENGINE_TYPE;
@@ -34,8 +43,8 @@ UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 2;
UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 1;
SET GLOBAL event_scheduler = OFF;
include/stop_slave.inc
-UNINSTALL PLUGIN rpl_semi_sync_slave;
-UNINSTALL PLUGIN rpl_semi_sync_master;
+set global rpl_semi_sync_slave_enabled = 0;
+set global rpl_semi_sync_master_enabled = 0;
include/start_slave.inc
DROP EVENT ev1;
DROP EVENT ev2;
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_event_after_sync.result b/mysql-test/suite/rpl/r/rpl_semi_sync_event_after_sync.result
new file mode 100644
index 00000000000..4533e7fb4ac
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_event_after_sync.result
@@ -0,0 +1,54 @@
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Timeout waiting for reply of binlog");
+call mtr.add_suppression("Semi-sync master .* waiting for slave reply");
+call mtr.add_suppression("Read semi-sync reply");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.");
+call mtr.add_suppression("Master server does not support semi-sync");
+call mtr.add_suppression("Semi-sync slave .* reply");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+set global rpl_semi_sync_master_enabled = 1;
+include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 1;
+include/start_slave.inc
+SET GLOBAL event_scheduler = ON;
+CREATE TABLE t1 (i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f varchar(8)) ENGINE=ENGINE_TYPE;
+INSERT INTO t1 (f) VALUES ('a'),('a'),('a'),('a'),('a');
+INSERT INTO t1 SELECT i+5, f FROM t1;
+INSERT INTO t1 SELECT i+10, f FROM t1;
+CREATE EVENT ev1 ON SCHEDULE EVERY 1 SECOND
+DO INSERT INTO t1 VALUES (SLEEP(5),CONCAT('ev1_',CONNECTION_ID()));
+CREATE EVENT ev2 ON SCHEDULE EVERY 1 SECOND
+DO INSERT INTO t1 VALUES (SLEEP(5),CONCAT('ev2_',CONNECTION_ID()));
+STOP SLAVE IO_THREAD;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 20;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 19;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 18;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 17;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 16;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 15;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 14;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 13;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 12;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 11;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 10;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 9;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 8;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 7;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 6;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 5;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 4;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 3;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 2;
+UPDATE t1 SET f = CONCAT('up_',CONNECTION_ID()) WHERE i = 1;
+SET GLOBAL event_scheduler = OFF;
+include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 0;
+set global rpl_semi_sync_master_enabled = 0;
+include/start_slave.inc
+DROP EVENT ev1;
+DROP EVENT ev2;
+DROP TABLE t1;
+include/rpl_end.inc
+set global rpl_semi_sync_master_wait_point=default;
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result b/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result
new file mode 100644
index 00000000000..4762ac8dd07
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result
@@ -0,0 +1,23 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Timeout waiting for reply of binlog");
+SET @@GLOBAL.rpl_semi_sync_master_enabled = 1;
+SET @@GLOBAL.rpl_semi_sync_master_timeout=100;
+include/stop_slave.inc
+SET @@GLOBAL.replicate_events_marked_for_skip=FILTER_ON_MASTER;
+SET @@GLOBAL. rpl_semi_sync_slave_enabled = 1;
+include/start_slave.inc
+CREATE TABLE t1 (a INT) ENGINE=innodb;
+SET @@GLOBAL.debug_dbug= "d,dbug_master_binlog_over_2GB";
+SET @@SESSION.skip_replication=1;
+INSERT INTO t1 SET a=1;
+SET @@SESSION.skip_replication=0;
+INSERT INTO t1 SET a=0;
+SET @@GLOBAL.debug_dbug="";
+SET @@GLOBAL. rpl_semi_sync_master_timeout = 10000;
+SET @@GLOBAL. rpl_semi_sync_master_enabled = 0;
+DROP TABLE t1;
+include/stop_slave.inc
+SET @@GLOBAL. rpl_semi_sync_slave_enabled = 0;
+SET @@GLOBAL.replicate_events_marked_for_skip = REPLICATE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result b/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result
index c1d09e04cd0..36d862dedce 100644
--- a/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result
@@ -1,5 +1,7 @@
include/master-slave.inc
[connection master]
+call mtr.add_suppression("Read semi-sync reply network error");
+call mtr.add_suppression("Timeout waiting for reply of binlog");
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master';
[connection slave]
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave';
@@ -12,6 +14,10 @@ DROP TABLE t1;
[connection slave]
include/install_semisync.inc
[connection slave]
+show global status like "Slave%_running";
+Variable_name Value
+Slave_running ON
+Slaves_running 1
UNINSTALL PLUGIN rpl_semi_sync_slave;
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
@@ -19,6 +25,10 @@ select plugin_name,plugin_status from information_schema.plugins where plugin_na
plugin_name plugin_status
rpl_semi_sync_slave DELETED
[connection master]
+show global status like "Slave%_connect%";
+Variable_name Value
+Slave_connections 2
+Slaves_connected 1
UNINSTALL PLUGIN rpl_semi_sync_master;
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
@@ -46,14 +56,14 @@ rpl_semi_sync_master DELETED
include/stop_slave.inc
select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%';
plugin_name plugin_status
+[connection master]
+create table t2 (a int);
+drop table t2;
+[connection slave]
include/start_slave.inc
select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%';
plugin_name plugin_status
[connection master]
-show status like "Rpl_semi_sync_master_clients";
-Variable_name Value
-select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%';
-plugin_name plugin_status
CREATE TABLE t1(i int);
INSERT INTO t1 values (3);
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_wait_point.result b/mysql-test/suite/rpl/r/rpl_semi_sync_wait_point.result
new file mode 100644
index 00000000000..36a6ea655a2
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_wait_point.result
@@ -0,0 +1,133 @@
+#
+# Preparation
+#
+CREATE TABLE t1 (i INT NOT NULL, PRIMARY KEY (i)) ENGINE=InnoDB;
+RESET MASTER;
+SET @@global.rpl_semi_sync_master_timeout = 60000;
+SET @@global.rpl_semi_sync_master_wait_no_slave = 1;
+# It's okay to see "Killed" but we should not see "Timeout" in the log.
+call mtr.add_suppression("Killed waiting for reply of binlog");
+call mtr.add_suppression("Run function 'after_commit' in plugin 'rpl_semi_sync_master' failed");
+call mtr.add_suppression("Run function 'after_sync' in plugin 'rpl_semi_sync_master' failed");
+#
+# Test wait point = AFTER_COMMIT
+#
+SET @@global.rpl_semi_sync_master_wait_point = AFTER_COMMIT;
+# Make another connection to INSERT from.
+SET GLOBAL rpl_semi_sync_master_enabled = 1;
+# Go ahead and send the INSERT; it should block.
+INSERT INTO t1 (i) VALUES (1);
+# The INSERT thread should now be waiting.
+SELECT state AS should_be_waiting
+FROM information_schema.processlist WHERE id = @other_connection_id;
+should_be_waiting
+Waiting for semi-sync ACK from slave
+# The insert should be visible to other threads
+SELECT * FROM t1 ORDER BY 1;
+i
+1
+# Kill the waiting thread; it should die immediately.
+KILL @other_connection_id;
+# Collect the error from the INSERT thread; it should be disconnected.
+Got one of the listed errors
+# Wait for INSERT thread to actually disappear (KILL closes connection
+# before thread actually finishes its processing).
+# The INSERT thread should now be gone.
+SELECT state AS should_be_empty_set
+FROM information_schema.processlist WHERE id = @other_connection_id;
+should_be_empty_set
+# The insert is still there
+SELECT * FROM t1 ORDER BY 1;
+i
+1
+# Make another connection to INSERT from.
+# Go ahead and send the INSERT; it should block.
+INSERT INTO t1 (i) VALUES (2);
+# The INSERT thread should now be waiting.
+SELECT state AS should_be_waiting
+FROM information_schema.processlist WHERE id = @other_connection_id;
+should_be_waiting
+Waiting for semi-sync ACK from slave
+# The insert should be visible to other threads
+SELECT * FROM t1 ORDER BY 1;
+i
+1
+2
+# Now restart server
+# Done restarting server
+# Reset setting that were lost in restart
+SET @@global.rpl_semi_sync_master_timeout = 60000;
+SET @@global.rpl_semi_sync_master_wait_no_slave = 1;
+# Check that row is still there
+SELECT * FROM t1 ORDER BY 1;
+i
+1
+2
+#
+# Test wait point = AFTER_SYNC
+#
+SET @@global.rpl_semi_sync_master_wait_point = AFTER_SYNC;
+# Make another connection to INSERT from.
+SET GLOBAL rpl_semi_sync_master_enabled = 1;
+# Go ahead and send the INSERT; it should block.
+INSERT INTO t1 (i) VALUES (3);
+# The INSERT thread should now be waiting.
+SELECT state AS should_be_waiting
+FROM information_schema.processlist WHERE id = @other_connection_id;
+should_be_waiting
+Waiting for semi-sync ACK from slave
+# The insert should NOT be visible to other threads
+SELECT * FROM t1 ORDER BY 1;
+i
+1
+2
+# Kill the waiting thread; it should die immediately.
+KILL @other_connection_id;
+# Collect the error from the INSERT thread; it should be disconnected.
+Got one of the listed errors
+# Wait for INSERT thread to actually disappear (KILL closes connection
+# before thread actually finishes its processing).
+# The INSERT thread should now be gone.
+SELECT state AS should_be_empty_set
+FROM information_schema.processlist WHERE id = @other_connection_id;
+should_be_empty_set
+# The row inserted is there
+SELECT * FROM t1 ORDER BY 1;
+i
+1
+2
+3
+# Make another connection to INSERT from.
+# Go ahead and send the INSERT; it should block.
+INSERT INTO t1 (i) VALUES (4);
+# The INSERT thread should now be waiting.
+SELECT state AS should_be_waiting
+FROM information_schema.processlist WHERE id = @other_connection_id;
+should_be_waiting
+Waiting for semi-sync ACK from slave
+# The insert should NOT be visible to other threads
+SELECT * FROM t1 ORDER BY 1;
+i
+1
+2
+3
+# Now restart server
+# Done restarting server
+# Reset setting that were lost in restart
+SET @@global.rpl_semi_sync_master_timeout = 60000;
+SET @@global.rpl_semi_sync_master_wait_no_slave = 1;
+# But the row inserted is there
+SELECT * FROM t1 ORDER BY 1;
+i
+1
+2
+3
+4
+#
+# Cleanup
+#
+SET GLOBAL rpl_semi_sync_master_enabled = 0;
+DROP TABLE t1;
+SET @@global.rpl_semi_sync_master_timeout = 10000;
+SET @@global.rpl_semi_sync_master_wait_no_slave = 1;
+SET @@global.rpl_semi_sync_master_wait_point = AFTER_COMMIT;
diff --git a/mysql-test/suite/rpl/r/rpl_session_var.result b/mysql-test/suite/rpl/r/rpl_session_var.result
index 030ae161b22..f58744c5d8f 100644
--- a/mysql-test/suite/rpl/r/rpl_session_var.result
+++ b/mysql-test/suite/rpl/r/rpl_session_var.result
@@ -2,7 +2,7 @@ include/master-slave.inc
[connection master]
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
create table t1(a varchar(100),b int);
set @@session.sql_mode=pipes_as_concat;
insert into t1 values('My'||'SQL', 1);
diff --git a/mysql-test/suite/rpl/r/rpl_set_statement.result b/mysql-test/suite/rpl/r/rpl_set_statement.result
new file mode 100644
index 00000000000..c9df74b0d3b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_set_statement.result
@@ -0,0 +1,142 @@
+include/master-slave.inc
+[connection master]
+set sql_mode="";
+set sql_mode="";
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+call mtr.add_suppression("Unsafe statement written to the binary log*");
+CREATE TABLE t1 (a bigint unsigned not null);
+CREATE TABLE t2 (a char(255) not null);
+
+There are the following types of variables:
+1) variables that are NOT replicated correctly when using STATEMENT mode;
+
+[connection master]
+SELECT @@max_join_size;
+@@max_join_size
+18446744073709551615
+[connection slave]
+SELECT @@max_join_size;
+@@max_join_size
+18446744073709551615
+[connection master]
+SET STATEMENT max_join_size=2 FOR
+INSERT INTO t1 VALUES(@@max_join_size);
+SELECT @@max_join_size;
+@@max_join_size
+18446744073709551615
+[connection slave]
+SELECT * FROM t1;
+a
+18446744073709551615
+SELECT @@max_join_size;
+@@max_join_size
+18446744073709551615
+[connection master]
+DELETE FROM t1;
+
+2) variables thar ARE replicated correctly
+They must be replicated correctly with "SET STATEMENT" too.
+
+[connection master]
+SELECT @@auto_increment_increment;
+@@auto_increment_increment
+1
+[connection slave]
+SELECT @@auto_increment_increment;
+@@auto_increment_increment
+1
+[connection master]
+SET STATEMENT auto_increment_increment=10 FOR
+INSERT INTO t1 VALUES(@@auto_increment_increment);
+SELECT @@auto_increment_increment;
+@@auto_increment_increment
+1
+[connection slave]
+SELECT * FROM t1;
+a
+10
+SELECT @@auto_increment_increment;
+@@auto_increment_increment
+1
+[connection master]
+DELETE FROM t1;
+
+3) sql_mode which is replicated correctly exept NO_DIR_IN_CREATE value;
+
+[connection master]
+SELECT @@sql_mode;
+@@sql_mode
+
+[connection slave]
+SELECT @@sql_mode;
+@@sql_mode
+
+[connection master]
+SET STATEMENT sql_mode='ERROR_FOR_DIVISION_BY_ZERO' FOR
+INSERT INTO t2 VALUES(@@sql_mode);
+SELECT @@sql_mode;
+@@sql_mode
+
+[connection slave]
+SELECT * FROM t2;
+a
+ERROR_FOR_DIVISION_BY_ZERO
+SELECT @@sql_mode;
+@@sql_mode
+
+[connection master]
+DELETE FROM t2;
+[connection master]
+SELECT @@sql_mode;
+@@sql_mode
+
+[connection slave]
+SELECT @@sql_mode;
+@@sql_mode
+
+[connection master]
+SET STATEMENT sql_mode='NO_DIR_IN_CREATE' FOR
+INSERT INTO t2 VALUES(@@sql_mode);
+SELECT @@sql_mode;
+@@sql_mode
+
+[connection slave]
+SELECT * FROM t2;
+a
+
+SELECT @@sql_mode;
+@@sql_mode
+
+[connection master]
+DELETE FROM t2;
+
+4) variables that are not replicated at all:
+default_storage_engine, storage_engine, max_heap_table_size
+
+[connection master]
+SELECT @@max_heap_table_size;
+@@max_heap_table_size
+1048576
+[connection slave]
+SELECT @@max_heap_table_size;
+@@max_heap_table_size
+1048576
+[connection master]
+SET STATEMENT max_heap_table_size=16384 FOR
+INSERT INTO t1 VALUES(@@max_heap_table_size);
+SELECT @@max_heap_table_size;
+@@max_heap_table_size
+1048576
+[connection slave]
+SELECT * FROM t1;
+a
+1048576
+SELECT @@max_heap_table_size;
+@@max_heap_table_size
+1048576
+[connection master]
+DELETE FROM t1;
+DROP TABLE t1;
+DROP TABLE t2;
+include/stop_slave.inc
diff --git a/mysql-test/suite/rpl/r/rpl_set_statement_default_master.result b/mysql-test/suite/rpl/r/rpl_set_statement_default_master.result
new file mode 100644
index 00000000000..fdefdc9d7c3
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_set_statement_default_master.result
@@ -0,0 +1,19 @@
+include/master-slave.inc
+[connection master]
+include/stop_slave.inc
+RESET SLAVE ALL;
+# Does not work for CHANGE MASTER:
+SET STATEMENT default_master_connection = 'm1' FOR
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_MYPORT, MASTER_USER='root';
+#
+# The first field, Connection_name, should say 'm1'...
+#
+Connection_name = 'm1'
+RESET SLAVE ALL;
+CHANGE MASTER 'm1' TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_MYPORT, MASTER_USER='root';
+SET STATEMENT default_master_connection = 'm1' FOR START SLAVE;
+set default_master_connection = 'm1';
+stop slave;
+include/wait_for_slave_to_stop.inc
+reset slave all;
+set default_master_connection = '';
diff --git a/mysql-test/suite/rpl/r/rpl_skip_error.result b/mysql-test/suite/rpl/r/rpl_skip_error.result
index f5675b5e25f..105b9d5c65f 100644
--- a/mysql-test/suite/rpl/r/rpl_skip_error.result
+++ b/mysql-test/suite/rpl/r/rpl_skip_error.result
@@ -56,7 +56,7 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET SQL_LOG_BIN=1;
-call mtr.add_suppression("Slave SQL.*Could not execute .*te_rows event on table test.t.; Duplicate entry.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Could not execute .*te_rows event on table test.t.; Duplicate entry.* error.* 1062");
CREATE TABLE t1(id INT NOT NULL PRIMARY KEY, data INT) Engine=InnoDB;
SHOW CREATE TABLE t1;
Table Create Table
@@ -95,6 +95,9 @@ t2 CREATE TABLE `t2` (
`data` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
+show global status like 'slave_skipped_errors';
+Variable_name Value
+Slave_skipped_errors 4
INSERT INTO t2 VALUES(1, 1);
INSERT INTO t2 VALUES(2, 1);
INSERT INTO t2 VALUES(3, 1);
@@ -104,6 +107,9 @@ DELETE FROM t2 WHERE id = 5;
SET SQL_LOG_BIN=1;
UPDATE t2 SET id= id + 3, data = 2;
+show global status like 'slave_skipped_errors';
+Variable_name Value
+Slave_skipped_errors 5
**** We cannot execute a select as there are differences in the
**** behavior between STMT and RBR.
==== Clean Up ====
diff --git a/mysql-test/suite/rpl/r/rpl_skip_incident.result b/mysql-test/suite/rpl/r/rpl_skip_incident.result
new file mode 100644
index 00000000000..1dc0508af32
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_skip_incident.result
@@ -0,0 +1,25 @@
+include/master-slave.inc
+[connection master]
+**** On Master ****
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+SELECT * FROM t1;
+a
+1
+2
+3
+REPLACE INTO t1 VALUES (4);
+SELECT * FROM t1;
+a
+1
+2
+3
+4
+include/check_slave_is_running.inc
+Should have two binary logs here
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_skip_replication.result b/mysql-test/suite/rpl/r/rpl_skip_replication.result
index c19f9009021..586a104239a 100644
--- a/mysql-test/suite/rpl/r/rpl_skip_replication.result
+++ b/mysql-test/suite/rpl/r/rpl_skip_replication.result
@@ -8,22 +8,22 @@ ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) fo
DROP USER'nonsuperuser'@'127.0.0.1';
SELECT @@global.replicate_events_marked_for_skip;
@@global.replicate_events_marked_for_skip
-replicate
+REPLICATE
SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
-ERROR HY000: This operation cannot be performed with a running slave; run STOP SLAVE first
+ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
SELECT @@global.replicate_events_marked_for_skip;
@@global.replicate_events_marked_for_skip
-replicate
+REPLICATE
STOP SLAVE;
SET SESSION replicate_events_marked_for_skip=FILTER_ON_MASTER;
ERROR HY000: Variable 'replicate_events_marked_for_skip' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@global.replicate_events_marked_for_skip;
@@global.replicate_events_marked_for_skip
-replicate
+REPLICATE
SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
SELECT @@global.replicate_events_marked_for_skip;
@@global.replicate_events_marked_for_skip
-filter_on_master
+FILTER_ON_MASTER
START SLAVE;
SELECT @@skip_replication;
@@skip_replication
diff --git a/mysql-test/suite/rpl/r/rpl_slave_grp_exec.result b/mysql-test/suite/rpl/r/rpl_slave_grp_exec.result
index 4c3b08589d9..d3cfbb6fa91 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_grp_exec.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_grp_exec.result
@@ -29,7 +29,7 @@ a b
SELECT * FROM t3 ORDER BY a;
a b
1 ZZ
-call mtr.add_suppression("Slave SQL.*Table .test.t3. doesn.t exist.* Error_code: 1146");
+call mtr.add_suppression("Slave SQL.*Table .test.t3. doesn.t exist.* error.* 1146");
include/wait_for_slave_sql_error.inc [errno=1146]
SHOW TABLES LIKE 't%';
Tables_in_test (t%)
diff --git a/mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result b/mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result
index 0abae0bff28..468de62731c 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result
@@ -14,8 +14,8 @@ include/stop_slave_io.inc
RESET SLAVE;
drop table t1;
call mtr.add_suppression("Slave: Can't get stat of .*");
-call mtr.add_suppression("Slave SQL: Error .Can.t get stat of.* Error_code: 13");
+call mtr.add_suppression("Slave SQL: Error .Can.t get stat of.* error.* 13");
call mtr.add_suppression("Slave: File.* not found.*");
-call mtr.add_suppression("Slave SQL: Error .File.* not found.* Error_code: 29");
+call mtr.add_suppression("Slave SQL: Error .File.* not found.* error.* 29");
SET @@global.debug_dbug= '';
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result b/mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result
index 262404ff6f9..60de4a9f812 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result
@@ -1,7 +1,7 @@
include/master-slave.inc
[connection master]
START SLAVE;
-call mtr.add_suppression("Slave SQL.*Unable to use slave.s temporary directory.* Error_code: 12");
+call mtr.add_suppression("Slave SQL.*Unable to use slave.s temporary directory");
include/wait_for_slave_sql_error.inc [errno=12]
include/stop_slave_io.inc
RESET SLAVE;
diff --git a/mysql-test/suite/rpl/r/rpl_slave_skip.result b/mysql-test/suite/rpl/r/rpl_slave_skip.result
index a1884731a3e..422c283fa13 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_skip.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_skip.result
@@ -10,23 +10,25 @@ CREATE TABLE t2 (c INT, d INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1,1),(2,4),(3,9);
INSERT INTO t2 VALUES (1,1),(2,8),(3,27);
UPDATE t1,t2 SET b = d, d = b * 2 WHERE a = c;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT) ENGINE=MyISAM
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (c INT, d INT) ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map # # table_id: # (test.t2)
-master-bin.000001 # Update_rows # # table_id: #
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Update_rows_v1 # # table_id: #
+master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
SELECT * FROM t1;
a b
@@ -63,9 +65,9 @@ RESET MASTER;
SET SESSION BINLOG_FORMAT=STATEMENT;
SET @foo = 12;
INSERT INTO t1 VALUES(@foo, 2*@foo);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`foo`=12
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(@foo, 2*@foo)
master-bin.000001 # Query # # COMMIT
diff --git a/mysql-test/suite/rpl/r/rpl_slave_status.result b/mysql-test/suite/rpl/r/rpl_slave_status.result
index be978362c81..6257c8fb5b8 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_status.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_status.result
@@ -5,6 +5,18 @@ include/master-slave.inc
GRANT REPLICATION SLAVE ON *.* TO rpl@127.0.0.1 IDENTIFIED BY 'rpl';
[on slave]
include/stop_slave.inc
+set @save_relay_log_purge=@@global.relay_log_purge;
+set @@global.relay_log_purge=0;
+CHANGE MASTER TO master_user='rpl', master_password='rpl';
+select @@global.relay_log_purge;
+@@global.relay_log_purge
+0
+set @@global.relay_log_purge=1;
+CHANGE MASTER TO master_user='rpl', master_password='rpl';
+select @@global.relay_log_purge;
+@@global.relay_log_purge
+1
+set @@global.relay_log_purge=@save_relay_log_purge;
CHANGE MASTER TO master_user='rpl', master_password='rpl';
include/start_slave.inc
==== Do replication as new user ====
diff --git a/mysql-test/suite/rpl/r/rpl_slow_query_log.result b/mysql-test/suite/rpl/r/rpl_slow_query_log.result
index 79b83b4ceb9..2de0f5ccd82 100644
--- a/mysql-test/suite/rpl/r/rpl_slow_query_log.result
+++ b/mysql-test/suite/rpl/r/rpl_slow_query_log.result
@@ -76,6 +76,21 @@ ALTER TABLE t1 ADD INDEX id1(a);
INSERT INTO t1 values(1, sleep(3));
### Assertion is good. Both Master and Slave exhibit the
### same number of queries in slow log: 1
+********************************************************************
+**** TRUNCATE the slow log then check whether runtime changes of
+**** log_slow_slave_statements work without slave restart.
+********************************************************************
+SET @old_log_slow_slave_statements= @@global.log_slow_slave_statements;
+SET @@global.log_slow_slave_statements = off;
+TRUNCATE mysql.slow_log;
+INSERT INTO t1 values(1, sleep(3));;
+SELECT sql_text FROM mysql.slow_log WHERE sql_text like 'INSERT INTO t1 values(1, sleep(3))';
+sql_text
+SET @@global.log_slow_slave_statements = on;
+INSERT INTO t1 values(1, sleep(3));;
+SELECT sql_text FROM mysql.slow_log WHERE sql_text like 'INSERT INTO t1 values(1, sleep(3))';
+sql_text
+INSERT INTO t1 values(1, sleep(3))
SET @@global.log_output= @old_log_output;
SET @@global.long_query_time= @old_long_query_time;
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/r/rpl_sp.result b/mysql-test/suite/rpl/r/rpl_sp.result
index 2f5052f0180..177463f45d8 100644
--- a/mysql-test/suite/rpl/r/rpl_sp.result
+++ b/mysql-test/suite/rpl/r/rpl_sp.result
@@ -1,5 +1,7 @@
include/master-slave.inc
[connection master]
+set local sql_mode='';
+set global sql_mode='';
drop database if exists mysqltest1;
create database mysqltest1;
use mysqltest1;
@@ -252,6 +254,8 @@ return 0;
end
delete from t2;
alter table t2 add unique (a);
+Warnings:
+Note 1831 Duplicate index `a_2`. This is deprecated and will be disallowed in a future release.
drop function fn1;
create function fn1(x int)
returns int
@@ -402,11 +406,15 @@ return 0;
end|
use mysqltest;
set @a:= mysqltest2.f1();
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database if exists mysqltest1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database mysqltest1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; create table t1 (a varchar(100))
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
begin
declare b int;
@@ -414,141 +422,176 @@ set b = 8;
insert into t1 values (b);
insert into t1 values (unix_timestamp());
end
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values ( NAME_CONST('b',8))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values (unix_timestamp())
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; delete from t1
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo2`()
select * from mysqltest1.t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; alter procedure foo2 contains sql
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; create table t1 (a int)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; create table t2 like t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo3`()
DETERMINISTIC
insert into t1 values (15)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` PROCEDURE `foo4`()
DETERMINISTIC
begin
insert into t2 values(3);
insert into t1 values (5);
end
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t2 values(3)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values (15)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t2 values(3)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; alter procedure foo4 sql security invoker
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t2 values(3)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values (5)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; delete from t2
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; alter table t2 add unique (a)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop procedure foo4
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo4`()
DETERMINISTIC
begin
insert into t2 values(20),(20);
end
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t2 values(20),(20)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop procedure foo4
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop procedure foo
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop procedure foo2
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop procedure foo3
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
DETERMINISTIC
begin
insert into t1 values (x);
return x+2;
end
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; delete t1,t2 from t1,t2
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; SELECT `mysqltest1`.`fn1`(20)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t2 values(fn1(21))
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop function fn1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`() RETURNS int(11)
NO SQL
begin
return unix_timestamp();
end
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; delete from t1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values(fn1())
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` FUNCTION `fn2`() RETURNS int(11)
NO SQL
begin
return unix_timestamp();
end
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION `fn3`() RETURNS int(11)
READS SQL DATA
begin
return 0;
end
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; delete from t2
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; alter table t2 add unique (a)
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop function fn1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
begin
insert into t2 values(x),(x);
return 10;
end
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; SELECT `mysqltest1`.`fn1`(100)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; SELECT `mysqltest1`.`fn1`(20)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; delete from t1
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` trigger trg before insert on t1 for each row set new.a= 10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; delete from t1
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop trigger trg
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
READS SQL DATA
select * from t1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop procedure foo
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest1`; drop function fn1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database mysqltest1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop user "zedjzlcsjhd"@127.0.0.1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; drop function if exists f1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
READS SQL DATA
begin
@@ -559,47 +602,70 @@ fetch c into var;
close c;
return var;
end
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 as a
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 (a) values (f1())
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; drop view v1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; drop function f1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS p1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(col VARCHAR(10))
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(arg VARCHAR(10))
INSERT INTO t1 VALUES(arg)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES( NAME_CONST('arg',_latin1'test' COLLATE 'latin1_swedish_ci'))
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE p1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS p1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS f1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
SET @a = 1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
RETURN 0
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE p1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION f1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database if exists mysqltest
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database if exists mysqltest2
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database mysqltest
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database mysqltest2
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest2`; create table t ( t integer )
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest2`; CREATE DEFINER=`root`@`localhost` PROCEDURE `mysqltest`.`test`()
begin end
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest2`; insert into t values ( 1 )
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `mysqltest2`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
begin
insert into t values (1);
return 0;
end
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysqltest`; SELECT `mysqltest2`.`f1`()
master-bin.000001 # Query # # COMMIT
set @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
@@ -684,7 +750,6 @@ insert into t1 values (b);
insert into t1 values (unix_timestamp());
end
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -693,7 +758,6 @@ insert into t1 values ( NAME_CONST('b',8))
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -702,7 +766,6 @@ insert into t1 values (unix_timestamp())
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -749,7 +812,6 @@ insert into t2 values(3);
insert into t1 values (5);
end
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -758,7 +820,6 @@ insert into t2 values(3)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -767,7 +828,6 @@ insert into t1 values (15)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -779,7 +839,6 @@ COMMIT
SET TIMESTAMP=t/*!*/;
alter procedure foo4 sql security invoker
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -788,7 +847,6 @@ insert into t2 values(3)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -797,7 +855,6 @@ insert into t1 values (5)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -819,7 +876,6 @@ begin
insert into t2 values(20),(20);
end
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -848,7 +904,6 @@ insert into t1 values (x);
return x+2;
end
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -857,7 +912,6 @@ delete t1,t2 from t1,t2
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -866,7 +920,6 @@ SELECT `mysqltest1`.`fn1`(20)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -885,7 +938,6 @@ begin
return unix_timestamp();
end
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -894,7 +946,6 @@ delete from t1
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -917,7 +968,6 @@ begin
return 0;
end
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -939,7 +989,6 @@ insert into t2 values(x),(x);
return 10;
end
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -948,7 +997,6 @@ SELECT `mysqltest1`.`fn1`(100)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -957,7 +1005,6 @@ SELECT `mysqltest1`.`fn1`(20)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -969,7 +1016,6 @@ COMMIT
SET TIMESTAMP=t/*!*/;
CREATE DEFINER=`root`@`localhost` trigger trg before insert on t1 for each row set new.a= 10
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -978,7 +1024,6 @@ insert into t1 values (1)
SET TIMESTAMP=t/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -990,7 +1035,6 @@ COMMIT
SET TIMESTAMP=t/*!*/;
drop trigger trg
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -1038,7 +1082,6 @@ CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW
SET TIMESTAMP=t/*!*/;
create table t1 (a int)
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -1066,7 +1109,6 @@ SET TIMESTAMP=t/*!*/;
CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(arg VARCHAR(10))
INSERT INTO t1 VALUES(arg)
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -1121,7 +1163,6 @@ SET TIMESTAMP=t/*!*/;
CREATE DEFINER=`root`@`localhost` PROCEDURE `mysqltest`.`test`()
begin end
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=t/*!*/;
@@ -1137,7 +1178,6 @@ insert into t values (1);
return 0;
end
/*!*/;
-SET TIMESTAMP=t/*!*/;
BEGIN
/*!*/;
use `mysqltest`/*!*/;
@@ -1273,3 +1313,4 @@ drop table t1;
drop procedure p1;
# End of 5.5 tests.
include/rpl_end.inc
+set global sql_mode=default;
diff --git a/mysql-test/suite/rpl/r/rpl_sp_variables.result b/mysql-test/suite/rpl/r/rpl_sp_variables.result
new file mode 100644
index 00000000000..d64bc1a80f0
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_sp_variables.result
@@ -0,0 +1,24 @@
+include/master-slave.inc
+[connection master]
+#
+# MDEV-13685 Can not replay binary log due to Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
+#
+SET NAMES utf8;
+CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8);
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE v_id INT DEFAULT 2017;
+INSERT INTO test.t1 SELECT CONCAT(v_id, '오');
+END;
+$$
+CALL p1;
+SELECT * FROM t1;
+a
+2017오
+SET NAMES utf8;
+SELECT * FROM t1;
+a
+2017오
+DROP PROCEDURE p1;
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_special_charset.result b/mysql-test/suite/rpl/r/rpl_special_charset.result
index 2aa1fe01da4..6efe81bf6cb 100644
--- a/mysql-test/suite/rpl/r/rpl_special_charset.result
+++ b/mysql-test/suite/rpl/r/rpl_special_charset.result
@@ -1,5 +1,6 @@
include/master-slave.inc
[connection master]
+call mtr.add_suppression("'utf16' can not be used as client character set");
CREATE TABLE t1(i VARCHAR(20));
INSERT INTO t1 VALUES (0xFFFF);
include/diff_tables.inc [master:t1, slave:t1]
diff --git a/mysql-test/suite/rpl/r/rpl_ssl.result b/mysql-test/suite/rpl/r/rpl_ssl.result
index 35aaabc8c56..f02fa4e7b9f 100644
--- a/mysql-test/suite/rpl/r/rpl_ssl.result
+++ b/mysql-test/suite/rpl/r/rpl_ssl.result
@@ -1,5 +1,6 @@
include/master-slave.inc
[connection master]
+create user replssl@localhost;
grant replication slave on *.* to replssl@localhost require ssl;
create table t1 (t int auto_increment, KEY(t));
stop slave;
diff --git a/mysql-test/suite/rpl/r/rpl_ssl1.result b/mysql-test/suite/rpl/r/rpl_ssl1.result
index a7a56d7c5ee..c9fe21a7929 100644
--- a/mysql-test/suite/rpl/r/rpl_ssl1.result
+++ b/mysql-test/suite/rpl/r/rpl_ssl1.result
@@ -1,5 +1,6 @@
include/master-slave.inc
[connection master]
+create user replssl@localhost;
grant replication slave on *.* to replssl@localhost require ssl;
create table t1 (t int);
stop slave;
diff --git a/mysql-test/suite/rpl/r/rpl_start_slave_deadlock_sys_vars.result b/mysql-test/suite/rpl/r/rpl_start_slave_deadlock_sys_vars.result
deleted file mode 100644
index 033027addf9..00000000000
--- a/mysql-test/suite/rpl/r/rpl_start_slave_deadlock_sys_vars.result
+++ /dev/null
@@ -1,32 +0,0 @@
-include/master-slave.inc
-[connection master]
-# connection: slave
-SET @save_slave_net_timeout = @@GLOBAL.slave_net_timeout;
-STOP SLAVE;
-include/wait_for_slave_to_stop.inc
-# open an extra connection to the slave
-# connection: slave2
-# set debug synchronization point
-SET DEBUG_SYNC='fix_slave_net_timeout SIGNAL parked WAIT_FOR go';
-# attempt to set slave_net_timeout, will wait on sync point
-SET @@GLOBAL.slave_net_timeout = 100;
-# connection: slave
-SET DEBUG_SYNC='now WAIT_FOR parked';
-# connection: slave1
-# attempt to start the SQL thread
-START SLAVE SQL_THREAD;
-# connection: slave
-# wait until SQL thread has been started
-# sleep a bit so that the SQL thread THD handle is initialized
-# signal the set slave_net_timeout to continue
-SET DEBUG_SYNC='now SIGNAL go';
-# connection: slave2
-# reap result of set slave_net_timeout
-# connection: slave1
-# reap result of starting the SQL thread
-# disconnect: slave2
-# connection: slave
-# cleanup
-SET @@GLOBAL.slave_net_timeout = @save_slave_net_timeout;
-SET DEBUG_SYNC='RESET';
-include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_start_stop_slave.result b/mysql-test/suite/rpl/r/rpl_start_stop_slave.result
index 7344acec4ec..b6cbdc9686b 100644
--- a/mysql-test/suite/rpl/r/rpl_start_stop_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_start_stop_slave.result
@@ -8,4 +8,6 @@ set @time_after_kill := (select CURRENT_TIMESTAMP);
[Time after the query]
[Killing of the slave IO thread was successful]
START SLAVE IO_THREAD;
+create table t1 (a int primary key);
+drop table t1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result b/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result
index d4a14adc6b8..1c479713c89 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result
@@ -8,7 +8,7 @@ insert into t1 values(1),(2);
ERROR 23000: Duplicate entry '2' for key 'a'
drop table t1;
include/wait_for_slave_sql_to_stop.inc
-call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.* error code=1062.*Error on slave:.* Error_code: 0");
+call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.* error code=1062.*Error on slave:.* error.* 0");
Error: "Query caused different errors on master and slave. Error on master: message (format)='Duplicate entry '%-.192s' for key %d' error code=1062 ; Error on slave: actual message='no error', error code=0. Default database: 'test'. Query: 'insert into t1 values(1),(2)'" (expected different error codes on master and slave)
Errno: "0" (expected 0)
drop table t1;
diff --git a/mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result b/mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result
index cade32bbfdd..129b944d840 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result
@@ -37,60 +37,60 @@ END//
CALL p1();
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=2
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=4
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=6
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=7
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=8
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=9
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=10
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; DELETE FROM t1 WHERE id = 1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=2
master-bin.000001 # Query # # use `test`; DELETE FROM t1 WHERE id = 2
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DELETE FROM t2 WHERE id = 1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DELETE FROM t2 WHERE id = 2
master-bin.000001 # Query # # COMMIT
# Result on master
@@ -123,24 +123,24 @@ DROP TRIGGER tr1;
CALL p2();
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=11
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=3
master-bin.000001 # Query # # use `test`; DELETE FROM t1 WHERE id = f1(3)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=12
master-bin.000001 # Query # # use `test`; DELETE FROM t1 WHERE id = f1(4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DELETE FROM t2 WHERE id = 3
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DELETE FROM t2 WHERE id = 4
master-bin.000001 # Query # # COMMIT
# Result on master
diff --git a/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result b/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result
index 143475d7bae..80f76169472 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result
@@ -151,7 +151,7 @@ include/start_slave.inc
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
-CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master. Message: error writing to the binary log");
+CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occurred on the master. Message: error writing to the binary log");
TRUNCATE t1;
SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
@@ -164,8 +164,7 @@ include/wait_for_slave_sql_error.inc [errno=1197]
SELECT count(*) FROM t1;
count(*)
0
-show binlog events in 'slave-bin.000001' from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
diff --git a/mysql-test/suite/rpl/r/rpl_stm_conflicts.result b/mysql-test/suite/rpl/r/rpl_stm_conflicts.result
index e30429540fb..07c5b0d445e 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_conflicts.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_conflicts.result
@@ -18,7 +18,7 @@ a
include/wait_for_slave_sql_error.inc [errno=1062]
Last_SQL_Error (expected "duplicate key" error)
Error 'Duplicate entry '1' for key 'PRIMARY'' on query. Default database: 'test'. Query: 'INSERT INTO t1 VALUES (1)'
-call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.* error.* 1062");
SELECT * FROM t1;
a
1
diff --git a/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result b/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result
index 08b318fbb43..9dc86c0bfa7 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result
@@ -7,39 +7,48 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
SET @commands= 'configure';
CREATE TABLE tt_xx_1 ( id INT ) ENGINE = Innodb;
CREATE TABLE nt_xx_1 ( id INT ) ENGINE = MyIsam;
+CREATE TABLE tt_error_1 ( id INT, PRIMARY KEY (id) ) ENGINE = Innodb;
+CREATE TABLE nt_error_1 ( id INT, PRIMARY KEY (id) ) ENGINE = MyIsam;
+CREATE TABLE tt_error_2 ( id INT, PRIMARY KEY (id) ) ENGINE = Innodb;
+CREATE TABLE nt_error_2 ( id INT, PRIMARY KEY (id) ) ENGINE = MyIsam;
+CREATE TRIGGER tr_i_nt_2_to_tt_2 AFTER INSERT ON nt_error_2 FOR EACH ROW
+BEGIN
+DECLARE in_stmt_id INTEGER;
+INSERT INTO tt_error_2(id) VALUES (NEW.id);
+END|
CREATE TEMPORARY TABLE nt_tmp_xx_1 ( id INT ) ENGINE = MyIsam;
CREATE TEMPORARY TABLE tt_tmp_xx_1 ( id INT ) ENGINE = Innodb;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2;
Warnings:
-Note 1051 Unknown table 'nt_tmp_2'
+Note 1051 Unknown table 'test.nt_tmp_2'
CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) ENGINE = MyIsam;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1;
Warnings:
-Note 1051 Unknown table 'nt_tmp_1'
+Note 1051 Unknown table 'test.nt_tmp_1'
CREATE TEMPORARY TABLE nt_tmp_1 ( id INT ) ENGINE = MyIsam;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2;
Warnings:
-Note 1051 Unknown table 'tt_tmp_2'
+Note 1051 Unknown table 'test.tt_tmp_2'
CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) ENGINE = Innodb;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1;
Warnings:
-Note 1051 Unknown table 'tt_tmp_1'
+Note 1051 Unknown table 'test.tt_tmp_1'
CREATE TEMPORARY TABLE tt_tmp_1 ( id INT ) ENGINE = Innodb;
DROP TABLE IF EXISTS nt_2;
Warnings:
-Note 1051 Unknown table 'nt_2'
+Note 1051 Unknown table 'test.nt_2'
CREATE TABLE nt_2 ( id INT ) ENGINE = MyIsam;
DROP TABLE IF EXISTS nt_1;
Warnings:
-Note 1051 Unknown table 'nt_1'
+Note 1051 Unknown table 'test.nt_1'
CREATE TABLE nt_1 ( id INT ) ENGINE = MyIsam;
DROP TABLE IF EXISTS tt_2;
Warnings:
-Note 1051 Unknown table 'tt_2'
+Note 1051 Unknown table 'test.tt_2'
CREATE TABLE tt_2 ( id INT ) ENGINE = Innodb;
DROP TABLE IF EXISTS tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
CREATE TABLE tt_1 ( id INT ) ENGINE = Innodb;
SET @commands= '';
#########################################################################
@@ -52,87 +61,109 @@ SET @commands= '';
SET @commands= 'Drop-Temp-T-Temp';
DROP TEMPORARY TABLE tt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-N-Temp';
DROP TEMPORARY TABLE nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-N-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-N-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-Xe-Temp';
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-Xe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-Xe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-If-Xe-Temp';
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-Xe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-Xe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-TXe-Temp';
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-TXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-TXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-If-TXe-Temp';
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-TXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-TXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-NXe-Temp';
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-NXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-NXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-If-NXe-Temp';
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-NXe-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-NXe-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-TN-Temp';
DROP TEMPORARY TABLE tt_tmp_2, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-TT-Temp';
DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-TT-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-TT-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Temp-NN-Temp';
DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-NN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-NN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -146,8 +177,9 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -161,11 +193,12 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp N Drop-Temp-T-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -178,11 +211,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -195,17 +229,18 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -214,11 +249,12 @@ SET @commands= 'B T Drop-Temp-Xe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -227,17 +263,18 @@ SET @commands= 'B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -247,11 +284,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -262,18 +300,19 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
@@ -284,11 +323,12 @@ SET @commands= 'B T Drop-Temp-TXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -298,17 +338,18 @@ SET @commands= 'B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -320,11 +361,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -335,18 +377,19 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */
@@ -357,14 +400,15 @@ SET @commands= 'B T Drop-Temp-NXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -373,23 +417,24 @@ SET @commands= 'B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp C';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -399,14 +444,15 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -417,24 +463,25 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
@@ -447,11 +494,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -465,17 +513,18 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, nt_tmp_1;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp N Drop-Temp-TN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -488,8 +537,9 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -502,11 +552,12 @@ DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp N Drop-Temp-TT-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -518,11 +569,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -534,18 +586,91 @@ DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne C';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (1), (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (1), (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te C';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (1), (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig C';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (2), (2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (2), (2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+
#
#3) Generates in the binlog what follows:
@@ -556,8 +681,9 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -571,13 +697,14 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1;
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-T-Temp N Drop-Temp-T-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -590,11 +717,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -607,19 +735,20 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1;
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp N Drop-Temp-N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -628,11 +757,12 @@ SET @commands= 'B T Drop-Temp-Xe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -641,19 +771,20 @@ SET @commands= 'B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_xx_1;
-ERROR 42S02: Unknown table 'tt_xx_1'
+ERROR 42S02: Unknown table 'test.tt_xx_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-Xe-Temp N Drop-Temp-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -663,11 +794,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -678,20 +810,21 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_xx_1;
Warnings:
-Note 1051 Unknown table 'tt_xx_1'
+Note 1051 Unknown table 'test.tt_xx_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */
@@ -702,11 +835,12 @@ SET @commands= 'B T Drop-Temp-TXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -716,19 +850,20 @@ SET @commands= 'B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TXe-Temp N Drop-Temp-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -740,11 +875,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -755,20 +891,21 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */
@@ -779,14 +916,15 @@ SET @commands= 'B T Drop-Temp-NXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -795,25 +933,26 @@ SET @commands= 'B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp R';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_2, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, tt_1;
-ERROR 42S02: Unknown table 'tt_1'
+ERROR 42S02: Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NXe-Temp N Drop-Temp-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -823,14 +962,15 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -841,26 +981,27 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1, tt_1;
Warnings:
-Note 1051 Unknown table 'tt_1'
+Note 1051 Unknown table 'test.tt_1'
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */
@@ -873,11 +1014,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_2, nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -891,19 +1033,20 @@ INSERT INTO nt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, nt_tmp_1;
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TN-Temp N Drop-Temp-TN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -916,8 +1059,9 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -930,13 +1074,14 @@ DROP TEMPORARY TABLE tt_tmp_1, tt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-TT-Temp N Drop-Temp-TT-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1`,`tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
@@ -948,11 +1093,12 @@ INSERT INTO tt_xx_1() VALUES (1);
DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -964,20 +1110,99 @@ DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
INSERT INTO nt_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne R';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (3), (3);
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (3), (3)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te R';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (2), (2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp Te R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig R';
+BEGIN;
+INSERT INTO tt_xx_1() VALUES (1);
+DROP TEMPORARY TABLE nt_tmp_1, nt_tmp_2;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (4), (4);
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1`,`nt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (4), (4)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-NN-Temp N Drop-Temp-NN-Temp NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+
#########################################################################
# 2 - Tables dropped by "DROP TABLE"
#########################################################################
@@ -988,102 +1213,129 @@ master-bin.000001 # Query # # ROLLBACK
SET @commands= 'Drop-T';
DROP TABLE tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-T << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-N';
DROP TABLE nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-N << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-Xe';
DROP TABLE xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Xe << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Xe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-If-Xe';
DROP TABLE IF EXISTS xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-If-Xe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-If-Xe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TXe';
DROP TABLE tt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-If-TXe';
DROP TABLE IF EXISTS tt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-If-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-If-TXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-NXe';
DROP TABLE nt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-NXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-If-NXe';
DROP TABLE IF EXISTS nt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-If-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-If-NXe << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TN';
DROP TABLE tt_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TN << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TT';
DROP TABLE tt_1, tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_1`,`tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TT << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-NN';
DROP TABLE nt_1, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-NN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_1`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-NN << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-N-TN-Temp';
DROP TABLE tt_tmp_2, nt_tmp_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-N-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-N-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
SET @commands= 'Drop-TN-Temp';
DROP TABLE tt_tmp_2, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1096,10 +1348,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-T << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1108,10 +1362,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1119,10 +1375,11 @@ SET @commands= 'B T Drop-Xe';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Xe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Xe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1132,12 +1389,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE IF EXISTS xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-If-Xe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-If-Xe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1145,12 +1404,14 @@ SET @commands= 'B T Drop-TXe';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1159,12 +1420,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE IF EXISTS tt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-If-TXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-If-TXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1172,12 +1435,14 @@ SET @commands= 'B T Drop-NXe';
BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE nt_2, xx_1;
-ERROR 42S02: Unknown table 'xx_1'
+ERROR 42S02: Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-NXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1186,12 +1451,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE IF EXISTS nt_2, xx_1;
Warnings:
-Note 1051 Unknown table 'xx_1'
+Note 1051 Unknown table 'test.xx_1'
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-If-NXe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `nt_2`,`xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-If-NXe << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1200,10 +1467,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_2`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TN << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1212,10 +1481,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_1, tt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `tt_1`,`tt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TT << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1224,10 +1495,12 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE nt_1, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-NN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_1`,`nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-NN << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1236,12 +1509,16 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_tmp_2, nt_tmp_2, nt_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-N-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `nt_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-N-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1250,11 +1527,14 @@ BEGIN;
INSERT INTO tt_xx_1() VALUES (1);
DROP TABLE tt_tmp_2, nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-TN-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-TN-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1271,10 +1551,15 @@ CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) engine= MyIsam;
DROP TEMPORARY TABLE nt_tmp_1;
DROP TEMPORARY TABLE nt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) engine= MyIsam
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1284,10 +1569,15 @@ CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
DROP TEMPORARY TABLE tt_tmp_1;
DROP TEMPORARY TABLE tt_tmp_2;
-b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1304,20 +1594,21 @@ DROP TEMPORARY TABLE nt_tmp_1;
DROP TEMPORARY TABLE nt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) engine= MyIsam
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1330,8 +1621,9 @@ DROP TEMPORARY TABLE tt_tmp_1;
DROP TEMPORARY TABLE tt_tmp_2;
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -1339,6 +1631,72 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* gen
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne C';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (5), (5);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (5), (5)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te C';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO tt_error_1() VALUES (3), (3);
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig C';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (6), (6);
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (6), (6)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+
#
#3) Generates in the binlog what follows:
@@ -1352,20 +1710,21 @@ DROP TEMPORARY TABLE nt_tmp_1;
DROP TEMPORARY TABLE nt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE nt_tmp_2 ( id INT ) engine= MyIsam
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_1` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `nt_tmp_2` /* generated by server */
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-N-Temp Create-N-Temp Drop-Temp-N-Temp Drop-Temp-N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1378,8 +1737,9 @@ DROP TEMPORARY TABLE tt_tmp_1;
DROP TEMPORARY TABLE tt_tmp_2;
ROLLBACK;
-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
@@ -1387,6 +1747,76 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* gen
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne R';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (7), (7);
+ERROR 23000: Duplicate entry '7' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (7), (7)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te R';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO tt_error_1() VALUES (4), (4);
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
+ROLLBACK;
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp Te R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig R';
+BEGIN;
+DROP TEMPORARY TABLE tt_tmp_2;
+CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb;
+DROP TEMPORARY TABLE tt_tmp_1;
+DROP TEMPORARY TABLE tt_tmp_2;
+INSERT INTO nt_error_1() VALUES (8), (8);
+ERROR 23000: Duplicate entry '8' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (8), (8)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_tmp_2 ( id INT ) engine= Innodb
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_1` /* generated by server */
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt_tmp_2` /* generated by server */
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B Drop-Temp-T-Temp Create-T-Temp Drop-Temp-T-Temp Drop-Temp-T-Temp NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+
#########################################################################
# 4 - CHANGING TEMPORARY TABLES
#########################################################################
@@ -1402,17 +1832,18 @@ INSERT INTO nt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-N-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1 SELECT * FROM nt_tmp_xx_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-N-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1427,17 +1858,18 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-N-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM nt_tmp_xx_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-N-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1450,17 +1882,18 @@ INSERT INTO nt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-T-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1 SELECT * FROM tt_tmp_xx_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-T-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1473,21 +1906,106 @@ INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
COMMIT;
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp C << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Ne C';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (9), (9);
+ERROR 23000: Duplicate entry '9' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (9), (9)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Te C';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (5), (5);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Te C << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig C';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (10), (10);
+ERROR 23000: Duplicate entry '10' for key 'PRIMARY'
+COMMIT;
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (10), (10)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+
#
@@ -1501,19 +2019,20 @@ INSERT INTO nt_xx_1 SELECT * FROM nt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-N-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1 SELECT * FROM nt_tmp_xx_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-N-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1528,19 +2047,20 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-N-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM nt_tmp_xx_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-N-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1553,19 +2073,20 @@ INSERT INTO nt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp N-SELECT-T-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1 SELECT * FROM tt_tmp_xx_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp N-SELECT-T-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1578,23 +2099,114 @@ INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
INSERT INTO nt_tmp_xx_1() VALUES (1);
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp R << -e-e-e-e-e-e-e-e-e-e-e-
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Ne R';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (11), (11);
+ERROR 23000: Duplicate entry '11' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (11), (11)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp Te R';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_error_1() VALUES (6), (6);
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp Te R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp Te R << -e-e-e-e-e-e-e-e-e-e-e-
+
+SET @commands= 'B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig R';
+BEGIN;
+INSERT INTO nt_xx_1() VALUES (1);
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1;
+INSERT INTO nt_tmp_xx_1() VALUES (1);
+INSERT INTO nt_error_1() VALUES (12), (12);
+ERROR 23000: Duplicate entry '12' for key 'PRIMARY'
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+-b-b-b-b-b-b-b-b-b-b-b- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_tmp_xx_1() VALUES (1)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO nt_error_1() VALUES (12), (12)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1 SELECT * FROM tt_tmp_xx_1
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B N N-Temp T-SELECT-T-Temp N-Temp NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+
###################################################################################
# CHECK CONSISTENCY
###################################################################################
@@ -1604,6 +2216,10 @@ master-bin.000001 # Query # # ROLLBACK
SET @commands= 'clean';
DROP TABLE IF EXISTS tt_xx_1;
DROP TABLE IF EXISTS nt_xx_1;
+DROP TABLE IF EXISTS tt_error_1;
+DROP TABLE IF EXISTS nt_error_1;
+DROP TABLE IF EXISTS tt_error_2;
+DROP TABLE IF EXISTS nt_error_2;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_xx_1;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_xx_1;
DROP TABLE IF EXISTS nt_2;
diff --git a/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result b/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result
index 96d2a337e7c..27b23739831 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result
@@ -8,8 +8,9 @@ create table t4 (a int);
insert into t4 select * from t3;
rename table t1 to t5, t2 to t1;
flush no_write_to_binlog tables;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; rename table t1 to t5, t2 to t1
select * from t3;
a
@@ -21,7 +22,8 @@ include/wait_for_slave_to_stop.inc
drop table t1;
flush tables with read lock;
start slave;
-include/wait_for_slave_to_start.inc
+include/wait_for_slave_param.inc [Slave_IO_Running]
+include/wait_for_slave_sql_to_start.inc
stop slave;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
diff --git a/mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result b/mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result
index 0fa2047f105..bb668a4e6cb 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result
@@ -13,510 +13,321 @@ INSERT INTO tt_2(ddl_case) VALUES(0);
# CHECK IMPLICT COMMIT
#########################################################################
SET AUTOCOMMIT= 0;
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
+INSERT INTO tt_1(ddl_case) VALUES (43);
+CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
+INSERT INTO tt_1(ddl_case) VALUES (42);
+DROP FUNCTION myfunc_int;
INSERT INTO tt_1(ddl_case) VALUES (41);
LOAD INDEX INTO CACHE nt_1 IGNORE LEAVES;
Table Op Msg_type Msg_text
test.nt_1 preload_keys status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (41)
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (40);
LOAD INDEX INTO CACHE tt_1, tt_2 IGNORE LEAVES;
Table Op Msg_type Msg_text
test.tt_1 preload_keys note The storage engine for the table doesn't support preload_keys
test.tt_2 preload_keys note The storage engine for the table doesn't support preload_keys
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (40)
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (39);
ANALYZE TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 analyze status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (39)
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # use `test`; ANALYZE TABLE nt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (38);
CHECK TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 check status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (38)
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (37);
OPTIMIZE TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 optimize status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (37)
-master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # use `test`; OPTIMIZE TABLE nt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(ddl_case) VALUES (36);
REPAIR TABLE nt_1;
Table Op Msg_type Msg_text
test.nt_1 repair status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+INSERT INTO tt_1(ddl_case) VALUES (35);
+LOCK TABLES tt_1 WRITE;
+INSERT INTO tt_1(ddl_case) VALUES (34);
+UNLOCK TABLES;
+INSERT INTO tt_1(ddl_case) VALUES (33);
+CREATE USER 'user'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (32);
+GRANT ALL ON *.* TO 'user'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (31);
+SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpass');
+INSERT INTO tt_1(ddl_case) VALUES (30);
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (29);
+RENAME USER 'user'@'localhost' TO 'user_new'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (28);
+DROP USER 'user_new'@'localhost';
+INSERT INTO tt_1(ddl_case) VALUES (27);
+CREATE EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
+INSERT INTO tt_1(ddl_case) VALUES (26);
+ALTER EVENT evt COMMENT 'evt';
+INSERT INTO tt_1(ddl_case) VALUES (25);
+DROP EVENT evt;
+INSERT INTO tt_1(ddl_case) VALUES (24);
+CREATE TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
+INSERT INTO tt_1(ddl_case) VALUES (23);
+DROP TRIGGER tr;
+INSERT INTO tt_1(ddl_case) VALUES (22);
+CREATE FUNCTION fc () RETURNS VARCHAR(64) RETURN "fc";
+INSERT INTO tt_1(ddl_case) VALUES (21);
+ALTER FUNCTION fc COMMENT 'fc';
+INSERT INTO tt_1(ddl_case) VALUES (20);
+DROP FUNCTION fc;
+INSERT INTO tt_1(ddl_case) VALUES (19);
+CREATE PROCEDURE pc () UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
+INSERT INTO tt_1(ddl_case) VALUES (18);
+ALTER PROCEDURE pc COMMENT 'pc';
+INSERT INTO tt_1(ddl_case) VALUES (17);
+DROP PROCEDURE pc;
+INSERT INTO tt_1(ddl_case) VALUES (16);
+CREATE VIEW v AS SELECT * FROM tt_1;
+INSERT INTO tt_1(ddl_case) VALUES (15);
+ALTER VIEW v AS SELECT * FROM tt_1;
+INSERT INTO tt_1(ddl_case) VALUES (14);
+DROP VIEW v;
+INSERT INTO tt_1(ddl_case) VALUES (13);
+CREATE INDEX ix ON tt_1(ddl_case);
+INSERT INTO tt_1(ddl_case) VALUES (12);
+DROP INDEX ix ON tt_1;
+INSERT INTO tt_1(ddl_case) VALUES (11);
+CREATE TEMPORARY TABLE tt_xx (a int);
+INSERT INTO tt_1(ddl_case) VALUES (10);
+ALTER TABLE tt_xx ADD COLUMN (b int);
+INSERT INTO tt_1(ddl_case) VALUES (9);
+ALTER TABLE tt_xx RENAME new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (8);
+DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (7);
+CREATE TABLE tt_xx (a int);
+INSERT INTO tt_1(ddl_case) VALUES (6);
+ALTER TABLE tt_xx ADD COLUMN (b int);
+INSERT INTO tt_1(ddl_case) VALUES (5);
+RENAME TABLE tt_xx TO new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (4);
+TRUNCATE TABLE new_tt_xx;
+INSERT INTO tt_1(ddl_case) VALUES (3);
+DROP TABLE IF EXISTS tt_xx, new_tt_xx;
+Warnings:
+Note 1051 Unknown table 'test.tt_xx'
+INSERT INTO tt_1(ddl_case) VALUES (2);
+CREATE DATABASE db;
+INSERT INTO tt_1(ddl_case) VALUES (1);
+DROP DATABASE IF EXISTS db;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE tt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = Innodb
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE tt_2 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = Innodb
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE nt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = MyIsam
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES(0)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_2(ddl_case) VALUES(0)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (43)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "LIB"
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (42)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; DROP FUNCTION myfunc_int
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (41)
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (40)
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (39)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; ANALYZE TABLE nt_1
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (38)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (37)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; OPTIMIZE TABLE nt_1
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (36)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; REPAIR TABLE nt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (35);
-LOCK TABLES tt_1 WRITE;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (35)
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (34);
-UNLOCK TABLES;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (34)
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (33);
-CREATE USER 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (33)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE USER 'user'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (32);
-GRANT ALL ON *.* TO 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (32)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; GRANT ALL ON *.* TO 'user'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (31);
-SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpass');
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (31)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; SET PASSWORD FOR 'user'@'localhost'='*D8DECEC305209EEFEC43008E1D420E1AA06B19E0'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (30);
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (30)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (29);
-RENAME USER 'user'@'localhost' TO 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (29)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; RENAME USER 'user'@'localhost' TO 'user_new'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (28);
-DROP USER 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (28)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP USER 'user_new'@'localhost'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (27);
-CREATE EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (27)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (26);
-ALTER EVENT evt COMMENT 'evt';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (26)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER EVENT evt COMMENT 'evt'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (25);
-DROP EVENT evt;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (25)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT evt
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (24);
-CREATE TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (24)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (23);
-DROP TRIGGER tr;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (23)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER tr
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (22);
-CREATE FUNCTION fc () RETURNS VARCHAR(64) RETURN "fc";
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (22)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `fc`() RETURNS varchar(64) CHARSET latin1
RETURN "fc"
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (21);
-ALTER FUNCTION fc COMMENT 'fc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (21)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER FUNCTION fc COMMENT 'fc'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (20);
-DROP FUNCTION fc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (20)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION fc
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (19);
-CREATE PROCEDURE pc () UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (19)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `pc`()
UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (18);
-ALTER PROCEDURE pc COMMENT 'pc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (18)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER PROCEDURE pc COMMENT 'pc'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (17);
-DROP PROCEDURE pc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (17)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE pc
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (16);
-CREATE VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (16)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (15);
-ALTER VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (15)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (14);
-DROP VIEW v;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (14)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW v
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (13);
-CREATE INDEX ix ON tt_1(ddl_case);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (13)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE INDEX ix ON tt_1(ddl_case)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (12);
-DROP INDEX ix ON tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (12)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP INDEX ix ON tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (11);
-CREATE TEMPORARY TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (11)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx (a int)
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (10);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (10)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE tt_xx ADD COLUMN (b int)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (9);
-ALTER TABLE tt_xx RENAME new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (9)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE tt_xx RENAME new_tt_xx
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (8);
-DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (8)
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`new_tt_xx` /* generated by server */
-master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (7);
-CREATE TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (7)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx (a int)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (6);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (6)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE tt_xx ADD COLUMN (b int)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (5);
-RENAME TABLE tt_xx TO new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (5)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; RENAME TABLE tt_xx TO new_tt_xx
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (4);
-TRUNCATE TABLE new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (4)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE new_tt_xx
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (3);
-DROP TABLE IF EXISTS tt_xx, new_tt_xx;
-Warnings:
-Note 1051 Unknown table 'tt_xx'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx`,`new_tt_xx` /* generated by server */
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (2);
-CREATE DATABASE db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (2)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (1);
-DROP DATABASE IF EXISTS db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(ddl_case) VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
+SET AUTOCOMMIT= 1;
###################################################################################
# CHECK CONSISTENCY
###################################################################################
@@ -524,4 +335,7 @@ include/diff_tables.inc [master:tt_1,slave:tt_1]
###################################################################################
# CLEAN
###################################################################################
+DROP TABLE tt_1;
+DROP TABLE tt_2;
+DROP TABLE nt_1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result b/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result
index feedc3d8281..ab6f63845a5 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result
@@ -2,14 +2,15 @@ RESET MASTER;
CREATE TABLE t1 (c1 char(50)) ENGINE=MyISAM;
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1;
LOAD DATA CONCURRENT INFILE '../../std_data/words.dat' INTO TABLE t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (c1 char(50)) ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`) ;file_id=#
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA CONCURRENT INFILE '../../std_data/words.dat' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`) ;file_id=#
master-bin.000001 # Query # # COMMIT
@@ -43,8 +44,8 @@ drop table t3;
create table t1(a int, b int, unique(b));
insert into t1 values(1,10);
load data CONCURRENT infile '../../std_data/rpl_loaddata.dat' into table t1;
-call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062");
-call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0");
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* error.* 1062");
+call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*error.* 0");
include/wait_for_slave_sql_error_and_skip.inc [errno=1062]
include/check_slave_no_error.inc
set sql_log_bin=0;
diff --git a/mysql-test/suite/rpl/r/rpl_stm_log.result b/mysql-test/suite/rpl/r/rpl_stm_log.result
index 3bb3f347a43..4d187095d17 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_log.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_log.result
@@ -6,6 +6,8 @@ reset master;
reset slave;
start slave;
include/wait_for_slave_to_start.inc
+set @save_slave_ddl_exec_mode=@@global.slave_ddl_exec_mode;
+set @@global.slave_ddl_exec_mode=STRICT;
create table t1(n int not null auto_increment primary key)ENGINE=MyISAM;
insert into t1 values (NULL);
drop table t1;
@@ -14,29 +16,34 @@ load data infile 'LOAD_FILE' into table t1 ignore 1 lines;
select count(*) from t1;
count(*)
69
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES (`word`) ;file_id=#
master-bin.000001 # Query # # COMMIT
-show binlog events from <binlog_start> limit 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-show binlog events from <binlog_start> limit 2;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
-show binlog events from <binlog_start> limit 1,4;
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL)
master-bin.000001 # Query # # COMMIT
@@ -189,25 +196,30 @@ include/stop_slave.inc
include/start_slave.inc
create table t2 (n int)ENGINE=MyISAM;
insert into t2 values (1);
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL)
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES (`word`) ;file_id=#
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
-show binlog events in 'master-bin.000002' from <binlog_start>;
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; create table t3 (a int)ENGINE=MyISAM
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=MyISAM
-master-bin.000002 # Query # # BEGIN
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
master-bin.000002 # Query # # use `test`; insert into t2 values (1)
master-bin.000002 # Query # # COMMIT
show binary logs;
@@ -218,25 +230,30 @@ show binary logs;
Log_name File_size
slave-bin.000001 #
slave-bin.000002 #
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Intvar # # INSERT_ID=1
slave-bin.000001 # Query # # use `test`; insert into t1 values (NULL)
slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
-slave-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../tmp/SQL_LOAD-2-1-1.data' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES (`word`) ;file_id=#
+slave-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../tmp/SQL_LOAD-<SERVER UUID>-<MASTER server-id>-<file-id>.<extension>' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES (`word`) ;file_id=#
slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t3 (a int)ENGINE=MyISAM
-slave-bin.000001 # Rotate # # slave-bin.000002;pos=4
-show binlog events in 'slave-bin.000002' from <binlog_start>;
+slave-bin.000001 # Rotate # # slave-bin.000002;pos=POS
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000002 # Gtid # # GTID #-#-#
slave-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=MyISAM
-slave-bin.000002 # Query # # BEGIN
+slave-bin.000002 # Gtid # # BEGIN GTID #-#-#
slave-bin.000002 # Query # # use `test`; insert into t2 values (1)
slave-bin.000002 # Query # # COMMIT
include/check_slave_is_running.inc
@@ -250,14 +267,15 @@ create table t1(a int auto_increment primary key, b int);
insert into t1 values (NULL, 1);
set insert_id=5;
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1(a int auto_increment primary key, b int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL, 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Intvar # # LAST_INSERT_ID=1
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id())
@@ -268,4 +286,5 @@ a b
5 1
6 1
drop table t1;
+set @@global.slave_ddl_exec_mode=@save_slave_ddl_exec_mode;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_maria.result b/mysql-test/suite/rpl/r/rpl_stm_maria.result
index 08d202b61c0..7a9dfcd6061 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_maria.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_maria.result
@@ -39,7 +39,7 @@ select a,name, old_a, old_b, truncate(rand_value,4) from t3;
a name old_a old_b truncate(rand_value,4)
100 log 0 0 0.0000
101 t1 1 1 0.3203
-102 t1 0 2 0.5666
+102 t1 NULL 2 0.5666
103 t2 1 2 0.9164
104 t2 3 0 0.8826
105 t2 4 0 0.6635
diff --git a/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result b/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result
index 379cea4d3fc..88d68bb50ee 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result
@@ -10,7 +10,7 @@ reset slave;
#
# Test 1
#
-set @my_max_binlog_size= @@global.max_binlog_size;
+set @my_max_binlog_size= @@global.max_binlog_size, @my_max_relay_log_size=@@global.max_relay_log_size;
set global max_binlog_size=8192;
set global max_relay_log_size=8192-1;
Warnings:
@@ -36,8 +36,10 @@ include/check_slave_is_running.inc
stop slave;
reset slave;
set global max_relay_log_size=0;
+Warnings:
+Warning 1292 Truncated incorrect max_relay_log_size value: '0'
select @@global.max_relay_log_size;
-@@global.max_relay_log_size 0
+@@global.max_relay_log_size 4096
start slave;
include/check_slave_is_running.inc
#
@@ -65,6 +67,7 @@ show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000002 # <Binlog_Do_DB> <Binlog_Ignore_DB>
set global max_binlog_size= @my_max_binlog_size;
+set global max_relay_log_size= @my_max_relay_log_size;
#
# End of 4.1 tests
#
diff --git a/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result b/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result
index f706fa0fe75..69e144b5cd1 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result
@@ -6,177 +6,203 @@ INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
******** [master] SHOW BINLOG EVENTS IN <FILE> ********
-show binlog events in 'master-bin.000001' from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Query # # COMMIT
-******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
-show binlog events in 'master-bin.000001' from <binlog_start> limit 1;
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show binlog events in 'master-bin.000001' from <binlog_start> limit 1,3;
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Query # # COMMIT
******** [master] SHOW BINLOG EVENTS ********
-show binlog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Query # # COMMIT
******** [slave] SHOW BINLOG EVENTS IN <FILE> ********
-show binlog events in 'slave-bin.000001' from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
slave-bin.000001 # Query # # COMMIT
-******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
-show binlog events in 'slave-bin.000001' from <binlog_start> limit 1;
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show binlog events in 'slave-bin.000001' from <binlog_start> limit 1,3;
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
slave-bin.000001 # Query # # COMMIT
******** [slave] SHOW BINLOG EVENTS ********
-show binlog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
slave-bin.000001 # Query # # COMMIT
******** [slave] SHOW RELAYLOG EVENTS IN <FILE> ********
-show relaylog events in 'slave-relay-bin.000003' from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000003 # Rotate # # master-bin.000001;pos=4
-slave-relay-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000003 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Query # # use `test`; INSERT INTO t1 VALUES (1)
-slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Query # # use `test`; INSERT INTO t1 VALUES (2)
-slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Query # # use `test`; INSERT INTO t1 VALUES (3)
-slave-relay-bin.000003 # Query # # COMMIT
-******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1 ********
-show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000003 # Rotate # # master-bin.000001;pos=4
-******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 1,3;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000003 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-relay-bin.000003 # Query # # BEGIN
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000002 # Rotate # # master-bin.000001;pos=POS
+slave-relay-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+slave-relay-bin.000002 # Gtid_list # # []
+slave-relay-bin.000002 # Binlog_checkpoint # # master-bin.000001
+slave-relay-bin.000002 # Gtid # # GTID #-#-#
+slave-relay-bin.000002 # Query # # use `test`; CREATE TABLE t1 (a INT)
+slave-relay-bin.000002 # Gtid # # BEGIN GTID #-#-#
+slave-relay-bin.000002 # Query # # use `test`; INSERT INTO t1 VALUES (1)
+slave-relay-bin.000002 # Query # # COMMIT
+slave-relay-bin.000002 # Gtid # # BEGIN GTID #-#-#
+slave-relay-bin.000002 # Query # # use `test`; INSERT INTO t1 VALUES (2)
+slave-relay-bin.000002 # Query # # COMMIT
+slave-relay-bin.000002 # Gtid # # BEGIN GTID #-#-#
+slave-relay-bin.000002 # Query # # use `test`; INSERT INTO t1 VALUES (3)
+slave-relay-bin.000002 # Query # # COMMIT
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000002 # Rotate # # master-bin.000001;pos=POS
+slave-relay-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000002 # Gtid_list # # []
+slave-relay-bin.000002 # Binlog_checkpoint # # master-bin.000001
+slave-relay-bin.000002 # Gtid # # GTID #-#-#
******** [slave] SHOW RELAYLOG EVENTS ********
-show relaylog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000002 # Rotate # # slave-relay-bin.000003;pos=4
+slave-relay-bin.000001 # Rotate # # slave-relay-bin.000002;pos=POS
FLUSH LOGS;
FLUSH LOGS;
DROP TABLE t1;
******** [master] SHOW BINLOG EVENTS IN <FILE> ********
-show binlog events in 'master-bin.000002' from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Binlog_checkpoint # # master-bin.000002
+master-bin.000002 # Gtid # # GTID #-#-#
master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
-show binlog events in 'master-bin.000002' from <binlog_start> limit 1;
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show binlog events in 'master-bin.000002' from <binlog_start> limit 1,3;
+master-bin.000002 # Binlog_checkpoint # # master-bin.000002
+master-bin.000002 # Gtid # # GTID #-#-#
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
******** [master] SHOW BINLOG EVENTS ********
-show binlog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
******** [slave] SHOW BINLOG EVENTS IN <FILE> ********
-show binlog events in 'slave-bin.000002' from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
-show binlog events in 'slave-bin.000002' from <binlog_start> limit 1;
+slave-bin.000002 # Binlog_checkpoint # # slave-bin.000002
+slave-bin.000002 # Gtid # # GTID #-#-#
+slave-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show binlog events in 'slave-bin.000002' from <binlog_start> limit 1,3;
+slave-bin.000002 # Binlog_checkpoint # # slave-bin.000002
+slave-bin.000002 # Gtid # # GTID #-#-#
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
******** [slave] SHOW BINLOG EVENTS ********
-show binlog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Rotate # # slave-bin.000002;pos=4
+slave-bin.000001 # Rotate # # slave-bin.000002;pos=POS
******** [slave] SHOW RELAYLOG EVENTS IN <FILE> ********
-show relaylog events in 'slave-relay-bin.000006' from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000006 # Rotate # # master-bin.000002;pos=4
-slave-relay-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000006 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1 ********
-show relaylog events in 'slave-relay-bin.000006' from <binlog_start> limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000006 # Rotate # # master-bin.000002;pos=4
-******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1,3 ********
-show relaylog events in 'slave-relay-bin.000006' from <binlog_start> limit 1,3;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000006 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=POS
+slave-relay-bin.000005 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+slave-relay-bin.000005 # Gtid_list # # [#-#-#]
+slave-relay-bin.000005 # Binlog_checkpoint # # master-bin.000001
+slave-relay-bin.000005 # Binlog_checkpoint # # master-bin.000002
+slave-relay-bin.000005 # Gtid # # GTID #-#-#
+slave-relay-bin.000005 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 2 ********
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=POS
+slave-relay-bin.000005 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 2,3 ********
+include/show_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000005 # Gtid_list # # [#-#-#]
+slave-relay-bin.000005 # Binlog_checkpoint # # master-bin.000001
+slave-relay-bin.000005 # Binlog_checkpoint # # master-bin.000002
******** [slave] SHOW RELAYLOG EVENTS ********
-show relaylog events from <binlog_start>;
+include/show_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=4
-slave-relay-bin.000005 # Rotate # # slave-relay-bin.000006;pos=4
+slave-relay-bin.000004 # Rotate # # master-bin.000002;pos=POS
+slave-relay-bin.000004 # Rotate # # slave-relay-bin.000005;pos=POS
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result
index 04c53413377..1cf49b30fcd 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result
@@ -4,8 +4,7 @@ include/master-slave.inc
# CONFIGURATION
#########################################################################
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-SET @commands= 'configure';
-SET SQL_LOG_BIN=0;
+rpl_mixing_engines.inc [commands=configure]
CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
@@ -18,21 +17,6 @@ CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(tran
CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
-SET SQL_LOG_BIN=0;
-CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE nt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
-CREATE TABLE tt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = Innodb;
-SET SQL_LOG_BIN=1;
INSERT INTO nt_1(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_2(trans_id, stmt_id) VALUES(1,1);
INSERT INTO nt_3(trans_id, stmt_id) VALUES(1,1);
@@ -79,6 +63,17 @@ INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
RETURN "fc_i_nt_5_suc";
END|
+CREATE FUNCTION fc_i_nt_3_tt_3_suc (p_trans_id INTEGER, p_stmt_id INTEGER) RETURNS VARCHAR(64)
+BEGIN
+DECLARE in_stmt_id INTEGER;
+SELECT max(stmt_id) INTO in_stmt_id FROM nt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO nt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+SELECT max(stmt_id) INTO in_stmt_id FROM tt_3 WHERE trans_id= p_trans_id;
+SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
+INSERT INTO tt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
+RETURN "fc_i_nt_3_tt_3_suc";
+END|
CREATE TRIGGER tr_i_tt_3_to_nt_3 AFTER INSERT ON tt_3 FOR EACH ROW
BEGIN
DECLARE in_stmt_id INTEGER;
@@ -111,7 +106,6 @@ SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id), 1) INTO in_stmt_id;
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
END|
-SET @commands= '';
#########################################################################
# 1 - MIXING TRANSACTIONAL and NON-TRANSACTIONAL TABLES
#########################################################################
@@ -125,67 +119,78 @@ SET @commands= '';
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
-SET @commands= 'T';
+rpl_mixing_engines.inc [commands=T]
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (8, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-func]
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (9, 1);
fc_i_tt_5_suc (9, 1)
fc_i_tt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(9,1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(9,1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=T-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (10, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Xid # # COMMIT /* XID */
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',10), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -200,40 +205,44 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=eT]
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te]
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (12, 1), (7, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (13, 1), (10, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Te-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (14, 1, ''), (7, 1, fc_i_tt_5_suc (14, 1));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -246,66 +255,78 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=N]
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (16, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-func]
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (17, 1);
fc_i_nt_5_suc (17, 1)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(17,1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(17,1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=N-proc]
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (18, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',18), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -320,56 +341,66 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format S.
#
+rpl_mixing_engines.inc [commands=eN]
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (15, 1);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (20, 1), (15, 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (21, 1), (18, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=Ne-func]
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (22, 1, ''), (20, 1, fc_i_nt_5_suc (22, 1))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -385,114 +416,138 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N T B T C" entries, format R.
# --> MIXED "B N T B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=tN]
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nT]
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 24, 1, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT]
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 25 --> 1", tt_3.info= "new text 25 --> 1" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (26, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (27, 1, fc_i_tt_5_suc(27, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN]
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 28 --> 1", nt_4.info= "new text 28 --> 1" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (29, 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1));
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (30, 1, fc_i_nt_5_suc(30, 1))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -507,86 +562,102 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> STMT "B M R" entries, format S.
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
+rpl_mixing_engines.inc [commands=tNe]
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 31, 1, COUNT(*) FROM tt_1 UNION SELECT 23, 1, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=nTe]
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 32, 1, COUNT(*) FROM nt_1 UNION SELECT 24, 1, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (33, 1), (26, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=NeT-func]
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (34, 1, ''), (30, 2, fc_i_tt_5_suc (34, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-trig]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (35, 1), (29, 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=TeN-func]
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (36, 1, ''), (30, 1, fc_i_nt_5_suc (36, 1))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -601,470 +672,517 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B T T C" entries, format R.
# --> MIXED "B T T C" entries, format S
#
+rpl_mixing_engines.inc [commands=B T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (37, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (38, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (38, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (39, 4);
fc_i_tt_5_suc (39, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(39,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (39, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(39,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (40, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (40, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',40), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (41, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (41, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (42, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (43, 4);
fc_i_tt_5_suc (43, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(43,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (43, 2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(43,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (44, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (44, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',44), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (45, 2);
fc_i_tt_5_suc (45, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(45,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(45,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (45, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (46, 2);
fc_i_tt_5_suc (46, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(46,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(46,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (46, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 2);
fc_i_tt_5_suc (47, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (47, 4);
fc_i_tt_5_suc (47, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,2)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(47,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (48, 2);
fc_i_tt_5_suc (48, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (48, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(48,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(48,2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',48), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (49, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',49), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (49, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (50, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',50), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (50, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (51, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (51, 4);
fc_i_tt_5_suc (51, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(51,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',51), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(51,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (52, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',4))
@@ -1072,8 +1190,9 @@ master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VA
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',52), NAME_CONST('in_stmt_id',4))
@@ -1091,218 +1210,242 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B T C" entries, format R.
# --> MIXED "B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B T eT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (53, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 4), (54, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (54, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (55, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (55, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (56, 4, ''), (56, 2, fc_i_tt_5_suc (56, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (56, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (57, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 2), (57, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (58, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (59, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (59, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (60, 2, ''), (59, 4, fc_i_tt_5_suc (60, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1317,340 +1460,356 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (61, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (62, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (62, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (63, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (63, 4);
fc_i_tt_5_suc (63, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (64, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (64, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (65, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (65, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (66, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (67, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (67, 4);
fc_i_tt_5_suc (67, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (68, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (68, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (69, 2);
fc_i_tt_5_suc (69, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (69, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (70, 2);
fc_i_tt_5_suc (70, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (70, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 2);
fc_i_tt_5_suc (71, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (71, 4);
fc_i_tt_5_suc (71, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (72, 2);
fc_i_tt_5_suc (72, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (72, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (73, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (73, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (74, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (74, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (75, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (75, 4);
fc_i_tt_5_suc (75, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (76, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1663,172 +1822,180 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW empty.
# --> MIXED empty.
#
+rpl_mixing_engines.inc [commands=B T eT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (77, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (78, 4), (78, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (79, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (79, 4), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-trig R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Te-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (80, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (80, 4, ''), (80, 2, fc_i_tt_5_suc (80, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Te-func R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T Te-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (81, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B eT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 2), (60, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (82, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (83, 2), (52, 5);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (83, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) VALUES (84, 2, ''), (60, 4, fc_i_tt_5_suc (84, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (84, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te-func T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B Te-func T R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1841,78 +2008,88 @@ Log_name Pos Event_type Server_id End_log_pos Info
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (85, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (86, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (86, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -1920,135 +2097,151 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (87, 4);
fc_i_nt_5_suc (87, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(87,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (87, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(87,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (88, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (88, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',88), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (89, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (89, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (90, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2056,141 +2249,157 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (91, 4);
fc_i_nt_5_suc (91, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(91,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (91, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(91,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (92, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (92, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',92), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (93, 2);
fc_i_nt_5_suc (93, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(93,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(93,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (93, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (94, 2);
fc_i_nt_5_suc (94, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(94,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(94,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (94, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (95, 2);
fc_i_nt_5_suc (95, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2198,152 +2407,168 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (95, 4);
fc_i_nt_5_suc (95, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(95,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (96, 2);
fc_i_nt_5_suc (96, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(96,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (96, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(96,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',96), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (97, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',97), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (97, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (98, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',98), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (98, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (99, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2351,68 +2576,74 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (99, 4);
fc_i_nt_5_suc (99, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(99,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',99), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(99,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (100, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',100), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2427,254 +2658,284 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (101, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (102, 4), (102, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (103, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (103, 4), (100, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (104, 4, ''), (104, 2, fc_i_nt_5_suc (104, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (104, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 2), (105, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (106, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (107, 2), (104, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (107, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (108, 2, ''), (107, 4, fc_i_nt_5_suc (108, 2))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (108, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2689,82 +2950,92 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (109, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (110, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (110, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2772,143 +3043,159 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (111, 4);
fc_i_nt_5_suc (111, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(111,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (111, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(111,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (112, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (112, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',112), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (113, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (113, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (114, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -2916,149 +3203,165 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (115, 4);
fc_i_nt_5_suc (115, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(115,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (115, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(115,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (116, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (116, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',116), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (117, 2);
fc_i_nt_5_suc (117, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(117,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(117,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (117, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (118, 2);
fc_i_nt_5_suc (118, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(118,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(118,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (118, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (119, 2);
fc_i_nt_5_suc (119, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3066,160 +3369,176 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (119, 4);
fc_i_nt_5_suc (119, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(119,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (120, 2);
fc_i_nt_5_suc (120, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(120,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (120, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(120,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',120), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (121, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',121), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (121, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (122, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',122), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (122, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (123, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3227,72 +3546,78 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_nt_5_suc (123, 4);
fc_i_nt_5_suc (123, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(123,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',123), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(123,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (124, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',124), NAME_CONST('in_stmt_id',4) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3307,270 +3632,300 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N eN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (125, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (126, 4), (126, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (127, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (127, 4), (124, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N Ne-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N Ne-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (128, 4, ''), (128, 2, fc_i_nt_5_suc (128, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N Ne-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B eN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (128, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 2), (129, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (130, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (131, 2), (128, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (131, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Ne-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2));
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Ne-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) VALUES (132, 2, ''), (131, 4, fc_i_nt_5_suc (132, 2))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (132, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Ne-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -3585,561 +3940,625 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B T N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (133, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (133, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (134, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (134, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (135, 4);
fc_i_nt_5_suc (135, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(135,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(135,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (135, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (136, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',136), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (137, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (137, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (138, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (138, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (139, 4);
fc_i_nt_5_suc (139, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(139,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(139,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (139, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (140, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',140), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (140, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (141, 2);
fc_i_tt_5_suc (141, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(141,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (141, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(141,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (142, 2);
fc_i_tt_5_suc (142, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(142,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (142, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(142,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (143, 2);
fc_i_tt_5_suc (143, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (143, 4);
fc_i_nt_5_suc (143, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(143,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(143,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(143,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(143,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (144, 2);
fc_i_tt_5_suc (144, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (144, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(144,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',144), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(144,2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (145, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (145, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',145), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (146, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (146, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',146), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (147, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (147, 4);
fc_i_nt_5_suc (147, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(147,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(147,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',147), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (148, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (148, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',148), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -4159,116 +4578,129 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format R in N and S in T.
#
+rpl_mixing_engines.inc [commands=B eT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (149, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (150, 2), (136, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (150, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (151, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (152, 4), (150, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -4283,593 +4715,657 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (153, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (153, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (154, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (154, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (155, 4);
fc_i_nt_5_suc (155, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(155,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(155,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (155, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (156, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',156), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (156, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (157, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (157, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (158, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (158, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (159, 4);
fc_i_nt_5_suc (159, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(159,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(159,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (159, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-trig N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (160, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-trig N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',160), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (160, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-trig N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (161, 2);
fc_i_tt_5_suc (161, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(161,2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (161, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(161,2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (162, 2);
fc_i_tt_5_suc (162, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(162,2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (162, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(162,2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (163, 2);
fc_i_tt_5_suc (163, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (163, 4);
fc_i_nt_5_suc (163, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(163,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(163,2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(163,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(163,2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-func N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_tt_5_suc (164, 2);
fc_i_tt_5_suc (164, 2)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (164, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(164,2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-func N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',164), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(164,2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-func N-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (165, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',165), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',165), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (165, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',165), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',165), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (166, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',166), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',166), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (166, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',166), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',166), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (167, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (167, 4);
fc_i_nt_5_suc (167, 4)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(167,4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',167), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',167), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(167,4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',167), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',167), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T-proc N-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T-proc N-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (168, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (168, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T-proc N-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',168), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
@@ -4889,116 +5385,127 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B eT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B eT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (169, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B eT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B Te N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Te << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (170, 2), (152, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> Te << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B Te N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B Te N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T eN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (171, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> eN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (170, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> eN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T eN R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T eN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Ne R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> Ne << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4);
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> Ne << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T Ne R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (172, 4), (170, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (172, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T Ne R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5013,78 +5520,88 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B T C" entries, format R.
# --> MIXED "B N C B T C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (173, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (173, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (174, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (174, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5092,131 +5609,147 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (175, 4);
fc_i_tt_5_suc (175, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(175,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (175, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(175,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (176, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (176, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',176), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (177, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (177, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (178, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (178, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5224,137 +5757,153 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (179, 4);
fc_i_tt_5_suc (179, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(179,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (179, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(179,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (180, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (180, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',180), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (181, 2);
fc_i_nt_5_suc (181, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(181,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(181,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (181, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (182, 2);
fc_i_nt_5_suc (182, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(182,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(182,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (182, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (183, 2);
fc_i_nt_5_suc (183, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(183,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5362,148 +5911,164 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (183, 4);
fc_i_tt_5_suc (183, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(183,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(183,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(183,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (184, 2);
fc_i_nt_5_suc (184, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(184,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (184, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(184,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',184), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (185, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',185), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (185, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (186, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',186), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (186, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (187, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5511,63 +6076,69 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (187, 4);
fc_i_tt_5_suc (187, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(187,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',187), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(187,4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (188, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (188, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',188), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -5583,118 +6154,132 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entries, format R.
# --> MIXED "B N C" entries, format S.
#
+rpl_mixing_engines.inc [commands=B N T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (189, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (189, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (190, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',190), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',190), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (190, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',190), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',190), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (191, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (191, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5702,103 +6287,115 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (192, 4);
fc_i_tt_5_suc (192, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(192,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (192, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(192,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (193, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (193, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (194, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (194, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5806,145 +6403,161 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (195, 4);
fc_i_tt_5_suc (195, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(195,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (195, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(195,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-trig T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (196, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',196), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',196), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-trig T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES (196, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',196), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',196), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-trig T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (197, 2);
fc_i_nt_5_suc (197, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(197,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(197,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (197, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (198, 2);
fc_i_nt_5_suc (198, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(198,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(198,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (198, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (199, 2);
fc_i_nt_5_suc (199, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(199,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
@@ -5952,198 +6565,218 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (199, 4);
fc_i_tt_5_suc (199, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(199,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(199,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(199,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-func T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-func << -b-b-b-b-b-b-b-b-b-b-b-
SELECT fc_i_nt_5_suc (200, 2);
fc_i_nt_5_suc (200, 2)
fc_i_nt_5_suc
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(200,2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (200, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',200), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',200), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-func T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(200,2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',200), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',200), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-func T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (201, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',201), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (201, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-proc R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (202, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_tt_5_suc (202, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-proc R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',202), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-proc R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (203, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',203), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id) VALUES (203, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N-proc T-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N-proc << -b-b-b-b-b-b-b-b-b-b-b-
CALL pc_i_nt_5_suc (204, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N-proc << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6151,26 +6784,28 @@ master-bin.000001 # Query # # COMMIT
SELECT fc_i_tt_5_suc (204, 4);
fc_i_tt_5_suc (204, 4)
fc_i_tt_5_suc
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(204,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N-proc T-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1))
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id) VALUES ( NAME_CONST('p_trans_id',204), NAME_CONST('in_stmt_id',1) + 1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(204,4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N-proc T-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -6186,243 +6821,268 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (205, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 206, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (206, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 207 --> 2", tt_3.info= "new text 207 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (207, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (208, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (208, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (209, 2, fc_i_tt_5_suc(209, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (209, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 210 --> 2", nt_4.info= "new text 210 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (210, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (211, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (212, 2, fc_i_nt_5_suc(212, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (212, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -6439,177 +7099,196 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B tNe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 213, 2, COUNT(*) FROM tt_1 UNION SELECT 205, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (213, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 214, 2, COUNT(*) FROM nt_1 UNION SELECT 213, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (214, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (215, 2), (208, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (215, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (216, 2, ''), (212, 2, fc_i_tt_5_suc (216, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (216, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (217, 2), (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (217, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (218, 2, ''), (212, 2, fc_i_nt_5_suc (218, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (218, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -6626,249 +7305,272 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (219, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 220, 2, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (220, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 221 --> 2", tt_3.info= "new text 221 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (221, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (222, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (222, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (223, 2, fc_i_tt_5_suc(223, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (223, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 224 --> 2", nt_4.info= "new text 224 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (224, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TN T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (225, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (225, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (226, 2, fc_i_nt_5_suc(226, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (226, 4)
master-bin.000001 # Query # # ROLLBACK
@@ -6885,181 +7587,198 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B tNe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 227, 2, COUNT(*) FROM tt_1 UNION SELECT 219, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (227, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 228, 2, COUNT(*) FROM nt_1 UNION SELECT 218, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (228, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe T R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (229, 2), (222, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (229, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (230, 2, ''), (226, 2, fc_i_tt_5_suc (230, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (230, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (231, 2), (211, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (231, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (232, 2, ''), (212, 2, fc_i_nt_5_suc (232, 2))
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (232, 4)
master-bin.000001 # Query # # ROLLBACK
@@ -7075,241 +7794,265 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B T T C" entries, format R.
# --> MIXED "B N C B T T C" entries, format R in N/T and format S in T.
#
+rpl_mixing_engines.inc [commands=B T tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (233, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 233, 4, COUNT(*) FROM tt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (234, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 234, 4, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2)
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (235, 2)
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 235 --> 4", tt_3.info= "new text 235 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (236, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (236, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (237, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (237, 4, fc_i_tt_5_suc(237, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2)
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (238, 2)
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 238 --> 4", nt_4.info= "new text 238 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (239, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (239, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (240, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (240, 4, fc_i_nt_5_suc(240, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -7325,173 +8068,191 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B T C" entry, format R.
# --> MIXED "B N C B T C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (241, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 241, 4, COUNT(*) FROM tt_1 UNION SELECT 233, 4, COUNT(*) FROM tt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 242, 4, COUNT(*) FROM nt_1 UNION SELECT 242, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (242, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (243, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (243, 4), (236, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (244, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (244, 4, ''), (240, 2, fc_i_tt_5_suc (244, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (245, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (245, 4), (239, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (246, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (246, 4, ''), (240, 4, fc_i_nt_5_suc (246, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -7507,247 +8268,269 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (247, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 247, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (248, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 248, 4, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nT R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2)
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (249, 2)
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 249 --> 4", tt_3.info= "new text 249 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (250, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (250, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (251, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (251, 4, fc_i_tt_5_suc(251, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2)
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (252, 2)
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 252 --> 4", nt_4.info= "new text 252 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (253, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (253, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (254, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (254, 4, fc_i_nt_5_suc(254, 4))
master-bin.000001 # Query # # ROLLBACK
@@ -7763,177 +8546,193 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C" entry, format R.
# --> MIXED "B N C" entry, format R.
#
+rpl_mixing_engines.inc [commands=B T tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (255, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 255, 4, COUNT(*) FROM tt_1 UNION SELECT 247, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (256, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 256, 4, COUNT(*) FROM nt_1 UNION SELECT 256, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T nTe R << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B T nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (257, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (257, 4), (250, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (258, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (258, 4, ''), (254, 2, fc_i_tt_5_suc (258, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (259, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (259, 4), (239, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (260, 2)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (260, 4, ''), (240, 4, fc_i_nt_5_suc (260, 4))
master-bin.000001 # Query # # ROLLBACK
@@ -7951,272 +8750,304 @@ master-bin.000001 # Query # # ROLLBACK
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 261, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (261, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (262, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 262, 2, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (263, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 263 --> 2", tt_3.info= "new text 263 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (264, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (264, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (265, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (265, 2, fc_i_tt_5_suc(265, 2))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (266, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 266 --> 2", nt_4.info= "new text 266 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (267, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (267, 2)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (268, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (268, 2, fc_i_nt_5_suc(268, 2))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8233,194 +9064,217 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C B T C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 269, 2, COUNT(*) FROM tt_1 UNION SELECT 268, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (269, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 270, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (270, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (271, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (271, 2), (264, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (272, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (272, 2, ''), (268, 2, fc_i_tt_5_suc (272, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (273, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (273, 2), (267, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (274, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (274, 2, ''), (268, 2, fc_i_nt_5_suc (274, 2))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8437,288 +9291,320 @@ master-bin.000001 # Query # # COMMIT
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 275, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (275, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nT << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (276, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 276, 2, COUNT(*) FROM nt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B nT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (277, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 277 --> 2", tt_3.info= "new text 277 --> 2" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (278, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (278, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (279, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (279, 2, fc_i_tt_5_suc(279, 2))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN << -b-b-b-b-b-b-b-b-b-b-b-
UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (280, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 280 --> 2", nt_4.info= "new text 280 --> 2" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TN N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (281, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (281, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (282, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (282, 2, fc_i_nt_5_suc(282, 2))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8735,206 +9621,229 @@ master-bin.000001 # Query # # ROLLBACK
# --> MIXED "B M C B N C" entries if in M only N-Table is changed, format S.
# --> MIXED "B N C B N C" entries, format R.
#
+rpl_mixing_engines.inc [commands=B tNe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tNe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 283, 2, COUNT(*) FROM tt_1 UNION SELECT 282, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (283, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B tNe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B nTe N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 284, 2, COUNT(*) FROM nt_1 UNION SELECT 262, 2, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B nTe N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (284, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B nTe N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (285, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (285, 2), (278, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B NeT-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B NeT-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (286, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (286, 2, ''), (282, 2, fc_i_tt_5_suc (286, 2))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B NeT-func N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-trig N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-trig N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (287, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (287, 2), (267, 2)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-trig N R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B TeN-func N R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B TeN-func N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (288, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (288, 2, ''), (268, 2, fc_i_nt_5_suc (288, 2))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B TeN-func N R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8950,46 +9859,52 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B N C B T C" entries, format R.
# --> MIXED "B N C B N C B T C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (289, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 289, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -8997,33 +9912,37 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (290, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 290, 4, COUNT(*) FROM nt_1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9031,33 +9950,37 @@ master-bin.000001 # Query # # COMMIT
UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (291, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 291 --> 4", tt_3.info= "new text 291 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9065,33 +9988,37 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (292, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (292, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9099,33 +10026,37 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (293, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (293, 4, fc_i_tt_5_suc(293, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9133,33 +10064,37 @@ master-bin.000001 # Query # # COMMIT
UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (294, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 294 --> 4", nt_4.info= "new text 294 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9167,33 +10102,37 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (295, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (295, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9201,21 +10140,23 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (296, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (296, 4, fc_i_nt_5_suc(296, 4))
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9231,194 +10172,217 @@ master-bin.000001 # Xid # # COMMIT /* XID */
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (297, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 297, 4, COUNT(*) FROM tt_1 UNION SELECT 297, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 298, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (298, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (299, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (299, 4), (292, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (300, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (300, 4, ''), (296, 2, fc_i_tt_5_suc (300, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (301, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (301, 4), (295, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (302, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (302, 4, ''), (296, 4, fc_i_nt_5_suc (302, 4))
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func C << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9434,48 +10398,54 @@ master-bin.000001 # Query # # COMMIT
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (303, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 303, 4, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9483,35 +10453,39 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (304, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 304, 4, COUNT(*) FROM nt_1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N nT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9519,35 +10493,39 @@ master-bin.000001 # Query # # COMMIT
UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (305, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE nt_3, tt_3 SET nt_3.info= "new text 305 --> 4", tt_3.info= "new text 305 --> 4" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9555,35 +10533,39 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (306, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (306, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9591,35 +10573,39 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (307, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (307, 4, fc_i_tt_5_suc(307, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9627,35 +10613,39 @@ master-bin.000001 # Query # # COMMIT
UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (308, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE tt_4, nt_4 SET tt_4.info= "new text 308 --> 4", nt_4.info= "new text 308 --> 4" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9663,35 +10653,39 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4);
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (309, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (309, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9699,23 +10693,25 @@ master-bin.000001 # Query # # COMMIT
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4));
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (310, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (310, 4, fc_i_nt_5_suc(310, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9731,206 +10727,229 @@ master-bin.000001 # Query # # ROLLBACK
# --> ROW "B N C B N C" entries, format R.
# --> MIXED "B N C B N C" entries, format S in first N and format R in the other.
#
+rpl_mixing_engines.inc [commands=B N tNe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tNe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tNe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N tNe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (311, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 311, 4, COUNT(*) FROM tt_1 UNION SELECT 311, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N tNe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N nTe R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> nTe << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id, info) SELECT 312, 4, COUNT(*) FROM nt_1 UNION SELECT 290, 4, COUNT(*) FROM nt_1;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> nTe << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N nTe R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (312, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> B N nTe R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (313, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4(trans_id, stmt_id) VALUES (313, 4), (306, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N NeT-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> NeT-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> NeT-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N NeT-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (314, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_5(trans_id, stmt_id, info) VALUES (314, 4, ''), (310, 2, fc_i_tt_5_suc (314, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N NeT-func R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-trig R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-trig << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4);
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-trig << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-trig R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (315, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3(trans_id, stmt_id) VALUES (315, 4), (295, 4)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-trig R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N TeN-func R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> TeN-func << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4));
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> TeN-func << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N TeN-func R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (316, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_5(trans_id, stmt_id, info) VALUES (316, 4, ''), (296, 4, fc_i_nt_5_suc (316, 4))
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N TeN-func R << -e-e-e-e-e-e-e-e-e-e-e-
@@ -9938,1330 +10957,1957 @@ master-bin.000001 # Query # # ROLLBACK
###################################################################################
# 2 - SAVEPOINT
###################################################################################
+rpl_mixing_engines.inc [commands=B T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2)
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (317, 2)
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N T Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B N T S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B N T Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (318, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 4)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (318, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B N T S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B N T Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T N Sn T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T N S1 T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T N Sn T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (319, 4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (319, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T N S1 T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T N Sn T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn N T Rn C]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 N T R1 C << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn N T Rn C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (320, 5)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (320, 7)
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Xid # # COMMIT /* XID */
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 N T R1 C << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn N T Rn C << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 3 - CREATE TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CSe-T->T CS-T->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_1, nt_xx_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->T CS-T->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_1 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_1`,`nt_xx_1` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->T CS-T->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->N CS-N->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_2, nt_xx_2;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->N CS-N->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_2 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_2`,`nt_xx_2` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->N CS-N->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-T->N CS-T->N drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY (stmt_id)) engine=Innodb SELECT stmt_id FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_3, nt_xx_3;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-T->N CS-T->N drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_3 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM nt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_3`,`nt_xx_3` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-T->N CS-T->N drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_4, nt_xx_4;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_4 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_4`,`nt_xx_4` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_5, nt_xx_5;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_5 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_5`,`nt_xx_5` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CSe-N->T CS-N->T drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_6, nt_xx_6;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CSe-N->T CS-N->T drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_6 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_6`,`nt_xx_6` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> CSe-N->T CS-N->T drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 4 - INSERT TABLE...SELECT
###################################################################################
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_7 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (328, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (329, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (330, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_7(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_7
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (331, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_7, nt_xx_7;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_7`,`nt_xx_7` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-T->T]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-T->T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx_8 (PRIMARY KEY(trans_id, stmt_id)) engine=Innodb SELECT * FROM tt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-T->T << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (334, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B T ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B T ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (335, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B T ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B IS-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B IS-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (336, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B IS-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-T B ISe-T<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE tt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-T<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_xx_8(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-T<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-T B ISe-T<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE tt_xx_8
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (337, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-T B ISe-T<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_8, nt_xx_8;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_8`,`nt_xx_8` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_9 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (340, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (341, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (342, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-T T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-T T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_9
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_9(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (343, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-T T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_9, nt_xx_9;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_9`,`nt_xx_9` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=CS-N->N]
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CS-N->N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE nt_xx_10 (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1
-e-e-e-e-e-e-e-e-e-e-e- >> CS-N->N << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (346, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B T ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B T ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 3)
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (347, 6)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B T ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B IS-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> IS-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> IS-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B IS-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (348, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B IS-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=trunc-CS-N B ISe-N<-N T C]
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N << -b-b-b-b-b-b-b-b-b-b-b-
TRUNCATE TABLE nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> ISe-N<-N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;;
Got one of the listed errors
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> ISe-N<-N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
COMMIT;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> trunc-CS-N B ISe-N<-N T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE nt_xx_10
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_10(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (349, 4)
master-bin.000001 # Xid # # COMMIT /* XID */
-e-e-e-e-e-e-e-e-e-e-e- >> trunc-CS-N B ISe-N<-N T C << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CS]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
DROP TABLE IF EXISTS tt_xx_10, nt_xx_10;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CS << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx_10`,`nt_xx_10` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CS << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
# 5 - ROLLBACK TEMPORARY TABLE
###################################################################################
+rpl_mixing_engines.inc [commands=B T CT R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (351, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_11 (a int) engine=Innodb
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_11;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_11` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T Sn T CT Rn R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> S1 << -b-b-b-b-b-b-b-b-b-b-b-
-SAVEPOINT s1;
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> S1 << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> Sn << -b-b-b-b-b-b-b-b-b-b-b-
+SAVEPOINT S_0;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Sn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> R1 << -b-b-b-b-b-b-b-b-b-b-b-
-ROLLBACK TO s1;
+-b-b-b-b-b-b-b-b-b-b-b- >> Rn << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK TO S_0;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Log_name Pos Event_type Server_id End_log_pos Info
--e-e-e-e-e-e-e-e-e-e-e- >> R1 << -e-e-e-e-e-e-e-e-e-e-e-
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> Rn << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> B T S1 T CT R1 R << -b-b-b-b-b-b-b-b-b-b-b-
+-b-b-b-b-b-b-b-b-b-b-b- >> B T Sn T CT Rn R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 2)
-master-bin.000001 # Query # # SAVEPOINT `s1`
+master-bin.000001 # Query # # SAVEPOINT `S_0`
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (353, 5)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_12 (a int) engine=Innodb
-master-bin.000001 # Query # # ROLLBACK TO `s1`
+master-bin.000001 # Query # # ROLLBACK TO `S_0`
master-bin.000001 # Query # # ROLLBACK
--e-e-e-e-e-e-e-e-e-e-e- >> B T S1 T CT R1 R << -e-e-e-e-e-e-e-e-e-e-e-
+-e-e-e-e-e-e-e-e-e-e-e- >> B T Sn T CT Rn R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_12;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_12` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B T CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B T CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 2)
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_13 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (355, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B T CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_13;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_13` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B tN CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> tN << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> tN << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B tN CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id, info) SELECT 357, 2, COUNT(*) FROM tt_1
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_14 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (357, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B tN CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_14;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_14` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_15 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (359, 3)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_15;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_15` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=B N CT T R]
-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
BEGIN;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> N << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2);
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2)
master-bin.000001 # Query # # COMMIT
-e-e-e-e-e-e-e-e-e-e-e- >> N << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> CT << -b-b-b-b-b-b-b-b-b-b-b-
CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb;;
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> T << -b-b-b-b-b-b-b-b-b-b-b-
INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5);
-Log_name Pos Event_type Server_id End_log_pos Info
+include/show_binlog_events.inc
-e-e-e-e-e-e-e-e-e-e-e- >> T << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
ROLLBACK;
Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> B N CT T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1(trans_id, stmt_id) VALUES (361, 2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx_16 (a int) engine=Innodb
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1(trans_id, stmt_id) VALUES (361, 5)
master-bin.000001 # Query # # ROLLBACK
-e-e-e-e-e-e-e-e-e-e-e- >> B N CT T R << -e-e-e-e-e-e-e-e-e-e-e-
+rpl_mixing_engines.inc [commands=drop-CT]
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
DROP TEMPORARY TABLE IF EXISTS tt_xx_16;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
-b-b-b-b-b-b-b-b-b-b-b- >> drop-CT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_16` /* generated by server */
-e-e-e-e-e-e-e-e-e-e-e- >> drop-CT << -e-e-e-e-e-e-e-e-e-e-e-
###################################################################################
+# 5 - SET WITH ROW CHANGES
+###################################################################################
+rpl_mixing_engines.inc [commands=set-T]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(363, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(363,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(363,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-N]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(364, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(364,1)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(364,1)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=set-NT]
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(365, 1);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(365,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(365,1)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(366, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(366,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(366, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(366,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(366,2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(366,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(367, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(367, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(367,4)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(367,2)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(367,4)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(367,2)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-N set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(368, 2);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(368,2)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(368, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(368,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-N set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(368,2)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(368,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-N set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-N R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(369, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-N << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_5_suc(369, 4);
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(369,4)
+master-bin.000001 # Query # # COMMIT
+-e-e-e-e-e-e-e-e-e-e-e- >> set-N << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(369,2)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-N R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_5_suc`(369,4)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(369,2)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-N R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(370, 2);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(370, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(370,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(370,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(370,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(370,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT C]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(371, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(371, 4);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> C << -b-b-b-b-b-b-b-b-b-b-b-
+COMMIT;
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(371,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(371,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> C << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT C << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(371,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(371,4)
+master-bin.000001 # Xid # # COMMIT /* XID */
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT C << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-NT set-T R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(372, 2);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(372, 4);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(372,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(372,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-NT set-T R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(372,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(372,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-NT set-T R << -e-e-e-e-e-e-e-e-e-e-e-
+
+rpl_mixing_engines.inc [commands=B set-T set-NT R]
+-b-b-b-b-b-b-b-b-b-b-b- >> B << -b-b-b-b-b-b-b-b-b-b-b-
+BEGIN;
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> B << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-T << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_tt_5_suc(373, 2);
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-T << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> set-NT << -b-b-b-b-b-b-b-b-b-b-b-
+SET @var= fc_i_nt_3_tt_3_suc(373, 4);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
+include/show_binlog_events.inc
+-e-e-e-e-e-e-e-e-e-e-e- >> set-NT << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> R << -b-b-b-b-b-b-b-b-b-b-b-
+ROLLBACK;
+Warnings:
+Warning # Some non-transactional changed tables couldn't be rolled back
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(373,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(373,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> R << -e-e-e-e-e-e-e-e-e-e-e-
+-b-b-b-b-b-b-b-b-b-b-b- >> B set-T set-NT R << -b-b-b-b-b-b-b-b-b-b-b-
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_tt_5_suc`(373,2)
+master-bin.000001 # Query # # use `test`; SELECT `test`.`fc_i_nt_3_tt_3_suc`(373,4)
+master-bin.000001 # Query # # ROLLBACK
+-e-e-e-e-e-e-e-e-e-e-e- >> B set-T set-NT R << -e-e-e-e-e-e-e-e-e-e-e-
+
+###################################################################################
# CHECK CONSISTENCY
###################################################################################
###################################################################################
# CLEAN
###################################################################################
+rpl_mixing_engines.inc [commands=clean]
+DROP TABLE tt_1;
+DROP TABLE tt_2;
+DROP TABLE tt_3;
+DROP TABLE tt_4;
+DROP TABLE tt_5;
+DROP TABLE tt_6;
+DROP TABLE nt_1;
+DROP TABLE nt_2;
+DROP TABLE nt_3;
+DROP TABLE nt_4;
+DROP TABLE nt_5;
+DROP TABLE nt_6;
+DROP PROCEDURE pc_i_tt_5_suc;
+DROP PROCEDURE pc_i_nt_5_suc;
+DROP FUNCTION fc_i_tt_5_suc;
+DROP FUNCTION fc_i_nt_5_suc;
+DROP FUNCTION fc_i_nt_3_tt_3_suc;
include/rpl_reset.inc
+CREATE TABLE `t1` (
+`c1` int(10) unsigned NOT NULL AUTO_INCREMENT,
+`c2` tinyint(1) unsigned DEFAULT NULL,
+`c3` varchar(300) DEFAULT NULL,
+`c4` int(10) unsigned NOT NULL,
+`c5` int(10) unsigned DEFAULT NULL,
+PRIMARY KEY (`c1`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+ALTER TABLE `t1` Engine=InnoDB;
+SET AUTOCOMMIT=0;
+INSERT INTO t1 (c1,c2,c3,c4,c5) VALUES (1, 1, 'X', 1, NULL);
+COMMIT;
+ROLLBACK;
+SET AUTOCOMMIT=1;
include/diff_tables.inc [master:t1, slave:t1]
+DROP TABLE `t1`;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_multi_query.result b/mysql-test/suite/rpl/r/rpl_stm_multi_query.result
index 68c769a7ede..c893ff39a6c 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_multi_query.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_multi_query.result
@@ -14,23 +14,25 @@ n
3
4
5
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database mysqltest
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table mysqltest.t1 ( n int)
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into mysqltest.t1 values(1)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into mysqltest.t1 values(2)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into mysqltest.t1 values(3)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into mysqltest.t1 values(4)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into mysqltest.t1 values(5)
master-bin.000001 # Query # # COMMIT
drop database mysqltest;
diff --git a/mysql-test/suite/rpl/r/rpl_stm_no_op.result b/mysql-test/suite/rpl/r/rpl_stm_no_op.result
index cf5b03cdfa6..52e893d616b 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_no_op.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_no_op.result
@@ -9,7 +9,7 @@ ERROR 42000: Unknown database 'mysqltest'
create table t1 (a int);
drop table if exists t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
create table t1 (a int, b int);
diff --git a/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result b/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result
index e5870cec2c9..7eb29085099 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result
@@ -47,7 +47,7 @@ include/start_slave.inc
include/stop_slave.inc
reset slave all;
start slave;
-ERROR HY000: The server is not configured as slave; fix in config file or with CHANGE MASTER TO
+ERROR HY000: Misconfigured slave: MASTER_HOST was not set; Fix in config file or with CHANGE MASTER TO
CHANGE MASTER TO MASTER_HOST= 'MASTER_HOST', MASTER_USER= 'MASTER_USER', MASTER_PORT= MASTER_PORT;
include/start_slave.inc
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_until.result b/mysql-test/suite/rpl/r/rpl_stm_until.result
index 7557f37b283..967acb540bd 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_until.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_until.result
@@ -25,7 +25,7 @@ n
3
4
include/check_slave_param.inc [Exec_Master_Log_Pos]
-start slave until master_log_file='master-no-such-bin.000001', master_log_pos=MASTER_LOG_POS;
+start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
include/wait_for_slave_io_to_start.inc
include/wait_for_slave_sql_to_stop.inc
select * from t1;
@@ -35,7 +35,7 @@ n
3
4
include/check_slave_param.inc [Exec_Master_Log_Pos]
-start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=RELAY_LOG_POS;
+start slave until relay_log_file='slave-relay-bin.000003', relay_log_pos=RELAY_LOG_POS;
include/wait_for_slave_io_to_start.inc
include/wait_for_slave_sql_to_stop.inc
select * from t2;
@@ -52,18 +52,18 @@ include/wait_for_slave_io_to_start.inc
include/wait_for_slave_sql_to_stop.inc
include/check_slave_param.inc [Exec_Master_Log_Pos]
==== Test various error conditions ====
-start slave until master_log_file='master-bin', master_log_pos=MASTER_LOG_POS;
+start slave until master_log_file='master-bin', master_log_pos=561;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS, relay_log_pos=RELAY_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
start slave until master_log_file='master-bin.000001';
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
start slave until relay_log_file='slave-relay-bin.000002';
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=MASTER_LOG_POS;
+start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
start slave sql_thread;
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=776;
Warnings:
Note 1254 Slave is already running
include/stop_slave.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_user_variables.result b/mysql-test/suite/rpl/r/rpl_stm_user_variables.result
index e59928af66d..efb0f051fd4 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_user_variables.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_user_variables.result
@@ -213,4 +213,52 @@ ERROR 23000: Duplicate entry '2147483647' for key 'PRIMARY'
include/diff_tables.inc [master:t1,slave:t1]
DROP TRIGGER tr1;
DROP TABLE t1;
+
+# The GET DIAGNOSTICS itself is not replicated, but it can set
+# variables which can be used in statements that are replicated.
+
+include/rpl_reset.inc
+CREATE TABLE t1 (a INT, b INT);
+GET DIAGNOSTICS @var1 = NUMBER;
+INSERT INTO t1 VALUES (@var1, 0), (@var1, 0);
+CREATE PROCEDURE p1()
+LANGUAGE SQL
+BEGIN
+DECLARE count INT;
+UPDATE t1 SET b = 2 WHERE a = 0;
+GET DIAGNOSTICS count = ROW_COUNT;
+INSERT INTO t1 VALUES (1, count);
+END|
+CALL p1();
+# On slave, check if the statement was replicated.
+SELECT * FROM t1 ORDER BY a;
+a b
+0 2
+0 2
+1 2
+# Show events and cleanup
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT)
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # User var # # @`var1`=0
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (@var1, 0), (@var1, 0)
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
+BEGIN
+DECLARE count INT;
+UPDATE t1 SET b = 2 WHERE a = 0;
+GET DIAGNOSTICS count = ROW_COUNT;
+INSERT INTO t1 VALUES (1, count);
+END
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 2 WHERE a = 0
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1, NAME_CONST('count',2))
+master-bin.000001 # Query # # COMMIT
+DROP TABLE t1;
+DROP PROCEDURE p1;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stop_slave_error.result b/mysql-test/suite/rpl/r/rpl_stop_slave_error.result
new file mode 100644
index 00000000000..2bd372a9a91
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_stop_slave_error.result
@@ -0,0 +1,6 @@
+include/master-slave.inc
+[connection master]
+include/stop_slave.inc
+NOT FOUND /Error reading packet from server: Lost connection/ in slave_log.err
+include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_strict_password_validation.result b/mysql-test/suite/rpl/r/rpl_strict_password_validation.result
new file mode 100644
index 00000000000..071d730fa72
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_strict_password_validation.result
@@ -0,0 +1,13 @@
+include/master-slave.inc
+[connection master]
+install soname "simple_password_check";
+select @@strict_password_validation;
+@@strict_password_validation
+1
+create user foo1 identified by password '11111111111111111111111111111111111111111';
+set password for foo1 = PASSWORD('PLAINtext-password!!99');
+drop user foo1;
+create user foo1 identified by password '11111111111111111111111111111111111111111';
+ERROR HY000: The MariaDB server is running with the --strict-password-validation option so it cannot execute this statement
+uninstall plugin simple_password_check;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_sync.result b/mysql-test/suite/rpl/r/rpl_sync.result
index f6163c74b01..84c100970e4 100644
--- a/mysql-test/suite/rpl/r/rpl_sync.result
+++ b/mysql-test/suite/rpl/r/rpl_sync.result
@@ -3,6 +3,7 @@ include/master-slave.inc
[connection master]
call mtr.add_suppression('Attempting backtrace');
call mtr.add_suppression("Recovery from master pos .* and file master-bin.000001");
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
flush tables;
CREATE TABLE t1(a INT, PRIMARY KEY(a)) engine=innodb;
insert into t1(a) values(1);
diff --git a/mysql-test/suite/rpl/r/rpl_table_options.result b/mysql-test/suite/rpl/r/rpl_table_options.result
index 423a2b65583..a417aaf720d 100644
--- a/mysql-test/suite/rpl/r/rpl_table_options.result
+++ b/mysql-test/suite/rpl/r/rpl_table_options.result
@@ -12,6 +12,12 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /* `ull`=12340 */
+set sql_mode=ignore_bad_table_options;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 `ull`=12340
drop table t1;
set storage_engine=default;
diff --git a/mysql-test/suite/rpl/r/rpl_temp_table.result b/mysql-test/suite/rpl/r/rpl_temp_table.result
index e7df070874a..08504ce175d 100644
--- a/mysql-test/suite/rpl/r/rpl_temp_table.result
+++ b/mysql-test/suite/rpl/r/rpl_temp_table.result
@@ -39,7 +39,12 @@ sum(n)
show status like 'Slave_open_temp_tables';
Variable_name Value
Slave_open_temp_tables 0
+*** MDEV-8016: Replication aborts on DROP /*!40005 TEMPORARY */ TABLE IF EXISTS ***
+INSERT INTO t2 VALUES (2000), (2001);
+CREATE FUNCTION f() RETURNS INTEGER RETURN 1;
+CREATE TEMPORARY TABLE t3 AS SELECT f() AS col FROM t2;
drop table if exists t1,t2;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
+drop function f;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result b/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result
index 01031cda341..5e70bf85ab9 100644
--- a/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result
+++ b/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result
@@ -45,25 +45,33 @@ SHOW STATUS LIKE 'Slave_open_temp_tables';
Variable_name Value
Slave_open_temp_tables 0
DROP TABLE t3, t1;
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int) engine=innodb
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t2 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) )
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TABLE t3 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) )
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr1 AFTER DELETE ON t2 FOR EACH ROW INSERT INTO t3 () VALUES ()
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE t1_tmp (i1 int)
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; ALTER TABLE t1_tmp ADD COLUMN b INT
+slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t1_tmp` /* generated by server */
-slave-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Xid # # COMMIT /* XID */
-slave-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t2_tmp` /* generated by server */
-slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
slave-bin.000001 # Xid # # COMMIT /* XID */
-slave-bin.000001 # Query # # use `test`; DROP TABLE `t3`,`t1` /* generated by server */
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t3`,`t1` /* generated by server */
# Bug#55478 Row events wrongly apply on the temporary table of the same name
# ==========================================================================
@@ -76,14 +84,14 @@ CREATE TEMPORARY TABLE t1(c1 INT) ENGINE=InnoDB;
# The statement generates row events on t1. And the rows events should
# be inserted into the base table on slave.
CREATE TABLE t1 ENGINE=MyISAM SELECT rand();
-show binlog events in 'master-bin.000001' from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE `t1` (
- `rand()` double NOT NULL DEFAULT '0'
+ `rand()` double NOT NULL
) ENGINE=MyISAM
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
# Case 2: DROP TEMPORARY TABLE in a transacation
@@ -94,13 +102,13 @@ DROP TEMPORARY TABLE t1;
# The rows event will binlogged after 'INSERT INTO t1 VALUES(1)'
INSERT INTO t1 VALUES(uuid()+0);
COMMIT;
-show binlog events in 'master-bin.000001' from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t1` /* generated by server */
master-bin.000001 # Query # # COMMIT
# Compare the base table.
diff --git a/mysql-test/suite/rpl/r/rpl_temporal_format_default_to_default.result b/mysql-test/suite/rpl/r/rpl_temporal_format_default_to_default.result
new file mode 100644
index 00000000000..2e9116ced2d
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporal_format_default_to_default.result
@@ -0,0 +1,83 @@
+include/master-slave.inc
+[connection master]
+SELECT @@global.mysql56_temporal_format AS on_master;
+on_master
+1
+SELECT @@global.mysql56_temporal_format AS on_slave;
+on_slave
+1
+CREATE TABLE t1
+(
+c0 TIME(0),
+c1 TIME(1),
+c2 TIME(2),
+c3 TIME(3),
+c4 TIME(4),
+c5 TIME(5),
+c6 TIME(6)
+);
+CREATE TABLE t2
+(
+c0 TIMESTAMP(0),
+c1 TIMESTAMP(1),
+c2 TIMESTAMP(2),
+c3 TIMESTAMP(3),
+c4 TIMESTAMP(4),
+c5 TIMESTAMP(5),
+c6 TIMESTAMP(6)
+);
+CREATE TABLE t3
+(
+c0 DATETIME(0),
+c1 DATETIME(1),
+c2 DATETIME(2),
+c3 DATETIME(3),
+c4 DATETIME(4),
+c5 DATETIME(5),
+c6 DATETIME(6)
+);
+INSERT INTO t1 VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO t2 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO t3 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+SELECT * FROM t1;;
+c0 01:01:01
+c1 01:01:01.1
+c2 01:01:01.11
+c3 01:01:01.111
+c4 01:01:01.1111
+c5 01:01:01.11111
+c6 01:01:01.111111
+SELECT * FROM t2;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT * FROM t3;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET @@global.mysql56_temporal_format=DEFAULT;
+SET @@global.mysql56_temporal_format=DEFAULT;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mariadb53.result b/mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mariadb53.result
new file mode 100644
index 00000000000..7cb7d177f1a
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mariadb53.result
@@ -0,0 +1,85 @@
+include/master-slave.inc
+[connection master]
+SET @@global.mysql56_temporal_format=false;;
+SET @@global.mysql56_temporal_format=false;;
+SELECT @@global.mysql56_temporal_format AS on_master;
+on_master
+0
+SELECT @@global.mysql56_temporal_format AS on_slave;
+on_slave
+0
+CREATE TABLE t1
+(
+c0 TIME(0),
+c1 TIME(1),
+c2 TIME(2),
+c3 TIME(3),
+c4 TIME(4),
+c5 TIME(5),
+c6 TIME(6)
+);
+CREATE TABLE t2
+(
+c0 TIMESTAMP(0),
+c1 TIMESTAMP(1),
+c2 TIMESTAMP(2),
+c3 TIMESTAMP(3),
+c4 TIMESTAMP(4),
+c5 TIMESTAMP(5),
+c6 TIMESTAMP(6)
+);
+CREATE TABLE t3
+(
+c0 DATETIME(0),
+c1 DATETIME(1),
+c2 DATETIME(2),
+c3 DATETIME(3),
+c4 DATETIME(4),
+c5 DATETIME(5),
+c6 DATETIME(6)
+);
+INSERT INTO t1 VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO t2 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO t3 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 33 33
+t2 1 41 41
+t3 1 50 50
+SELECT * FROM t1;;
+c0 01:01:01
+c1 01:01:01.1
+c2 01:01:01.11
+c3 01:01:01.111
+c4 01:01:01.1111
+c5 01:01:01.11111
+c6 01:01:01.111111
+SELECT * FROM t2;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT * FROM t3;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 33 33
+t2 1 41 41
+t3 1 50 50
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET @@global.mysql56_temporal_format=DEFAULT;
+SET @@global.mysql56_temporal_format=DEFAULT;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mysql56.result b/mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mysql56.result
new file mode 100644
index 00000000000..74c287578d7
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mysql56.result
@@ -0,0 +1,85 @@
+include/master-slave.inc
+[connection master]
+SET @@global.mysql56_temporal_format=false;;
+SET @@global.mysql56_temporal_format=true;;
+SELECT @@global.mysql56_temporal_format AS on_master;
+on_master
+0
+SELECT @@global.mysql56_temporal_format AS on_slave;
+on_slave
+1
+CREATE TABLE t1
+(
+c0 TIME(0),
+c1 TIME(1),
+c2 TIME(2),
+c3 TIME(3),
+c4 TIME(4),
+c5 TIME(5),
+c6 TIME(6)
+);
+CREATE TABLE t2
+(
+c0 TIMESTAMP(0),
+c1 TIMESTAMP(1),
+c2 TIMESTAMP(2),
+c3 TIMESTAMP(3),
+c4 TIMESTAMP(4),
+c5 TIMESTAMP(5),
+c6 TIMESTAMP(6)
+);
+CREATE TABLE t3
+(
+c0 DATETIME(0),
+c1 DATETIME(1),
+c2 DATETIME(2),
+c3 DATETIME(3),
+c4 DATETIME(4),
+c5 DATETIME(5),
+c6 DATETIME(6)
+);
+INSERT INTO t1 VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO t2 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO t3 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 33 33
+t2 1 41 41
+t3 1 50 50
+SELECT * FROM t1;;
+c0 01:01:01
+c1 01:01:01.1
+c2 01:01:01.11
+c3 01:01:01.111
+c4 01:01:01.1111
+c5 01:01:01.11111
+c6 01:01:01.111111
+SELECT * FROM t2;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT * FROM t3;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET @@global.mysql56_temporal_format=DEFAULT;
+SET @@global.mysql56_temporal_format=DEFAULT;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mysql56_dst.result b/mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mysql56_dst.result
new file mode 100644
index 00000000000..352101cb8cd
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporal_format_mariadb53_to_mysql56_dst.result
@@ -0,0 +1,28 @@
+include/master-slave.inc
+[connection master]
+set global time_zone='Europe/Moscow';
+set time_zone='UTC';
+stop slave;
+start slave;
+set global mysql56_temporal_format=false;
+set global time_zone='Europe/Moscow';
+set time_zone='UTC';
+create table t1 (pk int primary key, t timestamp not null);
+set timestamp = 1288477526;
+insert into t1 values (1,null);
+set timestamp = 1288481126;
+insert into t1 values (2,null);
+select pk, t, unix_timestamp(t) from t1;
+pk t unix_timestamp(t)
+1 2010-10-30 22:25:26 1288477526
+2 2010-10-30 23:25:26 1288481126
+set time_zone=default;
+select pk, t, unix_timestamp(t) from t1;
+pk t unix_timestamp(t)
+1 2010-10-31 02:25:26 1288477526
+2 2010-10-31 02:25:26 1288481126
+set global time_zone=default;
+drop table t1;
+set global time_zone=default;
+set global mysql56_temporal_format=default;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporal_format_mysql56_to_mariadb53.result b/mysql-test/suite/rpl/r/rpl_temporal_format_mysql56_to_mariadb53.result
new file mode 100644
index 00000000000..cc22e00aeb1
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporal_format_mysql56_to_mariadb53.result
@@ -0,0 +1,85 @@
+include/master-slave.inc
+[connection master]
+SET @@global.mysql56_temporal_format=true;;
+SET @@global.mysql56_temporal_format=false;;
+SELECT @@global.mysql56_temporal_format AS on_master;
+on_master
+1
+SELECT @@global.mysql56_temporal_format AS on_slave;
+on_slave
+0
+CREATE TABLE t1
+(
+c0 TIME(0),
+c1 TIME(1),
+c2 TIME(2),
+c3 TIME(3),
+c4 TIME(4),
+c5 TIME(5),
+c6 TIME(6)
+);
+CREATE TABLE t2
+(
+c0 TIMESTAMP(0),
+c1 TIMESTAMP(1),
+c2 TIMESTAMP(2),
+c3 TIMESTAMP(3),
+c4 TIMESTAMP(4),
+c5 TIMESTAMP(5),
+c6 TIMESTAMP(6)
+);
+CREATE TABLE t3
+(
+c0 DATETIME(0),
+c1 DATETIME(1),
+c2 DATETIME(2),
+c3 DATETIME(3),
+c4 DATETIME(4),
+c5 DATETIME(5),
+c6 DATETIME(6)
+);
+INSERT INTO t1 VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO t2 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO t3 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+SELECT * FROM t1;;
+c0 01:01:01
+c1 01:01:01.1
+c2 01:01:01.11
+c3 01:01:01.111
+c4 01:01:01.1111
+c5 01:01:01.11111
+c6 01:01:01.111111
+SELECT * FROM t2;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT * FROM t3;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 33 33
+t2 1 41 41
+t3 1 50 50
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET @@global.mysql56_temporal_format=DEFAULT;
+SET @@global.mysql56_temporal_format=DEFAULT;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporal_format_mysql56_to_mysql56.result b/mysql-test/suite/rpl/r/rpl_temporal_format_mysql56_to_mysql56.result
new file mode 100644
index 00000000000..8675283435a
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporal_format_mysql56_to_mysql56.result
@@ -0,0 +1,85 @@
+include/master-slave.inc
+[connection master]
+SET @@global.mysql56_temporal_format=true;;
+SET @@global.mysql56_temporal_format=true;;
+SELECT @@global.mysql56_temporal_format AS on_master;
+on_master
+1
+SELECT @@global.mysql56_temporal_format AS on_slave;
+on_slave
+1
+CREATE TABLE t1
+(
+c0 TIME(0),
+c1 TIME(1),
+c2 TIME(2),
+c3 TIME(3),
+c4 TIME(4),
+c5 TIME(5),
+c6 TIME(6)
+);
+CREATE TABLE t2
+(
+c0 TIMESTAMP(0),
+c1 TIMESTAMP(1),
+c2 TIMESTAMP(2),
+c3 TIMESTAMP(3),
+c4 TIMESTAMP(4),
+c5 TIMESTAMP(5),
+c6 TIMESTAMP(6)
+);
+CREATE TABLE t3
+(
+c0 DATETIME(0),
+c1 DATETIME(1),
+c2 DATETIME(2),
+c3 DATETIME(3),
+c4 DATETIME(4),
+c5 DATETIME(5),
+c6 DATETIME(6)
+);
+INSERT INTO t1 VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO t2 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO t3 VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+SELECT * FROM t1;;
+c0 01:01:01
+c1 01:01:01.1
+c2 01:01:01.11
+c3 01:01:01.111
+c4 01:01:01.1111
+c5 01:01:01.11111
+c6 01:01:01.111111
+SELECT * FROM t2;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT * FROM t3;;
+c0 2001-01-01 01:01:01
+c1 2001-01-01 01:01:01.1
+c2 2001-01-01 01:01:01.11
+c3 2001-01-01 01:01:01.111
+c4 2001-01-01 01:01:01.1111
+c5 2001-01-01 01:01:01.11111
+c6 2001-01-01 01:01:01.111111
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME RLIKE 't[1-3]' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+t1 1 34 34
+t2 1 41 41
+t3 1 48 48
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+SET @@global.mysql56_temporal_format=DEFAULT;
+SET @@global.mysql56_temporal_format=DEFAULT;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporal_mysql56.result b/mysql-test/suite/rpl/r/rpl_temporal_mysql56.result
new file mode 100644
index 00000000000..99f81abb166
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporal_mysql56.result
@@ -0,0 +1,84 @@
+include/master-slave.inc
+[connection master]
+SET TIME_ZONE='+00:00';
+SET TIME_ZONE='+00:00';
+INSERT INTO mysql56time VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO mysql56datetime VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO mysql56timestamp VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+SELECT * FROM mysql56time;
+t0 838:59:59
+t1 838:59:59.0
+t2 838:59:59.00
+t3 838:59:59.000
+t4 838:59:59.0000
+t5 838:59:59.00000
+t6 838:59:59.000000
+t0 00:00:00
+t1 00:00:00.0
+t2 00:00:00.00
+t3 00:00:00.000
+t4 00:00:00.0000
+t5 00:00:00.00000
+t6 00:00:00.000000
+t0 -838:59:59
+t1 -838:59:59.0
+t2 -838:59:59.00
+t3 -838:59:59.000
+t4 -838:59:59.0000
+t5 -838:59:59.00000
+t6 -838:59:59.000000
+t0 01:01:01
+t1 01:01:01.1
+t2 01:01:01.11
+t3 01:01:01.111
+t4 01:01:01.1111
+t5 01:01:01.11111
+t6 01:01:01.111111
+SELECT * FROM mysql56datetime;
+dt0 0000-00-00 00:00:00
+dt1 0000-00-00 00:00:00.0
+dt2 0000-00-00 00:00:00.00
+dt3 0000-00-00 00:00:00.000
+dt4 0000-00-00 00:00:00.0000
+dt5 0000-00-00 00:00:00.00000
+dt6 0000-00-00 00:00:00.000000
+dt0 9999-12-31 23:59:59
+dt1 9999-12-31 23:59:59.9
+dt2 9999-12-31 23:59:59.99
+dt3 9999-12-31 23:59:59.999
+dt4 9999-12-31 23:59:59.9999
+dt5 9999-12-31 23:59:59.99999
+dt6 9999-12-31 23:59:59.999999
+dt0 2001-01-01 01:01:01
+dt1 2001-01-01 01:01:01.1
+dt2 2001-01-01 01:01:01.11
+dt3 2001-01-01 01:01:01.111
+dt4 2001-01-01 01:01:01.1111
+dt5 2001-01-01 01:01:01.11111
+dt6 2001-01-01 01:01:01.111111
+SELECT * FROM mysql56timestamp;
+ts0 1970-01-01 00:00:01
+ts1 1970-01-01 00:00:01.0
+ts2 1970-01-01 00:00:01.00
+ts3 1970-01-01 00:00:01.000
+ts4 1970-01-01 00:00:01.0000
+ts5 1970-01-01 00:00:01.00000
+ts6 1970-01-01 00:00:01.000000
+ts0 2038-01-19 03:14:07
+ts1 2038-01-19 03:14:07.9
+ts2 2038-01-19 03:14:07.99
+ts3 2038-01-19 03:14:07.999
+ts4 2038-01-19 03:14:07.9999
+ts5 2038-01-19 03:14:07.99999
+ts6 2038-01-19 03:14:07.999999
+ts0 2001-01-01 01:01:01
+ts1 2001-01-01 01:01:01.1
+ts2 2001-01-01 01:01:01.11
+ts3 2001-01-01 01:01:01.111
+ts4 2001-01-01 01:01:01.1111
+ts5 2001-01-01 01:01:01.11111
+ts6 2001-01-01 01:01:01.111111
+DROP TABLE mysql56time;
+DROP TABLE mysql56datetime;
+DROP TABLE mysql56timestamp;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporal_mysql56_to_mariadb.result b/mysql-test/suite/rpl/r/rpl_temporal_mysql56_to_mariadb.result
new file mode 100644
index 00000000000..de4c9dafc1c
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporal_mysql56_to_mariadb.result
@@ -0,0 +1,50 @@
+include/master-slave.inc
+[connection master]
+#
+# Testing replication from MariaDB-10.0 master
+# started over MySQL-5.6 data directory
+# to MariaDB-10.0 slave running with natively created tables
+#
+SET TIME_ZONE='+00:00';
+SHOW CREATE TABLE mysql050614_temporal0;
+Table Create Table
+mysql050614_temporal0 CREATE TABLE `mysql050614_temporal0` (
+ `a` time DEFAULT NULL,
+ `b` datetime DEFAULT NULL,
+ `c` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE mysql050614_temporal1;
+Table Create Table
+mysql050614_temporal1 CREATE TABLE `mysql050614_temporal1` (
+ `a` time(1) DEFAULT NULL,
+ `b` datetime(1) DEFAULT NULL,
+ `c` timestamp(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1) ON UPDATE CURRENT_TIMESTAMP(1)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @@mysql56_temporal_format;
+@@mysql56_temporal_format
+1
+SET TIME_ZONE='+00:00';
+CREATE TABLE mysql050614_temporal0 (a time(0), b datetime(0), c timestamp(0)) engine=myisam;
+CREATE TABLE mysql050614_temporal1 (a time(1), b datetime(1), c timestamp(1)) engine=myisam;
+INSERT INTO mysql050614_temporal0 VALUES ('00:00:02','2001-01-01 00:00:02','2001-01-01 00:00:02');
+INSERT INTO mysql050614_temporal1 VALUES ('00:00:02.1','2001-01-01 00:00:02.2','2001-01-01 00:00:02.3');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH, DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME LIKE 'mysql050614_temporal%' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+mysql050614_temporal0 2 13 26
+mysql050614_temporal1 1 16 16
+SELECT * FROM mysql050614_temporal0;
+a b c
+00:00:02 2001-01-01 00:00:02 2001-01-01 00:00:02
+SELECT * FROM mysql050614_temporal1;
+a b c
+00:00:02.1 2001-01-01 00:00:02.2 2001-01-01 00:00:02.3
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME LIKE 'mysql050614_temporal%' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+mysql050614_temporal0 1 13 13
+mysql050614_temporal1 1 16 16
+SET @@global.mysql56_temporal_format=DEFAULT;
+DROP TABLE mysql050614_temporal0;
+DROP TABLE mysql050614_temporal1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporal_mysql56_to_mariadb53.result b/mysql-test/suite/rpl/r/rpl_temporal_mysql56_to_mariadb53.result
new file mode 100644
index 00000000000..37373367f8a
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporal_mysql56_to_mariadb53.result
@@ -0,0 +1,51 @@
+include/master-slave.inc
+[connection master]
+SET @@global.mysql56_temporal_format=false;;
+#
+# Testing replication from MariaDB-10.0 master
+# started over MySQL-5.6 data directory
+# to MariaDB-10.0 slave running with natively created tables
+#
+SET TIME_ZONE='+00:00';
+SHOW CREATE TABLE mysql050614_temporal0;
+Table Create Table
+mysql050614_temporal0 CREATE TABLE `mysql050614_temporal0` (
+ `a` time DEFAULT NULL,
+ `b` datetime DEFAULT NULL,
+ `c` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE mysql050614_temporal1;
+Table Create Table
+mysql050614_temporal1 CREATE TABLE `mysql050614_temporal1` (
+ `a` time(1) DEFAULT NULL,
+ `b` datetime(1) DEFAULT NULL,
+ `c` timestamp(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1) ON UPDATE CURRENT_TIMESTAMP(1)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @@mysql56_temporal_format;
+@@mysql56_temporal_format
+0
+SET TIME_ZONE='+00:00';
+CREATE TABLE mysql050614_temporal0 (a time(0), b datetime(0), c timestamp(0)) engine=myisam;
+CREATE TABLE mysql050614_temporal1 (a time(1), b datetime(1), c timestamp(1)) engine=myisam;
+INSERT INTO mysql050614_temporal0 VALUES ('00:00:02','2001-01-01 00:00:02','2001-01-01 00:00:02');
+INSERT INTO mysql050614_temporal1 VALUES ('00:00:02.1','2001-01-01 00:00:02.2','2001-01-01 00:00:02.3');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH, DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME LIKE 'mysql050614_temporal%' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+mysql050614_temporal0 2 13 26
+mysql050614_temporal1 1 16 16
+SELECT * FROM mysql050614_temporal0;
+a b c
+00:00:02 2001-01-01 00:00:02 2001-01-01 00:00:02
+SELECT * FROM mysql050614_temporal1;
+a b c
+00:00:02.1 2001-01-01 00:00:02.2 2001-01-01 00:00:02.3
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME LIKE 'mysql050614_temporal%' ORDER BY TABLE_NAME;
+TABLE_NAME TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH
+mysql050614_temporal0 1 16 16
+mysql050614_temporal1 1 16 16
+SET @@global.mysql56_temporal_format=DEFAULT;
+DROP TABLE mysql050614_temporal0;
+DROP TABLE mysql050614_temporal1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporary_error2.result b/mysql-test/suite/rpl/r/rpl_temporary_error2.result
new file mode 100644
index 00000000000..7c7663b8824
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporary_error2.result
@@ -0,0 +1,55 @@
+include/master-slave.inc
+[connection master]
+*** Provoke a deadlock on the slave, check that transaction retry succeeds. ***
+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);
+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;
+BEGIN;
+UPDATE t1 SET b=2 WHERE a=4;
+INSERT INTO t2 VALUES (2);
+DELETE FROM t2 WHERE a=2;
+BEGIN;
+UPDATE t1 SET b=1 WHERE a=2;
+INSERT INTO t2 VALUES (1);
+UPDATE t1 SET b=1 WHERE a=4;
+COMMIT;
+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
+SELECT * FROM t1 ORDER BY a;
+a b
+1 NULL
+2 1
+3 NULL
+4 1
+5 NULL
+* There will be two rows in t2 due to the retry.
+SELECT * FROM t2 ORDER BY a;
+a
+1
+1
+retries
+1
+Last_SQL_Errno = '0'
+Last_SQL_Error = ''
+DROP TABLE t1;
+DROP TABLE t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result b/mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result
index 0264c9421fc..d6675d38d42 100644
--- a/mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result
+++ b/mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result
@@ -4,6 +4,8 @@ CREATE TEMPORARY TABLE t1 (a INT);
CREATE TABLE t2 (a INT, b INT) ENGINE= MyISAM;
INSERT INTO t1 VALUES (1);
CREATE EVENT e1 ON SCHEDULE EVERY 10 HOUR DO SELECT 1;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
INSERT INTO t1 VALUES (1);
ALTER EVENT e1 ON SCHEDULE EVERY 20 HOUR DO SELECT 1;
INSERT INTO t1 VALUES (1);
@@ -123,6 +125,8 @@ ERROR HY000: Can't execute the given command because you have active locked tabl
INSERT INTO t2 VALUES ("CREATE EVENT e1 with table locked");
UNLOCK TABLE;
CREATE EVENT e2 ON SCHEDULE EVERY 10 HOUR DO SELECT 1;
+Warnings:
+Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
LOCK TABLE t1 WRITE;
ALTER EVENT e2 ON SCHEDULE EVERY 20 HOUR DO SELECT 1;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
diff --git a/mysql-test/suite/rpl/r/rpl_trigger.result b/mysql-test/suite/rpl/r/rpl_trigger.result
index ac6d9155f4b..6b63d8cda31 100644
--- a/mysql-test/suite/rpl/r/rpl_trigger.result
+++ b/mysql-test/suite/rpl/r/rpl_trigger.result
@@ -35,7 +35,7 @@ select a,name, old_a, old_b, truncate(rand_value,4) from t3;
a name old_a old_b truncate(rand_value,4)
100 log 0 0 0.0000
101 t1 1 1 0.3203
-102 t1 0 2 0.5666
+102 t1 NULL 2 0.5666
103 t2 1 2 0.9164
104 t2 3 0 0.8826
105 t2 4 0 0.6635
@@ -58,7 +58,7 @@ select a,name, old_a, old_b, truncate(rand_value,4) from t3;
a name old_a old_b truncate(rand_value,4)
100 log 0 0 0.0000
101 t1 1 1 0.3203
-102 t1 0 2 0.5666
+102 t1 NULL 2 0.5666
103 t2 1 2 0.9164
104 t2 3 0 0.8826
105 t2 4 0 0.6635
@@ -986,4 +986,15 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
include/diff_tables.inc [master:t1, slave:t1]
include/diff_tables.inc [master:log, slave:log]
drop table t1, log;
+drop trigger if exists notexistent;
+Warnings:
+Note 1360 Trigger does not exist
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; drop trigger if exists notexistent
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Gtid # # GTID #-#-#
+slave-bin.000001 # Query # # use `test`; drop trigger if exists notexistent
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_typeconv.result b/mysql-test/suite/rpl/r/rpl_typeconv.result
index f9d5b50b4e2..813c105c7dc 100644
--- a/mysql-test/suite/rpl/r/rpl_typeconv.result
+++ b/mysql-test/suite/rpl/r/rpl_typeconv.result
@@ -534,7 +534,7 @@ BIT(6) BIT(5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
BIT(5) BIT(12) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
BIT(12) BIT(5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DROP TABLE type_conversions;
-call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t1. cannot be converted from type.* Error_code: 1677");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t1. cannot be converted from type.* error.* 1677");
DROP TABLE t1;
set global slave_type_conversions = @saved_slave_type_conversions;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_upgrade_master_info.result b/mysql-test/suite/rpl/r/rpl_upgrade_master_info.result
new file mode 100644
index 00000000000..f966f18964b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_upgrade_master_info.result
@@ -0,0 +1,88 @@
+include/master-slave.inc
+[connection master]
+*** MDEV-9383: Server fails to read master.info after upgrade 10.0 -> 10.1 ***
+include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=CURRENT_POS;
+include/rpl_stop_server.inc [server_number=2]
+include/rpl_start_server.inc [server_number=2]
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+a
+1
+include/stop_slave.inc
+include/rpl_stop_server.inc [server_number=2]
+include/rpl_start_server.inc [server_number=2]
+INSERT INTO t1 VALUES (2);
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+include/stop_slave.inc
+include/rpl_stop_server.inc [server_number=2]
+include/rpl_start_server.inc [server_number=2]
+INSERT INTO t1 VALUES (3);
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+include/stop_slave.inc
+include/rpl_stop_server.inc [server_number=2]
+include/rpl_start_server.inc [server_number=2]
+INSERT INTO t1 VALUES (4);
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+include/stop_slave.inc
+include/rpl_stop_server.inc [server_number=2]
+include/rpl_start_server.inc [server_number=2]
+INSERT INTO t1 VALUES (5);
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+include/stop_slave.inc
+include/rpl_stop_server.inc [server_number=2]
+include/rpl_start_server.inc [server_number=2]
+INSERT INTO t1 VALUES (6);
+include/save_master_gtid.inc
+CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_user.result b/mysql-test/suite/rpl/r/rpl_user.result
index 4ad87eb1ae7..005765e60d6 100644
--- a/mysql-test/suite/rpl/r/rpl_user.result
+++ b/mysql-test/suite/rpl/r/rpl_user.result
@@ -31,12 +31,18 @@ drop user 'not_exist_user1'@'fakehost', 'not_exist_user2'@'fakehost';
ERROR HY000: Operation DROP USER failed for 'not_exist_user1'@'fakehost','not_exist_user2'@'fakehost'
select Host,User from mysql.user where Host='fakehost';
Host User
-show binlog events from <binlog_start>;
+include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create user 'foo'@'fakehost'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create user 'foo'@'fakehost', 'bar'@'fakehost'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; rename user 'foo'@'fakehost' to 'foofoo'@'fakehost'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; rename user 'not_exist_user1'@'fakehost' to 'foobar'@'fakehost', 'bar'@'fakehost' to 'barbar'@'fakehost'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; drop user 'foofoo'@'fakehost'
+master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; drop user 'not_exist_user1'@'fakehost', 'barbar'@'fakehost'
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_variables.result b/mysql-test/suite/rpl/r/rpl_variables.result
index 8711dce4ab6..f91cdad6e47 100644
--- a/mysql-test/suite/rpl/r/rpl_variables.result
+++ b/mysql-test/suite/rpl/r/rpl_variables.result
@@ -38,6 +38,34 @@ include/stop_slave.inc
include/start_slave.inc
SET @@global.init_slave = 'SELECT 1';
[on master]
+SELECT @@pid_file, @@datadir;
+@@pid_file MYSQLTEST_VARDIR/run/mysqld.1.pid
+@@datadir MYSQLTEST_VARDIR/mysqld.1/data/
+**** Relay log variables
+SELECT @@relay_log, @@relay_log_index, @@relay_log_basename;
+@@relay_log master-relay-bin
+@@relay_log_index MYSQLTEST_VARDIR/mysqld.1/data/master-relay-bin.index
+@@relay_log_basename MYSQLTEST_VARDIR/mysqld.1/data/master-relay-bin
+**** Binary log variables
+SELECT @@log_bin, @@log_bin_index, @@log_bin_basename;
+@@log_bin 1
+@@log_bin_index MYSQLTEST_VARDIR/mysqld.1/data/master-bin.index
+@@log_bin_basename MYSQLTEST_VARDIR/mysqld.1/data/master-bin
+[on slave]
+SELECT @@pid_file, @@datadir;
+@@pid_file MYSQLTEST_VARDIR/run/mysqld.2.pid
+@@datadir MYSQLTEST_VARDIR/mysqld.2/data/
+**** Relay log variables
+SELECT @@relay_log, @@relay_log_index, @@relay_log_basename;
+@@relay_log slave-relay-bin
+@@relay_log_index MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.index
+@@relay_log_basename MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin
+**** Binary log variables
+SELECT @@log_bin, @@log_bin_index, @@log_bin_basename;
+@@log_bin 1
+@@log_bin_index MYSQLTEST_VARDIR/mysqld.2/data/slave-bin.index
+@@log_bin_basename MYSQLTEST_VARDIR/mysqld.2/data/slave-bin
+[on master]
CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
truth BOOLEAN,
num INT,
diff --git a/mysql-test/suite/rpl/r/rpl_view_debug.result b/mysql-test/suite/rpl/r/rpl_view_debug.result
new file mode 100644
index 00000000000..e4d97741d9f
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_view_debug.result
@@ -0,0 +1,34 @@
+include/master-slave.inc
+[connection master]
+#
+# MDEV-6409 CREATE VIEW replication problem if error occurs in mysql_register_view
+#
+# Check the bug where if an error occurs in mysql_register_view the view
+# is still replicated to the slave
+#
+create table t1 (a int);
+insert into t1 values (1);
+create view v1 as select a from t1;
+insert into v1 values (2);
+select * from v1 order by a;
+a
+1
+2
+show tables;
+Tables_in_test
+t1
+v1
+set @@debug_dbug="d,simulate_register_view_failure";
+CREATE VIEW v2 as SELECT * FROM t1;
+ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
+show tables;
+Tables_in_test
+t1
+v1
+show tables;
+Tables_in_test
+t1
+v1
+DROP VIEW IF EXISTS v1;
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/sec_behind_master-5114.result b/mysql-test/suite/rpl/r/sec_behind_master-5114.result
new file mode 100644
index 00000000000..17f50f0b612
--- /dev/null
+++ b/mysql-test/suite/rpl/r/sec_behind_master-5114.result
@@ -0,0 +1,11 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Unsafe statement written to the binary log");
+CREATE TABLE t1 (a int);
+INSERT INTO t1 VALUES(SLEEP(2));
+Seconds_Behind_Master_is_less_than_100
+1
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/semisync_future-7591.result b/mysql-test/suite/rpl/r/semisync_future-7591.result
new file mode 100644
index 00000000000..732ae09daaf
--- /dev/null
+++ b/mysql-test/suite/rpl/r/semisync_future-7591.result
@@ -0,0 +1,19 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Timeout waiting for reply of binlog*");
+create table t1 (i int);
+set global rpl_semi_sync_master_enabled = ON;
+include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = ON;
+change master to master_log_file='master-bin.000002', master_log_pos = 320;
+start slave;
+include/wait_for_slave_io_error.inc [errno=1236]
+insert into t1 values (1);
+reset master;
+include/stop_slave.inc
+reset slave;
+include/start_slave.inc
+set global rpl_semi_sync_slave_enabled = OFF;
+drop table t1;
+set global rpl_semi_sync_master_enabled = OFF;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/semisync_memleak_4066.result b/mysql-test/suite/rpl/r/semisync_memleak_4066.result
index c0dd9f0c993..c599f1426d3 100644
--- a/mysql-test/suite/rpl/r/semisync_memleak_4066.result
+++ b/mysql-test/suite/rpl/r/semisync_memleak_4066.result
@@ -1,6 +1,4 @@
include/master-slave.inc
[connection master]
-INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
CREATE TEMPORARY TABLE tmp (i INT);
include/rpl_end.inc
-uninstall plugin rpl_semi_sync_master;
diff --git a/mysql-test/suite/rpl/r/temporal_row-9560,old2new.rdiff b/mysql-test/suite/rpl/r/temporal_row-9560,old2new.rdiff
new file mode 100644
index 00000000000..550f64173a7
--- /dev/null
+++ b/mysql-test/suite/rpl/r/temporal_row-9560,old2new.rdiff
@@ -0,0 +1,11 @@
+--- suite/rpl/r/temporal_row-9560.result
++++ suite/rpl/r/temporal_row-9560.reject
+@@ -7,7 +7,7 @@
+ insert into t1 values ('2016-02-15 12:50:06.123');
+ select @@mysql56_temporal_format;
+ @@mysql56_temporal_format
+-0
++1
+ select * from t1;
+ ts
+ 2016-02-15 12:50:06.123
diff --git a/mysql-test/suite/rpl/r/temporal_row-9560.result b/mysql-test/suite/rpl/r/temporal_row-9560.result
new file mode 100644
index 00000000000..c6a57d43fd0
--- /dev/null
+++ b/mysql-test/suite/rpl/r/temporal_row-9560.result
@@ -0,0 +1,15 @@
+include/master-slave.inc
+[connection master]
+select @@mysql56_temporal_format;
+@@mysql56_temporal_format
+0
+create table t1 (ts timestamp(3), t time(3), dt datetime(3));
+insert into t1 values ('2016-02-15 12:50:06.123', '12:50:06.123', '2016-02-15 12:50:06.123');
+select @@mysql56_temporal_format;
+@@mysql56_temporal_format
+0
+select * from t1;
+ts t dt
+2016-02-15 12:50:06.123 12:50:06.123 2016-02-15 12:50:06.123
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/circular_serverid0.cnf b/mysql-test/suite/rpl/t/circular_serverid0.cnf
new file mode 100644
index 00000000000..277aac2869b
--- /dev/null
+++ b/mysql-test/suite/rpl/t/circular_serverid0.cnf
@@ -0,0 +1,30 @@
+!include ../my.cnf
+
+[mysqld.1]
+gtid-domain-id=4
+server-id=4
+#
+log-slave-updates
+slave-parallel-threads=0
+gtid-strict-mode=1
+gtid-ignore-duplicates=1
+
+#
+# Max-size row events to minimum with the idea to create
+# a number of Rows_log_event per Query.
+#
+binlog-row-event-max-size=1024
+
+[mysqld.2]
+gtid-domain-id=2
+server-id=2
+#
+log-slave-updates
+slave-parallel-threads=0
+gtid-strict-mode=1
+gtid-ignore-duplicates=1
+binlog-row-event-max-size=1024
+# The slave will be initialized with a @@global.dbug-var value
+skip-slave-start=1
+
+
diff --git a/mysql-test/suite/rpl/t/circular_serverid0.test b/mysql-test/suite/rpl/t/circular_serverid0.test
new file mode 100644
index 00000000000..20ad58e2c52
--- /dev/null
+++ b/mysql-test/suite/rpl/t/circular_serverid0.test
@@ -0,0 +1,104 @@
+#
+# Testing chain/circular replication scenario of MDEV-9670
+# The effect of the bug was that we got a commit with a GTID with server_id
+#
+
+--source include/have_binlog_format_row.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+--let $rpl_topology= 1->2->1
+--source include/rpl_init.inc
+
+--let $rpl_connection_name= M4
+--let $rpl_server_number= 1
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= M2
+--let $rpl_server_number= 2
+--source include/rpl_connect.inc
+
+# The parameter reflects binlog-row-event-max-size @cnf.
+--let $row_size=1024
+
+SET @old_debug= @@global.debug;
+
+--connection M2
+STOP SLAVE;
+SET GLOBAL debug_dbug= "+d,dbug.rows_events_to_delay_relay_logging";
+START SLAVE IO_THREAD;
+--source include/wait_for_slave_io_to_start.inc
+
+--connection M2
+# This query also creates a Gtid event group whose Gtid will remain in
+# ignored status for too long causing a following group split.
+
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b VARCHAR(30000)) ENGINE=innodb;
+--sync_slave_with_master M4
+
+# This INSERT will be logged as two Write_log events which the buggy
+# slave applier would split.
+
+--connection M4
+eval INSERT INTO `t1` VALUES (null, repeat('a', $row_size)), (null, repeat('b', $row_size));
+
+# START M2 IO thread and wait for its signal to follow with the SQL
+# thread start. At this moment the SQL thread shall be having 2 and
+# "half" groups to execute. The "hafl" one would be committed by the
+# buggy applier after which the IO is released to queue the rest of
+# the 3rd group which the SQL thread commits separately to complete
+# the split.
+
+--connection M2
+
+# wait for IO signal to start the SQL thread. IO will be hanging upon that.
+SET debug_sync='now WAIT_FOR start_sql_thread';
+
+# Now the slave server has relay log whose last group is incomplete.
+# An unfixed slave server would go to "insert" a "fake"
+# Gtid_list_log_event event which actually would commit the incomplete
+# group. However before to actual commit do_apply_event() hits some assert.
+# In the fixed server the fake Gtid_list_log_event is *not* inserted
+# in the middle of a group.
+START SLAVE SQL_THREAD;
+
+# Sleep for a little time to give SQL thread a chance to commit while
+# the IO thread is hanging (see
+# DBUG_EXECUTE_IF("dbug.rows_events_to_delay_relay_logging"...) in
+# queue_event). Alternatively to reproduce the case when buggy slave
+# wait for the 1st group commit
+
+#--let $count= 1
+#--let $table= t1
+#--source include/wait_until_rows_count.inc
+
+--sleep 2
+
+# Demonstrate either no split group in the correct slave or the 1nd
+# group in the buggy one
+--source include/show_binlog_events.inc
+
+# Release the IO thread
+SET debug_sync='now SIGNAL go_on_relay_logging';
+
+# Sync servers
+--sync_slave_with_master M4
+--connection M4
+--sync_slave_with_master M2
+--connection M2
+
+# Demonstrate replication goes correctly not to create any split, or
+# the 2nd group in the buggy slave
+--source include/show_binlog_events.inc
+
+#
+# Cleanup
+#
+--connection M4
+drop table t1;
+
+--connection M2
+SET GLOBAL debug_dbug= @old_debug;
+SET debug_sync='RESET';
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/create_or_replace.inc b/mysql-test/suite/rpl/t/create_or_replace.inc
new file mode 100644
index 00000000000..7d0dc487061
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_or_replace.inc
@@ -0,0 +1,213 @@
+# Test CREATE OR REPLACE TABLE in replication
+--source include/have_innodb.inc
+
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+# Create help tables
+create table t2 (a int) engine=myisam;
+insert into t2 values (0),(1),(2),(2);
+create temporary table t3 (a_in_temporary int) engine=myisam;
+
+--echo #
+--echo # Check how create table and create or replace table are logged
+--echo #
+
+save_master_pos;
+connection server_2;
+sync_with_master;
+create table t1 (to_be_deleted int);
+
+connection server_1;
+CREATE TABLE t1 AS SELECT 1 AS f1;
+CREATE OR REPLACE TABLE t1 AS SELECT 2 AS f1;
+CREATE OR REPLACE table t1 like t2;
+CREATE OR REPLACE table t1 like t3;
+drop table t1;
+
+--echo binlog from server 1
+--source include/show_binlog_events.inc
+save_master_pos;
+connection server_2;
+sync_with_master;
+--echo binlog from server 2
+--source include/show_binlog_events.inc
+
+connection server_1;
+
+--echo #
+--echo # Ensure that also failed create_or_replace are logged
+--echo #
+
+--let $binlog_start=query_get_value(SHOW MASTER STATUS, Position, 1)
+
+create table t1 (a int);
+--error ER_TABLE_MUST_HAVE_COLUMNS
+create or replace table t1;
+drop table if exists t1;
+# The following is not logged as t1 does not exists;
+--error ER_DUP_ENTRY
+create or replace table t1 (a int primary key) select a from t2;
+
+create table t1 (a int);
+# This should as a delete as we will delete t1
+--error ER_DUP_ENTRY
+create or replace table t1 (a int primary key) select a from t2;
+
+# Same with temporary table
+create temporary table t9 (a int);
+--error ER_DUP_ENTRY
+create or replace temporary table t9 (a int primary key) select a from t2;
+
+--echo binlog from server 1
+--source include/show_binlog_events.inc
+save_master_pos;
+connection server_2;
+sync_with_master;
+show tables;
+connection server_1;
+
+--let $binlog_start=query_get_value(SHOW MASTER STATUS, Position, 1)
+create table t1 (a int);
+--error ER_DUP_FIELDNAME
+create or replace table t1 (a int, a int) select * from t2;
+--source include/show_binlog_events.inc
+
+drop table if exists t1,t2;
+drop temporary table if exists t9;
+
+--echo #
+--echo # Ensure that CREATE are run as CREATE OR REPLACE on slave
+--echo #
+
+save_master_pos;
+connection server_2;
+sync_with_master;
+create table t1 (server_2_to_be_delete int);
+connection server_1;
+create table t1 (new_table int);
+
+save_master_pos;
+connection server_2;
+sync_with_master;
+
+show create table t1;
+connection server_1;
+drop table t1;
+
+--echo #
+--echo # Check how CREATE is logged on slave in case of conflicts
+--echo #
+
+save_master_pos;
+connection server_2;
+sync_with_master;
+--let $binlog_start=query_get_value(SHOW MASTER STATUS, Position, 1)
+create table t1 (server_2_to_be_delete int);
+create table t2 (server_2_to_be_delete int);
+create table t4 (server_2_to_be_delete int);
+set @org_binlog_format=@@binlog_format;
+set @@global.binlog_format="ROW";
+stop slave;
+--source include/wait_for_slave_to_stop.inc
+start slave;
+--source include/wait_for_slave_to_start.inc
+connection server_1;
+create temporary table t9 (a int);
+insert into t9 values(1);
+create table t1 (new_table int);
+create table t2 select * from t9;
+create table t4 like t9;
+create table t5 select * from t9;
+save_master_pos;
+connection server_2;
+sync_with_master;
+--echo binlog from server 2
+--source include/show_binlog_events.inc
+set @@global.binlog_format=@org_binlog_format;
+stop slave;
+--source include/wait_for_slave_to_stop.inc
+start slave;
+--source include/wait_for_slave_to_start.inc
+connection server_1;
+drop table t1,t2,t4,t5,t9;
+
+--echo #
+--echo # Ensure that DROP TABLE is run as DROP IF NOT EXISTS
+--echo #
+
+create table t1 (server_1_ver_1 int);
+create table t4 (server_1_ver_2 int);
+
+save_master_pos;
+connection server_2;
+sync_with_master;
+--let $binlog_start=query_get_value(SHOW MASTER STATUS, Position, 1)
+
+# Drop the table on the slave
+drop table t1;
+connection server_1;
+drop table t1,t4;
+create table t1 (server_2_ver_2 int);
+save_master_pos;
+connection server_2;
+sync_with_master;
+show create table t1;
+--echo binlog from server 2
+--source include/show_binlog_events.inc
+connection server_1;
+drop table t1;
+
+--echo #
+--echo # Ensure that CREATE ... SELECT is recorded as one GTID on the slave
+--echo #
+
+save_master_pos;
+connection server_2;
+sync_with_master;
+--let $binlog_start=query_get_value(SHOW MASTER STATUS, Position, 1)
+connection server_1;
+
+create table t1 (a int);
+insert into t1 values (0),(1),(2);
+create table t2 engine=myisam select * from t1;
+create or replace table t2 engine=innodb select * from t1;
+save_master_pos;
+connection server_2;
+sync_with_master;
+--echo binlog from server 2
+--source include/show_binlog_events.inc
+connection server_1;
+drop table t1;
+
+--echo #
+--echo # Check logging of drop temporary table
+--echo #
+
+drop temporary table t3;
+
+--let $binlog_start=query_get_value(SHOW MASTER STATUS, Position, 1)
+
+set @org_binlog_format=@@binlog_format;
+set binlog_format="STATEMENT";
+create temporary table t5 (a int);
+drop temporary table t5;
+set binlog_format="ROW";
+create temporary table t6 (a int);
+drop temporary table t6;
+set binlog_format="STATEMENT";
+create temporary table t7 (a int);
+set binlog_format="ROW";
+drop temporary table t7;
+create temporary table t8 (a int);
+--error ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR
+set binlog_format="STATEMENT";
+drop temporary table t8;
+set @@binlog_format=@org_binlog_format;
+
+--source include/show_binlog_events.inc
+
+# Clean up
+drop table t2;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/create_or_replace2.test b/mysql-test/suite/rpl/t/create_or_replace2.test
new file mode 100644
index 00000000000..79c92a7ec5b
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_or_replace2.test
@@ -0,0 +1,44 @@
+--source include/have_innodb.inc
+--source include/have_binlog_format_row_or_statement.inc
+--source include/have_metadata_lock_info.inc
+--source include/master-slave.inc
+--enable_connect_log
+
+--echo #
+--echo # MDEV-6525 ; Problems with CREATE OR REPLACE under lock
+--echo #
+
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+CREATE FUNCTION f1() RETURNS INT RETURN ( SELECT MAX(a) FROM t1 );
+
+--connect (con1,localhost,root,,test)
+
+CREATE TEMPORARY TABLE tmp (b INT) ENGINE=InnoDB;
+LOCK TABLE t1 WRITE;
+
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+
+CREATE OR REPLACE TABLE t1 LIKE tmp;
+SHOW CREATE TABLE t1;
+
+--connection default
+set session lock_wait_timeout=1;
+--error 1205
+SELECT f1();
+
+set session lock_wait_timeout=@@global.lock_wait_timeout;
+--send SELECT f1()
+--connection con1
+# This is here just in case, any timeout should be ok
+--sleep 1
+unlock tables;
+--connection default
+--error 1054
+--reap
+--disconnect con1
+
+# Cleanup
+drop function f1;
+drop table t1;
+--disable_connect_log
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/create_or_replace_mix.cnf b/mysql-test/suite/rpl/t/create_or_replace_mix.cnf
new file mode 100644
index 00000000000..03d69b2864f
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_or_replace_mix.cnf
@@ -0,0 +1,9 @@
+!include suite/rpl/my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
diff --git a/mysql-test/suite/rpl/t/create_or_replace_mix.test b/mysql-test/suite/rpl/t/create_or_replace_mix.test
new file mode 100644
index 00000000000..0cabef15ad7
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_or_replace_mix.test
@@ -0,0 +1,4 @@
+# Testing create or replace table in mixed mode.
+
+--source include/have_binlog_format_mixed.inc
+--source create_or_replace.inc
diff --git a/mysql-test/suite/rpl/t/create_or_replace_row.cnf b/mysql-test/suite/rpl/t/create_or_replace_row.cnf
new file mode 100644
index 00000000000..03d69b2864f
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_or_replace_row.cnf
@@ -0,0 +1,9 @@
+!include suite/rpl/my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
diff --git a/mysql-test/suite/rpl/t/create_or_replace_row.test b/mysql-test/suite/rpl/t/create_or_replace_row.test
new file mode 100644
index 00000000000..88dd8fd2d74
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_or_replace_row.test
@@ -0,0 +1,4 @@
+# Testing create or replace table in mixed mode.
+
+--source include/have_binlog_format_row.inc
+--source create_or_replace.inc
diff --git a/mysql-test/suite/rpl/t/create_or_replace_statement.cnf b/mysql-test/suite/rpl/t/create_or_replace_statement.cnf
new file mode 100644
index 00000000000..03d69b2864f
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_or_replace_statement.cnf
@@ -0,0 +1,9 @@
+!include suite/rpl/my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
diff --git a/mysql-test/suite/rpl/t/create_or_replace_statement.test b/mysql-test/suite/rpl/t/create_or_replace_statement.test
new file mode 100644
index 00000000000..2709e4142f4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_or_replace_statement.test
@@ -0,0 +1,4 @@
+# Testing create or replace table in mixed mode.
+
+--source include/have_binlog_format_statement.inc
+--source create_or_replace.inc
diff --git a/mysql-test/suite/rpl/t/create_select.cnf b/mysql-test/suite/rpl/t/create_select.cnf
new file mode 100644
index 00000000000..65a4396edf3
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_select.cnf
@@ -0,0 +1,16 @@
+!include suite/rpl/my.cnf
+
+[mysqld.1]
+
+[mysqld.2]
+log-slave-updates
+binlog-checksum=CRC32
+
+[mysqld.3]
+log-slave-updates
+binlog-checksum=CRC32
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
+
diff --git a/mysql-test/suite/rpl/t/create_select.test b/mysql-test/suite/rpl/t/create_select.test
new file mode 100644
index 00000000000..c55dea92744
--- /dev/null
+++ b/mysql-test/suite/rpl/t/create_select.test
@@ -0,0 +1,41 @@
+--source include/have_innodb.inc
+
+--let $rpl_topology=1->2->3
+--source include/rpl_init.inc
+
+#
+# Test of MDEV-8428 Mangled DML statements on 2nd level slave when enabling
+# binlog checksums
+#
+
+connection server_1;
+
+--echo # On server_1
+CREATE DATABASE test_8428;
+USE test_8428;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1), (2), (3), (4), (5);
+CREATE TABLE t2 AS SELECT * FROM t1;
+CREATE TABLE t3 ENGINE=MyISAM AS SELECT * FROM t1;
+
+save_master_pos;
+connection server_2;
+sync_with_master;
+
+--echo # On server_2
+SHOW TABLES IN test_8428;
+
+save_master_pos;
+connection server_3;
+sync_with_master;
+
+--echo # On server_3
+SHOW TABLES IN test_8428;
+SELECT * from test_8428.t1;
+
+# Cleanup
+connection server_1;
+DROP DATABASE test_8428;
+--source include/rpl_end.inc
+--echo # End of test
+
diff --git a/mysql-test/suite/rpl/t/ignore_table_autoinc-9737.test b/mysql-test/suite/rpl/t/ignore_table_autoinc-9737.test
new file mode 100644
index 00000000000..405d1a929f1
--- /dev/null
+++ b/mysql-test/suite/rpl/t/ignore_table_autoinc-9737.test
@@ -0,0 +1,35 @@
+#
+# MDEV-9737 Duplicate error in replication with slave triggers and auto increment
+#
+source include/master-slave.inc;
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+
+
+create table t1(id int auto_increment primary key);
+create table t2(id int auto_increment primary key);
+
+sync_slave_with_master;
+create table slave_only(id int auto_increment primary key);
+insert into slave_only values(NULL);
+create trigger t1i after insert on t1 for each row insert into slave_only values(NULL);
+
+stop slave;
+set global replicate_ignore_table="test.t2";
+start slave;
+
+connection master;
+insert into t2 values(NULL);
+insert into t1 values(NULL);
+
+sync_slave_with_master;
+
+drop table t1, t2, slave_only;
+stop slave;
+set global replicate_ignore_table="";
+start slave;
+
+connection master;
+drop table t1, t2;
+
+source include/rpl_end.inc;
+
diff --git a/mysql-test/suite/rpl/t/mysql-wsrep#110-2.test b/mysql-test/suite/rpl/t/mysql-wsrep#110-2.test
new file mode 100644
index 00000000000..2b6d07913ab
--- /dev/null
+++ b/mysql-test/suite/rpl/t/mysql-wsrep#110-2.test
@@ -0,0 +1,44 @@
+#
+# codership/mysql-wsrep/110 - Assertion `table_found' failed in unpack_row() with SAVEPOINT, trigger, error handler
+#
+
+--source include/have_innodb.inc
+--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY);
+CREATE TABLE t3 (f1 INTEGER PRIMARY KEY);
+
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW CALL p1(NEW.f1);
+
+DELIMITER |;
+
+CREATE PROCEDURE p1 (IN x INT)
+BEGIN
+ DECLARE EXIT HANDLER FOR SQLEXCEPTION
+ BEGIN
+ ROLLBACK TO event_logging;
+ INSERT t3 VALUES (x);
+ END;
+ SAVEPOINT event_logging;
+
+ INSERT INTO t2 VALUES (x);
+
+ RELEASE SAVEPOINT event_logging;
+END|
+DELIMITER ;|
+
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+
+
+DROP TABLE t3;
+DROP TABLE t2;
+DROP TABLE t1;
+
+DROP PROCEDURE p1;
+
+sync_slave_with_master;
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/rpl/t/rename.test b/mysql-test/suite/rpl/t/rename.test
new file mode 100644
index 00000000000..ac499157918
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rename.test
@@ -0,0 +1,33 @@
+--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
+
+--echo #
+--echo # MDEV-16229 Replication aborts with ER_VIEW_SELECT_TMPTABLE after
+--echo # half-failed RENAME
+--echo #
+
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t1 (b INT);
+RENAME TABLE t1 TO tmp, tmp TO t1;
+SHOW CREATE TABLE t1;
+--error ER_VIEW_SELECT_TMPTABLE
+CREATE VIEW v AS SELECT * FROM t1;
+
+RENAME TABLE t1 TO tmp, t1 TO t2;
+SHOW CREATE TABLE tmp;
+SHOW CREATE TABLE t2;
+--error ER_VIEW_SELECT_TMPTABLE
+CREATE VIEW v AS SELECT * FROM tmp;
+CREATE VIEW v AS SELECT * FROM t2;
+
+--sync_slave_with_master
+
+# Cleanup
+
+--connection master
+
+DROP VIEW v;
+DROP TABLE tmp;
+DROP TABLE t2;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_000011.test b/mysql-test/suite/rpl/t/rpl_000011.test
index faad2242235..216e568fc42 100644
--- a/mysql-test/suite/rpl/t/rpl_000011.test
+++ b/mysql-test/suite/rpl/t/rpl_000011.test
@@ -11,6 +11,12 @@ insert into t1 values(1);
sync_slave_with_master;
show global status like 'com_insert';
stop slave;
+# Temporary work-around for bug MDEV-8301. There is a small window during
+# thread exit where the local status values of a thread are counted twice
+# in the global status. Remove this wait_condition.inc once MDEV-8301 is
+# fixed.
+--let $wait_condition= SELECT variable_value=1 FROM information_schema.global_status WHERE variable_name="Com_insert";
+--source include/wait_condition.inc
show global status like 'com_insert';
--source include/wait_for_slave_to_stop.inc
start slave;
diff --git a/mysql-test/suite/rpl/t/rpl_15919-master.opt b/mysql-test/suite/rpl/t/rpl_15919-master.opt
deleted file mode 100644
index 9b27aef9bf8..00000000000
--- a/mysql-test/suite/rpl/t/rpl_15919-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---lower_case_table_names=0
diff --git a/mysql-test/suite/rpl/t/rpl_15919.test b/mysql-test/suite/rpl/t/rpl_15919.test
index 0462f7fd067..a5b25929ad0 100644
--- a/mysql-test/suite/rpl/t/rpl_15919.test
+++ b/mysql-test/suite/rpl/t/rpl_15919.test
@@ -1,5 +1,7 @@
---source include/master-slave.inc
+--source include/have_case_sensitive_file_system.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
+
--connection master
create table RPL(a int);
insert into RPL values(1);
diff --git a/mysql-test/suite/rpl/t/rpl_EE_err.test b/mysql-test/suite/rpl/t/rpl_EE_err.test
index 5272b11f342..28c5af0a192 100644
--- a/mysql-test/suite/rpl/t/rpl_EE_err.test
+++ b/mysql-test/suite/rpl/t/rpl_EE_err.test
@@ -1,3 +1,2 @@
--- source include/not_ndb_default.inc
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_EE_err.test
diff --git a/mysql-test/suite/rpl/t/rpl_alter_extra_persistent.test b/mysql-test/suite/rpl/t/rpl_alter_extra_persistent.test
new file mode 100644
index 00000000000..4e604787c70
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_alter_extra_persistent.test
@@ -0,0 +1,106 @@
+--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
+
+--enable_connect_log
+--connection master
+create table t1(a int primary key);
+insert into t1 values(1);
+insert into t1 values(2);
+insert into t1 values(3);
+insert into t1 values(4);
+
+--sync_slave_with_master
+select * from t1 order by a;
+alter table t1 add column z1 int as(a+1) virtual, add column z2 int as (a+2) persistent;
+select * from t1 order by a;
+
+--connection master
+insert into t1 values(5);
+insert into t1 values(6);
+
+--sync_slave_with_master
+select * from t1 order by a;
+
+
+--echo #UPDATE query
+
+--connection master
+update t1 set a = a+10;
+select * from t1 order by a;
+
+--sync_slave_with_master
+select * from t1 order by a;
+
+--connection master
+update t1 set a = a-10;
+select * from t1 order by a;
+
+--sync_slave_with_master
+select * from t1 order by a;
+
+--echo #DELETE quert
+--connection master
+delete from t1 where a > 2 and a < 4;
+select * from t1 order by a;
+
+--sync_slave_with_master
+select * from t1 order by a;
+
+--echo #REPLACE query
+--connection master
+replace into t1 values(1);
+replace into t1 values(3);
+replace into t1 values(1);
+
+--sync_slave_with_master
+select * from t1 order by a;
+
+--echo #SELECT query
+--connection master
+select * from t1 where a > 2 and a < 4;
+
+--connection slave
+select * from t1 where a > 2 and a < 4;
+
+--echo #UPDATE with SELECT query
+--connection master
+update t1 set a = a + 10 where a > 2 and a < 4;
+select * from t1 order by a;
+
+--sync_slave_with_master
+select * from t1 order by a;
+
+--connection master
+update t1 set a = a - 10 where a = 13;
+select * from t1 order by a;
+
+--sync_slave_with_master
+select * from t1 order by a;
+
+--echo #Break Unique Constraint
+alter table t1 add column z4 int as (a % 6) persistent unique;
+
+--connection master
+
+--echo #entering duplicate value for slave persistent column
+insert into t1 values(7);
+select * from t1 order by a;
+
+--connection slave
+--let $slave_sql_errno= 1062
+--source include/wait_for_slave_sql_error.inc
+select * from t1 order by a;
+alter table t1 drop column z4;
+start slave;
+
+--source include/wait_for_slave_sql_to_start.inc
+
+--connection master
+--sync_slave_with_master
+select * from t1 order by a;
+
+--connection master
+select * from t1 order by a;
+drop table t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_auto_increment.test b/mysql-test/suite/rpl/t/rpl_auto_increment.test
index 8869e3745db..fe0f1689471 100644
--- a/mysql-test/suite/rpl/t/rpl_auto_increment.test
+++ b/mysql-test/suite/rpl/t/rpl_auto_increment.test
@@ -1,7 +1,6 @@
#####################################
# Wrapper for rpl_auto_increment.test#
#####################################
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=innodb;
let $engine_type2=myisam;
diff --git a/mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test b/mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test
index 6996e1c73c7..32f08be7c4d 100644
--- a/mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test
+++ b/mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test
@@ -5,9 +5,9 @@
# is replication unsafe.
#
-source include/master-slave.inc;
source include/have_binlog_format_mixed.inc;
source include/have_innodb.inc;
+source include/master-slave.inc;
call mtr.add_suppression('Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.');
diff --git a/mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test b/mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test
index b4798691ca3..49fbe9af570 100644
--- a/mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test
+++ b/mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test
@@ -1,6 +1,6 @@
-source include/master-slave.inc;
source include/have_innodb.inc;
source include/have_binlog_format_statement.inc;
+source include/master-slave.inc;
connection slave;
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_errors.test b/mysql-test/suite/rpl/t/rpl_binlog_errors.test
index fb3b39fac9d..6a2cf20d756 100644
--- a/mysql-test/suite/rpl/t/rpl_binlog_errors.test
+++ b/mysql-test/suite/rpl/t/rpl_binlog_errors.test
@@ -1,405 +1 @@
-# BUG#46166: MYSQL_BIN_LOG::new_file_impl is not propagating error
-# when generating new name.
-#
-# WHY
-# ===
-#
-# We want to check whether error is reported or not when
-# new_file_impl fails (this may happen when rotation is not
-# possible because there is some problem finding an
-# unique filename).
-#
-# HOW
-# ===
-#
-# Test cases are documented inline.
-
--- source include/have_innodb.inc
--- source include/have_debug.inc
--- source include/master-slave.inc
-
--- echo #######################################################################
--- echo ####################### PART 1: MASTER TESTS ##########################
--- echo #######################################################################
-
-
-### ACTION: stopping slave as it is not needed for the first part of
-### the test
-
--- connection slave
--- source include/stop_slave.inc
--- connection master
-
-call mtr.add_suppression("Can't generate a unique log-filename");
-call mtr.add_suppression("Writing one row to the row-based binary log failed.*");
-call mtr.add_suppression("Error writing file .*");
-
-SET @old_debug= @@global.debug;
-
-### ACTION: create a large file (> 4096 bytes) that will be later used
-### in LOAD DATA INFILE to check binlog errors in its vacinity
--- let $load_file= $MYSQLTEST_VARDIR/tmp/bug_46166.data
--- let $MYSQLD_DATADIR= `select @@datadir`
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SELECT repeat('x',8192) INTO OUTFILE '$load_file'
-
-### ACTION: create a small file (< 4096 bytes) that will be later used
-### in LOAD DATA INFILE to check for absence of binlog errors
-### when file loading this file does not force flushing and
-### rotating the binary log
--- let $load_file2= $MYSQLTEST_VARDIR/tmp/bug_46166-2.data
--- let $MYSQLD_DATADIR= `select @@datadir`
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SELECT repeat('x',10) INTO OUTFILE '$load_file2'
-
-RESET MASTER;
-
--- echo ###################### TEST #1
-
-### ASSERTION: no problem flushing logs (should show two binlogs)
-FLUSH LOGS;
--- echo # assert: must show two binlogs
--- source include/show_binary_logs.inc
-
--- echo ###################### TEST #2
-
-### ASSERTION: check that FLUSH LOGS actually fails and reports
-### failure back to the user if find_uniq_filename fails
-### (should show just one binlog)
-
-RESET MASTER;
-SET GLOBAL debug_dbug="+d,error_unique_log_filename";
--- error ER_NO_UNIQUE_LOGFILE
-FLUSH LOGS;
--- echo # assert: must show one binlog
--- source include/show_binary_logs.inc
-
-### ACTION: clean up and move to next test
-SET GLOBAL debug_dbug="";
-RESET MASTER;
-
--- echo ###################### TEST #3
-
-### ACTION: create some tables (t1, t2, t4) and insert some values in
-### table t1
-CREATE TABLE t1 (a INT);
-CREATE TABLE t2 (a VARCHAR(16384)) Engine=InnoDB;
-CREATE TABLE t4 (a VARCHAR(16384));
-INSERT INTO t1 VALUES (1);
-RESET MASTER;
-
-### ASSERTION: we force rotation of the binary log because it exceeds
-### the max_binlog_size option (should show two binary
-### logs)
-
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval LOAD DATA INFILE '$load_file' INTO TABLE t2
-
-# shows two binary logs
--- echo # assert: must show two binlog
--- source include/show_binary_logs.inc
-
-# clean up the table and the binlog to be used in next part of test
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
-DELETE FROM t2;
-RESET MASTER;
-
--- echo ###################### TEST #4
-
-### ASSERTION: load the big file into a transactional table and check
-### that it reports error. The table will contain the
-### changes performed despite the fact that it reported an
-### error.
-
-SET GLOBAL debug_dbug="+d,error_unique_log_filename";
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- error ER_NO_UNIQUE_LOGFILE
--- eval LOAD DATA INFILE '$load_file' INTO TABLE t2
-
-# show table
--- echo # assert: must show one entry
-SELECT count(*) FROM t2;
-
-# clean up the table and the binlog to be used in next part of test
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
-DELETE FROM t2;
-RESET MASTER;
-
--- echo ###################### TEST #5
-
-### ASSERTION: load the small file into a transactional table and
-### check that it succeeds
-
-SET GLOBAL debug_dbug="+d,error_unique_log_filename";
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval LOAD DATA INFILE '$load_file2' INTO TABLE t2
-
-# show table
--- echo # assert: must show one entry
-SELECT count(*) FROM t2;
-
-# clean up the table and the binlog to be used in next part of test
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
-DELETE FROM t2;
-RESET MASTER;
-
--- echo ###################### TEST #6
-
-### ASSERTION: check that even if one is using a transactional table
-### and explicit transactions (no autocommit) if rotation
-### fails we get the error. Transaction is not rolledback
-### because rotation happens after the commit.
-
-SET GLOBAL debug_dbug="+d,error_unique_log_filename";
-SET AUTOCOMMIT=0;
-INSERT INTO t2 VALUES ('muse');
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval LOAD DATA INFILE '$load_file' INTO TABLE t2
-INSERT INTO t2 VALUES ('muse');
--- error ER_NO_UNIQUE_LOGFILE
-COMMIT;
-
-### ACTION: Show the contents of the table after the test
--- echo # assert: must show three entries
-SELECT count(*) FROM t2;
-
-### ACTION: clean up and move to the next test
-SET AUTOCOMMIT= 1;
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
-DELETE FROM t2;
-RESET MASTER;
-
--- echo ###################### TEST #7
-
-### ASSERTION: check that on a non-transactional table, if rotation
-### fails then an error is reported and an incident event
-### is written to the current binary log.
-
-SET GLOBAL debug_dbug="+d,error_unique_log_filename";
-SELECT count(*) FROM t4;
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- error ER_NO_UNIQUE_LOGFILE
--- eval LOAD DATA INFILE '$load_file' INTO TABLE t4
-
--- echo # assert: must show 1 entry
-SELECT count(*) FROM t4;
-
--- echo ### check that the incident event is written to the current log
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
--- let $binlog_limit= 4,1
--- source include/show_binlog_events.inc
-
-# clean up and move to next test
-DELETE FROM t4;
-RESET MASTER;
-
--- echo ###################### TEST #8
-
-### ASSERTION: check that statements end up in error but they succeed
-### on changing the data.
-
-SET GLOBAL debug_dbug="+d,error_unique_log_filename";
--- echo # must show 0 entries
-SELECT count(*) FROM t4;
-SELECT count(*) FROM t2;
-
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- error ER_NO_UNIQUE_LOGFILE
--- eval LOAD DATA INFILE '$load_file' INTO TABLE t4
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- error ER_NO_UNIQUE_LOGFILE
--- eval LOAD DATA INFILE '$load_file' INTO TABLE t2
--- error ER_NO_UNIQUE_LOGFILE
-INSERT INTO t2 VALUES ('aaa'), ('bbb'), ('ccc');
-
--- echo # INFO: Count(*) Before Offending DELETEs
--- echo # assert: must show 1 entry
-SELECT count(*) FROM t4;
--- echo # assert: must show 4 entries
-SELECT count(*) FROM t2;
-
--- error ER_NO_UNIQUE_LOGFILE
-DELETE FROM t4;
--- error ER_NO_UNIQUE_LOGFILE
-DELETE FROM t2;
-
--- echo # INFO: Count(*) After Offending DELETEs
--- echo # assert: must show zero entries
-SELECT count(*) FROM t4;
-SELECT count(*) FROM t2;
-
-# remove fault injection
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
-
--- echo ###################### TEST #9
-
-### ASSERTION: check that if we disable binlogging, then statements
-### succeed.
-SET GLOBAL debug_dbug="+d,error_unique_log_filename";
-SET SQL_LOG_BIN=0;
-INSERT INTO t2 VALUES ('aaa'), ('bbb'), ('ccc'), ('ddd');
-INSERT INTO t4 VALUES ('eee'), ('fff'), ('ggg'), ('hhh');
--- echo # assert: must show four entries
-SELECT count(*) FROM t2;
-SELECT count(*) FROM t4;
-DELETE FROM t2;
-DELETE FROM t4;
--- echo # assert: must show zero entries
-SELECT count(*) FROM t2;
-SELECT count(*) FROM t4;
-SET SQL_LOG_BIN=1;
-SET GLOBAL debug_dbug="-d,error_unique_log_filename";
-
--- echo ###################### TEST #10
-
-### ASSERTION: check that error is reported if there is a failure
-### while registering the index file and the binary log
-### file or failure to write the rotate event.
-
-call mtr.add_suppression("MYSQL_BIN_LOG::open failed to sync the index file.");
-call mtr.add_suppression("Could not open .*");
-
-RESET MASTER;
-SHOW WARNINGS;
-
-# +d,fault_injection_registering_index => injects fault on MYSQL_BIN_LOG::open
-SET GLOBAL debug_dbug="+d,fault_injection_registering_index";
--- replace_regex /\.[\\\/]master/master/
--- error ER_CANT_OPEN_FILE
-FLUSH LOGS;
-SET GLOBAL debug_dbug="-d,fault_injection_registering_index";
-
--- error ER_NO_BINARY_LOGGING
-SHOW BINARY LOGS;
-
-# issue some statements and check that they don't fail
-CREATE TABLE t5 (a INT);
-INSERT INTO t4 VALUES ('bbbbb');
-INSERT INTO t2 VALUES ('aaaaa');
-DELETE FROM t4;
-DELETE FROM t2;
-DROP TABLE t5;
-
--- echo ###################### TEST #11
-
-### ASSERTION: check that error is reported if there is a failure
-### while opening the index file and the binary log file or
-### failure to write the rotate event.
-
-# restart the server so that we have binlog again
---let $rpl_server_number= 1
---source include/rpl_restart_server.inc
-
-# +d,fault_injection_openning_index => injects fault on MYSQL_BIN_LOG::open_index_file
-SET GLOBAL debug_dbug="+d,fault_injection_openning_index";
--- replace_regex /\.[\\\/]master/master/
--- error ER_CANT_OPEN_FILE
-FLUSH LOGS;
-SET GLOBAL debug_dbug="-d,fault_injection_openning_index";
-
--- error ER_FLUSH_MASTER_BINLOG_CLOSED
-RESET MASTER;
-
-# issue some statements and check that they don't fail
-CREATE TABLE t5 (a INT);
-INSERT INTO t4 VALUES ('bbbbb');
-INSERT INTO t2 VALUES ('aaaaa');
-DELETE FROM t4;
-DELETE FROM t2;
-DROP TABLE t5;
-
-# restart the server so that we have binlog again
---let $rpl_server_number= 1
---source include/rpl_restart_server.inc
-
--- echo ###################### TEST #12
-
-### ASSERTION: check that error is reported if there is a failure
-### while writing the rotate event when creating a new log
-### file.
-
-# +d,fault_injection_new_file_rotate_event => injects fault on MYSQL_BIN_LOG::MYSQL_BIN_LOG::new_file_impl
-SET GLOBAL debug_dbug="+d,fault_injection_new_file_rotate_event";
--- error ER_ERROR_ON_WRITE
-FLUSH LOGS;
-SET GLOBAL debug_dbug="-d,fault_injection_new_file_rotate_event";
-
--- error ER_FLUSH_MASTER_BINLOG_CLOSED
-RESET MASTER;
-
-# issue some statements and check that they don't fail
-CREATE TABLE t5 (a INT);
-INSERT INTO t4 VALUES ('bbbbb');
-INSERT INTO t2 VALUES ('aaaaa');
-DELETE FROM t4;
-DELETE FROM t2;
-DROP TABLE t5;
-
-# restart the server so that we have binlog again
---let $rpl_server_number= 1
---source include/rpl_restart_server.inc
-
-## clean up
-SET GLOBAL debug_dbug= @old_debug;
-DROP TABLE t1, t2, t4;
-RESET MASTER;
-
-# restart slave again
--- connection slave
--- source include/start_slave.inc
--- connection master
-
--- echo #######################################################################
--- echo ####################### PART 2: SLAVE TESTS ###########################
--- echo #######################################################################
-
-### setup
---source include/rpl_reset.inc
--- connection slave
-
-# slave suppressions
-
-call mtr.add_suppression("Slave I/O: Relay log write failure: could not queue event from master.*");
-call mtr.add_suppression("Error writing file .*");
-call mtr.add_suppression("Could not open .*");
-call mtr.add_suppression("MYSQL_BIN_LOG::open failed to sync the index file.");
-call mtr.add_suppression("Can't generate a unique log-filename .*");
--- echo ###################### TEST #13
-
-#### ASSERTION: check against unique log filename error
--- let $io_thd_injection_fault_flag= error_unique_log_filename
--- let $slave_io_errno= 1595
--- let $show_slave_io_error= 1
--- source include/io_thd_fault_injection.inc
-
--- echo ###################### TEST #14
-
-#### ASSERTION: check against rotate failing
--- let $io_thd_injection_fault_flag= fault_injection_new_file_rotate_event
--- let $slave_io_errno= 1595
--- let $show_slave_io_error= 1
--- source include/io_thd_fault_injection.inc
-
--- echo ###################### TEST #15
-
-#### ASSERTION: check against relay log open failure
--- let $io_thd_injection_fault_flag= fault_injection_registering_index
--- let $slave_io_errno= 1595
--- let $show_slave_io_error= 1
--- source include/io_thd_fault_injection.inc
-
--- echo ###################### TEST #16
-
-#### ASSERTION: check against relay log index open failure
--- let $io_thd_injection_fault_flag= fault_injection_openning_index
--- let $slave_io_errno= 1595
--- let $show_slave_io_error= 1
--- source include/io_thd_fault_injection.inc
-
-### clean up
--- source include/stop_slave_sql.inc
-SET GLOBAL debug_dbug=@old_debug;
-RESET SLAVE;
-RESET MASTER;
---let $rpl_only_running_threads= 1
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_binlog_errors.inc
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_grant.test b/mysql-test/suite/rpl/t/rpl_binlog_grant.test
index 26ebb29ae8d..f8513021134 100644
--- a/mysql-test/suite/rpl/t/rpl_binlog_grant.test
+++ b/mysql-test/suite/rpl/t/rpl_binlog_grant.test
@@ -16,6 +16,7 @@ create table t (s1 int) engine=innodb;
set @@autocommit=0;
start transaction;
insert into t values (1);
+create user x@y;
grant select on t to x@y;
let $wait_binlog_event= grant select;
source include/wait_for_binlog_event.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_bit.test b/mysql-test/suite/rpl/t/rpl_bit.test
index 67606e5d509..305a2abcf3a 100644
--- a/mysql-test/suite/rpl/t/rpl_bit.test
+++ b/mysql-test/suite/rpl/t/rpl_bit.test
@@ -6,7 +6,6 @@
#############################################################################
# Change Author: JBM
# Change Date: 2006-01-16
-# Change: Added Order by for NDB
##########
-- source include/master-slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_blackhole.test b/mysql-test/suite/rpl/t/rpl_blackhole.test
index 5f9b955aaa4..76b2e2421c9 100644
--- a/mysql-test/suite/rpl/t/rpl_blackhole.test
+++ b/mysql-test/suite/rpl/t/rpl_blackhole.test
@@ -15,8 +15,8 @@
# primary key lookup), and index/key with multiple matches (forcing an
# index search).
-source include/master-slave.inc;
source include/have_blackhole.inc;
+source include/master-slave.inc;
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
diff --git a/mysql-test/suite/rpl/t/rpl_bug26395.test b/mysql-test/suite/rpl/t/rpl_bug26395.test
index 9f45db85fb7..2d6252c3ad9 100644
--- a/mysql-test/suite/rpl/t/rpl_bug26395.test
+++ b/mysql-test/suite/rpl/t/rpl_bug26395.test
@@ -4,9 +4,6 @@
# just before writing the XID log event is executed correctly. The
# master rolls back, so the slave should not execute statement.
#
-# This test was previously part of rpl_ndb_transaction.test
-#
-#
# ==== Method ====
#
# We want master to be alive so that it can replicate the statement to
diff --git a/mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test b/mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test
index a97801f9ab0..6d222cba115 100644
--- a/mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test
+++ b/mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test
@@ -1,77 +1 @@
-#
-# Bug#11747416 : 32228 A disk full makes binary log corrupt.
-#
-#
-# The test demonstrates reading from binlog error propagation to slave
-# and reporting there.
-# Conditions for the bug include a crash at time of the last event to
-# the binlog was written partly. With the fixes the event is not sent out
-# any longer, but rather the dump thread sends out a sound error message.
-#
-# Crash is not simulated. A binlog with partly written event in its end is installed
-# and replication is started from it.
-#
-
---source include/master-slave.inc
---source include/have_binlog_format_mixed.inc
-
---connection slave
-# Make sure the slave is stopped while we are messing with master.
-# Otherwise we get occasional failures as the slave manages to re-connect
-# to the newly started master and we get extra events applied, causing
-# conflicts.
---source include/stop_slave.inc
-
---connection master
-call mtr.add_suppression("Error in Log_event::read_log_event()");
---let $datadir= `SELECT @@datadir`
-
---let $rpl_server_number= 1
---source include/rpl_stop_server.inc
-
---remove_file $datadir/master-bin.000001
---copy_file $MYSQL_TEST_DIR/std_data/bug11747416_32228_binlog.000001 $datadir/master-bin.000001
-
---let $rpl_server_number= 1
---source include/rpl_start_server.inc
-
---source include/wait_until_connected_again.inc
-
-# evidence of the partial binlog
---error ER_ERROR_WHEN_EXECUTING_COMMAND
-show binlog events;
-
---connection slave
-call mtr.add_suppression("Slave I/O: Got fatal error 1236 from master when reading data from binary log");
-reset slave;
-start slave;
-
-# ER_MASTER_FATAL_ERROR_READING_BINLOG 1236
---let $slave_param=Last_IO_Errno
---let $slave_param_value=1236
---source include/wait_for_slave_param.inc
-
---let $slave_field_result_replace= / at [0-9]*/ at XXX/
---let $status_items= Last_IO_Errno, Last_IO_Error
---source include/show_slave_status.inc
-
-#
-# Cleanup
-#
-
---connection master
-reset master;
-
---connection slave
-stop slave;
-reset slave;
-# Table was created from binlog, it may not be created if SQL thread is running
-# slowly and IO thread reaches incident before SQL thread applies it.
---disable_warnings
-drop table if exists t;
---enable_warnings
-reset master;
-
---echo End of the tests
---let $rpl_only_running_threads= 1
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_cant_read_event_incident.inc
diff --git a/mysql-test/suite/rpl/t/rpl_checksum.test b/mysql-test/suite/rpl/t/rpl_checksum.test
index 0f0b84aa632..8e006b1b6a0 100644
--- a/mysql-test/suite/rpl/t/rpl_checksum.test
+++ b/mysql-test/suite/rpl/t/rpl_checksum.test
@@ -1,268 +1 @@
-# WL2540 replication events checksum
-# Testing configuration parameters
-
---source include/master-slave.inc
---source include/have_debug.inc
---source include/have_binlog_format_mixed.inc
-
-call mtr.add_suppression('Slave can not handle replication events with the checksum that master is configured to log');
-call mtr.add_suppression('Replication event checksum verification failed');
-# due to C failure simulation
-call mtr.add_suppression('Relay log write failure: could not queue event from master');
-call mtr.add_suppression('Master is configured to log replication events with checksum, but will not send such events to slaves that cannot process them');
-
-# A. read/write access to the global vars:
-# binlog_checksum master_verify_checksum slave_sql_verify_checksum
-
-connection master;
-
-set @master_save_binlog_checksum= @@global.binlog_checksum;
-set @save_master_verify_checksum = @@global.master_verify_checksum;
-
-select @@global.binlog_checksum as 'must be CRC32 because of the command line option';
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-select @@session.binlog_checksum as 'no session var';
-
-select @@global.master_verify_checksum as 'must be zero because of default';
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-select @@session.master_verify_checksum as 'no session var';
-
-connection slave;
-
-set @slave_save_binlog_checksum= @@global.binlog_checksum;
-set @save_slave_sql_verify_checksum = @@global.slave_sql_verify_checksum;
-
-select @@global.slave_sql_verify_checksum as 'must be one because of default';
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-select @@session.slave_sql_verify_checksum as 'no session var';
-
-connection master;
-
-source include/show_binary_logs.inc;
-set @@global.binlog_checksum = NONE;
-select @@global.binlog_checksum;
---echo *** must be rotations seen ***
-source include/show_binary_logs.inc;
-
-set @@global.binlog_checksum = default;
-select @@global.binlog_checksum;
-
-# testing lack of side-effects in non-effective update of binlog_checksum:
-set @@global.binlog_checksum = CRC32;
-select @@global.binlog_checksum;
-set @@global.binlog_checksum = CRC32;
-
-set @@global.master_verify_checksum = 0;
-set @@global.master_verify_checksum = default;
-
---error ER_WRONG_VALUE_FOR_VAR
-set @@global.binlog_checksum = ADLER32;
---error ER_WRONG_VALUE_FOR_VAR
-set @@global.master_verify_checksum = 2; # the var is of bool type
-
-connection slave;
-
-set @@global.slave_sql_verify_checksum = 0;
-set @@global.slave_sql_verify_checksum = default;
---error ER_WRONG_VALUE_FOR_VAR
-set @@global.slave_sql_verify_checksum = 2; # the var is of bool type
-
-#
-# B. Old Slave to New master conditions
-#
-# while master does not send a checksum-ed binlog the Old Slave can
-# work with the New Master
-
-connection master;
-
-set @@global.binlog_checksum = NONE;
-create table t1 (a int);
-
-# testing that binlog rotation preserves opt_binlog_checksum value
-flush logs;
-flush logs;
-flush logs;
-
-sync_slave_with_master;
-#connection slave;
-# checking that rotation on the slave side leaves slave stable
-flush logs;
-flush logs;
-flush logs;
-select count(*) as zero from t1;
-
-source include/stop_slave.inc;
-
-connection master;
-set @@global.binlog_checksum = CRC32;
-insert into t1 values (1) /* will not be applied on slave due to simulation */;
-
-# instruction to the dump thread
-
-connection slave;
-set @@global.debug_dbug='d,simulate_slave_unaware_checksum';
-start slave;
---let $slave_io_errno= 1236
---let $show_slave_io_error= 1
-source include/wait_for_slave_io_error.inc;
-
-select count(*) as zero from t1;
-
-###connection master;
-set @@global.debug_dbug='';
-
-connection slave;
-source include/start_slave.inc;
-
-#
-# C. checksum failure simulations
-#
-
-# C1. Failure by a client thread
-connection master;
-set @@global.master_verify_checksum = 1;
-set @@session.debug_dbug='d,simulate_checksum_test_failure';
---error ER_ERROR_WHEN_EXECUTING_COMMAND
-show binlog events;
-set @@session.debug_dbug='';
-set @@global.master_verify_checksum = default;
-
-#connection master;
-sync_slave_with_master;
-
-connection slave;
-source include/stop_slave.inc;
-
-connection master;
-create table t2 (a int);
-let $pos_master= query_get_value(SHOW MASTER STATUS, Position, 1);
-
-connection slave;
-
-# C2. Failure by IO thread
-# instruction to io thread
-set @@global.debug_dbug='d,simulate_checksum_test_failure';
-start slave io_thread;
-# When the checksum error is detected, the slave sets error code 1913
-# (ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE) in queue_event(), then immediately
-# sets error 1595 (ER_SLAVE_RELAY_LOG_WRITE_FAILURE) in handle_slave_io().
-# So we usually get 1595, but it is occasionally possible to get 1913.
---let $slave_io_errno= 1595,1913
---let $show_slave_io_error= 0
-source include/wait_for_slave_io_error.inc;
-set @@global.debug_dbug='';
-
-# to make IO thread re-read it again w/o the failure
-start slave io_thread;
-let $slave_param= Read_Master_Log_Pos;
-let $slave_param_value= $pos_master;
-source include/wait_for_slave_param.inc;
-
-# C3. Failure by SQL thread
-# instruction to sql thread;
-set @@global.slave_sql_verify_checksum = 1;
-
-set @@global.debug_dbug='d,simulate_checksum_test_failure';
-
-start slave sql_thread;
---let $slave_sql_errno= 1593
---let $show_slave_sql_error= 1
-source include/wait_for_slave_sql_error.inc;
-
-# resuming SQL thread to parse out the event w/o the failure
-
-set @@global.debug_dbug='';
-source include/start_slave.inc;
-
-connection master;
-sync_slave_with_master;
-
-#connection slave;
-select count(*) as 'must be zero' from t2;
-
-#
-# D. Reset slave, Change-Master, Binlog & Relay-log rotations with
-# random value on binlog_checksum on both master and slave
-#
-connection slave;
-stop slave;
-reset slave;
-
-# randomize slave server's own checksum policy
-set @@global.binlog_checksum= IF(floor((rand()*1000)%2), "CRC32", "NONE");
-flush logs;
-
-connection master;
-set @@global.binlog_checksum= CRC32;
-reset master;
-flush logs;
-create table t3 (a int, b char(5));
-
-connection slave;
-source include/start_slave.inc;
-
-connection master;
-sync_slave_with_master;
-
-#connection slave;
-select count(*) as 'must be zero' from t3;
-source include/stop_slave.inc;
---replace_result $MASTER_MYPORT MASTER_PORT
-eval change master to master_host='127.0.0.1',master_port=$MASTER_MYPORT, master_user='root';
-
-connection master;
-flush logs;
-reset master;
-insert into t3 value (1, @@global.binlog_checksum);
-
-connection slave;
-source include/start_slave.inc;
-flush logs;
-
-connection master;
-sync_slave_with_master;
-
-#connection slave;
-select count(*) as 'must be one' from t3;
-
-connection master;
-set @@global.binlog_checksum= IF(floor((rand()*1000)%2), "CRC32", "NONE");
-insert into t3 value (1, @@global.binlog_checksum);
-sync_slave_with_master;
-
-#connection slave;
-
-#clean-up
-
-connection master;
-drop table t1, t2, t3;
-set @@global.binlog_checksum = @master_save_binlog_checksum;
-set @@global.master_verify_checksum = @save_master_verify_checksum;
-
-#
-# BUG#58564: flush_read_lock fails in mysql-trunk-bugfixing after merging with WL#2540
-#
-# Sanity check that verifies that no assertions are triggered because
-# of old FD events (generated by versions prior to server released with
-# checksums feature)
-#
-# There is no need for query log, if something wrong this should trigger
-# an assertion
-
---disable_query_log
-
-BINLOG '
-MfmqTA8BAAAAZwAAAGsAAAABAAQANS41LjctbTMtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAx+apMEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA==
-';
-
---enable_query_log
-
-#connection slave;
-sync_slave_with_master;
-set @@global.binlog_checksum = @slave_save_binlog_checksum;
-set @@global.slave_sql_verify_checksum = @save_slave_sql_verify_checksum;
-
---echo End of tests
-
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_checksum.inc
diff --git a/mysql-test/suite/rpl/t/rpl_checksum_cache.test b/mysql-test/suite/rpl/t/rpl_checksum_cache.test
index 5667d599aff..56c3e1e1cb5 100644
--- a/mysql-test/suite/rpl/t/rpl_checksum_cache.test
+++ b/mysql-test/suite/rpl/t/rpl_checksum_cache.test
@@ -1,255 +1 @@
--- source include/have_innodb.inc
--- source include/master-slave.inc
-
---disable_warnings
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement: insert into t2 set data=repeat.*'a', @act_size.*");
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement: insert into t1 values.* NAME_CONST.*'n',.*, @data .*");
---enable_warnings
-
-connection master;
-set @save_binlog_cache_size = @@global.binlog_cache_size;
-set @save_binlog_checksum = @@global.binlog_checksum;
-set @save_master_verify_checksum = @@global.master_verify_checksum;
-set @@global.binlog_cache_size = 4096;
-set @@global.binlog_checksum = CRC32;
-set @@global.master_verify_checksum = 1;
-
-# restart slave to force the dump thread to verify events (on master side)
-connection slave;
-source include/stop_slave.inc;
-source include/start_slave.inc;
-
-connection master;
-
-#
-# Testing a critical part of checksum handling dealing with transaction cache.
-# The cache's buffer size is set to be less than the transaction's footprint
-# in binlog.
-#
-# To verify combined buffer-by-buffer read out of the file and fixing crc per event
-# there are the following parts:
-#
-# 1. the event size is much less than the cache's buffer
-# 2. the event size is bigger than the cache's buffer
-# 3. the event size if approximately the same as the cache's buffer
-# 4. all in above
-
-#
-# 1. the event size is much less than the cache's buffer
-#
-
-flush status;
-show status like "binlog_cache_use";
-show status like "binlog_cache_disk_use";
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-#
-# parameter to ensure the test slightly varies binlog content
-# between different invocations
-#
-let $deviation_size=32;
-eval create table t1 (a int PRIMARY KEY, b CHAR($deviation_size)) engine=innodb;
-
-# Now we are going to create transaction which is long enough so its
-# transaction binlog will be flushed to disk...
-
-delimiter |;
-create procedure test.p_init (n int, size int)
-begin
- while n > 0 do
- select round(RAND() * size) into @act_size;
- set @data = repeat('a', @act_size);
- insert into t1 values(n, @data );
- set n= n-1;
- end while;
-end|
-
-delimiter ;|
-
-let $1 = 4000; # PB2 can run it slow to time out on following sync_slave_with_master:s
-
-begin;
---disable_warnings
-# todo: check if it is really so.
-#+Note 1592 Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT. Reason for unsafeness: Statement uses a system function whose value may differ on slave.
-eval call test.p_init($1, $deviation_size);
---enable_warnings
-commit;
-
-show status like "binlog_cache_use";
---echo *** binlog_cache_disk_use must be non-zero ***
-show status like "binlog_cache_disk_use";
-
-sync_slave_with_master;
-
-let $diff_tables=master:test.t1, slave:test.t1;
-source include/diff_tables.inc;
-
-# undoing changes with verifying the above once again
-connection master;
-
-begin;
-delete from t1;
-commit;
-
-sync_slave_with_master;
-
-
-#
-# 2. the event size is bigger than the cache's buffer
-#
-connection master;
-
-flush status;
-let $t2_data_size= `select 3 * @@global.binlog_cache_size`;
-let $t2_aver_size= `select 2 * @@global.binlog_cache_size`;
-let $t2_max_rand= `select 1 * @@global.binlog_cache_size`;
-
-eval create table t2(a int auto_increment primary key, data VARCHAR($t2_data_size)) ENGINE=Innodb;
-let $1=100;
---disable_query_log
-begin;
-while ($1)
-{
- eval select round($t2_aver_size + RAND() * $t2_max_rand) into @act_size;
- set @data = repeat('a', @act_size);
- insert into t2 set data = @data;
- dec $1;
-}
-commit;
---enable_query_log
-show status like "binlog_cache_use";
---echo *** binlog_cache_disk_use must be non-zero ***
-show status like "binlog_cache_disk_use";
-
-sync_slave_with_master;
-
-let $diff_tables=master:test.t2, slave:test.t2;
-source include/diff_tables.inc;
-
-# undoing changes with verifying the above once again
-connection master;
-
-begin;
-delete from t2;
-commit;
-
-sync_slave_with_master;
-
-#
-# 3. the event size if approximately the same as the cache's buffer
-#
-
-connection master;
-
-flush status;
-let $t3_data_size= `select 2 * @@global.binlog_cache_size`;
-let $t3_aver_size= `select (9 * @@global.binlog_cache_size) / 10`;
-let $t3_max_rand= `select (2 * @@global.binlog_cache_size) / 10`;
-
-eval create table t3(a int auto_increment primary key, data VARCHAR($t3_data_size)) engine=innodb;
-
-let $1= 300;
---disable_query_log
-begin;
-while ($1)
-{
- eval select round($t3_aver_size + RAND() * $t3_max_rand) into @act_size;
- insert into t3 set data= repeat('a', @act_size);
- dec $1;
-}
-commit;
---enable_query_log
-show status like "binlog_cache_use";
---echo *** binlog_cache_disk_use must be non-zero ***
-show status like "binlog_cache_disk_use";
-
-sync_slave_with_master;
-
-let $diff_tables=master:test.t3, slave:test.t3;
-source include/diff_tables.inc;
-
-# undoing changes with verifying the above once again
-connection master;
-
-begin;
-delete from t3;
-commit;
-
-sync_slave_with_master;
-
-
-#
-# 4. all in above
-#
-
-connection master;
-flush status;
-
-delimiter |;
-eval create procedure test.p1 (n int)
-begin
- while n > 0 do
- case (select (round(rand()*100) % 3) + 1)
- when 1 then
- select round(RAND() * $deviation_size) into @act_size;
- set @data = repeat('a', @act_size);
- insert into t1 values(n, @data);
- when 2 then
- begin
- select round($t2_aver_size + RAND() * $t2_max_rand) into @act_size;
- insert into t2 set data=repeat('a', @act_size);
- end;
- when 3 then
- begin
- select round($t3_aver_size + RAND() * $t3_max_rand) into @act_size;
- insert into t3 set data= repeat('a', @act_size);
- end;
- end case;
- set n= n-1;
- end while;
-end|
-delimiter ;|
-
-let $1= 1000;
-set autocommit= 0;
-begin;
---disable_warnings
-eval call test.p1($1);
---enable_warnings
-commit;
-
-show status like "binlog_cache_use";
---echo *** binlog_cache_disk_use must be non-zero ***
-show status like "binlog_cache_disk_use";
-
-sync_slave_with_master;
-
-let $diff_tables=master:test.t1, slave:test.t1;
-source include/diff_tables.inc;
-
-let $diff_tables=master:test.t2, slave:test.t2;
-source include/diff_tables.inc;
-
-let $diff_tables=master:test.t3, slave:test.t3;
-source include/diff_tables.inc;
-
-
-connection master;
-
-begin;
-delete from t1;
-delete from t2;
-delete from t3;
-commit;
-
-drop table t1, t2, t3;
-set @@global.binlog_cache_size = @save_binlog_cache_size;
-set @@global.binlog_checksum = @save_binlog_checksum;
-set @@global.master_verify_checksum = @save_master_verify_checksum;
-drop procedure test.p_init;
-drop procedure test.p1;
-
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_checksum_cache.inc
diff --git a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test
index ec64c94b9c0..aea43a1c2a1 100644
--- a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test
+++ b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test
@@ -98,7 +98,7 @@ INSERT INTO t1(b,c) VALUES('B',2);
# Wait while C will stop.
--connection server_3
# 1062 = ER_DUP_ENTRY
-call mtr.add_suppression("Slave SQL.*Duplicate entry .6. for key .PRIMARY.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Duplicate entry .6. for key .PRIMARY.* error.* 1062");
--let $slave_sql_errno= 1062
--source include/wait_for_slave_sql_error.inc
--connection server_1
diff --git a/mysql-test/suite/rpl/t/rpl_commit_after_flush.test b/mysql-test/suite/rpl/t/rpl_commit_after_flush.test
index 5e070b14301..1e2ca875190 100644
--- a/mysql-test/suite/rpl/t/rpl_commit_after_flush.test
+++ b/mysql-test/suite/rpl/t/rpl_commit_after_flush.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
-- source include/master-slave.inc
let $engine_type=innodb;
diff --git a/mysql-test/suite/rpl/t/rpl_concurrency_error.test b/mysql-test/suite/rpl/t/rpl_concurrency_error.test
index 15d5d5502a1..c5cebb953e4 100644
--- a/mysql-test/suite/rpl/t/rpl_concurrency_error.test
+++ b/mysql-test/suite/rpl/t/rpl_concurrency_error.test
@@ -17,9 +17,9 @@
# log, the error is ignored and only the non-transactional tables are changed.
###############################################################################
---source include/master-slave.inc
--source include/have_innodb.inc
--source include/have_binlog_format_statement.inc
+--source include/master-slave.inc
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
diff --git a/mysql-test/suite/rpl/t/rpl_conditional_comments.test b/mysql-test/suite/rpl/t/rpl_conditional_comments.test
index 88adf3a20f1..bcc964a92c7 100644
--- a/mysql-test/suite/rpl/t/rpl_conditional_comments.test
+++ b/mysql-test/suite/rpl/t/rpl_conditional_comments.test
@@ -4,12 +4,12 @@
# master. So they become common comments and will not be applied on slave.
#
# - Example:
-# 'INSERT INTO t1 VALUES (1) /*!10000, (2)*/ /*!99999 ,(3)*/
+# 'INSERT INTO t1 VALUES (1) /*!10000, (2)*/ /*!999999 ,(3)*/
# will be binlogged as
# 'INSERT INTO t1 VALUES (1) /*!10000, (2)*/ /* 99999 ,(3)*/'.
###############################################################################
-source include/master-slave.inc;
source include/have_binlog_format_statement.inc;
+source include/master-slave.inc;
CREATE TABLE t1(c1 INT);
source include/show_binlog_events.inc;
@@ -21,7 +21,7 @@ let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
--echo # In a statement, some CCs are applied while others are not. The CCs
--echo # which are not applied on master will be binlogged as common comments.
-/*!99999 --- */INSERT /*!INTO*/ /*!10000 t1 */ VALUES(10) /*!99999 ,(11)*/;
+/*!999999 --- */INSERT /*!INTO*/ /*!10000 t1 */ VALUES(10) /*!999999 ,(11)*/;
source include/show_binlog_events.inc;
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
@@ -35,7 +35,7 @@ sync_slave_with_master;
--echo # Verify whether it can be binlogged correctly when executing prepared
--echo # statement.
--connection master
-PREPARE stmt FROM 'INSERT INTO /*!99999 blabla*/ t1 VALUES(60) /*!99999 ,(61)*/';
+PREPARE stmt FROM 'INSERT INTO /*!999999 blabla*/ t1 VALUES(60) /*!999999 ,(61)*/';
EXECUTE stmt;
DROP TABLE t1;
CREATE TABLE t1(c1 INT);
@@ -48,7 +48,7 @@ sync_slave_with_master;
--connection master
--echo
SET @value=62;
-PREPARE stmt FROM 'INSERT INTO /*!99999 blabla */ t1 VALUES(?) /*!99999 ,(63)*/';
+PREPARE stmt FROM 'INSERT INTO /*!999999 blabla */ t1 VALUES(?) /*!999999 ,(63)*/';
EXECUTE stmt USING @value;
DROP TABLE t1;
CREATE TABLE t1(c1 INT);
@@ -68,7 +68,7 @@ sync_slave_with_master;
--echo # comments
--connection master
--error 1064
-SELECT c1 FROM /*!99999 t1 WHEREN;
+SELECT c1 FROM /*!999999 t1 WHEREN;
DROP TABLE t1;
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_corruption.test b/mysql-test/suite/rpl/t/rpl_corruption.test
index c5625b4d002..310b0cef8e8 100644
--- a/mysql-test/suite/rpl/t/rpl_corruption.test
+++ b/mysql-test/suite/rpl/t/rpl_corruption.test
@@ -1,169 +1 @@
-############################################################
-# Purpose: WL#5064 Testing with corrupted events.
-# The test emulates the corruption at the vary stages
-# of replication:
-# - in binlog file
-# - in network
-# - in relay log
-############################################################
-
-#
-# The tests intensively utilize @@global.debug. Note,
-# Bug#11765758 - 58754,
-# @@global.debug is read by the slave threads through dbug-interface.
-# Hence, before a client thread set @@global.debug we have to ensure that:
-# (a) the slave threads are stopped, or (b) the slave threads are in
-# sync and waiting.
-
---source include/have_debug.inc
---source include/master-slave.inc
-
-# Block legal errors for MTR
-call mtr.add_suppression('Found invalid event in binary log');
-call mtr.add_suppression('Slave I/O: Relay log write failure: could not queue event from master');
-call mtr.add_suppression('event read from binlog did not pass crc check');
-call mtr.add_suppression('Replication event checksum verification failed');
-call mtr.add_suppression('Event crc check failed! Most likely there is event corruption');
-call mtr.add_suppression('Slave SQL: Error initializing relay log position: I/O error reading event at position .*, Error_code: 1593');
-
-SET @old_master_verify_checksum = @@master_verify_checksum;
-
-# Creating test table/data and set corruption position for testing
---echo # 1. Creating test table/data and set corruption position for testing
---connection master
---echo * insert/update/delete rows in table t1 *
-# Corruption algorithm modifies only the first event and
-# then will be reset. To avoid checking always the first event
-# from binlog (usually it is FD) we randomly execute different
-# statements and set position for corruption inside events.
-
-CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b VARCHAR(10), c VARCHAR(100));
---disable_query_log
-let $i=`SELECT 3+CEILING(10*RAND())`;
-let $j=1;
-let $pos=0;
-while ($i) {
- eval INSERT INTO t1 VALUES ($j, 'a', NULL);
- if (`SELECT RAND() > 0.7`)
- {
- eval UPDATE t1 SET c = REPEAT('a', 20) WHERE a = $j;
- }
- if (`SELECT RAND() > 0.8`)
- {
- eval DELETE FROM t1 WHERE a = $j;
- }
- if (!$pos) {
- let $pos= query_get_value(SHOW MASTER STATUS, Position, 1);
- --sync_slave_with_master
- --source include/stop_slave.inc
- --disable_query_log
- --connection master
- }
- dec $i;
- inc $j;
-}
---enable_query_log
-
-
-# Emulate corruption in binlog file when SHOW BINLOG EVENTS is executing
---echo # 2. Corruption in master binlog and SHOW BINLOG EVENTS
-SET GLOBAL debug_dbug="+d,corrupt_read_log_event_char";
---echo SHOW BINLOG EVENTS;
---disable_query_log
-send_eval SHOW BINLOG EVENTS FROM $pos;
---enable_query_log
---error ER_ERROR_WHEN_EXECUTING_COMMAND
-reap;
-
-SET GLOBAL debug_dbug="-d,corrupt_read_log_event_char";
-
-# Emulate corruption on master with crc checking on master
---echo # 3. Master read a corrupted event from binlog and send the error to slave
-
-# We have a rare but nasty potential race here: if the dump thread on
-# the master for the _old_ slave connection has not yet discovered
-# that the slave has disconnected, we will inject the corrupt event on
-# the wrong connection, and the test will fail
-# (+d,corrupt_read_log_event2 corrupts only one event).
-# So kill any lingering dump thread (we need to kill; otherwise dump thread
-# could manage to send all events down the socket before seeing it close, and
-# hang forever waiting for new binlog events to be created).
-let $id= `select id from information_schema.processlist where command = "Binlog Dump"`;
-if ($id)
-{
- --disable_query_log
- --error 0,1094
- eval kill $id;
- --enable_query_log
-}
-let $wait_condition=
- SELECT COUNT(*)=0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE command = 'Binlog Dump';
---source include/wait_condition.inc
-
-SET GLOBAL debug_dbug="+d,corrupt_read_log_event2";
---connection slave
-START SLAVE IO_THREAD;
-let $slave_io_errno= 1236;
---source include/wait_for_slave_io_error.inc
---connection master
-SET GLOBAL debug_dbug="-d,corrupt_read_log_event2";
-
-# Emulate corruption on master without crc checking on master
---echo # 4. Master read a corrupted event from binlog and send it to slave
---connection master
-SET GLOBAL master_verify_checksum=0;
-SET GLOBAL debug_dbug="+d,corrupt_read_log_event2";
---connection slave
-START SLAVE IO_THREAD;
-# When the checksum error is detected, the slave sets error code 1913
-# (ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE) in queue_event(), then immediately
-# sets error 1595 (ER_SLAVE_RELAY_LOG_WRITE_FAILURE) in handle_slave_io().
-# So we usually get 1595, but it is occasionally possible to get 1913.
-let $slave_io_errno= 1595,1913;
---source include/wait_for_slave_io_error.inc
---connection master
-SET GLOBAL debug_dbug="-d,corrupt_read_log_event2";
-SET GLOBAL debug_dbug= "";
-SET GLOBAL master_verify_checksum=1;
-
-# Emulate corruption in network
---echo # 5. Slave. Corruption in network
---connection slave
-SET GLOBAL debug_dbug="+d,corrupt_queue_event";
-START SLAVE IO_THREAD;
-let $slave_io_errno= 1595,1913;
---source include/wait_for_slave_io_error.inc
-SET GLOBAL debug_dbug="-d,corrupt_queue_event";
-
-# Emulate corruption in relay log
---echo # 6. Slave. Corruption in relay log
-
-SET GLOBAL debug_dbug="+d,corrupt_read_log_event_char";
-
-START SLAVE SQL_THREAD;
-let $slave_sql_errno= 1593;
---source include/wait_for_slave_sql_error.inc
-
-SET GLOBAL debug_dbug="-d,corrupt_read_log_event_char";
-SET GLOBAL debug_dbug= "";
-
-# Start normal replication and compare same table on master
-# and slave
---echo # 7. Seek diff for tables on master and slave
---connection slave
---source include/start_slave.inc
---connection master
---sync_slave_with_master
-let $diff_tables= master:test.t1, slave:test.t1;
---source include/diff_tables.inc
-
-# Clean up
---echo # 8. Clean up
---connection master
-SET GLOBAL debug_dbug= "";
-SET GLOBAL master_verify_checksum = @old_master_verify_checksum;
-DROP TABLE t1;
---sync_slave_with_master
-SET GLOBAL debug_dbug= "";
-
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_corruption.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_db.test b/mysql-test/suite/rpl/t/rpl_create_drop_db.test
new file mode 100644
index 00000000000..04721c9c6e8
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_db.test
@@ -0,0 +1,33 @@
+--source include/master-slave.inc
+
+connection master;
+
+CREATE DATABASE db1;
+CREATE DATABASE IF NOT EXISTS db1;
+CREATE OR REPLACE DATABASE db2;
+CREATE OR REPLACE DATABASE db1;
+sync_slave_with_master;
+
+SHOW DATABASES LIKE 'db%';
+
+connection master;
+--error ER_DB_CREATE_EXISTS
+CREATE DATABASE db1;
+
+--error ER_DB_DROP_EXISTS
+DROP DATABASE db3;
+
+CREATE DATABASE IF NOT EXISTS db3;
+sync_slave_with_master;
+
+SHOW DATABASES LIKE 'db%';
+
+connection master;
+DROP DATABASE db1;
+DROP DATABASE db2;
+DROP DATABASE IF EXISTS db3;
+sync_slave_with_master;
+
+SHOW DATABASES LIKE 'db%';
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_event.test b/mysql-test/suite/rpl/t/rpl_create_drop_event.test
new file mode 100644
index 00000000000..96a7e82d6f7
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_event.test
@@ -0,0 +1,27 @@
+--source include/master-slave.inc
+
+connection master;
+SET GLOBAL event_scheduler=off;
+
+CREATE TABLE t1 (a INT);
+CREATE EVENT ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (10);
+--error ER_EVENT_ALREADY_EXISTS
+CREATE EVENT ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (11);
+CREATE OR REPLACE EVENT ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (11);
+SELECT EVENT_NAME,STATUS,EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
+
+SET GLOBAL event_scheduler=on;
+let $wait_condition= SELECT count(*)>0 FROM t1;
+--source include/wait_condition.inc
+SET GLOBAL event_scheduler=off;
+SELECT DISTINCT a FROM t1;
+DELETE FROM t1;
+
+--echo # Syncing slave with master
+sync_slave_with_master;
+SELECT EVENT_NAME,STATUS,EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
+connection master;
+DROP TABLE t1;
+DROP EVENT ev1;
+sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_function.test b/mysql-test/suite/rpl/t/rpl_create_drop_function.test
new file mode 100644
index 00000000000..5ae0b76554a
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_function.test
@@ -0,0 +1,54 @@
+--source include/master-slave.inc
+
+connection master;
+
+CREATE FUNCTION hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+
+--error ER_SP_ALREADY_EXISTS
+CREATE FUNCTION hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+
+sync_slave_with_master;
+
+SHOW CREATE FUNCTION hello;
+
+connection master;
+
+--error ER_WRONG_USAGE
+CREATE OR REPLACE FUNCTION IF NOT EXISTS hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+
+CREATE OR REPLACE FUNCTION hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+
+SELECT hello('master');
+sync_slave_with_master;
+
+SELECT hello('slave');
+
+connection master;
+CREATE FUNCTION IF NOT EXISTS hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Hello, ', str, '!');
+
+CREATE OR REPLACE FUNCTION bye (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
+CONCAT('Bye, ', str, '!');
+
+SELECT hello('master');
+SELECT bye('master');
+sync_slave_with_master;
+
+SELECT hello('slave');
+SELECT bye('slave');
+
+connection master;
+DROP FUNCTION hello;
+DROP FUNCTION IF EXISTS bye;
+sync_slave_with_master;
+
+--error ER_SP_DOES_NOT_EXIST
+DROP FUNCTION hello;
+
+DROP FUNCTION IF EXISTS bye;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_index.test b/mysql-test/suite/rpl/t/rpl_create_drop_index.test
new file mode 100644
index 00000000000..ee183ac331b
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_index.test
@@ -0,0 +1,19 @@
+--source include/master-slave.inc
+
+connection master;
+
+CREATE TABLE t1 (a INT, b INT);
+CREATE INDEX i1 ON t1 (a);
+CREATE OR REPLACE INDEX i1 ON t1 (a, b);
+sync_slave_with_master;
+
+--echo # On slave:
+SHOW CREATE TABLE t1;
+
+connection master;
+--echo # On master:
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+sync_slave_with_master;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_procedure.test b/mysql-test/suite/rpl/t/rpl_create_drop_procedure.test
new file mode 100644
index 00000000000..6fb0313c706
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_procedure.test
@@ -0,0 +1,81 @@
+--source include/master-slave.inc
+
+connection master;
+CREATE TABLE t1 (id INT);
+DELIMITER $$;
+CREATE PROCEDURE proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+DELIMITER ;$$
+CALL proc1(@cnt);
+SELECT @cnt;
+INSERT INTO t1 VALUES (1), (2), (3);
+CALL proc1(@cnt);
+SELECT @cnt;
+
+--echo # Syncing with slave
+sync_slave_with_master;
+
+CALL proc1(@cnt);
+SELECT @cnt;
+
+connection master;
+DELIMITER $$;
+--error ER_SP_ALREADY_EXISTS
+CREATE PROCEDURE proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+
+CREATE PROCEDURE IF NOT EXISTS proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+
+--error ER_WRONG_USAGE
+CREATE OR REPLACE PROCEDURE IF NOT EXISTS proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+
+CREATE OR REPLACE PROCEDURE proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+DELIMITER ;$$
+
+--echo # Syncing with slave
+sync_slave_with_master;
+
+CALL proc1(@cnt);
+SELECT @cnt;
+
+connection master;
+DROP PROCEDURE proc1;
+DELIMITER $$;
+CREATE PROCEDURE IF NOT EXISTS proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+DELIMITER ;$$
+INSERT INTO t1 VALUES (1), (2), (3);
+CALL proc1(@cnt);
+SELECT @cnt;
+
+--echo # Syncing with slave
+sync_slave_with_master;
+
+CALL proc1(@cnt);
+SELECT @cnt;
+
+connection master;
+DROP PROCEDURE proc1;
+DELIMITER $$;
+CREATE OR REPLACE PROCEDURE proc1 (OUT cnt INT) BEGIN SELECT COUNT(*) INTO cnt FROM t1; END$$
+DELIMITER ;$$
+INSERT INTO t1 VALUES (1), (2), (3);
+CALL proc1(@cnt);
+SELECT @cnt;
+
+--echo # Syncing with slave
+sync_slave_with_master;
+
+CALL proc1(@cnt);
+SELECT @cnt;
+
+connection master;
+DROP TABLE IF EXISTS t1;
+DROP PROCEDURE proc1;
+
+DROP PROCEDURE IF EXISTS proc2;
+
+--echo # Syncing with slave
+sync_slave_with_master;
+
+--error ER_SP_DOES_NOT_EXIST
+DROP PROCEDURE proc1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_role.test b/mysql-test/suite/rpl/t/rpl_create_drop_role.test
new file mode 100644
index 00000000000..7260b473530
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_role.test
@@ -0,0 +1,48 @@
+--source include/master-slave.inc
+
+connection master;
+CREATE ROLE role_1;
+sync_slave_with_master;
+
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+
+connection master;
+CREATE ROLE IF NOT EXISTS role_1;
+CREATE ROLE IF NOT EXISTS role_2;
+sync_slave_with_master;
+
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+
+connection master;
+
+--error ER_WRONG_USAGE
+CREATE OR REPLACE ROLE IF NOT EXISTS role_3;
+
+CREATE OR REPLACE ROLE role_3;
+CREATE OR REPLACE ROLE role_2;
+sync_slave_with_master;
+
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+
+connection master;
+--error ER_CANNOT_USER
+CREATE ROLE role_2;
+
+sync_slave_with_master;
+
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+
+connection master;
+DROP ROLE role_1;
+DROP ROLE IF EXISTS role_2;
+DROP ROLE IF EXISTS role_3;
+DROP ROLE IF EXISTS role_4;
+
+--error ER_CANNOT_USER
+DROP ROLE role_4;
+
+sync_slave_with_master;
+
+SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_trigger.test b/mysql-test/suite/rpl/t/rpl_create_drop_trigger.test
new file mode 100644
index 00000000000..568d4e22aee
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_trigger.test
@@ -0,0 +1,48 @@
+--source include/master-slave.inc
+
+--echo # Part 1 - initial creation
+connection master;
+CREATE DATABASE db1;
+USE db1;
+CREATE TABLE t1 (val INT);
+CREATE TRIGGER val_sum BEFORE INSERT ON t1 FOR EACH ROW SET @sum = @sum + NEW.val + 1;
+SET @sum=0;
+INSERT INTO t1 VALUES (10), (20), (30);
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Master FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+sync_slave_with_master;
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Slave FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+
+--echo # Part 2 - CREATE IF NOT EXISTS (on a existing trigger)
+connection master;
+CREATE TRIGGER IF NOT EXISTS val_sum AFTER INSERT ON t1 FOR EACH ROW SET @sum = @sum + NEW.val + 2;
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Master FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+sync_slave_with_master;
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Slave FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+
+--echo # Part 3 - CREATE OR REPLACE (on a existing trigger)
+connection master;
+CREATE OR REPLACE TRIGGER val_sum BEFORE INSERT ON t1 FOR EACH ROW SET @sum = @sum + NEW.val + 3;
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Master FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+sync_slave_with_master;
+SELECT ACTION_STATEMENT AS ACTION_STATEMENT_Slave FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='val_sum';
+
+--echo # Clearing up
+connection master;
+DROP TRIGGER val_sum;
+DROP TABLE t1;
+DROP TRIGGER IF EXISTS val_sum;
+
+--error ER_TRG_DOES_NOT_EXIST
+DROP TRIGGER random_trigger;
+DROP DATABASE db1;
+
+--error ER_NO_DB_ERROR
+DROP TRIGGER IF EXISTS val_sum;
+
+--echo # Syncing slave with master
+sync_slave_with_master;
+
+--error ER_TRG_DOES_NOT_EXIST
+DROP TRIGGER val_sum;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_udf.test b/mysql-test/suite/rpl/t/rpl_create_drop_udf.test
new file mode 100644
index 00000000000..af24cabd338
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_udf.test
@@ -0,0 +1,56 @@
+--source include/have_udf.inc
+--source include/master-slave.inc
+
+connection master;
+
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
+SELECT metaphon('master');
+
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+--error ER_UDF_EXISTS
+eval CREATE FUNCTION metaphon RETURNS INT SONAME "$UDF_EXAMPLE_SO";
+
+sync_slave_with_master;
+
+SELECT metaphon('slave');
+
+connection master;
+
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+eval CREATE FUNCTION IF NOT EXISTS metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
+DROP FUNCTION IF EXISTS random_function_name;
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+eval CREATE FUNCTION IF NOT EXISTS metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
+
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+--error ER_WRONG_USAGE
+eval CREATE OR REPLACE FUNCTION IF NOT EXISTS metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
+sync_slave_with_master;
+
+SELECT metaphon('slave');
+
+connection master;
+DROP FUNCTION metaphon;
+
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+eval CREATE OR REPLACE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
+
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+--error ER_UDF_EXISTS
+eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
+sync_slave_with_master;
+
+SELECT metaphon('slave');
+
+connection master;
+DROP FUNCTION metaphon;
+DROP FUNCTION IF EXISTS metaphon;
+sync_slave_with_master;
+
+--error ER_SP_DOES_NOT_EXIST
+DROP FUNCTION metaphon;
+
+DROP FUNCTION IF EXISTS metaphon;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_user.test b/mysql-test/suite/rpl/t/rpl_create_drop_user.test
new file mode 100644
index 00000000000..5fcf0a14c36
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_user.test
@@ -0,0 +1,51 @@
+--source include/master-slave.inc
+
+connection master;
+CREATE USER u1@localhost IDENTIFIED BY 'abcdefghijk';
+connect (user_a, localhost, u1,'abcdefghijk',);
+connection user_a;
+SELECT CURRENT_USER;
+disconnect user_a;
+
+connection master;
+CREATE USER IF NOT EXISTS u2@localhost;
+connect (user_a, localhost, u2,,);
+connection user_a;
+SELECT CURRENT_USER;
+disconnect user_a;
+
+connection master;
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+sync_slave_with_master;
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+
+connection master;
+CREATE OR REPLACE USER u1@localhost IDENTIFIED BY 'abcdefghijk2';
+connect (user_a, localhost, u1,'abcdefghijk2',);
+connection user_a;
+SELECT CURRENT_USER;
+disconnect user_a;
+connection master;
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+sync_slave_with_master;
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+
+connection master;
+--error ER_CANNOT_USER
+CREATE USER u1@localhost;
+
+--error ER_CANNOT_USER
+DROP USER u3@localhost;
+
+sync_slave_with_master;
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+
+connection master;
+DROP USER IF EXISTS u1@localhost;
+DROP USER u2@localhost;
+DROP USER IF EXISTS u3@localhost;
+sync_slave_with_master;
+
+SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_drop_view.test b/mysql-test/suite/rpl/t/rpl_create_drop_view.test
new file mode 100644
index 00000000000..9280f35f638
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_create_drop_view.test
@@ -0,0 +1,55 @@
+--source include/master-slave.inc
+
+connection master;
+CREATE TABLE t1(id INT);
+CREATE VIEW v1 AS SELECT * FROM t1 WHERE id>10;
+INSERT INTO t1 VALUES (5), (8), (10), (20), (30);
+SELECT * FROM t1;
+SELECT * FROM v1;
+
+--echo # Syncing slave with master
+sync_slave_with_master;
+SELECT * FROM t1;
+SELECT * FROM v1;
+
+connection master;
+--error ER_TABLE_EXISTS_ERROR
+CREATE VIEW v1 AS SELECT * FROM t1 WHERE id>10;
+
+CREATE VIEW IF NOT EXISTS v1 AS SELECT * FROM t1 WHERE id>10;
+
+--error ER_WRONG_USAGE
+CREATE OR REPLACE VIEW IF NOT EXISTS v1 AS SELECT * FROM t1 WHERE id>10;
+
+--echo # Syncing slave with master
+sync_slave_with_master;
+SELECT * FROM t1;
+SELECT * FROM v1;
+
+connection master;
+CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1 WHERE id>10;
+INSERT INTO t1 VALUES (50), (80), (3), (2), (40);
+SELECT * FROM t1;
+SELECT * FROM v1;
+
+--echo # Syncing slave with master
+sync_slave_with_master;
+SELECT * FROM t1;
+SELECT * FROM v1;
+
+connection master;
+DROP VIEW v1;
+DROP TABLE t1;
+
+--error ER_BAD_TABLE_ERROR
+DROP VIEW v1;
+
+DROP VIEW IF EXISTS v2;
+
+--echo # Syncing slave with master
+sync_slave_with_master;
+
+--error ER_NO_SUCH_TABLE
+SELECT * FROM v1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_if_not_exists.test b/mysql-test/suite/rpl/t/rpl_create_if_not_exists.test
index c9658105847..b27250f908f 100644
--- a/mysql-test/suite/rpl/t/rpl_create_if_not_exists.test
+++ b/mysql-test/suite/rpl/t/rpl_create_if_not_exists.test
@@ -52,6 +52,8 @@ CREATE DATABASE IF NOT EXISTS mysqltest;
USE mysqltest;
CREATE TABLE IF NOT EXISTS t(c1 int);
CREATE TABLE IF NOT EXISTS t1 LIKE t;
+# The following will not be logged because t2 existed and we will not
+# put the data of SELECT into the binary log
CREATE TABLE IF NOT EXISTS t2 SELECT * FROM t;
CREATE EVENT IF NOT EXISTS e
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
@@ -104,7 +106,7 @@ SELECT * FROM t1;
SELECT * FROM t2;
sync_slave_with_master;
-# In these two statements, t1 and t2 are the base table. The recoreds of t2
+# In these two statements, t1 and t2 are the base table. The records of t2
# are inserted into it when CREATE TABLE ... SELECT was executed.
SELECT * FROM t1;
SELECT * FROM t2;
@@ -173,4 +175,21 @@ DROP VIEW v1;
DROP TABLE t1, t2;
+
+--echo #
+--echo # Test case which has failed on assertion after refactoring which was
+--echo # made as part of fix for bug #27480 "Extend CREATE TEMPORARY TABLES
+--echo # privilege to allow temp table operations".
+--echo #
+CREATE TEMPORARY TABLE t1 (id int);
+CREATE TABLE IF NOT EXISTS t2 LIKE t1;
+--echo # The below statement should succeed with warning and
+--echo # should not crash due to failing assertion.
+CREATE TABLE IF NOT EXISTS t2 LIKE t1;
+--echo # Clean-up.
+DROP TABLE t1, t2;
+sync_slave_with_master;
+connection master;
+
+
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_current_user.test b/mysql-test/suite/rpl/t/rpl_current_user.test
index ac2af1af14e..1f5a82486e3 100644
--- a/mysql-test/suite/rpl/t/rpl_current_user.test
+++ b/mysql-test/suite/rpl/t/rpl_current_user.test
@@ -42,15 +42,16 @@ CREATE VIEW test.v_procs_priv AS SELECT * FROM mysql.procs_priv WHERE User LIKE
CREATE VIEW test.v_event AS SELECT definer FROM mysql.event WHERE name = 'e1';
CREATE PROCEDURE p1() SELECT 1;
--echo # bug48321_1-01234 has the max length(16) of user.
+CREATE USER 'bug48321_1-01234'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'bug48321_1-01234'@'localhost' WITH GRANT OPTION;
--echo
---echo # Make sure the max lengths of user and host
---echo # the user name is too lengh
---error 1470
-GRANT CREATE USER ON *.* TO '01234567890123456'@'fakehost';
---echo # the host name is too lengh
---error 1470
+--echo # Test the max lengths of user and host names
+--echo # the user name is too long
+--error ER_WRONG_STRING_LENGTH
+GRANT CREATE USER ON *.* TO '012345678901234567890123456789012345678901234567890123456789012345678901234567890'@'fakehost';
+--echo # the host name is too long
+--error ER_WRONG_STRING_LENGTH
GRANT CREATE USER ON *.* TO 'fakename'@'0123456789012345678901234567890123456789012345678901234567890';
--echo
@@ -235,4 +236,3 @@ DROP PROCEDURE my_revoke;
DROP FUNCTION my_user;
DROP EVENT e1;
--source include/rpl_end.inc
-
diff --git a/mysql-test/suite/rpl/t/rpl_ddl.test b/mysql-test/suite/rpl/t/rpl_ddl.test
index 89ae2c03242..2045ec97edd 100644
--- a/mysql-test/suite/rpl/t/rpl_ddl.test
+++ b/mysql-test/suite/rpl/t/rpl_ddl.test
@@ -22,7 +22,6 @@
# effects like failing 'sync_slave_with_master', crashes of the slave or
# abort of the test case etc..
#
---source include/not_ndb_default.inc
--source include/have_innodb.inc
--source include/master-slave.inc
let $engine_type= InnoDB;
diff --git a/mysql-test/suite/rpl/t/rpl_deadlock_innodb.test b/mysql-test/suite/rpl/t/rpl_deadlock_innodb.test
index 14776263516..ade915da105 100644
--- a/mysql-test/suite/rpl/t/rpl_deadlock_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_deadlock_innodb.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
-- source include/long_test.inc
let $engine_type=innodb;
diff --git a/mysql-test/suite/rpl/t/rpl_delete_no_where.test b/mysql-test/suite/rpl/t/rpl_delete_no_where.test
index 4bfe6d07b5a..9ab637063e0 100644
--- a/mysql-test/suite/rpl/t/rpl_delete_no_where.test
+++ b/mysql-test/suite/rpl/t/rpl_delete_no_where.test
@@ -1,7 +1,3 @@
-###################################################
-# By JBM 2006-02-14 added to skip test when NDB #
-##################################################
--- source include/not_ndb_default.inc
-- source include/master-slave.inc
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_delete_no_where.test
diff --git a/mysql-test/suite/rpl/t/rpl_do_grant.test b/mysql-test/suite/rpl/t/rpl_do_grant.test
index a39c3fb6375..83b9a84744f 100644
--- a/mysql-test/suite/rpl/t/rpl_do_grant.test
+++ b/mysql-test/suite/rpl/t/rpl_do_grant.test
@@ -17,6 +17,7 @@ flush privileges;
# test replication of GRANT
connection master;
+create user rpl_do_grant@localhost;
grant select on *.* to rpl_do_grant@localhost;
grant drop on test.* to rpl_do_grant@localhost;
sync_slave_with_master;
@@ -112,7 +113,7 @@ show grants for rpl_do_grant2@localhost;
# BUG42217 mysql.procs_priv does not get replicated
#####################################################
connection master;
-call mtr.add_suppression("Slave: Operation DROP USER failed for 'create_rout_db'@'localhost' Error_code: 1396");
+call mtr.add_suppression("Slave: Operation DROP USER failed for 'create_rout_db'@'localhost' error.* 1396");
sync_slave_with_master;
connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_domain_id_filter.test b/mysql-test/suite/rpl/t/rpl_domain_id_filter.test
new file mode 100644
index 00000000000..1503ee1adaa
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter.test
@@ -0,0 +1,431 @@
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+#
+# Test for DO_DOMAIN_IDS=(M1, M2, ..) and IGNORE_DOMAIN_IDS=(N1, N2, ..)
+#
+
+--echo # On slave
+connection slave;
+call mtr.add_suppression("Both DO_DOMAIN_IDS & IGNORE_DOMAIN_IDS lists can't be non-empty at the same time");
+call mtr.add_suppression("DO_DOMAIN_IDS or IGNORE_DOMAIN_IDS lists can't be non-empty in non-GTID mode.*");
+
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id= 1;
+SELECT @@session.gtid_domain_id;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+##### Case 0 : When both DO_DOMAIN_IDS and IGNORE_DOMAIN_IDS are empty.
+SELECT * FROM t1;
+
+##### Case 1: When DO_DOMAIN_IDS is non-empty.
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# Replicate events belonging to "domain_id 1".
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+# Lets change the session domain_id to 2(not in DO_DOMAIN_IDS).
+SET @@session.gtid_domain_id= 2;
+# Should get filtered out on slave.
+INSERT INTO t1 VALUES(2);
+# Change it back to 1 (in DO_DOMAIN_IDS).
+SET @@session.gtid_domain_id= 1;
+# Should get applied on slave.
+INSERT INTO t1 VALUES(3);
+
+SELECT * FROM t1;
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+
+##### Case 2: When IGNORE_DOMAIN_IDS is non-empty.
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# Ignore events belonging to "domain_id 1".
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+# @@session.gtid_domain_id = 1 (in IGNORE_DOMAIN_IDS)
+SELECT @@session.gtid_domain_id;
+# Should get filtered out on slave.
+INSERT INTO t1 VALUES(4);
+# Change it to 2 (not in IGNORE_DOMAIN_IDS).
+SET @@session.gtid_domain_id= 2;
+# Should get applied on slave.
+INSERT INTO t1 VALUES(5);
+
+SELECT * FROM t1;
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+
+##### Case 3: When both DO_DOMAIN_IDS and IGNORE_DOMAIN_IDS are non-empty
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+--error ER_MASTER_INFO
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), IGNORE_DOMAIN_IDS=(2), MASTER_USE_GTID=slave_pos;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+##### Case 4: Multiple domain ids.
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# Replicate events belonging to "domain_id 1".
+CHANGE MASTER TO DO_DOMAIN_IDS=(4,4,5,1,7,7,7,1,1,2,6,8,1,4,5,5,9,3), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+# @@session.gtid_domain_id = 1 (in DO_DOMAIN_IDS)
+SELECT @@session.gtid_domain_id;
+# Should get applied on slave.
+INSERT INTO t1 VALUES(8);
+# Change it to 7 (in DO_DOMAIN_IDS).
+SET @@session.gtid_domain_id= 7;
+# Should get applied on slave.
+INSERT INTO t1 VALUES(9);
+# Change it to 10 (no in DO_DOMAIN_IDS).
+SET @@session.gtid_domain_id= 10;
+# Following should get filtered out on slave.
+INSERT INTO t1 VALUES(10);
+INSERT INTO t1 VALUES(11);
+START TRANSACTION;
+INSERT INTO t1 VALUES(12);
+INSERT INTO t1 VALUES(13);
+COMMIT;
+INSERT INTO t1 VALUES(14);
+INSERT INTO t1 VALUES(15);
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+
+##### Case 5: Seconds_Behind_Master
+--echo # On slave
+connection slave;
+--echo # Seconds_Behind_Master should be zero here because the slave is fully caught up and idle.
+--let $status_items= Seconds_Behind_Master
+--source include/show_slave_status.inc
+
+##### Case 6: Stop slave before a transaction (involving MyISAM and InnoDB
+# table) being filtered commits.
+
+--echo # On slave
+connection slave;
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# IGNORE_DOMAIN_IDS=(1)
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+# following statements should not get filtered.
+SET @@session.gtid_domain_id=2;
+CREATE TABLE t2(i int) ENGINE=MYISAM;
+CREATE TABLE t3(i int) ENGINE=INNODB;
+
+SET @@session.gtid_domain_id=1;
+BEGIN;
+INSERT INTO t2 VALUES(1);
+INSERT INTO t3 VALUES(1);
+
+# Now switch to slave to stop replication.
+--echo # On slave
+connection slave;
+--source include/stop_slave.inc
+--source include/wait_for_slave_to_stop.inc
+
+# Back to master to finish the transaction.
+--echo # On master
+connection master;
+INSERT INTO t2 VALUES(2);
+INSERT INTO t3 VALUES(2);
+COMMIT;
+--source include/save_master_gtid.inc
+
+# On slave to start replication.
+--echo # On slave
+connection slave;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t2;
+SELECT * FROM t3;
+
+##### Case 7: Stop slave before a transaction (involving MyISAM and InnoDB
+# table) being filtered commits and start it back with filtering
+# disabled.
+
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id=1;
+BEGIN;
+INSERT INTO t2 VALUES(3);
+INSERT INTO t3 VALUES(3);
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# Clear IGNORE_DOMAIN_IDS
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+INSERT INTO t2 VALUES(4);
+INSERT INTO t3 VALUES(4);
+COMMIT;
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t2;
+SELECT * FROM t3;
+
+##### Case 8: Stop slave into the middle of a transaction and start it back
+# with filtering enabled.
+
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id=1;
+BEGIN;
+INSERT INTO t2 VALUES(5);
+INSERT INTO t3 VALUES(5);
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# IGNORE_DOMAIN_IDS(1)
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+INSERT INTO t2 VALUES(6);
+INSERT INTO t3 VALUES(6);
+COMMIT;
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t2;
+SELECT * FROM t3;
+
+##### Case 9: Initially filter out events belonging to domain_id=2 and then
+# remove the rule to check if event are not being filtered out.
+
+--echo # On slave
+connection slave;
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# IGNORE_DOMAIN_IDS(2)
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(2), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id=2;
+BEGIN;
+INSERT INTO t2 VALUES(7);
+INSERT INTO t3 VALUES(7);
+COMMIT;
+--source include/save_master_gtid.inc
+
+# Clear the filter
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# IGNORE_DOMAIN_IDS()
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id=2;
+BEGIN;
+INSERT INTO t2 VALUES(8);
+INSERT INTO t3 VALUES(8);
+COMMIT;
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t2;
+SELECT * FROM t3;
+
+##### Case 10: Test CHANGE MASTER with various "incompatible" combinations.
+# On slave
+connection slave;
+--source include/stop_slave.inc
+
+# 10a: Both DO_DOMAIN_IDS & IGNORE_DOMAIN_IDS can't be non-empty at the same
+# time.
+
+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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+--error ER_MASTER_INFO
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+--error ER_MASTER_INFO
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+--error ER_MASTER_INFO
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=SLAVE_POS;
+
+# 10b: Neither DO_DOMAIN_IDS nor IGNORE_DOMAIN_IDS can be set when
+# MASTER_USE_GTID=NO
+
+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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# MASTER_USE_GTID can't be set to NO when either of IGNORE_DOMAIN_IDS or
+# DO_DOMAIN_IDS is non-empty.
+--error ER_MASTER_INFO
+CHANGE MASTER TO MASTER_USE_GTID=NO;
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=NO;
+--error ER_MASTER_INFO
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=NO;
+--error ER_MASTER_INFO
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=NO;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), DO_DOMAIN_IDS=(), MASTER_USE_GTID=SLAVE_POS;
+--source include/start_slave.inc
+
+# Cleanup
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id=2;
+DROP TABLE t1, t2, t3;
+--source include/save_master_gtid.inc
+
+--echo # On slave
+connection slave;
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.inc
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=();
+--source include/start_slave.inc
+
+--source include/rpl_end.inc
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
new file mode 100644
index 00000000000..a28edfc0c83
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test
@@ -0,0 +1,399 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id= 1;
+SELECT @@session.gtid_domain_id;
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+sync_slave_with_master;
+
+--echo # On slave
+connection slave;
+
+call mtr.add_suppression("Slave I/O: Relay log write failure: could not queue event from master.*");
+
+--echo # Case 0 : Start slave with IGNORE_DOMAIN_IDS=(), then restart
+--echo # replication with IGNORE_DOMAIN_IDS=() after IO thread is
+--echo # killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_before_commit").
+
+SELECT * FROM t1;
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SET @@global.debug_dbug="+d,kill_slave_io_before_commit";
+
+--echo # On master
+connection master;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(2);
+INSERT INTO t1 VALUES(3);
+COMMIT;
+save_master_pos;
+SELECT * FROM t1;
+
+--echo # On slave
+connection slave;
+--let $slave_io_errno= 1595
+--source include/wait_for_slave_io_error.inc
+SELECT * FROM t1;
+SET @@global.debug_dbug="-d";
+
+START SLAVE io_thread;
+--source include/wait_for_slave_io_to_start.inc
+sync_with_master;
+SELECT * FROM t1;
+
+--echo # Case 1 : Start slave with IGNORE_DOMAIN_IDS=(1), then restart
+--echo # replication with IGNORE_DOMAIN_IDS=(1) after IO thread is
+--echo # killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_before_commit").
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SET @@global.debug_dbug="+d,kill_slave_io_before_commit";
+
+--echo # On master
+connection master;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(4);
+INSERT INTO t1 VALUES(5);
+COMMIT;
+
+save_master_pos;
+SELECT * FROM t1;
+
+--echo # On slave
+connection slave;
+--let $slave_io_errno= 1595
+--source include/wait_for_slave_io_error.inc
+SELECT * FROM t1;
+SET @@global.debug_dbug="-d";
+
+START SLAVE io_thread;
+--source include/wait_for_slave_io_to_start.inc
+sync_with_master;
+SELECT * FROM t1;
+
+--echo # Case 2 : Start slave with IGNORE_DOMAIN_IDS=(), then restart
+--echo # replication with IGNORE_DOMAIN_IDS=(1) after IO thread is
+--echo # killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_before_commit").
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SET @@global.debug_dbug="+d,kill_slave_io_before_commit";
+
+--echo # On master
+connection master;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(6);
+INSERT INTO t1 VALUES(7);
+COMMIT; # IO thread gets killed here.
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(8);
+INSERT INTO t1 VALUES(9);
+COMMIT;
+
+SET @@session.gtid_domain_id= 2;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(10);
+INSERT INTO t1 VALUES(11);
+COMMIT;
+
+save_master_pos;
+SELECT * FROM t1;
+
+--echo # On slave
+connection slave;
+--let $slave_io_errno= 1595
+--source include/wait_for_slave_io_error.inc
+SELECT * FROM t1;
+
+SET @@global.debug_dbug="-d";
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SELECT * FROM t1;
+
+--echo # Case 3 : Start slave with IGNORE_DOMAIN_IDS=(1), then restart
+--echo # replication with IGNORE_DOMAIN_IDS=() after IO thread is
+--echo # killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_before_commit").
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SET @@global.debug_dbug="+d,kill_slave_io_before_commit";
+
+--echo # On master
+connection master;
+
+SET @@session.gtid_domain_id= 1;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(12);
+INSERT INTO t1 VALUES(13);
+COMMIT; # IO thread gets killed here.
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(14);
+INSERT INTO t1 VALUES(15);
+COMMIT;
+
+SET @@session.gtid_domain_id= 2;
+START TRANSACTION;
+INSERT INTO t1 VALUES(16);
+INSERT INTO t1 VALUES(17);
+COMMIT;
+
+save_master_pos;
+SELECT * FROM t1;
+
+--echo # On slave
+connection slave;
+--let $slave_io_errno= 1595
+--source include/wait_for_slave_io_error.inc
+SELECT * FROM t1;
+
+SET @@global.debug_dbug="-d";
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SELECT * FROM t1;
+
+--echo # Case 4 : Start slave with IGNORE_DOMAIN_IDS=(1), then restart
+--echo # replication with IGNORE_DOMAIN_IDS=() after IO thread is
+--echo # killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_after_2_events").
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SET @@global.debug_dbug="+d,kill_slave_io_after_2_events";
+
+--echo # On master
+connection master;
+
+SET @@session.gtid_domain_id= 1;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(18);
+INSERT INTO t1 VALUES(19); # IO thread gets killed here.
+COMMIT;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(20);
+INSERT INTO t1 VALUES(21);
+COMMIT;
+
+SET @@session.gtid_domain_id= 2;
+START TRANSACTION;
+INSERT INTO t1 VALUES(22);
+INSERT INTO t1 VALUES(23);
+COMMIT;
+
+save_master_pos;
+SELECT * FROM t1;
+
+--echo # On slave
+connection slave;
+--let $slave_io_errno= 1595
+--source include/wait_for_slave_io_error.inc
+SELECT * FROM t1;
+
+SET @@global.debug_dbug="-d";
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SELECT * FROM t1;
+
+--echo # Case 5 : Start slave with IGNORE_DOMAIN_IDS=(), then restart
+--echo # replication with IGNORE_DOMAIN_IDS=(1) after IO thread is
+--echo # killed due to DBUG_EXECUTE_IF("+d,kill_slave_io_after_2_events").
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SET @@global.debug_dbug="+d,kill_slave_io_after_2_events";
+
+--echo # On master
+connection master;
+
+SET @@session.gtid_domain_id= 1;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(24);
+INSERT INTO t1 VALUES(25); # IO thread gets killed here.
+COMMIT;
+
+START TRANSACTION;
+INSERT INTO t1 VALUES(26);
+INSERT INTO t1 VALUES(27);
+COMMIT;
+
+SET @@session.gtid_domain_id= 2;
+START TRANSACTION;
+INSERT INTO t1 VALUES(28);
+INSERT INTO t1 VALUES(29);
+COMMIT;
+
+save_master_pos;
+SELECT * FROM t1;
+
+--echo # On slave
+connection slave;
+--let $slave_io_errno= 1595
+--source include/wait_for_slave_io_error.inc
+SELECT * FROM t1;
+
+SET @@global.debug_dbug="-d";
+
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SELECT * FROM t1;
+
+# Cleanup
+--echo # On master
+connection master;
+DROP TABLE t1;
+sync_slave_with_master;
+
+--echo # On slave
+connection slave;
+--source include/stop_slave.inc
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=();
+--source include/start_slave.inc
+
+--source include/rpl_end.inc
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
new file mode 100644
index 00000000000..032dbfdd184
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test
@@ -0,0 +1,98 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+# Valgrind does not work well with test that crashes the server
+--source include/not_valgrind.inc
+--source include/master-slave.inc
+
+--echo # On master
+connection master;
+
+call mtr.add_suppression("mysqld: Table './mysql/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;
+
+insert into ti set a=null;
+insert into tm set a=null;
+
+save_master_pos;
+
+--echo # On slave
+connection slave;
+sync_with_master;
+--source include/stop_slave.inc
+
+select * from ti;
+select * from tm;
+
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id= 1;
+
+begin;
+insert into ti set a=null;
+insert into tm set a=null;
+commit;
+
+SET @@session.gtid_domain_id= 0;
+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
+
+--echo # On slave
+connection slave;
+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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# IGNORE_DOMAIN_IDS=(1)
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+--source include/wait_until_disconnected.inc
+--enable_reconnect
+--let $rpl_server_number=1
+--source include/rpl_start_server.inc
+#--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--source include/wait_until_connected_again.inc
+--echo # Master has restarted successfully
+set @@global.debug_dbug="-d";
+save_master_pos;
+
+--echo # On slave
+--connection slave
+--source include/stop_slave.inc
+--source include/start_slave.inc
+sync_with_master;
+select * from ti;
+select * from tm;
+
+# Cleanup
+--echo # On master
+--connection master
+drop table ti;
+drop table tm;
+sync_slave_with_master;
+
+--echo # On slave
+--connection slave
+--source include/stop_slave.inc
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=NO;
+--source include/start_slave.inc
+
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/rpl/t/rpl_domain_id_filter_parallel.test b/mysql-test/suite/rpl/t/rpl_domain_id_filter_parallel.test
new file mode 100644
index 00000000000..4a997dbdf52
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_parallel.test
@@ -0,0 +1,221 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo # On slave
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+
+##### Case 0 : When both DO_DOMAIN_IDS and IGNORE_DOMAIN_IDS are empty.
+
+--echo # On slave
+--connection server_2
+CHANGE MASTER TO master_use_gtid=slave_pos, DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=();
+--source include/start_slave.inc
+
+--echo # On master
+--connection server_1
+SELECT @@session.gtid_domain_id;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY) ENGINE=MyISAM;
+CREATE TABLE t2 (a int PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+--save_master_pos
+
+--echo # On slave
+--connection server_2
+--sync_with_master
+
+--echo # New connection 'con_temp1'
+# Block the table t1 to simulate a replicated query taking a long time.
+--connect (con_temp1,127.0.0.1,root,,test,$SERVER_MYPORT_2,)
+LOCK TABLE t1 WRITE;
+
+--echo # On master
+--connection server_1
+SET @@session.gtid_domain_id=1;
+# This query will be blocked on the slave until UNLOCK TABLES.
+INSERT INTO t1 VALUES (2);
+SET @@session.gtid_domain_id=0;
+# These t2 queries can be replicated in parallel with the prior t1 query, as
+# they are in a separate replication domain.
+INSERT INTO t2 VALUES (2);
+INSERT INTO t2 VALUES (3);
+BEGIN;
+INSERT INTO t2 VALUES (4);
+INSERT INTO t2 VALUES (5);
+COMMIT;
+INSERT INTO t2 VALUES (6);
+
+--echo # On slave
+--connection server_2
+--let $wait_condition= SELECT COUNT(*) = 6 FROM t2
+--source include/wait_condition.inc
+
+SELECT * FROM t2 ORDER by a;
+
+--echo # On con_temp1
+--connection con_temp1
+SELECT * FROM t1;
+UNLOCK TABLES;
+
+--echo # On slave
+--connection server_2
+--let $wait_condition= SELECT COUNT(*) = 2 FROM t1
+--source include/wait_condition.inc
+
+SELECT * FROM t1 ORDER BY a;
+
+##### Case 1 : When DO_DOMAIN_IDS=(1)
+
+--echo # On slave
+--connection server_2
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# Replicate events belonging to "domain_id 1".
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On slave
+--connection server_2
+--sync_with_master
+
+--echo # On con_temp1
+# Block the table t1 to simulate a replicated query taking a long time.
+--connection con_temp1
+LOCK TABLE t1 WRITE;
+
+--echo # On master
+--connection server_1
+SET @@session.gtid_domain_id=0;
+# This query will be blocked on the slave until UNLOCK TABLES.
+# But, since DO_DOMAIN_IDS=(1), it will be filtered out on slave.
+INSERT INTO t1 VALUES (3);
+
+SET @@session.gtid_domain_id=1;
+# These t2 queries can be replicated in parallel with the prior t1 query, as
+# they are in a separate replication domain.
+INSERT INTO t2 VALUES (7);
+INSERT INTO t2 VALUES (8);
+BEGIN;
+INSERT INTO t2 VALUES (9);
+INSERT INTO t2 VALUES (10);
+COMMIT;
+INSERT INTO t2 VALUES (11);
+
+--echo # On slave
+--connection server_2
+--let $wait_condition= SELECT COUNT(*) = 11 FROM t2
+--source include/wait_condition.inc
+
+SELECT * FROM t2 ORDER by a;
+
+--echo # On con_temp1
+--connection con_temp1
+SELECT * FROM t1;
+UNLOCK TABLES;
+
+--echo # On slave
+--connection server_2
+--let $wait_condition= SELECT COUNT(*) = 2 FROM t1
+--source include/wait_condition.inc
+
+SELECT * FROM t1 ORDER BY a;
+
+##### Case 2 : When IGNORE_DOMAIN_IDS=(1)
+
+--echo # On slave
+--connection server_2
+--source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# Replicate events belonging to "domain_id 1".
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+sync_with_master;
+
+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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On slave
+--connection server_2
+--sync_with_master
+
+--echo # On con_temp1
+# Block the table t1 to simulate a replicated query taking a long time.
+--connection con_temp1
+LOCK TABLE t1 WRITE;
+
+--echo # On master
+--connection server_1
+SET @@session.gtid_domain_id=1;
+# This query will be blocked on the slave until UNLOCK TABLES. However, since
+# IGNORE_DOMAIN_IDS=(1), it will be filtered out on slave.
+INSERT INTO t1 VALUES (4);
+SET @@session.gtid_domain_id=0;
+# These t2 queries can be replicated in parallel with the prior t1 query, as
+# they are in a separate replication domain.
+INSERT INTO t2 VALUES (12);
+INSERT INTO t2 VALUES (13);
+BEGIN;
+INSERT INTO t2 VALUES (14);
+INSERT INTO t2 VALUES (15);
+COMMIT;
+INSERT INTO t2 VALUES (16);
+
+--echo # On slave
+--connection server_2
+--let $wait_condition= SELECT COUNT(*) = 16 FROM t2
+--source include/wait_condition.inc
+
+SELECT * FROM t2 ORDER by a;
+
+--echo # On con_temp1
+--connection con_temp1
+SELECT * FROM t1;
+UNLOCK TABLES;
+
+--echo # On slave
+--connection server_2
+--let $wait_condition= SELECT COUNT(*) = 2 FROM t1
+--source include/wait_condition.inc
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2;
+
+--echo # Restore original settings.
+--echo # On master
+--connection server_1
+SET @@session.gtid_domain_id=0;
+DROP TABLE t1, t2;
+--save_master_pos
+
+--echo # On slave
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads= @old_parallel_threads;
+CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=();
+--source include/start_slave.inc
+
+--source include/rpl_end.inc
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
new file mode 100644
index 00000000000..e21700995bb
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_restart.test
@@ -0,0 +1,79 @@
+--source include/master-slave.inc
+
+#
+# Test for domain-id based filter on slave restart in GTID-mode.
+#
+
+
+--echo # On slave
+connection slave;
+
+source include/stop_slave.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);
+--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before
+--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before
+
+# Ignore events belonging to "domain_id 1".
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos;
+source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id= 0;
+CREATE TABLE t1(i INT);
+CREATE TABLE t2(i INT);
+
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+
+SET @@session.gtid_domain_id= 1;
+# the following will get filtered out.
+INSERT INTO t2 VALUES(1);
+SELECT * FROM t2;
+
+sync_slave_with_master;
+
+--echo # On slave
+connection slave;
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+# restart the slave
+--let $rpl_server_number= 2
+--source include/rpl_restart_server.inc
+
+--echo # On slave
+# Replicate_Do_Domain_Ids/Replicate_Ignore_Domain_Ids should reinitialize
+# properly on restart.
+connection slave;
+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);
+--echo DO_DOMAIN_IDS (AFTER RESTART) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER RESTART) : $ignore_domain_ids_after
+
+# Now, lets clear IGNORE_DOMAIN_IDS.
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=();
+--source include/start_slave.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);
+--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after
+--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after
+
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+--echo # On master
+connection master;
+SET @@session.gtid_domain_id= 0;
+DROP TABLE t1, t2;
+sync_slave_with_master;
+
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/rpl/t/rpl_drop_db.test b/mysql-test/suite/rpl/t/rpl_drop_db.test
index c3194f08f52..f66187b12f5 100644
--- a/mysql-test/suite/rpl/t/rpl_drop_db.test
+++ b/mysql-test/suite/rpl/t/rpl_drop_db.test
@@ -13,7 +13,7 @@ insert into mysqltest1.t1 values (1);
select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt';
create table mysqltest1.t2 (n int);
create table mysqltest1.t3 (n int);
---replace_result \\ /
+--replace_result \\ / 66 39 93 39 17 39 247 39 "File exists" "Directory not empty"
--error 1010
drop database mysqltest1;
use mysqltest1;
@@ -30,7 +30,7 @@ while ($1)
}
--enable_query_log
---replace_result \\ /
+--replace_result \\ / 66 39 93 39 17 39 247 39 "File exists" "Directory not empty"
--error 1010
drop database mysqltest1;
use mysqltest1;
diff --git a/mysql-test/suite/rpl/t/rpl_drop_db_fail.test b/mysql-test/suite/rpl/t/rpl_drop_db_fail.test
index f4482064d7b..c13bae1cab3 100644
--- a/mysql-test/suite/rpl/t/rpl_drop_db_fail.test
+++ b/mysql-test/suite/rpl/t/rpl_drop_db_fail.test
@@ -25,7 +25,7 @@ use db2;
CREATE TABLE table_child(id INT PRIMARY KEY, info VARCHAR(20), father_id INT) ENGINE=INNODB;
ALTER TABLE table_child ADD CONSTRAINT aaa FOREIGN KEY (father_id) REFERENCES db1.table_father(id);
---error ER_ROW_IS_REFERENCED
+--error ER_ROW_IS_REFERENCED_2
DROP DATABASE db1;
DROP DATABASE db2;
--sync_slave_with_master
diff --git a/mysql-test/suite/rpl/t/rpl_drop_temp.test b/mysql-test/suite/rpl/t/rpl_drop_temp.test
index 08227c18fea..d77632d2ed1 100644
--- a/mysql-test/suite/rpl/t/rpl_drop_temp.test
+++ b/mysql-test/suite/rpl/t/rpl_drop_temp.test
@@ -2,8 +2,6 @@
# Change Author: JBM
# Change Date: 2006-02-07
# Change: Added ENGINE=MyISAM
-# Purpose: According to TU in 16552 This is how
-# to work around NDB's issue with temp tables
##############################################
source include/have_binlog_format_mixed_or_statement.inc;
source include/master-slave.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_empty_master_host.test b/mysql-test/suite/rpl/t/rpl_empty_master_host.test
index 66d30375a59..0fc2d11a29d 100644
--- a/mysql-test/suite/rpl/t/rpl_empty_master_host.test
+++ b/mysql-test/suite/rpl/t/rpl_empty_master_host.test
@@ -16,8 +16,8 @@
# along the way if error/no error is thrown and/or if replication starts
# working when expected.
---source include/master-slave.inc
--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
connection slave;
STOP SLAVE;
diff --git a/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test b/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
index 9ebed299956..9aee3582574 100644
--- a/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
+++ b/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
@@ -2,8 +2,6 @@
# Bug #797: If a query is ignored on slave (replicate-ignore-table) the slave
# still checks that it has the same error as on the master.
##########################################################################
-# 2006-02-07 JBM Added error code 1022 for NDB Engine + ORDER BY
-##########################################################################
-- source include/master-slave.inc
@@ -43,10 +41,13 @@ insert into t3 values(connection_id());
send update t2 set a = a + 1 + get_lock('crash_lock%20C', 10);
connection master1;
-let $wait_condition= SELECT a > 1 FROM t2;
+let $wait_condition= SELECT count(*) > 0 FROM information_schema.processlist WHERE info LIKE 'update%' AND state='User lock';
source include/wait_condition.inc;
select (@id := id) - id from t3;
kill @id;
+let $id= `SELECT @id`;
+let $wait_condition= SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = $id;
+source include/wait_condition.inc;
drop table t2,t3;
insert into t4 values (3),(4);
connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test b/mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test
index f48880b5dfa..201392346be 100644
--- a/mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test
@@ -2,8 +2,8 @@
# Purpose: To test having extra columns on the master WL#3915
#############################################################
-- source include/have_binlog_format_row.inc
--- source include/master-slave.inc
-- source include/have_innodb.inc
+-- source include/master-slave.inc
let $engine_type = 'InnoDB';
--source extra/rpl_tests/rpl_extra_col_master.test
diff --git a/mysql-test/suite/rpl/t/rpl_failed_optimize.test b/mysql-test/suite/rpl/t/rpl_failed_optimize.test
index 798b3ef8b41..99860f16966 100644
--- a/mysql-test/suite/rpl/t/rpl_failed_optimize.test
+++ b/mysql-test/suite/rpl/t/rpl_failed_optimize.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_failed_optimize.test
diff --git a/mysql-test/suite/rpl/t/rpl_filter_tables_dynamic.test b/mysql-test/suite/rpl/t/rpl_filter_tables_dynamic.test
index 5cc9e8e0789..97ecc167356 100644
--- a/mysql-test/suite/rpl/t/rpl_filter_tables_dynamic.test
+++ b/mysql-test/suite/rpl/t/rpl_filter_tables_dynamic.test
@@ -128,7 +128,7 @@ UPDATE t7 LEFT JOIN (t8, t4, t1) ON (t7.id=t8.id and t7.id=t4.id and t7.id=t1.id
# and stop slave sql thread.
sync_slave_with_master;
connection slave;
-call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* Error_code: 1146");
+call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* error.* 1146");
connection master;
# Parameters for include/wait_for_slave_sql_error_and_skip.inc:
diff --git a/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test b/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test
index 3572dd53ea7..4c54a05ff84 100644
--- a/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test
+++ b/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test
@@ -123,7 +123,7 @@ UPDATE t7 LEFT JOIN (t8, t4, t1) ON (t7.id=t8.id and t7.id=t4.id and t7.id=t1.id
# and stop slave sql thread.
sync_slave_with_master;
connection slave;
-call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* Error_code: 1146");
+call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* error.* 1146");
connection master;
# Parameters for include/wait_for_slave_sql_error_and_skip.inc:
diff --git a/mysql-test/suite/rpl/t/rpl_flush_logs.test b/mysql-test/suite/rpl/t/rpl_flush_logs.test
index 6e9de634157..6dad588f217 100644
--- a/mysql-test/suite/rpl/t/rpl_flush_logs.test
+++ b/mysql-test/suite/rpl/t/rpl_flush_logs.test
@@ -4,8 +4,8 @@
# works fine.
#
---source include/master-slave.inc
--source include/have_binlog_format_statement.inc
+--source include/master-slave.inc
connection master;
# Test 'flush error logs' statement.
@@ -31,8 +31,9 @@ connection master;
flush relay logs;
sync_slave_with_master;
---echo # Check the 'slave-relay-bin.000003' file is created
+--echo # Check the 'slave-relay-bin.000003' file is not created
--echo # after executed 'flush relay logs' statement.
+--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000003;
connection master;
@@ -89,10 +90,10 @@ file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000001;
# Test 'flush error logs, relay logs' statement
sync_slave_with_master;
---echo # Make sure the 'slave-relay-bin.000006' file does not exist
+--echo # Make sure the 'slave-relay-bin.000005' file does not exist
--echo # exist before execute 'flush error logs, relay logs' statement.
--error 1
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000006;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000005;
connection master;
@@ -107,19 +108,18 @@ file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000003;
sync_slave_with_master;
---echo # Check the 'slave-relay-bin.000006' file is created after
+--echo # Check the 'slave-relay-bin.000004' file is created after
--echo # execute 'flush error logs, relay logs' statement.
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000006;
-
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000004;
# Test 'flush logs' statement
---echo # Make sure the 'slave-relay-bin.000007' and 'slave-relay-bin.000008'
+--echo # Make sure the 'slave-relay-bin.000005' and 'slave-relay-bin.000006'
--echo # files do not exist before execute 'flush error logs, relay logs'
--echo # statement.
--error 1
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000007;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000005;
--error 1
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000008;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000006;
connection master;
@@ -133,9 +133,9 @@ file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000003;
sync_slave_with_master;
---echo # Check the 'slave-relay-bin.000007' and 'slave-relay-bin.000008'
+--echo # Check the 'slave-relay-bin.000005' and 'slave-relay-bin.000006'
--echo # files are created after execute 'flush logs' statement.
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000007;
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000008;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000005;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000006;
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test b/mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test
index ce28c0334ec..53db1723325 100644
--- a/mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test
@@ -1,4 +1,61 @@
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
-let $engine_type=INNODB;
--- source extra/rpl_tests/rpl_foreign_key.test
+
+# Check the replication of the FOREIGN_KEY_CHECKS variable.
+
+-- source include/master-slave.inc
+
+CREATE TABLE t1 (a INT AUTO_INCREMENT KEY) ENGINE=INNODB;
+CREATE TABLE t2 (b INT AUTO_INCREMENT KEY, c INT, FOREIGN KEY(b) REFERENCES t1(a)) ENGINE=INNODB;
+
+SET FOREIGN_KEY_CHECKS=0;
+INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
+INSERT INTO t2 VALUES (5,0);
+INSERT INTO t2 VALUES (NULL,LAST_INSERT_ID());
+SET FOREIGN_KEY_CHECKS=1;
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY b;
+sync_slave_with_master;
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY b;
+
+connection master;
+SET TIMESTAMP=1000000000;
+CREATE TABLE t3 ( a INT UNIQUE );
+SET FOREIGN_KEY_CHECKS=0;
+--error ER_DUP_ENTRY
+INSERT INTO t3 VALUES (1),(1);
+sync_slave_with_master;
+
+connection master;
+SET FOREIGN_KEY_CHECKS=0;
+DROP TABLE IF EXISTS t1,t2,t3;
+SET FOREIGN_KEY_CHECKS=1;
+sync_slave_with_master;
+
+#
+# Bug #32468 delete rows event on a table with foreign key constraint fails
+#
+
+connection master;
+
+create table t1 (b int primary key) engine = INNODB;
+create table t2 (a int primary key, b int, foreign key (b) references t1(b)) engine = INNODB;
+
+insert into t1 set b=1;
+insert into t2 set a=1, b=1;
+
+set foreign_key_checks=0;
+delete from t1;
+
+--echo must sync w/o a problem (could not with the buggy code)
+sync_slave_with_master;
+select count(*) from t1 /* must be zero */;
+
+
+# cleanup for bug#32468
+
+connection master;
+drop table t2,t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_function_defaults.test b/mysql-test/suite/rpl/t/rpl_function_defaults.test
new file mode 100644
index 00000000000..24bec10d305
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_function_defaults.test
@@ -0,0 +1,93 @@
+--echo #
+--echo # Test of function defaults on replicated tables.
+--echo #
+
+source include/master-slave.inc;
+
+--echo connection master
+connection master;
+SET TIME_ZONE="+10:30";
+SET TIMESTAMP=123456.789123;
+SELECT CURRENT_TIMESTAMP;
+
+--echo connection slave
+connection slave;
+SET TIME_ZONE="+00:00";
+SET TIMESTAMP=987654321.123456;
+SELECT CURRENT_TIMESTAMP;
+
+--echo connection master
+connection master;
+CREATE TABLE t1 (
+ a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ b TIMESTAMP(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1),
+ c TIMESTAMP(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2),
+ d TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+ e TIMESTAMP(4) NOT NULL DEFAULT CURRENT_TIMESTAMP(4),
+ f TIMESTAMP(5) NOT NULL DEFAULT CURRENT_TIMESTAMP(5),
+ g TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
+ h DATETIME DEFAULT CURRENT_TIMESTAMP,
+ i DATETIME(1) DEFAULT CURRENT_TIMESTAMP(1),
+ j DATETIME(2) DEFAULT CURRENT_TIMESTAMP(2),
+ k DATETIME(3) DEFAULT CURRENT_TIMESTAMP(3),
+ l DATETIME(4) DEFAULT CURRENT_TIMESTAMP(4),
+ m DATETIME(5) DEFAULT CURRENT_TIMESTAMP(5),
+ n DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6),
+ o INT
+);
+
+INSERT INTO t1 ( o ) VALUES ( 1 );
+
+CREATE TABLE t2 (
+ a TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
+ b TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(1),
+ c TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(2),
+ d TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(3),
+ e TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(4),
+ f TIMESTAMP(5) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(5),
+ g TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(6),
+ h DATETIME ON UPDATE CURRENT_TIMESTAMP,
+ i DATETIME(1) ON UPDATE CURRENT_TIMESTAMP(1),
+ j DATETIME(2) ON UPDATE CURRENT_TIMESTAMP(2),
+ k DATETIME(3) ON UPDATE CURRENT_TIMESTAMP(3),
+ l DATETIME(4) ON UPDATE CURRENT_TIMESTAMP(4),
+ m DATETIME(5) ON UPDATE CURRENT_TIMESTAMP(5),
+ n DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(6),
+ o INT
+);
+
+INSERT INTO t2 ( o ) VALUES ( 1 );
+
+--echo sync_slave_with_master
+sync_slave_with_master;
+
+--echo connection slave
+connection slave;
+
+query_vertical SELECT * FROM t1;
+query_vertical SELECT * FROM t2;
+
+--echo connection master
+connection master;
+
+SET TIMESTAMP=1234567890.123456;
+SELECT CURRENT_TIMESTAMP;
+
+UPDATE t1 SET o = 2;
+UPDATE t2 SET o = 2;
+
+--echo sync_slave_with_master
+sync_slave_with_master;
+
+--echo connection slave
+connection slave;
+
+query_vertical SELECT * FROM t1;
+query_vertical SELECT * FROM t2;
+
+--echo connection master
+connection master;
+
+DROP TABLE t1, t2;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_geometry.test b/mysql-test/suite/rpl/t/rpl_geometry.test
index 769c49c96b1..415732a0228 100644
--- a/mysql-test/suite/rpl/t/rpl_geometry.test
+++ b/mysql-test/suite/rpl/t/rpl_geometry.test
@@ -1,5 +1,5 @@
-source include/master-slave.inc;
source include/have_binlog_format_row.inc;
+source include/master-slave.inc;
#
# Bug#48776, Bug#43784
diff --git a/mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test b/mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
index 17417a55b8c..dca32c30a94 100644
--- a/mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
+++ b/mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
@@ -8,9 +8,9 @@
# Finish the following tests by calling its common test script:
# extra/rpl_tests/rpl_get_master_version_and_clock.test.
-source include/master-slave.inc;
source include/have_debug.inc;
source include/have_debug_sync.inc;
+source include/master-slave.inc;
#
# The test is not supposed to have any binglog affairs.
diff --git a/mysql-test/suite/rpl/t/rpl_grant.test b/mysql-test/suite/rpl/t/rpl_grant.test
index 1091e5aab0d..b40d400afbd 100644
--- a/mysql-test/suite/rpl/t/rpl_grant.test
+++ b/mysql-test/suite/rpl/t/rpl_grant.test
@@ -1,7 +1,7 @@
# Tests of grants and users
-source include/master-slave.inc;
source include/not_embedded.inc;
+source include/master-slave.inc;
--echo **** On Master ****
connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_basic.cnf b/mysql-test/suite/rpl/t/rpl_gtid_basic.cnf
new file mode 100644
index 00000000000..3ff94e458ce
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_basic.cnf
@@ -0,0 +1,24 @@
+!include ../my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
+
+[mysqld.3]
+log-slave-updates
+loose-innodb
+
+[mysqld.4]
+log-slave-updates
+loose-innodb
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
+
+SERVER_MYPORT_4= @mysqld.4.port
+SERVER_MYSOCK_4= @mysqld.4.socket
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_basic.test b/mysql-test/suite/rpl/t/rpl_gtid_basic.test
new file mode 100644
index 00000000000..70be6fbff1f
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_basic.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_gtid_basic.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_crash-master.opt b/mysql-test/suite/rpl/t/rpl_gtid_crash-master.opt
new file mode 100644
index 00000000000..425fda95086
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_crash-master.opt
@@ -0,0 +1 @@
+--skip-stack-trace --skip-core-file
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_crash-slave.opt b/mysql-test/suite/rpl/t/rpl_gtid_crash-slave.opt
new file mode 100644
index 00000000000..69c1a64e388
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_crash-slave.opt
@@ -0,0 +1 @@
+--master-retry-count=100
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_crash.test b/mysql-test/suite/rpl/t/rpl_gtid_crash.test
new file mode 100644
index 00000000000..b81cbd38cd3
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_crash.test
@@ -0,0 +1,663 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+# Valgrind does not work well with test that crashes the server
+--source include/not_valgrind.inc
+
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo *** Test crashing master, causing slave IO thread to reconnect while SQL thread is running ***
+
+--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");
+flush tables;
+
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, 0);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT,
+ MASTER_USE_GTID=CURRENT_POS;
+
+--connection server_1
+INSERT INTO t1 VALUES (2,1);
+INSERT INTO t1 VALUES (3,1);
+
+--connection server_2
+--source include/start_slave.inc
+
+--connection server_1
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait-rpl_gtid_crash.test
+EOF
+
+let $1=200;
+--disable_query_log
+while ($1)
+{
+ eval INSERT INTO t1 VALUES ($1 + 10, 2);
+ dec $1;
+}
+--enable_query_log
+--source include/save_master_gtid.inc
+
+SET SESSION debug_dbug="+d,crash_dispatch_command_before";
+--error 2006,2013
+SELECT 1;
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart-rpl_gtid_crash.test
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (1000, 3);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+--connection server_1
+DROP TABLE t1;
+--save_master_pos
+
+--echo *** Test crashing the master mysqld and check that binlog state is recovered. ***
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+RESET MASTER;
+SET GLOBAL gtid_slave_pos='';
+
+--connection server_1
+RESET MASTER;
+--replace_column 2 # 4 # 5 #
+SHOW BINLOG EVENTS IN 'master-bin.000001' LIMIT 1,1;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+
+--connection server_2
+--source include/start_slave.inc
+
+--connection server_1
+SET gtid_domain_id= 1;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+FLUSH LOGS;
+SET gtid_domain_id= 2;
+INSERT INTO t1 VALUES (3);
+FLUSH LOGS;
+--source include/show_binary_logs.inc
+--replace_column 2 # 4 # 5 # 6 #
+SHOW BINLOG EVENTS IN 'master-bin.000003' LIMIT 1,1;
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+SET SESSION debug_dbug="+d,crash_dispatch_command_before";
+--error 2006,2013
+SELECT 1;
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--source include/show_binary_logs.inc
+--replace_column 2 # 4 # 5 # 6 #
+SHOW BINLOG EVENTS IN 'master-bin.000004' LIMIT 1,1;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** Test crashing slave at various points and check that it recovers crash-safe. ***
+
+# Crash the slave just before updating mysql.gtid_slave_pos table.
+--source include/stop_slave.inc
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+# We do not have to save @@GLOBAL.debug_dbug, it is reset when slave crashes.
+SET GLOBAL debug_dbug="+d,inject_crash_before_write_rpl_slave_state";
+START SLAVE;
+
+--connection server_1
+INSERT INTO t1 VALUES (4);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=0
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--source include/sync_with_master_gtid.inc
+
+# Crash the slave just before committing.
+--source include/stop_slave.inc
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+SET GLOBAL debug_dbug="+d,crash_commit_before";
+START SLAVE;
+
+--connection server_1
+INSERT INTO t1 VALUES (5);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=0
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--source include/sync_with_master_gtid.inc
+
+# Crash the slave just after committing.
+--source include/stop_slave.inc
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+SET GLOBAL debug_dbug="+d,crash_commit_after";
+START SLAVE;
+
+--connection server_1
+INSERT INTO t1 VALUES (6);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=0
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--source include/sync_with_master_gtid.inc
+
+# Crash the slave just before updating relay-log.info
+--source include/stop_slave.inc
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+SET GLOBAL debug_dbug="+d,inject_crash_before_flush_rli";
+--error 0,2006,2013
+START SLAVE;
+
+--connection server_1
+INSERT INTO t1 VALUES (7);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=0
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--source include/sync_with_master_gtid.inc
+
+# Crash the slave just after updating relay-log.info
+--source include/stop_slave.inc
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+SET GLOBAL debug_dbug="+d,inject_crash_after_flush_rli";
+--error 0,2006,2013
+START SLAVE;
+
+--connection server_1
+INSERT INTO t1 VALUES (8);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=0
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--source include/sync_with_master_gtid.inc
+
+
+# Check that everything was replicated correctly.
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** MDEV-4725: Incorrect recovery when crash in the middle of writing an event group ***
+
+--connection server_2
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+
+--let $old_gtid_strict= `SELECT @@gtid_strict_mode`
+SET GLOBAL debug_dbug="+d,crash_before_writing_xid";
+
+--connection server_1
+INSERT INTO t1 VALUES (9), (10);
+--let $saved_gtid=`SELECT @@last_gtid`
+--save_master_pos
+
+--connection server_2
+--source include/wait_until_disconnected.inc
+
+# The bug was that during crash recovery we would update the binlog state
+# with the GTID of the half-written event group at the end of the slaves
+# binlog, even though this event group was not committed.
+# We restart the server with gtid_strict_mode; this way, we get an error
+# about duplicate gtid when the slave re-executes the event group, if the
+# binlog crash recovery is incorrect.
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --gtid_strict_mode=1
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+SHOW VARIABLES like 'gtid_strict_mode';
+--source include/start_slave.inc
+--sync_with_master
+--disable_query_log
+eval SET GLOBAL gtid_strict_mode= $old_gtid_strict;
+--enable_query_log
+
+
+--echo *** MDEV-6462: Incorrect recovery on a slave reconnecting to crashed master ***
+
+--connection server_1
+set sql_log_bin= 0;
+call mtr.add_suppression("Error writing file 'master-bin'");
+set sql_log_bin= 1;
+--connection server_2
+set sql_log_bin= 0;
+call mtr.add_suppression("The server_id of master server changed in the middle of GTID");
+call mtr.add_suppression("Unexpected change of master binlog file name in the middle of GTID");
+set sql_log_bin= 1;
+
+--connection server_1
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (11);
+--error ER_ERROR_ON_WRITE
+COMMIT;
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+--error 2006,2013
+COMMIT;
+
+--source include/wait_until_disconnected.inc
+
+# Simulate that we reconnect to a different server (new server_id).
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart: --server-id=3
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+SELECT @@GLOBAL.server_id;
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+--disable_query_log
+eval SELECT IF(INSTR(@@gtid_binlog_pos, '$saved_gtid'), "Binlog pos ok", CONCAT("Unexpected binlog pos: ", @@gtid_binlog_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+--enable_query_log
+
+--echo # Wait 30 seconds for SQL thread to catch up with IO thread
+--connection server_2
+--let $wait_timeout= 300
+while ($wait_timeout != 0)
+{
+ --let $read_log_pos= query_get_value('SHOW SLAVE STATUS', Read_Master_Log_Pos, 1)
+ --let $exec_log_pos= query_get_value('SHOW SLAVE STATUS', Exec_Master_Log_Pos, 1)
+ if ($read_log_pos == $exec_log_pos)
+ {
+ --let $wait_timeout= 0
+ }
+ if ($read_log_pos != $exec_log_pos)
+ {
+ --sleep 0.1
+ --dec $wait_timeout
+ }
+}
+if ($read_log_pos != $exec_log_pos)
+{
+ --die Timeout wait for SQL thread to catch up with IO thread
+}
+
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+--disable_query_log
+eval SELECT IF(INSTR(@@gtid_binlog_pos, '$saved_gtid'), "Binlog pos ok", CONCAT("Unexpected binlog pos: ", @@gtid_binlog_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+eval SELECT IF(INSTR(@@gtid_slave_pos, '$saved_gtid'), "Slave pos ok", CONCAT("Unexpected slave pos: ", @@gtid_slave_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+eval SELECT IF(INSTR(@@gtid_current_pos, '$saved_gtid'), "Current pos ok", CONCAT("Unexpected current pos: ", @@gtid_current_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+--enable_query_log
+
+--echo # Repeat this with additional transactions on the master
+
+--connection server_1
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (12);
+--error ER_ERROR_ON_WRITE
+COMMIT;
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+--error 2006,2013
+COMMIT;
+
+--source include/wait_until_disconnected.inc
+
+# Simulate that we reconnect to a different server (new server_id).
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart: --server-id=1
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+SELECT @@GLOBAL.server_id;
+INSERT INTO t1 VALUES (13);
+INSERT INTO t1 VALUES (14);
+--let $saved_gtid=`SELECT @@last_gtid`
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+
+--connection server_1
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (21);
+--error ER_ERROR_ON_WRITE
+COMMIT;
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+--error 2006,2013
+COMMIT;
+
+--source include/wait_until_disconnected.inc
+
+# Simulate that we reconnect to the same server (same server_id).
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+SELECT @@GLOBAL.server_id;
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+--disable_query_log
+eval SELECT IF(INSTR(@@gtid_binlog_pos, '$saved_gtid'), "Binlog pos ok", CONCAT("Unexpected binlog pos: ", @@gtid_binlog_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+eval SELECT IF(INSTR(@@gtid_current_pos, '$saved_gtid'), "Current pos ok", CONCAT("Unexpected current pos: ", @@gtid_current_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+--enable_query_log
+
+--echo # Wait 30 seconds for SQL thread to catch up with IO thread
+--connection server_2
+--let $wait_timeout= 300
+while ($wait_timeout != 0)
+{
+ --let $read_log_pos= query_get_value('SHOW SLAVE STATUS', Read_Master_Log_Pos, 1)
+ --let $exec_log_pos= query_get_value('SHOW SLAVE STATUS', Exec_Master_Log_Pos, 1)
+ if ($read_log_pos == $exec_log_pos)
+ {
+ --let $wait_timeout= 0
+ }
+ if ($read_log_pos != $exec_log_pos)
+ {
+ --sleep 0.1
+ --dec $wait_timeout
+ }
+}
+if ($read_log_pos != $exec_log_pos)
+{
+ --die Timeout wait for SQL thread to catch up with IO thread
+}
+
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+--disable_query_log
+eval SELECT IF(INSTR(@@gtid_binlog_pos, '$saved_gtid'), "Binlog pos ok", CONCAT("Unexpected binlog pos: ", @@gtid_binlog_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+eval SELECT IF(INSTR(@@gtid_slave_pos, '$saved_gtid'), "Slave pos ok", CONCAT("Unexpected slave pos: ", @@gtid_slave_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+eval SELECT IF(INSTR(@@gtid_current_pos, '$saved_gtid'), "Current pos ok", CONCAT("Unexpected current pos: ", @@gtid_current_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+--enable_query_log
+
+--echo # Repeat this with additional transactions on the master
+
+--connection server_1
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (22);
+--error ER_ERROR_ON_WRITE
+COMMIT;
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+--error 2006,2013
+COMMIT;
+
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (23);
+INSERT INTO t1 VALUES (24);
+--let $saved_gtid=`SELECT @@last_gtid`
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+
+--echo # Repeat this with slave restart
+
+--connection server_1
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+SET GLOBAL debug_dbug="+d,inject_error_writing_xid";
+BEGIN;
+INSERT INTO t1 VALUES (25);
+--error ER_ERROR_ON_WRITE
+COMMIT;
+SET GLOBAL debug_dbug="+d,crash_dispatch_command_before";
+--error 2006,2013
+COMMIT;
+
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+
+--connection server_1
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--connection server_2
+--echo # Wait 30 seconds for IO thread to connect and SQL thread to catch up
+--echo # with IO thread.
+--let $wait_timeout= 300
+while ($wait_timeout != 0)
+{
+ --let $connected=`SELECT COUNT(*) > 0 FROM information_schema.processlist WHERE State = 'Waiting for master to send event'`
+ if ($connected)
+ {
+ --let $read_log_pos= query_get_value('SHOW SLAVE STATUS', Read_Master_Log_Pos, 1)
+ --let $exec_log_pos= query_get_value('SHOW SLAVE STATUS', Exec_Master_Log_Pos, 1)
+ if ($read_log_pos == $exec_log_pos)
+ {
+ --let $wait_timeout= 0
+ }
+ if ($read_log_pos != $exec_log_pos)
+ {
+ --sleep 0.1
+ --dec $wait_timeout
+ }
+ }
+ if (!$connected)
+ {
+ --sleep 0.1
+ --dec $wait_timeout
+ }
+}
+if (`SELECT NOT $connected OR $read_log_pos != $exec_log_pos`)
+{
+ --die Timeout wait for IO thread to connect and SQL thread to catch up with IO thread
+}
+
+--source include/stop_slave.inc
+
+--connection server_1
+--disable_query_log
+eval SELECT IF(INSTR(@@gtid_binlog_pos, '$saved_gtid'), "Binlog pos ok", CONCAT("Unexpected binlog pos: ", @@gtid_binlog_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+eval SELECT IF(INSTR(@@gtid_current_pos, '$saved_gtid'), "Current pos ok", CONCAT("Unexpected current pos: ", @@gtid_current_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+--enable_query_log
+INSERT INTO t1 VALUES (26);
+INSERT INTO t1 VALUES (27);
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--disable_query_log
+eval SELECT IF(INSTR(@@gtid_binlog_pos, '$saved_gtid'), "Binlog pos ok", CONCAT("Unexpected binlog pos: ", @@gtid_binlog_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+eval SELECT IF(INSTR(@@gtid_slave_pos, '$saved_gtid'), "Slave pos ok", CONCAT("Unexpected slave pos: ", @@gtid_slave_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+eval SELECT IF(INSTR(@@gtid_current_pos, '$saved_gtid'), "Current pos ok", CONCAT("Unexpected current pos: ", @@gtid_current_pos, "; does not contain the GTID $saved_gtid.")) AS gtid_check;
+--enable_query_log
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * from t1 WHERE a > 10 ORDER BY a;
+
+
+--echo *** MDEV-6391: GTID binlog state not recovered if mariadb-bin.state is removed ***
+
+--connection server_2
+--source include/stop_slave.inc
+
+# Do some misc. transactions, stop the master, drop the master-bin.state file.
+# Start the master back up, check that binlog state is correct.
+
+--connection server_1
+
+INSERT INTO t1 VALUES (30);
+SET @old_server_id= @@server_id;
+SET @old_domain_id= @@gtid_domain_id;
+
+SET SESSION server_id= 10;
+INSERT INTO t1 VALUES (31);
+INSERT INTO t1 VALUES (32);
+SET SESSION gtid_domain_id= 1;
+SET SESSION server_id=11;
+INSERT INTO t1 VALUES (33);
+SET SESSION gtid_domain_id= 2;
+INSERT INTO t1 VALUES (34);
+SET SESSION server_id= 10;
+INSERT INTO t1 VALUES (35);
+INSERT INTO t1 VALUES (36);
+SET SESSION gtid_domain_id= 0;
+SET SESSION server_id= 12;
+INSERT INTO t1 VALUES (37);
+SET SESSION gtid_domain_id= @old_domain_id;
+SET SESSION server_id= @old_server_id;
+INSERT INTO t1 VALUES (38);
+INSERT INTO t1 VALUES (39);
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--let OLD_STATE= `SELECT @@gtid_binlog_state`
+
+--let $datadir= `SELECT @@datadir`
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+shutdown_server 10;
+--source include/wait_until_disconnected.inc
+
+--remove_file $datadir/master-bin.state
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--let NEW_STATE= `SELECT @@gtid_binlog_state`
+
+--perl
+my $old= $ENV{'OLD_STATE'};
+my $new= $ENV{'NEW_STATE'};
+# Make them order-independent, for easy comparison.
+$old= join(",", sort(split(",", $old)));
+$new= join(",", sort(split(",", $new)));
+die "ERROR: new binlog state '$new' differs from old '$old'\n"
+ unless $old eq $new;
+EOF
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+
+
+--connection server_1
+DROP TABLE t1;
+
+--connection default
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_crash_myisam-master.opt b/mysql-test/suite/rpl/t/rpl_gtid_crash_myisam-master.opt
new file mode 100644
index 00000000000..32711eb9726
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_crash_myisam-master.opt
@@ -0,0 +1 @@
+--skip-stack-trace --skip-core-file --skip-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
new file mode 100644
index 00000000000..faf388f5bed
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_crash_myisam.test
@@ -0,0 +1,64 @@
+--source include/have_debug.inc
+# Valgrind does not work well with test that crashes the server
+--source include/not_valgrind.inc
+
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo *** Test crashing master with InnoDB disabled, the binlog gtid state should still be correctly recovered. ***
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=MyISAM;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+--source include/start_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_1
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+FLUSH TABLES;
+SET SESSION debug_dbug="+d,crash_dispatch_command_before";
+--error 2006,2013
+SELECT 1;
+
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart-rpl_gtid_crash.test
+EOF
+
+--connection server_1
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (3);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_1
+DROP TABLE t1;
+
+--connection default
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_delete_domain.test b/mysql-test/suite/rpl/t/rpl_gtid_delete_domain.test
new file mode 100644
index 00000000000..5abedd7eb37
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_delete_domain.test
@@ -0,0 +1,95 @@
+# In case master's gtid binlog state is divergent from the slave's gtid_slave_pos
+# slave may not be able to connect.
+# For instance when slave is more updated in some of domains, see
+# MDEV-12012 as example, the master's state may require adjustment.
+# In a specific case of an "old" divergent domain, that is there
+# won't be no more event groups from it generated, the states can be
+# made compatible with wiping the problematic domain away. After that slave
+# becomes connectable.
+#
+# Notice that the slave applied gtid state is not really required to
+# be similarly cleaned in order for replication to flow.
+# However this could lead to an expected error when the master
+# resumes binlogging of such domain which the test demonstrate.
+
+--source include/master-slave.inc
+
+--connection master
+# enforce the default domain_id binlogging explicitly
+SET @@SESSION.gtid_domain_id=0;
+CREATE TABLE t (a INT);
+--sync_slave_with_master
+
+--connection slave
+call mtr.add_suppression("connecting slave requested to start from.*which is not in the master's binlog");
+
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+
+--connection master
+# create extra gtid domains for binlog state
+--let $extra_domain_id=11
+--let $extra_domain_server_id=111
+--let $extra_gtid_seq_no=1
+--eval SET @@SESSION.gtid_domain_id=$extra_domain_id
+--eval SET @@SESSION.server_id=$extra_domain_server_id
+--eval SET @@SESSION.gtid_seq_no=$extra_gtid_seq_no
+INSERT INTO t SET a=1;
+
+#
+# Set up the slave replication state as if slave knows more events from the extra
+# domain.
+#
+--connection slave
+SET @save.gtid_slave_pos=@@global.gtid_slave_pos;
+--eval SET @@global.gtid_slave_pos=concat(@@global.gtid_slave_pos, ",", $extra_domain_id, "-", $extra_domain_server_id, "-", $extra_gtid_seq_no + 1)
+
+# unsuccessful attempt to start slave
+START SLAVE IO_THREAD;
+--let $slave_io_errno=1236
+--source include/wait_for_slave_io_error.inc
+
+--connection master
+# adjust the master binlog state
+FLUSH BINARY LOGS;
+--let $purge_to_binlog= query_get_value(SHOW MASTER STATUS, File, 1)
+--eval PURGE BINARY LOGS TO '$purge_to_binlog';
+# with final removal of the extra domain
+--eval FLUSH BINARY LOGS DELETE_DOMAIN_ID=($extra_domain_id)
+
+--connection slave
+# start the slave sucessfully
+--source include/start_slave.inc
+
+--connection master
+# but the following gtid from the *extra* domain will break replication
+INSERT INTO t SET a=1;
+
+# take note of the slave io thread error due to being dismissed
+# extra domain at connection to master which tried becoming active;
+# slave is to stop.
+--connection slave
+--let $errno=1236
+--source include/wait_for_slave_io_error.inc
+
+# let's apply the very same medicine
+--connection master
+FLUSH BINARY LOGS;
+--let $purge_to_binlog= query_get_value(SHOW MASTER STATUS, File, 1)
+--eval PURGE BINARY LOGS TO '$purge_to_binlog';
+# with final removal of the extra domain
+--eval FLUSH BINARY LOGS DELETE_DOMAIN_ID=($extra_domain_id)
+
+--connection slave
+--source include/start_slave.inc
+
+#
+# cleanup
+#
+--connection master
+SET @@SESSION.gtid_domain_id=0;
+DROP TABLE t;
+
+sync_slave_with_master;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_errorhandling.test b/mysql-test/suite/rpl/t/rpl_gtid_errorhandling.test
new file mode 100644
index 00000000000..9739ba8bc43
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_errorhandling.test
@@ -0,0 +1,288 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/master-slave.inc
+
+--echo *** Test that we check against incorrect table definition for mysql.gtid_slave_pos ***
+--connection master
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+--sync_slave_with_master
+
+--connection slave
+--source include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos CHANGE seq_no seq_no VARCHAR(20);
+START SLAVE;
+
+--connection master
+INSERT INTO t1 VALUES (1);
+
+--connection slave
+CALL mtr.add_suppression("Slave: Failed to open mysql.gtid_slave_pos");
+--let $slave_sql_errno=1942
+--source include/wait_for_slave_sql_error.inc
+
+--source include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos CHANGE seq_no seq_no BIGINT UNSIGNED NOT NULL;
+ALTER TABLE mysql.gtid_slave_pos DROP PRIMARY KEY;
+ALTER TABLE mysql.gtid_slave_pos ADD PRIMARY KEY (sub_id, domain_id);
+START SLAVE;
+--let $slave_sql_errno=1942
+--source include/wait_for_slave_sql_error.inc
+
+--source include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos DROP PRIMARY KEY;
+START SLAVE;
+--let $slave_sql_errno=1942
+--source include/wait_for_slave_sql_error.inc
+
+--source include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos ADD PRIMARY KEY (sub_id);
+START SLAVE;
+--let $slave_sql_errno=1942
+--source include/wait_for_slave_sql_error.inc
+
+--source include/stop_slave.inc
+ALTER TABLE mysql.gtid_slave_pos DROP PRIMARY KEY;
+ALTER TABLE mysql.gtid_slave_pos ADD PRIMARY KEY (domain_id, sub_id);
+--source include/start_slave.inc
+
+--connection master
+--sync_slave_with_master
+
+--connection slave
+SELECT * FROM t1;
+
+
+--echo *** Test that setting @@gtid_domain_id or @@gtid_seq_no is not allowed inside a transaction. ***
+BEGIN;
+INSERT INTO t1 VALUES (100);
+--error ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_GTID_DOMAIN_ID_SEQ_NO
+SET SESSION gtid_domain_id= 100;
+--error ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_GTID_DOMAIN_ID_SEQ_NO
+SET SESSION gtid_seq_no= 100;
+SET @old_domain= @@GLOBAL.gtid_domain_id;
+SET GLOBAL gtid_domain_id= 100;
+SELECT @@SESSION.gtid_domain_id;
+SET GLOBAL gtid_domain_id= @old_domain;
+INSERT INTO t1 VALUES (101);
+SELECT * FROM t1 ORDER BY a;
+ROLLBACK;
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** Test requesting an explicit GTID position that conflicts with newer GTIDs of our own in the binlog. ***
+--connection slave
+--source include/stop_slave.inc
+
+--connection master
+RESET MASTER;
+# This insert will be GTID 0-1-1
+INSERT INTO t1 VALUES (2);
+# And this will be GTID 0-1-2
+INSERT INTO t1 VALUES (4);
+--source include/save_master_gtid.inc
+
+--connection slave
+SET sql_log_bin = 0;
+INSERT INTO t1 VALUES (2);
+SET sql_log_bin = 1;
+INSERT INTO t1 VALUES (3);
+
+CHANGE MASTER TO master_use_gtid=current_pos;
+# Most not change @@GLOBAL.gtid_slave_pos in the middle of a transaction.
+BEGIN;
+--error ER_CANT_DO_THIS_DURING_AN_TRANSACTION
+SET GLOBAL gtid_slave_pos = "100-100-100";
+INSERT INTO t1 VALUES (100);
+--error ER_CANT_DO_THIS_DURING_AN_TRANSACTION
+SET GLOBAL gtid_slave_pos = "100-100-100";
+ROLLBACK;
+
+# In gtid non-strict mode, we get warnings for setting @@gtid_slave_pos back
+# to earlier than what is in the binlog. In strict mode, we get an error.
+SET GLOBAL gtid_strict_mode= 1;
+--error ER_MASTER_GTID_POS_CONFLICTS_WITH_BINLOG
+SET GLOBAL gtid_slave_pos = "0-1-1";
+--error ER_MASTER_GTID_POS_MISSING_DOMAIN
+SET GLOBAL gtid_slave_pos = "";
+SET GLOBAL gtid_strict_mode= 0;
+SET GLOBAL gtid_slave_pos = "0-1-1";
+SET GLOBAL gtid_slave_pos = "";
+RESET MASTER;
+SET GLOBAL gtid_slave_pos = "0-1-1";
+
+START SLAVE;
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--echo *** MDEV-4688: Empty value of @@GLOBAL.gtid_slave_pos ***
+# The problem was that record_gtid() deleted too much of the in-memory state,
+# leaving the state empty until after commit when we add the newly committed
+# GTID. Test this by forcing an error after the delete of the old data but
+# before the add of new data.
+
+--source include/stop_slave.inc
+
+--connection master
+# This will be GTID 0-1-3
+INSERT INTO t1 VALUES (5);
+--source include/save_master_gtid.inc
+
+--connection slave
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,gtid_fail_after_record_gtid";
+SET sql_log_bin=0;
+CALL mtr.add_suppression('Got error 131 "Command not supported by database" during COMMIT');
+SET sql_log_bin=1;
+START SLAVE;
+--let $slave_sql_errno= 1180
+--source include/wait_for_slave_sql_error.inc
+# The bug was that @@GLOBAL.gtid_slave_pos was empty here.
+SELECT @@GLOBAL.gtid_slave_pos;
+SELECT * FROM t1 ORDER BY a;
+SET GLOBAL debug_dbug= @old_dbug;
+START SLAVE SQL_THREAD;
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** Test slave requesting a GTID that is not present in the master's binlog ***
+--source include/stop_slave.inc
+SET GLOBAL gtid_slave_pos = "0-1-4";
+START SLAVE;
+
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Got fatal error .* from master when reading data from binary log: 'Error: connecting slave requested to start from GTID .*, which is not in the master's binlog'");
+SET sql_log_bin=1;
+--let $slave_io_errno= 1236
+--source include/wait_for_slave_io_error.inc
+--let $status_items= Slave_IO_State, Last_IO_Errno, Last_IO_Error, Using_Gtid
+--source include/show_slave_status.inc
+
+--let $rpl_only_running_threads= 1
+--source include/stop_slave.inc
+SET GLOBAL gtid_slave_pos = "0-1-3";
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+
+--connection master
+INSERT INTO t1 VALUES (6);
+--source include/save_master_gtid.inc
+
+--connection slave
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** MDEV-4278: Slave does not detect that master is not GTID-aware ***
+
+--connection slave
+--source include/stop_slave.inc
+
+--connection master
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,simulate_non_gtid_aware_master";
+
+--connection slave
+START SLAVE;
+--let $slave_io_errno= 1233
+--source include/wait_for_slave_io_error.inc
+
+--connection master
+SET GLOBAL debug_dbug= @old_dbug;
+INSERT INTO t1 VALUES (7);
+--save_master_pos
+
+--connection slave
+START SLAVE;
+--sync_with_master
+SET sql_log_bin=0;
+CALL mtr.add_suppression("The slave I/O thread stops because master does not support MariaDB global transaction id");
+SET sql_log_bin=1;
+
+
+--echo *** Test error during record_gtid() (non-xid cases) ***
+
+--connection slave
+--source include/stop_slave.inc
+
+--connection master
+CREATE TABLE t2 (a INT) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1);
+--save_master_pos
+
+--connection slave
+SET @old_dbug= @@global.DEBUG_DBUG;
+SET GLOBAL debug_dbug="+d,gtid_inject_record_gtid";
+
+START SLAVE;
+--let $slave_sql_errno= 1942
+--source include/wait_for_slave_sql_error.inc
+
+SET GLOBAL debug_dbug= @old_dbug;
+
+START SLAVE SQL_THREAD;
+--sync_with_master
+
+SELECT * FROM t2;
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Slave: Could not update replication slave gtid state");
+SET sql_log_bin=1;
+
+
+--echo *** MDEV-4906: When event apply fails, next SQL thread start erroneously commits the failing GTID to gtid_slave_pos ***
+
+--connection slave
+--source include/stop_slave.inc
+SET sql_log_bin=0;
+DELETE FROM t2;
+SET sql_log_bin=1;
+SET @old_format=@@binlog_format;
+SET GLOBAL binlog_format='row';
+--source include/start_slave.inc
+
+--connection master
+SET @old_format=@@binlog_format;
+SET binlog_format='row';
+--let $gtid_pos1=`SELECT @@GLOBAL.gtid_binlog_pos`
+DELETE FROM t2;
+SET binlog_format=@old_format;
+--save_master_pos
+
+--connection slave
+--let $slave_sql_errno= 1032
+--source include/wait_for_slave_sql_error.inc
+# Disable query to avoid result file update if precise GTID value changes.
+--disable_query_log
+SET @x=@@GLOBAL.gtid_slave_pos;
+eval SELECT IF(@x='$gtid_pos1', "OK", CONCAT("ERROR: expected $gtid_pos1 got ", @x)) AS result;
+--enable_query_log
+
+# The bug was that upon restarting the SQL thread, the GTID for the
+# failing event group was not cleared, so we would update it in the
+# gtid_slave_pos as part of the first rotate event, corrupting the
+# replication.
+STOP SLAVE IO_THREAD;
+START SLAVE;
+--let $slave_sql_errno= 1032
+--source include/wait_for_slave_sql_error.inc
+# Disable query to avoid result file update if precise GTID value changes.
+--disable_query_log
+SET @x=@@GLOBAL.gtid_slave_pos;
+eval SELECT IF(@x='$gtid_pos1', "OK", CONCAT("ERROR: expected $gtid_pos1 got ", @x)) AS result;
+--enable_query_log
+
+STOP SLAVE IO_THREAD;
+SET sql_log_bin=0;
+INSERT INTO t2 VALUES (1);
+CALL mtr.add_suppression("Slave: Can't find record in 't2' Error_code: 1032");
+SET sql_log_bin=1;
+--source include/start_slave.inc
+--sync_with_master
+SET GLOBAL binlog_format=@old_format;
+
+--connection master
+DROP TABLE t1;
+DROP TABLE t2;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_errorlog.test b/mysql-test/suite/rpl/t/rpl_gtid_errorlog.test
new file mode 100644
index 00000000000..137ac6c0f5d
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_errorlog.test
@@ -0,0 +1,76 @@
+--source include/have_debug.inc
+--source include/master-slave.inc
+
+--echo *** Test MDEV-6120, output of current GTID when a replication error is logged to the errorlog ***
+--connection master
+CREATE TABLE t1(a INT PRIMARY KEY);
+--sync_slave_with_master
+
+--connection slave
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+
+--connection master
+INSERT INTO t1 VALUES (1);
+SET gtid_seq_no=100;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+--save_master_pos
+
+--connection slave
+SET sql_log_bin=0;
+INSERT INTO t1 VALUES (2);
+SET sql_log_bin=1;
+
+START SLAVE;
+--let $slave_sql_errno=1062
+--source include/wait_for_slave_sql_error.inc
+
+--source include/stop_slave.inc
+# Skip the problem event from the master.
+SET GLOBAL gtid_slave_pos= "0-1-100";
+--source include/start_slave.inc
+--sync_with_master
+
+SELECT * FROM t1 ORDER BY a;
+
+--connection master
+
+SET @dbug_save= @@debug_dbug;
+SET debug_dbug= '+d,incident_database_resync_on_replace';
+REPLACE INTO t1 VALUES (5);
+SET debug_dbug= @dbug_save;
+--save_master_pos
+
+--connection slave
+--let $slave_sql_errno=1590
+--source include/wait_for_slave_sql_error.inc
+--source include/stop_slave.inc
+SET sql_slave_skip_counter=1;
+--source include/start_slave.inc
+--sync_with_master
+
+SELECT * FROM t1 ORDER BY a;
+
+
+# Check error log for correct messages.
+let $log_error_= `SELECT @@GLOBAL.log_error`;
+if(!$log_error_)
+{
+ # MySQL Server on windows is started with --console and thus
+ # does not know the location of its .err log, use default location
+ let $log_error_ = $MYSQLTEST_VARDIR/log/mysqld.2.err;
+}
+--let SEARCH_FILE=$log_error_
+--let SEARCH_RANGE=-50000
+--let SEARCH_PATTERN=Slave SQL: Error 'Duplicate entry .* on query\. .*Query: '.*', Gtid 0-1-100, Internal MariaDB error code:|Slave SQL: Could not execute Write_rows.*table test.t1; Duplicate entry.*, Gtid 0-1-100, Internal MariaDB error
+--source include/search_pattern_in_file.inc
+--let SEARCH_PATTERN=Slave SQL: The incident LOST_EVENTS occurred on the master\. Message: <none>, Internal MariaDB error code: 1590
+--source include/search_pattern_in_file.inc
+
+
+--connection master
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_ignored.test b/mysql-test/suite/rpl/t/rpl_gtid_ignored.test
new file mode 100644
index 00000000000..cb98be3c838
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_ignored.test
@@ -0,0 +1,140 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+
+SET @old_gtid_strict_mode= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+
+--connection server_2
+--source include/stop_slave.inc
+SET @old_gtid_strict_mode= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode=1;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+--source include/start_slave.inc
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+--echo **** MDEV-4488: GTID position should be updated for events that are ignored due to server id ***
+--source include/stop_slave.inc
+CHANGE MASTER TO ignore_server_ids=(1);
+--source include/start_slave.inc
+
+--connection server_1
+# These inserts should be ignored (not applied) on the slave, but the
+# gtid_slave_pos should still be updated.
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+--save_master_pos
+--let gtid_pos=`SELECT @@GLOBAL.gtid_binlog_pos`
+
+--connection server_2
+--sync_with_master
+--let $wait_condition= SELECT @@GLOBAL.gtid_slave_pos = '$gtid_pos'
+--source include/wait_condition.inc
+--disable_query_log
+eval SELECT IF(@@GLOBAL.gtid_slave_pos = '$gtid_pos', 'OK', CONCAT("ERROR: Expected $gtid_pos got ", @@GLOBAL.gtid_slave_pos)) AS RESULT;
+--enable_query_log
+
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+CHANGE MASTER TO ignore_server_ids=();
+--source include/start_slave.inc
+--sync_with_master
+--disable_query_log
+eval SELECT IF(@@GLOBAL.gtid_slave_pos = '$gtid_pos', 'OK', CONCAT("ERROR: Expected $gtid_pos got ", @@GLOBAL.gtid_slave_pos)) AS RESULT;
+--enable_query_log
+
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_1
+INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (5);
+--let gtid_pos=`SELECT @@GLOBAL.gtid_binlog_pos`
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--disable_query_log
+eval SELECT IF(@@GLOBAL.gtid_slave_pos = '$gtid_pos', 'OK', CONCAT("ERROR: Expected $gtid_pos got ", @@GLOBAL.gtid_slave_pos)) AS RESULT;
+SELECT * FROM t1 ORDER BY a;
+--enable_query_log
+
+
+--echo *** Test the same thing when IO thread exits before SQL thread reaches end of log. ***
+--connection server_2
+--source include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= "+d,inject_slave_sql_before_apply_event";
+CHANGE MASTER TO ignore_server_ids=(1);
+--source include/start_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (7);
+--let $master_pos= query_get_value(SHOW MASTER STATUS, Position, 1)
+--let gtid_pos=`SELECT @@GLOBAL.gtid_binlog_pos`
+--save_master_pos
+
+--connection server_2
+# Wait for IO thread to have read all events from master, and for SQL thread to
+# sit in the debug_sync point.
+
+--let $slave_param= Read_Master_Log_Pos
+--let $slave_param_value= $master_pos
+--source include/wait_for_slave_param.inc
+
+# Now stop the IO thread, and let the SQL thread continue. The IO thread
+# should write a Gtid_list event that the SQL thread can use to update the
+# gtid_slave_pos with the GTIDs of the skipped events.
+STOP SLAVE IO_THREAD;
+SET debug_sync = "now SIGNAL continue";
+
+--sync_with_master
+--let $wait_condition= SELECT @@GLOBAL.gtid_slave_pos = '$gtid_pos'
+--source include/wait_condition.inc
+--disable_query_log
+eval SELECT IF(@@GLOBAL.gtid_slave_pos = '$gtid_pos', 'OK', CONCAT("ERROR: Expected $gtid_pos got ", @@GLOBAL.gtid_slave_pos)) AS RESULT;
+--let $slave_pos= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1)
+eval SELECT IF('$slave_pos' = '$master_pos', 'OK', "ERROR: Expected $master_pos got $slave_pos") AS RESULT;
+--enable_query_log
+
+
+--source include/stop_slave.inc
+CHANGE MASTER TO ignore_server_ids=();
+SET GLOBAL debug_dbug= @old_dbug;
+--source include/start_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (8);
+INSERT INTO t1 VALUES (9);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+# Clean up.
+--connection server_1
+DROP TABLE t1;
+SET GLOBAL gtid_strict_mode= @old_gtid_strict_mode;
+SET debug_sync = "reset";
+
+--connection server_2
+SET GLOBAL gtid_strict_mode= @old_gtid_strict_mode;
+SET debug_sync = "reset";
+
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_master_promote.cnf b/mysql-test/suite/rpl/t/rpl_gtid_master_promote.cnf
new file mode 100644
index 00000000000..4eafa897501
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_master_promote.cnf
@@ -0,0 +1,35 @@
+!include ../my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+
+[mysqld.2]
+log-slave-updates
+skip-slave-start
+loose-innodb
+
+[mysqld.3]
+log-slave-updates
+skip-slave-start
+loose-innodb
+
+[mysqld.4]
+log-slave-updates
+skip-slave-start
+loose-innodb
+
+[mysqld.5]
+log-slave-updates
+skip-slave-start
+loose-innodb
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
+
+SERVER_MYPORT_4= @mysqld.4.port
+SERVER_MYSOCK_4= @mysqld.4.socket
+
+SERVER_MYPORT_5= @mysqld.5.port
+SERVER_MYSOCK_5= @mysqld.5.socket
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_master_promote.test b/mysql-test/suite/rpl/t/rpl_gtid_master_promote.test
new file mode 100644
index 00000000000..bd5343d7558
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_master_promote.test
@@ -0,0 +1,270 @@
+--source include/have_innodb.inc
+--let $rpl_topology=1->2, 1->3, 1->4, 1->5
+--source include/rpl_init.inc
+
+# Set up a topology with one master and 4 slaves.
+#
+# Replicate some events leaving the four slaves at different points
+# in different domains.
+#
+# Then promote one slave as new master, bringing it ahead of all others
+# using START SLAVE UNTIL master_gtid_pos.
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t4 (a INT, b INT, PRIMARY KEY (a,b)) Engine=InnoDB;
+
+# Function to extract one GTID from a list.
+delimiter |;
+CREATE FUNCTION extract_gtid(d VARCHAR(100), s VARCHAR(100))
+ RETURNS VARCHAR(100) DETERMINISTIC
+BEGIN
+ SET s= CONCAT(",", s, ",");
+ SET s= SUBSTR(s FROM LOCATE(CONCAT(",", d, "-"), s) + 1);
+ SET s= SUBSTR(s FROM 1 FOR LOCATE(",", s) - 1);
+ RETURN s;
+END|
+delimiter ;|
+
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=current_pos;
+
+--connection server_3
+--sync_with_master
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=current_pos;
+
+--connection server_4
+--sync_with_master
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=current_pos;
+
+--connection server_5
+--sync_with_master
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=current_pos;
+
+
+# Create three separate replication streams on master server_1.
+#
+# Then use START SLAVE UNTIL to get the different streams interleaved
+# differently spread over multiple binlogs on the different slaves, to
+# test that new master promotion is able to deal with this.
+
+--connection server_1
+
+SET gtid_domain_id= 1;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+--let $d1_begin= `SELECT extract_gtid("1", @@GLOBAL.gtid_binlog_pos)`
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+INSERT INTO t4 VALUES (1, 1);
+--let $d1_mid= `SELECT extract_gtid("1", @@GLOBAL.gtid_binlog_pos)`
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+INSERT INTO t4 VALUES (1, 3);
+--let $d1_end= `SELECT extract_gtid("1", @@GLOBAL.gtid_binlog_pos)`
+
+SET gtid_domain_id= 2;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+--let $d2_begin= `SELECT extract_gtid("2", @@GLOBAL.gtid_binlog_pos)`
+INSERT INTO t2 VALUES (1);
+INSERT INTO t2 VALUES (2);
+INSERT INTO t4 VALUES (2, 1);
+--let $d2_mid= `SELECT extract_gtid("2", @@GLOBAL.gtid_binlog_pos)`
+INSERT INTO t2 VALUES (3);
+INSERT INTO t2 VALUES (4);
+INSERT INTO t4 VALUES (2, 3);
+--let $d2_end= `SELECT extract_gtid("2", @@GLOBAL.gtid_binlog_pos)`
+
+SET gtid_domain_id= 3;
+CREATE TABLE t3 (a INT PRIMARY KEY) ENGINE=InnoDB;
+--let $d3_begin= `SELECT extract_gtid("3", @@GLOBAL.gtid_binlog_pos)`
+INSERT INTO t3 VALUES (1);
+INSERT INTO t3 VALUES (2);
+INSERT INTO t4 VALUES (3, 1);
+--let $d3_mid= `SELECT extract_gtid("3", @@GLOBAL.gtid_binlog_pos)`
+INSERT INTO t3 VALUES (3);
+INSERT INTO t3 VALUES (4);
+INSERT INTO t4 VALUES (3, 3);
+--let $d3_end= `SELECT extract_gtid("3", @@GLOBAL.gtid_binlog_pos)`
+
+
+# Slave server_2 (that will be promoted to master) is in the middle
+# of each stream.
+--connection server_2
+eval START SLAVE UNTIL master_gtid_pos= "$d1_mid,$d2_mid,$d3_mid";
+
+# The remaining slaves sit at different points each in different domains.
+--connection server_3
+eval START SLAVE UNTIL master_gtid_pos= "$d1_begin,$d2_mid,$d3_end";
+--connection server_4
+eval START SLAVE UNTIL master_gtid_pos= "$d2_begin,$d3_mid,$d1_end";
+--connection server_5
+eval START SLAVE UNTIL master_gtid_pos= "$d3_begin,$d1_mid,$d2_end";
+--connection server_2
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+--connection server_3
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+--connection server_4
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+--connection server_5
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+
+
+--echo *** Now replicate all extra changes from 3,4,5 to 2, in preparation for making 2 the new master. ***
+
+--connection server_3
+--let $server3_pos= `SELECT @@GLOBAL.gtid_slave_pos`
+--connection server_2
+--replace_result $SERVER_MYPORT_3 SERVER_MYPORT_3
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_3;
+--replace_result $server3_pos SERVER3_POS
+eval START SLAVE UNTIL master_gtid_pos = "$server3_pos";
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+
+--connection server_4
+--let $server4_pos= `SELECT @@GLOBAL.gtid_slave_pos`
+--connection server_2
+--replace_result $SERVER_MYPORT_4 SERVER_MYPORT_4
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_4;
+--replace_result $server4_pos SERVER4_POS
+eval START SLAVE UNTIL master_gtid_pos = "$server4_pos";
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+
+--connection server_5
+--let $server5_pos= `SELECT @@GLOBAL.gtid_slave_pos`
+--connection server_2
+--replace_result $SERVER_MYPORT_5 SERVER_MYPORT_5
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_5;
+--replace_result $server5_pos SERVER5_POS
+eval START SLAVE UNTIL master_gtid_pos = "$server5_pos";
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+
+--echo *** Now make 2 master and point 3,4,5 to the new master 2
+--connection server_2
+SET gtid_domain_id= 1;
+INSERT INTO t1 values (5);
+INSERT INTO t4 values (1,5);
+SET gtid_domain_id= 2;
+INSERT INTO t2 values (5);
+INSERT INTO t4 values (2,5);
+SET gtid_domain_id= 3;
+INSERT INTO t3 values (5);
+INSERT INTO t4 values (3,5);
+
+--connection server_3
+--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_2;
+--source include/start_slave.inc
+--connection server_4
+--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_2;
+--source include/start_slave.inc
+--connection server_5
+--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_2;
+--source include/start_slave.inc
+
+--connection server_2
+--save_master_pos
+
+--connection server_3
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+--connection server_5
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+--connection server_5
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+
+
+--echo *** Now let the old master join up as slave. ***
+--connection server_1
+--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_2,
+ master_user = "root", master_use_gtid = current_pos;
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+SELECT * FROM t4 ORDER BY a,b;
+
+
+--echo *** Finally move things back and clean up. ***
+--connection server_1
+--source include/stop_slave.inc
+RESET SLAVE ALL;
+
+--connection server_2
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1;
+--source include/start_slave.inc
+--connection server_3
+--source include/stop_slave.inc
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1;
+--source include/start_slave.inc
+--connection server_4
+--source include/stop_slave.inc
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1;
+--source include/start_slave.inc
+--connection server_5
+--source include/stop_slave.inc
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1;
+--source include/start_slave.inc
+
+--connection server_1
+SET gtid_domain_id = 0;
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE t4;
+DROP FUNCTION extract_gtid;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_mdev4473.cnf b/mysql-test/suite/rpl/t/rpl_gtid_mdev4473.cnf
new file mode 100644
index 00000000000..4fe90e6a281
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev4473.cnf
@@ -0,0 +1,18 @@
+!include ../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_gtid_mdev4473.test b/mysql-test/suite/rpl/t/rpl_gtid_mdev4473.test
new file mode 100644
index 00000000000..01259eb5765
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev4473.test
@@ -0,0 +1,72 @@
+--source include/have_innodb.inc
+--source include/have_binlog_format_mixed.inc
+
+--let $rpl_topology=1->2,1->3
+--source include/rpl_init.inc
+
+connection server_1;
+create table t1 (n int);
+insert into t1 values (1);
+insert into t1 values (2);
+save_master_pos;
+
+connection server_3;
+sync_with_master;
+source include/stop_slave.inc;
+source include/wait_for_slave_to_stop.inc;
+
+connection server_2;
+sync_with_master;
+source include/stop_slave.inc;
+source include/wait_for_slave_to_stop.inc;
+reset slave all;
+
+connection server_1;
+--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_2,
+ master_user='root', MASTER_USE_GTID=CURRENT_POS;
+source include/start_slave.inc;
+source include/wait_for_slave_to_start.inc;
+
+connection server_2;
+flush logs;
+insert into t1 values (3);
+insert into t1 values (4);
+flush logs;
+save_master_pos;
+
+connection server_3;
+--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_2,
+ MASTER_USE_GTID=CURRENT_POS;
+source include/start_slave.inc;
+sync_with_master;
+
+select * from t1 order by n;
+source include/show_binary_logs.inc;
+let $binlog_file=LAST;
+source include/show_binlog_events.inc;
+
+connection server_1;
+--sync_with_master
+source include/stop_slave.inc;
+source include/wait_for_slave_to_stop.inc;
+reset slave all;
+
+connection server_2;
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1,
+ master_user = 'root', MASTER_USE_GTID=CURRENT_POS;
+source include/start_slave.inc;
+
+connection server_3;
+source include/stop_slave.inc;
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1,
+ MASTER_USE_GTID=CURRENT_POS;
+source include/start_slave.inc;
+
+connection server_1;
+drop table t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_mdev4474.cnf b/mysql-test/suite/rpl/t/rpl_gtid_mdev4474.cnf
new file mode 100644
index 00000000000..2b9e70c59bc
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev4474.cnf
@@ -0,0 +1,11 @@
+!include suite/rpl/rpl_1slave_base.cnf
+!include include/default_client.cnf
+
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_mdev4474.test b/mysql-test/suite/rpl/t/rpl_gtid_mdev4474.test
new file mode 100644
index 00000000000..e6016b17717
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev4474.test
@@ -0,0 +1,76 @@
+--source include/have_innodb.inc
+--source include/have_binlog_format_mixed_or_statement.inc
+--let $rpl_topology=1->2->1
+--source include/rpl_init.inc
+
+--echo #
+--echo # For now we'll only have 1->2 running
+
+--echo #
+--echo # Server 1
+--echo # Stop replication 2->1
+--connection server_1
+--source include/stop_slave.inc
+
+--echo #
+--echo # Server 2
+--echo # Use GTID for replication 1->2
+--connection server_2
+--source include/stop_slave.inc
+change master to master_use_gtid=slave_pos;
+--source include/start_slave.inc
+
+--echo #
+--echo # Create some 0-1-* and 0-2-* events in binlog of server 2
+
+--enable_connect_log
+
+--connection server_1
+create table t1 (i int) engine=InnoDB;
+insert into t1 values (1);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+create table t2 (i int) engine=InnoDB;
+--save_master_pos
+
+--connection server_1
+insert into t1 values (2);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+insert into t2 values (1);
+--save_master_pos
+
+--disable_connect_log
+
+--echo #
+--echo # All events are present in the binlog of server 2
+
+--source include/show_binlog_events.inc
+
+--echo #
+--echo # Server 1
+--echo # Start replication 2->1 using GTID,
+
+--connection server_1
+change master to master_use_gtid=slave_pos;
+--source include/start_slave.inc
+--sync_with_master
+
+select * from t1 order by i;
+select * from t2 order by i;
+
+--connection server_2
+select * from t1 order by i;
+select * from t2 order by i;
+
+--connection server_1
+drop table t1;
+
+--connection server_2
+drop table t2;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_mdev4484.test b/mysql-test/suite/rpl/t/rpl_gtid_mdev4484.test
new file mode 100644
index 00000000000..5b13a5e1fc1
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev4484.test
@@ -0,0 +1,56 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/master-slave.inc
+
+CREATE TABLE t1 (i int) ENGINE=InnoDB;
+
+--sync_slave_with_master
+
+--echo *** MDEV-4484, incorrect error handling when entries in gtid_slave_pos not found. ***
+TRUNCATE TABLE mysql.gtid_slave_pos;
+
+--connection master
+INSERT INTO t1 VALUES (1);
+--sync_slave_with_master
+
+# Inject an artificial error deleting entries, and check that the error handling code works.
+--connection slave
+--source include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,gtid_slave_pos_simulate_failed_delete";
+SET sql_log_bin= 0;
+CALL mtr.add_suppression("Can't find file");
+# Since we inject an error updating mysql.gtid_slave_pos, we will get different
+# output depending on whether it is InnoDB or MyISAM (roll back or no roll
+# back). So fix it to make sure we are consistent.
+ALTER TABLE mysql.gtid_slave_pos ENGINE=MyISAM;
+SET sql_log_bin= 1;
+--source include/start_slave.inc
+
+--connection master
+INSERT INTO t1 VALUES (2);
+
+--connection slave
+--let $slave_sql_errno= 1942
+--source include/wait_for_slave_sql_error.inc
+STOP SLAVE IO_THREAD;
+SELECT domain_id, server_id, seq_no FROM mysql.gtid_slave_pos
+ ORDER BY domain_id, sub_id DESC LIMIT 1;
+SET GLOBAL debug_dbug= @old_dbug;
+--source include/start_slave.inc
+
+--connection master
+INSERT INTO t1 VALUES (3);
+--sync_slave_with_master
+
+--connection slave
+SELECT domain_id, server_id, seq_no FROM mysql.gtid_slave_pos
+ ORDER BY domain_id, sub_id DESC LIMIT 1;
+SELECT * FROM t1 ORDER BY i;
+
+
+# Clean up
+--connection master
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_mdev4485.cnf b/mysql-test/suite/rpl/t/rpl_gtid_mdev4485.cnf
new file mode 100644
index 00000000000..fccef215ccc
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev4485.cnf
@@ -0,0 +1,18 @@
+!include suite/rpl/rpl_1slave_base.cnf
+!include include/default_client.cnf
+
+[mysqld.1]
+log-slave-updates
+gtid-domain-id=1
+
+[mysqld.2]
+log-slave-updates
+gtid-domain-id=2
+
+[mysqld.3]
+log-slave-updates
+gtid-domain-id=3
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_mdev4485.test b/mysql-test/suite/rpl/t/rpl_gtid_mdev4485.test
new file mode 100644
index 00000000000..6c37ceaff31
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev4485.test
@@ -0,0 +1,41 @@
+--let $rpl_topology= 1->3
+--source include/rpl_init.inc
+
+--echo *** MDEV-4485. Master did not allow slave to connect from the very start (empty GTID pos) if GTIDs from other multi_source master was present ***
+
+--connection server_1
+create table t1 (i int);
+
+--connection server_2
+create table t2 (i int);
+
+--connection server_3
+
+set default_master_connection = 'm2';
+--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
+eval change master to master_host='127.0.0.1', master_port=$SERVER_MYPORT_2, master_user='root', master_use_gtid=slave_pos;
+--source include/start_slave.inc
+
+--connection server_2
+insert into t2 values (1);
+--save_master_pos
+
+--connection server_3
+--sync_with_master 0,'m2'
+
+--connection server_1
+drop table t1;
+
+--connection server_2
+drop table t2;
+--save_master_pos
+
+--connection server_3
+--sync_with_master 0,'m2'
+set default_master_connection = 'm2';
+--source include/stop_slave.inc
+RESET SLAVE ALL;
+set default_master_connection = '';
+
+--connection server_1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_mdev4820.test b/mysql-test/suite/rpl/t/rpl_gtid_mdev4820.test
new file mode 100644
index 00000000000..7f4d851f95c
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev4820.test
@@ -0,0 +1,118 @@
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--connection server_2
+--source include/stop_slave.inc
+SET @slave_old_strict= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+--source include/start_slave.inc
+
+--connection server_1
+SET @master_old_strict= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (2);
+INSERT INTO t1 VALUES (3);
+--let $old_gtid_pos= `SELECT @@GLOBAL.gtid_current_pos`
+RESET MASTER;
+--replace_result $old_gtid_pos OLD_GTID_POS
+eval SET GLOBAL gtid_slave_pos= '$old_gtid_pos';
+
+--connection server_2
+--source include/start_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (4);
+--source include/save_master_gtid.inc
+
+--connection server_2
+SET sql_log_bin= 0;
+CALL mtr.add_suppression("The binlog on the master is missing the GTID");
+SET sql_log_bin= 1;
+--let $slave_io_errno=1236
+--source include/wait_for_slave_io_error.inc
+
+STOP SLAVE SQL_THREAD;
+--replace_result $old_gtid_pos OLD_GTID_POS
+eval SET GLOBAL gtid_slave_pos= '$old_gtid_pos';
+
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+RESET SLAVE ALL;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= '0-2-10';
+
+--connection server_1
+--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_2,
+ master_user= 'root', master_use_gtid=CURRENT_POS;
+START SLAVE;
+
+--connection server_2
+INSERT INTO t1 VALUES (11);
+--save_master_pos
+
+--connection server_1
+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");
+SET sql_log_bin= 1;
+--let $slave_io_errno=1236
+--source include/wait_for_slave_io_error.inc
+
+--connection server_1
+STOP SLAVE SQL_THREAD;
+SET GLOBAL gtid_slave_pos= '0-2-10';
+SET GLOBAL gtid_strict_mode= 0;
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+RESET SLAVE ALL;
+--let $old_gtid_pos= `SELECT @@GLOBAL.gtid_current_pos`
+INSERT INTO t1 VALUES (12);
+--save_master_pos
+
+--connection server_2
+INSERT INTO t1 VALUES (22);
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1,
+ master_user= 'root', master_use_gtid=CURRENT_POS;
+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");
+SET sql_log_bin= 1;
+--let $slave_io_errno=1236
+--source include/wait_for_slave_io_error.inc
+STOP SLAVE SQL_THREAD;
+SET GLOBAL gtid_strict_mode= 0;
+CHANGE MASTER TO master_use_gtid=SLAVE_POS;
+--replace_result $old_gtid_pos OLD_GTID_POS
+eval SET GLOBAL gtid_slave_pos= '$old_gtid_pos';
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+# Clean up.
+--connection server_2
+SET GLOBAL gtid_strict_mode= @slave_old_strict;
+
+--connection server_1
+DROP TABLE t1;
+SET GLOBAL gtid_strict_mode= @master_old_strict;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_mdev9033.cnf b/mysql-test/suite/rpl/t/rpl_gtid_mdev9033.cnf
new file mode 100644
index 00000000000..80b66498022
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev9033.cnf
@@ -0,0 +1,20 @@
+!include ../my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+gtid_domain_id=1
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
+gtid_domain_id=2
+
+[mysqld.3]
+log-slave-updates
+loose-innodb
+gtid_domain_id=3
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_mdev9033.test b/mysql-test/suite/rpl/t/rpl_gtid_mdev9033.test
new file mode 100644
index 00000000000..f8e8642af28
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_mdev9033.test
@@ -0,0 +1,72 @@
+--source include/have_innodb.inc
+--let $rpl_topology=1->2->3
+--source include/rpl_init.inc
+
+--connection server_2
+--source include/stop_slave.inc
+eval CHANGE MASTER TO
+ MASTER_USE_GTID = SLAVE_POS, IGNORE_DOMAIN_IDS = (2,3);
+START SLAVE;
+
+--connection server_3
+--source include/stop_slave.inc
+eval CHANGE MASTER TO
+ MASTER_USE_GTID = SLAVE_POS, IGNORE_DOMAIN_IDS = (2,3);
+START SLAVE;
+
+connection server_1;
+
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, "m1");
+INSERT INTO t1 VALUES (2, "m2"), (3, "m3"), (4, "m4");
+
+SET @@session.gtid_domain_id=2;
+--echo # The following should get filetered on slave.
+CREATE TABLE t2 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1, "m1");
+INSERT INTO t2 VALUES (2, "m2"), (3, "m3"), (4, "m4");
+
+--source include/save_master_gtid.inc
+
+connection server_2;
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1 ORDER BY a;
+--echo # Only 't1' should have replicated to slaves.
+SHOW TABLES;
+
+--source include/save_master_gtid.inc
+
+connection server_3;
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1 ORDER BY a;
+--echo # Only 't1' should have replicated to slaves.
+SHOW TABLES;
+
+--echo # Cleanup
+--connection server_1
+SET @@session.gtid_domain_id=1;
+DROP TABLE t1;
+SET @@session.gtid_domain_id=2;
+DROP TABLE t2;
+
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+--source include/save_master_gtid.inc
+
+--connection server_3
+--source include/sync_with_master_gtid.inc
+
+--connection server_2
+STOP SLAVE;
+CHANGE MASTER TO MASTER_USE_GTID = NO, IGNORE_DOMAIN_IDS = ();
+
+--connection server_3
+STOP SLAVE;
+CHANGE MASTER TO MASTER_USE_GTID = NO, IGNORE_DOMAIN_IDS = ();
+
+--echo # End of test.
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_misc.test b/mysql-test/suite/rpl/t/rpl_gtid_misc.test
new file mode 100644
index 00000000000..66d98ec8025
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_misc.test
@@ -0,0 +1,50 @@
+--source include/master-slave.inc
+
+--echo *** MDEV-6403: Temporary tables lost at STOP SLAVE in GTID mode if master has not rotated binlog since restart ***
+
+--connection master
+CREATE TABLE t1 (a INT PRIMARY KEY);
+--sync_slave_with_master
+
+--connection slave
+--source include/stop_slave.inc
+# Inject a duplicate key error that will make the slave stop in the middle of
+# a sequence of transactions that use a temporary table.
+SET sql_log_bin= 0;
+INSERT INTO t1 VALUES (1);
+SET sql_log_bin= 1;
+CHANGE MASTER TO master_use_gtid= current_pos;
+
+--connection master
+
+# Make some queries that use a temporary table.
+CREATE TEMPORARY TABLE t2 LIKE t1;
+INSERT INTO t2 VALUE (1);
+INSERT INTO t1 SELECT * FROM t2;
+DROP TEMPORARY TABLE t2;
+--save_master_pos
+
+--connection slave
+START SLAVE;
+--let $slave_sql_errno=1062
+--source include/wait_for_slave_sql_error.inc
+
+# Restart the slave.
+# The bug was that the IO thread would receive again the restart
+# format_description event at the start of the master's binlog, and this
+# event would cause the SQL thread to discard all active temporary tables.
+
+STOP SLAVE IO_THREAD;
+
+SET sql_log_bin= 0;
+DELETE FROM t1 WHERE a=1;
+SET sql_log_bin= 1;
+
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--connection master
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_nobinlog.cnf b/mysql-test/suite/rpl/t/rpl_gtid_nobinlog.cnf
new file mode 100644
index 00000000000..0ea0d951568
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_nobinlog.cnf
@@ -0,0 +1,9 @@
+!include ../my.cnf
+
+[mysqld.1]
+log-slave-updates=0
+loose-innodb
+
+[mysqld.2]
+log-slave-updates=0
+loose-innodb
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_nobinlog.test b/mysql-test/suite/rpl/t/rpl_gtid_nobinlog.test
new file mode 100644
index 00000000000..a5caebf0276
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_nobinlog.test
@@ -0,0 +1,66 @@
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+--source include/have_binlog_format_statement.inc
+
+--connection server_1
+SET @old_strict= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+select @@global.log_slave_updates;
+
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
+INSERT INTO t1 VALUES (1, 1);
+INSERT INTO t1 VALUES (2, 1);
+--save_master_pos
+
+--connection server_2
+SET @old_strict= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+select @@global.log_slave_updates;
+
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+
+--connection server_1
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SLAVE_MYPORT,
+ master_user = 'root', master_use_gtid = current_pos;
+START SLAVE;
+--source include/wait_for_slave_to_start.inc
+
+--connection server_2
+INSERT INTO t1 VALUES (3, 2);
+INSERT INTO t1 VALUES (4, 2);
+--source include/save_master_gtid.inc
+
+--source include/show_binlog_events.inc
+
+--connection server_1
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+RESET SLAVE;
+INSERT INTO t1 VALUES (5, 1);
+INSERT INTO t1 VALUES (6, 1);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT,
+ master_use_gtid = current_pos;
+START SLAVE;
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1 ORDER BY a;
+
+# Cleanup.
+SET GLOBAL gtid_strict_mode= @old_strict;
+
+--connection server_1
+SET GLOBAL gtid_strict_mode= @old_strict;
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_reconnect.test b/mysql-test/suite/rpl/t/rpl_gtid_reconnect.test
new file mode 100644
index 00000000000..22cf10afba3
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_reconnect.test
@@ -0,0 +1,206 @@
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+
+--connection server_2
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid= current_pos;
+--source include/start_slave.inc
+
+--connection server_1
+CREATE TABLE t1 (a INT);
+FLUSH LOGS;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+
+# Prepare a string of events and have the slave replicate all of it.
+--connection server_1
+SET gtid_domain_id=10;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+SET gtid_seq_no=100;
+INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (5);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+SELECT * FROM t1 ORDER BY a;
+
+# Now start the slave again, but force a reconnect. There was a bug that this
+# reconnect would cause duplicate events.
+
+--connection server_1
+# Make sure to get rid of any old binlog dump thread so it does not
+# interfere with our DBUG error injection.
+--source include/kill_binlog_dump_threads.inc
+INSERT INTO t1 VALUES (10);
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100";
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+TRUNCATE t1;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= "";
+
+--connection server_1
+SET GLOBAL debug_dbug= @old_debug;
+TRUNCATE t1;
+RESET MASTER;
+
+# A1 B1 A2 B2 A3 B3, slave reached A1 and B3 and stopped. Slave starts,
+# reconnects at A2. There was a bug that B2 would be duplicated.
+
+SET gtid_domain_id=10;
+SET gtid_seq_no=50;
+INSERT INTO t1 VALUES (1);
+SET gtid_domain_id=11;
+INSERT INTO t1 VALUES (11);
+SET gtid_domain_id=10;
+SET gtid_seq_no=100;
+INSERT INTO t1 VALUES (2);
+SET gtid_domain_id=11;
+INSERT INTO t1 VALUES (12);
+SET gtid_domain_id=10;
+INSERT INTO t1 VALUES (3);
+SET gtid_domain_id=11;
+SET gtid_seq_no=200;
+INSERT INTO t1 VALUES (13);
+
+--connection server_2
+START SLAVE UNTIL master_gtid_pos="10-1-50,11-1-200";
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_1
+--source include/kill_binlog_dump_threads.inc
+INSERT INTO t1 VALUES (20);
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100";
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+TRUNCATE t1;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= "";
+
+--connection server_1
+SET GLOBAL debug_dbug= @old_debug;
+TRUNCATE t1;
+RESET MASTER;
+
+# A1 B1 A2 B2 A3 B3. START SLAVE UNTIL A1,B3, gets reconnect at B2.
+# There was a bug that the UNTIL would be ignored, and A2 would be lost.
+
+--source include/kill_binlog_dump_threads.inc
+SET gtid_domain_id= 9;
+SET gtid_seq_no= 50;
+INSERT INTO t1 VALUES (1);
+SET gtid_domain_id= 10;
+INSERT INTO t1 VALUES (11);
+SET gtid_domain_id= 9;
+INSERT INTO t1 VALUES (2);
+SET gtid_domain_id= 10;
+SET gtid_seq_no= 100;
+INSERT INTO t1 VALUES (12);
+SET gtid_domain_id= 9;
+INSERT INTO t1 VALUES (3);
+SET gtid_domain_id= 10;
+SET gtid_seq_no= 200;
+INSERT INTO t1 VALUES (13);
+SET gtid_domain_id= 10;
+
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100";
+
+--connection server_2
+START SLAVE UNTIL master_gtid_pos="9-1-50,10-1-200";
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_1
+SET GLOBAL debug_dbug= @old_debug;
+INSERT INTO t1 VALUES (20);
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** Test when slave IO thread needs to reconnect in the middle of an event group. ***
+--connection server_2
+--source include/stop_slave.inc
+
+TRUNCATE t1;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= "";
+
+--connection server_1
+SET GLOBAL debug_dbug= @old_debug;
+TRUNCATE t1;
+RESET MASTER;
+
+--source include/kill_binlog_dump_threads.inc
+SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
+SET GLOBAL debug_dbug="+d,binlog_force_reconnect_after_22_events";
+
+# 4 events for FD, fake rotate, gtid list, binlog checkpoint.
+# 2 events for GTID, create table
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+# 3 events for BEGIN/query/COMMIT
+INSERT INTO t2 VALUES (1);
+# 4 events for BEGIN/query/query/COMMIT
+BEGIN;
+INSERT INTO t2 VALUES (10);
+INSERT INTO t2 VALUES (11);
+COMMIT;
+# So this event group starts after 4+2+4+3=13 events. Or 16 in row-based.
+BEGIN;
+INSERT INTO t2 VALUES (20);
+INSERT INTO t2 VALUES (21);
+INSERT INTO t2 VALUES (22);
+INSERT INTO t2 VALUES (23);
+INSERT INTO t2 VALUES (24);
+INSERT INTO t2 VALUES (25);
+INSERT INTO t2 VALUES (26);
+INSERT INTO t2 VALUES (27);
+INSERT INTO t2 VALUES (28);
+INSERT INTO t2 VALUES (29);
+COMMIT;
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t2 ORDER BY a;
+
+--connection server_1
+SET GLOBAL debug_dbug= @old_debug;
+
+
+# Clean up.
+--connection server_1
+DROP TABLE t1, t2;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_sort.test b/mysql-test/suite/rpl/t/rpl_gtid_sort.test
new file mode 100644
index 00000000000..dc3b18aa897
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_sort.test
@@ -0,0 +1,77 @@
+--source include/have_innodb.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo *** Test connecting with empty GTID state to start from very beginning of binlog ***
+--connection server_2
+--source include/stop_slave.inc
+RESET MASTER;
+RESET SLAVE;
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+SHOW VARIABLES LIKE 'gtid_current_pos';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+
+--connection server_1
+RESET MASTER;
+FLUSH LOGS;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET @@SESSION.gtid_domain_id=1;
+INSERT INTO t1 VALUES(1);
+
+SET @@SESSION.gtid_domain_id=99999;
+INSERT INTO t1 VALUES(3);
+
+SET @@SESSION.gtid_domain_id=10;
+INSERT INTO t1 VALUES(4);
+
+SET @@SESSION.gtid_domain_id=100;
+INSERT INTO t1 VALUES(5);
+
+SET @@SESSION.gtid_domain_id=2147483648; # 0x80000000
+INSERT INTO t1 VALUES(6);
+
+SET @@SESSION.gtid_domain_id=4294967295; # 0xFFFFFFFF
+INSERT INTO t1 VALUES(7);
+
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+SHOW VARIABLES LIKE 'gtid_current_pos';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+--save_master_pos
+
+--connection server_2
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+SHOW VARIABLES LIKE 'gtid_current_pos';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT,
+ MASTER_USE_GTID=CURRENT_POS;
+--source include/start_slave.inc
+--sync_with_master
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+SHOW VARIABLES LIKE 'gtid_current_pos';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+SELECT * FROM t1;
+
+SET @@SESSION.gtid_domain_id=1000;
+INSERT INTO t1 VALUES(8);
+
+SET @@SESSION.gtid_domain_id=89;
+INSERT INTO t1 VALUES(9);
+
+SET @@SESSION.gtid_domain_id=10100000;
+INSERT INTO t1 VALUES(10);
+
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+SHOW VARIABLES LIKE 'gtid_current_pos';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+
+# Clean up.
+--connection server_1
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_startpos.test b/mysql-test/suite/rpl/t/rpl_gtid_startpos.test
new file mode 100644
index 00000000000..100d75a8cdc
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_startpos.test
@@ -0,0 +1,358 @@
+--source include/have_innodb.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo *** Test connecting with empty GTID state to start from very beginning of binlog ***
+--connection server_2
+--source include/stop_slave.inc
+RESET MASTER;
+RESET SLAVE;
+
+--connection server_1
+RESET MASTER;
+# Create an empty binlog file, to check that empty binlog state is handled correctly.
+FLUSH LOGS;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+--save_master_pos
+
+--connection server_2
+SET GLOBAL gtid_slave_pos="";
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT,
+ MASTER_USE_GTID=CURRENT_POS;
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1;
+
+--connection server_1
+INSERT INTO t1 VALUES (1);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1;
+--source include/stop_slave.inc
+
+--echo *** Test that master gives error when slave asks for empty gtid pos and binlog files have been purged. ***
+--connection server_1
+FLUSH LOGS;
+INSERT INTO t1 VALUES (2);
+--save_master_pos
+--let $purge_binlogs_to=master-bin.000003
+--source include/wait_for_purge.inc
+--source include/show_binary_logs.inc
+
+--connection server_2
+SET GLOBAL gtid_slave_pos="";
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT,
+ MASTER_USE_GTID=CURRENT_POS;
+START SLAVE;
+--let $slave_io_errno= 1236
+--source include/wait_for_slave_io_error.inc
+--source include/stop_slave.inc
+
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT,
+ MASTER_LOG_FILE="master-bin.000003", MASTER_LOG_POS=4;
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+SET sql_log_bin=0;
+call mtr.add_suppression('Could not find GTID state requested by slave in any binlog files');
+SET sql_log_bin=1;
+
+--echo *** Test that we give warning when explict @@gtid_slave_pos=xxx that conflicts with what is in our binary log ***
+--source include/stop_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES(3);
+--source include/save_master_gtid.inc
+
+--connection server_2
+SET GLOBAL gtid_slave_pos='0-1-3';
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT,
+ MASTER_USE_GTID=CURRENT_POS;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER by a;
+--source include/stop_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (4);
+--source include/save_master_gtid.inc
+
+--connection server_2
+# Now add some local transactions that conflict with the GTID position
+# being set for @@gtid_slave_pos.
+INSERT INTO t1 VALUES (10);
+DELETE FROM t1 WHERE a=10;
+SET GLOBAL gtid_slave_pos='0-1-4';
+
+# Try again after RESET MASTER to remove the conflicting binlog.
+RESET MASTER;
+SET GLOBAL gtid_slave_pos='0-1-4';
+START SLAVE;
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER by a;
+
+--connection server_1
+DROP TABLE t1;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+
+--echo *** MDEV-4275: I/O thread restart duplicates events in relay log ***
+
+--connection server_2
+--source include/stop_slave.inc
+RESET SLAVE ALL;
+RESET MASTER;
+
+--connection server_1
+RESET MASTER;
+
+--connection server_2
+SET GLOBAL gtid_slave_pos='';
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$MASTER_MYPORT, master_user='root', master_use_gtid=current_pos;
+--source include/start_slave.inc
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1;
+
+--source include/stop_slave_io.inc
+START SLAVE IO_THREAD;
+--source include/wait_for_slave_io_to_start.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (2);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** MDEV-4329: GTID_SLAVE_POS='' is not checked for conflicts with binlog ***
+
+# Test starting the slave completely from scratch, deleting all tables and
+# replicating from the start of the master's binlog. This requires RESET
+# MASTER is run on the slave to avoid old junk in the binlog. The bug was
+# that the code did not catch the error of missing RESET MASTER when an
+# empty GTID_SLAVE_POS='' was specified.
+
+--connection server_2
+--source include/stop_slave.inc
+DROP TABLE t1;
+RESET SLAVE;
+SET GLOBAL gtid_slave_pos="";
+RESET MASTER;
+SET GLOBAL gtid_slave_pos="";
+
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+
+# Same thing, but this time using SQL_LOG_BIN=0 to avoid polluting the
+# slave binlog.
+
+--connection server_2
+--source include/stop_slave.inc
+SET SQL_LOG_BIN=0;
+DROP TABLE t1;
+SET SQL_LOG_BIN=1;
+RESET SLAVE;
+SET GLOBAL gtid_slave_pos="";
+# Ensure that the slave fails because of missing table to be dropped
+SET @save_slave_ddl_exec_mode=@@global.slave_ddl_exec_mode;
+SET GLOBAL slave_ddl_exec_mode=STRICT;
+
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--echo *** Test that RESET SLAVE clears the Using_Gtid flag. ***
+--source include/stop_slave.inc
+RESET SLAVE;
+--let $status_items= Using_Gtid
+--source include/show_slave_status.inc
+
+# Starting the slave now reverts to old-style position which defaults to
+# the first non-purged binlog file on the master.
+# This should give error due to table already existing.
+START SLAVE;
+--let $slave_sql_errno= 1050
+--source include/wait_for_slave_sql_error.inc
+
+# Going back to using GTID should fix things.
+STOP SLAVE IO_THREAD;
+CHANGE MASTER TO MASTER_USE_GTID=CURRENT_POS;
+--source include/start_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES(3);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+SET SQL_LOG_BIN=0;
+call mtr.add_suppression("Slave: Table 't1' already exists error.* 1050");
+SET SQL_LOG_BIN=1;
+
+
+--echo *** Test reconnecting slave with GTID after purge logs on master. ***
+
+--connection server_1
+FLUSH LOGS;
+INSERT INTO t1 VALUES (4);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.inc
+
+--connection server_1
+FLUSH LOGS;
+FLUSH LOGS;
+--let $purge_binlogs_to=master-bin.000004
+--source include/wait_for_purge.inc
+--source include/show_binary_logs.inc
+INSERT INTO t1 VALUES (5);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** Test modifying binlog on slave and the effect on GTID state. ***
+
+--connection server_2
+--source include/stop_slave.inc
+RESET MASTER;
+SET GLOBAL gtid_slave_pos="";
+
+--connection server_1
+RESET MASTER;
+TRUNCATE TABLE t1;
+INSERT INTO t1 VALUES (10); # Will be GTID 0-1-2
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1;
+--let $value= query_get_value(SHOW SLAVE STATUS, "Using_Gtid", 1)
+eval SELECT '$value' AS Using_Gtid;
+--let $value= query_get_value(SHOW ALL SLAVES STATUS, "Gtid_Slave_Pos", 1)
+eval SELECT '$value' AS Gtid_Slave_Pos;
+
+UPDATE t1 SET a=9 WHERE a=10;
+UPDATE t1 SET a=10 WHERE a=9;
+
+--let $value= query_get_value(SHOW ALL SLAVES STATUS, "Gtid_Slave_Pos", 1)
+eval SELECT '$value' AS Gtid_Slave_Pos;
+
+--source include/stop_slave.inc
+SET GLOBAL gtid_slave_pos='0-1-2';
+RESET MASTER;
+--let $value= query_get_value(SHOW ALL SLAVES STATUS, "Gtid_Slave_Pos", 1)
+eval SELECT '$value' AS Gtid_Slave_Pos;
+SET GLOBAL gtid_slave_pos='0-1-2';
+--source include/start_slave.inc
+--let $value= query_get_value(SHOW ALL SLAVES STATUS, "Gtid_Slave_Pos", 1)
+eval SELECT '$value' AS Gtid_Slave_Pos;
+
+
+--echo *** MDEV-4483: Slave loses traditional master coordinates immediately on CHANGE MASTER TO MASTER_USE_GTID = 1 ***
+--connection server_2
+--source include/stop_slave.inc
+DROP TABLE t1;
+RESET SLAVE ALL;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos= "";
+
+# Set up old-style replication. The bug was that CHANGE MASTER would clear
+# out the old-style binlog/relaylog coordinates when it should not.
+
+--replace_result $MASTER_MYPORT MASTER_PORT
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$MASTER_MYPORT, master_user='root', master_use_gtid=no, master_log_file="", master_log_pos= 4;
+
+--connection server_1
+DROP TABLE t1;
+RESET MASTER;
+
+CREATE TABLE t1 (a INT PRIMARY KEY);
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+
+--source include/stop_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (1);
+--let $log_file1= query_get_value(SHOW MASTER STATUS, "File", 1)
+--let $log_pos1= query_get_value(SHOW MASTER STATUS, "Position", 1)
+INSERT INTO t1 VALUES (2);
+--let $log_file2= query_get_value(SHOW MASTER STATUS, "File", 1)
+--let $log_pos2= query_get_value(SHOW MASTER STATUS, "Position", 1)
+--save_master_pos
+
+--connection server_2
+# Get the slave to a point where the IO thread has fetched one event ahead
+# of the SQL thread (we want to test that CHANGE MASTER does not mess with
+# existing relay logs).
+--replace_result $log_file1 LOG_FILE1 $log_pos1 LOG_POS1
+eval START SLAVE UNTIL master_log_file='$log_file1', master_log_pos=$log_pos1;
+--source include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t1;
+--let $slave_param= Read_Master_Log_Pos
+--let $slave_param_value= $log_pos2
+--source include/wait_for_slave_param.inc
+--source include/stop_slave_io.inc
+
+# Test that we can change to GTID and back without loosing our
+# old-style slave position.
+CHANGE MASTER TO master_use_gtid=slave_pos;
+# Unknown GTID, so slave will fail to connect.
+SET GLOBAL gtid_slave_pos="0-42-42";
+SET sql_log_bin=0;
+call mtr.add_suppression("Error: connecting slave requested to start from GTID");
+SET sql_log_bin=1;
+START SLAVE;
+--let $slave_io_errno= 1236
+--source include/wait_for_slave_io_error.inc
+STOP SLAVE SQL_THREAD;
+--source include/wait_for_slave_sql_to_stop.inc
+CHANGE MASTER TO master_use_gtid=no;
+
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+# Clean up.
+--connection server_1
+DROP TABLE t1;
+--connection server_2
+set @@global.slave_ddl_exec_mode=@save_slave_ddl_exec_mode;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_stop_start.cnf b/mysql-test/suite/rpl/t/rpl_gtid_stop_start.cnf
new file mode 100644
index 00000000000..c7247a80c0c
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_stop_start.cnf
@@ -0,0 +1,5 @@
+!include ../my.cnf
+
+[mysqld.2]
+# Needed because depending on load on test machine the master restart can take long.
+master_retry_count = 120
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test b/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test
new file mode 100644
index 00000000000..b57714aaa57
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test
@@ -0,0 +1,330 @@
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+--source include/have_innodb.inc
+
+--echo *** Test normal shutdown/restart of slave server configured as a GTID slave. ***
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+
+--let $status_items= Master_Log_File,Using_Gtid
+--source include/show_slave_status.inc
+
+CHANGE MASTER TO master_use_gtid=current_pos;
+
+# Now try to restart the slave mysqld server without starting the slave first
+# threads after the CHANGE MASTER.
+# When the slave restarts, it should reconnect using GTID.
+# We test that it really uses GTID by purging on the master the
+# old binlog the slave would need if connecting with old style
+# file name/offset.
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+--shutdown_server 30
+--source include/wait_until_disconnected.inc
+
+--connection server_1
+FLUSH LOGS;
+--let $purge_binlogs_to=master-bin.000002
+--source include/wait_for_purge.inc
+--source include/show_binary_logs.inc
+INSERT INTO t1 VALUES (2);
+FLUSH LOGS;
+INSERT INTO t1 VALUES (3);
+--source include/save_master_gtid.inc
+--source include/show_binary_logs.inc
+
+# Let the slave mysqld server start again.
+--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
+
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** Test normal shutdown/restart of master server, check binlog state is preserved. ***
+
+--connection server_1
+SET SESSION gtid_domain_id= 1;
+INSERT INTO t1 VALUES (4);
+--replace_column 2 # 4 # 5 #
+SHOW BINLOG EVENTS IN 'master-bin.000003' LIMIT 1,1;
+FLUSH LOGS;
+--replace_column 2 # 4 # 5 # 6 #
+SHOW BINLOG EVENTS IN 'master-bin.000004' LIMIT 1,1;
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+--shutdown_server 30
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+
+--connection default
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+--connection server_1
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--replace_column 2 # 4 # 5 # 6 #
+SHOW BINLOG EVENTS IN 'master-bin.000005' LIMIT 1,1;
+--source include/show_binary_logs.inc
+
+INSERT INTO t1 VALUES(5);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--echo *** Test that @@gtid_slave_pos and @@gtid_current_pos are correctly loaded even if slave threads have not started. ***
+--let $slave_pos1= `SELECT @@GLOBAL.gtid_slave_pos`
+--let $current_pos1= `SELECT @@GLOBAL.gtid_current_pos`
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+--shutdown_server 30
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=1 --skip-log-bin
+EOF
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+--disable_query_log
+eval SET @slave_pos1= "$slave_pos1";
+eval SET @current_pos1= "$current_pos1";
+--enable_query_log
+SET @slave_pos2= @@GLOBAL.gtid_slave_pos;
+SET @current_pos2= @@GLOBAL.gtid_current_pos;
+SELECT IF(@slave_pos1=@slave_pos2, "OK", CONCAT(@slave_pos1, " != ", @slave_pos2));
+SELECT IF(@current_pos1=@current_pos2, "OK", CONCAT(@current_pos1, " != ", @current_pos2));
+
+--connection server_1
+INSERT INTO t1 VALUES (6);
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** MDEV-4490: Old-style master position points at the last GTID event after slave restart ***
+
+--connection server_1
+INSERT INTO t1 VALUES (7);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+# Now we restart the slave server. When it restarts, there is nothing new
+# to replicate. Check that the position is nevertheless updated and
+# MASTER_POS_WAIT() works correctly and detects that we are up-to-date.
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+--shutdown_server 30
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=0
+EOF
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--source include/wait_for_slave_to_start.inc
+
+--connection server_1
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** MDEV-4486: Allow to start old-style replication even if mysql.gtid_slave_pos is unavailable
+
+--connection server_2
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid= no;
+--source include/start_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (8);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+--source include/stop_slave.inc
+
+SET sql_log_bin= 0;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+SET sql_log_bin= 1;
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+--shutdown_server 30
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart: --skip-slave-start=1 --skip-innodb
+EOF
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--error ER_UNKNOWN_STORAGE_ENGINE
+SELECT * FROM mysql.gtid_slave_pos;
+SET sql_log_bin=0;
+call mtr.add_suppression("Failed to load slave replication state from table");
+call mtr.add_suppression("Unable to load replication GTID slave state");
+SET sql_log_bin=1;
+
+--source include/start_slave.inc
+--connection server_1
+INSERT INTO t1 VALUES (9);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+# Put things back as they were.
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+--shutdown_server 30
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart:
+EOF
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+SET sql_log_bin= 0;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=MyISAM;
+SET sql_log_bin= 1;
+--source include/start_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (10);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid= slave_pos;
+--source include/start_slave.inc
+
+--echo *** MDEV-4692: mysql.gtid_slave_pos accumulates values for a domain ***
+SELECT domain_id, COUNT(*) FROM mysql.gtid_slave_pos GROUP BY domain_id;
+
+--connection server_1
+INSERT INTO t1 VALUES (11);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT domain_id, COUNT(*) FROM mysql.gtid_slave_pos GROUP BY domain_id;
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+--shutdown_server 30
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart:
+EOF
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+--source include/start_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (12);
+INSERT INTO t1 VALUES (13);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT domain_id, COUNT(*) FROM mysql.gtid_slave_pos GROUP BY domain_id;
+
+
+--echo *** MDEV-4650: show variables; ERROR 1946 (HY000): Failed to load replication slave GTID position ***
+
+--connection server_2
+SET sql_log_bin=0;
+--let $old_pos= `SELECT @@GLOBAL.gtid_slave_pos`
+RENAME TABLE mysql.gtid_slave_pos TO mysql.gtid_slave_pos_old;
+SET sql_log_bin=1;
+
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+wait
+EOF
+--shutdown_server 30
+--source include/wait_until_disconnected.inc
+
+# Let the slave mysqld server start again.
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
+restart
+EOF
+
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--disable_result_log
+SHOW VARIABLES;
+--enable_result_log
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+--error ER_CANNOT_LOAD_SLAVE_GTID_STATE,ER_NO_SUCH_TABLE
+SET GLOBAL gtid_slave_pos = '0-1-2';
+SHOW WARNINGS;
+
+# Restore things.
+
+SET sql_log_bin=0;
+RENAME TABLE mysql.gtid_slave_pos_old TO mysql.gtid_slave_pos;
+CALL mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
+SET sql_log_bin=1;
+
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SET GLOBAL gtid_slave_pos = '0-1-2';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+
+# Don't let .result file depend on old state of gtid_slave_pos
+--disable_query_log
+--disable_result_log
+eval SET GLOBAL gtid_slave_pos = '$old_pos';
+--enable_query_log
+--enable_result_log
+
+--source include/start_slave.inc
+
+
+--connection server_1
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_strict.test b/mysql-test/suite/rpl/t/rpl_gtid_strict.test
new file mode 100644
index 00000000000..afcb179da78
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_strict.test
@@ -0,0 +1,178 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/have_binlog_format_statement.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+SET sql_log_bin= 0;
+call mtr.add_suppression("Error writing file .*errno: 1950");
+
+SET sql_log_bin= 1;
+
+SET @old_gtid_strict_mode= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode= 1;
+--connection server_2
+--source include/stop_slave.inc
+SET @old_gtid_strict_mode= @@GLOBAL.gtid_strict_mode;
+SET GLOBAL gtid_strict_mode=1;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+--source include/start_slave.inc
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--source include/show_binlog_events.inc
+
+SET server_id= 3;
+--error ER_GTID_STRICT_OUT_OF_ORDER
+SET gtid_seq_no= 3;
+SET SESSION debug_dbug="+d,ignore_set_gtid_seq_no_check";
+SET gtid_seq_no= 3;
+SET SESSION debug_dbug="-d,ignore_set_gtid_seq_no_check";
+--error ER_GTID_STRICT_OUT_OF_ORDER
+INSERT INTO t1 VALUES (2);
+
+--error ER_GTID_STRICT_OUT_OF_ORDER
+SET gtid_seq_no= 2;
+SET SESSION debug_dbug="+d,ignore_set_gtid_seq_no_check";
+SET gtid_seq_no= 2;
+SET SESSION debug_dbug="-d,ignore_set_gtid_seq_no_check";
+--error ER_GTID_STRICT_OUT_OF_ORDER
+INSERT INTO t1 VALUES (3);
+SET server_id= 1;
+SET gtid_seq_no= 4;
+INSERT INTO t1 VALUES (4);
+SELECT * FROM t1 ORDER BY 1;
+--source include/show_binlog_events.inc
+
+--echo *** Test non-transactional GTID error (cannot be rolled back). ***
+SET server_id= 3;
+--error ER_GTID_STRICT_OUT_OF_ORDER
+SET gtid_seq_no= 1;
+SET SESSION debug_dbug="+d,ignore_set_gtid_seq_no_check";
+SET gtid_seq_no= 1;
+SET SESSION debug_dbug="-d,ignore_set_gtid_seq_no_check";
+--error ER_GTID_STRICT_OUT_OF_ORDER
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=MyISAM;
+# The table is still created, DDL cannot be rolled back.
+# Fix it up for replication.
+SET sql_log_bin= 0;
+DROP TABLE t2;
+SET sql_log_bin= 1;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=MyISAM;
+
+--error ER_GTID_STRICT_OUT_OF_ORDER
+SET gtid_seq_no= 1;
+SET SESSION debug_dbug="+d,ignore_set_gtid_seq_no_check";
+SET gtid_seq_no= 1;
+SET SESSION debug_dbug="-d,ignore_set_gtid_seq_no_check";
+--error ER_GTID_STRICT_OUT_OF_ORDER
+INSERT INTO t2 VALUES (1);
+# The value is still inserted, cannot be rolled back.
+SET server_id= 1;
+SET gtid_seq_no= 6;
+INSERT INTO t2 VALUES (2);
+SELECT * FROM t2 ORDER BY a;
+--source include/show_binlog_events.inc
+
+
+--echo *** Test that slave stops if it tries to apply a GTID that would create out-of-order binlog GTID sequence numbers. ***
+
+--save_master_pos
+--connection server_2
+--sync_with_master
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SET sql_log_bin= 0;
+call mtr.add_suppression("An attempt was made to binlog GTID .* which would create an out-of-order sequence number with existing GTID .*, and gtid strict mode is enabled");
+call mtr.add_suppression("The binlog on the master is missing the GTID [-0-9]+ requested by the slave");
+SET sql_log_bin= 1;
+
+# Create some out-of-order stuff on slave.
+INSERT INTO t1 VALUES (5);
+
+--connection server_1
+INSERT INTO t1 VALUES (6);
+--save_master_pos
+
+--connection server_2
+--let $slave_sql_errno=1950
+--source include/wait_for_slave_sql_error.inc
+STOP SLAVE IO_THREAD;
+SET GLOBAL gtid_strict_mode=0;
+--source include/start_slave.inc
+--sync_with_master
+SET GLOBAL gtid_strict_mode=1;
+SELECT * FROM t1 ORDER BY a;
+
+INSERT INTO t1 VALUES (7);
+--connection server_1
+CREATE TABLE t3 (a INT PRIMARY KEY);
+--save_master_pos
+
+--connection server_2
+--let $slave_sql_errno=1950
+--source include/wait_for_slave_sql_error.inc
+--error ER_NO_SUCH_TABLE
+--query_vertical SHOW CREATE TABLE t3
+STOP SLAVE IO_THREAD;
+SET GLOBAL gtid_strict_mode=0;
+--source include/start_slave.inc
+--sync_with_master
+SET GLOBAL gtid_strict_mode=1;
+--query_vertical SHOW CREATE TABLE t3
+
+INSERT INTO t1 VALUES (8);
+--connection server_1
+INSERT INTO t2 VALUES (3);
+--save_master_pos
+
+--connection server_2
+--let $slave_sql_errno=1950
+--source include/wait_for_slave_sql_error.inc
+SELECT * FROM t2 ORDER BY a;
+STOP SLAVE IO_THREAD;
+SET GLOBAL gtid_strict_mode=0;
+--source include/start_slave.inc
+--sync_with_master
+SET GLOBAL gtid_strict_mode=1;
+SELECT * FROM t2 ORDER BY a;
+
+
+--echo *** Check slave requests starting from a hole on the master. ***
+--connection server_2
+--source include/stop_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (10);
+SET gtid_seq_no= 100;
+INSERT INTO t1 VALUES (11);
+INSERT INTO t1 VALUES (12);
+--save_master_pos
+
+--connection server_2
+SET GLOBAL gtid_slave_pos= "0-1-50";
+START SLAVE;
+--let $slave_io_errno=1236
+--source include/wait_for_slave_io_error.inc
+STOP SLAVE SQL_THREAD;
+SET GLOBAL gtid_strict_mode= 0;
+--source include/start_slave.inc
+--sync_with_master
+
+SELECT * FROM t1 ORDER BY a;
+SET GLOBAL gtid_strict_mode= 1;
+
+
+# Clean up.
+--connection server_1
+DROP TABLE t1, t2, t3;
+SET GLOBAL gtid_strict_mode= @old_gtid_strict_mode;
+--connection server_2
+SET GLOBAL gtid_strict_mode= @old_gtid_strict_mode;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_until.test b/mysql-test/suite/rpl/t/rpl_gtid_until.test
new file mode 100644
index 00000000000..20d4510ccc8
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_gtid_until.test
@@ -0,0 +1,245 @@
+--source include/have_innodb.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+# Function to extract one GTID from a list.
+delimiter |;
+CREATE FUNCTION extract_gtid(d VARCHAR(100), s VARCHAR(100))
+ RETURNS VARCHAR(100) DETERMINISTIC
+BEGIN
+ SET s= CONCAT(",", s, ",");
+ SET s= SUBSTR(s FROM LOCATE(CONCAT(",", d, "-"), s) + 1);
+ SET s= SUBSTR(s FROM 1 FOR LOCATE(",", s) - 1);
+ RETURN s;
+END|
+delimiter ;|
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+# Both replication threads must be stopped for UNTIL master_gtid_pos.
+--error ER_SLAVE_WAS_RUNNING
+START SLAVE UNTIL master_gtid_pos = "";
+--source include/stop_slave_io.inc
+--error ER_SLAVE_WAS_RUNNING
+START SLAVE UNTIL master_gtid_pos = "";
+START SLAVE IO_THREAD;
+--source include/wait_for_slave_io_to_start.inc
+--source include/stop_slave_sql.inc
+--error ER_SLAVE_WAS_RUNNING
+START SLAVE UNTIL master_gtid_pos = "";
+--source include/stop_slave_io.inc
+# UNTIL master_gtid_pos only valid if GTID is used.
+
+--error ER_UNTIL_REQUIRES_USING_GTID
+START SLAVE UNTIL master_gtid_pos = "";
+
+CHANGE MASTER TO master_use_gtid=current_pos;
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+--let $gtid_pos=`SELECT @@GLOBAL.gtid_binlog_pos`
+INSERT INTO t1 VALUES(2);
+
+--connection server_2
+
+# Test various incorrect syntax for UNTIL master_gtid_pos.
+--error ER_DUPLICATE_GTID_DOMAIN
+START SLAVE UNTIL master_gtid_pos = "0-1-100,1-1-100,2-2-200,1-3-100,4-4-400";
+--error ER_PARSE_ERROR
+START SLAVE UNTIL master_log_file = "master-bin.000001", master_log_pos = 4, master_gtid_pos = "";
+--error ER_BAD_SLAVE_UNTIL_COND
+START SLAVE IO_THREAD UNTIL master_gtid_pos = "";
+--error ER_BAD_SLAVE_UNTIL_COND
+START SLAVE SQL_THREAD UNTIL master_gtid_pos = "";
+
+eval START SLAVE UNTIL master_gtid_pos = '$gtid_pos';
+
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1;
+
+--source include/start_slave.inc
+
+--connection server_1
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+# Test showing the UNTIL condition in SHOW SLAVE STATUS.
+--source include/stop_slave.inc
+START SLAVE UNTIL master_gtid_pos = "1-10-100,2-20-200,0-1-300";
+--source include/wait_for_slave_to_start.inc
+--let $status_items= Using_Gtid,Until_Condition
+--source include/show_slave_status.inc
+
+# Clear the UNTIL condition.
+# Note that we need to wait for a transaction to get through from the master.
+# Otherwise the IO thread may still be in get_master_version_and_clock()
+# (wait_for_slave_to_start.inc returns as soon as the IO thread is connected),
+# and we can get test failures from warnings in the log about IO thread being
+# killed in the middle of setting @@gtid_strict_mode or similar (MDEV-7940).
+--connection server_1
+INSERT INTO t1 VALUES (3);
+DELETE FROM t1 WHERE a=3;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+
+
+--echo *** Test UNTIL condition in an earlier binlog than the start GTID. ***
+--connection server_2
+
+--connection server_1
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (3);
+SET gtid_domain_id = 2;
+CREATE TABLE t2 (a INT);
+INSERT INTO t2 VALUES (3);
+--let $d1_point1= `SELECT extract_gtid("1", @@GLOBAL.gtid_binlog_pos)`
+--let $d2_point1= `SELECT extract_gtid("2", @@GLOBAL.gtid_binlog_pos)`
+FLUSH LOGS;
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (4);
+SET gtid_domain_id = 2;
+INSERT INTO t2 VALUES (4);
+FLUSH LOGS;
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (5);
+--let $d1_point2= `SELECT extract_gtid("1", @@GLOBAL.gtid_binlog_pos)`
+--let $d2_point2= `SELECT extract_gtid("2", @@GLOBAL.gtid_binlog_pos)`
+SET gtid_domain_id = 2;
+INSERT INTO t2 VALUES (5);
+FLUSH LOGS;
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (6);
+--let $d1_point3= `SELECT extract_gtid("1", @@GLOBAL.gtid_binlog_pos)`
+--let $d2_point3= `SELECT extract_gtid("2", @@GLOBAL.gtid_binlog_pos)`
+SET gtid_domain_id = 2;
+INSERT INTO t2 VALUES (6);
+SET gtid_domain_id = 0;
+--source include/show_binary_logs.inc
+--save_master_pos
+
+--connection server_2
+# Let the slave reach an middle point in domain 1 and a late point in domain 2.
+eval START SLAVE UNTIL master_gtid_pos='$d1_point2,$d2_point3';
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+# Now test starting at a middle point in the binlogs when the stop position in
+# one domain (domain 2) is early.
+eval START SLAVE UNTIL master_gtid_pos='$d1_point3,$d2_point1';
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+# Test that one UNTIL domain empty means stop that domain immediately.
+eval START SLAVE UNTIL master_gtid_pos='$d1_point2';
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+
+--echo *** Test when the UNTIL position is right at the end of the binlog file prior to the starting position ***
+
+--connection server_2
+--source include/stop_slave.inc
+
+--connection server_1
+FLUSH LOGS;
+SET gtid_domain_id = 1;
+INSERT INTO t1 VALUES (7);
+SET gtid_domain_id = 0;
+--save_master_pos
+
+--connection server_2
+eval START SLAVE UNTIL master_gtid_pos='$d1_point3';
+--source include/wait_for_slave_to_stop.inc
+# This should not show row 7, as we requested stop just before it.
+SELECT * FROM t1 ORDER BY a;
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** Test when UNTIL condition is after a stand-alone event (not a transaction). ***
+
+--connection server_2
+--source include/stop_slave.inc
+
+--connection server_1
+CREATE TABLE t3 (a INT);
+--let $until_condition=`SELECT @@GLOBAL.gtid_binlog_pos`
+DROP TABLE t3;
+--save_master_pos
+
+--connection server_2
+--replace_result $until_condition UNTIL_CONDITION
+eval START SLAVE UNTIL master_gtid_pos='$until_condition';
+--source include/wait_for_slave_to_stop.inc
+SHOW CREATE TABLE t3;
+--source include/start_slave.inc
+--sync_with_master
+
+--echo *** Test UNTIL condition that has not yet been logged. ***
+
+--connection server_2
+--source include/stop_slave.inc
+RESET SLAVE ALL;
+RESET MASTER;
+SET GLOBAL gtid_slave_pos='';
+
+--connection server_1
+# Do it once to compute the right GTID, then throw it away and do it again
+# for the actual test.
+RESET MASTER;
+INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (11);
+--let $until_condition=`SELECT @@GLOBAL.gtid_binlog_pos`
+INSERT INTO t1 VALUES (12);
+DELETE FROM t1 WHERE a >= 10;
+
+RESET MASTER;
+INSERT INTO t1 VALUES (10);
+
+--connection server_2
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $SERVER_MYPORT_1,
+ master_user = "root", master_use_gtid = current_pos;
+eval START SLAVE UNTIL master_gtid_pos = '$until_condition';
+--source include/wait_for_slave_to_start.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (11);
+INSERT INTO t1 VALUES (12);
+--save_master_pos
+
+--connection server_2
+# This then should wait until it gets the row (11) and then stop, not
+# yet having the row (12).
+--source include/wait_for_slave_to_stop.inc
+SELECT * FROM t1 ORDER BY a;
+--source include/start_slave.inc
+--sync_with_master
+# And now the row (12) should be there.
+SELECT * FROM t1 ORDER BY a;
+
+
+# Clean up.
+--connection server_1
+DROP TABLE t1;
+DROP TABLE t2;
+DROP FUNCTION extract_gtid;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
index 960bbc3be3b..4c8d3a1fedb 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
@@ -318,7 +318,7 @@ INSERT INTO t1 VALUES (1, 'on slave', NULL);
--connection master
INSERT INTO t1 VALUES (1, 'on master', NULL);
--connection slave
-call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* error.* 1062");
call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
let $slave_errno= ER_DUP_ENTRY
--source include/wait_for_slave_sql_error.inc
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat_debug.test b/mysql-test/suite/rpl/t/rpl_heartbeat_debug.test
index 7cdf67d6532..6a426ed1e9f 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_debug.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_debug.test
@@ -1,7 +1,7 @@
# Testing master to slave heartbeat protocol, test cases that need debug build.
---source include/master-slave.inc
--source include/have_debug.inc
+--source include/master-slave.inc
connection slave;
--source include/stop_slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_idempotency.test b/mysql-test/suite/rpl/t/rpl_idempotency.test
index c229711e005..e801aac9b5e 100644
--- a/mysql-test/suite/rpl/t/rpl_idempotency.test
+++ b/mysql-test/suite/rpl/t/rpl_idempotency.test
@@ -4,10 +4,10 @@
source include/master-slave.inc;
# Add suppression for expected warning(s) in slaves error log
-call mtr.add_suppression("Slave SQL.*Can.t find record in .t[12].* Error_code: 1032");
-call mtr.add_suppression("Slave SQL.*Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
-call mtr.add_suppression("Slave SQL.*Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
-call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.* Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Can.t find record in .t[12].* error.* 1032");
+call mtr.add_suppression("Slave SQL.*Cannot delete or update a parent row: a foreign key constraint fails .* error.* 1451");
+call mtr.add_suppression("Slave SQL.*Cannot add or update a child row: a foreign key constraint fails .* error.* 1452");
+call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.* Duplicate entry .1. for key .PRIMARY.* error.* 1062");
connection master;
CREATE TABLE t1 (a INT PRIMARY KEY);
@@ -75,9 +75,30 @@ SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
--source include/check_slave_no_error.inc
+connection slave;
+drop table t1, t2;
+
connection master;
DROP TABLE t1, t2;
sync_slave_with_master;
+--source include/check_slave_no_error.inc
+create database d;
+create database e;
+
+connection master;
+create database d;
+create database if not exists e;
+
+sync_slave_with_master;
+--source include/check_slave_no_error.inc
+drop database d;
+drop database e;
+
+connection master;
+drop database d;
+drop database if exists e;
+sync_slave_with_master;
+--source include/check_slave_no_error.inc
SET @@global.slave_exec_mode= @old_slave_exec_mode;
diff --git a/mysql-test/suite/rpl/t/rpl_ignore_grant.test b/mysql-test/suite/rpl/t/rpl_ignore_grant.test
index 34074ba8ca9..ee049a515d7 100644
--- a/mysql-test/suite/rpl/t/rpl_ignore_grant.test
+++ b/mysql-test/suite/rpl/t/rpl_ignore_grant.test
@@ -6,11 +6,15 @@ source include/master-slave.inc;
# do not be influenced by other tests.
connection master;
+set global sql_mode="";
+set local sql_mode="";
delete from mysql.user where user=_binary'rpl_ignore_grant';
delete from mysql.db where user=_binary'rpl_ignore_grant';
flush privileges;
save_master_pos;
connection slave;
+set global sql_mode="";
+set local sql_mode="";
sync_with_master;
# as these DELETE were not replicated, we need to do them manually on the
# slave.
@@ -56,5 +60,8 @@ delete from mysql.user where user=_binary'rpl_ignore_grant';
delete from mysql.db where user=_binary'rpl_ignore_grant';
flush privileges;
+set global sql_mode=default;
+connection master;
+set global sql_mode=default;
# End of 4.1 tests
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ignore_table.test b/mysql-test/suite/rpl/t/rpl_ignore_table.test
index 5a714498e27..111b6159ec7 100644
--- a/mysql-test/suite/rpl/t/rpl_ignore_table.test
+++ b/mysql-test/suite/rpl/t/rpl_ignore_table.test
@@ -1,6 +1,6 @@
-source include/master-slave.inc;
let collation=utf8_unicode_ci;
---source include/have_collation.inc
+source include/have_collation.inc;
+source include/master-slave.inc;
call mtr.add_suppression("Can't find record in 't.'");
call mtr.add_suppression("Can't find record in 'user'");
@@ -49,6 +49,7 @@ connection master;
create table test.t1(a int);
create table test.t4(a int);
+set sql_mode="";
# Simple user that should not replicate
GRANT SELECT ON test.t1 TO mysqltest1@localhost;
@@ -87,7 +88,7 @@ show grants for mysqltest6@localhost;
flush privileges;
show grants for mysqltest5@somehost;
-
+set sql_mode="";
sync_slave_with_master;
--echo **** Checking grants on slave ****
@@ -131,7 +132,7 @@ show grants for mysqltest4@localhost;
# where mysqltest1 does not exist on slave,
# to succeed on slave the mode is temporarily changed
set global slave_exec_mode='IDEMPOTENT';
-call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table mysql.* Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table mysql.* error.* 1032");
connection master;
drop table t1, mysqltest2.t2;
@@ -180,6 +181,7 @@ SELECT HEX(word) FROM t5;
SELECT * FROM tmptbl504451f4258$1;
connection master;
DROP TABLE t5;
+flush privileges;
sync_slave_with_master;
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_incident.test b/mysql-test/suite/rpl/t/rpl_incident.test
index d6034009f4f..9be855e1a8b 100644
--- a/mysql-test/suite/rpl/t/rpl_incident.test
+++ b/mysql-test/suite/rpl/t/rpl_incident.test
@@ -1,41 +1 @@
---source include/master-slave.inc
---source include/have_debug.inc
-
---echo **** On Master ****
-CREATE TABLE t1 (a INT);
-
-INSERT INTO t1 VALUES (1),(2),(3);
-SELECT * FROM t1;
-
-# This will generate an incident log event and store it in the binary
-# log before the replace statement.
-REPLACE INTO t1 VALUES (4);
---save_master_pos
-SELECT * FROM t1;
-
-connection slave;
-# Wait until SQL thread stops with error LOST_EVENT on master
-call mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master.* 1590");
-let $slave_sql_errno= 1590;
-let $show_slave_sql_error= 1;
-source include/wait_for_slave_sql_error.inc;
-
-# The 4 should not be inserted into the table, since the incident log
-# event should have stop the slave.
---echo **** On Slave ****
-SELECT * FROM t1;
-
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-START SLAVE;
---sync_with_master
-
-# Now, we should have inserted the row into the table and the slave
-# should be running. We should also have rotated to a new binary log.
-
-SELECT * FROM t1;
-source include/check_slave_is_running.inc;
-
-connection master;
-DROP TABLE t1;
---sync_slave_with_master
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_incident.inc
diff --git a/mysql-test/suite/rpl/t/rpl_init_slave_errors.test b/mysql-test/suite/rpl/t/rpl_init_slave_errors.test
index 067d21a4e46..6f515b9390a 100644
--- a/mysql-test/suite/rpl/t/rpl_init_slave_errors.test
+++ b/mysql-test/suite/rpl/t/rpl_init_slave_errors.test
@@ -1,89 +1 @@
-######################################################################
-# Some errors that cause the slave SQL thread to stop are not shown in
-# the Slave_SQL_Error column of "SHOW SLAVE STATUS". Instead, the error
-# is only in the server's error log.
-#
-# Two failures and their respective reporting are verified:
-#
-# 1 - Failures during slave thread initialization
-# 2 - Failures while processing queries passed through the init_slave
-# option.
-#
-# In order to check the first type of failure, we inject a fault in the
-# SQL/IO Threads through SET GLOBAL debug.
-#
-# To check the second type, we set @@global.init_slave to an invalid
-# command thus preventing the initialization of the SQL Thread.
-#
-# Obs:
-# 1 - Note that testing failures while initializing the relay log position
-# is hard as the same function is called before the code reaches the point
-# that we want to test.
-#
-# 2 - This test does not target failures that are reported while applying
-# events such as duplicate keys, errors while reading the relay-log.bin*,
-# etc. Such errors are already checked on other tests.
-######################################################################
-
-######################################################################
-# Configuring the Environment
-######################################################################
-source include/have_debug.inc;
-source include/master-slave.inc;
-source include/have_log_bin.inc;
-
-connection slave;
-
---disable_warnings
-stop slave;
---enable_warnings
-reset slave;
-
-######################################################################
-# Injecting faults in the threads' initialization
-######################################################################
-connection slave;
-
-# Set debug flags on slave to force errors to occur
-SET GLOBAL debug_dbug= "d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
-
-start slave;
-
-#
-# slave is going to stop because of emulated failures
-# but there won't be any crashes nor asserts hit.
-#
-# 1593 = ER_SLAVE_FATAL_ERROR
---let $slave_sql_errno= 1593
---let $show_slave_sql_error= 1
---source include/wait_for_slave_sql_error.inc
-
-call mtr.add_suppression("Failed during slave.* thread initialization");
-
-SET GLOBAL debug_dbug= "";
-
-######################################################################
-# Injecting faults in the init_slave option
-######################################################################
-connection slave;
-
-reset slave;
-
-SET GLOBAL init_slave= "garbage";
-
-start slave;
-# 1064 = ER_PARSE_ERROR
---let $slave_sql_errno= 1064
---let $show_slave_sql_error= 1
---source include/wait_for_slave_sql_error.inc
-
-######################################################################
-# Clean up
-######################################################################
-SET GLOBAL init_slave= "";
-
-# Clean up Last_SQL_Error
---source include/stop_slave_io.inc
-RESET SLAVE;
---let $rpl_only_running_threads= 1
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_init_slave_errors.inc
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test b/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
index afc0c2cbd4b..12698263da4 100644
--- a/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
@@ -14,18 +14,21 @@ let $engine_type= 'innodb';
use test;
eval CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
- dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON
+ UPDATE CURRENT_TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
fkid MEDIUMINT, filler VARCHAR(255),
PRIMARY KEY(id)) ENGINE=$engine_type;
eval CREATE TABLE test.bykey_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
- dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+ CURRENT_TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
fkid MEDIUMINT, filler VARCHAR(255),
PRIMARY KEY(id)) ENGINE=$engine_type
PARTITION BY KEY(id) partitions 5;
eval CREATE TABLE test.byrange_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
- dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+ CURRENT_TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
fkid MEDIUMINT, filler VARCHAR(255),
PRIMARY KEY(id)) ENGINE=$engine_type
PARTITION BY RANGE(id)
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug68220.test b/mysql-test/suite/rpl/t/rpl_innodb_bug68220.test
new file mode 100644
index 00000000000..1e4f40a0019
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug68220.test
@@ -0,0 +1,53 @@
+--source include/have_innodb.inc
+--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
+
+#
+# Bug#68220: innodb_rows_updated is misleading on slave when *info_repository=TABLE
+#
+
+# created all the base variables at the beginning at the test
+--connection master
+select variable_value into @master_rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select variable_value into @master_rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select variable_value into @master_rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select variable_value into @master_rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select variable_value into @master_system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select variable_value into @master_system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select variable_value into @master_system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select variable_value into @master_system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+
+--connection slave
+select variable_value into @slave_rows_read from information_schema.global_status where variable_name = 'innodb_rows_read';
+select variable_value into @slave_rows_updated from information_schema.global_status where variable_name = 'innodb_rows_updated';
+select variable_value into @slave_rows_deleted from information_schema.global_status where variable_name = 'innodb_rows_deleted';
+select variable_value into @slave_rows_inserted from information_schema.global_status where variable_name = 'innodb_rows_inserted';
+select variable_value into @slave_system_rows_read from information_schema.global_status where variable_name = 'innodb_system_rows_read';
+select variable_value into @slave_system_rows_updated from information_schema.global_status where variable_name = 'innodb_system_rows_updated';
+select variable_value into @slave_system_rows_deleted from information_schema.global_status where variable_name = 'innodb_system_rows_deleted';
+select variable_value into @slave_system_rows_inserted from information_schema.global_status where variable_name = 'innodb_system_rows_inserted';
+
+--connection master
+CREATE DATABASE testdb;
+USE testdb;
+CREATE TABLE testdb.t1 (i int NOT NULL PRIMARY KEY) ENGINE=InnoDB;
+
+# insert a row and show counters on master and slave
+INSERT INTO testdb.t1 VALUES (1);
+--source suite/rpl/include/rpl_innodb_rows_counters.inc
+
+# update the row and show counters on master and slave
+UPDATE t1 SET i=2 WHERE i=1;
+--sync_slave_with_master
+--source suite/rpl/include/rpl_innodb_rows_counters.inc
+
+# delete the row and show counters on master and slave
+DELETE FROM t1 WHERE i=2;
+--source suite/rpl/include/rpl_innodb_rows_counters.inc
+
+# clean the test
+DROP TABLE t1;
+DROP DATABASE testdb;
+--sync_slave_with_master
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_insert.test b/mysql-test/suite/rpl/t/rpl_insert.test
index 2a29139ac48..48814508818 100644
--- a/mysql-test/suite/rpl/t/rpl_insert.test
+++ b/mysql-test/suite/rpl/t/rpl_insert.test
@@ -2,9 +2,9 @@
--echo # Bug#20821: INSERT DELAYED fails to write some rows to binlog
--echo #
---source include/master-slave.inc
--source include/not_embedded.inc
--source include/not_windows.inc
+--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");
diff --git a/mysql-test/suite/rpl/t/rpl_insert_id.test b/mysql-test/suite/rpl/t/rpl_insert_id.test
index f2f62a207a0..ad32ad24b33 100644
--- a/mysql-test/suite/rpl/t/rpl_insert_id.test
+++ b/mysql-test/suite/rpl/t/rpl_insert_id.test
@@ -1,7 +1,6 @@
#################################
# Wrapper for rpl_insert_id.test#
#################################
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_insert_id.test
diff --git a/mysql-test/suite/rpl/t/rpl_insert_id_pk.test b/mysql-test/suite/rpl/t/rpl_insert_id_pk.test
index c0d68855f85..148afdac87b 100644
--- a/mysql-test/suite/rpl/t/rpl_insert_id_pk.test
+++ b/mysql-test/suite/rpl/t/rpl_insert_id_pk.test
@@ -1,7 +1,6 @@
#################################
# Wrapper for rpl_insert_id.test#
#################################
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=innodb;
-- source extra/rpl_tests/rpl_insert_id_pk.test
diff --git a/mysql-test/suite/rpl/t/rpl_insert_ignore.test b/mysql-test/suite/rpl/t/rpl_insert_ignore.test
index 0346975fcee..0891a04db25 100644
--- a/mysql-test/suite/rpl/t/rpl_insert_ignore.test
+++ b/mysql-test/suite/rpl/t/rpl_insert_ignore.test
@@ -1,7 +1,6 @@
#####################################
# Wrapper for rpl_insert_ignore.test#
#####################################
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
-- source include/master-slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_invoked_features.test b/mysql-test/suite/rpl/t/rpl_invoked_features.test
index 7770c36c397..91391cf8372 100644
--- a/mysql-test/suite/rpl/t/rpl_invoked_features.test
+++ b/mysql-test/suite/rpl/t/rpl_invoked_features.test
@@ -5,8 +5,8 @@
# Features for Replication.
#########################################
---source include/master-slave.inc
--source include/have_innodb.inc
+--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");
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata.test b/mysql-test/suite/rpl/t/rpl_loaddata.test
index 9f4ca1aaf18..76b008caa92 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_binlog_format_statement.inc
let $engine_type=MyISAM;
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test b/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test
index be099c1b6c4..4e87d6de59c 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test
@@ -15,7 +15,7 @@ connection master;
LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE t1;
connection slave;
-call mtr.add_suppression("Slave SQL.*Fatal error: Not enough memory, Error_code: 1593");
+call mtr.add_suppression("Slave SQL.*Fatal error: Not enough memory, error.* 1593");
let $slave_sql_errno= 1593;
let $show_slave_sql_error= 1;
source include/wait_for_slave_sql_error_and_skip.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_symlink.test b/mysql-test/suite/rpl/t/rpl_loaddata_symlink.test
index c73fa2897f3..e5ee400d231 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_symlink.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_symlink.test
@@ -4,8 +4,8 @@
# if the path of the load data file is a symbolic link.
#
--source include/not_windows.inc
---source include/master-slave.inc
--source include/have_binlog_format_statement.inc
+--source include/master-slave.inc
create table t1(a int not null auto_increment, b int, primary key(a) );
load data infile '../../std_data/rpl_loaddata.dat' into table t1;
diff --git a/mysql-test/suite/rpl/t/rpl_loaddatalocal.test b/mysql-test/suite/rpl/t/rpl_loaddatalocal.test
index 4ebe572741f..8d90afaed27 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddatalocal.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddatalocal.test
@@ -1,240 +1 @@
-# See if "LOAD DATA LOCAL INFILE" is well replicated
-# (LOAD DATA LOCAL INFILE is not written to the binlog
-# the same way as LOAD DATA INFILE : Append_blocks are smaller).
-# In MySQL 4.0 <4.0.12 there were 2 bugs with LOAD DATA LOCAL INFILE :
-# - the loaded file was not written entirely to the master's binlog,
-# only the first 4KB, 8KB or 16KB usually.
-# - the loaded file's first line was not written entirely to the
-# master's binlog (1st char was absent)
-source include/master-slave.inc;
-
-create table t1(a int);
-let $1=10000;
-disable_query_log;
-set SQL_LOG_BIN=0;
-while ($1)
-{
- insert into t1 values(1);
- dec $1;
-}
-set SQL_LOG_BIN=1;
-enable_query_log;
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval select * into outfile '$MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' from t1;
-#This will generate a 20KB file, now test LOAD DATA LOCAL
-truncate table t1;
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval load data local infile '$MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' into table t1;
---remove_file $MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile
-sync_slave_with_master;
-select a,count(*) from t1 group by a;
-connection master;
-drop table t1;
-sync_slave_with_master;
-
-# End of 4.1 tests
-
-#
-# Now let us test how well we replicate LOAD DATA LOCAL in situation when
-# we met duplicates in tables to which we are adding rows.
-# (It supposed that LOAD DATA LOCAL ignores such errors)
-#
-connection master;
-create table t1(a int);
-insert into t1 values (1), (2), (2), (3);
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval select * into outfile '$MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int primary key);
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval load data local infile '$MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' into table t1;
---remove_file $MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile
-SELECT * FROM t1 ORDER BY a;
-save_master_pos;
-connection slave;
-sync_with_master;
-SELECT * FROM t1 ORDER BY a;
-connection master;
-drop table t1;
-save_master_pos;
-connection slave;
-sync_with_master;
-
-
-#
-# Bug22504 load data infile sql statement in replication architecture get error
-#
---echo ==== Bug22504 Initialize ====
-
---echo [on master]
---connection master
-
-SET sql_mode='ignore_space';
-CREATE TABLE t1(a int);
-insert into t1 values (1), (2), (3), (4);
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval select * into outfile '$MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' from t1;
-truncate table t1;
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval load data local infile '$MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' into table t1;
---remove_file $MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile
-SELECT * FROM t1 ORDER BY a;
-
---echo [on slave]
-sync_slave_with_master;
-SELECT * FROM t1 ORDER BY a;
-
---echo ==== Clean up ====
-
---echo [on master]
-connection master;
-DROP TABLE t1;
-
---echo [on slave]
-sync_slave_with_master;
-
---echo
---echo Bug #43746:
---echo "return wrong query string when parse 'load data infile' sql statement"
---echo
-
---echo [master]
-connection master;
-let $MYSQLD_DATADIR= `select @@datadir`;
-SELECT @@SESSION.sql_mode INTO @old_mode;
-
-SET sql_mode='ignore_space';
-
-CREATE TABLE t1(a int);
-INSERT INTO t1 VALUES (1), (2), (3), (4);
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval SELECT * INTO OUTFILE '$MYSQLD_DATADIR/bug43746.sql' FROM t1;
-TRUNCATE TABLE t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD/* look mum, with comments in weird places! */DATA/* oh hai */LOCAL INFILE '$MYSQLD_DATADIR/bug43746.sql'/* we are */INTO/* from the internets */TABLE t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA/*!10000 LOCAL */INFILE '$MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug43746.sql' /*!10000 INTO */ TABLE t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug43746.sql' /*!10000 INTO TABLE */ t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA /*!10000 LOCAL INFILE '$MYSQLD_DATADIR/bug43746.sql' INTO TABLE */ t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA/*!10000 LOCAL */INFILE '$MYSQLD_DATADIR/bug43746.sql'/*!10000 INTO*/TABLE t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA/*!10000 LOCAL */INFILE '$MYSQLD_DATADIR/bug43746.sql'/* empty */INTO TABLE t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA/*!10000 LOCAL */INFILE '$MYSQLD_DATADIR/bug43746.sql' INTO/* empty */TABLE t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD/*!99999 special comments that do not expand */DATA/*!99999 code from the future */LOCAL INFILE '$MYSQLD_DATADIR/bug43746.sql'/*!99999 have flux capacitor */INTO/*!99999 will travel */TABLE t1;
-
-SET sql_mode='PIPES_AS_CONCAT,ANSI_QUOTES,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER';
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
-
---echo [slave]
-sync_slave_with_master;
-
---echo
---echo Bug #59267:
---echo "LOAD DATA LOCAL INFILE not executed on slave with SBR"
---echo
-
---echo [master]
-connection master;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval SELECT * INTO OUTFILE '$MYSQLD_DATADIR/bug59267.sql' FROM t1;
-TRUNCATE TABLE t1;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug59267.sql' INTO TABLE t1;
-
-SELECT 'Master', COUNT(*) FROM t1;
-
---echo [slave]
---sync_slave_with_master
-SELECT 'Slave', COUNT(*) FROM t1;
-
-# cleanup
---echo [master]
-connection master;
-
---remove_file $MYSQLD_DATADIR/bug43746.sql
---remove_file $MYSQLD_DATADIR/bug59267.sql
-
-DROP TABLE t1;
-SET SESSION sql_mode=@old_mode;
-
---echo [slave]
-sync_slave_with_master;
-
-connection master;
-
---echo
---echo Bug #60580/#11902767:
---echo "statement improperly replicated crashes slave sql thread"
---echo
-
---echo [master]
-connection master;
-let $MYSQLD_DATADIR= `select @@datadir`;
-
-CREATE TABLE t1(f1 INT, f2 INT);
-CREATE TABLE t2(f1 INT, f2 TIMESTAMP);
-
-INSERT INTO t2 VALUES(1, '2011-03-22 21:01:28');
-INSERT INTO t2 VALUES(2, '2011-03-21 21:01:28');
-INSERT INTO t2 VALUES(3, '2011-03-20 21:01:28');
-
-CREATE TABLE t3 AS SELECT * FROM t2;
-
-CREATE VIEW v1 AS SELECT * FROM t2
- WHERE f1 IN (SELECT f1 FROM t3 WHERE (t3.f2 IS NULL));
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval SELECT 1 INTO OUTFILE '$MYSQLD_DATADIR/bug60580.csv' FROM DUAL;
-
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug60580.csv' INTO TABLE t1 (@f1) SET f2 = (SELECT f1 FROM v1 WHERE f1=@f1);
-
-SELECT * FROM t1;
-
-sleep 1;
-
---echo [slave]
-sync_slave_with_master;
-
-SELECT * FROM t1;
-
---remove_file $MYSQLD_DATADIR/bug60580.csv
-
---echo [master]
-connection master;
-
-DROP VIEW v1;
-DROP TABLE t1, t2, t3;
-
---echo [slave]
-sync_slave_with_master;
-
-connection master;
---source include/rpl_end.inc
-
---echo # End of 5.1 tests
+--source extra/rpl_tests/rpl_loaddata_local.inc
diff --git a/mysql-test/suite/rpl/t/rpl_loadfile.test b/mysql-test/suite/rpl/t/rpl_loadfile.test
index 3f897faac48..babf4208b3d 100644
--- a/mysql-test/suite/rpl/t/rpl_loadfile.test
+++ b/mysql-test/suite/rpl/t/rpl_loadfile.test
@@ -1,115 +1 @@
-#############################################################################
-# Original Author: JBM #
-# Original Date: Aug/18/2005 #
-#############################################################################
-# TEST: To test the LOAD_FILE() in rbr #
-#############################################################################
-# Change Author: JBM
-# Change Date: 2006-01-16
-# Change: Added Order by for NDB
-##########
-
-# Includes
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/master-slave.inc
-
--- source extra/rpl_tests/rpl_loadfile.test
-
-# BUG#39701: Mixed binlog format does not switch to row mode on LOAD_FILE
-#
-# DESCRIPTION
-#
-# Problem: when using load_file string function and mixed binlogging format
-# there was no switch to row based binlogging format. This leads
-# to scenarios on which the slave replicates the statement and it
-# will try to load the file from local file system, which in most
-# likely it will not exist.
-#
-# Solution:
-# Marking this function as unsafe for statement format, makes the
-# statement using it to be logged in row based format. As such, data
-# replicated from the master, becomes the content of the loaded file.
-# Consequently, the slave receives the necessary data to complete
-# the load_file instruction correctly.
-#
-# IMPLEMENTATION
-#
-# The test is implemented as follows:
-#
-# On Master,
-# i) write to file the desired content.
-# ii) create table and stored procedure with load_file
-# iii) stop slave
-# iii) execute load_file
-# iv) remove file
-#
-# On Slave,
-# v) start slave
-# vi) sync it with master so that it gets the updates from binlog (which
-# should have bin logged in row format).
-#
-# If the the binlog format does not change to row, then the assertion
-# done in the following step fails. This happens because tables differ
-# since the file does not exist anymore, meaning that when slave
-# attempts to execute LOAD_FILE statement it inserts NULL on table
-# instead of the same contents that the master loaded when it executed
-# the procedure (which was executed when file existed).
-#
-# vii) assert that the contents of master and slave
-# table are the same
-
---source include/rpl_reset.inc
-
-connection master;
-let $file= $MYSQLTEST_VARDIR/tmp/bug_39701.data;
-
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---eval SELECT repeat('x',20) INTO OUTFILE '$file'
-
-disable_warnings;
-DROP TABLE IF EXISTS t1;
-enable_warnings;
-
-CREATE TABLE t1 (t text);
-DELIMITER |;
-CREATE PROCEDURE p(file varchar(4096))
- BEGIN
- INSERT INTO t1 VALUES (LOAD_FILE(file));
- END|
-DELIMITER ;|
-
-# stop slave before issuing the load_file on master
-connection slave;
-source include/stop_slave.inc;
-
-connection master;
-
-# test: check that logging falls back to rbr.
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---eval CALL p('$file')
-
-# test: remove the file from the filesystem and assert that slave still
-# gets the loaded file
-remove_file $file;
-
-# now that the file is removed it is safe (regarding what we want to test)
-# to start slave
-connection slave;
-source include/start_slave.inc;
-
-connection master;
-sync_slave_with_master;
-
-# assertion: assert that the slave got the updates even
-# if the file was removed before the slave started,
-# meaning that contents were indeed transfered
-# through binlog (in row format)
-let $diff_tables= master:t1, slave:t1;
-source include/diff_tables.inc;
-
-# CLEAN UP
---connection master
-DROP TABLE t1;
-DROP PROCEDURE p;
-
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_loadfile.inc
diff --git a/mysql-test/suite/rpl/t/rpl_log_pos.test b/mysql-test/suite/rpl/t/rpl_log_pos.test
index 1270933ede1..4f63cd32916 100644
--- a/mysql-test/suite/rpl/t/rpl_log_pos.test
+++ b/mysql-test/suite/rpl/t/rpl_log_pos.test
@@ -1,7 +1,6 @@
##########
# Change Author: JBM
# Change Date: 2006-01-16
-# Change: Added Order by for NDB
##########
#
diff --git a/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test b/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test
new file mode 100644
index 00000000000..2761f169e83
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test
@@ -0,0 +1,160 @@
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/have_binlog_format_row.inc
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+connection master;
+
+set @old_master_binlog_checksum= @@global.binlog_checksum;
+set @old_slave_dbug= @@global.debug_dbug;
+
+# MDEV-4475: Cannot replicate to old server when binlog contains
+# empty Gtid_list event
+#
+# Test this by binlog rotation before we log any GTIDs.
+connection slave;
+--source include/stop_slave.inc
+--echo # Test slave with no capability gets dummy event, which is ignored.
+SET @@global.debug_dbug='+d,simulate_slave_capability_none';
+--source include/start_slave.inc
+
+connection master;
+FLUSH LOGS;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (0);
+sync_slave_with_master;
+
+connection master;
+# Add a dummy event just to have something to sync_slave_with_master on.
+# Otherwise we occasionally get different $relaylog_start, depending on
+# whether Format_description_log_event was written to relay log or not
+# at the time of SHOW SLAVE STATUS.
+ALTER TABLE t1 ORDER BY a;
+sync_slave_with_master;
+connection slave;
+let $relaylog_start= query_get_value(SHOW SLAVE STATUS, Relay_Log_Pos, 1);
+
+connection master;
+SET SESSION binlog_annotate_row_events = ON;
+let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
+let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+# A short event, to test when we need to use user_var_event for dummy event.
+DELETE FROM t1;
+INSERT INTO t1 /* A comment just to make the annotate event sufficiently long that the dummy event will need to get padded with spaces so that we can test that this works */ VALUES(1);
+let $binlog_limit= 0, 10;
+--source include/show_binlog_events.inc
+sync_slave_with_master;
+connection slave;
+
+SELECT * FROM t1;
+let $binlog_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1);
+let $binlog_start= $relaylog_start;
+let $binlog_limit=0,10;
+--source include/show_relaylog_events.inc
+set @@global.debug_dbug= @old_slave_dbug;
+
+--echo # Test dummy event is checksummed correctly.
+
+connection master;
+set @@global.binlog_checksum = CRC32;
+--source include/wait_for_binlog_checkpoint.inc
+TRUNCATE t1;
+let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
+let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+INSERT INTO t1 VALUES(2);
+let $binlog_limit= 0, 5;
+--source include/show_binlog_events.inc
+sync_slave_with_master;
+connection slave;
+
+SELECT * FROM t1;
+let $binlog_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1);
+let $binlog_start= 0;
+let $binlog_limit=7,5;
+--source include/show_relaylog_events.inc
+
+
+--echo *** MDEV-5754: MySQL 5.5 slaves cannot replicate from MariaDB 10.0 ***
+
+# The problem was that for a group commit, we get commit id into the
+# GTID event, and there was a bug in the code that replaces GTID with
+# dummy that failed when commit id was present.
+#
+# So setup a group commit in InnoDB.
+
+--connection master
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
+let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--connect (con1,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+send INSERT INTO t2 VALUES (1);
+
+--connection master
+SET debug_sync='now WAIT_FOR master_queued1';
+
+--connect (con2,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+send INSERT INTO t2 VALUES (2);
+
+--connection master
+SET debug_sync='now WAIT_FOR master_queued2';
+SET debug_sync='now SIGNAL master_cont1';
+
+--connection con1
+REAP;
+SET debug_sync='RESET';
+--connection con2
+REAP;
+SET debug_sync='RESET';
+--connection master
+SET debug_sync='RESET';
+let $binlog_limit= 0, 8;
+--source include/show_binlog_events.inc
+--save_master_pos
+
+--connection slave
+--sync_with_master
+SELECT * FROM t2 ORDER BY a;
+
+
+--echo # Test that slave which cannot tolerate holes in binlog stream but
+--echo # knows the event does not get dummy event
+
+--source include/stop_slave.inc
+SET @@global.debug_dbug='+d,simulate_slave_capability_old_53';
+--source include/start_slave.inc
+connection master;
+ALTER TABLE t1 ORDER BY a;
+sync_slave_with_master;
+connection slave;
+let $relaylog_start= query_get_value(SHOW SLAVE STATUS, Relay_Log_Pos, 1);
+
+connection master;
+let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
+let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+UPDATE t1 SET a = 3;
+let $binlog_limit= 0, 5;
+--source include/show_binlog_events.inc
+sync_slave_with_master;
+connection slave;
+
+SELECT * FROM t1;
+let $binlog_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1);
+let $binlog_start= $relaylog_start;
+let $binlog_limit=0,5;
+--source include/show_relaylog_events.inc
+
+select @@global.log_slave_updates;
+select @@global.replicate_annotate_row_events;
+
+set @@global.debug_dbug= @old_slave_dbug;
+
+--echo Clean up.
+connection master;
+set @@global.binlog_checksum = @old_master_binlog_checksum;
+DROP TABLE t1, t2;
+sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_master_pos_wait.test b/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
index 25e27f62d0a..a3f3ff56464 100644
--- a/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
+++ b/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
@@ -25,5 +25,36 @@ echo "*** must be NULL ***";
select master_pos_wait('foo', 98);
# End of 4.1 tests
+
+
+--echo *** MDEV-7130: MASTER_POS_WAIT(log_name,log_pos,timeout,"connection_name") hangs, does not respect the timeout ***
+
+--connection slave
+--source include/stop_slave.inc
+reset slave all;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+eval change master 'my_slave' to master_port=$MASTER_MYPORT, master_host='127.0.0.1', master_user='root';
+set default_master_connection = 'my_slave';
+--source include/start_slave.inc
+
+--echo # Call without connection name -- works (expected -1)
+select master_pos_wait('master-bin.000001',1000000,1);
+
+set default_master_connection = '';
+
+--echo # Call for non-existing anonymous connection -- works (expected NULL)
+select master_pos_wait('master-bin.000001',1000000,1);
+
+--echo # Call with a valid connection name -- hangs before MDEV-7130 fix (expected -1)
+select master_pos_wait('master-bin.000001',1000000,1,"my_slave");
+
+STOP SLAVE 'my_slave';
+RESET SLAVE 'my_slave' ALL;
+
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+eval change master to master_port=$MASTER_MYPORT, master_host='127.0.0.1', master_user='root';
+
+# End of 10.0 tests
+
--let $rpl_only_running_threads= 1
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mdev-11092.test b/mysql-test/suite/rpl/t/rpl_mdev-11092.test
index c8b2b7f2ad1..31a385b40e6 100644
--- a/mysql-test/suite/rpl/t/rpl_mdev-11092.test
+++ b/mysql-test/suite/rpl/t/rpl_mdev-11092.test
@@ -1,8 +1,8 @@
--source include/have_innodb.inc
---source include/master-slave.inc
--source include/not_embedded.inc
--source include/not_windows.inc
--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
########################################################################################
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
diff --git a/mysql-test/suite/rpl/t/rpl_mdev10863.test b/mysql-test/suite/rpl/t/rpl_mdev10863.test
new file mode 100644
index 00000000000..796e770672d
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mdev10863.test
@@ -0,0 +1,104 @@
+--source include/have_innodb.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+# Test various aspects of parallel replication.
+
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+SET @old_max_relay= @@GLOBAL.max_relay_log_size;
+SET GLOBAL max_relay_log_size = 4096;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+--source include/start_slave.inc
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b VARCHAR(100)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1, "a");
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+--echo *** Create a long transaction that will span a relay log file. ***
+--connection server_1
+
+# Add some transactions in separate domains, that will cause the need to
+# have a multi-valued restart position in the relay log for the SQL thread.
+SET @old_domain= @@gtid_domain_id;
+SET gtid_domain_id=10;
+INSERT INTO t1 VALUES (10000, "domain 10");
+SET gtid_domain_id=20;
+INSERT INTO t1 VALUES (20000, "domain 20");
+SET gtid_domain_id=@old_domain;
+
+BEGIN;
+--echo [lots of inserts omitted]
+--disable_query_log
+--let $count = 500
+while ($count) {
+ eval INSERT INTO t1 VALUES (1000+$count, REPEAT("hulubulu??!?", 8));
+ dec $count;
+}
+--enable_query_log
+COMMIT;
+
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+--connection server_1
+# Now do another one, to make the inuse_relaylog proceed to somewhere inside
+# the first large transaction.
+
+BEGIN;
+--echo [lots of inserts omitted]
+--disable_query_log
+--let $count = 500
+while ($count) {
+ eval INSERT INTO t1 VALUES (2000+$count, REPEAT("hulubulu??!?", 8));
+ dec $count;
+}
+--enable_query_log
+COMMIT;
+
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+
+# Stop and restart the SQL thread only.
+# The bug was that the SQL thread would restart at the start
+# of a relay log file, which could be in the middle of an event group.
+# This way, part of that event group could be wrongly re-applied.
+
+--source include/stop_slave_sql.inc
+START SLAVE SQL_THREAD;
+--source include/wait_for_slave_to_start.inc
+
+
+--connection server_1
+INSERT INTO t1 VALUES (100000, "More stuffs.");
+INSERT INTO t1 VALUES (100001, "And even more");
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 WHERE a >= 100000 ORDER BY a;
+
+
+# Clean up.
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+SET GLOBAL max_relay_log_size= @old_max_relay;
+--source include/start_slave.inc
+
+--connection server_1
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mdev359.test b/mysql-test/suite/rpl/t/rpl_mdev359.test
index e657474129e..3026c6d363e 100644
--- a/mysql-test/suite/rpl/t/rpl_mdev359.test
+++ b/mysql-test/suite/rpl/t/rpl_mdev359.test
@@ -1,4 +1,4 @@
---source include/have_semisync_plugin.inc
+--source include/have_semisync.inc
--source include/not_embedded.inc
--source include/have_debug_sync.inc
--source include/have_binlog_format_mixed_or_statement.inc
@@ -13,7 +13,6 @@
# the code, disable the semisync, and then continue the paused thread.
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
-INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master';
SET GLOBAL rpl_semi_sync_master_enabled = ON;
--connection master1
SET DEBUG_SYNC = "rpl_semisync_master_commit_trx_before_lock SIGNAL m1_ready WAIT_FOR m1_cont";
@@ -30,8 +29,4 @@ connection master;
DROP TABLE t1;
SET DEBUG_SYNC= "RESET";
-disable_warnings;
-UNINSTALL PLUGIN rpl_semi_sync_master;
-enable_warnings;
-
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mdev382.test b/mysql-test/suite/rpl/t/rpl_mdev382.test
index 784617bd198..cb67052b47d 100644
--- a/mysql-test/suite/rpl/t/rpl_mdev382.test
+++ b/mysql-test/suite/rpl/t/rpl_mdev382.test
@@ -2,6 +2,11 @@
--source include/have_binlog_format_statement.inc
--source include/master-slave.inc
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
# MDEV-382: multiple SQL injections in replication code.
# Test previous SQL injection attack against binlog for SAVEPOINT statement.
@@ -22,7 +27,7 @@ rollback to savepoint `a``; create database couldbebadthingshere; savepoint ``du
insert into t1 values (3);
commit;
---source include/show_binlog_events.inc
+--source include/show_binlog_events2.inc
# This failed due to syntax error in query when the bug was not fixed.
sync_slave_with_master;
@@ -58,7 +63,7 @@ insert into t1 values(18);
COMMIT;
set sql_quote_show_create = 1;
---source include/show_binlog_events.inc
+--source include/show_binlog_events2.inc
--echo *** Test correct USE statement in SHOW BINLOG EVENTS ***
connection master;
@@ -70,13 +75,13 @@ CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM;
INSERT INTO t1 VALUES (1);
set sql_mode = '';
INSERT INTO t1 VALUES (2);
-set sql_mode = 'ANSI_QUOTES';
---source include/show_binlog_events.inc
+set sql_mode = 'ANSI_QUOTES';
+--source include/show_binlog_events2.inc
set sql_mode = '';
set sql_quote_show_create = 0;
---source include/show_binlog_events.inc
+--source include/show_binlog_events2.inc
set sql_quote_show_create = 1;
---source include/show_binlog_events.inc
+--source include/show_binlog_events2.inc
DROP TABLE t1;
use test;
@@ -112,7 +117,7 @@ eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/f''le.txt'
SELECT * FROM `db1``; select 'oops!'`.`t``1`;
let $pos2= query_get_value(SHOW MASTER STATUS, Position, 1);
---source include/show_binlog_events.inc
+--source include/show_binlog_events2.inc
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_regex /LOCAL INFILE '.*SQL_LOAD.*' INTO/LOCAL INFILE '<name>' INTO/
--exec $MYSQL_BINLOG --short-form --start-position=$binlog_start --stop-position=$pos2 $MYSQLD_DATADIR/master-bin.000001
@@ -146,7 +151,7 @@ eval LOAD DATA INFILE '$load_file' INTO TABLE t1
(a, @b) SET b = CONCAT(@b, '| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|', @b);
SELECT * FROM t1 ORDER BY a;
---source include/show_binlog_events.inc
+--source include/show_binlog_events2.inc
sync_slave_with_master;
connection slave;
@@ -166,7 +171,7 @@ SELECT @`a``1`:=a1, @`a``2`:=a2, @`a``3`:=a3, @`a``4`:=a4, @`b```:=b, @```c`:=c,
INSERT INTO t1 VALUES (@`a``1`+1, @`a``2`*100, @`a``3`-1, @`a``4`-1, @`b```/2, @```c`, substr(@```d```, 2, 98));
let $pos2= query_get_value(SHOW MASTER STATUS, Position, 1);
---source include/show_binlog_events.inc
+--source include/show_binlog_events2.inc
--exec $MYSQL_BINLOG --short-form --start-position=$binlog_start --stop-position=$pos2 $MYSQLD_DATADIR/master-bin.000001
@@ -231,7 +236,7 @@ let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
SELECT * FROM `db1``; select 'oops!'`.`t``1`;
--echo # The DELETE statement should be correctly quoted
---source include/show_binlog_events.inc
+--source include/show_binlog_events2.inc
connection slave;
--source include/start_slave.inc
@@ -255,7 +260,7 @@ DROP DATABASE `db1``; select 'oops!'`;
CREATE TABLE t1 (a INT PRIMARY KEY);
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
INSERT INTO t1 VALUES(1);
---source include/show_binlog_events.inc
+--source include/show_binlog_events2.inc
let $pos2= query_get_value(SHOW MASTER STATUS, Position, 1);
--exec $MYSQL_BINLOG --short-form --start-position=$binlog_start --stop-position=$pos2 --rewrite-db='test->ts`et' $MYSQLD_DATADIR/master-bin.000002
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/t/rpl_mdev6020.test b/mysql-test/suite/rpl/t/rpl_mdev6020.test
new file mode 100644
index 00000000000..8484e3e11c0
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mdev6020.test
@@ -0,0 +1,72 @@
+# Running this with valgrind can take > 5000 seconds with xtradb
+--source include/not_valgrind.inc
+
+--source include/have_innodb.inc
+--source include/have_partition.inc
+--source include/have_binlog_format_mixed_or_row.inc
+--source include/master-slave.inc
+--connection slave
+--source include/stop_slave.inc
+
+--connection master
+--let $datadir= `SELECT @@datadir`
+
+--let $rpl_server_number= 1
+--source include/rpl_stop_server.inc
+
+--remove_file $datadir/master-bin.000001
+--remove_file $datadir/master-bin.state
+--copy_file $MYSQL_TEST_DIR/std_data/mdev6020-mysql-bin.000001 $datadir/master-bin.000001
+
+--let $rpl_server_number= 1
+--source include/rpl_start_server.inc
+
+--source include/wait_until_connected_again.inc
+
+--connection slave
+SET SQL_LOG_BIN=0;
+ALTER TABLE mysql.gtid_slave_pos ENGINE = InnoDB;
+SET SQL_LOG_BIN=1;
+SET @old_engine= @@GLOBAL.default_storage_engine;
+SET GLOBAL default_storage_engine=InnoDB;
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=12;
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
+--source include/start_slave.inc
+
+--connection master
+SET SQL_LOG_BIN=0;
+ALTER TABLE mysql.gtid_slave_pos ENGINE = InnoDB;
+SET SQL_LOG_BIN=1;
+--save_master_pos
+
+--connection slave
+--sync_with_master
+
+SELECT @@gtid_slave_pos;
+CHECKSUM TABLE table0_int_autoinc, table0_key_pk_parts_2_int_autoinc, table100_int_autoinc, table100_key_pk_parts_2_int_autoinc, table10_int_autoinc, table10_key_pk_parts_2_int_autoinc, table1_int_autoinc, table1_key_pk_parts_2_int_autoinc, table2_int_autoinc, table2_key_pk_parts_2_int_autoinc;
+
+--source include/stop_slave.inc
+
+
+SET GLOBAL default_storage_engine= @old_engine;
+SET GLOBAL slave_parallel_threads=@old_parallel;
+SET sql_log_bin=0;
+DROP TABLE table0_int_autoinc;
+DROP TABLE table0_key_pk_parts_2_int_autoinc;
+DROP TABLE table100_int_autoinc;
+DROP TABLE table100_key_pk_parts_2_int_autoinc;
+DROP TABLE table10_int_autoinc;
+DROP TABLE table10_key_pk_parts_2_int_autoinc;
+DROP TABLE table1_int_autoinc;
+DROP TABLE table1_key_pk_parts_2_int_autoinc;
+DROP TABLE table2_int_autoinc;
+DROP TABLE table2_key_pk_parts_2_int_autoinc;
+SET sql_log_bin=1;
+
+--source include/start_slave.inc
+
+--connection master
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mdev6386-slave.opt b/mysql-test/suite/rpl/t/rpl_mdev6386-slave.opt
new file mode 100644
index 00000000000..a5d959ae7fe
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mdev6386-slave.opt
@@ -0,0 +1 @@
+--disable-log-slave-updates
diff --git a/mysql-test/suite/rpl/t/rpl_mdev6386.test b/mysql-test/suite/rpl/t/rpl_mdev6386.test
new file mode 100644
index 00000000000..e85b1ae0132
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mdev6386.test
@@ -0,0 +1,70 @@
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+--connection master
+ALTER TABLE mysql.gtid_slave_pos ENGINE = InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) Engine=InnoDB;
+--sync_slave_with_master
+
+--connection slave
+--source include/stop_slave.inc
+# Provoke a duplicate key error on replication.
+SET sql_log_bin= 0;
+INSERT INTO t1 VALUES (1, 2);
+SET sql_log_bin= 1;
+CHANGE MASTER TO master_use_gtid= current_pos;
+--echo Contents on slave before:
+SELECT * FROM t1 ORDER BY a;
+
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=8;
+
+--connection master
+
+CREATE TEMPORARY TABLE t2 LIKE t1;
+INSERT INTO t2 VALUE (1, 1);
+INSERT INTO t2 VALUE (2, 1);
+INSERT INTO t2 VALUE (3, 1);
+INSERT INTO t2 VALUE (4, 1);
+INSERT INTO t2 VALUE (5, 1);
+INSERT INTO t1 SELECT * FROM t2;
+DROP TEMPORARY TABLE t2;
+INSERT INTO t1 VALUE (6, 3);
+--source include/save_master_gtid.inc
+--echo Contents on master:
+SELECT * FROM t1 ORDER BY a;
+
+--connection slave
+START SLAVE;
+# The slave will stop with a duplicate key error.
+# The bug was 1) that the next DROP TEMPORARY TABLE would be allowed to run
+# anyway, and 2) that then record_gtid() would get an error during commit
+# (since the prior commit failed), and this error was not correctly handled,
+# which caused an assertion about closing tables while a statement was still
+# active.
+--let $slave_sql_errno=1062
+--source include/wait_for_slave_sql_error.inc
+
+STOP SLAVE IO_THREAD;
+--echo Contents on slave on slave error:
+SELECT * FROM t1 ORDER BY a;
+
+# Resolve the duplicate key error so replication can be resumed.
+SET sql_log_bin= 0;
+DELETE FROM t1 WHERE a=1;
+SET sql_log_bin= 1;
+
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+--echo Contents on slave after:
+SELECT * FROM t1 ORDER BY a;
+
+--connection master
+DROP TABLE t1;
+
+--connection slave
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads= @old_parallel;
+--source include/start_slave.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mdev8193.test b/mysql-test/suite/rpl/t/rpl_mdev8193.test
new file mode 100644
index 00000000000..dcad3e5f9b0
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mdev8193.test
@@ -0,0 +1,56 @@
+--source include/have_binlog_format_statement.inc
+--source include/master-slave.inc
+
+--connection slave
+
+--source include/stop_slave_sql.inc
+
+--connection master
+
+CALL mtr.add_suppression("Statement is unsafe because it uses a system function that may return a different value on the slave");
+create table t1 (i int);
+insert into t1 values (1),(2);
+insert into t1 values (3),(4);
+# This sleep() helps trigger the failure more reliably.
+insert into t1 select i+20+0*sleep(1) from t1 where i=1;
+flush logs;
+insert into t1 values (5),(6);
+insert into t1 values (7),(8);
+insert into t1 values (9),(10);
+
+--let $master_file = query_get_value(show master status,File,1)
+--let $master_pos = query_get_value(show master status,Position,1)
+
+insert into t1 values (11),(12);
+insert into t1 values (13),(14);
+insert into t1 values (15),(16);
+
+--connection slave
+
+set global slave_parallel_threads = 1;
+--replace_result $master_file MASTER_FILE $master_pos MASTER_POS
+eval start slave until master_log_file='$master_file', master_log_pos=$master_pos;
+
+--let $show_statement = SHOW SLAVE STATUS
+--let $field = Slave_SQL_Running
+--let $condition = = 'No'
+--let $wait_timeout = 10
+
+--source include/wait_show_condition.inc
+
+if (`select COUNT(*) > 11 from t1`)
+{
+ query_vertical show slave status;
+ SELECT * FROM t1;
+ die "Wrong number of rows in the table";
+}
+
+drop table t1;
+--source include/stop_slave_io.inc
+set global slave_parallel_threads = DEFAULT;
+
+--connection master
+drop table t1;
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test b/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test
index 3850a84cbf1..81b01cc9140 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test
@@ -1,8 +1,8 @@
--source include/have_innodb.inc
---source include/master-slave.inc
--source include/not_embedded.inc
--source include/not_windows.inc
--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
--source extra/rpl_tests/rpl_binlog_max_cache_size.test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test b/mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test
index f37ce90e524..d3412c3cd52 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test
@@ -3,9 +3,10 @@
# tables. Specifically when drop temporary tables and create temporary tables
# are used.
###################################################################################
+--source include/big_test.inc
--source include/have_binlog_format_mixed.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--source extra/rpl_tests/rpl_drop_create_temp_table.test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test b/mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test
index 161ab2f9dca..fa948f8f5fe 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test
@@ -1,9 +1,10 @@
################################################################################
# Check file extra/rpl_tests/rpl_implicit_commit_binlog.test
################################################################################
+--source include/have_udf.inc
--source include/have_binlog_format_mixed.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--let $engine=Innodb
set session storage_engine=innodb;
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test
index 0893f7d0158..a9c8f6fe3e1 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test
@@ -3,9 +3,10 @@
# tables. For further details, please, read WL#2687 and WL#5072.
###################################################################################
--source include/have_binlog_format_mixed.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
let $engine_type=Innodb;
+let $database_name=test;
--source extra/rpl_tests/rpl_mixing_engines.test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_multi_engine.test b/mysql-test/suite/rpl/t/rpl_multi_engine.test
index b1dbf99f114..704c09355aa 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_engine.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_engine.test
@@ -1,9 +1,5 @@
# See if replication between MyISAM, MEMORY and InnoDB works.
-#This test case is not written for NDB, result files do not
-#match when NDB is the default engine
--- source include/not_ndb_default.inc
-
-- source include/master-slave.inc
connection slave;
@@ -17,7 +13,8 @@ drop table if exists t1;
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc
VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT
-0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
+0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
+ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY(id));
sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_multi_update.test b/mysql-test/suite/rpl/t/rpl_multi_update.test
index 710337816da..cc147eb3263 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_update.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_update.test
@@ -1,3 +1,2 @@
--- source include/not_ndb_default.inc
let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_multi_update.test
diff --git a/mysql-test/suite/rpl/t/rpl_multi_update2.test b/mysql-test/suite/rpl/t/rpl_multi_update2.test
index 138c1455952..95952cd9e15 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_update2.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_update2.test
@@ -1,10 +1,7 @@
#######################################################
# Wrapper for rpl_multi_update2.test to allow multi #
# Engines to reuse test code. By JBM 2006-02-15 #
-# Added comments section and to skip when ndb is #
-# Default engine. #
#######################################################
---source include/not_ndb_default.inc
--source include/master-slave.inc
call mtr.add_suppression('Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT');
let $engine_type=MyISAM;
diff --git a/mysql-test/suite/rpl/t/rpl_multi_update3.test b/mysql-test/suite/rpl/t/rpl_multi_update3.test
index dc12d528c24..d356ca88517 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_update3.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_update3.test
@@ -1,10 +1,7 @@
#######################################################
# Wrapper for rpl_multi_update3.test to allow multi #
# Engines to reuse test code. By JBM 2006-02-15 #
-# Added comments section and to skip when ndb is #
-# Default engine. #
#######################################################
---source include/not_ndb_default.inc
--source include/master-slave.inc
call mtr.add_suppression('Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.');
let $engine_type=MyISAM;
diff --git a/mysql-test/suite/rpl/t/rpl_mysql_upgrade.test b/mysql-test/suite/rpl/t/rpl_mysql_upgrade.test
index 10e45f5a50d..1931e2eab2a 100644
--- a/mysql-test/suite/rpl/t/rpl_mysql_upgrade.test
+++ b/mysql-test/suite/rpl/t/rpl_mysql_upgrade.test
@@ -5,12 +5,12 @@
# options are added into mysql_upgrade. These options control whether sql
# statements are binlogged or not.
#############################################################################
+--source include/have_innodb.inc
+--source include/mysql_upgrade_preparation.inc
--source include/master-slave.inc
-# Only run test if "mysql_upgrade" is found
---source include/have_mysql_upgrade.inc
-
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("table or database name 'mysqltest-1'");
connection master;
--disable_warnings
@@ -43,6 +43,9 @@ connection master;
#With '--force' option, mysql_upgrade always executes all sql statements for upgrading.
--exec $MYSQL_UPGRADE --skip-verbose --write-binlog --force --user=root > $MYSQLTEST_VARDIR/log/mysql_upgrade.log 2>&1
+let $datadir= `select @@datadir`;
+remove_file $datadir/mysql_upgrade_info;
+
connection master;
let $after_file= query_get_value(SHOW MASTER STATUS, File, 1);
let $after_position= query_get_value(SHOW MASTER STATUS, Position, 1);
diff --git a/mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test
index 94dbc56d73b..93ec9acf5ea 100644
--- a/mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test
@@ -3,12 +3,13 @@
# tables. For further details, please, read WL#2687 and WL#5072.
###################################################################################
--source include/have_binlog_format_mixed.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--disable_query_log
SET SESSION binlog_direct_non_transactional_updates = OFF;
--enable_query_log
let $engine_type=Innodb;
+let $database_name=test;
--source extra/rpl_tests/rpl_mixing_engines.test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test
index 53d8fec9434..50577a1849c 100644
--- a/mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test
@@ -3,13 +3,14 @@
# tables. For further details, please, read WL#2687 and WL#5072.
###################################################################################
--source include/have_binlog_format_row.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--disable_query_log
SET SESSION binlog_direct_non_transactional_updates = OFF;
--enable_query_log
let $engine_type=Innodb;
+let $database_name=test;
--source extra/rpl_tests/rpl_mixing_engines.test
--diff_files suite/rpl/r/rpl_non_direct_row_mixing_engines.result suite/rpl/r/rpl_row_mixing_engines.result
diff --git a/mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test
index 13d4c998fb4..e340eb74115 100644
--- a/mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test
@@ -3,12 +3,13 @@
# tables. For further details, please, read WL#2687 and WL#5072.
###################################################################################
--source include/have_binlog_format_statement.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--disable_query_log
SET SESSION binlog_direct_non_transactional_updates = OFF;
--enable_query_log
let $engine_type=Innodb;
+let $database_name=test;
--source extra/rpl_tests/rpl_mixing_engines.test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_not_null_innodb.test b/mysql-test/suite/rpl/t/rpl_not_null_innodb.test
index 1e67ba4eda1..6a1cc341060 100644
--- a/mysql-test/suite/rpl/t/rpl_not_null_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_not_null_innodb.test
@@ -11,9 +11,9 @@
# 3 - NULL --> NOT NULL ( sql-mode != STRICT and no failures)
#
#################################################################################
---source include/master-slave.inc
--source include/have_innodb.inc
--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
let $engine=Innodb;
--source extra/rpl_tests/rpl_not_null.test
diff --git a/mysql-test/suite/rpl/t/rpl_not_null_myisam.test b/mysql-test/suite/rpl/t/rpl_not_null_myisam.test
index dcfaf006dad..6ef0b65d5ff 100644
--- a/mysql-test/suite/rpl/t/rpl_not_null_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_not_null_myisam.test
@@ -11,8 +11,8 @@
# 3 - NULL --> NOT NULL ( sql-mode != STRICT and no failures)
#
#################################################################################
---source include/master-slave.inc
--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
let $engine=MyISAM;
--source extra/rpl_tests/rpl_not_null.test
diff --git a/mysql-test/suite/rpl/t/rpl_old_master.test b/mysql-test/suite/rpl/t/rpl_old_master.test
new file mode 100644
index 00000000000..8f61d6979cd
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_old_master.test
@@ -0,0 +1,49 @@
+# Test replicating off old master.
+# We simulate old master by copying in pre-generated binlog files from earlier
+# server versions.
+
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+--connection slave
+--source include/stop_slave.inc
+
+--connection master
+--let $datadir= `SELECT @@datadir`
+
+--let $rpl_server_number= 1
+--source include/rpl_stop_server.inc
+
+--remove_file $datadir/master-bin.000001
+--copy_file $MYSQL_TEST_DIR/std_data/mariadb-5.5-binlog.000001 $datadir/master-bin.000001
+
+--let $rpl_server_number= 1
+--source include/rpl_start_server.inc
+
+--source include/wait_until_connected_again.inc
+
+--connection slave
+SET @old_parallel= @@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=10;
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
+--source include/start_slave.inc
+
+--connection master
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1);
+--save_master_pos
+
+--connection slave
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2;
+
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel;
+DROP TABLE t1;
+--source include/start_slave.inc
+
+--connection master
+DROP TABLE t2;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_optimize.test b/mysql-test/suite/rpl/t/rpl_optimize.test
index 47063539ffc..bb960d4eb69 100644
--- a/mysql-test/suite/rpl/t/rpl_optimize.test
+++ b/mysql-test/suite/rpl/t/rpl_optimize.test
@@ -4,13 +4,10 @@
#####################################
# Change Author: JBM
# Change Date: 2006-02-09
-# Change: NDB does not and will not support
# OPTIMIZE for memory tables. If and when
# it does support for Disk Data, a new
# version of this test will be need.
-# Skipping this test if default engine = ndb
#####################################
--- source include/not_ndb_default.inc
# Slow test, don't run during staging part
-- source include/not_staging.inc
-- source include/master-slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_packet.test b/mysql-test/suite/rpl/t/rpl_packet.test
index c49d9490bd9..31357cb148e 100644
--- a/mysql-test/suite/rpl/t/rpl_packet.test
+++ b/mysql-test/suite/rpl/t/rpl_packet.test
@@ -1,177 +1 @@
-# ==== Purpose ====
-#
-# Check replication protocol packet size handling
-#
-# ==== Related bugs ====
-# Bug#19402 SQL close to the size of the max_allowed_packet fails on slave
-# BUG#23755: Replicated event larger that max_allowed_packet infinitely re-transmits
-# BUG#42914: No LAST_IO_ERROR for max_allowed_packet errors
-# BUG#55322: SHOW BINLOG EVENTS increases @@SESSION.MAX_ALLOWED_PACKET
-
-# max-out size db name
-source include/master-slave.inc;
-source include/have_binlog_format_row.inc;
-call mtr.add_suppression("Slave I/O: Got a packet bigger than 'slave_max_allowed_packet' bytes, Error_code: 1153");
-call mtr.add_suppression("Log entry on master is longer than slave_max_allowed_packet");
-let $db= DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
-disable_warnings;
-eval drop database if exists $db;
-enable_warnings;
-eval create database $db;
-
-connection master;
-let $old_max_allowed_packet= `SELECT @@global.max_allowed_packet`;
-let $old_net_buffer_length= `SELECT @@global.net_buffer_length`;
-let $old_slave_max_allowed_packet= `SELECT @@global.slave_max_allowed_packet`;
-SET @@global.max_allowed_packet=1024;
-SET @@global.net_buffer_length=1024;
-
-sync_slave_with_master;
-# Restart slave for setting to take effect
-source include/stop_slave.inc;
-source include/start_slave.inc;
-
-# Reconnect to master for new setting to take effect
-disconnect master;
-
-# alas, can't use eval here; if db name changed apply the change here
-connect (master,localhost,root,,DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________);
-
-connection master;
-select @@net_buffer_length, @@max_allowed_packet;
-
-create table `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
-
-INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1023');
-sync_slave_with_master;
-
-eval select count(*) from `$db`.`t1` /* must be 1 */;
-
-SHOW STATUS LIKE 'Slave_running';
-select * from information_schema.session_status where variable_name= 'SLAVE_RUNNING';
-connection master;
-eval drop database $db;
-sync_slave_with_master;
-
-#
-# Bug #23755: Replicated event larger that max_allowed_packet infinitely re-transmits
-#
-# Check that a situation when the size of event on the master is greater than
-# max_allowed_packet on the slave does not lead to infinite re-transmits.
-
-connection master;
-
-# Change the max packet size on master
-
-SET @@global.max_allowed_packet=4096;
-SET @@global.net_buffer_length=4096;
-
-# Restart slave for new setting to take effect
-connection slave;
-source include/stop_slave.inc;
-source include/start_slave.inc;
-
-# Reconnect to master for new setting to take effect
-disconnect master;
-connect (master, localhost, root);
-connection master;
-
-CREATE TABLE `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
-
-sync_slave_with_master;
-
-connection master;
-
-INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
-
-
-#
-# Bug#42914: The slave I/O thread must stop after trying to read the above
-# event, However there is no Last_IO_Error report.
-#
-
-# The slave I/O thread must stop after trying to read the above event
-connection slave;
-# 1153 = ER_NET_PACKET_TOO_LARGE
---let $slave_io_errno= 1153
---let $show_slave_io_error= 1
---source include/wait_for_slave_io_error.inc
-
-# TODO: this is needed because of BUG#55790. Remove once that is fixed.
---source include/stop_slave_sql.inc
-
-#
-# Bug#42914: On the master, if a binary log event is larger than
-# max_allowed_packet, the error message ER_MASTER_FATAL_ERROR_READING_BINLOG
-# is sent to a slave when it requests a dump from the master, thus leading the
-# I/O thread to stop. However, there is no Last_IO_Error reported.
-#
-
---let $rpl_only_running_threads= 1
---source include/rpl_reset.inc
---connection master
-DROP TABLE t1;
---sync_slave_with_master
-
-
-connection master;
-CREATE TABLE t1 (f1 int PRIMARY KEY, f2 LONGTEXT, f3 LONGTEXT) ENGINE=MyISAM;
-sync_slave_with_master;
-
-connection master;
-INSERT INTO t1(f1, f2, f3) VALUES(1, REPEAT('a', @@global.max_allowed_packet), REPEAT('b', @@global.max_allowed_packet));
-
-connection slave;
-# The slave I/O thread must stop after receiving
-# 1153 = ER_NET_PACKET_TOO_LARGE
---let $slave_io_errno= 1153
---let $show_slave_io_error= 1
---source include/wait_for_slave_io_error.inc
-
-# Remove the bad binlog and clear error status on slave.
-STOP SLAVE;
-RESET SLAVE;
---connection master
-RESET MASTER;
-
-
-#
-# BUG#55322: SHOW BINLOG EVENTS increases @@SESSION.MAX_ALLOWED_PACKET
-#
-# In BUG#55322, @@session.max_allowed_packet increased each time SHOW
-# BINLOG EVENTS was issued. To verify that this bug is fixed, we
-# execute SHOW BINLOG EVENTS twice and check that max_allowed_packet
-# never changes. We turn off the result log because we don't care
-# about the contents of the binlog.
-
---disable_result_log
-SET @max_allowed_packet_0= @@session.max_allowed_packet;
-SHOW BINLOG EVENTS;
-SET @max_allowed_packet_1= @@session.max_allowed_packet;
-SHOW BINLOG EVENTS;
-SET @max_allowed_packet_2= @@session.max_allowed_packet;
---enable_result_log
-if (`SELECT NOT(@max_allowed_packet_0 = @max_allowed_packet_1 AND @max_allowed_packet_1 = @max_allowed_packet_2)`)
-{
- --echo ERROR: max_allowed_packet changed after executing SHOW BINLOG EVENTS
- --source include/show_rpl_debug_info.inc
- SELECT @max_allowed_packet_0, @max_allowed_packet_1, @max_allowed_packet_2;
- --die @max_allowed_packet changed after executing SHOW BINLOG EVENTS
-}
-
-
---echo ==== clean up ====
-connection master;
-DROP TABLE t1;
-eval SET @@global.max_allowed_packet= $old_max_allowed_packet;
-eval SET @@global.net_buffer_length= $old_net_buffer_length;
-eval SET @@global.slave_max_allowed_packet= $old_slave_max_allowed_packet;
-# slave is stopped
-connection slave;
-DROP TABLE t1;
-
-# Clear Last_IO_Error
-RESET SLAVE;
-
---source include/rpl_end.inc
-# End of tests
+--source extra/rpl_tests/rpl_packet.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel.test b/mysql-test/suite/rpl/t/rpl_parallel.test
new file mode 100644
index 00000000000..b7c4bb429a4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_parallel.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel2.test b/mysql-test/suite/rpl/t/rpl_parallel2.test
new file mode 100644
index 00000000000..3a9c801175f
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel2.test
@@ -0,0 +1,227 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/have_binlog_format_statement.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo *** MDEV-5509: Incorrect value for Seconds_Behind_Master if parallel replication ***
+
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+--source include/start_slave.inc
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
+CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave");
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+--connection server_1
+INSERT INTO t1 VALUES (1,sleep(2));
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+# The slave position (which --sync_with_master waits for) is updated just
+# before the Seconds_Behind_Master. So we have to wait for the zero status
+# to appear, otherwise there is a small window between --sync_with_master
+# and SHOW SLAVE STATUS where we can see a non-zero value.
+--let $slave_param= Seconds_Behind_Master
+--let $slave_param_value= 0
+--source include/wait_for_slave_param.inc
+--echo Seconds_Behind_Master should be zero here because the slave is fully caught up and idle.
+--let $status_items= Seconds_Behind_Master
+--source include/show_slave_status.inc
+
+
+--echo *** MDEV-8294: Inconsistent behavior of slave parallel threads at runtime ***
+
+--connection server_1
+INSERT INTO t1 VALUES (10,0);
+# Force a duplicate key error on the slave.
+SET sql_log_bin= 0;
+DELETE FROM t1 WHERE a=10;
+SET sql_log_bin= 1;
+INSERT INTO t1 VALUES (10,0);
+--save_master_pos
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+
+--connection server_2
+--let $slave_sql_errno= 1062
+--source include/wait_for_slave_sql_error.inc
+
+# At this point, the worker threads should have stopped also.
+--let $wait_condition= SELECT COUNT(*)=0 FROM information_schema.processlist WHERE User = "system user" AND State = "Waiting for work from SQL thread";
+--source include/wait_condition.inc
+
+# Check that the pool can still be resized, but remains inactive as no slave
+# SQL thread is running.
+SET GLOBAL slave_parallel_threads=8;
+--let $wait_condition= SELECT COUNT(*)=0 FROM information_schema.processlist WHERE User = "system user" AND State = "Waiting for work from SQL thread";
+--source include/wait_condition.inc
+
+STOP SLAVE;
+# At this point, the worker threads should have stopped.
+--let $wait_condition= SELECT COUNT(*)=0 FROM information_schema.processlist WHERE User = "system user" AND State = "Waiting for work from SQL thread";
+--source include/wait_condition.inc
+
+
+SET GLOBAL sql_slave_skip_counter= 1;
+--source include/start_slave.inc
+# At this point, the worker threads should have been spawned.
+--let $wait_condition= SELECT COUNT(*)=8 FROM information_schema.processlist WHERE User = "system user" AND State = "Waiting for work from SQL thread";
+--source include/wait_condition.inc
+--sync_with_master
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+
+
+--echo *** MDEV-7818: Deadlock occurring with parallel replication and FTWRL ***
+
+--connection server_1
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1,0), (2,0), (3,0);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+
+--connection server_1
+# Create a group commit with two transactions, will be used to provoke the
+# problematic thread interaction with FTWRL on the slave.
+SET @old_dbug= @@SESSION.debug_dbug;
+SET @commit_id= 4242;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+
+BEGIN;
+UPDATE t2 SET b=b+1 WHERE a=2;
+COMMIT;
+
+BEGIN;
+INSERT INTO t2 VALUES (4,10);
+COMMIT;
+
+SET SESSION debug_dbug= @old_dbug;
+
+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);
+INSERT INTO t2 VALUES (10,0);
+INSERT INTO t2 VALUES (11,0);
+INSERT INTO t2 VALUES (12,0);
+INSERT INTO t2 VALUES (13,0);
+INSERT INTO t2 VALUES (14,0);
+INSERT INTO t2 VALUES (15,0);
+INSERT INTO t2 VALUES (16,0);
+INSERT INTO t2 VALUES (17,0);
+INSERT INTO t2 VALUES (18,0);
+INSERT INTO t2 VALUES (19,0);
+--save_master_pos
+
+--connection server_2
+
+--connect (s1, 127.0.0.1, root,, test, $SLAVE_MYPORT,)
+# Block one transaction on a row lock.
+BEGIN;
+SELECT * FROM t2 WHERE a=2 FOR UPDATE;
+
+--connection server_2
+
+# Wait for slave thread of the other transaction to have the commit lock.
+--source include/start_slave.inc
+--let $wait_condition= SELECT COUNT(*) > 0 FROM information_schema.processlist WHERE state = "Waiting for prior transaction to commit"
+--source include/wait_condition.inc
+
+--connect (s2, 127.0.0.1, root,, test, $SLAVE_MYPORT,)
+send FLUSH TABLES WITH READ LOCK;
+# The bug was that at this point we were deadlocked.
+# The FTWRL command would wait forever for T2 to commit.
+# T2 would wait for T1 to commit first, but T1 is waiting for
+# the global read lock to be released.
+
+--connection s1
+# Release the lock that blocs T1 from replicating.
+COMMIT;
+
+--connection s1
+send STOP SLAVE;
+
+--connection s2
+reap;
+
+--connection server_1
+SELECT * FROM t2 ORDER BY a;
+
+--connection s2
+UNLOCK TABLES;
+
+SELECT "after UNLOCK TABLES" as state;
+
+--connection s1
+reap;
+
+SELECT "after reap of STOP SLAVE" as state;
+
+--connection server_2
+--source include/wait_for_slave_to_stop.inc
+--source include/start_slave.inc
+--sync_with_master
+
+SELECT * FROM t2 ORDER BY a;
+
+
+
+--echo *** MDEV-8318: Assertion `!pool->busy' failed in pool_mark_busy(rpl_parallel_thread_pool*) on concurrent FTWRL ***
+
+--connection server_1
+LOCK TABLE t2 WRITE;
+
+
+--connect (m1,localhost,root,,test)
+--connection m1
+--let $cid=`SELECT CONNECTION_ID()`
+send FLUSH TABLES WITH READ LOCK;
+
+--connect (m2,localhost,root,,test)
+# We cannot force the race with DEBUG_SYNC, because the race does not
+# exist after fixing the bug. At best we could force a debug sync to
+# time out, which is effectively just a sleep.
+# So just put a small sleep here; it is enough to trigger the bug in
+# most run before the bug fix, and the code should work correctly
+# however the thread scheduling happens.
+--sleep 0.1
+send FLUSH TABLES WITH READ LOCK;
+
+--connection server_1
+--replace_result $cid CID
+eval KILL QUERY $cid;
+
+--connection m1
+--error ER_QUERY_INTERRUPTED
+reap;
+
+--connection server_1
+UNLOCK TABLES;
+
+--connection m2
+reap;
+UNLOCK TABLES;
+
+
+# Clean up.
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_1
+DROP TABLE t1, t2;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_charset.test b/mysql-test/suite/rpl/t/rpl_parallel_charset.test
new file mode 100644
index 00000000000..3e0f4913886
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_charset.test
@@ -0,0 +1,56 @@
+--source include/have_binlog_format_statement.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo *** MDEV-6156: Parallel replication incorrectly caches charset between worker threads ***
+
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+--source include/start_slave.inc
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(100) CHARACTER SET utf8);
+SHOW CREATE TABLE t1;
+SET character_set_client=latin1;
+INSERT INTO t1 VALUES (1, 'Rødgrød med fløde 1');
+INSERT INTO t1 VALUES (2, 'Rødgrød med fløde 2');
+INSERT INTO t1 VALUES (3, 'Rødgrød med fløde 3');
+INSERT INTO t1 VALUES (4, 'Rødgrød med fløde 4');
+INSERT INTO t1 VALUES (5, 'Rødgrød med fløde 5');
+INSERT INTO t1 VALUES (6, 'Rødgrød med fløde 6');
+INSERT INTO t1 VALUES (7, 'Rødgrød med fløde 7');
+INSERT INTO t1 VALUES (8, 'Rødgrød med fløde 8');
+INSERT INTO t1 VALUES (9, 'Rødgrød med fløde 9');
+INSERT INTO t1 VALUES (10, 'Rødgrød med fløde 10');
+SET character_set_client=utf8;
+INSERT INTO t1 VALUES (11, 'Rødgrød med fløde 1');
+INSERT INTO t1 VALUES (12, 'Rødgrød med fløde 2');
+INSERT INTO t1 VALUES (13, 'Rødgrød med fløde 3');
+INSERT INTO t1 VALUES (14, 'Rødgrød med fløde 4');
+INSERT INTO t1 VALUES (15, 'Rødgrød med fløde 5');
+INSERT INTO t1 VALUES (16, 'Rødgrød med fløde 6');
+INSERT INTO t1 VALUES (17, 'Rødgrød med fløde 7');
+INSERT INTO t1 VALUES (18, 'Rødgrød med fløde 8');
+INSERT INTO t1 VALUES (19, 'Rødgrød med fløde 9');
+INSERT INTO t1 VALUES (20, 'Rødgrød med fløde 10');
+SET character_set_results=utf8;
+SELECT * FROM t1 ORDER BY a;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SET character_set_results=utf8;
+SELECT * FROM t1 ORDER BY a;
+
+
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_1
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_mdev6589.test b/mysql-test/suite/rpl/t/rpl_parallel_mdev6589.test
new file mode 100644
index 00000000000..5929fad71df
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_mdev6589.test
@@ -0,0 +1,132 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/master-slave.inc
+
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=current_pos;
+--source include/start_slave.inc
+
+
+--echo *** MDEV-6589: Incorrect relay log start position when restarting SQL thread after error in parallel replication ***
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY) ENGINE=MyISAM;
+CREATE TABLE t2 (a int PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+# Block one domain, which we will later cause to give an error. And let some
+# other domains proceed so we can check that after restart, the slave is able
+# to correctly restart each domain in a separate position.
+
+--connect (con_temp1,127.0.0.1,root,,test,$SERVER_MYPORT_2,)
+SET sql_log_bin=0;
+BEGIN;
+INSERT INTO t2 VALUES (5);
+
+--connection server_1
+SET gtid_domain_id=0;
+INSERT INTO t1 VALUES (2);
+INSERT INTO t2 VALUES (3);
+FLUSH LOGS;
+INSERT INTO t1 VALUES (4);
+
+SET gtid_domain_id=1;
+# This query will be blocked on the slave, and later give a duplicate key error.
+INSERT INTO t2 VALUES (5);
+
+SET gtid_domain_id=0;
+INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (7);
+
+SET gtid_domain_id=2;
+INSERT INTO t2 VALUES (8);
+INSERT INTO t1 VALUES (9);
+FLUSH LOGS;
+
+SET gtid_domain_id=3;
+INSERT INTO t2 VALUES (10);
+INSERT INTO t1 VALUES (11);
+
+# These cannot be replicated before the error, as a prior commit is blocked.
+SET gtid_domain_id=1;
+INSERT INTO t1 VALUES (12);
+INSERT INTO t2 VALUES (13);
+
+SET gtid_domain_id=0;
+INSERT INTO t2 VALUES (14);
+FLUSH LOGS;
+
+SET gtid_domain_id=3;
+INSERT INTO t2 VALUES (15);
+
+SET gtid_domain_id=2;
+INSERT INTO t2 VALUES (16);
+
+SET gtid_domain_id=0;
+INSERT INTO t1 VALUES (17);
+SET @gtid0 = @@last_gtid;
+SET gtid_domain_id=2;
+INSERT INTO t1 VALUES (18);
+SET @gtid2 = @@last_gtid;
+SET gtid_domain_id=3;
+INSERT INTO t1 VALUES (19);
+SET @gtid3 = @@last_gtid;
+--let $wait_pos= `SELECT CONCAT(@gtid0, ",", @gtid2, ",", @gtid3)`
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+--source include/save_master_gtid.inc
+
+
+--connection server_2
+# First wait for domains 0, 2, and 3 to complete.
+--replace_result $wait_pos WAIT_POS
+eval SELECT MASTER_GTID_WAIT('$wait_pos');
+
+# Then release the row lock, and wait for the domain 1 to fail with
+# duplicate key error.
+--connection con_temp1
+COMMIT;
+SET sql_log_bin=1;
+
+--connection server_2
+--let $slave_sql_errno= 1062
+--source include/wait_for_slave_sql_error.inc
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+
+SET sql_log_bin=0;
+DELETE FROM t2 WHERE a=5;
+SET sql_log_bin=1;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+
+
+# Clean up.
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+SET DEBUG_SYNC= 'RESET';
+
+--connection server_1
+DROP TABLE t1,t2;
+SET DEBUG_SYNC= 'RESET';
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_multilevel.cnf b/mysql-test/suite/rpl/t/rpl_parallel_multilevel.cnf
new file mode 100644
index 00000000000..3ff94e458ce
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_multilevel.cnf
@@ -0,0 +1,24 @@
+!include ../my.cnf
+
+[mysqld.1]
+log-slave-updates
+loose-innodb
+
+[mysqld.2]
+log-slave-updates
+loose-innodb
+
+[mysqld.3]
+log-slave-updates
+loose-innodb
+
+[mysqld.4]
+log-slave-updates
+loose-innodb
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
+
+SERVER_MYPORT_4= @mysqld.4.port
+SERVER_MYSOCK_4= @mysqld.4.socket
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_multilevel.test b/mysql-test/suite/rpl/t/rpl_parallel_multilevel.test
new file mode 100644
index 00000000000..168b7ea5167
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_multilevel.test
@@ -0,0 +1,284 @@
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--let $rpl_topology=1->2->3->4
+--source include/rpl_init.inc
+
+# Test parallel replication with a multi-level replication hierarchy.
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--save_master_pos
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='optimistic';
+
+
+--connection server_3
+--sync_with_master
+--save_master_pos
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='optimistic';
+
+
+--connection server_4
+--sync_with_master
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='optimistic';
+
+
+--echo *** MDEV-6676: Test that @@skip_parallel_replication is preserved in slave binlog ***
+--connection server_1
+
+INSERT INTO t1 VALUES(1,1);
+BEGIN;
+INSERT INTO t1 VALUES(2,1);
+INSERT INTO t1 VALUES(3,1);
+COMMIT;
+# Do a lot of updates on same row in sequence. These would be likely to cause
+# conflicts and rollbacks in optimistic parallel replication, but we disable
+# that by enabling @@skip_parallel_replication. We can test that the flag is
+# preserved down the replication hierarchy by checking that no slave retries
+# are made.
+SET SESSION skip_parallel_replication=1;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+UPDATE t1 SET b=b+1 WHERE a=2;
+SET SESSION skip_parallel_replication=0;
+SELECT * FROM t1 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--let $retry1= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+--let $retry2= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--disable_query_log
+eval SELECT IF($retry1=$retry2, "Ok, no retry",
+ CONCAT("ERROR: ", $retry2-$retry1, " retries during replication (was ",
+ $retry1, " now ", $retry2, ")")) AS status;
+--enable_query_log
+
+--connection server_3
+--let $retry1= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+--let $retry2= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--disable_query_log
+eval SELECT IF($retry1=$retry2, "Ok, no retry",
+ CONCAT("ERROR: ", $retry2-$retry1, " retries during replication (was ",
+ $retry1, " now ", $retry2, ")")) AS status;
+--enable_query_log
+
+--connection server_4
+--let $retry1= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+--let $retry2= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--disable_query_log
+eval SELECT IF($retry1=$retry2, "Ok, no retry",
+ CONCAT("ERROR: ", $retry2-$retry1, " retries during replication (was ",
+ $retry1, " now ", $retry2, ")")) AS status;
+--enable_query_log
+
+
+--echo *** MDEV-6676: Test that the FL_WAITED flag in GTID is preserved in slave binlog ***
+
+--connection server_2
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET GLOBAL slave_parallel_mode='optimistic';
+
+
+--connection server_3
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET GLOBAL slave_parallel_mode='optimistic';
+
+
+--connection server_4
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET GLOBAL slave_parallel_mode='optimistic';
+
+--connection server_1
+# Do a lot of updates on same row in sequence. Ensure that all of these but the
+# first have to do a lock wait on the master, setting FL_WAITED in the GTID
+# event. This should cause all slaves to not attempt to run those updates in
+# parallel with prior events, so that no retries are made.
+
+BEGIN;
+UPDATE t1 SET b=b+1 WHERE a=2;
+
+--connect (con_temp1,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync="thd_report_wait_for SIGNAL waiting1";
+send UPDATE t1 SET b=b+1 WHERE a=2;
+--connection server_1
+SET debug_sync="now WAIT_FOR waiting1";
+
+--connect (con_temp2,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync="thd_report_wait_for SIGNAL waiting2";
+send UPDATE t1 SET b=b+1 WHERE a=2;
+--connection server_1
+SET debug_sync="now WAIT_FOR waiting2";
+
+--connect (con_temp3,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync="thd_report_wait_for SIGNAL waiting3";
+send UPDATE t1 SET b=b+1 WHERE a=2;
+--connection server_1
+SET debug_sync="now WAIT_FOR waiting3";
+
+--connect (con_temp4,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync="thd_report_wait_for SIGNAL waiting4";
+send UPDATE t1 SET b=b+1 WHERE a=2;
+--connection server_1
+SET debug_sync="now WAIT_FOR waiting4";
+
+--connect (con_temp5,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync="thd_report_wait_for SIGNAL waiting5";
+send UPDATE t1 SET b=b+1 WHERE a=2;
+--connection server_1
+SET debug_sync="now WAIT_FOR waiting5";
+
+--connect (con_temp6,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync="thd_report_wait_for SIGNAL waiting6";
+send UPDATE t1 SET b=b+1 WHERE a=2;
+--connection server_1
+SET debug_sync="now WAIT_FOR waiting6";
+
+--connect (con_temp7,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync="thd_report_wait_for SIGNAL waiting7";
+send UPDATE t1 SET b=b+1 WHERE a=2;
+--connection server_1
+SET debug_sync="now WAIT_FOR waiting7";
+
+--connect (con_temp8,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync="thd_report_wait_for SIGNAL waiting8";
+send UPDATE t1 SET b=b+1 WHERE a=2;
+--connection server_1
+SET debug_sync="now WAIT_FOR waiting8";
+
+COMMIT;
+SET debug_sync="RESET";
+
+--connection con_temp1
+reap;
+
+COMMIT;
+--connection con_temp2
+reap;
+
+COMMIT;
+--connection con_temp3
+reap;
+
+COMMIT;
+--connection con_temp4
+reap;
+
+COMMIT;
+--connection con_temp5
+reap;
+
+COMMIT;
+--connection con_temp6
+reap;
+
+COMMIT;
+--connection con_temp7
+reap;
+
+COMMIT;
+--connection con_temp8
+reap;
+
+--connection server_1
+SELECT * FROM t1 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--let $retry1= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+--let $retry2= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--disable_query_log
+eval SELECT IF($retry1=$retry2, "Ok, no retry",
+ CONCAT("ERROR: ", $retry2-$retry1, " retries during replication (was ",
+ $retry1, " now ", $retry2, ")")) AS status;
+--enable_query_log
+
+--connection server_3
+--let $retry1= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+--let $retry2= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--disable_query_log
+eval SELECT IF($retry1=$retry2, "Ok, no retry",
+ CONCAT("ERROR: ", $retry2-$retry1, " retries during replication (was ",
+ $retry1, " now ", $retry2, ")")) AS status;
+--enable_query_log
+
+--connection server_4
+--let $retry1= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+--let $retry2= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--disable_query_log
+eval SELECT IF($retry1=$retry2, "Ok, no retry",
+ CONCAT("ERROR: ", $retry2-$retry1, " retries during replication (was ",
+ $retry1, " now ", $retry2, ")")) AS status;
+--enable_query_log
+
+
+# Clean up
+
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_mode=@old_parallel_mode;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_3
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_mode=@old_parallel_mode;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_4
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_mode=@old_parallel_mode;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_1
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_multilevel2.cnf b/mysql-test/suite/rpl/t/rpl_parallel_multilevel2.cnf
new file mode 100644
index 00000000000..4e1d3878f03
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_multilevel2.cnf
@@ -0,0 +1,17 @@
+!include ../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_parallel_multilevel2.test b/mysql-test/suite/rpl/t/rpl_parallel_multilevel2.test
new file mode 100644
index 00000000000..4125394ef80
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_multilevel2.test
@@ -0,0 +1,80 @@
+--source include/have_innodb.inc
+--let $rpl_topology=1->2->3
+--source include/rpl_init.inc
+
+--echo *** MDEV-7668: Intermediate master groups CREATE with INSERT, causing parallel replication failure ***
+
+--connection server_1
+SET @old_updates= @@GLOBAL.binlog_direct_non_transactional_updates;
+SET GLOBAL binlog_direct_non_transactional_updates=OFF;
+SET SESSION binlog_direct_non_transactional_updates=OFF;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--save_master_pos
+--source include/stop_slave.inc
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+SET GLOBAL slave_parallel_threads=10;
+SET @old_commit_count=@@GLOBAL.binlog_commit_wait_count;
+SET GLOBAL binlog_commit_wait_count=2;
+SET @old_commit_usec=@@GLOBAL.binlog_commit_wait_usec;
+SET GLOBAL binlog_commit_wait_usec=2000000;
+SET @old_updates= @@GLOBAL.binlog_direct_non_transactional_updates;
+SET GLOBAL binlog_direct_non_transactional_updates=OFF;
+SET SESSION binlog_direct_non_transactional_updates=OFF;
+CHANGE MASTER TO master_use_gtid=current_pos;
+
+--connection server_3
+--sync_with_master
+--save_master_pos
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=current_pos;
+
+
+--connection server_1
+
+BEGIN;
+CREATE TEMPORARY TABLE t2 (a INT PRIMARY KEY) ENGINE=MEMORY;
+COMMIT;
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 SELECT a, a*10 FROM t2;
+DROP TABLE t2;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_3
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+
+# Clean up
+
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+SET GLOBAL binlog_commit_wait_count=@old_commit_count;
+SET GLOBAL binlog_commit_wait_usec=@old_commit_usec;
+SET GLOBAL binlog_direct_non_transactional_updates= @old_updates;
+--source include/start_slave.inc
+
+--connection server_3
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_1
+SET GLOBAL binlog_direct_non_transactional_updates= @old_updates;
+CALL mtr.add_suppression("Statement accesses nontransactional table as well as transactional or temporary table");
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates-slave.opt b/mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates-slave.opt
new file mode 100644
index 00000000000..acd68493e0a
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates-slave.opt
@@ -0,0 +1 @@
+--log-slave-updates=0
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates.test b/mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates.test
new file mode 100644
index 00000000000..75db619d225
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates.test
@@ -0,0 +1,201 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/have_binlog_format_statement.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo *** Test killing transaction waiting in commit for previous transaction to commit, when not using 2-phase commit ***
+
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+--source include/start_slave.inc
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+# Use a stored function to inject a debug_sync into the appropriate THD.
+# The function does nothing on the master, and on the slave it injects the
+# desired debug_sync action(s).
+SET sql_log_bin=0;
+--delimiter ||
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+ RETURNS INT DETERMINISTIC
+ BEGIN
+ RETURN x;
+ END
+||
+--delimiter ;
+SET sql_log_bin=1;
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+--save_master_pos
+
+--connection server_2
+SET sql_log_bin=0;
+--delimiter ||
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+ RETURNS INT DETERMINISTIC
+ BEGIN
+ IF d1 != '' THEN
+ SET debug_sync = d1;
+ END IF;
+ IF d2 != '' THEN
+ SET debug_sync = d2;
+ END IF;
+ RETURN x;
+ END
+||
+--delimiter ;
+SET sql_log_bin=1;
+--sync_with_master
+
+
+# Set up three transactions on the master that will be group-committed
+# together so they can be replicated in parallel on the slave.
+--connect (con_temp3,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+SET binlog_format=statement;
+send INSERT INTO t3 VALUES (31, foo(31,
+ 'ha_commit_one_phase WAIT_FOR t2_waiting',
+ 'commit_one_phase_2 SIGNAL t1_ready WAIT_FOR t1_cont'));
+
+--connection server_1
+SET debug_sync='now WAIT_FOR master_queued1';
+
+--connect (con_temp4,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+SET binlog_format=statement;
+BEGIN;
+# This insert is just so we can get T2 to wait while a query is running that we
+# can see in SHOW PROCESSLIST so we can get its thread_id to kill later.
+INSERT INTO t3 VALUES (32, foo(32,
+ 'ha_write_row_end SIGNAL t2_query WAIT_FOR t2_cont',
+ ''));
+# This insert sets up debug_sync points so that T2 will tell when it is at its
+# wait point where we want to kill it - and when it has been killed.
+INSERT INTO t3 VALUES (33, foo(33,
+ 'wait_for_prior_commit_waiting SIGNAL t2_waiting',
+ 'wait_for_prior_commit_killed SIGNAL t2_killed'));
+send COMMIT;
+
+--connection server_1
+SET debug_sync='now WAIT_FOR master_queued2';
+
+--connect (con_temp5,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+SET binlog_format=statement;
+send INSERT INTO t3 VALUES (34, foo(34,
+ '',
+ ''));
+
+--connection server_1
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+
+--connection con_temp3
+REAP;
+--connection con_temp4
+REAP;
+--connection con_temp5
+REAP;
+
+--connection server_1
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+
+--connection server_2
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Query execution was interrupted");
+CALL mtr.add_suppression("Commit failed due to failure of an earlier commit on which this one depends");
+CALL mtr.add_suppression("Slave: Connection was killed");
+SET sql_log_bin=1;
+# Wait until T2 is inside executing its insert of 32, then find it in SHOW
+# PROCESSLIST to know its thread id for KILL later.
+SET debug_sync='now WAIT_FOR t2_query';
+--let $thd_id= `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO LIKE '%foo(32%' AND INFO NOT LIKE '%LIKE%'`
+SET debug_sync='now SIGNAL t2_cont';
+
+# Wait until T2 has entered its wait for T1 to commit, and T1 has
+# progressed into its commit phase.
+SET debug_sync='now WAIT_FOR t1_ready';
+
+# Now kill the transaction T2.
+--replace_result $thd_id THD_ID
+eval KILL $thd_id;
+
+# Wait until T2 has reacted on the kill.
+SET debug_sync='now WAIT_FOR t2_killed';
+
+# Now we can allow T1 to proceed.
+SET debug_sync='now SIGNAL t1_cont';
+
+--let $slave_sql_errno= 1317,1927,1963
+--source include/wait_for_slave_sql_error.inc
+STOP SLAVE IO_THREAD;
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+
+# Now we have to disable the debug_sync statements, so they do not trigger
+# when the events are retried.
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+--delimiter ||
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+ RETURNS INT DETERMINISTIC
+ BEGIN
+ RETURN x;
+ END
+||
+--delimiter ;
+SET sql_log_bin=1;
+
+--connection server_1
+INSERT INTO t3 VALUES (39,0);
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
+# Restore the foo() function.
+SET sql_log_bin=0;
+DROP FUNCTION foo;
+--delimiter ||
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+ RETURNS INT DETERMINISTIC
+ BEGIN
+ IF d1 != '' THEN
+ SET debug_sync = d1;
+ END IF;
+ IF d2 != '' THEN
+ SET debug_sync = d2;
+ END IF;
+ RETURN x;
+ END
+||
+--delimiter ;
+SET sql_log_bin=1;
+
+
+--connection server_2
+# Respawn all worker threads to clear any left-over debug_sync or other stuff.
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+--source include/start_slave.inc
+
+
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+SET debug_sync = 'reset';
+--source include/start_slave.inc
+
+--connection server_1
+DROP function foo;
+DROP TABLE t3;
+SET debug_sync = 'reset';
+
+--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
new file mode 100644
index 00000000000..3867a3fdf3a
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_optimistic.test
@@ -0,0 +1,570 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='optimistic';
+
+
+--connection server_1
+
+INSERT INTO t1 VALUES(1,1);
+BEGIN;
+INSERT INTO t1 VALUES(2,1);
+INSERT INTO t1 VALUES(3,1);
+COMMIT;
+
+# Do a bunch of INSERT/DELETE on the same rows, bound to conflict.
+# We will get a lot of rollbacks, probably, but they should be handled without
+# any visible errors.
+
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,2);
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,3);
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,4);
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,5);
+
+DELETE FROM t1 WHERE a=3;
+INSERT INTO t1 VALUES(3,2);
+DELETE FROM t1 WHERE a=1;
+INSERT INTO t1 VALUES(1,2);
+DELETE FROM t1 WHERE a=3;
+INSERT INTO t1 VALUES(3,3);
+
+DELETE FROM t1 WHERE a=2;
+INSERT INTO t1 VALUES (2,6);
+--source include/save_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+#SHOW STATUS LIKE 'Slave_retried_transactions';
+
+
+--echo *** Test a bunch of non-transactional/DDL event groups. ***
+
+--connection server_2
+--source include/stop_slave.inc
+
+--connection server_1
+
+INSERT INTO t1 VALUES (4,4);
+INSERT INTO t1 VALUES (5,5);
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1);
+CREATE TABLE t3 (a INT PRIMARY KEY) ENGINE=MyISAM;
+ALTER TABLE t2 ADD b INT;
+INSERT INTO t2 VALUES (2,2);
+ALTER TABLE t2 DROP b;
+INSERT INTO t2 VALUES (3);
+ALTER TABLE t2 ADD c INT;
+INSERT INTO t2 VALUES (4,5);
+INSERT INTO t2 VALUES (5,5);
+INSERT INTO t3 VALUES (1);
+UPDATE t2 SET c=NULL WHERE a=4;
+ALTER TABLE t2 ADD UNIQUE (c);
+INSERT INTO t2 VALUES (6,6);
+UPDATE t2 SET c=c+100 WHERE a=2;
+INSERT INTO t3(a) VALUES (2);
+DELETE FROM t3 WHERE a=2;
+INSERT INTO t3(a) VALUES (2);
+DELETE FROM t3 WHERE a=2;
+ALTER TABLE t3 CHANGE a c INT NOT NULL;
+INSERT INTO t3(c) VALUES (2);
+DELETE FROM t3 WHERE c=2;
+INSERT INTO t3 SELECT a+200 FROM t2;
+DELETE FROM t3 WHERE c >= 200;
+INSERT INTO t3 SELECT a+200 FROM t2;
+--source include/save_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY c;
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY c;
+#SHOW STATUS LIKE 'Slave_retried_transactions';
+
+
+--echo *** Test @@skip_parallel_replication. ***
+
+--connection server_2
+--source include/stop_slave.inc
+--let $retry1= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+
+--connection server_1
+# We do a bunch of conflicting transactions on the master with
+# skip_parallel_replication set to true, and check that we do not
+# get any retries on the slave.
+
+UPDATE t1 SET b=10 WHERE a=3;
+SET SESSION skip_parallel_replication=1;
+UPDATE t1 SET b=20 WHERE a=3;
+UPDATE t1 SET b=30 WHERE a=3;
+UPDATE t1 SET b=50 WHERE a=3;
+UPDATE t1 SET b=80 WHERE a=3;
+UPDATE t1 SET b=130 WHERE a=3;
+UPDATE t1 SET b=210 WHERE a=3;
+UPDATE t1 SET b=340 WHERE a=3;
+UPDATE t1 SET b=550 WHERE a=3;
+UPDATE t1 SET b=890 WHERE a=3;
+SET SESSION skip_parallel_replication=0;
+SELECT * FROM t1 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+--let $retry2= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--disable_query_log
+eval SELECT IF($retry1=$retry2, "Ok, no retry",
+ CONCAT("ERROR: ", $retry2-$retry1, " retries during replication (was ",
+ $retry1, " now ", $retry2, ")")) AS status;
+--enable_query_log
+
+
+--echo *** Test that we do not replicate in parallel transactions that had row lock waits on the master ***
+
+--connection server_2
+--source include/stop_slave.inc
+--let $retry1= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+
+--connection server_1
+# Setup a bunch of transactions that all needed to wait.
+--connect (m1,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+--connect (m2,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+--connect (m3,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+--connect (m4,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+--connect (m5,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+--connect (m6,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+--connect (m7,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+--connect (m8,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+
+--connection default
+BEGIN; UPDATE t1 SET b=b+1 WHERE a=3;
+
+--connection m1
+SET debug_sync='thd_report_wait_for SIGNAL waiting1';
+send UPDATE t1 SET b=1001 WHERE a=3;
+--connection default
+SET debug_sync='now WAIT_FOR waiting1';
+
+--connection m2
+BEGIN;
+UPDATE t1 SET b=1002 WHERE a=5;
+SET debug_sync='thd_report_wait_for SIGNAL waiting2';
+send UPDATE t1 SET b=102 WHERE a=3;
+--connection default
+SET debug_sync='now WAIT_FOR waiting2';
+
+UPDATE t1 SET b=1000 WHERE a=1;
+--connection m3
+SET debug_sync='thd_report_wait_for SIGNAL waiting3';
+send UPDATE t1 SET b=1003 WHERE a=5;
+--connection default
+SET debug_sync='now WAIT_FOR waiting3';
+
+--connection m4
+SET debug_sync='thd_report_wait_for SIGNAL waiting4';
+send UPDATE t1 SET b=1004 WHERE a=3;
+--connection default
+SET debug_sync='now WAIT_FOR waiting4';
+
+--connection m5
+SET debug_sync='thd_report_wait_for SIGNAL waiting5';
+send UPDATE t1 SET b=1005 WHERE a=5;
+--connection default
+SET debug_sync='now WAIT_FOR waiting5';
+
+--connection m6
+SET debug_sync='thd_report_wait_for SIGNAL waiting6';
+send UPDATE t1 SET b=1006 WHERE a=1;
+--connection default
+SET debug_sync='now WAIT_FOR waiting6';
+
+--connection m7
+SET debug_sync='thd_report_wait_for SIGNAL waiting7';
+send UPDATE t1 SET b=1007 WHERE a=5;
+--connection default
+SET debug_sync='now WAIT_FOR waiting7';
+
+--connection m8
+SET debug_sync='thd_report_wait_for SIGNAL waiting8';
+send UPDATE t1 SET b=1008 WHERE a=3;
+--connection default
+SET debug_sync='now WAIT_FOR waiting8';
+
+--connection default
+COMMIT;
+--connection m1
+REAP;
+--connection m2
+REAP;
+COMMIT;
+--connection m3
+REAP;
+--connection m4
+REAP;
+--connection m5
+REAP;
+--connection m6
+REAP;
+--connection m7
+REAP;
+--connection m8
+REAP;
+--connection default
+SET debug_sync='RESET';
+SELECT * FROM t1 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+--let $retry2= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1)
+--disable_query_log
+eval SELECT IF($retry1=$retry2, "Ok, no retry",
+ CONCAT("ERROR: ", $retry2-$retry1, " retries during replication (was ",
+ $retry1, " now ", $retry2, ")")) AS status;
+--enable_query_log
+
+
+--echo *** Test that we replicate correctly when using READ COMMITTED and binlog_format=MIXED on the slave ***
+
+--connection server_2
+--source include/stop_slave.inc
+SET @old_format= @@GLOBAL.binlog_format;
+# Use MIXED format; we cannot binlog ROW events on slave in STATEMENT format.
+SET GLOBAL binlog_format= MIXED;
+SET @old_isolation= @@GLOBAL.tx_isolation;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
+# Reset the worker threads to make the new settings take effect.
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=10;
+
+--connection server_1
+DROP TABLE t1, t2;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t2 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,0), (2,0), (3,0);
+INSERT INTO t2 VALUES (1,0), (2,0);
+INSERT INTO t1 SELECT 4, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 4, COUNT(*) FROM t1;
+
+INSERT INTO t1 SELECT 5, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 5, COUNT(*) FROM t1;
+
+INSERT INTO t2 SELECT 6, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 6, COUNT(*) FROM t2;
+
+INSERT INTO t1 SELECT 7, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 7, COUNT(*) FROM t1;
+
+INSERT INTO t2 SELECT 8, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 8, COUNT(*) FROM t2;
+
+INSERT INTO t2 SELECT 9, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 9, COUNT(*) FROM t2;
+
+INSERT INTO t1 SELECT 10, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 10, COUNT(*) FROM t1;
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+
+--source include/stop_slave.inc
+SET GLOBAL binlog_format= @old_format;
+SET GLOBAL tx_isolation= @old_isolation;
+--source include/start_slave.inc
+
+
+--echo *** MDEV-7888: ANALYZE TABLE does wakeup_subsequent_commits(), causing wrong binlog order and parallel replication hang ***
+
+--connection server_1
+DROP TABLE t1, t2, t3;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,1), (2,1), (3,1), (4,1), (5,1);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+--source include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug= '+d,inject_analyze_table_sleep';
+
+--connection server_1
+# The bug was that ANALYZE TABLE would call
+# wakeup_subsequent_commits() too early, allowing the following
+# transaction in the same group to run ahead and binlog and free the
+# GCO. Then we get wrong binlog order and later access freed GCO,
+# which causes lost wakeup of following GCO and thus replication hang.
+# We injected a small sleep in ANALYZE to make the race easier to hit (this
+# can only cause false negatives in versions with the bug, not false positives,
+# so sleep is ok here. And it's in general not possible to trigger reliably
+# the race with debug_sync, since the bugfix makes the race impossible).
+
+ALTER TABLE t2 COMMENT "123abc";
+ANALYZE TABLE t2;
+INSERT INTO t1 VALUES (1,2);
+INSERT INTO t1 VALUES (2,2);
+INSERT INTO t1 VALUES (3,2);
+INSERT INTO t1 VALUES (4,2);
+INSERT INTO t3 VALUES (1,3);
+ALTER TABLE t2 COMMENT "hello, world";
+BEGIN;
+INSERT INTO t1 VALUES (5,4);
+INSERT INTO t1 VALUES (6,4);
+INSERT INTO t1 VALUES (7,4);
+INSERT INTO t1 VALUES (8,4);
+INSERT INTO t1 VALUES (9,4);
+INSERT INTO t1 VALUES (10,4);
+INSERT INTO t1 VALUES (11,4);
+INSERT INTO t1 VALUES (12,4);
+INSERT INTO t1 VALUES (13,4);
+INSERT INTO t1 VALUES (14,4);
+INSERT INTO t1 VALUES (15,4);
+INSERT INTO t1 VALUES (16,4);
+INSERT INTO t1 VALUES (17,4);
+INSERT INTO t1 VALUES (18,4);
+INSERT INTO t1 VALUES (19,4);
+INSERT INTO t1 VALUES (20,4);
+COMMIT;
+INSERT INTO t1 VALUES (21,5);
+INSERT INTO t1 VALUES (22,5);
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+
+--source include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_debug;
+--source include/start_slave.inc
+
+--echo *** MDEV-7929: record_gtid() for non-transactional event group calls wakeup_subsequent_commits() too early, causing slave hang. ***
+
+--connection server_2
+--source include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+# The bug was that record_gtid(), when there is no existing transaction from
+# a DML event being replicated, would commit its own transaction. This wrongly
+# caused wakeup_subsequent_commits(), with similar consequences as MDEV-7888
+# above. We simulate this condition with a small sleep in record_gtid() for
+# a specific ANALYZE that we binlog with server id 100.
+SET GLOBAL debug_dbug= '+d,inject_record_gtid_serverid_100_sleep';
+
+--connection server_1
+
+ALTER TABLE t3 COMMENT "DDL statement 1";
+INSERT INTO t1 VALUES (30,0);
+INSERT INTO t1 VALUES (31,0);
+INSERT INTO t1 VALUES (32,0);
+INSERT INTO t1 VALUES (33,0);
+INSERT INTO t1 VALUES (34,0);
+INSERT INTO t1 VALUES (35,0);
+INSERT INTO t1 VALUES (36,0);
+SET @old_server_id= @@SESSION.server_id;
+SET SESSION server_id= 100;
+ANALYZE TABLE t2;
+SET SESSION server_id= @old_server_id;
+INSERT INTO t1 VALUES (37,0);
+ALTER TABLE t3 COMMENT "DDL statement 2";
+INSERT INTO t1 VALUES (38,0);
+INSERT INTO t1 VALUES (39,0);
+ALTER TABLE t3 COMMENT "DDL statement 3";
+
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+
+--source include/save_master_gtid.inc
+
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+
+
+--source include/stop_slave.inc
+SET GLOBAL debug_dbug= @old_debug;
+--source include/start_slave.inc
+
+
+--echo *** MDEV-8113: ALTER TABLE causes slave hang in optimistic parallel replication ***
+
+--connection server_2
+--source include/stop_slave.inc
+
+--connection server_1
+ALTER TABLE t2 ADD c INT;
+INSERT INTO t2 (a,b) VALUES (50, 0);
+INSERT INTO t2 (a,b) VALUES (51, 1);
+INSERT INTO t2 (a,b) VALUES (52, 2);
+INSERT INTO t2 (a,b) VALUES (53, 3);
+INSERT INTO t2 (a,b) VALUES (54, 4);
+INSERT INTO t2 (a,b) VALUES (55, 5);
+INSERT INTO t2 (a,b) VALUES (56, 6);
+INSERT INTO t2 (a,b) VALUES (57, 7);
+INSERT INTO t2 (a,b) VALUES (58, 8);
+INSERT INTO t2 (a,b) VALUES (59, 9);
+ALTER TABLE t2 DROP COLUMN c;
+SELECT * FROM t2 WHERE a >= 50 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t2 WHERE a >= 50 ORDER BY a;
+
+
+--echo *** MDEV-8075: DROP TEMPORARY TABLE not marked as ddl, causing optimistic parallel replication to fail ***
+
+--connection server_2
+--source include/stop_slave.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (40, 10);
+CREATE TEMPORARY TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (41);
+BEGIN;
+INSERT INTO t2 SELECT a, 20 FROM t1;
+DROP TEMPORARY TABLE t1;
+COMMIT;
+INSERT INTO t1 VALUES (42, 10);
+--source include/save_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 40 ORDER BY a;
+SELECT * FROM t2 WHERE a >= 40 ORDER BY a;
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 WHERE a >= 40 ORDER BY a;
+SELECT * FROM t2 WHERE a >= 40 ORDER BY a;
+
+# partial cleanup to reuse the tables by following tests
+--connection server_1
+DELETE FROM t1;
+DELETE FROM t2;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+#
+# MDEV-13577 optimistic parallel slave errors out to error log unnecessary
+#
+
+# The 1st of the following two trx:s a blocker on slave
+--connection server_2
+set global log_warnings=2;
+BEGIN;
+INSERT INTO t1 SET a=1;
+
+--connection server_1
+SET @save.binlog_format=@@session.binlog_format;
+SET @@SESSION.binlog_format=row;
+
+BEGIN;
+ INSERT INTO t1 SET a=1;
+ INSERT INTO t2 SET a=1;
+COMMIT;
+
+# This transaction is going to win optimistical race with above INSERT
+# on slave while being depend on it. That means it will face a kind of temporary error
+# and then will retry to succeed.
+BEGIN;
+ DELETE FROM t2;
+COMMIT;
+
+# First make sure DELETE raced indeed to get stuck at retrying stage
+# where it runs "realistically" now. There is nomore optimistic error
+# in the errorlog, which is downgraded to the warning level (when
+# --log-warnings > 1), see above suppression.
+--connection server_2
+--let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist WHERE state = "Waiting for prior transaction to commit"
+--source include/wait_condition.inc
+
+# Next release the 1st trx to commit.
+--connection server_2
+ROLLBACK;
+
+# MDEV-13577 local cleanup:
+--connection server_1
+SET @@SESSION.binlog_format= @save.binlog_format;
+DELETE FROM t1;
+DELETE FROM t2;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+#
+# Clean up.
+#
+--connection server_2
+--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
+
+--connection server_1
+DROP TABLE t1, t2, t3;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+# Check for left-over rows in table mysql.gtid_slave_pos (MDEV-12147).
+#
+# There was a bug when a transaction got a conflict and was rolled back. It
+# might have also handled deletion of some old rows, and these deletions would
+# then also be rolled back. And since the deletes were never re-tried, old no
+# longer needed rows would accumulate in the table without limit.
+#
+# The earlier part of this test file have plenty of transactions being rolled
+# back. But the last DROP TABLE statement runs on its own and should never
+# conflict, thus at this point the mysql.gtid_slave_pos table should be clean.
+--echo Check that no more than the expected last two GTIDs are in mysql.gtid_slave_pos
+select count(*) from mysql.gtid_slave_pos order by domain_id, sub_id;
+
+--connection server_1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_optimistic_nobinlog.cnf b/mysql-test/suite/rpl/t/rpl_parallel_optimistic_nobinlog.cnf
new file mode 100644
index 00000000000..b85a84f6625
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_optimistic_nobinlog.cnf
@@ -0,0 +1,10 @@
+!include ../my.cnf
+
+[mysqld.1]
+log-slave-updates=0
+loose-innodb
+
+[mysqld.2]
+slave-transaction-retries=100
+log-slave-updates=0
+loose-innodb
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_optimistic_nobinlog.test b/mysql-test/suite/rpl/t/rpl_parallel_optimistic_nobinlog.test
new file mode 100644
index 00000000000..94924147dce
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_optimistic_nobinlog.test
@@ -0,0 +1,74 @@
+--source include/have_innodb.inc
+--source include/have_binlog_format_statement.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+CREATE TABLE t2 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,0), (2,0), (3,0);
+INSERT INTO t2 VALUES (1,0), (2,0);
+--save_master_pos
+
+
+--connection server_2
+--sync_with_master
+SET @old_isolation= @@GLOBAL.tx_isolation;
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET GLOBAL slave_parallel_threads=10;
+CHANGE MASTER TO master_use_gtid=slave_pos;
+SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode='aggressive';
+
+
+--echo *** Test that we replicate correctly when using READ COMMITTED and --log-slave-updates=0 on the slave ***
+
+--connection server_1
+
+INSERT INTO t1 SELECT 4, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 4, COUNT(*) FROM t1;
+
+INSERT INTO t1 SELECT 5, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 5, COUNT(*) FROM t1;
+
+INSERT INTO t2 SELECT 6, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 6, COUNT(*) FROM t2;
+
+INSERT INTO t1 SELECT 7, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 7, COUNT(*) FROM t1;
+
+INSERT INTO t2 SELECT 8, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 8, COUNT(*) FROM t2;
+
+INSERT INTO t2 SELECT 9, COUNT(*) FROM t1;
+INSERT INTO t1 SELECT 9, COUNT(*) FROM t2;
+
+INSERT INTO t1 SELECT 10, COUNT(*) FROM t2;
+INSERT INTO t2 SELECT 10, COUNT(*) FROM t1;
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+
+
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL tx_isolation= @old_isolation;
+SET GLOBAL slave_parallel_mode=@old_parallel_mode;
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_1
+DROP TABLE t1, t2;
+
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_partition.test b/mysql-test/suite/rpl/t/rpl_parallel_partition.test
new file mode 100644
index 00000000000..37dce9fef80
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_partition.test
@@ -0,0 +1,81 @@
+--source include/have_partition.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/master-slave.inc
+
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,inject_wakeup_subsequent_commits_sleep";
+SET GLOBAL slave_parallel_threads=8;
+
+--echo *** MDEV-8147: Assertion `m_lock_type == 2' failed in handler::ha_close() during parallel replication ***
+--connection server_1
+CREATE TABLE E (
+ pk INTEGER AUTO_INCREMENT,
+ col_int_nokey INTEGER /*! NULL */,
+ col_int_key INTEGER /*! NULL */,
+
+ col_date_key DATE /*! NULL */,
+ col_date_nokey DATE /*! NULL */,
+
+ col_time_key TIME /*! NULL */,
+ col_time_nokey TIME /*! NULL */,
+
+ col_datetime_key DATETIME /*! NULL */,
+ col_datetime_nokey DATETIME /*! NULL */,
+
+ col_varchar_key VARCHAR(1) /*! NULL */,
+ col_varchar_nokey VARCHAR(1) /*! NULL */,
+
+ PRIMARY KEY (pk),
+ KEY (col_int_key),
+ KEY (col_date_key),
+ KEY (col_time_key),
+ KEY (col_datetime_key),
+ KEY (col_varchar_key, col_int_key)
+ ) ENGINE=InnoDB;
+
+ALTER TABLE `E` PARTITION BY KEY() PARTITIONS 5;
+ALTER TABLE `E` REMOVE PARTITIONING;
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+--shutdown_server 30
+--source include/wait_until_disconnected.inc
+--connection default
+--source include/wait_until_disconnected.inc
+--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
+CREATE TABLE t1 (a INT PRIMARY KEY);
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+
+# Re-spawn worker threads to clear dbug injection.
+--source include/stop_slave.inc
+SET GLOBAL debug_dbug=@old_dbug;
+SET GLOBAL slave_parallel_threads=0;
+SET GLOBAL slave_parallel_threads=8;
+--source include/start_slave.inc
+
+
+# Clean up.
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_1
+DROP TABLE `E`;
+DROP TABLE t1;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_retry.test b/mysql-test/suite/rpl/t/rpl_parallel_retry.test
new file mode 100644
index 00000000000..b3a8ea45cf0
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_retry.test
@@ -0,0 +1,384 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo *** Test retry of transactions that fail to replicate due to deadlock or similar temporary error. ***
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,1);
+--save_master_pos
+
+# Use a stored function to inject a debug_sync into the appropriate THD.
+# The function does nothing on the master, and on the slave it injects the
+# desired debug_sync action(s).
+SET sql_log_bin=0;
+--delimiter ||
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+ RETURNS INT DETERMINISTIC
+ BEGIN
+ RETURN x;
+ END
+||
+--delimiter ;
+SET sql_log_bin=1;
+
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+--source include/start_slave.inc
+--sync_with_master
+SET sql_log_bin=0;
+--delimiter ||
+CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
+ RETURNS INT DETERMINISTIC
+ BEGIN
+ IF d1 != '' THEN
+ SET debug_sync = d1;
+ END IF;
+ IF d2 != '' THEN
+ SET debug_sync = d2;
+ END IF;
+ RETURN x;
+ END
+||
+--delimiter ;
+SET sql_log_bin=1;
+--source include/stop_slave.inc
+
+--connection server_1
+SET gtid_seq_no = 100;
+BEGIN;
+INSERT INTO t1 VALUES (2,1);
+UPDATE t1 SET b=b+1 WHERE a=1;
+INSERT INTO t1 VALUES (3,1);
+COMMIT;
+SELECT * FROM t1 ORDER BY a;
+--save_master_pos
+
+--connection server_2
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_gtid_0_x_100";
+let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--source include/start_slave.inc
+--sync_with_master
+SET GLOBAL debug_dbug=@old_dbug;
+let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--disable_query_log
+eval SELECT $new_retry - $old_retry AS retries;
+--enable_query_log
+
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** Test that double retry works when the first retry also fails with temp error ***
+--source include/stop_slave.inc
+
+--connection server_1
+SET gtid_seq_no = 100;
+SET @old_server_id = @@server_id;
+SET server_id = 10;
+BEGIN;
+INSERT INTO t1 VALUES (4,1);
+UPDATE t1 SET b=b+1 WHERE a=1;
+INSERT INTO t1 VALUES (5,1);
+INSERT INTO t1 VALUES (6,1);
+COMMIT;
+SET server_id = @old_server_id;
+SELECT * FROM t1 ORDER BY a;
+--save_master_pos
+
+--connection server_2
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_gtid_0_x_100,rpl_parallel_simulate_double_temp_err_gtid_0_x_100";
+let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--source include/start_slave.inc
+--sync_with_master
+SET GLOBAL debug_dbug=@old_dbug;
+let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--disable_query_log
+eval SELECT $new_retry - $old_retry AS retries;
+--enable_query_log
+
+SELECT * FROM t1 ORDER BY a;
+
+
+--echo *** Test too many retries, eventually causing failure. ***
+--source include/stop_slave.inc
+
+--connection server_1
+SET gtid_seq_no = 100;
+SET @old_server_id = @@server_id;
+SET server_id = 11;
+BEGIN;
+INSERT INTO t1 VALUES (7,1);
+UPDATE t1 SET b=b+1 WHERE a=1;
+INSERT INTO t1 VALUES (8,1);
+INSERT INTO t1 VALUES (9,1);
+COMMIT;
+SET server_id = @old_server_id;
+SELECT * FROM t1 ORDER BY a;
+--save_master_pos
+
+--connection server_2
+SET sql_log_bin=0;
+CALL mtr.add_suppression("Slave worker thread retried transaction 10 time\\(s\\) in vain, giving up");
+CALL mtr.add_suppression("Slave: Deadlock found when trying to get lock; try restarting transaction");
+SET sql_log_bin=1;
+
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_gtid_0_x_100,rpl_parallel_simulate_infinite_temp_err_gtid_0_x_100";
+let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+START SLAVE;
+--let $slave_sql_errno= 1213
+--source include/wait_for_slave_sql_error.inc
+SET GLOBAL debug_dbug=@old_dbug;
+let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--disable_query_log
+eval SELECT $new_retry - $old_retry AS retries;
+--enable_query_log
+
+SELECT * FROM t1 ORDER BY a;
+STOP SLAVE IO_THREAD;
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+
+--echo *** Test retry of event group that spans multiple relay log files. ***
+
+--connection server_1
+CREATE TABLE t2 (a int PRIMARY KEY, b BLOB) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1,"Hulubullu");
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+SET @old_max= @@GLOBAL.max_relay_log_size;
+SET GLOBAL max_relay_log_size=4096;
+
+--connection server_1
+--let $big= `SELECT REPEAT("*", 5000)`
+SET gtid_seq_no = 100;
+SET @old_server_id = @@server_id;
+SET server_id = 12;
+BEGIN;
+--disable_query_log
+eval INSERT INTO t2 VALUES (2, CONCAT("Hello ", "$big"));
+eval INSERT INTO t2 VALUES (3, CONCAT("Long data: ", "$big"));
+--enable_query_log
+INSERT INTO t1 VALUES (10, 4);
+COMMIT;
+SET server_id = @old_server_id;
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+SELECT a, LENGTH(b) FROM t2 ORDER BY a;
+--save_master_pos
+
+--connection server_2
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_gtid_0_x_100";
+let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--source include/start_slave.inc
+--sync_with_master
+SET GLOBAL debug_dbug=@old_dbug;
+let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--disable_query_log
+eval SELECT $new_retry - $old_retry AS retries;
+--enable_query_log
+
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+SELECT a, LENGTH(b) FROM t2 ORDER BY a;
+
+--connection server_1
+INSERT INTO t1 VALUES (11,11);
+--disable_query_log
+eval INSERT INTO t2 VALUES (4, "$big");
+--enable_query_log
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
+SELECT a, LENGTH(b) FROM t2 ORDER BY a;
+SET GLOBAL max_relay_log_size=@old_max;
+
+
+--echo *** MDEV-7065: Incorrect relay log position in parallel replication after retry of transaction ***
+
+--connection server_2
+--source include/stop_slave.inc
+
+--connection server_1
+BEGIN;
+INSERT INTO t1 VALUES (100, 0);
+INSERT INTO t1 VALUES (101, 0);
+INSERT INTO t1 VALUES (102, 0);
+INSERT INTO t1 VALUES (103, 0);
+COMMIT;
+SELECT * FROM t1 WHERE a >= 100 ORDER BY a;
+--save_master_pos
+
+--connection server_2
+# Inject a DBUG error insert to cause the XID event of the single transaction
+# from the master to fail with a deadlock error and be retried.
+# The bug was that the retry of the XID would leave the relay log position
+# incorrect (off by the size of XID event).
+SET @old_dbug= @@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,rpl_parallel_simulate_temp_err_xid";
+let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--source include/start_slave.inc
+--sync_with_master
+SET GLOBAL debug_dbug=@old_dbug;
+let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--disable_query_log
+eval SELECT $new_retry - $old_retry AS retries;
+--enable_query_log
+
+SELECT * FROM t1 WHERE a >= 100 ORDER BY a;
+# Stop the SQL thread. When the bug was there to give the incorrect relay log
+# position, the restart of the SQL thread would read garbage data from the
+# middle of an event and fail with relay log IO error.
+--source include/stop_slave_sql.inc
+
+--connection server_1
+INSERT INTO t1 VALUES (104, 1);
+INSERT INTO t1 VALUES (105, 1);
+INSERT INTO t1 VALUES (106, 1);
+INSERT INTO t1 VALUES (107, 1);
+INSERT INTO t1 VALUES (108, 1);
+INSERT INTO t1 VALUES (109, 1);
+--save_master_pos
+
+--connection server_2
+--source include/start_slave.inc
+--sync_with_master
+SELECT * FROM t1 WHERE a >= 100 ORDER BY a;
+
+
+--echo *** MDEV-6917: Parallel replication: "Commit failed due to failure of an earlier commit on which this one depends", but no prior failure seen **
+
+--connection server_1
+CREATE TABLE t3 (a INT PRIMARY KEY, b INT, KEY b_idx(b)) ENGINE=InnoDB;
+INSERT INTO t3 VALUES (1,NULL), (2,2), (3,NULL), (4,4), (5, NULL), (6, 6);
+CREATE TABLE t4 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+
+# We need statement binlog format to be able to inject debug_sync statements
+# on the slave with calls to foo().
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=no;
+
+--connection server_1
+
+# Create a group commit with three transactions T1, T2, T3.
+# T2 will block T1 on the slave where we will make it run first, so it will be
+# deadlock killed.
+# The bug was that in this case, T3 was signalled to fail due to T2 failing,
+# even though the retry of T2 was later successful.
+
+--connect (con1,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+BEGIN;
+INSERT INTO t4 VALUES (10, foo(1, 'before_execute_sql_command WAIT_FOR t1_start', ''));
+UPDATE t3 SET b=NULL WHERE a=6;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
+send COMMIT;
+--connection server_1
+SET debug_sync='now WAIT_FOR master_queued1';
+
+--connect (con2,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+BEGIN;
+INSERT INTO t4 VALUES (20, foo(2, 'group_commit_waiting_for_prior SIGNAL t2_waiting', ''));
+DELETE FROM t3 WHERE b <= 3;
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
+send COMMIT;
+
+--connection server_1
+SET debug_sync='now WAIT_FOR master_queued2';
+
+--connect (con3,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+SET @old_format= @@SESSION.binlog_format;
+SET binlog_format='statement';
+BEGIN;
+INSERT INTO t4 VALUES (30, foo(3, 'before_execute_sql_command WAIT_FOR t3_start', 'group_commit_waiting_for_prior SIGNAL t3_waiting'));
+INSERT INTO t3 VALUES (7,7);
+SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued3';
+send COMMIT;
+
+--connection server_1
+SET debug_sync='now WAIT_FOR master_queued3';
+SET debug_sync='now SIGNAL master_cont1';
+
+--connection con1
+REAP;
+SET binlog_format=@old_format;
+--connection con2
+REAP;
+SET binlog_format=@old_format;
+--connection con3
+REAP;
+SET debug_sync='RESET';
+SET binlog_format=@old_format;
+
+--connection server_1
+--save_master_pos
+SELECT * FROM t3 ORDER BY a;
+
+
+--connection server_2
+let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+SET @old_dbug=@@GLOBAL.debug_dbug;
+SET GLOBAL debug_dbug="+d,thd_need_ordering_with_force";
+--source include/start_slave.inc
+# First, wait for T2 to complete up to where it is waiting for T1 to group
+# commit for both of them. This will set locks that will block T1, causing
+# a deadlock kill and retry of T2. T1 and T3 are still blocked at the start
+# of each their SQL statements.
+SET debug_sync='now WAIT_FOR t2_waiting';
+# Now let T3 move on until the point where it is itself ready to commit.
+SET debug_sync='now SIGNAL t3_start';
+SET debug_sync='now WAIT_FOR t3_waiting';
+# Now T2 and T3 are set up, so we can let T1 proceed.
+SET debug_sync='now SIGNAL t1_start';
+# Now we can wait for the slave to catch up.
+# We should see T2 being deadlock killed and retried.
+# The bug was that T2 deadlock kill would cause T3 to fail due to failure
+# of an earlier commit. This is wrong as T2 did not fail, it was only
+# retried.
+--sync_with_master
+SET GLOBAL debug_dbug=@old_dbug;
+SET debug_sync='RESET';
+let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--disable_query_log
+eval SELECT $new_retry - $old_retry >= 1 AS retries;
+--enable_query_log
+SELECT * FROM t3 ORDER BY a;
+
+
+--connection server_1
+SET binlog_format=@old_format;
+
+
+# Clean up.
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_1
+DROP TABLE t1, t2, t3, t4;
+DROP function foo;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_show_binlog_events_purge_logs.test b/mysql-test/suite/rpl/t/rpl_parallel_show_binlog_events_purge_logs.test
index 83d847318d8..9e93b0b56e9 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_show_binlog_events_purge_logs.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_show_binlog_events_purge_logs.test
@@ -1,34 +1 @@
-# BUG#13979418: SHOW BINLOG EVENTS MAY CRASH THE SERVER
-#
-# The function mysql_show_binlog_events has a local stack variable
-# 'LOG_INFO linfo;', which is assigned to thd->current_linfo, however
-# this variable goes out of scope and is destroyed before clean
-# thd->current_linfo.
-#
-# This test case runs SHOW BINLOG EVENTS and FLUSH LOGS to make sure
-# that with the fix local variable linfo is valid along all
-# mysql_show_binlog_events function scope.
-#
---source include/have_debug_sync.inc
---source include/master-slave.inc
-
---echo [connection slave]
---connection slave
-SET DEBUG_SYNC= 'after_show_binlog_events SIGNAL on_show_binlog_events WAIT_FOR end';
---send SHOW BINLOG EVENTS
-
---connection slave1
---echo [connection slave1]
-SET DEBUG_SYNC= 'now WAIT_FOR on_show_binlog_events';
-FLUSH LOGS;
-SET DEBUG_SYNC= 'now SIGNAL end';
-
---echo [connection slave]
---connection slave
---disable_result_log
---reap
---enable_result_log
-SET DEBUG_SYNC= 'RESET';
-
---connection master
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_parallel_show_binlog_events_purge_logs.inc
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_temptable-master.opt b/mysql-test/suite/rpl/t/rpl_parallel_temptable-master.opt
new file mode 100644
index 00000000000..425fda95086
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_temptable-master.opt
@@ -0,0 +1 @@
+--skip-stack-trace --skip-core-file
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_temptable.test b/mysql-test/suite/rpl/t/rpl_parallel_temptable.test
new file mode 100644
index 00000000000..04165ee4752
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_parallel_temptable.test
@@ -0,0 +1,271 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_binlog_format_statement.inc
+# Valgrind does not work well with test that crashes the server
+--source include/not_valgrind.inc
+--let $rpl_topology=1->2
+--source include/rpl_init.inc
+
+--echo *** MDEV-6321: close_temporary_tables() in format description event not serialised correctly ***
+
+--connection server_2
+SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=5;
+CHANGE MASTER TO master_use_gtid= current_pos;
+--source include/start_slave.inc
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(100) CHARACTER SET utf8);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--source include/stop_slave.inc
+
+
+--connection server_1
+SET gtid_domain_id= 1;
+INSERT INTO t1 VALUES (1, 0);
+
+CREATE TEMPORARY TABLE t2 (a int);
+
+--connection default
+SET gtid_domain_id= 2;
+CREATE TEMPORARY TABLE t3 (a INT PRIMARY KEY);
+CREATE TEMPORARY TABLE t4 (a int);
+INSERT INTO t3 VALUES (100);
+INSERT INTO t4 SELECT a+1 FROM t3;
+
+--connection server_1
+INSERT INTO t2 VALUES (2), (4), (6), (8), (10), (12), (14), (16), (18), (20);
+INSERT INTO t2 VALUES (3), (6), (9), (12), (15), (18);
+INSERT INTO t2 VALUES (4), (8), (12), (16), (20);
+
+--connection default
+INSERT INTO t3 SELECT a+2 FROM t4;
+INSERT INTO t4 SELECT a+4 FROM t3;
+
+--connection server_1
+INSERT INTO t2 VALUES (5), (10), (15), (20);
+INSERT INTO t2 VALUES (6), (12), (18);
+INSERT INTO t2 VALUES (7), (14);
+INSERT INTO t2 VALUES (8), (16);
+INSERT INTO t2 VALUES (9), (18);
+INSERT INTO t2 VALUES (10), (20);
+
+--connection default
+INSERT INTO t3 SELECT a+8 FROM t4;
+INSERT INTO t4 SELECT a+16 FROM t3;
+
+--connection server_1
+INSERT INTO t2 VALUES (11);
+INSERT INTO t2 VALUES (12);
+INSERT INTO t2 VALUES (13);
+
+--connection default
+INSERT INTO t3 SELECT a+32 FROM t4;
+
+--connection server_1
+INSERT INTO t2 VALUES (14);
+INSERT INTO t2 VALUES (15);
+INSERT INTO t2 VALUES (16);
+
+--connection default
+INSERT INTO t4 SELECT a+64 FROM t3;
+
+--connection server_1
+INSERT INTO t2 VALUES (17);
+INSERT INTO t2 VALUES (18);
+INSERT INTO t2 VALUES (19);
+
+--connection default
+INSERT INTO t3 SELECT a+128 FROM t4;
+
+--connection server_1
+INSERT INTO t2 VALUES (20);
+
+--connection default
+INSERT INTO t1 SELECT a, a MOD 7 FROM t3;
+INSERT INTO t1 SELECT a, a MOD 7 FROM t4;
+
+--connection server_1
+INSERT INTO t1 SELECT a, COUNT(*) FROM t2 GROUP BY a;
+
+# Crash the master server, so that temporary tables are implicitly dropped.
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+FLUSH TABLES;
+SET SESSION debug_dbug="+d,crash_dispatch_command_before";
+--error 2006,2013
+SELECT 1;
+
+--source include/wait_until_disconnected.inc
+--connection default
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+
+--connection default
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--connection server_1
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (0, 1);
+--save_master_pos
+
+--connection server_2
+# Start the slave replicating the events.
+# The bug was that the format description event written after the crash could
+# be fetched ahead of the execution of the temporary table events and executed
+# out-of-band. This would cause drop of all temporary tables and thus failure
+# for execution of remaining events.
+
+--source include/start_slave.inc
+--sync_with_master
+
+SELECT * FROM t1 WHERE a <= 20 ORDER BY a;
+SELECT COUNT(*) FROM t1 WHERE a BETWEEN 100+0 AND 100+256;
+SHOW STATUS LIKE 'Slave_open_temp_tables';
+
+
+--echo *** Test that if master logged partial event group before crash, we finish that group correctly before executing format description event ***
+
+--source include/stop_slave.inc
+
+--connection server_1
+CALL mtr.add_suppression("Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them");
+SET gtid_domain_id= 1;
+DELETE FROM t1;
+ALTER TABLE t1 ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t2 (a INT PRIMARY KEY);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t2 VALUES (2);
+
+--connection default
+SET gtid_domain_id= 2;
+CREATE TEMPORARY TABLE t3 (a INT PRIMARY KEY);
+INSERT INTO t3 VALUES (10);
+INSERT INTO t3 VALUES (20);
+
+--connection server_1
+INSERT INTO t1 SELECT a, 'server_1' FROM t2;
+
+--connection default
+INSERT INTO t1 SELECT a, 'default' FROM t3;
+
+--connection server_1
+INSERT INTO t1 SELECT a+2, '+server_1' FROM t2;
+
+# Crash the master server in the middle of writing an event group.
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+
+FLUSH TABLES;
+SET SESSION debug_dbug="+d,crash_before_writing_xid";
+--error 2006,2013
+INSERT INTO t1 SELECT a+4, '++server_1' FROM t2;
+
+--source include/wait_until_disconnected.inc
+--connection default
+--source include/wait_until_disconnected.inc
+
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+
+--connection default
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--connection server_1
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+INSERT INTO t1 VALUES (0, 1);
+#--save_master_pos
+--source include/save_master_gtid.inc
+
+--connection server_2
+# Start the slave replicating the events.
+# The main thing to test here is that the slave will know that it
+# needs to abort the partially received event group, so that the
+# execution of format_description event will not wait infinitely
+# for a commit of the incomplete group that never happens.
+
+--source include/start_slave.inc
+#--sync_with_master
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1 ORDER BY a;
+SHOW STATUS LIKE 'Slave_open_temp_tables';
+
+--connection server_1
+# This FLUSH can be removed once MDEV-6608 is fixed.
+FLUSH LOGS;
+
+
+--echo *** MDEV-7936: Assertion `!table || table->in_use == _current_thd()' failed on parallel replication in optimistic mode ***
+
+--connection server_1
+CREATE TEMPORARY TABLE t4 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET @old_dbug= @@SESSION.debug_dbug;
+SET SESSION debug_dbug="+d,binlog_force_commit_id";
+SET @commit_id= 10000;
+INSERT INTO t4 VALUES (30);
+INSERT INTO t4 VALUES (31);
+SET SESSION debug_dbug= @old_dbug;
+INSERT INTO t1 SELECT a, "conservative" FROM t4;
+DROP TEMPORARY TABLE t4;
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+
+--source include/stop_slave.inc
+SET @old_mode= @@GLOBAL.slave_parallel_mode;
+SET GLOBAL slave_parallel_mode=optimistic;
+
+--connection server_1
+CREATE TEMPORARY TABLE t4 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t4 VALUES (32);
+INSERT INTO t4 VALUES (33);
+INSERT INTO t1 SELECT a, "optimistic" FROM t4;
+DROP TEMPORARY TABLE t4;
+
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+
+SELECT * FROM t1 WHERE a >= 30 ORDER BY a;
+
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_mode=@old_mode;
+--source include/start_slave.inc
+
+
+# Clean up.
+
+--connection server_2
+--source include/stop_slave.inc
+SET GLOBAL slave_parallel_threads=@old_parallel_threads;
+--source include/start_slave.inc
+
+--connection server_1
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_partition_archive.test b/mysql-test/suite/rpl/t/rpl_partition_archive.test
new file mode 100644
index 00000000000..5b64576d10c
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_partition_archive.test
@@ -0,0 +1,12 @@
+# Test of partitioning features with replication for archive
+--source include/have_archive.inc
+--source include/have_partition.inc
+--source include/master-slave.inc
+
+# Set the default connection to 'master'
+
+let $engine_type= 'Archive';
+
+--source suite/rpl/include/rpl_partition.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_partition_innodb-master.opt b/mysql-test/suite/rpl/t/rpl_partition_innodb-master.opt
new file mode 100644
index 00000000000..0eed7aaadad
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_partition_innodb-master.opt
@@ -0,0 +1 @@
+--innodb_autoinc_lock_mode=0
diff --git a/mysql-test/suite/rpl/t/rpl_partition_innodb.test b/mysql-test/suite/rpl/t/rpl_partition_innodb.test
new file mode 100644
index 00000000000..098bc4072d4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_partition_innodb.test
@@ -0,0 +1,12 @@
+# Test of partitioning features with replication for InnoDB
+--source include/have_innodb.inc
+--source include/have_partition.inc
+--source include/master-slave.inc
+
+# Set the default connection to 'master'
+
+let $engine_type= 'InnoDB';
+
+--source suite/rpl/include/rpl_partition.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_partition_memory.test b/mysql-test/suite/rpl/t/rpl_partition_memory.test
new file mode 100644
index 00000000000..4ce68d6f9df
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_partition_memory.test
@@ -0,0 +1,11 @@
+# Test of partitioning features with replication for Memory
+--source include/have_partition.inc
+--source include/master-slave.inc
+
+# Set the default connection to 'master'
+
+let $engine_type= 'Memory';
+
+--source suite/rpl/include/rpl_partition.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_partition_myisam.test b/mysql-test/suite/rpl/t/rpl_partition_myisam.test
new file mode 100644
index 00000000000..56003d8908b
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_partition_myisam.test
@@ -0,0 +1,11 @@
+# Test of partitioning features with replication for MyISAM
+--source include/have_partition.inc
+--source include/master-slave.inc
+
+# Set the default connection to 'master'
+
+let $engine_type= 'MyISAM';
+
+--source suite/rpl/include/rpl_partition.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_performance_schema.test b/mysql-test/suite/rpl/t/rpl_performance_schema.test
index 0562b0ea658..18aabe5272d 100644
--- a/mysql-test/suite/rpl/t/rpl_performance_schema.test
+++ b/mysql-test/suite/rpl/t/rpl_performance_schema.test
@@ -1,6 +1,6 @@
---source include/master-slave.inc
--source include/have_perfschema.inc
--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
UPDATE performance_schema.setup_instruments SET ENABLED="NO";
diff --git a/mysql-test/suite/rpl/t/rpl_ps.test b/mysql-test/suite/rpl/t/rpl_ps.test
index b3d07dd1400..b4ea3a385b1 100644
--- a/mysql-test/suite/rpl/t/rpl_ps.test
+++ b/mysql-test/suite/rpl/t/rpl_ps.test
@@ -1,9 +1,6 @@
#
# Test of replicating user variables
#
-###########################################################
-# 2006-02-08 By JBM added order by for use w/ NDB engine
-###########################################################
source include/master-slave.inc;
#sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test b/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test
index 30cc564917a..d7c82266ebf 100644
--- a/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test
+++ b/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test
@@ -1,5 +1,4 @@
-- source include/have_binlog_format_mixed.inc
--- source include/not_ndb_default.inc
-- source include/master-slave.inc
# Test that the slave temporarily switches to ROW when seeing row
diff --git a/mysql-test/suite/rpl/t/rpl_read_new_relay_log_info.test b/mysql-test/suite/rpl/t/rpl_read_new_relay_log_info.test
new file mode 100644
index 00000000000..1e2c8ce2d9f
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_read_new_relay_log_info.test
@@ -0,0 +1,43 @@
+# ==== Purpose ====
+#
+# - Verify that the post-WL#344 format of relay_log.info can be parsed.
+
+--source include/master-slave.inc
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
+--sync_slave_with_master
+
+--echo ==== Check that we can understand the new format of relay-log.info ====
+--source include/stop_slave.inc
+
+RESET SLAVE;
+--let $MYSQLD_DATADIR= `select @@datadir`
+
+# the new version of relay_log.info comes in two versions: with path
+# separator '/' (most systems) and with path separator '\' (windows)
+if ($SYSTEM_PATH_SEPARATOR != /) {
+ --let $file_suffix= -win
+}
+--copy_file $MYSQL_TEST_DIR/std_data/new-format-relay-log$file_suffix.info $MYSQLD_DATADIR/relay-log.info
+
+--echo # Read relay-log.info
+START SLAVE IO_THREAD;
+--source include/wait_for_slave_io_to_start.inc
+--echo # Check that relay log coordinates are equal to those saved in new-format_relay-log.info
+--let $master_file= query_get_value(SHOW SLAVE STATUS, Relay_Master_Log_File, 1)
+--let $master_pos= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1)
+--let $relay_log_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1)
+--let $relay_log_pos= query_get_value(SHOW SLAVE STATUS, Relay_Log_Pos, 1)
+--echo $master_file= $master_file, $master_pos, $relay_log_file, $relay_log_pos
+if (`SELECT "$master_file" != "" OR
+ "$master_pos" != "0" OR
+ "$relay_log_file" != "slave-relay-bin.000001" OR
+ "$relay_log_pos" != "4"`) {
+ --echo ERROR: log coordinates changed
+ --die log coordinates changed
+}
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_read_old_relay_log_info.test b/mysql-test/suite/rpl/t/rpl_read_old_relay_log_info.test
new file mode 100644
index 00000000000..ce345445c08
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_read_old_relay_log_info.test
@@ -0,0 +1,44 @@
+# ==== Purpose ====
+#
+# - Verify that the pre-WL#344 format of relay_log.info can still be
+# parsed.
+
+--source include/master-slave.inc
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
+--sync_slave_with_master
+
+--echo ==== Check that we still understand the old format of relay-log.info ====
+--source include/stop_slave.inc
+
+RESET SLAVE;
+--let $MYSQLD_DATADIR= `select @@datadir`
+
+# the old version of relay_log.info comes in two versions: with path
+# separator '/' (most systems) and with path separator '\' (windows)
+if ($SYSTEM_PATH_SEPARATOR != /) {
+ --let $file_suffix= -win
+}
+--copy_file $MYSQL_TEST_DIR/std_data/old-format-relay-log$file_suffix.info $MYSQLD_DATADIR/relay-log.info
+
+--echo # Read relay-log.info
+START SLAVE IO_THREAD;
+--source include/wait_for_slave_io_to_start.inc
+--echo # Check that relay log coordinates are equal to those we saved in old-format_relay-log.info
+--let $master_file= query_get_value(SHOW SLAVE STATUS, Relay_Master_Log_File, 1)
+--let $master_pos= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1)
+--let $relay_log_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1)
+--let $relay_log_pos= query_get_value(SHOW SLAVE STATUS, Relay_Log_Pos, 1)
+--echo $master_file= $master_file, $master_pos, $relay_log_file, $relay_log_pos
+if (`SELECT "$master_file" != "" OR
+ "$master_pos" != "0" OR
+ "$relay_log_file" != "slave-relay-bin.000001" OR
+ "$relay_log_pos" != "4"`) {
+ --echo ERROR: log coordinates changed
+ --die log coordinates changed
+}
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_read_only.test b/mysql-test/suite/rpl/t/rpl_read_only.test
index fb92803847a..c4781bbbb3b 100644
--- a/mysql-test/suite/rpl/t/rpl_read_only.test
+++ b/mysql-test/suite/rpl/t/rpl_read_only.test
@@ -1,6 +1,6 @@
# Test case for BUG #11733
--- source include/master-slave.inc
-- source include/have_innodb.inc
+-- source include/master-slave.inc
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
diff --git a/mysql-test/suite/rpl/t/rpl_relay_space_innodb.test b/mysql-test/suite/rpl/t/rpl_relay_space_innodb.test
index ca16a583fe5..87df66bc148 100644
--- a/mysql-test/suite/rpl/t/rpl_relay_space_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_relay_space_innodb.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_sv_relay_space.test
diff --git a/mysql-test/suite/rpl/t/rpl_relay_space_myisam.test b/mysql-test/suite/rpl/t/rpl_relay_space_myisam.test
index 13719cbdc33..e022921a5bb 100644
--- a/mysql-test/suite/rpl/t/rpl_relay_space_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_relay_space_myisam.test
@@ -1,3 +1,2 @@
--- source include/not_ndb_default.inc
let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_sv_relay_space.test
diff --git a/mysql-test/suite/rpl/t/rpl_relayrotate.test b/mysql-test/suite/rpl/t/rpl_relayrotate.test
index f187fbc033f..5e3bcdcd711 100644
--- a/mysql-test/suite/rpl/t/rpl_relayrotate.test
+++ b/mysql-test/suite/rpl/t/rpl_relayrotate.test
@@ -1,15 +1 @@
-#######################################################
-# Wrapper for rpl_relayrotate.test to allow multi #
-# Engines to reuse test code. By JBM 2006-02-15 #
-# Added comments section and to skip when ndb is #
-# Default engine. #
-#######################################################
--- source include/not_ndb_default.inc
--- source include/have_innodb.inc
-# Slow test, don't run during staging part
--- source include/not_staging.inc
--- source include/master-slave.inc
-
-let $engine_type=innodb;
--- source extra/rpl_tests/rpl_relayrotate.test
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_relayrotate.inc
diff --git a/mysql-test/suite/rpl/t/rpl_replicate_do.test b/mysql-test/suite/rpl/t/rpl_replicate_do.test
index e9a7eef9676..605a00ce3d2 100644
--- a/mysql-test/suite/rpl/t/rpl_replicate_do.test
+++ b/mysql-test/suite/rpl/t/rpl_replicate_do.test
@@ -29,27 +29,6 @@ sync_slave_with_master;
# show slave status, just to see of it prints replicate-do-table
let $status_items= Replicate_Do_Table;
source include/show_slave_status.inc;
-#
-# BUG#12542
-# TEST: "SET ONE_SHOT should always be executed on slave"
-#
-# We could use any timezone different than server default in this test
-#
-connection master;
-create table t1 (ts timestamp);
-set one_shot time_zone='met';
-insert into t1 values('2005-08-12 00:00:00');
-set one_shot time_zone='met';
-select * from t1;
-sync_slave_with_master;
-
-connection slave;
-set one_shot time_zone='met';
-select * from t1;
-
-connection master;
-drop table t1;
-sync_slave_with_master;
# End of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_report_port.test b/mysql-test/suite/rpl/t/rpl_report_port.test
index 6e728a678ad..2a14d278d48 100644
--- a/mysql-test/suite/rpl/t/rpl_report_port.test
+++ b/mysql-test/suite/rpl/t/rpl_report_port.test
@@ -17,8 +17,8 @@
# case on doing SHOW SLAVE HOSTS on the master, we get the actual port number
# of the slave (ie. SLAVE_PORT).
-source include/master-slave.inc;
source include/have_binlog_format_mixed.inc;
+source include/master-slave.inc;
connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_rotate_logs.test b/mysql-test/suite/rpl/t/rpl_rotate_logs.test
index b4cfb4eb224..358c0be5b3b 100644
--- a/mysql-test/suite/rpl/t/rpl_rotate_logs.test
+++ b/mysql-test/suite/rpl/t/rpl_rotate_logs.test
@@ -95,7 +95,7 @@ set insert_id=1234;
insert into t2 values(NULL);
connection slave;
# 1062 = ER_DUP_ENTRY
-call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .1234. for key .PRIMARY.. on query.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .1234. for key .PRIMARY.. on query.* error.* 1062");
--let $slave_sql_errno= 1062
--source include/wait_for_slave_sql_error_and_skip.inc
@@ -109,6 +109,7 @@ source include/show_master_logs.inc;
# we just tests if synonyms are accepted
purge binary logs to 'master-bin.000002';
source include/show_binary_logs.inc;
+--source include/wait_for_binlog_checkpoint.inc
# Set the purge time 1 second after the last modify time of master-bin.000002.
perl;
@@ -147,8 +148,8 @@ create temporary table temp_table (a char(80) not null);
insert into temp_table values ("testing temporary tables part 2");
# the nummber of produced logs is sensitive to whether checksum is NONE or CRC32
-# the value of 91 makes it even
-let $1=91;
+# the value of 103 makes it even
+let $1=103;
create table t3 (n int);
disable_query_log;
diff --git a/mysql-test/suite/rpl/t/rpl_row_001.test b/mysql-test/suite/rpl/t/rpl_row_001.test
index 96521280afd..47b6da75dd6 100644
--- a/mysql-test/suite/rpl/t/rpl_row_001.test
+++ b/mysql-test/suite/rpl/t/rpl_row_001.test
@@ -1,8 +1,6 @@
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
########################################################
--- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
# Slow test, don't run during staging part
-- source include/not_staging.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_4_bytes-master.opt b/mysql-test/suite/rpl/t/rpl_row_4_bytes-master.opt
index 0e1929507f7..3073fa4f5d7 100644
--- a/mysql-test/suite/rpl/t/rpl_row_4_bytes-master.opt
+++ b/mysql-test/suite/rpl/t/rpl_row_4_bytes-master.opt
@@ -1 +1,2 @@
--loose-debug=d,"old_row_based_repl_4_byte_map_id_master"
+--log-bin-use-v1-row-events=1
diff --git a/mysql-test/suite/rpl/t/rpl_row_USER.test b/mysql-test/suite/rpl/t/rpl_row_USER.test
index 010e0e6ea05..31826812efa 100644
--- a/mysql-test/suite/rpl/t/rpl_row_USER.test
+++ b/mysql-test/suite/rpl/t/rpl_row_USER.test
@@ -6,12 +6,13 @@
#############################################################################
# Change Author: JBM
# Change Date: 2006-01-16
-# Change: Added Order by for NDB
##########
# Includes
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
+set global sql_mode="";
+set local sql_mode="";
# Begin clean up test section
connection master;
@@ -59,3 +60,6 @@ sync_slave_with_master;
# End of 5.0 test case
--source include/rpl_end.inc
+
+set global sql_mode=default;
+set local sql_mode=default;
diff --git a/mysql-test/suite/rpl/t/rpl_row_UUID.test b/mysql-test/suite/rpl/t/rpl_row_UUID.test
index ce3a4ed40a9..1de44af8156 100644
--- a/mysql-test/suite/rpl/t/rpl_row_UUID.test
+++ b/mysql-test/suite/rpl/t/rpl_row_UUID.test
@@ -1,8 +1,6 @@
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
########################################################
--- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=myisam;
diff --git a/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test b/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test
index 3a64dc96ae8..82929d57db5 100644
--- a/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test
+++ b/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test
@@ -4,10 +4,6 @@
let $SERVER_VERSION=`select version()`;
-#This test case is not written for NDB, the result files
-#will not match when NDB is the default engine
---source include/not_ndb_default.inc
-
--source include/master-slave.inc
# Add suppression for expected warning(s) in slaves error log
@@ -68,7 +64,7 @@ DROP TABLE t1;
--echo **** On Slave ****
connection slave;
SET GLOBAL QUERY_CACHE_SIZE=0;
-call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1.* Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1.* error.* 1032");
--echo **** On Master ****
connection master;
@@ -95,7 +91,7 @@ INSERT INTO t1 VALUES (7),(8),(9);
sync_slave_with_master;
SELECT * FROM t1;
-SET GLOBAL QUERY_CACHE_SIZE=0;
+SET GLOBAL QUERY_CACHE_SIZE=default;
--connection master
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/t/rpl_row_basic_8partition.test b/mysql-test/suite/rpl/t/rpl_row_basic_8partition.test
index 3ec79ec8cd5..4262d765148 100644
--- a/mysql-test/suite/rpl/t/rpl_row_basic_8partition.test
+++ b/mysql-test/suite/rpl/t/rpl_row_basic_8partition.test
@@ -9,15 +9,12 @@
--source include/have_binlog_format_row.inc
--source include/have_partition.inc
---source include/not_ndb_default.inc
--source include/master-slave.inc
connection master;
--disable_warnings
DROP TABLE IF EXISTS t1;
-let $maybe_ro_var = @@BINLOG_FORMAT;
-let $val4var = ROW;
---source include/safe_set_to_maybe_ro_var.inc
+SET @@BINLOG_FORMAT = ROW;
--echo **** Partition RANGE testing ****
diff --git a/mysql-test/suite/rpl/t/rpl_row_big_table_id.test b/mysql-test/suite/rpl/t/rpl_row_big_table_id.test
new file mode 100644
index 00000000000..0c6f9d5e862
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_big_table_id.test
@@ -0,0 +1,57 @@
+##################################################################
+# rpl_row_big_table_id
+#
+# MDEV-17803 Row-based event is not applied when
+# table map id is greater 32 bit int
+#
+# Verify row-based events applying when table map id value is about and greater
+# than 1 << 32.
+##################################################################
+--source include/word_size.inc
+--source include/have_debug.inc
+--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
+
+--connection master
+# To reset last table id
+--let $rpl_server_number= 1
+--source include/rpl_restart_server.inc
+
+SET @@debug_dbug="d,simulate_big_table_id";
+CREATE TABLE t (a int);
+
+--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+--let $binlog_pos= query_get_value(SHOW MASTER STATUS, Position, 1)
+INSERT INTO t SET a= 0;
+ALTER TABLE t comment '';
+INSERT INTO t SET a= 1;
+ALTER TABLE t comment '';
+INSERT INTO t SET a= 2;
+ALTER TABLE t comment '';
+INSERT INTO t SET a= 3;
+
+# display simulated big table_id
+--let $_in_from=in '$binlog_file' from $binlog_pos
+--replace_result "$_in_from" "in <file> from <pos>"
+--replace_column 2 # 5 #
+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /file_id=[0-9]+/file_id=#/ /GTID [0-9]+-[0-9]+-[0-9]+/GTID #-#-#/
+--eval show binlog events in '$binlog_file' from $binlog_pos
+
+
+--sync_slave_with_master
+
+if (`SELECT sum(a) != 6 FROM t`)
+{
+ --echo *** unexpected result; check slave applier ***
+ --die
+}
+
+
+# Cleanup
+
+--connection master
+DROP TABLE t;
+
+--sync_slave_with_master
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test b/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test
index 9c8489658f8..cc031d382e0 100644
--- a/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test
+++ b/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test
@@ -1,8 +1,8 @@
--source include/have_innodb.inc
---source include/master-slave.inc
--source include/not_embedded.inc
--source include/not_windows.inc
--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
--source extra/rpl_tests/rpl_binlog_max_cache_size.test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_blob_innodb.test b/mysql-test/suite/rpl/t/rpl_row_blob_innodb.test
index eaf86688a29..5c1c705f48d 100644
--- a/mysql-test/suite/rpl/t/rpl_row_blob_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_blob_innodb.test
@@ -3,9 +3,7 @@
#################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
########################################################
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_blob_myisam.test b/mysql-test/suite/rpl/t/rpl_row_blob_myisam.test
index 482ccb7ecc0..e83da6ba142 100644
--- a/mysql-test/suite/rpl/t/rpl_row_blob_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_row_blob_myisam.test
@@ -3,9 +3,7 @@
#################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
########################################################
--- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=myisam;
diff --git a/mysql-test/suite/rpl/t/rpl_row_colSize.test b/mysql-test/suite/rpl/t/rpl_row_colSize.test
index 0701c44edd3..21c68b55e92 100644
--- a/mysql-test/suite/rpl/t/rpl_row_colSize.test
+++ b/mysql-test/suite/rpl/t/rpl_row_colSize.test
@@ -6,8 +6,8 @@
# having columns that are smaller (shorter) than the slave. #
##################################################################
--- source include/master-slave.inc
-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
--disable_warnings
DROP TABLE IF EXISTS t1;
@@ -161,8 +161,8 @@ let $test_insert = INSERT INTO t1 VALUES ('This is a test.');
source include/test_fieldsize.inc;
connection slave;
-call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 0 ...e mismatch.* Error_code: 1535");
-call mtr.add_suppression("Slave SQL.*Column 0 of table .test.t1. cannot be converted from type.* Error_code: 1677");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 0 ...e mismatch.* error.* 1535");
+call mtr.add_suppression("Slave SQL.*Column 0 of table .test.t1. cannot be converted from type.* error.* 1677");
--echo *** Cleanup ***
connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_row_conflicts.test b/mysql-test/suite/rpl/t/rpl_row_conflicts.test
index 0f525e0f58d..24d14f90bad 100644
--- a/mysql-test/suite/rpl/t/rpl_row_conflicts.test
+++ b/mysql-test/suite/rpl/t/rpl_row_conflicts.test
@@ -8,7 +8,7 @@ source include/have_binlog_format_row.inc;
source include/master-slave.inc;
connection slave;
-call mtr.add_suppression("Slave: Can\'t find record in \'t1\' Error_code: .*");
+call mtr.add_suppression("Slave: Can\'t find record in \'t1\' error.* .*");
call mtr.add_suppression("Can't find record in 't.'");
--echo [on slave]
diff --git a/mysql-test/suite/rpl/t/rpl_row_corruption.test b/mysql-test/suite/rpl/t/rpl_row_corruption.test
index e05273a2f9c..acf3964f0c5 100644
--- a/mysql-test/suite/rpl/t/rpl_row_corruption.test
+++ b/mysql-test/suite/rpl/t/rpl_row_corruption.test
@@ -1,7 +1,7 @@
#
---source include/master-slave.inc
--source include/have_debug.inc
--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
# BUG#11753004: 44360: REPLICATION FAILED
diff --git a/mysql-test/suite/rpl/t/rpl_row_create_table.test b/mysql-test/suite/rpl/t/rpl_row_create_table.test
index ef3c0758643..03f9d6a953b 100644
--- a/mysql-test/suite/rpl/t/rpl_row_create_table.test
+++ b/mysql-test/suite/rpl/t/rpl_row_create_table.test
@@ -1,8 +1,8 @@
# Testing table creations for row-based replication.
--source include/have_binlog_format_row.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
connection slave;
--source include/have_innodb.inc
connection master;
@@ -28,7 +28,8 @@ START SLAVE;
--source include/rpl_reset.inc
connection master;
-CREATE TABLE t1 (a INT, b INT);
+CREATE TABLE t1 (a INT);
+CREATE OR REPLACE TABLE t1 (a INT, b INT);
CREATE TABLE t2 (a INT, b INT) ENGINE=Merge;
CREATE TABLE t3 (a INT, b INT) CHARSET=utf8;
CREATE TABLE t4 (a INT, b INT) ENGINE=Merge CHARSET=utf8;
diff --git a/mysql-test/suite/rpl/t/rpl_row_delayed_ins.test b/mysql-test/suite/rpl/t/rpl_row_delayed_ins.test
index db41ff09117..b898a9a120a 100644
--- a/mysql-test/suite/rpl/t/rpl_row_delayed_ins.test
+++ b/mysql-test/suite/rpl/t/rpl_row_delayed_ins.test
@@ -1,3 +1,2 @@
--- source include/not_ndb_default.inc
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_row_delayed_ins.test
diff --git a/mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test b/mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test
index 5896f6a48b0..c3aa937be6f 100644
--- a/mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test
+++ b/mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test
@@ -4,8 +4,8 @@
# are used.
###################################################################################
--source include/have_binlog_format_row.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--source extra/rpl_tests/rpl_drop_create_temp_table.test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_find_row.test b/mysql-test/suite/rpl/t/rpl_row_find_row.test
index 7f633c5aa97..444706aca7f 100644
--- a/mysql-test/suite/rpl/t/rpl_row_find_row.test
+++ b/mysql-test/suite/rpl/t/rpl_row_find_row.test
@@ -16,8 +16,8 @@
# has been fixed.
#
--- source include/master-slave.inc
-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
#
# Case #1: master has key, but slave has not.
diff --git a/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test b/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test
index 2429dbc1142..71cd4a5b9ae 100644
--- a/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test
+++ b/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test
@@ -8,10 +8,6 @@ let $rename_event_pos= `select @binlog_start_pos + 819`;
# The use of the ps protocol causes extra table maps in the binlog, so
# we disable the ps-protocol for this statement.
-# Merge tables are not supported in NDB
--- source include/not_ndb_default.inc
-
-
--disable_ps_protocol
-- source extra/rpl_tests/rpl_flsh_tbls.test
--enable_ps_protocol
diff --git a/mysql-test/suite/rpl/t/rpl_row_func003.test b/mysql-test/suite/rpl/t/rpl_row_func003.test
index a17d70e4b04..c153bc70253 100644
--- a/mysql-test/suite/rpl/t/rpl_row_func003.test
+++ b/mysql-test/suite/rpl/t/rpl_row_func003.test
@@ -3,9 +3,7 @@
###################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
########################################################
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_idempotency.test b/mysql-test/suite/rpl/t/rpl_row_idempotency.test
index 7f48d6503c1..cbc04a918dc 100644
--- a/mysql-test/suite/rpl/t/rpl_row_idempotency.test
+++ b/mysql-test/suite/rpl/t/rpl_row_idempotency.test
@@ -9,10 +9,10 @@ connection slave;
source include/have_innodb.inc;
# Add suppression for expected warning(s) in slaves error log
-call mtr.add_suppression("Can.t find record in .t[12].* Error_code: 1032");
-call mtr.add_suppression("Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
-call mtr.add_suppression("Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
-call mtr.add_suppression("Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
+call mtr.add_suppression("Can.t find record in .t[12].* error.* 1032");
+call mtr.add_suppression("Cannot delete or update a parent row: a foreign key constraint fails .* error.* 1451");
+call mtr.add_suppression("Cannot add or update a child row: a foreign key constraint fails .* error.* 1452");
+call mtr.add_suppression("Duplicate entry .1. for key .PRIMARY.* error.* 1062");
# bug#31609 Not all RBR slave errors reported as errors
# bug#31552 Replication breaks when deleting rows from out-of-sync table
diff --git a/mysql-test/suite/rpl/t/rpl_row_img.cnf b/mysql-test/suite/rpl/t/rpl_row_img.cnf
new file mode 100644
index 00000000000..ed9a4292917
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_img.cnf
@@ -0,0 +1,21 @@
+!include include/default_mysqld.cnf
+
+[mysqld.1]
+log-slave-updates
+innodb
+innodb_flush_log_at_trx_commit= 0
+
+[mysqld.2]
+log-slave-updates
+innodb
+innodb_flush_log_at_trx_commit= 0
+
+[mysqld.3]
+log-slave-updates
+innodb
+innodb_flush_log_at_trx_commit= 0
+
+[ENV]
+SERVER_MYPORT_1= @mysqld.1.port
+SERVER_MYPORT_2= @mysqld.2.port
+SERVER_MYPORT_3= @mysqld.3.port
diff --git a/mysql-test/suite/rpl/t/rpl_row_img_blobs.cnf b/mysql-test/suite/rpl/t/rpl_row_img_blobs.cnf
new file mode 100644
index 00000000000..d758d29f481
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_img_blobs.cnf
@@ -0,0 +1 @@
+!include suite/rpl/t/rpl_row_img.cnf
diff --git a/mysql-test/suite/rpl/t/rpl_row_img_blobs.test b/mysql-test/suite/rpl/t/rpl_row_img_blobs.test
new file mode 100644
index 00000000000..467202391b0
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_img_blobs.test
@@ -0,0 +1,59 @@
+#Want to skip this test from daily Valgrind execution
+--source include/no_valgrind_without_big.inc
+
+#
+# This file contains tests for WL#5096.
+#
+
+--let $rpl_topology= 1->2->3
+--source include/rpl_init.inc
+-- source include/have_binlog_format_row.inc
+
+-- connection server_1
+-- source include/have_innodb.inc
+-- connection server_2
+-- source include/have_innodb.inc
+-- connection server_3
+-- source include/have_innodb.inc
+-- connection server_1
+
+#
+# WL#5096 Tests.
+#
+
+#
+# Tests combinations of binlog-row-image against mixes of MyISAM and InnoDB
+# storage engines on all three servers.
+#
+# All the combinarions need not to be separated into their own files as
+# the tests for indexes and engines mixes are, because noblobs test script
+# does not take too long time, thence we do not risk triggering PB2 timeout
+# on valgrind runs.
+#
+
+## NOBLOB
+
+-- let $row_img_set=server_1:NOBLOB:N,server_2:NOBLOB:Y,server_3:NOBLOB:Y
+-- source include/rpl_row_img_set.inc
+
+-- let $row_img_test_script= extra/rpl_tests/rpl_row_img_blobs.test
+-- source include/rpl_row_img_general_loop.inc
+
+## MINIMAL
+
+-- let $row_img_set=server_1:MINIMAL:N,server_2:MINIMAL:Y,server_3:MINIMAL:Y
+-- source include/rpl_row_img_set.inc
+
+-- let $row_img_test_script= extra/rpl_tests/rpl_row_img_blobs.test
+-- source include/rpl_row_img_general_loop.inc
+
+## FULL
+
+-- let $row_img_set=server_1:FULL:N,server_2:FULL:Y,server_3:FULL:Y
+-- source include/rpl_row_img_set.inc
+
+-- let $row_img_test_script= extra/rpl_tests/rpl_row_img_blobs.test
+-- source include/rpl_row_img_general_loop.inc
+
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_img_eng_min.cnf b/mysql-test/suite/rpl/t/rpl_row_img_eng_min.cnf
new file mode 100644
index 00000000000..d758d29f481
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_img_eng_min.cnf
@@ -0,0 +1 @@
+!include suite/rpl/t/rpl_row_img.cnf
diff --git a/mysql-test/suite/rpl/t/rpl_row_img_eng_min.test b/mysql-test/suite/rpl/t/rpl_row_img_eng_min.test
new file mode 100644
index 00000000000..24b9655bd81
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_img_eng_min.test
@@ -0,0 +1,39 @@
+#Want to skip this test from daily Valgrind execution
+--source include/no_valgrind_without_big.inc
+#
+# This file contains tests for WL#5096 and bug fixes.
+#
+
+--let $rpl_topology= 1->2->3
+--source include/rpl_init.inc
+-- source include/have_binlog_format_row.inc
+
+-- connection server_1
+-- source include/have_innodb.inc
+-- connection server_2
+-- source include/have_innodb.inc
+-- connection server_3
+-- source include/have_innodb.inc
+-- connection server_1
+
+#
+# WL#5096
+#
+
+#
+# Tests for different storage engines on each server,
+# but same index structure on tables. The tests are conducted
+# using MINIMAL binlog-row-image on all servers.
+#
+
+-- let $row_img_set=server_1:MINIMAL:N,server_2:MINIMAL:Y,server_3:MINIMAL:Y
+-- source include/rpl_row_img_set.inc
+
+-- let $row_img_test_script= extra/rpl_tests/rpl_row_img.test
+-- source include/rpl_row_img_general_loop.inc
+
+-- let $row_img_set=server_1:FULL:N,server_2:FULL:Y,server_3:FULL:Y
+-- source include/rpl_row_img_set.inc
+
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.cnf b/mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.cnf
new file mode 100644
index 00000000000..d758d29f481
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.cnf
@@ -0,0 +1 @@
+!include suite/rpl/t/rpl_row_img.cnf
diff --git a/mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.test b/mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.test
new file mode 100644
index 00000000000..5d5f95a6552
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.test
@@ -0,0 +1,39 @@
+#Want to skip this test from daily Valgrind execution
+--source include/no_valgrind_without_big.inc
+#
+# This file contains tests for WL#5096 and bug fixes.
+#
+
+--let $rpl_topology= 1->2->3
+--source include/rpl_init.inc
+-- source include/have_binlog_format_row.inc
+
+-- connection server_1
+-- source include/have_innodb.inc
+-- connection server_2
+-- source include/have_innodb.inc
+-- connection server_3
+-- source include/have_innodb.inc
+-- connection server_1
+
+#
+# WL#5096
+#
+
+#
+# Tests for different storage engines on each server,
+# but same index structure on tables. The tests are conducted
+# using NOBLOB binlog-row-image on all servers.
+#
+
+-- let $row_img_set=server_1:NOBLOB:N,server_2:NOBLOB:Y,server_3:NOBLOB:Y
+-- source include/rpl_row_img_set.inc
+
+-- let $row_img_test_script= extra/rpl_tests/rpl_row_img.test
+-- source include/rpl_row_img_general_loop.inc
+
+-- let $row_img_set=server_1:FULL:N,server_2:FULL:Y,server_3:FULL:Y
+-- source include/rpl_row_img_set.inc
+
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test b/mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test
index cfad4fca433..6fdcd885930 100644
--- a/mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test
+++ b/mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test
@@ -1,9 +1,10 @@
################################################################################
# Check file extra/rpl_tests/rpl_implicit_commit_binlog.test
################################################################################
+--source include/have_udf.inc
--source include/have_binlog_format_row.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--let $engine=Innodb
set session storage_engine=innodb;
diff --git a/mysql-test/suite/rpl/t/rpl_row_index_choice.test b/mysql-test/suite/rpl/t/rpl_row_index_choice.test
index 6d4053f9737..0ad9b315d66 100644
--- a/mysql-test/suite/rpl/t/rpl_row_index_choice.test
+++ b/mysql-test/suite/rpl/t/rpl_row_index_choice.test
@@ -1,7 +1,7 @@
--source include/have_binlog_format_row.inc
---source include/master-slave.inc
--source include/have_debug.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
# Bug#58997: Row-based replication breaks on table with only fulltext index:
connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test b/mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test
index 22fd65ecaf3..86cf7a245b2 100644
--- a/mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test
+++ b/mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test
@@ -30,7 +30,7 @@ INSERT INTO t1 VALUES (1);
connection slave;
# slave should have stopped because can't find table t1
# 1146 = ER_NO_SUCH_TABLE
-call mtr.add_suppression("Slave SQL.*Error executing row event: .Table .test.t1. doesn.t exist., Error_code: 1146");
+call mtr.add_suppression("Slave SQL.*Error executing row event: .Table .test.t1. doesn.t exist., error.* 1146");
--let $slave_sql_errno= 1146
--source include/wait_for_slave_sql_error.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_loaddata_concurrent.test b/mysql-test/suite/rpl/t/rpl_row_loaddata_concurrent.test
index cef259687fb..af4efed872f 100644
--- a/mysql-test/suite/rpl/t/rpl_row_loaddata_concurrent.test
+++ b/mysql-test/suite/rpl/t/rpl_row_loaddata_concurrent.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_log_bin.inc
-- source include/have_binlog_format_row.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_log.test b/mysql-test/suite/rpl/t/rpl_row_log.test
index b156a4c8dd4..1d37d4327d0 100644
--- a/mysql-test/suite/rpl/t/rpl_row_log.test
+++ b/mysql-test/suite/rpl/t/rpl_row_log.test
@@ -1,15 +1,12 @@
###################################
# Wrapper for rpl_row_log.test #
# Added wrapper so that MyISAM & #
-# Innodb and NDB could all use the#
-# Same test. NDB produced a diff #
-# bin-log #
+# Innodb could all use the#
+# Same test
###################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
########################################################
--- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=MyISAM;
diff --git a/mysql-test/suite/rpl/t/rpl_row_log_innodb.test b/mysql-test/suite/rpl/t/rpl_row_log_innodb.test
index 631fb29c7bc..0eccde7ecb9 100644
--- a/mysql-test/suite/rpl/t/rpl_row_log_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_log_innodb.test
@@ -1,11 +1,9 @@
###################################
# Wrapper for rpl_row_log.test #
# Added wrapper so that MyISAM & #
-# Innodb and NDB could all use the#
-# Same test. NDB produced a diff #
-# bin-log #
+# Innodb could all use the#
+# Same test.
###################################
--- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/have_innodb.inc
-- source include/master-slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_max_relay_size.test b/mysql-test/suite/rpl/t/rpl_row_max_relay_size.test
index ea4b958ae4c..3e057d48ec9 100644
--- a/mysql-test/suite/rpl/t/rpl_row_max_relay_size.test
+++ b/mysql-test/suite/rpl/t/rpl_row_max_relay_size.test
@@ -4,7 +4,6 @@
# Test of manual relay log rotation with FLUSH LOGS.
# Requires statement logging
-source include/not_ndb_default.inc;
source include/have_binlog_format_row.inc;
source extra/rpl_tests/rpl_max_relay_size.test;
diff --git a/mysql-test/suite/rpl/t/rpl_row_merge_engine.test b/mysql-test/suite/rpl/t/rpl_row_merge_engine.test
index dcbb8b891d8..c28d4a89651 100644
--- a/mysql-test/suite/rpl/t/rpl_row_merge_engine.test
+++ b/mysql-test/suite/rpl/t/rpl_row_merge_engine.test
@@ -12,8 +12,8 @@
# deletes their contents through the merge table. Finally, the slave
# is synchronized with the master and (after the fix) it won't crash.
#
---source include/master-slave.inc
--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
--connection master
CREATE TABLE t1 (a int) ENGINE=MyISAM;
diff --git a/mysql-test/suite/rpl/t/rpl_row_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_row_mixing_engines.test
index f2e26f36fdc..cf402752812 100644
--- a/mysql-test/suite/rpl/t/rpl_row_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_row_mixing_engines.test
@@ -3,10 +3,10 @@
# tables. For further details, please, read WL#2687 and WL#5072.
###################################################################################
--source include/have_binlog_format_row.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
let $engine_type=Innodb;
+let $database_name=test;
--source extra/rpl_tests/rpl_mixing_engines.test
-
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test b/mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test
index 57d67c5c71b..b3808680db2 100644
--- a/mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test
@@ -1,6 +1,6 @@
-- source include/have_binlog_format_row.inc
--- source include/master-slave.inc
-- source include/have_innodb.inc
+-- source include/master-slave.inc
#
# BUG#52868 Wrong handling of NULL value during update, replication out of sync
diff --git a/mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test b/mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test
index f96603f69ed..0d6b08bd0c1 100644
--- a/mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test
@@ -9,7 +9,6 @@
-- echo ## coverage purposes - Field_bits
-- echo ## 1 X bit + 2 Null bits + 5 bits => last_null_bit_pos==0
-## Added here because AFAIK it's only MyISAM and NDB that use Field_bits
--source include/rpl_reset.inc
-- connection master
diff --git a/mysql-test/suite/rpl/t/rpl_row_rollback_to_savepoint.test b/mysql-test/suite/rpl/t/rpl_row_rollback_to_savepoint.test
new file mode 100644
index 00000000000..7ad756ea545
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_rollback_to_savepoint.test
@@ -0,0 +1,312 @@
+###############################################################################
+# Bug#76727: SLAVE ASSERTION IN UNPACK_ROW WITH ROLLBACK TO
+# SAVEPOINT IN ERROR HANDLER
+#
+# Problem:
+# ========
+# "SAVEPOINT", "ROLLBACK TO savepoint" wipe out table map on slave during
+# execution binary log events. For trigger the map is written to binary log once
+# for all trigger body and if trigger contains "SAVEPOINT" or
+# "ROLLBACK TO savepoint" statements any trigger's events after these
+# statements will not have table map. This results in an assert on slave.
+#
+# Test:
+# =====
+# Test case 1:
+# Create a trigger with exception handler which rolls back to a savepoint.
+# Test proves that there will not be any assert during execution of rolling
+# back to savepoint.
+#
+# Test case 2:
+# Create a trigger which calls a procedure which in turn calls an exception
+# handler which rolls back to a savepoint. Prove that it doesn't cause any
+# assertion during execution.
+#
+# Test case 3:
+# Create a simple trigger which does SAVEPOINT and ROLLBACK TO SAVEPOINT
+# and doesn't follow with any other DML statement. Prove that it doesn't cause
+# any assertion during execution.
+#
+# Test case 4:
+# Create a trigger with SAVEPOINT and follows with a DML without ROLLBACK TO
+# savepoint. Ensure that data is replicated properly.
+#
+# Test case 5:
+# Create a trigger with SAVEPOINT and it does nothing. Do few DMLs following
+# the trigger ensure that the data is replicated properly
+#
+# Test case 6:
+# Create a stored function which does SAVEPOINT and ROLLBACK TO
+# SAVEPOINT. Do few inserts following the stored function call and ensure that
+# no assert is generated on slave and all the rows are replicated to slave.
+#
+# Test case 7:
+# Create a stored function which creates a SAVEPOINT alone and follows with
+# DMLs without ROLLBACK TO savepoint. Ensure that data is replicated properly.
+#
+# Test case 8:
+# Create a stored function which has SAVEPOINT inside it and does noting. It
+# should follow with other DMLs. Ensure that data is replicated properly.
+###############################################################################
+--source include/have_binlog_format_row.inc
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+--echo #Test case 1:
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE t3 (f1 INTEGER PRIMARY KEY) ENGINE=INNODB;
+DELIMITER |;
+
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+ DECLARE EXIT HANDLER FOR SQLEXCEPTION
+ BEGIN
+ ROLLBACK TO event_logging_1;
+ INSERT t3 VALUES (1);
+ END;
+ SAVEPOINT event_logging_1;
+ INSERT INTO t2 VALUES (1);
+ RELEASE SAVEPOINT event_logging_1;
+END|
+DELIMITER ;|
+
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+
+--source include/show_binlog_events.inc
+
+--sync_slave_with_master
+
+--source include/rpl_connection_master.inc
+
+DROP TRIGGER tr1;
+DELETE FROM t1;
+DELETE FROM t2;
+DELETE FROM t3;
+
+--echo # Test case 2:
+
+DELIMITER |;
+
+CREATE PROCEDURE p1()
+BEGIN
+ DECLARE EXIT HANDLER FOR SQLEXCEPTION
+ BEGIN
+ ROLLBACK TO event_logging_2;
+ INSERT t3 VALUES (3);
+ END;
+ SAVEPOINT event_logging_2;
+ INSERT INTO t2 VALUES (1);
+ RELEASE SAVEPOINT event_logging_2;
+END|
+
+CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW CALL p1()|
+
+DELIMITER ;|
+
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 VALUES (1);
+
+--source include/show_binlog_events.inc
+
+--sync_slave_with_master
+
+--source include/rpl_connection_master.inc
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+
+DROP PROCEDURE p1;
+
+--echo # Test case 3:
+--source include/rpl_reset.inc
+--source include/rpl_connection_master.inc
+
+CREATE TABLE t (f1 int(10) unsigned NOT NULL, PRIMARY KEY (f1)) ENGINE=InnoDB;
+
+--delimiter |
+CREATE TRIGGER t_insert_trig AFTER INSERT ON t FOR EACH ROW
+BEGIN
+ SAVEPOINT savepoint_1;
+ ROLLBACK TO savepoint_1;
+END |
+--delimiter ;
+
+INSERT INTO t VALUES (2);
+INSERT INTO t VALUES (3);
+
+--source include/show_binlog_events.inc
+
+SELECT * FROM t;
+
+--source include/sync_slave_sql_with_master.inc
+
+SELECT * FROM t;
+
+--source include/rpl_connection_master.inc
+DROP TABLE t;
+
+--echo # Test case 4:
+--source include/rpl_reset.inc
+--source include/rpl_connection_master.inc
+CREATE TABLE t (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB;
+CREATE TABLE t1 (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB;
+
+--delimiter |
+CREATE TRIGGER t_insert_trig BEFORE INSERT ON t FOR EACH ROW
+BEGIN
+ SAVEPOINT savepoint_1;
+ INSERT INTO t1 VALUES (5);
+END |
+--delimiter ;
+
+INSERT INTO t VALUES (2), (3);
+INSERT INTO t1 VALUES (30);
+--source include/show_binlog_events.inc
+
+SELECT * FROM t;
+SELECT * FROM t1;
+--source include/sync_slave_sql_with_master.inc
+
+SELECT * FROM t;
+SELECT * FROM t1;
+
+--source include/rpl_connection_master.inc
+DROP TABLE t;
+DROP TABLE t1;
+
+--echo # Test case 5:
+--source include/rpl_reset.inc
+--source include/rpl_connection_master.inc
+CREATE TABLE t (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB;
+CREATE TABLE t1 (f1 int(10) unsigned NOT NULL) ENGINE=InnoDB;
+
+--delimiter |
+CREATE TRIGGER t_insert_trig BEFORE INSERT ON t
+FOR EACH ROW
+BEGIN
+
+SAVEPOINT savepoint_1;
+END |
+
+--delimiter ;
+
+INSERT INTO t VALUES (2), (3);
+INSERT INTO t1 VALUES (30);
+--source include/show_binlog_events.inc
+
+SELECT * FROM t;
+SELECT * FROM t1;
+--source include/sync_slave_sql_with_master.inc
+
+SELECT * FROM t;
+SELECT * FROM t1;
+
+--source include/rpl_connection_master.inc
+DROP TABLE t;
+DROP TABLE t1;
+
+--echo # Test case 6:
+--source include/rpl_reset.inc
+--source include/rpl_connection_master.inc
+CREATE TABLE t1 (f1 INTEGER ) ENGINE=INNODB;
+CREATE TABLE t2 (f1 INTEGER ) ENGINE=INNODB;
+
+--delimiter |
+
+CREATE FUNCTION f1() RETURNS INT
+BEGIN
+ SAVEPOINT event_logging_2;
+ INSERT INTO t1 VALUES (1);
+ ROLLBACK TO event_logging_2;
+ RETURN 0;
+END|
+
+--delimiter ;
+
+BEGIN;
+INSERT INTO t2 VALUES (1), (f1()), (2), (4);
+COMMIT;
+INSERT INTO t2 VALUES (10);
+--source include/show_binlog_events.inc
+
+--source include/rpl_connection_master.inc
+SELECT * FROM t2;
+SELECT * FROM t1;
+--source include/sync_slave_sql_with_master.inc
+SELECT * FROM t2;
+SELECT * FROM t1;
+
+--source include/rpl_connection_master.inc
+DROP TABLE t1;
+DROP TABLE t2;
+DROP FUNCTION f1;
+
+--echo # Test case 7:
+--source include/rpl_reset.inc
+--source include/rpl_connection_master.inc
+CREATE TABLE t1 (f1 INTEGER ) ENGINE=INNODB;
+CREATE TABLE t2 (f1 INTEGER ) ENGINE=INNODB;
+
+--delimiter |
+
+CREATE FUNCTION f1() RETURNS INT
+BEGIN
+ SAVEPOINT event_logging_2;
+ INSERT INTO t1 VALUES (1);
+ RETURN 0;
+END|
+
+--delimiter ;
+
+BEGIN;
+INSERT INTO t2 VALUES (1), (f1()), (2), (4);
+COMMIT;
+INSERT INTO t2 VALUES (10);
+--source include/show_binlog_events.inc
+
+--source include/rpl_connection_master.inc
+SELECT * FROM t2;
+SELECT * FROM t1;
+--source include/sync_slave_sql_with_master.inc
+SELECT * FROM t2;
+SELECT * FROM t1;
+
+--source include/rpl_connection_master.inc
+DROP TABLE t1;
+DROP TABLE t2;
+DROP FUNCTION f1;
+
+--echo # Test case 8:
+--source include/rpl_reset.inc
+--source include/rpl_connection_master.inc
+CREATE TABLE t1 (f1 INTEGER ) ENGINE=INNODB;
+
+--delimiter |
+
+CREATE FUNCTION f1() RETURNS INT
+BEGIN
+ SAVEPOINT event_logging_2;
+ RETURN 0;
+END|
+
+--delimiter ;
+
+BEGIN;
+INSERT INTO t1 VALUES (1), (f1()), (2), (4);
+COMMIT;
+INSERT INTO t1 VALUES (10);
+--source include/show_binlog_events.inc
+
+--source include/rpl_connection_master.inc
+SELECT * FROM t1;
+--source include/sync_slave_sql_with_master.inc
+SELECT * FROM t1;
+
+--source include/rpl_connection_master.inc
+DROP TABLE t1;
+DROP FUNCTION f1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test b/mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test
index a78f7ad4271..0882d603203 100644
--- a/mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test
+++ b/mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test
@@ -12,8 +12,8 @@
# This test issues SHOW [BINLOG|RELAYLOG] EVENTS both on master and slave after
# some statements have been issued.
--- source include/master-slave.inc
-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
-- source extra/rpl_tests/rpl_show_relaylog_events.inc
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test b/mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test
index aec421407c9..c863c9c02e1 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_sp002.test
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp003.test b/mysql-test/suite/rpl/t/rpl_row_sp003.test
index b5d62f60199..f1cad89b58e 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp003.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp003.test
@@ -3,9 +3,7 @@
#################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
########################################################
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
# Slow test, don't run during staging part
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp005.test b/mysql-test/suite/rpl/t/rpl_row_sp005.test
index bbe4ce47f9e..89bc0ca4df0 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp005.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp005.test
@@ -6,8 +6,6 @@
# Test: Tests SPs with cursors, flow logic, and alter sp. In addition the #
# tests SPs with insert and update operations. #
#############################################################################
-# 2006-02-08 By JBM added ORDER BY for use with NDB engine
-#############################################################################
# Includes
-- source include/have_binlog_format_row.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test b/mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test
index df3952bead1..f8ff2b2ca8e 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test
@@ -3,9 +3,7 @@
#################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
########################################################
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test b/mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test
index fcac31df780..e2003092d10 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_sp007.test
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp009.test b/mysql-test/suite/rpl/t/rpl_row_sp009.test
index 6e7226593a1..83d743b8e07 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp009.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp009.test
@@ -5,8 +5,6 @@
#############################################################################
#TEST: Taken and modfied from http://bugs.mysql.com/bug.php?id=12168 #
#############################################################################
-# 2006-02-08 By JBM : Added order by for ndb engine use
-#############################################################################
# Includes
-- source include/have_binlog_format_row.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp012.test b/mysql-test/suite/rpl/t/rpl_row_sp012.test
index 23bc92b51cf..80d312f1878 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp012.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp012.test
@@ -23,6 +23,7 @@ DROP PROCEDURE IF EXISTS test.p3;
# Begin test section 1
# Create user user1 with no particular access rights
+create user user1@localhost;
grant usage on *.* to user1@localhost;
flush privileges;
@@ -34,6 +35,7 @@ CREATE PROCEDURE test.p3 () SQL SECURITY INVOKER CALL test.p1();
GRANT EXECUTE ON PROCEDURE p1 TO user1@localhost;
GRANT EXECUTE ON PROCEDURE p2 TO user1@localhost;
GRANT EXECUTE ON PROCEDURE p3 TO user1@localhost;
+set sql_mode=default;
# Need to wait for the rights to be applied at the slave
sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test b/mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test
index e8ac74f0125..5bdd1ff8b6b 100644
--- a/mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test
+++ b/mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test
@@ -26,9 +26,9 @@
# with mysqlbinlog reporting that it was unable to succeed in
# reading the event.
--- source include/master-slave.inc
-- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
-- disable_warnings
DROP TABLE IF EXISTS `t1`;
diff --git a/mysql-test/suite/rpl/t/rpl_row_to_stmt-master.opt b/mysql-test/suite/rpl/t/rpl_row_to_stmt-master.opt
new file mode 100644
index 00000000000..83ed8522e72
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_to_stmt-master.opt
@@ -0,0 +1 @@
+--binlog-format=row
diff --git a/mysql-test/suite/rpl/t/rpl_row_to_stmt-slave.opt b/mysql-test/suite/rpl/t/rpl_row_to_stmt-slave.opt
new file mode 100644
index 00000000000..af3a211967b
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_to_stmt-slave.opt
@@ -0,0 +1 @@
+--binlog-format=statement
diff --git a/mysql-test/suite/rpl/t/rpl_row_to_stmt.test b/mysql-test/suite/rpl/t/rpl_row_to_stmt.test
new file mode 100644
index 00000000000..5ca583d881f
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_to_stmt.test
@@ -0,0 +1,23 @@
+#
+# check that master starterd with log-format=ROW replication can replicate to
+# slave started with log-format=STATEMENT
+#
+
+--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
+
+use test;
+
+create table t1 (a int primary key);
+insert into t1 values (1),(2),(3),(4),(5);
+update t1 set a=a*10;
+
+sync_slave_with_master;
+use test;
+select * from t1;
+source include/show_binlog_events.inc;
+
+connection master;
+drop table t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_trig004.test b/mysql-test/suite/rpl/t/rpl_row_trig004.test
index fa5f973c355..e10e0d51039 100644
--- a/mysql-test/suite/rpl/t/rpl_row_trig004.test
+++ b/mysql-test/suite/rpl/t/rpl_row_trig004.test
@@ -4,12 +4,8 @@
#############################################################################
# TEST: Use before insert triggers and has the second insert fail #
#############################################################################
-# Change by JBM 2006-02-14 added to skip when NDB default engine #
-# This test has been wrapped to allow multipal engines to use same code #
-#############################################################################
# Includes
--- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/have_innodb.inc
-- source include/master-slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_triggers.test b/mysql-test/suite/rpl/t/rpl_row_triggers.test
new file mode 100644
index 00000000000..173ddebba12
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_triggers.test
@@ -0,0 +1,329 @@
+-- source include/have_binlog_format_row.inc
+-- source include/have_rbr_triggers.inc
+-- source include/have_innodb.inc
+-- source include/master-slave.inc
+
+-- echo # Test of row replication with triggers on the slave side
+
+connection master;
+CREATE TABLE t1 (C1 CHAR(1) primary key, C2 CHAR(1)) engine=innodb;
+SELECT * FROM t1;
+
+sync_slave_with_master;
+
+connection slave;
+SET @old_slave_exec_mode= @@global.slave_exec_mode;
+SET @old_slave_run_triggers_for_rbr= @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_exec_mode= IDEMPOTENT;
+SET @@global.slave_run_triggers_for_rbr= YES;
+SELECT * FROM t1;
+create table t2 (id char(2) primary key, cnt int, o char(1), n char(1));
+insert into t2 values
+ ('u0', 0, ' ', ' '),('u1', 0, ' ', ' '),
+ ('d0', 0, ' ', ' '),('d1', 0, ' ', ' '),
+ ('i0', 0, ' ', ' '),('i1', 0, ' ', ' ');
+create trigger t1_cnt_b before update on t1 for each row
+ update t2 set cnt=cnt+1, o=old.C1, n=new.C1 where id = 'u0';
+create trigger t1_cnt_db before delete on t1 for each row
+ update t2 set cnt=cnt+1, o=old.C1, n=' ' where id = 'd0';
+create trigger t1_cnt_ib before insert on t1 for each row
+ update t2 set cnt=cnt+1, n=new.C1, o=' ' where id = 'i0';
+create trigger t1_cnt_a after update on t1 for each row
+ update t2 set cnt=cnt+1, o=old.C1, n=new.C1 where id = 'u1';
+create trigger t1_cnt_da after delete on t1 for each row
+ update t2 set cnt=cnt+1, o=old.C1, n=' ' where id = 'd1';
+create trigger t1_cnt_ia after insert on t1 for each row
+ update t2 set cnt=cnt+1, n=new.C1, o=' ' where id = 'i1';
+SELECT * FROM t2 order by id;
+
+connection master;
+--echo # INSERT triggers test
+insert into t1 values ('a','b');
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+connection master;
+
+--echo # UPDATE triggers test
+update t1 set C1= 'd';
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+connection master;
+--echo # DELETE triggers test
+delete from t1 where C1='d';
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+--echo # INSERT triggers causing DELETE + INSERT (on unique key conflict)
+insert into t1 values ('0','1');
+
+SELECT * FROM t2 order by id;
+
+connection master;
+
+insert into t1 values ('0','1');
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+
+--echo # INSERT triggers which cause also DELETE test
+--echo # (insert duplicate row in table referenced by foreign key)
+insert into t1 values ('1','1');
+
+connection master;
+
+CREATE TABLE t3 (C1 CHAR(1) primary key, FOREIGN KEY (C1) REFERENCES t1(C1) ) engine=innodb;
+
+insert into t1 values ('1','1');
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+connection master;
+
+drop table t3,t1;
+
+sync_slave_with_master;
+
+connection slave;
+SET @@global.slave_exec_mode= @old_slave_exec_mode;
+SET @@global.slave_run_triggers_for_rbr= @old_slave_run_triggers_for_rbr;
+drop table t2;
+
+--connection master
+
+CREATE TABLE t1 (i INT) ENGINE=InnoDB;
+CREATE TABLE t2 (i INT) ENGINE=InnoDB;
+
+--sync_slave_with_master
+
+SET @old_slave_run_triggers_for_rbr= @@global.slave_run_triggers_for_rbr;
+SET GLOBAL slave_run_triggers_for_rbr=YES;
+
+CREATE TRIGGER tr AFTER INSERT ON t1 FOR EACH ROW
+ INSERT INTO t2 VALUES (new.i);
+
+--connection master
+
+BEGIN;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (2);
+COMMIT;
+
+--sync_slave_with_master
+select * from t2;
+SET @@global.slave_run_triggers_for_rbr= @old_slave_run_triggers_for_rbr;
+
+--connection master
+drop tables t2,t1;
+
+--sync_slave_with_master
+
+-- echo # Triggers on slave do not work if master has some
+
+connection master;
+CREATE TABLE t1 (C1 CHAR(1) primary key, C2 CHAR(1)) engine=innodb;
+SELECT * FROM t1;
+
+create trigger t1_dummy before delete on t1 for each row
+ set @dummy= 1;
+
+sync_slave_with_master;
+
+connection slave;
+SET @old_slave_exec_mode= @@global.slave_exec_mode;
+SET @old_slave_run_triggers_for_rbr= @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_exec_mode= IDEMPOTENT;
+SET @@global.slave_run_triggers_for_rbr= YES;
+SELECT * FROM t1;
+create table t2 (id char(2) primary key, cnt int, o char(1), n char(1));
+insert into t2 values
+ ('u0', 0, ' ', ' '),('u1', 0, ' ', ' '),
+ ('d0', 0, ' ', ' '),('d1', 0, ' ', ' '),
+ ('i0', 0, ' ', ' '),('i1', 0, ' ', ' ');
+create trigger t1_cnt_b before update on t1 for each row
+ update t2 set cnt=cnt+1, o=old.C1, n=new.C1 where id = 'u0';
+create trigger t1_cnt_ib before insert on t1 for each row
+ update t2 set cnt=cnt+1, n=new.C1, o=' ' where id = 'i0';
+create trigger t1_cnt_a after update on t1 for each row
+ update t2 set cnt=cnt+1, o=old.C1, n=new.C1 where id = 'u1';
+create trigger t1_cnt_da after delete on t1 for each row
+ update t2 set cnt=cnt+1, o=old.C1, n=' ' where id = 'd1';
+create trigger t1_cnt_ia after insert on t1 for each row
+ update t2 set cnt=cnt+1, n=new.C1, o=' ' where id = 'i1';
+SELECT * FROM t2 order by id;
+
+connection master;
+--echo # INSERT triggers test
+insert into t1 values ('a','b');
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+connection master;
+
+--echo # UPDATE triggers test
+update t1 set C1= 'd';
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+connection master;
+--echo # DELETE triggers test
+delete from t1 where C1='d';
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+--echo # INSERT triggers which cause also UPDATE test (insert duplicate row)
+insert into t1 values ('0','1');
+
+SELECT * FROM t2 order by id;
+
+connection master;
+
+insert into t1 values ('0','1');
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+
+--echo # INSERT triggers which cause also DELETE test
+--echo # (insert duplicate row in table referenced by foreign key)
+insert into t1 values ('1','1');
+
+connection master;
+
+CREATE TABLE t3 (C1 CHAR(1) primary key, FOREIGN KEY (C1) REFERENCES t1(C1) ) engine=innodb;
+
+insert into t1 values ('1','1');
+
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM t2 order by id;
+
+connection master;
+
+drop table t3,t1;
+
+sync_slave_with_master;
+
+connection slave;
+SET @@global.slave_exec_mode= @old_slave_exec_mode;
+SET @@global.slave_run_triggers_for_rbr= @old_slave_run_triggers_for_rbr;
+drop table t2;
+
+--echo #
+--echo # MDEV-5513: Trigger is applied to the rows after first one
+--echo #
+
+--connection master
+
+create table t1 (a int, b int);
+create table tlog (a int);
+
+set sql_log_bin=0;
+create trigger tr1 after insert on t1 for each row insert into tlog values (1);
+set sql_log_bin=1;
+
+sync_slave_with_master;
+--connection slave
+
+set @slave_run_triggers_for_rbr.saved = @@slave_run_triggers_for_rbr;
+set global slave_run_triggers_for_rbr=1;
+create trigger tr2 before insert on t1 for each row set new.b = new.a;
+
+--connection master
+
+insert into t1 values (1,10),(2,20),(3,30);
+
+--sync_slave_with_master
+
+select * from t1;
+
+# Cleanup
+
+set global slave_run_triggers_for_rbr = @slave_run_triggers_for_rbr.saved;
+
+--connection master
+
+drop table t1, tlog;
+
+sync_slave_with_master;
+
+
+--echo #
+--echo # MDEV-8411 Assertion `is_stat_field || !table || (!table->write_set ||
+--echo # bitmap_is_set(table->write_set, field_index) ||
+--echo # bitmap_is_set(table->vcol_set, field_index))'
+--echo # failed in Field_timestamp::store_TIME_with_warning
+--echo #
+--enable_connect_log
+--echo #
+--echo # Create table on master, replicate it on slave.
+--echo #
+--connection master
+set @binlog_row_image.saved = @@binlog_row_image;
+set binlog_row_image = MINIMAL;
+create table t1 (pk int primary key, f int);
+
+--sync_slave_with_master
+--echo #
+--echo # Create a trigger on the slave.
+--echo #
+create trigger tr before update on t1 for each row set new.f = 1000;
+set @old_slave_run_triggers_for_rbr = @@global.slave_run_triggers_for_rbr;
+set global slave_run_triggers_for_rbr = YES;
+
+--connection master
+--echo #
+--echo # Update the table to have the trigger fire on the slave.,
+--echo #
+insert into t1 values (1,1),(2,2);
+update t1 set pk=pk+10;
+select * from t1;
+
+--sync_slave_with_master
+--echo #
+--echo # Check to see if slave has the table updated.
+--echo #
+select * from t1;
+
+--echo #
+--echo # Cleanup
+--echo #
+
+set global slave_run_triggers_for_rbr = @old_slave_run_triggers_for_rbr;
+
+--connection master
+set binlog_row_image = @binlog_row_image.saved;
+drop table t1;
+
+--sync_slave_with_master
+--disable_connect_log
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_trunc_temp.test b/mysql-test/suite/rpl/t/rpl_row_trunc_temp.test
index 394bf949f72..a8d7f77d930 100644
--- a/mysql-test/suite/rpl/t/rpl_row_trunc_temp.test
+++ b/mysql-test/suite/rpl/t/rpl_row_trunc_temp.test
@@ -6,8 +6,8 @@
# table was binlogged in RBR.
#
---source include/master-slave.inc
--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
#This statement is not binlogged in RBR.
CREATE TEMPORARY TABLE t1(c1 INTEGER);
diff --git a/mysql-test/suite/rpl/t/rpl_row_until.test b/mysql-test/suite/rpl/t/rpl_row_until.test
index 6b8f6183cc7..8a5d743a238 100644
--- a/mysql-test/suite/rpl/t/rpl_row_until.test
+++ b/mysql-test/suite/rpl/t/rpl_row_until.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
@@ -19,8 +18,8 @@ let $master_pos_drop_t1= query_get_value(SHOW MASTER STATUS, Position, 1);
DROP TABLE t1;
# Save master log position for query DROP TABLE t1
save_master_pos;
-let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 7);
-let $master_log_file= query_get_value(SHOW BINLOG EVENTS, Log_name, 7);
+let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 10);
+let $master_log_file= query_get_value(SHOW BINLOG EVENTS, Log_name, 10);
# Save master log position for query CREATE TABLE t2
let $master_pos_create_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
@@ -40,17 +39,14 @@ sync_slave_with_master;
--source include/stop_slave.inc
# Reset slave.
RESET SLAVE;
---disable_query_log
+--replace_result $MASTER_MYPORT MASTER_MYPORT
eval CHANGE MASTER TO MASTER_USER='root', MASTER_CONNECT_RETRY=1, MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT;
---enable_query_log
# Try to replicate all queries until drop of t1
connection slave;
-echo START SLAVE UNTIL MASTER_LOG_FILE='$master_log_file', MASTER_LOG_POS=master_pos_drop_t1;
---disable_query_log
+--replace_result $master_pos_drop_t1 master_pos_drop_t1
eval START SLAVE UNTIL MASTER_LOG_FILE='$master_log_file', MASTER_LOG_POS=$master_pos_drop_t1;
---enable_query_log
--source include/wait_for_slave_sql_to_stop.inc
# Here table should be still not deleted
@@ -60,7 +56,6 @@ SELECT * FROM t1;
--source include/check_slave_param.inc
# This should fail right after start
---replace_result 291 MASTER_LOG_POS
START SLAVE UNTIL MASTER_LOG_FILE='master-no-such-bin.000001', MASTER_LOG_POS=291;
--source include/wait_for_slave_sql_to_stop.inc
# again this table should be still not deleted
@@ -78,10 +73,8 @@ sync_slave_with_master;
--source include/stop_slave.inc
# This should stop immediately as we are already there
-echo START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='$master_log_file', MASTER_LOG_POS=master_pos_create_t2;
---disable_query_log
+--replace_result $master_pos_create_t2 master_pos_create_t2
eval START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='$master_log_file', MASTER_LOG_POS=$master_pos_create_t2;
---enable_query_log
let $slave_param= Until_Log_Pos;
let $slave_param_value= $master_pos_create_t2;
--source include/wait_for_slave_param.inc
@@ -141,9 +134,8 @@ INSERT INTO t1 VALUES (3);
--let $relay_log_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File,1)
--source include/get_relay_log_pos.inc
---disable_query_log
+--replace_result $relay_log_pos relay_log_pos
--eval start slave until relay_log_file='$relay_log_file', relay_log_pos=$relay_log_pos
---enable_query_log
--source include/wait_for_slave_sql_to_stop.inc
--let $assert_cond= COUNT(*) = 2 FROM t1
diff --git a/mysql-test/suite/rpl/t/rpl_row_utf16.test b/mysql-test/suite/rpl/t/rpl_row_utf16.test
index e3e7a51c002..595a149e5e6 100644
--- a/mysql-test/suite/rpl/t/rpl_row_utf16.test
+++ b/mysql-test/suite/rpl/t/rpl_row_utf16.test
@@ -1,6 +1,6 @@
--- source include/master-slave.inc
-- source include/have_binlog_format_row.inc
-- source include/have_utf16.inc
+-- source include/master-slave.inc
#
# BUG#51716: Char column with utf16 character set gives wrong padding on slave
diff --git a/mysql-test/suite/rpl/t/rpl_row_view01.test b/mysql-test/suite/rpl/t/rpl_row_view01.test
index cc60ab9912c..449196aefd5 100644
--- a/mysql-test/suite/rpl/t/rpl_row_view01.test
+++ b/mysql-test/suite/rpl/t/rpl_row_view01.test
@@ -5,8 +5,6 @@
#############################################################################
#TEST: row based replication of views #
#############################################################################
-# 2006-02-08 By JBM added order by and sleep for use with ndb engine
-#############################################################################
# Includes
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
@@ -23,7 +21,6 @@ DROP TABLE IF EXISTS mysqltest1.t3;
DROP TABLE IF EXISTS mysqltest1.t1;
DROP TABLE IF EXISTS mysqltest1.t2;
DROP TABLE IF EXISTS mysqltest1.t4;
-DROP TABLE IF EXISTS mysqltest1.t10;
# Begin test section 1
CREATE TABLE mysqltest1.t1 (a INT, c CHAR(6),PRIMARY KEY(a));
@@ -45,15 +42,6 @@ CREATE VIEW mysqltest1.v4 AS SELECT * FROM mysqltest1.v3 WHERE a > 1 WITH LOCAL
SELECT * FROM mysqltest1.v2;
SELECT * FROM mysqltest1.v1;
-
-# Had to add a waiting for use with NDB
-# engine. Injector thread would have not
-# populated binlog and data would not be on
-# the slave.
-
-CREATE TABLE mysqltest1.t10 (a INT, PRIMARY KEY(a));
-let $wait_binlog_event= CREATE TABLE mysqltest1.t10;
--- source include/wait_for_binlog_event.inc
--sync_slave_with_master
SELECT * FROM mysqltest1.v2;
@@ -89,7 +77,6 @@ DROP TABLE IF EXISTS mysqltest1.t3;
DROP TABLE IF EXISTS mysqltest1.t1;
DROP TABLE IF EXISTS mysqltest1.t2;
DROP TABLE IF EXISTS mysqltest1.t4;
-DROP TABLE IF EXISTS mysqltest1.t10;
DROP DATABASE mysqltest1;
sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_row_wide_table.test b/mysql-test/suite/rpl/t/rpl_row_wide_table.test
index b1d16133096..01473f991bf 100644
--- a/mysql-test/suite/rpl/t/rpl_row_wide_table.test
+++ b/mysql-test/suite/rpl/t/rpl_row_wide_table.test
@@ -8,8 +8,8 @@
# in corrupt binlog
##################################################################
--- source include/master-slave.inc
-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
--disable_warnings
DROP TABLE IF EXISTS t300;
diff --git a/mysql-test/suite/rpl/t/rpl_savepoint.test b/mysql-test/suite/rpl/t/rpl_savepoint.test
index 2aacd1fa81e..a61c506f12f 100644
--- a/mysql-test/suite/rpl/t/rpl_savepoint.test
+++ b/mysql-test/suite/rpl/t/rpl_savepoint.test
@@ -1,5 +1,5 @@
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--echo #
--echo # Bug#50124 Rpl failure on DROP table with concurrent txn/non-txn
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync.test b/mysql-test/suite/rpl/t/rpl_semi_sync.test
index 091bbc38a15..d5f80619aeb 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync.test
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync.test
@@ -1,619 +1 @@
-source include/have_semisync_plugin.inc;
-source include/not_embedded.inc;
-source include/have_innodb.inc;
-source include/master-slave.inc;
-
-let $engine_type= InnoDB;
-#let $engine_type= MyISAM;
-
-# Suppress warnings that might be generated during the test
-disable_query_log;
-connection master;
-call mtr.add_suppression("Timeout waiting for reply of binlog");
-call mtr.add_suppression("Read semi-sync reply");
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.");
-connection slave;
-call mtr.add_suppression("Master server does not support semi-sync");
-call mtr.add_suppression("Semi-sync slave .* reply");
-call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
-enable_query_log;
-connection master;
-
-# wait for dying connections (if any) to disappear
-let $wait_condition= select count(*) = 0 from information_schema.processlist where command='killed';
---source include/wait_condition.inc
-
-# After fix of BUG#45848, semi-sync slave should not create any extra
-# connections on master, save the count of connections before start
-# semi-sync slave for comparison below.
-let $_connections_normal_slave= query_get_value(SHOW STATUS LIKE 'Threads_connected', Value, 1);
-
---echo #
---echo # Uninstall semi-sync plugins on master and slave
---echo #
-connection slave;
-disable_query_log;
-source include/stop_slave.inc;
-reset slave;
-disable_warnings;
-error 0,1305;
-UNINSTALL PLUGIN rpl_semi_sync_slave;
-error 0,1305;
-UNINSTALL PLUGIN rpl_semi_sync_master;
-enable_warnings;
-
-connection master;
-reset master;
-set sql_log_bin=0;
-disable_warnings;
-error 0,1305;
-UNINSTALL PLUGIN rpl_semi_sync_slave;
-error 0,1305;
-UNINSTALL PLUGIN rpl_semi_sync_master;
-enable_warnings;
-set sql_log_bin=1;
-enable_query_log;
-
---echo #
---echo # Main test of semi-sync replication start here
---echo #
-
-connection master;
-echo [ on master ];
-
-disable_query_log;
-let $value = query_get_value(show variables like 'rpl_semi_sync_master_enabled', Value, 1);
-if ($value == No such row)
-{
- set sql_log_bin=0;
- eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
- set global rpl_semi_sync_master_timeout= 60000; /* 60s */
- set sql_log_bin=1;
-}
-enable_query_log;
-
-echo [ default state of semi-sync on master should be OFF ];
-show variables like 'rpl_semi_sync_master_enabled';
-
-echo [ enable semi-sync on master ];
-set global rpl_semi_sync_master_enabled = 1;
-show variables like 'rpl_semi_sync_master_enabled';
-
-echo [ status of semi-sync on master should be ON even without any semi-sync slaves ];
-show status like 'Rpl_semi_sync_master_clients';
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
---echo #
---echo # BUG#45672 Semisync repl: ActiveTranx:insert_tranx_node: transaction node allocation failed
---echo # BUG#45673 Semisynch reports correct operation even if no slave is connected
---echo #
-
-# BUG#45672 When semi-sync is enabled on master, it would allocate
-# transaction node even without semi-sync slave connected, and would
-# finally result in transaction node allocation error.
-#
-# Semi-sync master will pre-allocate 'max_connections' transaction
-# nodes, so here we do more than that much transactions to check if it
-# will fail or not.
-# select @@global.max_connections + 1;
-let $i= `select @@global.max_connections + 1`;
-disable_query_log;
-eval create table t1 (a int) engine=$engine_type;
-while ($i)
-{
- eval insert into t1 values ($i);
- dec $i;
-}
-drop table t1;
-enable_query_log;
-
-# BUG#45673
-echo [ status of semi-sync on master should be OFF ];
-show status like 'Rpl_semi_sync_master_clients';
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
-disable_query_log;
-# reset master to make sure the following test will start with a clean environment
-reset master;
-enable_query_log;
-
---echo #
---echo # INSTALL PLUGIN semi-sync on slave
---echo #
-
-connection slave;
-echo [ on slave ];
-
-disable_query_log;
-let $value= query_get_value(show variables like 'rpl_semi_sync_slave_enabled', Value, 1);
-if ($value == No such row)
-{
- set sql_log_bin=0;
- eval INSTALL PLUGIN rpl_semi_sync_slave SONAME '$SEMISYNC_SLAVE_SO';
- set sql_log_bin=1;
-}
-enable_query_log;
-
-echo [ default state of semi-sync on slave should be OFF ];
-show variables like 'rpl_semi_sync_slave_enabled';
-
-echo [ enable semi-sync on slave ];
-set global rpl_semi_sync_slave_enabled = 1;
-show variables like 'rpl_semi_sync_slave_enabled';
-source include/start_slave.inc;
-
-connection master;
-echo [ on master ];
-
-# NOTE: Rpl_semi_sync_master_client will only be updated when
-# semi-sync slave has started binlog dump request
-let $status_var= Rpl_semi_sync_master_clients;
-let $status_var_value= 1;
-source include/wait_for_status_var.inc;
-
-echo [ initial master state after the semi-sync slave connected ];
-show status like 'Rpl_semi_sync_master_clients';
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
-replace_result $engine_type ENGINE_TYPE;
-eval create table t1(a int) engine = $engine_type;
-
-echo [ master state after CREATE TABLE statement ];
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
-# After fix of BUG#45848, semi-sync slave should not create any extra
-# connections on master.
-let $_connections_semisync_slave= query_get_value(SHOW STATUS LIKE 'Threads_connected', Value, 1);
-replace_result $_connections_normal_slave CONNECTIONS_NORMAL_SLAVE $_connections_semisync_slave CONNECTIONS_SEMISYNC_SLAVE;
-eval select $_connections_semisync_slave - $_connections_normal_slave as 'Should be 0';
-
-let $i=10;
-echo [ insert records to table ];
-disable_query_log;
-while ($i)
-{
- eval insert into t1 values ($i);
- dec $i;
-}
-enable_query_log;
-
-echo [ master status after inserts ];
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
-sync_slave_with_master;
-echo [ on slave ];
-
-echo [ slave status after replicated inserts ];
-show status like 'Rpl_semi_sync_slave_status';
-
-select count(distinct a) from t1;
-select min(a) from t1;
-select max(a) from t1;
-
---echo
---echo # BUG#50157
---echo # semi-sync replication crashes when replicating a transaction which
---echo # include 'CREATE TEMPORARY TABLE `MyISAM_t` SELECT * FROM `Innodb_t` ;
-
-connection master;
-echo [ on master ];
-SET SESSION AUTOCOMMIT= 0;
-CREATE TABLE t2(c1 INT) ENGINE=innodb;
-sync_slave_with_master;
-
-connection master;
-BEGIN;
---echo
---echo # Even though it is in a transaction, this statement is binlogged into binlog
---echo # file immediately.
---disable_warnings
-CREATE TEMPORARY TABLE t3 SELECT c1 FROM t2 where 1=1;
---enable_warnings
---echo
---echo # These statements will not be binlogged until the transaction is committed
-INSERT INTO t2 VALUES(11);
-INSERT INTO t2 VALUES(22);
-COMMIT;
-
-DROP TABLE t2, t3;
-SET SESSION AUTOCOMMIT= 1;
-sync_slave_with_master;
-
-
---echo #
---echo # Test semi-sync master will switch OFF after one transaction
---echo # timeout waiting for slave reply.
---echo #
-connection slave;
-source include/stop_slave.inc;
-
-connection master;
-echo [ on master ];
-set global rpl_semi_sync_master_timeout= 5000;
-
-# The first semi-sync check should be on because after slave stop,
-# there are no transactions on the master.
-echo [ master status should be ON ];
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-show status like 'Rpl_semi_sync_master_clients';
-
-echo [ semi-sync replication of these transactions will fail ];
-insert into t1 values (500);
-
-# Wait for the semi-sync replication of this transaction to timeout
-let $status_var= Rpl_semi_sync_master_status;
-let $status_var_value= OFF;
-source include/wait_for_status_var.inc;
-
-# The second semi-sync check should be off because one transaction
-# times out during waiting.
-echo [ master status should be OFF ];
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
-# Semi-sync status on master is now OFF, so all these transactions
-# will be replicated asynchronously.
-let $i=10;
-disable_query_log;
-while ($i)
-{
- eval delete from t1 where a=$i;
- dec $i;
-}
-enable_query_log;
-
-insert into t1 values (100);
-
-echo [ master status should be OFF ];
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
---echo #
---echo # Test semi-sync status on master will be ON again when slave catches up
---echo #
-
-# Save the master position for later use.
-save_master_pos;
-
-connection slave;
-echo [ on slave ];
-
-echo [ slave status should be OFF ];
-show status like 'Rpl_semi_sync_slave_status';
-source include/start_slave.inc;
-sync_with_master;
-
-echo [ slave status should be ON ];
-show status like 'Rpl_semi_sync_slave_status';
-
-select count(distinct a) from t1;
-select min(a) from t1;
-select max(a) from t1;
-
-connection master;
-echo [ on master ];
-
-# The master semi-sync status should be on again after slave catches up.
-echo [ master status should be ON again after slave catches up ];
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-show status like 'Rpl_semi_sync_master_clients';
-
---echo #
---echo # Test disable/enable master semi-sync on the fly.
---echo #
-
-drop table t1;
-sync_slave_with_master;
-echo [ on slave ];
-
-source include/stop_slave.inc;
-
---echo #
---echo # Flush status
---echo #
-connection master;
-echo [ Semi-sync master status variables before FLUSH STATUS ];
-SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
-SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
-# Do not write the FLUSH STATUS to binlog, to make sure we'll get a
-# clean status after this.
-FLUSH NO_WRITE_TO_BINLOG STATUS;
-echo [ Semi-sync master status variables after FLUSH STATUS ];
-SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
-SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
-
-connection master;
-echo [ on master ];
-
-source include/show_master_logs.inc;
-show variables like 'rpl_semi_sync_master_enabled';
-
-echo [ disable semi-sync on the fly ];
-set global rpl_semi_sync_master_enabled=0;
-show variables like 'rpl_semi_sync_master_enabled';
-show status like 'Rpl_semi_sync_master_status';
-
-echo [ enable semi-sync on the fly ];
-set global rpl_semi_sync_master_enabled=1;
-show variables like 'rpl_semi_sync_master_enabled';
-show status like 'Rpl_semi_sync_master_status';
-
---echo #
---echo # Test RESET MASTER/SLAVE
---echo #
-
-connection slave;
-echo [ on slave ];
-
-source include/start_slave.inc;
-
-connection master;
-echo [ on master ];
-
-replace_result $engine_type ENGINE_TYPE;
-eval create table t1 (a int) engine = $engine_type;
-drop table t1;
-
-##show status like 'Rpl_semi_sync_master_status';
-
-sync_slave_with_master;
---replace_column 2 #
-show status like 'Rpl_relay%';
-
-echo [ test reset master ];
-connection master;
-echo [ on master];
-
-reset master;
-
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
-connection slave;
-echo [ on slave ];
-
-source include/stop_slave.inc;
-reset slave;
-
-# Kill the dump thread on master for previous slave connection and
-# wait for it to exit
-connection master;
-let $_tid= `select id from information_schema.processlist where command = 'Binlog Dump' limit 1`;
-if ($_tid)
-{
- disable_query_log;
- eval kill query $_tid;
- enable_query_log;
-
- # After dump thread exit, Rpl_semi_sync_master_clients will be 0
- let $status_var= Rpl_semi_sync_master_clients;
- let $status_var_value= 0;
- source include/wait_for_status_var.inc;
-}
-
-connection slave;
-source include/start_slave.inc;
-
-connection master;
-echo [ on master ];
-
-# Wait for dump thread to start, Rpl_semi_sync_master_clients will be
-# 1 after dump thread started.
-let $status_var= Rpl_semi_sync_master_clients;
-let $status_var_value= 1;
-source include/wait_for_status_var.inc;
-
-replace_result $engine_type ENGINE_TYPE;
-eval create table t1 (a int) engine = $engine_type;
-insert into t1 values (1);
-insert into t1 values (2), (3);
-
-sync_slave_with_master;
-echo [ on slave ];
-
-select * from t1;
-
-connection master;
-echo [ on master ];
-
-echo [ master semi-sync status should be ON ];
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
---echo #
---echo # Start semi-sync replication without SUPER privilege
---echo #
-connection slave;
-source include/stop_slave.inc;
-reset slave;
-connection master;
-echo [ on master ];
-reset master;
-
-# Kill the dump thread on master for previous slave connection and wait for it to exit
-let $_tid= `select id from information_schema.processlist where command = 'Binlog Dump' limit 1`;
-if ($_tid)
-{
- disable_query_log;
- eval kill query $_tid;
- enable_query_log;
-
- # After dump thread exit, Rpl_semi_sync_master_clients will be 0
- let $status_var= Rpl_semi_sync_master_clients;
- let $status_var_value= 0;
- source include/wait_for_status_var.inc;
-}
-
-# Do not binlog the following statement because it will generate
-# different events for ROW and STATEMENT format
-set sql_log_bin=0;
-grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
-flush privileges;
-set sql_log_bin=1;
-connection slave;
-echo [ on slave ];
-grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
-flush privileges;
-change master to master_user='rpl',master_password='rpl_password';
-source include/start_slave.inc;
-show status like 'Rpl_semi_sync_slave_status';
-connection master;
-echo [ on master ];
-
-# Wait for the semi-sync binlog dump thread to start
-let $status_var= Rpl_semi_sync_master_clients;
-let $status_var_value= 1;
-source include/wait_for_status_var.inc;
-echo [ master semi-sync should be ON ];
-show status like 'Rpl_semi_sync_master_clients';
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-insert into t1 values (4);
-insert into t1 values (5);
-echo [ master semi-sync should be ON ];
-show status like 'Rpl_semi_sync_master_clients';
-show status like 'Rpl_semi_sync_master_status';
-show status like 'Rpl_semi_sync_master_no_tx';
-show status like 'Rpl_semi_sync_master_yes_tx';
-
---echo #
---echo # Test semi-sync slave connect to non-semi-sync master
---echo #
-
-# Disable semi-sync on master
-connection slave;
-echo [ on slave ];
-source include/stop_slave.inc;
-SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
-
-connection master;
-echo [ on master ];
-
-# Kill the dump thread on master for previous slave connection and wait for it to exit
-let $_tid= `select id from information_schema.processlist where command = 'Binlog Dump' limit 1`;
-if ($_tid)
-{
- disable_query_log;
- eval kill query $_tid;
- enable_query_log;
-
- # After dump thread exit, Rpl_semi_sync_master_clients will be 0
- let $status_var= Rpl_semi_sync_master_clients;
- let $status_var_value= 0;
- source include/wait_for_status_var.inc;
-}
-
-echo [ Semi-sync status on master should be ON ];
-show status like 'Rpl_semi_sync_master_clients';
-show status like 'Rpl_semi_sync_master_status';
-set global rpl_semi_sync_master_enabled= 0;
-
-connection slave;
-echo [ on slave ];
-SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
-source include/start_slave.inc;
-connection master;
-echo [ on master ];
-insert into t1 values (8);
-let $status_var= Rpl_semi_sync_master_clients;
-let $status_var_value= 1;
-source include/wait_for_status_var.inc;
-echo [ master semi-sync clients should be 1, status should be OFF ];
-show status like 'Rpl_semi_sync_master_clients';
-show status like 'Rpl_semi_sync_master_status';
-sync_slave_with_master;
-echo [ on slave ];
-show status like 'Rpl_semi_sync_slave_status';
-
-# Uninstall semi-sync plugin on master
-connection slave;
-source include/stop_slave.inc;
-connection master;
-echo [ on master ];
-set sql_log_bin=0;
---source include/stop_dump_threads.inc
-UNINSTALL PLUGIN rpl_semi_sync_master;
-set sql_log_bin=1;
-enable_query_log;
-SHOW VARIABLES LIKE 'rpl_semi_sync_master_enabled';
-
-connection slave;
-echo [ on slave ];
-SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
-source include/start_slave.inc;
-
-connection master;
-echo [ on master ];
-insert into t1 values (10);
-sync_slave_with_master;
-echo [ on slave ];
-SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
-
---echo #
---echo # Test non-semi-sync slave connect to semi-sync master
---echo #
-
-connection master;
-set sql_log_bin=0;
-replace_result $SEMISYNC_MASTER_SO SEMISYNC_MASTER_SO;
-eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
-set global rpl_semi_sync_master_timeout= 5000; /* 5s */
-set sql_log_bin=1;
-set global rpl_semi_sync_master_enabled= 1;
-
-connection slave;
-echo [ on slave ];
-source include/stop_slave.inc;
-SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
-
-echo [ uninstall semi-sync slave plugin ];
-UNINSTALL PLUGIN rpl_semi_sync_slave;
-SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
-source include/start_slave.inc;
-SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
-source include/stop_slave.inc;
-
-echo [ reinstall semi-sync slave plugin and disable semi-sync ];
-replace_result $SEMISYNC_SLAVE_SO SEMISYNC_SLAVE_SO;
-eval INSTALL PLUGIN rpl_semi_sync_slave SONAME '$SEMISYNC_SLAVE_SO';
-set global rpl_semi_sync_slave_enabled= 0;
-SHOW VARIABLES LIKE 'rpl_semi_sync_slave_enabled';
-SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
-source include/start_slave.inc;
-SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
-
---echo #
---echo # Clean up
---echo #
---source include/uninstall_semisync.inc
-
-connection slave;
-source include/stop_slave.inc;
-change master to master_user='root',master_password='';
-source include/start_slave.inc;
-
-connection master;
-drop table t1;
-sync_slave_with_master;
-
-connection master;
-drop user rpl@127.0.0.1;
-flush privileges;
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_semi_sync.inc
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_after_sync.test b/mysql-test/suite/rpl/t/rpl_semi_sync_after_sync.test
new file mode 100644
index 00000000000..2d91d2e4118
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_after_sync.test
@@ -0,0 +1,4 @@
+--source include/have_binlog_format_statement.inc
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+source rpl_semi_sync.test;
+set global rpl_semi_sync_master_wait_point=default;
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_after_sync_row.test b/mysql-test/suite/rpl/t/rpl_semi_sync_after_sync_row.test
new file mode 100644
index 00000000000..47af6c34fcf
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_after_sync_row.test
@@ -0,0 +1,4 @@
+--source include/have_binlog_format_row.inc
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+source rpl_semi_sync.test;
+set global rpl_semi_sync_master_wait_point=default;
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_event.test b/mysql-test/suite/rpl/t/rpl_semi_sync_event.test
index b4a9a9e6e59..b8f3c8130be 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_event.test
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_event.test
@@ -1,12 +1,11 @@
-source include/have_semisync_plugin.inc;
+source include/have_semisync.inc;
source include/not_embedded.inc;
-source include/master-slave.inc;
source include/have_innodb.inc;
+source include/master-slave.inc;
let $engine_type= InnoDB;
# Suppress warnings that might be generated during the test
-disable_query_log;
connection master;
call mtr.add_suppression("Timeout waiting for reply of binlog");
call mtr.add_suppression("Semi-sync master .* waiting for slave reply");
@@ -16,33 +15,13 @@ connection slave;
call mtr.add_suppression("Master server does not support semi-sync");
call mtr.add_suppression("Semi-sync slave .* reply");
call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
-enable_query_log;
connection master;
-disable_query_log;
-let $value = query_get_value(show variables like 'rpl_semi_sync_master_enabled', Value, 1);
-if ($value == No such row)
-{
- set sql_log_bin=0;
- eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
- SET GLOBAL rpl_semi_sync_master_enabled = 1;
- set sql_log_bin=1;
-}
-enable_query_log;
+set global rpl_semi_sync_master_enabled = 1;
connection slave;
source include/stop_slave.inc;
-
-disable_query_log;
-let $value= query_get_value(show variables like 'rpl_semi_sync_slave_enabled', Value, 1);
-if ($value == No such row)
-{
- set sql_log_bin=0;
- eval INSTALL PLUGIN rpl_semi_sync_slave SONAME '$SEMISYNC_SLAVE_SO';
- SET GLOBAL rpl_semi_sync_slave_enabled = 1;
- set sql_log_bin=1;
-}
-enable_query_log;
+set global rpl_semi_sync_slave_enabled = 1;
source include/start_slave.inc;
@@ -93,18 +72,16 @@ while ($run)
#
connection slave;
source include/stop_slave.inc;
-
-disable_warnings;
-UNINSTALL PLUGIN rpl_semi_sync_slave;
+set global rpl_semi_sync_slave_enabled = 0;
connection master;
-UNINSTALL PLUGIN rpl_semi_sync_master;
-enable_warnings;
+set global rpl_semi_sync_master_enabled = 0;
connection slave;
source include/start_slave.inc;
connection master;
+
DROP EVENT ev1;
DROP EVENT ev2;
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_event_after_sync-master.opt b/mysql-test/suite/rpl/t/rpl_semi_sync_event_after_sync-master.opt
new file mode 100644
index 00000000000..4cfb5d53923
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_event_after_sync-master.opt
@@ -0,0 +1 @@
+--max-connections=40
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_event_after_sync.test b/mysql-test/suite/rpl/t/rpl_semi_sync_event_after_sync.test
new file mode 100644
index 00000000000..527900fd949
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_event_after_sync.test
@@ -0,0 +1,3 @@
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+source rpl_semi_sync_event.test;
+set global rpl_semi_sync_master_wait_point=default;
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_skip_repl.test b/mysql-test/suite/rpl/t/rpl_semi_sync_skip_repl.test
new file mode 100644
index 00000000000..2f6da18067c
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_skip_repl.test
@@ -0,0 +1,62 @@
+# MDEV-14721 Big transaction events get lost on semisync master when
+# replicate_events_marked_for_skip=FILTER_ON_MASTER
+#
+# When events of a big transaction are binlogged offsetting over 2GB from
+# the beginning of the log the semisync master's dump thread
+# lost such events.
+# The test verifies the fixes' correctness simulating the 2GB offset.
+
+source include/have_semisync.inc;
+source include/not_embedded.inc;
+source include/have_innodb.inc;
+source include/have_debug.inc;
+source include/master-slave.inc;
+
+--connection master
+# Suppress warnings that might be generated during the test
+call mtr.add_suppression("Timeout waiting for reply of binlog");
+
+--let $sav_enabled_master=`SELECT @@GLOBAL.rpl_semi_sync_master_enabled `
+--let $sav_timeout_master=`SELECT @@GLOBAL.rpl_semi_sync_master_timeout `
+SET @@GLOBAL.rpl_semi_sync_master_enabled = 1;
+SET @@GLOBAL.rpl_semi_sync_master_timeout=100;
+
+--connection slave
+source include/stop_slave.inc;
+--let $sav_skip_marked_slave=`SELECT @@GLOBAL.replicate_events_marked_for_skip `
+SET @@GLOBAL.replicate_events_marked_for_skip=FILTER_ON_MASTER;
+--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
+CREATE TABLE t1 (a INT) ENGINE=innodb;
+
+# Make the following events as if they offset over 2GB from the beginning of binlog
+SET @@GLOBAL.debug_dbug= "d,dbug_master_binlog_over_2GB";
+SET @@SESSION.skip_replication=1;
+INSERT INTO t1 SET a=1;
+SET @@SESSION.skip_replication=0;
+INSERT INTO t1 SET a=0;
+
+--sync_slave_with_master
+
+#
+# Clean up
+#
+--connection master
+SET @@GLOBAL.debug_dbug="";
+--eval SET @@GLOBAL. rpl_semi_sync_master_timeout = $sav_timeout_master
+--eval SET @@GLOBAL. rpl_semi_sync_master_enabled = $sav_enabled_master
+
+--connection master
+DROP TABLE t1;
+
+--sync_slave_with_master
+source include/stop_slave.inc;
+--eval SET @@GLOBAL. rpl_semi_sync_slave_enabled = $sav_enabled_slave
+--eval SET @@GLOBAL.replicate_events_marked_for_skip = $sav_skip_marked_slave
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test b/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test
index 60636da35dd..0f86789cced 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test
@@ -16,6 +16,9 @@
--source include/have_binlog_format_statement.inc
--source include/master-slave.inc
+call mtr.add_suppression("Read semi-sync reply network error");
+call mtr.add_suppression("Timeout waiting for reply of binlog");
+
###############################################################################
# Case 1: Uninstallation of semi sync plugins should be allowed when it is
# not in use i.e., when asynchronous replication is active.
@@ -54,6 +57,8 @@ DROP TABLE t1;
# possible at this state
--connection slave
--echo [connection slave]
+show global status like "Slave%_running";
+
UNINSTALL PLUGIN rpl_semi_sync_slave;
select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%';
@@ -61,6 +66,10 @@ select plugin_name,plugin_status from information_schema.plugins where plugin_na
# possible at this state
--connection master
--echo [connection master]
+
+# The following is to catch errors if the next uninstall plugin would succeed
+show global status like "Slave%_connect%";
+
UNINSTALL PLUGIN rpl_semi_sync_master;
select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%';
@@ -105,21 +114,26 @@ select plugin_name,plugin_status from information_schema.plugins where plugin_na
# Step 4.2: Disable semi sync on slave.
select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%';
+--connection master
+--echo [connection master]
+# Send something to the slave so that the master would notice that nobody's listening.
+create table t2 (a int); drop table t2;
+# and wait for plugin to be unloaded automatically
+let $wait_condition=select count(*) = 0 from information_schema.plugins where plugin_name like 'rpl_%';
+--source include/wait_condition.inc
+
+--connection slave
+--echo [connection slave]
+
# Step 4.3: Start IO thread on slave.
--source include/start_slave.inc
# Step 4.4: Uninstall semi sync plugin, it should be successful now.
select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%';
-# Step 4.5: On Master, check that semi sync slaves are now '0'.
+# Step 4.7: Check that replication is working fine at the end of the test case
--connection master
--echo [connection master]
-show status like "Rpl_semi_sync_master_clients";
-
-# Step 4.6: So uninstalling semi sync plugin should be allowed
-select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%';
-
-# Step 4.7: Check that replication is working fine at the end of the test case
CREATE TABLE t1(i int);
INSERT INTO t1 values (3);
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_wait_point.opt b/mysql-test/suite/rpl/t/rpl_semi_sync_wait_point.opt
new file mode 100644
index 00000000000..e49ae455124
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_wait_point.opt
@@ -0,0 +1 @@
+--log_bin
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_wait_point.test b/mysql-test/suite/rpl/t/rpl_semi_sync_wait_point.test
new file mode 100644
index 00000000000..6e4dc456a27
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_wait_point.test
@@ -0,0 +1,254 @@
+source include/have_semisync.inc;
+source include/not_embedded.inc;
+source include/have_innodb.inc;
+
+#
+# This test the rpl_semi_sync_master_wait_point functionality
+# and illustrates the differences between the two values AFTER_COMMIT and
+# AFTER_SYNC
+#
+
+--echo #
+--echo # Preparation
+--echo #
+
+CREATE TABLE t1 (i INT NOT NULL, PRIMARY KEY (i)) ENGINE=InnoDB;
+RESET MASTER;
+
+let $save_timeout = `select @@global.rpl_semi_sync_master_timeout`;
+let $save_wait_no_slave = `select @@global.rpl_semi_sync_master_wait_no_slave`;
+let $save_wait_point = `select @@global.rpl_semi_sync_master_wait_point`;
+
+SET @@global.rpl_semi_sync_master_timeout = 60000;
+SET @@global.rpl_semi_sync_master_wait_no_slave = 1;
+
+--echo # It's okay to see "Killed" but we should not see "Timeout" in the log.
+call mtr.add_suppression("Killed waiting for reply of binlog");
+call mtr.add_suppression("Run function 'after_commit' in plugin 'rpl_semi_sync_master' failed");
+call mtr.add_suppression("Run function 'after_sync' in plugin 'rpl_semi_sync_master' failed");
+
+--echo #
+--echo # Test wait point = AFTER_COMMIT
+--echo #
+SET @@global.rpl_semi_sync_master_wait_point = AFTER_COMMIT;
+
+--echo # Make another connection to INSERT from.
+connect (other,localhost,root,,);
+connection other;
+let $other_connection_id = `SELECT CONNECTION_ID()`;
+
+connection default;
+
+--disable_query_log
+eval SET @other_connection_id = $other_connection_id;
+--enable_query_log
+
+SET GLOBAL rpl_semi_sync_master_enabled = 1;
+
+--echo # Go ahead and send the INSERT; it should block.
+connection other;
+send INSERT INTO t1 (i) VALUES (1);
+
+connection default;
+
+let $wait_condition =
+ SELECT COUNT(*) > 0 AS should_be_true
+ FROM information_schema.processlist
+ WHERE id = @other_connection_id
+ AND state = "Waiting for semi-sync ACK from slave";
+--source include/wait_condition.inc
+
+--echo # The INSERT thread should now be waiting.
+SELECT state AS should_be_waiting
+FROM information_schema.processlist WHERE id = @other_connection_id;
+
+--echo # The insert should be visible to other threads
+SELECT * FROM t1 ORDER BY 1;
+
+--echo # Kill the waiting thread; it should die immediately.
+KILL @other_connection_id;
+
+--echo # Collect the error from the INSERT thread; it should be disconnected.
+connection other;
+--error 2013,ER_CONNECTION_KILLED
+reap;
+
+connection default;
+
+--echo # Wait for INSERT thread to actually disappear (KILL closes connection
+--echo # before thread actually finishes its processing).
+let $wait_condition =
+ SELECT COUNT(*) = 0 AS should_be_true
+ FROM information_schema.processlist
+ WHERE id = @other_connection_id;
+--source include/wait_condition.inc
+
+--echo # The INSERT thread should now be gone.
+SELECT state AS should_be_empty_set
+FROM information_schema.processlist WHERE id = @other_connection_id;
+
+--echo # The insert is still there
+SELECT * FROM t1 ORDER BY 1;
+
+connection default;
+disconnect other;
+
+--echo # Make another connection to INSERT from.
+connect (other,localhost,root,,);
+connection other;
+let $other_connection_id = `SELECT CONNECTION_ID()`;
+connection default;
+--disable_query_log
+eval SET @other_connection_id = $other_connection_id;
+--enable_query_log
+
+--echo # Go ahead and send the INSERT; it should block.
+connection other;
+send INSERT INTO t1 (i) VALUES (2);
+
+connection default;
+
+let $wait_condition =
+ SELECT COUNT(*) > 0 AS should_be_true
+ FROM information_schema.processlist
+ WHERE id = @other_connection_id
+ AND state = "Waiting for semi-sync ACK from slave";
+--source include/wait_condition.inc
+
+--echo # The INSERT thread should now be waiting.
+SELECT state AS should_be_waiting
+FROM information_schema.processlist WHERE id = @other_connection_id;
+
+--echo # The insert should be visible to other threads
+SELECT * FROM t1 ORDER BY 1;
+
+--echo # Now restart server
+--source include/restart_mysqld.inc
+--echo # Done restarting server
+
+--echo # Reset setting that were lost in restart
+SET @@global.rpl_semi_sync_master_timeout = 60000;
+SET @@global.rpl_semi_sync_master_wait_no_slave = 1;
+
+--echo # Check that row is still there
+SELECT * FROM t1 ORDER BY 1;
+
+disconnect other;
+
+--echo #
+--echo # Test wait point = AFTER_SYNC
+--echo #
+SET @@global.rpl_semi_sync_master_wait_point = AFTER_SYNC;
+
+--echo # Make another connection to INSERT from.
+connect (other,localhost,root,,);
+connection other;
+let $other_connection_id = `SELECT CONNECTION_ID()`;
+
+connection default;
+
+--disable_query_log
+eval SET @other_connection_id = $other_connection_id;
+--enable_query_log
+
+SET GLOBAL rpl_semi_sync_master_enabled = 1;
+
+--echo # Go ahead and send the INSERT; it should block.
+connection other;
+send INSERT INTO t1 (i) VALUES (3);
+
+connection default;
+
+let $wait_condition =
+ SELECT COUNT(*) > 0 AS should_be_true
+ FROM information_schema.processlist
+ WHERE id = @other_connection_id
+ AND state = "Waiting for semi-sync ACK from slave";
+--source include/wait_condition.inc
+
+--echo # The INSERT thread should now be waiting.
+SELECT state AS should_be_waiting
+FROM information_schema.processlist WHERE id = @other_connection_id;
+
+--echo # The insert should NOT be visible to other threads
+SELECT * FROM t1 ORDER BY 1;
+
+--echo # Kill the waiting thread; it should die immediately.
+KILL @other_connection_id;
+
+--echo # Collect the error from the INSERT thread; it should be disconnected.
+connection other;
+--error 2013,ER_CONNECTION_KILLED
+reap;
+
+connection default;
+
+--echo # Wait for INSERT thread to actually disappear (KILL closes connection
+--echo # before thread actually finishes its processing).
+let $wait_condition =
+ SELECT COUNT(*) = 0 AS should_be_true
+ FROM information_schema.processlist
+ WHERE id = @other_connection_id;
+--source include/wait_condition.inc
+
+--echo # The INSERT thread should now be gone.
+SELECT state AS should_be_empty_set
+FROM information_schema.processlist WHERE id = @other_connection_id;
+
+--echo # The row inserted is there
+SELECT * FROM t1 ORDER BY 1;
+
+connection default;
+disconnect other;
+
+--echo # Make another connection to INSERT from.
+connect (other,localhost,root,,);
+connection other;
+let $other_connection_id = `SELECT CONNECTION_ID()`;
+connection default;
+--disable_query_log
+eval SET @other_connection_id = $other_connection_id;
+--enable_query_log
+
+--echo # Go ahead and send the INSERT; it should block.
+connection other;
+send INSERT INTO t1 (i) VALUES (4);
+
+connection default;
+
+let $wait_condition =
+ SELECT COUNT(*) > 0 AS should_be_true
+ FROM information_schema.processlist
+ WHERE id = @other_connection_id
+ AND state = "Waiting for semi-sync ACK from slave";
+--source include/wait_condition.inc
+
+--echo # The INSERT thread should now be waiting.
+SELECT state AS should_be_waiting
+FROM information_schema.processlist WHERE id = @other_connection_id;
+
+--echo # The insert should NOT be visible to other threads
+SELECT * FROM t1 ORDER BY 1;
+
+--echo # Now restart server
+--source include/restart_mysqld.inc
+--echo # Done restarting server
+
+--echo # Reset setting that were lost in restart
+SET @@global.rpl_semi_sync_master_timeout = 60000;
+SET @@global.rpl_semi_sync_master_wait_no_slave = 1;
+
+--echo # But the row inserted is there
+SELECT * FROM t1 ORDER BY 1;
+
+disconnect other;
+
+--echo #
+--echo # Cleanup
+--echo #
+SET GLOBAL rpl_semi_sync_master_enabled = 0;
+DROP TABLE t1;
+
+eval SET @@global.rpl_semi_sync_master_timeout = $save_timeout;
+eval SET @@global.rpl_semi_sync_master_wait_no_slave = $save_wait_no_slave;
+eval SET @@global.rpl_semi_sync_master_wait_point = $save_wait_point;
diff --git a/mysql-test/suite/rpl/t/rpl_server_id2.test b/mysql-test/suite/rpl/t/rpl_server_id2.test
index 21e197866cf..6a8493ca278 100644
--- a/mysql-test/suite/rpl/t/rpl_server_id2.test
+++ b/mysql-test/suite/rpl/t/rpl_server_id2.test
@@ -33,13 +33,13 @@ drop table t1;
connection master;
reset master;
-# setting the until position to correspond to the first following create table
-# which will make the event executed and the slave sql thread stopped
-# right after that.
-let $until_pos= query_get_value(SHOW MASTER STATUS, Position, 1);
-inc $until_pos;
+# setting the until position to correspond to the last position of
+# create table which will make the event executed and the slave sql
+# thread stopped right after that.
create table t1(n int);
+let $until_pos= query_get_value(SHOW MASTER STATUS, Position, 1);
+dec $until_pos;
create table t2(n int);
connection slave;
diff --git a/mysql-test/suite/rpl/t/rpl_server_id_ignore.test b/mysql-test/suite/rpl/t/rpl_server_id_ignore.test
index 1e6d46c9d40..537978f1701 100644
--- a/mysql-test/suite/rpl/t/rpl_server_id_ignore.test
+++ b/mysql-test/suite/rpl/t/rpl_server_id_ignore.test
@@ -17,8 +17,8 @@
# b. nullifying the list and resuming of taking binlog from the very beginning with
# executing events this time
-source include/master-slave.inc;
source include/have_binlog_format_mixed.inc;
+source include/master-slave.inc;
connection slave;
diff --git a/mysql-test/suite/rpl/t/rpl_set_null_innodb.test b/mysql-test/suite/rpl/t/rpl_set_null_innodb.test
index 2d0c34e1d0a..5ef10263498 100644
--- a/mysql-test/suite/rpl/t/rpl_set_null_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_set_null_innodb.test
@@ -1,6 +1,6 @@
-- source include/have_binlog_format_mixed_or_row.inc
--- source include/master-slave.inc
-- source include/have_innodb.inc
+-- source include/master-slave.inc
-- let $engine= InnoDB
-- source extra/rpl_tests/rpl_set_null.test
diff --git a/mysql-test/suite/rpl/t/rpl_set_statement.test b/mysql-test/suite/rpl/t/rpl_set_statement.test
new file mode 100644
index 00000000000..5bc54e44e34
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_set_statement.test
@@ -0,0 +1,61 @@
+--source include/master-slave.inc
+--source include/have_binlog_format_statement.inc
+set sql_mode="";
+connection slave;
+set sql_mode="";
+connection master;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+--enable_warnings
+
+call mtr.add_suppression("Unsafe statement written to the binary log*");
+CREATE TABLE t1 (a bigint unsigned not null);
+CREATE TABLE t2 (a char(255) not null);
+
+--echo
+--echo There are the following types of variables:
+--echo 1) variables that are NOT replicated correctly when using STATEMENT mode;
+--echo
+
+--let $rpl_ssvt_var_name=max_join_size
+--let $rpl_ssvt_var_value=2
+--let $rpl_ssvt_table=t1
+--source suite/rpl/include/rpl_set_statement.inc
+
+--echo
+--echo 2) variables thar ARE replicated correctly
+--echo They must be replicated correctly with "SET STATEMENT" too.
+--echo
+--let $rpl_ssvt_var_name=auto_increment_increment
+--let $rpl_ssvt_var_value=10
+--let $rpl_ssvt_table=t1
+--source suite/rpl/include/rpl_set_statement.inc
+
+--echo
+--echo 3) sql_mode which is replicated correctly exept NO_DIR_IN_CREATE value;
+--echo
+--let $rpl_ssvt_var_name=sql_mode
+--let $rpl_ssvt_var_value='ERROR_FOR_DIVISION_BY_ZERO'
+--let $rpl_ssvt_table=t2
+--source suite/rpl/include/rpl_set_statement.inc
+--let $rpl_ssvt_var_name=sql_mode
+--let $rpl_ssvt_var_value='NO_DIR_IN_CREATE'
+--let $rpl_ssvt_table=t2
+--source suite/rpl/include/rpl_set_statement.inc
+
+--echo
+--echo 4) variables that are not replicated at all:
+--echo default_storage_engine, storage_engine, max_heap_table_size
+--echo
+--let $rpl_ssvt_var_name=max_heap_table_size
+--let $rpl_ssvt_var_value=16384
+--let $rpl_ssvt_table=t1
+--source suite/rpl/include/rpl_set_statement.inc
+
+connection master;
+DROP TABLE t1;
+DROP TABLE t2;
+sync_slave_with_master;
+source include/stop_slave.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_set_statement_default_master.test b/mysql-test/suite/rpl/t/rpl_set_statement_default_master.test
new file mode 100644
index 00000000000..106cb4547f4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_set_statement_default_master.test
@@ -0,0 +1,34 @@
+--source include/master-slave.inc
+
+--connection slave
+
+--source include/stop_slave.inc
+RESET SLAVE ALL;
+
+--echo # Does not work for CHANGE MASTER:
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+eval SET STATEMENT default_master_connection = 'm1' FOR
+ CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root';
+
+
+--echo #
+--echo # The first field, Connection_name, should say 'm1'...
+--echo #
+--let $status_items= Connection_name
+--source include/show_all_slaves_status.inc
+#query_vertical SHOW ALL SLAVES STATUS;
+
+
+RESET SLAVE ALL;
+
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+eval CHANGE MASTER 'm1' TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root';
+SET STATEMENT default_master_connection = 'm1' FOR START SLAVE;
+
+set default_master_connection = 'm1';
+stop slave;
+--source include/wait_for_slave_to_stop.inc
+reset slave all;
+set default_master_connection = '';
+--disconnect slave
+--connection default
diff --git a/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt b/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt
index a8f5deaa30b..208da1fa722 100644
--- a/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt
+++ b/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt
@@ -1 +1 @@
---slave-skip-error=1062
+--slave-skip-errors=1062
diff --git a/mysql-test/suite/rpl/t/rpl_skip_error.test b/mysql-test/suite/rpl/t/rpl_skip_error.test
index 82d6e61a2cd..6cf3113daf5 100644
--- a/mysql-test/suite/rpl/t/rpl_skip_error.test
+++ b/mysql-test/suite/rpl/t/rpl_skip_error.test
@@ -23,8 +23,8 @@
# bug in this test: BUG#30594: rpl.rpl_skip_error is nondeterministic:
# BUG#39393: slave-skip-errors does not work when using ROW based replication
-source include/master-slave.inc;
source include/have_innodb.inc;
+source include/master-slave.inc;
--echo ==== Test Without sql_mode=strict_trans_tables ====
@@ -102,7 +102,7 @@ SET SQL_LOG_BIN=1;
connection slave;
-call mtr.add_suppression("Slave SQL.*Could not execute .*te_rows event on table test.t.; Duplicate entry.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Could not execute .*te_rows event on table test.t.; Duplicate entry.* error.* 1062");
CREATE TABLE t1(id INT NOT NULL PRIMARY KEY, data INT) Engine=InnoDB;
SHOW CREATE TABLE t1;
@@ -140,6 +140,7 @@ connection slave;
CREATE TABLE t2(id INT NOT NULL PRIMARY KEY, data INT) Engine=MyIsam;
SHOW CREATE TABLE t2;
+show global status like 'slave_skipped_errors';
connection master;
@@ -157,6 +158,7 @@ sync_slave_with_master;
let $error= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1);
echo $error;
+show global status like 'slave_skipped_errors';
--echo **** We cannot execute a select as there are differences in the
--echo **** behavior between STMT and RBR.
diff --git a/mysql-test/suite/rpl/t/rpl_incident-master.opt b/mysql-test/suite/rpl/t/rpl_skip_incident-master.opt
index 912801debc4..912801debc4 100644
--- a/mysql-test/suite/rpl/t/rpl_incident-master.opt
+++ b/mysql-test/suite/rpl/t/rpl_skip_incident-master.opt
diff --git a/mysql-test/suite/rpl/t/rpl_skip_incident-slave.opt b/mysql-test/suite/rpl/t/rpl_skip_incident-slave.opt
new file mode 100644
index 00000000000..a223f2e04a4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_skip_incident-slave.opt
@@ -0,0 +1 @@
+--slave-skip-errors=1590
diff --git a/mysql-test/suite/rpl/t/rpl_skip_incident.test b/mysql-test/suite/rpl/t/rpl_skip_incident.test
new file mode 100644
index 00000000000..50e466b1329
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_skip_incident.test
@@ -0,0 +1,28 @@
+--source include/have_debug.inc
+--source include/master-slave.inc
+
+--echo **** On Master ****
+CREATE TABLE t1 (a INT);
+
+INSERT INTO t1 VALUES (1),(2),(3);
+SELECT * FROM t1;
+
+# This will generate an incident log event and store it in the binary
+# log before the replace statement.
+REPLACE INTO t1 VALUES (4);
+
+--sync_slave_with_master
+
+# Now, we should have inserted the row into the table and the slave
+# should be running. We should also have rotated to a new binary log.
+
+SELECT * FROM t1;
+source include/check_slave_is_running.inc;
+
+connection master;
+
+--echo Should have two binary logs here
+--source include/show_binary_logs.inc
+DROP TABLE t1;
+--sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_skip_replication.test b/mysql-test/suite/rpl/t/rpl_skip_replication.test
index f815554d4af..c57256780a4 100644
--- a/mysql-test/suite/rpl/t/rpl_skip_replication.test
+++ b/mysql-test/suite/rpl/t/rpl_skip_replication.test
@@ -1,377 +1 @@
---source include/master-slave.inc
---source include/have_innodb.inc
-
-connection slave;
-# Test that SUPER is required to change @@replicate_events_marked_for_skip.
-CREATE USER 'nonsuperuser'@'127.0.0.1';
-GRANT ALTER,CREATE,DELETE,DROP,EVENT,INSERT,PROCESS,REPLICATION SLAVE,
- SELECT,UPDATE ON *.* TO 'nonsuperuser'@'127.0.0.1';
-connect(nonpriv, 127.0.0.1, nonsuperuser,, test, $SLAVE_MYPORT,);
-connection nonpriv;
---error ER_SPECIFIC_ACCESS_DENIED_ERROR
-SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
-disconnect nonpriv;
-connection slave;
-DROP USER'nonsuperuser'@'127.0.0.1';
-
-SELECT @@global.replicate_events_marked_for_skip;
---error ER_SLAVE_MUST_STOP
-SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
-SELECT @@global.replicate_events_marked_for_skip;
-STOP SLAVE;
---error ER_GLOBAL_VARIABLE
-SET SESSION replicate_events_marked_for_skip=FILTER_ON_MASTER;
-SELECT @@global.replicate_events_marked_for_skip;
-SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
-SELECT @@global.replicate_events_marked_for_skip;
-START SLAVE;
-
-connection master;
-SELECT @@skip_replication;
---error ER_LOCAL_VARIABLE
-SET GLOBAL skip_replication=1;
-SELECT @@skip_replication;
-
-CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=myisam;
-CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=innodb;
-INSERT INTO t1(a) VALUES (1);
-INSERT INTO t2(a) VALUES (1);
-
-
-# Test that master-side filtering works.
-SET skip_replication=1;
-
-CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=myisam;
-INSERT INTO t1(a) VALUES (2);
-INSERT INTO t2(a) VALUES (2);
-
-# Inject a rotate event in the binlog stream sent to slave (otherwise we will
-# fail sync_slave_with_master as the last event on the master is not present
-# on the slave).
-FLUSH NO_WRITE_TO_BINLOG LOGS;
-
-sync_slave_with_master;
-connection slave;
-SHOW TABLES;
-SELECT * FROM t1;
-SELECT * FROM t2;
-
-connection master;
-DROP TABLE t3;
-
-FLUSH NO_WRITE_TO_BINLOG LOGS;
-sync_slave_with_master;
-
-
-# Test that slave-side filtering works.
-connection slave;
-STOP SLAVE;
-SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
-START SLAVE;
-
-connection master;
-SET skip_replication=1;
-CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=myisam;
-INSERT INTO t1(a) VALUES (3);
-INSERT INTO t2(a) VALUES (3);
-
-# Inject a rotate event in the binlog stream sent to slave (otherwise we will
-# fail sync_slave_with_master as the last event on the master is not present
-# on the slave).
-FLUSH NO_WRITE_TO_BINLOG LOGS;
-
-sync_slave_with_master;
-connection slave;
-SHOW TABLES;
-SELECT * FROM t1;
-SELECT * FROM t2;
-
-connection master;
-DROP TABLE t3;
-
-FLUSH NO_WRITE_TO_BINLOG LOGS;
-sync_slave_with_master;
-connection slave;
-STOP SLAVE;
-SET GLOBAL replicate_events_marked_for_skip=REPLICATE;
-START SLAVE;
-
-
-# Test that events with @@skip_replication=1 are not filtered when filtering is
-# not set on slave.
-connection master;
-SET skip_replication=1;
-CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=myisam;
-INSERT INTO t3(a) VALUES(2);
-sync_slave_with_master;
-connection slave;
-SELECT * FROM t3;
-connection master;
-DROP TABLE t3;
-
-#
-# Test that the slave will preserve the @@skip_replication flag in its
-# own binlog.
-#
-
-TRUNCATE t1;
-sync_slave_with_master;
-connection slave;
-RESET MASTER;
-
-connection master;
-SET skip_replication=0;
-INSERT INTO t1 VALUES (1,0);
-SET skip_replication=1;
-INSERT INTO t1 VALUES (2,0);
-SET skip_replication=0;
-INSERT INTO t1 VALUES (3,0);
-
-sync_slave_with_master;
-connection slave;
-# Since slave has @@replicate_events_marked_for_skip=REPLICATE, it should have
-# applied all events.
-SELECT * FROM t1 ORDER by a;
-
-STOP SLAVE;
-SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
-let $SLAVE_DATADIR= `select @@datadir`;
-
-connection master;
-TRUNCATE t1;
-
-# Now apply the slave binlog to the master, to check that both the slave
-# and mysqlbinlog will preserve the @@skip_replication flag.
---exec $MYSQL_BINLOG $SLAVE_DATADIR/slave-bin.000001 > $MYSQLTEST_VARDIR/tmp/rpl_skip_replication.binlog
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/rpl_skip_replication.binlog
-
-# The master should have all three events.
-SELECT * FROM t1 ORDER by a;
-
-# The slave should be missing event 2, which is marked with the
-# @@skip_replication flag.
-
-connection slave;
-START SLAVE;
-
-connection master;
-sync_slave_with_master;
-
-connection slave;
-SELECT * FROM t1 ORDER by a;
-
-#
-# Test that @@sql_slave_skip_counter does not count skipped @@skip_replication
-# events.
-#
-
-connection master;
-TRUNCATE t1;
-
-sync_slave_with_master;
-connection slave;
-STOP SLAVE;
-# We will skip two INSERTs (in addition to any skipped due to
-# @@skip_replication). Since from 5.5 every statement is wrapped in
-# BEGIN ... END, we need to skip 6 events for this.
-SET GLOBAL sql_slave_skip_counter=6;
-SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
-START SLAVE;
-
-connection master;
-# Need to fix @@binlog_format to get consistent event count.
-SET @old_binlog_format= @@binlog_format;
-SET binlog_format= statement;
-SET skip_replication=0;
-INSERT INTO t1 VALUES (1,5);
-SET skip_replication=1;
-INSERT INTO t1 VALUES (2,5);
-SET skip_replication=0;
-INSERT INTO t1 VALUES (3,5);
-INSERT INTO t1 VALUES (4,5);
-SET binlog_format= @old_binlog_format;
-
-sync_slave_with_master;
-connection slave;
-
-# The slave should have skipped the first three inserts (number 1 and 3 due
-# to @@sql_slave_skip_counter=2, number 2 due to
-# @@replicate_events_marked_for_skip=FILTER_ON_SLAVE). So only number 4
-# should be left.
-SELECT * FROM t1;
-
-
-#
-# Check that BINLOG statement preserves the @@skip_replication flag.
-#
-connection slave;
-# Need row @@binlog_format for BINLOG statements containing row events.
---source include/stop_slave.inc
-SET @old_slave_binlog_format= @@global.binlog_format;
-SET GLOBAL binlog_format= row;
---source include/start_slave.inc
-
-connection master;
-TRUNCATE t1;
-
-SET @old_binlog_format= @@binlog_format;
-SET binlog_format= row;
-# Format description log event.
-BINLOG 'wlZOTw8BAAAA8QAAAPUAAAAAAAQANS41LjIxLU1hcmlhREItZGVidWctbG9nAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAA2QAEGggAAAAICAgCAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAA371saA==';
-# INSERT INTO t1 VALUES (1,8) # with @@skip_replication=1
-BINLOG 'wlZOTxMBAAAAKgAAAGMBAAAAgCkAAAAAAAEABHRlc3QAAnQxAAIDAwAC
-wlZOTxcBAAAAJgAAAIkBAAAAgCkAAAAAAAEAAv/8AQAAAAgAAAA=';
-# INSERT INTO t1 VALUES (2,8) # with @@skip_replication=0
-BINLOG 'wlZOTxMBAAAAKgAAADwCAAAAACkAAAAAAAEABHRlc3QAAnQxAAIDAwAC
-wlZOTxcBAAAAJgAAAGICAAAAACkAAAAAAAEAAv/8AgAAAAgAAAA=';
-SET binlog_format= @old_binlog_format;
-
-SELECT * FROM t1 ORDER BY a;
-sync_slave_with_master;
-connection slave;
-# Slave should have only the second insert, the first should be ignored due to
-# the @@skip_replication flag.
-SELECT * FROM t1 ORDER by a;
-
---source include/stop_slave.inc
-SET GLOBAL binlog_format= @old_slave_binlog_format;
---source include/start_slave.inc
-
-
-# Test that it is not possible to change @@skip_replication inside a
-# transaction or statement, thereby replicating only parts of statements
-# or transactions.
-connection master;
-SET skip_replication=0;
-
-BEGIN;
---error ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SKIP_REPLICATION
-SET skip_replication=0;
---error ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SKIP_REPLICATION
-SET skip_replication=1;
-ROLLBACK;
-SET skip_replication=1;
-BEGIN;
---error ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SKIP_REPLICATION
-SET skip_replication=0;
---error ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SKIP_REPLICATION
-SET skip_replication=1;
-COMMIT;
-SET autocommit=0;
-INSERT INTO t2(a) VALUES(100);
---error ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SKIP_REPLICATION
-SET skip_replication=1;
-ROLLBACK;
-SET autocommit=1;
-
-SET skip_replication=1;
---delimiter |
-CREATE FUNCTION foo (x INT) RETURNS INT BEGIN SET SESSION skip_replication=x; RETURN x; END|
-CREATE PROCEDURE bar(x INT) BEGIN SET SESSION skip_replication=x; END|
-CREATE FUNCTION baz (x INT) RETURNS INT BEGIN CALL bar(x); RETURN x; END|
---delimiter ;
---error ER_STORED_FUNCTION_PREVENTS_SWITCH_SKIP_REPLICATION
-SELECT foo(0);
---error ER_STORED_FUNCTION_PREVENTS_SWITCH_SKIP_REPLICATION
-SELECT baz(0);
---error ER_STORED_FUNCTION_PREVENTS_SWITCH_SKIP_REPLICATION
-SET @a= foo(1);
---error ER_STORED_FUNCTION_PREVENTS_SWITCH_SKIP_REPLICATION
-SET @a= baz(1);
---error ER_STORED_FUNCTION_PREVENTS_SWITCH_SKIP_REPLICATION
-UPDATE t2 SET b=foo(0);
---error ER_STORED_FUNCTION_PREVENTS_SWITCH_SKIP_REPLICATION
-UPDATE t2 SET b=baz(0);
---error ER_STORED_FUNCTION_PREVENTS_SWITCH_SKIP_REPLICATION
-INSERT INTO t1 VALUES (101, foo(1));
---error ER_STORED_FUNCTION_PREVENTS_SWITCH_SKIP_REPLICATION
-INSERT INTO t1 VALUES (101, baz(0));
-SELECT @@skip_replication;
-CALL bar(0);
-SELECT @@skip_replication;
-CALL bar(1);
-SELECT @@skip_replication;
-DROP FUNCTION foo;
-DROP PROCEDURE bar;
-DROP FUNCTION baz;
-
-
-# Test that master-side filtering happens on the master side, and that
-# slave-side filtering happens on the slave.
-
-# First test that events do not reach the slave when master-side filtering
-# is configured. Do this by replicating first with only the IO thread running
-# and master-side filtering; then change to no filtering and start the SQL
-# thread. This should still skip the events, as master-side filtering
-# means the events never reached the slave.
-connection master;
-SET skip_replication= 0;
-TRUNCATE t1;
-sync_slave_with_master;
-connection slave;
-STOP SLAVE;
-SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
-START SLAVE IO_THREAD;
-connection master;
-SET skip_replication= 1;
-INSERT INTO t1(a) VALUES (1);
-SET skip_replication= 0;
-INSERT INTO t1(a) VALUES (2);
---source include/save_master_pos.inc
-connection slave;
---source include/sync_io_with_master.inc
-STOP SLAVE IO_THREAD;
-SET GLOBAL replicate_events_marked_for_skip=REPLICATE;
-START SLAVE;
-connection master;
-sync_slave_with_master;
-connection slave;
-# Now only the second insert of (2) should be visible, as the first was
-# filtered on the master, so even though the SQL thread ran without skipping
-# events, it will never see the event in the first place.
-SELECT * FROM t1;
-
-# Now tests that when slave-side filtering is configured, events _do_ reach
-# the slave.
-connection master;
-SET skip_replication= 0;
-TRUNCATE t1;
-sync_slave_with_master;
-connection slave;
-STOP SLAVE;
-SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
-START SLAVE IO_THREAD;
-connection master;
-SET skip_replication= 1;
-INSERT INTO t1(a) VALUES (1);
-SET skip_replication= 0;
-INSERT INTO t1(a) VALUES (2);
---source include/save_master_pos.inc
-connection slave;
---source include/sync_io_with_master.inc
-STOP SLAVE IO_THREAD;
-SET GLOBAL replicate_events_marked_for_skip=REPLICATE;
-START SLAVE;
-connection master;
-sync_slave_with_master;
-connection slave;
-# Now both inserts should be visible. Since filtering was configured to be
-# slave-side, the event is in the relay log, and when the SQL thread ran we
-# had disabled filtering again.
-SELECT * FROM t1 ORDER BY a;
-
-
-# Clean up.
-connection master;
-SET skip_replication=0;
-DROP TABLE t1,t2;
-connection slave;
-STOP SLAVE;
-SET GLOBAL replicate_events_marked_for_skip=REPLICATE;
-START SLAVE;
-
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_skip_replication.inc
diff --git a/mysql-test/suite/rpl/t/rpl_slave_grp_exec.test b/mysql-test/suite/rpl/t/rpl_slave_grp_exec.test
index 4fdc1268b80..426c3c831b0 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_grp_exec.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_grp_exec.test
@@ -63,7 +63,7 @@ SELECT * FROM t3 ORDER BY a;
--connection slave
# 1146 = ER_NO_SUCH_TABLE
-call mtr.add_suppression("Slave SQL.*Table .test.t3. doesn.t exist.* Error_code: 1146");
+call mtr.add_suppression("Slave SQL.*Table .test.t3. doesn.t exist.* error.* 1146");
--let $slave_sql_errno= 1146
--source include/wait_for_slave_sql_error.inc
SHOW TABLES LIKE 't%';
diff --git a/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test b/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test
index 14cf3fc00e9..69319bad4a0 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test
@@ -20,9 +20,9 @@
--source include/have_binlog_format_statement.inc
--source include/have_innodb.inc
--source include/have_debug.inc
---source include/master-slave.inc
--source include/not_embedded.inc
--source include/not_var_link.inc
+--source include/master-slave.inc
##########################################################################
# Loading data
@@ -69,9 +69,9 @@ RESET SLAVE;
drop table t1;
call mtr.add_suppression("Slave: Can't get stat of .*");
-call mtr.add_suppression("Slave SQL: Error .Can.t get stat of.* Error_code: 13");
+call mtr.add_suppression("Slave SQL: Error .Can.t get stat of.* error.* 13");
call mtr.add_suppression("Slave: File.* not found.*");
-call mtr.add_suppression("Slave SQL: Error .File.* not found.* Error_code: 29");
+call mtr.add_suppression("Slave SQL: Error .File.* not found.* error.* 29");
--let $rpl_only_running_threads= 1
eval SET @@global.debug_dbug= '$old_debug';
diff --git a/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test b/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test
index b99c71b1ca0..16dcd8ecbd3 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test
@@ -10,8 +10,8 @@
--connection slave
START SLAVE;
-# Why 12???
-call mtr.add_suppression("Slave SQL.*Unable to use slave.s temporary directory.* Error_code: 12");
+call mtr.add_suppression("Slave SQL.*Unable to use slave.s temporary directory");
+# 12 = EE_CANT_MKDIR
--let $slave_sql_errno= 12
source include/wait_for_slave_sql_error.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_slave_skip.test b/mysql-test/suite/rpl/t/rpl_slave_skip.test
index f2129bd7f18..d64f394055c 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_skip.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_skip.test
@@ -4,8 +4,8 @@
# test for MIXED mode.
source include/have_binlog_format_mixed.inc;
-source include/master-slave.inc;
source include/have_innodb.inc;
+source include/master-slave.inc;
--echo **** On Slave ****
connection slave;
diff --git a/mysql-test/suite/rpl/t/rpl_slave_status.test b/mysql-test/suite/rpl/t/rpl_slave_status.test
index d9da40d9d3f..fc82b3f8df6 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_status.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_status.test
@@ -2,7 +2,7 @@
#
# Verify that a slave without replication privileges has
# Slave_IO_Running = No
-#
+# Check that relay_log_status doesn't change by CHANGE MASTER
# ==== Method ====
#
# We do the following steps:
@@ -28,6 +28,17 @@ GRANT REPLICATION SLAVE ON *.* TO rpl@127.0.0.1 IDENTIFIED BY 'rpl';
--echo [on slave]
sync_slave_with_master;
source include/stop_slave.inc;
+
+# Test that relay_log_purge doesn't change because of CHANGE MASTER
+set @save_relay_log_purge=@@global.relay_log_purge;
+set @@global.relay_log_purge=0;
+CHANGE MASTER TO master_user='rpl', master_password='rpl';
+select @@global.relay_log_purge;
+set @@global.relay_log_purge=1;
+CHANGE MASTER TO master_user='rpl', master_password='rpl';
+select @@global.relay_log_purge;
+set @@global.relay_log_purge=@save_relay_log_purge;
+
CHANGE MASTER TO master_user='rpl', master_password='rpl';
source include/start_slave.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_slow_query_log-slave.opt b/mysql-test/suite/rpl/t/rpl_slow_query_log-slave.opt
index efd795e94fe..439117269a8 100644
--- a/mysql-test/suite/rpl/t/rpl_slow_query_log-slave.opt
+++ b/mysql-test/suite/rpl/t/rpl_slow_query_log-slave.opt
@@ -1 +1 @@
---log-slow-slave-statements --log-slow-queries
+--log-slow-slave-statements --slow-query-log
diff --git a/mysql-test/suite/rpl/t/rpl_slow_query_log.test b/mysql-test/suite/rpl/t/rpl_slow_query_log.test
index faf037a9dff..df88d42ed68 100644
--- a/mysql-test/suite/rpl/t/rpl_slow_query_log.test
+++ b/mysql-test/suite/rpl/t/rpl_slow_query_log.test
@@ -25,8 +25,8 @@
# Note that due to the sleep() command the insert is written to the binary
# log in row format.
-source include/master-slave.inc;
source include/have_binlog_format_statement.inc;
+source include/master-slave.inc;
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
@@ -299,6 +299,39 @@ if ($master_slow_query == $slave_slow_query)
-- echo ### same number of queries in slow log: $master_slow_query
}
+-- echo ********************************************************************
+-- echo **** TRUNCATE the slow log then check whether runtime changes of
+-- echo **** log_slow_slave_statements work without slave restart.
+-- echo ********************************************************************
+
+SET @old_log_slow_slave_statements= @@global.log_slow_slave_statements;
+SET @@global.log_slow_slave_statements = off;
+TRUNCATE mysql.slow_log;
+
+-- connection master
+
+--disable_warnings
+-- eval $slow_query;
+--enable_warnings
+sync_slave_with_master;
+
+-- connection slave
+
+eval SELECT sql_text FROM mysql.slow_log WHERE sql_text like '$slow_query';
+
+SET @@global.log_slow_slave_statements = on;
+
+-- connection master
+
+--disable_warnings
+-- eval $slow_query;
+--enable_warnings
+sync_slave_with_master;
+
+-- connection slave
+
+eval SELECT sql_text FROM mysql.slow_log WHERE sql_text like '$slow_query';
+
-- connection master
SET @@global.log_output= @old_log_output;
SET @@global.long_query_time= @old_long_query_time;
diff --git a/mysql-test/suite/rpl/t/rpl_sp.test b/mysql-test/suite/rpl/t/rpl_sp.test
index 00815ab9d7e..124d98cd29b 100644
--- a/mysql-test/suite/rpl/t/rpl_sp.test
+++ b/mysql-test/suite/rpl/t/rpl_sp.test
@@ -6,6 +6,8 @@
source include/have_binlog_format_mixed.inc;
source include/master-slave.inc;
+set local sql_mode='';
+set global sql_mode='';
# we need a db != test, where we don't have automatic grants
--disable_warnings
@@ -614,7 +616,7 @@ show function status like '%mysqltestbug36570%';
connection master;
flush logs;
let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex s/$MYSQL_TEST_DIR/MYSQL_TEST_DIR/ s/TIMESTAMP=[0-9]*/TIMESTAMP=t/
+--replace_regex /$MYSQL_TEST_DIR/MYSQL_TEST_DIR/ /TIMESTAMP=[0-9]*/TIMESTAMP=t/
--exec $MYSQL_BINLOG --short-form $MYSQLD_DATADIR/master-bin.000001
use test;
drop procedure mysqltestbug36570_p1;
@@ -739,3 +741,4 @@ drop procedure p1;
# Cleanup
sync_slave_with_master;
--source include/rpl_end.inc
+set global sql_mode=default;
diff --git a/mysql-test/suite/rpl/t/rpl_sp_effects.test b/mysql-test/suite/rpl/t/rpl_sp_effects.test
index 82d61d94bd4..b9d637320bb 100644
--- a/mysql-test/suite/rpl/t/rpl_sp_effects.test
+++ b/mysql-test/suite/rpl/t/rpl_sp_effects.test
@@ -1,7 +1,6 @@
##########################################
# Change Author: JBM
# Change Date: 2006-05-02
-# Change: Added Order By for NDB testing
##########################################
# Test of replication of stored procedures (WL#2146 for MySQL 5.0)
diff --git a/mysql-test/suite/rpl/t/rpl_sp_variables.test b/mysql-test/suite/rpl/t/rpl_sp_variables.test
new file mode 100644
index 00000000000..87e9fe194ea
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_sp_variables.test
@@ -0,0 +1,28 @@
+source include/master-slave.inc;
+
+--echo #
+--echo # MDEV-13685 Can not replay binary log due to Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
+--echo #
+
+connection master;
+SET NAMES utf8;
+CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8);
+DELIMITER $$;
+CREATE PROCEDURE p1()
+BEGIN
+ DECLARE v_id INT DEFAULT 2017;
+ INSERT INTO test.t1 SELECT CONCAT(v_id, '오');
+END;
+$$
+DELIMITER ;$$
+CALL p1;
+SELECT * FROM t1;
+sync_slave_with_master;
+SET NAMES utf8;
+SELECT * FROM t1;
+connection master;
+DROP PROCEDURE p1;
+DROP TABLE t1;
+sync_slave_with_master;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_special_charset.test b/mysql-test/suite/rpl/t/rpl_special_charset.test
index 9b51eba8d5a..6f196005711 100644
--- a/mysql-test/suite/rpl/t/rpl_special_charset.test
+++ b/mysql-test/suite/rpl/t/rpl_special_charset.test
@@ -1,25 +1 @@
-################################################################################
-# Bug#19855907 IO THREAD AUTHENTICATION ISSUE WITH SOME CHARACTER SETS
-# Problem: IO thread fails to connect to master if servers are configured with
-# special character sets like utf16, utf32, ucs2.
-#
-# Analysis: MySQL server does not support few special character sets like
-# utf16,utf32 and ucs2 as "client's character set"(eg: utf16,utf32, ucs2).
-# When IO thread is trying to connect to Master, it sets server's character
-# set as client's character set. When Slave server is started with these
-# special character sets, IO thread (a connection to Master) fails because
-# of the above said reason.
-#
-# Fix: If server's character set is not supported as client's character set,
-# then set default's client character set(latin1) as client's character set.
-###############################################################################
---source include/master-slave.inc
-CREATE TABLE t1(i VARCHAR(20));
-INSERT INTO t1 VALUES (0xFFFF);
---sync_slave_with_master
---let diff_tables=master:t1, slave:t1
---source include/diff_tables.inc
-# Cleanup
---connection master
-DROP TABLE t1;
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_special_charset.inc
diff --git a/mysql-test/suite/rpl/t/rpl_sporadic_master.test b/mysql-test/suite/rpl/t/rpl_sporadic_master.test
index 592d13e67b0..0a756982047 100644
--- a/mysql-test/suite/rpl/t/rpl_sporadic_master.test
+++ b/mysql-test/suite/rpl/t/rpl_sporadic_master.test
@@ -1,26 +1 @@
-# test to see if replication can continue when master sporadically fails on
-# COM_BINLOG_DUMP and additionally limits the number of events per dump
-
-source include/master-slave.inc;
-
-create table t2(n int);
-create table t1(n int not null auto_increment primary key);
-insert into t1 values (NULL),(NULL);
-truncate table t1;
-# We have to use 4 in the following to make this test work with all table types
-insert into t1 values (4),(NULL);
-sync_slave_with_master;
---source include/stop_slave.inc
---source include/start_slave.inc
-connection master;
-insert into t1 values (NULL),(NULL);
-flush logs;
-truncate table t1;
-insert into t1 values (10),(NULL),(NULL),(NULL),(NULL),(NULL);
-sync_slave_with_master;
-select * from t1 ORDER BY n;
-connection master;
-drop table t1,t2;
-sync_slave_with_master;
-
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_sporadic_master.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ssl.test b/mysql-test/suite/rpl/t/rpl_ssl.test
index 43289428d45..883b367e9f2 100644
--- a/mysql-test/suite/rpl/t/rpl_ssl.test
+++ b/mysql-test/suite/rpl/t/rpl_ssl.test
@@ -1,110 +1 @@
-source include/have_ssl_communication.inc;
-source include/master-slave.inc;
-
-# create a user for replication that requires ssl encryption
-connection master;
-grant replication slave on *.* to replssl@localhost require ssl;
-create table t1 (t int auto_increment, KEY(t));
-
-sync_slave_with_master;
-
-# Set slave to use SSL for connection to master
-stop slave;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval change master to
- master_user='replssl',
- master_password='',
- master_ssl=1,
- master_ssl_ca ='$MYSQL_TEST_DIR/std_data/cacert.pem',
- master_ssl_cert='$MYSQL_TEST_DIR/std_data/client-cert.pem',
- master_ssl_key='$MYSQL_TEST_DIR/std_data/client-key.pem';
-start slave;
-
-# Switch to master and insert one record, then sync it to slave
-connection master;
-insert into t1 values(1);
-sync_slave_with_master;
-
-# The record should now be on slave
-select * from t1;
-
-# The slave is synced and waiting/reading from master
-# SHOW SLAVE STATUS will show "Waiting for master to send event"
-let $status_items= Master_SSL_Allowed, Master_SSL_CA_Path, Master_SSL_CA_File, Master_SSL_Cert, Master_SSL_Key;
-source include/show_slave_status.inc;
-source include/check_slave_is_running.inc;
-
-# Stop the slave, as reported in bug#21871 it would hang
-STOP SLAVE;
-
-select * from t1;
-
-# Do the same thing a number of times
-disable_query_log;
-disable_result_log;
-# 2007-11-27 mats Bug #32756 Starting and stopping the slave in a loop can lose rows
-# After discussions with Engineering, I'm disabling this part of the test to avoid it causing
-# red trees.
-disable_parsing;
-let $i= 100;
-while ($i)
-{
- start slave;
- connection master;
- insert into t1 values (NULL);
- select * from t1; # Some variance
- connection slave;
- select * from t1; # Some variance
- stop slave;
- dec $i;
-}
-enable_parsing;
-START SLAVE;
-enable_query_log;
-enable_result_log;
-connection master;
-# INSERT one more record to make sure
-# the sync has something to do
-insert into t1 values (NULL);
-let $master_count= `select count(*) from t1`;
-
-sync_slave_with_master;
---source include/wait_for_slave_to_start.inc
-source include/show_slave_status.inc;
-source include/check_slave_is_running.inc;
-
-let $slave_count= `select count(*) from t1`;
-
-if ($slave_count != $master_count)
-{
- echo master and slave differed in number of rows;
- echo master: $master_count;
- echo slave: $slave_count;
-
- connection master;
- echo === master ===;
- select count(*) t1;
- select * from t1;
- connection slave;
- echo === slave ===;
- select count(*) t1;
- select * from t1;
- query_vertical show slave status;
-}
-
-connection master;
-drop user replssl@localhost;
-drop table t1;
-sync_slave_with_master;
-
---source include/stop_slave.inc
-CHANGE MASTER TO
- master_user = 'root',
- master_ssl = 0,
- master_ssl_ca = '',
- master_ssl_cert = '',
- master_ssl_key = '';
-
---echo End of 5.0 tests
---let $rpl_only_running_threads= 1
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_ssl.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ssl1.test b/mysql-test/suite/rpl/t/rpl_ssl1.test
index f5f63a00033..d994dd21c1d 100644
--- a/mysql-test/suite/rpl/t/rpl_ssl1.test
+++ b/mysql-test/suite/rpl/t/rpl_ssl1.test
@@ -7,6 +7,7 @@ source include/master-slave.inc;
# creating replication user for whom ssl auth is required
# preparing playground
connection master;
+create user replssl@localhost;
grant replication slave on *.* to replssl@localhost require ssl;
create table t1 (t int);
diff --git a/mysql-test/suite/rpl/t/rpl_start_slave_deadlock_sys_vars.test b/mysql-test/suite/rpl/t/rpl_start_slave_deadlock_sys_vars.test
deleted file mode 100644
index 96a629484f2..00000000000
--- a/mysql-test/suite/rpl/t/rpl_start_slave_deadlock_sys_vars.test
+++ /dev/null
@@ -1,58 +0,0 @@
-source include/have_debug_sync.inc;
-source include/master-slave.inc;
-
---echo # connection: slave
-connection slave;
-SET @save_slave_net_timeout = @@GLOBAL.slave_net_timeout;
-STOP SLAVE;
-source include/wait_for_slave_to_stop.inc;
-
---echo # open an extra connection to the slave
-connect(slave2,127.0.0.1,root,,test,$SLAVE_MYPORT,);
---echo # connection: slave2
---echo # set debug synchronization point
-SET DEBUG_SYNC='fix_slave_net_timeout SIGNAL parked WAIT_FOR go';
---echo # attempt to set slave_net_timeout, will wait on sync point
---send SET @@GLOBAL.slave_net_timeout = 100
-
---echo # connection: slave
-connection slave;
-SET DEBUG_SYNC='now WAIT_FOR parked';
-
---echo # connection: slave1
-connection slave1;
---echo # attempt to start the SQL thread
---send START SLAVE SQL_THREAD
-
---echo # connection: slave
-connection slave;
---echo # wait until SQL thread has been started
-let $wait_condition=
- select count(*) = 1 from information_schema.processlist
- where state = "Waiting for slave thread to start" and info = "START SLAVE SQL_THREAD";
---source include/wait_condition.inc
---echo # sleep a bit so that the SQL thread THD handle is initialized
-sleep 2;
---echo # signal the set slave_net_timeout to continue
-SET DEBUG_SYNC='now SIGNAL go';
-
---echo # connection: slave2
-connection slave2;
---echo # reap result of set slave_net_timeout
---reap
-
---echo # connection: slave1
-connection slave1;
---echo # reap result of starting the SQL thread
---reap
-
---echo # disconnect: slave2
-disconnect slave2;
-
---echo # connection: slave
-connection slave;
---echo # cleanup
-SET @@GLOBAL.slave_net_timeout = @save_slave_net_timeout;
-SET DEBUG_SYNC='RESET';
-
-source include/rpl_end.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_start_stop_slave.test b/mysql-test/suite/rpl/t/rpl_start_stop_slave.test
index ab388f3eebc..a38ac8fc6a1 100644
--- a/mysql-test/suite/rpl/t/rpl_start_stop_slave.test
+++ b/mysql-test/suite/rpl/t/rpl_start_stop_slave.test
@@ -53,5 +53,12 @@ if(`select TIMESTAMPDIFF(SECOND,@time_after_kill, @time_before_kill) > 60`)
START SLAVE IO_THREAD;
+# Ensure that the slave io thread started properly
+connection master;
+create table t1 (a int primary key);
+sync_slave_with_master;
+connection master;
+drop table t1;
+
# End of test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_000001.test b/mysql-test/suite/rpl/t/rpl_stm_000001.test
index d25decf9383..3a87a8f1ef9 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_000001.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_000001.test
@@ -88,7 +88,8 @@ insert into t3 select get_lock('crash_lock%20C', 1) from t2;
connection master;
send update t1 set n = n + get_lock('crash_lock%20C', 2);
connection master1;
-sleep 3;
+let $wait_condition= SELECT count(*) > 0 FROM information_schema.processlist WHERE info LIKE 'update%' AND state='User lock';
+source include/wait_condition.inc;
select (@id := id) - id from t2;
kill @id;
drop table t2;
diff --git a/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test b/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test
index 352213304b6..93cc06111e4 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test
@@ -1,8 +1,8 @@
--source include/have_innodb.inc
---source include/master-slave.inc
--source include/not_embedded.inc
--source include/not_windows.inc
--source include/have_binlog_format_statement.inc
+--source include/master-slave.inc
--source extra/rpl_tests/rpl_binlog_max_cache_size.test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test b/mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test
index 6e3dabf6e32..b395654a714 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test
@@ -3,9 +3,10 @@
# tables. Specifically when drop temporary tables and create temporary tables
# are used.
###################################################################################
+--source include/big_test.inc
--source include/have_binlog_format_statement.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--source extra/rpl_tests/rpl_drop_create_temp_table.test
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test b/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test
index ae59008c3ee..774c87f551e 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test
@@ -1,9 +1,10 @@
################################################################################
# Check file extra/rpl_tests/rpl_implicit_commit_binlog.test
################################################################################
+--source include/have_udf.inc
--source include/have_binlog_format_statement.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
--let $engine=Innodb
set session storage_engine=innodb;
diff --git a/mysql-test/suite/rpl/t/rpl_stm_loaddata_concurrent.test b/mysql-test/suite/rpl/t/rpl_stm_loaddata_concurrent.test
index 7add76c0ef5..32de2a94cbb 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_loaddata_concurrent.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_loaddata_concurrent.test
@@ -1,4 +1,3 @@
--- source include/not_ndb_default.inc
-- source include/have_log_bin.inc
-- source include/have_binlog_format_statement.inc
RESET MASTER;
diff --git a/mysql-test/suite/rpl/t/rpl_stm_loadfile.test b/mysql-test/suite/rpl/t/rpl_stm_loadfile.test
index 5d2c85b2cb6..016d3ed6090 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_loadfile.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_loadfile.test
@@ -6,15 +6,14 @@
#############################################################################
# Change Author: JBM
# Change Date: 2006-01-16
-# Change: Added Order by for NDB
# Change: Split the original test file. This one forces STATEMENT only because
# when in STATEMENT mode, the load_file will issue a warning, whereas
# in RBR or MIXED mode it does not (by lsoares).
##########
# Includes
--- source include/master-slave.inc
-- source include/have_binlog_format_statement.inc
+-- 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");
diff --git a/mysql-test/suite/rpl/t/rpl_stm_log.test b/mysql-test/suite/rpl/t/rpl_stm_log.test
index 7e7e1d4033f..23130528465 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_log.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_log.test
@@ -4,7 +4,5 @@
let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_log.test
-
# End of 4.1 tests
-# Adding comment for force manual merge 5.0 -> wl1012: Delete me
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test
index f13057a7d83..9a92d60a2a1 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test
@@ -3,10 +3,11 @@
# tables. For further details, please, read WL#2687 and WL#5072.
###################################################################################
--source include/have_binlog_format_statement.inc
---source include/master-slave.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
let $engine_type=Innodb;
+let $database_name=test;
--source extra/rpl_tests/rpl_mixing_engines.test
#
diff --git a/mysql-test/suite/rpl/t/rpl_stm_relay_ign_space.test b/mysql-test/suite/rpl/t/rpl_stm_relay_ign_space.test
index db6e6bd14bf..f72300ee2de 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_relay_ign_space.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_relay_ign_space.test
@@ -1,101 +1 @@
-#
-# BUG#12400313 / BUG#64503 test case
-#
-#
-# Description
-# -----------
-#
-# This test case starts the slave server with:
-# --relay-log-space-limit=8192 --relay-log-purge --max-relay-log-size=4096
-#
-# Then it issues some queries that will cause the slave to reach
-# relay-log-space-limit. We lock the table so that the SQL thread is
-# not able to purge the log and then we issue some more statements.
-#
-# The purpose is to show that the IO thread will honor the limits
-# while the SQL thread is not able to purge the relay logs, which did
-# not happen before this patch. In addition we assert that while
-# ignoring the limit (SQL thread needs to rotate before purging), the
-# IO thread does not do it in an uncontrolled manner.
-
---source include/have_binlog_format_statement.inc
---source include/master-slave.inc
---source include/have_innodb.inc
-
---disable_query_log
-CREATE TABLE t1 (c1 TEXT) engine=InnoDB;
-
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-
---sync_slave_with_master
-
-# wait for the SQL thread to sleep
---let $show_statement= SHOW PROCESSLIST
---let $field= State
---let $condition= = 'Slave has read all relay log; waiting for the slave I/O thread to update it'
---source include/wait_show_condition.inc
-
-# now the io thread has set rli->ignore_space_limit
-# lets lock the table so that once the SQL thread awakes
-# it blocks there and does not set rli->ignore_space_limit
-# back to zero
-LOCK TABLE t1 WRITE;
-
-# now issue more statements that will overflow the
-# rli->log_space_limit (in this case ~10K)
---connection master
-
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-INSERT INTO t1 VALUES ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
-
---connection slave
-
-# ASSERT that the IO thread waits for the SQL thread to release some
-# space before continuing
---let $show_statement= SHOW PROCESSLIST
---let $field= State
---let $condition= LIKE 'Waiting for %'
-# before the patch (IO would have transfered everything)
-#--let $condition= = 'Waiting for master to send event'
-# after the patch (now it waits for space to be freed)
-#--let $condition= = 'Waiting for the slave SQL thread to free enough relay log space'
---source include/wait_show_condition.inc
-
-# without the patch we can uncomment the following two lines and
-# watch the IO thread synchronize with the master, thus writing
-# relay logs way over the space limit
-#--connection master
-#--source include/sync_slave_io_with_master.inc
-
-## ASSERT that the IO thread has honored the limit+few bytes required to be able to purge
---let $relay_log_space_while_sql_is_executing = query_get_value(SHOW SLAVE STATUS, Relay_Log_Space, 1)
---let $relay_log_space_limit = query_get_value(SHOW VARIABLES LIKE "relay_log_space_limit", Value, 1)
---let $assert_text= Assert that relay log space is close to the limit
---let $assert_cond= $relay_log_space_while_sql_is_executing <= $relay_log_space_limit * 1.15
---source include/assert.inc
-
-# unlock the table and let SQL thread continue applying events
-UNLOCK TABLES;
-
---connection master
---sync_slave_with_master
---let $diff_tables=master:test.t1,slave:test.t1
---source include/diff_tables.inc
-
---connection master
-DROP TABLE t1;
---enable_query_log
---sync_slave_with_master
-
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_stm_relay_ign_space.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test b/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test
index dfe2e49bb90..76b2aed3f24 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test
@@ -1,9 +1,9 @@
################################################################################
# Please, check ./extra/rpl_tests/rpl_start_stop_slave.test
################################################################################
---source include/master-slave.inc
--source include/have_binlog_format_statement.inc
--source include/have_innodb.inc
+--source include/master-slave.inc
# make innodb updates run fast
--connection slave
diff --git a/mysql-test/suite/rpl/t/rpl_stm_until.test b/mysql-test/suite/rpl/t/rpl_stm_until.test
index e9216ed602a..9194a1fda63 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_until.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_until.test
@@ -22,7 +22,6 @@
-- source include/rpl_reset.inc
# Test is dependent on binlog positions
-
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
# prepare version for substitutions
@@ -65,7 +64,6 @@ select * from t1;
--source include/check_slave_param.inc
# this should fail right after start
---replace_result 291 MASTER_LOG_POS
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
--source include/wait_for_slave_io_to_start.inc
--source include/wait_for_slave_sql_to_stop.inc
@@ -75,7 +73,7 @@ select * from t1;
--let $slave_param_value= $master_log_pos_1
--source include/check_slave_param.inc
-let $relay_log_file= slave-relay-bin.000004;
+let $relay_log_file= slave-relay-bin.000003;
let $master_log_pos= $master_log_pos_2;
source include/get_relay_log_pos.inc;
# try replicate all up to and not including the second insert to t2;
@@ -108,22 +106,18 @@ eval start slave until master_log_file='$master_log_file', master_log_pos=$maste
--echo ==== Test various error conditions ====
---replace_result 561 MASTER_LOG_POS
--error 1277
start slave until master_log_file='master-bin', master_log_pos=561;
---replace_result 561 MASTER_LOG_POS 12 RELAY_LOG_POS
--error 1277
start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
--error 1277
start slave until master_log_file='master-bin.000001';
--error 1277
start slave until relay_log_file='slave-relay-bin.000002';
---replace_result 561 MASTER_LOG_POS
--error 1277
start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
# Warning should be given for second command
start slave sql_thread;
---replace_result 776 MASTER_LOG_POS
start slave until master_log_file='master-bin.000001', master_log_pos=776;
#
diff --git a/mysql-test/suite/rpl/t/rpl_stm_user_variables.test b/mysql-test/suite/rpl/t/rpl_stm_user_variables.test
index 2045dd6ae57..22a6600105e 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_user_variables.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_user_variables.test
@@ -2,8 +2,8 @@
# BUG#49562: SBR out of sync when using numeric data types + user variable
#
--- source include/master-slave.inc
-- source include/have_binlog_format_statement.inc
+-- source include/master-slave.inc
## Setup user variables for several numeric types, so that we get
## coverage on the User_var_log_event different val types
@@ -167,4 +167,43 @@ DROP TABLE t1;
-- sync_slave_with_master
+--echo
+--echo # The GET DIAGNOSTICS itself is not replicated, but it can set
+--echo # variables which can be used in statements that are replicated.
+--echo
+
+--source include/rpl_reset.inc
+connection master;
+
+CREATE TABLE t1 (a INT, b INT);
+GET DIAGNOSTICS @var1 = NUMBER;
+INSERT INTO t1 VALUES (@var1, 0), (@var1, 0);
+
+DELIMITER |;
+CREATE PROCEDURE p1()
+LANGUAGE SQL
+BEGIN
+ DECLARE count INT;
+ UPDATE t1 SET b = 2 WHERE a = 0;
+ GET DIAGNOSTICS count = ROW_COUNT;
+ INSERT INTO t1 VALUES (1, count);
+END|
+DELIMITER ;|
+
+CALL p1();
+
+-- sync_slave_with_master
+
+connection slave;
+--echo # On slave, check if the statement was replicated.
+SELECT * FROM t1 ORDER BY a;
+
+connection master;
+--echo # Show events and cleanup
+--source include/show_binlog_events.inc
+DROP TABLE t1;
+DROP PROCEDURE p1;
+
+-- sync_slave_with_master
+
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stop_slave_error-slave.opt b/mysql-test/suite/rpl/t/rpl_stop_slave_error-slave.opt
new file mode 100644
index 00000000000..32c4527a915
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_stop_slave_error-slave.opt
@@ -0,0 +1 @@
+--log-error=$MYSQLTEST_VARDIR/tmp/slave_log.err
diff --git a/mysql-test/suite/rpl/t/rpl_stop_slave_error.test b/mysql-test/suite/rpl/t/rpl_stop_slave_error.test
new file mode 100644
index 00000000000..a88981c15c4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_stop_slave_error.test
@@ -0,0 +1,17 @@
+#
+# MDEV-8345 STOP SLAVE should not cause an ERROR to be logged to the error log
+#
+source include/have_binlog_format_mixed.inc; # don't repeat the test three times
+source include/master-slave.inc;
+
+connection master;
+sync_slave_with_master;
+source include/stop_slave.inc;
+let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/slave_log.err;
+let SEARCH_PATTERN=Error reading packet from server: Lost connection;
+let SEARCH_RANGE= -50000;
+source include/search_pattern_in_file.inc;
+
+source include/start_slave.inc;
+source include/rpl_end.inc;
+
diff --git a/mysql-test/suite/rpl/t/rpl_strict_password_validation.test b/mysql-test/suite/rpl/t/rpl_strict_password_validation.test
new file mode 100644
index 00000000000..c4dda1e1269
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_strict_password_validation.test
@@ -0,0 +1,24 @@
+if (!$SIMPLE_PASSWORD_CHECK_SO) {
+ skip No SIMPLE_PASSWORD_CHECK plugin;
+}
+
+--source include/master-slave.inc
+
+
+--connection slave
+install soname "simple_password_check";
+select @@strict_password_validation;
+
+--connection master
+create user foo1 identified by password '11111111111111111111111111111111111111111';
+set password for foo1 = PASSWORD('PLAINtext-password!!99');
+drop user foo1;
+--sync_slave_with_master
+
+--connection slave
+--error ER_OPTION_PREVENTS_STATEMENT
+create user foo1 identified by password '11111111111111111111111111111111111111111';
+
+uninstall plugin simple_password_check;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test b/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test
index 4ba66b5fbf8..cd826c6be1e 100644
--- a/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test
+++ b/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test
@@ -1,624 +1 @@
-#
-# rpl_switch_stm_row_mixed tests covers
-#
-# - Master is switching explicitly between STATEMENT, ROW, and MIXED
-# binlog format showing when it is possible and when not.
-# - Master switching from MIXED to RBR implicitly listing all use
-# cases, e.g a query invokes UUID(), thereafter to serve as the
-# definition of MIXED binlog format
-# - correctness of execution
-
-
--- source include/not_ndb_default.inc
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/master-slave.inc
-
-# Since this test generates row-based events in the binary log, the
-# slave SQL thread cannot be in STATEMENT mode to execute this test,
-# so we only execute it for MIXED and ROW as default value of
-# BINLOG_FORMAT.
-
-connection slave;
-
-connection master;
---disable_warnings
-drop database if exists mysqltest1;
-create database mysqltest1;
---enable_warnings
-use mysqltest1;
-
-# Save binlog format
-set @my_binlog_format= @@global.binlog_format;
-
-# play with switching
-set session binlog_format=mixed;
-show session variables like "binlog_format%";
-set session binlog_format=statement;
-show session variables like "binlog_format%";
-set session binlog_format=row;
-show session variables like "binlog_format%";
-
-set global binlog_format=DEFAULT;
-show global variables like "binlog_format%";
-set global binlog_format=MIXED;
-show global variables like "binlog_format%";
-set global binlog_format=STATEMENT;
-show global variables like "binlog_format%";
-set global binlog_format=ROW;
-show global variables like "binlog_format%";
-show session variables like "binlog_format%";
-select @@global.binlog_format, @@session.binlog_format;
-
-CREATE TABLE t1 (a varchar(100));
-
-prepare stmt1 from 'insert into t1 select concat(UUID(),?)';
-set @string="emergency_1_";
-insert into t1 values("work_2_");
-execute stmt1 using @string;
-deallocate prepare stmt1;
-
-prepare stmt1 from 'insert into t1 select ?';
-insert into t1 values(concat(UUID(),"work_3_"));
-execute stmt1 using @string;
-deallocate prepare stmt1;
-
-insert into t1 values(concat("for_4_",UUID()));
-insert into t1 select "yesterday_5_";
-
-# verify that temp tables prevent a switch to SBR
-create temporary table tmp(a char(100));
-insert into tmp values("see_6_");
---error ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR
-set binlog_format=statement;
-insert into t1 select * from tmp;
-drop temporary table tmp;
-
-# Now we go to SBR
-set binlog_format=statement;
-show global variables like "binlog_format%";
-show session variables like "binlog_format%";
-select @@global.binlog_format, @@session.binlog_format;
-set global binlog_format=statement;
-show global variables like "binlog_format%";
-show session variables like "binlog_format%";
-select @@global.binlog_format, @@session.binlog_format;
-
-prepare stmt1 from 'insert into t1 select ?';
-set @string="emergency_7_";
-insert into t1 values("work_8_");
-execute stmt1 using @string;
-deallocate prepare stmt1;
-
-prepare stmt1 from 'insert into t1 select ?';
-insert into t1 values("work_9_");
-execute stmt1 using @string;
-deallocate prepare stmt1;
-
-insert into t1 values("for_10_");
-insert into t1 select "yesterday_11_";
-
-# test statement (is not default after wl#3368)
-set binlog_format=statement;
-select @@global.binlog_format, @@session.binlog_format;
-set global binlog_format=statement;
-select @@global.binlog_format, @@session.binlog_format;
-
-prepare stmt1 from 'insert into t1 select ?';
-set @string="emergency_12_";
-insert into t1 values("work_13_");
-execute stmt1 using @string;
-deallocate prepare stmt1;
-
-prepare stmt1 from 'insert into t1 select ?';
-insert into t1 values("work_14_");
-execute stmt1 using @string;
-deallocate prepare stmt1;
-
-insert into t1 values("for_15_");
-insert into t1 select "yesterday_16_";
-
-# and now the mixed mode
-
-set global binlog_format=mixed;
-select @@global.binlog_format, @@session.binlog_format;
-set binlog_format=default;
-select @@global.binlog_format, @@session.binlog_format;
-
-prepare stmt1 from 'insert into t1 select concat(UUID(),?)';
-set @string="emergency_17_";
-insert into t1 values("work_18_");
-execute stmt1 using @string;
-deallocate prepare stmt1;
-
-prepare stmt1 from 'insert into t1 select ?';
-insert into t1 values(concat(UUID(),"work_19_"));
-execute stmt1 using @string;
-deallocate prepare stmt1;
-
-insert into t1 values(concat("for_20_",UUID()));
-insert into t1 select "yesterday_21_";
-
-prepare stmt1 from 'insert into t1 select ?';
-insert into t1 values(concat(UUID(),"work_22_"));
-execute stmt1 using @string;
-deallocate prepare stmt1;
-
-insert into t1 values(concat("for_23_",UUID()));
-insert into t1 select "yesterday_24_";
-
-# Test of CREATE TABLE SELECT
-
-create table t2 ENGINE=MyISAM select rpad(UUID(),100,' ');
-create table t3 select 1 union select UUID();
-create table t4 select * from t1 where 3 in (select 1 union select 2 union select UUID() union select 3);
-create table t5 select * from t1 where 3 in (select 1 union select 2 union select curdate() union select 3);
-# what if UUID() is first:
---disable_warnings
-insert into t5 select UUID() from t1 where 3 in (select 1 union select 2 union select 3 union select * from t4);
---enable_warnings
-
-# inside a stored procedure
-
-delimiter |;
-create procedure foo()
-begin
-insert into t1 values("work_25_");
-insert into t1 values(concat("for_26_",UUID()));
-insert into t1 select "yesterday_27_";
-end|
-create procedure foo2()
-begin
-insert into t1 values(concat("emergency_28_",UUID()));
-insert into t1 values("work_29_");
-insert into t1 values(concat("for_30_",UUID()));
-set session binlog_format=row; # accepted for stored procs
-insert into t1 values("more work_31_");
-set session binlog_format=mixed;
-end|
-create function foo3() returns bigint unsigned
-begin
- set session binlog_format=row; # rejected for stored funcs
- insert into t1 values("alarm");
- return 100;
-end|
-create procedure foo4(x varchar(100))
-begin
-insert into t1 values(concat("work_250_",x));
-insert into t1 select "yesterday_270_";
-end|
-delimiter ;|
-call foo();
-call foo2();
-call foo4("hello");
-call foo4(UUID());
-call foo4("world");
-
-# test that can't SET in a stored function
---error ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT
-select foo3();
-select * from t1 where a="alarm";
-
-# Tests of stored functions/triggers/views for BUG#20930 "Mixed
-# binlogging mode does not work with stored functions, triggers,
-# views"
-
-# Function which calls procedure
-drop function foo3;
-delimiter |;
-create function foo3() returns bigint unsigned
-begin
- insert into t1 values("foo3_32_");
- call foo();
- return 100;
-end|
-delimiter ;|
-insert into t2 select foo3();
-
-prepare stmt1 from 'insert into t2 select foo3()';
-execute stmt1;
-execute stmt1;
-deallocate prepare stmt1;
-
-# Test if stored function calls stored function which calls procedure
-# which requires row-based.
-
-delimiter |;
-create function foo4() returns bigint unsigned
-begin
- insert into t2 select foo3();
- return 100;
-end|
-delimiter ;|
-select foo4();
-
-prepare stmt1 from 'select foo4()';
-execute stmt1;
-execute stmt1;
-deallocate prepare stmt1;
-
-# A simple stored function
-delimiter |;
-create function foo5() returns bigint unsigned
-begin
- insert into t2 select UUID();
- return 100;
-end|
-delimiter ;|
-select foo5();
-
-prepare stmt1 from 'select foo5()';
-execute stmt1;
-execute stmt1;
-deallocate prepare stmt1;
-
-# A simple stored function where UUID() is in the argument
-delimiter |;
-create function foo6(x varchar(100)) returns bigint unsigned
-begin
- insert into t2 select x;
- return 100;
-end|
-delimiter ;|
-select foo6("foo6_1_");
-select foo6(concat("foo6_2_",UUID()));
-
-prepare stmt1 from 'select foo6(concat("foo6_3_",UUID()))';
-execute stmt1;
-execute stmt1;
-deallocate prepare stmt1;
-
-
-# Test of views using UUID()
-
-create view v1 as select uuid();
-create table t11 (data varchar(255));
-insert into t11 select * from v1;
-# Test of querying INFORMATION_SCHEMA which parses the view's body,
-# to verify that it binlogs statement-based (is not polluted by
-# the parsing of the view's body).
-insert into t11 select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysqltest1' and TABLE_NAME IN ('v1','t11');
-prepare stmt1 from "insert into t11 select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysqltest1' and TABLE_NAME IN ('v1','t11')";
-execute stmt1;
-execute stmt1;
-deallocate prepare stmt1;
-
-# Test of triggers with UUID()
-delimiter |;
-create trigger t11_bi before insert on t11 for each row
-begin
- set NEW.data = concat(NEW.data,UUID());
-end|
-delimiter ;|
-insert into t11 values("try_560_");
-
-# Test that INSERT DELAYED works in mixed mode (BUG#20649)
-insert delayed into t2 values("delay_1_");
-insert delayed into t2 values(concat("delay_2_",UUID()));
-insert delayed into t2 values("delay_6_");
-
-# Test for BUG#20633 (INSERT DELAYED RAND()/user_variable does not
-# replicate fine in statement-based ; we test that in mixed mode it
-# works).
-insert delayed into t2 values(rand());
-set @a=2.345;
-insert delayed into t2 values(@a);
-
-# With INSERT DELAYED, rows are written to the binlog after they are
-# written to the table. Therefore, it is not enough to wait until the
-# rows make it to t2 on the master (the rows may not be in the binlog
-# at that time, and may still not be in the binlog when
-# sync_slave_with_master is later called). Instead, we wait until the
-# rows make it to t2 on the slave. We first call
-# sync_slave_with_master, so that we are sure that t2 has been created
-# on the slave.
-sync_slave_with_master;
-let $wait_condition= SELECT COUNT(*) = 19 FROM mysqltest1.t2;
---source include/wait_condition.inc
-connection master;
-
-# If you want to do manual testing of the mixed mode regarding UDFs (not
-# testable automatically as quite platform- and compiler-dependent),
-# you just need to set the variable below to 1, and to
-# "make udf_example.so" in sql/, and to copy sql/udf_example.so to
-# MYSQL_TEST_DIR/lib/mysql.
-let $you_want_to_test_UDF=0;
-if ($you_want_to_test_UDF)
-{
- CREATE FUNCTION metaphon RETURNS STRING SONAME 'udf_example.so';
- prepare stmt1 from 'insert into t1 select metaphon(?)';
- set @string="emergency_133_";
- insert into t1 values("work_134_");
- execute stmt1 using @string;
- deallocate prepare stmt1;
- prepare stmt1 from 'insert into t1 select ?';
- insert into t1 values(metaphon("work_135_"));
- execute stmt1 using @string;
- deallocate prepare stmt1;
- insert into t1 values(metaphon("for_136_"));
- insert into t1 select "yesterday_137_";
- create table t6 select metaphon("for_138_");
- create table t7 select 1 union select metaphon("for_139_");
- create table t8 select * from t1 where 3 in (select 1 union select 2 union select metaphon("for_140_") union select 3);
- create table t9 select * from t1 where 3 in (select 1 union select 2 union select curdate() union select 3);
-}
-
-create table t20 select * from t1; # save for comparing later
-create table t21 select * from t2;
-create table t22 select * from t3;
-drop table t1,t2,t3;
-
-# This tests the fix to
-# BUG#19630 stored function inserting into two auto_increment breaks statement-based binlog
-# We verify that under the mixed binlog mode, a stored function
-# modifying at least two tables having an auto_increment column,
-# is binlogged row-based. Indeed in statement-based binlogging,
-# only the auto_increment value generated for the first table
-# is recorded in the binlog, the value generated for the 2nd table
-# lacking.
-
-create table t1 (a int primary key auto_increment, b varchar(100));
-create table t2 (a int primary key auto_increment, b varchar(100));
-create table t3 (b varchar(100));
-delimiter |;
-create function f (x varchar(100)) returns int deterministic
-begin
- insert into t1 values(null,x);
- insert into t2 values(null,x);
- return 1;
-end|
-delimiter ;|
-select f("try_41_");
-# Two operations which compensate each other except that their net
-# effect is that they advance the auto_increment counter of t2 on slave:
-sync_slave_with_master;
-use mysqltest1;
-insert into t2 values(2,null),(3,null),(4,null);
-delete from t2 where a>=2;
-
-connection master;
-# this is the call which didn't replicate well
-select f("try_42_");
-sync_slave_with_master;
-
-# now use prepared statement and test again, just to see that the RBB
-# mode isn't set at PREPARE but at EXECUTE.
-
-insert into t2 values(3,null),(4,null);
-delete from t2 where a>=3;
-
-connection master;
-prepare stmt1 from 'select f(?)';
-set @string="try_43_";
-insert into t1 values(null,"try_44_"); # should be SBB
-execute stmt1 using @string; # should be RBB
-deallocate prepare stmt1;
-sync_slave_with_master;
-
-# verify that if only one table has auto_inc, it does not trigger RBB
-# (we'll check in binlog further below)
-
-connection master;
-create table t12 select * from t1; # save for comparing later
-drop table t1;
-create table t1 (a int, b varchar(100), key(a));
-select f("try_45_");
-
-# restore table's key
-create table t13 select * from t1;
-drop table t1;
-create table t1 (a int primary key auto_increment, b varchar(100));
-
-# now test if it's two functions, each of them inserts in one table
-
-drop function f;
-# we need a unique key to have sorting of rows by mysqldump
-create table t14 (unique (a)) select * from t2;
-truncate table t2;
-delimiter |;
-create function f1 (x varchar(100)) returns int deterministic
-begin
- insert into t1 values(null,x);
- return 1;
-end|
-create function f2 (x varchar(100)) returns int deterministic
-begin
- insert into t2 values(null,x);
- return 1;
-end|
-delimiter ;|
-select f1("try_46_"),f2("try_47_");
-
-sync_slave_with_master;
-insert into t2 values(2,null),(3,null),(4,null);
-delete from t2 where a>=2;
-
-connection master;
-# Test with SELECT and INSERT
-select f1("try_48_"),f2("try_49_");
-insert into t3 values(concat("try_50_",f1("try_51_"),f2("try_52_")));
-sync_slave_with_master;
-
-# verify that if f2 does only read on an auto_inc table, this does not
-# switch to RBB
-connection master;
-drop function f2;
-delimiter |;
-create function f2 (x varchar(100)) returns int deterministic
-begin
- declare y int;
- insert into t1 values(null,x);
- set y = (select count(*) from t2);
- return y;
-end|
-delimiter ;|
-select f1("try_53_"),f2("try_54_");
-sync_slave_with_master;
-
-# And now, a normal statement with a trigger (no stored functions)
-
-connection master;
-drop function f2;
-delimiter |;
-create trigger t1_bi before insert on t1 for each row
-begin
- insert into t2 values(null,"try_55_");
-end|
-delimiter ;|
-insert into t1 values(null,"try_56_");
-# and now remove one auto_increment and verify SBB
-alter table t1 modify a int, drop primary key;
-insert into t1 values(null,"try_57_");
-sync_slave_with_master;
-
-# Test for BUG#20499 "mixed mode with temporary table breaks binlog"
-# Slave used to have only 2 rows instead of 3.
-connection master;
-CREATE TEMPORARY TABLE t15 SELECT UUID();
-create table t16 like t15;
-INSERT INTO t16 SELECT * FROM t15;
-# we'll verify that this one is done RBB
-insert into t16 values("try_65_");
-drop table t15;
-# we'll verify that this one is done SBB
-insert into t16 values("try_66_");
-sync_slave_with_master;
-
-# and now compare:
-
-connection master;
-
-# first check that data on master is sensible
-select count(*) from t1;
-select count(*) from t2;
-select count(*) from t3;
-select count(*) from t4;
-select count(*) from t5;
-select count(*) from t11;
-select count(*) from t20;
-select count(*) from t21;
-select count(*) from t22;
-select count(*) from t12;
-select count(*) from t13;
-select count(*) from t14;
-select count(*) from t16;
-if ($you_want_to_test_UDF)
-{
- select count(*) from t6;
- select count(*) from t7;
- select count(*) from t8;
- select count(*) from t9;
-}
-
-sync_slave_with_master;
-
-#
-# Bug#20863 If binlog format is changed between update and unlock of
-# tables, wrong binlog
-#
-
-connection master;
-DROP TABLE IF EXISTS t11;
-SET SESSION BINLOG_FORMAT=STATEMENT;
-CREATE TABLE t11 (song VARCHAR(255));
-LOCK TABLES t11 WRITE;
-SET SESSION BINLOG_FORMAT=ROW;
-INSERT INTO t11 VALUES('Several Species of Small Furry Animals Gathered Together in a Cave and Grooving With a Pict');
-SET SESSION BINLOG_FORMAT=STATEMENT;
-INSERT INTO t11 VALUES('Careful With That Axe, Eugene');
-UNLOCK TABLES;
-
---query_vertical SELECT * FROM t11
-sync_slave_with_master;
-USE mysqltest1;
---query_vertical SELECT * FROM t11
-
-connection master;
-DROP TABLE IF EXISTS t12;
-SET SESSION BINLOG_FORMAT=MIXED;
-CREATE TABLE t12 (data LONG);
-LOCK TABLES t12 WRITE;
-INSERT INTO t12 VALUES(UUID());
-UNLOCK TABLES;
-sync_slave_with_master;
-
-#
-# BUG#28086: SBR of USER() becomes corrupted on slave
-#
-
-connection master;
-
-# Just to get something that is non-trivial, albeit still simple, we
-# stuff the result of USER() and CURRENT_USER() into a variable.
---delimiter $$
-CREATE FUNCTION my_user()
- RETURNS CHAR(64)
-BEGIN
- DECLARE user CHAR(64);
- SELECT USER() INTO user;
- RETURN user;
-END $$
---delimiter ;
-
---delimiter $$
-CREATE FUNCTION my_current_user()
- RETURNS CHAR(64)
-BEGIN
- DECLARE user CHAR(64);
- SELECT CURRENT_USER() INTO user;
- RETURN user;
-END $$
---delimiter ;
-
-DROP TABLE IF EXISTS t13;
-CREATE TABLE t13 (data CHAR(64));
-INSERT INTO t13 VALUES (USER());
-INSERT INTO t13 VALUES (my_user());
-INSERT INTO t13 VALUES (CURRENT_USER());
-INSERT INTO t13 VALUES (my_current_user());
-
-sync_slave_with_master;
-
-# as we're using UUID we don't SELECT but use "diff" like in rpl_row_UUID
---exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info mysqltest1 > $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql
---exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info mysqltest1 > $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_slave.sql
-
-# Let's compare. Note: If they match test will pass, if they do not match
-# the test will show that the diff statement failed and not reject file
-# will be created. You will need to go to the mysql-test dir and diff
-# the files your self to see what is not matching
-
-diff_files $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_slave.sql;
-
-connection master;
-
-# Now test that mysqlbinlog works fine on a binlog generated by the
-# mixed mode
-
-# BUG#11312 "DELIMITER is not written to the binary log that causes
-# syntax error" makes that mysqlbinlog will fail if we pass it the
-# text of queries; this forces us to use --base64-output here.
-
-# BUG#20929 "BINLOG command causes invalid free plus assertion
-# failure" makes mysqld segfault when receiving --base64-output
-
-# So I can't enable this piece of test
-# SIGH
-
-if ($enable_when_11312_or_20929_fixed)
-{
---exec $MYSQL_BINLOG --base64-output $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mysqlbinlog_mixed.sql
-drop database mysqltest1;
---exec $MYSQL < $MYSQLTEST_VARDIR/tmp/mysqlbinlog_mixed.sql
---exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info mysqltest1 > $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql
-# the old mysqldump output on slave is the same as what it was on
-# master before restoring on master.
-diff_files $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_slave.sql;
-}
-
-drop database mysqltest1;
-sync_slave_with_master;
-
-connection master;
-# Restore binlog format setting
-set global binlog_format =@my_binlog_format;
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_switch_stm_row_mixed.inc
diff --git a/mysql-test/suite/rpl/t/rpl_sync.test b/mysql-test/suite/rpl/t/rpl_sync.test
index 8357c0acee6..ec98a344282 100644
--- a/mysql-test/suite/rpl/t/rpl_sync.test
+++ b/mysql-test/suite/rpl/t/rpl_sync.test
@@ -1,151 +1,2 @@
-########################################################################################
-# This test verifies the options --sync-relay-log-info and --relay-log-recovery by
-# crashing the slave in two different situations:
-# (case-1) - Corrupt the relay log with changes which were not processed by
-# the SQL Thread and crashes it.
-# (case-2) - Corrupt the master.info with wrong coordinates and crashes it.
-#
-# Case 1:
-# 1 - Stops the SQL Thread
-# 2 - Inserts new records into the master.
-# 3 - Corrupts the relay-log.bin* which most likely has such changes.
-# 4 - Crashes the slave
-# 5 - Verifies if the slave is sync with the master which means that the information
-# loss was circumvented by the recovery process.
-#
-# Case 2:
-# 1 - Stops the SQL/IO Threads
-# 2 - Inserts new records into the master.
-# 3 - Corrupts the master.info with wrong coordinates.
-# 4 - Crashes the slave
-# 5 - Verifies if the slave is sync with the master which means that the information
-# loss was circumvented by the recovery process.
-########################################################################################
-
-########################################################################################
-# Configuring the environment
-########################################################################################
---echo =====Configuring the enviroment=======;
---source include/master-slave.inc
---source include/not_embedded.inc
---source include/not_valgrind.inc
---source include/have_debug.inc
---source include/have_innodb.inc
---source include/not_crashrep.inc
-
-call mtr.add_suppression('Attempting backtrace');
-call mtr.add_suppression("Recovery from master pos .* and file master-bin.000001");
-flush tables;
-CREATE TABLE t1(a INT, PRIMARY KEY(a)) engine=innodb;
-
-insert into t1(a) values(1);
-insert into t1(a) values(2);
-insert into t1(a) values(3);
-
-########################################################################################
-# Case 1: Corrupt a relay-log.bin*
-########################################################################################
---echo =====Inserting data on the master but without the SQL Thread being running=======;
-sync_slave_with_master;
-
-connection slave;
-let $MYSQLD_SLAVE_DATADIR= `select @@datadir`;
---replace_result $MYSQLD_SLAVE_DATADIR MYSQLD_SLAVE_DATADIR
---copy_file $MYSQLD_SLAVE_DATADIR/master.info $MYSQLD_SLAVE_DATADIR/master.backup
---source include/stop_slave_sql.inc
-
-connection master;
-insert into t1(a) values(4);
-insert into t1(a) values(5);
-insert into t1(a) values(6);
-
---echo =====Removing relay log files and crashing/recoverying the slave=======;
-connection slave;
---source include/stop_slave_io.inc
-
-let $file= query_get_value("SHOW SLAVE STATUS", Relay_Log_File, 1);
-
---let FILE_TO_CORRUPT= $MYSQLD_SLAVE_DATADIR/$file
-perl;
-$file= $ENV{'FILE_TO_CORRUPT'};
-open(FILE, ">$file") || die "Unable to open $file.";
-truncate(FILE,0);
-print FILE "failure";
-close ($file);
-EOF
-
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
---error 2013
-FLUSH LOGS;
-
---let $rpl_server_number= 2
---source include/rpl_reconnect.inc
-
---echo =====Dumping and comparing tables=======;
---source include/start_slave.inc
-
-connection master;
-sync_slave_with_master;
-
-let $diff_tables=master:t1,slave:t1;
-source include/diff_tables.inc;
-
-########################################################################################
-# Case 2: Corrupt a master.info
-########################################################################################
---echo =====Corrupting the master.info=======;
-connection slave;
---source include/stop_slave.inc
-
-connection master;
-FLUSH LOGS;
-
-insert into t1(a) values(7);
-insert into t1(a) values(8);
-insert into t1(a) values(9);
-
-connection slave;
-let MYSQLD_SLAVE_DATADIR=`select @@datadir`;
-
---perl
-use strict;
-use warnings;
-my $src= "$ENV{'MYSQLD_SLAVE_DATADIR'}/master.backup";
-my $dst= "$ENV{'MYSQLD_SLAVE_DATADIR'}/master.info";
-open(FILE, "<", $src) or die;
-my @content= <FILE>;
-close FILE;
-open(FILE, ">", $dst) or die;
-binmode FILE;
-print FILE @content;
-close FILE;
-EOF
-
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
---error 2013
-FLUSH LOGS;
-
---let $rpl_server_number= 2
---source include/rpl_reconnect.inc
-
---echo =====Dumping and comparing tables=======;
---source include/start_slave.inc
-
-connection master;
-sync_slave_with_master;
-
-let $diff_tables=master:t1,slave:t1;
-source include/diff_tables.inc;
-
-########################################################################################
-# Clean up
-########################################################################################
---echo =====Clean up=======;
-connection master;
-drop table t1;
-
---remove_file $MYSQLD_SLAVE_DATADIR/master.backup
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_sync.inc
diff --git a/mysql-test/suite/rpl/t/rpl_table_options.test b/mysql-test/suite/rpl/t/rpl_table_options.test
index 12ff1ca457b..3f52444a3c7 100644
--- a/mysql-test/suite/rpl/t/rpl_table_options.test
+++ b/mysql-test/suite/rpl/t/rpl_table_options.test
@@ -23,6 +23,8 @@ show create table t1;
sync_slave_with_master;
connection slave;
show create table t1;
+set sql_mode=ignore_bad_table_options;
+show create table t1;
connection master;
drop table t1;
diff --git a/mysql-test/suite/rpl/t/rpl_temp_table.test b/mysql-test/suite/rpl/t/rpl_temp_table.test
index 92f8cef9c10..8b3af5d51cd 100644
--- a/mysql-test/suite/rpl/t/rpl_temp_table.test
+++ b/mysql-test/suite/rpl/t/rpl_temp_table.test
@@ -57,12 +57,28 @@ select count(*) from t2;
select sum(n) from t2;
show status like 'Slave_open_temp_tables';
+--echo *** MDEV-8016: Replication aborts on DROP /*!40005 TEMPORARY */ TABLE IF EXISTS ***
+connect (master2,localhost,root,,);
+INSERT INTO t2 VALUES (2000), (2001);
+CREATE FUNCTION f() RETURNS INTEGER RETURN 1;
+CREATE TEMPORARY TABLE t3 AS SELECT f() AS col FROM t2;
+--let $gtid=`SELECT @@gtid_binlog_pos`
+--disconnect master2
+--connection default
+# Wait for implicit DROP TEMPORARY TABLE tmp to be binlogged.
+--let $wait_condition= SELECT @@gtid_binlog_pos != '$gtid'
+--source include/wait_condition.inc
+
+--sync_slave_with_master
+
+
#
# Clean up
#
connect (master2,localhost,root,,);
connection master2;
drop table if exists t1,t2;
+drop function f;
sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test b/mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
index 70a2063c23c..1cc975e6ad4 100644
--- a/mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
+++ b/mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
@@ -9,9 +9,9 @@
# 4: sync to slave and check the number of temp tables on slave.
#
-source include/master-slave.inc;
source include/have_binlog_format_mixed.inc;
source include/have_innodb.inc;
+source include/master-slave.inc;
--echo ==== Initialize ====
@@ -192,7 +192,9 @@ DROP TEMPORARY TABLE t1;
# INSERT INTO t1 VALUES(1);
--echo # The rows event will binlogged after 'INSERT INTO t1 VALUES(1)'
+--disable_warnings
INSERT INTO t1 VALUES(uuid()+0);
+--enable_warnings
COMMIT;
source include/show_binlog_events.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_temporal_format_default_to_default.test b/mysql-test/suite/rpl/t/rpl_temporal_format_default_to_default.test
new file mode 100644
index 00000000000..99a70e011c4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporal_format_default_to_default.test
@@ -0,0 +1 @@
+--source extra/rpl_tests/rpl_temporal_format_default_to_default.inc
diff --git a/mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mariadb53.test b/mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mariadb53.test
new file mode 100644
index 00000000000..058ad017305
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mariadb53.test
@@ -0,0 +1,4 @@
+--let $force_master_mysql56_temporal_format=false;
+--let $force_slave_mysql56_temporal_format=false;
+
+--source rpl_temporal_format_default_to_default.test
diff --git a/mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mysql56.test b/mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mysql56.test
new file mode 100644
index 00000000000..547b0831cc7
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mysql56.test
@@ -0,0 +1,14 @@
+#
+# MariaDB-5.3 fractional temporal types do not store metadata
+# when running with --binlog-format=row, thus can replicate
+# only into a field with exactly the same data type and format.
+#
+# Skip when running with --binlog-format=row.
+# But mixed and statement formats should work without problems.
+#
+-- source include/have_binlog_format_mixed_or_statement.inc
+
+--let $force_master_mysql56_temporal_format=false;
+--let $force_slave_mysql56_temporal_format=true;
+
+--source rpl_temporal_format_default_to_default.test
diff --git a/mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mysql56_dst.test b/mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mysql56_dst.test
new file mode 100644
index 00000000000..511bdc15184
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporal_format_mariadb53_to_mysql56_dst.test
@@ -0,0 +1,37 @@
+#
+# MDEV-12672 Replicated TIMESTAMP fields given wrong value near DST change
+#
+source include/have_binlog_format_row.inc;
+source include/master-slave.inc;
+
+connection slave;
+set global time_zone='Europe/Moscow';
+set time_zone='UTC';
+stop slave;
+start slave;
+
+connection master;
+set global mysql56_temporal_format=false;
+set global time_zone='Europe/Moscow';
+set time_zone='UTC';
+
+create table t1 (pk int primary key, t timestamp not null);
+set timestamp = 1288477526;
+insert into t1 values (1,null);
+set timestamp = 1288481126;
+insert into t1 values (2,null);
+
+sync_slave_with_master;
+
+select pk, t, unix_timestamp(t) from t1;
+set time_zone=default;
+select pk, t, unix_timestamp(t) from t1;
+
+set global time_zone=default;
+
+connection master;
+drop table t1;
+set global time_zone=default;
+set global mysql56_temporal_format=default;
+
+source include/rpl_end.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_temporal_format_mysql56_to_mariadb53.test b/mysql-test/suite/rpl/t/rpl_temporal_format_mysql56_to_mariadb53.test
new file mode 100644
index 00000000000..dbee9f05d0a
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporal_format_mysql56_to_mariadb53.test
@@ -0,0 +1,4 @@
+--let $force_master_mysql56_temporal_format=true;
+--let $force_slave_mysql56_temporal_format=false;
+
+--source rpl_temporal_format_default_to_default.test
diff --git a/mysql-test/suite/rpl/t/rpl_temporal_format_mysql56_to_mysql56.test b/mysql-test/suite/rpl/t/rpl_temporal_format_mysql56_to_mysql56.test
new file mode 100644
index 00000000000..9c7994b67de
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporal_format_mysql56_to_mysql56.test
@@ -0,0 +1,4 @@
+--let $force_master_mysql56_temporal_format=true;
+--let $force_slave_mysql56_temporal_format=true;
+
+--source rpl_temporal_format_default_to_default.test
diff --git a/mysql-test/suite/rpl/t/rpl_temporal_mysql56.test b/mysql-test/suite/rpl/t/rpl_temporal_mysql56.test
new file mode 100644
index 00000000000..f21f125ba30
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporal_mysql56.test
@@ -0,0 +1,48 @@
+--source include/master-slave.inc
+
+connection master;
+SET TIME_ZONE='+00:00';
+let $MYSQLD_MASTER_DATADIR= `select @@datadir`;
+
+connection slave;
+SET TIME_ZONE='+00:00';
+let $MYSQLD_SLAVE_DATADIR= `select @@datadir`;
+
+--copy_file std_data/mysql56time.frm $MYSQLD_MASTER_DATADIR/test/mysql56time.frm
+--copy_file std_data/mysql56time.MYD $MYSQLD_MASTER_DATADIR/test/mysql56time.MYD
+--copy_file std_data/mysql56time.MYI $MYSQLD_MASTER_DATADIR/test/mysql56time.MYI
+--copy_file std_data/mysql56time.frm $MYSQLD_SLAVE_DATADIR/test/mysql56time.frm
+--copy_file std_data/mysql56time.MYD $MYSQLD_SLAVE_DATADIR/test/mysql56time.MYD
+--copy_file std_data/mysql56time.MYI $MYSQLD_SLAVE_DATADIR/test/mysql56time.MYI
+
+--copy_file std_data/mysql56datetime.frm $MYSQLD_MASTER_DATADIR/test/mysql56datetime.frm
+--copy_file std_data/mysql56datetime.MYD $MYSQLD_MASTER_DATADIR/test/mysql56datetime.MYD
+--copy_file std_data/mysql56datetime.MYI $MYSQLD_MASTER_DATADIR/test/mysql56datetime.MYI
+--copy_file std_data/mysql56datetime.frm $MYSQLD_SLAVE_DATADIR/test/mysql56datetime.frm
+--copy_file std_data/mysql56datetime.MYD $MYSQLD_SLAVE_DATADIR/test/mysql56datetime.MYD
+--copy_file std_data/mysql56datetime.MYI $MYSQLD_SLAVE_DATADIR/test/mysql56datetime.MYI
+
+--copy_file std_data/mysql56timestamp.frm $MYSQLD_MASTER_DATADIR/test/mysql56timestamp.frm
+--copy_file std_data/mysql56timestamp.MYD $MYSQLD_MASTER_DATADIR/test/mysql56timestamp.MYD
+--copy_file std_data/mysql56timestamp.MYI $MYSQLD_MASTER_DATADIR/test/mysql56timestamp.MYI
+--copy_file std_data/mysql56timestamp.frm $MYSQLD_SLAVE_DATADIR/test/mysql56timestamp.frm
+--copy_file std_data/mysql56timestamp.MYD $MYSQLD_SLAVE_DATADIR/test/mysql56timestamp.MYD
+--copy_file std_data/mysql56timestamp.MYI $MYSQLD_SLAVE_DATADIR/test/mysql56timestamp.MYI
+
+connection master;
+INSERT INTO mysql56time VALUES ('01:01:01','01:01:01.1','01:01:01.11','01:01:01.111','01:01:01.1111','01:01:01.11111','01:01:01.111111');
+INSERT INTO mysql56datetime VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+INSERT INTO mysql56timestamp VALUES ('2001-01-01 01:01:01','2001-01-01 01:01:01.1','2001-01-01 01:01:01.11','2001-01-01 01:01:01.111','2001-01-01 01:01:01.1111','2001-01-01 01:01:01.11111','2001-01-01 01:01:01.111111');
+sync_slave_with_master;
+
+connection slave;
+--query_vertical SELECT * FROM mysql56time
+--query_vertical SELECT * FROM mysql56datetime
+--query_vertical SELECT * FROM mysql56timestamp
+
+connection master;
+DROP TABLE mysql56time;
+DROP TABLE mysql56datetime;
+DROP TABLE mysql56timestamp;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_temporal_mysql56_to_mariadb.test b/mysql-test/suite/rpl/t/rpl_temporal_mysql56_to_mariadb.test
new file mode 100644
index 00000000000..efbff9345d4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporal_mysql56_to_mariadb.test
@@ -0,0 +1,55 @@
+--source include/master-slave.inc
+
+if ($force_slave_mysql56_temporal_format)
+{
+ connection slave;
+ eval SET @@global.mysql56_temporal_format=$force_slave_mysql56_temporal_format;
+ connection master;
+}
+
+
+--echo #
+--echo # Testing replication from MariaDB-10.0 master
+--echo # started over MySQL-5.6 data directory
+--echo # to MariaDB-10.0 slave running with natively created tables
+--echo #
+
+connection master;
+SET TIME_ZONE='+00:00';
+let $MYSQLD_MASTER_DATADIR= `select @@datadir`;
+
+--copy_file std_data/temporal_upgrade/mysql050614_temporal0.frm $MYSQLD_MASTER_DATADIR/test/mysql050614_temporal0.frm
+--copy_file std_data/temporal_upgrade/mysql050614_temporal0.MYD $MYSQLD_MASTER_DATADIR/test/mysql050614_temporal0.MYD
+--copy_file std_data/temporal_upgrade/mysql050614_temporal0.MYI $MYSQLD_MASTER_DATADIR/test/mysql050614_temporal0.MYI
+
+--copy_file std_data/temporal_upgrade/mysql050614_temporal1.frm $MYSQLD_MASTER_DATADIR/test/mysql050614_temporal1.frm
+--copy_file std_data/temporal_upgrade/mysql050614_temporal1.MYD $MYSQLD_MASTER_DATADIR/test/mysql050614_temporal1.MYD
+--copy_file std_data/temporal_upgrade/mysql050614_temporal1.MYI $MYSQLD_MASTER_DATADIR/test/mysql050614_temporal1.MYI
+SHOW CREATE TABLE mysql050614_temporal0;
+SHOW CREATE TABLE mysql050614_temporal1;
+
+connection slave;
+SELECT @@mysql56_temporal_format;
+SET TIME_ZONE='+00:00';
+CREATE TABLE mysql050614_temporal0 (a time(0), b datetime(0), c timestamp(0)) engine=myisam;
+CREATE TABLE mysql050614_temporal1 (a time(1), b datetime(1), c timestamp(1)) engine=myisam;
+
+connection master;
+INSERT INTO mysql050614_temporal0 VALUES ('00:00:02','2001-01-01 00:00:02','2001-01-01 00:00:02');
+INSERT INTO mysql050614_temporal1 VALUES ('00:00:02.1','2001-01-01 00:00:02.2','2001-01-01 00:00:02.3');
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH, DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME LIKE 'mysql050614_temporal%' ORDER BY TABLE_NAME;
+sync_slave_with_master;
+
+connection slave;
+SELECT * FROM mysql050614_temporal0;
+SELECT * FROM mysql050614_temporal1;
+SELECT TABLE_NAME, TABLE_ROWS, AVG_ROW_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME LIKE 'mysql050614_temporal%' ORDER BY TABLE_NAME;
+SET @@global.mysql56_temporal_format=DEFAULT;
+
+connection master;
+DROP TABLE mysql050614_temporal0;
+DROP TABLE mysql050614_temporal1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_temporal_mysql56_to_mariadb53.test b/mysql-test/suite/rpl/t/rpl_temporal_mysql56_to_mariadb53.test
new file mode 100644
index 00000000000..435dad57c27
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporal_mysql56_to_mariadb53.test
@@ -0,0 +1,2 @@
+--let $force_slave_mysql56_temporal_format=false;
+--source rpl_temporal_mysql56_to_mariadb.test
diff --git a/mysql-test/suite/rpl/t/rpl_temporary_error2.test b/mysql-test/suite/rpl/t/rpl_temporary_error2.test
new file mode 100644
index 00000000000..b4fbca7113b
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporary_error2.test
@@ -0,0 +1,77 @@
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+--echo *** 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);
+
+--sync_slave_with_master
+SELECT * FROM t1 ORDER BY a;
+# Use MyISAM for t2 on the slave, so we have a way to see how far the
+# slave replication thread has proceeded in the transaction.
+SET sql_log_bin=0;
+ALTER TABLE t2 ENGINE=MyISAM;
+SET sql_log_bin=1;
+let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+
+# Setup a separate connection that can deadlock with the replication thread.
+# Docs say that InnoDB will try to roll back the smaller transaction. So
+# let us make this transaction a big one, so the one in the replication
+# thread will be selected for rollback and retry.
+--connect (con_temp1,127.0.0.1,root,,test,$SERVER_MYPORT_2,)
+--connection con_temp1
+BEGIN;
+UPDATE t1 SET b=2 WHERE a=4;
+--disable_query_log
+--let $count=200
+while ($count)
+{
+ eval INSERT INTO t1(a) VALUES ($count + 10);
+ dec $count;
+}
+--enable_query_log
+# Note that InnoDB also (undocumented?) tries to avoid rolling back a
+# "transaction" that modified non-transactional tables. So be sure to also
+# touch the MyISAM table in this transaction.
+INSERT INTO t2 VALUES (2);
+DELETE FROM t2 WHERE a=2;
+
+# Create the transaction that should participate in the deadlock on the slave.
+--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;
+--save_master_pos
+
+--connection slave
+# Wait until replication thread has gone to wait on the a=4 row lock.
+--let $wait_condition= SELECT COUNT(*) = 1 FROM t2 WHERE a=1
+--source include/wait_condition.inc
+
+# Now provoke the deadlock by waiting on the a=2 row lock while the
+# other thread is waiting for our a=4 row lock.
+--connection con_temp1
+UPDATE t1 SET b=2 WHERE a=2;
+SELECT * FROM t1 WHERE a<10 ORDER BY a;
+ROLLBACK;
+
+--connection slave
+--sync_with_master
+SELECT * FROM t1 ORDER BY a;
+--echo * There will be two rows in t2 due to the retry.
+SELECT * FROM t2 ORDER BY a;
+let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+--disable_query_log
+eval SELECT $new_retry - $old_retry AS retries;
+--enable_query_log
+--let $status_items= Last_SQL_Errno, Last_SQL_Error
+--source include/show_slave_status.inc
+
+--connection master
+DROP TABLE t1;
+DROP TABLE t2;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_temporary_errors.test b/mysql-test/suite/rpl/t/rpl_temporary_errors.test
index 250ccf4c1cd..4a532976787 100644
--- a/mysql-test/suite/rpl/t/rpl_temporary_errors.test
+++ b/mysql-test/suite/rpl/t/rpl_temporary_errors.test
@@ -1,6 +1,6 @@
source include/have_binlog_format_row.inc;
-source include/master-slave.inc;
source include/have_innodb.inc;
+source include/master-slave.inc;
call mtr.add_suppression("Deadlock found");
call mtr.add_suppression("Can't find record in 't.'");
diff --git a/mysql-test/suite/rpl/t/rpl_trigger.test b/mysql-test/suite/rpl/t/rpl_trigger.test
index 723fa3e44e2..e062e821a25 100644
--- a/mysql-test/suite/rpl/t/rpl_trigger.test
+++ b/mysql-test/suite/rpl/t/rpl_trigger.test
@@ -533,6 +533,19 @@ drop table t1, log;
sync_slave_with_master;
#
+# MDEV-6769 DROP TRIGGER IF NOT EXIST binlogged on master but not on slave
+#
+let $slave_pos= query_get_value(SHOW MASTER STATUS, Position, 1);
+connection master;
+let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+drop trigger if exists notexistent;
+source include/show_binlog_events.inc;
+sync_slave_with_master;
+let $binlog_start= $slave_pos;
+source include/show_binlog_events.inc;
+connection master;
+
+#
# End of tests
#
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_truncate_2myisam.test b/mysql-test/suite/rpl/t/rpl_truncate_2myisam.test
index bea6332963e..4a8994d1878 100644
--- a/mysql-test/suite/rpl/t/rpl_truncate_2myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_truncate_2myisam.test
@@ -1,3 +1,2 @@
---source include/not_ndb_default.inc
let $engine=MyISAM;
--source extra/rpl_tests/rpl_truncate.test
diff --git a/mysql-test/suite/rpl/t/rpl_truncate_3innodb.test b/mysql-test/suite/rpl/t/rpl_truncate_3innodb.test
index 093cf56a316..fbedaed87c1 100644
--- a/mysql-test/suite/rpl/t/rpl_truncate_3innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_truncate_3innodb.test
@@ -1,4 +1,3 @@
--source include/have_innodb.inc
---source include/not_ndb_default.inc
let $engine=InnoDB;
--source extra/rpl_tests/rpl_truncate.test
diff --git a/mysql-test/suite/rpl/t/rpl_typeconv.test b/mysql-test/suite/rpl/t/rpl_typeconv.test
index efcbe97049f..4dbfc27d088 100644
--- a/mysql-test/suite/rpl/t/rpl_typeconv.test
+++ b/mysql-test/suite/rpl/t/rpl_typeconv.test
@@ -1,72 +1 @@
---source include/have_binlog_format_row.inc
---source include/master-slave.inc
-
-connection slave;
-set @saved_slave_type_conversions = @@global.slave_type_conversions;
-CREATE TABLE type_conversions (
- TestNo INT AUTO_INCREMENT PRIMARY KEY,
- Source TEXT,
- Target TEXT,
- Flags TEXT,
- On_Master TEXT,
- On_Slave TEXT,
- Expected TEXT,
- Compare INT,
- Error TEXT);
-
-SELECT @@global.slave_type_conversions;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS='';
-SELECT @@global.slave_type_conversions;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
-SELECT @@global.slave_type_conversions;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY';
-SELECT @@global.slave_type_conversions;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY';
-SELECT @@global.slave_type_conversions;
---error ER_WRONG_VALUE_FOR_VAR
-SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY,NONEXISTING_BIT';
-SELECT @@global.slave_type_conversions;
-
-# Checking strict interpretation of type conversions
-connection slave;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS='';
-source extra/rpl_tests/type_conversions.test;
-
-# Checking lossy integer type conversions
-connection slave;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
-source extra/rpl_tests/type_conversions.test;
-
-# Checking non-lossy integer type conversions
-connection slave;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY';
-source extra/rpl_tests/type_conversions.test;
-
-# Checking all type conversions
-connection slave;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY';
-source extra/rpl_tests/type_conversions.test;
-
-connection slave;
---echo **** Result of conversions ****
-disable_query_log;
-SELECT RPAD(Source, 15, ' ') AS Source_Type,
- RPAD(Target, 15, ' ') AS Target_Type,
- RPAD(Flags, 25, ' ') AS All_Type_Conversion_Flags,
- IF(Compare IS NULL AND Error IS NOT NULL, '<Correct error>',
- IF(Compare, '<Correct value>',
- CONCAT("'", On_Slave, "' != '", Expected, "'")))
- AS Value_On_Slave
- FROM type_conversions;
-enable_query_log;
-DROP TABLE type_conversions;
-
-call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t1. cannot be converted from type.* Error_code: 1677");
-
-connection master;
-DROP TABLE t1;
-sync_slave_with_master;
-
-set global slave_type_conversions = @saved_slave_type_conversions;
-
---source include/rpl_end.inc
+--source extra/rpl_tests/rpl_typeconv.inc
diff --git a/mysql-test/suite/rpl/t/rpl_upgrade_master_info.test b/mysql-test/suite/rpl/t/rpl_upgrade_master_info.test
new file mode 100644
index 00000000000..e81e7c0d714
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_upgrade_master_info.test
@@ -0,0 +1,163 @@
+--source include/master-slave.inc
+
+--echo *** MDEV-9383: Server fails to read master.info after upgrade 10.0 -> 10.1 ***
+
+--connection slave
+--source include/stop_slave.inc
+CHANGE MASTER TO master_use_gtid=CURRENT_POS;
+--let $datadir= `SELECT @@datadir`
+
+--let $rpl_server_number= 2
+--source include/rpl_stop_server.inc
+
+--remove_file $datadir/master.info
+--copy_file $MYSQL_TEST_DIR/std_data/bad_master.info $datadir/master.info
+
+--let $rpl_server_number= 2
+--source include/rpl_start_server.inc
+
+--source include/wait_until_connected_again.inc
+
+--connection master
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+--source include/save_master_gtid.inc
+
+--connection slave
+# Fix the port after we replaced master.info.
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1;
+
+--source include/stop_slave.inc
+
+--let $rpl_server_number= 2
+--source include/rpl_stop_server.inc
+
+--remove_file $datadir/master.info
+--copy_file $MYSQL_TEST_DIR/std_data/bad2_master.info $datadir/master.info
+
+--let $rpl_server_number= 2
+--source include/rpl_start_server.inc
+
+--source include/wait_until_connected_again.inc
+
+--connection master
+INSERT INTO t1 VALUES (2);
+--source include/save_master_gtid.inc
+
+--connection slave
+# Fix the port after we replaced master.info.
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+
+--let $rpl_server_number= 2
+--source include/rpl_stop_server.inc
+
+--remove_file $datadir/master.info
+--copy_file $MYSQL_TEST_DIR/std_data/bad3_master.info $datadir/master.info
+
+--let $rpl_server_number= 2
+--source include/rpl_start_server.inc
+
+--source include/wait_until_connected_again.inc
+
+--connection master
+INSERT INTO t1 VALUES (3);
+--source include/save_master_gtid.inc
+
+--connection slave
+# Fix the port after we replaced master.info.
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+
+--let $rpl_server_number= 2
+--source include/rpl_stop_server.inc
+
+--remove_file $datadir/master.info
+--copy_file $MYSQL_TEST_DIR/std_data/bad4_master.info $datadir/master.info
+
+--let $rpl_server_number= 2
+--source include/rpl_start_server.inc
+
+--source include/wait_until_connected_again.inc
+
+--connection master
+INSERT INTO t1 VALUES (4);
+--source include/save_master_gtid.inc
+
+--connection slave
+# Fix the port after we replaced master.info.
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+
+--let $rpl_server_number= 2
+--source include/rpl_stop_server.inc
+
+--remove_file $datadir/master.info
+--copy_file $MYSQL_TEST_DIR/std_data/bad5_master.info $datadir/master.info
+
+--let $rpl_server_number= 2
+--source include/rpl_start_server.inc
+
+--source include/wait_until_connected_again.inc
+
+--connection master
+INSERT INTO t1 VALUES (5);
+--source include/save_master_gtid.inc
+
+--connection slave
+# Fix the port after we replaced master.info.
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+--source include/stop_slave.inc
+
+--let $rpl_server_number= 2
+--source include/rpl_stop_server.inc
+
+--remove_file $datadir/master.info
+--copy_file $MYSQL_TEST_DIR/std_data/bad6_master.info $datadir/master.info
+
+--let $rpl_server_number= 2
+--source include/rpl_start_server.inc
+
+--source include/wait_until_connected_again.inc
+
+--connection master
+INSERT INTO t1 VALUES (6);
+--source include/save_master_gtid.inc
+
+--connection slave
+# Fix the port after we replaced master.info.
+--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
+eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+SELECT * FROM t1 ORDER BY a;
+
+
+# Cleanup
+--connection master
+DROP TABLE t1;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_variables.test b/mysql-test/suite/rpl/t/rpl_variables.test
index ca90054da2a..246e595d265 100644
--- a/mysql-test/suite/rpl/t/rpl_variables.test
+++ b/mysql-test/suite/rpl/t/rpl_variables.test
@@ -119,6 +119,30 @@ SET @@global.init_slave = 'SELECT 1';
--echo [on master]
connection master;
+# checking values of read-only variables
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+query_vertical SELECT @@pid_file, @@datadir;
+--echo **** Relay log variables
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+query_vertical SELECT @@relay_log, @@relay_log_index, @@relay_log_basename;
+--echo **** Binary log variables
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+query_vertical SELECT @@log_bin, @@log_bin_index, @@log_bin_basename;
+
+--echo [on slave]
+connection slave;
+# checking values of read-only variables
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+query_vertical SELECT @@pid_file, @@datadir;
+--echo **** Relay log variables
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+query_vertical SELECT @@relay_log, @@relay_log_index, @@relay_log_basename;
+--echo **** Binary log variables
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+query_vertical SELECT @@log_bin, @@log_bin_index, @@log_bin_basename;
+
+--echo [on master]
+connection master;
# Tables where everything happens.
CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
diff --git a/mysql-test/suite/rpl/t/rpl_view_debug.test b/mysql-test/suite/rpl/t/rpl_view_debug.test
new file mode 100644
index 00000000000..a00b6733dea
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_view_debug.test
@@ -0,0 +1,34 @@
+--source include/have_debug.inc
+--source include/master-slave.inc
+
+--echo #
+--echo # MDEV-6409 CREATE VIEW replication problem if error occurs in mysql_register_view
+--echo #
+--echo # Check the bug where if an error occurs in mysql_register_view the view
+--echo # is still replicated to the slave
+--echo #
+connection master;
+create table t1 (a int);
+insert into t1 values (1);
+create view v1 as select a from t1;
+insert into v1 values (2);
+select * from v1 order by a;
+sync_slave_with_master;
+
+# view already has to be on slave
+show tables;
+connection master;
+set @@debug_dbug="d,simulate_register_view_failure";
+
+--error ER_OUT_OF_RESOURCES
+CREATE VIEW v2 as SELECT * FROM t1;
+
+show tables;
+sync_slave_with_master;
+show tables;
+
+connection master;
+DROP VIEW IF EXISTS v1;
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/sec_behind_master-5114.test b/mysql-test/suite/rpl/t/sec_behind_master-5114.test
new file mode 100644
index 00000000000..d1d21bfa766
--- /dev/null
+++ b/mysql-test/suite/rpl/t/sec_behind_master-5114.test
@@ -0,0 +1,63 @@
+source include/have_binlog_format_statement.inc;
+source include/master-slave.inc;
+
+call mtr.add_suppression("Unsafe statement written to the binary log");
+
+
+# Make sure that the start time of the first event is certainly different
+# from the next event
+--let $timestamp= `SELECT @@timestamp`
+--disable_query_log
+eval SET TIMESTAMP= $timestamp-100;
+--enable_query_log
+CREATE TABLE t1 (a int);
+
+# Make sure that the slave is done with the first event, and all checks
+# that we'll perform later will be really against the second event
+sync_slave_with_master;
+
+connection master;
+
+# Restore the timestamp now. It doesn't matter that it's not precise,
+# it just needs to be very different from the earlier event
+--disable_query_log
+eval SET TIMESTAMP= $timestamp;
+--enable_query_log
+
+send INSERT INTO t1 VALUES(SLEEP(2));
+
+connection slave;
+
+# When the slave starts executing the event, Seconds_Behind_Master
+# should start growing steadilly. The bugfix ensures that they are
+# calculated based on the start time of the current event, rather
+# than the start time of the previous event. To check it, we only need
+# the first non-zero value
+
+let $run = 20;
+while ($run)
+{
+ dec $run;
+ let $sbm=query_get_value(SHOW SLAVE STATUS, Seconds_Behind_Master, 1);
+ # for debugging uncomment echo and remove the if()
+# echo Seconds_Behind_Master: $sbm;
+ if ($sbm)
+ {
+ let $run = 0;
+ }
+ sleep 0.5;
+}
+
+# Normally the first non-zero value should be 1. However, due to race
+# conditions on slow servers, sometimes the check might miss the value 1,
+# and only catch a higher one. It does not matter, we just need to make
+# sure it didn't start with 100+, as it would have with bug MDEV-5114
+
+--disable_query_log
+eval SELECT $sbm > 0 and $sbm < 99 AS Seconds_Behind_Master_is_less_than_100;
+--enable_query_log
+
+connection master;
+reap;
+drop table t1;
+source include/rpl_end.inc;
diff --git a/mysql-test/suite/rpl/t/semisync_future-7591.test b/mysql-test/suite/rpl/t/semisync_future-7591.test
new file mode 100644
index 00000000000..daf3d2f8571
--- /dev/null
+++ b/mysql-test/suite/rpl/t/semisync_future-7591.test
@@ -0,0 +1,33 @@
+--source include/have_semisync.inc
+--source include/master-slave.inc
+
+call mtr.add_suppression("Timeout waiting for reply of binlog*");
+create table t1 (i int);
+
+set global rpl_semi_sync_master_enabled = ON;
+
+--connection slave
+--source include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = ON;
+change master to master_log_file='master-bin.000002', master_log_pos = 320;
+
+start slave;
+--let $slave_io_errno=1236
+--source include/wait_for_slave_io_error.inc
+
+--connection master
+insert into t1 values (1);
+reset master;
+
+--connection slave
+--source include/stop_slave.inc
+reset slave;
+--source include/start_slave.inc
+
+set global rpl_semi_sync_slave_enabled = OFF;
+--connection master
+drop table t1;
+--sync_slave_with_master
+--connection master
+set global rpl_semi_sync_master_enabled = OFF;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/semisync_memleak_4066.test b/mysql-test/suite/rpl/t/semisync_memleak_4066.test
index 687af883936..f888f764b43 100644
--- a/mysql-test/suite/rpl/t/semisync_memleak_4066.test
+++ b/mysql-test/suite/rpl/t/semisync_memleak_4066.test
@@ -1,19 +1,15 @@
#
# MDEV-4066 semisync_master + temporary tables causes memory leaks
#
-source include/have_semisync_plugin.inc;
+source include/have_semisync.inc;
source include/have_binlog_format_row.inc;
source include/master-slave.inc;
connection master;
---replace_result .dll .so
-eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
-
--connect (con1,localhost,root,,)
CREATE TEMPORARY TABLE tmp (i INT);
--disconnect con1
source include/rpl_end.inc;
-uninstall plugin rpl_semi_sync_master;
diff --git a/mysql-test/suite/rpl/t/temporal_row-9560-master.opt b/mysql-test/suite/rpl/t/temporal_row-9560-master.opt
new file mode 100644
index 00000000000..07c4494e8b6
--- /dev/null
+++ b/mysql-test/suite/rpl/t/temporal_row-9560-master.opt
@@ -0,0 +1 @@
+--disable-mysql56-temporal-format
diff --git a/mysql-test/suite/rpl/t/temporal_row-9560.combinations b/mysql-test/suite/rpl/t/temporal_row-9560.combinations
new file mode 100644
index 00000000000..b1c360f8615
--- /dev/null
+++ b/mysql-test/suite/rpl/t/temporal_row-9560.combinations
@@ -0,0 +1,6 @@
+[old2old]
+--disable-mysql56-temporal-format
+
+[old2new]
+--enable-mysql56-temporal-format
+
diff --git a/mysql-test/suite/rpl/t/temporal_row-9560.test b/mysql-test/suite/rpl/t/temporal_row-9560.test
new file mode 100644
index 00000000000..00fb59bc088
--- /dev/null
+++ b/mysql-test/suite/rpl/t/temporal_row-9560.test
@@ -0,0 +1,20 @@
+#
+# MDEV-9560 Mariadb 10.1 Crashes when replicating from 10.0
+#
+source include/have_binlog_format_row.inc;
+source include/master-slave.inc;
+
+select @@mysql56_temporal_format;
+create table t1 (ts timestamp(3), t time(3), dt datetime(3));
+insert into t1 values ('2016-02-15 12:50:06.123', '12:50:06.123', '2016-02-15 12:50:06.123');
+
+sync_slave_with_master;
+
+select @@mysql56_temporal_format;
+select * from t1;
+
+connection master;
+drop table t1;
+
+source include/rpl_end.inc;
+
diff --git a/mysql-test/suite/sphinx/my.cnf b/mysql-test/suite/sphinx/my.cnf
deleted file mode 100644
index f60380b7171..00000000000
--- a/mysql-test/suite/sphinx/my.cnf
+++ /dev/null
@@ -1,29 +0,0 @@
-!include include/default_my.cnf
-
-[source src1]
-type = xmlpipe2
-xmlpipe_command = cat @ENV.MTR_SUITE_DIR/testdata.xml
-
-[index test1]
-source = src1
-docinfo = extern
-charset_type = utf-8
-path = @ENV.MYSQLTEST_VARDIR/searchd/test1
-
-[indexer]
-mem_limit = 32M
-
-[searchd]
-read_timeout = 5
-max_children = 30
-seamless_rotate = 1
-preopen_indexes = 0
-unlink_old = 1
-log = @ENV.MYSQLTEST_VARDIR/searchd/sphinx-searchd.log
-query_log = @ENV.MYSQLTEST_VARDIR/searchd/sphinx-query.log
-#log-error = @ENV.MYSQLTEST_VARDIR/searchd/sphinx.log
-pid_file = @ENV.MYSQLTEST_VARDIR/run/searchd.pid
-listen = @ENV.SPHINXSEARCH_PORT
-
-[ENV]
-SPHINXSEARCH_PORT = @OPT.port
diff --git a/mysql-test/suite/sphinx/sphinx.result b/mysql-test/suite/sphinx/sphinx.result
deleted file mode 100644
index 7248dbc6c27..00000000000
--- a/mysql-test/suite/sphinx/sphinx.result
+++ /dev/null
@@ -1,59 +0,0 @@
-create table ts ( id bigint unsigned not null, w int not null, q varchar(255) not null, index(q) ) engine=sphinx connection="sphinx://127.0.0.1:SPHINXSEARCH_PORT/*";
-select * from ts where q='test';
-id w q
-1 2 test
-2 2 test
-4 1 test
-drop table ts;
-create table ts ( id bigint unsigned not null, w int not null, q varchar(255) not null, index(q) ) engine=sphinx connection="sphinx://127.0.0.1:SPHINXSEARCH_PORT/*";
-select * from ts where q='test;filter=gid,1;mode=extended';
-id w q
-1 2421 test;filter=gid,1;mode=extended
-2 2421 test;filter=gid,1;mode=extended
-select * from ts where q='test|one;mode=extended';
-id w q
-1 3595 test|one;mode=extended
-2 2460 test|one;mode=extended
-4 1471 test|one;mode=extended
-select * from ts where q='test;offset=1;limit=1';
-id w q
-2 2 test;offset=1;limit=1
-alter table ts connection="sphinx://127.0.0.1:SPHINXSEARCH_PORT/test1";
-select id, w from ts where q='one';
-id w
-1 2
-drop table ts;
-create table ts ( id bigint unsigned not null, w int not null, q varchar(255) not null, gid int not null, _sph_count int not null, index(q) ) engine=sphinx connection="sphinx://127.0.0.1:SPHINXSEARCH_PORT/test1";
-select * from ts;
-id w q gid _sph_count
-select * from ts where q='';
-id w q gid _sph_count
-1 1 1 0
-2 1 1 0
-3 1 2 0
-4 1 2 0
-select * from ts where q=';groupby=attr:gid';
-id w q gid _sph_count
-3 1 ;groupby=attr:gid 2 2
-1 1 ;groupby=attr:gid 1 2
-explain select * from ts where q=';groupby=attr:gid';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE ts ref q q 257 const 3 Using where with pushed condition
-SET @save_optimizer_switch=@@optimizer_switch;
-SET optimizer_switch='index_condition_pushdown=off';
-explain select * from ts where q=';groupby=attr:gid';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE ts ref q q 257 const 3 Using where with pushed condition
-SET optimizer_switch=@save_optimizer_switch;
-drop table ts;
-show status like "sphinx_error%";
-Variable_name Value
-Sphinx_error
-show status like "sphinx_total%";
-Variable_name Value
-Sphinx_total 2
-Sphinx_total_found 2
-show status like "sphinx_word%";
-Variable_name Value
-Sphinx_word_count 0
-Sphinx_words
diff --git a/mysql-test/suite/sphinx/sphinx.test b/mysql-test/suite/sphinx/sphinx.test
deleted file mode 100644
index 648eec07f63..00000000000
--- a/mysql-test/suite/sphinx/sphinx.test
+++ /dev/null
@@ -1,31 +0,0 @@
-
---replace_result $SPHINXSEARCH_PORT SPHINXSEARCH_PORT
-eval create table ts ( id bigint unsigned not null, w int not null, q varchar(255) not null, index(q) ) engine=sphinx connection="sphinx://127.0.0.1:$SPHINXSEARCH_PORT/*";
-select * from ts where q='test';
-drop table ts;
-
---replace_result $SPHINXSEARCH_PORT SPHINXSEARCH_PORT
-eval create table ts ( id bigint unsigned not null, w int not null, q varchar(255) not null, index(q) ) engine=sphinx connection="sphinx://127.0.0.1:$SPHINXSEARCH_PORT/*";
-select * from ts where q='test;filter=gid,1;mode=extended';
-select * from ts where q='test|one;mode=extended';
-select * from ts where q='test;offset=1;limit=1';
---replace_result $SPHINXSEARCH_PORT SPHINXSEARCH_PORT
-eval alter table ts connection="sphinx://127.0.0.1:$SPHINXSEARCH_PORT/test1";
-select id, w from ts where q='one';
-drop table ts;
-
---replace_result $SPHINXSEARCH_PORT SPHINXSEARCH_PORT
-eval create table ts ( id bigint unsigned not null, w int not null, q varchar(255) not null, gid int not null, _sph_count int not null, index(q) ) engine=sphinx connection="sphinx://127.0.0.1:$SPHINXSEARCH_PORT/test1";
-select * from ts;
-select * from ts where q='';
-select * from ts where q=';groupby=attr:gid';
-explain select * from ts where q=';groupby=attr:gid';
-SET @save_optimizer_switch=@@optimizer_switch;
-SET optimizer_switch='index_condition_pushdown=off';
-explain select * from ts where q=';groupby=attr:gid';
-SET optimizer_switch=@save_optimizer_switch;
-drop table ts;
-
-show status like "sphinx_error%";
-show status like "sphinx_total%";
-show status like "sphinx_word%";
diff --git a/mysql-test/suite/sphinx/suite.opt b/mysql-test/suite/sphinx/suite.opt
deleted file mode 100644
index 6a0a190f67a..00000000000
--- a/mysql-test/suite/sphinx/suite.opt
+++ /dev/null
@@ -1 +0,0 @@
---plugin-load=$HA_SPHINX_SO --sphinx
diff --git a/mysql-test/suite/sphinx/suite.pm b/mysql-test/suite/sphinx/suite.pm
deleted file mode 100644
index 91795803ff3..00000000000
--- a/mysql-test/suite/sphinx/suite.pm
+++ /dev/null
@@ -1,119 +0,0 @@
-package My::Suite::Sphinx;
-
-use My::SafeProcess;
-use My::File::Path;
-use mtr_report;
-
-@ISA = qw(My::Suite);
-
-############# initialization ######################
-sub locate_sphinx_binary {
- my ($name)= @_;
- my $res;
- my @list= map "$_/$name", split /:/, $ENV{PATH};
- my $env_override= $ENV{"SPHINXSEARCH_\U$name"};
- @list= ($env_override) if $env_override;
- for (@list) { return $_ if -x $_; }
-}
-
-# Look for Sphinx binaries.
-my $exe_sphinx_indexer = &locate_sphinx_binary('indexer');
-my $exe_sphinx_searchd = &locate_sphinx_binary('searchd');
-
-return "No Sphinx" unless $exe_sphinx_indexer and $exe_sphinx_searchd;
-return "No SphinxSE" unless $ENV{HA_SPHINX_SO} or
- $::mysqld_variables{'sphinx'} eq "ON";
-
-{
- local $_ = `"$exe_sphinx_searchd" --help`;
- mtr_verbose("tool: $exe_sphinx_searchd\n$_");
- my $ver = sprintf "%04d.%04d.%04d", (/([0-9]+)\.([0-9]+)(?:\.([0-9]+))?/);
- return "Sphinx 2.0.4 or later is needed (found $ver) " unless $ver ge '0002.0000.0004';
-}
-
-############# action methods ######################
-
-sub write_sphinx_conf {
- my ($config) = @_; # My::Config
- my $res;
-
- foreach my $group ($config->groups()) {
- my $name= $group->{name};
- # Only the ones relevant to Sphinx search.
- next unless ($name eq 'indexer' or $name eq 'searchd' or
- $name =~ /^(source|index) \w+$/);
- $res .= "$name\n{\n";
- foreach my $option ($group->options()) {
- $res .= $option->name();
- my $value= $option->value();
- if (defined $value) {
- $res .= "=$value";
- }
- $res .= "\n";
- }
- $res .= "}\n\n";
- }
- $res;
-}
-
-sub searchd_start {
- my ($sphinx, $test) = @_; # My::Config::Group, My::Test
-
- return unless $exe_sphinx_indexer and $exe_sphinx_searchd;
- return if $sphinx->{proc}; # Already started
-
- # First we must run the indexer to create the data.
- my $sphinx_data_dir= "$::opt_vardir/" . $sphinx->name();
- mkpath($sphinx_data_dir);
- my $sphinx_log= $sphinx->value('#log-error');
- my $sphinx_config= "$::opt_vardir/my_sphinx.conf";
- my $cmd= "\"$exe_sphinx_indexer\" --config \"$sphinx_config\" test1 > \"$sphinx_log\" 2>&1";
- &::mtr_verbose("cmd: $cmd");
- system $cmd;
-
- # Then start the searchd daemon.
- my $args;
- &::mtr_init_args(\$args);
- &::mtr_add_arg($args, "--config");
- &::mtr_add_arg($args, $sphinx_config);
- &::mtr_add_arg($args, "--console");
- &::mtr_add_arg($args, "--pidfile");
-
- $sphinx->{'proc'}= My::SafeProcess->new
- (
- name => 'sphinx-' . $sphinx->name(),
- path => $exe_sphinx_searchd,
- args => \$args,
- output => $sphinx_log,
- error => $sphinx_log,
- append => 1,
- nocore => 1,
- );
- &::mtr_verbose("Started $sphinx->{proc}");
-}
-
-sub searchd_wait {
- my ($sphinx) = @_; # My::Config::Group
-
- return not &::sleep_until_file_created($sphinx->value('pid_file'), 20,
- $sphinx->{'proc'})
-}
-
-############# declaration methods ######################
-
-sub config_files() {
- ( 'my_sphinx.conf' => \&write_sphinx_conf )
-}
-
-sub servers {
- ( qr/^searchd$/ => {
- SORT => 400,
- START => \&searchd_start,
- WAIT => \&searchd_wait,
- }
- )
-}
-
-############# return an object ######################
-bless { };
-
diff --git a/mysql-test/suite/sphinx/testdata.xml b/mysql-test/suite/sphinx/testdata.xml
deleted file mode 100644
index e0d7394190f..00000000000
--- a/mysql-test/suite/sphinx/testdata.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<sphinx:docset>
-
-<sphinx:schema>
-<sphinx:field name="title"/>
-<sphinx:field name="content"/>
-<sphinx:attr name="gid" type="int"/>
-</sphinx:schema>
-
-<sphinx:document id="1">
-<title>test one</title>
-<content>this is my test document number one. also checking search within phrases.</content>
-<gid>1</gid>
-</sphinx:document>
-
-<sphinx:document id="2">
-<title>test two</title>
-<content>this is my test document number two</content>
-<gid>1</gid>
-</sphinx:document>
-
-<sphinx:document id="3">
-<title>another doc</title>
-<content>this is another group</content>
-<gid>2</gid>
-</sphinx:document>
-
-<sphinx:document id="4">
-<title>doc number four</title>
-<content>this is to test groups</content>
-<gid>2</gid>
-</sphinx:document>
-
-</sphinx:docset>
-
diff --git a/mysql-test/suite/sphinx/union-5539.result b/mysql-test/suite/sphinx/union-5539.result
deleted file mode 100644
index 414bcce30e9..00000000000
--- a/mysql-test/suite/sphinx/union-5539.result
+++ /dev/null
@@ -1,10 +0,0 @@
-create table ts (id bigint unsigned not null, w int not null, query varchar(255) not null, index(query)) engine=sphinx connection="sphinx://127.0.0.1:PORT/*";
-SELECT a.* FROM (SELECT * FROM ts si WHERE si.query=';mode=extended2;limit=1000000;maxmatches=500') AS a UNION SELECT b.* FROM (SELECT * FROM ts si WHERE si.query='@* 123nothingtofind123;mode=extended2;limit=1000000;maxmatches=500') AS b;
-id w query
-SELECT a.* FROM (SELECT * FROM ts si WHERE si.query='@* 123nothingtofind123;mode=extended2;limit=1000000;maxmatches=500') AS a UNION SELECT b.* FROM (SELECT * FROM ts si WHERE si.query=';mode=extended2;limit=1000000;maxmatches=500') AS b;
-id w query
-1 1 ;mode=extended2;limit=1000000;maxmatches=500
-2 1 ;mode=extended2;limit=1000000;maxmatches=500
-3 1 ;mode=extended2;limit=1000000;maxmatches=500
-4 1 ;mode=extended2;limit=1000000;maxmatches=500
-drop table ts;
diff --git a/mysql-test/suite/sphinx/union-5539.test b/mysql-test/suite/sphinx/union-5539.test
deleted file mode 100644
index ec73be1ab3e..00000000000
--- a/mysql-test/suite/sphinx/union-5539.test
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# MDEV-5539 Empty results in UNION with Sphinx engine
-#
---replace_result $SPHINXSEARCH_PORT PORT
-eval create table ts (id bigint unsigned not null, w int not null, query varchar(255) not null, index(query)) engine=sphinx connection="sphinx://127.0.0.1:$SPHINXSEARCH_PORT/*";
-let $q1=SELECT * FROM ts si WHERE si.query=';mode=extended2;limit=1000000;maxmatches=500';
-let $q2=SELECT * FROM ts si WHERE si.query='@* 123nothingtofind123;mode=extended2;limit=1000000;maxmatches=500';
-########################
-# BUG BUG BUG !!!
-# Note, the result below is incorrect! It should be updated when
-# MDEV-5539 is fixed upstream!!!
-########################
-eval SELECT a.* FROM ($q1) AS a UNION SELECT b.* FROM ($q2) AS b;
-eval SELECT a.* FROM ($q2) AS a UNION SELECT b.* FROM ($q1) AS b;
-drop table ts;
-
diff --git a/mysql-test/suite/storage_engine/alter_table_online.result b/mysql-test/suite/storage_engine/alter_table_online.result
index 0e606bf1f7e..574c46f8cda 100644
--- a/mysql-test/suite/storage_engine/alter_table_online.result
+++ b/mysql-test/suite/storage_engine/alter_table_online.result
@@ -5,31 +5,30 @@ ALTER ONLINE TABLE t1 MODIFY b <INT_COLUMN> DEFAULT 5;
ALTER ONLINE TABLE t1 CHANGE b new_name <INT_COLUMN>;
ALTER ONLINE TABLE t1 COMMENT 'new comment';
ALTER ONLINE TABLE t1 RENAME TO t2;
+ERROR 0A000: LOCK=NONE/SHARED is not supported for this operation. Try LOCK=EXCLUSIVE.
DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
CREATE TEMPORARY TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c');
ALTER ONLINE TABLE t1 MODIFY b <INT_COLUMN> DEFAULT 5;
-ERROR HY000: Can't execute the given 'ALTER' command as online
+Warnings:
+Warning 1366 Incorrect integer value: 'a' for column 'b' at row 1
+Warning 1366 Incorrect integer value: 'b' for column 'b' at row 2
+Warning 1366 Incorrect integer value: 'c' for column 'b' at row 3
ALTER ONLINE TABLE t1 CHANGE b new_name <INT_COLUMN>;
-ERROR HY000: Can't execute the given 'ALTER' command as online
ALTER ONLINE TABLE t1 COMMENT 'new comment';
-ERROR HY000: Can't execute the given 'ALTER' command as online
ALTER ONLINE TABLE t1 RENAME TO t2;
-ERROR HY000: Can't execute the given 'ALTER' command as online
-DROP TABLE t1;
+DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN>, c <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
INSERT INTO t1 (a,b,c) VALUES (1,100,'a'),(2,200,'b'),(3,300,'c');
ALTER ONLINE TABLE t1 DROP COLUMN b, ADD b <INT_COLUMN>;
-ERROR HY000: Can't execute the given 'ALTER' command as online
ALTER ONLINE TABLE t1 MODIFY b BIGINT <CUSTOM_COL_OPTIONS>;
-ERROR HY000: Can't execute the given 'ALTER' command as online
+ERROR 0A000: LOCK=NONE is not supported. Reason: Cannot change column type INPLACE. Try LOCK=SHARED.
ALTER ONLINE TABLE t1 ENGINE=MEMORY;
-ERROR HY000: Can't execute the given 'ALTER' command as online
+ERROR 0A000: LOCK=NONE is not supported. Reason: COPY algorithm requires a lock. Try LOCK=SHARED.
DROP TABLE t1;
CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN>, c <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
ALTER ONLINE TABLE t1 ADD INDEX (b);
-ERROR HY000: Can't execute the given 'ALTER' command as online
-ALTER TABLE t1 ADD INDEX (b);
ALTER ONLINE TABLE t1 DROP INDEX b;
-ERROR HY000: Can't execute the given 'ALTER' command as online
DROP TABLE t1;
diff --git a/mysql-test/suite/storage_engine/alter_table_online.test b/mysql-test/suite/storage_engine/alter_table_online.test
index c19ec0199eb..0d73deaf63c 100644
--- a/mysql-test/suite/storage_engine/alter_table_online.test
+++ b/mysql-test/suite/storage_engine/alter_table_online.test
@@ -43,10 +43,15 @@ if ($mysql_errname)
--source unexpected_result.inc
}
+# It is here because it used to be supported as ALTER ONLINE,
+# but not anymore after the semantics changed in 10.0
+# to be the same as ALTER .. LOCK=NONE
+
+--let $error_codes = ER_ALTER_OPERATION_NOT_SUPPORTED
--let $online = 1
--let $rename_to = t2
--source alter_table.inc
-if ($mysql_errname)
+if ($mysql_errname!=ER_ALTER_OPERATION_NOT_SUPPORTED)
{
--source unexpected_result.inc
DROP TABLE t1;
@@ -54,7 +59,7 @@ if ($mysql_errname)
DROP TABLE IF EXISTS t2;
#
-# temporary tables always require a copy
+# temporary table does not require locking
#
--let $temporary = 1
@@ -62,32 +67,27 @@ DROP TABLE IF EXISTS t2;
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c');
---let $error_codes = ER_CANT_DO_ONLINE
--let $online = 1
--let $alter_definition = MODIFY b $int_col DEFAULT 5
--source alter_table.inc
-if ($mysql_errname != ER_CANT_DO_ONLINE)
+if ($mysql_errname)
{
--source unexpected_result.inc
}
-
---let $error_codes = ER_CANT_DO_ONLINE
--let $online = 1
--let $alter_definition = CHANGE b new_name $int_col
--source alter_table.inc
---let $error_codes = ER_CANT_DO_ONLINE
--let $online = 1
--let $alter_definition = COMMENT 'new comment'
--source alter_table.inc
---let $error_codes = ER_CANT_DO_ONLINE
--let $online = 1
--let $rename_to = t2
--source alter_table.inc
-DROP TABLE t1;
+DROP TABLE IF EXISTS t1, t2;
#
# Test of things that is not possible to do online
@@ -98,23 +98,26 @@ DROP TABLE t1;
INSERT INTO t1 (a,b,c) VALUES (1,100,'a'),(2,200,'b'),(3,300,'c');
---let $error_codes = ER_CANT_DO_ONLINE
+# It is here because it used to unsupported as ALTER ONLINE,
+# but is supported now after the semantics changed in 10.0
+# to be the same as ALTER .. LOCK=NONE
+
--let $online = 1
--let $alter_definition = DROP COLUMN b, ADD b $int_col
--source alter_table.inc
-if ($mysql_errname!=ER_CANT_DO_ONLINE)
+if ($mysql_errname)
{
--source unexpected_result.inc
}
---let $error_codes = ER_CANT_DO_ONLINE
+--let $error_codes = ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
--let $online = 1
--let $alter_definition = MODIFY b BIGINT $default_col_opts
--source alter_table.inc
--let $alternative_engine = `SELECT engine FROM information_schema.engines WHERE engine IN ('MEMORY','MyISAM') AND engine != '$storage_engine' ORDER BY engine LIMIT 1`
---let $error_codes = ER_CANT_DO_ONLINE
+--let $error_codes = ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
--let $online = 1
--let $alter_definition = ENGINE=$alternative_engine
--source alter_table.inc
@@ -130,26 +133,21 @@ if ($mysql_errname)
}
if (!$mysql_errname)
{
- --let $error_codes = ER_CANT_DO_ONLINE
- --let $online = 1
- --let $alter_definition = ADD INDEX (b)
- --source alter_table.inc
- if ($mysql_errname!=ER_CANT_DO_ONLINE)
- {
- --let $functionality = Adding an index or ALTER ONLINE
- --source unexpected_result.inc
- }
+ # It is here because it used to unsupported as ALTER ONLINE,
+ # but is supported now after the semantics changed in 10.0
+ # to be the same as ALTER .. LOCK=NONE
+
+ --let $online = 1
--let $alter_definition = ADD INDEX (b)
--source alter_table.inc
if ($mysql_errname)
{
- --let $functionality = Adding an index or ALTER TABLE
+ --let $functionality = Adding an index or ALTER ONLINE
--source unexpected_result.inc
}
if (!$mysql_errname)
{
- --let $error_codes = ER_CANT_DO_ONLINE
--let $online = 1
--let $alter_definition = DROP INDEX b
--source alter_table.inc
diff --git a/mysql-test/suite/storage_engine/alter_tablespace.result b/mysql-test/suite/storage_engine/alter_tablespace.result
index 71ef910b222..b54d7c99e9e 100644
--- a/mysql-test/suite/storage_engine/alter_tablespace.result
+++ b/mysql-test/suite/storage_engine/alter_tablespace.result
@@ -10,8 +10,10 @@ a
2
ALTER TABLE t1 DISCARD TABLESPACE;
SELECT a FROM t1;
-ERROR HY000: Got error -1 from storage engine
+ERROR HY000: Tablespace has been discarded for table 't1'
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
SELECT a FROM t1;
a
1
diff --git a/mysql-test/suite/storage_engine/alter_tablespace.test b/mysql-test/suite/storage_engine/alter_tablespace.test
index 6318b410e6e..3c4910069a0 100644
--- a/mysql-test/suite/storage_engine/alter_tablespace.test
+++ b/mysql-test/suite/storage_engine/alter_tablespace.test
@@ -62,10 +62,11 @@ EOF
--let $alter_definition = DISCARD TABLESPACE
--source alter_table.inc
- --let $error_codes = ER_GET_ERRNO
+ --let $error_codes = ER_TABLESPACE_DISCARDED
+ --replace_result $storage_engine <STORAGE_ENGINE>
SELECT a FROM t1;
--source check_errors.inc
- if ($mysql_errname != ER_GET_ERRNO)
+ if ($mysql_errname != ER_TABLESPACE_DISCARDED)
{
--let $functionality = Tablespace operations
--source unexpected_result.inc
diff --git a/mysql-test/suite/storage_engine/col_opt_not_null.result b/mysql-test/suite/storage_engine/col_opt_not_null.result
index a8ece0cea89..7c78521d5d1 100644
--- a/mysql-test/suite/storage_engine/col_opt_not_null.result
+++ b/mysql-test/suite/storage_engine/col_opt_not_null.result
@@ -177,7 +177,6 @@ HEX(v0) HEX(v1) HEX(v64) LENGTH(HEX(v65000))
ALTER TABLE t1 ADD COLUMN v65536 VARBINARY(65536) <CUSTOM_COL_OPTIONS> NOT NULL;
Warnings:
Note 1246 Converting column 'v65536' from VARBINARY to BLOB
-Note 1246 Converting column 'v65536' from VARBINARY to BLOB
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
v0 varbinary(0) # # #
@@ -690,7 +689,6 @@ v0 v1 v64 LENGTH(v65000)
ALTER TABLE t1 ADD COLUMN v65536 VARCHAR(65536) <CUSTOM_COL_OPTIONS> NOT NULL;
Warnings:
Note 1246 Converting column 'v65536' from VARCHAR to TEXT
-Note 1246 Converting column 'v65536' from VARCHAR to TEXT
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
v0 varchar(0) # # #
@@ -977,7 +975,6 @@ a b c
ALTER TABLE t1 ADD COLUMN e ENUM('a','A') <CUSTOM_COL_OPTIONS> NOT NULL;
Warnings:
Note 1291 Column 'e' has duplicated value 'a' in ENUM
-Note 1291 Column 'e' has duplicated value 'a' in ENUM
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a enum('') # # #
@@ -1485,7 +1482,15 @@ r1_1 0.9
r1_1 0.9
r1_1 0.9
ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0);
-ERROR 42000: Display width out of range for 'd0_0' (max = 255)
+# ERROR: Statement succeeded (expected results: ER_TOO_BIG_DISPLAYWIDTH)
+# ------------ UNEXPECTED RESULT ------------
+# [ ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0) ]
+# The statement|command succeeded unexpectedly.
+# ALTER TABLE or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors.
+# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def.
+# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped.
+# Also, this problem may cause a chain effect (more errors of different kinds in the test).
+# -------------------------------------------
ALTER TABLE t1 ADD COLUMN n66_6 DECIMAL(256,1);
ERROR 42000: Too big precision 256 specified for 'n66_6'. Maximum is 65.
ALTER TABLE t1 ADD COLUMN n66_66 DECIMAL(40,35);
@@ -1936,7 +1941,6 @@ a b c
ALTER TABLE t1 ADD COLUMN e SET('a','A') <CUSTOM_COL_OPTIONS> NOT NULL;
Warnings:
Note 1291 Column 'e' has duplicated value 'a' in SET
-Note 1291 Column 'e' has duplicated value 'a' in SET
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a set('') # # #
diff --git a/mysql-test/suite/storage_engine/col_opt_null.result b/mysql-test/suite/storage_engine/col_opt_null.result
index 2f031c21731..f2f80987945 100644
--- a/mysql-test/suite/storage_engine/col_opt_null.result
+++ b/mysql-test/suite/storage_engine/col_opt_null.result
@@ -173,7 +173,6 @@ HEX(v0) HEX(v1) HEX(v64) LENGTH(HEX(v65000))
ALTER TABLE t1 ADD COLUMN v65536 VARBINARY(65536) <CUSTOM_COL_OPTIONS> NULL;
Warnings:
Note 1246 Converting column 'v65536' from VARBINARY to BLOB
-Note 1246 Converting column 'v65536' from VARBINARY to BLOB
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
v0 varbinary(0) # # #
@@ -678,7 +677,6 @@ v0 v1 v64 LENGTH(v65000)
ALTER TABLE t1 ADD COLUMN v65536 VARCHAR(65536) <CUSTOM_COL_OPTIONS> NULL;
Warnings:
Note 1246 Converting column 'v65536' from VARCHAR to TEXT
-Note 1246 Converting column 'v65536' from VARCHAR to TEXT
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
v0 varchar(0) # # #
@@ -945,7 +943,6 @@ a b c
ALTER TABLE t1 ADD COLUMN e ENUM('a','A') <CUSTOM_COL_OPTIONS> NULL;
Warnings:
Note 1291 Column 'e' has duplicated value 'a' in ENUM
-Note 1291 Column 'e' has duplicated value 'a' in ENUM
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a enum('') # # #
@@ -1439,7 +1436,15 @@ r1_1 0.9
r1_1 0.9
r1_1 0.9
ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0);
-ERROR 42000: Display width out of range for 'd0_0' (max = 255)
+# ERROR: Statement succeeded (expected results: ER_TOO_BIG_DISPLAYWIDTH)
+# ------------ UNEXPECTED RESULT ------------
+# [ ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0) ]
+# The statement|command succeeded unexpectedly.
+# ALTER TABLE or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors.
+# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def.
+# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped.
+# Also, this problem may cause a chain effect (more errors of different kinds in the test).
+# -------------------------------------------
ALTER TABLE t1 ADD COLUMN n66_6 DECIMAL(256,1);
ERROR 42000: Too big precision 256 specified for 'n66_6'. Maximum is 65.
ALTER TABLE t1 ADD COLUMN n66_66 DECIMAL(40,35);
@@ -1862,7 +1867,6 @@ a b c
ALTER TABLE t1 ADD COLUMN e SET('a','A') <CUSTOM_COL_OPTIONS> NULL;
Warnings:
Note 1291 Column 'e' has duplicated value 'a' in SET
-Note 1291 Column 'e' has duplicated value 'a' in SET
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a set('') # # #
diff --git a/mysql-test/suite/storage_engine/col_opt_unsigned.result b/mysql-test/suite/storage_engine/col_opt_unsigned.result
index 7b5274525ce..9a44e48127c 100644
--- a/mysql-test/suite/storage_engine/col_opt_unsigned.result
+++ b/mysql-test/suite/storage_engine/col_opt_unsigned.result
@@ -451,7 +451,15 @@ r1_1 0.9
r1_1 0.9
r1_1 0.9
ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0);
-ERROR 42000: Display width out of range for 'd0_0' (max = 255)
+# ERROR: Statement succeeded (expected results: ER_TOO_BIG_DISPLAYWIDTH)
+# ------------ UNEXPECTED RESULT ------------
+# [ ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0) ]
+# The statement|command succeeded unexpectedly.
+# ALTER TABLE or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors.
+# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def.
+# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped.
+# Also, this problem may cause a chain effect (more errors of different kinds in the test).
+# -------------------------------------------
ALTER TABLE t1 ADD COLUMN n66_6 DECIMAL(256,1);
ERROR 42000: Too big precision 256 specified for 'n66_6'. Maximum is 65.
ALTER TABLE t1 ADD COLUMN n66_66 DECIMAL(40,35);
diff --git a/mysql-test/suite/storage_engine/col_opt_zerofill.result b/mysql-test/suite/storage_engine/col_opt_zerofill.result
index a35ce4bfe66..fd16bd5cf74 100644
--- a/mysql-test/suite/storage_engine/col_opt_zerofill.result
+++ b/mysql-test/suite/storage_engine/col_opt_zerofill.result
@@ -447,7 +447,15 @@ r1_1 0.9
r1_1 0.9
r1_1 0.9
ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0);
-ERROR 42000: Display width out of range for 'd0_0' (max = 255)
+# ERROR: Statement succeeded (expected results: ER_TOO_BIG_DISPLAYWIDTH)
+# ------------ UNEXPECTED RESULT ------------
+# [ ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0) ]
+# The statement|command succeeded unexpectedly.
+# ALTER TABLE or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors.
+# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def.
+# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped.
+# Also, this problem may cause a chain effect (more errors of different kinds in the test).
+# -------------------------------------------
ALTER TABLE t1 ADD COLUMN n66_6 DECIMAL(256,1);
ERROR 42000: Too big precision 256 specified for 'n66_6'. Maximum is 65.
ALTER TABLE t1 ADD COLUMN n66_66 DECIMAL(40,35);
diff --git a/mysql-test/suite/storage_engine/foreign_keys.test b/mysql-test/suite/storage_engine/foreign_keys.test
index cbadc4c950d..4991862685f 100644
--- a/mysql-test/suite/storage_engine/foreign_keys.test
+++ b/mysql-test/suite/storage_engine/foreign_keys.test
@@ -77,10 +77,10 @@ if (!$mysql_errname)
--sorted_result
SELECT a,b FROM t2;
- --let $error_codes = ER_ROW_IS_REFERENCED
+ --let $error_codes = ER_ROW_IS_REFERENCED_2
DROP TABLE t1;
--source check_errors.inc
- if ($mysql_errname != ER_ROW_IS_REFERENCED)
+ if ($mysql_errname != ER_ROW_IS_REFERENCED_2)
{
--let $functionality = Foreign keys
--source unexpected_result.inc
diff --git a/mysql-test/suite/storage_engine/insert_with_keys.result b/mysql-test/suite/storage_engine/insert_with_keys.result
index 39e42b306d2..694c91397b0 100644
--- a/mysql-test/suite/storage_engine/insert_with_keys.result
+++ b/mysql-test/suite/storage_engine/insert_with_keys.result
@@ -152,3 +152,22 @@ a b
5 e
6 f
DROP TABLE t1;
+CREATE TABLE t1 (a <INT_COLUMN> UNIQUE KEY, b <INT_COLUMN> UNIQUE KEY, c <INT_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
+INSERT INTO t1 VALUES(1,1,0);
+INSERT INTO t1 VALUES(2,3,0);
+INSERT INTO t1 VALUES(3,2,0);
+INSERT INTO t1 VALUES(1,1,0) ON DUPLICATE KEY UPDATE c=c+1;
+INSERT INTO t1 VALUES(2,3,0) ON DUPLICATE KEY UPDATE c=c+1;
+INSERT INTO t1 VALUES(3,2,0) ON DUPLICATE KEY UPDATE c=c+1;
+INSERT INTO t1 VALUES(2,5,0) ON DUPLICATE KEY UPDATE c=c+1;
+INSERT INTO t1 VALUES(3,5,0) ON DUPLICATE KEY UPDATE c=c+1;
+INSERT INTO t1 VALUES(5,3,0) ON DUPLICATE KEY UPDATE c=c+1;
+INSERT INTO t1 VALUES(6,2,0) ON DUPLICATE KEY UPDATE c=c+1;
+INSERT INTO t1 VALUES(1,3,0) ON DUPLICATE KEY UPDATE c=c+1;
+INSERT INTO t1 VALUES(2,2,0) ON DUPLICATE KEY UPDATE c=c+1;
+SELECT * FROM t1;
+a b c
+1 1 2
+2 3 4
+3 2 3
+DROP TABLE t1;
diff --git a/mysql-test/suite/storage_engine/insert_with_keys.test b/mysql-test/suite/storage_engine/insert_with_keys.test
index c44b6c712e0..f62246407f2 100644
--- a/mysql-test/suite/storage_engine/insert_with_keys.test
+++ b/mysql-test/suite/storage_engine/insert_with_keys.test
@@ -139,5 +139,35 @@ if (!$mysql_errname)
DROP TABLE t1;
}
+--let $create_definition = a $int_indexed_col UNIQUE KEY, b $int_indexed_col UNIQUE KEY, c $int_col
+--source create_table.inc
+if ($mysql_errname)
+{
+ --let $my_last_stmt = $create_statement
+ --let $functionality = Multiple unique keys
+ --source unexpected_result.inc
+}
+if (!$mysql_errname)
+{
+ INSERT INTO t1 VALUES(1,1,0);
+ INSERT INTO t1 VALUES(2,3,0);
+ INSERT INTO t1 VALUES(3,2,0);
+
+ INSERT INTO t1 VALUES(1,1,0) ON DUPLICATE KEY UPDATE c=c+1;
+ INSERT INTO t1 VALUES(2,3,0) ON DUPLICATE KEY UPDATE c=c+1;
+ INSERT INTO t1 VALUES(3,2,0) ON DUPLICATE KEY UPDATE c=c+1;
+
+ INSERT INTO t1 VALUES(2,5,0) ON DUPLICATE KEY UPDATE c=c+1;
+ INSERT INTO t1 VALUES(3,5,0) ON DUPLICATE KEY UPDATE c=c+1;
+ INSERT INTO t1 VALUES(5,3,0) ON DUPLICATE KEY UPDATE c=c+1;
+ INSERT INTO t1 VALUES(6,2,0) ON DUPLICATE KEY UPDATE c=c+1;
+ INSERT INTO t1 VALUES(1,3,0) ON DUPLICATE KEY UPDATE c=c+1;
+ INSERT INTO t1 VALUES(2,2,0) ON DUPLICATE KEY UPDATE c=c+1;
+
+ --sorted_result
+ SELECT * FROM t1;
+ DROP TABLE t1;
+}
+
--source cleanup_engine.inc
diff --git a/mysql-test/suite/storage_engine/misc.result b/mysql-test/suite/storage_engine/misc.result
index 591f172d796..3643611aa49 100644
--- a/mysql-test/suite/storage_engine/misc.result
+++ b/mysql-test/suite/storage_engine/misc.result
@@ -28,6 +28,9 @@ DROP EVENT ev1;
SELECT TABLE_NAME, COLUMN_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE ORDER BY TABLE_NAME;
TABLE_NAME COLUMN_NAME REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
+column_stats column_name NULL NULL
+column_stats db_name NULL NULL
+column_stats table_name NULL NULL
columns_priv Column_name NULL NULL
columns_priv Db NULL NULL
columns_priv Host NULL NULL
@@ -39,6 +42,8 @@ db User NULL NULL
event db NULL NULL
event name NULL NULL
func name NULL NULL
+gtid_slave_pos domain_id NULL NULL
+gtid_slave_pos sub_id NULL NULL
help_category help_category_id NULL NULL
help_category name NULL NULL
help_keyword help_keyword_id NULL NULL
@@ -49,7 +54,16 @@ help_topic help_topic_id NULL NULL
help_topic name NULL NULL
host Db NULL NULL
host Host NULL NULL
-ndb_binlog_index epoch NULL NULL
+index_stats db_name NULL NULL
+index_stats index_name NULL NULL
+index_stats prefix_arity NULL NULL
+index_stats table_name NULL NULL
+innodb_index_stats database_name NULL NULL
+innodb_index_stats index_name NULL NULL
+innodb_index_stats stat_name NULL NULL
+innodb_index_stats table_name NULL NULL
+innodb_table_stats database_name NULL NULL
+innodb_table_stats table_name NULL NULL
plugin name NULL NULL
proc db NULL NULL
proc name NULL NULL
@@ -63,7 +77,12 @@ proxies_priv Host NULL NULL
proxies_priv Proxied_host NULL NULL
proxies_priv Proxied_user NULL NULL
proxies_priv User NULL NULL
+roles_mapping Host NULL NULL
+roles_mapping Role NULL NULL
+roles_mapping User NULL NULL
servers Server_name NULL NULL
+table_stats db_name NULL NULL
+table_stats table_name NULL NULL
tables_priv Db NULL NULL
tables_priv Host NULL NULL
tables_priv Table_name NULL NULL
diff --git a/mysql-test/suite/storage_engine/obfuscate.inc b/mysql-test/suite/storage_engine/obfuscate.inc
index 96c9e5a2956..e1a8a5bede0 100644
--- a/mysql-test/suite/storage_engine/obfuscate.inc
+++ b/mysql-test/suite/storage_engine/obfuscate.inc
@@ -1,4 +1,4 @@
let $storage_engine_search_string = ENGINE=$storage_engine;
---replace_result ' ' ' ' ' ,' ',' ' )' ')' '( ' '(' $default_tbl_opts <CUSTOM_TABLE_OPTIONS> $int_indexed_col <INT_COLUMN> $char_indexed_col <CHAR_COLUMN> $int_col <INT_COLUMN> $char_col <CHAR_COLUMN> $default_col_indexed_opts <CUSTOM_COL_OPTIONS> $default_col_opts <CUSTOM_COL_OPTIONS> $storage_engine_search_string ENGINE=<STORAGE_ENGINE> $default_index <CUSTOM_INDEX>
+--replace_result ' ' ' ' ' ,' ',' ' )' ')' '( ' '(' $default_tbl_opts <CUSTOM_TABLE_OPTIONS> $int_indexed_col <INT_COLUMN> $char_indexed_col <CHAR_COLUMN> $int_col <INT_COLUMN> $char_col <CHAR_COLUMN> $default_col_indexed_opts <CUSTOM_COL_OPTIONS> $default_col_opts <CUSTOM_COL_OPTIONS> $storage_engine_search_string ENGINE=<STORAGE_ENGINE> $storage_engine <STORAGE_ENGINE> $default_index <CUSTOM_INDEX>
diff --git a/mysql-test/suite/storage_engine/parts/checksum_table.result b/mysql-test/suite/storage_engine/parts/checksum_table.result
index 666cb7f25a9..f084c426048 100644
--- a/mysql-test/suite/storage_engine/parts/checksum_table.result
+++ b/mysql-test/suite/storage_engine/parts/checksum_table.result
@@ -24,14 +24,14 @@ INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
CREATE TABLE t2 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> CHECKSUM=1 PARTITION BY HASH(a) PARTITIONS 2;
CHECKSUM TABLE t1;
Table Checksum
-test.t1 0
+test.t1 4272806499
CHECKSUM TABLE t2, t1;
Table Checksum
test.t2 0
-test.t1 0
+test.t1 4272806499
CHECKSUM TABLE t1, t2 QUICK;
Table Checksum
-test.t1 0
+test.t1 4272806499
test.t2 0
CHECKSUM TABLE t1, t2 EXTENDED;
Table Checksum
diff --git a/mysql-test/suite/storage_engine/parts/repair_table.result b/mysql-test/suite/storage_engine/parts/repair_table.result
index 8b08ee15fd0..d9ac215797b 100644
--- a/mysql-test/suite/storage_engine/parts/repair_table.result
+++ b/mysql-test/suite/storage_engine/parts/repair_table.result
@@ -74,7 +74,6 @@ ERROR HY000: Failed to read from the .par file
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check Error Failed to read from the .par file
-test.t1 check Error Incorrect information in file: './test/t1.frm'
test.t1 check error Corrupt
SELECT a,b FROM t1;
ERROR HY000: Failed to read from the .par file
@@ -83,7 +82,6 @@ ERROR HY000: Failed to read from the .par file
REPAIR TABLE t1;
Table Op Msg_type Msg_text
test.t1 repair Error Failed to read from the .par file
-test.t1 repair Error Incorrect information in file: './test/t1.frm'
test.t1 repair error Corrupt
DROP TABLE t1, t2;
call mtr.add_suppression("Got an error from thread_id=.*");
diff --git a/mysql-test/suite/storage_engine/select.result b/mysql-test/suite/storage_engine/select.result
index 015ed80b771..9bd36cffc27 100644
--- a/mysql-test/suite/storage_engine/select.result
+++ b/mysql-test/suite/storage_engine/select.result
@@ -68,7 +68,8 @@ a
SELECT FOUND_ROWS();
FOUND_ROWS()
3
-SET GLOBAL query_cache_size = 1024*1024;
+SET GLOBAL query_cache_type = ON;
+SET query_cache_type = ON;
SELECT SQL_CACHE * FROM t1, t2;
a b a b
1 z 1 z
@@ -89,7 +90,7 @@ a b a b
200 bar 100 foobar
200 bar 200 bar
200 bar 200 bar
-SET GLOBAL query_cache_size = 0;
+SET GLOBAL query_cache_type = DEFAULT;
SELECT a+10 AS field1, CONCAT(b,':',b) AS field2 FROM t1
WHERE b > 'b' AND a IS NOT NULL
GROUP BY 2 DESC, field1 ASC
diff --git a/mysql-test/suite/storage_engine/select.test b/mysql-test/suite/storage_engine/select.test
index 34cfd99d344..9b4e1784f47 100644
--- a/mysql-test/suite/storage_engine/select.test
+++ b/mysql-test/suite/storage_engine/select.test
@@ -45,11 +45,11 @@ SELECT SQL_BIG_RESULT SQL_CALC_FOUND_ROWS DISTINCT(t2.a)
FROM t1 t1_1, t2, t1 t1_2;
SELECT FOUND_ROWS();
-let $query_cache = `SELECT @@query_cache_size`;
-SET GLOBAL query_cache_size = 1024*1024;
+SET GLOBAL query_cache_type = ON;
+SET query_cache_type = ON;
--sorted_result
SELECT SQL_CACHE * FROM t1, t2;
-eval SET GLOBAL query_cache_size = $query_cache;
+SET GLOBAL query_cache_type = DEFAULT;
# Combination of main clauses
diff --git a/mysql-test/suite/storage_engine/type_char_indexes.result b/mysql-test/suite/storage_engine/type_char_indexes.result
index 33594e2581f..5be07bdf53f 100644
--- a/mysql-test/suite/storage_engine/type_char_indexes.result
+++ b/mysql-test/suite/storage_engine/type_char_indexes.result
@@ -96,6 +96,8 @@ varchar1b 2
varchar2b 1
varchar3b 1
SET SESSION optimizer_switch = 'engine_condition_pushdown=on';
+Warnings:
+Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in a future release.
EXPLAIN SELECT c,c20,v16,v128 FROM t1 WHERE c > 'a';
id select_type table type possible_keys key key_len ref rows Extra
# # # range c_v c_v # # # Using index condition
diff --git a/mysql-test/suite/storage_engine/type_enum.result b/mysql-test/suite/storage_engine/type_enum.result
index c2efd87ffb7..0d305eb6dc8 100644
--- a/mysql-test/suite/storage_engine/type_enum.result
+++ b/mysql-test/suite/storage_engine/type_enum.result
@@ -26,7 +26,6 @@ a b c
ALTER TABLE t1 ADD COLUMN e ENUM('a','A') <CUSTOM_COL_OPTIONS>;
Warnings:
Note 1291 Column 'e' has duplicated value 'a' in ENUM
-Note 1291 Column 'e' has duplicated value 'a' in ENUM
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a enum('') # # #
diff --git a/mysql-test/suite/storage_engine/type_float.result b/mysql-test/suite/storage_engine/type_float.result
index 5cd76673a3c..ff03bd3b3f2 100644
--- a/mysql-test/suite/storage_engine/type_float.result
+++ b/mysql-test/suite/storage_engine/type_float.result
@@ -278,7 +278,15 @@ r1_1 0.9
r1_1 0.9
r1_1 0.9
ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0);
-ERROR 42000: Display width out of range for 'd0_0' (max = 255)
+# ERROR: Statement succeeded (expected results: ER_TOO_BIG_DISPLAYWIDTH)
+# ------------ UNEXPECTED RESULT ------------
+# [ ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0) ]
+# The statement|command succeeded unexpectedly.
+# ALTER TABLE or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors.
+# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def.
+# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped.
+# Also, this problem may cause a chain effect (more errors of different kinds in the test).
+# -------------------------------------------
ALTER TABLE t1 ADD COLUMN n66_6 DECIMAL(256,1);
ERROR 42000: Too big precision 256 specified for 'n66_6'. Maximum is 65.
ALTER TABLE t1 ADD COLUMN n66_66 DECIMAL(40,35);
diff --git a/mysql-test/suite/storage_engine/type_set.result b/mysql-test/suite/storage_engine/type_set.result
index 2248ce9f7e0..6826daf2028 100644
--- a/mysql-test/suite/storage_engine/type_set.result
+++ b/mysql-test/suite/storage_engine/type_set.result
@@ -32,7 +32,6 @@ a b c
ALTER TABLE t1 ADD COLUMN e SET('a','A') <CUSTOM_COL_OPTIONS>;
Warnings:
Note 1291 Column 'e' has duplicated value 'a' in SET
-Note 1291 Column 'e' has duplicated value 'a' in SET
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a set('') # # #
diff --git a/mysql-test/suite/storage_engine/type_spatial.result b/mysql-test/suite/storage_engine/type_spatial.result
index 6c2f5a4d50f..cab1942153f 100644
--- a/mysql-test/suite/storage_engine/type_spatial.result
+++ b/mysql-test/suite/storage_engine/type_spatial.result
@@ -350,8 +350,8 @@ fid IsClosed(g)
116 0
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
fid AsText(Centroid(g))
-117 POINT(55.58852775304245 17.426536064113982)
-118 POINT(55.58852775304245 17.426536064113982)
+117 POINT(57.98031067576927 17.854754130800433)
+118 POINT(57.98031067576927 17.854754130800433)
119 POINT(2 2)
SELECT fid, Area(g) FROM gis_multi_polygon;
fid Area(g)
@@ -412,12 +412,12 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
first second w c o e d t i r
-120 120 1 1 0 1 0 1 1 0
+120 120 1 1 0 1 0 0 1 0
120 121 0 0 1 0 0 0 1 0
120 122 NULL NULL NULL NULL NULL NULL NULL NULL
120 123 NULL NULL NULL NULL NULL NULL NULL NULL
121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 1 1 0
+121 121 1 1 0 1 0 0 1 0
121 122 NULL NULL NULL NULL NULL NULL NULL NULL
121 123 NULL NULL NULL NULL NULL NULL NULL NULL
122 120 NULL NULL NULL NULL NULL NULL NULL NULL
diff --git a/mysql-test/suite/storage_engine/type_spatial_indexes.result b/mysql-test/suite/storage_engine/type_spatial_indexes.result
index 93bb4c617e5..f608366c217 100644
--- a/mysql-test/suite/storage_engine/type_spatial_indexes.result
+++ b/mysql-test/suite/storage_engine/type_spatial_indexes.result
@@ -350,8 +350,8 @@ fid IsClosed(g)
116 0
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
fid AsText(Centroid(g))
-117 POINT(55.58852775304245 17.426536064113982)
-118 POINT(55.58852775304245 17.426536064113982)
+117 POINT(57.98031067576927 17.854754130800433)
+118 POINT(57.98031067576927 17.854754130800433)
119 POINT(2 2)
SELECT fid, Area(g) FROM gis_multi_polygon;
fid Area(g)
@@ -412,12 +412,12 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
first second w c o e d t i r
-120 120 1 1 0 1 0 1 1 0
+120 120 1 1 0 1 0 0 1 0
120 121 0 0 1 0 0 0 1 0
120 122 NULL NULL NULL NULL NULL NULL NULL NULL
120 123 NULL NULL NULL NULL NULL NULL NULL NULL
121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 1 1 0
+121 121 1 1 0 1 0 0 1 0
121 122 NULL NULL NULL NULL NULL NULL NULL NULL
121 123 NULL NULL NULL NULL NULL NULL NULL NULL
122 120 NULL NULL NULL NULL NULL NULL NULL NULL
@@ -1050,8 +1050,8 @@ fid IsClosed(g)
116 0
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
fid AsText(Centroid(g))
-117 POINT(55.58852775304245 17.426536064113982)
-118 POINT(55.58852775304245 17.426536064113982)
+117 POINT(57.98031067576927 17.854754130800433)
+118 POINT(57.98031067576927 17.854754130800433)
119 POINT(2 2)
SELECT fid, Area(g) FROM gis_multi_polygon;
fid Area(g)
@@ -1112,12 +1112,12 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
first second w c o e d t i r
-120 120 1 1 0 1 0 1 1 0
+120 120 1 1 0 1 0 0 1 0
120 121 0 0 1 0 0 0 1 0
120 122 NULL NULL NULL NULL NULL NULL NULL NULL
120 123 NULL NULL NULL NULL NULL NULL NULL NULL
121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 1 1 0
+121 121 1 1 0 1 0 0 1 0
121 122 NULL NULL NULL NULL NULL NULL NULL NULL
121 123 NULL NULL NULL NULL NULL NULL NULL NULL
122 120 NULL NULL NULL NULL NULL NULL NULL NULL
diff --git a/mysql-test/suite/storage_engine/type_varbinary.result b/mysql-test/suite/storage_engine/type_varbinary.result
index 309de3fe387..41a666191b4 100644
--- a/mysql-test/suite/storage_engine/type_varbinary.result
+++ b/mysql-test/suite/storage_engine/type_varbinary.result
@@ -81,7 +81,6 @@ HEX(v0) HEX(v1) HEX(v64) LENGTH(HEX(v65000))
ALTER TABLE t1 ADD COLUMN v65536 VARBINARY(65536) <CUSTOM_COL_OPTIONS>;
Warnings:
Note 1246 Converting column 'v65536' from VARBINARY to BLOB
-Note 1246 Converting column 'v65536' from VARBINARY to BLOB
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
v0 varbinary(0) # # #
diff --git a/mysql-test/suite/storage_engine/type_varchar.result b/mysql-test/suite/storage_engine/type_varchar.result
index f5e9bb416fe..d67458acafd 100644
--- a/mysql-test/suite/storage_engine/type_varchar.result
+++ b/mysql-test/suite/storage_engine/type_varchar.result
@@ -116,7 +116,6 @@ v0 v1 v64 LENGTH(v65000)
ALTER TABLE t1 ADD COLUMN v65536 VARCHAR(65536) <CUSTOM_COL_OPTIONS>;
Warnings:
Note 1246 Converting column 'v65536' from VARCHAR to TEXT
-Note 1246 Converting column 'v65536' from VARCHAR to TEXT
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
v0 varchar(0) # # #
diff --git a/mysql-test/suite/stress/include/ddl1.inc b/mysql-test/suite/stress/include/ddl1.inc
index 96adadc5af5..00e64cee395 100644
--- a/mysql-test/suite/stress/include/ddl1.inc
+++ b/mysql-test/suite/stress/include/ddl1.inc
@@ -111,10 +111,10 @@
#
# 6. Hints for analysis of test failures:
# 1. Look into the protocol and check in which ddl*.inc
-# script the difference to the expected result occured.
+# script the difference to the expected result occurred.
# 2. Comment the sourcing of all other ddl*.inc scripts
# out.
-# 3. Edit the ddl*.inc script where the error occured and
+# 3. Edit the ddl*.inc script where the error occurred and
# remove all
# - "--disable_query_log", "--disable_result_log"
# - successful passed subtests.
diff --git a/mysql-test/suite/stress/include/ddl7.inc b/mysql-test/suite/stress/include/ddl7.inc
index 76ba8066c66..00308a1a5d0 100644
--- a/mysql-test/suite/stress/include/ddl7.inc
+++ b/mysql-test/suite/stress/include/ddl7.inc
@@ -65,13 +65,11 @@ while ($run)
}
eval $drop_index;
eval $insert_record;
- # NDB: ER_DUP_UNIQUE, others: ER_DUP_ENTRY
- --error 0,ER_DUP_ENTRY,ER_DUP_UNIQUE
+ --error 0,ER_DUP_ENTRY
eval $create_index;
if (!$mysql_errno)
{
--echo # Error: CREATE INDEX was successful though we expected ER_DUP_ENTRY
- --echo # Error: or ER_DUP_UNIQUE (NDB only)
--echo # abort
exit;
}
diff --git a/mysql-test/suite/stress/t/ddl_archive.test b/mysql-test/suite/stress/t/ddl_archive.test
index 0c47b5fcdd5..c688ae192d0 100644
--- a/mysql-test/suite/stress/t/ddl_archive.test
+++ b/mysql-test/suite/stress/t/ddl_archive.test
@@ -12,11 +12,8 @@
--source include/have_archive.inc
let $engine_type= ARCHIVE;
+--source include/no_protocol.inc
-if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0`)
-{
- --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
-}
let $run= `SELECT '$BIG_TEST' = '1'`;
if ($run)
{
diff --git a/mysql-test/suite/stress/t/ddl_csv.test b/mysql-test/suite/stress/t/ddl_csv.test
index 9f6185c76be..3e0f8acb1d8 100644
--- a/mysql-test/suite/stress/t/ddl_csv.test
+++ b/mysql-test/suite/stress/t/ddl_csv.test
@@ -12,11 +12,8 @@
--source include/have_csv.inc
let $engine_type= CSV;
+--source include/no_protocol.inc
-if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0`)
-{
- --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
-}
let $run= `SELECT '$BIG_TEST' = '1'`;
if ($run)
{
diff --git a/mysql-test/suite/stress/t/ddl_innodb.test b/mysql-test/suite/stress/t/ddl_innodb.test
index 784ba8ff003..083ec43e7d7 100644
--- a/mysql-test/suite/stress/t/ddl_innodb.test
+++ b/mysql-test/suite/stress/t/ddl_innodb.test
@@ -12,11 +12,8 @@
--source include/have_innodb.inc
let $engine_type= InnoDB;
+--source include/no_protocol.inc
-if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0`)
-{
- --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
-}
let $run= `SELECT '$BIG_TEST' = '1'`;
if ($run)
{
diff --git a/mysql-test/suite/stress/t/ddl_memory.test b/mysql-test/suite/stress/t/ddl_memory.test
index 5178439bff1..bcca77a74d9 100644
--- a/mysql-test/suite/stress/t/ddl_memory.test
+++ b/mysql-test/suite/stress/t/ddl_memory.test
@@ -11,11 +11,8 @@
# Storage engine to be used in CREATE TABLE
let $engine_type= MEMORY;
+--source include/no_protocol.inc
-if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0`)
-{
- --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
-}
let $run= `SELECT '$BIG_TEST' = '1'`;
if ($run)
{
diff --git a/mysql-test/suite/stress/t/ddl_myisam.test b/mysql-test/suite/stress/t/ddl_myisam.test
index 8d6226e573b..a9b14690c42 100644
--- a/mysql-test/suite/stress/t/ddl_myisam.test
+++ b/mysql-test/suite/stress/t/ddl_myisam.test
@@ -11,11 +11,8 @@
# Storage engine to be used in CREATE TABLE
let $engine_type= MyISAM;
+--source include/no_protocol.inc
-if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0`)
-{
- --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
-}
let $run= `SELECT '$BIG_TEST' = '1'`;
if ($run)
{
diff --git a/mysql-test/suite/sys_vars/disabled.def b/mysql-test/suite/sys_vars/disabled.def
index 596191d09b6..e4a2699f031 100644
--- a/mysql-test/suite/sys_vars/disabled.def
+++ b/mysql-test/suite/sys_vars/disabled.def
@@ -11,4 +11,4 @@
##############################################################################
innodb_flush_checkpoint_debug_basic: removed from XtraDB-26.0
-
+all_vars: obsolete, see sysvars_* tests
diff --git a/mysql-test/suite/sys_vars/inc/bin_relay_log_basename_index.inc b/mysql-test/suite/sys_vars/inc/bin_relay_log_basename_index.inc
new file mode 100644
index 00000000000..58d6ce2deb2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/inc/bin_relay_log_basename_index.inc
@@ -0,0 +1,55 @@
+# ==== Usage ====
+# [--let $rpl_debug=1]
+# --let $rpl_log_var_name= log_bin_basename|relay_log_basename|...
+# --source suite/sys_vars/inc/bin_relay_log_basename_index.inc
+#
+# $rpl_log_var_name
+# The name of the variable to test, i.e., one of:
+# - log_bin_basename
+# - relay_log_basename
+# - log_bin_index
+# - relay_log_index
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+if ($rpl_debug)
+{
+ --echo Testing variable named: $rpl_log_var_name
+}
+
+--let $basename= `SELECT @@global.$rpl_log_var_name`
+
+#
+# Assert that the variable is indeed only global
+#
+--replace_result $basename REPLACED
+--eval select @@global.$rpl_log_var_name
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+--eval select @@session.$rpl_log_var_name
+
+#
+# Assert that it is retrievable
+#
+--replace_result $basename REPLACED
+--eval show global variables like '$rpl_log_var_name'
+
+--replace_result $basename REPLACED
+--eval show session variables like '$rpl_log_var_name'
+
+--replace_result $basename REPLACED
+--eval select * from information_schema.global_variables where variable_name='$rpl_log_var_name'
+
+--replace_result $basename REPLACED
+--eval select * from information_schema.session_variables where variable_name='$rpl_log_var_name'
+
+#
+# Assert it is read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+--eval set global $rpl_log_var_name=1
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+--eval set session $rpl_log_var_name=1
+
diff --git a/mysql-test/suite/sys_vars/inc/collation_basic.inc b/mysql-test/suite/sys_vars/inc/collation_basic.inc
index be8ae36eeb8..14b9ae4af2a 100644
--- a/mysql-test/suite/sys_vars/inc/collation_basic.inc
+++ b/mysql-test/suite/sys_vars/inc/collation_basic.inc
@@ -152,6 +152,8 @@ eval SET $collation_variable = utf8_esperanto_ci;
eval SELECT $collation_variable;
eval SET $collation_variable = utf8_hungarian_ci;
eval SELECT $collation_variable;
+eval SET $collation_variable = utf8_thai_520_w2;
+eval SELECT $collation_variable;
eval SET $collation_variable = ucs2_general_ci;
eval SELECT $collation_variable;
eval SET $collation_variable = ucs2_bin;
diff --git a/mysql-test/suite/sys_vars/inc/explicit_defaults_for_timestamp.inc b/mysql-test/suite/sys_vars/inc/explicit_defaults_for_timestamp.inc
new file mode 100644
index 00000000000..1fea4ca5bb9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/inc/explicit_defaults_for_timestamp.inc
@@ -0,0 +1,112 @@
+CREATE TABLE t1 (a TIMESTAMP);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+
+if (`SELECT @@explicit_defaults_for_timestamp=0`)
+{
+ --error ER_INVALID_DEFAULT
+ CREATE TABLE t1 (a TIMESTAMP DEFAULT NULL);
+}
+
+if (`SELECT @@explicit_defaults_for_timestamp=1`)
+{
+ CREATE TABLE t1 (a TIMESTAMP DEFAULT NULL);
+ SHOW CREATE TABLE t1;
+ DROP TABLE t1;
+}
+
+CREATE TABLE t1 (a TIMESTAMP DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP DEFAULT '2001-01-01 10:20:30');
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT NULL);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT '2001-01-01 10:20:30');
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT '2001-01-01 10:20:30');
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NOT NULL);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NULL);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (a TIMESTAMP) AS SELECT 1 AS i;
+SHOW CREATE TABLE t1;
+CREATE TABLE t2 (b TIMESTAMP) AS SELECT a FROM t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t2;
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (a INT);
+ALTER TABLE t1 ADD b TIMESTAMP;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-10802 TIMESTAMP NOT NULL field with explicit_defaults_for_timestamp and NO_ZERO_DATE shouldn't throw error
+--echo #
+
+SET timestamp=UNIX_TIMESTAMP('2001-01-01 10:20:30');
+SET sql_mode='ANSI,NO_ZERO_DATE';
+CREATE TABLE t1 (a TIMESTAMP NOT NULL);
+INSERT INTO t1 VALUES ();
+SELECT * FROM t1;
+DROP TABLE t1;
+SET sql_mode=DEFAULT;
+SET timestamp=DEFAULT;
diff --git a/mysql-test/suite/sys_vars/inc/sysvars_server.inc b/mysql-test/suite/sys_vars/inc/sysvars_server.inc
new file mode 100644
index 00000000000..cffc7e7fa62
--- /dev/null
+++ b/mysql-test/suite/sys_vars/inc/sysvars_server.inc
@@ -0,0 +1,69 @@
+--source include/word_size.inc
+--vertical_results
+
+# need stable timestamp, because its current value is printed below
+set time_zone='+00:00';
+set timestamp=unix_timestamp('2014-09-01 13:40:23');
+# ditto
+set pseudo_thread_id=10;
+# to show session != global, and doesn't affect global_value_origin
+set sql_mode=ansi_quotes;
+# global_value_origin=SQL
+set global div_precision_increment=5;
+
+--replace_regex /^\/\S+/PATH/
+--replace_result $MASTER_MYPORT MASTER_MYPORT 372736 299008
+select * from information_schema.system_variables
+ where variable_name not like 'aria%' and
+ variable_name not like 'debug%' and
+ variable_name not like 'wsrep%' and
+ variable_name not in (
+ 'have_openssl',
+ 'have_symlink',
+ 'hostname',
+ 'large_files_support', 'log_tc_size',
+ 'lower_case_file_system',
+ 'lower_case_table_names',
+ 'open_files_limit',
+ 'rand_seed1',
+ 'rand_seed2',
+ 'system_time_zone',
+ 'version_comment',
+ 'version_compile_machine', 'version_compile_os',
+ 'version_malloc_library', 'version_ssl_library', 'version'
+ )
+ order by variable_name;
+
+# now various metadata but no values, for variables where
+# values change often
+select VARIABLE_NAME, VARIABLE_SCOPE, VARIABLE_TYPE, VARIABLE_COMMENT,
+ NUMERIC_MIN_VALUE, NUMERIC_MAX_VALUE, NUMERIC_BLOCK_SIZE,
+ ENUM_VALUE_LIST, READ_ONLY, COMMAND_LINE_ARGUMENT
+ from information_schema.system_variables
+ where variable_name in (
+ 'have_openssl',
+ 'have_symlink',
+ 'hostname',
+ 'large_files_support',
+ 'lower_case_file_system',
+ 'lower_case_table_names',
+ 'open_files_limit',
+ 'rand_seed1',
+ 'rand_seed2',
+ 'system_time_zone',
+ 'version_comment',
+ 'version_compile_machine', 'version_compile_os',
+ 'version_malloc_library', 'version_ssl_library', 'version'
+ )
+ order by variable_name;
+
+# yet less data: no values, no blocks size, no min/max value.
+select VARIABLE_NAME, GLOBAL_VALUE_ORIGIN, VARIABLE_SCOPE, VARIABLE_TYPE,
+ VARIABLE_COMMENT, ENUM_VALUE_LIST, READ_ONLY, COMMAND_LINE_ARGUMENT
+ from information_schema.system_variables
+ where variable_name in (
+ 'log_tc_size'
+ )
+ order by variable_name;
+
+set global div_precision_increment=default;
diff --git a/mysql-test/suite/sys_vars/inc/sysvars_server.opt b/mysql-test/suite/sys_vars/inc/sysvars_server.opt
new file mode 100644
index 00000000000..850203a1a5e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/inc/sysvars_server.opt
@@ -0,0 +1 @@
+--auto-increment-increment=1 --loose-thread-pool-size=4
diff --git a/mysql-test/suite/sys_vars/r/all_vars.result b/mysql-test/suite/sys_vars/r/all_vars.result
index 1bd4e394f6a..b7beb7b5347 100644
--- a/mysql-test/suite/sys_vars/r/all_vars.result
+++ b/mysql-test/suite/sys_vars/r/all_vars.result
@@ -10,5 +10,6 @@ there should be *no* long test name listed below:
select distinct variable_name as `there should be *no* variables listed below:` from t2
left join t1 on variable_name=test_name where test_name is null;
there should be *no* variables listed below:
+wsrep_certification_rules
drop table t1;
drop table t2;
diff --git a/mysql-test/suite/sys_vars/r/aria_encrypt_tables_basic.result b/mysql-test/suite/sys_vars/r/aria_encrypt_tables_basic.result
new file mode 100644
index 00000000000..bf40f534bd6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/aria_encrypt_tables_basic.result
@@ -0,0 +1,41 @@
+SET @start_global_value = @@global.aria_encrypt_tables;
+select @@global.aria_encrypt_tables;
+@@global.aria_encrypt_tables
+0
+select @@session.aria_encrypt_tables;
+ERROR HY000: Variable 'aria_encrypt_tables' is a GLOBAL variable
+show global variables like 'aria_encrypt_tables';
+Variable_name Value
+aria_encrypt_tables OFF
+show session variables like 'aria_encrypt_tables';
+Variable_name Value
+aria_encrypt_tables OFF
+select * from information_schema.global_variables
+where variable_name='aria_encrypt_tables';
+VARIABLE_NAME VARIABLE_VALUE
+ARIA_ENCRYPT_TABLES OFF
+select * from information_schema.session_variables
+where variable_name='aria_encrypt_tables';
+VARIABLE_NAME VARIABLE_VALUE
+ARIA_ENCRYPT_TABLES OFF
+set global aria_encrypt_tables=ON;
+select @@global.aria_encrypt_tables;
+@@global.aria_encrypt_tables
+1
+set global aria_encrypt_tables=OFF;
+select @@global.aria_encrypt_tables;
+@@global.aria_encrypt_tables
+0
+set global aria_encrypt_tables=1;
+select @@global.aria_encrypt_tables;
+@@global.aria_encrypt_tables
+1
+set session aria_encrypt_tables=1;
+ERROR HY000: Variable 'aria_encrypt_tables' is a GLOBAL variable and should be set with SET GLOBAL
+set global aria_encrypt_tables=1.1;
+ERROR 42000: Incorrect argument type to variable 'aria_encrypt_tables'
+set global aria_encrypt_tables=1e1;
+ERROR 42000: Incorrect argument type to variable 'aria_encrypt_tables'
+set global aria_encrypt_tables="foo";
+ERROR 42000: Variable 'aria_encrypt_tables' can't be set to the value of 'foo'
+SET @@global.aria_encrypt_tables = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/aria_pagecache_file_hash_size_basic.result b/mysql-test/suite/sys_vars/r/aria_pagecache_file_hash_size_basic.result
new file mode 100644
index 00000000000..0bdd56c298f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/aria_pagecache_file_hash_size_basic.result
@@ -0,0 +1,21 @@
+select @@global.aria_pagecache_file_hash_size;
+@@global.aria_pagecache_file_hash_size
+512
+select @@session.aria_pagecache_file_hash_size;
+ERROR HY000: Variable 'aria_pagecache_file_hash_size' is a GLOBAL variable
+show global variables like 'aria_pagecache_file_hash_size';
+Variable_name Value
+aria_pagecache_file_hash_size 512
+show session variables like 'aria_pagecache_file_hash_size';
+Variable_name Value
+aria_pagecache_file_hash_size 512
+select * from information_schema.global_variables where variable_name='aria_pagecache_file_hash_size';
+VARIABLE_NAME VARIABLE_VALUE
+ARIA_PAGECACHE_FILE_HASH_SIZE 512
+select * from information_schema.session_variables where variable_name='aria_pagecache_file_hash_size';
+VARIABLE_NAME VARIABLE_VALUE
+ARIA_PAGECACHE_FILE_HASH_SIZE 512
+set global aria_pagecache_file_hash_size=200;
+ERROR HY000: Variable 'aria_pagecache_file_hash_size' is a read only variable
+set session aria_pagecache_file_hash_size=200;
+ERROR HY000: Variable 'aria_pagecache_file_hash_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/aria_sort_buffer_size_basic.result b/mysql-test/suite/sys_vars/r/aria_sort_buffer_size_basic.result
index cf067c7e7b6..56522566ec9 100644
--- a/mysql-test/suite/sys_vars/r/aria_sort_buffer_size_basic.result
+++ b/mysql-test/suite/sys_vars/r/aria_sort_buffer_size_basic.result
@@ -1,30 +1,34 @@
SET @start_global_value = @@global.aria_sort_buffer_size;
select @@global.aria_sort_buffer_size;
@@global.aria_sort_buffer_size
-134217728
+268434432
select @@session.aria_sort_buffer_size;
@@session.aria_sort_buffer_size
-134217728
+268434432
show global variables like 'aria_sort_buffer_size';
Variable_name Value
-aria_sort_buffer_size 134217728
+aria_sort_buffer_size 268434432
show session variables like 'aria_sort_buffer_size';
Variable_name Value
-aria_sort_buffer_size 134217728
+aria_sort_buffer_size 268434432
select * from information_schema.global_variables where variable_name='aria_sort_buffer_size';
VARIABLE_NAME VARIABLE_VALUE
-ARIA_SORT_BUFFER_SIZE 134217728
+ARIA_SORT_BUFFER_SIZE 268434432
select * from information_schema.session_variables where variable_name='aria_sort_buffer_size';
VARIABLE_NAME VARIABLE_VALUE
-ARIA_SORT_BUFFER_SIZE 134217728
+ARIA_SORT_BUFFER_SIZE 268434432
set global aria_sort_buffer_size=10;
+Warnings:
+Warning 1292 Truncated incorrect aria_sort_buffer_size value: '10'
select @@global.aria_sort_buffer_size;
@@global.aria_sort_buffer_size
-10
+4096
set session aria_sort_buffer_size=10;
+Warnings:
+Warning 1292 Truncated incorrect aria_sort_buffer_size value: '10'
select @@session.aria_sort_buffer_size;
@@session.aria_sort_buffer_size
-10
+4096
set global aria_sort_buffer_size=1.1;
ERROR 42000: Incorrect argument type to variable 'aria_sort_buffer_size'
set session aria_sort_buffer_size=1e1;
@@ -36,7 +40,7 @@ Warnings:
Warning 1292 Truncated incorrect aria_sort_buffer_size value: '0'
select @@global.aria_sort_buffer_size;
@@global.aria_sort_buffer_size
-4
+4096
set session aria_sort_buffer_size=cast(-1 as unsigned int);
select @@session.aria_sort_buffer_size;
@@session.aria_sort_buffer_size
diff --git a/mysql-test/suite/sys_vars/r/back_log_basic.result b/mysql-test/suite/sys_vars/r/back_log_basic.result
index 5cfb0da65d6..0940ebeef8c 100644
--- a/mysql-test/suite/sys_vars/r/back_log_basic.result
+++ b/mysql-test/suite/sys_vars/r/back_log_basic.result
@@ -1,20 +1,20 @@
select @@global.back_log;
@@global.back_log
-50
+80
select @@session.back_log;
ERROR HY000: Variable 'back_log' is a GLOBAL variable
show global variables like 'back_log';
Variable_name Value
-back_log 50
+back_log 80
show session variables like 'back_log';
Variable_name Value
-back_log 50
+back_log 80
select * from information_schema.global_variables where variable_name='back_log';
VARIABLE_NAME VARIABLE_VALUE
-BACK_LOG 50
+BACK_LOG 80
select * from information_schema.session_variables where variable_name='back_log';
VARIABLE_NAME VARIABLE_VALUE
-BACK_LOG 50
+BACK_LOG 80
set global back_log=1;
ERROR HY000: Variable 'back_log' is a read only variable
set session back_log=1;
diff --git a/mysql-test/suite/sys_vars/r/binlog_commit_wait_count_basic.result b/mysql-test/suite/sys_vars/r/binlog_commit_wait_count_basic.result
new file mode 100644
index 00000000000..6837489311a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/binlog_commit_wait_count_basic.result
@@ -0,0 +1,13 @@
+SET @save_binlog_commit_wait_count= @@GLOBAL.binlog_commit_wait_count;
+SELECT @@GLOBAL.binlog_commit_wait_count as 'must be zero because of default';
+must be zero because of default
+0
+SELECT @@SESSION.binlog_commit_wait_count as 'no session var';
+ERROR HY000: Variable 'binlog_commit_wait_count' is a GLOBAL variable
+SET GLOBAL binlog_commit_wait_count= 0;
+SET GLOBAL binlog_commit_wait_count= DEFAULT;
+SET GLOBAL binlog_commit_wait_count= 10;
+SELECT @@GLOBAL.binlog_commit_wait_count;
+@@GLOBAL.binlog_commit_wait_count
+10
+SET GLOBAL binlog_commit_wait_count = @save_binlog_commit_wait_count;
diff --git a/mysql-test/suite/sys_vars/r/binlog_commit_wait_usec_basic.result b/mysql-test/suite/sys_vars/r/binlog_commit_wait_usec_basic.result
new file mode 100644
index 00000000000..b85af0bc9c7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/binlog_commit_wait_usec_basic.result
@@ -0,0 +1,13 @@
+SET @save_binlog_commit_wait_usec= @@GLOBAL.binlog_commit_wait_usec;
+SELECT @@GLOBAL.binlog_commit_wait_usec as 'check default';
+check default
+100000
+SELECT @@SESSION.binlog_commit_wait_usec as 'no session var';
+ERROR HY000: Variable 'binlog_commit_wait_usec' is a GLOBAL variable
+SET GLOBAL binlog_commit_wait_usec= 0;
+SET GLOBAL binlog_commit_wait_usec= DEFAULT;
+SET GLOBAL binlog_commit_wait_usec= 10000;
+SELECT @@GLOBAL.binlog_commit_wait_usec;
+@@GLOBAL.binlog_commit_wait_usec
+10000
+SET GLOBAL binlog_commit_wait_usec = @save_binlog_commit_wait_usec;
diff --git a/mysql-test/suite/sys_vars/r/binlog_row_image_basic.result b/mysql-test/suite/sys_vars/r/binlog_row_image_basic.result
new file mode 100644
index 00000000000..8a1aae216bb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/binlog_row_image_basic.result
@@ -0,0 +1,100 @@
+SELECT @@GLOBAL.binlog_row_image;
+@@GLOBAL.binlog_row_image
+FULL
+SELECT @@SESSION.binlog_row_image;
+@@SESSION.binlog_row_image
+FULL
+FULL Expected
+'#---------------------BS_STVARS_002_01----------------------#'
+SET @start_value= @@global.binlog_row_image;
+SELECT COUNT(@@GLOBAL.binlog_row_image);
+COUNT(@@GLOBAL.binlog_row_image)
+1
+1 Expected
+SELECT COUNT(@@SESSION.binlog_row_image);
+COUNT(@@SESSION.binlog_row_image)
+1
+1 Expected
+'#---------------------BS_STVARS_002_02----------------------#'
+SET @@GLOBAL.binlog_row_image=0;
+SELECT @@GLOBAL.binlog_row_image;
+@@GLOBAL.binlog_row_image
+MINIMAL
+MINIMAL Expected
+SET @@SESSION.binlog_row_image=0;
+SELECT @@SESSION.binlog_row_image;
+@@SESSION.binlog_row_image
+MINIMAL
+MINIMAL Expected
+SET @@GLOBAL.binlog_row_image=1;
+SELECT @@GLOBAL.binlog_row_image;
+@@GLOBAL.binlog_row_image
+NOBLOB
+NOBLOB Expected
+SET @@SESSION.binlog_row_image=1;
+SELECT @@SESSION.binlog_row_image;
+@@SESSION.binlog_row_image
+NOBLOB
+NOBLOB Expected
+SET @@GLOBAL.binlog_row_image=2;
+SELECT @@GLOBAL.binlog_row_image;
+@@GLOBAL.binlog_row_image
+FULL
+FULL Expected
+SET @@SESSION.binlog_row_image=2;
+SELECT @@SESSION.binlog_row_image;
+@@SESSION.binlog_row_image
+FULL
+FULL Expected
+'#---------------------BS_STVARS_002_03----------------------#'
+SELECT @@GLOBAL.binlog_row_image = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='binlog_row_image';
+@@GLOBAL.binlog_row_image = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.binlog_row_image);
+COUNT(@@GLOBAL.binlog_row_image)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='binlog_row_image';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+'#---------------------BS_STVARS_002_04----------------------#'
+SELECT @@SESSION.binlog_row_image = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='binlog_row_image';
+@@SESSION.binlog_row_image = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@SESSION.binlog_row_image);
+COUNT(@@SESSION.binlog_row_image)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='binlog_row_image';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+'#---------------------BS_STVARS_002_05----------------------#'
+SELECT COUNT(@@binlog_row_image);
+COUNT(@@binlog_row_image)
+1
+1 Expected
+SELECT COUNT(@@local.binlog_row_image);
+COUNT(@@local.binlog_row_image)
+1
+1 Expected
+SELECT COUNT(@@SESSION.binlog_row_image);
+COUNT(@@SESSION.binlog_row_image)
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.binlog_row_image);
+COUNT(@@GLOBAL.binlog_row_image)
+1
+1 Expected
+SET @@global.binlog_row_image= @start_value;
diff --git a/mysql-test/suite/sys_vars/r/character_set_client_basic.result b/mysql-test/suite/sys_vars/r/character_set_client_basic.result
index b0b8d620a9e..e6502d63c78 100644
--- a/mysql-test/suite/sys_vars/r/character_set_client_basic.result
+++ b/mysql-test/suite/sys_vars/r/character_set_client_basic.result
@@ -430,7 +430,7 @@ ERROR 42000: Unknown character set: '100'
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
@total_charset
-39
+40
'#--------------------FN_DYNVARS_010_10-------------------------#'
SET @@character_set_client = abc;
ERROR 42000: Unknown character set: 'abc'
diff --git a/mysql-test/suite/sys_vars/r/character_set_client_func.result b/mysql-test/suite/sys_vars/r/character_set_client_func.result
index 82c1548d438..3e39b24c8db 100644
--- a/mysql-test/suite/sys_vars/r/character_set_client_func.result
+++ b/mysql-test/suite/sys_vars/r/character_set_client_func.result
@@ -30,7 +30,7 @@ SET @@session.character_set_client = utf8;
INSERT INTO t1 values('è');
SELECT hex(a),CHAR_LENGTH(a) FROM t1;
hex(a) CHAR_LENGTH(a)
-03 1
+033F 2
DELETE FROM t1;
DROP TABLE IF EXISTS t1;
SET @@global.character_set_client = @global_character_set_client;
diff --git a/mysql-test/suite/sys_vars/r/character_set_connection_basic.result b/mysql-test/suite/sys_vars/r/character_set_connection_basic.result
index 4ed313c71c7..ad9e9c80902 100644
--- a/mysql-test/suite/sys_vars/r/character_set_connection_basic.result
+++ b/mysql-test/suite/sys_vars/r/character_set_connection_basic.result
@@ -424,7 +424,7 @@ ERROR 42000: Unknown character set: '100'
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
@total_charset
-39
+40
'#--------------------FN_DYNVARS_011_10-------------------------#'
SET @@character_set_connection = abc;
ERROR 42000: Unknown character set: 'abc'
diff --git a/mysql-test/suite/sys_vars/r/character_set_connection_func.result b/mysql-test/suite/sys_vars/r/character_set_connection_func.result
index 6fc33a4f369..7f3c4e42ce6 100644
--- a/mysql-test/suite/sys_vars/r/character_set_connection_func.result
+++ b/mysql-test/suite/sys_vars/r/character_set_connection_func.result
@@ -11,7 +11,7 @@ SELECT @@global.character_set_connection;
utf8
SELECT @@session.character_set_connection;
@@session.character_set_connection
-utf8
+latin1
'#--------------------FN_DYNVARS_011_02-------------------------#'
'connection default'
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/sys_vars/r/character_set_database_basic.result b/mysql-test/suite/sys_vars/r/character_set_database_basic.result
index 88f311adf87..2fec211cf8d 100644
--- a/mysql-test/suite/sys_vars/r/character_set_database_basic.result
+++ b/mysql-test/suite/sys_vars/r/character_set_database_basic.result
@@ -424,7 +424,7 @@ ERROR 42000: Unknown character set: '100'
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
@total_charset
-39
+40
'#--------------------FN_DYNVARS_012_10-------------------------#'
SET @@character_set_database = "grek";
ERROR 42000: Unknown character set: 'grek'
diff --git a/mysql-test/suite/sys_vars/r/character_set_filesystem_basic.result b/mysql-test/suite/sys_vars/r/character_set_filesystem_basic.result
index 826dc98a832..c1a77b73fb3 100644
--- a/mysql-test/suite/sys_vars/r/character_set_filesystem_basic.result
+++ b/mysql-test/suite/sys_vars/r/character_set_filesystem_basic.result
@@ -402,7 +402,7 @@ ERROR 42000: Unknown character set: '100'
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
@total_charset
-39
+40
'#--------------------FN_DYNVARS_008_10-------------------------#'
SET @@character_set_filesystem = abc;
ERROR 42000: Unknown character set: 'abc'
diff --git a/mysql-test/suite/sys_vars/r/character_set_results_basic.result b/mysql-test/suite/sys_vars/r/character_set_results_basic.result
index 3354dcb1838..244fa4670b8 100644
--- a/mysql-test/suite/sys_vars/r/character_set_results_basic.result
+++ b/mysql-test/suite/sys_vars/r/character_set_results_basic.result
Binary files differ
diff --git a/mysql-test/suite/sys_vars/r/character_set_results_func.result b/mysql-test/suite/sys_vars/r/character_set_results_func.result
index d92821fdfa6..14bad0f4eb4 100644
--- a/mysql-test/suite/sys_vars/r/character_set_results_func.result
+++ b/mysql-test/suite/sys_vars/r/character_set_results_func.result
@@ -9,7 +9,7 @@ SELECT @@global.character_set_results;
utf8
SELECT @@session.character_set_results;
@@session.character_set_results
-utf8
+latin1
'#--------------------FN_DYNVARS_012_02-------------------------#'
'connection default'
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/sys_vars/r/collation_connection_basic.result b/mysql-test/suite/sys_vars/r/collation_connection_basic.result
index c8ce41cfe88..5f8d64e8fa3 100644
--- a/mysql-test/suite/sys_vars/r/collation_connection_basic.result
+++ b/mysql-test/suite/sys_vars/r/collation_connection_basic.result
@@ -374,6 +374,10 @@ SET @@session.collation_connection = utf8_hungarian_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
utf8_hungarian_ci
+SET @@session.collation_connection = utf8_thai_520_w2;
+SELECT @@session.collation_connection;
+@@session.collation_connection
+utf8_thai_520_w2
SET @@session.collation_connection = ucs2_general_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
@@ -883,6 +887,10 @@ SET @@global.collation_connection = utf8_hungarian_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
utf8_hungarian_ci
+SET @@global.collation_connection = utf8_thai_520_w2;
+SELECT @@global.collation_connection;
+@@global.collation_connection
+utf8_thai_520_w2
SET @@global.collation_connection = ucs2_general_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
diff --git a/mysql-test/suite/sys_vars/r/collation_connection_func.result b/mysql-test/suite/sys_vars/r/collation_connection_func.result
index 18f82dc60e1..b40efda517f 100644
--- a/mysql-test/suite/sys_vars/r/collation_connection_func.result
+++ b/mysql-test/suite/sys_vars/r/collation_connection_func.result
@@ -9,7 +9,7 @@ SELECT @@global.collation_connection;
latin1_danish_ci
SELECT @@session.collation_connection;
@@session.collation_connection
-latin1_danish_ci
+latin1_swedish_ci
'#--------------------FN_DYNVARS_015_02-------------------------#'
'connection default'
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/sys_vars/r/collation_database_basic.result b/mysql-test/suite/sys_vars/r/collation_database_basic.result
index efe9638c5f6..5a218167bdb 100644
--- a/mysql-test/suite/sys_vars/r/collation_database_basic.result
+++ b/mysql-test/suite/sys_vars/r/collation_database_basic.result
@@ -376,6 +376,10 @@ SET @@session.collation_database = utf8_hungarian_ci;
SELECT @@session.collation_database;
@@session.collation_database
utf8_hungarian_ci
+SET @@session.collation_database = utf8_thai_520_w2;
+SELECT @@session.collation_database;
+@@session.collation_database
+utf8_thai_520_w2
SET @@session.collation_database = ucs2_general_ci;
SELECT @@session.collation_database;
@@session.collation_database
@@ -885,6 +889,10 @@ SET @@global.collation_database = utf8_hungarian_ci;
SELECT @@global.collation_database;
@@global.collation_database
utf8_hungarian_ci
+SET @@global.collation_database = utf8_thai_520_w2;
+SELECT @@global.collation_database;
+@@global.collation_database
+utf8_thai_520_w2
SET @@global.collation_database = ucs2_general_ci;
SELECT @@global.collation_database;
@@global.collation_database
diff --git a/mysql-test/suite/sys_vars/r/collation_server_basic.result b/mysql-test/suite/sys_vars/r/collation_server_basic.result
index e60f3a3041a..352aeb9ce15 100644
--- a/mysql-test/suite/sys_vars/r/collation_server_basic.result
+++ b/mysql-test/suite/sys_vars/r/collation_server_basic.result
@@ -373,6 +373,10 @@ SET @@session.collation_server = utf8_hungarian_ci;
SELECT @@session.collation_server;
@@session.collation_server
utf8_hungarian_ci
+SET @@session.collation_server = utf8_thai_520_w2;
+SELECT @@session.collation_server;
+@@session.collation_server
+utf8_thai_520_w2
SET @@session.collation_server = ucs2_general_ci;
SELECT @@session.collation_server;
@@session.collation_server
@@ -882,6 +886,10 @@ SET @@global.collation_server = utf8_hungarian_ci;
SELECT @@global.collation_server;
@@global.collation_server
utf8_hungarian_ci
+SET @@global.collation_server = utf8_thai_520_w2;
+SELECT @@global.collation_server;
+@@global.collation_server
+utf8_thai_520_w2
SET @@global.collation_server = ucs2_general_ci;
SELECT @@global.collation_server;
@@global.collation_server
diff --git a/mysql-test/suite/sys_vars/r/debug_crc_break_basic.result b/mysql-test/suite/sys_vars/r/debug_crc_break_basic.result
deleted file mode 100644
index 70f338ad305..00000000000
--- a/mysql-test/suite/sys_vars/r/debug_crc_break_basic.result
+++ /dev/null
@@ -1,39 +0,0 @@
-SET @start_global_value = @@global.debug_crc_break;
-select @@global.debug_crc_break;
-@@global.debug_crc_break
-0
-select @@session.debug_crc_break;
-ERROR HY000: Variable 'debug_crc_break' is a GLOBAL variable
-show global variables like 'debug_crc_break';
-Variable_name Value
-debug_crc_break 0
-show session variables like 'debug_crc_break';
-Variable_name Value
-debug_crc_break 0
-select * from information_schema.global_variables where variable_name='debug_crc_break';
-VARIABLE_NAME VARIABLE_VALUE
-DEBUG_CRC_BREAK 0
-select * from information_schema.session_variables where variable_name='debug_crc_break';
-VARIABLE_NAME VARIABLE_VALUE
-DEBUG_CRC_BREAK 0
-set global debug_crc_break=1;
-select @@global.debug_crc_break;
-@@global.debug_crc_break
-1
-set session debug_crc_break=1;
-ERROR HY000: Variable 'debug_crc_break' is a GLOBAL variable and should be set with SET GLOBAL
-set global debug_crc_break=1.1;
-ERROR 42000: Incorrect argument type to variable 'debug_crc_break'
-set global debug_crc_break=1e1;
-ERROR 42000: Incorrect argument type to variable 'debug_crc_break'
-set global debug_crc_break="foo";
-ERROR 42000: Incorrect argument type to variable 'debug_crc_break'
-set global debug_crc_break=0;
-select @@global.debug_crc_break;
-@@global.debug_crc_break
-0
-set global debug_crc_break=cast(-1 as unsigned int);
-select @@global.debug_crc_break;
-@@global.debug_crc_break
-18446744073709551615
-SET @@global.debug_crc_break = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/debug_mutex_deadlock_detector_basic.result b/mysql-test/suite/sys_vars/r/debug_mutex_deadlock_detector_basic.result
new file mode 100644
index 00000000000..b438df8e6e2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/debug_mutex_deadlock_detector_basic.result
@@ -0,0 +1,21 @@
+select @@global.debug_mutex_deadlock_detector;
+@@global.debug_mutex_deadlock_detector
+1
+select @@session.debug_mutex_deadlock_detector;
+ERROR HY000: Variable 'debug_mutex_deadlock_detector' is a GLOBAL variable
+show global variables like 'debug_mutex_deadlock_detector';
+Variable_name Value
+debug_mutex_deadlock_detector ON
+show session variables like 'debug_mutex_deadlock_detector';
+Variable_name Value
+debug_mutex_deadlock_detector ON
+select * from information_schema.global_variables where variable_name='debug_mutex_deadlock_detector';
+VARIABLE_NAME VARIABLE_VALUE
+DEBUG_MUTEX_DEADLOCK_DETECTOR ON
+select * from information_schema.session_variables where variable_name='debug_mutex_deadlock_detector';
+VARIABLE_NAME VARIABLE_VALUE
+DEBUG_MUTEX_DEADLOCK_DETECTOR ON
+set global debug_mutex_deadlock_detector=1;
+ERROR HY000: Variable 'debug_mutex_deadlock_detector' is a read only variable
+set session debug_mutex_deadlock_detector=1;
+ERROR HY000: Variable 'debug_mutex_deadlock_detector' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/default_master_connection_basic.result b/mysql-test/suite/sys_vars/r/default_master_connection_basic.result
new file mode 100644
index 00000000000..78425049324
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/default_master_connection_basic.result
@@ -0,0 +1,94 @@
+SET @start_session_value = @@session.default_master_connection;
+SELECT @start_session_value;
+@start_session_value
+
+SET @@session.default_master_connection = 'bar';
+SET @@session.default_master_connection = DEFAULT;
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+
+SET @@session.default_master_connection = @start_session_value;
+SELECT @@session.default_master_connection = '';
+@@session.default_master_connection = ''
+1
+SET @@global.default_master_connection = 'master1';
+ERROR HY000: Variable 'default_master_connection' is a SESSION variable and can't be used with SET GLOBAL
+SELECT @@global.default_master_connection;
+ERROR HY000: Variable 'default_master_connection' is a SESSION variable
+SET @@session.default_master_connection = 'master1';
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+master1
+SET @@session.default_master_connection = '';
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+
+SET @@session.default_master_connection = '1234-5678';
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+1234-5678
+SET @@session.default_master_connection = '@!*/"';
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+@!*/"
+SET @@session.default_master_connection = REPEAT('a',191);
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+SET @@session.default_master_connection = master2;
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+master2
+SET @@session.default_master_connection = 1;
+ERROR 42000: Incorrect argument type to variable 'default_master_connection'
+SET @@session.default_master_connection = 65530.30;
+ERROR 42000: Incorrect argument type to variable 'default_master_connection'
+SET @@session.default_master_connection = FALSE;
+ERROR 42000: Incorrect argument type to variable 'default_master_connection'
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+master2
+SET @@session.default_master_connection = REPEAT('a',192);
+ERROR 42000: Variable 'default_master_connection' can't be set to the value of 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+master2
+SET @@session.default_master_connection = NULL;
+ERROR 42000: Variable 'default_master_connection' can't be set to the value of 'NULL'
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+master2
+SELECT @@global.default_master_connection = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='default_master_connection';
+ERROR HY000: Variable 'default_master_connection' is a SESSION variable
+SELECT @@session.default_master_connection = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='default_master_connection';
+@@session.default_master_connection = VARIABLE_VALUE
+1
+SET @@default_master_connection = 'foo';
+SELECT @@default_master_connection = @@local.default_master_connection;
+@@default_master_connection = @@local.default_master_connection
+1
+SELECT @@local.default_master_connection = @@session.default_master_connection;
+@@local.default_master_connection = @@session.default_master_connection
+1
+SET default_master_connection = 'foo';
+SELECT @@default_master_connection;
+@@default_master_connection
+foo
+SET local.default_master_connection = 'foo';
+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 'default_master_connection = 'foo'' at line 1
+SELECT local.default_master_connection;
+ERROR 42S02: Unknown table 'local' in field list
+SET session.default_master_connection = 'foo';
+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 'default_master_connection = 'foo'' at line 1
+SELECT session.default_master_connection;
+ERROR 42S02: Unknown table 'session' in field list
+SELECT default_master_connection = @@session.default_master_connection;
+ERROR 42S22: Unknown column 'default_master_connection' in 'field list'
+SET @@session.default_master_connection = @start_session_value;
+SELECT @@session.default_master_connection;
+@@session.default_master_connection
+
diff --git a/mysql-test/suite/sys_vars/r/default_regex_flags_basic.result b/mysql-test/suite/sys_vars/r/default_regex_flags_basic.result
new file mode 100644
index 00000000000..84c55f3d2b6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/default_regex_flags_basic.result
@@ -0,0 +1,57 @@
+SET default_regex_flags='';
+SELECT @@default_regex_flags;
+@@default_regex_flags
+
+SET default_regex_flags=DEFAULT;
+SELECT @@default_regex_flags;
+@@default_regex_flags
+
+SET default_regex_flags=NULL;
+ERROR 42000: Variable 'default_regex_flags' can't be set to the value of 'NULL'
+SELECT @@default_regex_flags;
+@@default_regex_flags
+
+SET default_regex_flags='UNKNOWN';
+ERROR 42000: Variable 'default_regex_flags' can't be set to the value of 'UNKNOWN'
+SET default_regex_flags=123;
+ERROR 42000: Variable 'default_regex_flags' can't be set to the value of '123'
+SET default_regex_flags=123.0;
+ERROR 42000: Incorrect argument type to variable 'default_regex_flags'
+SET default_regex_flags=123e0;
+ERROR 42000: Incorrect argument type to variable 'default_regex_flags'
+SET default_regex_flags='DOTALL';
+SELECT @@default_regex_flags;
+@@default_regex_flags
+DOTALL
+SET default_regex_flags=NULL;
+ERROR 42000: Variable 'default_regex_flags' can't be set to the value of 'NULL'
+SELECT @@default_regex_flags;
+@@default_regex_flags
+DOTALL
+SET @@default_regex_flags=63;
+SELECT @@default_regex_flags;
+@@default_regex_flags
+DOTALL,DUPNAMES,EXTENDED,EXTRA,MULTILINE,UNGREEDY
+SET @@default_regex_flags='DOTALL';
+SELECT @@default_regex_flags;
+@@default_regex_flags
+DOTALL
+SET @@default_regex_flags='DOTALL,DUPNAMES,EXTENDED,EXTRA,MULTILINE,UNGREEDY';
+SELECT @@default_regex_flags;
+@@default_regex_flags
+DOTALL,DUPNAMES,EXTENDED,EXTRA,MULTILINE,UNGREEDY
+SET @@default_regex_flags=DEFAULT;
+SET @@global.default_regex_flags='MULTILINE';
+SELECT @@session.default_regex_flags;
+@@session.default_regex_flags
+
+# connection con1
+SELECT @@session.default_regex_flags;
+@@session.default_regex_flags
+MULTILINE
+# connection default
+SELECT @@session.default_regex_flags;
+@@session.default_regex_flags
+
+SET @@global.default_regex_flags=DEFAULT;
+SET default_regex_flags=DEFAULT;
diff --git a/mysql-test/suite/sys_vars/r/default_storage_engine_basic.result b/mysql-test/suite/sys_vars/r/default_storage_engine_basic.result
index 727e6ca88f2..7e12c7dc477 100644
--- a/mysql-test/suite/sys_vars/r/default_storage_engine_basic.result
+++ b/mysql-test/suite/sys_vars/r/default_storage_engine_basic.result
@@ -19,7 +19,7 @@ MyISAM
SET @@global.default_storage_engine = MERGE;
SELECT @@global.default_storage_engine;
@@global.default_storage_engine
-MRG_MYISAM
+MRG_MyISAM
SET @@global.default_storage_engine = MEMORY;
SELECT @@global.default_storage_engine;
@@global.default_storage_engine
@@ -36,7 +36,7 @@ MyISAM
SET @@session.default_storage_engine = MERGE;
SELECT @@session.default_storage_engine;
@@session.default_storage_engine
-MRG_MYISAM
+MRG_MyISAM
SET @@session.default_storage_engine = MEMORY;
SELECT @@session.default_storage_engine;
@@session.default_storage_engine
diff --git a/mysql-test/suite/sys_vars/r/default_tmp_storage_engine_basic.result b/mysql-test/suite/sys_vars/r/default_tmp_storage_engine_basic.result
new file mode 100644
index 00000000000..22056efc934
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/default_tmp_storage_engine_basic.result
@@ -0,0 +1,181 @@
+SET @start_global_value = @@global.default_tmp_storage_engine;
+SELECT @start_global_value;
+@start_global_value
+NULL
+SET @start_session_value = @@session.default_tmp_storage_engine;
+SELECT @start_session_value;
+@start_session_value
+NULL
+'#--------------------FN_DYNVARS_005_01-------------------------#'
+SET @@global.default_tmp_storage_engine = MEMORY;
+SET @@global.default_tmp_storage_engine = DEFAULT;
+SELECT @@global.default_tmp_storage_engine;
+@@global.default_tmp_storage_engine
+NULL
+SET @@session.default_tmp_storage_engine = MEMORY;
+SET @@session.default_tmp_storage_engine = DEFAULT;
+SELECT @@session.default_tmp_storage_engine;
+@@session.default_tmp_storage_engine
+NULL
+'#--------------------FN_DYNVARS_005_02-------------------------#'
+SET @@global.default_tmp_storage_engine = MYISAM;
+SELECT @@global.default_tmp_storage_engine;
+@@global.default_tmp_storage_engine
+MyISAM
+SET @@global.default_tmp_storage_engine = MERGE;
+SELECT @@global.default_tmp_storage_engine;
+@@global.default_tmp_storage_engine
+MRG_MyISAM
+SET @@global.default_tmp_storage_engine = MEMORY;
+SELECT @@global.default_tmp_storage_engine;
+@@global.default_tmp_storage_engine
+MEMORY
+'#--------------------FN_DYNVARS_005_03-------------------------#'
+SET @@session.default_tmp_storage_engine = MYISAM;
+SELECT @@session.default_tmp_storage_engine;
+@@session.default_tmp_storage_engine
+MyISAM
+SET @@session.default_tmp_storage_engine = MERGE;
+SELECT @@session.default_tmp_storage_engine;
+@@session.default_tmp_storage_engine
+MRG_MyISAM
+SET @@session.default_tmp_storage_engine = MEMORY;
+SELECT @@session.default_tmp_storage_engine;
+@@session.default_tmp_storage_engine
+MEMORY
+'#------------------FN_DYNVARS_005_04-----------------------#'
+SET @@global.default_tmp_storage_engine = 8199;
+ERROR 42000: Incorrect argument type to variable 'default_tmp_storage_engine'
+SET @@global.default_tmp_storage_engine = -1024;
+ERROR 42000: Incorrect argument type to variable 'default_tmp_storage_engine'
+SET @@global.default_tmp_storage_engine = 65530.34;
+ERROR 42000: Incorrect argument type to variable 'default_tmp_storage_engine'
+SET @@global.default_tmp_storage_engine = FILE;
+ERROR 42000: Unknown storage engine 'FILE'
+SET @@session.default_tmp_storage_engine = 8199;
+ERROR 42000: Incorrect argument type to variable 'default_tmp_storage_engine'
+SET @@session.default_tmp_storage_engine = 65530.34;
+ERROR 42000: Incorrect argument type to variable 'default_tmp_storage_engine'
+SET @@session.default_tmp_storage_engine = RECORD;
+ERROR 42000: Unknown storage engine 'RECORD'
+'#------------------FN_DYNVARS_005_05-----------------------#'
+SELECT @@global.default_tmp_storage_engine =
+VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='default_tmp_storage_engine';
+@@global.default_tmp_storage_engine =
+VARIABLE_VALUE
+1
+'#------------------FN_DYNVARS_005_06-----------------------#'
+SELECT @@session.default_tmp_storage_engine =
+VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='default_tmp_storage_engine';
+@@session.default_tmp_storage_engine =
+VARIABLE_VALUE
+1
+'#------------------FN_DYNVARS_005_07-----------------------#'
+SET @@global.default_tmp_storage_engine = TRUE;
+ERROR 42000: Incorrect argument type to variable 'default_tmp_storage_engine'
+SET @@global.default_tmp_storage_engine = FALSE;
+ERROR 42000: Incorrect argument type to variable 'default_tmp_storage_engine'
+'#---------------------FN_DYNVARS_001_8----------------------#'
+SET @@default_tmp_storage_engine = MYISAM;
+SELECT @@default_tmp_storage_engine = @@local.default_tmp_storage_engine;
+@@default_tmp_storage_engine = @@local.default_tmp_storage_engine
+1
+SELECT @@local.default_tmp_storage_engine = @@session.default_tmp_storage_engine;
+@@local.default_tmp_storage_engine = @@session.default_tmp_storage_engine
+1
+'#---------------------FN_DYNVARS_001_9----------------------#'
+SET default_tmp_storage_engine = MEMORY;
+SELECT @@default_tmp_storage_engine;
+@@default_tmp_storage_engine
+MEMORY
+SELECT local.default_tmp_storage_engine;
+ERROR 42S02: Unknown table 'local' in field list
+SELECT session.default_tmp_storage_engine;
+ERROR 42S02: Unknown table 'session' in field list
+SELECT default_tmp_storage_engine = @@session.default_tmp_storage_engine;
+ERROR 42S22: Unknown column 'default_tmp_storage_engine' in 'field list'
+SET @@default_tmp_storage_engine = @start_global_value;
+SET default_tmp_storage_engine = MyISAM;
+SET default_storage_engine = MyISAM;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TEMPORARY TABLE `t2` (
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1, t2;
+SET default_storage_engine = MEMORY;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TEMPORARY TABLE `t2` (
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1, t2;
+SET @@global.default_tmp_storage_engine = NULL;
+SET @@session.default_tmp_storage_engine = NULL;
+SET default_storage_engine = MEMORY;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TEMPORARY TABLE `t2` (
+ `b` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+DROP TABLE t1, t2;
+SET default_storage_engine = MYISAM;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TEMPORARY TABLE `t2` (
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1, t2;
+SET default_tmp_storage_engine = DEFAULT;
+SET default_storage_engine = DEFAULT;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TEMPORARY TABLE `t2` (
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1, t2;
+SET @@global.default_tmp_storage_engine = @start_global_value;
+SELECT @@global.default_tmp_storage_engine;
+@@global.default_tmp_storage_engine
+NULL
+SET @@session.default_tmp_storage_engine = @start_session_value;
+SELECT @@session.default_tmp_storage_engine;
+@@session.default_tmp_storage_engine
+NULL
diff --git a/mysql-test/suite/sys_vars/r/delay_key_write_func.result b/mysql-test/suite/sys_vars/r/delay_key_write_func.result
index d55cca7ab8e..5cc4b2eaaad 100644
--- a/mysql-test/suite/sys_vars/r/delay_key_write_func.result
+++ b/mysql-test/suite/sys_vars/r/delay_key_write_func.result
@@ -1,23 +1,20 @@
'#--------------------FN_DYNVARS_023_01-------------------------#'
SET @start_value= @@global.delay_key_write;
-SET @@global.delay_key_write = ON;
-SELECT @@global.delay_key_write;
-@@global.delay_key_write
-ON
-'connect (user1,localhost,root,,,,)'
-'connection user1'
-SELECT @@global.delay_key_write AS res_is_ON;
-res_is_ON
-ON
-SET @@global.delay_key_write = ALL;
-'connect (user1,localhost,root,,,,)'
-'connection user1'
-SELECT @@global.delay_key_write AS res_is_ALL;
-res_is_ALL
-ALL
'#--------------------FN_DYNVARS_023_02-------------------------#'
+CREATE PROCEDURE sp_addRecords (IN var1 INT,IN var2 INT)
+BEGIN
+WHILE (var1 < var2) DO
+INSERT INTO t1 VALUES(var1,REPEAT('MYSQL',10),100000.0/var1);
+SET var1=var1+1;
+END WHILE;
+END//
'---check when delay_key_write is OFF---'
SET @@global.delay_key_write = OFF;
+CREATE TABLE t1(
+a INT PRIMARY KEY,
+b VARCHAR(512),
+c DOUBLE
+) DELAY_KEY_WRITE = 1;
FLUSH STATUS;
CALL sp_addRecords(1,10);
SHOW STATUS LIKE 'Key_reads';
@@ -32,8 +29,14 @@ Key_write_requests 9
SELECT COUNT(*) FROM t1;
COUNT(*)
9
+DROP TABLE t1;
'----check when delay_key_write is ON---'
SET @@global.delay_key_write = ON;
+CREATE TABLE t1(
+a INT PRIMARY KEY,
+b VARCHAR(512),
+c DOUBLE
+) DELAY_KEY_WRITE = 1;
FLUSH STATUS;
CALL sp_addRecords(1,10);
SHOW STATUS LIKE 'Key_reads';
@@ -48,8 +51,14 @@ Key_write_requests 9
SELECT COUNT(*) FROM t1;
COUNT(*)
9
+DROP TABLE t1;
'----check when delay_key_write is ALL---'
SET @@global.delay_key_write = ALL;
+CREATE TABLE t1(
+a INT PRIMARY KEY,
+b VARCHAR(512),
+c DOUBLE
+) DELAY_KEY_WRITE = 0;
FLUSH STATUS;
CALL sp_addRecords(1,10);
SHOW STATUS LIKE 'Key_reads';
diff --git a/mysql-test/suite/sys_vars/r/delayed_insert_limit_func.result b/mysql-test/suite/sys_vars/r/delayed_insert_limit_func.result
index eeb7a28c816..6076d024d44 100644
--- a/mysql-test/suite/sys_vars/r/delayed_insert_limit_func.result
+++ b/mysql-test/suite/sys_vars/r/delayed_insert_limit_func.result
@@ -13,7 +13,7 @@ INSERT INTO t1 VALUES('3','1','1');
INSERT INTO t1 VALUES('4','1','1');
INSERT INTO t1 VALUES('5','1','1');
INSERT INTO t1 VALUES('6','1','1');
-LOCK TABLE v1 WRITE;
+LOCK TABLE v1 READ;
** Connection con1 **
INSERT DELAYED INTO t1 VALUES('7','1','1');
INSERT DELAYED INTO t1 VALUES('8','1','1');
@@ -82,7 +82,7 @@ INSERT INTO t1 VALUES('3');
INSERT INTO t1 VALUES('4');
INSERT INTO t1 VALUES('5');
INSERT INTO t1 VALUES('6');
-LOCK TABLE v1 WRITE;
+LOCK TABLE v1 READ;
** Connection con1 **
Asynchronous execute
INSERT DELAYED INTO t1 VALUES('7');
diff --git a/mysql-test/suite/sys_vars/r/encrypt_tmp_disk_tables_basic.result b/mysql-test/suite/sys_vars/r/encrypt_tmp_disk_tables_basic.result
new file mode 100644
index 00000000000..833ad5287ba
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/encrypt_tmp_disk_tables_basic.result
@@ -0,0 +1,41 @@
+SET @start_global_value = @@global.encrypt_tmp_disk_tables;
+select @@global.encrypt_tmp_disk_tables;
+@@global.encrypt_tmp_disk_tables
+0
+select @@session.encrypt_tmp_disk_tables;
+ERROR HY000: Variable 'encrypt_tmp_disk_tables' is a GLOBAL variable
+show global variables like 'encrypt_tmp_disk_tables';
+Variable_name Value
+encrypt_tmp_disk_tables OFF
+show session variables like 'encrypt_tmp_disk_tables';
+Variable_name Value
+encrypt_tmp_disk_tables OFF
+select * from information_schema.global_variables
+where variable_name='encrypt_tmp_disk_tables';
+VARIABLE_NAME VARIABLE_VALUE
+ENCRYPT_TMP_DISK_TABLES OFF
+select * from information_schema.session_variables
+where variable_name='encrypt_tmp_disk_tables';
+VARIABLE_NAME VARIABLE_VALUE
+ENCRYPT_TMP_DISK_TABLES OFF
+set global encrypt_tmp_disk_tables=ON;
+select @@global.encrypt_tmp_disk_tables;
+@@global.encrypt_tmp_disk_tables
+1
+set global encrypt_tmp_disk_tables=OFF;
+select @@global.encrypt_tmp_disk_tables;
+@@global.encrypt_tmp_disk_tables
+0
+set global encrypt_tmp_disk_tables=1;
+select @@global.encrypt_tmp_disk_tables;
+@@global.encrypt_tmp_disk_tables
+1
+set session encrypt_tmp_disk_tables=1;
+ERROR HY000: Variable 'encrypt_tmp_disk_tables' is a GLOBAL variable and should be set with SET GLOBAL
+set global encrypt_tmp_disk_tables=1.1;
+ERROR 42000: Incorrect argument type to variable 'encrypt_tmp_disk_tables'
+set global encrypt_tmp_disk_tables=1e1;
+ERROR 42000: Incorrect argument type to variable 'encrypt_tmp_disk_tables'
+set global encrypt_tmp_disk_tables="foo";
+ERROR 42000: Variable 'encrypt_tmp_disk_tables' can't be set to the value of 'foo'
+SET @@global.encrypt_tmp_disk_tables = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/enforce_storage_engine_basic.result b/mysql-test/suite/sys_vars/r/enforce_storage_engine_basic.result
new file mode 100644
index 00000000000..cb5b199b271
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/enforce_storage_engine_basic.result
@@ -0,0 +1,39 @@
+SET @start_session_value = @@session.enforce_storage_engine;
+SET @@session.enforce_storage_engine = INNODB;
+SET @@session.enforce_storage_engine = DEFAULT;
+SELECT @@session.enforce_storage_engine;
+@@session.enforce_storage_engine
+NULL
+SET @@session.enforce_storage_engine = MYISAM;
+SELECT @@session.enforce_storage_engine;
+@@session.enforce_storage_engine
+MyISAM
+SET @@session.enforce_storage_engine = MERGE;
+SELECT @@session.enforce_storage_engine;
+@@session.enforce_storage_engine
+MRG_MyISAM
+SET @@session.enforce_storage_engine = MEMORY;
+SELECT @@session.enforce_storage_engine;
+@@session.enforce_storage_engine
+MEMORY
+SET @@session.enforce_storage_engine = INNODB;
+SELECT @@session.enforce_storage_engine;
+@@session.enforce_storage_engine
+InnoDB
+SET @@session.enforce_storage_engine = 8199;
+ERROR 42000: Incorrect argument type to variable 'enforce_storage_engine'
+SET @@session.enforce_storage_engine = 65530.34;
+ERROR 42000: Incorrect argument type to variable 'enforce_storage_engine'
+SET @@session.enforce_storage_engine = RECORD;
+ERROR 42000: Unknown storage engine 'RECORD'
+SELECT @@session.enforce_storage_engine =
+VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='enforce_storage_engine';
+@@session.enforce_storage_engine =
+VARIABLE_VALUE
+1
+SET @@session.enforce_storage_engine = TRUE;
+ERROR 42000: Incorrect argument type to variable 'enforce_storage_engine'
+SET @@session.enforce_storage_engine = FALSE;
+ERROR 42000: Incorrect argument type to variable 'enforce_storage_engine'
+SET @@session.enforce_storage_engine = @start_session_value;
diff --git a/mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result b/mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result
deleted file mode 100644
index 55e6f747a19..00000000000
--- a/mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result
+++ /dev/null
@@ -1,290 +0,0 @@
-SET @session_start_value = @@session.engine_condition_pushdown;
-SELECT @session_start_value;
-@session_start_value
-0
-SET @global_start_value = @@global.engine_condition_pushdown;
-SELECT @global_start_value;
-@global_start_value
-0
-select @old_session_opt_switch:=@@session.optimizer_switch,
-@old_global_opt_switch:=@@global.optimizer_switch;
-@old_session_opt_switch:=@@session.optimizer_switch @old_global_opt_switch:=@@global.optimizer_switch
-index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-'#--------------------FN_DYNVARS_028_01------------------------#'
-SET @@session.engine_condition_pushdown = 0;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SET @@session.engine_condition_pushdown = DEFAULT;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-0
-SET @@global.engine_condition_pushdown = 0;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SET @@global.engine_condition_pushdown = DEFAULT;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-1
-'#---------------------FN_DYNVARS_028_02-------------------------#'
-SET engine_condition_pushdown = 1;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@engine_condition_pushdown;
-@@engine_condition_pushdown
-1
-SELECT session.engine_condition_pushdown;
-ERROR 42S02: Unknown table 'session' in field list
-SELECT local.engine_condition_pushdown;
-ERROR 42S02: Unknown table 'local' in field list
-SELECT global.engine_condition_pushdown;
-ERROR 42S02: Unknown table 'global' in field list
-SET session engine_condition_pushdown = 0;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-0
-SET global engine_condition_pushdown = 0;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-0
-'#--------------------FN_DYNVARS_028_03------------------------#'
-SET @@session.engine_condition_pushdown = 0;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-0
-SET @@session.engine_condition_pushdown = 1;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-1
-SET @@global.engine_condition_pushdown = 0;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-0
-SET @@global.engine_condition_pushdown = 1;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-1
-'#--------------------FN_DYNVARS_028_04-------------------------#'
-SET @@session.engine_condition_pushdown = -1;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of '-1'
-SET @@session.engine_condition_pushdown = 1.6;
-ERROR 42000: Incorrect argument type to variable 'engine_condition_pushdown'
-SET @@session.engine_condition_pushdown = "T";
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'T'
-SET @@session.engine_condition_pushdown = "Y";
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'Y'
-SET @@session.engine_condition_pushdown = TRÜE;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'TRÜE'
-SET @@session.engine_condition_pushdown = ÕN;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'ÕN'
-SET @@session.engine_condition_pushdown = OF;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'OF'
-SET @@session.engine_condition_pushdown = ÓFF;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'ÓFF'
-SET @@global.engine_condition_pushdown = -1;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of '-1'
-SET @@global.engine_condition_pushdown = 2;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of '2'
-SET @@global.engine_condition_pushdown = "T";
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'T'
-SET @@global.engine_condition_pushdown = "Y";
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'Y'
-SET @@global.engine_condition_pushdown = TRÜE;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'TRÜE'
-SET @@global.engine_condition_pushdown = ÕN;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'ÕN'
-SET @@global.engine_condition_pushdown = OF;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'OF'
-SET @@global.engine_condition_pushdown = ÓFF;
-ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'ÓFF'
-'#-------------------FN_DYNVARS_028_05----------------------------#'
-SET @@global.engine_condition_pushdown = 0;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SET @@session.engine_condition_pushdown = 1;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown AS res_is_0;
-res_is_0
-0
-SET @@global.engine_condition_pushdown = 0;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown AS res_is_1;
-res_is_1
-1
-'#----------------------FN_DYNVARS_028_06------------------------#'
-SELECT IF(@@global.engine_condition_pushdown, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='engine_condition_pushdown';
-IF(@@global.engine_condition_pushdown, "ON", "OFF") = VARIABLE_VALUE
-1
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-0
-SELECT VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='engine_condition_pushdown';
-VARIABLE_VALUE
-OFF
-'#----------------------FN_DYNVARS_028_07------------------------#'
-SELECT IF(@@session.engine_condition_pushdown, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='engine_condition_pushdown';
-IF(@@session.engine_condition_pushdown, "ON", "OFF") = VARIABLE_VALUE
-1
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-1
-SELECT VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='engine_condition_pushdown';
-VARIABLE_VALUE
-ON
-'#---------------------FN_DYNVARS_028_08-------------------------#'
-SET @@session.engine_condition_pushdown = OFF;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-0
-SET @@session.engine_condition_pushdown = ON;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-1
-SET @@global.engine_condition_pushdown = OFF;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-0
-SET @@global.engine_condition_pushdown = ON;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-1
-'#---------------------FN_DYNVARS_028_09----------------------#'
-SET @@session.engine_condition_pushdown = TRUE;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-1
-SET @@session.engine_condition_pushdown = FALSE;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-0
-SET @@global.engine_condition_pushdown = TRUE;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-1
-SET @@global.engine_condition_pushdown = FALSE;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-0
-Check that @@engine_condition_pushdown influences
-@@optimizer_switch and vice-versa
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-set @@session.engine_condition_pushdown = TRUE;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-1 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=on,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-set @@session.engine_condition_pushdown = FALSE;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-set @@global.engine_condition_pushdown = TRUE;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-0 1 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=on,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-set @@global.engine_condition_pushdown = FALSE;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-set @@session.optimizer_switch = "engine_condition_pushdown=on";
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-1 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=on,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-set @@session.optimizer_switch = "engine_condition_pushdown=off";
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-set @@global.optimizer_switch = "engine_condition_pushdown=on";
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-0 1 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=on,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-set @@global.optimizer_switch = "engine_condition_pushdown=off";
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
-SET @@session.engine_condition_pushdown = @session_start_value;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@session.engine_condition_pushdown;
-@@session.engine_condition_pushdown
-0
-SET @@global.engine_condition_pushdown = @global_start_value;
-Warnings:
-Warning 1287 '@@engine_condition_pushdown' is deprecated and will be removed in a future release. Please use '@@optimizer_switch' instead
-SELECT @@global.engine_condition_pushdown;
-@@global.engine_condition_pushdown
-0
-set @session.optimizer_switch=@old_session_opt_switch,
-@@global.optimizer_switch=@old_global_opt_switch;
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
diff --git a/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_basic.result b/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_basic.result
new file mode 100644
index 00000000000..d9a9a2909ce
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_basic.result
@@ -0,0 +1,21 @@
+select @@global.explicit_defaults_for_timestamp;
+@@global.explicit_defaults_for_timestamp
+0
+select @@session.explicit_defaults_for_timestamp;
+ERROR HY000: Variable 'explicit_defaults_for_timestamp' is a GLOBAL variable
+show global variables like 'explicit_defaults_for_timestamp';
+Variable_name Value
+explicit_defaults_for_timestamp OFF
+show session variables like 'explicit_defaults_for_timestamp';
+Variable_name Value
+explicit_defaults_for_timestamp OFF
+select * from information_schema.global_variables where variable_name='explicit_defaults_for_timestamp';
+VARIABLE_NAME VARIABLE_VALUE
+EXPLICIT_DEFAULTS_FOR_TIMESTAMP OFF
+select * from information_schema.session_variables where variable_name='explicit_defaults_for_timestamp';
+VARIABLE_NAME VARIABLE_VALUE
+EXPLICIT_DEFAULTS_FOR_TIMESTAMP OFF
+set global explicit_defaults_for_timestamp=true;
+ERROR HY000: Variable 'explicit_defaults_for_timestamp' is a read only variable
+set session explicit_defaults_for_timestamp=true;
+ERROR HY000: Variable 'explicit_defaults_for_timestamp' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result b/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result
new file mode 100644
index 00000000000..61a4eb8a934
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_off.result
@@ -0,0 +1,188 @@
+CREATE TABLE t1 (a TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP DEFAULT NULL);
+ERROR 42000: Invalid default value for 'a'
+CREATE TABLE t1 (a TIMESTAMP DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP DEFAULT '2001-01-01 10:20:30');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT '2001-01-01 10:20:30'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT NULL);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT '2001-01-01 10:20:30');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT '2001-01-01 10:20:30'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT '2001-01-01 10:20:30');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT '2001-01-01 10:20:30'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NOT NULL);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `b` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NULL);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `b` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `b` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `b` timestamp NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `b` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `b` timestamp NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP) AS SELECT 1 AS i;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `i` int(1) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+CREATE TABLE t2 (b TIMESTAMP) AS SELECT a FROM t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t2;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT);
+ALTER TABLE t1 ADD b TIMESTAMP;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+#
+# MDEV-10802 TIMESTAMP NOT NULL field with explicit_defaults_for_timestamp and NO_ZERO_DATE shouldn't throw error
+#
+SET timestamp=UNIX_TIMESTAMP('2001-01-01 10:20:30');
+SET sql_mode='ANSI,NO_ZERO_DATE';
+CREATE TABLE t1 (a TIMESTAMP NOT NULL);
+INSERT INTO t1 VALUES ();
+SELECT * FROM t1;
+a
+2001-01-01 10:20:30
+DROP TABLE t1;
+SET sql_mode=DEFAULT;
+SET timestamp=DEFAULT;
diff --git a/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_on.result b/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_on.result
new file mode 100644
index 00000000000..fb820dc167d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/explicit_defaults_for_timestamp_on.result
@@ -0,0 +1,195 @@
+CREATE TABLE t1 (a TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP DEFAULT NULL);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP DEFAULT '2001-01-01 10:20:30');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT '2001-01-01 10:20:30'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT NULL);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT '2001-01-01 10:20:30');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT '2001-01-01 10:20:30'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT '2001-01-01 10:20:30');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT '2001-01-01 10:20:30'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NOT NULL);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NULL);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00');
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP,b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a TIMESTAMP) AS SELECT 1 AS i;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NULL DEFAULT NULL,
+ `i` int(1) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+CREATE TABLE t2 (b TIMESTAMP) AS SELECT a FROM t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `b` timestamp NULL DEFAULT NULL,
+ `a` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t2;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT);
+ALTER TABLE t1 ADD b TIMESTAMP;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+#
+# MDEV-10802 TIMESTAMP NOT NULL field with explicit_defaults_for_timestamp and NO_ZERO_DATE shouldn't throw error
+#
+SET timestamp=UNIX_TIMESTAMP('2001-01-01 10:20:30');
+SET sql_mode='ANSI,NO_ZERO_DATE';
+CREATE TABLE t1 (a TIMESTAMP NOT NULL);
+INSERT INTO t1 VALUES ();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+SELECT * FROM t1;
+a
+0000-00-00 00:00:00
+DROP TABLE t1;
+SET sql_mode=DEFAULT;
+SET timestamp=DEFAULT;
diff --git a/mysql-test/suite/sys_vars/r/gtid_binlog_pos_basic.result b/mysql-test/suite/sys_vars/r/gtid_binlog_pos_basic.result
new file mode 100644
index 00000000000..6d9d0ec449d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/gtid_binlog_pos_basic.result
@@ -0,0 +1,9 @@
+SET GLOBAL gtid_binlog_pos= '';
+ERROR HY000: Variable 'gtid_binlog_pos' is a read only variable
+SELECT variable_name FROM information_schema.global_variables
+WHERE variable_name='gtid_binlog_pos';
+variable_name
+GTID_BINLOG_POS
+SELECT @@gtid_binlog_pos;
+SELECT @@session.gtid_binlog_pos;
+ERROR HY000: Variable 'gtid_binlog_pos' is a GLOBAL variable
diff --git a/mysql-test/suite/sys_vars/r/gtid_binlog_state_basic.result b/mysql-test/suite/sys_vars/r/gtid_binlog_state_basic.result
new file mode 100644
index 00000000000..ae845d08086
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/gtid_binlog_state_basic.result
@@ -0,0 +1,11 @@
+SELECT @@GLOBAL.gtid_slave_pos;
+@@GLOBAL.gtid_slave_pos
+
+SET gtid_binlog_state= '';
+ERROR HY000: Variable 'gtid_binlog_state' is a GLOBAL variable and should be set with SET GLOBAL
+SET SESSION gtid_binlog_state= '';
+ERROR HY000: Variable 'gtid_binlog_state' is a GLOBAL variable and should be set with SET GLOBAL
+SET GLOBAL gtid_binlog_state= DEFAULT;
+ERROR 42000: Variable 'gtid_binlog_state' doesn't have a default value
+SELECT @@session.gtid_binlog_state;
+ERROR HY000: Variable 'gtid_binlog_state' is a GLOBAL variable
diff --git a/mysql-test/suite/sys_vars/r/gtid_current_pos_basic.result b/mysql-test/suite/sys_vars/r/gtid_current_pos_basic.result
new file mode 100644
index 00000000000..3ddc20d9b8c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/gtid_current_pos_basic.result
@@ -0,0 +1,9 @@
+SET GLOBAL gtid_current_pos= '';
+ERROR HY000: Variable 'gtid_current_pos' is a read only variable
+SELECT variable_name FROM information_schema.global_variables
+WHERE variable_name='gtid_current_pos';
+variable_name
+GTID_CURRENT_POS
+SELECT @@gtid_current_pos;
+SELECT @@session.gtid_current_pos;
+ERROR HY000: Variable 'gtid_current_pos' is a GLOBAL variable
diff --git a/mysql-test/suite/sys_vars/r/gtid_domain_id_basic.result b/mysql-test/suite/sys_vars/r/gtid_domain_id_basic.result
new file mode 100644
index 00000000000..ac195ecb13b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/gtid_domain_id_basic.result
@@ -0,0 +1,29 @@
+SET @old_gtid_domain_id= @@global.gtid_domain_id;
+SELECT @@global.gtid_domain_id;
+@@global.gtid_domain_id
+0
+SET GLOBAL gtid_domain_id= 10;
+SET SESSION gtid_domain_id= 20;
+SELECT @@global.gtid_domain_id;
+@@global.gtid_domain_id
+10
+SELECT @@session.gtid_domain_id;
+@@session.gtid_domain_id
+20
+SET GLOBAL gtid_domain_id= DEFAULT;
+SELECT @@global.gtid_domain_id;
+@@global.gtid_domain_id
+0
+SET GLOBAL gtid_domain_id= -10;
+Warnings:
+Warning 1292 Truncated incorrect gtid_domain_id value: '-10'
+SELECT @@global.gtid_domain_id;
+@@global.gtid_domain_id
+0
+SET SESSION gtid_domain_id= -1;
+Warnings:
+Warning 1292 Truncated incorrect gtid_domain_id value: '-1'
+SELECT @@session.gtid_domain_id;
+@@session.gtid_domain_id
+0
+SET GLOBAL gtid_domain_id= @old_gtid_domain_id;
diff --git a/mysql-test/suite/sys_vars/r/gtid_ignore_duplicates_basic.result b/mysql-test/suite/sys_vars/r/gtid_ignore_duplicates_basic.result
new file mode 100644
index 00000000000..b0256673825
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/gtid_ignore_duplicates_basic.result
@@ -0,0 +1,13 @@
+SET @save_gtid_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+SELECT @@GLOBAL.gtid_ignore_duplicates as 'must be zero because of default';
+must be zero because of default
+0
+SELECT @@SESSION.gtid_ignore_duplicates as 'no session var';
+ERROR HY000: Variable 'gtid_ignore_duplicates' is a GLOBAL variable
+SET GLOBAL gtid_ignore_duplicates= FALSE;
+SET GLOBAL gtid_ignore_duplicates= DEFAULT;
+SET GLOBAL gtid_ignore_duplicates= TRUE;
+SELECT @@GLOBAL.gtid_ignore_duplicates;
+@@GLOBAL.gtid_ignore_duplicates
+1
+SET GLOBAL gtid_ignore_duplicates = @save_gtid_ignore_duplicates;
diff --git a/mysql-test/suite/sys_vars/r/gtid_seq_no_basic.result b/mysql-test/suite/sys_vars/r/gtid_seq_no_basic.result
new file mode 100644
index 00000000000..f0aa0d2ba97
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/gtid_seq_no_basic.result
@@ -0,0 +1,16 @@
+SELECT @@global.gtid_seq_no;
+ERROR HY000: Variable 'gtid_seq_no' is a SESSION variable
+SET GLOBAL gtid_seq_no= 10;
+ERROR HY000: Variable 'gtid_seq_no' is a SESSION variable and can't be used with SET GLOBAL
+SET SESSION gtid_seq_no= 20;
+SELECT @@session.gtid_seq_no;
+@@session.gtid_seq_no
+20
+SET GLOBAL gtid_seq_no= DEFAULT;
+ERROR HY000: Variable 'gtid_seq_no' is a SESSION variable and can't be used with SET GLOBAL
+SET SESSION gtid_seq_no= -1;
+Warnings:
+Warning 1292 Truncated incorrect gtid_seq_no value: '-1'
+SELECT @@session.gtid_seq_no;
+@@session.gtid_seq_no
+0
diff --git a/mysql-test/suite/sys_vars/r/gtid_slave_pos_basic.result b/mysql-test/suite/sys_vars/r/gtid_slave_pos_basic.result
new file mode 100644
index 00000000000..3d880418f31
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/gtid_slave_pos_basic.result
@@ -0,0 +1,47 @@
+SET @old_gtid_slave_pos= @@gtid_slave_pos;
+SET GLOBAL gtid_slave_pos= '';
+SELECT @@gtid_slave_pos;
+@@gtid_slave_pos
+
+SET GLOBAL gtid_slave_pos= '1-2-3';
+SELECT variable_value FROM information_schema.global_variables
+WHERE variable_name='gtid_slave_pos';
+variable_value
+1-2-3
+SET @@global.gtid_slave_pos= '1-2-4';
+SELECT @@gtid_slave_pos;
+@@gtid_slave_pos
+1-2-4
+SET GLOBAL gtid_slave_pos= ' 1-2-3';
+SELECT @@gtid_slave_pos;
+@@gtid_slave_pos
+1-2-3
+SET GLOBAL gtid_slave_pos= '1-2-3, 2-4-6';
+SELECT @@gtid_slave_pos;
+@@gtid_slave_pos
+1-2-3,2-4-6
+SET GLOBAL gtid_slave_pos= '-1-2-3';
+ERROR HY000: Could not parse GTID list
+SET GLOBAL gtid_slave_pos= '1-2 -3';
+ERROR HY000: Could not parse GTID list
+SET GLOBAL gtid_slave_pos= '1-2-3 ';
+ERROR HY000: Could not parse GTID list
+SET GLOBAL gtid_slave_pos= '1-2-3,2-4';
+ERROR HY000: Could not parse GTID list
+SET GLOBAL gtid_slave_pos= '0-1-10,0-2-20';
+ERROR HY000: GTID 0-2-20 and 0-1-10 conflict (duplicate domain id 0)
+SET GLOBAL gtid_slave_pos= '0-1-10,1-2-20,2-3-30,1-20-200,3-4-1';
+ERROR HY000: GTID 1-20-200 and 1-2-20 conflict (duplicate domain id 1)
+SET gtid_slave_pos= '';
+ERROR HY000: Variable 'gtid_slave_pos' is a GLOBAL variable and should be set with SET GLOBAL
+SET SESSION gtid_slave_pos= '';
+ERROR HY000: Variable 'gtid_slave_pos' is a GLOBAL variable and should be set with SET GLOBAL
+SET GLOBAL gtid_slave_pos= '1-2-3,2-4-6';
+SELECT @@gtid_slave_pos;
+@@gtid_slave_pos
+1-2-3,2-4-6
+SET GLOBAL gtid_slave_pos= DEFAULT;
+ERROR 42000: Variable 'gtid_slave_pos' doesn't have a default value
+SELECT @@session.gtid_slave_pos;
+ERROR HY000: Variable 'gtid_slave_pos' is a GLOBAL variable
+SET GLOBAL gtid_slave_pos= @old_gtid_slave_pos;
diff --git a/mysql-test/suite/sys_vars/r/gtid_strict_mode_basic.result b/mysql-test/suite/sys_vars/r/gtid_strict_mode_basic.result
new file mode 100644
index 00000000000..25afe97f4c9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/gtid_strict_mode_basic.result
@@ -0,0 +1,29 @@
+select @@global.gtid_strict_mode;
+@@global.gtid_strict_mode
+0
+select @@session.gtid_strict_mode;
+ERROR HY000: Variable 'gtid_strict_mode' is a GLOBAL variable
+show global variables like 'gtid_strict_mode';
+Variable_name Value
+gtid_strict_mode OFF
+show session variables like 'gtid_strict_mode';
+Variable_name Value
+gtid_strict_mode OFF
+select * from information_schema.global_variables where variable_name='gtid_strict_mode';
+VARIABLE_NAME VARIABLE_VALUE
+GTID_STRICT_MODE OFF
+select * from information_schema.session_variables where variable_name='gtid_strict_mode';
+VARIABLE_NAME VARIABLE_VALUE
+GTID_STRICT_MODE OFF
+SET @old= @@GLOBAL.gtid_strict_mode;
+set global gtid_strict_mode=1;
+select @@global.gtid_strict_mode;
+@@global.gtid_strict_mode
+1
+set global gtid_strict_mode=0;
+select @@global.gtid_strict_mode;
+@@global.gtid_strict_mode
+0
+set global gtid_strict_mode=@old;
+set session gtid_strict_mode=1;
+ERROR HY000: Variable 'gtid_strict_mode' is a GLOBAL variable and should be set with SET GLOBAL
diff --git a/mysql-test/suite/sys_vars/r/have_ndbcluster_basic.result b/mysql-test/suite/sys_vars/r/have_ndbcluster_basic.result
deleted file mode 100644
index 1b662311072..00000000000
--- a/mysql-test/suite/sys_vars/r/have_ndbcluster_basic.result
+++ /dev/null
@@ -1,53 +0,0 @@
-'#---------------------BS_STVARS_012_01----------------------#'
-SELECT COUNT(@@GLOBAL.have_ndbcluster);
-COUNT(@@GLOBAL.have_ndbcluster)
-1
-1 Expected
-'#---------------------BS_STVARS_012_02----------------------#'
-SET @@GLOBAL.have_ndbcluster=1;
-ERROR HY000: Variable 'have_ndbcluster' is a read only variable
-Expected error 'Read only variable'
-SELECT COUNT(@@GLOBAL.have_ndbcluster);
-COUNT(@@GLOBAL.have_ndbcluster)
-1
-1 Expected
-'#---------------------BS_STVARS_012_03----------------------#'
-SELECT @@GLOBAL.have_ndbcluster = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_ndbcluster';
-@@GLOBAL.have_ndbcluster = VARIABLE_VALUE
-1
-1 Expected
-SELECT COUNT(@@GLOBAL.have_ndbcluster);
-COUNT(@@GLOBAL.have_ndbcluster)
-1
-1 Expected
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_ndbcluster';
-COUNT(VARIABLE_VALUE)
-1
-1 Expected
-'#---------------------BS_STVARS_012_04----------------------#'
-SELECT @@have_ndbcluster = @@GLOBAL.have_ndbcluster;
-@@have_ndbcluster = @@GLOBAL.have_ndbcluster
-1
-1 Expected
-'#---------------------BS_STVARS_012_05----------------------#'
-SELECT COUNT(@@have_ndbcluster);
-COUNT(@@have_ndbcluster)
-1
-1 Expected
-SELECT COUNT(@@local.have_ndbcluster);
-ERROR HY000: Variable 'have_ndbcluster' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@SESSION.have_ndbcluster);
-ERROR HY000: Variable 'have_ndbcluster' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@GLOBAL.have_ndbcluster);
-COUNT(@@GLOBAL.have_ndbcluster)
-1
-1 Expected
-SELECT have_ndbcluster = @@SESSION.have_ndbcluster;
-ERROR 42S22: Unknown column 'have_ndbcluster' in 'field list'
-Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/have_partitioning_basic.result b/mysql-test/suite/sys_vars/r/have_partitioning_basic.result
deleted file mode 100644
index 8a18288a3ec..00000000000
--- a/mysql-test/suite/sys_vars/r/have_partitioning_basic.result
+++ /dev/null
@@ -1,53 +0,0 @@
-'#---------------------BS_STVARS_014_01----------------------#'
-SELECT COUNT(@@GLOBAL.have_partitioning);
-COUNT(@@GLOBAL.have_partitioning)
-1
-1 Expected
-'#---------------------BS_STVARS_014_02----------------------#'
-SET @@GLOBAL.have_partitioning=1;
-ERROR HY000: Variable 'have_partitioning' is a read only variable
-Expected error 'Read only variable'
-SELECT COUNT(@@GLOBAL.have_partitioning);
-COUNT(@@GLOBAL.have_partitioning)
-1
-1 Expected
-'#---------------------BS_STVARS_014_03----------------------#'
-SELECT @@GLOBAL.have_partitioning = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_partitioning';
-@@GLOBAL.have_partitioning = VARIABLE_VALUE
-1
-1 Expected
-SELECT COUNT(@@GLOBAL.have_partitioning);
-COUNT(@@GLOBAL.have_partitioning)
-1
-1 Expected
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_partitioning';
-COUNT(VARIABLE_VALUE)
-1
-1 Expected
-'#---------------------BS_STVARS_014_04----------------------#'
-SELECT @@have_partitioning = @@GLOBAL.have_partitioning;
-@@have_partitioning = @@GLOBAL.have_partitioning
-1
-1 Expected
-'#---------------------BS_STVARS_014_05----------------------#'
-SELECT COUNT(@@have_partitioning);
-COUNT(@@have_partitioning)
-1
-1 Expected
-SELECT COUNT(@@local.have_partitioning);
-ERROR HY000: Variable 'have_partitioning' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@SESSION.have_partitioning);
-ERROR HY000: Variable 'have_partitioning' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@GLOBAL.have_partitioning);
-COUNT(@@GLOBAL.have_partitioning)
-1
-1 Expected
-SELECT have_partitioning = @@SESSION.have_partitioning;
-ERROR 42S22: Unknown column 'have_partitioning' in 'field list'
-Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/histogram_size_basic.result b/mysql-test/suite/sys_vars/r/histogram_size_basic.result
new file mode 100644
index 00000000000..1f310600d00
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/histogram_size_basic.result
@@ -0,0 +1,136 @@
+SET @start_global_value = @@global.histogram_size;
+SELECT @start_global_value;
+@start_global_value
+0
+SET @start_session_value = @@session.histogram_size;
+SELECT @start_session_value;
+@start_session_value
+0
+'#--------------------FN_DYNVARS_053_01-------------------------#'
+SET @@global.histogram_size = DEFAULT;
+SELECT @@global.histogram_size;
+@@global.histogram_size
+0
+SET @@session.histogram_size = DEFAULT;
+SELECT @@session.histogram_size;
+@@session.histogram_size
+0
+'#--------------------FN_DYNVARS_053_03-------------------------#'
+SET @@global.histogram_size = 1;
+SELECT @@global.histogram_size;
+@@global.histogram_size
+1
+SET @@global.histogram_size = 31;
+SELECT @@global.histogram_size;
+@@global.histogram_size
+31
+SET @@global.histogram_size = 255;
+SELECT @@global.histogram_size;
+@@global.histogram_size
+255
+'#--------------------FN_DYNVARS_053_04-------------------------#'
+SET @@session.histogram_size = 1;
+SELECT @@session.histogram_size;
+@@session.histogram_size
+1
+SET @@session.histogram_size = 31;
+SELECT @@session.histogram_size;
+@@session.histogram_size
+31
+SET @@session.histogram_size = 255;
+SELECT @@session.histogram_size;
+@@session.histogram_size
+255
+'#------------------FN_DYNVARS_053_05-----------------------#'
+SET @@global.histogram_size = -1;
+Warnings:
+Warning 1292 Truncated incorrect histogram_size value: '-1'
+SELECT @@global.histogram_size;
+@@global.histogram_size
+0
+SET @@global.histogram_size = 256;
+Warnings:
+Warning 1292 Truncated incorrect histogram_size value: '256'
+SELECT @@global.histogram_size;
+@@global.histogram_size
+255
+SET @@global.histogram_size = 1024;
+Warnings:
+Warning 1292 Truncated incorrect histogram_size value: '1024'
+SELECT @@global.histogram_size;
+@@global.histogram_size
+255
+SET @@global.histogram_size = 4.5;
+ERROR 42000: Incorrect argument type to variable 'histogram_size'
+SELECT @@global.histogram_size;
+@@global.histogram_size
+255
+SET @@global.histogram_size = test;
+ERROR 42000: Incorrect argument type to variable 'histogram_size'
+SELECT @@global.histogram_size;
+@@global.histogram_size
+255
+SET @@session.histogram_size = -1;
+Warnings:
+Warning 1292 Truncated incorrect histogram_size value: '-1'
+SELECT @@session.histogram_size;
+@@session.histogram_size
+0
+SET @@session.histogram_size = 256;
+Warnings:
+Warning 1292 Truncated incorrect histogram_size value: '256'
+SELECT @@session.histogram_size;
+@@session.histogram_size
+255
+SET @@session.histogram_size = 1024;
+Warnings:
+Warning 1292 Truncated incorrect histogram_size value: '1024'
+SELECT @@session.histogram_size;
+@@session.histogram_size
+255
+SET @@session.histogram_size = 4.5;
+ERROR 42000: Incorrect argument type to variable 'histogram_size'
+SELECT @@session.histogram_size;
+@@session.histogram_size
+255
+SET @@session.histogram_size = test;
+ERROR 42000: Incorrect argument type to variable 'histogram_size'
+SELECT @@session.histogram_size;
+@@session.histogram_size
+255
+'#------------------FN_DYNVARS_053_06-----------------------#'
+SELECT @@global.histogram_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='histogram_size';
+@@global.histogram_size = VARIABLE_VALUE
+1
+'#------------------FN_DYNVARS_053_07-----------------------#'
+SELECT @@session.histogram_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='histogram_size';
+@@session.histogram_size = VARIABLE_VALUE
+1
+'#------------------FN_DYNVARS_053_08-----------------------#'
+SET @@global.histogram_size = TRUE;
+SET @@global.histogram_size = FALSE;
+'#---------------------FN_DYNVARS_001_09----------------------#'
+SET @@global.histogram_size = 10;
+SELECT @@histogram_size = @@global.histogram_size;
+@@histogram_size = @@global.histogram_size
+0
+'#---------------------FN_DYNVARS_001_10----------------------#'
+SET @@histogram_size = 100;
+SELECT @@histogram_size = @@local.histogram_size;
+@@histogram_size = @@local.histogram_size
+1
+SELECT @@local.histogram_size = @@session.histogram_size;
+@@local.histogram_size = @@session.histogram_size
+1
+SET @@global.histogram_size = @start_global_value;
+SELECT @@global.histogram_size;
+@@global.histogram_size
+0
+SET @@session.histogram_size = @start_session_value;
+SELECT @@session.histogram_size;
+@@session.histogram_size
+0
diff --git a/mysql-test/suite/sys_vars/r/histogram_type_basic.result b/mysql-test/suite/sys_vars/r/histogram_type_basic.result
new file mode 100644
index 00000000000..f688a2a15fd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/histogram_type_basic.result
@@ -0,0 +1,79 @@
+SET @start_global_value = @@global.histogram_type;
+SELECT @start_global_value;
+@start_global_value
+SINGLE_PREC_HB
+SET @start_session_value = @@session.histogram_type;
+SELECT @start_session_value;
+@start_session_value
+SINGLE_PREC_HB
+SET @@global.histogram_type = 1;
+SET @@global.histogram_type = DEFAULT;
+SELECT @@global.histogram_type;
+@@global.histogram_type
+SINGLE_PREC_HB
+SET @@global.histogram_type = 0;
+SELECT @@global.histogram_type;
+@@global.histogram_type
+SINGLE_PREC_HB
+SET @@global.histogram_type = 1;
+SELECT @@global.histogram_type;
+@@global.histogram_type
+DOUBLE_PREC_HB
+SET @@global.histogram_type = SINGLE_PREC_HB;
+SELECT @@global.histogram_type;
+@@global.histogram_type
+SINGLE_PREC_HB
+SET @@global.histogram_type = DOUBLE_PREC_HB;
+SELECT @@global.histogram_type;
+@@global.histogram_type
+DOUBLE_PREC_HB
+SET @@session.histogram_type = 0;
+SELECT @@session.histogram_type;
+@@session.histogram_type
+SINGLE_PREC_HB
+SET @@session.histogram_type = 1;
+SELECT @@session.histogram_type;
+@@session.histogram_type
+DOUBLE_PREC_HB
+SET @@session.histogram_type = SINGLE_PREC_HB;
+SELECT @@session.histogram_type;
+@@session.histogram_type
+SINGLE_PREC_HB
+SET @@session.histogram_type = DOUBLE_PREC_HB;
+SELECT @@session.histogram_type;
+@@session.histogram_type
+DOUBLE_PREC_HB
+set sql_mode=TRADITIONAL;
+SET @@global.histogram_type = 10;
+ERROR 42000: Variable 'histogram_type' can't be set to the value of '10'
+SET @@global.histogram_type = -1024;
+ERROR 42000: Variable 'histogram_type' can't be set to the value of '-1024'
+SET @@global.histogram_type = 2.4;
+ERROR 42000: Incorrect argument type to variable 'histogram_type'
+SET @@global.histogram_type = OFF;
+ERROR 42000: Variable 'histogram_type' can't be set to the value of 'OFF'
+SET @@session.histogram_type = 10;
+ERROR 42000: Variable 'histogram_type' can't be set to the value of '10'
+SET @@session.histogram_type = -2;
+ERROR 42000: Variable 'histogram_type' can't be set to the value of '-2'
+SET @@session.histogram_type = 1.2;
+ERROR 42000: Incorrect argument type to variable 'histogram_type'
+SET @@session.histogram_type = ON;
+ERROR 42000: Variable 'histogram_type' can't be set to the value of 'ON'
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='histogram_type';
+VARIABLE_NAME VARIABLE_VALUE
+HISTOGRAM_TYPE DOUBLE_PREC_HB
+SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='histogram_type';
+VARIABLE_NAME VARIABLE_VALUE
+HISTOGRAM_TYPE DOUBLE_PREC_HB
+SET @@global.histogram_type = @start_global_value;
+SELECT @@global.histogram_type;
+@@global.histogram_type
+SINGLE_PREC_HB
+SET @@session.histogram_type = @start_session_value;
+SELECT @@session.histogram_type;
+@@session.histogram_type
+SINGLE_PREC_HB
+set sql_mode='';
diff --git a/mysql-test/suite/sys_vars/r/host_cache_size_basic.result b/mysql-test/suite/sys_vars/r/host_cache_size_basic.result
new file mode 100644
index 00000000000..0a25202e7e4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/host_cache_size_basic.result
@@ -0,0 +1,37 @@
+select @@global.host_cache_size;
+@@global.host_cache_size
+123
+select @@session.host_cache_size;
+ERROR HY000: Variable 'host_cache_size' is a GLOBAL variable
+show global variables like 'host_cache_size';
+Variable_name Value
+host_cache_size 123
+show session variables like 'host_cache_size';
+Variable_name Value
+host_cache_size 123
+select * from information_schema.global_variables
+where variable_name='host_cache_size';
+VARIABLE_NAME VARIABLE_VALUE
+HOST_CACHE_SIZE 123
+select * from information_schema.session_variables
+where variable_name='host_cache_size';
+VARIABLE_NAME VARIABLE_VALUE
+HOST_CACHE_SIZE 123
+set global host_cache_size=1;
+select @@global.host_cache_size;
+@@global.host_cache_size
+1
+set global host_cache_size=12;
+select @@global.host_cache_size;
+@@global.host_cache_size
+12
+set global host_cache_size=0;
+select @@global.host_cache_size;
+@@global.host_cache_size
+0
+set session host_cache_size=1;
+ERROR HY000: Variable 'host_cache_size' is a GLOBAL variable and should be set with SET GLOBAL
+set global host_cache_size=123;
+select @@global.host_cache_size;
+@@global.host_cache_size
+123
diff --git a/mysql-test/suite/sys_vars/r/ignore_db_dirs_basic.result b/mysql-test/suite/sys_vars/r/ignore_db_dirs_basic.result
index 55d61800a39..6ae3fd70188 100644
--- a/mysql-test/suite/sys_vars/r/ignore_db_dirs_basic.result
+++ b/mysql-test/suite/sys_vars/r/ignore_db_dirs_basic.result
@@ -1,3 +1,4 @@
+call mtr.add_suppression("table or database name '.otherdir'");
select @@ignore_db_dirs;
@@ignore_db_dirs
e,lost+found,.mysqlgui,ignored_db
@@ -6,8 +7,8 @@ e,lost+found,.mysqlgui,ignored_db
# with '.'
SHOW DATABASES;
Database
-information_schema
#mysql50#.otherdir
+information_schema
mtr
mysql
performance_schema
@@ -33,8 +34,8 @@ id
2
SHOW DATABASES;
Database
-information_schema
#mysql50#.otherdir
+information_schema
lost+found
mtr
mysql
diff --git a/mysql-test/suite/sys_vars/r/innodb_adaptive_flushing_lwm_basic.result b/mysql-test/suite/sys_vars/r/innodb_adaptive_flushing_lwm_basic.result
new file mode 100644
index 00000000000..bfd59cfd9cc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_adaptive_flushing_lwm_basic.result
@@ -0,0 +1,96 @@
+SET @global_start_value = @@global.innodb_adaptive_flushing_lwm;
+SELECT @global_start_value;
+@global_start_value
+10
+'#--------------------FN_DYNVARS_046_01------------------------#'
+SET @@global.innodb_adaptive_flushing_lwm = 1;
+SET @@global.innodb_adaptive_flushing_lwm = DEFAULT;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+10.000000
+'#---------------------FN_DYNVARS_046_02-------------------------#'
+SET innodb_adaptive_flushing_lwm = 1;
+ERROR HY000: Variable 'innodb_adaptive_flushing_lwm' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@innodb_adaptive_flushing_lwm;
+@@innodb_adaptive_flushing_lwm
+10.000000
+SELECT local.innodb_adaptive_flushing_lwm;
+ERROR 42S02: Unknown table 'local' in field list
+SET global innodb_adaptive_flushing_lwm = 1;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+1.000000
+'#--------------------FN_DYNVARS_046_03------------------------#'
+SET @@global.innodb_adaptive_flushing_lwm = 1;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+1.000000
+SET @@global.innodb_adaptive_flushing_lwm = 60;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+60.000000
+SET @@global.innodb_adaptive_flushing_lwm = 70;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+70.000000
+'#--------------------FN_DYNVARS_046_04-------------------------#'
+SET @@global.innodb_adaptive_flushing_lwm = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_adaptive_flushing_lwm value: '-1'
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+0.000000
+SET @@global.innodb_adaptive_flushing_lwm = "T";
+ERROR 42000: Incorrect argument type to variable 'innodb_adaptive_flushing_lwm'
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+0.000000
+SET @@global.innodb_adaptive_flushing_lwm = "Y";
+ERROR 42000: Incorrect argument type to variable 'innodb_adaptive_flushing_lwm'
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+0.000000
+SET @@global.innodb_adaptive_flushing_lwm = 71;
+Warnings:
+Warning 1292 Truncated incorrect innodb_adaptive_flushing_lwm value: '71'
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+70.000000
+'#----------------------FN_DYNVARS_046_05------------------------#'
+SELECT @@global.innodb_adaptive_flushing_lwm =
+VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_adaptive_flushing_lwm';
+@@global.innodb_adaptive_flushing_lwm =
+VARIABLE_VALUE
+1
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+70.000000
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_adaptive_flushing_lwm';
+VARIABLE_VALUE
+70.000000
+'#---------------------FN_DYNVARS_046_06-------------------------#'
+SET @@global.innodb_adaptive_flushing_lwm = OFF;
+ERROR 42000: Incorrect argument type to variable 'innodb_adaptive_flushing_lwm'
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+70.000000
+SET @@global.innodb_adaptive_flushing_lwm = ON;
+ERROR 42000: Incorrect argument type to variable 'innodb_adaptive_flushing_lwm'
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+70.000000
+'#---------------------FN_DYNVARS_046_07----------------------#'
+SET @@global.innodb_adaptive_flushing_lwm = TRUE;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+1.000000
+SET @@global.innodb_adaptive_flushing_lwm = FALSE;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+0.000000
+SET @@global.innodb_adaptive_flushing_lwm = @global_start_value;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+@@global.innodb_adaptive_flushing_lwm
+10.000000
diff --git a/mysql-test/suite/sys_vars/r/innodb_adaptive_max_sleep_delay_basic.result b/mysql-test/suite/sys_vars/r/innodb_adaptive_max_sleep_delay_basic.result
new file mode 100644
index 00000000000..54b1c1e78b4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_adaptive_max_sleep_delay_basic.result
@@ -0,0 +1,46 @@
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+@@GLOBAL.innodb_adaptive_max_sleep_delay
+150000
+150000 Expected
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=100;
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=1000001;
+Warnings:
+Warning 1292 Truncated incorrect innodb_adaptive_max_sleep_delay value: '1000001'
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+@@GLOBAL.innodb_adaptive_max_sleep_delay
+1000000
+1000000 Expected
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=-1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_adaptive_max_sleep_delay value: '-1'
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+@@GLOBAL.innodb_adaptive_max_sleep_delay
+0
+0 Expected
+SELECT COUNT(@@GLOBAL.innodb_adaptive_max_sleep_delay);
+COUNT(@@GLOBAL.innodb_adaptive_max_sleep_delay)
+1
+1 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_adaptive_max_sleep_delay';
+VARIABLE_VALUE
+0
+100 Expected
+SELECT @@innodb_adaptive_max_sleep_delay = @@GLOBAL.innodb_adaptive_max_sleep_delay;
+@@innodb_adaptive_max_sleep_delay = @@GLOBAL.innodb_adaptive_max_sleep_delay
+1
+1000000 Expected
+SELECT COUNT(@@innodb_adaptive_max_sleep_delay);
+COUNT(@@innodb_adaptive_max_sleep_delay)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_adaptive_max_sleep_delay);
+ERROR HY000: Variable 'innodb_adaptive_max_sleep_delay' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_adaptive_max_sleep_delay);
+ERROR HY000: Variable 'innodb_adaptive_max_sleep_delay' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT innodb_adaptive_max_sleep_delay = @@SESSION.innodb_adaptive_max_sleep_delay;
+ERROR 42S22: Unknown column 'innodb_adaptive_max_sleep_delay' in 'field list'
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=150000;
diff --git a/mysql-test/suite/sys_vars/r/innodb_api_bk_commit_interval_basic.result b/mysql-test/suite/sys_vars/r/innodb_api_bk_commit_interval_basic.result
new file mode 100644
index 00000000000..d2773b7da69
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_api_bk_commit_interval_basic.result
@@ -0,0 +1,64 @@
+SET @start_global_value = @@global.innodb_api_bk_commit_interval;
+SELECT @start_global_value;
+@start_global_value
+5
+Valid values are positive number
+SELECT @@global.innodb_api_bk_commit_interval > 0;
+@@global.innodb_api_bk_commit_interval > 0
+1
+SELECT @@global.innodb_api_bk_commit_interval <= 1024*1024*1024;
+@@global.innodb_api_bk_commit_interval <= 1024*1024*1024
+1
+SELECT @@global.innodb_api_bk_commit_interval;
+@@global.innodb_api_bk_commit_interval
+5
+SELECT @@session.innodb_api_bk_commit_interval;
+ERROR HY000: Variable 'innodb_api_bk_commit_interval' is a GLOBAL variable
+SHOW global variables LIKE 'innodb_api_bk_commit_interval';
+Variable_name Value
+innodb_api_bk_commit_interval 5
+SHOW session variables LIKE 'innodb_api_bk_commit_interval';
+Variable_name Value
+innodb_api_bk_commit_interval 5
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_BK_COMMIT_INTERVAL 5
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_BK_COMMIT_INTERVAL 5
+SET global innodb_api_bk_commit_interval=100;
+SELECT @@global.innodb_api_bk_commit_interval;
+@@global.innodb_api_bk_commit_interval
+100
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_BK_COMMIT_INTERVAL 100
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_BK_COMMIT_INTERVAL 100
+SET session innodb_api_bk_commit_interval=1;
+ERROR HY000: Variable 'innodb_api_bk_commit_interval' is a GLOBAL variable and should be set with SET GLOBAL
+SET global innodb_api_bk_commit_interval=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_api_bk_commit_interval'
+SET global innodb_api_bk_commit_interval=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_api_bk_commit_interval'
+SET global innodb_api_bk_commit_interval="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_api_bk_commit_interval'
+SET global innodb_api_bk_commit_interval=-7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_api_bk_commit_interval value: '-7'
+SELECT @@global.innodb_api_bk_commit_interval;
+@@global.innodb_api_bk_commit_interval
+1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_BK_COMMIT_INTERVAL 1
+SET @@global.innodb_api_bk_commit_interval = @start_global_value;
+SELECT @@global.innodb_api_bk_commit_interval;
+@@global.innodb_api_bk_commit_interval
+5
diff --git a/mysql-test/suite/sys_vars/r/innodb_api_disable_rowlock_basic.result b/mysql-test/suite/sys_vars/r/innodb_api_disable_rowlock_basic.result
new file mode 100644
index 00000000000..5256c1ece8a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_api_disable_rowlock_basic.result
@@ -0,0 +1,53 @@
+'#---------------------BS_STVARS_035_01----------------------#'
+SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
+COUNT(@@GLOBAL.innodb_api_disable_rowlock)
+1
+1 Expected
+'#---------------------BS_STVARS_035_02----------------------#'
+SET @@GLOBAL.innodb_api_disable_rowlock=1;
+ERROR HY000: Variable 'innodb_api_disable_rowlock' is a read only variable
+Expected error 'Read only variable'
+SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
+COUNT(@@GLOBAL.innodb_api_disable_rowlock)
+1
+1 Expected
+'#---------------------BS_STVARS_035_03----------------------#'
+SELECT IF(@@GLOBAL.innodb_api_disable_rowlock, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_disable_rowlock';
+IF(@@GLOBAL.innodb_api_disable_rowlock, 'ON', 'OFF') = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
+COUNT(@@GLOBAL.innodb_api_disable_rowlock)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_disable_rowlock';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+'#---------------------BS_STVARS_035_04----------------------#'
+SELECT @@innodb_api_disable_rowlock = @@GLOBAL.innodb_api_enable_binlog;
+@@innodb_api_disable_rowlock = @@GLOBAL.innodb_api_enable_binlog
+1
+1 Expected
+'#---------------------BS_STVARS_035_05----------------------#'
+SELECT COUNT(@@innodb_api_disable_rowlock);
+COUNT(@@innodb_api_disable_rowlock)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_api_disable_rowlock);
+ERROR HY000: Variable 'innodb_api_disable_rowlock' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_api_disable_rowlock);
+ERROR HY000: Variable 'innodb_api_disable_rowlock' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
+COUNT(@@GLOBAL.innodb_api_disable_rowlock)
+1
+1 Expected
+SELECT innodb_api_disable_rowlock = @@SESSION.innodb_api_enable_binlog;
+ERROR 42S22: Unknown column 'innodb_api_disable_rowlock' in 'field list'
+Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/innodb_api_enable_binlog_basic.result b/mysql-test/suite/sys_vars/r/innodb_api_enable_binlog_basic.result
new file mode 100644
index 00000000000..f06fbeb8da7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_api_enable_binlog_basic.result
@@ -0,0 +1,53 @@
+'#---------------------BS_STVARS_035_01----------------------#'
+SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
+COUNT(@@GLOBAL.innodb_api_enable_binlog)
+1
+1 Expected
+'#---------------------BS_STVARS_035_02----------------------#'
+SET @@GLOBAL.innodb_api_enable_binlog=1;
+ERROR HY000: Variable 'innodb_api_enable_binlog' is a read only variable
+Expected error 'Read only variable'
+SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
+COUNT(@@GLOBAL.innodb_api_enable_binlog)
+1
+1 Expected
+'#---------------------BS_STVARS_035_03----------------------#'
+SELECT IF(@@GLOBAL.innodb_api_enable_binlog, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_enable_binlog';
+IF(@@GLOBAL.innodb_api_enable_binlog, 'ON', 'OFF') = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
+COUNT(@@GLOBAL.innodb_api_enable_binlog)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_enable_binlog';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+'#---------------------BS_STVARS_035_04----------------------#'
+SELECT @@innodb_api_enable_binlog = @@GLOBAL.innodb_api_enable_binlog;
+@@innodb_api_enable_binlog = @@GLOBAL.innodb_api_enable_binlog
+1
+1 Expected
+'#---------------------BS_STVARS_035_05----------------------#'
+SELECT COUNT(@@innodb_api_enable_binlog);
+COUNT(@@innodb_api_enable_binlog)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_api_enable_binlog);
+ERROR HY000: Variable 'innodb_api_enable_binlog' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_api_enable_binlog);
+ERROR HY000: Variable 'innodb_api_enable_binlog' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
+COUNT(@@GLOBAL.innodb_api_enable_binlog)
+1
+1 Expected
+SELECT innodb_api_enable_binlog = @@SESSION.innodb_api_enable_binlog;
+ERROR 42S22: Unknown column 'innodb_api_enable_binlog' in 'field list'
+Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/innodb_api_enable_mdl_basic.result b/mysql-test/suite/sys_vars/r/innodb_api_enable_mdl_basic.result
new file mode 100644
index 00000000000..4484b151396
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_api_enable_mdl_basic.result
@@ -0,0 +1,53 @@
+'#---------------------BS_STVARS_035_01----------------------#'
+SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
+COUNT(@@GLOBAL.innodb_api_enable_mdl)
+1
+1 Expected
+'#---------------------BS_STVARS_035_02----------------------#'
+SET @@GLOBAL.innodb_api_enable_mdl=1;
+ERROR HY000: Variable 'innodb_api_enable_mdl' is a read only variable
+Expected error 'Read only variable'
+SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
+COUNT(@@GLOBAL.innodb_api_enable_mdl)
+1
+1 Expected
+'#---------------------BS_STVARS_035_03----------------------#'
+SELECT IF(@@GLOBAL.innodb_api_enable_mdl, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_enable_mdl';
+IF(@@GLOBAL.innodb_api_enable_mdl, 'ON', 'OFF') = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
+COUNT(@@GLOBAL.innodb_api_enable_mdl)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_enable_mdl';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+'#---------------------BS_STVARS_035_04----------------------#'
+SELECT @@innodb_api_enable_mdl = @@GLOBAL.innodb_api_enable_mdl;
+@@innodb_api_enable_mdl = @@GLOBAL.innodb_api_enable_mdl
+1
+1 Expected
+'#---------------------BS_STVARS_035_05----------------------#'
+SELECT COUNT(@@innodb_api_enable_mdl);
+COUNT(@@innodb_api_enable_mdl)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_api_enable_mdl);
+ERROR HY000: Variable 'innodb_api_enable_mdl' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_api_enable_mdl);
+ERROR HY000: Variable 'innodb_api_enable_mdl' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
+COUNT(@@GLOBAL.innodb_api_enable_mdl)
+1
+1 Expected
+SELECT innodb_api_enable_mdl = @@SESSION.innodb_api_enable_mdl;
+ERROR 42S22: Unknown column 'innodb_api_enable_mdl' in 'field list'
+Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/innodb_api_trx_level_basic.result b/mysql-test/suite/sys_vars/r/innodb_api_trx_level_basic.result
new file mode 100644
index 00000000000..41071799883
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_api_trx_level_basic.result
@@ -0,0 +1,66 @@
+SET @start_global_value = @@global.innodb_api_trx_level;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are zero or above
+SELECT @@global.innodb_api_trx_level >=0;
+@@global.innodb_api_trx_level >=0
+1
+SELECT @@global.innodb_api_trx_level <=3;
+@@global.innodb_api_trx_level <=3
+1
+SELECT @@global.innodb_api_trx_level;
+@@global.innodb_api_trx_level
+0
+SELECT @@session.innodb_api_trx_level;
+ERROR HY000: Variable 'innodb_api_trx_level' is a GLOBAL variable
+SHOW global variables LIKE 'innodb_api_trx_level';
+Variable_name Value
+innodb_api_trx_level 0
+SHOW session variables LIKE 'innodb_api_trx_level';
+Variable_name Value
+innodb_api_trx_level 0
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_trx_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_TRX_LEVEL 0
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_api_trx_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_TRX_LEVEL 0
+SET global innodb_api_trx_level=100;
+Warnings:
+Warning 1292 Truncated incorrect innodb_api_trx_level value: '100'
+SELECT @@global.innodb_api_trx_level;
+@@global.innodb_api_trx_level
+3
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_trx_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_TRX_LEVEL 3
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_api_trx_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_TRX_LEVEL 3
+SET session innodb_api_trx_level=1;
+ERROR HY000: Variable 'innodb_api_trx_level' is a GLOBAL variable and should be set with SET GLOBAL
+SET global innodb_api_trx_level=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_api_trx_level'
+SET global innodb_api_trx_level=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_api_trx_level'
+SET global innodb_api_trx_level="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_api_trx_level'
+SET global innodb_api_trx_level=-7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_api_trx_level value: '-7'
+SELECT @@global.innodb_api_trx_level;
+@@global.innodb_api_trx_level
+0
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_trx_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_API_TRX_LEVEL 0
+SET @@global.innodb_api_trx_level = @start_global_value;
+SELECT @@global.innodb_api_trx_level;
+@@global.innodb_api_trx_level
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_autoextend_increment_basic.result b/mysql-test/suite/sys_vars/r/innodb_autoextend_increment_basic.result
index 1f458a8e1fd..900f0167261 100644
--- a/mysql-test/suite/sys_vars/r/innodb_autoextend_increment_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_autoextend_increment_basic.result
@@ -6,13 +6,13 @@ Warning 1292 Truncated incorrect innodb_autoextend_increment value: '0'
SET @@global.innodb_autoextend_increment = DEFAULT;
SELECT @@global.innodb_autoextend_increment ;
@@global.innodb_autoextend_increment
-8
+64
'#---------------------FN_DYNVARS_046_02-------------------------#'
SET innodb_autoextend_increment = 1;
ERROR HY000: Variable 'innodb_autoextend_increment' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@innodb_autoextend_increment ;
@@innodb_autoextend_increment
-8
+64
SELECT local.innodb_autoextend_increment ;
ERROR 42S02: Unknown table 'local' in field list
SET global innodb_autoextend_increment = 0;
diff --git a/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_check_interval_basic.result b/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_check_interval_basic.result
new file mode 100644
index 00000000000..5a8734a9446
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_check_interval_basic.result
@@ -0,0 +1,72 @@
+SET @start_global_value = @@global.innodb_background_scrub_data_check_interval;
+#
+# default value
+#
+select @@global.innodb_background_scrub_data_check_interval;
+@@global.innodb_background_scrub_data_check_interval
+3600
+set global innodb_background_scrub_data_check_interval=10;
+select @@global.innodb_background_scrub_data_check_interval;
+@@global.innodb_background_scrub_data_check_interval
+10
+set global innodb_background_scrub_data_check_interval=DEFAULT;
+select @@global.innodb_background_scrub_data_check_interval;
+@@global.innodb_background_scrub_data_check_interval
+3600
+set global innodb_background_scrub_data_check_interval=20;
+select @@global.innodb_background_scrub_data_check_interval;
+@@global.innodb_background_scrub_data_check_interval
+20
+set global innodb_background_scrub_data_check_interval=DEFAULT;
+select @@global.innodb_background_scrub_data_check_interval;
+@@global.innodb_background_scrub_data_check_interval
+3600
+#
+# exists as global only
+#
+select @@global.innodb_background_scrub_data_check_interval;
+@@global.innodb_background_scrub_data_check_interval
+3600
+select @@session.innodb_background_scrub_data_check_interval;
+ERROR HY000: Variable 'innodb_background_scrub_data_check_interval' is a GLOBAL variable
+show global variables like 'innodb_background_scrub_data_check_interval';
+Variable_name Value
+innodb_background_scrub_data_check_interval 3600
+show session variables like 'innodb_background_scrub_data_check_interval';
+Variable_name Value
+innodb_background_scrub_data_check_interval 3600
+select * from information_schema.global_variables
+where variable_name='innodb_background_scrub_data_check_interval';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_BACKGROUND_SCRUB_DATA_CHECK_INTERVAL 3600
+select * from information_schema.session_variables
+where variable_name='innodb_background_scrub_data_check_interval';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_BACKGROUND_SCRUB_DATA_CHECK_INTERVAL 3600
+#
+# show that it's writable
+#
+set global innodb_background_scrub_data_check_interval=10;
+select @@global.innodb_background_scrub_data_check_interval;
+@@global.innodb_background_scrub_data_check_interval
+10
+set global innodb_background_scrub_data_check_interval=20;
+select @@global.innodb_background_scrub_data_check_interval;
+@@global.innodb_background_scrub_data_check_interval
+20
+set global innodb_background_scrub_data_check_interval=1;
+select @@global.innodb_background_scrub_data_check_interval;
+@@global.innodb_background_scrub_data_check_interval
+1
+set session innodb_background_scrub_data_check_interval=1;
+ERROR HY000: Variable 'innodb_background_scrub_data_check_interval' is a GLOBAL variable and should be set with SET GLOBAL
+#
+# incorrect types
+#
+set global innodb_background_scrub_data_check_interval=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_check_interval'
+set global innodb_background_scrub_data_check_interval=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_check_interval'
+set global innodb_background_scrub_data_check_interval="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_check_interval'
+SET @@global.innodb_background_scrub_data_check_interval = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_compressed_basic.result b/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_compressed_basic.result
new file mode 100644
index 00000000000..7a1fd978bd2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_compressed_basic.result
@@ -0,0 +1,50 @@
+SET @start_global_value = @@global.innodb_background_scrub_data_compressed;
+#
+# exists as global only
+#
+select @@global.innodb_background_scrub_data_compressed;
+@@global.innodb_background_scrub_data_compressed
+0
+select @@session.innodb_background_scrub_data_compressed;
+ERROR HY000: Variable 'innodb_background_scrub_data_compressed' is a GLOBAL variable
+show global variables like 'innodb_background_scrub_data_compressed';
+Variable_name Value
+innodb_background_scrub_data_compressed OFF
+show session variables like 'innodb_background_scrub_data_compressed';
+Variable_name Value
+innodb_background_scrub_data_compressed OFF
+select * from information_schema.global_variables
+where variable_name='innodb_background_scrub_data_compressed';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_BACKGROUND_SCRUB_DATA_COMPRESSED OFF
+select * from information_schema.session_variables
+where variable_name='innodb_background_scrub_data_compressed';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_BACKGROUND_SCRUB_DATA_COMPRESSED OFF
+#
+# show that it's writable
+#
+set global innodb_background_scrub_data_compressed=ON;
+select @@global.innodb_background_scrub_data_compressed;
+@@global.innodb_background_scrub_data_compressed
+1
+set global innodb_background_scrub_data_compressed=OFF;
+select @@global.innodb_background_scrub_data_compressed;
+@@global.innodb_background_scrub_data_compressed
+0
+set global innodb_background_scrub_data_compressed=1;
+select @@global.innodb_background_scrub_data_compressed;
+@@global.innodb_background_scrub_data_compressed
+1
+set session innodb_background_scrub_data_compressed=1;
+ERROR HY000: Variable 'innodb_background_scrub_data_compressed' is a GLOBAL variable and should be set with SET GLOBAL
+#
+# incorrect types
+#
+set global innodb_background_scrub_data_compressed=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_compressed'
+set global innodb_background_scrub_data_compressed=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_compressed'
+set global innodb_background_scrub_data_compressed="foo";
+ERROR 42000: Variable 'innodb_background_scrub_data_compressed' can't be set to the value of 'foo'
+SET @@global.innodb_background_scrub_data_compressed = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_interval_basic.result b/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_interval_basic.result
new file mode 100644
index 00000000000..49bbc8cd34a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_interval_basic.result
@@ -0,0 +1,50 @@
+SET @start_global_value = @@global.innodb_background_scrub_data_interval;
+#
+# exists as global only
+#
+select @@global.innodb_background_scrub_data_interval;
+@@global.innodb_background_scrub_data_interval
+604800
+select @@session.innodb_background_scrub_data_interval;
+ERROR HY000: Variable 'innodb_background_scrub_data_interval' is a GLOBAL variable
+show global variables like 'innodb_background_scrub_data_interval';
+Variable_name Value
+innodb_background_scrub_data_interval 604800
+show session variables like 'innodb_background_scrub_data_interval';
+Variable_name Value
+innodb_background_scrub_data_interval 604800
+select * from information_schema.global_variables
+where variable_name='innodb_background_scrub_data_interval';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_BACKGROUND_SCRUB_DATA_INTERVAL 604800
+select * from information_schema.session_variables
+where variable_name='innodb_background_scrub_data_interval';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_BACKGROUND_SCRUB_DATA_INTERVAL 604800
+#
+# show that it's writable
+#
+set global innodb_background_scrub_data_interval=100;
+select @@global.innodb_background_scrub_data_interval;
+@@global.innodb_background_scrub_data_interval
+100
+set global innodb_background_scrub_data_interval=200;
+select @@global.innodb_background_scrub_data_interval;
+@@global.innodb_background_scrub_data_interval
+200
+set global innodb_background_scrub_data_interval=300;
+select @@global.innodb_background_scrub_data_interval;
+@@global.innodb_background_scrub_data_interval
+300
+set session innodb_background_scrub_data_interval=400;
+ERROR HY000: Variable 'innodb_background_scrub_data_interval' is a GLOBAL variable and should be set with SET GLOBAL
+#
+# incorrect types
+#
+set global innodb_background_scrub_data_interval=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_interval'
+set global innodb_background_scrub_data_interval=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_interval'
+set global innodb_background_scrub_data_interval="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_interval'
+SET @@global.innodb_background_scrub_data_interval = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_uncompressed_basic.result b/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_uncompressed_basic.result
new file mode 100644
index 00000000000..c85bde6493f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_uncompressed_basic.result
@@ -0,0 +1,50 @@
+SET @start_global_value = @@global.innodb_background_scrub_data_uncompressed;
+#
+# exists as global only
+#
+select @@global.innodb_background_scrub_data_uncompressed;
+@@global.innodb_background_scrub_data_uncompressed
+0
+select @@session.innodb_background_scrub_data_uncompressed;
+ERROR HY000: Variable 'innodb_background_scrub_data_uncompressed' is a GLOBAL variable
+show global variables like 'innodb_background_scrub_data_uncompressed';
+Variable_name Value
+innodb_background_scrub_data_uncompressed OFF
+show session variables like 'innodb_background_scrub_data_uncompressed';
+Variable_name Value
+innodb_background_scrub_data_uncompressed OFF
+select * from information_schema.global_variables
+where variable_name='innodb_background_scrub_data_uncompressed';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_BACKGROUND_SCRUB_DATA_UNCOMPRESSED OFF
+select * from information_schema.session_variables
+where variable_name='innodb_background_scrub_data_uncompressed';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_BACKGROUND_SCRUB_DATA_UNCOMPRESSED OFF
+#
+# show that it's writable
+#
+set global innodb_background_scrub_data_uncompressed=ON;
+select @@global.innodb_background_scrub_data_uncompressed;
+@@global.innodb_background_scrub_data_uncompressed
+1
+set global innodb_background_scrub_data_uncompressed=OFF;
+select @@global.innodb_background_scrub_data_uncompressed;
+@@global.innodb_background_scrub_data_uncompressed
+0
+set global innodb_background_scrub_data_uncompressed=1;
+select @@global.innodb_background_scrub_data_uncompressed;
+@@global.innodb_background_scrub_data_uncompressed
+1
+set session innodb_background_scrub_data_uncompressed=1;
+ERROR HY000: Variable 'innodb_background_scrub_data_uncompressed' is a GLOBAL variable and should be set with SET GLOBAL
+#
+# incorrect types
+#
+set global innodb_background_scrub_data_uncompressed=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_uncompressed'
+set global innodb_background_scrub_data_uncompressed=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_background_scrub_data_uncompressed'
+set global innodb_background_scrub_data_uncompressed="foo";
+ERROR 42000: Variable 'innodb_background_scrub_data_uncompressed' can't be set to the value of 'foo'
+SET @@global.innodb_background_scrub_data_uncompressed = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_buf_dump_status_frequency_basic.result b/mysql-test/suite/sys_vars/r/innodb_buf_dump_status_frequency_basic.result
new file mode 100644
index 00000000000..168509f466c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buf_dump_status_frequency_basic.result
@@ -0,0 +1,42 @@
+SET @start_innodb_buf_dump_status_frequency = @@global.innodb_buf_dump_status_frequency;
+SELECT @start_innodb_buf_dump_status_frequency;
+@start_innodb_buf_dump_status_frequency
+0
+SELECT COUNT(@@global.innodb_buf_dump_status_frequency);
+COUNT(@@global.innodb_buf_dump_status_frequency)
+1
+SET @@global.innodb_buf_dump_status_frequency = 20;
+SELECT @@global.innodb_buf_dump_status_frequency;
+@@global.innodb_buf_dump_status_frequency
+20
+SET @@global.innodb_buf_dump_status_frequency = 0;
+SELECT @@global.innodb_buf_dump_status_frequency;
+@@global.innodb_buf_dump_status_frequency
+0
+SET @@global.innodb_buf_dump_status_frequency = 100;
+SELECT @@global.innodb_buf_dump_status_frequency;
+@@global.innodb_buf_dump_status_frequency
+100
+SET @@global.innodb_buf_dump_status_frequency = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_buf_dump_status_frequency value: '-1'
+SELECT @@global.innodb_buf_dump_status_frequency;
+@@global.innodb_buf_dump_status_frequency
+0
+SET @@global.innodb_buf_dump_status_frequency = 101;
+Warnings:
+Warning 1292 Truncated incorrect innodb_buf_dump_status_frequency value: '101'
+SELECT @@global.innodb_buf_dump_status_frequency;
+@@global.innodb_buf_dump_status_frequency
+100
+SET @@global.innodb_buf_dump_status_frequency = 10.5;
+ERROR 42000: Incorrect argument type to variable 'innodb_buf_dump_status_frequency'
+SELECT @@global.innodb_buf_dump_status_frequency;
+@@global.innodb_buf_dump_status_frequency
+100
+SET @@global.innodb_buf_dump_status_frequency = "abc";
+ERROR 42000: Incorrect argument type to variable 'innodb_buf_dump_status_frequency'
+SELECT @@global.innodb_buf_dump_status_frequency;
+@@global.innodb_buf_dump_status_frequency
+100
+SET @@global.innodb_buf_dump_status_frequency = @start_innodb_buf_dump_status_frequency;
diff --git a/mysql-test/suite/sys_vars/r/innodb_buf_flush_list_now_basic.result b/mysql-test/suite/sys_vars/r/innodb_buf_flush_list_now_basic.result
new file mode 100644
index 00000000000..95b4e6fe780
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buf_flush_list_now_basic.result
@@ -0,0 +1,23 @@
+#
+# Basic test for innodb_buf_flush_list_now.
+#
+SELECT @@global.innodb_buf_flush_list_now;
+@@global.innodb_buf_flush_list_now
+0
+set global innodb_buf_flush_list_now = 1;
+SELECT @@global.innodb_buf_flush_list_now;
+@@global.innodb_buf_flush_list_now
+0
+set global innodb_buf_flush_list_now = 0;
+set global innodb_buf_flush_list_now = dummy;
+ERROR 42000: Variable 'innodb_buf_flush_list_now' can't be set to the value of 'dummy'
+set innodb_buf_flush_list_now = ON;
+ERROR HY000: Variable 'innodb_buf_flush_list_now' is a GLOBAL variable and should be set with SET GLOBAL
+# Setting to ON is ok.
+set global innodb_buf_flush_list_now = ON;
+# Setting to OFF is ok.
+set global innodb_buf_flush_list_now = OFF;
+# Must always be 0.
+SELECT @@global.innodb_buf_flush_list_now;
+@@global.innodb_buf_flush_list_now
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_at_shutdown_basic.result b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_at_shutdown_basic.result
new file mode 100644
index 00000000000..26bb44b4587
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_at_shutdown_basic.result
@@ -0,0 +1,18 @@
+SET @orig = @@global.innodb_buffer_pool_dump_at_shutdown;
+SELECT @orig;
+@orig
+0
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = OFF;
+SELECT @@global.innodb_buffer_pool_dump_at_shutdown;
+@@global.innodb_buffer_pool_dump_at_shutdown
+0
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = ON;
+SELECT @@global.innodb_buffer_pool_dump_at_shutdown;
+@@global.innodb_buffer_pool_dump_at_shutdown
+1
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = 12.34;
+Got one of the listed errors
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = "string";
+Got one of the listed errors
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = 5;
+Got one of the listed errors
diff --git a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_now_basic.result b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_now_basic.result
new file mode 100644
index 00000000000..522d5731a6d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_now_basic.result
@@ -0,0 +1,9 @@
+SELECT @@global.innodb_buffer_pool_dump_now;
+@@global.innodb_buffer_pool_dump_now
+0
+SELECT variable_value INTO @old_dump_status FROM information_schema.global_status
+WHERE LOWER(variable_name) = 'innodb_buffer_pool_dump_status';
+SET GLOBAL innodb_buffer_pool_dump_now = ON;
+SELECT @@global.innodb_buffer_pool_dump_now;
+@@global.innodb_buffer_pool_dump_now
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_pct_basic.result b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_pct_basic.result
new file mode 100644
index 00000000000..70fcdd3cb56
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_dump_pct_basic.result
@@ -0,0 +1,21 @@
+SET @orig = @@global.innodb_buffer_pool_dump_pct;
+SELECT @orig;
+@orig
+100
+SET GLOBAL innodb_buffer_pool_dump_pct=3;
+# Do the dump
+SET GLOBAL innodb_buffer_pool_dump_pct=0;
+SELECT @@global.innodb_buffer_pool_dump_pct;
+@@global.innodb_buffer_pool_dump_pct
+1
+SHOW WARNINGS;
+Level Code Message
+Warning 1292 Truncated incorrect innodb_buffer_pool_dump_pct value: '0'
+SET GLOBAL innodb_buffer_pool_dump_pct=101;
+SELECT @@global.innodb_buffer_pool_dump_pct;
+@@global.innodb_buffer_pool_dump_pct
+100
+SHOW WARNINGS;
+Level Code Message
+Warning 1292 Truncated incorrect innodb_buffer_pool_dump_pct value: '101'
+SET GLOBAL innodb_buffer_pool_dump_pct=@orig;
diff --git a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_filename_basic.result b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_filename_basic.result
new file mode 100644
index 00000000000..5e50a715307
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_filename_basic.result
@@ -0,0 +1,7 @@
+SET @orig = @@global.innodb_buffer_pool_filename;
+SELECT @orig;
+@orig
+ib_buffer_pool
+SET GLOBAL innodb_buffer_pool_filename = 'innodb_foobar_dump';
+SET GLOBAL innodb_buffer_pool_dump_now = ON;
+SET GLOBAL innodb_buffer_pool_filename = @orig;
diff --git a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_abort_basic.result b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_abort_basic.result
new file mode 100644
index 00000000000..255c3428eb5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_abort_basic.result
@@ -0,0 +1,8 @@
+SET @orig = @@global.innodb_buffer_pool_load_abort;
+SELECT @orig;
+@orig
+0
+SET GLOBAL innodb_buffer_pool_load_abort = ON;
+SELECT @@global.innodb_buffer_pool_load_abort;
+@@global.innodb_buffer_pool_load_abort
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_at_startup_basic.result b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_at_startup_basic.result
new file mode 100644
index 00000000000..1dad72baefd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_at_startup_basic.result
@@ -0,0 +1,8 @@
+SET @orig = @@global.innodb_buffer_pool_load_at_startup;
+SELECT @orig;
+@orig
+0
+SET GLOBAL innodb_buffer_pool_load_at_startup = OFF;
+ERROR HY000: Variable 'innodb_buffer_pool_load_at_startup' is a read only variable
+SET GLOBAL innodb_buffer_pool_load_at_startup = ON;
+ERROR HY000: Variable 'innodb_buffer_pool_load_at_startup' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_now_basic.result b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_now_basic.result
new file mode 100644
index 00000000000..eebed4d0f4a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_load_now_basic.result
@@ -0,0 +1,9 @@
+SELECT @@global.innodb_buffer_pool_load_now;
+@@global.innodb_buffer_pool_load_now
+0
+SET GLOBAL innodb_buffer_pool_load_now = ON;
+SELECT variable_value
+FROM information_schema.global_status
+WHERE LOWER(variable_name) = 'innodb_buffer_pool_load_status';
+variable_value
+Buffer pool(s) load completed at TIMESTAMP_NOW
diff --git a/mysql-test/suite/sys_vars/r/innodb_change_buffer_max_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_change_buffer_max_size_basic.result
new file mode 100644
index 00000000000..03f11ece358
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_change_buffer_max_size_basic.result
@@ -0,0 +1,77 @@
+SET @start_global_value = @@global.innodb_change_buffer_max_size;
+SELECT @start_global_value;
+@start_global_value
+25
+Valid values are between 0 and 50
+select @@global.innodb_change_buffer_max_size between 0 and 50;
+@@global.innodb_change_buffer_max_size between 0 and 50
+1
+select @@global.innodb_change_buffer_max_size;
+@@global.innodb_change_buffer_max_size
+25
+select @@session.innodb_change_buffer_max_size;
+ERROR HY000: Variable 'innodb_change_buffer_max_size' is a GLOBAL variable
+show global variables like 'innodb_change_buffer_max_size';
+Variable_name Value
+innodb_change_buffer_max_size 25
+show session variables like 'innodb_change_buffer_max_size';
+Variable_name Value
+innodb_change_buffer_max_size 25
+select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_CHANGE_BUFFER_MAX_SIZE 25
+select * from information_schema.session_variables where variable_name='innodb_change_buffer_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_CHANGE_BUFFER_MAX_SIZE 25
+set global innodb_change_buffer_max_size=10;
+select @@global.innodb_change_buffer_max_size;
+@@global.innodb_change_buffer_max_size
+10
+select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_CHANGE_BUFFER_MAX_SIZE 10
+select * from information_schema.session_variables where variable_name='innodb_change_buffer_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_CHANGE_BUFFER_MAX_SIZE 10
+set session innodb_change_buffer_max_size=1;
+ERROR HY000: Variable 'innodb_change_buffer_max_size' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_change_buffer_max_size=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_change_buffer_max_size'
+set global innodb_change_buffer_max_size=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_change_buffer_max_size'
+set global innodb_change_buffer_max_size="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_change_buffer_max_size'
+set global innodb_change_buffer_max_size=-7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_change_buffer_max_size value: '-7'
+select @@global.innodb_change_buffer_max_size;
+@@global.innodb_change_buffer_max_size
+0
+select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_CHANGE_BUFFER_MAX_SIZE 0
+set global innodb_change_buffer_max_size=56;
+Warnings:
+Warning 1292 Truncated incorrect innodb_change_buffer_max_size value: '56'
+select @@global.innodb_change_buffer_max_size;
+@@global.innodb_change_buffer_max_size
+50
+select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_CHANGE_BUFFER_MAX_SIZE 50
+set global innodb_change_buffer_max_size=0;
+select @@global.innodb_change_buffer_max_size;
+@@global.innodb_change_buffer_max_size
+0
+set global innodb_change_buffer_max_size=50;
+select @@global.innodb_change_buffer_max_size;
+@@global.innodb_change_buffer_max_size
+50
+set global innodb_change_buffer_max_size=DEFAULT;
+select @@global.innodb_change_buffer_max_size;
+@@global.innodb_change_buffer_max_size
+25
+SET @@global.innodb_change_buffer_max_size = @start_global_value;
+SELECT @@global.innodb_change_buffer_max_size;
+@@global.innodb_change_buffer_max_size
+25
diff --git a/mysql-test/suite/sys_vars/r/innodb_checksum_algorithm_basic.result b/mysql-test/suite/sys_vars/r/innodb_checksum_algorithm_basic.result
new file mode 100644
index 00000000000..8e05db129dc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_checksum_algorithm_basic.result
@@ -0,0 +1,47 @@
+SET @orig = @@global.innodb_checksum_algorithm;
+SELECT @orig;
+@orig
+INNODB
+SET GLOBAL innodb_checksum_algorithm = 'crc32';
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+CRC32
+SET GLOBAL innodb_checksum_algorithm = 'strict_crc32';
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+STRICT_CRC32
+SET GLOBAL innodb_checksum_algorithm = 'innodb';
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+INNODB
+SET GLOBAL innodb_checksum_algorithm = 'strict_innodb';
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+STRICT_INNODB
+SET GLOBAL innodb_checksum_algorithm = 'none';
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+NONE
+SET GLOBAL innodb_checksum_algorithm = 'strict_none';
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+STRICT_NONE
+SET GLOBAL innodb_checksum_algorithm = '';
+ERROR 42000: Variable 'innodb_checksum_algorithm' can't be set to the value of ''
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+STRICT_NONE
+SET GLOBAL innodb_checksum_algorithm = 'foobar';
+ERROR 42000: Variable 'innodb_checksum_algorithm' can't be set to the value of 'foobar'
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+STRICT_NONE
+SET GLOBAL innodb_checksum_algorithm = 123;
+ERROR 42000: Variable 'innodb_checksum_algorithm' can't be set to the value of '123'
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+STRICT_NONE
+SET GLOBAL innodb_checksum_algorithm = @orig;
+SELECT @@global.innodb_checksum_algorithm;
+@@global.innodb_checksum_algorithm
+INNODB
diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_eviction_factor_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_eviction_factor_basic.result
new file mode 100644
index 00000000000..8f017ea40ec
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_eviction_factor_basic.result
@@ -0,0 +1,31 @@
+SET @start_value = @@GLOBAL.innodb_cleaner_eviction_factor;
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+@@GLOBAL.innodb_cleaner_eviction_factor
+0
+SELECT @@SESSION.innodb_cleaner_eviction_factor;
+ERROR HY000: Variable 'innodb_cleaner_eviction_factor' is a GLOBAL variable
+SET GLOBAL innodb_cleaner_eviction_factor='OFF';
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+@@GLOBAL.innodb_cleaner_eviction_factor
+0
+SET GLOBAL innodb_cleaner_eviction_factor='ON';
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+@@GLOBAL.innodb_cleaner_eviction_factor
+1
+SET GLOBAL innodb_cleaner_eviction_factor=0;
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+@@GLOBAL.innodb_cleaner_eviction_factor
+0
+SET GLOBAL innodb_cleaner_eviction_factor=1;
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+@@GLOBAL.innodb_cleaner_eviction_factor
+1
+SET GLOBAL innodb_cleaner_eviction_factor=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_eviction_factor'
+SET GLOBAL innodb_cleaner_eviction_factor=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_eviction_factor'
+SET GLOBAL innodb_cleaner_eviction_factor=2;
+ERROR 42000: Variable 'innodb_cleaner_eviction_factor' can't be set to the value of '2'
+SET GLOBAL innodb_cleaner_eviction_factor='foo';
+ERROR 42000: Variable 'innodb_cleaner_eviction_factor' can't be set to the value of 'foo'
+SET GLOBAL innodb_cleaner_eviction_factor = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_flush_chunk_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_flush_chunk_size_basic.result
new file mode 100644
index 00000000000..651023d7a38
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_flush_chunk_size_basic.result
@@ -0,0 +1,31 @@
+SET @start_value = @@GLOBAL.innodb_cleaner_flush_chunk_size;
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+@@GLOBAL.innodb_cleaner_flush_chunk_size
+100
+SELECT @@SESSION.innodb_cleaner_flush_chunk_size;
+ERROR HY000: Variable 'innodb_cleaner_flush_chunk_size' is a GLOBAL variable
+SET GLOBAL innodb_cleaner_flush_chunk_size=1;
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+@@GLOBAL.innodb_cleaner_flush_chunk_size
+1
+SET GLOBAL innodb_cleaner_flush_chunk_size=1000;
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+@@GLOBAL.innodb_cleaner_flush_chunk_size
+1000
+SET GLOBAL innodb_cleaner_flush_chunk_size=4294967295;
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+@@GLOBAL.innodb_cleaner_flush_chunk_size
+4294967295
+SET GLOBAL innodb_cleaner_flush_chunk_size=0;
+Warnings:
+Warning 1292 Truncated incorrect innodb_cleaner_flush_chunk_size value: '0'
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+@@GLOBAL.innodb_cleaner_flush_chunk_size
+1
+SET GLOBAL innodb_cleaner_flush_chunk_size=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_flush_chunk_size'
+SET GLOBAL innodb_cleaner_flush_chunk_size=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_flush_chunk_size'
+SET GLOBAL innodb_cleaner_flush_chunk_size='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_flush_chunk_size'
+SET GLOBAL innodb_cleaner_flush_chunk_size = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_free_list_lwm_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_free_list_lwm_basic.result
new file mode 100644
index 00000000000..2d7883b7d83
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_free_list_lwm_basic.result
@@ -0,0 +1,35 @@
+SET @start_value = @@GLOBAL.innodb_cleaner_free_list_lwm;
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+@@GLOBAL.innodb_cleaner_free_list_lwm
+10
+SELECT @@SESSION.innodb_cleaner_free_list_lwm;
+ERROR HY000: Variable 'innodb_cleaner_free_list_lwm' is a GLOBAL variable
+SET GLOBAL innodb_cleaner_free_list_lwm=0;
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+@@GLOBAL.innodb_cleaner_free_list_lwm
+0
+SET GLOBAL innodb_cleaner_free_list_lwm=1;
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+@@GLOBAL.innodb_cleaner_free_list_lwm
+1
+SET GLOBAL innodb_cleaner_free_list_lwm=99;
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+@@GLOBAL.innodb_cleaner_free_list_lwm
+99
+SET GLOBAL innodb_cleaner_free_list_lwm=100;
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+@@GLOBAL.innodb_cleaner_free_list_lwm
+100
+SET GLOBAL innodb_cleaner_free_list_lwm=101;
+Warnings:
+Warning 1292 Truncated incorrect innodb_cleaner_free_list_lwm value: '101'
+SELECT @@innodb_cleaner_free_list_lwm;
+@@innodb_cleaner_free_list_lwm
+100
+SET GLOBAL innodb_cleaner_free_list_lwm=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_free_list_lwm'
+SET GLOBAL innodb_cleaner_free_list_lwm=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_free_list_lwm'
+SET GLOBAL innodb_cleaner_free_list_lwm='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_free_list_lwm'
+SET GLOBAL innodb_cleaner_free_list_lwm = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_lru_chunk_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_lru_chunk_size_basic.result
new file mode 100644
index 00000000000..5dfc6738e11
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_lru_chunk_size_basic.result
@@ -0,0 +1,31 @@
+SET @start_value = @@GLOBAL.innodb_cleaner_lru_chunk_size;
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+@@GLOBAL.innodb_cleaner_lru_chunk_size
+100
+SELECT @@SESSION.innodb_cleaner_lru_chunk_size;
+ERROR HY000: Variable 'innodb_cleaner_lru_chunk_size' is a GLOBAL variable
+SET GLOBAL innodb_cleaner_lru_chunk_size=1;
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+@@GLOBAL.innodb_cleaner_lru_chunk_size
+1
+SET GLOBAL innodb_cleaner_lru_chunk_size=1000;
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+@@GLOBAL.innodb_cleaner_lru_chunk_size
+1000
+SET GLOBAL innodb_cleaner_lru_chunk_size=4294967295;
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+@@GLOBAL.innodb_cleaner_lru_chunk_size
+4294967295
+SET GLOBAL innodb_cleaner_lru_chunk_size=0;
+Warnings:
+Warning 1292 Truncated incorrect innodb_cleaner_lru_chunk_size value: '0'
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+@@GLOBAL.innodb_cleaner_lru_chunk_size
+1
+SET GLOBAL innodb_cleaner_lru_chunk_size=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lru_chunk_size'
+SET GLOBAL innodb_cleaner_lru_chunk_size=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lru_chunk_size'
+SET GLOBAL innodb_cleaner_lru_chunk_size='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lru_chunk_size'
+SET GLOBAL innodb_cleaner_lru_chunk_size = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_lsn_age_factor_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_lsn_age_factor_basic.result
new file mode 100644
index 00000000000..65046d93344
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_lsn_age_factor_basic.result
@@ -0,0 +1,21 @@
+SET @start_value = @@GLOBAL.innodb_cleaner_lsn_age_factor;
+SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
+@@GLOBAL.innodb_cleaner_lsn_age_factor
+HIGH_CHECKPOINT
+SELECT @@SESSION.innodb_cleaner_lsn_age_factor;
+ERROR HY000: Variable 'innodb_cleaner_lsn_age_factor' is a GLOBAL variable
+SET GLOBAL innodb_cleaner_lsn_age_factor='legacy';
+SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
+@@GLOBAL.innodb_cleaner_lsn_age_factor
+LEGACY
+SET GLOBAL innodb_cleaner_lsn_age_factor='high_checkpoint';
+SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
+@@GLOBAL.innodb_cleaner_lsn_age_factor
+HIGH_CHECKPOINT
+SET GLOBAL innodb_cleaner_lsn_age_factor=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lsn_age_factor'
+SET GLOBAL innodb_cleaner_lsn_age_factor=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lsn_age_factor'
+SET GLOBAL innodb_cleaner_lsn_age_factor='foo';
+ERROR 42000: Variable 'innodb_cleaner_lsn_age_factor' can't be set to the value of 'foo'
+SET GLOBAL innodb_cleaner_lsn_age_factor = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_max_flush_time_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_max_flush_time_basic.result
new file mode 100644
index 00000000000..e4a3fa26e73
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_max_flush_time_basic.result
@@ -0,0 +1,25 @@
+SET @start_value = @@GLOBAL.innodb_cleaner_max_flush_time;
+SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
+@@GLOBAL.innodb_cleaner_max_flush_time
+1000
+SELECT @@SESSION.innodb_cleaner_max_flush_time;
+ERROR HY000: Variable 'innodb_cleaner_max_flush_time' is a GLOBAL variable
+SET GLOBAL innodb_cleaner_max_flush_time=0;
+SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
+@@GLOBAL.innodb_cleaner_max_flush_time
+0
+SET GLOBAL innodb_cleaner_max_flush_time=1000;
+SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
+@@GLOBAL.innodb_cleaner_max_flush_time
+1000
+SET GLOBAL innodb_cleaner_max_flush_time=4294967295;
+SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
+@@GLOBAL.innodb_cleaner_max_flush_time
+4294967295
+SET GLOBAL innodb_cleaner_max_flush_time=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_flush_time'
+SET GLOBAL innodb_cleaner_max_flush_time=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_flush_time'
+SET GLOBAL innodb_cleaner_max_flush_time='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_flush_time'
+SET GLOBAL innodb_cleaner_max_flush_time = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_max_lru_time_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_max_lru_time_basic.result
new file mode 100644
index 00000000000..f7bacbbd62e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_max_lru_time_basic.result
@@ -0,0 +1,25 @@
+SET @start_value = @@GLOBAL.innodb_cleaner_max_lru_time;
+SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
+@@GLOBAL.innodb_cleaner_max_lru_time
+1000
+SELECT @@SESSION.innodb_cleaner_max_lru_time;
+ERROR HY000: Variable 'innodb_cleaner_max_lru_time' is a GLOBAL variable
+SET GLOBAL innodb_cleaner_max_lru_time=0;
+SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
+@@GLOBAL.innodb_cleaner_max_lru_time
+0
+SET GLOBAL innodb_cleaner_max_lru_time=1000;
+SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
+@@GLOBAL.innodb_cleaner_max_lru_time
+1000
+SET GLOBAL innodb_cleaner_max_lru_time=4294967295;
+SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
+@@GLOBAL.innodb_cleaner_max_lru_time
+4294967295
+SET GLOBAL innodb_cleaner_max_lru_time=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_lru_time'
+SET GLOBAL innodb_cleaner_max_lru_time=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_lru_time'
+SET GLOBAL innodb_cleaner_max_lru_time='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_lru_time'
+SET GLOBAL innodb_cleaner_max_lru_time = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_cmp_per_index_enabled_basic.result b/mysql-test/suite/sys_vars/r/innodb_cmp_per_index_enabled_basic.result
new file mode 100644
index 00000000000..3ee9448bdab
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_cmp_per_index_enabled_basic.result
@@ -0,0 +1,65 @@
+SELECT @@global.innodb_cmp_per_index_enabled;
+@@global.innodb_cmp_per_index_enabled
+0
+SET GLOBAL innodb_stats_persistent=123;
+ERROR 42000: Variable 'innodb_stats_persistent' can't be set to the value of '123'
+SET GLOBAL innodb_stats_persistent='foo';
+ERROR 42000: Variable 'innodb_stats_persistent' can't be set to the value of 'foo'
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+SELECT @@global.innodb_cmp_per_index_enabled;
+@@global.innodb_cmp_per_index_enabled
+1
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+SELECT @@global.innodb_cmp_per_index_enabled;
+@@global.innodb_cmp_per_index_enabled
+1
+SET GLOBAL innodb_cmp_per_index_enabled=OFF;
+SELECT @@global.innodb_cmp_per_index_enabled;
+@@global.innodb_cmp_per_index_enabled
+0
+SET GLOBAL innodb_cmp_per_index_enabled=OFF;
+SELECT @@global.innodb_cmp_per_index_enabled;
+@@global.innodb_cmp_per_index_enabled
+0
+SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+CREATE TABLE t (a INT) ENGINE=INNODB KEY_BLOCK_SIZE=8;
+INSERT INTO t VALUES (1);
+SELECT * FROM information_schema.innodb_cmp_per_index;
+database_name test
+table_name t
+index_name GEN_CLUST_INDEX
+compress_ops 1
+compress_ops_ok 1
+compress_time 0
+uncompress_ops 0
+uncompress_time 0
+SET GLOBAL innodb_cmp_per_index_enabled=OFF;
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+SELECT * FROM information_schema.innodb_cmp_per_index;
+DROP TABLE t;
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+CREATE TABLE t (a INT) ENGINE=INNODB KEY_BLOCK_SIZE=8;
+INSERT INTO t VALUES (1);
+SELECT * FROM information_schema.innodb_cmp_per_index;
+database_name test
+table_name t
+index_name GEN_CLUST_INDEX
+compress_ops 1
+compress_ops_ok 1
+compress_time 0
+uncompress_ops 0
+uncompress_time 0
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+SELECT * FROM information_schema.innodb_cmp_per_index;
+database_name test
+table_name t
+index_name GEN_CLUST_INDEX
+compress_ops 1
+compress_ops_ok 1
+compress_time 0
+uncompress_ops 0
+uncompress_time 0
+DROP TABLE t;
+SET GLOBAL innodb_file_format=default;
+SET GLOBAL innodb_cmp_per_index_enabled=default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_compression_algorithm_basic.result b/mysql-test/suite/sys_vars/r/innodb_compression_algorithm_basic.result
new file mode 100644
index 00000000000..1213ec8bf10
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_compression_algorithm_basic.result
@@ -0,0 +1,47 @@
+SET @start_global_value = @@global.innodb_compression_algorithm;
+SELECT @start_global_value;
+@start_global_value
+zlib
+select @@global.innodb_compression_algorithm;
+@@global.innodb_compression_algorithm
+zlib
+select @@session.innodb_compression_algorithm;
+ERROR HY000: Variable 'innodb_compression_algorithm' is a GLOBAL variable
+show global variables like 'innodb_compression_algorithm';
+Variable_name Value
+innodb_compression_algorithm zlib
+show session variables like 'innodb_compression_algorithm';
+Variable_name Value
+innodb_compression_algorithm zlib
+select * from information_schema.global_variables where variable_name='innodb_compression_algorithm';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_ALGORITHM zlib
+select * from information_schema.session_variables where variable_name='innodb_compression_algorithm';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_ALGORITHM zlib
+set global innodb_compression_algorithm=1;
+select @@global.innodb_compression_algorithm;
+@@global.innodb_compression_algorithm
+zlib
+select * from information_schema.global_variables where variable_name='innodb_compression_algorithm';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_ALGORITHM zlib
+select * from information_schema.session_variables where variable_name='innodb_compression_algorithm';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_ALGORITHM zlib
+set session innodb_compression_algorithm=0;
+ERROR HY000: Variable 'innodb_compression_algorithm' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_compression_algorithm=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_algorithm'
+set global innodb_compression_algorithm=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_algorithm'
+set global innodb_compression_algorithm="foo";
+ERROR 42000: Variable 'innodb_compression_algorithm' can't be set to the value of 'foo'
+set global innodb_compression_algorithm=0;
+select @@global.innodb_compression_algorithm;
+@@global.innodb_compression_algorithm
+none
+SET @@global.innodb_compression_algorithm = @start_global_value;
+SELECT @@global.innodb_compression_algorithm;
+@@global.innodb_compression_algorithm
+zlib
diff --git a/mysql-test/suite/sys_vars/r/innodb_compression_failure_threshold_pct_basic.result b/mysql-test/suite/sys_vars/r/innodb_compression_failure_threshold_pct_basic.result
new file mode 100644
index 00000000000..9f85eccdb7a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_compression_failure_threshold_pct_basic.result
@@ -0,0 +1,96 @@
+SET @global_start_value = @@global.innodb_compression_failure_threshold_pct;
+SELECT @global_start_value;
+@global_start_value
+5
+'#--------------------FN_DYNVARS_046_01------------------------#'
+SET @@global.innodb_compression_failure_threshold_pct = 0;
+SET @@global.innodb_compression_failure_threshold_pct = DEFAULT;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+5
+'#---------------------FN_DYNVARS_046_02-------------------------#'
+SET innodb_compression_failure_threshold_pct = 1;
+ERROR HY000: Variable 'innodb_compression_failure_threshold_pct' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@innodb_compression_failure_threshold_pct;
+@@innodb_compression_failure_threshold_pct
+5
+SELECT local.innodb_compression_failure_threshold_pct;
+ERROR 42S02: Unknown table 'local' in field list
+SET global innodb_compression_failure_threshold_pct = 0;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+0
+'#--------------------FN_DYNVARS_046_03------------------------#'
+SET @@global.innodb_compression_failure_threshold_pct = 0;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+0
+SET @@global.innodb_compression_failure_threshold_pct = 1;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+1
+SET @@global.innodb_compression_failure_threshold_pct = 100;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+100
+'#--------------------FN_DYNVARS_046_04-------------------------#'
+SET @@global.innodb_compression_failure_threshold_pct = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_compression_failure_thres value: '-1'
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+0
+SET @@global.innodb_compression_failure_threshold_pct = "T";
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_failure_threshold_pct'
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+0
+SET @@global.innodb_compression_failure_threshold_pct = "Y";
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_failure_threshold_pct'
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+0
+SET @@global.innodb_compression_failure_threshold_pct = 101;
+Warnings:
+Warning 1292 Truncated incorrect innodb_compression_failure_thres value: '101'
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+100
+'#----------------------FN_DYNVARS_046_05------------------------#'
+SELECT @@global.innodb_compression_failure_threshold_pct =
+VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_compression_failure_threshold_pct';
+@@global.innodb_compression_failure_threshold_pct =
+VARIABLE_VALUE
+1
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+100
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_compression_failure_threshold_pct';
+VARIABLE_VALUE
+100
+'#---------------------FN_DYNVARS_046_06-------------------------#'
+SET @@global.innodb_compression_failure_threshold_pct = OFF;
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_failure_threshold_pct'
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+100
+SET @@global.innodb_compression_failure_threshold_pct = ON;
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_failure_threshold_pct'
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+100
+'#---------------------FN_DYNVARS_046_07----------------------#'
+SET @@global.innodb_compression_failure_threshold_pct = TRUE;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+1
+SET @@global.innodb_compression_failure_threshold_pct = FALSE;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+0
+SET @@global.innodb_compression_failure_threshold_pct = @global_start_value;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+@@global.innodb_compression_failure_threshold_pct
+5
diff --git a/mysql-test/suite/sys_vars/r/innodb_compression_level_basic.result b/mysql-test/suite/sys_vars/r/innodb_compression_level_basic.result
new file mode 100644
index 00000000000..b9d1a2e4953
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_compression_level_basic.result
@@ -0,0 +1,73 @@
+SET @start_global_value = @@global.innodb_compression_level;
+SELECT @start_global_value;
+@start_global_value
+6
+Valid value 0-9
+select @@global.innodb_compression_level <= 9;
+@@global.innodb_compression_level <= 9
+1
+select @@global.innodb_compression_level;
+@@global.innodb_compression_level
+6
+select @@session.innodb_compression_level;
+ERROR HY000: Variable 'innodb_compression_level' is a GLOBAL variable
+show global variables like 'innodb_compression_level';
+Variable_name Value
+innodb_compression_level 6
+show session variables like 'innodb_compression_level';
+Variable_name Value
+innodb_compression_level 6
+select * from information_schema.global_variables where variable_name='innodb_compression_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_LEVEL 6
+select * from information_schema.session_variables where variable_name='innodb_compression_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_LEVEL 6
+set global innodb_compression_level=2;
+select @@global.innodb_compression_level;
+@@global.innodb_compression_level
+2
+select * from information_schema.global_variables where variable_name='innodb_compression_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_LEVEL 2
+select * from information_schema.session_variables where variable_name='innodb_compression_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_LEVEL 2
+set session innodb_compression_level=4;
+ERROR HY000: Variable 'innodb_compression_level' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_compression_level=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_level'
+set global innodb_compression_level=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_level'
+set global innodb_compression_level="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_level'
+set global innodb_compression_level=10;
+Warnings:
+Warning 1292 Truncated incorrect innodb_compression_level value: '10'
+select @@global.innodb_compression_level;
+@@global.innodb_compression_level
+9
+select * from information_schema.global_variables where variable_name='innodb_compression_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_LEVEL 9
+set global innodb_compression_level=-7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_compression_level value: '-7'
+select @@global.innodb_compression_level;
+@@global.innodb_compression_level
+0
+select * from information_schema.global_variables where variable_name='innodb_compression_level';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_COMPRESSION_LEVEL 0
+set global innodb_compression_level=0;
+select @@global.innodb_compression_level;
+@@global.innodb_compression_level
+0
+set global innodb_compression_level=9;
+select @@global.innodb_compression_level;
+@@global.innodb_compression_level
+9
+SET @@global.innodb_compression_level = @start_global_value;
+SELECT @@global.innodb_compression_level;
+@@global.innodb_compression_level
+6
diff --git a/mysql-test/suite/sys_vars/r/innodb_compression_pad_pct_max_basic.result b/mysql-test/suite/sys_vars/r/innodb_compression_pad_pct_max_basic.result
new file mode 100644
index 00000000000..628993ef873
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_compression_pad_pct_max_basic.result
@@ -0,0 +1,86 @@
+SET @global_start_value = @@global.innodb_compression_pad_pct_max;
+SELECT @global_start_value;
+@global_start_value
+50
+'#--------------------FN_DYNVARS_046_01------------------------#'
+SET @@global.innodb_compression_pad_pct_max = DEFAULT;
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+50
+'#---------------------FN_DYNVARS_046_02-------------------------#'
+SET innodb_compression_pad_pct_max = 1;
+ERROR HY000: Variable 'innodb_compression_pad_pct_max' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@innodb_compression_pad_pct_max;
+@@innodb_compression_pad_pct_max
+50
+SELECT local.innodb_compression_pad_pct_max;
+ERROR 42S02: Unknown table 'local' in field list
+SET global innodb_compression_pad_pct_max = 0;
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+0
+'#--------------------FN_DYNVARS_046_03------------------------#'
+SET @@global.innodb_compression_pad_pct_max = 0;
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+0
+SET @@global.innodb_compression_pad_pct_max = 75;
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+75
+'#--------------------FN_DYNVARS_046_04-------------------------#'
+SET @@global.innodb_compression_pad_pct_max = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_compression_pad_pct_max value: '-1'
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+0
+SET @@global.innodb_compression_pad_pct_max = "T";
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_pad_pct_max'
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+0
+SET @@global.innodb_compression_pad_pct_max = 76;
+Warnings:
+Warning 1292 Truncated incorrect innodb_compression_pad_pct_max value: '76'
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+75
+'#----------------------FN_DYNVARS_046_05------------------------#'
+SELECT @@global.innodb_compression_pad_pct_max =
+VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_compression_pad_pct_max';
+@@global.innodb_compression_pad_pct_max =
+VARIABLE_VALUE
+1
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+75
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_compression_pad_pct_max';
+VARIABLE_VALUE
+75
+'#---------------------FN_DYNVARS_046_06-------------------------#'
+SET @@global.innodb_compression_pad_pct_max = OFF;
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_pad_pct_max'
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+75
+SET @@global.innodb_compression_pad_pct_max = ON;
+ERROR 42000: Incorrect argument type to variable 'innodb_compression_pad_pct_max'
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+75
+'#---------------------FN_DYNVARS_046_07----------------------#'
+SET @@global.innodb_compression_pad_pct_max = TRUE;
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+1
+SET @@global.innodb_compression_pad_pct_max = FALSE;
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+0
+SET @@global.innodb_compression_pad_pct_max = @global_start_value;
+SELECT @@global.innodb_compression_pad_pct_max;
+@@global.innodb_compression_pad_pct_max
+50
diff --git a/mysql-test/suite/sys_vars/r/innodb_concurrency_tickets_basic.result b/mysql-test/suite/sys_vars/r/innodb_concurrency_tickets_basic.result
index cd27de0cb0b..0b790fb3557 100644
--- a/mysql-test/suite/sys_vars/r/innodb_concurrency_tickets_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_concurrency_tickets_basic.result
@@ -1,7 +1,7 @@
SET @global_start_value = @@global.innodb_concurrency_tickets;
SELECT @global_start_value;
@global_start_value
-500
+5000
'#--------------------FN_DYNVARS_046_01------------------------#'
SET @@global.innodb_concurrency_tickets = 0;
Warnings:
@@ -9,13 +9,13 @@ Warning 1292 Truncated incorrect innodb_concurrency_tickets value: '0'
SET @@global.innodb_concurrency_tickets = DEFAULT;
SELECT @@global.innodb_concurrency_tickets;
@@global.innodb_concurrency_tickets
-500
+5000
'#---------------------FN_DYNVARS_046_02-------------------------#'
SET innodb_concurrency_tickets = 1;
ERROR HY000: Variable 'innodb_concurrency_tickets' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@innodb_concurrency_tickets;
@@innodb_concurrency_tickets
-500
+5000
SELECT local.innodb_concurrency_tickets;
ERROR 42S02: Unknown table 'local' in field list
SET global innodb_concurrency_tickets = 0;
@@ -97,4 +97,4 @@ SELECT @@global.innodb_concurrency_tickets;
SET @@global.innodb_concurrency_tickets = @global_start_value;
SELECT @@global.innodb_concurrency_tickets;
@@global.innodb_concurrency_tickets
-500
+5000
diff --git a/mysql-test/suite/sys_vars/r/innodb_debug_force_scrubbing_basic.result b/mysql-test/suite/sys_vars/r/innodb_debug_force_scrubbing_basic.result
new file mode 100644
index 00000000000..eced486ad70
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_debug_force_scrubbing_basic.result
@@ -0,0 +1,50 @@
+SET @start_global_value = @@global.innodb_debug_force_scrubbing;
+#
+# exists as global only
+#
+select @@global.innodb_debug_force_scrubbing;
+@@global.innodb_debug_force_scrubbing
+0
+select @@session.innodb_debug_force_scrubbing;
+ERROR HY000: Variable 'innodb_debug_force_scrubbing' is a GLOBAL variable
+show global variables like 'innodb_debug_force_scrubbing';
+Variable_name Value
+innodb_debug_force_scrubbing OFF
+show session variables like 'innodb_debug_force_scrubbing';
+Variable_name Value
+innodb_debug_force_scrubbing OFF
+select * from information_schema.global_variables
+where variable_name='innodb_debug_force_scrubbing';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DEBUG_FORCE_SCRUBBING OFF
+select * from information_schema.session_variables
+where variable_name='innodb_debug_force_scrubbing';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DEBUG_FORCE_SCRUBBING OFF
+#
+# show that it's writable
+#
+set global innodb_debug_force_scrubbing=ON;
+select @@global.innodb_debug_force_scrubbing;
+@@global.innodb_debug_force_scrubbing
+1
+set global innodb_debug_force_scrubbing=OFF;
+select @@global.innodb_debug_force_scrubbing;
+@@global.innodb_debug_force_scrubbing
+0
+set global innodb_debug_force_scrubbing=1;
+select @@global.innodb_debug_force_scrubbing;
+@@global.innodb_debug_force_scrubbing
+1
+set session innodb_debug_force_scrubbing=1;
+ERROR HY000: Variable 'innodb_debug_force_scrubbing' is a GLOBAL variable and should be set with SET GLOBAL
+#
+# incorrect types
+#
+set global innodb_debug_force_scrubbing=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_debug_force_scrubbing'
+set global innodb_debug_force_scrubbing=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_debug_force_scrubbing'
+set global innodb_debug_force_scrubbing="foo";
+ERROR 42000: Variable 'innodb_debug_force_scrubbing' can't be set to the value of 'foo'
+SET @@global.innodb_debug_force_scrubbing = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_default_row_format_basic.result b/mysql-test/suite/sys_vars/r/innodb_default_row_format_basic.result
new file mode 100644
index 00000000000..971b8b9d243
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_default_row_format_basic.result
@@ -0,0 +1,48 @@
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+compact
+SET GLOBAL innodb_default_row_format = 'redundant';
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+redundant
+SET GLOBAL innodb_default_row_format = 'dynamic';
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+dynamic
+SET GLOBAL innodb_default_row_format = 'compact';
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+compact
+SET GLOBAL innodb_default_row_format = 'compressed';
+ERROR 42000: Variable 'innodb_default_row_format' can't be set to the value of 'compressed'
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+compact
+SET GLOBAL innodb_default_row_format = 'foobar';
+ERROR 42000: Variable 'innodb_default_row_format' can't be set to the value of 'foobar'
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+compact
+SET GLOBAL innodb_default_row_format = 0;
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+redundant
+SET GLOBAL innodb_default_row_format = 1;
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+compact
+SET GLOBAL innodb_default_row_format = 2;
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+dynamic
+SET GLOBAL innodb_default_row_format = 3;
+ERROR 42000: Variable 'innodb_default_row_format' can't be set to the value of '3'
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+dynamic
+SET GLOBAL innodb_default_row_format = 123;
+ERROR 42000: Variable 'innodb_default_row_format' can't be set to the value of '123'
+SELECT @@global.innodb_default_row_format;
+@@global.innodb_default_row_format
+dynamic
+SET GLOBAL innodb_default_row_format = default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_defragment_basic.result b/mysql-test/suite/sys_vars/r/innodb_defragment_basic.result
new file mode 100644
index 00000000000..916bb5ca1a9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_defragment_basic.result
@@ -0,0 +1,18 @@
+SET @orig = @@global.innodb_defragment;
+SELECT @orig;
+@orig
+0
+SET GLOBAL innodb_defragment = OFF;
+SELECT @@global.innodb_defragment;
+@@global.innodb_defragment
+0
+SET GLOBAL innodb_defragment = ON;
+SELECT @@global.innodb_defragment;
+@@global.innodb_defragment
+1
+SET GLOBAL innodb_defragment = 100;
+ERROR 42000: Variable 'innodb_defragment' can't be set to the value of '100'
+SELECT @@global.innodb_defragment;
+@@global.innodb_defragment
+1
+SET GLOBAL innodb_defragment = @orig;
diff --git a/mysql-test/suite/sys_vars/r/innodb_defragment_fill_factor_basic.result b/mysql-test/suite/sys_vars/r/innodb_defragment_fill_factor_basic.result
new file mode 100644
index 00000000000..93a5af727c3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_defragment_fill_factor_basic.result
@@ -0,0 +1,37 @@
+SET @start_innodb_defragment_fill_factor = @@global.innodb_defragment_fill_factor;
+SELECT @start_innodb_defragment_fill_factor;
+@start_innodb_defragment_fill_factor
+0.9
+SELECT COUNT(@@global.innodb_defragment_fill_factor);
+COUNT(@@global.innodb_defragment_fill_factor)
+1
+SET @@global.innodb_defragment_fill_factor = 0.77777777777777;
+SELECT @@global.innodb_defragment_fill_factor;
+@@global.innodb_defragment_fill_factor
+0.777778
+SET @@global.innodb_defragment_fill_factor = 1;
+SELECT @@global.innodb_defragment_fill_factor;
+@@global.innodb_defragment_fill_factor
+1.000000
+SET @@global.innodb_defragment_fill_factor = 0.7;
+SELECT @@global.innodb_defragment_fill_factor;
+@@global.innodb_defragment_fill_factor
+0.700000
+SET @@global.innodb_defragment_fill_factor = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_fill_factor value: '-1'
+SELECT @@global.innodb_defragment_fill_factor;
+@@global.innodb_defragment_fill_factor
+0.700000
+SET @@global.innodb_defragment_fill_factor = 2;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_fill_factor value: '2'
+SELECT @@global.innodb_defragment_fill_factor;
+@@global.innodb_defragment_fill_factor
+1.000000
+SET @@global.innodb_defragment_fill_factor = "abc";
+ERROR 42000: Incorrect argument type to variable 'innodb_defragment_fill_factor'
+SELECT @@global.innodb_defragment_fill_factor;
+@@global.innodb_defragment_fill_factor
+1.000000
+SET @@global.innodb_defragment_fill_factor = @start_innodb_defragment_fill_factor;
diff --git a/mysql-test/suite/sys_vars/r/innodb_defragment_fill_factor_n_recs_basic.result b/mysql-test/suite/sys_vars/r/innodb_defragment_fill_factor_n_recs_basic.result
new file mode 100644
index 00000000000..ffbeb39fe33
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_defragment_fill_factor_n_recs_basic.result
@@ -0,0 +1,42 @@
+SET @start_innodb_defragment_fill_factor_n_recs = @@global.innodb_defragment_fill_factor_n_recs;
+SELECT @start_innodb_defragment_fill_factor_n_recs;
+@start_innodb_defragment_fill_factor_n_recs
+20
+SELECT COUNT(@@global.innodb_defragment_fill_factor_n_recs);
+COUNT(@@global.innodb_defragment_fill_factor_n_recs)
+1
+SET @@global.innodb_defragment_fill_factor_n_recs = 50;
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+@@global.innodb_defragment_fill_factor_n_recs
+50
+SET @@global.innodb_defragment_fill_factor_n_recs = 100;
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+@@global.innodb_defragment_fill_factor_n_recs
+100
+SET @@global.innodb_defragment_fill_factor_n_recs = 1;
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+@@global.innodb_defragment_fill_factor_n_recs
+1
+SET @@global.innodb_defragment_fill_factor_n_recs = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_fill_factor_n_ value: '-1'
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+@@global.innodb_defragment_fill_factor_n_recs
+1
+SET @@global.innodb_defragment_fill_factor_n_recs = 10000;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_fill_factor_n_ value: '10000'
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+@@global.innodb_defragment_fill_factor_n_recs
+100
+SET @@global.innodb_defragment_fill_factor_n_recs = 10.5;
+ERROR 42000: Incorrect argument type to variable 'innodb_defragment_fill_factor_n_recs'
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+@@global.innodb_defragment_fill_factor_n_recs
+100
+SET @@global.innodb_defragment_fill_factor_n_recs = "abc";
+ERROR 42000: Incorrect argument type to variable 'innodb_defragment_fill_factor_n_recs'
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+@@global.innodb_defragment_fill_factor_n_recs
+100
+SET @@global.innodb_defragment_fill_factor_n_recs = @start_innodb_defragment_fill_factor_n_recs;
diff --git a/mysql-test/suite/sys_vars/r/innodb_defragment_frequency_basic.result b/mysql-test/suite/sys_vars/r/innodb_defragment_frequency_basic.result
new file mode 100644
index 00000000000..d4314d6506e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_defragment_frequency_basic.result
@@ -0,0 +1,42 @@
+SET @start_innodb_defragment_frequency = @@global.innodb_defragment_frequency;
+SELECT @start_innodb_defragment_frequency;
+@start_innodb_defragment_frequency
+40
+SELECT COUNT(@@global.innodb_defragment_frequency);
+COUNT(@@global.innodb_defragment_frequency)
+1
+SET @@global.innodb_defragment_frequency = 200;
+SELECT @@global.innodb_defragment_frequency;
+@@global.innodb_defragment_frequency
+200
+SET @@global.innodb_defragment_frequency = 1;
+SELECT @@global.innodb_defragment_frequency;
+@@global.innodb_defragment_frequency
+1
+SET @@global.innodb_defragment_frequency = 1000;
+SELECT @@global.innodb_defragment_frequency;
+@@global.innodb_defragment_frequency
+1000
+SET @@global.innodb_defragment_frequency = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_frequency value: '-1'
+SELECT @@global.innodb_defragment_frequency;
+@@global.innodb_defragment_frequency
+1
+SET @@global.innodb_defragment_frequency = 10000;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_frequency value: '10000'
+SELECT @@global.innodb_defragment_frequency;
+@@global.innodb_defragment_frequency
+1000
+SET @@global.innodb_defragment_frequency = 10.5;
+ERROR 42000: Incorrect argument type to variable 'innodb_defragment_frequency'
+SELECT @@global.innodb_defragment_frequency;
+@@global.innodb_defragment_frequency
+1000
+SET @@global.innodb_defragment_frequency = "abc";
+ERROR 42000: Incorrect argument type to variable 'innodb_defragment_frequency'
+SELECT @@global.innodb_defragment_frequency;
+@@global.innodb_defragment_frequency
+1000
+SET @@global.innodb_defragment_frequency = @start_innodb_defragment_frequency;
diff --git a/mysql-test/suite/sys_vars/r/innodb_defragment_n_pages_basic.result b/mysql-test/suite/sys_vars/r/innodb_defragment_n_pages_basic.result
new file mode 100644
index 00000000000..99b68b39ec4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_defragment_n_pages_basic.result
@@ -0,0 +1,28 @@
+SET @start_innodb_defragment_n_pages = @@global.innodb_defragment_n_pages;
+SELECT @start_innodb_defragment_n_pages;
+@start_innodb_defragment_n_pages
+7
+SELECT COUNT(@@global.innodb_defragment_n_pages);
+COUNT(@@global.innodb_defragment_n_pages)
+1
+SET @@global.innodb_defragment_n_pages = 1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_n_pages value: '1'
+SELECT @@global.innodb_defragment_n_pages;
+@@global.innodb_defragment_n_pages
+2
+SET @@global.innodb_defragment_n_pages = 2;
+SELECT @@global.innodb_defragment_n_pages;
+@@global.innodb_defragment_n_pages
+2
+SET @@global.innodb_defragment_n_pages = 32;
+SELECT @@global.innodb_defragment_n_pages;
+@@global.innodb_defragment_n_pages
+32
+SET @@global.innodb_defragment_n_pages = 64;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_n_pages value: '64'
+SELECT @@global.innodb_defragment_n_pages;
+@@global.innodb_defragment_n_pages
+32
+SET @@global.innodb_defragment_n_pages = @start_innodb_defragment_n_pages;
diff --git a/mysql-test/suite/sys_vars/r/innodb_defragment_stats_accuracy_basic.result b/mysql-test/suite/sys_vars/r/innodb_defragment_stats_accuracy_basic.result
new file mode 100644
index 00000000000..025dacdb1ec
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_defragment_stats_accuracy_basic.result
@@ -0,0 +1,33 @@
+SET @start_innodb_defragment_stats_accuracy = @@global.innodb_defragment_stats_accuracy;
+SELECT @start_innodb_defragment_stats_accuracy;
+@start_innodb_defragment_stats_accuracy
+0
+SELECT COUNT(@@global.innodb_defragment_stats_accuracy);
+COUNT(@@global.innodb_defragment_stats_accuracy)
+1
+SET @@global.innodb_defragment_stats_accuracy = 1;
+SELECT @@global.innodb_defragment_stats_accuracy;
+@@global.innodb_defragment_stats_accuracy
+1
+SET @@global.innodb_defragment_stats_accuracy = 1000;
+SELECT @@global.innodb_defragment_stats_accuracy;
+@@global.innodb_defragment_stats_accuracy
+1000
+SET @@global.innodb_defragment_stats_accuracy = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_stats_accuracy value: '-1'
+SELECT @@global.innodb_defragment_stats_accuracy;
+@@global.innodb_defragment_stats_accuracy
+0
+SET @@global.innodb_defragment_stats_accuracy = 1000000000000;
+Warnings:
+Warning 1292 Truncated incorrect innodb_defragment_stats_accuracy value: '1000000000000'
+SELECT @@global.innodb_defragment_stats_accuracy;
+@@global.innodb_defragment_stats_accuracy
+4294967295
+SET @@global.innodb_defragment_stats_accuracy = "abc";
+ERROR 42000: Incorrect argument type to variable 'innodb_defragment_stats_accuracy'
+SELECT @@global.innodb_defragment_stats_accuracy;
+@@global.innodb_defragment_stats_accuracy
+4294967295
+SET @@global.innodb_defragment_stats_accuracy = @start_innodb_defragment_stats_accuracy;
diff --git a/mysql-test/suite/sys_vars/r/innodb_disable_background_merge_basic.result b/mysql-test/suite/sys_vars/r/innodb_disable_background_merge_basic.result
new file mode 100644
index 00000000000..c4bf621a33d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_disable_background_merge_basic.result
@@ -0,0 +1,4 @@
+SET @orig = @@global.innodb_disable_background_merge;
+SELECT @orig;
+@orig
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_disable_sort_file_cache_basic.result b/mysql-test/suite/sys_vars/r/innodb_disable_sort_file_cache_basic.result
new file mode 100644
index 00000000000..ed5f9415861
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_disable_sort_file_cache_basic.result
@@ -0,0 +1,92 @@
+SET @start_global_value = @@global.innodb_disable_sort_file_cache;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_disable_sort_file_cache in (0, 1);
+@@global.innodb_disable_sort_file_cache in (0, 1)
+1
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+0
+select @@session.innodb_disable_sort_file_cache;
+ERROR HY000: Variable 'innodb_disable_sort_file_cache' is a GLOBAL variable
+show global variables like 'innodb_disable_sort_file_cache';
+Variable_name Value
+innodb_disable_sort_file_cache OFF
+show session variables like 'innodb_disable_sort_file_cache';
+Variable_name Value
+innodb_disable_sort_file_cache OFF
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE OFF
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE OFF
+set global innodb_disable_sort_file_cache='OFF';
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+0
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE OFF
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE OFF
+set @@global.innodb_disable_sort_file_cache=1;
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+1
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE ON
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE ON
+set global innodb_disable_sort_file_cache=0;
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+0
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE OFF
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE OFF
+set @@global.innodb_disable_sort_file_cache='ON';
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+1
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE ON
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE ON
+set session innodb_disable_sort_file_cache='OFF';
+ERROR HY000: Variable 'innodb_disable_sort_file_cache' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_disable_sort_file_cache='ON';
+ERROR HY000: Variable 'innodb_disable_sort_file_cache' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_disable_sort_file_cache=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_disable_sort_file_cache'
+set global innodb_disable_sort_file_cache=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_disable_sort_file_cache'
+set global innodb_disable_sort_file_cache=2;
+ERROR 42000: Variable 'innodb_disable_sort_file_cache' can't be set to the value of '2'
+set global innodb_disable_sort_file_cache=-3;
+ERROR 42000: Variable 'innodb_disable_sort_file_cache' can't be set to the value of '-3'
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+1
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE ON
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE ON
+set global innodb_disable_sort_file_cache='AUTO';
+ERROR 42000: Variable 'innodb_disable_sort_file_cache' can't be set to the value of 'AUTO'
+SET @@global.innodb_disable_sort_file_cache = @start_global_value;
+SELECT @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_disallow_writes_basic.result b/mysql-test/suite/sys_vars/r/innodb_disallow_writes_basic.result
new file mode 100644
index 00000000000..bfb6b67b5d8
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_disallow_writes_basic.result
@@ -0,0 +1,45 @@
+#
+# innodb_disallow_writes
+#
+# save the initial value
+SET @innodb_disallow_writes_global_saved = @@global.innodb_disallow_writes;
+# default
+SELECT @@global.innodb_disallow_writes;
+@@global.innodb_disallow_writes
+0
+
+# scope
+SELECT @@session.innodb_disallow_writes;
+ERROR HY000: Variable 'innodb_disallow_writes' is a GLOBAL variable
+SET @@global.innodb_disallow_writes=OFF;
+SELECT @@global.innodb_disallow_writes;
+@@global.innodb_disallow_writes
+0
+SET @@global.innodb_disallow_writes=ON;
+SELECT @@global.innodb_disallow_writes;
+@@global.innodb_disallow_writes
+1
+
+# valid values
+SET @@global.innodb_disallow_writes='OFF';
+SELECT @@global.innodb_disallow_writes;
+@@global.innodb_disallow_writes
+0
+SET @@global.innodb_disallow_writes=ON;
+SELECT @@global.innodb_disallow_writes;
+@@global.innodb_disallow_writes
+1
+SET @@global.innodb_disallow_writes=default;
+SELECT @@global.innodb_disallow_writes;
+@@global.innodb_disallow_writes
+0
+
+# invalid values
+SET @@global.innodb_disallow_writes=NULL;
+ERROR 42000: Variable 'innodb_disallow_writes' can't be set to the value of 'NULL'
+SET @@global.innodb_disallow_writes='junk';
+ERROR 42000: Variable 'innodb_disallow_writes' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.innodb_disallow_writes = @innodb_disallow_writes_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/innodb_doublewrite_batch_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_doublewrite_batch_size_basic.result
new file mode 100644
index 00000000000..cec90ea8950
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_doublewrite_batch_size_basic.result
@@ -0,0 +1,24 @@
+select @@global.innodb_doublewrite_batch_size between 1 and 127;
+@@global.innodb_doublewrite_batch_size between 1 and 127
+1
+select @@global.innodb_doublewrite_batch_size;
+@@global.innodb_doublewrite_batch_size
+120
+select @@session.innodb_doublewrite_batch_size;
+ERROR HY000: Variable 'innodb_doublewrite_batch_size' is a GLOBAL variable
+show global variables like 'innodb_doublewrite_batch_size';
+Variable_name Value
+innodb_doublewrite_batch_size 120
+show session variables like 'innodb_doublewrite_batch_size';
+Variable_name Value
+innodb_doublewrite_batch_size 120
+select * from information_schema.global_variables where variable_name='innodb_doublewrite_batch_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DOUBLEWRITE_BATCH_SIZE 120
+select * from information_schema.session_variables where variable_name='innodb_doublewrite_batch_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_DOUBLEWRITE_BATCH_SIZE 120
+set global innodb_doublewrite_batch_size=1;
+ERROR HY000: Variable 'innodb_doublewrite_batch_size' is a read only variable
+set @@session.innodb_doublewrite_batch_size='some';
+ERROR HY000: Variable 'innodb_doublewrite_batch_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_empty_free_list_algorithm_basic.result b/mysql-test/suite/sys_vars/r/innodb_empty_free_list_algorithm_basic.result
new file mode 100644
index 00000000000..6a1c6df9c89
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_empty_free_list_algorithm_basic.result
@@ -0,0 +1,23 @@
+SET @start_value = @@GLOBAL.innodb_empty_free_list_algorithm;
+SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
+@@GLOBAL.innodb_empty_free_list_algorithm
+LEGACY
+SELECT @@SESSION.innodb_empty_free_list_algorithm;
+ERROR HY000: Variable 'innodb_empty_free_list_algorithm' is a GLOBAL variable
+SET GLOBAL innodb_empty_free_list_algorithm='legacy';
+SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
+@@GLOBAL.innodb_empty_free_list_algorithm
+LEGACY
+SET GLOBAL innodb_empty_free_list_algorithm='backoff';
+SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
+@@GLOBAL.innodb_empty_free_list_algorithm
+BACKOFF
+SET GLOBAL innodb_empty_free_list_algorithm=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_empty_free_list_algorithm'
+SET GLOBAL innodb_empty_free_list_algorithm=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_empty_free_list_algorithm'
+SET GLOBAL innodb_empty_free_list_algorithm=2;
+ERROR 42000: Variable 'innodb_empty_free_list_algorithm' can't be set to the value of '2'
+SET GLOBAL innodb_empty_free_list_algorithm='foo';
+ERROR 42000: Variable 'innodb_empty_free_list_algorithm' can't be set to the value of 'foo'
+SET GLOBAL innodb_empty_free_list_algorithm = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_encrypt_log_basic.result b/mysql-test/suite/sys_vars/r/innodb_encrypt_log_basic.result
new file mode 100644
index 00000000000..4beb1a01edf
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_encrypt_log_basic.result
@@ -0,0 +1,48 @@
+SELECT @@GLOBAL.innodb_encrypt_log;
+@@GLOBAL.innodb_encrypt_log
+0
+0 Expected
+SET @@GLOBAL.innodb_encrypt_log=1;
+ERROR HY000: Variable 'innodb_encrypt_log' is a read only variable
+Expected error 'Read only variable'
+SELECT @@GLOBAL.innodb_encrypt_log;
+@@GLOBAL.innodb_encrypt_log
+0
+0 Expected
+SELECT IF(@@GLOBAL.innodb_encrypt_log, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_encrypt_log';
+IF(@@GLOBAL.innodb_encrypt_log, 'ON', 'OFF') = VARIABLE_VALUE
+1
+1 Expected
+SELECT @@GLOBAL.innodb_encrypt_log;
+@@GLOBAL.innodb_encrypt_log
+0
+0 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_encrypt_log';
+VARIABLE_VALUE
+OFF
+0 Expected
+SELECT @@innodb_encrypt_log = @@GLOBAL.innodb_encrypt_log;
+@@innodb_encrypt_log = @@GLOBAL.innodb_encrypt_log
+1
+1 Expected
+SELECT @@innodb_encrypt_log;
+@@innodb_encrypt_log
+0
+0 Expected
+SELECT COUNT(@@local.innodb_encrypt_log);
+ERROR HY000: Variable 'innodb_encrypt_log' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_encrypt_log);
+ERROR HY000: Variable 'innodb_encrypt_log' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@GLOBAL.innodb_encrypt_log;
+@@GLOBAL.innodb_encrypt_log
+0
+0 Expected
+SELECT innodb_encrypt_log;
+ERROR 42S22: Unknown column 'innodb_encrypt_log' in 'field list'
+Expected error 'Unknown column in field list'
diff --git a/mysql-test/suite/sys_vars/r/innodb_encrypt_tables_basic.result b/mysql-test/suite/sys_vars/r/innodb_encrypt_tables_basic.result
new file mode 100644
index 00000000000..ff48f6dfab0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_encrypt_tables_basic.result
@@ -0,0 +1,47 @@
+SET @start_global_value = @@global.innodb_encrypt_tables;
+select @@global.innodb_encrypt_tables;
+@@global.innodb_encrypt_tables
+OFF
+select @@session.innodb_encrypt_tables;
+ERROR HY000: Variable 'innodb_encrypt_tables' is a GLOBAL variable
+show global variables like 'innodb_encrypt_tables';
+Variable_name Value
+innodb_encrypt_tables OFF
+show session variables like 'innodb_encrypt_tables';
+Variable_name Value
+innodb_encrypt_tables OFF
+select * from information_schema.global_variables
+where variable_name='innodb_encrypt_tables';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ENCRYPT_TABLES OFF
+select * from information_schema.session_variables
+where variable_name='innodb_encrypt_tables';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ENCRYPT_TABLES OFF
+set global innodb_encrypt_tables=ON;
+ERROR 42000: Variable 'innodb_encrypt_tables' can't be set to the value of 'ON'
+show warnings;
+Level Code Message
+Warning 138 InnoDB: cannot enable encryption, encryption plugin is not available
+Error 1231 Variable 'innodb_encrypt_tables' can't be set to the value of 'ON'
+select @@global.innodb_encrypt_tables;
+@@global.innodb_encrypt_tables
+OFF
+set global innodb_encrypt_tables=OFF;
+select @@global.innodb_encrypt_tables;
+@@global.innodb_encrypt_tables
+OFF
+set global innodb_encrypt_tables=1;
+ERROR 42000: Variable 'innodb_encrypt_tables' can't be set to the value of '1'
+select @@global.innodb_encrypt_tables;
+@@global.innodb_encrypt_tables
+OFF
+set session innodb_encrypt_tables=1;
+ERROR HY000: Variable 'innodb_encrypt_tables' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_encrypt_tables=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_encrypt_tables'
+set global innodb_encrypt_tables=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_encrypt_tables'
+set global innodb_encrypt_tables="foo";
+ERROR 42000: Variable 'innodb_encrypt_tables' can't be set to the value of 'foo'
+SET @@global.innodb_encrypt_tables = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_encryption_rotate_key_age_basic.result b/mysql-test/suite/sys_vars/r/innodb_encryption_rotate_key_age_basic.result
new file mode 100644
index 00000000000..9f4c672f719
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_encryption_rotate_key_age_basic.result
@@ -0,0 +1,41 @@
+SET @start_global_value = @@global.innodb_encryption_rotate_key_age;
+select @@global.innodb_encryption_rotate_key_age;
+@@global.innodb_encryption_rotate_key_age
+1
+select @@session.innodb_encryption_rotate_key_age;
+ERROR HY000: Variable 'innodb_encryption_rotate_key_age' is a GLOBAL variable
+show global variables like 'innodb_encryption_rotate_key_age';
+Variable_name Value
+innodb_encryption_rotate_key_age 1
+show session variables like 'innodb_encryption_rotate_key_age';
+Variable_name Value
+innodb_encryption_rotate_key_age 1
+select * from information_schema.global_variables
+where variable_name='innodb_encryption_rotate_key_age';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ENCRYPTION_ROTATE_KEY_AGE 1
+select * from information_schema.session_variables
+where variable_name='innodb_encryption_rotate_key_age';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ENCRYPTION_ROTATE_KEY_AGE 1
+set global innodb_encryption_rotate_key_age=1;
+select @@global.innodb_encryption_rotate_key_age;
+@@global.innodb_encryption_rotate_key_age
+1
+set global innodb_encryption_rotate_key_age=2;
+select @@global.innodb_encryption_rotate_key_age;
+@@global.innodb_encryption_rotate_key_age
+2
+set global innodb_encryption_rotate_key_age=1;
+select @@global.innodb_encryption_rotate_key_age;
+@@global.innodb_encryption_rotate_key_age
+1
+set session innodb_encryption_rotate_key_age=1;
+ERROR HY000: Variable 'innodb_encryption_rotate_key_age' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_encryption_rotate_key_age=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_encryption_rotate_key_age'
+set global innodb_encryption_rotate_key_age=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_encryption_rotate_key_age'
+set global innodb_encryption_rotate_key_age="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_encryption_rotate_key_age'
+SET @@global.innodb_encryption_rotate_key_age = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_encryption_rotation_iops_basic.result b/mysql-test/suite/sys_vars/r/innodb_encryption_rotation_iops_basic.result
new file mode 100644
index 00000000000..5a7267d2815
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_encryption_rotation_iops_basic.result
@@ -0,0 +1,41 @@
+SET @start_global_value = @@global.innodb_encryption_rotation_iops;
+select @@global.innodb_encryption_rotation_iops;
+@@global.innodb_encryption_rotation_iops
+100
+select @@session.innodb_encryption_rotation_iops;
+ERROR HY000: Variable 'innodb_encryption_rotation_iops' is a GLOBAL variable
+show global variables like 'innodb_encryption_rotation_iops';
+Variable_name Value
+innodb_encryption_rotation_iops 100
+show session variables like 'innodb_encryption_rotation_iops';
+Variable_name Value
+innodb_encryption_rotation_iops 100
+select * from information_schema.global_variables
+where variable_name='innodb_encryption_rotation_iops';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ENCRYPTION_ROTATION_IOPS 100
+select * from information_schema.session_variables
+where variable_name='innodb_encryption_rotation_iops';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ENCRYPTION_ROTATION_IOPS 100
+set global innodb_encryption_rotation_iops=100;
+select @@global.innodb_encryption_rotation_iops;
+@@global.innodb_encryption_rotation_iops
+100
+set global innodb_encryption_rotation_iops=50;
+select @@global.innodb_encryption_rotation_iops;
+@@global.innodb_encryption_rotation_iops
+50
+set global innodb_encryption_rotation_iops=100;
+select @@global.innodb_encryption_rotation_iops;
+@@global.innodb_encryption_rotation_iops
+100
+set session innodb_encryption_rotation_iops=50;
+ERROR HY000: Variable 'innodb_encryption_rotation_iops' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_encryption_rotation_iops=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_encryption_rotation_iops'
+set global innodb_encryption_rotation_iops=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_encryption_rotation_iops'
+set global innodb_encryption_rotation_iops="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_encryption_rotation_iops'
+SET @@global.innodb_encryption_rotation_iops = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_encryption_threads_basic.result b/mysql-test/suite/sys_vars/r/innodb_encryption_threads_basic.result
new file mode 100644
index 00000000000..727a08c9cc6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_encryption_threads_basic.result
@@ -0,0 +1,41 @@
+SET @start_global_value = @@global.innodb_encryption_threads;
+select @@global.innodb_encryption_threads;
+@@global.innodb_encryption_threads
+0
+select @@session.innodb_encryption_threads;
+ERROR HY000: Variable 'innodb_encryption_threads' is a GLOBAL variable
+show global variables like 'innodb_encryption_threads';
+Variable_name Value
+innodb_encryption_threads 0
+show session variables like 'innodb_encryption_threads';
+Variable_name Value
+innodb_encryption_threads 0
+select * from information_schema.global_variables
+where variable_name='innodb_encryption_threads';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ENCRYPTION_THREADS 0
+select * from information_schema.session_variables
+where variable_name='innodb_encryption_threads';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ENCRYPTION_THREADS 0
+set global innodb_encryption_threads=0;
+select @@global.innodb_encryption_threads;
+@@global.innodb_encryption_threads
+0
+set global innodb_encryption_threads=5;
+select @@global.innodb_encryption_threads;
+@@global.innodb_encryption_threads
+5
+set global innodb_encryption_threads=1;
+select @@global.innodb_encryption_threads;
+@@global.innodb_encryption_threads
+1
+set session innodb_encryption_threads=1;
+ERROR HY000: Variable 'innodb_encryption_threads' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_encryption_threads=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_encryption_threads'
+set global innodb_encryption_threads=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_encryption_threads'
+set global innodb_encryption_threads="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_encryption_threads'
+SET @@global.innodb_encryption_threads = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_fatal_semaphore_wait_threshold.result b/mysql-test/suite/sys_vars/r/innodb_fatal_semaphore_wait_threshold.result
new file mode 100644
index 00000000000..a6da229808e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_fatal_semaphore_wait_threshold.result
@@ -0,0 +1,25 @@
+# Establish connection con1 (user=root)
+# Establish connection con2 (user=root)
+drop table if exists t1;
+# Switch to connection con1
+create table t1 (id integer, x integer) engine = InnoDB;
+insert into t1 values(0, 0);
+set DEBUG_DBUG='+d,fatal-semaphore-timeout';
+set autocommit=0;
+# Sending query on con1,
+# the session will hold lock table mutex and sleep
+SELECT * from t1 where id = 0 FOR UPDATE;
+# Switch to connection con2
+set autocommit=0;
+# Sending query on con2,
+# the session will be blocked on the lock table mutex and
+# thus be put into sync arry
+SELECT * from t1 where id = 0 FOR UPDATE;
+# Switched to the default connection
+# Waitting for mysqld to crash
+# Mysqld crash was detected
+# Waitting for reconnect after mysqld restarts
+# Reconnected after mysqld was successfully restarted
+# Cleaning up before exit
+drop table if exists t1;
+# Clean exit
diff --git a/mysql-test/suite/sys_vars/r/innodb_fatal_semaphore_wait_threshold_basic.result b/mysql-test/suite/sys_vars/r/innodb_fatal_semaphore_wait_threshold_basic.result
new file mode 100644
index 00000000000..4e1f4721530
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_fatal_semaphore_wait_threshold_basic.result
@@ -0,0 +1,21 @@
+select @@global.innodb_fatal_semaphore_wait_threshold;
+@@global.innodb_fatal_semaphore_wait_threshold
+600
+select @@session.innodb_fatal_semaphore_wait_threshold;
+ERROR HY000: Variable 'innodb_fatal_semaphore_wait_threshold' is a GLOBAL variable
+show global variables like 'innodb_fatal_semaphore_wait_threshold';
+Variable_name Value
+innodb_fatal_semaphore_wait_threshold 600
+show session variables like 'innodb_fatal_semaphore_wait_threshold';
+Variable_name Value
+innodb_fatal_semaphore_wait_threshold 600
+select * from information_schema.global_variables where variable_name='innodb_fatal_semaphore_wait_threshold';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FATAL_SEMAPHORE_WAIT_THRESHOLD 600
+select * from information_schema.session_variables where variable_name='innodb_fatal_semaphore_wait_threshold';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FATAL_SEMAPHORE_WAIT_THRESHOLD 600
+set global innodb_fatal_semaphore_wait_threshold=1;
+ERROR HY000: Variable 'innodb_fatal_semaphore_wait_threshold' is a read only variable
+set session innodb_fatal_semaphore_wait_threshold=1;
+ERROR HY000: Variable 'innodb_fatal_semaphore_wait_threshold' is a read only variable
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
new file mode 100644
index 00000000000..abf2cdaf1c4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_fil_make_page_dirty_debug_basic.result
@@ -0,0 +1,26 @@
+#
+# Basic test for innodb_fil_make_page_dirty_debug.
+#
+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;
+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;
+set global innodb_fil_make_page_dirty_debug = dummy;
+ERROR 42000: Incorrect argument type to variable 'innodb_fil_make_page_dirty_debug'
+set innodb_fil_make_page_dirty_debug = ON;
+ERROR HY000: Variable 'innodb_fil_make_page_dirty_debug' is a GLOBAL variable and should be set with SET GLOBAL
+# An example usage.
+create table t1 (f1 int primary key) engine = innodb;
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+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
diff --git a/mysql-test/suite/sys_vars/r/innodb_file_per_table_basic.result b/mysql-test/suite/sys_vars/r/innodb_file_per_table_basic.result
index ecf11351cd9..9780357e69f 100644
--- a/mysql-test/suite/sys_vars/r/innodb_file_per_table_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_file_per_table_basic.result
@@ -1,7 +1,7 @@
SET @start_global_value = @@global.innodb_file_per_table;
SELECT @start_global_value;
@start_global_value
-0
+1
'#---------------------BS_STVARS_028_01----------------------#'
SELECT COUNT(@@GLOBAL.innodb_file_per_table);
COUNT(@@GLOBAL.innodb_file_per_table)
@@ -66,4 +66,4 @@ ERROR 42S22: Unknown column 'innodb_file_per_table' in 'field list'
SET @@global.innodb_file_per_table = @start_global_value;
SELECT @@global.innodb_file_per_table;
@@global.innodb_file_per_table
-0
+1
diff --git a/mysql-test/suite/sys_vars/r/innodb_flush_log_at_timeout_basic.result b/mysql-test/suite/sys_vars/r/innodb_flush_log_at_timeout_basic.result
new file mode 100644
index 00000000000..60a4081849f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_flush_log_at_timeout_basic.result
@@ -0,0 +1,96 @@
+SET @global_start_value = @@global.innodb_flush_log_at_timeout;
+SELECT @global_start_value;
+@global_start_value
+1
+'#--------------------FN_DYNVARS_046_01------------------------#'
+SET @@global.innodb_flush_log_at_timeout = 0;
+SET @@global.innodb_flush_log_at_timeout = DEFAULT;
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+1
+'#---------------------FN_DYNVARS_046_02-------------------------#'
+SET innodb_flush_log_at_timeout = 1;
+ERROR HY000: Variable 'innodb_flush_log_at_timeout' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@innodb_flush_log_at_timeout;
+@@innodb_flush_log_at_timeout
+1
+SELECT local.innodb_flush_log_at_timeout;
+ERROR 42S02: Unknown table 'local' in field list
+SET global innodb_flush_log_at_timeout = 0;
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+0
+'#--------------------FN_DYNVARS_046_03------------------------#'
+SET @@global.innodb_flush_log_at_timeout = 0;
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+0
+SET @@global.innodb_flush_log_at_timeout = 10;
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+10
+SET @@global.innodb_flush_log_at_timeout = 2700;
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+2700
+'#--------------------FN_DYNVARS_046_04-------------------------#'
+SET @@global.innodb_flush_log_at_timeout = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_flush_log_at_timeout value: '-1'
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+0
+SET @@global.innodb_flush_log_at_timeout = "T";
+ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_timeout'
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+0
+SET @@global.innodb_flush_log_at_timeout = "Y";
+ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_timeout'
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+0
+SET @@global.innodb_flush_log_at_timeout = 2701;
+Warnings:
+Warning 1292 Truncated incorrect innodb_flush_log_at_timeout value: '2701'
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+2700
+'#----------------------FN_DYNVARS_046_05------------------------#'
+SELECT @@global.innodb_flush_log_at_timeout =
+VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_flush_log_at_timeout';
+@@global.innodb_flush_log_at_timeout =
+VARIABLE_VALUE
+1
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+2700
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_flush_log_at_timeout';
+VARIABLE_VALUE
+2700
+'#---------------------FN_DYNVARS_046_06-------------------------#'
+SET @@global.innodb_flush_log_at_timeout = OFF;
+ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_timeout'
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+2700
+SET @@global.innodb_flush_log_at_timeout = ON;
+ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_timeout'
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+2700
+'#---------------------FN_DYNVARS_046_07----------------------#'
+SET @@global.innodb_flush_log_at_timeout = TRUE;
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+1
+SET @@global.innodb_flush_log_at_timeout = FALSE;
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+0
+SET @@global.innodb_flush_log_at_timeout = @global_start_value;
+SELECT @@global.innodb_flush_log_at_timeout;
+@@global.innodb_flush_log_at_timeout
+1
diff --git a/mysql-test/suite/sys_vars/r/innodb_flush_log_at_trx_commit_basic.result b/mysql-test/suite/sys_vars/r/innodb_flush_log_at_trx_commit_basic.result
index 441fb4cd362..268d40c1be3 100644
--- a/mysql-test/suite/sys_vars/r/innodb_flush_log_at_trx_commit_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_flush_log_at_trx_commit_basic.result
@@ -50,7 +50,7 @@ Warnings:
Warning 1292 Truncated incorrect innodb_flush_log_at_trx_commit value: '1001'
SELECT @@global.innodb_flush_log_at_trx_commit;
@@global.innodb_flush_log_at_trx_commit
-2
+3
'#----------------------FN_DYNVARS_046_05------------------------#'
SELECT @@global.innodb_flush_log_at_trx_commit =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
@@ -60,22 +60,22 @@ VARIABLE_VALUE
1
SELECT @@global.innodb_flush_log_at_trx_commit;
@@global.innodb_flush_log_at_trx_commit
-2
+3
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit';
VARIABLE_VALUE
-2
+3
'#---------------------FN_DYNVARS_046_06-------------------------#'
SET @@global.innodb_flush_log_at_trx_commit = OFF;
ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_trx_commit'
SELECT @@global.innodb_flush_log_at_trx_commit;
@@global.innodb_flush_log_at_trx_commit
-2
+3
SET @@global.innodb_flush_log_at_trx_commit = ON;
ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_trx_commit'
SELECT @@global.innodb_flush_log_at_trx_commit;
@@global.innodb_flush_log_at_trx_commit
-2
+3
'#---------------------FN_DYNVARS_046_07----------------------#'
SET @@global.innodb_flush_log_at_trx_commit = TRUE;
SELECT @@global.innodb_flush_log_at_trx_commit;
diff --git a/mysql-test/suite/sys_vars/r/innodb_flush_neighbors_basic.result b/mysql-test/suite/sys_vars/r/innodb_flush_neighbors_basic.result
new file mode 100644
index 00000000000..167c613135d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_flush_neighbors_basic.result
@@ -0,0 +1,101 @@
+SET @start_global_value = @@global.innodb_flush_neighbors;
+SELECT @start_global_value;
+@start_global_value
+1
+select @@global.innodb_flush_neighbors;
+@@global.innodb_flush_neighbors
+1
+select @@session.innodb_flush_neighbors;
+ERROR HY000: Variable 'innodb_flush_neighbors' is a GLOBAL variable
+show global variables like 'innodb_flush_neighbors';
+Variable_name Value
+innodb_flush_neighbors 1
+show session variables like 'innodb_flush_neighbors';
+Variable_name Value
+innodb_flush_neighbors 1
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 1
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 1
+set global innodb_flush_neighbors=0;
+select @@global.innodb_flush_neighbors;
+@@global.innodb_flush_neighbors
+0
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 0
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 0
+set @@global.innodb_flush_neighbors=TRUE;
+select @@global.innodb_flush_neighbors;
+@@global.innodb_flush_neighbors
+1
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 1
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 1
+set global innodb_flush_neighbors=0;
+select @@global.innodb_flush_neighbors;
+@@global.innodb_flush_neighbors
+0
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 0
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 0
+set @@global.innodb_flush_neighbors=2;
+select @@global.innodb_flush_neighbors;
+@@global.innodb_flush_neighbors
+2
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 2
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 2
+set @@global.innodb_flush_neighbors=DEFAULT;
+select @@global.innodb_flush_neighbors;
+@@global.innodb_flush_neighbors
+1
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 1
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FLUSH_NEIGHBORS 1
+set session innodb_flush_neighbors=0;
+ERROR HY000: Variable 'innodb_flush_neighbors' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_flush_neighbors=1;
+ERROR HY000: Variable 'innodb_flush_neighbors' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_flush_neighbors='OFF';
+ERROR 42000: Incorrect argument type to variable 'innodb_flush_neighbors'
+set global innodb_flush_neighbors='ON';
+ERROR 42000: Incorrect argument type to variable 'innodb_flush_neighbors'
+set global innodb_flush_neighbors=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_flush_neighbors'
+set global innodb_flush_neighbors=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_flush_neighbors'
+set global innodb_flush_neighbors=3;
+Warnings:
+Warning 1292 Truncated incorrect innodb_flush_neighbors value: '3'
+select @@global.innodb_flush_neighbors;
+@@global.innodb_flush_neighbors
+2
+set global innodb_flush_neighbors=-3;
+Warnings:
+Warning 1292 Truncated incorrect innodb_flush_neighbors value: '-3'
+select @@global.innodb_flush_neighbors;
+@@global.innodb_flush_neighbors
+0
+set global innodb_flush_neighbors='AUTO';
+ERROR 42000: Incorrect argument type to variable 'innodb_flush_neighbors'
+SET @@global.innodb_flush_neighbors = @start_global_value;
+SELECT @@global.innodb_flush_neighbors;
+@@global.innodb_flush_neighbors
+1
diff --git a/mysql-test/suite/sys_vars/r/innodb_flushing_avg_loops_basic.result b/mysql-test/suite/sys_vars/r/innodb_flushing_avg_loops_basic.result
new file mode 100644
index 00000000000..caa41bd64ed
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_flushing_avg_loops_basic.result
@@ -0,0 +1,98 @@
+SET @global_start_value = @@global.innodb_flushing_avg_loops;
+SELECT @global_start_value;
+@global_start_value
+30
+'#--------------------FN_DYNVARS_046_01------------------------#'
+SET @@global.innodb_flushing_avg_loops = 1;
+SET @@global.innodb_flushing_avg_loops = DEFAULT;
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+30
+'#---------------------FN_DYNVARS_046_02-------------------------#'
+SET innodb_flushing_avg_loops = 1;
+ERROR HY000: Variable 'innodb_flushing_avg_loops' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@innodb_flushing_avg_loops;
+@@innodb_flushing_avg_loops
+30
+SELECT local.innodb_flushing_avg_loops;
+ERROR 42S02: Unknown table 'local' in field list
+SET global innodb_flushing_avg_loops = 1;
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1
+'#--------------------FN_DYNVARS_046_03------------------------#'
+SET @@global.innodb_flushing_avg_loops = 1;
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1
+SET @@global.innodb_flushing_avg_loops = 60;
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+60
+SET @@global.innodb_flushing_avg_loops = 1000;
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1000
+'#--------------------FN_DYNVARS_046_04-------------------------#'
+SET @@global.innodb_flushing_avg_loops = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_flushing_avg_loops value: '-1'
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1
+SET @@global.innodb_flushing_avg_loops = "T";
+ERROR 42000: Incorrect argument type to variable 'innodb_flushing_avg_loops'
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1
+SET @@global.innodb_flushing_avg_loops = "Y";
+ERROR 42000: Incorrect argument type to variable 'innodb_flushing_avg_loops'
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1
+SET @@global.innodb_flushing_avg_loops = 1001;
+Warnings:
+Warning 1292 Truncated incorrect innodb_flushing_avg_loops value: '1001'
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1000
+'#----------------------FN_DYNVARS_046_05------------------------#'
+SELECT @@global.innodb_flushing_avg_loops =
+VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_flushing_avg_loops';
+@@global.innodb_flushing_avg_loops =
+VARIABLE_VALUE
+1
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1000
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_flushing_avg_loops';
+VARIABLE_VALUE
+1000
+'#---------------------FN_DYNVARS_046_06-------------------------#'
+SET @@global.innodb_flushing_avg_loops = OFF;
+ERROR 42000: Incorrect argument type to variable 'innodb_flushing_avg_loops'
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1000
+SET @@global.innodb_flushing_avg_loops = ON;
+ERROR 42000: Incorrect argument type to variable 'innodb_flushing_avg_loops'
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1000
+'#---------------------FN_DYNVARS_046_07----------------------#'
+SET @@global.innodb_flushing_avg_loops = TRUE;
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1
+SET @@global.innodb_flushing_avg_loops = FALSE;
+Warnings:
+Warning 1292 Truncated incorrect innodb_flushing_avg_loops value: '0'
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+1
+SET @@global.innodb_flushing_avg_loops = @global_start_value;
+SELECT @@global.innodb_flushing_avg_loops;
+@@global.innodb_flushing_avg_loops
+30
diff --git a/mysql-test/suite/sys_vars/r/innodb_force_primary_key_basic.result b/mysql-test/suite/sys_vars/r/innodb_force_primary_key_basic.result
new file mode 100644
index 00000000000..eda72bd754d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_force_primary_key_basic.result
@@ -0,0 +1,44 @@
+SELECT COUNT(@@GLOBAL.innodb_force_primary_key);
+COUNT(@@GLOBAL.innodb_force_primary_key)
+1
+1 Expected
+SET @@GLOBAL.innodb_force_primary_key=1;
+Expected ok
+SELECT COUNT(@@GLOBAL.innodb_force_primary_key);
+COUNT(@@GLOBAL.innodb_force_primary_key)
+1
+1 Expected
+SELECT IF(@@GLOBAL.innodb_force_primary_key, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_force_primary_key';
+IF(@@GLOBAL.innodb_force_primary_key, 'ON', 'OFF') = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.innodb_force_primary_key);
+COUNT(@@GLOBAL.innodb_force_primary_key)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_force_primary_key';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+SELECT @@innodb_force_primary_key = @@GLOBAL.innodb_force_primary_key;
+@@innodb_force_primary_key = @@GLOBAL.innodb_force_primary_key
+1
+1 Expected
+SELECT COUNT(@@innodb_force_primary_key);
+COUNT(@@innodb_force_primary_key)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_force_primary_key);
+ERROR HY000: Variable 'innodb_force_primary_key' is a GLOBAL variable
+Expected Variable 'innodb_force_primary_key' is a GLOBAL variable
+SELECT COUNT(@@SESSION.innodb_force_primary_key);
+ERROR HY000: Variable 'innodb_force_primary_key' is a GLOBAL variable
+Expected Variable 'innodb_force_primary_key' is a GLOBAL variable
+SELECT COUNT(@@GLOBAL.innodb_force_primary_key);
+COUNT(@@GLOBAL.innodb_force_primary_key)
+1
+1 Expected
diff --git a/mysql-test/suite/sys_vars/r/innodb_foreground_preflush_basic.result b/mysql-test/suite/sys_vars/r/innodb_foreground_preflush_basic.result
new file mode 100644
index 00000000000..17e67d2b861
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_foreground_preflush_basic.result
@@ -0,0 +1,23 @@
+SET @start_value = @@GLOBAL.innodb_foreground_preflush;
+SELECT @@GLOBAL.innodb_foreground_preflush;
+@@GLOBAL.innodb_foreground_preflush
+EXPONENTIAL_BACKOFF
+SELECT @@SESSION.innodb_foreground_preflush;
+ERROR HY000: Variable 'innodb_foreground_preflush' is a GLOBAL variable
+SET GLOBAL innodb_foreground_preflush='sync_preflush';
+SELECT @@GLOBAL.innodb_foreground_preflush;
+@@GLOBAL.innodb_foreground_preflush
+SYNC_PREFLUSH
+SET GLOBAL innodb_foreground_preflush='exponential_backoff';
+SELECT @@GLOBAL.innodb_foreground_preflush;
+@@GLOBAL.innodb_foreground_preflush
+EXPONENTIAL_BACKOFF
+SET GLOBAL innodb_foreground_preflush=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_foreground_preflush'
+SET GLOBAL innodb_foreground_preflush=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_foreground_preflush'
+SET GLOBAL innodb_foreground_preflush=2;
+ERROR 42000: Variable 'innodb_foreground_preflush' can't be set to the value of '2'
+SET GLOBAL innodb_foreground_preflush='foo';
+ERROR 42000: Variable 'innodb_foreground_preflush' can't be set to the value of 'foo'
+SET GLOBAL innodb_foreground_preflush = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_aux_table_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_aux_table_basic.result
new file mode 100644
index 00000000000..780c6920456
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_aux_table_basic.result
@@ -0,0 +1,32 @@
+SET @start_global_value = @@global.innodb_ft_aux_table;
+SELECT @start_global_value;
+@start_global_value
+NULL
+select @@session.innodb_ft_aux_table;
+ERROR HY000: Variable 'innodb_ft_aux_table' is a GLOBAL variable
+show global variables like 'innodb_ft_aux_table';
+Variable_name Value
+innodb_ft_aux_table
+show session variables like 'innodb_ft_aux_table';
+Variable_name Value
+innodb_ft_aux_table
+select * from information_schema.global_variables where variable_name='innodb_ft_aux_table';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_AUX_TABLE
+select * from information_schema.session_variables where variable_name='innodb_ft_aux_table';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_AUX_TABLE
+set session innodb_ft_aux_table='Salmon';
+ERROR HY000: Variable 'innodb_ft_aux_table' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_ft_aux_table='Salmon';
+ERROR HY000: Variable 'innodb_ft_aux_table' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_ft_aux_table=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_aux_table'
+set global innodb_ft_aux_table=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_aux_table'
+set global innodb_ft_aux_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_aux_table' can't be set to the value of 'Salmon'
+SET @@global.innodb_ft_aux_table = @start_global_value;
+SELECT @@global.innodb_ft_aux_table;
+@@global.innodb_ft_aux_table
+NULL
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_cache_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_cache_size_basic.result
new file mode 100644
index 00000000000..f50b6d4180c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_cache_size_basic.result
@@ -0,0 +1,21 @@
+select @@global.innodb_ft_cache_size;
+@@global.innodb_ft_cache_size
+8000000
+select @@session.innodb_ft_cache_size;
+ERROR HY000: Variable 'innodb_ft_cache_size' is a GLOBAL variable
+show global variables like 'innodb_ft_cache_size';
+Variable_name Value
+innodb_ft_cache_size 8000000
+show session variables like 'innodb_ft_cache_size';
+Variable_name Value
+innodb_ft_cache_size 8000000
+select * from information_schema.global_variables where variable_name='innodb_ft_cache_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_CACHE_SIZE 8000000
+select * from information_schema.session_variables where variable_name='innodb_ft_cache_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_CACHE_SIZE 8000000
+set global innodb_ft_cache_size=1;
+ERROR HY000: Variable 'innodb_ft_cache_size' is a read only variable
+set session innodb_ft_cache_size=1;
+ERROR HY000: Variable 'innodb_ft_cache_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_enable_diag_print_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_enable_diag_print_basic.result
new file mode 100644
index 00000000000..5401e26d8a5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_enable_diag_print_basic.result
@@ -0,0 +1,92 @@
+SET @start_global_value = @@global.innodb_ft_enable_diag_print;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_ft_enable_diag_print in (0, 1);
+@@global.innodb_ft_enable_diag_print in (0, 1)
+1
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+0
+select @@session.innodb_ft_enable_diag_print;
+ERROR HY000: Variable 'innodb_ft_enable_diag_print' is a GLOBAL variable
+show global variables like 'innodb_ft_enable_diag_print';
+Variable_name Value
+innodb_ft_enable_diag_print OFF
+show session variables like 'innodb_ft_enable_diag_print';
+Variable_name Value
+innodb_ft_enable_diag_print OFF
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT OFF
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT OFF
+set global innodb_ft_enable_diag_print='OFF';
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+0
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT OFF
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT OFF
+set @@global.innodb_ft_enable_diag_print=1;
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT ON
+set global innodb_ft_enable_diag_print=0;
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+0
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT OFF
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT OFF
+set @@global.innodb_ft_enable_diag_print='ON';
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT ON
+set session innodb_ft_enable_diag_print='OFF';
+ERROR HY000: Variable 'innodb_ft_enable_diag_print' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_ft_enable_diag_print='ON';
+ERROR HY000: Variable 'innodb_ft_enable_diag_print' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_ft_enable_diag_print=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_diag_print'
+set global innodb_ft_enable_diag_print=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_diag_print'
+set global innodb_ft_enable_diag_print=2;
+ERROR 42000: Variable 'innodb_ft_enable_diag_print' can't be set to the value of '2'
+set global innodb_ft_enable_diag_print=-3;
+ERROR 42000: Variable 'innodb_ft_enable_diag_print' can't be set to the value of '-3'
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT ON
+set global innodb_ft_enable_diag_print='AUTO';
+ERROR 42000: Variable 'innodb_ft_enable_diag_print' can't be set to the value of 'AUTO'
+SET @@global.innodb_ft_enable_diag_print = @start_global_value;
+SELECT @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_enable_stopword_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_enable_stopword_basic.result
new file mode 100644
index 00000000000..d0cd535637a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_enable_stopword_basic.result
@@ -0,0 +1,121 @@
+SET @start_global_value = @@global.innodb_ft_enable_stopword;
+SELECT @start_global_value;
+@start_global_value
+1
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_ft_enable_stopword in (0, 1);
+@@global.innodb_ft_enable_stopword in (0, 1)
+1
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1
+select @@session.innodb_ft_enable_stopword in (0, 1);
+@@session.innodb_ft_enable_stopword in (0, 1)
+1
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+1
+show global variables like 'innodb_ft_enable_stopword';
+Variable_name Value
+innodb_ft_enable_stopword ON
+show session variables like 'innodb_ft_enable_stopword';
+Variable_name Value
+innodb_ft_enable_stopword ON
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD ON
+set global innodb_ft_enable_stopword='OFF';
+set session innodb_ft_enable_stopword='OFF';
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+0
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+0
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD OFF
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD OFF
+set @@global.innodb_ft_enable_stopword=1;
+set @@session.innodb_ft_enable_stopword=1;
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD ON
+set global innodb_ft_enable_stopword=0;
+set session innodb_ft_enable_stopword=0;
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+0
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+0
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD OFF
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD OFF
+set @@global.innodb_ft_enable_stopword='ON';
+set @@session.innodb_ft_enable_stopword='ON';
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD ON
+set global innodb_ft_enable_stopword=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_stopword'
+set session innodb_ft_enable_stopword=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_stopword'
+set global innodb_ft_enable_stopword=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_stopword'
+set session innodb_ft_enable_stopword=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_stopword'
+set global innodb_ft_enable_stopword=2;
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of '2'
+set session innodb_ft_enable_stopword=2;
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of '2'
+set global innodb_ft_enable_stopword='AUTO';
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of 'AUTO'
+set session innodb_ft_enable_stopword='AUTO';
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of 'AUTO'
+set global innodb_ft_enable_stopword=-3;
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of '-3'
+set session innodb_ft_enable_stopword=-7;
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of '-7'
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD ON
+SET @@global.innodb_ft_enable_stopword = @start_global_value;
+SELECT @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_max_token_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_max_token_size_basic.result
new file mode 100644
index 00000000000..f1828b67787
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_max_token_size_basic.result
@@ -0,0 +1,21 @@
+select @@global.innodb_ft_max_token_size;
+@@global.innodb_ft_max_token_size
+84
+select @@session.innodb_ft_max_token_size;
+ERROR HY000: Variable 'innodb_ft_max_token_size' is a GLOBAL variable
+show global variables like 'innodb_ft_max_token_size';
+Variable_name Value
+innodb_ft_max_token_size 84
+show session variables like 'innodb_ft_max_token_size';
+Variable_name Value
+innodb_ft_max_token_size 84
+select * from information_schema.global_variables where variable_name='innodb_ft_max_token_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_MAX_TOKEN_SIZE 84
+select * from information_schema.session_variables where variable_name='innodb_ft_max_token_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_MAX_TOKEN_SIZE 84
+set global innodb_ft_max_token_size=1;
+ERROR HY000: Variable 'innodb_ft_max_token_size' is a read only variable
+set session innodb_ft_max_token_size=1;
+ERROR HY000: Variable 'innodb_ft_max_token_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_min_token_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_min_token_size_basic.result
new file mode 100644
index 00000000000..25d5e28468d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_min_token_size_basic.result
@@ -0,0 +1,21 @@
+select @@global.innodb_ft_min_token_size;
+@@global.innodb_ft_min_token_size
+3
+select @@session.innodb_ft_min_token_size;
+ERROR HY000: Variable 'innodb_ft_min_token_size' is a GLOBAL variable
+show global variables like 'innodb_ft_min_token_size';
+Variable_name Value
+innodb_ft_min_token_size 3
+show session variables like 'innodb_ft_min_token_size';
+Variable_name Value
+innodb_ft_min_token_size 3
+select * from information_schema.global_variables where variable_name='innodb_ft_min_token_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_MIN_TOKEN_SIZE 3
+select * from information_schema.session_variables where variable_name='innodb_ft_min_token_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_MIN_TOKEN_SIZE 3
+set global innodb_ft_min_token_size=1;
+ERROR HY000: Variable 'innodb_ft_min_token_size' is a read only variable
+set session innodb_ft_min_token_size=1;
+ERROR HY000: Variable 'innodb_ft_min_token_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_num_word_optimize_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_num_word_optimize_basic.result
new file mode 100644
index 00000000000..1eed900e321
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_num_word_optimize_basic.result
@@ -0,0 +1,56 @@
+SET @start_global_value = @@global.innodb_ft_num_word_optimize;
+SELECT @start_global_value;
+@start_global_value
+2000
+Valid values are zero or above
+select @@global.innodb_ft_num_word_optimize >=1000;
+@@global.innodb_ft_num_word_optimize >=1000
+1
+select @@global.innodb_ft_num_word_optimize;
+@@global.innodb_ft_num_word_optimize
+2000
+select @@session.innodb_ft_num_word_optimize;
+ERROR HY000: Variable 'innodb_ft_num_word_optimize' is a GLOBAL variable
+show global variables like 'innodb_ft_num_word_optimize';
+Variable_name Value
+innodb_ft_num_word_optimize 2000
+show session variables like 'innodb_ft_num_word_optimize';
+Variable_name Value
+innodb_ft_num_word_optimize 2000
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE 2000
+select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE 2000
+set global innodb_ft_num_word_optimize=1000;
+select @@global.innodb_ft_num_word_optimize;
+@@global.innodb_ft_num_word_optimize
+1000
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE 1000
+select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE 1000
+set session innodb_ft_num_word_optimize=1000;
+ERROR HY000: Variable 'innodb_ft_num_word_optimize' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_ft_num_word_optimize=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_num_word_optimize'
+set global innodb_ft_num_word_optimize=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_num_word_optimize'
+set global innodb_ft_num_word_optimize="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_num_word_optimize'
+set global innodb_ft_num_word_optimize=-7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_ft_num_word_optimize value: '-7'
+select @@global.innodb_ft_num_word_optimize;
+@@global.innodb_ft_num_word_optimize
+1000
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE 1000
+SET @@global.innodb_ft_num_word_optimize = @start_global_value;
+SELECT @@global.innodb_ft_num_word_optimize;
+@@global.innodb_ft_num_word_optimize
+2000
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit,32bit.rdiff b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit,32bit.rdiff
new file mode 100644
index 00000000000..cd9a004a686
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit,32bit.rdiff
@@ -0,0 +1,11 @@
+--- mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.result 2019-05-07 15:09:57.220599318 +0530
++++ mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.reject 2019-05-07 15:10:20.012718538 +0530
+@@ -1,5 +1,7 @@
+ set global innodb_ft_result_cache_limit=5000000000;
++Warnings:
++Warning 1292 Truncated incorrect innodb_ft_result_cache_limit value: '5000000000'
+ select @@innodb_ft_result_cache_limit;
+ @@innodb_ft_result_cache_limit
+-5000000000
++4294967295
+ set global innodb_ft_result_cache_limit=2000000000;
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.result b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.result
new file mode 100644
index 00000000000..c86331a8a1c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.result
@@ -0,0 +1,5 @@
+set global innodb_ft_result_cache_limit=5000000000;
+select @@innodb_ft_result_cache_limit;
+@@innodb_ft_result_cache_limit
+5000000000
+set global innodb_ft_result_cache_limit=2000000000;
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_basic.result
new file mode 100644
index 00000000000..0aefabd48f7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_basic.result
@@ -0,0 +1,32 @@
+select @@global.innodb_ft_result_cache_limit;
+@@global.innodb_ft_result_cache_limit
+2000000000
+select @@session.innodb_ft_result_cache_limit;
+ERROR HY000: Variable 'innodb_ft_result_cache_limit' is a GLOBAL variable
+show global variables like 'innodb_ft_result_cache_limit';
+Variable_name Value
+innodb_ft_result_cache_limit 2000000000
+show session variables like 'innodb_ft_result_cache_limit';
+Variable_name Value
+innodb_ft_result_cache_limit 2000000000
+select * from information_schema.global_variables where variable_name='innodb_ft_result_cache_limit';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_RESULT_CACHE_LIMIT 2000000000
+select * from information_schema.session_variables where variable_name='innodb_ft_result_cache_limit';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_RESULT_CACHE_LIMIT 2000000000
+set global innodb_ft_result_cache_limit=900000;
+Warnings:
+Warning 1292 Truncated incorrect innodb_ft_result_cache_limit value: '900000'
+select @@innodb_ft_result_cache_limit;
+@@innodb_ft_result_cache_limit
+1000000
+set global innodb_ft_result_cache_limit=1000000;
+select @@innodb_ft_result_cache_limit;
+@@innodb_ft_result_cache_limit
+1000000
+set global innodb_ft_result_cache_limit=4000000000;
+select @@innodb_ft_result_cache_limit;
+@@innodb_ft_result_cache_limit
+4000000000
+set global innodb_ft_result_cache_limit=2000000000;
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_server_stopword_table_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_server_stopword_table_basic.result
new file mode 100644
index 00000000000..044e8f80951
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_server_stopword_table_basic.result
@@ -0,0 +1,32 @@
+SET @start_global_value = @@global.innodb_ft_server_stopword_table;
+SELECT @start_global_value;
+@start_global_value
+NULL
+select @@session.innodb_ft_server_stopword_table;
+ERROR HY000: Variable 'innodb_ft_server_stopword_table' is a GLOBAL variable
+show global variables like 'innodb_ft_server_stopword_table';
+Variable_name Value
+innodb_ft_server_stopword_table
+show session variables like 'innodb_ft_server_stopword_table';
+Variable_name Value
+innodb_ft_server_stopword_table
+select * from information_schema.global_variables where variable_name='innodb_ft_server_stopword_table';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_SERVER_STOPWORD_TABLE
+select * from information_schema.session_variables where variable_name='innodb_ft_server_stopword_table';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_SERVER_STOPWORD_TABLE
+set session innodb_ft_server_stopword_table='Salmon';
+ERROR HY000: Variable 'innodb_ft_server_stopword_table' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_ft_server_stopword_table='Salmon';
+ERROR HY000: Variable 'innodb_ft_server_stopword_table' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_ft_server_stopword_table=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_server_stopword_table'
+set global innodb_ft_server_stopword_table=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_server_stopword_table'
+set global innodb_ft_server_stopword_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_server_stopword_table' can't be set to the value of 'Salmon'
+SET @@global.innodb_ft_server_stopword_table = @start_global_value;
+SELECT @@global.innodb_ft_server_stopword_table;
+@@global.innodb_ft_server_stopword_table
+NULL
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_sort_pll_degree_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_sort_pll_degree_basic.result
new file mode 100644
index 00000000000..be1f454d79f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_sort_pll_degree_basic.result
@@ -0,0 +1,21 @@
+select @@global.innodb_ft_sort_pll_degree;
+@@global.innodb_ft_sort_pll_degree
+2
+select @@session.innodb_ft_sort_pll_degree;
+ERROR HY000: Variable 'innodb_ft_sort_pll_degree' is a GLOBAL variable
+show global variables like 'innodb_ft_sort_pll_degree';
+Variable_name Value
+innodb_ft_sort_pll_degree 2
+show session variables like 'innodb_ft_sort_pll_degree';
+Variable_name Value
+innodb_ft_sort_pll_degree 2
+select * from information_schema.global_variables where variable_name='innodb_ft_sort_pll_degree';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_SORT_PLL_DEGREE 2
+select * from information_schema.session_variables where variable_name='innodb_ft_sort_pll_degree';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_SORT_PLL_DEGREE 2
+set global innodb_ft_sort_pll_degree=1;
+ERROR HY000: Variable 'innodb_ft_sort_pll_degree' is a read only variable
+set session innodb_ft_sort_pll_degree=1;
+ERROR HY000: Variable 'innodb_ft_sort_pll_degree' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_total_cache_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_total_cache_size_basic.result
new file mode 100644
index 00000000000..ff234a1fcbf
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_total_cache_size_basic.result
@@ -0,0 +1,21 @@
+select @@global.innodb_ft_total_cache_size;
+@@global.innodb_ft_total_cache_size
+640000000
+select @@session.innodb_ft_total_cache_size;
+ERROR HY000: Variable 'innodb_ft_total_cache_size' is a GLOBAL variable
+show global variables like 'innodb_ft_total_cache_size';
+Variable_name Value
+innodb_ft_total_cache_size 640000000
+show session variables like 'innodb_ft_total_cache_size';
+Variable_name Value
+innodb_ft_total_cache_size 640000000
+select * from information_schema.global_variables where variable_name='innodb_ft_total_cache_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_TOTAL_CACHE_SIZE 640000000
+select * from information_schema.session_variables where variable_name='innodb_ft_total_cache_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_TOTAL_CACHE_SIZE 640000000
+set global innodb_ft_total_cache_size=1;
+ERROR HY000: Variable 'innodb_ft_total_cache_size' is a read only variable
+set session innodb_ft_total_cache_size=1;
+ERROR HY000: Variable 'innodb_ft_total_cache_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result
new file mode 100644
index 00000000000..66298481693
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result
@@ -0,0 +1,30 @@
+SET @start_global_value = @@global.innodb_ft_user_stopword_table;
+SELECT @start_global_value;
+@start_global_value
+NULL
+select @@session.innodb_ft_user_stopword_table;
+@@session.innodb_ft_user_stopword_table
+NULL
+show global variables like 'innodb_ft_user_stopword_table';
+Variable_name Value
+innodb_ft_user_stopword_table
+show session variables like 'innodb_ft_user_stopword_table';
+Variable_name Value
+innodb_ft_user_stopword_table
+select * from information_schema.global_variables where variable_name='innodb_ft_user_stopword_table';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_USER_STOPWORD_TABLE
+select * from information_schema.session_variables where variable_name='innodb_ft_user_stopword_table';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_FT_USER_STOPWORD_TABLE
+set session innodb_ft_user_stopword_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_user_stopword_table' can't be set to the value of 'Salmon'
+set @@session.innodb_ft_user_stopword_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_user_stopword_table' can't be set to the value of 'Salmon'
+set global innodb_ft_user_stopword_table=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_user_stopword_table'
+set global innodb_ft_user_stopword_table=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_user_stopword_table'
+set global innodb_ft_user_stopword_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_user_stopword_table' can't be set to the value of 'Salmon'
+SET @@session.innodb_ft_user_stopword_table=@start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_idle_flush_pct_basic.result b/mysql-test/suite/sys_vars/r/innodb_idle_flush_pct_basic.result
new file mode 100644
index 00000000000..a2c328f38fd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_idle_flush_pct_basic.result
@@ -0,0 +1,77 @@
+SET @start_global_value = @@global.innodb_idle_flush_pct;
+SELECT @start_global_value;
+@start_global_value
+100
+Valid values are between 0 and 100
+select @@global.innodb_idle_flush_pct between 0 and 100;
+@@global.innodb_idle_flush_pct between 0 and 100
+1
+select @@global.innodb_idle_flush_pct;
+@@global.innodb_idle_flush_pct
+100
+select @@session.innodb_idle_flush_pct;
+ERROR HY000: Variable 'innodb_idle_flush_pct' is a GLOBAL variable
+show global variables like 'innodb_idle_flush_pct';
+Variable_name Value
+innodb_idle_flush_pct 100
+show session variables like 'innodb_idle_flush_pct';
+Variable_name Value
+innodb_idle_flush_pct 100
+select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IDLE_FLUSH_PCT 100
+select * from information_schema.session_variables where variable_name='innodb_idle_flush_pct';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IDLE_FLUSH_PCT 100
+set global innodb_idle_flush_pct=10;
+select @@global.innodb_idle_flush_pct;
+@@global.innodb_idle_flush_pct
+10
+select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IDLE_FLUSH_PCT 10
+select * from information_schema.session_variables where variable_name='innodb_idle_flush_pct';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IDLE_FLUSH_PCT 10
+set session innodb_idle_flush_pct=1;
+ERROR HY000: Variable 'innodb_idle_flush_pct' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_idle_flush_pct=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_idle_flush_pct'
+set global innodb_idle_flush_pct=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_idle_flush_pct'
+set global innodb_idle_flush_pct="bar";
+ERROR 42000: Incorrect argument type to variable 'innodb_idle_flush_pct'
+set global innodb_idle_flush_pct=-7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_idle_flush_pct value: '-7'
+select @@global.innodb_idle_flush_pct;
+@@global.innodb_idle_flush_pct
+0
+select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IDLE_FLUSH_PCT 0
+set global innodb_idle_flush_pct=106;
+Warnings:
+Warning 1292 Truncated incorrect innodb_idle_flush_pct value: '106'
+select @@global.innodb_idle_flush_pct;
+@@global.innodb_idle_flush_pct
+100
+select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IDLE_FLUSH_PCT 100
+set global innodb_idle_flush_pct=0;
+select @@global.innodb_idle_flush_pct;
+@@global.innodb_idle_flush_pct
+0
+set global innodb_idle_flush_pct=100;
+select @@global.innodb_idle_flush_pct;
+@@global.innodb_idle_flush_pct
+100
+set global innodb_idle_flush_pct=DEFAULT;
+select @@global.innodb_idle_flush_pct;
+@@global.innodb_idle_flush_pct
+100
+SET @@global.innodb_idle_flush_pct = @start_global_value;
+SELECT @@global.innodb_idle_flush_pct;
+@@global.innodb_idle_flush_pct
+100
diff --git a/mysql-test/suite/sys_vars/r/innodb_immediate_scrub_data_uncompressed_basic.result b/mysql-test/suite/sys_vars/r/innodb_immediate_scrub_data_uncompressed_basic.result
new file mode 100644
index 00000000000..5b31918c5d2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_immediate_scrub_data_uncompressed_basic.result
@@ -0,0 +1,50 @@
+SET @start_global_value = @@global.innodb_immediate_scrub_data_uncompressed;
+#
+# exists as global only
+#
+select @@global.innodb_immediate_scrub_data_uncompressed;
+@@global.innodb_immediate_scrub_data_uncompressed
+0
+select @@session.innodb_immediate_scrub_data_uncompressed;
+ERROR HY000: Variable 'innodb_immediate_scrub_data_uncompressed' is a GLOBAL variable
+show global variables like 'innodb_immediate_scrub_data_uncompressed';
+Variable_name Value
+innodb_immediate_scrub_data_uncompressed OFF
+show session variables like 'innodb_immediate_scrub_data_uncompressed';
+Variable_name Value
+innodb_immediate_scrub_data_uncompressed OFF
+select * from information_schema.global_variables
+where variable_name='innodb_immediate_scrub_data_uncompressed';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED OFF
+select * from information_schema.session_variables
+where variable_name='innodb_immediate_scrub_data_uncompressed';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED OFF
+#
+# show that it's writable
+#
+set global innodb_immediate_scrub_data_uncompressed=ON;
+select @@global.innodb_immediate_scrub_data_uncompressed;
+@@global.innodb_immediate_scrub_data_uncompressed
+1
+set global innodb_immediate_scrub_data_uncompressed=OFF;
+select @@global.innodb_immediate_scrub_data_uncompressed;
+@@global.innodb_immediate_scrub_data_uncompressed
+0
+set global innodb_immediate_scrub_data_uncompressed=1;
+select @@global.innodb_immediate_scrub_data_uncompressed;
+@@global.innodb_immediate_scrub_data_uncompressed
+1
+set session innodb_immediate_scrub_data_uncompressed=1;
+ERROR HY000: Variable 'innodb_immediate_scrub_data_uncompressed' is a GLOBAL variable and should be set with SET GLOBAL
+#
+# incorrect types
+#
+set global innodb_immediate_scrub_data_uncompressed=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_immediate_scrub_data_uncompressed'
+set global innodb_immediate_scrub_data_uncompressed=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_immediate_scrub_data_uncompressed'
+set global innodb_immediate_scrub_data_uncompressed="foo";
+ERROR 42000: Variable 'innodb_immediate_scrub_data_uncompressed' can't be set to the value of 'foo'
+SET @@global.innodb_immediate_scrub_data_uncompressed = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_instrument_semaphores.result b/mysql-test/suite/sys_vars/r/innodb_instrument_semaphores.result
new file mode 100644
index 00000000000..dc8fba41e0b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_instrument_semaphores.result
@@ -0,0 +1,45 @@
+#
+# innodb_instrument_semaphores
+#
+# save the initial value
+SET @innodb_instrument_semaphores_global_saved = @@global.innodb_instrument_semaphores;
+# default
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+0
+
+# scope
+SELECT @@session.innodb_instrument_semaphores;
+ERROR HY000: Variable 'innodb_instrument_semaphores' is a GLOBAL variable
+SET @@global.innodb_instrument_semaphores=OFF;
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+0
+SET @@global.innodb_instrument_semaphores=ON;
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+1
+
+# valid values
+SET @@global.innodb_instrument_semaphores='OFF';
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+0
+SET @@global.innodb_instrument_semaphores=ON;
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+1
+SET @@global.innodb_instrument_semaphores=default;
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+0
+
+# invalid values
+SET @@global.innodb_instrument_semaphores=NULL;
+ERROR 42000: Variable 'innodb_instrument_semaphores' can't be set to the value of 'NULL'
+SET @@global.innodb_instrument_semaphores='junk';
+ERROR 42000: Variable 'innodb_instrument_semaphores' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.innodb_instrument_semaphores = @innodb_instrument_semaphores_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/innodb_instrument_semaphores_basic.result b/mysql-test/suite/sys_vars/r/innodb_instrument_semaphores_basic.result
new file mode 100644
index 00000000000..dc8fba41e0b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_instrument_semaphores_basic.result
@@ -0,0 +1,45 @@
+#
+# innodb_instrument_semaphores
+#
+# save the initial value
+SET @innodb_instrument_semaphores_global_saved = @@global.innodb_instrument_semaphores;
+# default
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+0
+
+# scope
+SELECT @@session.innodb_instrument_semaphores;
+ERROR HY000: Variable 'innodb_instrument_semaphores' is a GLOBAL variable
+SET @@global.innodb_instrument_semaphores=OFF;
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+0
+SET @@global.innodb_instrument_semaphores=ON;
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+1
+
+# valid values
+SET @@global.innodb_instrument_semaphores='OFF';
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+0
+SET @@global.innodb_instrument_semaphores=ON;
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+1
+SET @@global.innodb_instrument_semaphores=default;
+SELECT @@global.innodb_instrument_semaphores;
+@@global.innodb_instrument_semaphores
+0
+
+# invalid values
+SET @@global.innodb_instrument_semaphores=NULL;
+ERROR 42000: Variable 'innodb_instrument_semaphores' can't be set to the value of 'NULL'
+SET @@global.innodb_instrument_semaphores='junk';
+ERROR 42000: Variable 'innodb_instrument_semaphores' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.innodb_instrument_semaphores = @innodb_instrument_semaphores_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/innodb_io_capacity_max_basic.result b/mysql-test/suite/sys_vars/r/innodb_io_capacity_max_basic.result
new file mode 100644
index 00000000000..f22d11e1b62
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_io_capacity_max_basic.result
@@ -0,0 +1,96 @@
+SET @start_innodb_max_capacity = @@global.innodb_io_capacity_max;
+SELECT @start_innodb_max_capacity;
+@start_innodb_max_capacity
+2000
+SET @start_innodb_capacity = @@global.innodb_io_capacity;
+SELECT @start_innodb_capacity;
+@start_innodb_capacity
+200
+Valid value 100 or more
+select @@global.innodb_io_capacity_max > 99;
+@@global.innodb_io_capacity_max > 99
+1
+select @@global.innodb_io_capacity_max;
+@@global.innodb_io_capacity_max
+2000
+select @@session.innodb_io_capacity_max;
+ERROR HY000: Variable 'innodb_io_capacity_max' is a GLOBAL variable
+show global variables like 'innodb_io_capacity_max';
+Variable_name Value
+innodb_io_capacity_max 2000
+show session variables like 'innodb_io_capacity_max';
+Variable_name Value
+innodb_io_capacity_max 2000
+select * from information_schema.global_variables where variable_name='innodb_io_capacity_max';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IO_CAPACITY_MAX 2000
+select * from information_schema.session_variables where variable_name='innodb_io_capacity_max';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IO_CAPACITY_MAX 2000
+set global innodb_io_capacity_max=@start_innodb_capacity + 1;
+select @@global.innodb_io_capacity_max;
+@@global.innodb_io_capacity_max
+201
+select * from information_schema.global_variables where variable_name='innodb_io_capacity_max';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IO_CAPACITY_MAX 201
+select * from information_schema.session_variables where variable_name='innodb_io_capacity_max';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IO_CAPACITY_MAX 201
+set session innodb_io_capacity_max=444;
+ERROR HY000: Variable 'innodb_io_capacity_max' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_io_capacity_max=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_io_capacity_max'
+set global innodb_io_capacity_max=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_io_capacity_max'
+set global innodb_io_capacity_max="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_io_capacity_max'
+set global innodb_io_capacity_max=1000;
+set global innodb_io_capacity=500;
+set global innodb_io_capacity_max=400;
+Warnings:
+Warning 1210 Setting innodb_io_capacity_max 400 lower than innodb_io_capacity 500.
+Warning 1210 Setting innodb_io_capacity to 400
+select @@global.innodb_io_capacity_max;
+@@global.innodb_io_capacity_max
+400
+select @@global.innodb_io_capacity;
+@@global.innodb_io_capacity
+400
+select * from information_schema.global_variables where variable_name='innodb_io_capacity_max';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IO_CAPACITY_MAX 400
+select * from information_schema.global_variables where variable_name='innodb_io_capacity';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IO_CAPACITY 400
+set global innodb_io_capacity_max=1000;
+set global innodb_io_capacity=500;
+set global innodb_io_capacity=1400;
+Warnings:
+Warning 1210 Setting innodb_io_capacity to 1400 higher than innodb_io_capacity_max 1000
+Warning 1210 Setting innodb_max_io_capacity to 2800
+select @@global.innodb_io_capacity_max;
+@@global.innodb_io_capacity_max
+2800
+select @@global.innodb_io_capacity;
+@@global.innodb_io_capacity
+1400
+select * from information_schema.global_variables where variable_name='innodb_io_capacity_max';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IO_CAPACITY_MAX 2800
+select * from information_schema.global_variables where variable_name='innodb_io_capacity';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_IO_CAPACITY 1400
+set global innodb_io_capacity=100;
+set global innodb_io_capacity_max=100;
+select @@global.innodb_io_capacity_max;
+@@global.innodb_io_capacity_max
+100
+SET @@global.innodb_io_capacity_max = @start_innodb_max_capacity;
+SELECT @@global.innodb_io_capacity_max;
+@@global.innodb_io_capacity_max
+2000
+SET @@global.innodb_io_capacity = @start_innodb_capacity;
+SELECT @@global.innodb_io_capacity;
+@@global.innodb_io_capacity
+200
diff --git a/mysql-test/suite/sys_vars/r/innodb_log_arch_dir_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_arch_dir_basic.result
new file mode 100644
index 00000000000..bead0303520
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_log_arch_dir_basic.result
@@ -0,0 +1,38 @@
+SELECT @@GLOBAL.innodb_log_arch_dir;
+@@GLOBAL.innodb_log_arch_dir
+./
+NULL Expected
+SET @@GLOBAL.innodb_log_arch_dir=1;
+ERROR HY000: Variable 'innodb_log_arch_dir' is a read only variable
+Expected error 'Read only variable'
+SELECT @@GLOBAL.innodb_log_arch_dir;
+@@GLOBAL.innodb_log_arch_dir
+./
+NULL Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_arch_dir';
+VARIABLE_VALUE
+./
+empty string Expected
+SELECT @@innodb_log_arch_dir;
+@@innodb_log_arch_dir
+./
+NULL Expected
+SELECT @@innodb_log_arch_dir;
+@@innodb_log_arch_dir
+./
+NULL Expected
+SELECT @@local.innodb_log_arch_dir;
+ERROR HY000: Variable 'innodb_log_arch_dir' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@SESSION.innodb_log_arch_dir;
+ERROR HY000: Variable 'innodb_log_arch_dir' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@GLOBAL.innodb_log_arch_dir;
+@@GLOBAL.innodb_log_arch_dir
+./
+NULL Expected
+SELECT innodb_log_arch_dir = @@SESSION.innodb_log_arch_dir;
+ERROR 42S22: Unknown column 'innodb_log_arch_dir' in 'field list'
+Expected error Unknown column 'innodb_log_arch_dir' in 'field list'
diff --git a/mysql-test/suite/sys_vars/r/innodb_log_arch_expire_sec_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_arch_expire_sec_basic.result
new file mode 100644
index 00000000000..97bff097252
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_log_arch_expire_sec_basic.result
@@ -0,0 +1,38 @@
+SELECT @@GLOBAL.innodb_log_arch_expire_sec INTO @save;
+SELECT @@GLOBAL.innodb_log_arch_expire_sec;
+@@GLOBAL.innodb_log_arch_expire_sec
+0
+0 Expected
+SET @@GLOBAL.innodb_log_arch_expire_sec=1;
+SELECT @@GLOBAL.innodb_log_arch_expire_sec;
+@@GLOBAL.innodb_log_arch_expire_sec
+1
+1 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_arch_expire_sec';
+VARIABLE_VALUE
+1
+1 Expected
+SELECT @@innodb_log_arch_expire_sec;
+@@innodb_log_arch_expire_sec
+1
+1 Expected
+SELECT @@innodb_log_arch_expire_sec;
+@@innodb_log_arch_expire_sec
+1
+1 Expected
+SELECT @@local.innodb_log_arch_expire_sec;
+ERROR HY000: Variable 'innodb_log_arch_expire_sec' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@SESSION.innodb_log_arch_expire_sec;
+ERROR HY000: Variable 'innodb_log_arch_expire_sec' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@GLOBAL.innodb_log_arch_expire_sec;
+@@GLOBAL.innodb_log_arch_expire_sec
+1
+1 Expected
+SELECT innodb_log_arch_expire_sec = @@SESSION.innodb_log_arch_expire_sec;
+ERROR 42S22: Unknown column 'innodb_log_arch_expire_sec' in 'field list'
+Expected error Unknown column 'innodb_log_arch_expire_sec' in 'field list'
+SET @@GLOBAL.innodb_log_arch_expire_sec = @save;
diff --git a/mysql-test/suite/sys_vars/r/innodb_log_archive_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_archive_basic.result
new file mode 100644
index 00000000000..bb9b53482fa
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_log_archive_basic.result
@@ -0,0 +1,38 @@
+SELECT @@GLOBAL.innodb_log_archive;
+@@GLOBAL.innodb_log_archive
+0
+0 Expected
+SET @save_innodb_log_archive = @@GLOBAL.innodb_log_archive;
+SET @@GLOBAL.innodb_log_archive=1;
+SELECT @@GLOBAL.innodb_log_archive;
+@@GLOBAL.innodb_log_archive
+1
+1 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_archive';
+VARIABLE_VALUE
+ON
+ON Expected
+SET @@GLOBAL.innodb_log_archive = @save_innodb_log_archive;
+SELECT @@innodb_log_archive;
+@@innodb_log_archive
+0
+0 Expected
+SELECT @@innodb_log_archive;
+@@innodb_log_archive
+0
+0 Expected
+SELECT @@local.innodb_log_archive;
+ERROR HY000: Variable 'innodb_log_archive' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@SESSION.innodb_log_archive;
+ERROR HY000: Variable 'innodb_log_archive' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@GLOBAL.innodb_log_archive;
+@@GLOBAL.innodb_log_archive
+0
+0 Expected
+SELECT innodb_log_archive = @@SESSION.innodb_log_archive;
+ERROR 42S22: Unknown column 'innodb_log_archive' in 'field list'
+Expected error Unknown column 'innodb_log_archive' in 'field list'
diff --git a/mysql-test/suite/sys_vars/r/innodb_log_checksum_algorithm_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_checksum_algorithm_basic.result
new file mode 100644
index 00000000000..4497e8f208a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_log_checksum_algorithm_basic.result
@@ -0,0 +1,47 @@
+SET @orig = @@global.innodb_log_checksum_algorithm;
+SELECT @orig;
+@orig
+INNODB
+SET GLOBAL innodb_log_checksum_algorithm = 'crc32';
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+CRC32
+SET GLOBAL innodb_log_checksum_algorithm = 'strict_crc32';
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+STRICT_CRC32
+SET GLOBAL innodb_log_checksum_algorithm = 'innodb';
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+INNODB
+SET GLOBAL innodb_log_checksum_algorithm = 'strict_innodb';
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+STRICT_INNODB
+SET GLOBAL innodb_log_checksum_algorithm = 'none';
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+NONE
+SET GLOBAL innodb_log_checksum_algorithm = 'strict_none';
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+STRICT_NONE
+SET GLOBAL innodb_log_checksum_algorithm = '';
+ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of ''
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+STRICT_NONE
+SET GLOBAL innodb_log_checksum_algorithm = 'foobar';
+ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of 'foobar'
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+STRICT_NONE
+SET GLOBAL innodb_log_checksum_algorithm = 123;
+ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of '123'
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+STRICT_NONE
+SET GLOBAL innodb_log_checksum_algorithm = @orig;
+SELECT @@global.innodb_log_checksum_algorithm;
+@@global.innodb_log_checksum_algorithm
+INNODB
diff --git a/mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result
new file mode 100644
index 00000000000..8cb8d900b59
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result
@@ -0,0 +1,69 @@
+SET @start_global_value = @@global.innodb_log_compressed_pages;
+SELECT @start_global_value;
+@start_global_value
+1
+'#---------------------BS_STVARS_028_01----------------------#'
+SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
+COUNT(@@GLOBAL.innodb_log_compressed_pages)
+1
+1 Expected
+'#---------------------BS_STVARS_028_02----------------------#'
+SET @@global.innodb_log_compressed_pages = 0;
+SELECT @@global.innodb_log_compressed_pages;
+@@global.innodb_log_compressed_pages
+0
+SET @@global.innodb_log_compressed_pages ='On' ;
+SELECT @@global.innodb_log_compressed_pages;
+@@global.innodb_log_compressed_pages
+1
+SET @@global.innodb_log_compressed_pages ='Off' ;
+SELECT @@global.innodb_log_compressed_pages;
+@@global.innodb_log_compressed_pages
+0
+SET @@global.innodb_log_compressed_pages = 1;
+SELECT @@global.innodb_log_compressed_pages;
+@@global.innodb_log_compressed_pages
+1
+'#---------------------BS_STVARS_028_03----------------------#'
+SELECT IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_compressed_pages';
+IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
+COUNT(@@GLOBAL.innodb_log_compressed_pages)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_compressed_pages';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+'#---------------------BS_STVARS_028_04----------------------#'
+SELECT @@innodb_log_compressed_pages = @@GLOBAL.innodb_log_compressed_pages;
+@@innodb_log_compressed_pages = @@GLOBAL.innodb_log_compressed_pages
+1
+1 Expected
+'#---------------------BS_STVARS_028_05----------------------#'
+SELECT COUNT(@@innodb_log_compressed_pages);
+COUNT(@@innodb_log_compressed_pages)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_log_compressed_pages);
+ERROR HY000: Variable 'innodb_log_compressed_pages' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_log_compressed_pages);
+ERROR HY000: Variable 'innodb_log_compressed_pages' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
+COUNT(@@GLOBAL.innodb_log_compressed_pages)
+1
+1 Expected
+SELECT innodb_log_compressed_pages = @@SESSION.innodb_log_compressed_pages;
+ERROR 42S22: Unknown column 'innodb_log_compressed_pages' in 'field list'
+SET @@global.innodb_log_compressed_pages = @start_global_value;
+SELECT @@global.innodb_log_compressed_pages;
+@@global.innodb_log_compressed_pages
+1
diff --git a/mysql-test/suite/sys_vars/r/innodb_lru_scan_depth_basic.result b/mysql-test/suite/sys_vars/r/innodb_lru_scan_depth_basic.result
new file mode 100644
index 00000000000..80b0e3440a3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_lru_scan_depth_basic.result
@@ -0,0 +1,69 @@
+SET @start_global_value = @@global.innodb_lru_scan_depth;
+SELECT @start_global_value;
+@start_global_value
+100
+Valid value 100 or more
+select @@global.innodb_lru_scan_depth >= 100;
+@@global.innodb_lru_scan_depth >= 100
+1
+select @@global.innodb_lru_scan_depth;
+@@global.innodb_lru_scan_depth
+100
+select @@session.innodb_lru_scan_depth;
+ERROR HY000: Variable 'innodb_lru_scan_depth' is a GLOBAL variable
+show global variables like 'innodb_lru_scan_depth';
+Variable_name Value
+innodb_lru_scan_depth 100
+show session variables like 'innodb_lru_scan_depth';
+Variable_name Value
+innodb_lru_scan_depth 100
+select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LRU_SCAN_DEPTH 100
+select * from information_schema.session_variables where variable_name='innodb_lru_scan_depth';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LRU_SCAN_DEPTH 100
+set global innodb_lru_scan_depth=325;
+select @@global.innodb_lru_scan_depth;
+@@global.innodb_lru_scan_depth
+325
+select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LRU_SCAN_DEPTH 325
+select * from information_schema.session_variables where variable_name='innodb_lru_scan_depth';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LRU_SCAN_DEPTH 325
+set session innodb_lru_scan_depth=444;
+ERROR HY000: Variable 'innodb_lru_scan_depth' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_lru_scan_depth=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_lru_scan_depth'
+set global innodb_lru_scan_depth=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_lru_scan_depth'
+set global innodb_lru_scan_depth="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_lru_scan_depth'
+set global innodb_lru_scan_depth=7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_lru_scan_depth value: '7'
+select @@global.innodb_lru_scan_depth;
+@@global.innodb_lru_scan_depth
+100
+select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LRU_SCAN_DEPTH 100
+set global innodb_lru_scan_depth=-7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_lru_scan_depth value: '-7'
+select @@global.innodb_lru_scan_depth;
+@@global.innodb_lru_scan_depth
+100
+select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LRU_SCAN_DEPTH 100
+set global innodb_lru_scan_depth=100;
+select @@global.innodb_lru_scan_depth;
+@@global.innodb_lru_scan_depth
+100
+SET @@global.innodb_lru_scan_depth = @start_global_value;
+SELECT @@global.innodb_lru_scan_depth;
+@@global.innodb_lru_scan_depth
+100
diff --git a/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_basic.result b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_basic.result
index eff72613102..d705624eb53 100644
--- a/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_basic.result
@@ -4,58 +4,64 @@ SELECT @global_start_value;
75
'#--------------------FN_DYNVARS_046_01------------------------#'
SET @@global.innodb_max_dirty_pages_pct = 0;
-SET @@global.innodb_max_dirty_pages_pct = DEFAULT;
+Warnings:
+Warning 1292 Truncated incorrect innodb_max_dirty_pages_pct value: '0'
+SET @@global.innodb_max_dirty_pages_pct = @global_start_value;
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-75
+75.000000
'#---------------------FN_DYNVARS_046_02-------------------------#'
SET innodb_max_dirty_pages_pct = 1;
ERROR HY000: Variable 'innodb_max_dirty_pages_pct' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@innodb_max_dirty_pages_pct;
@@innodb_max_dirty_pages_pct
-75
+75.000000
SELECT local.innodb_max_dirty_pages_pct;
ERROR 42S02: Unknown table 'local' in field list
SET global innodb_max_dirty_pages_pct = 0;
+Warnings:
+Warning 1292 Truncated incorrect innodb_max_dirty_pages_pct value: '0'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-0
+0.001000
'#--------------------FN_DYNVARS_046_03------------------------#'
SET @@global.innodb_max_dirty_pages_pct = 0;
+Warnings:
+Warning 1292 Truncated incorrect innodb_max_dirty_pages_pct value: '0'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-0
+0.001000
SET @@global.innodb_max_dirty_pages_pct = 1;
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-1
+1.000000
SET @@global.innodb_max_dirty_pages_pct = 99;
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-99
+99.000000
'#--------------------FN_DYNVARS_046_04-------------------------#'
SET @@global.innodb_max_dirty_pages_pct = -1;
Warnings:
Warning 1292 Truncated incorrect innodb_max_dirty_pages_pct value: '-1'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-0
+0.001000
SET @@global.innodb_max_dirty_pages_pct = "T";
ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-0
+0.001000
SET @@global.innodb_max_dirty_pages_pct = "Y";
ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-0
+0.001000
SET @@global.innodb_max_dirty_pages_pct = 1001;
Warnings:
Warning 1292 Truncated incorrect innodb_max_dirty_pages_pct value: '1001'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-99
+99.999000
'#----------------------FN_DYNVARS_046_05------------------------#'
SELECT @@global.innodb_max_dirty_pages_pct =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
@@ -65,32 +71,34 @@ VARIABLE_VALUE
1
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-99
+99.999000
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct';
VARIABLE_VALUE
-99
+99.999000
'#---------------------FN_DYNVARS_046_06-------------------------#'
SET @@global.innodb_max_dirty_pages_pct = OFF;
ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-99
+99.999000
SET @@global.innodb_max_dirty_pages_pct = ON;
ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-99
+99.999000
'#---------------------FN_DYNVARS_046_07----------------------#'
SET @@global.innodb_max_dirty_pages_pct = TRUE;
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-1
+1.000000
SET @@global.innodb_max_dirty_pages_pct = FALSE;
+Warnings:
+Warning 1292 Truncated incorrect innodb_max_dirty_pages_pct value: '0'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-0
+0.001000
SET @@global.innodb_max_dirty_pages_pct = @global_start_value;
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-75
+75.000000
diff --git a/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result
index 55de5adbc33..05aa3e5fd89 100644
--- a/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result
+++ b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result
@@ -5,13 +5,13 @@ SET @@global.innodb_max_dirty_pages_pct = 80;
'connection con1'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-80
+80.000000
SET @@global.innodb_max_dirty_pages_pct = 70;
'connect (con2,localhost,root,,,,)'
'connection con2'
SELECT @@global.innodb_max_dirty_pages_pct;
@@global.innodb_max_dirty_pages_pct
-70
+70.000000
'connection default'
'disconnect con2'
'disconnect con1'
diff --git a/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_lwm_basic.result b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_lwm_basic.result
new file mode 100644
index 00000000000..676ec103664
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_lwm_basic.result
@@ -0,0 +1,109 @@
+SET @pct_lwm_start_value = @@global.innodb_max_dirty_pages_pct_lwm;
+SELECT @pct_lwm_start_value;
+@pct_lwm_start_value
+0.001
+SET @pct_start_value = @@global.innodb_max_dirty_pages_pct;
+SELECT @pct_start_value;
+@pct_start_value
+75
+'#--------------------FN_DYNVARS_046_01------------------------#'
+SET @@global.innodb_max_dirty_pages_pct_lwm = 0;
+SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_lwm_start_value;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+0.001000
+'#---------------------FN_DYNVARS_046_02-------------------------#'
+SET innodb_max_dirty_pages_pct_lwm = 1;
+ERROR HY000: Variable 'innodb_max_dirty_pages_pct_lwm' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@innodb_max_dirty_pages_pct_lwm;
+@@innodb_max_dirty_pages_pct_lwm
+0.001000
+SELECT local.innodb_max_dirty_pages_pct_lwm;
+ERROR 42S02: Unknown table 'local' in field list
+SET global innodb_max_dirty_pages_pct_lwm = 0;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+0.000000
+'#--------------------FN_DYNVARS_046_03------------------------#'
+SET @@global.innodb_max_dirty_pages_pct_lwm = 0;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+0.000000
+SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_start_value;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+75.000000
+'#--------------------FN_DYNVARS_046_04-------------------------#'
+SET @@global.innodb_max_dirty_pages_pct_lwm = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_max_dirty_pages_pct_lwm value: '-1'
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+0.000000
+SET @@global.innodb_max_dirty_pages_pct_lwm = "T";
+ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct_lwm'
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+0.000000
+SET @@global.innodb_max_dirty_pages_pct_lwm = "Y";
+ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct_lwm'
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+0.000000
+SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_start_value + 1;
+Warnings:
+Warning 1210 innodb_max_dirty_pages_pct_lwm cannot be set higher than innodb_max_dirty_pages_pct.
+Warning 1210 Setting innodb_max_dirty_page_pct_lwm to 75.000000
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+75.000000
+SET @@global.innodb_max_dirty_pages_pct_lwm = 100;
+Warnings:
+Warning 1292 Truncated incorrect innodb_max_dirty_pages_pct_lwm value: '100'
+Warning 1210 innodb_max_dirty_pages_pct_lwm cannot be set higher than innodb_max_dirty_pages_pct.
+Warning 1210 Setting innodb_max_dirty_page_pct_lwm to 75.000000
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+75.000000
+'#----------------------FN_DYNVARS_046_05------------------------#'
+SELECT @@global.innodb_max_dirty_pages_pct_lwm =
+VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct_lwm';
+@@global.innodb_max_dirty_pages_pct_lwm =
+VARIABLE_VALUE
+1
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+75.000000
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct_lwm';
+VARIABLE_VALUE
+75.000000
+'#---------------------FN_DYNVARS_046_06-------------------------#'
+SET @@global.innodb_max_dirty_pages_pct_lwm = OFF;
+ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct_lwm'
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+75.000000
+SET @@global.innodb_max_dirty_pages_pct_lwm = ON;
+ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct_lwm'
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+75.000000
+'#---------------------FN_DYNVARS_046_07----------------------#'
+SET @@global.innodb_max_dirty_pages_pct_lwm = TRUE;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+1.000000
+SET @@global.innodb_max_dirty_pages_pct_lwm = FALSE;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+0.000000
+SET @@global.innodb_max_dirty_pages_pct = @pct_start_value;
+SELECT @@global.innodb_max_dirty_pages_pct;
+@@global.innodb_max_dirty_pages_pct
+75.000000
+SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_lwm_start_value;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+@@global.innodb_max_dirty_pages_pct_lwm
+0.001000
diff --git a/mysql-test/suite/sys_vars/r/innodb_max_purge_lag_delay_basic.result b/mysql-test/suite/sys_vars/r/innodb_max_purge_lag_delay_basic.result
new file mode 100644
index 00000000000..ae42d16c2ee
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_max_purge_lag_delay_basic.result
@@ -0,0 +1,43 @@
+SELECT @@GLOBAL.innodb_max_purge_lag_delay;
+@@GLOBAL.innodb_max_purge_lag_delay
+0
+0 Expected
+SET @@GLOBAL.innodb_max_purge_lag_delay=1;
+SELECT COUNT(@@GLOBAL.innodb_max_purge_lag_delay);
+COUNT(@@GLOBAL.innodb_max_purge_lag_delay)
+1
+1 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_max_purge_lag_delay';
+VARIABLE_VALUE
+1
+1 Expected
+SELECT @@innodb_max_purge_lag_delay = @@GLOBAL.innodb_max_purge_lag_delay;
+@@innodb_max_purge_lag_delay = @@GLOBAL.innodb_max_purge_lag_delay
+1
+1 Expected
+SELECT COUNT(@@innodb_max_purge_lag_delay);
+COUNT(@@innodb_max_purge_lag_delay)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_max_purge_lag_delay);
+ERROR HY000: Variable 'innodb_max_purge_lag_delay' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_max_purge_lag_delay);
+ERROR HY000: Variable 'innodb_max_purge_lag_delay' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT innodb_max_purge_lag_delay = @@SESSION.innodb_max_purge_lag_delay;
+ERROR 42S22: Unknown column 'innodb_max_purge_lag_delay' in 'field list'
+set global innodb_max_purge_lag_delay = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_max_purge_lag_delay value: '-1'
+set global innodb_max_purge_lag_delay = 1000000;
+set global innodb_max_purge_lag_delay = 10000000;
+set global innodb_max_purge_lag_delay = 100000000;
+Warnings:
+Warning 1292 Truncated incorrect innodb_max_purge_lag_delay value: '100000000'
+set global innodb_max_purge_lag_delay = 100000001;
+Warnings:
+Warning 1292 Truncated incorrect innodb_max_purge_lag_delay value: '100000001'
+set global innodb_max_purge_lag_delay = 0;
diff --git a/mysql-test/suite/sys_vars/r/innodb_merge_sort_block_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_merge_sort_block_size_basic.result
deleted file mode 100644
index 90c2954e43d..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_merge_sort_block_size_basic.result
+++ /dev/null
@@ -1,24 +0,0 @@
-SELECT @@global.innodb_merge_sort_block_size;
-@@global.innodb_merge_sort_block_size
-1048576
-SELECT @@session.innodb_merge_sort_block_size;
-@@session.innodb_merge_sort_block_size
-1048576
-SET @old_global=@@global.innodb_merge_sort_block_size;
-SET @old_session=@@session.innodb_merge_sort_block_size;
-SET @@global.innodb_merge_sort_block_size = 2*1024*1024;
-SET @@session.innodb_merge_sort_block_size = 4*1024*1024;
-SELECT @@global.innodb_merge_sort_block_size;
-@@global.innodb_merge_sort_block_size
-2097152
-SELECT @@session.innodb_merge_sort_block_size;
-@@session.innodb_merge_sort_block_size
-4194304
-SET @@global.innodb_merge_sort_block_size = 1024*1024*1024+1;
-Warnings:
-Warning 1292 Truncated incorrect innodb_merge_sort_block_size value: '1073741825'
-SELECT @@global.innodb_merge_sort_block_size;
-@@global.innodb_merge_sort_block_size
-1073741824
-SET @@global.innodb_merge_sort_block_size=@old_global;
-SET @@session.innodb_merge_sort_block_size=@old_session;
diff --git a/mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result b/mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result
new file mode 100644
index 00000000000..f7a02ed3548
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result
@@ -0,0 +1,607 @@
+set global innodb_monitor_disable = All;
+select name, status from information_schema.innodb_metrics;
+name status
+metadata_table_handles_opened disabled
+metadata_table_handles_closed disabled
+metadata_table_reference_count disabled
+metadata_mem_pool_size disabled
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+buffer_pool_size disabled
+buffer_pool_reads disabled
+buffer_pool_read_requests disabled
+buffer_pool_write_requests disabled
+buffer_pool_wait_free disabled
+buffer_pool_read_ahead disabled
+buffer_pool_read_ahead_evicted disabled
+buffer_pool_pages_total disabled
+buffer_pool_pages_misc disabled
+buffer_pool_pages_data disabled
+buffer_pool_bytes_data disabled
+buffer_pool_pages_dirty disabled
+buffer_pool_bytes_dirty disabled
+buffer_pool_pages_free disabled
+buffer_pages_created disabled
+buffer_pages_written disabled
+buffer_index_pages_written disabled
+buffer_non_index_pages_written disabled
+buffer_pages_read disabled
+buffer_pages0_read disabled
+buffer_index_sec_rec_cluster_reads disabled
+buffer_index_sec_rec_cluster_reads_avoided disabled
+buffer_data_reads disabled
+buffer_data_written disabled
+buffer_flush_batch_scanned disabled
+buffer_flush_batch_num_scan disabled
+buffer_flush_batch_scanned_per_call disabled
+buffer_flush_batch_rescan disabled
+buffer_flush_batch_total_pages disabled
+buffer_flush_batches disabled
+buffer_flush_batch_pages disabled
+buffer_flush_neighbor_total_pages disabled
+buffer_flush_neighbor disabled
+buffer_flush_neighbor_pages disabled
+buffer_flush_n_to_flush_requested disabled
+buffer_flush_avg_page_rate disabled
+buffer_flush_lsn_avg_rate disabled
+buffer_flush_pct_for_dirty disabled
+buffer_flush_pct_for_lsn disabled
+buffer_flush_sync_waits disabled
+buffer_flush_adaptive_total_pages disabled
+buffer_flush_adaptive disabled
+buffer_flush_adaptive_pages disabled
+buffer_flush_sync_total_pages disabled
+buffer_flush_sync disabled
+buffer_flush_sync_pages disabled
+buffer_flush_background_total_pages disabled
+buffer_flush_background disabled
+buffer_flush_background_pages disabled
+buffer_LRU_batch_scanned disabled
+buffer_LRU_batch_num_scan disabled
+buffer_LRU_batch_scanned_per_call disabled
+buffer_LRU_batch_flush_total_pages disabled
+buffer_LRU_batches_flush disabled
+buffer_LRU_batch_flush_pages disabled
+buffer_LRU_batch_evict_total_pages disabled
+buffer_LRU_batches_evict disabled
+buffer_LRU_batch_evict_pages disabled
+buffer_LRU_single_flush_scanned disabled
+buffer_LRU_single_flush_num_scan disabled
+buffer_LRU_single_flush_scanned_per_call disabled
+buffer_LRU_single_flush_failure_count disabled
+buffer_LRU_get_free_search disabled
+buffer_LRU_search_scanned disabled
+buffer_LRU_search_num_scan disabled
+buffer_LRU_search_scanned_per_call disabled
+buffer_LRU_unzip_search_scanned disabled
+buffer_LRU_unzip_search_num_scan disabled
+buffer_LRU_unzip_search_scanned_per_call disabled
+buffer_page_read_index_leaf disabled
+buffer_page_read_index_non_leaf disabled
+buffer_page_read_index_ibuf_leaf disabled
+buffer_page_read_index_ibuf_non_leaf disabled
+buffer_page_read_undo_log disabled
+buffer_page_read_index_inode disabled
+buffer_page_read_ibuf_free_list disabled
+buffer_page_read_ibuf_bitmap disabled
+buffer_page_read_system_page disabled
+buffer_page_read_trx_system disabled
+buffer_page_read_fsp_hdr disabled
+buffer_page_read_xdes disabled
+buffer_page_read_blob disabled
+buffer_page_read_zblob disabled
+buffer_page_read_zblob2 disabled
+buffer_page_read_other disabled
+buffer_page_written_index_leaf disabled
+buffer_page_written_index_non_leaf disabled
+buffer_page_written_index_ibuf_leaf disabled
+buffer_page_written_index_ibuf_non_leaf disabled
+buffer_page_written_undo_log disabled
+buffer_page_written_index_inode disabled
+buffer_page_written_ibuf_free_list disabled
+buffer_page_written_ibuf_bitmap disabled
+buffer_page_written_system_page disabled
+buffer_page_written_trx_system disabled
+buffer_page_written_fsp_hdr disabled
+buffer_page_written_xdes disabled
+buffer_page_written_blob disabled
+buffer_page_written_zblob disabled
+buffer_page_written_zblob2 disabled
+buffer_page_written_other disabled
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs disabled
+os_pending_reads disabled
+os_pending_writes disabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs disabled
+os_log_pending_writes disabled
+trx_rw_commits disabled
+trx_ro_commits disabled
+trx_nl_ro_commits disabled
+trx_commits_insert_update disabled
+trx_rollbacks disabled
+trx_rollbacks_savepoint disabled
+trx_rollback_active disabled
+trx_active_transactions disabled
+trx_rseg_history_len disabled
+trx_undo_slots_used disabled
+trx_undo_slots_cached disabled
+trx_rseg_current_size disabled
+purge_del_mark_records disabled
+purge_upd_exist_or_extern_records disabled
+purge_invoked disabled
+purge_undo_log_pages disabled
+purge_dml_delay_usec disabled
+purge_stop_count disabled
+purge_resume_count disabled
+log_checkpoints disabled
+log_lsn_last_flush disabled
+log_lsn_last_checkpoint disabled
+log_lsn_current disabled
+log_lsn_checkpoint_age disabled
+log_lsn_buf_pool_oldest disabled
+log_max_modified_age_async disabled
+log_max_modified_age_sync disabled
+log_pending_log_writes disabled
+log_pending_checkpoint_writes disabled
+log_num_log_io disabled
+log_waits disabled
+log_write_requests disabled
+log_writes disabled
+compress_pages_compressed disabled
+compress_pages_decompressed disabled
+compression_pad_increments disabled
+compression_pad_decrements disabled
+compress_saved disabled
+compress_trim_sect512 disabled
+compress_trim_sect1024 disabled
+compress_trim_sect2048 disabled
+compress_trim_sect4096 disabled
+compress_trim_sect8192 disabled
+compress_trim_sect16384 disabled
+compress_trim_sect32768 disabled
+compress_pages_page_compressed disabled
+compress_page_compressed_trim_op disabled
+compress_page_compressed_trim_op_saved disabled
+compress_pages_page_decompressed disabled
+compress_pages_page_compression_error disabled
+compress_pages_encrypted disabled
+compress_pages_decrypted disabled
+index_page_splits disabled
+index_page_merge_attempts disabled
+index_page_merge_successful disabled
+index_page_reorg_attempts disabled
+index_page_reorg_successful disabled
+index_page_discards disabled
+adaptive_hash_searches disabled
+adaptive_hash_searches_btree disabled
+adaptive_hash_pages_added disabled
+adaptive_hash_pages_removed disabled
+adaptive_hash_rows_added disabled
+adaptive_hash_rows_removed disabled
+adaptive_hash_rows_deleted_no_hash_entry disabled
+adaptive_hash_rows_updated disabled
+file_num_open_files disabled
+ibuf_merges_insert disabled
+ibuf_merges_delete_mark disabled
+ibuf_merges_delete disabled
+ibuf_merges_discard_insert disabled
+ibuf_merges_discard_delete_mark disabled
+ibuf_merges_discard_delete disabled
+ibuf_merges disabled
+ibuf_size disabled
+innodb_master_thread_sleeps disabled
+innodb_activity_count disabled
+innodb_master_active_loops disabled
+innodb_master_idle_loops disabled
+innodb_background_drop_table_usec disabled
+innodb_ibuf_merge_usec disabled
+innodb_log_flush_usec disabled
+innodb_mem_validate_usec disabled
+innodb_master_purge_usec disabled
+innodb_dict_lru_usec disabled
+innodb_dict_lru_count_active disabled
+innodb_dict_lru_count_idle disabled
+innodb_checkpoint_usec disabled
+innodb_dblwr_writes disabled
+innodb_dblwr_pages_written disabled
+innodb_page_size disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+dml_reads disabled
+dml_inserts disabled
+dml_deletes disabled
+dml_updates disabled
+dml_system_reads disabled
+dml_system_inserts disabled
+dml_system_deletes disabled
+dml_system_updates disabled
+ddl_background_drop_indexes disabled
+ddl_background_drop_tables disabled
+ddl_online_create_index disabled
+ddl_pending_alter_table disabled
+icp_attempts disabled
+icp_no_match disabled
+icp_out_of_range disabled
+icp_match disabled
+set global innodb_monitor_enable = all;
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_enable = aaa;
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of 'aaa'
+set global innodb_monitor_disable = All;
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_reset_all = all;
+select name from information_schema.innodb_metrics where count!=0;
+name
+set global innodb_monitor_enable = "%lock%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+name
+set global innodb_monitor_disable = "%lock%";
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+name status
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+set global innodb_monitor_enable = "%lock*";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '%lock*'
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%%%%%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%_%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="log%%%%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+name
+set global innodb_monitor_enable="os_%a_fs_ncs";
+set global innodb_monitor_enable="os%pending%";
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+name status
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs enabled
+os_pending_reads enabled
+os_pending_writes enabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs enabled
+os_log_pending_writes enabled
+set global innodb_monitor_enable="";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of ''
+set global innodb_monitor_enable="_";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '_'
+SET global innodb_monitor_disable = module_metadata;
+SET global innodb_monitor_reset_all = module_metadata;
+set global innodb_monitor_enable = metadata_table_handles_opened;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 NULL NULL 0 enabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_disable = metadata_table_handles_opened;
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = metadata_table_handles_opened;
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_enable = metadata_table_handles_closed;
+create index idx on monitor_test(col);
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 2 NULL 2 enabled
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_metadata;
+set global innodb_monitor_reset = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+metadata_table_handles_closed 1 NULL 1 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+metadata_table_handles_closed NULL NULL 0 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = module_trx;
+begin;
+insert into monitor_test values(9);
+commit;
+begin;
+insert into monitor_test values(9);
+rollback;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+trx_rollbacks 1 NULL 1 1 NULL 1 enabled
+trx_active_transactions 1 0 0 1 0 0 enabled
+set global innodb_monitor_disable = module_trx;
+set global innodb_monitor_enable = module_dml;
+insert into monitor_test values(9);
+update monitor_test set col = 10 where col = 9;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 4 NULL 4 4 NULL 4 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 0 NULL 0 0 NULL 0 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 6 NULL 6 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 2 NULL 2 2 NULL 2 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 0 NULL 0 enabled
+dml_inserts 1 NULL 1 0 NULL 0 enabled
+dml_deletes 2 NULL 2 0 NULL 0 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_disable = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 disabled
+dml_inserts 3 NULL 3 2 NULL 2 disabled
+dml_deletes 4 NULL 4 2 NULL 2 disabled
+dml_updates 2 NULL 2 0 NULL 0 disabled
+dml_system_reads 0 NULL 0 0 NULL 0 disabled
+dml_system_inserts 0 NULL 0 0 NULL 0 disabled
+dml_system_deletes 0 NULL 0 0 NULL 0 disabled
+dml_system_updates 0 NULL 0 0 NULL 0 disabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = dml_inserts;
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts 2 NULL 2 2 NULL 2 enabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_dml;
+drop table monitor_test;
+set global innodb_monitor_enable = file_num_open_files;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+file_num_open_files # # # # # # enabled
+set global innodb_monitor_disable = file_num_open_files;
+set global innodb_monitor_enable = "icp%";
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+insert into monitor_test values("13", 2, "aa");
+select a from monitor_test where b < 1 for update;
+a
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 1
+icp_no_match 0
+icp_out_of_range 1
+icp_match 0
+select a from monitor_test where b < 3 for update;
+a
+13
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 2
+icp_no_match 0
+icp_out_of_range 1
+icp_match 1
+drop table monitor_test;
+set global innodb_monitor_disable = All;
+set global innodb_monitor_reset_all = all;
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result b/mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result
new file mode 100644
index 00000000000..f7a02ed3548
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result
@@ -0,0 +1,607 @@
+set global innodb_monitor_disable = All;
+select name, status from information_schema.innodb_metrics;
+name status
+metadata_table_handles_opened disabled
+metadata_table_handles_closed disabled
+metadata_table_reference_count disabled
+metadata_mem_pool_size disabled
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+buffer_pool_size disabled
+buffer_pool_reads disabled
+buffer_pool_read_requests disabled
+buffer_pool_write_requests disabled
+buffer_pool_wait_free disabled
+buffer_pool_read_ahead disabled
+buffer_pool_read_ahead_evicted disabled
+buffer_pool_pages_total disabled
+buffer_pool_pages_misc disabled
+buffer_pool_pages_data disabled
+buffer_pool_bytes_data disabled
+buffer_pool_pages_dirty disabled
+buffer_pool_bytes_dirty disabled
+buffer_pool_pages_free disabled
+buffer_pages_created disabled
+buffer_pages_written disabled
+buffer_index_pages_written disabled
+buffer_non_index_pages_written disabled
+buffer_pages_read disabled
+buffer_pages0_read disabled
+buffer_index_sec_rec_cluster_reads disabled
+buffer_index_sec_rec_cluster_reads_avoided disabled
+buffer_data_reads disabled
+buffer_data_written disabled
+buffer_flush_batch_scanned disabled
+buffer_flush_batch_num_scan disabled
+buffer_flush_batch_scanned_per_call disabled
+buffer_flush_batch_rescan disabled
+buffer_flush_batch_total_pages disabled
+buffer_flush_batches disabled
+buffer_flush_batch_pages disabled
+buffer_flush_neighbor_total_pages disabled
+buffer_flush_neighbor disabled
+buffer_flush_neighbor_pages disabled
+buffer_flush_n_to_flush_requested disabled
+buffer_flush_avg_page_rate disabled
+buffer_flush_lsn_avg_rate disabled
+buffer_flush_pct_for_dirty disabled
+buffer_flush_pct_for_lsn disabled
+buffer_flush_sync_waits disabled
+buffer_flush_adaptive_total_pages disabled
+buffer_flush_adaptive disabled
+buffer_flush_adaptive_pages disabled
+buffer_flush_sync_total_pages disabled
+buffer_flush_sync disabled
+buffer_flush_sync_pages disabled
+buffer_flush_background_total_pages disabled
+buffer_flush_background disabled
+buffer_flush_background_pages disabled
+buffer_LRU_batch_scanned disabled
+buffer_LRU_batch_num_scan disabled
+buffer_LRU_batch_scanned_per_call disabled
+buffer_LRU_batch_flush_total_pages disabled
+buffer_LRU_batches_flush disabled
+buffer_LRU_batch_flush_pages disabled
+buffer_LRU_batch_evict_total_pages disabled
+buffer_LRU_batches_evict disabled
+buffer_LRU_batch_evict_pages disabled
+buffer_LRU_single_flush_scanned disabled
+buffer_LRU_single_flush_num_scan disabled
+buffer_LRU_single_flush_scanned_per_call disabled
+buffer_LRU_single_flush_failure_count disabled
+buffer_LRU_get_free_search disabled
+buffer_LRU_search_scanned disabled
+buffer_LRU_search_num_scan disabled
+buffer_LRU_search_scanned_per_call disabled
+buffer_LRU_unzip_search_scanned disabled
+buffer_LRU_unzip_search_num_scan disabled
+buffer_LRU_unzip_search_scanned_per_call disabled
+buffer_page_read_index_leaf disabled
+buffer_page_read_index_non_leaf disabled
+buffer_page_read_index_ibuf_leaf disabled
+buffer_page_read_index_ibuf_non_leaf disabled
+buffer_page_read_undo_log disabled
+buffer_page_read_index_inode disabled
+buffer_page_read_ibuf_free_list disabled
+buffer_page_read_ibuf_bitmap disabled
+buffer_page_read_system_page disabled
+buffer_page_read_trx_system disabled
+buffer_page_read_fsp_hdr disabled
+buffer_page_read_xdes disabled
+buffer_page_read_blob disabled
+buffer_page_read_zblob disabled
+buffer_page_read_zblob2 disabled
+buffer_page_read_other disabled
+buffer_page_written_index_leaf disabled
+buffer_page_written_index_non_leaf disabled
+buffer_page_written_index_ibuf_leaf disabled
+buffer_page_written_index_ibuf_non_leaf disabled
+buffer_page_written_undo_log disabled
+buffer_page_written_index_inode disabled
+buffer_page_written_ibuf_free_list disabled
+buffer_page_written_ibuf_bitmap disabled
+buffer_page_written_system_page disabled
+buffer_page_written_trx_system disabled
+buffer_page_written_fsp_hdr disabled
+buffer_page_written_xdes disabled
+buffer_page_written_blob disabled
+buffer_page_written_zblob disabled
+buffer_page_written_zblob2 disabled
+buffer_page_written_other disabled
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs disabled
+os_pending_reads disabled
+os_pending_writes disabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs disabled
+os_log_pending_writes disabled
+trx_rw_commits disabled
+trx_ro_commits disabled
+trx_nl_ro_commits disabled
+trx_commits_insert_update disabled
+trx_rollbacks disabled
+trx_rollbacks_savepoint disabled
+trx_rollback_active disabled
+trx_active_transactions disabled
+trx_rseg_history_len disabled
+trx_undo_slots_used disabled
+trx_undo_slots_cached disabled
+trx_rseg_current_size disabled
+purge_del_mark_records disabled
+purge_upd_exist_or_extern_records disabled
+purge_invoked disabled
+purge_undo_log_pages disabled
+purge_dml_delay_usec disabled
+purge_stop_count disabled
+purge_resume_count disabled
+log_checkpoints disabled
+log_lsn_last_flush disabled
+log_lsn_last_checkpoint disabled
+log_lsn_current disabled
+log_lsn_checkpoint_age disabled
+log_lsn_buf_pool_oldest disabled
+log_max_modified_age_async disabled
+log_max_modified_age_sync disabled
+log_pending_log_writes disabled
+log_pending_checkpoint_writes disabled
+log_num_log_io disabled
+log_waits disabled
+log_write_requests disabled
+log_writes disabled
+compress_pages_compressed disabled
+compress_pages_decompressed disabled
+compression_pad_increments disabled
+compression_pad_decrements disabled
+compress_saved disabled
+compress_trim_sect512 disabled
+compress_trim_sect1024 disabled
+compress_trim_sect2048 disabled
+compress_trim_sect4096 disabled
+compress_trim_sect8192 disabled
+compress_trim_sect16384 disabled
+compress_trim_sect32768 disabled
+compress_pages_page_compressed disabled
+compress_page_compressed_trim_op disabled
+compress_page_compressed_trim_op_saved disabled
+compress_pages_page_decompressed disabled
+compress_pages_page_compression_error disabled
+compress_pages_encrypted disabled
+compress_pages_decrypted disabled
+index_page_splits disabled
+index_page_merge_attempts disabled
+index_page_merge_successful disabled
+index_page_reorg_attempts disabled
+index_page_reorg_successful disabled
+index_page_discards disabled
+adaptive_hash_searches disabled
+adaptive_hash_searches_btree disabled
+adaptive_hash_pages_added disabled
+adaptive_hash_pages_removed disabled
+adaptive_hash_rows_added disabled
+adaptive_hash_rows_removed disabled
+adaptive_hash_rows_deleted_no_hash_entry disabled
+adaptive_hash_rows_updated disabled
+file_num_open_files disabled
+ibuf_merges_insert disabled
+ibuf_merges_delete_mark disabled
+ibuf_merges_delete disabled
+ibuf_merges_discard_insert disabled
+ibuf_merges_discard_delete_mark disabled
+ibuf_merges_discard_delete disabled
+ibuf_merges disabled
+ibuf_size disabled
+innodb_master_thread_sleeps disabled
+innodb_activity_count disabled
+innodb_master_active_loops disabled
+innodb_master_idle_loops disabled
+innodb_background_drop_table_usec disabled
+innodb_ibuf_merge_usec disabled
+innodb_log_flush_usec disabled
+innodb_mem_validate_usec disabled
+innodb_master_purge_usec disabled
+innodb_dict_lru_usec disabled
+innodb_dict_lru_count_active disabled
+innodb_dict_lru_count_idle disabled
+innodb_checkpoint_usec disabled
+innodb_dblwr_writes disabled
+innodb_dblwr_pages_written disabled
+innodb_page_size disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+dml_reads disabled
+dml_inserts disabled
+dml_deletes disabled
+dml_updates disabled
+dml_system_reads disabled
+dml_system_inserts disabled
+dml_system_deletes disabled
+dml_system_updates disabled
+ddl_background_drop_indexes disabled
+ddl_background_drop_tables disabled
+ddl_online_create_index disabled
+ddl_pending_alter_table disabled
+icp_attempts disabled
+icp_no_match disabled
+icp_out_of_range disabled
+icp_match disabled
+set global innodb_monitor_enable = all;
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_enable = aaa;
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of 'aaa'
+set global innodb_monitor_disable = All;
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_reset_all = all;
+select name from information_schema.innodb_metrics where count!=0;
+name
+set global innodb_monitor_enable = "%lock%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+name
+set global innodb_monitor_disable = "%lock%";
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+name status
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+set global innodb_monitor_enable = "%lock*";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '%lock*'
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%%%%%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%_%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="log%%%%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+name
+set global innodb_monitor_enable="os_%a_fs_ncs";
+set global innodb_monitor_enable="os%pending%";
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+name status
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs enabled
+os_pending_reads enabled
+os_pending_writes enabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs enabled
+os_log_pending_writes enabled
+set global innodb_monitor_enable="";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of ''
+set global innodb_monitor_enable="_";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '_'
+SET global innodb_monitor_disable = module_metadata;
+SET global innodb_monitor_reset_all = module_metadata;
+set global innodb_monitor_enable = metadata_table_handles_opened;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 NULL NULL 0 enabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_disable = metadata_table_handles_opened;
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = metadata_table_handles_opened;
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_enable = metadata_table_handles_closed;
+create index idx on monitor_test(col);
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 2 NULL 2 enabled
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_metadata;
+set global innodb_monitor_reset = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+metadata_table_handles_closed 1 NULL 1 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+metadata_table_handles_closed NULL NULL 0 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = module_trx;
+begin;
+insert into monitor_test values(9);
+commit;
+begin;
+insert into monitor_test values(9);
+rollback;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+trx_rollbacks 1 NULL 1 1 NULL 1 enabled
+trx_active_transactions 1 0 0 1 0 0 enabled
+set global innodb_monitor_disable = module_trx;
+set global innodb_monitor_enable = module_dml;
+insert into monitor_test values(9);
+update monitor_test set col = 10 where col = 9;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 4 NULL 4 4 NULL 4 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 0 NULL 0 0 NULL 0 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 6 NULL 6 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 2 NULL 2 2 NULL 2 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 0 NULL 0 enabled
+dml_inserts 1 NULL 1 0 NULL 0 enabled
+dml_deletes 2 NULL 2 0 NULL 0 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_disable = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 disabled
+dml_inserts 3 NULL 3 2 NULL 2 disabled
+dml_deletes 4 NULL 4 2 NULL 2 disabled
+dml_updates 2 NULL 2 0 NULL 0 disabled
+dml_system_reads 0 NULL 0 0 NULL 0 disabled
+dml_system_inserts 0 NULL 0 0 NULL 0 disabled
+dml_system_deletes 0 NULL 0 0 NULL 0 disabled
+dml_system_updates 0 NULL 0 0 NULL 0 disabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = dml_inserts;
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts 2 NULL 2 2 NULL 2 enabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_dml;
+drop table monitor_test;
+set global innodb_monitor_enable = file_num_open_files;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+file_num_open_files # # # # # # enabled
+set global innodb_monitor_disable = file_num_open_files;
+set global innodb_monitor_enable = "icp%";
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+insert into monitor_test values("13", 2, "aa");
+select a from monitor_test where b < 1 for update;
+a
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 1
+icp_no_match 0
+icp_out_of_range 1
+icp_match 0
+select a from monitor_test where b < 3 for update;
+a
+13
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 2
+icp_no_match 0
+icp_out_of_range 1
+icp_match 1
+drop table monitor_test;
+set global innodb_monitor_disable = All;
+set global innodb_monitor_reset_all = all;
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result b/mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result
new file mode 100644
index 00000000000..f7a02ed3548
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result
@@ -0,0 +1,607 @@
+set global innodb_monitor_disable = All;
+select name, status from information_schema.innodb_metrics;
+name status
+metadata_table_handles_opened disabled
+metadata_table_handles_closed disabled
+metadata_table_reference_count disabled
+metadata_mem_pool_size disabled
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+buffer_pool_size disabled
+buffer_pool_reads disabled
+buffer_pool_read_requests disabled
+buffer_pool_write_requests disabled
+buffer_pool_wait_free disabled
+buffer_pool_read_ahead disabled
+buffer_pool_read_ahead_evicted disabled
+buffer_pool_pages_total disabled
+buffer_pool_pages_misc disabled
+buffer_pool_pages_data disabled
+buffer_pool_bytes_data disabled
+buffer_pool_pages_dirty disabled
+buffer_pool_bytes_dirty disabled
+buffer_pool_pages_free disabled
+buffer_pages_created disabled
+buffer_pages_written disabled
+buffer_index_pages_written disabled
+buffer_non_index_pages_written disabled
+buffer_pages_read disabled
+buffer_pages0_read disabled
+buffer_index_sec_rec_cluster_reads disabled
+buffer_index_sec_rec_cluster_reads_avoided disabled
+buffer_data_reads disabled
+buffer_data_written disabled
+buffer_flush_batch_scanned disabled
+buffer_flush_batch_num_scan disabled
+buffer_flush_batch_scanned_per_call disabled
+buffer_flush_batch_rescan disabled
+buffer_flush_batch_total_pages disabled
+buffer_flush_batches disabled
+buffer_flush_batch_pages disabled
+buffer_flush_neighbor_total_pages disabled
+buffer_flush_neighbor disabled
+buffer_flush_neighbor_pages disabled
+buffer_flush_n_to_flush_requested disabled
+buffer_flush_avg_page_rate disabled
+buffer_flush_lsn_avg_rate disabled
+buffer_flush_pct_for_dirty disabled
+buffer_flush_pct_for_lsn disabled
+buffer_flush_sync_waits disabled
+buffer_flush_adaptive_total_pages disabled
+buffer_flush_adaptive disabled
+buffer_flush_adaptive_pages disabled
+buffer_flush_sync_total_pages disabled
+buffer_flush_sync disabled
+buffer_flush_sync_pages disabled
+buffer_flush_background_total_pages disabled
+buffer_flush_background disabled
+buffer_flush_background_pages disabled
+buffer_LRU_batch_scanned disabled
+buffer_LRU_batch_num_scan disabled
+buffer_LRU_batch_scanned_per_call disabled
+buffer_LRU_batch_flush_total_pages disabled
+buffer_LRU_batches_flush disabled
+buffer_LRU_batch_flush_pages disabled
+buffer_LRU_batch_evict_total_pages disabled
+buffer_LRU_batches_evict disabled
+buffer_LRU_batch_evict_pages disabled
+buffer_LRU_single_flush_scanned disabled
+buffer_LRU_single_flush_num_scan disabled
+buffer_LRU_single_flush_scanned_per_call disabled
+buffer_LRU_single_flush_failure_count disabled
+buffer_LRU_get_free_search disabled
+buffer_LRU_search_scanned disabled
+buffer_LRU_search_num_scan disabled
+buffer_LRU_search_scanned_per_call disabled
+buffer_LRU_unzip_search_scanned disabled
+buffer_LRU_unzip_search_num_scan disabled
+buffer_LRU_unzip_search_scanned_per_call disabled
+buffer_page_read_index_leaf disabled
+buffer_page_read_index_non_leaf disabled
+buffer_page_read_index_ibuf_leaf disabled
+buffer_page_read_index_ibuf_non_leaf disabled
+buffer_page_read_undo_log disabled
+buffer_page_read_index_inode disabled
+buffer_page_read_ibuf_free_list disabled
+buffer_page_read_ibuf_bitmap disabled
+buffer_page_read_system_page disabled
+buffer_page_read_trx_system disabled
+buffer_page_read_fsp_hdr disabled
+buffer_page_read_xdes disabled
+buffer_page_read_blob disabled
+buffer_page_read_zblob disabled
+buffer_page_read_zblob2 disabled
+buffer_page_read_other disabled
+buffer_page_written_index_leaf disabled
+buffer_page_written_index_non_leaf disabled
+buffer_page_written_index_ibuf_leaf disabled
+buffer_page_written_index_ibuf_non_leaf disabled
+buffer_page_written_undo_log disabled
+buffer_page_written_index_inode disabled
+buffer_page_written_ibuf_free_list disabled
+buffer_page_written_ibuf_bitmap disabled
+buffer_page_written_system_page disabled
+buffer_page_written_trx_system disabled
+buffer_page_written_fsp_hdr disabled
+buffer_page_written_xdes disabled
+buffer_page_written_blob disabled
+buffer_page_written_zblob disabled
+buffer_page_written_zblob2 disabled
+buffer_page_written_other disabled
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs disabled
+os_pending_reads disabled
+os_pending_writes disabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs disabled
+os_log_pending_writes disabled
+trx_rw_commits disabled
+trx_ro_commits disabled
+trx_nl_ro_commits disabled
+trx_commits_insert_update disabled
+trx_rollbacks disabled
+trx_rollbacks_savepoint disabled
+trx_rollback_active disabled
+trx_active_transactions disabled
+trx_rseg_history_len disabled
+trx_undo_slots_used disabled
+trx_undo_slots_cached disabled
+trx_rseg_current_size disabled
+purge_del_mark_records disabled
+purge_upd_exist_or_extern_records disabled
+purge_invoked disabled
+purge_undo_log_pages disabled
+purge_dml_delay_usec disabled
+purge_stop_count disabled
+purge_resume_count disabled
+log_checkpoints disabled
+log_lsn_last_flush disabled
+log_lsn_last_checkpoint disabled
+log_lsn_current disabled
+log_lsn_checkpoint_age disabled
+log_lsn_buf_pool_oldest disabled
+log_max_modified_age_async disabled
+log_max_modified_age_sync disabled
+log_pending_log_writes disabled
+log_pending_checkpoint_writes disabled
+log_num_log_io disabled
+log_waits disabled
+log_write_requests disabled
+log_writes disabled
+compress_pages_compressed disabled
+compress_pages_decompressed disabled
+compression_pad_increments disabled
+compression_pad_decrements disabled
+compress_saved disabled
+compress_trim_sect512 disabled
+compress_trim_sect1024 disabled
+compress_trim_sect2048 disabled
+compress_trim_sect4096 disabled
+compress_trim_sect8192 disabled
+compress_trim_sect16384 disabled
+compress_trim_sect32768 disabled
+compress_pages_page_compressed disabled
+compress_page_compressed_trim_op disabled
+compress_page_compressed_trim_op_saved disabled
+compress_pages_page_decompressed disabled
+compress_pages_page_compression_error disabled
+compress_pages_encrypted disabled
+compress_pages_decrypted disabled
+index_page_splits disabled
+index_page_merge_attempts disabled
+index_page_merge_successful disabled
+index_page_reorg_attempts disabled
+index_page_reorg_successful disabled
+index_page_discards disabled
+adaptive_hash_searches disabled
+adaptive_hash_searches_btree disabled
+adaptive_hash_pages_added disabled
+adaptive_hash_pages_removed disabled
+adaptive_hash_rows_added disabled
+adaptive_hash_rows_removed disabled
+adaptive_hash_rows_deleted_no_hash_entry disabled
+adaptive_hash_rows_updated disabled
+file_num_open_files disabled
+ibuf_merges_insert disabled
+ibuf_merges_delete_mark disabled
+ibuf_merges_delete disabled
+ibuf_merges_discard_insert disabled
+ibuf_merges_discard_delete_mark disabled
+ibuf_merges_discard_delete disabled
+ibuf_merges disabled
+ibuf_size disabled
+innodb_master_thread_sleeps disabled
+innodb_activity_count disabled
+innodb_master_active_loops disabled
+innodb_master_idle_loops disabled
+innodb_background_drop_table_usec disabled
+innodb_ibuf_merge_usec disabled
+innodb_log_flush_usec disabled
+innodb_mem_validate_usec disabled
+innodb_master_purge_usec disabled
+innodb_dict_lru_usec disabled
+innodb_dict_lru_count_active disabled
+innodb_dict_lru_count_idle disabled
+innodb_checkpoint_usec disabled
+innodb_dblwr_writes disabled
+innodb_dblwr_pages_written disabled
+innodb_page_size disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+dml_reads disabled
+dml_inserts disabled
+dml_deletes disabled
+dml_updates disabled
+dml_system_reads disabled
+dml_system_inserts disabled
+dml_system_deletes disabled
+dml_system_updates disabled
+ddl_background_drop_indexes disabled
+ddl_background_drop_tables disabled
+ddl_online_create_index disabled
+ddl_pending_alter_table disabled
+icp_attempts disabled
+icp_no_match disabled
+icp_out_of_range disabled
+icp_match disabled
+set global innodb_monitor_enable = all;
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_enable = aaa;
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of 'aaa'
+set global innodb_monitor_disable = All;
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_reset_all = all;
+select name from information_schema.innodb_metrics where count!=0;
+name
+set global innodb_monitor_enable = "%lock%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+name
+set global innodb_monitor_disable = "%lock%";
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+name status
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+set global innodb_monitor_enable = "%lock*";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '%lock*'
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%%%%%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%_%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="log%%%%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+name
+set global innodb_monitor_enable="os_%a_fs_ncs";
+set global innodb_monitor_enable="os%pending%";
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+name status
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs enabled
+os_pending_reads enabled
+os_pending_writes enabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs enabled
+os_log_pending_writes enabled
+set global innodb_monitor_enable="";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of ''
+set global innodb_monitor_enable="_";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '_'
+SET global innodb_monitor_disable = module_metadata;
+SET global innodb_monitor_reset_all = module_metadata;
+set global innodb_monitor_enable = metadata_table_handles_opened;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 NULL NULL 0 enabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_disable = metadata_table_handles_opened;
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = metadata_table_handles_opened;
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_enable = metadata_table_handles_closed;
+create index idx on monitor_test(col);
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 2 NULL 2 enabled
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_metadata;
+set global innodb_monitor_reset = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+metadata_table_handles_closed 1 NULL 1 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+metadata_table_handles_closed NULL NULL 0 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = module_trx;
+begin;
+insert into monitor_test values(9);
+commit;
+begin;
+insert into monitor_test values(9);
+rollback;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+trx_rollbacks 1 NULL 1 1 NULL 1 enabled
+trx_active_transactions 1 0 0 1 0 0 enabled
+set global innodb_monitor_disable = module_trx;
+set global innodb_monitor_enable = module_dml;
+insert into monitor_test values(9);
+update monitor_test set col = 10 where col = 9;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 4 NULL 4 4 NULL 4 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 0 NULL 0 0 NULL 0 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 6 NULL 6 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 2 NULL 2 2 NULL 2 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 0 NULL 0 enabled
+dml_inserts 1 NULL 1 0 NULL 0 enabled
+dml_deletes 2 NULL 2 0 NULL 0 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_disable = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 disabled
+dml_inserts 3 NULL 3 2 NULL 2 disabled
+dml_deletes 4 NULL 4 2 NULL 2 disabled
+dml_updates 2 NULL 2 0 NULL 0 disabled
+dml_system_reads 0 NULL 0 0 NULL 0 disabled
+dml_system_inserts 0 NULL 0 0 NULL 0 disabled
+dml_system_deletes 0 NULL 0 0 NULL 0 disabled
+dml_system_updates 0 NULL 0 0 NULL 0 disabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = dml_inserts;
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts 2 NULL 2 2 NULL 2 enabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_dml;
+drop table monitor_test;
+set global innodb_monitor_enable = file_num_open_files;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+file_num_open_files # # # # # # enabled
+set global innodb_monitor_disable = file_num_open_files;
+set global innodb_monitor_enable = "icp%";
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+insert into monitor_test values("13", 2, "aa");
+select a from monitor_test where b < 1 for update;
+a
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 1
+icp_no_match 0
+icp_out_of_range 1
+icp_match 0
+select a from monitor_test where b < 3 for update;
+a
+13
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 2
+icp_no_match 0
+icp_out_of_range 1
+icp_match 1
+drop table monitor_test;
+set global innodb_monitor_disable = All;
+set global innodb_monitor_reset_all = all;
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result b/mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result
new file mode 100644
index 00000000000..f7a02ed3548
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result
@@ -0,0 +1,607 @@
+set global innodb_monitor_disable = All;
+select name, status from information_schema.innodb_metrics;
+name status
+metadata_table_handles_opened disabled
+metadata_table_handles_closed disabled
+metadata_table_reference_count disabled
+metadata_mem_pool_size disabled
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+buffer_pool_size disabled
+buffer_pool_reads disabled
+buffer_pool_read_requests disabled
+buffer_pool_write_requests disabled
+buffer_pool_wait_free disabled
+buffer_pool_read_ahead disabled
+buffer_pool_read_ahead_evicted disabled
+buffer_pool_pages_total disabled
+buffer_pool_pages_misc disabled
+buffer_pool_pages_data disabled
+buffer_pool_bytes_data disabled
+buffer_pool_pages_dirty disabled
+buffer_pool_bytes_dirty disabled
+buffer_pool_pages_free disabled
+buffer_pages_created disabled
+buffer_pages_written disabled
+buffer_index_pages_written disabled
+buffer_non_index_pages_written disabled
+buffer_pages_read disabled
+buffer_pages0_read disabled
+buffer_index_sec_rec_cluster_reads disabled
+buffer_index_sec_rec_cluster_reads_avoided disabled
+buffer_data_reads disabled
+buffer_data_written disabled
+buffer_flush_batch_scanned disabled
+buffer_flush_batch_num_scan disabled
+buffer_flush_batch_scanned_per_call disabled
+buffer_flush_batch_rescan disabled
+buffer_flush_batch_total_pages disabled
+buffer_flush_batches disabled
+buffer_flush_batch_pages disabled
+buffer_flush_neighbor_total_pages disabled
+buffer_flush_neighbor disabled
+buffer_flush_neighbor_pages disabled
+buffer_flush_n_to_flush_requested disabled
+buffer_flush_avg_page_rate disabled
+buffer_flush_lsn_avg_rate disabled
+buffer_flush_pct_for_dirty disabled
+buffer_flush_pct_for_lsn disabled
+buffer_flush_sync_waits disabled
+buffer_flush_adaptive_total_pages disabled
+buffer_flush_adaptive disabled
+buffer_flush_adaptive_pages disabled
+buffer_flush_sync_total_pages disabled
+buffer_flush_sync disabled
+buffer_flush_sync_pages disabled
+buffer_flush_background_total_pages disabled
+buffer_flush_background disabled
+buffer_flush_background_pages disabled
+buffer_LRU_batch_scanned disabled
+buffer_LRU_batch_num_scan disabled
+buffer_LRU_batch_scanned_per_call disabled
+buffer_LRU_batch_flush_total_pages disabled
+buffer_LRU_batches_flush disabled
+buffer_LRU_batch_flush_pages disabled
+buffer_LRU_batch_evict_total_pages disabled
+buffer_LRU_batches_evict disabled
+buffer_LRU_batch_evict_pages disabled
+buffer_LRU_single_flush_scanned disabled
+buffer_LRU_single_flush_num_scan disabled
+buffer_LRU_single_flush_scanned_per_call disabled
+buffer_LRU_single_flush_failure_count disabled
+buffer_LRU_get_free_search disabled
+buffer_LRU_search_scanned disabled
+buffer_LRU_search_num_scan disabled
+buffer_LRU_search_scanned_per_call disabled
+buffer_LRU_unzip_search_scanned disabled
+buffer_LRU_unzip_search_num_scan disabled
+buffer_LRU_unzip_search_scanned_per_call disabled
+buffer_page_read_index_leaf disabled
+buffer_page_read_index_non_leaf disabled
+buffer_page_read_index_ibuf_leaf disabled
+buffer_page_read_index_ibuf_non_leaf disabled
+buffer_page_read_undo_log disabled
+buffer_page_read_index_inode disabled
+buffer_page_read_ibuf_free_list disabled
+buffer_page_read_ibuf_bitmap disabled
+buffer_page_read_system_page disabled
+buffer_page_read_trx_system disabled
+buffer_page_read_fsp_hdr disabled
+buffer_page_read_xdes disabled
+buffer_page_read_blob disabled
+buffer_page_read_zblob disabled
+buffer_page_read_zblob2 disabled
+buffer_page_read_other disabled
+buffer_page_written_index_leaf disabled
+buffer_page_written_index_non_leaf disabled
+buffer_page_written_index_ibuf_leaf disabled
+buffer_page_written_index_ibuf_non_leaf disabled
+buffer_page_written_undo_log disabled
+buffer_page_written_index_inode disabled
+buffer_page_written_ibuf_free_list disabled
+buffer_page_written_ibuf_bitmap disabled
+buffer_page_written_system_page disabled
+buffer_page_written_trx_system disabled
+buffer_page_written_fsp_hdr disabled
+buffer_page_written_xdes disabled
+buffer_page_written_blob disabled
+buffer_page_written_zblob disabled
+buffer_page_written_zblob2 disabled
+buffer_page_written_other disabled
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs disabled
+os_pending_reads disabled
+os_pending_writes disabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs disabled
+os_log_pending_writes disabled
+trx_rw_commits disabled
+trx_ro_commits disabled
+trx_nl_ro_commits disabled
+trx_commits_insert_update disabled
+trx_rollbacks disabled
+trx_rollbacks_savepoint disabled
+trx_rollback_active disabled
+trx_active_transactions disabled
+trx_rseg_history_len disabled
+trx_undo_slots_used disabled
+trx_undo_slots_cached disabled
+trx_rseg_current_size disabled
+purge_del_mark_records disabled
+purge_upd_exist_or_extern_records disabled
+purge_invoked disabled
+purge_undo_log_pages disabled
+purge_dml_delay_usec disabled
+purge_stop_count disabled
+purge_resume_count disabled
+log_checkpoints disabled
+log_lsn_last_flush disabled
+log_lsn_last_checkpoint disabled
+log_lsn_current disabled
+log_lsn_checkpoint_age disabled
+log_lsn_buf_pool_oldest disabled
+log_max_modified_age_async disabled
+log_max_modified_age_sync disabled
+log_pending_log_writes disabled
+log_pending_checkpoint_writes disabled
+log_num_log_io disabled
+log_waits disabled
+log_write_requests disabled
+log_writes disabled
+compress_pages_compressed disabled
+compress_pages_decompressed disabled
+compression_pad_increments disabled
+compression_pad_decrements disabled
+compress_saved disabled
+compress_trim_sect512 disabled
+compress_trim_sect1024 disabled
+compress_trim_sect2048 disabled
+compress_trim_sect4096 disabled
+compress_trim_sect8192 disabled
+compress_trim_sect16384 disabled
+compress_trim_sect32768 disabled
+compress_pages_page_compressed disabled
+compress_page_compressed_trim_op disabled
+compress_page_compressed_trim_op_saved disabled
+compress_pages_page_decompressed disabled
+compress_pages_page_compression_error disabled
+compress_pages_encrypted disabled
+compress_pages_decrypted disabled
+index_page_splits disabled
+index_page_merge_attempts disabled
+index_page_merge_successful disabled
+index_page_reorg_attempts disabled
+index_page_reorg_successful disabled
+index_page_discards disabled
+adaptive_hash_searches disabled
+adaptive_hash_searches_btree disabled
+adaptive_hash_pages_added disabled
+adaptive_hash_pages_removed disabled
+adaptive_hash_rows_added disabled
+adaptive_hash_rows_removed disabled
+adaptive_hash_rows_deleted_no_hash_entry disabled
+adaptive_hash_rows_updated disabled
+file_num_open_files disabled
+ibuf_merges_insert disabled
+ibuf_merges_delete_mark disabled
+ibuf_merges_delete disabled
+ibuf_merges_discard_insert disabled
+ibuf_merges_discard_delete_mark disabled
+ibuf_merges_discard_delete disabled
+ibuf_merges disabled
+ibuf_size disabled
+innodb_master_thread_sleeps disabled
+innodb_activity_count disabled
+innodb_master_active_loops disabled
+innodb_master_idle_loops disabled
+innodb_background_drop_table_usec disabled
+innodb_ibuf_merge_usec disabled
+innodb_log_flush_usec disabled
+innodb_mem_validate_usec disabled
+innodb_master_purge_usec disabled
+innodb_dict_lru_usec disabled
+innodb_dict_lru_count_active disabled
+innodb_dict_lru_count_idle disabled
+innodb_checkpoint_usec disabled
+innodb_dblwr_writes disabled
+innodb_dblwr_pages_written disabled
+innodb_page_size disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+dml_reads disabled
+dml_inserts disabled
+dml_deletes disabled
+dml_updates disabled
+dml_system_reads disabled
+dml_system_inserts disabled
+dml_system_deletes disabled
+dml_system_updates disabled
+ddl_background_drop_indexes disabled
+ddl_background_drop_tables disabled
+ddl_online_create_index disabled
+ddl_pending_alter_table disabled
+icp_attempts disabled
+icp_no_match disabled
+icp_out_of_range disabled
+icp_match disabled
+set global innodb_monitor_enable = all;
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_enable = aaa;
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of 'aaa'
+set global innodb_monitor_disable = All;
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_reset_all = all;
+select name from information_schema.innodb_metrics where count!=0;
+name
+set global innodb_monitor_enable = "%lock%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+name
+set global innodb_monitor_disable = "%lock%";
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+name status
+lock_deadlocks disabled
+lock_timeouts disabled
+lock_rec_lock_waits disabled
+lock_table_lock_waits disabled
+lock_rec_lock_requests disabled
+lock_rec_lock_created disabled
+lock_rec_lock_removed disabled
+lock_rec_locks disabled
+lock_table_lock_created disabled
+lock_table_lock_removed disabled
+lock_table_locks disabled
+lock_row_lock_current_waits disabled
+lock_row_lock_time disabled
+lock_row_lock_time_max disabled
+lock_row_lock_waits disabled
+lock_row_lock_time_avg disabled
+innodb_rwlock_s_spin_waits disabled
+innodb_rwlock_x_spin_waits disabled
+innodb_rwlock_s_spin_rounds disabled
+innodb_rwlock_x_spin_rounds disabled
+innodb_rwlock_s_os_waits disabled
+innodb_rwlock_x_os_waits disabled
+set global innodb_monitor_enable = "%lock*";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '%lock*'
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%%%%%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="%";
+select name from information_schema.innodb_metrics where status!='enabled';
+name
+set global innodb_monitor_disable="%_%";
+select name from information_schema.innodb_metrics where status!='disabled';
+name
+set global innodb_monitor_enable="log%%%%";
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+name
+set global innodb_monitor_enable="os_%a_fs_ncs";
+set global innodb_monitor_enable="os%pending%";
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+name status
+os_data_reads disabled
+os_data_writes disabled
+os_data_fsyncs enabled
+os_pending_reads enabled
+os_pending_writes enabled
+os_log_bytes_written disabled
+os_log_fsyncs disabled
+os_log_pending_fsyncs enabled
+os_log_pending_writes enabled
+set global innodb_monitor_enable="";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of ''
+set global innodb_monitor_enable="_";
+ERROR 42000: Variable 'innodb_monitor_enable' can't be set to the value of '_'
+SET global innodb_monitor_disable = module_metadata;
+SET global innodb_monitor_reset_all = module_metadata;
+set global innodb_monitor_enable = metadata_table_handles_opened;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 NULL NULL 0 enabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 1 NULL 1 enabled
+set global innodb_monitor_disable = metadata_table_handles_opened;
+set global innodb_monitor_reset = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = metadata_table_handles_opened;
+drop table monitor_test;
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+select * from monitor_test;
+col
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 1 NULL 1 1 NULL 1 enabled
+set global innodb_monitor_enable = metadata_table_handles_closed;
+create index idx on monitor_test(col);
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 2 NULL 2 enabled
+metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_metadata;
+set global innodb_monitor_reset = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened 2 NULL 2 NULL NULL 0 disabled
+metadata_table_handles_closed 1 NULL 1 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_reset_all = module_metadata;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+metadata_table_handles_opened NULL NULL 0 NULL NULL 0 disabled
+metadata_table_handles_closed NULL NULL 0 NULL NULL 0 disabled
+metadata_table_reference_count NULL NULL 0 NULL NULL 0 disabled
+metadata_mem_pool_size NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = module_trx;
+begin;
+insert into monitor_test values(9);
+commit;
+begin;
+insert into monitor_test values(9);
+rollback;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+trx_rollbacks 1 NULL 1 1 NULL 1 enabled
+trx_active_transactions 1 0 0 1 0 0 enabled
+set global innodb_monitor_disable = module_trx;
+set global innodb_monitor_enable = module_dml;
+insert into monitor_test values(9);
+update monitor_test set col = 10 where col = 9;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 4 NULL 4 4 NULL 4 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 0 NULL 0 0 NULL 0 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 6 NULL 6 enabled
+dml_inserts 1 NULL 1 1 NULL 1 enabled
+dml_deletes 2 NULL 2 2 NULL 2 enabled
+dml_updates 2 NULL 2 2 NULL 2 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 6 NULL 6 0 NULL 0 enabled
+dml_inserts 1 NULL 1 0 NULL 0 enabled
+dml_deletes 2 NULL 2 0 NULL 0 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 enabled
+dml_inserts 3 NULL 3 2 NULL 2 enabled
+dml_deletes 4 NULL 4 2 NULL 2 enabled
+dml_updates 2 NULL 2 0 NULL 0 enabled
+dml_system_reads 0 NULL 0 0 NULL 0 enabled
+dml_system_inserts 0 NULL 0 0 NULL 0 enabled
+dml_system_deletes 0 NULL 0 0 NULL 0 enabled
+dml_system_updates 0 NULL 0 0 NULL 0 enabled
+set global innodb_monitor_disable = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads 8 NULL 8 2 NULL 2 disabled
+dml_inserts 3 NULL 3 2 NULL 2 disabled
+dml_deletes 4 NULL 4 2 NULL 2 disabled
+dml_updates 2 NULL 2 0 NULL 0 disabled
+dml_system_reads 0 NULL 0 0 NULL 0 disabled
+dml_system_inserts 0 NULL 0 0 NULL 0 disabled
+dml_system_deletes 0 NULL 0 0 NULL 0 disabled
+dml_system_updates 0 NULL 0 0 NULL 0 disabled
+set global innodb_monitor_reset_all = module_dml;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_enable = dml_inserts;
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+delete from monitor_test;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+dml_reads NULL NULL 0 NULL NULL 0 disabled
+dml_inserts 2 NULL 2 2 NULL 2 enabled
+dml_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_updates NULL NULL 0 NULL NULL 0 disabled
+dml_system_reads NULL NULL 0 NULL NULL 0 disabled
+dml_system_inserts NULL NULL 0 NULL NULL 0 disabled
+dml_system_deletes NULL NULL 0 NULL NULL 0 disabled
+dml_system_updates NULL NULL 0 NULL NULL 0 disabled
+set global innodb_monitor_disable = module_dml;
+drop table monitor_test;
+set global innodb_monitor_enable = file_num_open_files;
+select name, max_count, min_count, count,
+max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+name max_count min_count count max_count_reset min_count_reset count_reset status
+file_num_open_files # # # # # # enabled
+set global innodb_monitor_disable = file_num_open_files;
+set global innodb_monitor_enable = "icp%";
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+insert into monitor_test values("13", 2, "aa");
+select a from monitor_test where b < 1 for update;
+a
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 1
+icp_no_match 0
+icp_out_of_range 1
+icp_match 0
+select a from monitor_test where b < 3 for update;
+a
+13
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+name count
+icp_attempts 2
+icp_no_match 0
+icp_out_of_range 1
+icp_match 1
+drop table monitor_test;
+set global innodb_monitor_disable = All;
+set global innodb_monitor_reset_all = all;
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_mtflush_threads_basic.result b/mysql-test/suite/sys_vars/r/innodb_mtflush_threads_basic.result
new file mode 100644
index 00000000000..75a1cc5262e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_mtflush_threads_basic.result
@@ -0,0 +1,21 @@
+select @@global.innodb_mtflush_threads;
+@@global.innodb_mtflush_threads
+8
+select @@session.innodb_mtflush_threads;
+ERROR HY000: Variable 'innodb_mtflush_threads' is a GLOBAL variable
+show global variables like 'innodb_mtflush_threads';
+Variable_name Value
+innodb_mtflush_threads 8
+show session variables like 'innodb_mtflush_threads';
+Variable_name Value
+innodb_mtflush_threads 8
+select * from information_schema.global_variables where variable_name='innodb_mtflush_threads';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_MTFLUSH_THREADS 8
+select * from information_schema.session_variables where variable_name='innodb_mtflush_threads';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_MTFLUSH_THREADS 8
+set global innodb_mtflush_threads=1;
+ERROR HY000: Variable 'innodb_mtflush_threads' is a read only variable
+set session innodb_mtflush_threads=1;
+ERROR HY000: Variable 'innodb_mtflush_threads' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_old_blocks_time_basic.result b/mysql-test/suite/sys_vars/r/innodb_old_blocks_time_basic.result
index a285cc14a01..add91e56039 100644
--- a/mysql-test/suite/sys_vars/r/innodb_old_blocks_time_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_old_blocks_time_basic.result
@@ -1,28 +1,28 @@
SET @start_global_value = @@global.innodb_old_blocks_time;
SELECT @start_global_value;
@start_global_value
-0
+1000
Valid values are zero or above
select @@global.innodb_old_blocks_time >=0;
@@global.innodb_old_blocks_time >=0
1
select @@global.innodb_old_blocks_time;
@@global.innodb_old_blocks_time
-0
+1000
select @@session.innodb_old_blocks_time;
ERROR HY000: Variable 'innodb_old_blocks_time' is a GLOBAL variable
show global variables like 'innodb_old_blocks_time';
Variable_name Value
-innodb_old_blocks_time 0
+innodb_old_blocks_time 1000
show session variables like 'innodb_old_blocks_time';
Variable_name Value
-innodb_old_blocks_time 0
+innodb_old_blocks_time 1000
select * from information_schema.global_variables where variable_name='innodb_old_blocks_time';
VARIABLE_NAME VARIABLE_VALUE
-INNODB_OLD_BLOCKS_TIME 0
+INNODB_OLD_BLOCKS_TIME 1000
select * from information_schema.session_variables where variable_name='innodb_old_blocks_time';
VARIABLE_NAME VARIABLE_VALUE
-INNODB_OLD_BLOCKS_TIME 0
+INNODB_OLD_BLOCKS_TIME 1000
set global innodb_old_blocks_time=10;
select @@global.innodb_old_blocks_time;
@@global.innodb_old_blocks_time
@@ -53,4 +53,4 @@ INNODB_OLD_BLOCKS_TIME 0
SET @@global.innodb_old_blocks_time = @start_global_value;
SELECT @@global.innodb_old_blocks_time;
@@global.innodb_old_blocks_time
-0
+1000
diff --git a/mysql-test/suite/sys_vars/r/innodb_online_alter_log_max_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_online_alter_log_max_size_basic.result
new file mode 100644
index 00000000000..99f315eb1f9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_online_alter_log_max_size_basic.result
@@ -0,0 +1,64 @@
+SET @start_global_value = @@global.innodb_online_alter_log_max_size;
+SELECT @start_global_value;
+@start_global_value
+134217728
+select @@global.innodb_online_alter_log_max_size >= 524288;
+@@global.innodb_online_alter_log_max_size >= 524288
+1
+select @@global.innodb_online_alter_log_max_size;
+@@global.innodb_online_alter_log_max_size
+134217728
+select @@session.innodb_online_alter_log_max_size;
+ERROR HY000: Variable 'innodb_online_alter_log_max_size' is a GLOBAL variable
+show global variables like 'innodb_online_alter_log_max_size';
+Variable_name Value
+innodb_online_alter_log_max_size 134217728
+show session variables like 'innodb_online_alter_log_max_size';
+Variable_name Value
+innodb_online_alter_log_max_size 134217728
+select * from information_schema.global_variables where variable_name='innodb_online_alter_log_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ONLINE_ALTER_LOG_MAX_SIZE 134217728
+select * from information_schema.session_variables where variable_name='innodb_online_alter_log_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ONLINE_ALTER_LOG_MAX_SIZE 134217728
+set global innodb_online_alter_log_max_size=1048576;
+select @@global.innodb_online_alter_log_max_size;
+@@global.innodb_online_alter_log_max_size
+1048576
+select * from information_schema.global_variables where variable_name='innodb_online_alter_log_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ONLINE_ALTER_LOG_MAX_SIZE 1048576
+select * from information_schema.session_variables where variable_name='innodb_online_alter_log_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ONLINE_ALTER_LOG_MAX_SIZE 1048576
+set @@global.innodb_online_alter_log_max_size=524288;
+select @@global.innodb_online_alter_log_max_size;
+@@global.innodb_online_alter_log_max_size
+524288
+select * from information_schema.global_variables where variable_name='innodb_online_alter_log_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ONLINE_ALTER_LOG_MAX_SIZE 524288
+select * from information_schema.session_variables where variable_name='innodb_online_alter_log_max_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_ONLINE_ALTER_LOG_MAX_SIZE 524288
+set session innodb_online_alter_log_max_size='some';
+ERROR HY000: Variable 'innodb_online_alter_log_max_size' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_online_alter_log_max_size='some';
+ERROR HY000: Variable 'innodb_online_alter_log_max_size' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_online_alter_log_max_size=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_online_alter_log_max_size'
+set global innodb_online_alter_log_max_size='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_online_alter_log_max_size'
+set global innodb_online_alter_log_max_size=-2;
+Warnings:
+Warning 1292 Truncated incorrect innodb_online_alter_log_max_size value: '-2'
+set global innodb_online_alter_log_max_size=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_online_alter_log_max_size'
+set global innodb_online_alter_log_max_size=2;
+Warnings:
+Warning 1292 Truncated incorrect innodb_online_alter_log_max_size value: '2'
+SET @@global.innodb_online_alter_log_max_size = @start_global_value;
+SELECT @@global.innodb_online_alter_log_max_size;
+@@global.innodb_online_alter_log_max_size
+134217728
diff --git a/mysql-test/suite/sys_vars/r/innodb_optimize_fulltext_only_basic.result b/mysql-test/suite/sys_vars/r/innodb_optimize_fulltext_only_basic.result
new file mode 100644
index 00000000000..a6355430f43
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_optimize_fulltext_only_basic.result
@@ -0,0 +1,92 @@
+SET @start_global_value = @@global.innodb_optimize_fulltext_only;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_optimize_fulltext_only in (0, 1);
+@@global.innodb_optimize_fulltext_only in (0, 1)
+1
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+0
+select @@session.innodb_optimize_fulltext_only;
+ERROR HY000: Variable 'innodb_optimize_fulltext_only' is a GLOBAL variable
+show global variables like 'innodb_optimize_fulltext_only';
+Variable_name Value
+innodb_optimize_fulltext_only OFF
+show session variables like 'innodb_optimize_fulltext_only';
+Variable_name Value
+innodb_optimize_fulltext_only OFF
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY OFF
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY OFF
+set global innodb_optimize_fulltext_only='ON';
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+1
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY ON
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY ON
+set @@global.innodb_optimize_fulltext_only=0;
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+0
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY OFF
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY OFF
+set global innodb_optimize_fulltext_only=1;
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+1
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY ON
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY ON
+set @@global.innodb_optimize_fulltext_only='OFF';
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+0
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY OFF
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY OFF
+set session innodb_optimize_fulltext_only='OFF';
+ERROR HY000: Variable 'innodb_optimize_fulltext_only' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_optimize_fulltext_only='ON';
+ERROR HY000: Variable 'innodb_optimize_fulltext_only' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_optimize_fulltext_only=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_optimize_fulltext_only'
+set global innodb_optimize_fulltext_only=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_optimize_fulltext_only'
+set global innodb_optimize_fulltext_only=2;
+ERROR 42000: Variable 'innodb_optimize_fulltext_only' can't be set to the value of '2'
+set global innodb_optimize_fulltext_only=-3;
+ERROR 42000: Variable 'innodb_optimize_fulltext_only' can't be set to the value of '-3'
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+0
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY OFF
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY OFF
+set global innodb_optimize_fulltext_only='AUTO';
+ERROR 42000: Variable 'innodb_optimize_fulltext_only' can't be set to the value of 'AUTO'
+SET @@global.innodb_optimize_fulltext_only = @start_global_value;
+SELECT @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_page_hash_locks_basic.result b/mysql-test/suite/sys_vars/r/innodb_page_hash_locks_basic.result
new file mode 100644
index 00000000000..e8915387aad
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_page_hash_locks_basic.result
@@ -0,0 +1,24 @@
+select @@global.innodb_page_hash_locks between 1 and 1024;
+@@global.innodb_page_hash_locks between 1 and 1024
+1
+select @@global.innodb_page_hash_locks;
+@@global.innodb_page_hash_locks
+16
+select @@session.innodb_page_hash_locks;
+ERROR HY000: Variable 'innodb_page_hash_locks' is a GLOBAL variable
+show global variables like 'innodb_page_hash_locks';
+Variable_name Value
+innodb_page_hash_locks 16
+show session variables like 'innodb_page_hash_locks';
+Variable_name Value
+innodb_page_hash_locks 16
+select * from information_schema.global_variables where variable_name='innodb_page_hash_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PAGE_HASH_LOCKS 16
+select * from information_schema.session_variables where variable_name='innodb_page_hash_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PAGE_HASH_LOCKS 16
+set global innodb_page_hash_locks=1;
+ERROR HY000: Variable 'innodb_page_hash_locks' is a read only variable
+set @@session.innodb_page_hash_locks='some';
+ERROR HY000: Variable 'innodb_page_hash_locks' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_persistent_stats_root_page_basic.result b/mysql-test/suite/sys_vars/r/innodb_persistent_stats_root_page_basic.result
deleted file mode 100644
index 38347ef8c68..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_persistent_stats_root_page_basic.result
+++ /dev/null
@@ -1,24 +0,0 @@
-SELECT @@global.innodb_persistent_stats_root_page;
-@@global.innodb_persistent_stats_root_page
-0
-SELECT COUNT(@@global.innodb_persistent_stats_root_page);
-COUNT(@@global.innodb_persistent_stats_root_page)
-1
-SET @@global.innodb_persistent_stats_root_page=100;
-ERROR HY000: Variable 'innodb_persistent_stats_root_page' is a read only variable
-SELECT @@global.innodb_persistent_stats_root_page = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_persistent_stats_root_page';
-@@global.innodb_persistent_stats_root_page = VARIABLE_VALUE
-1
-SELECT COUNT(*) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_persistent_stats_root_page';
-COUNT(*)
-1
-SELECT @@innodb_persistent_stats_root_page = @@global.innodb_persistent_stats_root_page;
-@@innodb_persistent_stats_root_page = @@global.innodb_persistent_stats_root_page
-1
-SELECT COUNT(@@local.innodb_persistent_stats_root_page);
-ERROR HY000: Variable 'innodb_persistent_stats_root_page' is a GLOBAL variable
-SELECT COUNT(@@session.innodb_persistent_stats_root_page);
-ERROR HY000: Variable 'innodb_persistent_stats_root_page' is a GLOBAL variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_prefix_index_cluster_optimization_basic.result b/mysql-test/suite/sys_vars/r/innodb_prefix_index_cluster_optimization_basic.result
new file mode 100644
index 00000000000..57b653bcf5e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_prefix_index_cluster_optimization_basic.result
@@ -0,0 +1,122 @@
+SET @start_global_value = @@global.innodb_prefix_index_cluster_optimization;
+SELECT @start_global_value;
+@start_global_value
+0
+#
+# exists as global only
+#
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_prefix_index_cluster_optimization in (0, 1);
+@@global.innodb_prefix_index_cluster_optimization in (0, 1)
+1
+select @@global.innodb_prefix_index_cluster_optimization;
+@@global.innodb_prefix_index_cluster_optimization
+0
+select @@session.innodb_prefix_index_cluster_optimization;
+ERROR HY000: Variable 'innodb_prefix_index_cluster_optimization' is a GLOBAL variable
+show global variables like 'innodb_prefix_index_cluster_optimization';
+Variable_name Value
+innodb_prefix_index_cluster_optimization OFF
+show session variables like 'innodb_prefix_index_cluster_optimization';
+Variable_name Value
+innodb_prefix_index_cluster_optimization OFF
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION OFF
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION OFF
+#
+# show that it's writable
+#
+set global innodb_prefix_index_cluster_optimization = 'OFF';
+select @@global.innodb_prefix_index_cluster_optimization;
+@@global.innodb_prefix_index_cluster_optimization
+0
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION OFF
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION OFF
+set @@global.innodb_prefix_index_cluster_optimization = 'ON';
+select @@global.innodb_prefix_index_cluster_optimization;
+@@global.innodb_prefix_index_cluster_optimization
+1
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+set global innodb_prefix_index_cluster_optimization = 0;
+select @@global.innodb_prefix_index_cluster_optimization;
+@@global.innodb_prefix_index_cluster_optimization
+0
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION OFF
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION OFF
+set @@global.innodb_prefix_index_cluster_optimization = 1;
+select @@global.innodb_prefix_index_cluster_optimization;
+@@global.innodb_prefix_index_cluster_optimization
+1
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+set session innodb_prefix_index_cluster_optimization = 'OFF';
+ERROR HY000: Variable 'innodb_prefix_index_cluster_optimization' is a GLOBAL variable and should be set with SET GLOBAL
+select @@global.innodb_prefix_index_cluster_optimization;
+@@global.innodb_prefix_index_cluster_optimization
+1
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+set @@session.innodb_prefix_index_cluster_optimization = 'ON';
+ERROR HY000: Variable 'innodb_prefix_index_cluster_optimization' is a GLOBAL variable and should be set with SET GLOBAL
+select @@global.innodb_prefix_index_cluster_optimization;
+@@global.innodb_prefix_index_cluster_optimization
+1
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+#
+# incorrect types
+#
+set global innodb_prefix_index_cluster_optimization = 1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_prefix_index_cluster_optimization'
+set global innodb_prefix_index_cluster_optimization = 1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_prefix_index_cluster_optimization'
+set global innodb_prefix_index_cluster_optimization = 2;
+ERROR 42000: Variable 'innodb_prefix_index_cluster_optimization' can't be set to the value of '2'
+set global innodb_prefix_index_cluster_optimization = -3;
+ERROR 42000: Variable 'innodb_prefix_index_cluster_optimization' can't be set to the value of '-3'
+select @@global.innodb_prefix_index_cluster_optimization;
+@@global.innodb_prefix_index_cluster_optimization
+1
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION ON
+set global innodb_prefix_index_cluster_optimization = 'AUTO';
+ERROR 42000: Variable 'innodb_prefix_index_cluster_optimization' can't be set to the value of 'AUTO'
+#
+# Cleanup
+#
+SET @@global.innodb_prefix_index_cluster_optimization = @start_global_value;
+SELECT @@global.innodb_prefix_index_cluster_optimization;
+@@global.innodb_prefix_index_cluster_optimization
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result b/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result
index 1bd078dfd7e..6b940503c59 100644
--- a/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result
@@ -1,22 +1,104 @@
-SELECT @@innodb_print_all_deadlocks;
-@@innodb_print_all_deadlocks
+SET @start_global_value = @@global.innodb_print_all_deadlocks;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF'
+SELECT @@global.innodb_print_all_deadlocks in (0, 1);
+@@global.innodb_print_all_deadlocks in (0, 1)
+1
+SELECT @@global.innodb_print_all_deadlocks;
+@@global.innodb_print_all_deadlocks
+0
+SELECT @@session.innodb_print_all_deadlocks;
+ERROR HY000: Variable 'innodb_print_all_deadlocks' is a GLOBAL variable
+SHOW global variables LIKE 'innodb_print_all_deadlocks';
+Variable_name Value
+innodb_print_all_deadlocks OFF
+SHOW session variables LIKE 'innodb_print_all_deadlocks';
+Variable_name Value
+innodb_print_all_deadlocks OFF
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS OFF
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS OFF
+SET global innodb_print_all_deadlocks='OFF';
+SELECT @@global.innodb_print_all_deadlocks;
+@@global.innodb_print_all_deadlocks
+0
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS OFF
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS OFF
+SET @@global.innodb_print_all_deadlocks=1;
+SELECT @@global.innodb_print_all_deadlocks;
+@@global.innodb_print_all_deadlocks
+1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS ON
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS ON
+SET global innodb_print_all_deadlocks=0;
+SELECT @@global.innodb_print_all_deadlocks;
+@@global.innodb_print_all_deadlocks
+0
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS OFF
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS OFF
+SET @@global.innodb_print_all_deadlocks='ON';
+SELECT @@global.innodb_print_all_deadlocks;
+@@global.innodb_print_all_deadlocks
+1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS ON
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS ON
+SET session innodb_print_all_deadlocks='OFF';
+ERROR HY000: Variable 'innodb_print_all_deadlocks' is a GLOBAL variable and should be set with SET GLOBAL
+SET @@session.innodb_print_all_deadlocks='ON';
+ERROR HY000: Variable 'innodb_print_all_deadlocks' is a GLOBAL variable and should be set with SET GLOBAL
+SET global innodb_print_all_deadlocks=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_print_all_deadlocks'
+SET global innodb_print_all_deadlocks=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_print_all_deadlocks'
+SET global innodb_print_all_deadlocks=2;
+ERROR 42000: Variable 'innodb_print_all_deadlocks' can't be set to the value of '2'
+SET global innodb_print_all_deadlocks=-3;
+ERROR 42000: Variable 'innodb_print_all_deadlocks' can't be set to the value of '-3'
+SELECT @@global.innodb_print_all_deadlocks;
+@@global.innodb_print_all_deadlocks
+1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS ON
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_ALL_DEADLOCKS ON
+SET global innodb_print_all_deadlocks='AUTO';
+ERROR 42000: Variable 'innodb_print_all_deadlocks' can't be set to the value of 'AUTO'
+SET @@global.innodb_print_all_deadlocks = @start_global_value;
+SELECT @@global.innodb_print_all_deadlocks;
+@@global.innodb_print_all_deadlocks
0
-SET GLOBAL innodb_print_all_deadlocks=1;
-CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB;
-INSERT INTO t1 VALUES (123);
-CREATE TABLE t2 (c2 INT, PRIMARY KEY (c2)) ENGINE=INNODB;
-INSERT INTO t2 VALUES (456);
-BEGIN;
-SELECT * FROM t1 FOR UPDATE;
-c1
-123
-BEGIN;
-SELECT * FROM t2 FOR UPDATE;
-c2
-456
-SELECT * FROM t2 FOR UPDATE;
-SELECT * FROM t1 FOR UPDATE;
-ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
-DROP TABLE t2;
-DROP TABLE t1;
-SET GLOBAL innodb_print_all_deadlocks=default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_print_lock_wait_timeout_info_basic.result b/mysql-test/suite/sys_vars/r/innodb_print_lock_wait_timeout_info_basic.result
new file mode 100644
index 00000000000..cc035e4f8bc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_print_lock_wait_timeout_info_basic.result
@@ -0,0 +1,104 @@
+SET @start_global_value = @@global.innodb_print_lock_wait_timeout_info;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF'
+SELECT @@global.innodb_print_lock_wait_timeout_info in (0, 1);
+@@global.innodb_print_lock_wait_timeout_info in (0, 1)
+1
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+@@global.innodb_print_lock_wait_timeout_info
+0
+SELECT @@session.innodb_print_lock_wait_timeout_info;
+ERROR HY000: Variable 'innodb_print_lock_wait_timeout_info' is a GLOBAL variable
+SHOW global variables LIKE 'innodb_print_lock_wait_timeout_info';
+Variable_name Value
+innodb_print_lock_wait_timeout_info OFF
+SHOW session variables LIKE 'innodb_print_lock_wait_timeout_info';
+Variable_name Value
+innodb_print_lock_wait_timeout_info OFF
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
+SET global innodb_print_lock_wait_timeout_info='OFF';
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+@@global.innodb_print_lock_wait_timeout_info
+0
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
+SET @@global.innodb_print_lock_wait_timeout_info=1;
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+@@global.innodb_print_lock_wait_timeout_info
+1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
+SET global innodb_print_lock_wait_timeout_info=0;
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+@@global.innodb_print_lock_wait_timeout_info
+0
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
+SET @@global.innodb_print_lock_wait_timeout_info='ON';
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+@@global.innodb_print_lock_wait_timeout_info
+1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
+SET session innodb_print_lock_wait_timeout_info='OFF';
+ERROR HY000: Variable 'innodb_print_lock_wait_timeout_info' is a GLOBAL variable and should be set with SET GLOBAL
+SET @@session.innodb_print_lock_wait_timeout_info='ON';
+ERROR HY000: Variable 'innodb_print_lock_wait_timeout_info' is a GLOBAL variable and should be set with SET GLOBAL
+SET global innodb_print_lock_wait_timeout_info=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_print_lock_wait_timeout_info'
+SET global innodb_print_lock_wait_timeout_info=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_print_lock_wait_timeout_info'
+SET global innodb_print_lock_wait_timeout_info=2;
+ERROR 42000: Variable 'innodb_print_lock_wait_timeout_info' can't be set to the value of '2'
+SET global innodb_print_lock_wait_timeout_info=-3;
+ERROR 42000: Variable 'innodb_print_lock_wait_timeout_info' can't be set to the value of '-3'
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+@@global.innodb_print_lock_wait_timeout_info
+1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
+SET global innodb_print_lock_wait_timeout_info='AUTO';
+ERROR 42000: Variable 'innodb_print_lock_wait_timeout_info' can't be set to the value of 'AUTO'
+SET @@global.innodb_print_lock_wait_timeout_info = @start_global_value;
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+@@global.innodb_print_lock_wait_timeout_info
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_priority_cleaner_basic.result b/mysql-test/suite/sys_vars/r/innodb_priority_cleaner_basic.result
new file mode 100644
index 00000000000..ae5e12ee64a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_priority_cleaner_basic.result
@@ -0,0 +1,31 @@
+SET @start_value = @@GLOBAL.innodb_priority_cleaner;
+SELECT @@GLOBAL.innodb_priority_cleaner;
+@@GLOBAL.innodb_priority_cleaner
+0
+SELECT @@SESSION.innodb_priority_cleaner;
+ERROR HY000: Variable 'innodb_priority_cleaner' is a GLOBAL variable
+SET GLOBAL innodb_priority_cleaner='OFF';
+SELECT @@GLOBAL.innodb_priority_cleaner;
+@@GLOBAL.innodb_priority_cleaner
+0
+SET GLOBAL innodb_priority_cleaner='ON';
+SELECT @@GLOBAL.innodb_priority_cleaner;
+@@GLOBAL.innodb_priority_cleaner
+1
+SET GLOBAL innodb_priority_cleaner=0;
+SELECT @@GLOBAL.innodb_priority_cleaner;
+@@GLOBAL.innodb_priority_cleaner
+0
+SET GLOBAL innodb_priority_cleaner=1;
+SELECT @@GLOBAL.innodb_priority_cleaner;
+@@GLOBAL.innodb_priority_cleaner
+1
+SET GLOBAL innodb_priority_cleaner=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_priority_cleaner'
+SET GLOBAL innodb_priority_cleaner=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_priority_cleaner'
+SET GLOBAL innodb_priority_cleaner=2;
+ERROR 42000: Variable 'innodb_priority_cleaner' can't be set to the value of '2'
+SET GLOBAL innodb_priority_cleaner='foo';
+ERROR 42000: Variable 'innodb_priority_cleaner' can't be set to the value of 'foo'
+SET GLOBAL innodb_priority_cleaner = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_priority_io_basic.result b/mysql-test/suite/sys_vars/r/innodb_priority_io_basic.result
new file mode 100644
index 00000000000..70ccb5e4cf4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_priority_io_basic.result
@@ -0,0 +1,31 @@
+SET @start_value = @@GLOBAL.innodb_priority_io;
+SELECT @@GLOBAL.innodb_priority_io;
+@@GLOBAL.innodb_priority_io
+0
+SELECT @@SESSION.innodb_priority_io;
+ERROR HY000: Variable 'innodb_priority_io' is a GLOBAL variable
+SET GLOBAL innodb_priority_io='OFF';
+SELECT @@GLOBAL.innodb_priority_io;
+@@GLOBAL.innodb_priority_io
+0
+SET GLOBAL innodb_priority_io='ON';
+SELECT @@GLOBAL.innodb_priority_io;
+@@GLOBAL.innodb_priority_io
+1
+SET GLOBAL innodb_priority_io=0;
+SELECT @@GLOBAL.innodb_priority_io;
+@@GLOBAL.innodb_priority_io
+0
+SET GLOBAL innodb_priority_io=1;
+SELECT @@GLOBAL.innodb_priority_io;
+@@GLOBAL.innodb_priority_io
+1
+SET GLOBAL innodb_priority_io=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_priority_io'
+SET GLOBAL innodb_priority_io=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_priority_io'
+SET GLOBAL innodb_priority_io=2;
+ERROR 42000: Variable 'innodb_priority_io' can't be set to the value of '2'
+SET GLOBAL innodb_priority_io='foo';
+ERROR 42000: Variable 'innodb_priority_io' can't be set to the value of 'foo'
+SET GLOBAL innodb_priority_io = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_priority_master_basic.result b/mysql-test/suite/sys_vars/r/innodb_priority_master_basic.result
new file mode 100644
index 00000000000..d26ead2ff7e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_priority_master_basic.result
@@ -0,0 +1,31 @@
+SET @start_value = @@GLOBAL.innodb_priority_master;
+SELECT @@GLOBAL.innodb_priority_master;
+@@GLOBAL.innodb_priority_master
+0
+SELECT @@SESSION.innodb_priority_master;
+ERROR HY000: Variable 'innodb_priority_master' is a GLOBAL variable
+SET GLOBAL innodb_priority_master='OFF';
+SELECT @@GLOBAL.innodb_priority_master;
+@@GLOBAL.innodb_priority_master
+0
+SET GLOBAL innodb_priority_master='ON';
+SELECT @@GLOBAL.innodb_priority_master;
+@@GLOBAL.innodb_priority_master
+1
+SET GLOBAL innodb_priority_master=0;
+SELECT @@GLOBAL.innodb_priority_master;
+@@GLOBAL.innodb_priority_master
+0
+SET GLOBAL innodb_priority_master=1;
+SELECT @@GLOBAL.innodb_priority_master;
+@@GLOBAL.innodb_priority_master
+1
+SET GLOBAL innodb_priority_master=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_priority_master'
+SET GLOBAL innodb_priority_master=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_priority_master'
+SET GLOBAL innodb_priority_master=2;
+ERROR 42000: Variable 'innodb_priority_master' can't be set to the value of '2'
+SET GLOBAL innodb_priority_master='foo';
+ERROR 42000: Variable 'innodb_priority_master' can't be set to the value of 'foo'
+SET GLOBAL innodb_priority_master = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_priority_purge_basic.result b/mysql-test/suite/sys_vars/r/innodb_priority_purge_basic.result
new file mode 100644
index 00000000000..57153ebf82a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_priority_purge_basic.result
@@ -0,0 +1,31 @@
+SET @start_value = @@GLOBAL.innodb_priority_purge;
+SELECT @@GLOBAL.innodb_priority_purge;
+@@GLOBAL.innodb_priority_purge
+0
+SELECT @@SESSION.innodb_priority_purge;
+ERROR HY000: Variable 'innodb_priority_purge' is a GLOBAL variable
+SET GLOBAL innodb_priority_purge='OFF';
+SELECT @@GLOBAL.innodb_priority_purge;
+@@GLOBAL.innodb_priority_purge
+0
+SET GLOBAL innodb_priority_purge='ON';
+SELECT @@GLOBAL.innodb_priority_purge;
+@@GLOBAL.innodb_priority_purge
+1
+SET GLOBAL innodb_priority_purge=0;
+SELECT @@GLOBAL.innodb_priority_purge;
+@@GLOBAL.innodb_priority_purge
+0
+SET GLOBAL innodb_priority_purge=1;
+SELECT @@GLOBAL.innodb_priority_purge;
+@@GLOBAL.innodb_priority_purge
+1
+SET GLOBAL innodb_priority_purge=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_priority_purge'
+SET GLOBAL innodb_priority_purge=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_priority_purge'
+SET GLOBAL innodb_priority_purge=2;
+ERROR 42000: Variable 'innodb_priority_purge' can't be set to the value of '2'
+SET GLOBAL innodb_priority_purge='foo';
+ERROR 42000: Variable 'innodb_priority_purge' can't be set to the value of 'foo'
+SET GLOBAL innodb_priority_purge = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/innodb_purge_batch_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_purge_batch_size_basic.result
index 1ff36237907..8f81df74d5b 100644
--- a/mysql-test/suite/sys_vars/r/innodb_purge_batch_size_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_purge_batch_size_basic.result
@@ -1,19 +1,19 @@
SET @global_start_value = @@global.innodb_purge_batch_size;
SELECT @global_start_value;
@global_start_value
-20
+300
'#--------------------FN_DYNVARS_046_01------------------------#'
SET @@global.innodb_purge_batch_size = 1;
SET @@global.innodb_purge_batch_size = DEFAULT;
SELECT @@global.innodb_purge_batch_size;
@@global.innodb_purge_batch_size
-20
+300
'#---------------------FN_DYNVARS_046_02-------------------------#'
SET innodb_purge_batch_size = 1;
ERROR HY000: Variable 'innodb_purge_batch_size' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@innodb_purge_batch_size;
@@innodb_purge_batch_size
-20
+300
SELECT local.innodb_purge_batch_size;
ERROR 42S02: Unknown table 'local' in field list
SET global innodb_purge_batch_size = 1;
@@ -95,4 +95,4 @@ SELECT @@global.innodb_purge_batch_size;
SET @@global.innodb_purge_batch_size = @global_start_value;
SELECT @@global.innodb_purge_batch_size;
@@global.innodb_purge_batch_size
-20
+300
diff --git a/mysql-test/suite/sys_vars/r/innodb_purge_run_now_basic.result b/mysql-test/suite/sys_vars/r/innodb_purge_run_now_basic.result
new file mode 100644
index 00000000000..41204422767
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_purge_run_now_basic.result
@@ -0,0 +1,27 @@
+SELECT name, count
+FROM information_schema.innodb_metrics
+WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+name count
+purge_stop_count 0
+purge_resume_count 0
+SET @orig = @@global.innodb_purge_run_now;
+SELECT @orig;
+@orig
+0
+SET GLOBAL innodb_purge_stop_now = ON;
+SELECT name, count
+FROM information_schema.innodb_metrics
+WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+name count
+purge_stop_count 1
+purge_resume_count 0
+SET GLOBAL innodb_purge_run_now = ON;
+SELECT @@global.innodb_purge_run_now;
+@@global.innodb_purge_run_now
+0
+SELECT name, count
+FROM information_schema.innodb_metrics
+WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+name count
+purge_stop_count 1
+purge_resume_count 1
diff --git a/mysql-test/suite/sys_vars/r/innodb_purge_stop_now_basic.result b/mysql-test/suite/sys_vars/r/innodb_purge_stop_now_basic.result
new file mode 100644
index 00000000000..41204422767
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_purge_stop_now_basic.result
@@ -0,0 +1,27 @@
+SELECT name, count
+FROM information_schema.innodb_metrics
+WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+name count
+purge_stop_count 0
+purge_resume_count 0
+SET @orig = @@global.innodb_purge_run_now;
+SELECT @orig;
+@orig
+0
+SET GLOBAL innodb_purge_stop_now = ON;
+SELECT name, count
+FROM information_schema.innodb_metrics
+WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+name count
+purge_stop_count 1
+purge_resume_count 0
+SET GLOBAL innodb_purge_run_now = ON;
+SELECT @@global.innodb_purge_run_now;
+@@global.innodb_purge_run_now
+0
+SELECT name, count
+FROM information_schema.innodb_metrics
+WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+name count
+purge_stop_count 1
+purge_resume_count 1
diff --git a/mysql-test/suite/sys_vars/r/innodb_read_only_basic.result b/mysql-test/suite/sys_vars/r/innodb_read_only_basic.result
new file mode 100644
index 00000000000..a97f1ddc698
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_read_only_basic.result
@@ -0,0 +1,22 @@
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_read_only;
+@@global.innodb_read_only
+0
+select @@session.innodb_read_only;
+ERROR HY000: Variable 'innodb_read_only' is a GLOBAL variable
+show global variables like 'innodb_read_only';
+Variable_name Value
+innodb_read_only OFF
+show session variables like 'innodb_read_only';
+Variable_name Value
+innodb_read_only OFF
+select * from information_schema.global_variables where variable_name='innodb_read_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_READ_ONLY OFF
+select * from information_schema.session_variables where variable_name='innodb_read_only';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_READ_ONLY OFF
+set global innodb_read_only=1;
+ERROR HY000: Variable 'innodb_read_only' is a read only variable
+set session innodb_read_only=1;
+ERROR HY000: Variable 'innodb_read_only' is a read only variable
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
new file mode 100644
index 00000000000..20e2b78e640
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_saved_page_number_debug_basic.result
@@ -0,0 +1,26 @@
+#
+# Basic test for innodb_saved_page_number_debug.
+#
+SELECT @@global.innodb_saved_page_number_debug;
+@@global.innodb_saved_page_number_debug
+0
+set global innodb_saved_page_number_debug = 10;
+SELECT @@global.innodb_saved_page_number_debug;
+@@global.innodb_saved_page_number_debug
+10
+set global innodb_saved_page_number_debug = 100;
+set global innodb_saved_page_number_debug = dummy;
+ERROR 42000: Incorrect argument type to variable 'innodb_saved_page_number_debug'
+set innodb_saved_page_number_debug = ON;
+ERROR HY000: Variable 'innodb_saved_page_number_debug' is a GLOBAL variable and should be set with SET GLOBAL
+# An example usage.
+create table t1 (f1 int primary key) engine = innodb;
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+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;
+SELECT @@global.innodb_saved_page_number_debug;
+@@global.innodb_saved_page_number_debug
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_sched_priority_cleaner_basic.result b/mysql-test/suite/sys_vars/r/innodb_sched_priority_cleaner_basic.result
new file mode 100644
index 00000000000..f2bfaf2ed61
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_sched_priority_cleaner_basic.result
@@ -0,0 +1,30 @@
+SET GLOBAL innodb_sched_priority_cleaner=39;
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+@@GLOBAL.innodb_sched_priority_cleaner
+19
+SELECT @@SESSION.innodb_sched_priority_cleaner;
+ERROR HY000: Variable 'innodb_sched_priority_cleaner' is a GLOBAL variable
+SET GLOBAL innodb_sched_priority_cleaner=19;
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+@@GLOBAL.innodb_sched_priority_cleaner
+19
+SET GLOBAL innodb_sched_priority_cleaner=5;
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+@@GLOBAL.innodb_sched_priority_cleaner
+5
+SET GLOBAL innodb_sched_priority_cleaner=0;
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+@@GLOBAL.innodb_sched_priority_cleaner
+0
+SET GLOBAL innodb_sched_priority_cleaner=-1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_sched_priority_cleaner value: '-1'
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+@@GLOBAL.innodb_sched_priority_cleaner
+0
+SET GLOBAL innodb_sched_priority_cleaner=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_cleaner'
+SET GLOBAL innodb_sched_priority_cleaner=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_cleaner'
+SET GLOBAL innodb_sched_priority_cleaner='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_cleaner'
diff --git a/mysql-test/suite/sys_vars/r/innodb_sched_priority_io_basic.result b/mysql-test/suite/sys_vars/r/innodb_sched_priority_io_basic.result
new file mode 100644
index 00000000000..5fd7705bfaf
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_sched_priority_io_basic.result
@@ -0,0 +1,30 @@
+SET @start_value = @@GLOBAL.innodb_sched_priority_io;
+SELECT @@GLOBAL.innodb_sched_priority_io;
+@@GLOBAL.innodb_sched_priority_io
+19
+SELECT @@SESSION.innodb_sched_priority_io;
+ERROR HY000: Variable 'innodb_sched_priority_io' is a GLOBAL variable
+SET GLOBAL innodb_sched_priority_io=19;
+SELECT @@GLOBAL.innodb_sched_priority_io;
+@@GLOBAL.innodb_sched_priority_io
+19
+SET GLOBAL innodb_sched_priority_io=5;
+SELECT @@GLOBAL.innodb_sched_priority_io;
+@@GLOBAL.innodb_sched_priority_io
+5
+SET GLOBAL innodb_sched_priority_io=0;
+SELECT @@GLOBAL.innodb_sched_priority_io;
+@@GLOBAL.innodb_sched_priority_io
+0
+SET GLOBAL innodb_sched_priority_io=-1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_sched_priority_io value: '-1'
+SELECT @@GLOBAL.innodb_sched_priority_io;
+@@GLOBAL.innodb_sched_priority_io
+0
+SET GLOBAL innodb_sched_priority_io=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_io'
+SET GLOBAL innodb_sched_priority_io=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_io'
+SET GLOBAL innodb_sched_priority_io='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_io'
diff --git a/mysql-test/suite/sys_vars/r/innodb_sched_priority_master_basic.result b/mysql-test/suite/sys_vars/r/innodb_sched_priority_master_basic.result
new file mode 100644
index 00000000000..caa72f58369
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_sched_priority_master_basic.result
@@ -0,0 +1,30 @@
+SET @start_value = @@GLOBAL.innodb_sched_priority_master;
+SELECT @@GLOBAL.innodb_sched_priority_master;
+@@GLOBAL.innodb_sched_priority_master
+19
+SELECT @@SESSION.innodb_sched_priority_master;
+ERROR HY000: Variable 'innodb_sched_priority_master' is a GLOBAL variable
+SET GLOBAL innodb_sched_priority_master=19;
+SELECT @@GLOBAL.innodb_sched_priority_master;
+@@GLOBAL.innodb_sched_priority_master
+19
+SET GLOBAL innodb_sched_priority_master=5;
+SELECT @@GLOBAL.innodb_sched_priority_master;
+@@GLOBAL.innodb_sched_priority_master
+5
+SET GLOBAL innodb_sched_priority_master=0;
+SELECT @@GLOBAL.innodb_sched_priority_master;
+@@GLOBAL.innodb_sched_priority_master
+0
+SET GLOBAL innodb_sched_priority_master=-1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_sched_priority_master value: '-1'
+SELECT @@GLOBAL.innodb_sched_priority_master;
+@@GLOBAL.innodb_sched_priority_master
+0
+SET GLOBAL innodb_sched_priority_master=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_master'
+SET GLOBAL innodb_sched_priority_master=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_master'
+SET GLOBAL innodb_sched_priority_master='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_master'
diff --git a/mysql-test/suite/sys_vars/r/innodb_sched_priority_purge_basic.result b/mysql-test/suite/sys_vars/r/innodb_sched_priority_purge_basic.result
new file mode 100644
index 00000000000..e3b9c627214
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_sched_priority_purge_basic.result
@@ -0,0 +1,30 @@
+SET @start_value = @@GLOBAL.innodb_sched_priority_purge;
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+@@GLOBAL.innodb_sched_priority_purge
+19
+SELECT @@SESSION.innodb_sched_priority_purge;
+ERROR HY000: Variable 'innodb_sched_priority_purge' is a GLOBAL variable
+SET GLOBAL innodb_sched_priority_purge=19;
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+@@GLOBAL.innodb_sched_priority_purge
+19
+SET GLOBAL innodb_sched_priority_purge=5;
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+@@GLOBAL.innodb_sched_priority_purge
+5
+SET GLOBAL innodb_sched_priority_purge=0;
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+@@GLOBAL.innodb_sched_priority_purge
+0
+SET GLOBAL innodb_sched_priority_purge=-1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_sched_priority_purge value: '-1'
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+@@GLOBAL.innodb_sched_priority_purge
+0
+SET GLOBAL innodb_sched_priority_purge=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_purge'
+SET GLOBAL innodb_sched_priority_purge=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_purge'
+SET GLOBAL innodb_sched_priority_purge='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_purge'
diff --git a/mysql-test/suite/sys_vars/r/innodb_scrub_log_basic.result b/mysql-test/suite/sys_vars/r/innodb_scrub_log_basic.result
new file mode 100644
index 00000000000..fc3a31fc5a2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_scrub_log_basic.result
@@ -0,0 +1,48 @@
+SELECT @@GLOBAL.innodb_scrub_log;
+@@GLOBAL.innodb_scrub_log
+0
+0 Expected
+SET @@GLOBAL.innodb_scrub_log=1;
+ERROR HY000: Variable 'innodb_scrub_log' is a read only variable
+Expected error 'Read only variable'
+SELECT @@GLOBAL.innodb_scrub_log;
+@@GLOBAL.innodb_scrub_log
+0
+0 Expected
+SELECT IF(@@GLOBAL.innodb_scrub_log, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_scrub_log';
+IF(@@GLOBAL.innodb_scrub_log, 'ON', 'OFF') = VARIABLE_VALUE
+1
+1 Expected
+SELECT @@GLOBAL.innodb_scrub_log;
+@@GLOBAL.innodb_scrub_log
+0
+0 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_scrub_log';
+VARIABLE_VALUE
+OFF
+0 Expected
+SELECT @@innodb_scrub_log = @@GLOBAL.innodb_scrub_log;
+@@innodb_scrub_log = @@GLOBAL.innodb_scrub_log
+1
+1 Expected
+SELECT @@innodb_scrub_log;
+@@innodb_scrub_log
+0
+0 Expected
+SELECT @@local.innodb_scrub_log;
+ERROR HY000: Variable 'innodb_scrub_log' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@SESSION.innodb_scrub_log;
+ERROR HY000: Variable 'innodb_scrub_log' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@GLOBAL.innodb_scrub_log;
+@@GLOBAL.innodb_scrub_log
+0
+0 Expected
+SELECT innodb_scrub_log;
+ERROR 42S22: Unknown column 'innodb_scrub_log' in 'field list'
+Expected error 'Unknow column in field list'
diff --git a/mysql-test/suite/sys_vars/r/innodb_scrub_log_speed_basic.result b/mysql-test/suite/sys_vars/r/innodb_scrub_log_speed_basic.result
new file mode 100644
index 00000000000..e51dab0718a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_scrub_log_speed_basic.result
@@ -0,0 +1,53 @@
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+@@GLOBAL.innodb_scrub_log_speed
+256
+200 Expected
+SET @@GLOBAL.innodb_scrub_log_speed=100;
+1 Expected
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+@@GLOBAL.innodb_scrub_log_speed
+100
+100 Expected
+SET @@GLOBAL.innodb_scrub_log_speed=DEFAULT;
+1 Expected
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+@@GLOBAL.innodb_scrub_log_speed
+256
+200 Expected
+SELECT @@GLOBAL.innodb_scrub_log_speed = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_scrub_log_speed';
+@@GLOBAL.innodb_scrub_log_speed = VARIABLE_VALUE
+1
+1 Expected
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+@@GLOBAL.innodb_scrub_log_speed
+256
+200 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_scrub_log_speed';
+VARIABLE_VALUE
+256
+200 Expected
+SELECT @@innodb_scrub_log_speed = @@GLOBAL.innodb_scrub_log_speed;
+@@innodb_scrub_log_speed = @@GLOBAL.innodb_scrub_log_speed
+1
+1 Expected
+SELECT @@innodb_scrub_log_speed;
+@@innodb_scrub_log_speed
+256
+200 Expected
+SELECT @@local.innodb_scrub_log_speed;
+ERROR HY000: Variable 'innodb_scrub_log_speed' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@SESSION.innodb_scrub_log_speed;
+ERROR HY000: Variable 'innodb_scrub_log_speed' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+@@GLOBAL.innodb_scrub_log_speed
+256
+200 Expected
+SELECT innodb_scrub_log_speed;
+ERROR 42S22: Unknown column 'innodb_scrub_log_speed' in 'field list'
+Expected error 'Unknow column in field list'
diff --git a/mysql-test/suite/sys_vars/r/innodb_sort_buffer_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_sort_buffer_size_basic.result
new file mode 100644
index 00000000000..2eb0eba1598
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_sort_buffer_size_basic.result
@@ -0,0 +1,21 @@
+select @@global.innodb_sort_buffer_size;
+@@global.innodb_sort_buffer_size
+1048576
+select @@session.innodb_sort_buffer_size;
+ERROR HY000: Variable 'innodb_sort_buffer_size' is a GLOBAL variable
+show global variables like 'innodb_sort_buffer_size';
+Variable_name Value
+innodb_sort_buffer_size 1048576
+show session variables like 'innodb_sort_buffer_size';
+Variable_name Value
+innodb_sort_buffer_size 1048576
+select * from information_schema.global_variables where variable_name='innodb_sort_buffer_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_SORT_BUFFER_SIZE 1048576
+select * from information_schema.session_variables where variable_name='innodb_sort_buffer_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_SORT_BUFFER_SIZE 1048576
+set global innodb_sort_buffer_size=1;
+ERROR HY000: Variable 'innodb_sort_buffer_size' is a read only variable
+set session innodb_sort_buffer_size=1;
+ERROR HY000: Variable 'innodb_sort_buffer_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_stats_auto_recalc_basic.result b/mysql-test/suite/sys_vars/r/innodb_stats_auto_recalc_basic.result
new file mode 100644
index 00000000000..dd4970cbdb0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_stats_auto_recalc_basic.result
@@ -0,0 +1,24 @@
+SELECT @@innodb_stats_auto_recalc;
+@@innodb_stats_auto_recalc
+1
+SET GLOBAL innodb_stats_auto_recalc=ON;
+SELECT @@innodb_stats_auto_recalc;
+@@innodb_stats_auto_recalc
+1
+SET GLOBAL innodb_stats_auto_recalc=OFF;
+SELECT @@innodb_stats_auto_recalc;
+@@innodb_stats_auto_recalc
+0
+SET GLOBAL innodb_stats_auto_recalc=1;
+SELECT @@innodb_stats_auto_recalc;
+@@innodb_stats_auto_recalc
+1
+SET GLOBAL innodb_stats_auto_recalc=0;
+SELECT @@innodb_stats_auto_recalc;
+@@innodb_stats_auto_recalc
+0
+SET GLOBAL innodb_stats_auto_recalc=123;
+ERROR 42000: Variable 'innodb_stats_auto_recalc' can't be set to the value of '123'
+SET GLOBAL innodb_stats_auto_recalc='foo';
+ERROR 42000: Variable 'innodb_stats_auto_recalc' can't be set to the value of 'foo'
+SET GLOBAL innodb_stats_auto_recalc=default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_stats_include_delete_marked_basic.result b/mysql-test/suite/sys_vars/r/innodb_stats_include_delete_marked_basic.result
new file mode 100644
index 00000000000..ffd208e7927
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_stats_include_delete_marked_basic.result
@@ -0,0 +1,25 @@
+SELECT @@innodb_stats_include_delete_marked;
+@@innodb_stats_include_delete_marked
+0
+SET GLOBAL innodb_stats_include_delete_marked=1;
+SELECT @@innodb_stats_include_delete_marked;
+@@innodb_stats_include_delete_marked
+1
+SET SESSION innodb_stats_include_delete_marked=1;
+ERROR HY000: Variable 'innodb_stats_include_delete_marked' is a GLOBAL variable and should be set with SET GLOBAL
+SET GLOBAL innodb_stats_include_delete_marked=100;
+ERROR 42000: Variable 'innodb_stats_include_delete_marked' can't be set to the value of '100'
+SET GLOBAL innodb_stats_include_delete_marked=foo;
+ERROR 42000: Variable 'innodb_stats_include_delete_marked' can't be set to the value of 'foo'
+SET GLOBAL innodb_stats_include_delete_marked=OFF ;
+SELECT @@innodb_stats_include_delete_marked;
+@@innodb_stats_include_delete_marked
+0
+SET GLOBAL innodb_stats_include_delete_marked=ON ;
+SELECT @@innodb_stats_include_delete_marked;
+@@innodb_stats_include_delete_marked
+1
+SET GLOBAL innodb_stats_include_delete_marked=Default ;
+SELECT @@innodb_stats_include_delete_marked;
+@@innodb_stats_include_delete_marked
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_stats_on_metadata_basic.result b/mysql-test/suite/sys_vars/r/innodb_stats_on_metadata_basic.result
index 852ef8a353d..19e4a8a67d2 100644
--- a/mysql-test/suite/sys_vars/r/innodb_stats_on_metadata_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_stats_on_metadata_basic.result
@@ -1,28 +1,28 @@
SET @start_global_value = @@global.innodb_stats_on_metadata;
SELECT @start_global_value;
@start_global_value
-1
+0
Valid values are 'ON' and 'OFF'
select @@global.innodb_stats_on_metadata in (0, 1);
@@global.innodb_stats_on_metadata in (0, 1)
1
select @@global.innodb_stats_on_metadata;
@@global.innodb_stats_on_metadata
-1
+0
select @@session.innodb_stats_on_metadata;
ERROR HY000: Variable 'innodb_stats_on_metadata' is a GLOBAL variable
show global variables like 'innodb_stats_on_metadata';
Variable_name Value
-innodb_stats_on_metadata ON
+innodb_stats_on_metadata OFF
show session variables like 'innodb_stats_on_metadata';
Variable_name Value
-innodb_stats_on_metadata ON
+innodb_stats_on_metadata OFF
select * from information_schema.global_variables where variable_name='innodb_stats_on_metadata';
VARIABLE_NAME VARIABLE_VALUE
-INNODB_STATS_ON_METADATA ON
+INNODB_STATS_ON_METADATA OFF
select * from information_schema.session_variables where variable_name='innodb_stats_on_metadata';
VARIABLE_NAME VARIABLE_VALUE
-INNODB_STATS_ON_METADATA ON
+INNODB_STATS_ON_METADATA OFF
set global innodb_stats_on_metadata='OFF';
select @@global.innodb_stats_on_metadata;
@@global.innodb_stats_on_metadata
@@ -89,4 +89,4 @@ ERROR 42000: Variable 'innodb_stats_on_metadata' can't be set to the value of 'A
SET @@global.innodb_stats_on_metadata = @start_global_value;
SELECT @@global.innodb_stats_on_metadata;
@@global.innodb_stats_on_metadata
-1
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_stats_persistent_basic.result b/mysql-test/suite/sys_vars/r/innodb_stats_persistent_basic.result
new file mode 100644
index 00000000000..1cbdd16afdf
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_stats_persistent_basic.result
@@ -0,0 +1,24 @@
+SELECT @@innodb_stats_persistent;
+@@innodb_stats_persistent
+0
+SET GLOBAL innodb_stats_persistent=ON;
+SELECT @@innodb_stats_persistent;
+@@innodb_stats_persistent
+1
+SET GLOBAL innodb_stats_persistent=OFF;
+SELECT @@innodb_stats_persistent;
+@@innodb_stats_persistent
+0
+SET GLOBAL innodb_stats_persistent=1;
+SELECT @@innodb_stats_persistent;
+@@innodb_stats_persistent
+1
+SET GLOBAL innodb_stats_persistent=0;
+SELECT @@innodb_stats_persistent;
+@@innodb_stats_persistent
+0
+SET GLOBAL innodb_stats_persistent=123;
+ERROR 42000: Variable 'innodb_stats_persistent' can't be set to the value of '123'
+SET GLOBAL innodb_stats_persistent='foo';
+ERROR 42000: Variable 'innodb_stats_persistent' can't be set to the value of 'foo'
+SET GLOBAL innodb_stats_persistent=off;
diff --git a/mysql-test/suite/sys_vars/r/innodb_stats_persistent_sample_pages_basic.result b/mysql-test/suite/sys_vars/r/innodb_stats_persistent_sample_pages_basic.result
new file mode 100644
index 00000000000..d2e848621dd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_stats_persistent_sample_pages_basic.result
@@ -0,0 +1,61 @@
+SET @start_global_value = @@global.innodb_stats_persistent_sample_pages;
+SELECT @start_global_value;
+@start_global_value
+20
+Valid values are zero or above
+SELECT @@global.innodb_stats_persistent_sample_pages >=0;
+@@global.innodb_stats_persistent_sample_pages >=0
+1
+SELECT @@global.innodb_stats_persistent_sample_pages;
+@@global.innodb_stats_persistent_sample_pages
+20
+SELECT @@session.innodb_stats_persistent_sample_pages;
+ERROR HY000: Variable 'innodb_stats_persistent_sample_pages' is a GLOBAL variable
+SHOW global variables LIKE 'innodb_stats_persistent_sample_pages';
+Variable_name Value
+innodb_stats_persistent_sample_pages 20
+SHOW session variables LIKE 'innodb_stats_persistent_sample_pages';
+Variable_name Value
+innodb_stats_persistent_sample_pages 20
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_PERSISTENT_SAMPLE_PAGES 20
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_PERSISTENT_SAMPLE_PAGES 20
+SET global innodb_stats_persistent_sample_pages=10;
+SELECT @@global.innodb_stats_persistent_sample_pages;
+@@global.innodb_stats_persistent_sample_pages
+10
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_PERSISTENT_SAMPLE_PAGES 10
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_PERSISTENT_SAMPLE_PAGES 10
+SET session innodb_stats_persistent_sample_pages=1;
+ERROR HY000: Variable 'innodb_stats_persistent_sample_pages' is a GLOBAL variable and should be set with SET GLOBAL
+SET global innodb_stats_persistent_sample_pages=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_stats_persistent_sample_pages'
+SET global innodb_stats_persistent_sample_pages=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_stats_persistent_sample_pages'
+SET global innodb_stats_persistent_sample_pages="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_stats_persistent_sample_pages'
+SET global innodb_stats_persistent_sample_pages=-7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_stats_persistent_sample_p value: '-7'
+SELECT @@global.innodb_stats_persistent_sample_pages;
+@@global.innodb_stats_persistent_sample_pages
+1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_PERSISTENT_SAMPLE_PAGES 1
+SET @@global.innodb_stats_persistent_sample_pages = @start_global_value;
+SELECT @@global.innodb_stats_persistent_sample_pages;
+@@global.innodb_stats_persistent_sample_pages
+20
diff --git a/mysql-test/suite/sys_vars/r/innodb_stats_sample_pages_basic.result b/mysql-test/suite/sys_vars/r/innodb_stats_sample_pages_basic.result
index 153ae95a4fe..e490773b63a 100644
--- a/mysql-test/suite/sys_vars/r/innodb_stats_sample_pages_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_stats_sample_pages_basic.result
@@ -24,6 +24,8 @@ select * from information_schema.session_variables where variable_name='innodb_s
VARIABLE_NAME VARIABLE_VALUE
INNODB_STATS_SAMPLE_PAGES 8
set global innodb_stats_sample_pages=10;
+Warnings:
+Warning 131 Using innodb_stats_sample_pages is deprecated and the variable may be removed in future releases. Please use innodb_stats_transient_sample_pages instead.
select @@global.innodb_stats_sample_pages;
@@global.innodb_stats_sample_pages
10
@@ -44,6 +46,7 @@ ERROR 42000: Incorrect argument type to variable 'innodb_stats_sample_pages'
set global innodb_stats_sample_pages=-7;
Warnings:
Warning 1292 Truncated incorrect innodb_stats_sample_pages value: '-7'
+Warning 131 Using innodb_stats_sample_pages is deprecated and the variable may be removed in future releases. Please use innodb_stats_transient_sample_pages instead.
select @@global.innodb_stats_sample_pages;
@@global.innodb_stats_sample_pages
1
@@ -51,6 +54,8 @@ select * from information_schema.global_variables where variable_name='innodb_st
VARIABLE_NAME VARIABLE_VALUE
INNODB_STATS_SAMPLE_PAGES 1
SET @@global.innodb_stats_sample_pages = @start_global_value;
+Warnings:
+Warning 131 Using innodb_stats_sample_pages is deprecated and the variable may be removed in future releases. Please use innodb_stats_transient_sample_pages instead.
SELECT @@global.innodb_stats_sample_pages;
@@global.innodb_stats_sample_pages
8
diff --git a/mysql-test/suite/sys_vars/r/innodb_stats_transient_sample_pages_basic.result b/mysql-test/suite/sys_vars/r/innodb_stats_transient_sample_pages_basic.result
new file mode 100644
index 00000000000..4c60dd5a697
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_stats_transient_sample_pages_basic.result
@@ -0,0 +1,61 @@
+SET @start_global_value = @@global.innodb_stats_transient_sample_pages;
+SELECT @start_global_value;
+@start_global_value
+8
+Valid values are zero or above
+SELECT @@global.innodb_stats_transient_sample_pages >=0;
+@@global.innodb_stats_transient_sample_pages >=0
+1
+SELECT @@global.innodb_stats_transient_sample_pages;
+@@global.innodb_stats_transient_sample_pages
+8
+SELECT @@session.innodb_stats_transient_sample_pages;
+ERROR HY000: Variable 'innodb_stats_transient_sample_pages' is a GLOBAL variable
+SHOW global variables LIKE 'innodb_stats_transient_sample_pages';
+Variable_name Value
+innodb_stats_transient_sample_pages 8
+SHOW session variables LIKE 'innodb_stats_transient_sample_pages';
+Variable_name Value
+innodb_stats_transient_sample_pages 8
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_TRANSIENT_SAMPLE_PAGES 8
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_TRANSIENT_SAMPLE_PAGES 8
+SET global innodb_stats_transient_sample_pages=10;
+SELECT @@global.innodb_stats_transient_sample_pages;
+@@global.innodb_stats_transient_sample_pages
+10
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_TRANSIENT_SAMPLE_PAGES 10
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_TRANSIENT_SAMPLE_PAGES 10
+SET session innodb_stats_transient_sample_pages=1;
+ERROR HY000: Variable 'innodb_stats_transient_sample_pages' is a GLOBAL variable and should be set with SET GLOBAL
+SET global innodb_stats_transient_sample_pages=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_stats_transient_sample_pages'
+SET global innodb_stats_transient_sample_pages=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_stats_transient_sample_pages'
+SET global innodb_stats_transient_sample_pages="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_stats_transient_sample_pages'
+SET global innodb_stats_transient_sample_pages=-7;
+Warnings:
+Warning 1292 Truncated incorrect innodb_stats_transient_sample_pa value: '-7'
+SELECT @@global.innodb_stats_transient_sample_pages;
+@@global.innodb_stats_transient_sample_pages
+1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATS_TRANSIENT_SAMPLE_PAGES 1
+SET @@global.innodb_stats_transient_sample_pages = @start_global_value;
+SELECT @@global.innodb_stats_transient_sample_pages;
+@@global.innodb_stats_transient_sample_pages
+8
diff --git a/mysql-test/suite/sys_vars/r/innodb_status_output_basic.result b/mysql-test/suite/sys_vars/r/innodb_status_output_basic.result
new file mode 100644
index 00000000000..35731a2334b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_status_output_basic.result
@@ -0,0 +1,102 @@
+SET @start_global_value = @@global.innodb_status_output;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_status_output in (0, 1);
+@@global.innodb_status_output in (0, 1)
+1
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+0
+select @@session.innodb_status_output;
+ERROR HY000: Variable 'innodb_status_output' is a GLOBAL variable
+show global variables like 'innodb_status_output';
+Variable_name Value
+innodb_status_output OFF
+show session variables like 'innodb_status_output';
+Variable_name Value
+innodb_status_output OFF
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+set global innodb_status_output='OFF';
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+set @@global.innodb_status_output=1;
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+set global innodb_status_output=0;
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+set @@global.innodb_status_output='ON';
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+set session innodb_status_output='OFF';
+ERROR HY000: Variable 'innodb_status_output' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_status_output='ON';
+ERROR HY000: Variable 'innodb_status_output' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_status_output=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_status_output'
+set global innodb_status_output=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_status_output'
+set global innodb_status_output=2;
+ERROR 42000: Variable 'innodb_status_output' can't be set to the value of '2'
+set global innodb_status_output=-3;
+ERROR 42000: Variable 'innodb_status_output' can't be set to the value of '-3'
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+set global innodb_status_output=DEFAULT;
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+set global innodb_status_output='AUTO';
+ERROR 42000: Variable 'innodb_status_output' can't be set to the value of 'AUTO'
+SET @@global.innodb_status_output = @start_global_value;
+SELECT @@global.innodb_status_output;
+@@global.innodb_status_output
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_status_output_locks_basic.result b/mysql-test/suite/sys_vars/r/innodb_status_output_locks_basic.result
new file mode 100644
index 00000000000..6fc741a7975
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_status_output_locks_basic.result
@@ -0,0 +1,102 @@
+SET @start_global_value = @@global.innodb_status_output_locks;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_status_output_locks in (0, 1);
+@@global.innodb_status_output_locks in (0, 1)
+1
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
+select @@session.innodb_status_output_locks;
+ERROR HY000: Variable 'innodb_status_output_locks' is a GLOBAL variable
+show global variables like 'innodb_status_output_locks';
+Variable_name Value
+innodb_status_output_locks OFF
+show session variables like 'innodb_status_output_locks';
+Variable_name Value
+innodb_status_output_locks OFF
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+set global innodb_status_output_locks='OFF';
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+set @@global.innodb_status_output_locks=1;
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+set global innodb_status_output_locks=0;
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+set @@global.innodb_status_output_locks='ON';
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+set session innodb_status_output_locks='OFF';
+ERROR HY000: Variable 'innodb_status_output_locks' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_status_output_locks='ON';
+ERROR HY000: Variable 'innodb_status_output_locks' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_status_output_locks=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_status_output_locks'
+set global innodb_status_output_locks=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_status_output_locks'
+set global innodb_status_output_locks=2;
+ERROR 42000: Variable 'innodb_status_output_locks' can't be set to the value of '2'
+set global innodb_status_output_locks=-3;
+ERROR 42000: Variable 'innodb_status_output_locks' can't be set to the value of '-3'
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+set global innodb_status_output_locks=DEFAULT;
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+set global innodb_status_output_locks='AUTO';
+ERROR 42000: Variable 'innodb_status_output_locks' can't be set to the value of 'AUTO'
+SET @@global.innodb_status_output_locks = @start_global_value;
+SELECT @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result
new file mode 100644
index 00000000000..526dd7d8350
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result
@@ -0,0 +1,30 @@
+Valid values are between 0 and 1024
+SELECT @@global.innodb_sync_array_size between 0 and 1024;
+@@global.innodb_sync_array_size between 0 and 1024
+1
+SELECT @@global.innodb_sync_array_size;
+@@global.innodb_sync_array_size
+1
+SELECT @@session.innodb_sync_array_size;
+ERROR HY000: Variable 'innodb_sync_array_size' is a GLOBAL variable
+SHOW GLOBAL variables LIKE 'innodb_sync_array_size';
+Variable_name Value
+innodb_sync_array_size 1
+SHOW SESSION variables LIKE 'innodb_sync_array_size';
+Variable_name Value
+innodb_sync_array_size 1
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_sync_array_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_SYNC_ARRAY_SIZE 1
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_sync_array_size';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_SYNC_ARRAY_SIZE 1
+SET GLOBAL innodb_sync_array_size=10;
+ERROR HY000: Variable 'innodb_sync_array_size' is a read only variable
+SET SESSION innodb_sync_array_size=10;
+ERROR HY000: Variable 'innodb_sync_array_size' is a read only variable
+SELECT @@global.innodb_sync_array_size;
+@@global.innodb_sync_array_size
+1
diff --git a/mysql-test/suite/sys_vars/r/innodb_thread_sleep_delay_basic.result b/mysql-test/suite/sys_vars/r/innodb_thread_sleep_delay_basic.result
index 0335db8e859..ebb99559255 100644
--- a/mysql-test/suite/sys_vars/r/innodb_thread_sleep_delay_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_thread_sleep_delay_basic.result
@@ -42,7 +42,9 @@ ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay'
set global innodb_thread_sleep_delay="foo";
ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay'
set global innodb_thread_sleep_delay=18446744073709551616;
-ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay'
+Warnings:
+Warning 1916 Got overflow when converting '18446744073709551616' to INT. Value truncated.
+Warning 1292 Truncated incorrect innodb_thread_sleep_delay value: '9223372036854775807'
set global innodb_thread_sleep_delay=-7;
Warnings:
Warning 1292 Truncated incorrect innodb_thread_sleep_delay value: '-7'
diff --git a/mysql-test/suite/sys_vars/r/innodb_tmpdir_basic.result b/mysql-test/suite/sys_vars/r/innodb_tmpdir_basic.result
new file mode 100644
index 00000000000..be10c93b56b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_tmpdir_basic.result
@@ -0,0 +1,35 @@
+SET @start_global_value = @@global.innodb_tmpdir;
+SELECT @start_global_value;
+@start_global_value
+NULL
+select @@session.innodb_tmpdir;
+@@session.innodb_tmpdir
+NULL
+show global variables like 'innodb_tmpdir';
+Variable_name Value
+innodb_tmpdir
+show session variables like 'innodb_tmpdir';
+Variable_name Value
+innodb_tmpdir
+select * from information_schema.global_variables where variable_name='innodb_tmpdir';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TMPDIR
+select * from information_schema.session_variables where variable_name='innodb_tmpdir';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TMPDIR
+set global innodb_tmpdir=@@global.tmpdir;
+set session innodb_tmpdir=@@global.tmpdir;
+set global innodb_tmpdir=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_tmpdir'
+set global innodb_tmpdir=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_tmpdir'
+set global innodb_tmpdir=repeat('a',1000);
+ERROR 42000: Variable 'innodb_tmpdir' can't be set to the value of 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+show warnings;
+Level Code Message
+Warning 1210 Path length should not exceed 512 bytes
+Error 1231 Variable 'innodb_tmpdir' can't be set to the value of 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+SET @@global.innodb_tmpdir = @start_global_value;
+SELECT @@global.innodb_tmpdir;
+@@global.innodb_tmpdir
+NULL
diff --git a/mysql-test/suite/sys_vars/r/innodb_undo_directory_basic.result b/mysql-test/suite/sys_vars/r/innodb_undo_directory_basic.result
new file mode 100644
index 00000000000..e7d7cef67c7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_undo_directory_basic.result
@@ -0,0 +1,48 @@
+SELECT @@GLOBAL.innodb_undo_directory;
+@@GLOBAL.innodb_undo_directory
+.
+. Expected
+SET @@GLOBAL.innodb_undo_directory="/tmp";
+ERROR HY000: Variable 'innodb_undo_directory' is a read only variable
+Expected error 'Read only variable'
+SELECT COUNT(@@GLOBAL.innodb_undo_directory);
+COUNT(@@GLOBAL.innodb_undo_directory)
+1
+1 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_directory';
+VARIABLE_VALUE
+.
+. Expected
+SELECT COUNT(@@GLOBAL.innodb_undo_directory);
+COUNT(@@GLOBAL.innodb_undo_directory)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_directory';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+SELECT @@innodb_undo_directory = @@GLOBAL.innodb_undo_directory;
+@@innodb_undo_directory = @@GLOBAL.innodb_undo_directory
+1
+1 Expected
+SELECT COUNT(@@innodb_undo_directory);
+COUNT(@@innodb_undo_directory)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_undo_directory);
+ERROR HY000: Variable 'innodb_undo_directory' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_undo_directory);
+ERROR HY000: Variable 'innodb_undo_directory' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@GLOBAL.innodb_undo_directory);
+COUNT(@@GLOBAL.innodb_undo_directory)
+1
+1 Expected
+SELECT innodb_undo_directory = @@SESSION.innodb_undo_directory;
+ERROR 42S22: Unknown column 'innodb_undo_directory' in 'field list'
+Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/innodb_undo_logs_basic.result b/mysql-test/suite/sys_vars/r/innodb_undo_logs_basic.result
new file mode 100644
index 00000000000..1310d7151fd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_undo_logs_basic.result
@@ -0,0 +1,68 @@
+SELECT @@GLOBAL.innodb_undo_logs;
+@@GLOBAL.innodb_undo_logs
+128
+128 Expected
+SET @@GLOBAL.innodb_undo_logs=128;
+SELECT COUNT(@@GLOBAL.innodb_undo_logs);
+COUNT(@@GLOBAL.innodb_undo_logs)
+1
+1 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_logs';
+VARIABLE_VALUE
+128
+128 Expected
+SELECT @@innodb_undo_logs = @@GLOBAL.innodb_undo_logs;
+@@innodb_undo_logs = @@GLOBAL.innodb_undo_logs
+1
+1 Expected
+SELECT COUNT(@@innodb_undo_logs);
+COUNT(@@innodb_undo_logs)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_undo_logs);
+ERROR HY000: Variable 'innodb_undo_logs' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_undo_logs);
+ERROR HY000: Variable 'innodb_undo_logs' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT innodb_undo_logs = @@SESSION.innodb_undo_logs;
+ERROR 42S22: Unknown column 'innodb_undo_logs' in 'field list'
+Begin bug 13604034
+select @@innodb_undo_logs;
+@@innodb_undo_logs
+128
+128 Expected
+set global innodb_undo_logs = 129;
+Warnings:
+Warning 1292 Truncated incorrect innodb_undo_logs value: '129'
+select @@innodb_undo_logs;
+@@innodb_undo_logs
+128
+128 Expected
+set global innodb_undo_logs = 0;
+Warnings:
+Warning 1292 Truncated incorrect innodb_undo_logs value: '0'
+select @@innodb_undo_logs;
+@@innodb_undo_logs
+1
+1 Expected
+set global innodb_undo_logs = -1;
+Warnings:
+Warning 1292 Truncated incorrect innodb_undo_logs value: '-1'
+select @@innodb_undo_logs;
+@@innodb_undo_logs
+1
+1 Expected
+set global innodb_undo_logs = 50;
+select @@innodb_undo_logs;
+@@innodb_undo_logs
+50
+50 Expected
+set global innodb_undo_logs = default;
+select @@innodb_undo_logs;
+@@innodb_undo_logs
+128
+128 Expected
+End bug 13604034
diff --git a/mysql-test/suite/sys_vars/r/innodb_undo_tablespaces_basic.result b/mysql-test/suite/sys_vars/r/innodb_undo_tablespaces_basic.result
new file mode 100644
index 00000000000..6130484ad86
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_undo_tablespaces_basic.result
@@ -0,0 +1,38 @@
+SELECT @@GLOBAL.innodb_undo_tablespaces;
+@@GLOBAL.innodb_undo_tablespaces
+0
+0 Expected
+SET @@GLOBAL.innodb_undo_tablespaces=128;
+ERROR HY000: Variable 'innodb_undo_tablespaces' is a read only variable
+Expected error 'Read only variable'
+SELECT COUNT(@@GLOBAL.innodb_undo_tablespaces);
+COUNT(@@GLOBAL.innodb_undo_tablespaces)
+1
+1 Expected
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_tablespaces';
+VARIABLE_VALUE
+0
+0 Expected
+SELECT @@innodb_undo_tablespaces = @@GLOBAL.innodb_undo_tablespaces;
+@@innodb_undo_tablespaces = @@GLOBAL.innodb_undo_tablespaces
+1
+1 Expected
+SELECT COUNT(@@innodb_undo_tablespaces);
+COUNT(@@innodb_undo_tablespaces)
+1
+1 Expected
+SELECT COUNT(@@local.innodb_undo_tablespaces);
+ERROR HY000: Variable 'innodb_undo_tablespaces' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.innodb_undo_tablespaces);
+ERROR HY000: Variable 'innodb_undo_tablespaces' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@GLOBAL.innodb_undo_tablespaces);
+COUNT(@@GLOBAL.innodb_undo_tablespaces)
+1
+1 Expected
+SELECT innodb_undo_tablespaces = @@SESSION.innodb_undo_tablespaces;
+ERROR 42S22: Unknown column 'innodb_undo_tablespaces' in 'field list'
+Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/innodb_use_mtflush_basic.result b/mysql-test/suite/sys_vars/r/innodb_use_mtflush_basic.result
new file mode 100644
index 00000000000..f77abba7ac9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_use_mtflush_basic.result
@@ -0,0 +1,21 @@
+select @@global.innodb_use_mtflush;
+@@global.innodb_use_mtflush
+0
+select @@session.innodb_use_mtflush;
+ERROR HY000: Variable 'innodb_use_mtflush' is a GLOBAL variable
+show global variables like 'innodb_use_mtflush';
+Variable_name Value
+innodb_use_mtflush OFF
+show session variables like 'innodb_use_mtflush';
+Variable_name Value
+innodb_use_mtflush OFF
+select * from information_schema.global_variables where variable_name='innodb_use_mtflush';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_USE_MTFLUSH OFF
+select * from information_schema.session_variables where variable_name='innodb_use_mtflush';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_USE_MTFLUSH OFF
+set global innodb_use_mtflush=1;
+ERROR HY000: Variable 'innodb_use_mtflush' is a read only variable
+set session innodb_use_mtflush=1;
+ERROR HY000: Variable 'innodb_use_mtflush' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/innodb_use_trim_basic.result b/mysql-test/suite/sys_vars/r/innodb_use_trim_basic.result
new file mode 100644
index 00000000000..63292f5d3c8
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_use_trim_basic.result
@@ -0,0 +1,33 @@
+SET @start_use_trim = @@global.innodb_use_trim;
+SELECT @start_use_trim;
+@start_use_trim
+0
+SELECT COUNT(@@GLOBAL.innodb_use_trim);
+COUNT(@@GLOBAL.innodb_use_trim)
+1
+1 Expected
+SET @@GLOBAL.innodb_use_trim=1;
+SELECT COUNT(@@GLOBAL.innodb_use_trim);
+COUNT(@@GLOBAL.innodb_use_trim)
+1
+1 Expected
+SELECT IF(@@GLOBAL.innodb_use_trim, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_use_trim';
+IF(@@GLOBAL.innodb_use_trim, 'ON', 'OFF') = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.innodb_use_trim);
+COUNT(@@GLOBAL.innodb_use_trim)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_use_trim';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+SET @@global.innodb_use_trim = @start_use_trim;
+SELECT @@global.innodb_use_trim;
+@@global.innodb_use_trim
+0
diff --git a/mysql-test/suite/sys_vars/r/join_buffer_size_basic.result b/mysql-test/suite/sys_vars/r/join_buffer_size_basic.result
index 2aa8b7dd80a..48131c96fce 100644
--- a/mysql-test/suite/sys_vars/r/join_buffer_size_basic.result
+++ b/mysql-test/suite/sys_vars/r/join_buffer_size_basic.result
@@ -1,20 +1,20 @@
SET @start_global_value = @@global.join_buffer_size;
SELECT @start_global_value;
@start_global_value
-131072
+262144
SET @start_session_value = @@session.join_buffer_size;
SELECT @start_session_value;
@start_session_value
-131072
+262144
'#--------------------FN_DYNVARS_053_01-------------------------#'
SET @@global.join_buffer_size = DEFAULT;
SELECT @@global.join_buffer_size;
@@global.join_buffer_size
-131072
+262144
SET @@session.join_buffer_size = DEFAULT;
SELECT @@session.join_buffer_size;
@@session.join_buffer_size
-131072
+262144
'#--------------------FN_DYNVARS_053_03-------------------------#'
SET @@global.join_buffer_size = 8200;
Warnings:
@@ -172,8 +172,8 @@ ERROR 42S22: Unknown column 'join_buffer_size' in 'field list'
SET @@global.join_buffer_size = @start_global_value;
SELECT @@global.join_buffer_size;
@@global.join_buffer_size
-131072
+262144
SET @@session.join_buffer_size = @start_session_value;
SELECT @@session.join_buffer_size;
@@session.join_buffer_size
-131072
+262144
diff --git a/mysql-test/suite/sys_vars/r/key_cache_file_hash_size_basic.result b/mysql-test/suite/sys_vars/r/key_cache_file_hash_size_basic.result
new file mode 100644
index 00000000000..52ebfc98cdc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/key_cache_file_hash_size_basic.result
@@ -0,0 +1,114 @@
+SET @start_value = @@global.key_cache_file_hash_size;
+SELECT @start_value;
+@start_value
+512
+'#--------------------FN_DYNVARS_056_01------------------------#'
+SET @@global.key_cache_file_hash_size = DEFAULT;
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+512
+'#---------------------FN_DYNVARS_056_02-------------------------#'
+SET @@global.key_cache_file_hash_size = @start_value;
+SELECT @@global.key_cache_file_hash_size = 300;
+@@global.key_cache_file_hash_size = 300
+0
+'#--------------------FN_DYNVARS_056_03------------------------#'
+SET @@global.key_cache_file_hash_size = 128;
+SET @@global.key_cache_file_hash_size = 16384;
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+16384
+'#--------------------FN_DYNVARS_056_04-------------------------#'
+SET @@global.key_cache_file_hash_size = -1;
+Warnings:
+Warning 1292 Truncated incorrect key_cache_file_hash_size value: '-1'
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+128
+SET @@global.key_cache_file_hash_size = 42949672951;
+Warnings:
+Warning 1292 Truncated incorrect key_cache_file_hash_size value: '42949672951'
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+16384
+SET @@global.key_cache_file_hash_size = 10000.01;
+ERROR 42000: Incorrect argument type to variable 'key_cache_file_hash_size'
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+16384
+SET @@global.key_cache_file_hash_size = -1024;
+Warnings:
+Warning 1292 Truncated incorrect key_cache_file_hash_size value: '-1024'
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+128
+SET @@global.key_cache_file_hash_size = 99;
+Warnings:
+Warning 1292 Truncated incorrect key_cache_file_hash_size value: '99'
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+128
+SET @@global.key_cache_file_hash_size = ON;
+ERROR 42000: Incorrect argument type to variable 'key_cache_file_hash_size'
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+128
+SET @@global.key_cache_file_hash_size = 'test';
+ERROR 42000: Incorrect argument type to variable 'key_cache_file_hash_size'
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+128
+'#-------------------FN_DYNVARS_056_05----------------------------#'
+SET @@session.key_cache_file_hash_size = 0;
+ERROR HY000: Variable 'key_cache_file_hash_size' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@session.key_cache_file_hash_size;
+ERROR HY000: Variable 'key_cache_file_hash_size' is a GLOBAL variable
+'#----------------------FN_DYNVARS_056_06------------------------#'
+SELECT @@global.key_cache_file_hash_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='key_cache_file_hash_size';
+@@global.key_cache_file_hash_size = VARIABLE_VALUE
+1
+SELECT @@key_cache_file_hash_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='key_cache_file_hash_size';
+@@key_cache_file_hash_size = VARIABLE_VALUE
+1
+'#---------------------FN_DYNVARS_056_07----------------------#'
+SET @@global.key_cache_file_hash_size = TRUE;
+Warnings:
+Warning 1292 Truncated incorrect key_cache_file_hash_size value: '1'
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+128
+SET @@global.key_cache_file_hash_size = FALSE;
+Warnings:
+Warning 1292 Truncated incorrect key_cache_file_hash_size value: '0'
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+128
+'#---------------------FN_DYNVARS_056_08----------------------#'
+SET @@global.key_cache_file_hash_size = 150;
+SELECT @@key_cache_file_hash_size = @@global.key_cache_file_hash_size;
+@@key_cache_file_hash_size = @@global.key_cache_file_hash_size
+1
+'#---------------------FN_DYNVARS_056_09----------------------#'
+SET key_cache_file_hash_size = 8000;
+ERROR HY000: Variable 'key_cache_file_hash_size' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@key_cache_file_hash_size;
+@@key_cache_file_hash_size
+150
+SET local.key_cache_file_hash_size = 10;
+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 'key_cache_file_hash_size = 10' at line 1
+SELECT local.key_cache_file_hash_size;
+ERROR 42S02: Unknown table 'local' in field list
+SET global.key_cache_file_hash_size = 10;
+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 'key_cache_file_hash_size = 10' at line 1
+SELECT global.key_cache_file_hash_size;
+ERROR 42S02: Unknown table 'global' in field list
+SELECT key_cache_file_hash_size = @@session.key_cache_file_hash_size;
+ERROR 42S22: Unknown column 'key_cache_file_hash_size' in 'field list'
+SET @@global.key_cache_file_hash_size = @start_value;
+SELECT @@global.key_cache_file_hash_size;
+@@global.key_cache_file_hash_size
+512
diff --git a/mysql-test/suite/sys_vars/r/last_gtid_basic.result b/mysql-test/suite/sys_vars/r/last_gtid_basic.result
new file mode 100644
index 00000000000..d39b6595f04
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/last_gtid_basic.result
@@ -0,0 +1,9 @@
+SELECT @@global.last_gtid;
+ERROR HY000: Variable 'last_gtid' is a SESSION variable
+SET GLOBAL last_gtid= 10;
+ERROR HY000: Variable 'last_gtid' is a read only variable
+SET SESSION last_gtid= 20;
+ERROR HY000: Variable 'last_gtid' is a read only variable
+SELECT @@session.last_gtid;
+@@session.last_gtid
+
diff --git a/mysql-test/suite/sys_vars/r/lc_time_names_basic.result b/mysql-test/suite/sys_vars/r/lc_time_names_basic.result
index e61436c0e47..ed03c3e6d94 100644
--- a/mysql-test/suite/sys_vars/r/lc_time_names_basic.result
+++ b/mysql-test/suite/sys_vars/r/lc_time_names_basic.result
@@ -1022,7 +1022,11 @@ SELECT @@lc_time_names;
@@lc_time_names
el_GR
SET @@lc_time_names = 110;
-ERROR HY000: Unknown locale: '110'
+SELECT @@lc_time_names;
+@@lc_time_names
+rm_CH
+SET @@lc_time_names = 111;
+ERROR HY000: Unknown locale: '111'
'#--------------------FN_DYNVARS_060_10-------------------------#'
SET @@lc_time_names = en_EN;
ERROR HY000: Unknown locale: 'en_EN'
diff --git a/mysql-test/suite/sys_vars/r/log_bin_basename_basic.result b/mysql-test/suite/sys_vars/r/log_bin_basename_basic.result
new file mode 100644
index 00000000000..696e384ac6e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/log_bin_basename_basic.result
@@ -0,0 +1,21 @@
+select @@global.log_bin_basename;
+@@global.log_bin_basename
+REPLACED
+select @@session.log_bin_basename;
+ERROR HY000: Variable 'log_bin_basename' is a GLOBAL variable
+show global variables like 'log_bin_basename';
+Variable_name Value
+log_bin_basename REPLACED
+show session variables like 'log_bin_basename';
+Variable_name Value
+log_bin_basename REPLACED
+select * from information_schema.global_variables where variable_name='log_bin_basename';
+VARIABLE_NAME VARIABLE_VALUE
+LOG_BIN_BASENAME REPLACED
+select * from information_schema.session_variables where variable_name='log_bin_basename';
+VARIABLE_NAME VARIABLE_VALUE
+LOG_BIN_BASENAME REPLACED
+set global log_bin_basename=1;
+ERROR HY000: Variable 'log_bin_basename' is a read only variable
+set session log_bin_basename=1;
+ERROR HY000: Variable 'log_bin_basename' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/log_bin_index_basic.result b/mysql-test/suite/sys_vars/r/log_bin_index_basic.result
new file mode 100644
index 00000000000..6b28f5fd3e3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/log_bin_index_basic.result
@@ -0,0 +1,21 @@
+select @@global.log_bin_index;
+@@global.log_bin_index
+REPLACED
+select @@session.log_bin_index;
+ERROR HY000: Variable 'log_bin_index' is a GLOBAL variable
+show global variables like 'log_bin_index';
+Variable_name Value
+log_bin_index REPLACED
+show session variables like 'log_bin_index';
+Variable_name Value
+log_bin_index REPLACED
+select * from information_schema.global_variables where variable_name='log_bin_index';
+VARIABLE_NAME VARIABLE_VALUE
+LOG_BIN_INDEX REPLACED
+select * from information_schema.session_variables where variable_name='log_bin_index';
+VARIABLE_NAME VARIABLE_VALUE
+LOG_BIN_INDEX REPLACED
+set global log_bin_index=1;
+ERROR HY000: Variable 'log_bin_index' is a read only variable
+set session log_bin_index=1;
+ERROR HY000: Variable 'log_bin_index' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/log_slow_admin_statements_func.result b/mysql-test/suite/sys_vars/r/log_slow_admin_statements_func.result
new file mode 100644
index 00000000000..daddc4af627
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/log_slow_admin_statements_func.result
@@ -0,0 +1,46 @@
+SET @old_log_output= @@global.log_output;
+SET @old_slow_query_log= @@global.slow_query_log;
+SET @old_long_query_time= @@session.long_query_time;
+SET @old_log_slow_admin_statements= @@global.log_slow_admin_statements;
+USE test;
+CREATE TABLE log_slow_admin_statements (
+i INT PRIMARY KEY AUTO_INCREMENT,
+j VARCHAR(255)
+) ENGINE=InnoDB;
+SET GLOBAL log_output = 'file,table';
+SET GLOBAL slow_query_log = on;
+SET SESSION long_query_time = 0;
+SET GLOBAL log_slow_admin_statements = on;
+ALTER TABLE log_slow_admin_statements ADD COLUMN k INT DEFAULT 17;
+CREATE PROCEDURE add_rows()
+BEGIN
+DECLARE count INT;
+SET count = 1;
+INSERT INTO log_slow_admin_statements(j) values (REPEAT('A', 255));
+WHILE count <= 15 DO
+INSERT INTO log_slow_admin_statements(j) SELECT j FROM log_slow_admin_statements;
+SET count = count + 1;
+END WHILE;
+END
+$
+CALL add_rows();
+OPTIMIZE TABLE log_slow_admin_statements;
+Table Op Msg_type Msg_text
+test.log_slow_admin_statements optimize note Table does not support optimize, doing recreate + analyze instead
+test.log_slow_admin_statements optimize status OK
+CHECK TABLE log_slow_admin_statements EXTENDED;
+Table Op Msg_type Msg_text
+test.log_slow_admin_statements check status OK
+DROP TABLE log_slow_admin_statements;
+SELECT sql_text FROM mysql.slow_log WHERE sql_text LIKE '%TABLE log_slow_admin_statements%';
+sql_text
+ALTER TABLE log_slow_admin_statements ADD COLUMN k INT DEFAULT 17
+OPTIMIZE TABLE log_slow_admin_statements
+CHECK TABLE log_slow_admin_statements EXTENDED
+DROP TABLE log_slow_admin_statements
+SET @@global.log_output= @old_log_output;
+SET @@global.slow_query_log= @old_slow_query_log;
+SET @@session.long_query_time= @old_long_query_time;
+SET @@global.log_slow_admin_statements= @old_log_slow_admin_statements;
+DROP PROCEDURE add_rows;
+TRUNCATE TABLE mysql.slow_log;
diff --git a/mysql-test/suite/sys_vars/r/log_slow_verbosity_basic.result b/mysql-test/suite/sys_vars/r/log_slow_verbosity_basic.result
index 24b805d4d9c..a291e276e4b 100644
--- a/mysql-test/suite/sys_vars/r/log_slow_verbosity_basic.result
+++ b/mysql-test/suite/sys_vars/r/log_slow_verbosity_basic.result
@@ -37,6 +37,22 @@ set session log_slow_verbosity=3;
select @@session.log_slow_verbosity;
@@session.log_slow_verbosity
innodb,query_plan
+set session log_slow_verbosity=4;
+select @@session.log_slow_verbosity;
+@@session.log_slow_verbosity
+explain
+set session log_slow_verbosity=5;
+select @@session.log_slow_verbosity;
+@@session.log_slow_verbosity
+innodb,explain
+set session log_slow_verbosity=6;
+select @@session.log_slow_verbosity;
+@@session.log_slow_verbosity
+query_plan,explain
+set session log_slow_verbosity=7;
+select @@session.log_slow_verbosity;
+@@session.log_slow_verbosity
+innodb,query_plan,explain
set session log_slow_verbosity='innodb';
select @@session.log_slow_verbosity;
@@session.log_slow_verbosity
@@ -49,6 +65,14 @@ set session log_slow_verbosity='innodb,query_plan';
select @@session.log_slow_verbosity;
@@session.log_slow_verbosity
innodb,query_plan
+set session log_slow_verbosity='explain';
+select @@session.log_slow_verbosity;
+@@session.log_slow_verbosity
+explain
+set session log_slow_verbosity='innodb,query_plan,explain';
+select @@session.log_slow_verbosity;
+@@session.log_slow_verbosity
+innodb,query_plan,explain
set session log_slow_verbosity='';
select @@session.log_slow_verbosity;
@@session.log_slow_verbosity
@@ -59,6 +83,6 @@ set session log_slow_verbosity=1e1;
ERROR 42000: Incorrect argument type to variable 'log_slow_verbosity'
set session log_slow_verbosity="foo";
ERROR 42000: Variable 'log_slow_verbosity' can't be set to the value of 'foo'
-set session log_slow_verbosity=4;
-ERROR 42000: Variable 'log_slow_verbosity' can't be set to the value of '4'
+set session log_slow_verbosity=8;
+ERROR 42000: Variable 'log_slow_verbosity' can't be set to the value of '8'
SET @@global.log_slow_verbosity = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/r/log_tc_size_basic.result b/mysql-test/suite/sys_vars/r/log_tc_size_basic.result
new file mode 100644
index 00000000000..8097fcf61bd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/log_tc_size_basic.result
@@ -0,0 +1,4 @@
+SET GLOBAL log_tc_size=1;
+ERROR HY000: Variable 'log_tc_size' is a read only variable
+SET SESSION log_tc_size=1;
+ERROR HY000: Variable 'log_tc_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result b/mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
index ffa43415bd3..79708c480a8 100644
--- a/mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
+++ b/mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
@@ -1,7 +1,7 @@
SET @start_global_value = @@global.max_allowed_packet;
SELECT @start_global_value;
@start_global_value
-1048576
+4194304
SET @@global.max_allowed_packet = DEFAULT;
'#--------------------FN_DYNVARS_070_01-------------------------#'
SET @@global.max_allowed_packet = 1000;
@@ -11,19 +11,19 @@ Warning 1708 The value of 'max_allowed_packet' should be no less than the value
SET @@global.max_allowed_packet = DEFAULT;
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
-1048576
+4194304
SET @@session.max_allowed_packet = 20000;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SET @@session.max_allowed_packet = DEFAULT;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
'#--------------------FN_DYNVARS_070_02-------------------------#'
SET @@global.max_allowed_packet = DEFAULT;
SELECT @@global.max_allowed_packet = 1048576;
@@global.max_allowed_packet = 1048576
-1
+0
'#--------------------FN_DYNVARS_070_03-------------------------#'
SET @@global.max_allowed_packet = 1024;
Warnings:
@@ -53,27 +53,27 @@ SET @@session.max_allowed_packet = 1024;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
SET @@session.max_allowed_packet = 1025;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
SET @@session.max_allowed_packet = 65535;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
SET @@session.max_allowed_packet = 1073741824;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
SET @@session.max_allowed_packet = 1073741823;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
'#------------------FN_DYNVARS_070_05-----------------------#'
SET @@global.max_allowed_packet = 0;
Warnings:
@@ -116,29 +116,29 @@ SET @@session.max_allowed_packet = 0;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
SET @@session.max_allowed_packet = 1023;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
SET @@session.max_allowed_packet = -2;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
SET @@session.max_allowed_packet = 65530.34;
ERROR 42000: Incorrect argument type to variable 'max_allowed_packet'
SET @@session.max_allowed_packet = 10737418241;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
SET @@session.max_allowed_packet = test;
ERROR 42000: Incorrect argument type to variable 'max_allowed_packet'
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
'#------------------FN_DYNVARS_070_06-----------------------#'
SELECT @@global.max_allowed_packet = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
@@ -187,7 +187,7 @@ SET max_allowed_packet = 1024;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@max_allowed_packet;
@@max_allowed_packet
-1048576
+4194304
SELECT local.max_allowed_packet;
ERROR 42S02: Unknown table 'local' in field list
SELECT session.max_allowed_packet;
@@ -197,7 +197,7 @@ ERROR 42S22: Unknown column 'max_allowed_packet' in 'field list'
SET @@global.max_allowed_packet = @start_global_value;
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
-1048576
+4194304
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
diff --git a/mysql-test/suite/sys_vars/r/max_allowed_packet_func.result b/mysql-test/suite/sys_vars/r/max_allowed_packet_func.result
index 1e20776973c..1a848cbae4b 100644
--- a/mysql-test/suite/sys_vars/r/max_allowed_packet_func.result
+++ b/mysql-test/suite/sys_vars/r/max_allowed_packet_func.result
@@ -14,7 +14,7 @@ SET @@session.max_allowed_packet = 1024;
ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.max_allowed_packet;
@@session.max_allowed_packet
-1048576
+4194304
SET @@session.net_buffer_length = 1024;
ERROR HY000: SESSION variable 'net_buffer_length' is read-only. Use SET GLOBAL to assign the value
SELECT @@session.net_buffer_length;
diff --git a/mysql-test/suite/sys_vars/r/max_connect_errors_basic.result b/mysql-test/suite/sys_vars/r/max_connect_errors_basic.result
index be1a58394b8..99bc0727ad8 100644
--- a/mysql-test/suite/sys_vars/r/max_connect_errors_basic.result
+++ b/mysql-test/suite/sys_vars/r/max_connect_errors_basic.result
@@ -1,18 +1,18 @@
SET @start_value = @@global.max_connect_errors;
SELECT @start_value;
@start_value
-10
+100
'#--------------------FN_DYNVARS_073_01------------------------#'
SET @@global.max_connect_errors = 5000;
SET @@global.max_connect_errors = DEFAULT;
SELECT @@global.max_connect_errors;
@@global.max_connect_errors
-10
+100
'#---------------------FN_DYNVARS_073_02-------------------------#'
SET @@global.max_connect_errors = @start_value;
SELECT @@global.max_connect_errors = 10;
@@global.max_connect_errors = 10
-1
+0
'#--------------------FN_DYNVARS_073_03------------------------#'
SET @@global.max_connect_errors = 4096;
SELECT @@global.max_connect_errors;
@@ -131,4 +131,4 @@ ERROR 42S22: Unknown column 'max_connect_errors' in 'field list'
SET @@global.max_connect_errors = @start_value;
SELECT @@global.max_connect_errors;
@@global.max_connect_errors
-10
+100
diff --git a/mysql-test/suite/sys_vars/r/max_connections_basic.result b/mysql-test/suite/sys_vars/r/max_connections_basic.result
index 708342b016d..f9b2c034400 100644
--- a/mysql-test/suite/sys_vars/r/max_connections_basic.result
+++ b/mysql-test/suite/sys_vars/r/max_connections_basic.result
@@ -27,20 +27,24 @@ SELECT @@global.max_connections;
@@global.max_connections
65536
SET @@global.max_connections = 1;
+Warnings:
+Warning 1292 Truncated incorrect max_connections value: '1'
SELECT @@global.max_connections;
@@global.max_connections
-1
+10
SET @@global.max_connections = 2;
+Warnings:
+Warning 1292 Truncated incorrect max_connections value: '2'
SELECT @@global.max_connections;
@@global.max_connections
-2
+10
'#--------------------FN_DYNVARS_074_04-------------------------#'
SET @@global.max_connections = -1;
Warnings:
Warning 1292 Truncated incorrect max_connections value: '-1'
SELECT @@global.max_connections;
@@global.max_connections
-1
+10
SET @@global.max_connections = 100000000000;
Warnings:
Warning 1292 Truncated incorrect max_connections value: '100000000000'
@@ -57,13 +61,13 @@ Warnings:
Warning 1292 Truncated incorrect max_connections value: '-1024'
SELECT @@global.max_connections;
@@global.max_connections
-1
+10
SET @@global.max_connections = 0;
Warnings:
Warning 1292 Truncated incorrect max_connections value: '0'
SELECT @@global.max_connections;
@@global.max_connections
-1
+10
SET @@global.max_connections = 100001;
Warnings:
Warning 1292 Truncated incorrect max_connections value: '100001'
@@ -98,15 +102,17 @@ WHERE VARIABLE_NAME='max_connections';
1
'#---------------------FN_DYNVARS_074_07----------------------#'
SET @@global.max_connections = TRUE;
+Warnings:
+Warning 1292 Truncated incorrect max_connections value: '1'
SELECT @@global.max_connections;
@@global.max_connections
-1
+10
SET @@global.max_connections = FALSE;
Warnings:
Warning 1292 Truncated incorrect max_connections value: '0'
SELECT @@global.max_connections;
@@global.max_connections
-1
+10
'#---------------------FN_DYNVARS_074_08----------------------#'
SET @@global.max_connections = 5000;
SELECT @@max_connections = @@global.max_connections;
diff --git a/mysql-test/suite/sys_vars/r/max_digest_length_basic.result b/mysql-test/suite/sys_vars/r/max_digest_length_basic.result
new file mode 100644
index 00000000000..1a733273614
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/max_digest_length_basic.result
@@ -0,0 +1,23 @@
+select @@global.max_digest_length;
+@@global.max_digest_length
+1024
+select @@session.max_digest_length;
+ERROR HY000: Variable 'max_digest_length' is a GLOBAL variable
+show global variables like 'max_digest_length';
+Variable_name Value
+max_digest_length 1024
+show session variables like 'max_digest_length';
+Variable_name Value
+max_digest_length 1024
+select * from information_schema.global_variables
+where variable_name='max_digest_length';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_DIGEST_LENGTH 1024
+select * from information_schema.session_variables
+where variable_name='max_digest_length';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_DIGEST_LENGTH 1024
+set global max_digest_length=1;
+ERROR HY000: Variable 'max_digest_length' is a read only variable
+set session max_digest_length=1;
+ERROR HY000: Variable 'max_digest_length' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/max_prepared_stmt_count_basic.result b/mysql-test/suite/sys_vars/r/max_prepared_stmt_count_basic.result
index 9419f251930..d3de7707f84 100644
--- a/mysql-test/suite/sys_vars/r/max_prepared_stmt_count_basic.result
+++ b/mysql-test/suite/sys_vars/r/max_prepared_stmt_count_basic.result
@@ -46,40 +46,40 @@ Warnings:
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '100000000000'
SELECT @@global.max_prepared_stmt_count;
@@global.max_prepared_stmt_count
-1048576
+4294967295
SET @@global.max_prepared_stmt_count = 10000.01;
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
SELECT @@global.max_prepared_stmt_count;
@@global.max_prepared_stmt_count
-1048576
+4294967295
SET @@global.max_prepared_stmt_count = -1024;
Warnings:
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '-1024'
SELECT @@global.max_prepared_stmt_count;
@@global.max_prepared_stmt_count
0
-SET @@global.max_prepared_stmt_count = 1048577;
+SET @@global.max_prepared_stmt_count = 4294967296;
Warnings:
-Warning 1292 Truncated incorrect max_prepared_stmt_count value: '1048577'
+Warning 1292 Truncated incorrect max_prepared_stmt_count value: '4294967296'
SELECT @@global.max_prepared_stmt_count;
@@global.max_prepared_stmt_count
-1048576
-SET @@global.max_prepared_stmt_count = 104857612;
+4294967295
+SET @@global.max_prepared_stmt_count = 4294967295*1024;
Warnings:
-Warning 1292 Truncated incorrect max_prepared_stmt_count value: '104857612'
+Warning 1292 Truncated incorrect max_prepared_stmt_count value: '4398046510080'
SELECT @@global.max_prepared_stmt_count;
@@global.max_prepared_stmt_count
-1048576
+4294967295
SET @@global.max_prepared_stmt_count = ON;
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
SELECT @@global.max_prepared_stmt_count;
@@global.max_prepared_stmt_count
-1048576
+4294967295
SET @@global.max_prepared_stmt_count = 'test';
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
SELECT @@global.max_prepared_stmt_count;
@@global.max_prepared_stmt_count
-1048576
+4294967295
'#-------------------FN_DYNVARS_081_05----------------------------#'
SET @@session.max_prepared_stmt_count = 4096;
ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL
diff --git a/mysql-test/suite/sys_vars/r/max_relay_log_size_basic.result b/mysql-test/suite/sys_vars/r/max_relay_log_size_basic.result
index d61e9dd20b0..6025e28ccaa 100644
--- a/mysql-test/suite/sys_vars/r/max_relay_log_size_basic.result
+++ b/mysql-test/suite/sys_vars/r/max_relay_log_size_basic.result
@@ -1,7 +1,7 @@
SET @start_value = @@global.max_relay_log_size;
SELECT @start_value;
@start_value
-0
+1073741824
'#--------------------FN_DYNVARS_082_01------------------------#'
SET @@global.max_relay_log_size = 5000;
Warnings:
@@ -9,7 +9,7 @@ Warning 1292 Truncated incorrect max_relay_log_size value: '5000'
SET @@global.max_relay_log_size = DEFAULT;
SELECT @@global.max_relay_log_size;
@@global.max_relay_log_size
-0
+1073741824
'#---------------------FN_DYNVARS_082_02-------------------------#'
SET @@global.max_relay_log_size = @start_value;
SELECT @@global.max_relay_log_size = 1024;
@@ -17,15 +17,17 @@ SELECT @@global.max_relay_log_size = 1024;
0
'#--------------------FN_DYNVARS_082_03------------------------#'
SET @@global.max_relay_log_size = 0;
+Warnings:
+Warning 1292 Truncated incorrect max_relay_log_size value: '0'
SELECT @@global.max_relay_log_size;
@@global.max_relay_log_size
-0
+4096
SET @@global.max_relay_log_size = 1;
Warnings:
Warning 1292 Truncated incorrect max_relay_log_size value: '1'
SELECT @@global.max_relay_log_size;
@@global.max_relay_log_size
-0
+4096
SET @@global.max_relay_log_size = 1073741824;
SELECT @@global.max_relay_log_size;
@@global.max_relay_log_size
@@ -48,7 +50,7 @@ Warnings:
Warning 1292 Truncated incorrect max_relay_log_size value: '-1'
SELECT @@global.max_relay_log_size;
@@global.max_relay_log_size
-0
+4096
SET @@global.max_relay_log_size = 100000000000;
Warnings:
Warning 1292 Truncated incorrect max_relay_log_size value: '100000000000'
@@ -65,7 +67,7 @@ Warnings:
Warning 1292 Truncated incorrect max_relay_log_size value: '-1024'
SELECT @@global.max_relay_log_size;
@@global.max_relay_log_size
-0
+4096
SET @@global.max_relay_log_size = 1073741825;
Warnings:
Warning 1292 Truncated incorrect max_relay_log_size value: '1073741825'
@@ -90,9 +92,9 @@ SELECT @@global.max_relay_log_size;
1073741824
'#-------------------FN_DYNVARS_082_05----------------------------#'
SET @@session.max_relay_log_size = 4096;
-ERROR HY000: Variable 'max_relay_log_size' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@session.max_relay_log_size;
-ERROR HY000: Variable 'max_relay_log_size' is a GLOBAL variable
+@@session.max_relay_log_size
+4096
'#----------------------FN_DYNVARS_082_06------------------------#'
SELECT @@global.max_relay_log_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
@@ -110,11 +112,13 @@ Warnings:
Warning 1292 Truncated incorrect max_relay_log_size value: '1'
SELECT @@global.max_relay_log_size;
@@global.max_relay_log_size
-0
+4096
SET @@global.max_relay_log_size = FALSE;
+Warnings:
+Warning 1292 Truncated incorrect max_relay_log_size value: '0'
SELECT @@global.max_relay_log_size;
@@global.max_relay_log_size
-0
+4096
'#---------------------FN_DYNVARS_082_08----------------------#'
SET @@global.max_relay_log_size = 5000;
Warnings:
@@ -124,7 +128,8 @@ SELECT @@max_relay_log_size = @@global.max_relay_log_size;
1
'#---------------------FN_DYNVARS_082_09----------------------#'
SET max_relay_log_size = 6000;
-ERROR HY000: Variable 'max_relay_log_size' is a GLOBAL variable and should be set with SET GLOBAL
+Warnings:
+Warning 1292 Truncated incorrect max_relay_log_size value: '6000'
SELECT @@max_relay_log_size;
@@max_relay_log_size
4096
@@ -141,4 +146,4 @@ ERROR 42S22: Unknown column 'max_relay_log_size' in 'field list'
SET @@global.max_relay_log_size = @start_value;
SELECT @@global.max_relay_log_size;
@@global.max_relay_log_size
-0
+1073741824
diff --git a/mysql-test/suite/sys_vars/r/max_statement_time_basic.result b/mysql-test/suite/sys_vars/r/max_statement_time_basic.result
new file mode 100644
index 00000000000..8b384ac6765
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/max_statement_time_basic.result
@@ -0,0 +1,172 @@
+SET @start_global_value = @@global.max_statement_time;
+SELECT @start_global_value;
+@start_global_value
+0
+SET @start_session_value = @@session.max_statement_time;
+SELECT @start_session_value;
+@start_session_value
+0
+'#--------------------FN_DYNVARS_068_01-------------------------#'
+SET @@global.max_statement_time = 100;
+SET @@global.max_statement_time = DEFAULT;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+0.000000
+SET @@session.max_statement_time = 200;
+SET @@session.max_statement_time = DEFAULT;
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+0.000000
+'#--------------------FN_DYNVARS_068_02-------------------------#'
+SET @@global.max_statement_time = DEFAULT;
+SELECT @@global.max_statement_time = 0;
+@@global.max_statement_time = 0
+1
+SET @@session.max_statement_time = DEFAULT;
+SELECT @@session.max_statement_time = 0;
+@@session.max_statement_time = 0
+1
+'#--------------------FN_DYNVARS_068_03-------------------------#'
+SET @@global.max_statement_time = 0;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+0.000000
+SET @@global.max_statement_time = 0.123456;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+0.123456
+SET @@global.max_statement_time = 60020;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+60020.000000
+SET @@global.max_statement_time = 31536000;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+31536000.000000
+SET @@global.max_statement_time = 65536;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+65536.000000
+'#--------------------FN_DYNVARS_068_04-------------------------#'
+SET @@session.max_statement_time = 0;
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+0.000000
+SET @@session.max_statement_time = 1;
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+1.000000
+SET @@session.max_statement_time = 50050;
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+50050.000000
+SET @@session.max_statement_time = 31536000;
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+31536000.000000
+SET @@session.max_statement_time = 65550;
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+65550.000000
+'#------------------FN_DYNVARS_068_05-----------------------#'
+SET @@global.max_statement_time = 100000000000;
+Warnings:
+Warning 1292 Truncated incorrect max_statement_time value: '100000000000'
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+31536000.000000
+SET @@global.max_statement_time = -1;
+Warnings:
+Warning 1292 Truncated incorrect max_statement_time value: '-1'
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+0.000000
+SET @@global.max_statement_time = 65530.34;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+65530.340000
+SET @@global.max_statement_time = test;
+ERROR 42000: Incorrect argument type to variable 'max_statement_time'
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+65530.340000
+SET @@session.max_statement_time = 100000000000;
+Warnings:
+Warning 1292 Truncated incorrect max_statement_time value: '100000000000'
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+31536000.000000
+SET @@session.max_statement_time = -2;
+Warnings:
+Warning 1292 Truncated incorrect max_statement_time value: '-2'
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+0.000000
+SET @@session.max_statement_time = 65530.34;
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+65530.340000
+SET @@session.max_statement_time = test;
+ERROR 42000: Incorrect argument type to variable 'max_statement_time'
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+65530.340000
+'#------------------FN_DYNVARS_068_06-----------------------#'
+SELECT @@global.max_statement_time = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='max_statement_time';
+@@global.max_statement_time = VARIABLE_VALUE
+1
+'#------------------FN_DYNVARS_068_07-----------------------#'
+SELECT @@session.max_statement_time = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='max_statement_time';
+@@session.max_statement_time = VARIABLE_VALUE
+1
+'#------------------FN_DYNVARS_068_08-----------------------#'
+SET @@global.max_statement_time = TRUE;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+1.000000
+SET @@global.max_statement_time = FALSE;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+0.000000
+'#---------------------FN_DYNVARS_001_09----------------------#'
+SET @@global.max_statement_time = 10;
+SELECT @@max_statement_time = @@global.max_statement_time;
+@@max_statement_time = @@global.max_statement_time
+0
+'#---------------------FN_DYNVARS_001_10----------------------#'
+SET @@max_statement_time = 100;
+SELECT @@max_statement_time = @@local.max_statement_time;
+@@max_statement_time = @@local.max_statement_time
+1
+SELECT @@local.max_statement_time = @@session.max_statement_time;
+@@local.max_statement_time = @@session.max_statement_time
+1
+'#---------------------FN_DYNVARS_001_11----------------------#'
+SET max_statement_time = 1;
+SELECT @@max_statement_time;
+@@max_statement_time
+1.000000
+SELECT local.max_statement_time;
+ERROR 42S02: Unknown table 'local' in field list
+SELECT session.max_statement_time;
+ERROR 42S02: Unknown table 'session' in field list
+SELECT max_statement_time = @@session.max_statement_time;
+ERROR 42S22: Unknown column 'max_statement_time' in 'field list'
+#
+# Check that one can use max_statement_time as a field
+#
+drop table if exists t1;
+create table t1 (a int, max_statement_time int);
+drop table t1;
+SET @@global.max_statement_time = @start_global_value;
+SELECT @@global.max_statement_time;
+@@global.max_statement_time
+0.000000
+SET @@session.max_statement_time = @start_session_value;
+SELECT @@session.max_statement_time;
+@@session.max_statement_time
+0.000000
diff --git a/mysql-test/suite/sys_vars/r/max_tmp_tables_basic.result b/mysql-test/suite/sys_vars/r/max_tmp_tables_basic.result
index 5daf78fcae1..bc6a0740880 100644
--- a/mysql-test/suite/sys_vars/r/max_tmp_tables_basic.result
+++ b/mysql-test/suite/sys_vars/r/max_tmp_tables_basic.result
@@ -8,87 +8,123 @@ SELECT @start_session_value;
32
'#--------------------FN_DYNVARS_086_01-------------------------#'
SET @@global.max_tmp_tables = 1000;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SET @@global.max_tmp_tables = DEFAULT;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
32
SET @@session.max_tmp_tables = 1000;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SET @@session.max_tmp_tables = DEFAULT;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
32
'#--------------------FN_DYNVARS_086_02-------------------------#'
SET @@global.max_tmp_tables = DEFAULT;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@global.max_tmp_tables = 32;
@@global.max_tmp_tables = 32
1
SET @@session.max_tmp_tables = DEFAULT;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@session.max_tmp_tables = 32;
@@session.max_tmp_tables = 32
1
'#--------------------FN_DYNVARS_086_03-------------------------#'
SET @@global.max_tmp_tables = 1;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
1
SET @@global.max_tmp_tables = 2;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
2
SET @@global.max_tmp_tables = 65536;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
65536
SET @@global.max_tmp_tables = 4294967295;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
4294967295
SET @@global.max_tmp_tables = 4294967294;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
4294967294
'#--------------------FN_DYNVARS_086_04-------------------------#'
SET @@session.max_tmp_tables = 1;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
1
SET @@session.max_tmp_tables = 2;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
2
SET @@session.max_tmp_tables = 65536;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
65536
SET @@session.max_tmp_tables = 4294967295;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
4294967295
SET @@session.max_tmp_tables = 4294967294;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
4294967294
'#------------------FN_DYNVARS_086_05-----------------------#'
SET @@global.max_tmp_tables = -1024;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '-1024'
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
1
SET @@global.max_tmp_tables = 4294967296;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '4294967296'
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
4294967295
SET @@global.max_tmp_tables = -1;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '-1'
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
1
SET @@global.max_tmp_tables = 429496729500;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '429496729500'
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
@@ -105,24 +141,28 @@ SELECT @@global.max_tmp_tables;
4294967295
SET @@session.max_tmp_tables = 4294967296;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '4294967296'
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
4294967295
SET @@session.max_tmp_tables = -1;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '-1'
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
1
SET @@session.max_tmp_tables = 429496729500;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '429496729500'
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
4294967295
SET @@session.max_tmp_tables = -001;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '-1'
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
@@ -131,6 +171,7 @@ SET @@session.max_tmp_tables = 65530.34;
ERROR 42000: Incorrect argument type to variable 'max_tmp_tables'
SET @@session.max_tmp_tables = 10737418241;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '10737418241'
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
@@ -154,22 +195,29 @@ WHERE VARIABLE_NAME='max_tmp_tables';
1
'#------------------FN_DYNVARS_086_08-----------------------#'
SET @@global.max_tmp_tables = TRUE;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
1
SET @@global.max_tmp_tables = FALSE;
Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
Warning 1292 Truncated incorrect max_tmp_tables value: '0'
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
1
'#---------------------FN_DYNVARS_086_09----------------------#'
SET @@global.max_tmp_tables = 20;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@max_tmp_tables = @@global.max_tmp_tables;
@@max_tmp_tables = @@global.max_tmp_tables
0
'#---------------------FN_DYNVARS_086_10----------------------#'
SET @@max_tmp_tables = 255;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@max_tmp_tables = @@local.max_tmp_tables;
@@max_tmp_tables = @@local.max_tmp_tables
1
@@ -178,6 +226,8 @@ SELECT @@local.max_tmp_tables = @@session.max_tmp_tables;
1
'#---------------------FN_DYNVARS_086_11----------------------#'
SET max_tmp_tables = 102;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@max_tmp_tables;
@@max_tmp_tables
102
@@ -188,10 +238,14 @@ ERROR 42S02: Unknown table 'session' in field list
SELECT max_tmp_tables = @@session.max_tmp_tables;
ERROR 42S22: Unknown column 'max_tmp_tables' in 'field list'
SET @@global.max_tmp_tables = @start_global_value;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@global.max_tmp_tables;
@@global.max_tmp_tables
32
SET @@session.max_tmp_tables = @start_session_value;
+Warnings:
+Warning 1287 '@@max_tmp_tables' is deprecated and will be removed in a future release.
SELECT @@session.max_tmp_tables;
@@session.max_tmp_tables
32
diff --git a/mysql-test/suite/sys_vars/r/max_user_connections_func.result b/mysql-test/suite/sys_vars/r/max_user_connections_func.result
index 04999a0a43f..4a71bf1b3f9 100644
--- a/mysql-test/suite/sys_vars/r/max_user_connections_func.result
+++ b/mysql-test/suite/sys_vars/r/max_user_connections_func.result
@@ -2,6 +2,7 @@
SET @default_max_user_connections = @@global.max_user_connections;
Set Global max_user_connections=2;
+CREATE USER test@localhost;
GRANT USAGE on *.* TO test@localhost;
'#--------------------FN_DYNVARS_114_01-------------------------#'
** Connecting conn1 using username 'test' **
diff --git a/mysql-test/suite/sys_vars/r/metadata_locks_hash_instances_basic.result b/mysql-test/suite/sys_vars/r/metadata_locks_hash_instances_basic.result
new file mode 100644
index 00000000000..46e65fbc003
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/metadata_locks_hash_instances_basic.result
@@ -0,0 +1,51 @@
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT @@GLOBAL.metadata_locks_hash_instances;
+@@GLOBAL.metadata_locks_hash_instances
+8
+####################################################################
+# Check that value cannot be set (this variable is settable only #
+# at start-up). #
+####################################################################
+SET @@GLOBAL.metadata_locks_hash_instances=1;
+ERROR HY000: Variable 'metadata_locks_hash_instances' is a read only variable
+SELECT @@GLOBAL.metadata_locks_hash_instances;
+@@GLOBAL.metadata_locks_hash_instances
+8
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+SELECT @@GLOBAL.metadata_locks_hash_instances = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='metadata_locks_hash_instances';
+@@GLOBAL.metadata_locks_hash_instances = VARIABLE_VALUE
+1
+SELECT @@GLOBAL.metadata_locks_hash_instances;
+@@GLOBAL.metadata_locks_hash_instances
+8
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='metadata_locks_hash_instances';
+VARIABLE_VALUE
+8
+######################################################################
+# Check if accessing variable with and without GLOBAL point to same #
+# variable #
+######################################################################
+SELECT @@metadata_locks_hash_instances = @@GLOBAL.metadata_locks_hash_instances;
+@@metadata_locks_hash_instances = @@GLOBAL.metadata_locks_hash_instances
+1
+######################################################################
+# Check if variable has only the GLOBAL scope #
+######################################################################
+SELECT @@metadata_locks_hash_instances;
+@@metadata_locks_hash_instances
+8
+SELECT @@GLOBAL.metadata_locks_hash_instances;
+@@GLOBAL.metadata_locks_hash_instances
+8
+SELECT @@local.metadata_locks_hash_instances;
+ERROR HY000: Variable 'metadata_locks_hash_instances' is a GLOBAL variable
+SELECT @@SESSION.metadata_locks_hash_instances;
+ERROR HY000: Variable 'metadata_locks_hash_instances' is a GLOBAL variable
diff --git a/mysql-test/suite/sys_vars/r/mutex_deadlock_detector_basic.result b/mysql-test/suite/sys_vars/r/mutex_deadlock_detector_basic.result
deleted file mode 100644
index a43c194e3f9..00000000000
--- a/mysql-test/suite/sys_vars/r/mutex_deadlock_detector_basic.result
+++ /dev/null
@@ -1,21 +0,0 @@
-select @@global.mutex_deadlock_detector;
-@@global.mutex_deadlock_detector
-1
-select @@session.mutex_deadlock_detector;
-ERROR HY000: Variable 'mutex_deadlock_detector' is a GLOBAL variable
-show global variables like 'mutex_deadlock_detector';
-Variable_name Value
-mutex_deadlock_detector ON
-show session variables like 'mutex_deadlock_detector';
-Variable_name Value
-mutex_deadlock_detector ON
-select * from information_schema.global_variables where variable_name='mutex_deadlock_detector';
-VARIABLE_NAME VARIABLE_VALUE
-MUTEX_DEADLOCK_DETECTOR ON
-select * from information_schema.session_variables where variable_name='mutex_deadlock_detector';
-VARIABLE_NAME VARIABLE_VALUE
-MUTEX_DEADLOCK_DETECTOR ON
-set global mutex_deadlock_detector=1;
-ERROR HY000: Variable 'mutex_deadlock_detector' is a read only variable
-set session mutex_deadlock_detector=1;
-ERROR HY000: Variable 'mutex_deadlock_detector' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/myisam_sort_buffer_size_basic.result b/mysql-test/suite/sys_vars/r/myisam_sort_buffer_size_basic.result
index 85482be9ad4..932d06668fb 100644
--- a/mysql-test/suite/sys_vars/r/myisam_sort_buffer_size_basic.result
+++ b/mysql-test/suite/sys_vars/r/myisam_sort_buffer_size_basic.result
@@ -1,11 +1,11 @@
SET @start_global_value = @@global.myisam_sort_buffer_size ;
SELECT @start_global_value;
@start_global_value
-8388608
+134216704
SET @start_session_value = @@session.myisam_sort_buffer_size ;
SELECT @start_session_value;
@start_session_value
-8388608
+134216704
'#--------------------FN_DYNVARS_005_01-------------------------#'
SET @@global.myisam_sort_buffer_size = 100;
Warnings:
@@ -13,22 +13,22 @@ Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '100'
SET @@global.myisam_sort_buffer_size = DEFAULT;
SELECT @@global.myisam_sort_buffer_size ;
@@global.myisam_sort_buffer_size
-8388608
+134216704
SET @@session.myisam_sort_buffer_size = 200;
Warnings:
Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '200'
SET @@session.myisam_sort_buffer_size = DEFAULT;
SELECT @@session.myisam_sort_buffer_size ;
@@session.myisam_sort_buffer_size
-8388608
+134216704
'#--------------------FN_DYNVARS_005_02-------------------------#'
SET @@global.myisam_sort_buffer_size = DEFAULT;
-SELECT @@global.myisam_sort_buffer_size = 8388608;
-@@global.myisam_sort_buffer_size = 8388608
+SELECT @@global.myisam_sort_buffer_size = 134216704;
+@@global.myisam_sort_buffer_size = 134216704
1
SET @@session.myisam_sort_buffer_size = DEFAULT;
-SELECT @@session.myisam_sort_buffer_size = 8388608;
-@@session.myisam_sort_buffer_size = 8388608
+SELECT @@session.myisam_sort_buffer_size = 134216704;
+@@session.myisam_sort_buffer_size = 134216704
1
'#--------------------FN_DYNVARS_005_03-------------------------#'
SET @@global.myisam_sort_buffer_size = 4;
@@ -187,8 +187,8 @@ ERROR 42S22: Unknown column 'myisam_sort_buffer_size' in 'field list'
SET @@global.myisam_sort_buffer_size = @start_global_value;
SELECT @@global.myisam_sort_buffer_size ;
@@global.myisam_sort_buffer_size
-8388608
+134216704
SET @@session.myisam_sort_buffer_size = @start_session_value;
SELECT @@session.myisam_sort_buffer_size ;
@@session.myisam_sort_buffer_size
-8388608
+134216704
diff --git a/mysql-test/suite/sys_vars/r/myisam_stats_method_basic.result b/mysql-test/suite/sys_vars/r/myisam_stats_method_basic.result
index 15725e757d5..e9150338317 100644
--- a/mysql-test/suite/sys_vars/r/myisam_stats_method_basic.result
+++ b/mysql-test/suite/sys_vars/r/myisam_stats_method_basic.result
@@ -1,22 +1,22 @@
SET @global_start_value = @@global.myisam_stats_method;
SELECT @global_start_value;
@global_start_value
-nulls_unequal
+NULLS_UNEQUAL
SET @session_start_value = @@session.myisam_stats_method;
SELECT @session_start_value;
@session_start_value
-nulls_unequal
+NULLS_UNEQUAL
'#--------------------FN_DYNVARS_097_01------------------------#'
SET @@global.myisam_stats_method = nulls_equal;
SET @@global.myisam_stats_method = DEFAULT;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_unequal
+NULLS_UNEQUAL
SET @@session.myisam_stats_method = nulls_equal;
SET @@session.myisam_stats_method = DEFAULT;
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
-nulls_unequal
+NULLS_UNEQUAL
'#---------------------FN_DYNVARS_097_02-------------------------#'
SET @@global.myisam_stats_method = NULL;
ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of 'NULL'
@@ -30,28 +30,28 @@ ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of ''
SET @@global.myisam_stats_method = 'nulls_equal';
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_equal
+NULLS_EQUAL
SET @@global.myisam_stats_method = 'nulls_unequal';
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_unequal
+NULLS_UNEQUAL
SET @@global.myisam_stats_method = 'nulls_ignored';
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_ignored
+NULLS_IGNORED
'Bug: Value of nulls_ignored is not documented. Its ordinal value is 2'
SET @@session.myisam_stats_method = 'nulls_equal';
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
-nulls_equal
+NULLS_EQUAL
SET @@session.myisam_stats_method = 'nulls_unequal';
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
-nulls_unequal
+NULLS_UNEQUAL
SET @@session.myisam_stats_method = 'nulls_ignored';
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
-nulls_ignored
+NULLS_IGNORED
'#--------------------FN_DYNVARS_097_04-------------------------#'
SET @@global.myisam_stats_method = -1;
ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of '-1'
@@ -81,15 +81,15 @@ WHERE VARIABLE_NAME='myisam_stats_method';
SET @@global.myisam_stats_method = 0;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_unequal
+NULLS_UNEQUAL
SET @@global.myisam_stats_method = 1;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_equal
+NULLS_EQUAL
SET @@global.myisam_stats_method = 2;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_ignored
+NULLS_IGNORED
SET @@global.myisam_stats_method = 0.4;
ERROR 42000: Incorrect argument type to variable 'myisam_stats_method'
SET @@global.myisam_stats_method = 3;
@@ -98,11 +98,11 @@ ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of '3'
SET @@global.myisam_stats_method = TRUE;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_equal
+NULLS_EQUAL
SET @@global.myisam_stats_method = FALSE;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_unequal
+NULLS_UNEQUAL
'#---------------------FN_DYNVARS_097_09----------------------#'
SET myisam_stats_method = 'nulls_equal';
SET session.myisam_stats_method = 'nulls_equal';
@@ -112,16 +112,16 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SET session myisam_stats_method = 'nulls_equal';
SELECT @@myisam_stats_method;
@@myisam_stats_method
-nulls_equal
+NULLS_EQUAL
SET global myisam_stats_method = 'nulls_equal';
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_equal
+NULLS_EQUAL
SET @@global.myisam_stats_method = @global_start_value;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_unequal
+NULLS_UNEQUAL
SET @@session.myisam_stats_method = @session_start_value;
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
-nulls_unequal
+NULLS_UNEQUAL
diff --git a/mysql-test/suite/sys_vars/r/myisam_stats_method_func.result b/mysql-test/suite/sys_vars/r/myisam_stats_method_func.result
index 5efdeeedc4b..978c8c2d5b2 100644
--- a/mysql-test/suite/sys_vars/r/myisam_stats_method_func.result
+++ b/mysql-test/suite/sys_vars/r/myisam_stats_method_func.result
@@ -5,10 +5,10 @@ SET @@global.myisam_stats_method = nulls_equal;
'connection con1'
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
-nulls_equal
+NULLS_EQUAL
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
-nulls_equal
+NULLS_EQUAL
'#--------------------FN_DYNVARS_097_02-------------------------#'
'connection default'
DROP TABLE IF EXISTS t1;
@@ -53,7 +53,7 @@ t1 1 a 1 a A 5 NULL NULL YES BTREE
SET myisam_stats_method = nulls_ignored;
SHOW VARIABLES LIKE 'myisam_stats_method';
Variable_name Value
-myisam_stats_method nulls_ignored
+myisam_stats_method NULLS_IGNORED
DROP TABLE t1;
CREATE TABLE t1 (
a CHAR(3), b CHAR(4), c CHAR(5), d CHAR(6),
diff --git a/mysql-test/suite/sys_vars/r/mysql56_temporal_format_basic.result b/mysql-test/suite/sys_vars/r/mysql56_temporal_format_basic.result
new file mode 100644
index 00000000000..8f4500b2650
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/mysql56_temporal_format_basic.result
@@ -0,0 +1,95 @@
+SET @start_value = @@global.mysql56_temporal_format;
+SELECT @start_value;
+@start_value
+1
+'#--------------------FN_DYNVARS_030_01------------------------#'
+SET @@global.mysql56_temporal_format = ON;
+SET @@global.mysql56_temporal_format = DEFAULT;
+SELECT @@global.mysql56_temporal_format;
+@@global.mysql56_temporal_format
+1
+'#---------------------FN_DYNVARS_030_02-------------------------#'
+SET @@global.mysql56_temporal_format = @start_value;
+SELECT @@global.mysql56_temporal_format;
+@@global.mysql56_temporal_format
+1
+'#--------------------FN_DYNVARS_030_03------------------------#'
+SET @@global.mysql56_temporal_format = ON;
+SELECT @@global.mysql56_temporal_format;
+@@global.mysql56_temporal_format
+1
+SET @@global.mysql56_temporal_format = OFF;
+SELECT @@global.mysql56_temporal_format;
+@@global.mysql56_temporal_format
+0
+SET @@global.mysql56_temporal_format = 0;
+SELECT @@global.mysql56_temporal_format;
+@@global.mysql56_temporal_format
+0
+SET @@global.mysql56_temporal_format = 1;
+SELECT @@global.mysql56_temporal_format;
+@@global.mysql56_temporal_format
+1
+'#--------------------FN_DYNVARS_030_04-------------------------#'
+SET @@global.mysql56_temporal_format = 2;
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of '2'
+SET @@global.mysql56_temporal_format = -1;
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of '-1'
+SET @@global.mysql56_temporal_format = TRUEF;
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of 'TRUEF'
+SET @@global.mysql56_temporal_format = TRUE_F;
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of 'TRUE_F'
+SET @@global.mysql56_temporal_format = FALSE0;
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of 'FALSE0'
+SET @@global.mysql56_temporal_format = OON;
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of 'OON'
+SET @@global.mysql56_temporal_format = ONN;
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of 'ONN'
+SET @@global.mysql56_temporal_format = OOFF;
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of 'OOFF'
+SET @@global.mysql56_temporal_format = 0FF;
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of '0FF'
+SET @@global.mysql56_temporal_format = ' ';
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of ' '
+SET @@global.mysql56_temporal_format = " ";
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of ' '
+SET @@global.mysql56_temporal_format = '';
+ERROR 42000: Variable 'mysql56_temporal_format' can't be set to the value of ''
+'#-------------------FN_DYNVARS_030_05----------------------------#'
+SET @@session.mysql56_temporal_format = 1;
+ERROR HY000: Variable 'mysql56_temporal_format' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@session.mysql56_temporal_format;
+ERROR HY000: Variable 'mysql56_temporal_format' is a GLOBAL variable
+'#----------------------FN_DYNVARS_030_06------------------------#'
+SELECT IF(@@global.mysql56_temporal_format, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='mysql56_temporal_format';
+IF(@@global.mysql56_temporal_format, "ON", "OFF") = VARIABLE_VALUE
+1
+'#---------------------FN_DYNVARS_030_07----------------------#'
+SET @@global.mysql56_temporal_format = TRUE;
+SELECT @@global.mysql56_temporal_format;
+@@global.mysql56_temporal_format
+1
+SET @@global.mysql56_temporal_format = FALSE;
+SELECT @@global.mysql56_temporal_format;
+@@global.mysql56_temporal_format
+0
+'#---------------------FN_DYNVARS_030_08----------------------#'
+SET @@global.mysql56_temporal_format = 1;
+SELECT @@mysql56_temporal_format = @@global.mysql56_temporal_format;
+@@mysql56_temporal_format = @@global.mysql56_temporal_format
+1
+'#---------------------FN_DYNVARS_030_09----------------------#'
+SET mysql56_temporal_format = 1;
+ERROR HY000: Variable 'mysql56_temporal_format' is a GLOBAL variable and should be set with SET GLOBAL
+SET global.mysql56_temporal_format = 1;
+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 'mysql56_temporal_format = 1' at line 1
+SELECT global.mysql56_temporal_format;
+ERROR 42S02: Unknown table 'global' in field list
+SELECT mysql56_temporal_format = @@session.mysql56_temporal_format;
+ERROR 42S22: Unknown column 'mysql56_temporal_format' in 'field list'
+SET @@global.mysql56_temporal_format = @start_value;
+SELECT @@global.mysql56_temporal_format;
+@@global.mysql56_temporal_format
+1
diff --git a/mysql-test/suite/sys_vars/r/mysql56_temporal_format_func.result b/mysql-test/suite/sys_vars/r/mysql56_temporal_format_func.result
new file mode 100644
index 00000000000..0f025604606
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/mysql56_temporal_format_func.result
@@ -0,0 +1,63 @@
+#
+# MariaDB-5.3 format
+#
+SET @@global.mysql56_temporal_format=false;
+CREATE TABLE t1 (a DATETIME NOT NULL, b DATETIME NOT NULL);
+INSERT INTO t1 VALUES ('2001-01-01 10:10:10','2001-01-01 10:10:10');
+SELECT * FROM t1;
+a b
+2001-01-01 10:10:10 2001-01-01 10:10:10
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+FIELD_LENGTH DATA_LENGTH
+8 17
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME(5) NOT NULL, b DATETIME(5) NOT NULL);
+INSERT INTO t1 VALUES ('2001-01-01 10:10:10.12345','2001-01-01 10:10:10.12345');
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+FIELD_LENGTH DATA_LENGTH
+7 15
+SELECT * FROM t1;
+a b
+2001-01-01 10:10:10.12345 2001-01-01 10:10:10.12345
+DROP TABLE t1;
+CREATE TABLE t1 (a TIME(5) NOT NULL,b TIME(5) NOT NULL);
+INSERT INTO t1 VALUES ('10:10:10.12345','10:10:10.12345');
+SELECT * FROM t1;
+a b
+10:10:10.12345 10:10:10.12345
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+FIELD_LENGTH DATA_LENGTH
+5 11
+DROP TABLE t1;
+#
+# MySQL-5.6 format
+#
+SET @@global.mysql56_temporal_format=true;
+CREATE TABLE t1 (a DATETIME NOT NULL, b DATETIME NOT NULL);
+INSERT INTO t1 VALUES ('2001-01-01 10:10:10','2001-01-01 10:10:10');
+SELECT * FROM t1;
+a b
+2001-01-01 10:10:10 2001-01-01 10:10:10
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+FIELD_LENGTH DATA_LENGTH
+5 11
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME(5) NOT NULL, b DATETIME(5) NOT NULL);
+INSERT INTO t1 VALUES ('2001-01-01 10:10:10.12345','2001-01-01 10:10:10.12345');
+SELECT * FROM t1;
+a b
+2001-01-01 10:10:10.12345 2001-01-01 10:10:10.12345
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+FIELD_LENGTH DATA_LENGTH
+8 17
+DROP TABLE t1;
+CREATE TABLE t1 (a TIME(5) NOT NULL,b TIME(5) NOT NULL);
+INSERT INTO t1 VALUES ('10:10:10.12345','10:10:10.12345');
+SELECT * FROM t1;
+a b
+10:10:10.12345 10:10:10.12345
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+FIELD_LENGTH DATA_LENGTH
+6 13
+DROP TABLE t1;
+SET @@global.mysql56_temporal_format=DEFAULT;
diff --git a/mysql-test/suite/sys_vars/r/old_mode_basic.result b/mysql-test/suite/sys_vars/r/old_mode_basic.result
index c9a650e7b15..052221d796e 100644
--- a/mysql-test/suite/sys_vars/r/old_mode_basic.result
+++ b/mysql-test/suite/sys_vars/r/old_mode_basic.result
@@ -111,10 +111,14 @@ SELECT @@global.old_mode;
@@global.old_mode
NO_PROGRESS_INFO
SET @@global.old_mode = 4;
-ERROR 42000: Variable 'old_mode' can't be set to the value of '4'
SELECT @@global.old_mode;
@@global.old_mode
-NO_PROGRESS_INFO
+ZERO_DATE_TIME_CAST
+SET @@global.old_mode = 8;
+ERROR 42000: Variable 'old_mode' can't be set to the value of '8'
+SELECT @@global.old_mode;
+@@global.old_mode
+ZERO_DATE_TIME_CAST
SET @@global.old_mode = 0.4;
ERROR 42000: Incorrect argument type to variable 'old_mode'
'#---------------------FN_DYNVARS_152_08----------------------#'
diff --git a/mysql-test/suite/sys_vars/r/optimizer_selectivity_sampling_limit_basic.result b/mysql-test/suite/sys_vars/r/optimizer_selectivity_sampling_limit_basic.result
new file mode 100644
index 00000000000..4df024b9cec
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/optimizer_selectivity_sampling_limit_basic.result
@@ -0,0 +1,141 @@
+SET @start_global_value = @@global.optimizer_selectivity_sampling_limit;
+SELECT @start_global_value;
+@start_global_value
+100
+SET @start_session_value = @@session.optimizer_selectivity_sampling_limit;
+SELECT @start_session_value;
+@start_session_value
+100
+'#--------------------FN_DYNVARS_115_01-------------------------#'
+SET @@global.optimizer_selectivity_sampling_limit = DEFAULT;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+100
+SET @@session.optimizer_selectivity_sampling_limit = DEFAULT;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+100
+'#--------------------FN_DYNVARS_115_02-------------------------#'
+SET @@global.optimizer_selectivity_sampling_limit = DEFAULT;
+SELECT @@global.optimizer_selectivity_sampling_limit = 100;
+@@global.optimizer_selectivity_sampling_limit = 100
+1
+SET @@session.optimizer_selectivity_sampling_limit = DEFAULT;
+SELECT @@session.optimizer_selectivity_sampling_limit = 100;
+@@session.optimizer_selectivity_sampling_limit = 100
+1
+'#--------------------FN_DYNVARS_115_03-------------------------#'
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+100
+SET @@global.optimizer_selectivity_sampling_limit = 9;
+Warnings:
+Warning 1292 Truncated incorrect optimizer_selectivity_sampling_l value: '9'
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+10
+SET @@global.optimizer_selectivity_sampling_limit = 10;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+10
+SET @@global.optimizer_selectivity_sampling_limit = 11;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+11
+SET @@global.optimizer_selectivity_sampling_limit = 7777;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+7777
+SET @@global.optimizer_selectivity_sampling_limit = 4294967294;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+4294967294
+SET @@global.optimizer_selectivity_sampling_limit = 4294967295;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+4294967295
+SET @@global.optimizer_selectivity_sampling_limit = 4294967296;
+Warnings:
+Warning 1292 Truncated incorrect optimizer_selectivity_sampling_l value: '4294967296'
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+4294967295
+'#--------------------FN_DYNVARS_115_04-------------------------#'
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+100
+SET @@session.optimizer_selectivity_sampling_limit = 9;
+Warnings:
+Warning 1292 Truncated incorrect optimizer_selectivity_sampling_l value: '9'
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+10
+SET @@session.optimizer_selectivity_sampling_limit = 10;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+10
+SET @@session.optimizer_selectivity_sampling_limit = 11;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+11
+SET @@session.optimizer_selectivity_sampling_limit = 7777;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+7777
+SET @@session.optimizer_selectivity_sampling_limit = 4294967294;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+4294967294
+SET @@session.optimizer_selectivity_sampling_limit = 4294967295;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+4294967295
+SET @@session.optimizer_selectivity_sampling_limit = 4294967296;
+Warnings:
+Warning 1292 Truncated incorrect optimizer_selectivity_sampling_l value: '4294967296'
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+4294967295
+'#------------------FN_DYNVARS_115_05-----------------------#'
+SET @@global.optimizer_selectivity_sampling_limit = ON;
+ERROR 42000: Incorrect argument type to variable 'optimizer_selectivity_sampling_limit'
+SET @@global.optimizer_selectivity_sampling_limit = OFF;
+ERROR 42000: Incorrect argument type to variable 'optimizer_selectivity_sampling_limit'
+SET @@session.optimizer_selectivity_sampling_limit = 65530.34;
+ERROR 42000: Incorrect argument type to variable 'optimizer_selectivity_sampling_limit'
+SET @@session.optimizer_selectivity_sampling_limit = test;
+ERROR 42000: Incorrect argument type to variable 'optimizer_selectivity_sampling_limit'
+'#------------------FN_DYNVARS_115_06-----------------------#'
+SELECT @@global.optimizer_selectivity_sampling_limit = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='optimizer_selectivity_sampling_limit';
+@@global.optimizer_selectivity_sampling_limit = VARIABLE_VALUE
+1
+'#------------------FN_DYNVARS_115_07-----------------------#'
+SELECT @@session.optimizer_selectivity_sampling_limit = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='optimizer_selectivity_sampling_limit';
+@@session.optimizer_selectivity_sampling_limit = VARIABLE_VALUE
+1
+'#---------------------FN_DYNVARS_115_08----------------------#'
+SET @@optimizer_selectivity_sampling_limit = 10;
+SET @@global.optimizer_selectivity_sampling_limit = 30;
+SELECT @@optimizer_selectivity_sampling_limit = @@global.optimizer_selectivity_sampling_limit;
+@@optimizer_selectivity_sampling_limit = @@global.optimizer_selectivity_sampling_limit
+0
+'#---------------------FN_DYNVARS_115_09----------------------#'
+SET @@optimizer_selectivity_sampling_limit = 20;
+SELECT @@optimizer_selectivity_sampling_limit = @@local.optimizer_selectivity_sampling_limit;
+@@optimizer_selectivity_sampling_limit = @@local.optimizer_selectivity_sampling_limit
+1
+SELECT @@local.optimizer_selectivity_sampling_limit = @@session.optimizer_selectivity_sampling_limit;
+@@local.optimizer_selectivity_sampling_limit = @@session.optimizer_selectivity_sampling_limit
+1
+SET @@global.optimizer_selectivity_sampling_limit = @start_global_value;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+@@global.optimizer_selectivity_sampling_limit
+100
+SET @@session.optimizer_selectivity_sampling_limit = @start_session_value;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+@@session.optimizer_selectivity_sampling_limit
+100
diff --git a/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result b/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result
index 509c0706ca3..97fe3957264 100644
--- a/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result
+++ b/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result
@@ -1,61 +1,63 @@
SET @start_global_value = @@global.optimizer_switch;
SELECT @start_global_value;
@start_global_value
-index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
+index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
select @@global.optimizer_switch;
@@global.optimizer_switch
-index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
+index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
select @@session.optimizer_switch;
@@session.optimizer_switch
-index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
+index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
show global variables like 'optimizer_switch';
Variable_name Value
-optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
+optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
show session variables like 'optimizer_switch';
Variable_name Value
-optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
+optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
select * from information_schema.global_variables where variable_name='optimizer_switch';
VARIABLE_NAME VARIABLE_VALUE
-OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
+OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
select * from information_schema.session_variables where variable_name='optimizer_switch';
VARIABLE_NAME VARIABLE_VALUE
-OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
+OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
set global optimizer_switch=10;
set session optimizer_switch=5;
select @@global.optimizer_switch;
@@global.optimizer_switch
-index_merge=off,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off
+index_merge=off,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off
select @@session.optimizer_switch;
@@session.optimizer_switch
-index_merge=on,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off
+index_merge=on,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off
set global optimizer_switch="index_merge_sort_union=on";
set session optimizer_switch="index_merge=off";
select @@global.optimizer_switch;
@@global.optimizer_switch
-index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off
+index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off
select @@session.optimizer_switch;
@@session.optimizer_switch
-index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off
+index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off
show global variables like 'optimizer_switch';
Variable_name Value
-optimizer_switch index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off
+optimizer_switch index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off
show session variables like 'optimizer_switch';
Variable_name Value
-optimizer_switch index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off
+optimizer_switch index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off
select * from information_schema.global_variables where variable_name='optimizer_switch';
VARIABLE_NAME VARIABLE_VALUE
-OPTIMIZER_SWITCH index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off
+OPTIMIZER_SWITCH index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off
select * from information_schema.session_variables where variable_name='optimizer_switch';
VARIABLE_NAME VARIABLE_VALUE
-OPTIMIZER_SWITCH index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off
+OPTIMIZER_SWITCH index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off
set session optimizer_switch="default";
select @@session.optimizer_switch;
@@session.optimizer_switch
-index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off
+index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=off,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off
set optimizer_switch = replace(@@optimizer_switch, '=off', '=on');
+Warnings:
+Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in a future release.
select @@optimizer_switch;
@@optimizer_switch
-index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on
+index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on
set global optimizer_switch=1.1;
ERROR 42000: Incorrect argument type to variable 'optimizer_switch'
set global optimizer_switch=1e1;
@@ -67,4 +69,4 @@ ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'foobar'
SET @@global.optimizer_switch = @start_global_value;
SELECT @@global.optimizer_switch;
@@global.optimizer_switch
-index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
+index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
diff --git a/mysql-test/suite/sys_vars/r/optimizer_switch_eng_cond_pushdown1.result b/mysql-test/suite/sys_vars/r/optimizer_switch_eng_cond_pushdown1.result
deleted file mode 100644
index 7fb9e0aaaae..00000000000
--- a/mysql-test/suite/sys_vars/r/optimizer_switch_eng_cond_pushdown1.result
+++ /dev/null
@@ -1,5 +0,0 @@
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-1 1 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=on,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=on,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
diff --git a/mysql-test/suite/sys_vars/r/optimizer_switch_eng_cond_pushdown2.result b/mysql-test/suite/sys_vars/r/optimizer_switch_eng_cond_pushdown2.result
deleted file mode 100644
index 9eb3a8f942d..00000000000
--- a/mysql-test/suite/sys_vars/r/optimizer_switch_eng_cond_pushdown2.result
+++ /dev/null
@@ -1,5 +0,0 @@
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch
-0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off
diff --git a/mysql-test/suite/sys_vars/r/optimizer_use_condition_selectivity_basic.result b/mysql-test/suite/sys_vars/r/optimizer_use_condition_selectivity_basic.result
new file mode 100644
index 00000000000..a030bae3750
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/optimizer_use_condition_selectivity_basic.result
@@ -0,0 +1,141 @@
+SET @start_global_value = @@global.optimizer_use_condition_selectivity;
+SELECT @start_global_value;
+@start_global_value
+1
+SET @start_session_value = @@session.optimizer_use_condition_selectivity;
+SELECT @start_session_value;
+@start_session_value
+1
+'#--------------------FN_DYNVARS_115_01-------------------------#'
+SET @@global.optimizer_use_condition_selectivity = DEFAULT;
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+1
+SET @@session.optimizer_use_condition_selectivity = DEFAULT;
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+1
+'#--------------------FN_DYNVARS_115_02-------------------------#'
+SET @@global.optimizer_use_condition_selectivity = DEFAULT;
+SELECT @@global.optimizer_use_condition_selectivity = 1;
+@@global.optimizer_use_condition_selectivity = 1
+1
+SET @@session.optimizer_use_condition_selectivity = DEFAULT;
+SELECT @@session.optimizer_use_condition_selectivity = 1;
+@@session.optimizer_use_condition_selectivity = 1
+1
+'#--------------------FN_DYNVARS_115_03-------------------------#'
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+1
+SET @@global.optimizer_use_condition_selectivity = 0;
+Warnings:
+Warning 1292 Truncated incorrect optimizer_use_condition_selectiv value: '0'
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+1
+SET @@global.optimizer_use_condition_selectivity = 1;
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+1
+SET @@global.optimizer_use_condition_selectivity = 2;
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+2
+SET @@global.optimizer_use_condition_selectivity = 3;
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+3
+SET @@global.optimizer_use_condition_selectivity = 4;
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+4
+SET @@global.optimizer_use_condition_selectivity = 5;
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+5
+SET @@global.optimizer_use_condition_selectivity = 6;
+Warnings:
+Warning 1292 Truncated incorrect optimizer_use_condition_selectiv value: '6'
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+5
+'#--------------------FN_DYNVARS_115_04-------------------------#'
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+1
+SET @@session.optimizer_use_condition_selectivity = 0;
+Warnings:
+Warning 1292 Truncated incorrect optimizer_use_condition_selectiv value: '0'
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+1
+SET @@session.optimizer_use_condition_selectivity = 1;
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+1
+SET @@session.optimizer_use_condition_selectivity = 2;
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+2
+SET @@session.optimizer_use_condition_selectivity = 3;
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+3
+SET @@session.optimizer_use_condition_selectivity = 4;
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+4
+SET @@session.optimizer_use_condition_selectivity = 5;
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+5
+SET @@session.optimizer_use_condition_selectivity = 6;
+Warnings:
+Warning 1292 Truncated incorrect optimizer_use_condition_selectiv value: '6'
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+5
+'#------------------FN_DYNVARS_115_05-----------------------#'
+SET @@global.optimizer_use_condition_selectivity = ON;
+ERROR 42000: Incorrect argument type to variable 'optimizer_use_condition_selectivity'
+SET @@global.optimizer_use_condition_selectivity = OFF;
+ERROR 42000: Incorrect argument type to variable 'optimizer_use_condition_selectivity'
+SET @@session.optimizer_use_condition_selectivity = 65530.34;
+ERROR 42000: Incorrect argument type to variable 'optimizer_use_condition_selectivity'
+SET @@session.optimizer_use_condition_selectivity = test;
+ERROR 42000: Incorrect argument type to variable 'optimizer_use_condition_selectivity'
+'#------------------FN_DYNVARS_115_06-----------------------#'
+SELECT @@global.optimizer_use_condition_selectivity = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='optimizer_use_condition_selectivity';
+@@global.optimizer_use_condition_selectivity = VARIABLE_VALUE
+1
+'#------------------FN_DYNVARS_115_07-----------------------#'
+SELECT @@session.optimizer_use_condition_selectivity = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='optimizer_use_condition_selectivity';
+@@session.optimizer_use_condition_selectivity = VARIABLE_VALUE
+1
+'#---------------------FN_DYNVARS_115_08----------------------#'
+SET @@optimizer_use_condition_selectivity = 1;
+SET @@global.optimizer_use_condition_selectivity = 3;
+SELECT @@optimizer_use_condition_selectivity = @@global.optimizer_use_condition_selectivity;
+@@optimizer_use_condition_selectivity = @@global.optimizer_use_condition_selectivity
+0
+'#---------------------FN_DYNVARS_115_09----------------------#'
+SET @@optimizer_use_condition_selectivity = 2;
+SELECT @@optimizer_use_condition_selectivity = @@local.optimizer_use_condition_selectivity;
+@@optimizer_use_condition_selectivity = @@local.optimizer_use_condition_selectivity
+1
+SELECT @@local.optimizer_use_condition_selectivity = @@session.optimizer_use_condition_selectivity;
+@@local.optimizer_use_condition_selectivity = @@session.optimizer_use_condition_selectivity
+1
+SET @@global.optimizer_use_condition_selectivity = @start_global_value;
+SELECT @@global.optimizer_use_condition_selectivity;
+@@global.optimizer_use_condition_selectivity
+1
+SET @@session.optimizer_use_condition_selectivity = @start_session_value;
+SELECT @@session.optimizer_use_condition_selectivity;
+@@session.optimizer_use_condition_selectivity
+1
diff --git a/mysql-test/suite/sys_vars/r/oqgraph_allow_create_integer_latch_basic.result b/mysql-test/suite/sys_vars/r/oqgraph_allow_create_integer_latch_basic.result
new file mode 100644
index 00000000000..9b0766513cc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/oqgraph_allow_create_integer_latch_basic.result
@@ -0,0 +1 @@
+Oqgraph extention
diff --git a/mysql-test/suite/sys_vars/r/pfs_accounts_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_accounts_size_basic.result
new file mode 100644
index 00000000000..5cee377aa73
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_accounts_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_accounts_size;
+@@global.performance_schema_accounts_size
+123
+select @@session.performance_schema_accounts_size;
+ERROR HY000: Variable 'performance_schema_accounts_size' is a GLOBAL variable
+show global variables like 'performance_schema_accounts_size';
+Variable_name Value
+performance_schema_accounts_size 123
+show session variables like 'performance_schema_accounts_size';
+Variable_name Value
+performance_schema_accounts_size 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_accounts_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_ACCOUNTS_SIZE 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_accounts_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_ACCOUNTS_SIZE 123
+set global performance_schema_accounts_size=1;
+ERROR HY000: Variable 'performance_schema_accounts_size' is a read only variable
+set session performance_schema_accounts_size=1;
+ERROR HY000: Variable 'performance_schema_accounts_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_digests_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_digests_size_basic.result
new file mode 100644
index 00000000000..334f5177370
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_digests_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_digests_size;
+@@global.performance_schema_digests_size
+200
+select @@session.performance_schema_digests_size;
+ERROR HY000: Variable 'performance_schema_digests_size' is a GLOBAL variable
+show global variables like 'performance_schema_digests_size';
+Variable_name Value
+performance_schema_digests_size 200
+show session variables like 'performance_schema_digests_size';
+Variable_name Value
+performance_schema_digests_size 200
+select * from information_schema.global_variables
+where variable_name='performance_schema_digests_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_DIGESTS_SIZE 200
+select * from information_schema.session_variables
+where variable_name='performance_schema_digests_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_DIGESTS_SIZE 200
+set global performance_schema_digests_size=1;
+ERROR HY000: Variable 'performance_schema_digests_size' is a read only variable
+set session performance_schema_digests_size=1;
+ERROR HY000: Variable 'performance_schema_digests_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_events_stages_history_long_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_events_stages_history_long_size_basic.result
new file mode 100644
index 00000000000..bd1b2ee2aca
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_events_stages_history_long_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_events_stages_history_long_size;
+@@global.performance_schema_events_stages_history_long_size
+15000
+select @@session.performance_schema_events_stages_history_long_size;
+ERROR HY000: Variable 'performance_schema_events_stages_history_long_size' is a GLOBAL variable
+show global variables like 'performance_schema_events_stages_history_long_size';
+Variable_name Value
+performance_schema_events_stages_history_long_size 15000
+show session variables like 'performance_schema_events_stages_history_long_size';
+Variable_name Value
+performance_schema_events_stages_history_long_size 15000
+select * from information_schema.global_variables
+where variable_name='performance_schema_events_stages_history_long_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_LONG_SIZE 15000
+select * from information_schema.session_variables
+where variable_name='performance_schema_events_stages_history_long_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_LONG_SIZE 15000
+set global performance_schema_events_stages_history_long_size=1;
+ERROR HY000: Variable 'performance_schema_events_stages_history_long_size' is a read only variable
+set session performance_schema_events_stages_history_long_size=1;
+ERROR HY000: Variable 'performance_schema_events_stages_history_long_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_events_stages_history_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_events_stages_history_size_basic.result
new file mode 100644
index 00000000000..7eef3eca8e4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_events_stages_history_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_events_stages_history_size;
+@@global.performance_schema_events_stages_history_size
+15
+select @@session.performance_schema_events_stages_history_size;
+ERROR HY000: Variable 'performance_schema_events_stages_history_size' is a GLOBAL variable
+show global variables like 'performance_schema_events_stages_history_size';
+Variable_name Value
+performance_schema_events_stages_history_size 15
+show session variables like 'performance_schema_events_stages_history_size';
+Variable_name Value
+performance_schema_events_stages_history_size 15
+select * from information_schema.global_variables
+where variable_name='performance_schema_events_stages_history_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_SIZE 15
+select * from information_schema.session_variables
+where variable_name='performance_schema_events_stages_history_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_SIZE 15
+set global performance_schema_events_stages_history_size=1;
+ERROR HY000: Variable 'performance_schema_events_stages_history_size' is a read only variable
+set session performance_schema_events_stages_history_size=1;
+ERROR HY000: Variable 'performance_schema_events_stages_history_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_events_statements_history_long_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_events_statements_history_long_size_basic.result
new file mode 100644
index 00000000000..c8efb317496
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_events_statements_history_long_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_events_statements_history_long_size;
+@@global.performance_schema_events_statements_history_long_size
+15000
+select @@session.performance_schema_events_statements_history_long_size;
+ERROR HY000: Variable 'performance_schema_events_statements_history_long_size' is a GLOBAL variable
+show global variables like 'performance_schema_events_statements_history_long_size';
+Variable_name Value
+performance_schema_events_statements_history_long_size 15000
+show session variables like 'performance_schema_events_statements_history_long_size';
+Variable_name Value
+performance_schema_events_statements_history_long_size 15000
+select * from information_schema.global_variables
+where variable_name='performance_schema_events_statements_history_long_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_LONG_SIZE 15000
+select * from information_schema.session_variables
+where variable_name='performance_schema_events_statements_history_long_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_LONG_SIZE 15000
+set global performance_schema_events_statements_history_long_size=1;
+ERROR HY000: Variable 'performance_schema_events_statements_history_long_size' is a read only variable
+set session performance_schema_events_statements_history_long_size=1;
+ERROR HY000: Variable 'performance_schema_events_statements_history_long_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_events_statements_history_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_events_statements_history_size_basic.result
new file mode 100644
index 00000000000..fcb2410432e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_events_statements_history_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_events_statements_history_size;
+@@global.performance_schema_events_statements_history_size
+15
+select @@session.performance_schema_events_statements_history_size;
+ERROR HY000: Variable 'performance_schema_events_statements_history_size' is a GLOBAL variable
+show global variables like 'performance_schema_events_statements_history_size';
+Variable_name Value
+performance_schema_events_statements_history_size 15
+show session variables like 'performance_schema_events_statements_history_size';
+Variable_name Value
+performance_schema_events_statements_history_size 15
+select * from information_schema.global_variables
+where variable_name='performance_schema_events_statements_history_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_SIZE 15
+select * from information_schema.session_variables
+where variable_name='performance_schema_events_statements_history_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_SIZE 15
+set global performance_schema_events_statements_history_size=1;
+ERROR HY000: Variable 'performance_schema_events_statements_history_size' is a read only variable
+set session performance_schema_events_statements_history_size=1;
+ERROR HY000: Variable 'performance_schema_events_statements_history_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_hosts_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_hosts_size_basic.result
new file mode 100644
index 00000000000..5eda27563cb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_hosts_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_hosts_size;
+@@global.performance_schema_hosts_size
+123
+select @@session.performance_schema_hosts_size;
+ERROR HY000: Variable 'performance_schema_hosts_size' is a GLOBAL variable
+show global variables like 'performance_schema_hosts_size';
+Variable_name Value
+performance_schema_hosts_size 123
+show session variables like 'performance_schema_hosts_size';
+Variable_name Value
+performance_schema_hosts_size 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_hosts_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_HOSTS_SIZE 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_hosts_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_HOSTS_SIZE 123
+set global performance_schema_hosts_size=1;
+ERROR HY000: Variable 'performance_schema_hosts_size' is a read only variable
+set session performance_schema_hosts_size=1;
+ERROR HY000: Variable 'performance_schema_hosts_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_max_digest_length_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_digest_length_basic.result
new file mode 100644
index 00000000000..12e48ee50ba
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_max_digest_length_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_max_digest_length;
+@@global.performance_schema_max_digest_length
+1024
+select @@session.performance_schema_max_digest_length;
+ERROR HY000: Variable 'performance_schema_max_digest_length' is a GLOBAL variable
+show global variables like 'performance_schema_max_digest_length';
+Variable_name Value
+performance_schema_max_digest_length 1024
+show session variables like 'performance_schema_max_digest_length';
+Variable_name Value
+performance_schema_max_digest_length 1024
+select * from information_schema.global_variables
+where variable_name='performance_schema_max_digest_length';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_DIGEST_LENGTH 1024
+select * from information_schema.session_variables
+where variable_name='performance_schema_max_digest_length';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_DIGEST_LENGTH 1024
+set global performance_schema_max_digest_length=1;
+ERROR HY000: Variable 'performance_schema_max_digest_length' is a read only variable
+set session performance_schema_max_digest_length=1;
+ERROR HY000: Variable 'performance_schema_max_digest_length' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_max_socket_classes_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_socket_classes_basic.result
new file mode 100644
index 00000000000..249bed0dd60
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_max_socket_classes_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_max_socket_classes;
+@@global.performance_schema_max_socket_classes
+123
+select @@session.performance_schema_max_socket_classes;
+ERROR HY000: Variable 'performance_schema_max_socket_classes' is a GLOBAL variable
+show global variables like 'performance_schema_max_socket_classes';
+Variable_name Value
+performance_schema_max_socket_classes 123
+show session variables like 'performance_schema_max_socket_classes';
+Variable_name Value
+performance_schema_max_socket_classes 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_max_socket_classes';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_SOCKET_CLASSES 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_max_socket_classes';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_SOCKET_CLASSES 123
+set global performance_schema_max_socket_classes=1;
+ERROR HY000: Variable 'performance_schema_max_socket_classes' is a read only variable
+set session performance_schema_max_socket_classes=1;
+ERROR HY000: Variable 'performance_schema_max_socket_classes' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_max_socket_instances_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_socket_instances_basic.result
new file mode 100644
index 00000000000..1023f9fd950
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_max_socket_instances_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_max_socket_instances;
+@@global.performance_schema_max_socket_instances
+123
+select @@session.performance_schema_max_socket_instances;
+ERROR HY000: Variable 'performance_schema_max_socket_instances' is a GLOBAL variable
+show global variables like 'performance_schema_max_socket_instances';
+Variable_name Value
+performance_schema_max_socket_instances 123
+show session variables like 'performance_schema_max_socket_instances';
+Variable_name Value
+performance_schema_max_socket_instances 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_max_socket_instances';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_SOCKET_INSTANCES 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_max_socket_instances';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_SOCKET_INSTANCES 123
+set global performance_schema_max_socket_instances=1;
+ERROR HY000: Variable 'performance_schema_max_socket_instances' is a read only variable
+set session performance_schema_max_socket_instances=1;
+ERROR HY000: Variable 'performance_schema_max_socket_instances' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_max_stage_classes_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_stage_classes_basic.result
new file mode 100644
index 00000000000..53f06803742
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_max_stage_classes_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_max_stage_classes;
+@@global.performance_schema_max_stage_classes
+123
+select @@session.performance_schema_max_stage_classes;
+ERROR HY000: Variable 'performance_schema_max_stage_classes' is a GLOBAL variable
+show global variables like 'performance_schema_max_stage_classes';
+Variable_name Value
+performance_schema_max_stage_classes 123
+show session variables like 'performance_schema_max_stage_classes';
+Variable_name Value
+performance_schema_max_stage_classes 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_max_stage_classes';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_STAGE_CLASSES 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_max_stage_classes';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_STAGE_CLASSES 123
+set global performance_schema_max_stage_classes=1;
+ERROR HY000: Variable 'performance_schema_max_stage_classes' is a read only variable
+set session performance_schema_max_stage_classes=1;
+ERROR HY000: Variable 'performance_schema_max_stage_classes' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_max_statement_classes_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_statement_classes_basic.result
new file mode 100644
index 00000000000..d7049b7175b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_max_statement_classes_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_max_statement_classes;
+@@global.performance_schema_max_statement_classes
+123
+select @@session.performance_schema_max_statement_classes;
+ERROR HY000: Variable 'performance_schema_max_statement_classes' is a GLOBAL variable
+show global variables like 'performance_schema_max_statement_classes';
+Variable_name Value
+performance_schema_max_statement_classes 123
+show session variables like 'performance_schema_max_statement_classes';
+Variable_name Value
+performance_schema_max_statement_classes 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_max_statement_classes';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_STATEMENT_CLASSES 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_max_statement_classes';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_MAX_STATEMENT_CLASSES 123
+set global performance_schema_max_statement_classes=1;
+ERROR HY000: Variable 'performance_schema_max_statement_classes' is a read only variable
+set session performance_schema_max_statement_classes=1;
+ERROR HY000: Variable 'performance_schema_max_statement_classes' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_session_connect_attrs_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_session_connect_attrs_size_basic.result
new file mode 100644
index 00000000000..a65a71ff8a0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_session_connect_attrs_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_session_connect_attrs_size;
+@@global.performance_schema_session_connect_attrs_size
+2048
+select @@session.performance_schema_session_connect_attrs_size;
+ERROR HY000: Variable 'performance_schema_session_connect_attrs_size' is a GLOBAL variable
+show global variables like 'performance_schema_session_connect_attrs_size';
+Variable_name Value
+performance_schema_session_connect_attrs_size 2048
+show session variables like 'performance_schema_session_connect_attrs_size';
+Variable_name Value
+performance_schema_session_connect_attrs_size 2048
+select * from information_schema.global_variables
+where variable_name='performance_schema_session_connect_attrs_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_SESSION_CONNECT_ATTRS_SIZE 2048
+select * from information_schema.session_variables
+where variable_name='performance_schema_session_connect_attrs_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_SESSION_CONNECT_ATTRS_SIZE 2048
+set global performance_schema_session_connect_attrs_size=1;
+ERROR HY000: Variable 'performance_schema_session_connect_attrs_size' is a read only variable
+set session performance_schema_session_connect_attrs_size=1;
+ERROR HY000: Variable 'performance_schema_session_connect_attrs_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_setup_actors_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_setup_actors_size_basic.result
new file mode 100644
index 00000000000..b4e6c8d9816
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_setup_actors_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_setup_actors_size;
+@@global.performance_schema_setup_actors_size
+123
+select @@session.performance_schema_setup_actors_size;
+ERROR HY000: Variable 'performance_schema_setup_actors_size' is a GLOBAL variable
+show global variables like 'performance_schema_setup_actors_size';
+Variable_name Value
+performance_schema_setup_actors_size 123
+show session variables like 'performance_schema_setup_actors_size';
+Variable_name Value
+performance_schema_setup_actors_size 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_setup_actors_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_SETUP_ACTORS_SIZE 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_setup_actors_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_SETUP_ACTORS_SIZE 123
+set global performance_schema_setup_actors_size=1;
+ERROR HY000: Variable 'performance_schema_setup_actors_size' is a read only variable
+set session performance_schema_setup_actors_size=1;
+ERROR HY000: Variable 'performance_schema_setup_actors_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_setup_objects_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_setup_objects_size_basic.result
new file mode 100644
index 00000000000..12d61a31fda
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_setup_objects_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_setup_objects_size;
+@@global.performance_schema_setup_objects_size
+123
+select @@session.performance_schema_setup_objects_size;
+ERROR HY000: Variable 'performance_schema_setup_objects_size' is a GLOBAL variable
+show global variables like 'performance_schema_setup_objects_size';
+Variable_name Value
+performance_schema_setup_objects_size 123
+show session variables like 'performance_schema_setup_objects_size';
+Variable_name Value
+performance_schema_setup_objects_size 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_setup_objects_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_SETUP_OBJECTS_SIZE 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_setup_objects_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_SETUP_OBJECTS_SIZE 123
+set global performance_schema_setup_objects_size=1;
+ERROR HY000: Variable 'performance_schema_setup_objects_size' is a read only variable
+set session performance_schema_setup_objects_size=1;
+ERROR HY000: Variable 'performance_schema_setup_objects_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/pfs_users_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_users_size_basic.result
new file mode 100644
index 00000000000..09a9f00d366
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pfs_users_size_basic.result
@@ -0,0 +1,23 @@
+select @@global.performance_schema_users_size;
+@@global.performance_schema_users_size
+123
+select @@session.performance_schema_users_size;
+ERROR HY000: Variable 'performance_schema_users_size' is a GLOBAL variable
+show global variables like 'performance_schema_users_size';
+Variable_name Value
+performance_schema_users_size 123
+show session variables like 'performance_schema_users_size';
+Variable_name Value
+performance_schema_users_size 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_users_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_USERS_SIZE 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_users_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_USERS_SIZE 123
+set global performance_schema_users_size=1;
+ERROR HY000: Variable 'performance_schema_users_size' is a read only variable
+set session performance_schema_users_size=1;
+ERROR HY000: Variable 'performance_schema_users_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/query_alloc_block_size_basic.result b/mysql-test/suite/sys_vars/r/query_alloc_block_size_basic.result
index eb6851baa93..0d7abae094b 100644
--- a/mysql-test/suite/sys_vars/r/query_alloc_block_size_basic.result
+++ b/mysql-test/suite/sys_vars/r/query_alloc_block_size_basic.result
@@ -1,11 +1,11 @@
SET @start_global_value = @@global.query_alloc_block_size;
SELECT @start_global_value;
@start_global_value
-8192
+16384
SET @start_session_value = @@session.query_alloc_block_size;
SELECT @start_session_value;
@start_session_value
-8192
+16384
'#--------------------FN_DYNVARS_130_01-------------------------#'
SET @@global.query_alloc_block_size = 10000;
Warnings:
@@ -13,22 +13,22 @@ Warning 1292 Truncated incorrect query_alloc_block_size value: '10000'
SET @@global.query_alloc_block_size = DEFAULT;
SELECT @@global.query_alloc_block_size;
@@global.query_alloc_block_size
-8192
+16384
SET @@session.query_alloc_block_size = 20000;
Warnings:
Warning 1292 Truncated incorrect query_alloc_block_size value: '20000'
SET @@session.query_alloc_block_size = DEFAULT;
SELECT @@session.query_alloc_block_size;
@@session.query_alloc_block_size
-8192
+16384
'#--------------------FN_DYNVARS_130_02-------------------------#'
SET @@global.query_alloc_block_size = DEFAULT;
-SELECT @@global.query_alloc_block_size = 8192;
-@@global.query_alloc_block_size = 8192
+SELECT @@global.query_alloc_block_size = 16384;
+@@global.query_alloc_block_size = 16384
1
SET @@session.query_alloc_block_size = DEFAULT;
-SELECT @@session.query_alloc_block_size = 8192;
-@@session.query_alloc_block_size = 8192
+SELECT @@session.query_alloc_block_size = 16384;
+@@session.query_alloc_block_size = 16384
1
'#--------------------FN_DYNVARS_130_03-------------------------#'
SET @@global.query_alloc_block_size = 1024;
@@ -177,8 +177,8 @@ ERROR 42S22: Unknown column 'query_alloc_block_size' in 'field list'
SET @@global.query_alloc_block_size = @start_global_value;
SELECT @@global.query_alloc_block_size;
@@global.query_alloc_block_size
-8192
+16384
SET @@session.query_alloc_block_size = @start_session_value;
SELECT @@session.query_alloc_block_size;
@@session.query_alloc_block_size
-8192
+16384
diff --git a/mysql-test/suite/sys_vars/r/query_cache_limit_func.result b/mysql-test/suite/sys_vars/r/query_cache_limit_func.result
index bbbb273428a..8dde5c3603b 100644
--- a/mysql-test/suite/sys_vars/r/query_cache_limit_func.result
+++ b/mysql-test/suite/sys_vars/r/query_cache_limit_func.result
@@ -3,6 +3,8 @@
SET @global_query_cache_limit = @@global.query_cache_limit;
SET @global_query_cache_size = @@global.query_cache_size;
SET @global_query_cache_type = @@global.query_cache_type;
+SET GLOBAL query_cache_type= ON;
+SET LOCAL query_cache_type= ON;
** warnings **
DROP TABLE IF EXISTS t;
** creating table **
diff --git a/mysql-test/suite/sys_vars/r/query_cache_size_basic.result b/mysql-test/suite/sys_vars/r/query_cache_size_basic.result
index 319948deefa..ee959a45fa0 100644
--- a/mysql-test/suite/sys_vars/r/query_cache_size_basic.result
+++ b/mysql-test/suite/sys_vars/r/query_cache_size_basic.result
@@ -6,7 +6,7 @@ Warning 1292 Truncated incorrect query_cache_size value: '99'
SET @@global.query_cache_size = DEFAULT;
SELECT @@global.query_cache_size;
@@global.query_cache_size
-0
+1048576
'#---------------------FN_DYNVARS_133_02-------------------------#'
SET @@global.query_cache_size = @start_value;
SELECT @@global.query_cache_size = @start_value;
diff --git a/mysql-test/suite/sys_vars/r/query_cache_type_basic.result b/mysql-test/suite/sys_vars/r/query_cache_type_basic.result
index bb49d671840..dd59f503527 100644
--- a/mysql-test/suite/sys_vars/r/query_cache_type_basic.result
+++ b/mysql-test/suite/sys_vars/r/query_cache_type_basic.result
@@ -1,22 +1,22 @@
SET @global_start_value = @@global.query_cache_type;
SELECT @global_start_value;
@global_start_value
-ON
+OFF
SET @session_start_value = @@session.query_cache_type;
SELECT @session_start_value;
@session_start_value
-ON
+OFF
'#--------------------FN_DYNVARS_134_01------------------------#'
SET @@global.query_cache_type = 0;
SET @@global.query_cache_type = DEFAULT;
SELECT @@global.query_cache_type;
@@global.query_cache_type
-ON
+OFF
SET @@session.query_cache_type = 0;
SET @@session.query_cache_type = DEFAULT;
SELECT @@session.query_cache_type;
@@session.query_cache_type
-ON
+OFF
'#---------------------FN_DYNVARS_134_02-------------------------#'
SET @@global.query_cache_type = NULL;
ERROR 42000: Variable 'query_cache_type' can't be set to the value of 'NULL'
@@ -115,8 +115,8 @@ OFF
SET @@global.query_cache_type = @global_start_value;
SELECT @@global.query_cache_type;
@@global.query_cache_type
-ON
+OFF
SET @@session.query_cache_type = @session_start_value;
SELECT @@session.query_cache_type;
@@session.query_cache_type
-ON
+OFF
diff --git a/mysql-test/suite/sys_vars/r/query_cache_type_func.result b/mysql-test/suite/sys_vars/r/query_cache_type_func.result
index af121244572..c016f05e119 100644
--- a/mysql-test/suite/sys_vars/r/query_cache_type_func.result
+++ b/mysql-test/suite/sys_vars/r/query_cache_type_func.result
@@ -18,9 +18,12 @@ SET @@GLOBAL.query_cache_size = 65536;
SET @@query_cache_type = DEFAULT;
SELECT @@query_cache_type;
@@query_cache_type
-ON
-ON Expected
+OFF
+OFF Expected
+SET @@query_cache_type = ON;
+ERROR HY000: Query cache is globally disabled and you can't enable it only for this session
'#--------------------FN_DYNVARS_135_02-------------------------#'
+SET GLOBAL query_cache_type= ON;
SET @@query_cache_type = NULL;
ERROR 42000: Variable 'query_cache_type' can't be set to the value of 'NULL'
Expected error: Wrong value for variable
diff --git a/mysql-test/suite/sys_vars/r/query_cache_wlock_invalidate_func.result b/mysql-test/suite/sys_vars/r/query_cache_wlock_invalidate_func.result
index c4342f3bca8..5868bd597eb 100644
--- a/mysql-test/suite/sys_vars/r/query_cache_wlock_invalidate_func.result
+++ b/mysql-test/suite/sys_vars/r/query_cache_wlock_invalidate_func.result
@@ -7,6 +7,9 @@ SET @start_global_value = @@GLOBAL.query_cache_wlock_invalidate;
SET @start_session_value = @@SESSION.query_cache_wlock_invalidate;
SET @old_cache_size = @@GLOBAL.query_cache_size;
SET @old_cache_type = @@GLOBAL.query_cache_type;
+SET GLOBAL query_cache_type= ON;
+SET LOCAL query_cache_type= ON;
+SET LOCAL query_cache_type= ON;
CREATE TABLE t1(id int, value varchar(10));
INSERT INTO t1 VALUES(1, 'val1');
INSERT INTO t1 VALUES(2, 'val2');
diff --git a/mysql-test/suite/sys_vars/r/query_prealloc_size_basic.result b/mysql-test/suite/sys_vars/r/query_prealloc_size_basic.result
index 1fd363ade16..9095dd56ea9 100644
--- a/mysql-test/suite/sys_vars/r/query_prealloc_size_basic.result
+++ b/mysql-test/suite/sys_vars/r/query_prealloc_size_basic.result
@@ -1,11 +1,11 @@
SET @start_global_value = @@global.query_prealloc_size ;
SELECT @start_global_value;
@start_global_value
-8192
+24576
SET @start_session_value = @@session.query_prealloc_size ;
SELECT @start_session_value;
@start_session_value
-8192
+24576
'#--------------------FN_DYNVARS_005_01-------------------------#'
SET @@global.query_prealloc_size = 100;
Warnings:
@@ -13,22 +13,22 @@ Warning 1292 Truncated incorrect query_prealloc_size value: '100'
SET @@global.query_prealloc_size = DEFAULT;
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+24576
SET @@session.query_prealloc_size = 200;
Warnings:
Warning 1292 Truncated incorrect query_prealloc_size value: '200'
SET @@session.query_prealloc_size = DEFAULT;
SELECT @@session.query_prealloc_size ;
@@session.query_prealloc_size
-8192
+24576
'#--------------------FN_DYNVARS_005_02-------------------------#'
SET @@global.query_prealloc_size = DEFAULT;
-SELECT @@global.query_prealloc_size = 8192;
-@@global.query_prealloc_size = 8192
+SELECT @@global.query_prealloc_size = 24576;
+@@global.query_prealloc_size = 24576
1
SET @@session.query_prealloc_size = DEFAULT;
-SELECT @@session.query_prealloc_size = 8192;
-@@session.query_prealloc_size = 8192
+SELECT @@session.query_prealloc_size = 24576;
+@@session.query_prealloc_size = 24576
1
'#--------------------FN_DYNVARS_005_03-------------------------#'
SET @@global.query_prealloc_size = 8192;
@@ -58,53 +58,53 @@ Warnings:
Warning 1292 Truncated incorrect query_prealloc_size value: '0'
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+1024
SET @@global.query_prealloc_size = 65530.34;
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+1024
SET @@global.query_prealloc_size = test;
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+1024
SET @@global.query_prealloc_size = "test";
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+1024
SET @@global.query_prealloc_size = 'test';
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+1024
SET @@global.query_prealloc_size = ON;
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+1024
SET @@session.query_prealloc_size = 0;
Warnings:
Warning 1292 Truncated incorrect query_prealloc_size value: '0'
SELECT @@session.query_prealloc_size ;
@@session.query_prealloc_size
-8192
+1024
SET @@session.query_prealloc_size = 65530.34;
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
SELECT @@session.query_prealloc_size ;
@@session.query_prealloc_size
-8192
+1024
SET @@session.query_prealloc_size = test;
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
SELECT @@session.query_prealloc_size ;
@@session.query_prealloc_size
-8192
+1024
SET @@session.query_prealloc_size = "test";
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
SELECT @@session.query_prealloc_size ;
@@session.query_prealloc_size
-8192
+1024
'#------------------FN_DYNVARS_005_06-----------------------#'
SELECT @@global.query_prealloc_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
@@ -123,13 +123,13 @@ Warnings:
Warning 1292 Truncated incorrect query_prealloc_size value: '1'
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+1024
SET @@global.query_prealloc_size = FALSE;
Warnings:
Warning 1292 Truncated incorrect query_prealloc_size value: '0'
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+1024
'#---------------------FN_DYNVARS_001_09----------------------#'
SET @@global.query_prealloc_size = 10;
Warnings:
@@ -153,7 +153,7 @@ Warnings:
Warning 1292 Truncated incorrect query_prealloc_size value: '1'
SELECT @@query_prealloc_size ;
@@query_prealloc_size
-8192
+1024
SELECT local.query_prealloc_size ;
ERROR 42S02: Unknown table 'local' in field list
SELECT session.query_prealloc_size ;
@@ -163,8 +163,8 @@ ERROR 42S22: Unknown column 'query_prealloc_size' in 'field list'
SET @@global.query_prealloc_size = @start_global_value;
SELECT @@global.query_prealloc_size ;
@@global.query_prealloc_size
-8192
+24576
SET @@session.query_prealloc_size = @start_session_value;
SELECT @@session.query_prealloc_size ;
@@session.query_prealloc_size
-8192
+24576
diff --git a/mysql-test/suite/sys_vars/r/rand_seed1_basic.result b/mysql-test/suite/sys_vars/r/rand_seed1_basic.result
index 155d7169168..c4244dabcbe 100644
--- a/mysql-test/suite/sys_vars/r/rand_seed1_basic.result
+++ b/mysql-test/suite/sys_vars/r/rand_seed1_basic.result
@@ -1,27 +1,30 @@
select @@global.rand_seed1;
ERROR HY000: Variable 'rand_seed1' is a SESSION variable
+set session rand_seed1=default;
+ERROR 42000: Variable 'rand_seed1' doesn't have a default value
+set session rand_seed1=10969771;
select @@session.rand_seed1;
@@session.rand_seed1
-0
+10969771
show global variables like 'rand_seed1';
Variable_name Value
show session variables like 'rand_seed1';
Variable_name Value
-rand_seed1 0
+rand_seed1 10969771
select * from information_schema.global_variables where variable_name='rand_seed1';
VARIABLE_NAME VARIABLE_VALUE
select * from information_schema.session_variables where variable_name='rand_seed1';
VARIABLE_NAME VARIABLE_VALUE
-RAND_SEED1 0
+RAND_SEED1 10969771
set session rand_seed1=1;
select @@session.rand_seed1;
@@session.rand_seed1
-0
+1
select * from information_schema.global_variables where variable_name='rand_seed1';
VARIABLE_NAME VARIABLE_VALUE
select * from information_schema.session_variables where variable_name='rand_seed1';
VARIABLE_NAME VARIABLE_VALUE
-RAND_SEED1 0
+RAND_SEED1 1
set global rand_seed1=1;
ERROR HY000: Variable 'rand_seed1' is a SESSION variable and can't be used with SET GLOBAL
set session rand_seed1=1.1;
diff --git a/mysql-test/suite/sys_vars/r/rand_seed2_basic.result b/mysql-test/suite/sys_vars/r/rand_seed2_basic.result
index 4974d8a53a3..23e154d0a0e 100644
--- a/mysql-test/suite/sys_vars/r/rand_seed2_basic.result
+++ b/mysql-test/suite/sys_vars/r/rand_seed2_basic.result
@@ -1,27 +1,30 @@
select @@global.rand_seed2;
ERROR HY000: Variable 'rand_seed2' is a SESSION variable
+set session rand_seed2=default;
+ERROR 42000: Variable 'rand_seed2' doesn't have a default value
+set session rand_seed2=10969771;
select @@session.rand_seed2;
@@session.rand_seed2
-0
+10969771
show global variables like 'rand_seed2';
Variable_name Value
show session variables like 'rand_seed2';
Variable_name Value
-rand_seed2 0
+rand_seed2 10969771
select * from information_schema.global_variables where variable_name='rand_seed2';
VARIABLE_NAME VARIABLE_VALUE
select * from information_schema.session_variables where variable_name='rand_seed2';
VARIABLE_NAME VARIABLE_VALUE
-RAND_SEED2 0
+RAND_SEED2 10969771
set session rand_seed2=1;
select @@session.rand_seed2;
@@session.rand_seed2
-0
+1
select * from information_schema.global_variables where variable_name='rand_seed2';
VARIABLE_NAME VARIABLE_VALUE
select * from information_schema.session_variables where variable_name='rand_seed2';
VARIABLE_NAME VARIABLE_VALUE
-RAND_SEED2 0
+RAND_SEED2 1
set global rand_seed2=1;
ERROR HY000: Variable 'rand_seed2' is a SESSION variable and can't be used with SET GLOBAL
set session rand_seed2=1.1;
diff --git a/mysql-test/suite/sys_vars/r/relay_log_basename_basic.result b/mysql-test/suite/sys_vars/r/relay_log_basename_basic.result
new file mode 100644
index 00000000000..10ad3711949
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/relay_log_basename_basic.result
@@ -0,0 +1,24 @@
+include/master-slave.inc
+[connection master]
+select @@global.relay_log_basename;
+@@global.relay_log_basename
+REPLACED
+select @@session.relay_log_basename;
+ERROR HY000: Variable 'relay_log_basename' is a GLOBAL variable
+show global variables like 'relay_log_basename';
+Variable_name Value
+relay_log_basename REPLACED
+show session variables like 'relay_log_basename';
+Variable_name Value
+relay_log_basename REPLACED
+select * from information_schema.global_variables where variable_name='relay_log_basename';
+VARIABLE_NAME VARIABLE_VALUE
+RELAY_LOG_BASENAME REPLACED
+select * from information_schema.session_variables where variable_name='relay_log_basename';
+VARIABLE_NAME VARIABLE_VALUE
+RELAY_LOG_BASENAME REPLACED
+set global relay_log_basename=1;
+ERROR HY000: Variable 'relay_log_basename' is a read only variable
+set session relay_log_basename=1;
+ERROR HY000: Variable 'relay_log_basename' is a read only variable
+include/rpl_end.inc
diff --git a/mysql-test/suite/sys_vars/r/relay_log_index_basic.result b/mysql-test/suite/sys_vars/r/relay_log_index_basic.result
index d0ceddc96fe..6d8eec9eb30 100644
--- a/mysql-test/suite/sys_vars/r/relay_log_index_basic.result
+++ b/mysql-test/suite/sys_vars/r/relay_log_index_basic.result
@@ -1,21 +1,45 @@
+include/master-slave.inc
+[connection master]
select @@global.relay_log_index;
@@global.relay_log_index
-mysqld-relay-bin.index
+MYSQLTEST_VARDIR/mysqld.1/data/master-relay-bin.index
select @@session.relay_log_index;
ERROR HY000: Variable 'relay_log_index' is a GLOBAL variable
show global variables like 'relay_log_index';
Variable_name Value
-relay_log_index mysqld-relay-bin.index
+relay_log_index MYSQLTEST_VARDIR/mysqld.1/data/master-relay-bin.index
show session variables like 'relay_log_index';
Variable_name Value
-relay_log_index mysqld-relay-bin.index
+relay_log_index MYSQLTEST_VARDIR/mysqld.1/data/master-relay-bin.index
select * from information_schema.global_variables where variable_name='relay_log_index';
VARIABLE_NAME VARIABLE_VALUE
-RELAY_LOG_INDEX mysqld-relay-bin.index
+RELAY_LOG_INDEX MYSQLTEST_VARDIR/mysqld.1/data/master-relay-bin.index
select * from information_schema.session_variables where variable_name='relay_log_index';
VARIABLE_NAME VARIABLE_VALUE
-RELAY_LOG_INDEX mysqld-relay-bin.index
+RELAY_LOG_INDEX MYSQLTEST_VARDIR/mysqld.1/data/master-relay-bin.index
set global relay_log_index=1;
ERROR HY000: Variable 'relay_log_index' is a read only variable
set session relay_log_index=1;
ERROR HY000: Variable 'relay_log_index' is a read only variable
+select @@global.relay_log_index;
+@@global.relay_log_index
+REPLACED
+select @@session.relay_log_index;
+ERROR HY000: Variable 'relay_log_index' is a GLOBAL variable
+show global variables like 'relay_log_index';
+Variable_name Value
+relay_log_index REPLACED
+show session variables like 'relay_log_index';
+Variable_name Value
+relay_log_index REPLACED
+select * from information_schema.global_variables where variable_name='relay_log_index';
+VARIABLE_NAME VARIABLE_VALUE
+RELAY_LOG_INDEX REPLACED
+select * from information_schema.session_variables where variable_name='relay_log_index';
+VARIABLE_NAME VARIABLE_VALUE
+RELAY_LOG_INDEX REPLACED
+set global relay_log_index=1;
+ERROR HY000: Variable 'relay_log_index' is a read only variable
+set session relay_log_index=1;
+ERROR HY000: Variable 'relay_log_index' is a read only variable
+include/rpl_end.inc
diff --git a/mysql-test/suite/sys_vars/r/replicate_events_marked_for_skip_basic.result b/mysql-test/suite/sys_vars/r/replicate_events_marked_for_skip_basic.result
index 8bc7c845e0b..3fb7719c729 100644
--- a/mysql-test/suite/sys_vars/r/replicate_events_marked_for_skip_basic.result
+++ b/mysql-test/suite/sys_vars/r/replicate_events_marked_for_skip_basic.result
@@ -4,7 +4,7 @@
SET @save_replicate_events_marked_for_skip = @@GLOBAL.replicate_events_marked_for_skip;
SELECT @save_replicate_events_marked_for_skip;
@save_replicate_events_marked_for_skip
-replicate
+REPLICATE
# Scope.
SET @@SESSION.replicate_events_marked_for_skip = "";
ERROR HY000: Variable 'replicate_events_marked_for_skip' is a GLOBAL variable and should be set with SET GLOBAL
@@ -14,22 +14,22 @@ ERROR HY000: Variable 'replicate_events_marked_for_skip' is a GLOBAL variable
SET @@GLOBAL.replicate_events_marked_for_skip=filter_on_master;
SELECT @@GLOBAL.replicate_events_marked_for_skip;
@@GLOBAL.replicate_events_marked_for_skip
-filter_on_master
+FILTER_ON_MASTER
SET @@GLOBAL.replicate_events_marked_for_skip=filter_on_slave;
SELECT @@GLOBAL.replicate_events_marked_for_skip;
@@GLOBAL.replicate_events_marked_for_skip
-filter_on_slave
+FILTER_ON_SLAVE
SET @@GLOBAL.replicate_events_marked_for_skip=replicate;
SELECT @@GLOBAL.replicate_events_marked_for_skip;
@@GLOBAL.replicate_events_marked_for_skip
-replicate
+REPLICATE
SET @@GLOBAL.replicate_events_marked_for_skip=filter;
ERROR 42000: Variable 'replicate_events_marked_for_skip' can't be set to the value of 'filter'
SELECT @@GLOBAL.replicate_events_marked_for_skip;
@@GLOBAL.replicate_events_marked_for_skip
-replicate
+REPLICATE
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_events_marked_for_skip';
VARIABLE_NAME VARIABLE_VALUE
-REPLICATE_EVENTS_MARKED_FOR_SKIP replicate
+REPLICATE_EVENTS_MARKED_FOR_SKIP REPLICATE
# Cleanup.
SET @@GLOBAL.replicate_events_marked_for_skip = @save_replicate_events_marked_for_skip;
diff --git a/mysql-test/suite/sys_vars/r/rpl_recovery_rank_basic.result b/mysql-test/suite/sys_vars/r/rpl_recovery_rank_basic.result
deleted file mode 100644
index 251f428b449..00000000000
--- a/mysql-test/suite/sys_vars/r/rpl_recovery_rank_basic.result
+++ /dev/null
@@ -1,132 +0,0 @@
-SET @start_global_value = @@global.rpl_recovery_rank;
-SELECT @start_global_value;
-@start_global_value
-0
-'#--------------------FN_DYNVARS_142_01-------------------------#'
-SET @@global.rpl_recovery_rank = 500000;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SET @@global.rpl_recovery_rank = DEFAULT;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-0
-'#--------------------FN_DYNVARS_142_02-------------------------#'
-SET @@global.rpl_recovery_rank = 0;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-0
-SET @@global.rpl_recovery_rank = 1024;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-1024
-SET @@global.rpl_recovery_rank = 123456789;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-123456789
-SET @@global.rpl_recovery_rank = 2147483648*2;
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-4294967295
-SET @@global.rpl_recovery_rank = 2147483648*1024;
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-4294967295
-SET @@global.rpl_recovery_rank = 2147483648*2147483648;
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-4294967295
-'#--------------------FN_DYNVARS_142_03-------------------------#'
-SET @@rpl_recovery_rank = 2;
-ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL
-SET @@session.rpl_recovery_rank = 3;
-ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL
-SET @@local.rpl_recovery_rank = 4;
-ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL
-'#------------------FN_DYNVARS_142_04-----------------------#'
-SET @@global.rpl_recovery_rank = -1;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-Warning 1292 Truncated incorrect rpl_recovery_rank value: '-1'
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-0
-SET @@global.rpl_recovery_rank = -2147483648;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-Warning 1292 Truncated incorrect rpl_recovery_rank value: '-2147483648'
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-0
-SET @@global.rpl_recovery_rank = -2147483649;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-Warning 1292 Truncated incorrect rpl_recovery_rank value: '-2147483649'
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-0
-SET @@global.rpl_recovery_rank = 65530.34;
-ERROR 42000: Incorrect argument type to variable 'rpl_recovery_rank'
-SET @@global.rpl_recovery_rank = 2147483649.56;
-ERROR 42000: Incorrect argument type to variable 'rpl_recovery_rank'
-SET @@global.rpl_recovery_rank = 1G;
-ERROR 42000: Incorrect argument type to variable 'rpl_recovery_rank'
-'#------------------FN_DYNVARS_142_05-----------------------#'
-SET @@global.rpl_recovery_rank = 3000;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SELECT @@global.rpl_recovery_rank = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='rpl_recovery_rank';
-@@global.rpl_recovery_rank = VARIABLE_VALUE
-1
-'#------------------FN_DYNVARS_142_06-----------------------#'
-SELECT count(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='rpl_recovery_rank';
-count(VARIABLE_VALUE)
-1
-'#------------------FN_DYNVARS_142_07-----------------------#'
-SET @@global.rpl_recovery_rank = TRUE;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-1
-SET @@global.rpl_recovery_rank = FALSE;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-0
-'#---------------------FN_DYNVARS_001_08----------------------#'
-SET @@global.rpl_recovery_rank = 512;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SELECT @@rpl_recovery_rank = @@global.rpl_recovery_rank;
-@@rpl_recovery_rank = @@global.rpl_recovery_rank
-1
-'#---------------------FN_DYNVARS_001_09----------------------#'
-SET rpl_recovery_rank = 2048;
-ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL
-SELECT rpl_recovery_rank;
-ERROR 42S22: Unknown column 'rpl_recovery_rank' in 'field list'
-SELECT @@rpl_recovery_rank;
-@@rpl_recovery_rank
-512
-SET global rpl_recovery_rank = 64;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SET @@global.rpl_recovery_rank = @start_global_value;
-Warnings:
-Warning 1287 '@@rpl_recovery_rank' is deprecated and will be removed in a future release.
-SELECT @@global.rpl_recovery_rank;
-@@global.rpl_recovery_rank
-0
diff --git a/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result
index 3e444519441..7454f0b0089 100644
--- a/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result
+++ b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result
@@ -1,4 +1,3 @@
-INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
select @@global.rpl_semi_sync_master_enabled;
@@global.rpl_semi_sync_master_enabled
0
@@ -70,4 +69,3 @@ SET @@global.rpl_semi_sync_master_enabled = @start_global_value;
select @@global.rpl_semi_sync_master_enabled;
@@global.rpl_semi_sync_master_enabled
0
-UNINSTALL PLUGIN rpl_semi_sync_master;
diff --git a/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_timeout_basic.result b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_timeout_basic.result
index e77bcc1c12a..78fee2a91dc 100644
--- a/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_timeout_basic.result
+++ b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_timeout_basic.result
@@ -1,4 +1,3 @@
-INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
select @@global.rpl_semi_sync_master_timeout;
@@global.rpl_semi_sync_master_timeout
10000
@@ -51,4 +50,3 @@ SET @@global.rpl_semi_sync_master_timeout = @start_global_value;
select @@global.rpl_semi_sync_master_timeout;
@@global.rpl_semi_sync_master_timeout
10000
-UNINSTALL PLUGIN rpl_semi_sync_master;
diff --git a/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_trace_level_basic.result b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_trace_level_basic.result
index 55df5f57d9e..1096fa995e7 100644
--- a/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_trace_level_basic.result
+++ b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_trace_level_basic.result
@@ -1,4 +1,3 @@
-INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
select @@global.rpl_semi_sync_master_trace_level;
@@global.rpl_semi_sync_master_trace_level
32
@@ -69,4 +68,3 @@ SET @@global.rpl_semi_sync_master_trace_level = @start_global_value;
select @@global.rpl_semi_sync_master_trace_level;
@@global.rpl_semi_sync_master_trace_level
32
-UNINSTALL PLUGIN rpl_semi_sync_master;
diff --git a/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_no_slave_basic.result b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_no_slave_basic.result
index 3d951b499ed..535f777eff7 100644
--- a/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_no_slave_basic.result
+++ b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_no_slave_basic.result
@@ -1,4 +1,3 @@
-INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
select @@global.rpl_semi_sync_master_wait_no_slave;
@@global.rpl_semi_sync_master_wait_no_slave
1
@@ -70,4 +69,3 @@ SET @@global.rpl_semi_sync_master_wait_no_slave = @start_global_value;
select @@global.rpl_semi_sync_master_wait_no_slave;
@@global.rpl_semi_sync_master_wait_no_slave
1
-UNINSTALL PLUGIN rpl_semi_sync_master;
diff --git a/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_point_basic.result b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_point_basic.result
new file mode 100644
index 00000000000..4900086e9ab
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_point_basic.result
@@ -0,0 +1,46 @@
+select @@global.rpl_semi_sync_master_wait_point;
+@@global.rpl_semi_sync_master_wait_point
+AFTER_COMMIT
+SET @start_global_value = @@global.rpl_semi_sync_master_wait_point;
+select @@session.rpl_semi_sync_master_wait_point;
+ERROR HY000: Variable 'rpl_semi_sync_master_wait_point' is a GLOBAL variable
+show global variables like 'rpl_semi_sync_master_wait_point';
+Variable_name Value
+rpl_semi_sync_master_wait_point AFTER_COMMIT
+show session variables like 'rpl_semi_sync_master_wait_point';
+Variable_name Value
+rpl_semi_sync_master_wait_point AFTER_COMMIT
+select * from information_schema.global_variables where variable_name='rpl_semi_sync_master_wait_point';
+VARIABLE_NAME VARIABLE_VALUE
+RPL_SEMI_SYNC_MASTER_WAIT_POINT AFTER_COMMIT
+select * from information_schema.session_variables where variable_name='rpl_semi_sync_master_wait_point';
+VARIABLE_NAME VARIABLE_VALUE
+RPL_SEMI_SYNC_MASTER_WAIT_POINT AFTER_COMMIT
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+set session rpl_semi_sync_master_wait_point=AFTER_COMMIT;
+ERROR HY000: Variable 'rpl_semi_sync_master_wait_point' is a GLOBAL variable and should be set with SET GLOBAL
+select @@global.rpl_semi_sync_master_wait_point;
+@@global.rpl_semi_sync_master_wait_point
+AFTER_SYNC
+select @@session.rpl_semi_sync_master_wait_point;
+ERROR HY000: Variable 'rpl_semi_sync_master_wait_point' is a GLOBAL variable
+show global variables like 'rpl_semi_sync_master_wait_point';
+Variable_name Value
+rpl_semi_sync_master_wait_point AFTER_SYNC
+show session variables like 'rpl_semi_sync_master_wait_point';
+Variable_name Value
+rpl_semi_sync_master_wait_point AFTER_SYNC
+select * from information_schema.global_variables where variable_name='rpl_semi_sync_master_wait_point';
+VARIABLE_NAME VARIABLE_VALUE
+RPL_SEMI_SYNC_MASTER_WAIT_POINT AFTER_SYNC
+select * from information_schema.session_variables where variable_name='rpl_semi_sync_master_wait_point';
+VARIABLE_NAME VARIABLE_VALUE
+RPL_SEMI_SYNC_MASTER_WAIT_POINT AFTER_SYNC
+set global rpl_semi_sync_master_wait_point=1.1;
+ERROR 42000: Incorrect argument type to variable 'rpl_semi_sync_master_wait_point'
+set global rpl_semi_sync_master_wait_point=1e1;
+ERROR 42000: Incorrect argument type to variable 'rpl_semi_sync_master_wait_point'
+SET @@global.rpl_semi_sync_master_wait_point = @start_global_value;
+select @@global.rpl_semi_sync_master_wait_point;
+@@global.rpl_semi_sync_master_wait_point
+AFTER_COMMIT
diff --git a/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result b/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result
index a23b160e6f2..f52e8e80127 100644
--- a/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result
+++ b/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result
@@ -1,4 +1,3 @@
-INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
select @@global.rpl_semi_sync_slave_enabled;
@@global.rpl_semi_sync_slave_enabled
0
@@ -70,4 +69,3 @@ SET @@global.rpl_semi_sync_slave_enabled = @start_global_value;
select @@global.rpl_semi_sync_slave_enabled;
@@global.rpl_semi_sync_slave_enabled
0
-UNINSTALL PLUGIN rpl_semi_sync_slave;
diff --git a/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_trace_level_basic.result b/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_trace_level_basic.result
index f7796309aea..9917ec6fce5 100644
--- a/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_trace_level_basic.result
+++ b/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_trace_level_basic.result
@@ -1,4 +1,3 @@
-INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
select @@global.rpl_semi_sync_slave_trace_level;
@@global.rpl_semi_sync_slave_trace_level
32
@@ -69,4 +68,3 @@ SET @@global.rpl_semi_sync_slave_trace_level = @start_global_value;
select @@global.rpl_semi_sync_slave_trace_level;
@@global.rpl_semi_sync_slave_trace_level
32
-UNINSTALL PLUGIN rpl_semi_sync_slave;
diff --git a/mysql-test/suite/sys_vars/r/secure_auth_basic.result b/mysql-test/suite/sys_vars/r/secure_auth_basic.result
index 9f12a1760a4..35f283de278 100644
--- a/mysql-test/suite/sys_vars/r/secure_auth_basic.result
+++ b/mysql-test/suite/sys_vars/r/secure_auth_basic.result
@@ -1,19 +1,19 @@
SET @global_start_value = @@global.secure_auth;
SELECT @global_start_value;
@global_start_value
-0
+1
'#--------------------FN_DYNVARS_143_01------------------------#'
SET @@global.secure_auth = 1;
SET @@global.secure_auth = DEFAULT;
SELECT @@global.secure_auth;
@@global.secure_auth
-0
+1
'#---------------------FN_DYNVARS_143_02-------------------------#'
SET secure_auth = 1;
ERROR HY000: Variable 'secure_auth' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@secure_auth;
@@secure_auth
-0
+1
SELECT global.secure_auth;
ERROR 42S02: Unknown table 'global' in field list
SET global secure_auth = 1;
@@ -102,4 +102,4 @@ SELECT @@global.secure_auth;
SET @@global.secure_auth = @global_start_value;
SELECT @@global.secure_auth;
@@global.secure_auth
-0
+1
diff --git a/mysql-test/suite/sys_vars/r/server_id_basic.result b/mysql-test/suite/sys_vars/r/server_id_basic.result
index 4059ca9e6a5..4d82d8f102a 100644
--- a/mysql-test/suite/sys_vars/r/server_id_basic.result
+++ b/mysql-test/suite/sys_vars/r/server_id_basic.result
@@ -44,12 +44,18 @@ SELECT @@global.server_id;
@@global.server_id
4294967295
'#--------------------FN_DYNVARS_144_04-------------------------#'
+SELECT @@server_id;
+@@server_id
+4294967295
SET @@server_id = 2;
-ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@server_id;
+@@server_id
+2
SET @@session.server_id = 3;
-ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@server_id;
+@@server_id
+3
SET @@local.server_id = 4;
-ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL
'#------------------FN_DYNVARS_144_05-----------------------#'
SET @@global.server_id = -1;
Warnings:
@@ -106,12 +112,11 @@ SELECT @@server_id = @@global.server_id;
1
'#---------------------FN_DYNVARS_001_10----------------------#'
SET server_id = 2048;
-ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL
SELECT server_id;
ERROR 42S22: Unknown column 'server_id' in 'field list'
SELECT @@server_id;
@@server_id
-512
+2048
SET global server_id = 99;
SET @@global.server_id = @start_global_value;
SELECT @@global.server_id;
diff --git a/mysql-test/suite/sys_vars/r/show_vs_valstr.result b/mysql-test/suite/sys_vars/r/show_vs_valstr.result
new file mode 100644
index 00000000000..fd59ac1f946
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/show_vs_valstr.result
@@ -0,0 +1,10 @@
+use information_schema;
+select variable_name, s.variable_value, v.global_value
+from global_variables s join system_variables v using (variable_name)
+where not (s.variable_value <=> v.global_value);
+variable_name variable_value global_value
+select variable_name, s.variable_value, v.session_value
+from session_variables s join system_variables v using (variable_name)
+where v.variable_scope != 'GLOBAL' and
+not (s.variable_value <=> v.session_value);
+variable_name variable_value session_value
diff --git a/mysql-test/suite/sys_vars/r/skip_parallel_replication_basic.result b/mysql-test/suite/sys_vars/r/skip_parallel_replication_basic.result
new file mode 100644
index 00000000000..963331805b0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/skip_parallel_replication_basic.result
@@ -0,0 +1,15 @@
+SELECT @@global.skip_parallel_replication;
+ERROR HY000: Variable 'skip_parallel_replication' is a SESSION variable
+SET GLOBAL skip_parallel_replication= 0;
+ERROR HY000: Variable 'skip_parallel_replication' is a SESSION variable and can't be used with SET GLOBAL
+SELECT @@session.skip_parallel_replication;
+@@session.skip_parallel_replication
+0
+SET SESSION skip_parallel_replication= 1;
+SELECT @@session.skip_parallel_replication;
+@@session.skip_parallel_replication
+1
+SET SESSION skip_parallel_replication= 0;
+SELECT @@session.skip_parallel_replication;
+@@session.skip_parallel_replication
+0
diff --git a/mysql-test/suite/sys_vars/r/slave_ddl_exec_mode_basic.result b/mysql-test/suite/sys_vars/r/slave_ddl_exec_mode_basic.result
new file mode 100644
index 00000000000..e758e61f648
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/slave_ddl_exec_mode_basic.result
@@ -0,0 +1,39 @@
+SET @start_value = @@global.slave_ddl_exec_mode;
+SELECT @@global.slave_ddl_exec_mode;
+@@global.slave_ddl_exec_mode
+IDEMPOTENT
+SELECT @@slave_ddl_exec_mode = @@GLOBAL.slave_ddl_exec_mode;
+@@slave_ddl_exec_mode = @@GLOBAL.slave_ddl_exec_mode
+1
+1 Expected
+SELECT COUNT(@@slave_ddl_exec_mode);
+COUNT(@@slave_ddl_exec_mode)
+1
+1 Expected
+SELECT COUNT(@@local.slave_ddl_exec_mode);
+ERROR HY000: Variable 'slave_ddl_exec_mode' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.slave_ddl_exec_mode);
+ERROR HY000: Variable 'slave_ddl_exec_mode' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@GLOBAL.slave_ddl_exec_mode);
+COUNT(@@GLOBAL.slave_ddl_exec_mode)
+1
+1 Expected
+SELECT slave_ddl_exec_mode = @@SESSION.version;
+ERROR 42S22: Unknown column 'slave_ddl_exec_mode' in 'field list'
+Expected error 'Readonly variable'
+SET @@GLOBAL.slave_ddl_exec_mode=STRICT;
+SELECT @@GLOBAL.slave_ddl_exec_mode;
+@@GLOBAL.slave_ddl_exec_mode
+STRICT
+SET @@GLOBAL.slave_ddl_exec_mode=IDEMPOTENT;
+SELECT @@GLOBAL.slave_ddl_exec_mode;
+@@GLOBAL.slave_ddl_exec_mode
+IDEMPOTENT
+SET @@GLOBAL.slave_ddl_exec_mode=XXX;
+ERROR 42000: Variable 'slave_ddl_exec_mode' can't be set to the value of 'XXX'
+SELECT @@GLOBAL.slave_ddl_exec_mode;
+@@GLOBAL.slave_ddl_exec_mode
+IDEMPOTENT
+SET @@global.slave_ddl_exec_mode= @start_value;
diff --git a/mysql-test/suite/sys_vars/r/slave_domain_parallel_threads_basic.result b/mysql-test/suite/sys_vars/r/slave_domain_parallel_threads_basic.result
new file mode 100644
index 00000000000..9e53d9bd891
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/slave_domain_parallel_threads_basic.result
@@ -0,0 +1,13 @@
+SET @save_slave_domain_parallel_threads= @@GLOBAL.slave_domain_parallel_threads;
+SELECT @@GLOBAL.slave_domain_parallel_threads as 'must be zero because of default';
+must be zero because of default
+0
+SELECT @@SESSION.slave_domain_parallel_threads as 'no session var';
+ERROR HY000: Variable 'slave_domain_parallel_threads' is a GLOBAL variable
+SET GLOBAL slave_domain_parallel_threads= 0;
+SET GLOBAL slave_domain_parallel_threads= DEFAULT;
+SET GLOBAL slave_domain_parallel_threads= 10;
+SELECT @@GLOBAL.slave_domain_parallel_threads;
+@@GLOBAL.slave_domain_parallel_threads
+10
+SET GLOBAL slave_domain_parallel_threads = @save_slave_domain_parallel_threads;
diff --git a/mysql-test/suite/sys_vars/r/slave_parallel_max_queued_basic.result b/mysql-test/suite/sys_vars/r/slave_parallel_max_queued_basic.result
new file mode 100644
index 00000000000..568ecac6de6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/slave_parallel_max_queued_basic.result
@@ -0,0 +1,13 @@
+SET @save_slave_parallel_max_queued= @@GLOBAL.slave_parallel_max_queued;
+SELECT @@GLOBAL.slave_parallel_max_queued as 'Check default';
+Check default
+131072
+SELECT @@SESSION.slave_parallel_max_queued as 'no session var';
+ERROR HY000: Variable 'slave_parallel_max_queued' is a GLOBAL variable
+SET GLOBAL slave_parallel_max_queued= 0;
+SET GLOBAL slave_parallel_max_queued= DEFAULT;
+SET GLOBAL slave_parallel_max_queued= 65536;
+SELECT @@GLOBAL.slave_parallel_max_queued;
+@@GLOBAL.slave_parallel_max_queued
+65536
+SET GLOBAL slave_parallel_max_queued = @save_slave_parallel_max_queued;
diff --git a/mysql-test/suite/sys_vars/r/slave_parallel_mode_basic.result b/mysql-test/suite/sys_vars/r/slave_parallel_mode_basic.result
new file mode 100644
index 00000000000..e4c9134374a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/slave_parallel_mode_basic.result
@@ -0,0 +1,50 @@
+SET SESSION slave_parallel_mode= none;
+ERROR HY000: Variable 'slave_parallel_mode' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@slave_parallel_mode;
+@@slave_parallel_mode
+minimal
+SELECT @@m1.slave_parallel_mode;
+@@m1.slave_parallel_mode
+NULL
+Warnings:
+Warning 1617 There is no master connection 'm1'
+Warning 1617 There is no master connection 'm1'
+CHANGE MASTER TO master_host='127.0.0.1', master_port=3310, master_user='root';
+SELECT @@``.slave_parallel_mode;
+@@``.slave_parallel_mode
+minimal
+SELECT @@slave_parallel_mode;
+@@slave_parallel_mode
+minimal
+Parallel_Mode = 'minimal'
+SELECT @@m2.slave_parallel_mode;
+@@m2.slave_parallel_mode
+NULL
+Warnings:
+Warning 1617 There is no master connection 'm2'
+Warning 1617 There is no master connection 'm2'
+SET GLOBAL m2.slave_parallel_mode = none;
+Warnings:
+Warning 1617 There is no master connection 'm2'
+CHANGE MASTER 'm1' TO master_host='127.0.0.1', master_port=3311, master_user='root';
+SELECT @@m1.slave_parallel_mode;
+@@m1.slave_parallel_mode
+optimistic
+Parallel_Mode = 'minimal'
+SET GLOBAL m1.slave_parallel_mode= conservative;
+Parallel_Mode = 'minimal'
+SET default_master_connection= 'm1';
+SELECT @@slave_parallel_mode;
+@@slave_parallel_mode
+conservative
+SET GLOBAL slave_parallel_mode= aggressive;
+SELECT @@slave_parallel_mode;
+@@slave_parallel_mode
+aggressive
+Parallel_Mode = 'aggressive'
+SET default_master_connection= '';
+SELECT @@slave_parallel_mode;
+@@slave_parallel_mode
+minimal
+RESET SLAVE ALL;
+RESET SLAVE 'm1' ALL;
diff --git a/mysql-test/suite/sys_vars/r/slave_parallel_threads_basic.result b/mysql-test/suite/sys_vars/r/slave_parallel_threads_basic.result
new file mode 100644
index 00000000000..56aa5976f91
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/slave_parallel_threads_basic.result
@@ -0,0 +1,22 @@
+SET @save_slave_parallel_threads= @@GLOBAL.slave_parallel_threads;
+SELECT IF(COUNT(*) < 20, "OK", CONCAT("Found too many system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) < 20, "OK", CONCAT("Found too many system user processes: ", COUNT(*)))
+OK
+SELECT @@GLOBAL.slave_parallel_threads as 'must be 20 because of .cnf';
+must be 20 because of .cnf
+20
+SELECT @@SESSION.slave_parallel_threads as 'no session var';
+ERROR HY000: Variable 'slave_parallel_threads' is a GLOBAL variable
+SET GLOBAL slave_parallel_threads= 0;
+SET GLOBAL slave_parallel_threads= DEFAULT;
+SELECT @@GLOBAL.slave_parallel_threads as 'must be 0 because of default';
+must be 0 because of default
+0
+SET GLOBAL slave_parallel_threads= 10;
+SELECT @@GLOBAL.slave_parallel_threads;
+@@GLOBAL.slave_parallel_threads
+10
+SELECT IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*)))
+OK
+SET GLOBAL slave_parallel_threads = @save_slave_parallel_threads;
diff --git a/mysql-test/suite/sys_vars/r/slave_run_triggers_for_rbr_basic.result b/mysql-test/suite/sys_vars/r/slave_run_triggers_for_rbr_basic.result
new file mode 100644
index 00000000000..02a3cdf27ce
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/slave_run_triggers_for_rbr_basic.result
@@ -0,0 +1,45 @@
+SET @old_slave_run_triggers_for_rbr= @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_run_triggers_for_rbr= NO;
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+NO
+SET @@global.slave_run_triggers_for_rbr= YES;
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+YES
+SET @@global.slave_run_triggers_for_rbr= LOGGING;
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+LOGGING
+SET @@global.slave_run_triggers_for_rbr= default;
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+NO
+SET @@global.slave_run_triggers_for_rbr= 0;
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+NO
+SET @@global.slave_run_triggers_for_rbr= 1;
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+YES
+SET @@global.slave_run_triggers_for_rbr= 2;
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+LOGGING
+SET @@global.slave_run_triggers_for_rbr= 3;
+ERROR 42000: Variable 'slave_run_triggers_for_rbr' can't be set to the value of '3'
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+LOGGING
+SET @@global.slave_run_triggers_for_rbr= "N";
+ERROR 42000: Variable 'slave_run_triggers_for_rbr' can't be set to the value of 'N'
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+LOGGING
+SET @@global.slave_run_triggers_for_rbr= -1;
+ERROR 42000: Variable 'slave_run_triggers_for_rbr' can't be set to the value of '-1'
+select @@global.slave_run_triggers_for_rbr;
+@@global.slave_run_triggers_for_rbr
+LOGGING
+SET @@global.slave_run_triggers_for_rbr= @old_slave_run_triggers_for_rbr;
diff --git a/mysql-test/suite/sys_vars/r/slow_query_log_basic.result b/mysql-test/suite/sys_vars/r/slow_query_log_basic.result
index bf9a83f0380..049404f5648 100644
--- a/mysql-test/suite/sys_vars/r/slow_query_log_basic.result
+++ b/mysql-test/suite/sys_vars/r/slow_query_log_basic.result
@@ -42,10 +42,17 @@ ERROR 42000: Variable 'slow_query_log' can't be set to the value of ' '
SET @@global.slow_query_log = '';
ERROR 42000: Variable 'slow_query_log' can't be set to the value of ''
'#-------------------FN_DYNVARS_004_04----------------------------#'
+SET @@global.slow_query_log = ON;
+SET @@session.slow_query_log = ON;
+SELECT @@session.slow_query_log;
+@@session.slow_query_log
+1
SET @@session.slow_query_log = OFF;
-ERROR HY000: Variable 'slow_query_log' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@session.slow_query_log;
-ERROR HY000: Variable 'slow_query_log' is a GLOBAL variable
+@@session.slow_query_log
+0
+SET @@global.slow_query_log = OFF;
+SET @@session.slow_query_log = ON;
'#----------------------FN_DYNVARS_004_05------------------------#'
SELECT IF(@@global.slow_query_log, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
@@ -72,12 +79,11 @@ SELECT @@global.slow_query_log;
0
'#---------------------FN_DYNVARS_004_08----------------------#'
SET @@global.slow_query_log = ON;
+SET @@local.slow_query_log = OFF;
SELECT @@slow_query_log = @@global.slow_query_log;
@@slow_query_log = @@global.slow_query_log
-1
+0
'#---------------------FN_DYNVARS_004_09----------------------#'
-SET slow_query_log = ON;
-ERROR HY000: Variable 'slow_query_log' is a GLOBAL variable and should be set with SET GLOBAL
SET local.slow_query_log = OFF;
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 'slow_query_log = OFF' at line 1
SELECT local.slow_query_log;
diff --git a/mysql-test/suite/sys_vars/r/slow_query_log_func.result b/mysql-test/suite/sys_vars/r/slow_query_log_func.result
index fb650399597..b431f963239 100644
--- a/mysql-test/suite/sys_vars/r/slow_query_log_func.result
+++ b/mysql-test/suite/sys_vars/r/slow_query_log_func.result
@@ -2,7 +2,7 @@ SET @global_slow_query_log = @@global.slow_query_log;
SET @global_log_output = @@global.log_output;
SET @@session.long_query_time=1;
SET @@global.log_output = 'TABLE';
-'----When slow_query_log = OFF----'
+'----When global.slow_query_log = OFF----'
SET @@global.slow_query_log = OFF;
TRUNCATE mysql.slow_log;
SELECT sleep(2);
@@ -11,7 +11,7 @@ sleep(2)
SELECT count(*) FROM mysql.slow_log;
count(*)
0
-'----When slow_query_log = ON-----'
+'----When global.slow_query_log = ON-----'
SET @@global.slow_query_log = ON;
TRUNCATE mysql.slow_log;
SELECT sleep(2);
@@ -20,6 +20,16 @@ sleep(2)
SELECT count(*) > 0 FROM mysql.slow_log;
count(*) > 0
1
+'----When local.slow_query_log = OFF-----'
+SET @@local.slow_query_log = OFF;
+TRUNCATE mysql.slow_log;
+SELECT sleep(2);
+sleep(2)
+0
+SELECT count(*) FROM mysql.slow_log;
+count(*)
+0
+SET @@local.slow_query_log = ON;
'Bug#47905 stored procedures not logged correctly to slow query log'
TRUNCATE mysql.slow_log;
CREATE PROCEDURE p_test()
@@ -81,7 +91,7 @@ DROP FUNCTION f_slow_current_time;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
CREATE TABLE t1(c1 INT) ENGINE=MyISAM;
DROP PROCEDURE IF EXISTS p1;
CREATE PROCEDURE p1()
diff --git a/mysql-test/suite/sys_vars/r/sql_big_selects_func.result b/mysql-test/suite/sys_vars/r/sql_big_selects_func.result
index f96e28379a3..bd534140172 100644
--- a/mysql-test/suite/sys_vars/r/sql_big_selects_func.result
+++ b/mysql-test/suite/sys_vars/r/sql_big_selects_func.result
@@ -3,9 +3,7 @@
SET @session_sql_big_selects = @@SESSION.sql_big_selects;
SET @session_max_join_size = @@SESSION.max_join_size;
SET @global_max_join_size = @@GLOBAL.max_join_size;
-SET SQL_MAX_JOIN_SIZE=9;
-Warnings:
-Warning 1287 '@@sql_max_join_size' is deprecated and will be removed in a future release. Please use '@@max_join_size' instead
+SET MAX_JOIN_SIZE=9;
CREATE TEMPORARY TABLE t1(a varchar(20) not null, b varchar(20));
CREATE TEMPORARY TABLE t2(a varchar(20) null, b varchar(20));
INSERT INTO t1 VALUES('aa','bb');
diff --git a/mysql-test/suite/sys_vars/r/sql_low_priority_updates_func.result b/mysql-test/suite/sys_vars/r/sql_low_priority_updates_func.result
index fe76c2c4b96..e9758e238af 100644
--- a/mysql-test/suite/sys_vars/r/sql_low_priority_updates_func.result
+++ b/mysql-test/suite/sys_vars/r/sql_low_priority_updates_func.result
@@ -20,7 +20,7 @@ INSERT INTO t1 VALUES('3');
INSERT INTO t1 VALUES('4');
INSERT INTO t1 VALUES('5');
INSERT INTO t1 VALUES('6');
-LOCK TABLE v1 WRITE;
+LOCK TABLE v1 WRITE CONCURRENT;
** Connection con1 **
** Asynchronous Execution **
UPDATE t1 SET a = CONCAT(a,"-updated");|
@@ -56,7 +56,7 @@ INSERT INTO t1 VALUES('3');
INSERT INTO t1 VALUES('4');
INSERT INTO t1 VALUES('5');
INSERT INTO t1 VALUES('6');
-LOCK TABLE v1 WRITE;
+LOCK TABLE v1 READ;
** Connection con1 **
** Asynchronous Execution **
UPDATE t1 SET a = CONCAT(a,"-updated");|
diff --git a/mysql-test/suite/sys_vars/r/sql_mode_basic.result b/mysql-test/suite/sys_vars/r/sql_mode_basic.result
index c806fadc4ed..b3c76b12b64 100644
--- a/mysql-test/suite/sys_vars/r/sql_mode_basic.result
+++ b/mysql-test/suite/sys_vars/r/sql_mode_basic.result
@@ -1,22 +1,22 @@
SET @global_start_value = @@global.sql_mode;
SELECT @global_start_value;
@global_start_value
-
+NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
SET @session_start_value = @@session.sql_mode;
SELECT @session_start_value;
@session_start_value
-
+NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
'#--------------------FN_DYNVARS_152_01------------------------#'
SET @@global.sql_mode = ANSI;
SET @@global.sql_mode = DEFAULT;
SELECT @@global.sql_mode;
@@global.sql_mode
-
+NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
SET @@session.sql_mode = ANSI;
SET @@session.sql_mode = DEFAULT;
SELECT @@session.sql_mode;
@@session.sql_mode
-
+NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
'#---------------------FN_DYNVARS_152_02-------------------------#'
SET @@global.sql_mode = NULL;
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NULL'
@@ -420,8 +420,8 @@ ANSI_QUOTES
SET @@global.sql_mode = @global_start_value;
SELECT @@global.sql_mode;
@@global.sql_mode
-
+NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
SET @@session.sql_mode = @session_start_value;
SELECT @@session.sql_mode;
@@session.sql_mode
-
+NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
diff --git a/mysql-test/suite/sys_vars/r/sql_notes_func.result b/mysql-test/suite/sys_vars/r/sql_notes_func.result
index 87c4ecb8431..28510f027da 100644
--- a/mysql-test/suite/sys_vars/r/sql_notes_func.result
+++ b/mysql-test/suite/sys_vars/r/sql_notes_func.result
@@ -13,7 +13,7 @@ SELECT @@warning_count;
0 Expected
DROP TABLE IF EXISTS t1;
Warnings:
-Note 1051 Unknown table 't1'
+Note 1051 Unknown table 'test.t1'
SELECT @@warning_count;
@@warning_count
1
diff --git a/mysql-test/suite/sys_vars/r/sql_slave_skip_counter_basic.result b/mysql-test/suite/sys_vars/r/sql_slave_skip_counter_basic.result
index e6d9aff7141..0e1d7af5485 100644
--- a/mysql-test/suite/sys_vars/r/sql_slave_skip_counter_basic.result
+++ b/mysql-test/suite/sys_vars/r/sql_slave_skip_counter_basic.result
@@ -35,9 +35,6 @@ VARIABLE_VALUE
1024
'#--------------------FN_DYNVARS_165_03-------------------------#'
SET @@sql_slave_skip_counter = 10;
-ERROR HY000: Variable 'sql_slave_skip_counter' is a GLOBAL variable and should be set with SET GLOBAL
SET @@session.sql_slave_skip_counter = 12;
-ERROR HY000: Variable 'sql_slave_skip_counter' is a GLOBAL variable and should be set with SET GLOBAL
SET @@local.sql_slave_skip_counter = 13;
-ERROR HY000: Variable 'sql_slave_skip_counter' is a GLOBAL variable and should be set with SET GLOBAL
SET @@global.sql_slave_skip_counter = 0;
diff --git a/mysql-test/suite/sys_vars/r/ssl_crl_basic.result b/mysql-test/suite/sys_vars/r/ssl_crl_basic.result
new file mode 100644
index 00000000000..5e0c0c58ba6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/ssl_crl_basic.result
@@ -0,0 +1,5 @@
+# a simplified test to keep the suite happy.
+# the real test is in main.
+select @@ssl_crl;
+@@ssl_crl
+NULL
diff --git a/mysql-test/suite/sys_vars/r/ssl_crlpath_basic.result b/mysql-test/suite/sys_vars/r/ssl_crlpath_basic.result
new file mode 100644
index 00000000000..407a13d7c1e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/ssl_crlpath_basic.result
@@ -0,0 +1,5 @@
+# a simplified test to keep the suite happy.
+# the real test is in main.
+select @@ssl_crlpath;
+@@ssl_crlpath
+NULL
diff --git a/mysql-test/suite/sys_vars/r/storage_engine_basic.result b/mysql-test/suite/sys_vars/r/storage_engine_basic.result
index 2831ebaa500..9461707dd79 100644
--- a/mysql-test/suite/sys_vars/r/storage_engine_basic.result
+++ b/mysql-test/suite/sys_vars/r/storage_engine_basic.result
@@ -19,7 +19,7 @@ MyISAM
SET @@global.storage_engine = MERGE;
SELECT @@global.storage_engine;
@@global.storage_engine
-MRG_MYISAM
+MRG_MyISAM
SET @@global.storage_engine = MEMORY;
SELECT @@global.storage_engine;
@@global.storage_engine
@@ -36,7 +36,7 @@ MyISAM
SET @@session.storage_engine = MERGE;
SELECT @@session.storage_engine;
@@session.storage_engine
-MRG_MYISAM
+MRG_MyISAM
SET @@session.storage_engine = MEMORY;
SELECT @@session.storage_engine;
@@session.storage_engine
diff --git a/mysql-test/suite/sys_vars/r/sync_master_info_basic.result b/mysql-test/suite/sys_vars/r/sync_master_info_basic.result
index 940282f629a..ea8b7d7a483 100644
--- a/mysql-test/suite/sys_vars/r/sync_master_info_basic.result
+++ b/mysql-test/suite/sys_vars/r/sync_master_info_basic.result
@@ -1,24 +1,24 @@
SET @start_global_value = @@global.sync_master_info;
SELECT @start_global_value;
@start_global_value
-0
+10000
select @@global.sync_master_info;
@@global.sync_master_info
-0
+10000
select @@session.sync_master_info;
ERROR HY000: Variable 'sync_master_info' is a GLOBAL variable
show global variables like 'sync_master_info';
Variable_name Value
-sync_master_info 0
+sync_master_info 10000
show session variables like 'sync_master_info';
Variable_name Value
-sync_master_info 0
+sync_master_info 10000
select * from information_schema.global_variables where variable_name='sync_master_info';
VARIABLE_NAME VARIABLE_VALUE
-SYNC_MASTER_INFO 0
+SYNC_MASTER_INFO 10000
select * from information_schema.session_variables where variable_name='sync_master_info';
VARIABLE_NAME VARIABLE_VALUE
-SYNC_MASTER_INFO 0
+SYNC_MASTER_INFO 10000
set global sync_master_info=1;
select @@global.sync_master_info;
@@global.sync_master_info
@@ -45,4 +45,4 @@ select @@global.sync_master_info;
SET @@global.sync_master_info = @start_global_value;
SELECT @@global.sync_master_info;
@@global.sync_master_info
-0
+10000
diff --git a/mysql-test/suite/sys_vars/r/sync_relay_log_basic.result b/mysql-test/suite/sys_vars/r/sync_relay_log_basic.result
index a98fcbfe44c..5196f8ff2dc 100644
--- a/mysql-test/suite/sys_vars/r/sync_relay_log_basic.result
+++ b/mysql-test/suite/sys_vars/r/sync_relay_log_basic.result
@@ -1,24 +1,24 @@
SET @start_global_value = @@global.sync_relay_log;
SELECT @start_global_value;
@start_global_value
-0
+10000
select @@global.sync_relay_log;
@@global.sync_relay_log
-0
+10000
select @@session.sync_relay_log;
ERROR HY000: Variable 'sync_relay_log' is a GLOBAL variable
show global variables like 'sync_relay_log';
Variable_name Value
-sync_relay_log 0
+sync_relay_log 10000
show session variables like 'sync_relay_log';
Variable_name Value
-sync_relay_log 0
+sync_relay_log 10000
select * from information_schema.global_variables where variable_name='sync_relay_log';
VARIABLE_NAME VARIABLE_VALUE
-SYNC_RELAY_LOG 0
+SYNC_RELAY_LOG 10000
select * from information_schema.session_variables where variable_name='sync_relay_log';
VARIABLE_NAME VARIABLE_VALUE
-SYNC_RELAY_LOG 0
+SYNC_RELAY_LOG 10000
set global sync_relay_log=1;
select @@global.sync_relay_log;
@@global.sync_relay_log
@@ -45,4 +45,4 @@ select @@global.sync_relay_log;
SET @@global.sync_relay_log = @start_global_value;
SELECT @@global.sync_relay_log;
@@global.sync_relay_log
-0
+10000
diff --git a/mysql-test/suite/sys_vars/r/sync_relay_log_info_basic.result b/mysql-test/suite/sys_vars/r/sync_relay_log_info_basic.result
index 4900bf166b0..aa84affb7bb 100644
--- a/mysql-test/suite/sys_vars/r/sync_relay_log_info_basic.result
+++ b/mysql-test/suite/sys_vars/r/sync_relay_log_info_basic.result
@@ -1,24 +1,24 @@
SET @start_global_value = @@global.sync_relay_log_info;
SELECT @start_global_value;
@start_global_value
-0
+10000
select @@global.sync_relay_log_info;
@@global.sync_relay_log_info
-0
+10000
select @@session.sync_relay_log_info;
ERROR HY000: Variable 'sync_relay_log_info' is a GLOBAL variable
show global variables like 'sync_relay_log_info';
Variable_name Value
-sync_relay_log_info 0
+sync_relay_log_info 10000
show session variables like 'sync_relay_log_info';
Variable_name Value
-sync_relay_log_info 0
+sync_relay_log_info 10000
select * from information_schema.global_variables where variable_name='sync_relay_log_info';
VARIABLE_NAME VARIABLE_VALUE
-SYNC_RELAY_LOG_INFO 0
+SYNC_RELAY_LOG_INFO 10000
select * from information_schema.session_variables where variable_name='sync_relay_log_info';
VARIABLE_NAME VARIABLE_VALUE
-SYNC_RELAY_LOG_INFO 0
+SYNC_RELAY_LOG_INFO 10000
set global sync_relay_log_info=1;
select @@global.sync_relay_log_info;
@@global.sync_relay_log_info
@@ -45,4 +45,4 @@ select @@global.sync_relay_log_info;
SET @@global.sync_relay_log_info = @start_global_value;
SELECT @@global.sync_relay_log_info;
@@global.sync_relay_log_info
-0
+10000
diff --git a/mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff b/mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff
new file mode 100644
index 00000000000..979f9d8903a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff
@@ -0,0 +1,105 @@
+--- sysvars_aria.result 2015-01-09 11:49:32.000000000 +0100
++++ sysvars_aria,32bit.result 2015-01-09 17:30:11.000000000 +0100
+@@ -7,7 +7,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8192
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Block size to be used for Aria index pages.
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 32768
+@@ -21,7 +21,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 30
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Interval between tries to do an automatic checkpoints. In seconds; 0 means 'no automatic checkpoints' which makes sense only for testing.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -35,7 +35,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1048576
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of bytes that the transaction log has to grow between checkpoints before a new checkpoint is written to the log.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -63,7 +63,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of consecutive log recovery failures after which logs will be automatically deleted to cure the problem; 0 (the default) disables the feature.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 255
+@@ -91,7 +91,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Interval between commite in microseconds (1/1000000c). 0 stands for no waiting for other threads to come and do a commit in "hard" mode and no sync()/commit at all in "soft" mode. Option has only an effect if aria_group_commit is used
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -105,7 +105,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 1073741824
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Limit for transaction log size
+ NUMERIC_MIN_VALUE 8388608
+ NUMERIC_MAX_VALUE 4294967295
+@@ -147,10 +147,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 300
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in the page cache.
+ NUMERIC_MIN_VALUE 100
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 100
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -175,7 +175,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The minimum percentage of warm blocks in key cache
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 100
+@@ -189,7 +189,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 512
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of hash buckets for open and changed files. If you have a lot of Aria files open you should increase this for faster flush of changes. A good value is probably 1/10 of number of possible open Aria files.
+ NUMERIC_MIN_VALUE 128
+ NUMERIC_MAX_VALUE 16384
+@@ -231,7 +231,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of threads to use when repairing Aria tables. The value of 1 disables parallel repair.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 128
+@@ -248,7 +248,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE.
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
diff --git a/mysql-test/suite/sys_vars/r/sysvars_aria.result b/mysql-test/suite/sys_vars/r/sysvars_aria.result
new file mode 100644
index 00000000000..1308992e771
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_aria.result
@@ -0,0 +1,297 @@
+select * from information_schema.system_variables
+where variable_name like 'aria%'
+ order by variable_name;
+VARIABLE_NAME ARIA_BLOCK_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 8192
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8192
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Block size to be used for Aria index pages.
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 32768
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_CHECKPOINT_INTERVAL
+SESSION_VALUE NULL
+GLOBAL_VALUE 30
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 30
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Interval between tries to do an automatic checkpoints. In seconds; 0 means 'no automatic checkpoints' which makes sense only for testing.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_CHECKPOINT_LOG_ACTIVITY
+SESSION_VALUE NULL
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1048576
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of bytes that the transaction log has to grow between checkpoints before a new checkpoint is written to the log.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_ENCRYPT_TABLES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Encrypt tables (only for tables with ROW_FORMAT=PAGE (default) and not FIXED/DYNAMIC)
+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 ARIA_FORCE_START_AFTER_RECOVERY_FAILURES
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of consecutive log recovery failures after which logs will be automatically deleted to cure the problem; 0 (the default) disables the feature.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 255
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_GROUP_COMMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE none
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE none
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies Aria group commit mode. Possible values are "none" (no group commit), "hard" (with waiting to actual commit), "soft" (no wait for commit (DANGEROUS!!!))
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST none,hard,soft
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_GROUP_COMMIT_INTERVAL
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Interval between commite in microseconds (1/1000000c). 0 stands for no waiting for other threads to come and do a commit in "hard" mode and no sync()/commit at all in "soft" mode. Option has only an effect if aria_group_commit is used
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_LOG_FILE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 104857600
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 1073741824
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Limit for transaction log size
+NUMERIC_MIN_VALUE 8388608
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 8192
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_LOG_PURGE_TYPE
+SESSION_VALUE NULL
+GLOBAL_VALUE immediate
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE immediate
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies how Aria transactional log will be purged
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST immediate,external,at_flush
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_MAX_SORT_FILE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 9223372036853727232
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 9223372036853727232
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't use the fast sort index method to created index if the temporary file would get bigger than this.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 1048576
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_PAGECACHE_AGE_THRESHOLD
+SESSION_VALUE NULL
+GLOBAL_VALUE 300
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 300
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in the page cache.
+NUMERIC_MIN_VALUE 100
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 100
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_PAGECACHE_BUFFER_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 8388608
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 134217728
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the buffer used for index blocks for Aria tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford.
+NUMERIC_MIN_VALUE 131072
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_PAGECACHE_DIVISION_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The minimum percentage of warm blocks in key cache
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 100
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_PAGECACHE_FILE_HASH_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 512
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 512
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of hash buckets for open and changed files. If you have a lot of Aria files open you should increase this for faster flush of changes. A good value is probably 1/10 of number of possible open Aria files.
+NUMERIC_MIN_VALUE 128
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_PAGE_CHECKSUM
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Maintain page checksums (can be overridden per table with PAGE_CHECKSUM clause in CREATE TABLE)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_RECOVER
+SESSION_VALUE NULL
+GLOBAL_VALUE NORMAL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NORMAL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Specifies how corrupted tables should be automatically repaired
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NORMAL,BACKUP,FORCE,QUICK,OFF
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME ARIA_REPAIR_THREADS
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of threads to use when repairing Aria tables. The value of 1 disables parallel repair.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 128
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_SORT_BUFFER_SIZE
+SESSION_VALUE 268434432
+GLOBAL_VALUE 268434432
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 268434432
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE.
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_STATS_METHOD
+SESSION_VALUE nulls_unequal
+GLOBAL_VALUE nulls_unequal
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE nulls_unequal
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies how Aria index statistics collection code should treat NULLs
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST nulls_unequal,nulls_equal,nulls_ignored
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_SYNC_LOG_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE NEWFILE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NEWFILE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Controls syncing directory after log file growth and new file creation
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NEVER,NEWFILE,ALWAYS
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ARIA_USED_FOR_TEMP_TABLES
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether temporary tables should be MyISAM or Aria
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
diff --git a/mysql-test/suite/sys_vars/r/sysvars_debug,32bit.rdiff b/mysql-test/suite/sys_vars/r/sysvars_debug,32bit.rdiff
new file mode 100644
index 00000000000..3164d094528
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_debug,32bit.rdiff
@@ -0,0 +1,11 @@
+--- suite/sys_vars/r/sysvars_debug.result 2014-10-10 13:33:55.000000000 +0300
++++ suite/sys_vars/r/sysvars_debug,32bit.reject 2014-10-10 19:36:44.000000000 +0300
+@@ -21,7 +21,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Extra sleep (in microseconds) to add to binlog fsync(), for debugging
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
diff --git a/mysql-test/suite/sys_vars/r/sysvars_debug.result b/mysql-test/suite/sys_vars/r/sysvars_debug.result
new file mode 100644
index 00000000000..f50e796bff4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_debug.result
@@ -0,0 +1,87 @@
+select * from information_schema.system_variables
+where variable_name like 'debug%'
+ order by variable_name;
+VARIABLE_NAME DEBUG
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Built-in DBUG debugger
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME DEBUG_BINLOG_FSYNC_SLEEP
+SESSION_VALUE NULL
+GLOBAL_VALUE 314
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Extra sleep (in microseconds) to add to binlog fsync(), for debugging
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEBUG_DBUG
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Built-in DBUG debugger
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME DEBUG_MUTEX_DEADLOCK_DETECTOR
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable checking of wrong mutex usage
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME DEBUG_NO_THREAD_ALARM
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disable system thread alarm calls. Disabling it may be useful in debugging or testing, never do it in production
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME DEBUG_SYNC
+SESSION_VALUE ON - current signal: ''
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Debug Sync Facility
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff
new file mode 100644
index 00000000000..794e93a108b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff
@@ -0,0 +1,1236 @@
+--- suite/sys_vars/r/sysvars_innodb.result
++++ suite/sys_vars/r/sysvars_innodb,32bit.reject
+@@ -47,13 +47,27 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_ADAPTIVE_HASH_INDEX_PARTITIONS
++SESSION_VALUE NULL
++GLOBAL_VALUE 1
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 1
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Number of InnoDB adaptive hash index partitions (default 1: disable partitioning)
++NUMERIC_MIN_VALUE 1
++NUMERIC_MAX_VALUE 32
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_ADAPTIVE_MAX_SLEEP_DELAY
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 150000
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 150000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The upper limit of the sleep delay in usec. Value of 0 disables it.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000000
+@@ -67,10 +81,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8388608
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator. Size of a memory pool InnoDB uses to store data dictionary information and other internal data structures.
+ NUMERIC_MIN_VALUE 524288
+-NUMERIC_MAX_VALUE 9223372036854775807
++NUMERIC_MAX_VALUE 2147483647
+ NUMERIC_BLOCK_SIZE 1024
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+@@ -81,7 +95,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 5
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Background commit interval in seconds
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1073741824
+@@ -137,7 +151,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB API transaction isolation level
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 3
+@@ -151,7 +165,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 64
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Data file autoextend increment in megabytes
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1000
+@@ -165,7 +179,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ 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
+@@ -263,7 +277,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Dump only the hottest N% of each buffer pool, defaults to 100
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 100
+@@ -305,7 +319,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of buffer pool instances, set to higher value on high-end machines to increase scalability
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 64
+@@ -355,6 +369,20 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_BUFFER_POOL_POPULATE
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Deprecated. This option has no effect and will be removed in MariaDB 10.2.3.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_BUFFER_POOL_SIZE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 8388608
+@@ -375,7 +403,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -446,7 +474,7 @@
+ DEFAULT_VALUE ON
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BOOLEAN
+-VARIABLE_COMMENT DEPRECATED. Use innodb_checksum_algorithm=NONE instead of setting this to OFF. Enable InnoDB checksums validation (enabled by default). Disable with --skip-innodb-checksums.
++VARIABLE_COMMENT DEPRECATED. Use innodb_checksum_algorithm=NONE instead of setting this to OFF
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+@@ -467,6 +495,104 @@
+ ENUM_VALUE_LIST CRC32,STRICT_CRC32,INNODB,STRICT_INNODB,NONE,STRICT_NONE
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_EVICTION_FACTOR
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make page cleaner LRU flushes use evicted instead of flushed page counts for its heuristics
++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_CLEANER_FLUSH_CHUNK_SIZE
++SESSION_VALUE NULL
++GLOBAL_VALUE 100
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 100
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Divide page cleaner flush list flush batches into chunks of this size
++NUMERIC_MIN_VALUE 1
++NUMERIC_MAX_VALUE 4294967295
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_FREE_LIST_LWM
++SESSION_VALUE NULL
++GLOBAL_VALUE 10
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 10
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Page cleaner will keep on flushing the same buffer pool instance if its free list length is below this percentage of innodb_lru_scan_depth
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 100
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_LRU_CHUNK_SIZE
++SESSION_VALUE NULL
++GLOBAL_VALUE 100
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 100
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Divide page cleaner LRU list flush batches into chunks of this size
++NUMERIC_MIN_VALUE 1
++NUMERIC_MAX_VALUE 4294967295
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_LSN_AGE_FACTOR
++SESSION_VALUE NULL
++GLOBAL_VALUE HIGH_CHECKPOINT
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE HIGH_CHECKPOINT
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT The formula for LSN age factor for page cleaner adaptive flushing. LEGACY: Original Oracle MySQL 5.6 formula. HIGH_CHECKPOINT: (the default) Percona Server 5.6 formula.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST LEGACY,HIGH_CHECKPOINT
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_CLEANER_MAX_FLUSH_TIME
++SESSION_VALUE NULL
++GLOBAL_VALUE 1000
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 1000
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT The maximum time limit for a single flush list flush iteration by the page cleaner thread in miliseconds
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 4294967295
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_MAX_LRU_TIME
++SESSION_VALUE NULL
++GLOBAL_VALUE 1000
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 1000
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT The maximum time limit for a single LRU tail flush iteration by the page cleaner thread in miliseconds
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 4294967295
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_CMP_PER_INDEX_ENABLED
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -487,7 +613,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000
+@@ -515,7 +641,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 5
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -543,7 +669,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -557,14 +683,28 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 5000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket
+ NUMERIC_MIN_VALUE 1
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CORRUPT_TABLE_ACTION
++SESSION_VALUE NULL
++GLOBAL_VALUE assert
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE assert
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT Warn corruptions of user tables as 'corrupt table' instead of not crashing itself, when used with file_per_table. All file io for the datafile after detected as corrupt are disabled, except for the deletion.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST assert,warn,salvage
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_DATA_FILE_PATH
+ SESSION_VALUE NULL
+ GLOBAL_VALUE ibdata1:12M:autoextend
+@@ -781,7 +921,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 120
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of pages reserved in doublewrite buffer for batch flushing
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 127
+@@ -789,6 +929,20 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_EMPTY_FREE_LIST_ALGORITHM
++SESSION_VALUE NULL
++GLOBAL_VALUE LEGACY
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE BACKOFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT The algorithm to use for empty free list handling. Allowed values: LEGACY: Original Oracle MySQL 5.6 handling with single page flushes; BACKOFF: (default) Wait until cleaner produces a free page.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST LEGACY,BACKOFF
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_ENCRYPTION_ROTATE_KEY_AGE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 1
+@@ -859,13 +1013,27 @@
+ ENUM_VALUE_LIST OFF,ON,FORCE
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_FAKE_CHANGES
++SESSION_VALUE OFF
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE SESSION
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT In the transaction after enabled, UPDATE, INSERT and DELETE only move the cursor to the records and do nothing other operations (no changes, no ibuf, no undo, no transaction log) in the transaction. This is to cause replication prefetch IO. ATTENTION: the transaction started after enabled is affected.
++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_FAST_SHUTDOWN
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 1
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Speeds up the shutdown process of the InnoDB storage engine. Possible values are 0, 1 (faster) or 2 (fastest - crash-like).
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 2
+@@ -879,7 +1047,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 600
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of seconds that semaphore times out in InnoDB.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -949,7 +1117,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Make the first page of the given tablespace dirty.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -963,7 +1131,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 30
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of iterations over which the background flushing is averaged.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1000
+@@ -986,12 +1154,12 @@
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_FLUSH_LOG_AT_TRX_COMMIT
+-SESSION_VALUE NULL
++SESSION_VALUE 1
+ GLOBAL_VALUE 1
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+-VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_SCOPE SESSION
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -1019,7 +1187,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -1061,7 +1229,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Helps to save your data in case the disk image of the database becomes corrupt.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 6
+@@ -1069,6 +1237,20 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_FOREGROUND_PREFLUSH
++SESSION_VALUE NULL
++GLOBAL_VALUE EXPONENTIAL_BACKOFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE EXPONENTIAL_BACKOFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT The algorithm InnoDB uses for the query threads at sync preflush. Possible values are SYNC_PREFLUSH: perform a sync preflush as Oracle MySQL; EXPONENTIAL_BACKOFF: (default) wait for the page cleaner flush.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST SYNC_PREFLUSH,EXPONENTIAL_BACKOFF
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_FT_AUX_TABLE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE
+@@ -1089,7 +1271,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8000000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search cache size in bytes
+ NUMERIC_MIN_VALUE 1600000
+ NUMERIC_MAX_VALUE 80000000
+@@ -1131,7 +1313,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 84
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search maximum token size in characters
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 84
+@@ -1145,7 +1327,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 3
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search minimum token size in characters
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16
+@@ -1159,7 +1341,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search number of words to optimize for each optimize table call
+ NUMERIC_MIN_VALUE 1000
+ NUMERIC_MAX_VALUE 10000
+@@ -1173,10 +1355,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2000000000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search query result cache limit in bytes
+ NUMERIC_MIN_VALUE 1000000
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1201,7 +1383,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -1215,7 +1397,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 640000000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Total memory allocated for InnoDB Fulltext Search cache
+ NUMERIC_MIN_VALUE 32000000
+ NUMERIC_MAX_VALUE 1600000000
+@@ -1243,7 +1425,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Up to what percentage of dirty pages should be flushed when innodb finds it has spare resources to do so.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 100
+@@ -1285,10 +1467,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 200
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of IOPs the server can do. Tunes the background IO rate
+ NUMERIC_MIN_VALUE 100
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1297,12 +1479,26 @@
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 2000
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 18446744073709551615
++DEFAULT_VALUE 4294967295
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Limit to which innodb_io_capacity can be inflated.
+ NUMERIC_MIN_VALUE 100
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_KILL_IDLE_TRANSACTION
++SESSION_VALUE NULL
++GLOBAL_VALUE 0
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 0
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT
++VARIABLE_COMMENT No effect for this build.
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 2147483647
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1335,6 +1531,20 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_LOCKING_FAKE_CHANGES
++SESSION_VALUE NULL
++GLOBAL_VALUE ON
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE ON
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT ###EXPERIMENTAL### if enabled, transactions will get S row locks instead of X locks for fake changes. If disabled, fake change transactions will not take any locks at all.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_LOCKS_UNSAFE_FOR_BINLOG
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -1369,7 +1579,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1073741824
+@@ -1377,16 +1587,72 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_LOG_ARCHIVE
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Set to 1 if you want to have logs archived.
++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_LOG_ARCH_DIR
++SESSION_VALUE NULL
++GLOBAL_VALUE PATH
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE VARCHAR
++VARIABLE_COMMENT Where full logs should be archived.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST NULL
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_LOG_ARCH_EXPIRE_SEC
++SESSION_VALUE NULL
++GLOBAL_VALUE 0
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 0
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Expiration time for archived innodb transaction logs.
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 4294967295
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_LOG_BLOCK_SIZE
++SESSION_VALUE NULL
++GLOBAL_VALUE 512
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 512
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT ###EXPERIMENTAL###: The log block size of the transaction log file. Changing for created log file is not supported. Use on your own risk!
++NUMERIC_MIN_VALUE 512
++NUMERIC_MAX_VALUE 65536
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_LOG_BUFFER_SIZE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 1048576
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 16777216
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT The size of the buffer which InnoDB uses to write log to the log files on disk.
+ NUMERIC_MIN_VALUE 262144
+-NUMERIC_MAX_VALUE 9223372036854775807
++NUMERIC_MAX_VALUE 2147483647
+ NUMERIC_BLOCK_SIZE 1024
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+@@ -1405,6 +1671,20 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_LOG_CHECKSUM_ALGORITHM
++SESSION_VALUE NULL
++GLOBAL_VALUE INNODB
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE INNODB
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT The algorithm InnoDB uses for log block checksums. Possible values are CRC32 (hardware accelerated if the CPU supports it) write crc32, allow any of the other checksums to match when reading; STRICT_CRC32 write crc32, do not allow other algorithms to match when reading; INNODB write a software calculated checksum, allow any other checksums to match when reading; STRICT_INNODB write a software calculated checksum, do not allow other algorithms to match when reading; NONE write a constant magic number, do not do any checksum verification when reading (same as innodb_checksums=OFF); STRICT_NONE write a constant magic number, do not allow values other than that magic number when reading; Logs created when this option is set to crc32/strict_crc32/none/strict_none will not be readable by any MySQL version or Percona Server versions that donot support this feature
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST CRC32,STRICT_CRC32,INNODB,STRICT_INNODB,NONE,STRICT_NONE
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
+ SESSION_VALUE NULL
+ GLOBAL_VALUE ON
+@@ -1425,7 +1705,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 2
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of log files in the log group. InnoDB writes to the files in a circular fashion.
+ NUMERIC_MIN_VALUE 2
+ NUMERIC_MAX_VALUE 100
+@@ -1467,9 +1747,37 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT How deep to scan LRU to keep it clean
+ NUMERIC_MIN_VALUE 100
++NUMERIC_MAX_VALUE 4294967295
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_MAX_BITMAP_FILE_SIZE
++SESSION_VALUE NULL
++GLOBAL_VALUE 104857600
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 104857600
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT The maximum size of changed page bitmap files
++NUMERIC_MIN_VALUE 4096
++NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_MAX_CHANGED_PAGES
++SESSION_VALUE NULL
++GLOBAL_VALUE 1000000
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 1000000
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT The maximum number of rows for INFORMATION_SCHEMA.INNODB_CHANGED_PAGES table, 0 - unlimited
++NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 18446744073709551615
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+@@ -1509,10 +1817,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Desired maximum length of the purge queue (0 = no limit)
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1523,7 +1831,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum delay of user threads in micro-seconds
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 10000000
+@@ -1537,7 +1845,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of identical copies of log groups we keep for the database. Currently this should be set to 1.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 10
+@@ -1607,7 +1915,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of multi-threaded flush threads
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 64
+@@ -1659,14 +1967,14 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_OPEN_FILES
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 2000
++GLOBAL_VALUE 300
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT How many files at the maximum InnoDB keeps open at the same time.
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 9223372036854775807
++NUMERIC_MAX_VALUE 2147483647
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+@@ -1691,7 +1999,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 16
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of rw_locks protecting buffer pool page_hash. Rounded up to the next power of 2
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1024
+@@ -1705,7 +2013,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 16384
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Page size to use for all InnoDB tablespaces.
+ NUMERIC_MIN_VALUE 4096
+ NUMERIC_MAX_VALUE 65536
+@@ -1741,13 +2049,83 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Print lock wait timeout info to MySQL error log (off by default)
++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_PRIORITY_CLEANER
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make buffer pool cleaner and LRU manager threads acquire shared resources with priority
++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_PRIORITY_IO
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make I/O threads acquire shared resources with priority
++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_PRIORITY_MASTER
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make buffer pool cleaner thread acquire shared resources with priority
++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_PRIORITY_PURGE
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make purge coordinator and worker threads acquire shared resources with priority
++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_PURGE_BATCH_SIZE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 300
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 300
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of UNDO log pages to purge in one batch from the history list.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 5000
+@@ -1789,7 +2167,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Purge threads can be from 1 to 32. Default is 1.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 32
+@@ -1817,7 +2195,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 56
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 64
+@@ -1831,7 +2209,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of background read I/O threads in InnoDB.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 64
+@@ -1859,10 +2237,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Replication thread delay (ms) on the slave server if innodb_thread_concurrency is reached (0 by default)
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1887,7 +2265,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 128
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of undo logs to use (deprecated).
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 128
+@@ -1901,7 +2279,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT An InnoDB page number.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -1909,6 +2287,48 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_SCHED_PRIORITY_IO
++SESSION_VALUE NULL
++GLOBAL_VALUE 19
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 19
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Nice value for the I/O handler thread scheduling
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 39
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_SCHED_PRIORITY_MASTER
++SESSION_VALUE NULL
++GLOBAL_VALUE 19
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 19
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Nice value for the master thread scheduling
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 39
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_SCHED_PRIORITY_PURGE
++SESSION_VALUE NULL
++GLOBAL_VALUE 19
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 19
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Nice value for the purge thread scheduling
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 39
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_SCRUB_LOG
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -1937,6 +2357,34 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_SHOW_LOCKS_HELD
++SESSION_VALUE NULL
++GLOBAL_VALUE 10
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 10
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Number of locks held to print for each InnoDB transaction in SHOW INNODB STATUS.
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 1000
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_SHOW_VERBOSE_LOCKS
++SESSION_VALUE NULL
++GLOBAL_VALUE 0
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 0
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE INT UNSIGNED
++VARIABLE_COMMENT Whether to show records locked in SHOW INNODB STATUS.
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 1
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_SIMULATE_COMP_FAILURES
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 0
+@@ -1957,7 +2405,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1048576
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Memory buffer size for index creation
+ NUMERIC_MIN_VALUE 65536
+ NUMERIC_MAX_VALUE 67108864
+@@ -1971,10 +2419,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 6
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum delay between polling for a spin lock (6 by default)
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2014,7 +2462,7 @@
+ DEFAULT_VALUE nulls_equal
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE ENUM
+-VARIABLE_COMMENT Specifies how InnoDB index statistics collection code should treat NULLs. Possible values are NULLS_EQUAL (default), NULLS_UNEQUAL and NULLS_IGNORED
++VARIABLE_COMMENT Specifies how InnoDB index statistics collection code should treat NULLs
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+@@ -2181,7 +2629,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Size of the mutex/lock wait array.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1024
+@@ -2195,10 +2643,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 30
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Count of spin-loop rounds in InnoDB mutexes (30 by default)
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2223,7 +2671,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments. Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000
+@@ -2237,7 +2685,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000000
+@@ -2259,6 +2707,34 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_TRACK_CHANGED_PAGES
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Track the redo log for changed pages and output a changed page bitmap
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT NONE
++VARIABLE_NAME INNODB_TRACK_REDO_LOG_NOW
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Force log tracker to catch up with checkpoint now
++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_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -2307,7 +2783,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 128
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of undo logs to use.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 128
+@@ -2321,7 +2797,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of undo tablespaces to use.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 126
+@@ -2336,7 +2812,7 @@
+ DEFAULT_VALUE OFF
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BOOLEAN
+-VARIABLE_COMMENT Prevent partial page writes, via atomic writes.The option is used to prevent partial writes in case of a crash/poweroff, as faster alternative to doublewrite buffer.Currently this option works only on Linux only with FusionIO device, and directFS filesystem.
++VARIABLE_COMMENT Prevent partial page writes, via atomic writes (beta). The option is used to prevent partial writes in case of a crash/poweroff, as faster alternative to doublewrite buffer. Currently this option works only on Linux only with FusionIO device, and directFS filesystem.
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+@@ -2357,6 +2833,20 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
++VARIABLE_NAME INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT
++SESSION_VALUE NULL
++GLOBAL_VALUE ON
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE ON
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Use global innodb_flush_log_at_trx_commit value. (default: ON).
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_USE_MTFLUSH
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -2371,6 +2861,20 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
++VARIABLE_NAME INNODB_USE_STACKTRACE
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Print stacktrace on long semaphore wait (off by default supported only on linux)
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_USE_SYS_MALLOC
+ SESSION_VALUE NULL
+ GLOBAL_VALUE ON
+@@ -2401,12 +2905,12 @@
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_VERSION
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 5.6.44
++GLOBAL_VALUE 5.6.43-84.3
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE NULL
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE VARCHAR
+-VARIABLE_COMMENT InnoDB version
++VARIABLE_COMMENT Percona-InnoDB-plugin version
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+@@ -2419,7 +2923,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of background write I/O threads in InnoDB.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 64
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff
new file mode 100644
index 00000000000..55101ef8ef8
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff
@@ -0,0 +1,575 @@
+--- suite/sys_vars/r/sysvars_innodb.result
++++ suite/sys_vars/r/sysvars_innodb,32bit.reject
+@@ -53,7 +53,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 150000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The upper limit of the sleep delay in usec. Value of 0 disables it.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000000
+@@ -67,10 +67,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8388608
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator. Size of a memory pool InnoDB uses to store data dictionary information and other internal data structures.
+ NUMERIC_MIN_VALUE 524288
+-NUMERIC_MAX_VALUE 9223372036854775807
++NUMERIC_MAX_VALUE 2147483647
+ NUMERIC_BLOCK_SIZE 1024
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+@@ -81,7 +81,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 5
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Background commit interval in seconds
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1073741824
+@@ -137,7 +137,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB API transaction isolation level
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 3
+@@ -151,7 +151,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 64
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Data file autoextend increment in megabytes
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1000
+@@ -165,7 +165,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ 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
+@@ -263,7 +263,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Dump only the hottest N% of each buffer pool, defaults to 100
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 100
+@@ -305,7 +305,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of buffer pool instances, set to higher value on high-end machines to increase scalability
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 64
+@@ -375,7 +375,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -487,7 +487,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000
+@@ -515,7 +515,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 5
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -543,7 +543,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -557,10 +557,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 5000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket
+ NUMERIC_MIN_VALUE 1
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -781,7 +781,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 120
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of pages reserved in doublewrite buffer for batch flushing
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 127
+@@ -865,7 +865,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Speeds up the shutdown process of the InnoDB storage engine. Possible values are 0, 1 (faster) or 2 (fastest - crash-like).
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 2
+@@ -879,7 +879,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 600
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of seconds that semaphore times out in InnoDB.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -949,7 +949,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Make the first page of the given tablespace dirty.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -963,7 +963,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 30
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of iterations over which the background flushing is averaged.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1000
+@@ -991,7 +991,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -1019,7 +1019,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -1061,7 +1061,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Helps to save your data in case the disk image of the database becomes corrupt.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 6
+@@ -1089,7 +1089,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8000000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search cache size in bytes
+ NUMERIC_MIN_VALUE 1600000
+ NUMERIC_MAX_VALUE 80000000
+@@ -1131,7 +1131,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 84
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search maximum token size in characters
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 84
+@@ -1145,7 +1145,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 3
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search minimum token size in characters
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16
+@@ -1159,7 +1159,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search number of words to optimize for each optimize table call
+ NUMERIC_MIN_VALUE 1000
+ NUMERIC_MAX_VALUE 10000
+@@ -1173,10 +1173,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2000000000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT InnoDB Fulltext search query result cache limit in bytes
+ NUMERIC_MIN_VALUE 1000000
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1201,7 +1201,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ 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
+@@ -1215,7 +1215,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 640000000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Total memory allocated for InnoDB Fulltext Search cache
+ NUMERIC_MIN_VALUE 32000000
+ NUMERIC_MAX_VALUE 1600000000
+@@ -1243,7 +1243,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Up to what percentage of dirty pages should be flushed when innodb finds it has spare resources to do so.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 100
+@@ -1285,10 +1285,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 200
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of IOPs the server can do. Tunes the background IO rate
+ NUMERIC_MIN_VALUE 100
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1297,12 +1297,12 @@
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 2000
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 18446744073709551615
++DEFAULT_VALUE 4294967295
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Limit to which innodb_io_capacity can be inflated.
+ NUMERIC_MIN_VALUE 100
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1369,7 +1369,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1073741824
+@@ -1383,10 +1383,10 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 16777216
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT The size of the buffer which InnoDB uses to write log to the log files on disk.
+ NUMERIC_MIN_VALUE 262144
+-NUMERIC_MAX_VALUE 9223372036854775807
++NUMERIC_MAX_VALUE 2147483647
+ NUMERIC_BLOCK_SIZE 1024
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+@@ -1425,7 +1425,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 2
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of log files in the log group. InnoDB writes to the files in a circular fashion.
+ NUMERIC_MIN_VALUE 2
+ NUMERIC_MAX_VALUE 100
+@@ -1467,10 +1467,10 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT How deep to scan LRU to keep it clean
+ NUMERIC_MIN_VALUE 100
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1509,10 +1509,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Desired maximum length of the purge queue (0 = no limit)
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1523,7 +1523,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum delay of user threads in micro-seconds
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 10000000
+@@ -1537,7 +1537,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of identical copies of log groups we keep for the database. Currently this should be set to 1.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 10
+@@ -1607,7 +1607,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of multi-threaded flush threads
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 64
+@@ -1663,10 +1663,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT How many files at the maximum InnoDB keeps open at the same time.
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 9223372036854775807
++NUMERIC_MAX_VALUE 2147483647
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+@@ -1691,7 +1691,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 16
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of rw_locks protecting buffer pool page_hash. Rounded up to the next power of 2
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1024
+@@ -1705,7 +1705,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 16384
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Page size to use for all InnoDB tablespaces.
+ NUMERIC_MIN_VALUE 4096
+ NUMERIC_MAX_VALUE 65536
+@@ -1747,7 +1747,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 300
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of UNDO log pages to purge in one batch from the history list.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 5000
+@@ -1789,7 +1789,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Purge threads can be from 1 to 32. Default is 1.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 32
+@@ -1817,7 +1817,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 56
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 64
+@@ -1831,7 +1831,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of background read I/O threads in InnoDB.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 64
+@@ -1859,10 +1859,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Replication thread delay (ms) on the slave server if innodb_thread_concurrency is reached (0 by default)
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1887,7 +1887,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 128
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of undo logs to use (deprecated).
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 128
+@@ -1901,7 +1901,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT An InnoDB page number.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -1957,7 +1957,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1048576
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Memory buffer size for index creation
+ NUMERIC_MIN_VALUE 65536
+ NUMERIC_MAX_VALUE 67108864
+@@ -1971,10 +1971,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 6
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum delay between polling for a spin lock (6 by default)
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2181,7 +2181,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Size of the mutex/lock wait array.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1024
+@@ -2195,10 +2195,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 30
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Count of spin-loop rounds in InnoDB mutexes (30 by default)
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 0
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2223,7 +2223,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments. Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000
+@@ -2237,7 +2237,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000000
+@@ -2307,7 +2307,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 128
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of undo logs to use.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 128
+@@ -2321,7 +2321,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of undo tablespaces to use.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 126
+@@ -2419,7 +2419,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of background write I/O threads in InnoDB.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 64
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff
new file mode 100644
index 00000000000..195eda13c52
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff
@@ -0,0 +1,697 @@
+--- mysql-test/suite/sys_vars/r/sysvars_innodb.result 2018-07-30 23:41:05.030930072 +0200
++++ mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.reject 2018-07-31 09:45:20.330811949 +0200
+@@ -47,6 +47,20 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_ADAPTIVE_HASH_INDEX_PARTITIONS
++SESSION_VALUE NULL
++GLOBAL_VALUE 1
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 1
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Number of InnoDB adaptive hash index partitions (default 1: disable partitioning)
++NUMERIC_MIN_VALUE 1
++NUMERIC_MAX_VALUE 64
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_ADAPTIVE_MAX_SLEEP_DELAY
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 150000
+@@ -355,6 +369,20 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_BUFFER_POOL_POPULATE
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Deprecated. This option has no effect and will be removed in MariaDB 10.2.3.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_BUFFER_POOL_SIZE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 8388608
+@@ -446,7 +474,7 @@
+ DEFAULT_VALUE ON
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BOOLEAN
+-VARIABLE_COMMENT DEPRECATED. Use innodb_checksum_algorithm=NONE instead of setting this to OFF. Enable InnoDB checksums validation (enabled by default). Disable with --skip-innodb-checksums.
++VARIABLE_COMMENT DEPRECATED. Use innodb_checksum_algorithm=NONE instead of setting this to OFF
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+@@ -467,6 +495,104 @@
+ ENUM_VALUE_LIST CRC32,STRICT_CRC32,INNODB,STRICT_INNODB,NONE,STRICT_NONE
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_EVICTION_FACTOR
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make page cleaner LRU flushes use evicted instead of flushed page counts for its heuristics
++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_CLEANER_FLUSH_CHUNK_SIZE
++SESSION_VALUE NULL
++GLOBAL_VALUE 100
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 100
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Divide page cleaner flush list flush batches into chunks of this size
++NUMERIC_MIN_VALUE 1
++NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_FREE_LIST_LWM
++SESSION_VALUE NULL
++GLOBAL_VALUE 10
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 10
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Page cleaner will keep on flushing the same buffer pool instance if its free list length is below this percentage of innodb_lru_scan_depth
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 100
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_LRU_CHUNK_SIZE
++SESSION_VALUE NULL
++GLOBAL_VALUE 100
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 100
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Divide page cleaner LRU list flush batches into chunks of this size
++NUMERIC_MIN_VALUE 1
++NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_LSN_AGE_FACTOR
++SESSION_VALUE NULL
++GLOBAL_VALUE HIGH_CHECKPOINT
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE HIGH_CHECKPOINT
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT The formula for LSN age factor for page cleaner adaptive flushing. LEGACY: Original Oracle MySQL 5.6 formula. HIGH_CHECKPOINT: (the default) Percona Server 5.6 formula.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST LEGACY,HIGH_CHECKPOINT
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_CLEANER_MAX_FLUSH_TIME
++SESSION_VALUE NULL
++GLOBAL_VALUE 1000
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 1000
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT The maximum time limit for a single flush list flush iteration by the page cleaner thread in miliseconds
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CLEANER_MAX_LRU_TIME
++SESSION_VALUE NULL
++GLOBAL_VALUE 1000
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 1000
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT The maximum time limit for a single LRU tail flush iteration by the page cleaner thread in miliseconds
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_CMP_PER_INDEX_ENABLED
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -565,6 +691,20 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_CORRUPT_TABLE_ACTION
++SESSION_VALUE NULL
++GLOBAL_VALUE assert
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE assert
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT Warn corruptions of user tables as 'corrupt table' instead of not crashing itself, when used with file_per_table. All file io for the datafile after detected as corrupt are disabled, except for the deletion.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST assert,warn,salvage
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_DATA_FILE_PATH
+ SESSION_VALUE NULL
+ GLOBAL_VALUE ibdata1:12M:autoextend
+@@ -789,6 +929,20 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_EMPTY_FREE_LIST_ALGORITHM
++SESSION_VALUE NULL
++GLOBAL_VALUE LEGACY
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE BACKOFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT The algorithm to use for empty free list handling. Allowed values: LEGACY: Original Oracle MySQL 5.6 handling with single page flushes; BACKOFF: (default) Wait until cleaner produces a free page.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST LEGACY,BACKOFF
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_ENCRYPTION_ROTATE_KEY_AGE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 1
+@@ -859,6 +1013,20 @@
+ ENUM_VALUE_LIST OFF,ON,FORCE
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_FAKE_CHANGES
++SESSION_VALUE OFF
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE SESSION
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT In the transaction after enabled, UPDATE, INSERT and DELETE only move the cursor to the records and do nothing other operations (no changes, no ibuf, no undo, no transaction log) in the transaction. This is to cause replication prefetch IO. ATTENTION: the transaction started after enabled is affected.
++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_FAST_SHUTDOWN
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 1
+@@ -986,11 +1154,11 @@
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_FLUSH_LOG_AT_TRX_COMMIT
+-SESSION_VALUE NULL
++SESSION_VALUE 1
+ GLOBAL_VALUE 1
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+-VARIABLE_SCOPE GLOBAL
++VARIABLE_SCOPE SESSION
+ VARIABLE_TYPE BIGINT UNSIGNED
+ 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
+@@ -1069,6 +1237,20 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_FOREGROUND_PREFLUSH
++SESSION_VALUE NULL
++GLOBAL_VALUE EXPONENTIAL_BACKOFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE EXPONENTIAL_BACKOFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT The algorithm InnoDB uses for the query threads at sync preflush. Possible values are SYNC_PREFLUSH: perform a sync preflush as Oracle MySQL; EXPONENTIAL_BACKOFF: (default) wait for the page cleaner flush.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST SYNC_PREFLUSH,EXPONENTIAL_BACKOFF
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_FT_AUX_TABLE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE
+@@ -1307,6 +1489,20 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_KILL_IDLE_TRANSACTION
++SESSION_VALUE NULL
++GLOBAL_VALUE 0
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 0
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT
++VARIABLE_COMMENT No effect for this build.
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 9223372036854775807
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_LARGE_PREFIX
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -1335,6 +1531,20 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_LOCKING_FAKE_CHANGES
++SESSION_VALUE NULL
++GLOBAL_VALUE ON
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE ON
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT ###EXPERIMENTAL### if enabled, transactions will get S row locks instead of X locks for fake changes. If disabled, fake change transactions will not take any locks at all.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_LOCKS_UNSAFE_FOR_BINLOG
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -1377,6 +1587,62 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_LOG_ARCHIVE
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Set to 1 if you want to have logs archived.
++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_LOG_ARCH_DIR
++SESSION_VALUE NULL
++GLOBAL_VALUE PATH
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE VARCHAR
++VARIABLE_COMMENT Where full logs should be archived.
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST NULL
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_LOG_ARCH_EXPIRE_SEC
++SESSION_VALUE NULL
++GLOBAL_VALUE 0
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 0
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Expiration time for archived innodb transaction logs.
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_LOG_BLOCK_SIZE
++SESSION_VALUE NULL
++GLOBAL_VALUE 512
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 512
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT ###EXPERIMENTAL###: The log block size of the transaction log file. Changing for created log file is not supported. Use on your own risk!
++NUMERIC_MIN_VALUE 512
++NUMERIC_MAX_VALUE 65536
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_LOG_BUFFER_SIZE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 1048576
+@@ -1405,6 +1671,20 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_LOG_CHECKSUM_ALGORITHM
++SESSION_VALUE NULL
++GLOBAL_VALUE INNODB
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE INNODB
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE ENUM
++VARIABLE_COMMENT The algorithm InnoDB uses for log block checksums. Possible values are CRC32 (hardware accelerated if the CPU supports it) write crc32, allow any of the other checksums to match when reading; STRICT_CRC32 write crc32, do not allow other algorithms to match when reading; INNODB write a software calculated checksum, allow any other checksums to match when reading; STRICT_INNODB write a software calculated checksum, do not allow other algorithms to match when reading; NONE write a constant magic number, do not do any checksum verification when reading (same as innodb_checksums=OFF); STRICT_NONE write a constant magic number, do not allow values other than that magic number when reading; Logs created when this option is set to crc32/strict_crc32/none/strict_none will not be readable by any MySQL version or Percona Server versions that donot support this feature
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST CRC32,STRICT_CRC32,INNODB,STRICT_INNODB,NONE,STRICT_NONE
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
+ SESSION_VALUE NULL
+ GLOBAL_VALUE ON
+@@ -1475,6 +1755,34 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_MAX_BITMAP_FILE_SIZE
++SESSION_VALUE NULL
++GLOBAL_VALUE 104857600
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 104857600
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT The maximum size of changed page bitmap files
++NUMERIC_MIN_VALUE 4096
++NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_MAX_CHANGED_PAGES
++SESSION_VALUE NULL
++GLOBAL_VALUE 1000000
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 1000000
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT The maximum number of rows for INFORMATION_SCHEMA.INNODB_CHANGED_PAGES table, 0 - unlimited
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_MAX_DIRTY_PAGES_PCT
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 75.000000
+@@ -1659,7 +1967,7 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_OPEN_FILES
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 2000
++GLOBAL_VALUE 300
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+@@ -1741,6 +2049,76 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Print lock wait timeout info to MySQL error log (off by default)
++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_PRIORITY_CLEANER
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make buffer pool cleaner and LRU manager threads acquire shared resources with priority
++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_PRIORITY_IO
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make I/O threads acquire shared resources with priority
++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_PRIORITY_MASTER
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make buffer pool cleaner thread acquire shared resources with priority
++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_PRIORITY_PURGE
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Make purge coordinator and worker threads acquire shared resources with priority
++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_PURGE_BATCH_SIZE
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 300
+@@ -1909,6 +2287,48 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_SCHED_PRIORITY_IO
++SESSION_VALUE NULL
++GLOBAL_VALUE 19
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 19
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Nice value for the I/O handler thread scheduling
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 39
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_SCHED_PRIORITY_MASTER
++SESSION_VALUE NULL
++GLOBAL_VALUE 19
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 19
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Nice value for the master thread scheduling
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 39
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_SCHED_PRIORITY_PURGE
++SESSION_VALUE NULL
++GLOBAL_VALUE 19
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 19
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Nice value for the purge thread scheduling
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 39
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_SCRUB_LOG
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -1937,6 +2357,34 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_SHOW_LOCKS_HELD
++SESSION_VALUE NULL
++GLOBAL_VALUE 10
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 10
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Number of locks held to print for each InnoDB transaction in SHOW INNODB STATUS.
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 1000
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT REQUIRED
++VARIABLE_NAME INNODB_SHOW_VERBOSE_LOCKS
++SESSION_VALUE NULL
++GLOBAL_VALUE 0
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE 0
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_COMMENT Whether to show records locked in SHOW INNODB STATUS.
++NUMERIC_MIN_VALUE 0
++NUMERIC_MAX_VALUE 1
++NUMERIC_BLOCK_SIZE 0
++ENUM_VALUE_LIST NULL
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_SIMULATE_COMP_FAILURES
+ SESSION_VALUE NULL
+ GLOBAL_VALUE 0
+@@ -2014,7 +2462,7 @@
+ DEFAULT_VALUE nulls_equal
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE ENUM
+-VARIABLE_COMMENT Specifies how InnoDB index statistics collection code should treat NULLs. Possible values are NULLS_EQUAL (default), NULLS_UNEQUAL and NULLS_IGNORED
++VARIABLE_COMMENT Specifies how InnoDB index statistics collection code should treat NULLs
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+@@ -2259,6 +2707,34 @@
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
++VARIABLE_NAME INNODB_TRACK_CHANGED_PAGES
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Track the redo log for changed pages and output a changed page bitmap
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT NONE
++VARIABLE_NAME INNODB_TRACK_REDO_LOG_NOW
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Force log tracker to catch up with checkpoint now
++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_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -2336,7 +2812,7 @@
+ DEFAULT_VALUE OFF
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BOOLEAN
+-VARIABLE_COMMENT Prevent partial page writes, via atomic writes.The option is used to prevent partial writes in case of a crash/poweroff, as faster alternative to doublewrite buffer.Currently this option works only on Linux only with FusionIO device, and directFS filesystem.
++VARIABLE_COMMENT Prevent partial page writes, via atomic writes (beta). The option is used to prevent partial writes in case of a crash/poweroff, as faster alternative to doublewrite buffer. Currently this option works only on Linux only with FusionIO device, and directFS filesystem.
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+@@ -2357,6 +2833,20 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
++VARIABLE_NAME INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT
++SESSION_VALUE NULL
++GLOBAL_VALUE ON
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE ON
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Use global innodb_flush_log_at_trx_commit value. (default: ON).
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_USE_MTFLUSH
+ SESSION_VALUE NULL
+ GLOBAL_VALUE OFF
+@@ -2371,6 +2861,20 @@
+ ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
++VARIABLE_NAME INNODB_USE_STACKTRACE
++SESSION_VALUE NULL
++GLOBAL_VALUE OFF
++GLOBAL_VALUE_ORIGIN COMPILE-TIME
++DEFAULT_VALUE OFF
++VARIABLE_SCOPE GLOBAL
++VARIABLE_TYPE BOOLEAN
++VARIABLE_COMMENT Print stacktrace on long semaphore wait (off by default supported only on linux)
++NUMERIC_MIN_VALUE NULL
++NUMERIC_MAX_VALUE NULL
++NUMERIC_BLOCK_SIZE NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_USE_SYS_MALLOC
+ SESSION_VALUE NULL
+ GLOBAL_VALUE ON
+@@ -2401,12 +2905,12 @@
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_VERSION
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 5.6.44
++GLOBAL_VALUE 5.6.43-84.3
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE NULL
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE VARCHAR
+-VARIABLE_COMMENT InnoDB version
++VARIABLE_COMMENT Percona-InnoDB-plugin version
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
new file mode 100644
index 00000000000..7d18ab15085
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
@@ -0,0 +1,2429 @@
+select * from information_schema.system_variables
+where variable_name like 'innodb%' and
+variable_name not in (
+'innodb_disallow_writes', # only available WITH_WSREP
+'innodb_sched_priority_cleaner', # linux only
+'innodb_use_native_aio') # default value depends on OS
+order by variable_name;
+VARIABLE_NAME INNODB_ADAPTIVE_FLUSHING
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Attempt flushing dirty pages to avoid IO bursts at checkpoints.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_ADAPTIVE_FLUSHING_LWM
+SESSION_VALUE NULL
+GLOBAL_VALUE 10.000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10.000000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT Percentage of log capacity below which no adaptive flushing happens.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 70
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_ADAPTIVE_HASH_INDEX
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable InnoDB adaptive hash index (enabled by default). Disable with --skip-innodb-adaptive-hash-index.
+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_ADAPTIVE_MAX_SLEEP_DELAY
+SESSION_VALUE NULL
+GLOBAL_VALUE 150000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 150000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The upper limit of the sleep delay in usec. Value of 0 disables it.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_ADDITIONAL_MEM_POOL_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 8388608
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8388608
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator. Size of a memory pool InnoDB uses to store data dictionary information and other internal data structures.
+NUMERIC_MIN_VALUE 524288
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_API_BK_COMMIT_INTERVAL
+SESSION_VALUE NULL
+GLOBAL_VALUE 5
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 5
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Background commit interval in seconds
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_API_DISABLE_ROWLOCK
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disable row lock when direct access InnoDB through InnoDB APIs
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_API_ENABLE_BINLOG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable binlog for applications direct access InnoDB through InnoDB APIs
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_API_ENABLE_MDL
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable MDL for applications direct access InnoDB through InnoDB APIs
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_API_TRX_LEVEL
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT InnoDB API transaction isolation level
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 3
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_AUTOEXTEND_INCREMENT
+SESSION_VALUE NULL
+GLOBAL_VALUE 64
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 64
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Data file autoextend increment in megabytes
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_AUTOINC_LOCK_MODE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+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
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BACKGROUND_SCRUB_DATA_CHECK_INTERVAL
+SESSION_VALUE NULL
+GLOBAL_VALUE 3600
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 3600
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT check if spaces needs scrubbing every innodb_background_scrub_data_check_interval seconds
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BACKGROUND_SCRUB_DATA_COMPRESSED
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable scrubbing of compressed data by background threads (same as encryption_threads)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BACKGROUND_SCRUB_DATA_INTERVAL
+SESSION_VALUE NULL
+GLOBAL_VALUE 604800
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 604800
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT scrub spaces that were last scrubbed longer than innodb_background_scrub_data_interval seconds ago
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BACKGROUND_SCRUB_DATA_UNCOMPRESSED
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable scrubbing of uncompressed data by background threads (same as encryption_threads)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_DUMP_AT_SHUTDOWN
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Dump the buffer pool into a file named @@innodb_buffer_pool_filename
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_DUMP_NOW
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Trigger an immediate dump of the buffer pool into a file named @@innodb_buffer_pool_filename
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_DUMP_PCT
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Dump only the hottest N% of each buffer pool, defaults to 100
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 100
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_EVICT
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Evict pages from the buffer pool
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_FILENAME
+SESSION_VALUE NULL
+GLOBAL_VALUE ib_buffer_pool
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ib_buffer_pool
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Filename to/from which to dump/load the InnoDB buffer pool
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 8
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of buffer pool instances, set to higher value on high-end machines to increase scalability
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 64
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_LOAD_ABORT
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Abort a currently running load of the buffer pool
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_LOAD_AT_STARTUP
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Load the buffer pool from a file named @@innodb_buffer_pool_filename
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_LOAD_NOW
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Trigger an immediate load of the buffer pool from a file named @@innodb_buffer_pool_filename
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 8388608
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 134217728
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT The size of the memory buffer InnoDB uses to cache data and indexes of its tables.
+NUMERIC_MIN_VALUE 5242880
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 1048576
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUF_DUMP_STATUS_FREQUENCY
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+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
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUF_FLUSH_LIST_NOW
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Force dirty page flush now
+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_CHANGE_BUFFERING
+SESSION_VALUE NULL
+GLOBAL_VALUE all
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE all
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Buffer changes to reduce random access: OFF, ON, inserting, deleting, changing, or purging.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_CHANGE_BUFFERING_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Debug flags for InnoDB change buffering (0=none, 2=crash at merge)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 2
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_CHANGE_BUFFER_MAX_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 25
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 25
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Maximum on-disk size of change buffer in terms of percentage of the buffer pool.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 50
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_CHECKSUMS
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT DEPRECATED. Use innodb_checksum_algorithm=NONE instead of setting this to OFF. Enable InnoDB checksums validation (enabled by default). Disable with --skip-innodb-checksums.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_CHECKSUM_ALGORITHM
+SESSION_VALUE NULL
+GLOBAL_VALUE INNODB
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE INNODB
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The algorithm InnoDB uses for page checksumming. Possible values are CRC32 (hardware accelerated if the CPU supports it) write crc32, allow any of the other checksums to match when reading; STRICT_CRC32 write crc32, do not allow other algorithms to match when reading; INNODB write a software calculated checksum, allow any other checksums to match when reading; STRICT_INNODB write a software calculated checksum, do not allow other algorithms to match when reading; NONE write a constant magic number, do not do any checksum verification when reading (same as innodb_checksums=OFF); STRICT_NONE write a constant magic number, do not allow values other than that magic number when reading; Files updated when this option is set to crc32 or strict_crc32 will not be readable by MySQL versions older than 5.6.3
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST CRC32,STRICT_CRC32,INNODB,STRICT_INNODB,NONE,STRICT_NONE
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_CMP_PER_INDEX_ENABLED
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable INFORMATION_SCHEMA.innodb_cmp_per_index, may have negative impact on performance (off by default)
+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_COMMIT_CONCURRENCY
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_COMPRESSION_ALGORITHM
+SESSION_VALUE NULL
+GLOBAL_VALUE zlib
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE zlib
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Compression algorithm used on page compression. One of: none, zlib, lz4, lzo, lzma, or bzip2
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST none,zlib,lz4,lzo,lzma,bzip2,snappy
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_COMPRESSION_FAILURE_THRESHOLD_PCT
+SESSION_VALUE NULL
+GLOBAL_VALUE 5
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 5
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+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
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_COMPRESSION_LEVEL
+SESSION_VALUE NULL
+GLOBAL_VALUE 6
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 6
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Compression level used for zlib compression. 0 is no compression, 1 is fastest, 9 is best compression and default is 6.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 9
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_COMPRESSION_PAD_PCT_MAX
+SESSION_VALUE NULL
+GLOBAL_VALUE 50
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 50
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+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
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_CONCURRENCY_TICKETS
+SESSION_VALUE NULL
+GLOBAL_VALUE 5000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 5000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DATA_FILE_PATH
+SESSION_VALUE NULL
+GLOBAL_VALUE ibdata1:12M:autoextend
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Path to individual files and their sizes.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DATA_FILE_SIZE_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT InnoDB system tablespace size to be set in recovery.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DATA_HOME_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The common part for InnoDB table spaces.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DEBUG_FORCE_SCRUBBING
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Perform extra scrubbing to increase test exposure
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DEFAULT_ENCRYPTION_KEY_ID
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Default encryption key id used for table encryption.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DEFAULT_ROW_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE compact
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE compact
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The default ROW FORMAT for all innodb tables created without explicit ROW_FORMAT. Possible values are REDUNDANT, COMPACT, and DYNAMIC. The ROW_FORMAT value COMPRESSED is not allowed
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST redundant,compact,dynamic
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DEFRAGMENT
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable/disable InnoDB defragmentation (default FALSE). When set to FALSE, all existing defragmentation will be paused. And new defragmentation command will fail.Paused defragmentation commands will resume when this variable is set to true again.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DEFRAGMENT_FILL_FACTOR
+SESSION_VALUE NULL
+GLOBAL_VALUE 0.900000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0.900000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT A number between [0.7, 1] that tells defragmentation how full it should fill a page. Default is 0.9. Number below 0.7 won't make much sense.This variable, together with innodb_defragment_fill_factor_n_recs, is introduced so defragmentation won't pack the page too full and cause page split on the next insert on every page. The variable indicating more defragmentation gain is the one effective.
+NUMERIC_MIN_VALUE 0.7
+NUMERIC_MAX_VALUE 1
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DEFRAGMENT_FILL_FACTOR_N_RECS
+SESSION_VALUE NULL
+GLOBAL_VALUE 20
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 20
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT How many records of space defragmentation should leave on the page. This variable, together with innodb_defragment_fill_factor, is introduced so defragmentation won't pack the page too full and cause page split on the next insert on every page. The variable indicating more defragmentation gain is the one effective.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 100
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DEFRAGMENT_FREQUENCY
+SESSION_VALUE NULL
+GLOBAL_VALUE 40
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 40
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Do not defragment a single index more than this number of time per second.This controls the number of time defragmentation thread can request X_LOCK on an index. Defragmentation thread will check whether 1/defragment_frequency (s) has passed since it worked on this index last time, and put the index back to the queue if not enough time has passed. The actual frequency can only be lower than this given number.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DEFRAGMENT_N_PAGES
+SESSION_VALUE NULL
+GLOBAL_VALUE 7
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 7
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Number of pages considered at once when merging multiple pages to defragment
+NUMERIC_MIN_VALUE 2
+NUMERIC_MAX_VALUE 32
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DEFRAGMENT_STATS_ACCURACY
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT How many defragment stats changes there are before the stats are written to persistent storage. Set to 0 meaning disable defragment stats tracking.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DISABLE_BACKGROUND_MERGE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disable change buffering merges by the master thread
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_DISABLE_SORT_FILE_CACHE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether to disable OS system file cache for sort I/O
+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_DOUBLEWRITE
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable InnoDB doublewrite buffer (enabled by default). Disable with --skip-innodb-doublewrite.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_DOUBLEWRITE_BATCH_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 120
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 120
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of pages reserved in doublewrite buffer for batch flushing
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 127
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_ENCRYPTION_ROTATE_KEY_AGE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Key rotation - re-encrypt in background all pages that were encrypted with a key that many (or more) versions behind. Value 0 indicates that key rotation is disabled.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_ENCRYPTION_ROTATION_IOPS
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Use this many iops for background key rotation
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_ENCRYPTION_THREADS
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Number of threads performing background key rotation and scrubbing
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_ENCRYPT_LOG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable redo log encryption
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_ENCRYPT_TABLES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Enable encryption for tables. Don't forget to enable --innodb-encrypt-log too
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON,FORCE
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_FAST_SHUTDOWN
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Speeds up the shutdown process of the InnoDB storage engine. Possible values are 0, 1 (faster) or 2 (fastest - crash-like).
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 2
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_FATAL_SEMAPHORE_WAIT_THRESHOLD
+SESSION_VALUE NULL
+GLOBAL_VALUE 600
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 600
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of seconds that semaphore times out in InnoDB.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FILE_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE Antelope
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE Antelope
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT File format to use for new tables in .ibd files.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FILE_FORMAT_CHECK
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether to perform system file format check.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_FILE_FORMAT_MAX
+SESSION_VALUE NULL
+GLOBAL_VALUE Antelope
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE Antelope
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The highest file format in the tablespace.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_FILE_PER_TABLE
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Stores each InnoDB table to an .ibd file in the database dir.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Make the first page of the given tablespace dirty.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_FLUSHING_AVG_LOOPS
+SESSION_VALUE NULL
+GLOBAL_VALUE 30
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 30
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of iterations over which the background flushing is averaged.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FLUSH_LOG_AT_TIMEOUT
+SESSION_VALUE NULL
+GLOBAL_VALUE 3
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Write and flush logs every (n) second.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 2700
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_FLUSH_LOG_AT_TRX_COMMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+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
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_FLUSH_METHOD
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT With which method to flush data.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FLUSH_NEIGHBORS
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+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
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_FORCE_LOAD_CORRUPTED
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Force InnoDB to load metadata of corrupted table.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_FORCE_PRIMARY_KEY
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Do not allow to create table without primary key (off by default)
+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_FORCE_RECOVERY
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Helps to save your data in case the disk image of the database becomes corrupt.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 6
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FT_AUX_TABLE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT FTS internal auxiliary table to be checked
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_FT_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 8000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8000000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT InnoDB Fulltext search cache size in bytes
+NUMERIC_MIN_VALUE 1600000
+NUMERIC_MAX_VALUE 80000000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FT_ENABLE_DIAG_PRINT
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether to enable additional FTS diagnostic printout
+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_FT_ENABLE_STOPWORD
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Create FTS index with stopword.
+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_FT_MAX_TOKEN_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 84
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 84
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT InnoDB Fulltext search maximum token size in characters
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 84
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FT_MIN_TOKEN_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 3
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 3
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT InnoDB Fulltext search minimum token size in characters
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 16
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FT_NUM_WORD_OPTIMIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 2000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT InnoDB Fulltext search number of words to optimize for each optimize table call
+NUMERIC_MIN_VALUE 1000
+NUMERIC_MAX_VALUE 10000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_FT_RESULT_CACHE_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 2000000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2000000000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT InnoDB Fulltext search query result cache limit in bytes
+NUMERIC_MIN_VALUE 1000000
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FT_SERVER_STOPWORD_TABLE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The user supplied stopword table name.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_FT_SORT_PLL_DEGREE
+SESSION_VALUE NULL
+GLOBAL_VALUE 2
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+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
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FT_TOTAL_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 640000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 640000000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Total memory allocated for InnoDB Fulltext Search cache
+NUMERIC_MIN_VALUE 32000000
+NUMERIC_MAX_VALUE 1600000000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_FT_USER_STOPWORD_TABLE
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT User supplied stopword table name, effective in the session level.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_IDLE_FLUSH_PCT
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Up to what percentage of dirty pages should be flushed when innodb finds it has spare resources to do so.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 100
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable scrubbing of data
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_INSTRUMENT_SEMAPHORES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable semaphore request instrumentation. This could have some effect on performance but allows better information on long semaphore wait problems. (Default: not enabled)
+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_IO_CAPACITY
+SESSION_VALUE NULL
+GLOBAL_VALUE 200
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 200
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of IOPs the server can do. Tunes the background IO rate
+NUMERIC_MIN_VALUE 100
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_IO_CAPACITY_MAX
+SESSION_VALUE NULL
+GLOBAL_VALUE 2000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709551615
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Limit to which innodb_io_capacity can be inflated.
+NUMERIC_MIN_VALUE 100
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_LARGE_PREFIX
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Support large index prefix length of REC_VERSION_56_MAX_INDEX_COL_LEN (3072) bytes.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Artificially limit the number of records per B-tree page (0=unlimited).
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_LOCKS_UNSAFE_FOR_BINLOG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT DEPRECATED. This option may be removed in future releases. Please use READ COMMITTED transaction isolation level instead. Force InnoDB to not use next-key locking, to use only row-level locking.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_LOCK_SCHEDULE_ALGORITHM
+SESSION_VALUE NULL
+GLOBAL_VALUE fcfs
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE fcfs
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The algorithm Innodb uses for deciding which locks to grant next when a lock is released. Possible values are FCFS grant the locks in First-Come-First-Served order; VATS use the Variance-Aware-Transaction-Scheduling algorithm, which uses an Eldest-Transaction-First heuristic.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST fcfs,vats
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_LOCK_WAIT_TIMEOUT
+SESSION_VALUE 50
+GLOBAL_VALUE 50
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 50
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_LOG_BUFFER_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 16777216
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT The size of the buffer which InnoDB uses to write log to the log files on disk.
+NUMERIC_MIN_VALUE 262144
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_LOG_CHECKPOINT_NOW
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Force checkpoint now
+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_LOG_COMPRESSED_PAGES
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enables/disables the logging of entire compressed page images. InnoDB logs the compressed pages to prevent corruption if the zlib compression algorithm changes. When turned OFF, InnoDB will assume that the zlib compression algorithm doesn't change.
+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_LOG_FILES_IN_GROUP
+SESSION_VALUE NULL
+GLOBAL_VALUE 2
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 2
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of log files in the log group. InnoDB writes to the files in a circular fashion.
+NUMERIC_MIN_VALUE 2
+NUMERIC_MAX_VALUE 100
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_LOG_FILE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 5242880
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 50331648
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Size of each log file in a log group.
+NUMERIC_MIN_VALUE 1048576
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 1048576
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_LOG_GROUP_HOME_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Path to InnoDB log files.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_LRU_SCAN_DEPTH
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT How deep to scan LRU to keep it clean
+NUMERIC_MIN_VALUE 100
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MAX_DIRTY_PAGES_PCT
+SESSION_VALUE NULL
+GLOBAL_VALUE 75.000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 75.000000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT Percentage of dirty pages allowed in bufferpool.
+NUMERIC_MIN_VALUE 0.001
+NUMERIC_MAX_VALUE 99.999
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MAX_DIRTY_PAGES_PCT_LWM
+SESSION_VALUE NULL
+GLOBAL_VALUE 0.001000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0.001000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT Percentage of dirty pages at which flushing kicks in.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 99.999
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MAX_PURGE_LAG
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Desired maximum length of the purge queue (0 = no limit)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MAX_PURGE_LAG_DELAY
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum delay of user threads in micro-seconds
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 10000000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MIRRORED_LOG_GROUPS
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of identical copies of log groups we keep for the database. Currently this should be set to 1.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 10
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MONITOR_DISABLE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Turn off a monitor counter
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MONITOR_ENABLE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Turn on a monitor counter
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MONITOR_RESET
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Reset a monitor counter
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MONITOR_RESET_ALL
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Reset all values for a monitor counter
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MTFLUSH_THREADS
+SESSION_VALUE NULL
+GLOBAL_VALUE 8
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of multi-threaded flush threads
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 64
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_OLD_BLOCKS_PCT
+SESSION_VALUE NULL
+GLOBAL_VALUE 37
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 37
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Percentage of the buffer pool to reserve for 'old' blocks.
+NUMERIC_MIN_VALUE 5
+NUMERIC_MAX_VALUE 95
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_OLD_BLOCKS_TIME
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Move blocks to the 'new' end of the buffer pool if the first access was at least this many milliseconds ago. The timeout is disabled if 0.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_ONLINE_ALTER_LOG_MAX_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 134217728
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 134217728
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum modification log file size for online index creation
+NUMERIC_MIN_VALUE 65536
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_OPEN_FILES
+SESSION_VALUE NULL
+GLOBAL_VALUE 2000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT How many files at the maximum InnoDB keeps open at the same time.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_OPTIMIZE_FULLTEXT_ONLY
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Only optimize the Fulltext index of the table
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_PAGE_HASH_LOCKS
+SESSION_VALUE NULL
+GLOBAL_VALUE 16
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of rw_locks protecting buffer pool page_hash. Rounded up to the next power of 2
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_PAGE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 16384
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16384
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Page size to use for all InnoDB tablespaces.
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 65536
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_PREFIX_INDEX_CLUSTER_OPTIMIZATION
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable prefix optimization to sometimes avoid cluster index lookups.
+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_PRINT_ALL_DEADLOCKS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Print all deadlocks to MySQL error log (off by default)
+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_PURGE_BATCH_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 300
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 300
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of UNDO log pages to purge in one batch from the history list.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 5000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_PURGE_RUN_NOW
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Set purge state to RUN
+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_PURGE_STOP_NOW
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Set purge state to STOP
+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_PURGE_THREADS
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Purge threads can be from 1 to 32. Default is 1.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 32
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_RANDOM_READ_AHEAD
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether to use read ahead for random access within an extent.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_READ_AHEAD_THRESHOLD
+SESSION_VALUE NULL
+GLOBAL_VALUE 56
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 56
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 64
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_READ_IO_THREADS
+SESSION_VALUE NULL
+GLOBAL_VALUE 2
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 4
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of background read I/O threads in InnoDB.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 64
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_READ_ONLY
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Start InnoDB in read only mode (off by default)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_REPLICATION_DELAY
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Replication thread delay (ms) on the slave server if innodb_thread_concurrency is reached (0 by default)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_ROLLBACK_ON_TIMEOUT
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Roll back the complete transaction on lock wait timeout, for 4.x compatibility (disabled by default)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_ROLLBACK_SEGMENTS
+SESSION_VALUE NULL
+GLOBAL_VALUE 128
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 128
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of undo logs to use (deprecated).
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 128
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_SAVED_PAGE_NUMBER_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT An InnoDB page number.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_SCRUB_LOG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable background redo log (ib_logfile0, ib_logfile1...) scrubbing
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_SCRUB_LOG_SPEED
+SESSION_VALUE NULL
+GLOBAL_VALUE 256
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 256
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Background redo log scrubbing speed in bytes/sec
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 50000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_SIMULATE_COMP_FAILURES
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Simulate compression failures.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 99
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_SORT_BUFFER_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1048576
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Memory buffer size for index creation
+NUMERIC_MIN_VALUE 65536
+NUMERIC_MAX_VALUE 67108864
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_SPIN_WAIT_DELAY
+SESSION_VALUE NULL
+GLOBAL_VALUE 6
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 6
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum delay between polling for a spin lock (6 by default)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_STATS_AUTO_RECALC
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT InnoDB automatic recalculation of persistent statistics enabled for all tables unless overridden at table level (automatic recalculation is only done when InnoDB decides that the table has changed too much and needs a new statistics)
+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_STATS_INCLUDE_DELETE_MARKED
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Scan delete marked records for persistent stat
+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_STATS_METHOD
+SESSION_VALUE NULL
+GLOBAL_VALUE nulls_equal
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE nulls_equal
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies how InnoDB index statistics collection code should treat NULLs. Possible values are NULLS_EQUAL (default), NULLS_UNEQUAL and NULLS_IGNORED
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST nulls_equal,nulls_unequal,nulls_ignored
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_STATS_MODIFIED_COUNTER
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of rows modified before we calculate new statistics (default 0 = current limits)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_STATS_ON_METADATA
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable statistics gathering for metadata commands such as SHOW TABLE STATUS for tables that use transient statistics (off by default)
+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_STATS_PERSISTENT
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT InnoDB persistent statistics enabled for all tables unless overridden at table level
+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_STATS_PERSISTENT_SAMPLE_PAGES
+SESSION_VALUE NULL
+GLOBAL_VALUE 20
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 20
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of leaf index pages to sample when calculating persistent statistics (by ANALYZE, default 20)
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_STATS_SAMPLE_PAGES
+SESSION_VALUE NULL
+GLOBAL_VALUE 8
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Deprecated, use innodb_stats_transient_sample_pages instead
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_STATS_TRADITIONAL
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable traditional statistic calculation based on number of configured pages (default true)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_STATS_TRANSIENT_SAMPLE_PAGES
+SESSION_VALUE NULL
+GLOBAL_VALUE 8
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of leaf index pages to sample when calculating transient statistics (if persistent statistics are not used, default 8)
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_STATUS_OUTPUT
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable InnoDB monitor output to the error log.
+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_STATUS_OUTPUT_LOCKS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable InnoDB lock monitor output to the error log. Requires innodb_status_output=ON.
+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_STRICT_MODE
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use strict mode when evaluating create options.
+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_SUPPORT_XA
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable InnoDB support for the XA two-phase commit
+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_SYNC_ARRAY_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Size of the mutex/lock wait array.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_SYNC_SPIN_LOOPS
+SESSION_VALUE NULL
+GLOBAL_VALUE 30
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 30
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Count of spin-loop rounds in InnoDB mutexes (30 by default)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_TABLE_LOCKS
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable InnoDB locking in LOCK TABLES
+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_THREAD_CONCURRENCY
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments. Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_THREAD_SLEEP_DELAY
+SESSION_VALUE NULL
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000000
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_TMPDIR
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Directory for temporary non-tablespace files.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Pause actual purging any delete-marked records, but merely update the purge view. It is to create artificially the situation the purge view have been updated but the each purges were not done yet.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME INNODB_TRX_RSEG_N_SLOTS_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Debug flags for InnoDB to limit TRX_RSEG_N_SLOTS for trx_rsegf_undo_find_free()
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME INNODB_UNDO_DIRECTORY
+SESSION_VALUE NULL
+GLOBAL_VALUE .
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE .
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Directory where undo tablespace files live, this path can be absolute.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_UNDO_LOGS
+SESSION_VALUE NULL
+GLOBAL_VALUE 128
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 128
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of undo logs to use.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 128
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_UNDO_TABLESPACES
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of undo tablespaces to use.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 126
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_USE_ATOMIC_WRITES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Prevent partial page writes, via atomic writes.The option is used to prevent partial writes in case of a crash/poweroff, as faster alternative to doublewrite buffer.Currently this option works only on Linux only with FusionIO device, and directFS filesystem.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_USE_FALLOCATE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Preallocate files fast, using operating system functionality. On POSIX systems, posix_fallocate system call is used.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_USE_MTFLUSH
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use multi-threaded flush. Default FALSE.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_USE_SYS_MALLOC
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT DEPRECATED. This option may be removed in future releases, together with the InnoDB's internal memory allocator. Use OS memory allocator instead of InnoDB's internal memory allocator
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_USE_TRIM
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use trim. Default FALSE.
+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_VERSION
+SESSION_VALUE NULL
+GLOBAL_VALUE 5.6.44
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT InnoDB version
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME INNODB_WRITE_IO_THREADS
+SESSION_VALUE NULL
+GLOBAL_VALUE 2
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 4
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of background write I/O threads in InnoDB.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 64
+NUMERIC_BLOCK_SIZE 0
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_embedded,32bit.rdiff b/mysql-test/suite/sys_vars/r/sysvars_server_embedded,32bit.rdiff
new file mode 100644
index 00000000000..8e74f84fcd2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_embedded,32bit.rdiff
@@ -0,0 +1,1235 @@
+--- sysvars_server_embedded.result
++++ sysvars_server_embedded,32bit.result~
+@@ -57,7 +57,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Auto-increment columns are incremented by this
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 65535
+@@ -71,7 +71,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Offset added to Auto-increment columns. Used when auto-increment-increment != 1
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 65535
+@@ -85,7 +85,7 @@
+ GLOBAL_VALUE_ORIGIN AUTO
+ DEFAULT_VALUE 150
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of outstanding connection requests MariaDB can have. This comes into play when the main MariaDB thread gets very many connection requests in a very short time
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 65535
+@@ -144,7 +144,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The size of the transactional cache for updates to transactional engines for the binary log. If you often use transactions containing many statements, you can increase this to get more performance
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -169,10 +169,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If non-zero, binlog write will wait at most binlog_commit_wait_usec microseconds for at least this many commits to queue up for group commit to the binlog. This can reduce I/O on the binlog and provide increased opportunity for parallel apply on the slave, but too high a value will decrease commit throughput.
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -183,10 +183,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum time, in microseconds, to wait for more commits to queue up for binlog group commit. Only takes effect if the value of binlog_commit_wait_count is non-zero.
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -256,7 +256,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The size of the statement cache for updates to non-transactional engines for the binary log. If you often use statements updating a great number of rows, you can increase this to get more performance.
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -270,7 +270,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Size of tree cache used in bulk insert optimisation. Note that this is a limit per thread!
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -463,7 +463,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 10
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of seconds the mysqld server is waiting for a connect packet before responding with 'Bad handshake'
+ NUMERIC_MIN_VALUE 2
+ NUMERIC_MAX_VALUE 31536000
+@@ -533,7 +533,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 15
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Long search depth for the two-step deadlock detection
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 33
+@@ -547,7 +547,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Short search depth for the two-step deadlock detection
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 32
+@@ -561,7 +561,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50000000
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Long timeout for the two-step deadlock detection (in microseconds)
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -575,7 +575,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10000
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Short timeout for the two-step deadlock detection (in microseconds)
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -631,7 +631,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The default week format used by WEEK() functions
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 7
+@@ -645,7 +645,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT statements pending. If so, it allows these to execute before continuing.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -659,7 +659,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 300
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT How long a INSERT DELAYED thread should wait for INSERT statements before terminating
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -673,7 +673,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT What size queue (in rows) should be allocated for handling INSERT DELAYED. If the queue becomes full, any client that does INSERT DELAYED will wait until there is room in the queue again
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -701,7 +701,7 @@
+ GLOBAL_VALUE_ORIGIN SQL
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Precision of the result of '/' operator will be increased on that value
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 30
+@@ -799,7 +799,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If non-zero, binary logs will be purged after expire_logs_days days; possible purges happen at startup and at binary log rotation
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 99
+@@ -841,7 +841,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of connections on extra-port
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 100000
+@@ -883,7 +883,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT A dedicated thread is created to flush all tables at the given interval
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 31536000
+@@ -925,7 +925,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 84
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The maximum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 84
+@@ -939,7 +939,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The minimum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 84
+@@ -953,7 +953,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 20
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of best matches to use for query expansion
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000
+@@ -1012,7 +1012,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The maximum length of the result of function GROUP_CONCAT()
+ NUMERIC_MIN_VALUE 4
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1163,7 +1163,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of bytes used for a histogram. If set to 0, no histograms are created by ANALYZE.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 255
+@@ -1191,7 +1191,7 @@
+ GLOBAL_VALUE_ORIGIN AUTO
+ DEFAULT_VALUE 128
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT How many host names should be cached to avoid resolving.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 65536
+@@ -1303,7 +1303,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 28800
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of seconds the server waits for activity on an interactive connection before closing it
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -1334,7 +1334,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The size of the buffer that is used for joins
+ NUMERIC_MIN_VALUE 128
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 128
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1359,7 +1359,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Controls what join operations can be executed with join buffers. Odd numbers are used for plain join buffers while even numbers are used for linked buffers
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 8
+@@ -1390,7 +1390,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The size of the buffer used for index blocks for MyISAM tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1597,7 +1597,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 31536000
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Timeout in seconds to wait for a lock before returning an error.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -1709,7 +1709,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Write to slow log every #th slow query. Set to 1 to log everything. Increase it to reduce the size of the slow or the performance impact of slow logging
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -1751,7 +1751,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Log some not critical warnings to the general log file.Value can be between 0 and 11. Higher values mean more verbosity
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -1793,7 +1793,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4194304
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Max packet length to send to or receive from the server
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 1073741824
+@@ -1803,14 +1803,14 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME MAX_BINLOG_CACHE_SIZE
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 18446744073709547520
++GLOBAL_VALUE 4294963200
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 18446744073709547520
++DEFAULT_VALUE 4294963200
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Sets the total size of the transactional cache
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1821,7 +1821,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1073741824
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Binary log will be rotated automatically when the size exceeds this value.
+ NUMERIC_MIN_VALUE 4096
+ NUMERIC_MAX_VALUE 1073741824
+@@ -1831,14 +1831,14 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME MAX_BINLOG_STMT_CACHE_SIZE
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 18446744073709547520
++GLOBAL_VALUE 4294963200
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 18446744073709547520
++DEFAULT_VALUE 4294963200
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Sets the total size of the statement cache
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1849,7 +1849,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 151
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of simultaneous clients allowed
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 100000
+@@ -1863,7 +1863,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If there is more than this number of interrupted connections from a host this host will be blocked from further connections
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -1877,7 +1877,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 20
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16384
+@@ -1905,7 +1905,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 64
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Max number of errors/warnings to store for a statement
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 65535
+@@ -1922,7 +1922,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Don't allow creation of heap tables bigger than this
+ NUMERIC_MIN_VALUE 16384
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1024
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1933,7 +1933,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 20
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16384
+@@ -1961,7 +1961,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Max number of bytes in sorted records
+ NUMERIC_MIN_VALUE 4
+ NUMERIC_MAX_VALUE 8388608
+@@ -1975,7 +1975,7 @@
+ GLOBAL_VALUE_ORIGIN AUTO
+ DEFAULT_VALUE 1048576
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The maximum BLOB length to send to server from mysql_send_long_data API. Deprecated option; use max_allowed_packet instead.
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2003,7 +2003,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4294967295
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Limit assumed max number of seeks when looking up rows based on a key
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2031,7 +2031,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored)
+ NUMERIC_MIN_VALUE 4
+ NUMERIC_MAX_VALUE 8388608
+@@ -2045,7 +2045,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum stored procedure recursion depth
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 255
+@@ -2073,7 +2073,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 32
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Unused, will be removed.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2101,7 +2101,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4294967295
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT After this many write locks, allow some read locks to run in between
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2115,7 +2115,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Unused
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2129,7 +2129,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Unused
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1024
+@@ -2143,7 +2143,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Don't write queries to slow log that examine fewer rows than that
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2157,7 +2157,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 262144
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Size of buffer to use when using MRR with range access
+ NUMERIC_MIN_VALUE 8192
+ NUMERIC_MAX_VALUE 2147483647
+@@ -2171,10 +2171,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 256
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Ignored. Use mrr_buffer_size instead
+ NUMERIC_MIN_VALUE 1
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2185,7 +2185,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Block size to be used for MyISAM index pages
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 16384
+@@ -2199,7 +2199,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 6
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Default pointer size to be used for MyISAM tables
+ NUMERIC_MIN_VALUE 2
+ NUMERIC_MAX_VALUE 7
+@@ -2209,9 +2209,9 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME MYISAM_MAX_SORT_FILE_SIZE
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 9223372036853727232
++GLOBAL_VALUE 2146435072
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 9223372036853727232
++DEFAULT_VALUE 2146435072
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Don't use the fast sort index method to created index if the temporary file would get bigger than this
+@@ -2223,14 +2223,14 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME MYISAM_MMAP_SIZE
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 18446744073709551615
++GLOBAL_VALUE 4294967295
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 18446744073709551615
++DEFAULT_VALUE 4294967295
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Restricts the total memory used for memory mapping of MySQL tables
+ NUMERIC_MIN_VALUE 7
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+@@ -2255,10 +2255,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If larger than 1, when repairing a MyISAM table all indexes will be created in parallel, with one thread per index. The value of 1 disables parallel repair
+ NUMERIC_MIN_VALUE 1
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2272,7 +2272,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2325,7 +2325,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 16384
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Buffer length for TCP/IP and socket communication
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 1048576
+@@ -2339,7 +2339,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 30
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of seconds to wait for more data from a connection before aborting the read
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -2353,7 +2353,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If a read on a communication port is interrupted, retry this many times before giving up
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2367,7 +2367,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 60
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of seconds to wait for a block to be written to a connection before aborting the write
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -2437,7 +2437,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Controls the heuristic(s) applied during query optimization to prune less-promising partial plans from the optimizer search space. Meaning: 0 - do not apply any heuristic, thus perform exhaustive search; 1 - prune plans based on number of retrieved rows
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1
+@@ -2451,7 +2451,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 62
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum depth of search performed by the query optimizer. Values larger than the number of relations in a query result in better query plans, but take longer to compile a query. Values smaller than the number of tables in a relation result in faster optimization, but may produce very bad query plans. If set to 0, the system will automatically pick a reasonable value; if set to 63, the optimizer will switch to the original find_best search. NOTE: The value 63 and its associated behaviour is deprecated.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 63
+@@ -2465,7 +2465,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Controls number of record samples to check condition selectivity
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2493,7 +2493,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Controls selectivity of which conditions the optimizer takes into account to calculate cardinality of a partial join when it searches for the best execution plan Meaning: 1 - use selectivity of index backed range conditions to calculate the cardinality of a partial join if the last joined table is accessed by full table scan or an index scan, 2 - use selectivity of index backed range conditions to calculate the cardinality of a partial join in any case, 3 - additionally always use selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join, 4 - use histograms to calculate selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join.5 - additionally use selectivity of certain non-range predicates calculated on record samples
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 5
+@@ -2521,7 +2521,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented user@host accounts. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2535,7 +2535,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Size of the statement digest. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 200
+@@ -2549,7 +2549,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows in EVENTS_STAGES_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2563,7 +2563,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows per thread in EVENTS_STAGES_HISTORY. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1024
+@@ -2577,7 +2577,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows in EVENTS_STATEMENTS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2591,7 +2591,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows per thread in EVENTS_STATEMENTS_HISTORY. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1024
+@@ -2605,7 +2605,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows in EVENTS_WAITS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2619,7 +2619,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows per thread in EVENTS_WAITS_HISTORY. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1024
+@@ -2633,7 +2633,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented hosts. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2647,7 +2647,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 80
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of condition instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2661,7 +2661,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented condition objects. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2675,7 +2675,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum length considered for digest text, when stored in performance_schema tables.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1048576
+@@ -2689,7 +2689,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of file instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2703,7 +2703,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 32768
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of opened instrumented files.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1048576
+@@ -2717,7 +2717,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented files. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2731,7 +2731,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 200
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of mutex instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2745,7 +2745,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented MUTEX objects. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 104857600
+@@ -2759,7 +2759,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 40
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of rwlock instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2773,7 +2773,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented RWLOCK objects. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 104857600
+@@ -2787,7 +2787,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of socket instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2801,7 +2801,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of opened instrumented sockets. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2815,7 +2815,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 150
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of stage instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2829,7 +2829,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 178
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of statement instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2843,7 +2843,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of opened instrumented tables. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2857,7 +2857,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented tables. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2871,7 +2871,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of thread instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2885,7 +2885,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented threads. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2899,7 +2899,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Size of session attribute string buffer per thread. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2913,7 +2913,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of rows in SETUP_ACTORS.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1024
+@@ -2927,7 +2927,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of rows in SETUP_OBJECTS.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1048576
+@@ -2941,7 +2941,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented users. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -3011,7 +3011,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 32768
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The size of the buffer that is allocated when preloading indexes
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 1073741824
+@@ -3039,7 +3039,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 15
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of statements about which profiling information is maintained. If set to 0, no profiles are stored. See SHOW PROFILES.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 100
+@@ -3053,7 +3053,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 5
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Seconds between sending progress reports to the client for time-consuming statements. Set to 0 to disable progress reporting.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3109,10 +3109,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION ONLY
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT This variable is for internal server use
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -3123,7 +3123,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 16384
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Allocation block size for query parsing and execution
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3137,7 +3137,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1048576
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Don't cache results that are bigger than this
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3151,7 +3151,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4096
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The minimum size for blocks allocated by the query cache
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3168,7 +3168,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The memory allocated to store results from old queries
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1024
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -3221,7 +3221,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 24576
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Persistent buffer for query parsing and execution
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3235,7 +3235,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4096
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Allocation block size for storing ranges during optimization
+ NUMERIC_MIN_VALUE 4096
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3249,7 +3249,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 131072
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Each thread that does a sequential scan allocates a buffer of this size for each table it scans. If you do many sequential scans, you may want to increase this value
+ NUMERIC_MIN_VALUE 8192
+ NUMERIC_MAX_VALUE 2147483647
+@@ -3277,7 +3277,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 262144
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT When reading rows in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 2147483647
+@@ -3291,10 +3291,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8388608
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The size of the buffers used [NOT] IN evaluation via partial matching
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 9223372036854775807
++NUMERIC_MAX_VALUE 2147483647
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -3333,7 +3333,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Uniquely identifies the server instance in the community of replication partners
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3431,7 +3431,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1073741824
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The maximum packet length to sent successfully from the master to slave.
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 1073741824
+@@ -3445,7 +3445,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If creating the thread takes longer than this value (in seconds), the Slow_launch_threads counter will be incremented
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 31536000
+@@ -3504,7 +3504,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Each thread that needs to do a sort allocates a buffer of this size
+ NUMERIC_MIN_VALUE 1024
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -3781,7 +3781,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 256
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The soft upper limit for number of cached stored routines for one connection.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 524288
+@@ -3851,7 +3851,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 400
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of cached table definitions
+ NUMERIC_MIN_VALUE 400
+ NUMERIC_MAX_VALUE 2097152
+@@ -3865,7 +3865,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 2000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of cached open tables
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 1048576
+@@ -3879,7 +3879,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT How many threads we should keep in a cache for reuse
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16384
+@@ -3893,7 +3893,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Permits the application to give the threads system a hint for the desired number of threads that should be run at the same time.This variable has no effect, and is deprecated. It will be removed in a future release.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 512
+@@ -4008,7 +4008,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table.
+ NUMERIC_MIN_VALUE 1024
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -4019,7 +4019,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8192
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Allocation block size for transactions to be stored in binary log
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 134217728
+@@ -4033,7 +4033,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4096
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Persistent buffer for transactions to be stored in binary log
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 134217728
+@@ -4131,7 +4131,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 28800
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of seconds the server waits for activity on a connection before closing it
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -4235,7 +4235,7 @@
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME OPEN_FILES_LIMIT
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If this is not 0, then mysqld will use this value to reserve file descriptors to use with setrlimit(). If this value is 0 then mysqld will reserve max_connections*5 or max_connections + table_cache*2 (whichever is larger) number of file descriptors
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -4248,7 +4248,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -4258,7 +4258,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -4343,7 +4343,7 @@
+ VARIABLE_NAME LOG_TC_SIZE
+ GLOBAL_VALUE_ORIGIN AUTO
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Size of transaction coordinator log.
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
new file mode 100644
index 00000000000..9ca6995d7ef
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
@@ -0,0 +1,4351 @@
+set time_zone='+00:00';
+set timestamp=unix_timestamp('2014-09-01 13:40:23');
+set pseudo_thread_id=10;
+set sql_mode=ansi_quotes;
+set global div_precision_increment=5;
+select * from information_schema.system_variables
+where variable_name not like 'aria%' and
+variable_name not like 'debug%' and
+variable_name not like 'wsrep%' and
+variable_name not in (
+'have_openssl',
+'have_symlink',
+'hostname',
+'large_files_support', 'log_tc_size',
+'lower_case_file_system',
+'lower_case_table_names',
+'open_files_limit',
+'rand_seed1',
+'rand_seed2',
+'system_time_zone',
+'version_comment',
+'version_compile_machine', 'version_compile_os',
+'version_malloc_library', 'version_ssl_library', 'version'
+ )
+order by variable_name;
+VARIABLE_NAME AUTOCOMMIT
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the default, all queries are committed immediately. If set to 0, they are only committed upon a COMMIT statement, or rolled back with a ROLLBACK statement. If autocommit is set to 0, and then changed to 1, all open transactions are immediately committed.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME AUTOMATIC_SP_PRIVILEGES
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Creating and dropping stored procedures alters ACLs
+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 AUTO_INCREMENT_INCREMENT
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Auto-increment columns are incremented by this
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 65535
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME AUTO_INCREMENT_OFFSET
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Offset added to Auto-increment columns. Used when auto-increment-increment != 1
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 65535
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME BACK_LOG
+SESSION_VALUE NULL
+GLOBAL_VALUE 80
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE 150
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of outstanding connection requests MariaDB can have. This comes into play when the main MariaDB thread gets very many connection requests in a very short time
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 65535
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BASEDIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Path to installation directory. All paths are usually resolved relative to this
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BIG_TABLES
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Old variable, which if set to 1, allows large result sets by saving all temporary sets to disk, avoiding 'table full' errors. No longer needed, as the server now handles this automatically. sql_big_tables is a synonym.
+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 BINLOG_ANNOTATE_ROW_EVENTS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Tells the master to annotate RBR events with the statement that caused these events
+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 BINLOG_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 32768
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32768
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the transactional cache for updates to transactional engines for the binary log. If you often use transactions containing many statements, you can increase this to get more performance
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_CHECKSUM
+SESSION_VALUE NULL
+GLOBAL_VALUE NONE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NONE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Type of BINLOG_CHECKSUM_ALG. Include checksum for log events in the binary log
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NONE,CRC32
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_COMMIT_WAIT_COUNT
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If non-zero, binlog write will wait at most binlog_commit_wait_usec microseconds for at least this many commits to queue up for group commit to the binlog. This can reduce I/O on the binlog and provide increased opportunity for parallel apply on the slave, but too high a value will decrease commit throughput.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_COMMIT_WAIT_USEC
+SESSION_VALUE NULL
+GLOBAL_VALUE 100000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum time, in microseconds, to wait for more commits to queue up for binlog group commit. Only takes effect if the value of binlog_commit_wait_count is non-zero.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_DIRECT_NON_TRANSACTIONAL_UPDATES
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Causes updates to non-transactional engines using statement format to be written directly to binary log. Before using this option make sure that there are no dependencies between transactional and non-transactional tables such as in the statement INSERT INTO t_myisam SELECT * FROM t_innodb; otherwise, slaves may diverge from the master.
+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 BINLOG_FORMAT
+SESSION_VALUE STATEMENT
+GLOBAL_VALUE STATEMENT
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE STATEMENT
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT What form of binary logging the master will use: either ROW for row-based binary logging, STATEMENT for statement-based binary logging, or MIXED. MIXED is statement-based binary logging except for those statements where only row-based is correct: those which involve user-defined functions (i.e. UDFs) or the UUID() function; for those, row-based binary logging is automatically used.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST MIXED,STATEMENT,ROW
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_OPTIMIZE_THREAD_SCHEDULING
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Run fast part of group commit in a single thread, to optimize kernel thread scheduling. On by default. Disable to run each transaction in group commit in its own thread, which can be slower at very high concurrency. This option is mostly for testing one algorithm versus the other, and it should not normally be necessary to change it.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_ROW_IMAGE
+SESSION_VALUE FULL
+GLOBAL_VALUE FULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE FULL
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Controls whether rows should be logged in 'FULL', 'NOBLOB' or 'MINIMAL' formats. 'FULL', means that all columns in the before and after image are logged. 'NOBLOB', means that mysqld avoids logging blob columns whenever possible (eg, blob column was not changed or is not part of primary key). 'MINIMAL', means that a PK equivalent (PK columns or full row if there is no PK in the table) is logged in the before image, and only changed columns are logged in the after image. (Default: FULL).
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST MINIMAL,NOBLOB,FULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_STMT_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 32768
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32768
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the statement cache for updates to non-transactional engines for the binary log. If you often use statements updating a great number of rows, you can increase this to get more performance.
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BULK_INSERT_BUFFER_SIZE
+SESSION_VALUE 8388608
+GLOBAL_VALUE 8388608
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8388608
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Size of tree cache used in bulk insert optimisation. Note that this is a limit per thread!
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME CHARACTER_SETS_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Directory where character sets are
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME CHARACTER_SET_CLIENT
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set for statements that arrive from the client
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_CONNECTION
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set used for literals that do not have a character set introducer and for number-to-string conversion
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_DATABASE
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set used by the default database
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_FILESYSTEM
+SESSION_VALUE binary
+GLOBAL_VALUE binary
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE binary
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The filesystem character set
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_RESULTS
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set used for returning query results to the client
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_SERVER
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The default character set
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_SYSTEM
+SESSION_VALUE NULL
+GLOBAL_VALUE utf8
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set used by the server for storing identifiers
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME COLLATION_CONNECTION
+SESSION_VALUE latin1_swedish_ci
+GLOBAL_VALUE latin1_swedish_ci
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1_swedish_ci
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The collation of the connection character set
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME COLLATION_DATABASE
+SESSION_VALUE latin1_swedish_ci
+GLOBAL_VALUE latin1_swedish_ci
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1_swedish_ci
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The collation of the database character set
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME COLLATION_SERVER
+SESSION_VALUE latin1_swedish_ci
+GLOBAL_VALUE latin1_swedish_ci
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1_swedish_ci
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The server default collation
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME COMPLETION_TYPE
+SESSION_VALUE NO_CHAIN
+GLOBAL_VALUE NO_CHAIN
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NO_CHAIN
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The transaction completion type
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NO_CHAIN,CHAIN,RELEASE
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME CONCURRENT_INSERT
+SESSION_VALUE NULL
+GLOBAL_VALUE AUTO
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE AUTO
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Use concurrent insert with MyISAM
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NEVER,AUTO,ALWAYS
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME CONNECT_TIMEOUT
+SESSION_VALUE NULL
+GLOBAL_VALUE 60
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 10
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of seconds the mysqld server is waiting for a connect packet before responding with 'Bad handshake'
+NUMERIC_MIN_VALUE 2
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME CORE_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT write a core-file on crashes
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME DATADIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE PATH
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Path to the database root directory
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DATETIME_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE %Y-%m-%d %H:%i:%s
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE %Y-%m-%d %H:%i:%s
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The DATETIME format (ignored)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DATE_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE %Y-%m-%d
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE %Y-%m-%d
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The DATE format (ignored)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEADLOCK_SEARCH_DEPTH_LONG
+SESSION_VALUE 15
+GLOBAL_VALUE 15
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 15
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Long search depth for the two-step deadlock detection
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 33
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEADLOCK_SEARCH_DEPTH_SHORT
+SESSION_VALUE 4
+GLOBAL_VALUE 4
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Short search depth for the two-step deadlock detection
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 32
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEADLOCK_TIMEOUT_LONG
+SESSION_VALUE 50000000
+GLOBAL_VALUE 50000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 50000000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Long timeout for the two-step deadlock detection (in microseconds)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEADLOCK_TIMEOUT_SHORT
+SESSION_VALUE 10000
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Short timeout for the two-step deadlock detection (in microseconds)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEFAULT_REGEX_FLAGS
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Default flags for the regex library
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST DOTALL,DUPNAMES,EXTENDED,EXTRA,MULTILINE,UNGREEDY
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEFAULT_STORAGE_ENGINE
+SESSION_VALUE MyISAM
+GLOBAL_VALUE MyISAM
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE MyISAM
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The default storage engine for new tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME DEFAULT_TMP_STORAGE_ENGINE
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The default storage engine for user-created temporary tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME DEFAULT_WEEK_FORMAT
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The default week format used by WEEK() functions
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 7
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DELAYED_INSERT_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT statements pending. If so, it allows these to execute before continuing.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DELAYED_INSERT_TIMEOUT
+SESSION_VALUE NULL
+GLOBAL_VALUE 300
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 300
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT How long a INSERT DELAYED thread should wait for INSERT statements before terminating
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DELAYED_QUEUE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT What size queue (in rows) should be allocated for handling INSERT DELAYED. If the queue becomes full, any client that does INSERT DELAYED will wait until there is room in the queue again
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DELAY_KEY_WRITE
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies how MyISAM tables handles CREATE TABLE DELAY_KEY_WRITE. If set to ON, the default, any DELAY KEY WRITEs are honored. The key buffer is then flushed only when the table closes, speeding up writes. MyISAM tables should be automatically checked upon startup in this case, and --external locking should not be used, as it can lead to index corruption. If set to OFF, DELAY KEY WRITEs are ignored, while if set to ALL, all new opened tables are treated as if created with DELAY KEY WRITEs enabled.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON,ALL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME DIV_PRECISION_INCREMENT
+SESSION_VALUE 4
+GLOBAL_VALUE 5
+GLOBAL_VALUE_ORIGIN SQL
+DEFAULT_VALUE 4
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Precision of the result of '/' operator will be increased on that value
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 30
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ENCRYPT_BINLOG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Encrypt binary logs (including relay logs)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME ENCRYPT_TMP_DISK_TABLES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Encrypt temporary on-disk tables (created as part of query execution)
+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 ENCRYPT_TMP_FILES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Encrypt temporary files (created for filesort, binary log cache, etc)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME ENFORCE_STORAGE_ENGINE
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Force the use of a storage engine for new tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME ERROR_COUNT
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of errors that resulted from the last statement that generated messages
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME EXPENSIVE_SUBQUERY_LIMIT
+SESSION_VALUE 100
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum number of rows a subquery may examine in order to be executed during optimization and used for constant optimization
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME EXPIRE_LOGS_DAYS
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If non-zero, binary logs will be purged after expire_logs_days days; possible purges happen at startup and at binary log rotation
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 99
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME EXPLICIT_DEFAULTS_FOR_TIMESTAMP
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT This option causes CREATE TABLE to create all TIMESTAMP columns as NULL with DEFAULT NULL attribute, Without this option, TIMESTAMP columns are NOT NULL and have implicit DEFAULT clauses. The old behavior is deprecated.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME EXTERNAL_USER
+SESSION_VALUE
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The external user account used when logging in
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME EXTRA_MAX_CONNECTIONS
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of connections on extra-port
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 100000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME EXTRA_PORT
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Extra port number to use for tcp connections in a one-thread-per-connection manner. 0 means don't use another port
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FLUSH
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Flush MyISAM tables to disk between SQL commands
+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 FLUSH_TIME
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT A dedicated thread is created to flush all tables at the given interval
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FOREIGN_KEY_CHECKS
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1 (the default) foreign key constraints (including ON UPDATE and ON DELETE behavior) InnoDB tables are checked, while if set to 0, they are not checked. 0 is not recommended for normal use, though it can be useful in situations where you know the data is consistent, but want to reload data in a different order from that that specified by parent/child relationships. Setting this variable to 1 does not retrospectively check for inconsistencies introduced while set to 0.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME FT_BOOLEAN_SYNTAX
+SESSION_VALUE NULL
+GLOBAL_VALUE + -><()~*:""&|
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE + -><()~*:""&|
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT List of operators for MATCH ... AGAINST ( ... IN BOOLEAN MODE)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FT_MAX_WORD_LEN
+SESSION_VALUE NULL
+GLOBAL_VALUE 84
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 84
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 84
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FT_MIN_WORD_LEN
+SESSION_VALUE NULL
+GLOBAL_VALUE 4
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The minimum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 84
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FT_QUERY_EXPANSION_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 20
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 20
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of best matches to use for query expansion
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FT_STOPWORD_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE (built-in)
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Use stopwords from this file instead of built-in list
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME GENERAL_LOG
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log connections and queries to a table or log file. Defaults logging to a file 'hostname'.log or a table mysql.general_logif --log-output=TABLE is used.
+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 GENERAL_LOG_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Log connections and queries to given file
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME GROUP_CONCAT_MAX_LEN
+SESSION_VALUE 1024
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum length of the result of function GROUP_CONCAT()
+NUMERIC_MIN_VALUE 4
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME GTID_DOMAIN_ID
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Used with global transaction ID to identify logically independent replication streams. When events can propagate through multiple parallel paths (for example multiple masters), each independent source server must use a distinct domain_id. For simple tree-shaped replication topologies, it can be left at its default, 0.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME GTID_SEQ_NO
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Internal server usage, for replication with global transaction id. When set, next event group logged to the binary log will use this sequence number, not generate a new one, thus allowing to preserve master's GTID in slave's binlog.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_COMPRESS
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the zlib compression library is accessible to the server, this will be set to YES, otherwise it will be NO. The COMPRESS() and UNCOMPRESS() functions will only be available if set to YES.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_CRYPT
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the crypt() system call is available this variable will be set to YES, otherwise it will be set to NO. If set to NO, the ENCRYPT() function cannot be used.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_DYNAMIC_LOADING
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the server supports dynamic loading of plugins, will be set to YES, otherwise will be set to NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_GEOMETRY
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the server supports spatial data types, will be set to YES, otherwise will be set to NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_PROFILING
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If statement profiling is available, will be set to YES, otherwise will be set to NO. See SHOW PROFILES and SHOW PROFILE.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_QUERY_CACHE
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the server supports the query cache, will be set to YES, otherwise will be set to NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_RTREE_KEYS
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If RTREE indexes (used for spatial indexes) are available, will be set to YES, otherwise will be set to NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_SSL
+SESSION_VALUE NULL
+GLOBAL_VALUE NO
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the server supports secure connections, will be set to YES, otherwise will be set to NO. If set to DISABLED, the server was compiled with TLS support, but was not started with TLS support (see the mysqld options). See also have_openssl.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HISTOGRAM_SIZE
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of bytes used for a histogram. If set to 0, no histograms are created by ANALYZE.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 255
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME HISTOGRAM_TYPE
+SESSION_VALUE SINGLE_PREC_HB
+GLOBAL_VALUE SINGLE_PREC_HB
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE SINGLE_PREC_HB
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies type of the histograms created by ANALYZE. Possible values are: SINGLE_PREC_HB - single precision height-balanced, DOUBLE_PREC_HB - double precision height-balanced.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST SINGLE_PREC_HB,DOUBLE_PREC_HB
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME HOST_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 279
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE 128
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT How many host names should be cached to avoid resolving.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 65536
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME IDENTITY
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Synonym for the last_insert_id variable
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME IGNORE_BUILTIN_INNODB
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disable initialization of builtin InnoDB plugin
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME IGNORE_DB_DIRS
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Specifies a directory to add to the ignore list when collecting database names from the datadir. Put a blank argument to reset the list accumulated so far.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INIT_CONNECT
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Command(s) that are executed for each new connection (unless the user has SUPER privilege)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INIT_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Read SQL commands from this file at startup
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INIT_SLAVE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Command(s) that are executed by a slave server each time the SQL thread starts
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INSERT_ID
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The value to be used by the following INSERT or ALTER TABLE statement when inserting an AUTO_INCREMENT value
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME INTERACTIVE_TIMEOUT
+SESSION_VALUE 28800
+GLOBAL_VALUE 28800
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 28800
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of seconds the server waits for activity on an interactive connection before closing it
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME IN_TRANSACTION
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Whether there is an active transaction
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME JOIN_BUFFER_SIZE
+SESSION_VALUE 262144
+GLOBAL_VALUE 262144
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 262144
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the buffer that is used for joins
+NUMERIC_MIN_VALUE 128
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 128
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME JOIN_BUFFER_SPACE_LIMIT
+SESSION_VALUE 2097152
+GLOBAL_VALUE 2097152
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2097152
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The limit of the space for all join buffers used by a query
+NUMERIC_MIN_VALUE 2048
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 2048
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME JOIN_CACHE_LEVEL
+SESSION_VALUE 2
+GLOBAL_VALUE 2
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Controls what join operations can be executed with join buffers. Odd numbers are used for plain join buffers while even numbers are used for linked buffers
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 8
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEEP_FILES_ON_CREATE
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't overwrite stale .MYD and .MYI even if no directory is specified
+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 KEY_BUFFER_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 134217728
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the buffer used for index blocks for MyISAM tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_AGE_THRESHOLD
+SESSION_VALUE NULL
+GLOBAL_VALUE 300
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 300
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in key cache
+NUMERIC_MIN_VALUE 100
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 100
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_BLOCK_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The default size of key cache blocks
+NUMERIC_MIN_VALUE 512
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 512
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_DIVISION_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The minimum percentage of warm blocks in key cache
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 100
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_FILE_HASH_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 512
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 512
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of hash buckets for open and changed files. If you have a lot of MyISAM files open you should increase this for faster flush of changes. A good value is probably 1/10 of number of possible open MyISAM files.
+NUMERIC_MIN_VALUE 128
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_SEGMENTS
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of segments in a key cache
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 64
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LARGE_PAGES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable support for large pages
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME LARGE_PAGE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT If large page support is enabled, this shows the size of memory pages
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LAST_INSERT_ID
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The value to be returned from LAST_INSERT_ID()
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LC_MESSAGES
+SESSION_VALUE en_US
+GLOBAL_VALUE en_US
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE en_US
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Set the language used for the error messages
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LC_MESSAGES_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Directory where error messages are
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LC_TIME_NAMES
+SESSION_VALUE en_US
+GLOBAL_VALUE en_US
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE en_US
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Set the language used for the month names and the days of the week
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LICENSE
+SESSION_VALUE NULL
+GLOBAL_VALUE GPL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The type of license the server has
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOCAL_INFILE
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable LOAD DATA LOCAL INFILE
+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 LOCKED_IN_MEMORY
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether mysqld was locked in memory with --memlock
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOCK_WAIT_TIMEOUT
+SESSION_VALUE 31536000
+GLOBAL_VALUE 31536000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 31536000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Timeout in seconds to wait for a lock before returning an error.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_BIN
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether the binary log is enabled
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOG_BIN_TRUST_FUNCTION_CREATORS
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to FALSE (the default), then when --log-bin is used, creation of a stored function (or trigger) is allowed only to users having the SUPER privilege and only if this stored function (trigger) may not break binary logging. Note that if ALL connections to this server ALWAYS use row-based binary logging, the security issues do not exist and the binary logging cannot break, so you can safely set this to TRUE
+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 LOG_ERROR
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Log errors to file (instead of stdout). If file name is not specified then 'datadir'/'log-basename'.err or the 'pid-file' path with extension .err is used
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME LOG_OUTPUT
+SESSION_VALUE NULL
+GLOBAL_VALUE FILE
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE FILE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE SET
+VARIABLE_COMMENT How logs should be written
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NONE,FILE,TABLE
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_QUERIES_NOT_USING_INDEXES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log queries that are executed without benefit of any index to the slow log if it is open
+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 LOG_SLOW_ADMIN_STATEMENTS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log slow OPTIMIZE, ANALYZE, ALTER and other administrative statements to the slow log if it is open.
+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 LOG_SLOW_FILTER
+SESSION_VALUE admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
+GLOBAL_VALUE admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Log only certain types of queries
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_SLOW_RATE_LIMIT
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Write to slow log every #th slow query. Set to 1 to log everything. Increase it to reduce the size of the slow or the performance impact of slow logging
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_SLOW_SLAVE_STATEMENTS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log slow statements executed by slave thread to the slow log if it is open.
+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 LOG_SLOW_VERBOSITY
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Verbosity level for the slow log
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST innodb,query_plan,explain
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_WARNINGS
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Log some not critical warnings to the general log file.Value can be between 0 and 11. Higher values mean more verbosity
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME LONG_QUERY_TIME
+SESSION_VALUE 10.000000
+GLOBAL_VALUE 10.000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10.000000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT Log all queries that have taken more than long_query_time seconds to execute to file. The argument will be treated as a decimal value with microsecond precision
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOW_PRIORITY_UPDATES
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT INSERT/DELETE/UPDATE has lower priority than selects
+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 MAX_ALLOWED_PACKET
+SESSION_VALUE 4194304
+GLOBAL_VALUE 4194304
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4194304
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Max packet length to send to or receive from the server
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_BINLOG_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 18446744073709547520
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709547520
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Sets the total size of the transactional cache
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_BINLOG_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1073741824
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1073741824
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Binary log will be rotated automatically when the size exceeds this value.
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_BINLOG_STMT_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 18446744073709547520
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709547520
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Sets the total size of the statement cache
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_CONNECTIONS
+SESSION_VALUE NULL
+GLOBAL_VALUE 151
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 151
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of simultaneous clients allowed
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 100000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_CONNECT_ERRORS
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If there is more than this number of interrupted connections from a host this host will be blocked from further connections
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_DELAYED_THREADS
+SESSION_VALUE 20
+GLOBAL_VALUE 20
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 20
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_DIGEST_LENGTH
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Maximum length considered for digest text.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_ERROR_COUNT
+SESSION_VALUE 64
+GLOBAL_VALUE 64
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 64
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Max number of errors/warnings to store for a statement
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 65535
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_HEAP_TABLE_SIZE
+SESSION_VALUE 1048576
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 16777216
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't allow creation of heap tables bigger than this
+NUMERIC_MIN_VALUE 16384
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_INSERT_DELAYED_THREADS
+SESSION_VALUE 20
+GLOBAL_VALUE 20
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 20
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME MAX_JOIN_SIZE
+SESSION_VALUE 18446744073709551615
+GLOBAL_VALUE 18446744073709551615
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709551615
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Joins that are probably going to read more than max_join_size records return an error
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_LENGTH_FOR_SORT_DATA
+SESSION_VALUE 1024
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Max number of bytes in sorted records
+NUMERIC_MIN_VALUE 4
+NUMERIC_MAX_VALUE 8388608
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_LONG_DATA_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 4194304
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE 1048576
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum BLOB length to send to server from mysql_send_long_data API. Deprecated option; use max_allowed_packet instead.
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_PREPARED_STMT_COUNT
+SESSION_VALUE NULL
+GLOBAL_VALUE 16382
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16382
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Maximum number of prepared statements in the server
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_SEEKS_FOR_KEY
+SESSION_VALUE 4294967295
+GLOBAL_VALUE 4294967295
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4294967295
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Limit assumed max number of seeks when looking up rows based on a key
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_SESSION_MEM_USED
+SESSION_VALUE 9223372036854775807
+GLOBAL_VALUE 9223372036854775807
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 9223372036854775807
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Amount of memory a single user session is allowed to allocate. This limits the value of the session variable MEM_USED
+NUMERIC_MIN_VALUE 8192
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_SORT_LENGTH
+SESSION_VALUE 1024
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored)
+NUMERIC_MIN_VALUE 4
+NUMERIC_MAX_VALUE 8388608
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_SP_RECURSION_DEPTH
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum stored procedure recursion depth
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 255
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME MAX_STATEMENT_TIME
+SESSION_VALUE 0.000000
+GLOBAL_VALUE 0.000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0.000000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT A query that has taken more than max_statement_time seconds will be aborted. The argument will be treated as a decimal value with microsecond precision. A value of 0 (default) means no timeout
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_TMP_TABLES
+SESSION_VALUE 32
+GLOBAL_VALUE 32
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Unused, will be removed.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_USER_CONNECTIONS
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE INT
+VARIABLE_COMMENT The maximum number of active connections for a single user (0 = no limit)
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_WRITE_LOCK_COUNT
+SESSION_VALUE NULL
+GLOBAL_VALUE 4294967295
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4294967295
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT After this many write locks, allow some read locks to run in between
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME METADATA_LOCKS_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Unused
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME METADATA_LOCKS_HASH_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 8
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Unused
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MIN_EXAMINED_ROW_LIMIT
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't write queries to slow log that examine fewer rows than that
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MRR_BUFFER_SIZE
+SESSION_VALUE 262144
+GLOBAL_VALUE 262144
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 262144
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Size of buffer to use when using MRR with range access
+NUMERIC_MIN_VALUE 8192
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MULTI_RANGE_COUNT
+SESSION_VALUE 256
+GLOBAL_VALUE 256
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 256
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Ignored. Use mrr_buffer_size instead
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_BLOCK_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Block size to be used for MyISAM index pages
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_DATA_POINTER_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 6
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 6
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Default pointer size to be used for MyISAM tables
+NUMERIC_MIN_VALUE 2
+NUMERIC_MAX_VALUE 7
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_MAX_SORT_FILE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 9223372036853727232
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 9223372036853727232
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't use the fast sort index method to created index if the temporary file would get bigger than this
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 1048576
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_MMAP_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 18446744073709551615
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709551615
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Restricts the total memory used for memory mapping of MySQL tables
+NUMERIC_MIN_VALUE 7
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_RECOVER_OPTIONS
+SESSION_VALUE NULL
+GLOBAL_VALUE DEFAULT
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE DEFAULT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Specifies how corrupted tables should be automatically repaired
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST DEFAULT,BACKUP,FORCE,QUICK,BACKUP_ALL,OFF
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME MYISAM_REPAIR_THREADS
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If larger than 1, when repairing a MyISAM table all indexes will be created in parallel, with one thread per index. The value of 1 disables parallel repair
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_SORT_BUFFER_SIZE
+SESSION_VALUE 134216704
+GLOBAL_VALUE 134216704
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 134216704
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_STATS_METHOD
+SESSION_VALUE NULLS_UNEQUAL
+GLOBAL_VALUE NULLS_UNEQUAL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULLS_UNEQUAL
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies how MyISAM index statistics collection code should treat NULLs. Possible values of name are NULLS_UNEQUAL (default behavior for 4.1 and later), NULLS_EQUAL (emulate 4.0 behavior), and NULLS_IGNORED
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULLS_UNEQUAL,NULLS_EQUAL,NULLS_IGNORED
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_USE_MMAP
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use memory mapping for reading and writing MyISAM tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME MYSQL56_TEMPORAL_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use MySQL-5.6 (instead of MariaDB-5.3) format for TIME, DATETIME, TIMESTAMP columns.
+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 NET_BUFFER_LENGTH
+SESSION_VALUE 16384
+GLOBAL_VALUE 16384
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16384
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Buffer length for TCP/IP and socket communication
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME NET_READ_TIMEOUT
+SESSION_VALUE 30
+GLOBAL_VALUE 30
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 30
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of seconds to wait for more data from a connection before aborting the read
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME NET_RETRY_COUNT
+SESSION_VALUE 10
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If a read on a communication port is interrupted, retry this many times before giving up
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME NET_WRITE_TIMEOUT
+SESSION_VALUE 60
+GLOBAL_VALUE 60
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 60
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of seconds to wait for a block to be written to a connection before aborting the write
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OLD
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use compatible behavior from previous MariaDB version. See also --old-mode
+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 OLD_ALTER_TABLE
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use old, non-optimized alter table
+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 OLD_MODE
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Used to emulate old behavior from earlier MariaDB or MySQL versions
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NO_DUP_KEY_WARNINGS_WITH_IGNORE,NO_PROGRESS_INFO,ZERO_DATE_TIME_CAST
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OLD_PASSWORDS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use old password encryption method (needed for 4.0 and older clients)
+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 OPTIMIZER_PRUNE_LEVEL
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Controls the heuristic(s) applied during query optimization to prune less-promising partial plans from the optimizer search space. Meaning: 0 - do not apply any heuristic, thus perform exhaustive search; 1 - prune plans based on number of retrieved rows
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OPTIMIZER_SEARCH_DEPTH
+SESSION_VALUE 62
+GLOBAL_VALUE 62
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 62
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum depth of search performed by the query optimizer. Values larger than the number of relations in a query result in better query plans, but take longer to compile a query. Values smaller than the number of tables in a relation result in faster optimization, but may produce very bad query plans. If set to 0, the system will automatically pick a reasonable value; if set to 63, the optimizer will switch to the original find_best search. NOTE: The value 63 and its associated behaviour is deprecated.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 63
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OPTIMIZER_SELECTIVITY_SAMPLING_LIMIT
+SESSION_VALUE 100
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Controls number of record samples to check condition selectivity
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OPTIMIZER_SWITCH
+SESSION_VALUE index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
+GLOBAL_VALUE index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE FLAGSET
+VARIABLE_COMMENT Fine-tune the optimizer behavior
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST index_merge,index_merge_union,index_merge_sort_union,index_merge_intersection,index_merge_sort_intersection,engine_condition_pushdown,index_condition_pushdown,derived_merge,derived_with_keys,firstmatch,loosescan,materialization,in_to_exists,semijoin,partial_match_rowid_merge,partial_match_table_scan,subquery_cache,mrr,mrr_cost_based,mrr_sort_keys,outer_join_with_cache,semijoin_with_cache,join_cache_incremental,join_cache_hashed,join_cache_bka,optimize_join_buffer_size,table_elimination,extended_keys,exists_to_in,orderby_uses_equalities,default
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OPTIMIZER_USE_CONDITION_SELECTIVITY
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Controls selectivity of which conditions the optimizer takes into account to calculate cardinality of a partial join when it searches for the best execution plan Meaning: 1 - use selectivity of index backed range conditions to calculate the cardinality of a partial join if the last joined table is accessed by full table scan or an index scan, 2 - use selectivity of index backed range conditions to calculate the cardinality of a partial join in any case, 3 - additionally always use selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join, 4 - use histograms to calculate selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join.5 - additionally use selectivity of certain non-range predicates calculated on record samples
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 5
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable the performance schema.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME PERFORMANCE_SCHEMA_ACCOUNTS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented user@host accounts. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_DIGESTS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 200
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Size of the statement digest. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 200
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_LONG_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows in EVENTS_STAGES_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows per thread in EVENTS_STAGES_HISTORY. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_LONG_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows in EVENTS_STATEMENTS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows per thread in EVENTS_STATEMENTS_HISTORY. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows in EVENTS_WAITS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows per thread in EVENTS_WAITS_HISTORY. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_HOSTS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented hosts. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_COND_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 80
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 80
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of condition instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_COND_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented condition objects. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_DIGEST_LENGTH
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum length considered for digest text, when stored in performance_schema tables.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 50
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 50
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of file instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_HANDLES
+SESSION_VALUE NULL
+GLOBAL_VALUE 32768
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32768
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of opened instrumented files.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented files. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MUTEX_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 200
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 200
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of mutex instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MUTEX_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 5000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented MUTEX objects. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 104857600
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_RWLOCK_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 40
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 40
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of rwlock instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_RWLOCK_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 5000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented RWLOCK objects. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 104857600
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SOCKET_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of socket instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SOCKET_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of opened instrumented sockets. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STAGE_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 150
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 150
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of stage instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STATEMENT_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 178
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 178
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of statement instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_HANDLES
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of opened instrumented tables. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 500
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented tables. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_THREAD_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 50
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 50
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of thread instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_THREAD_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 200
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented threads. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_SESSION_CONNECT_ATTRS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 2048
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Size of session attribute string buffer per thread. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_SETUP_ACTORS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of rows in SETUP_ACTORS.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_SETUP_OBJECTS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of rows in SETUP_OBJECTS.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_USERS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented users. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PID_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Pid file used by safe_mysqld
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PLUGIN_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Directory for plugins
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PLUGIN_MATURITY
+SESSION_VALUE NULL
+GLOBAL_VALUE unknown
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE unknown
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The lowest desirable plugin maturity. Plugins less mature than that will not be installed or loaded
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST unknown,experimental,alpha,beta,gamma,stable
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PORT
+SESSION_VALUE NULL
+GLOBAL_VALUE MASTER_MYPORT
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Port number to use for connection or 0 to default to, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306), whatever comes first
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PRELOAD_BUFFER_SIZE
+SESSION_VALUE 32768
+GLOBAL_VALUE 32768
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32768
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the buffer that is allocated when preloading indexes
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PROFILING
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1 (0 is default), statement profiling will be enabled. See SHOW PROFILES and SHOW PROFILE.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME PROFILING_HISTORY_SIZE
+SESSION_VALUE 15
+GLOBAL_VALUE 15
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 15
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of statements about which profiling information is maintained. If set to 0, no profiles are stored. See SHOW PROFILES.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 100
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PROGRESS_REPORT_TIME
+SESSION_VALUE 5
+GLOBAL_VALUE 5
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 5
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Seconds between sending progress reports to the client for time-consuming statements. Set to 0 to disable progress reporting.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PROTOCOL_VERSION
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT The version of the client/server protocol used by the MariaDB server
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME PROXY_USER
+SESSION_VALUE
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The proxy user account name used when logging in
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME PSEUDO_SLAVE_MODE
+SESSION_VALUE OFF
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT SET pseudo_slave_mode= 0,1 are commands that mysqlbinlog adds to beginning and end of binary log dumps. While zero value indeed disables, the actual enabling of the slave applier execution mode is done implicitly when a Format_description_event is sent through the session.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME PSEUDO_THREAD_ID
+SESSION_VALUE 10
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT This variable is for internal server use
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME QUERY_ALLOC_BLOCK_SIZE
+SESSION_VALUE 16384
+GLOBAL_VALUE 16384
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16384
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Allocation block size for query parsing and execution
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1048576
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't cache results that are bigger than this
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_MIN_RES_UNIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 4096
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4096
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The minimum size for blocks allocated by the query cache
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 8
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1048576
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The memory allocated to store results from old queries
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_STRIP_COMMENTS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Strip all comments from a query before storing it in the query cache
+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 QUERY_CACHE_TYPE
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT OFF = Don't cache or retrieve results. ON = Cache all results except SELECT SQL_NO_CACHE ... queries. DEMAND = Cache only SELECT SQL_CACHE ... queries
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON,DEMAND
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_WLOCK_INVALIDATE
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Invalidate queries in query cache on LOCK for write
+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 QUERY_PREALLOC_SIZE
+SESSION_VALUE 24576
+GLOBAL_VALUE 24576
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 24576
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Persistent buffer for query parsing and execution
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME RANGE_ALLOC_BLOCK_SIZE
+SESSION_VALUE 4096
+GLOBAL_VALUE 4096
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4096
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Allocation block size for storing ranges during optimization
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME READ_BUFFER_SIZE
+SESSION_VALUE 131072
+GLOBAL_VALUE 131072
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 131072
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Each thread that does a sequential scan allocates a buffer of this size for each table it scans. If you do many sequential scans, you may want to increase this value
+NUMERIC_MIN_VALUE 8192
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME READ_ONLY
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Make all non-temporary tables read-only, with the exception for replication (slave) threads and users with the SUPER privilege
+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 READ_RND_BUFFER_SIZE
+SESSION_VALUE 262144
+GLOBAL_VALUE 262144
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 262144
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT When reading rows in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ROWID_MERGE_BUFF_SIZE
+SESSION_VALUE 8388608
+GLOBAL_VALUE 8388608
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8388608
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the buffers used [NOT] IN evaluation via partial matching
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SECURE_AUTH
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disallow authentication for accounts that have old (pre-4.1) passwords
+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 SECURE_FILE_PRIV
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to files within specified directory
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SERVER_ID
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Uniquely identifies the server instance in the community of replication partners
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SKIP_EXTERNAL_LOCKING
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't use system (external) locking
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SKIP_NAME_RESOLVE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't resolve hostnames. All hostnames are IP's or 'localhost'.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME SKIP_NETWORKING
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't allow connection with TCP/IP
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME SKIP_REPLICATION
+SESSION_VALUE OFF
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Changes are logged into the binary log with the @@skip_replication flag set. Such events will not be replicated by slaves that run with --replicate-events-marked-for-skip set different from its default of REPLICATE. See Selectively skipping replication of binlog events for more information.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SKIP_SHOW_DATABASE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't allow 'SHOW DATABASE' commands
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME SLAVE_COMPRESSED_PROTOCOL
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use compression on master/slave protocol
+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 SLAVE_MAX_ALLOWED_PACKET
+SESSION_VALUE NULL
+GLOBAL_VALUE 1073741824
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1073741824
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum packet length to sent successfully from the master to slave.
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLOW_LAUNCH_TIME
+SESSION_VALUE NULL
+GLOBAL_VALUE 2
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If creating the thread takes longer than this value (in seconds), the Slow_launch_threads counter will be incremented
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLOW_QUERY_LOG
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log slow queries to a table or log file. Defaults logging to a file 'hostname'-slow.log or a table mysql.slow_log if --log-output=TABLE is used. Must be enabled to activate other slow log options.
+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 SLOW_QUERY_LOG_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Log slow queries to given log file. Defaults logging to 'hostname'-slow.log. Must be enabled to activate other slow log options
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SOCKET
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Socket file to use for connection
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SORT_BUFFER_SIZE
+SESSION_VALUE 262144
+GLOBAL_VALUE 262144
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 2097152
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Each thread that needs to do a sort allocates a buffer of this size
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SQL_AUTO_IS_NULL
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the query SELECT * FROM table_name WHERE auto_increment_column IS NULL will return an auto-increment that has just been successfully inserted, the same as the LAST_INSERT_ID() function. Some ODBC programs make use of this IS NULL comparison.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_BIG_SELECTS
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 0, MariaDB will not perform large SELECTs. See max_join_size for details. If max_join_size is set to anything but DEFAULT, sql_big_selects is automatically set to 0. If sql_big_selects is again set, max_join_size will be ignored.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_BUFFER_RESULT
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1 (0 is default), results from SELECT statements are always placed into temporary tables. This can help the server when it takes a long time to send the results to the client by allowing the table locks to be freed early.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_LOG_BIN
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 0 (1 is the default), no logging to the binary log is done for the client. Only clients with the SUPER privilege can update this variable. Can have unintended consequences if set globally, see SET SQL_LOG_BIN. Starting MariaDB 10.1.7, this variable does not affect the replication of events in a Galera cluster.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_LOG_OFF
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1 (0 is the default), no logging to the general query log is done for the client. Only clients with the SUPER privilege can update this variable.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_MODE
+SESSION_VALUE ANSI_QUOTES
+GLOBAL_VALUE NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Sets the sql mode
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,IGNORE_BAD_TABLE_OPTIONS,ONLY_FULL_GROUP_BY,NO_UNSIGNED_SUBTRACTION,NO_DIR_IN_CREATE,POSTGRESQL,ORACLE,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE,NO_ENGINE_SUBSTITUTION,PAD_CHAR_TO_FULL_LENGTH
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SQL_NOTES
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the default, warning_count is incremented each time a Note warning is encountered. If set to 0, Note warnings are not recorded. mysqldump has outputs to set this variable to 0 so that no unnecessary increments occur when data is reloaded.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_QUOTE_SHOW_CREATE
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the default, the server will quote identifiers for SHOW CREATE DATABASE, SHOW CREATE TABLE and SHOW CREATE VIEW statements. Quoting is disabled if set to 0. Enable to ensure replications works when identifiers require quoting.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_SAFE_UPDATES
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, UPDATEs and DELETEs need either a key in the WHERE clause, or a LIMIT clause, or else they will aborted. Prevents the common mistake of accidentally deleting or updating every row in a table.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_SELECT_LIMIT
+SESSION_VALUE 18446744073709551615
+GLOBAL_VALUE 18446744073709551615
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709551615
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum number of rows to return from SELECT statements
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_WARNINGS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, single-row INSERTs will produce a string containing warning information if a warning occurs.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SSL_CA
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT CA file in PEM format (check OpenSSL docs, implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SSL_CAPATH
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT CA directory (check OpenSSL docs, implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SSL_CERT
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT X509 cert in PEM format (implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SSL_CIPHER
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT SSL cipher to use (implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SSL_CRL
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT CRL file in PEM format (check OpenSSL docs, implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SSL_CRLPATH
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT CRL directory (check OpenSSL docs, implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SSL_KEY
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT X509 key in PEM format (implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME STORAGE_ENGINE
+SESSION_VALUE MyISAM
+GLOBAL_VALUE MyISAM
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE MyISAM
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Alias for @@default_storage_engine. Deprecated
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME STORED_PROGRAM_CACHE
+SESSION_VALUE NULL
+GLOBAL_VALUE 256
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 256
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The soft upper limit for number of cached stored routines for one connection.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 524288
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME STRICT_PASSWORD_VALIDATION
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT When password validation plugins are enabled, reject passwords that cannot be validated (passwords specified as a hash)
+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 SYNC_BINLOG
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Synchronously flush binary log to disk after every #th event. Use 0 (default) to disable synchronous flushing
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SYNC_FRM
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Sync .frm files to disk on creation
+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 SYNC_MASTER_INFO
+SESSION_VALUE NULL
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Synchronously flush master info to disk after every #th event. Use 0 to disable synchronous flushing
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TABLE_DEFINITION_CACHE
+SESSION_VALUE NULL
+GLOBAL_VALUE 400
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 400
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of cached table definitions
+NUMERIC_MIN_VALUE 400
+NUMERIC_MAX_VALUE 2097152
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TABLE_OPEN_CACHE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 2000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of cached open tables
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT How many threads we should keep in a cache for reuse
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_CONCURRENCY
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Permits the application to give the threads system a hint for the desired number of threads that should be run at the same time.This variable has no effect, and is deprecated. It will be removed in a future release.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 512
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_HANDLING
+SESSION_VALUE NULL
+GLOBAL_VALUE no-threads
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE one-thread-per-connection
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Define threads usage for handling queries
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST one-thread-per-connection,no-threads
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_STACK
+SESSION_VALUE NULL
+GLOBAL_VALUE 299008
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 299008
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The stack size for each thread
+NUMERIC_MIN_VALUE 131072
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TIMED_MUTEXES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Specify whether to time mutexes. Deprecated, has no effect.
+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 TIMESTAMP
+SESSION_VALUE 1409578823.000000
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0.000000
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT Set the time for this client
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME TIME_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE %H:%i:%s
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE %H:%i:%s
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The TIME format (ignored)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TIME_ZONE
+SESSION_VALUE +00:00
+GLOBAL_VALUE SYSTEM
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE SYSTEM
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The current time zone, used to initialize the time zone for a client when it connects. Set to SYSTEM by default, in which the client uses the system time zone value.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME TMPDIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Path for temporary files. Several paths may be specified, separated by a colon (:), in this case they are used in a round-robin fashion
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TMP_TABLE_SIZE
+SESSION_VALUE 16777216
+GLOBAL_VALUE 16777216
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16777216
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table.
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TRANSACTION_ALLOC_BLOCK_SIZE
+SESSION_VALUE 8192
+GLOBAL_VALUE 8192
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8192
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Allocation block size for transactions to be stored in binary log
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 134217728
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TRANSACTION_PREALLOC_SIZE
+SESSION_VALUE 4096
+GLOBAL_VALUE 4096
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4096
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Persistent buffer for transactions to be stored in binary log
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 134217728
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TX_ISOLATION
+SESSION_VALUE REPEATABLE-READ
+GLOBAL_VALUE REPEATABLE-READ
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE REPEATABLE-READ
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Default transaction isolation level
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST READ-UNCOMMITTED,READ-COMMITTED,REPEATABLE-READ,SERIALIZABLE
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME TX_READ_ONLY
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Default transaction access mode. If set to OFF, the default, access is read/write. If set to ON, access is read-only. The SET TRANSACTION statement can also change the value of this variable. See SET TRANSACTION and START TRANSACTION.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME UNIQUE_CHECKS
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the default, secondary indexes in InnoDB tables are performed. If set to 0, storage engines can (but are not required to) assume that duplicate keys are not present in input data. Set to 0 to speed up imports of large tables to InnoDB. The storage engine will still issue a duplicate key error if it detects one, even if set to 0.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME UPDATABLE_VIEWS_WITH_LIMIT
+SESSION_VALUE YES
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE YES
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT YES = Don't issue an error message (warning only) if a VIEW without presence of a key of the underlying table is used in queries with a LIMIT clause for updating. NO = Prohibit update of a VIEW, which does not contain a key of the underlying table and the query uses a LIMIT clause (usually get from GUI tools)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NO,YES
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME USERSTAT
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enables statistics gathering for USER_STATISTICS, CLIENT_STATISTICS, INDEX_STATISTICS and TABLE_STATISTICS tables in the INFORMATION_SCHEMA
+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 USE_STAT_TABLES
+SESSION_VALUE NEVER
+GLOBAL_VALUE NEVER
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NEVER
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies how to use system statistics tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NEVER,COMPLEMENTARY,PREFERABLY
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WAIT_TIMEOUT
+SESSION_VALUE 28800
+GLOBAL_VALUE 28800
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 28800
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of seconds the server waits for activity on a connection before closing it
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WARNING_COUNT
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of errors, warnings, and notes that resulted from the last statement that generated messages
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+select VARIABLE_NAME, VARIABLE_SCOPE, VARIABLE_TYPE, VARIABLE_COMMENT,
+NUMERIC_MIN_VALUE, NUMERIC_MAX_VALUE, NUMERIC_BLOCK_SIZE,
+ENUM_VALUE_LIST, READ_ONLY, COMMAND_LINE_ARGUMENT
+from information_schema.system_variables
+where variable_name in (
+'have_openssl',
+'have_symlink',
+'hostname',
+'large_files_support',
+'lower_case_file_system',
+'lower_case_table_names',
+'open_files_limit',
+'rand_seed1',
+'rand_seed2',
+'system_time_zone',
+'version_comment',
+'version_compile_machine', 'version_compile_os',
+'version_malloc_library', 'version_ssl_library', 'version'
+ )
+order by variable_name;
+VARIABLE_NAME HAVE_OPENSSL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Comparing have_openssl with have_ssl will indicate whether YaSSL or openssl was used. If YaSSL, have_ssl will be YES, but have_openssl will be NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_SYMLINK
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If symbolic link support is enabled, will be set to YES, otherwise will be set to NO. Required for the INDEX DIRECTORY and DATA DIRECTORY table options (see CREATE TABLE) and Windows symlink support. Will be set to DISABLED if the server is started with the --skip-symbolic-links option.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HOSTNAME
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Server host name
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LARGE_FILES_SUPPORT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether mysqld was compiled with options for large file support
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOWER_CASE_FILE_SYSTEM
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Case sensitivity of file names on the file system where the data directory is located
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOWER_CASE_TABLE_NAMES
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT If set to 1 table names are stored in lowercase on disk and table names will be case-insensitive. Should be set to 2 if you are using a case insensitive file system
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 2
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME OPEN_FILES_LIMIT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If this is not 0, then mysqld will use this value to reserve file descriptors to use with setrlimit(). If this value is 0 then mysqld will reserve max_connections*5 or max_connections + table_cache*2 (whichever is larger) number of file descriptors
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME RAND_SEED1
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME RAND_SEED2
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SYSTEM_TIME_ZONE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The server system time zone
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Server version number. It may also include a suffix with configuration or build information. -debug indicates debugging support was enabled on the server, and -log indicates at least one of the binary log, general log or slow query log are enabled, for example 10.1.1-MariaDB-mariadb1precise-log.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_COMMENT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Value of the COMPILATION_COMMENT option specified by CMake when building MariaDB, for example mariadb.org binary distribution.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_COMPILE_MACHINE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The machine type or architecture MariaDB was built on, for example i686.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_COMPILE_OS
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Operating system that MariaDB was built on, for example debian-linux-gnu.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_MALLOC_LIBRARY
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Version of the used malloc library
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_SSL_LIBRARY
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Version of the used SSL library
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+select VARIABLE_NAME, GLOBAL_VALUE_ORIGIN, VARIABLE_SCOPE, VARIABLE_TYPE,
+VARIABLE_COMMENT, ENUM_VALUE_LIST, READ_ONLY, COMMAND_LINE_ARGUMENT
+from information_schema.system_variables
+where variable_name in (
+'log_tc_size'
+ )
+order by variable_name;
+VARIABLE_NAME LOG_TC_SIZE
+GLOBAL_VALUE_ORIGIN AUTO
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Size of transaction coordinator log.
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+set global div_precision_increment=default;
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded,32bit.rdiff b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded,32bit.rdiff
new file mode 100644
index 00000000000..80e08c6f65c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded,32bit.rdiff
@@ -0,0 +1,1271 @@
+--- sysvars_server_notembedded.result
++++ sysvars_server_notembedded,32bit.result~
+@@ -57,7 +57,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Auto-increment columns are incremented by this
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 65535
+@@ -71,7 +71,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Offset added to Auto-increment columns. Used when auto-increment-increment != 1
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 65535
+@@ -85,7 +85,7 @@
+ GLOBAL_VALUE_ORIGIN AUTO
+ DEFAULT_VALUE 150
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of outstanding connection requests MariaDB can have. This comes into play when the main MariaDB thread gets very many connection requests in a very short time
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 65535
+@@ -144,7 +144,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The size of the transactional cache for updates to transactional engines for the binary log. If you often use transactions containing many statements, you can increase this to get more performance
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -169,10 +169,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If non-zero, binlog write will wait at most binlog_commit_wait_usec microseconds for at least this many commits to queue up for group commit to the binlog. This can reduce I/O on the binlog and provide increased opportunity for parallel apply on the slave, but too high a value will decrease commit throughput.
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -183,10 +183,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum time, in microseconds, to wait for more commits to queue up for binlog group commit. Only takes effect if the value of binlog_commit_wait_count is non-zero.
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -256,7 +256,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The size of the statement cache for updates to non-transactional engines for the binary log. If you often use statements updating a great number of rows, you can increase this to get more performance.
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -270,7 +270,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Size of tree cache used in bulk insert optimisation. Note that this is a limit per thread!
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -463,7 +463,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 10
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of seconds the mysqld server is waiting for a connect packet before responding with 'Bad handshake'
+ NUMERIC_MIN_VALUE 2
+ NUMERIC_MAX_VALUE 31536000
+@@ -533,7 +533,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 15
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Long search depth for the two-step deadlock detection
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 33
+@@ -547,7 +547,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Short search depth for the two-step deadlock detection
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 32
+@@ -561,7 +561,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50000000
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Long timeout for the two-step deadlock detection (in microseconds)
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -575,7 +575,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10000
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Short timeout for the two-step deadlock detection (in microseconds)
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -645,7 +645,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The default week format used by WEEK() functions
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 7
+@@ -659,7 +659,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT statements pending. If so, it allows these to execute before continuing.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -673,7 +673,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 300
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT How long a INSERT DELAYED thread should wait for INSERT statements before terminating
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -687,7 +687,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT What size queue (in rows) should be allocated for handling INSERT DELAYED. If the queue becomes full, any client that does INSERT DELAYED will wait until there is room in the queue again
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -715,7 +715,7 @@
+ GLOBAL_VALUE_ORIGIN SQL
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Precision of the result of '/' operator will be increased on that value
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 30
+@@ -827,7 +827,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If non-zero, binary logs will be purged after expire_logs_days days; possible purges happen at startup and at binary log rotation
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 99
+@@ -869,7 +869,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of connections on extra-port
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 100000
+@@ -911,7 +911,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT A dedicated thread is created to flush all tables at the given interval
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 31536000
+@@ -953,7 +953,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 84
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The maximum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 84
+@@ -967,7 +967,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The minimum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 84
+@@ -981,7 +981,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 20
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of best matches to use for query expansion
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000
+@@ -1040,7 +1040,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The maximum length of the result of function GROUP_CONCAT()
+ NUMERIC_MIN_VALUE 4
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1275,7 +1275,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of bytes used for a histogram. If set to 0, no histograms are created by ANALYZE.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 255
+@@ -1303,7 +1303,7 @@
+ GLOBAL_VALUE_ORIGIN AUTO
+ DEFAULT_VALUE 128
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT How many host names should be cached to avoid resolving.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 65536
+@@ -1415,7 +1415,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 28800
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of seconds the server waits for activity on an interactive connection before closing it
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -1446,7 +1446,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The size of the buffer that is used for joins
+ NUMERIC_MIN_VALUE 128
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 128
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1471,7 +1471,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Controls what join operations can be executed with join buffers. Odd numbers are used for plain join buffers while even numbers are used for linked buffers
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 8
+@@ -1502,7 +1502,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The size of the buffer used for index blocks for MyISAM tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -1723,7 +1723,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 31536000
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Timeout in seconds to wait for a lock before returning an error.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -1877,7 +1877,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Write to slow log every #th slow query. Set to 1 to log everything. Increase it to reduce the size of the slow or the performance impact of slow logging
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -1919,7 +1919,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Log some not critical warnings to the general log file.Value can be between 0 and 11. Higher values mean more verbosity
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -1975,7 +1975,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4194304
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Max packet length to send to or receive from the server
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 1073741824
+@@ -1985,14 +1985,14 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME MAX_BINLOG_CACHE_SIZE
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 18446744073709547520
++GLOBAL_VALUE 4294963200
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 18446744073709547520
++DEFAULT_VALUE 4294963200
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Sets the total size of the transactional cache
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2003,7 +2003,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1073741824
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Binary log will be rotated automatically when the size exceeds this value.
+ NUMERIC_MIN_VALUE 4096
+ NUMERIC_MAX_VALUE 1073741824
+@@ -2013,14 +2013,14 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME MAX_BINLOG_STMT_CACHE_SIZE
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 18446744073709547520
++GLOBAL_VALUE 4294963200
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 18446744073709547520
++DEFAULT_VALUE 4294963200
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Sets the total size of the statement cache
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 4096
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2031,7 +2031,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 151
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of simultaneous clients allowed
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 100000
+@@ -2045,7 +2045,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If there is more than this number of interrupted connections from a host this host will be blocked from further connections
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2059,7 +2059,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 20
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16384
+@@ -2087,7 +2087,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 64
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Max number of errors/warnings to store for a statement
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 65535
+@@ -2104,7 +2104,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Don't allow creation of heap tables bigger than this
+ NUMERIC_MIN_VALUE 16384
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1024
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2115,7 +2115,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 20
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16384
+@@ -2143,7 +2143,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Max number of bytes in sorted records
+ NUMERIC_MIN_VALUE 4
+ NUMERIC_MAX_VALUE 8388608
+@@ -2157,7 +2157,7 @@
+ GLOBAL_VALUE_ORIGIN AUTO
+ DEFAULT_VALUE 1048576
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The maximum BLOB length to send to server from mysql_send_long_data API. Deprecated option; use max_allowed_packet instead.
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2199,7 +2199,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4294967295
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Limit assumed max number of seeks when looking up rows based on a key
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2227,7 +2227,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored)
+ NUMERIC_MIN_VALUE 4
+ NUMERIC_MAX_VALUE 8388608
+@@ -2241,7 +2241,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum stored procedure recursion depth
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 255
+@@ -2269,7 +2269,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 32
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Unused, will be removed.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2297,7 +2297,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4294967295
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT After this many write locks, allow some read locks to run in between
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2311,7 +2311,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Unused
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2325,7 +2325,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Unused
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1024
+@@ -2339,7 +2339,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Don't write queries to slow log that examine fewer rows than that
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2353,7 +2353,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 262144
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Size of buffer to use when using MRR with range access
+ NUMERIC_MIN_VALUE 8192
+ NUMERIC_MAX_VALUE 2147483647
+@@ -2367,10 +2367,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 256
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Ignored. Use mrr_buffer_size instead
+ NUMERIC_MIN_VALUE 1
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2381,7 +2381,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Block size to be used for MyISAM index pages
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 16384
+@@ -2395,7 +2395,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 6
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Default pointer size to be used for MyISAM tables
+ NUMERIC_MIN_VALUE 2
+ NUMERIC_MAX_VALUE 7
+@@ -2405,9 +2405,9 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME MYISAM_MAX_SORT_FILE_SIZE
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 9223372036853727232
++GLOBAL_VALUE 2146435072
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 9223372036853727232
++DEFAULT_VALUE 2146435072
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Don't use the fast sort index method to created index if the temporary file would get bigger than this
+@@ -2419,14 +2419,14 @@
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME MYISAM_MMAP_SIZE
+ SESSION_VALUE NULL
+-GLOBAL_VALUE 18446744073709551615
++GLOBAL_VALUE 4294967295
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+-DEFAULT_VALUE 18446744073709551615
++DEFAULT_VALUE 4294967295
+ VARIABLE_SCOPE GLOBAL
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Restricts the total memory used for memory mapping of MySQL tables
+ NUMERIC_MIN_VALUE 7
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
+@@ -2451,10 +2451,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If larger than 1, when repairing a MyISAM table all indexes will be created in parallel, with one thread per index. The value of 1 disables parallel repair
+ NUMERIC_MIN_VALUE 1
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2468,7 +2468,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE
+ NUMERIC_MIN_VALUE 4096
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -2521,7 +2521,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 16384
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Buffer length for TCP/IP and socket communication
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 1048576
+@@ -2535,7 +2535,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 30
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of seconds to wait for more data from a connection before aborting the read
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -2549,7 +2549,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If a read on a communication port is interrupted, retry this many times before giving up
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2563,7 +2563,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 60
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of seconds to wait for a block to be written to a connection before aborting the write
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -2633,7 +2633,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Controls the heuristic(s) applied during query optimization to prune less-promising partial plans from the optimizer search space. Meaning: 0 - do not apply any heuristic, thus perform exhaustive search; 1 - prune plans based on number of retrieved rows
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1
+@@ -2647,7 +2647,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 62
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum depth of search performed by the query optimizer. Values larger than the number of relations in a query result in better query plans, but take longer to compile a query. Values smaller than the number of tables in a relation result in faster optimization, but may produce very bad query plans. If set to 0, the system will automatically pick a reasonable value; if set to 63, the optimizer will switch to the original find_best search. NOTE: The value 63 and its associated behaviour is deprecated.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 63
+@@ -2661,7 +2661,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Controls number of record samples to check condition selectivity
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 4294967295
+@@ -2689,7 +2689,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Controls selectivity of which conditions the optimizer takes into account to calculate cardinality of a partial join when it searches for the best execution plan Meaning: 1 - use selectivity of index backed range conditions to calculate the cardinality of a partial join if the last joined table is accessed by full table scan or an index scan, 2 - use selectivity of index backed range conditions to calculate the cardinality of a partial join in any case, 3 - additionally always use selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join, 4 - use histograms to calculate selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join.5 - additionally use selectivity of certain non-range predicates calculated on record samples
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 5
+@@ -2717,7 +2717,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented user@host accounts. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2731,7 +2731,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Size of the statement digest. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 200
+@@ -2745,7 +2745,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows in EVENTS_STAGES_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2759,7 +2759,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows per thread in EVENTS_STAGES_HISTORY. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1024
+@@ -2773,7 +2773,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows in EVENTS_STATEMENTS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2787,7 +2787,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows per thread in EVENTS_STATEMENTS_HISTORY. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1024
+@@ -2801,7 +2801,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows in EVENTS_WAITS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2815,7 +2815,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Number of rows per thread in EVENTS_WAITS_HISTORY. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1024
+@@ -2829,7 +2829,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented hosts. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2843,7 +2843,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 80
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of condition instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2857,7 +2857,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented condition objects. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2871,7 +2871,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1024
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum length considered for digest text, when stored in performance_schema tables.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1048576
+@@ -2885,7 +2885,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of file instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2899,7 +2899,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 32768
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of opened instrumented files.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1048576
+@@ -2913,7 +2913,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented files. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -2927,7 +2927,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 200
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of mutex instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2941,7 +2941,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented MUTEX objects. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 104857600
+@@ -2955,7 +2955,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 40
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of rwlock instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2969,7 +2969,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented RWLOCK objects. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 104857600
+@@ -2983,7 +2983,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of socket instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -2997,7 +2997,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of opened instrumented sockets. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -3011,7 +3011,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 150
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of stage instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -3025,7 +3025,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 178
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of statement instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -3039,7 +3039,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of opened instrumented tables. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -3053,7 +3053,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented tables. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -3067,7 +3067,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 50
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of thread instruments.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 256
+@@ -3081,7 +3081,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented threads. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -3095,7 +3095,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Size of session attribute string buffer per thread. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -3109,7 +3109,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of rows in SETUP_ACTORS.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1024
+@@ -3123,7 +3123,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 100
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of rows in SETUP_OBJECTS.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1048576
+@@ -3137,7 +3137,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE -1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT
++VARIABLE_TYPE INT
+ VARIABLE_COMMENT Maximum number of instrumented users. Use 0 to disable, -1 for automated sizing.
+ NUMERIC_MIN_VALUE -1
+ NUMERIC_MAX_VALUE 1048576
+@@ -3207,7 +3207,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 32768
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The size of the buffer that is allocated when preloading indexes
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 1073741824
+@@ -3235,7 +3235,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 15
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of statements about which profiling information is maintained. If set to 0, no profiles are stored. See SHOW PROFILES.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 100
+@@ -3249,7 +3249,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 5
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Seconds between sending progress reports to the client for time-consuming statements. Set to 0 to disable progress reporting.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3305,10 +3305,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION ONLY
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT This variable is for internal server use
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -3319,7 +3319,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 16384
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Allocation block size for query parsing and execution
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3333,7 +3333,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1048576
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Don't cache results that are bigger than this
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3347,7 +3347,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4096
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The minimum size for blocks allocated by the query cache
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3364,7 +3364,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT The memory allocated to store results from old queries
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1024
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -3417,7 +3417,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 24576
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Persistent buffer for query parsing and execution
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3431,7 +3431,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4096
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Allocation block size for storing ranges during optimization
+ NUMERIC_MIN_VALUE 4096
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3445,7 +3445,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 131072
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Each thread that does a sequential scan allocates a buffer of this size for each table it scans. If you do many sequential scans, you may want to increase this value
+ NUMERIC_MIN_VALUE 8192
+ NUMERIC_MAX_VALUE 2147483647
+@@ -3473,7 +3473,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 262144
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT When reading rows in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 2147483647
+@@ -3753,10 +3753,10 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8388608
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The size of the buffers used [NOT] IN evaluation via partial matching
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 9223372036854775807
++NUMERIC_MAX_VALUE 2147483647
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -3795,7 +3795,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Uniquely identifies the server instance in the community of replication partners
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -3921,7 +3921,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Maximum number of parallel threads to use on slave for events in a single replication domain. When using multiple domains, this can be used to limit a single domain from grabbing all threads and thus stalling other domains. The default of 0 means to allow a domain to grab as many threads as it wants, up to the value of slave_parallel_threads.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16383
+@@ -3963,7 +3963,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1073741824
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The maximum packet length to sent successfully from the master to slave.
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 1073741824
+@@ -3991,7 +3991,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 131072
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Limit on how much memory SQL threads should use per parallel replication thread when reading ahead in the relay log looking for opportunities for parallel replication. Only used when --slave-parallel-threads > 0.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 2147483647
+@@ -4019,7 +4019,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If non-zero, number of threads to spawn to apply in parallel events on the slave that were group-committed on the master or were logged with GTID in different replication domains. Note that these threads are in addition to the IO and SQL threads, which are always created by a replication slave
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16383
+@@ -4075,7 +4075,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of times the slave SQL thread will retry a transaction in case it failed with a deadlock or elapsed lock wait timeout, before giving up and stopping
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -4103,7 +4103,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 2
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If creating the thread takes longer than this value (in seconds), the Slow_launch_threads counter will be incremented
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 31536000
+@@ -4162,7 +4162,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Each thread that needs to do a sort allocates a buffer of this size
+ NUMERIC_MIN_VALUE 1024
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -4453,7 +4453,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 256
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The soft upper limit for number of cached stored routines for one connection.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 524288
+@@ -4551,7 +4551,7 @@
+ GLOBAL_VALUE_ORIGIN AUTO
+ DEFAULT_VALUE 400
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of cached table definitions
+ NUMERIC_MIN_VALUE 400
+ NUMERIC_MAX_VALUE 2097152
+@@ -4565,7 +4565,7 @@
+ GLOBAL_VALUE_ORIGIN CONFIG
+ DEFAULT_VALUE 2000
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of cached open tables
+ NUMERIC_MIN_VALUE 10
+ NUMERIC_MAX_VALUE 1048576
+@@ -4579,7 +4579,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT How many threads we should keep in a cache for reuse
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 16384
+@@ -4593,7 +4593,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 10
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Permits the application to give the threads system a hint for the desired number of threads that should be run at the same time.This variable has no effect, and is deprecated. It will be removed in a future release.
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 512
+@@ -4778,7 +4778,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table.
+ NUMERIC_MIN_VALUE 1024
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -4789,7 +4789,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 8192
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Allocation block size for transactions to be stored in binary log
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 134217728
+@@ -4803,7 +4803,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 4096
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Persistent buffer for transactions to be stored in binary log
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 134217728
+@@ -4901,7 +4901,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 28800
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT The number of seconds the server waits for activity on a connection before closing it
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 31536000
+@@ -5005,7 +5005,7 @@
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME OPEN_FILES_LIMIT
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If this is not 0, then mysqld will use this value to reserve file descriptors to use with setrlimit(). If this value is 0 then mysqld will reserve max_connections*5 or max_connections + table_cache*2 (whichever is larger) number of file descriptors
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 4294967295
+@@ -5018,7 +5018,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -5028,7 +5028,7 @@
+ VARIABLE_TYPE BIGINT UNSIGNED
+ VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
+ NUMERIC_MIN_VALUE 0
+-NUMERIC_MAX_VALUE 18446744073709551615
++NUMERIC_MAX_VALUE 4294967295
+ NUMERIC_BLOCK_SIZE 1
+ ENUM_VALUE_LIST NULL
+ READ_ONLY NO
+@@ -5113,7 +5113,7 @@
+ VARIABLE_NAME LOG_TC_SIZE
+ GLOBAL_VALUE_ORIGIN AUTO
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Size of transaction coordinator log.
+ ENUM_VALUE_LIST NULL
+ READ_ONLY YES
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
new file mode 100644
index 00000000000..9288912eb57
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
@@ -0,0 +1,5121 @@
+set time_zone='+00:00';
+set timestamp=unix_timestamp('2014-09-01 13:40:23');
+set pseudo_thread_id=10;
+set sql_mode=ansi_quotes;
+set global div_precision_increment=5;
+select * from information_schema.system_variables
+where variable_name not like 'aria%' and
+variable_name not like 'debug%' and
+variable_name not like 'wsrep%' and
+variable_name not in (
+'have_openssl',
+'have_symlink',
+'hostname',
+'large_files_support', 'log_tc_size',
+'lower_case_file_system',
+'lower_case_table_names',
+'open_files_limit',
+'rand_seed1',
+'rand_seed2',
+'system_time_zone',
+'version_comment',
+'version_compile_machine', 'version_compile_os',
+'version_malloc_library', 'version_ssl_library', 'version'
+ )
+order by variable_name;
+VARIABLE_NAME AUTOCOMMIT
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the default, all queries are committed immediately. If set to 0, they are only committed upon a COMMIT statement, or rolled back with a ROLLBACK statement. If autocommit is set to 0, and then changed to 1, all open transactions are immediately committed.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME AUTOMATIC_SP_PRIVILEGES
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Creating and dropping stored procedures alters ACLs
+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 AUTO_INCREMENT_INCREMENT
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Auto-increment columns are incremented by this
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 65535
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME AUTO_INCREMENT_OFFSET
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Offset added to Auto-increment columns. Used when auto-increment-increment != 1
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 65535
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME BACK_LOG
+SESSION_VALUE NULL
+GLOBAL_VALUE 80
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE 150
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of outstanding connection requests MariaDB can have. This comes into play when the main MariaDB thread gets very many connection requests in a very short time
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 65535
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BASEDIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Path to installation directory. All paths are usually resolved relative to this
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BIG_TABLES
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Old variable, which if set to 1, allows large result sets by saving all temporary sets to disk, avoiding 'table full' errors. No longer needed, as the server now handles this automatically. sql_big_tables is a synonym.
+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 BINLOG_ANNOTATE_ROW_EVENTS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Tells the master to annotate RBR events with the statement that caused these events
+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 BINLOG_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 32768
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32768
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the transactional cache for updates to transactional engines for the binary log. If you often use transactions containing many statements, you can increase this to get more performance
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_CHECKSUM
+SESSION_VALUE NULL
+GLOBAL_VALUE NONE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NONE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Type of BINLOG_CHECKSUM_ALG. Include checksum for log events in the binary log
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NONE,CRC32
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_COMMIT_WAIT_COUNT
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If non-zero, binlog write will wait at most binlog_commit_wait_usec microseconds for at least this many commits to queue up for group commit to the binlog. This can reduce I/O on the binlog and provide increased opportunity for parallel apply on the slave, but too high a value will decrease commit throughput.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_COMMIT_WAIT_USEC
+SESSION_VALUE NULL
+GLOBAL_VALUE 100000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum time, in microseconds, to wait for more commits to queue up for binlog group commit. Only takes effect if the value of binlog_commit_wait_count is non-zero.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_DIRECT_NON_TRANSACTIONAL_UPDATES
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Causes updates to non-transactional engines using statement format to be written directly to binary log. Before using this option make sure that there are no dependencies between transactional and non-transactional tables such as in the statement INSERT INTO t_myisam SELECT * FROM t_innodb; otherwise, slaves may diverge from the master.
+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 BINLOG_FORMAT
+SESSION_VALUE STATEMENT
+GLOBAL_VALUE STATEMENT
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE STATEMENT
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT What form of binary logging the master will use: either ROW for row-based binary logging, STATEMENT for statement-based binary logging, or MIXED. MIXED is statement-based binary logging except for those statements where only row-based is correct: those which involve user-defined functions (i.e. UDFs) or the UUID() function; for those, row-based binary logging is automatically used.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST MIXED,STATEMENT,ROW
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_OPTIMIZE_THREAD_SCHEDULING
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Run fast part of group commit in a single thread, to optimize kernel thread scheduling. On by default. Disable to run each transaction in group commit in its own thread, which can be slower at very high concurrency. This option is mostly for testing one algorithm versus the other, and it should not normally be necessary to change it.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_ROW_IMAGE
+SESSION_VALUE FULL
+GLOBAL_VALUE FULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE FULL
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Controls whether rows should be logged in 'FULL', 'NOBLOB' or 'MINIMAL' formats. 'FULL', means that all columns in the before and after image are logged. 'NOBLOB', means that mysqld avoids logging blob columns whenever possible (eg, blob column was not changed or is not part of primary key). 'MINIMAL', means that a PK equivalent (PK columns or full row if there is no PK in the table) is logged in the before image, and only changed columns are logged in the after image. (Default: FULL).
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST MINIMAL,NOBLOB,FULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BINLOG_STMT_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 32768
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32768
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the statement cache for updates to non-transactional engines for the binary log. If you often use statements updating a great number of rows, you can increase this to get more performance.
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME BULK_INSERT_BUFFER_SIZE
+SESSION_VALUE 8388608
+GLOBAL_VALUE 8388608
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8388608
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Size of tree cache used in bulk insert optimisation. Note that this is a limit per thread!
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME CHARACTER_SETS_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Directory where character sets are
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME CHARACTER_SET_CLIENT
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set for statements that arrive from the client
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_CONNECTION
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set used for literals that do not have a character set introducer and for number-to-string conversion
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_DATABASE
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set used by the default database
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_FILESYSTEM
+SESSION_VALUE binary
+GLOBAL_VALUE binary
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE binary
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The filesystem character set
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_RESULTS
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set used for returning query results to the client
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_SERVER
+SESSION_VALUE latin1
+GLOBAL_VALUE latin1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The default character set
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME CHARACTER_SET_SYSTEM
+SESSION_VALUE NULL
+GLOBAL_VALUE utf8
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The character set used by the server for storing identifiers
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME COLLATION_CONNECTION
+SESSION_VALUE latin1_swedish_ci
+GLOBAL_VALUE latin1_swedish_ci
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1_swedish_ci
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The collation of the connection character set
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME COLLATION_DATABASE
+SESSION_VALUE latin1_swedish_ci
+GLOBAL_VALUE latin1_swedish_ci
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1_swedish_ci
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The collation of the database character set
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME COLLATION_SERVER
+SESSION_VALUE latin1_swedish_ci
+GLOBAL_VALUE latin1_swedish_ci
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE latin1_swedish_ci
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The server default collation
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME COMPLETION_TYPE
+SESSION_VALUE NO_CHAIN
+GLOBAL_VALUE NO_CHAIN
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NO_CHAIN
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The transaction completion type
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NO_CHAIN,CHAIN,RELEASE
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME CONCURRENT_INSERT
+SESSION_VALUE NULL
+GLOBAL_VALUE AUTO
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE AUTO
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Use concurrent insert with MyISAM
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NEVER,AUTO,ALWAYS
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME CONNECT_TIMEOUT
+SESSION_VALUE NULL
+GLOBAL_VALUE 60
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 10
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of seconds the mysqld server is waiting for a connect packet before responding with 'Bad handshake'
+NUMERIC_MIN_VALUE 2
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME CORE_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT write a core-file on crashes
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME DATADIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE PATH
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Path to the database root directory
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DATETIME_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE %Y-%m-%d %H:%i:%s
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE %Y-%m-%d %H:%i:%s
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The DATETIME format (ignored)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DATE_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE %Y-%m-%d
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE %Y-%m-%d
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The DATE format (ignored)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEADLOCK_SEARCH_DEPTH_LONG
+SESSION_VALUE 15
+GLOBAL_VALUE 15
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 15
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Long search depth for the two-step deadlock detection
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 33
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEADLOCK_SEARCH_DEPTH_SHORT
+SESSION_VALUE 4
+GLOBAL_VALUE 4
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Short search depth for the two-step deadlock detection
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 32
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEADLOCK_TIMEOUT_LONG
+SESSION_VALUE 50000000
+GLOBAL_VALUE 50000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 50000000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Long timeout for the two-step deadlock detection (in microseconds)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEADLOCK_TIMEOUT_SHORT
+SESSION_VALUE 10000
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Short timeout for the two-step deadlock detection (in microseconds)
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEFAULT_MASTER_CONNECTION
+SESSION_VALUE
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Master connection to use for all slave variables and slave commands
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME DEFAULT_REGEX_FLAGS
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Default flags for the regex library
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST DOTALL,DUPNAMES,EXTENDED,EXTRA,MULTILINE,UNGREEDY
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DEFAULT_STORAGE_ENGINE
+SESSION_VALUE MyISAM
+GLOBAL_VALUE MyISAM
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE MyISAM
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The default storage engine for new tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME DEFAULT_TMP_STORAGE_ENGINE
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The default storage engine for user-created temporary tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME DEFAULT_WEEK_FORMAT
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The default week format used by WEEK() functions
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 7
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DELAYED_INSERT_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT statements pending. If so, it allows these to execute before continuing.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DELAYED_INSERT_TIMEOUT
+SESSION_VALUE NULL
+GLOBAL_VALUE 300
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 300
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT How long a INSERT DELAYED thread should wait for INSERT statements before terminating
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DELAYED_QUEUE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT What size queue (in rows) should be allocated for handling INSERT DELAYED. If the queue becomes full, any client that does INSERT DELAYED will wait until there is room in the queue again
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME DELAY_KEY_WRITE
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies how MyISAM tables handles CREATE TABLE DELAY_KEY_WRITE. If set to ON, the default, any DELAY KEY WRITEs are honored. The key buffer is then flushed only when the table closes, speeding up writes. MyISAM tables should be automatically checked upon startup in this case, and --external locking should not be used, as it can lead to index corruption. If set to OFF, DELAY KEY WRITEs are ignored, while if set to ALL, all new opened tables are treated as if created with DELAY KEY WRITEs enabled.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON,ALL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME DIV_PRECISION_INCREMENT
+SESSION_VALUE 4
+GLOBAL_VALUE 5
+GLOBAL_VALUE_ORIGIN SQL
+DEFAULT_VALUE 4
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Precision of the result of '/' operator will be increased on that value
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 30
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ENCRYPT_BINLOG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Encrypt binary logs (including relay logs)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME ENCRYPT_TMP_DISK_TABLES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Encrypt temporary on-disk tables (created as part of query execution)
+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 ENCRYPT_TMP_FILES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Encrypt temporary files (created for filesort, binary log cache, etc)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME ENFORCE_STORAGE_ENGINE
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Force the use of a storage engine for new tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME ERROR_COUNT
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of errors that resulted from the last statement that generated messages
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME EVENT_SCHEDULER
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Enable the event scheduler. Possible values are ON, OFF, and DISABLED (keep the event scheduler completely deactivated, it cannot be activated run-time)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON,DISABLED,ORIGINAL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME EXPENSIVE_SUBQUERY_LIMIT
+SESSION_VALUE 100
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum number of rows a subquery may examine in order to be executed during optimization and used for constant optimization
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME EXPIRE_LOGS_DAYS
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If non-zero, binary logs will be purged after expire_logs_days days; possible purges happen at startup and at binary log rotation
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 99
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME EXPLICIT_DEFAULTS_FOR_TIMESTAMP
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT This option causes CREATE TABLE to create all TIMESTAMP columns as NULL with DEFAULT NULL attribute, Without this option, TIMESTAMP columns are NOT NULL and have implicit DEFAULT clauses. The old behavior is deprecated.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME EXTERNAL_USER
+SESSION_VALUE
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The external user account used when logging in
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME EXTRA_MAX_CONNECTIONS
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of connections on extra-port
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 100000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME EXTRA_PORT
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Extra port number to use for tcp connections in a one-thread-per-connection manner. 0 means don't use another port
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FLUSH
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Flush MyISAM tables to disk between SQL commands
+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 FLUSH_TIME
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT A dedicated thread is created to flush all tables at the given interval
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FOREIGN_KEY_CHECKS
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1 (the default) foreign key constraints (including ON UPDATE and ON DELETE behavior) InnoDB tables are checked, while if set to 0, they are not checked. 0 is not recommended for normal use, though it can be useful in situations where you know the data is consistent, but want to reload data in a different order from that that specified by parent/child relationships. Setting this variable to 1 does not retrospectively check for inconsistencies introduced while set to 0.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME FT_BOOLEAN_SYNTAX
+SESSION_VALUE NULL
+GLOBAL_VALUE + -><()~*:""&|
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE + -><()~*:""&|
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT List of operators for MATCH ... AGAINST ( ... IN BOOLEAN MODE)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FT_MAX_WORD_LEN
+SESSION_VALUE NULL
+GLOBAL_VALUE 84
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 84
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 84
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FT_MIN_WORD_LEN
+SESSION_VALUE NULL
+GLOBAL_VALUE 4
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The minimum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 84
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FT_QUERY_EXPANSION_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 20
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 20
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of best matches to use for query expansion
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME FT_STOPWORD_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE (built-in)
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Use stopwords from this file instead of built-in list
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME GENERAL_LOG
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log connections and queries to a table or log file. Defaults logging to a file 'hostname'.log or a table mysql.general_logif --log-output=TABLE is used.
+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 GENERAL_LOG_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Log connections and queries to given file
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME GROUP_CONCAT_MAX_LEN
+SESSION_VALUE 1024
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum length of the result of function GROUP_CONCAT()
+NUMERIC_MIN_VALUE 4
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME GTID_BINLOG_POS
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Last GTID logged to the binary log, per replicationdomain
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME GTID_BINLOG_STATE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The internal GTID state of the binlog, used to keep track of all GTIDs ever logged to the binlog.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME GTID_CURRENT_POS
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Current GTID position of the server. Per replication domain, this is either the last GTID replicated by a slave thread, or the GTID logged to the binary log, whichever is most recent.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME GTID_DOMAIN_ID
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Used with global transaction ID to identify logically independent replication streams. When events can propagate through multiple parallel paths (for example multiple masters), each independent source server must use a distinct domain_id. For simple tree-shaped replication topologies, it can be left at its default, 0.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME GTID_IGNORE_DUPLICATES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT When set, different master connections in multi-source replication are allowed to receive and process event groups with the same GTID (when using GTID mode). Only one will be applied, any others will be ignored. Within a given replication domain, just the sequence number will be used to decide whether a given GTID has been already applied; this means it is the responsibility of the user to ensure that GTID sequence numbers are strictly increasing.
+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 GTID_SEQ_NO
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Internal server usage, for replication with global transaction id. When set, next event group logged to the binary log will use this sequence number, not generate a new one, thus allowing to preserve master's GTID in slave's binlog.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME GTID_SLAVE_POS
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The list of global transaction IDs that were last replicated on the server, one for each replication domain.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME GTID_STRICT_MODE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enforce strict seq_no ordering of events in the binary log. Slave stops with an error if it encounters an event that would cause it to generate an out-of-order binlog if executed.
+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 HAVE_COMPRESS
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the zlib compression library is accessible to the server, this will be set to YES, otherwise it will be NO. The COMPRESS() and UNCOMPRESS() functions will only be available if set to YES.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_CRYPT
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the crypt() system call is available this variable will be set to YES, otherwise it will be set to NO. If set to NO, the ENCRYPT() function cannot be used.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_DYNAMIC_LOADING
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the server supports dynamic loading of plugins, will be set to YES, otherwise will be set to NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_GEOMETRY
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the server supports spatial data types, will be set to YES, otherwise will be set to NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_PROFILING
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If statement profiling is available, will be set to YES, otherwise will be set to NO. See SHOW PROFILES and SHOW PROFILE.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_QUERY_CACHE
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the server supports the query cache, will be set to YES, otherwise will be set to NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_RTREE_KEYS
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If RTREE indexes (used for spatial indexes) are available, will be set to YES, otherwise will be set to NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_SSL
+SESSION_VALUE NULL
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If the server supports secure connections, will be set to YES, otherwise will be set to NO. If set to DISABLED, the server was compiled with TLS support, but was not started with TLS support (see the mysqld options). See also have_openssl.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HISTOGRAM_SIZE
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of bytes used for a histogram. If set to 0, no histograms are created by ANALYZE.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 255
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME HISTOGRAM_TYPE
+SESSION_VALUE SINGLE_PREC_HB
+GLOBAL_VALUE SINGLE_PREC_HB
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE SINGLE_PREC_HB
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies type of the histograms created by ANALYZE. Possible values are: SINGLE_PREC_HB - single precision height-balanced, DOUBLE_PREC_HB - double precision height-balanced.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST SINGLE_PREC_HB,DOUBLE_PREC_HB
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME HOST_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 279
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE 128
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT How many host names should be cached to avoid resolving.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 65536
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME IDENTITY
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Synonym for the last_insert_id variable
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME IGNORE_BUILTIN_INNODB
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disable initialization of builtin InnoDB plugin
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME IGNORE_DB_DIRS
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Specifies a directory to add to the ignore list when collecting database names from the datadir. Put a blank argument to reset the list accumulated so far.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INIT_CONNECT
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Command(s) that are executed for each new connection (unless the user has SUPER privilege)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INIT_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Read SQL commands from this file at startup
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INIT_SLAVE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Command(s) that are executed by a slave server each time the SQL thread starts
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INSERT_ID
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The value to be used by the following INSERT or ALTER TABLE statement when inserting an AUTO_INCREMENT value
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME INTERACTIVE_TIMEOUT
+SESSION_VALUE 28800
+GLOBAL_VALUE 28800
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 28800
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of seconds the server waits for activity on an interactive connection before closing it
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME IN_TRANSACTION
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Whether there is an active transaction
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME JOIN_BUFFER_SIZE
+SESSION_VALUE 262144
+GLOBAL_VALUE 262144
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 262144
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the buffer that is used for joins
+NUMERIC_MIN_VALUE 128
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 128
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME JOIN_BUFFER_SPACE_LIMIT
+SESSION_VALUE 2097152
+GLOBAL_VALUE 2097152
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2097152
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The limit of the space for all join buffers used by a query
+NUMERIC_MIN_VALUE 2048
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 2048
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME JOIN_CACHE_LEVEL
+SESSION_VALUE 2
+GLOBAL_VALUE 2
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Controls what join operations can be executed with join buffers. Odd numbers are used for plain join buffers while even numbers are used for linked buffers
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 8
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEEP_FILES_ON_CREATE
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't overwrite stale .MYD and .MYI even if no directory is specified
+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 KEY_BUFFER_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 134217728
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the buffer used for index blocks for MyISAM tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_AGE_THRESHOLD
+SESSION_VALUE NULL
+GLOBAL_VALUE 300
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 300
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in key cache
+NUMERIC_MIN_VALUE 100
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 100
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_BLOCK_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The default size of key cache blocks
+NUMERIC_MIN_VALUE 512
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 512
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_DIVISION_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The minimum percentage of warm blocks in key cache
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 100
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_FILE_HASH_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 512
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 512
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of hash buckets for open and changed files. If you have a lot of MyISAM files open you should increase this for faster flush of changes. A good value is probably 1/10 of number of possible open MyISAM files.
+NUMERIC_MIN_VALUE 128
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME KEY_CACHE_SEGMENTS
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of segments in a key cache
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 64
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LARGE_PAGES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable support for large pages
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME LARGE_PAGE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT If large page support is enabled, this shows the size of memory pages
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LAST_GTID
+SESSION_VALUE
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The GTID of the last commit (if binlogging was enabled), or the empty string if none.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LAST_INSERT_ID
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The value to be returned from LAST_INSERT_ID()
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LC_MESSAGES
+SESSION_VALUE en_US
+GLOBAL_VALUE en_US
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE en_US
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Set the language used for the error messages
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LC_MESSAGES_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Directory where error messages are
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LC_TIME_NAMES
+SESSION_VALUE en_US
+GLOBAL_VALUE en_US
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE en_US
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Set the language used for the month names and the days of the week
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LICENSE
+SESSION_VALUE NULL
+GLOBAL_VALUE GPL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The type of license the server has
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOCAL_INFILE
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable LOAD DATA LOCAL INFILE
+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 LOCKED_IN_MEMORY
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether mysqld was locked in memory with --memlock
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOCK_WAIT_TIMEOUT
+SESSION_VALUE 31536000
+GLOBAL_VALUE 31536000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 31536000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Timeout in seconds to wait for a lock before returning an error.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_BIN
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether the binary log is enabled
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOG_BIN_BASENAME
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The full path of the binary log file names, excluding the extension.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOG_BIN_INDEX
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT File that holds the names for last binary log files.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOG_BIN_TRUST_FUNCTION_CREATORS
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to FALSE (the default), then when --log-bin is used, creation of a stored function (or trigger) is allowed only to users having the SUPER privilege and only if this stored function (trigger) may not break binary logging. Note that if ALL connections to this server ALWAYS use row-based binary logging, the security issues do not exist and the binary logging cannot break, so you can safely set this to TRUE
+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 LOG_ERROR
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Log errors to file (instead of stdout). If file name is not specified then 'datadir'/'log-basename'.err or the 'pid-file' path with extension .err is used
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME LOG_OUTPUT
+SESSION_VALUE NULL
+GLOBAL_VALUE FILE
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE FILE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE SET
+VARIABLE_COMMENT How logs should be written
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NONE,FILE,TABLE
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_QUERIES_NOT_USING_INDEXES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log queries that are executed without benefit of any index to the slow log if it is open
+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 LOG_SLAVE_UPDATES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Tells the slave to log the updates from the slave thread to the binary log. You will need to turn it on if you plan to daisy-chain the slaves.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME LOG_SLOW_ADMIN_STATEMENTS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log slow OPTIMIZE, ANALYZE, ALTER and other administrative statements to the slow log if it is open.
+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 LOG_SLOW_FILTER
+SESSION_VALUE admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
+GLOBAL_VALUE admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Log only certain types of queries
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_SLOW_RATE_LIMIT
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Write to slow log every #th slow query. Set to 1 to log everything. Increase it to reduce the size of the slow or the performance impact of slow logging
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_SLOW_SLAVE_STATEMENTS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log slow statements executed by slave thread to the slow log if it is open.
+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 LOG_SLOW_VERBOSITY
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Verbosity level for the slow log
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST innodb,query_plan,explain
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOG_WARNINGS
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Log some not critical warnings to the general log file.Value can be between 0 and 11. Higher values mean more verbosity
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME LONG_QUERY_TIME
+SESSION_VALUE 10.000000
+GLOBAL_VALUE 10.000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10.000000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT Log all queries that have taken more than long_query_time seconds to execute to file. The argument will be treated as a decimal value with microsecond precision
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME LOW_PRIORITY_UPDATES
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT INSERT/DELETE/UPDATE has lower priority than selects
+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 MASTER_VERIFY_CHECKSUM
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Force checksum verification of logged events in the binary log before sending them to slaves or printing them in the output of SHOW BINLOG EVENTS
+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 MAX_ALLOWED_PACKET
+SESSION_VALUE 4194304
+GLOBAL_VALUE 4194304
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4194304
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Max packet length to send to or receive from the server
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_BINLOG_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 18446744073709547520
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709547520
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Sets the total size of the transactional cache
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_BINLOG_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1073741824
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1073741824
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Binary log will be rotated automatically when the size exceeds this value.
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_BINLOG_STMT_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 18446744073709547520
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709547520
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Sets the total size of the statement cache
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_CONNECTIONS
+SESSION_VALUE NULL
+GLOBAL_VALUE 151
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 151
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of simultaneous clients allowed
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 100000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_CONNECT_ERRORS
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If there is more than this number of interrupted connections from a host this host will be blocked from further connections
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_DELAYED_THREADS
+SESSION_VALUE 20
+GLOBAL_VALUE 20
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 20
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_DIGEST_LENGTH
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Maximum length considered for digest text.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_ERROR_COUNT
+SESSION_VALUE 64
+GLOBAL_VALUE 64
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 64
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Max number of errors/warnings to store for a statement
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 65535
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_HEAP_TABLE_SIZE
+SESSION_VALUE 1048576
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 16777216
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't allow creation of heap tables bigger than this
+NUMERIC_MIN_VALUE 16384
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_INSERT_DELAYED_THREADS
+SESSION_VALUE 20
+GLOBAL_VALUE 20
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 20
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME MAX_JOIN_SIZE
+SESSION_VALUE 18446744073709551615
+GLOBAL_VALUE 18446744073709551615
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709551615
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Joins that are probably going to read more than max_join_size records return an error
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_LENGTH_FOR_SORT_DATA
+SESSION_VALUE 1024
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Max number of bytes in sorted records
+NUMERIC_MIN_VALUE 4
+NUMERIC_MAX_VALUE 8388608
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_LONG_DATA_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 4194304
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE 1048576
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum BLOB length to send to server from mysql_send_long_data API. Deprecated option; use max_allowed_packet instead.
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_PREPARED_STMT_COUNT
+SESSION_VALUE NULL
+GLOBAL_VALUE 16382
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16382
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Maximum number of prepared statements in the server
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_RELAY_LOG_SIZE
+SESSION_VALUE 1073741824
+GLOBAL_VALUE 1073741824
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE 1073741824
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT relay log will be rotated automatically when the size exceeds this value. If 0 at startup, it's set to max_binlog_size
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_SEEKS_FOR_KEY
+SESSION_VALUE 4294967295
+GLOBAL_VALUE 4294967295
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4294967295
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Limit assumed max number of seeks when looking up rows based on a key
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_SESSION_MEM_USED
+SESSION_VALUE 9223372036854775807
+GLOBAL_VALUE 9223372036854775807
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 9223372036854775807
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Amount of memory a single user session is allowed to allocate. This limits the value of the session variable MEM_USED
+NUMERIC_MIN_VALUE 8192
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_SORT_LENGTH
+SESSION_VALUE 1024
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored)
+NUMERIC_MIN_VALUE 4
+NUMERIC_MAX_VALUE 8388608
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_SP_RECURSION_DEPTH
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum stored procedure recursion depth
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 255
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME MAX_STATEMENT_TIME
+SESSION_VALUE 0.000000
+GLOBAL_VALUE 0.000000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0.000000
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT A query that has taken more than max_statement_time seconds will be aborted. The argument will be treated as a decimal value with microsecond precision. A value of 0 (default) means no timeout
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_TMP_TABLES
+SESSION_VALUE 32
+GLOBAL_VALUE 32
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Unused, will be removed.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_USER_CONNECTIONS
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE INT
+VARIABLE_COMMENT The maximum number of active connections for a single user (0 = no limit)
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MAX_WRITE_LOCK_COUNT
+SESSION_VALUE NULL
+GLOBAL_VALUE 4294967295
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4294967295
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT After this many write locks, allow some read locks to run in between
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME METADATA_LOCKS_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Unused
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME METADATA_LOCKS_HASH_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 8
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Unused
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MIN_EXAMINED_ROW_LIMIT
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't write queries to slow log that examine fewer rows than that
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MRR_BUFFER_SIZE
+SESSION_VALUE 262144
+GLOBAL_VALUE 262144
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 262144
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Size of buffer to use when using MRR with range access
+NUMERIC_MIN_VALUE 8192
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MULTI_RANGE_COUNT
+SESSION_VALUE 256
+GLOBAL_VALUE 256
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 256
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Ignored. Use mrr_buffer_size instead
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_BLOCK_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Block size to be used for MyISAM index pages
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_DATA_POINTER_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 6
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 6
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Default pointer size to be used for MyISAM tables
+NUMERIC_MIN_VALUE 2
+NUMERIC_MAX_VALUE 7
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_MAX_SORT_FILE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 9223372036853727232
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 9223372036853727232
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't use the fast sort index method to created index if the temporary file would get bigger than this
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 1048576
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_MMAP_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 18446744073709551615
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709551615
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Restricts the total memory used for memory mapping of MySQL tables
+NUMERIC_MIN_VALUE 7
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_RECOVER_OPTIONS
+SESSION_VALUE NULL
+GLOBAL_VALUE DEFAULT
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE DEFAULT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Specifies how corrupted tables should be automatically repaired
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST DEFAULT,BACKUP,FORCE,QUICK,BACKUP_ALL,OFF
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME MYISAM_REPAIR_THREADS
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If larger than 1, when repairing a MyISAM table all indexes will be created in parallel, with one thread per index. The value of 1 disables parallel repair
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_SORT_BUFFER_SIZE
+SESSION_VALUE 134216704
+GLOBAL_VALUE 134216704
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 134216704
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_STATS_METHOD
+SESSION_VALUE NULLS_UNEQUAL
+GLOBAL_VALUE NULLS_UNEQUAL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULLS_UNEQUAL
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies how MyISAM index statistics collection code should treat NULLs. Possible values of name are NULLS_UNEQUAL (default behavior for 4.1 and later), NULLS_EQUAL (emulate 4.0 behavior), and NULLS_IGNORED
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULLS_UNEQUAL,NULLS_EQUAL,NULLS_IGNORED
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME MYISAM_USE_MMAP
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use memory mapping for reading and writing MyISAM tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME MYSQL56_TEMPORAL_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use MySQL-5.6 (instead of MariaDB-5.3) format for TIME, DATETIME, TIMESTAMP columns.
+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 NET_BUFFER_LENGTH
+SESSION_VALUE 16384
+GLOBAL_VALUE 16384
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16384
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Buffer length for TCP/IP and socket communication
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME NET_READ_TIMEOUT
+SESSION_VALUE 30
+GLOBAL_VALUE 30
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 30
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of seconds to wait for more data from a connection before aborting the read
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME NET_RETRY_COUNT
+SESSION_VALUE 10
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If a read on a communication port is interrupted, retry this many times before giving up
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME NET_WRITE_TIMEOUT
+SESSION_VALUE 60
+GLOBAL_VALUE 60
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 60
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of seconds to wait for a block to be written to a connection before aborting the write
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OLD
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use compatible behavior from previous MariaDB version. See also --old-mode
+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 OLD_ALTER_TABLE
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use old, non-optimized alter table
+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 OLD_MODE
+SESSION_VALUE
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Used to emulate old behavior from earlier MariaDB or MySQL versions
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NO_DUP_KEY_WARNINGS_WITH_IGNORE,NO_PROGRESS_INFO,ZERO_DATE_TIME_CAST
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OLD_PASSWORDS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use old password encryption method (needed for 4.0 and older clients)
+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 OPTIMIZER_PRUNE_LEVEL
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Controls the heuristic(s) applied during query optimization to prune less-promising partial plans from the optimizer search space. Meaning: 0 - do not apply any heuristic, thus perform exhaustive search; 1 - prune plans based on number of retrieved rows
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OPTIMIZER_SEARCH_DEPTH
+SESSION_VALUE 62
+GLOBAL_VALUE 62
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 62
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum depth of search performed by the query optimizer. Values larger than the number of relations in a query result in better query plans, but take longer to compile a query. Values smaller than the number of tables in a relation result in faster optimization, but may produce very bad query plans. If set to 0, the system will automatically pick a reasonable value; if set to 63, the optimizer will switch to the original find_best search. NOTE: The value 63 and its associated behaviour is deprecated.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 63
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OPTIMIZER_SELECTIVITY_SAMPLING_LIMIT
+SESSION_VALUE 100
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Controls number of record samples to check condition selectivity
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OPTIMIZER_SWITCH
+SESSION_VALUE index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
+GLOBAL_VALUE index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE FLAGSET
+VARIABLE_COMMENT Fine-tune the optimizer behavior
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST index_merge,index_merge_union,index_merge_sort_union,index_merge_intersection,index_merge_sort_intersection,engine_condition_pushdown,index_condition_pushdown,derived_merge,derived_with_keys,firstmatch,loosescan,materialization,in_to_exists,semijoin,partial_match_rowid_merge,partial_match_table_scan,subquery_cache,mrr,mrr_cost_based,mrr_sort_keys,outer_join_with_cache,semijoin_with_cache,join_cache_incremental,join_cache_hashed,join_cache_bka,optimize_join_buffer_size,table_elimination,extended_keys,exists_to_in,orderby_uses_equalities,default
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME OPTIMIZER_USE_CONDITION_SELECTIVITY
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Controls selectivity of which conditions the optimizer takes into account to calculate cardinality of a partial join when it searches for the best execution plan Meaning: 1 - use selectivity of index backed range conditions to calculate the cardinality of a partial join if the last joined table is accessed by full table scan or an index scan, 2 - use selectivity of index backed range conditions to calculate the cardinality of a partial join in any case, 3 - additionally always use selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join, 4 - use histograms to calculate selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join.5 - additionally use selectivity of certain non-range predicates calculated on record samples
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 5
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable the performance schema.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME PERFORMANCE_SCHEMA_ACCOUNTS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented user@host accounts. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_DIGESTS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 200
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Size of the statement digest. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 200
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_LONG_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows in EVENTS_STAGES_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows per thread in EVENTS_STAGES_HISTORY. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_LONG_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows in EVENTS_STATEMENTS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows per thread in EVENTS_STATEMENTS_HISTORY. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows in EVENTS_WAITS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Number of rows per thread in EVENTS_WAITS_HISTORY. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_HOSTS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented hosts. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_COND_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 80
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 80
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of condition instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_COND_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented condition objects. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_DIGEST_LENGTH
+SESSION_VALUE NULL
+GLOBAL_VALUE 1024
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1024
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum length considered for digest text, when stored in performance_schema tables.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 50
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 50
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of file instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_HANDLES
+SESSION_VALUE NULL
+GLOBAL_VALUE 32768
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32768
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of opened instrumented files.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented files. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MUTEX_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 200
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 200
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of mutex instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MUTEX_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 5000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented MUTEX objects. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 104857600
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_RWLOCK_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 40
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 40
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of rwlock instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_RWLOCK_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 5000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented RWLOCK objects. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 104857600
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SOCKET_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of socket instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SOCKET_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of opened instrumented sockets. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STAGE_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 150
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 150
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of stage instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STATEMENT_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 178
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 178
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of statement instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_HANDLES
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of opened instrumented tables. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 500
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented tables. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_THREAD_CLASSES
+SESSION_VALUE NULL
+GLOBAL_VALUE 50
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 50
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of thread instruments.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 256
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_THREAD_INSTANCES
+SESSION_VALUE NULL
+GLOBAL_VALUE 200
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented threads. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_SESSION_CONNECT_ATTRS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 2048
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Size of session attribute string buffer per thread. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_SETUP_ACTORS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of rows in SETUP_ACTORS.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1024
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_SETUP_OBJECTS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 100
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of rows in SETUP_OBJECTS.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PERFORMANCE_SCHEMA_USERS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE -1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT
+VARIABLE_COMMENT Maximum number of instrumented users. Use 0 to disable, -1 for automated sizing.
+NUMERIC_MIN_VALUE -1
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PID_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Pid file used by safe_mysqld
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PLUGIN_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Directory for plugins
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PLUGIN_MATURITY
+SESSION_VALUE NULL
+GLOBAL_VALUE unknown
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE unknown
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT The lowest desirable plugin maturity. Plugins less mature than that will not be installed or loaded
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST unknown,experimental,alpha,beta,gamma,stable
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PORT
+SESSION_VALUE NULL
+GLOBAL_VALUE MASTER_MYPORT
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Port number to use for connection or 0 to default to, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306), whatever comes first
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PRELOAD_BUFFER_SIZE
+SESSION_VALUE 32768
+GLOBAL_VALUE 32768
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 32768
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the buffer that is allocated when preloading indexes
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PROFILING
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1 (0 is default), statement profiling will be enabled. See SHOW PROFILES and SHOW PROFILE.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME PROFILING_HISTORY_SIZE
+SESSION_VALUE 15
+GLOBAL_VALUE 15
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 15
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of statements about which profiling information is maintained. If set to 0, no profiles are stored. See SHOW PROFILES.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 100
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PROGRESS_REPORT_TIME
+SESSION_VALUE 5
+GLOBAL_VALUE 5
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 5
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Seconds between sending progress reports to the client for time-consuming statements. Set to 0 to disable progress reporting.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME PROTOCOL_VERSION
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT The version of the client/server protocol used by the MariaDB server
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME PROXY_USER
+SESSION_VALUE
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The proxy user account name used when logging in
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME PSEUDO_SLAVE_MODE
+SESSION_VALUE OFF
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT SET pseudo_slave_mode= 0,1 are commands that mysqlbinlog adds to beginning and end of binary log dumps. While zero value indeed disables, the actual enabling of the slave applier execution mode is done implicitly when a Format_description_event is sent through the session.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME PSEUDO_THREAD_ID
+SESSION_VALUE 10
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT This variable is for internal server use
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME QUERY_ALLOC_BLOCK_SIZE
+SESSION_VALUE 16384
+GLOBAL_VALUE 16384
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16384
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Allocation block size for query parsing and execution
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1048576
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Don't cache results that are bigger than this
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_MIN_RES_UNIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 4096
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4096
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The minimum size for blocks allocated by the query cache
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 8
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 1048576
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1048576
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The memory allocated to store results from old queries
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_STRIP_COMMENTS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Strip all comments from a query before storing it in the query cache
+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 QUERY_CACHE_TYPE
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT OFF = Don't cache or retrieve results. ON = Cache all results except SELECT SQL_NO_CACHE ... queries. DEMAND = Cache only SELECT SQL_CACHE ... queries
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON,DEMAND
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME QUERY_CACHE_WLOCK_INVALIDATE
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Invalidate queries in query cache on LOCK for write
+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 QUERY_PREALLOC_SIZE
+SESSION_VALUE 24576
+GLOBAL_VALUE 24576
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 24576
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Persistent buffer for query parsing and execution
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME RANGE_ALLOC_BLOCK_SIZE
+SESSION_VALUE 4096
+GLOBAL_VALUE 4096
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4096
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Allocation block size for storing ranges during optimization
+NUMERIC_MIN_VALUE 4096
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME READ_BUFFER_SIZE
+SESSION_VALUE 131072
+GLOBAL_VALUE 131072
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 131072
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Each thread that does a sequential scan allocates a buffer of this size for each table it scans. If you do many sequential scans, you may want to increase this value
+NUMERIC_MIN_VALUE 8192
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 4096
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME READ_ONLY
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Make all non-temporary tables read-only, with the exception for replication (slave) threads and users with the SUPER privilege
+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 READ_RND_BUFFER_SIZE
+SESSION_VALUE 262144
+GLOBAL_VALUE 262144
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 262144
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT When reading rows in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME RELAY_LOG
+SESSION_VALUE NULL
+GLOBAL_VALUE mysqld-relay-bin
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The location and name to use for relay logs.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME RELAY_LOG_BASENAME
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The full path of the relay log file names, excluding the extension.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME RELAY_LOG_INDEX
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The location and name to use for the file that keeps a list of the last relay logs.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME RELAY_LOG_INFO_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE relay-log.info
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The location and name of the file that remembers where the SQL replication thread is in the relay logs.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME RELAY_LOG_PURGE
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT if disabled - do not purge relay logs. if enabled - purge them as soon as they are no more needed.
+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 RELAY_LOG_RECOVERY
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enables automatic relay log recovery right after the database startup, which means that the IO Thread starts re-fetching from the master right after the last transaction processed.
+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 RELAY_LOG_SPACE_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum space to use for all relay logs
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME REPLICATE_ANNOTATE_ROW_EVENTS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Tells the slave to write annotate rows events received from the master to its own binary log. Ignored if log_slave_updates is not set
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME REPLICATE_DO_DB
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Tell the slave to restrict replication to updates of tables whose names appear in the comma-separated list. For statement-based replication, only the default database (that is, the one selected by USE) is considered, not any explicitly mentioned tables in the query. For row-based replication, the actual names of table(s) being updated are checked.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME REPLICATE_DO_TABLE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Tells the slave to restrict replication to tables in the comma-separated list.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME REPLICATE_EVENTS_MARKED_FOR_SKIP
+SESSION_VALUE NULL
+GLOBAL_VALUE REPLICATE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE REPLICATE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Whether the slave should replicate events that were created with @@skip_replication=1 on the master. Default REPLICATE (no events are skipped). Other values are FILTER_ON_SLAVE (events will be sent by the master but ignored by the slave) and FILTER_ON_MASTER (events marked with @@skip_replication=1 will be filtered on the master and never be sent to the slave).
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST REPLICATE,FILTER_ON_SLAVE,FILTER_ON_MASTER
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME REPLICATE_IGNORE_DB
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Tell the slave to restrict replication to updates of tables whose names do not appear in the comma-separated list. For statement-based replication, only the default database (that is, the one selected by USE) is considered, not any explicitly mentioned tables in the query. For row-based replication, the actual names of table(s) being updated are checked.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME REPLICATE_IGNORE_TABLE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Tells the slave thread not to replicate any statement that updates the specified table, even if any other tables might be updated by the same statement.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME REPLICATE_WILD_DO_TABLE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Tells the slave thread to restrict replication to statements where any of the updated tables match the specified database and table name patterns.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME REPLICATE_WILD_IGNORE_TABLE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Tells the slave thread to not replicate to the tables that match the given wildcard pattern.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME REPORT_HOST
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Hostname or IP of the slave to be reported to the master during slave registration. Will appear in the output of SHOW SLAVE HOSTS. Leave unset if you do not want the slave to register itself with the master. Note that it is not sufficient for the master to simply read the IP of the slave off the socket once the slave connects. Due to NAT and other routing issues, that IP may not be valid for connecting to the slave from the master or other hosts
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME REPORT_PASSWORD
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The account password of the slave to be reported to the master during slave registration
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME REPORT_PORT
+SESSION_VALUE NULL
+GLOBAL_VALUE MASTER_MYPORT
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Port for connecting to slave reported to the master during slave registration. Set it only if the slave is listening on a non-default port or if you have a special tunnel from the master or other clients to the slave. If not sure, leave this option unset
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME REPORT_USER
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The account user name of the slave to be reported to the master during slave registration
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME ROWID_MERGE_BUFF_SIZE
+SESSION_VALUE 8388608
+GLOBAL_VALUE 8388608
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8388608
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The size of the buffers used [NOT] IN evaluation via partial matching
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 9223372036854775807
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SECURE_AUTH
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disallow authentication for accounts that have old (pre-4.1) passwords
+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 SECURE_FILE_PRIV
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to files within specified directory
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SERVER_ID
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Uniquely identifies the server instance in the community of replication partners
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SKIP_EXTERNAL_LOCKING
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't use system (external) locking
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SKIP_NAME_RESOLVE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't resolve hostnames. All hostnames are IP's or 'localhost'.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME SKIP_NETWORKING
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't allow connection with TCP/IP
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME SKIP_PARALLEL_REPLICATION
+SESSION_VALUE OFF
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set when a transaction is written to the binlog, parallel apply of that transaction will be avoided on a slave where slave_parallel_mode is not "aggressive". Can be used to avoid unnecessary rollback and retry for transactions that are likely to cause a conflict if replicated in parallel.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SKIP_REPLICATION
+SESSION_VALUE OFF
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Changes are logged into the binary log with the @@skip_replication flag set. Such events will not be replicated by slaves that run with --replicate-events-marked-for-skip set different from its default of REPLICATE. See Selectively skipping replication of binlog events for more information.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SKIP_SHOW_DATABASE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Don't allow 'SHOW DATABASE' commands
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME SLAVE_COMPRESSED_PROTOCOL
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Use compression on master/slave protocol
+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 SLAVE_DDL_EXEC_MODE
+SESSION_VALUE NULL
+GLOBAL_VALUE IDEMPOTENT
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE IDEMPOTENT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT How replication events should be executed. Legal values are STRICT and IDEMPOTENT (default). In IDEMPOTENT mode, replication will not stop for DDL operations that are idempotent. This means that CREATE TABLE is treated as CREATE TABLE OR REPLACE and DROP TABLE is treated as DROP TABLE IF EXISTS.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST STRICT,IDEMPOTENT
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_DOMAIN_PARALLEL_THREADS
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Maximum number of parallel threads to use on slave for events in a single replication domain. When using multiple domains, this can be used to limit a single domain from grabbing all threads and thus stalling other domains. The default of 0 means to allow a domain to grab as many threads as it wants, up to the value of slave_parallel_threads.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 16383
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_EXEC_MODE
+SESSION_VALUE NULL
+GLOBAL_VALUE STRICT
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE STRICT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT How replication events should be executed. Legal values are STRICT (default) and IDEMPOTENT. In IDEMPOTENT mode, replication will not stop for operations that are idempotent. For example, in row based replication attempts to delete rows that doesn't exist will be ignored. In STRICT mode, replication will stop on any unexpected difference between the master and the slave.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST STRICT,IDEMPOTENT
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_LOAD_TMPDIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The location where the slave should put its temporary files when replicating a LOAD DATA INFILE command
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_MAX_ALLOWED_PACKET
+SESSION_VALUE NULL
+GLOBAL_VALUE 1073741824
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1073741824
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum packet length to sent successfully from the master to slave.
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 1073741824
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_NET_TIMEOUT
+SESSION_VALUE NULL
+GLOBAL_VALUE 120
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 3600
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Number of seconds to wait for more data from any master/slave connection before aborting the read
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_PARALLEL_MAX_QUEUED
+SESSION_VALUE NULL
+GLOBAL_VALUE 131072
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 131072
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Limit on how much memory SQL threads should use per parallel replication thread when reading ahead in the relay log looking for opportunities for parallel replication. Only used when --slave-parallel-threads > 0.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_PARALLEL_MODE
+SESSION_VALUE NULL
+GLOBAL_VALUE conservative
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE conservative
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Controls what transactions are applied in parallel when using --slave-parallel-threads. Possible values: "optimistic" tries to apply most transactional DML in parallel, and handles any conflicts with rollback and retry. "conservative" limits parallelism in an effort to avoid any conflicts. "aggressive" tries to maximise the parallelism, possibly at the cost of increased conflict rate. "minimal" only parallelizes the commit steps of transactions. "none" disables parallel apply completely.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST none,minimal,conservative,optimistic,aggressive
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SLAVE_PARALLEL_THREADS
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If non-zero, number of threads to spawn to apply in parallel events on the slave that were group-committed on the master or were logged with GTID in different replication domains. Note that these threads are in addition to the IO and SQL threads, which are always created by a replication slave
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 16383
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_RUN_TRIGGERS_FOR_RBR
+SESSION_VALUE NULL
+GLOBAL_VALUE NO
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NO
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Modes for how triggers in row-base replication on slave side will be executed. Legal values are NO (default), YES and LOGGING. NO means that trigger for RBR will not be running on slave. YES and LOGGING means that triggers will be running on slave, if there was not triggers running on the master for the statement. LOGGING also means results of that the executed triggers work will be written to the binlog.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NO,YES,LOGGING
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_SKIP_ERRORS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Tells the slave thread to continue replication when a query event returns an error from the provided list
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_SQL_VERIFY_CHECKSUM
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Force checksum verification of replication events after reading them from relay log. Note: Events are always checksum-verified by slave on receiving them from the network before writing them to the relay log
+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 SLAVE_TRANSACTION_RETRIES
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of times the slave SQL thread will retry a transaction in case it failed with a deadlock or elapsed lock wait timeout, before giving up and stopping
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLAVE_TYPE_CONVERSIONS
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Set of slave type conversions that are enabled. If the variable is empty, no conversions are allowed and it is expected that the types match exactly
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST ALL_LOSSY,ALL_NON_LOSSY
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLOW_LAUNCH_TIME
+SESSION_VALUE NULL
+GLOBAL_VALUE 2
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If creating the thread takes longer than this value (in seconds), the Slow_launch_threads counter will be incremented
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SLOW_QUERY_LOG
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Log slow queries to a table or log file. Defaults logging to a file 'hostname'-slow.log or a table mysql.slow_log if --log-output=TABLE is used. Must be enabled to activate other slow log options.
+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 SLOW_QUERY_LOG_FILE
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Log slow queries to given log file. Defaults logging to 'hostname'-slow.log. Must be enabled to activate other slow log options
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SOCKET
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Socket file to use for connection
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SORT_BUFFER_SIZE
+SESSION_VALUE 262144
+GLOBAL_VALUE 262144
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 2097152
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Each thread that needs to do a sort allocates a buffer of this size
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SQL_AUTO_IS_NULL
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the query SELECT * FROM table_name WHERE auto_increment_column IS NULL will return an auto-increment that has just been successfully inserted, the same as the LAST_INSERT_ID() function. Some ODBC programs make use of this IS NULL comparison.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_BIG_SELECTS
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 0, MariaDB will not perform large SELECTs. See max_join_size for details. If max_join_size is set to anything but DEFAULT, sql_big_selects is automatically set to 0. If sql_big_selects is again set, max_join_size will be ignored.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_BUFFER_RESULT
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1 (0 is default), results from SELECT statements are always placed into temporary tables. This can help the server when it takes a long time to send the results to the client by allowing the table locks to be freed early.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_LOG_BIN
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 0 (1 is the default), no logging to the binary log is done for the client. Only clients with the SUPER privilege can update this variable. Can have unintended consequences if set globally, see SET SQL_LOG_BIN. Starting MariaDB 10.1.7, this variable does not affect the replication of events in a Galera cluster.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_LOG_OFF
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1 (0 is the default), no logging to the general query log is done for the client. Only clients with the SUPER privilege can update this variable.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_MODE
+SESSION_VALUE ANSI_QUOTES
+GLOBAL_VALUE NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Sets the sql mode
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,IGNORE_BAD_TABLE_OPTIONS,ONLY_FULL_GROUP_BY,NO_UNSIGNED_SUBTRACTION,NO_DIR_IN_CREATE,POSTGRESQL,ORACLE,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE,NO_ENGINE_SUBSTITUTION,PAD_CHAR_TO_FULL_LENGTH
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SQL_NOTES
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the default, warning_count is incremented each time a Note warning is encountered. If set to 0, Note warnings are not recorded. mysqldump has outputs to set this variable to 0 so that no unnecessary increments occur when data is reloaded.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_QUOTE_SHOW_CREATE
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the default, the server will quote identifiers for SHOW CREATE DATABASE, SHOW CREATE TABLE and SHOW CREATE VIEW statements. Quoting is disabled if set to 0. Enable to ensure replications works when identifiers require quoting.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_SAFE_UPDATES
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, UPDATEs and DELETEs need either a key in the WHERE clause, or a LIMIT clause, or else they will aborted. Prevents the common mistake of accidentally deleting or updating every row in a table.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_SELECT_LIMIT
+SESSION_VALUE 18446744073709551615
+GLOBAL_VALUE 18446744073709551615
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 18446744073709551615
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The maximum number of rows to return from SELECT statements
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_SLAVE_SKIP_COUNTER
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Skip the next N events from the master log
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SQL_WARNINGS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, single-row INSERTs will produce a string containing warning information if a warning occurs.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SSL_CA
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT CA file in PEM format (check OpenSSL docs, implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SSL_CAPATH
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT CA directory (check OpenSSL docs, implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SSL_CERT
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT X509 cert in PEM format (implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SSL_CIPHER
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT SSL cipher to use (implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SSL_CRL
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT CRL file in PEM format (check OpenSSL docs, implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SSL_CRLPATH
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT CRL directory (check OpenSSL docs, implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SSL_KEY
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT X509 key in PEM format (implies --ssl)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME STORAGE_ENGINE
+SESSION_VALUE MyISAM
+GLOBAL_VALUE MyISAM
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE MyISAM
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Alias for @@default_storage_engine. Deprecated
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME STORED_PROGRAM_CACHE
+SESSION_VALUE NULL
+GLOBAL_VALUE 256
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 256
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The soft upper limit for number of cached stored routines for one connection.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 524288
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME STRICT_PASSWORD_VALIDATION
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT When password validation plugins are enabled, reject passwords that cannot be validated (passwords specified as a hash)
+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 SYNC_BINLOG
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Synchronously flush binary log to disk after every #th event. Use 0 (default) to disable synchronous flushing
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SYNC_FRM
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Sync .frm files to disk on creation
+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 SYNC_MASTER_INFO
+SESSION_VALUE NULL
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Synchronously flush master info to disk after every #th event. Use 0 to disable synchronous flushing
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SYNC_RELAY_LOG
+SESSION_VALUE NULL
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Synchronously flush relay log to disk after every #th event. Use 0 to disable synchronous flushing
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME SYNC_RELAY_LOG_INFO
+SESSION_VALUE NULL
+GLOBAL_VALUE 10000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Synchronously flush relay log info to disk after every #th transaction. Use 0 to disable synchronous flushing
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TABLE_DEFINITION_CACHE
+SESSION_VALUE NULL
+GLOBAL_VALUE 400
+GLOBAL_VALUE_ORIGIN AUTO
+DEFAULT_VALUE 400
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of cached table definitions
+NUMERIC_MIN_VALUE 400
+NUMERIC_MAX_VALUE 2097152
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TABLE_OPEN_CACHE
+SESSION_VALUE NULL
+GLOBAL_VALUE 100
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 2000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of cached open tables
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_CACHE_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT How many threads we should keep in a cache for reuse
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 16384
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_CONCURRENCY
+SESSION_VALUE NULL
+GLOBAL_VALUE 10
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 10
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Permits the application to give the threads system a hint for the desired number of threads that should be run at the same time.This variable has no effect, and is deprecated. It will be removed in a future release.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 512
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_HANDLING
+SESSION_VALUE NULL
+GLOBAL_VALUE one-thread-per-connection
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE one-thread-per-connection
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Define threads usage for handling queries
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST one-thread-per-connection,no-threads,pool-of-threads
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_POOL_IDLE_TIMEOUT
+SESSION_VALUE NULL
+GLOBAL_VALUE 60
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 60
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Timeout in seconds for an idle thread in the thread pool.Worker thread will be shut down after timeout
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_POOL_MAX_THREADS
+SESSION_VALUE NULL
+GLOBAL_VALUE 1000
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1000
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Maximum allowed number of worker threads in the thread pool
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 65536
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_POOL_OVERSUBSCRIBE
+SESSION_VALUE NULL
+GLOBAL_VALUE 3
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 3
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT How many additional active worker threads in a group are allowed.
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_POOL_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 4
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE 8
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Number of thread groups in the pool. This parameter is roughly equivalent to maximum number of concurrently executing threads (threads in a waiting state do not count as executing).
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 100000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_POOL_STALL_LIMIT
+SESSION_VALUE NULL
+GLOBAL_VALUE 500
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 500
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Maximum query execution time in milliseconds,before an executing non-yielding thread is considered stalled.If a worker thread is stalled, additional worker thread may be created to handle remaining clients.
+NUMERIC_MIN_VALUE 10
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME THREAD_STACK
+SESSION_VALUE NULL
+GLOBAL_VALUE 299008
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 299008
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The stack size for each thread
+NUMERIC_MIN_VALUE 131072
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TIMED_MUTEXES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Specify whether to time mutexes. Deprecated, has no effect.
+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 TIMESTAMP
+SESSION_VALUE 1409578823.000000
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0.000000
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT Set the time for this client
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME TIME_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE %H:%i:%s
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE %H:%i:%s
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The TIME format (ignored)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TIME_ZONE
+SESSION_VALUE +00:00
+GLOBAL_VALUE SYSTEM
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE SYSTEM
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The current time zone, used to initialize the time zone for a client when it connects. Set to SYSTEM by default, in which the client uses the system time zone value.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME TMPDIR
+SESSION_VALUE NULL
+GLOBAL_VALUE PATH
+GLOBAL_VALUE_ORIGIN CONFIG
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Path for temporary files. Several paths may be specified, separated by a colon (:), in this case they are used in a round-robin fashion
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TMP_TABLE_SIZE
+SESSION_VALUE 16777216
+GLOBAL_VALUE 16777216
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 16777216
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table.
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TRANSACTION_ALLOC_BLOCK_SIZE
+SESSION_VALUE 8192
+GLOBAL_VALUE 8192
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 8192
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Allocation block size for transactions to be stored in binary log
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 134217728
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TRANSACTION_PREALLOC_SIZE
+SESSION_VALUE 4096
+GLOBAL_VALUE 4096
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 4096
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Persistent buffer for transactions to be stored in binary log
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 134217728
+NUMERIC_BLOCK_SIZE 1024
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME TX_ISOLATION
+SESSION_VALUE REPEATABLE-READ
+GLOBAL_VALUE REPEATABLE-READ
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE REPEATABLE-READ
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Default transaction isolation level
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST READ-UNCOMMITTED,READ-COMMITTED,REPEATABLE-READ,SERIALIZABLE
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME TX_READ_ONLY
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Default transaction access mode. If set to OFF, the default, access is read/write. If set to ON, access is read-only. The SET TRANSACTION statement can also change the value of this variable. See SET TRANSACTION and START TRANSACTION.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME UNIQUE_CHECKS
+SESSION_VALUE ON
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT If set to 1, the default, secondary indexes in InnoDB tables are performed. If set to 0, storage engines can (but are not required to) assume that duplicate keys are not present in input data. Set to 0 to speed up imports of large tables to InnoDB. The storage engine will still issue a duplicate key error if it detects one, even if set to 0.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME UPDATABLE_VIEWS_WITH_LIMIT
+SESSION_VALUE YES
+GLOBAL_VALUE YES
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE YES
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT YES = Don't issue an error message (warning only) if a VIEW without presence of a key of the underlying table is used in queries with a LIMIT clause for updating. NO = Prohibit update of a VIEW, which does not contain a key of the underlying table and the query uses a LIMIT clause (usually get from GUI tools)
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NO,YES
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME USERSTAT
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enables statistics gathering for USER_STATISTICS, CLIENT_STATISTICS, INDEX_STATISTICS and TABLE_STATISTICS tables in the INFORMATION_SCHEMA
+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 USE_STAT_TABLES
+SESSION_VALUE NEVER
+GLOBAL_VALUE NEVER
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NEVER
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Specifies how to use system statistics tables
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NEVER,COMPLEMENTARY,PREFERABLY
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WAIT_TIMEOUT
+SESSION_VALUE 28800
+GLOBAL_VALUE 28800
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 28800
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of seconds the server waits for activity on a connection before closing it
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 31536000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WARNING_COUNT
+SESSION_VALUE 0
+GLOBAL_VALUE NULL
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT The number of errors, warnings, and notes that resulted from the last statement that generated messages
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+select VARIABLE_NAME, VARIABLE_SCOPE, VARIABLE_TYPE, VARIABLE_COMMENT,
+NUMERIC_MIN_VALUE, NUMERIC_MAX_VALUE, NUMERIC_BLOCK_SIZE,
+ENUM_VALUE_LIST, READ_ONLY, COMMAND_LINE_ARGUMENT
+from information_schema.system_variables
+where variable_name in (
+'have_openssl',
+'have_symlink',
+'hostname',
+'large_files_support',
+'lower_case_file_system',
+'lower_case_table_names',
+'open_files_limit',
+'rand_seed1',
+'rand_seed2',
+'system_time_zone',
+'version_comment',
+'version_compile_machine', 'version_compile_os',
+'version_malloc_library', 'version_ssl_library', 'version'
+ )
+order by variable_name;
+VARIABLE_NAME HAVE_OPENSSL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Comparing have_openssl with have_ssl will indicate whether YaSSL or openssl was used. If YaSSL, have_ssl will be YES, but have_openssl will be NO.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HAVE_SYMLINK
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT If symbolic link support is enabled, will be set to YES, otherwise will be set to NO. Required for the INDEX DIRECTORY and DATA DIRECTORY table options (see CREATE TABLE) and Windows symlink support. Will be set to DISABLED if the server is started with the --skip-symbolic-links option.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME HOSTNAME
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Server host name
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LARGE_FILES_SUPPORT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Whether mysqld was compiled with options for large file support
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOWER_CASE_FILE_SYSTEM
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Case sensitivity of file names on the file system where the data directory is located
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME LOWER_CASE_TABLE_NAMES
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT If set to 1 table names are stored in lowercase on disk and table names will be case-insensitive. Should be set to 2 if you are using a case insensitive file system
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 2
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME OPEN_FILES_LIMIT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If this is not 0, then mysqld will use this value to reserve file descriptors to use with setrlimit(). If this value is 0 then mysqld will reserve max_connections*5 or max_connections + table_cache*2 (whichever is larger) number of file descriptors
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME RAND_SEED1
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME RAND_SEED2
+VARIABLE_SCOPE SESSION ONLY
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 18446744073709551615
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME SYSTEM_TIME_ZONE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The server system time zone
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Server version number. It may also include a suffix with configuration or build information. -debug indicates debugging support was enabled on the server, and -log indicates at least one of the binary log, general log or slow query log are enabled, for example 10.1.1-MariaDB-mariadb1precise-log.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_COMMENT
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Value of the COMPILATION_COMMENT option specified by CMake when building MariaDB, for example mariadb.org binary distribution.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_COMPILE_MACHINE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT The machine type or architecture MariaDB was built on, for example i686.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_COMPILE_OS
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Operating system that MariaDB was built on, for example debian-linux-gnu.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_MALLOC_LIBRARY
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Version of the used malloc library
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME VERSION_SSL_LIBRARY
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Version of the used SSL library
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+select VARIABLE_NAME, GLOBAL_VALUE_ORIGIN, VARIABLE_SCOPE, VARIABLE_TYPE,
+VARIABLE_COMMENT, ENUM_VALUE_LIST, READ_ONLY, COMMAND_LINE_ARGUMENT
+from information_schema.system_variables
+where variable_name in (
+'log_tc_size'
+ )
+order by variable_name;
+VARIABLE_NAME LOG_TC_SIZE
+GLOBAL_VALUE_ORIGIN AUTO
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Size of transaction coordinator log.
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+set global div_precision_increment=default;
diff --git a/mysql-test/suite/sys_vars/r/sysvars_wsrep,32bit.rdiff b/mysql-test/suite/sys_vars/r/sysvars_wsrep,32bit.rdiff
new file mode 100644
index 00000000000..b93afb03c6f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_wsrep,32bit.rdiff
@@ -0,0 +1,47 @@
+--- suite/sys_vars/r/sysvars_wsrep.result 2014-10-10 13:33:55.000000000 +0300
++++ suite/sys_vars/r/sysvars_wsrep,32bit.reject 2014-10-10 19:38:09.000000000 +0300
+@@ -203,7 +203,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 131072
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Max number of rows in write set
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 1048576
+@@ -217,7 +217,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1073741824
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Max write set size (bytes)
+ NUMERIC_MIN_VALUE 1024
+ NUMERIC_MAX_VALUE 4294901759
+@@ -231,7 +231,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 0
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT mysql replication group commit
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 1000
+@@ -399,7 +399,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE SESSION
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Max number of times to retry a failed autocommit statement
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 10000
+@@ -427,7 +427,7 @@
+ GLOBAL_VALUE_ORIGIN COMPILE-TIME
+ DEFAULT_VALUE 1
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT Number of slave appliers to launch
+ NUMERIC_MIN_VALUE 1
+ NUMERIC_MAX_VALUE 512
diff --git a/mysql-test/suite/sys_vars/r/sysvars_wsrep.result b/mysql-test/suite/sys_vars/r/sysvars_wsrep.result
new file mode 100644
index 00000000000..e54afd2d64a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/sysvars_wsrep.result
@@ -0,0 +1,633 @@
+select * from information_schema.system_variables
+where variable_name like 'wsrep%'
+ order by variable_name;
+VARIABLE_NAME WSREP_AUTO_INCREMENT_CONTROL
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT To automatically control the assignment of autoincrement variables
+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 WSREP_CAUSAL_READS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Setting this variable is equivalent to setting wsrep_sync_wait READ flag
+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 WSREP_CERTIFICATION_RULES
+SESSION_VALUE NULL
+GLOBAL_VALUE strict
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE strict
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Certification rules to use in the cluster. Possible values are: "strict": stricter rules that could result in more certification failures. "optimized": relaxed rules that allow more concurrency and cause less certification failures.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST strict,optimized
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_CERTIFY_NONPK
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Certify tables with no primary key
+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 WSREP_CLUSTER_ADDRESS
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Address to initially connect to cluster
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_CLUSTER_NAME
+SESSION_VALUE NULL
+GLOBAL_VALUE my_wsrep_cluster
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE my_wsrep_cluster
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Name for the cluster
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_CONVERT_LOCK_TO_TRX
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT To convert locking sessions into transactions
+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 WSREP_DATA_HOME_DIR
+SESSION_VALUE NULL
+GLOBAL_VALUE DATADIR
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE DATADIR
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT home directory for wsrep provider
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_DBUG_OPTION
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT DBUG options to provider library
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT To enable debug level logging
+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 WSREP_DESYNC
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT To desynchronize the node from the cluster
+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 WSREP_DIRTY_READS
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Allow reads even when the node is not in the primary component.
+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 WSREP_DRUPAL_282555_WORKAROUND
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Enable a workaround to handle the cases where inserting a DEFAULT value into an auto-increment column could fail with duplicate key error
+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 WSREP_FORCED_BINLOG_FORMAT
+SESSION_VALUE NULL
+GLOBAL_VALUE NONE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NONE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT binlog format to take effect over user's choice
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST MIXED,STATEMENT,ROW,NONE
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_GTID_DOMAIN_ID
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT When wsrep_gtid_mode is set, this value is used as gtid_domain_id for galera transactions and also copied to the joiner nodes during state transfer. It is ignored, otherwise.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 4294967295
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_GTID_MODE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Automatically update the (joiner) node's wsrep_gtid_domain_id value with that of donor's (received during state transfer) and use it in place of gtid_domain_id for all galera transactions. When OFF (default), wsrep_gtid_domain_id is simply ignored (backward compatibility).
+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 WSREP_LOAD_DATA_SPLITTING
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT To commit LOAD DATA transaction after every 10K rows inserted
+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 WSREP_LOG_CONFLICTS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT To log multi-master conflicts
+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 WSREP_MAX_WS_ROWS
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Max number of rows in write set
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1048576
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_MAX_WS_SIZE
+SESSION_VALUE NULL
+GLOBAL_VALUE 2147483647
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 2147483647
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Max write set size (bytes)
+NUMERIC_MIN_VALUE 1024
+NUMERIC_MAX_VALUE 2147483647
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_MYSQL_REPLICATION_BUNDLE
+SESSION_VALUE NULL
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT mysql replication group commit
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 1000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_NODE_ADDRESS
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Specifies the node's network address, in the format ip address[:port]. Used in situations where autoguessing is not reliable. As of MariaDB 10.1.8, supports IPv6.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_NODE_INCOMING_ADDRESS
+SESSION_VALUE NULL
+GLOBAL_VALUE AUTO
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE AUTO
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Client connection address
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_NODE_NAME
+SESSION_VALUE NULL
+GLOBAL_VALUE HOSTNAME
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE HOSTNAME
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Name of this node. This name can be used in wsrep_sst_donor as a preferred donor. Note that multiple nodes in a cluster can have the same name.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_NOTIFY_CMD
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_ON
+SESSION_VALUE OFF
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT To enable wsrep replication
+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 WSREP_OSU_METHOD
+SESSION_VALUE TOI
+GLOBAL_VALUE TOI
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE TOI
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Method for Online Schema Upgrade
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST TOI,RSU
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME WSREP_PATCH_VERSION
+SESSION_VALUE NULL
+GLOBAL_VALUE wsrep_MAJVER.MINVER
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NULL
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Wsrep patch version, for example wsrep_MAJVER.MINVER.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NULL
+VARIABLE_NAME WSREP_PROVIDER
+SESSION_VALUE NULL
+GLOBAL_VALUE none
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE none
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Path to replication provider library
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_PROVIDER_OPTIONS
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Semicolon (;) separated list of wsrep options (see wsrep_provider_options documentation).
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_RECOVER
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Recover database state after crash and exit
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME WSREP_REJECT_QUERIES
+SESSION_VALUE NULL
+GLOBAL_VALUE NONE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE NONE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT Variable to set to reject queries
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NONE,ALL,ALL_KILL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME WSREP_REPLICATE_MYISAM
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT To enable myisam replication
+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 WSREP_RESTART_SLAVE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Should MariaDB slave be restarted automatically, when node joins back to cluster
+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 WSREP_RETRY_AUTOCOMMIT
+SESSION_VALUE 1
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Max number of times to retry a failed autocommit statement
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 10000
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_SLAVE_FK_CHECKS
+SESSION_VALUE NULL
+GLOBAL_VALUE ON
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE ON
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Should slave thread do foreign key constraint checks
+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 WSREP_SLAVE_THREADS
+SESSION_VALUE NULL
+GLOBAL_VALUE 1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT Number of slave appliers to launch
+NUMERIC_MIN_VALUE 1
+NUMERIC_MAX_VALUE 512
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_SLAVE_UK_CHECKS
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Should slave thread do secondary index uniqueness checks
+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 WSREP_SST_AUTH
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Authentication for SST connection
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_SST_DONOR
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT preferred donor node for the SST
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_SST_DONOR_REJECTS_QUERIES
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Reject client queries when donating state snapshot transfer
+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 WSREP_SST_METHOD
+SESSION_VALUE NULL
+GLOBAL_VALUE rsync
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE rsync
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT State snapshot transfer method
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_SST_RECEIVE_ADDRESS
+SESSION_VALUE NULL
+GLOBAL_VALUE AUTO
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE AUTO
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT Address where node is waiting for SST contact
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_START_POSITION
+SESSION_VALUE NULL
+GLOBAL_VALUE 00000000-0000-0000-0000-000000000000:-1
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 00000000-0000-0000-0000-000000000000:-1
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE VARCHAR
+VARIABLE_COMMENT global transaction position to start from
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME WSREP_SYNC_WAIT
+SESSION_VALUE 0
+GLOBAL_VALUE 0
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE 0
+VARIABLE_SCOPE SESSION
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Ensure "synchronous" read view before executing an operation of the type specified by bitmask: 1 - READ(includes SELECT, SHOW and BEGIN/START TRANSACTION); 2 - UPDATE and DELETE; 4 - INSERT and REPLACE
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 15
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
diff --git a/mysql-test/suite/sys_vars/r/table_definition_cache_basic.result b/mysql-test/suite/sys_vars/r/table_definition_cache_basic.result
index f6befe51bc1..f7ce3f53bfc 100644
--- a/mysql-test/suite/sys_vars/r/table_definition_cache_basic.result
+++ b/mysql-test/suite/sys_vars/r/table_definition_cache_basic.result
@@ -28,14 +28,14 @@ Warning 1292 Truncated incorrect table_definition_cache value: '2'
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
400
-SET @@global.table_definition_cache = 524287;
+SET @@global.table_definition_cache = 2097151;
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
-524287
-SET @@global.table_definition_cache = 524288;
+2097151
+SET @@global.table_definition_cache = 2097152;
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
-524288
+2097152
'#--------------------FN_DYNVARS_019_04-------------------------#'
SET @@global.table_definition_cache = 0;
Warnings:
@@ -49,18 +49,18 @@ Warning 1292 Truncated incorrect table_definition_cache value: '-1024'
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
400
-SET @@global.table_definition_cache = 524289;
+SET @@global.table_definition_cache = 2097153;
Warnings:
-Warning 1292 Truncated incorrect table_definition_cache value: '524289'
+Warning 1292 Truncated incorrect table_definition_cache value: '2097153'
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
-524288
+2097152
SET @@global.table_definition_cache = 42949672950;
Warnings:
Warning 1292 Truncated incorrect table_definition_cache value: '42949672950'
SELECT @@global.table_definition_cache;
@@global.table_definition_cache
-524288
+2097152
SET @@global.table_definition_cache = 21221204.10;
ERROR 42000: Incorrect argument type to variable 'table_definition_cache'
SET @@global.table_definition_cache = ON;
diff --git a/mysql-test/suite/sys_vars/r/table_open_cache_basic.result b/mysql-test/suite/sys_vars/r/table_open_cache_basic.result
index 2381dfe4900..bc373003e1d 100644
--- a/mysql-test/suite/sys_vars/r/table_open_cache_basic.result
+++ b/mysql-test/suite/sys_vars/r/table_open_cache_basic.result
@@ -1,33 +1,37 @@
SET @start_value = @@global.table_open_cache ;
SELECT @start_value;
@start_value
-400
+421
'#--------------------FN_DYNVARS_001_01------------------------#'
SET @@global.table_open_cache = 99;
SET @@global.table_open_cache = DeFAULT;
SELECT @@global.table_open_cache;
@@global.table_open_cache
-400
+2000
'#---------------------FN_DYNVARS_001_02-------------------------#'
SET @@global.table_open_cache = Default;
SELECT @@global.table_open_cache = 400;
@@global.table_open_cache = 400
-1
+0
'#--------------------FN_DYNVARS_001_03------------------------#'
SET @@global.table_open_cache = 8;
+Warnings:
+Warning 1292 Truncated incorrect table_open_cache value: '8'
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-8
+10
SET @@global.table_open_cache = 1;
+Warnings:
+Warning 1292 Truncated incorrect table_open_cache value: '1'
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-1
+10
SET @@global.table_open_cache = 1073741824;
Warnings:
Warning 1292 Truncated incorrect table_open_cache value: '1073741824'
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-524288
+1048576
SET @@global.table_open_cache = 18000;
SELECT @@global.table_open_cache ;
@@global.table_open_cache
@@ -42,25 +46,25 @@ Warnings:
Warning 1292 Truncated incorrect table_open_cache value: '-1'
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-1
+10
SET @@global.table_open_cache = 100000000000;
Warnings:
Warning 1292 Truncated incorrect table_open_cache value: '100000000000'
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-524288
+1048576
SET @@global.table_open_cache = -1024;
Warnings:
Warning 1292 Truncated incorrect table_open_cache value: '-1024'
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-1
+10
SET @@global.table_open_cache = 0;
Warnings:
Warning 1292 Truncated incorrect table_open_cache value: '0'
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-1
+10
SET @@global.table_open_cache = 10000.01;
ERROR 42000: Incorrect argument type to variable 'table_open_cache'
SET @@global.table_open_cache = ON;
@@ -78,15 +82,17 @@ SELECT @@global.table_open_cache = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL
1
'#---------------------FN_DYNVARS_001_09----------------------#'
SET @@global.table_open_cache = TRUE;
+Warnings:
+Warning 1292 Truncated incorrect table_open_cache value: '1'
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-1
+10
SET @@global.table_open_cache = FALSE;
Warnings:
Warning 1292 Truncated incorrect table_open_cache value: '0'
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-1
+10
'#---------------------FN_DYNVARS_001_10----------------------#'
SET @@global.table_open_cache = 10;
SELECT @@table_open_cache = @@global.table_open_cache ;
@@ -104,4 +110,4 @@ ERROR 42S22: Unknown column 'table_open_cache' in 'field list'
SET @@global.table_open_cache = @start_value;
SELECT @@global.table_open_cache ;
@@global.table_open_cache
-400
+421
diff --git a/mysql-test/suite/sys_vars/r/thread_pool_max_threads_basic.result b/mysql-test/suite/sys_vars/r/thread_pool_max_threads_basic.result
index 4a748ca7629..289c0d56092 100644
--- a/mysql-test/suite/sys_vars/r/thread_pool_max_threads_basic.result
+++ b/mysql-test/suite/sys_vars/r/thread_pool_max_threads_basic.result
@@ -1,21 +1,21 @@
SET @start_global_value = @@global.thread_pool_max_threads;
select @@global.thread_pool_max_threads;
@@global.thread_pool_max_threads
-500
+1000
select @@session.thread_pool_max_threads;
ERROR HY000: Variable 'thread_pool_max_threads' is a GLOBAL variable
show global variables like 'thread_pool_max_threads';
Variable_name Value
-thread_pool_max_threads 500
+thread_pool_max_threads 1000
show session variables like 'thread_pool_max_threads';
Variable_name Value
-thread_pool_max_threads 500
+thread_pool_max_threads 1000
select * from information_schema.global_variables where variable_name='thread_pool_max_threads';
VARIABLE_NAME VARIABLE_VALUE
-THREAD_POOL_MAX_THREADS 500
+THREAD_POOL_MAX_THREADS 1000
select * from information_schema.session_variables where variable_name='thread_pool_max_threads';
VARIABLE_NAME VARIABLE_VALUE
-THREAD_POOL_MAX_THREADS 500
+THREAD_POOL_MAX_THREADS 1000
set global thread_pool_max_threads=1;
select @@global.thread_pool_max_threads;
@@global.thread_pool_max_threads
diff --git a/mysql-test/suite/sys_vars/r/thread_pool_size_high.result b/mysql-test/suite/sys_vars/r/thread_pool_size_high.result
index f581ae8e315..bc30104b79d 100644
--- a/mysql-test/suite/sys_vars/r/thread_pool_size_high.result
+++ b/mysql-test/suite/sys_vars/r/thread_pool_size_high.result
@@ -1,3 +1,4 @@
+call mtr.add_suppression("Could not increase number of max_open_files to more than");
SELECT @@global.thread_pool_size;
@@global.thread_pool_size
200
diff --git a/mysql-test/suite/sys_vars/r/thread_stack_basic.result b/mysql-test/suite/sys_vars/r/thread_stack_basic.result
index 4d974f66a00..5be5db5626c 100644
--- a/mysql-test/suite/sys_vars/r/thread_stack_basic.result
+++ b/mysql-test/suite/sys_vars/r/thread_stack_basic.result
@@ -1,20 +1,20 @@
select @@global.thread_stack;
@@global.thread_stack
-294912
+299008
select @@session.thread_stack;
ERROR HY000: Variable 'thread_stack' is a GLOBAL variable
show global variables like 'thread_stack';
Variable_name Value
-thread_stack 294912
+thread_stack 299008
show session variables like 'thread_stack';
Variable_name Value
-thread_stack 294912
+thread_stack 299008
select * from information_schema.global_variables where variable_name='thread_stack';
VARIABLE_NAME VARIABLE_VALUE
-THREAD_STACK 294912
+THREAD_STACK 299008
select * from information_schema.session_variables where variable_name='thread_stack';
VARIABLE_NAME VARIABLE_VALUE
-THREAD_STACK 294912
+THREAD_STACK 299008
set global thread_stack=1;
ERROR HY000: Variable 'thread_stack' is a read only variable
set session thread_stack=1;
diff --git a/mysql-test/suite/sys_vars/r/transaction_prealloc_size_bug27322.result b/mysql-test/suite/sys_vars/r/transaction_prealloc_size_bug27322.result
index e845400b397..895223a8462 100644
--- a/mysql-test/suite/sys_vars/r/transaction_prealloc_size_bug27322.result
+++ b/mysql-test/suite/sys_vars/r/transaction_prealloc_size_bug27322.result
@@ -2,20 +2,20 @@ SET @def_var= @@session.transaction_prealloc_size;
SET SESSION transaction_prealloc_size=1024*1024*1024*1;
SHOW PROCESSLIST;
Id User Host db Command Time State Info Progress
-<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST 0.000
+<Id> root <Host> test Query <Time> <State> SHOW PROCESSLIST 0.000
SET SESSION transaction_prealloc_size=1024*1024*1024*2;
SHOW PROCESSLIST;
Id User Host db Command Time State Info Progress
-<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST 0.000
+<Id> root <Host> test Query <Time> <State> SHOW PROCESSLIST 0.000
SET SESSION transaction_prealloc_size=1024*1024*1024*3;
SHOW PROCESSLIST;
Id User Host db Command Time State Info Progress
-<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST 0.000
+<Id> root <Host> test Query <Time> <State> SHOW PROCESSLIST 0.000
SET SESSION transaction_prealloc_size=1024*1024*1024*4;
SHOW PROCESSLIST;
Id User Host db Command Time State Info Progress
-<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST 0.000
+<Id> root <Host> test Query <Time> <State> SHOW PROCESSLIST 0.000
SET SESSION transaction_prealloc_size=1024*1024*1024*5;
SHOW PROCESSLIST;
Id User Host db Command Time State Info Progress
-<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST 0.000
+<Id> root <Host> test Query <Time> <State> SHOW PROCESSLIST 0.000
diff --git a/mysql-test/suite/sys_vars/r/tx_read_only_basic.result b/mysql-test/suite/sys_vars/r/tx_read_only_basic.result
new file mode 100644
index 00000000000..3750145083f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/tx_read_only_basic.result
@@ -0,0 +1,181 @@
+####################################################################
+# START OF tx_read_only TESTS #
+####################################################################
+#############################################################
+# Save initial value #
+#############################################################
+SET @start_global_value = @@global.tx_read_only;
+SELECT @start_global_value;
+@start_global_value
+0
+SET @start_session_value = @@session.tx_read_only;
+SELECT @start_session_value;
+@start_session_value
+0
+########################################################################
+# Display the DEFAULT value of tx_read_only #
+########################################################################
+SET @@global.tx_read_only = ON;
+SET @@global.tx_read_only = DEFAULT;
+SELECT @@global.tx_read_only;
+@@global.tx_read_only
+0
+SET @@session.tx_read_only = ON;
+SET @@session.tx_read_only = DEFAULT;
+SELECT @@session.tx_read_only;
+@@session.tx_read_only
+0
+##############################################################################
+# Change the value of tx_read_only to a valid value for GLOBAL Scope #
+##############################################################################
+SET @@global.tx_read_only = ON;
+SELECT @@global.tx_read_only;
+@@global.tx_read_only
+1
+SET @@global.tx_read_only = OFF;
+SELECT @@global.tx_read_only;
+@@global.tx_read_only
+0
+SET @@global.tx_read_only = 0;
+SELECT @@global.tx_read_only;
+@@global.tx_read_only
+0
+SET @@global.tx_read_only = 1;
+SELECT @@global.tx_read_only;
+@@global.tx_read_only
+1
+SET @@global.tx_read_only = TRUE;
+SELECT @@global.tx_read_only;
+@@global.tx_read_only
+1
+SET @@global.tx_read_only = FALSE;
+SELECT @@global.tx_read_only;
+@@global.tx_read_only
+0
+###############################################################################
+# Change the value of tx_read_only to a valid value for SESSION Scope #
+###############################################################################
+SET @@session.tx_read_only = ON;
+SELECT @@session.tx_read_only;
+@@session.tx_read_only
+1
+SET @@session.tx_read_only = OFF;
+SELECT @@session.tx_read_only;
+@@session.tx_read_only
+0
+SET @@session.tx_read_only = 0;
+SELECT @@session.tx_read_only;
+@@session.tx_read_only
+0
+SET @@session.tx_read_only = 1;
+SELECT @@session.tx_read_only;
+@@session.tx_read_only
+1
+SET @@session.tx_read_only = TRUE;
+SELECT @@session.tx_read_only;
+@@session.tx_read_only
+1
+SET @@session.tx_read_only = FALSE;
+SELECT @@session.tx_read_only;
+@@session.tx_read_only
+0
+################################################################
+# Change the value of tx_read_only to an invalid value #
+################################################################
+SET @@global.tx_read_only = 'ONN';
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'ONN'
+SET @@global.tx_read_only = "OFFF";
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'OFFF'
+SET @@global.tx_read_only = TTRUE;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'TTRUE'
+SET @@global.tx_read_only = FELSE;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'FELSE'
+SET @@global.tx_read_only = -1024;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of '-1024'
+SET @@global.tx_read_only = 65536;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of '65536'
+SET @@global.tx_read_only = 65530.34;
+ERROR 42000: Incorrect argument type to variable 'tx_read_only'
+SET @@global.tx_read_only = test;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'test'
+SET @@session.tx_read_only = ONN;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'ONN'
+SET @@session.tx_read_only = ONF;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'ONF'
+SET @@session.tx_read_only = OF;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'OF'
+SET @@session.tx_read_only = 'OFN';
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'OFN'
+SET @@session.tx_read_only = -2;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of '-2'
+SET @@session.tx_read_only = 65530.34;
+ERROR 42000: Incorrect argument type to variable 'tx_read_only'
+SET @@session.tx_read_only = 65550;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of '65550'
+SET @@session.tx_read_only = test;
+ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'test'
+SELECT @@session.tx_read_only;
+@@session.tx_read_only
+0
+####################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+####################################################################
+SELECT IF(@@global.tx_read_only, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='tx_read_only';
+IF(@@global.tx_read_only, "ON", "OFF") = VARIABLE_VALUE
+1
+####################################################################
+# Check if the value in SESSION Table matches value in variable #
+####################################################################
+SELECT IF(@@session.tx_read_only, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='tx_read_only';
+IF(@@session.tx_read_only, "ON", "OFF") = VARIABLE_VALUE
+1
+###############################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+###############################################################################
+SET @@tx_read_only = OFF;
+SET @@global.tx_read_only = ON;
+SELECT @@tx_read_only = @@global.tx_read_only;
+@@tx_read_only = @@global.tx_read_only
+0
+##############################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
+# to same session variable #
+##############################################################################
+SET @@tx_read_only = ON;
+SELECT @@tx_read_only = @@local.tx_read_only;
+@@tx_read_only = @@local.tx_read_only
+1
+SELECT @@local.tx_read_only = @@session.tx_read_only;
+@@local.tx_read_only = @@session.tx_read_only
+1
+###############################################################################
+# Check if tx_read_only can be accessed with and without @@ sign #
+###############################################################################
+# @@session is synonym for SESSION
+SET @@session.tx_read_only= 0;
+# Without modifier, SET changes session variable
+SET tx_read_only = 1;
+SELECT @@tx_read_only;
+@@tx_read_only
+1
+# name1.name2 refers to database_name.table_name
+SELECT session.tx_read_only;
+ERROR 42S02: Unknown table 'session' in field list
+####################################
+# Restore initial value #
+####################################
+SET @@global.tx_read_only = @start_global_value;
+SELECT @@global.tx_read_only;
+@@global.tx_read_only
+0
+SET @@session.tx_read_only = @start_session_value;
+SELECT @@session.tx_read_only;
+@@session.tx_read_only
+0
+#########################################################
+# END OF tx_read_only TESTS #
+#########################################################
diff --git a/mysql-test/suite/sys_vars/r/use_stat_tables_basic.result b/mysql-test/suite/sys_vars/r/use_stat_tables_basic.result
new file mode 100644
index 00000000000..64f6d868fa6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/use_stat_tables_basic.result
@@ -0,0 +1,95 @@
+SET @start_global_value = @@global.use_stat_tables;
+SELECT @start_global_value;
+@start_global_value
+NEVER
+SET @start_session_value = @@session.use_stat_tables;
+SELECT @start_session_value;
+@start_session_value
+NEVER
+SET @@global.use_stat_tables = 2;
+SET @@global.use_stat_tables = DEFAULT;
+SELECT @@global.use_stat_tables;
+@@global.use_stat_tables
+NEVER
+SET @@global.use_stat_tables = 0;
+SELECT @@global.use_stat_tables;
+@@global.use_stat_tables
+NEVER
+SET @@global.use_stat_tables = 1;
+SELECT @@global.use_stat_tables;
+@@global.use_stat_tables
+COMPLEMENTARY
+SET @@global.use_stat_tables = 2;
+SELECT @@global.use_stat_tables;
+@@global.use_stat_tables
+PREFERABLY
+SET @@global.use_stat_tables = NEVER;
+SELECT @@global.use_stat_tables;
+@@global.use_stat_tables
+NEVER
+SET @@global.use_stat_tables = COMPLEMENTARY;
+SELECT @@global.use_stat_tables;
+@@global.use_stat_tables
+COMPLEMENTARY
+SET @@global.use_stat_tables = PREFERABLY;
+SELECT @@global.use_stat_tables;
+@@global.use_stat_tables
+PREFERABLY
+SET @@session.use_stat_tables = 0;
+SELECT @@session.use_stat_tables;
+@@session.use_stat_tables
+NEVER
+SET @@session.use_stat_tables = 1;
+SELECT @@session.use_stat_tables;
+@@session.use_stat_tables
+COMPLEMENTARY
+SET @@session.use_stat_tables = 2;
+SELECT @@session.use_stat_tables;
+@@session.use_stat_tables
+PREFERABLY
+SET @@session.use_stat_tables = NEVER;
+SELECT @@session.use_stat_tables;
+@@session.use_stat_tables
+NEVER
+SET @@session.use_stat_tables = PREFERABLY;
+SELECT @@session.use_stat_tables;
+@@session.use_stat_tables
+PREFERABLY
+SET @@session.use_stat_tables = COMPLEMENTARY;
+SELECT @@session.use_stat_tables;
+@@session.use_stat_tables
+COMPLEMENTARY
+set sql_mode=TRADITIONAL;
+SET @@global.use_stat_tables = 10;
+ERROR 42000: Variable 'use_stat_tables' can't be set to the value of '10'
+SET @@global.use_stat_tables = -1024;
+ERROR 42000: Variable 'use_stat_tables' can't be set to the value of '-1024'
+SET @@global.use_stat_tables = 2.4;
+ERROR 42000: Incorrect argument type to variable 'use_stat_tables'
+SET @@global.use_stat_tables = OFF;
+ERROR 42000: Variable 'use_stat_tables' can't be set to the value of 'OFF'
+SET @@session.use_stat_tables = 10;
+ERROR 42000: Variable 'use_stat_tables' can't be set to the value of '10'
+SET @@session.use_stat_tables = -2;
+ERROR 42000: Variable 'use_stat_tables' can't be set to the value of '-2'
+SET @@session.use_stat_tables = 1.2;
+ERROR 42000: Incorrect argument type to variable 'use_stat_tables'
+SET @@session.use_stat_tables = ON;
+ERROR 42000: Variable 'use_stat_tables' can't be set to the value of 'ON'
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='use_stat_tables';
+VARIABLE_NAME VARIABLE_VALUE
+USE_STAT_TABLES PREFERABLY
+SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='use_stat_tables';
+VARIABLE_NAME VARIABLE_VALUE
+USE_STAT_TABLES COMPLEMENTARY
+SET @@global.use_stat_tables = @start_global_value;
+SELECT @@global.use_stat_tables;
+@@global.use_stat_tables
+NEVER
+SET @@session.use_stat_tables = @start_session_value;
+SELECT @@session.use_stat_tables;
+@@session.use_stat_tables
+NEVER
+set sql_mode='';
diff --git a/mysql-test/suite/sys_vars/r/version_malloc_library_basic.result b/mysql-test/suite/sys_vars/r/version_malloc_library_basic.result
new file mode 100644
index 00000000000..5895b8122d9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/version_malloc_library_basic.result
@@ -0,0 +1,53 @@
+'#---------------------BS_STVARS_053_01----------------------#'
+SELECT COUNT(@@GLOBAL.version_malloc_library);
+COUNT(@@GLOBAL.version_malloc_library)
+1
+1 Expected
+'#---------------------BS_STVARS_053_02----------------------#'
+SET @@GLOBAL.version_malloc_library=1;
+ERROR HY000: Variable 'version_malloc_library' is a read only variable
+Expected error 'Read only variable'
+SELECT COUNT(@@GLOBAL.version_malloc_library);
+COUNT(@@GLOBAL.version_malloc_library)
+1
+1 Expected
+'#---------------------BS_STVARS_053_03----------------------#'
+SELECT @@GLOBAL.version_malloc_library = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='version_malloc_library';
+@@GLOBAL.version_malloc_library = VARIABLE_VALUE
+1
+1 Expected
+SELECT COUNT(@@GLOBAL.version_malloc_library);
+COUNT(@@GLOBAL.version_malloc_library)
+1
+1 Expected
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='version_malloc_library';
+COUNT(VARIABLE_VALUE)
+1
+1 Expected
+'#---------------------BS_STVARS_053_04----------------------#'
+SELECT @@version_malloc_library = @@GLOBAL.version_malloc_library;
+@@version_malloc_library = @@GLOBAL.version_malloc_library
+1
+1 Expected
+'#---------------------BS_STVARS_053_05----------------------#'
+SELECT COUNT(@@version_malloc_library);
+COUNT(@@version_malloc_library)
+1
+1 Expected
+SELECT COUNT(@@local.version_malloc_library);
+ERROR HY000: Variable 'version_malloc_library' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@SESSION.version_malloc_library);
+ERROR HY000: Variable 'version_malloc_library' is a GLOBAL variable
+Expected error 'Variable is a GLOBAL variable'
+SELECT COUNT(@@GLOBAL.version_malloc_library);
+COUNT(@@GLOBAL.version_malloc_library)
+1
+1 Expected
+SELECT version_malloc_library = @@SESSION.version;
+ERROR 42S22: Unknown column 'version_malloc_library' in 'field list'
+Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/version_ssl_library_basic.result b/mysql-test/suite/sys_vars/r/version_ssl_library_basic.result
new file mode 100644
index 00000000000..c37bb6f21af
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/version_ssl_library_basic.result
@@ -0,0 +1,2 @@
+set @@global.version_malloc_library=1;
+ERROR HY000: Variable 'version_malloc_library' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/wait_timeout_basic.result b/mysql-test/suite/sys_vars/r/wait_timeout_basic.result
index 6dc99dcd5e3..d0e5188b508 100644
--- a/mysql-test/suite/sys_vars/r/wait_timeout_basic.result
+++ b/mysql-test/suite/sys_vars/r/wait_timeout_basic.result
@@ -124,5 +124,17 @@ SELECT session.wait_timeout;
ERROR 42S02: Unknown table 'session' in field list
SELECT wait_timeout = @@session.wait_timeout;
ERROR 42S22: Unknown column 'wait_timeout' in 'field list'
+#
+# MDEV-9516 type error when setting session variable
+#
+SET SESSION wait_timeout= 28000;
+SET SESSION wait_timeout= GREATEST(28000, @@wait_timeout);
+SET SESSION wait_timeout= COALESCE(28000, @@wait_timeout);
+SET SESSION wait_timeout= IFNULL(28000, @@wait_timeout);
+SET SESSION wait_timeout= CASE WHEN TRUE THEN 28000 ELSE @@wait_timeout END;
+SET SESSION wait_timeout= 28000.0;
+ERROR 42000: Incorrect argument type to variable 'wait_timeout'
+SET SESSION wait_timeout= 28000.1;
+ERROR 42000: Incorrect argument type to variable 'wait_timeout'
SET @@global.wait_timeout = @start_global_value;
SET @@session.wait_timeout = @start_session_value;
diff --git a/mysql-test/suite/sys_vars/r/wsrep_auto_increment_control_basic.result b/mysql-test/suite/sys_vars/r/wsrep_auto_increment_control_basic.result
new file mode 100644
index 00000000000..2608e58b986
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_auto_increment_control_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_auto_increment_control
+#
+# save the initial value
+SET @wsrep_auto_increment_control_global_saved = @@global.wsrep_auto_increment_control;
+# default
+SELECT @@global.wsrep_auto_increment_control;
+@@global.wsrep_auto_increment_control
+1
+
+# scope
+SELECT @@session.wsrep_auto_increment_control;
+ERROR HY000: Variable 'wsrep_auto_increment_control' is a GLOBAL variable
+SET @@global.wsrep_auto_increment_control=OFF;
+SELECT @@global.wsrep_auto_increment_control;
+@@global.wsrep_auto_increment_control
+0
+SET @@global.wsrep_auto_increment_control=ON;
+SELECT @@global.wsrep_auto_increment_control;
+@@global.wsrep_auto_increment_control
+1
+
+# valid values
+SET @@global.wsrep_auto_increment_control='OFF';
+SELECT @@global.wsrep_auto_increment_control;
+@@global.wsrep_auto_increment_control
+0
+SET @@global.wsrep_auto_increment_control=ON;
+SELECT @@global.wsrep_auto_increment_control;
+@@global.wsrep_auto_increment_control
+1
+SET @@global.wsrep_auto_increment_control=default;
+SELECT @@global.wsrep_auto_increment_control;
+@@global.wsrep_auto_increment_control
+1
+
+# invalid values
+SET @@global.wsrep_auto_increment_control=NULL;
+ERROR 42000: Variable 'wsrep_auto_increment_control' can't be set to the value of 'NULL'
+SET @@global.wsrep_auto_increment_control='junk';
+ERROR 42000: Variable 'wsrep_auto_increment_control' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_auto_increment_control = @wsrep_auto_increment_control_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_causal_reads_basic.result b/mysql-test/suite/sys_vars/r/wsrep_causal_reads_basic.result
new file mode 100644
index 00000000000..b5f0c0730b9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_causal_reads_basic.result
@@ -0,0 +1,64 @@
+#
+# wsrep_causal_reads
+#
+# save the initial values
+SET @wsrep_causal_reads_global_saved = @@global.wsrep_causal_reads;
+SET @wsrep_causal_reads_session_saved = @@session.wsrep_causal_reads;
+# default
+SELECT @@global.wsrep_causal_reads;
+@@global.wsrep_causal_reads
+0
+SELECT @@session.wsrep_causal_reads;
+@@session.wsrep_causal_reads
+0
+
+# scope and valid values
+SET @@global.wsrep_causal_reads=OFF;
+Warnings:
+Warning 1287 '@@wsrep_causal_reads' is deprecated and will be removed in a future release. Please use '@@wsrep_sync_wait=1' instead
+SELECT @@global.wsrep_causal_reads;
+@@global.wsrep_causal_reads
+0
+SET @@global.wsrep_causal_reads=ON;
+Warnings:
+Warning 1287 '@@wsrep_causal_reads' is deprecated and will be removed in a future release. Please use '@@wsrep_sync_wait=1' instead
+SELECT @@global.wsrep_causal_reads;
+@@global.wsrep_causal_reads
+1
+SET @@session.wsrep_causal_reads=OFF;
+Warnings:
+Warning 1287 '@@wsrep_causal_reads' is deprecated and will be removed in a future release. Please use '@@wsrep_sync_wait=1' instead
+SELECT @@session.wsrep_causal_reads;
+@@session.wsrep_causal_reads
+0
+SET @@session.wsrep_causal_reads=ON;
+Warnings:
+Warning 1287 '@@wsrep_causal_reads' is deprecated and will be removed in a future release. Please use '@@wsrep_sync_wait=1' instead
+SELECT @@session.wsrep_causal_reads;
+@@session.wsrep_causal_reads
+1
+SET @@session.wsrep_causal_reads=default;
+Warnings:
+Warning 1287 '@@wsrep_causal_reads' is deprecated and will be removed in a future release. Please use '@@wsrep_sync_wait=1' instead
+SELECT @@session.wsrep_causal_reads;
+@@session.wsrep_causal_reads
+1
+
+# invalid values
+SET @@global.wsrep_causal_reads=NULL;
+ERROR 42000: Variable 'wsrep_causal_reads' can't be set to the value of 'NULL'
+SET @@global.wsrep_causal_reads='junk';
+ERROR 42000: Variable 'wsrep_causal_reads' can't be set to the value of 'junk'
+SET @@session.wsrep_causal_reads=NULL;
+ERROR 42000: Variable 'wsrep_causal_reads' can't be set to the value of 'NULL'
+SET @@session.wsrep_causal_reads='junk';
+ERROR 42000: Variable 'wsrep_causal_reads' can't be set to the value of 'junk'
+
+# restore the initial values
+SET @@global.wsrep_causal_reads = @wsrep_causal_reads_global_saved;
+Warnings:
+Warning 1287 '@@wsrep_causal_reads' is deprecated and will be removed in a future release. Please use '@@wsrep_sync_wait=1' instead
+SET @@session.wsrep_causal_reads = @wsrep_causal_reads_session_saved;
+Warnings:
+Warning 1287 '@@wsrep_causal_reads' is deprecated and will be removed in a future release. Please use '@@wsrep_sync_wait=1' instead
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_certify_nonpk_basic.result b/mysql-test/suite/sys_vars/r/wsrep_certify_nonpk_basic.result
new file mode 100644
index 00000000000..7200d14f75f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_certify_nonpk_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_certify_nonpk
+#
+# save the initial value
+SET @wsrep_certify_nonpk_global_saved = @@global.wsrep_certify_nonpk;
+# default
+SELECT @@global.wsrep_certify_nonpk;
+@@global.wsrep_certify_nonpk
+1
+
+# scope
+SELECT @@session.wsrep_certify_nonpk;
+ERROR HY000: Variable 'wsrep_certify_nonPK' is a GLOBAL variable
+SET @@global.wsrep_certify_nonpk=OFF;
+SELECT @@global.wsrep_certify_nonpk;
+@@global.wsrep_certify_nonpk
+0
+SET @@global.wsrep_certify_nonpk=ON;
+SELECT @@global.wsrep_certify_nonpk;
+@@global.wsrep_certify_nonpk
+1
+
+# valid values
+SET @@global.wsrep_certify_nonpk='OFF';
+SELECT @@global.wsrep_certify_nonpk;
+@@global.wsrep_certify_nonpk
+0
+SET @@global.wsrep_certify_nonpk=ON;
+SELECT @@global.wsrep_certify_nonpk;
+@@global.wsrep_certify_nonpk
+1
+SET @@global.wsrep_certify_nonpk=default;
+SELECT @@global.wsrep_certify_nonpk;
+@@global.wsrep_certify_nonpk
+1
+
+# invalid values
+SET @@global.wsrep_certify_nonpk=NULL;
+ERROR 42000: Variable 'wsrep_certify_nonPK' can't be set to the value of 'NULL'
+SET @@global.wsrep_certify_nonpk='junk';
+ERROR 42000: Variable 'wsrep_certify_nonPK' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_certify_nonpk = @wsrep_certify_nonpk_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_cluster_address_basic.result b/mysql-test/suite/sys_vars/r/wsrep_cluster_address_basic.result
new file mode 100644
index 00000000000..8497e220523
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_cluster_address_basic.result
@@ -0,0 +1,54 @@
+#
+# wsrep_cluster_address
+#
+call mtr.add_suppression("safe_mutex: Found wrong usage of mutex.*");
+# save the initial value
+SET @wsrep_cluster_address_global_saved = @@global.wsrep_cluster_address;
+# default
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+
+
+# scope
+SELECT @@session.wsrep_cluster_address;
+ERROR HY000: Variable 'wsrep_cluster_address' is a GLOBAL variable
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+
+
+# valid values
+SET @@global.wsrep_cluster_address='127.0.0.1';
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+127.0.0.1
+SET @@global.wsrep_cluster_address=AUTO;
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+AUTO
+SET @@global.wsrep_cluster_address=default;
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+
+
+# invalid values
+SET @@global.wsrep_node_address=NULL;
+ERROR 42000: Variable 'wsrep_node_address' can't be set to the value of 'NULL'
+SELECT @@global.wsrep_node_address;
+@@global.wsrep_node_address
+
+SET @@global.wsrep_cluster_address=ON;
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+ON
+SET @@global.wsrep_cluster_address='OFF';
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+OFF
+SET @@global.wsrep_cluster_address='junk';
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+junk
+
+# restore the initial value
+SET @@global.wsrep_cluster_address = @wsrep_cluster_address_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_cluster_name_basic.result b/mysql-test/suite/sys_vars/r/wsrep_cluster_name_basic.result
new file mode 100644
index 00000000000..29a2d966489
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_cluster_name_basic.result
@@ -0,0 +1,43 @@
+#
+# wsrep_cluster_name
+#
+# save the initial value
+SET @wsrep_cluster_name_global_saved = @@global.wsrep_cluster_name;
+# default
+SELECT @@global.wsrep_cluster_name;
+@@global.wsrep_cluster_name
+my_wsrep_cluster
+
+# scope
+SELECT @@session.wsrep_cluster_name;
+ERROR HY000: Variable 'wsrep_cluster_name' is a GLOBAL variable
+SET @@global.wsrep_cluster_name='my_galera_cluster';
+SELECT @@global.wsrep_cluster_name;
+@@global.wsrep_cluster_name
+my_galera_cluster
+
+# valid values
+SET @@global.wsrep_cluster_name='my_quoted_galera_cluster';
+SELECT @@global.wsrep_cluster_name;
+@@global.wsrep_cluster_name
+my_quoted_galera_cluster
+SET @@global.wsrep_cluster_name=my_unquoted_cluster;
+SELECT @@global.wsrep_cluster_name;
+@@global.wsrep_cluster_name
+my_unquoted_cluster
+SET @@global.wsrep_cluster_name=OFF;
+SELECT @@global.wsrep_cluster_name;
+@@global.wsrep_cluster_name
+OFF
+SET @@global.wsrep_cluster_name=default;
+SELECT @@global.wsrep_cluster_name;
+@@global.wsrep_cluster_name
+my_wsrep_cluster
+
+# invalid values
+SET @@global.wsrep_cluster_name=NULL;
+ERROR 42000: Variable 'wsrep_cluster_name' can't be set to the value of 'NULL'
+
+# restore the initial value
+SET @@global.wsrep_cluster_name = @wsrep_cluster_name_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_convert_lock_to_trx_basic.result b/mysql-test/suite/sys_vars/r/wsrep_convert_lock_to_trx_basic.result
new file mode 100644
index 00000000000..80210c4c4b6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_convert_lock_to_trx_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_convert_lock_to_trx
+#
+# save the initial value
+SET @wsrep_convert_lock_to_trx_global_saved = @@global.wsrep_convert_lock_to_trx;
+# default
+SELECT @@global.wsrep_convert_lock_to_trx;
+@@global.wsrep_convert_lock_to_trx
+0
+
+# scope
+SELECT @@session.wsrep_convert_lock_to_trx;
+ERROR HY000: Variable 'wsrep_convert_LOCK_to_trx' is a GLOBAL variable
+SET @@global.wsrep_convert_lock_to_trx=OFF;
+SELECT @@global.wsrep_convert_lock_to_trx;
+@@global.wsrep_convert_lock_to_trx
+0
+SET @@global.wsrep_convert_lock_to_trx=ON;
+SELECT @@global.wsrep_convert_lock_to_trx;
+@@global.wsrep_convert_lock_to_trx
+1
+
+# valid values
+SET @@global.wsrep_convert_lock_to_trx='OFF';
+SELECT @@global.wsrep_convert_lock_to_trx;
+@@global.wsrep_convert_lock_to_trx
+0
+SET @@global.wsrep_convert_lock_to_trx=ON;
+SELECT @@global.wsrep_convert_lock_to_trx;
+@@global.wsrep_convert_lock_to_trx
+1
+SET @@global.wsrep_convert_lock_to_trx=default;
+SELECT @@global.wsrep_convert_lock_to_trx;
+@@global.wsrep_convert_lock_to_trx
+0
+
+# invalid values
+SET @@global.wsrep_convert_lock_to_trx=NULL;
+ERROR 42000: Variable 'wsrep_convert_LOCK_to_trx' can't be set to the value of 'NULL'
+SET @@global.wsrep_convert_lock_to_trx='junk';
+ERROR 42000: Variable 'wsrep_convert_LOCK_to_trx' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_convert_lock_to_trx = @wsrep_convert_lock_to_trx_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_data_home_dir_basic.result b/mysql-test/suite/sys_vars/r/wsrep_data_home_dir_basic.result
new file mode 100644
index 00000000000..c794302adb0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_data_home_dir_basic.result
@@ -0,0 +1,24 @@
+#
+# wsrep_data_home_dir (readonly)
+#
+# default
+SELECT @@global.wsrep_data_home_dir;
+@@global.wsrep_data_home_dir
+DATADIR
+
+# scope
+SELECT @@session.wsrep_data_home_dir;
+ERROR HY000: Variable 'wsrep_data_home_dir' is a GLOBAL variable
+
+# valid values
+SET @@global.wsrep_data_home_dir='/tmp/data';
+ERROR HY000: Variable 'wsrep_data_home_dir' is a read only variable
+SELECT @@global.wsrep_data_home_dir;
+@@global.wsrep_data_home_dir
+DATADIR
+SET @@global.wsrep_data_home_dir=default;
+ERROR HY000: Variable 'wsrep_data_home_dir' is a read only variable
+SELECT @@global.wsrep_data_home_dir;
+@@global.wsrep_data_home_dir
+DATADIR
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_dbug_option_basic.result b/mysql-test/suite/sys_vars/r/wsrep_dbug_option_basic.result
new file mode 100644
index 00000000000..2092d54681e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_dbug_option_basic.result
@@ -0,0 +1,47 @@
+#
+# wsrep_dbug_option
+#
+# save the initial value
+SET @wsrep_dbug_option_global_saved = @@global.wsrep_dbug_option;
+# default
+SELECT @@global.wsrep_dbug_option;
+@@global.wsrep_dbug_option
+
+
+# scope
+SELECT @@session.wsrep_dbug_option;
+ERROR HY000: Variable 'wsrep_dbug_option' is a GLOBAL variable
+SET @@global.wsrep_dbug_option='test-dbug-string';
+SELECT @@global.wsrep_dbug_option;
+@@global.wsrep_dbug_option
+test-dbug-string
+
+# valid values
+SET @@global.wsrep_dbug_option='quoted-dbug-string';
+SELECT @@global.wsrep_dbug_option;
+@@global.wsrep_dbug_option
+quoted-dbug-string
+SET @@global.wsrep_dbug_option=unquoted_dbug_string;
+SELECT @@global.wsrep_dbug_option;
+@@global.wsrep_dbug_option
+unquoted_dbug_string
+SET @@global.wsrep_dbug_option=OFF;
+SELECT @@global.wsrep_dbug_option;
+@@global.wsrep_dbug_option
+OFF
+SET @@global.wsrep_dbug_option=NULL;
+SELECT @@global.wsrep_dbug_option;
+@@global.wsrep_dbug_option
+NULL
+SET @@global.wsrep_dbug_option=default;
+SELECT @@global.wsrep_dbug_option;
+@@global.wsrep_dbug_option
+
+
+# invalid values
+SET @@global.wsrep_dbug_option=1;
+ERROR 42000: Incorrect argument type to variable 'wsrep_dbug_option'
+
+# restore the initial value
+SET @@global.wsrep_dbug_option = @wsrep_dbug_option_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_debug_basic.result b/mysql-test/suite/sys_vars/r/wsrep_debug_basic.result
new file mode 100644
index 00000000000..96c262c110c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_debug_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_debug
+#
+# save the initial value
+SET @wsrep_debug_global_saved = @@global.wsrep_debug;
+# default
+SELECT @@global.wsrep_debug;
+@@global.wsrep_debug
+0
+
+# scope
+SELECT @@session.wsrep_debug;
+ERROR HY000: Variable 'wsrep_debug' is a GLOBAL variable
+SET @@global.wsrep_debug=OFF;
+SELECT @@global.wsrep_debug;
+@@global.wsrep_debug
+0
+SET @@global.wsrep_debug=ON;
+SELECT @@global.wsrep_debug;
+@@global.wsrep_debug
+1
+
+# valid values
+SET @@global.wsrep_debug='OFF';
+SELECT @@global.wsrep_debug;
+@@global.wsrep_debug
+0
+SET @@global.wsrep_debug=ON;
+SELECT @@global.wsrep_debug;
+@@global.wsrep_debug
+1
+SET @@global.wsrep_debug=default;
+SELECT @@global.wsrep_debug;
+@@global.wsrep_debug
+0
+
+# invalid values
+SET @@global.wsrep_debug=NULL;
+ERROR 42000: Variable 'wsrep_debug' can't be set to the value of 'NULL'
+SET @@global.wsrep_debug='junk';
+ERROR 42000: Variable 'wsrep_debug' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_debug = @wsrep_debug_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_desync_basic.result b/mysql-test/suite/sys_vars/r/wsrep_desync_basic.result
new file mode 100644
index 00000000000..90925e71c32
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_desync_basic.result
@@ -0,0 +1,48 @@
+#
+# wsrep_desync
+#
+call mtr.add_suppression("WSREP: SET desync failed 9 for schema: test, query: SET @@global.wsrep_desync=ON");
+# save the initial value
+SET @wsrep_desync_global_saved = @@global.wsrep_desync;
+# default
+SELECT @@global.wsrep_desync;
+@@global.wsrep_desync
+0
+
+# scope
+SELECT @@session.wsrep_desync;
+ERROR HY000: Variable 'wsrep_desync' is a GLOBAL variable
+SET @@global.wsrep_desync=OFF;
+SELECT @@global.wsrep_desync;
+@@global.wsrep_desync
+0
+SET @@global.wsrep_desync=ON;
+Got one of the listed errors
+SELECT @@global.wsrep_desync;
+@@global.wsrep_desync
+0
+
+# valid values
+SET @@global.wsrep_desync='OFF';
+SELECT @@global.wsrep_desync;
+@@global.wsrep_desync
+0
+SET @@global.wsrep_desync=ON;
+Got one of the listed errors
+SELECT @@global.wsrep_desync;
+@@global.wsrep_desync
+0
+SET @@global.wsrep_desync=default;
+SELECT @@global.wsrep_desync;
+@@global.wsrep_desync
+0
+
+# invalid values
+SET @@global.wsrep_desync=NULL;
+ERROR 42000: Variable 'wsrep_desync' can't be set to the value of 'NULL'
+SET @@global.wsrep_desync='junk';
+ERROR 42000: Variable 'wsrep_desync' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_desync = @wsrep_desync_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_dirty_reads_basic.result b/mysql-test/suite/sys_vars/r/wsrep_dirty_reads_basic.result
new file mode 100644
index 00000000000..1968103873a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_dirty_reads_basic.result
@@ -0,0 +1,54 @@
+#
+# wsrep_dirty_reads
+#
+# save the initial value
+SET @wsrep_dirty_reads_session_saved = @@session.wsrep_dirty_reads;
+# default
+SELECT @@global.wsrep_dirty_reads;
+@@global.wsrep_dirty_reads
+0
+SELECT @@session.wsrep_dirty_reads;
+@@session.wsrep_dirty_reads
+0
+
+# valid values for session
+SET @@session.wsrep_dirty_reads=OFF;
+SELECT @@session.wsrep_dirty_reads;
+@@session.wsrep_dirty_reads
+0
+SET @@session.wsrep_dirty_reads=ON;
+SELECT @@session.wsrep_dirty_reads;
+@@session.wsrep_dirty_reads
+1
+SET @@session.wsrep_dirty_reads=default;
+SELECT @@session.wsrep_dirty_reads;
+@@session.wsrep_dirty_reads
+0
+
+# valid values for global
+SET @@global.wsrep_dirty_reads=OFF;
+SELECT @@global.wsrep_dirty_reads;
+@@global.wsrep_dirty_reads
+0
+SET @@global.wsrep_dirty_reads=ON;
+SELECT @@global.wsrep_dirty_reads;
+@@global.wsrep_dirty_reads
+1
+SET @@global.wsrep_dirty_reads=default;
+SELECT @@global.wsrep_dirty_reads;
+@@global.wsrep_dirty_reads
+0
+
+# invalid values
+SET @@session.wsrep_dirty_reads=NULL;
+ERROR 42000: Variable 'wsrep_dirty_reads' can't be set to the value of 'NULL'
+SET @@session.wsrep_dirty_reads='junk';
+ERROR 42000: Variable 'wsrep_dirty_reads' can't be set to the value of 'junk'
+SET @@global.wsrep_dirty_reads=NULL;
+ERROR 42000: Variable 'wsrep_dirty_reads' can't be set to the value of 'NULL'
+SET @@global.wsrep_dirty_reads='junk';
+ERROR 42000: Variable 'wsrep_dirty_reads' can't be set to the value of 'junk'
+
+# restore the initial values
+SET @@session.wsrep_dirty_reads = @wsrep_dirty_reads_session_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_drupal_282555_workaround_basic.result b/mysql-test/suite/sys_vars/r/wsrep_drupal_282555_workaround_basic.result
new file mode 100644
index 00000000000..52bfc01e810
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_drupal_282555_workaround_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_drupal_282555_workaround
+#
+# save the initial value
+SET @wsrep_drupal_282555_workaround_global_saved = @@global.wsrep_drupal_282555_workaround;
+# default
+SELECT @@global.wsrep_drupal_282555_workaround;
+@@global.wsrep_drupal_282555_workaround
+0
+
+# scope
+SELECT @@session.wsrep_drupal_282555_workaround;
+ERROR HY000: Variable 'wsrep_drupal_282555_workaround' is a GLOBAL variable
+SET @@global.wsrep_drupal_282555_workaround=OFF;
+SELECT @@global.wsrep_drupal_282555_workaround;
+@@global.wsrep_drupal_282555_workaround
+0
+SET @@global.wsrep_drupal_282555_workaround=ON;
+SELECT @@global.wsrep_drupal_282555_workaround;
+@@global.wsrep_drupal_282555_workaround
+1
+
+# valid values
+SET @@global.wsrep_drupal_282555_workaround='OFF';
+SELECT @@global.wsrep_drupal_282555_workaround;
+@@global.wsrep_drupal_282555_workaround
+0
+SET @@global.wsrep_drupal_282555_workaround=ON;
+SELECT @@global.wsrep_drupal_282555_workaround;
+@@global.wsrep_drupal_282555_workaround
+1
+SET @@global.wsrep_drupal_282555_workaround=default;
+SELECT @@global.wsrep_drupal_282555_workaround;
+@@global.wsrep_drupal_282555_workaround
+0
+
+# invalid values
+SET @@global.wsrep_drupal_282555_workaround=NULL;
+ERROR 42000: Variable 'wsrep_drupal_282555_workaround' can't be set to the value of 'NULL'
+SET @@global.wsrep_drupal_282555_workaround='junk';
+ERROR 42000: Variable 'wsrep_drupal_282555_workaround' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_drupal_282555_workaround = @wsrep_drupal_282555_workaround_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_forced_binlog_format_basic.result b/mysql-test/suite/sys_vars/r/wsrep_forced_binlog_format_basic.result
new file mode 100644
index 00000000000..3cf5ffcaf4e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_forced_binlog_format_basic.result
@@ -0,0 +1,51 @@
+#
+# wsrep_forced_binlog_format
+#
+# save the initial value
+SET @wsrep_forced_binlog_format_global_saved = @@global.wsrep_forced_binlog_format;
+# default
+SELECT @@global.wsrep_forced_binlog_format;
+@@global.wsrep_forced_binlog_format
+NONE
+
+# scope
+SELECT @@session.wsrep_forced_binlog_format;
+ERROR HY000: Variable 'wsrep_forced_binlog_format' is a GLOBAL variable
+SET @@global.wsrep_forced_binlog_format=STATEMENT;
+SELECT @@global.wsrep_forced_binlog_format;
+@@global.wsrep_forced_binlog_format
+STATEMENT
+
+# valid values
+SET @@global.wsrep_forced_binlog_format=STATEMENT;
+SELECT @@global.wsrep_forced_binlog_format;
+@@global.wsrep_forced_binlog_format
+STATEMENT
+SET @@global.wsrep_forced_binlog_format=ROW;
+SELECT @@global.wsrep_forced_binlog_format;
+@@global.wsrep_forced_binlog_format
+ROW
+SET @@global.wsrep_forced_binlog_format=MIXED;
+SELECT @@global.wsrep_forced_binlog_format;
+@@global.wsrep_forced_binlog_format
+MIXED
+SET @@global.wsrep_forced_binlog_format=NONE;
+SELECT @@global.wsrep_forced_binlog_format;
+@@global.wsrep_forced_binlog_format
+NONE
+SET @@global.wsrep_forced_binlog_format=default;
+SELECT @@global.wsrep_forced_binlog_format;
+@@global.wsrep_forced_binlog_format
+NONE
+
+# invalid values
+SET @@global.wsrep_forced_binlog_format=NULL;
+ERROR 42000: Variable 'wsrep_forced_binlog_format' can't be set to the value of 'NULL'
+SET @@global.wsrep_forced_binlog_format='junk';
+ERROR 42000: Variable 'wsrep_forced_binlog_format' can't be set to the value of 'junk'
+SET @@global.wsrep_forced_binlog_format=ON;
+ERROR 42000: Variable 'wsrep_forced_binlog_format' can't be set to the value of 'ON'
+
+# restore the initial value
+SET @@global.wsrep_forced_binlog_format = @wsrep_forced_binlog_format_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_gtid_domain_id_basic.result b/mysql-test/suite/sys_vars/r/wsrep_gtid_domain_id_basic.result
new file mode 100644
index 00000000000..7c9537d095e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_gtid_domain_id_basic.result
@@ -0,0 +1,47 @@
+#
+# wsrep_gtid_domain_id
+#
+# save the initial value
+SET @wsrep_gtid_domain_id_global_saved = @@global.wsrep_gtid_domain_id;
+# default
+SELECT @@global.wsrep_gtid_domain_id;
+@@global.wsrep_gtid_domain_id
+0
+
+# scope
+SELECT @@session.wsrep_gtid_domain_id;
+ERROR HY000: Variable 'wsrep_gtid_domain_id' is a GLOBAL variable
+SET @@global.wsrep_gtid_domain_id=1;
+SELECT @@global.wsrep_gtid_domain_id;
+@@global.wsrep_gtid_domain_id
+1
+
+# valid values
+SET @@global.wsrep_gtid_domain_id=10;
+SELECT @@global.wsrep_gtid_domain_id;
+@@global.wsrep_gtid_domain_id
+10
+SET @@global.wsrep_gtid_domain_id=0;
+SELECT @@global.wsrep_gtid_domain_id;
+@@global.wsrep_gtid_domain_id
+0
+SET @@global.wsrep_gtid_domain_id=default;
+SELECT @global.wsrep_gtid_domain_id;
+@global.wsrep_gtid_domain_id
+NULL
+
+# invalid values
+SET @@global.wsrep_gtid_domain_id=NULL;
+ERROR 42000: Incorrect argument type to variable 'wsrep_gtid_domain_id'
+SET @@global.wsrep_gtid_domain_id='junk';
+ERROR 42000: Incorrect argument type to variable 'wsrep_gtid_domain_id'
+SET @@global.wsrep_gtid_domain_id=-1;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_gtid_domain_id value: '-1'
+SELECT @global.wsrep_gtid_domain_id;
+@global.wsrep_gtid_domain_id
+NULL
+
+# restore the initial value
+SET @@global.wsrep_gtid_domain_id = @wsrep_gtid_domain_id_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_gtid_mode_basic.result b/mysql-test/suite/sys_vars/r/wsrep_gtid_mode_basic.result
new file mode 100644
index 00000000000..e59d6468c21
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_gtid_mode_basic.result
@@ -0,0 +1,31 @@
+#
+# wsrep_gtid_mode
+#
+# save the initial value
+SET @wsrep_gtid_mode_global_saved = @@global.wsrep_gtid_mode;
+# default
+SELECT @@global.wsrep_gtid_mode;
+@@global.wsrep_gtid_mode
+0
+SELECT @@session.wsrep_gtid_mode;
+ERROR HY000: Variable 'wsrep_gtid_mode' is a GLOBAL variable
+
+# scope and valid values
+SET @@global.wsrep_gtid_mode=OFF;
+SELECT @@global.wsrep_gtid_mode;
+@@global.wsrep_gtid_mode
+0
+SET @@global.wsrep_gtid_mode=ON;
+SELECT @@global.wsrep_gtid_mode;
+@@global.wsrep_gtid_mode
+1
+
+# invalid values
+SET @@global.wsrep_gtid_mode=NULL;
+ERROR 42000: Variable 'wsrep_gtid_mode' can't be set to the value of 'NULL'
+SET @@global.wsrep_gtid_mode='junk';
+ERROR 42000: Variable 'wsrep_gtid_mode' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_gtid_mode = @wsrep_gtid_mode_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_load_data_splitting_basic.result b/mysql-test/suite/sys_vars/r/wsrep_load_data_splitting_basic.result
new file mode 100644
index 00000000000..687934a7705
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_load_data_splitting_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_load_data_splitting
+#
+# save the initial value
+SET @wsrep_load_data_splitting_global_saved = @@global.wsrep_load_data_splitting;
+# default
+SELECT @@global.wsrep_load_data_splitting;
+@@global.wsrep_load_data_splitting
+1
+
+# scope
+SELECT @@session.wsrep_load_data_splitting;
+ERROR HY000: Variable 'wsrep_load_data_splitting' is a GLOBAL variable
+SET @@global.wsrep_load_data_splitting=OFF;
+SELECT @@global.wsrep_load_data_splitting;
+@@global.wsrep_load_data_splitting
+0
+SET @@global.wsrep_load_data_splitting=ON;
+SELECT @@global.wsrep_load_data_splitting;
+@@global.wsrep_load_data_splitting
+1
+
+# valid values
+SET @@global.wsrep_load_data_splitting='OFF';
+SELECT @@global.wsrep_load_data_splitting;
+@@global.wsrep_load_data_splitting
+0
+SET @@global.wsrep_load_data_splitting=ON;
+SELECT @@global.wsrep_load_data_splitting;
+@@global.wsrep_load_data_splitting
+1
+SET @@global.wsrep_load_data_splitting=default;
+SELECT @@global.wsrep_load_data_splitting;
+@@global.wsrep_load_data_splitting
+1
+
+# invalid values
+SET @@global.wsrep_load_data_splitting=NULL;
+ERROR 42000: Variable 'wsrep_load_data_splitting' can't be set to the value of 'NULL'
+SET @@global.wsrep_load_data_splitting='junk';
+ERROR 42000: Variable 'wsrep_load_data_splitting' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_load_data_splitting = @wsrep_load_data_splitting_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_log_conflicts_basic.result b/mysql-test/suite/sys_vars/r/wsrep_log_conflicts_basic.result
new file mode 100644
index 00000000000..4d577daa904
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_log_conflicts_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_log_conflicts
+#
+# save the initial value
+SET @wsrep_log_conflicts_global_saved = @@global.wsrep_log_conflicts;
+# default
+SELECT @@global.wsrep_log_conflicts;
+@@global.wsrep_log_conflicts
+0
+
+# scope
+SELECT @@session.wsrep_log_conflicts;
+ERROR HY000: Variable 'wsrep_log_conflicts' is a GLOBAL variable
+SET @@global.wsrep_log_conflicts=OFF;
+SELECT @@global.wsrep_log_conflicts;
+@@global.wsrep_log_conflicts
+0
+SET @@global.wsrep_log_conflicts=ON;
+SELECT @@global.wsrep_log_conflicts;
+@@global.wsrep_log_conflicts
+1
+
+# valid values
+SET @@global.wsrep_log_conflicts='OFF';
+SELECT @@global.wsrep_log_conflicts;
+@@global.wsrep_log_conflicts
+0
+SET @@global.wsrep_log_conflicts=ON;
+SELECT @@global.wsrep_log_conflicts;
+@@global.wsrep_log_conflicts
+1
+SET @@global.wsrep_log_conflicts=default;
+SELECT @@global.wsrep_log_conflicts;
+@@global.wsrep_log_conflicts
+0
+
+# invalid values
+SET @@global.wsrep_log_conflicts=NULL;
+ERROR 42000: Variable 'wsrep_log_conflicts' can't be set to the value of 'NULL'
+SET @@global.wsrep_log_conflicts='junk';
+ERROR 42000: Variable 'wsrep_log_conflicts' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_log_conflicts = @wsrep_log_conflicts_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_max_ws_rows_basic.result b/mysql-test/suite/sys_vars/r/wsrep_max_ws_rows_basic.result
new file mode 100644
index 00000000000..d96bc8708c5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_max_ws_rows_basic.result
@@ -0,0 +1,51 @@
+#
+# wsrep_max_ws_rows
+#
+# save the initial value
+SET @wsrep_max_ws_rows_global_saved = @@global.wsrep_max_ws_rows;
+# default
+SELECT @@global.wsrep_max_ws_rows;
+@@global.wsrep_max_ws_rows
+0
+
+# scope
+SELECT @@session.wsrep_max_ws_rows;
+ERROR HY000: Variable 'wsrep_max_ws_rows' is a GLOBAL variable
+SET @@global.wsrep_max_ws_rows=1;
+SELECT @@global.wsrep_max_ws_rows;
+@@global.wsrep_max_ws_rows
+1
+
+# valid values
+SET @@global.wsrep_max_ws_rows=131072;
+SELECT @@global.wsrep_max_ws_rows;
+@@global.wsrep_max_ws_rows
+131072
+SET @@global.wsrep_max_ws_rows=131073;
+SELECT @@global.wsrep_max_ws_rows;
+@@global.wsrep_max_ws_rows
+131073
+SET @@global.wsrep_max_ws_rows=0;
+SELECT @@global.wsrep_max_ws_rows;
+@@global.wsrep_max_ws_rows
+0
+SET @@global.wsrep_max_ws_rows=default;
+SELECT @global.wsrep_max_ws_rows;
+@global.wsrep_max_ws_rows
+NULL
+
+# invalid values
+SET @@global.wsrep_max_ws_rows=NULL;
+ERROR 42000: Incorrect argument type to variable 'wsrep_max_ws_rows'
+SET @@global.wsrep_max_ws_rows='junk';
+ERROR 42000: Incorrect argument type to variable 'wsrep_max_ws_rows'
+SET @@global.wsrep_max_ws_rows=-1;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_max_ws_rows value: '-1'
+SELECT @global.wsrep_max_ws_rows;
+@global.wsrep_max_ws_rows
+NULL
+
+# restore the initial value
+SET @@global.wsrep_max_ws_rows = @wsrep_max_ws_rows_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_max_ws_size_basic.result b/mysql-test/suite/sys_vars/r/wsrep_max_ws_size_basic.result
new file mode 100644
index 00000000000..689da3e9cb0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_max_ws_size_basic.result
@@ -0,0 +1,53 @@
+#
+# wsrep_max_ws_size
+#
+# default
+SELECT @@global.wsrep_max_ws_size;
+@@global.wsrep_max_ws_size
+2147483647
+
+# scope
+SELECT @@session.wsrep_max_ws_size;
+ERROR HY000: Variable 'wsrep_max_ws_size' is a GLOBAL variable
+SET @@global.wsrep_max_ws_size=1;
+ERROR HY000: WSREP (galera) not started
+SELECT @@global.wsrep_max_ws_size;
+@@global.wsrep_max_ws_size
+2147483647
+
+# valid values
+SET @@global.wsrep_max_ws_size=1073741824;
+ERROR HY000: WSREP (galera) not started
+SELECT @@global.wsrep_max_ws_size;
+@@global.wsrep_max_ws_size
+2147483647
+SET @@global.wsrep_max_ws_size=1073741825;
+ERROR HY000: WSREP (galera) not started
+SELECT @@global.wsrep_max_ws_size;
+@@global.wsrep_max_ws_size
+2147483647
+SET @@global.wsrep_max_ws_size=0;
+ERROR HY000: WSREP (galera) not started
+SELECT @@global.wsrep_max_ws_size;
+@@global.wsrep_max_ws_size
+2147483647
+SET @@global.wsrep_max_ws_size=default;
+ERROR HY000: WSREP (galera) not started
+SELECT @global.wsrep_max_ws_size;
+@global.wsrep_max_ws_size
+NULL
+
+# invalid values
+SET @@global.wsrep_max_ws_size=NULL;
+ERROR 42000: Incorrect argument type to variable 'wsrep_max_ws_size'
+SET @@global.wsrep_max_ws_size='junk';
+ERROR 42000: Incorrect argument type to variable 'wsrep_max_ws_size'
+SELECT @global.wsrep_max_ws_size;
+@global.wsrep_max_ws_size
+NULL
+SET @@global.wsrep_max_ws_size=-1;
+ERROR HY000: WSREP (galera) not started
+SELECT @global.wsrep_max_ws_size;
+@global.wsrep_max_ws_size
+NULL
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_mysql_replication_bundle_basic.result b/mysql-test/suite/sys_vars/r/wsrep_mysql_replication_bundle_basic.result
new file mode 100644
index 00000000000..1d69d800703
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_mysql_replication_bundle_basic.result
@@ -0,0 +1,52 @@
+#
+# wsrep_mysql_replication_bundle
+#
+# save the initial value
+SET @wsrep_mysql_replication_bundle_global_saved = @@global.wsrep_mysql_replication_bundle;
+# default
+SELECT @@global.wsrep_mysql_replication_bundle;
+@@global.wsrep_mysql_replication_bundle
+0
+
+# scope
+SELECT @@session.wsrep_mysql_replication_bundle;
+ERROR HY000: Variable 'wsrep_mysql_replication_bundle' is a GLOBAL variable
+SELECT @@global.wsrep_mysql_replication_bundle;
+@@global.wsrep_mysql_replication_bundle
+0
+
+# valid values
+SET @@global.wsrep_mysql_replication_bundle=0;
+SELECT @@global.wsrep_mysql_replication_bundle;
+@@global.wsrep_mysql_replication_bundle
+0
+SET @@global.wsrep_mysql_replication_bundle=1000;
+SELECT @@global.wsrep_mysql_replication_bundle;
+@@global.wsrep_mysql_replication_bundle
+1000
+SET @@global.wsrep_mysql_replication_bundle=default;
+SELECT @@global.wsrep_mysql_replication_bundle;
+@@global.wsrep_mysql_replication_bundle
+0
+
+# invalid values
+SET @@global.wsrep_mysql_replication_bundle=NULL;
+ERROR 42000: Incorrect argument type to variable 'wsrep_mysql_replication_bundle'
+SET @@global.wsrep_mysql_replication_bundle='junk';
+ERROR 42000: Incorrect argument type to variable 'wsrep_mysql_replication_bundle'
+SET @@global.wsrep_mysql_replication_bundle=-1;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_mysql_replication_bundle value: '-1'
+SELECT @@global.wsrep_mysql_replication_bundle;
+@@global.wsrep_mysql_replication_bundle
+0
+SET @@global.wsrep_mysql_replication_bundle=1001;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_mysql_replication_bundle value: '1001'
+SELECT @@global.wsrep_mysql_replication_bundle;
+@@global.wsrep_mysql_replication_bundle
+1000
+
+# restore the initial value
+SET @@global.wsrep_mysql_replication_bundle = @wsrep_mysql_replication_bundle_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_node_address_basic.result b/mysql-test/suite/sys_vars/r/wsrep_node_address_basic.result
new file mode 100644
index 00000000000..e9a93d2fcd6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_node_address_basic.result
@@ -0,0 +1,49 @@
+#
+# wsrep_node_address
+#
+# save the initial value
+SET @wsrep_node_address_global_saved = @@global.wsrep_node_address;
+# default
+SELECT @@global.wsrep_node_address;
+@@global.wsrep_node_address
+
+
+# scope
+SELECT @@session.wsrep_node_address;
+ERROR HY000: Variable 'wsrep_node_address' is a GLOBAL variable
+SELECT @@global.wsrep_node_address;
+@@global.wsrep_node_address
+
+
+# valid values
+SET @@global.wsrep_node_address='127.0.0.1';
+SELECT @@global.wsrep_node_address;
+@@global.wsrep_node_address
+127.0.0.1
+SET @@global.wsrep_node_address=default;
+SELECT @@global.wsrep_node_address;
+@@global.wsrep_node_address
+
+
+# invalid values
+SET @@global.wsrep_node_address=NULL;
+ERROR 42000: Variable 'wsrep_node_address' can't be set to the value of 'NULL'
+SELECT @@global.wsrep_node_address;
+@@global.wsrep_node_address
+
+SET @@global.wsrep_node_address=ON;
+SELECT @@global.wsrep_node_address;
+@@global.wsrep_node_address
+ON
+SET @@global.wsrep_node_address='OFF';
+SELECT @@global.wsrep_node_address;
+@@global.wsrep_node_address
+OFF
+SET @@global.wsrep_node_address='junk';
+SELECT @@global.wsrep_node_address;
+@@global.wsrep_node_address
+junk
+
+# restore the initial value
+SET @@global.wsrep_node_address = @wsrep_node_address_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_node_incoming_address_basic.result b/mysql-test/suite/sys_vars/r/wsrep_node_incoming_address_basic.result
new file mode 100644
index 00000000000..2340c61db28
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_node_incoming_address_basic.result
@@ -0,0 +1,56 @@
+#
+# wsrep_node_incoming_address
+#
+# save the initial value
+SET @wsrep_node_incoming_address_global_saved = @@global.wsrep_node_incoming_address;
+# default
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+AUTO
+
+# scope
+SELECT @@session.wsrep_node_incoming_address;
+ERROR HY000: Variable 'wsrep_node_incoming_address' is a GLOBAL variable
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+AUTO
+
+# valid values
+SET @@global.wsrep_node_incoming_address='127.0.0.1:4444';
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+127.0.0.1:4444
+SET @@global.wsrep_node_incoming_address='127.0.0.1';
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+127.0.0.1
+SET @@global.wsrep_node_incoming_address=AUTO;
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+AUTO
+SET @@global.wsrep_node_incoming_address=default;
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+AUTO
+
+# invalid values
+SET @@global.wsrep_node_incoming_address=ON;
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+ON
+SET @@global.wsrep_node_incoming_address='OFF';
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+OFF
+SET @@global.wsrep_node_incoming_address=NULL;
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+NULL
+SET @@global.wsrep_node_incoming_address='junk';
+SELECT @@global.wsrep_node_incoming_address;
+@@global.wsrep_node_incoming_address
+junk
+
+# restore the initial value
+SET @@global.wsrep_node_incoming_address = @wsrep_node_incoming_address_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_node_name_basic.result b/mysql-test/suite/sys_vars/r/wsrep_node_name_basic.result
new file mode 100644
index 00000000000..763d0612a1b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_node_name_basic.result
@@ -0,0 +1,61 @@
+#
+# wsrep_node_name
+#
+call mtr.add_suppression("WSREP: Failed to get provider options");
+# save the initial value
+SET @wsrep_node_name_global_saved = @@global.wsrep_node_name;
+# default (expect 1)
+SELECT COUNT(@@global.wsrep_node_name);
+COUNT(@@global.wsrep_node_name)
+1
+
+# scope
+SELECT @@session.wsrep_node_name;
+ERROR HY000: Variable 'wsrep_node_name' is a GLOBAL variable
+SET @@global.wsrep_node_name='node_name';
+SELECT @@global.wsrep_node_name;
+@@global.wsrep_node_name
+node_name
+
+# valid values
+SET @@global.wsrep_node_name='my_node';
+SELECT @@global.wsrep_node_name;
+@@global.wsrep_node_name
+my_node
+SET @@global.wsrep_node_name='hyphenated-node-name';
+SELECT @@global.wsrep_node_name;
+@@global.wsrep_node_name
+hyphenated-node-name
+SET @@global.wsrep_node_name=default;
+# default (expect 1)
+SELECT COUNT(@@global.wsrep_node_name);
+COUNT(@@global.wsrep_node_name)
+1
+
+# invalid values
+SET @@global.wsrep_node_name=NULL;
+ERROR 42000: Variable 'wsrep_node_name' can't be set to the value of 'NULL'
+SELECT COUNT(@@global.wsrep_node_name);
+COUNT(@@global.wsrep_node_name)
+1
+SET @@global.wsrep_node_name=1;
+ERROR 42000: Incorrect argument type to variable 'wsrep_node_name'
+SELECT COUNT(@@global.wsrep_node_name);
+COUNT(@@global.wsrep_node_name)
+1
+#
+# MDEV-6699 : wsrep_node_name not automaticly set to hostname
+#
+SET @@global.wsrep_node_name=default;
+SELECT @@GLOBAL.wsrep_node_name = VARIABLE_VALUE FROM
+INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='hostname';
+@@GLOBAL.wsrep_node_name = VARIABLE_VALUE
+1
+SELECT @@GLOBAL.wsrep_node_name = VARIABLE_VALUE FROM
+INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='wsrep_node_name';
+@@GLOBAL.wsrep_node_name = VARIABLE_VALUE
+1
+
+# restore the initial value
+SET @@global.wsrep_node_name = @wsrep_node_name_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_notify_cmd_basic.result b/mysql-test/suite/sys_vars/r/wsrep_notify_cmd_basic.result
new file mode 100644
index 00000000000..056ff8c817b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_notify_cmd_basic.result
@@ -0,0 +1,47 @@
+#
+# wsrep_notify_cmd
+#
+call mtr.add_suppression("WSREP: Failed to get provider options");
+# save the initial value
+SET @wsrep_notify_cmd_global_saved = @@global.wsrep_notify_cmd;
+# default
+SELECT @@global.wsrep_notify_cmd;
+@@global.wsrep_notify_cmd
+
+
+# scope
+SELECT @@session.wsrep_notify_cmd;
+ERROR HY000: Variable 'wsrep_notify_cmd' is a GLOBAL variable
+SET @@global.wsrep_notify_cmd='notify_cmd';
+SELECT @@global.wsrep_notify_cmd;
+@@global.wsrep_notify_cmd
+notify_cmd
+
+# valid values
+SET @@global.wsrep_notify_cmd='command';
+SELECT @@global.wsrep_notify_cmd;
+@@global.wsrep_notify_cmd
+command
+SET @@global.wsrep_notify_cmd='hyphenated-command';
+SELECT @@global.wsrep_notify_cmd;
+@@global.wsrep_notify_cmd
+hyphenated-command
+SET @@global.wsrep_notify_cmd=default;
+SELECT @@global.wsrep_notify_cmd;
+@@global.wsrep_notify_cmd
+
+SET @@global.wsrep_notify_cmd=NULL;
+SELECT @@global.wsrep_notify_cmd;
+@@global.wsrep_notify_cmd
+NULL
+
+# invalid values
+SET @@global.wsrep_notify_cmd=1;
+ERROR 42000: Incorrect argument type to variable 'wsrep_notify_cmd'
+SELECT @@global.wsrep_notify_cmd;
+@@global.wsrep_notify_cmd
+NULL
+
+# restore the initial value
+SET @@global.wsrep_notify_cmd = @wsrep_notify_cmd_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_on_basic.result b/mysql-test/suite/sys_vars/r/wsrep_on_basic.result
new file mode 100644
index 00000000000..735e2d77180
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_on_basic.result
@@ -0,0 +1,50 @@
+#
+# wsrep_on
+#
+# save the initial values
+SET @wsrep_on_global_saved = @@global.wsrep_on;
+SET @wsrep_on_session_saved = @@session.wsrep_on;
+# default
+SELECT @@global.wsrep_on;
+@@global.wsrep_on
+0
+SELECT @@session.wsrep_on;
+@@session.wsrep_on
+0
+
+# scope and valid values
+SET @@global.wsrep_on=OFF;
+SELECT @@global.wsrep_on;
+@@global.wsrep_on
+0
+SET @@global.wsrep_on=ON;
+SELECT @@global.wsrep_on;
+@@global.wsrep_on
+1
+SET @@session.wsrep_on=OFF;
+SELECT @@session.wsrep_on;
+@@session.wsrep_on
+0
+SET @@session.wsrep_on=ON;
+SELECT @@session.wsrep_on;
+@@session.wsrep_on
+1
+SET @@session.wsrep_on=default;
+SELECT @@session.wsrep_on;
+@@session.wsrep_on
+1
+
+# invalid values
+SET @@global.wsrep_on=NULL;
+ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'NULL'
+SET @@global.wsrep_on='junk';
+ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'junk'
+SET @@session.wsrep_on=NULL;
+ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'NULL'
+SET @@session.wsrep_on='junk';
+ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'junk'
+
+# restore the initial values
+SET @@global.wsrep_on = @wsrep_on_global_saved;
+SET @@session.wsrep_on = @wsrep_on_session_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_osu_method_basic.result b/mysql-test/suite/sys_vars/r/wsrep_osu_method_basic.result
new file mode 100644
index 00000000000..10f1d654c12
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_osu_method_basic.result
@@ -0,0 +1,61 @@
+#
+# wsrep_osu_method
+#
+# save the initial value
+SET @wsrep_osu_method_global_saved = @@global.wsrep_osu_method;
+# default
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+TOI
+
+# scope
+SELECT @@session.wsrep_osu_method;
+@@session.wsrep_osu_method
+TOI
+SET @@global.wsrep_osu_method=TOI;
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+TOI
+
+# valid values
+SET @@global.wsrep_osu_method=TOI;
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+TOI
+SET @@global.wsrep_osu_method=RSU;
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+RSU
+SET @@global.wsrep_osu_method="RSU";
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+RSU
+SET @@global.wsrep_osu_method=default;
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+TOI
+SET @@global.wsrep_osu_method=1;
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+RSU
+
+# invalid values
+SET @@global.wsrep_osu_method=4;
+ERROR 42000: Variable 'wsrep_OSU_method' can't be set to the value of '4'
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+RSU
+SET @@global.wsrep_osu_method=NULL;
+ERROR 42000: Variable 'wsrep_OSU_method' can't be set to the value of 'NULL'
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+RSU
+SET @@global.wsrep_osu_method='junk';
+ERROR 42000: Variable 'wsrep_OSU_method' can't be set to the value of 'junk'
+SELECT @@global.wsrep_osu_method;
+@@global.wsrep_osu_method
+RSU
+
+# restore the initial value
+SET @@global.wsrep_osu_method = @wsrep_osu_method_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_provider_basic.result b/mysql-test/suite/sys_vars/r/wsrep_provider_basic.result
new file mode 100644
index 00000000000..3e4ac8ca883
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_provider_basic.result
@@ -0,0 +1,40 @@
+#
+# wsrep_provider
+#
+# save the initial value
+SET @wsrep_provider_global_saved = @@global.wsrep_provider;
+# default
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+none
+
+# scope
+SELECT @@session.wsrep_provider;
+ERROR HY000: Variable 'wsrep_provider' is a GLOBAL variable
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+none
+
+# valid values
+SET @@global.wsrep_provider=default;
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+none
+
+# invalid values
+SET @@global.wsrep_provider='/invalid/libgalera_smm.so';
+ERROR 42000: Variable 'wsrep_provider' can't be set to the value of '/invalid/libgalera_smm.so'
+SET @@global.wsrep_provider=NULL;
+ERROR 42000: Variable 'wsrep_provider' can't be set to the value of 'NULL'
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+none
+SET @@global.wsrep_provider=1;
+ERROR 42000: Incorrect argument type to variable 'wsrep_provider'
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+none
+
+# restore the initial value
+SET @@global.wsrep_provider = @wsrep_provider_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_provider_options_basic.result b/mysql-test/suite/sys_vars/r/wsrep_provider_options_basic.result
new file mode 100644
index 00000000000..b2e07c55b38
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_provider_options_basic.result
@@ -0,0 +1,49 @@
+#
+# wsrep_provider_options
+#
+call mtr.add_suppression("WSREP: Failed to get provider options");
+SET @@global.wsrep_provider = @@global.wsrep_provider;
+# save the initial value
+SET @wsrep_provider_options_global_saved = @@global.wsrep_provider_options;
+# default
+SELECT @@global.wsrep_provider_options;
+@@global.wsrep_provider_options
+
+
+# scope
+SELECT @@session.wsrep_provider_options;
+ERROR HY000: Variable 'wsrep_provider_options' is a GLOBAL variable
+SET @@global.wsrep_provider_options='option1';
+SELECT @@global.wsrep_provider_options;
+@@global.wsrep_provider_options
+option1
+
+# valid values
+SET @@global.wsrep_provider_options='name1=value1;name2=value2';
+SELECT @@global.wsrep_provider_options;
+@@global.wsrep_provider_options
+name1=value1;name2=value2
+SET @@global.wsrep_provider_options='hyphenated-name:value';
+SELECT @@global.wsrep_provider_options;
+@@global.wsrep_provider_options
+hyphenated-name:value
+SET @@global.wsrep_provider_options=default;
+SELECT @@global.wsrep_provider_options;
+@@global.wsrep_provider_options
+
+
+# invalid values
+SET @@global.wsrep_provider_options=1;
+ERROR 42000: Incorrect argument type to variable 'wsrep_provider_options'
+SELECT @@global.wsrep_provider_options;
+@@global.wsrep_provider_options
+
+SET @@global.wsrep_provider_options=NULL;
+Got one of the listed errors
+SELECT @@global.wsrep_provider_options;
+@@global.wsrep_provider_options
+NULL
+
+# restore the initial value
+SET @@global.wsrep_provider_options = @wsrep_provider_options_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_recover_basic.result b/mysql-test/suite/sys_vars/r/wsrep_recover_basic.result
new file mode 100644
index 00000000000..b26c1121a4c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_recover_basic.result
@@ -0,0 +1,22 @@
+#
+# wsrep_recover
+#
+# default
+SELECT @@global.wsrep_recover;
+@@global.wsrep_recover
+0
+SELECT @@session.wsrep_recover;
+ERROR HY000: Variable 'wsrep_recover' is a GLOBAL variable
+
+# scope and valid values
+SET @@global.wsrep_recover=OFF;
+ERROR HY000: Variable 'wsrep_recover' is a read only variable
+SET @@global.wsrep_recover=ON;
+ERROR HY000: Variable 'wsrep_recover' is a read only variable
+
+# invalid values
+SET @@global.wsrep_recover=NULL;
+ERROR HY000: Variable 'wsrep_recover' is a read only variable
+SET @@global.wsrep_recover='junk';
+ERROR HY000: Variable 'wsrep_recover' is a read only variable
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_replicate_myisam_basic.result b/mysql-test/suite/sys_vars/r/wsrep_replicate_myisam_basic.result
new file mode 100644
index 00000000000..3625f29aa0f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_replicate_myisam_basic.result
@@ -0,0 +1,31 @@
+#
+# wsrep_replicate_myisam
+#
+# save the initial value
+SET @wsrep_replicate_myisam_global_saved = @@global.wsrep_replicate_myisam;
+# default
+SELECT @@global.wsrep_replicate_myisam;
+@@global.wsrep_replicate_myisam
+0
+SELECT @@session.wsrep_replicate_myisam;
+ERROR HY000: Variable 'wsrep_replicate_myisam' is a GLOBAL variable
+
+# scope and valid values
+SET @@global.wsrep_replicate_myisam=OFF;
+SELECT @@global.wsrep_replicate_myisam;
+@@global.wsrep_replicate_myisam
+0
+SET @@global.wsrep_replicate_myisam=ON;
+SELECT @@global.wsrep_replicate_myisam;
+@@global.wsrep_replicate_myisam
+1
+
+# invalid values
+SET @@global.wsrep_replicate_myisam=NULL;
+ERROR 42000: Variable 'wsrep_replicate_myisam' can't be set to the value of 'NULL'
+SET @@global.wsrep_replicate_myisam='junk';
+ERROR 42000: Variable 'wsrep_replicate_myisam' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_replicate_myisam = @wsrep_replicate_myisam_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_restart_slave_basic.result b/mysql-test/suite/sys_vars/r/wsrep_restart_slave_basic.result
new file mode 100644
index 00000000000..0ecdf915992
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_restart_slave_basic.result
@@ -0,0 +1,31 @@
+#
+# wsrep_restart_slave
+#
+# save the initial value
+SET @wsrep_restart_slave_global_saved = @@global.wsrep_restart_slave;
+# default
+SELECT @@global.wsrep_restart_slave;
+@@global.wsrep_restart_slave
+0
+SELECT @@session.wsrep_restart_slave;
+ERROR HY000: Variable 'wsrep_restart_slave' is a GLOBAL variable
+
+# scope and valid values
+SET @@global.wsrep_restart_slave=OFF;
+SELECT @@global.wsrep_restart_slave;
+@@global.wsrep_restart_slave
+0
+SET @@global.wsrep_restart_slave=ON;
+SELECT @@global.wsrep_restart_slave;
+@@global.wsrep_restart_slave
+1
+
+# invalid values
+SET @@global.wsrep_restart_slave=NULL;
+ERROR 42000: Variable 'wsrep_restart_slave' can't be set to the value of 'NULL'
+SET @@global.wsrep_restart_slave='junk';
+ERROR 42000: Variable 'wsrep_restart_slave' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_restart_slave = @wsrep_restart_slave_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_retry_autocommit_basic.result b/mysql-test/suite/sys_vars/r/wsrep_retry_autocommit_basic.result
new file mode 100644
index 00000000000..d848dadd24d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_retry_autocommit_basic.result
@@ -0,0 +1,63 @@
+#
+# wsrep_retry_autocommit
+#
+# save the initial values
+SET @wsrep_retry_autocommit_global_saved = @@global.wsrep_retry_autocommit;
+SET @wsrep_retry_autocommit_session_saved = @@session.wsrep_retry_autocommit;
+# default
+SELECT @@global.wsrep_retry_autocommit;
+@@global.wsrep_retry_autocommit
+1
+
+# scope
+SET @@session.wsrep_retry_autocommit=1;
+SELECT @@session.wsrep_retry_autocommit;
+@@session.wsrep_retry_autocommit
+1
+SET @@global.wsrep_retry_autocommit=1;
+SELECT @@global.wsrep_retry_autocommit;
+@@global.wsrep_retry_autocommit
+1
+
+# valid values
+SET @@global.wsrep_retry_autocommit=10;
+SELECT @@global.wsrep_retry_autocommit;
+@@global.wsrep_retry_autocommit
+10
+SET @@global.wsrep_retry_autocommit=0;
+SELECT @@global.wsrep_retry_autocommit;
+@@global.wsrep_retry_autocommit
+0
+SET @@global.wsrep_retry_autocommit=default;
+SELECT @global.wsrep_retry_autocommit;
+@global.wsrep_retry_autocommit
+NULL
+SET @@session.wsrep_retry_autocommit=10;
+SELECT @@session.wsrep_retry_autocommit;
+@@session.wsrep_retry_autocommit
+10
+SET @@session.wsrep_retry_autocommit=0;
+SELECT @@session.wsrep_retry_autocommit;
+@@session.wsrep_retry_autocommit
+0
+SET @@session.wsrep_retry_autocommit=default;
+SELECT @session.wsrep_retry_autocommit;
+@session.wsrep_retry_autocommit
+NULL
+
+# invalid values
+SET @@global.wsrep_retry_autocommit=NULL;
+ERROR 42000: Incorrect argument type to variable 'wsrep_retry_autocommit'
+SET @@global.wsrep_retry_autocommit='junk';
+ERROR 42000: Incorrect argument type to variable 'wsrep_retry_autocommit'
+SET @@global.wsrep_retry_autocommit=-1;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_retry_autocommit value: '-1'
+SELECT @global.wsrep_retry_autocommit;
+@global.wsrep_retry_autocommit
+NULL
+
+# restore the initial value
+SET @@global.wsrep_retry_autocommit = @wsrep_retry_autocommit_global_saved;
+SET @@session.wsrep_retry_autocommit = @wsrep_retry_autocommit_session_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_slave_fk_checks_basic.result b/mysql-test/suite/sys_vars/r/wsrep_slave_fk_checks_basic.result
new file mode 100644
index 00000000000..40b3270e221
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_slave_fk_checks_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_slave_fk_checks
+#
+# save the initial value
+SET @wsrep_slave_fk_checks_global_saved = @@global.wsrep_slave_fk_checks;
+# default
+SELECT @@global.wsrep_slave_fk_checks;
+@@global.wsrep_slave_fk_checks
+1
+
+# scope
+SELECT @@session.wsrep_slave_fk_checks;
+ERROR HY000: Variable 'wsrep_slave_FK_checks' is a GLOBAL variable
+SET @@global.wsrep_slave_fk_checks=OFF;
+SELECT @@global.wsrep_slave_fk_checks;
+@@global.wsrep_slave_fk_checks
+0
+SET @@global.wsrep_slave_fk_checks=ON;
+SELECT @@global.wsrep_slave_fk_checks;
+@@global.wsrep_slave_fk_checks
+1
+
+# valid values
+SET @@global.wsrep_slave_fk_checks='OFF';
+SELECT @@global.wsrep_slave_fk_checks;
+@@global.wsrep_slave_fk_checks
+0
+SET @@global.wsrep_slave_fk_checks=ON;
+SELECT @@global.wsrep_slave_fk_checks;
+@@global.wsrep_slave_fk_checks
+1
+SET @@global.wsrep_slave_fk_checks=default;
+SELECT @@global.wsrep_slave_fk_checks;
+@@global.wsrep_slave_fk_checks
+1
+
+# invalid values
+SET @@global.wsrep_slave_fk_checks=NULL;
+ERROR 42000: Variable 'wsrep_slave_FK_checks' can't be set to the value of 'NULL'
+SET @@global.wsrep_slave_fk_checks='junk';
+ERROR 42000: Variable 'wsrep_slave_FK_checks' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_slave_fk_checks = @wsrep_slave_fk_checks_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_slave_threads_basic.result b/mysql-test/suite/sys_vars/r/wsrep_slave_threads_basic.result
new file mode 100644
index 00000000000..62be5a42416
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_slave_threads_basic.result
@@ -0,0 +1,49 @@
+#
+# wsrep_slave_threads
+#
+# save the initial value
+SET @wsrep_slave_threads_global_saved = @@global.wsrep_slave_threads;
+# default
+SELECT @@global.wsrep_slave_threads;
+@@global.wsrep_slave_threads
+1
+
+# scope
+SELECT @@session.wsrep_slave_threads;
+ERROR HY000: Variable 'wsrep_slave_threads' is a GLOBAL variable
+SET @@global.wsrep_slave_threads=1;
+SELECT @@global.wsrep_slave_threads;
+@@global.wsrep_slave_threads
+1
+
+# valid values
+SET @@global.wsrep_slave_threads=10;
+SELECT @@global.wsrep_slave_threads;
+@@global.wsrep_slave_threads
+10
+SET @@global.wsrep_slave_threads=0;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_slave_threads value: '0'
+SELECT @@global.wsrep_slave_threads;
+@@global.wsrep_slave_threads
+1
+SET @@global.wsrep_slave_threads=default;
+SELECT @global.wsrep_slave_threads;
+@global.wsrep_slave_threads
+NULL
+
+# invalid values
+SET @@global.wsrep_slave_threads=NULL;
+ERROR 42000: Incorrect argument type to variable 'wsrep_slave_threads'
+SET @@global.wsrep_slave_threads='junk';
+ERROR 42000: Incorrect argument type to variable 'wsrep_slave_threads'
+SET @@global.wsrep_slave_threads=-1;
+Warnings:
+Warning 1292 Truncated incorrect wsrep_slave_threads value: '-1'
+SELECT @global.wsrep_slave_threads;
+@global.wsrep_slave_threads
+NULL
+
+# restore the initial value
+SET @@global.wsrep_slave_threads = @wsrep_slave_threads_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_slave_uk_checks_basic.result b/mysql-test/suite/sys_vars/r/wsrep_slave_uk_checks_basic.result
new file mode 100644
index 00000000000..b78a83b547d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_slave_uk_checks_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_slave_uk_checks
+#
+# save the initial value
+SET @wsrep_slave_uk_checks_global_saved = @@global.wsrep_slave_uk_checks;
+# default
+SELECT @@global.wsrep_slave_uk_checks;
+@@global.wsrep_slave_uk_checks
+0
+
+# scope
+SELECT @@session.wsrep_slave_uk_checks;
+ERROR HY000: Variable 'wsrep_slave_UK_checks' is a GLOBAL variable
+SET @@global.wsrep_slave_uk_checks=OFF;
+SELECT @@global.wsrep_slave_uk_checks;
+@@global.wsrep_slave_uk_checks
+0
+SET @@global.wsrep_slave_uk_checks=ON;
+SELECT @@global.wsrep_slave_uk_checks;
+@@global.wsrep_slave_uk_checks
+1
+
+# valid values
+SET @@global.wsrep_slave_uk_checks='OFF';
+SELECT @@global.wsrep_slave_uk_checks;
+@@global.wsrep_slave_uk_checks
+0
+SET @@global.wsrep_slave_uk_checks=ON;
+SELECT @@global.wsrep_slave_uk_checks;
+@@global.wsrep_slave_uk_checks
+1
+SET @@global.wsrep_slave_uk_checks=default;
+SELECT @@global.wsrep_slave_uk_checks;
+@@global.wsrep_slave_uk_checks
+0
+
+# invalid values
+SET @@global.wsrep_slave_uk_checks=NULL;
+ERROR 42000: Variable 'wsrep_slave_UK_checks' can't be set to the value of 'NULL'
+SET @@global.wsrep_slave_uk_checks='junk';
+ERROR 42000: Variable 'wsrep_slave_UK_checks' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_slave_uk_checks = @wsrep_slave_uk_checks_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_sst_auth_basic.result b/mysql-test/suite/sys_vars/r/wsrep_sst_auth_basic.result
new file mode 100644
index 00000000000..e6b532c6bba
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_sst_auth_basic.result
@@ -0,0 +1,52 @@
+#
+# wsrep_sst_auth
+#
+# save the initial value
+SET @wsrep_sst_auth_global_saved = @@global.wsrep_sst_auth;
+# default
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+NULL
+
+# scope
+SELECT @@session.wsrep_sst_auth;
+ERROR HY000: Variable 'wsrep_sst_auth' is a GLOBAL variable
+SET @@global.wsrep_sst_auth='user:pass';
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+********
+
+# valid values
+SET @@global.wsrep_sst_auth=user;
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+********
+SET @@global.wsrep_sst_auth='user:1234';
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+********
+SET @@global.wsrep_sst_auth='hyphenated-user-name:';
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+********
+SET @@global.wsrep_sst_auth=default;
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+NULL
+SET @@global.wsrep_sst_auth=NULL;
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+NULL
+
+# invalid values
+SET @@global.wsrep_sst_auth=1;
+ERROR 42000: Incorrect argument type to variable 'wsrep_sst_auth'
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+NULL
+SET @@global.wsrep_sst_auth=user:pass;
+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 ':pass' at line 1
+
+# restore the initial value
+SET @@global.wsrep_sst_auth = @wsrep_sst_auth_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_sst_donor_basic.result b/mysql-test/suite/sys_vars/r/wsrep_sst_donor_basic.result
new file mode 100644
index 00000000000..3d4fc24df7f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_sst_donor_basic.result
@@ -0,0 +1,50 @@
+#
+# wsrep_sst_donor
+#
+# save the initial value
+SET @wsrep_sst_donor_global_saved = @@global.wsrep_sst_donor;
+# default
+SELECT @@global.wsrep_sst_donor;
+@@global.wsrep_sst_donor
+
+
+# scope
+SELECT @@session.wsrep_sst_donor;
+ERROR HY000: Variable 'wsrep_sst_donor' is a GLOBAL variable
+SET @@global.wsrep_sst_donor=rsync;
+SELECT @@global.wsrep_sst_donor;
+@@global.wsrep_sst_donor
+rsync
+
+# valid values
+SET @@global.wsrep_sst_donor=node1;
+SELECT @@global.wsrep_sst_donor;
+@@global.wsrep_sst_donor
+node1
+SET @@global.wsrep_sst_donor='node1,node2';
+SELECT @@global.wsrep_sst_donor;
+@@global.wsrep_sst_donor
+node1,node2
+SET @@global.wsrep_sst_donor='hyphenated-donor-name';
+SELECT @@global.wsrep_sst_donor;
+@@global.wsrep_sst_donor
+hyphenated-donor-name
+SET @@global.wsrep_sst_donor=default;
+SELECT @@global.wsrep_sst_donor;
+@@global.wsrep_sst_donor
+
+SET @@global.wsrep_sst_donor=NULL;
+SELECT @@global.wsrep_sst_donor;
+@@global.wsrep_sst_donor
+NULL
+
+# invalid values
+SET @@global.wsrep_sst_donor=1;
+ERROR 42000: Incorrect argument type to variable 'wsrep_sst_donor'
+SELECT @@global.wsrep_sst_donor;
+@@global.wsrep_sst_donor
+NULL
+
+# restore the initial value
+SET @@global.wsrep_sst_donor = @wsrep_sst_donor_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_sst_donor_rejects_queries_basic.result b/mysql-test/suite/sys_vars/r/wsrep_sst_donor_rejects_queries_basic.result
new file mode 100644
index 00000000000..c9f95beec0a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_sst_donor_rejects_queries_basic.result
@@ -0,0 +1,45 @@
+#
+# wsrep_sst_donor_rejects_queries
+#
+# save the initial value
+SET @wsrep_sst_donor_rejects_queries_global_saved = @@global.wsrep_sst_donor_rejects_queries;
+# default
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+@@global.wsrep_sst_donor_rejects_queries
+0
+
+# scope
+SELECT @@session.wsrep_sst_donor_rejects_queries;
+ERROR HY000: Variable 'wsrep_sst_donor_rejects_queries' is a GLOBAL variable
+SET @@global.wsrep_sst_donor_rejects_queries=OFF;
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+@@global.wsrep_sst_donor_rejects_queries
+0
+SET @@global.wsrep_sst_donor_rejects_queries=ON;
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+@@global.wsrep_sst_donor_rejects_queries
+1
+
+# valid values
+SET @@global.wsrep_sst_donor_rejects_queries='OFF';
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+@@global.wsrep_sst_donor_rejects_queries
+0
+SET @@global.wsrep_sst_donor_rejects_queries=ON;
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+@@global.wsrep_sst_donor_rejects_queries
+1
+SET @@global.wsrep_sst_donor_rejects_queries=default;
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+@@global.wsrep_sst_donor_rejects_queries
+0
+
+# invalid values
+SET @@global.wsrep_sst_donor_rejects_queries=NULL;
+ERROR 42000: Variable 'wsrep_sst_donor_rejects_queries' can't be set to the value of 'NULL'
+SET @@global.wsrep_sst_donor_rejects_queries='junk';
+ERROR 42000: Variable 'wsrep_sst_donor_rejects_queries' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_sst_donor_rejects_queries = @wsrep_sst_donor_rejects_queries_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_sst_method_basic.result b/mysql-test/suite/sys_vars/r/wsrep_sst_method_basic.result
new file mode 100644
index 00000000000..51f167b8f47
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_sst_method_basic.result
@@ -0,0 +1,58 @@
+#
+# wsrep_sst_method
+#
+# save the initial value
+SET @wsrep_sst_method_global_saved = @@global.wsrep_sst_method;
+# default
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+rsync
+
+# scope
+SELECT @@session.wsrep_sst_method;
+ERROR HY000: Variable 'wsrep_sst_method' is a GLOBAL variable
+SET @@global.wsrep_sst_method=rsync;
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+rsync
+
+# valid values
+SET @@global.wsrep_sst_method=rsync;
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+rsync
+SET @@global.wsrep_sst_method=mysqldump;
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+mysqldump
+SET @@global.wsrep_sst_method=xtrabackup;
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+xtrabackup
+SET @@global.wsrep_sst_method="xtrabackup-v2";
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+xtrabackup-v2
+SET @@global.wsrep_sst_method="mariabackup";
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+mariabackup
+SET @@global.wsrep_sst_method=default;
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+rsync
+SET @@global.wsrep_sst_method='junk';
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+junk
+
+# invalid values
+SET @@global.wsrep_sst_method=NULL;
+ERROR 42000: Variable 'wsrep_sst_method' can't be set to the value of 'NULL'
+SELECT @@global.wsrep_sst_method;
+@@global.wsrep_sst_method
+junk
+
+# restore the initial value
+SET @@global.wsrep_sst_method = @wsrep_sst_method_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_sst_receive_address_basic.result b/mysql-test/suite/sys_vars/r/wsrep_sst_receive_address_basic.result
new file mode 100644
index 00000000000..3e1fb6cad79
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_sst_receive_address_basic.result
@@ -0,0 +1,60 @@
+#
+# wsrep_sst_receive_address
+#
+# save the initial value
+SET @wsrep_sst_receive_address_global_saved = @@global.wsrep_sst_receive_address;
+# default
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+AUTO
+
+# scope
+SELECT @@session.wsrep_sst_receive_address;
+ERROR HY000: Variable 'wsrep_sst_receive_address' is a GLOBAL variable
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+AUTO
+
+# valid values
+SET @@global.wsrep_sst_receive_address=AUTO;
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+AUTO
+SET @@global.wsrep_sst_receive_address=default;
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+AUTO
+SET @@global.wsrep_sst_receive_address='192.168.2.254';
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+192.168.2.254
+
+# invalid values
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+192.168.2.254
+SET @@global.wsrep_sst_receive_address=NULL;
+ERROR 42000: Variable 'wsrep_sst_receive_address' can't be set to the value of 'NULL'
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+192.168.2.254
+SET @@global.wsrep_sst_receive_address='OFF';
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+OFF
+SET @@global.wsrep_sst_receive_address=ON;
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+ON
+SET @@global.wsrep_sst_receive_address='';
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+
+SET @@global.wsrep_sst_receive_address='junk';
+SELECT @@global.wsrep_sst_receive_address;
+@@global.wsrep_sst_receive_address
+junk
+
+# restore the initial value
+SET @@global.wsrep_sst_receive_address = @wsrep_sst_receive_address_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_start_position_basic.result b/mysql-test/suite/sys_vars/r/wsrep_start_position_basic.result
new file mode 100644
index 00000000000..a49e6135d47
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_start_position_basic.result
@@ -0,0 +1,57 @@
+#
+# wsrep_start_position
+#
+# save the initial value
+SET @wsrep_start_position_global_saved = @@global.wsrep_start_position;
+# default
+SELECT @@global.wsrep_start_position;
+@@global.wsrep_start_position
+00000000-0000-0000-0000-000000000000:-1
+
+# scope
+SELECT @@session.wsrep_start_position;
+ERROR HY000: Variable 'wsrep_start_position' is a GLOBAL variable
+SET @@global.wsrep_start_position='00000000-0000-0000-0000-000000000000:-1';
+SELECT @@global.wsrep_start_position;
+@@global.wsrep_start_position
+00000000-0000-0000-0000-000000000000:-1
+
+# valid values
+SET @@global.wsrep_start_position='00000000-0000-0000-0000-000000000000:-2';
+SELECT @@global.wsrep_start_position;
+@@global.wsrep_start_position
+00000000-0000-0000-0000-000000000000:-2
+SET @@global.wsrep_start_position='12345678-1234-1234-1234-123456789012:100';
+SELECT @@global.wsrep_start_position;
+@@global.wsrep_start_position
+12345678-1234-1234-1234-123456789012:100
+SET @@global.wsrep_start_position=default;
+SELECT @@global.wsrep_start_position;
+@@global.wsrep_start_position
+00000000-0000-0000-0000-000000000000:-1
+
+# invalid values
+SET @@global.wsrep_start_position='000000000000000-0000-0000-0000-000000000000:-1';
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of '000000000000000-0000-0000-0000-000000000000:-1'
+SET @@global.wsrep_start_position='12345678-1234-1234-12345-123456789012:100';
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of '12345678-1234-1234-12345-123456789012:100'
+SET @@global.wsrep_start_position='12345678-1234-123-12345-123456789012:0';
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of '12345678-1234-123-12345-123456789012:0'
+SET @@global.wsrep_start_position='12345678-1234-1234-1234-123456789012:_99999';
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of '12345678-1234-1234-1234-123456789012:_99999'
+SET @@global.wsrep_start_position='12345678-1234-1234-1234-123456789012:a';
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of '12345678-1234-1234-1234-123456789012:a'
+SET @@global.wsrep_start_position='OFF';
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of 'OFF'
+SET @@global.wsrep_start_position=ON;
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of 'ON'
+SET @@global.wsrep_start_position='';
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of ''
+SET @@global.wsrep_start_position=NULL;
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of 'NULL'
+SET @@global.wsrep_start_position='junk';
+ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of 'junk'
+
+# restore the initial value
+SET @@global.wsrep_start_position = @wsrep_start_position_global_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_sync_wait_basic.result b/mysql-test/suite/sys_vars/r/wsrep_sync_wait_basic.result
new file mode 100644
index 00000000000..0df3dff8990
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/wsrep_sync_wait_basic.result
@@ -0,0 +1,54 @@
+#
+# wsrep_sync_wait
+#
+# save the initial values
+SET @wsrep_sync_wait_global_saved = @@global.wsrep_sync_wait;
+SET @wsrep_sync_wait_session_saved = @@session.wsrep_sync_wait;
+# default
+SELECT @@global.wsrep_sync_wait;
+@@global.wsrep_sync_wait
+0
+SELECT @@session.wsrep_sync_wait;
+@@session.wsrep_sync_wait
+0
+
+# scope and valid values
+SET @@global.wsrep_sync_wait=0;
+SELECT @@global.wsrep_sync_wait;
+@@global.wsrep_sync_wait
+0
+SET @@global.wsrep_sync_wait=7;
+SELECT @@global.wsrep_sync_wait;
+@@global.wsrep_sync_wait
+7
+SET @@session.wsrep_sync_wait=0;
+SELECT @@session.wsrep_sync_wait;
+@@session.wsrep_sync_wait
+0
+SET @@session.wsrep_sync_wait=7;
+SELECT @@session.wsrep_sync_wait;
+@@session.wsrep_sync_wait
+7
+SET @@session.wsrep_sync_wait=default;
+SELECT @@session.wsrep_sync_wait;
+@@session.wsrep_sync_wait
+7
+SET @@session.wsrep_sync_wait=8;
+SELECT @@session.wsrep_sync_wait;
+@@session.wsrep_sync_wait
+8
+
+# invalid values
+SET @@global.wsrep_sync_wait=NULL;
+ERROR 42000: Incorrect argument type to variable 'wsrep_sync_wait'
+SET @@global.wsrep_sync_wait='junk';
+ERROR 42000: Incorrect argument type to variable 'wsrep_sync_wait'
+SET @@session.wsrep_sync_wait=NULL;
+ERROR 42000: Incorrect argument type to variable 'wsrep_sync_wait'
+SET @@session.wsrep_sync_wait='junk';
+ERROR 42000: Incorrect argument type to variable 'wsrep_sync_wait'
+
+# restore the initial values
+SET @@global.wsrep_sync_wait = @wsrep_sync_wait_global_saved;
+SET @@session.wsrep_sync_wait = @wsrep_sync_wait_session_saved;
+# End of test
diff --git a/mysql-test/suite/sys_vars/t/aria_encrypt_tables_basic.test b/mysql-test/suite/sys_vars/t/aria_encrypt_tables_basic.test
new file mode 100644
index 00000000000..2db0708e925
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/aria_encrypt_tables_basic.test
@@ -0,0 +1,41 @@
+# bool global
+--source include/have_maria.inc
+
+SET @start_global_value = @@global.aria_encrypt_tables;
+
+#
+# exists as global only
+#
+select @@global.aria_encrypt_tables;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.aria_encrypt_tables;
+show global variables like 'aria_encrypt_tables';
+show session variables like 'aria_encrypt_tables';
+select * from information_schema.global_variables
+where variable_name='aria_encrypt_tables';
+select * from information_schema.session_variables
+where variable_name='aria_encrypt_tables';
+
+#
+# show that it's writable
+#
+set global aria_encrypt_tables=ON;
+select @@global.aria_encrypt_tables;
+set global aria_encrypt_tables=OFF;
+select @@global.aria_encrypt_tables;
+set global aria_encrypt_tables=1;
+select @@global.aria_encrypt_tables;
+--error ER_GLOBAL_VARIABLE
+set session aria_encrypt_tables=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global aria_encrypt_tables=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global aria_encrypt_tables=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global aria_encrypt_tables="foo";
+
+SET @@global.aria_encrypt_tables = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/aria_pagecache_file_hash_size_basic.test b/mysql-test/suite/sys_vars/t/aria_pagecache_file_hash_size_basic.test
new file mode 100644
index 00000000000..8bedb498e2c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/aria_pagecache_file_hash_size_basic.test
@@ -0,0 +1,22 @@
+# ulong readonly
+
+--source include/have_maria.inc
+#
+# show the global and session values;
+#
+select @@global.aria_pagecache_file_hash_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.aria_pagecache_file_hash_size;
+show global variables like 'aria_pagecache_file_hash_size';
+show session variables like 'aria_pagecache_file_hash_size';
+select * from information_schema.global_variables where variable_name='aria_pagecache_file_hash_size';
+select * from information_schema.session_variables where variable_name='aria_pagecache_file_hash_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global aria_pagecache_file_hash_size=200;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session aria_pagecache_file_hash_size=200;
+
diff --git a/mysql-test/suite/sys_vars/t/binlog_commit_wait_count_basic.test b/mysql-test/suite/sys_vars/t/binlog_commit_wait_count_basic.test
new file mode 100644
index 00000000000..ebce0da77fe
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/binlog_commit_wait_count_basic.test
@@ -0,0 +1,14 @@
+--source include/not_embedded.inc
+
+SET @save_binlog_commit_wait_count= @@GLOBAL.binlog_commit_wait_count;
+
+SELECT @@GLOBAL.binlog_commit_wait_count as 'must be zero because of default';
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.binlog_commit_wait_count as 'no session var';
+
+SET GLOBAL binlog_commit_wait_count= 0;
+SET GLOBAL binlog_commit_wait_count= DEFAULT;
+SET GLOBAL binlog_commit_wait_count= 10;
+SELECT @@GLOBAL.binlog_commit_wait_count;
+
+SET GLOBAL binlog_commit_wait_count = @save_binlog_commit_wait_count;
diff --git a/mysql-test/suite/sys_vars/t/binlog_commit_wait_usec_basic.test b/mysql-test/suite/sys_vars/t/binlog_commit_wait_usec_basic.test
new file mode 100644
index 00000000000..ad9b6c99630
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/binlog_commit_wait_usec_basic.test
@@ -0,0 +1,14 @@
+--source include/not_embedded.inc
+
+SET @save_binlog_commit_wait_usec= @@GLOBAL.binlog_commit_wait_usec;
+
+SELECT @@GLOBAL.binlog_commit_wait_usec as 'check default';
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.binlog_commit_wait_usec as 'no session var';
+
+SET GLOBAL binlog_commit_wait_usec= 0;
+SET GLOBAL binlog_commit_wait_usec= DEFAULT;
+SET GLOBAL binlog_commit_wait_usec= 10000;
+SELECT @@GLOBAL.binlog_commit_wait_usec;
+
+SET GLOBAL binlog_commit_wait_usec = @save_binlog_commit_wait_usec;
diff --git a/mysql-test/suite/sys_vars/t/binlog_row_image_basic.test b/mysql-test/suite/sys_vars/t/binlog_row_image_basic.test
new file mode 100644
index 00000000000..6f5095b6a5d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/binlog_row_image_basic.test
@@ -0,0 +1,129 @@
+################## mysql-test\t\binlog_row_image_basic.test ###################
+# #
+# Variable Name: binlog_row_image #
+# Scope: Global & Session #
+# Access Type: Static #
+# Data Type: enumeration #
+# #
+# #
+# Creation Date: 2010-05-20 #
+# Author : Luis Soares #
+# #
+# #
+# Description:Test Cases of Dynamic System Variable binlog_row_image #
+# that checks the behavior of this variable in the following ways #
+# * Value Check #
+# * Scope Check #
+# #
+# Reference: #
+# http://dev.mysql.com/doc/refman/5.X/en/server-system-variables.html #
+# #
+###############################################################################
+
+
+SELECT @@GLOBAL.binlog_row_image;
+SELECT @@SESSION.binlog_row_image;
+--echo FULL Expected
+
+--echo '#---------------------BS_STVARS_002_01----------------------#'
+####################################################################
+# Displaying default value #
+####################################################################
+SET @start_value= @@global.binlog_row_image;
+
+SELECT COUNT(@@GLOBAL.binlog_row_image);
+--echo 1 Expected
+
+SELECT COUNT(@@SESSION.binlog_row_image);
+--echo 1 Expected
+
+--echo '#---------------------BS_STVARS_002_02----------------------#'
+####################################################################
+# Check if Value can set #
+####################################################################
+SET @@GLOBAL.binlog_row_image=0;
+SELECT @@GLOBAL.binlog_row_image;
+--echo MINIMAL Expected
+
+SET @@SESSION.binlog_row_image=0;
+SELECT @@SESSION.binlog_row_image;
+--echo MINIMAL Expected
+
+SET @@GLOBAL.binlog_row_image=1;
+SELECT @@GLOBAL.binlog_row_image;
+--echo NOBLOB Expected
+
+SET @@SESSION.binlog_row_image=1;
+SELECT @@SESSION.binlog_row_image;
+--echo NOBLOB Expected
+
+SET @@GLOBAL.binlog_row_image=2;
+SELECT @@GLOBAL.binlog_row_image;
+--echo FULL Expected
+
+SET @@SESSION.binlog_row_image=2;
+SELECT @@SESSION.binlog_row_image;
+--echo FULL Expected
+
+--echo '#---------------------BS_STVARS_002_03----------------------#'
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+--disable_warnings
+SELECT @@GLOBAL.binlog_row_image = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='binlog_row_image';
+--enable_warnings
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.binlog_row_image);
+--echo 1 Expected
+
+--disable_warnings
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='binlog_row_image';
+--enable_warnings
+--echo 1 Expected
+
+
+--echo '#---------------------BS_STVARS_002_04----------------------#'
+#################################################################
+# Check if the value in SESSION Table matches value in variable #
+#################################################################
+
+--disable_warnings
+SELECT @@SESSION.binlog_row_image = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='binlog_row_image';
+--enable_warnings
+--echo 1 Expected
+
+SELECT COUNT(@@SESSION.binlog_row_image);
+--echo 1 Expected
+
+--disable_warnings
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='binlog_row_image';
+--enable_warnings
+--echo 1 Expected
+
+
+--echo '#---------------------BS_STVARS_002_05----------------------#'
+################################################################################
+# Check if binlog_row_image can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@binlog_row_image);
+--echo 1 Expected
+SELECT COUNT(@@local.binlog_row_image);
+--echo 1 Expected
+SELECT COUNT(@@SESSION.binlog_row_image);
+--echo 1 Expected
+SELECT COUNT(@@GLOBAL.binlog_row_image);
+--echo 1 Expected
+
+SET @@global.binlog_row_image= @start_value;
+
diff --git a/mysql-test/suite/sys_vars/t/debug_crc_break_basic.test b/mysql-test/suite/sys_vars/t/debug_crc_break_basic.test
deleted file mode 100644
index 435a6c33341..00000000000
--- a/mysql-test/suite/sys_vars/t/debug_crc_break_basic.test
+++ /dev/null
@@ -1,46 +0,0 @@
---source include/have_debug.inc
-# ulong global
-
-SET @start_global_value = @@global.debug_crc_break;
-
-#
-# exists as global only
-#
-select @@global.debug_crc_break;
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-select @@session.debug_crc_break;
-show global variables like 'debug_crc_break';
-show session variables like 'debug_crc_break';
-select * from information_schema.global_variables where variable_name='debug_crc_break';
-select * from information_schema.session_variables where variable_name='debug_crc_break';
-
-#
-# show that it's writable
-#
-set global debug_crc_break=1;
-select @@global.debug_crc_break;
---error ER_GLOBAL_VARIABLE
-set session debug_crc_break=1;
-
-#
-# incorrect types
-#
---error ER_WRONG_TYPE_FOR_VAR
-set global debug_crc_break=1.1;
---error ER_WRONG_TYPE_FOR_VAR
-set global debug_crc_break=1e1;
---error ER_WRONG_TYPE_FOR_VAR
-set global debug_crc_break="foo";
-
-#
-# min/max values
-#
-set global debug_crc_break=0;
-select @@global.debug_crc_break;
---disable_warnings
-set global debug_crc_break=cast(-1 as unsigned int);
---enable_warnings
---replace_result 4294967295 18446744073709551615
-select @@global.debug_crc_break;
-
-SET @@global.debug_crc_break = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/debug_mutex_deadlock_detector_basic.test b/mysql-test/suite/sys_vars/t/debug_mutex_deadlock_detector_basic.test
new file mode 100644
index 00000000000..12b29a309bb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/debug_mutex_deadlock_detector_basic.test
@@ -0,0 +1,23 @@
+--source include/have_mutex_deadlock_detector.inc
+
+# bool readonly
+
+#
+# show the global and session values;
+#
+select @@global.debug_mutex_deadlock_detector;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.debug_mutex_deadlock_detector;
+show global variables like 'debug_mutex_deadlock_detector';
+show session variables like 'debug_mutex_deadlock_detector';
+select * from information_schema.global_variables where variable_name='debug_mutex_deadlock_detector';
+select * from information_schema.session_variables where variable_name='debug_mutex_deadlock_detector';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global debug_mutex_deadlock_detector=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session debug_mutex_deadlock_detector=1;
+
diff --git a/mysql-test/suite/sys_vars/t/default_master_connection_basic.test b/mysql-test/suite/sys_vars/t/default_master_connection_basic.test
new file mode 100644
index 00000000000..627a236aaa7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/default_master_connection_basic.test
@@ -0,0 +1,128 @@
+############## mysql-test\t\default_master_connection_basic.test ###############
+#
+# Implemented in the scope of MDEV-253
+# The variable is SESSION-only
+#
+
+--source include/not_embedded.inc
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_session_value = @@session.default_master_connection;
+SELECT @start_session_value;
+
+###################################################################
+# Display the DEFAULT value of default_master_connection #
+###################################################################
+
+SET @@session.default_master_connection = 'bar';
+SET @@session.default_master_connection = DEFAULT;
+SELECT @@session.default_master_connection;
+
+###################################################################
+# Check the DEFAULT value of default_master_connection #
+###################################################################
+
+SET @@session.default_master_connection = @start_session_value;
+SELECT @@session.default_master_connection = '';
+
+#################################################
+# Check that the GLOBAL scope is not applicable #
+#################################################
+
+--error ER_LOCAL_VARIABLE
+SET @@global.default_master_connection = 'master1';
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@global.default_master_connection;
+
+####################################################################################
+# Change the value of default_master_connection to a valid value for SESSION Scope #
+####################################################################################
+
+SET @@session.default_master_connection = 'master1';
+SELECT @@session.default_master_connection;
+SET @@session.default_master_connection = '';
+SELECT @@session.default_master_connection;
+SET @@session.default_master_connection = '1234-5678';
+SELECT @@session.default_master_connection;
+SET @@session.default_master_connection = '@!*/"';
+SELECT @@session.default_master_connection;
+SET @@session.default_master_connection = REPEAT('a',191);
+SELECT @@session.default_master_connection;
+SET @@session.default_master_connection = master2;
+SELECT @@session.default_master_connection;
+
+
+#####################################################################
+# Change the value of default_master_connection to an invalid value #
+#####################################################################
+
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@session.default_master_connection = 1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@session.default_master_connection = 65530.30;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@session.default_master_connection = FALSE;
+SELECT @@session.default_master_connection;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@session.default_master_connection = REPEAT('a',192);
+SELECT @@session.default_master_connection;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@session.default_master_connection = NULL;
+SELECT @@session.default_master_connection;
+
+###############################################################################
+# Check if the value in GLOBAL & SESSION Tables matches value in variable #
+###############################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@global.default_master_connection = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='default_master_connection';
+
+SELECT @@session.default_master_connection = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='default_master_connection';
+
+
+########################################################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
+########################################################################################################
+
+SET @@default_master_connection = 'foo';
+SELECT @@default_master_connection = @@local.default_master_connection;
+SELECT @@local.default_master_connection = @@session.default_master_connection;
+
+
+###################################################################################
+# Check if default_master_connection can be accessed with and without @@ sign #
+###################################################################################
+
+SET default_master_connection = 'foo';
+SELECT @@default_master_connection;
+--Error ER_PARSE_ERROR
+SET local.default_master_connection = 'foo';
+--Error ER_UNKNOWN_TABLE
+SELECT local.default_master_connection;
+--Error ER_PARSE_ERROR
+SET session.default_master_connection = 'foo';
+--Error ER_UNKNOWN_TABLE
+SELECT session.default_master_connection;
+--Error ER_BAD_FIELD_ERROR
+SELECT default_master_connection = @@session.default_master_connection;
+
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@session.default_master_connection = @start_session_value;
+SELECT @@session.default_master_connection;
+
+
+#############################################################
+# END OF default_master_connection TESTS #
+#############################################################
+
diff --git a/mysql-test/suite/sys_vars/t/default_regex_flags_basic.test b/mysql-test/suite/sys_vars/t/default_regex_flags_basic.test
new file mode 100644
index 00000000000..1e826293949
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/default_regex_flags_basic.test
@@ -0,0 +1,43 @@
+
+SET default_regex_flags='';
+SELECT @@default_regex_flags;
+SET default_regex_flags=DEFAULT;
+SELECT @@default_regex_flags;
+--error ER_WRONG_VALUE_FOR_VAR
+SET default_regex_flags=NULL;
+SELECT @@default_regex_flags;
+--error ER_WRONG_VALUE_FOR_VAR
+SET default_regex_flags='UNKNOWN';
+--error ER_WRONG_VALUE_FOR_VAR
+SET default_regex_flags=123;
+--error ER_WRONG_TYPE_FOR_VAR
+SET default_regex_flags=123.0;
+--error ER_WRONG_TYPE_FOR_VAR
+SET default_regex_flags=123e0;
+SET default_regex_flags='DOTALL';
+SELECT @@default_regex_flags;
+--error ER_WRONG_VALUE_FOR_VAR
+SET default_regex_flags=NULL;
+SELECT @@default_regex_flags;
+
+SET @@default_regex_flags=63;
+SELECT @@default_regex_flags;
+SET @@default_regex_flags='DOTALL';
+SELECT @@default_regex_flags;
+SET @@default_regex_flags='DOTALL,DUPNAMES,EXTENDED,EXTRA,MULTILINE,UNGREEDY';
+SELECT @@default_regex_flags;
+SET @@default_regex_flags=DEFAULT;
+
+SET @@global.default_regex_flags='MULTILINE';
+SELECT @@session.default_regex_flags;
+connect (con1,localhost,root,,);
+--echo # connection con1
+connection con1;
+SELECT @@session.default_regex_flags;
+connection default;
+--echo # connection default
+disconnect con1;
+SELECT @@session.default_regex_flags;
+SET @@global.default_regex_flags=DEFAULT;
+
+SET default_regex_flags=DEFAULT;
diff --git a/mysql-test/suite/sys_vars/t/default_tmp_storage_engine_basic.test b/mysql-test/suite/sys_vars/t/default_tmp_storage_engine_basic.test
new file mode 100644
index 00000000000..26512cc3938
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/default_tmp_storage_engine_basic.test
@@ -0,0 +1,193 @@
+######################################################################
+# START OF default_tmp_storage_engine TESTS #
+######################################################################
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.default_tmp_storage_engine;
+SELECT @start_global_value;
+SET @start_session_value = @@session.default_tmp_storage_engine;
+SELECT @start_session_value;
+
+--echo '#--------------------FN_DYNVARS_005_01-------------------------#'
+######################################################################
+# Display the DEFAULT value of default_tmp_storage_engine #
+######################################################################
+
+SET @@global.default_tmp_storage_engine = MEMORY;
+SET @@global.default_tmp_storage_engine = DEFAULT;
+SELECT @@global.default_tmp_storage_engine;
+
+SET @@session.default_tmp_storage_engine = MEMORY;
+SET @@session.default_tmp_storage_engine = DEFAULT;
+SELECT @@session.default_tmp_storage_engine;
+
+
+--echo '#--------------------FN_DYNVARS_005_02-------------------------#'
+########################################################################
+# Change the value of default_tmp_storage_engine to a valid value for GLOBAL Scope #
+########################################################################
+
+SET @@global.default_tmp_storage_engine = MYISAM;
+SELECT @@global.default_tmp_storage_engine;
+SET @@global.default_tmp_storage_engine = MERGE;
+SELECT @@global.default_tmp_storage_engine;
+SET @@global.default_tmp_storage_engine = MEMORY;
+SELECT @@global.default_tmp_storage_engine;
+
+--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
+#########################################################################
+# Change the value of default_tmp_storage_engine to a valid value for SESSION Scope #
+#########################################################################
+
+SET @@session.default_tmp_storage_engine = MYISAM;
+SELECT @@session.default_tmp_storage_engine;
+SET @@session.default_tmp_storage_engine = MERGE;
+SELECT @@session.default_tmp_storage_engine;
+SET @@session.default_tmp_storage_engine = MEMORY;
+SELECT @@session.default_tmp_storage_engine;
+
+--echo '#------------------FN_DYNVARS_005_04-----------------------#'
+##################################################################
+# Change the value of default_tmp_storage_engine to an invalid value #
+##################################################################
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.default_tmp_storage_engine = 8199;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.default_tmp_storage_engine = -1024;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.default_tmp_storage_engine = 65530.34;
+
+--Error ER_UNKNOWN_STORAGE_ENGINE
+SET @@global.default_tmp_storage_engine = FILE;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.default_tmp_storage_engine = 8199;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.default_tmp_storage_engine = 65530.34;
+
+--Error ER_UNKNOWN_STORAGE_ENGINE
+SET @@session.default_tmp_storage_engine = RECORD;
+
+
+--echo '#------------------FN_DYNVARS_005_05-----------------------#'
+####################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+####################################################################
+
+
+SELECT @@global.default_tmp_storage_engine =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='default_tmp_storage_engine';
+
+--echo '#------------------FN_DYNVARS_005_06-----------------------#'
+####################################################################
+# Check if the value in SESSION Table matches value in variable #
+####################################################################
+
+SELECT @@session.default_tmp_storage_engine =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+ WHERE VARIABLE_NAME='default_tmp_storage_engine';
+
+
+--echo '#------------------FN_DYNVARS_005_07-----------------------#'
+####################################################################
+# Check if TRUE and FALSE values can be used on variable #
+####################################################################
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.default_tmp_storage_engine = TRUE;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.default_tmp_storage_engine = FALSE;
+
+
+--echo '#---------------------FN_DYNVARS_001_8----------------------#'
+###############################################################
+# Check if accessing variable with SESSION,LOCAL and without #
+# SCOPE points to same session variable #
+###############################################################
+
+SET @@default_tmp_storage_engine = MYISAM;
+SELECT @@default_tmp_storage_engine = @@local.default_tmp_storage_engine;
+SELECT @@local.default_tmp_storage_engine = @@session.default_tmp_storage_engine;
+
+
+--echo '#---------------------FN_DYNVARS_001_9----------------------#'
+#########################################################################
+# Check if default_tmp_storage_engine can be accessed with and without @@ sign #
+#########################################################################
+
+SET default_tmp_storage_engine = MEMORY;
+SELECT @@default_tmp_storage_engine;
+--Error ER_UNKNOWN_TABLE
+SELECT local.default_tmp_storage_engine;
+--Error ER_UNKNOWN_TABLE
+SELECT session.default_tmp_storage_engine;
+--Error ER_BAD_FIELD_ERROR
+SELECT default_tmp_storage_engine = @@session.default_tmp_storage_engine;
+
+# check the old obsolete name
+SET @@default_tmp_storage_engine = @start_global_value;
+
+SET default_tmp_storage_engine = MyISAM;
+SET default_storage_engine = MyISAM;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t1, t2;
+
+SET default_storage_engine = MEMORY;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t1, t2;
+
+# test default_tmp_storage_engine = NULL
+SET @@global.default_tmp_storage_engine = NULL;
+SET @@session.default_tmp_storage_engine = NULL;
+
+SET default_storage_engine = MEMORY;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t1, t2;
+
+SET default_storage_engine = MYISAM;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t1, t2;
+
+SET default_tmp_storage_engine = DEFAULT;
+SET default_storage_engine = DEFAULT;
+CREATE TABLE t1 (a INT);
+CREATE TEMPORARY TABLE t2 (b INT);
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t1, t2;
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.default_tmp_storage_engine = @start_global_value;
+SELECT @@global.default_tmp_storage_engine;
+SET @@session.default_tmp_storage_engine = @start_session_value;
+SELECT @@session.default_tmp_storage_engine;
+
+
+#############################################################
+# END OF default_tmp_storage_engine TESTS #
+#############################################################
+
diff --git a/mysql-test/suite/sys_vars/t/delay_key_write_func-master.opt b/mysql-test/suite/sys_vars/t/delay_key_write_func-master.opt
index a449c0fb964..06d4d5aa154 100644
--- a/mysql-test/suite/sys_vars/t/delay_key_write_func-master.opt
+++ b/mysql-test/suite/sys_vars/t/delay_key_write_func-master.opt
@@ -1,2 +1,2 @@
---myisam-recover=BACKUP,FORCE
+--myisam-recover-options=BACKUP,FORCE
diff --git a/mysql-test/suite/sys_vars/t/delay_key_write_func.test b/mysql-test/suite/sys_vars/t/delay_key_write_func.test
index a44b37653d2..e823e51954c 100644
--- a/mysql-test/suite/sys_vars/t/delay_key_write_func.test
+++ b/mysql-test/suite/sys_vars/t/delay_key_write_func.test
@@ -20,36 +20,14 @@
###############################################################################
--echo '#--------------------FN_DYNVARS_023_01-------------------------#'
-#######################################################################
-# Check if setting delay_key_write is changed in every new connection #
-#######################################################################
-
SET @start_value= @@global.delay_key_write;
-SET @@global.delay_key_write = ON;
-SELECT @@global.delay_key_write;
-
---echo 'connect (user1,localhost,root,,,,)'
-connect (user1,localhost,root,,,,);
---echo 'connection user1'
-connection user1;
-SELECT @@global.delay_key_write AS res_is_ON;
-SET @@global.delay_key_write = ALL;
-disconnect user1;
-
---echo 'connect (user1,localhost,root,,,,)'
-connect (user1,localhost,root,,,,);
---echo 'connection user1'
-connection user1;
-SELECT @@global.delay_key_write AS res_is_ALL;
-
--echo '#--------------------FN_DYNVARS_023_02-------------------------#'
######################################################
# Begin the functionality Testing of delay_key_write #
######################################################
# create procedure to add rows
---disable_query_log
DELIMITER //;
CREATE PROCEDURE sp_addRecords (IN var1 INT,IN var2 INT)
BEGIN
@@ -59,28 +37,19 @@ BEGIN
END WHILE;
END//
DELIMITER ;//
---enable_query_log
#==============================================================================
--echo '---check when delay_key_write is OFF---'
#==============================================================================
-
SET @@global.delay_key_write = OFF;
-
---disable_query_log
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
# create a table with delay_key_write enabled
CREATE TABLE t1(
a INT PRIMARY KEY,
b VARCHAR(512),
c DOUBLE
) DELAY_KEY_WRITE = 1;
---enable_query_log
-
FLUSH STATUS;
@@ -90,6 +59,7 @@ SHOW STATUS LIKE 'Key_reads';
SHOW STATUS LIKE 'Key_writes';
SHOW STATUS LIKE 'Key_write_requests';
SELECT COUNT(*) FROM t1;
+DROP TABLE t1;
#==============================================================================
--echo '----check when delay_key_write is ON---'
@@ -97,17 +67,12 @@ SELECT COUNT(*) FROM t1;
SET @@global.delay_key_write = ON;
---disable_query_log
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
# create a table with delay_key_write enabled
CREATE TABLE t1(
a INT PRIMARY KEY,
b VARCHAR(512),
c DOUBLE
) DELAY_KEY_WRITE = 1;
---enable_query_log
FLUSH STATUS;
CALL sp_addRecords(1,10);
@@ -116,23 +81,19 @@ SHOW STATUS LIKE 'Key_reads';
SHOW STATUS LIKE 'Key_writes';
SHOW STATUS LIKE 'Key_write_requests';
SELECT COUNT(*) FROM t1;
+DROP TABLE t1;
#==============================================================================
--echo '----check when delay_key_write is ALL---'
#==============================================================================
SET @@global.delay_key_write = ALL;
---disable_query_log
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
# create a table with delay_key_write disabled
CREATE TABLE t1(
a INT PRIMARY KEY,
b VARCHAR(512),
c DOUBLE
) DELAY_KEY_WRITE = 0;
---enable_query_log
FLUSH STATUS;
CALL sp_addRecords(1,10);
@@ -144,12 +105,9 @@ SELECT COUNT(*) FROM t1;
DROP PROCEDURE sp_addRecords;
DROP TABLE t1;
-disconnect user1;
-connection default;
SET @@global.delay_key_write= @start_value;
####################################################
# End of functionality testing for delay_key_write #
####################################################
-
diff --git a/mysql-test/suite/sys_vars/t/delayed_insert_limit_func.test b/mysql-test/suite/sys_vars/t/delayed_insert_limit_func.test
index 427f2730e47..e83c48b67f1 100644
--- a/mysql-test/suite/sys_vars/t/delayed_insert_limit_func.test
+++ b/mysql-test/suite/sys_vars/t/delayed_insert_limit_func.test
@@ -61,7 +61,7 @@ INSERT INTO t1 VALUES('4','1','1');
INSERT INTO t1 VALUES('5','1','1');
INSERT INTO t1 VALUES('6','1','1');
-LOCK TABLE v1 WRITE;
+LOCK TABLE v1 READ;
--echo ** Connection con1 **
connection con1;
@@ -110,9 +110,8 @@ delimiter ;|
--echo ** Connection con0 **
connection con0;
let $wait_condition=
- SELECT variable_value > @@global.delayed_insert_limit
- FROM information_schema.global_status
- WHERE variable_name like 'Not_flushed_delayed_rows';
+ SELECT COUNT(*) = 1 FROM information_schema.processlist
+ WHERE state = 'Waiting for table level lock' AND user='delayed';
--source include/wait_condition.inc
let $my_select= SELECT COUNT(*) FROM t1;
send;
@@ -137,13 +136,6 @@ connection con0;
--echo Asynchronous "reap" result
--echo The next result suffers from
--echo '# Bug#35386 insert delayed inserts 1 + limit rows instead of just limit rows'
-#
-# on UNLOCK TABLES both SELECT in the con0 and delayed insert thread in the
-# con1 were awaken. There's no FIFO for TL_WRITE_DELAYED and TL_READ,
-# so either the first delayed_insert_limit rows will be inserted
-# before select (which will see 21 row) or select will go first (and see 6 rows)
-#
---replace_result 6 21
reap;
--echo ** Connection default **
@@ -173,7 +165,7 @@ INSERT INTO t1 VALUES('4');
INSERT INTO t1 VALUES('5');
INSERT INTO t1 VALUES('6');
-LOCK TABLE v1 WRITE;
+LOCK TABLE v1 READ;
--echo ** Connection con1 **
connection con1;
@@ -204,8 +196,8 @@ delimiter ;|
--echo ** Connection con0 **
connection con0;
let $wait_condition=
- SELECT variable_value > 0 FROM information_schema.global_status
- WHERE variable_name like 'Not_flushed_delayed_rows';
+ SELECT COUNT(*) = 1 FROM information_schema.processlist
+ WHERE state = 'Waiting for table level lock' AND user='delayed';
--source include/wait_condition.inc
--echo Asynchronous execute
# Due to performance and server behaveiour the test observes values between 6 and 22.
diff --git a/mysql-test/suite/sys_vars/t/encrypt_tmp_disk_tables_basic.test b/mysql-test/suite/sys_vars/t/encrypt_tmp_disk_tables_basic.test
new file mode 100644
index 00000000000..ee01e6d8ba4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/encrypt_tmp_disk_tables_basic.test
@@ -0,0 +1,41 @@
+# bool global
+--source include/have_maria.inc
+
+SET @start_global_value = @@global.encrypt_tmp_disk_tables;
+
+#
+# exists as global only
+#
+select @@global.encrypt_tmp_disk_tables;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.encrypt_tmp_disk_tables;
+show global variables like 'encrypt_tmp_disk_tables';
+show session variables like 'encrypt_tmp_disk_tables';
+select * from information_schema.global_variables
+where variable_name='encrypt_tmp_disk_tables';
+select * from information_schema.session_variables
+where variable_name='encrypt_tmp_disk_tables';
+
+#
+# show that it's writable
+#
+set global encrypt_tmp_disk_tables=ON;
+select @@global.encrypt_tmp_disk_tables;
+set global encrypt_tmp_disk_tables=OFF;
+select @@global.encrypt_tmp_disk_tables;
+set global encrypt_tmp_disk_tables=1;
+select @@global.encrypt_tmp_disk_tables;
+--error ER_GLOBAL_VARIABLE
+set session encrypt_tmp_disk_tables=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global encrypt_tmp_disk_tables=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global encrypt_tmp_disk_tables=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global encrypt_tmp_disk_tables="foo";
+
+SET @@global.encrypt_tmp_disk_tables = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/enforce_storage_engine_basic.test b/mysql-test/suite/sys_vars/t/enforce_storage_engine_basic.test
new file mode 100644
index 00000000000..62627a1e5ca
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/enforce_storage_engine_basic.test
@@ -0,0 +1,40 @@
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+--source include/load_sysvars.inc
+
+SET @start_session_value = @@session.enforce_storage_engine;
+
+SET @@session.enforce_storage_engine = INNODB;
+SET @@session.enforce_storage_engine = DEFAULT;
+
+SELECT @@session.enforce_storage_engine;
+
+SET @@session.enforce_storage_engine = MYISAM;
+SELECT @@session.enforce_storage_engine;
+SET @@session.enforce_storage_engine = MERGE;
+SELECT @@session.enforce_storage_engine;
+SET @@session.enforce_storage_engine = MEMORY;
+SELECT @@session.enforce_storage_engine;
+SET @@session.enforce_storage_engine = INNODB;
+SELECT @@session.enforce_storage_engine;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.enforce_storage_engine = 8199;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.enforce_storage_engine = 65530.34;
+
+--Error ER_UNKNOWN_STORAGE_ENGINE
+SET @@session.enforce_storage_engine = RECORD;
+
+SELECT @@session.enforce_storage_engine =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+ WHERE VARIABLE_NAME='enforce_storage_engine';
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.enforce_storage_engine = TRUE;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.enforce_storage_engine = FALSE;
+
+SET @@session.enforce_storage_engine = @start_session_value;
diff --git a/mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test b/mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test
deleted file mode 100644
index ab9bfc3dd6a..00000000000
--- a/mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test
+++ /dev/null
@@ -1,267 +0,0 @@
-############## mysql-test\t\engine_condition_pushdown_basic.test ##############
-# #
-# Variable Name: engine_condition_pushdown #
-# Scope: GLOBAL | SESSION #
-# Access Type: Dynamic #
-# Data Type: boolean #
-# Default Value: OFF #
-# Valid Values: ON, OFF #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-# Description: Test Cases of Dynamic System Variable engine_condition_pushdown#
-# that checks the behavior of this variable in the following ways#
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-
---source include/load_sysvars.inc
-
-########################################################################
-# START OF engine_condition_pushdown TESTS #
-########################################################################
-
-
-###############################################################################
-# Saving initial value of engine_condition_pushdown in a temporary variable #
-###############################################################################
-
-SET @session_start_value = @@session.engine_condition_pushdown;
-SELECT @session_start_value;
-
-SET @global_start_value = @@global.engine_condition_pushdown;
-SELECT @global_start_value;
-
-# same for optimizer_switch
-select @old_session_opt_switch:=@@session.optimizer_switch,
-@old_global_opt_switch:=@@global.optimizer_switch;
-
---echo '#--------------------FN_DYNVARS_028_01------------------------#'
-########################################################################
-# Display the DEFAULT value of engine_condition_pushdown #
-########################################################################
-
-SET @@session.engine_condition_pushdown = 0;
-SET @@session.engine_condition_pushdown = DEFAULT;
-SELECT @@session.engine_condition_pushdown;
-
-SET @@global.engine_condition_pushdown = 0;
-SET @@global.engine_condition_pushdown = DEFAULT;
-SELECT @@global.engine_condition_pushdown;
-
---echo '#---------------------FN_DYNVARS_028_02-------------------------#'
-###############################################################################
-# Check if engine_condition_pushdown can be accessed with and without @@ sign #
-###############################################################################
-
-SET engine_condition_pushdown = 1;
-SELECT @@engine_condition_pushdown;
-
---Error ER_UNKNOWN_TABLE
-SELECT session.engine_condition_pushdown;
-
---Error ER_UNKNOWN_TABLE
-SELECT local.engine_condition_pushdown;
-
---Error ER_UNKNOWN_TABLE
-SELECT global.engine_condition_pushdown;
-
-SET session engine_condition_pushdown = 0;
-SELECT @@session.engine_condition_pushdown;
-
-SET global engine_condition_pushdown = 0;
-SELECT @@global.engine_condition_pushdown;
-
-
---echo '#--------------------FN_DYNVARS_028_03------------------------#'
-##########################################################################
-# change the value of engine_condition_pushdown to a valid value #
-##########################################################################
-
-SET @@session.engine_condition_pushdown = 0;
-SELECT @@session.engine_condition_pushdown;
-SET @@session.engine_condition_pushdown = 1;
-SELECT @@session.engine_condition_pushdown;
-
-
-SET @@global.engine_condition_pushdown = 0;
-SELECT @@global.engine_condition_pushdown;
-SET @@global.engine_condition_pushdown = 1;
-SELECT @@global.engine_condition_pushdown;
-
-
---echo '#--------------------FN_DYNVARS_028_04-------------------------#'
-###########################################################################
-# Change the value of engine_condition_pushdown to invalid value #
-###########################################################################
-
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.engine_condition_pushdown = -1;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@session.engine_condition_pushdown = 1.6;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.engine_condition_pushdown = "T";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.engine_condition_pushdown = "Y";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.engine_condition_pushdown = TRÜE;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.engine_condition_pushdown = ÕN;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.engine_condition_pushdown = OF;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.engine_condition_pushdown = ÓFF;
-
-
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.engine_condition_pushdown = -1;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.engine_condition_pushdown = 2;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.engine_condition_pushdown = "T";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.engine_condition_pushdown = "Y";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.engine_condition_pushdown = TRÜE;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.engine_condition_pushdown = ÕN;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.engine_condition_pushdown = OF;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.engine_condition_pushdown = ÓFF;
-
-
---echo '#-------------------FN_DYNVARS_028_05----------------------------#'
-###########################################################################
-# Test if changing global variable effects session and vice versa #
-###########################################################################
-
-SET @@global.engine_condition_pushdown = 0;
-SET @@session.engine_condition_pushdown = 1;
-SELECT @@global.engine_condition_pushdown AS res_is_0;
-
-SET @@global.engine_condition_pushdown = 0;
-SELECT @@session.engine_condition_pushdown AS res_is_1;
-
---echo '#----------------------FN_DYNVARS_028_06------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
-SELECT IF(@@global.engine_condition_pushdown, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='engine_condition_pushdown';
-SELECT @@global.engine_condition_pushdown;
-SELECT VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='engine_condition_pushdown';
-
---echo '#----------------------FN_DYNVARS_028_07------------------------#'
-#########################################################################
-# Check if the value in SESSION Table matches value in variable #
-#########################################################################
-
-SELECT IF(@@session.engine_condition_pushdown, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='engine_condition_pushdown';
-SELECT @@session.engine_condition_pushdown;
-SELECT VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='engine_condition_pushdown';
-
-
---echo '#---------------------FN_DYNVARS_028_08-------------------------#'
-###################################################################
-# Check if ON and OFF values can be used on variable #
-###################################################################
-
-SET @@session.engine_condition_pushdown = OFF;
-SELECT @@session.engine_condition_pushdown;
-SET @@session.engine_condition_pushdown = ON;
-SELECT @@session.engine_condition_pushdown;
-
-SET @@global.engine_condition_pushdown = OFF;
-SELECT @@global.engine_condition_pushdown;
-SET @@global.engine_condition_pushdown = ON;
-SELECT @@global.engine_condition_pushdown;
-
---echo '#---------------------FN_DYNVARS_028_09----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-SET @@session.engine_condition_pushdown = TRUE;
-SELECT @@session.engine_condition_pushdown;
-SET @@session.engine_condition_pushdown = FALSE;
-SELECT @@session.engine_condition_pushdown;
-
-SET @@global.engine_condition_pushdown = TRUE;
-SELECT @@global.engine_condition_pushdown;
-SET @@global.engine_condition_pushdown = FALSE;
-SELECT @@global.engine_condition_pushdown;
-
---echo Check that @@engine_condition_pushdown influences
---echo @@optimizer_switch and vice-versa
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-set @@session.engine_condition_pushdown = TRUE;
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-set @@session.engine_condition_pushdown = FALSE;
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-set @@global.engine_condition_pushdown = TRUE;
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-set @@global.engine_condition_pushdown = FALSE;
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-set @@session.optimizer_switch = "engine_condition_pushdown=on";
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-set @@session.optimizer_switch = "engine_condition_pushdown=off";
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-set @@global.optimizer_switch = "engine_condition_pushdown=on";
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-set @@global.optimizer_switch = "engine_condition_pushdown=off";
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-
-##############################
-# Restore initial value #
-##############################
-
-SET @@session.engine_condition_pushdown = @session_start_value;
-SELECT @@session.engine_condition_pushdown;
-
-SET @@global.engine_condition_pushdown = @global_start_value;
-SELECT @@global.engine_condition_pushdown;
-
-set @session.optimizer_switch=@old_session_opt_switch,
-@@global.optimizer_switch=@old_global_opt_switch;
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
-
-###############################################################
-# END OF engine_condition_pushdown TESTS #
-###############################################################
diff --git a/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_basic.test b/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_basic.test
new file mode 100644
index 00000000000..da451aec610
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_basic.test
@@ -0,0 +1,26 @@
+#
+# show the global and session values;
+#
+select @@global.explicit_defaults_for_timestamp;
+
+#
+# Test that it's a global-only variable
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.explicit_defaults_for_timestamp;
+
+show global variables like 'explicit_defaults_for_timestamp';
+show session variables like 'explicit_defaults_for_timestamp';
+
+--disable_warnings
+select * from information_schema.global_variables where variable_name='explicit_defaults_for_timestamp';
+select * from information_schema.session_variables where variable_name='explicit_defaults_for_timestamp';
+--enable_warnings
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global explicit_defaults_for_timestamp=true;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session explicit_defaults_for_timestamp=true;
diff --git a/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_off.test b/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_off.test
new file mode 100644
index 00000000000..2159b7cb6a8
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_off.test
@@ -0,0 +1,8 @@
+--disable_query_log
+if (`SELECT @@explicit_defaults_for_timestamp`)
+{
+ Skip Need explicit-defaults-for-timestamp=off;
+}
+--enable_query_log
+
+--source inc/explicit_defaults_for_timestamp.inc
diff --git a/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_on-master.opt b/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_on-master.opt
new file mode 100644
index 00000000000..b84d51e2ad1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_on-master.opt
@@ -0,0 +1 @@
+--explicit-defaults-for-timestamp=on
diff --git a/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_on.test b/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_on.test
new file mode 100644
index 00000000000..5c03eaa28de
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/explicit_defaults_for_timestamp_on.test
@@ -0,0 +1,8 @@
+--disable_query_log
+if (!`SELECT @@explicit_defaults_for_timestamp`)
+{
+ Skip Need explicit-defaults-for-timestamp=on;
+}
+--enable_query_log
+
+--source inc/explicit_defaults_for_timestamp.inc
diff --git a/mysql-test/suite/sys_vars/t/general_log_file_basic-master.opt b/mysql-test/suite/sys_vars/t/general_log_file_basic-master.opt
index 8482f8cbbc3..c9f62c1ab8a 100644
--- a/mysql-test/suite/sys_vars/t/general_log_file_basic-master.opt
+++ b/mysql-test/suite/sys_vars/t/general_log_file_basic-master.opt
@@ -1 +1,2 @@
---log=test.log
+--general-log
+--general-log-file=test.log
diff --git a/mysql-test/suite/sys_vars/t/general_log_file_func-master.opt b/mysql-test/suite/sys_vars/t/general_log_file_func-master.opt
index 3652d715f5f..487f17425c6 100644
--- a/mysql-test/suite/sys_vars/t/general_log_file_func-master.opt
+++ b/mysql-test/suite/sys_vars/t/general_log_file_func-master.opt
@@ -1,2 +1,3 @@
---log=mysql-test.log
+--general-log
+--general-log-file=mysql-test.log
diff --git a/mysql-test/suite/sys_vars/t/gtid_binlog_pos_basic.test b/mysql-test/suite/sys_vars/t/gtid_binlog_pos_basic.test
new file mode 100644
index 00000000000..452132653fc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/gtid_binlog_pos_basic.test
@@ -0,0 +1,15 @@
+--source include/not_embedded.inc
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL gtid_binlog_pos= '';
+SELECT variable_name FROM information_schema.global_variables
+ WHERE variable_name='gtid_binlog_pos';
+
+# The value of the variable depends on the binary log, this is tested extensively
+# elsewhere in rpl.rpl_gtid*.test
+--disable_result_log
+SELECT @@gtid_binlog_pos;
+--enable_result_log
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.gtid_binlog_pos;
diff --git a/mysql-test/suite/sys_vars/t/gtid_binlog_state_basic.test b/mysql-test/suite/sys_vars/t/gtid_binlog_state_basic.test
new file mode 100644
index 00000000000..f171086e2ce
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/gtid_binlog_state_basic.test
@@ -0,0 +1,17 @@
+--source include/not_embedded.inc
+
+# Most things with gtid_binlog_state requires binlog enabled, and so is
+# tested in rpl suite.
+
+SELECT @@GLOBAL.gtid_slave_pos;
+
+--error ER_GLOBAL_VARIABLE
+SET gtid_binlog_state= '';
+--error ER_GLOBAL_VARIABLE
+SET SESSION gtid_binlog_state= '';
+
+--error ER_NO_DEFAULT
+SET GLOBAL gtid_binlog_state= DEFAULT;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.gtid_binlog_state;
diff --git a/mysql-test/suite/sys_vars/t/gtid_current_pos_basic.test b/mysql-test/suite/sys_vars/t/gtid_current_pos_basic.test
new file mode 100644
index 00000000000..9aac7ad7c10
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/gtid_current_pos_basic.test
@@ -0,0 +1,15 @@
+--source include/not_embedded.inc
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL gtid_current_pos= '';
+SELECT variable_name FROM information_schema.global_variables
+ WHERE variable_name='gtid_current_pos';
+
+# The value of the variable depends on the binary log, this is tested extensively
+# elsewhere in rpl.rpl_gtid*.test
+--disable_result_log
+SELECT @@gtid_current_pos;
+--enable_result_log
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.gtid_current_pos;
diff --git a/mysql-test/suite/sys_vars/t/gtid_domain_id_basic.test b/mysql-test/suite/sys_vars/t/gtid_domain_id_basic.test
new file mode 100644
index 00000000000..f9c78fe2749
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/gtid_domain_id_basic.test
@@ -0,0 +1,17 @@
+SET @old_gtid_domain_id= @@global.gtid_domain_id;
+SELECT @@global.gtid_domain_id;
+
+SET GLOBAL gtid_domain_id= 10;
+SET SESSION gtid_domain_id= 20;
+SELECT @@global.gtid_domain_id;
+SELECT @@session.gtid_domain_id;
+
+SET GLOBAL gtid_domain_id= DEFAULT;
+SELECT @@global.gtid_domain_id;
+
+SET GLOBAL gtid_domain_id= -10;
+SELECT @@global.gtid_domain_id;
+SET SESSION gtid_domain_id= -1;
+SELECT @@session.gtid_domain_id;
+
+SET GLOBAL gtid_domain_id= @old_gtid_domain_id;
diff --git a/mysql-test/suite/sys_vars/t/gtid_ignore_duplicates_basic.test b/mysql-test/suite/sys_vars/t/gtid_ignore_duplicates_basic.test
new file mode 100644
index 00000000000..23b7dc85596
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/gtid_ignore_duplicates_basic.test
@@ -0,0 +1,14 @@
+--source include/not_embedded.inc
+
+SET @save_gtid_ignore_duplicates= @@GLOBAL.gtid_ignore_duplicates;
+
+SELECT @@GLOBAL.gtid_ignore_duplicates as 'must be zero because of default';
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.gtid_ignore_duplicates as 'no session var';
+
+SET GLOBAL gtid_ignore_duplicates= FALSE;
+SET GLOBAL gtid_ignore_duplicates= DEFAULT;
+SET GLOBAL gtid_ignore_duplicates= TRUE;
+SELECT @@GLOBAL.gtid_ignore_duplicates;
+
+SET GLOBAL gtid_ignore_duplicates = @save_gtid_ignore_duplicates;
diff --git a/mysql-test/suite/sys_vars/t/gtid_seq_no_basic.test b/mysql-test/suite/sys_vars/t/gtid_seq_no_basic.test
new file mode 100644
index 00000000000..db5768ac334
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/gtid_seq_no_basic.test
@@ -0,0 +1,13 @@
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@global.gtid_seq_no;
+
+--error ER_LOCAL_VARIABLE
+SET GLOBAL gtid_seq_no= 10;
+SET SESSION gtid_seq_no= 20;
+SELECT @@session.gtid_seq_no;
+
+--error ER_LOCAL_VARIABLE
+SET GLOBAL gtid_seq_no= DEFAULT;
+
+SET SESSION gtid_seq_no= -1;
+SELECT @@session.gtid_seq_no;
diff --git a/mysql-test/suite/sys_vars/t/gtid_slave_pos_basic.test b/mysql-test/suite/sys_vars/t/gtid_slave_pos_basic.test
new file mode 100644
index 00000000000..d021e335b86
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/gtid_slave_pos_basic.test
@@ -0,0 +1,46 @@
+--source include/not_embedded.inc
+
+SET @old_gtid_slave_pos= @@gtid_slave_pos;
+
+SET GLOBAL gtid_slave_pos= '';
+SELECT @@gtid_slave_pos;
+SET GLOBAL gtid_slave_pos= '1-2-3';
+SELECT variable_value FROM information_schema.global_variables
+ WHERE variable_name='gtid_slave_pos';
+SET @@global.gtid_slave_pos= '1-2-4';
+SELECT @@gtid_slave_pos;
+
+SET GLOBAL gtid_slave_pos= ' 1-2-3';
+SELECT @@gtid_slave_pos;
+SET GLOBAL gtid_slave_pos= '1-2-3, 2-4-6';
+SELECT @@gtid_slave_pos;
+
+--error ER_INCORRECT_GTID_STATE
+SET GLOBAL gtid_slave_pos= '-1-2-3';
+--error ER_INCORRECT_GTID_STATE
+SET GLOBAL gtid_slave_pos= '1-2 -3';
+--error ER_INCORRECT_GTID_STATE
+SET GLOBAL gtid_slave_pos= '1-2-3 ';
+--error ER_INCORRECT_GTID_STATE
+SET GLOBAL gtid_slave_pos= '1-2-3,2-4';
+
+--error ER_DUPLICATE_GTID_DOMAIN
+SET GLOBAL gtid_slave_pos= '0-1-10,0-2-20';
+--error ER_DUPLICATE_GTID_DOMAIN
+SET GLOBAL gtid_slave_pos= '0-1-10,1-2-20,2-3-30,1-20-200,3-4-1';
+
+--error ER_GLOBAL_VARIABLE
+SET gtid_slave_pos= '';
+--error ER_GLOBAL_VARIABLE
+SET SESSION gtid_slave_pos= '';
+
+SET GLOBAL gtid_slave_pos= '1-2-3,2-4-6';
+SELECT @@gtid_slave_pos;
+
+--error ER_NO_DEFAULT
+SET GLOBAL gtid_slave_pos= DEFAULT;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.gtid_slave_pos;
+
+SET GLOBAL gtid_slave_pos= @old_gtid_slave_pos;
diff --git a/mysql-test/suite/sys_vars/t/gtid_strict_mode_basic.test b/mysql-test/suite/sys_vars/t/gtid_strict_mode_basic.test
new file mode 100644
index 00000000000..c6287dcd6bc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/gtid_strict_mode_basic.test
@@ -0,0 +1,21 @@
+--source include/not_embedded.inc
+#
+# only global
+#
+select @@global.gtid_strict_mode;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.gtid_strict_mode;
+show global variables like 'gtid_strict_mode';
+show session variables like 'gtid_strict_mode';
+select * from information_schema.global_variables where variable_name='gtid_strict_mode';
+select * from information_schema.session_variables where variable_name='gtid_strict_mode';
+
+SET @old= @@GLOBAL.gtid_strict_mode;
+set global gtid_strict_mode=1;
+select @@global.gtid_strict_mode;
+set global gtid_strict_mode=0;
+select @@global.gtid_strict_mode;
+set global gtid_strict_mode=@old;
+
+--error ER_GLOBAL_VARIABLE
+set session gtid_strict_mode=1;
diff --git a/mysql-test/suite/sys_vars/t/have_csv_basic.test b/mysql-test/suite/sys_vars/t/have_csv_basic.test
deleted file mode 100644
index 12081ff270e..00000000000
--- a/mysql-test/suite/sys_vars/t/have_csv_basic.test
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-################## mysql-test\t\have_csv_basic.test ###########################
-# #
-# Variable Name: have_csv #
-# Scope: Global #
-# Access Type: Static #
-# Data Type: boolean #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
-# #
-# #
-# Description:Test Cases of Dynamic System Variable have_csv #
-# that checks the behavior of this variable in the following ways #
-# * Value Check #
-# * Scope Check #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-
---echo '#---------------------BS_STVARS_008_01----------------------#'
-####################################################################
-# Displaying default value #
-####################################################################
-SELECT COUNT(@@GLOBAL.have_csv);
---echo 1 Expected
-
-
---echo '#---------------------BS_STVARS_008_02----------------------#'
-####################################################################
-# Check if Value can set #
-####################################################################
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.have_csv=1;
---echo Expected error 'Read only variable'
-
-SELECT COUNT(@@GLOBAL.have_csv);
---echo 1 Expected
-
-
-
-
---echo '#---------------------BS_STVARS_008_03----------------------#'
-#################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#################################################################
-
-SELECT @@GLOBAL.have_csv = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_csv';
---echo 1 Expected
-
-SELECT COUNT(@@GLOBAL.have_csv);
---echo 1 Expected
-
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_csv';
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_008_04----------------------#'
-################################################################################
-# Check if accessing variable with and without GLOBAL point to same variable #
-################################################################################
-SELECT @@have_csv = @@GLOBAL.have_csv;
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_008_05----------------------#'
-################################################################################
-# Check if have_csv can be accessed with and without @@ sign #
-################################################################################
-
-SELECT COUNT(@@have_csv);
---echo 1 Expected
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.have_csv);
---echo Expected error 'Variable is a GLOBAL variable'
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.have_csv);
---echo Expected error 'Variable is a GLOBAL variable'
-
-SELECT COUNT(@@GLOBAL.have_csv);
---echo 1 Expected
-
---Error ER_BAD_FIELD_ERROR
-SELECT have_csv = @@SESSION.have_csv;
---echo Expected error 'Readonly variable'
-
-
diff --git a/mysql-test/suite/sys_vars/t/have_innodb_basic.test b/mysql-test/suite/sys_vars/t/have_innodb_basic.test
deleted file mode 100644
index 9ae1bb0d443..00000000000
--- a/mysql-test/suite/sys_vars/t/have_innodb_basic.test
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-################## mysql-test\t\have_innodb_basic.test ########################
-# #
-# Variable Name: have_innodb #
-# Scope: Global #
-# Access Type: Static #
-# Data Type: boolean #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
-# #
-# #
-# Description:Test Cases of Dynamic System Variable have_innodb #
-# that checks the behavior of this variable in the following ways #
-# * Value Check #
-# * Scope Check #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-
---echo '#---------------------BS_STVARS_011_01----------------------#'
-####################################################################
-# Displaying default value #
-####################################################################
-SELECT COUNT(@@GLOBAL.have_innodb);
---echo 1 Expected
-
-
---echo '#---------------------BS_STVARS_011_02----------------------#'
-####################################################################
-# Check if Value can set #
-####################################################################
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.have_innodb=1;
---echo Expected error 'Read only variable'
-
-SELECT COUNT(@@GLOBAL.have_innodb);
---echo 1 Expected
-
-
-
-
---echo '#---------------------BS_STVARS_011_03----------------------#'
-#################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#################################################################
-
-SELECT @@GLOBAL.have_innodb = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_innodb';
---echo 1 Expected
-
-SELECT COUNT(@@GLOBAL.have_innodb);
---echo 1 Expected
-
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_innodb';
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_011_04----------------------#'
-################################################################################
-# Check if accessing variable with and without GLOBAL point to same variable #
-################################################################################
-SELECT @@have_innodb = @@GLOBAL.have_innodb;
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_011_05----------------------#'
-################################################################################
-# Check if have_innodb can be accessed with and without @@ sign #
-################################################################################
-
-SELECT COUNT(@@have_innodb);
---echo 1 Expected
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.have_innodb);
---echo Expected error 'Variable is a GLOBAL variable'
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.have_innodb);
---echo Expected error 'Variable is a GLOBAL variable'
-
-SELECT COUNT(@@GLOBAL.have_innodb);
---echo 1 Expected
-
---Error ER_BAD_FIELD_ERROR
-SELECT have_innodb = @@SESSION.have_innodb;
---echo Expected error 'Readonly variable'
-
-
diff --git a/mysql-test/suite/sys_vars/t/have_ndbcluster_basic.test b/mysql-test/suite/sys_vars/t/have_ndbcluster_basic.test
deleted file mode 100644
index 1ac341ff62e..00000000000
--- a/mysql-test/suite/sys_vars/t/have_ndbcluster_basic.test
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-################## mysql-test\t\have_ndbcluster_basic.test ####################
-# #
-# Variable Name: have_ndbcluster #
-# Scope: Global #
-# Access Type: Static #
-# Data Type: boolean #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
-# #
-# #
-# Description:Test Cases of Dynamic System Variable have_ndbcluster #
-# that checks the behavior of this variable in the following ways #
-# * Value Check #
-# * Scope Check #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-
---echo '#---------------------BS_STVARS_012_01----------------------#'
-####################################################################
-# Displaying default value #
-####################################################################
-SELECT COUNT(@@GLOBAL.have_ndbcluster);
---echo 1 Expected
-
-
---echo '#---------------------BS_STVARS_012_02----------------------#'
-####################################################################
-# Check if Value can set #
-####################################################################
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.have_ndbcluster=1;
---echo Expected error 'Read only variable'
-
-SELECT COUNT(@@GLOBAL.have_ndbcluster);
---echo 1 Expected
-
-
-
-
---echo '#---------------------BS_STVARS_012_03----------------------#'
-#################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#################################################################
-
-SELECT @@GLOBAL.have_ndbcluster = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_ndbcluster';
---echo 1 Expected
-
-SELECT COUNT(@@GLOBAL.have_ndbcluster);
---echo 1 Expected
-
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_ndbcluster';
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_012_04----------------------#'
-################################################################################
-# Check if accessing variable with and without GLOBAL point to same variable #
-################################################################################
-SELECT @@have_ndbcluster = @@GLOBAL.have_ndbcluster;
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_012_05----------------------#'
-################################################################################
-# Check if have_ndbcluster can be accessed with and without @@ sign #
-################################################################################
-
-SELECT COUNT(@@have_ndbcluster);
---echo 1 Expected
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.have_ndbcluster);
---echo Expected error 'Variable is a GLOBAL variable'
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.have_ndbcluster);
---echo Expected error 'Variable is a GLOBAL variable'
-
-SELECT COUNT(@@GLOBAL.have_ndbcluster);
---echo 1 Expected
-
---Error ER_BAD_FIELD_ERROR
-SELECT have_ndbcluster = @@SESSION.have_ndbcluster;
---echo Expected error 'Readonly variable'
-
-
diff --git a/mysql-test/suite/sys_vars/t/have_partitioning_basic.test b/mysql-test/suite/sys_vars/t/have_partitioning_basic.test
deleted file mode 100644
index b37abdb1498..00000000000
--- a/mysql-test/suite/sys_vars/t/have_partitioning_basic.test
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-################## mysql-test\t\have_partitioning_basic.test ##################
-# #
-# Variable Name: have_partitioning #
-# Scope: Global #
-# Access Type: Static #
-# Data Type: boolean #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
-# #
-# #
-# Description:Test Cases of Dynamic System Variable have_partitioning #
-# that checks the behavior of this variable in the following ways #
-# * Value Check #
-# * Scope Check #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-
---echo '#---------------------BS_STVARS_014_01----------------------#'
-####################################################################
-# Displaying default value #
-####################################################################
-SELECT COUNT(@@GLOBAL.have_partitioning);
---echo 1 Expected
-
-
---echo '#---------------------BS_STVARS_014_02----------------------#'
-####################################################################
-# Check if Value can set #
-####################################################################
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.have_partitioning=1;
---echo Expected error 'Read only variable'
-
-SELECT COUNT(@@GLOBAL.have_partitioning);
---echo 1 Expected
-
-
-
-
---echo '#---------------------BS_STVARS_014_03----------------------#'
-#################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#################################################################
-
-SELECT @@GLOBAL.have_partitioning = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_partitioning';
---echo 1 Expected
-
-SELECT COUNT(@@GLOBAL.have_partitioning);
---echo 1 Expected
-
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='have_partitioning';
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_014_04----------------------#'
-################################################################################
-# Check if accessing variable with and without GLOBAL point to same variable #
-################################################################################
-SELECT @@have_partitioning = @@GLOBAL.have_partitioning;
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_014_05----------------------#'
-################################################################################
-# Check if have_partitioning can be accessed with and without @@ sign #
-################################################################################
-
-SELECT COUNT(@@have_partitioning);
---echo 1 Expected
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.have_partitioning);
---echo Expected error 'Variable is a GLOBAL variable'
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.have_partitioning);
---echo Expected error 'Variable is a GLOBAL variable'
-
-SELECT COUNT(@@GLOBAL.have_partitioning);
---echo 1 Expected
-
---Error ER_BAD_FIELD_ERROR
-SELECT have_partitioning = @@SESSION.have_partitioning;
---echo Expected error 'Readonly variable'
-
-
diff --git a/mysql-test/suite/sys_vars/t/histogram_size_basic.test b/mysql-test/suite/sys_vars/t/histogram_size_basic.test
new file mode 100644
index 00000000000..d65936e3616
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/histogram_size_basic.test
@@ -0,0 +1,142 @@
+--source include/load_sysvars.inc
+
+##############################################################
+# START OF histogram_size TESTS #
+##############################################################
+
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.histogram_size;
+SELECT @start_global_value;
+SET @start_session_value = @@session.histogram_size;
+SELECT @start_session_value;
+
+--echo '#--------------------FN_DYNVARS_053_01-------------------------#'
+################################################################
+# Display the DEFAULT value of histogram_size #
+################################################################
+
+SET @@global.histogram_size = DEFAULT;
+SELECT @@global.histogram_size;
+
+SET @@session.histogram_size = DEFAULT;
+SELECT @@session.histogram_size;
+
+--echo '#--------------------FN_DYNVARS_053_03-------------------------#'
+########################################################################
+# Change the value of histogram_size to a valid value for GLOBAL Scope #
+########################################################################
+
+SET @@global.histogram_size = 1;
+SELECT @@global.histogram_size;
+SET @@global.histogram_size = 31;
+SELECT @@global.histogram_size;
+SET @@global.histogram_size = 255;
+SELECT @@global.histogram_size;
+
+--echo '#--------------------FN_DYNVARS_053_04-------------------------#'
+#########################################################################
+# Change the value of histogram_size to a valid value for SESSION Scope #
+#########################################################################
+
+SET @@session.histogram_size = 1;
+SELECT @@session.histogram_size;
+SET @@session.histogram_size = 31;
+SELECT @@session.histogram_size;
+SET @@session.histogram_size = 255;
+SELECT @@session.histogram_size;
+
+--echo '#------------------FN_DYNVARS_053_05-----------------------#'
+##########################################################
+# Change the value of histogram_size to an invalid value #
+###########################################################
+
+SET @@global.histogram_size = -1;
+SELECT @@global.histogram_size;
+SET @@global.histogram_size = 256;
+SELECT @@global.histogram_size;
+SET @@global.histogram_size = 1024;
+SELECT @@global.histogram_size;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.histogram_size = 4.5;
+SELECT @@global.histogram_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.histogram_size = test;
+SELECT @@global.histogram_size;
+
+SET @@session.histogram_size = -1;
+SELECT @@session.histogram_size;
+SET @@session.histogram_size = 256;
+SELECT @@session.histogram_size;
+SET @@session.histogram_size = 1024;
+SELECT @@session.histogram_size;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.histogram_size = 4.5;
+SELECT @@session.histogram_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.histogram_size = test;
+SELECT @@session.histogram_size;
+
+--echo '#------------------FN_DYNVARS_053_06-----------------------#'
+####################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+####################################################################
+
+SELECT @@global.histogram_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='histogram_size';
+
+--echo '#------------------FN_DYNVARS_053_07-----------------------#'
+####################################################################
+# Check if the value in SESSION Table matches value in variable #
+####################################################################
+
+SELECT @@session.histogram_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='histogram_size';
+
+
+--echo '#------------------FN_DYNVARS_053_08-----------------------#'
+####################################################################
+# Check if TRUE and FALSE values can be used on variable #
+####################################################################
+
+SET @@global.histogram_size = TRUE;
+SET @@global.histogram_size = FALSE;
+
+--echo '#---------------------FN_DYNVARS_001_09----------------------#'
+#################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+#################################################################################
+
+SET @@global.histogram_size = 10;
+SELECT @@histogram_size = @@global.histogram_size;
+
+--echo '#---------------------FN_DYNVARS_001_10----------------------#'
+########################################################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
+########################################################################################################
+
+SET @@histogram_size = 100;
+SELECT @@histogram_size = @@local.histogram_size;
+SELECT @@local.histogram_size = @@session.histogram_size;
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.histogram_size = @start_global_value;
+SELECT @@global.histogram_size;
+SET @@session.histogram_size = @start_session_value;
+SELECT @@session.histogram_size;
+
+
+###################################################
+# END OF histogram_size TESTS #
+###################################################
+
diff --git a/mysql-test/suite/sys_vars/t/histogram_type_basic.test b/mysql-test/suite/sys_vars/t/histogram_type_basic.test
new file mode 100644
index 00000000000..bf1ef5ef700
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/histogram_type_basic.test
@@ -0,0 +1,92 @@
+--source include/load_sysvars.inc
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.histogram_type;
+SELECT @start_global_value;
+SET @start_session_value = @@session.histogram_type;
+SELECT @start_session_value;
+
+##############################################################
+# Display the DEFAULT value of histogram_type #
+##############################################################
+
+SET @@global.histogram_type = 1;
+SET @@global.histogram_type = DEFAULT;
+SELECT @@global.histogram_type;
+
+#################################################################################
+# Change the value of histogram_type to a valid value for GLOBAL Scope #
+#################################################################################
+
+SET @@global.histogram_type = 0;
+SELECT @@global.histogram_type;
+SET @@global.histogram_type = 1;
+SELECT @@global.histogram_type;
+
+SET @@global.histogram_type = SINGLE_PREC_HB;
+SELECT @@global.histogram_type;
+SET @@global.histogram_type = DOUBLE_PREC_HB;
+SELECT @@global.histogram_type;
+
+###################################################################################
+# Change the value of histogram_type to a valid value for SESSION Scope #
+###################################################################################
+
+SET @@session.histogram_type = 0;
+SELECT @@session.histogram_type;
+SET @@session.histogram_type = 1;
+SELECT @@session.histogram_type;
+
+SET @@session.histogram_type = SINGLE_PREC_HB;
+SELECT @@session.histogram_type;
+SET @@session.histogram_type = DOUBLE_PREC_HB;
+SELECT @@session.histogram_type;
+
+####################################################################
+# Change the value of histogram_type to an invalid value #
+####################################################################
+
+set sql_mode=TRADITIONAL;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.histogram_type = 10;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.histogram_type = -1024;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.histogram_type = 2.4;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.histogram_type = OFF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.histogram_type = 10;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.histogram_type = -2;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.histogram_type = 1.2;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.histogram_type = ON;
+
+###############################################################################
+# Check if the value in GLOBAL & SESSION Tables matches value in variable #
+###############################################################################
+
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='histogram_type';
+
+SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='histogram_type';
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.histogram_type = @start_global_value;
+SELECT @@global.histogram_type;
+SET @@session.histogram_type = @start_session_value;
+SELECT @@session.histogram_type;
+set sql_mode='';
+
+#####################################################
+# END OF histogram_type TESTS #
+##################################################### \ No newline at end of file
diff --git a/mysql-test/suite/sys_vars/t/host_cache_size_basic-master.opt b/mysql-test/suite/sys_vars/t/host_cache_size_basic-master.opt
new file mode 100644
index 00000000000..7fb505c5572
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/host_cache_size_basic-master.opt
@@ -0,0 +1 @@
+--host-cache-size=123
diff --git a/mysql-test/suite/sys_vars/t/host_cache_size_basic.test b/mysql-test/suite/sys_vars/t/host_cache_size_basic.test
new file mode 100644
index 00000000000..38713d2f963
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/host_cache_size_basic.test
@@ -0,0 +1,41 @@
+--source include/not_embedded.inc
+
+#
+# Only global
+#
+
+select @@global.host_cache_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.host_cache_size;
+
+show global variables like 'host_cache_size';
+
+show session variables like 'host_cache_size';
+
+select * from information_schema.global_variables
+ where variable_name='host_cache_size';
+
+select * from information_schema.session_variables
+ where variable_name='host_cache_size';
+
+#
+# Read-Write
+#
+
+set global host_cache_size=1;
+select @@global.host_cache_size;
+
+set global host_cache_size=12;
+select @@global.host_cache_size;
+
+set global host_cache_size=0;
+select @@global.host_cache_size;
+
+--error ER_GLOBAL_VARIABLE
+set session host_cache_size=1;
+
+# Restore default
+set global host_cache_size=123;
+select @@global.host_cache_size;
+
diff --git a/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic-master.opt b/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic-master.opt
index 30ee4f67284..03b94823278 100644
--- a/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic-master.opt
+++ b/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic-master.opt
@@ -1,11 +1,11 @@
---ignore-db-dir=a
---ignore-db-dir=b
---ignore-db-dir=c
---ignore-db-dir=
---ignore-db-dir=d
---ignore-db-dir x
---ignore-db-dir=
---ignore-db-dir=e
---ignore-db-dir=lost+found
---ignore-db-dir=.mysqlgui
---ignore-db-dir=ignored_db
+--ignore-db-dirs=a
+--ignore-db-dirs=b
+--ignore-db-dirs=c
+--ignore-db-dirs=
+--ignore-db-dirs=d
+--ignore-db-dirs x
+--ignore-db-dirs=
+--ignore-db-dirs=e
+--ignore-db-dirs=lost+found
+--ignore-db-dirs=.mysqlgui
+--ignore-db-dirs=ignored_db
diff --git a/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic.test b/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic.test
index 9544fc540f9..78f6479dea6 100644
--- a/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic.test
+++ b/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic.test
@@ -1,3 +1,5 @@
+call mtr.add_suppression("table or database name '.otherdir'");
+
select @@ignore_db_dirs;
let $MYSQLD_DATADIR= `select @@datadir`;
diff --git a/mysql-test/suite/sys_vars/t/innodb_adaptive_flushing_lwm_basic.test b/mysql-test/suite/sys_vars/t/innodb_adaptive_flushing_lwm_basic.test
new file mode 100644
index 00000000000..04f07cdd3df
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_adaptive_flushing_lwm_basic.test
@@ -0,0 +1,142 @@
+############ mysql-test\t\innodb_adaptive_flushing_lwm_basic.test #############
+# #
+# Variable Name: innodb_adaptive_flushing_lwm #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 10 #
+# Range: 0-70 #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Rizwan #
+# #
+#Description:Test Cases of Dynamic System Variable innodb_adaptive_flushing_lwm #
+# that checks the behavior of this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF innodb_adaptive_flushing_lwm TESTS #
+########################################################################
+
+
+###############################################################################
+#Saving initial value of innodb_adaptive_flushing_lwm in a temporary variable #
+###############################################################################
+
+SET @global_start_value = @@global.innodb_adaptive_flushing_lwm;
+SELECT @global_start_value;
+
+--echo '#--------------------FN_DYNVARS_046_01------------------------#'
+########################################################################
+# Display the DEFAULT value of innodb_adaptive_flushing_lwm #
+########################################################################
+
+SET @@global.innodb_adaptive_flushing_lwm = 1;
+SET @@global.innodb_adaptive_flushing_lwm = DEFAULT;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
+###################################################################################
+# Check if innodb_adaptive_flushing_lwm can be accessed with and without @@ sign #
+###################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET innodb_adaptive_flushing_lwm = 1;
+SELECT @@innodb_adaptive_flushing_lwm;
+
+--Error ER_UNKNOWN_TABLE
+SELECT local.innodb_adaptive_flushing_lwm;
+
+SET global innodb_adaptive_flushing_lwm = 1;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+--echo '#--------------------FN_DYNVARS_046_03------------------------#'
+###############################################################################
+# change the value of innodb_adaptive_flushing_lwm to a valid value #
+###############################################################################
+
+SET @@global.innodb_adaptive_flushing_lwm = 1;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+SET @@global.innodb_adaptive_flushing_lwm = 60;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+SET @@global.innodb_adaptive_flushing_lwm = 70;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
+###########################################################################
+# Change the value of innodb_adaptive_flushing_lwm to invalid value #
+###########################################################################
+
+SET @@global.innodb_adaptive_flushing_lwm = -1;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_adaptive_flushing_lwm = "T";
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_adaptive_flushing_lwm = "Y";
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+SET @@global.innodb_adaptive_flushing_lwm = 71;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+--echo '#----------------------FN_DYNVARS_046_05------------------------#'
+#########################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#########################################################################
+
+SELECT @@global.innodb_adaptive_flushing_lwm =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_adaptive_flushing_lwm';
+SELECT @@global.innodb_adaptive_flushing_lwm;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_adaptive_flushing_lwm';
+
+--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_adaptive_flushing_lwm = OFF;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_adaptive_flushing_lwm = ON;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+--echo '#---------------------FN_DYNVARS_046_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+
+SET @@global.innodb_adaptive_flushing_lwm = TRUE;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+SET @@global.innodb_adaptive_flushing_lwm = FALSE;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.innodb_adaptive_flushing_lwm = @global_start_value;
+SELECT @@global.innodb_adaptive_flushing_lwm;
+
+###############################################################
+# END OF innodb_adaptive_flushing_lwm TESTS #
+###############################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test b/mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test
new file mode 100644
index 00000000000..a2508b073eb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test
@@ -0,0 +1,75 @@
+################## mysql-test/t/innodb_adaptive_max_sleep_delay.test ##########
+# #
+# Variable Name: innodb_adaptive_max_sleep_delay #
+# Scope: Global #
+# Access Type: Dynamic #
+# Data Type: numeric #
+# #
+# Note: This variable is only defined if innodb_have_atomic_builtins=ON #
+# #
+# Creation Date: 2011-08-17 #
+# Author : Sunny Bains #
+# #
+# #
+# Description: Dynamic config global variable innodb_adaptive_max_sleep_delay #
+# * Value check #
+# * Scope check #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+
+# Check if builtins are enabled
+if (`SELECT LOWER(VARIABLE_VALUE)='off' FROM INFORMATION_SCHEMA.GLOBAL_STATUS
+ WHERE LOWER(variable_name) = 'innodb_have_atomic_builtins'`) {
+ --skip Test requires InnoDB atomic builtins
+}
+
+# Display default value
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+--echo 150000 Expected
+
+# Check if value can be set
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=100;
+
+# Check for out of bounds
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=1000001;
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+--echo 1000000 Expected
+
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=-1;
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+--echo 0 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_adaptive_max_sleep_delay);
+--echo 1 Expected
+
+# Check if the value in GLOBAL table matches value in variable
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_adaptive_max_sleep_delay';
+--echo 100 Expected
+
+# Check if accessing variable with and without GLOBAL point to same
+# variable
+SELECT @@innodb_adaptive_max_sleep_delay = @@GLOBAL.innodb_adaptive_max_sleep_delay;
+--echo 1000000 Expected
+
+# Check if innodb_adaptive_max_sleep_delay can be accessed with and
+# without @@ sign.
+SELECT COUNT(@@innodb_adaptive_max_sleep_delay);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_adaptive_max_sleep_delay);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_adaptive_max_sleep_delay);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_adaptive_max_sleep_delay = @@SESSION.innodb_adaptive_max_sleep_delay;
+
+# Reset the default
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=150000;
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_bk_commit_interval_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_bk_commit_interval_basic.test
new file mode 100644
index 00000000000..b3a7aebce4e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_api_bk_commit_interval_basic.test
@@ -0,0 +1,58 @@
+#
+# 2012-08-01 Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_api_bk_commit_interval;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are positive number
+SELECT @@global.innodb_api_bk_commit_interval > 0;
+SELECT @@global.innodb_api_bk_commit_interval <= 1024*1024*1024;
+SELECT @@global.innodb_api_bk_commit_interval;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_api_bk_commit_interval;
+SHOW global variables LIKE 'innodb_api_bk_commit_interval';
+SHOW session variables LIKE 'innodb_api_bk_commit_interval';
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+
+#
+# show that it's writable
+#
+SET global innodb_api_bk_commit_interval=100;
+SELECT @@global.innodb_api_bk_commit_interval;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+--error ER_GLOBAL_VARIABLE
+SET session innodb_api_bk_commit_interval=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_api_bk_commit_interval=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_api_bk_commit_interval=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_api_bk_commit_interval="foo";
+SET global innodb_api_bk_commit_interval=-7;
+SELECT @@global.innodb_api_bk_commit_interval;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_bk_commit_interval';
+
+#
+# cleanup
+#
+
+SET @@global.innodb_api_bk_commit_interval = @start_global_value;
+SELECT @@global.innodb_api_bk_commit_interval;
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_disable_rowlock_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_disable_rowlock_basic.test
new file mode 100644
index 00000000000..c9c04a27229
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_api_disable_rowlock_basic.test
@@ -0,0 +1,102 @@
+
+
+################## mysql-test\t\innodb_api_disable_rowlock_basic.test ##############
+# #
+# Variable Name: innodb_api_disable_rowlock #
+# Scope: Global #
+# Access Type: Static #
+# Data Type: numeric #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author : Sharique Abdullah #
+# #
+# #
+# Description:Test Cases of Dynamic System Variable innodb_api_disable_rowlock #
+# that checks the behavior of this variable in the following ways #
+# * Value Check #
+# * Scope Check #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+
+--echo '#---------------------BS_STVARS_035_01----------------------#'
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
+--echo 1 Expected
+
+
+--echo '#---------------------BS_STVARS_035_02----------------------#'
+####################################################################
+# Check if Value can set #
+####################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_api_disable_rowlock=1;
+--echo Expected error 'Read only variable'
+
+SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
+--echo 1 Expected
+
+
+
+
+--echo '#---------------------BS_STVARS_035_03----------------------#'
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+SELECT IF(@@GLOBAL.innodb_api_disable_rowlock, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_disable_rowlock';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_disable_rowlock';
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_035_04----------------------#'
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_api_disable_rowlock = @@GLOBAL.innodb_api_enable_binlog;
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_035_05----------------------#'
+################################################################################
+# Check if innodb_log_file_size can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@innodb_api_disable_rowlock);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_api_disable_rowlock);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_api_disable_rowlock);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_api_disable_rowlock = @@SESSION.innodb_api_enable_binlog;
+--echo Expected error 'Readonly variable'
+
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_enable_binlog_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_enable_binlog_basic.test
new file mode 100644
index 00000000000..637541ef621
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_api_enable_binlog_basic.test
@@ -0,0 +1,102 @@
+
+
+################## mysql-test\t\innodb_api_enable_binlog_basic.test ##############
+# #
+# Variable Name: innodb_api_enable_binlog #
+# Scope: Global #
+# Access Type: Static #
+# Data Type: numeric #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author : Sharique Abdullah #
+# #
+# #
+# Description:Test Cases of Dynamic System Variable innodb_api_enable_binlog #
+# that checks the behavior of this variable in the following ways #
+# * Value Check #
+# * Scope Check #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+
+--echo '#---------------------BS_STVARS_035_01----------------------#'
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
+--echo 1 Expected
+
+
+--echo '#---------------------BS_STVARS_035_02----------------------#'
+####################################################################
+# Check if Value can set #
+####################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_api_enable_binlog=1;
+--echo Expected error 'Read only variable'
+
+SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
+--echo 1 Expected
+
+
+
+
+--echo '#---------------------BS_STVARS_035_03----------------------#'
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+SELECT IF(@@GLOBAL.innodb_api_enable_binlog, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_enable_binlog';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_enable_binlog';
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_035_04----------------------#'
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_api_enable_binlog = @@GLOBAL.innodb_api_enable_binlog;
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_035_05----------------------#'
+################################################################################
+# Check if innodb_log_file_size can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@innodb_api_enable_binlog);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_api_enable_binlog);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_api_enable_binlog);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_api_enable_binlog = @@SESSION.innodb_api_enable_binlog;
+--echo Expected error 'Readonly variable'
+
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test
new file mode 100644
index 00000000000..0e440a72cce
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test
@@ -0,0 +1,102 @@
+
+
+################## mysql-test\t\innodb_api_enable_mdl_basic.test ##############
+# #
+# Variable Name: innodb_api_enable_mdl #
+# Scope: Global #
+# Access Type: Static #
+# Data Type: numeric #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author : Sharique Abdullah #
+# #
+# #
+# Description:Test Cases of Dynamic System Variable innodb_api_enable_mdl #
+# that checks the behavior of this variable in the following ways #
+# * Value Check #
+# * Scope Check #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+
+--echo '#---------------------BS_STVARS_035_01----------------------#'
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
+--echo 1 Expected
+
+
+--echo '#---------------------BS_STVARS_035_02----------------------#'
+####################################################################
+# Check if Value can set #
+####################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_api_enable_mdl=1;
+--echo Expected error 'Read only variable'
+
+SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
+--echo 1 Expected
+
+
+
+
+--echo '#---------------------BS_STVARS_035_03----------------------#'
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+SELECT IF(@@GLOBAL.innodb_api_enable_mdl, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_enable_mdl';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_api_enable_mdl';
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_035_04----------------------#'
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_api_enable_mdl = @@GLOBAL.innodb_api_enable_mdl;
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_035_05----------------------#'
+################################################################################
+# Check if innodb_log_file_size can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@innodb_api_enable_mdl);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_api_enable_mdl);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_api_enable_mdl);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_api_enable_mdl = @@SESSION.innodb_api_enable_mdl;
+--echo Expected error 'Readonly variable'
+
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test
new file mode 100644
index 00000000000..49c34b647fd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test
@@ -0,0 +1,58 @@
+#
+# 2011-08-01 Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_api_trx_level;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are zero or above
+SELECT @@global.innodb_api_trx_level >=0;
+SELECT @@global.innodb_api_trx_level <=3;
+SELECT @@global.innodb_api_trx_level;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_api_trx_level;
+SHOW global variables LIKE 'innodb_api_trx_level';
+SHOW session variables LIKE 'innodb_api_trx_level';
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_trx_level';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_api_trx_level';
+
+#
+# show that it's writable
+#
+SET global innodb_api_trx_level=100;
+SELECT @@global.innodb_api_trx_level;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_trx_level';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_api_trx_level';
+--error ER_GLOBAL_VARIABLE
+SET session innodb_api_trx_level=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_api_trx_level=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_api_trx_level=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_api_trx_level="foo";
+SET global innodb_api_trx_level=-7;
+SELECT @@global.innodb_api_trx_level;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_api_trx_level';
+
+#
+# cleanup
+#
+
+SET @@global.innodb_api_trx_level = @start_global_value;
+SELECT @@global.innodb_api_trx_level;
diff --git a/mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test b/mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test
index eb208e7197f..cbe62a105ff 100644
--- a/mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test
@@ -4,7 +4,7 @@
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Numeric #
-# Default Value: 8 #
+# Default Value: 64 #
# Range: 0,1 #
# #
# #
diff --git a/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_check_interval_basic.test b/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_check_interval_basic.test
new file mode 100644
index 00000000000..77c8671a1bc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_check_interval_basic.test
@@ -0,0 +1,54 @@
+# bool global
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_background_scrub_data_check_interval;
+
+--echo #
+--echo # default value
+--echo #
+select @@global.innodb_background_scrub_data_check_interval;
+set global innodb_background_scrub_data_check_interval=10;
+select @@global.innodb_background_scrub_data_check_interval;
+set global innodb_background_scrub_data_check_interval=DEFAULT;
+select @@global.innodb_background_scrub_data_check_interval;
+set global innodb_background_scrub_data_check_interval=20;
+select @@global.innodb_background_scrub_data_check_interval;
+set global innodb_background_scrub_data_check_interval=DEFAULT;
+select @@global.innodb_background_scrub_data_check_interval;
+
+--echo #
+--echo # exists as global only
+--echo #
+select @@global.innodb_background_scrub_data_check_interval;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_background_scrub_data_check_interval;
+show global variables like 'innodb_background_scrub_data_check_interval';
+show session variables like 'innodb_background_scrub_data_check_interval';
+select * from information_schema.global_variables
+where variable_name='innodb_background_scrub_data_check_interval';
+select * from information_schema.session_variables
+where variable_name='innodb_background_scrub_data_check_interval';
+
+--echo #
+--echo # show that it's writable
+--echo #
+set global innodb_background_scrub_data_check_interval=10;
+select @@global.innodb_background_scrub_data_check_interval;
+set global innodb_background_scrub_data_check_interval=20;
+select @@global.innodb_background_scrub_data_check_interval;
+set global innodb_background_scrub_data_check_interval=1;
+select @@global.innodb_background_scrub_data_check_interval;
+--error ER_GLOBAL_VARIABLE
+set session innodb_background_scrub_data_check_interval=1;
+
+--echo #
+--echo # incorrect types
+--echo #
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_check_interval=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_check_interval=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_check_interval="foo";
+
+SET @@global.innodb_background_scrub_data_check_interval = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_compressed_basic.test b/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_compressed_basic.test
new file mode 100644
index 00000000000..fdf77bbb780
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_compressed_basic.test
@@ -0,0 +1,41 @@
+# bool global
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_background_scrub_data_compressed;
+
+--echo #
+--echo # exists as global only
+--echo #
+select @@global.innodb_background_scrub_data_compressed;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_background_scrub_data_compressed;
+show global variables like 'innodb_background_scrub_data_compressed';
+show session variables like 'innodb_background_scrub_data_compressed';
+select * from information_schema.global_variables
+where variable_name='innodb_background_scrub_data_compressed';
+select * from information_schema.session_variables
+where variable_name='innodb_background_scrub_data_compressed';
+
+--echo #
+--echo # show that it's writable
+--echo #
+set global innodb_background_scrub_data_compressed=ON;
+select @@global.innodb_background_scrub_data_compressed;
+set global innodb_background_scrub_data_compressed=OFF;
+select @@global.innodb_background_scrub_data_compressed;
+set global innodb_background_scrub_data_compressed=1;
+select @@global.innodb_background_scrub_data_compressed;
+--error ER_GLOBAL_VARIABLE
+set session innodb_background_scrub_data_compressed=1;
+
+--echo #
+--echo # incorrect types
+--echo #
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_compressed=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_compressed=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_background_scrub_data_compressed="foo";
+
+SET @@global.innodb_background_scrub_data_compressed = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_interval_basic.test b/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_interval_basic.test
new file mode 100644
index 00000000000..9f1187a97ff
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_interval_basic.test
@@ -0,0 +1,41 @@
+# bool global
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_background_scrub_data_interval;
+
+--echo #
+--echo # exists as global only
+--echo #
+select @@global.innodb_background_scrub_data_interval;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_background_scrub_data_interval;
+show global variables like 'innodb_background_scrub_data_interval';
+show session variables like 'innodb_background_scrub_data_interval';
+select * from information_schema.global_variables
+where variable_name='innodb_background_scrub_data_interval';
+select * from information_schema.session_variables
+where variable_name='innodb_background_scrub_data_interval';
+
+--echo #
+--echo # show that it's writable
+--echo #
+set global innodb_background_scrub_data_interval=100;
+select @@global.innodb_background_scrub_data_interval;
+set global innodb_background_scrub_data_interval=200;
+select @@global.innodb_background_scrub_data_interval;
+set global innodb_background_scrub_data_interval=300;
+select @@global.innodb_background_scrub_data_interval;
+--error ER_GLOBAL_VARIABLE
+set session innodb_background_scrub_data_interval=400;
+
+--echo #
+--echo # incorrect types
+--echo #
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_interval=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_interval=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_interval="foo";
+
+SET @@global.innodb_background_scrub_data_interval = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_uncompressed_basic.test b/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_uncompressed_basic.test
new file mode 100644
index 00000000000..76d6535ad81
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_uncompressed_basic.test
@@ -0,0 +1,41 @@
+# bool global
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_background_scrub_data_uncompressed;
+
+--echo #
+--echo # exists as global only
+--echo #
+select @@global.innodb_background_scrub_data_uncompressed;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_background_scrub_data_uncompressed;
+show global variables like 'innodb_background_scrub_data_uncompressed';
+show session variables like 'innodb_background_scrub_data_uncompressed';
+select * from information_schema.global_variables
+where variable_name='innodb_background_scrub_data_uncompressed';
+select * from information_schema.session_variables
+where variable_name='innodb_background_scrub_data_uncompressed';
+
+--echo #
+--echo # show that it's writable
+--echo #
+set global innodb_background_scrub_data_uncompressed=ON;
+select @@global.innodb_background_scrub_data_uncompressed;
+set global innodb_background_scrub_data_uncompressed=OFF;
+select @@global.innodb_background_scrub_data_uncompressed;
+set global innodb_background_scrub_data_uncompressed=1;
+select @@global.innodb_background_scrub_data_uncompressed;
+--error ER_GLOBAL_VARIABLE
+set session innodb_background_scrub_data_uncompressed=1;
+
+--echo #
+--echo # incorrect types
+--echo #
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_uncompressed=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_background_scrub_data_uncompressed=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_background_scrub_data_uncompressed="foo";
+
+SET @@global.innodb_background_scrub_data_uncompressed = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_buf_dump_status_frequency_basic.test b/mysql-test/suite/sys_vars/t/innodb_buf_dump_status_frequency_basic.test
new file mode 100644
index 00000000000..c505fbbd3b1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buf_dump_status_frequency_basic.test
@@ -0,0 +1,39 @@
+--source include/have_innodb.inc
+--source include/load_sysvars.inc
+
+SET @start_innodb_buf_dump_status_frequency = @@global.innodb_buf_dump_status_frequency;
+SELECT @start_innodb_buf_dump_status_frequency;
+
+SELECT COUNT(@@global.innodb_buf_dump_status_frequency);
+
+# test valid value
+SET @@global.innodb_buf_dump_status_frequency = 20;
+SELECT @@global.innodb_buf_dump_status_frequency;
+
+# test valid min
+SET @@global.innodb_buf_dump_status_frequency = 0;
+SELECT @@global.innodb_buf_dump_status_frequency;
+
+# test valid max
+SET @@global.innodb_buf_dump_status_frequency = 100;
+SELECT @@global.innodb_buf_dump_status_frequency;
+
+# test invalid value < min
+SET @@global.innodb_buf_dump_status_frequency = -1;
+SELECT @@global.innodb_buf_dump_status_frequency;
+
+# test invalid value > max
+SET @@global.innodb_buf_dump_status_frequency = 101;
+SELECT @@global.innodb_buf_dump_status_frequency;
+
+# test wrong type
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_buf_dump_status_frequency = 10.5;
+SELECT @@global.innodb_buf_dump_status_frequency;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_buf_dump_status_frequency = "abc";
+SELECT @@global.innodb_buf_dump_status_frequency;
+
+SET @@global.innodb_buf_dump_status_frequency = @start_innodb_buf_dump_status_frequency;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_buf_flush_list_now_basic.test b/mysql-test/suite/sys_vars/t/innodb_buf_flush_list_now_basic.test
new file mode 100644
index 00000000000..8a53b0a5770
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buf_flush_list_now_basic.test
@@ -0,0 +1,32 @@
+--echo #
+--echo # Basic test for innodb_buf_flush_list_now.
+--echo #
+
+--source include/have_innodb.inc
+
+# The config variable is a debug variable for now
+-- source include/have_debug.inc
+
+SELECT @@global.innodb_buf_flush_list_now;
+
+set global innodb_buf_flush_list_now = 1;
+
+SELECT @@global.innodb_buf_flush_list_now;
+
+set global innodb_buf_flush_list_now = 0;
+
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_buf_flush_list_now = dummy;
+
+--error ER_GLOBAL_VARIABLE
+set innodb_buf_flush_list_now = ON;
+
+--echo # Setting to ON is ok.
+set global innodb_buf_flush_list_now = ON;
+
+--echo # Setting to OFF is ok.
+set global innodb_buf_flush_list_now = OFF;
+
+--echo # Must always be 0.
+SELECT @@global.innodb_buf_flush_list_now;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test
new file mode 100644
index 00000000000..b69e856be5a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test
@@ -0,0 +1,42 @@
+#
+# Basic test for innodb_buffer_pool_dump_at_shutdown
+#
+
+-- source include/have_innodb.inc
+# include/restart_mysqld.inc does not work in embedded mode
+-- source include/not_embedded.inc
+
+# Check the default value
+SET @orig = @@global.innodb_buffer_pool_dump_at_shutdown;
+SELECT @orig;
+
+# Confirm that we can change the value
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = OFF;
+SELECT @@global.innodb_buffer_pool_dump_at_shutdown;
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = ON;
+SELECT @@global.innodb_buffer_pool_dump_at_shutdown;
+
+# Check the type
+
+-- error ER_WRONG_TYPE_FOR_VAR, ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = 12.34;
+
+-- error ER_WRONG_TYPE_FOR_VAR, ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = "string";
+
+-- error ER_WRONG_TYPE_FOR_VAR, ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = 5;
+
+# Confirm that the dump file is created at shutdown
+
+-- let $file = `SELECT CONCAT(@@datadir, @@global.innodb_buffer_pool_filename)`
+
+-- error 0,1
+-- remove_file $file
+
+-- error 1
+-- file_exists $file
+
+-- source include/restart_mysqld.inc
+
+-- file_exists $file
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_now_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_now_basic.test
new file mode 100644
index 00000000000..8c5f8fa7bf0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_now_basic.test
@@ -0,0 +1,48 @@
+#
+# Basic test for innodb_buffer_pool_dump_now
+#
+
+-- source include/have_innodb.inc
+
+# Check the default value
+SELECT @@global.innodb_buffer_pool_dump_now;
+
+-- let $file = `SELECT CONCAT(@@datadir, @@global.innodb_buffer_pool_filename)`
+-- error 0,1
+-- remove_file $file
+
+SELECT variable_value INTO @old_dump_status FROM information_schema.global_status
+ WHERE LOWER(variable_name) = 'innodb_buffer_pool_dump_status';
+
+# A previous test could have run buffer pool dump already;
+# in this case we want to make sure that the current time is different
+# from the timestamp in the status variable.
+# We should have had a smart wait condition here, like the commented one below,
+# let $wait_condition =
+# SELECT TRIM(SUBSTR('$old_status', -8)) != DATE_FORMAT(CURTIME(), '%k:%i:%s');
+# -- source include/wait_condition.inc
+
+# ... but we can't because of MDEV-9867, so there will be just sleep instead.
+# And it might be not enough to sleep one second, so we'll have to sleep two.
+
+if (`SELECT variable_value LIKE '%completed at%' FROM information_schema.global_status
+ WHERE LOWER(variable_name) = 'innodb_buffer_pool_dump_status'`)
+{
+ -- sleep 2
+}
+
+# Do the dump
+SET GLOBAL innodb_buffer_pool_dump_now = ON;
+# Should always be OFF
+SELECT @@global.innodb_buffer_pool_dump_now;
+
+# Wait for the dump to complete
+let $wait_condition =
+ SELECT variable_value != @old_dump_status
+ AND SUBSTR(variable_value, 1, 33) = 'Buffer pool(s) dump completed at '
+ FROM information_schema.global_status
+ WHERE LOWER(variable_name) = 'innodb_buffer_pool_dump_status';
+-- source include/wait_condition.inc
+
+# Confirm that the dump file has been created
+-- file_exists $file
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_pct_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_pct_basic.test
new file mode 100644
index 00000000000..1cf6775e06d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_pct_basic.test
@@ -0,0 +1,30 @@
+#
+# Basic test for innodb_buffer_pool_dump_pct
+#
+
+-- source include/have_innodb.inc
+
+# Check the default value
+SET @orig = @@global.innodb_buffer_pool_dump_pct;
+SELECT @orig;
+
+SET GLOBAL innodb_buffer_pool_dump_pct=3;
+
+--echo # Do the dump
+
+--disable_query_log
+--disable_result_log
+--source innodb_buffer_pool_dump_now_basic.test
+--enable_result_log
+--enable_query_log
+
+--disable_warnings
+SET GLOBAL innodb_buffer_pool_dump_pct=0;
+SELECT @@global.innodb_buffer_pool_dump_pct;
+SHOW WARNINGS;
+SET GLOBAL innodb_buffer_pool_dump_pct=101;
+SELECT @@global.innodb_buffer_pool_dump_pct;
+SHOW WARNINGS;
+--enable_warnings
+
+SET GLOBAL innodb_buffer_pool_dump_pct=@orig;
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_filename_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_filename_basic.test
new file mode 100644
index 00000000000..c50d2d66dff
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_filename_basic.test
@@ -0,0 +1,32 @@
+#
+# Basic test for innodb_buffer_pool_filename
+#
+
+-- source include/have_innodb.inc
+
+# Check the default value and save for later restoration
+SET @orig = @@global.innodb_buffer_pool_filename;
+SELECT @orig;
+
+let $old_val=query_get_value(SHOW STATUS LIKE 'innodb_buffer_pool_dump_status', Value, 1);
+sleep 1; # to ensure that the previous and the next dumps are at least a second apart
+
+# Try with a non-default filename
+
+SET GLOBAL innodb_buffer_pool_filename = 'innodb_foobar_dump';
+
+SET GLOBAL innodb_buffer_pool_dump_now = ON;
+-- let $file = `SELECT CONCAT(@@datadir, @@global.innodb_buffer_pool_filename)`
+
+# Wait for the dump to complete
+let $wait_condition =
+ SELECT variable_value LIKE 'Buffer pool(s) dump completed at %'
+ AND variable_value <> '$old_val'
+ FROM information_schema.global_status
+ WHERE variable_name = 'innodb_buffer_pool_dump_status';
+-- source include/wait_condition.inc
+
+-- file_exists $file
+
+# Restore the env
+SET GLOBAL innodb_buffer_pool_filename = @orig;
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_abort_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_abort_basic.test
new file mode 100644
index 00000000000..31a9d2ca25a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_abort_basic.test
@@ -0,0 +1,15 @@
+#
+# Basic test for innodb_buffer_pool_load_abort
+#
+
+-- source include/have_innodb.inc
+
+# Check the default value
+SET @orig = @@global.innodb_buffer_pool_load_abort;
+SELECT @orig;
+
+# Confirm that the value remains OFF after being set to ON
+
+SET GLOBAL innodb_buffer_pool_load_abort = ON;
+
+SELECT @@global.innodb_buffer_pool_load_abort;
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_at_startup_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_at_startup_basic.test
new file mode 100644
index 00000000000..efaffa091a6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_at_startup_basic.test
@@ -0,0 +1,15 @@
+#
+# Basic test for innodb_buffer_pool_load_at_startup
+#
+
+-- source include/have_innodb.inc
+
+# Check the default value
+SET @orig = @@global.innodb_buffer_pool_load_at_startup;
+SELECT @orig;
+
+# Confirm that we can not change the value
+-- error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL innodb_buffer_pool_load_at_startup = OFF;
+-- error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL innodb_buffer_pool_load_at_startup = ON;
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.opt b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.opt
new file mode 100644
index 00000000000..e462be3c368
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.opt
@@ -0,0 +1 @@
+--innodb-buffer-pool-load-at-startup=off
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.test
new file mode 100644
index 00000000000..abb78ce5260
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.test
@@ -0,0 +1,39 @@
+#
+# Basic test for innodb_buffer_pool_load_now
+#
+
+-- source include/have_innodb.inc
+
+# Check the default value
+SELECT @@global.innodb_buffer_pool_load_now;
+
+# Make sure there is a dump file to load
+
+-- let $file = `SELECT CONCAT(@@datadir, @@global.innodb_buffer_pool_filename)`
+-- error 0,1
+-- file_exists $file
+if ($errno)
+{
+ # Dump file does not exist, get it created
+ --disable_query_log
+ --disable_result_log
+ --source innodb_buffer_pool_dump_now_basic.test
+ --enable_result_log
+ --enable_query_log
+}
+
+# Load the dump
+SET GLOBAL innodb_buffer_pool_load_now = ON;
+
+# Wait for the load to complete
+let $wait_condition =
+ SELECT SUBSTR(variable_value, 1, 33) = 'Buffer pool(s) load completed at '
+ FROM information_schema.global_status
+ WHERE LOWER(variable_name) = 'innodb_buffer_pool_load_status';
+-- source include/wait_condition.inc
+
+# Show the status, interesting if the above timed out
+-- replace_regex /[0-9]{6}[[:space:]]+[0-9]{1,2}:[0-9]{2}:[0-9]{2}/TIMESTAMP_NOW/
+SELECT variable_value
+FROM information_schema.global_status
+WHERE LOWER(variable_name) = 'innodb_buffer_pool_load_status';
diff --git a/mysql-test/suite/sys_vars/t/innodb_change_buffer_max_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_change_buffer_max_size_basic.test
new file mode 100644
index 00000000000..5e081b1a0a4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_change_buffer_max_size_basic.test
@@ -0,0 +1,63 @@
+
+
+# 2011-02-09 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_change_buffer_max_size;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are between 0 and 50
+select @@global.innodb_change_buffer_max_size between 0 and 50;
+select @@global.innodb_change_buffer_max_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_change_buffer_max_size;
+show global variables like 'innodb_change_buffer_max_size';
+show session variables like 'innodb_change_buffer_max_size';
+select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+select * from information_schema.session_variables where variable_name='innodb_change_buffer_max_size';
+
+#
+# show that it's writable
+#
+set global innodb_change_buffer_max_size=10;
+select @@global.innodb_change_buffer_max_size;
+select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+select * from information_schema.session_variables where variable_name='innodb_change_buffer_max_size';
+--error ER_GLOBAL_VARIABLE
+set session innodb_change_buffer_max_size=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_change_buffer_max_size=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_change_buffer_max_size=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_change_buffer_max_size="foo";
+
+set global innodb_change_buffer_max_size=-7;
+select @@global.innodb_change_buffer_max_size;
+select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+set global innodb_change_buffer_max_size=56;
+select @@global.innodb_change_buffer_max_size;
+select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+
+#
+# min/max/DEFAULT values
+#
+set global innodb_change_buffer_max_size=0;
+select @@global.innodb_change_buffer_max_size;
+set global innodb_change_buffer_max_size=50;
+select @@global.innodb_change_buffer_max_size;
+set global innodb_change_buffer_max_size=DEFAULT;
+select @@global.innodb_change_buffer_max_size;
+
+
+SET @@global.innodb_change_buffer_max_size = @start_global_value;
+SELECT @@global.innodb_change_buffer_max_size;
diff --git a/mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test b/mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test
new file mode 100644
index 00000000000..e7098b7e3b3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test
@@ -0,0 +1,39 @@
+--source include/have_innodb.inc
+--source include/not_encrypted.inc
+
+# Check the default value
+SET @orig = @@global.innodb_checksum_algorithm;
+SELECT @orig;
+
+SET GLOBAL innodb_checksum_algorithm = 'crc32';
+SELECT @@global.innodb_checksum_algorithm;
+
+SET GLOBAL innodb_checksum_algorithm = 'strict_crc32';
+SELECT @@global.innodb_checksum_algorithm;
+
+SET GLOBAL innodb_checksum_algorithm = 'innodb';
+SELECT @@global.innodb_checksum_algorithm;
+
+SET GLOBAL innodb_checksum_algorithm = 'strict_innodb';
+SELECT @@global.innodb_checksum_algorithm;
+
+SET GLOBAL innodb_checksum_algorithm = 'none';
+SELECT @@global.innodb_checksum_algorithm;
+
+SET GLOBAL innodb_checksum_algorithm = 'strict_none';
+SELECT @@global.innodb_checksum_algorithm;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_checksum_algorithm = '';
+SELECT @@global.innodb_checksum_algorithm;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_checksum_algorithm = 'foobar';
+SELECT @@global.innodb_checksum_algorithm;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_checksum_algorithm = 123;
+SELECT @@global.innodb_checksum_algorithm;
+
+SET GLOBAL innodb_checksum_algorithm = @orig;
+SELECT @@global.innodb_checksum_algorithm;
diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test
new file mode 100644
index 00000000000..8e0af20a47e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test
@@ -0,0 +1,35 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_cleaner_eviction_factor;
+
+# Default value
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_cleaner_eviction_factor;
+
+# Correct values
+SET GLOBAL innodb_cleaner_eviction_factor='OFF';
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+SET GLOBAL innodb_cleaner_eviction_factor='ON';
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+SET GLOBAL innodb_cleaner_eviction_factor=0;
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+SET GLOBAL innodb_cleaner_eviction_factor=1;
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_eviction_factor=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_eviction_factor=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_cleaner_eviction_factor=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_cleaner_eviction_factor='foo';
+
+SET GLOBAL innodb_cleaner_eviction_factor = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_flush_chunk_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_flush_chunk_size_basic.test
new file mode 100644
index 00000000000..c65fc63c20f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_flush_chunk_size_basic.test
@@ -0,0 +1,33 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_cleaner_flush_chunk_size;
+
+# Default value
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_cleaner_flush_chunk_size;
+
+# Correct values
+SET GLOBAL innodb_cleaner_flush_chunk_size=1;
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+SET GLOBAL innodb_cleaner_flush_chunk_size=1000;
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+SET GLOBAL innodb_cleaner_flush_chunk_size=4294967295;
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+
+# Incorrect values
+SET GLOBAL innodb_cleaner_flush_chunk_size=0;
+SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_flush_chunk_size=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_flush_chunk_size=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_flush_chunk_size='foo';
+
+SET GLOBAL innodb_cleaner_flush_chunk_size = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_free_list_lwm_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_free_list_lwm_basic.test
new file mode 100644
index 00000000000..fa9d1e9f574
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_free_list_lwm_basic.test
@@ -0,0 +1,35 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_cleaner_free_list_lwm;
+
+# Default value
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_cleaner_free_list_lwm;
+
+# Correct values
+SET GLOBAL innodb_cleaner_free_list_lwm=0;
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+SET GLOBAL innodb_cleaner_free_list_lwm=1;
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+SET GLOBAL innodb_cleaner_free_list_lwm=99;
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+SET GLOBAL innodb_cleaner_free_list_lwm=100;
+SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
+
+# Incorrect values
+SET GLOBAL innodb_cleaner_free_list_lwm=101;
+SELECT @@innodb_cleaner_free_list_lwm;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_free_list_lwm=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_free_list_lwm=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_free_list_lwm='foo';
+
+SET GLOBAL innodb_cleaner_free_list_lwm = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_lru_chunk_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_lru_chunk_size_basic.test
new file mode 100644
index 00000000000..12da590446c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_lru_chunk_size_basic.test
@@ -0,0 +1,33 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_cleaner_lru_chunk_size;
+
+# Default value
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_cleaner_lru_chunk_size;
+
+# Correct values
+SET GLOBAL innodb_cleaner_lru_chunk_size=1;
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+SET GLOBAL innodb_cleaner_lru_chunk_size=1000;
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+SET GLOBAL innodb_cleaner_lru_chunk_size=4294967295;
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+
+# Incorrect values
+SET GLOBAL innodb_cleaner_lru_chunk_size=0;
+SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_lru_chunk_size=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_lru_chunk_size=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_lru_chunk_size='foo';
+
+SET GLOBAL innodb_cleaner_lru_chunk_size = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_lsn_age_factor_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_lsn_age_factor_basic.test
new file mode 100644
index 00000000000..b34fcc94494
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_lsn_age_factor_basic.test
@@ -0,0 +1,28 @@
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_cleaner_lsn_age_factor;
+
+# Default value
+SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_cleaner_lsn_age_factor;
+
+# Correct values
+SET GLOBAL innodb_cleaner_lsn_age_factor='legacy';
+SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
+SET GLOBAL innodb_cleaner_lsn_age_factor='high_checkpoint';
+SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_lsn_age_factor=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_lsn_age_factor=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_cleaner_lsn_age_factor='foo';
+
+SET GLOBAL innodb_cleaner_lsn_age_factor = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_max_flush_time_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_max_flush_time_basic.test
new file mode 100644
index 00000000000..283c651d0c5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_max_flush_time_basic.test
@@ -0,0 +1,31 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_cleaner_max_flush_time;
+
+# Default value
+SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_cleaner_max_flush_time;
+
+# Correct values
+SET GLOBAL innodb_cleaner_max_flush_time=0;
+SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
+SET GLOBAL innodb_cleaner_max_flush_time=1000;
+SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
+SET GLOBAL innodb_cleaner_max_flush_time=4294967295;
+SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_max_flush_time=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_max_flush_time=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_max_flush_time='foo';
+
+SET GLOBAL innodb_cleaner_max_flush_time = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_max_lru_time_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_max_lru_time_basic.test
new file mode 100644
index 00000000000..d0621e77df3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_max_lru_time_basic.test
@@ -0,0 +1,31 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_cleaner_max_lru_time;
+
+# Default value
+SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_cleaner_max_lru_time;
+
+# Correct values
+SET GLOBAL innodb_cleaner_max_lru_time=0;
+SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
+SET GLOBAL innodb_cleaner_max_lru_time=1000;
+SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
+SET GLOBAL innodb_cleaner_max_lru_time=4294967295;
+SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_max_lru_time=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_max_lru_time=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_max_lru_time='foo';
+
+SET GLOBAL innodb_cleaner_max_lru_time = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test b/mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test
new file mode 100644
index 00000000000..d729acea02c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test
@@ -0,0 +1,69 @@
+-- source include/have_innodb.inc
+# CREATE TABLE ... KEY_BLOCK_SIZE=8; does not work with page size = 4k
+-- source include/have_innodb_16k.inc
+
+# Check the default value
+SELECT @@global.innodb_cmp_per_index_enabled;
+
+# should be a boolean
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_stats_persistent=123;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_stats_persistent='foo';
+
+# Check that changing value works and that setting the same value again
+# is as expected
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+SELECT @@global.innodb_cmp_per_index_enabled;
+
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+SELECT @@global.innodb_cmp_per_index_enabled;
+
+SET GLOBAL innodb_cmp_per_index_enabled=OFF;
+SELECT @@global.innodb_cmp_per_index_enabled;
+
+SET GLOBAL innodb_cmp_per_index_enabled=OFF;
+SELECT @@global.innodb_cmp_per_index_enabled;
+
+SET GLOBAL innodb_file_format=Barracuda;
+
+-- vertical_results
+
+# Check that enabling after being disabled resets the stats
+
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+
+CREATE TABLE t (a INT) ENGINE=INNODB KEY_BLOCK_SIZE=8;
+
+INSERT INTO t VALUES (1);
+
+SELECT * FROM information_schema.innodb_cmp_per_index;
+
+SET GLOBAL innodb_cmp_per_index_enabled=OFF;
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+
+SELECT * FROM information_schema.innodb_cmp_per_index;
+
+DROP TABLE t;
+
+# Check that enabling after being enabled does not reset the stats
+
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+
+CREATE TABLE t (a INT) ENGINE=INNODB KEY_BLOCK_SIZE=8;
+
+INSERT INTO t VALUES (1);
+
+SELECT * FROM information_schema.innodb_cmp_per_index;
+
+SET GLOBAL innodb_cmp_per_index_enabled=ON;
+
+SELECT * FROM information_schema.innodb_cmp_per_index;
+
+DROP TABLE t;
+
+#
+
+SET GLOBAL innodb_file_format=default;
+SET GLOBAL innodb_cmp_per_index_enabled=default;
diff --git a/mysql-test/suite/sys_vars/t/innodb_compression_algorithm_basic-master.opt b/mysql-test/suite/sys_vars/t/innodb_compression_algorithm_basic-master.opt
new file mode 100644
index 00000000000..77db41721ca
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_compression_algorithm_basic-master.opt
@@ -0,0 +1 @@
+--innodb-compression-algorithm=1 \ No newline at end of file
diff --git a/mysql-test/suite/sys_vars/t/innodb_compression_algorithm_basic.test b/mysql-test/suite/sys_vars/t/innodb_compression_algorithm_basic.test
new file mode 100644
index 00000000000..6f09ced7dd5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_compression_algorithm_basic.test
@@ -0,0 +1,46 @@
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_compression_algorithm;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+select @@global.innodb_compression_algorithm;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_compression_algorithm;
+show global variables like 'innodb_compression_algorithm';
+show session variables like 'innodb_compression_algorithm';
+select * from information_schema.global_variables where variable_name='innodb_compression_algorithm';
+select * from information_schema.session_variables where variable_name='innodb_compression_algorithm';
+
+#
+# show that it's writable
+#
+set global innodb_compression_algorithm=1;
+select @@global.innodb_compression_algorithm;
+select * from information_schema.global_variables where variable_name='innodb_compression_algorithm';
+select * from information_schema.session_variables where variable_name='innodb_compression_algorithm';
+--error ER_GLOBAL_VARIABLE
+set session innodb_compression_algorithm=0;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_compression_algorithm=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_compression_algorithm=1e1;
+--error 1231
+set global innodb_compression_algorithm="foo";
+#
+# min/max values
+#
+set global innodb_compression_algorithm=0;
+select @@global.innodb_compression_algorithm;
+#
+# cleanup
+#
+
+SET @@global.innodb_compression_algorithm = @start_global_value;
+SELECT @@global.innodb_compression_algorithm;
diff --git a/mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test b/mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test
new file mode 100644
index 00000000000..1cdfaa6b31d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test
@@ -0,0 +1,143 @@
+##### mysql-test\t\innodb_compression_failure_threshold_pct_basic.test ########
+# #
+# Variable Name: innodb_compression_failure_threshold_pct #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 5 #
+# Range: 0-100 #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Rizwan #
+# #
+#Description: Test Cases of Dynamic System Variable #
+# innodb_compression_failure_threshold_pct #
+# that checks the behavior of #
+# this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+--source include/have_innodb.inc
+--source include/load_sysvars.inc
+
+######################################################################
+# START OF innodb_compression_failure_threshold_pct TESTS #
+######################################################################
+
+
+############################################################################################
+# Saving initial value of innodb_compression_failure_threshold_pct in a temporary variable #
+############################################################################################
+
+SET @global_start_value = @@global.innodb_compression_failure_threshold_pct;
+SELECT @global_start_value;
+
+--echo '#--------------------FN_DYNVARS_046_01------------------------#'
+########################################################################
+# Display the DEFAULT value of innodb_compression_failure_threshold_pct#
+########################################################################
+
+SET @@global.innodb_compression_failure_threshold_pct = 0;
+SET @@global.innodb_compression_failure_threshold_pct = DEFAULT;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
+##############################################################################################
+# check if innodb_compression_failure_threshold_pct can be accessed with and without @@ sign #
+##############################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET innodb_compression_failure_threshold_pct = 1;
+SELECT @@innodb_compression_failure_threshold_pct;
+
+--Error ER_UNKNOWN_TABLE
+SELECT local.innodb_compression_failure_threshold_pct;
+
+SET global innodb_compression_failure_threshold_pct = 0;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+--echo '#--------------------FN_DYNVARS_046_03------------------------#'
+#################################################################################
+# change the value of innodb_compression_failure_threshold_pct to a valid value #
+#################################################################################
+
+SET @@global.innodb_compression_failure_threshold_pct = 0;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+SET @@global.innodb_compression_failure_threshold_pct = 1;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+SET @@global.innodb_compression_failure_threshold_pct = 100;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
+################################################################################
+# Cange the value of innodb_compression_failure_threshold_pct to invalid value #
+################################################################################
+
+SET @@global.innodb_compression_failure_threshold_pct = -1;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_failure_threshold_pct = "T";
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_failure_threshold_pct = "Y";
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+SET @@global.innodb_compression_failure_threshold_pct = 101;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+
+--echo '#----------------------FN_DYNVARS_046_05------------------------#'
+#########################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#########################################################################
+
+SELECT @@global.innodb_compression_failure_threshold_pct =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_compression_failure_threshold_pct';
+SELECT @@global.innodb_compression_failure_threshold_pct;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_compression_failure_threshold_pct';
+
+--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_failure_threshold_pct = OFF;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_failure_threshold_pct = ON;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+--echo '#---------------------FN_DYNVARS_046_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.innodb_compression_failure_threshold_pct = TRUE;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+SET @@global.innodb_compression_failure_threshold_pct = FALSE;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.innodb_compression_failure_threshold_pct = @global_start_value;
+SELECT @@global.innodb_compression_failure_threshold_pct;
+
+###############################################################
+# END OF innodb_compression_failure_threshold_pct TESTS #
+###############################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test b/mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test
new file mode 100644
index 00000000000..a90abdde2f1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test
@@ -0,0 +1,64 @@
+
+
+# 2012-05-29 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_compression_level;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid value 0-9
+select @@global.innodb_compression_level <= 9;
+select @@global.innodb_compression_level;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_compression_level;
+show global variables like 'innodb_compression_level';
+show session variables like 'innodb_compression_level';
+select * from information_schema.global_variables where variable_name='innodb_compression_level';
+select * from information_schema.session_variables where variable_name='innodb_compression_level';
+
+#
+# show that it's writable
+#
+set global innodb_compression_level=2;
+select @@global.innodb_compression_level;
+select * from information_schema.global_variables where variable_name='innodb_compression_level';
+select * from information_schema.session_variables where variable_name='innodb_compression_level';
+--error ER_GLOBAL_VARIABLE
+set session innodb_compression_level=4;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_compression_level=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_compression_level=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_compression_level="foo";
+
+set global innodb_compression_level=10;
+select @@global.innodb_compression_level;
+select * from information_schema.global_variables where variable_name='innodb_compression_level';
+set global innodb_compression_level=-7;
+select @@global.innodb_compression_level;
+select * from information_schema.global_variables where variable_name='innodb_compression_level';
+
+#
+# min/max values
+#
+set global innodb_compression_level=0;
+select @@global.innodb_compression_level;
+set global innodb_compression_level=9;
+select @@global.innodb_compression_level;
+
+#
+# cleanup
+#
+
+SET @@global.innodb_compression_level = @start_global_value;
+SELECT @@global.innodb_compression_level;
diff --git a/mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test b/mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test
new file mode 100644
index 00000000000..3ca566956ef
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test
@@ -0,0 +1,136 @@
+############# mysql-test\t\innodb_compression_pad_pct_max_basic.test ##########
+# #
+# Variable Name: innodb_compression_pad_pct_max #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 50 #
+# Range: 0-75 #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Rizwan #
+# #
+#Description: Test Cases of Dynamic System Variable #
+# innodb_compression_pad_pct_max #
+# that checks the behavior of #
+# this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+--source include/have_innodb.inc
+--source include/load_sysvars.inc
+
+######################################################################
+# START OF innodb_compression_pad_pct_max TESTS #
+######################################################################
+
+
+############################################################################################
+# Saving initial value of innodb_compression_pad_pct_max in a temporary variable #
+############################################################################################
+
+SET @global_start_value = @@global.innodb_compression_pad_pct_max;
+SELECT @global_start_value;
+
+--echo '#--------------------FN_DYNVARS_046_01------------------------#'
+########################################################################
+# Display the DEFAULT value of innodb_compression_pad_pct_max #
+########################################################################
+
+SET @@global.innodb_compression_pad_pct_max = DEFAULT;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
+##############################################################################################
+# check if innodb_compression_pad_pct_max can be accessed with and without @@ sign #
+##############################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET innodb_compression_pad_pct_max = 1;
+SELECT @@innodb_compression_pad_pct_max;
+
+--Error ER_UNKNOWN_TABLE
+SELECT local.innodb_compression_pad_pct_max;
+
+SET global innodb_compression_pad_pct_max = 0;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+--echo '#--------------------FN_DYNVARS_046_03------------------------#'
+#################################################################################
+# change the value of innodb_compression_pad_pct_max to a valid value #
+#################################################################################
+
+SET @@global.innodb_compression_pad_pct_max = 0;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+SET @@global.innodb_compression_pad_pct_max = 75;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
+################################################################################
+# Cange the value of innodb_compression_pad_pct_max to invalid value #
+################################################################################
+
+SET @@global.innodb_compression_pad_pct_max = -1;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_pad_pct_max = "T";
+SELECT @@global.innodb_compression_pad_pct_max;
+
+SET @@global.innodb_compression_pad_pct_max = 76;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+
+--echo '#----------------------FN_DYNVARS_046_05------------------------#'
+#########################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#########################################################################
+
+SELECT @@global.innodb_compression_pad_pct_max =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_compression_pad_pct_max';
+SELECT @@global.innodb_compression_pad_pct_max;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_compression_pad_pct_max';
+
+--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_pad_pct_max = OFF;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_pad_pct_max = ON;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+--echo '#---------------------FN_DYNVARS_046_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.innodb_compression_pad_pct_max = TRUE;
+SELECT @@global.innodb_compression_pad_pct_max;
+SET @@global.innodb_compression_pad_pct_max = FALSE;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.innodb_compression_pad_pct_max = @global_start_value;
+SELECT @@global.innodb_compression_pad_pct_max;
+
+###############################################################
+# END OF innodb_compression_pad_pct_max TESTS #
+###############################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test b/mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test
index 67b0247d169..f73e25179ba 100644
--- a/mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test
@@ -4,7 +4,7 @@
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Numeric #
-# Default Value: 500 #
+# Default Value: 5000 #
# Range: 1-4294967295 #
# #
# #
diff --git a/mysql-test/suite/sys_vars/t/innodb_debug_force_scrubbing_basic.test b/mysql-test/suite/sys_vars/t/innodb_debug_force_scrubbing_basic.test
new file mode 100644
index 00000000000..cc00f0f6f3d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_debug_force_scrubbing_basic.test
@@ -0,0 +1,42 @@
+# bool global
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+SET @start_global_value = @@global.innodb_debug_force_scrubbing;
+
+--echo #
+--echo # exists as global only
+--echo #
+select @@global.innodb_debug_force_scrubbing;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_debug_force_scrubbing;
+show global variables like 'innodb_debug_force_scrubbing';
+show session variables like 'innodb_debug_force_scrubbing';
+select * from information_schema.global_variables
+where variable_name='innodb_debug_force_scrubbing';
+select * from information_schema.session_variables
+where variable_name='innodb_debug_force_scrubbing';
+
+--echo #
+--echo # show that it's writable
+--echo #
+set global innodb_debug_force_scrubbing=ON;
+select @@global.innodb_debug_force_scrubbing;
+set global innodb_debug_force_scrubbing=OFF;
+select @@global.innodb_debug_force_scrubbing;
+set global innodb_debug_force_scrubbing=1;
+select @@global.innodb_debug_force_scrubbing;
+--error ER_GLOBAL_VARIABLE
+set session innodb_debug_force_scrubbing=1;
+
+--echo #
+--echo # incorrect types
+--echo #
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_debug_force_scrubbing=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_debug_force_scrubbing=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_debug_force_scrubbing="foo";
+
+SET @@global.innodb_debug_force_scrubbing = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_default_row_format_basic.test b/mysql-test/suite/sys_vars/t/innodb_default_row_format_basic.test
new file mode 100644
index 00000000000..f9aabf49ba4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_default_row_format_basic.test
@@ -0,0 +1,41 @@
+--source include/have_innodb.inc
+
+# Check the default value
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 'redundant';
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 'dynamic';
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 'compact';
+SELECT @@global.innodb_default_row_format;
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_default_row_format = 'compressed';
+SELECT @@global.innodb_default_row_format;
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_default_row_format = 'foobar';
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 0;
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 1;
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 2;
+SELECT @@global.innodb_default_row_format;
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_default_row_format = 3;
+SELECT @@global.innodb_default_row_format;
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_default_row_format = 123;
+SELECT @@global.innodb_default_row_format;
+
+
+SET GLOBAL innodb_default_row_format = default;
diff --git a/mysql-test/suite/sys_vars/t/innodb_defragment_basic.test b/mysql-test/suite/sys_vars/t/innodb_defragment_basic.test
new file mode 100644
index 00000000000..9667f63f687
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_defragment_basic.test
@@ -0,0 +1,20 @@
+-- source include/have_innodb.inc
+
+# Check the default value
+SET @orig = @@global.innodb_defragment;
+SELECT @orig;
+
+# Turn off
+SET GLOBAL innodb_defragment = OFF;
+SELECT @@global.innodb_defragment;
+
+# Turn on
+SET GLOBAL innodb_defragment = ON;
+SELECT @@global.innodb_defragment;
+
+# Wrong value
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_defragment = 100;
+SELECT @@global.innodb_defragment;
+
+SET GLOBAL innodb_defragment = @orig;
diff --git a/mysql-test/suite/sys_vars/t/innodb_defragment_fill_factor_basic.test b/mysql-test/suite/sys_vars/t/innodb_defragment_fill_factor_basic.test
new file mode 100644
index 00000000000..ae9863e806a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_defragment_fill_factor_basic.test
@@ -0,0 +1,27 @@
+--source include/have_innodb.inc
+
+SET @start_innodb_defragment_fill_factor = @@global.innodb_defragment_fill_factor;
+SELECT @start_innodb_defragment_fill_factor;
+
+SELECT COUNT(@@global.innodb_defragment_fill_factor);
+
+SET @@global.innodb_defragment_fill_factor = 0.77777777777777;
+SELECT @@global.innodb_defragment_fill_factor;
+
+SET @@global.innodb_defragment_fill_factor = 1;
+SELECT @@global.innodb_defragment_fill_factor;
+
+SET @@global.innodb_defragment_fill_factor = 0.7;
+SELECT @@global.innodb_defragment_fill_factor;
+
+SET @@global.innodb_defragment_fill_factor = -1;
+SELECT @@global.innodb_defragment_fill_factor;
+
+SET @@global.innodb_defragment_fill_factor = 2;
+SELECT @@global.innodb_defragment_fill_factor;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_defragment_fill_factor = "abc";
+SELECT @@global.innodb_defragment_fill_factor;
+
+SET @@global.innodb_defragment_fill_factor = @start_innodb_defragment_fill_factor;
diff --git a/mysql-test/suite/sys_vars/t/innodb_defragment_fill_factor_n_recs_basic.test b/mysql-test/suite/sys_vars/t/innodb_defragment_fill_factor_n_recs_basic.test
new file mode 100644
index 00000000000..366817c4bbc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_defragment_fill_factor_n_recs_basic.test
@@ -0,0 +1,31 @@
+--source include/have_innodb.inc
+
+SET @start_innodb_defragment_fill_factor_n_recs = @@global.innodb_defragment_fill_factor_n_recs;
+SELECT @start_innodb_defragment_fill_factor_n_recs;
+
+SELECT COUNT(@@global.innodb_defragment_fill_factor_n_recs);
+
+SET @@global.innodb_defragment_fill_factor_n_recs = 50;
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+
+SET @@global.innodb_defragment_fill_factor_n_recs = 100;
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+
+SET @@global.innodb_defragment_fill_factor_n_recs = 1;
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+
+SET @@global.innodb_defragment_fill_factor_n_recs = -1;
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+
+SET @@global.innodb_defragment_fill_factor_n_recs = 10000;
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_defragment_fill_factor_n_recs = 10.5;
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_defragment_fill_factor_n_recs = "abc";
+SELECT @@global.innodb_defragment_fill_factor_n_recs;
+
+SET @@global.innodb_defragment_fill_factor_n_recs = @start_innodb_defragment_fill_factor_n_recs;
diff --git a/mysql-test/suite/sys_vars/t/innodb_defragment_frequency_basic.test b/mysql-test/suite/sys_vars/t/innodb_defragment_frequency_basic.test
new file mode 100644
index 00000000000..3ab45744a9c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_defragment_frequency_basic.test
@@ -0,0 +1,37 @@
+--source include/have_innodb.inc
+
+SET @start_innodb_defragment_frequency = @@global.innodb_defragment_frequency;
+SELECT @start_innodb_defragment_frequency;
+
+SELECT COUNT(@@global.innodb_defragment_frequency);
+
+# test valid value
+SET @@global.innodb_defragment_frequency = 200;
+SELECT @@global.innodb_defragment_frequency;
+
+# test valid min
+SET @@global.innodb_defragment_frequency = 1;
+SELECT @@global.innodb_defragment_frequency;
+
+# test valid max
+SET @@global.innodb_defragment_frequency = 1000;
+SELECT @@global.innodb_defragment_frequency;
+
+# test invalid value < min
+SET @@global.innodb_defragment_frequency = -1;
+SELECT @@global.innodb_defragment_frequency;
+
+# test invalid value > max
+SET @@global.innodb_defragment_frequency = 10000;
+SELECT @@global.innodb_defragment_frequency;
+
+# test wrong type
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_defragment_frequency = 10.5;
+SELECT @@global.innodb_defragment_frequency;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_defragment_frequency = "abc";
+SELECT @@global.innodb_defragment_frequency;
+
+SET @@global.innodb_defragment_frequency = @start_innodb_defragment_frequency;
diff --git a/mysql-test/suite/sys_vars/t/innodb_defragment_n_pages_basic.test b/mysql-test/suite/sys_vars/t/innodb_defragment_n_pages_basic.test
new file mode 100644
index 00000000000..64aa20a615f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_defragment_n_pages_basic.test
@@ -0,0 +1,22 @@
+--source include/have_innodb.inc
+
+SET @start_innodb_defragment_n_pages = @@global.innodb_defragment_n_pages;
+SELECT @start_innodb_defragment_n_pages;
+
+SELECT COUNT(@@global.innodb_defragment_n_pages);
+
+SET @@global.innodb_defragment_n_pages = 1;
+SELECT @@global.innodb_defragment_n_pages;
+
+SET @@global.innodb_defragment_n_pages = 2;
+SELECT @@global.innodb_defragment_n_pages;
+
+SET @@global.innodb_defragment_n_pages = 32;
+SELECT @@global.innodb_defragment_n_pages;
+
+SET @@global.innodb_defragment_n_pages = 64;
+SELECT @@global.innodb_defragment_n_pages;
+
+SET @@global.innodb_defragment_n_pages = @start_innodb_defragment_n_pages;
+
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_defragment_stats_accuracy_basic.test b/mysql-test/suite/sys_vars/t/innodb_defragment_stats_accuracy_basic.test
new file mode 100644
index 00000000000..062753f27ea
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_defragment_stats_accuracy_basic.test
@@ -0,0 +1,24 @@
+--source include/have_innodb.inc
+
+SET @start_innodb_defragment_stats_accuracy = @@global.innodb_defragment_stats_accuracy;
+SELECT @start_innodb_defragment_stats_accuracy;
+
+SELECT COUNT(@@global.innodb_defragment_stats_accuracy);
+
+SET @@global.innodb_defragment_stats_accuracy = 1;
+SELECT @@global.innodb_defragment_stats_accuracy;
+
+SET @@global.innodb_defragment_stats_accuracy = 1000;
+SELECT @@global.innodb_defragment_stats_accuracy;
+
+SET @@global.innodb_defragment_stats_accuracy = -1;
+SELECT @@global.innodb_defragment_stats_accuracy;
+
+SET @@global.innodb_defragment_stats_accuracy = 1000000000000;
+SELECT @@global.innodb_defragment_stats_accuracy;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_defragment_stats_accuracy = "abc";
+SELECT @@global.innodb_defragment_stats_accuracy;
+
+SET @@global.innodb_defragment_stats_accuracy = @start_innodb_defragment_stats_accuracy;
diff --git a/mysql-test/suite/sys_vars/t/innodb_disable_background_merge_basic.test b/mysql-test/suite/sys_vars/t/innodb_disable_background_merge_basic.test
new file mode 100644
index 00000000000..9ab1a90efe1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_disable_background_merge_basic.test
@@ -0,0 +1,12 @@
+#
+# Basic test for innodb_disable_background_merge.
+#
+
+-- source include/have_innodb.inc
+
+# The config variable is a debug variable
+-- source include/have_debug.inc
+
+# Check the default value
+SET @orig = @@global.innodb_disable_background_merge;
+SELECT @orig;
diff --git a/mysql-test/suite/sys_vars/t/innodb_disable_sort_file_cache_basic.test b/mysql-test/suite/sys_vars/t/innodb_disable_sort_file_cache_basic.test
new file mode 100644
index 00000000000..62b499f03b0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_disable_sort_file_cache_basic.test
@@ -0,0 +1,70 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_disable_sort_file_cache;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_disable_sort_file_cache in (0, 1);
+select @@global.innodb_disable_sort_file_cache;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_disable_sort_file_cache;
+show global variables like 'innodb_disable_sort_file_cache';
+show session variables like 'innodb_disable_sort_file_cache';
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+
+#
+# show that it's writable
+#
+set global innodb_disable_sort_file_cache='OFF';
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+set @@global.innodb_disable_sort_file_cache=1;
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+set global innodb_disable_sort_file_cache=0;
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+set @@global.innodb_disable_sort_file_cache='ON';
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+--error ER_GLOBAL_VARIABLE
+set session innodb_disable_sort_file_cache='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_disable_sort_file_cache='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_disable_sort_file_cache=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_disable_sort_file_cache=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_disable_sort_file_cache=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_disable_sort_file_cache=-3;
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_disable_sort_file_cache='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_disable_sort_file_cache = @start_global_value;
+SELECT @@global.innodb_disable_sort_file_cache;
diff --git a/mysql-test/suite/sys_vars/t/innodb_disallow_writes_basic.test b/mysql-test/suite/sys_vars/t/innodb_disallow_writes_basic.test
new file mode 100644
index 00000000000..b8e5c127377
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_disallow_writes_basic.test
@@ -0,0 +1,42 @@
+--source include/have_innodb_disallow_writes.inc
+
+--echo #
+--echo # innodb_disallow_writes
+--echo #
+
+--echo # save the initial value
+SET @innodb_disallow_writes_global_saved = @@global.innodb_disallow_writes;
+
+--echo # default
+SELECT @@global.innodb_disallow_writes;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_disallow_writes;
+SET @@global.innodb_disallow_writes=OFF;
+SELECT @@global.innodb_disallow_writes;
+SET @@global.innodb_disallow_writes=ON;
+SELECT @@global.innodb_disallow_writes;
+
+--echo
+--echo # valid values
+SET @@global.innodb_disallow_writes='OFF';
+SELECT @@global.innodb_disallow_writes;
+SET @@global.innodb_disallow_writes=ON;
+SELECT @@global.innodb_disallow_writes;
+SET @@global.innodb_disallow_writes=default;
+SELECT @@global.innodb_disallow_writes;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.innodb_disallow_writes=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.innodb_disallow_writes='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.innodb_disallow_writes = @innodb_disallow_writes_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test
new file mode 100644
index 00000000000..ccdab532737
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test
@@ -0,0 +1,22 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+#
+# exists as global only
+#
+select @@global.innodb_doublewrite_batch_size between 1 and 127;
+select @@global.innodb_doublewrite_batch_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_doublewrite_batch_size;
+show global variables like 'innodb_doublewrite_batch_size';
+show session variables like 'innodb_doublewrite_batch_size';
+select * from information_schema.global_variables where variable_name='innodb_doublewrite_batch_size';
+select * from information_schema.session_variables where variable_name='innodb_doublewrite_batch_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_doublewrite_batch_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set @@session.innodb_doublewrite_batch_size='some';
diff --git a/mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.opt b/mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.opt
new file mode 100644
index 00000000000..c788dc76ac7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.opt
@@ -0,0 +1 @@
+--loose-innodb-buffer-pool-size=20M
diff --git a/mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.test b/mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.test
new file mode 100644
index 00000000000..6bb34f36a4f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.test
@@ -0,0 +1,30 @@
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_empty_free_list_algorithm;
+
+# Default value
+SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_empty_free_list_algorithm;
+
+# Correct values
+SET GLOBAL innodb_empty_free_list_algorithm='legacy';
+SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
+SET GLOBAL innodb_empty_free_list_algorithm='backoff';
+SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_empty_free_list_algorithm=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_empty_free_list_algorithm=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_empty_free_list_algorithm=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_empty_free_list_algorithm='foo';
+
+SET GLOBAL innodb_empty_free_list_algorithm = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_encrypt_log_basic.test b/mysql-test/suite/sys_vars/t/innodb_encrypt_log_basic.test
new file mode 100644
index 00000000000..775e8a3b944
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_encrypt_log_basic.test
@@ -0,0 +1,50 @@
+--source include/have_innodb.inc
+
+# Display default value
+SELECT @@GLOBAL.innodb_encrypt_log;
+--echo 0 Expected
+
+# Check if value can be set
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_encrypt_log=1;
+--echo Expected error 'Read only variable'
+
+SELECT @@GLOBAL.innodb_encrypt_log;
+--echo 0 Expected
+
+# Check if the value in GLOBAL TABLE matches value in variable
+SELECT IF(@@GLOBAL.innodb_encrypt_log, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_encrypt_log';
+--echo 1 Expected
+
+SELECT @@GLOBAL.innodb_encrypt_log;
+--echo 0 Expected
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_encrypt_log';
+--echo 0 Expected
+
+# Check if accessing variable with and without GLOBAL point to same variable
+SELECT @@innodb_encrypt_log = @@GLOBAL.innodb_encrypt_log;
+--echo 1 Expected
+
+# Check if innodb_encrypt_log can be accessed with and without @@ sign
+SELECT @@innodb_encrypt_log;
+--echo 0 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_encrypt_log);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_encrypt_log);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT @@GLOBAL.innodb_encrypt_log;
+--echo 0 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_encrypt_log;
+--echo Expected error 'Unknown column in field list'
diff --git a/mysql-test/suite/sys_vars/t/innodb_encrypt_tables_basic.test b/mysql-test/suite/sys_vars/t/innodb_encrypt_tables_basic.test
new file mode 100644
index 00000000000..555b67f2a28
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_encrypt_tables_basic.test
@@ -0,0 +1,44 @@
+# bool global
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_encrypt_tables;
+
+#
+# exists as global only
+#
+select @@global.innodb_encrypt_tables;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_encrypt_tables;
+show global variables like 'innodb_encrypt_tables';
+show session variables like 'innodb_encrypt_tables';
+select * from information_schema.global_variables
+where variable_name='innodb_encrypt_tables';
+select * from information_schema.session_variables
+where variable_name='innodb_encrypt_tables';
+
+#
+# show that it's writable
+#
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_encrypt_tables=ON;
+show warnings;
+select @@global.innodb_encrypt_tables;
+set global innodb_encrypt_tables=OFF;
+select @@global.innodb_encrypt_tables;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_encrypt_tables=1;
+select @@global.innodb_encrypt_tables;
+--error ER_GLOBAL_VARIABLE
+set session innodb_encrypt_tables=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encrypt_tables=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encrypt_tables=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_encrypt_tables="foo";
+
+SET @@global.innodb_encrypt_tables = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_encryption_rotate_key_age_basic.test b/mysql-test/suite/sys_vars/t/innodb_encryption_rotate_key_age_basic.test
new file mode 100644
index 00000000000..51112886130
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_encryption_rotate_key_age_basic.test
@@ -0,0 +1,41 @@
+# bool global
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_encryption_rotate_key_age;
+
+#
+# exists as global only
+#
+select @@global.innodb_encryption_rotate_key_age;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_encryption_rotate_key_age;
+show global variables like 'innodb_encryption_rotate_key_age';
+show session variables like 'innodb_encryption_rotate_key_age';
+select * from information_schema.global_variables
+where variable_name='innodb_encryption_rotate_key_age';
+select * from information_schema.session_variables
+where variable_name='innodb_encryption_rotate_key_age';
+
+#
+# show that it's writable
+#
+set global innodb_encryption_rotate_key_age=1;
+select @@global.innodb_encryption_rotate_key_age;
+set global innodb_encryption_rotate_key_age=2;
+select @@global.innodb_encryption_rotate_key_age;
+set global innodb_encryption_rotate_key_age=1;
+select @@global.innodb_encryption_rotate_key_age;
+--error ER_GLOBAL_VARIABLE
+set session innodb_encryption_rotate_key_age=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encryption_rotate_key_age=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encryption_rotate_key_age=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encryption_rotate_key_age="foo";
+
+SET @@global.innodb_encryption_rotate_key_age = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_encryption_rotation_iops_basic.test b/mysql-test/suite/sys_vars/t/innodb_encryption_rotation_iops_basic.test
new file mode 100644
index 00000000000..cdbada6c5c8
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_encryption_rotation_iops_basic.test
@@ -0,0 +1,41 @@
+# bool global
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_encryption_rotation_iops;
+
+#
+# exists as global only
+#
+select @@global.innodb_encryption_rotation_iops;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_encryption_rotation_iops;
+show global variables like 'innodb_encryption_rotation_iops';
+show session variables like 'innodb_encryption_rotation_iops';
+select * from information_schema.global_variables
+where variable_name='innodb_encryption_rotation_iops';
+select * from information_schema.session_variables
+where variable_name='innodb_encryption_rotation_iops';
+
+#
+# show that it's writable
+#
+set global innodb_encryption_rotation_iops=100;
+select @@global.innodb_encryption_rotation_iops;
+set global innodb_encryption_rotation_iops=50;
+select @@global.innodb_encryption_rotation_iops;
+set global innodb_encryption_rotation_iops=100;
+select @@global.innodb_encryption_rotation_iops;
+--error ER_GLOBAL_VARIABLE
+set session innodb_encryption_rotation_iops=50;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encryption_rotation_iops=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encryption_rotation_iops=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encryption_rotation_iops="foo";
+
+SET @@global.innodb_encryption_rotation_iops = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_encryption_threads_basic.test b/mysql-test/suite/sys_vars/t/innodb_encryption_threads_basic.test
new file mode 100644
index 00000000000..c3e163faef4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_encryption_threads_basic.test
@@ -0,0 +1,41 @@
+# bool global
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_encryption_threads;
+
+#
+# exists as global only
+#
+select @@global.innodb_encryption_threads;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_encryption_threads;
+show global variables like 'innodb_encryption_threads';
+show session variables like 'innodb_encryption_threads';
+select * from information_schema.global_variables
+where variable_name='innodb_encryption_threads';
+select * from information_schema.session_variables
+where variable_name='innodb_encryption_threads';
+
+#
+# show that it's writable
+#
+set global innodb_encryption_threads=0;
+select @@global.innodb_encryption_threads;
+set global innodb_encryption_threads=5;
+select @@global.innodb_encryption_threads;
+set global innodb_encryption_threads=1;
+select @@global.innodb_encryption_threads;
+--error ER_GLOBAL_VARIABLE
+set session innodb_encryption_threads=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encryption_threads=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encryption_threads=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_encryption_threads="foo";
+
+SET @@global.innodb_encryption_threads = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold-master.opt b/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold-master.opt
new file mode 100644
index 00000000000..51d18e632be
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold-master.opt
@@ -0,0 +1 @@
+--innodb-fatal-semaphore-wait-threshold=1
diff --git a/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test b/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test
new file mode 100644
index 00000000000..9493536bc59
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test
@@ -0,0 +1,120 @@
+# Only test in debug mode since DBUG_EXECUTE_IF is used
+--source include/have_debug.inc
+
+# Can't test this with embedded server
+--source include/not_embedded.inc
+
+# Don't test this with valgrind
+--source include/not_valgrind.inc
+
+# Only test for innodb
+--source include/have_innodb.inc
+
+--echo # Establish connection con1 (user=root)
+connect (con1,localhost,root,,);
+--echo # Establish connection con2 (user=root)
+connect (con2,localhost,root,,);
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+--echo # Switch to connection con1
+connection con1;
+eval create table t1 (id integer, x integer) engine = InnoDB;
+insert into t1 values(0, 0);
+
+# Enable the debug injection.
+set DEBUG_DBUG='+d,fatal-semaphore-timeout';
+set autocommit=0;
+
+# The following query will hang for an hour since the debug injection
+# code will sleep an hour after holding the lock table mutex
+--echo # Sending query on con1,
+--echo # the session will hold lock table mutex and sleep
+--send
+SELECT * from t1 where id = 0 FOR UPDATE;
+
+# To make sure con1 holding the lock table mutex and sleeping
+--sleep 2
+
+--echo # Switch to connection con2
+connection con2;
+set autocommit=0;
+
+# The following query will be blocked on the lock table mutex held by
+# con1 so it will be put into sync array.
+--echo # Sending query on con2,
+--echo # the session will be blocked on the lock table mutex and
+--echo # thus be put into sync arry
+--send
+SELECT * from t1 where id = 0 FOR UPDATE;
+
+# Waitting for mysqld to abort due to fatal semaphore timeout.
+# Please note that, in the master.opt file, the fatal timeout
+# was set to 1 second, but in mysqld debug mode, this timeout
+# value will be timed 10 because UNIV_DEBUG_VALGRIND is set
+# (see sync_array_print_long_waits_low() in storage/innobase/sync/sync0arr.cc)
+# so the actual timeout will be 1 * 10 = 10 seconds. Besides,
+# mysqld will abort after detecting this fatal timeout 10 times in
+# a loop with interval of 1 second (see srv_error_monitor_thread
+# thread in torage/innobase/srv/srv0srv.cc), so mysqld will abort
+# in 1 * 10 + 1 * 10 = 20 seconds after con2 being blocked on
+# the lock table mutex.
+#
+# P.S. the default fatal sempahore timeout is 600 seconds,
+# so mysqld will abort after 600 * 10 + 1 * 10 = 6010 seconds
+# in debug mode and 600 + 1 * 10 = 610 seconds in release mode.
+
+--echo # Switched to the default connection
+connection default;
+
+--disable_result_log
+--disable_query_log
+
+# Since this test generates lot of errors in log, suppress checking errors
+call mtr.add_suppression(".*");
+
+# The crash is expected
+exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
+
+--echo # Waitting for mysqld to crash
+
+# It will take 20 seconds to detect the long semaphore and mysqld to abort.
+# This test will be treated as pass as long as mysqld crash/restart is dectected
+# in 80 seconds.
+let $counter= 80;
+let $mysql_errno= 0;
+while (!$mysql_errno)
+{
+ --error 0,1040,1053,2002,2003,2006,2013
+ show status;
+
+ dec $counter;
+ if (!$counter)
+ {
+ # This will fail this test.
+ --die Server failed to dissapear
+ }
+ --sleep 1
+}
+
+--echo # Mysqld crash was detected
+--echo # Waitting for reconnect after mysqld restarts
+
+enable_reconnect;
+connection default;
+
+--exec echo "restart:--log-error=$error_log" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+# Call script that will poll the server waiting for it to be back online again
+source include/wait_until_connected_again.inc;
+
+--echo # Reconnected after mysqld was successfully restarted
+
+--echo # Cleaning up before exit
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+--echo # Clean exit
diff --git a/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold_basic.test b/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold_basic.test
new file mode 100644
index 00000000000..dcb6fff8751
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold_basic.test
@@ -0,0 +1,21 @@
+--source include/have_innodb.inc
+# bool readonly
+
+#
+# show values;
+#
+select @@global.innodb_fatal_semaphore_wait_threshold;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_fatal_semaphore_wait_threshold;
+show global variables like 'innodb_fatal_semaphore_wait_threshold';
+show session variables like 'innodb_fatal_semaphore_wait_threshold';
+select * from information_schema.global_variables where variable_name='innodb_fatal_semaphore_wait_threshold';
+select * from information_schema.session_variables where variable_name='innodb_fatal_semaphore_wait_threshold';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_fatal_semaphore_wait_threshold=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_fatal_semaphore_wait_threshold=1;
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
new file mode 100644
index 00000000000..950dbabd1bd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test
@@ -0,0 +1,34 @@
+--echo #
+--echo # Basic test for innodb_fil_make_page_dirty_debug.
+--echo #
+
+--source include/have_innodb.inc
+
+# The config variable is a debug variable
+-- source include/have_debug.inc
+
+SELECT @@global.innodb_fil_make_page_dirty_debug;
+
+set global innodb_fil_make_page_dirty_debug = 0;
+
+SELECT @@global.innodb_fil_make_page_dirty_debug;
+
+set global innodb_fil_make_page_dirty_debug = 0;
+
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_fil_make_page_dirty_debug = dummy;
+
+--error ER_GLOBAL_VARIABLE
+set innodb_fil_make_page_dirty_debug = ON;
+
+--echo # An example usage.
+create table t1 (f1 int primary key) engine = innodb;
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+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;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_flush_log_at_timeout_basic.test b/mysql-test/suite/sys_vars/t/innodb_flush_log_at_timeout_basic.test
new file mode 100644
index 00000000000..0ab079adaa8
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_flush_log_at_timeout_basic.test
@@ -0,0 +1,151 @@
+################# mysql-test\t\innodb_flush_log_at_timeout_basic.test #########
+# #
+# Variable Name: innodb_flush_log_at_timeout #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 1 #
+# Range: 0-2700 #
+# #
+# #
+# Creation Date: 2012-05-10 #
+# Author: Nuno Carvalho #
+# #
+#Description: Test Cases of Dynamic System Variable #
+# innodb_flush_log_at_timeout that checks the behavior of #
+# this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF innodb_flush_log_at_timeout TESTS #
+########################################################################
+
+
+#############################################################################
+# Saving initial value of innodb_flush_log_at_timeout #
+#############################################################################
+
+
+SET @global_start_value = @@global.innodb_flush_log_at_timeout;
+SELECT @global_start_value;
+
+
+
+--echo '#--------------------FN_DYNVARS_046_01------------------------#'
+##########################################################################
+# Display the DEFAULT value of innodb_flush_log_at_timeout #
+##########################################################################
+
+SET @@global.innodb_flush_log_at_timeout = 0;
+SET @@global.innodb_flush_log_at_timeout = DEFAULT;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
+###############################################################################
+# Check if variable can be accessed with and without @@ sign #
+###############################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET innodb_flush_log_at_timeout = 1;
+SELECT @@innodb_flush_log_at_timeout;
+
+
+--Error ER_UNKNOWN_TABLE
+SELECT local.innodb_flush_log_at_timeout;
+
+
+SET global innodb_flush_log_at_timeout = 0;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+
+--echo '#--------------------FN_DYNVARS_046_03------------------------#'
+#############################################################################
+# change the value of innodb_flush_log_at_timeout to a valid value #
+#############################################################################
+
+
+SET @@global.innodb_flush_log_at_timeout = 0;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+SET @@global.innodb_flush_log_at_timeout = 10;
+SELECT @@global.innodb_flush_log_at_timeout;
+SET @@global.innodb_flush_log_at_timeout = 2700;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
+###############################################################################
+# Change the value of innodb_flush_log_at_timeout to invalid value #
+###############################################################################
+
+SET @@global.innodb_flush_log_at_timeout = -1;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_timeout = "T";
+SELECT @@global.innodb_flush_log_at_timeout;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_timeout = "Y";
+SELECT @@global.innodb_flush_log_at_timeout;
+
+SET @@global.innodb_flush_log_at_timeout = 2701;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+--echo '#----------------------FN_DYNVARS_046_05------------------------#'
+#########################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#########################################################################
+
+SELECT @@global.innodb_flush_log_at_timeout =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_flush_log_at_timeout';
+SELECT @@global.innodb_flush_log_at_timeout;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_flush_log_at_timeout';
+
+--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_timeout = OFF;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_timeout = ON;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+--echo '#---------------------FN_DYNVARS_046_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+
+SET @@global.innodb_flush_log_at_timeout = TRUE;
+SELECT @@global.innodb_flush_log_at_timeout;
+SET @@global.innodb_flush_log_at_timeout = FALSE;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+##############################
+# Restore initial value #
+##############################
+
+
+SET @@global.innodb_flush_log_at_timeout = @global_start_value;
+SELECT @@global.innodb_flush_log_at_timeout;
+
+###############################################################
+# END OF innodb_flush_log_at_timeout TESTS #
+###############################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test b/mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test
new file mode 100644
index 00000000000..698e30b6669
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test
@@ -0,0 +1,73 @@
+
+
+# 2011-02-23 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_flush_neighbors;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+select @@global.innodb_flush_neighbors;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_flush_neighbors;
+show global variables like 'innodb_flush_neighbors';
+show session variables like 'innodb_flush_neighbors';
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+
+#
+# show that it's writable
+#
+set global innodb_flush_neighbors=0;
+select @@global.innodb_flush_neighbors;
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+set @@global.innodb_flush_neighbors=TRUE;
+select @@global.innodb_flush_neighbors;
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+set global innodb_flush_neighbors=0;
+select @@global.innodb_flush_neighbors;
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+set @@global.innodb_flush_neighbors=2;
+select @@global.innodb_flush_neighbors;
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+set @@global.innodb_flush_neighbors=DEFAULT;
+select @@global.innodb_flush_neighbors;
+select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
+select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+--error ER_GLOBAL_VARIABLE
+set session innodb_flush_neighbors=0;
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_flush_neighbors=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_flush_neighbors='OFF';
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_flush_neighbors='ON';
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_flush_neighbors=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_flush_neighbors=1e1;
+set global innodb_flush_neighbors=3;
+select @@global.innodb_flush_neighbors;
+set global innodb_flush_neighbors=-3;
+select @@global.innodb_flush_neighbors;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_flush_neighbors='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_flush_neighbors = @start_global_value;
+SELECT @@global.innodb_flush_neighbors;
diff --git a/mysql-test/suite/sys_vars/t/innodb_flushing_avg_loops_basic.test b/mysql-test/suite/sys_vars/t/innodb_flushing_avg_loops_basic.test
new file mode 100644
index 00000000000..a84e623f2c3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_flushing_avg_loops_basic.test
@@ -0,0 +1,143 @@
+############ mysql-test\t\innodb_flushing_avg_loops_basic.test ################
+# #
+# Variable Name: innodb_flushing_avg_loops #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 10 #
+# Range: 0-70 #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Rizwan #
+# #
+#Description:Test Cases of Dynamic System Variable innodb_flushing_avg_loops #
+# that checks the behavior of this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF innodb_flushing_avg_loops TESTS #
+########################################################################
+
+
+###############################################################################
+#Saving initial value of innodb_flushing_avg_loops in a temporary variable #
+###############################################################################
+
+SET @global_start_value = @@global.innodb_flushing_avg_loops;
+SELECT @global_start_value;
+
+--echo '#--------------------FN_DYNVARS_046_01------------------------#'
+########################################################################
+# Display the DEFAULT value of innodb_flushing_avg_loops #
+########################################################################
+
+SET @@global.innodb_flushing_avg_loops = 1;
+SET @@global.innodb_flushing_avg_loops = DEFAULT;
+SELECT @@global.innodb_flushing_avg_loops;
+
+--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
+##################################################################################
+# Check if innodb_flushing_avg_loops can be accessed with and without @@ sign #
+##################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET innodb_flushing_avg_loops = 1;
+SELECT @@innodb_flushing_avg_loops;
+
+--Error ER_UNKNOWN_TABLE
+SELECT local.innodb_flushing_avg_loops;
+
+SET global innodb_flushing_avg_loops = 1;
+SELECT @@global.innodb_flushing_avg_loops;
+
+--echo '#--------------------FN_DYNVARS_046_03------------------------#'
+###############################################################################
+# change the value of innodb_flushing_avg_loops to a valid value #
+###############################################################################
+
+SET @@global.innodb_flushing_avg_loops = 1;
+SELECT @@global.innodb_flushing_avg_loops;
+
+SET @@global.innodb_flushing_avg_loops = 60;
+SELECT @@global.innodb_flushing_avg_loops;
+
+SET @@global.innodb_flushing_avg_loops = 1000;
+SELECT @@global.innodb_flushing_avg_loops;
+
+--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
+###########################################################################
+# Change the value of innodb_flushing_avg_loops to invalid value #
+###########################################################################
+
+SET @@global.innodb_flushing_avg_loops = -1;
+SELECT @@global.innodb_flushing_avg_loops;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flushing_avg_loops = "T";
+SELECT @@global.innodb_flushing_avg_loops;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flushing_avg_loops = "Y";
+SELECT @@global.innodb_flushing_avg_loops;
+
+SET @@global.innodb_flushing_avg_loops = 1001;
+SELECT @@global.innodb_flushing_avg_loops;
+
+--echo '#----------------------FN_DYNVARS_046_05------------------------#'
+#########################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#########################################################################
+
+SELECT @@global.innodb_flushing_avg_loops =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_flushing_avg_loops';
+SELECT @@global.innodb_flushing_avg_loops;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_flushing_avg_loops';
+
+--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flushing_avg_loops = OFF;
+SELECT @@global.innodb_flushing_avg_loops;
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flushing_avg_loops = ON;
+SELECT @@global.innodb_flushing_avg_loops;
+
+--echo '#---------------------FN_DYNVARS_046_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+
+SET @@global.innodb_flushing_avg_loops = TRUE;
+SELECT @@global.innodb_flushing_avg_loops;
+SET @@global.innodb_flushing_avg_loops = FALSE;
+SELECT @@global.innodb_flushing_avg_loops;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.innodb_flushing_avg_loops = @global_start_value;
+SELECT @@global.innodb_flushing_avg_loops;
+
+###############################################################
+# END OF innodb_flushing_avg_loops TESTS #
+###############################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_force_primary_key_basic.test b/mysql-test/suite/sys_vars/t/innodb_force_primary_key_basic.test
new file mode 100644
index 00000000000..f760b3545fa
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_force_primary_key_basic.test
@@ -0,0 +1,57 @@
+--source include/have_innodb.inc
+
+let $force_pk=`select @@innodb_force_primary_key`;
+
+SELECT COUNT(@@GLOBAL.innodb_force_primary_key);
+--echo 1 Expected
+
+####################################################################
+# Check if Value can set #
+####################################################################
+
+SET @@GLOBAL.innodb_force_primary_key=1;
+--echo Expected ok
+
+SELECT COUNT(@@GLOBAL.innodb_force_primary_key);
+--echo 1 Expected
+
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+SELECT IF(@@GLOBAL.innodb_force_primary_key, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_force_primary_key';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_force_primary_key);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_force_primary_key';
+--echo 1 Expected
+
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_force_primary_key = @@GLOBAL.innodb_force_primary_key;
+--echo 1 Expected
+
+SELECT COUNT(@@innodb_force_primary_key);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_force_primary_key);
+--echo Expected Variable 'innodb_force_primary_key' is a GLOBAL variable
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_force_primary_key);
+--echo Expected Variable 'innodb_force_primary_key' is a GLOBAL variable
+
+SELECT COUNT(@@GLOBAL.innodb_force_primary_key);
+--echo 1 Expected
+
+--disable_query_log
+eval set global innodb_force_primary_key=$force_pk;
+--enable_query_log
diff --git a/mysql-test/suite/sys_vars/t/innodb_foreground_preflush_basic.test b/mysql-test/suite/sys_vars/t/innodb_foreground_preflush_basic.test
new file mode 100644
index 00000000000..f388b392f9b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_foreground_preflush_basic.test
@@ -0,0 +1,30 @@
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_foreground_preflush;
+
+# Default value
+SELECT @@GLOBAL.innodb_foreground_preflush;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_foreground_preflush;
+
+# Correct values
+SET GLOBAL innodb_foreground_preflush='sync_preflush';
+SELECT @@GLOBAL.innodb_foreground_preflush;
+SET GLOBAL innodb_foreground_preflush='exponential_backoff';
+SELECT @@GLOBAL.innodb_foreground_preflush;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_foreground_preflush=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_foreground_preflush=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_foreground_preflush=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_foreground_preflush='foo';
+
+SET GLOBAL innodb_foreground_preflush = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test
new file mode 100644
index 00000000000..2ea99cf9835
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test
@@ -0,0 +1,41 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_aux_table;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_aux_table;
+show global variables like 'innodb_ft_aux_table';
+show session variables like 'innodb_ft_aux_table';
+select * from information_schema.global_variables where variable_name='innodb_ft_aux_table';
+select * from information_schema.session_variables where variable_name='innodb_ft_aux_table';
+
+--error ER_GLOBAL_VARIABLE
+set session innodb_ft_aux_table='Salmon';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_ft_aux_table='Salmon';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_aux_table=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_aux_table=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_aux_table='Salmon';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_ft_aux_table = @start_global_value;
+SELECT @@global.innodb_ft_aux_table;
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test
new file mode 100644
index 00000000000..f6d62835f0a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test
@@ -0,0 +1,26 @@
+
+#
+# 2011-11-17 - Added
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_cache_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_cache_size;
+show global variables like 'innodb_ft_cache_size';
+show session variables like 'innodb_ft_cache_size';
+select * from information_schema.global_variables where variable_name='innodb_ft_cache_size';
+select * from information_schema.session_variables where variable_name='innodb_ft_cache_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_ft_cache_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_ft_cache_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test
new file mode 100644
index 00000000000..ebe9cc556ec
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test
@@ -0,0 +1,70 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_enable_diag_print;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_ft_enable_diag_print in (0, 1);
+select @@global.innodb_ft_enable_diag_print;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_enable_diag_print;
+show global variables like 'innodb_ft_enable_diag_print';
+show session variables like 'innodb_ft_enable_diag_print';
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+
+#
+# show that it's writable
+#
+set global innodb_ft_enable_diag_print='OFF';
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+set @@global.innodb_ft_enable_diag_print=1;
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+set global innodb_ft_enable_diag_print=0;
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+set @@global.innodb_ft_enable_diag_print='ON';
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--error ER_GLOBAL_VARIABLE
+set session innodb_ft_enable_diag_print='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_ft_enable_diag_print='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_enable_diag_print=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_enable_diag_print=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_diag_print=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_diag_print=-3;
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_diag_print='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_ft_enable_diag_print = @start_global_value;
+SELECT @@global.innodb_ft_enable_diag_print;
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test
new file mode 100644
index 00000000000..1a983a3d7e6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test
@@ -0,0 +1,85 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_enable_stopword;
+SELECT @start_global_value;
+
+#
+# exists as global and session
+#
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_ft_enable_stopword in (0, 1);
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword in (0, 1);
+select @@session.innodb_ft_enable_stopword;
+show global variables like 'innodb_ft_enable_stopword';
+show session variables like 'innodb_ft_enable_stopword';
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+
+#
+# show that it's writable
+#
+set global innodb_ft_enable_stopword='OFF';
+set session innodb_ft_enable_stopword='OFF';
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+set @@global.innodb_ft_enable_stopword=1;
+set @@session.innodb_ft_enable_stopword=1;
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+set global innodb_ft_enable_stopword=0;
+set session innodb_ft_enable_stopword=0;
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+set @@global.innodb_ft_enable_stopword='ON';
+set @@session.innodb_ft_enable_stopword='ON';
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_enable_stopword=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set session innodb_ft_enable_stopword=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_enable_stopword=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set session innodb_ft_enable_stopword=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_stopword=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set session innodb_ft_enable_stopword=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_stopword='AUTO';
+--error ER_WRONG_VALUE_FOR_VAR
+set session innodb_ft_enable_stopword='AUTO';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_stopword=-3;
+--error ER_WRONG_VALUE_FOR_VAR
+set session innodb_ft_enable_stopword=-7;
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_ft_enable_stopword = @start_global_value;
+SELECT @@global.innodb_ft_enable_stopword;
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test
new file mode 100644
index 00000000000..e75517466d7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test
@@ -0,0 +1,26 @@
+
+#
+# 2011-11-17 - Added
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_max_token_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_max_token_size;
+show global variables like 'innodb_ft_max_token_size';
+show session variables like 'innodb_ft_max_token_size';
+select * from information_schema.global_variables where variable_name='innodb_ft_max_token_size';
+select * from information_schema.session_variables where variable_name='innodb_ft_max_token_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_ft_max_token_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_ft_max_token_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test
new file mode 100644
index 00000000000..edf63c70782
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test
@@ -0,0 +1,26 @@
+
+#
+# 2011-11-17 - Added
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_min_token_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_min_token_size;
+show global variables like 'innodb_ft_min_token_size';
+show session variables like 'innodb_ft_min_token_size';
+select * from information_schema.global_variables where variable_name='innodb_ft_min_token_size';
+select * from information_schema.session_variables where variable_name='innodb_ft_min_token_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_ft_min_token_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_ft_min_token_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test
new file mode 100644
index 00000000000..255caf86116
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test
@@ -0,0 +1,52 @@
+
+#
+# 2011-11-17 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_num_word_optimize;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are zero or above
+select @@global.innodb_ft_num_word_optimize >=1000;
+select @@global.innodb_ft_num_word_optimize;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_num_word_optimize;
+show global variables like 'innodb_ft_num_word_optimize';
+show session variables like 'innodb_ft_num_word_optimize';
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+
+#
+# show that it's writable
+#
+set global innodb_ft_num_word_optimize=1000;
+select @@global.innodb_ft_num_word_optimize;
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+--error ER_GLOBAL_VARIABLE
+set session innodb_ft_num_word_optimize=1000;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_num_word_optimize=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_num_word_optimize=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_num_word_optimize="foo";
+
+set global innodb_ft_num_word_optimize=-7;
+select @@global.innodb_ft_num_word_optimize;
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+
+#
+# cleanup
+#
+SET @@global.innodb_ft_num_word_optimize = @start_global_value;
+SELECT @@global.innodb_ft_num_word_optimize;
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit.test b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit.test
new file mode 100644
index 00000000000..b1ad2cd3821
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit.test
@@ -0,0 +1,9 @@
+--source include/word_size.inc
+--source include/have_innodb.inc
+
+let $innodb_ft_result_cache_limit_orig=`select @@innodb_ft_result_cache_limit`;
+
+set global innodb_ft_result_cache_limit=5000000000;
+select @@innodb_ft_result_cache_limit;
+
+eval set global innodb_ft_result_cache_limit=$innodb_ft_result_cache_limit_orig;
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test
new file mode 100644
index 00000000000..245ed4abdfb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test
@@ -0,0 +1,38 @@
+
+#
+# 2013-05-09 - Added
+#
+
+--source include/have_innodb.inc
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_result_cache_limit;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_result_cache_limit;
+show global variables like 'innodb_ft_result_cache_limit';
+show session variables like 'innodb_ft_result_cache_limit';
+select * from information_schema.global_variables where variable_name='innodb_ft_result_cache_limit';
+select * from information_schema.session_variables where variable_name='innodb_ft_result_cache_limit';
+
+#
+# test default, min, max value
+#
+let $innodb_ft_result_cache_limit_orig=`select @@innodb_ft_result_cache_limit`;
+
+set global innodb_ft_result_cache_limit=900000;
+select @@innodb_ft_result_cache_limit;
+
+set global innodb_ft_result_cache_limit=1000000;
+select @@innodb_ft_result_cache_limit;
+
+set global innodb_ft_result_cache_limit=4000000000;
+select @@innodb_ft_result_cache_limit;
+
+eval set global innodb_ft_result_cache_limit=$innodb_ft_result_cache_limit_orig;
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test
new file mode 100644
index 00000000000..e227e790a1d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test
@@ -0,0 +1,41 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_server_stopword_table;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_server_stopword_table;
+show global variables like 'innodb_ft_server_stopword_table';
+show session variables like 'innodb_ft_server_stopword_table';
+select * from information_schema.global_variables where variable_name='innodb_ft_server_stopword_table';
+select * from information_schema.session_variables where variable_name='innodb_ft_server_stopword_table';
+
+--error ER_GLOBAL_VARIABLE
+set session innodb_ft_server_stopword_table='Salmon';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_ft_server_stopword_table='Salmon';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_server_stopword_table=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_server_stopword_table=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_server_stopword_table='Salmon';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_ft_server_stopword_table = @start_global_value;
+SELECT @@global.innodb_ft_server_stopword_table;
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test
new file mode 100644
index 00000000000..3cf55f6700b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test
@@ -0,0 +1,26 @@
+
+#
+# 2011-11-17 - Added
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_sort_pll_degree;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_sort_pll_degree;
+show global variables like 'innodb_ft_sort_pll_degree';
+show session variables like 'innodb_ft_sort_pll_degree';
+select * from information_schema.global_variables where variable_name='innodb_ft_sort_pll_degree';
+select * from information_schema.session_variables where variable_name='innodb_ft_sort_pll_degree';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_ft_sort_pll_degree=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_ft_sort_pll_degree=1;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test
new file mode 100644
index 00000000000..772ec5a1919
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test
@@ -0,0 +1,27 @@
+--source include/have_innodb.inc
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_total_cache_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_total_cache_size;
+show global variables like 'innodb_ft_total_cache_size';
+show session variables like 'innodb_ft_total_cache_size';
+select * from information_schema.global_variables where variable_name='innodb_ft_total_cache_size';
+select * from information_schema.session_variables where variable_name='innodb_ft_total_cache_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_ft_total_cache_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_ft_total_cache_size=1;
+
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test
new file mode 100644
index 00000000000..159e570b3ce
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test
@@ -0,0 +1,38 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_user_stopword_table;
+SELECT @start_global_value;
+
+#
+# exists as session as well
+#
+select @@session.innodb_ft_user_stopword_table;
+
+show global variables like 'innodb_ft_user_stopword_table';
+show session variables like 'innodb_ft_user_stopword_table';
+
+select * from information_schema.global_variables where variable_name='innodb_ft_user_stopword_table';
+select * from information_schema.session_variables where variable_name='innodb_ft_user_stopword_table';
+
+--error ER_WRONG_VALUE_FOR_VAR
+set session innodb_ft_user_stopword_table='Salmon';
+
+--error ER_WRONG_VALUE_FOR_VAR
+set @@session.innodb_ft_user_stopword_table='Salmon';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_user_stopword_table=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_user_stopword_table=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_user_stopword_table='Salmon';
+
+SET @@session.innodb_ft_user_stopword_table=@start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_idle_flush_pct_basic.test b/mysql-test/suite/sys_vars/t/innodb_idle_flush_pct_basic.test
new file mode 100644
index 00000000000..7175a59e238
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_idle_flush_pct_basic.test
@@ -0,0 +1,63 @@
+
+#
+# 2013-04-01 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_idle_flush_pct;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are between 0 and 100
+select @@global.innodb_idle_flush_pct between 0 and 100;
+select @@global.innodb_idle_flush_pct;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_idle_flush_pct;
+show global variables like 'innodb_idle_flush_pct';
+show session variables like 'innodb_idle_flush_pct';
+select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
+select * from information_schema.session_variables where variable_name='innodb_idle_flush_pct';
+
+#
+# show that it's writable
+#
+set global innodb_idle_flush_pct=10;
+select @@global.innodb_idle_flush_pct;
+select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
+select * from information_schema.session_variables where variable_name='innodb_idle_flush_pct';
+--error ER_GLOBAL_VARIABLE
+set session innodb_idle_flush_pct=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_idle_flush_pct=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_idle_flush_pct=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_idle_flush_pct="bar";
+
+set global innodb_idle_flush_pct=-7;
+select @@global.innodb_idle_flush_pct;
+select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
+set global innodb_idle_flush_pct=106;
+select @@global.innodb_idle_flush_pct;
+select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
+
+#
+# min/max/DEFAULT values
+#
+set global innodb_idle_flush_pct=0;
+select @@global.innodb_idle_flush_pct;
+set global innodb_idle_flush_pct=100;
+select @@global.innodb_idle_flush_pct;
+set global innodb_idle_flush_pct=DEFAULT;
+select @@global.innodb_idle_flush_pct;
+
+
+SET @@global.innodb_idle_flush_pct = @start_global_value;
+SELECT @@global.innodb_idle_flush_pct;
diff --git a/mysql-test/suite/sys_vars/t/innodb_immediate_scrub_data_uncompressed_basic.test b/mysql-test/suite/sys_vars/t/innodb_immediate_scrub_data_uncompressed_basic.test
new file mode 100644
index 00000000000..f3a3fba153a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_immediate_scrub_data_uncompressed_basic.test
@@ -0,0 +1,41 @@
+# bool global
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_immediate_scrub_data_uncompressed;
+
+--echo #
+--echo # exists as global only
+--echo #
+select @@global.innodb_immediate_scrub_data_uncompressed;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_immediate_scrub_data_uncompressed;
+show global variables like 'innodb_immediate_scrub_data_uncompressed';
+show session variables like 'innodb_immediate_scrub_data_uncompressed';
+select * from information_schema.global_variables
+where variable_name='innodb_immediate_scrub_data_uncompressed';
+select * from information_schema.session_variables
+where variable_name='innodb_immediate_scrub_data_uncompressed';
+
+--echo #
+--echo # show that it's writable
+--echo #
+set global innodb_immediate_scrub_data_uncompressed=ON;
+select @@global.innodb_immediate_scrub_data_uncompressed;
+set global innodb_immediate_scrub_data_uncompressed=OFF;
+select @@global.innodb_immediate_scrub_data_uncompressed;
+set global innodb_immediate_scrub_data_uncompressed=1;
+select @@global.innodb_immediate_scrub_data_uncompressed;
+--error ER_GLOBAL_VARIABLE
+set session innodb_immediate_scrub_data_uncompressed=1;
+
+--echo #
+--echo # incorrect types
+--echo #
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_immediate_scrub_data_uncompressed=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_immediate_scrub_data_uncompressed=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_immediate_scrub_data_uncompressed="foo";
+
+SET @@global.innodb_immediate_scrub_data_uncompressed = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_instrument_semaphores_basic.test b/mysql-test/suite/sys_vars/t/innodb_instrument_semaphores_basic.test
new file mode 100644
index 00000000000..9b302be79b5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_instrument_semaphores_basic.test
@@ -0,0 +1,42 @@
+--source include/have_innodb.inc
+
+--echo #
+--echo # innodb_instrument_semaphores
+--echo #
+
+--echo # save the initial value
+SET @innodb_instrument_semaphores_global_saved = @@global.innodb_instrument_semaphores;
+
+--echo # default
+SELECT @@global.innodb_instrument_semaphores;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_instrument_semaphores;
+SET @@global.innodb_instrument_semaphores=OFF;
+SELECT @@global.innodb_instrument_semaphores;
+SET @@global.innodb_instrument_semaphores=ON;
+SELECT @@global.innodb_instrument_semaphores;
+
+--echo
+--echo # valid values
+SET @@global.innodb_instrument_semaphores='OFF';
+SELECT @@global.innodb_instrument_semaphores;
+SET @@global.innodb_instrument_semaphores=ON;
+SELECT @@global.innodb_instrument_semaphores;
+SET @@global.innodb_instrument_semaphores=default;
+SELECT @@global.innodb_instrument_semaphores;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.innodb_instrument_semaphores=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.innodb_instrument_semaphores='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.innodb_instrument_semaphores = @innodb_instrument_semaphores_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/innodb_io_capacity_max_basic.test b/mysql-test/suite/sys_vars/t/innodb_io_capacity_max_basic.test
new file mode 100644
index 00000000000..cedc6c0c45e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_io_capacity_max_basic.test
@@ -0,0 +1,85 @@
+
+
+# 2012-04-02 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_innodb_max_capacity = @@global.innodb_io_capacity_max;
+SELECT @start_innodb_max_capacity;
+
+SET @start_innodb_capacity = @@global.innodb_io_capacity;
+SELECT @start_innodb_capacity;
+
+#
+# exists as global only
+#
+--echo Valid value 100 or more
+select @@global.innodb_io_capacity_max > 99;
+select @@global.innodb_io_capacity_max;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_io_capacity_max;
+show global variables like 'innodb_io_capacity_max';
+show session variables like 'innodb_io_capacity_max';
+select * from information_schema.global_variables where variable_name='innodb_io_capacity_max';
+select * from information_schema.session_variables where variable_name='innodb_io_capacity_max';
+
+#
+# show that it's writable.
+#
+set global innodb_io_capacity_max=@start_innodb_capacity + 1;
+select @@global.innodb_io_capacity_max;
+select * from information_schema.global_variables where variable_name='innodb_io_capacity_max';
+select * from information_schema.session_variables where variable_name='innodb_io_capacity_max';
+--error ER_GLOBAL_VARIABLE
+set session innodb_io_capacity_max=444;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_io_capacity_max=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_io_capacity_max=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_io_capacity_max="foo";
+
+#
+# Setting io_capacity_max lower than io_capacity affects also io_capacity
+#
+set global innodb_io_capacity_max=1000;
+set global innodb_io_capacity=500;
+set global innodb_io_capacity_max=400;
+select @@global.innodb_io_capacity_max;
+select @@global.innodb_io_capacity;
+select * from information_schema.global_variables where variable_name='innodb_io_capacity_max';
+select * from information_schema.global_variables where variable_name='innodb_io_capacity';
+
+#
+# Setting io_capacity higher than io_capacity_max affects also io_capacity_max
+#
+set global innodb_io_capacity_max=1000;
+set global innodb_io_capacity=500;
+set global innodb_io_capacity=1400;
+select @@global.innodb_io_capacity_max;
+select @@global.innodb_io_capacity;
+select * from information_schema.global_variables where variable_name='innodb_io_capacity_max';
+select * from information_schema.global_variables where variable_name='innodb_io_capacity';
+#
+# min/max values
+#
+# first set innodb_io_cpaacity lower
+set global innodb_io_capacity=100;
+set global innodb_io_capacity_max=100;
+select @@global.innodb_io_capacity_max;
+
+#
+# cleanup
+#
+
+SET @@global.innodb_io_capacity_max = @start_innodb_max_capacity;
+SELECT @@global.innodb_io_capacity_max;
+
+SET @@global.innodb_io_capacity = @start_innodb_capacity;
+SELECT @@global.innodb_io_capacity;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_arch_dir_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_arch_dir_basic.test
new file mode 100644
index 00000000000..084d97fa460
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_log_arch_dir_basic.test
@@ -0,0 +1,68 @@
+#######################################################
+# Basic test for innodb_log_arch_dir variable #
+#######################################################
+
+--source include/have_xtradb.inc
+
+let $datadir= `select @@datadir`;
+
+####################################################################
+# Displaying default value #
+####################################################################
+--replace_result $datadir ./
+SELECT @@GLOBAL.innodb_log_arch_dir;
+--echo NULL Expected
+
+
+####################################################################
+# Check if Value can set #
+####################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_log_arch_dir=1;
+--echo Expected error 'Read only variable'
+
+--replace_result $datadir ./
+SELECT @@GLOBAL.innodb_log_arch_dir;
+--echo NULL Expected
+
+--replace_result $datadir ./
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_arch_dir';
+--echo empty string Expected
+
+############################################
+# Check accessing variable without GLOBAL #
+############################################
+--replace_result $datadir ./
+SELECT @@innodb_log_arch_dir;
+--echo NULL Expected
+
+
+
+##########################################################################
+# Check if innodb_log_arch_dir can be accessed without @@ sign #
+##########################################################################
+
+--replace_result $datadir ./
+SELECT @@innodb_log_arch_dir;
+--echo NULL Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@local.innodb_log_arch_dir;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_log_arch_dir;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--replace_result $datadir ./
+SELECT @@GLOBAL.innodb_log_arch_dir;
+--echo NULL Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_log_arch_dir = @@SESSION.innodb_log_arch_dir;
+--echo Expected error Unknown column 'innodb_log_arch_dir' in 'field list'
+
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_arch_expire_sec_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_arch_expire_sec_basic.test
new file mode 100644
index 00000000000..87c374ea886
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_log_arch_expire_sec_basic.test
@@ -0,0 +1,60 @@
+###############################################################
+# Basic test for innodb_log_arch_expire_sec variable #
+###############################################################
+
+--source include/have_xtradb.inc
+
+SELECT @@GLOBAL.innodb_log_arch_expire_sec INTO @save;
+
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT @@GLOBAL.innodb_log_arch_expire_sec;
+--echo 0 Expected
+
+
+####################################################################
+# Check if Value can set #
+####################################################################
+
+SET @@GLOBAL.innodb_log_arch_expire_sec=1;
+
+SELECT @@GLOBAL.innodb_log_arch_expire_sec;
+--echo 1 Expected
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_arch_expire_sec';
+--echo 1 Expected
+
+############################################
+# Check accessing variable without GLOBAL #
+############################################
+SELECT @@innodb_log_arch_expire_sec;
+--echo 1 Expected
+
+
+
+##################################################################################
+# Check if innodb_log_arch_expire_sec can be accessed without @@ sign #
+##################################################################################
+
+SELECT @@innodb_log_arch_expire_sec;
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@local.innodb_log_arch_expire_sec;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_log_arch_expire_sec;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT @@GLOBAL.innodb_log_arch_expire_sec;
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_log_arch_expire_sec = @@SESSION.innodb_log_arch_expire_sec;
+--echo Expected error Unknown column 'innodb_log_arch_expire_sec' in 'field list'
+
+SET @@GLOBAL.innodb_log_arch_expire_sec = @save;
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_archive_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_archive_basic.test
new file mode 100644
index 00000000000..cbc885123ce
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_log_archive_basic.test
@@ -0,0 +1,61 @@
+###################################################
+# Basic test for innodb_log_archive variable #
+###################################################
+
+--source include/have_xtradb.inc
+
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT @@GLOBAL.innodb_log_archive;
+--echo 0 Expected
+
+
+####################################################################
+# Check if Value can set #
+####################################################################
+
+SET @save_innodb_log_archive = @@GLOBAL.innodb_log_archive;
+SET @@GLOBAL.innodb_log_archive=1;
+
+SELECT @@GLOBAL.innodb_log_archive;
+--echo 1 Expected
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_archive';
+--echo ON Expected
+
+SET @@GLOBAL.innodb_log_archive = @save_innodb_log_archive;
+
+############################################
+# Check accessing variable without GLOBAL #
+############################################
+SELECT @@innodb_log_archive;
+--echo 0 Expected
+
+
+
+##########################################################################
+# Check if innodb_log_archive can be accessed without @@ sign #
+##########################################################################
+
+SELECT @@innodb_log_archive;
+--echo 0 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@local.innodb_log_archive;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_log_archive;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT @@GLOBAL.innodb_log_archive;
+--echo 0 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_log_archive = @@SESSION.innodb_log_archive;
+--echo Expected error Unknown column 'innodb_log_archive' in 'field list'
+
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_checksum_algorithm_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_checksum_algorithm_basic.test
new file mode 100644
index 00000000000..1a83d4f2602
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_log_checksum_algorithm_basic.test
@@ -0,0 +1,38 @@
+--source include/have_xtradb.inc
+
+# Check the default value
+SET @orig = @@global.innodb_log_checksum_algorithm;
+SELECT @orig;
+
+SET GLOBAL innodb_log_checksum_algorithm = 'crc32';
+SELECT @@global.innodb_log_checksum_algorithm;
+
+SET GLOBAL innodb_log_checksum_algorithm = 'strict_crc32';
+SELECT @@global.innodb_log_checksum_algorithm;
+
+SET GLOBAL innodb_log_checksum_algorithm = 'innodb';
+SELECT @@global.innodb_log_checksum_algorithm;
+
+SET GLOBAL innodb_log_checksum_algorithm = 'strict_innodb';
+SELECT @@global.innodb_log_checksum_algorithm;
+
+SET GLOBAL innodb_log_checksum_algorithm = 'none';
+SELECT @@global.innodb_log_checksum_algorithm;
+
+SET GLOBAL innodb_log_checksum_algorithm = 'strict_none';
+SELECT @@global.innodb_log_checksum_algorithm;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_log_checksum_algorithm = '';
+SELECT @@global.innodb_log_checksum_algorithm;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_log_checksum_algorithm = 'foobar';
+SELECT @@global.innodb_log_checksum_algorithm;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_log_checksum_algorithm = 123;
+SELECT @@global.innodb_log_checksum_algorithm;
+
+SET GLOBAL innodb_log_checksum_algorithm = @orig;
+SELECT @@global.innodb_log_checksum_algorithm;
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test
new file mode 100644
index 00000000000..8d10309ae02
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test
@@ -0,0 +1,93 @@
+--source include/have_innodb.inc
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+SET @start_global_value = @@global.innodb_log_compressed_pages;
+SELECT @start_global_value;
+
+
+--echo '#---------------------BS_STVARS_028_01----------------------#'
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
+--echo 1 Expected
+
+
+--echo '#---------------------BS_STVARS_028_02----------------------#'
+####################################################################
+# Check if Value can set #
+####################################################################
+
+SET @@global.innodb_log_compressed_pages = 0;
+SELECT @@global.innodb_log_compressed_pages;
+
+SET @@global.innodb_log_compressed_pages ='On' ;
+SELECT @@global.innodb_log_compressed_pages;
+
+SET @@global.innodb_log_compressed_pages ='Off' ;
+SELECT @@global.innodb_log_compressed_pages;
+
+SET @@global.innodb_log_compressed_pages = 1;
+SELECT @@global.innodb_log_compressed_pages;
+
+--echo '#---------------------BS_STVARS_028_03----------------------#'
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+SELECT IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_compressed_pages';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_log_compressed_pages';
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_028_04----------------------#'
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_log_compressed_pages = @@GLOBAL.innodb_log_compressed_pages;
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_028_05----------------------#'
+################################################################################
+# Check if innodb_log_compressed_pages can be accessed with and without @@ sign#
+################################################################################
+
+SELECT COUNT(@@innodb_log_compressed_pages);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_log_compressed_pages);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_log_compressed_pages);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_log_compressed_pages = @@SESSION.innodb_log_compressed_pages;
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_log_compressed_pages = @start_global_value;
+SELECT @@global.innodb_log_compressed_pages;
diff --git a/mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test b/mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test
new file mode 100644
index 00000000000..12211308410
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test
@@ -0,0 +1,58 @@
+
+
+# 2011-02-23 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_lru_scan_depth;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid value 100 or more
+select @@global.innodb_lru_scan_depth >= 100;
+select @@global.innodb_lru_scan_depth;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_lru_scan_depth;
+show global variables like 'innodb_lru_scan_depth';
+show session variables like 'innodb_lru_scan_depth';
+select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+select * from information_schema.session_variables where variable_name='innodb_lru_scan_depth';
+
+#
+# show that it's writable
+#
+set global innodb_lru_scan_depth=325;
+select @@global.innodb_lru_scan_depth;
+select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+select * from information_schema.session_variables where variable_name='innodb_lru_scan_depth';
+--error ER_GLOBAL_VARIABLE
+set session innodb_lru_scan_depth=444;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_lru_scan_depth=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_lru_scan_depth=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_lru_scan_depth="foo";
+
+set global innodb_lru_scan_depth=7;
+select @@global.innodb_lru_scan_depth;
+select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+set global innodb_lru_scan_depth=-7;
+select @@global.innodb_lru_scan_depth;
+select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+
+#
+# min/max values
+#
+set global innodb_lru_scan_depth=100;
+select @@global.innodb_lru_scan_depth;
+
+SET @@global.innodb_lru_scan_depth = @start_global_value;
+SELECT @@global.innodb_lru_scan_depth;
diff --git a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test
index 7e70ed11351..5b4eaa41598 100644
--- a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test
@@ -44,7 +44,7 @@ SELECT @global_start_value;
########################################################################
SET @@global.innodb_max_dirty_pages_pct = 0;
-SET @@global.innodb_max_dirty_pages_pct = DEFAULT;
+SET @@global.innodb_max_dirty_pages_pct = @global_start_value;
SELECT @@global.innodb_max_dirty_pages_pct;
--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_lwm_basic.test b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_lwm_basic.test
new file mode 100644
index 00000000000..d81b6cc725b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_lwm_basic.test
@@ -0,0 +1,151 @@
+############# mysql-test\t\innodb_max_dirty_pages_pct_lwm_basic.test ##########
+# #
+# Variable Name: innodb_max_dirty_pages_pct_lwm #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 75 #
+# Range: 0-99 #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Rizwan #
+# #
+#Description: Test Cases of Dynamic System Variable #
+# innodb_max_dirty_pages_pct_lwm that checks the behavior of #
+# this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+--source include/have_innodb.inc
+--source include/load_sysvars.inc
+
+######################################################################
+# START OF innodb_max_dirty_pages_pct_lwm TESTS #
+######################################################################
+
+
+#################################################################################
+#Saving initial value of innodb_max_dirty_pages_pct_lwm in a temporary variable #
+#################################################################################
+
+SET @pct_lwm_start_value = @@global.innodb_max_dirty_pages_pct_lwm;
+SELECT @pct_lwm_start_value;
+
+SET @pct_start_value = @@global.innodb_max_dirty_pages_pct;
+SELECT @pct_start_value;
+
+--echo '#--------------------FN_DYNVARS_046_01------------------------#'
+########################################################################
+# Display the DEFAULT value of innodb_max_dirty_pages_pct_lwm #
+########################################################################
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = 0;
+SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_lwm_start_value;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
+###################################################################################
+#check if innodb_max_dirty_pages_pct_lwm can be accessed with and without @@ sign #
+###################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET innodb_max_dirty_pages_pct_lwm = 1;
+SELECT @@innodb_max_dirty_pages_pct_lwm;
+
+--Error ER_UNKNOWN_TABLE
+SELECT local.innodb_max_dirty_pages_pct_lwm;
+
+SET global innodb_max_dirty_pages_pct_lwm = 0;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+--echo '#--------------------FN_DYNVARS_046_03------------------------#'
+##########################################################################
+# change the value of innodb_max_dirty_pages_pct_lwm to a valid value #
+# Aloowed values are <= innodb_max_dirty_pages_pct value #
+##########################################################################
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = 0;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_start_value;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
+###########################################################################
+# Change the value of innodb_max_dirty_pages_pct_lwm to invalid value #
+###########################################################################
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = -1;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_dirty_pages_pct_lwm = "T";
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_dirty_pages_pct_lwm = "Y";
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_start_value + 1;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = 100;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+
+
+--echo '#----------------------FN_DYNVARS_046_05------------------------#'
+#########################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#########################################################################
+
+SELECT @@global.innodb_max_dirty_pages_pct_lwm =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct_lwm';
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct_lwm';
+
+--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_dirty_pages_pct_lwm = OFF;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_dirty_pages_pct_lwm = ON;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+--echo '#---------------------FN_DYNVARS_046_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = TRUE;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+SET @@global.innodb_max_dirty_pages_pct_lwm = FALSE;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.innodb_max_dirty_pages_pct = @pct_start_value;
+SELECT @@global.innodb_max_dirty_pages_pct;
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_lwm_start_value;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+###############################################################
+# END OF innodb_max_dirty_pages_pct_lwm TESTS #
+###############################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_delay_basic.test b/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_delay_basic.test
new file mode 100644
index 00000000000..6374e3716df
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_delay_basic.test
@@ -0,0 +1,43 @@
+# Variable Name: innodb_max_purge_lag_delay
+# Scope: Global #
+# Access Type: Static #
+# Data Type: numeric #
+
+--source include/have_innodb.inc
+
+SELECT @@GLOBAL.innodb_max_purge_lag_delay;
+--echo 0 Expected
+
+SET @@GLOBAL.innodb_max_purge_lag_delay=1;
+
+SELECT COUNT(@@GLOBAL.innodb_max_purge_lag_delay);
+--echo 1 Expected
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_max_purge_lag_delay';
+--echo 1 Expected
+
+SELECT @@innodb_max_purge_lag_delay = @@GLOBAL.innodb_max_purge_lag_delay;
+--echo 1 Expected
+
+SELECT COUNT(@@innodb_max_purge_lag_delay);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_max_purge_lag_delay);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_max_purge_lag_delay);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_max_purge_lag_delay = @@SESSION.innodb_max_purge_lag_delay;
+
+set global innodb_max_purge_lag_delay = -1;
+set global innodb_max_purge_lag_delay = 1000000;
+set global innodb_max_purge_lag_delay = 10000000;
+set global innodb_max_purge_lag_delay = 100000000;
+set global innodb_max_purge_lag_delay = 100000001;
+set global innodb_max_purge_lag_delay = 0;
diff --git a/mysql-test/suite/sys_vars/t/innodb_merge_sort_block_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_merge_sort_block_size_basic.test
deleted file mode 100644
index 2ec4870f345..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_merge_sort_block_size_basic.test
+++ /dev/null
@@ -1,19 +0,0 @@
---source include/have_xtradb.inc
-
-SELECT @@global.innodb_merge_sort_block_size;
-SELECT @@session.innodb_merge_sort_block_size;
-
-SET @old_global=@@global.innodb_merge_sort_block_size;
-SET @old_session=@@session.innodb_merge_sort_block_size;
-
-SET @@global.innodb_merge_sort_block_size = 2*1024*1024;
-SET @@session.innodb_merge_sort_block_size = 4*1024*1024;
-
-SELECT @@global.innodb_merge_sort_block_size;
-SELECT @@session.innodb_merge_sort_block_size;
-
-SET @@global.innodb_merge_sort_block_size = 1024*1024*1024+1;
-SELECT @@global.innodb_merge_sort_block_size;
-
-SET @@global.innodb_merge_sort_block_size=@old_global;
-SET @@session.innodb_merge_sort_block_size=@old_session;
diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test
new file mode 100644
index 00000000000..0615d62a0e1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test
@@ -0,0 +1,383 @@
+# This is the test for Metrics Monitor Table feature.
+# Test the metrics monitor system's control system
+# and counter accuracy.
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+--source include/have_innodb.inc
+set global innodb_monitor_disable = All;
+# Test turn on/off the monitor counter with "all" option
+# By default, they will be off
+select name, status from information_schema.innodb_metrics;
+
+# Turn on all monitor counters
+set global innodb_monitor_enable = all;
+
+# status should all change to "enabled"
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Test wrong argument to the global configure option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = aaa;
+
+# We require a valid monitor counter/module name. There is no default
+# counter name or module. A warning will be printed asking user to
+# specify a valid counter name.
+#--disable_warnings
+#set global innodb_monitor_enable = default;
+#--enable_warnings
+
+# Turn off all monitor counters, option name should be case
+# insensitive
+set global innodb_monitor_disable = All;
+
+# status should all change to "disabled"
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Reset all counter values
+set global innodb_monitor_reset_all = all;
+
+# count should all change to 0
+select name from information_schema.innodb_metrics where count!=0;
+
+# Test wildcard match, turn on all counters contain string "lock"
+set global innodb_monitor_enable = "%lock%";
+
+# All lock related counter should be enabled
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+
+# Disable them
+set global innodb_monitor_disable = "%lock%";
+
+# All lock related counter should be disabled
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+
+# No match for "%lock*"
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = "%lock*";
+
+# All counters will be turned on with wildcard match string with all "%"
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all counters
+set global innodb_monitor_disable="%%%%%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# One more round testing. All counters will be turned on with
+# single wildcard character "%"
+set global innodb_monitor_enable="%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all the counters with "%_%"
+set global innodb_monitor_disable="%_%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Turn on all counters start with "log"
+set global innodb_monitor_enable="log%%%%";
+
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+
+# Turn on counters "os_data_fsync" with wildcard match "os_%a_fs_ncs", "_"
+# is single character wildcard match word
+set global innodb_monitor_enable="os_%a_fs_ncs";
+
+# Turn on counters whose name contains "os" and "pending" with
+# wildcard match "os%pending%"
+set global innodb_monitor_enable="os%pending%";
+
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+
+# Empty string is an invalid option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="";
+
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="_";
+
+SET global innodb_monitor_disable = module_metadata;
+SET global innodb_monitor_reset_all = module_metadata;
+
+# Only turn on "table_open" counter
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# This will open the monitor_test table
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment by 1
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset the counter value while counter is still on (started)
+# This will reset value "count_reset" but not
+# "count"
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again to increment "metadata_table_handles_opened" again
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Cannot reset all monitor value while the counter is on
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn off the counter "metadata_table_handles_opened"
+set global innodb_monitor_disable = metadata_table_handles_opened;
+
+# Reset the counter value while counter is off (disabled)
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again. Since monitor is off, "metadata_table_handles_opened"
+# should not be incremented
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# "metadata_table_handles_opened" should increment
+select * from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset all the counters, include those counter *_since_start
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn on "table_open" counter again
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Test metadata_table_handles_opened again to see if it is working correctly
+# after above round of turning on/off/reset
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Test counter "metadata_table_handles_closed",
+# create index will close the old handle
+set global innodb_monitor_enable = metadata_table_handles_closed;
+
+create index idx on monitor_test(col);
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Reset counters only in "module_metadata" module
+set global innodb_monitor_disable = module_metadata;
+
+set global innodb_monitor_reset = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+set global innodb_monitor_reset_all = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Test Transaction Module
+set global innodb_monitor_enable = module_trx;
+
+begin;
+insert into monitor_test values(9);
+commit;
+
+begin;
+insert into monitor_test values(9);
+rollback;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+
+set global innodb_monitor_disable = module_trx;
+
+# Test DML Module
+set global innodb_monitor_enable = module_dml;
+
+insert into monitor_test values(9);
+
+update monitor_test set col = 10 where col = 9;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+ from information_schema.innodb_metrics
+ where name like "dml%";
+
+# test reset counter while the counter is on
+set global innodb_monitor_reset = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# insert/delete some rows after the reset
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# We do not allow reset_all while the counter is on, nothing
+# should be reset here
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Turn off the counter
+set global innodb_monitor_disable = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Reset all counter values
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Open individual counter "dml_inserts"
+set global innodb_monitor_enable = dml_inserts;
+
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+# Only counter "dml_inserts" should be updated
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+set global innodb_monitor_disable = module_dml;
+
+drop table monitor_test;
+
+set global innodb_monitor_enable = file_num_open_files;
+
+# Counters are unpredictable when innodb-file-per-table is on
+--replace_column 2 # 3 # 4 # 5 # 6 # 7 #
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+
+set global innodb_monitor_disable = file_num_open_files;
+
+# Test ICP module counters
+set global innodb_monitor_enable = "icp%";
+
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+
+insert into monitor_test values("13", 2, "aa");
+
+select a from monitor_test where b < 1 for update;
+
+# should have icp_attempts = 1 and icp_out_of_range = 1
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+# should have icp_attempts = 2 and icp_match = 1
+select a from monitor_test where b < 3 for update;
+
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+drop table monitor_test;
+set global innodb_monitor_disable = All;
+set global innodb_monitor_reset_all = all;
+
+-- disable_warnings
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+-- enable_warnings
diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test
new file mode 100644
index 00000000000..0615d62a0e1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test
@@ -0,0 +1,383 @@
+# This is the test for Metrics Monitor Table feature.
+# Test the metrics monitor system's control system
+# and counter accuracy.
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+--source include/have_innodb.inc
+set global innodb_monitor_disable = All;
+# Test turn on/off the monitor counter with "all" option
+# By default, they will be off
+select name, status from information_schema.innodb_metrics;
+
+# Turn on all monitor counters
+set global innodb_monitor_enable = all;
+
+# status should all change to "enabled"
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Test wrong argument to the global configure option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = aaa;
+
+# We require a valid monitor counter/module name. There is no default
+# counter name or module. A warning will be printed asking user to
+# specify a valid counter name.
+#--disable_warnings
+#set global innodb_monitor_enable = default;
+#--enable_warnings
+
+# Turn off all monitor counters, option name should be case
+# insensitive
+set global innodb_monitor_disable = All;
+
+# status should all change to "disabled"
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Reset all counter values
+set global innodb_monitor_reset_all = all;
+
+# count should all change to 0
+select name from information_schema.innodb_metrics where count!=0;
+
+# Test wildcard match, turn on all counters contain string "lock"
+set global innodb_monitor_enable = "%lock%";
+
+# All lock related counter should be enabled
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+
+# Disable them
+set global innodb_monitor_disable = "%lock%";
+
+# All lock related counter should be disabled
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+
+# No match for "%lock*"
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = "%lock*";
+
+# All counters will be turned on with wildcard match string with all "%"
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all counters
+set global innodb_monitor_disable="%%%%%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# One more round testing. All counters will be turned on with
+# single wildcard character "%"
+set global innodb_monitor_enable="%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all the counters with "%_%"
+set global innodb_monitor_disable="%_%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Turn on all counters start with "log"
+set global innodb_monitor_enable="log%%%%";
+
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+
+# Turn on counters "os_data_fsync" with wildcard match "os_%a_fs_ncs", "_"
+# is single character wildcard match word
+set global innodb_monitor_enable="os_%a_fs_ncs";
+
+# Turn on counters whose name contains "os" and "pending" with
+# wildcard match "os%pending%"
+set global innodb_monitor_enable="os%pending%";
+
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+
+# Empty string is an invalid option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="";
+
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="_";
+
+SET global innodb_monitor_disable = module_metadata;
+SET global innodb_monitor_reset_all = module_metadata;
+
+# Only turn on "table_open" counter
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# This will open the monitor_test table
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment by 1
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset the counter value while counter is still on (started)
+# This will reset value "count_reset" but not
+# "count"
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again to increment "metadata_table_handles_opened" again
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Cannot reset all monitor value while the counter is on
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn off the counter "metadata_table_handles_opened"
+set global innodb_monitor_disable = metadata_table_handles_opened;
+
+# Reset the counter value while counter is off (disabled)
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again. Since monitor is off, "metadata_table_handles_opened"
+# should not be incremented
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# "metadata_table_handles_opened" should increment
+select * from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset all the counters, include those counter *_since_start
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn on "table_open" counter again
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Test metadata_table_handles_opened again to see if it is working correctly
+# after above round of turning on/off/reset
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Test counter "metadata_table_handles_closed",
+# create index will close the old handle
+set global innodb_monitor_enable = metadata_table_handles_closed;
+
+create index idx on monitor_test(col);
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Reset counters only in "module_metadata" module
+set global innodb_monitor_disable = module_metadata;
+
+set global innodb_monitor_reset = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+set global innodb_monitor_reset_all = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Test Transaction Module
+set global innodb_monitor_enable = module_trx;
+
+begin;
+insert into monitor_test values(9);
+commit;
+
+begin;
+insert into monitor_test values(9);
+rollback;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+
+set global innodb_monitor_disable = module_trx;
+
+# Test DML Module
+set global innodb_monitor_enable = module_dml;
+
+insert into monitor_test values(9);
+
+update monitor_test set col = 10 where col = 9;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+ from information_schema.innodb_metrics
+ where name like "dml%";
+
+# test reset counter while the counter is on
+set global innodb_monitor_reset = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# insert/delete some rows after the reset
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# We do not allow reset_all while the counter is on, nothing
+# should be reset here
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Turn off the counter
+set global innodb_monitor_disable = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Reset all counter values
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Open individual counter "dml_inserts"
+set global innodb_monitor_enable = dml_inserts;
+
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+# Only counter "dml_inserts" should be updated
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+set global innodb_monitor_disable = module_dml;
+
+drop table monitor_test;
+
+set global innodb_monitor_enable = file_num_open_files;
+
+# Counters are unpredictable when innodb-file-per-table is on
+--replace_column 2 # 3 # 4 # 5 # 6 # 7 #
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+
+set global innodb_monitor_disable = file_num_open_files;
+
+# Test ICP module counters
+set global innodb_monitor_enable = "icp%";
+
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+
+insert into monitor_test values("13", 2, "aa");
+
+select a from monitor_test where b < 1 for update;
+
+# should have icp_attempts = 1 and icp_out_of_range = 1
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+# should have icp_attempts = 2 and icp_match = 1
+select a from monitor_test where b < 3 for update;
+
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+drop table monitor_test;
+set global innodb_monitor_disable = All;
+set global innodb_monitor_reset_all = all;
+
+-- disable_warnings
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+-- enable_warnings
diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test
new file mode 100644
index 00000000000..868f69300fa
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test
@@ -0,0 +1,383 @@
+# This is the test for Metrics Monitor Table feature.
+# Test the metrics monitor system's control system
+# and counter accuracy.
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip not fixed in innodb 5.6.10 or earlier
+}
+
+--source include/have_innodb.inc
+set global innodb_monitor_disable = All;
+# Test turn on/off the monitor counter with "all" option
+# By default, they will be off
+select name, status from information_schema.innodb_metrics;
+
+# Turn on all monitor counters
+set global innodb_monitor_enable = all;
+
+# status should all change to "enabled"
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Test wrong argument to the global configure option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = aaa;
+
+# We require a valid monitor counter/module name. There is no default
+# counter name or module. A warning will be printed asking user to
+# specify a valid counter name.
+#--disable_warnings
+#set global innodb_monitor_enable = default;
+#--enable_warnings
+
+# Turn off all monitor counters, option name should be case
+# insensitive
+set global innodb_monitor_disable = All;
+
+# status should all change to "disabled"
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Reset all counter values
+set global innodb_monitor_reset_all = all;
+
+# count should all change to 0
+select name from information_schema.innodb_metrics where count!=0;
+
+# Test wildcard match, turn on all counters contain string "lock"
+set global innodb_monitor_enable = "%lock%";
+
+# All lock related counter should be enabled
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+
+# Disable them
+set global innodb_monitor_disable = "%lock%";
+
+# All lock related counter should be disabled
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+
+# No match for "%lock*"
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = "%lock*";
+
+# All counters will be turned on with wildcard match string with all "%"
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all counters
+set global innodb_monitor_disable="%%%%%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# One more round testing. All counters will be turned on with
+# single wildcard character "%"
+set global innodb_monitor_enable="%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all the counters with "%_%"
+set global innodb_monitor_disable="%_%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Turn on all counters start with "log"
+set global innodb_monitor_enable="log%%%%";
+
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+
+# Turn on counters "os_data_fsync" with wildcard match "os_%a_fs_ncs", "_"
+# is single character wildcard match word
+set global innodb_monitor_enable="os_%a_fs_ncs";
+
+# Turn on counters whose name contains "os" and "pending" with
+# wildcard match "os%pending%"
+set global innodb_monitor_enable="os%pending%";
+
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+
+# Empty string is an invalid option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="";
+
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="_";
+
+SET global innodb_monitor_disable = module_metadata;
+SET global innodb_monitor_reset_all = module_metadata;
+
+# Only turn on "table_open" counter
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# This will open the monitor_test table
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment by 1
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset the counter value while counter is still on (started)
+# This will reset value "count_reset" but not
+# "count"
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again to increment "metadata_table_handles_opened" again
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Cannot reset all monitor value while the counter is on
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn off the counter "metadata_table_handles_opened"
+set global innodb_monitor_disable = metadata_table_handles_opened;
+
+# Reset the counter value while counter is off (disabled)
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again. Since monitor is off, "metadata_table_handles_opened"
+# should not be incremented
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# "metadata_table_handles_opened" should increment
+select * from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset all the counters, include those counter *_since_start
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn on "table_open" counter again
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Test metadata_table_handles_opened again to see if it is working correctly
+# after above round of turning on/off/reset
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Test counter "metadata_table_handles_closed",
+# create index will close the old handle
+set global innodb_monitor_enable = metadata_table_handles_closed;
+
+create index idx on monitor_test(col);
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Reset counters only in "module_metadata" module
+set global innodb_monitor_disable = module_metadata;
+
+set global innodb_monitor_reset = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+set global innodb_monitor_reset_all = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Test Transaction Module
+set global innodb_monitor_enable = module_trx;
+
+begin;
+insert into monitor_test values(9);
+commit;
+
+begin;
+insert into monitor_test values(9);
+rollback;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+
+set global innodb_monitor_disable = module_trx;
+
+# Test DML Module
+set global innodb_monitor_enable = module_dml;
+
+insert into monitor_test values(9);
+
+update monitor_test set col = 10 where col = 9;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+ from information_schema.innodb_metrics
+ where name like "dml%";
+
+# test reset counter while the counter is on
+set global innodb_monitor_reset = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# insert/delete some rows after the reset
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# We do not allow reset_all while the counter is on, nothing
+# should be reset here
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Turn off the counter
+set global innodb_monitor_disable = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Reset all counter values
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Open individual counter "dml_inserts"
+set global innodb_monitor_enable = dml_inserts;
+
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+# Only counter "dml_inserts" should be updated
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+set global innodb_monitor_disable = module_dml;
+
+drop table monitor_test;
+
+set global innodb_monitor_enable = file_num_open_files;
+
+# Counters are unpredictable when innodb-file-per-table is on
+--replace_column 2 # 3 # 4 # 5 # 6 # 7 #
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+
+set global innodb_monitor_disable = file_num_open_files;
+
+# Test ICP module counters
+set global innodb_monitor_enable = "icp%";
+
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+
+insert into monitor_test values("13", 2, "aa");
+
+select a from monitor_test where b < 1 for update;
+
+# should have icp_attempts = 1 and icp_out_of_range = 1
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+# should have icp_attempts = 2 and icp_match = 1
+select a from monitor_test where b < 3 for update;
+
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+drop table monitor_test;
+set global innodb_monitor_disable = All;
+set global innodb_monitor_reset_all = all;
+
+-- disable_warnings
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+-- enable_warnings
diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test
new file mode 100644
index 00000000000..868f69300fa
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test
@@ -0,0 +1,383 @@
+# This is the test for Metrics Monitor Table feature.
+# Test the metrics monitor system's control system
+# and counter accuracy.
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip not fixed in innodb 5.6.10 or earlier
+}
+
+--source include/have_innodb.inc
+set global innodb_monitor_disable = All;
+# Test turn on/off the monitor counter with "all" option
+# By default, they will be off
+select name, status from information_schema.innodb_metrics;
+
+# Turn on all monitor counters
+set global innodb_monitor_enable = all;
+
+# status should all change to "enabled"
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Test wrong argument to the global configure option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = aaa;
+
+# We require a valid monitor counter/module name. There is no default
+# counter name or module. A warning will be printed asking user to
+# specify a valid counter name.
+#--disable_warnings
+#set global innodb_monitor_enable = default;
+#--enable_warnings
+
+# Turn off all monitor counters, option name should be case
+# insensitive
+set global innodb_monitor_disable = All;
+
+# status should all change to "disabled"
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Reset all counter values
+set global innodb_monitor_reset_all = all;
+
+# count should all change to 0
+select name from information_schema.innodb_metrics where count!=0;
+
+# Test wildcard match, turn on all counters contain string "lock"
+set global innodb_monitor_enable = "%lock%";
+
+# All lock related counter should be enabled
+select name from information_schema.innodb_metrics
+where status != IF(name like "%lock%", 'enabled', 'disabled');
+
+# Disable them
+set global innodb_monitor_disable = "%lock%";
+
+# All lock related counter should be disabled
+select name, status from information_schema.innodb_metrics
+where name like "%lock%";
+
+# No match for "%lock*"
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable = "%lock*";
+
+# All counters will be turned on with wildcard match string with all "%"
+set global innodb_monitor_enable="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all counters
+set global innodb_monitor_disable="%%%%%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# One more round testing. All counters will be turned on with
+# single wildcard character "%"
+set global innodb_monitor_enable="%";
+
+select name from information_schema.innodb_metrics where status!='enabled';
+
+# Turn off all the counters with "%_%"
+set global innodb_monitor_disable="%_%";
+
+select name from information_schema.innodb_metrics where status!='disabled';
+
+# Turn on all counters start with "log"
+set global innodb_monitor_enable="log%%%%";
+
+select name from information_schema.innodb_metrics
+where status != IF(name like "log%", 'enabled', 'disabled');
+
+# Turn on counters "os_data_fsync" with wildcard match "os_%a_fs_ncs", "_"
+# is single character wildcard match word
+set global innodb_monitor_enable="os_%a_fs_ncs";
+
+# Turn on counters whose name contains "os" and "pending" with
+# wildcard match "os%pending%"
+set global innodb_monitor_enable="os%pending%";
+
+select name, status from information_schema.innodb_metrics
+where name like "os%";
+
+# Empty string is an invalid option
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="";
+
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_monitor_enable="_";
+
+SET global innodb_monitor_disable = module_metadata;
+SET global innodb_monitor_reset_all = module_metadata;
+
+# Only turn on "table_open" counter
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# This will open the monitor_test table
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment by 1
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset the counter value while counter is still on (started)
+# This will reset value "count_reset" but not
+# "count"
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again to increment "metadata_table_handles_opened" again
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Cannot reset all monitor value while the counter is on
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn off the counter "metadata_table_handles_opened"
+set global innodb_monitor_disable = metadata_table_handles_opened;
+
+# Reset the counter value while counter is off (disabled)
+set global innodb_monitor_reset = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# re-create table again. Since monitor is off, "metadata_table_handles_opened"
+# should not be incremented
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb;
+
+# "metadata_table_handles_opened" should increment
+select * from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Reset all the counters, include those counter *_since_start
+set global innodb_monitor_reset_all = metadata_table_handles_opened;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Turn on "table_open" counter again
+set global innodb_monitor_enable = metadata_table_handles_opened;
+
+# Test metadata_table_handles_opened again to see if it is working correctly
+# after above round of turning on/off/reset
+drop table monitor_test;
+
+# Create a new table to test "metadata_table_handles_opened" counter
+create table monitor_test(col int) engine = innodb stats_persistent=0;
+
+select * from monitor_test;
+
+# "metadata_table_handles_opened" should increment
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_opened";
+
+# Test counter "metadata_table_handles_closed",
+# create index will close the old handle
+set global innodb_monitor_enable = metadata_table_handles_closed;
+
+create index idx on monitor_test(col);
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name = "metadata_table_handles_closed";
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Reset counters only in "module_metadata" module
+set global innodb_monitor_disable = module_metadata;
+
+set global innodb_monitor_reset = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+set global innodb_monitor_reset_all = module_metadata;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "metadata%";
+
+# Test Transaction Module
+set global innodb_monitor_enable = module_trx;
+
+begin;
+insert into monitor_test values(9);
+commit;
+
+begin;
+insert into monitor_test values(9);
+rollback;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "trx_rollbacks" or name like "trx_active_transactions";
+
+set global innodb_monitor_disable = module_trx;
+
+# Test DML Module
+set global innodb_monitor_enable = module_dml;
+
+insert into monitor_test values(9);
+
+update monitor_test set col = 10 where col = 9;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+ from information_schema.innodb_metrics
+ where name like "dml%";
+
+# test reset counter while the counter is on
+set global innodb_monitor_reset = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# insert/delete some rows after the reset
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# We do not allow reset_all while the counter is on, nothing
+# should be reset here
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Turn off the counter
+set global innodb_monitor_disable = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Reset all counter values
+set global innodb_monitor_reset_all = module_dml;
+
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+# Open individual counter "dml_inserts"
+set global innodb_monitor_enable = dml_inserts;
+
+insert into monitor_test values(9);
+insert into monitor_test values(1);
+
+delete from monitor_test;
+
+# Only counter "dml_inserts" should be updated
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "dml%";
+
+set global innodb_monitor_disable = module_dml;
+
+drop table monitor_test;
+
+set global innodb_monitor_enable = file_num_open_files;
+
+# Counters are unpredictable when innodb-file-per-table is on
+--replace_column 2 # 3 # 4 # 5 # 6 # 7 #
+select name, max_count, min_count, count,
+ max_count_reset, min_count_reset, count_reset, status
+from information_schema.innodb_metrics
+where name like "file_num_open_files";
+
+set global innodb_monitor_disable = file_num_open_files;
+
+# Test ICP module counters
+set global innodb_monitor_enable = "icp%";
+
+create table monitor_test(a char(3), b int, c char(2),
+primary key (a(1), c(1)), key(b)) engine = innodb;
+
+insert into monitor_test values("13", 2, "aa");
+
+select a from monitor_test where b < 1 for update;
+
+# should have icp_attempts = 1 and icp_out_of_range = 1
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+# should have icp_attempts = 2 and icp_match = 1
+select a from monitor_test where b < 3 for update;
+
+select name, count from information_schema.innodb_metrics
+where name like "icp%";
+
+drop table monitor_test;
+set global innodb_monitor_disable = All;
+set global innodb_monitor_reset_all = all;
+
+-- disable_warnings
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+-- enable_warnings
diff --git a/mysql-test/suite/sys_vars/t/innodb_mtflush_threads_basic.test b/mysql-test/suite/sys_vars/t/innodb_mtflush_threads_basic.test
new file mode 100644
index 00000000000..c8412f969eb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_mtflush_threads_basic.test
@@ -0,0 +1,21 @@
+--source include/have_innodb.inc
+# bool readonly
+
+#
+# show values;
+#
+select @@global.innodb_mtflush_threads;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_mtflush_threads;
+show global variables like 'innodb_mtflush_threads';
+show session variables like 'innodb_mtflush_threads';
+select * from information_schema.global_variables where variable_name='innodb_mtflush_threads';
+select * from information_schema.session_variables where variable_name='innodb_mtflush_threads';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_mtflush_threads=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_mtflush_threads=1;
diff --git a/mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test
new file mode 100644
index 00000000000..aa1cc83819e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test
@@ -0,0 +1,51 @@
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_online_alter_log_max_size;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+select @@global.innodb_online_alter_log_max_size >= 524288;
+select @@global.innodb_online_alter_log_max_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_online_alter_log_max_size;
+show global variables like 'innodb_online_alter_log_max_size';
+show session variables like 'innodb_online_alter_log_max_size';
+select * from information_schema.global_variables where variable_name='innodb_online_alter_log_max_size';
+select * from information_schema.session_variables where variable_name='innodb_online_alter_log_max_size';
+
+#
+# show that it's writable
+#
+set global innodb_online_alter_log_max_size=1048576;
+select @@global.innodb_online_alter_log_max_size;
+select * from information_schema.global_variables where variable_name='innodb_online_alter_log_max_size';
+select * from information_schema.session_variables where variable_name='innodb_online_alter_log_max_size';
+set @@global.innodb_online_alter_log_max_size=524288;
+select @@global.innodb_online_alter_log_max_size;
+select * from information_schema.global_variables where variable_name='innodb_online_alter_log_max_size';
+select * from information_schema.session_variables where variable_name='innodb_online_alter_log_max_size';
+--error ER_GLOBAL_VARIABLE
+set session innodb_online_alter_log_max_size='some';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_online_alter_log_max_size='some';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_online_alter_log_max_size=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_online_alter_log_max_size='foo';
+set global innodb_online_alter_log_max_size=-2;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_online_alter_log_max_size=1e1;
+set global innodb_online_alter_log_max_size=2;
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_online_alter_log_max_size = @start_global_value;
+SELECT @@global.innodb_online_alter_log_max_size;
diff --git a/mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test b/mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test
new file mode 100644
index 00000000000..e9ff8a651bc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test
@@ -0,0 +1,70 @@
+
+
+# 2011-11-16 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_optimize_fulltext_only;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_optimize_fulltext_only in (0, 1);
+select @@global.innodb_optimize_fulltext_only;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_optimize_fulltext_only;
+show global variables like 'innodb_optimize_fulltext_only';
+show session variables like 'innodb_optimize_fulltext_only';
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+
+#
+# show that it's writable
+#
+set global innodb_optimize_fulltext_only='ON';
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+set @@global.innodb_optimize_fulltext_only=0;
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+set global innodb_optimize_fulltext_only=1;
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+set @@global.innodb_optimize_fulltext_only='OFF';
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--error ER_GLOBAL_VARIABLE
+set session innodb_optimize_fulltext_only='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_optimize_fulltext_only='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_optimize_fulltext_only=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_optimize_fulltext_only=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_optimize_fulltext_only=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_optimize_fulltext_only=-3;
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_optimize_fulltext_only='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_optimize_fulltext_only = @start_global_value;
+SELECT @@global.innodb_optimize_fulltext_only;
diff --git a/mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test b/mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test
new file mode 100644
index 00000000000..1479cbad744
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test
@@ -0,0 +1,22 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+#
+# exists as global only
+#
+select @@global.innodb_page_hash_locks between 1 and 1024;
+select @@global.innodb_page_hash_locks;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_page_hash_locks;
+show global variables like 'innodb_page_hash_locks';
+show session variables like 'innodb_page_hash_locks';
+select * from information_schema.global_variables where variable_name='innodb_page_hash_locks';
+select * from information_schema.session_variables where variable_name='innodb_page_hash_locks';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_page_hash_locks=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set @@session.innodb_page_hash_locks='some';
diff --git a/mysql-test/suite/sys_vars/t/innodb_persistent_stats_root_page_basic.test b/mysql-test/suite/sys_vars/t/innodb_persistent_stats_root_page_basic.test
deleted file mode 100644
index 2e216e10521..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_persistent_stats_root_page_basic.test
+++ /dev/null
@@ -1,26 +0,0 @@
---source include/have_debug.inc
---source include/have_xtradb.inc
-
-SELECT @@global.innodb_persistent_stats_root_page;
-SELECT COUNT(@@global.innodb_persistent_stats_root_page);
-
-# Read-only variable
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@global.innodb_persistent_stats_root_page=100;
-
-# Check if INFORMATION_SCHEMA agrees with the var
-SELECT @@global.innodb_persistent_stats_root_page = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_persistent_stats_root_page';
-
-SELECT COUNT(*) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_persistent_stats_root_page';
-
-# Check if accessing the var without GLOBAL points to the same
-SELECT @@innodb_persistent_stats_root_page = @@global.innodb_persistent_stats_root_page;
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.innodb_persistent_stats_root_page);
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@session.innodb_persistent_stats_root_page);
diff --git a/mysql-test/suite/sys_vars/t/innodb_prefix_index_cluster_optimization_basic.test b/mysql-test/suite/sys_vars/t/innodb_prefix_index_cluster_optimization_basic.test
new file mode 100644
index 00000000000..4e272fbd9c5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_prefix_index_cluster_optimization_basic.test
@@ -0,0 +1,76 @@
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_prefix_index_cluster_optimization;
+SELECT @start_global_value;
+
+--echo #
+--echo # exists as global only
+--echo #
+
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_prefix_index_cluster_optimization in (0, 1);
+select @@global.innodb_prefix_index_cluster_optimization;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_prefix_index_cluster_optimization;
+show global variables like 'innodb_prefix_index_cluster_optimization';
+show session variables like 'innodb_prefix_index_cluster_optimization';
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+
+--echo #
+--echo # show that it's writable
+--echo #
+
+set global innodb_prefix_index_cluster_optimization = 'OFF';
+select @@global.innodb_prefix_index_cluster_optimization;
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+set @@global.innodb_prefix_index_cluster_optimization = 'ON';
+select @@global.innodb_prefix_index_cluster_optimization;
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+set global innodb_prefix_index_cluster_optimization = 0;
+select @@global.innodb_prefix_index_cluster_optimization;
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+set @@global.innodb_prefix_index_cluster_optimization = 1;
+select @@global.innodb_prefix_index_cluster_optimization;
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+
+--error ER_GLOBAL_VARIABLE
+set session innodb_prefix_index_cluster_optimization = 'OFF';
+select @@global.innodb_prefix_index_cluster_optimization;
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_prefix_index_cluster_optimization = 'ON';
+select @@global.innodb_prefix_index_cluster_optimization;
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+
+--echo #
+--echo # incorrect types
+--echo #
+
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_prefix_index_cluster_optimization = 1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_prefix_index_cluster_optimization = 1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_prefix_index_cluster_optimization = 2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_prefix_index_cluster_optimization = -3;
+select @@global.innodb_prefix_index_cluster_optimization;
+select * from information_schema.global_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+select * from information_schema.session_variables where variable_name = 'innodb_prefix_index_cluster_optimization';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_prefix_index_cluster_optimization = 'AUTO';
+
+--echo #
+--echo # Cleanup
+--echo #
+
+SET @@global.innodb_prefix_index_cluster_optimization = @start_global_value;
+SELECT @@global.innodb_prefix_index_cluster_optimization;
diff --git a/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test b/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
index 5ad0ae485e0..4cbd7062108 100644
--- a/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
@@ -1,48 +1,81 @@
-#
-# innodb_print_all_deadlocks
-#
-
--- source include/have_innodb.inc
-
-SELECT @@innodb_print_all_deadlocks;
-
-SET GLOBAL innodb_print_all_deadlocks=1;
-CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB;
-INSERT INTO t1 VALUES (123);
-
-CREATE TABLE t2 (c2 INT, PRIMARY KEY (c2)) ENGINE=INNODB;
-INSERT INTO t2 VALUES (456);
-
--- connect (con1,localhost,root,,)
--- connect (con2,localhost,root,,)
-
--- connection con1
-BEGIN;
-SELECT * FROM t1 FOR UPDATE;
+# 2010-01-25 - Added
+#
--- connection con2
-BEGIN;
-SELECT * FROM t2 FOR UPDATE;
+--source include/have_innodb.inc
--- connection con1
--- send
-SELECT * FROM t2 FOR UPDATE;
+SET @start_global_value = @@global.innodb_print_all_deadlocks;
+SELECT @start_global_value;
--- connection con2
-let $wait_condition=
-SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
-WHERE state = 'Sending data' AND info = 'SELECT * FROM t2 FOR UPDATE';
--- source include/wait_condition.inc
--- error ER_LOCK_DEADLOCK
-SELECT * FROM t1 FOR UPDATE;
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+SELECT @@global.innodb_print_all_deadlocks in (0, 1);
+SELECT @@global.innodb_print_all_deadlocks;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_print_all_deadlocks;
+SHOW global variables LIKE 'innodb_print_all_deadlocks';
+SHOW session variables LIKE 'innodb_print_all_deadlocks';
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
--- connection default
+#
+# SHOW that it's writable
+#
+SET global innodb_print_all_deadlocks='OFF';
+SELECT @@global.innodb_print_all_deadlocks;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+SET @@global.innodb_print_all_deadlocks=1;
+SELECT @@global.innodb_print_all_deadlocks;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+SET global innodb_print_all_deadlocks=0;
+SELECT @@global.innodb_print_all_deadlocks;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+SET @@global.innodb_print_all_deadlocks='ON';
+SELECT @@global.innodb_print_all_deadlocks;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+--error ER_GLOBAL_VARIABLE
+SET session innodb_print_all_deadlocks='OFF';
+--error ER_GLOBAL_VARIABLE
+SET @@session.innodb_print_all_deadlocks='ON';
--- disconnect con1
--- disconnect con2
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_print_all_deadlocks=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_print_all_deadlocks=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET global innodb_print_all_deadlocks=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET global innodb_print_all_deadlocks=-3;
+SELECT @@global.innodb_print_all_deadlocks;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_all_deadlocks';
+--error ER_WRONG_VALUE_FOR_VAR
+SET global innodb_print_all_deadlocks='AUTO';
-DROP TABLE t2;
-DROP TABLE t1;
+#
+# Cleanup
+#
-SET GLOBAL innodb_print_all_deadlocks=default;
+SET @@global.innodb_print_all_deadlocks = @start_global_value;
+SELECT @@global.innodb_print_all_deadlocks;
diff --git a/mysql-test/suite/sys_vars/t/innodb_print_lock_wait_timeout_info_basic.test b/mysql-test/suite/sys_vars/t/innodb_print_lock_wait_timeout_info_basic.test
new file mode 100644
index 00000000000..23d8ba667ce
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_print_lock_wait_timeout_info_basic.test
@@ -0,0 +1,89 @@
+--source include/have_xtradb.inc
+
+SET @start_global_value = @@global.innodb_print_lock_wait_timeout_info;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+SELECT @@global.innodb_print_lock_wait_timeout_info in (0, 1);
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_print_lock_wait_timeout_info;
+SHOW global variables LIKE 'innodb_print_lock_wait_timeout_info';
+SHOW session variables LIKE 'innodb_print_lock_wait_timeout_info';
+--disable_warnings
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+--enable_warnings
+
+#
+# SHOW that it's writable
+#
+SET global innodb_print_lock_wait_timeout_info='OFF';
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+--disable_warnings
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+--enable_warnings
+SET @@global.innodb_print_lock_wait_timeout_info=1;
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+--disable_warnings
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+--enable_warnings
+SET global innodb_print_lock_wait_timeout_info=0;
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+--disable_warnings
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+--enable_warnings
+SET @@global.innodb_print_lock_wait_timeout_info='ON';
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+--disable_warnings
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+--enable_warnings
+--error ER_GLOBAL_VARIABLE
+SET session innodb_print_lock_wait_timeout_info='OFF';
+--error ER_GLOBAL_VARIABLE
+SET @@session.innodb_print_lock_wait_timeout_info='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_print_lock_wait_timeout_info=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_print_lock_wait_timeout_info=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET global innodb_print_lock_wait_timeout_info=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET global innodb_print_lock_wait_timeout_info=-3;
+SELECT @@global.innodb_print_lock_wait_timeout_info;
+--disable_warnings
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_print_lock_wait_timeout_info';
+--enable_warnings
+--error ER_WRONG_VALUE_FOR_VAR
+SET global innodb_print_lock_wait_timeout_info='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_print_lock_wait_timeout_info = @start_global_value;
+SELECT @@global.innodb_print_lock_wait_timeout_info;
diff --git a/mysql-test/suite/sys_vars/t/innodb_priority_cleaner_basic.test b/mysql-test/suite/sys_vars/t/innodb_priority_cleaner_basic.test
new file mode 100644
index 00000000000..a305978a280
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_priority_cleaner_basic.test
@@ -0,0 +1,36 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+--source include/linux.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_priority_cleaner;
+
+# Default value
+SELECT @@GLOBAL.innodb_priority_cleaner;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_priority_cleaner;
+
+# Correct values
+SET GLOBAL innodb_priority_cleaner='OFF';
+SELECT @@GLOBAL.innodb_priority_cleaner;
+SET GLOBAL innodb_priority_cleaner='ON';
+SELECT @@GLOBAL.innodb_priority_cleaner;
+SET GLOBAL innodb_priority_cleaner=0;
+SELECT @@GLOBAL.innodb_priority_cleaner;
+SET GLOBAL innodb_priority_cleaner=1;
+SELECT @@GLOBAL.innodb_priority_cleaner;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_priority_cleaner=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_priority_cleaner=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_priority_cleaner=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_priority_cleaner='foo';
+
+SET GLOBAL innodb_priority_cleaner = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_priority_io_basic.test b/mysql-test/suite/sys_vars/t/innodb_priority_io_basic.test
new file mode 100644
index 00000000000..d8a04cccf1e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_priority_io_basic.test
@@ -0,0 +1,36 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+--source include/linux.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_priority_io;
+
+# Default value
+SELECT @@GLOBAL.innodb_priority_io;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_priority_io;
+
+# Correct values
+SET GLOBAL innodb_priority_io='OFF';
+SELECT @@GLOBAL.innodb_priority_io;
+SET GLOBAL innodb_priority_io='ON';
+SELECT @@GLOBAL.innodb_priority_io;
+SET GLOBAL innodb_priority_io=0;
+SELECT @@GLOBAL.innodb_priority_io;
+SET GLOBAL innodb_priority_io=1;
+SELECT @@GLOBAL.innodb_priority_io;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_priority_io=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_priority_io=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_priority_io=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_priority_io='foo';
+
+SET GLOBAL innodb_priority_io = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_priority_master_basic.test b/mysql-test/suite/sys_vars/t/innodb_priority_master_basic.test
new file mode 100644
index 00000000000..f202738f4e1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_priority_master_basic.test
@@ -0,0 +1,36 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+--source include/linux.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_priority_master;
+
+# Default value
+SELECT @@GLOBAL.innodb_priority_master;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_priority_master;
+
+# Correct values
+SET GLOBAL innodb_priority_master='OFF';
+SELECT @@GLOBAL.innodb_priority_master;
+SET GLOBAL innodb_priority_master='ON';
+SELECT @@GLOBAL.innodb_priority_master;
+SET GLOBAL innodb_priority_master=0;
+SELECT @@GLOBAL.innodb_priority_master;
+SET GLOBAL innodb_priority_master=1;
+SELECT @@GLOBAL.innodb_priority_master;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_priority_master=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_priority_master=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_priority_master=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_priority_master='foo';
+
+SET GLOBAL innodb_priority_master = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_priority_purge_basic.test b/mysql-test/suite/sys_vars/t/innodb_priority_purge_basic.test
new file mode 100644
index 00000000000..b17a97838a5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_priority_purge_basic.test
@@ -0,0 +1,36 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+--source include/linux.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_priority_purge;
+
+# Default value
+SELECT @@GLOBAL.innodb_priority_purge;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_priority_purge;
+
+# Correct values
+SET GLOBAL innodb_priority_purge='OFF';
+SELECT @@GLOBAL.innodb_priority_purge;
+SET GLOBAL innodb_priority_purge='ON';
+SELECT @@GLOBAL.innodb_priority_purge;
+SET GLOBAL innodb_priority_purge=0;
+SELECT @@GLOBAL.innodb_priority_purge;
+SET GLOBAL innodb_priority_purge=1;
+SELECT @@GLOBAL.innodb_priority_purge;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_priority_purge=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_priority_purge=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_priority_purge=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_priority_purge='foo';
+
+SET GLOBAL innodb_priority_purge = @start_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_purge_run_now_basic.test b/mysql-test/suite/sys_vars/t/innodb_purge_run_now_basic.test
new file mode 100644
index 00000000000..0704784dbcc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_purge_run_now_basic.test
@@ -0,0 +1,53 @@
+#
+# Basic test for innodb_purge_run_now, note it is a duplicate of
+# innodb_purge_stop_now.
+#
+
+-- source include/have_innodb.inc
+
+# The config variable is a debug variable for now
+-- source include/have_debug.inc
+
+--disable_query_log
+# Enable metrics for the counters we are going to use
+set global innodb_monitor_enable = purge_stop_count;
+set global innodb_monitor_enable = purge_resume_count;
+--enable_query_log
+
+# Should be 0 for both
+SELECT name, count
+ FROM information_schema.innodb_metrics
+ WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+
+# Check the default value
+SET @orig = @@global.innodb_purge_run_now;
+SELECT @orig;
+
+# Stop of purge
+SET GLOBAL innodb_purge_stop_now = ON;
+
+# Stop count should now be 1
+SELECT name, count
+ FROM information_schema.innodb_metrics
+ WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+
+SET GLOBAL innodb_purge_run_now = ON;
+
+# Should always be OFF
+SELECT @@global.innodb_purge_run_now;
+
+# Both should be 1 now
+SELECT name, count
+ FROM information_schema.innodb_metrics
+ WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+
+--disable_query_log
+set global innodb_monitor_disable = all;
+set global innodb_monitor_reset_all = all;
+
+-- disable_warnings
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+-- enable_warnings
diff --git a/mysql-test/suite/sys_vars/t/innodb_purge_stop_now_basic.test b/mysql-test/suite/sys_vars/t/innodb_purge_stop_now_basic.test
new file mode 100644
index 00000000000..0704784dbcc
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_purge_stop_now_basic.test
@@ -0,0 +1,53 @@
+#
+# Basic test for innodb_purge_run_now, note it is a duplicate of
+# innodb_purge_stop_now.
+#
+
+-- source include/have_innodb.inc
+
+# The config variable is a debug variable for now
+-- source include/have_debug.inc
+
+--disable_query_log
+# Enable metrics for the counters we are going to use
+set global innodb_monitor_enable = purge_stop_count;
+set global innodb_monitor_enable = purge_resume_count;
+--enable_query_log
+
+# Should be 0 for both
+SELECT name, count
+ FROM information_schema.innodb_metrics
+ WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+
+# Check the default value
+SET @orig = @@global.innodb_purge_run_now;
+SELECT @orig;
+
+# Stop of purge
+SET GLOBAL innodb_purge_stop_now = ON;
+
+# Stop count should now be 1
+SELECT name, count
+ FROM information_schema.innodb_metrics
+ WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+
+SET GLOBAL innodb_purge_run_now = ON;
+
+# Should always be OFF
+SELECT @@global.innodb_purge_run_now;
+
+# Both should be 1 now
+SELECT name, count
+ FROM information_schema.innodb_metrics
+ WHERE name = 'purge_stop_count' OR name = 'purge_resume_count';
+
+--disable_query_log
+set global innodb_monitor_disable = all;
+set global innodb_monitor_reset_all = all;
+
+-- disable_warnings
+set global innodb_monitor_enable = default;
+set global innodb_monitor_disable = default;
+set global innodb_monitor_reset = default;
+set global innodb_monitor_reset_all = default;
+-- enable_warnings
diff --git a/mysql-test/suite/sys_vars/t/innodb_read_only_basic.test b/mysql-test/suite/sys_vars/t/innodb_read_only_basic.test
new file mode 100644
index 00000000000..581eb3538b8
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_read_only_basic.test
@@ -0,0 +1,20 @@
+--source include/have_innodb.inc
+
+# Can only be set from the command line.
+# show the global and session values;
+
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_read_only;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_read_only;
+show global variables like 'innodb_read_only';
+show session variables like 'innodb_read_only';
+select * from information_schema.global_variables where variable_name='innodb_read_only';
+select * from information_schema.session_variables where variable_name='innodb_read_only';
+
+# Show that it's read-only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_read_only=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_read_only=1;
+
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
new file mode 100644
index 00000000000..74ce3ffc049
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test
@@ -0,0 +1,35 @@
+--echo #
+--echo # Basic test for innodb_saved_page_number_debug.
+--echo #
+
+--source include/have_innodb.inc
+
+# The config variable is a debug variable
+-- source include/have_debug.inc
+
+SELECT @@global.innodb_saved_page_number_debug;
+
+set global innodb_saved_page_number_debug = 10;
+
+SELECT @@global.innodb_saved_page_number_debug;
+
+set global innodb_saved_page_number_debug = 100;
+
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_saved_page_number_debug = dummy;
+
+--error ER_GLOBAL_VARIABLE
+set innodb_saved_page_number_debug = ON;
+
+--echo # An example usage.
+create table t1 (f1 int primary key) engine = innodb;
+select space from information_schema.innodb_sys_tables
+where name = 'test/t1' into @space_id;
+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;
+
+SELECT @@global.innodb_saved_page_number_debug;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_sched_priority_cleaner_basic.test b/mysql-test/suite/sys_vars/t/innodb_sched_priority_cleaner_basic.test
new file mode 100644
index 00000000000..2c2037f167f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_sched_priority_cleaner_basic.test
@@ -0,0 +1,51 @@
+--source include/have_xtradb.inc
+--source include/linux.inc
+--source include/not_embedded.inc
+
+# A dynamic, global variable
+
+# Test in read-only mode
+--let $restart_parameters= --innodb-read-only
+--source include/restart_mysqld.inc
+--let $restart_parameters=
+
+# This has no actual effect in innodb_read_only mode
+SET GLOBAL innodb_sched_priority_cleaner=39;
+
+--source include/restart_mysqld.inc
+
+# Default value
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_sched_priority_cleaner;
+
+# Correct values
+# The high priority values may need permissions, thus do not test them
+# SET GLOBAL innodb_sched_priority_cleaner=39;
+# SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+#SET GLOBAL innodb_sched_priority_cleaner=34;
+# SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+SET GLOBAL innodb_sched_priority_cleaner=19;
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+SET GLOBAL innodb_sched_priority_cleaner=5;
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+SET GLOBAL innodb_sched_priority_cleaner=0;
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+
+# Incorrect values
+SET GLOBAL innodb_sched_priority_cleaner=-1;
+SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+#SET GLOBAL innodb_sched_priority_cleaner=40;
+#SELECT @@GLOBAL.innodb_sched_priority_cleaner;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_cleaner=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_cleaner=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_cleaner='foo';
+
+# If we are lacking permissions, then we cannot restore the startup value
+# at the end.
+--source include/restart_mysqld.inc
diff --git a/mysql-test/suite/sys_vars/t/innodb_sched_priority_io_basic.test b/mysql-test/suite/sys_vars/t/innodb_sched_priority_io_basic.test
new file mode 100644
index 00000000000..f77816e84c2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_sched_priority_io_basic.test
@@ -0,0 +1,44 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+--source include/linux.inc
+--source include/not_embedded.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_sched_priority_io;
+
+# Default value
+SELECT @@GLOBAL.innodb_sched_priority_io;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_sched_priority_io;
+
+# Correct values
+# The high priority values may need permissions, thus do not test them
+# SET GLOBAL innodb_sched_priority_io=39;
+# SELECT @@GLOBAL.innodb_sched_priority_io;
+#SET GLOBAL innodb_sched_priority_io=34;
+# SELECT @@GLOBAL.innodb_sched_priorit_io;
+SET GLOBAL innodb_sched_priority_io=19;
+SELECT @@GLOBAL.innodb_sched_priority_io;
+SET GLOBAL innodb_sched_priority_io=5;
+SELECT @@GLOBAL.innodb_sched_priority_io;
+SET GLOBAL innodb_sched_priority_io=0;
+SELECT @@GLOBAL.innodb_sched_priority_io;
+
+# Incorrect values
+SET GLOBAL innodb_sched_priority_io=-1;
+SELECT @@GLOBAL.innodb_sched_priority_io;
+#SET GLOBAL innodb_sched_priority_io=40;
+#SELECT @@GLOBAL.innodb_sched_priority_io;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_io=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_io=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_io='foo';
+
+# If we are lacking permissions, then we cannot restore the startup value
+# at the end.
+--source include/restart_mysqld.inc
diff --git a/mysql-test/suite/sys_vars/t/innodb_sched_priority_master_basic.test b/mysql-test/suite/sys_vars/t/innodb_sched_priority_master_basic.test
new file mode 100644
index 00000000000..150e7e5793d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_sched_priority_master_basic.test
@@ -0,0 +1,44 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+--source include/linux.inc
+--source include/not_embedded.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_sched_priority_master;
+
+# Default value
+SELECT @@GLOBAL.innodb_sched_priority_master;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_sched_priority_master;
+
+# Correct values
+# The high priority values may need permissions, thus do not test them
+# SET GLOBAL innodb_sched_priority_master=39;
+# SELECT @@GLOBAL.innodb_sched_priority_master;
+#SET GLOBAL innodb_sched_priority_master=34;
+# SELECT @@GLOBAL.innodb_sched_priority_master;
+SET GLOBAL innodb_sched_priority_master=19;
+SELECT @@GLOBAL.innodb_sched_priority_master;
+SET GLOBAL innodb_sched_priority_master=5;
+SELECT @@GLOBAL.innodb_sched_priority_master;
+SET GLOBAL innodb_sched_priority_master=0;
+SELECT @@GLOBAL.innodb_sched_priority_master;
+
+# Incorrect values
+SET GLOBAL innodb_sched_priority_master=-1;
+SELECT @@GLOBAL.innodb_sched_priority_master;
+#SET GLOBAL innodb_sched_priority_master=40;
+#SELECT @@GLOBAL.innodb_sched_priority_master;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_master=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_master=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_master='foo';
+
+# If we are lacking permissions, then we cannot restore the startup value
+# at the end.
+--source include/restart_mysqld.inc
diff --git a/mysql-test/suite/sys_vars/t/innodb_sched_priority_purge_basic.test b/mysql-test/suite/sys_vars/t/innodb_sched_priority_purge_basic.test
new file mode 100644
index 00000000000..bc37e4ee568
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_sched_priority_purge_basic.test
@@ -0,0 +1,44 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+--source include/linux.inc
+--source include/not_embedded.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_sched_priority_purge;
+
+# Default value
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_sched_priority_purge;
+
+# Correct values
+# The high priority values may need permissions, thus do not test them
+# SET GLOBAL innodb_sched_priority_purge=39;
+# SELECT @@GLOBAL.innodb_sched_priority_purge;
+#SET GLOBAL innodb_sched_priority_purge=34;
+# SELECT @@GLOBAL.innodb_sched_priority_purge;
+SET GLOBAL innodb_sched_priority_purge=19;
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+SET GLOBAL innodb_sched_priority_purge=5;
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+SET GLOBAL innodb_sched_priority_purge=0;
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+
+# Incorrect values
+SET GLOBAL innodb_sched_priority_purge=-1;
+SELECT @@GLOBAL.innodb_sched_priority_purge;
+#SET GLOBAL innodb_sched_priority_purge=40;
+#SELECT @@GLOBAL.innodb_sched_priority_purge;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_purge=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_purge=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_sched_priority_purge='foo';
+
+# If we are lacking permissions, then we cannot restore the startup value
+# at the end.
+--source include/restart_mysqld.inc
diff --git a/mysql-test/suite/sys_vars/t/innodb_scrub_log_basic.test b/mysql-test/suite/sys_vars/t/innodb_scrub_log_basic.test
new file mode 100644
index 00000000000..302f2a963c4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_scrub_log_basic.test
@@ -0,0 +1,50 @@
+--source include/have_innodb.inc
+
+# Display default value
+SELECT @@GLOBAL.innodb_scrub_log;
+--echo 0 Expected
+
+# Check if value can be set
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_scrub_log=1;
+--echo Expected error 'Read only variable'
+
+SELECT @@GLOBAL.innodb_scrub_log;
+--echo 0 Expected
+
+# Check if the value in GLOBAL TABLE matches value in variable
+SELECT IF(@@GLOBAL.innodb_scrub_log, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_scrub_log';
+--echo 1 Expected
+
+SELECT @@GLOBAL.innodb_scrub_log;
+--echo 0 Expected
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_scrub_log';
+--echo 0 Expected
+
+# Check if accessing variable with and without GLOBAL point to same variable
+SELECT @@innodb_scrub_log = @@GLOBAL.innodb_scrub_log;
+--echo 1 Expected
+
+# Check if innodb_scrub_log can be accessed with and without @@ sign
+SELECT @@innodb_scrub_log;
+--echo 0 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@local.innodb_scrub_log;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_scrub_log;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT @@GLOBAL.innodb_scrub_log;
+--echo 0 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_scrub_log;
+--echo Expected error 'Unknow column in field list'
diff --git a/mysql-test/suite/sys_vars/t/innodb_scrub_log_speed_basic.test b/mysql-test/suite/sys_vars/t/innodb_scrub_log_speed_basic.test
new file mode 100644
index 00000000000..5e750eebd65
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_scrub_log_speed_basic.test
@@ -0,0 +1,55 @@
+--source include/have_innodb.inc
+
+# Display default value
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+--echo 200 Expected
+
+# Check if value can be set
+SET @@GLOBAL.innodb_scrub_log_speed=100;
+--echo 1 Expected
+
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+--echo 100 Expected
+
+SET @@GLOBAL.innodb_scrub_log_speed=DEFAULT;
+--echo 1 Expected
+
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+--echo 200 Expected
+
+# Check if the value in GLOBAL TABLE matches value in variable
+SELECT @@GLOBAL.innodb_scrub_log_speed = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_scrub_log_speed';
+--echo 1 Expected
+
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+--echo 200 Expected
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_scrub_log_speed';
+--echo 200 Expected
+
+# Check if accessing variable with and without GLOBAL point to same variable
+SELECT @@innodb_scrub_log_speed = @@GLOBAL.innodb_scrub_log_speed;
+--echo 1 Expected
+
+# Check if innodb_scrub_log_speed can be accessed with and without @@ sign
+SELECT @@innodb_scrub_log_speed;
+--echo 200 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@local.innodb_scrub_log_speed;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_scrub_log_speed;
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT @@GLOBAL.innodb_scrub_log_speed;
+--echo 200 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_scrub_log_speed;
+--echo Expected error 'Unknow column in field list'
diff --git a/mysql-test/suite/sys_vars/t/innodb_sort_buffer_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_sort_buffer_size_basic.test
new file mode 100644
index 00000000000..920c992c1f9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_sort_buffer_size_basic.test
@@ -0,0 +1,26 @@
+
+#
+# 2011-11-17 - Added
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_sort_buffer_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_sort_buffer_size;
+show global variables like 'innodb_sort_buffer_size';
+show session variables like 'innodb_sort_buffer_size';
+select * from information_schema.global_variables where variable_name='innodb_sort_buffer_size';
+select * from information_schema.session_variables where variable_name='innodb_sort_buffer_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_sort_buffer_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_sort_buffer_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_auto_recalc_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_auto_recalc_basic.test
new file mode 100644
index 00000000000..0020c493091
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_auto_recalc_basic.test
@@ -0,0 +1,31 @@
+#
+# innodb_stats_auto_recalc
+#
+
+-- source include/have_innodb.inc
+
+# show the default value
+SELECT @@innodb_stats_auto_recalc;
+
+# check that it is writeable
+SET GLOBAL innodb_stats_auto_recalc=ON;
+SELECT @@innodb_stats_auto_recalc;
+
+SET GLOBAL innodb_stats_auto_recalc=OFF;
+SELECT @@innodb_stats_auto_recalc;
+
+SET GLOBAL innodb_stats_auto_recalc=1;
+SELECT @@innodb_stats_auto_recalc;
+
+SET GLOBAL innodb_stats_auto_recalc=0;
+SELECT @@innodb_stats_auto_recalc;
+
+# should be a boolean
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_stats_auto_recalc=123;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_stats_auto_recalc='foo';
+
+# restore the environment
+SET GLOBAL innodb_stats_auto_recalc=default;
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_include_delete_marked_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_include_delete_marked_basic.test
new file mode 100644
index 00000000000..2a3a0f9b44e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_include_delete_marked_basic.test
@@ -0,0 +1,53 @@
+###############################################################################
+# #
+# Variable Name: innodb_stats_include_delete_marked #
+# Scope: Global #
+# Access Type: Dynamic #
+# Data Type: numeric #
+# #
+# #
+# Creation Date: 2016-08-29 #
+# Author : Aditya #
+# #
+# #
+# Description: #
+# * Value check #
+# * Scope check #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+
+####################################################################
+# Display default value #
+####################################################################
+SELECT @@innodb_stats_include_delete_marked;
+
+SET GLOBAL innodb_stats_include_delete_marked=1;
+
+SELECT @@innodb_stats_include_delete_marked;
+
+# check error
+--error ER_GLOBAL_VARIABLE
+SET SESSION innodb_stats_include_delete_marked=1;
+
+# check error
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_stats_include_delete_marked=100;
+
+# check error
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_stats_include_delete_marked=foo;
+
+SET GLOBAL innodb_stats_include_delete_marked=OFF ;
+
+SELECT @@innodb_stats_include_delete_marked;
+
+SET GLOBAL innodb_stats_include_delete_marked=ON ;
+
+SELECT @@innodb_stats_include_delete_marked;
+
+# Check with default setting
+SET GLOBAL innodb_stats_include_delete_marked=Default ;
+
+SELECT @@innodb_stats_include_delete_marked;
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test
new file mode 100644
index 00000000000..4277b58de00
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test
@@ -0,0 +1,31 @@
+#
+# innodb_stats_persistent
+#
+
+-- source include/have_innodb.inc
+
+# show the default value
+SELECT @@innodb_stats_persistent;
+
+# check that it is writeable
+SET GLOBAL innodb_stats_persistent=ON;
+SELECT @@innodb_stats_persistent;
+
+SET GLOBAL innodb_stats_persistent=OFF;
+SELECT @@innodb_stats_persistent;
+
+SET GLOBAL innodb_stats_persistent=1;
+SELECT @@innodb_stats_persistent;
+
+SET GLOBAL innodb_stats_persistent=0;
+SELECT @@innodb_stats_persistent;
+
+# should be a boolean
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_stats_persistent=123;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_stats_persistent='foo';
+
+# restore the environment
+SET GLOBAL innodb_stats_persistent=off;
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test
new file mode 100644
index 00000000000..cf223c02090
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test
@@ -0,0 +1,57 @@
+
+#
+# 2010-01-25 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_stats_persistent_sample_pages;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are zero or above
+SELECT @@global.innodb_stats_persistent_sample_pages >=0;
+SELECT @@global.innodb_stats_persistent_sample_pages;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_stats_persistent_sample_pages;
+SHOW global variables LIKE 'innodb_stats_persistent_sample_pages';
+SHOW session variables LIKE 'innodb_stats_persistent_sample_pages';
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+
+#
+# SHOW that it's writable
+#
+SET global innodb_stats_persistent_sample_pages=10;
+SELECT @@global.innodb_stats_persistent_sample_pages;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+--error ER_GLOBAL_VARIABLE
+SET session innodb_stats_persistent_sample_pages=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_stats_persistent_sample_pages=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_stats_persistent_sample_pages=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_stats_persistent_sample_pages="foo";
+
+SET global innodb_stats_persistent_sample_pages=-7;
+SELECT @@global.innodb_stats_persistent_sample_pages;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_persistent_sample_pages';
+
+#
+# cleanup
+#
+SET @@global.innodb_stats_persistent_sample_pages = @start_global_value;
+SELECT @@global.innodb_stats_persistent_sample_pages;
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test
new file mode 100644
index 00000000000..ff3a50efa1f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test
@@ -0,0 +1,57 @@
+
+#
+# 2010-01-25 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_stats_transient_sample_pages;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are zero or above
+SELECT @@global.innodb_stats_transient_sample_pages >=0;
+SELECT @@global.innodb_stats_transient_sample_pages;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_stats_transient_sample_pages;
+SHOW global variables LIKE 'innodb_stats_transient_sample_pages';
+SHOW session variables LIKE 'innodb_stats_transient_sample_pages';
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+
+#
+# SHOW that it's writable
+#
+SET global innodb_stats_transient_sample_pages=10;
+SELECT @@global.innodb_stats_transient_sample_pages;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+--error ER_GLOBAL_VARIABLE
+SET session innodb_stats_transient_sample_pages=1;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_stats_transient_sample_pages=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_stats_transient_sample_pages=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_stats_transient_sample_pages="foo";
+
+SET global innodb_stats_transient_sample_pages=-7;
+SELECT @@global.innodb_stats_transient_sample_pages;
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_stats_transient_sample_pages';
+
+#
+# cleanup
+#
+SET @@global.innodb_stats_transient_sample_pages = @start_global_value;
+SELECT @@global.innodb_stats_transient_sample_pages;
diff --git a/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test b/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test
new file mode 100644
index 00000000000..4459632134d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test
@@ -0,0 +1,69 @@
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_status_output;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_status_output in (0, 1);
+select @@global.innodb_status_output;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_status_output;
+show global variables like 'innodb_status_output';
+show session variables like 'innodb_status_output';
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+
+#
+# show that it's writable
+#
+set global innodb_status_output='OFF';
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+set @@global.innodb_status_output=1;
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+set global innodb_status_output=0;
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+set @@global.innodb_status_output='ON';
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+--error ER_GLOBAL_VARIABLE
+set session innodb_status_output='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_status_output='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_status_output=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_status_output=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output=-3;
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+set global innodb_status_output=DEFAULT;
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_status_output = @start_global_value;
+SELECT @@global.innodb_status_output;
diff --git a/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test b/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test
new file mode 100644
index 00000000000..92c82b2ddbf
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test
@@ -0,0 +1,69 @@
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_status_output_locks;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_status_output_locks in (0, 1);
+select @@global.innodb_status_output_locks;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_status_output_locks;
+show global variables like 'innodb_status_output_locks';
+show session variables like 'innodb_status_output_locks';
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+
+#
+# show that it's writable
+#
+set global innodb_status_output_locks='OFF';
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+set @@global.innodb_status_output_locks=1;
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+set global innodb_status_output_locks=0;
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+set @@global.innodb_status_output_locks='ON';
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--error ER_GLOBAL_VARIABLE
+set session innodb_status_output_locks='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_status_output_locks='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_status_output_locks=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_status_output_locks=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output_locks=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output_locks=-3;
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+set global innodb_status_output_locks=DEFAULT;
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output_locks='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_status_output_locks = @start_global_value;
+SELECT @@global.innodb_status_output_locks;
diff --git a/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test
new file mode 100644
index 00000000000..53011acb576
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test
@@ -0,0 +1,31 @@
+# 2010-01-27 - Added
+
+--source include/have_innodb.inc
+
+if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in InnoDB 5.6.10 or earlier
+}
+
+# Exists as global only
+#
+--echo Valid values are between 0 and 1024
+SELECT @@global.innodb_sync_array_size between 0 and 1024;
+SELECT @@global.innodb_sync_array_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_sync_array_size;
+SHOW GLOBAL variables LIKE 'innodb_sync_array_size';
+SHOW SESSION variables LIKE 'innodb_sync_array_size';
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_sync_array_size';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_sync_array_size';
+
+#
+# Show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL innodb_sync_array_size=10;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET SESSION innodb_sync_array_size=10;
+SELECT @@global.innodb_sync_array_size;
diff --git a/mysql-test/suite/sys_vars/t/innodb_thread_sleep_delay_basic.test b/mysql-test/suite/sys_vars/t/innodb_thread_sleep_delay_basic.test
index 85ae2358db5..bc4efdd1d6f 100644
--- a/mysql-test/suite/sys_vars/t/innodb_thread_sleep_delay_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_thread_sleep_delay_basic.test
@@ -39,7 +39,7 @@ set global innodb_thread_sleep_delay=1.1;
set global innodb_thread_sleep_delay=1e1;
--error ER_WRONG_TYPE_FOR_VAR
set global innodb_thread_sleep_delay="foo";
---error ER_WRONG_TYPE_FOR_VAR
+
set global innodb_thread_sleep_delay=18446744073709551616;
set global innodb_thread_sleep_delay=-7;
diff --git a/mysql-test/suite/sys_vars/t/innodb_tmpdir_basic.test b/mysql-test/suite/sys_vars/t/innodb_tmpdir_basic.test
new file mode 100644
index 00000000000..3c547152e27
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_tmpdir_basic.test
@@ -0,0 +1,48 @@
+--source include/have_innodb.inc
+
+if (`select plugin_auth_version <= "5.6.28-MariaDB-76.1" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB as of 5.6.28-MariaDB-76.1 or earlier
+}
+
+SET @start_global_value = @@global.innodb_tmpdir;
+SELECT @start_global_value;
+
+#
+# exists as global and session
+#
+select @@session.innodb_tmpdir;
+
+show global variables like 'innodb_tmpdir';
+show session variables like 'innodb_tmpdir';
+
+select * from information_schema.global_variables where variable_name='innodb_tmpdir';
+select * from information_schema.session_variables where variable_name='innodb_tmpdir';
+#
+# Show that it is writable
+#
+
+set global innodb_tmpdir=@@global.tmpdir;
+set session innodb_tmpdir=@@global.tmpdir;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_tmpdir=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_tmpdir=1e1;
+
+#
+# path len more than 512
+#
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_tmpdir=repeat('a',1000);
+show warnings;
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_tmpdir = @start_global_value;
+SELECT @@global.innodb_tmpdir;
diff --git a/mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test b/mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test
new file mode 100644
index 00000000000..583dbe6aa03
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test
@@ -0,0 +1,85 @@
+################## mysql-test/t/innodb_undo_directory_basic.test ##############
+# #
+# Variable Name: innodb_undo_directory #
+# Scope: Global #
+# Access Type: Static #
+# Data Type: string #
+# #
+# #
+# Creation Date: 2011-07-05 #
+# Author : Sunny Bains #
+# #
+# #
+# Description: Read-only config global variable innodb_undo_directory #
+# * Value check #
+# * Scope check #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+
+####################################################################
+# Display the default value #
+####################################################################
+SELECT @@GLOBAL.innodb_undo_directory;
+--echo . Expected
+
+
+####################################################################
+# Check if Value can set #
+####################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_undo_directory="/tmp";
+--echo Expected error 'Read only variable'
+
+SELECT COUNT(@@GLOBAL.innodb_undo_directory);
+--echo 1 Expected
+
+
+################################################################################
+# Check if the value in GLOBAL table matches value in variable #
+################################################################################
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_directory';
+--echo . Expected
+
+SELECT COUNT(@@GLOBAL.innodb_undo_directory);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_directory';
+--echo 1 Expected
+
+
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_undo_directory = @@GLOBAL.innodb_undo_directory;
+--echo 1 Expected
+
+
+################################################################################
+# Check if innodb_undo_directory can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@innodb_undo_directory);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_undo_directory);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_undo_directory);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_undo_directory);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_undo_directory = @@SESSION.innodb_undo_directory;
+--echo Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test b/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test
new file mode 100644
index 00000000000..77b6af6909c
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test
@@ -0,0 +1,95 @@
+################## mysql-test/t/innodb_undo_logs_basic.test ############
+# #
+# Variable Name: innodb_undo_logs #
+# Scope: Global #
+# Access Type: Static #
+# Data Type: numeric #
+# #
+# #
+# Creation Date: 2011-07-05 #
+# Author : Sunny Bains #
+# #
+# #
+# Description: Read-only config global variable innodb_undo_logs #
+# * Value check #
+# * Scope check #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+
+####################################################################
+# Display default value #
+####################################################################
+SELECT @@GLOBAL.innodb_undo_logs;
+--echo 128 Expected
+
+
+####################################################################
+# Check if value can be set #
+####################################################################
+
+SET @@GLOBAL.innodb_undo_logs=128;
+
+SELECT COUNT(@@GLOBAL.innodb_undo_logs);
+--echo 1 Expected
+
+
+################################################################################
+# Check if the value in GLOBAL table matches value in variable #
+################################################################################
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_logs';
+--echo 128 Expected
+
+
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_undo_logs = @@GLOBAL.innodb_undo_logs;
+--echo 1 Expected
+
+
+################################################################################
+# Check if innodb_undo_logs can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@innodb_undo_logs);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_undo_logs);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_undo_logs);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_undo_logs = @@SESSION.innodb_undo_logs;
+
+# Begin Bug 13604034
+# SET GLOBAL INNODB_UNDO_LOGS=0 SUCCEEDS BUT LEADS TO AN ASSERT
+# MAX_UNDO_LOGS > 0
+--echo Begin bug 13604034
+select @@innodb_undo_logs;
+--echo 128 Expected
+set global innodb_undo_logs = 129;
+select @@innodb_undo_logs;
+--echo 128 Expected
+set global innodb_undo_logs = 0;
+select @@innodb_undo_logs;
+--echo 1 Expected
+set global innodb_undo_logs = -1;
+select @@innodb_undo_logs;
+--echo 1 Expected
+set global innodb_undo_logs = 50;
+select @@innodb_undo_logs;
+--echo 50 Expected
+set global innodb_undo_logs = default;
+select @@innodb_undo_logs;
+--echo 128 Expected
+--echo End bug 13604034
+# End Bug 13604034
diff --git a/mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test b/mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test
new file mode 100644
index 00000000000..53396249e03
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test
@@ -0,0 +1,77 @@
+################## mysql-test/t/innodb_undo_tablespaces_basic.test ############
+# #
+# Variable Name: innodb_undo_tablespaces #
+# Scope: Global #
+# Access Type: Static #
+# Data Type: string #
+# #
+# #
+# Creation Date: 2011-07-05 #
+# Author : Sunny Bains #
+# #
+# #
+# Description: Read-only config global variable innodb_undo_tablespaces #
+# * Value check #
+# * Scope check #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+
+####################################################################
+# Display default value #
+####################################################################
+SELECT @@GLOBAL.innodb_undo_tablespaces;
+--echo 0 Expected
+
+
+####################################################################
+# Check if value can be set #
+####################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_undo_tablespaces=128;
+--echo Expected error 'Read only variable'
+
+SELECT COUNT(@@GLOBAL.innodb_undo_tablespaces);
+--echo 1 Expected
+
+
+################################################################################
+# Check if the value in GLOBAL table matches value in variable #
+################################################################################
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_tablespaces';
+--echo 0 Expected
+
+
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_undo_tablespaces = @@GLOBAL.innodb_undo_tablespaces;
+--echo 1 Expected
+
+
+################################################################################
+# Check if innodb_undo_tablespaces can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@innodb_undo_tablespaces);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_undo_tablespaces);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_undo_tablespaces);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_undo_tablespaces);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_undo_tablespaces = @@SESSION.innodb_undo_tablespaces;
+--echo Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/t/innodb_use_mtflush_basic.test b/mysql-test/suite/sys_vars/t/innodb_use_mtflush_basic.test
new file mode 100644
index 00000000000..a9c40b9e522
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_use_mtflush_basic.test
@@ -0,0 +1,22 @@
+--source include/have_innodb.inc
+# bool readonly
+
+#
+# show values;
+#
+select @@global.innodb_use_mtflush;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_use_mtflush;
+show global variables like 'innodb_use_mtflush';
+show session variables like 'innodb_use_mtflush';
+select * from information_schema.global_variables where variable_name='innodb_use_mtflush';
+select * from information_schema.session_variables where variable_name='innodb_use_mtflush';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_use_mtflush=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_use_mtflush=1;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_use_trim_basic.test b/mysql-test/suite/sys_vars/t/innodb_use_trim_basic.test
new file mode 100644
index 00000000000..c1b0f142179
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_use_trim_basic.test
@@ -0,0 +1,36 @@
+--source include/have_innodb.inc
+
+SET @start_use_trim = @@global.innodb_use_trim;
+SELECT @start_use_trim;
+
+SELECT COUNT(@@GLOBAL.innodb_use_trim);
+--echo 1 Expected
+
+####################################################################
+# Check if Value can set #
+####################################################################
+
+SET @@GLOBAL.innodb_use_trim=1;
+
+SELECT COUNT(@@GLOBAL.innodb_use_trim);
+--echo 1 Expected
+
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+SELECT IF(@@GLOBAL.innodb_use_trim, 'ON', 'OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_use_trim';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_use_trim);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_use_trim';
+--echo 1 Expected
+
+SET @@global.innodb_use_trim = @start_use_trim;
+SELECT @@global.innodb_use_trim; \ No newline at end of file
diff --git a/mysql-test/suite/sys_vars/t/key_cache_file_hash_size_basic.test b/mysql-test/suite/sys_vars/t/key_cache_file_hash_size_basic.test
new file mode 100644
index 00000000000..deebe708d3d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/key_cache_file_hash_size_basic.test
@@ -0,0 +1,168 @@
+################# mysql-test\t\key_cache_file_hash_size.test ##################
+# #
+# Variable Name: key_cache_file_hash_size #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: numeric #
+# Default Value: 300 #
+# Range: 100-4294967295 #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Salman #
+# #
+# Description: Test Cases of Dynamic System Variable key_cache_file_hash_size #
+# that checks the behavior of this variable in the following ways#
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF key_cache_file_hash_size TESTS #
+########################################################################
+
+
+#############################################################################
+# Saving initial value of key_cache_file_hash_size in a temporary variable #
+#############################################################################
+
+SET @start_value = @@global.key_cache_file_hash_size;
+SELECT @start_value;
+
+
+--echo '#--------------------FN_DYNVARS_056_01------------------------#'
+################################################################################
+# Display the DEFAULT value of key_cache_file_hash_size #
+################################################################################
+
+SET @@global.key_cache_file_hash_size = DEFAULT;
+SELECT @@global.key_cache_file_hash_size;
+
+
+--echo '#---------------------FN_DYNVARS_056_02-------------------------#'
+###############################################
+# Verify default value of variable #
+###############################################
+
+SET @@global.key_cache_file_hash_size = @start_value;
+SELECT @@global.key_cache_file_hash_size = 300;
+
+
+--echo '#--------------------FN_DYNVARS_056_03------------------------#'
+###############################################################################
+# Change the value of key_cache_file_hash_size to a valid value #
+###############################################################################
+
+SET @@global.key_cache_file_hash_size = 128;
+SET @@global.key_cache_file_hash_size = 16384;
+SELECT @@global.key_cache_file_hash_size;
+
+--echo '#--------------------FN_DYNVARS_056_04-------------------------#'
+###########################################################################
+# Change the value of key_cache_file_hash_size to invalid value #
+###########################################################################
+
+SET @@global.key_cache_file_hash_size = -1;
+SELECT @@global.key_cache_file_hash_size;
+SET @@global.key_cache_file_hash_size = 42949672951;
+SELECT @@global.key_cache_file_hash_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.key_cache_file_hash_size = 10000.01;
+SELECT @@global.key_cache_file_hash_size;
+SET @@global.key_cache_file_hash_size = -1024;
+SELECT @@global.key_cache_file_hash_size;
+SET @@global.key_cache_file_hash_size = 99;
+SELECT @@global.key_cache_file_hash_size;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.key_cache_file_hash_size = ON;
+SELECT @@global.key_cache_file_hash_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.key_cache_file_hash_size = 'test';
+SELECT @@global.key_cache_file_hash_size;
+
+
+--echo '#-------------------FN_DYNVARS_056_05----------------------------#'
+###########################################################################
+# Test if accessing session key_cache_file_hash_size gives error #
+###########################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.key_cache_file_hash_size = 0;
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.key_cache_file_hash_size;
+
+
+--echo '#----------------------FN_DYNVARS_056_06------------------------#'
+##############################################################################
+# Check if the value in GLOBAL & SESSION Tables matches values in variable #
+##############################################################################
+
+SELECT @@global.key_cache_file_hash_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='key_cache_file_hash_size';
+
+SELECT @@key_cache_file_hash_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='key_cache_file_hash_size';
+
+
+--echo '#---------------------FN_DYNVARS_056_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.key_cache_file_hash_size = TRUE;
+SELECT @@global.key_cache_file_hash_size;
+SET @@global.key_cache_file_hash_size = FALSE;
+SELECT @@global.key_cache_file_hash_size;
+
+
+--echo '#---------------------FN_DYNVARS_056_08----------------------#'
+########################################################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
+########################################################################################################
+
+SET @@global.key_cache_file_hash_size = 150;
+SELECT @@key_cache_file_hash_size = @@global.key_cache_file_hash_size;
+
+
+--echo '#---------------------FN_DYNVARS_056_09----------------------#'
+########################################################################## #######
+# Check if key_cache_file_hash_size can be accessed with and without @@ sign #
+##################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET key_cache_file_hash_size = 8000;
+SELECT @@key_cache_file_hash_size;
+--Error ER_PARSE_ERROR
+SET local.key_cache_file_hash_size = 10;
+--Error ER_UNKNOWN_TABLE
+SELECT local.key_cache_file_hash_size;
+--Error ER_PARSE_ERROR
+SET global.key_cache_file_hash_size = 10;
+--Error ER_UNKNOWN_TABLE
+SELECT global.key_cache_file_hash_size;
+--Error ER_BAD_FIELD_ERROR
+SELECT key_cache_file_hash_size = @@session.key_cache_file_hash_size;
+
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.key_cache_file_hash_size = @start_value;
+SELECT @@global.key_cache_file_hash_size;
+
+
+########################################################################
+# END OF key_cache_file_hash_size TESTS #
+########################################################################
diff --git a/mysql-test/suite/sys_vars/t/last_gtid_basic.test b/mysql-test/suite/sys_vars/t/last_gtid_basic.test
new file mode 100644
index 00000000000..85fbf079bfb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/last_gtid_basic.test
@@ -0,0 +1,11 @@
+--source include/not_embedded.inc
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@global.last_gtid;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL last_gtid= 10;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET SESSION last_gtid= 20;
+
+SELECT @@session.last_gtid;
diff --git a/mysql-test/suite/sys_vars/t/lc_time_names_basic.test b/mysql-test/suite/sys_vars/t/lc_time_names_basic.test
index 68ee00b6ee0..c66bdc40a02 100644
--- a/mysql-test/suite/sys_vars/t/lc_time_names_basic.test
+++ b/mysql-test/suite/sys_vars/t/lc_time_names_basic.test
@@ -622,8 +622,10 @@ SET @@lc_time_names = 108;
SELECT @@lc_time_names;
SET @@lc_time_names = 109;
SELECT @@lc_time_names;
---Error ER_UNKNOWN_LOCALE
SET @@lc_time_names = 110;
+SELECT @@lc_time_names;
+--Error ER_UNKNOWN_LOCALE
+SET @@lc_time_names = 111;
--echo '#--------------------FN_DYNVARS_060_10-------------------------#'
#############################################################################
diff --git a/mysql-test/suite/sys_vars/t/log_basic.test b/mysql-test/suite/sys_vars/t/log_basic.test
deleted file mode 100644
index 74b344cff6d..00000000000
--- a/mysql-test/suite/sys_vars/t/log_basic.test
+++ /dev/null
@@ -1,62 +0,0 @@
-###################### mysql-test\t\log_basic.test ############################
-# #
-# Variable Name: log_basic #
-# Scope: GLOBAL #
-# Access Type: Dynamic #
-# Data Type: string #
-# Default Value: #
-# Range: #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-# Description: #
-# Test Cases of Dynamic System Variable log that checks the behavior of #
-# this variable in the following ways #
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: #
-# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
-# #
-###############################################################################
-
---source include/load_sysvars.inc
-
-#####################################
-## START OF log TESTS ##
-#####################################
-
---echo '#--------------------FN_DYNVARS_062_01------------------#'
-#############################################################
-# Accessing variable #
-#############################################################
-
-SET @start_log= @@global.log;
-
-SELECT @@global.log AS INIT_VALUE;
-
-SELECT @@log AS INIT_VALUE;
-
-SET @@global.log = ON;
-
-SET global log = 0;
-
---echo '#--------------------FN_DYNVARS_062_02-------------------------#'
-################################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-################################################################################
-# We can only access log value from information schema global_variables table
-SELECT VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='log';
-
-SET @@global.log= @start_log;
-
-############################################
-# END OF log TESTS #
-############################################
-
diff --git a/mysql-test/suite/sys_vars/t/log_bin_basename_basic.test b/mysql-test/suite/sys_vars/t/log_bin_basename_basic.test
new file mode 100644
index 00000000000..8ad5bd22bb6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/log_bin_basename_basic.test
@@ -0,0 +1,13 @@
+#
+# WL#5465: System variables: paths to relay log and binary log files
+#
+# Test for variable:
+# Variable Name: log_bin_basename
+# Variable Scope: Global
+# Dynamic Variable: No
+
+--source include/not_embedded.inc
+--source include/have_log_bin.inc
+
+--let $rpl_log_var_name=log_bin_basename
+--source suite/sys_vars/inc/bin_relay_log_basename_index.inc
diff --git a/mysql-test/suite/sys_vars/t/log_bin_index_basic.test b/mysql-test/suite/sys_vars/t/log_bin_index_basic.test
new file mode 100644
index 00000000000..c99df79f36f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/log_bin_index_basic.test
@@ -0,0 +1,13 @@
+#
+# WL#5465: System variables: paths to relay log and binary log files
+#
+# Test for variable:
+# Variable Name: log_bin_index
+# Variable Scope: Global
+# Dynamic Variable: No
+
+--source include/not_embedded.inc
+--source include/have_log_bin.inc
+
+--let $rpl_log_var_name=log_bin_index
+--source suite/sys_vars/inc/bin_relay_log_basename_index.inc
diff --git a/mysql-test/suite/sys_vars/t/log_slow_admin_statements_func.test b/mysql-test/suite/sys_vars/t/log_slow_admin_statements_func.test
new file mode 100644
index 00000000000..78e4d35f69a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/log_slow_admin_statements_func.test
@@ -0,0 +1,61 @@
+--source include/no_valgrind_without_big.inc
+-- source include/have_innodb.inc
+
+SET @old_log_output= @@global.log_output;
+SET @old_slow_query_log= @@global.slow_query_log;
+SET @old_long_query_time= @@session.long_query_time;
+SET @old_log_slow_admin_statements= @@global.log_slow_admin_statements;
+
+USE test;
+CREATE TABLE log_slow_admin_statements (
+ i INT PRIMARY KEY AUTO_INCREMENT,
+ j VARCHAR(255)
+) ENGINE=InnoDB;
+
+# enable slow logging to table
+SET GLOBAL log_output = 'file,table';
+SET GLOBAL slow_query_log = on;
+SET SESSION long_query_time = 0;
+SET GLOBAL log_slow_admin_statements = on;
+
+# test ALTER, OPTIMIZE and CHECK against the table shown up
+ALTER TABLE log_slow_admin_statements ADD COLUMN k INT DEFAULT 17;
+
+# add rows so OPTIMIZE and CHECK runs
+DELIMITER $;
+
+CREATE PROCEDURE add_rows()
+BEGIN
+ DECLARE count INT;
+ SET count = 1;
+ INSERT INTO log_slow_admin_statements(j) values (REPEAT('A', 255));
+ WHILE count <= 15 DO
+ INSERT INTO log_slow_admin_statements(j) SELECT j FROM log_slow_admin_statements;
+ SET count = count + 1;
+ END WHILE;
+END
+$
+
+DELIMITER ;$
+
+CALL add_rows();
+
+# OPTIMIZE TABLE
+OPTIMIZE TABLE log_slow_admin_statements;
+
+# CHECK TABLE
+CHECK TABLE log_slow_admin_statements EXTENDED;
+
+# DROP TABLE
+DROP TABLE log_slow_admin_statements;
+
+# ALTER, OPTIMIZE, CHECK and DROP operations should be logged in slow query log.
+SELECT sql_text FROM mysql.slow_log WHERE sql_text LIKE '%TABLE log_slow_admin_statements%';
+
+SET @@global.log_output= @old_log_output;
+SET @@global.slow_query_log= @old_slow_query_log;
+SET @@session.long_query_time= @old_long_query_time;
+SET @@global.log_slow_admin_statements= @old_log_slow_admin_statements;
+
+DROP PROCEDURE add_rows;
+TRUNCATE TABLE mysql.slow_log;
diff --git a/mysql-test/suite/sys_vars/t/log_slow_queries_basic.test b/mysql-test/suite/sys_vars/t/log_slow_queries_basic.test
deleted file mode 100644
index 22fe4dfaa6e..00000000000
--- a/mysql-test/suite/sys_vars/t/log_slow_queries_basic.test
+++ /dev/null
@@ -1,186 +0,0 @@
-##################### mysql-test\t\slow_query_log_basic.test ###################
-# #
-# Variable Name: log_slow_queries #
-# Scope: GLOBAL #
-# Access Type: Dynamic #
-# Data Type: BOOLEAN #
-# Default Value: OFF #
-# Valid Values: ON, OFF #
-# #
-# #
-# Creation Date: 2008-03-16 #
-# Author: Salman Rawala #
-# #
-# Description: Test Cases of Dynamic System Variable "log_slow_queries" #
-# that checks behavior of this variable in the following ways #
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-options.html#option_mysqld_event-scheduler #
-# #
-# #
-# 2010-01-20 OBN - Added check for variable value matching I_S tables after #
-# variable value change #
-# #
-################################################################################
-
---source include/load_sysvars.inc
-
-###########################################################
-# START OF log_slow_queries TESTS #
-###########################################################
-
-
-######################################################################
-# Saving initial value of log_slow_queries in a temporary variable #
-######################################################################
-
-SET @start_value = @@global.log_slow_queries;
-SELECT @start_value;
-
-
---echo '#---------------------FN_DYNVARS_004_01-------------------------#'
-###############################################
-# Verify default value of variable #
-###############################################
-
-SET @@global.log_slow_queries = DEFAULT;
-SELECT @@global.log_slow_queries = 0;
-
-
---echo '#--------------------FN_DYNVARS_004_02------------------------#'
-######################################################################
-# Change the value of log_slow_queries to a valid value #
-######################################################################
-
-SET @@global.log_slow_queries = ON;
-SELECT @@global.log_slow_queries;
-SET @@global.log_slow_queries = OFF;
-SELECT @@global.log_slow_queries;
-
---echo '#--------------------FN_DYNVARS_004_03-------------------------#'
-######################################################################
-# Change the value of log_slow_queries to invalid value #
-######################################################################
-
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = 2;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = -1;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = TRUEF;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = TRUE_F;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = FALSE0;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = OON;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = ONN;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = OOFF;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = 0FF;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = ' ';
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = " ";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.log_slow_queries = '';
-
-
---echo '#-------------------FN_DYNVARS_004_04----------------------------#'
-##################################################################
-# Test if accessing session log_slow_queries gives error #
-##################################################################
-
---Error ER_GLOBAL_VARIABLE
-SET @@session.log_slow_queries = OFF;
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT @@session.log_slow_queries;
-
-
---echo '#----------------------FN_DYNVARS_004_05------------------------#'
-##############################################################################
-# Check if the value in GLOBAL Tables matches values in variable #
-##############################################################################
-
-SELECT IF(@@global.log_slow_queries, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='log_slow_queries';
-
-
---echo '#---------------------FN_DYNVARS_004_06----------------------#'
-################################################################
-# Check if 0 and 1 values can be used on variable #
-################################################################
-
-SET @@global.log_slow_queries = 0;
-SELECT @@global.log_slow_queries;
-SELECT IF(@@global.log_slow_queries, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='log_slow_queries';
-SET @@global.log_slow_queries = 1;
-SELECT @@global.log_slow_queries;
-SELECT IF(@@global.log_slow_queries, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='log_slow_queries';
-
---echo '#---------------------FN_DYNVARS_004_07----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-SET @@global.log_slow_queries = TRUE;
-SELECT @@global.log_slow_queries;
-SELECT IF(@@global.log_slow_queries, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='log_slow_queries';
-SET @@global.log_slow_queries = FALSE;
-SELECT @@global.log_slow_queries;
-SELECT IF(@@global.log_slow_queries, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='log_slow_queries';
-
---echo '#---------------------FN_DYNVARS_004_08----------------------#'
-##############################################################################
-# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
-# to same session variable #
-##############################################################################
-
-SET @@global.log_slow_queries = ON;
-SELECT @@log_slow_queries = @@global.log_slow_queries;
-
---echo '#---------------------FN_DYNVARS_004_09----------------------#'
-######################################################################
-# Check if log_slow_queries can be accessed with and without @@ sign #
-######################################################################
---Error ER_GLOBAL_VARIABLE
-SET log_slow_queries = ON;
---Error ER_PARSE_ERROR
-SET local.log_slow_queries = OFF;
---Error ER_UNKNOWN_TABLE
-SELECT local.log_slow_queries;
---Error ER_PARSE_ERROR
-SET global.log_slow_queries = ON;
---Error ER_UNKNOWN_TABLE
-SELECT global.log_slow_queries;
---Error ER_BAD_FIELD_ERROR
-SELECT log_slow_queries = @@session.log_slow_queries;
-
-
-
-##############################
-# Restore initial value #
-##############################
-
-SET @@global.log_slow_queries = @start_value;
-SELECT @@global.log_slow_queries;
-
-
-####################################################
-# END OF log_slow_queries TESTS #
-####################################################
diff --git a/mysql-test/suite/sys_vars/t/log_slow_verbosity_basic.test b/mysql-test/suite/sys_vars/t/log_slow_verbosity_basic.test
index 9302d5f1210..f45fa5da9c5 100644
--- a/mysql-test/suite/sys_vars/t/log_slow_verbosity_basic.test
+++ b/mysql-test/suite/sys_vars/t/log_slow_verbosity_basic.test
@@ -29,12 +29,26 @@ set session log_slow_verbosity=2;
select @@session.log_slow_verbosity;
set session log_slow_verbosity=3;
select @@session.log_slow_verbosity;
+set session log_slow_verbosity=4;
+select @@session.log_slow_verbosity;
+set session log_slow_verbosity=5;
+select @@session.log_slow_verbosity;
+set session log_slow_verbosity=6;
+select @@session.log_slow_verbosity;
+set session log_slow_verbosity=7;
+select @@session.log_slow_verbosity;
+
+
set session log_slow_verbosity='innodb';
select @@session.log_slow_verbosity;
set session log_slow_verbosity='query_plan';
select @@session.log_slow_verbosity;
set session log_slow_verbosity='innodb,query_plan';
select @@session.log_slow_verbosity;
+set session log_slow_verbosity='explain';
+select @@session.log_slow_verbosity;
+set session log_slow_verbosity='innodb,query_plan,explain';
+select @@session.log_slow_verbosity;
set session log_slow_verbosity='';
select @@session.log_slow_verbosity;
@@ -48,6 +62,6 @@ set session log_slow_verbosity=1e1;
--error ER_WRONG_VALUE_FOR_VAR
set session log_slow_verbosity="foo";
--error ER_WRONG_VALUE_FOR_VAR
-set session log_slow_verbosity=4;
+set session log_slow_verbosity=8;
SET @@global.log_slow_verbosity = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/log_tc_size_basic.test b/mysql-test/suite/sys_vars/t/log_tc_size_basic.test
new file mode 100644
index 00000000000..221338d0304
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/log_tc_size_basic.test
@@ -0,0 +1,5 @@
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL log_tc_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET SESSION log_tc_size=1;
diff --git a/mysql-test/suite/sys_vars/t/max_digest_length_basic.test b/mysql-test/suite/sys_vars/t/max_digest_length_basic.test
new file mode 100644
index 00000000000..92a7417568e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/max_digest_length_basic.test
@@ -0,0 +1,46 @@
+# Copyright (C) 2010 Sun Microsystems, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
+
+--source include/not_embedded.inc
+
+#
+# Only global
+#
+
+select @@global.max_digest_length;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.max_digest_length;
+
+show global variables like 'max_digest_length';
+
+show session variables like 'max_digest_length';
+
+select * from information_schema.global_variables
+ where variable_name='max_digest_length';
+
+select * from information_schema.session_variables
+ where variable_name='max_digest_length';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global max_digest_length=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session max_digest_length=1;
+
diff --git a/mysql-test/suite/sys_vars/t/max_prepared_stmt_count_basic.test b/mysql-test/suite/sys_vars/t/max_prepared_stmt_count_basic.test
index 5bf5d9c8834..a97256d84a4 100644
--- a/mysql-test/suite/sys_vars/t/max_prepared_stmt_count_basic.test
+++ b/mysql-test/suite/sys_vars/t/max_prepared_stmt_count_basic.test
@@ -92,9 +92,9 @@ SET @@global.max_prepared_stmt_count = 10000.01;
SELECT @@global.max_prepared_stmt_count;
SET @@global.max_prepared_stmt_count = -1024;
SELECT @@global.max_prepared_stmt_count;
-SET @@global.max_prepared_stmt_count = 1048577;
+SET @@global.max_prepared_stmt_count = 4294967296;
SELECT @@global.max_prepared_stmt_count;
-SET @@global.max_prepared_stmt_count = 104857612;
+SET @@global.max_prepared_stmt_count = 4294967295*1024;
SELECT @@global.max_prepared_stmt_count;
--Error ER_WRONG_TYPE_FOR_VAR
diff --git a/mysql-test/suite/sys_vars/t/max_prepared_stmt_count_func.test b/mysql-test/suite/sys_vars/t/max_prepared_stmt_count_func.test
index 6617c4ad2ea..c37fc7ab114 100644
--- a/mysql-test/suite/sys_vars/t/max_prepared_stmt_count_func.test
+++ b/mysql-test/suite/sys_vars/t/max_prepared_stmt_count_func.test
@@ -19,7 +19,7 @@
# option_mysqld_max_prepared_stmt_count #
# #
################################################################################
-
+--source include/no_protocol.inc
--echo ** Setup **
--echo
diff --git a/mysql-test/suite/sys_vars/t/max_relay_log_size_basic.test b/mysql-test/suite/sys_vars/t/max_relay_log_size_basic.test
index e39778baca8..05d0fd1be82 100644
--- a/mysql-test/suite/sys_vars/t/max_relay_log_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/max_relay_log_size_basic.test
@@ -24,7 +24,7 @@
###############################################################################
--source include/load_sysvars.inc
-
+--source include/not_embedded.inc
###################################################################
# START OF max_relay_log_size TESTS #
@@ -105,9 +105,7 @@ SELECT @@global.max_relay_log_size;
# Test if accessing session max_relay_log_size gives error #
########################################################################
---Error ER_GLOBAL_VARIABLE
SET @@session.max_relay_log_size = 4096;
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.max_relay_log_size;
@@ -150,7 +148,6 @@ SELECT @@max_relay_log_size = @@global.max_relay_log_size;
# Check if max_relay_log_size can be accessed with and without @@ sign #
#############################################################################
---Error ER_GLOBAL_VARIABLE
SET max_relay_log_size = 6000;
SELECT @@max_relay_log_size;
--Error ER_PARSE_ERROR
diff --git a/mysql-test/suite/sys_vars/t/max_statement_time_basic.test b/mysql-test/suite/sys_vars/t/max_statement_time_basic.test
new file mode 100644
index 00000000000..186589dcee2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/max_statement_time_basic.test
@@ -0,0 +1,217 @@
+####################### mysql-test\t\max_statement_time_basic.test ###############
+# #
+# Variable Name: max_statement_time #
+# Scope: GLOBAL | SESSION #
+# Access Type: Dynamic #
+# Data Type: numeric #
+# Default Value:10 #
+# Min Value: 1 #
+# #
+# #
+# Creation Date: 2012-12-30 #
+# Author: Monty #
+# #
+# Description: Test Cases of Dynamic System Variable max_statement_time #
+# that checks the behavior of this variable in the following ways#
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: https://kb.askmonty.org/en/how-to-limittimeout-queries/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+
+############################################################
+# START OF max_statement_time TESTS #
+############################################################
+
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.max_statement_time;
+SELECT @start_global_value;
+SET @start_session_value = @@session.max_statement_time;
+SELECT @start_session_value;
+
+
+--echo '#--------------------FN_DYNVARS_068_01-------------------------#'
+###############################################################
+# Display the DEFAULT value of max_statement_time #
+###############################################################
+
+SET @@global.max_statement_time = 100;
+SET @@global.max_statement_time = DEFAULT;
+SELECT @@global.max_statement_time;
+
+SET @@session.max_statement_time = 200;
+SET @@session.max_statement_time = DEFAULT;
+SELECT @@session.max_statement_time;
+
+
+--echo '#--------------------FN_DYNVARS_068_02-------------------------#'
+###############################################################
+# Check the DEFAULT value of max_statement_time #
+###############################################################
+
+SET @@global.max_statement_time = DEFAULT;
+SELECT @@global.max_statement_time = 0;
+
+SET @@session.max_statement_time = DEFAULT;
+SELECT @@session.max_statement_time = 0;
+
+
+--echo '#--------------------FN_DYNVARS_068_03-------------------------#'
+#########################################################################
+# Change the value of max_statement_time to a valid value for GLOBAL Scope #
+#########################################################################
+
+SET @@global.max_statement_time = 0;
+SELECT @@global.max_statement_time;
+SET @@global.max_statement_time = 0.123456;
+SELECT @@global.max_statement_time;
+SET @@global.max_statement_time = 60020;
+SELECT @@global.max_statement_time;
+SET @@global.max_statement_time = 31536000;
+SELECT @@global.max_statement_time;
+SET @@global.max_statement_time = 65536;
+SELECT @@global.max_statement_time;
+
+
+--echo '#--------------------FN_DYNVARS_068_04-------------------------#'
+##########################################################################
+# Change the value of max_statement_time to a valid value for SESSION Scope #
+##########################################################################
+
+SET @@session.max_statement_time = 0;
+SELECT @@session.max_statement_time;
+SET @@session.max_statement_time = 1;
+SELECT @@session.max_statement_time;
+SET @@session.max_statement_time = 50050;
+SELECT @@session.max_statement_time;
+SET @@session.max_statement_time = 31536000;
+SELECT @@session.max_statement_time;
+SET @@session.max_statement_time = 65550;
+SELECT @@session.max_statement_time;
+
+
+--echo '#------------------FN_DYNVARS_068_05-----------------------#'
+########################################################
+# Change the value of max_statement_time to an invalid value #
+########################################################
+
+SET @@global.max_statement_time = 100000000000;
+SELECT @@global.max_statement_time;
+SET @@global.max_statement_time = -1;
+SELECT @@global.max_statement_time;
+SET @@global.max_statement_time = 65530.34;
+SELECT @@global.max_statement_time;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.max_statement_time = test;
+SELECT @@global.max_statement_time;
+
+SET @@session.max_statement_time = 100000000000;
+SELECT @@session.max_statement_time;
+SET @@session.max_statement_time = -2;
+SELECT @@session.max_statement_time;
+SET @@session.max_statement_time = 65530.34;
+SELECT @@session.max_statement_time;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.max_statement_time = test;
+SELECT @@session.max_statement_time;
+
+
+--echo '#------------------FN_DYNVARS_068_06-----------------------#'
+####################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+####################################################################
+
+
+SELECT @@global.max_statement_time = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='max_statement_time';
+
+--echo '#------------------FN_DYNVARS_068_07-----------------------#'
+####################################################################
+# Check if the value in SESSION Table matches value in variable #
+####################################################################
+
+SELECT @@session.max_statement_time = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='max_statement_time';
+
+
+--echo '#------------------FN_DYNVARS_068_08-----------------------#'
+####################################################################
+# Check if TRUE and FALSE values can be used on variable #
+####################################################################
+
+SET @@global.max_statement_time = TRUE;
+SELECT @@global.max_statement_time;
+SET @@global.max_statement_time = FALSE;
+SELECT @@global.max_statement_time;
+
+
+--echo '#---------------------FN_DYNVARS_001_09----------------------#'
+#################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+#################################################################################
+
+SET @@global.max_statement_time = 10;
+SELECT @@max_statement_time = @@global.max_statement_time;
+
+
+--echo '#---------------------FN_DYNVARS_001_10----------------------#'
+########################################################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
+########################################################################################################
+
+SET @@max_statement_time = 100;
+SELECT @@max_statement_time = @@local.max_statement_time;
+SELECT @@local.max_statement_time = @@session.max_statement_time;
+
+
+--echo '#---------------------FN_DYNVARS_001_11----------------------#'
+##########################################################################
+# Check if max_statement_time can be accessed with and without @@ sign #
+##########################################################################
+
+SET max_statement_time = 1;
+SELECT @@max_statement_time;
+--Error ER_UNKNOWN_TABLE
+SELECT local.max_statement_time;
+--Error ER_UNKNOWN_TABLE
+SELECT session.max_statement_time;
+--Error ER_BAD_FIELD_ERROR
+SELECT max_statement_time = @@session.max_statement_time;
+
+--echo #
+--echo # Check that one can use max_statement_time as a field
+--echo #
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (a int, max_statement_time int);
+drop table t1;
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.max_statement_time = @start_global_value;
+SELECT @@global.max_statement_time;
+SET @@session.max_statement_time = @start_session_value;
+SELECT @@session.max_statement_time;
+
+
+####################################################
+# END OF max_statement_time TESTS #
+####################################################
+
diff --git a/mysql-test/suite/sys_vars/t/max_user_connections_func.test b/mysql-test/suite/sys_vars/t/max_user_connections_func.test
index 74707c9b296..2af396b614f 100644
--- a/mysql-test/suite/sys_vars/t/max_user_connections_func.test
+++ b/mysql-test/suite/sys_vars/t/max_user_connections_func.test
@@ -39,6 +39,7 @@ SET @default_max_user_connections = @@global.max_user_connections;
Set Global max_user_connections=2;
+CREATE USER test@localhost;
GRANT USAGE on *.* TO test@localhost;
--echo '#--------------------FN_DYNVARS_114_01-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/metadata_locks_hash_instances_basic.test b/mysql-test/suite/sys_vars/t/metadata_locks_hash_instances_basic.test
new file mode 100644
index 00000000000..5fcf1d956d0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/metadata_locks_hash_instances_basic.test
@@ -0,0 +1,60 @@
+########## mysql-test\t\metadata_locks_hash_instances_basic.test ##############
+# #
+# Variable Name: metadata_locks_hash_instances #
+# Scope: Global #
+# Access Type: Static #
+# Data Type: Integer #
+# #
+###############################################################################
+
+
+--echo ####################################################################
+--echo # Displaying default value #
+--echo ####################################################################
+SELECT @@GLOBAL.metadata_locks_hash_instances;
+
+
+--echo ####################################################################
+--echo # Check that value cannot be set (this variable is settable only #
+--echo # at start-up). #
+--echo ####################################################################
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.metadata_locks_hash_instances=1;
+
+SELECT @@GLOBAL.metadata_locks_hash_instances;
+
+
+--echo #################################################################
+--echo # Check if the value in GLOBAL Table matches value in variable #
+--echo #################################################################
+SELECT @@GLOBAL.metadata_locks_hash_instances = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='metadata_locks_hash_instances';
+
+SELECT @@GLOBAL.metadata_locks_hash_instances;
+
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='metadata_locks_hash_instances';
+
+
+--echo ######################################################################
+--echo # Check if accessing variable with and without GLOBAL point to same #
+--echo # variable #
+--echo ######################################################################
+SELECT @@metadata_locks_hash_instances = @@GLOBAL.metadata_locks_hash_instances;
+
+
+--echo ######################################################################
+--echo # Check if variable has only the GLOBAL scope #
+--echo ######################################################################
+
+SELECT @@metadata_locks_hash_instances;
+
+SELECT @@GLOBAL.metadata_locks_hash_instances;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@local.metadata_locks_hash_instances;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.metadata_locks_hash_instances;
diff --git a/mysql-test/suite/sys_vars/t/mutex_deadlock_detector_basic.test b/mysql-test/suite/sys_vars/t/mutex_deadlock_detector_basic.test
deleted file mode 100644
index 398636fcb13..00000000000
--- a/mysql-test/suite/sys_vars/t/mutex_deadlock_detector_basic.test
+++ /dev/null
@@ -1,23 +0,0 @@
---source include/have_mutex_deadlock_detector.inc
-
-# bool readonly
-
-#
-# show the global and session values;
-#
-select @@global.mutex_deadlock_detector;
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-select @@session.mutex_deadlock_detector;
-show global variables like 'mutex_deadlock_detector';
-show session variables like 'mutex_deadlock_detector';
-select * from information_schema.global_variables where variable_name='mutex_deadlock_detector';
-select * from information_schema.session_variables where variable_name='mutex_deadlock_detector';
-
-#
-# show that it's read-only
-#
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-set global mutex_deadlock_detector=1;
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-set session mutex_deadlock_detector=1;
-
diff --git a/mysql-test/suite/sys_vars/t/myisam_sort_buffer_size_basic.test b/mysql-test/suite/sys_vars/t/myisam_sort_buffer_size_basic.test
index c35949ac5f3..1aa25fa2c8e 100644
--- a/mysql-test/suite/sys_vars/t/myisam_sort_buffer_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/myisam_sort_buffer_size_basic.test
@@ -60,10 +60,10 @@ SELECT @@session.myisam_sort_buffer_size ;
########################################################################
SET @@global.myisam_sort_buffer_size = DEFAULT;
-SELECT @@global.myisam_sort_buffer_size = 8388608;
+SELECT @@global.myisam_sort_buffer_size = 134216704;
SET @@session.myisam_sort_buffer_size = DEFAULT;
-SELECT @@session.myisam_sort_buffer_size = 8388608;
+SELECT @@session.myisam_sort_buffer_size = 134216704;
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/mysql56_temporal_format_basic.test b/mysql-test/suite/sys_vars/t/mysql56_temporal_format_basic.test
new file mode 100644
index 00000000000..d0de9202d3f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/mysql56_temporal_format_basic.test
@@ -0,0 +1,165 @@
+############## mysql-test\t\mysql56_temporal_format_basic.test ################
+# #
+# Variable Name: mysql56_temporal_format #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: boolean #
+# Default Value: OFF #
+# Range: #
+# #
+# Creation Date: 2014-08-27 #
+# #
+# Description: Test Cases of Dynamic System Variable mysql56_temporal_format #
+# that checks the behavior of this variable in the following ways#
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+########################################################################
+# START OF mysql56_temporal_format TESTS #
+########################################################################
+
+
+###########################################################################
+# Saving initial value of mysql56_temporal_format in a temporary variable #
+###########################################################################
+
+SET @start_value = @@global.mysql56_temporal_format;
+SELECT @start_value;
+
+
+--echo '#--------------------FN_DYNVARS_030_01------------------------#'
+#############################################################
+# Display the DEFAULT value of mysql56_temporal_format #
+#############################################################
+
+SET @@global.mysql56_temporal_format = ON;
+SET @@global.mysql56_temporal_format = DEFAULT;
+SELECT @@global.mysql56_temporal_format;
+
+
+--echo '#---------------------FN_DYNVARS_030_02-------------------------#'
+###############################################
+# Verify default value of variable #
+###############################################
+
+SET @@global.mysql56_temporal_format = @start_value;
+SELECT @@global.mysql56_temporal_format;
+
+
+--echo '#--------------------FN_DYNVARS_030_03------------------------#'
+################################################################
+# Change the value of mysql56_temporal_format to a valid value #
+################################################################
+
+SET @@global.mysql56_temporal_format = ON;
+SELECT @@global.mysql56_temporal_format;
+SET @@global.mysql56_temporal_format = OFF;
+SELECT @@global.mysql56_temporal_format;
+SET @@global.mysql56_temporal_format = 0;
+SELECT @@global.mysql56_temporal_format;
+SET @@global.mysql56_temporal_format = 1;
+SELECT @@global.mysql56_temporal_format;
+
+
+--echo '#--------------------FN_DYNVARS_030_04-------------------------#'
+###########################################################################
+# Change the value of mysql56_temporal_format to invalid value #
+###########################################################################
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = 2;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = -1;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = TRUEF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = TRUE_F;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = FALSE0;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = OON;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = ONN;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = OOFF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = 0FF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = ' ';
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = " ";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.mysql56_temporal_format = '';
+
+
+--echo '#-------------------FN_DYNVARS_030_05----------------------------#'
+###########################################################################
+# Test if accessing session mysql56_temporal_format gives error #
+###########################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.mysql56_temporal_format = 1;
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.mysql56_temporal_format;
+
+
+--echo '#----------------------FN_DYNVARS_030_06------------------------#'
+####################################################################
+# Check if the value in GLOBAL Tables matches values in variable #
+####################################################################
+
+SELECT IF(@@global.mysql56_temporal_format, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='mysql56_temporal_format';
+
+
+--echo '#---------------------FN_DYNVARS_030_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.mysql56_temporal_format = TRUE;
+SELECT @@global.mysql56_temporal_format;
+SET @@global.mysql56_temporal_format = FALSE;
+SELECT @@global.mysql56_temporal_format;
+
+
+--echo '#---------------------FN_DYNVARS_030_08----------------------#'
+###############################################################################
+# Check if accessing variable without SCOPE points to same global variable #
+###############################################################################
+
+SET @@global.mysql56_temporal_format = 1;
+SELECT @@mysql56_temporal_format = @@global.mysql56_temporal_format;
+
+--echo '#---------------------FN_DYNVARS_030_09----------------------#'
+#############################################################################
+# Check if mysql56_temporal_format can be accessed with and without @@ sign #
+#############################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET mysql56_temporal_format = 1;
+--Error ER_PARSE_ERROR
+SET global.mysql56_temporal_format = 1;
+--Error ER_UNKNOWN_TABLE
+SELECT global.mysql56_temporal_format;
+--Error ER_BAD_FIELD_ERROR
+SELECT mysql56_temporal_format = @@session.mysql56_temporal_format;
+
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.mysql56_temporal_format = @start_value;
+SELECT @@global.mysql56_temporal_format;
+
+
+#############################################################
+# END OF mysql56_temporal_format TESTS #
+#############################################################
diff --git a/mysql-test/suite/sys_vars/t/mysql56_temporal_format_func.test b/mysql-test/suite/sys_vars/t/mysql56_temporal_format_func.test
new file mode 100644
index 00000000000..b36a4e03691
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/mysql56_temporal_format_func.test
@@ -0,0 +1,66 @@
+#
+# This test checks that DATETIME, DATETIME(5), TIME(5) columns
+# occupy different data length depending on @@mysql56_temporal_format:
+#
+# Type MariaDB MySQL
+# ---- ------- -----
+# DATETIME 8 5
+# DATETIME(5) 7 8
+# TIME(5) 5 6
+#
+# The DATETIME(1-3,4,6) and TIME(0-4,6) data types use the same size
+# in both MariaDB and MySQL formats.
+# TIMESTAMP(0-6) also uses the same size in both formats.
+#
+# We use two columns in the tests below, to make sure the record length
+# is longer than 7. Records whose fields occupy less then 7 bytes use
+# 7 bytes anyway (assuming the default MAX_ROWS values), to store deleted
+# record list pointers.
+#
+
+--echo #
+--echo # MariaDB-5.3 format
+--echo #
+SET @@global.mysql56_temporal_format=false;
+CREATE TABLE t1 (a DATETIME NOT NULL, b DATETIME NOT NULL);
+INSERT INTO t1 VALUES ('2001-01-01 10:10:10','2001-01-01 10:10:10');
+SELECT * FROM t1;
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+DROP TABLE t1;
+
+CREATE TABLE t1 (a DATETIME(5) NOT NULL, b DATETIME(5) NOT NULL);
+INSERT INTO t1 VALUES ('2001-01-01 10:10:10.12345','2001-01-01 10:10:10.12345');
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+SELECT * FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1 (a TIME(5) NOT NULL,b TIME(5) NOT NULL);
+INSERT INTO t1 VALUES ('10:10:10.12345','10:10:10.12345');
+SELECT * FROM t1;
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+DROP TABLE t1;
+
+--echo #
+--echo # MySQL-5.6 format
+--echo #
+
+SET @@global.mysql56_temporal_format=true;
+CREATE TABLE t1 (a DATETIME NOT NULL, b DATETIME NOT NULL);
+INSERT INTO t1 VALUES ('2001-01-01 10:10:10','2001-01-01 10:10:10');
+SELECT * FROM t1;
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+DROP TABLE t1;
+
+CREATE TABLE t1 (a DATETIME(5) NOT NULL, b DATETIME(5) NOT NULL);
+INSERT INTO t1 VALUES ('2001-01-01 10:10:10.12345','2001-01-01 10:10:10.12345');
+SELECT * FROM t1;
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+DROP TABLE t1;
+
+CREATE TABLE t1 (a TIME(5) NOT NULL,b TIME(5) NOT NULL);
+INSERT INTO t1 VALUES ('10:10:10.12345','10:10:10.12345');
+SELECT * FROM t1;
+SELECT (AVG_ROW_LENGTH-1) DIV 2 AS FIELD_LENGTH,DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
+DROP TABLE t1;
+
+SET @@global.mysql56_temporal_format=DEFAULT;
diff --git a/mysql-test/suite/sys_vars/t/old_mode_basic.test b/mysql-test/suite/sys_vars/t/old_mode_basic.test
index 6770219887d..93a93960836 100644
--- a/mysql-test/suite/sys_vars/t/old_mode_basic.test
+++ b/mysql-test/suite/sys_vars/t/old_mode_basic.test
@@ -168,10 +168,13 @@ SELECT @@global.old_mode;
SET @@global.old_mode = 2;
SELECT @@global.old_mode;
---Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = 4;
SELECT @@global.old_mode;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.old_mode = 8;
+SELECT @@global.old_mode;
+
# use of decimal values
--Error ER_WRONG_TYPE_FOR_VAR
diff --git a/mysql-test/suite/sys_vars/t/optimizer_selectivity_sampling_limit_basic.test b/mysql-test/suite/sys_vars/t/optimizer_selectivity_sampling_limit_basic.test
new file mode 100644
index 00000000000..232ff99db74
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/optimizer_selectivity_sampling_limit_basic.test
@@ -0,0 +1,154 @@
+
+--source include/load_sysvars.inc
+
+#################################################################
+# START OF optimizer_selectivity_sampling_limit TESTS #
+#################################################################
+
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.optimizer_selectivity_sampling_limit;
+SELECT @start_global_value;
+SET @start_session_value = @@session.optimizer_selectivity_sampling_limit;
+SELECT @start_session_value;
+
+
+--echo '#--------------------FN_DYNVARS_115_01-------------------------#'
+#########################################################################
+# Display the DEFAULT value of optimizer_selectivity_sampling_limit #
+#########################################################################
+
+SET @@global.optimizer_selectivity_sampling_limit = DEFAULT;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+
+SET @@session.optimizer_selectivity_sampling_limit = DEFAULT;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+
+
+--echo '#--------------------FN_DYNVARS_115_02-------------------------#'
+#########################################################################
+# Check the DEFAULT value of optimizer_selectivity_sampling_limit #
+#########################################################################
+
+SET @@global.optimizer_selectivity_sampling_limit = DEFAULT;
+SELECT @@global.optimizer_selectivity_sampling_limit = 100;
+
+SET @@session.optimizer_selectivity_sampling_limit = DEFAULT;
+SELECT @@session.optimizer_selectivity_sampling_limit = 100;
+
+
+--echo '#--------------------FN_DYNVARS_115_03-------------------------#'
+#############################################################################################
+# Change the value of optimizer_selectivity_sampling_limit to a valid value for GLOBAL Scope #
+#############################################################################################
+
+SELECT @@global.optimizer_selectivity_sampling_limit;
+SET @@global.optimizer_selectivity_sampling_limit = 9;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+SET @@global.optimizer_selectivity_sampling_limit = 10;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+SET @@global.optimizer_selectivity_sampling_limit = 11;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+SET @@global.optimizer_selectivity_sampling_limit = 7777;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+SET @@global.optimizer_selectivity_sampling_limit = 4294967294;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+SET @@global.optimizer_selectivity_sampling_limit = 4294967295;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+SET @@global.optimizer_selectivity_sampling_limit = 4294967296;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+
+
+--echo '#--------------------FN_DYNVARS_115_04-------------------------#'
+#############################################################################################
+# Change the value of optimizer_selectivity_sampling_limit to a valid value for SESSION Scope#
+#############################################################################################
+
+SELECT @@session.optimizer_selectivity_sampling_limit;
+SET @@session.optimizer_selectivity_sampling_limit = 9;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+SET @@session.optimizer_selectivity_sampling_limit = 10;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+SET @@session.optimizer_selectivity_sampling_limit = 11;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+SET @@session.optimizer_selectivity_sampling_limit = 7777;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+SET @@session.optimizer_selectivity_sampling_limit = 4294967294;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+SET @@session.optimizer_selectivity_sampling_limit = 4294967295;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+SET @@session.optimizer_selectivity_sampling_limit = 4294967296;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+
+
+--echo '#------------------FN_DYNVARS_115_05-----------------------#'
+###############################################################################
+# Change the value of optimizer_selectivity_sampling_limit to an invalid value #
+##############################################################################
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.optimizer_selectivity_sampling_limit = ON;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.optimizer_selectivity_sampling_limit = OFF;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.optimizer_selectivity_sampling_limit = 65530.34;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.optimizer_selectivity_sampling_limit = test;
+
+--echo '#------------------FN_DYNVARS_115_06-----------------------#'
+####################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+####################################################################
+
+
+SELECT @@global.optimizer_selectivity_sampling_limit = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='optimizer_selectivity_sampling_limit';
+
+--echo '#------------------FN_DYNVARS_115_07-----------------------#'
+####################################################################
+# Check if the value in SESSION Table matches value in variable #
+####################################################################
+
+SELECT @@session.optimizer_selectivity_sampling_limit = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='optimizer_selectivity_sampling_limit';
+
+
+--echo '#---------------------FN_DYNVARS_115_08----------------------#'
+###############################################################################
+# Check if global and session variable are independent of each other #
+###############################################################################
+
+SET @@optimizer_selectivity_sampling_limit = 10;
+SET @@global.optimizer_selectivity_sampling_limit = 30;
+SELECT @@optimizer_selectivity_sampling_limit = @@global.optimizer_selectivity_sampling_limit;
+
+
+--echo '#---------------------FN_DYNVARS_115_09----------------------#'
+###############################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
+# to same session variable #
+###############################################################################
+
+SET @@optimizer_selectivity_sampling_limit = 20;
+SELECT @@optimizer_selectivity_sampling_limit = @@local.optimizer_selectivity_sampling_limit;
+SELECT @@local.optimizer_selectivity_sampling_limit = @@session.optimizer_selectivity_sampling_limit;
+
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.optimizer_selectivity_sampling_limit = @start_global_value;
+SELECT @@global.optimizer_selectivity_sampling_limit;
+SET @@session.optimizer_selectivity_sampling_limit = @start_session_value;
+SELECT @@session.optimizer_selectivity_sampling_limit;
+
+########################################################################
+# END OF optimizer_selectivity_sampling_limit TESTS #
+########################################################################
+
diff --git a/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown1-master.opt b/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown1-master.opt
deleted file mode 100644
index 89aa07976ac..00000000000
--- a/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown1-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---optimizer-switch=engine_condition_pushdown=off --engine-condition-pushdown=1
diff --git a/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown1.test b/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown1.test
deleted file mode 100644
index 187aa145408..00000000000
--- a/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown1.test
+++ /dev/null
@@ -1,5 +0,0 @@
-# check how --engine-condition-pushdown and --optimizer-switch
-# influence each other when used together (last wins).
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
diff --git a/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown2-master.opt b/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown2-master.opt
deleted file mode 100644
index f48ab5b963b..00000000000
--- a/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown2-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---engine-condition-pushdown=1 --optimizer-switch=engine_condition_pushdown=off
diff --git a/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown2.test b/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown2.test
deleted file mode 100644
index 187aa145408..00000000000
--- a/mysql-test/suite/sys_vars/t/optimizer_switch_eng_cond_pushdown2.test
+++ /dev/null
@@ -1,5 +0,0 @@
-# check how --engine-condition-pushdown and --optimizer-switch
-# influence each other when used together (last wins).
-select @@session.engine_condition_pushdown,
-@@global.engine_condition_pushdown,
-@@session.optimizer_switch, @@global.optimizer_switch;
diff --git a/mysql-test/suite/sys_vars/t/optimizer_use_condition_selectivity_basic.test b/mysql-test/suite/sys_vars/t/optimizer_use_condition_selectivity_basic.test
new file mode 100644
index 00000000000..c409abd0d1b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/optimizer_use_condition_selectivity_basic.test
@@ -0,0 +1,154 @@
+
+--source include/load_sysvars.inc
+
+#################################################################
+# START OF optimizer_use_condition_selectivity TESTS #
+#################################################################
+
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.optimizer_use_condition_selectivity;
+SELECT @start_global_value;
+SET @start_session_value = @@session.optimizer_use_condition_selectivity;
+SELECT @start_session_value;
+
+
+--echo '#--------------------FN_DYNVARS_115_01-------------------------#'
+#########################################################################
+# Display the DEFAULT value of optimizer_use_condition_selectivity #
+#########################################################################
+
+SET @@global.optimizer_use_condition_selectivity = DEFAULT;
+SELECT @@global.optimizer_use_condition_selectivity;
+
+SET @@session.optimizer_use_condition_selectivity = DEFAULT;
+SELECT @@session.optimizer_use_condition_selectivity;
+
+
+--echo '#--------------------FN_DYNVARS_115_02-------------------------#'
+#########################################################################
+# Check the DEFAULT value of optimizer_use_condition_selectivity #
+#########################################################################
+
+SET @@global.optimizer_use_condition_selectivity = DEFAULT;
+SELECT @@global.optimizer_use_condition_selectivity = 1;
+
+SET @@session.optimizer_use_condition_selectivity = DEFAULT;
+SELECT @@session.optimizer_use_condition_selectivity = 1;
+
+
+--echo '#--------------------FN_DYNVARS_115_03-------------------------#'
+#############################################################################################
+# Change the value of optimizer_use_condition_selectivity to a valid value for GLOBAL Scope #
+#############################################################################################
+
+SELECT @@global.optimizer_use_condition_selectivity;
+SET @@global.optimizer_use_condition_selectivity = 0;
+SELECT @@global.optimizer_use_condition_selectivity;
+SET @@global.optimizer_use_condition_selectivity = 1;
+SELECT @@global.optimizer_use_condition_selectivity;
+SET @@global.optimizer_use_condition_selectivity = 2;
+SELECT @@global.optimizer_use_condition_selectivity;
+SET @@global.optimizer_use_condition_selectivity = 3;
+SELECT @@global.optimizer_use_condition_selectivity;
+SET @@global.optimizer_use_condition_selectivity = 4;
+SELECT @@global.optimizer_use_condition_selectivity;
+SET @@global.optimizer_use_condition_selectivity = 5;
+SELECT @@global.optimizer_use_condition_selectivity;
+SET @@global.optimizer_use_condition_selectivity = 6;
+SELECT @@global.optimizer_use_condition_selectivity;
+
+
+--echo '#--------------------FN_DYNVARS_115_04-------------------------#'
+#############################################################################################
+# Change the value of optimizer_use_condition_selectivity to a valid value for SESSION Scope#
+#############################################################################################
+
+SELECT @@session.optimizer_use_condition_selectivity;
+SET @@session.optimizer_use_condition_selectivity = 0;
+SELECT @@session.optimizer_use_condition_selectivity;
+SET @@session.optimizer_use_condition_selectivity = 1;
+SELECT @@session.optimizer_use_condition_selectivity;
+SET @@session.optimizer_use_condition_selectivity = 2;
+SELECT @@session.optimizer_use_condition_selectivity;
+SET @@session.optimizer_use_condition_selectivity = 3;
+SELECT @@session.optimizer_use_condition_selectivity;
+SET @@session.optimizer_use_condition_selectivity = 4;
+SELECT @@session.optimizer_use_condition_selectivity;
+SET @@session.optimizer_use_condition_selectivity = 5;
+SELECT @@session.optimizer_use_condition_selectivity;
+SET @@session.optimizer_use_condition_selectivity = 6;
+SELECT @@session.optimizer_use_condition_selectivity;
+
+
+--echo '#------------------FN_DYNVARS_115_05-----------------------#'
+###############################################################################
+# Change the value of optimizer_use_condition_selectivity to an invalid value #
+##############################################################################
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.optimizer_use_condition_selectivity = ON;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.optimizer_use_condition_selectivity = OFF;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.optimizer_use_condition_selectivity = 65530.34;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.optimizer_use_condition_selectivity = test;
+
+--echo '#------------------FN_DYNVARS_115_06-----------------------#'
+####################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+####################################################################
+
+
+SELECT @@global.optimizer_use_condition_selectivity = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='optimizer_use_condition_selectivity';
+
+--echo '#------------------FN_DYNVARS_115_07-----------------------#'
+####################################################################
+# Check if the value in SESSION Table matches value in variable #
+####################################################################
+
+SELECT @@session.optimizer_use_condition_selectivity = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='optimizer_use_condition_selectivity';
+
+
+--echo '#---------------------FN_DYNVARS_115_08----------------------#'
+###############################################################################
+# Check if global and session variable are independent of each other #
+###############################################################################
+
+SET @@optimizer_use_condition_selectivity = 1;
+SET @@global.optimizer_use_condition_selectivity = 3;
+SELECT @@optimizer_use_condition_selectivity = @@global.optimizer_use_condition_selectivity;
+
+
+--echo '#---------------------FN_DYNVARS_115_09----------------------#'
+###############################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
+# to same session variable #
+###############################################################################
+
+SET @@optimizer_use_condition_selectivity = 2;
+SELECT @@optimizer_use_condition_selectivity = @@local.optimizer_use_condition_selectivity;
+SELECT @@local.optimizer_use_condition_selectivity = @@session.optimizer_use_condition_selectivity;
+
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.optimizer_use_condition_selectivity = @start_global_value;
+SELECT @@global.optimizer_use_condition_selectivity;
+SET @@session.optimizer_use_condition_selectivity = @start_session_value;
+SELECT @@session.optimizer_use_condition_selectivity;
+
+########################################################################
+# END OF optimizer_use_condition_selectivity TESTS #
+########################################################################
+
diff --git a/mysql-test/suite/sys_vars/t/oqgraph_allow_create_integer_latch_basic.test b/mysql-test/suite/sys_vars/t/oqgraph_allow_create_integer_latch_basic.test
new file mode 100644
index 00000000000..62e4d570f71
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/oqgraph_allow_create_integer_latch_basic.test
@@ -0,0 +1 @@
+--echo Oqgraph extention
diff --git a/mysql-test/suite/sys_vars/t/pfs_accounts_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_accounts_size_basic-master.opt
new file mode 100644
index 00000000000..a51860b00fa
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_accounts_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-accounts-size=123
diff --git a/mysql-test/suite/sys_vars/t/pfs_accounts_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_accounts_size_basic.test
new file mode 100644
index 00000000000..b055805d773
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_accounts_size_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_accounts_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_accounts_size;
+
+show global variables like 'performance_schema_accounts_size';
+
+show session variables like 'performance_schema_accounts_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_accounts_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_accounts_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_accounts_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_accounts_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_digests_size-master_basic.opt b/mysql-test/suite/sys_vars/t/pfs_digests_size-master_basic.opt
new file mode 100644
index 00000000000..d0a5cbebdd7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_digests_size-master_basic.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-digests-size=200
diff --git a/mysql-test/suite/sys_vars/t/pfs_digests_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_digests_size_basic.test
new file mode 100644
index 00000000000..6b48ba95102
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_digests_size_basic.test
@@ -0,0 +1,47 @@
+# Copyright (C) 2010 Sun Microsystems, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_digests_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_digests_size;
+
+show global variables like 'performance_schema_digests_size';
+
+show session variables like 'performance_schema_digests_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_digests_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_digests_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_digests_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_digests_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_events_stages_history_long_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_events_stages_history_long_size_basic-master.opt
new file mode 100644
index 00000000000..b3aa4a08e1e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_events_stages_history_long_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-events-stages-history-long-size=15000
diff --git a/mysql-test/suite/sys_vars/t/pfs_events_stages_history_long_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_events_stages_history_long_size_basic.test
new file mode 100644
index 00000000000..ab17ccf676e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_events_stages_history_long_size_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_events_stages_history_long_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_events_stages_history_long_size;
+
+show global variables like 'performance_schema_events_stages_history_long_size';
+
+show session variables like 'performance_schema_events_stages_history_long_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_events_stages_history_long_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_events_stages_history_long_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_events_stages_history_long_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_events_stages_history_long_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_events_stages_history_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_events_stages_history_size_basic-master.opt
new file mode 100644
index 00000000000..a0ba6e81943
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_events_stages_history_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-events-stages-history-size=15
diff --git a/mysql-test/suite/sys_vars/t/pfs_events_stages_history_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_events_stages_history_size_basic.test
new file mode 100644
index 00000000000..2b85c97a96f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_events_stages_history_size_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_events_stages_history_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_events_stages_history_size;
+
+show global variables like 'performance_schema_events_stages_history_size';
+
+show session variables like 'performance_schema_events_stages_history_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_events_stages_history_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_events_stages_history_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_events_stages_history_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_events_stages_history_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_events_statements_history_long_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_events_statements_history_long_size_basic-master.opt
new file mode 100644
index 00000000000..4ea716e3835
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_events_statements_history_long_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-events-statements-history-long-size=15000
diff --git a/mysql-test/suite/sys_vars/t/pfs_events_statements_history_long_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_events_statements_history_long_size_basic.test
new file mode 100644
index 00000000000..116fd738d4e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_events_statements_history_long_size_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_events_statements_history_long_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_events_statements_history_long_size;
+
+show global variables like 'performance_schema_events_statements_history_long_size';
+
+show session variables like 'performance_schema_events_statements_history_long_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_events_statements_history_long_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_events_statements_history_long_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_events_statements_history_long_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_events_statements_history_long_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_events_statements_history_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_events_statements_history_size_basic-master.opt
new file mode 100644
index 00000000000..70e70d56b6e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_events_statements_history_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-events-statements-history-size=15
diff --git a/mysql-test/suite/sys_vars/t/pfs_events_statements_history_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_events_statements_history_size_basic.test
new file mode 100644
index 00000000000..60839714202
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_events_statements_history_size_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_events_statements_history_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_events_statements_history_size;
+
+show global variables like 'performance_schema_events_statements_history_size';
+
+show session variables like 'performance_schema_events_statements_history_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_events_statements_history_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_events_statements_history_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_events_statements_history_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_events_statements_history_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_hosts_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_hosts_size_basic-master.opt
new file mode 100644
index 00000000000..4f122ac72f4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_hosts_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-hosts-size=123
diff --git a/mysql-test/suite/sys_vars/t/pfs_hosts_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_hosts_size_basic.test
new file mode 100644
index 00000000000..4830757fc72
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_hosts_size_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_hosts_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_hosts_size;
+
+show global variables like 'performance_schema_hosts_size';
+
+show session variables like 'performance_schema_hosts_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_hosts_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_hosts_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_hosts_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_hosts_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_digest_length-master_basic.opt b/mysql-test/suite/sys_vars/t/pfs_max_digest_length-master_basic.opt
new file mode 100644
index 00000000000..a98eb86d2e6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_digest_length-master_basic.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-max_digest_length=1024
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic.test
new file mode 100644
index 00000000000..9a89f9aff9e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic.test
@@ -0,0 +1,47 @@
+# Copyright (C) 2010 Sun Microsystems, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_max_digest_length;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_max_digest_length;
+
+show global variables like 'performance_schema_max_digest_length';
+
+show session variables like 'performance_schema_max_digest_length';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_max_digest_length';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_max_digest_length';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_max_digest_length=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_max_digest_length=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_socket_classes_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_socket_classes_basic-master.opt
new file mode 100644
index 00000000000..eb8cd536056
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_socket_classes_basic-master.opt
@@ -0,0 +1 @@
+--loose-enable-performance-schema --loose-performance-schema-max-socket-classes=123
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_socket_classes_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_socket_classes_basic.test
new file mode 100644
index 00000000000..01251be419e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_socket_classes_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_max_socket_classes;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_max_socket_classes;
+
+show global variables like 'performance_schema_max_socket_classes';
+
+show session variables like 'performance_schema_max_socket_classes';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_max_socket_classes';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_max_socket_classes';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_max_socket_classes=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_max_socket_classes=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_socket_instances_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_socket_instances_basic-master.opt
new file mode 100644
index 00000000000..e3c3d0690fb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_socket_instances_basic-master.opt
@@ -0,0 +1 @@
+--loose-enable-performance-schema --loose-performance-schema-max-socket-instances=123
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_socket_instances_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_socket_instances_basic.test
new file mode 100644
index 00000000000..e370d6c064e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_socket_instances_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_max_socket_instances;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_max_socket_instances;
+
+show global variables like 'performance_schema_max_socket_instances';
+
+show session variables like 'performance_schema_max_socket_instances';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_max_socket_instances';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_max_socket_instances';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_max_socket_instances=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_max_socket_instances=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_stage_classes_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_stage_classes_basic-master.opt
new file mode 100644
index 00000000000..0e2130c3408
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_stage_classes_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-max-stage_classes=123
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_stage_classes_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_stage_classes_basic.test
new file mode 100644
index 00000000000..19bc8d09fe2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_stage_classes_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_max_stage_classes;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_max_stage_classes;
+
+show global variables like 'performance_schema_max_stage_classes';
+
+show session variables like 'performance_schema_max_stage_classes';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_max_stage_classes';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_max_stage_classes';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_max_stage_classes=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_max_stage_classes=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_statement_classes_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_statement_classes_basic-master.opt
new file mode 100644
index 00000000000..1041dce704b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_statement_classes_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-max-statement_classes=123
diff --git a/mysql-test/suite/sys_vars/t/pfs_max_statement_classes_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_statement_classes_basic.test
new file mode 100644
index 00000000000..f83aa317123
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_max_statement_classes_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_max_statement_classes;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_max_statement_classes;
+
+show global variables like 'performance_schema_max_statement_classes';
+
+show session variables like 'performance_schema_max_statement_classes';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_max_statement_classes';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_max_statement_classes';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_max_statement_classes=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_max_statement_classes=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic-master.opt
new file mode 100644
index 00000000000..dcbb8a0bef2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-session-connect-attrs-size=2048
diff --git a/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic.test
new file mode 100644
index 00000000000..378646b0fc9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic.test
@@ -0,0 +1,47 @@
+# Copyright (C) 2012 Sun Microsystems, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
+
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_session_connect_attrs_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_session_connect_attrs_size;
+
+show global variables like 'performance_schema_session_connect_attrs_size';
+
+show session variables like 'performance_schema_session_connect_attrs_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_session_connect_attrs_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_session_connect_attrs_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_session_connect_attrs_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_session_connect_attrs_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic-master.opt
new file mode 100644
index 00000000000..33157f9f82e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-setup-actors-size=123
diff --git a/mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic.test
new file mode 100644
index 00000000000..6cfb38b4036
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_setup_actors_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_setup_actors_size;
+
+show global variables like 'performance_schema_setup_actors_size';
+
+show session variables like 'performance_schema_setup_actors_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_setup_actors_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_setup_actors_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_setup_actors_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_setup_actors_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic-master.opt
new file mode 100644
index 00000000000..b2ecaa079fb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-setup-objects-size=123
diff --git a/mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic.test
new file mode 100644
index 00000000000..9f21a7e3b97
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_setup_objects_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_setup_objects_size;
+
+show global variables like 'performance_schema_setup_objects_size';
+
+show session variables like 'performance_schema_setup_objects_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_setup_objects_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_setup_objects_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_setup_objects_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_setup_objects_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/pfs_users_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_users_size_basic-master.opt
new file mode 100644
index 00000000000..b64162b4e79
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_users_size_basic-master.opt
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-users-size=123
diff --git a/mysql-test/suite/sys_vars/t/pfs_users_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_users_size_basic.test
new file mode 100644
index 00000000000..15012227614
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pfs_users_size_basic.test
@@ -0,0 +1,32 @@
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+
+#
+# Only global
+#
+
+select @@global.performance_schema_users_size;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.performance_schema_users_size;
+
+show global variables like 'performance_schema_users_size';
+
+show session variables like 'performance_schema_users_size';
+
+select * from information_schema.global_variables
+ where variable_name='performance_schema_users_size';
+
+select * from information_schema.session_variables
+ where variable_name='performance_schema_users_size';
+
+#
+# Read-only
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global performance_schema_users_size=1;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session performance_schema_users_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/query_alloc_block_size_basic.test b/mysql-test/suite/sys_vars/t/query_alloc_block_size_basic.test
index 9def567b994..1793652397f 100644
--- a/mysql-test/suite/sys_vars/t/query_alloc_block_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/query_alloc_block_size_basic.test
@@ -60,10 +60,10 @@ SELECT @@session.query_alloc_block_size;
###################################################################
SET @@global.query_alloc_block_size = DEFAULT;
-SELECT @@global.query_alloc_block_size = 8192;
+SELECT @@global.query_alloc_block_size = 16384;
SET @@session.query_alloc_block_size = DEFAULT;
-SELECT @@session.query_alloc_block_size = 8192;
+SELECT @@session.query_alloc_block_size = 16384;
--echo '#--------------------FN_DYNVARS_130_03-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/query_cache_limit_func.test b/mysql-test/suite/sys_vars/t/query_cache_limit_func.test
index e90a0e6adda..c115524d49d 100644
--- a/mysql-test/suite/sys_vars/t/query_cache_limit_func.test
+++ b/mysql-test/suite/sys_vars/t/query_cache_limit_func.test
@@ -31,6 +31,9 @@ SET @global_query_cache_limit = @@global.query_cache_limit;
SET @global_query_cache_size = @@global.query_cache_size;
SET @global_query_cache_type = @@global.query_cache_type;
+SET GLOBAL query_cache_type= ON;
+SET LOCAL query_cache_type= ON;
+
--echo ** warnings **
--disable_warnings
DROP TABLE IF EXISTS t;
diff --git a/mysql-test/suite/sys_vars/t/query_cache_type_func.test b/mysql-test/suite/sys_vars/t/query_cache_type_func.test
index 4679d1ec339..e015e374aeb 100644
--- a/mysql-test/suite/sys_vars/t/query_cache_type_func.test
+++ b/mysql-test/suite/sys_vars/t/query_cache_type_func.test
@@ -71,12 +71,15 @@ SET @@GLOBAL.query_cache_size = 65536;
SET @@query_cache_type = DEFAULT;
SELECT @@query_cache_type;
---echo ON Expected
+--echo OFF Expected
+--error ER_QUERY_CACHE_IS_GLOBALY_DISABLED
+SET @@query_cache_type = ON;
--echo '#--------------------FN_DYNVARS_135_02-------------------------#'
#
# Testing valid possible values
#
+SET GLOBAL query_cache_type= ON;
--error ER_WRONG_VALUE_FOR_VAR
SET @@query_cache_type = NULL;
diff --git a/mysql-test/suite/sys_vars/t/query_cache_wlock_invalidate_func.test b/mysql-test/suite/sys_vars/t/query_cache_wlock_invalidate_func.test
index e126a67ff30..5c7533eb50a 100644
--- a/mysql-test/suite/sys_vars/t/query_cache_wlock_invalidate_func.test
+++ b/mysql-test/suite/sys_vars/t/query_cache_wlock_invalidate_func.test
@@ -49,6 +49,11 @@ SET @start_session_value = @@SESSION.query_cache_wlock_invalidate;
SET @old_cache_size = @@GLOBAL.query_cache_size;
SET @old_cache_type = @@GLOBAL.query_cache_type;
+SET GLOBAL query_cache_type= ON;
+SET LOCAL query_cache_type= ON;
+connection con1;
+SET LOCAL query_cache_type= ON;
+connection con0;
#
# Creating test table
diff --git a/mysql-test/suite/sys_vars/t/query_prealloc_size_basic.test b/mysql-test/suite/sys_vars/t/query_prealloc_size_basic.test
index 3914bff4ca9..1a6ed56c5f9 100644
--- a/mysql-test/suite/sys_vars/t/query_prealloc_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/query_prealloc_size_basic.test
@@ -60,10 +60,10 @@ SELECT @@session.query_prealloc_size ;
########################################################################
SET @@global.query_prealloc_size = DEFAULT;
-SELECT @@global.query_prealloc_size = 8192;
+SELECT @@global.query_prealloc_size = 24576;
SET @@session.query_prealloc_size = DEFAULT;
-SELECT @@session.query_prealloc_size = 8192;
+SELECT @@session.query_prealloc_size = 24576;
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/rand_seed1_basic.test b/mysql-test/suite/sys_vars/t/rand_seed1_basic.test
index 3745d2fcb1e..a64f8a64aa9 100644
--- a/mysql-test/suite/sys_vars/t/rand_seed1_basic.test
+++ b/mysql-test/suite/sys_vars/t/rand_seed1_basic.test
@@ -6,6 +6,9 @@
#
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@global.rand_seed1;
+--error ER_NO_DEFAULT
+set session rand_seed1=default;
+set session rand_seed1=10969771;
select @@session.rand_seed1;
show global variables like 'rand_seed1';
show session variables like 'rand_seed1';
diff --git a/mysql-test/suite/sys_vars/t/rand_seed2_basic.test b/mysql-test/suite/sys_vars/t/rand_seed2_basic.test
index 7a5abcd340b..091fd8f0e3d 100644
--- a/mysql-test/suite/sys_vars/t/rand_seed2_basic.test
+++ b/mysql-test/suite/sys_vars/t/rand_seed2_basic.test
@@ -7,6 +7,9 @@
#
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@global.rand_seed2;
+--error ER_NO_DEFAULT
+set session rand_seed2=default;
+set session rand_seed2=10969771;
select @@session.rand_seed2;
show global variables like 'rand_seed2';
show session variables like 'rand_seed2';
diff --git a/mysql-test/suite/sys_vars/t/relay_log_basename_basic.test b/mysql-test/suite/sys_vars/t/relay_log_basename_basic.test
new file mode 100644
index 00000000000..29b70e6cd47
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/relay_log_basename_basic.test
@@ -0,0 +1,16 @@
+#
+# WL#5465: System variables: paths to relay log and binary log files
+#
+# Test for variable:
+# Variable Name: relay_log_basename
+# Variable Scope: Global
+# Dynamic Variable: No
+
+--source include/not_embedded.inc
+--source include/master-slave.inc
+
+--connection slave
+--let $rpl_log_var_name=relay_log_basename
+--source suite/sys_vars/inc/bin_relay_log_basename_index.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/sys_vars/t/relay_log_index_basic.test b/mysql-test/suite/sys_vars/t/relay_log_index_basic.test
index fa69d978016..5a585ac289f 100644
--- a/mysql-test/suite/sys_vars/t/relay_log_index_basic.test
+++ b/mysql-test/suite/sys_vars/t/relay_log_index_basic.test
@@ -1,13 +1,20 @@
--source include/not_embedded.inc
+--source include/master-slave.inc
+
#
# only global
#
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
select @@global.relay_log_index;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.relay_log_index;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
show global variables like 'relay_log_index';
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
show session variables like 'relay_log_index';
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
select * from information_schema.global_variables where variable_name='relay_log_index';
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
select * from information_schema.session_variables where variable_name='relay_log_index';
#
@@ -17,3 +24,10 @@ select * from information_schema.session_variables where variable_name='relay_lo
set global relay_log_index=1;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set session relay_log_index=1;
+
+--connection slave
+--let $rpl_log_var_name=relay_log_index
+--source suite/sys_vars/inc/bin_relay_log_basename_index.inc
+
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/sys_vars/t/report_port_basic.test b/mysql-test/suite/sys_vars/t/report_port_basic.test
index 903289230bd..dfe64dd4e8d 100644
--- a/mysql-test/suite/sys_vars/t/report_port_basic.test
+++ b/mysql-test/suite/sys_vars/t/report_port_basic.test
@@ -2,7 +2,7 @@
#
# only global
#
---replace_regex s/[0-9]+/DEFAULT_MASTER_PORT/
+--replace_regex /[0-9]+/DEFAULT_MASTER_PORT/
select @@global.report_port;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.report_port;
diff --git a/mysql-test/suite/sys_vars/t/rpl_max_binlog_size_func-master.opt b/mysql-test/suite/sys_vars/t/rpl_max_binlog_size_func-master.opt
index bff213dfb0b..89d47e66948 100644
--- a/mysql-test/suite/sys_vars/t/rpl_max_binlog_size_func-master.opt
+++ b/mysql-test/suite/sys_vars/t/rpl_max_binlog_size_func-master.opt
@@ -1,2 +1,3 @@
---log --log-bin=mylog.log
+--general-log
+--log-bin=mylog.log
diff --git a/mysql-test/suite/sys_vars/t/rpl_recovery_rank_basic.test b/mysql-test/suite/sys_vars/t/rpl_recovery_rank_basic.test
deleted file mode 100644
index b89cee9bdd4..00000000000
--- a/mysql-test/suite/sys_vars/t/rpl_recovery_rank_basic.test
+++ /dev/null
@@ -1,180 +0,0 @@
-############## mysql-test\t\rpl_recovery_rank_basic.test #######################
-# #
-# Variable Name: rpl_recovery_rank #
-# Scope: GLOBAL & SESSION #
-# Access Type: Dynamic #
-# Data Type: Numeric #
-# Default Value: 1 #
-# Range: 1 - 65536 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan Maredia #
-# #
-# Description: Test Cases of Dynamic System Variable rpl_recovery_rank #
-# that checks the behavior of this variable in the following ways #
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-################################################################################
-
---source include/load_sysvars.inc
-
-###################################################################
-# START OF rpl_recovery_rank TESTS #
-###################################################################
-
-
-#############################################################
-# Save initial value #
-#############################################################
-
-SET @start_global_value = @@global.rpl_recovery_rank;
-SELECT @start_global_value;
-
---echo '#--------------------FN_DYNVARS_142_01-------------------------#'
-###################################################################
-# Check the DEFAULT value of rpl_recovery_rank #
-###################################################################
-
-SET @@global.rpl_recovery_rank = 500000;
-SET @@global.rpl_recovery_rank = DEFAULT;
-SELECT @@global.rpl_recovery_rank;
-
---echo '#--------------------FN_DYNVARS_142_02-------------------------#'
-##################################################################################
-# Change the value of rpl_recovery_rank to a valid value for GLOBAL Scope #
-##################################################################################
-
-SET @@global.rpl_recovery_rank = 0;
-SELECT @@global.rpl_recovery_rank;
-SET @@global.rpl_recovery_rank = 1024;
-SELECT @@global.rpl_recovery_rank;
-SET @@global.rpl_recovery_rank = 123456789;
-SELECT @@global.rpl_recovery_rank;
-
---disable_warnings
-SET @@global.rpl_recovery_rank = 2147483648*2;
---enable_warnings
---replace_result 4294967296 4294967295
-SELECT @@global.rpl_recovery_rank;
---disable_warnings
-SET @@global.rpl_recovery_rank = 2147483648*1024;
---enable_warnings
---replace_result 2199023255552 4294967295
-SELECT @@global.rpl_recovery_rank;
---disable_warnings
-SET @@global.rpl_recovery_rank = 2147483648*2147483648;
---enable_warnings
---replace_result 4611686018427387904 4294967295
-SELECT @@global.rpl_recovery_rank;
-
-
---echo '#--------------------FN_DYNVARS_142_03-------------------------#'
-#################################################################################
-# Check if variable can be access with session scope #
-#################################################################################
-
---Error ER_GLOBAL_VARIABLE
-SET @@rpl_recovery_rank = 2;
-
---Error ER_GLOBAL_VARIABLE
-SET @@session.rpl_recovery_rank = 3;
-
---Error ER_GLOBAL_VARIABLE
-SET @@local.rpl_recovery_rank = 4;
-
-
-
---echo '#------------------FN_DYNVARS_142_04-----------------------#'
-####################################################################
-# Change the value of rpl_recovery_rank to an invalid value #
-####################################################################
-
-SET @@global.rpl_recovery_rank = -1;
-SELECT @@global.rpl_recovery_rank;
-SET @@global.rpl_recovery_rank = -2147483648;
-SELECT @@global.rpl_recovery_rank;
-SET @@global.rpl_recovery_rank = -2147483649;
-SELECT @@global.rpl_recovery_rank;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.rpl_recovery_rank = 65530.34;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.rpl_recovery_rank = 2147483649.56;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.rpl_recovery_rank = 1G;
-
-
---echo '#------------------FN_DYNVARS_142_05-----------------------#'
-####################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-####################################################################
-
-SET @@global.rpl_recovery_rank = 3000;
-SELECT @@global.rpl_recovery_rank = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='rpl_recovery_rank';
-
-
---echo '#------------------FN_DYNVARS_142_06-----------------------#'
-###########################################################################
-# Check if the value is present in INFORMATION_SCHEMA.SESSION_VARIABLES #
-###########################################################################
-
-SELECT count(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='rpl_recovery_rank';
-
-
---echo '#------------------FN_DYNVARS_142_07-----------------------#'
-####################################################################
-# Check if TRUE and FALSE values can be used on variable #
-####################################################################
-
-SET @@global.rpl_recovery_rank = TRUE;
-SELECT @@global.rpl_recovery_rank;
-SET @@global.rpl_recovery_rank = FALSE;
-SELECT @@global.rpl_recovery_rank;
-
-
---echo '#---------------------FN_DYNVARS_001_08----------------------#'
-#################################################################################
-# Check if accessing variable with and without GLOBAL point to same variable #
-#################################################################################
-
-
-SET @@global.rpl_recovery_rank = 512;
-SELECT @@rpl_recovery_rank = @@global.rpl_recovery_rank;
-
-
---echo '#---------------------FN_DYNVARS_001_09----------------------#'
-##################################################################################
-# Check if rpl_recovery_rank can be accessed without @@ sign and scope #
-##################################################################################
-
---Error ER_GLOBAL_VARIABLE
-SET rpl_recovery_rank = 2048;
---Error ER_BAD_FIELD_ERROR
-SELECT rpl_recovery_rank;
-
-SELECT @@rpl_recovery_rank;
-
-#verifying another another syntax for setting value
-SET global rpl_recovery_rank = 64;
-
-####################################
-# Restore initial value #
-####################################
-
-SET @@global.rpl_recovery_rank = @start_global_value;
-SELECT @@global.rpl_recovery_rank;
-
-########################################################
-# END OF rpl_recovery_rank TESTS #
-########################################################
-
diff --git a/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_enabled_basic.test b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_enabled_basic.test
index ded489f36ff..2ff03a53c42 100644
--- a/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_enabled_basic.test
+++ b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_enabled_basic.test
@@ -6,10 +6,7 @@
#
#
source include/not_embedded.inc;
-source include/have_semisync_plugin.inc;
-# The following is to prevent a mis-match on windows that has the name of of the lib ending with 'dll'
---replace_regex /\.dll/.so/
-eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
+source include/have_semisync.inc;
select @@global.rpl_semi_sync_master_enabled;
SET @start_global_value = @@global.rpl_semi_sync_master_enabled;
@@ -61,5 +58,3 @@ set global rpl_semi_sync_master_enabled="some text";
#
SET @@global.rpl_semi_sync_master_enabled = @start_global_value;
select @@global.rpl_semi_sync_master_enabled;
-UNINSTALL PLUGIN rpl_semi_sync_master;
-
diff --git a/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_timeout_basic.test b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_timeout_basic.test
index 5258894150d..74d3c41150b 100644
--- a/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_timeout_basic.test
+++ b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_timeout_basic.test
@@ -5,10 +5,7 @@
# 2010-01-21 OBN - Added
#
source include/not_embedded.inc;
-source include/have_semisync_plugin.inc;
-# The following is to prevent a mis-match on windows that has the name of of the lib ending with 'dll'
---replace_regex /\.dll/.so/
-eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
+source include/have_semisync.inc;
select @@global.rpl_semi_sync_master_timeout;
SET @start_global_value = @@global.rpl_semi_sync_master_timeout;
@@ -51,5 +48,3 @@ set global rpl_semi_sync_master_timeout="some text";
#
SET @@global.rpl_semi_sync_master_timeout = @start_global_value;
select @@global.rpl_semi_sync_master_timeout;
-UNINSTALL PLUGIN rpl_semi_sync_master;
-
diff --git a/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_trace_level_basic.test b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_trace_level_basic.test
index d9b1d860b35..c41b53fe5e6 100644
--- a/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_trace_level_basic.test
+++ b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_trace_level_basic.test
@@ -5,10 +5,7 @@
# 2010-01-21 OBN - Added
#
source include/not_embedded.inc;
-source include/have_semisync_plugin.inc;
-# The following is to prevent a mis-match on windows that has the name of of the lib ending with 'dll'
---replace_regex /\.dll/.so/
-eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
+source include/have_semisync.inc;
select @@global.rpl_semi_sync_master_trace_level;
SET @start_global_value = @@global.rpl_semi_sync_master_trace_level;
@@ -59,5 +56,3 @@ set global rpl_semi_sync_master_trace_level="some text";
#
SET @@global.rpl_semi_sync_master_trace_level = @start_global_value;
select @@global.rpl_semi_sync_master_trace_level;
-UNINSTALL PLUGIN rpl_semi_sync_master;
-
diff --git a/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_no_slave_basic.test b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_no_slave_basic.test
index 896bd50d156..d4a46a08140 100644
--- a/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_no_slave_basic.test
+++ b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_no_slave_basic.test
@@ -6,10 +6,7 @@
#
#
source include/not_embedded.inc;
-source include/have_semisync_plugin.inc;
-# The following is to prevent a mis-match on windows that has the name of of the lib ending with 'dll'
---replace_regex /\.dll/.so/
-eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
+source include/have_semisync.inc;
select @@global.rpl_semi_sync_master_wait_no_slave;
SET @start_global_value = @@global.rpl_semi_sync_master_wait_no_slave;
@@ -61,5 +58,4 @@ set global rpl_semi_sync_master_wait_no_slave="some text";
#
SET @@global.rpl_semi_sync_master_wait_no_slave = @start_global_value;
select @@global.rpl_semi_sync_master_wait_no_slave;
-UNINSTALL PLUGIN rpl_semi_sync_master;
diff --git a/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_point_basic.test b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_point_basic.test
new file mode 100644
index 00000000000..8125cf8d653
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_point_basic.test
@@ -0,0 +1,40 @@
+source include/not_embedded.inc;
+source include/have_semisync.inc;
+select @@global.rpl_semi_sync_master_wait_point;
+SET @start_global_value = @@global.rpl_semi_sync_master_wait_point;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.rpl_semi_sync_master_wait_point;
+show global variables like 'rpl_semi_sync_master_wait_point';
+show session variables like 'rpl_semi_sync_master_wait_point';
+select * from information_schema.global_variables where variable_name='rpl_semi_sync_master_wait_point';
+select * from information_schema.session_variables where variable_name='rpl_semi_sync_master_wait_point';
+
+#
+# show that it's writable
+#
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+--error ER_GLOBAL_VARIABLE
+set session rpl_semi_sync_master_wait_point=AFTER_COMMIT;
+select @@global.rpl_semi_sync_master_wait_point;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.rpl_semi_sync_master_wait_point;
+show global variables like 'rpl_semi_sync_master_wait_point';
+show session variables like 'rpl_semi_sync_master_wait_point';
+select * from information_schema.global_variables where variable_name='rpl_semi_sync_master_wait_point';
+select * from information_schema.session_variables where variable_name='rpl_semi_sync_master_wait_point';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global rpl_semi_sync_master_wait_point=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global rpl_semi_sync_master_wait_point=1e1;
+
+
+#
+# Cleanup
+#
+SET @@global.rpl_semi_sync_master_wait_point = @start_global_value;
+select @@global.rpl_semi_sync_master_wait_point;
diff --git a/mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_enabled_basic.test b/mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_enabled_basic.test
index 030b0827a11..c7ce371970d 100644
--- a/mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_enabled_basic.test
+++ b/mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_enabled_basic.test
@@ -6,10 +6,7 @@
#
#
source include/not_embedded.inc;
-source include/have_semisync_plugin.inc;
-# The following is to prevent a mis-match on windows that has the name of of the lib ending with 'dll'
---replace_regex /\.dll/.so/
-eval INSTALL PLUGIN rpl_semi_sync_slave SONAME '$SEMISYNC_SLAVE_SO';
+source include/have_semisync.inc;
select @@global.rpl_semi_sync_slave_enabled;
SET @start_global_value = @@global.rpl_semi_sync_slave_enabled;
@@ -62,5 +59,3 @@ set global rpl_semi_sync_slave_enabled="some text";
#
SET @@global.rpl_semi_sync_slave_enabled = @start_global_value;
select @@global.rpl_semi_sync_slave_enabled;
-UNINSTALL PLUGIN rpl_semi_sync_slave;
-
diff --git a/mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_trace_level_basic.test b/mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_trace_level_basic.test
index 64c935ee957..d7e001b7322 100644
--- a/mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_trace_level_basic.test
+++ b/mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_trace_level_basic.test
@@ -5,10 +5,7 @@
# 2010-01-21 OBN - Added
#
source include/not_embedded.inc;
-source include/have_semisync_plugin.inc;
-# The following is to prevent a mis-match on windows that has the name of of the lib ending with 'dll'
---replace_regex /\.dll/.so/
-eval INSTALL PLUGIN rpl_semi_sync_slave SONAME '$SEMISYNC_SLAVE_SO';
+source include/have_semisync.inc;
select @@global.rpl_semi_sync_slave_trace_level;
SET @start_global_value = @@global.rpl_semi_sync_slave_trace_level;
@@ -59,5 +56,3 @@ set global rpl_semi_sync_slave_trace_level="some text";
#
SET @@global.rpl_semi_sync_slave_trace_level = @start_global_value;
select @@global.rpl_semi_sync_slave_trace_level;
-UNINSTALL PLUGIN rpl_semi_sync_slave;
-
diff --git a/mysql-test/suite/sys_vars/t/server_id_basic.test b/mysql-test/suite/sys_vars/t/server_id_basic.test
index 9d41823053a..6940270c12e 100644
--- a/mysql-test/suite/sys_vars/t/server_id_basic.test
+++ b/mysql-test/suite/sys_vars/t/server_id_basic.test
@@ -82,14 +82,15 @@ SELECT @@global.server_id;
# Check if variable can be access with session scope #
#################################################################################
---Error ER_GLOBAL_VARIABLE
+SELECT @@server_id;
SET @@server_id = 2;
+SELECT @@server_id;
---Error ER_GLOBAL_VARIABLE
SET @@session.server_id = 3;
+SELECT @@server_id;
---Error ER_GLOBAL_VARIABLE
SET @@local.server_id = 4;
+--Error ER_GLOBAL_VARIABLE
@@ -163,7 +164,6 @@ SELECT @@server_id = @@global.server_id;
# Check if server_id can be accessed without @@ sign and scope #
##################################################################################
---Error ER_GLOBAL_VARIABLE
SET server_id = 2048;
--Error ER_BAD_FIELD_ERROR
SELECT server_id;
diff --git a/mysql-test/suite/sys_vars/t/show_vs_valstr.test b/mysql-test/suite/sys_vars/t/show_vs_valstr.test
new file mode 100644
index 00000000000..fec5b9c6bd5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/show_vs_valstr.test
@@ -0,0 +1,12 @@
+# verify that show_status_array and sys_var::val_str print values identically
+
+use information_schema;
+
+select variable_name, s.variable_value, v.global_value
+ from global_variables s join system_variables v using (variable_name)
+ where not (s.variable_value <=> v.global_value);
+
+select variable_name, s.variable_value, v.session_value
+ from session_variables s join system_variables v using (variable_name)
+ where v.variable_scope != 'GLOBAL' and
+ not (s.variable_value <=> v.session_value);
diff --git a/mysql-test/suite/sys_vars/t/skip_parallel_replication_basic.test b/mysql-test/suite/sys_vars/t/skip_parallel_replication_basic.test
new file mode 100644
index 00000000000..3ccac558ea4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/skip_parallel_replication_basic.test
@@ -0,0 +1,14 @@
+--source include/not_embedded.inc
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@global.skip_parallel_replication;
+
+--error ER_LOCAL_VARIABLE
+SET GLOBAL skip_parallel_replication= 0;
+SELECT @@session.skip_parallel_replication;
+SET SESSION skip_parallel_replication= 1;
+SELECT @@session.skip_parallel_replication;
+SET SESSION skip_parallel_replication= 0;
+SELECT @@session.skip_parallel_replication;
+
+# More testing of the actual functionality in rpl.rpl_parallel_* tests.
diff --git a/mysql-test/suite/sys_vars/t/slave_ddl_exec_mode_basic.test b/mysql-test/suite/sys_vars/t/slave_ddl_exec_mode_basic.test
new file mode 100644
index 00000000000..64f8a75f443
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/slave_ddl_exec_mode_basic.test
@@ -0,0 +1,67 @@
+############## mysql-test\t\slave_ddl_exec_mode_basic.test ####################
+# #
+# Variable Name: slave_ddl_exec_mode #
+# Scope: GLOBAL & SESSION #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 1 #
+# Range: 1 - 65536 #
+# #
+# #
+# Description: Test Cases of Dynamic System Variable slave_ddl_exec_mode #
+# that checks the behavior of this variable in the following ways#
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+###############################################################################
+
+--source include/not_embedded.inc
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF slave_ddl_exec_mode TESTS #
+########################################################################
+
+SET @start_value = @@global.slave_ddl_exec_mode;
+
+SELECT @@global.slave_ddl_exec_mode;
+
+SELECT @@slave_ddl_exec_mode = @@GLOBAL.slave_ddl_exec_mode;
+--echo 1 Expected
+
+SELECT COUNT(@@slave_ddl_exec_mode);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.slave_ddl_exec_mode);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.slave_ddl_exec_mode);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.slave_ddl_exec_mode);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT slave_ddl_exec_mode = @@SESSION.version;
+--echo Expected error 'Readonly variable'
+
+
+SET @@GLOBAL.slave_ddl_exec_mode=STRICT;
+SELECT @@GLOBAL.slave_ddl_exec_mode;
+
+SET @@GLOBAL.slave_ddl_exec_mode=IDEMPOTENT;
+SELECT @@GLOBAL.slave_ddl_exec_mode;
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@GLOBAL.slave_ddl_exec_mode=XXX;
+SELECT @@GLOBAL.slave_ddl_exec_mode;
+
+SET @@global.slave_ddl_exec_mode= @start_value;
+
+########################################################################
+# END OF slave_ddl_exec_mode TESTS #
+########################################################################
diff --git a/mysql-test/suite/sys_vars/t/slave_domain_parallel_threads_basic.test b/mysql-test/suite/sys_vars/t/slave_domain_parallel_threads_basic.test
new file mode 100644
index 00000000000..7be48fbd4c5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/slave_domain_parallel_threads_basic.test
@@ -0,0 +1,14 @@
+--source include/not_embedded.inc
+
+SET @save_slave_domain_parallel_threads= @@GLOBAL.slave_domain_parallel_threads;
+
+SELECT @@GLOBAL.slave_domain_parallel_threads as 'must be zero because of default';
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.slave_domain_parallel_threads as 'no session var';
+
+SET GLOBAL slave_domain_parallel_threads= 0;
+SET GLOBAL slave_domain_parallel_threads= DEFAULT;
+SET GLOBAL slave_domain_parallel_threads= 10;
+SELECT @@GLOBAL.slave_domain_parallel_threads;
+
+SET GLOBAL slave_domain_parallel_threads = @save_slave_domain_parallel_threads;
diff --git a/mysql-test/suite/sys_vars/t/slave_parallel_max_queued_basic.test b/mysql-test/suite/sys_vars/t/slave_parallel_max_queued_basic.test
new file mode 100644
index 00000000000..e3d3a9365f1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/slave_parallel_max_queued_basic.test
@@ -0,0 +1,14 @@
+--source include/not_embedded.inc
+
+SET @save_slave_parallel_max_queued= @@GLOBAL.slave_parallel_max_queued;
+
+SELECT @@GLOBAL.slave_parallel_max_queued as 'Check default';
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.slave_parallel_max_queued as 'no session var';
+
+SET GLOBAL slave_parallel_max_queued= 0;
+SET GLOBAL slave_parallel_max_queued= DEFAULT;
+SET GLOBAL slave_parallel_max_queued= 65536;
+SELECT @@GLOBAL.slave_parallel_max_queued;
+
+SET GLOBAL slave_parallel_max_queued = @save_slave_parallel_max_queued;
diff --git a/mysql-test/suite/sys_vars/t/slave_parallel_mode_basic-master.opt b/mysql-test/suite/sys_vars/t/slave_parallel_mode_basic-master.opt
new file mode 100644
index 00000000000..cd2ccb7eb8b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/slave_parallel_mode_basic-master.opt
@@ -0,0 +1 @@
+--slave-parallel-mode=minimal --m1.slave-parallel-mode=optimistic --m2.slave-parallel-mode=aggressive
diff --git a/mysql-test/suite/sys_vars/t/slave_parallel_mode_basic.test b/mysql-test/suite/sys_vars/t/slave_parallel_mode_basic.test
new file mode 100644
index 00000000000..4d233b11cc2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/slave_parallel_mode_basic.test
@@ -0,0 +1,34 @@
+--source include/not_embedded.inc
+
+# Also tests some command line options, in slave_parallel_mode_basic-master.opt
+
+--error ER_GLOBAL_VARIABLE
+SET SESSION slave_parallel_mode= none;
+
+SELECT @@slave_parallel_mode;
+SELECT @@m1.slave_parallel_mode;
+
+CHANGE MASTER TO master_host='127.0.0.1', master_port=3310, master_user='root';
+SELECT @@``.slave_parallel_mode;
+SELECT @@slave_parallel_mode;
+--let $status_items= Parallel_Mode
+--source include/show_slave_status.inc
+
+SELECT @@m2.slave_parallel_mode;
+SET GLOBAL m2.slave_parallel_mode = none;
+
+CHANGE MASTER 'm1' TO master_host='127.0.0.1', master_port=3311, master_user='root';
+SELECT @@m1.slave_parallel_mode;
+--source include/show_slave_status.inc
+SET GLOBAL m1.slave_parallel_mode= conservative;
+--source include/show_slave_status.inc
+SET default_master_connection= 'm1';
+SELECT @@slave_parallel_mode;
+SET GLOBAL slave_parallel_mode= aggressive;
+SELECT @@slave_parallel_mode;
+--source include/show_slave_status.inc
+SET default_master_connection= '';
+SELECT @@slave_parallel_mode;
+
+RESET SLAVE ALL;
+RESET SLAVE 'm1' ALL;
diff --git a/mysql-test/suite/sys_vars/t/slave_parallel_threads_basic.cnf b/mysql-test/suite/sys_vars/t/slave_parallel_threads_basic.cnf
new file mode 100644
index 00000000000..02bdb44e1de
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/slave_parallel_threads_basic.cnf
@@ -0,0 +1,5 @@
+# Use default setting for mysqld processes
+!include include/default_mysqld.cnf
+
+[mysqld.1]
+slave_parallel_threads=20
diff --git a/mysql-test/suite/sys_vars/t/slave_parallel_threads_basic.test b/mysql-test/suite/sys_vars/t/slave_parallel_threads_basic.test
new file mode 100644
index 00000000000..b567b7f8854
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/slave_parallel_threads_basic.test
@@ -0,0 +1,21 @@
+--source include/not_embedded.inc
+
+SET @save_slave_parallel_threads= @@GLOBAL.slave_parallel_threads;
+
+# Check that we don't spawn worker threads at server startup, when no
+# slave is configured (MDEV-5289).
+SELECT IF(COUNT(*) < 20, "OK", CONCAT("Found too many system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+
+SELECT @@GLOBAL.slave_parallel_threads as 'must be 20 because of .cnf';
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.slave_parallel_threads as 'no session var';
+
+SET GLOBAL slave_parallel_threads= 0;
+SET GLOBAL slave_parallel_threads= DEFAULT;
+SELECT @@GLOBAL.slave_parallel_threads as 'must be 0 because of default';
+SET GLOBAL slave_parallel_threads= 10;
+SELECT @@GLOBAL.slave_parallel_threads;
+# Check that we don't spawn worker threads when no slave is started.
+SELECT IF(COUNT(*) < 10, "OK", CONCAT("Found too many system user processes: ", COUNT(*))) FROM information_schema.processlist WHERE user = "system user";
+
+SET GLOBAL slave_parallel_threads = @save_slave_parallel_threads;
diff --git a/mysql-test/suite/sys_vars/t/slave_run_triggers_for_rbr_basic.test b/mysql-test/suite/sys_vars/t/slave_run_triggers_for_rbr_basic.test
new file mode 100644
index 00000000000..ac5296677b9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/slave_run_triggers_for_rbr_basic.test
@@ -0,0 +1,30 @@
+
+-- source include/have_rbr_triggers.inc
+
+SET @old_slave_run_triggers_for_rbr= @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_run_triggers_for_rbr= NO;
+select @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_run_triggers_for_rbr= YES;
+select @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_run_triggers_for_rbr= LOGGING;
+select @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_run_triggers_for_rbr= default;
+select @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_run_triggers_for_rbr= 0;
+select @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_run_triggers_for_rbr= 1;
+select @@global.slave_run_triggers_for_rbr;
+SET @@global.slave_run_triggers_for_rbr= 2;
+select @@global.slave_run_triggers_for_rbr;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_run_triggers_for_rbr= 3;
+select @@global.slave_run_triggers_for_rbr;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_run_triggers_for_rbr= "N";
+select @@global.slave_run_triggers_for_rbr;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_run_triggers_for_rbr= -1;
+select @@global.slave_run_triggers_for_rbr;
+
+
+SET @@global.slave_run_triggers_for_rbr= @old_slave_run_triggers_for_rbr;
diff --git a/mysql-test/suite/sys_vars/t/slow_query_log_basic.test b/mysql-test/suite/sys_vars/t/slow_query_log_basic.test
index fef37b5ff4a..b429f9f5cea 100644
--- a/mysql-test/suite/sys_vars/t/slow_query_log_basic.test
+++ b/mysql-test/suite/sys_vars/t/slow_query_log_basic.test
@@ -90,14 +90,16 @@ SET @@global.slow_query_log = '';
--echo '#-------------------FN_DYNVARS_004_04----------------------------#'
##################################################################
-# Test if accessing session slow_query_log gives error #
+# Test that accessing session slow_query_log dows not give #
##################################################################
---Error ER_GLOBAL_VARIABLE
+SET @@global.slow_query_log = ON;
+SET @@session.slow_query_log = ON;
+SELECT @@session.slow_query_log;
SET @@session.slow_query_log = OFF;
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.slow_query_log;
-
+SET @@global.slow_query_log = OFF;
+SET @@session.slow_query_log = ON;
--echo '#----------------------FN_DYNVARS_004_05------------------------#'
##############################################################################
@@ -132,18 +134,17 @@ SELECT @@global.slow_query_log;
--echo '#---------------------FN_DYNVARS_004_08----------------------#'
##############################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
-# to same session variable #
+# to same session variable (doesn't) #
##############################################################################
SET @@global.slow_query_log = ON;
+SET @@local.slow_query_log = OFF;
SELECT @@slow_query_log = @@global.slow_query_log;
--echo '#---------------------FN_DYNVARS_004_09----------------------#'
######################################################################
# Check if slow_query_log can be accessed with and without @@ sign #
######################################################################
---Error ER_GLOBAL_VARIABLE
-SET slow_query_log = ON;
--Error ER_PARSE_ERROR
SET local.slow_query_log = OFF;
--Error ER_UNKNOWN_TABLE
diff --git a/mysql-test/suite/sys_vars/t/slow_query_log_func.test b/mysql-test/suite/sys_vars/t/slow_query_log_func.test
index dd202ec20ff..2f1d7449976 100644
--- a/mysql-test/suite/sys_vars/t/slow_query_log_func.test
+++ b/mysql-test/suite/sys_vars/t/slow_query_log_func.test
@@ -10,7 +10,7 @@ SET @@session.long_query_time=1;
SET @@global.log_output = 'TABLE';
#=========================================
---echo '----When slow_query_log = OFF----'
+--echo '----When global.slow_query_log = OFF----'
#=========================================
SET @@global.slow_query_log = OFF;
@@ -21,7 +21,7 @@ SELECT sleep(2);
SELECT count(*) FROM mysql.slow_log;
#=========================================
---echo '----When slow_query_log = ON-----'
+--echo '----When global.slow_query_log = ON-----'
#=========================================
SET @@global.slow_query_log = ON;
@@ -31,6 +31,17 @@ SELECT sleep(2);
SELECT count(*) > 0 FROM mysql.slow_log;
+#=========================================
+--echo '----When local.slow_query_log = OFF-----'
+#=========================================
+
+SET @@local.slow_query_log = OFF;
+TRUNCATE mysql.slow_log;
+# The sleep is the slow query
+SELECT sleep(2);
+
+SELECT count(*) FROM mysql.slow_log;
+SET @@local.slow_query_log = ON;
#==========================================================================
--echo 'Bug#47905 stored procedures not logged correctly to slow query log'
diff --git a/mysql-test/suite/sys_vars/t/sql_big_selects_func.test b/mysql-test/suite/sys_vars/t/sql_big_selects_func.test
index 4aefda5e15e..6cff8cfe553 100644
--- a/mysql-test/suite/sys_vars/t/sql_big_selects_func.test
+++ b/mysql-test/suite/sys_vars/t/sql_big_selects_func.test
@@ -28,7 +28,7 @@
SET @session_sql_big_selects = @@SESSION.sql_big_selects;
SET @session_max_join_size = @@SESSION.max_join_size;
SET @global_max_join_size = @@GLOBAL.max_join_size;
-SET SQL_MAX_JOIN_SIZE=9;
+SET MAX_JOIN_SIZE=9;
#
# Create tables
diff --git a/mysql-test/suite/sys_vars/t/sql_big_tables_basic.test b/mysql-test/suite/sys_vars/t/sql_big_tables_basic.test
deleted file mode 100644
index 373ae06c850..00000000000
--- a/mysql-test/suite/sys_vars/t/sql_big_tables_basic.test
+++ /dev/null
@@ -1,170 +0,0 @@
-###################### mysql-test\t\sql_big_tables_basic.test #################
-# #
-# Variable Name: sql_big_tables #
-# Scope: SESSION #
-# Access Type: Dynamic #
-# Data Type: boolean #
-# Default Value: #
-# Valid Values : 0,1 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-# Description: Test Cases of Dynamic System Variable sql_big_tables #
-# that checks the behavior of this variable in the following ways#
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-
---source include/load_sysvars.inc
-########################################################################
-# START OF sql_big_tables TESTS #
-########################################################################
-
-
-##############################################################################
-# Saving initial value of sql_big_tables in a temporary variable #
-##############################################################################
-
-SET @session_start_value = @@session.sql_big_tables;
-SELECT @session_start_value;
-
---echo '#--------------------FN_DYNVARS_154_01------------------------#'
-########################################################################
-# Display the DEFAULT value of sql_big_tables #
-########################################################################
-
-SET @@session.sql_big_tables = 0;
-SET @@session.sql_big_tables = DEFAULT;
-SELECT @@session.sql_big_tables;
-
-SET @@session.sql_big_tables = 1;
-SET @@session.sql_big_tables = DEFAULT;
-SELECT @@session.sql_big_tables;
-
-
---echo '#---------------------FN_DYNVARS_154_02-------------------------#'
-#############################################################################
-# Check if sql_big_tables can be accessed with and without @@ sign #
-#############################################################################
-
-SET sql_big_tables = 1;
-SELECT @@sql_big_tables;
-
---Error ER_UNKNOWN_TABLE
-SELECT session.sql_big_tables;
-
---Error ER_UNKNOWN_TABLE
-SELECT local.sql_big_tables;
-
-SET session sql_big_tables = 0;
-SELECT @@session.sql_big_tables;
-
-
---echo '#--------------------FN_DYNVARS_154_03------------------------#'
-########################################################################
-# change the value of sql_big_tables to a valid value #
-########################################################################
-
-SET @@session.sql_big_tables = 0;
-SELECT @@session.sql_big_tables;
-SET @@session.sql_big_tables = 1;
-SELECT @@session.sql_big_tables;
-
-
---echo '#--------------------FN_DYNVARS_154_04-------------------------#'
-###########################################################################
-# Change the value of sql_big_tables to invalid value #
-###########################################################################
-
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = -1;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = 2;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = "T";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = "Y";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = TRÜE;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = ÕN;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = OF;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = ÓFF;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = '¹';
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_big_tables = NO;
-
-
---echo '#-------------------FN_DYNVARS_154_05----------------------------#'
-###########################################################################
-# Test if accessing global sql_big_tables gives error #
-###########################################################################
-
-SET @@global.sql_big_tables = 1-@@global.sql_big_tables;
-SELECT @@global.sql_big_tables;
-SET @@global.sql_big_tables = 1-@@global.sql_big_tables;
-SELECT @@global.sql_big_tables;
-
---echo '#----------------------FN_DYNVARS_154_06------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table contains variable value #
-#########################################################################
-
-SELECT count(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='sql_big_tables';
-
---echo '#----------------------FN_DYNVARS_154_07------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
-SELECT IF(@@session.sql_big_tables, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='sql_big_tables';
-SELECT @@session.sql_big_tables;
-SELECT VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='sql_big_tables';
-
---echo '#---------------------FN_DYNVARS_154_08-------------------------#'
-###################################################################
-# Check if ON and OFF values can be used on variable #
-###################################################################
-
-SET @@session.sql_big_tables = OFF;
-SELECT @@session.sql_big_tables;
-SET @@session.sql_big_tables = ON;
-SELECT @@session.sql_big_tables;
-
---echo '#---------------------FN_DYNVARS_154_09----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-SET @@session.sql_big_tables = TRUE;
-SELECT @@session.sql_big_tables;
-SET @@session.sql_big_tables = FALSE;
-SELECT @@session.sql_big_tables;
-
-##############################
-# Restore initial value #
-##############################
-
-SET @@session.sql_big_tables = @session_start_value;
-SELECT @@session.sql_big_tables;
-
-###############################################################
-# END OF sql_big_tables TESTS #
-###############################################################
diff --git a/mysql-test/suite/sys_vars/t/sql_big_tables_func.test b/mysql-test/suite/sys_vars/t/sql_big_tables_func.test
deleted file mode 100644
index 8bbec202efa..00000000000
--- a/mysql-test/suite/sys_vars/t/sql_big_tables_func.test
+++ /dev/null
@@ -1,145 +0,0 @@
-############# mysql-test\t\sql_big_tables_func.test ########################
-# #
-# Variable Name: sql_big_tables #
-# Scope: SESSION #
-# Access Type: Dynamic #
-# Data Type: BOOLEAN #
-# Default Value: 0 FALSE #
-# Values: 1 TRUE, 0 FALSE #
-# #
-# #
-# Creation Date: 2008-02-25 #
-# Author: Sharique Abdullah #
-# #
-# Description: Test Cases of Dynamic System Variable "sql_big_tables" #
-# that checks behavior of this variable in the following ways #
-# * Functionality based on different values #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html #
-# #
-############################################################################
-
-# Due to difference in the result the ps-protocol is disabled
---disable_ps_protocol
-
---echo ** Setup **
---echo
-#
-# Setup
-#
-
-SET @old_big_tables = @@SESSION.sql_big_tables;
-
-#
-# Create tables
-#
-
-CREATE TABLE t1(a varchar(20), b varchar(20));
-
-INSERT INTO t1 VALUES('aa','bb');
-INSERT INTO t1 VALUES('aa','bb');
-INSERT INTO t1 VALUES('aa','bb');
-INSERT INTO t1 VALUES('aa','bb');
-INSERT INTO t1 VALUES('aa','bb');
-
---echo '#--------------------FN_DYNVARS_155_01-------------------------#'
-#
-# TRUE mode
-#
-
-SET SESSION sql_big_tables = 1;
-
-let $diskTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1);
-let $totalTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1);
-
-eval SET @diskTableCount = $diskTablesBig;
-eval SET @tempTableCount = $totalTablesBig;
-
-select count(a), b from t1 group by b;
-
-let $newDiskTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1);
-let $newTotalTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1);
-
-eval SET @diskTableCount = $newDiskTablesBig - @diskTableCount;
-eval SET @tempTableCount = $newTotalTablesBig - @tempTableCount;
-
-SELECT @diskTableCount;
---echo 1 Expected
-SELECT @tempTableCount;
---echo 1 Expected
-
---echo '#--------------------FN_DYNVARS_155_02-------------------------#'
-#
-# FALSE mode
-#
-
-SET SESSION sql_big_tables = 0;
-
-let $diskTables = query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1);
-let $totalTables = query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1);
-
-eval SET @diskTableCount = $diskTables;
-eval SET @tempTableCount = $totalTables;
-
-SELECT * FROM (SELECT ta.b as a, tb.a as b FROM t1 as ta INNER JOIN t1 as tb ON ta.a = tb.a) sub;
-
-let $newDiskTables= query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1);
-let $newTotalTables= query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1);
-
-eval SET @diskTableCount = $newDiskTables - @diskTableCount;
-eval SET @tempTableCount = $newTotalTables - @tempTableCount;
-
-SELECT @diskTableCount;
---echo 0 Expected
-SELECT @tempTableCount;
---echo 1 Expected
-
---echo '#--------------------FN_DYNVARS_155_03-------------------------#'
-#
-# Session data integrity check
-#
---echo ** Connecting con_int1 using root **
-connect (con_int1,localhost,root,,);
---echo ** Connection con_int1 **
-connection con_int1;
-
-SELECT @@SESSION.sql_big_tables;
---echo 0 / FALSE Expected;
-SET SESSION sql_big_tables = FALSE;
-
---echo ** Connecting con_int2 using root **
-connect (con_int2,localhost,root,,);
---echo ** Connection con_int2 **
-connection con_int2;
-
-SELECT @@SESSION.sql_big_tables;
---echo 0 / FALSE Expected;
-
-SET SESSION sql_big_tables = TRUE;
-
---echo ** Connection con_int1 **
-connection con_int1;
-SELECT @@SESSION.sql_big_tables;
---echo 0 / FALSE Expected;
-
---echo ** Connection con_int2 **
-connection con_int2;
-SELECT @@SESSION.sql_big_tables;
---echo 1 / TRUE Expected;
-
---echo ** Connection default **
-connection default;
---echo Disconnecting Connections con_int1, con_int2
-disconnect con_int1;
-disconnect con_int2;
-
-#
-# Cleanup
-#
-
-SET SESSION sql_big_tables = @old_big_tables;
-
-DROP TABLE t1;
-
---enable_ps_protocol
-
diff --git a/mysql-test/suite/sys_vars/t/sql_buffer_result_func.test b/mysql-test/suite/sys_vars/t/sql_buffer_result_func.test
index 4530545b8f0..2a2d7572d91 100644
--- a/mysql-test/suite/sys_vars/t/sql_buffer_result_func.test
+++ b/mysql-test/suite/sys_vars/t/sql_buffer_result_func.test
@@ -46,17 +46,23 @@ INSERT INTO t1 VALUES('aa','bb');
SET SESSION sql_buffer_result = 1;
+--disable_ps_protocol
SHOW STATUS LIKE 'Created_tmp_tables';
+--enable_ps_protocol
--echo Expected value : 0.
SELECT * FROM t1;
+--disable_ps_protocol
SHOW STATUS LIKE 'Created_tmp_tables';
+--enable_ps_protocol
--echo Expected value : 1.
SELECT * FROM t1;
+--disable_ps_protocol
SHOW STATUS LIKE 'Created_tmp_tables';
+--enable_ps_protocol
--echo Expected value : 2.
--echo '#--------------------FN_DYNVARS_156_02-------------------------#'
@@ -66,12 +72,16 @@ SHOW STATUS LIKE 'Created_tmp_tables';
SET SESSION sql_buffer_result = 0;
+--disable_ps_protocol
SHOW STATUS LIKE 'Created_tmp_tables';
+--enable_ps_protocol
--echo Expected value : 2.
SELECT * FROM t1;
+--disable_ps_protocol
SHOW STATUS LIKE 'Created_tmp_tables';
+--enable_ps_protocol
--echo Expected value : 2.
--echo '#--------------------FN_DYNVARS_156_03-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/sql_low_priority_updates_basic.test b/mysql-test/suite/sys_vars/t/sql_low_priority_updates_basic.test
deleted file mode 100644
index 5b21bd4c79a..00000000000
--- a/mysql-test/suite/sys_vars/t/sql_low_priority_updates_basic.test
+++ /dev/null
@@ -1,221 +0,0 @@
-############## mysql-test\t\sql_low_priority_updates_basic.test ###############
-# #
-# Variable Name: sql_low_priority_updates #
-# Scope: GLOBAL | SESSION #
-# Access Type: Dynamic #
-# Data Type: boolean #
-# Default Value: #
-# Valid Values: 0,1 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-# Description: Test Cases of Dynamic System Variable sql_low_priority_updates #
-# that checks the behavior of this variable in the following ways#
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-
---source include/load_sysvars.inc
-
-########################################################################
-# START OF sql_low_priority_updates TESTS #
-########################################################################
-
-
-###############################################################################
-# Saving initial value of sql_low_priority_updates in a temporary variable #
-###############################################################################
-
-SET @session_start_value = @@session.sql_low_priority_updates;
-SELECT @session_start_value;
-
-SET @global_start_value = @@global.sql_low_priority_updates;
-SELECT @global_start_value;
-
---echo '#--------------------FN_DYNVARS_159_01------------------------#'
-########################################################################
-# Display the DEFAULT value of sql_low_priority_updates #
-########################################################################
-
-SET @@session.sql_low_priority_updates = 1;
-SET @@session.sql_low_priority_updates = DEFAULT;
-SELECT @@session.sql_low_priority_updates;
-
-SET @@global.sql_low_priority_updates = 1;
-SET @@global.sql_low_priority_updates = DEFAULT;
-
---echo '#---------------------FN_DYNVARS_159_02-------------------------#'
-####################################################################################
-# Check if sql_low_priority_updates can be accessed with and without @@ sign #
-####################################################################################
-
-SET sql_low_priority_updates = 1;
-SELECT @@sql_low_priority_updates;
-
---Error ER_UNKNOWN_TABLE
-SELECT session.sql_low_priority_updates;
-
---Error ER_UNKNOWN_TABLE
-SELECT local.sql_low_priority_updates;
-
---Error ER_UNKNOWN_TABLE
-SELECT global.sql_low_priority_updates;
-
-#using another syntax for accessing system variables
-SET session sql_low_priority_updates = 0;
-SELECT @@session.sql_low_priority_updates;
-
-SET global sql_low_priority_updates = 0;
-SELECT @@global.sql_low_priority_updates;
-
-
---echo '#--------------------FN_DYNVARS_159_03------------------------#'
-##########################################################################
-# change the value of sql_low_priority_updates to a valid value #
-##########################################################################
-# for session
-SET @@session.sql_low_priority_updates = 0;
-SELECT @@session.sql_low_priority_updates;
-SET @@session.sql_low_priority_updates = 1;
-SELECT @@session.sql_low_priority_updates;
-
-# for global
-SET @@global.sql_low_priority_updates = 0;
-SELECT @@global.sql_low_priority_updates;
-SET @@global.sql_low_priority_updates = 1;
-SELECT @@global.sql_low_priority_updates;
-
-
---echo '#--------------------FN_DYNVARS_159_04-------------------------#'
-###########################################################################
-# Change the value of sql_low_priority_updates to invalid value #
-###########################################################################
-
-# for session
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_low_priority_updates = -1;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@session.sql_low_priority_updates = 1.6;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_low_priority_updates = "T";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_low_priority_updates = "Y";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_low_priority_updates = TRÜE;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_low_priority_updates = ÕN;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_low_priority_updates = OF;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@session.sql_low_priority_updates = ÓFF;
-
-# for global
-
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.sql_low_priority_updates = -1;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.sql_low_priority_updates = 2;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.sql_low_priority_updates = "T";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.sql_low_priority_updates = "Y";
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.sql_low_priority_updates = TRÜE;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.sql_low_priority_updates = ÕN;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.sql_low_priority_updates = OF;
---Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.sql_low_priority_updates = ÓFF;
-
-
---echo '#-------------------FN_DYNVARS_159_05----------------------------#'
-###########################################################################
-# Test if changing global variable effects session and vice versa #
-###########################################################################
-
-SET @@global.sql_low_priority_updates = 0;
-SET @@session.sql_low_priority_updates = 1;
-SELECT @@global.sql_low_priority_updates AS res_is_0;
-
-SET @@global.sql_low_priority_updates = 0;
-SELECT @@session.sql_low_priority_updates AS res_is_1;
-
---echo '#----------------------FN_DYNVARS_159_06------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
-SELECT IF(@@global.sql_low_priority_updates, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='sql_low_priority_updates';
-SELECT @@global.sql_low_priority_updates;
-SELECT VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='sql_low_priority_updates';
-
---echo '#----------------------FN_DYNVARS_159_07------------------------#'
-#########################################################################
-# Check if the value in SESSION Table matches value in variable #
-#########################################################################
-
-SELECT IF(@@session.sql_low_priority_updates, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='sql_low_priority_updates';
-SELECT @@session.sql_low_priority_updates;
-SELECT VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
-WHERE VARIABLE_NAME='sql_low_priority_updates';
-
---echo '#---------------------FN_DYNVARS_159_08-------------------------#'
-###################################################################
-# Check if ON and OFF values can be used on variable #
-###################################################################
-
-SET @@session.sql_low_priority_updates = OFF;
-SELECT @@session.sql_low_priority_updates;
-SET @@session.sql_low_priority_updates = ON;
-SELECT @@session.sql_low_priority_updates;
-
-SET @@global.sql_low_priority_updates = OFF;
-SELECT @@global.sql_low_priority_updates;
-SET @@global.sql_low_priority_updates = ON;
-SELECT @@global.sql_low_priority_updates;
-
---echo '#---------------------FN_DYNVARS_159_09----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-SET @@session.sql_low_priority_updates = TRUE;
-SELECT @@session.sql_low_priority_updates;
-SET @@session.sql_low_priority_updates = FALSE;
-SELECT @@session.sql_low_priority_updates;
-
-SET @@global.sql_low_priority_updates = TRUE;
-SELECT @@global.sql_low_priority_updates;
-SET @@global.sql_low_priority_updates = FALSE;
-SELECT @@global.sql_low_priority_updates;
-
-##############################
-# Restore initial value #
-##############################
-
-SET @@session.sql_low_priority_updates = @session_start_value;
-SELECT @@session.sql_low_priority_updates;
-
-SET @@global.sql_low_priority_updates = @global_start_value;
-SELECT @@global.sql_low_priority_updates;
-
-###########################################################
-# END OF sql_low_priority_updates TESTS #
-###########################################################
-
diff --git a/mysql-test/suite/sys_vars/t/sql_low_priority_updates_func.test b/mysql-test/suite/sys_vars/t/sql_low_priority_updates_func.test
index ba13558a135..5d7d6cbe734 100644
--- a/mysql-test/suite/sys_vars/t/sql_low_priority_updates_func.test
+++ b/mysql-test/suite/sys_vars/t/sql_low_priority_updates_func.test
@@ -70,7 +70,7 @@ INSERT INTO t1 VALUES('4');
INSERT INTO t1 VALUES('5');
INSERT INTO t1 VALUES('6');
-LOCK TABLE v1 WRITE;
+LOCK TABLE v1 WRITE CONCURRENT;
--echo ** Connection con1 **
connection con1;
@@ -144,7 +144,7 @@ INSERT INTO t1 VALUES('4');
INSERT INTO t1 VALUES('5');
INSERT INTO t1 VALUES('6');
-LOCK TABLE v1 WRITE;
+LOCK TABLE v1 READ;
--echo ** Connection con1 **
connection con1;
diff --git a/mysql-test/suite/sys_vars/t/sql_max_join_size_basic.test b/mysql-test/suite/sys_vars/t/sql_max_join_size_basic.test
deleted file mode 100644
index 9a72846b29c..00000000000
--- a/mysql-test/suite/sys_vars/t/sql_max_join_size_basic.test
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#
-# 2010-01-20 OBN - Added check of I_S values after variable value change
-#
-
-SET @start_global_value = @@global.sql_max_join_size;
-SELECT @start_global_value;
-
-#
-# exists as global and session
-#
-select @@global.sql_max_join_size;
-select @@session.sql_max_join_size;
-show global variables like 'sql_max_join_size';
-show session variables like 'sql_max_join_size';
-select * from information_schema.global_variables where variable_name='sql_max_join_size';
-select * from information_schema.session_variables where variable_name='sql_max_join_size';
-
-#
-# show that it's writable
-#
-set global sql_max_join_size=10;
-set session sql_max_join_size=20;
-select @@global.sql_max_join_size;
-select @@session.sql_max_join_size;
-show global variables like 'sql_max_join_size';
-show session variables like 'sql_max_join_size';
-select * from information_schema.global_variables where variable_name='sql_max_join_size';
-select * from information_schema.session_variables where variable_name='sql_max_join_size';
-
-#
-# incorrect types
-#
---error ER_WRONG_TYPE_FOR_VAR
-set global sql_max_join_size=1.1;
---error ER_WRONG_TYPE_FOR_VAR
-set global sql_max_join_size=1e1;
---error ER_WRONG_TYPE_FOR_VAR
-set global sql_max_join_size="foo";
-
-#
-# affects OPTION_BIG_SELECTS
-#
-select @@sql_big_selects;
-set sql_max_join_size=cast(-1 as unsigned int);
-select @@sql_big_selects;
-set sql_max_join_size=100;
-select @@sql_big_selects;
-
-SET @@global.sql_max_join_size = @start_global_value;
-SELECT @@global.sql_max_join_size;
diff --git a/mysql-test/suite/sys_vars/t/sql_max_join_size_func.test b/mysql-test/suite/sys_vars/t/sql_max_join_size_func.test
deleted file mode 100644
index 17b7d911b94..00000000000
--- a/mysql-test/suite/sys_vars/t/sql_max_join_size_func.test
+++ /dev/null
@@ -1,133 +0,0 @@
-############# mysql-test\t\sql_max_join_size_func.test ####################
-# #
-# Variable Name: sql_max_join_size #
-# Scope: GLOBAL & SESSION #
-# Access Type: Dynamic #
-# Data Type: BOOLEAN #
-# Default Value: 4294967295 #
-# Values: 1-4294967295 #
-# #
-# #
-# Creation Date: 2008-02-25 #
-# Author: Sharique Abdullah #
-# #
-# Description: Test Cases of Dynamic System Variable "sql_max_join_size" #
-# that checks behavior of this variable in the following ways#
-# * Functionality based on different values #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system #
-# -variables.html#option_mysqld_max_join_size #
-# #
-###########################################################################
-
---echo ** Setup **
-#
-# Setup
-#
-
-SET @session_max_join_size = @@SESSION.sql_max_join_size;
-SET @global_max_join_size = @@GLOBAL.sql_max_join_size;
-SET @session_sql_big_selects = @@SESSION.sql_big_selects;
-
-#
-# Create tables
-#
-
-CREATE TEMPORARY TABLE t1(a varchar(20) not null, b varchar(20));
-CREATE TEMPORARY TABLE t2(a varchar(20) null, b varchar(20));
-
-INSERT INTO t1 VALUES('aa','bb');
-INSERT INTO t1 VALUES('aa1','bb');
-INSERT INTO t1 VALUES('aa2','bb');
-INSERT INTO t1 VALUES('aa3','bb');
-INSERT INTO t1 VALUES('aa4','bb');
-
-INSERT INTO t2 VALUES('aa','bb');
-INSERT INTO t2 VALUES('aa1','bb');
-INSERT INTO t2 VALUES('aa2','bb');
-INSERT INTO t2 VALUES('aa3','bb');
-INSERT INTO t2 VALUES('aa4','bb');
-
---echo '#--------------------FN_DYNVARS_161_01-------------------------#'
-#
-# Testing fail condition
-#
-
-SET SESSION sql_max_join_size=9;
---error ER_TOO_BIG_SELECT
-SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a;
---echo Expected error The SELECT would examine more than MAX_JOIN_SIZE rows.
-
---echo '#--------------------FN_DYNVARS_161_02-------------------------#'
-#
-# Testing pass conditions
-#
-
-SET SESSION SQL_BIG_SELECTS = 1;
-
-SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a;
---echo This should work
-
-SET SESSION sql_max_join_size=DEFAULT;
-
-DELETE FROM t2 WHERE a = 'aa4';
-SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a;
---echo This should work
-
---echo '#----------------------------FN_DYNVARS_136_05-------------------------#'
-#
-# Session data integrity check & GLOBAL Value check
-#
-
-SET GLOBAL sql_max_join_size = 4;
---echo ** Connecting con_int1 using root **
-connect (con_int1,localhost,root,,);
-
---echo ** Connection con_int1 **
-connection con_int1;
-SELECT @@SESSION.sql_max_join_size;
---echo 4 Expected
-
-SET SESSION sql_max_join_size = 2;
---echo ** Connecting con_int2 using root **
-connect (con_int2,localhost,root,,);
-
---echo ** Connection con_int2 **
-connection con_int2;
-SELECT @@SESSION.sql_max_join_size;
---echo 4 Expected
-
-SET SESSION sql_max_join_size = 10;
-
---echo ** Connection con_int2 **
-connection con_int2;
-SELECT @@SESSION.sql_max_join_size;
---echo 10 Expected
-
---echo ** Connection con_int1 **
-connection con_int1;
-SELECT @@SESSION.sql_max_join_size;
---echo 2 Expected
-
-
-SELECT @@GLOBAL.sql_max_join_size;
---echo 4 Expected
-
---echo ** Connection default **
-connection default;
-
---echo Disconnecting Connections con_int1, con_int2
-disconnect con_int1;
-disconnect con_int2;
-
-
-#
-# Cleanup
-#
-
-SET @@SESSION.sql_max_join_size = @session_max_join_size;
-SET @@GLOBAL.sql_max_join_size = @global_max_join_size ;
-SET @@SESSION.sql_big_selects = @session_sql_big_selects;
-
-DROP TABLE t1;
-DROP TABLE t2;
diff --git a/mysql-test/suite/sys_vars/t/sql_slave_skip_counter_basic.test b/mysql-test/suite/sys_vars/t/sql_slave_skip_counter_basic.test
index 10ca47133b7..e1ea74f33c3 100644
--- a/mysql-test/suite/sys_vars/t/sql_slave_skip_counter_basic.test
+++ b/mysql-test/suite/sys_vars/t/sql_slave_skip_counter_basic.test
@@ -22,6 +22,11 @@
# server-system-variables.html #
# #
###############################################################################
+# #
+# Modification date: 2012-09-30 #
+# With implementation of MDEV-253, the variable scope can be session #
+# #
+###############################################################################
--source include/not_embedded.inc
--source include/load_sysvars.inc
@@ -88,11 +93,8 @@ WHERE VARIABLE_NAME='sql_slave_skip_counter';
# Checking if variable is accessible with session scope #
###################################################################
---Error ER_GLOBAL_VARIABLE
SET @@sql_slave_skip_counter = 10;
---Error ER_GLOBAL_VARIABLE
SET @@session.sql_slave_skip_counter = 12;
---Error ER_GLOBAL_VARIABLE
SET @@local.sql_slave_skip_counter = 13;
SET @@global.sql_slave_skip_counter = 0;
diff --git a/mysql-test/suite/sys_vars/t/ssl_ca_basic.test b/mysql-test/suite/sys_vars/t/ssl_ca_basic.test
index c369f1f0894..e7a7d6f6a4b 100644
--- a/mysql-test/suite/sys_vars/t/ssl_ca_basic.test
+++ b/mysql-test/suite/sys_vars/t/ssl_ca_basic.test
@@ -22,7 +22,7 @@
# #
###############################################################################
--- source include/have_ssl.inc
+-- source include/have_ssl_communication.inc
--echo '#---------------------BS_STVARS_045_01----------------------#'
####################################################################
diff --git a/mysql-test/suite/sys_vars/t/ssl_cert_basic.test b/mysql-test/suite/sys_vars/t/ssl_cert_basic.test
index c3b69bd495f..56d24c11742 100644
--- a/mysql-test/suite/sys_vars/t/ssl_cert_basic.test
+++ b/mysql-test/suite/sys_vars/t/ssl_cert_basic.test
@@ -22,7 +22,7 @@
# #
###############################################################################
--- source include/have_ssl.inc
+-- source include/have_ssl_communication.inc
--echo '#---------------------BS_STVARS_047_01----------------------#'
####################################################################
diff --git a/mysql-test/suite/sys_vars/t/ssl_crl_basic.test b/mysql-test/suite/sys_vars/t/ssl_crl_basic.test
new file mode 100644
index 00000000000..ec1564917d1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/ssl_crl_basic.test
@@ -0,0 +1,3 @@
+--echo # a simplified test to keep the suite happy.
+--echo # the real test is in main.
+select @@ssl_crl;
diff --git a/mysql-test/suite/sys_vars/t/ssl_crlpath_basic.test b/mysql-test/suite/sys_vars/t/ssl_crlpath_basic.test
new file mode 100644
index 00000000000..c0d86010e07
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/ssl_crlpath_basic.test
@@ -0,0 +1,3 @@
+--echo # a simplified test to keep the suite happy.
+--echo # the real test is in main.
+select @@ssl_crlpath;
diff --git a/mysql-test/suite/sys_vars/t/ssl_key_basic.test b/mysql-test/suite/sys_vars/t/ssl_key_basic.test
index 4616f281c27..8d755b4650b 100644
--- a/mysql-test/suite/sys_vars/t/ssl_key_basic.test
+++ b/mysql-test/suite/sys_vars/t/ssl_key_basic.test
@@ -22,7 +22,7 @@
# #
###############################################################################
--- source include/have_ssl.inc
+-- source include/have_ssl_communication.inc
--echo '#---------------------BS_STVARS_049_01----------------------#'
####################################################################
diff --git a/mysql-test/suite/sys_vars/t/sysvars_aria.opt b/mysql-test/suite/sys_vars/t/sysvars_aria.opt
new file mode 100644
index 00000000000..cff8aa5bbd5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_aria.opt
@@ -0,0 +1 @@
+--loose-aria-log-file-size=100M
diff --git a/mysql-test/suite/sys_vars/t/sysvars_aria.test b/mysql-test/suite/sys_vars/t/sysvars_aria.test
new file mode 100644
index 00000000000..5ff5c0d4b2b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_aria.test
@@ -0,0 +1,7 @@
+--source include/have_aria.inc
+--source include/word_size.inc
+
+--vertical_results
+select * from information_schema.system_variables
+ where variable_name like 'aria%'
+ order by variable_name;
diff --git a/mysql-test/suite/sys_vars/t/sysvars_debug.opt b/mysql-test/suite/sys_vars/t/sysvars_debug.opt
new file mode 100644
index 00000000000..016d0f9b9e9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_debug.opt
@@ -0,0 +1 @@
+--loose-debug-binlog-fsync-sleep=314
diff --git a/mysql-test/suite/sys_vars/t/sysvars_debug.test b/mysql-test/suite/sys_vars/t/sysvars_debug.test
new file mode 100644
index 00000000000..fbdcbd683df
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_debug.test
@@ -0,0 +1,7 @@
+--source include/have_debug.inc
+--source include/word_size.inc
+
+--vertical_results
+select * from information_schema.system_variables
+ where variable_name like 'debug%'
+ order by variable_name;
diff --git a/mysql-test/suite/sys_vars/t/sysvars_innodb.opt b/mysql-test/suite/sys_vars/t/sysvars_innodb.opt
new file mode 100644
index 00000000000..c3eec59bc17
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_innodb.opt
@@ -0,0 +1,2 @@
+--loose-innodb-flush-log-at-timeout=3
+--table_open_cache=200
diff --git a/mysql-test/suite/sys_vars/t/sysvars_innodb.test b/mysql-test/suite/sys_vars/t/sysvars_innodb.test
new file mode 100644
index 00000000000..8faa9bce31a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_innodb.test
@@ -0,0 +1,19 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/not_valgrind.inc
+--source include/word_size.inc
+
+if (`select plugin_auth_version <= "5.6.34-79.1" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB as of 10.1.21-MariaDB or earlier
+}
+
+--vertical_results
+--replace_regex /^\/\S+/PATH/ /\.\//PATH/
+select * from information_schema.system_variables
+ where variable_name like 'innodb%' and
+ variable_name not in (
+ 'innodb_disallow_writes', # only available WITH_WSREP
+ 'innodb_sched_priority_cleaner', # linux only
+ 'innodb_use_native_aio') # default value depends on OS
+ order by variable_name;
diff --git a/mysql-test/suite/sys_vars/t/sysvars_server_embedded.opt b/mysql-test/suite/sys_vars/t/sysvars_server_embedded.opt
new file mode 100644
index 00000000000..c3f0d3bd51f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_server_embedded.opt
@@ -0,0 +1 @@
+--table_open_cache=100
diff --git a/mysql-test/suite/sys_vars/t/sysvars_server_embedded.test b/mysql-test/suite/sys_vars/t/sysvars_server_embedded.test
new file mode 100644
index 00000000000..adc71925403
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_server_embedded.test
@@ -0,0 +1,2 @@
+source include/is_embedded.inc;
+source inc/sysvars_server.inc;
diff --git a/mysql-test/suite/sys_vars/t/sysvars_server_notembedded.opt b/mysql-test/suite/sys_vars/t/sysvars_server_notembedded.opt
new file mode 100644
index 00000000000..c3f0d3bd51f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_server_notembedded.opt
@@ -0,0 +1 @@
+--table_open_cache=100
diff --git a/mysql-test/suite/sys_vars/t/sysvars_server_notembedded.test b/mysql-test/suite/sys_vars/t/sysvars_server_notembedded.test
new file mode 100644
index 00000000000..55f97f9b39d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_server_notembedded.test
@@ -0,0 +1,2 @@
+source include/not_embedded.inc;
+source inc/sysvars_server.inc;
diff --git a/mysql-test/suite/sys_vars/t/sysvars_wsrep.test b/mysql-test/suite/sys_vars/t/sysvars_wsrep.test
new file mode 100644
index 00000000000..c127115efe1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/sysvars_wsrep.test
@@ -0,0 +1,13 @@
+--source include/have_wsrep.inc
+--source include/word_size.inc
+--let $datadir = `SELECT @@datadir`
+--let $hostname = `SELECT @@hostname`
+
+--replace_result $datadir DATADIR
+--let $hostname_regex=/^$hostname\$/HOSTNAME/
+--replace_regex $hostname_regex /wsrep_[0-9]{2}\.[0-9]{1,2}/wsrep_MAJVER.MINVER/
+--vertical_results
+select * from information_schema.system_variables
+ where variable_name like 'wsrep%'
+ order by variable_name;
+
diff --git a/mysql-test/suite/sys_vars/t/table_definition_cache_basic.test b/mysql-test/suite/sys_vars/t/table_definition_cache_basic.test
index 69f29108645..183d1d0316e 100644
--- a/mysql-test/suite/sys_vars/t/table_definition_cache_basic.test
+++ b/mysql-test/suite/sys_vars/t/table_definition_cache_basic.test
@@ -64,9 +64,9 @@ SET @@global.table_definition_cache = 1;
SELECT @@global.table_definition_cache;
SET @@global.table_definition_cache = 2;
SELECT @@global.table_definition_cache;
-SET @@global.table_definition_cache = 524287;
+SET @@global.table_definition_cache = 2097151;
SELECT @@global.table_definition_cache;
-SET @@global.table_definition_cache = 524288;
+SET @@global.table_definition_cache = 2097152;
SELECT @@global.table_definition_cache;
@@ -79,7 +79,7 @@ SET @@global.table_definition_cache = 0;
SELECT @@global.table_definition_cache;
SET @@global.table_definition_cache = -1024;
SELECT @@global.table_definition_cache;
-SET @@global.table_definition_cache = 524289;
+SET @@global.table_definition_cache = 2097153;
SELECT @@global.table_definition_cache;
SET @@global.table_definition_cache = 42949672950;
SELECT @@global.table_definition_cache;
diff --git a/mysql-test/suite/sys_vars/t/thread_pool_size_high.test b/mysql-test/suite/sys_vars/t/thread_pool_size_high.test
index 761aeee2b0a..d1e68f026f0 100644
--- a/mysql-test/suite/sys_vars/t/thread_pool_size_high.test
+++ b/mysql-test/suite/sys_vars/t/thread_pool_size_high.test
@@ -1,6 +1,7 @@
--source include/not_windows.inc
--source include/not_embedded.inc
--source include/have_pool_of_threads.inc
+call mtr.add_suppression("Could not increase number of max_open_files to more than");
SELECT @@global.thread_pool_size;
diff --git a/mysql-test/suite/sys_vars/t/thread_stack_basic.test b/mysql-test/suite/sys_vars/t/thread_stack_basic.test
index 2d4d144572d..bfd3fb40db3 100644
--- a/mysql-test/suite/sys_vars/t/thread_stack_basic.test
+++ b/mysql-test/suite/sys_vars/t/thread_stack_basic.test
@@ -1,17 +1,17 @@
#
# only global
#
---replace_result 196608 262144
+--replace_result 372736 299008
select @@global.thread_stack;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.thread_stack;
---replace_result 196608 262144
+--replace_result 372736 299008
show global variables like 'thread_stack';
---replace_result 196608 262144
+--replace_result 372736 299008
show session variables like 'thread_stack';
---replace_result 196608 262144
+--replace_result 372736 299008
select * from information_schema.global_variables where variable_name='thread_stack';
---replace_result 196608 262144
+--replace_result 372736 299008
select * from information_schema.session_variables where variable_name='thread_stack';
#
diff --git a/mysql-test/suite/sys_vars/t/transaction_prealloc_size_bug27322.test b/mysql-test/suite/sys_vars/t/transaction_prealloc_size_bug27322.test
index 58098f4c879..6e3c330ce06 100644
--- a/mysql-test/suite/sys_vars/t/transaction_prealloc_size_bug27322.test
+++ b/mysql-test/suite/sys_vars/t/transaction_prealloc_size_bug27322.test
@@ -42,35 +42,25 @@ SET @def_var= @@session.transaction_prealloc_size;
--disable_warnings
SET SESSION transaction_prealloc_size=1024*1024*1024*1;
-# Embedded server is hardcoded to show "Writing to net" as STATE.
---replace_result "Writing to net" "NULL"
---replace_column 1 <Id> 3 <Host> 6 <Time>
-# Embedded server is hardcoded to show "Writing to net" as STATE.
---replace_result "Writing to net" "NULL"
---replace_regex /localhost[:0-9]*/localhost/
+# Embedded server is shows "cleaning up" as STATE, while non-embedded shows "init"
+--replace_column 1 <Id> 3 <Host> 6 <Time> 7 <State>
+--replace_result Execute Query
SHOW PROCESSLIST;
SET SESSION transaction_prealloc_size=1024*1024*1024*2;
---replace_result "Writing to net" "NULL"
---replace_column 1 <Id> 3 <Host> 6 <Time>
---replace_result "Writing to net" "NULL"
---replace_regex /localhost[:0-9]*/localhost/
+--replace_column 1 <Id> 3 <Host> 6 <Time> 7 <State>
+--replace_result Execute Query
SHOW PROCESSLIST;
SET SESSION transaction_prealloc_size=1024*1024*1024*3;
---replace_result "Writing to net" "NULL"
---replace_column 1 <Id> 3 <Host> 6 <Time>
---replace_result "Writing to net" "NULL"
---replace_regex /localhost[:0-9]*/localhost/
+--replace_column 1 <Id> 3 <Host> 6 <Time> 7 <State>
+--replace_result Execute Query
SHOW PROCESSLIST;
SET SESSION transaction_prealloc_size=1024*1024*1024*4;
---replace_result "Writing to net" "NULL"
---replace_column 1 <Id> 3 <Host> 6 <Time>
---replace_result "Writing to net" "NULL"
---replace_regex /localhost[:0-9]*/localhost/
+--replace_column 1 <Id> 3 <Host> 6 <Time> 7 <State>
+--replace_result Execute Query
SHOW PROCESSLIST;
SET SESSION transaction_prealloc_size=1024*1024*1024*5;
---replace_result "Writing to net" "NULL"
---replace_column 1 <Id> 3 <Host> 6 <Time>
---replace_result "Writing to net" "NULL"
+--replace_column 1 <Id> 3 <Host> 6 <Time> 7 <State>
+--replace_result Execute Query
SHOW PROCESSLIST;
--enable_warnings
diff --git a/mysql-test/suite/sys_vars/t/tx_read_only_basic.test b/mysql-test/suite/sys_vars/t/tx_read_only_basic.test
new file mode 100644
index 00000000000..0ebfcc31a89
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/tx_read_only_basic.test
@@ -0,0 +1,199 @@
+############## mysql-test\t\tx_read_only_basic.test ###########################
+# #
+# Variable Name: tx_read_only #
+# Scope: GLOBAL & SESSION #
+# Access Type: Dynamic #
+# Data Type: boolean #
+# Default Value: OFF #
+# Range: #
+# #
+# #
+# Creation Date: 2012-01-12 #
+# Author: joh #
+# #
+# Description: Test Cases of Dynamic System Variable tx_read_only #
+# that checks the behavior of this variable in the following ways#
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.6/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+
+--echo ####################################################################
+--echo # START OF tx_read_only TESTS #
+--echo ####################################################################
+
+
+--echo #############################################################
+--echo # Save initial value #
+--echo #############################################################
+
+SET @start_global_value = @@global.tx_read_only;
+SELECT @start_global_value;
+SET @start_session_value = @@session.tx_read_only;
+SELECT @start_session_value;
+
+
+--echo ########################################################################
+--echo # Display the DEFAULT value of tx_read_only #
+--echo ########################################################################
+
+SET @@global.tx_read_only = ON;
+SET @@global.tx_read_only = DEFAULT;
+SELECT @@global.tx_read_only;
+
+SET @@session.tx_read_only = ON;
+SET @@session.tx_read_only = DEFAULT;
+SELECT @@session.tx_read_only;
+
+
+--echo ##############################################################################
+--echo # Change the value of tx_read_only to a valid value for GLOBAL Scope #
+--echo ##############################################################################
+
+SET @@global.tx_read_only = ON;
+SELECT @@global.tx_read_only;
+SET @@global.tx_read_only = OFF;
+SELECT @@global.tx_read_only;
+SET @@global.tx_read_only = 0;
+SELECT @@global.tx_read_only;
+SET @@global.tx_read_only = 1;
+SELECT @@global.tx_read_only;
+SET @@global.tx_read_only = TRUE;
+SELECT @@global.tx_read_only;
+SET @@global.tx_read_only = FALSE;
+SELECT @@global.tx_read_only;
+
+
+
+--echo ###############################################################################
+--echo # Change the value of tx_read_only to a valid value for SESSION Scope #
+--echo ###############################################################################
+
+SET @@session.tx_read_only = ON;
+SELECT @@session.tx_read_only;
+SET @@session.tx_read_only = OFF;
+SELECT @@session.tx_read_only;
+SET @@session.tx_read_only = 0;
+SELECT @@session.tx_read_only;
+SET @@session.tx_read_only = 1;
+SELECT @@session.tx_read_only;
+SET @@session.tx_read_only = TRUE;
+SELECT @@session.tx_read_only;
+SET @@session.tx_read_only = FALSE;
+SELECT @@session.tx_read_only;
+
+
+--echo ################################################################
+--echo # Change the value of tx_read_only to an invalid value #
+--echo ################################################################
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.tx_read_only = 'ONN';
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.tx_read_only = "OFFF";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.tx_read_only = TTRUE;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.tx_read_only = FELSE;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.tx_read_only = -1024;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.tx_read_only = 65536;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.tx_read_only = 65530.34;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.tx_read_only = test;
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.tx_read_only = ONN;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.tx_read_only = ONF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.tx_read_only = OF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.tx_read_only = 'OFN';
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.tx_read_only = -2;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.tx_read_only = 65530.34;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.tx_read_only = 65550;
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.tx_read_only = test;
+SELECT @@session.tx_read_only;
+
+
+--echo ####################################################################
+--echo # Check if the value in GLOBAL Table matches value in variable #
+--echo ####################################################################
+
+
+SELECT IF(@@global.tx_read_only, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='tx_read_only';
+
+--echo ####################################################################
+--echo # Check if the value in SESSION Table matches value in variable #
+--echo ####################################################################
+
+SELECT IF(@@session.tx_read_only, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='tx_read_only';
+
+
+--echo ###############################################################################
+--echo # Check if accessing variable with and without GLOBAL point to same variable #
+--echo ###############################################################################
+
+SET @@tx_read_only = OFF;
+SET @@global.tx_read_only = ON;
+SELECT @@tx_read_only = @@global.tx_read_only;
+
+
+--echo ##############################################################################
+--echo # Check if accessing variable with SESSION,LOCAL and without SCOPE points #
+--echo # to same session variable #
+--echo ##############################################################################
+
+SET @@tx_read_only = ON;
+SELECT @@tx_read_only = @@local.tx_read_only;
+SELECT @@local.tx_read_only = @@session.tx_read_only;
+
+
+--echo ###############################################################################
+--echo # Check if tx_read_only can be accessed with and without @@ sign #
+--echo ###############################################################################
+
+--echo # @@session is synonym for SESSION
+SET @@session.tx_read_only= 0;
+
+--echo # Without modifier, SET changes session variable
+SET tx_read_only = 1;
+SELECT @@tx_read_only;
+
+--echo # name1.name2 refers to database_name.table_name
+--Error ER_UNKNOWN_TABLE
+SELECT session.tx_read_only;
+
+--echo ####################################
+--echo # Restore initial value #
+--echo ####################################
+
+SET @@global.tx_read_only = @start_global_value;
+SELECT @@global.tx_read_only;
+SET @@session.tx_read_only = @start_session_value;
+SELECT @@session.tx_read_only;
+
+
+--echo #########################################################
+--echo # END OF tx_read_only TESTS #
+--echo #########################################################
+
diff --git a/mysql-test/suite/sys_vars/t/use_stat_tables_basic.test b/mysql-test/suite/sys_vars/t/use_stat_tables_basic.test
new file mode 100644
index 00000000000..7f526edf206
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/use_stat_tables_basic.test
@@ -0,0 +1,100 @@
+--source include/load_sysvars.inc
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.use_stat_tables;
+SELECT @start_global_value;
+SET @start_session_value = @@session.use_stat_tables;
+SELECT @start_session_value;
+
+###############################################################
+# Display the DEFAULT value of use_stat_tables #
+###############################################################
+
+SET @@global.use_stat_tables = 2;
+SET @@global.use_stat_tables = DEFAULT;
+SELECT @@global.use_stat_tables;
+
+
+##################################################################################
+# Change the value of use_stat_tables to a valid value for GLOBAL Scope #
+##################################################################################
+
+SET @@global.use_stat_tables = 0;
+SELECT @@global.use_stat_tables;
+SET @@global.use_stat_tables = 1;
+SELECT @@global.use_stat_tables;
+SET @@global.use_stat_tables = 2;
+SELECT @@global.use_stat_tables;
+
+SET @@global.use_stat_tables = NEVER;
+SELECT @@global.use_stat_tables;
+SET @@global.use_stat_tables = COMPLEMENTARY;
+SELECT @@global.use_stat_tables;
+SET @@global.use_stat_tables = PREFERABLY;
+SELECT @@global.use_stat_tables;
+
+####################################################################################
+# Change the value of use_stat_tables to a valid value for SESSION Scope #
+####################################################################################
+
+SET @@session.use_stat_tables = 0;
+SELECT @@session.use_stat_tables;
+SET @@session.use_stat_tables = 1;
+SELECT @@session.use_stat_tables;
+SET @@session.use_stat_tables = 2;
+SELECT @@session.use_stat_tables;
+
+SET @@session.use_stat_tables = NEVER;
+SELECT @@session.use_stat_tables;
+SET @@session.use_stat_tables = PREFERABLY;
+SELECT @@session.use_stat_tables;
+SET @@session.use_stat_tables = COMPLEMENTARY;
+SELECT @@session.use_stat_tables;
+
+#####################################################################
+# Change the value of use_stat_tables to an invalid value #
+#####################################################################
+set sql_mode=TRADITIONAL;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.use_stat_tables = 10;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.use_stat_tables = -1024;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.use_stat_tables = 2.4;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.use_stat_tables = OFF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.use_stat_tables = 10;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.use_stat_tables = -2;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.use_stat_tables = 1.2;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.use_stat_tables = ON;
+
+###############################################################################
+# Check if the value in GLOBAL & SESSION Tables matches value in variable #
+###############################################################################
+
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='use_stat_tables';
+
+SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='use_stat_tables';
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.use_stat_tables = @start_global_value;
+SELECT @@global.use_stat_tables;
+SET @@session.use_stat_tables = @start_session_value;
+SELECT @@session.use_stat_tables;
+set sql_mode='';
+
+######################################################
+# END OF use_stat_tables TESTS #
+###################################################### \ No newline at end of file
diff --git a/mysql-test/suite/sys_vars/t/version_malloc_library_basic.test b/mysql-test/suite/sys_vars/t/version_malloc_library_basic.test
new file mode 100644
index 00000000000..6318ca4abd5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/version_malloc_library_basic.test
@@ -0,0 +1,90 @@
+################## mysql-test\t\version_malloc_library.test ###################
+# #
+# Variable Name: version_malloc_library #
+# Scope: Global #
+# Access Type: Static #
+# Data Type: String #
+# #
+# Description:Test Cases of Dynamic System Variable version #
+# that checks the behavior of this variable in the following ways #
+# * Value Check #
+# * Scope Check #
+# #
+###############################################################################
+
+--echo '#---------------------BS_STVARS_053_01----------------------#'
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT COUNT(@@GLOBAL.version_malloc_library);
+--echo 1 Expected
+
+
+--echo '#---------------------BS_STVARS_053_02----------------------#'
+####################################################################
+# Check if Value can set #
+####################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.version_malloc_library=1;
+--echo Expected error 'Read only variable'
+
+SELECT COUNT(@@GLOBAL.version_malloc_library);
+--echo 1 Expected
+
+
+
+
+--echo '#---------------------BS_STVARS_053_03----------------------#'
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+SELECT @@GLOBAL.version_malloc_library = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='version_malloc_library';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.version_malloc_library);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='version_malloc_library';
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_053_04----------------------#'
+###############################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+###############################################################################
+SELECT @@version_malloc_library = @@GLOBAL.version_malloc_library;
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_053_05----------------------#'
+###############################################################################
+# Check if version_malloc_library can be accessed with and without @@ sign #
+###############################################################################
+
+SELECT COUNT(@@version_malloc_library);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.version_malloc_library);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.version_malloc_library);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.version_malloc_library);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT version_malloc_library = @@SESSION.version;
+--echo Expected error 'Readonly variable'
+
+
diff --git a/mysql-test/suite/sys_vars/t/version_ssl_library_basic.test b/mysql-test/suite/sys_vars/t/version_ssl_library_basic.test
new file mode 100644
index 00000000000..3a244084e7f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/version_ssl_library_basic.test
@@ -0,0 +1,2 @@
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set @@global.version_malloc_library=1;
diff --git a/mysql-test/suite/sys_vars/t/wait_timeout_basic.test b/mysql-test/suite/sys_vars/t/wait_timeout_basic.test
index e92a3294b86..598f6cb44fd 100644
--- a/mysql-test/suite/sys_vars/t/wait_timeout_basic.test
+++ b/mysql-test/suite/sys_vars/t/wait_timeout_basic.test
@@ -203,6 +203,20 @@ SELECT session.wait_timeout;
--Error ER_BAD_FIELD_ERROR
SELECT wait_timeout = @@session.wait_timeout;
+--echo #
+--echo # MDEV-9516 type error when setting session variable
+--echo #
+
+SET SESSION wait_timeout= 28000;
+SET SESSION wait_timeout= GREATEST(28000, @@wait_timeout);
+SET SESSION wait_timeout= COALESCE(28000, @@wait_timeout);
+SET SESSION wait_timeout= IFNULL(28000, @@wait_timeout);
+SET SESSION wait_timeout= CASE WHEN TRUE THEN 28000 ELSE @@wait_timeout END;
+
+--error ER_WRONG_TYPE_FOR_VAR
+SET SESSION wait_timeout= 28000.0;
+--error ER_WRONG_TYPE_FOR_VAR
+SET SESSION wait_timeout= 28000.1;
####################################
# Restore initial value #
diff --git a/mysql-test/suite/sys_vars/t/wsrep_auto_increment_control_basic.test b/mysql-test/suite/sys_vars/t/wsrep_auto_increment_control_basic.test
new file mode 100644
index 00000000000..5dc23cf2ad6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_auto_increment_control_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_auto_increment_control
+--echo #
+
+--echo # save the initial value
+SET @wsrep_auto_increment_control_global_saved = @@global.wsrep_auto_increment_control;
+
+--echo # default
+SELECT @@global.wsrep_auto_increment_control;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_auto_increment_control;
+SET @@global.wsrep_auto_increment_control=OFF;
+SELECT @@global.wsrep_auto_increment_control;
+SET @@global.wsrep_auto_increment_control=ON;
+SELECT @@global.wsrep_auto_increment_control;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_auto_increment_control='OFF';
+SELECT @@global.wsrep_auto_increment_control;
+SET @@global.wsrep_auto_increment_control=ON;
+SELECT @@global.wsrep_auto_increment_control;
+SET @@global.wsrep_auto_increment_control=default;
+SELECT @@global.wsrep_auto_increment_control;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_auto_increment_control=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_auto_increment_control='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_auto_increment_control = @wsrep_auto_increment_control_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_causal_reads_basic.test b/mysql-test/suite/sys_vars/t/wsrep_causal_reads_basic.test
new file mode 100644
index 00000000000..6539e5cba85
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_causal_reads_basic.test
@@ -0,0 +1,45 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_causal_reads
+--echo #
+
+--echo # save the initial values
+SET @wsrep_causal_reads_global_saved = @@global.wsrep_causal_reads;
+SET @wsrep_causal_reads_session_saved = @@session.wsrep_causal_reads;
+
+--echo # default
+SELECT @@global.wsrep_causal_reads;
+SELECT @@session.wsrep_causal_reads;
+
+--echo
+--echo # scope and valid values
+SET @@global.wsrep_causal_reads=OFF;
+SELECT @@global.wsrep_causal_reads;
+SET @@global.wsrep_causal_reads=ON;
+SELECT @@global.wsrep_causal_reads;
+
+SET @@session.wsrep_causal_reads=OFF;
+SELECT @@session.wsrep_causal_reads;
+SET @@session.wsrep_causal_reads=ON;
+SELECT @@session.wsrep_causal_reads;
+SET @@session.wsrep_causal_reads=default;
+SELECT @@session.wsrep_causal_reads;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_causal_reads=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_causal_reads='junk';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@session.wsrep_causal_reads=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@session.wsrep_causal_reads='junk';
+
+--echo
+--echo # restore the initial values
+SET @@global.wsrep_causal_reads = @wsrep_causal_reads_global_saved;
+SET @@session.wsrep_causal_reads = @wsrep_causal_reads_session_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_certify_nonpk_basic.test b/mysql-test/suite/sys_vars/t/wsrep_certify_nonpk_basic.test
new file mode 100644
index 00000000000..a2c690e5954
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_certify_nonpk_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_certify_nonpk
+--echo #
+
+--echo # save the initial value
+SET @wsrep_certify_nonpk_global_saved = @@global.wsrep_certify_nonpk;
+
+--echo # default
+SELECT @@global.wsrep_certify_nonpk;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_certify_nonpk;
+SET @@global.wsrep_certify_nonpk=OFF;
+SELECT @@global.wsrep_certify_nonpk;
+SET @@global.wsrep_certify_nonpk=ON;
+SELECT @@global.wsrep_certify_nonpk;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_certify_nonpk='OFF';
+SELECT @@global.wsrep_certify_nonpk;
+SET @@global.wsrep_certify_nonpk=ON;
+SELECT @@global.wsrep_certify_nonpk;
+SET @@global.wsrep_certify_nonpk=default;
+SELECT @@global.wsrep_certify_nonpk;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_certify_nonpk=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_certify_nonpk='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_certify_nonpk = @wsrep_certify_nonpk_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_cluster_address_basic.test b/mysql-test/suite/sys_vars/t/wsrep_cluster_address_basic.test
new file mode 100644
index 00000000000..136c0745e42
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_cluster_address_basic.test
@@ -0,0 +1,49 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_cluster_address
+--echo #
+
+call mtr.add_suppression("safe_mutex: Found wrong usage of mutex.*");
+
+--echo # save the initial value
+SET @wsrep_cluster_address_global_saved = @@global.wsrep_cluster_address;
+
+--echo # default
+SELECT @@global.wsrep_cluster_address;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_cluster_address;
+SELECT @@global.wsrep_cluster_address;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_cluster_address='127.0.0.1';
+SELECT @@global.wsrep_cluster_address;
+SET @@global.wsrep_cluster_address=AUTO;
+SELECT @@global.wsrep_cluster_address;
+SET @@global.wsrep_cluster_address=default;
+SELECT @@global.wsrep_cluster_address;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_node_address=NULL;
+SELECT @@global.wsrep_node_address;
+# The values being assigned to wsrep_node_address are not verified so the
+# following alues are currently valid too.
+SET @@global.wsrep_cluster_address=ON;
+SELECT @@global.wsrep_cluster_address;
+SET @@global.wsrep_cluster_address='OFF';
+SELECT @@global.wsrep_cluster_address;
+SET @@global.wsrep_cluster_address='junk';
+SELECT @@global.wsrep_cluster_address;
+
+--echo
+--echo # restore the initial value
+--error 0,ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_cluster_address = @wsrep_cluster_address_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_cluster_name_basic.test b/mysql-test/suite/sys_vars/t/wsrep_cluster_name_basic.test
new file mode 100644
index 00000000000..a6fc3ef7b1e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_cluster_name_basic.test
@@ -0,0 +1,40 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_cluster_name
+--echo #
+
+--echo # save the initial value
+SET @wsrep_cluster_name_global_saved = @@global.wsrep_cluster_name;
+
+--echo # default
+SELECT @@global.wsrep_cluster_name;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_cluster_name;
+SET @@global.wsrep_cluster_name='my_galera_cluster';
+SELECT @@global.wsrep_cluster_name;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_cluster_name='my_quoted_galera_cluster';
+SELECT @@global.wsrep_cluster_name;
+SET @@global.wsrep_cluster_name=my_unquoted_cluster;
+SELECT @@global.wsrep_cluster_name;
+SET @@global.wsrep_cluster_name=OFF;
+SELECT @@global.wsrep_cluster_name;
+SET @@global.wsrep_cluster_name=default;
+SELECT @@global.wsrep_cluster_name;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_cluster_name=NULL;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_cluster_name = @wsrep_cluster_name_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_convert_lock_to_trx_basic.test b/mysql-test/suite/sys_vars/t/wsrep_convert_lock_to_trx_basic.test
new file mode 100644
index 00000000000..486832fb394
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_convert_lock_to_trx_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_convert_lock_to_trx
+--echo #
+
+--echo # save the initial value
+SET @wsrep_convert_lock_to_trx_global_saved = @@global.wsrep_convert_lock_to_trx;
+
+--echo # default
+SELECT @@global.wsrep_convert_lock_to_trx;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_convert_lock_to_trx;
+SET @@global.wsrep_convert_lock_to_trx=OFF;
+SELECT @@global.wsrep_convert_lock_to_trx;
+SET @@global.wsrep_convert_lock_to_trx=ON;
+SELECT @@global.wsrep_convert_lock_to_trx;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_convert_lock_to_trx='OFF';
+SELECT @@global.wsrep_convert_lock_to_trx;
+SET @@global.wsrep_convert_lock_to_trx=ON;
+SELECT @@global.wsrep_convert_lock_to_trx;
+SET @@global.wsrep_convert_lock_to_trx=default;
+SELECT @@global.wsrep_convert_lock_to_trx;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_convert_lock_to_trx=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_convert_lock_to_trx='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_convert_lock_to_trx = @wsrep_convert_lock_to_trx_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_data_home_dir_basic.test b/mysql-test/suite/sys_vars/t/wsrep_data_home_dir_basic.test
new file mode 100644
index 00000000000..646600c7769
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_data_home_dir_basic.test
@@ -0,0 +1,28 @@
+--source include/have_wsrep.inc
+--let $datadir = `SELECT @@datadir`
+
+--echo #
+--echo # wsrep_data_home_dir (readonly)
+--echo #
+
+--echo # default
+--replace_result $datadir DATADIR
+SELECT @@global.wsrep_data_home_dir;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_data_home_dir;
+
+--echo
+--echo # valid values
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.wsrep_data_home_dir='/tmp/data';
+--replace_result $datadir DATADIR
+SELECT @@global.wsrep_data_home_dir;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.wsrep_data_home_dir=default;
+--replace_result $datadir DATADIR
+SELECT @@global.wsrep_data_home_dir;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_dbug_option_basic.test b/mysql-test/suite/sys_vars/t/wsrep_dbug_option_basic.test
new file mode 100644
index 00000000000..80ce190a154
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_dbug_option_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_dbug_option
+--echo #
+
+--echo # save the initial value
+SET @wsrep_dbug_option_global_saved = @@global.wsrep_dbug_option;
+
+--echo # default
+SELECT @@global.wsrep_dbug_option;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_dbug_option;
+SET @@global.wsrep_dbug_option='test-dbug-string';
+SELECT @@global.wsrep_dbug_option;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_dbug_option='quoted-dbug-string';
+SELECT @@global.wsrep_dbug_option;
+SET @@global.wsrep_dbug_option=unquoted_dbug_string;
+SELECT @@global.wsrep_dbug_option;
+SET @@global.wsrep_dbug_option=OFF;
+SELECT @@global.wsrep_dbug_option;
+SET @@global.wsrep_dbug_option=NULL;
+SELECT @@global.wsrep_dbug_option;
+SET @@global.wsrep_dbug_option=default;
+SELECT @@global.wsrep_dbug_option;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_dbug_option=1;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_dbug_option = @wsrep_dbug_option_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_debug_basic.test b/mysql-test/suite/sys_vars/t/wsrep_debug_basic.test
new file mode 100644
index 00000000000..50576ff064e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_debug_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_debug
+--echo #
+
+--echo # save the initial value
+SET @wsrep_debug_global_saved = @@global.wsrep_debug;
+
+--echo # default
+SELECT @@global.wsrep_debug;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_debug;
+SET @@global.wsrep_debug=OFF;
+SELECT @@global.wsrep_debug;
+SET @@global.wsrep_debug=ON;
+SELECT @@global.wsrep_debug;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_debug='OFF';
+SELECT @@global.wsrep_debug;
+SET @@global.wsrep_debug=ON;
+SELECT @@global.wsrep_debug;
+SET @@global.wsrep_debug=default;
+SELECT @@global.wsrep_debug;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_debug=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_debug='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_debug = @wsrep_debug_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_desync_basic.test b/mysql-test/suite/sys_vars/t/wsrep_desync_basic.test
new file mode 100644
index 00000000000..e386004b92f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_desync_basic.test
@@ -0,0 +1,57 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_desync
+--echo #
+
+# expected as no wsrep provider is currently loaded
+call mtr.add_suppression("WSREP: SET desync failed 9 for schema: test, query: SET @@global.wsrep_desync=ON");
+
+--echo # save the initial value
+SET @wsrep_desync_global_saved = @@global.wsrep_desync;
+
+--echo # default
+SELECT @@global.wsrep_desync;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_desync;
+--disable_warnings
+--error 0,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_desync=OFF;
+--enable_warnings
+SELECT @@global.wsrep_desync;
+# expected as no wsrep provider is currently loaded
+--error ER_CANNOT_USER,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_desync=ON;
+SELECT @@global.wsrep_desync;
+
+--echo
+--echo # valid values
+--error 0,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_desync='OFF';
+SELECT @@global.wsrep_desync;
+# expected as no wsrep provider is currently loaded
+--error ER_CANNOT_USER,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_desync=ON;
+SELECT @@global.wsrep_desync;
+--error 0,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_desync=default;
+SELECT @@global.wsrep_desync;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_desync=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_desync='junk';
+
+--echo
+--echo # restore the initial value
+--disable_warnings
+--error 0,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_desync = @wsrep_desync_global_saved;
+--enable_warnings
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_dirty_reads_basic.test b/mysql-test/suite/sys_vars/t/wsrep_dirty_reads_basic.test
new file mode 100644
index 00000000000..ffe767a051b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_dirty_reads_basic.test
@@ -0,0 +1,48 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_dirty_reads
+--echo #
+
+--echo # save the initial value
+SET @wsrep_dirty_reads_session_saved = @@session.wsrep_dirty_reads;
+
+--echo # default
+
+SELECT @@global.wsrep_dirty_reads;
+SELECT @@session.wsrep_dirty_reads;
+
+--echo
+--echo # valid values for session
+SET @@session.wsrep_dirty_reads=OFF;
+SELECT @@session.wsrep_dirty_reads;
+SET @@session.wsrep_dirty_reads=ON;
+SELECT @@session.wsrep_dirty_reads;
+SET @@session.wsrep_dirty_reads=default;
+SELECT @@session.wsrep_dirty_reads;
+
+--echo
+--echo # valid values for global
+SET @@global.wsrep_dirty_reads=OFF;
+SELECT @@global.wsrep_dirty_reads;
+SET @@global.wsrep_dirty_reads=ON;
+SELECT @@global.wsrep_dirty_reads;
+SET @@global.wsrep_dirty_reads=default;
+SELECT @@global.wsrep_dirty_reads;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@session.wsrep_dirty_reads=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@session.wsrep_dirty_reads='junk';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_dirty_reads=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_dirty_reads='junk';
+
+--echo
+--echo # restore the initial values
+SET @@session.wsrep_dirty_reads = @wsrep_dirty_reads_session_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_drupal_282555_workaround_basic.test b/mysql-test/suite/sys_vars/t/wsrep_drupal_282555_workaround_basic.test
new file mode 100644
index 00000000000..e24f6a15265
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_drupal_282555_workaround_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_drupal_282555_workaround
+--echo #
+
+--echo # save the initial value
+SET @wsrep_drupal_282555_workaround_global_saved = @@global.wsrep_drupal_282555_workaround;
+
+--echo # default
+SELECT @@global.wsrep_drupal_282555_workaround;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_drupal_282555_workaround;
+SET @@global.wsrep_drupal_282555_workaround=OFF;
+SELECT @@global.wsrep_drupal_282555_workaround;
+SET @@global.wsrep_drupal_282555_workaround=ON;
+SELECT @@global.wsrep_drupal_282555_workaround;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_drupal_282555_workaround='OFF';
+SELECT @@global.wsrep_drupal_282555_workaround;
+SET @@global.wsrep_drupal_282555_workaround=ON;
+SELECT @@global.wsrep_drupal_282555_workaround;
+SET @@global.wsrep_drupal_282555_workaround=default;
+SELECT @@global.wsrep_drupal_282555_workaround;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_drupal_282555_workaround=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_drupal_282555_workaround='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_drupal_282555_workaround = @wsrep_drupal_282555_workaround_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_forced_binlog_format_basic.test b/mysql-test/suite/sys_vars/t/wsrep_forced_binlog_format_basic.test
new file mode 100644
index 00000000000..455034bb623
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_forced_binlog_format_basic.test
@@ -0,0 +1,46 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_forced_binlog_format
+--echo #
+
+--echo # save the initial value
+SET @wsrep_forced_binlog_format_global_saved = @@global.wsrep_forced_binlog_format;
+
+--echo # default
+SELECT @@global.wsrep_forced_binlog_format;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_forced_binlog_format;
+SET @@global.wsrep_forced_binlog_format=STATEMENT;
+SELECT @@global.wsrep_forced_binlog_format;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_forced_binlog_format=STATEMENT;
+SELECT @@global.wsrep_forced_binlog_format;
+SET @@global.wsrep_forced_binlog_format=ROW;
+SELECT @@global.wsrep_forced_binlog_format;
+SET @@global.wsrep_forced_binlog_format=MIXED;
+SELECT @@global.wsrep_forced_binlog_format;
+SET @@global.wsrep_forced_binlog_format=NONE;
+SELECT @@global.wsrep_forced_binlog_format;
+SET @@global.wsrep_forced_binlog_format=default;
+SELECT @@global.wsrep_forced_binlog_format;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_forced_binlog_format=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_forced_binlog_format='junk';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_forced_binlog_format=ON;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_forced_binlog_format = @wsrep_forced_binlog_format_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_gtid_domain_id_basic.test b/mysql-test/suite/sys_vars/t/wsrep_gtid_domain_id_basic.test
new file mode 100644
index 00000000000..5608e46e0b7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_gtid_domain_id_basic.test
@@ -0,0 +1,43 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_gtid_domain_id
+--echo #
+
+--echo # save the initial value
+SET @wsrep_gtid_domain_id_global_saved = @@global.wsrep_gtid_domain_id;
+
+--echo # default
+SELECT @@global.wsrep_gtid_domain_id;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_gtid_domain_id;
+SET @@global.wsrep_gtid_domain_id=1;
+SELECT @@global.wsrep_gtid_domain_id;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_gtid_domain_id=10;
+SELECT @@global.wsrep_gtid_domain_id;
+SET @@global.wsrep_gtid_domain_id=0;
+SELECT @@global.wsrep_gtid_domain_id;
+SET @@global.wsrep_gtid_domain_id=default;
+SELECT @global.wsrep_gtid_domain_id;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_gtid_domain_id=NULL;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_gtid_domain_id='junk';
+# expect warning : Truncated incorrect wsrep_gtid_domain_id value: '-1'
+SET @@global.wsrep_gtid_domain_id=-1;
+SELECT @global.wsrep_gtid_domain_id;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_gtid_domain_id = @wsrep_gtid_domain_id_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_gtid_mode_basic.test b/mysql-test/suite/sys_vars/t/wsrep_gtid_mode_basic.test
new file mode 100644
index 00000000000..1a749e18eaa
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_gtid_mode_basic.test
@@ -0,0 +1,33 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_gtid_mode
+--echo #
+
+--echo # save the initial value
+SET @wsrep_gtid_mode_global_saved = @@global.wsrep_gtid_mode;
+
+--echo # default
+SELECT @@global.wsrep_gtid_mode;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_gtid_mode;
+
+--echo
+--echo # scope and valid values
+SET @@global.wsrep_gtid_mode=OFF;
+SELECT @@global.wsrep_gtid_mode;
+SET @@global.wsrep_gtid_mode=ON;
+SELECT @@global.wsrep_gtid_mode;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_gtid_mode=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_gtid_mode='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_gtid_mode = @wsrep_gtid_mode_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_load_data_splitting_basic.test b/mysql-test/suite/sys_vars/t/wsrep_load_data_splitting_basic.test
new file mode 100644
index 00000000000..d52e388fc60
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_load_data_splitting_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_load_data_splitting
+--echo #
+
+--echo # save the initial value
+SET @wsrep_load_data_splitting_global_saved = @@global.wsrep_load_data_splitting;
+
+--echo # default
+SELECT @@global.wsrep_load_data_splitting;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_load_data_splitting;
+SET @@global.wsrep_load_data_splitting=OFF;
+SELECT @@global.wsrep_load_data_splitting;
+SET @@global.wsrep_load_data_splitting=ON;
+SELECT @@global.wsrep_load_data_splitting;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_load_data_splitting='OFF';
+SELECT @@global.wsrep_load_data_splitting;
+SET @@global.wsrep_load_data_splitting=ON;
+SELECT @@global.wsrep_load_data_splitting;
+SET @@global.wsrep_load_data_splitting=default;
+SELECT @@global.wsrep_load_data_splitting;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_load_data_splitting=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_load_data_splitting='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_load_data_splitting = @wsrep_load_data_splitting_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_log_conflicts_basic.test b/mysql-test/suite/sys_vars/t/wsrep_log_conflicts_basic.test
new file mode 100644
index 00000000000..eee4d966855
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_log_conflicts_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_log_conflicts
+--echo #
+
+--echo # save the initial value
+SET @wsrep_log_conflicts_global_saved = @@global.wsrep_log_conflicts;
+
+--echo # default
+SELECT @@global.wsrep_log_conflicts;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_log_conflicts;
+SET @@global.wsrep_log_conflicts=OFF;
+SELECT @@global.wsrep_log_conflicts;
+SET @@global.wsrep_log_conflicts=ON;
+SELECT @@global.wsrep_log_conflicts;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_log_conflicts='OFF';
+SELECT @@global.wsrep_log_conflicts;
+SET @@global.wsrep_log_conflicts=ON;
+SELECT @@global.wsrep_log_conflicts;
+SET @@global.wsrep_log_conflicts=default;
+SELECT @@global.wsrep_log_conflicts;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_log_conflicts=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_log_conflicts='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_log_conflicts = @wsrep_log_conflicts_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_max_ws_rows_basic.test b/mysql-test/suite/sys_vars/t/wsrep_max_ws_rows_basic.test
new file mode 100644
index 00000000000..ed78662c02d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_max_ws_rows_basic.test
@@ -0,0 +1,45 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_max_ws_rows
+--echo #
+
+--echo # save the initial value
+SET @wsrep_max_ws_rows_global_saved = @@global.wsrep_max_ws_rows;
+
+--echo # default
+SELECT @@global.wsrep_max_ws_rows;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_max_ws_rows;
+SET @@global.wsrep_max_ws_rows=1;
+SELECT @@global.wsrep_max_ws_rows;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_max_ws_rows=131072;
+SELECT @@global.wsrep_max_ws_rows;
+SET @@global.wsrep_max_ws_rows=131073;
+SELECT @@global.wsrep_max_ws_rows;
+SET @@global.wsrep_max_ws_rows=0;
+SELECT @@global.wsrep_max_ws_rows;
+SET @@global.wsrep_max_ws_rows=default;
+SELECT @global.wsrep_max_ws_rows;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_max_ws_rows=NULL;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_max_ws_rows='junk';
+# expect warnings (Truncated incorrect wsrep_max_ws_rows value: '-1')
+SET @@global.wsrep_max_ws_rows=-1;
+SELECT @global.wsrep_max_ws_rows;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_max_ws_rows = @wsrep_max_ws_rows_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_max_ws_size_basic.test b/mysql-test/suite/sys_vars/t/wsrep_max_ws_size_basic.test
new file mode 100644
index 00000000000..50506ed12df
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_max_ws_size_basic.test
@@ -0,0 +1,44 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_max_ws_size
+--echo #
+
+--echo # default
+SELECT @@global.wsrep_max_ws_size;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_max_ws_size;
+--error ER_WRONG_ARGUMENTS
+SET @@global.wsrep_max_ws_size=1;
+SELECT @@global.wsrep_max_ws_size;
+
+--echo
+--echo # valid values
+--error ER_WRONG_ARGUMENTS
+SET @@global.wsrep_max_ws_size=1073741824;
+SELECT @@global.wsrep_max_ws_size;
+--error ER_WRONG_ARGUMENTS
+SET @@global.wsrep_max_ws_size=1073741825;
+SELECT @@global.wsrep_max_ws_size;
+--error ER_WRONG_ARGUMENTS
+SET @@global.wsrep_max_ws_size=0;
+SELECT @@global.wsrep_max_ws_size;
+--error ER_WRONG_ARGUMENTS
+SET @@global.wsrep_max_ws_size=default;
+SELECT @global.wsrep_max_ws_size;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_max_ws_size=NULL;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_max_ws_size='junk';
+SELECT @global.wsrep_max_ws_size;
+--error ER_WRONG_ARGUMENTS
+SET @@global.wsrep_max_ws_size=-1;
+SELECT @global.wsrep_max_ws_size;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_mysql_replication_bundle_basic.test b/mysql-test/suite/sys_vars/t/wsrep_mysql_replication_bundle_basic.test
new file mode 100644
index 00000000000..c293048c43f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_mysql_replication_bundle_basic.test
@@ -0,0 +1,45 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_mysql_replication_bundle
+--echo #
+
+--echo # save the initial value
+SET @wsrep_mysql_replication_bundle_global_saved = @@global.wsrep_mysql_replication_bundle;
+
+--echo # default
+SELECT @@global.wsrep_mysql_replication_bundle;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_mysql_replication_bundle;
+SELECT @@global.wsrep_mysql_replication_bundle;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_mysql_replication_bundle=0;
+SELECT @@global.wsrep_mysql_replication_bundle;
+SET @@global.wsrep_mysql_replication_bundle=1000;
+SELECT @@global.wsrep_mysql_replication_bundle;
+SET @@global.wsrep_mysql_replication_bundle=default;
+SELECT @@global.wsrep_mysql_replication_bundle;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_mysql_replication_bundle=NULL;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_mysql_replication_bundle='junk';
+# expect warning (truncated incorrect value)
+SET @@global.wsrep_mysql_replication_bundle=-1;
+SELECT @@global.wsrep_mysql_replication_bundle;
+# expect warning (truncated incorrect value)
+SET @@global.wsrep_mysql_replication_bundle=1001;
+SELECT @@global.wsrep_mysql_replication_bundle;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_mysql_replication_bundle = @wsrep_mysql_replication_bundle_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_node_address_basic.test b/mysql-test/suite/sys_vars/t/wsrep_node_address_basic.test
new file mode 100644
index 00000000000..fccb40de6bf
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_node_address_basic.test
@@ -0,0 +1,45 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_node_address
+--echo #
+
+--echo # save the initial value
+SET @wsrep_node_address_global_saved = @@global.wsrep_node_address;
+
+--echo # default
+SELECT @@global.wsrep_node_address;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_node_address;
+SELECT @@global.wsrep_node_address;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_node_address='127.0.0.1';
+SELECT @@global.wsrep_node_address;
+# default == ''
+SET @@global.wsrep_node_address=default;
+SELECT @@global.wsrep_node_address;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_node_address=NULL;
+SELECT @@global.wsrep_node_address;
+# The values being assigned to wsrep_node_address are not verified so the
+# following alues are currently valid too.
+SET @@global.wsrep_node_address=ON;
+SELECT @@global.wsrep_node_address;
+SET @@global.wsrep_node_address='OFF';
+SELECT @@global.wsrep_node_address;
+SET @@global.wsrep_node_address='junk';
+SELECT @@global.wsrep_node_address;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_node_address = @wsrep_node_address_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_node_incoming_address_basic.test b/mysql-test/suite/sys_vars/t/wsrep_node_incoming_address_basic.test
new file mode 100644
index 00000000000..9ab9525d2a9
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_node_incoming_address_basic.test
@@ -0,0 +1,47 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_node_incoming_address
+--echo #
+
+--echo # save the initial value
+SET @wsrep_node_incoming_address_global_saved = @@global.wsrep_node_incoming_address;
+
+--echo # default
+SELECT @@global.wsrep_node_incoming_address;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_node_incoming_address;
+SELECT @@global.wsrep_node_incoming_address;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_node_incoming_address='127.0.0.1:4444';
+SELECT @@global.wsrep_node_incoming_address;
+SET @@global.wsrep_node_incoming_address='127.0.0.1';
+SELECT @@global.wsrep_node_incoming_address;
+SET @@global.wsrep_node_incoming_address=AUTO;
+SELECT @@global.wsrep_node_incoming_address;
+SET @@global.wsrep_node_incoming_address=default;
+SELECT @@global.wsrep_node_incoming_address;
+
+--echo
+--echo # invalid values
+# The values being assigned to wsrep_node_incoming_address are not verified so
+# the following values are currently valid too.
+SET @@global.wsrep_node_incoming_address=ON;
+SELECT @@global.wsrep_node_incoming_address;
+SET @@global.wsrep_node_incoming_address='OFF';
+SELECT @@global.wsrep_node_incoming_address;
+SET @@global.wsrep_node_incoming_address=NULL;
+SELECT @@global.wsrep_node_incoming_address;
+SET @@global.wsrep_node_incoming_address='junk';
+SELECT @@global.wsrep_node_incoming_address;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_node_incoming_address = @wsrep_node_incoming_address_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_node_name_basic.test b/mysql-test/suite/sys_vars/t/wsrep_node_name_basic.test
new file mode 100644
index 00000000000..7bc9bec8b95
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_node_name_basic.test
@@ -0,0 +1,54 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_node_name
+--echo #
+
+call mtr.add_suppression("WSREP: Failed to get provider options");
+
+--echo # save the initial value
+SET @wsrep_node_name_global_saved = @@global.wsrep_node_name;
+
+--echo # default (expect 1)
+SELECT COUNT(@@global.wsrep_node_name);
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_node_name;
+SET @@global.wsrep_node_name='node_name';
+SELECT @@global.wsrep_node_name;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_node_name='my_node';
+SELECT @@global.wsrep_node_name;
+SET @@global.wsrep_node_name='hyphenated-node-name';
+SELECT @@global.wsrep_node_name;
+SET @@global.wsrep_node_name=default;
+--echo # default (expect 1)
+SELECT COUNT(@@global.wsrep_node_name);
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_node_name=NULL;
+SELECT COUNT(@@global.wsrep_node_name);
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_node_name=1;
+SELECT COUNT(@@global.wsrep_node_name);
+
+--echo #
+--echo # MDEV-6699 : wsrep_node_name not automaticly set to hostname
+--echo #
+SET @@global.wsrep_node_name=default;
+SELECT @@GLOBAL.wsrep_node_name = VARIABLE_VALUE FROM
+INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='hostname';
+SELECT @@GLOBAL.wsrep_node_name = VARIABLE_VALUE FROM
+INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='wsrep_node_name';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_node_name = @wsrep_node_name_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_notify_cmd_basic.test b/mysql-test/suite/sys_vars/t/wsrep_notify_cmd_basic.test
new file mode 100644
index 00000000000..6d1535ba148
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_notify_cmd_basic.test
@@ -0,0 +1,43 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_notify_cmd
+--echo #
+
+call mtr.add_suppression("WSREP: Failed to get provider options");
+
+--echo # save the initial value
+SET @wsrep_notify_cmd_global_saved = @@global.wsrep_notify_cmd;
+
+--echo # default
+SELECT @@global.wsrep_notify_cmd;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_notify_cmd;
+SET @@global.wsrep_notify_cmd='notify_cmd';
+SELECT @@global.wsrep_notify_cmd;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_notify_cmd='command';
+SELECT @@global.wsrep_notify_cmd;
+SET @@global.wsrep_notify_cmd='hyphenated-command';
+SELECT @@global.wsrep_notify_cmd;
+SET @@global.wsrep_notify_cmd=default;
+SELECT @@global.wsrep_notify_cmd;
+SET @@global.wsrep_notify_cmd=NULL;
+SELECT @@global.wsrep_notify_cmd;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_notify_cmd=1;
+SELECT @@global.wsrep_notify_cmd;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_notify_cmd = @wsrep_notify_cmd_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_on_basic.opt b/mysql-test/suite/sys_vars/t/wsrep_on_basic.opt
new file mode 100644
index 00000000000..aa1fb6cb155
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_on_basic.opt
@@ -0,0 +1 @@
+--innodb-lock-schedule-algorithm=FCFS
diff --git a/mysql-test/suite/sys_vars/t/wsrep_on_basic.test b/mysql-test/suite/sys_vars/t/wsrep_on_basic.test
new file mode 100644
index 00000000000..229d771b5e7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_on_basic.test
@@ -0,0 +1,45 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_on
+--echo #
+
+--echo # save the initial values
+SET @wsrep_on_global_saved = @@global.wsrep_on;
+SET @wsrep_on_session_saved = @@session.wsrep_on;
+
+--echo # default
+SELECT @@global.wsrep_on;
+SELECT @@session.wsrep_on;
+
+--echo
+--echo # scope and valid values
+SET @@global.wsrep_on=OFF;
+SELECT @@global.wsrep_on;
+SET @@global.wsrep_on=ON;
+SELECT @@global.wsrep_on;
+
+SET @@session.wsrep_on=OFF;
+SELECT @@session.wsrep_on;
+SET @@session.wsrep_on=ON;
+SELECT @@session.wsrep_on;
+SET @@session.wsrep_on=default;
+SELECT @@session.wsrep_on;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_on=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_on='junk';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@session.wsrep_on=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@session.wsrep_on='junk';
+
+--echo
+--echo # restore the initial values
+SET @@global.wsrep_on = @wsrep_on_global_saved;
+SET @@session.wsrep_on = @wsrep_on_session_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_osu_method_basic.test b/mysql-test/suite/sys_vars/t/wsrep_osu_method_basic.test
new file mode 100644
index 00000000000..ce3a3def88b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_osu_method_basic.test
@@ -0,0 +1,49 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_osu_method
+--echo #
+
+--echo # save the initial value
+SET @wsrep_osu_method_global_saved = @@global.wsrep_osu_method;
+
+--echo # default
+SELECT @@global.wsrep_osu_method;
+
+--echo
+--echo # scope
+SELECT @@session.wsrep_osu_method;
+SET @@global.wsrep_osu_method=TOI;
+SELECT @@global.wsrep_osu_method;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_osu_method=TOI;
+SELECT @@global.wsrep_osu_method;
+SET @@global.wsrep_osu_method=RSU;
+SELECT @@global.wsrep_osu_method;
+SET @@global.wsrep_osu_method="RSU";
+SELECT @@global.wsrep_osu_method;
+SET @@global.wsrep_osu_method=default;
+SELECT @@global.wsrep_osu_method;
+# numeric value
+SET @@global.wsrep_osu_method=1;
+SELECT @@global.wsrep_osu_method;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_osu_method=4;
+SELECT @@global.wsrep_osu_method;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_osu_method=NULL;
+SELECT @@global.wsrep_osu_method;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_osu_method='junk';
+SELECT @@global.wsrep_osu_method;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_osu_method = @wsrep_osu_method_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_provider_basic.test b/mysql-test/suite/sys_vars/t/wsrep_provider_basic.test
new file mode 100644
index 00000000000..1190ab41bb0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_provider_basic.test
@@ -0,0 +1,39 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_provider
+--echo #
+
+--echo # save the initial value
+SET @wsrep_provider_global_saved = @@global.wsrep_provider;
+
+--echo # default
+SELECT @@global.wsrep_provider;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_provider;
+SELECT @@global.wsrep_provider;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_provider=default;
+SELECT @@global.wsrep_provider;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_provider='/invalid/libgalera_smm.so';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_provider=NULL;
+SELECT @@global.wsrep_provider;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_provider=1;
+SELECT @@global.wsrep_provider;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_provider = @wsrep_provider_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_provider_options_basic.test b/mysql-test/suite/sys_vars/t/wsrep_provider_options_basic.test
new file mode 100644
index 00000000000..d2ea32a0637
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_provider_options_basic.test
@@ -0,0 +1,51 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_provider_options
+--echo #
+
+call mtr.add_suppression("WSREP: Failed to get provider options");
+
+SET @@global.wsrep_provider = @@global.wsrep_provider;
+
+--echo # save the initial value
+SET @wsrep_provider_options_global_saved = @@global.wsrep_provider_options;
+
+--echo # default
+SELECT @@global.wsrep_provider_options;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_provider_options;
+--error 0,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_provider_options='option1';
+SELECT @@global.wsrep_provider_options;
+
+--echo
+--echo # valid values
+--error 0,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_provider_options='name1=value1;name2=value2';
+SELECT @@global.wsrep_provider_options;
+--error 0,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_provider_options='hyphenated-name:value';
+SELECT @@global.wsrep_provider_options;
+--error 0,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_provider_options=default;
+SELECT @@global.wsrep_provider_options;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_provider_options=1;
+SELECT @@global.wsrep_provider_options;
+--error ER_WRONG_ARGUMENTS,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_provider_options=NULL;
+SELECT @@global.wsrep_provider_options;
+
+--echo
+--echo # restore the initial value
+--error 0,ER_WRONG_ARGUMENTS
+SET @@global.wsrep_provider_options = @wsrep_provider_options_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_recover_basic.test b/mysql-test/suite/sys_vars/t/wsrep_recover_basic.test
new file mode 100644
index 00000000000..f935e12e258
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_recover_basic.test
@@ -0,0 +1,26 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_recover
+--echo #
+
+--echo # default
+SELECT @@global.wsrep_recover;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_recover;
+
+--echo
+--echo # scope and valid values
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.wsrep_recover=OFF;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.wsrep_recover=ON;
+
+--echo
+--echo # invalid values
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.wsrep_recover=NULL;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.wsrep_recover='junk';
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_replicate_myisam_basic.test b/mysql-test/suite/sys_vars/t/wsrep_replicate_myisam_basic.test
new file mode 100644
index 00000000000..812fb0cfd73
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_replicate_myisam_basic.test
@@ -0,0 +1,36 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_replicate_myisam
+--echo #
+
+--echo # save the initial value
+SET @wsrep_replicate_myisam_global_saved = @@global.wsrep_replicate_myisam;
+
+--echo # default
+SELECT @@global.wsrep_replicate_myisam;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_replicate_myisam;
+
+--echo
+--echo # scope and valid values
+#--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+#TODO: check if it is expected for variable to be dynamic?
+SET @@global.wsrep_replicate_myisam=OFF;
+SELECT @@global.wsrep_replicate_myisam;
+#--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.wsrep_replicate_myisam=ON;
+SELECT @@global.wsrep_replicate_myisam;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_replicate_myisam=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_replicate_myisam='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_replicate_myisam = @wsrep_replicate_myisam_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_restart_slave_basic.test b/mysql-test/suite/sys_vars/t/wsrep_restart_slave_basic.test
new file mode 100644
index 00000000000..c656111aed6
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_restart_slave_basic.test
@@ -0,0 +1,36 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_restart_slave
+--echo #
+
+--echo # save the initial value
+SET @wsrep_restart_slave_global_saved = @@global.wsrep_restart_slave;
+
+--echo # default
+SELECT @@global.wsrep_restart_slave;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_restart_slave;
+
+--echo
+--echo # scope and valid values
+#--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+#TODO: check if it is expected for variable to be dynamic?
+SET @@global.wsrep_restart_slave=OFF;
+SELECT @@global.wsrep_restart_slave;
+#--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@global.wsrep_restart_slave=ON;
+SELECT @@global.wsrep_restart_slave;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_restart_slave=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_restart_slave='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_restart_slave = @wsrep_restart_slave_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_retry_autocommit_basic.test b/mysql-test/suite/sys_vars/t/wsrep_retry_autocommit_basic.test
new file mode 100644
index 00000000000..aa6f27f816d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_retry_autocommit_basic.test
@@ -0,0 +1,52 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_retry_autocommit
+--echo #
+
+--echo # save the initial values
+SET @wsrep_retry_autocommit_global_saved = @@global.wsrep_retry_autocommit;
+SET @wsrep_retry_autocommit_session_saved = @@session.wsrep_retry_autocommit;
+
+--echo # default
+SELECT @@global.wsrep_retry_autocommit;
+
+--echo
+--echo # scope
+SET @@session.wsrep_retry_autocommit=1;
+SELECT @@session.wsrep_retry_autocommit;
+SET @@global.wsrep_retry_autocommit=1;
+SELECT @@global.wsrep_retry_autocommit;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_retry_autocommit=10;
+SELECT @@global.wsrep_retry_autocommit;
+SET @@global.wsrep_retry_autocommit=0;
+SELECT @@global.wsrep_retry_autocommit;
+SET @@global.wsrep_retry_autocommit=default;
+SELECT @global.wsrep_retry_autocommit;
+
+SET @@session.wsrep_retry_autocommit=10;
+SELECT @@session.wsrep_retry_autocommit;
+SET @@session.wsrep_retry_autocommit=0;
+SELECT @@session.wsrep_retry_autocommit;
+SET @@session.wsrep_retry_autocommit=default;
+SELECT @session.wsrep_retry_autocommit;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_retry_autocommit=NULL;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_retry_autocommit='junk';
+# expect warning : Truncated incorrect wsrep_retry_autocommit value: '-1'
+SET @@global.wsrep_retry_autocommit=-1;
+SELECT @global.wsrep_retry_autocommit;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_retry_autocommit = @wsrep_retry_autocommit_global_saved;
+SET @@session.wsrep_retry_autocommit = @wsrep_retry_autocommit_session_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_slave_fk_checks_basic.test b/mysql-test/suite/sys_vars/t/wsrep_slave_fk_checks_basic.test
new file mode 100644
index 00000000000..dd60eb8694b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_slave_fk_checks_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_slave_fk_checks
+--echo #
+
+--echo # save the initial value
+SET @wsrep_slave_fk_checks_global_saved = @@global.wsrep_slave_fk_checks;
+
+--echo # default
+SELECT @@global.wsrep_slave_fk_checks;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_slave_fk_checks;
+SET @@global.wsrep_slave_fk_checks=OFF;
+SELECT @@global.wsrep_slave_fk_checks;
+SET @@global.wsrep_slave_fk_checks=ON;
+SELECT @@global.wsrep_slave_fk_checks;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_slave_fk_checks='OFF';
+SELECT @@global.wsrep_slave_fk_checks;
+SET @@global.wsrep_slave_fk_checks=ON;
+SELECT @@global.wsrep_slave_fk_checks;
+SET @@global.wsrep_slave_fk_checks=default;
+SELECT @@global.wsrep_slave_fk_checks;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_slave_fk_checks=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_slave_fk_checks='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_slave_fk_checks = @wsrep_slave_fk_checks_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_slave_threads_basic.test b/mysql-test/suite/sys_vars/t/wsrep_slave_threads_basic.test
new file mode 100644
index 00000000000..80b4648982d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_slave_threads_basic.test
@@ -0,0 +1,43 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_slave_threads
+--echo #
+
+--echo # save the initial value
+SET @wsrep_slave_threads_global_saved = @@global.wsrep_slave_threads;
+
+--echo # default
+SELECT @@global.wsrep_slave_threads;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_slave_threads;
+SET @@global.wsrep_slave_threads=1;
+SELECT @@global.wsrep_slave_threads;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_slave_threads=10;
+SELECT @@global.wsrep_slave_threads;
+SET @@global.wsrep_slave_threads=0;
+SELECT @@global.wsrep_slave_threads;
+SET @@global.wsrep_slave_threads=default;
+SELECT @global.wsrep_slave_threads;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_slave_threads=NULL;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_slave_threads='junk';
+# expect warning : Truncated incorrect wsrep_slave_threads value: '-1'
+SET @@global.wsrep_slave_threads=-1;
+SELECT @global.wsrep_slave_threads;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_slave_threads = @wsrep_slave_threads_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_slave_uk_checks_basic.test b/mysql-test/suite/sys_vars/t/wsrep_slave_uk_checks_basic.test
new file mode 100644
index 00000000000..c9012954371
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_slave_uk_checks_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_slave_uk_checks
+--echo #
+
+--echo # save the initial value
+SET @wsrep_slave_uk_checks_global_saved = @@global.wsrep_slave_uk_checks;
+
+--echo # default
+SELECT @@global.wsrep_slave_uk_checks;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_slave_uk_checks;
+SET @@global.wsrep_slave_uk_checks=OFF;
+SELECT @@global.wsrep_slave_uk_checks;
+SET @@global.wsrep_slave_uk_checks=ON;
+SELECT @@global.wsrep_slave_uk_checks;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_slave_uk_checks='OFF';
+SELECT @@global.wsrep_slave_uk_checks;
+SET @@global.wsrep_slave_uk_checks=ON;
+SELECT @@global.wsrep_slave_uk_checks;
+SET @@global.wsrep_slave_uk_checks=default;
+SELECT @@global.wsrep_slave_uk_checks;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_slave_uk_checks=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_slave_uk_checks='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_slave_uk_checks = @wsrep_slave_uk_checks_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_sst_auth_basic.test b/mysql-test/suite/sys_vars/t/wsrep_sst_auth_basic.test
new file mode 100644
index 00000000000..aa901ef9ff7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_sst_auth_basic.test
@@ -0,0 +1,45 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_sst_auth
+--echo #
+
+--echo # save the initial value
+SET @wsrep_sst_auth_global_saved = @@global.wsrep_sst_auth;
+
+--echo # default
+SELECT @@global.wsrep_sst_auth;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth='user:pass';
+SELECT @@global.wsrep_sst_auth;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_sst_auth=user;
+SELECT @@global.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth='user:1234';
+SELECT @@global.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth='hyphenated-user-name:';
+SELECT @@global.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth=default;
+SELECT @@global.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth=NULL;
+SELECT @@global.wsrep_sst_auth;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_sst_auth=1;
+SELECT @@global.wsrep_sst_auth;
+--error ER_PARSE_ERROR
+SET @@global.wsrep_sst_auth=user:pass;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_sst_auth = @wsrep_sst_auth_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_sst_donor_basic.test b/mysql-test/suite/sys_vars/t/wsrep_sst_donor_basic.test
new file mode 100644
index 00000000000..7d3d6598557
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_sst_donor_basic.test
@@ -0,0 +1,43 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_sst_donor
+--echo #
+
+--echo # save the initial value
+SET @wsrep_sst_donor_global_saved = @@global.wsrep_sst_donor;
+
+--echo # default
+SELECT @@global.wsrep_sst_donor;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_sst_donor;
+SET @@global.wsrep_sst_donor=rsync;
+SELECT @@global.wsrep_sst_donor;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_sst_donor=node1;
+SELECT @@global.wsrep_sst_donor;
+SET @@global.wsrep_sst_donor='node1,node2';
+SELECT @@global.wsrep_sst_donor;
+SET @@global.wsrep_sst_donor='hyphenated-donor-name';
+SELECT @@global.wsrep_sst_donor;
+SET @@global.wsrep_sst_donor=default;
+SELECT @@global.wsrep_sst_donor;
+SET @@global.wsrep_sst_donor=NULL;
+SELECT @@global.wsrep_sst_donor;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_sst_donor=1;
+SELECT @@global.wsrep_sst_donor;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_sst_donor = @wsrep_sst_donor_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_sst_donor_rejects_queries_basic.test b/mysql-test/suite/sys_vars/t/wsrep_sst_donor_rejects_queries_basic.test
new file mode 100644
index 00000000000..bd34e23cd2a
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_sst_donor_rejects_queries_basic.test
@@ -0,0 +1,42 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_sst_donor_rejects_queries
+--echo #
+
+--echo # save the initial value
+SET @wsrep_sst_donor_rejects_queries_global_saved = @@global.wsrep_sst_donor_rejects_queries;
+
+--echo # default
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_sst_donor_rejects_queries;
+SET @@global.wsrep_sst_donor_rejects_queries=OFF;
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+SET @@global.wsrep_sst_donor_rejects_queries=ON;
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_sst_donor_rejects_queries='OFF';
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+SET @@global.wsrep_sst_donor_rejects_queries=ON;
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+SET @@global.wsrep_sst_donor_rejects_queries=default;
+SELECT @@global.wsrep_sst_donor_rejects_queries;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_sst_donor_rejects_queries=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_sst_donor_rejects_queries='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_sst_donor_rejects_queries = @wsrep_sst_donor_rejects_queries_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_sst_method_basic.test b/mysql-test/suite/sys_vars/t/wsrep_sst_method_basic.test
new file mode 100644
index 00000000000..4eda96a7723
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_sst_method_basic.test
@@ -0,0 +1,52 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_sst_method
+--echo #
+
+--echo # save the initial value
+SET @wsrep_sst_method_global_saved = @@global.wsrep_sst_method;
+
+--echo # default
+SELECT @@global.wsrep_sst_method;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_sst_method;
+SET @@global.wsrep_sst_method=rsync;
+SELECT @@global.wsrep_sst_method;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_sst_method=rsync;
+SELECT @@global.wsrep_sst_method;
+SET @@global.wsrep_sst_method=mysqldump;
+SELECT @@global.wsrep_sst_method;
+# The xtrabackup and xtrabackup-v2 methods are obsolete,
+# but we can still select them (they will be automatically
+# replaced to mariabackup in next versions of server):
+SET @@global.wsrep_sst_method=xtrabackup;
+SELECT @@global.wsrep_sst_method;
+SET @@global.wsrep_sst_method="xtrabackup-v2";
+SELECT @@global.wsrep_sst_method;
+SET @@global.wsrep_sst_method="mariabackup";
+SELECT @@global.wsrep_sst_method;
+SET @@global.wsrep_sst_method=default;
+SELECT @@global.wsrep_sst_method;
+
+# Its a valid name for an SST method
+SET @@global.wsrep_sst_method='junk';
+SELECT @@global.wsrep_sst_method;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_sst_method=NULL;
+SELECT @@global.wsrep_sst_method;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_sst_method = @wsrep_sst_method_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_sst_receive_address_basic.test b/mysql-test/suite/sys_vars/t/wsrep_sst_receive_address_basic.test
new file mode 100644
index 00000000000..59f69c14dfb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_sst_receive_address_basic.test
@@ -0,0 +1,49 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_sst_receive_address
+--echo #
+
+--echo # save the initial value
+SET @wsrep_sst_receive_address_global_saved = @@global.wsrep_sst_receive_address;
+
+--echo # default
+SELECT @@global.wsrep_sst_receive_address;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_sst_receive_address;
+SELECT @@global.wsrep_sst_receive_address;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_sst_receive_address=AUTO;
+SELECT @@global.wsrep_sst_receive_address;
+SET @@global.wsrep_sst_receive_address=default;
+SELECT @@global.wsrep_sst_receive_address;
+SET @@global.wsrep_sst_receive_address='192.168.2.254';
+SELECT @@global.wsrep_sst_receive_address;
+
+--echo
+--echo # invalid values
+SELECT @@global.wsrep_sst_receive_address;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_sst_receive_address=NULL;
+SELECT @@global.wsrep_sst_receive_address;
+# Currently there is no strict checking performed for wsrep_sst_receive_address
+# so following values jusr pass through.
+SET @@global.wsrep_sst_receive_address='OFF';
+SELECT @@global.wsrep_sst_receive_address;
+SET @@global.wsrep_sst_receive_address=ON;
+SELECT @@global.wsrep_sst_receive_address;
+SET @@global.wsrep_sst_receive_address='';
+SELECT @@global.wsrep_sst_receive_address;
+SET @@global.wsrep_sst_receive_address='junk';
+SELECT @@global.wsrep_sst_receive_address;
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_sst_receive_address = @wsrep_sst_receive_address_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_start_position_basic.test b/mysql-test/suite/sys_vars/t/wsrep_start_position_basic.test
new file mode 100644
index 00000000000..3e57cfa6da2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_start_position_basic.test
@@ -0,0 +1,56 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_start_position
+--echo #
+
+--echo # save the initial value
+SET @wsrep_start_position_global_saved = @@global.wsrep_start_position;
+
+--echo # default
+SELECT @@global.wsrep_start_position;
+
+--echo
+--echo # scope
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_start_position;
+SET @@global.wsrep_start_position='00000000-0000-0000-0000-000000000000:-1';
+SELECT @@global.wsrep_start_position;
+
+--echo
+--echo # valid values
+SET @@global.wsrep_start_position='00000000-0000-0000-0000-000000000000:-2';
+SELECT @@global.wsrep_start_position;
+SET @@global.wsrep_start_position='12345678-1234-1234-1234-123456789012:100';
+SELECT @@global.wsrep_start_position;
+SET @@global.wsrep_start_position=default;
+SELECT @@global.wsrep_start_position;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position='000000000000000-0000-0000-0000-000000000000:-1';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position='12345678-1234-1234-12345-123456789012:100';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position='12345678-1234-123-12345-123456789012:0';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position='12345678-1234-1234-1234-123456789012:_99999';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position='12345678-1234-1234-1234-123456789012:a';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position='OFF';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position=ON;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position='';
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.wsrep_start_position='junk';
+
+--echo
+--echo # restore the initial value
+SET @@global.wsrep_start_position = @wsrep_start_position_global_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_sync_wait_basic.test b/mysql-test/suite/sys_vars/t/wsrep_sync_wait_basic.test
new file mode 100644
index 00000000000..cd0d545f80e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/wsrep_sync_wait_basic.test
@@ -0,0 +1,47 @@
+--source include/have_wsrep.inc
+
+--echo #
+--echo # wsrep_sync_wait
+--echo #
+
+--echo # save the initial values
+SET @wsrep_sync_wait_global_saved = @@global.wsrep_sync_wait;
+SET @wsrep_sync_wait_session_saved = @@session.wsrep_sync_wait;
+
+--echo # default
+SELECT @@global.wsrep_sync_wait;
+SELECT @@session.wsrep_sync_wait;
+
+--echo
+--echo # scope and valid values
+SET @@global.wsrep_sync_wait=0;
+SELECT @@global.wsrep_sync_wait;
+SET @@global.wsrep_sync_wait=7;
+SELECT @@global.wsrep_sync_wait;
+
+SET @@session.wsrep_sync_wait=0;
+SELECT @@session.wsrep_sync_wait;
+SET @@session.wsrep_sync_wait=7;
+SELECT @@session.wsrep_sync_wait;
+SET @@session.wsrep_sync_wait=default;
+SELECT @@session.wsrep_sync_wait;
+SET @@session.wsrep_sync_wait=8;
+SELECT @@session.wsrep_sync_wait;
+
+--echo
+--echo # invalid values
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_sync_wait=NULL;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@global.wsrep_sync_wait='junk';
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@session.wsrep_sync_wait=NULL;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@session.wsrep_sync_wait='junk';
+
+--echo
+--echo # restore the initial values
+SET @@global.wsrep_sync_wait = @wsrep_sync_wait_global_saved;
+SET @@session.wsrep_sync_wait = @wsrep_sync_wait_session_saved;
+
+--echo # End of test
diff --git a/mysql-test/suite/unit/suite.pm b/mysql-test/suite/unit/suite.pm
index ce7ccefe926..48401b1579f 100644
--- a/mysql-test/suite/unit/suite.pm
+++ b/mysql-test/suite/unit/suite.pm
@@ -10,14 +10,23 @@ sub list_cases {
sub start_test {
my ($self, $tinfo)= @_;
- my $args=[ ];
+ my $args;
+ my $path;
+ my $cmd = $self->{ctests}->{$tinfo->{shortname}};
+
+ if ($cmd =~ /[ "'><%!*?]/) {
+ ($path, $args) = ('/bin/sh', [ '-c', $cmd ])
+ } else {
+ ($path, $args) = ($cmd, , [ ])
+ }
+
my $oldpwd=getcwd();
chdir $::opt_vardir;
my $proc=My::SafeProcess->new
(
name => $tinfo->{shortname},
- path => $self->{ctests}->{$tinfo->{shortname}},
+ path => $path,
args => \$args,
append => 1,
output => $::path_current_testlog,
diff --git a/mysql-test/suite/vcol/inc/vcol_blocked_sql_funcs_main.inc b/mysql-test/suite/vcol/inc/vcol_blocked_sql_funcs_main.inc
index 01f939337ed..571fe75560b 100644
--- a/mysql-test/suite/vcol/inc/vcol_blocked_sql_funcs_main.inc
+++ b/mysql-test/suite/vcol/inc/vcol_blocked_sql_funcs_main.inc
@@ -87,6 +87,10 @@ create table t1 (a datetime, b datetime as (utc_time()));
-- error ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED
create table t1 (a datetime, b datetime as (utc_timestamp()));
+--echo # WEEK() - one argument version
+-- error ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED
+create table t1 (a datetime, b datetime as (week(a)));
+
--echo # MATCH()
if (!$skip_full_text_checks)
{
@@ -98,6 +102,18 @@ if (!$skip_full_text_checks)
-- error ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED
create table t1 (a varchar(1024), b varchar(1024) as (benchmark(a,3)));
+--echo # CHARSET()
+-- error ER_CONST_EXPR_IN_VCOL
+create table t1 (a varchar(64), b varchar(64) as (charset(a)));
+
+--echo # COERCIBILITY()
+-- error ER_CONST_EXPR_IN_VCOL
+create table t1 (a varchar(64), b int as (coercibility(a)));
+
+--echo # COLLATION()
+-- error ER_CONST_EXPR_IN_VCOL
+create table t1 (a varchar(64), b varchar(64) as (collation(a)));
+
--echo # CONNECTION_ID()
-- error ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED
create table t1 (a int as (connection_id()));
diff --git a/mysql-test/suite/vcol/inc/vcol_non_stored_columns.inc b/mysql-test/suite/vcol/inc/vcol_non_stored_columns.inc
index c586479618a..5074d672ec4 100644
--- a/mysql-test/suite/vcol/inc/vcol_non_stored_columns.inc
+++ b/mysql-test/suite/vcol/inc/vcol_non_stored_columns.inc
@@ -141,7 +141,7 @@ show create table t1;
drop table t1;
--echo # Case 14. ALTER. Changing the expression of a virtual stored column.
-create table t1 (a int, b datetime, c int as (week(b)) persistent);
+create table t1 (a int, b datetime, c int as (week(b,0)) persistent);
insert into t1 values (1,'2008-09-04',default);
insert into t1 values (2,'2008-09-05',default);
select * from t1;
@@ -151,7 +151,7 @@ show create table t1;
drop table t1;
--echo # Case 15. ALTER. Changing the expression of a virtual non-stored column.
-create table t1 (a int, b datetime, c int as (week(b)));
+create table t1 (a int, b datetime, c int as (week(b,0)));
insert into t1 values (1,'2008-09-04',default);
insert into t1 values (2,'2008-09-05',default);
select * from t1;
@@ -160,3 +160,15 @@ select * from t1;
show create table t1;
drop table t1;
+--echo #
+--echo # MDEV-6103 - Adding/removing non-materialized virtual column triggers
+--echo # table recreation
+--echo #
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES(1),(1),(1),(1),(1),(1),(1),(1),(1),(1);
+enable_info;
+ALTER TABLE t1 ADD COLUMN b INT AS (a + 1) VIRTUAL;
+ALTER TABLE t1 DROP COLUMN b;
+disable_info;
+CHECK TABLE t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/vcol/inc/vcol_supported_sql_funcs_main.inc b/mysql-test/suite/vcol/inc/vcol_supported_sql_funcs_main.inc
index 78a8e8944fd..38f2b00a1a0 100644
--- a/mysql-test/suite/vcol/inc/vcol_supported_sql_funcs_main.inc
+++ b/mysql-test/suite/vcol/inc/vcol_supported_sql_funcs_main.inc
@@ -1068,7 +1068,7 @@ let $rows = 1;
--source suite/vcol/inc/vcol_supported_sql_funcs.inc
--echo # WEEK()
-let $cols = a datetime, b int as (week(a));
+let $cols = a datetime, b int as (week(a,0));
let $values1 = '2008-09-01',default;
let $rows = 1;
--source suite/vcol/inc/vcol_supported_sql_funcs.inc
@@ -1142,24 +1142,6 @@ let $values1 = 5,default;
let $rows = 1;
--source suite/vcol/inc/vcol_supported_sql_funcs.inc
---echo # CHARSET()
-let $cols = a varchar(1024), b varchar(1024) as (charset(a));
-let $values1 = 'abc',default;
-let $rows = 1;
---source suite/vcol/inc/vcol_supported_sql_funcs.inc
-
---echo # COERCIBILITY()
-let $cols = a varchar(1024), b int as (coercibility(a));
-let $values1 = 'abc',default;
-let $rows = 1;
---source suite/vcol/inc/vcol_supported_sql_funcs.inc
-
---echo # COLLATION()
-let $cols = a varchar(1024), b varchar(1024) as (collation(a));
-let $values1 = 'abc',default;
-let $rows = 1;
---source suite/vcol/inc/vcol_supported_sql_funcs.inc
-
--echo # COMPRESS(), UNCOMPRESS()
let $cols = a varchar(1024), b varchar(1024) as (uncompress(compress(a)));
let $values1 = 'MySQL',default;
@@ -1179,7 +1161,7 @@ let $rows = 1;
--source suite/vcol/inc/vcol_supported_sql_funcs.inc
#--echo # DES_ENCRYPT(), DES_DECRYPT()
-#--source include/have_ssl.inc
+#--source include/have_ssl_communication.inc
#let $cols = a varchar(1024), b varchar(1024) as (des_encrypt(des_decrypt(a,'adf'),'adf'));
#let $values1 = 'MySQL',default;
#let $rows = 1;
diff --git a/mysql-test/suite/vcol/r/alter_inplace-9045.result b/mysql-test/suite/vcol/r/alter_inplace-9045.result
new file mode 100644
index 00000000000..1560d830f42
--- /dev/null
+++ b/mysql-test/suite/vcol/r/alter_inplace-9045.result
@@ -0,0 +1,44 @@
+create table t1(id int auto_increment primary key, handle int, data bigint not null default 0) engine = innodb;
+insert into t1(handle) values(12),(54),(NULL);
+select *, md5(handle) from t1;
+id handle data md5(handle)
+1 12 0 c20ad4d76fe97759aa27a0c99bff6710
+2 54 0 a684eceee76fc522773286a895bc8436
+3 NULL 0 NULL
+alter table t1 add index handle(handle), algorithm=inplace;
+alter table t1 add column hash varchar(32) as (md5(handle)) persistent, algorithm=inplace;
+ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY.
+alter table t1 add column hash varchar(32) as (md5(handle)) persistent, add unique index hash(hash), algorithm=inplace;
+ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY.
+alter table t1 add column hash varchar(32) as (md5(handle)) persistent, add unique index hash(hash), algorithm=copy;
+select * from t1;
+id handle data hash
+1 12 0 c20ad4d76fe97759aa27a0c99bff6710
+2 54 0 a684eceee76fc522773286a895bc8436
+3 NULL 0 NULL
+alter table t1 modify column hash varchar(32) as (md5(handle+1)) persistent, algorithm=inplace;
+ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY.
+alter table t1 modify column hash varchar(32) as (md5(handle+1)) persistent, algorithm=copy;
+select * from t1;
+id handle data hash
+1 12 0 c51ce410c124a10e0db5e4b97fc2af39
+2 54 0 b53b3a3d6ab90ce0268229151c9bde11
+3 NULL 0 NULL
+alter table t1 modify column handle int not null, algorithm=inplace;
+ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY.
+alter table t1 modify column handle int not null, algorithm=copy;
+Warnings:
+Warning 1265 Data truncated for column 'handle' at row 3
+select * from t1;
+id handle data hash
+1 12 0 c51ce410c124a10e0db5e4b97fc2af39
+2 54 0 b53b3a3d6ab90ce0268229151c9bde11
+3 0 0 c4ca4238a0b923820dcc509a6f75849b
+alter table t1 drop index handle, algorithm=inplace;
+create index data on t1(data) algorithm=inplace;
+alter table t1 drop column data, algorithm=inplace;
+alter table t1 add column sha varchar(32) as (sha1(handle)) persistent, algorithm=inplace;
+ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY.
+alter table t1 add column sha varchar(32), algorithm=inplace;
+alter table t1 drop column hash, algorithm=inplace;
+drop table t1;
diff --git a/mysql-test/suite/vcol/r/charsets.result b/mysql-test/suite/vcol/r/charsets.result
new file mode 100644
index 00000000000..d06edc544d9
--- /dev/null
+++ b/mysql-test/suite/vcol/r/charsets.result
@@ -0,0 +1,31 @@
+set names utf8;
+create table t1 (
+a int,
+b varchar(100) as (if(a,collation('й'),hex('ю')))
+) character set koi8r;
+insert t1 (a) values (0),(1);
+select * from t1;
+a b
+0 D18E
+1 utf8_general_ci
+set names latin1;
+select * from t1;
+a b
+0 D18E
+1 utf8_general_ci
+flush tables;
+select * from t1;
+a b
+0 D18E
+1 latin1_swedish_ci
+set names koi8r;
+select * from t1;
+a b
+0 D18E
+1 latin1_swedish_ci
+flush tables;
+select * from t1;
+a b
+0 D18E
+1 koi8r_general_ci
+drop table t1;
diff --git a/mysql-test/suite/vcol/r/innodb_autoinc_vcol.result b/mysql-test/suite/vcol/r/innodb_autoinc_vcol.result
new file mode 100644
index 00000000000..f2d6b4105ff
--- /dev/null
+++ b/mysql-test/suite/vcol/r/innodb_autoinc_vcol.result
@@ -0,0 +1,16 @@
+create table t1 (c2 int as (-c1), c1 int primary key auto_increment) engine=innodb;
+insert into t1(c1) values (null),(null),(null);
+select * from t1;
+c2 c1
+-1 1
+-2 2
+-3 3
+alter table t1 auto_increment = 3;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c2` int(11) AS (-c1) VIRTUAL,
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
+drop table t1;
diff --git a/mysql-test/suite/vcol/r/load_data.result b/mysql-test/suite/vcol/r/load_data.result
new file mode 100644
index 00000000000..9769b55ac9a
--- /dev/null
+++ b/mysql-test/suite/vcol/r/load_data.result
@@ -0,0 +1,20 @@
+create table t1 ( c1 varchar(10), c2 varchar(10), c3 int );
+insert into t1 values ("a" , "b", 1), ("a" , "b", 2);
+create table t2 like t1 ;
+alter table t2 add column c4 bigint unsigned as (CONV(LEFT(MD5(concat(c1,c2,c3)), 16), 16, 10)) persistent unique key;
+select * into outfile 't1.csv' from t1;
+load data infile 't1.csv' into table t2 ;
+Warnings:
+Warning 1261 Row 1 doesn't contain data for all columns
+Warning 1261 Row 2 doesn't contain data for all columns
+select * from t2;
+c1 c2 c3 c4
+a b 1 7545402351885872315
+a b 2 6048842355806993119
+insert into t2 (c1,c2,c3) values ("a" , "b", 4);
+select * from t2;
+c1 c2 c3 c4
+a b 1 7545402351885872315
+a b 2 6048842355806993119
+a b 4 15541743660496249717
+drop table t1, t2;
diff --git a/mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_innodb.result b/mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_innodb.result
index cbb56977a93..7f805459264 100644
--- a/mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_innodb.result
+++ b/mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_innodb.result
@@ -54,10 +54,22 @@ ERROR HY000: Function or expression is not allowed for column 'b'
# UTC_TIMESTAMP()
create table t1 (a datetime, b datetime as (utc_timestamp()));
ERROR HY000: Function or expression is not allowed for column 'b'
+# WEEK() - one argument version
+create table t1 (a datetime, b datetime as (week(a)));
+ERROR HY000: Function or expression is not allowed for column 'b'
# MATCH()
# BENCHMARK()
create table t1 (a varchar(1024), b varchar(1024) as (benchmark(a,3)));
ERROR HY000: Function or expression is not allowed for column 'b'
+# CHARSET()
+create table t1 (a varchar(64), b varchar(64) as (charset(a)));
+ERROR HY000: Constant expression in computed column function is not allowed
+# COERCIBILITY()
+create table t1 (a varchar(64), b int as (coercibility(a)));
+ERROR HY000: Constant expression in computed column function is not allowed
+# COLLATION()
+create table t1 (a varchar(64), b varchar(64) as (collation(a)));
+ERROR HY000: Constant expression in computed column function is not allowed
# CONNECTION_ID()
create table t1 (a int as (connection_id()));
ERROR HY000: Function or expression is not allowed for column 'a'
diff --git a/mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_myisam.result b/mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_myisam.result
index 757964ff9f1..1e1e6d6466e 100644
--- a/mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_myisam.result
+++ b/mysql-test/suite/vcol/r/vcol_blocked_sql_funcs_myisam.result
@@ -54,12 +54,24 @@ ERROR HY000: Function or expression is not allowed for column 'b'
# UTC_TIMESTAMP()
create table t1 (a datetime, b datetime as (utc_timestamp()));
ERROR HY000: Function or expression is not allowed for column 'b'
+# WEEK() - one argument version
+create table t1 (a datetime, b datetime as (week(a)));
+ERROR HY000: Function or expression is not allowed for column 'b'
# MATCH()
create table t1 (a varchar(32), b bool as (match a against ('sample text')));
ERROR HY000: Function or expression is not allowed for column 'b'
# BENCHMARK()
create table t1 (a varchar(1024), b varchar(1024) as (benchmark(a,3)));
ERROR HY000: Function or expression is not allowed for column 'b'
+# CHARSET()
+create table t1 (a varchar(64), b varchar(64) as (charset(a)));
+ERROR HY000: Constant expression in computed column function is not allowed
+# COERCIBILITY()
+create table t1 (a varchar(64), b int as (coercibility(a)));
+ERROR HY000: Constant expression in computed column function is not allowed
+# COLLATION()
+create table t1 (a varchar(64), b varchar(64) as (collation(a)));
+ERROR HY000: Constant expression in computed column function is not allowed
# CONNECTION_ID()
create table t1 (a int as (connection_id()));
ERROR HY000: Function or expression is not allowed for column 'a'
diff --git a/mysql-test/suite/vcol/r/vcol_merge.result b/mysql-test/suite/vcol/r/vcol_merge.result
index 4b5ed838c3a..e127ec35e8c 100644
--- a/mysql-test/suite/vcol/r/vcol_merge.result
+++ b/mysql-test/suite/vcol/r/vcol_merge.result
@@ -4,5 +4,5 @@ create table t2 (a int, b int as (a % 10));
insert into t1 values (1,default);
insert into t2 values (2,default);
create table t3 (a int, b int as (a % 10)) engine=MERGE UNION=(t1,t2);
-ERROR HY000: MRG_MYISAM storage engine does not support computed columns
+ERROR HY000: MRG_MyISAM storage engine does not support computed columns
drop table t1,t2;
diff --git a/mysql-test/suite/vcol/r/vcol_misc.result b/mysql-test/suite/vcol/r/vcol_misc.result
index 51db575db8c..5e84a314b38 100644
--- a/mysql-test/suite/vcol/r/vcol_misc.result
+++ b/mysql-test/suite/vcol/r/vcol_misc.result
@@ -183,15 +183,15 @@ a b c
0 1 y,n
drop table t1,t2;
CREATE TABLE t1 (
-ts TIMESTAMP,
+ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
tsv TIMESTAMP AS (ADDDATE(ts, INTERVAL 1 DAY)) VIRTUAL
) ENGINE=MyISAM;
INSERT INTO t1 (tsv) VALUES (DEFAULT);
Warnings:
-Warning 1292 Incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00'
INSERT DELAYED INTO t1 (tsv) VALUES (DEFAULT);
Warnings:
-Warning 1292 Incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00'
FLUSH TABLES;
SELECT COUNT(*) FROM t1;
COUNT(*)
@@ -366,3 +366,48 @@ ERROR HY000: Incorrect information in file: './test/t1.frm'
#
# End of 5.5 tests
#
+#
+# End of 10.0 tests
+#
+#
+# MDEV-8441 Bad SHOW CREATE TABLE output for a table with a virtual column
+#
+CREATE TABLE t1 (a DATETIME, b TIMESTAMP AS (TIMESTAMP(a)));
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` datetime DEFAULT NULL,
+ `b` timestamp AS (TIMESTAMP(a)) VIRTUAL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME, b TIMESTAMP AS (TIMESTAMP(a)),c TIMESTAMP);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` datetime DEFAULT NULL,
+ `b` timestamp AS (TIMESTAMP(a)) VIRTUAL,
+ `c` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+#
+# MDEV-8839 COLUMN_GET() produces warnings with no data
+#
+SET @aaa= COLUMN_CREATE('price', _binary 0xF0F1F2F3F4F5F6F7);
+SELECT COLUMN_GET(@aaa, 'price' AS DECIMAL) aaa;
+aaa
+0
+Warnings:
+Warning 1918 Encountered illegal value '\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7' when converting to DECIMAL
+SELECT COLUMN_GET(@aaa, 'price' AS INT) aaa;
+aaa
+0
+Warnings:
+Warning 1918 Encountered illegal value '\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7' when converting to INT
+SELECT COLUMN_GET(@aaa, 'price' AS DOUBLE) aaa;
+aaa
+0
+Warnings:
+Warning 1918 Encountered illegal value '\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7' when converting to DOUBLE
+#
+# End of 10.1 tests
+#
diff --git a/mysql-test/suite/vcol/r/vcol_non_stored_columns_innodb.result b/mysql-test/suite/vcol/r/vcol_non_stored_columns_innodb.result
index 0379a71922d..76482b39d79 100644
--- a/mysql-test/suite/vcol/r/vcol_non_stored_columns_innodb.result
+++ b/mysql-test/suite/vcol/r/vcol_non_stored_columns_innodb.result
@@ -199,7 +199,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
# Case 14. ALTER. Changing the expression of a virtual stored column.
-create table t1 (a int, b datetime, c int as (week(b)) persistent);
+create table t1 (a int, b datetime, c int as (week(b,0)) persistent);
insert into t1 values (1,'2008-09-04',default);
insert into t1 values (2,'2008-09-05',default);
select * from t1;
@@ -220,7 +220,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
# Case 15. ALTER. Changing the expression of a virtual non-stored column.
-create table t1 (a int, b datetime, c int as (week(b)));
+create table t1 (a int, b datetime, c int as (week(b,0)));
insert into t1 values (1,'2008-09-04',default);
insert into t1 values (2,'2008-09-05',default);
select * from t1;
@@ -240,3 +240,19 @@ t1 CREATE TABLE `t1` (
`c` int(11) AS (week(b,1)) VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
+#
+# MDEV-6103 - Adding/removing non-materialized virtual column triggers
+# table recreation
+#
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES(1),(1),(1),(1),(1),(1),(1),(1),(1),(1);
+ALTER TABLE t1 ADD COLUMN b INT AS (a + 1) VIRTUAL;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ALTER TABLE t1 DROP COLUMN b;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
diff --git a/mysql-test/suite/vcol/r/vcol_non_stored_columns_myisam.result b/mysql-test/suite/vcol/r/vcol_non_stored_columns_myisam.result
index de9a962ac2c..233f6778ca9 100644
--- a/mysql-test/suite/vcol/r/vcol_non_stored_columns_myisam.result
+++ b/mysql-test/suite/vcol/r/vcol_non_stored_columns_myisam.result
@@ -199,7 +199,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
# Case 14. ALTER. Changing the expression of a virtual stored column.
-create table t1 (a int, b datetime, c int as (week(b)) persistent);
+create table t1 (a int, b datetime, c int as (week(b,0)) persistent);
insert into t1 values (1,'2008-09-04',default);
insert into t1 values (2,'2008-09-05',default);
select * from t1;
@@ -220,7 +220,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
# Case 15. ALTER. Changing the expression of a virtual non-stored column.
-create table t1 (a int, b datetime, c int as (week(b)));
+create table t1 (a int, b datetime, c int as (week(b,0)));
insert into t1 values (1,'2008-09-04',default);
insert into t1 values (2,'2008-09-05',default);
select * from t1;
@@ -240,3 +240,19 @@ t1 CREATE TABLE `t1` (
`c` int(11) AS (week(b,1)) VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
+#
+# MDEV-6103 - Adding/removing non-materialized virtual column triggers
+# table recreation
+#
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES(1),(1),(1),(1),(1),(1),(1),(1),(1),(1);
+ALTER TABLE t1 ADD COLUMN b INT AS (a + 1) VIRTUAL;
+affected rows: 10
+info: Records: 10 Duplicates: 0 Warnings: 0
+ALTER TABLE t1 DROP COLUMN b;
+affected rows: 10
+info: Records: 10 Duplicates: 0 Warnings: 0
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
diff --git a/mysql-test/suite/vcol/r/vcol_supported_sql_funcs_innodb.result b/mysql-test/suite/vcol/r/vcol_supported_sql_funcs_innodb.result
index 6efdc33d9d8..f9a7e2cc65c 100644
--- a/mysql-test/suite/vcol/r/vcol_supported_sql_funcs_innodb.result
+++ b/mysql-test/suite/vcol/r/vcol_supported_sql_funcs_innodb.result
@@ -2539,7 +2539,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` datetime DEFAULT NULL,
- `b` timestamp AS (timestamp(a)) VIRTUAL NULL ON UPDATE CURRENT_TIMESTAMP
+ `b` timestamp AS (timestamp(a)) VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
insert into t1 values ('2008-12-31',default);
select * from t1;
@@ -2554,7 +2554,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` datetime DEFAULT NULL,
- `b` timestamp AS (timestampadd(minute,1,a)) VIRTUAL NULL ON UPDATE CURRENT_TIMESTAMP
+ `b` timestamp AS (timestampadd(minute,1,a)) VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
insert into t1 values ('2003-01-02',default);
select * from t1;
@@ -2595,12 +2595,12 @@ drop table t1;
set sql_warnings = 0;
# WEEK()
set sql_warnings = 1;
-create table t1 (a datetime, b int as (week(a)));
+create table t1 (a datetime, b int as (week(a,0)));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` datetime DEFAULT NULL,
- `b` int(11) AS (week(a)) VIRTUAL
+ `b` int(11) AS (week(a,0)) VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
insert into t1 values ('2008-09-01',default);
select * from t1;
@@ -2756,51 +2756,6 @@ a b
5 2
drop table t1;
set sql_warnings = 0;
-# CHARSET()
-set sql_warnings = 1;
-create table t1 (a varchar(1024), b varchar(1024) as (charset(a)));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(1024) DEFAULT NULL,
- `b` varchar(1024) AS (charset(a)) VIRTUAL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-insert into t1 values ('abc',default);
-select * from t1;
-a b
-abc latin1
-drop table t1;
-set sql_warnings = 0;
-# COERCIBILITY()
-set sql_warnings = 1;
-create table t1 (a varchar(1024), b int as (coercibility(a)));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(1024) DEFAULT NULL,
- `b` int(11) AS (coercibility(a)) VIRTUAL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-insert into t1 values ('abc',default);
-select * from t1;
-a b
-abc 2
-drop table t1;
-set sql_warnings = 0;
-# COLLATION()
-set sql_warnings = 1;
-create table t1 (a varchar(1024), b varchar(1024) as (collation(a)));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(1024) DEFAULT NULL,
- `b` varchar(1024) AS (collation(a)) VIRTUAL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-insert into t1 values ('abc',default);
-select * from t1;
-a b
-abc latin1_swedish_ci
-drop table t1;
-set sql_warnings = 0;
# COMPRESS(), UNCOMPRESS()
set sql_warnings = 1;
create table t1 (a varchar(1024), b varchar(1024) as (uncompress(compress(a))));
diff --git a/mysql-test/suite/vcol/r/vcol_supported_sql_funcs_myisam.result b/mysql-test/suite/vcol/r/vcol_supported_sql_funcs_myisam.result
index 65ace7acb65..184b4a441b2 100644
--- a/mysql-test/suite/vcol/r/vcol_supported_sql_funcs_myisam.result
+++ b/mysql-test/suite/vcol/r/vcol_supported_sql_funcs_myisam.result
@@ -2539,7 +2539,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` datetime DEFAULT NULL,
- `b` timestamp AS (timestamp(a)) VIRTUAL NULL ON UPDATE CURRENT_TIMESTAMP
+ `b` timestamp AS (timestamp(a)) VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('2008-12-31',default);
select * from t1;
@@ -2554,7 +2554,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` datetime DEFAULT NULL,
- `b` timestamp AS (timestampadd(minute,1,a)) VIRTUAL NULL ON UPDATE CURRENT_TIMESTAMP
+ `b` timestamp AS (timestampadd(minute,1,a)) VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('2003-01-02',default);
select * from t1;
@@ -2595,12 +2595,12 @@ drop table t1;
set sql_warnings = 0;
# WEEK()
set sql_warnings = 1;
-create table t1 (a datetime, b int as (week(a)));
+create table t1 (a datetime, b int as (week(a,0)));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` datetime DEFAULT NULL,
- `b` int(11) AS (week(a)) VIRTUAL
+ `b` int(11) AS (week(a,0)) VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('2008-09-01',default);
select * from t1;
@@ -2756,51 +2756,6 @@ a b
5 2
drop table t1;
set sql_warnings = 0;
-# CHARSET()
-set sql_warnings = 1;
-create table t1 (a varchar(1024), b varchar(1024) as (charset(a)));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(1024) DEFAULT NULL,
- `b` varchar(1024) AS (charset(a)) VIRTUAL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('abc',default);
-select * from t1;
-a b
-abc latin1
-drop table t1;
-set sql_warnings = 0;
-# COERCIBILITY()
-set sql_warnings = 1;
-create table t1 (a varchar(1024), b int as (coercibility(a)));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(1024) DEFAULT NULL,
- `b` int(11) AS (coercibility(a)) VIRTUAL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('abc',default);
-select * from t1;
-a b
-abc 2
-drop table t1;
-set sql_warnings = 0;
-# COLLATION()
-set sql_warnings = 1;
-create table t1 (a varchar(1024), b varchar(1024) as (collation(a)));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(1024) DEFAULT NULL,
- `b` varchar(1024) AS (collation(a)) VIRTUAL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('abc',default);
-select * from t1;
-a b
-abc latin1_swedish_ci
-drop table t1;
-set sql_warnings = 0;
# COMPRESS(), UNCOMPRESS()
set sql_warnings = 1;
create table t1 (a varchar(1024), b varchar(1024) as (uncompress(compress(a))));
diff --git a/mysql-test/suite/vcol/t/alter_inplace-9045.test b/mysql-test/suite/vcol/t/alter_inplace-9045.test
new file mode 100644
index 00000000000..8f59ba75bce
--- /dev/null
+++ b/mysql-test/suite/vcol/t/alter_inplace-9045.test
@@ -0,0 +1,31 @@
+#
+# MDEV-9045 Inconsistent handling of "ALGORITHM=INPLACE" with PERSISTENT generated columns
+#
+--source include/have_innodb.inc
+
+create table t1(id int auto_increment primary key, handle int, data bigint not null default 0) engine = innodb;
+insert into t1(handle) values(12),(54),(NULL);
+select *, md5(handle) from t1;
+alter table t1 add index handle(handle), algorithm=inplace;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+alter table t1 add column hash varchar(32) as (md5(handle)) persistent, algorithm=inplace;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+alter table t1 add column hash varchar(32) as (md5(handle)) persistent, add unique index hash(hash), algorithm=inplace;
+alter table t1 add column hash varchar(32) as (md5(handle)) persistent, add unique index hash(hash), algorithm=copy;
+select * from t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+alter table t1 modify column hash varchar(32) as (md5(handle+1)) persistent, algorithm=inplace;
+alter table t1 modify column hash varchar(32) as (md5(handle+1)) persistent, algorithm=copy;
+select * from t1;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+alter table t1 modify column handle int not null, algorithm=inplace;
+alter table t1 modify column handle int not null, algorithm=copy;
+select * from t1;
+alter table t1 drop index handle, algorithm=inplace;
+create index data on t1(data) algorithm=inplace;
+alter table t1 drop column data, algorithm=inplace;
+--error ER_ALTER_OPERATION_NOT_SUPPORTED
+alter table t1 add column sha varchar(32) as (sha1(handle)) persistent, algorithm=inplace;
+alter table t1 add column sha varchar(32), algorithm=inplace;
+alter table t1 drop column hash, algorithm=inplace;
+drop table t1;
diff --git a/mysql-test/suite/vcol/t/charsets.test b/mysql-test/suite/vcol/t/charsets.test
new file mode 100644
index 00000000000..32fb9a7741c
--- /dev/null
+++ b/mysql-test/suite/vcol/t/charsets.test
@@ -0,0 +1,24 @@
+#
+# This shows a bug in vcol charset handling.
+# vcol definition is stored in the connection charset when a table was created
+# vcol is parsed in the connection charset when a table was opened
+#
+# this cannot be fixed without changing frm format, so we only
+# fix it in 10.2.
+#
+set names utf8;
+create table t1 (
+ a int,
+ b varchar(100) as (if(a,collation('й'),hex('ю')))
+) character set koi8r;
+insert t1 (a) values (0),(1);
+select * from t1;
+set names latin1;
+select * from t1;
+flush tables;
+select * from t1;
+set names koi8r;
+select * from t1;
+flush tables;
+select * from t1;
+drop table t1;
diff --git a/mysql-test/suite/vcol/t/innodb_autoinc_vcol.test b/mysql-test/suite/vcol/t/innodb_autoinc_vcol.test
new file mode 100644
index 00000000000..2f2ac3d08e1
--- /dev/null
+++ b/mysql-test/suite/vcol/t/innodb_autoinc_vcol.test
@@ -0,0 +1,9 @@
+--source include/have_innodb.inc
+
+create table t1 (c2 int as (-c1), c1 int primary key auto_increment) engine=innodb;
+insert into t1(c1) values (null),(null),(null);
+select * from t1;
+alter table t1 auto_increment = 3;
+show create table t1;
+drop table t1;
+
diff --git a/mysql-test/suite/vcol/t/load_data.test b/mysql-test/suite/vcol/t/load_data.test
new file mode 100644
index 00000000000..4db3c77244e
--- /dev/null
+++ b/mysql-test/suite/vcol/t/load_data.test
@@ -0,0 +1,13 @@
+#
+# MDEV-7968 Virtual column set to NULL using load data infile
+#
+create table t1 ( c1 varchar(10), c2 varchar(10), c3 int );
+insert into t1 values ("a" , "b", 1), ("a" , "b", 2);
+create table t2 like t1 ;
+alter table t2 add column c4 bigint unsigned as (CONV(LEFT(MD5(concat(c1,c2,c3)), 16), 16, 10)) persistent unique key;
+select * into outfile 't1.csv' from t1;
+load data infile 't1.csv' into table t2 ;
+select * from t2;
+insert into t2 (c1,c2,c3) values ("a" , "b", 4);
+select * from t2;
+drop table t1, t2;
diff --git a/mysql-test/suite/vcol/t/rpl_vcol.test b/mysql-test/suite/vcol/t/rpl_vcol.test
index 43003f80ee9..03837df1b99 100644
--- a/mysql-test/suite/vcol/t/rpl_vcol.test
+++ b/mysql-test/suite/vcol/t/rpl_vcol.test
@@ -27,7 +27,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
SET @@session.storage_engine = 'InnoDB';
#------------------------------------------------------------------------------#
diff --git a/mysql-test/suite/vcol/t/vcol_blocked_sql_funcs_innodb.test b/mysql-test/suite/vcol/t/vcol_blocked_sql_funcs_innodb.test
index baefddc0fd1..516e121a2aa 100644
--- a/mysql-test/suite/vcol/t/vcol_blocked_sql_funcs_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_blocked_sql_funcs_innodb.test
@@ -32,7 +32,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
let $skip_full_text_checks = 1;
diff --git a/mysql-test/suite/vcol/t/vcol_column_def_options_innodb.test b/mysql-test/suite/vcol/t/vcol_column_def_options_innodb.test
index e11618163cc..38baa2b3024 100644
--- a/mysql-test/suite/vcol/t/vcol_column_def_options_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_column_def_options_innodb.test
@@ -33,7 +33,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/vcol_handler_innodb.test b/mysql-test/suite/vcol/t/vcol_handler_innodb.test
index 1a50aeaaa86..bf443c6bbd3 100644
--- a/mysql-test/suite/vcol/t/vcol_handler_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_handler_innodb.test
@@ -33,7 +33,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/vcol_ins_upd_innodb.test b/mysql-test/suite/vcol/t/vcol_ins_upd_innodb.test
index 3b83c7f4565..5d9ac12e930 100644
--- a/mysql-test/suite/vcol/t/vcol_ins_upd_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_ins_upd_innodb.test
@@ -33,7 +33,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/vcol_keys_innodb.test b/mysql-test/suite/vcol/t/vcol_keys_innodb.test
index d44d2f701cf..e408672ac07 100644
--- a/mysql-test/suite/vcol/t/vcol_keys_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_keys_innodb.test
@@ -33,7 +33,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/vcol_misc.test b/mysql-test/suite/vcol/t/vcol_misc.test
index fab705eaaa6..d753f4c09cf 100644
--- a/mysql-test/suite/vcol/t/vcol_misc.test
+++ b/mysql-test/suite/vcol/t/vcol_misc.test
@@ -185,7 +185,7 @@ drop table t1,t2;
#
CREATE TABLE t1 (
- ts TIMESTAMP,
+ ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
tsv TIMESTAMP AS (ADDDATE(ts, INTERVAL 1 DAY)) VIRTUAL
) ENGINE=MyISAM;
@@ -339,3 +339,32 @@ ALTER TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #
+
+--echo #
+--echo # End of 10.0 tests
+--echo #
+
+--echo #
+--echo # MDEV-8441 Bad SHOW CREATE TABLE output for a table with a virtual column
+--echo #
+CREATE TABLE t1 (a DATETIME, b TIMESTAMP AS (TIMESTAMP(a)));
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+# Make sure that if the first TIMESTAMP column appears to be virtual,
+# then no further promotion is done, so the next TIMESTAMP column "c" does not
+# get the "DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP" attributes.
+CREATE TABLE t1 (a DATETIME, b TIMESTAMP AS (TIMESTAMP(a)),c TIMESTAMP);
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-8839 COLUMN_GET() produces warnings with no data
+--echo #
+SET @aaa= COLUMN_CREATE('price', _binary 0xF0F1F2F3F4F5F6F7);
+SELECT COLUMN_GET(@aaa, 'price' AS DECIMAL) aaa;
+SELECT COLUMN_GET(@aaa, 'price' AS INT) aaa;
+SELECT COLUMN_GET(@aaa, 'price' AS DOUBLE) aaa;
+
+--echo #
+--echo # End of 10.1 tests
+--echo #
diff --git a/mysql-test/suite/vcol/t/vcol_non_stored_columns_innodb.test b/mysql-test/suite/vcol/t/vcol_non_stored_columns_innodb.test
index 42834d5c0bb..88ed6157294 100644
--- a/mysql-test/suite/vcol/t/vcol_non_stored_columns_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_non_stored_columns_innodb.test
@@ -35,7 +35,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/vcol_partition_innodb.test b/mysql-test/suite/vcol/t/vcol_partition_innodb.test
index ab90bbf303a..7790a82800c 100644
--- a/mysql-test/suite/vcol/t/vcol_partition_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_partition_innodb.test
@@ -33,7 +33,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/vcol_select_innodb.test b/mysql-test/suite/vcol/t/vcol_select_innodb.test
index 787f5fe77a7..314aecb75b9 100644
--- a/mysql-test/suite/vcol/t/vcol_select_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_select_innodb.test
@@ -33,7 +33,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/vcol_supported_sql_funcs_innodb.test b/mysql-test/suite/vcol/t/vcol_supported_sql_funcs_innodb.test
index 32e2600c2fc..53826a460a7 100644
--- a/mysql-test/suite/vcol/t/vcol_supported_sql_funcs_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_supported_sql_funcs_innodb.test
@@ -32,7 +32,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/vcol_trigger_sp_innodb.test b/mysql-test/suite/vcol/t/vcol_trigger_sp_innodb.test
index 57655d6d3fe..5a36fb1c06d 100644
--- a/mysql-test/suite/vcol/t/vcol_trigger_sp_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_trigger_sp_innodb.test
@@ -34,7 +34,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/vcol_view_innodb.test b/mysql-test/suite/vcol/t/vcol_view_innodb.test
index 322fb122436..01fced8e4c3 100644
--- a/mysql-test/suite/vcol/t/vcol_view_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_view_innodb.test
@@ -33,7 +33,7 @@
##### Storage engine to be tested
# Set the session storage engine
---source include/have_xtradb.inc
+--source include/have_innodb.inc
eval SET @@session.storage_engine = 'InnoDB';
##### Workarounds for known open engine specific bugs
diff --git a/mysql-test/suite/vcol/t/wrong_arena.test b/mysql-test/suite/vcol/t/wrong_arena.test
index 484f1fe685d..f3030902784 100644
--- a/mysql-test/suite/vcol/t/wrong_arena.test
+++ b/mysql-test/suite/vcol/t/wrong_arena.test
@@ -14,7 +14,9 @@ create table t1 (a datetime,
# other issues
e int as ((a,1) in ((1,1),(2,1),(NULL,1))) # cmp_item_row::alloc_comparators()
);
+enable_prepare_warnings;
show create table t1;
+disable_prepare_warnings;
connect con1, localhost, root;
insert t1 (a) values ('2010-10-10 10:10:10');
select * from t1;
diff --git a/mysql-test/suite/wsrep/README b/mysql-test/suite/wsrep/README
new file mode 100644
index 00000000000..988096071a4
--- /dev/null
+++ b/mysql-test/suite/wsrep/README
@@ -0,0 +1,7 @@
+* 'wsrep' suite is designated for tests which do not require a multi-node
+ galera cluster.
+
+* As these tests are specific to wsrep-related functionalities, they must skip
+ on server built without wsrep patch (vanilla). (-DWITH_WSREP=OFF)
+ See : include/have_wsrep.inc, include/have_wsrep_enabled.inc, not_wsrep.inc
+
diff --git a/mysql-test/suite/wsrep/disabled.def b/mysql-test/suite/wsrep/disabled.def
new file mode 100644
index 00000000000..8b137891791
--- /dev/null
+++ b/mysql-test/suite/wsrep/disabled.def
@@ -0,0 +1 @@
+
diff --git a/mysql-test/suite/wsrep/include/check_galera_version.inc b/mysql-test/suite/wsrep/include/check_galera_version.inc
new file mode 100644
index 00000000000..32d01197f94
--- /dev/null
+++ b/mysql-test/suite/wsrep/include/check_galera_version.inc
@@ -0,0 +1,43 @@
+# ==== Purpose ====
+# Enable tests to check the galera library version.
+#
+# ==== Usage ====
+# --let $galera_version=3.6
+# source include/check_galera_lib_version.inc;
+#
+# Parameters:
+# $galera_version
+# Version of the galera library required by the test.
+#
+
+--disable_query_log
+
+# Required Version
+
+eval SET @GALERA_VERSION='$galera_version';
+SELECT CAST(REGEXP_REPLACE(@GALERA_VERSION,'^(\\d+)\\.(\\d+).*','\\1') AS UNSIGNED) INTO @GALERA_MAJOR_VERSION;
+SELECT CAST(REGEXP_REPLACE(@GALERA_VERSION,'^(\\d+)\\.(\\d+).*','\\2') AS UNSIGNED) INTO @GALERA_MINOR_VERSION;
+SELECT CAST(REGEXP_REPLACE(@GALERA_VERSION,'^(\\d+)\\.(\\d+)\\.(\\d+).*','\\3') AS UNSIGNED) INTO @GALERA_RELEASE_VERSION;
+
+# Actual
+SELECT VARIABLE_VALUE INTO @ACTUAL_GALERA_VERSION FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME LIKE 'wsrep_provider_version';
+SELECT CAST(REGEXP_REPLACE(@ACTUAL_GALERA_VERSION,'^[\\d\\.]*(\\d+)\\.\\d+.*','\\1') AS UNSIGNED) INTO @ACTUAL_GALERA_MINOR_VERSION;
+SELECT CAST(REGEXP_REPLACE(@ACTUAL_GALERA_VERSION,'^[\\d\\.]*\\.(\\d+).*','\\1') AS UNSIGNED) INTO @ACTUAL_GALERA_RELEASE_VERSION;
+
+# For testing
+#SELECT @GALERA_MAJOR_VERSION;
+#SELECT @GALERA_MINOR_VERSION;
+#SELECT @GALERA_RELEASE_VERSION;
+#SELECT @ACTUAL_GALERA_VERSION;
+#SELECT @ACTUAL_GALERA_MINOR_VERSION;
+#SELECT @ACTUAL_GALERA_RELEASE_VERSION;
+
+if (!`SELECT (@ACTUAL_GALERA_MINOR_VERSION > @GALERA_MINOR_VERSION) OR
+ (@ACTUAL_GALERA_MINOR_VERSION = @GALERA_MINOR_VERSION AND
+ @ACTUAL_GALERA_RELEASE_VERSION >= @GALERA_RELEASE_VERSION)
+ `)
+{
+ skip Test requires Galera library version >= $galera_version;
+}
+
+--enable_query_log
diff --git a/mysql-test/suite/wsrep/my.cnf b/mysql-test/suite/wsrep/my.cnf
new file mode 100644
index 00000000000..7e51b0750a1
--- /dev/null
+++ b/mysql-test/suite/wsrep/my.cnf
@@ -0,0 +1,12 @@
+# Use default setting for mysqld processes
+!include include/default_mysqld.cnf
+
+[mysqld]
+wsrep-on=1
+
+[mysqld.1]
+#galera_port=@OPT.port
+#ist_port=@OPT.port
+#sst_port=@OPT.port
+wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=10M'
+wsrep_cluster_address='not empty but invalid'
diff --git a/mysql-test/suite/wsrep/r/alter_table_innodb.result b/mysql-test/suite/wsrep/r/alter_table_innodb.result
new file mode 100644
index 00000000000..85017cec6e0
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/alter_table_innodb.result
@@ -0,0 +1,8 @@
+#
+# MDEV-7374 : Losing connection to MySQL while running ALTER TABLE
+#
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8);
+INSERT INTO t1 SELECT a.* FROM t1 a, t1 b, t1 c, t1 d, t1 e;
+ALTER TABLE t1 MODIFY i FLOAT;
+DROP TABLE t1;
diff --git a/mysql-test/suite/wsrep/r/binlog_format.result b/mysql-test/suite/wsrep/r/binlog_format.result
new file mode 100644
index 00000000000..1ca90bd626d
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/binlog_format.result
@@ -0,0 +1,61 @@
+call mtr.add_suppression("WSREP: MariaDB Galera does not support binlog format.*");
+call mtr.add_suppression("WSREP: Cannot get fake transaction ID from storage engine.");
+#
+# MDEV-4227: Galera server should stop crashing on setting binlog_format STATEMENT
+#
+SHOW VARIABLES LIKE 'binlog_format';
+Variable_name Value
+binlog_format ROW
+SET binlog_format=STATEMENT;
+Warnings:
+Warning 1105 MariaDB Galera does not support binlog format: STATEMENT
+SHOW WARNINGS;
+Level Code Message
+Warning 1105 MariaDB Galera does not support binlog format: STATEMENT
+SHOW VARIABLES LIKE 'binlog_format';
+Variable_name Value
+binlog_format STATEMENT
+CREATE TABLE IF NOT EXISTS test.t1 AS SELECT * FROM information_schema.routines WHERE 1 = 0;
+SET binlog_format=MIXED;
+Warnings:
+Warning 1105 MariaDB Galera does not support binlog format: MIXED
+SHOW WARNINGS;
+Level Code Message
+Warning 1105 MariaDB Galera does not support binlog format: MIXED
+SHOW VARIABLES LIKE 'binlog_format';
+Variable_name Value
+binlog_format MIXED
+CREATE TABLE IF NOT EXISTS test.t2 AS SELECT * FROM information_schema.routines WHERE 1 = 0;
+SET binlog_format=ROW;
+SHOW WARNINGS;
+Level Code Message
+SHOW VARIABLES LIKE 'binlog_format';
+Variable_name Value
+binlog_format ROW
+CREATE TABLE IF NOT EXISTS test.t3 AS SELECT * FROM information_schema.routines WHERE 1 = 0;
+DROP TABLE IF EXISTS test.t1;
+DROP TABLE IF EXISTS test.t2;
+DROP TABLE IF EXISTS test.t3;
+#
+# MDEV-7322: Option to allow setting the binlog_format with Galera
+#
+SET @@GLOBAL.binlog_format=STATEMENT;
+ERROR 42000: Variable 'binlog_format' can't be set to the value of 'STATEMENT'
+SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+Variable_name Value
+binlog_format ROW
+SET @@GLOBAL.binlog_format=MIXED;
+ERROR 42000: Variable 'binlog_format' can't be set to the value of 'MIXED'
+SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+Variable_name Value
+binlog_format ROW
+SET @@GLOBAL.binlog_format=DEFAULT;
+ERROR 42000: Variable 'binlog_format' can't be set to the value of 'DEFAULT'
+SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+Variable_name Value
+binlog_format ROW
+SET @@GLOBAL.binlog_format=ROW;
+SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+Variable_name Value
+binlog_format ROW
+# End of test.
diff --git a/mysql-test/suite/wsrep/r/foreign_key.result b/mysql-test/suite/wsrep/r/foreign_key.result
new file mode 100644
index 00000000000..c8407480f17
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/foreign_key.result
@@ -0,0 +1,19 @@
+USE test;
+create table p(v varchar(20), i int, primary key(v,i)) engine=innodb character set = utf8;
+create table c(k int primary key, v varchar(20), i int, foreign key(v,i) references p(v,i)) engine=innodb character set = utf8;
+insert into p values (_utf32 0x000004100000041100000412, 1);
+insert into c values (1, _utf32 0x000004100000041100000412, 1);
+SELECT * FROM test.p;
+v i
+??? 1
+SELECT * FROM test.c;
+k v i
+1 ??? 1
+SELECT * FROM test.p;
+v i
+??? 1
+SELECT * FROM test.c;
+k v i
+1 ??? 1
+DROP TABLE c;
+DROP TABLE p;
diff --git a/mysql-test/suite/wsrep/r/mdev_10186.result b/mysql-test/suite/wsrep/r/mdev_10186.result
new file mode 100644
index 00000000000..778c064d208
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/mdev_10186.result
@@ -0,0 +1,11 @@
+#
+# MDEV-10186: mysqld crash when runtime setting
+# wsrep_cluster_address without wsrep_on=ON
+#
+SELECT @@wsrep_on;
+@@wsrep_on
+0
+SELECT @@GLOBAL.wsrep_provider;
+@@GLOBAL.wsrep_provider
+libgalera_smm.so
+SET @@GLOBAL.wsrep_cluster_address='gcomm://';
diff --git a/mysql-test/suite/wsrep/r/mdev_6832.result b/mysql-test/suite/wsrep/r/mdev_6832.result
new file mode 100644
index 00000000000..43894a6ec49
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/mdev_6832.result
@@ -0,0 +1,11 @@
+#
+# MDEV-6832: ER_LOCK_WAIT_TIMEOUT on SHOW STATUS
+#
+SHOW STATUS LIKE 'wsrep_ready';
+Variable_name Value
+wsrep_ready ON
+SHOW STATUS LIKE 'wsrep_ready';
+Variable_name Value
+wsrep_ready OFF
+SET @@global.wsrep_cluster_address='gcomm://';
+# End of test.
diff --git a/mysql-test/suite/wsrep/r/mdev_7798.result b/mysql-test/suite/wsrep/r/mdev_7798.result
new file mode 100644
index 00000000000..83a02f3a606
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/mdev_7798.result
@@ -0,0 +1,13 @@
+#
+# MDEV-7798: mysql.server init script can't stop mysqld when WSREP is
+# turned off
+#
+SELECT @@GLOBAL.WSREP_ON;
+@@GLOBAL.WSREP_ON
+1
+SET GLOBAL WSREP_ON= 0;
+Restart the node.
+SELECT @@GLOBAL.WSREP_ON;
+@@GLOBAL.WSREP_ON
+1
+# End of test.
diff --git a/mysql-test/suite/wsrep/r/mysql_tzinfo_to_sql_symlink.result b/mysql-test/suite/wsrep/r/mysql_tzinfo_to_sql_symlink.result
new file mode 100644
index 00000000000..c00a0c73ce3
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/mysql_tzinfo_to_sql_symlink.result
@@ -0,0 +1,78 @@
+#
+# MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
+#
+# Verbose run
+set @prep=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on'), 'SET GLOBAL wsrep_replicate_myisam=?', 'do ?');
+prepare set_wsrep_myisam from @prep;
+set @toggle=1; execute set_wsrep_myisam using @toggle;
+TRUNCATE TABLE time_zone;
+TRUNCATE TABLE time_zone_name;
+TRUNCATE TABLE time_zone_transition;
+TRUNCATE TABLE time_zone_transition_type;
+INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
+SET @time_zone_id= LAST_INSERT_ID();
+INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
+INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
+ (@time_zone_id, 0, 0, 0, 'GMT')
+;
+Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
+Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/ignored.tab' as time zone. Skipping it.
+INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
+SET @time_zone_id= LAST_INSERT_ID();
+INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
+INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
+ (@time_zone_id, 0, 0, 0, 'GMT')
+;
+Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
+Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/ignored.tab' as time zone. Skipping it.
+Warning: Skipping directory 'MYSQLTEST_VARDIR/zoneinfo/posix/posix': to avoid infinite symlink recursion.
+ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
+ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
+set @toggle=0; execute set_wsrep_myisam using @toggle;
+# Silent run
+set @prep=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on'), 'SET GLOBAL wsrep_replicate_myisam=?', 'do ?');
+prepare set_wsrep_myisam from @prep;
+set @toggle=1; execute set_wsrep_myisam using @toggle;
+TRUNCATE TABLE time_zone;
+TRUNCATE TABLE time_zone_name;
+TRUNCATE TABLE time_zone_transition;
+TRUNCATE TABLE time_zone_transition_type;
+INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
+SET @time_zone_id= LAST_INSERT_ID();
+INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
+INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
+ (@time_zone_id, 0, 0, 0, 'GMT')
+;
+Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
+INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
+SET @time_zone_id= LAST_INSERT_ID();
+INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
+INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
+ (@time_zone_id, 0, 0, 0, 'GMT')
+;
+Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
+ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
+ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
+set @toggle=0; execute set_wsrep_myisam using @toggle;
+#
+# Testing with explicit timezonefile
+#
+set @prep=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on'), 'SET GLOBAL wsrep_replicate_myisam=?', 'do ?');
+prepare set_wsrep_myisam from @prep;
+set @toggle=1; execute set_wsrep_myisam using @toggle;
+INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
+SET @time_zone_id= LAST_INSERT_ID();
+INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('XXX', @time_zone_id);
+INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
+ (@time_zone_id, 0, 0, 0, 'GMT')
+;
+set @toggle=0; execute set_wsrep_myisam using @toggle;
+#
+# Testing --leap
+#
+set @prep=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on'), 'SET GLOBAL wsrep_replicate_myisam=?', 'do ?');
+prepare set_wsrep_myisam from @prep;
+set @toggle=1; execute set_wsrep_myisam using @toggle;
+TRUNCATE TABLE time_zone_leap_second;
+ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
+set @toggle=0; execute set_wsrep_myisam using @toggle;
diff --git a/mysql-test/suite/wsrep/r/plugin.result b/mysql-test/suite/wsrep/r/plugin.result
new file mode 100644
index 00000000000..4f52173cb25
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/plugin.result
@@ -0,0 +1,3 @@
+SELECT plugin_name,plugin_version,plugin_maturity FROM information_schema.plugins where plugin_name like 'wsrep' ORDER BY plugin_maturity,plugin_name;
+plugin_name plugin_version plugin_maturity
+wsrep 1.0 Stable
diff --git a/mysql-test/suite/wsrep/r/pool_of_threads.result b/mysql-test/suite/wsrep/r/pool_of_threads.result
new file mode 100644
index 00000000000..ffe309f2580
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/pool_of_threads.result
@@ -0,0 +1,8 @@
+
+#
+# MDEV#5687: Maria doesn't shutdown following upgrade to 5.5.35-galera
+#
+SELECT @@GLOBAL.thread_handling;
+@@GLOBAL.thread_handling
+pool-of-threads
+# End of test.
diff --git a/mysql-test/suite/wsrep/r/trans.result b/mysql-test/suite/wsrep/r/trans.result
new file mode 100644
index 00000000000..bc225897103
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/trans.result
@@ -0,0 +1,9 @@
+#
+# MDEV-4222 : Assertion `( ((global_system_variables.wsrep_on) &&
+# (thd && thd->variables.wsrep_on)) && srep_emulate_bin_log)
+# || mysql_bin_log .is_open()' fails on SAVEPOINT with
+# disabled wsrep_provider
+#
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+SAVEPOINT A;
+End of test.
diff --git a/mysql-test/suite/wsrep/r/variables.result b/mysql-test/suite/wsrep/r/variables.result
new file mode 100644
index 00000000000..d11cffba116
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/variables.result
@@ -0,0 +1,186 @@
+SET @wsrep_provider_options_saved= @@global.wsrep_provider_options;
+SET @wsrep_cluster_address_saved= @@global.wsrep_cluster_address;
+
+# MDEV#5534: mysql_tzinfo_to_sql generates wrong query
+#
+# Testing wsrep_replicate_myisam variable.
+SELECT @@session.wsrep_replicate_myisam;
+ERROR HY000: Variable 'wsrep_replicate_myisam' is a GLOBAL variable
+SELECT @@global.wsrep_replicate_myisam;
+@@global.wsrep_replicate_myisam
+0
+SET SESSION wsrep_replicate_myisam= ON;
+ERROR HY000: Variable 'wsrep_replicate_myisam' is a GLOBAL variable and should be set with SET GLOBAL
+SET GLOBAL wsrep_replicate_myisam= ON;
+SET GLOBAL wsrep_replicate_myisam= OFF;
+SET GLOBAL wsrep_provider=none;
+#
+# MDEV#5790: SHOW GLOBAL STATUS LIKE does not show the correct list of
+# variables when using "_"
+#
+CALL mtr.add_suppression("WSREP: Could not open saved state file for reading.*");
+# wsrep
+SHOW GLOBAL STATUS LIKE 'wsrep%';
+Variable_name Value
+wsrep_apply_oooe #
+wsrep_apply_oool #
+wsrep_apply_window #
+wsrep_causal_reads #
+wsrep_cert_deps_distance #
+wsrep_cert_index_size #
+wsrep_cert_interval #
+wsrep_cluster_conf_id #
+wsrep_cluster_size #
+wsrep_cluster_state_uuid #
+wsrep_cluster_status #
+wsrep_commit_oooe #
+wsrep_commit_oool #
+wsrep_commit_window #
+wsrep_connected #
+wsrep_flow_control_paused #
+wsrep_flow_control_paused_ns #
+wsrep_flow_control_recv #
+wsrep_flow_control_sent #
+wsrep_incoming_addresses #
+wsrep_last_committed #
+wsrep_local_bf_aborts #
+wsrep_local_cached_downto #
+wsrep_local_cert_failures #
+wsrep_local_commits #
+wsrep_local_index #
+wsrep_local_recv_queue #
+wsrep_local_recv_queue_avg #
+wsrep_local_recv_queue_max #
+wsrep_local_recv_queue_min #
+wsrep_local_replays #
+wsrep_local_send_queue #
+wsrep_local_send_queue_avg #
+wsrep_local_send_queue_max #
+wsrep_local_send_queue_min #
+wsrep_local_state #
+wsrep_local_state_comment #
+wsrep_local_state_uuid #
+wsrep_open_connections #
+wsrep_open_transactions #
+wsrep_protocol_version #
+wsrep_provider_name #
+wsrep_provider_vendor #
+wsrep_provider_version #
+wsrep_ready #
+wsrep_received #
+wsrep_received_bytes #
+wsrep_repl_data_bytes #
+wsrep_repl_keys #
+wsrep_repl_keys_bytes #
+wsrep_repl_other_bytes #
+wsrep_replicated #
+wsrep_replicated_bytes #
+wsrep_thread_count #
+SHOW GLOBAL STATUS LIKE 'wsrep_local_state_comment';
+Variable_name Value
+wsrep_local_state_comment #
+# Should show nothing.
+SHOW STATUS LIKE 'x';
+Variable_name Value
+SET GLOBAL wsrep_provider=none;
+#
+# MDEV#6079: xtrabackup SST failing with maria-10.0-galera
+#
+
+SHOW STATUS LIKE 'wsrep_local_state_uuid';
+Variable_name Value
+wsrep_local_state_uuid #
+
+SHOW STATUS LIKE 'wsrep_last_committed';
+Variable_name Value
+wsrep_last_committed #
+SET GLOBAL wsrep_provider=none;
+
+#
+# MDEV#6206: wsrep_slave_threads subtracts from max_connections
+#
+call mtr.add_suppression("WSREP: Failed to get provider options");
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+libgalera_smm.so
+SELECT @@global.wsrep_slave_threads;
+@@global.wsrep_slave_threads
+1
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+NULL
+SHOW STATUS LIKE 'threads_connected';
+Variable_name Value
+Threads_connected 1
+SHOW STATUS LIKE 'wsrep_thread_count';
+Variable_name Value
+wsrep_thread_count 0
+
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+libgalera_smm.so
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+NULL
+SHOW STATUS LIKE 'threads_connected';
+Variable_name Value
+Threads_connected 1
+SHOW STATUS LIKE 'wsrep_thread_count';
+Variable_name Value
+wsrep_thread_count 0
+
+# Setting wsrep_cluster_address triggers the creation of
+# applier/rollbacker threads.
+SET GLOBAL wsrep_cluster_address= 'gcomm://';
+# Wait for applier threads to get created.
+SELECT @@global.wsrep_provider;
+@@global.wsrep_provider
+libgalera_smm.so
+SELECT @@global.wsrep_cluster_address;
+@@global.wsrep_cluster_address
+gcomm://
+SHOW STATUS LIKE 'threads_connected';
+Variable_name Value
+Threads_connected 1
+SHOW STATUS LIKE 'wsrep_thread_count';
+Variable_name Value
+wsrep_thread_count 2
+
+SET @wsrep_slave_threads_saved= @@global.wsrep_slave_threads;
+SET GLOBAL wsrep_slave_threads= 10;
+# Wait for applier threads to get created.
+SHOW STATUS LIKE 'threads_connected';
+Variable_name Value
+Threads_connected 1
+SHOW STATUS LIKE 'wsrep_thread_count';
+Variable_name Value
+wsrep_thread_count 11
+set wsrep_on=0;
+set wsrep_on=1;
+create user test@localhost;
+set auto_increment_increment=10;
+set wsrep_on=0;
+ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
+drop user test@localhost;
+#
+# MDEV#6411: Setting set @@global.wsrep_sst_auth=NULL causes crash
+#
+SET @wsrep_sst_auth_saved= @@global.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth= 'user:pass';
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+********
+SET @@global.wsrep_sst_auth= '';
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+
+SET @@global.wsrep_sst_auth= NULL;
+SELECT @@global.wsrep_sst_auth;
+@@global.wsrep_sst_auth
+NULL
+SET @@global.wsrep_sst_auth= @wsrep_sst_auth_saved;
+SET GLOBAL wsrep_slave_threads= @wsrep_slave_threads_saved;
+SET GLOBAL wsrep_provider= none;
+SET GLOBAL wsrep_cluster_address= @wsrep_cluster_address_saved;
+SET GLOBAL wsrep_provider_options= @wsrep_provider_options_saved;
+# End of test.
diff --git a/mysql-test/suite/wsrep/r/wsrep_rpl.result b/mysql-test/suite/wsrep/r/wsrep_rpl.result
new file mode 100644
index 00000000000..a5db3b28ec0
--- /dev/null
+++ b/mysql-test/suite/wsrep/r/wsrep_rpl.result
@@ -0,0 +1,22 @@
+include/master-slave.inc
+[connection master]
+#
+# MDEV-10714: Could not execute Delete_rows event on table;
+# wsrep_max_ws_rows exceeded. Error_Code 1180
+#
+CREATE TABLE t1(i INT) ENGINE = INNODB;
+SET @@GLOBAL.wsrep_max_ws_rows = 2;
+INSERT INTO t1 VALUES(1), (2);
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+SET @@GLOBAL.wsrep_max_ws_rows = 2;
+DELETE FROM t1;
+SELECT COUNT(*) = 0 FROM t1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+SET @@GLOBAL.wsrep_max_ws_rows = 0;
+SET @@GLOBAL.wsrep_max_ws_rows = 0;
+include/rpl_end.inc
+# End of test.
diff --git a/mysql-test/suite/wsrep/suite.pm b/mysql-test/suite/wsrep/suite.pm
new file mode 100644
index 00000000000..b6c5bf15ca1
--- /dev/null
+++ b/mysql-test/suite/wsrep/suite.pm
@@ -0,0 +1,36 @@
+package My::Suite::WSREP;
+use File::Basename;
+use My::Find;
+
+@ISA = qw(My::Suite);
+
+return "Not run for embedded server" if $::opt_embedded_server;
+
+return "WSREP is not compiled in" unless defined $::mysqld_variables{'wsrep-on'};
+
+my ($provider) = grep { -f $_ } $ENV{WSREP_PROVIDER},
+ "/usr/lib/galera/libgalera_smm.so",
+ "/usr/lib64/galera/libgalera_smm.so";
+
+return "No wsrep provider library" unless -f $provider;
+
+$ENV{WSREP_PROVIDER} = $provider;
+
+my ($spath) = grep { -f "$_/wsrep_sst_rsync"; } "$::bindir/scripts", $::path_client_bindir;
+return "No SST scripts" unless $spath;
+
+my ($epath) = grep { -f "$_/my_print_defaults"; } "$::bindir/extra", $::path_client_bindir;
+return "No my_print_defaults" unless $epath;
+
+push @::global_suppressions,
+ (
+ qr(WSREP: Could not open saved state file for reading: .*),
+ qr(WSREP: Could not open state file for reading: .*),
+ qr|WSREP: access file\(.*gvwstate.dat\) failed\(No such file or directory\)|,
+ );
+
+$ENV{PATH}="$epath:$ENV{PATH}";
+$ENV{PATH}="$spath:$ENV{PATH}" unless $epath eq $spath;
+
+bless { };
+
diff --git a/mysql-test/suite/wsrep/t/alter_table_innodb.opt b/mysql-test/suite/wsrep/t/alter_table_innodb.opt
new file mode 100644
index 00000000000..1e84570d7f6
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/alter_table_innodb.opt
@@ -0,0 +1 @@
+--wsrep-on=0
diff --git a/mysql-test/suite/wsrep/t/alter_table_innodb.test b/mysql-test/suite/wsrep/t/alter_table_innodb.test
new file mode 100644
index 00000000000..ca06be02a85
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/alter_table_innodb.test
@@ -0,0 +1,10 @@
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-7374 : Losing connection to MySQL while running ALTER TABLE
+--echo #
+CREATE TABLE t1(i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8);
+INSERT INTO t1 SELECT a.* FROM t1 a, t1 b, t1 c, t1 d, t1 e;
+ALTER TABLE t1 MODIFY i FLOAT;
+DROP TABLE t1;
diff --git a/mysql-test/suite/wsrep/t/binlog_format.opt b/mysql-test/suite/wsrep/t/binlog_format.opt
new file mode 100644
index 00000000000..e3f2470c6e5
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/binlog_format.opt
@@ -0,0 +1 @@
+--innodb_autoinc_lock_mode=2 --wsrep-provider=$WSREP_PROVIDER --wsrep-cluster-address=gcomm://
diff --git a/mysql-test/suite/wsrep/t/binlog_format.test b/mysql-test/suite/wsrep/t/binlog_format.test
new file mode 100644
index 00000000000..85864256862
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/binlog_format.test
@@ -0,0 +1,47 @@
+--source include/have_wsrep_provider.inc
+--source include/have_binlog_format_row.inc
+
+call mtr.add_suppression("WSREP: MariaDB Galera does not support binlog format.*");
+call mtr.add_suppression("WSREP: Cannot get fake transaction ID from storage engine.");
+
+--echo #
+--echo # MDEV-4227: Galera server should stop crashing on setting binlog_format STATEMENT
+--echo #
+
+SHOW VARIABLES LIKE 'binlog_format';
+SET binlog_format=STATEMENT;
+SHOW WARNINGS;
+SHOW VARIABLES LIKE 'binlog_format';
+CREATE TABLE IF NOT EXISTS test.t1 AS SELECT * FROM information_schema.routines WHERE 1 = 0;
+SET binlog_format=MIXED;
+SHOW WARNINGS;
+SHOW VARIABLES LIKE 'binlog_format';
+CREATE TABLE IF NOT EXISTS test.t2 AS SELECT * FROM information_schema.routines WHERE 1 = 0;
+SET binlog_format=ROW;
+SHOW WARNINGS;
+SHOW VARIABLES LIKE 'binlog_format';
+CREATE TABLE IF NOT EXISTS test.t3 AS SELECT * FROM information_schema.routines WHERE 1 = 0;
+DROP TABLE IF EXISTS test.t1;
+DROP TABLE IF EXISTS test.t2;
+DROP TABLE IF EXISTS test.t3;
+
+--echo #
+--echo # MDEV-7322: Option to allow setting the binlog_format with Galera
+--echo #
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET @@GLOBAL.binlog_format=STATEMENT;
+SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET @@GLOBAL.binlog_format=MIXED;
+SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET @@GLOBAL.binlog_format=DEFAULT;
+SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+
+SET @@GLOBAL.binlog_format=ROW;
+SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+
+--echo # End of test.
diff --git a/mysql-test/suite/wsrep/t/foreign_key.opt b/mysql-test/suite/wsrep/t/foreign_key.opt
new file mode 100644
index 00000000000..e3f2470c6e5
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/foreign_key.opt
@@ -0,0 +1 @@
+--innodb_autoinc_lock_mode=2 --wsrep-provider=$WSREP_PROVIDER --wsrep-cluster-address=gcomm://
diff --git a/mysql-test/suite/wsrep/t/foreign_key.test b/mysql-test/suite/wsrep/t/foreign_key.test
new file mode 100644
index 00000000000..71f6076a1d7
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/foreign_key.test
@@ -0,0 +1,20 @@
+--source include/have_wsrep_enabled.inc
+--source include/have_binlog_format_row.inc
+--source include/have_innodb.inc
+
+USE test;
+create table p(v varchar(20), i int, primary key(v,i)) engine=innodb character set = utf8;
+create table c(k int primary key, v varchar(20), i int, foreign key(v,i) references p(v,i)) engine=innodb character set = utf8;
+insert into p values (_utf32 0x000004100000041100000412, 1);
+insert into c values (1, _utf32 0x000004100000041100000412, 1);
+
+SELECT * FROM test.p;
+SELECT * FROM test.c;
+
+SELECT * FROM test.p;
+SELECT * FROM test.c;
+
+# Cleanup
+DROP TABLE c;
+DROP TABLE p;
+
diff --git a/mysql-test/suite/wsrep/t/mdev_10186.opt b/mysql-test/suite/wsrep/t/mdev_10186.opt
new file mode 100644
index 00000000000..e2655959c62
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/mdev_10186.opt
@@ -0,0 +1 @@
+--wsrep-provider=$WSREP_PROVIDER --wsrep-cluster-address=gcomm:// --wsrep-on=0
diff --git a/mysql-test/suite/wsrep/t/mdev_10186.test b/mysql-test/suite/wsrep/t/mdev_10186.test
new file mode 100644
index 00000000000..98ea5192634
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/mdev_10186.test
@@ -0,0 +1,13 @@
+--source include/have_wsrep_provider.inc
+--source include/have_binlog_format_row.inc
+
+--echo #
+--echo # MDEV-10186: mysqld crash when runtime setting
+--echo # wsrep_cluster_address without wsrep_on=ON
+--echo #
+
+SELECT @@wsrep_on;
+--replace_regex /.*libgalera_smm.so/libgalera_smm.so/
+SELECT @@GLOBAL.wsrep_provider;
+SET @@GLOBAL.wsrep_cluster_address='gcomm://';
+
diff --git a/mysql-test/suite/wsrep/t/mdev_6832.opt b/mysql-test/suite/wsrep/t/mdev_6832.opt
new file mode 100644
index 00000000000..16f8962dba2
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/mdev_6832.opt
@@ -0,0 +1 @@
+--wsrep-provider=$WSREP_PROVIDER --wsrep-cluster-address=gcomm:// --wsrep-on=1
diff --git a/mysql-test/suite/wsrep/t/mdev_6832.test b/mysql-test/suite/wsrep/t/mdev_6832.test
new file mode 100644
index 00000000000..9efccface57
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/mdev_6832.test
@@ -0,0 +1,15 @@
+--source include/have_wsrep_provider.inc
+--source include/have_binlog_format_row.inc
+
+--echo #
+--echo # MDEV-6832: ER_LOCK_WAIT_TIMEOUT on SHOW STATUS
+--echo #
+
+SHOW STATUS LIKE 'wsrep_ready';
+--disable_query_log
+eval SET @@global.wsrep_provider='$WSREP_PROVIDER';
+--enable_query_log
+SHOW STATUS LIKE 'wsrep_ready';
+SET @@global.wsrep_cluster_address='gcomm://';
+
+--echo # End of test.
diff --git a/mysql-test/suite/wsrep/t/mdev_7798.opt b/mysql-test/suite/wsrep/t/mdev_7798.opt
new file mode 100644
index 00000000000..1007d5c0b78
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/mdev_7798.opt
@@ -0,0 +1 @@
+--wsrep-provider=$WSREP_PROVIDER --wsrep-cluster-address=gcomm:// --wsrep-on=1
diff --git a/mysql-test/suite/wsrep/t/mdev_7798.test b/mysql-test/suite/wsrep/t/mdev_7798.test
new file mode 100644
index 00000000000..9dfff0959bc
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/mdev_7798.test
@@ -0,0 +1,17 @@
+--source include/have_wsrep_provider.inc
+--source include/have_binlog_format_row.inc
+
+--echo #
+--echo # MDEV-7798: mysql.server init script can't stop mysqld when WSREP is
+--echo # turned off
+--echo #
+
+SELECT @@GLOBAL.WSREP_ON;
+SET GLOBAL WSREP_ON= 0;
+
+--echo Restart the node.
+--source include/restart_mysqld.inc
+
+SELECT @@GLOBAL.WSREP_ON;
+
+--echo # End of test.
diff --git a/mysql-test/suite/wsrep/t/mysql_tzinfo_to_sql_symlink.test b/mysql-test/suite/wsrep/t/mysql_tzinfo_to_sql_symlink.test
new file mode 100644
index 00000000000..100e09d3afb
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/mysql_tzinfo_to_sql_symlink.test
@@ -0,0 +1,40 @@
+--source include/have_wsrep.inc
+--source include/have_symlink.inc
+--source include/not_windows.inc
+
+--echo #
+--echo # MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
+--echo #
+
+--exec mkdir $MYSQLTEST_VARDIR/zoneinfo
+--exec ln -s $MYSQLTEST_VARDIR/zoneinfo $MYSQLTEST_VARDIR/zoneinfo/posix
+--copy_file std_data/zoneinfo/GMT $MYSQLTEST_VARDIR/zoneinfo/GMT
+--copy_file std_data/words.dat $MYSQLTEST_VARDIR/zoneinfo/garbage
+--copy_file std_data/words.dat $MYSQLTEST_VARDIR/zoneinfo/ignored.tab
+
+--echo # Verbose run
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--exec $MYSQL_TZINFO_TO_SQL --verbose $MYSQLTEST_VARDIR/zoneinfo 2>&1
+
+--echo # Silent run
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo 2>&1
+
+--echo #
+--echo # Testing with explicit timezonefile
+--echo #
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>&1
+
+--echo #
+--echo # Testing --leap
+--echo #
+
+--exec $MYSQL_TZINFO_TO_SQL --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>&1
+
+#
+# Cleanup
+#
+
+--exec rm -rf $MYSQLTEST_VARDIR/zoneinfo
diff --git a/mysql-test/suite/wsrep/t/plugin.test b/mysql-test/suite/wsrep/t/plugin.test
new file mode 100644
index 00000000000..60738440a55
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/plugin.test
@@ -0,0 +1,7 @@
+--source include/have_wsrep.inc
+
+#
+# MDEV-7604: wsrep plugin lists its status as Unknown
+#
+
+SELECT plugin_name,plugin_version,plugin_maturity FROM information_schema.plugins where plugin_name like 'wsrep' ORDER BY plugin_maturity,plugin_name; \ No newline at end of file
diff --git a/mysql-test/suite/wsrep/t/pool_of_threads.opt b/mysql-test/suite/wsrep/t/pool_of_threads.opt
new file mode 100644
index 00000000000..814417e5b0f
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/pool_of_threads.opt
@@ -0,0 +1 @@
+--innodb_autoinc_lock_mode=2 --wsrep-provider=$WSREP_PROVIDER --wsrep-cluster-address=gcomm:// --thread_handling=pool-of-threads
diff --git a/mysql-test/suite/wsrep/t/pool_of_threads.test b/mysql-test/suite/wsrep/t/pool_of_threads.test
new file mode 100644
index 00000000000..dbf429e3f01
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/pool_of_threads.test
@@ -0,0 +1,12 @@
+--source include/have_wsrep.inc
+--source include/have_binlog_format_row.inc
+
+--echo
+--echo #
+--echo # MDEV#5687: Maria doesn't shutdown following upgrade to 5.5.35-galera
+--echo #
+
+# Note: This test is to ensure that server shuts down properly.
+SELECT @@GLOBAL.thread_handling;
+
+--echo # End of test.
diff --git a/mysql-test/suite/wsrep/t/trans.test b/mysql-test/suite/wsrep/t/trans.test
new file mode 100644
index 00000000000..d8c4a4722a0
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/trans.test
@@ -0,0 +1,14 @@
+--source include/have_wsrep.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-4222 : Assertion `( ((global_system_variables.wsrep_on) &&
+--echo # (thd && thd->variables.wsrep_on)) && srep_emulate_bin_log)
+--echo # || mysql_bin_log .is_open()' fails on SAVEPOINT with
+--echo # disabled wsrep_provider
+--echo #
+
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+SAVEPOINT A;
+
+--echo End of test.
diff --git a/mysql-test/suite/wsrep/t/variables.test b/mysql-test/suite/wsrep/t/variables.test
new file mode 100644
index 00000000000..1a2ab2579a5
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/variables.test
@@ -0,0 +1,160 @@
+--source include/have_wsrep.inc
+
+SET @wsrep_provider_options_saved= @@global.wsrep_provider_options;
+SET @wsrep_cluster_address_saved= @@global.wsrep_cluster_address;
+
+--echo
+--echo # MDEV#5534: mysql_tzinfo_to_sql generates wrong query
+--echo #
+--echo # Testing wsrep_replicate_myisam variable.
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_replicate_myisam;
+SELECT @@global.wsrep_replicate_myisam;
+
+--error ER_GLOBAL_VARIABLE
+SET SESSION wsrep_replicate_myisam= ON;
+SET GLOBAL wsrep_replicate_myisam= ON;
+
+# Reset it back.
+SET GLOBAL wsrep_replicate_myisam= OFF;
+SET GLOBAL wsrep_provider=none;
+
+--echo #
+--echo # MDEV#5790: SHOW GLOBAL STATUS LIKE does not show the correct list of
+--echo # variables when using "_"
+--echo #
+
+CALL mtr.add_suppression("WSREP: Could not open saved state file for reading.*");
+
+--disable_result_log
+--disable_query_log
+eval SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
+--let $galera_version=25.3.24
+source include/check_galera_version.inc;
+--enable_result_log
+--enable_query_log
+
+--echo # wsrep
+--sorted_result
+--replace_column 2 #
+SHOW GLOBAL STATUS LIKE 'wsrep%';
+
+--replace_column 2 #
+SHOW GLOBAL STATUS LIKE 'wsrep_local_state_comment';
+
+--echo # Should show nothing.
+SHOW STATUS LIKE 'x';
+
+# Reset it back.
+SET GLOBAL wsrep_provider=none;
+
+--echo #
+--echo # MDEV#6079: xtrabackup SST failing with maria-10.0-galera
+--echo #
+
+--disable_query_log
+eval SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
+--enable_query_log
+
+# The following 2 variables are used in innobackupex during xtrabackup-based
+# SST.
+--echo
+--replace_column 2 #
+SHOW STATUS LIKE 'wsrep_local_state_uuid';
+--echo
+--replace_column 2 #
+SHOW STATUS LIKE 'wsrep_last_committed';
+
+# Reset it back.
+SET GLOBAL wsrep_provider=none;
+
+--echo
+--echo #
+--echo # MDEV#6206: wsrep_slave_threads subtracts from max_connections
+--echo #
+call mtr.add_suppression("WSREP: Failed to get provider options");
+
+--disable_query_log
+eval SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
+--enable_query_log
+
+--replace_regex /.*libgalera_smm.*/libgalera_smm.so/
+SELECT @@global.wsrep_provider;
+SELECT @@global.wsrep_slave_threads;
+SELECT @@global.wsrep_cluster_address;
+SHOW STATUS LIKE 'threads_connected';
+SHOW STATUS LIKE 'wsrep_thread_count';
+--echo
+
+--disable_query_log
+eval SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
+--enable_query_log
+
+--replace_regex /.*libgalera_smm.*/libgalera_smm.so/
+SELECT @@global.wsrep_provider;
+SELECT @@global.wsrep_cluster_address;
+SHOW STATUS LIKE 'threads_connected';
+SHOW STATUS LIKE 'wsrep_thread_count';
+--echo
+
+--echo # Setting wsrep_cluster_address triggers the creation of
+--echo # applier/rollbacker threads.
+SET GLOBAL wsrep_cluster_address= 'gcomm://';
+
+--echo # Wait for applier threads to get created.
+--let $wait_timeout=600
+--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%');
+--source include/wait_condition.inc
+
+--replace_regex /.*libgalera_smm.*/libgalera_smm.so/
+SELECT @@global.wsrep_provider;
+SELECT @@global.wsrep_cluster_address;
+SHOW STATUS LIKE 'threads_connected';
+SHOW STATUS LIKE 'wsrep_thread_count';
+--echo
+
+SET @wsrep_slave_threads_saved= @@global.wsrep_slave_threads;
+SET GLOBAL wsrep_slave_threads= 10;
+
+--echo # Wait for applier threads to get created.
+--let $wait_condition = SELECT COUNT(*) = 11 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%');
+--source include/wait_condition.inc
+
+SHOW STATUS LIKE 'threads_connected';
+SHOW STATUS LIKE 'wsrep_thread_count';
+
+#
+# privileges for wsrep_on
+#
+set wsrep_on=0;
+set wsrep_on=1;
+create user test@localhost;
+connect con1,localhost,test;
+set auto_increment_increment=10;
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+set wsrep_on=0;
+disconnect con1;
+connection default;
+drop user test@localhost;
+
+--echo #
+--echo # MDEV#6411: Setting set @@global.wsrep_sst_auth=NULL causes crash
+--echo #
+SET @wsrep_sst_auth_saved= @@global.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth= 'user:pass';
+SELECT @@global.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth= '';
+SELECT @@global.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth= NULL;
+SELECT @@global.wsrep_sst_auth;
+SET @@global.wsrep_sst_auth= @wsrep_sst_auth_saved;
+
+# Reset (for mtr internal checks)
+SET GLOBAL wsrep_slave_threads= @wsrep_slave_threads_saved;
+SET GLOBAL wsrep_provider= none;
+SET GLOBAL wsrep_cluster_address= @wsrep_cluster_address_saved;
+SET GLOBAL wsrep_provider_options= @wsrep_provider_options_saved;
+
+--echo # End of test.
+
diff --git a/mysql-test/suite/wsrep/t/wsrep_rpl.cnf b/mysql-test/suite/wsrep/t/wsrep_rpl.cnf
new file mode 100644
index 00000000000..56e874f22e1
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/wsrep_rpl.cnf
@@ -0,0 +1 @@
+!include ../../rpl/my.cnf
diff --git a/mysql-test/suite/wsrep/t/wsrep_rpl.test b/mysql-test/suite/wsrep/t/wsrep_rpl.test
new file mode 100644
index 00000000000..4f34aadc365
--- /dev/null
+++ b/mysql-test/suite/wsrep/t/wsrep_rpl.test
@@ -0,0 +1,44 @@
+--source include/have_wsrep.inc
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+--echo #
+--echo # MDEV-10714: Could not execute Delete_rows event on table;
+--echo # wsrep_max_ws_rows exceeded. Error_Code 1180
+--echo #
+# Save wsrep_max_ws_rows on master and slave.
+connection master;
+let $wsrep_max_ws_rows_master = `SELECT @@GLOBAL.wsrep_max_ws_rows`;
+connection slave;
+let $wsrep_max_ws_rows_slave = `SELECT @@GLOBAL.wsrep_max_ws_rows`;
+
+connection master;
+CREATE TABLE t1(i INT) ENGINE = INNODB;
+
+SET @@GLOBAL.wsrep_max_ws_rows = 2;
+INSERT INTO t1 VALUES(1), (2);
+sync_slave_with_master;
+SELECT COUNT(*) = 2 FROM t1;
+
+connection slave;
+SET @@GLOBAL.wsrep_max_ws_rows = 2;
+
+connection master;
+DELETE FROM t1;
+
+sync_slave_with_master;
+SELECT COUNT(*) = 0 FROM t1;
+
+connection master;
+DROP TABLE t1;
+
+sync_slave_with_master;
+# Restore wsrep_max_ws_rows on master and slave
+connection master;
+eval SET @@GLOBAL.wsrep_max_ws_rows = $wsrep_max_ws_rows_master;
+connection slave;
+eval SET @@GLOBAL.wsrep_max_ws_rows = $wsrep_max_ws_rows_slave;
+
+--source include/rpl_end.inc
+--echo # End of test.
+